Peer networking host framework and hosting API
First Claim
1. In a network of computing devices interoperating via a peer networking protocol, a method of peer networking protocol hosting for a group of logical devices, the method comprising:
- in a peer networking host having an implementation of the peer networking protocol, providing an application programming interface for a software program that implements a logical device having a set of device services to obtain peer network protocol hosting of the logical device and its device services from the peer networking host, the software program providing descriptive data of the hosted logical device and its device services to the peer networking host via the application programming interface;
serving discovery requests per the peer networking protocol from the network by the peer networking host, where the discovery request seeks discovery inclusive of the hosted logical device;
serving description requests per the peer networking protocol from the network directed to the hosted logical device within the peer networking host;
serving presentation requests per the peer networking protocol from the network directed to the hosted logical device within the peer networking host;
proxying service control requests per the peer networking protocol from the network directed to the device services of the hosted logical device within the peer networking host, wherein the peer networking host invokes the respective device service responsive to a particular service control request; and
communicating events sourced from the hosted logical device by the peer networking host to the network in accordance with the peer networking protocol.
3 Assignments
0 Petitions
Accused Products
Abstract
A device hosting framework provides hosting for software-implemented logical devices (including peripheral devices bridges) on a computer to expose their services as controlled devices per a peer networking protocol. The device hosting framework encapsulates discovery, description and control protocol operations of the peer networking protocol, which frees the developers of the hosted devices from having to individually implement the peer networking protocol in the hosted devices'"'"' software and need implement only the core functionality of the hosted device. The device hosting framework operates as a host supporting device interoperability via the peer networking protocol for multiple hosted devices.
-
Citations
26 Claims
-
1. In a network of computing devices interoperating via a peer networking protocol, a method of peer networking protocol hosting for a group of logical devices, the method comprising:
-
in a peer networking host having an implementation of the peer networking protocol, providing an application programming interface for a software program that implements a logical device having a set of device services to obtain peer network protocol hosting of the logical device and its device services from the peer networking host, the software program providing descriptive data of the hosted logical device and its device services to the peer networking host via the application programming interface;
serving discovery requests per the peer networking protocol from the network by the peer networking host, where the discovery request seeks discovery inclusive of the hosted logical device;
serving description requests per the peer networking protocol from the network directed to the hosted logical device within the peer networking host;
serving presentation requests per the peer networking protocol from the network directed to the hosted logical device within the peer networking host;
proxying service control requests per the peer networking protocol from the network directed to the device services of the hosted logical device within the peer networking host, wherein the peer networking host invokes the respective device service responsive to a particular service control request; and
communicating events sourced from the hosted logical device by the peer networking host to the network in accordance with the peer networking protocol. - View Dependent Claims (2, 3, 4)
-
-
5. In a network of computing devices interoperating via a peer networking protocol, a peer networking host system comprising:
-
a programming interface supporting interaction with software for a logical device having a set of device services;
a discovery server operating to respond to discovery requests in the peer networking protocol received at the peer networking host system from computing devices on the network that seek discovery inclusive of the logical device;
a description server operating to respond to requests from computing devices on the network in the peer networking protocol for data descriptive of the logical device; and
a control server operating to proxy service control commands from computing devices on the network in the peer networking protocol by invoking respective of the device services corresponding to the service control commands. - View Dependent Claims (6, 7, 8)
-
-
9. A computer-readable data carrying medium having a link-able program module thereon, the program module executable on a computer in a network of computing devices interoperating via a peer networking protocol to provide hosting of the peer networking protocol for logical device software that operates as a logical device having a set of services on the computer, the program module comprising:
-
a discovery programming interface for receiving device discovery data from the logical device software;
a discovery protocol server module operating to serve discovery responses to discovery requests received in the peer networking protocol at the computer from the network that seek discovery inclusive of the logical device;
a description programming interface for receiving device description data from the logical device software;
a description protocol server module operating to serve description responses to description requests received in the peer networking protocol at the computer from the network and directed toward the logical device;
a service control programming interface for interfacing to the services; and
a service control server module operating responsive to control messages received in the peer networking protocol at the computer from the network that are directed to the services of the logical device so as to invoke the services in accordance with the control messages. - View Dependent Claims (10, 11, 12, 15, 17, 19)
-
-
13. A distributed computing network having at least one computing device, the distributed computing network comprising:
-
a plurality of peer networking computing devices communicating according to a peer networking connectivity model having user control points and controlled devices;
at least some of said peer networking computing devices being programmed to operate as controlled devices exposing at least one operational function to control from others of said peer networking computing devices;
at least some of said peer networking computing devices being programmed to operate as user control points whereat a user interface is presented for interaction by a user to control said controlled devices; and
at least one of said peer networking computing devices being a computer having a peer networking host that implements the peer networking protocol for a plurality of hosted logical devices executing on the computer, the peer networking host serving responses to discovery, description and service control requests from user control points according to the peer networking connectivity model for the hosted logical devices, the peer networking host thereby exposing services of the hosted logical devices to control from the user control points.
-
-
14. A general purpose computer comprising:
-
a processor, data storage, data input/output, and networking hardware resources;
a peer networking host client executing on the computer to provide a logical device having a set of services;
a peer networking hosting application programming interface for access by the peer networking host client to obtain hosting of peer networking operability for the logical device;
a peer networking host accessible via the peer networking hosting application programming interface and operating responsive to said access by the peer networking host client to expose the services of the hosted logical device to peer networking operability with peer devices networked with the computer.
-
-
16. In a computing network, a method of interoperating between peer networking devices using a peer networking service control protocol and a software-provided logical device on a computer, the method comprising:
-
maintaining a registry of logical devices and their services in a peer networking host on the computer;
registering discovery and description data of the software-provided logical device in the registry responsive to an initialization request of said software;
responding by the peer networking host on the computer to discovery and description requests of the peer networking devices directed toward the software-provided logical device in accordance with the peer networking service control protocol based on the discovery and description data registered for the software-provided logical device; and
in response to a service control request from the peer networking devices in the peer networking service control protocol directed to a service of the software-provided logical device, converting the service control request into a service invocation to said software.
-
-
18. A computer-readable data-carrying medium having a software program encoded thereon and executable on a computer in a distributed network of peer computing devices for remotely exposing software-provided logical device services available via an object integration interface to remote control via a service control protocol using peer networking connectivity, the service control protocol defining communications between user control point nodes and controlled device nodes in a distributed network of computing devices permitting control of services of the controlled device nodes from the user control point nodes, the software program comprising:
-
a peer networking host module for exposing the logical device services as controlled device node services to the user control points via the service control protocol; and
an object automation proxy for converting communications in the service control protocol directed towards the exposed controlled device node services into invocations of the logical devices services via the object integration interface.
-
-
20. A computer-readable data-carrying medium having a software program encoded thereon and executable on a computing device in a distributed network of peer computing devices, the software program comprising:
-
a peer networking host for software-implemented logical devices on a computer in the distributed network operating as a discoverable, self-descriptive, peer controlled device according to a peer networking service control protocol defining communications between peer controlling devices and peer controlled devices permitting control of the peer controlled devices by the peer controlling devices on a peer networking basis;
proxy code in the peer networking host operating responsive to control communications from a peer controlling device according to the peer networking device control protocol to invoke services of the software-implemented logical devices. - View Dependent Claims (21, 22, 24, 26)
-
-
23. A computer-readable data-carrying medium having a computer-executable conversion utility software program encoded thereon, the conversion utility software program comprising:
-
code to input a service description in a peer networking protocol;
code to convert the service description into an interface definition per an interface description language; and
code to output the interface definition in a form compilable into a programming object automation interface.
-
-
25. In a computing network, a method of interoperating between peer networking devices using a peer networking service control protocol and a software-provided logical device on a computer, the method comprising:
-
describing a service of the software-provided logical device in a service description according to a service description language of the peer networking service control protocol;
converting the service description into an interface definition in an interface description language;
building a programming object implementing the service;
compiling an interface of the programming object from the interface definition;
in response to a description request in the peer networking service control protocol, serving the service description to a requesting peer networking device; and
in response to a service control request in the peer networking service control protocol from the requesting peer networking device, issuing an invocation to the interface of the programming object to thereby invoke the service of the software-provided logical device.
-
Specification