[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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 PDF

Info

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
Application number
CN201080063607.4A
Other languages
Chinese (zh)
Other versions
CN102754092A (en
Inventor
I·普拉特
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Priority claimed from PCT/US2010/060354 external-priority patent/WO2011081948A2/en
Publication of CN102754092A publication Critical patent/CN102754092A/en
Application granted granted Critical
Publication of CN102754092B publication Critical patent/CN102754092B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

For optimizing the method and system of the process that at least one block to virtual disk reflection is filed
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.
CN201080063607.4A 2009-12-14 2010-12-14 For optimizing the method and system of the process that at least one block to virtual disk reflection is filed Active CN102754092B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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