Data driven remote device control model with general programming interface-to-network messaging adapter
First Claim
1. A method of programmatically controlling a service of a logical device realized on a first computer from software programs running on a second computer, the method comprising:
- from the first computer, obtaining at the second computer a service description message related to the service, the service description message detailing a service state table including at least one property associated with the service and a set of actions that can be invoked on the service via network data messages conveyed to the first computer via peer-to-peer networking connectivity over a data communications network connecting the first and the second computer, the set of actions comprising at least one action previously not available for invocation by the software programs running on the second computer;
based on the service description message, creating a service object corresponding to the service, the service object exposing a programming interface to access by software programs running on the second computer, the programming interface comprising an action-invoking member for invoking the set of actions listed in the service description including the at least one action previously not available for invocation by the software programs running on the second computer;
based on the service description message, converting a programmatic invocation of the action-invoking member of the programming interface by a software program running on the second computer into a network data message for invoking one or more of the set of actions of the service via peer-to-peer networking connectivity over the data communications network; and
transmitting the network data message to the first computer to thereby invoke the one or more of the set of actions of the service.
8 Assignments
0 Petitions
Accused Products
Abstract
A general programmatic interface-to-network messaging adapter exposes a suitable object integration interface or application programming interface to applications on a controller device and sends network data messages to invoke services or query status of a controlled device. The adapter maps application calls to the interface into network data messages according to service protocols of the controlled device. The general adapter provides the interface suitable to any specific service of a controlled device based on a data description of the interface, and converts the application calls to network data messages based on a data description of a protocol and format for network data messages to interact with the specific service. Once the interface/messaging description is obtained, applications on the controller device can programmatically interact with the adapter, and the adapter then handles appropriate message exchanges with the service of the controlled device. The general adapter allows controller device applications to be written using object-oriented programming, while avoiding code download.
782 Citations
21 Claims
-
1. A method of programmatically controlling a service of a logical device realized on a first computer from software programs running on a second computer, the method comprising:
-
from the first computer, obtaining at the second computer a service description message related to the service, the service description message detailing a service state table including at least one property associated with the service and a set of actions that can be invoked on the service via network data messages conveyed to the first computer via peer-to-peer networking connectivity over a data communications network connecting the first and the second computer, the set of actions comprising at least one action previously not available for invocation by the software programs running on the second computer; based on the service description message, creating a service object corresponding to the service, the service object exposing a programming interface to access by software programs running on the second computer, the programming interface comprising an action-invoking member for invoking the set of actions listed in the service description including the at least one action previously not available for invocation by the software programs running on the second computer; based on the service description message, converting a programmatic invocation of the action-invoking member of the programming interface by a software program running on the second computer into a network data message for invoking one or more of the set of actions of the service via peer-to-peer networking connectivity over the data communications network; and transmitting the network data message to the first computer to thereby invoke the one or more of the set of actions of the service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a networking environment providing peer-to-peer connectivity between logical devices on separate computing machines on a data communications network in accordance with a control protocol, a user-operated control device comprising:
-
a rehydrating module operable for; receiving the control protocol defining an exchange between a control point and a controlled logical device service in which the controlled logical device service furnishes the control protocol to the control point in a service description message, the service description message specifying a set of actions invocable on the controlled logical device service, the set of actions comprising at least one action previously not available for invocation by the control point; and the rehydrating module further operable for creating a service object for exposing an application programming interface based on the service description message for invoking set of actions specified in the service description message including the at least one action previously not available for invocation by the control point; the application programming interface exposed by the rehydrating module to access from application software running on the user-operated control device, the application programming interface having an invoke action member operable for invoking the set of actions specified in the service description message including the at least one action previously not available for invocation by the control point; invoke action member-implementing code of the rehydrating module operating responsive to an invocation of the invoke action member to generate a peer networking data message to cause the controlled logical device service to perform a respective action of the controlled logical device service; and converting code of the rehydrating module operating to construct the peer networking data message based on the control protocol obtained via the service description message. - View Dependent Claims (9, 10, 11)
-
-
12. A computer-readable data storage medium having software program code carried thereon, the software program code comprising:
-
a programmatic peer networking device service control module providing programmatic control of logical device services on a computing device by application software running on a different computing device on a data communications network via a peer-to-peer networking connectivity service control protocol; an application programming interface for access by the application software, the application programming interface exposed by a service object created based on a service description message comprising a set of actions invocable on the logical device services, the service object created by the programmatic peer networking device service control module, the application programming interface being a run-time dispatch interface having an invoke service action method member, the invoke service action method member accepting an action identifier, ingoing action arguments, outgoing action arguments, and action return value as parameters upon invocation by the application software, wherein the action identifiers, the ingoing action arguments, the outgoing action arguments and the action return values correspond to those of the set of actions specified in the service description message and are specified therein, the set of actions including at least one action not available for invocation by application software previous to the creation of the service object; and invoke service action method member-implementing code of the programmatic peer networking device service control module operating responsive to an invocation of the invoke service action method member on the application programming interface by the application software to exchange data messages with a logical device service of a separate computing device on the data communications network in accordance with the peer-to-peer networking connectivity service control protocol so as to invoke an action of the logical device service including the at least one action not available for invocation by application software previous to the creation of the service object as per the parameters of the invoke service action method member and pass outgoing action arguments and action return value from the logical device service back to the application software. - View Dependent Claims (13, 14, 15)
-
-
16. A software module carried on a computer-executable software storage medium, the software module operable for:
providing programmatic control of a logical device running on a computing device by an application software on a different computing device over a data communications network by exposing a programming interface for providing programmatic logical device service control via peer networking connectivity, the programming interface comprising; an invoke action method member having parameters for passing an action identifier, action arguments and action return value; wherein an implementation of the invoke action method member in the software module converts an invocation of the invoke action method member into an exchange of text messages with the logical device via peer networking connectivity based on a service description obtained from the logical device to control a service of the logical device; and a logical device state call back method member having parameters for passing a reference to a call back interface for reporting change of the logical device'"'"'s state to other registered devices on the network. - View Dependent Claims (17, 18, 19, 20, 21)
Specification