CN102754092B - For optimizing the method and system of the process that at least one block to virtual disk reflection is filed - Google Patents
For optimizing the method and system of the process that at least one block to virtual disk reflection is filed Download PDFInfo
- Publication number
- CN102754092B CN102754092B CN201080063607.4A CN201080063607A CN102754092B CN 102754092 B CN102754092 B CN 102754092B CN 201080063607 A CN201080063607 A CN 201080063607A CN 102754092 B CN102754092 B CN 102754092B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- storage
- block
- archiving component
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000003860 storage Methods 0.000 claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims description 28
- 239000000203 mixture Substances 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims 1
- 239000011800 void material Substances 0.000 claims 1
- 230000015654 memory Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 229910052751 metal Inorganic materials 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 210000003127 Knee Anatomy 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001360 synchronised Effects 0.000 description 2
- 230000002195 synergetic Effects 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 241000501754 Astronotus ocellatus Species 0.000 description 1
- LFVLUOAHQIVABZ-UHFFFAOYSA-N Iodofenphos Chemical compound COP(=S)(OC)OC1=CC(Cl)=C(I)C=C1Cl LFVLUOAHQIVABZ-UHFFFAOYSA-N 0.000 description 1
- 241000592238 Juniperus communis Species 0.000 description 1
- 102100015314 VSIR Human genes 0.000 description 1
- 101710036075 VSIR Proteins 0.000 description 1
- 241001516311 Watermelon virus A Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular Effects 0.000 description 1
- 230000023298 conjugation with cellular fusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- BQCADISMDOOEFD-UHFFFAOYSA-N silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000011780 sodium chloride Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 235000010384 tocopherol Nutrition 0.000 description 1
- 235000019731 tricalcium phosphate Nutrition 0.000 description 1
- 230000021037 unidirectional conjugation Effects 0.000 description 1
Abstract
File system analytic unit and archiving component is included for optimizing the system of the process that at least one block to virtual disk reflection is filed.File system analytic unit performs on the first physical computing device and identifies multiple pieces of data that in virtual disk image file, storage comprises file.Archiving component performs on the first physical computing device, Recognition Different dish file, determining whether to file described file and store to the second physical computing device transmission multiple pieces of the data comprising described file, the storage of described difference dish file comprises the mark of the amendment of multiple pieces of the data of described file to the storage identified.
Description
Related application
This application claims December in 2009 submit to, entitled " Methods and Systems on the 14th
for Optimizing a Process of Archiving at Least One Block of a Virtual
Disk Image ", the priority of the U. S. application of Serial No. 61/286339, for any and all
Purpose, is hereby incorporated the entire disclosure of this application.
Technical field
The disclosure relates generally to data filing process field, particularly relates to a kind of for optimizing virtual disk reflection
Block and carry out the method and system of data filing.
Background technology
In the typical environment for performing virtual machine in client machine, client computer accesses virtual disk reflection
File is to perform this virtual machine.Generally, virtual disk is revised when the user of client computer attempts to make by causing
(such as, revise operating system data, create new file or repair by attempting during the amendment of image file
Change existing file), this amendment then be that the difference dish associated with this virtual disk image file is modified.
In some environment, the process of the mark storing this amendment in difference dish also referred to as generates snapshot.
In the typical environment that the difference dish of virtual disk image file and any association is filed, to institute
Some files are filed.But, the backup copies generating virtual disk image file and difference dish is probably
Computation-intensive or resource-intensive.Such as, these files may require the memory space of several GB also
And will consumption calculations resource and storage device resources in order to make duplicate of the document.Additionally, passing through network
By filing transfer copies in some environment of remote machine, virtual disk image file and the filing of difference dish
The generation of copy and transmission are probably poor efficiency, or consume more more than what legacy user may require
Calculating resource in client computer.
Summary of the invention
In one aspect, for optimizing the side of the process that at least one block to virtual disk reflection is filed
Method includes by the file system analytic unit identification virtual disk reflection performed on the first physical computing device
In file, storage comprises multiple pieces of the data of file.The method includes by the first physical computing device
The archiving component Recognition Different dish file performed, the storage identified is comprised by the storage of described difference dish file
The mark of the amendment of at least one in multiple pieces of the data of this document.The method includes by archiving component
Determine whether this document is filed.The method includes being passed to the second physical computing device by archiving component
Defeated storage comprises multiple pieces of the data of this document.In certain embodiments, the method includes by archive sets
Part determines not to be filed this document.
In one embodiment, the method includes: reflected by virtual disk described in file system analytic unit identification
As in file, storage comprises more than second block of the data of the second file;By archiving component identification the second difference
Dish file, described second difference dish file storage comprises the data of this second file to the storage identified
The mark of the amendment of more than second block;Determined whether this second file is filed by archiving component;With
And determined by archiving component and not transmit more than second block to the second physical computing device.In another embodiment
In, determine whether described file is filed in response to described file application filter.Another
In individual embodiment, extract from the sector of virtual disk image file and identify between described file and the plurality of piece
Map position data and access this mapping with identify the plurality of piece.
In yet another aspect, for optimization to the process that at least one block of virtual disk reflection is filed
System includes file system analytic unit and archiving component.File system analytic unit is in the first physical computing
Perform and identify multiple pieces of data that in virtual disk image file, storage comprises file on device.Filing
Assembly performs on the first physical computing device, Recognition Different dish file, it is determined whether enter described file
Row is filed and stores multiple pieces of the data comprising described file, institute to the second physical computing device transmission
State the amendment of the storage of difference dish file comprises described file to the storage identified multiple pieces of data
Mark.
Accompanying drawing explanation
By with reference to following description taken together with the accompanying drawings, the foregoing end other objects of the disclosure, aspect, feature
Will become apparent from and it is more readily appreciated that wherein with advantage:
Figure 1A is the frame of the embodiment of the network environment of the local machine that description includes communicating with remote machine
Figure;
Figure 1B-1E is the frame of the embodiment describing the computer being of value to method and system described herein
Figure;
Fig. 1 F is the block diagram of the embodiment describing virtualized environment;
Fig. 2 is to describe the system for optimizing the process that at least one block to virtual disk reflection is filed
The block diagram of an embodiment;
Fig. 3 is to describe the method for optimizing the process that at least one block to virtual disk reflection is filed
The flow chart of an embodiment.
Detailed description of the invention
Referring now to Figure 1A, describe the embodiment of network environment.Generally speaking, network environment include via
One or more network 104 and one or more remote machine 106a-106n (total also known as clothes
Business device 106 or remote machine 106) one or more local machine 102a-102n of communicating is (total
Also known as local machine 102, client computer 102, client node 102, client machine 102, Ke Huji
Calculation machine 102, customer set up 102, end points 102 or endpoint node 102).In certain embodiments, originally
Ground machine 102 is existing seeks to access the ability of the provided resource of server as client node, also has conduct
Server provides the ability of the access of the resource to institute's host to other client computer 102a-102n.
Although Figure 1A shows the network 104 between local machine 102 and remote machine 106, local
Machine 102 and remote machine 106 may be located on identical network 104.Network 104 can be LAN
(LAN) (such as company Intranet), Metropolitan Area Network (MAN) (MAN), or wide area network (WAN) (such as the Internet
Or WWW).In certain embodiments, can have between local machine 102 and remote machine 106
Multiple networks 104.In of these embodiments, network 104 ' (not shown) can be private network also
And network 104 can be public network.In another of these embodiments, network 104 ' can be private network and
Network 104 ' can be public network.In yet another embodiment, network 104 and 104 ' can be all private network.And
In another embodiment, network 104 and 104 ' can be all public network.
Network 104 to be the network of any type and/or form, and can include any following network:
Point to point network, radio network, wide area network, LAN, communication network, data communication network, calculate
Machine network, ATM (asynchronous transfer mode) network, SONET (Synchronous Optical Network) network, SDH (with
Step digital hierarchy) network, wireless network and cable network.In certain embodiments, network 104 is permissible
Including wireless link, such as infrared channel or Landsat band.The topology of network 104 can be bus-type,
Star-like or ring network is topological.Network 104 can have for well known to those of ordinary skill in the art,
Any such network topology of operation described herein can be supported.Network can include utilizing for moving
Between device communication the arbitrary or mobile telephone network of some agreements, these agreements include: AMPS, TDMA,
CDMA, GSM, GPRS or UMTS.In certain embodiments, different types of data can be by difference
Protocol transmission.In other embodiments, same type of data can be transmitted by different agreement.
In certain embodiments, system can include the remote machine 106 of multiple logic groups.Real at these
Executing in of example, the logic groups of server can be referred to as server zone 38.In these embodiments
In another, remote machine 106 can be geographically spread out.In other embodiments, server zone 38
Can be managed as single entity.The most in other embodiments, server zone 38 includes multiple service
Device group 38.Remote machine 106 in each server zone 38 is probably isomery---one or more far
Journey machine 106 can be according to a type of operating system platform (such as, WINDOWS NT, WINDOWS 2003
Or WINDOWS 2008, all these is all to be produced by the Microsoft Corporation of State of Washington Redmond
) operation, and other remote machine 106 one or more can be according to another type of operating system platform
(such as, Unix or Linux) operates.
The remote machine 106 of each server zone 38 need not be remote with another in same server zone 38
Journey machine 106 is physically proximate.Therefore, the remote machine 106 of server zone 38 it is grouped in logic
Group can use wide area network (WAN) to connect or Metropolitan Area Network (MAN) (MAN) connection interconnects.Such as, clothes
Business device group 38 can include being physically located at different continent or continent, country, state, city, campus or room
Between the remote machine 106 of zones of different.If remote machine 106 use LAN (LAN) connect or
Some direct-connected forms are attached, then can increase the data between the remote machine 106 in server zone 38
Transfer rate.
Remote machine 106 can be file server, application server, web server, agency service
Device, equipment, the network equipment, gateway, application gateway, gateway server, virtualized server, deployment
Server, SSL vpn server, or fire wall.In certain embodiments, remote machine 106 provides
Remote Authentication Dial-In User Service, and it is referred to alternatively as radius server.In other embodiments,
Remote machine 106 can have as application server or as master application server work ability.Still
In other embodiments, remote machine 106 is blade server.In other embodiments, remote machine
106 perform to provide, to user or client computer 102, the virtual machine accessing computing environment.
In one embodiment, remote machine 106 can include Active Directory.Remote machine 106 can be
Application acceleration equipment.It is the embodiment of application acceleration equipment for wherein remote machine 106, remote machine
106 can provide and include firewall functionality, application firewall function, or the function of load balance function.?
In some embodiments, remote machine 106 includes such as by the Citrix being positioned at California, USA San Jose
Application network group, be positioned at California, USA Mountain View, Silver Peak Systems company,
It is positioned at the Riverbed Technology company of California, USA San Francisco, is positioned at U.S. Hua Sheng
The F5Networks company of state Seattle or be positioned at the Juniper of California, USA Sunnyvale
The equipment of in the equipment chain that Networks company manufactures.
In certain embodiments, remote machine 106 represents the user of local machine 102 and performs application.?
In other embodiments, remote machine 106 performs virtual machine, and this virtual machine provides and performs session, holds at this
Guild's words apply the user representing local machine 102 to perform.In of these embodiments, should
Perform the desktop session that session is institute's host.In another of these embodiments, this execution session provides
Access to computing environment, this computing environment includes following one or more: application, multiple application,
Desktop application and the desktop session of one or more application can be performed wherein.
In certain embodiments, local machine 102 communicates with remote machine 106.In one embodiment,
Local machine 102 directly communicates with one of remote machine 106 in server zone 38.Real at another
Executing in example, local machine 102 performs program proximity application (a program neighborhood
Application) to communicate with the remote machine 106 in server zone 38.In yet another embodiment,
Remote machine 106 provides the function of host node.In certain embodiments, local machine 102 passes through network
104 communicate with the remote machine 106 in server zone 38.Such as by network 104, local machine 102
Can ask to perform the various application of the remote machine 106a-106n institute host in server zone 38, and
The output receiving application execution result shows.In certain embodiments, only host node provides so
Function, the function i.e. identifying with providing needed for the address information relevant to remote machine 106b, described
The application that remote machine 106b host is asked.
In one embodiment, remote machine 106 provides the function of web server.Implement at another
In example, remote machine 106a receives the request from local machine 102, forwards this request to second
Remote machine 106b, and with remote machine 106b the response of this request come to local machine 102 please
Ask and respond.In yet another embodiment, remote machine 106a obtains and can use local machine 102
The enumerating of application, and with host by the remote machine 106b enumerating identified application of this application
The address information being associated.In yet another embodiment, remote machine 106 uses web interface to provide right
The response of the request of local machine 102.In one embodiment, local machine 102 is directly and remote machine
Device 106 communicates with accessing the application identified.In yet another embodiment, local machine 102 receives logical
Cross and perform the application identified on remote machine 106 and the output data produced, such as video data.
In certain embodiments, remote machine 106 or server zone 38 can run one or more application,
Application or the remote display presentation application of thin-client calculating are such as provided.In one embodiment, remotely
Machine 106 or server zone 38 are as the CITRIX that should be used for performing Citrix Systems company limited
Any portion (such as the product METAFRAME or CITRIX PRESENTATION of ACCESS SUITE
SERVER), Citrix Systems company limited any following products produced: CITRIX XENAPP,
CITRIX XENDESKTOP, CITRIX ACCESS GATEWAY, and/or Microsoft's product
Any one in MICROSOFT WINDOWS terminal service.In yet another embodiment, this application is
By the Citrix Systems company limited exploitation being positioned at Fla. Fort Lauderdale
ICA client computer.The most In yet another embodiment, remote machine 106 can run application, such as,
This application can be to provide such as by be positioned at Washington state Redmond Microsoft manufacture
The application server of the E-mail service of MICROSOFT EXCHANGE, web or Internet service
Device, or desktop sharing server, or Collaboration Server.In yet another embodiment, any application is permissible
Including service or the product of any kind of institute host, such as, it is positioned at California, USA Santa
The GOTOMEETING that the Citrix Online Divis ion company of Barbara provides, is positioned at the U.S. and adds
The WEBEX that the WebEx company limited of Li Funiya state Santa Clara provides, or it is positioned at China of the U.S.
Contain the Microsoft Office LIVE MEETING that the Microsoft of a state Redmond provides.
Local machine 102 can perform, operates or otherwise provide application, and application can be any
Type and/or the software of form, program or executable instruction, the most any type and/or the web of form
The application of browser, client computer based on web, client-server, thin-client computing client,
ActiveX control or Java Applet or appointing of can performing on local machine 102
The executable instruction of other type and/or the form of anticipating.In certain embodiments, this application can be to represent
Local machine 102 perform on remote machine 106 based on server or based on long-range application.?
In other embodiments, remote machine 106 can use the thinnest-client protocol, presentation level protocol or
Remote display protocol shows that local machine 102 is arrived in output, and described agreement is such as by being positioned at U.S. Fo Luoli
The independent computing architecture (ICA) that the Citrix Systems company limited of Dazhou City Ft.Lauderdale produces
Agreement;The RDP (RDP) produced by the Microsoft being positioned at Washington state Redmond;
X11 agreement;Virtual Networking Computing (VNC) agreement produced by AT&T AT&T Labs;By being positioned at U.S.
State Californai Sunnyvale and the Qumranet company limited being positioned at Israel Raanana go out
The SPICE protocol of product;The Net2Display produced by the VESA company of Californai Milpitas
Agreement;Produced by the Teradici company of the Burnaby being positioned at Columbia Province of Britain, Canada
PC-over-IP agreement;By the Wyse Technology company limited of Californai San Jose
The TCX agreement produced;The THINC agreement developed by the Columbia University of New York, NY;Or by
The Virtual-D agreement of the Desktone company limited exploitation of Massachusetts Chelmsford.Should
With using any kind of agreement, and it can be, such as, HTTP client, ftp client,
Oscar client or telnet client.In other embodiments, this application includes and Internet protocol
Any kind of software that phone (VoIP) communication is relevant, the softest IP phone.The most real
Executing in example, this application includes the arbitrary application relevant to real-time data communication, such as, regard for stream transmission
Frequency and/or the application of audio frequency.
Local machine 102 and remote machine 106 can be to be deployed as the calculating device of any type and form
And/or perform thereon, such as can be with any type and the network service of form and perform this place
The computer of operation, network equipment or the equipment described.Figure 1B and 1C describes for implementing local
The block diagram calculating device 100 of the embodiment of device 102 or remote machine 106.As shown in figs. ib and 1 c,
Each calculating device 100 includes CPU 121 and main storage unit 122.As shown in Figure 1B,
Calculate device 100 can include storing device 128, erecting device 116, network interface 118, I/O control
The instruction device 127 of device 123, display device 124a-124n, keyboard 126 and such as mouse.Storage dress
Put 128 and may include but be not limited to operating system, software and client proxy 120.As shown in Figure 1 C, often
Individual calculating device 100 may also comprise other selectable unit (SU), such as port memory 103, bridge 170,
One or more input/output device 130a-130n (total use label 130 represents) and with in
The cache memory 140 of Central Processing Unit 121 communication.
CPU 121 is in response to and processes instruction any taken out from main storage unit 122
Logic circuit.In certain embodiments, CPU 121 is provided by microprocessor unit, such as:
The microprocessor unit manufactured by the Intel Company being positioned at California, USA Mountain View;
The microprocessor unit manufactured by the motorola inc being positioned at Illinois, America Schaumburg;
The microprocessor list manufactured by the Transmeta Company being positioned at California, USA Santa Clara
Unit;RS/6000 processor, by the International being positioned at New York, United States White Plains
The microprocessor unit that Business Machines company manufactures;Or by being positioned at California, USA
The microprocessor unit that the Advanced Micro Devices company of state Sunnyvale manufactures.Calculate
Device 100 based on any one in these processors, or can mode can run as described here
Other processor any.
Main storage unit 122 can be can store data and allow microprocessor 121 directly access appoint
One or more memory chips of meaning storage position, such as static RAM (SRAM), prominent
Send out SRAM or synchronization burst SRAM (BSRAM), dynamic random access memory (DRAM), quick page
Pattern DRAM (FPM DRAM), strengthen DRAM (EDRAM), growth data output RAM (EDO RAM),
Growth data output DRAM (EDO DRAM), burst-extension data output DRAM (BEDO DRAM), increasing
Strong DRAM (EDRAM), synchronous dram (SDRAM), JEDEC SRAM, PC100SDRAM, double number
According to speed SDRAM (DDR SDRAM), strengthen SDRAM (ESDRAM), synchronization link DRAM (SLDRAM),
Directly rambus DRAM (DRDRAM) or ferroelectric RAM (FRAM).Main storage 122 can be based on
Any one of above-mentioned memory chip, or can mode is run as described here any other can use
Memory chip.In the embodiment shown in Figure 1B, processor 121 is by system bus 150 (below
It is described in more detail) communicate with main storage 122.Fig. 1 C describes processor wherein
The embodiment calculating device 100 directly communicated with main storage 122 by port memory 103.Example
As, main storage 122 can be DRDRAM in fig. 1 c.
It is straight by the secondary bus sometimes referred to as back side bus that Fig. 1 C is described in wherein primary processor 121
Connect the embodiment communicated with cache memory 140.In other embodiments, primary processor 121 uses
System bus 150 communicates with cache memory 140.Cache memory 140 generally has than master
The faster response time of memorizer 122, and generally provided by SRAM, BSRAM or EDRAM.At figure
In embodiment shown in 1B, processor 121 is by local system bus 150 and various I/O devices 130
Communicate.Can use various different bus that CPU 121 is connected to any I/O dress
Put 130, including VESA VL bus, isa bus, eisa bus, MCA (MCA)
Bus, pci bus, PCI-X bus, PCI-Express bus or NuBus.For I/O device it is
The embodiment of video display units 124, processor 121 can use advanced graphics port (AGP) with aobvious
Show that device 124 communicates.Fig. 1 C describe wherein primary processor 121 by HYPERTRANSPORT,
The computer 100 that RAPIDIO or INFINIBAND communication technology directly communicates with I/O device 130b
Embodiment.Fig. 1 C also illustrate wherein local bus with the embodiment mixed mutually that directly communicates: place
Reason device 121 uses local interconnection bus to communicate with I/O device 130a the most directly and I/O device 130b
Communication.
Calculate in device 100 and can have multiple I/O device 130a-130n.Input equipment include keyboard,
Mouse, Trackpad, trace ball, mike and drawing board.Output device includes video display units, raises one's voice
Device, ink-jet printer, laser printer and thermal printer.As shown in Figure 1B, I/O device is permissible
Controlled by I/O controller 123.I/O controller can control one or more I/O device, such as key
Dish 126 and instruction device 127 (such as mouse or light pen).Additionally, I/O device can also be for calculating device
100 provide storage and/or install medium 116.In other embodiments, calculate device 100 can provide
USB connection (not shown) is to receive hand-held USB memory device, such as by being positioned at California, USA
The USB flash memory drivetrain array apparatus that the Twintech Industry company limited of Los Alamitos produces.
Refer again to Figure 1B, calculate device 100 and can support the most suitable erecting device 116, such as
For receive such as 3.5 inches, the floppy disk of the floppy disk of 5.25 inch disk or ZIP disk,
CD-ROM drive, CD-R/RW driver, DVD-ROM drive, the tape drive of various form,
USB device, hard disk drive or be suitable to software and other device any of program are installed.Calculate device 100
Can also include storing device, such as one or more hard disk drive or independent disk redundancy battle array
Row, are used for storing operating system and other related software, and are used for storing all such as relating to client proxy
The Application Software Program of the random procedure of 120.Or, it is possible to use any one of erecting device 116
As storage device.Additionally, operating system and software can run from bootable medium, bootable medium example
The most bootable CD, such as KNOPPIX, it is a kind of bootable CD for GNU/Linux, can be certainly
Knoppix.net obtains as mono-release of GNU/Linux.
Additionally, calculate device 100 can include that network interface 118 is to come and network 104 by multiple connection
Docking, described connection include but not limited to standard telephone line, LAN or wide-area network link (such as 802.11,
T1, T3,56kb, X.25, SNA, DECNET), broadband connection (as ISDN, frame relay, ATM,
Gigabit Ethernet, Ethernet based on SONET (Ethernet-over-SONET)), wireless connections,
Or above-mentioned certain combination any or whole.Can use various communications protocols (such as TCP/IP, IPX,
SPX, NetBIOS, Ethernet, ARCNET, SONET, SDH, FDDI (FDDI),
RS232、IEEE802.11、IEEE802.11a、IEEE802.11b、IEEE802.11g、CDMA、GSM、
WiMax and direct asynchronous connection) set up connection.In one embodiment, device 100 is calculated permissible
By any type and/or the gateway of form or such as security socket layer (SSL) or Transport Layer Security
(TLS), or by the Citrix Systems company being positioned at Fla. Ft.Lauderdale
The tunnel protocol of the Ci trix gateway protocol manufactured to calculate device 100 ' with other and communicates.Network interface
118 can include that built-in network adapter, NIC, PCMCIA network card, card bus network are suitable
Orchestration, wireless network adapter, USB network adapter, modem or be applicable to calculate device
The 100 any type of networks being docked to can to communicate and perform operation described herein any other
Device.
In certain embodiments, calculate device 100 can include multiple display device 124a-124n or with
It is connected, and these display devices each can be to be identical or different type and/or form.Thus, appoint
A kind of I/O device 130a-130n of meaning and/or I/O controller 123 can include any type and/or shape
The combination of suitable hardware, software or the hardware and software of formula, to support, allow or to provide by calculating
Device 100 connects and uses multiple display device 124a-124n.Such as, calculate device 100 can wrap
Include any type and/or the video adapter of form, video card, driver and/or storehouse, to fill with display
Put 124a-124n to dock, communicate, connect or otherwise use display device 124a-124n.?
In one embodiment, video adapter can include multiple adapter with multiple display devices
124a-124n docks.In other embodiments, calculate device 100 and can include multiple video adapter,
Each video adapter is connected with one or more in display device 124a-124n.In some embodiments
In, any portion of the operating system calculating device 100 can be configured to multiple display
124a-124n.In other embodiments, one or more in display device 124a-124n can be by
One or more other calculates device and provides, and such as (such as passes through network) and is connected with calculating device 100
Calculating device 100a and 100b.These embodiments can include being designed and constructing using another
The display device of computer is as the second display device 124a any kind of soft calculating device 100
Part.Those of ordinary skill in the art is it should be appreciated that and recognize and can be configured to have by calculating device 100
The various modes of multiple display devices 124a-124n and embodiment.
In a further embodiment, I/O device 130 can be system bus 150 and PERCOM peripheral communication total
Bridge between line, described external communication bus such as usb bus, Apple Desktop Bus, RS-232 serial
Connection, SCSI bus, FireWire bus, FireWire800 bus, industry ethernet, AppleTalk
Bus, GBIC bus, asynchronous transfer mode bus, HIPPI bus, super HIPPI are total
Line, SerialPlus bus, SCI/LAMP bus, Fiber Channel bus, serial SCSI bus.
Described in Figure 1B and 1C, the calculating device 100 of type is transported the most under the control of an operating system
OK, the scheduling of described operating system control task and access to system resource.Calculate device 100 can transport
Any operating system of row, such as the MICROSOFT WINDOWS operating system of any version;Different distribution
The Unix of version and (SuSE) Linux OS;Any version for the MAC OS of macintosh computer
This;Arbitrarily embedded OS;Arbitrarily real time operating system;Arbitrarily open source operating system;The most specially
There is operating system;Arbitrarily for the operating system of mobile computing device, or can transport on the computing device
Row and perform other operating system any of operation described herein.Typical operating system include but not
It is limited to: WINDOWS 3.x, WINDOWS 95, WINDOWS 98, WINDOWS 2000, WINDOWS NT
3.51, WINDOWS NT 4.0, WINDOWS 7, WINDOWS CE, WINDOWS XP and WINDOWS VISTA,
All these by the Microsoft's product being positioned at Washington state Redmond;Profit is added by being positioned at the U.S.
The MAC OS that the Apple Computer of Fu Niya state Cupert ino produces;By being positioned at New York, United States
The OS/2 that the International Business Machine Corporation (IBM) of Armonk produces;And by being positioned at Utah, USA Salt Lake
The (SuSE) Linux OS that can freely use that the Caldera company of City issues or any type and/
Or the Unix operating system of form, and other.
Calculating device 100 can be any work station, phone, desk computer, on knee or notebook
Computer, server, palm PC, mobile phone or other portable telecommunication devices, media playing apparatus,
Games system, mobile computing device, maybe can communicate and have enough processor abilities and memory capacity with
Perform other type any and/or the calculating of form, telecommunications or the media apparatus of operations described herein.
Such as, computer installation 100 can include by the Fructus Mali pumilae meter being positioned at California, USA Cupertino
IPOD equipment series that Suan Ji company produces, by the Sony Corporation being positioned at Tokyo
PLAYSTATION2, PLAYSTATION3 or PERSONAL PLAYSTATION PORTABLE (PSP)
Device, the Nintendo company limited being positioned at kyoto, Japan NINTENDO DS, the NINTENDO produced
GAMEBOY, NINTENDO GAMEBOY ADVANCED or NINTENDO REVOLUTION device, or
XBOX or XBOX 360 device that person is produced by the Microsoft being positioned at Washington state Redmond.
In certain embodiments, calculate device 100 and can have different processor, operating system and symbols
Close the input equipment of this device.Such as, in one embodiment, calculating device 100 is to be had by Palm
Limit company produce TREO180,270,600,650,680,700p, 700w/wx, 750,755p,
800w, Centro or Pro smart phone.In some of these embodiments, TERO smart phone is
Under the control of PalmOS operating system, operate and include pen-based input device and five navigation device.
In other embodiments, calculating device 100 is mobile device, such as, and JAVA enabled cellular telephones
Or personal digital assistant (PDA), such as i55sr, i58sr, i85s, i88s, i90c, i95c1,
i335、i365、i570、I576、i580、i615、i760、i836、i850、i870、i880、
I920, i930, ic502, ic602, ic902, i776 or im1100, the above is by being positioned at U.S.
The Motorola Inc. of state Illinois Schaumburg manufactures;By the Kyocera being positioned at kyoto, Japan
The 6035 or 7135 of company's manufacture;Or by being positioned at the Samsung Electronics Co., Ltd. system of South Korea Seoul
I300 or i330 made.In certain embodiments, calculating device 100 is by the Nokia being positioned at Finland
Company manufactures or by the Sony Ericsson Mobile Communications AB being positioned at Sweden Lund
The mobile device that company manufactures.
In other embodiments, calculating device 100 is that blackberry (Blackberry) is hand-held or smart phone,
The device such as manufactured by Research InMotion company limited, including blackberry 7100 series, 8700
Series, 7700 series, 7200 series, blackberry 7520, blackberry PEARL 8100,8700 series, 8800
Series, blackberry Storm, blackberry Bold, blackberry Curve 8900, blackberry Pearl Flip.At it
In his embodiment, calculating device 100 is smart phone, Pocket PC, Pocket PC phone, or
Hold other hand-held moving device of Microsoft Windows Mobile Software.Additionally, calculate
Device 100 can be any work station, desk computer, on knee or notebook computer, server,
Palm PC, mobile phone, arbitrarily other computer, maybe can communicate and have enough processor abilities
With memory capacity to perform calculating or the telecommunication installation of other form of operation described herein.
In certain embodiments, calculating device 100 is digital audio-frequency player.In these embodiments one
In individual, calculating device 100 is such as to be calculated by the Fructus Mali pumilae being positioned at California, USA Cupertino
Apple IPOD, IPOD Touch, IPOD NANO and the IPOD SHUFFLE series that machine company manufactures
The digital audio-frequency player of device.In another of these embodiments, digital audio-frequency player can conduct
Portable media player and carry out work as mass storage device.In other embodiments, device is calculated
100 is such as by the Samsung Electronics being positioned at New Jersey Ridgefield Park
The DigitalAudioPlayer Select MP3 player that America company manufactures, or by being positioned at U.S.
Motorola m500's or m25 that the motorola inc of state Illinois Schaumburg manufactures
Digital audio-frequency player.In other embodiments, calculating device 100 is portable media player, such as
The Zen Vision W that manufactured by Creative Technologies company limited, Zen Vision system
Row, Zen Portable Media Center device or the MP3 player of Digital MP3 series.
The most in other embodiments, calculate device 100 be support following file format portable media player or
Digital audio-frequency player, these file formats include but not limited to MP3, WAV, M4A/AAC, WMA
Protected AAC, AIFF, Audible talking book, Apple Lossless audio file formats
With .mov .m4v and .mp4MPEG-4 (H.264/MPEG-4AVC) video file format.
In certain embodiments, calculate device 100 and include the combination of device, such as, play with DAB
Device or the combined mobile phone of portable media player.In of these embodiments, calculate device
100 is combination digital audio-frequency player and the Motorola RAZR or Motorola ROKR of mobile phone
Series.In another of these embodiments, calculating device 100 is by being positioned at California
Device in the iPhone Series Intelligent phone that the Apple of Cupertino manufactures.
In one embodiment, calculate device 102a and can ask resource from remote machine 106, simultaneously to
Client computer 102b provides the function of remote machine 106.In such embodiments, just from remote machine
For 106 (it can be referred to as server) receives data, calculate device 102a and can be referred to as client
Machine, and for the second client computer 102b, calculate device 102a and can be referred to as server.Another
In individual embodiment, client computer 102 can user in representative client 102 from remote machine 106 request money
Source.
As shown in figure ip, calculate device 100 and can include multiple processor, and can provide and be used for
More than one data slice is performed multiple instruction simultaneously or performs the function of an instruction simultaneously.At some
In embodiment, calculate the parallel processor that device 100 can include having one or more core.Real at these
Execute in of example, calculate device 100 be shared drive parallel device, have multiple processor and/or
All free memories are conducted interviews by multiple processor cores as a global address space.Real at these
Execute example another in, calculate device 100 be distributed memory parallel device, there is multiple processor,
Each processor only accesses local storage.In another of these embodiments, both calculated device 100
Shared memorizer is had to have again only by par-ticular processor or the memorizer of processor subset access.Real at these
Execute example another in, if the calculating device 100 of multi-core microprocessor is by two or more independent processors
Combine in a package, generally in an integrated circuit (IC).At another of these embodiments
In, calculate device 100 and include that there is unit wideband engine (CELL BROADBAND ENGINE) framework
Chip, and include high power treatment device unit and multiple synergetic unit, high power treatment device unit and
Multiple synergetic unit are linked together by inner high speed bus, can inner high speed bus be referred to as
Cell interconnection bus.
In certain embodiments, processor provides for multiple data slice are performed single instruction simultaneously
(SIMD) function.In other embodiments, processor provides for performing many to multiple data slice simultaneously
The function of individual instruction (MIMD).In another embodiment, processor can use SIMD in single assembly
Combination in any with MIMD core.
In certain embodiments, calculate device 100 and can include Graphics Processing Unit.This shown in Fig. 1 E
In of a little embodiments, calculate device 100 and include at least one CPU 121 and at least
One Graphics Processing Unit.In another of these embodiments, calculate device 100 and include at least one
Individual parallel processing element and at least one Graphics Processing Unit.In another of these embodiments, meter
Calculating device 100 and include any type of multiple processing unit, one in multiple processing units includes figure
Processing unit.
Referring now to Fig. 1 F, this block diagram describes an embodiment of virtualized environment 400.In general, meter
Calculate device 100 to include managing program layer, virtualization layer and hardware layer.Management program layer includes management program
161 (also referred to as virtualization manager), it is come by least one virtual machine performed in virtualization layer
Distribution and the management access to the multiple physical resources (such as processor 221 and dish 228) in hardware layer.
Virtualization layer includes at least one operating system 171 and distributes to the multiple of at least one operating system 171
Virtual resource.It is (total that virtual resource can include, without being limited to multiple virtual processor 132a, 132b, 132c
Be referred to as 132) and virtual disk 142a, 142b, 142c (being generically and collectively referred to as 142), and as virtual memory with
The virtual resource of virtual network interface.Multiple virtual resources and operating system can be referred to as virtual machine 166.
Virtual machine 166 can include controlling operating system 165, this control operating system 165 and management program 161
Communication, and with management and configure other virtual machines calculated on device 100 for performing application.
Referring now to Fig. 1 F, more specifically, management program 161 can may have access to the behaviour of physical equipment with simulation
Any mode making system provides virtual resource to operating system.Management program 161 can be to any amount
Client operating system 171a, 171b (being generically and collectively referred to as 171) provide virtual resource.In some embodiments, meter
Calculate device 100 and perform one or more management programs.In these embodiments, management program can be used for simulating
Virtual hardware, division physical hardware, virtualization physical hardware also perform to provide the access to computing environment
Virtual machine.Management program can include by the Palo Alto being positioned at California, USA VMWare manufacture this
A little programs;XEN management program (one is increased income product, and its exploitation is by Xen.org association supervision of increasing income);
HyperV, VirtualServer of being thered is provided by Microsoft or Virtual PC management program, or other.
In some embodiments, calculating device 100 execution establishment client operating system can perform virtual machine thereon and put down
The management program of platform, this calculating device 100 is referred to as home server.In of these embodiments,
Such as, calculating device 100 is by the Citrix being positioned at Fla. Fort Lauderdale
The XEN SERVER that Systems company limited provides.
In some embodiments, perform within the operating system that management program 161 performs on the computing device.
In of these embodiments, the calculating device performing operating system and management program 161 can be considered
There is host operating system (perform operating system) on the computing device, and client operating system (
The operating system performed in the calculating resource partitioning provided by management program 161).In other embodiments,
Hardware direct interaction in management program 161 and calculating device rather than execution on host operating system.
In of these embodiments, management program 161 can be considered at " naked metal (bare metal) "
Upper execution, described " naked metal " refers to the hardware including calculating device.
In some embodiments, it is virtual that management program 161 can produce that operating system 171 performs wherein
Machine 166a-c (is generically and collectively referred to as 166).In of these embodiments, management program 161 loads virtual
Machine is videoed to create virtual machine 166.In another of these embodiments, management program 161 is virtual
Operating system 171 is performed in machine 166.Still in another of these embodiments, virtual machine 166 performs
Operating system 171.
In some embodiments, management program 161 controls calculating the virtual machine 166 performed on device 100
Processor scheduling and internal memory divide.In of these embodiments, management program 161 controls at least
The execution of one virtual machine 166.In another of these embodiments, management program 161 is at least one
Individual virtual machine 166 presents by calculating the abstract of at least one hardware resource of providing of device 100.Other are real
Executing in example, management program 161 controls whether and how concurrent physical processor ability is presented to virtual machine
166。
Control operating system 165 can perform for manage and configure client operating system at least one should
With.In one embodiment, control operating system 165 and can perform management application, as included following user
The application of interface, this user interface provides the visit for managing the function that virtual machine performs for manager
Asking, these functions include for performing virtual machine, termination virtual machine performs or identification to be distributed to virtual
The function of the physical resource type of machine.In another embodiment, management program 161 is by management program 161
Executive control operation system 165 in the virtual machine 166 created.In another embodiment, control operation system
System 165 is being authorized to directly access execution on the virtual machine 166 of the physical resource calculated on device 100.
In some embodiments, calculating control operating system 165a on device 100a can be by management program
Communication between 161a and management program 161b and control operating system 165b calculated on device 100b
Exchange data.So, one or more calculating devices 100 can calculate device with one or more other
100 data exchanging other physical resources available in relevant processor or resource pool.In these embodiments
One in, this function allow management program management be distributed in the resource on multiple physical computing device
Pond.In another of these embodiments, the management of multiple management programs calculates at one and holds on device 100
One or more client operating systems of row.
In one embodiment, control operating system 165 and be authorized to and at least one client operating system 171
Perform on mutual virtual machine 166.In another embodiment, client operating system 171 is by management journey
Sequence 161 communicates with controlling operating system 165, to ask access dish or network.Still in another embodiment
In, client operating system 171 and control operating system 165 can be logical by set up by management program 161
Letter channel communication, such as, by the multiple shared locked memory pages provided by management program 161.
In some embodiments, control operating system 165 and include for directly providing with by calculating device 100
The network hardware communication network backend driver.In of these embodiments, network backend drives
At least one virtual machine that device processes from least one client operating system 110 is asked.Other embodiments
In, control operating system 165 and include the block rear end for communicating with the memory element calculated on device 100
Driver.In of these embodiments, block back driver connects based on from client operating system 171
At least one request received reads and writes data from memory element.
One embodiment, controls operating system 165 and includes instrument storehouse 164.In other embodiments, work
Tool storehouse 164 provides following function: alternately and other control operating systems 165 with management program 161
(being such as positioned on the second calculating device 100b) communicates, or management calculate on device 100 virtual
Machine 166b, 166c.In another embodiment, instrument storehouse 164 includes self-defined application, its for
The manager of virtual machine cluster provides the management function of improvement.In some embodiments, instrument storehouse 164 and control
At least one in operating system 165 processed includes Administration API, and it provides by Remote configuration and based on controlling
Calculate the interface of the virtual machine 166 run on device 100.In other embodiments, control operating system 165
Communicated with management program 161 by instrument storehouse 164.
In one embodiment, management program 161 is held in the virtual machine 166 created by management program 161
Row client operating system 171.In another embodiment, client operating system 171 is for calculating device 100
User access to the resource in computing environment is provided.In another embodiment, resource include program,
Application, document, file, multiple application, multiple file, executable program file, desktop environment, meter
Calculate environment or to calculate device 100 user can other resources.In another embodiment, can pass through
Resource is sent to calculating device 100 by multiple access methods, and these methods include but not limited to: conventional
Directly calculate install on device 100, the method that flowed by application sends calculating device 100 to, will be by
Calculate that device 100 ' upper execution resource produces second and send calculating device to by presentation level protocol
The output data of 100 send to and calculate device 100, will go up execution by calculating device 100 ' second
Virtual machine performs resource produced output data and sends calculating device 100 to or from being connected to calculating
The flash memory device (such as USB device) of device 100 performs or by calculating on device 100
The virtual machine performed performs and produces output data.In some embodiments, calculating device 100 will perform
Resource produced output data are transferred to another and calculate device 100 '.
In one embodiment, client operating system 171 and this client operating system 171 perform thereon
Virtual machine combines and forms Full-virtualization virtual machine, and this Full-virtualization virtual machine is not aware that it oneself is empty
Plan machine, such machine can be described as " Domain U HVM (hardware virtual machine) virtual machine ".Another is real
Execute in example, Full-virtualization machine include simulate basic input/output (BIOS) software so as
Full-virtualization machine performs operating system.In yet another embodiment, Full-virtualization machine can include driving
Dynamic device, it is by the offer function that communicates with management program 161.In such embodiment, driver is gratifying
Know and perform in virtualized environment to oneself.
In another embodiment, client operating system 171 and this client operating system 171 perform thereon
Virtual machine combine formed para-virtualization (paravirtualized) virtual machine, this para-virtualization is virtual
Machine recognizes it oneself is virtual machine, and such machine can be described as " Domain U PV virtual machine ".Another
In embodiment, para-virtualization machine includes Full-virtualization machine extra driver not to be covered.Another is implemented
In example, para-virtualization machine includes being comprised in the network backend controlled in operating system 165 as above
Driver and block back driver.
Referring now to Fig. 2, this block diagram describes to be filed at least one block of virtual disk reflection for optimization
The embodiment of system of process.Generally speaking, this system includes file system analytic unit 202
With archiving component 210.File system analytic unit 202 performs on the first physical computing device 100a.
File system analytic unit 202 identifies the data that in virtual disk image file 204, storage comprises file 208
Multiple pieces 206.Archiving component 210 performs on the first physical computing device 100a.Archiving component
210 Recognition Different dish files 212, described difference dish file 212 stores the storage to being identified and comprises literary composition
The mark 214 of the amendment of multiple pieces 206 of the data of part 208.Archiving component 210 determines whether literary composition
Part 208 is filed.Archiving component 210 comprises literary composition to the second physical computing device 100n transmission storage
Multiple pieces 206 of the data of part 208.In certain embodiments, in response to at least one in following
Application filter: the mark of this document is relevant with this document with to storage or the data of formation this document
The mark of the amendment of block, archiving component 210 determines not to be filed this document.
In certain embodiments, the file in systematic analysis virtual disk image file is to determine whether this article
Part is filed.In of these embodiments, analyze instruction file be modified, be deleted or
Person is the most out-of-date.In another of these embodiments, to other of filename, file type or file
The result of the analysis of identifier determines that not file this document.In methods described herein and
In some embodiments of system, by analyzing the block comprising file in virtual disk image file and making
Whether All Files is filed to the determination of all pieces, methods described herein and systems with data backup
Function and the effective filing to relevant data block.
In one embodiment, from virtual disk image file before this system is included in and files file
Identify and remove untapped piece.In yet another embodiment, this system is included in and files file
Need not the assembly of the block being archived from virtual disk image file identification and removing before;Such as, this system
Can access in the enumerating and remove and be stored in and enumerate of the filename that need not be archived or file type
The block of the data of the file identified.In yet another embodiment, this system is included in and reflects this virtual disk
The assembly of remaining data is compressed as file before filing.
Referring now to Fig. 2, more specifically, this document systematic analysis assembly 202 includes resolver, described solution
Parser is for analyzing virtual disk image file 204 and identifying data multiple that storage comprises file 208
Block 206.In one embodiment, file system analytic unit 202 includes for identifying that virtual disk is videoed
In file 204, storage comprises the function of more than second block 206b of the data of the second file 208b.
In one embodiment, it is referred to as multiple pieces 206 bunch (cluster).In yet another embodiment,
Block 206a in multiple pieces 206 is referred to as sector (sector).But, In yet another embodiment,
One block includes multiple sector.In yet another embodiment, a block is 2MB size.Real at another
Executing in example, virtual disk image file 204 has one of all file formats as listed below: such as by U.S.
Virtual hard disk file (VHD) form that the Microsoft of state State of Washington Redmond issues, or by
The virtual machine disks (VMDK) that the VMware company limited of California, USA Palo Alto issues
File format.
In certain embodiments, archiving component 210 includes policy engine 218.In these embodiments one
In individual, archiving component 210 implementation strategy engine 218 is to be made as to whether to file file really
Fixed.In another of these embodiments, policy engine 218 includes means for determining whether to carry out file
At least one filter of filing.In other embodiments, archiving component 210 accesses and deposits in data base
The data of storage are to determine whether to file file.In other embodiments, archiving component 210 accesses
Regular expressions analytic unit is to filter out the file that need not be archived.In of these embodiments,
Archiving component 210 includes the function of this regular expressions analytic unit.Although being described as in fig. 2 separately
Assembly, but in certain embodiments, single component provides archiving component 210 and file system analysis group
The function of part 202.
Referring now to Fig. 3, this flow chart describes returns at least one block of virtual disk reflection for optimization
One embodiment of the method for the process of shelves.Generally speaking, the method 300 includes by the first physics meter
Calculate storage in the file system analytic unit identification virtual disk image file performed on device and comprise file
Multiple pieces (302) of data.The method includes by the archiving component performed on the first physical computing device
Recognition Different dish file, the storage of described difference dish file comprises the data of this document to the storage identified
The mark (304) of the amendment of at least one in multiple pieces.The method includes being determined whether by archiving component
This document is filed (306).The method includes being transmitted to the second physical computing device by archiving component
Storage comprises multiple pieces (308) of the data of this document.In certain embodiments, the method includes by returning
Shelves assembly determines not to be filed the plurality of piece.
Referring now to Fig. 3, more specifically, the file system analysis group performed on the first physical computing device
In part identification virtual disk image file, storage comprises multiple pieces (302) of the data of file.Implement at some
In example, file system analytic unit 202 extracts by this virtual disk from the block of virtual disk image file 204
The list of the addressable logical drive of image file 204 (it can also be referred to as volume).Real at these
Executing in of example, the list identification of logical drive is fanned for the startup of one or more logical drives
The position in district;Described boot sector can be the sector that storage can perform data, makes logic by this sector
The user of the first physical computing device 100a can be used by driver.In another of these embodiments,
File system analytic unit 202 extracts mark file 208 from the boot sector identified and storage comprises literary composition
The data of the position of the mapping 220 between multiple pieces 206 of the data of part 208;This mapping 220 is permissible
It is referred to as MFT.In yet another embodiment, file system analytic unit 202 stores this mapping 220
Copy.In yet another embodiment, file system analytic unit 202 accesses this mapping 220 to identify
Multiple pieces 206 of storage file 208.In certain embodiments, file system analytic unit 202 is to returning
The mark of the position of shelves assembly 210 transmission map 220.
In other embodiments, file system analytic unit 202 is based on to mapping the analysis of data in 220
Generate the second mapping 222.In of these embodiments, file system analytic unit 202 generates will
The second mapping 222 associated with file 208 for multiple pieces 206.In another of these embodiments, the
Two mappings 222 are the inverse mappings of mapping 220, and it provides for the mark according to one or more data blocks
Identify the function of filename.
The archiving component Recognition Different dish file performed on the first physical computing device, described difference dish literary composition
The amendment of at least one in multiple pieces of the data that part storage comprises this document to the storage identified
Mark (304).In one embodiment, difference dish file 212 includes virtual disk image file 204
Quote.
In one embodiment, archiving component 210 receives mapping 222 from file system analytic unit 202
Copy.In yet another embodiment, archiving component 210 receives the position of the block storing mapping 222
Mark.In yet another embodiment, archiving component 210 receives multiple from file system analytic unit 202
The mark of block 206 and the mark (such as, filename) of file 208, the plurality of piece 206 storage bag
Data containing file 208.
In one embodiment, archiving component 210 analyzes the data stored by difference dish 212 to determine this
Whether difference dish file 212 stores repairing of identified file system analytic unit 202 multiple pieces 206
The mark 214 changed.In yet another embodiment, archiving component 210 extracts number from difference dish file 212
According to and determine whether these data include mating the mark of described mark 214.In yet another embodiment,
Archiving component 210 determines that difference dish 212 stores the mark of the amendment to multiple pieces 206.Real at another
Executing in example, archiving component 210 retrieves the mark of file 208 (such as, from file system analytic unit 202
The filename received).In certain embodiments, file system analytic unit 202 and archiving component 210
The function generally provided by file system driver and other assemblies is provided together.Therefore, real at these
Executing in of example, archiving component 210 may determine that whether difference dish file 212 includes initially storage
The amendment of the file in virtual disk image file 205, without carry difference dish file 212 or virtual
Disk image file 204.
In certain embodiments, archiving component 210 accesses storage to having occurred and that change within preset time
The data structure of instruction of each file 208.In other embodiments, archiving component 210 accesses and deposits
Whether storage has occurred and that the data structure of the instruction of change within preset time to file 208.Real at other
Executing in example, difference dish file 212 stores such data structure.But, in other embodiments, empty
Intend disk image file 204 and store this data structure.In of these embodiments, archiving component 210
Need not analyze difference dish 212, but this number stored by virtual disk image file 204 can be accessed
According to structure.In a further embodiment, such data structure can be as being such as referred to as renewal sequence
Number (Update Sequence Number, USN) or the knot of change journal (Change Journal)
Structure and be provided.In of these embodiments, this data structure is generated by writing function,
Described writing function records each change occurred in virtual disk image file 204 in this data structure
Change.
Archiving component determines whether to file file (306).In one embodiment, archiving component
210 determine whether to file file 208 in response to the mark application filter of file 208;
Such as, archiving component 210 can be determined whether based on filename completely or partially to come to carry out file 208
Filing.In yet another embodiment, archiving component 210 was applied in response to the mark of difference dish 212
Filter determines whether to file file 208;Such as, archiving component 210 can be determined whether based on
File 208 is filed by the establishment time of difference dish 212.In yet another embodiment, in response to
The mark 214 to the amendment of multiple pieces 206 stored by difference dish 212 is applied filter, archive sets
Part 210 determines whether to file file 208;Such as, archiving component 210 can be determined whether based on
File 208 is filed by the type of the amendment being made this document.In yet another embodiment, return
Shelves assembly 210 determines that it is not file by deleted file for mark 214 instruction.Again
In one embodiment, in response to policy engine 218 about whether the determination that file 208 is filed,
Archiving component 210 determines whether to file file 208.
In certain embodiments, archiving component 210 determines not to being identified as having particular file types
File is filed.In of these embodiments, such as, archiving component 208 can be with application strategy
And determine and template file or temporary file are not filed.In another of these embodiments, filing
Pagefile can not filed by assembly 208 with application strategy determining.Another in these embodiments
In individual, hibernation file can not filed by archiving component 208 with application strategy determining.Real at these
Execute example another in, archiving component 208 can be with application strategy and determine not to specific at the first physics
Calculate the file of the execution of virtual disk image file 204 on device 100a to file.Implement at other
In example, archiving component 208 accesses enumerating of the file type that need not to be archived.In other embodiments,
Archiving component 208 accesses enumerating of the filename of associated with that need not to be archived.In other enforcement
In example, such as, in the registration table stored by virtual disk image file 204, the data of storage include being not required to
Enumerating of file to be archived.
In certain embodiments, archiving component 210 determines and does not files file 208, because to block
The analysis of the mark of the amendment of 206 indicates this amendment to make original document out-of-date.In these embodiments
In one, archiving component 210 determines that more than second block to being stored by difference dish 212 is filed, and
It not that multiple pieces 206 stored by virtual disk image file 214 are filed.In these embodiments
In another, archiving component 210 determines more than second block stored by virtual disk image file 214
206b carries out filing rather than filing the multiple pieces of 206a being originally identified.
Archiving component comprises multiple pieces of the data of this document to the second physical computing device transmission storage
(308).In one embodiment, archiving component 210 is in response to determining that file 208 carries out filing to be come
Multiple pieces 206 are transmitted to the second physical computing device 100b.In yet another embodiment, archiving component
File 208 is not filed by 210 in response to determining, does not transmit multiple pieces 206.Implement at another
In example, archiving component 210 transmission storage comprises multiple pieces of the data of the amendment to file 208, described
Multiple pieces are identified by mark 214.In certain embodiments, archiving component 210 is by the plurality of piece
206 video as the virtual disk with the form generally similar with the form of virtual disk image file 204
File is transmitted.In of these embodiments, had and original virtual disk image by transmission
File rather than the such as transmission of the generally similar form of form of file 204 have dramatically different form
File, the user that archiving component 210 accesses transmitted multiple pieces by request eliminates reformatting
These multiple pieces transmitted are to access the needs of multiple pieces transmitted.
In some embodiments of methods described herein and system, by analyzing virtual disk image file
Comprise the block of file in 204 and be made whether the determination that all of which is filed, described method and
System provides data backup function and the effective filing to relevant data block.
It should be understood that system as described above can provide any number of of these assemblies or each and this
A little assemblies can provide on stand-alone machine, or in certain embodiments, can be many in distributed system
There is provided on individual machine.Programming and/or engineering can be used real to system described above and method
Now for method, device or product to provide software, firmware, hardware or above-mentioned any combination.Additionally,
Said system and method can be as realizing on one or more manufacture products or realizing wherein
Or multiple computer-readable program and be provided.Term used herein " manufacture product " be intended to include from
One or more computer-readable devices, firmware, FPGA, storage arrangement are (such as,
EEPROM, ROM, PROM, RAM, SRAM etc.), hardware (such as, IC chip, scene can
Programming gate array (FPGA), application specific integrated circuit (ASIC) etc.), electronic installation, computer can
The nonvolatile memory cell (such as, CD-ROM, floppy disk, hard disk etc.) read is addressable and is embedded
Code or logic.Described manufacture product can be from via Network transmission line, wireless transmission medium, logical
Cross the signal of spatial transmission, radio wave, infrared signal etc. and the access to computer-readable program is provided
File server is addressable.Described manufacture product can be flash card or tape.Described manufacture product bag
Include hardware logic and be embedded in computer-readable medium the software performed by processor or generation able to programme
Code.Generally, computer-readable program can realize with any programming language, as LISP, PERL, C,
C++, C#, PROLOG, or any byte code language of such as JAVA.Software program can be as mesh
Mark code is stored on one or more manufacture product or wherein.
Have been described with for optimization the process that at least one block of virtual disk reflection is filed
Some embodiment of method and system, comprises it will be apparent to one skilled in the art that can use
Other embodiments of idea of the invention.Therefore, the disclosure should not be limited to some in fact
Execute example, and only have the spirit and scope of appended claim to be limited.
Claims (15)
1. the process that at least one block videoed for optimizing the virtual disk to non-carry is filed
Method, described method includes:
By the file system non-carry of analytic unit identification virtual performed on the first physical computing device
In disk image file, storage comprises multiple pieces of the data of file;
By the archiving component Recognition Different dish file performed on the first physical computing device, described difference dish
File storage repairing at least one in multiple pieces of the data that the storage identified comprises described file
The mark changed;
Carried out first by archiving component to determine, to determine whether described file is filed;
Determined that transmitting storage to the second physical computing device comprises institute by archiving component in response to described first
At least one block in multiple pieces of the data stating file, the plurality of piece of wherein said difference disk storage;
Reflected by the virtual disk of the described non-carry of archiving component identification performed on the first physical computing device
As in file, storage comprises more than second block of the data of the second file;
By described archiving component in response to the amendment of at least one in more than second block identified
Mark, carries out second and determines, to determine that described second file is not out-of-date;And
Determined that the virtual disk of never carry is videoed to the second thing by described archiving component in response to described second
Reason calculates at least one in more than second block of the data that device transmission storage comprises described second file
Block.
Method the most according to claim 1, also includes:
The is comprised by storage in the virtual disk image file of non-carry described in file system analytic unit identification
3rd many blocks of the data of three files;
By archiving component identification the second difference dish file, described second difference dish file storage is to being identified
Storage comprises the mark of the amendment of the 3rd many blocks of the data of the 3rd file;
Carried out the 3rd by archiving component to determine, to determine whether the 3rd file is filed;
Determining in response to the described 3rd, archiving component is not to the second physical computing device transmission more than the 3rd
Block.
Method the most according to claim 1, wherein carries out first and determines and also include:
Determine whether described file is filed in response to described file application filter.
Method the most according to claim 1, wherein carry out first determine also include in response to identify institute
State difference dish file to determine whether described file is filed.
Method the most according to claim 1, also includes the virtual disk image file from described non-carry
Sector extract the data of position of the mapping identified between described file and the plurality of piece.
Method the most according to claim 5, also includes accessing described mapping to identify the plurality of piece.
7. the process that at least one block videoed for optimizing the virtual disk to non-carry is filed
System, described system includes:
File system analytic unit, it performs and identifies the void of non-carry on the first physical computing device
Intend the data that in disk image file, storage comprises file multiple pieces;With
Archiving component, it performs on the first physical computing device, this archiving component:
Recognition Different dish file, the storage of described difference dish file comprises described literary composition to the storage identified
The mark of the amendment of multiple pieces of the data of part;
Carry out first to determine to determine whether described file is filed;And
Determine in response to described first and comprise described file to the second physical computing device transmission storage
Multiple pieces of data at least one block, the plurality of piece of wherein said difference disk storage;
By the described non-carry of archiving component identification virtual performed on the first physical computing device
In disk image file, storage comprises more than second block of the data of the second file;
By described archiving component in response to repairing at least one in more than second block identified
The mark changed, carries out second and determines, to determine that described second file is not out-of-date;And
Determined that the virtual disk reflection of never carry is to the by described archiving component in response to described second
In more than second block of the data that two physical computing device transmission storages comprise described second file
At least one block.
System the most according to claim 7, wherein file system analytic unit also identify described in do not hang
In the virtual disk image file carried, storage comprises the 3rd many blocks of the data of the 3rd file.
System the most according to claim 7, wherein archiving component is also:
Identifying the second difference dish file, described second difference dish file storage comprises the to the storage identified
The mark of the amendment of the 3rd many blocks of the data of three files;
Carry out the 3rd to determine, to determine whether the 3rd file is filed;And
Determine in response to the described 3rd, determine not to the 3rd physical computing device transmission the 3rd many blocks.
10. the process that at least one block videoed for optimizing the virtual disk to non-carry is filed
System, described system includes:
For by the file system non-carry of analytic unit identification performed on the first physical computing device
In virtual disk image file, storage comprises the device of multiple pieces of the data of file;
For the device by the archiving component Recognition Different dish file performed on the first physical computing device,
In multiple pieces of the data that the storage of described difference dish file comprises described file to the storage identified extremely
The mark of the amendment of few;
For being carried out the first device determining to determine whether that described file is filed by archiving component;
For determining by archiving component to the second physical computing device transmission storage bag in response to described first
The device of at least one block in multiple pieces of the data containing described file, wherein said difference disk storage institute
State multiple pieces;
In the virtual disk image file identify non-carry, storage comprises the second of the data of the second file
The module of multiple pieces;
For carrying out in response to the mark of the amendment of at least one in more than second block identified
Second module determined, this second determines that described second file is not out-of-date;And
For determining that in response to described second the virtual disk of never carry is videoed to the second physical computing device
The module of at least one block in more than second block of the data that transmission storage comprises described second file.
11. systems according to claim 10, also include:
For being comprised the 3rd file by storage in file system analytic unit identification virtual disk image file
The device of the 3rd many blocks of data;
For the device by archiving component identification the second difference dish file, described second difference dish file storage
The storage identified is comprised the mark of the amendment of the 3rd many blocks of the data of the 3rd file;
For being carried out the 3rd device determining to determine whether that the 3rd file is filed by archiving component;
And
Determine not to the second physical computing device transmission by archiving component for determining in response to the described 3rd
The device of the 3rd many blocks.
12. systems according to claim 10, also include
For in response to determining whether described file is filed to described file application filter
Device.
13. systems according to claim 10, also include in response to identifying described difference dish literary composition
Part determines whether the device filing described file.
14. systems according to claim 10, also include for reflecting from the virtual disk of described non-carry
The data of the position of the mapping identified between described file and the plurality of piece are extracted as the sector of file
Device.
15. systems according to claim 14, also include for accessing described mapping described to identify
The device of multiple pieces.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28633909P | 2009-12-14 | 2009-12-14 | |
US61/286339 | 2009-12-14 | ||
US61/286,339 | 2009-12-14 | ||
PCT/US2010/060354 WO2011081948A2 (en) | 2009-12-14 | 2010-12-14 | Methods and systems for optimizing a process of archiving at least one block of a virtual disk image |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102754092A CN102754092A (en) | 2012-10-24 |
CN102754092B true CN102754092B (en) | 2016-11-30 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688981A (en) * | 2002-08-09 | 2005-10-26 | 网络装置公司 | Storage virtualization by layering virtual disk objects on a file system |
CN101443746A (en) * | 2006-05-18 | 2009-05-27 | 李尚奎 | Security system for client and server |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688981A (en) * | 2002-08-09 | 2005-10-26 | 网络装置公司 | Storage virtualization by layering virtual disk objects on a file system |
CN101443746A (en) * | 2006-05-18 | 2009-05-27 | 李尚奎 | Security system for client and server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102037444B (en) | Methods and systems for patching multiple disk images derived from a common base disk image | |
CN102804140B (en) | For device driver being imported to the method and system in client's computing environment | |
CN102272726B (en) | Systems and methods for facilitating virtualization of a heterogeneous processor pool | |
EP2513811B1 (en) | Methods and systems for optimizing a process of archiving at least one block of a virtual disk image | |
CN102334114B (en) | Systems and methods for optimizing a process of determining a location of data identified by a virtual hard drive address | |
CN104067288B (en) | Storage encryption method | |
CN102754077B (en) | The safety virtualization environment that can guide from external media device | |
EP2368182B1 (en) | Systems and methods for facilitating migration of virtual machines among a plurality of physical machines | |
CN102971706B (en) | Information is redirected to dangerous virtual machine from secure virtual machine | |
CN104067231B (en) | Using virtual switch agentbased control network interface | |
CN102292699B (en) | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment | |
CN104487943B (en) | The method and apparatus of trusted file indirect operation | |
CN102257481B (en) | Systems and methods for controlling, by a hypervisor, access to physical resources | |
CN102368201B (en) | Storage optimization selection within a virtualization environment | |
CN102257479A (en) | Systems and methods for optimizing configuration of a virtual machine running at least one process | |
US10445122B2 (en) | Effective and efficient virtual machine template management for cloud environments | |
US20110004680A1 (en) | Systems and methods for unified management of desktop sessions | |
CN104956329A (en) | Network offering in cloud computing environment | |
CN102202049A (en) | Network policy implementation for multi-virtual machine appliance | |
CN104981776A (en) | System updates with personal virtual disks | |
CN102754092B (en) | For optimizing the method and system of the process that at least one block to virtual disk reflection is filed | |
CN104424012A (en) | Method and equipment used for providing user-defined virtual device | |
CN114327741A (en) | Server system, container setting method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |