Web application module translation service
First Claim
1. A method performed by data processing apparatus, the method comprising:
- receiving a request from a requestor for a trusted native executable for particular source code for a particular instruction set architecture;
receiving, at a translation service, a linked combination of (a) portable code that has been compiled from the particular source code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format;
translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set architecture;
generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture;
andreturning the trusted native executable in a response to the request.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing a translation service that generates native object code by translating an intermediate representation of application code in a portable code format. One aspect of the subject matter described in this specification can be embodied in methods that include the actions of receiving a translation service request for a native executable for a particular instruction set architecture from a requestor, where the translation service request includes data specifying portable code in an instruction-set neutral format; obtaining the portable code; translating the portable code into native object code for execution on the particular instruction set architecture; generating a native executable for the particular instruction set architecture; and returning the native executable to the requestor.
-
Citations
51 Claims
-
1. A method performed by data processing apparatus, the method comprising:
-
receiving a request from a requestor for a trusted native executable for particular source code for a particular instruction set architecture; receiving, at a translation service, a linked combination of (a) portable code that has been compiled from the particular source code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format; translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set architecture; generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture; and returning the trusted native executable in a response to the request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more computers and one or more non-transitory storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to provide; a translation service configured to receive requests from a requestor, wherein the translation service performs operations comprising; receiving a request from the requestor for a trusted native executable for particular source code for a particular instruction set architecture; receiving a linked combination of (a) portable code that has been compiled from the particular source code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format; translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set; generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture; and returning the trusted native executable in a response to the request. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer storage medium, encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to provide:
a translation service configured to receive requests from a requestor, wherein the translation service performs operations comprising; receiving a request from the requestor for a trusted native executable for particular source code for a particular instruction set architecture; receiving a linked combination of (a) portable code that has been compiled from the particular source code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format; translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set architecture; generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture; and returning the trusted native executable in a response to the request. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
22. A method performed by data processing apparatus, the method comprising:
-
receiving a request from a requestor for a trusted native executable for particular source code for a particular instruction set architecture; determining whether the trusted native executable for the particular instruction set architecture is locally stored; if the trusted native executable is not locally stored, determining whether portable code that has been compiled from the particular source code is locally stored; requesting the portable code from a remote server if the portable code is not locally stored; receiving a linked combination of (a) the portable code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format; translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set architecture; generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture; and returning the trusted native executable in a response to the request. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system comprising:
-
one or more computers and one or more non-transitory storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to provide; a translation service configured to receive requests from requestors, wherein the translation service performs operations comprising; receiving a request from a requestor for a trusted native executable for particular source code for a particular instruction set architecture; determining whether trusted native executable for the particular instruction set architecture is locally stored; if the trusted native executable is not locally stored, determining whether portable code that has been compiled from the particular source code is locally stored; requesting the portable code from a remote server if the portable code is not locally stored; receiving a linked combination of (a) the portable code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format; translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set architecture; generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture; and returning the trusted native executable in a response to the request. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A non-transitory computer storage medium, encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to provide:
a translation service configured to receive requests from requestors, wherein the translation service performs operations comprising; receiving a request from a requestor for a trusted native executable for particular source code for a particular instruction set architecture; determining whether the trusted native executable for the particular instruction set architecture is locally stored, if the trusted native executable is not locally stored, determining whether portable code that has been compiled from the particular source code is locally stored; requesting the portable code from a remote server if the portable code is not locally stored; receiving a linked combination of (a) the portable code and (b) one or more libraries of system-level instructions that define constraints of code execution environments for the trusted native executable, wherein the combination is source language independent and in an instruction-set neutral format; translating the portable code and the linked one or more libraries into native object code for execution on the particular instruction set architecture; generating the trusted native executable, by linking the native object code with one or more native system code libraries, for execution on the particular instruction set architecture; and returning the trusted native executable in a response to the request. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51)
Specification