IP Library Granted Patent US 9,413,856
Granted Patent B2
US 9,413,856 · App. 14/990,683 · Granted Aug 9, 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,413,856
App. No.
14/990,683
Granted
Aug 9, 2016
Kind
B2
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:

determining, by a client computer system, a set of time offsets according to an offset between a system time associated with the client computer system 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 into a concatenated string of time zone offsets;

computing a representative value from the concatenated string of time offsets;

using the representative value as a key to look up, in a table comprising mappings of key values to time zone identifiers, a time zone identifier associated with the client computer system and

communicating time zone information based on the time zone identifier associated with the client computer system in connection with a web-based application or service for which the client computer system and a server communicate.

2. The method of claim 1 , wherein the key values mapped to the time zone identifiers in the table comprise, as keys, representative values computed using a set of time offsets for corresponding time zones.

3. The method of claim 1 , further comprising receiving, at the client computer system, the table from the server, wherein the key values mapped to the time zone identifiers in the table comprise, as keys, representative values computed using a set of time offsets for corresponding time zones.

4. 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.

5. The method of claim 4 , further comprising computing, by the server, a representative value for each of the sets of time offsets, wherein the representative value corresponds to a hash value.

6. The method of claim 5 , further comprising storing, by the server, for each of the time zones associated with the server, the corresponding representative value and associated identifiers respectively corresponding to the time zones.

7. 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 representative value, and to use the representative value as a key to look up, in the table, the time zone identifier associated with the client computer system.

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

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

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

11. 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.

12. The method of claim 11 , 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.

13. The method of claim 11 , 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.

14. 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.

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

16. The method of claim 1 , wherein the representative value corresponds to a hash value.

17. A client computer system, comprising: one or more processors configured to:

determine, by the client computer system, a set of time offsets according to an offset between a system time and a reference time for 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 into a concatenated string of time zone offsets;

compute a representative value from the concatenated string of time offsets; and use the representative value as a key to look up, in a table comprising mappings of key values to time zone identifiers, a time zone identifier associated with the client computer system; and

communicating time zone information based on the time zone identifier associated with the client computer system in connection with a web-based application or service for which the client computer system and a server communicate; and

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

18. The computer system of claim 17 , wherein the key values mapped to the time zone identifiers in the table comprise, as keys, representative values computed using a set of time offsets for corresponding time zones.

19. The computer system of claim 17 , wherein the one or more processors are further configured to receive the table from the server, wherein the key values mapped to the time zone identifiers in the table comprise, as keys, representative values computed using a set of time offsets for corresponding time zones.

20. The client computer system of claim 17 , 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.

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

determining, by a client computer system, a set of time offsets according to an offset between a system time associated with the client computer system 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 into a concatenated string of time zone offsets;

computing a representative value from the concatenated string of time offsets;

using the representative value as a key to look up, in a table comprising mappings of key values to time zone identifiers, a time zone identifier associated with the client computer system and

communicating time zone information based on the time zone identifier associated with the client computer system in connection with a web-based application or service for which the client computer system and a server communicate.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040206/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: 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2016
From: HJORTSHOJ, JULIAN M.
To: EMC CORPORATION
Reel/Frame 037434/0637 →