Method and system for device recruitment interoperability and assembling unified interoperating device constellation
First Claim
1. In a system including an initiating device and a plurality of other reachable devices formed and coupled for communication as a device team and each other reachable device having a unification engine executing a unification program, a method of executing an individual cross-device pre-linked software application contained in a single binary image across the device team;
- the cross-device pre-linked software application including a plurality of different sub-execution units initially only existing on said initiating device, configured on execution to programmatically determine and select which ones of a set of said other reachable devices different from the initiating device, should be formed into said device team;
said other reachable devices each running said unification program that is configured to execute said sub-execution units and being discoverable by the initiating device over one or more communications links when said other reachable devices are each running said unification program;
said devices in said formed device team simultaneously running said cross-device pre-linked software application program after receiving one or more sub-execution units optimized for execution on each of said other devices from said initiating device to run on each said selected other reachable device of the said device team, by automatically maintaining and synchronizing event queues on each teamed device to implement a virtual single unified event queue of the events that drive the cross-device pre-linked software application, resulting upon execution in one single synchronized and serialized event-driven runtime process running across all of said teamed devices to make use of their combined resources and capabilities to carry out the cross-device pre-linked software application, the method comprising;
performing an enumeration of said reachable other devices over said one or more communication links by a recruiting sub-execution unit running on the initiating device;
sending an inspection sub-execution unit over said one or more communications link to each said reachable other device that when run on said other reachable device unification program in a unification engine inspects said reachable other device the inspection sub-execution unit is running on for needed resources or capabilities, and then said other reachable device sending a return response back to the said recruiting sub-execution unit running on the said initiating device;
receiving by the initiating device said return response from each of said other reachable devices directly or indirectly over a communication links;
analyzing, by an initiating sub-execution unit executing on said initiating device, the received return responses from all responding other reachable devices to programmatically determine a utilization plan identifying a combination of capabilities and resources of the initiating source device in combination with the responding other reachable devices to optimally execute the cross-device pre-linked software application; and
distributing, by said initiating sub-execution unit executing on the initiating device, a runtime execution unit of the said sub-execution units to at least one of each of said other reachable devices identified as having a needed resource or capability according to the determined utilization plan.
5 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 recruitment interoperability method and model provide an alternative to the conventional client-server and peer-to-peer device interoperability models. Recruitment is used by a software application package to forms teams of devices based on their capabilities and content and then intelligently spread portions of itself to the teams of devices which then work together to carry out the intended purpose of the application package.
-
Citations
51 Claims
-
1. In a system including an initiating device and a plurality of other reachable devices formed and coupled for communication as a device team and each other reachable device having a unification engine executing a unification program, a method of executing an individual cross-device pre-linked software application contained in a single binary image across the device team;
-
the cross-device pre-linked software application including a plurality of different sub-execution units initially only existing on said initiating device, configured on execution to programmatically determine and select which ones of a set of said other reachable devices different from the initiating device, should be formed into said device team; said other reachable devices each running said unification program that is configured to execute said sub-execution units and being discoverable by the initiating device over one or more communications links when said other reachable devices are each running said unification program; said devices in said formed device team simultaneously running said cross-device pre-linked software application program after receiving one or more sub-execution units optimized for execution on each of said other devices from said initiating device to run on each said selected other reachable device of the said device team, by automatically maintaining and synchronizing event queues on each teamed device to implement a virtual single unified event queue of the events that drive the cross-device pre-linked software application, resulting upon execution in one single synchronized and serialized event-driven runtime process running across all of said teamed devices to make use of their combined resources and capabilities to carry out the cross-device pre-linked software application, the method comprising; performing an enumeration of said reachable other devices over said one or more communication links by a recruiting sub-execution unit running on the initiating device; sending an inspection sub-execution unit over said one or more communications link to each said reachable other device that when run on said other reachable device unification program in a unification engine inspects said reachable other device the inspection sub-execution unit is running on for needed resources or capabilities, and then said other reachable device sending a return response back to the said recruiting sub-execution unit running on the said initiating device; receiving by the initiating device said return response from each of said other reachable devices directly or indirectly over a communication links; analyzing, by an initiating sub-execution unit executing on said initiating device, the received return responses from all responding other reachable devices to programmatically determine a utilization plan identifying a combination of capabilities and resources of the initiating source device in combination with the responding other reachable devices to optimally execute the cross-device pre-linked software application; and distributing, by said initiating sub-execution unit executing on the initiating device, a runtime execution unit of the said sub-execution units to at least one of each of said other reachable devices identified as having a needed resource or capability according to the determined utilization plan. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In a system including an initiating device and a plurality of other reachable devices coupleable for communication as a device team, a method of executing an individual cross-device pre-linked software application contained in a single binary image across the device team;
- the cross-device pre-linked software application including a plurality of different sub-execution units;
the method comprising;identifying other devices that are reachable over said one or more communication links by a recruiting sub-execution unit running on said initiating device; sending an inspection sub-execution unit to each said identified reachable other device that when executed inspects said device to identify any resources or capabilities needed to carry-out the function of the cross-device pre-linked software application; receiving, by a recruiting sub-execution unit in the initiating device, a return response from said inspected other reachable device identifying any said needed resource or capabilities over said one or more communication links; analyzing, by the said initiating sub-execution unit, the received return responses from all responding other reachable devices and programmatically determining a utilization plan identifying a combination of capabilities or resources and members of a device team including the initiating source device in combination with one or more of the responding other reachable devices to optimally execute the cross-device pre-linked software application; distributing, by said initiating sub-execution unit, a runtime sub-execution unit to said members of the device team according to the determined utilization plan; and wherein said device team members in combination execute said cross-device pre-linked software application program in one single simultaneous synchronized and serialized event driven runtime process by automatically maintaining and synchronizing event queues on each teamed device to implement a virtual single unified event queue of the events that drive the cross-device pre-linked software application, running across all of said teamed devices to make use of their combined resources and capabilities to carry out the cross-device pre-linked software application. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
- the cross-device pre-linked software application including a plurality of different sub-execution units;
-
40. A system for executing an individual cross-device pre-linked software application contained in a single binary image across a device team formed from an initiating device and at least one other reachable device;
- the cross-device pre-linked software application including a plurality of different sub-execution units;
the system comprising;an initiating device; a plurality of other reachable devices coupleable for communication with at least said initiating device as a device team; identifying means for identifying other devices that are reachable over said one or more communication links by a recruiting sub-execution unit running on said initiating device; sending means for sending an inspection sub-execution unit to each said identified reachable other device that when executed inspects said device to identify any resources or capabilities needed to carry-out the function of the cross-device pre-linked software application; receiving means, for receiving by a recruiting sub-execution unit in the initiating device, a return response from said inspected other reachable device identifying any said needed resource or capabilities over said one or more communication links; analyzing means, for analyzing by the said initiating sub-execution unit, the received return responses from all responding other reachable devices and programmatically determining a utilization plan identifying a combination of capabilities or resources and members of a device team including the initiating source device in combination with one or more of the responding other reachable devices to optimally execute the cross-device pre-linked software application; distributing means, for distributing by said initiating sub-execution unit, a runtime sub-execution unit to said members of the device team according to the determined utilization plan; and wherein said device team members in combination execute said cross-device pre-linked software application program in one single simultaneous synchronized and serialized event driven runtime process by automatically maintaining and synchronizing event queues on each teamed device to implement a virtual single unified event queue of the events that drive the cross-device pre-linked software application, running across all of said teamed devices to make use of their combined resources and capabilities to carry out the cross-device pre-linked software application. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
- the cross-device pre-linked software application including a plurality of different sub-execution units;
-
51. A computer program product for use in conjunction with a computer system or information appliance, the computer program product comprising a tangible 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 to recruit a team of recruited teamed devices for interoperation in order to execute an individual cross-device pre-linked software application contained in a single binary image across the recruited device team, the cross-device pre-linked software application including a plurality of different sub-execution units, the program module including instructions for; identifying other devices that are reachable over said one or more communication links by a recruiting sub-execution unit running on said initiating device; sending an inspection sub-execution unit to each said identified reachable other device that when executed inspects said device to identify any resources or capabilities needed to carry-out the function of the cross-device pre-linked software application; receiving, by a recruiting sub-execution unit in the initiating device, a return response from said inspected other reachable device identifying any said needed resource or capabilities over said one or more communication links; analyzing, by the said initiating sub-execution unit, the received return responses from all responding other reachable devices and programmatically determining a utilization plan identifying a combination of capabilities or resources and members of a device team including the initiating source device in combination with one or more of the responding other reachable devices to optimally execute the cross-device pre-linked software application; distributing, by said initiating sub-execution unit, a runtime sub-execution unit to said members of the device team according to the determined utilization plan; and wherein said device team members in combination execute said cross-device pre-linked software application program in one single simultaneous synchronized and serialized event driven runtime process by automatically maintaining and synchronizing event queues on each teamed device to implement a virtual single unified event queue of the events that drive the cross-device pre-linked software application, running across all of said teamed devices to make use of their combined resources and capabilities to carry out the cross-device pre-linked software application.
-
Specification