System method and model for social synchronization interoperability among intermittently connected interoperating devices
First Claim
1. A method for maintaining synchronization of resources and synchronization information across one or more dynamically created teams of homogeneous or heterogeneous interoperability devices, wherein the interoperability devices run an interoperability engine, wherein the interoperability engine supports self-distribution and execution of threads of an interoperability application across a team of interoperability devices, then synchronizes events across the threads as part of one event-driven application run-time established across the team of devices, which are intermittently or continuously directly connected or indirectly connected through a sequence of a subset of the team of devices, wherein all such connected devices are part of the team, comprising:
- (1) running on an interoperability device, an initiating interoperability application, wherein the interoperability application is a single compiled and linked multi-threaded executable image with a single address space and a single data space shared across all its threads and wherein all of the code threads needed to run the interoperability application across a team of interoperability devices are initially contained in the single compiled and linked multi-threaded executable image; and
(2) teaming of other interoperability devices by the initiating interoperability application, wherein an intermittent or continuous connection is made to other devices and the initiating application spreads synchronization IDs and other synchronization information to the newly teamed devices, wherein the synchronization method further includes (a) initiating a communication session between any two teamed devices, (b) comparing the IDs on one device with the IDs on the other device, (c) running the interoperability application threads associated with every matching ID on each device that has the matching ID indicating it has data or resources or control functions to be synchronized, (d) spreading the event driven run time execution of the interoperability application across the two devices'"'"' threads, and (e) performing, by the interoperability application which has its operations spread across the two devices, the synchronization events via the threads, wherein the synchronization events are executed identically across the threads, which share the single data address space and single code address space of the single initiating interoperability application, wherein only the initiating interoperability application or any of its distributed threads, having no logical master, sends over a serialized channel synchronized events in an exact same order to be placed onto queues of its directly connected devices or its devices indirectly connected through a sequence of a subset of the team of devices.
3 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 social synchronization interoperability method, such as a Dart Social Synchronization method provides an efficient and easy to administrate method for synchronizing specific sets of data and/or operations across any number of devices and protocols without the need for every device to contact a master device, or for any device to act as a master. Social synchronization of devices and content provides an advantageous alternative to mastered synchronization techniques.
15 Citations
23 Claims
-
1. A method for maintaining synchronization of resources and synchronization information across one or more dynamically created teams of homogeneous or heterogeneous interoperability devices, wherein the interoperability devices run an interoperability engine, wherein the interoperability engine supports self-distribution and execution of threads of an interoperability application across a team of interoperability devices, then synchronizes events across the threads as part of one event-driven application run-time established across the team of devices, which are intermittently or continuously directly connected or indirectly connected through a sequence of a subset of the team of devices, wherein all such connected devices are part of the team, comprising:
-
(1) running on an interoperability device, an initiating interoperability application, wherein the interoperability application is a single compiled and linked multi-threaded executable image with a single address space and a single data space shared across all its threads and wherein all of the code threads needed to run the interoperability application across a team of interoperability devices are initially contained in the single compiled and linked multi-threaded executable image; and (2) teaming of other interoperability devices by the initiating interoperability application, wherein an intermittent or continuous connection is made to other devices and the initiating application spreads synchronization IDs and other synchronization information to the newly teamed devices, wherein the synchronization method further includes (a) initiating a communication session between any two teamed devices, (b) comparing the IDs on one device with the IDs on the other device, (c) running the interoperability application threads associated with every matching ID on each device that has the matching ID indicating it has data or resources or control functions to be synchronized, (d) spreading the event driven run time execution of the interoperability application across the two devices'"'"' threads, and (e) performing, by the interoperability application which has its operations spread across the two devices, the synchronization events via the threads, wherein the synchronization events are executed identically across the threads, which share the single data address space and single code address space of the single initiating interoperability application, wherein only the initiating interoperability application or any of its distributed threads, having no logical master, sends over a serialized channel synchronized events in an exact same order to be placed onto queues of its directly connected devices or its devices indirectly connected through a sequence of a subset of the team of devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22)
-
-
20. A computer program product for use in conjunction with a computer system or information appliance, the computer program product comprising a non-transitory 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 maintaining synchronization of resources across one or more dynamically created teams of homogeneous or heterogeneous devices which are intermittently or continuously directly connected or indirectly connected through a sequence of a subset of the team of devices, wherein all such connected devices are part of the team, the program module including instructions for;
(1) running on an interoperability device, an initiating interoperability application, wherein the interoperability application is a single compiled and linked multi-threaded executable image with a single address space and a single data space shared across all its threads and wherein all of the code threads needed to run the interoperability application across a team of interoperability devices are initially contained in the single compiled and linked multi-threaded executable image; and
(2) teaming of other interoperability devices by the initiating interoperability application, wherein an intermittent or continuous connection is made to other devices and the initiating application spreads synchronization IDs and other synchronization information to the newly teamed devices, wherein the synchronization method further includes (a) initiating a communication session between any two teamed devices, (b) comparing the IDs on one device with the IDs on the other device, (c) running the interoperability application threads associated with every matching ID on each device that has the matching ID indicating it has data or resources or control functions to be synchronized, (d) spreading the event driven run time execution of the interoperability application across the two devices'"'"' threads, and (e) performing, by the interoperability application which has its operations spread across the two devices, the synchronization events via the threads;
wherein the synchronization events are executed identically across the threads, which share the single data address space and single code address space of the single initiating interoperability application, wherein only the initiating interoperability application or any of its distributed threads, having no logical master, sends over a serialized channel synchronized events in an exact same order to be placed onto queues of its directly connected devices or its devices indirectly connected through a sequence of a subset of the team of devices.
- a program module that directs the computer system or information appliance to function in a specified manner for maintaining synchronization of resources across one or more dynamically created teams of homogeneous or heterogeneous devices which are intermittently or continuously directly connected or indirectly connected through a sequence of a subset of the team of devices, wherein all such connected devices are part of the team, the program module including instructions for;
-
23. An interoperability device running an interoperability engine maintaining synchronization of resources across one or more dynamically created teams of homogeneous or heterogeneous devices which are intermittently or continuously directly connected or indirectly connected through a sequence of a subset of the team of devices, wherein all such connected devices are part of the team, the device comprising:
- (1) running on the interoperability device, an initiating interoperability application, wherein the interoperability application is a single compiled and linked multi-threaded executable image with a single address space and a single data space shared across all its threads and wherein all of the code threads needed to run the interoperability application across a team of interoperability devices are initially contained in the single compiled and linked multi-threaded executable image; and
(2) teaming of other interoperability devices by the initiating interoperability application, wherein an intermittent or continuous connection is made to other devices and the initiating application spreads synchronization IDs and other synchronization information to the newly teamed devices, wherein the synchronization method further includes (a) initiating a communication session between any two teamed devices, (b) comparing the IDs on one device with the IDs on the other device, (c) running the interoperability application threads associated with every matching ID on each device that has the matching ID indicating it has data or resources or control functions to be synchronized, (d) spreading the event driven run time execution of the interoperability application across the two devices'"'"' threads; and
(e) performing, by the interoperability application which has its operations spread across the two devices, the synchronization events via the threads, wherein the synchronization events are executed identically across the threads, which share the single data address space and single code address space of the single initiating interoperability application, and wherein only the initiating interoperability application or any of its distributed threads, having no logical master, sends over a serialized channel synchronized events in an exact same order to be placed onto queues of its directly connected devices or its devices indirectly connected through a sequence of a subset of the team of devices.
- (1) running on the interoperability device, an initiating interoperability application, wherein the interoperability application is a single compiled and linked multi-threaded executable image with a single address space and a single data space shared across all its threads and wherein all of the code threads needed to run the interoperability application across a team of interoperability devices are initially contained in the single compiled and linked multi-threaded executable image; and
Specification