CN102479100A - Pervasive computing environment virtual machine platform and creation method thereof - Google Patents

Pervasive computing environment virtual machine platform and creation method thereof Download PDF

Info

Publication number
CN102479100A
CN102479100A CN201010569900XA CN201010569900A CN102479100A CN 102479100 A CN102479100 A CN 102479100A CN 201010569900X A CN201010569900X A CN 201010569900XA CN 201010569900 A CN201010569900 A CN 201010569900A CN 102479100 A CN102479100 A CN 102479100A
Authority
CN
China
Prior art keywords
virtual machine
virtual
layer
equipment
resources
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201010569900XA
Other languages
Chinese (zh)
Other versions
CN102479100B (en
Inventor
黄东
史兴国
郑敏
冯强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201010569900.XA priority Critical patent/CN102479100B/en
Publication of CN102479100A publication Critical patent/CN102479100A/en
Application granted granted Critical
Publication of CN102479100B publication Critical patent/CN102479100B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention discloses a pervasive computing environment virtual machine platform and a creation method thereof and belongs to the technical field of information. The method comprises the following steps that: 1) a user sends a virtual environment creation request to a virtual machine monitor and a service oriented architecture (SOA) respectively; 2) after the virtual machine monitor and the SOA are initialized respectively, client stubs are created on a local virtual machine terminal; 3) after receiving an example creation request of the user, the virtual machine monitor creates and initializes a virtual equipment structure body, and sends an equipment initialization request to service supply equipment at the same time; and 4) the virtual machine monitor creates a virtual machine example for the user according to the created virtual equipment structure body and the initialized result of the service supply equipment. The platform comprises a resource layer, a virtual layer and an example layer, wherein the virtual layer virtualizes the resource layer, and creates virtualized equipment resources and packaged and mapped remote service resources; and the example layer is used for establishing and running a plurality of virtual machine examples on the virtual layer. By utilizing the platform and the method, the resource utilization rate and the management efficiency are improved greatly.

Description

Pervasive computing environment virtual machine platform and creation method thereof
Technical Field
The invention belongs to the technical field of information, and particularly relates to a pervasive computing environment virtual machine platform and a creation method thereof.
Background
The novel computing mode of pervasive computing reflects the fusion trend of information space and physical space, reflects higher requirements of people on information service modes, hopes to enjoy computing power and information service freely at any time and anywhere, and enables the relationship between the physical environment of human life and the information environment provided by a computer to be revolutionarily changed. Relevant research has been carried out by domestic and foreign research institutions for a long time, but pervasive computing still faces some other problems:
(1) in a pervasive computing environment, a large number of equipment resources and service resources exist, and how to effectively manage and use the equipment resources and the service resources can improve the resource utilization rate in the pervasive computing environment and share the equipment and the service in the environment;
(2) the core of the support of the ubiquitous computing environment for the traditional application is how to realize the independence and decoupling of the application and the environment.
(3) How to provide an improved pervasive computing application framework and reduce the development difficulty of pervasive computing application.
In order to solve the three problems, the invention discusses the virtual computing environment in the ubiquitous computing environment based on the SOA (Service-Oriented Architecture), and provides a virtual machine platform in the ubiquitous computing environment. The current research situation at home and abroad will be analyzed for these two aspects.
Service oriented architecture (SOA for short) is a software architecture built with services as basic elements, which integrates resources into operable, standards-based services, enabling them to be recombined and applied. This allows services built in a wide variety of systems to interact in a uniform and versatile manner and to be published, discovered, and invoked. Through the SOA, the system can quickly and conveniently construct an open, modular and reusable software component. The mode is particularly suitable for large-scale application scenes facing wide-area environments, such as cross-enterprise electronic commerce systems, cross-regional electronic government affair systems, cooperative computing in the Internet environment and the like. The invention provides a support mechanism for the release, search, mapping and call of equipment resources and service resources in a pervasive computing environment on the basis of SOA.
Currently, research on virtualization technologies mainly focuses on two aspects of virtualization of traditional virtual machines and multi-computing systems (including multi-core virtual machines and virtual computing environments with distributed computing resources).
Xen originated from an open source virtualization project hosted by computer laboratories, cambridge university, england. At the outset, Xen was designed and developed based on the 32-bit x86 architecture, with the goal of supporting multiple server applications running the Xen operating system virtual machine. Xen is located between the operating system and the hardware, providing a virtualized hardware environment for the operating system kernel running on it. VMware corporation was created by professor Mendel Rosenblum of Stanford university leading his students, mainly studied virtualization technology at the mainframe level applied in the industrial field, and introduced VMware work as desktop virtualization software and VMware GSX, VMware ESX Server facing the enterprise Server market.
Xen and VMWare are desktop computing or server based virtualization of stand-alone devices, providing no virtualization support for distributed environments.
Xen-based parallelax project of Cambridge university provides storage services for distributed systems using virtualization technology. Parallelax can manage a large number of virtual machines, building the entire system by eliminating write sharing, adding client caches, and utilizing template images. Virtual works pages is a project established by a Globus project group in order to solve the problems that the operation of the operation environment for deploying remote jobs is complex, the grid resource utilization rate is low due to the fact that operating systems, middleware, library file versions and file systems required by different grid applications are different, the grid resources are safely isolated among different users, and fine-grained management can be performed. The Virtual works pages redefine the operation execution layer of the grid, do not map the operation to the physical resources of the grid directly, but package the operation running environments required by different users into independent and mutually isolated Virtual machines, namely the Virtual works pages, and realize the deployment of the grid computing environment and the allocation and management of the computing resources by taking the Virtual machines as units.
A common virtual computing environment has a project focus on the deployment and configuration of the job execution environment, and the devices in the environment have strong computing power. In the ubiquitous computing environment, the device architecture is complex and diverse, the computing power difference is large, and meanwhile, the ubiquitous computing environment focuses on sharing of resources and services more.
Disclosure of Invention
In a pervasive computing environment, most of the devices are embedded devices with different structures, and the heterogeneous devices and services distributed in local areas need effective and unified management, sharing and operation.
The invention provides a new universal computing system model based on SOA technology and virtual machine technology as architecture, which comprises the following steps: the bottom layer uses an SOA architecture model to support the release, registration, mapping and calling of device resources and service resources in the network computing environment. The virtual machine model is adopted on the basis of resource mapping and calling to realize the equipment virtualization and the service abstraction of the whole pervasive computing environment, and the virtual machine platform seen from the application perspective is not mapped to a single machine but is mapped to the whole pervasive computing environment. The upper layer application controls the virtualization device and uses the abstract service by calling the virtual machine interface, and the request for the operation of the virtual device and the abstract service is sent to the real device and the service in the network environment through the SOA, so that the request for the operation of the real physical device and the service in the network is realized.
The technical scheme of the invention is as follows:
a general computing environment virtual machine platform creating method comprises the following steps:
1) a user sends a virtual environment creating request to a virtual machine monitor and an SOA respectively;
2) after the virtual machine monitor and the SOA are respectively initialized, the SOA creates a client stub at the local virtual machine end according to the initialization information of the service providing equipment;
3) a user sends an instance creating request to a virtual machine monitor;
4) after receiving the instance creation request, the virtual machine monitor creates and initializes a virtual equipment structure according to the initialization information of the service providing equipment, and simultaneously sends an equipment initialization request to the service providing equipment through the SOA;
5) the SOA uploads the initialization response of the service providing equipment to the virtual machine monitor;
6) and the virtual machine monitor creates a virtual machine instance for the user according to the created virtual equipment structure body and the service providing equipment initialization result.
Further, the SOA initialization method includes:
1) the SOA sends out a service providing equipment initialization request to all remote service providing equipment;
2) the service providing equipment receives an initialization request sent by the SOA, and sends a service registration request to the SOA after executing initialization operation;
3) after receiving a service registration request of the service providing device, the SOA registers device information or device service information in the resource pool to construct the resource pool.
Further, the construction method of the resource pool comprises the following steps:
1) establishing service resources, and setting a service entity open to the outside and interface information thereof;
2) establishing equipment resources: setting equipment resources open to the outside, wherein the equipment resources comprise register resources and storage resources;
3) and registering the established equipment resources, service resources and interface information thereof in a resource pool.
Further, the method for creating the customer stub comprises the following steps: the SOA sends a request for creating a client stub on the virtual machine monitor to the virtual machine monitor, and after the virtual machine monitor receives the request for creating the client stub uploaded by the SOA, a local agent, namely the client stub, is created for the service providing equipment at the local virtual machine end.
Further, after the running of the virtual machine instance is finished, the virtual machine monitor deletes the virtual machine instance, and releases the virtual device structure body and the virtual machine instance memory space corresponding to the virtual machine.
Further, after the running of the virtual machine instance is finished, the virtual machine monitor cancels the virtual environment, releases the data structure related to the client stub, the service providing device cancels the related service data structure, and the SOA disconnects from the service providing device.
Further, when the virtual machine monitor creates and initializes the same service providing device phd2 as the virtual device structure vd2 of the virtual machine instance VM1 and the virtual device structure vd 2' of the virtual machine instance VM2, respectively, the switching method of the virtual machine monitor control phd2 between the VM1 and the VM2 is as follows:
1) during the running of the VM1, the virtual machine monitor control phd2 loads the device-related context saved by vd 2;
2) when a switch is to be made to VM2, the virtual machine monitor saves phd 2's context information to vd2 of VM 1;
3) the virtual machine monitor control phd2 loads the vd 2' device context information saved by the VM 2;
the vd2 and the vd 2' respectively store device state information and related register information that are open to the outside of the service providing device.
A virtual machine platform in a pervasive computing environment is characterized by comprising a resource layer, a virtual layer and an instance layer; wherein,
the resource layer comprises local physical equipment resources, remote equipment resources and remote service resources;
the virtual layer virtualizes the resource layer, creates virtualized equipment resources, and encapsulates and maps remote service resources;
the instance layer is used for establishing and running a plurality of virtual machine instances on the virtual layer.
Further, the virtual layer comprises a virtual machine monitor, a basic device driver, a virtual device sub-layer and a client stub; wherein
The virtual machine monitor is used for managing, sharing and distributing equipment resources and service resources in a pervasive computing environment;
the basic device driver comprises drivers of device resources in the resource layer and is used for operating the virtualized device resources created by the virtual layer;
the virtual device sublayer is used for performing virtualization processing on the remote device and the local device;
the client stub is used for providing a local interface of remote service and providing management and sharing of service resources in a pervasive computing environment.
Further, the instance layer comprises an application support sub-layer and a virtual machine instance sub-layer; the application support sub-layer comprises an application basic support library, an event channel and a management tool; the application basic support library is used for providing basic support library files for the application; the event channel is used for being responsible for communication among virtual machine instances, between a virtual layer and an instance layer and notification of physical interruption of remote equipment; the management tool is used for managing the virtual environment and the virtual machine instance.
Further, in the virtual layer, the device resource of one resource layer is created as a plurality of virtualized device resources.
Compared with the prior art, the invention has the positive effects
The invention realizes the sharing and virtualization of resources in the network by combining the SOA and the virtual machine technology, enables all the resources to be unified to the same virtual computing platform, and effectively improves the resource utilization rate and the management efficiency. Meanwhile, the application program faces to a virtual pervasive computing environment platform instead of distributed devices, so that the traditional application can be compatible on the platform, and a pervasive computing application framework which is not different from the traditional application is obtained.
Drawings
FIG. 1 illustrates a virtual machine platform architecture in a pervasive computing environment as described herein;
FIG. 2 illustrates a virtual machine environment initialization step for a virtual machine platform architecture;
FIG. 3 illustrates a virtual machine instance creation step of a virtual machine platform architecture;
FIG. 4 illustrates a virtual machine monitor intercepting operation of a virtual machine instance to operate a real device;
FIG. 5 illustrates a virtual machine instance service request step for a virtual machine platform architecture;
FIG. 6 illustrates virtualization of the same physical device in two virtual machine instances;
FIG. 7 illustrates the saving of device register information upon virtual machine instance switching;
FIG. 8 illustrates the loading of device register information upon virtual machine instance switching;
FIG. 9 illustrates a virtual machine instance communicating a service request over an SOA.
Detailed Description
The virtual machine design target in the pervasive computing environment is to realize virtualization of local/remote equipment resources, mapping of local/remote service resources, providing operation management of resources and services, and providing a virtual machine platform on the virtual machine platform, wherein the virtual machine platform is mapped to the whole pervasive computing environment, so that an improved pervasive computing application framework is obtained.
FIG. 1 illustrates a virtual machine platform architecture in a pervasive computing environment as described herein.
As shown in fig. 1, the virtual machine platform is divided into three layers in a hierarchical structure, which are a resource layer, a virtual layer, and an instance layer from bottom to top.
The resource layer is composed of various resources distributed in the network, and one node in the layer is a single physical resource or service resource. In general, in the ubiquitous computing environment, the device resources and the service resources are distributed, and what the invention needs to do is to aggregate and share the resources and provide a virtualized ubiquitous computing environment for the application, so that a new ubiquitous application framework is obtained. The resource layer is composed of the local device layer 30 and the remote device/service layer 60 in fig. 1.
The local device layer 30 is made up of local physical devices 31 and the remote device/service layer is made up of physical devices 61, 62 and services 63 and other devices or services. The remote device/service layer 60 builds up into a resource pool 50, the resource pool 50 being composed of a device pool 51 and a service pool 52.
The virtualization layer 20 virtualizes device resources, completes the creation of virtual devices, and provides encapsulation and mapping of service resources. One node in the layer is a mapping of virtual devices or service resources. A resource layer device node may spawn multiple virtual layer nodes, but a resource layer service node spawns only one virtual layer node (one-to-many spawning is well known in the art). The layer realizes virtualization of equipment resources and mapping of service resources in the pervasive computing environment, provides a resource management and sharing mechanism in the pervasive computing environment, and presents a virtual hardware platform to the user through virtualization of the pervasive computing environment. The layer is composed of a virtual machine monitor 21, a basic device driver 22, a virtual device sub-layer 23 and a client stub 24.
Device resources and service resources in the pervasive computing environment can be managed, shared, and allocated by the virtual machine monitor 21.
The basic device driver 22 includes basic device drivers that are not different from normal device drivers, except that the device drivers are used to operate on virtual devices, not real physical devices.
The virtual device sublayer 23 is responsible for the virtualization of the hardware device, and is used for virtualizing the remote device and the local device, and after the virtualization is completed, if the remote physical device or the local device needs to be operated, the virtual device can be operated.
The customer stub 24 is a local interface to the remote service. The client stub requests the relevant resources and services from the remote device through SOA40 and is a local proxy for the remote service. The client stub may read the service request and send it via the communication module to a service resource provided on a server, i.e. a remote device providing the service. It can be seen by this sub-layer functionality that the customer stub provides support for the management and sharing of service resources in the pervasive computing environment.
The instance layer is built on the virtual layer, a plurality of virtual machine instances can be run on the layer, and the virtual machine monitor schedules and allocates resources to the virtual machine instances. It can be seen that each virtual machine instance is based on a virtualized pervasive computing environment, which results in a pervasive computing application framework that is indistinguishable from legacy applications. The layer is composed of an application support sub-layer and a virtual machine instance sub-layer.
The application support sublayer contains an application base support library 13, an event channel 14 and a management tool 15. The application base support library 13 (known in the art) provides some basic support library files for the application. The event channel 14 (known in the art) is primarily responsible for communication between virtual machine instances, between the virtual layer and the instance layer, and notification of remote device physical interrupts. In a virtual machine system under ubiquitous computing, each virtual machine instance has its own event channel. Because of the asynchrony of the physical device interrupts in the environment, the present system replaces the physical interrupts in the pervasive computing environment with event channels. The management tool 15 is mainly used to manage the virtual environment and the virtual machine instances, and the management tool is an interface provided by the virtual machine monitor to a user, through which the virtual computing environment can be created, the virtual machine instance deleted, and the virtual computing environment released.
The virtual machine instance sub-layer sees only one virtual machine 11, 12, and in fact the entire pervasive computing environment, virtualized, including the device resources and service resources in the environment. Therefore, the ubiquitous computing application and the single-machine application have no difference, and a new ubiquitous computing application framework is obtained.
The following describes a method for creating a virtual machine platform in a ubiquitous computing environment.
The creation of the virtual machine platform in the pervasive computing environment is divided into three stages of the creation of the virtual environment, the generation of the life cycle of the virtual machine instance and the revocation of the virtual environment.
1. And (4) creating a virtual environment.
Each virtual machine instance is based on virtualization of a ubiquitous computing environment, so that a virtual environment must be created before the virtual machine is instantiated, and as shown in fig. 2, a user requests the creation of the virtual environment through a management tool, and the request is sent to a virtual machine monitor and an SOA respectively. And the SOA initializes the service equipment (Server), and the SOA generates a client stub at the virtual machine end according to the Server initialization information. The specific implementation steps of the initialization process are as follows:
1) a user sends a virtual environment creating request to a virtual machine management tool;
2) after receiving a virtual environment creation request of a user, a virtual machine management tool instructs a virtual machine monitor and an SOA to perform initialization operation;
3) after receiving the initialization request information, the virtual machine monitor initializes;
4) after receiving the initialization request, the SOA performs initialization operation, and in the initialization process, the SOA sends out a service providing equipment initialization request to all remote service providing equipment;
5) after receiving a service providing equipment initialization request sent by the SOA, the service providing equipment executes initialization operation, and sends a service registration request to the SOA after the initialization is finished;
6) after receiving a service registration request of service providing equipment, the SOA registers all equipment information or equipment service information provided by the service providing equipment in a resource pool;
7) after the SOA builds the resource pool, sending a request for creating a client pile on the virtual machine monitor to the virtual machine monitor;
8) after receiving a client pile creating request uploaded by an SOA, a virtual machine monitor creates a local agent, namely a client pile, for service providing equipment at a local virtual machine end and sends an initialization response to a virtual machine management tool;
9) and after receiving the initialization response, the virtual machine management tool feeds the initialization response back to the user.
In the initialization process, step 6 is to initialize the resource pool, and the remote device or device service is built upwards in the SOA into the resource pool, a method for building the resource pool, and a method for aggregating the resources. The resource pool construction method comprises the following three steps:
1) establishing service resources: setting a service entity which can be opened to the outside and interface information thereof, wherein the interface information is service parameters sent when the service is used, and the service entity is specific service realization.
2) Establishing equipment resources: and setting equipment resources which can be opened to the outside and relevant information thereof, wherein the equipment resources comprise relevant register resources and storage resources.
3) Registering resource information with a resource pool: after the user sets the service resources and the equipment resources, the user registers related information, mainly interface information, to the resource pool.
And after the resource pool is constructed, the resource pool issues the registered resource information to the virtual machine monitor through the SOA.
2. Generation of virtual machine instance lifecycle
The life cycle of the virtual machine instance comprises creation of the virtual machine instance, running of the virtual machine instance and deletion of the virtual machine instance.
(1) Creation of virtual machine instances
After the virtual environment is created, the virtual machine instance can be created, as shown in fig. 3, in the instance layer, a user creates the virtual machine instance through a management tool, and the virtual machine monitor receives a virtual machine instance creation request, and creates and initializes the virtual device structure according to the device initialization information. And then, executing initialization work driven by the basic device, and executing the initialization work on the real device through the SOA.
Each virtual machine instance is defined as follows.
struct instance{
instance _ id; // virtual machine ID
instance _ context context context; v/virtual machine context
.......
shared _ info _ shared _ info; v/shared data area between virtual machine instances
uint32 PIRQ _ to _ evtchn [ PIRQ _ SET ]; // interrupt of event channel mapping
uint32 PIRQ _ to _ evtchn _ mask [ PIRQ _ SET ]; // interrupt mask
virtual _ DEV [ MAX _ USED _ DEV ]; v/virtual appliance used by the virtual machine instance
......
}
The following describes specific implementation steps of the virtual machine instance creation process:
1) sending an instance creating request to a virtual machine management tool by a user at an instance layer;
2) after receiving an instance creation request sent by a user, the virtual machine management tool sends the instance creation request to a virtual machine monitor of a virtual layer through an event channel;
3) after receiving the instance creation request event, the virtual machine monitor creates and initializes a virtual equipment structure according to the service providing equipment initialization information, and simultaneously sends an equipment initialization request to the service providing equipment through the SOA;
4) after receiving the initialization request, the service providing equipment executes initialization operation and returns an equipment initialization response after the initialization is finished;
5) after the SOA receives the equipment initialization response, uploading the response to the virtual machine monitor;
6) and after receiving the equipment initialization response, the virtual machine monitor creates a virtual machine instance for the user according to the created virtual equipment structure and the service providing equipment initialization result.
The device initialization in step 3 refers to the initialization of a specific device in the service providing device, and if the desktop is used as the service providing device, the display is a specific device provided by the desktop. The service providing equipment is initialized when the virtual environment is created, and the specific equipment in the service providing equipment is initialized according to the requirement of the virtual machine instance to be created when the virtual machine instance is created.
The step 2, the step 3, the step 5 and the step 6 all relate to a virtual machine monitor. During the life cycle of the virtual machine instance, the virtual machine monitor intercepts and executes actions and requests for service resources issued by all virtual machine instances that interact with the hardware resources in a completely transparent manner. FIG. 4 illustrates a virtual machine monitor intercepting operation of a virtual machine instance to operate a real device. Because the virtual machine monitor periodically switches control between the virtual machine instances, and the device states of the corresponding virtual machine instances are stored in the corresponding virtual device structure, this is why one resource layer node can generate a plurality of virtual layer nodes. The virtual machine monitor performs corresponding operation on the intercepted device resources, the operation request is sent to the real physical device through the SOA, and the real physical device loads the corresponding virtual device register value, so that the operation of the real physical device is realized. And the intercepted service request is also sent to the service resource through the SOA to execute the corresponding service.
The virtual machine monitor realizes the operation of the virtual device through the basic device driver of the virtual layer. The following takes serial port operation for a remote device as an example.
virtual _ dev ═ uart _ dev ═ resource _ table- > uart _ dev; // obtaining virtual device Structure
V/initialization function of serial port of remote device
void virtual_dev_uart_init(virtual dev*uart_dev)
// remote device serial port send function
void virtual_dev_uart_putc(virtual_dev*uart_dev,unsigned char c)
// remote device serial port receiving function
unsigned char getc(virtual_dev*uart_dev)
The functions act on the virtual equipment structure body, and the SOA is used for being responsible for communication between the virtual equipment serial port related register and the real equipment serial port related register, so that the operation of the remote equipment serial port is realized, and the remote equipment serial port is similar to the operation of using a local serial port.
The virtual device structure is a structure formed by a remote physical device or a local device in a virtual device sub-layer. The virtual device sublayer is responsible for the virtualization work of the hardware device, namely the virtualization of the remote device and the local device, and after the virtualization is finished, if the remote physical device or the local device needs to be operated, the virtualization can be realized by operating the virtual device. A remote device issues a hardware resource part which can be opened to the outside through the SOA, and then a corresponding virtual device structure body can be generated in a virtual device layer, for example, a serial port and an LCD related part which are opened to the outside by the remote device, and then the related virtual device structure body generated in the layer by the remote device is as follows.
struct virtual_dev{
.......
uart _ registers _ context uart; v/Serial related register context
LCD _ registers _ context LCD; // LCD associated register context
.......
}
The virtual device sub-layer can operate the hardware of the remote device through software and can represent the hardware state of the remote device by virtualizing the hardware of the remote device in a software mode. It can be seen by the functionality of this sub-layer that the virtual device sub-layer provides support for uniform resource management and resource sharing in a pervasive computing environment.
(2) And running the virtual machine instance.
As shown in fig. 5, a virtual machine instance uses device services during the running of the virtual machine. When an upper layer application uses a device or service, the actual location of the device or service is not known. The instance layer sends corresponding events to the virtual layer through the event channel, and the virtual layer calls a resource management and service interface of the virtual machine, so that the virtual equipment or the client stub is operated. The operation request for the virtual device or the customer stub is sent to the SOA, which forwards the request to the real device or service to the service providing device. And after the service providing equipment finishes service execution or equipment operation, the service providing equipment returns response information, and after the SOA receives the response information, the SOA feeds the response back to the virtual machine instance. When the virtual machine instance is switched, the virtual equipment structure body is correspondingly switched, so that the real equipment executes state switching.
(3) Deletion of virtual machine instance.
The deletion operation of the virtual machine instance is determined by a user, the user deletes the virtual machine instance through a management tool at an instance layer, a virtual machine monitor at a virtual layer receives a virtual machine instance deletion request, releases a corresponding virtual equipment structure body and a virtual machine instance memory space, and the virtual machine instance is deleted completely at the moment.
3. Revocation of the virtual environment.
The revocation of the virtual environment is that a user revokes through a management tool, a virtual machine monitor releases client piles and other related data structures in the virtual machine, a Server revokes the related service data structures, and the SOA disconnects with service providing equipment.
The virtual machine platform in the ubiquitous computing environment relates to three technical points of remote equipment virtualization, local equipment virtualization and SOA.
(1) Remote device virtualization
Through virtualization of the remote equipment, a virtual structure body of relevant equipment is generated in the virtual machine, and the virtual machine realizes control over the actual equipment through the virtual equipment. However, there may be a virtual device structure generated by one physical device in two or more different virtual machine instances, and how to implement control conflict on a virtual device under the condition that multiple virtual machine instances do not affect each other is a major technical point. FIG. 6 illustrates a remote physical device creating a virtual device structure in two different virtual machine instances.
At the virtual device sub-layer of VM1 and VM2, virtualized device instances to real physical device phd2 are vd2 and vd 2', where context information of the device is maintained, including device state information, relevant register information, and the like. For control of phd2, which is based on an on-demand principle, to actually seize the device only when it is actually used phd2, control of phd2 is switched from VM1 to VM2 as follows:
a. device-related context of vd2 is loaded phd2 during operation of VM 1;
the device context information switched here is only the part of the device open to the outside, and may include hardware control register information of the device, and for the device register information not open to the outside, the device itself manages and controls the device. For example, a device only has a serial port and an LCD function, and a virtual device structure body generated by the device is the following part.
struct virtual_dev{
.......
uart _ registers _ context uart; v/Serial related register context
LCD _ registers _ context LCD; // LCD associated register context
.......
}
b. When switching to the VM2, save the context information of the real device to vd2 of the VM 1;
as shown in fig. 7, the register information of the device-to-external open function is sent to the virtual machine monitor through the SOA, and the register information is saved by the virtual machine monitor into the domain corresponding to the corresponding virtual machine instance, so that the saving of the device context is realized.
c. phd2 load the vd 2' device context information of the VM 2.
As shown in fig. 8, the virtual machine monitor sends the virtual device context corresponding to the virtual machine instance 2 to the corresponding device through the SOA, and the device loads the device context information.
When the remote physical equipment is interrupted or abnormal, a corresponding position in a corresponding virtual equipment structure body is set to represent the occurrence of one interruption or abnormality, the occurrence of the interruption or the abnormality of the virtual machine instance is notified through an event channel, and the virtual machine instance is transferred to a corresponding processing function. For the virtual machine instance, interrupts occurring at the remote device are handled just as interrupts occurring at the local device.
(2) Local device virtualization
The technique employed for the virtualization of the local device depends on whether the device is shared and how it is shared. The following is a classification of local generic devices
a. Exclusive device
A device of a certain type is only used for a specific virtual machine instance or at least takes a long time to switch from one virtual machine instance to another, e.g. a display, a keyboard, a mouse, etc. In this case, the devices do not have to be virtualized, and the virtual machine instance can make operation requests directly to such devices.
b. Partition device
For some partition devices like disks, available resources of the partition devices are easily partitioned among virtual machine instances for use, one disk with a large capacity is divided into a plurality of disks with small capacities for use by the virtual machine instances, and each virtual machine instance uses the small disks as exclusive devices.
c. Sharing device
For devices such as network cards, it is possible to share with finer granularity of time a plurality of virtual machine instances, each having its own virtual state, e.g. a virtual network address, about the use of the device. The virtual machine monitor is responsible for maintaining such state information for each virtual machine instance. A request by a virtual machine instance to a device is translated by a virtual machine monitor into a request to a physical device using a virtual device driver. For the network card, the virtual machine monitor will convert the request from the virtual machine instance into a request of a certain network port using its own physical network address. Also requests from different ports will be translated into requests for network addresses of respective virtual machine instances.
(3)SOA
The virtual machine suitable for pervasive computing also provides service mapping in the network, and the virtual layer organizes and manages the services in the network, so that the upper layer application can enjoy various long-range and short-range services in the network. The invention uses SOA, and maps the device attribute and service to other computer devices or systems, thereby solving mutual inductance and interoperation of heterogeneous devices, so that the upper layer application can discover the service of the remote device and can call the service. Fig. 9 illustrates a VM sending a service request through an SOA.

Claims (11)

1. A general computing environment virtual machine platform creating method comprises the following steps:
1) a user sends a virtual environment creating request to a virtual machine monitor and an SOA respectively;
2) after the virtual machine monitor and the SOA are respectively initialized, the SOA creates a client stub at the local virtual machine end according to the initialization information of the service providing equipment;
3) a user sends an instance creating request to a virtual machine monitor;
4) after receiving the instance creation request, the virtual machine monitor creates and initializes a virtual equipment structure according to the initialization information of the service providing equipment, and simultaneously sends an equipment initialization request to the service providing equipment through the SOA;
5) the SOA uploads the initialization response of the service providing equipment to the virtual machine monitor;
6) and the virtual machine monitor creates a virtual machine instance for the user according to the created virtual equipment structure body and the service providing equipment initialization result.
2. The method of claim 1, wherein the SOA initialization method is:
1) the SOA sends out a service providing equipment initialization request to all remote service providing equipment;
2) the service providing equipment receives an initialization request sent by the SOA, and sends a service registration request to the SOA after executing initialization operation;
3) after receiving a service registration request of the service providing device, the SOA registers device information or device service information in the resource pool to construct the resource pool.
3. The method of claim 2, wherein the resource pool is constructed by:
1) establishing service resources, and setting a service entity open to the outside and interface information thereof;
2) establishing equipment resources: setting equipment resources open to the outside, wherein the equipment resources comprise register resources and storage resources;
3) and registering the established equipment resources, service resources and interface information thereof in a resource pool.
4. A method according to claim 1, 2 or 3, characterized in that the method of creating the customer pile is: the SOA sends a request for creating a client stub on the virtual machine monitor to the virtual machine monitor, and after the virtual machine monitor receives the request for creating the client stub uploaded by the SOA, a local agent, namely the client stub, is created for the service providing equipment at the local virtual machine end.
5. The method according to claim 1, wherein after the running of the virtual machine instance is finished, the virtual machine monitor deletes the virtual machine instance, and releases the virtual device structure and the memory space of the virtual machine instance corresponding to the virtual machine.
6. The method of claim 5, wherein after the virtual machine instance has run, the virtual machine monitor revokes the virtual environment and releases the data structures associated with the customer stub, the service providing device revokes the associated service data structures, and the SOA disconnects from the service providing device.
7. The method according to claim 1, wherein when the virtual machine monitor creates and initializes the same service providing device phd2 as the virtual device structure vd2 of the virtual machine instance VM1 and the virtual device structure vd 2' of the virtual machine instance VM2, respectively, the switching method of the virtual machine monitor control phd2 between the VM1 and the VM2 is as follows:
1) during the running of the VM1, the virtual machine monitor control phd2 loads the device-related context saved by vd 2;
2) when a switch is to be made to VM2, the virtual machine monitor saves phd 2's context information to vd2 of VM 1;
3) the virtual machine monitor control phd2 loads the vd 2' device context information saved by the VM 2;
the vd2 and the vd 2' respectively store device state information and related register information that are open to the outside of the service providing device.
8. A virtual machine platform in a pervasive computing environment is characterized by comprising a resource layer, a virtual layer and an instance layer; wherein,
the resource layer comprises local physical equipment resources, remote equipment resources and remote service resources;
the virtual layer virtualizes the resource layer, creates virtualized equipment resources, and encapsulates and maps remote service resources;
the instance layer is used for establishing and running a plurality of virtual machine instances on the virtual layer.
9. The platform of claim 8, wherein the virtual layer comprises a virtual machine monitor, a base device driver, a virtual device sub-layer, a customer stub; wherein
The virtual machine monitor is used for managing, sharing and distributing equipment resources and service resources in a pervasive computing environment;
the basic device driver comprises drivers of device resources in the resource layer and is used for operating the virtualized device resources created by the virtual layer;
the virtual device sublayer is used for performing virtualization processing on the remote device and the local device;
the client stub is used for providing a local interface of remote service and providing management and sharing of service resources in a pervasive computing environment.
10. The platform of claim 8 or 9, wherein the instance layer comprises an application support sub-layer and a virtual machine instance sub-layer; the application support sub-layer comprises an application basic support library, an event channel and a management tool; the application basic support library is used for providing basic support library files for the application; the event channel is used for being responsible for communication among virtual machine instances, between a virtual layer and an instance layer and notification of physical interruption of remote equipment; the management tool is used for managing the virtual environment and the virtual machine instance.
11. The platform of claim 10, wherein the device resources of a resource layer in the virtual layer are created as a plurality of virtualized device resources.
CN201010569900.XA 2010-11-26 2010-11-26 A kind of general calculation entironment virtual machine platform and creation method thereof Expired - Fee Related CN102479100B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010569900.XA CN102479100B (en) 2010-11-26 2010-11-26 A kind of general calculation entironment virtual machine platform and creation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010569900.XA CN102479100B (en) 2010-11-26 2010-11-26 A kind of general calculation entironment virtual machine platform and creation method thereof

Publications (2)

Publication Number Publication Date
CN102479100A true CN102479100A (en) 2012-05-30
CN102479100B CN102479100B (en) 2015-08-26

Family

ID=46091753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010569900.XA Expired - Fee Related CN102479100B (en) 2010-11-26 2010-11-26 A kind of general calculation entironment virtual machine platform and creation method thereof

Country Status (1)

Country Link
CN (1) CN102479100B (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752373A (en) * 2012-06-15 2012-10-24 北京真视通科技股份有限公司 Method for calling a plurality of control terminals through one centralized control server in cloud network
CN103078764A (en) * 2012-12-28 2013-05-01 国家计算机网络与信息安全管理中心 Operational monitoring system and method based on virtual computing task
CN103679432A (en) * 2012-09-17 2014-03-26 马侠安 A VNMS system supporting a dynamic structured application platform
CN103995692A (en) * 2013-02-16 2014-08-20 马侠安 VNMS for building dynamic application systems
CN104050043A (en) * 2014-06-17 2014-09-17 华为技术有限公司 Share cache perception-based virtual machine scheduling method and device
CN104395886A (en) * 2012-06-19 2015-03-04 微软公司 Multi-tenant middleware cloud service technology
CN105141495A (en) * 2015-08-25 2015-12-09 青岛海尔智能家电科技有限公司 Method for creating virtual device and gateway device
CN105430043A (en) * 2015-10-29 2016-03-23 贵州电网有限责任公司电力调度控制中心 Virtualized-instance-oriented launch configuration implementation method
CN105453485A (en) * 2013-09-06 2016-03-30 华为技术有限公司 System and method for service embedding and resource orchestration
CN105740040A (en) * 2014-12-10 2016-07-06 中兴通讯股份有限公司 Virtual machine data loading method and system
CN106250202A (en) * 2016-07-18 2016-12-21 北京首都在线科技股份有限公司 A kind of cloud platform automatization opens the device and method of virtual machine
CN109522087A (en) * 2018-09-13 2019-03-26 上海交通大学 Processor-based Imaginary Mechanism construction method and system
CN111143029A (en) * 2019-12-19 2020-05-12 浪潮软件股份有限公司 Method for realizing consistent and automatic telescopic continuous construction environment of virtual machine based on Gitlab-CI callback integration
CN113961312A (en) * 2021-10-28 2022-01-21 北京金山云网络技术有限公司 Target service deployment method and device and electronic equipment
CN114625484A (en) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 Virtualization implementation method, device, electronic equipment, medium and ARM platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216777A (en) * 2008-01-11 2008-07-09 华中科技大学 Rapid deployment system under multi-dummy machine environment
CN101493781A (en) * 2008-01-24 2009-07-29 中国长城计算机深圳股份有限公司 Virtual machine system and start-up method thereof
CN101604257A (en) * 2009-06-29 2009-12-16 北京航空航天大学 The manner of execution of virtualization software and device
CN101782861A (en) * 2009-12-24 2010-07-21 华为终端有限公司 Management method and device of operation systems in embedded system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216777A (en) * 2008-01-11 2008-07-09 华中科技大学 Rapid deployment system under multi-dummy machine environment
CN101493781A (en) * 2008-01-24 2009-07-29 中国长城计算机深圳股份有限公司 Virtual machine system and start-up method thereof
CN101604257A (en) * 2009-06-29 2009-12-16 北京航空航天大学 The manner of execution of virtualization software and device
CN101782861A (en) * 2009-12-24 2010-07-21 华为终端有限公司 Management method and device of operation systems in embedded system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
白浩平: "《基于OSGI的SOA服务集成技术研究与实现》", 《中国优秀硕士学位论文全文数据库》, 25 November 2009 (2009-11-25) *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752373A (en) * 2012-06-15 2012-10-24 北京真视通科技股份有限公司 Method for calling a plurality of control terminals through one centralized control server in cloud network
US9705796B2 (en) 2012-06-19 2017-07-11 Microsoft Technology Licensing, Llc Multi-tenant middleware cloud service technology
CN104395886A (en) * 2012-06-19 2015-03-04 微软公司 Multi-tenant middleware cloud service technology
US10212085B2 (en) 2012-06-19 2019-02-19 Microsoft Technology Licensing, Llc Multi-tenant middleware cloud service technology
CN104395886B (en) * 2012-06-19 2018-04-27 微软技术许可有限责任公司 multi-tenant middleware cloud service technology
CN103679432A (en) * 2012-09-17 2014-03-26 马侠安 A VNMS system supporting a dynamic structured application platform
CN103078764A (en) * 2012-12-28 2013-05-01 国家计算机网络与信息安全管理中心 Operational monitoring system and method based on virtual computing task
CN103995692A (en) * 2013-02-16 2014-08-20 马侠安 VNMS for building dynamic application systems
CN105453485A (en) * 2013-09-06 2016-03-30 华为技术有限公司 System and method for service embedding and resource orchestration
CN104050043A (en) * 2014-06-17 2014-09-17 华为技术有限公司 Share cache perception-based virtual machine scheduling method and device
CN105740040B (en) * 2014-12-10 2020-07-14 中兴通讯股份有限公司 Virtual machine data loading method and system
CN105740040A (en) * 2014-12-10 2016-07-06 中兴通讯股份有限公司 Virtual machine data loading method and system
CN105141495A (en) * 2015-08-25 2015-12-09 青岛海尔智能家电科技有限公司 Method for creating virtual device and gateway device
CN105141495B (en) * 2015-08-25 2021-04-02 青岛海尔智能家电科技有限公司 Virtual device creating method and gateway device
CN105430043A (en) * 2015-10-29 2016-03-23 贵州电网有限责任公司电力调度控制中心 Virtualized-instance-oriented launch configuration implementation method
CN105430043B (en) * 2015-10-29 2019-04-16 贵州电网有限责任公司电力调度控制中心 A kind of starting configuration implementation method of Virtual example
CN106250202A (en) * 2016-07-18 2016-12-21 北京首都在线科技股份有限公司 A kind of cloud platform automatization opens the device and method of virtual machine
CN106250202B (en) * 2016-07-18 2019-09-10 北京首都在线科技股份有限公司 The device and method of virtual machine is opened in a kind of cloud platform automation
CN109522087A (en) * 2018-09-13 2019-03-26 上海交通大学 Processor-based Imaginary Mechanism construction method and system
CN109522087B (en) * 2018-09-13 2020-07-28 上海交通大学 Virtual mechanism building method and system based on domestic Shenwei processor
CN111143029A (en) * 2019-12-19 2020-05-12 浪潮软件股份有限公司 Method for realizing consistent and automatic telescopic continuous construction environment of virtual machine based on Gitlab-CI callback integration
CN111143029B (en) * 2019-12-19 2024-03-22 浪潮软件股份有限公司 Method for realizing consistent and automatic telescopic continuous construction environment of virtual machine based on Gitleab-CI callback integration
CN113961312A (en) * 2021-10-28 2022-01-21 北京金山云网络技术有限公司 Target service deployment method and device and electronic equipment
CN114625484A (en) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 Virtualization implementation method, device, electronic equipment, medium and ARM platform
WO2023184920A1 (en) * 2022-03-31 2023-10-05 苏州浪潮智能科技有限公司 Virtualization implementation method and apparatus, electronic device, non-volatile readable storage medium, and arm platform
CN114625484B (en) * 2022-03-31 2024-06-21 苏州浪潮智能科技有限公司 Virtualization implementation method and device, electronic equipment, medium and ARM platform

Also Published As

Publication number Publication date
CN102479100B (en) 2015-08-26

Similar Documents

Publication Publication Date Title
CN102479100B (en) A kind of general calculation entironment virtual machine platform and creation method thereof
US20200356415A1 (en) Apparatus and method for depoying a machine learning inference as a service at edge systems
CN113687913B (en) Lightweight application adaptation method for edge computing heterogeneous environment
Huang et al. Virtual machine aware communication libraries for high performance computing
CN1890638B (en) Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management
KR101694977B1 (en) Software architecture for service of collective volume memory, and method for providing service of collective volume memory using the said software architecture
CN101976200B (en) Virtual machine system for input/output equipment virtualization outside virtual machine monitor
CN111143054B (en) Heterogeneous domestic CPU resource fusion management method
CN107291456B (en) Multi-screen display control method and system
CN100553214C (en) Mobile virtual environment system
US11461120B2 (en) Methods and apparatus for rack nesting in virtualized server systems
Gogouvitis et al. Seamless computing in industrial systems using container orchestration
JP2022516486A (en) Resource management methods and equipment, electronic devices, and recording media
CN103051714A (en) Implementation method of water conservation cloud platform
Tsakalozos et al. Hint-based execution of workloads in clouds with nefeli
US11184244B2 (en) Method and system that determines application topology using network metrics
Chang et al. On construction and performance evaluation of a virtual desktop infrastructure with GPU accelerated
Zhang et al. CloudGC: Recycling idle virtual machines in the cloud
Mulfari et al. Design of an IoT cloud system for container virtualization on smart objects
CN108304248A (en) A kind of mobile device of multisystem virtualization
CN105208123A (en) Virtual desktop implementation method and system thereof
Guo et al. Decomposing and executing serverless applications as resource graphs
Park et al. Cloud computing platform for GIS image processing in U-city
CN114816665A (en) Hybrid arrangement system and virtual machine container resource hybrid arrangement method under super-fusion architecture
CN112579245B (en) Computing core virtualization method of heterogeneous CPU

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150826

Termination date: 20181126

CF01 Termination of patent right due to non-payment of annual fee