Application platform operable on network node
First Claim
1. A system, comprising:
- at least one sensor;
one or more nodes in a network;
a processor configured to input data from the at least one sensor and to enable a formula-driven programming-environment defined on a memory device of a node in the network, the formula-driven programming-environment further comprising one or more managing components providing operations for at least a first program and a second program, and configured to perform acts comprising;
interpreting statements of the first program operable within a first address space defined in the memory device by operation of the formula-driven programming-environment, and interpreting statements of the second program operable within a second address space defined in the memory device by operation of the formula-driven programming-environment;
interpreting addresses within statements of the first program based on a first network topology, and interpreting addresses within statements of the second program based on a second network topology, wherein a first upstream data path from the node in the network, based on the first network topology, and a second upstream data path from the node in the network, based the second network topology, are different, and wherein each of the first upstream data path and the second upstream data path include a path to a third party server, a second node, a utility company'"'"'s office, or a remote computing device;
limiting, by operation of the formula-driven programming-environment, statements of the first program to the first address space, and statements of the second program to the second address space;
limiting, by operation of the formula-driven programming-environment, message-queuing and message-transmission of the first program and the second program;
obtaining data from the at least one sensor and assigning values to variables by operation of the formula-driven programming-environment; and
communicating the data obtained from the at least one sensor, over a network and by operation of the first program, using an upstream path associated with the first program, and communicating the data obtained from a metrology device, over the network and by operation of the second program, using the upstream path associated with the second program, wherein the communicating further comprises;
queuing of sensor data, constants, derived data and/or commands for transmission over the network; and
transmitting the queued data transparently by operation of the formula-driven programming environment;
wherein the one or more managing components of the formula-driven programming-environment are further operational for;
providing a context, indicating a type of address to be used for network communications based at least in part on the first network topology or the second network topology;
performing low-level coding and addressing as required for message queuing;
configuring addressing syntax according to one or more formats;
coordinating with at least one remote operating program to utilize one or more formulas, events, variables, functions, and/or statement blocks in at least the first program or the second program;
identifying a second node within the network and a relationship of the second node to the node; and
obtaining data from the second node using the relationship.
3 Assignments
0 Petitions
Accused Products
Abstract
A formula-driven programming-environment is described, which may be used to provide an environment for applications to operate within a network node or other computing device. In one example, statements of a program may be interpreted to thereby execute formula-style commands within an address space defined and constrained in a memory device by the integrated development environment. The commands may obtain data, assign values to variables and access data from other node(s) by the interpretation of statements in the program and communicating over a network. The communicating may include queuing a message for transmission by the formula-driven programming-environment. The commands may provide named access or relative access to data in response to the interpretation of statements in the program. The commands may communicate with at least one application located on a remote computing device in response to the interpretation of statements in the program.
62 Citations
17 Claims
-
1. A system, comprising:
-
at least one sensor; one or more nodes in a network; a processor configured to input data from the at least one sensor and to enable a formula-driven programming-environment defined on a memory device of a node in the network, the formula-driven programming-environment further comprising one or more managing components providing operations for at least a first program and a second program, and configured to perform acts comprising; interpreting statements of the first program operable within a first address space defined in the memory device by operation of the formula-driven programming-environment, and interpreting statements of the second program operable within a second address space defined in the memory device by operation of the formula-driven programming-environment; interpreting addresses within statements of the first program based on a first network topology, and interpreting addresses within statements of the second program based on a second network topology, wherein a first upstream data path from the node in the network, based on the first network topology, and a second upstream data path from the node in the network, based the second network topology, are different, and wherein each of the first upstream data path and the second upstream data path include a path to a third party server, a second node, a utility company'"'"'s office, or a remote computing device; limiting, by operation of the formula-driven programming-environment, statements of the first program to the first address space, and statements of the second program to the second address space; limiting, by operation of the formula-driven programming-environment, message-queuing and message-transmission of the first program and the second program; obtaining data from the at least one sensor and assigning values to variables by operation of the formula-driven programming-environment; and communicating the data obtained from the at least one sensor, over a network and by operation of the first program, using an upstream path associated with the first program, and communicating the data obtained from a metrology device, over the network and by operation of the second program, using the upstream path associated with the second program, wherein the communicating further comprises; queuing of sensor data, constants, derived data and/or commands for transmission over the network; and transmitting the queued data transparently by operation of the formula-driven programming environment; wherein the one or more managing components of the formula-driven programming-environment are further operational for; providing a context, indicating a type of address to be used for network communications based at least in part on the first network topology or the second network topology; performing low-level coding and addressing as required for message queuing; configuring addressing syntax according to one or more formats; coordinating with at least one remote operating program to utilize one or more formulas, events, variables, functions, and/or statement blocks in at least the first program or the second program; identifying a second node within the network and a relationship of the second node to the node; and obtaining data from the second node using the relationship. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10, 11, 12)
-
-
7. A method implemented at least in part by a network node, the method comprising:
-
operating a formula-driven programming-environment located within the network node further comprising one or more managing components providing operations for at least a first program and a second program; interpreting, by operation of the formula-driven programming-environment, statements of the first program operable within a first address space defined in a memory device of the network node, and statements of the second program operable within a second address space defined in the memory device of the network node; interpreting absolute addresses or relative addresses within the statements of the first program based on a first network topology and interpreting absolute addresses or relative addresses within the statements of the second program based on a second network topology, wherein an upstream path from the network node, based on the first network topology is different from an upstream path from the network node based on the second network topology, and wherein the upstream path based on the first network topology and the upstream path based on the second network topology includes a path to a third party server, a second network node, a utility company'"'"'s office, or a remote computing device; limiting, by operation of the formula-driven programming-environment, statements of the first program to the first address space, and statements of the second program to the second address space; limiting, by operation of the formula-driven programming-environment, message-queuing and message-transmission of the first program and the second program; obtaining data from a metrology device of the network node and assigning values to variables by operation of the formula-driven programming-environment; and communicating the data obtained from the metrology device, over a network and by operation of the first program, using the upstream path associated with the first program, and communicating the data obtained from the metrology device, over the network and by operation of the second program, using the upstream path associated with the second program, wherein the communicating further comprises; queuing of sensor data, constants, derived data and/or commands for transmission over the network; and transmitting the queued data transparently by operation of the formula-driven programming environment; wherein the one or more manacling components of the formula-driven programming-environment are further operational for; providing a context, indicating a type of address to be used for network communications based at least in part on the first network topology or the second network topology; performing low-level coding and addressing as required for message queuing; configuring addressing syntax according to one or more formats; coordinating with at least one remote operating program to utilize one or more formulas, events, variables, functions, and/or statement blocks in at least the first program or the second program; identifying a second node within the network and a relationship of the second node to the network node; and obtaining data from the second node using the relationship.
-
-
13. A node, comprising:
-
at least one sensor; a memory device; a processor; an embedded operating system defined on the memory device and executed by the processor, and configured for communication with the at least one sensor; and a formula-driven programming-environment defined on the memory device and executed by the processor, the formula-driven programming-environment further comprising one or more managing components providing operations for at least a first program and a second program and configured to perform acts comprising; interpreting statements of the first program operable within a first address space defined in the memory device of the node, and interpreting statements of the second program operable within a second address spaces defined in the memory device of the node, the interpreting of statements performed by operation of the formula-driven programming-environment; providing access to data sources, including the at least one sensor and by action of the formula-driven programming-environment, using addressing information that provides either absolute addressing or relative addressing, assigning variables to put data from the data sources into appropriate data structures; interpreting absolute addresses or relative addresses within statements of the first program based on a first network topology, and interpreting absolute addresses or relative addresses within statements of the second program based on a second network topology, wherein upstream paths from the node, based on the first network topology and the second network topology, are different, and wherein the upstream path based on the first network topology and the upstream path based on the second network topology includes a path to a third party server, a second node, a utility company'"'"'s office, or a remote computing device; limiting statements of the first program to the first address space, and statements of the second program to the second address space; limiting, by operation of the formula-driven programming-environment, message-queuing and message-transmission of the first program and the second program; and communicating at least some the data obtained from the data sources, over a network and by operation of the first program, using the upstream path associated with the first program, and communicating at least some of the data obtained from the data sources, over the network and by operation of the second program, using the upstream path associated with the second program, wherein the communicating further comprises; queuing of sensor data, constants, derived data and/or commands for transmission over the network; and transmitting the queued data transparently by operation of the formula-driven programming environment; wherein the one or more managing components of the formula-driven programming-environment are further operational for; providing a context, indicating a type of address to be used for network communications based at least in part on the first network topology or the second network topology; performing low-level coding and addressing as required for message queuing; configuring addressing syntax according to one or more formats; coordinating with at least one remote operating program to utilize one or more formulas, events, variables, functions, and/or statement blocks in at least the first program or the second program; identifying a relationship of the second node to the node; and obtaining data from the second node using the relationship. - View Dependent Claims (14, 15, 16, 17)
-
Specification