IP Library Granted Patent US 9,892,172
Granted Patent B2
US 9,892,172 · App. 13/888,118 · Granted Feb 13, 2018

Date and time handling

Inventor: Michael Dwan (San Francisco, CA)
Assignee: DROPBOX, INC.
G06F17/30551
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,892,172
App. No.
13/888,118
Granted
Feb 13, 2018
Kind
B2
Abstract

Embodiments are provided for date and time handling. In some embodiments, a timestamp and a location of creation for a content item is received, a time zone offset is retrieved for the location, the timestamp is converted into a local date and time using the time zone offset, and the local date and time and the time zone offset are used to create a value for a temporal identifier, and the temporal identifier is stored for the content item.

Claims (44)

1. A method for date and time handling, comprising:

receiving a timestamp and a location of creation for a content item;

retrieving a time zone offset for the location;

converting the timestamp into a local date and time using the time zone offset;

creating, using the converted timestamp, a temporal identifier comprising a bit integer comprising bit integer fields, the bit integer fields comprising a year field, a month field, a day field, an hour field, a minute field, a second field, a millisecond field, a day of the week field, an offset field, and a precision field having a value associated with one or more values present in the timestamp, wherein the value of the precision field indicates a precision level of one or more values of the timestamp represented by the bit integer fields;

storing the temporal identifier for the content item;

receiving a query for the content item; and

retrieving the content item identified by the temporal identifier.

2. The method of claim 1 , further comprising storing a sort order value for the content item within the millisecond field of the bit integer.

3. The method for date and time handling of claim 1 , further comprising:

receiving a user defined date and time for the content item overriding the timestamp;

using the user defined date and time to create the temporal identifier;

determining a precision value for the user defined date and time; and

creating the temporal identifier with (i) the user defined date and time and (ii) the precision value.

4. A non-transitory computer readable medium containing instructions that, when executed by at least one processor of a computing device, causes the computing device to:

receive a timestamp and a location of creation for a content item;

retrieve a time zone offset for the location;

convert the timestamp into a local date and time using the time zone offset;

create, using the converted timestamp, a temporal identifier comprising a bit integer comprising bit integer fields, the bit integer fields comprising a year field, a month field, a day field, an hour field, a minute field, a second field, a millisecond field, a day of the week field, an offset field, and a precision field having a value associated with one or more values present in the timestamp, wherein the value of the precision field indicates a prediction level of one or more values of the timestamp represented by the bit integer fields;

store the temporal identifier for the content item;

receive a query for the content item; and

retrieve the content item identified by the temporal identifier.

5. The non-transitory computer readable medium of claim 4 , wherein the instructions when executed by at least one processor of the computing device, further cause the computing device to store a sort order value for the content item in the millisecond field of the bit integer.

6. A system for date and time handling, the system comprising:

one or more processors; and

memory containing instructions that, when executed, cause the one or more processors to:

receive a timestamp and a location of creation for a content item;

retrieve a time zone offset for the location;

convert the timestamp into a local date and time using the time zone offset;

create, using the converted timestamp, a temporal identifier comprising a bit integer comprising bit integer fields, the bit integer fields comprising a year field, a month field, a day field, an hour field, a minute field, a second field, a millisecond field, a day of the week field, an offset field, and a precision field having a value associated with one or more values present in the timestamp, wherein the value of the precision field indicates a precision level of one or more values of the timestamp represented by the bit integer fields;

store the temporal identifier for the content item;

receive a query for the content item; and

retrieve the content item identified by the temporal identifier.

7. The system of claim 6 , wherein the memory further contains instructions that, when executed, cause the one or more processors to store a sort order value for the content item in the millisecond field of the bit integer.

8. The system of claim 6 , the memory containing instructions that, when executed, cause the one or more processors to:

receive a user-defined date and time for the content item, the user-defined date and time overriding the timestamp;

use the user-defined date and time to create the temporal identifier;

determine the precision value for the user-defined date and time; and

create the temporal identifier with the user defined-date and time and the precision value.

9. The system of claim 6 , wherein the precision value indicates an absence of information for at least one of a year, a month, a day, an hour, a minute, a second, or a millisecond.

10. The system of claim 6 , wherein the bit integer comprises 64-bit integer, and wherein each of the year, month, day, hour, minute, second, millisecond, day of week, and offset fields comprises a plurality of bits of the 64-bit integer.

11. The method of claim 1 , wherein the value of the precision field indicates an absence of information for at least one of the year, month, day, hour, minute, second, or millisecond of the bit integer.

12. The non-transitory computer readable medium of claim 4 , wherein creating the temporal identifier comprises creating a 64-bit integer comprising multiple bits for each of the year, month, day, hour, minute, second, millisecond, day of the week, and offset fields.

13. The method of claim 1 , further comprising sorting, using the created temporal identifier, the content item relative to one or more additional content items.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069600/0149 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
SECURITY INTEREST Recorded Mar 24, 2014
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032510/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2013
From: DWAN, MICHAEL
To: DROPBOX, INC.
Reel/Frame 031098/0754 →
Continuity (2)
Provisional Application 61801318 · Mar 15, 2013
Related Publication 20140280200A1 · Sep 18, 2014