IP Library Granted Patent US 9,135,312
Granted Patent B2
US 9,135,312 · App. 12/938,299 · Granted Sep 15, 2015

Timeslider

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,135,312
App. No.
12/938,299
Granted
Sep 15, 2015
Kind
B2
Abstract

A document editing system includes a control configured to review document modifications. This control, referred to herein as a timeslider, allows a user to examine changes to a document as a function of time. The time slider is typically configured to allow review of the revision history of the document both forward and backward in time. Changes are optionally displayed in a redline format. Using the timeslider, a user can navigate through multiple modifications at a time.

Claims (82)

1. A method performed at a server, the method comprising:

storing a document;

receiving, from a client, first information representing a first movement of a control element displayed by the client, the first movement by a user associated with the respective client;

identifying, in accordance with the received first information, a third-level change block, wherein the third-level change block represents a summation of a plurality of second-level change blocks;

receiving, from the client, second information representing a second movement of the control element, the second movement by the user;

identifying, in accordance with the received second information, a second-level change block of the plurality of second-level change blocks, wherein the second-level change block represents a summation of a plurality of first-level modifications to the document;

receiving, from the client, third information representing a third movement of the control element, the third movement by the user;

identifying, in accordance with the received third information, a first-level modification of the plurality of first-level modifications; and

identifying a version of the document based on the identified first-level modification.

2. The method of claim 1 , wherein the control element is included in a timeslider displayed at the respective client system, the timeslider representing modifications to or versions of the document on a time-line.

3. The method of claim 2 , wherein the movement of the control element is in accordance with a selection of a position on the timeslider by the user.

4. The method of claim 2 , wherein the timeslider includes a first version marker corresponding to a first version and a second version marker corresponding to the identified version.

5. The method of claim 4 , wherein the movement of the control element is in accordance with a selection of a version marker by the user.

6. The method of claim 2 , further comprising automatically creating a version marker when a predefined condition is satisfied.

7. The method of claim 1 , further comprising identifying a scaling factor,

wherein the identifying includes identifying the version of the document in accordance with the scaling factor and the received information.

8. The method of claim 1 , further comprising:

receiving first-level modifications to the document made on the client while the client is offline; and

creating a version of the document in accordance with the first-level modifications to the document made while the respective client is offline.

9. A computer-implemented method, comprising:

storing a document;

displaying a control element;

receiving a first user input moving the control element;

identifying, in accordance with the first user input, a third-level change block, wherein the third-level change block represents a summation of a plurality of second-level change blocks;

receiving a second user input moving the control element;

identifying, in accordance with the second user input, a second-level change block of the plurality of second-level change blocks, wherein the second-level change block represents a summation of a plurality of first-level modifications to the document;

receiving a third user input moving the control element;

identifying, in accordance with the third user input, a first-level modification of the plurality of first-level modifications; and

identifying a second version of the document based on the identified first-level modification.

10. The method of claim 9 , further comprising displaying a timeslider that includes the control element, the timeslider representing modifications to or versions of the document on a time-line.

11. The method of claim 10 , wherein the control element is moved in accordance with a user selection of a position on the timeslider.

12. The method of claim 10 , wherein the timeslider includes a first version marker corresponding to a first version and a second version marker corresponding to the identified version.

13. The method of claim 12 , wherein the movement of the control element is in accordance with a user selection of a version marker.

14. The method of claim 10 , further comprising automatically creating a version marker when a predefined condition is satisfied.

15. The method of claim 9 , further comprising identifying a scaling factor,

wherein the identifying includes identifying the version of the document in accordance with the scaling factor and the movement of the control element.

16. A server, comprising:

a storage storing:

a document;

a memory storing computer program instructions; and

a processor configured to execute the computer program instructions which, when executed on the processor, cause the processor to perform operations comprising:

receiving, from the client, first information representing a first movement of a control element displayed by the respective client, the first movement by a user associated with the respective client;

identifying, in accordance with the received first information, a third-level change block, wherein the third-level change block represents a summation of a plurality of second-level change blocks;

receiving, from the client, second information representing a second movement of the control element, the second movement by the user;

identifying, in accordance with the received second information, a second-level change block of the plurality of second-level change blocks, wherein the second-level change block represents a summation of a plurality of first-level modifications to the document;

receiving, from the client, third information representing a third movement of the control element, the third movement by the user;

identifying, in accordance with the received third information, a first-level modification of the plurality of first-level modifications; and

identifying a version of the document based on the identified first-level modification.

17. A computer system, comprising:

a storage storing:

a document;

a memory storing computer program instructions; and

a processor configured to execute the computer program instructions which, when executed on the processor, cause the processor to perform operations comprising:

displaying a control element;

receiving a first user input moving the control element;

identifying, in accordance with the first user input, a third-level change block, wherein the third-level change block represents a summation of a plurality of second-level change blocks;

receiving a second user input moving the control element;

identifying, in accordance with the second user input, a second-level change block of the plurality of second-level change blocks, wherein the second-level change block represents a summation of a plurality of first-level modifications to the document;

receiving a third user input moving the control element;

identifying, in accordance with the third user input, a first-level modification of the plurality of first-level modifications; and

identifying a version of the document based on the identified first-level modification.

18. A non-transitory computer readable storage medium having program instructions stored thereon, that, in response to execution by a processor, cause the processor to perform operations comprising:

storing:

a document;

receiving, from a client, first information representing a first movement of a control element displayed by the client, the first movement by a user associated with the respective client;

identifying, in accordance with the received first information, a third-level change block, wherein the third-level change block represents a summation of a plurality of second-level change blocks;

receiving, from the client, second information representing a second movement of the control element, the second movement by the user;

identifying, in accordance with the received second information, a second-level change block of the plurality of second-level change blocks, wherein the second-level change block represents a summation of a plurality of first-level modifications to the document;

receiving, from the client, third information representing a third movement of the control element, the third movement by the user;

identifying, in accordance with the received third information, a first-level modification of the plurality of first-level modifications; and

identifying a version of the document based on the identified first-level modification.

19. A non-transitory computer readable storage medium having program instructions stored thereon, that, in response to execution by a processor, cause the processor to perform operations comprising:

storing:

a document;

displaying a control element;

receiving a first user input moving the control element;

identifying, in accordance with the first user input, a third-level change block, wherein the third-level change block represents a summation of a plurality of second-level change blocks;

receiving a second user input moving the control element;

identifying, in accordance with the second user input, a second-level change block of the plurality of second-level change blocks, wherein the second-level change block represents a summation of a plurality of first-level modifications to the document;

receiving a third user input moving the control element;

identifying, in accordance with the third user input, a first-level modification of the plurality of first-level modifications;

identifying a version of the document based on the identified first-level modification.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2010
From: GREENSPAN, DAVID L.; IBA, AARON BENJAMIN; ZAMFIRESCU-PEREIRA, JOHN D.
To: GOOGLE INC.
Reel/Frame 025482/0507 →