IP Library Granted Patent US 8,181,107
Granted Patent B2
US 8,181,107 · App. 11/636,033 · Granted May 15, 2012

Content adaptation

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,181,107
App. No.
11/636,033
Granted
May 15, 2012
Kind
B2
Abstract

A system includes a mobile device and an optimization server. The mobile device is capable of transmitting request data that includes a requested webpage and identification data. The optimization server is configured to receive response data that corresponds to the request data from a content server, to adapt the response data based on the identification data, and to transmit the adapted response data to the mobile device.

Claims (63)

1. A system comprising:

an optimization server configured

to receive from a content server response data that corresponds to request data transmitted by a mobile device, wherein:

the request data includes a request for the response data and identification data of the mobile device,

to adapt the response data to the mobile device based on the identification data, and

to transmit the adapted response data to the mobile device,

wherein the adapted response data is based on the optimization server extracting a first global JavaScript object from a data structure and

an associated JavaScript file to a global object map,

wherein:

the data structure and the associated JavaScript file represent the response data,

executing, without invocation from the mobile device, JavaScript functions to be executed by the mobile device upon receiving and loading the response data, wherein:

the execution updates the data structure,

determining whether a node of the updated data structure includes an attribute whose value is associated with the first global JavaScript object to be included in the adapted response data,

parsing the attribute value for any reference to the first global JavaScript object based on the determination,

creating a dependency set for the first global JavaScript object based on the parsing, wherein:

the dependency set provides a second global JavaScript object on which the first global JavaScript object relies,

decompiling the first global JavaScript object of the dependency set and the second global JavaScript object into source code, and

constructing a final JavaScript source code based on the decompilation.

2. The system of claim 1 , wherein the optimization server does not include a source code referring to the executed JavaScript functions in the final JavaScript source code.

3. A method for JavaScript processing, the method comprising:

extracting a first global JavaScript object from a data structure and an associated JavaScript file t a global object map, wherein:

the data structure and the associated JavaScript file represent response data;

executing, without invocation from the mobile device, JavaScript functions to be executed by the mobile device upon receiving and loading the response data,

wherein:

the execution updates the data structure,

determining whether a node of the updated data structure includes an attribute whose value is associated with the first global JavaScript object to be included in the adapted response data;

parsing the attribute value for any reference to the first global JavaScript object based on the determination;

creating a dependency set for the first global JavaScript object based on the parsing, wherein:

the dependency set provides a second global JavaScript object on which the first global JavaScript object relies during the execution of the JavaScript functions;

decompiling the first global JavaScript object of the dependency set and the second global JavaScript object into source code; and

constructing a final JavaScript source code based on the decompilation.

4. The method of claim 3 , wherein extracting the JavaScript object involves extracting a particular JavaScript object, wherein the particular JavaScript object is related to either a form or a tab box.

5. The method of claim 4 , further comprising determining whether a JavaScript object is a particular JavaScript object if the element of the node is a descendent of a form node, the element is from a form element, or the element is within a tab box content section.

6. The method of claim 3 , wherein creating the dependency set includes:

parsing the attributes value for any JavaScript code,

tokenizing the JavaScript code for any additional identifiers,

extracting a list of any additional identifiers that match the JavaScript object in the global object map,

updating the dependency set with the matched identifiers,

decompiling the matched JavaScript object into source code, and

further tokenizing the source code for other references to global objects so that the dependency set is complete.

7. The method of claim 3 , wherein the final JavaScript source code does not include a source code referring to the executed JavaScript functions.

8. A tangible computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of JavaScript processing for adapting response data for a mobile device, the method comprising:

extracting a first global JavaScript object from a data structure and an associated JavaScript file to a global object map, wherein the data structure and the associated JavaScript file represent the response data;

executing, without invocation from the mobile device, JavaScript functions to be executed by the mobile device upon receiving and loading the response data, wherein:

the execution updates the data structure,

determining whether a node of the updated data structure includes an attribute whose value is associated with the first global JavaScript object to be included in the adapted response data;

parsing the attribute value for any reference to the first global JavaScript object based on the determination;

creating a dependency set for the first global JavaScript object based on the parsing, wherein the dependency set provides a second global JavaScript object on which the first global JavaScript object relies during the execution of the JavaScript functions;

decompiling the first global JavaScript object of the dependency set and the second global JavaScript object into source code; and

constructing a final JavaScript source code base on the decompilation, wherein:

the final JavaScript source code does not include the executed JavaScript functions.

9. A tangible serving device comprising:

a response monitor that receives response data from a content server and an adaptor that adapts the response data based on the properties of a mobile device, wherein the adapted response data is provided to a mobile device for downloading,

wherein the adaptor adapts the response data by JavaScript processing, which comprises:

extracting a first global JavaScript object from a data structure and an associated JavaScript file to a global object map, wherein the data structure and the associated JavaScript file represent the response data;

executing, without invocation from the mobile device, JavaScript functions to be executed by the mobile device upon receiving and loading the response data, wherein:

the execution updates the data structure,

determining whether a node of the updated data structure includes an attribute whose value is associated with the first global JavaScript object to be included in the adapted response data;

parsing the attribute value for any reference to the first global JavaScript object based on the determination;

creating a dependency set for the first global JavaScript object based on the parsing, wherein the dependency set provides a second global JavaScript objects on which the first global JavaScript object relies during the execution of the JavaScript functions;

decompiling the first global JavaScript object of the dependency set and the second global JavaScript object into source code; and

constructing a final JavaScript source code based on the decompilation.

10. The tangible serving device of claim 9 , wherein the adaptor does not include a source code referring to the executed JavaScript functions in the final JavaScript source code.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: BYTEMOBILE INNOVATIONS, LLC
To: OPTIMORPHIX, INC.
Reel/Frame 064020/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2022
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE INNOVATIONS, LLC
Reel/Frame 059087/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 037289/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: CITRIX SYSTEMS, INC.
To: BYTEMOBILE, INC.
Reel/Frame 035440/0599 →
RELEASE OF SECURITY INTEREST Recorded Feb 20, 2015
From: PARTNERS FOR GROWTH III, L.P.
To: BYTEMOBILE, INC.
Reel/Frame 034991/0891 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 6, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031730/0322 →
THIS SUBMISSION IS TO CORRECT THE SPELLING OF THE RECEIVING PARTY (ASSIGNEE)'S STREET NAME IN THE ORIGINAL COVER SHEET RECORDED AT REEL/FRAME 030609/0389. THE ADDRESS NAME SHOULD BE WEST CYPRESS CREEK ROAD. Recorded Sep 17, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 031287/0874 →
MERGER Recorded Jun 13, 2013
From: BYTEMOBILE, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 030609/0389 →
SECURITY AGREEMENT Recorded Dec 22, 2011
From: BYTEMOBILE, INC.
To: PARTNERS FOR GROWTH III, L.P.
Reel/Frame 027438/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2006
From: MELNYK, MIGUEL; BASHYAM, SURESH; PENNER, ANDREW; ROCHON, JOHN; DAKHANE, KAPIL
To: BYTEMOBILE, INC.
Reel/Frame 018633/0297 →