Hyperplexer
A method to securely execute tenant programs from multiple developers on a single server with greater efficiency and less configuration than conventional methods is disclosed herein. Each tenant program is treated as one part of single larger program. Each developer program on a server is coded in the same programming language and shares some particular functionality.
1 . A multi-tenant cloud server computer device to execute tenant programs from multiple tenant developers on the multi-tenant cloud server computer device, the multi-tenant cloud server computer device comprising at least one non-transitory computer-readable storage medium storing instructions causing at least one computer processor to:
receive an input from a user over a computer network requesting a first tenant program of a plurality of tenant programs on the multi-tenant cloud server computer device;
process the first tenant program according to the user input, the first tenant program having been generated by a first tenant developer using a code generation program that receives a specification without human code typing;
determine, from the user input and the processing of the first tenant program, that additional functionality is required;
retrieve, at run time, from a remote computer device over a computer network, according to at least one identifier contained in the first tenant program, a second tenant program generated by a second tenant developer using the code generation program without compilation of handwritten code;
verify, after retrieval and prior to execution, an integrity-check token for the second tenant program, the integrity-check token being associated with the at least one identifier contained in the first tenant program;
determine, from the user input and the processing of the second tenant program, that additional functionality is required;
retrieve, at run time, from the remote computer device over a computer network, according to at least one identifier contained in the second tenant program, a third tenant program generated by a third tenant developer using the code generation program without human code typing;
verify, after retrieval and prior to execution, an integrity-check token for the third tenant program, the integrity-check token being associated with the at least one identifier contained in the second tenant program;
link the second tenant program and dynamically invoke routines of the third tenant program within the same process memory space;
execute the second tenant program and third tenant program according to the user input; and
return an output to the user over a computer network.
2 . A multi-tenant cloud server computer device to execute tenant programs from multiple developers on the multi-tenant cloud server computer device, the multi-tenant cloud server computer device comprising at least one non-transitory computer-readable storage medium storing instructions causing at least one computer processor to:
receive at least one unique credential from a user over a computer network requesting a first tenant program of a plurality of tenant programs on the multi-tenant cloud server computer device;
validate the credential by executing the first tenant program, the first tenant program having been generated by a first tenant developer using a code generation program that receives a specification and accordingly arranges programming commands into an executable program;
output at least one authenticator to the user;
receive the authenticator from the user over a computer network;
execute the first tenant program to validate the authenticator and retrieve associated user data;
execute a second tenant program, the second tenant program having been generated by a second tenant developer using a code generation program without human code typing;
link the second tenant program to the first tenant program and call the first tenant program's routines directly in the same process memory; and
return an output to the user over a computer network.
3 . The multi-tenant cloud server computer device of claim 2 , wherein the first tenant developer is associated with a cloud hosting provider and wherein the second tenant developer is a customer of the cloud hosting provider.
4 . A multi-tenant cloud server computer device to execute tenant programs from multiple developers on the multi-tenant cloud server computer device, the multi-tenant cloud server computer device comprising at least one non-transitory computer-readable storage medium storing instructions for at least one computer processor to:
analyze a first tenant program specification authored by a first tenant developer utilizing a code generator program, the first tenant program part of a plurality of tenant programs on the multi-tenant cloud server computer device;
determine that the first tenant program specification requires a second tenant program specification;
analyze, utilizing the code generator program, a plurality of possible second tenant program specifications for compatibility with the first tenant program specification;
select a compatible second tenant program specification authored by a second tenant developer from the plurality of possible second tenant program specifications;
generate, utilizing the code generator program, a computer program from the combination of the first tenant program specification and the second tenant program specification without human code typing; and
execute the generated computer program.