CN1862494A - Partition bus - Google Patents

Partition bus Download PDF

Info

Publication number
CN1862494A
CN1862494A CNA2005100990820A CN200510099082A CN1862494A CN 1862494 A CN1862494 A CN 1862494A CN A2005100990820 A CNA2005100990820 A CN A2005100990820A CN 200510099082 A CN200510099082 A CN 200510099082A CN 1862494 A CN1862494 A CN 1862494A
Authority
CN
China
Prior art keywords
subregion
buffer circle
stages
service
bus
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.)
Pending
Application number
CNA2005100990820A
Other languages
Chinese (zh)
Inventor
J·奥希斯
P·L·约翰斯顿
E·P·特劳特
N·刘易斯
J·金西
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1862494A publication Critical patent/CN1862494A/en
Pending legal-status Critical Current

Links

Images

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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Abstract

A method and system are provided for integrating partitions in a virtual machine environment. Specifically, a partition bus is provided, where the partition bus operatively connects partitions in such a way that it functions as a data transport mechanism allowing for data transfer and device sharing between partitions. The partition bus relies on virtualizing software in order to establish itself and to establish channels of communication between partitions and to inject interrupts to partitions where it is appropriate to do so. Furthermore, the partition bus employs such mechanisms ring buffers, transfer pages, and memory map changes to transfer information (requests and data). Furthermore, it uses policy agents to decide when information should be transferred or when devices should be shared among partitions. Lastly, it employs various mechanisms to ensure smooth integration between partitions, which includes remote services that have proxy devices and device versioning functionalities.

Description

Partition bus
Copyright notice and permission
The part of this patent documentation institute disclosure may comprise material protected by copyright.The copyright owner does not oppose anyone facsimile copy with this patent documentation or this patent institute disclosure, as it appears in patent and trademark portion patent document or the record, in any case but in addition all keep all copyrights.Following notice should be applicable to this document: Copyright  2005, Microsoft Corp.
Technical field
The field of the operating system that the present invention relates generally to virtual machine (or title " subregion ") and carry out in this type of subregion inside.More specifically, the present invention relates to the system and method for mobile data and shared device between each subregion.
Background technology
In typical virtual machine environment, a plurality of virtual machines or " subregion " move on virtualization software.This software and then on hardware, move.This virtualization software is arranged hardware in the mode that a plurality of subregions that allow each operating system that all has oneself (OS) move on hardware.Thereby this virtualization software makes hardware to each subregion and virtual.
Independent subregion can move such as diverse OS such as Windows, Linux, Solaris.These OS can be isolated from each other, thereby if in the OS of certain subregion collapse, it will can not influence the OS of other subregion.
With a cost that is associated at a plurality of subregions of operation on one group of hardware is the processor cycle of virtualization software consumes considerable for each subregion virtual unit the time.Similarly, when sharing information (request and/or data) or equipment between this type of subregion, in the processor cycle of virtualization software consumes considerable, reason is that virtualization software must be handled it when sharing this information and equipment on each subregion.
Particularly, in any given virtual machine environment,, and caused a class problem in each subregion owing to the part that is presented maybe may not be designed to and can share with a plurality of OS in other subregion by all input-output apparatus.The programming module of most of equipment hypothesis has and only has the OS of " having " this equipment, and this makes, and must to use this equipment simultaneously by the some operating systems in each subregion be very difficult or impossible.For example, if Magnetic Disk Controller obtains the order from two operating systems simultaneously, just may have problems.Each OS can think that it has controlled file system structure, and each OS can write any data of its selection, and very fast disk is with destroyed.For preventing this from occurring, invention someway and system is distributed to single operating with the entitlement of certain equipment, and the service with this equipment of operation systems share of any other operation will be favourable subsequently.
In addition, when a plurality of operating systems attempt to share same machine, just produced an independent class problem, because the user needs the integrated of certain level between these operating systems.For example, the user may want mobile data between the operating system of each subregion.Therefore, provide a kind of between the operating system of operation mobile data, or more broadly, the method and system of mobile message is favourable.
Summary of the invention
In various aspects of the present invention, provide equipment between each subregion that allows in virtual machine environment to share and the whole bag of tricks and the system of data transmission.In one aspect of the invention, provide a kind of partition bus, it is that a kind of aforesaid by stages equipment that allows is shared and the data transmission mechanism of data transmission.
Particularly, partition bus utilizes buffer circle, and information (request and/or data) is sent to another subregion from a subregion.In others of the present invention, partition bus utilizes buffer circle, will ask to send to another subregion from a subregion, and the transmission page or leaf sends to another subregion with data from a subregion.In the present invention's others in addition, partition bus utilizes buffer circle to send request in the by stages, and utilizes address space to handle in by stages transmission data.
The present invention other aspect, partition bus allows to exist the local agent synthesis device corresponding to the service in another subregion in a subregion.Partition bus also allows these synthesis devices corresponding to such as real equipment such as memory controllers, perhaps such as abstract service such as drag-and-drop functions.In others, send data in the by stages and do not cause context to switch the mechanism of cost by writing each subregion or being mapped to these subregions from the buffer circle that these subregions are read thereby partition bus provides a kind of.In others in addition, partition bus provides a kind of translating mechanism, and the service that wherein is positioned at certain subregion has the overall unique sign based on COS and Service Instance.In others, partition bus usage policy decision-making agency examines certain subregion the passage of another subregion is provided.This policy agent can be positioned at the 3rd subregion.In others in addition, partition bus allows emulates hardware devices module and virtualization services to provide device to operate simultaneously.In others in addition, depend on that client component is in user model or kernel mode, partition bus is constituted by three assemblies.These assemblies comprise: buffer circle management, channel management and bus driver.
Further feature of the present invention is described hereinafter.
Description of drawings
When reading in conjunction with the accompanying drawings, will have better understanding about general introduction and following detailed description more than of the present invention.For the present invention is described, show various aspects of the present invention.But, the invention is not restricted to particular system and the method explained.Comprise the following drawings:
Fig. 1 provides realizing the brief overview of suitable computing equipment of the present invention;
Fig. 2 is the block diagram of hardware and software structural system layering logic layers that expression is used for the virtualization operations environment of computer system;
Fig. 3 A is the block diagram of expression one virtual computing system, is wherein virtually carried out by master operating system (directly or only by system supervisor);
Fig. 3 B is the block diagram of the virtual computing system of expression one replacement, and is wherein virtual by carrying out with the virtual machine monitor of master operating system parallel running;
Fig. 4 illustrates permission aspect the summary of the partition bus of by stages transmission data and shared device;
Fig. 5 A illustrates the remote service of being represented by the local agent synthesis device;
Fig. 5 B illustrates the type of the various synthesis devices that can be used for various aspects of the present invention, comprises memory controller and drag and drop equipment;
Fig. 6 illustrates the data of different types transmission mechanism that partition bus uses, and comprises the loop buffer section model, transmits page or leaf model and address space manipulation model;
Fig. 7 illustrates and is used in the loop buffer section model that the by stages sends low volume data;
Fig. 8 illustrates and is used in the transmission page or leaf model that the by stages sends the moderate quatity data;
Fig. 9 illustrates and is used in the address space manipulation model that the by stages sends mass data;
Figure 10 illustrates a kind of mechanism of the cost that sends data in the by stages and can not cause being associated with context swap;
Figure 11 illustrates a kind of partition bus translating mechanism that is used for interface and agreement.
Figure 12 illustrates the strategic decision-making of doing by based on the degree of belief of the sign of certain subregion and another subregion; And
Operation when Figure 13 illustrates emulator module and virtualization services device is provided.
Figure 14 A illustrates a concrete user model aspect of implementing of partition bus.
Figure 14 B illustrates a concrete kernel mode aspect of implementing of partition bus.
Figure 14 C illustrates a concrete loader aspect of implementing of partition bus.
Embodiment
General introduction
This paper discusses the various aspects of partition bus.At first, provide exemplary computing environment, and the general discussion of the subregion with various operating systems in the virtual machine environment.After this discussed, the by stages data transmission and the equipment that go through partition bus were shared ability.The general introduction of partition bus is provided, then being to use the equipment of the service of synthesis device to share the detailed inspection of ability to partition bus, then is the detailed inspection that partition bus is used buffer circle, transmits the information transfer capability that page or leaf and address space handle.In addition, the others of partition bus have been considered, such as the policy agent that uses examination subregion passage to provide etc.
The example calculation environment
Fig. 1 and following discussion aim to provide the brief overview that can realize suitable computing equipment of the present invention.For example, any client-server computing machine or the equipment shown in Fig. 1 can be taked this kind form.But, should be appreciated that and can use hand-held, portable and other computing equipment and all types of calculating object in conjunction with the present invention, that is, can use in computing environment, to generate, handle, receive and/or to send data computing equipment or calculating object.Although below described multi-purpose computer, this only is an example, can have network/bus interoperability and mutual thin client computer realization the present invention.Therefore, can involve seldom or the networking master of minimum client resource contains in the service environment (for example, client devices is only taken on the networked environment of the interface of network/bus, such as the object that is placed in certain device) and implements the present invention.In fact, any data or can retrieve data or can all be the desirable or suitable environment of operation object persistence method of the present invention of can storing to the environment of another the computer sends the data.
Although nonessential, the present invention can realize using for the developer for the service of equipment or object via operating system, and/or can be included in according to the present invention within application program operating or the server software.Software can be described in by the general context such as computer executable instructions such as program modules that one or more computing machines are carried out such as client workstation, server or miscellaneous equipment etc.Generally speaking, program module comprises the routine carrying out particular task or realize particular abstract, program, object, assembly, data structure or the like.Usually, can be in each embodiment according to desired function combinations or distribution with each program module.And, can be with other computer system configurations and actualizing the present invention.Other computing system extensively known, environment and/or the configuration that are suitable for using with the present invention comprise, but be not limited to, personal computer (PC), ATM (Automatic Teller Machine), server computer, hand-held or laptop devices, multicomputer system, the system based on microprocessor, programmable consumer electronics, network PC, household electrical appliances, electric light, environment control element, microcomputer, mainframe computer, or the like.
Therefore Fig. 1 shows the example that can realize suitable computingasystem environment 100 of the present invention, although above illustrating, computingasystem environment 100 only is an example of suitable computing environment, does not attempt the scope of use of the present invention or function is proposed any restriction.Computing environment 100 should be construed to any one or the dependence or the requirement of its any combination that have in each assembly that relates to shown in the exemplary operation environment 100 yet.
With reference to figure 1, be used to realize that example system of the present invention comprises the universal computing device of computing machine 110 forms.The assembly of computing machine 110 can include, but not limited to processing unit 120, system storage 130 and will comprise that each system component of system storage is coupled to the system bus 121 of processing unit 120.System bus 121 can be any in the bus structure of some types, comprises memory bus or Memory Controller, peripheral bus and uses local bus any in the various bus architectures.As example, and unrestricted, this type of architecture comprises ISA(Industry Standard Architecture) bus, MCA (MCA) bus, expansion ISA (EISA) bus, video electronic counting ANSI (VESA) local bus, peripheral component interconnect (PCI) bus (also claiming the Mezzanine bus).
Computing machine 110 generally includes various computer-readable mediums.Computer-readable medium can be computing machine 110 addressable any usable mediums, comprises volatibility and non-volatile media, removable and removable medium not.As example, and unrestricted, computer-readable medium can comprise computer-readable storage medium and communication media.Computer-readable storage medium comprises the volatibility that realizes with any method or technology and non-volatile, and removable and removable medium not is used for storing such as information such as computer-readable instruction, data structure, program module or other data.Computer-readable storage medium comprises, but be not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, tape cassete, tape, disk storage or other magnetic storage apparatus or can be used for stored expectation information and can be by any other medium of computing machine 110 visits.Communication media is embodied as usually such as computer-readable instruction, data structure, program module or other data in the modulated message signal such as carrier wave or other transmission mechanisms, and comprises any information-delivery media.Term " modulated message signal " refers to the mode of information coding is provided with or changes the signal of its one or more features in signal.As example and unrestricted, communication media comprises such as cable network or direct wire medium such as line, and such as wireless mediums such as acoustics, RF, infrared and other wireless mediums.Above combination in any also should be included in the category of computer-readable medium.
System storage 130 comprises the computer-readable storage medium of volatibility and/or nonvolatile memory form, such as ROM (read-only memory) (ROM) 131 and random-access memory (ram) 132.For example comprise and be stored in usually among the ROM 131 in the Basic Input or Output System (BIOS) 133 (BIOS) that transmits the basic routine of information at computing machine 110 inner each interelement between the starting period.RAM 132 comprises usually can be by processing unit 120 zero accesses and/or current data of operating and/or program module.And unrestricted, Fig. 1 shows operating system 134, application program 135, other program modules 136 and routine data 137 as example.
Computing machine 110 can comprise that also other are removable/not removable, and volatile/nonvolatile computer storage media.As just example, Fig. 1 illustrates the hard disk drive 141 that reads or writes not removable, non-volatile magnetic medium, it is removable to read or write, the disc driver 151 of non-volatile magnetic disk 152 and read or write CD drive 155 such as removable, non-volatile CDs 156 such as CD-RW, DVD-RW or other light media.Other that can be used for the exemplary operation environment are removable/and not removable, volatile/nonvolatile computer storage media includes, but not limited to tape cassete, flash card, digital versatile disc, digital recording band, solid-state RAM, solid-state ROM or the like.Hard disk drive 141 usually by such as interface 140 grades not the removable memory interface link system bus 121, and disc driver 151 and CD drive 155 are usually by linking system bus 121 such as removable memory interfaces such as interfaces 150.
The computer-readable storage medium of each driver also shown in Figure 1 being discussed in the above and being associated provides the storage of computer-readable instruction, data structure, program module and other data for computing machine 110.For example, in Fig. 1, hard disk drive 141 is illustrated as storage operating system 144, application program 145, other program modules 146 and routine data 147.Be noted that these assemblies can be identical or different with routine data 137 with operating system 134, application program 135, other program modules 136.Give operating system 144, application program 145, other program modules 146 and routine data 147 different labels herein, they are different copies at least with explanation.The user can be by coming input command and information in computing machine 110 such as keyboard 162 and the input equipment such as positioning equipments 161 such as mouse, tracking ball or touch pads.Other input equipment (not shown) can comprise microphone, operating rod, game mat, satellite dish, scanner or the like.These and other equipment normal open overcoupling is linked processing unit 120 to user's input interface 160 of system bus 121, but also can be connected with bus structure by other interfaces, such as parallel port, game port or USB (universal serial bus) (USB).Graphic interface 182 also can be connected to system bus 121.One or more Graphics Processing Unit (GPU) 184 can be communicated by letter with graphic interface 182.The display device of monitor 191 or other type is also by linking system bus 121 such as interfaces such as video interfaces 190.Except monitor 191, computing machine also can comprise other peripheral output devices, and such as loudspeaker 197 and printer 196, they can connect by output peripheral interface 195.
Computing machine 110 can move in networking that the logic of using such as one or more remote computers of remote computer 180 connects or distributed environment.Remote computer 180 can be personal computer, server, router, network PC, peer device or other universal network nodes, and generally include with respect to computing machine 110 described many or whole elements, although memory storage devices 181 only is shown in Fig. 1.The logic that Fig. 1 describes connects and comprises Local Area Network 171 and wide area network (WAN) 173, but also can comprise other network/bus.Suchlike network environment is common in family, office, enterprise-wide. computer networks, Intranet and the Internet.
When being used for the lan network environment, computing machine 110 is linked LAN 171 by network interface or adapter 170.When being used for the WAN network environment, computing machine 110 generally includes modulator-demodular unit 172 or is used for by setting up other device of communication such as WAN such as the Internet 173.Can be that internal or external modulator-demodular unit 172 can be linked system bus 121 via user's input interface 160 or other suitable mechanism.In networked environment, program module or its part described with respect to computing machine 110 can be stored in the remote memory storage devices.And unrestricted, Fig. 1 illustrates remote application 185 and resides in the memory devices 181 as example.It is exemplary that network shown in should be appreciated that connects, and can use other means of setting up communication link at intercomputer.
Virtual machine
Fig. 2 is the hardware and software architecture layering logic layers figure that expression is used for the virtualized environment of computer system.In the drawings, virtualization program 210 directly or indirectly moves on physical hardware architecture 212.Virtualization program 210 can be the virtual machine monitor with the master operating system parallel running, or has the master operating system of system supervisor assembly, and wherein the system supervisor assembly is carried out virtual.Virtualization program 210 virtual objective hardware architectures 208 (being shown dotted line) to illustrate that this assembly is the fact of subregion or " virtual machine ", that is, and non-physical presence but by the virtual hardware of virtualization program 210.Visitor's operating system 206 is carried out on objective hardware architecture 208, and software application 204 moves on objective operating system 206.In the virtualization operations environment of Fig. 2, though software application 204 be designed to the general incompatible operating system of master operating system and hardware architecture 212 on move, software application 204 still can move in computer system 202.
Fig. 3 A illustrates and comprises the directly virtual computing system of master operating system (main OS) software layer 304 of operation on physical computer hardware 302, wherein main OS 304 uses for operating system 312 and 314 respectively by the interface of arranging subregion A 308 and B 310, and the access entrance of the resource of physical computer hardware 302 is provided.This makes the OS of winner 304 can bypass the operating system layer 312 and 314 of operation thereon regardlessly.And virtual for carrying out, main OS 304 can be the custom-designed operating system with this machine virtualization capability, perhaps alternatively, can be to have the standard operation system that is used for carrying out virtualized synthetic system supervisor (not shown).
With reference to figure 3A, be two subregions on main OS 304 again, for example can be the subregion A 308 of virtual I ntel 386 processors and for example can be the subregion B 310 of a kind of virtual version in the Motorola 680X0 family processor.Respectively objective operating system (objective OS) A 312 and B 314 in the subregion 308 and 310.Operation is 2 application programs on objective OS A 312, application A 1 316 and application A 2 318; That operation is application program B1 320 on objective OS B 314.
About Fig. 3 A, to notice that importantly subregion A 308 and subregion B 314 (shown in the dotted line) are the virtual machine hardware representations that only exists as software programming.They are to realize owing to carrying out special virtualization software, this virtualization software not only presents subregion A 308 and subregion B 310 to objective OS A 312 and objective OS 314 respectively, also carries out objective OS A 312 and objective OS B 314 indirect and actual physics computer hardware 302 mutual necessary all software steps.
Fig. 3 B illustrates the virtual computing system of replacement, wherein virtual by with master operating system 304 " virtual machine monitor (VMM) 304 ' of parallel running carries out.In some cases, VMM 304 ' can be at master operating system 304 " go up operation and only by master operating system 304 " with the mutual application program of computer hardware 302.In other situation, as shown in Fig. 3 B, VMM 304 ' can be included on some level on the contrary via master operating system 304 " the parts software systems independently of VMM 304 ' and computer hardware 302 directly mutual (are similar to master operating system directly and computer hardware alternant way) with computer hardware 302 indirect interactions but on other level.In other situation, VMM 304 ' can be included on all levels with computer hardware 302 directly mutual (being similar to the direct alternant way of master operating system and computer hardware) and not use master operating system 304 " (although still with master operating system 304 " mutual with Coordination calculation machine hardware 302 use and avoid conflict etc.) fully independently software systems.
All these are used to realize that the variant of above-mentioned subregion is exemplary realization, should be with herein any content interpret for the present invention is not limited to any specific virtual aspect.
The partition bus general introduction: equipment is shared and data transmission
In one aspect of the invention, created a kind of software model of hardware bus.This " bus " is " partition bus ".Partition bus allows the formalized of by stages data transmission mechanism.And, use partition bus to make to make up permission equipment is shared and OS between integrated service more simple.
Partition bus be between a kind of each subregion in the system of a plurality of partition runnings is arranged or within information (request and/or the data) transmission mechanism that uses.But it is not attempted as unique information transmission mechanism available in the virtual machine environment.Similarly, it need not divide each the independent possible target that satisfies the client computer subregion in the cell relation in client computer subregion/service.For example, its unnecessary being loaded into as early as possible in the NT kernel mode environment so that hardware abstraction layer (HAL) can be used it for initialization.
In one aspect, partition bus relies on system supervisor interprocess communication (IPC) to install, sets up communication port in the by stages and will interrupt injecting each subregion.
Fig. 4 illustrates the universal of permission at the partition bus of by stages shared device and transmission information.Describe 3 subregions, served subregion 402 and 2 client computer subregions: client computer subregion A 404 and client computer subregion B406 for one.These subregions are safeguarded by system supervisor 410.Each of these subregions can have certain OS, and perhaps the OS with other subregion is identical, or different OS.Therefore, service subregion 402 can move Windows XP; Client computer subregion A 404 can move Windows 2000, and client computer subregion B 406 can move Windows 98.
And each of these subregions all comprises some equipment.Particularly, service subregion 402 comprises the device driver 418 of physical equipment 424.Device driver 418 with allow that synthesis device communicates by letter with physical equipment 424 virtualization services provide device (VSP) 417 to communicate by letter.Therefore, the synthesis device among the client computer subregion A 404 420 can be via the service of partition bus 408 use physical equipments 424 with the synthesis device 422 among the client computer subregion B 406.
Partition bus 408 provides a kind of means, and the inlet that makes client computer subregion A 404 and client computer subregion B 406 have visit physical equipment 424 uses for its synthesis device 420 and 422 respectively.In other words, partition bus 408 provides a kind of and will wait the entitlement of certain equipment to distribute to the means that wait certain independent OS such as Windows XP 412 such as physical equipment 424, and a kind of service and the means that wait the OS of other operation to share such as Windows 2,000 414 and Windows 98 416 with this equipment.
In addition, partition bus 408 also allows each OS at each by stages mobile data, thereby data can move to the second client computer subregion B 406 from for example serving subregion 402 easily, and the height that can not cause involving legacy system supervisory routine 410 mechanism in the data mobile transaction assesses the cost.
Partition bus: equipment is shared
In another aspect of the present invention, Fig. 5 A illustrates the remote service of being represented by the local agent synthesis device in certain subregion.When for example provide remote service 512, one synthesis devices 506 that are stored in certain remote partition 508 with certain remote operating system 510 promptly to be added to the operating system 504 of client computer subregion by partition bus 514.As remote service 512 Service Instances such as grade with as equipment 506 synthesis devices such as grade between have corresponding one by one.Each synthesis device all can be used for transmitting and receive data as any common equipment transmits and receive data on common protocol bus.
Fig. 5 B illustrates can be corresponding to the equipment of the synthesis device that can use on partition bus and the type of service.Concrete with reference to figure 5B, presented synthesis device 516.This synthesis device 516 can be corresponding to various device 518: storage, network, input (keyboard and mouse), audio frequency, video, smart card, or the like.Synthesis device 516 also can be corresponding to various services 518: time synchronized, drag and drop, file are shared, are cliped and pasted, long-range execution, remote application start, interprocess communication.For the type of the equipment of 516 energy modelings of synthesis device and service in fact without limits.
Partition bus: data transmission
It is a small amount of, medium or a large amount of that partition bus 602 allows according to the data volume that will be sent to another subregion from a subregion, transmits request (or order) and data with at least 3 kinds of distinct methods.Therefore, in Fig. 6, show these the 3 kinds models that send data: loop buffer section model 604; Transmit page or leaf model 606; Handle model 608 with address space.
Generally speaking, loop buffer section model 604 usefulness buffer circles 610 send request and data from a subregion to another subregion.Buffer circle only is the buffer zone of fixed size, and when buffer zone fills up, more information will be put back to the initial of this buffer zone in " ring ", override old data.In common virtual system, buffer circle can be simultaneously for 2 or a plurality of OS use.
Transmit page or leaf model 606 usefulness buffer circles 612 and send request, and send data (illustrate 2 and transmit page or leaf: page or leaf A and B) with transmitting page or leaf 614.Transmit the page or leaf that page or leaf is in the storer to be distributed, by information is copied to the page or leaf that distributed and page copied to another subregion and come transmission information from what distribute from certain subregion.It is different with buffer circle to transmit the page or leaf model, because the ordering that it does not have structure, agreement or is associated.Therefore, transmit the target that the page or leaf model is more suitable for doing dma operation, and when transmitting between page or leaf manipulation data, can avoid keeping locking.
At last, address space is shown and handles model 608.The same with other 2 models, read for another subregion from the request of a subregion with buffer circle 616 storages.3 memory mappings also are shown: service partitioned memory reflection 618, client computer subregion memory map 622 and non-virtual system memory mapping 620.The part that client computer subregion and service subregion can change its memory mapping 618 and 622 is with corresponding to non-virtual system memory mapping 620, thereby do not need copy data (different with the situation that transmits the page or leaf model) and can and read these data by 2 regional addressings.This means that client computer subregion and service subregion change its memory mapping, thereby they can share some publicly-owned physical store page or leaf.In a single day cost is respectively the memory mapping 618 and 622 of client computer with the service subregion to be become corresponding to certain non-virtual system memory mapping 620 earlier, has finished any given affairs subsequently, it must be changeed back its original reflection.Therefore, in contrast to being replicated in the by stages and transmit the transmission page or leaf model of data, the space is handled model and is utilized address mapping to change.
Notion that it should be noted that a small amount of, medium or mass data is a relative concept, is defined by resource for computer system to a certain extent.The availability that depends on system resource can be used suitable transport model.Therefore, based on experience, in the time will transmitting low volume data, the loop buffer section model is the most effective; In the time will transmitting the data of moderate quatity, it is the most effective transmitting the page or leaf model; In the time will transmitting mass data, it is the most effective that address space is handled model.
Therefore, in one aspect of the invention, the loop buffer section model uses the memory area of reserving to transmit request and data (to merge or independent form, being referred to as " information " herein) 2 by stages.In this model, the packets of information that is inserted in the buffer circle is to arrange with the form that a bag is followed another bag.And, bag is inserted into normally comparatively faster operation in the buffer circle, because have only the bag before having inserted could insert follow-up bag afterwards.Therefore, the data that buffer circle is suitable for importing into fast most, thus the subsequent packet that will insert does not have the significant stand-by period.
Fig. 7 shows the loop buffer section model.System supervisor (not shown) is safeguarded 2 subregions, client computer subregion 702 and service subregion 708.Service subregion 708 may move certain service OS 710, and it sends to client computer subregion 702 and OS 704 thereof with the data of the form of data.The data arranged in succession also is placed in the buffer circle 706.Similarly, the information of request form can send to service subregion 708 via buffer circle 706 from client computer subregion 702 and ask to carry out some service.Buffer circle 706 in the non-virtual system storer 705 is mapped to 706A and 706B respectively in subregion 702 and 708, to allow exchange request and data between 2 subregions 702 and 708.Therefore, Fig. 7 is illustrated in 2 bag requests and the 2 bag data that send via buffer circle 706 between service subregion 702 and the client computer subregion 708.
In another aspect of the present invention, used to send the page or leaf model.In this model, the page or leaf storehouse is by the transmission library management.What is interesting is that service subregion or client computer subregion can at any time distribute transmission page or leaf group, and it is added in existing group that uses.Distribute and transmit the administrative power that page subregion of group has this group, be included in the allocation and deallocation of page or leaf in this group.
When a unique cost that is associated with the transmission page or leaf is assigned with and is mapped in client computer and the service subregion simultaneously from it.The physical address map of subregion has also changed, but this is can be by repeatedly transmitting the disposable operation of making thinner.And, be for good and all to be mapped to 2 subregions because transmit page or leaf, thus storage security information therein, but this also means and needs to remove them never.
As mentioned above, transmission page or leaf model shown in Fig. 8 is different with the loop buffer section model shown in Fig. 7, because the transmission page or leaf does not need structure, the agreement that is associated with it or sorts, this makes client's function more freely will transmit page or leaf and uses as the target of dma operation, and can more freely avoid the maintenance locking of manipulation data betwixt.
Fig. 8 illustrates the exemplary realization that transmits the page or leaf model.Described service subregion 802 and client computer subregion 804, these 2 subregions are safeguarded by system supervisor 806.In Fig. 8, the data of 808 handled certain file are served in the user mode process request in the client computer subregion 804 from the virtual disk in the service subregion 802.The request that obtains data from service subregion 802 is modeled as hardware direct memory access (DMA) (DMA) affairs.
As example, application program 812 is at first created the request about 7 page datas, and this has exceeded transmission page or leaf 811 usable range at that time.Therefore, this request has to be divided into 2 son requests.First request passes to virtual disk drive 814 downwards.In some instances, this can be a filtrator, in other example, can be inspired fully (fully-enlightened) disc driver (that is disc driver of only communicating by letter with the central synthesis device that has no virtualization remnants; On the wide sense, term " inspired " (enlightened) refers to the OS environment of knowing that it moves in virtual environment).
The function that virtual disk drive 814 usefulness obtain from its physical device object (PDO) is come creating a standard DMA request 818.Virtual disk drive interface instance 816 is distributed all the current available pages or leaves from the transmission page storehouse immediately.In this example, add up to 5 pages of 811A-811E, as illustrating with vertical line in the transmission page 811.
Next, the server in service subregion 802 sends request to obtain these pages or leaves from virtual disk service 808.When server has filled up the page or leaf of being asked, that is, the data of being asked are copied among page 811A-811E, it beams back message to client computer subregion 804.Subsequent data copies to the buffer zone that application program 812 safeguarded from transmitting page or leaf.When having finished replicate run, transmission page 811A-811E is released.
For second request, from the storehouse, distribute 2 pages or leaves in addition, 811I and 811J (other page or leaf of being described, 811F-811H is the page or leaf that other unshowned request keeps).Therefore, send new request, require 2 pages data to service subregion 802.As preceding, service subregion 802 servers are filled up to transmission page 811I-811J with data, and will beam back client computer 804 about the message of its operation.Data are copied to the buffer zone of application program 812 immediately once more, thereby have finished the request that at first is divided into 2 stages.
Transmit page or leaf 811 and be used to transmit data.Transmit request with buffer circle 810.In this aspect of the invention, that is discussed among sequentiality that request transmits and bag character and Fig. 7 is identical, only transmits with buffer circle among the figure and asks and data.
In others of the present invention, handle with address space and to avoid the above buffer circle of in Fig. 7 and 8, discussing respectively and to transmit the expensive of the performed memory copy of page or leaf.Some affairs relates to the buffer zone in the physical address space that is placed on client computer arbitrarily, and need transmit very lot of data.In this case, do not use and transmit page or leaf, because they can force to copy to the buffer zone of any placement from the data of the transmission page or leaf of fixed position.Can directly be put in its final storer that will be in order to ensure data, the essential physical address map that changes the service subregion, thus it at least temporarily comprises the page or leaf from the client computer subregion.Subsequently, can by software or hardware write the data directly into those the page or leaf or from wherein reading.After finishing affairs, change back map addresses, delete the page or leaf of client computer from the physical address map of server.Because this group operation is higher than cost relatively, so be not used for transmitting a spot of data---copy data in this case and transmit buffer zone or more effective than changing map addresses from transmitting the buffer zone copy data.
In Fig. 9, client computer subregion 902 and service subregion 908 are shown, these two subregions are safeguarded by system supervisor (not shown).Subregion 902 and 908 each the OS of oneself is all arranged, be respectively 904 and 910.These OS are maintenance memory map addresses 914 and 916 respectively, and they arrive the subregion physical address with virtual address map.If transmit bulk information (being mainly data) between these subregions, effective mechanism relates to the memory mapped 914 that changes relevant client computer subregion, and the non-virtual system memory map 907 of itself and some is associated.For example, in Fig. 9, " 3 " in " A " in the client computer subregion 902 mapping and the non-virtual system storage 905 are shone upon and are associated.Similarly, service memory mapping 916 is associated with non-virtual system memory map 907, thereby client computer subregion 902 and service subregion 908 addressable non-virtual system storages 905, and need not the position of data from storer copied to another position.Therefore, " 3 " in service " b " mapping in the subregion 908 and the non-virtual system storer 905 are shone upon and are associated.The cost of not duplicating is just to change memory mapped in the beginning of affairs, and in case finishes affairs and will change back.In the time will transmitting mass data, this mean method of great use.
In another aspect of the present invention, Figure 10 shows a kind of mechanism of the cost that sends information in the by stages and can not cause being associated with the context switching.When OS when it moves on subregion separately, CPU switches in these by stages, for each subregion provides timeslice.In this type of time-division system, when context switches, have and switch to the cost that another task (or subregion) is associated from a task (or subregion).
And, send interruption in the by stages and also reasonably relate to expensive context swap.For example,, obtain service thereby can serve subregion from this if the client computer subregion will " wake " service packet up, then may the essential interruption that sends this type of.Similarly, the service subregion is possibly via interrupting allowing the client computer subregion know that it has finished the task of client computer section post appointment.
For fear of this type of expensive context swap, in Figure 10, in this aspect of the invention, with the command queue of buffer circle as certain subregion, its order is put in the buffer circle of another subregion, interrupts thereby avoided sending in the situation under rate conditions (discussing hereinafter).
Therefore, show client computer subregion 1002 and service subregion 1010.Certain operating system in each partition running, no matter is that Windows 98 also makes Windows XP, and these subregions are safeguarded by certain system supervisor 1016.When client computer subregion 1002 need be from the service of service subregion 1010, for example, may belong to service subregion 1010 all and corresponding to certain synthesis device on the service subregion 1010 the Magnetic Disk Controller service---a method that obtains this service is to allow client computer subregion 1002 that information (being generally command/request) is write buffer circle 1006.Service subregion 1010 can be read these orders immediately and comply any request.Buffer circle 1006 is mapped to (1006A and 1006B) subregion 1002 simultaneously and can be communicated by letter with 1010 these true these subregions that allow, and can not cause the cost of context swap.
Service subregion 1010 can also write buffer circle 1006 with information (normally to request responding and/or data), finishes its request so that client computer subregion 1002 is known.In this case, represent partition bus 1008, but also can use other above-mentioned model with buffer circle 1006.
The subregion that uses this buffer circle to realize does not need to obtain to interrupt from the buffer circle reading order, therefore can avoid sending the cost that interrupts (and all context swap that are associated).Yet, for example when the service subregion be not in operation during from order that the client computer subregion is sent, interrupting so is the proper method that causes that those orders bring into operation.
In brief, the cost that loop buffer section model in this situation has avoided context to switch, but can use interruption under two conditions: when (1) has been empty and be not empty afterwards when the buffer circle that spreads out of, perhaps (2) are when the buffer circle that imports into is full and discontented afterwards, may send to another subregion from a subregion and interrupt (from the viewpoint of client computer subregion 1002, buffer circle 1006 is the buffer circles that spread out of, and buffer circle 1006 is the buffer circles that import into---then opposite to true from the viewpoint of service subregion 1010).
For example, in first kind of situation, when buffer circle 1006 was full and discontented afterwards, client computer subregion 1002 may must allow service subregion 1010 know that its buffer circle 1014 has been filled up for information (may be command/request).In second kind of situation, when buffer circle 1006 was full and discontented afterwards, client computer subregion 1002 may be via interrupting allowing service subregion 1010 know that buffer circle 1006 no longer fills up.
This aspect of the present invention is applicable to the machine with an above processor by it.It may allow client computer subregion 1002 and service subregion 1010 move simultaneously, and each subregion sends information and can not cause context swap to another subregion.
The another kind of form of this aspect of the present invention will be introduced before the transmission interruption and postpone, and the subregion of this interruption will just in time will rerun in the very short time and feasible interruption is unnecessary in case will receive originally.Certainly, interrupt to increase the stand-by period, but the cost of stand-by period may be lower than the cost of interruption.
In another aspect of the present invention, partition bus allows the different editions and the example of a service and deposits.In Figure 11, provide service 1102.The ID of each service is made up of 2 128 Globally Unique Identifier (GUID).Among these ID first represented Service Instance uniquely.For example, Service Instance A1104 can be a virtual disk, and this virtual disk obtains to distribute to its unique ID 1108 (for example, c80ccb8a ...), any other example (not shown) of virtual disk will be received different unique ID.
Be accompanied by Service Instance ID, also have service release ID, also represent by GUID.This GUID represents the agreement that server is realized.(this agreement can be all orders managed of this server and the summation of operation).Therefore, in Figure 11, the service release ID 1106 of service 1102 is: b73606dc ...These two GUID are used to create the bus level plug and play ID of synthesis device on partition bus.The example of the OS that moves in the client computer subregion can decide to load which driver based on these plug and play ID, thereby allows this OS even may safeguard the driver of a plurality of versions of certain service in independent driver file.And, can---as with service---provide GUID to determine device instance and device version to different device version.
In addition, server partition may be such as a plurality of Service Instances of single asset creation such as disks fully simultaneously, and each service realizes different protocol versions.Two examples of same virtual disk can be provided to the client computer subregion, select only to load the driver that is associated with its protocol version of supporting by it.
Aspect some, presented the ability of doing strategic decision-making based on the identity and the degree of confidence of subregion of the present invention.The partition bus passage may be out of favour at some subregion.Particularly, it may be inappropriate allow passage to provide arriving the particular safety subregion.This strategy has various reasons: (1) does not want to allow certain subregion to pretend to be boot disk server for certain security partitioning; (2) do not want to allow not to be subjected to the I/O path of trusting, perhaps; (3) do not want to allow certain subregion to use any resource in another subregion, this may take place when passage provided when making.
In order to support this type of strategic decision-making, the present invention is this aspect training partition bus passage policy agent now.Passage policy agent arbitration channel provides.Figure 12 is illustrated in the passage policy agent of realizing in the example of subregion of Windows of certain version of operation.Can suppose that this type of agency will visit the things of subregion inventory and so on, this will guarantee should allow some concrete I/O passage to this subregion, but forbid other.
The constitutional diagram of this aspect of the present invention shown in Figure 12.In Figure 12,3 subregions that system supervisor 926 is safeguarded are shown: (1) service subregion 1202, (2) security filter subregion 1204 and the objective subregion 1206 of (3) safety.In service subregion 1202, at first, the request that Channel server 1208 provides to channel management storehouse 1210 sendaisles.The second, this this provide to be stored in and provide in the buffer memory 1212.What next provide buffer memory 1212 to provide to be transmitted to security filter subregion 1204 provides buffer memory 1218 (perhaps policy agent just in time is the resident position of certain security partitioning).
The 3rd, the channel management storehouse 1216 in the security filter subregion 1204 will provide and upwards send to passage policy agent 1214 and examine.The 4th, passage policy agent 1214 sends response to channel management storehouse 1216, and telling storehouse 1216 to stop this provides or transmit this and provide.The 5th, provide if transmit, then sending it to provides buffer memory 1224 in the objective subregion 1206 of being trusted.
The 6th, when providing arrival that buffer memory 1224 is provided, its triggers and enumerates passage, and channel is opened in the software decision in this objective subregion 1206 of being trusted.The 7th, channel client computer 1220 is directly beamed back message Channel server 1208 immediately, opens this channel.Therefore, with the method, can arbitrate passage by the policy agent that is positioned at the security filter subregion provides.
Partition bus: others
In others of the present invention, some emulator modules (EDM) concomitantly and with inspired (virtual machine is known) data transfer mechanism co-operating such as picture partition bus etc.With with the same mode of physical hardware devices is asked in response to I/O, EDM is written into.If given objective operating system is written into the physical hardware devices of supporting to touch upon (that is, it comprises corresponding driver), suppose that EDM is correctly write, then this operating system need not modification and gets final product proper operation.Thereby EDM provides fabulous and compatibility legacy operating system, but they introduce very high virtual cost usually.On the contrary, virtualization services provides device (VSP) that much better performance is provided, but their require for client computer OS, new driver (and potentially, other modification) to be written into.
In an example of dummy machine system, in same service subregion, at least part-time has been realized VSP and EDM simultaneously, wherein inner available emulation or virtual unit formation contrast with the client computer subregion, VSP is the service that is positioned at the partition bus upper strata, for the synthesis device in the client computer subregion provides the rear end support.Synthesis device is communicated by letter with VSP.
Particularly, Figure 13 has described client computer subregion 1304 and service subregion 1302, is included in its OS 1306 and 1308 separately that moves on each subregion.Partition bus 1312 provides the means of communication between 2 subregions 1302 and 1304.And these subregions 1302 and 1304 are all safeguarded by system supervisor 1320.EDM 1316 communicates by letter with system supervisor 1320 so that 1315 pairs of client computer subregions 1302 of device emulation show as actual equipment.EDM 1316 also relies on VSP 1314 with communicate by letter with the actual physical device 1322 that client computer subregion 1302 is shared (via device driver 1318).VSP 1314 also manifests this equipment 1322 by synthesis device to client computer subregion 1304.
Of the present invention aspect another, partition bus is from three storehouses, or more generally, forms from three assembly structures.Therefore, in Figure 14 A-14C, show each assembly of partition bus according to form used in different patterns.These three assemblies are:
● the buffer circle management
● channel management and
● bus driver
Different environment uses the different assemblies of partition bus.For example, in Figure 14 A, 1431 of user mode services obtain buffer circle and manage 1432 assemblies, because the code of its inner kernel normal form carries out channel management.This buffer circle that shows as solid box in Figure 14 A is emphatically managed 1432 assemblies and grey font, the channel management by name 1434 of frame of broken lines and 2 assemblies (being illustrated in these 2 assemblies of disappearance in the user model 1431) in addition of bus driver 1436.
In Figure 14 B, all these 3 assemblies are received in the service of kernel mode 1433, that is, and and buffer circle management 1432, channel management 1434 and bus driver 1436.
At last, in Figure 14 C, loader 1435 environment are received buffer circle management 1432 and channel management 1434, but do not receive bus driver 1436 (shown in the frame of broken lines).In brief, partition bus is made up of these 3 assemblies and various other less important assembly, and according to the environment that uses partition bus, these assemblies are revealed as various combinations.
Partition bus uses buffer circle management 1432, transmits data in the by stages with buffer circle.Channel management 1434 is used to set up the tunneling traffic of by stages.At last, in case set up communication port, the input and output operation of bus driver 1436 control by stages.Therefore, synthesis device in some subregion can have the physical device in other subregion---at hardware level---and this type of physical device can be by other synthesis device use in other subregion, because the input and output operation is by bus driver 1436 management.
Below notice, be not all purposes all be directly to relate to physical equipment.Therefore, the present invention other aspect, eligibly realize not corresponding to many purposes of physical equipment with user-mode components (for example DLL) rather than kernel mode driver.Partition bus provides enough foundation structure to supply to create these assemblies with user model fully, thereby allows it to put letter address space menagement, interrupt delivery and other service that generally only can visit from kernel mode.
Although describe the present invention in conjunction with the preferred aspect as shown in each accompanying drawing, should be appreciated that and can use other similar aspect, perhaps can make amendment and add carrying out the same function of the present invention, and can not depart from the present invention described aspect.For example, aspect some, described partition bus of the present invention, it provides transmits data and the entitlement of equipment is distributed to the subregion chosen and shared the mechanism of the service of this equipment with other subregion in the by stages.But the religious doctrine of this paper has also been conceived other equivalent of the apparatus of this aspect of the present invention.Therefore, should not limit the invention to any independent aspect, and should explain the present invention according to the range and the scope of appended claim art.

Claims (20)

1. one kind is used for providing integrated method in each by stages of virtual machine environment, comprising:
Use first subregion and second subregion; And
Use a transmission mechanism, wherein, described transmission mechanism allows by using (a) buffer circle, and (b) transmits at least a in any in handling of page or leaf and address space, in described first subregion and described second by stages transmission information.
2. the method for claim 1 is characterized in that, described buffer circle is used for transmitting information at described first subregion and described second by stages, and wherein, described information comprises at least one in request and the data.
3. the method for claim 1, it is characterized in that, described buffer circle and transmission page or leaf all are used for transmitting information at described first subregion and described second by stages, wherein, described buffer circle is used for transmitting request at described first subregion and described second by stages, and wherein, described transmission page or leaf is used for transmitting data at described first subregion and described second by stages.
4. the method for claim 1, it is characterized in that, described buffer circle and described address space are handled and all are used for transmitting information at described first subregion and described second by stages, wherein, described buffer circle is used for transmitting request at described first subregion and described second by stages, and wherein, described address space is handled and is used for transmitting data at described first subregion and described second by stages.
5. the method for claim 1, it is characterized in that, also comprise the device driver that is used to drive actual hardware equipment that is comprised in described first subregion, and the synthesis device that is comprised in described second subregion, wherein, described transfer mechanism allows the entitlement of described actual hardware equipment is distributed to described synthesis device.
6. method as claimed in claim 5 is characterized in that described synthesis device can also be corresponding to abstract service.
7. the method for claim 1, it is characterized in that, described transfer mechanism allows described first subregion and the described second subregion exchange message and the cost that can not cause context to switch, wherein, described transfer mechanism uses the buffer circle that is mapped to described first subregion and is mapped to described second subregion, wherein, information can be write in the described buffer circle by described first subregion, and from described buffer circle, read by described second subregion, and wherein, information can be write in the described buffer circle by described second subregion, and is read from described buffer circle by described first subregion.
8. the method for claim 1, it is characterized in that, also comprise in the service that comprised in described first subregion and the equipment, wherein, each of described service and described equipment all has Globally Unique Identifier, with difference specified services version and example and device version and example.
9. the method for claim 1 is characterized in that, also comprises policy agent, wherein, at least one passage that described policy agent examination is done to described second section post from described first subregion provides, and wherein, described policy agent can reside in the 3rd subregion.
10. the method for claim 1, it is characterized in that, the partition bus that described transfer mechanism is made up of buffer circle management, channel management and bus driver, wherein, described partition bus only uses described buffer circle management in user model, and wherein, described partition bus uses described buffer circle management, described channel management and described bus driver three simultaneously in kernel mode.
11. the method for claim 1, it is characterized in that, simulation hardware module and virtualization services provide device operation simultaneously in described first subregion, and wherein, described virtualization services provides device to allow to enumerate synthesis device in described second subregion in described first subregion.
12. one kind is used for providing integrated system between each subregion of virtual machine environment, comprises:
First subregion;
Second subregion; And
Transmission mechanism, wherein, described transmission mechanism allows by using (a) buffer circle, and (b) transmits at least a in any in handling of page or leaf and address space, in described first subregion and described second by stages transmission information.
13. system as claimed in claim 12, it is characterized in that, described buffer circle and described transmission page or leaf all are used for transmitting information at described first subregion and described second by stages, wherein, described buffer circle is used for transmitting request at described first subregion and described second by stages, and wherein, described transmission page or leaf is used for transmitting data at described first subregion and described second by stages.
14. system as claimed in claim 12, it is characterized in that, described buffer circle and described address space are handled and all are used for transmitting information at described first subregion and described second by stages, wherein, described buffer circle is used for transmitting request at described first subregion and described second by stages, and wherein, described address space is handled and is used for transmitting data at described first subregion and described second by stages.
15. system as claimed in claim 12, it is characterized in that, also comprise the device driver that is used to drive actual hardware equipment that is comprised in described first subregion, and the synthesis device that is comprised in described second subregion, wherein, described transfer mechanism allows the entitlement of described actual hardware equipment is distributed to described synthesis device, and in addition, described synthesis device can also be corresponding to abstract service.
16. system as claimed in claim 12, it is characterized in that, described transfer mechanism allows described first subregion and the described second subregion exchange message and the cost that can not cause context to switch, wherein, described transfer mechanism uses the buffer circle that is mapped to described first subregion and is mapped to described second subregion, wherein, information can be write in the described buffer circle by described first subregion, and from described buffer circle, read by described second subregion, and wherein, information can be write in the described buffer circle by described second subregion, and is read from described buffer circle by described first subregion.
17. system as claimed in claim 12, it is characterized in that, also comprise in the service that comprised in described first subregion and the equipment, wherein, each of described service and described equipment all has Globally Unique Identifier, with difference specified services version and example and device version and example.
18. system as claimed in claim 12 is characterized in that, also comprises policy agent, wherein, at least one passage that described policy agent examination is done to described second section post from described first subregion provides, and wherein, described policy agent can reside in the 3rd subregion.
19. system as claimed in claim 12, it is characterized in that, simulation hardware module and virtualization services provide device operation simultaneously in described first subregion, and wherein, described virtualization services provides device to allow the synthesis device in described second subregion of emulation in described first subregion.
20. a computer-readable medium that has the computer executable instructions that is used for providing integrated in each by stages of virtual machine environment comprises:
Use first subregion and second subregion; And
One transmission mechanism is provided, and wherein, described transmission mechanism allows by using (a) buffer circle, and (b) transmits at least a in any in handling of page or leaf and address space, in described first subregion and described second by stages transmission information.
CNA2005100990820A 2005-05-12 2005-09-01 Partition bus Pending CN1862494A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/128,647 2005-05-12
US11/128,647 US7689800B2 (en) 2005-05-12 2005-05-12 Partition bus

Publications (1)

Publication Number Publication Date
CN1862494A true CN1862494A (en) 2006-11-15

Family

ID=35295557

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100990820A Pending CN1862494A (en) 2005-05-12 2005-09-01 Partition bus

Country Status (15)

Country Link
US (2) US7689800B2 (en)
EP (1) EP1722301B1 (en)
JP (1) JP4942966B2 (en)
KR (1) KR20060117869A (en)
CN (1) CN1862494A (en)
AU (1) AU2005203519A1 (en)
BR (1) BRPI0503636A (en)
CA (1) CA2518014A1 (en)
CO (1) CO5730016A1 (en)
NO (1) NO20054000L (en)
NZ (1) NZ541625A (en)
RU (1) RU2390827C2 (en)
SG (1) SG127782A1 (en)
TW (1) TW200639642A (en)
ZA (1) ZA200506982B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557A (en) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 Method for constructing virtual machine monitor by bus architecture and performance service framework
CN102495750A (en) * 2010-09-30 2012-06-13 微软公司 Virtual desktop configuration and operation techniques
CN101849230B (en) * 2007-09-06 2013-01-16 惠普开发有限公司 Sharing legacy devices in a multi-host environment

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050767A1 (en) * 2005-08-31 2007-03-01 Grobman Steven L Method, apparatus and system for a virtual diskless client architecture
US7389398B2 (en) * 2005-12-14 2008-06-17 Intel Corporation Methods and apparatus for data transfer between partitions in a computer system
US8868628B2 (en) * 2005-12-19 2014-10-21 International Business Machines Corporation Sharing computer data among computers
WO2007071116A1 (en) * 2005-12-23 2007-06-28 Intel Corporation Managing device models in a virtual machine cluster environment
US8249853B2 (en) * 2006-03-31 2012-08-21 Intel Corporation Exposing device features in partitioned environment
US7987469B2 (en) 2006-12-14 2011-07-26 Intel Corporation RDMA (remote direct memory access) data transfer in a virtual environment
US9317309B2 (en) * 2006-12-28 2016-04-19 Hewlett-Packard Development Company, L.P. Virtualized environment allocation system and method
JP4907371B2 (en) * 2007-02-01 2012-03-28 株式会社日立ソリューションズ Virus infection and confidential information leakage prevention system
US8479208B2 (en) * 2007-03-30 2013-07-02 Intel Corporation System partitioning to present software as platform level functionality including mode logic to maintain and enforce partitioning in first and configure partitioning in second mode
US8261284B2 (en) * 2007-09-13 2012-09-04 Microsoft Corporation Fast context switching using virtual cpus
US7802062B2 (en) * 2007-09-28 2010-09-21 Microsoft Corporation Non-blocking variable size recyclable buffer management
JP4618455B2 (en) * 2008-04-09 2011-01-26 日本電気株式会社 Terminal device, network connection method, and program
JP2010004979A (en) * 2008-06-25 2010-01-14 Fujifilm Corp Image processor and processor for endoscope
US8117346B2 (en) * 2008-10-03 2012-02-14 Microsoft Corporation Configuration space virtualization
KR101437122B1 (en) * 2008-12-03 2014-09-02 삼성전자 주식회사 Apparatus for providing service using OS virtualization and method thereof
US20100313244A1 (en) * 2009-06-08 2010-12-09 Castleman Mark Methods and apparatus for distributing, storing, and replaying directives within a network
US20100311393A1 (en) * 2009-06-08 2010-12-09 Castleman Mark Methods and apparatus for distributing, storing, and replaying directives within a network
US20100310193A1 (en) * 2009-06-08 2010-12-09 Castleman Mark Methods and apparatus for selecting and/or displaying images of perspective views of an object at a communication device
WO2010144430A1 (en) * 2009-06-08 2010-12-16 Swakker Llc Methods and apparatus for remote interaction using a partitioned display
US8286084B2 (en) * 2009-06-08 2012-10-09 Swakker Llc Methods and apparatus for remote interaction using a partitioned display
US20100313249A1 (en) * 2009-06-08 2010-12-09 Castleman Mark Methods and apparatus for distributing, storing, and replaying directives within a network
KR101640769B1 (en) * 2009-11-06 2016-07-19 삼성전자주식회사 Virtual system and instruction executing method thereof
US9389895B2 (en) 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
JP5567414B2 (en) 2010-06-30 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション A method of processing data so that it can be stored externally while minimizing the risk of information leakage
US8463980B2 (en) * 2010-09-30 2013-06-11 Microsoft Corporation Shared memory between child and parent partitions
US8832686B2 (en) 2010-10-29 2014-09-09 Microsoft Corporation Inherited product activation for virtual machines
US8924964B2 (en) 2010-11-01 2014-12-30 Microsoft Corporation Dynamic allocation and assignment of virtual environment
WO2012140671A2 (en) * 2011-04-11 2012-10-18 Ineda Systems Pvt. Ltd File system sharing
US20130117744A1 (en) * 2011-11-03 2013-05-09 Ocz Technology Group, Inc. Methods and apparatus for providing hypervisor-level acceleration and virtualization services
US9141529B2 (en) * 2012-08-14 2015-09-22 OCZ Storage Solutions Inc. Methods and apparatus for providing acceleration of virtual machines in virtual environments
US9176678B2 (en) 2012-11-30 2015-11-03 International Business Machines Corporation Common contiguous memory region optimized virtual machine migration within a workgroup
US20140310706A1 (en) * 2012-12-17 2014-10-16 Unisys Corporation Method for managing commodity computing
KR101451781B1 (en) * 2013-04-05 2014-10-16 국방과학연구소 System and method for device duplication of virtualization system in virtual machine environment
GB2519578B (en) * 2013-10-25 2016-02-17 Samsung Electronics Co Ltd Managing data transfer
US20150121376A1 (en) * 2013-10-25 2015-04-30 Samsung Electronics Co., Ltd. Managing data transfer
RU2569873C1 (en) * 2014-08-05 2015-11-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тольяттинский государственный университет" Method of forming of heat-resistance coatings
RU2598323C1 (en) * 2015-03-26 2016-09-20 Общество с ограниченной ответственностью "Научно-производственное предприятие "Цифровые решения" Method of addressing a circular buffer in microprocessor memory
CN111831588A (en) * 2015-10-21 2020-10-27 华为技术有限公司 Storage device access method, device and system
US10298447B2 (en) * 2016-08-08 2019-05-21 American Megatrends, Inc. System and method for accessing real sensors for virtual service processor stack
WO2019026139A1 (en) 2017-07-31 2019-02-07 三菱電機株式会社 Information processing device and information processing method
US10908973B2 (en) 2017-07-31 2021-02-02 Mitsubishi Electric Corporation Information processing device
US11099911B1 (en) 2019-07-01 2021-08-24 Northrop Grumman Systems Corporation Systems and methods for inter-partition communication
CN110868365B (en) * 2019-11-20 2023-04-07 中国航空工业集团公司西安航空计算技术研究所 Communication method and communication system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036509A2 (en) * 1998-12-18 2000-06-22 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US20020129274A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a security server in a partitioned processing environment
CN1497469A (en) * 2002-10-24 2004-05-19 国际商业机器公司 System and method for transmitting data between virtual machine or other computer entity

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US83481A (en) * 1868-10-27 Improvement in shovel-plows
JPH01191234A (en) * 1988-01-26 1989-08-01 Fujitsu Ltd Communication system between virtual computers
JP2945498B2 (en) * 1991-04-12 1999-09-06 富士通株式会社 Communication method between systems
US5548728A (en) * 1994-11-04 1996-08-20 Canon Information Systems, Inc. System for reducing bus contention using counter of outstanding acknowledgement in sending processor and issuing of acknowledgement signal by receiving processor to indicate available space in shared memory
DE69832609D1 (en) 1998-09-30 2006-01-05 St Microelectronics Srl Emulated EEPROM memory device and corresponding method
JP2001290665A (en) * 2000-04-11 2001-10-19 Nec Software Hokuriku Ltd Processor system
US20030093258A1 (en) * 2001-11-14 2003-05-15 Roman Fishstein Method and apparatus for efficient simulation of memory mapped device access
US6725284B2 (en) * 2002-04-25 2004-04-20 International Business Machines Corporation Logical partition hosted virtual input/output using shared translation control entries
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
US7318140B2 (en) * 2004-06-10 2008-01-08 International Business Machines Corporation Method and apparatus for dynamic hosting partition page assignment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036509A2 (en) * 1998-12-18 2000-06-22 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US20020129274A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a security server in a partitioned processing environment
CN1497469A (en) * 2002-10-24 2004-05-19 国际商业机器公司 System and method for transmitting data between virtual machine or other computer entity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PAUL BARHAM,BORIS DRAGOVIC,KEIR FRASER,STEVEN HAND,TIMHARRIS, ALEX HO,ROLF NEUGEBAUER,IAN PRATT,ANDREW WARFIELD: "Xen and the Art of Virtualization", SOURCE ACM SIGOPS OPERATING SYSTEMS REVIEW ARCHIVE37 5 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101849230B (en) * 2007-09-06 2013-01-16 惠普开发有限公司 Sharing legacy devices in a multi-host environment
CN102262557A (en) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 Method for constructing virtual machine monitor by bus architecture and performance service framework
CN102262557B (en) * 2010-05-25 2015-01-21 运软网络科技(上海)有限公司 Method for constructing virtual machine monitor by bus architecture and performance service framework
CN102495750A (en) * 2010-09-30 2012-06-13 微软公司 Virtual desktop configuration and operation techniques
CN102495750B (en) * 2010-09-30 2015-02-04 微软公司 Virtual desktop configuration method and system

Also Published As

Publication number Publication date
NO20054000D0 (en) 2005-08-29
CA2518014A1 (en) 2006-11-12
TW200639642A (en) 2006-11-16
KR20060117869A (en) 2006-11-17
NO20054000L (en) 2006-11-13
ZA200506982B (en) 2007-04-25
US7689800B2 (en) 2010-03-30
US8112610B2 (en) 2012-02-07
US20110066782A1 (en) 2011-03-17
JP4942966B2 (en) 2012-05-30
SG127782A1 (en) 2006-12-29
US20060259731A1 (en) 2006-11-16
AU2005203519A1 (en) 2006-11-30
CO5730016A1 (en) 2007-02-28
JP2006318441A (en) 2006-11-24
RU2390827C2 (en) 2010-05-27
EP1722301B1 (en) 2013-05-29
EP1722301A2 (en) 2006-11-15
EP1722301A3 (en) 2006-12-06
BRPI0503636A (en) 2007-01-09
NZ541625A (en) 2006-09-29
RU2005127422A (en) 2007-03-10

Similar Documents

Publication Publication Date Title
CN1862494A (en) Partition bus
US10552208B2 (en) Migrating a virtual machine that owns a resource such as a hardware device
CN101326489B (en) OS mini-boot for running multiple environments
US11182718B2 (en) Methods and systems to optimize server utilization for a virtual data center
EP1674987B1 (en) Systems and methods for exposing processor topology for virtual machines
CN102460382B (en) Annotating virtual application processes
US8874888B1 (en) Managed boot in a cloud system
CN104011677B (en) Method and system for deployment of a software image on multiple targets with streaming technique
US7984438B2 (en) Virtual machine transitioning from emulating mode to enlightened mode
CN103493011A (en) Application compatibility with library operating systems
US20060005190A1 (en) Systems and methods for implementing an operating system in a virtual machine environment
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
KR20060046042A (en) Systems and methods for collecting operating system license revenue using an emulated computing environment
KR20140005280A (en) Virtual disk storage techniques
CN102207896A (en) Virtual machine crash file generation techniques
CN102402462A (en) Techniques for load balancing GPU enabled virtual machines
CN109690482A (en) The distribution of virtual machine graphics processor
CN1920731A (en) System and method for implementing operation system separation
HPE et al. Heterogeneous high performance computing
CN107667343A (en) On-demand loading resource
US11323331B2 (en) Cloud server and operating method of the same
CN113946370A (en) Drive system, information processing method, device, and storage medium
US10824463B1 (en) Hybrid storage for virtual machines and containers
Rao et al. A NOVEL CLOUD SYSTEM STORAGE AND COMPUTING VIRTUALIZATION MANAGEMENT FRAMEWORK.
CN114327741A (en) Server system, container setting method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20061115

CI01 Publication of corrected invention patent application

Correction item: Rejection of patent application

Correct: Dismiss

False: Reject

Number: 32

Volume: 26

ERR Gazette correction

Free format text: CORRECT: PATENT APPLICATION REJECTION OF AFTER PUBLICATION; FROM: REJECTION TO: REVOCATION REJECTED

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20061115