IP Library Granted Patent US 9,268,546
Granted Patent B2
US 9,268,546 · App. 13/729,162 · Granted Feb 23, 2016

Deployment and hosting of platform independent applications

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,268,546
App. No.
13/729,162
Granted
Feb 23, 2016
Kind
B2
Abstract

Method, system, and programs for deployment of applications are disclosed. An application capable of being executed in a plurality of different formats is provisioned. The application is deployed for execution by a client device and a server. Resources are dynamically allocated for execution of the application.

Claims (65)

1. A method implemented on a computer system that includes at least one processor, storage, and a communication platform connected to a network for deployment of applications that are interoperable across different device platforms, the method comprising:

provisioning an application capable of being executed on a plurality of different device platforms;

hosting on a server, a plurality of instances of the application for execution on a plurality of serving nodes of the server;

deploying an instance of the application for execution on a client device;

assigning at least one router to route a request associated with the deployed instance of the application from the client device to one or more serving nodes, wherein the request indicates a failure in executing the application on the client device; and

dynamically allocating at least one serving node for execution of the application on the server based on one or more criteria, wherein

the at least one serving node executes the application on the server in response to the request from the client device.

2. The method of claim 1 , wherein the one or more criteria include a number of instances hosted on the server.

3. The method of claim 1 , further comprising:

determining an initial resource budget for the plurality of instances of application on the server;

selecting at least one of the plurality of instances of the application for execution; and

reallocating the initial resource budget for the selected at least one instance for executing the application,

wherein the initial resource budget is a part of a total resource pool of the server.

4. The method of claim 1 , further comprising:

assigning a plurality of routers to route requests associated with the deployed instance of the application;

deploying incremental upgrades related to the application to the plurality of routers on a rolling basis; and

generating a transition plan to shift traffic from a first set of the plurality of routers being upgraded to a second set of the plurality of routers not being upgraded.

5. The method of claim 1 , further comprises:

analyzing resource usage of the one or more serving nodes;

dynamically allocating one or more additional serving nodes from a resource pool to execute the application in response to the analysis indicating a first level of resource usage; and

dynamically releasing the at least one serving node allocated to execute the application to the resource pool in response to the analysis indicating a second level of resource usage.

6. A machine readable non-transitory and tangible medium having information recorded for deployment of applications that are interoperable across different device platforms, wherein the information, when read by the machine, causes the machine to perform the steps comprising:

provisioning an application capable of being executed on a plurality of different device platforms;

hosting on a server, a plurality of instances of the application for execution on a plurality of serving nodes of the server;

deploying an instance of the application for execution on a client device;

assigning at least one router to route a request associated with the deployed instance of the application from the client device to one or more serving nodes, wherein the request indicates a failure in executing the application on the client device; and

dynamically allocating at least one serving node for execution of the application on the server based on one or more criteria, wherein

the at least one serving node executes the application on the server in response to the request from the client device.

7. The machine readable non-transitory and tangible medium of claim 6 , wherein the one or more criteria include a number of instances hosted on the server.

8. The machine readable non-transitory and tangible medium of claim 6 , wherein the machine further performs the steps comprising:

determining an initial resource budget for the plurality of instances of application on the server;

selecting at least one of the plurality of instances of the application for execution; and

reallocating the initial resource budget for the selected at least one instance for executing the application,

wherein the initial resource budget is a part of a total resource pool of the server.

9. The machine readable non-transitory and tangible medium of claim 6 , wherein the machine further performs the steps comprising:

assigning a plurality of routers to route requests associated with the deployed instance of the application;

deploying incremental upgrades related to the application to the plurality of routers on a rolling basis; and

generating a transition plan to shift traffic from a first set of the plurality of routers being upgraded to a second set of the plurality of routers not being upgraded.

10. The machine readable non-transitory and tangible medium of claim 6 , wherein the machine further performs the steps comprising:

analyzing resource usage of the one or more serving nodes;

dynamically allocating one or more additional serving nodes from a resource pool to execute the application in response to the analysis indicating a first level of resource usage; and

dynamically releasing the at least one serving node allocated to execute the application to the resource pool in response to the analysis indicating a second level of resource usage.

11. A system for deployment of applications that are interoperable across different device platforms, comprising:

a provisioning unit programmed for provisioning an application capable of being executed on a plurality of different device platforms;

a deployment unit programmed for:

hosting on a server, a plurality of instances of the application for execution on a plurality of serving nodes of the server; and

deploying an instance of the application for execution on a client device; and

an analytics unit programmed for:

assigning at least one router to route a request associated with the deployed instance of the application from the client device to one or more serving nodes, wherein the request indicates a failure in executing the application on the client device; and

dynamically allocating at least one serving node for execution of the application on the server based on one or more criteria, wherein

the at least one serving node executes the application on the server in response to the request from the client device.

12. The system of claim 11 , wherein the one or more criteria include a number of instances hosted on the server.

13. The system of claim 11 , wherein the provisioning unit is further programmed for:

determining an initial resource budget for the plurality of instances of application on the server;

selecting at least one of the plurality of instances of the application for execution; and

reallocating the initial resource budget for the selected at least one instance for executing the application,

wherein the initial resource budget is a part of a total resource pool of the server.

14. The system of claim 11 , wherein the deployment unit is further programmed for:

assigning a plurality of routers to route requests associated with the deployed instance of the application;

deploying incremental upgrades related to the application to the plurality of routers on a rolling basis; and

generating a transition plan to shift traffic from a first set of the plurality of routers being upgraded to a second set of the plurality of routers not being upgraded.

15. The system of claim 11 , wherein the analytics unit is further programmed for:

analyzing resource usage of the one or more serving nodes;

dynamically allocating one or more additional serving nodes from a resource pool to execute the application in response to the analysis indicating a first level of resource usage; and

dynamically releasing the at least one serving node allocated to execute the application to the resource pool in response to the analysis indicating a second level of resource usage.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2012
From: FERNANDEZ-RUIZ, BRUNO; LOW, DARYL MUN-KID; COOPER, MARTIN F. N.; KOEHLER, DIRK
To: YAHOO! INC.
Reel/Frame 029538/0351 →