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 controllable logical devices, wherein computing devices on the network are able to interoperate with the hosted logical devices via the peer networking protocol, the method comprising:
- in a computing device with software installed thereon for a peer networking host having an implementation of the peer networking protocol, providing an application programming interface associated with the peer networking host software for invoking by a software program also installed on the computing device that implements a controllable logical device having a set of device services to obtain peer network protocol hosting of the controllable logical device and the controllable logical device'"'"'s device services from the peer networking host, the controllable logical device otherwise lacking peer networking functionality, the software program of the controllable logical device providing descriptive data of the hosted controllable logical device and the hosted controllable logical device'"'"'s 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 controllable logical device;
serving description requests per the peer networking protocol from the network directed to the hosted controllable logical device within the peer networking host;
serving presentation requests per the peer networking protocol from the network directed to the hosted controllable 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 controllable 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 controllable logical device by the peer networking host to the network in accordance with the peer networking protocol.
1 Assignment
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.
67 Citations
6 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 controllable logical devices, wherein computing devices on the network are able to interoperate with the hosted logical devices via the peer networking protocol, the method comprising:
-
in a computing device with software installed thereon for a peer networking host having an implementation of the peer networking protocol, providing an application programming interface associated with the peer networking host software for invoking by a software program also installed on the computing device that implements a controllable logical device having a set of device services to obtain peer network protocol hosting of the controllable logical device and the controllable logical device'"'"'s device services from the peer networking host, the controllable logical device otherwise lacking peer networking functionality, the software program of the controllable logical device providing descriptive data of the hosted controllable logical device and the hosted controllable logical device'"'"'s 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 controllable logical device; serving description requests per the peer networking protocol from the network directed to the hosted controllable logical device within the peer networking host; serving presentation requests per the peer networking protocol from the network directed to the hosted controllable 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 controllable 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 controllable logical device by the peer networking host to the network in accordance with the peer networking protocol.
-
-
2. A computer-readable storage 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 installed on the computer that operates as a controllable logical device having a set of services on the computer such that computing devices in the network of computing devices interoperate with the controllable logical device through the peer networking protocol, the controllable logical device otherwise lacking peer networking protocol functionality, the program module comprising:
-
a discovery application 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 controllable logical device; a description application 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 controllable logical device; a service control application programming interface for interfacing to the services; 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 controllable logical device so as to invoke the services in accordance with the control messages; a presentation application programming interface for receiving presentation data from the logical device software; and a presentation server module operating to serve presentation responses to presentation requests received in the peer networking protocol at the computer from the network and directed toward the controllable logical device.
-
-
3. 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 controlled logical devices which otherwise lack peer networking functionality executing on the computer via the peer networking host having an application programming interface for invoking by the hosted controlled logical devices to supply description data to the peer networking host, 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 controlled logical devices, the peer networking host thereby exposing services of the hosted controlled logical devices to control from the user control points.
-
-
4. A computer-readable storage 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 controllable 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, the controllable logical devices otherwise lacking peer networking functionality, the peer networking host having an application programming interface for invoking by software of controllable logical devices on the computer to supply description data of the controllable logical devices to the peer networking host; 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 controllable logical devices via an application programming interface. - View Dependent Claims (5, 6)
-
Specification