IP Library › Granted Patent US 9,749,440
Granted Patent B2
US 9,749,440 · App. 14/575,577 · Granted Aug 29, 2017

Systems and methods for hosted application marketplaces

Inventor: Adrian Bourke (San Diego, CA)
Assignee: Sweetlabs, Inc.
H04L67/30H04L67/306H04L67/34H04L69/24
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,749,440
App. No.
14/575,577
Granted
Aug 29, 2017
Kind
B2
Abstract

Systems and methods for hosted application marketplaces in accordance with embodiments of the invention are described. In one embodiment, a hosted application marketplace server system includes a processor and a memory storing hosted application marketplace application, wherein the hosted application marketplace application directs the processor to obtain request data describing a request for hosted application data, wherein the request data includes user profile data and computing device capability data, identify a computing device based on the user profile data, determine compatible application data based on the request data, wherein the compatible application data identifies a set of applications that are compatible with the computing device based on the computing device capability data, generate hosted application data based on the compatible application data; and transmit the hosted application data in response to the obtained request data.

Claims (47)

1. A hosted application marketplace server system, comprising:

a processor; and

a memory readable by the processor and storing instructions;

wherein the instructions, when read by the processor, direct the processor to:

obtain request data describing a request for hosted application data, wherein the request data comprises user profile data and computing device capability data;

identify a computing device based on the request data;

determine compatible application data based on the request data, wherein the compatible application data identifies a set of applications that are compatible with the computing device based on the computing device capability data;

generate hosted application data based on the compatible application data, wherein:

the hosted application data comprises a file containing a first set of instructions in a scripting language;

parsing of the first set of instructions in the scripting language by a virtual machine causes downloading of at least one remotely hosted file containing a second set of instructions in a rendering language, wherein:

the second set of instructions in the rendering language within the at least one downloaded remotely hosted file is modified in accordance with a predetermined page modification rule to create at least one modified file;

at least the instructions in the at least one modified file is used to build a document object model (DOM);

the DOM is modified in accordance with a predetermined DOM modification rule to create a modified DOM; and

the rendering engine process is configured to render a user interface page based upon the modified DOM generated by the execution of a background page; and

interpretation of the second set of instructions in the rendering language contained within the at least one remotely hosted file by a rendering engine process causes the rendering engine process to render pages forming a user interface; and

transmit the hosted application data in response to the obtained request data.

2. The system of claim 1 , wherein:

the at least one downloaded remotely hosted file further comprises a Cascading Style Sheet (CSS); and

the at least one modified file is further created by modifying the CSS within the at least one downloaded remotely hosted file in accordance with a second predetermined page modification rule.

3. The system of claim 2 , wherein modification of the CSS within the at least one downloaded remotely hosted file in accordance with a second predetermined page modification rule comprises inserting a CSS into the at least one downloaded remotely hosted file.

4. The system of claim 2 , wherein modification of the CSS within the at least one downloaded remotely hosted file comprises removing a CSS from the at least one downloaded remotely hosted file.

5. The system of claim 1 , wherein modification of the second set of instructions in the rendering language within the at least one downloaded remotely hosted file comprises inserting instructions into the second set of instructions written in the rendering language within the at least one downloaded remotely hosted file.

6. The system of claim 3 , wherein the instructions inserted in the second set of instructions written in the rendering language call an API in a remote server.

7. The system of claim 1 , wherein modification of the second set of instructions in the rendering language within the at least one downloaded remotely hosted file comprises removing instructions from the second set of instructions written in the rendering language within the at least one downloaded remotely hosted file.

8. The system of claim 1 , wherein the computing device is identified based on the user profile data.

9. A method for providing applications from a hosted application marketplace to a computing device, the method comprising:

obtaining request data describing a request for hosted application data, wherein the request data comprises user profile data and computing device capability data comprising capability data selected from the group consisting of hardware capability data and software capability data;

identifying a computing device based on the request data;

determining compatible application data based on the request data, wherein the compatible application data identifies a set of applications that are compatible with the computing device based on the computing device capability data;

generating hosted application data based on the compatible application data, wherein:

the hosted application data comprises a file containing a first set of instructions in a scripting language;

parsing of the first set of instructions in the scripting language by a virtual machine causes downloading of at least one remotely hosted file containing a second set of instructions in a rendering language, wherein:

the second set of instructions in the rendering language within the at least one downloaded remotely hosted file is modified in accordance with a predetermined page modification rule to create at least one modified file;

at least the instructions in the at least one modified file is used to build a document object model (DOM);

the DOM is modified in accordance with a predetermined DOM modification rule to create a modified DOM; and

the rendering engine process is configured to render a user interface page based upon the modified DOM generated by the execution of a background page; and

interpretation of the second set of instructions in the rendering language contained within the at least one remotely hosted file by a rendering engine process causes the rendering engine process to render pages forming a user interface; and

transmitting the hosted application data in response to the obtained request data.

10. The method of claim 9 , wherein:

the at least one downloaded remotely hosted file further comprises a Cascading Style Sheet (CSS); and

the at least one modified file is further created by modifying the CSS within the at least one downloaded remotely hosted file in accordance with the predetermined page modification rule.

11. The method of claim 10 , wherein modification of the CSS within the at least one downloaded remotely hosted file comprises inserting a CSS into the at least one downloaded remotely hosted file.

12. The method of claim 10 , wherein modification of the CSS within the at least one downloaded remotely hosted file comprises removing a CSS from the at least one downloaded remotely hosted file.

13. The method of claim 9 , wherein modification of the second set of instructions in the rendering language within the at least one downloaded remotely hosted file comprises inserting instructions into the second set of instructions written in the rendering language within the at least one downloaded remotely hosted file.

14. The method of claim 11 , wherein the instructions inserted in the second set of instructions written in the rendering language call an API in a remote server.

15. The method of claim 9 , wherein modification of the second set of instructions in the rendering language within the at least one downloaded remotely hosted file comprises removing instructions from the second set of instructions written in the rendering language within the at least one downloaded remotely hosted file.

16. The method of claim 9 , wherein the computing device is identified based on the user profile data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2015
From: BOURKE, ADRIAN
To: SWEETLABS, INC.
Reel/Frame 035867/0962 →
Continuity (2)
Provisional Application 61922238 · Dec 31, 2013
Related Publication 20150188980A1 · Jul 2, 2015