Universal protocol for enabling a device to discover and utilize the services of another device
First Claim
1. 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 for the specified service from the server device, the use information including a description of one or more parameters that can be used when invoking the specified service; 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 the description included in the received use information and so as to include a specified value for each of one or more of the described parameters, the included values for those described parameters for use by the server device with the invoking of the specified service.
1 Assignment
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.
78 Citations
47 Claims
-
1. 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 for the specified service from the server device, the use information including a description of one or more parameters that can be used when invoking the specified service; 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 the description included in the received use information and so as to include a specified value for each of one or more of the described parameters, the included values for those described parameters for use by the server device with the invoking of the specified service. - View Dependent Claims (2, 3, 4)
-
-
5. A method for enabling a client device and a server device to communicate over a communications link, the method comprising:
-
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 first data protocol with which the server device is capable of communicating, the established data connection based on the first 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;
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;
determining that the client and server devices each have an ability to communicate using a second data protocol that is distinct from the first data protocol, the second data protocol native to the client and server devices;
transmitting a native-command from the client device to the server device over the data connection that indicates to switch to use of the native second data protocol; and
in response to the native-command, terminating the established data connection based on the first data protocol;
establishing a second data connection between the client and server devices over the link layer connection that is based on the native second data protocol; and
exchanging one or more subsequent communications between the client and server devices over the second data connection. - View Dependent Claims (6)
-
-
7. A computer-implemented method for enabling a client and a server to communicate over a communications link, the method comprising:
-
initiating establishment of a link connection between the client and the server;
initiating establishment of a first data connection between the client and the server over the link connection based on a shared ability of the client and the server to use a specified first data protocol, the first data connection based on the first data protocol;
after the establishment of the first data connection, exchanging one or more communications between the client and the server over the first data connection related to providing of services by the server for the client, the exchanged communications using the first data protocol;
determining that the client and the server have a shared ability to use a second native data protocol that is distinct from the first data protocol;
after the exchanging of the one or more communications over the first data connection, initiating a switch from the first data connection to a second data connection between the client and the server over the link connection, the second data connection based on the native data protocol; and
after the switch to the second data connection, exchanging one or more additional communications between the client and the server over the second data connection, the exchanged additional communications using the native data protocol. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-implemented method for enabling a client to communicate with a server in order to learn how to use services, the method comprising, under control of the client:
-
sending to the server a request to provide information identifying how to use one or more of multiple distinct services provided externally to the client;
receiving information in response to the request that identifies how to use at least one of the multiple services;
learning how to use one or more of the at least one services based on the received information, those learned services such that the client lacked an ability to use those services prior to the learning; and
after the learning, using one or more of the learned services in a manner enabled by the learning for those services. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A server computing device configured to enable clients to learn how to use services, comprising:
-
a network interface configured to enable communications with each of multiple remote clients; and
one or more memories containing instructions for configuring the server device to, for each of the multiple clients, send to the client information describing how to use one or more of multiple distinct services available externally to the client, the sent information sufficient to enable the client to learn how to use those one or more services;
receive from the client a request to provide a specified one or more of the multiple services for the client, the request specified in a manner based on the information sent to the client; and
in response to the request, facilitate providing of the specified services to the client. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47)
-
Specification