System and method for managing external processing in a web-based computing system
Abstract
A computing system includes one or more processors and a memory. The memory stores instructions that cause the processors to generate a multi-tenant processing environment, and provide, for each of a plurality of tenants, a secure partition to store and isolate data and computational resources of a tenant. The instructions cause the processors to receive, from the tenant, a request to register, with the multi-tenant processing environment, a tenant application to be executed by the secure partition of the tenant. Responsive to the request, the instructions cause the processors to create a partition request message queue, a partition response message queue, and to create, within the secure partition, an application manager. The application manager receives computation parameters from the partition request message queue, passes the computation parameters to the tenant application, receives a computation result from the tenant application, and stores the computation result in the partition response message queue.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computing system, comprising:
one or more processors;
a memory coupled to the one or more processors and encoded with instructions that when executed cause the one or more processors to:
generate a multi-tenant processing environment configured to implement a multi-tenant processing flow comprising a plurality of stages, wherein the multi-tenant processing environment comprises a hydrocarbon exploration and production processing environment and the multi-tenant processing flow comprises a hydrocarbon production flow;
provide, for each tenant of a plurality of tenants of the multi-tenant processing environment, a secure partition configured to store and isolate data and computational resources of the tenant of the plurality of tenants;
receive, from the tenant, a request to register, with the multi-tenant processing environment, a tenant application to be executed at a stage of the plurality of stages of the multi-tenant processing flow by the secure partition of the tenant, wherein the tenant application is tenant proprietary application not viewable by any other tenant of the plurality of tenants; and
responsive to the request:
create a partition request message queue configured to pass computation parameters from a multi-tenant application to the secure partition of the tenant, wherein the computation parameters pertain to the hydrocarbon production flow;
create a partition response message queue configured to pass a computation result from the secure partition of the tenant to the multi-tenant application to be used in the hydrocarbon production flow; and
create, within the secure partition, an application manager configured to:
receive the computation parameters from the partition request message queue;
pass one or more of the computation parameters to the tenant application;
receive the computation result from the tenant application; and
store the computation result in the partition response message queue.
2. The computing system of claim 1 , wherein the memory is encoded with instructions that when executed cause the one or more processors to, responsive to the request: create a tenant application request message queue configured to pass the one or more of the computation parameters from the application manager to the tenant application.
3. The computing system of claim 1 , wherein the memory is encoded with instructions that when executed cause the one or more processors to, responsive to the request: create a tenant application response message queue configured to pass the computation result from the tenant application to the application manager.
4. The computing system of claim 1 , wherein the memory is encoded with instructions that when executed cause the one or more processors to, responsive to the request, verify authority of the tenant to access the secure partition.
5. The computing system of claim 1 , wherein the memory is encoded with instructions that when executed cause the one or more processors to verify authority of the tenant to modify the multi-tenant processing flow by:
prompting entry of credential information;
compare the credential information to stored credential information of the tenant; and
verifying the authority based on a match between the credential information and the stored credential information.
6. The computing system of claim 1 , wherein the memory is encoded with instructions that when executed cause the one or more processors to:
execute each stage of the plurality of stages of the multi-tenant processing flow;
write the computation parameters to the partition request message queue at the stage of execution of the tenant application; and
retrieve the computation result from the partition response message queue.
7. The computing system of claim 1 , wherein the computation parameters configured to execute the tenant application are controlled by the tenant, and wherein the computation parameters comprise a first set of parameters identifying the tenant application and a second set of parameters to be applied by the tenant application.
8. The computing system of claim 1 , wherein the application manager comprises a tenant application sender configured to identify the tenant application based on one or more of the computation parameters received from the partition request message queue.
9. The computing system of claim 8 , wherein the tenant application sender is configured to select the tenant application from a plurality of tenant applications in the secure partition based on the one or more of the computation parameters received from the partition request message queue.
10. A non-transitory computer-readable medium encoded with instructions that when executed by one or more processors cause the one or more processors to:
generate a multi-tenant processing environment configured to implement a multi-tenant processing flow comprising a plurality of stages, wherein the multi-tenant processing environment comprises a hydrocarbon exploration and production processing environment and the multi-tenant processing flow comprises a hydrocarbon production flow;
provide, for each tenant of a plurality of tenants of the multi-tenant processing environment, a secure partition configured to store and isolate data and computational resources of the tenant of the plurality of tenants;
receive, from the tenant, a request to register, with the multi-tenant processing environment, a tenant application to be executed at a stage of the plurality of stages of the multi-tenant processing flow by the secure partition of the tenant, wherein the tenant application not viewable by any other tenant of the plurality of tenants; and
responsive to the request:
create a partition request message queue configured to pass computation parameters from a multi-tenant application to the secure partition of the tenant, wherein the computation parameters pertain to the hydrocarbon production flow;
create a partition response message queue configured to pass a computation result from the secure partition of the tenant to the multi-tenant application to be used in the hydrocarbon production flow; and
create, within the secure partition, an application manager configured to:
receive the computation parameters from the partition request message queue;
pass one or more of the computation parameters to the tenant application;
receive the computation result from the tenant application; and
store the computation result in the partition response message queue.
11. The non-transitory computer-readable medium of claim 10 , wherein the instructions cause the one or more processors to, responsive to the request, verify authority of the tenant to access the secure partition.
12. The non-transitory computer-readable medium of claim 10 , wherein the instructions cause the one or more processors to create, as part of the application manager, a tenant application sender configured to identify the tenant application based on one or more of the computation parameters received from the partition request message queue.
13. The non-transitory computer-readable medium of claim 10 , wherein the instructions cause the one or more processors to select the tenant application from a plurality of tenant applications in the secure partition based on one or more of the computation parameters received from the partition request message queue.
14. The non-transitory computer-readable medium of claim 10 , wherein the instructions cause the one or more processors to, responsive to the request: create a tenant application request message queue configured to pass the one or more of the computation parameters from the application manager to the tenant application.
15. The non-transitory computer-readable medium of claim 14 , wherein the instructions cause the one or more processors to, responsive to the request: create a tenant application response message queue configured to pass the computation result from the tenant application to the application manager.
16. The non-transitory computer-readable medium of claim 15 , wherein the instructions cause the one or more processors to, responsive to the request, record the stage of execution of the tenant application in the plurality of stages of the multi-tenant processing flow.
17. The non-transitory computer-readable medium of claim 16 , wherein the instructions cause the one or more processors to:
execute each stage of the plurality of stages of the multi-tenant processing flow;
write the computation parameters to the partition request message queue at the stage of execution of the tenant application; and
retrieve the computation result from the partition response message queue.
18. The non-transitory computer-readable medium of claim 17 , wherein the instructions cause the one or more processors to:
retrieve the computation parameters from the partition request message queue;
identify the tenant application to be executed based on the one or more of the computation parameters retrieved from the partition request message queue;
write at least one of the computation parameters to the tenant application request message queue;
retrieve the computation result from the tenant application response message queue; and
store the computation result in the partition response message queue.
19. A method, comprising:
generating, by a computer system, a multi-tenant processing environment configured to implement a multi-tenant processing flow comprising a plurality of stages, wherein the multi-tenant processing environment comprises a hydrocarbon exploration and production processing environment and the multi-tenant processing flow comprises a hydrocarbon production flow;
providing, by the computer system, for each tenant of a plurality of tenants of the multi-tenant processing environment, a secure partition configured to store and isolate data and computational resources of the tenant of the plurality of tenants;
receiving, by the computer system, from the tenant, a request to register, with the multi-tenant processing environment, a tenant application to be executed at a stage of the plurality of stages of the multi-tenant processing flow by the secure partition of the tenant, wherein the tenant application is a tenant proprietary application not viewable by any other tenant of the plurality of tenants; and
responsive to the request:
creating, by the computer system, a partition request message queue configured to pass computation parameters from a multi-tenant application to the secure partition of the tenant, wherein the computation parameters pertain to the hydrocarbon production flow;
creating, by the computer system, a partition response message queue configured to pass a computation result from the secure partition of the tenant to the multi-tenant application to be used in the hydrocarbon production flow;
creating, by the computer system, within the secure partition, an application manager configured to:
receive the computation parameters from the partition request message queue;
pass one or more of the computation parameters to the tenant application;
receive the computation result from the tenant application; and
store the computation result in the partition response message queue.
20. The method of claim 19 , further comprising, responsive to the request, verifying, by the computer system, authority of the tenant to access the secure partition.
21. The method of claim 19 , further comprising identifying, by the computer system, the tenant application based on one or more of the computation parameters received from the partition request message queue.
22. The method of claim 19 , further comprising:
creating, by the computer system, as part of the application manager, a tenant application sender configured to identify the tenant application based on one or more of the computation parameters received from the partition request message queue;
creating, by the computer system, within the secure partition, a tenant application request message queue configured to pass the one or more of the computation parameters from the application manager to the tenant application; and
creating, by the computer system, within the secure partition, a tenant application response message queue configured to pass the computation result from the tenant application to the application manager.
23. The method of claim 22 , further comprising:
recording, by the multi-tenant application, responsive to the request, the stage of execution of the tenant application in the plurality of stages of the multi-tenant processing flow;
executing, by the multi-tenant application, the plurality of stages of the multi-tenant processing flow;
prior to executing the stage in the multi-tenant processing flow, activating, by the multi-tenant application, the tenant application;
writing, by the multi-tenant application, the computation parameters to the partition request message queue at the stage of execution of the tenant application; and
retrieving, by the multi-tenant application, the computation result from the partition response message queue.
24. The method of claim 23 , further comprising:
retrieving, by the application manager, the computation parameters from the partition request message queue;
identifying, by the application manager, the tenant application to be executed based on the one or more of the computation parameters retrieved from the partition request message queue;
writing, by the application manager, at least one of the computation parameters to the tenant application request message queue corresponding to the identified tenant application;
retrieving, by the application manager, the computation result from the tenant application response message queue corresponding to the tenant application; and
storing, by the application manager, the computation result in the partition response message queue.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.