Control object and user interface for controlling networked devices
First Claim
1. In a network comprising a plurality of software controllable devices that communicate over said network, said software controllable devices including an embedded operating system, a distributed system for controlling said software controllable devices, comprising:
- at least one control object, said control object comprising a component object model object residing in said embedded operating system and accessible to a respective software controllable device and including logical attributes of said respective software controllable device, said control object accepting and issuing control messages to and from said respective software controllable device, and said control object being polymorphic such that said control object is adapted to take on the logical attributes and command and control capabilities of any of said software controllable devices; and
a user interface adapted to receive said control object, retrieve said logical attributes, and accept and issue control messages to and from said control object, said user interface residing in at least one of said software controllable devices, wherein said control object is appointed to be a manager object if said control object is a first registered control object in said distributed system, and wherein said control object registers with said system when active and maintains a list of all other registered control objects in said distributed system, and wherein if a manager object drops out of said distributed system, a subsequently registered objects is appointed to be said manager object, and wherein all of the control objects are capable of being said manager object.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for including a set of software components and an application programming interface for the logical networked representation and implementation of a system of smart devices within a home or small office environment. The software components include a control object component and a user interface component. The control object is a software object capable that carries out communication, accepts and issues control messages. The control object allows a user to remotely control or query a physical device for which the specific control object has responsibility and for maintaining logical and physical connections and control of the device. The user interface supplies a coherent and transparent interface across all network media and topologies. The user interface is capable of communicating with any control object that it identifies as being controllable in a given system. The communication may be across a logical network or may be local to a particular device. The user interface takes on the “personality” of the physical device for which the attendant control object carries a logical and physical mapping and control responsibility.
58 Citations
29 Claims
-
1. In a network comprising a plurality of software controllable devices that communicate over said network, said software controllable devices including an embedded operating system, a distributed system for controlling said software controllable devices, comprising:
-
at least one control object, said control object comprising a component object model object residing in said embedded operating system and accessible to a respective software controllable device and including logical attributes of said respective software controllable device, said control object accepting and issuing control messages to and from said respective software controllable device, and said control object being polymorphic such that said control object is adapted to take on the logical attributes and command and control capabilities of any of said software controllable devices; and
a user interface adapted to receive said control object, retrieve said logical attributes, and accept and issue control messages to and from said control object, said user interface residing in at least one of said software controllable devices, wherein said control object is appointed to be a manager object if said control object is a first registered control object in said distributed system, and wherein said control object registers with said system when active and maintains a list of all other registered control objects in said distributed system, and wherein if a manager object drops out of said distributed system, a subsequently registered objects is appointed to be said manager object, and wherein all of the control objects are capable of being said manager object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of registering control objects, the method comprising:
-
broadcasting a control message from an enabled control object to inform other registered control objects that said enabled control object exists;
determining if said enabled control object is a first registered control object;
appointing said first registered object to be a manager object to administer a list of logical attributes of software controllable devices; and
wherein all control objects are capable of being a manager object in a system for controlling a plurality of software controllable devices having embedded operating systems and represented by a plurality of control objects that maintain said list of logical attributes of respective ones of said software controllable devices, said control object accepting and issuing control messages to and from said respective ones of said software controllable devices, and said control object being a component object model object and polymophic such that said control object is adapted to take on the logical attributes and command and control capabilities of any of said software controllable devices. - View Dependent Claims (14, 15, 16, 17)
sending said list to any new control object that registers with said system;
periodically broadcasting said list to all registered control objects; and
performing a synchronization to force all other control objects to synchronize to the said list.
-
-
15. The method as recited in claim 13, wherein said list contains an identifier and an address for each registered control object on said system.
-
16. The method as recited in claim 13, further comprising performing an election if said manager object ceases to function, said election comprising:
-
promoting a second registered control object to said manager object;
promoting all other control objects up one position on said list; and
distributing said list to all registered control objects on said system.
-
-
17. The method as recited in claim 16, further comprising distributing said list to all registered control objects if any control object other than said manager object ceases to function.
-
18. In a network comprising a plurality of software controllable devices that communicate over said network, said software controllable devices containing an embedded operating system and a computer-readable storage medium within which information is stored, a system for controlling said software controllable devices, comprising:
-
a plurality of control objects residing in said embedded operating system of respective ones of said software controllable devices, said control objects comprising component object model objects and including logical attributes of said respective ones of said software controllable devices, said control objects further accepting and issuing control messages to and from said respective ones of said software controllable devices, and said control objects being polymorphic such that said control objects are adapted to take on the logical attributes and command and control capabilities of any of said software controllable devices, wherein said control objects register with said system and are assigned an random unique identifier and are active while said respective ones of said software controllable devices are functioning, and wherein said control objects maintain a list of all other registered control objects and their logical attributes and wherein a first registered control object of said plurality of control objects is designated to be a manager object, said manager object performing list management to maintain and administer said list by periodically broadcasting said list to all registered control objects on said system, and wherein said list contains said logical attributes, said random unique identifier and an address of all registered control objects on said system, and wherein any control object in said system can function as said manager object. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. In a network comprising at least one software controllable device that communicates over said network and is remotely controllable over said network, said software controllable device containing an embedded operating system and a computer-readable storage medium within which state information is stored, a system for controlling said software controllable device, comprising:
-
a control object residing in said embedded operating system and comprising a component object model object, said control object including said state information of said software controllable device, said control object further accepting and issuing control messages to and from said software controllable device, and said control object being polymorphic such that said control object is adapted to take on the logical attributes and command and control capabilities of any software controllable device attached to said network, wherein said control object registers with said system and is active while said software controllable device is functioning, and wherein said control object maintains a list of any other control object registered with said system and corresponding logical attributes, and wherein said control object is designated to be a manager object if it is a first registered object in said network, said manager object performing list management to maintain and administer said list by periodically broadcasting said list to all registered control objects on said network, and wherein said list contains said logical attributes, a random unique identifier and an address of all said registered control objects on said system, and wherein any control object in said system can function as said manager object. - View Dependent Claims (26, 27, 28, 29)
-
Specification