IP Library Granted Patent US 10,999,354
Granted Patent B2
US 10,999,354 · App. 16/741,711 · Granted May 4, 2021

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,999,354
App. No.
16/741,711
Granted
May 4, 2021
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 first application communicates 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, information identifying one of the plurality of 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 causes the identified document processing application to open locally the second file that corresponds to the requested document associated with the first file stored on the server.

Claims (43)

1. A computer-implemented method, comprising:

presenting, by a first application hosted by a local device, a user interface associated with the first application, the user interface identifying one or more documents each associated with a file stored on a server;

receiving, by the first application and via the user interface associated with the first application, a request to open a document of the one or more identified documents, the document being specified by a user via the 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

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 or a browser extension hosted by the local device and the second application is a local application different from the bowser application,

wherein the second application has access to local information about a plurality of document processing applications installed on the local device,

wherein the second application obtains information identifying one 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; and

wherein the request, received via the user interface associated with the first application, to open the document associated with the first file results in the identified document processing application opening locally 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 information identifying one of the plurality of document processing applications is created based on a contents file that stores a list of local application identifiers corresponding to a plurality of document processing applications that are installed on the local device.

3. The method of claim 1 , wherein the selected document 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 to open the document specified by the user comprises a user identifier.

7. The method of claim 2 , wherein the identified document processing application is selected by the first application using the list of local application identifiers.

8. A system comprising:

a memory; and

a processing device, coupled to the memory, to:

present, by a first application hosted by a local device, a user interface associated with the first application, the user interface identifying one or more documents each associated with a file stored on a server;

receive, by the first application and via the user interface associated with the first application, a request to open a document of the one or more identified documents, the document being specified by a user via the 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

communicate, 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 or a browser extension hosted by the local device and the second application is a local application different from the bowser application,

wherein the second application has access to local information about a plurality of document processing applications installed on the local device,

wherein the second application obtains information identifying one 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; and

wherein the request, received via the user interface associated with the first application, to open the document associated with the first file results in the identified document processing application opening locally 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 information identifying one of the plurality of document processing applications is created based on a contents file that stores a list of local application identifiers corresponding to a plurality of document processing applications that are installed on the local device.

10. The system of claim 8 , wherein the selected document 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 to open the document specified by the user comprises a user identifier.

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

presenting, by a first application hosted by a local device, a user interface associated with the first application, the user interface identifying one or more documents each associated with a file stored on a server;

receiving, by the first application and via the user interface associated with the first application, a request to open a document of the one or more identified documents, the document being specified by a user via the 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

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 or a browser extension hosted by the local device and the second application is a local application different from the bowser application,

wherein the second application has access to local information about a plurality of document processing applications installed on the local device,

wherein the second application obtains information identifying one 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; and

wherein the request, received via the user interface associated with the first application, to open the document associated with the first file results in the identified document processing application opening locally the second file that corresponds to the requested document associated with the first file stored on the server.

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

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

17. The non-transitory computer readable medium of claim 14 , 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.

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

19. The non-transitory computer readable medium of claim 14 , wherein the request to open the document specified by the user comprises a user identifier.

20. The non-transitory computer readable medium of claim 14 , wherein the identified document processing application is selected by the first application using the list of local application identifiers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2020
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 052447/0444 →
CHANGE OF NAME Recorded Apr 20, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 052448/0214 →
Continuity (4)
Continuation 15877353 · Jan 22, 2018
Continuation 14547086 · Nov 18, 2014
Provisional Application 62075825 · Nov 5, 2014
Related Publication 20200153891A1 · May 14, 2020