IP Library Granted Patent US 10,740,551
Granted Patent B2
US 10,740,551 · App. 15/838,535 · Granted Aug 11, 2020

Collaborative access spreadsheet with a real-time visual indication identifying last edit user

Inventors: Jonathan P. Rochelle (Chester, NJ); Micah Lemonik (Great Neck, NY); Farzad Khosrowshahi (Pleasantville, NY); John Stephen Danaher (Winchester, MA)
Assignee: GOOGLE LLC
G06F40/18G06F8/34G06F16/93G06F40/103G06F40/174G06Q10/10H04L67/42G06F16/958G06F40/106G06F40/177
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 10,740,551
App. No.
15/838,535
Granted
Aug 11, 2020
Kind
B2
Abstract

A method of simultaneous multiuser collaborative access to a spreadsheet includes transmitting the spreadsheet to a first device of a first user having a first privilege for a first part that includes a first cell, transmitting the spreadsheet to a second device of a second user having a second privilege for a second part, receiving a first edit of the first cell from the first device, and a second edit of the second cell from the second device, and in response to the first cell and the second cell being different, the first privilege including an edit privilege, and the second privilege including the edit privilege, accepting the first edit, accepting the second edit, forwarding the first edit for display with the first cell at the second device, and providing, to the second device, a real-time visual indication identifying the first user as a last user editing the first part.

Claims (54)

1. A system for providing simultaneous multiuser collaborative access to a spreadsheet, the system comprising:

a server comprising:

a memory to store instructions; and

a processor to execute the instructions to:

receive, from a first user of a browser program on a first device, a first request to access the spreadsheet;

identify a client engine associated with the first request;

transmit, based on identifying the client engine and determining that first portions of the client engine were transmitted to the first device at a first time, second portions of the client engine to the first device,

the first portions of the client engine implementing core functions that handle user interactions and display functions, and

the second portions of the client engine transmitted to the first device on an as-needed basis in response to the first user using in the spreadsheet a function of the second portions;

transmit the spreadsheet to the client engine of the first device,

the spreadsheet comprising a plurality of parts, each part including spreadsheet cells, and

the first user having a first set of privileges for a first part of the plurality of parts;

transmit the spreadsheet to a second device associated with a second user, the second user having a second set of privileges to a second part of the plurality of parts;

receive, at the server from the client engine of the first device, a first edit of a first cell of the first part, wherein the first device and the second device are concurrently accessing the spreadsheet;

accept, by the server, the first edit;

forward, by the server to the second device while the first device and the second device are concurrently accessing the spreadsheet, a formatted message that includes the first edit and is formatted using a user configuration of the second user that specifies at least one of a first font or a first color indicative of an edit by the first user;

provide, by the server to the second device, in response to the second user selecting the first part, a real-time visual indication identifying the first user as a last user editing the first part, wherein the real-time visual indication is displayed with the first cell on the second device while the spreadsheet is displayed on the second device and while the first user is editing the first part; and

publish the spreadsheet to a web page.

2. The system of claim 1 , wherein the instructions further include instructions to:

receive, at the server from the second device, a second edit of a second cell of the second part; and

on condition that the second cell being different than the first cell and the second user having an edit privilege to the second cell, accept the second edit.

3. The system of claim 1 , wherein the instructions further include instructions to:

receive, at the server from the second device, a second edit of a second cell of the second part; and

on condition that the second cell and the first cell being a same cell and the second user having an edit privilege to the second cell, reject the second edit.

4. The system of claim 3 , wherein to reject the second edit comprises to:

transmit a message to the second device informing the second user of the rejecting.

5. The system of claim 1 , wherein the instructions further include instructions to:

receive, at the server from the second device and simultaneously with the first edit, a second edit of the first cell of the first part; and

reject the second edit in response to determining that the second user has a lower priority than the first user.

6. A method of simultaneous multiuser collaborative access to a spreadsheet, comprising:

receiving, at a server, a first request from a first user of a browser program on a first device to access the spreadsheet;

identifying, by the server, a client engine associated with the first request;

transmitting, by the server and based on identifying the client engine and determining that first portions of the client engine were transmitted to the first device at a first time, second portions of the client engine to the first device at a second time,

the first portions of the client engine being associated with a core function that handle user interactions and display functions, and

the second portions of the client engine transmitted to the first device on an as-needed basis in response to the first user using in the spreadsheet a function of the second portions;

transmitting, by the server, the spreadsheet to the client engine of the first device, the first user having a first privilege for a first part of the spreadsheet, the first part comprising a first cell;

transmitting, by the server, the spreadsheet to a second device of a second user, the second user having a second privilege for a second part of the spreadsheet, the second part comprising a second cell;

receiving, at the server and while the first device and the second device are concurrently accessing the spreadsheet, a first edit of the first cell from the first device, and a second edit of the second cell from the second device; and

in response to the first cell and the second cell being a different cell, the first privilege including an edit privilege, and the second privilege including the edit privilege:

accepting the first edit;

accepting the second edit;

forwarding the first edit for display with the first cell at the second device in a formatted message that is formatted using a first user configuration that specifies a color indicative of an edit by the first user; and

providing, to the second device, in response to the second user selecting the first part, a real-time visual indication identifying the first user as a last user editing the first part, wherein the real-time visual indication is displayed with the first cell at the second device and while the first user is editing the first part.

7. The method of claim 6 , wherein

the formatted message is further formatted using a font indicative of an edit by the first user.

8. The method of claim 6 , wherein the second cell is a cell of the second part, further comprising:

on condition that the second cell being different than the first cell and the second user having an edit privilege to the second cell, accepting the second edit.

9. The method of claim 6 , wherein the second cell is a cell of the second part, further comprising:

on condition that the second cell and the first cell being a same cell, the second user having an edit privilege to the second cell, and the second edit being received after the first edit, rejecting the second edit.

10. The method of claim 9 , further comprising:

transmitting a message to the second device informing the second user of the rejecting.

11. The method of claim 6 , further comprising:

receiving, at the server from the second device and simultaneously with the first edit, a third edit of the first cell of the first part; and

rejecting the third edit in response to determining that the second user has a lower priority than the first user.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jan 19, 2018
From: GOOGLE INC.; GOOGLE LLC
To: GOOGLE LLC
Reel/Frame 045101/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2018
From: ROCHELLE, JONATHAN; LEMONIK, MICAH; KHOSROWSHAHI, FARZAD; DANAHER, JOHN STEPHEN
To: GOOGLE INC.
Reel/Frame 044620/0753 →
Continuity (4)
Continuation 13897964 · May 20, 2013
Continuation 13615797 · Sep 14, 2012
Continuation 11278345 · Mar 31, 2006
Related Publication 20180101515A1 · Apr 12, 2018
Cited By (2)
US 12,236,188 US 12,244,654