US2005267935A1PendingUtilityA1

Data driven remote device control model with general programming interface-to-network messaging adaptor

48
Assignee: MICROSOFT CORPPriority: Jun 11, 1999Filed: Jun 23, 2005Published: Dec 1, 2005
Est. expiryJun 11, 2019(expired)· nominal 20-yr term from priority
H04L 61/5014H04L 12/281H04L 2101/365H04L 67/00H04L 67/51H04L 61/30H04L 61/5092H04L 9/40H04L 12/4633H04L 69/329H04L 12/282H04L 67/025H04L 67/14H04L 2012/2849H04L 67/125H04L 67/02H04L 47/2408
48
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 . (canceled)  
     
     
         2 . (canceled)  
     
     
         3 . A computing device providing a user control point with connectivity to at least one controlled device via a networking medium, the computing device comprising: 
 memory having stored thereon a controlled device description artifact having a service control definition and a contract for configuring communications involved with at least one service provided by the at least one controlled device, wherein the contract comprises one or more of a definition of network packets, request-response patterns and specification of an endpoint to which the communications comprising networking messages are sent;    a general programming interface-to-network messaging adapter operable as follows: 
 based on the service control definition in the controlled device description artifact, to dynamically produce a service specific programming interface to application programs running on the computing device,  
 to convert calls from the application programs to the service specific programming interface into the networking messages to the controlled device according to the contract specified in the controlled device description artifact; and  
 to issue the networking messages via the networking medium to the controlled device to invoke service specific operations of the at least one service.  
   
     
     
         4 . The device of  claim 3 , wherein the networking messages are in a mark-up language and exchanged via a hypertext transport protocol.  
     
     
         5 . The device of  claim 3 , wherein the programmatic interface is an object integration interface of an object-oriented programming model.  
     
     
         6 . The device of  claim 3 , wherein the service-specific operations include invoking commands of the at least one service.  
     
     
         7 . The device of  claim 6 , wherein invoking commands of the at least one service comprises calling an invoke method member of the service specific programming interface operable for accepting a string argument specifying a service action associated with the at least one service.  
     
     
         8 . The device of  claim 3 , wherein the service-specific operations include querying a state of the at least one service.  
     
     
         9 . The device of  claim 3 , wherein the service-specific operations include receiving and responding to events of the at least one service.  
     
     
         10 . A method for a client program on a first computing device to programmatically control a service of a logical device realized on a remote computing device on a data communications network via peer-to-peer networking connectivity from the first computing device on the data communications network, the method comprising: 
 obtaining a device description module having a textual description of the logical device service via peer-to-peer networking from the remote computing device, the device description module defining the logical device service in text and a contract also in text for an exchange of data messages via peer-to-peer networking connectivity with the remote computing device for controlling the logical device service on the remote computing device;    based on the textual description of the logical device service in the device description module, dynamically generating code of a programmatic interface for invocation by the client program to initiate service-specific operations for remote control of the logical device service; and    on invocation of method members of the generated programmatic interface by the client program, converting the client program's programmatic interface invocation into the exchange of data messages via peer-to-peer networking connectivity in accordance with the contract defined in the device description entity for effecting control of the logical device service.    
     
     
         11 . The method of  claim 10 , wherein the contract defined in the device description module for effecting control of the logical device service specifies a type of protocol for the exchange of data messages and a network endpoint to which the data messages are sent.  
     
     
         12 . The method of  claim 10 , wherein the data messages are in a mark-up language and exchanged via a hypertext transport protocol.  
     
     
         13 . The method of  claim 10 , wherein the generated programmatic interface comprises a invoke method member operable for accepting at least one string argument specifying a command of the service associated with the logical device.  
     
     
         14 . The method of  claim 10 , wherein the programmatic interface is an object integration interface of an object-oriented programming model.  
     
     
         15 . The method of  claim 10 , wherein the service-specific operations include invoking commands of the service, querying a state of the service, and receiving and responding to events of the service.  
     
     
         16 . The method of  claim 10 , wherein the service has a set of properties defining a state of the service, and the service-specific operations include querying and setting values of the set of properties.  
     
     
         17 . A method for a client program on a first computing device to programmatically control a service of a logical device realized on a remote computing device over a data communications network via peer-to-peer networking connectivity from the first computing device on the data communications network, the method comprising: 
 obtaining device description data via peer-to-peer networking from the remote computing device, the device description data comprising a service-specific service control definition and a service-specific contract for an exchange of data messages via peer-to-peer networking connectivity with the remote computing device for controlling the logical device service on the remote computing device;    based on the service-specific service control definition in the device description data, dynamically producing an instance of a programmatic interface for invocation by the client program to initiate service-specific operations for remote control of the logical device service, the programmatic interface comprising an invoke method member operable for accepting a string argument specifying a service action associated with the logical device service; and    upon a calling of the invoke method member of the programmatic interface by the client program, translating the invoke method call from the client program into the exchange of data messages via peer-to-peer networking connectivity in accordance with the contract defined in the description document for effecting control of the logical device service.    
     
     
         18 . The method of  claim 17 , wherein the contract defined in the device description data for effecting control of the logical device service comprises a definition of network packets, request-response patterns and a specification of an endpoint to which the data messages are sent.  
     
     
         19 . The method of  claim 17 , wherein the service-specific operations include invoking commands of the logical device service, querying a state of the logical device service, and receiving and responding to events of the logical device service.  
     
     
         20 . The method of  claim 17 , wherein the data messages are in a mark-up language and exchanged via a hypertext transport protocol.  
     
     
         21 . The method of  claim 17 , wherein the service-specific service control definition is in text and the programmatic interface is produced by executing code generated based at least in part on the service-specific service control definition.  
     
     
         22 . The method of  claim 17 , wherein the programmatic interface is an object integration interface of an object-oriented programming model.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.