IP Library Granted Patent US 9,262,414
Granted Patent B1
US 9,262,414 · App. 13/630,943 · Granted Feb 16, 2016

Detecting time zones using historical date sampling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,262,414
App. No.
13/630,943
Granted
Feb 16, 2016
Kind
B1
Abstract

Detecting time zones using historical date sampling is disclosed. In various embodiments, an offset between a system time and a reference time is determined for each of a plurality of sample points, to produce a resulting set of offsets. A representation of the set of offsets is computed. The representation of the set of offsets is used as a key to look up a time zone associated with the system.

Claims (36)

1. A method of determining a time zone, comprising:

receiving, at a client computer system, a table comprising mappings of key values to time zone identifiers, the table being received from a server, wherein the key values mapped to the time zone identifiers in the table comprise, as keys, hash values computed using a set of time offsets for each of the time zones associated with the server;

determining, by the client computer system, a set of time offsets according to an offset between a system time and a reference time for each of a plurality of sample points, wherein the plurality of sample points comprise different date/time values;

concatenating a plurality of time offsets included in the set of time offsets;

computing a hash value of the concatenated plurality of time offsets;

using the hash value as a key to look up, in the table, a time zone identifier associated with the client computer system; and

communicating, by the client computer system, the time zone identifier associated with the client computer system to the server.

2. The method of claim 1 , further comprising determining at the server a corresponding set of time offsets for each of a plurality of time zones associated with the server.

3. The method of claim 2 , further comprising computing, by the server, a hash value for each of the sets of time offsets.

4. The method of claim 3 , further comprising storing, by the server, for each of the time zones associated with the server, the corresponding hash value and associated identifiers respectively corresponding to the time zone.

5. The method of claim 1 , further comprising downloading to the client computer system JavaScript or other code configured to cause the client computer system to determine the set of time offsets, to concatenate the plurality of time offsets, to compute the hash value, and to use the hash value as a key to look up, in the table received from the server, the time zone identifier associated with the client computer system.

6. The method of claim 1 , further comprising providing the time zone identifier associated with the client computer system to a web or other application.

7. The method of claim 1 , wherein the reference time comprises Coordinate Universal Time (UTC).

8. The method of claim 1 , wherein the plurality of sample points includes four or more date/time values throughout the calendar year.

9. The method of claim 1 , further comprising selecting one or more sample points to be included in the plurality of sample points based at least in part on a point of distinction between a first time zone and a second time zone.

10. The method of claim 9 , wherein the point of distinction relates at least in part to an historical change in a manner in which one or more of the first time zone and the second time zone regulated time within the time zone.

11. The method of claim 9 , wherein the point of distinction relates at least in part to an historical change in a manner in which one or more of the first time zone and the second time zone handled daylight savings time (DST) within the time zone.

12. The method of claim 1 , further comprising caching the table to be used to look up the time zone identifier associated with the client computer system.

13. The method of claim 1 , further comprising storing for future use the looked up time zone identifier associated with the client computer system.

14. A client computer system, comprising:

a processor configured to:

receive, at the client computer system, a table comprising mappings of key values to time zone identifiers, the table being received from a server, wherein the key values mapped to the time zone identifiers in the table comprise, as keys, hash values computed using a set of time offsets for each of the time zones associated with the server;

determine, by the client computer system, a set of time offsets according to an offset between a system time and a reference time for each of a plurality of sample points, wherein the plurality of sample points comprise different date/time values;

concatenate a plurality of time offsets included in the set of time offsets;

compute a hash value of the concatenated plurality of time offsets;

and use the hash value as a key to look up, in the table, a time zone identifier associated with the client computer system; and

communicate, by the client computer system, the time zone identifier associated with the client computer system to the server; and

a memory coupled to the processor and configured to store one or both of the set of time offsets and the hash value corresponding to the set of time offsets.

15. The client computer system of claim 14 , wherein the memory is further configured to store the table to be used to look up the time zone identifier associated with the client computer system.

16. A tangible, non-transitory computer readable storage medium having encoded thereon computer instructions that, when executed by a processor perform the steps of:

receiving, at a client computer system, a table comprising mappings of key values to time zone identifiers, the table being received from a server, wherein the key values mapped to the time zone identifiers in the table comprise, as keys, hash values computed using a set of time offsets for each of the time zones associated with the server;

determining, by the client computer system, a set of time offsets according to an offset between a system time and a reference time for each of a plurality of sample points, wherein the plurality of sample points comprise different date/time values;

concatenating a plurality of time offsets included in the set of time offsets;

computing a hash value of the concatenated plurality of time offsets;

using the hash value as a key to look up, in the table, a time zone identifier associated with the client computer system; and

communicating, by the client computer system, the time zone identifier associated with the client computer system to the server.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →