views:

70

answers:

3

I'm putting together a technical response to tender, one of the requirements is to pass messages using an extensible format over a narrow bandwidth network (10 bytes/sec or so). To make life easy on the server, which will be receiving info from 1000's of devices I'd like to use Xml. To help with the bandwidth issue I could use compressed Xml, but the data is coming from embedded devices that might not have the omph to do compression on the fly. Anyone got any better ideas, an ideal would be a small extensible format, that could be hyrdated into Xml once the messages have been received over the narrow band.

A: 

YAML is a very terse format ideal for passing serialized information between devices. There are libraries available for most programming languages, so the server could probably understand it directly and there wouldn't be any need to convert to XML.

Daniel Roseman
+4  A: 

Google Protocol Buffers

Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.

porneL
There's also a .net version - http://code.google.com/p/protobuf-net/ just what I need - cheers
MrTelly
A: 

Some more info would be useful. As it's stated the answer could be ASCII. Were you thinking of transmitting numbers, floats, degrees, names? Perhaps something more esoteric like ASN.1. Or you could go completely mad, as with the other suggestions.

Conor OG