System and methods for implementing code translations that enable persistent client-server communication via a proxy
First Claim
1. A computer implemented method of modifying code to be compatible with a runtime library, wherein the code is received from a remote source, the method comprising the steps of:
- receiving a code segment from the remote source, wherein the code segmentincludes a first reference that identifies information stored at the remote source;
tokenizing the code segment into a plurality of tokens;
parsing the plurality of tokens so as to determine relationships between the plurality of tokens;
translating the code segment into a modified code segment based on the determined relationships between the tokens such that the modified code segment is compatible with the runtime library, including translating the first reference to a second reference that is directed to a proxy server such that the modified code segment includes the second reference directed to the proxy server,wherein usage of the second reference in a client device causes a request identifying the information stored at the remote source to be sent to the proxy server rather than the remote source, and wherein the proxy server requests the identified information from the remote source.
9 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for extending or modifying the behavior of mobile (downloadable) software, such as JavaScript, HTML, and/or data that can be downloaded to a client device. One or more morphing agents are provided for translating and modifying code and data from a software source, such as a remote server. Each morphing agent translates and modifies one or more particular types of code. For example, one morphing agent may be provided for processing JavaScript code and another may be provided for processing HTML code and data. Each morphing agent typically includes a tokenizer module, a parser module and a translation module, each of which follows specific rule sets. Original software content is first tokenized according to a set of tokenizer rules, and subsequently parsed according to a set of parser rules. The parsed code is then translated according to the set of translator rules to produce the desired modified software content. An exception handler module is also provided for implementing exception rules when an exception occurs.
107 Citations
44 Claims
-
1. A computer implemented method of modifying code to be compatible with a runtime library, wherein the code is received from a remote source, the method comprising the steps of:
-
receiving a code segment from the remote source, wherein the code segment includes a first reference that identifies information stored at the remote source;
tokenizing the code segment into a plurality of tokens;parsing the plurality of tokens so as to determine relationships between the plurality of tokens; translating the code segment into a modified code segment based on the determined relationships between the tokens such that the modified code segment is compatible with the runtime library, including translating the first reference to a second reference that is directed to a proxy server such that the modified code segment includes the second reference directed to the proxy server, wherein usage of the second reference in a client device causes a request identifying the information stored at the remote source to be sent to the proxy server rather than the remote source, and wherein the proxy server requests the identified information from the remote source. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 24, 25)
-
-
15. A computer readable medium containing instructions for controlling a computer system to modify a code segment received from a remote source to be compatible with a runtime library, by:
-
tokenizing the code segment into a plurality of tokens, wherein the code segment includes a first reference that identifies information stored at the remote source; parsing the plurality of tokens so as to determine relationships between the plurality of tokens; translating the code segment into a modified code segment based on the determined relationships between the tokens such that the modified code segment is compatible with the runtime library, including translating the first reference to a second reference that is directed to a proxy server such that the modified code segment includes the second reference directed to the proxy server, wherein usage of the second reference in a client device causes a request identifying the information stored at the remote source to be sent to the proxy server rather than the remote source, and wherein the proxy server requests the identified information from the remote source. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 26, 27)
-
-
28. A computer-implemented method of modifying code to be compatible with a runtime library resident on a client device, the method comprising:
-
receiving a code segment by the client device from a proxy server, wherein the proxy server retrieved the code segment from a remote source in response to a first request from the client device for information stored at the remote source; tokenizing the code segment into a plurality of tokens; parsing the plurality of tokens so as to determine one or more relationships between the plurality of tokens; translating the code segment into a modified code segment based on the determined relationships between the tokens such that the modified code segment is compatible with the runtime library, wherein subsequent usage of the modified code segment at the client device causes a second request identifying information stored at the remote source to be sent to the proxy server that requests the identified information from the remote source for the client device; and wherein tokenizing, parsing and translating are performed by the client device. - View Dependent Claims (29, 30, 31)
-
-
32. A computer-implemented method of modifying code to be compatible with a runtime library resident on a client device, the method comprising:
-
receiving a code segment by a proxy server, wherein the proxy server retrieved the code segment from a remote source in response to a first request from the client device identifying information stored at the remote source; tokenizing the code segment into a plurality of tokens; parsing the plurality of tokens so as to determine one or more relationships between the plurality of tokens; and translating the code segment into a modified code segment based on the determined relationships between the tokens such that the modified code segment is compatible with the runtime library, wherein usage of the modified code segment at the client device causes a second request identifying information stored at the remote source to be sent to the proxy server that subsequently requests the identified information from the remote source for the client device; and wherein one or more of the steps of tokenizing, parsing and translating are performed by the client device, and wherein all other steps are performed by the proxy server. - View Dependent Claims (33, 34)
-
-
35. A computer implemented method, comprising:
-
receiving a code segment over a network connection, the code segment including a first reference to information stored at a remote site, wherein usage of the first reference would cause a message to be sent to the remote site; and modifying the code segment to be compatible with a runtime library, including translating the first reference to a second reference that is directed to a proxy server, wherein the compatibility for the modified code segment with the runtime library is arranged in accordance with tokenized relationships for the modified code segment and wherein usage of the second reference in a client device causes a message that identifies the information stored at the remote site to be sent to the proxy server instead of the remote site, and wherein the proxy sends a request for the identified information to the remote site for the client device. - View Dependent Claims (36, 37, 38, 39)
-
-
40. A computer implemented method of establishing a persistent communication session between a client system and a proxy server wherein the client system is able to interact with a plurality of remote sites via the same proxy server across multiple network requests, the method comprising:
-
establishing a communication session between the client system and a proxy server; receiving at the proxy server a plurality of first code segments from a corresponding plurality of remote sites, each first code segment including a first reference to information stored at the corresponding remote site, wherein usage of the first reference in each first code segment would cause a network request to be sent to the corresponding remote site; translating the first reference of each first code segment to a second reference that modifies each first code segment and identifies the corresponding remote site but is directed to the proxy server, wherein usage of each modified first code segment'"'"'s second reference in the client system causes a network request to be sent to the proxy server rather than the corresponding remote site, and wherein a compatibility for the modified first code segment with a runtime library is arranged in accordance with tokenized relationships for each modified first code segment; and using, in the client system, one or more of the second references of each modified first code segment such that one or more corresponding network requests for information stored by the remote sites are sent to the proxy server, and wherein the proxy server sends requests originated by the client system for the identified information to the remote sites. - View Dependent Claims (41, 42, 43, 44)
-
Specification