Flexible runtime configurable application program interface (API) that is command independent and reusable
First Claim
1. A computer implemented method of routing information between at least one commanding device and at least one commanded device, said method comprising:
- enrolling the at least one commanding device in at least one enrollment table;
enrolling the at least one command device in said at least one enrollment table;
using said at least one enrollment table to route information between an enrolled commanding device and an enrolled commanded device;
wherein said step of enrolling a commanding device comprises;
receiving a first enrollment message from said commanding device;
entering routing information contained in said first enrollment message into said enrollment table; and
determining a service access point from which said first enrollment message was received and entering said service access point in said enrollment table so as to identify the device to which the information is to be routed.
5 Assignments
0 Petitions
Accused Products
Abstract
An application program interface capable of routing commands received from external devices to the appropriate system application that is runtime configurable is disclosed. At runtime, the application program interface receives enrollment signals from external interface packages used to provide communications to the external devices and dynamically updates a first routing table. Additionally, at runtime, the application program interface receives enrollment signals from system application packages used to perform system commands and dynamically updates a second routing table. The routing tables are used to route command request and responses between the external interface and system application packages and thus, provides a communication interface between external devices and system application software. Since the routing tables are configured at runtime, the application program interface can be re-configured without re-compiling the software used to implement it. In addition, since the routing is performed without specific knowledge of the number and content of the command requests and responses, the application program interface provides communications between the external devices and system application software that is command independent.
73 Citations
49 Claims
-
1. A computer implemented method of routing information between at least one commanding device and at least one commanded device, said method comprising:
-
enrolling the at least one commanding device in at least one enrollment table;
enrolling the at least one command device in said at least one enrollment table;
using said at least one enrollment table to route information between an enrolled commanding device and an enrolled commanded device;
wherein said step of enrolling a commanding device comprises;
receiving a first enrollment message from said commanding device;
entering routing information contained in said first enrollment message into said enrollment table; and
determining a service access point from which said first enrollment message was received and entering said service access point in said enrollment table so as to identify the device to which the information is to be routed. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
receiving additional first enrollment messages from other commanding devices that have not been enrolled into said enrollment table; and
entering routing information contained in said additional first enrollment messages into said enrollment table.
-
-
4. The method of claim 3 further comprising the steps of:
-
receiving a second unenrollment message from an enrolled commanding device; and
removing said enrolled commanding device and sending said second enrollment message from said enrollment table.
-
-
5. The method of claim 1 wherein the step of entering routing information contained in said first enrollment message into said enrollment table comprises the steps of:
-
validating said first enrollment message;
extracting an interface name from said validated first enrollment message; and
entering said service access point into said enrollment table in a location corresponding to said interface name.
-
-
6. The method of claim 5 further comprising the step of sending an error message to said commanding device if said first enrollment message is invalid.
-
7. The method of claim 1 wherein the step of enrolling at least one commanded device comprises:
-
receiving a first enrollment message from a commanded device; and
entering routing information of said first enrollment message into said enrollment table.
-
-
8. The method of claim 7 further comprising the steps of:
-
receiving additional first enrollment messages from other commanded devices that have not been enrolled into said enrollment table; and
entering routing information contained in said additional first enrollment messages into said enrollment table.
-
-
9. The method of claim 8 further comprising the steps of:
-
receiving a second unenrollment message from an enrolled commanded device; and
removing said commanded device and sending said second unenrollment message from said enrollment table.
-
-
10. The method of claim 9 further comprising the steps of:
-
receiving another first enrollment message from a commanded device that was removed from said enrollment table; and
entering routing information contained in said additional first enrollment message into said enrollment table.
-
-
11. The method of claim 10 further comprising the step of routing information corresponding to said enrolled commanded device corresponding to said another first enrollment message to said enrolled commanding device.
-
12. The method of claim 7 wherein said commanded device is a software application supporting system commands and said step of entering routing information contained in said first enrollment message into said enrollment table comprises the steps of:
-
determining a service access point from which said first enrollment message was received;
validating said first enrollment message;
extracting a command name from said validated first enrollment message; and
entering said service access point into said enrollment table in a location corresponding to said command name.
-
-
13. The method of claim 12 further comprising the step of sending an error message to said software application if a first enrollment message received from said software application is invalid.
-
14. The method of claim 1 further comprising the step of sending an acknowledgment message to an enrolled commanding device.
-
15. The method of claim 1 further comprising the step of sending an acknowledgment message to an enrolled commanded device.
-
16. The method of claim 1 wherein said at least one enrollment table comprises a first routing table for enrolling said commanding devices and a second routing table for enrolling said commanded devices.
-
2. A method of receiving a predetermined computer code, said method comprising:
-
receiving said predetermined computer code over a communications link and storing said predetermined computer code on a storage device, said predetermined computer code being executable by a processor to perform the functions of;
enrolling at least one commanding device in at least one enrollment table;
enrolling at least one commanded device in said enrollment table; and
using said enrollment table to route information between the controlled commanding device and the enrolled commanded device;
wherein said step of enrolling a commanding device comprises;
receiving a first enrollment message from said commanding device;
entering routing information contained in said first enrollment message into said enrollment table; and
determining a service access point from which said first enrollment message was received and entering said service access point in said enrollment table so as to identify the device to which the information is to be routed.
-
-
17. A computer readable storage medium containing a computer readable code for operating a computer to perform a method of routing information between at least one commanding device and at least one commanded device, said method comprising:
-
enrolling at least one commanding device in at least one enrollment table;
enrolling at least one commanded device in said enrollment table; and
using said enrollment table to route information between the enrolled commanding device and the enrolled commanded device;
wherein said step of enrolling a commanding device comprises;
receiving a first enrollment message from said commanding device;
entering routing information contained in said first enrollment message into said enrollment table; and
determining a service access point from which said first enrollment message was received and entering said service access point in said enrollment table so as to identify the device to which the information is to be routed. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
receiving additional first enrollment messages from other commanding devices that have not been enrolled into said enrollment table; and
entering routing information contained in said additional first enrollment messages into said enrollment table.
-
-
20. The computer readable storage medium of claim 19 wherein said method further comprises the steps of:
-
receiving a second unenrollment message from an enrolled commanding device; and
removing said enrolled commanding device and sending said second unenrollment message from said enrollment table.
-
-
21. The computer readable storage medium of claim 17 wherein the method step of entering routing information contained in said first enrollment message into said enrollment table comprises the steps of:
-
determining a service access point from which said first enrollment message was received;
validating said first enrollment message;
extracting an interface name from said validated first enrollment message; and
entering said service access point into said enrollment table in a location corresponding to said interface name.
-
-
22. The computer readable storage medium of claim 21 wherein said method further comprises the step of sending an error message to a commanded device if said first enrollment message is invalid.
-
23. The computer readable storage medium of claim 17 wherein said method step of enrolling at least one commanded device comprises:
-
receiving a first enrollment message from a commanded device; and
entering routing information contained in said first enrollment message into said enrollment table.
-
-
24. The computer readable storage medium of claim 23 wherein said method further comprises the steps:
-
receiving additional first enrollment messages from other commanded devices that have not been enrolled into said enrollment table; and
entering routing information contained in said additional first enrollment messages into said enrollment table.
-
-
25. The computer readable storage medium of claim 24 wherein said method further comprises the steps of:
-
receiving a second unenrollment message from an enrolled commanded device; and
removing said enrolled commanded device and sending said second unenrollment message from said enrollment table.
-
-
26. The computer readable storage medium of claim 25 wherein said method further comprises the steps of:
-
receiving another first enrollment message from said commanded device that was removed from said enrollment table; and
entering routing information contained in said additional first enrollment message into said enrollment table.
-
-
27. The computer readable storage medium of claim 26 wherein said method further comprises the step of routing information corresponding to said enrolled commanded device corresponding to said another first enrollment message to said enrolled commanding device.
-
28. The computer readable storage medium of claim 23 wherein said commanded device is a software application supporting system commands and said method step of entering routing information contained in said first enrollment message into said enrollment table comprises the steps of:
-
determining a service access point from which said first enrollment message was received;
validating said first enrollment message;
extracting a command name from said validated first enrollment message; and
entering said service access point into said enrollment table in a location corresponding to said command name.
-
-
29. The computer readable storage medium of claim 28 wherein said method further comprises the step of sending an error message to said software application if a first enrollment message received from said software application is invalid.
-
30. The computer readable storage medium of claim 17 wherein said method further comprises the step of sending an acknowledgement message to an enrolled commanding device.
-
31. The computer readable storage medium of claim 17 wherein said method further comprises the step of sending an acknowledgement message to an enrolled commanded device.
-
32. The computer readable storage medium of claim 17 wherein said at least one enrollment table comprises a first routing table for enrolling said commanding devices and a second routing table for enrolling said commanded devices.
-
18. A command router, comprising:
-
a plurality of external interface packages, each connected to said command router;
a plurality of system application packages, each also connected to said command router;
a plurality of service access points for identifying where a designated network service can be obtained;
a service access point interface for coordinating the communication between said external interface packages, system application packages, and said command router;
a first routing table for correlating external interface packages with a specific service access point; and
a second routing table for correlating system application packages with a specific service access point;
wherein said first and second routing tables are dynamically built at runtime. - View Dependent Claims (34)
said external interface packages and system application packages communicate by command request messages, wherein each messages contains a header portion and a data portion;
said header portion further comprising a command name and access ID;
said data portion further comprising command specific parameters required by the system application packages to execute said command; and
said command router being command independent.
-
-
33. A processor based system routing information between at least one commanding device and at least one commanded device, said processor based system comprising:
-
a programmed processor, said programmed processor;
enrolling at least one commanding device in an at least one enrollment table;
enrolling at least one commanded device in said enrollment table; and
using said enrollment table to route information between the enrolled commanding device and the enrolled commanded device;
wherein said step of enrolling a commanding device comprises;
receiving a first enrollment message from said commanding device;
entering routing information contained in said first enrollment message into said enrollment table; and
determining a service access point from which said first enrollment message was received and entering said service access point in said enrollment table so as to identify the device to which the information is to be routed. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
receives additional first enrollment messages from other commanding devices that have not been enrolled into said enrollment table; and
enters routing information contained in said additional first messages into said enrollment table.
-
-
36. The system of claim 35 wherein said processor:
-
receives a second unenrollment message from an enrolled commanding device; and
removes said enrolled commanding device and sending said second unenrollment message from said enrollment table.
-
-
37. The system of claim 33 wherein said commanding device is an interface external to said processor and said processor enters routing information contained in said first enrollment message into said enrollment table by performing the steps of:
-
determining a service access point from which said first enrollment message was received from;
validating said first enrollment message;
extracting an interface name from said validated first enrollment message; and
entering said service access point into said enrollment table in a location corresponding to said interface name.
-
-
38. The system of claim 37 wherein said processor sends an error message to a commanding device if said first enrollment message is invalid.
-
39. The system of claim 33 wherein said processor enrolls at least one commanded device by performing the steps of:
-
receiving a first enrollment message from one of said at least commanded device; and
entering routing information contained in said first enrollment message into said enrollment table.
-
-
40. The system of claim 39 wherein said processor:
-
receives additional first enrollment messages from other commanded devices that have not been enrolled into said enrollment table; and
enters routing information contained in said additional first enrollment messages into said enrollment table.
-
-
41. The system of claim 40 wherein said processor:
-
receives a second unenrollment message from an enrolled commanded device; and
removes said enrolled commanded device sending said second unenrollment message from said enrollment table.
-
-
42. The system of claim 41 wherein said processor:
-
receives another first enrollment message from said commanded device that was removed from said enrollment table; and
enters routing information contained in said additional first enrollment message into said enrollment table.
-
-
43. The system of claim 42 wherein said processor routes information corresponding to said enrolled commanded device corresponding to said another first enrollment message to said enrolled commanding device.
-
44. The system of claim 39 wherein said commanded device is a software application supporting system commands and said processor enters routing information contained in said first enrollment message into said enrollment table by performing the steps of:
-
determining a service access point from which said first enrollment message was received;
validating said first enrollment message;
extracting a command name from said validated first enrollment message; and
entering said service access point into said enrollment table in a location corresponding to said command name.
-
-
45. The system of claim 44 wherein said processor sends an error message to said software application if a first enrollment message received from said software application is invalid.
-
46. The system of claim 33 wherein said processor sends an acknowledgment message to an enrolled commanding device.
-
47. The system of claim 33 wherein said processor sends an acknowledgment message to an enrolled commanded device.
-
48. The system of claim 33 wherein said at least one enrollment table comprises a first routing table for enrolling said commanding devices and a second routing table for enrolling said commanded devices.
-
49. A method of transmitting a predetermined computer code, said method comprising:
-
storing said predetermined computer code on a storage device and transmitting said predetermined code from said storage device over a communications link, said predetermined computer code being executable by a processor to perform the functions of;
enrolling at least one commanding device in at least one enrollment table;
enrolling at least one commanded device in said enrollment table; and
using said enrollment table to route information between the enrolled commanding device and the controlled commanded device;
wherein said step of enrolling a commanding device comprises;
receiving a first enrollment message from said commanding device;
entering routing information contained in said first enrollment message into said enrollment table; and
determining a service access point from which said first enrollment message was received and entering said service access point in said enrollment table so as to identify the device to which the information is to be routed.
-
Specification