Automatic classification and parallel processing of untested code in a protected runtime environment
First Claim
1. A computer implemented method comprising:
- receiving at least one new code module that processes operational data of at least one computing device;
instantiating at least one duplicate engine to run the at least one new code module on the operational data, the at least one duplicate engine running the at least one new code module in parallel with a production engine running a plurality of verified code modules that process the operational data;
running the at least one new code module on the at least one duplicate engine with the operational data to produce new code module results;
running the plurality of verified code modules on the production engine with the operational data to produce verified code module results;
combining the new code module results with the verified code module results to produce combined results describing an operational status of the computing device;
measuring a performance of the new code module running on the duplicate engine;
determining whether the performance of the new code module meets a predetermined criterion; and
responsive to a determination that the performance of the new code module meets the predetermined criterion, adding the new code module to the plurality of verified code modules.
1 Assignment
0 Petitions
Accused Products
Abstract
A system is provided to run new code modules safely in a duplicative, protected environment without affecting the code modules that are already trusted to be on the system. The system receives a new code module that validates operational data of a computing device, and instantiates a new, parallel execution engine to run the new code module on the operational data in parallel with another execution engine running the trusted/verified code modules that also validate the same operational data. The new engine runs the new code module with the operational data to produce new code module results. The production engine runs the trusted/verified code modules with the operational data to produce verified code module results. The new code module results are combined with the verified code module results to produce combined results describing the operational status of the computing device.
-
Citations
18 Claims
-
1. A computer implemented method comprising:
-
receiving at least one new code module that processes operational data of at least one computing device; instantiating at least one duplicate engine to run the at least one new code module on the operational data, the at least one duplicate engine running the at least one new code module in parallel with a production engine running a plurality of verified code modules that process the operational data; running the at least one new code module on the at least one duplicate engine with the operational data to produce new code module results; running the plurality of verified code modules on the production engine with the operational data to produce verified code module results; combining the new code module results with the verified code module results to produce combined results describing an operational status of the computing device; measuring a performance of the new code module running on the duplicate engine; determining whether the performance of the new code module meets a predetermined criterion; and responsive to a determination that the performance of the new code module meets the predetermined criterion, adding the new code module to the plurality of verified code modules. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising:
-
a network interface unit configured to receive at least one new code module that processes operational data of at least one computing device; a memory; and a processor coupled to the network interface unit and memory, the processor configured to; instantiate at least one duplicate engine to run the at least one new code module on the operational data, the at least one duplicate engine running the at least one new code module in parallel with a production engine running a plurality of verified code modules that process the operational data; run the at least one new code module on the at least one duplicate engine with the operational data to produce new code module results; run the plurality of verified code modules on the production engine with the operational data to produce verified code module results; combine the new code module results with the verified code module results to produce combined results describing an operational status of the computing device; measure a performance of the new code module running on the duplicate engine; determine whether the performance of the new code module meets a predetermined criterion; and responsive to a determination that the performance of the new code module meets the predetermined criterion, adding the new code module to the plurality of verified code modules. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. One or more non-transitory computer readable storage media encoded with computer executable instructions operable to cause a processor to:
-
receive at least one new code module that processes operational data of at least one computing device; instantiate at least one duplicate engine to run the at least one new code module on the operational data, the at least one duplicate engine running the at least one new code module in parallel with a production engine running a plurality of verified code modules that process the operational data; run the at least one new code module on the at least one duplicate engine with the operational data to produce new code module results; run the plurality of verified code modules on the production engine with the operational data to produce verified code module results; combine the new code module results with the verified code module results to produce combined results describing an operational status of the computing device; measure a performance of the new code module running on the duplicate engine; determine whether the performance of the new code module meets the predetermined criterion; and responsive to a determination that the performance of the new code module meets the predetermined criterion, add the new code module to the plurality of verified code modules. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification