# US 12,010,163 B2 · Opening local applications from browsers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,163 B2
- Document ID: US12010163B2
- Status: Granted
- Kind: B2
- Application number: 17/306,939
- Filed: 2021-05-03
- Published: 2021-09-02
- Granted: 2024-06-11
- Earliest claimed: 2014-11-05
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Jessie Lynne Newman; Frank Pape, III; Ali Akhavan Bitaghsir; Brian Schneider; James Michael McCollum; Eric Huayu Zhang; Rachel Werner Barton; Marc Miller; Rishi Sharma
- Web page: https://patentgrep.com/patent/US12010163B2

## CPC

- G06F 21/00: Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F 16/176: Support for shared access to files; File sharing support
- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/182: Distributed file systems
- G06F 21/31: User authentication
- G06F 21/629: {to features or functions of an application}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods are disclosed herein for opening files via local application. A first application hosted by a local device presents a user interface associated with the first application, the user interface permitting a user to interact with documents on a cloud computing service, receives, via the user interface associated with the first application, a request to open one or more of the documents, and communicates the request to open the document to a second application hosted by the local device, wherein the second application is a local application different from the first application, wherein the second application has access to local information about a plurality of document processing applications installed on the local device, and wherein the request, received via the user interface associated with the first application, to open the document results in the identified document processing application downloading and opening locally a file that corresponds to the requested document on a cloud computing service.

## Claims

### Claim 1

A computer-implemented method, comprising:
presenting, by a first application hosted by a user device, a user interface associated with the first application, the user interface permitting a user to interact with documents on a cloud computing service;
receiving, by the first application on the user device and via the user interface associated with the first application on the user device, a request to open a document of the documents on the cloud computing service;
authenticating the user with the cloud computing service and determining that the user is authorized to access the document; and
communicating, by the first application on the user device, the request to open the document of the documents on the cloud computing service to a second application hosted by the user device,
wherein the second application on the user device is a local application different from the first application,
wherein the second application has access to local information about a plurality of document processing applications that are installed on the user device to allow a user of the user device to create, open and edit a plurality of local files of different types on the user device, each of the plurality of document processing applications corresponding to a distinct type of the different types of local files; and
wherein the request, received via the user interface associated with the first application on the user device, to open the document of the documents on the cloud computing service results in downloading and opening locally on the user device, by one of the plurality of document processing applications on the user device, a file that corresponds to the document of the documents on the cloud computing service.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second application obtains information identifying the one of the plurality of document processing applications, wherein the identifying information 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 user device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the one of the plurality of document processing applications opens the file locally based on a received message that comprises an application identifier associated with the second application.

### Claim 4 (depends on 1)

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 file.

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 1)

The method of claim 1, wherein the request to open the document comprises a user identifier.

### Claim 7 (depends on 2)

The method of claim 2, further comprising selecting the one of the plurality of document processing applications by the first application using the list of local application identifiers.

### Claim 8

A system comprising:
a memory; and
a processing device, coupled to the memory, to:
present, using a first application hosted by a user device, a user interface associated with the first application, the user interface permitting a user to interact with documents on a cloud computing service;
receive, via the user interface associated with the first application on the user device, a request to open a document of the documents on the cloud computing service;
authenticate the user with the cloud computing service and determining that the user is authorized to access the document; and
communicate, using the first application on the user device, the request to open the document of the documents on the cloud computing service to a second application hosted by the user device,
wherein the second application on the user device is a local application different from the first application,
wherein the second application has access to local information about a plurality of document processing applications that are installed on the user device to allow a user of the user device to create, open and edit a plurality of local files of different types on the user device, each of the plurality of document processing applications corresponding to a distinct type of the different types of local files; and
wherein the request, received via the user interface associated with the first application, to open the document of the documents on the cloud computing service results in downloading and opening locally on the user device, by one of the plurality of document processing applications on the user device, a file that corresponds to the document of the documents on the cloud computing service.

### Claim 9 (depends on 8)

The system of claim 8, wherein the second application obtains information identifying the one of the plurality of document processing applications, wherein the identifying information 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 user device.

### Claim 10 (depends on 8)

The system of claim 8, wherein the one of the plurality of document processing applications opens the file locally based on a received message that comprises an application identifier associated with the second application.

### Claim 11 (depends on 8)

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 file.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 8)

The system of claim 8, wherein the request to open the document comprises a user identifier.

### Claim 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 user device, a user interface associated with the first application, the user interface permitting a user to interact with documents on a cloud computing service;
receiving, by the first application on the user device and via the user interface associated with the first application on the user device, a request to open a document of the documents on the cloud computing service;
authenticating the user with the cloud computing service and determining that the user is authorized to access the document; and
communicating, by the first application on the user device, the request to open the document of the documents on the cloud computing service to a second application hosted by the user device,
wherein the second application on the user device is a local application different from the first application,
wherein the second application has access to local information about a plurality of document processing applications that are installed on the user device to allow a user of the user device to create, open and edit a plurality of local files of different types on the user device, each of the plurality of document processing applications corresponding to a distinct type of the different types of local files; and
wherein the request, received via the user interface associated with the first application on the user device, to open the document of the documents on the cloud computing service results in downloading and opening locally on the user device, by one of the plurality of document processing applications on the user device, a file that corresponds to the document of the documents on the cloud computing service.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein the second application obtains information identifying the one of the plurality of document processing applications, wherein the identifying information 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 user device.

### Claim 16 (depends on 14)

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

### Claim 17 (depends on 14)

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 file.

### Claim 18 (depends on 17)

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

### Claim 19 (depends on 14)

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

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the operations further comprise selecting the one of the plurality of document processing applications by the first application using the list of local application identifiers.
