WO2014058299A1 - A system and method for virtual peer to virtual peer networking in a virtualized environment - Google Patents

A system and method for virtual peer to virtual peer networking in a virtualized environment Download PDF

Info

Publication number
WO2014058299A1
WO2014058299A1 PCT/MY2013/000172 MY2013000172W WO2014058299A1 WO 2014058299 A1 WO2014058299 A1 WO 2014058299A1 MY 2013000172 W MY2013000172 W MY 2013000172W WO 2014058299 A1 WO2014058299 A1 WO 2014058299A1
Authority
WO
WIPO (PCT)
Prior art keywords
vp2vp
peer
virtual
virtual machine
user
Prior art date
Application number
PCT/MY2013/000172
Other languages
French (fr)
Inventor
Nurman Mohd Nazir MOHD AMRIL
Hong Hoe ONG
Kandasamy karuppiah ETTIKAN
Mohamad Yassin YASZRINA
Original Assignee
Mimos Berhad
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimos Berhad filed Critical Mimos Berhad
Publication of WO2014058299A1 publication Critical patent/WO2014058299A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Definitions

  • the present invention relates to a system and method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising a number of vp2vp components.
  • Cloud computing the delivery of computing and storage capacity as a service has been widely adopted for the deployment of many enterprise applications with the advent of virtual computing services.
  • One Cloud computing, infrastructure as a service (laaS) enables virtual machines, virtual storage, and virtual networks to be available on demand.
  • Cloud middleware is typically unaware of hardware, software, and network capabilities and therefore may not appropriately assign and allocate distributed resources to distributed applications. Further the current Cloud middleware is generally unable to map resource requirements of applications against available distributed resources. This is due to generalized virtual machine (VM) deployment and creation methods that do not take into account hardware, software and network capabilities. Specifically, current Cloud middleware does not deploy applications on selective VMs with software, hardware and network capabilities that meet their processing needs and/or requirements.
  • VM virtual machine
  • the present invention leverages peer-to-peer (P2P) technology in a virtualized environment (e.g. cloud systems) to deliver high performance and scalability.
  • P2P peer-to-peer
  • Scalability may be delivered by removing the bottleneck generally associated with centralized management infrastructures.
  • High performance may be attained through the ability to map resource requirements of applications against available distributed resources.
  • Cloud systems are being used to manage deployment of virtual machines for enterprise applications. However, they have not been widely deployed for applications that demand high performance and high throughput. Examples of such applications include, but are not limited to, scientific applications that need to exploit software, hardware network capabilities such as batch, workflow and parallel applications.
  • the present invention relates to a system and method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising a number of vp2vp components.
  • the vp2vp components include a vp2vp Registrar, vp2vp Discovery, vp2vp Scheduler, vp2vp Load Balancer, vp2vp Data Manager, vp2vp Service Level Agreements (SLA) and vp2vp Pricing.
  • One aspect of the present invention provides a system (600) for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising at least one hardware layer (201); at least one virtualisation layer (203); at least one vp2vp layer (204); and at least one application layer (206).
  • vp2vp virtual peer to virtual peer
  • the said vp2vp layer (204) further comprises a plurality of virtual peer nodes configured as virtual peers in said virtualized environment based on vp2vp protocol; the plurality of virtual peer nodes comprising at least one vp2vp Registrar (610) provided with means for registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity preferably based on shortest route and/or distance in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof; and defines and encapsulates minimal primitives that are common to peer-to-peer networking to ensure high performance, scalability and interoperability; at least one vp2vp Discovery (620) provided with means that enables a user and/or an application to communicate with said virtual machines in said overlay network and locate the nearest virtual machine that satisfies user and/or application requirements; at least one vp2vp Scheduler (630) provided with means to extract runtime information by constructing a routing table and
  • the invention provides a method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment.
  • the method comprising steps of registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity using at least one vp2vp Registrar (610); enabling a user and/or an application to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery (620); extracting runtime information to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler (630); collecting information on current load and hardware specifications and reorganising deployed virtual machines from a plurality of physical servers using at least one vp2vp Load Balancer (640); managing distribution of data generated by applications in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager (650); defining service level agreements in said vp
  • a further aspect of the invention provides a method for registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity using a vp2vp Registrar.
  • the said method comprises the steps of contacting the nearest physical server that is part of the overlay network (710); establishing a connection with the identified nearest physical server when found (720); and registering the new virtual machine as part of the overlay network by adding the virtual machine to the existing virtual machine peer-to-peer routing overlay, or, if there is no existing virtual machine peer-to-peer routing overlay, creating a new virtual machine peer-to-peer routing overlay (730).
  • Another aspect of the invention provides a method for enabling a user and/or an application to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery.
  • the said method comprises the step of contacting a nearest physical server that is part of the vp2vp network (810); and locating the nearest virtual machine that satisfies said user and/or application requirements in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof based on virtual machine peer to peer routing overlay (820).
  • Yet another aspect of the invention provides a method for extracting runtime information to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler.
  • the said method comprises the steps of requesting initialization of application (910) and thereby determining hardware requirements to initialize application (920); allocating virtual machine(s) to application to nearby virtual peer (930); if the virtual machine is being allocated for the first time, constructing an application peer-to-peer routing table for the new running application, or, if not, updating the application peer-to-peer routing table with the virtual machine; and repeating preceding two steps if there are further virtual machines to allocate; determining whether a virtual machine image satisfying user requirements is available in the network (940); requesting user to upload a new virtual machine image with libraries, data, application and associated configuration in order to deploy the application if said virtual machine image has not been uploaded (950); identifying shortest route to the most suitable physical server to allocate the virtual machine to in accordance with metrics such as round-trip time, congestion level, server
  • a further aspect of the invention provides a method for collecting information on current load and hardware specifications and reorganising deployed virtual machines from a plurality of physical servers using at least one vp2vp Load Balancer.
  • the said method comprises the steps of extracting runtime information of physical machines (1010); determining the number of existing virtual machines as well as the number of new virtual machines which have been created and deployed in the virtualized environment ( 020); updating information on the number of physical servers which have free capacity for future virtual machine resource slot allocation (1030); constructing a VM routing peer- to-peer table of existing VMs in each physical server based on the number of deployed VMs, and maintaining information on them (1040); and migrating virtual machines to increase the number of virtual machine slots and increasing system utilization based on periodic and runtime information from VM routing table of each physical server (1050).
  • the invention provides a method for managing distribution of data generated by applications in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager.
  • the said method comprises the steps of uploading virtual machine image on Cloud Storage (1110); creating new overlay network for newly uploaded VM based on the virtual machine routing table of the physical server, storing a virtual machine image in the nearest location in terms of round-trip time, congestion level and server capability and, if the virtual machine has been uploaded, monitoring for new data generated by applications (1120); partitioning said virtual machine data into multiple chunks (1 30); registering each virtual machine data chunk to the newly created overlay network (1140); determining the number of physical servers which have free storage capacity and sorting in accordance with maximum capacity and relative distance; determining the most appropriate Cloud physical storage to distribute chunks based on storage capacity, relative distance, round-trip time, latency, bandwidth and other relevant parameters (1150); distributing the chunks strategically and evenly to a number of identified Cloud physical storage via peer-to-peer protocol based on shortest round-trip time and least
  • Another aspect of the invention provides a method for defining service level agreements in said vp2vp system using at least one vp2vp Service Level Agreement.
  • the said method comprises the steps of determining CPU capacity, disk storage capacity, and memory utilization, availability of VM slots and network bandwidth and other relevant metrics via vp2vp protocol; sending an application with the service level agreements (SLA) via vp2vp protocol specifying maximum storage capacity used, hardware requirement expected bandwidth allocation, and the minimum, average and maximum charges/prices that the user is willing to spend to meet its SLA requirements (1210); and determining likelihood that the SLA can be satisfied / guaranteed based on the virtual and physical information extracted from the vp2vp environment (1220).
  • SLA service level agreements
  • a further aspect of the invention provides a method for determining charges to be applied to a user based on quality of service requirements of the user using at least one vp2vp Pricing.
  • the said method comprises the steps of determining total cost of ownership for deploying and operating cloud resources based on total cost of storage capacity, total cost of physical servers, operational cost and a combination of these and other cost factors (1310); submitting requirements on storage space needed, memory, processor capability, etc., the lifetime of the application and the quality of service required for specific application and its tasks/jobs (1320); determining availability of virtual machine allocation slot capacity and current resource availability (1330); and determining price based on VM slot requirements (1340).
  • FIG. 1.0 illustrates an example of a prior art arrangement.
  • FIG. 2.0 illustrates an embodiment of the invention on a conceptual level.
  • FIG. 3.0 illustrates a generalised vp2vp system.
  • FIG. 4.0 illustrates interaction and communication between user/applications and virtual and hardware layers.
  • FIG. 5.0 illustrates VM peer-to-peer routing.
  • FIG. 6.0 illustrates an embodiment of the system of the present invention.
  • FIG. 6.0a illustrates the steps of the methodology for virtual peer to virtual peer (vp2vp) networking in a virtualized environment.
  • FIG. 7.0 illustrates the vp2vp Registrar and steps for registering VM in the vp2vp system.
  • FIG. 8.0 illustrates the vp2vp Discovery and steps for discovering VM in the vp2vp system.
  • FIG. 9.0 illustrates the vp2vp Scheduler and steps for creating or updating the application peer-to-peer routing table and steps for the allocation of VM to the application.
  • FIG. 10.0 illustrates the vp2vp Load Balancer and steps for extracting virtual and physical information to increase the number of available VM slots for applications and to increase overall system utilization.
  • FIG. 11.0 illustrates the vp2vp Data Manager and steps for distributing and storing data chunks in the vp2vp environment.
  • FIG 12.0 illustrates the vp2vp SLA and steps for providing service level agreements (SLAs) support in the vp2vp environment.
  • SLAs service level agreements
  • FIG. 13.0 illustrates Vp2vp SLA: Steps for charging users to deploy their applications in vp2vp environment.
  • the present invention provides a system and method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising a number of vp2vp components.
  • the vp2vp components include a vp2vp Registrar, vp2vp Discovery, vp2vp Scheduler, vp2vp Load Balancer, vp2vp Data Manager, vp2vp Service Level Agreements (SLA) and vp2vp Pricing.
  • Figure 1 illustrates an exemplary embodiment of the prior art, "Virtual peer in a peer-to- peer network", described in United States Patent No. 7,782,866.
  • the peer-to-peer (P2P) layer (101) is situated at the top of hardware stack (102).
  • the hypervisor (103) is then placed on top of the P2P layer (101) which is further built up with the operating system (OS) platform (104), and subsequently the applications (105).
  • Figure 2 illustrates one embodiment of the present virtual peer to virtual peer (vp2vp) system (200) at a conceptual level.
  • the system (200) comprises several layers from the low-tier of hardware to upper tier of applications.
  • the bottom layer comprises hardware layer (201) which includes hardware equipment such as motherboard and processors.
  • the hardware layer (201) may also comprise a hardware accelerator with special purpose processors such as Graphical Processing Units (GPU) and/or Field Programmable Gate Arrays (FPGAs) cards.
  • the hardware accelerator is supported to leverage the parallel processing power of graphics processing units (GPUs), offering speed improvements of from 10-200 times over comparative calculation runs on traditional processors.
  • the hardware layer (201) may also comprise network equipment that optimizes incoming and outgoing messages before they reach their target destination. For example, input messages may be un-marshalled and output messages may be marshalled for transmission over the network.
  • the hypervisor layer (202) includes virtual machine managers (VMMs) that manage the creation and deployment of virtual machines on physical machines. Examples of such VMMs include Xen and KVM.
  • the operating system (OS) layer (203) includes the actual operating system that runs on top of the hardware.
  • Typical operating systems such as Windows, Unix/Linux, Mac OS X are positioned at the operating system layer (203).
  • OS operating system
  • 203 operating system layer
  • the Virtual Peer to Virtual Peer (vp2vp) layer (204) of the present invention embodies a system that forms an overlay network between virtual machines.
  • the vp2vp layer (204) manages connections, communications, routing, and all other aspects of resource management between two or more virtual machines (303).
  • Virtual machines/peers (303) are treated independently using the vp2vp protocol regardless whether the sessions derive from Cloud, Virtual Machine Managers (e.g., Xen or KVM) and/or other external parties.
  • the vp2vp layer (204) is situated on top of the OS layers (203).
  • This layer provides for the creation of an overlay network of virtual machines with specific topologies and properties in accordance to characteristics of application, hardware, software and network capabilities. It integrates virtual machine and P2P capabilities to exploit the characteristics of hardware, software and network capabilities to deliver high performance and scalability required for applications.
  • a Cloud middleware layer (205) is positioned on the OS layer (203).
  • the cloud middleware dynamically manages virtual peers from a collection of different machines as well as providing the necessary resource management features and security for the deployment and management of virtual machines.
  • Well-known examples of such Cloud middleware include Eucalyptus, OpenNebula, OpenNimbus, Tashi, Aneka and so on.
  • the application layer (206) is where the actual execution of applications of users takes place. Applications may vary from batch, parallel, interactive and enterprise applications where they continuously interact dynamically with many of the layers below. Such architecture provides the ability for building and deploying distributed applications on geographically distributed resources. In another embodiment, web services (207) can also be placed on top of the application layer (206) where interaction between applications may take place.
  • the vp2vp system comprises separation of concerns of application peer-to-peer routing and virtual machine (VM) peer-to-peer routing.
  • the Application peer-to-peer routing specifically optimizes the VM placement and VM migration for specific applications. This ensures that high performance and load balancing of tasks can be attained for that specific application throughout its execution.
  • the VM peer-to-peer routing is formed in accordance to structured peer-to-peer (p2p) overlay networks like CAN, Chord, Pastry, and Tapestry and/or non-structured peer-to- peer overlay networks like Kazaa and gNutella.
  • the VM peer-to-peer routing (501) optimizes the overall resource capacity i.e., capacity of physical servers and utilization in a virtualized environment. Both application peer-to-peer routing and VM peer-to-peer routing help to maintain high performance for applications and high scalability of the available resources at the same time.
  • FIG. 6 further illustrates various components of the vp2vp system (600) of embodiments of the invention.
  • the vp2vp system (600) serves as a light weight middleware system which is responsible for the delivery of the high performance required for applications and the scalability required for the overall system.
  • virtual machines that are registered and belong to the vp2vp system (600) are described as "virtual peers”. The following discussion describes the roles for each vp2vp component of the vp2vp system (600).
  • a vp2vp Registrar component (610) constructs a structured peer-to-peer (p2p) overlay network based on both virtual and physical distance proximity (e.g. preference for shortest route/distance).
  • the vp2vp Registrar (610) defines and encapsulates minimal primitives that are common to peer-to-peer networking ensuring that high performance, scalability and interoperability become possible.
  • a vp2vp Discovery component (620) locates the nearest VM that satisfies user/application requirements preferably in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination of these and external factors, etc., based on the VM peer-to-peer routing overlay.
  • a vp2vp Scheduler component (630) extracts runtime information from the virtual peer environment to determine the most appropriate physical server(s) to assign new VM(s) and to allocate data. This involves the steps of constructing a routing table for application peer-to-peer routing.
  • a vp2vp Load Balancer component (640) makes use of P2P techniques and methodology to aggregate and collect information of current load and hardware machine specifications in order to determine the most effective way to re-organize currently deployed virtual machines which are scattered all over multiple physical servers. Periodically, or when a certain event is triggered, the vp2vp load balancer component (640) performs migration of VMs between physical servers to increase resource utilization and scalability.
  • a vp2vp Data Manager component (650) manages distribution of data generated by applications in a peer-to-peer manner and stores them appropriately to physical storage based on the most accessible places and locations.
  • a vp2vp Service Level Agreements (SLA) component (660) defines the service level agreements (SLA) in the vp2vp system (600) specifying the total duration of application lifetime, maximum storage capacity used, expected performance (i.e. software and hardware load), expected bandwidth allocation, and the minimum, average and maximum charges that the user is willing to spend to meet its SLA requirements.
  • the vp2vp Service Level Agreements (SLA) component (660) provides the user with the ability to specify its expected future allocation of VMs with certain criteria, for example minimum hardware specification, minimum storage capacity, and minimum bandwidth allocation, etc.
  • the vp2vp Service Level Agreements (SLA) component (660) defines a contract between the user and the vp2vp system (600) and once the contract has been accepted by the vp2vp system (600), the vp2vp system (600) has an obligation to satisfy the agreement where failure to do so will result in penalty being imposed to virtual peers.
  • SLA Service Level Agreements
  • a vp2vp Pricing component (670) determines how much to charge users based on their QoS requirements in the vp2vp environment. It extracts information of current load and resource availability in a vp2vp environment to determine different charges for spot price, future price and/or different pricing schemes.
  • FIG. 6.0a illustrates the steps of the methodology for virtual peer to virtual peer (vp2vp) networking in a virtualized environment.
  • Virtual machines VMs
  • VMs Virtual machines
  • 610a virtual and physical proximity
  • a user and/or an application is enabled to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery (620a).
  • Runtime information is extracted to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler (630a) and information on current load and hardware specifications are collected and deployed virtual machines are reorganized from a plurality of physical servers using at least one vp2vp Load Balancer (640a).
  • Distribution of data generated by applications is managed in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager (650a) while service level agreements are defined in said vp2vp system using at least one vp2vp Service Level Agreement (660a) and charges to be applied to a user is determined based on quality of service requirements of the user using at least one vp2vp Pricing (670a).
  • Figure 7 illustrates the operation of the vp2vp Registrar (610).
  • the vp2vp Registrar (6 0) constructs structured peer-to-peer (P2P) overlay networks and defines and encapsulates minimal primitives that are common to peer-to-peer networking. This ensures high performance, scalability and interoperability are possible.
  • P2P peer-to-peer
  • a resource owner contacts the nearest physical server that is part of the Virtual Peer network (710). When found/ communication is established with the identified physical server (720).
  • the vp2vp discovery registers the new VM as part of the vp2vp network and adds the new VM as part of the overlay network (update VM peer-to-peer routing table) (730).
  • Figure 8 illustrates the operation of the vp2vp Discovery component (620).
  • the discovery steps for VM include communication by the user or application with a nearby virtual peer in the vp2vp network (810). Based on the VM peer-to-peer routing overlay, the nearest VM that satisfies user/application requirements in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination of these and external factors, etc., is located (820).
  • the vp2vp Scheduler extracts runtime information from the vp2vp environment to determine the most appropriate physical server(s) to assign new VM(s).
  • the application requests new Virtual Machine(s) on behalf the user (910) and a VM is allocated to the application. If the VM is being allocated for the first time, then an application peer-to-peer routing table is constructed for the application. If the application has been allocated with the VM previously, the application peer-to-peer routing table is updated with the new allocated VM. This process is repeated if there is a further VM to allocate.
  • the hardware requirements to run the application are determined (920).
  • a request for a VM allocation in accordance to user's quality-of-service (QoS) specification is sent to nearby virtual peer (930).
  • the system determines whether a VM image satisfying the user requirements is available in the network (940). If the VM image has not been uploaded, the user is asked to upload a new VM image with libraries, data, application and associated configuration in order to deploy the application (950).
  • the system Based on the VM peer-to-peer routing table of the physical node, the system identifies the shortest route to the most suitable physical server to allocate the VM to in accordance with metrics such as round-trip time, congestion level, server capability and other related and relevant metrics (960).
  • the VM is then allocated to the identified physical server (970).
  • a vp2vp Load Balancer extracts runtime information of physical machines, for example CPUs, memory, GPUs, FGPA, etc., in real-time and/or in periodic intervals via the vp2vp protocol (1010).
  • the number of existing VMs as well as the number of new VMs which have been created and deployed in the virtualized environment is determined (1020)
  • Information on the number of physical servers which have free capacity for future VM resource slot allocation is then updated (1030).
  • the vp2vp Load Balancer constructs a VM routing peer-to-peer table of existing VMs in each physical server, and maintains information on them (1040).
  • migration of VMs to increase the number of VM slots and to increase system utilization is performed (1050).
  • a vp2vp Data Manager manages, distribution of virtual machines uploaded by users and data generated by applications, and stores them appropriately to physical storage.
  • a user uploads a VM image on Cloud Storage (1110).
  • a VM image is stored in the nearest location in terms of round-trip time, congestion level and server capability.
  • the vp2vp Data Manager (65) monitors for new data generated by applications (1120).
  • the VM data is then partitioned into multiple chunks (1130) and each VM data chunk registered to the newly created overlay network ( 140).
  • the number of physical servers which have free storage capacity and may then be determined and sorted in accordance with maximum capacity and relative distance and, based on the extracted information, the most appropriate Cloud physical storage to distribute chunks to is determined (1150).
  • the chunk may then be partitioned into a number of groups and distributed strategically and evenly to a number of identified Cloud physical storage via peer-to-peer protocol based on shortest round-trip time and least amount of congestion (1160).
  • information on storage capacity for cloud physical servers e.g. RAM memory capacity
  • vp2vp protocol 1170.
  • a vp2vp Service Level Agreements (SLA) component (660) provides performance guarantees on future allocations of VMs with certain criteria. Initially, the CPU capacity, disk storage capacity, and memory utilization, availability of VM slots and network bandwidth and other relevant metrics are determined via vp2vp protocol. The user then sends an application with the service level agreements (SLA) via vp2vp protocol specifying maximum storage capacity used, hardware requirement (i.e. software and hardware load), expected bandwidth allocation, and the minimum, average and maximum charges/prices that the user is willing to spend to meet its SLA requirements (1210). The likelihood that the SLA can be satisfied / guaranteed based on the virtual and physical information extracted from the vp2vp environment may then be determined (1220).
  • SLA Service Level Agreements
  • Vp2vp Pricing determines how much to charge users based on their QoS requirements.
  • the total cost of ownership for deploying and operating cloud resources is determined based on total cost of storage capacity, total cost of physical servers, operational cost and a combination of these and other cost factors (1310).
  • a user may submit requirements on storage space needed, memory, processor capability, etc., the lifetime of the application and the quality of service required for specific application and its tasks/jobs (1320).
  • Availability of VM allocation slot capacity and current resource availability may be determined (1330).
  • the vp2vp Pricing may then determine price based on VM slot requirements (1340). In one embodiment, higher prices may be applied for spot/immediate VM slots while cheaper prices can be charged for reservation of future VM slots.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A system (600) for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising: a hardware layer (201); a virtualisation layer (203); a vp2vp layer (204); and an application layer (206), characterised in that said vp2vp layer (204) is provided with a vp2vp protocol comprising: a vp2vp Registrar component (610) provided with means for registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity; a vp2vp Discovery component (620) provided with means that enables a user and/or an application to communicate with said virtual machines in said overlay network and locate the nearest virtual machine that satisfies user and/or application requirements; a vp2vp Scheduler component (630) provided with means to extract runtime information to determine a physical server to assign new virtual machines based on said overlay network; a vp2vp Load Balancer component (630) provided with means to collect information on current load and hardware specifications and thereby reorganise deployed virtual machines from a plurality of physical servers; a vp2vp Data Manager component (650) provided with means for managing distribution of data generated by applications in a peer to peer manner in the virtualized environment; a vp2vp Service Level Agreement component (660) provided with means to define service level agreements in said vp2vp system; and a vp2vp Pricing component (670) provided with means to determine charges to be applied to a user based on quality of service requirements of the user.

Description

A SYSTEM AND METHOD FOR VIRTUAL PEER TO VIRTUAL PEER
NETWORKING IN A VIRTUALIZED ENVIRONMENT
FIELD OF INVENTION
The present invention relates to a system and method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising a number of vp2vp components.
BACKGROUND ART
Cloud computing, the delivery of computing and storage capacity as a service has been widely adopted for the deployment of many enterprise applications with the advent of virtual computing services. One Cloud computing, infrastructure as a service (laaS), enables virtual machines, virtual storage, and virtual networks to be available on demand.
Two major issues arise with existing systems. Cloud middleware is typically unaware of hardware, software, and network capabilities and therefore may not appropriately assign and allocate distributed resources to distributed applications. Further the current Cloud middleware is generally unable to map resource requirements of applications against available distributed resources. This is due to generalized virtual machine (VM) deployment and creation methods that do not take into account hardware, software and network capabilities. Specifically, current Cloud middleware does not deploy applications on selective VMs with software, hardware and network capabilities that meet their processing needs and/or requirements.
The present invention leverages peer-to-peer (P2P) technology in a virtualized environment (e.g. cloud systems) to deliver high performance and scalability. Scalability may be delivered by removing the bottleneck generally associated with centralized management infrastructures. High performance may be attained through the ability to map resource requirements of applications against available distributed resources. Typically, in a virtualized environment, Cloud systems are being used to manage deployment of virtual machines for enterprise applications. However, they have not been widely deployed for applications that demand high performance and high throughput. Examples of such applications include, but are not limited to, scientific applications that need to exploit software, hardware network capabilities such as batch, workflow and parallel applications.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practice.
SUMMARY OF INVENTION
The present invention relates to a system and method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising a number of vp2vp components. The vp2vp components include a vp2vp Registrar, vp2vp Discovery, vp2vp Scheduler, vp2vp Load Balancer, vp2vp Data Manager, vp2vp Service Level Agreements (SLA) and vp2vp Pricing.
One aspect of the present invention provides a system (600) for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising at least one hardware layer (201); at least one virtualisation layer (203); at least one vp2vp layer (204); and at least one application layer (206). The said vp2vp layer (204) further comprises a plurality of virtual peer nodes configured as virtual peers in said virtualized environment based on vp2vp protocol; the plurality of virtual peer nodes comprising at least one vp2vp Registrar (610) provided with means for registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity preferably based on shortest route and/or distance in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof; and defines and encapsulates minimal primitives that are common to peer-to-peer networking to ensure high performance, scalability and interoperability; at least one vp2vp Discovery (620) provided with means that enables a user and/or an application to communicate with said virtual machines in said overlay network and locate the nearest virtual machine that satisfies user and/or application requirements; at least one vp2vp Scheduler (630) provided with means to extract runtime information by constructing a routing table and an overlay network for application peer-to-peer routing to determine a physical server to assign new virtual machines based on said overlay network; at least one vp2vp Load Balancer (630) provided with means to collect information on current load and hardware specifications and thereby reorganise deployed virtual machines from a plurality of physical servers; and performs migration of VMs between physical servers to increase resource utilization and scalability periodically or when a certain event is triggered; at least one vp2vp Data Manager (650) provided with means for managing distribution of data generated by applications in a peer to peer manner in the virtualized environment; and stores them in the most rapid and scalable manner in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof; at least one vp2vp Service Level Agreement (660) provided with means to define service level agreements in said vp2vp system; by specifying the total duration of application lifetime, maximum storage capacity used, expected performance, expected bandwidth allocation, and minimum, average and maximum charges that a user is willing to spend to meet its SLA requirements; and at least one vp2vp Pricing (670) provided with means to extract information of current load and resource availability in said vp2vp environment to determine charges to be applied to a user based on quality of service requirements of the user.
In another aspect, the invention provides a method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment. The method comprising steps of registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity using at least one vp2vp Registrar (610); enabling a user and/or an application to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery (620); extracting runtime information to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler (630); collecting information on current load and hardware specifications and reorganising deployed virtual machines from a plurality of physical servers using at least one vp2vp Load Balancer (640); managing distribution of data generated by applications in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager (650); defining service level agreements in said vp2vp system using at least one vp2vp Service Level Agreement (660); and determining charges to be applied to a user based on quality of service requirements of the user using at least one vp2vp Pricing (670).
A further aspect of the invention provides a method for registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity using a vp2vp Registrar. The said method comprises the steps of contacting the nearest physical server that is part of the overlay network (710); establishing a connection with the identified nearest physical server when found (720); and registering the new virtual machine as part of the overlay network by adding the virtual machine to the existing virtual machine peer-to-peer routing overlay, or, if there is no existing virtual machine peer-to-peer routing overlay, creating a new virtual machine peer-to-peer routing overlay (730). Another aspect of the invention provides a method for enabling a user and/or an application to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery. The said method comprises the step of contacting a nearest physical server that is part of the vp2vp network (810); and locating the nearest virtual machine that satisfies said user and/or application requirements in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof based on virtual machine peer to peer routing overlay (820). Yet another aspect of the invention provides a method for extracting runtime information to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler. The said method comprises the steps of requesting initialization of application (910) and thereby determining hardware requirements to initialize application (920); allocating virtual machine(s) to application to nearby virtual peer (930); if the virtual machine is being allocated for the first time, constructing an application peer-to-peer routing table for the new running application, or, if not, updating the application peer-to-peer routing table with the virtual machine; and repeating preceding two steps if there are further virtual machines to allocate; determining whether a virtual machine image satisfying user requirements is available in the network (940); requesting user to upload a new virtual machine image with libraries, data, application and associated configuration in order to deploy the application if said virtual machine image has not been uploaded (950); identifying shortest route to the most suitable physical server to allocate the virtual machine to in accordance with metrics such as round-trip time, congestion level, server capability and other related and relevant metrics (960) based on virtual machine peer to peer routing table of physical node when said VM image with user requirement is available; and allocating said virtual machine to the identified physical server (970). A further aspect of the invention provides a method for collecting information on current load and hardware specifications and reorganising deployed virtual machines from a plurality of physical servers using at least one vp2vp Load Balancer. The said method comprises the steps of extracting runtime information of physical machines (1010); determining the number of existing virtual machines as well as the number of new virtual machines which have been created and deployed in the virtualized environment ( 020); updating information on the number of physical servers which have free capacity for future virtual machine resource slot allocation (1030); constructing a VM routing peer- to-peer table of existing VMs in each physical server based on the number of deployed VMs, and maintaining information on them (1040); and migrating virtual machines to increase the number of virtual machine slots and increasing system utilization based on periodic and runtime information from VM routing table of each physical server (1050).
In another aspect, the invention provides a method for managing distribution of data generated by applications in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager. The said method comprises the steps of uploading virtual machine image on Cloud Storage (1110); creating new overlay network for newly uploaded VM based on the virtual machine routing table of the physical server, storing a virtual machine image in the nearest location in terms of round-trip time, congestion level and server capability and, if the virtual machine has been uploaded, monitoring for new data generated by applications (1120); partitioning said virtual machine data into multiple chunks (1 30); registering each virtual machine data chunk to the newly created overlay network (1140); determining the number of physical servers which have free storage capacity and sorting in accordance with maximum capacity and relative distance; determining the most appropriate Cloud physical storage to distribute chunks based on storage capacity, relative distance, round-trip time, latency, bandwidth and other relevant parameters (1150); distributing the chunks strategically and evenly to a number of identified Cloud physical storage via peer-to-peer protocol based on shortest round-trip time and least amount of congestion (1160); and periodically extracting information on storage capacity for cloud physical servers and updating said information via vp2vp protocol (1170). Another aspect of the invention provides a method for defining service level agreements in said vp2vp system using at least one vp2vp Service Level Agreement. The said method comprises the steps of determining CPU capacity, disk storage capacity, and memory utilization, availability of VM slots and network bandwidth and other relevant metrics via vp2vp protocol; sending an application with the service level agreements (SLA) via vp2vp protocol specifying maximum storage capacity used, hardware requirement expected bandwidth allocation, and the minimum, average and maximum charges/prices that the user is willing to spend to meet its SLA requirements (1210); and determining likelihood that the SLA can be satisfied / guaranteed based on the virtual and physical information extracted from the vp2vp environment (1220).
A further aspect of the invention provides a method for determining charges to be applied to a user based on quality of service requirements of the user using at least one vp2vp Pricing. The said method comprises the steps of determining total cost of ownership for deploying and operating cloud resources based on total cost of storage capacity, total cost of physical servers, operational cost and a combination of these and other cost factors (1310); submitting requirements on storage space needed, memory, processor capability, etc., the lifetime of the application and the quality of service required for specific application and its tasks/jobs (1320); determining availability of virtual machine allocation slot capacity and current resource availability (1330); and determining price based on VM slot requirements (1340).
The present invention consists of features and a combination of parts hereinafter fully described and illustrated in the accompanying drawings, it being understood that various changes in the details may be made without departing from the scope of the invention or sacrificing any of the advantages of the present invention. BRIEF DESCRIPTION OF ACCOMPANYING DRAWINGS
To further clarify various aspects of some embodiments of the present invention, a more particular description of the invention will be rendered by references to specific embodiments thereof, which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the accompanying drawings in which:
FIG. 1.0 illustrates an example of a prior art arrangement.
FIG. 2.0 illustrates an embodiment of the invention on a conceptual level.
FIG. 3.0 illustrates a generalised vp2vp system. FIG. 4.0 illustrates interaction and communication between user/applications and virtual and hardware layers.
FIG. 5.0 illustrates VM peer-to-peer routing. FIG. 6.0 illustrates an embodiment of the system of the present invention.
FIG. 6.0a illustrates the steps of the methodology for virtual peer to virtual peer (vp2vp) networking in a virtualized environment. FIG. 7.0 illustrates the vp2vp Registrar and steps for registering VM in the vp2vp system.
FIG. 8.0 illustrates the vp2vp Discovery and steps for discovering VM in the vp2vp system. FIG. 9.0 illustrates the vp2vp Scheduler and steps for creating or updating the application peer-to-peer routing table and steps for the allocation of VM to the application. FIG. 10.0 illustrates the vp2vp Load Balancer and steps for extracting virtual and physical information to increase the number of available VM slots for applications and to increase overall system utilization. FIG. 11.0 illustrates the vp2vp Data Manager and steps for distributing and storing data chunks in the vp2vp environment.
FIG 12.0 illustrates the vp2vp SLA and steps for providing service level agreements (SLAs) support in the vp2vp environment.
FIG. 13.0 illustrates Vp2vp SLA: Steps for charging users to deploy their applications in vp2vp environment.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention provides a system and method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment comprising a number of vp2vp components. The vp2vp components include a vp2vp Registrar, vp2vp Discovery, vp2vp Scheduler, vp2vp Load Balancer, vp2vp Data Manager, vp2vp Service Level Agreements (SLA) and vp2vp Pricing.
Hereinafter, this specification will describe the present invention according to the preferred embodiments. It is to be understood that limiting the description to the preferred embodiments of the invention is merely to facilitate discussion of the present invention and it is envisioned without departing from the scope of the appended claims.
Figure 1 illustrates an exemplary embodiment of the prior art, "Virtual peer in a peer-to- peer network", described in United States Patent No. 7,782,866. In the prior art system (100), the peer-to-peer (P2P) layer (101) is situated at the top of hardware stack (102). The hypervisor (103) is then placed on top of the P2P layer (101) which is further built up with the operating system (OS) platform (104), and subsequently the applications (105). On the other hand, Figure 2 illustrates one embodiment of the present virtual peer to virtual peer (vp2vp) system (200) at a conceptual level. The system (200) comprises several layers from the low-tier of hardware to upper tier of applications. The bottom layer comprises hardware layer (201) which includes hardware equipment such as motherboard and processors. The hardware layer (201) may also comprise a hardware accelerator with special purpose processors such as Graphical Processing Units (GPU) and/or Field Programmable Gate Arrays (FPGAs) cards. The hardware accelerator is supported to leverage the parallel processing power of graphics processing units (GPUs), offering speed improvements of from 10-200 times over comparative calculation runs on traditional processors. The hardware layer (201) may also comprise network equipment that optimizes incoming and outgoing messages before they reach their target destination. For example, input messages may be un-marshalled and output messages may be marshalled for transmission over the network. The hypervisor layer (202) includes virtual machine managers (VMMs) that manage the creation and deployment of virtual machines on physical machines. Examples of such VMMs include Xen and KVM. The operating system (OS) layer (203) includes the actual operating system that runs on top of the hardware. Typical operating systems such as Windows, Unix/Linux, Mac OS X are positioned at the operating system layer (203). Within the virtualized environment, it is possible to deploy multiple operating system platforms simultaneously independent of one another.
The Virtual Peer to Virtual Peer (vp2vp) layer (204) of the present invention embodies a system that forms an overlay network between virtual machines. As further shown in Figure 3, the vp2vp layer (204) manages connections, communications, routing, and all other aspects of resource management between two or more virtual machines (303). Virtual machines/peers (303) are treated independently using the vp2vp protocol regardless whether the sessions derive from Cloud, Virtual Machine Managers (e.g., Xen or KVM) and/or other external parties.
The vp2vp layer (204) is situated on top of the OS layers (203). This layer provides for the creation of an overlay network of virtual machines with specific topologies and properties in accordance to characteristics of application, hardware, software and network capabilities. It integrates virtual machine and P2P capabilities to exploit the characteristics of hardware, software and network capabilities to deliver high performance and scalability required for applications.
In another embodiment, a Cloud middleware layer (205) is positioned on the OS layer (203). The cloud middleware dynamically manages virtual peers from a collection of different machines as well as providing the necessary resource management features and security for the deployment and management of virtual machines. Well-known examples of such Cloud middleware include Eucalyptus, OpenNebula, OpenNimbus, Tashi, Aneka and so on.
The application layer (206) is where the actual execution of applications of users takes place. Applications may vary from batch, parallel, interactive and enterprise applications where they continuously interact dynamically with many of the layers below. Such architecture provides the ability for building and deploying distributed applications on geographically distributed resources. In another embodiment, web services (207) can also be placed on top of the application layer (206) where interaction between applications may take place.
As shown in Figure 4, the vp2vp system (400) comprises separation of concerns of application peer-to-peer routing and virtual machine (VM) peer-to-peer routing. The Application peer-to-peer routing specifically optimizes the VM placement and VM migration for specific applications. This ensures that high performance and load balancing of tasks can be attained for that specific application throughout its execution. The VM peer-to-peer routing is formed in accordance to structured peer-to-peer (p2p) overlay networks like CAN, Chord, Pastry, and Tapestry and/or non-structured peer-to- peer overlay networks like Kazaa and gNutella. As shown in Figure 5, the VM peer-to-peer routing (501) optimizes the overall resource capacity i.e., capacity of physical servers and utilization in a virtualized environment. Both application peer-to-peer routing and VM peer-to-peer routing help to maintain high performance for applications and high scalability of the available resources at the same time.
Figure 6 further illustrates various components of the vp2vp system (600) of embodiments of the invention. The vp2vp system (600) serves as a light weight middleware system which is responsible for the delivery of the high performance required for applications and the scalability required for the overall system. Herein, virtual machines that are registered and belong to the vp2vp system (600) are described as "virtual peers". The following discussion describes the roles for each vp2vp component of the vp2vp system (600).
A vp2vp Registrar component (610) constructs a structured peer-to-peer (p2p) overlay network based on both virtual and physical distance proximity (e.g. preference for shortest route/distance). The vp2vp Registrar (610) defines and encapsulates minimal primitives that are common to peer-to-peer networking ensuring that high performance, scalability and interoperability become possible. A vp2vp Discovery component (620) locates the nearest VM that satisfies user/application requirements preferably in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination of these and external factors, etc., based on the VM peer-to-peer routing overlay.
A vp2vp Scheduler component (630) extracts runtime information from the virtual peer environment to determine the most appropriate physical server(s) to assign new VM(s) and to allocate data. This involves the steps of constructing a routing table for application peer-to-peer routing.
A vp2vp Load Balancer component (640) makes use of P2P techniques and methodology to aggregate and collect information of current load and hardware machine specifications in order to determine the most effective way to re-organize currently deployed virtual machines which are scattered all over multiple physical servers. Periodically, or when a certain event is triggered, the vp2vp load balancer component (640) performs migration of VMs between physical servers to increase resource utilization and scalability.
A vp2vp Data Manager component (650) manages distribution of data generated by applications in a peer-to-peer manner and stores them appropriately to physical storage based on the most accessible places and locations.
A vp2vp Service Level Agreements (SLA) component (660) defines the service level agreements (SLA) in the vp2vp system (600) specifying the total duration of application lifetime, maximum storage capacity used, expected performance (i.e. software and hardware load), expected bandwidth allocation, and the minimum, average and maximum charges that the user is willing to spend to meet its SLA requirements. The vp2vp Service Level Agreements (SLA) component (660) provides the user with the ability to specify its expected future allocation of VMs with certain criteria, for example minimum hardware specification, minimum storage capacity, and minimum bandwidth allocation, etc. The vp2vp Service Level Agreements (SLA) component (660) defines a contract between the user and the vp2vp system (600) and once the contract has been accepted by the vp2vp system (600), the vp2vp system (600) has an obligation to satisfy the agreement where failure to do so will result in penalty being imposed to virtual peers.
A vp2vp Pricing component (670) determines how much to charge users based on their QoS requirements in the vp2vp environment. It extracts information of current load and resource availability in a vp2vp environment to determine different charges for spot price, future price and/or different pricing schemes.
FIG. 6.0a illustrates the steps of the methodology for virtual peer to virtual peer (vp2vp) networking in a virtualized environment. Virtual machines (VMs) are registered as part of a peer to peer overlay network based on virtual and physical proximity using at least one vp2vp Registrar (610a). Thereafter, a user and/or an application is enabled to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery (620a). Runtime information is extracted to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler (630a) and information on current load and hardware specifications are collected and deployed virtual machines are reorganized from a plurality of physical servers using at least one vp2vp Load Balancer (640a). Distribution of data generated by applications is managed in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager (650a) while service level agreements are defined in said vp2vp system using at least one vp2vp Service Level Agreement (660a) and charges to be applied to a user is determined based on quality of service requirements of the user using at least one vp2vp Pricing (670a).
The above mentioned components and method will be described in more detail with reference to Figures 7 to 14.
Figure 7 illustrates the operation of the vp2vp Registrar (610). The vp2vp Registrar (6 0) constructs structured peer-to-peer (P2P) overlay networks and defines and encapsulates minimal primitives that are common to peer-to-peer networking. This ensures high performance, scalability and interoperability are possible. During VM registration, a resource owner contacts the nearest physical server that is part of the Virtual Peer network (710). When found/ communication is established with the identified physical server (720). The vp2vp discovery registers the new VM as part of the vp2vp network and adds the new VM as part of the overlay network (update VM peer-to-peer routing table) (730).
Figure 8 illustrates the operation of the vp2vp Discovery component (620). The discovery steps for VM include communication by the user or application with a nearby virtual peer in the vp2vp network (810). Based on the VM peer-to-peer routing overlay, the nearest VM that satisfies user/application requirements in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination of these and external factors, etc., is located (820).
As mentioned above, the vp2vp Scheduler extracts runtime information from the vp2vp environment to determine the most appropriate physical server(s) to assign new VM(s). Referring to Figure 9, the application requests new Virtual Machine(s) on behalf the user (910) and a VM is allocated to the application. If the VM is being allocated for the first time, then an application peer-to-peer routing table is constructed for the application. If the application has been allocated with the VM previously, the application peer-to-peer routing table is updated with the new allocated VM. This process is repeated if there is a further VM to allocate.
The hardware requirements to run the application are determined (920). A request for a VM allocation in accordance to user's quality-of-service (QoS) specification is sent to nearby virtual peer (930). The system then determines whether a VM image satisfying the user requirements is available in the network (940). If the VM image has not been uploaded, the user is asked to upload a new VM image with libraries, data, application and associated configuration in order to deploy the application (950). Based on the VM peer-to-peer routing table of the physical node, the system identifies the shortest route to the most suitable physical server to allocate the VM to in accordance with metrics such as round-trip time, congestion level, server capability and other related and relevant metrics (960). The VM is then allocated to the identified physical server (970). Referring to Figure 10, a vp2vp Load Balancer (640) extracts runtime information of physical machines, for example CPUs, memory, GPUs, FGPA, etc., in real-time and/or in periodic intervals via the vp2vp protocol (1010). The number of existing VMs as well as the number of new VMs which have been created and deployed in the virtualized environment is determined (1020) Information on the number of physical servers which have free capacity for future VM resource slot allocation is then updated (1030). Based on the number of deployed VMs, the vp2vp Load Balancer (640) constructs a VM routing peer-to-peer table of existing VMs in each physical server, and maintains information on them (1040). Based on periodic and runtime information from the VM routing table of each physical server, migration of VMs to increase the number of VM slots and to increase system utilization is performed (1050).
A vp2vp Data Manager (650) manages, distribution of virtual machines uploaded by users and data generated by applications, and stores them appropriately to physical storage. Initially, as illustrated in Figure 11 , a user uploads a VM image on Cloud Storage (1110). Based on the VM routing table of the physical server, a VM image is stored in the nearest location in terms of round-trip time, congestion level and server capability. If the VM has been uploaded, the vp2vp Data Manager (65) monitors for new data generated by applications (1120). The VM data is then partitioned into multiple chunks (1130) and each VM data chunk registered to the newly created overlay network ( 140). The number of physical servers which have free storage capacity and may then be determined and sorted in accordance with maximum capacity and relative distance and, based on the extracted information, the most appropriate Cloud physical storage to distribute chunks to is determined (1150). The chunk may then be partitioned into a number of groups and distributed strategically and evenly to a number of identified Cloud physical storage via peer-to-peer protocol based on shortest round-trip time and least amount of congestion (1160). Periodically, information on storage capacity for cloud physical servers (e.g. RAM memory capacity) is extracted and updated via vp2vp protocol (1170).
Referring to Figure 12, a vp2vp Service Level Agreements (SLA) component (660) provides performance guarantees on future allocations of VMs with certain criteria. Initially, the CPU capacity, disk storage capacity, and memory utilization, availability of VM slots and network bandwidth and other relevant metrics are determined via vp2vp protocol. The user then sends an application with the service level agreements (SLA) via vp2vp protocol specifying maximum storage capacity used, hardware requirement (i.e. software and hardware load), expected bandwidth allocation, and the minimum, average and maximum charges/prices that the user is willing to spend to meet its SLA requirements (1210). The likelihood that the SLA can be satisfied / guaranteed based on the virtual and physical information extracted from the vp2vp environment may then be determined (1220). Vp2vp Pricing (670) determines how much to charge users based on their QoS requirements. The total cost of ownership for deploying and operating cloud resources is determined based on total cost of storage capacity, total cost of physical servers, operational cost and a combination of these and other cost factors (1310). A user may submit requirements on storage space needed, memory, processor capability, etc., the lifetime of the application and the quality of service required for specific application and its tasks/jobs (1320). Availability of VM allocation slot capacity and current resource availability may be determined (1330). The vp2vp Pricing may then determine price based on VM slot requirements (1340). In one embodiment, higher prices may be applied for spot/immediate VM slots while cheaper prices can be charged for reservation of future VM slots.
Unless the context requires otherwise or specifically stated to the contrary, integers, steps or elements of the invention recited herein as singular integers, steps or elements clearly encompass both singular and plural forms of the recited integers, steps or elements.
Throughout this specification, unless the context requires otherwise, the word "comprise", or variations such as "comprises" or "comprising", will be understood to imply the inclusion of a stated step or element or integer or group of steps or elements or integers, but not the exclusion of any other step or element or integer or group of steps, elements or integers. Thus, in the context of this specification, the term "comprising" is used in an inclusive sense and thus should be understood as meaning "including principally, but not necessarily solely". It will be appreciated that the foregoing description has been given by way of illustrative example of the invention and that all such modifications and variations thereto as would be apparent to persons of skill in the art are deemed to fall within the broad scope and ambit of the invention as herein set forth.

Claims

1. A system (600) for virtual peer to virtual peer (vp2vp) networking in a virtualized environment, the system comprising:
at least one hardware layer (201);
at least one virtualisation layer (203);
at least one vp2vp layer (204); and
at least one application layer (206),
characterised in that said vp2vp layer (204) further comprises a plurality of virtual peer nodes configured as virtual peers in said virtualized environment based on vp2vp protocol; the plurality of virtual peer nodes comprising:
at least one vp2vp Registrar (610) provided with means for registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity preferably based on shortest route and/or distance in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof; and defines and encapsulates minimal primitives that are common to peer-to-peer networking to ensure high performance, scalability and interoperability; at least one vp2vp Discovery (620) provided with means that enables a user and/or an application to communicate with said virtual machines in said overlay network and locate the nearest virtual machine that satisfies user and/or application requirements; at least one vp2vp Scheduler (630) provided with means to extract runtime information by constructing a routing table and an overlay network for application peer-to-peer routing to determine a physical server to assign new virtual machines based on said overlay network; at least one vp2vp Load Balancer (630) provided with means to collect information on current load and hardware specifications and thereby reorganise deployed virtual machines from a plurality of physical servers; and performs migration of VMs between physical servers to increase resource utilization and scalability periodically or when a certain event is triggered; at least one vp2vp Data Manager (650) provided with means for managing distribution of data generated by applications in a peer to peer manner in the virtualized environment; and stores them in the most rapid and scalable manner in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof; at least one vp2vp Service Level Agreement (660) provided with means to define service level agreements in said vp2vp system; by specifying the total duration of application lifetime, maximum storage capacity used, expected performance, expected bandwidth allocation, and minimum, average and maximum charges that a user is willing to spend to meet its SLA requirements; and at least one vp2vp Pricing (670) provided with means to extract information of current load and resource availability in said vp2vp environment to determine charges to be applied to a user based on quality of service requirements of the user.
2. A method for virtual peer to virtual peer (vp2vp) networking in a virtualized environment , the method comprising steps of:
registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity using at least one vp2vp Registrar (610a);
enabling a user and/or an application to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery (620a);
extracting runtime information to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler (630a);
collecting information on current load and hardware specifications and reorganising deployed virtual machines from a plurality of physical servers using at least one vp2vp Load Balancer (640a);
managing distribution of data generated by applications in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager (650a);
defining service level agreements in said vp2vp system using at least one vp2vp Service Level Agreement (660a); and
determining charges to be applied to a user based on quality of service requirements of the user using at least one vp2vp Pricing (670a).
A method according to claim 2, wherein said user is provided with the ability to specify expected future allocation of virtual machines with certain criteria including but not limited to minimum hardware specification, minimum storage capacity, and minimum bandwidth allocation, and wherein said vp2vp Service
Level Agreement component (660) defines a contract between the user and said vp2vp system and, once the contract has been accepted by the vp2vp system, the vp2vp system has the obligation to satisfy the agreement and failure to do so results in a penalty being imposed.
4. A method according to claim2 , wherein registering virtual machines (VMs) as part of a peer to peer overlay network based on virtual and physical proximity using a vp2vp Registrar comprises the steps of:
contacting the nearest physical server that is part of the overlay network
(710);
establishing a connection with the identified nearest physical server when found (720); and registering the new virtual machine as part of the overlay network by adding the virtual machine to the existing virtual machine peer-to-peer routing overlay, or, if there is no existing virtual machine peer-to-peer routing overlay, creating a new virtual machine peer-to-peer routing overlay (730).
A method according to claim 2, wherein enabling a user and/or an application to communicate with said virtual machines in said overlay network and to thereby locate the nearest virtual machine that satisfies user and/or application requirements using at least one vp2vp Discovery comprises the step of:
contacting a nearest physical server that is part of the vp2vp network
(810); and
locating the nearest virtual machine that satisfies said user and/or application requirements in terms of relative distance, round-trip time, congestion level, server capability, and/or a combination thereof based on virtual machine peer to peer routing overlay (820).
A method according to claim 2, wherein extracting runtime information to determine a physical server to assign new virtual machines based on said overlay network using at least one vp2vp Scheduler comprises the steps of: requesting initialization of application (910) and thereby determining hardware requirements to initialize application (920);
allocating virtual machine(s) to application to nearby virtual peer (930); if the virtual machine is being allocated for the first time, constructing an application peer-to-peer routing table for the new running application, or, if not, updating the application peer-to-peer routing table with the virtual machine; and
repeating preceding two steps if there are further virtual machines to allocate.
determining whether a virtual machine image satisfying user requirements is available in the network (940); requesting user to upload a new virtual machine image with libraries, data, application and associated configuration in order to deploy the application if said virtual machine image has not been uploaded (950); identifying shortest route to the most suitable physical server to allocate the virtual machine to in accordance with metrics such as round-trip time, congestion level, server capability and other related and relevant metrics (960) based on virtual machine peer to peer routing table of physical node when said VM image with user requirement is available; and
allocating said virtual machine to the identified physical server (970).
A method according to claim 2, wherein collecting information on current load and hardware specifications and reorganising deployed virtual machines from a plurality of physical servers using at least one vp2vp Load Balancer comprises the steps of:
extracting runtime information of physical machines (1010),;
determining the number of existing virtual machines as well as the number of new virtual machines which have been created and deployed in the virtualized environment (1020);
updating information on the number of physical servers which have free capacity for future virtual machine resource slot allocation (1030);
constructing a VM routing peer-to-peer table of existing VMs in each physical server based on the number of deployed VMs, and maintaining information on them (1040); and
migrating virtual machines to increase the number of virtual machine slots and increasing system utilization based on periodic and runtime information from VM routing table of each physical server (1050).
A method according to claim 2, wherein managing distribution of data generated by applications in a peer to peer manner in the virtualized environment using at least one vp2vp Data Manager comprises the steps of:
uploading virtual machine image on Cloud Storage (1110);
creating new overlay network for newly uploaded VM based on the virtual machine routing table of the physical server, storing a virtual machine image in the nearest location in terms of round-trip time, congestion level and server capabilit and, if the virtual machine has been uploaded, monitoring for new data generated by applications (1120); partitioning said virtual machine data into multiple chunks (1130);
registering each virtual machine data chunk to the newly created overlay network (1140);
determining the number of physical servers which have free storage capacity and sorting in accordance with maximum capacity and relative distance;
determining the most appropriate Cloud physical storage to distribute chunks based 1 on storage capacity, relative distance, round-trip time, latency, bandwidth and other relevant parameters (1150); distributing the chunks strategically and evenly to a number of identified Cloud physical storage via peer-to-peer protocol based on shortest round- trip time and least amount of congestion (1 60); and
periodically extracting information on storage capacity for cloud physical servers and updating said information via vp2vp protocol (1170).
9. A method according to claim 2, wherein defining service level agreements in said vp2vp system using at least one vp2vp Service Level Agreement comprises the steps of:
determining CPU capacity, disk storage capacity, and memory utilization, availability of V slots and network bandwidth and other relevant metrics via vp2vp protocol;
sending an application with the service level agreements (SLA) via vp2vp protocol specifying maximum storage capacity used, hardware requirement expected bandwidth allocation, and the minimum, average and maximum charges/prices that the user is willing to spend to meet its SLA requirements (1210); and
determining likelihood that the SLA can be satisfied / guaranteed based on the virtual and physical information extracted from the vp2vp environment (1220). A method according to claim 2, wherein determining charges to be applied to a user based on quality of service requirements of the user using at least one vp2vp Pricing comprises the steps of:
determining total cost of ownership for deploying and operating cloud resources based on total cost of storage capacity, total cost of physical servers, operational cost and a combination of these and other cost factors (131 re¬ submitting, requirements on storage space needed, memory, processor capability, etc., the lifetime of the application and the quality of service required for specific application and its tasks/jobs (1320);
determining; availability of virtual machine allocation slot capacity and current resource availability (1330); and
determining price based on VM slot requirements (1340).
PCT/MY2013/000172 2012-10-08 2013-09-27 A system and method for virtual peer to virtual peer networking in a virtualized environment WO2014058299A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2012004485 2012-10-08
MYPI2012004485A MY184808A (en) 2012-10-08 2012-10-08 A system and method for virtual peer to virtual peer networking in a virtualized environment

Publications (1)

Publication Number Publication Date
WO2014058299A1 true WO2014058299A1 (en) 2014-04-17

Family

ID=49582781

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2013/000172 WO2014058299A1 (en) 2012-10-08 2013-09-27 A system and method for virtual peer to virtual peer networking in a virtualized environment

Country Status (2)

Country Link
MY (1) MY184808A (en)
WO (1) WO2014058299A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018031131A1 (en) * 2016-08-08 2018-02-15 Qualcomm Incorporated Systems and methods for managing processing load
WO2018063580A1 (en) * 2016-09-29 2018-04-05 Intel Corporation Method and apparatus for efficient use of graphics processing resources in a virtualized execution environment

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ANTONIO CELESTI ET AL: "How to Enhance Cloud Architectures to Enable Cross-Federation", CLOUD COMPUTING (CLOUD), 2010 IEEE 3RD INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 5 July 2010 (2010-07-05), pages 337 - 345, XP031739418, ISBN: 978-1-4244-8207-8 *
DROST N ET AL: "Simple locality-aware co-allocation in peer-to-peer supercomputing", CLUSTER COMPUTING AND THE GRID, 2006. CCGRID 06. SIXTH IEEE INTERNATIONAL SYMPOSIUM ON - SINGAPORE 16-19 MAY 2006, PISCATAWAY, NJ, USA,IEEE, 16 May 2006 (2006-05-16), pages 8pp - 14, XP032120738, ISBN: 978-0-7695-2585-3, DOI: 10.1109/CCGRID.2006.1630909 *
GANGULY A ET AL: "WOW: Self-Organizing Wide Area Overlay Networks of Virtual Workstations", 2006 15TH IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE DISTRIBUTE D COMPUTING PARIS, FRANCE JUNE 19-23 2006, PISCATAWAY, NJ, USA,IEEE, PISCATAWAY, NJ, USA, 19 June 2006 (2006-06-19), pages 30 - 42, XP010926038, ISBN: 978-1-4244-0307-3, DOI: 10.1109/HPDC.2006.1652133 *
NIRANJAN SURI ET AL: "An Adaptive and Efficient Peer-to-Peer Service-Oriented Architecture for MANET Environments with Agile Computing", NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM WORKSHOPS, 2008. NOMS WORKSHOPS 2008. IEEE, IEEE, PISCATAWAY, NJ, USA, 7 April 2008 (2008-04-07), pages 364 - 371, XP031247471, ISBN: 978-1-4244-2067-4 *
R. RANJAN ET AL: "Peer-to-peer cloud provisioning: Service discovery and load-balancing", 2010, XP002719274, Retrieved from the Internet <URL:http://arxiv.org/pdf/0912.1905v1.pdf> [retrieved on 20140117] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018031131A1 (en) * 2016-08-08 2018-02-15 Qualcomm Incorporated Systems and methods for managing processing load
WO2018063580A1 (en) * 2016-09-29 2018-04-05 Intel Corporation Method and apparatus for efficient use of graphics processing resources in a virtualized execution environment
US10109099B2 (en) 2016-09-29 2018-10-23 Intel Corporation Method and apparatus for efficient use of graphics processing resources in a virtualized execution enviornment

Also Published As

Publication number Publication date
MY184808A (en) 2021-04-23

Similar Documents

Publication Publication Date Title
US10988793B2 (en) Cloud management with power management support
Xu et al. A survey on load balancing algorithms for virtual machines placement in cloud computing
US10129177B2 (en) Inter-cloud broker for hybrid cloud networks
US9692707B2 (en) Virtual resource object component
US8190740B2 (en) Systems and methods for dynamically provisioning cloud computing resources
US9450783B2 (en) Abstracting cloud management
US8862720B2 (en) Flexible cloud management including external clouds
US5341477A (en) Broker for computer network server selection
KR100956636B1 (en) System and method for service level management in virtualized server environment
US8104038B1 (en) Matching descriptions of resources with workload requirements
US20100306767A1 (en) Methods and systems for automated scaling of cloud computing systems
US20110055377A1 (en) Methods and systems for automated migration of cloud processes to external clouds
Wuhib et al. Allocating compute and network resources under management objectives in large-scale clouds
WO2012122812A1 (en) Resource management method and system, and resource manager
US20230222006A1 (en) Container Orchestration System
Racheg et al. Profit-driven resource provisioning in NFV-based environments
US11093288B2 (en) Systems and methods for cluster resource balancing in a hyper-converged infrastructure
Janakiraman et al. Improved artificial bee colony using monarchy butterfly optimization algorithm for load balancing (IABC-MBOA-LB) in cloud environments
JP2023523523A (en) Geographically focused workload sharing among nearby MEC hosts on multiple carriers
Kang et al. A cluster-based decentralized job dispatching for the large-scale cloud
Jain et al. Hybrid load balancing approach for cloud environment
Vig et al. An efficient distributed approach for load balancing in cloud computing
WO2014058299A1 (en) A system and method for virtual peer to virtual peer networking in a virtualized environment
Patel et al. Aggregation of cloud providers: a review of opportunities and challenges
KR101529163B1 (en) Registration system and method for virtual desktop service of client that has multiple user accounts

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13789903

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13789903

Country of ref document: EP

Kind code of ref document: A1