IP Library Granted Patent US 9,043,807
Granted Patent B2
US 9,043,807 · App. 13/562,108 · Granted May 26, 2015

Application gateway in a browser based environment

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 9,043,807
App. No.
13/562,108
Granted
May 26, 2015
Kind
B2
Abstract

An application gateway enables controlled communication between application components within a browser based environment while maintaining a level of isolation of the individual application components. A dispatching API wrapper and a listening API wrapper are registered for each of a plurality of application components. The registered API wrappers are used to send and receive communications from the associated application components. For example, a first application component can dispatch an action to a second application component via the first application component's dispatching API wrapper. The second application component can receive the action via the second application component's listening API wrapper. As another example, a first application component can dispatch an event that broadcasts a state to other application components via the first application component's dispatching API wrapper. A listening API wrapper of at least one other application component receives the state and may perform other functions dependent on the state.

Claims (32)

1. A computer-implemented method of providing a communications gateway between software components of a browser-based software application, the method comprising:

registering at the gateway a first dispatching application programming interface (API) wrapper and a first listening API wrapper for a first component of the browser-based software application the first application component performing a first function of the application;

registering at the gateway a second dispatching API wrapper and a second listening API wrapper for a second component of the browser-based software application, the second application component performing a second function of the application;

receiving an action at the gateway that targets the first application component, the first application component's listening API wrapper receiving the action for execution by the first application component; and

receiving, after the execution of the action, an event at the gateway that communicates a state of the first application component, the first application component's dispatching API wrapper broadcasting the state, and the listening API wrapper of the second application component receiving the state.

2. The method of claim 1 , wherein at least one of the first application component and the second application component is provided by a third party.

3. The method of claim 1 , wherein reception of the action at the gateway is asynchronous from a change in the state of the first application component caused by the action.

4. The method of claim 1 , wherein the only communication between the first application component and the second application component is provided by the gateway.

5. The method of claim 1 , wherein the action is a command for execution by the first application component.

6. The method of claim 1 , wherein the action can only be received by the first application component's listening API wrapper.

7. The method of claim 1 , further comprising:

registering at the gateway, a third listening API wrapper for a third component of the browser-based software application;

wherein the state is further received by the third listening API wrapper.

8. The method of claim 1 , further comprising:

registering at the gateway a plurality of other dispatching API wrappers and listening API wrappers for each of a plurality of other application components;

wherein the first application component, the second application component, and the plurality of other application components collectively define operation of the application.

9. A non-transitory computer-readable storage medium storing executable computer program instructions for providing a communications gateway between software components of a browser-based software application, the computer program instructions comprising instructions for:

registering at the gateway a first dispatching application programming interface (API) wrapper and a first listening API wrapper for a first component of the browser-based software application the first application component performing a first function of the application;

registering at the gateway a second dispatching API wrapper and a second listening API wrapper for a second component of the browser-based software application, the second application component performing a second function of the application;

receiving an action at the gateway that targets the first application component, the first application component's listening API wrapper receiving the action for execution by the first application component; and

receiving, after the execution of the action, an event at the gateway that communicates a state of the first application component, the first application component's dispatching API wrapper broadcasting the state, and the listening API wrapper of the second application component receiving the state.

10. The storage medium of claim 9 , wherein at least one of the first application component and the second application component is provided by a third party.

11. The storage medium of claim 9 , wherein reception of the action at the gateway is asynchronous from a change in the state of the first application component caused by the action.

12. The storage medium of claim 9 , wherein the only communication between the first application component and the second application component is provided by the gateway.

13. The storage medium of claim 9 , wherein the action is a command for execution by the first application component.

14. The storage medium of claim 9 , wherein the action can only be received by the first application component's listening API wrapper.

15. The storage medium of claim 9 , further comprising computer program instructions for:

registering at the gateway, a third listening API wrapper for a third component of the browser-based software application;

wherein the state is further received by the third listening API wrapper.

16. The storage medium of claim 9 , further comprising computer program instructions for:

registering at the gateway a plurality of other dispatching API wrappers and listening API wrappers for each of a plurality of other application components;

wherein the first application component, the second application component, and the plurality of other application components collectively define operation of the application.

Assignments (4)
SECURITY INTEREST Recorded Sep 22, 2016
From: CHEGG, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 039837/0859 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 15, 2016
From: BANK OF AMERICA, N.A., AS LENDER
To: CHEGG, INC.
Reel/Frame 040043/0426 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Aug 13, 2013
From: CHEGG, INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 031006/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2012
From: GLAZER, ARIEH; EDER-PRESSMAN, OHAD; LE CHEVALIER, VINCENT; GEIGER, CHARLES F.
To: CHEGG, INC.
Reel/Frame 028679/0014 →