RSS Simple Sharing Extensions (SSE)

In November of 2005, then Microsoft CTO Ray Ozzie proposed a set of extensions to RSS that would allow the protocol to support replication of structured data between loosely-coupled applications. The concept was simple: just as RSS feeds may be used to publish and subscribe to news articles, contact lists, or calendars. so SSE could allow one or more systems containing stories, vcards, and events to be cross-subscribed with one another. When two or more SSE feeds are cross-subscribed, their contents merge and replicate all changes to each endpoint. SSE is, in effect, bi-directional RSS; it extends RSS by adding semantics to track changes made at each endpoint and an algorithm for resolving conflicts. When multiple SSE endpoints become cross-subscribed, the result is a kind of application mesh, in which data is replicated between any number of systems.

SSE has a number of properties that make it particularly appealing for post-disaster application integration. Such environments are typically characterized by a great variety of systems, diverse schemas, unreliable networks, frequent equipment failure, and difficulty in engendering mutual trust among organizations tasked with the response.

  1. Like RSS, SSE is asynchronous. Each application participating in the mesh may make changes to a local instance of an SSE feed while no network connection to other cross-subscribed endpoints is available; when a connection later becomes available, replication may occur.
  2. SSE is protocol independent. Although current initiatives to implement SSE feeds have involved the use of HTTP, any transport may be used.
  3. SSE, as an extension of RSS, is platform, device, and application agnostic, and it has been released under a Creative Commons license.
  4. SSE replication topologies by their very nature support a decentralized, edge-based architecture in which no "master" bus is required; replication is driven entirely by the endpoints, and each endpoint may theoretically cross-subscribe with every other endpoint in the mesh. Such an architecture is highly-redundant and fault-tolerant: even if the majority of endpoints are lost, the remaining endpoints still have copies of the data and continue to replicate it.
  5. This architecture may also have the potential to impact human behavior in the area of inter-organizational information sharing. The fact that information is power may have dire consequences following a disaster, as the impetus to consolidate power works against the need for responding organizations to share information in support of a vulnerable population. A mesh, however, is intrinsically neutral: it creates a situation in which no one organization has either sole ownership of the data or overall control of how it flows. Copies of data replicate fully to each endpoint, and any endpoint may choose to cross-subscribe with any other endpoint to joint the mesh. It is possible that such an architecture could help to create the perception of a shared space, a free-form virtual neutral ground in which are participants are viewed as equal members. MHS is interested in learning whether such mesh architectures are more conducive to cooperation and trustbuilding than traditional client/server architectures in which single instances of data are typically owned by one party who controls access.

A number of applications will be deployed during SA-III with support for SSE, including PocketPC-based forms from Adesso, Groove forms, a Microsoft Virtual Earth portal, and this Drupal-based website. In light of the heavy focus in SA-III on the concept of shared situational awareness, a small number of data objects have been selected for SSE replication, and each of this is geo-referenced. During SA-III, members of Ray Ozzie's Concept Development Team will be experimenting with the construction of an SSE mesh that should allow, for example, a Request or a Survey form filled out and submitted on any one system to ripple out through the mesh and eventally replicate to every other endpoint. An Assessment completed by a first responder using a handheld mobile device should eventually show up in a desktop collaboration application, a web site, and a GIS application. Subsequent changes made to the Assessment should likewise propagate back out through the mesh. The Concept Development Team is currently building an SSE adapter for Groove Forms and is supporting other organizations with an interest in integrating their systems into the mesh. Anyone interested in implementing an SSE connector for SA-III should contact Robert Kirkpatrick.

We're also going to be using SSE to conduct an exciting series of "Pony Express" experiments based on earlier work from the previous Strong Angel demonstration in 2004.

The latest SSE specification may be found here, and an FAQ is available here. There is a brief video here featuring two members of the Concept Development Team discussing SSE. Tutorials, sample SSE feeds, and other materials are also available.

Posted On: Sun, 2006-07-30 10:33 by rkirkpatrick
( categories: | | | | | )