NO342885B1 - Å omdanne maskiner til virtuelle maskiner - Google Patents

Å omdanne maskiner til virtuelle maskiner Download PDF

Info

Publication number
NO342885B1
NO342885B1 NO20084228A NO20084228A NO342885B1 NO 342885 B1 NO342885 B1 NO 342885B1 NO 20084228 A NO20084228 A NO 20084228A NO 20084228 A NO20084228 A NO 20084228A NO 342885 B1 NO342885 B1 NO 342885B1
Authority
NO
Norway
Prior art keywords
virtual
virtual machine
machine
physical
hard disk
Prior art date
Application number
NO20084228A
Other languages
English (en)
Other versions
NO20084228L (no
Inventor
Michael L Michael
William L Scheidel
Benjamin Alan Leis
Karan Mehra
Venkatasubrahmanyam Raman
Natalia V Varava
Original Assignee
Microsoft Technology Licensing Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of NO20084228L publication Critical patent/NO20084228L/no
Publication of NO342885B1 publication Critical patent/NO342885B1/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Fysiske (eller allerede virtuelle) lagringsvolumer kan bli omdannet til virtuelle maskiner på en vertsmaskin mens de fysiske maskinene kjører. I én utførelse kan en volumskyggekopieringstjeneste anvendes for å danne et applikasjonskonsistent (og/eller filsystemkonsistent) øyeblikksbilde av én eller flere fysiske lagringsvolumer mens det ene eller de flere lagringsvolumene kjører. Øyeblikksbildedataene kan så bli overført til en montert virtuell-harddiskfil (dynamisk eller fast) på en vertsmaskin. Driftsinformasjon (f.eks. oppstartstabell, systemregister, drivere, anordninger, konfigurasjonspreferanser, etc.) i tilknytning til virtuell-harddiskfilen og operativsystemet/-systemene på den virtuelle maskinen kan da bli modifisert som nødvendig for å sikre at den aktuelle virtuelle maskinen er oppstartbar og funksjonell på vertsmaskinen. Virtuell-harddiskfilen kan så bli demontert og benyttet som en ny virtuell maskin.

Description

Bakgrunn og relevant teknikk
[0001] Det finnes en rekke måter å distribuere forskjellige typer ressurser (programvare, maskinvare eller kombinasjoner av dette) i et datastyrt miljø. Sett fra et programvaresynspunkt kan for eksempel en bedrift installere flere kopier av et operativsystem (eller applikasjonsprogram) på flere forskjellige datamaskiner, og dermed distribuere én kopi til mange systemer. Tradisjonelle måter å dele maskinvare omfatter det å sette opp datasystemer i et nettverk slik at flere forskjellige datasystemer kan aksessere en annen datamaskins lagringsstasjoner for forskjellige lagrings- eller fildelingsbehov.
[0002] Nyere fremskritt i maskinvarekapasiteten (dvs. dagens lagrings-, minne- og prosesseringskapasitet) har imidlertid medført at tilveiebringelse av tradisjonelle lagrings- og/eller nettverkstrafikkstyringsfunksjoner har en tendens til å underutnytte en gitt fysisk maskin. Følgelig omfatter nyere måter å distribuere ressurser sett fra et kombinert programvare- og maskinvareperspektiv nå det å installere flere virtuelle datasystemer på ett enkelt fysisk system. Generelt kan virtuelle maskiner bli installert med en unik instans av et gitt operativsystem på en tildelt andel av en vertsmaskins lager, og med en allokert andel av vertsmaskinens minne og prosesseringskraft.
[0003] Som følge av disse og andre trekk kan virtuelle maskiner enkelt skilles fra andre virtuelle maskiner, og også fra vertstjeneren de er installert på. For andre brukere i nettverket vil den virtuelle maskinen fremstå som et separat adresserbart datasystem, akkurat som et hvilket som helst annet fysisk datasystem i nettverket. De virtuelle maskinene kan anvendes for en rekke forskjellige formål, for eksempel anvendes som en annen tjener (f.eks. e-posttjener eller databasetjener) i et nettverk, for test av programvare eller maskinvare, som hoveddatasystem for en tynn klient, og annet.
[0004] I tillegg til denne funksjonaliteten kan virtuelle maskiner også gi den ytterligere fordelen at de kan installeres og settes opp – og også fjernes – nokså enkelt og i noen tilfeller raskt. For eksempel kan en systemansvarlig for et gitt vertsdatasystem motta en forespørsel om en virtuell maskin, manuelt allokere passende ressurser på vertsdatamaskinen og så installere den ønskede virtuelle maskinen. Når det ikke lenger er behov for den virtuelle maskinen, kan den systemansvarlige manuelt velge én eller flere kommandoer for å stenge ned eller eventuelt slette den virtuelle maskinen ved vertstjeneren. Følgelig kan en organisasjon ønske å redusere sitt antall fysiske maskiner (tjenermaskiner, personlige datamaskiner, etc.) ved å la én eller noen få vertstjenere være vert for potensielt hundrevis av virtuelle maskiner. En vil forstå at en slik konsolidering kan gi en rekke fordeler, spesielt dersom organisasjonen kan redusere forskjellige ressursbruks- og maskinadministreringskostnader, omfattende spare strøm, redusere temperatur-/nedkjølingskostnader, spare plass og andre mulige besparelser som følge av redusert bruk av fysiske maskiner.
US 20033126202 A et styringsverktøy som strømlinjeformer serverallokerings- og leveringsprosessene i et datasenter. Systemet deler server tilbud og tildeling i to separate oppgaver. Tilveiebringelse av en server oppnås ved å generere et fullt konfigurert, oppstartbart systembilde, komplett med nettverksadressetildelinger, virtuell LAN (VLAN) -konfigurasjon, lastbalanseringskonfigurasjon og lignende. Systembilder lagres i et lagringsarkiv og er tilgjengelige for flere enn én server. Allokering oppnås ved å bruke en byttemekanisme som matcher hver server med et passende systembilde basert på nåværende konfigurasjon eller krav til datasenteret. Dermed er det mulig å levere sanntidstjenester og allokering av servere i form av automatiserte svar på endrede forhold i datasenteret. Muligheten til øyeblikkelig å gjenstille servere som byttes sikkert og forsvarlig ved under-utnyttet serverkapasitet til mer produktive oppgaver, og som forbedrer serverutnyttelsen er også gitt.
[0005] Det er desverre ikke en enkel sak å konsolidere fysiske maskiner ved å omdanne et valgt antall eksisterende fysiske datasystemer til virtuelle maskiner. Spesielt vil ikke det å simpelthen kopiere innholdet i en fysisk lagringsstasjon til en vertstjeners partisjon i alminnelighet være nok til å skape en funksjonell virtuell maskin. For eksempel vil det å ta en ren kopi av en fysisk maskins lagringsstasjoner mens den fysiske maskinen kjører kunne skape inkonsistenser i filtilstander (dvs. at dataene ikke er “applikasjonskonsistente”). Følgelig kan applikasjoner som aksesserer data på den fysiske maskinen være ute av stand til å anvende kopier av dataene når de senere flyttes til en virtuell maskin. Videre vil det å bare overføre en slik kopi til en vertstjener kunne resultere i andre inkonsistenser i systemregisteret eller inkonsistenser med forskjellige disk- og nettverksdrivere, inkonsistenser i binærfilene for operativsystemet, med mer. Selv om det finnes noen mekanismer for å komme seg rundt slike vanskeligheter, medfører tradisjonelle mekanismer for å gjøre dette typisk betydelig nedetid og ressursbruk (både menneskeressurser og programvareressurser).
[0006] For eksempel omfatter én metode for å omdanne en fysisk maskin det å opprette en virtuell maskin på en vertsmaskin fra bunn av. Nærmere bestemt kan en systemansvarlig installere alle applikasjoner på den fysiske maskinen i den nye virtuelle maskinen, overføre filsystem- og applikasjonsdata til den virtuelle maskinen og så gjenoppbygge eventuelle andre oppgaver på den virtuelle maskinen fra bunn av og/eller gjennom applikasjoners gjenopprettingsoperasjoner. Denne metoden er selvfølgelig uhensiktsmessig sett fra forskjellige perspektiver, og kan bli et sluk for en organisasjons ressurser, spesielt dersom den forsøker å omdanne hundrevis av fysiske maskiner til virtuelle maskiner.
[0007] En annen metode for å omdanne en fysisk maskin omfatter bruk av nokså kompliserte infrastrukturkomponenter, så som ADS (Automated Deployment Services) og/eller PXE (Pre-Installation Executable Environment), for å skape en overførbar kopi av en fysisk maskins innhold. Generelt omfatter mekanismer som anvender denne typen infrastruktur det å skru av den fysiske maskinen og starte opp den fysiske maskinen på nytt, for eksempel med et PXE-miljø. Dette gjør at den systemansvarlige kan starte den fysiske maskinen uten å laste inn det installerte operativsystemet, og forbyr derfor skriving til filer under kopieringsprosesser.
[0008] Etter å ha kopiert innholdet på den fysiske lagringsstasjonen kan den systemansvarlige overføre innholdet til en virtuell-maskin-vert. Dette alene kan ta én eller flere timer for noen gigabyte med data. Etter overføring av dataene vil administratoren så måtte utføre et antall forholdsvis kompliserte endringer av de overførte dataene for å gjøre det kopierte innholdet oppstartbart som en virtuell maskin. I hvert fall delvis som følge av nedetiden forbundet med det å sette den fysiske maskinen som omdannes offline og gjøre dataene oppstartbare blir denne metoden typisk benyttet når det å bygge opp den fysiske maskinen fra bunn av som en virtuell maskin er for vanskelig.
[0009] Følgelig er det et antall problemer knyttet til det å omdanne fysiske maskiner til virtuelle maskiner som kan løses.
KORT OPPSUMMERING
[0010] Utførelser av foreliggende oppfinnelse løser ett eller flere problemer innen teknikken med systemer, fremgangsmåter og dataprogrammer innrettet for effektivt å omdanne fysiske maskiner til virtuelle maskiner. Spesielt gjør utførelser av foreliggende oppfinnelse det mulig å raskt kopiere, overføre og gjøre oppstartbar data i fysiske lagringsvolumer, for eksempel på en virtuell-maskin-vert (eller et annet passende datasystem), uten nødvendigvis å måtte ta den fysiske maskinen offline. I én utførelse kan for eksempel én eller flere applikasjonsskrivere (f.eks. gjennom en volumskyggekopitjeneste) anvendes for å danne et applikasjonskonsistent (og/eller filsystemkonsistent) øyeblikksbilde av ett eller flere fysiske lagringsvolumer mens det ene eller de flere lagringsvolumene forblir online.
Øyeblikksbildet/-bildene kan så bli overført ved hjelp av en effektiv overføringsmekanisme (f.eks. blokknivå kopiering) til en virtuell-harddisk-fil på en vertstjener. Driftsinformasjon (f.eks. oppstartsdata, systemregistre og binærfiler, etc.) knyttet til de overførte øyeblikksbildedataene kan så bli modifisert på virtuellmaskin-verten for med det å gjøre de overførte øyeblikksbilde-volumene oppstartbare.
[0011] For eksempel kan ett eksempel på fremgangsmåte ifølge en utførelse av foreliggende oppfinnelse, fra en fysisk maskins perspektiv, for å omdanne en fysisk maskin til en virtuell maskin uten å kreve betydelig nedetid omfatte det å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere lagringsvolumer i en fysisk maskin. Fremgangsmåten kan også omfatte det å opprette ett eller flere konsistente øyeblikksbilder svarende til det ene eller de flere fysiske lagringsvolumene. Videre kan fremgangsmåten omfatte det å sende det ene eller de flere øyeblikksbildene til en montert virtuell-harddisk-fil. Enda videre kan fremgangsmåten omfatte det å sende en oppstartstabell for det ene eller de flere konsistente øyeblikksbildene til den monterte virtuelle harddiskfilen. I et slikt tilfelle kan oppstartstabellen være en del av driftsinformasjonen for det ene eller de flere konsistente øyeblikksbildene som kan bli modifisert (eller generert fra bunn av, som nødvendig) på verten for den virtuelle maskinen.
[0012] Videre kan et annet eksempel på fremgangsmåte ifølge en utførelse av foreliggende oppfinnelse, fra en virtuell maskins perspektiv, for å omdanne en fysisk maskin til en virtuell maskin omfatte det å opprette en virtuell-harddisk-fil med en filstørrelse. Fremgangsmåten kan også omfatte det å montere den virtuelle harddiskfilen på en virtuell-maskin-vert. I et slikt tilfelle kan den virtuelle harddiskfilen fremstå som en tilgjengelig fysisk disk for et operativsystem. Videre kan fremgangsmåten omfatte det å motta ett eller flere konsistente øyeblikksbilder svarende til ett eller flere fysiske lagringsvolumer. Videre kan fremgangsmåten omfatte det å modifisere driftsinformasjon for det ene eller de flere konsistente øyeblikksbildene. Følgelig kan det ene eller de flere konsistente øyeblikksbildene gjøres anvendelige for et operativsystem på virtuell-maskin-verten, for eksempel gjennom endringer av oppstartstabeller, drivere, operativsystem-binærfiler, systemregistre og/eller konfigurasjonspreferanser. Enda videre kan fremgangsmåten omfatte det å fjerne monteringen av den virtuelle harddiskfilen. Den virtuelle harddiskfilen kan derfor være utilgjengelig som fysisk disk, men i stedet oppstartbar som en virtuell maskin.
[0013] Denne oppsummeringen er gitt for å introdusere i en forenklet form et utvalg av konsepter som er beskrevet nærmere nedenfor i den detaljerte beskrivelsen. Denne oppsummeringen er ikke ment å identifisere grunnleggende eller avgjørende trekk ved oppfinnelsen det kreves beskyttelse for, og den er heller ikke ment å bli anvendt som en hjelp til å bestemme rammen til oppfinnelsen det kreves beskyttelse for.
Foreliggende oppfinnelse er særlig egnet til å tilveiebringe en fremgangsmåte for å lage en virtuell maskin i en virtuell maskin-vert, hvilken virtuelle maskin-vert er inkludert i et datastyrt miljø i en maskin, hvilken maskin omfatter én eller flere volumer, nevnte metode for å opprette en virtuell maskin i den virtuelle maskin-verten omfatter handlingene:
å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere volumer i maskinen, inkludert å identifisere en oppstartssektor og volumdata på ett eller flere maskinvolumer;
å opprette ett eller flere konsistente øyeblikksbilder som svarer til volumdataene og oppstartssektoren på det ene eller de flere maskinvolumene, hvor det ene eller de flere konsistente øyeblikksbildene omfatter volumdata og en oppstartssektor som respektivt samsvarer med volumdataene og oppstartssektoren på det ene eller de flere maskinvolumene, og hvor oppstartssektoren som er omfattet av det ene eller de flere konsistente øyeblikksbildene kan modifiseres i den virtuelle maskin-verten;
å sende én eller flere instruksjoner til den virtuelle maskin-verten for å lage en virtuell harddisk fil;
å sende en instruksjon til den virtuelle maskin-verten for å gjøre den virtuelle harddisk filen skrivbar;
å sende én eller flere instruksjoner til den virtuelle maskin-verten for å montere den opprettede virtuelle harddisk filen;
å overføre det ene eller de flere konsekvente øyeblikksbildene til den monterte virtuelle harddisk filen; og
å sende en instruksjon for å modifisere operativ informasjon for det ene eller de flere konsekvente øyeblikksbildene, slik at det ene eller de flere konsekvente øyeblikksbildene er oppstartbare i den virtuelle maskin-verten, hvor modifikasjonen omfatter å modifisere minst oppstartssektoren som er omfattet av det ene eller de flere øyeblikksbildene.
[0014] Ytterligere særtrekk og fordeler med eksempler på utførelser av oppfinnelsen vil bli angitt i beskrivelsen som følger, og vil delvis være åpenbare fra beskrivelsen eller kan læres gjennom praktisering av disse utførelseseksemplene.
Særtrekkene og fordelene med disse utførelsene kan realiseres og oppnås ved hjelp av innretningene og kombinasjonene spesielt angitt i de vedføyde kravene. Disse og andre særtrekk vil klargjøres bedre av den følgende beskrivelsen og de vedføyde kravene, eller kan læres gjennom praktisering av utførelseseksemplene vist i det følgende.
KORT BESKRIVELSE AV FIGURENE
[0015] For å beskrive hvordan de ovenfor angitte og andre fordeler og særtrekk ved oppfinnelsen kan oppnås vil en mer konkret beskrivelse av oppfinnelsen som kort oppsummert over bli gitt under henvisning til konkrete utførelsesformer av denne som er illustrert i de vedlagte figurene. Underforstått at disse figurene kun viser typiske utførelsesformer av oppfinnelsen og derfor ikke skal betraktes som en begrensning av oppfinnelsens ramme, vil oppfinnelsen bli beskrevet og forklart mer spesifikt og i nærmere detalj ved hjelp av de vedlagte figurene, der:
[0016] Figur 1A illustrerer et skjematisk oversiktsdiagram i henhold til en utførelse av foreliggende oppfinnelse der ett eller flere øyeblikksbilder blir tatt av ett eller flere fysiske diskvolumer, og én eller flere virtuelle harddiskfiler blir opprettet på en virtuell-maskin-vert;
[0017] Figur 1B illustrerer det skjematiske oversiktsdiagrammet i figur 1A idet dataene for det ene eller de flere øyeblikksbildene av det eller de fysiske diskvolumene blir overført til den opprettede virtuelle harddiskfilen ved hjelp av effektive overføringsmekanismer;
[0018] Figur 1C illustrerer de skjematiske oversiktsdiagrammene i figurene 1A-1B idet en virtuell-harddisk-fil som inneholder de overførte øyeblikksbildedataene, blir modifisert for å skape en oppstartbar virtuell maskin i henhold til en utførelse av foreliggende oppfinnelse; og
[0019] Figur 2 illustrerer flytdiagrammer av fremgangsmåter, sett fra en fysisk maskins og en virtuell-maskin-verts perspektiv, for å omdanne én eller flere maskiner til én eller flere motsvarende virtuelle maskiner.
DETALJERT BESKRIVELSE
[0020] Foreliggende oppfinnelse vedrører systemer, fremgangsmåter og dataprogramprodukter innrettet for effektivt å omdanne fysiske maskiner til virtuelle maskiner. Spesielt gjør utførelser av foreliggende oppfinnelse det mulig å raskt kopiere, overføre og gjøre oppstartbare data i fysiske lagringsvolumer, for eksempel på en virtuell-maskin-vert (eller et annet passende datasystem), uten nødvendigvis å måtte ta den fysiske maskinen offline. I én utførelse kan for eksempel én eller flere applikasjonsskrivere (f.eks. gjennom en volumskyggekopitjeneste) anvendes for å danne et applikasjonskonsistent (og/eller filsystemkonsistent) øyeblikksbilde av ett eller flere fysiske lagringsvolumer mens det ene eller de flere lagringsvolumene forblir online.
Øyeblikksbildet/-bildene kan så bli overført ved hjelp av en effektiv overføringsmekanisme (f.eks. blokknivå kopiering) til en virtuell-harddisk-fil på en vertstjener. Driftsinformasjon (f.eks. oppstartsdata, systemregistre og binærfiler, etc.) knyttet til de overførte øyeblikksbildedataene kan da bli modifisert på virtuellmaskin-verten for med det å gjøre de overførte øyeblikksbilde-volumene oppstartbare.
[0021] Følgelig kan utførelser av foreliggende oppfinnelse gi fordeler som forholdsvis rask, “én-touch” omdanning fra fysisk til virtuell maskin på en måte som kan unngå nedetid av den fysiske maskinen. Videre muliggjør utførelser av foreliggende oppfinnelse en pålitelig “én-touch” omdanning fra fysisk til virtuell maskin siden den omdannede maskinen vil være konsistent på vertsmaskinen. Som vil tydeliggjøres av den følgende beskrivelsen og kravene kan denne omdanningen bli gjort med et hvilket som helst antall passende komponenter og moduler. For eksempel kan utførelser av foreliggende oppfinnelse omfatte bruk av komponenter og mekanismer i en VSS (Volume Shadow Copy Service) for å opprette applikasjonskonsistente (og/eller filsystemkonsistente) øyeblikksbilder. Disse komponentene kan opprette ett eller flere konsistente øyeblikksbilder (eller tidspunktsbilder) av ett eller flere fysiske lagringsvolumer som kjører under øyeblikksbildeprosesser.
[0022] Videre kan utførelser av foreliggende oppfinnelse omfatte bruk av en VDS (Volume Disk Service) og/eller beslektede komponenter. Generelt omfatter en VDS (eller beslektede komponenter) plattformer for å opprette og konfigurere lagringsvolumer på fysiske disker. Videre omfatter utførelser av foreliggende oppfinnelse bruk av et “diskbildeverktøy” og i noen tilfeller bruk av et “diskbildemonteringsverktøy”. Generelt omfatter et diskbildeverktøy komponenter og/eller moduler innrettet for å skape en blokkbasert (eller byteblokk-basert) kopi av en fysisk disk eller et fysisk lagringsvolum gitt en startposisjon og et antall byte (eller byte-blokker) som skal kopieres. I motsetning omfatter et bildemonteringsverktøy én eller flere komponenter og/eller moduler innrettet for å ta for eksempel en virtuell-harddisk-fil som innmating og montere den virtuelle harddiskfilen i filsystemet for å eksponere filen som en fysisk disk. Denne eksponerte fysiske disken kan gjøres aksesserbar akkurat som en hvilken som helst annen fysisk disk kan være aksesserbar for et operativsystem, som tillater skriving av data til sine lagringsvolumer.
[0023] Utførelser av foreliggende oppfinnelse omfatter videre bruk av en virtuellharddisk-fil (“VHD”-fil) på en virtuell-maskin-vert, der VHD-filen omfatter én fysisk disk og ett eller flere fysiske disklagringsvolumer som styres av (og er tilgjengelig innenfor) én eller flere virtuelle maskiner (VM'er). Selv om betegnelsene “virtuell maskin”, “virtuell-maskin-vert” og “VHD-fil” anvendes i noen MICROSOFT-miljøer, vil en forstå at henvisning her til MICROSOFT-komponenter (og/eller WINDOWS SERVER-komponenter) kun er ment å tjene som eksempler. Spesielt vil en forstå etter å ha lest denne beskrivelsen og kravene at komponentene, modulene og/eller mekanismene beskrevet her kan finnes og praktiseres i en lang rekke kjøremiljøer som implementerer virtuelle maskiner eller beslektede entiteter.
[0024] Figur 1A illustrerer et skjematisk oversiktsdiagram av et eksempel på datastyrt miljø 100 der en fysisk maskin 105 (f.eks. en personlig datamaskin, en fysisk tjener, etc.) kan bli omdannet til en virtuell maskin innbefattet på en vertsmaskin 110. På et grunnleggende nivå kan det å omdanne en fysisk maskin (f.eks. 105) til en virtuell maskin (f.eks.175, figur 1C) omfatte det å ta et øyeblikksbilde av det ene eller de flere fysiske lagringsvolumene (f.eks.115), opprette én eller flere virtuelle harddiskfiler (f.eks.140) på en virtuell-maskin-vert, overføre øyeblikksbildet/-bildene til VHD-filen og så gjøre ett eller flere av nevnte ett eller flere overførte øyeblikksbilde-volumer i VHD-filen oppstartbare som en virtuell maskin (f.eks.175). En forstår således at et antall forskjellige for- og etterbehandlingsprosesser kan gjennomføres for å gjøre omdanningen effektiv.
[0025] I minst én utførelse kan for eksempel omdanningsprosessen bli innledet med bruk av av omdanningsmodul 130 (dvs. som kan omfatte én eller flere moduler på maskinen 105 og/eller verten 110), som innleder øyeblikksbildeoperasjoner på ett eller flere lagringsvolumer på den eller de fysiske diskene i den fysiske maskinen 105 (f.eks. volumet 115). Generelt kan omdanningsmodulen 130 omfatte hvilke som helst passende skrivere og spørrere innrettet for å opprette en konsistent skyggekopi av et fysisk diskvolum. Som nevnt tidligere kan for eksempel slike skrivere og spørrere være tilveiebrakt i en volumskyggekopitjeneste. Følgelig kan omdanningsmodulen 130 for eksempel begynne omdanningsprosessen ved å sende et signal til alle applikasjonsskrivere i hvert av ett eller flere volumer i en fysisk disk (f.eks. volumet 115) om at de skal innlede øyeblikksbildeoperasjoner på sine data. Som vist omfatter for eksempel volumet 115 i hvert fall volumdata 125 og en oppstartstabell 120.
[0026] Ved mottak av denne meldingen fra omdanningsmodulen 130 kan hver applikasjonsskriver på volumet 115 tømme sine minnelagrede data til fysisk disk og/eller fryse eventuelle filsystem- eller volumlogger. For applikasjoner som ikke anvender en applikasjonsskriver kan omdanningsmodulen 130 instruere (f.eks.
som default, eller på kommando fra en bruker eller systemansvarlig) til å lukke applikasjonen, og dermed sikre at ingen skriveoperasjoner blir gjort mens øyeblikksbildet tas. Følgelig viser figur 1A at omdanningsmodulen 130 da kan opprette ett enkelt øyeblikksbilde (dvs. en kopi) av alle volumdata på volumet 115. For eksempel viser figur 1A at omdanningsmodulen 130 har opprettet et øyeblikksbilde 117 av volumet 115 (dvs. “øyeblikksbilde-volumet”), der øyeblikksbildet 117 i dette tilfellet omfatter volumdata 127 og oppstartstabellen 120.
[0027] En vil forstå at en rekke optimeringer kan gjøres når en tar øyeblikksbildet, eller utfører øyeblikksbildeoperasjoner (og kopieringsoperasjoner), for å sikre at data blir kopiert og overført på en effektiv måte. For eksempel kan omdanningsmodulen 130 identifisere hvilke deler av volumet 115 som er i bruk (dvs. inneholder data) og hvilke deler som er ledige. Øyeblikksbildeoperasjoner kan således innrettes for kun å kopiere de delene av volumer eller fysiske disker som er i bruk, heller enn hele volumer eller hele fysiske disker. Videre kan øyeblikksbildeoperasjoner også innrettes for å unngå bestemte filer som kan være mindre nyttige (eller ikke anvendelige i det hele tatt) i et virtualisert miljø.
[0028] Spesielt kan øyeblikksbildeoperasjoner for eksempel videre innrettes for å identifisere filer så som de inneholdt i et diff-område, sidefiler, ugyldige sektorgrupper, hibernation-filer og annet. Disse filene kan således unngås når en genererer øyeblikksbildet 117 eller gjennomfører byteblokk-overføringen, slik at mengden data som må overføres til virtuell-maskin-verten 110, reduseres ytterligere. En vil forstå at disse filtypene og optimeringene enkelt kan varieres for andre filtyper, beregning av brukt eller ledig lagringsplass, og liknende i en rekke forskjellige kjøremiljøer.
[0029] Uansett, og som en forklaring, vil dataene 127 i øyeblikksbildet 117 i alminnelighet være forskjellige fra de opprinnelige dataene 125 på volumet 115, hovedsakelig som følge av endringer i tid under (og/eller etter) øyeblikksbildeoperasjoner. For eksempel, siden den fysiske maskinen 105 fortsatt kjører under øyeblikksbildeoperasjoner, kan volumdataene 125 endre seg kontinuerlig, for eksempel dersom en bruker fortsetter å skrive til bestemte applikasjonsdata.
Følgelig representerer volumdataene 127 (dvs. “volumdata 127”) en tidligere konsistent øyeblikksverdi for dataene 125 på volumet 115, som tilnærmelsesvis er tidspunktet da omdanningsmodulen 130 innledet øyeblikksbildeprosessene.
[0030] Figur 1A viser også at oppstartstabellen 120 er den samme i øyeblikksbildet 117 som den er med de kjørende dataene i volumet 115. Nærmere bestemt vil en forstå at oppstartstabeller (f.eks.120) trolig ikke vil endre seg under øyeblikksbildeprosessene siden applikasjoner typisk ikke har tilgang til oppstartstabellen. Spesielt blir oppstartstabeller i alminnelighet endret av operativsystemet, og typisk sjelden, om i det hele tatt. Følgelig viser figur 1A at oppstartstabellen 120 i dette tilfellet er den samme som den var før øyeblikksbildeoperasjoner.
[0031] Før, under eller rett etter opprettelse av øyeblikksbildet 117 kan omdanningsmodulen 130 også sette opp én eller flere virtuelle harddisk-(VHD)-filer 140 på virtuell-maskin-verten 110 som svarer til den fysiske maskinens 150 fysiske disk (ikke vist). For eksempel viser figur 1A at omdanningsmodulen 130 sender en melding 150 for å opprette en skrivbar virtuell-harddisk-fil 140. I én utførelse kan dette også omfatte det å sende en melding først for å opprette én eller flere VHD-filer (f.eks.140) med en gitt, fast størrelse, og så sende en egen melding for å gjøre VHD-filen skrivbar. (Omdanningsmodulen 130 kan også sende en melding for å opprette (skrivbar eller annet) en VHD-fil med dynamisk størrelse, som vokser med tillegging av data.)
[0032] Generelt kan hver VHD-fil være innrettet for å svare til én enkelt fysisk disk i et datasystem, og hvert volum innenfor en fysisk disk kan være representert i den nyopprettede VHD-filen. En VHD-fil kan imidlertid i noen tilfeller representere ett enkelt volum heller enn en hel fysisk disk. I eksempelet der en fysisk disk har flere lagringsvolumer (selv om kun ett enkelt volum 115 er vist), kan den nye VHD-filen også inneholde data svarende til flere lagringsvolumer. Det er selvfølgelig en viss fleksibilitet i denne henseende. Dersom for eksempel en bruker av den fysiske maskinen 105 hadde et volum som var spredt over flere partisjoner (og/eller speilede volumer, etc.), kan brukeren bestemme seg for kun å tilegne én partisjon til øyeblikksbildedata i den virtuelle målharddiskfilen. Tilsvarende kan brukeren bestemme seg for kun å overføre ett volum fra en fysisk disk som omfatter flere volumer til en virtuell-harddisk-fil.
[0033] Følgelig vil størrelsen til VHD-filen i alminnelighet være minst like stor som kan være nødvendig med hensyn til de overførte kildedataene (f.eks. fysisk disk, spesifikt volum i en fysisk disk, data i den fysiske disken, etc.). En forstår derfor at metodene her også kan anvendes ved duplikering av en eksisterende virtuell maskin til en større lagringsplass. For eksempel kan en systemansvarlig, når vedkommende oppdager at en virtuell maskins volumlagringskapasitet avtar, opprette én eller flere ytterligere, større VHD-filer, ta et øyeblikksbilde av dataene i den virtuelle maskinen og hovedsakelig “revirtualisere” den virtuelle maskinen ved å overføre (f.eks. kopiere) dens øyeblikksbildedata til den eller de nye VHD-filene med bruk av de samme prosesser som allerede beskrevet.
[0034] Følgelig omfatter utførelser av foreliggende oppfinnelse ikke bare “fysisk til virtuell maskin"-omdanninger, men også “virtuell til virtuell maskin"-konverteringer. Spesielt, og i noen tilfeller, kan utførelser av foreliggende oppfinnelse også mer generelt sies å omdanne en “maskin” til en “virtuell maskin”. Nærmere bestemt kan en “maskin” forstås å omfatte både “fysiske” datasystemer (f.eks. en stasjonær skrivebordsdatamaskin med tilhørende maskinvare og operativsystem(er)) og “virtuelle” datasystemer (f.eks. et datasystem installert på en virtuell-maskinvert som ett eller flere unike datasystemer).
[0035] Uansett, ved opprettelse av en virtuell-harddisk-fil 140 vil omdanningsmodulen 130 montere filen 140 som en fysisk disk, slik at filen 140 kan motta dataene for øyeblikksbildet 117 for eksempel gjennom en nettverkskommunikasjon. (En vil forstå at montering ikke engang trenger å være nødvendig i noen utførelser beskrevet her.) Følgelig viser figur 1A også at omdanningsmodulen 130 sender en melding 155 om å montere den virtuelle harddiskfilen 140. I ytterligere eller alternative utførelser kan meldingen 155 omfatte en instruksjon om å montere VHD-filen 140 på hvilken som helst av virtuellmaskin-verten 110, på den fysiske maskinen 105 som omdannes eller hvor som helst der det er nettverkskonnektivitet mellom maskinen der VHD-filen 140 monteres og den fysiske maskinen som blir omdannet (dvs.105 i dette tilfellet).
[0036] En del av monteringen av filen 140 kan omfatte det å knytte filen til én eller flere anordningsidentifikatorer, så som anordningsidentifikatoren til en fysisk disk. For eksempel kan virtuell-maskin-verten 110 bli instruert til å montere den virtuelle harddiskfilen 140 slik at den kan identifiseres gjennom en stasjonsbane så som “\\.\device\Harddisk145\”. Spesielt viser figur 1B at VHD 140 kan identifiseres som “harddiskstasjon 145”. På tilsvarende måte kan omdanningsmodulen 130 også identifisere en anordningsidentifikator (og/eller monteringspunkter, for eksempel) for hvert øyeblikksbilde (f.eks.117). Til syvende og sist kan omdanningsmodulen 130 anvende de identifiserte anordningsidentifikatorene for et hvilket som helst øyeblikksbilde og for hvilke som helst tilhørende VHD-filer for å overføre innhold i øyeblikksbilder.
[0037] Generelt kan omdanningsmodulen 130 overføre innholdet i øyeblikksbildet 117 med bruk av hvilke som helst dataoverføringsmekanismer. I én utførelse kan omdanningsmodulen 130 for eksempel overføre øyeblikksbildet 117 byte for byte til filen 140 gjennom diskstasjonen 145. I ytterligere eller alternative utførelser kan imidlertid omdanningsmodulen 130 overføre øyeblikksbildet 117 til filen 140 ved å identifisere og overføre “byte-blokker”. Generelt omfatter byte-blokker en fast sekvens (med en vilkårlig størrelse) av individuelle bit-oktetter. I minst én utførelse kan det å overføre byte-blokker heller enn individuelle byte dramatisk øke overføringshastigheten for øyeblikksbildet 117 over et nettverk.
[0038] For eksempel kan flere gigabyte med data, som det vanligvis ville ta flere timer å overføre til virtuell-maskin-verten 110 over tradisjonelle nettverksoverføringsprotokoller, i noen tilfeller bli overført på kun noen få minutter med blokkoverføringsmekanismer. Uansett, figur 1B viser at omdanningsmodulen 130 i dette tilfellet overfører byte (eller byte-blokker) “1601”, “1602” etc., og overfører disse direkte til den skrivbare virtuelle harddiskfilen 140 gjennom diskstasjonen 145. Som vist i figur 1B kan den virtuelle harddiskfilen 140 ha alle oppstartsdataene 120, og vil omfatte andre volumdata 127 fanget i øyeblikksbildet 117, når dataoverføringen er fullført.
[0039] Til tross for dataoverføringen vil ikke den virtuelle harddiskfilen 140 nødvendigvis være oppstartbar på virtuell-maskin-verten 110, siden oppstartsdataene og driverne mest sannsynlig ikke vil være anvendelige i konteksten til virtuell-maskinverten 110. Én grunn til dette er at den “virtuelle maskinvaren” som eksisterer i det virtuelle datamaskinmiljøet (og/eller i virtuell-maskin-verten 110) ikke trenger være den samme som maskinvaren i den fysiske maskinen 105. For eksempel kan komponenter som kjernen og maskinvareabstraksjonslaget (HAL – Hardware Abstraction Layer) på den fysiske maskinen 105 for eksempel være basert på et dobbelprosessorsystem. Videre kan virtuell-maskin-verten 110 emulere forskjellige nettverkskort-drivere, prosessorarkitekturer, fysiske disker (f.eks. lagre tilknyttet maskinen), fysisk disk-identifikatorer, operativsystemdrivere og diskdrivere for de virtuelle maskinene, som ellers kanskje ikke er tilgjengelig på kildemaskinen som omdannes (f.eks. den fysiske maskinen 105). Slike forskjellene vil trolig også foreligge ved omdanning av et fysisk diskvolum fra innenfor vertsmaskinen til en virtuell maskin.
[0040] Som følge av dette kan overførte oppstartsdata 120 være basert på operativsystemtrekk på den fysiske maskinen 105 som ikke nødvendigvis er anvendelige i det aktuelle virtualiserte miljøet på virtuell-maskin-verten 110. Disse og andre grunner innebærer at en systemansvarlig kan være nødt til å foreta en rekke forskjellige modifikasjoner, avhengig av det eller de konkrete kjøremiljøene.
Følgelig kan omdanningsmodulen 130 også modifisere den virtuelle harddiskfilen 140 til å bli oppstartbar på virtuell-maskin-verten 110. Dette kan i noen tilfeller omfatte instruksjoner for å oppdatere kjernen og HAL-laget – og andre drivere og registerinnstillinger – for den virtuelle maskinen som skal opprettes, basert på øyeblikksbildedataene.
[0041] Følgelig viser figur 1C for eksempel at omdanningsmodulen 130 også sender en forespørsel 165 og tilhørende argumenter til virtuell-maskin-verten 110 for å modifisere driftsinformasjon. (I noen tilfeller kan disse modifikasjonene av driftsinformasjonen til den virtuelle maskinen (f.eks. oppstartstabellen og registerinformasjonen) også bli gjort på den fysiske maskinen (før den blir overført til en VHD-fil)). I én utførelse kan dette omfatte at omdanningsmodulen 130 undersøker oppstartstabellen i volumøyeblikksbildet 117 og bytter ut tidligere overførte oppstartsdata 120 med ny oppstartsinformasjon (f.eks. modifisert oppstartsinformasjon, eller ny oppstartsinformasjon dannet fra bunn av) basert på den nye diskog volumkonfigurasjonen i den virtuelle maskinen. I et annet trinn kan omdanningsmodulen 130 også undersøke den overførte registerinformasjonen (ikke vist) i volumøyeblikksbildet 117 og oppdatere den overførte registerinformasjonen på passende måte for den virtuelle maskinen 110, basert på den nye maskinvaren og driverne som eksisterer i virtuell-maskin-verten 110.
[0042] Slik oppdatering kan også omfatte endring av systembinærfilene, så som kjerne- og HAL-driverne, fra en flerprosessor til en én-prosessor maskinvarekonfigurasjon. Videre kan en slik oppdatering omfatte tillegging av datamaskin- og stasjonsidentitetsinformasjon som er unik for virtuell-maskin-verten 110, tillegging av eventuelle passende disk- eller fildrivere som er unike for virtuell-maskin-verten 110, og endring av registerinformasjonen for å imøtekomme de aktuelle nettverksdrivere, lagringsdrivere og annet. Oppdateringen kan videre omfatte utskiftning av drivere for fysiske anordninger med drivere for virtuelle anordninger, deaktivering av drivere for maskinvare for hvilken det ikke finnes noen motsvarende virtuell anordning i det virtuelle miljøet, og deaktivering av tjenester og applikasjoner som avhenger av anordninger for hvilke det ikke finnes motsvarende virtuelle anordninger i det virtuelle miljøet.
[0043] Omdanningsmodulen 130 kan videre opprette disse og/eller andre passende konfigurasjonsverdier for den tiltenkte virtuelle maskinen (f.eks.175), slik at den resulterende virtuelle maskinen (f.eks.175) vil kjøre med de samme preferansene (f.eks. minne, CPU, etc.) som den opprinnelige fysiske maskinen 105. På tilsvarende måte kan en administrator for virtuell-maskin-verten 110 også (eller alternativt) modifisere disse preferansene for den resulterende virtuelle maskinen. Videre kan administratoren også bygge opp slik driftsinformasjon (dvs. konfigurasjonsverdier, preferanser, etc.) fra bunn av. Uansett vil en forstå at forskjellige entiteter kan foreta et hvilket som helst antall konfigurasjonsendringer for å sikre at den resulterende virtuelle maskinen er oppstartbar og vil kjøre korrekt der den er installert (f.eks. virtuell-maskin-verten 110).
[0044] Etter at den har modifisert/opprettet oppstartstabellen (dvs. fra 120 til 123), systemregisterinformasjon, driverinformasjon og/eller annen konfigurasjons- eller preferanseinformasjon på passende måte, kan omdanningsmodulen 130 så fjerne monteringen av (dvs. “demontere”) den virtuelle harddiskfilen 140, slik at den ikke lenger er tilgjengelig som en lagringsstasjon. For eksempel viser figur 1C at omdanningsmodulen 130 sender en melding 170 til virtuell-maskin-verten 110 som instruerer virtuell-maskin-verten 110 til å fjerne monteringen av den virtuelle harddiskfilen 140. Etter fjerning av denne monteringen kan én eller flere virtuelle harddiskfiler 140 anvendes som virtuell maskin 175, hvis data er hovedsakelig identiske med dataene i volumet 115 på tidspunktet øyeblikksbildeoperasjonene ble innledet.
[0045] Spesielt er dataene i volumet/volumene som administreres av den nye virtuelle maskinen 175, konsistente i enhver aktuell henseende (f.eks. applikasjonskonsistente, filsystem-konsistente og/eller sammenbruddskonsistente, etc.) Som følge av dette vil en tidligere bruker av den fysiske maskinen 105 nå være i stand til å starte opp den virtuelle maskinen 175 på virtuell-maskin-verten 110 og anvende den virtuelle maskinen (omfattende å aksessere tildligere data) akkurat som om (eller mer optimalt enn om) brukeren anvendte den fysiske maskinen 105. Videre vil en forstå at VHD-filene i alminnelighet kan være flyttbare. For eksempel kan sluttbrukeren overføre den virtuelle maskinen 175 til et hvilket som helst ønsket sted (dvs. en annen vertsmaskin), i minst én utførelse kun ved å overføre filen(e) (f.eks. VHD-fil(er), etc.) for den virtuelle maskinen 175 til det ønskede stedet og utføre eventuelle nødvendig oppdateringer av driftsinformasjonen.
[0046] I en annen utførelse kan den ene eller de flere VHD-filene (f.eks.140) også bli opprettet på den fysiske maskinen 105 selv, og så sendt/overført til den aktuelle vertsmaskinen (f.eks.110). For eksempel kan en bruker av den fysiske maskinen 105 opprette en VHD-fil (f.eks.140) på den fysiske maskinen og overføre øyeblikksbilde-innholdet til VHD-filen for de ønskede dataene på den fysiske maskinen. Dette er i hvert fall én måte brukeren kan unngå å måtte montere VHD-filen (dvs. på virtuell-maskin-verten 110), om ønsket. I alle tilfelle kan brukeren så sende/overføre VHD-filen og tilhørende øyeblikksbilde-innhold til et passende mål (f.eks. virtuell-maskin-verten 110), og endre tilhørende driftsinformasjon på målet. Alternativt kan brukeren også endre driftsinformasjon for VHD-filen og øyeblikksbilde-innhold på kilden (f.eks. den fysiske maskinen 105) før han eller hun sender VHD-filen og øyeblikksbilde-innholdet videre til det nye målet.
[0047] I noen tilfeller, heller enn å opprette en VHD-“fil” kan en modul (f.eks. omdanningsmodulen 130) være innrettet for å streame fra minnet øyeblikksbildedataene og VHD-metadataene opprettet på den fysiske maskinen 105 i andeler (f.eks. byte-blokker) som gir en effektiv transport. Dataene som skal streames kan også være formatert i et VHD-format i henhold til passende VHD-format/innholdsspesifikasjoner. Etter å ha blitt overført til målet (f.eks. virtuellmaskin-verten 110) kan således datastrømmen bli lagret som en VHD-fil, siden de streamede dataene ble generert i VHD-format. Dette er en annen måte å unngå montering av VHD-filen.
[0048] Figurene 1A-1C illustrerer et antall oversiktsskisser og komponenter som kan anvendes i utførelser av foreliggende oppfinnelse for å opprette et øyeblikksbilde av data på en fysisk maskins lagringsvolum og opprette en ny virtuell maskin fra disse dataene. I tillegg til det ovennevnte kan utførelser av foreliggende oppfinnelse også beskrives med hensyn til flytdiagrammer av fremgangsmåter som omfatter ett eller flere trinn for å oppnå et gitt resultat. For eksempel illustrerer figur 2 flytdiagrammer av fremgangsmåter sett fra den fysiske maskinen 105 og virtuell-maskin-verten 110 for å omdanne en maskin, for eksempel en fysisk maskin eller en annen virtuell maskin, til en virtuell maskin. Fremgangsmåtene i figur 2 er beskrevet nedenfor med hensyn til komponentene i innretningene i figurene 1A til 1C.
[0049] For eksempel viser figur 2 at en fremgangsmåte, sett fra den fysiske maskinen 105, for å omdanne en fysisk maskin til en virtuell maskin på en virtuellmaskin-vert uten å kreve betydelig nedetid for det ene eller de flere fysiske lagringsvolumene kan omfatte et trinn 200 med å identifisere maskinvarekonfigurasjoner i den fysiske maskinen. Trinn 200 omfatter det å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere lagringsvolumer på en maskin. For eksempel viser figur 1A omdanningsmodulen 130, som kan identifisere konfigurasjonsinnstillinger for maskinvare (og/eller programvare) på volumet 115 før den innleder øyeblikksbildeprosessene. Dette kan omfatte det å identifisere oppstartstabellen 120 og volumdata 125 som de eksisterer på den fysiske maskinen 105 på volumet 115, og kan videre omfatte det å identifisere om dataene er innrettet for et flerprosessormiljø, inkompatibiliteter i operativsystemstøttede filer, om det er lagrings- og nettverksdrivere som må betraktes, og annet.
[0050] Figur 2 viser videre at fremgangsmåten, sett fra den fysiske maskinen 105, kan omfatte et trinn 210 med å generere et øyeblikksbilde av det ene eller de flere lagringsvolumene. Trinn 210 omfatter det å generere ett eller flere konsistente øyeblikksbilder svarende til det ene eller de flere lagringsvolumene. For eksempel viser figur 1A at omdanningsmodulen 130 genererer øyeblikksbildet 117 av volumet 115, som omfatter den samme oppstartstabellen 120 som før samt volumdata 127. I minst én utførelse kan omdanningsmodulen 130 anrope skriverinvolverte øyeblikksbildeprosesser på volumet 115 dersom slike er tilgjengelige, eller bare simpelthen lukke applikasjoner (eller andre skriveprosesser) dersom slike skrivere ikke er tilgjengelige. Som følge av dette kan en sikre at data i øyeblikksbildet 117 er konsistente (f.eks. applikasjonskonsistente) for et gitt tidspunkt etter øyeblikksbildeprosessene.
[0051] Figur 2 viser også at fremgangsmåten, sett fra den fysiske maskinen 105, kan omfatte et trinn 220 med å sende øyeblikksbildet/-bildene til en montert virtuell diskfil. Trinn 220 omfatter det å sende det ene eller de flere konsistente øyeblikksbildene til en montert virtuell-harddisk-fil. For eksempel henter omdanningsmodulen 130 frem anordningsidentifikatorer for hvert øyeblikksbilde tatt på den fysiske maskinen 105, og henter videre frem eventuelle anordningsidentifikatorer for hver virtuelle harddiskfil montert på virtuell-maskin-verten 110. Etter fremhenting av passende anordningsidentifikatorer viser figur 1B at omdanningsmodulen 130 kan overføre volumdata 127 for øyeblikksbildet 117 til den virtuelle harddiskfilen 140, for eksempel med bruk av byte-baserte (eller byteblokk-baserte) overførings-/kopieringsmekanismer.
[0052] Figur 2 viser videre at fremgangsmåten, sett fra den fysiske maskinen 105, kan omfatte et trinn 230 med å sende oppstartstabellen(e) til den monterte virtuelle diskfilen. Trinn 230 omfatter det å sende en oppstartstabell for det ene eller de flere konsistente øyeblikksbildene til den monterte virtuelle harddiskfilen, slik at oppstartstabellen for det ene eller de flere konsistente øyeblikksbildene kan bli modifisert på virtuell-maskin-verten. For eksempel viser figur 1B at omdanningsmodulen 130 også sender oppstartsdata 120 til den virtuelle harddiskfilen 140. Figur 1C viser også at omdanningsmodulen 130 kan sende en melding 165 for å modifisere oppstartstabellen 120 til tabellen 123, slik at oppstartstabellen 123 er konsistent for kjøremiljøet i virtuell-maskin-verten 110. I én utførelse kan den nye oppstartstabellen for den nye, virtuelle maskinen også bli generert fra bunn av heller enn bare sendt og modifisert.
[0053] I tillegg til det foregående viser figur 2 at en fremgangsmåte, sett fra virtuellmaskin-verten 110, for å omdanne en maskin (dvs. fysisk maskin eller foregående virtuell maskin) til en virtuell maskin på en virtuell-maskin-vert uten å kreve betydelig nedetid på det ene eller de flere lagringsvolumene kan omfatte et trinn 240 med å opprette en virtuell-harddisk-fil. Trinn 240 omfatter det å opprette en virtuell-harddisk-fil med en filstørrelse. For eksempel viser figur 1A at virtuellmaskin-verten 110 mottar en melding 150 som instruerer virtuell-maskin-verten 110 til å opprette en skrivbar virtuell-harddisk-fil, samt en instruksjon om å gjøre den nye virtuelle harddiskfilen skrivbar. Som reaksjon oppretter virtuell-maskinverten 110 den virtuelle harddiskfilen 140 og gjør den skrivbar. Som nevnt tidligere kan den virtuelle harddiskfilens størrelse her være enten statisk eller dynamisk. For eksempel kan den virtuelle harddiskfilen 140 være satt til 100 gigabyte for å imøtekomme 50 gigabyte data fra volumet 115. Alternativt kan omdanningsmodulen 130 sette den virtuelle harddiskfilen 140 til å vokse dynamisk med ytterligere dataoverføringer.
[0054] Figur 2 viser også at fremgangsmåten, sett fra virtuell-maskin-verten 110, kan omfatte et trinn 250 med å montere den virtuelle harddiskfilen. Trinn 250 omfatter det å montere den virtuelle harddiskfilen på en virtuell-maskin-vert, slik at den virtuelle harddiskfilen fremstår som en tilgjengelig fysisk disk. For eksempel viser figur 1A at virtuell-maskin-verten 110 mottar en forespørsel 155 om å montere den virtuelle harddiskfilen 140. I én utførelse kan virtuell-maskin-verten 110 bli instruert til å knytte en fil 140 til en gitt anordningsidentifikator, og så montere denne identifikatoren som en fysisk anordning. Den virtuelle harddiskfilen 140 kan da vises og aksesseres som en diskanordning 145.
[0055] Videre kan fremgangsmåten, sett fra virtuell-maskin-verten 110, omfatte et trinn 260 med å motta ett eller flere øyeblikksbilder. Trinn 260 omfatter det å motta data for ett eller flere konsistente øyeblikksbilder svarende til ett eller flere fysiske lagringsvolumer. For eksempel, som vist i figur 1B, kan virtuell-maskin-verten 110 motta volumdata 127 og oppstartsdata 120 over en hvilken som helst passende overføringsmekanisme (dvs. byte-basert, eller byteblokk-basert, etc. på en hvilken som helst nettverksoverføringsprotokoll).
[0056] Videre viser figur 2 at fremgangsmåten, sett fra virtuell-maskin-verten 110, kan omfatte et trinn 270 med å modifisere oppstartstabellen. Trinn 270 omfatter det å modifisere driftsinformasjon for det ene eller de flere konsistente øyeblikksbildene, slik at det ene eller de flere konsistente øyeblikksbildene er anvendelige for et operativsystem på virtuell-maskin-verten. Som vist i figur 1C mottar for eksempel virtuell-maskin-verten 110 en melding 165 for å modifisere driftsinformasjon. For eksempel kan meldingen 165 omfatte én eller flere forespørseler om å identifisere passende kriterier for virtuell-maskin-verten 110 og endre oppstartsdata 120 til oppstartsdata 123 på passende måte. Meldingen 165 (eller en annen melding – ikke vist) kan også omfatte én eller flere forespørseler om å endre register- og eller kjørepreferanseinformasjon.
[0057] Endringer av driftsmessig karakter kan for eksempel omfatte forskjellige maskinvare- og operativsystemkonfigurasjoner (f.eks. antall prosessorer, maskinvaredrivere, diskdrivere/-identifikatorer og lagringsdrivere/-identifikatorer, nettverksdrivere, etc.) Slike endringer vil kunne måtte betraktes for å sikre at det nye operativsystemet i den virtuelle maskinen er kompatibelt og fungerer korrekt for det virtuelle miljøet. Endringer av driftsmessig karakter kan videre omfatte forskjellige registermanipulasjoner, så som bruk av drivere og annen maskinvare, identiteten til drivere som erstattes og/eller registreres i binærfilene, oppdateringer av kjerne- og/eller HAL-informasjon, og annet. Endringer av driftsmessig karakter kan enda videre omfatte forskjellige konfigurasjonspreferanser for den virtuelle maskinen, så som de for minne- og/eller CPU-krav.
[0058] Videre viser figur 2 at fremgangsmåten, sett fra virtuell-maskin-verten 110, kan omfatte et trinn 280 med å fjerne monteringen av den virtuelle harddiskfilen. Trinn 280 omfatter det å fjerne monteringen av harddiskfilen slik at den virtuelle harddiskfilen ikke lenger er tilgjengelig som en fysisk disk. For eksempel mottar virtuell-maskin-verten 110 en melding 170 som beordrer virtuell-maskin-verten 110 til å fjerne monteringen av den virtuelle harddiskfilen 140. Virtuell-maskin-verten 110 kan da demontere den virtuelle harddiskfilen, slik at filen 140 ikke lenger er tilgjengelig lokalt eller over et nettverk som en vertsnivå diskstasjon. Som følge av dette kan den virtuelle diskfilen 140 bli startet opp som virtuell maskin 175, som inneholder data som er konsistente for ett enkelt tidspunkt, klar til å kjøre på virtuell-maskin-verten 110. Spesielt, og sett fra en sluttbrukers perspektiv, er den virtuelle maskinen 175– for praktisk talt alle hensikter og formål – en hovedsakelig identisk form (dvs. de samme dataene, eller én eller flere delmengder av disse) av den fysiske maskinen 105 før øyeblikksbildeoperasjoner.
[0059] Figurene 1A-1C og 2 viser således et antall komponenter og mekanismer for effektiv omdanning av en maskin (f.eks. en fysisk maskin eller foregående virtuell maskin) til en virtuell maskin. Spesielt angir figurene og den tilhørende teksten hvordan utførelser av foreliggende oppfinnelse kan realiseres i minst én henseende, uten nødvendigvis å gjenstarte en maskin som omdannes, og/eller uten at en nødvendigvis må gjenstarte i et ADS- eller PXE-miljø. Følgelig gjør de ovenfor angitte komponenter og mekanismer det mulig å danne fysiske maskiner forholdsvis raskt, for eksempel med tradisjonelle disk- og nettverksoverføringshastigheter.
[0060] Som nevnt over vil en forstå at utførelser av foreliggende oppfinnelse kan varieres og modifiseres for en lang rekke optimeringer og en lang rekke maskinvare- og operativsystemmiljøer. For eksempel kan utførelser av foreliggende oppfinnelse enkelt anvendes for å omdanne en hvilken som helst type maskin til en ny virtuell maskin. I tilfellet med en allerede virtuell maskin kan en bruker for eksempel ønske å skape mer lagringsplass for en virtuell maskin hvis lagringsvolumer allerede kan være maksimert. Følgelig kan brukeren opprette én eller flere VHD-filer som er større enn de foregående VHD-filene i en allerede virtuell maskin, ta et øyeblikksbilde av dataene i den virtuelle maskinen og overføre øyeblikksbildedataene for den virtuelle maskinen til de større VHD-filene. Enda videre kan omdanningsprosessene beskrevet her deles ytterligere opp i flere uavhengige trinn andre enn de beskrevet eksplisitt. Dersom for eksempel en bruker har en måte å overføre et lagringsvolumbilde til en målmaskin, kan brukeren bare anrope en oppfiksingsoperasjon for å “virtualisere” bildet, eller liknende, slik at bildet er oppstartbart på målmaskinen.
[0061] I tillegg til det foregående vil en lett se at utførelser av foreliggende oppfinnelse også kan anvendes på en rekke ulike diskutførelser. For eksempel kan den eller de fysiske diskene der volumet 115 er installert være hvilke som helst én eller flere av en grunnleggende eller dynamisk disk i et operativsystem, og kan videre ha flere forskjellige partisjoner og/eller lagringsvolumer. Ikke desto mindre kan fremgangsmåtene, komponentene og mekanismene beskrevet her anvendes med slike variasjoner i den virtuelle maskinen akkurat som de ble i den foregående maskinen (f.eks. en fysisk maskin eller en allerede virtuell maskin). Spesielt kan trekk ved en fysisk dynamisk eller grunnleggende disk bli overført til virtuellmaskin-verten slik at den nye virtuelle maskinen vil oppføre seg akkurat som den gjorde før med de grunnleggende eller dynamiske diskegenskapene. Følgelig kan komponentene, modulene og mekanismene beskrevet her anvendes generelt for å sikre en sømløs overgang fra en eksisterende maskin til en ny virtualisert form av den eksiterende maskinen.
[0062] Utførelsesformene av foreliggende oppfinnelse kan omfatte en spesialisert eller generell datamaskin som omfatter forskjellig maskinvare, som beskrevet nærmere nedenfor. Utførelsesformer innenfor rammen til foreliggende oppfinnelse omfatter også datamaskinlesbare medier for å føre eller lagre datamaskineksekverbare instruksjoner eller datastrukturer. Slike datamaskinlesbare medier kan være hvilke som helst tilgjengelige medier som kan aksesseres av en generell eller spesialisert datamaskin.
[0063] Som et eksempel, og ikke en begrensning kan slike datamaskinlesbare medier omfatte RAM, ROM, EEPROM, CD-ROM eller andre optiske platelagre, magnetplatelagre eller andre magnetiske lagringsanordninger, eller et hvilket som helst annet medium som kan anvendes for å føre eller lagre ønskede programkodeinnretninger i form av datamaskin-eksekverbare instruksjoner eller datastrukturer og som kan aksesseres av en generell eller spesialisert datamaskin. Når informasjon blir overført eller forsynt over et nettverk eller en annen kommunikasjonsforbindelse (enten kabelbasert, trådløs eller en kombinasjon av kabelbasert og trådløs) til en datamaskin, betrakter datamaskinen forbindelsen på passende måte som et datamaskinlesbart medium. Følgelig kan en hvilken som helst slik forbindelse korrekt kalles et datamaskinlesbart medium. Enhver kombinasjon av det ovennevnte skal også være omfattet innenfor rammen av datamaskinlesbare medier.
[0064] Datamaskin-eksekverbare instruksjoner omfatter for eksempel instruksjoner og data som får en generell datamaskin, spesialisert datamaskin eller spesialisert prosesseringsanordning til å utføre en bestemt funksjon eller gruppe av funksjoner. Selv om oppfinnelsen er beskrevet med en ordlyd som er spesifikk for oppbygningsmessige trekk og/eller fremgangsmåtetrinn, må det forstås at oppfinnelsen definert i de vedføyde kravene ikke nødvendigvis er begrenset til de konkrete trekkene eller trinnene beskrevet over. Tvert imot er de konkrete trekkene og trinnene beskrevet over ment som eksempler på hvordan kravene kan realiseres.
[0065] Foreliggende oppfinnelse kan realiseres i andre spesifikke former uten å fjerne seg fra sin ramme eller sine grunnleggende trekk. De beskrevne utførelsesformene skal i alle henseende kun betraktes som en illustrasjon og ikke en begrensning. Oppfinnelsens ramme er derfor angitt av de vedføyde kravene heller enn av den foregående beskrivelsen. Alle endringer som faller innenfor kravenes betydning og ekvivalensramme skal være omfattet innenfor kravenes ramme.

Claims (15)

PATENTKRAV
1. Fremgangsmåte for å lage en virtuell maskin (175) i en virtuell maskin-vert (110), hvilken virtuelle maskin-vert er inkludert i et datastyrt miljø i en maskin (105), hvilken maskin omfatter én eller flere volumer (115), nevnte metode for å opprette en virtuell maskin (175) i den virtuelle maskin-verten omfatter handlingene:
å identifisere (200) én eller flere maskinvarekonfigurasjonsinnstillinger for ett eller flere volumer i maskinen, inkludert å identifisere en oppstartssektor (120) og volumdata (125) på ett eller flere maskinvolumer (115);
å opprette (210) ett eller flere konsistente øyeblikksbilder (117) som svarer til volumdataene og oppstartssektoren (125) på det ene eller de flere maskinvolumene (115), hvor det ene eller de flere konsistente øyeblikksbildene omfatter volumdata (127) og en oppstartssektor som respektivt samsvarer med volumdataene og oppstartssektoren på det ene eller de flere maskinvolumene, og hvor oppstartssektoren som er omfattet av det ene eller de flere konsistente øyeblikksbildene kan modifiseres i den virtuelle maskin-verten;
å sende én eller flere instruksjoner til den virtuelle maskin-verten for å lage en virtuell harddisk fil (140);
å sende en instruksjon (150) til den virtuelle maskin-verten for å gjøre den virtuelle harddisk filen skrivbar;
å sende én eller flere instruksjoner (155) til den virtuelle maskin-verten for å montere den opprettede virtuelle harddisk filen;
å overføre (220) det ene eller de flere konsekvente øyeblikksbildene til den monterte virtuelle harddisk filen; og
å sende en instruksjon (165) for å modifisere operativ informasjon for det ene eller de flere konsekvente øyeblikksbildene, slik at det ene eller de flere konsekvente øyeblikksbildene er oppstartbare i den virtuelle maskin-verten, hvor modifikasjonen omfatter å modifisere minst oppstartssektoren som er omfattet av det ene eller de flere øyeblikksbildene.
2. Fremgangsmåte ifølge krav 1, hvor minst ett av det ene eller de flere konsistente øyeblikksbildene overføres til den virtuelle maskin-verten ved å overføre det minst ene øyeblikksbildet som et sett av én eller flere byteblokker (160).
3. Fremgangsmåte ifølge krav 1, hvor maskinen er en fysisk maskin, og den fysiske maskinen og den virtuelle maskin-verten er det samme datasystemet, slik at det ene eller de flere volumer til den fysiske maskinen overføres til en annen disk-enhet i den fysiske maskinen i samme datasystem, og / eller hvor det ene eller de flere maskinvolumene omfatter et antall maskinvolumer installert på en fysisk disk.
4. Fremgangsmåte ifølge krav 1, hvor handlingen med å opprette det ene eller de flere konsekvente øyeblikksbildene videre omfatter handlingene:
å identifisere brukt plass og ledig plass på det ene eller de flere maskinvolumene;
å identifisere én eller flere filer på den brukte plassen som skal unngås under øyeblikksbilde- eller kopieringsoperasjoner, den ene eller de flere filene som skal unngås, inkluderer én eller flere av en diff-område-fil, en side-fil, en skadet klynge, en dvalemodus; og
å kopiere dataene fra det ene eller de flere maskinvolumene til én eller flere virtuelle harddisk filer, slik at de kopierte dataene bare inneholder en av:
(I) den identifisert brukte plassen; eller
(Ii) den identifiserte brukte plassen uten den ene eller de flere filene som skal unngås.
5. Fremgangsmåte ifølge krav 1, hvor handlingen med å identifisere én eller flere maskinvarekonfigurasjonsinnstillinger videre omfatter handlingene:
å identifisere én eller flere applikasjoner på den ene eller de flere volumene som er konfigurert for skribent-involverte øyeblikksbilder, og å sende en instruksjon til hvert identifisert program for å starte prosessen med skribentinvolverte øyeblikksbilder; og
identifisere én eller flere applikasjoner som ikke er konfigurert for skribentinvolverte øyeblikksbilder, og å lukke hver av de identifiserte av den ene eller de flere applikasjoner som ikke er konfigurert for skribent-involverte prosesser.
6. Fremgangsmåte ifølge krav 1, hvor den opprettede virtuelle harddisk filen er dynamisk størrelses anordnet, slik at størrelsen på den virtuelle harddisk filen kan endres over tid.
7. Fremgangsmåte ifølge krav 6, omfattende: å identifisere en enhetsidentifikator for den monterte virtuelle harddisk filen; og
å identifisere én eller flere enhetsidentifikatorer for det ene eller de flere konsekvente øyeblikksbildene.
8. Fremgangsmåte ifølge krav 1, omfattende: å identifisere én eller flere systemverdier til den virtuelle maskin-verten, hvor sending av en instruksjon for å modifisere operativ informasjon for det ene eller de flere konsistente øyeblikksbildene omfatter å sende en instruksjon for å modifisere operativ informasjon i samsvar med den identifiserte ene eller de flere systemverdiene, og hvor instruksjonen for å endre operativ informasjon inkluderer en instruksjon for å endre én eller flere av:
(I) oppstart sektoren;
(Ii) systemregisterinformasjon;
(Iii) én eller flere drivere;
(Iv) binære operativsystem deler;
(V) binære kjerne deler; eller
(Vi) én eller flere konfigurasjonsinnstillinger for den virtuelle maskinen.
9. Fremgangsmåte ifølge krav 8, hvor instruksjonen for å modifisere operativ informasjon inkluderer én eller flere av:
én eller flere instruksjoner for å erstatte drivere for én eller flere fysiske enheter med drivere for én eller flere virtuelle enheter;
én eller flere instruksjoner for å deaktivere enhetsdrivere for maskinvare der det ikke er noen tilsvarende virtuell enhet i det virtuelle miljøet; eller
én eller flere instruksjoner for å deaktivere én eller flere tjenester som er avhengige av én eller flere enheter som ikke finnes på den virtuelle maskin-verten.
10. Fremgangsmåte ifølge krav 8, videre omfattende en handling for å sende én eller flere instruksjoner (170) til den virtuelle maskinverten for å fjerne monteringen av den virtuelle harddisk filen, slik at den virtuelle harddisk filen ikke kan være tilgjengelig som en fysisk disk.
11. Fremgangsmåte for å lage en virtuell maskin på en virtuell maskin-vert (110) i et datastyrt miljø, idet den virtuelle maskin-verten er konfigurert til å være vert for én eller flere virtuelle maskiner som inkluderer ett eller flere volumer, idet fremgangsmåten for å skape en virtuell maskin i nevnte virtuelle maskin-vert omfatter handlingene:
å opprette (240) en virtuell harddisk fil med en filstørrelse (140);
å montere (250) den virtuelle harddisk filen på den virtuelle maskin-verten slik at den virtuelle harddisk filen vises som en tilgjengelig fysisk disk; å motta (260) ett eller flere konsistente øyeblikksbilder (117) som tilsvarer ett eller flere fysiske maskinvolumer (115), hvor det ene eller de flere konsistente øyeblikksbildene omfatter volumdata (127) og en oppstartssektor henholdsvis tilsvarende volumdata og en oppstartssektor på det ene eller de flere fysiske maskinvolumene, og hvor oppstartssektoren som omfattes av det ene eller de flere konsekvente øyeblikksbildene, kan modifiseres i den virtuelle maskin-verten;
å lagre ett eller flere konsekvent øyeblikksbilder på den virtuelle harddisk filen;
å modifisere (270) operativ informasjon for det ene eller de flere konsekvente øyeblikksbildene, slik at det ene eller de flere konsekvente øyeblikksbildene kan startes på den virtuelle maskinverten, hvor modifikasjonen omfatter å modifisere minst oppstartssektoren.
12. Fremgangsmåte ifølge krav 11, videre omfattende handlingene: å motta data for det ene eller de flere konsekvente øyeblikksbildene på et byte blokk-nivå; og å fjerne (280) monteringen av den virtuelle harddisk filen, slik at den virtuelle harddisk filen ikke er tilgjengelig som en fysisk disk.
13. Fremgangsmåte ifølge krav 11, videre omfattende handlingene: å motta en instruksjon for å gjøre den opprettede virtuelle harddiskfilen skrivbar; og
å sende en enhetsidentifikator for den monterte virtuelle harddiskfilen til et fysisk datasystem.
14. Fremgangsmåte ifølge krav 11, videre omfattende en handling for rapportering av én eller flere systemverdier til et fysisk datasystem, hvor den ene eller de flere systemverdiene brukes til å modifisere operasjonsinformasjonen for den ene eller de flere konsistente øyeblikksbildene, og hvor modifikasjonen av operasjonsinformasjonen omfatter å modifisere én eller flere av oppstartssektorene; systemregister informasjon; én eller flere drivere; binære operativsystem deler; binære kjerne deler eller én eller flere konfigurasjonsinnstillinger for den virtuelle maskinen.
15. Dataprogramprodukt som har datamaskin-eksekveringsbar kode lagret derpå, som når den utføres, forårsaker at én eller flere prosessorer i en maskin i et datastyrt miljø som inkluderer en virtuell maskin-vert konfigurert til å være vert for én eller flere virtuelle maskiner, hvor maskinen omfatter ett eller flere volumer, for å utføre fremgangsmåten ifølge et hvilket som helst av kravene 1 til 10.
NO20084228A 2006-05-08 2008-10-09 Å omdanne maskiner til virtuelle maskiner NO342885B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/430,676 US7653794B2 (en) 2006-05-08 2006-05-08 Converting physical machines to virtual machines
PCT/US2007/006021 WO2007130209A1 (en) 2006-05-08 2007-03-08 Converting machines to virtual machines

Publications (2)

Publication Number Publication Date
NO20084228L NO20084228L (no) 2008-10-22
NO342885B1 true NO342885B1 (no) 2018-08-20

Family

ID=38662463

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20084228A NO342885B1 (no) 2006-05-08 2008-10-09 Å omdanne maskiner til virtuelle maskiner

Country Status (18)

Country Link
US (1) US7653794B2 (no)
EP (1) EP2021939B1 (no)
JP (2) JP5026509B2 (no)
KR (2) KR101465928B1 (no)
CN (2) CN101443748B (no)
AU (1) AU2007248886B2 (no)
BR (1) BRPI0711336A8 (no)
CA (1) CA2648761C (no)
ES (1) ES2632512T3 (no)
HK (1) HK1172718A1 (no)
IL (2) IL194679A (no)
MX (1) MX2008014244A (no)
MY (1) MY149997A (no)
NO (1) NO342885B1 (no)
RU (2) RU2446450C2 (no)
TW (2) TWI428830B (no)
WO (1) WO2007130209A1 (no)
ZA (1) ZA200808579B (no)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US8347063B2 (en) * 2005-08-19 2013-01-01 Intel Corporation Method and system for device address translation for virtualization
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7617373B2 (en) * 2006-05-23 2009-11-10 International Business Machines Corporation Apparatus, system, and method for presenting a storage volume as a virtual volume
US8429712B2 (en) * 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7689859B2 (en) * 2006-12-20 2010-03-30 Symantec Operating Corporation Backup system and method
US8656386B1 (en) * 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
US20100107163A1 (en) * 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
US20080235361A1 (en) * 2007-03-21 2008-09-25 David Crosbie Management layer method and apparatus for dynamic assignment of users to computer resources
US8566502B2 (en) * 2008-05-29 2013-10-22 Vmware, Inc. Offloading storage operations to storage hardware using a switch
US8239646B2 (en) 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US8245217B2 (en) 2007-10-12 2012-08-14 Microsoft Corporation Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US7865711B2 (en) * 2007-12-03 2011-01-04 Microsoft Corporation Efficient method for operating system deployment
US8181174B2 (en) * 2007-12-28 2012-05-15 Accenture Global Services Limited Virtual machine configuration system
US20090217296A1 (en) * 2008-02-26 2009-08-27 Alexander Gebhart Benefit analysis of implementing virtual machines
US8560593B2 (en) 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment
US8365167B2 (en) * 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US8364983B2 (en) * 2008-05-08 2013-01-29 Microsoft Corporation Corralling virtual machines with encryption keys
US8745336B2 (en) * 2008-05-29 2014-06-03 Vmware, Inc. Offloading storage operations to storage hardware
US8266099B2 (en) * 2008-05-29 2012-09-11 Vmware, Inc. Offloading storage operations to storage hardware using a third party server
US20090328030A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Installing a management agent with a virtual machine
US20100042719A1 (en) * 2008-08-12 2010-02-18 Junji Kinoshita Content access to virtual machine resource
US8150801B2 (en) * 2008-08-20 2012-04-03 Microsoft Corporation Recovery of a computer that includes virtual disks
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8572608B2 (en) * 2008-10-22 2013-10-29 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
CN101408856A (zh) * 2008-11-21 2009-04-15 清华大学 一种用于容灾备份的***和方法
US9454368B2 (en) 2009-01-21 2016-09-27 Vmware, Inc. Data mover permitting data transfer without transferring data between application and operating system
JP5166307B2 (ja) * 2009-01-30 2013-03-21 株式会社立花エレテック 接続機器利用システムおよびその方法
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US20110010710A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Image Transfer Between Processing Devices
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US9043454B2 (en) * 2009-08-26 2015-05-26 Red Hat Israel, Ltd. Auto suspense of virtual machine on client disconnection
US8589913B2 (en) * 2009-10-14 2013-11-19 Vmware, Inc. Tracking block-level writes
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8856080B2 (en) 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US9106591B2 (en) * 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US9262306B2 (en) * 2010-01-27 2016-02-16 Hewlett Packard Enterprise Development Lp Software application testing
US8751780B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Fast machine booting through streaming storage
US8751738B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Background migration of virtual storage
US8204860B1 (en) * 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
JP5636695B2 (ja) * 2010-03-02 2014-12-10 日本電気株式会社 フォールトトレラントシステム及び仮想マシン構築方法
KR20110106716A (ko) 2010-03-23 2011-09-29 삼성전자주식회사 프로그램 컴파일러, 설치 장치, 및 설치 방법
US8775781B2 (en) 2010-03-25 2014-07-08 Microsoft Corporation Intelligent boot device selection and recovery
CN102214126A (zh) * 2010-04-02 2011-10-12 英业达股份有限公司 卷影复制服务的供应程序的对象的创建方法
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
US9767274B2 (en) * 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US20120054742A1 (en) * 2010-09-01 2012-03-01 Microsoft Corporation State Separation Of User Data From Operating System In A Pooled VM Environment
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8694745B2 (en) * 2010-09-15 2014-04-08 Symantec Corporation Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors
JP2012068790A (ja) 2010-09-22 2012-04-05 Internatl Business Mach Corp <Ibm> Osのイメージの選択装置、選択方法、及び選択プログラム
JP5492731B2 (ja) 2010-10-06 2014-05-14 株式会社日立製作所 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US9069620B2 (en) 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
US9092149B2 (en) 2010-11-03 2015-07-28 Microsoft Technology Licensing, Llc Virtualization and offload reads and writes
WO2012063311A1 (ja) * 2010-11-08 2012-05-18 株式会社日立製作所 計算機の制御方法、計算機システム及び記憶媒体
WO2012069297A1 (en) 2010-11-23 2012-05-31 International Business Machines Corporation Direct migration of software images with streaming technique
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
US8495352B2 (en) 2010-12-08 2013-07-23 International Business Machines Corporation System and method for instantiation of distributed applications from disk snapshots
CN103250163B (zh) 2010-12-09 2016-08-10 国际商业机器公司 用于加密和解密虚拟盘的计算机可读存储介质
DE112011104356B4 (de) 2010-12-13 2014-05-15 International Business Machines Corporation Aktualisieren von Software-Images auf der Grundlage von Streaming-Technik
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
JP5672075B2 (ja) * 2011-03-03 2015-02-18 日本電気株式会社 計算機システム、仮想環境マイグレーション方法および仮想環境マイグレーションプログラム
US9146765B2 (en) 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
US8725782B2 (en) 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9519496B2 (en) 2011-04-26 2016-12-13 Microsoft Technology Licensing, Llc Detecting and preventing virtual disk storage linkage faults
US9069467B2 (en) * 2011-06-01 2015-06-30 Microsoft Technology Licensing, Llc Isolation of virtual machine I/O in multi-disk hosts
US20130007726A1 (en) * 2011-06-30 2013-01-03 Indrajit Poddar Virtual machine disk image installation
KR101493827B1 (ko) * 2011-07-04 2015-02-17 주식회사 케이티 물리서버를 가상 서버로 마이그레이션하는 장치 및 그 방법
DE102011107169A1 (de) * 2011-07-13 2013-01-17 Kuka Roboter Gmbh Steuerung eines Roboter
US9158561B2 (en) * 2011-08-18 2015-10-13 Vmware, Inc. Systems and methods for modifying an operating system for a virtual machine
US8595460B2 (en) 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
CN102323943A (zh) * 2011-09-02 2012-01-18 北京天地云箱科技有限公司 基于虚拟机的数据存储方法及***
US20130066838A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Efficient data recovery
EP2570920A1 (en) * 2011-09-16 2013-03-20 France Télécom System and method for cross-platform application execution and display
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9009318B2 (en) * 2011-11-03 2015-04-14 Microsoft Corporation Offline resource allocation algorithms
US9817582B2 (en) 2012-01-09 2017-11-14 Microsoft Technology Licensing, Llc Offload read and write offload provider
JP5684170B2 (ja) * 2012-02-28 2015-03-11 株式会社東芝 情報処理装置、クライアント管理システムおよびクライアント管理方法
US9055067B1 (en) * 2012-03-26 2015-06-09 Amazon Technologies, Inc. Flexible-location reservations and pricing for network-accessible resource capacity
TWI456944B (zh) * 2012-05-02 2014-10-11 Quanta Comp Inc 管理方法及其系統
US9740500B2 (en) 2012-08-30 2017-08-22 Microsoft Technology Licensing, Llc Layout system for operating systems using BPRAM
US9952879B2 (en) 2012-08-30 2018-04-24 Microsoft Technology Licensing, Llc Application pre-layout in byte-addressable persistent random access memory
US9778860B2 (en) 2012-09-12 2017-10-03 Microsoft Technology Licensing, Llc Re-TRIM of free space within VHDX
US8788461B2 (en) 2012-10-04 2014-07-22 Delphix Corp. Creating validated database snapshots for provisioning virtual databases
US9071585B2 (en) 2012-12-12 2015-06-30 Microsoft Technology Licensing, Llc Copy offload for disparate offload providers
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9378035B2 (en) 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US9703584B2 (en) 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US10025674B2 (en) * 2013-06-07 2018-07-17 Microsoft Technology Licensing, Llc Framework for running untrusted code
US9383986B2 (en) 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9841983B2 (en) * 2013-06-28 2017-12-12 Vmware, Inc. Single click host maintenance
US9262448B2 (en) * 2013-08-12 2016-02-16 International Business Machines Corporation Data backup across physical and virtualized storage volumes
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US10789136B1 (en) * 2013-08-23 2020-09-29 Acronis International Gmbh Granular recovery using hot-plug virtual disks
US9594583B2 (en) 2013-11-12 2017-03-14 Red Hat, Inc. Lightweight snapshots for virtual disks
CN104809020B (zh) * 2013-11-20 2018-05-11 华为技术有限公司 一种生成快照的方法、***和装置
CN103946807B (zh) * 2013-11-20 2016-03-09 华为技术有限公司 一种生成快照的方法、***和装置
CN103761168B (zh) * 2014-01-26 2017-06-13 上海爱数信息技术股份有限公司 一种基于nfs卷挂载备份虚拟机的方法
US20150269029A1 (en) * 2014-03-20 2015-09-24 Unitrends, Inc. Immediate Recovery of an Application from File Based Backups
US9454439B2 (en) 2014-05-28 2016-09-27 Unitrends, Inc. Disaster recovery validation
US9448834B2 (en) 2014-06-27 2016-09-20 Unitrends, Inc. Automated testing of physical servers using a virtual machine
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9684567B2 (en) * 2014-09-04 2017-06-20 International Business Machines Corporation Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks
CN104298559B (zh) * 2014-09-30 2018-03-02 深信服科技股份有限公司 物理主机***虚拟化的方法及装置
TWI608420B (zh) 2014-10-20 2017-12-11 緯創資通股份有限公司 虛擬機器監控方法及其系統
CN104331375B (zh) * 2014-10-29 2018-08-07 中国建设银行股份有限公司 共享虚拟化资源池环境下的共享虚拟资源管理方法和装置
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US20160162302A1 (en) * 2014-12-07 2016-06-09 Strato Scale Ltd. Fast initiation of workloads using memory-resident post-boot snapshots
WO2016197069A1 (en) 2015-06-05 2016-12-08 Nutanix, Inc. Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines
CN105573791A (zh) * 2015-12-15 2016-05-11 国云科技股份有限公司 一种linux虚拟机实现网卡热插拔的方法
CN105740042B (zh) * 2016-01-15 2019-07-02 北京京东尚科信息技术有限公司 虚拟机内存的管理方法和管理***
EP3286632A4 (en) * 2016-02-12 2018-06-13 Hewlett-Packard Enterprise Development LP Creating operating system volumes
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10133593B1 (en) * 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
CN107800730B (zh) * 2016-08-30 2021-01-29 阿里巴巴集团控股有限公司 一种虚拟磁盘的扩容方法以及装置
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10649679B2 (en) * 2016-11-23 2020-05-12 Nutanix, Inc. Containerized application extensions in distributed storage systems
CN106708603B (zh) * 2016-12-28 2019-04-26 平安科技(深圳)有限公司 虚拟机快速恢复方法及装置
JP6897136B2 (ja) 2017-02-10 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10761911B2 (en) 2017-02-13 2020-09-01 Nutanix, Inc. Asynchronous application interactions in distributed systems
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US10896100B2 (en) 2017-03-24 2021-01-19 Commvault Systems, Inc. Buffered virtual machine replication
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
US10754829B2 (en) * 2017-04-04 2020-08-25 Oracle International Corporation Virtual configuration systems and methods
CN107463404A (zh) * 2017-08-03 2017-12-12 浪潮(北京)电子信息产业有限公司 一种向虚拟机文件***中增加配置文件的方法和***
US10860242B1 (en) * 2017-10-06 2020-12-08 EMC IP Holding Company LLC Method for automatic instant access mount point cleanup
KR102003721B1 (ko) * 2018-01-10 2019-07-26 성균관대학교산학협력단 Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치
CN110347483B (zh) 2018-04-08 2021-05-11 中兴通讯股份有限公司 物理机到虚拟机迁移方法、装置及存储介质
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US10887382B2 (en) * 2018-12-18 2021-01-05 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US11080082B2 (en) 2019-08-02 2021-08-03 Red Hat, Inc. Cross-hypervisor virtual machine conversion
CN110515697A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种虚拟机迁移方法、装置、存储介质及计算机设备
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
CN113609075A (zh) * 2021-08-18 2021-11-05 济南浪潮数据技术有限公司 一种创建快照的方法、***、存储介质及设备
US12014186B2 (en) * 2022-03-25 2024-06-18 Sap Se Reducing downtime during operating system patching
US20240211251A1 (en) * 2022-12-22 2024-06-27 Red Hat, Inc. Device to build programs on alternative cpu architectures and a method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126202A1 (en) * 2001-11-08 2003-07-03 Watt Charles T. System and method for dynamic server allocation and provisioning

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475156A (en) 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
US4835685A (en) 1985-05-06 1989-05-30 Computer X, Inc. Virtual single machine with message-like hardware interrupts and processor exceptions
US4787026A (en) 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5996026A (en) 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US6052781A (en) 1997-02-21 2000-04-18 Savvy Frontiers Property Trust Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
US6445704B1 (en) 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
US6256637B1 (en) 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
US6496847B1 (en) 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
KR100846530B1 (ko) * 2000-07-05 2008-07-15 언스트 앤 영 엘엘피 컴퓨터 서비스를 제공하는 방법 및 장치
DE60125393T2 (de) * 2000-08-25 2007-09-27 Shikoku Electric Power Co., Inc., Takamatsu Fernsteuerungsserver, zentrumsserver und daraus bestehendes system
US6789156B1 (en) 2001-05-22 2004-09-07 Vmware, Inc. Content-based, transparent sharing of memory units
US6880002B2 (en) 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7448034B2 (en) * 2003-07-30 2008-11-04 International Business Machines Corporation Build time determination and installation of drivers on cloned systems
US7373451B2 (en) 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7577959B2 (en) 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US7441092B2 (en) * 2006-04-20 2008-10-21 Microsoft Corporation Multi-client cluster-based backup and restore

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126202A1 (en) * 2001-11-08 2003-07-03 Watt Charles T. System and method for dynamic server allocation and provisioning

Also Published As

Publication number Publication date
NO20084228L (no) 2008-10-22
KR20090025204A (ko) 2009-03-10
TW201415371A (zh) 2014-04-16
IL223026A0 (en) 2012-12-31
ES2632512T3 (es) 2017-09-13
CA2648761C (en) 2015-06-02
RU2011147372A (ru) 2013-05-27
JP2009536762A (ja) 2009-10-15
WO2007130209A1 (en) 2007-11-15
ZA200808579B (en) 2011-11-30
CN102541658B (zh) 2014-09-24
BRPI0711336A2 (pt) 2011-08-30
US7653794B2 (en) 2010-01-26
CN102541658A (zh) 2012-07-04
MX2008014244A (es) 2008-11-18
CN101443748B (zh) 2012-02-08
KR20140000720A (ko) 2014-01-03
AU2007248886B2 (en) 2011-11-03
BRPI0711336A8 (pt) 2017-01-17
RU2008144202A (ru) 2010-05-20
JP2012155768A (ja) 2012-08-16
AU2007248886A1 (en) 2007-11-15
CA2648761A1 (en) 2007-11-15
IL223026A (en) 2014-12-31
EP2021939A1 (en) 2009-02-11
JP5496254B2 (ja) 2014-05-21
EP2021939B1 (en) 2017-04-19
HK1172718A1 (en) 2013-04-26
CN101443748A (zh) 2009-05-27
JP5026509B2 (ja) 2012-09-12
RU2446450C2 (ru) 2012-03-27
EP2021939A4 (en) 2010-11-24
US20070260831A1 (en) 2007-11-08
TW200813839A (en) 2008-03-16
TWI428830B (zh) 2014-03-01
KR101465928B1 (ko) 2014-11-26
IL194679A (en) 2014-08-31
KR101376952B1 (ko) 2014-03-20
TWI547875B (zh) 2016-09-01
MY149997A (en) 2013-11-15

Similar Documents

Publication Publication Date Title
NO342885B1 (no) Å omdanne maskiner til virtuelle maskiner
US9811369B2 (en) Method and system for physical computer system virtualization
US9286098B1 (en) Using master file template area to increase density of virtual machines in a computer system
US8984510B1 (en) Blocking file system for on-the-fly migration of a virtual execution environment
US8417796B2 (en) System and method for transferring a computing environment between computers of dissimilar configurations
US8775696B2 (en) Storage area network access for virtual machines
US8527466B2 (en) Handling temporary files of a virtual machine
US8775781B2 (en) Intelligent boot device selection and recovery
US8166477B1 (en) System and method for restoration of an execution environment from hibernation into a virtual or physical machine
US8621461B1 (en) Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
US20090150463A1 (en) Method of migration between virtual machine and physical machine and machine system thereof
JP2006011541A (ja) 計算機および共用記憶装置を含む計算機システムにおける情報記録方法
US20200326956A1 (en) Computing nodes performing automatic remote boot operations
US10747567B2 (en) Cluster check services for computing clusters
CN114416148A (zh) 一种虚拟机管理程序热升级方法、装置及存储介质
AU2012200600B2 (en) &#34;Converting machines to virtual machines&#34;

Legal Events

Date Code Title Description
CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: MICROSOFT TECHNOLOGY LICENSING, US