Method, computer-readable medium, and system for discovery and registration of controlled devices associated with self-describing modules
Abstract
A system, method, and computer-readable medium for the discovery and registration of controlled devices associated with self-describing Modules in a control system are provided. A controlled device associated with a self-describing module is coupled with a master controller on which the self-describing module is installed. A remote monitoring system is communicatively coupled with the master controller, and a remote monitoring system agent is installed on the master controller. The agent discovers a Module associated with the controlled device and queries the Module for a version thereof. The agent then evaluates whether the Module is self-describing. In the event the Module is self-describing, the agent requests a run-time capabilities object from the Module and registers the controlled device with the remote monitoring system according to the capabilities object.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
discovering a module associated with a controlled device by an agent associated with a remote monitoring system; evaluating whether the module is self-describing at runtime; responsive to determining that the module is self-describing, requesting a run-time capabilities object of an object-oriented programming language from the module; receiving the run-time capabilities object; and registering the controlled device with the remote monitoring system according to the run-time capabilities object.
2 . The method of claim 1 , wherein discovering the module comprises discovering the module by invoking an OSGi method by the agent.
3 . The method of claim 1 , wherein evaluating whether the module is self-describing comprises evaluating the version of the module.
4 . The method of claim 1 , further comprising:
receiving a command for an operation to be performed on the controlled device; determining the module is self-describing; accessing the capabilities object; and invoking the command responsive to determining the command conforms to the capabilities object.
5 . The method of claim 1 , further comprising:
discovering a second module associated with a second controlled device by the agent; evaluating whether the second module is self-describing; responsive to determining the second module is not self-describing, determining a device type and capabilities corresponding thereto; and generating a second capabilities object based on the capabilities corresponding to the device type.
6 . The method of claim 5 , further comprising registering the second controlled device with the remote monitoring system according to the second capabilities object.
7 . The method of claim 6 , further comprising:
receiving a command for an operation to be performed on the second controlled device; determining the second module is not self-describing; accessing the second capabilities object; performing reflection on the second capabilities object; and invoking the command responsive to determining the command conforms to the second capabilities object.
8 . The method of claim 1 , further comprising:
querying each of a plurality of device component classes for their respective run-time capabilities objects comprising commands, parameters, and properties; and accumulating the run-time capabilities of the plurality of device component classes into a device capabilities class.
9 . A non-transitory computer-readable medium comprising computer-executable instructions for execution by a processing system, the computer-executable instructions, when executed, configured to cause the processing system to:
discover a module associated with a controlled device by an agent associated with a remote monitoring system; query the module for a version of the module; evaluate whether the module is self-describing at runtime; responsive to determining that the module is self-describing, request a run-time capabilities object of an object-oriented programming language from the module; receive the run-time capabilities object; and register the controlled device with the remote monitoring system according to the run-time capabilities object.
10 . The non-transitory computer-readable medium of claim 9 , wherein the instructions that discover the module comprise instructions that, when executed, cause the processing system to invoke an OSGi method by the agent.
11 . The non-transitory computer-readable medium of claim 9 , wherein the instructions that evaluate whether the module is self-describing comprise instructions that, when executed, cause the processing system to evaluate the version of the module.
12 . The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed, cause the processing system to:
receive a command for an operation to be performed on the controlled device; determine the module is self-describing; access the capabilities object; and invoke the command responsive to determining the command conforms to the capabilities object.
13 . The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed, cause the processing system to:
discover a second module associated with a second controlled device by the agent; evaluate whether the second module is self-describing; responsive to determining the second module is not self-describing, determine a device type and capabilities corresponding thereto; and generate a second capabilities object based on the capabilities corresponding to the device type.
14 . The non-transitory computer-readable medium of claim 13 , further comprising instructions that, when executed, cause the processing system to register the second controlled device with the remote monitoring system according to the second capabilities object.
15 . The non-transitory computer-readable medium of claim 14 , further comprising instructions that, when executed, cause the processing system to:
receive a command for an operation to be performed on the second controlled device; determine the second module is not self-describing; access the second capabilities object; perform reflection on the second capabilities object; and invoke the command responsive to determining the command conforms to the second capabilities object
16 . A control system, comprising:
a controlled device having a self-describing module associated therewith; a remote monitoring system; and a master controller on which the self-describing module and an agent associated with the remote monitoring system are installed, wherein the agent is configured to
discover the module,
query the module for a version of the module,
evaluate whether the module is self-describing at runtime,
determine that the module is self-describing,
request a run-time capabilities object of an object-oriented programming language from the module responsive to determining that the module is self-describing,
receive the run-time capabilities object, and
register the controlled device with the remote monitoring system according to the run-time capabilities object.
17 . The system of claim 16 , wherein the agent determines the module is self-describing by evaluating the version of the module.
18 . The method of claim 16 , wherein the agent receives, from the remote monitoring system, a command for an operation to be performed on the controlled device, accesses the capabilities object, and invokes the command responsive to determining the command conforms to the capabilities object.
19 . The system of claim 16 , wherein the agent discovers a second module associated with a second controlled device, evaluates whether the second module is self-describing, determines a device type and capabilities corresponding thereto responsive to determining the second module is not self-describing, and generates a second capabilities object based on the capabilities corresponding to the device type.
20 . The system of claim 19 , wherein the agent registers the second controlled device with the remote monitoring system according to the second capabilities object.Join the waitlist — get patent alerts
Track US2015148915A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.