Event heap: a coordination infrastructure for dynamic heterogeneous application interactions in ubiquitous computing environments
First Claim
1. A method for dynamically coordinating application interactions and communications in a ubiquitous computing environment having a plurality of heterogeneous machines running a plurality of heterogeneous software applications, said method comprising:
- enabling said applications to exchange events via an Event Heap, a dynamic application interactions coordination infrastructure, wherein each event is characterized by a set of unordered, named fields; and
routing each event by matching certain attributes in said fields.
2 Assignments
0 Petitions
Accused Products
Abstract
An efficient and adaptive middleware infrastructure called the Event Heap system dynamically coordinates application interactions and communications in a ubiquitous computing environment, e.g., an interactive workspace, having heterogeneous software applications running on various machines and devices across different platforms. Applications exchange events via the Event Heap. Each event is characterized by a set of unordered, named fields. Events are routed by matching certain attributes in the fields. The source and target versions of each field are automatically set when an event is posted or used as a template. The Event Heap system implements a unique combination of features, both intrinsic to tuplespaces and specific to the Event Heap, including content based addressing, support for routing patterns, standard routing fields, limited data persistence, query persistence/registration, transparent communication, self-description, flexible typing, logical/physical centralization, portable client API, at most once per source first-in-first-out ordering, and modular restartability.
72 Citations
22 Claims
-
1. A method for dynamically coordinating application interactions and communications in a ubiquitous computing environment having a plurality of heterogeneous machines running a plurality of heterogeneous software applications, said method comprising:
-
enabling said applications to exchange events via an Event Heap, a dynamic application interactions coordination infrastructure, wherein each event is characterized by a set of unordered, named fields; and
routing each event by matching certain attributes in said fields. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A dynamic application coordination infrastructure for a ubiquitous computing environment having a plurality of heterogeneous machines running a plurality of heterogeneous software applications, said dynamic application coordination infrastructure comprising:
-
an Event Heap Model having an Event Heap where said applications exchange events based on content thereof, and a plurality of properties supporting characteristics of said ubiquitous computing environment;
whereinsaid characteristics include bounded environment (H1), human centered interaction and flexible reconfiguration (H2), human level performance needs (H3), hardware heterogeneity (T1), software heterogeneity (T2), short timescale change (T3), and long timescale change (T4); and
whereinsaid properties include limited temporal decoupling (P1), referential decoupling (P2), extensibility (P3), expressiveness (P4), portable client application programming interface (P5), ease of debugging (P6), perceptual instantaneity (P7), scalability (P8), failure tolerance and recovery (P9), and application portability (P10). - View Dependent Claims (17, 18, 19)
-
-
20. A method for constructing a dynamic application coordination infrastructure for a ubiquitous computing environment having a plurality of heterogeneous machines running a plurality of heterogeneous software applications and platforms, said method comprising:
-
identifying characteristics of said ubiquitous computing environment based on human factors and technology factors, wherein said characteristics include bounded environment (H1), human centered interaction and flexible reconfiguration (H2), human level performance needs (H3), hardware heterogeneity (T1), software heterogeneity (T2), short timescale change (T3), and long timescale change (T4);
determining properties supporting and optimizing said characteristics, wherein said wherein said properties include limited temporal decoupling (P1), referential decoupling (P2), extensibility (P3), expressiveness (P4), portable client application programming interface (P5), ease of debugging (P6), perceptual instantaneity (P7), scalability (P8), failure tolerance and recovery (P9), and application portability (P10); and
implementing features that cause said infrastructure to possess said properties, wherein said features comprise standard routing fields, limited data persistence, query persistence and registration, self-description, flexible typing, per source first-in-first-out at most once ordering, and modular restartability. - View Dependent Claims (21, 22)
-
Specification