×

MEMBER-ORIENTED HYBRID CLOUD OPERATING SYSTEM ARCHITECTURE AND COMMUNICATION METHOD THEREOF

  • US 20150067135A1
  • Filed: 11/06/2014
  • Published: 03/05/2015
  • Est. Priority Date: 08/22/2013
  • Status: Active Grant
First Claim
Patent Images

1. A member-oriented hybrid cloud operating system, wherein the system establishing a hybrid architecture based on layer, object and message models, and applying a member-oriented idea to manage constituent members and a processing environment thereof, and on this basis, the system performing high-efficient routing, read-write separation and load balancing on a member processing cluster, satisfying the requirements of being open and compatible, loosely coupled and extensible for a cloud operating system, and solving the self-management problem, the horizontal scaling problem of members and the high availability problem of stateful members of an existing cloud operating system,from the perspective of a layer model, the system being divided into a portal layer, a logic layer, an adaptation layer and an implementation layer from top to bottom, with each layer being relatively independent, the openness being enhanced by respectively defining a standard interface at each layer, and the compatibility being enhanced by adapting different functions at various layers;

  • from the perspective of an object model, the cloud operating system being composed of the functional modules of a cloud portal, cloud management portal, cloud resource management, monitoring management, metering and billing, service approval, and authorization and authentication, various functional components performing communication by Rest message-based calling, capable of being combined with each other freely, and being distributed and deployed as required, a new module being able to be developed in a value-added manner as required, and the extensibility of a platform being enhanced by realizing interoperation among different modules in the logic layer, the cloud operating system which is installed in a minimized manner comprising only the modules of a cloud portal, cloud management portal and cloud resource management, on this basis, monitoring, billing, approval or other modules being customized and extended as required, performing communication by Rest message-based calling, and being distributed, deployed and developed in a value-added manner as required, and the extensibility of the system being enhanced by realizing interoperation among different modules in the logic layer; and

    a message-based communication being introduced to support asynchronous calling, and a message communication interface JMS being used to transmit a Rest message, thus making the system architecture further decoupled, and on this basis, a construction-oriented design being applied, and a member management portal being responsible for managing metadata of members and monitoring operation states thereof;

    despite being able to realize extension, distribution and deployment as required, an object architecture belonging to an RPC (remote process call) synchronization communication manner, a sending end is able to continue execution after waiting for the response from a receiving end, and the processes of the two parties are closely coupled, and with the magnification and complication of the system, an association relationship among the members being over-complicated, regarding this problem, a message-based communication being introduced on the basis of the object architecture, a message communication interface JMS being used to transmit the Rest information, making the life periods of the sending and receiving ends different, supporting asynchronous calling and making the system structure further decoupled, at least the operations of turning on, shutting down and suspending of a virtual machine between a portal and a cloud resource layer being realized in an asynchronous manner, and the portal being able to return without the need to wait for a response after sending out a command, thus improving user interaction effects;

    the cloud operating system based on the above-mentioned hybrid architecture being able to satisfy the requirements of openness, compatibility and extension, and on this basis, based on a construction-oriented design idea, the member management portal being responsible for managing metadata information about the members, supporting at least the operations of registration, deletion, modification and querying, wherein,a member is a triple, comprising;

    a name, a service set, an access address, and a description;

    a service is a quadruple, comprising;

    a name, a type, a message protocol, a parameter list, a key name, a functional description, and a non-functional description;

    in addition to describing and managing the members, a member management module further monitors a processing environment thereof, provides a basic service for ensuring the scalability and availability of the members, and perfects the self-management capability of the cloud operating system, and when a member is registered, the system allocates a username user, a password psw and a unique member id thereto, and then an access process of a member processing cluster comprises;

    1) the processing cluster initiating an access request to a system bus with an address being url, the system bus verifying a username, password and id of an access node, and if the verification is passed, establishing a connection, the code being;

    connection=ConnectionFactory.createConnection(user,psw,url);

    2) establishing a write operation topic, and each processing node of the member subscribing to a write operation from the topic;

    write _topic=session,createTopic(id+“

    WRITE_TOPIC”

    );

    write_topic_consumer=session.createConsumer(write_topic);

    3) the member realizing write processing in an onMessage method of a writeTopicListener, and registering to the system bus;

    write_topic13 consumer.setMessagetistener(writeTopicListener);

    4) establishing a read operation queue group according to the number mum of processing nodes of the member, each processing node corresponding to one queue subscription read operationread_queue=session.createMultiQueue(num,id+“

    READ_QUEUE”

    );

    read_queue_consumer=session.createConsumer(read_queue); and

    5) realizing a specific read processing function in an onMessage method of a read QueueListener, and registering to the system busread_queue_consumer.setMessageListener(readQueueListener);

    on the basis of the above-mentioned read-write separation queue groups, service types of various members are distinguished in the member management module, setting the service types as idempotent or non-idempotent, an idempotent operation belonging to an unstateful operation, the result of each execution in the same state being the same, and a non-idempotent operation belonging to a stateful operation, the result of each execution in the same state being different, a router performing routing according to the service type, the non-idempotent operation being sent to a unique write queue, and the idempotent operation being sent to different read queues according to a load balancing strategy;

    a read operation load balancing process comprises1) calculating a processing capability of a node;

    if a CPU frequency, memory capacity and I/O bandwidth of a node i are respectively Ci, Mi and Bi, various resources of a cluster being the sums of various resources of nodes, i.e., C=Σ

    Ci, M=Σ

    Mi, B=Σ

    Bi;

    then a CPU weight value of the node i is WiCPU=Ci/C, the memory capacity WiRAM=Mi/M, and the I/O bandwidth WiIO =Bi/B; and

    if the required resource proportions of the member service are respectively pCPU, pRAM and pIO, the processing capability of the node i being
    Wi=pCPUWiCPU+pRAMWiRAM+pIOWiIO;

    2) calculating a load of each node according to a read-write operation weight value;

    if a read-write operation overhead ratio of a read queue Lr to a write queue Lw is a, a load of the node i being Li=LRi+aLW anda load state of each node being Si=Li/Wi and3) selecting a node with the lightest load for routing;

    the write operation being performed by means of pipeline, so as to improve the data write-in efficiency, the process thereof comprises;

    a node 1 firstly writing in data, after writing in one data fragment of 64 KB, while continuing to receive data, forwarding the written-in 64 K data to a node 2, and receiving and forwarding data in the same manner from the node 2 to a node n until the node n writing in the last data fragment not exceeding 64 KB; and

    on the basis of the above-mentioned communication manner, a node monitoring module further sending joining, quitting, invalidation and recovery events of the member processing node to the member management module, wherein a node joining event refers to adding a processing node to the member;

    a node quitting event refers to revoking a processing node from the member;

    a node invalidation event, refers to one processing node of the member being unavailable; and

    a node revival event refers to one unavailable node of the member recovering availability.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×