IP Library Granted Patent US 10,104,081
Granted Patent B2
US 10,104,081 · App. 14/522,897 · Granted Oct 16, 2018

Privileged static hosted web applications

Inventor: Erik Kay (Emerald Hills, CA)
Assignee: GOOGLE LLC
H04L63/10G06F17/30887G06F21/128G06F21/56G06F21/629H04L63/102H04L63/123H04L63/145H04L63/1441H04W12/08H04W12/12H04L67/02
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,104,081
App. No.
14/522,897
Filed
Oct 24, 2014
Granted
Oct 16, 2018
Kind
B2
Examiner
KIM, TAE K
Art Unit
2492
USPC
726/4
Abstract

A method can include receiving a static web application at a trusted server, validating assurance characteristics of the static web application, and upon successful validation of the static web application, providing access to the static web application via a URL that identifies the static web application at a trusted server location. The static web application, when executed on the browser running on the client device, can be granted at least one permission to utilize local resources of the client device during execution of the static web application by the browser. Upon receiving a change to an object of the static web application, the validating of the assurance characteristics of the static web application, as a whole, can be performed before the change to the object is made accessible via the URL.

Claims (40)

1. A method comprising:

receiving a static web application at a trusted server;

validating assurance characteristics of the static web application; and

upon successful validation of the static web application, providing access to the static web application via a uniform resource locator (URL) that identifies the static web application at a trusted server location within a public Internet and that can be used to navigate to the static web application from a browser running on a client device, the browser having a first set of permissions to utilize local resources of the client device, wherein

the static web application includes at least one object that is stored as a server-side component,

only the at least one object is granted a second set of permissions including at least one permission additional to the first set of permissions that is not included in the first set of permissions for the at least one object to utilize local resources of the client device during execution of the static web application by the browser when the static web application is executed on the browser running on the client device, and

upon receiving a change to an object of the static web application, the validating of the assurance characteristics of the static web application, as a whole, is performed before the change to the object is made accessible via the URL.

2. The method of claim 1 , wherein the static web application is granted the at least one permission based on a prior verification and vetting process based on at least one permission that the web application seeks to declare.

3. The method of claim 1 , wherein the static web application is granted the at least one permission based on a prior maliciousness ranking and a threshold value.

4. The method of claim 1 , wherein the static web application contains all of the resources necessary to execute the application on the client computing device and wherein code needed to execute the application by the client computing device is not dynamically generated.

5. The method of claim 1 , further comprising:

hosting the static web application on the trusted server, wherein the hosting includes providing access to the static web application, and code associated with the static web application, to a web crawler.

6. The method of claim 1 , wherein validating assurance characteristics of the static web application includes verifying an object of the static web application does not include an object identified as at least one of a malware, a virus, and a Trojan.

7. The method of claim 1 , wherein validating assurance characteristics of the static web application includes verifying a trustworthiness ranking of a developer of the static web application.

8. The method of claim 1 , wherein updating the static web application includes replacing objects of the static web application with a revalidated entire application.

9. The method of claim 1 , wherein prior to requesting at least one permission to utilize local resources of the client device during execution of the static web application by the browser the static web application executes, on the client device, without permission to utilize local resources of the client device.

10. A server comprising:

a memory configured to store a static web application;

a verification module configured to validate assurance characteristics of the static web application; and

an application server, upon successful validation of the static web application, configured to provide access to the static web application via a uniform resource locator (URL) that identifies the static web application at a trusted server location within a public Internet and that can be used to navigate to the static web application from a browser running on a client device, the browser having a first set of permissions to utilize local resources of the client device, wherein

the static web application includes at least one object that is stored on the trusted server and served to the client device via the URL,

only the at least one object is granted a second set of permissions including at least one permission additional to the first set of permissions that is not included in the first set of permissions for the at least one object to utilize local resources of the client device during execution of the static web application by the browser when the static web application is executed on the browser running on the client device, and

the verification module, upon receiving a change to an object of the static web application, is further configured to repeat the validating of the assurance characteristics of the static web application, as a whole, before the change to the object is made accessible via the URL.

11. The server of claim 10 , wherein the static web application is granted the at least one permission based on a prior verification and vetting process based on at least one permission that the web application seeks to declare.

12. The server of claim 10 , wherein the static web application is granted the at least one permission based on a prior maliciousness ranking and a threshold value.

13. The server of claim 10 , wherein the static web application contains all of the resources necessary to execute the application on the client computing device and wherein code needed to execute the application by the client computing device is not dynamically generated.

14. The server of claim 10 , further comprising:

hosting the static web application on the server, wherein the hosting includes providing access to the static web application, and code associated with the static web application, to a web crawler.

15. The server of claim 10 , wherein validating assurance characteristics of the static web application by the verification module includes verifying an object of the static web application does not include an object identified as at least one of a malware, a virus, and a Trojan.

16. The server of claim 10 , wherein validating assurance characteristics of the static web application by the verification module includes verifying a trustworthiness ranking of a developer of the static web application.

17. The server of claim 10 , wherein updating the static web application includes replacing objects of the static web application with a revalidated entire application.

18. A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform steps comprising:

receiving a static web application at a trusted server;

validating assurance characteristics of the static web application; and

upon successful validation of the static web application, providing access to the static web application via a uniform resource locator (URL) that identifies the static web application at a trusted server location within a public Internet and that can be used to navigate to the static web application from a browser running on a client device, the browser having a first set of permissions to utilize local resources of the client device, wherein

the static web application includes at least one object that is stored on the trusted server and served to the client device via the URL,

only the at least one object is granted a second set of permissions including at least one permission additional to the first set of permissions that is not included in the first set of permissions for the at least one object to utilize local resources of the client device during execution of the static web application by the browser when the static web application is executed on the browser running on the client device, and

upon receiving a change to an object of the static web application, the validating of the assurance characteristics of the static web application, as a whole, is performed before the change to the object is made accessible via the URL.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the static web application is granted the at least one permission based on a prior verification and vetting process based on at least one permission that the web application seeks to declare.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the static web application contains all of the resources necessary to execute the application on the client computing device and wherein code needed to execute the application by the client computing device is not dynamically generated.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2015
From: KAY, ERIK
To: GOOGLE INC.
Reel/Frame 035402/0885 →
Continuity (2)
Provisional Application 61918145 · Dec 19, 2013
Related Publication 20150180875A1 · Jun 25, 2015