Collaboration service to support cross-process coordination between active instances of a microservice
AssigneeEMC IP Holding Company LLC
InventorsMadhu M. Ramachandran, Scott E. Joyce
Life of this patent
Estimating the term…
Loading patent…
AssigneeEMC IP Holding Company LLC
InventorsMadhu M. Ramachandran, Scott E. Joyce
Estimating the term…
Techniques are provided for enabling cross-process coordination between multiple instances of given microservice in a cloud computing system. A method includes running a plurality of active instances of a given microservice of a computing system comprising a distributed microservices architecture. A first active instance of the plurality of active instances executes a portion of program code of the given microservice to perform a job. The portion of the program code of the given microservice includes an instance synchronization element which is configured to enable cross-process coordination between the plurality of active instances of the given microservice with the support of a collaboration service. The first active instance utilizes the instance synchronization element to communicate with the collaboration service and cause the collaboration service to execute a process associated with the instance synchronization element to thereby implement the cross-process coordination between the plurality of active instances for executing the job.
A method, comprising:
An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by one or more processors causes the one or more processors to implement a method comprising:
A server node, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Multiprogramming arrangements: program synchronisation; Mutual exclusion, e.g. by means of semaphores
Programming languages or programming paradigms: aspect-oriented programming techniques
Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements: arrangements for next microinstruction selection
Multiprogramming arrangements: interprogram communication
About 14 years 9 months of term left · ends 4 Aug 2041 (estimated)
This disclosure relates generally to techniques for managing services in a distributed computing environment.
Currently, cloud computing services are provided globally to millions of users and customers who reside in different geolocations (e.g., countries, continents, etc.). Various entities provide private or public cloud computing services globally to different customers over various sectors for critical and non-critical applications. These entities provide various cloud computing services including, for example, Software-as-a-Service (SaaS), Infrastructure-as-a-Service (IaaS), and/or Platform-as-a-Service (PaaS). A cloud computing system implements an application programming interface (API) to enable various applications and computing platforms to communicate with and access the cloud computing system, or otherwise allow other applications and computing platforms to integrate within the cloud computing system.
A cloud computing service can implement a microservice architectural style approach to developing a single application, or product, as a suite of small services. In a distributed microservices computing environment, each microservice runs in its own process and communicates with other microservices using lightweight protocols such as HTTP. Microservices are commonly designed to enable the microservices to be “scaled up” by increasing the number of instances of the microservices as needed to support increased workloads and/or to provide high availability in the case of failures. In some cases, the set of active instances of a given microservices are not truly independent, such that the instances will need to coordinate to ensure full potential of the processing and memory resources that are available to such instances.
FIG. 1 is a high-level schematic illustration of a cloud computing system which comprises a distributed microservices architecture and a microservices instance collaboration service to support cross-process coordination between microservice instances, according to an exemplary embodiment of the disclosure.
FIG. 2 schematically illustrates a method for implementing a microservices instance collaboration service to support cross-process coordination between instances of a microservice, according to an exemplary embodiment of the disclosure.
FIG. 3 is a flow diagram of method for enabling cross-process coordination between instances of a given microservice using instance synchronization elements that are inserted into the microservice program code, according to an exemplary embodiment of the disclosure.
Exemplary embodiments of the disclosure will now be described in further detail with regard to systems and methods for enabling cross-process coordination between multiple instances of given microservice. As explained in further detail below, cross-process coordination between instances of a given microservice is implemented using instance synchronization elements that are inserted into the microservice program code, and using a microservice instance collaboration service that is configured to support the cross-process coordination between multiple instances of given microservice based on the instance synchronization elements. In some embodiments, instance synchronization elements are implemented using aspect-oriented programming (AOP).
FIG. 1 is a high-level schematic illustration of a cloud computing system which comprises a distributed microservices architecture and a microservices instance collaboration service to support cross-process coordination between microservice instances, according to an exemplary embodiment of the disclosure. More specifically, FIG. 1 schematically illustrates a system 100 which comprises a client computing device 110, a communications network 120, and a cloud computing system 130. The cloud computing system 130 comprises a user login portal 140, an API gateway 150, an application platform 160, a data storage system 170, a service discovery and registry module 180, and a microservice instance collaboration service 190 (alternatively referred to herein as a collaboration service 190).
The client computing device 110 comprises one of various types of computing systems or devices such as a desktop computer, a laptop computer, a workstation, a computer server, an enterprise server, a rack server, a smart phone, an electronic tablet, etc., which can access the cloud computing system 130 over the communications network 120. While the communications network 120 is generically depicted in FIG. 1, it is to be understood that the communications network 120 may comprise any known communication network such as, a global computer network (e.g., the Internet), a wide area network (WAN), a local area network (LAN), a satellite network, a telephone or cable network, a cellular network, a wireless network such as Wi-Fi or WiMAX, or various portions or combinations of these and other types of networks. The term “network” as used herein is therefore intended to be broadly construed so as to encompass a wide variety of different network arrangements, including combinations of multiple networks possibly of different types, which enable communication using, e.g., Internet Protocol (IP) or other communication protocols.