Method and system for vertical layering between levels in a processing unit facilitating direct event-structures and event-queues level-to-level communication without translation
First Claim
1. An event driven vertical layering system for coordinating the operations of and data movement between procedural components which perform application level operations, device hardware control level operations, communications level operations, or any other level or subset of operations within or between one or more teamed devices to establish an efficient and/or robust cooperative functionality between the procedural (software) components, the system comprising:
- (a) a static event data structure whose fields and field semantics are generally known and understood between all the event generating and processing units across one or more devices and the procedural (software) components running in the one or more devices;
(b) a queue on each teamed device which stores, removes, manages, and controls access to the event data structure instances;
(c) means for managing the placing, modification, and removing of events on the queue accessible from all the cooperating procedural (software) components;
(d) means for specifying and maintaining a common list of event types which are to be serialized and synchronized between the queues of the cooperating devices; and
(e) means for ensuring that all the events of any of the types on the common list are processed by the procedural (software) components in the exact same order on all devices regardless of what procedural (software) components initiated the events, or which of the teamed devices the procedural (software) components that initiated the events are running on.
2 Assignments
0 Petitions
Accused Products
Abstract
System, device, method, and computer program and computer program products for providing communicating between devices having similar or dissimilar characteristics and facilitating seamless interoperability between them. Computer program software and methods of and systems and devices for sharing of content, applications, resources and control across similar and dissimilar permanently or intermittently connected electronic devices. Devices, systems, appliances, and the like communicating and/or interoperating within the framework provided. A vertical layering system, model, and method provides alternative to horizontal layering of protocols in common use on most devices which requires different levels of protocols to communicate through all intermediate levels of protocols, often having to translate information to conform to the differing needs of each protocol interface. Processing units use vertical layering so that regardless of their level, processing units can communicate directly with all other processing units through the use of event structures and event queues which are accessible and understandable by all processing units without translation.
65 Citations
24 Claims
-
1. An event driven vertical layering system for coordinating the operations of and data movement between procedural components which perform application level operations, device hardware control level operations, communications level operations, or any other level or subset of operations within or between one or more teamed devices to establish an efficient and/or robust cooperative functionality between the procedural (software) components, the system comprising:
-
(a) a static event data structure whose fields and field semantics are generally known and understood between all the event generating and processing units across one or more devices and the procedural (software) components running in the one or more devices;
(b) a queue on each teamed device which stores, removes, manages, and controls access to the event data structure instances;
(c) means for managing the placing, modification, and removing of events on the queue accessible from all the cooperating procedural (software) components;
(d) means for specifying and maintaining a common list of event types which are to be serialized and synchronized between the queues of the cooperating devices; and
(e) means for ensuring that all the events of any of the types on the common list are processed by the procedural (software) components in the exact same order on all devices regardless of what procedural (software) components initiated the events, or which of the teamed devices the procedural (software) components that initiated the events are running on. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An event driven vertical layering method for coordinating the operations of and data movement between procedural components within or between one or more teamed devices, the method comprising:
-
(a) defining or generating a static event data structure whose fields and field semantics are generally known and understood between all the event generating and processing units across one or more devices and the procedural (software) components running in the one or more devices;
(b) defining or generating a queue on each teamed device which stores, removes, manages, and controls access to the event data structure instances;
(c) managing the placing, modification, and removing of events on the queue accessible from all the cooperating procedural (software) components;
(d) specifying and maintaining a common list of event types which are to be serialized and synchronized between the queues of the cooperating devices; and
(e) ensuring that all the events of any of the types on the common list are processed by the procedural components in the exact same order on all devices regardless of what procedural components initiated the events, or which of the teamed devices the procedural components that initiated the events are running on. - View Dependent Claims (22, 23)
-
-
24. A computer program product for use in conjunction with a computer system or information appliance, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a program module that directs the computer system or information appliance to function in a specified manner for coordinating the operations of and data movement between procedural components within or between one or more teamed devices, the program module including instructions for;
(a) defining or generating a static event data structure whose fields and field semantics are generally known and understood between all the event generating and processing units across one or more devices and the procedural (software) components running in the one or more devices;
(b) defining or generating a queue on each teamed device which stores, removes, manages, and controls access to the event data structure instances;
(c) managing the placing, modification, and removing of events on the queue accessible from all the cooperating procedural (software) components;
(d) specifying and maintaining a common list of event types which are to be serialized and synchronized between the queues of the cooperating devices; and
(e) ensuring that all the events of any of the types on the common list are processed by the procedural components in the exact same order on all devices regardless of what procedural components initiated the events, or which of the teamed devices the procedural components that initiated the events are running on.
-
Specification