Aside from the occasional symphony orchestra or barn-raising, few human work activities proceed in strict temporal or command sequence. Collaborative processes are loosely-coupled by nature -- especially with humans in the loop -- and thus well-suited to event-based implicit invocation. We have identified over eighty such event-oriented collaborative tools that emerged over the last two decades. This paper aims towards an evolutionary explanation of the popularity of this approach, its current challenges, and likely next steps.
From the past, we can discern a common trend of widening range -- from single hosts to local-area networks to wide-area networks -- within each of five application themes: information distribution, presence/awareness, instant messaging/chat, simulation/graphics, and interapplication integration. Academic literature in the area can be reinterpreted to separate applications using Event Based Integration (EBI) from underlying Event Notification Services (ENS).
The present moment is less about adapting to ever-wider geographic, temporal, and numeric scale, than the trust boundaries uniquely defining "Internet scale." New tensions are surfacing in bridging dissimilar ontology, security, and mobility models. Furthermore, the politics and economics of Internet scale are dominated by the "network effect," the tendency for a common, interoperable standard to become more valuable precisely in proportion to the numbers of developers and applications using it.
The future appears to favor generic Internet scale ENS, with
built-in evolvability features to expand and adapt to new collaborative
systems' demands. We propose a taxonomy of ENS design choices -- source-
vs. sink-initiation; end-to-end vs. intermediated delivery; degree of
latency; and ordering constraints -- to evaluate contenders' claims of
flexibility.
Contact information:
Adam Rifkin, California Institute of Technology, adam at xent dot com, phone: +1-626-449-4123, fax: +1-626-792-4257
Rohit Khare, University of California at Irvine, rohit@uci.edu, phone: +1-626-806-7574