IP Library Granted Patent US 9,197,720
Granted Patent B2
US 9,197,720 · App. 13/719,437 · Granted Nov 24, 2015

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,197,720
App. No.
13/719,437
Granted
Nov 24, 2015
Kind
B2
Abstract

Method, system, and programs for determining a point of execution for applications that are interoperable across different device platforms is disclosed. An application capable of being executed in a plurality of different device formats is deployed to a client device. The application is hosted for execution at a server. A dynamic determination is made regarding whether a request to the application should be executed by the client device or the server.

Claims (45)

1. A method implemented on at least one computing device, each computing device having at least one processor, storage, and a communication platform connected to a network for determining a point of execution for applications that are interoperable across different device platforms, the method comprising:

deploying a platform agnostic application for execution on a client device;

deploying an instance of the platform agnostic application for execution on at least one server;

receiving at the client device, a request associated with the instance of the platform agnostic application;

dynamically determining whether the client device or the at least one server is to execute the request based on one or more criteria related to current network conditions, capabilities of the client device, and capabilities of the at least one server;

selecting, if it is determined that the at least one server is to execute the request, one of the at least one server currently having the greatest capacity to execute the request; and

instructing the selected server to execute the request using the deployed instance of the platform agnostic application.

2. The method of claim 1 , wherein dynamically determining whether the client device or the at least one server is to execute the request further comprises:

determining a computational load requirement of the request;

comparing capabilities of the client device and the at least one server for meeting the computational load requirement; and

determining whether the client device or the at least one server is to execute the request based on comparing the capabilities of the client device and the at least one server.

3. The method of claim 1 , wherein dynamically determining whether the client device or the at least one server is to execute the request comprises:

monitoring network conditions associated with a network used for communication by the client device and the at least one server; and

determining whether the client device or the at least one server is to execute the request based on monitoring the network conditions.

4. The method of claim 1 , wherein the at least one server comprises a monitoring module to monitor network conditions and communicate with the client device.

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

deploying a platform agnostic application for execution on a client device;

deploying an instance of the platform agnostic application for execution on at least one server;

receiving at the client device, a request associated with the instance of the platform agnostic application;

dynamically determining whether the client device or the at least one server is to execute the request based on one or more criteria related to current network conditions, capabilities of the client device, and capabilities of the at least one server;

selecting, if it is determined that the at least one server is to execute the request, one of the at least one server currently having the greatest computational capacity to execute the request; and

instructing the selected server to execute the request using the deployed instance of the platform agnostic application.

6. The machine readable non-transitory and tangible medium of claim 5 , wherein the step of dynamically determining whether the client device or the at least one server is to execute the request further comprises:

determining a computational load requirement of the request;

comparing capabilities of the client device and the at least one server for meeting the computational load requirement; and

determining whether the client device or the at least one server is to execute the request based on comparing the capabilities of the client device and the at least one server.

7. The machine readable non-transitory and tangible medium of claim 5 , wherein the step of dynamically determining whether the client device or the at least one server is to execute the request further comprises:

monitoring network conditions associated with a network used for communication by the client device and the at least one server; and

determining whether the client device or the at least one server is to execute the request based on monitoring the network conditions.

8. The machine readable non-transitory and tangible medium of claim 5 , wherein the at least one server comprises a monitoring module to monitor network conditions and communicate with the client device.

9. A system for determining a point of execution for applications, comprising:

a serving unit configured with executable instructions, stored in a memory, for deploying a platform agnostic application for execution on a client device;

a provisioning unit configured with executable instructions, stored in a memory, for deploying an instance of the platform agnostic application for execution on at least one server; and

a monitoring unit configured with executable instructions, stored in a memory, for:

receiving at the client device, a request associated with the platform agnostic application; and

dynamically determining whether the client device or the at least one server is to execute the request based on one or more criteria related to current network conditions, capabilities of the client device, and capabilities of the at least one server;

selecting, if it is determined that the at least one server is to execute the request, one of the at least one server currently having the greatest computational capacity to execute the request; and

instructing the selected server to execute the request using the deployed instance of the platform agnostic application.

10. The system of claim 9 , wherein the monitoring unit is further configured with executable instructions, stored in a memory, for

determining a computational load requirement of the request;

comparing capabilities of the client device and the at least one server for meeting the computational load requirement; and

determining whether the client device or the at least one server is to execute the request based on comparing the capabilities of the client device and the at least one server.

11. The system of claim 9 , wherein the monitoring unit is further configured with executable instructions, stored in a memory, for

monitoring network conditions associated with a network used for communication by the client device and the at least one server; and

determining whether the client device or the at least one server is to execute the request based on monitoring the network conditions.

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 19, 2012
From: FERNANDEZ-RUIZ, BRUNO; LOW, DARYL MUN-KID; COOPER, MARTIN F. N.; KOEHLER, DIRK
To: YAHOO! INC.
Reel/Frame 029497/0876 →