System and method for deploying and managing intelligent nodes in a distributed network
First Claim
1. A computer program product stored in one or more non-transitory computer-readable media, said computer program product comprising program instructions configured to cause a computer system to operate as an intelligent node in a distributed network, and to cause said computer system to provide:
- a communication engine for pulling or otherwise receiving user-configured software agent definitions into the intelligent node from elsewhere in the distributed network, each said software agent definition received as an information set specifying the types and numbers of software components to be instantiated from a predefined hierarchical software component toolset installed at said computer system, and each said software agent definition comprising corresponding component configuration parameter settings and hierarchical component linking information for configuring and hierarchically linking the specified software components for instantiation;
a run-time environment configured to dynamically instantiate a given software agent by selecting, instantiating, configuring, and linking software components from the predefined library of software components in accordance with the corresponding software agent definition, wherein the software agents executing within the run-time environment define the distributed network behavior of the intelligent node and define the rules for advertising and sharing that distributed network behavior within the distributed network; and
an application control module for controlling specified third-party applications installed on the computer system, and for enabling the software agents executing within the run-time environment to interact with the specified third-party applications.
3 Assignments
0 Petitions
Accused Products
Abstract
According to methods, apparatuses, and computer program products described by way of non-limiting examples presented herein, a computer system operates as an intelligent node in a distributed network. In one or more embodiments, the installation and execution of a node operating computer program product (“node software”) on a computer system configures that computer system to operate as an intelligent node in a distributed network. The computer system may reside at the edge of the network and thus may include a number of physical world sensors and/or actuators that represent valuable but hard-to-reach data sources/sinks from the perspective of the network at large. The node software operates the computer system as an edge application server and enterprise service bus, intelligently processing data from sensors, actuators, and other edge systems and devices. Other applications, such as server-based data processing and storing, are also easily implemented via the node software.
320 Citations
22 Claims
-
1. A computer program product stored in one or more non-transitory computer-readable media, said computer program product comprising program instructions configured to cause a computer system to operate as an intelligent node in a distributed network, and to cause said computer system to provide:
-
a communication engine for pulling or otherwise receiving user-configured software agent definitions into the intelligent node from elsewhere in the distributed network, each said software agent definition received as an information set specifying the types and numbers of software components to be instantiated from a predefined hierarchical software component toolset installed at said computer system, and each said software agent definition comprising corresponding component configuration parameter settings and hierarchical component linking information for configuring and hierarchically linking the specified software components for instantiation; a run-time environment configured to dynamically instantiate a given software agent by selecting, instantiating, configuring, and linking software components from the predefined library of software components in accordance with the corresponding software agent definition, wherein the software agents executing within the run-time environment define the distributed network behavior of the intelligent node and define the rules for advertising and sharing that distributed network behavior within the distributed network; and an application control module for controlling specified third-party applications installed on the computer system, and for enabling the software agents executing within the run-time environment to interact with the specified third-party applications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer system including a Central Processing Unit (CPU) and configured to operate as an intelligent node in a distributed network, the computer system comprising:
-
a communication engine for pulling or otherwise receiving user-configured software agent definitions into the intelligent node from elsewhere in the distributed network, each said software agent definition received as an information set specifying the types and numbers of software components to be instantiated from a predefined hierarchical software component toolset installed at said computer system, and each said software agent definition comprising corresponding component configuration parameter settings and hierarchical component linking information for configuring and hierarchically linking the specified software components for instantiation; a run-time environment configured to dynamically instantiate a given software agent by selecting, instantiating, configuring, and linking software components from the predefined library of software components in accordance with the corresponding software agent definition, wherein the software agents executing natively within the run-time environment define the distributed network behavior of the intelligent node and define the rules for advertising and sharing that behavior with other intelligent nodes in the distributed network; and an application control module for controlling specified third-party applications installed on the computer system, and for enabling the software agents executing within the run-time environment to interact with the specified third-party applications. - View Dependent Claims (18, 19, 20)
-
-
21. A system, stored in one or more non-transitory computer-readable media, for building distributed networks of intelligent nodes comprising:
-
a node operating computer program product for installation and execution on a computer system intended for operation as an intelligent node, said node operating computer program product comprising a run-time environment for building and executing software agents according to received software agent definitions, and a communication engine having a default messaging protocol enabling a remote node to transfer desired software agent definitions into the run-time environment; a node interfacing computer program product for installation and execution on a computer system intended for use as an intelligent node interface, said node interfacing computer program product comprising user and communication interfaces for building the desired software agent definitions according to user-specified parameters, and transferring the desired software agent definitions to one or more targeted intelligent nodes; and a software component toolset installable at intelligent nodes for building software agents according to the desired software agent definitions, and comprising a hierarchical set of software components configured as building blocks for data acquisition, data processing, and control applications, wherein said desired software agent definitions each comprise an information set identifying the particular software components from the software component toolset to be included in the corresponding software agent, along with component parameters and hierarchical linking information that define the behavior and operation of the software components. - View Dependent Claims (22)
-
Specification