Moore's Law and Binary XML
One of the arguments against the need for a binary encoding of XML (like Fast Infoset)
can be summed up as: "just wait until the technology catches up", or maybe "Moore's Law makes Binary XML
Although that may be true in what some people could describe as "traditional" applications of XML, there are many legitimate use case of XML where this is not so. Many of these use cases have appeared as the market wants to take advantage of the benefits of XML in new fields. There are a number of reasons, some economical in nature, some technological, underlying these use cases.
One basic reason is related to the characteristics of servers servicing many requests:
- Any reduction on the number of servers needed to service a given number of client requests translates into profit.
A related reason is:
- Any time-to-market advantage (not waiting for the technology to catch up) translates into profit.
Here are some reasons related to properties of transmissions:
- Bandwidth may be a limiting factor. For instance, the spectrum is limited and you just can't cram more in there. If you can are more efficient you can save spectrum you can either use less spectrum or generate more content, and be more profitable.
- In some cases there are constraints on time and bandwidth. An inefficient encoding may render an implementation approach invalid.
- Too many wireless packets will produce collisions, which then generate more retransmissions, which then generate even more packets. Thus efficiency in the transmission is critical.
And here is another related to small portable devices:
- Battery life is not following Moore's rule. I've heard
discussions of a "packet budget" based on how many packets the device can send given the battery capacity and the desired on-time for the device. Being more efficient can be the difference between a successful product and a failure.
The XML Binary Charaterization Working Group at W3C has produced a good document analyzing a number of
Binary Characterization Use Cases and looking at their properties. The use cases considered include:
- Metadata in Broadcast Systems
- Floating Point Arrays in the Energy Industry
- X3D Graphics Model Compression, Serialization and Transmission
- Web Services for Small Devices
- Web Services within the Enterprise
- Electronic Documents
- FIXML in the Securities Industry
- Multimedia XML Documents for Mobile Handsets
- Intra/Inter Business Communication
- XMPP Instant Messaging Compression
- XML Documents in Persistent Store
- Business and Knowledge Processing
- XML Content-based Routing and Publish Subscribe
- Web Services Routing
- Military Information Interoperability
- Sensor Processing and Communication
- SyncML for Data Synchronization
- Supercomputing and Grid Processing
Santiago is the co-editor of this document and its companion document on XML Binary Characterization Properties. Santiago is also one of the engineers working in the open source implementation of Fast Infoset in the FI project.