IP Library Granted Patent US 8,190,703
Granted Patent B2
US 8,190,703 · App. 12/107,769 · Granted May 29, 2012

Extensible browser platform for web applications

Assignee: Microsoft Corporation
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 8,190,703
App. No.
12/107,769
Granted
May 29, 2012
Kind
B2
Abstract

An enhancement to a web browser offers an extension mechanism for web applications to utilize client-side resources, thereby moving more extensibility and flexibility to the client-side. The web browser may expose some control interfaces to meet various requirements from web applications. Using the extension mechanism, the web applications are able to offload the cloud servers, function when offline, and improve performance. The extension mechanism also provides users with full control to the data passing through their web browsers.

Claims (33)

1. A system comprising:

a computing device that communicates with a server and a plurality of client computers by a network, wherein the computing device executes a browser and comprises a peer-to-peer cache;

an extensible browser platform interfacing with the browser; and

an extension installed by a web application into the extensible browser platform,

wherein the extension allows integration of the web application with a plurality of client-side local resources and a plurality of peer-to-peer resources,

wherein the extension interposes on a request to be sent from the computing device to the server to store content, and determines, based on the availability of the server, whether to issue the request to store the content to the server or to fulfill the request to store the content locally by allowing peer-to-peer offloading of the web application to receive and store the content in the peer-to-peer cache, and

wherein pursuant to receiving a request at the computing device for the content, and wherein the request is received from one of the client computers, the extension interposes on the request and determines whether to issue the request for the content to the server or to provide the content to the client computer from the peer-to-peer cache, wherein the determination is based on whether the request can be fulfilled from the peer-to-peer cache.

2. The system of claim 1 , further comprising a local application to the browser that installs the extension to be associated with the extensible browser platform.

3. The system of claim 1 , further comprising a plurality of control interfaces that are exposed to the extension to allow the extension to interpose on a communication between the server and the browser.

4. The system of claim 1 , wherein the extensible browser platform comprises isolated local storage for the extension.

5. The system of claim 1 , wherein the extension provides a mechanism for the web application to interact with another web application or a local application.

6. The system of claim 1 , wherein the extension is specific to an application, interposes on a communication between the server and the browser, exposes an event, and is triggered when the event happens.

7. The system of claim 1 , wherein the extension allows the web application to function when offline.

8. The system of claim 7 , wherein the web application comprises a web mail service.

9. The system of claim 1 , further comprising a cache, wherein the extension is able to cache the request for the content and a response to generate a cached response, and respond to the request for the content based on the cached response.

10. An extensible browser platform for a browser executing on a computing device, comprising:

an extension to the browser that allows integration of a web application with a plurality of client-side local resources and a plurality of peer-to-peer resources,

wherein the extension interposes on a request to be sent from the computing device to a server to store content, determines, based on the availability of the server, whether to issue the request to store the content to the server or to fulfill the request to store the content locally, and allows peer-to-peer offloading of the web application to receive and store the content in a peer-to-peer cache of the computing device pursuant to determining to fulfill the request to store the content locally, and

wherein pursuant to receiving a request at the computing device for the content, and wherein the request is received from a client computer, the extension interposes on the request and determines whether to issue the request for the content to the server or to provide the content to the client computer from the peer-to-peer cache, wherein the determination is based on whether the request can be fulfilled from the peer-to-peer cache; and

a local storage for storing data from the extension locally.

11. The extensible browser platform of claim 10 , wherein the extension is loaded by the web application or a local application.

12. The extensible browser platform of claim 10 , wherein the extension handles the request for the content with client-side services or peer-to-peer services.

13. The extensible browser platform of claim 10 , wherein the extension transparently changes the web application's logic.

14. The extensible browser platform of claim 10 , wherein the local storage is allocated such that the extension has storage isolation, and wherein the extension manifests server domain names for which the extension is responsible explicitly.

15. A computer-implemented method, comprising:

loading an extension by a web application into a browser platform interfacing with a browser executing on a computing device, the extension allowing integration of the web application with a plurality of client-side local resources and a plurality of peer-to-peer resources;

receiving a request at a browser to store content; and

handling the request using the extension,

wherein the extension interposes on the request to store the content, determines, based on the availability of the server, whether to issue the request to store the content to the server or to fulfill the request to store the content locally, and allows peer-to-peer offloading of the web application to receive and store the content in a peer-to-peer cache of the computing device pursuant to determining to fulfill the request to store the content locally, and

wherein pursuant to receiving a request at the computing device for the content, and wherein the request is received from a client computer, the extension interposes on the request and determines whether to issue the request for the content to the server or to provide the content to the client computer from the peer-to-peer cache, wherein the determination is based on whether the request can be fulfilled from the peer-to-peer cache.

16. The computer-implemented method of claim 15 , further comprising associating the extension with the browser.

17. The computer-implemented method of claim 15 , further comprising exposing at least one control interface to the extension to allow the extension to interpose on a communication between the server and the browser.

18. The computer-implemented method of claim 15 , further comprising the browser providing the request for the content to the extension.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2008
From: LIN, SHIDING; ZHOU, LIDONG; THEKKATH, CHANDRAMOHAN A.; MALKHI, DAHLIA; ZHANG, ZHENG
To: MICROSOFT CORPORATION
Reel/Frame 021492/0102 →
Continuity (1)
Related Publication 20090271707A1 · Oct 29, 2009