Universal protocol for enabling a device to discover and utilize the services of another device
First Claim
1. A method of communicating between a client device and a server device over a communications link, the method comprising the steps of:
- under control of a client device, initiating establishment of a link layer connection between the client device and a specified server device;
under control of the server device, establishing a data connection with the client device over the link layer connection by transmitting a tag line message to the client device that identifies a specified data protocol with which the server device is capable of communicating, the established data connection based on the specified data protocol; and
subsequent to the establishment of the data connection, transmitting a service-command from the client device to the server device over the data connection, the service-command identifying a particular service to be performed by the server device; and
in response to receiving the service-command at the server device, initiating the requested service and transmitting a status-response to the client device over the data connection.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for enabling any of a variety of devices to communicate with each other over a common or universal protocol. In general, a client device and a server device communicate with each other over a communications link utilizes the common protocol. Initially, once a communications link is established, the server device identifies itself to the client device by sending a tag line message over the communications link. Upon receiving the tag line message, the client then determines that the server is capable of using the common protocol. The client device may then initiate several requests including a service request, a type request or a use request. If the client device initiates a service request, the client simple uses the common protocol to request the service. In response to receiving the service request, the server device performs the requested service and provides a confirmation to the client device. If the client device initiates a type request, the service device will respond by providing information regarding the services the server device provides and the device types supported by the server device. If the client device initiates a use request for a particular service, the server device will provide information to the client device that describes the necessary parameters for invoking the particular service.
140 Citations
22 Claims
-
1. A method of communicating between a client device and a server device over a communications link, the method comprising the steps of:
-
under control of a client device, initiating establishment of a link layer connection between the client device and a specified server device;
under control of the server device, establishing a data connection with the client device over the link layer connection by transmitting a tag line message to the client device that identifies a specified data protocol with which the server device is capable of communicating, the established data connection based on the specified data protocol; and
subsequent to the establishment of the data connection, transmitting a service-command from the client device to the server device over the data connection, the service-command identifying a particular service to be performed by the server device; and
in response to receiving the service-command at the server device, initiating the requested service and transmitting a status-response to the client device over the data connection. - View Dependent Claims (2, 3, 4, 5)
transmitting a type-command from the client device to the server device over the data connection, the type-command requesting the server device to provide service information identifying a set of services offered by the server device; and
in response to the type-command, transmitting the service information from the server device to the client device.
-
-
4. The method of claim 3 wherein the transmitting of the service information further comprises transmitting a plurality of device types supported by the server device.
-
5. The method of claim 1 further comprising, prior to the transmitting of the service-command, the steps of:
-
transmitting a use-command from the client device to the server device over the data connection, the use-command requesting the server device to provide use information describing how to invoke one of a set of services offered by the server device; and
in response to the use-command, transmitting the use information from the server device to the client device.
-
-
6. A device that is capable of communicating over a communications link with a plurality of server devices of a plurality of device types, the device comprising:
-
a communications link interface; and
a processing unit, the processing unit being operable to send and receive data over the communications link and being operable to, for each of the plurality of server devices;
establish a communicative connection between the device and the server device;
obtain service information over the communicative connection that identifies a set of services offered by the server device, wherein the obtaining of the service information by the device includes receiving a response to a type-command that was sent to the server device by the device; and
invoke one of the set of services offered by the server device. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method by which a common data protocol is used to enable a first device of a first device type to communicate with a second device of a second device type over a first communications link, to enable the second device to communicate with a third device of a third device type over a second communications link, and to enable the third device to communicate with the first device over a third communications link, the first device and the second device together forming a first device pair, the second device and the third device together forming a second device pair, and the third device and the first device together forming a third device pair, wherein one of the devices in each of the first, second and third device pairs is a client device and the other of the devices in each of the first, second and third device pairs is a server device, the device pairs such that at least one of the devices is a client device in one device pair and is a server device in another device pair, the method comprising the steps of, for each device pair:
-
establishing a connection between the client device of the device pair and the server device of the device pair using a link protocol;
using the link protocol to establish communication between the client device and the server device using the common data protocol;
transmitting a type-command from the client device to the service device using the common data protocol, the type-command requesting the service device to provide service information identifying services offered by the server device; and
in response to the type-command, transmitting the service information from the server device to the client device. - View Dependent Claims (12, 13)
transmitting a use-command from the client device of the device pair to the server device of the device pair using the common data protocol, the use-command requesting the server device to provide use information describing use of one of the services offered by the server device; and
in response to the use-command, transmitting the use information from the server device to the client device.
-
-
13. The method of claim 11, further comprising the steps of:
-
transmitting a service-command from the client device of the device pair to the server device of the device pair using the common data protocol, the service-command identifying a particular service to be performed by the server device; and
in response to the service-command, initiating the requested service and transmitting a status-message to the client.
-
-
14. A method for enabling a client device to communicate with a server device over a communications link, the method comprising the steps of:
-
establishing a communicative connection with the server device;
subsequent to establishing the communicative connection, transmitting a type-command to the server device, the type-command requesting the server device to provide service information defining a set of services offered by the server device;
receiving the service information; and
subsequent to receiving the service information, transmitting a service-command to the server device, the service-command identifying a particular service to be performed by the server device. - View Dependent Claims (15)
subsequent to establishing the communicative connection, transmitting a use-command to the server device, the use-command requesting the server device to provide use information defining the requirements for invoking one of a set of services offered by the server device; and
receiving the use information.
-
-
16. A method for enabling a server device to communicate with a client device over a communications link, the method comprising the steps of:
-
establishing a communications link with the client device;
receiving a type-command from the client device, the type-command requesting the server device to provide service information defining a set of services offered by the server device;
in response to receiving the type-command from the client device, transmitting the service information to the client device;
receiving a service-command identifying a particular service to be performed by the server device; and
initiating the requested service. - View Dependent Claims (17)
receiving a use-command from the client device, the use-command requesting the server device to provide use information defining the requirements for invoking one of a set of services offered by the server device; and
in response to receiving the use-command from the client device, transmitting the use information to the client device.
-
-
18. A device that is capable of communicating over a communications link with a plurality of server devices of a plurality of device types, the device comprising:
-
a communications link interface; and
a processing unit, the processing unit being operable to send and receive data over the communications link, being operative to obtain supported device information over the communications link that identifies at least one type of device that is supported by the server device, and being operable to, for each of the plurality of server devices;
establish a communicative connection between the device and the server device;
obtain service information over the communicative connection that identifies a set of services offered by the server device, wherein the obtaining of the supported device information by the device includes receiving a response to a type-command that was sent to the server device by the device; and
invoke one of the set of services offered by the server device.
-
-
19. A device that is capable of communicating over a communications link with a plurality of server devices of a plurality of device types, the device comprising:
-
a communications link interface; and
a processing unit, the processing unit being operable to send and receive data over the communications link, being operative to obtain use information over the communicative connection that identifies how to invoke a particular service of the set of services offered by the particular server device, and being operable to, for each of the plurality of server devices;
establish a communicative connection between the device and the server device;
obtain service information over the communicative connection that identifies a set of services offered by the server device, wherein the obtaining of the use information by the device includes receiving a response to a use-command that was sent to the server device by the device; and
invoke one of the set of services offered by the server device.
-
-
20. A method for enabling a client device to communicate with a server device over a communications link, the method comprising the steps of:
-
establishing a communicative connection with the server device;
after establishing the communicative connection, transmitting to the server device a use-command requesting the server device to provide use information that describes how to invoke a specified one of multiple services offered by the server device;
receiving the use information; and
after receiving the use information, transmitting a service-command to the server device requesting the server device to invoke the specified service, the service-command specified in a manner based on a description included in the received use information. - View Dependent Claims (21, 22)
-
Specification