Universal device identifier for globally identifying and binding disparate device identifiers to the same mobile device
First Claim
1. A computer implemented method for identifying a client device, comprising:
- receiving via the client device, a first service-dependent identifier (SDID) that identifies a first service utilized by the client device;
accessing in a database, a first SDID record from a set of records that are associated with the client device, wherein the set of records comprises a plurality of SDID records and at least one universal device identifier (UDID) record, and wherein each record of the set of records includes a different ordering of a same pre-selected set of fields for storing a set of identifiers associated with the client device;
determining a final UDID using the first SDID;
after determining the final UDID, updating a lowest weighted SDID record of the set of records, with the final UDID, wherein the lowest weighted SDID record is keyed to a pre-defined lowest weighted SDID type;
after updating the lowest weighted SDID record, updating the UDID record with the final UDID; and
after updating the lowest weighted SDID record, updating a highest weighted SDID record of the set of records, with the final UDID, wherein the highest weighted SDID record is keyed to a pre-defined highest weighted SDID type.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention are directed to determining a universal device identifier (UDID) for a client device, based on multiple service-dependent identifiers (SDIDs) used by client applications, websites, or other services to identify the client device, SDID types are prioritized with pre-assigned weights. A received SDID causes a single database read to access all other SDIDs, and any existing UDID(s) associated with the client device. A final UDID is created or selected based on the SDID weights. The database is updated in a sequence that enables self recovery of a prior UDID in case of database error during update. First, any non-selected UDID records are updated with the final UDID. Next, lower weighted SDID records are updated. The final UDID record is updated. The highest weighted SDID record is updated last, to preserve the prior UDID as long as possible in case of update error, which aborts the remaining update.
-
Citations
20 Claims
-
1. A computer implemented method for identifying a client device, comprising:
-
receiving via the client device, a first service-dependent identifier (SDID) that identifies a first service utilized by the client device; accessing in a database, a first SDID record from a set of records that are associated with the client device, wherein the set of records comprises a plurality of SDID records and at least one universal device identifier (UDID) record, and wherein each record of the set of records includes a different ordering of a same pre-selected set of fields for storing a set of identifiers associated with the client device; determining a final UDID using the first SDID; after determining the final UDID, updating a lowest weighted SDID record of the set of records, with the final UDID, wherein the lowest weighted SDID record is keyed to a pre-defined lowest weighted SDID type; after updating the lowest weighted SDID record, updating the UDID record with the final UDID; and after updating the lowest weighted SDID record, updating a highest weighted SDID record of the set of records, with the final UDID, wherein the highest weighted SDID record is keyed to a pre-defined highest weighted SDID type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A network device for identifying a client device, comprising:
-
a processor; a communication interface in communication with the processor and with a network that is in communication with the client device; and a memory in communication with the processor and storing data and instructions that cause the processor to perform a plurality of operations, including; receiving via the client device, a first service-dependent identifier (SDID) that identifies a first service utilized by the client device; accessing in a database, a first SDID record from a set of records that are associated with the client device, wherein the set of records comprises a plurality of SDID records and at least one universal device identifier (UDID) record, and wherein each record of the set of records includes a different ordering of a same pre-selected set of fields for storing a set of identifiers associated with the client device; determining a final UDID using the first SDID; after determining the final UDID, updating a lowest weighted SDID record of the set of records, with the final UDID, wherein the lowest weighted SDID record is keyed to a pre-defined lowest weighted SDID type; after updating the lowest weighted SDID record, updating the UDID record with the final UDID; and after updating the lowest weighted SDID record, updating a highest weighted SDID record of the set of records, with the final UDID, wherein the highest weighted SDID record is keyed to a pre-defined highest weighted SDID type. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system for identifying a client device, comprising:
-
a request handler that performs a plurality of operations, including receiving via the client device, a first service-dependent identifier (SDID) that identifies a first service utilized by the client device; a database in communication with a database handler that performs a plurality of operations, including accessing in a database, a first SDID record from a set of records that are associated with the client device, wherein the set of records comprises a plurality of SDID records and at least one universal device identifier (UDID) record, and wherein each record of the set of records includes a different ordering of a same pre-selected set of fields for storing a set of identifiers associated with the client device; a UDID engine in communication with the request handler and with the database handler, wherein the UDID engine performs a plurality of operations, including determining a final UDID using the first SDID, and subsequently instructing the database handler to; update a lowest weighted SDID record of the set of records, with the final UDID, wherein the lowest weighted SDID record is keyed to a pre-defined lowest weighted SDID type; after updating the lowest weighted SDID record, update the UDID record with the final UDID; and after updating the lowest weighted SDID record, update a highest weighted SDID record of the set of records, with the final UDID, wherein the highest weighted SDID record is keyed to a pre-defined highest weighted SDID type. - View Dependent Claims (20)
-
Specification