IP Library Granted Patent US 10,536,513
Granted Patent B2
US 10,536,513 · App. 15/877,353 · Granted Jan 14, 2020

Opening local applications from browsers

Inventors: Jessie Lynne Newman (New York, NY); Frank Pape, III (Cortlandt Manor, NY); Ali Akhavan Bitaghsir (New York, NY); Brian Schneider (Brooklyn, NY); James Michael McCollum (Brooklyn, NY); Eric Huayu Zhang (Jersey City, NJ); Rachel Werner Barton (Golden, CO); Marc Miller (New York, NY); Rishi Sharma (San Francisco, CA)
Assignee: GOOGLE LLC
H04L67/10G06F16/176G06F16/178G06F16/182G06F21/00H04L67/06H04L67/42
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,536,513
App. No.
15/877,353
Granted
Jan 14, 2020
Kind
B2
Abstract

Systems and methods are disclosed herein for opening files via local applications. A first application on a local device receives a request to open a document specified by a user via a user interface associated with the first application, the document having a document identifier and associated with a first file stored on a server, the request comprising the document identifier and a user identifier. The first application forwards the request to open the document associated with the first file to a second application on the local device, and receives, from the second application, a list comprising one or more document processing applications that are on the local device and are capable of opening a second file that is stored on the local device and has the same document identifier as the document specified by the user, the second file being a local copy of the first file. The first application selects one of the document processing applications from the list, and causes a selected processing application to open the second file.

Claims (37)

1. A computer-implemented method, comprising:

receiving, by a first application hosted by a local device, a request to open a document specified by a user via a user interface associated with the first application, the document having a document identifier and associated with a first file stored on a server, the request comprising the document identifier and a user identifier;

communicating, by the first application, the request to open the document associated with the first file to a second application hosted by the local device, wherein the first application is a browser application hosted by the local device and the second application is a local application different from the browser application, and wherein the second application has access to local information about a plurality of document processing applications installed on the local device;

receiving, by the first application from the second application, a list comprising one or more of the plurality of document processing applications that are on the local device and are capable of opening a second file that corresponds to the requested document associated with the first file stored on the server, wherein the second file is stored on the local device and has the same document identifier as the requested document, the second file being a local copy of the first file stored on the server;

selecting, by the first application, one of the document processing applications from the list; and

causing, by the first application, a selected processing application to open the second file that corresponds to the requested document associated with the first file stored on the server.

2. The method of claim 1 , wherein the list is created based on a contents file that stores a list of local application identifiers corresponding to the plurality of document processing applications that are installed on the local device.

3. The method of claim 1 , wherein the selected processing application opens the second file based on a received message that comprises an application identifier associated with the second application.

4. The method of claim 1 , further comprising generating a hash based on at least one pre-shared key to determine the user is authorized to access the second file.

5. The method of claim 4 , wherein the hash is computed based at least in part on at least one nonce.

6. The method of claim 1 , wherein the request and the list include standard input or output streams of data associated with the first application.

7. The method of claim 1 , wherein the browser application represents a browser extension.

8. A system comprising:

a memory; and

a processing device, coupled to the memory, to:

receive, via a first application hosted by a local device, a request to open a document specified by a user via a user interface associated with the first application, the document having a document identifier and associated with a first file stored on a server, the request comprising the document identifier and a user identifier;

communicate, via the first application, the request to open the document associated with the first file to a second application hosted by the local device, wherein the first application is a browser application hosted by the local device and the second application is a local application different from the browser application, and wherein the second application has access to local information about a plurality of document processing applications installed on the local device;

receive, via the first application from the second application, a list comprising one or more of the plurality of document processing applications that are on the local device and are capable of opening a second file that corresponds to the requested document associated with the first file stored on the server, wherein the second file is stored on the local device and has the same document identifier as the requested document, the second file being a local copy of the first file stored on the server;

select, via the first application, one of the document processing applications from the list; and

cause a selected processing application to open the second file that corresponds to the requested document associated with the first file stored on the server.

9. The system of claim 8 , wherein the list is created based on a contents file that stores a list of local application identifiers corresponding to the plurality of document processing applications that are installed on the local device.

10. The system of claim 8 , wherein the selected processing application opens the second file based on a received message that comprises an application identifier associated with the second application.

11. The system of claim 8 , wherein the processing device is further to generate a hash based on at least one pre-shared key to determine the user is authorized to access the second file.

12. The system of claim 11 , wherein the hash is computed based at least in part on at least one nonce.

13. The system of claim 8 , wherein the request and the list include standard input or output streams of data associated with the first application.

14. The system of claim 8 , wherein the browser application represents a browser extension.

15. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to perform operations comprising:

receiving, by a first application hosted by a local device, a request to open a document specified by a user via a user interface associated with the first application, the document having a document identifier and associated with a first file stored on a server, the request comprising the document identifier and a user identifier;

communicating, by the first application, the request to open the document associated with the first file to a second application hosted by the local device, wherein the first application is a browser application hosted by the local device and the second application is a local application different from the browser application, and wherein the second application has access to local information about a plurality of document processing applications installed on the local device;

receiving, by the first application from the second application, a list comprising one or more of the plurality of document processing applications that are on the local device and are capable of opening a second file that corresponds to the requested document associated with the first file stored on the server, wherein the second file is stored on the local device and has the same document identifier as the requested document, the second file being a local copy of the first file stored on the server;

selecting, by the first application, one of the document processing applications from the list; and

causing, by the first application, a selected processing application to open the second file that corresponds to the requested document associated with the first file stored on the server.

16. The non-transitory computer readable medium of claim 15 , wherein the list is created based on a contents file that stores a list of local application identifiers corresponding to the plurality of document processing applications that are installed on the local device.

17. The non-transitory computer readable medium of claim 15 , wherein the selected processing application opens the second file based on a received message that comprises an application identifier associated with the second application.

18. The non-transitory computer readable medium of claim 15 , wherein the operations further comprise generating a hash based on at least one pre-shared key to determine the user is authorized to access the second file.

19. The non-transitory computer readable medium of claim 18 , wherein the hash is computed based at least in part on at least one nonce.

20. The non-transitory computer readable medium of claim 18 , wherein the first application is a browser or a browser extension associated with the browser.

Assignments (2)
CHANGE OF NAME Recorded Jun 25, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 046428/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2018
From: NEWMAN, JESSIE LYNNE; PAPE, FRANK; BITAGHSIR, ALI AKHAVAN; SCHNEIDER, BRIAN; MCCOLLUM, JAMES MICHAEL; ZHANG, ERIC HUAYU; BARTON, RACHEL; MILLER, MARC; SHARMA, RISHI
To: GOOGLE INC.
Reel/Frame 046183/0279 →
Continuity (3)
Continuation 14547086 · Nov 18, 2014
Provisional Application 62075825 · Nov 5, 2014
Related Publication 20180146029A1 · May 24, 2018