Method and apparatus for determination of device capabilities on a network
First Claim
1. A method comprising:
- receiving a request from a client device on a network; and
in response to the request, identifying device capabilities of the client device by using information which neither specifies device capabilities nor directly identifies the client device to associate a set of stored device capabilities with the client device.
3 Assignments
0 Petitions
Accused Products
Abstract
The disclosed system determines capabilities of client devices on a network to facilitate responses to requests from the client devices. The system attempts to use information in or associated with a request, such as a session identifier or a header of the request, to search for matching information in a device capabilities database. If found, the system maps the information to a set of stored device capabilities of the client device. If the system is unable to find an exact match for the information, the system attempts to find an approximate match. If an approximate match is found, the system takes the stored device capabilities associated with the stored matching information to be the capabilities of the client device. The new association is then recorded for future use. Any capabilities specified in the request are also added to the set of stored capabilities associated with the client device.
-
Citations
34 Claims
-
1. A method comprising:
-
receiving a request from a client device on a network; and
in response to the request, identifying device capabilities of the client device by using information which neither specifies device capabilities nor directly identifies the client device to associate a set of stored device capabilities with the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of determining device capabilities of a client device on a network, the method comprising:
-
identifying a predetermined header in a request from the client device;
using at least a portion of the header as an attribute identifier of the request;
searching in a database for an identifier that matches the attribute identifier;
if an exact match of the attribute identifier is found in the database, then taking a set of stored device capabilities associated with the attribute identifier to be the device capabilities of the client device;
if no exact match of the attribute identifier is found, then searching in the database for an identifier that approximately matches the attribute identifier; and
if an identifier that approximately matches the attribute identifier is found in the database, then taking a set of stored device capabilities associated with the identifier that approximately matches the attribute identifier to be the device capabilities of the client device, including storing in the database, in association with the attribute identifier, the set of device capabilities associated with the identifier that approximately matches the attribute identifier. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of determining device capabilities of a client device on a network, the method comprising:
-
receiving a request from the client device;
determining whether a session identifier is associated with the request;
if a session identifier is determined to be associated with the request, using the session identifier to look up a set of stored device capabilities associated with the session identifier, and taking the set of stored device capabilities to represent the device capabilities of the client device;
if no session identifier is determined to be associated with the request, then determining whether the request includes a predetermined header;
if the request is determined to include the predetermined header, then using at least a portion of the header as an attribute identifier of the request, searching for an identifier that matches the attribute identifier in a cache and, if not found in the cache, in a primary storage, if an exact match of the attribute is found in either the cache or the primary storage, then taking a set of stored device capabilities associated with the attribute identifier to be the device capabilities of the client device, and if no exact match of the attribute identifier is found in either the cache or the primary storage, then searching for an identifier that approximately matches the attribute identifier in the primary storage;
if an identifier that approximately matches the attribute identifier is found in the primary storage, then taking a set of stored device capabilities associated with the identifier that approximately matches the attribute identifier to be the device capabilities of the client device, including storing in the primary storage and the cache, the set of device capabilities associated with the identifier that approximately matches the attribute identifier, in association with the attribute identifier;
if the request is determined not to include a predetermined header, then;
determining a user identifier associated with the request, determining whether a set of stored device capabilities is associated with the user identifier, and if a set of stored device capabilities is determined to be associated with the user identifier, then taking the set of stored device capabilities associated with the user identifier to be the device capabilities of the client device; and
if no set of stored device capabilities is determined to be associated with the user identifier, then determining the device capabilities of the client device by interrogating a user of the client device. - View Dependent Claims (22)
-
-
23. A system comprising:
-
a request router to receive and route a request from a client device on a network;
a database coupled to the request router and containing device capabilities information for a plurality of devices on the network; and
a device capability manager, coupled to the request router, to;
use information associated with the request as a first request attribute identifier to search for the first request attribute identifier in the database, and if the first request attribute identifier is not found, to identify a stored second request attribute identifier that only partially matches the first request attribute identifier, and associate with the client device a set of stored device capabilities associated with the second request attribute identifier. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A processing system comprising:
-
a processor;
a data communication device to communicate data via a network; and
a storage device storing instructions which, when executed by the processor, cause the processing system to execute a process of determining device capabilities of a client device on the network, the process comprising identifying a predetermined header in a request from the client device, using at least a portion of the header as an attribute identifier of the request, searching in a database for an identifier that matches the attribute identifier, if an exact match of the attribute identifier is found in the database, then taking a set of stored device capabilities associated with the attribute identifier to be the device capabilities of the client device, if no exact match of the attribute identifier is found, then searching in the database for an identifier that approximately matches the attribute identifier, and if an identifier that approximately matches the attribute identifier is found in the database, then taking a set of stored device capabilities associated with the identifier that approximately matches the attribute identifier to be the device capabilities of the client device, including storing in the database, in association with the attribute identifier, the set of device capabilities associated with the identifier that approximately matches the attribute identifier.
-
-
34. An apparatus comprising:
-
means for receiving a request from a client device on a network; and
means for identifying, in response to the request, device capabilities of the client device by using information which neither specifies device capabilities nor directly identifies the client device to associate a set of stored device capabilities with the client device.
-
Specification