Systems and methods for repurposing virtual machines
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/455
G06F-009/445
출원번호
US-0765389
(2013-02-12)
등록번호
US-9378035
(2016-06-28)
발명자
/ 주소
Kripalani, Sanjay Harakhchand
출원인 / 주소
Commvault Systems, Inc.
대리인 / 주소
Perkins Coie LLP
인용정보
피인용 횟수 :
6인용 특허 :
96
초록▼
Software, firmware, and systems repurpose existing virtual machines. After a virtual machine is created, the system stores data associated with the virtual machine to permit its later repurposing. Repurposing data includes data associated with the virtual machine when the virtual machine is in a gen
Software, firmware, and systems repurpose existing virtual machines. After a virtual machine is created, the system stores data associated with the virtual machine to permit its later repurposing. Repurposing data includes data associated with the virtual machine when the virtual machine is in a generic state from which it may be configured for use by two or more users/applications. When the system receives a request to create a new virtual machine, rather than create a brand new virtual machine, the system repurposes an existing virtual machine. The system identifies a virtual machine to repurpose, deletes data associated with the identified virtual machine, and loads a saved copy of repurposing data. The system may then load user data or otherwise customize the database and virtual machine.
대표청구항▼
1. A method to be performed by a computing system for providing a virtual machine, the method comprising: maintaining, by a virtual machine lifecycle management module, a list of virtual machines that are available for repurposing, the maintaining comprising: searching for idle virtual machines and
1. A method to be performed by a computing system for providing a virtual machine, the method comprising: maintaining, by a virtual machine lifecycle management module, a list of virtual machines that are available for repurposing, the maintaining comprising: searching for idle virtual machines and archived virtual machines,determining that a virtual machine is unavailable for repurposing because it is reserved,computing an amount of time each virtual machine has been idle;dynamically determining, whether each of a plurality of virtual machines has been idle for a predetermined period of time;archiving, a respective virtual machine of the plurality of virtual machines that has been determined to be idle for the predetermined period of time; andreplacing, the respective virtual machine with a stub that refers to the location of the archived virtual machine on a secondary storage;receiving a request to provide a virtual machine;receiving a specification for the virtual machine, the specification comprising at least one configuration parameter for the virtual machine, the at least one configuration parameter comprising an association with a value;determining if a virtual machine on the list meets or exceeds the specification and is available for repurposing;if there is not a virtual machine that is repurposable or there is not a virtual machine that meets or exceeds the specification, creating a new virtual machine that meets or exceeds the specification;if one or more virtual machines on the list is available for repurposing and the one or more virtual machines meets or exceeds the specification, then selecting a virtual machine from the one or more virtual machines by: selecting an idle virtual machine from among the one or more virtual machines based on it being the closest match to the specification, if at least one of the one or more virtual machines is idle, andselecting an archived virtual machine for repurposing based on it being the closest match to the specification, if no virtual machine of the one or more virtual machines is idle;repurposing the selected virtual machine, if a virtual machine has been selected, the repurposing comprising: recovering the selected virtual machine from the second storage device, if the selected virtual machine is an archived virtual machine;reverting the selected virtual machine to a generic state from which a user can modify the selected virtual machine;associating the selected virtual machine with the user; andswitching permissions or ownership of the selected virtual machine from a previous user to the user; andupdating the list to reflect that the selected virtual machine is unavailable. 2. The method of claim 1, wherein the virtual machine is selected based at least in part on a relative similarity between the virtual machine and the specification. 3. The method of claim 1, further comprising: customizing the virtual machine for the user, wherein the virtual machine is customized based at least in part on credentials associated with the user. 4. The method of claim 1, wherein the repurposing includes copying of a database in a data storage management system that stores metadata, media management, policies, reporting, and/or licensing information for the virtual machine. 5. The method of claim 1, wherein the virtual machine is selected based at least in part on the virtual machine having a minimum set of criteria to meet the received specification. 6. The method of claim 1, further comprising: before creating the new virtual machine that meets or exceeds the specification, waiting for a virtual machine for a limited time period, and if the virtual machine is not available after the limited period of time, creating the new virtual machine that meets or exceeds the specification. 7. The method of claim 1, wherein an archived virtual machine is selected, and repurposing the archived virtual machine further comprises: decompressing or decrypting the archived virtual machine and/or replacing data objects that had been removed from the archived virtual machine by deduplication or single-instancing processes. 8. The method of claim 1, further comprising: before creating the new virtual machine that meets or exceeds the specification, sending a request to wait for a virtual machine for a limited period of time; andreceiving a response to wait for the virtual machine for the limited period of time. 9. A non-transitory computer-readable storage medium storing instructions, which when executed by at least one data processing device, performs a method comprising: maintaining, by a virtual machine lifecycle management module, a list of virtual machines that are available for repurposing, the maintaining comprising: searching for idle virtual machines and archived virtual machines,determining that a virtual machine is unavailable for repurposing because it is reserved,computing the amount of time each virtual machine has been idle;dynamically determining whether each of a plurality of virtual machines has been idle for a predetermined period of time;archiving a respective virtual machine of the plurality of virtual machines that has been determined to be idle for the predetermined period of time; andreplacing the respective virtual machine with a stub that refers to the location of the archived virtual machine on a secondary storage;receiving a request to provide a virtual machine;receiving a specification for the virtual machine, the specification comprising at least one configuration parameter for the virtual machine, the at least one configuration parameter comprising an association with a value;determining if a virtual machine on the list meets or exceeds the specification and is available for repurposing,if no virtual machine meets or exceeds the specification or no virtual machine is available, creating a new virtual machine for the user that meets or exceeds the specification for the virtual machine;if one or more virtual machines on the list meets or exceeds the specification and is available for repurposing, selecting a virtual machine from the one or more virtual machines by: selecting an idle virtual machine from among the one or more virtual machines based on it being the closest match to the specification, if at least one of the one or more virtual machines is idle, andselecting an archived virtual machine for repurposing based on it being the closest match to the specification, if no virtual machine of the one or more virtual machines is idle;repurposing the selected virtual machine, if a virtual machine has been selected, the repurposing comprising: recovering the selected virtual machine from the second storage device, if the selected virtual machine is an archived virtual machine;reverting the selected virtual machine to a generic state from which a user can modify the selected virtual machine;associating the selected virtual machine with the user; andswitching permissions or ownership of the selected virtual machine from a previous user to the user; andupdating the list to reflect that the selected virtual machine is unavailable. 10. The non-transitory computer-readable storage medium of claim 9, wherein the virtual machine is selected based at least in part on a relative similarity between the virtual machine and the specification. 11. The non-transitory computer-readable storage medium of claim 9, further comprising: customizing the virtual machine for the user, wherein the virtual machine is customized based at least in part on credentials associated with the user. 12. The non-transitory computer-readable storage medium of claim 9, wherein repurposing includes copying of a database in a data storage management system that stores metadata, media management, policies, reporting, and/or licensing information for the virtual machine. 13. The non-transitory computer-readable storage medium of claim 9, wherein the virtual machine is selected based at least in part on having a minimum set of criteria to meet the received specification. 14. The non-transitory computer-readable storage medium of claim 9, wherein the specification for the virtual machine includes configuration parameters that are similar to or less than a configuration of a virtual machine that is idle, and wherein selecting the virtual machine includes selecting the virtual machine that is idle. 15. The non-transitory computer-readable storage medium 9, further comprising: before creating the new virtual machine that meets or exceeds the specification, sending a request to wait for a virtual machine for a limited period of time; andreceiving a response to wait for the virtual machine for the limited period of time. 16. The non-transitory computer-readable storage medium 9, wherein an archived virtual machine is selected, and further comprising: decompressing or decrypting the archived virtual machine and/or replacing data objects that had been removed from the archived virtual machine by deduplication or single-instancing processes. 17. A system for providing a virtual machine, the system comprising: at least one processor;memory coupled to the at least one processor; anda virtual machine lifecycle management module, executing on the at least one processor, performing the steps of: maintaining a list of virtual machines that are available for repurposing, the maintaining comprising: searching for idle virtual machines and archived virtual machines;determining that a virtual machine is unavailable for repurposing because it is reserved;computing the amount of time each virtual machine has been idle;dynamically determining whether each of a plurality of virtual machines has been idle for a predetermined period of time;archiving a respective virtual machine of the plurality of virtual machines that has been determined to be idle for the predetermined period of time; andreplacing the respective virtual machine with a stub that refers to the location of the archived virtual machine on a secondary storage;receiving a request to provide a virtual machine;receiving a specification for the virtual machine, the specification comprising at least one configuration parameter for the virtual machine, the at least one configuration parameter comprising an association with a value;determining if a virtual machine on the list meets or exceeds the specification and is available for repurposing;if a virtual machine on the list does not meet or exceed the specification or there is not a virtual machine that is available for repurposing, creating a new virtual machine that meets or exceeds the specification;if one or more virtual machines on the list meets or exceeds the specification and the one or more virtual machines is available for repurposing, selecting a virtual machine from the one or more virtual machines by: selecting an idle virtual machine from among the one or more virtual machines based on it being the closest match to the specification, if at least one of the one or more virtual machines is idle; andselecting an archived virtual machine for repurposing based on it being the closest match to the specification, if no virtual machine of the one or more virtual machines is idle;repurposing the virtual machine;repurposing the selected virtual machine, if a virtual machine has been selected, the repurposing comprising: recovering the selected virtual machine from the second storage device, if the selected virtual machine is an archived virtual machine;reverting the selected virtual machine to a generic state from which a user can modify the selected virtual machine;associating the selected virtual machine with the user; andswitching permissions or ownership of the selected virtual machine from a previous user to the user; andupdating the list to reflect that the selected virtual machine is unavailable. 18. The system of claim 17, wherein the specification for the virtual machine includes configuration parameters that are similar to or less than a configuration of a virtual machine that is idle, and wherein selecting the virtual machine includes selecting the virtual machine that is idle. 19. The system of claim 17, wherein selecting the virtual machine further comprises: before creating the new virtual machine that meets or exceeds the specification, sending a request to wait for a virtual machine for a limited period of time; andreceiving a response to wait for the virtual machine for the limited period of time. 20. The system of claim 17, wherein the virtual machine lifecycle management module is further configured to customize the virtual machine based at least in part on credentials associated with the user.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (96)
Yuval Ofek ; Zoran Cakeljic ; Samuel Krikler IL; Sharon Galtzur IL; Michael Hirsch IL; Dan Arnon ; Peter Kamvysselis, Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size.
Griffin David (Maynard MA) Campbell Jonathan (Acton MA) Reilly Michael (Sterling MA) Rosenbaum Richard (Pepperell MA), Arrangement with cooperating management server node and network service node.
Nakano Toshio (Odawara JPX) Nozawa Masafumi (Odawara JPX) Kurano Akira (Odawara JPX) Hisano Kiyoshi (Odawara JPX) Hoshino Masayuki (Odawara JPX), Backup control method and system in data processing system using identifiers for controlling block data transfer.
Kitajima Hiroyuki (Yokohama) Yamamoto Akira (Yokohama) Doi Takashi (Hadano) Nozawa Masafumi (Odawara JPX), Buffered peripheral system and method for backing up and retrieving data to and from backup memory device.
Cole Leo J. (Raleigh NC) Frantz Curtis J. (Durham NC) Lee Jeannette (Raleigh NC) Ordanic Zvonimir (Raleigh NC) Plank Larry K. (Rochester MN), Centralized management in a computer network.
Carpenter Kelly S. (Fremont CA) Dearing Gerard M. (San Jose CA) Nick Jeffrey M. (Fishkill NY) Strickland Jimmy P. (Saratoga CA) Swanson Michael D. (Poughkeepsie NY) Wilkinson Wendell W. (Hyde Park NY, Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage.
Senator Steven T. ; Fuller Billy J., Computer system method and apparatus providing for various versions of a file without requiring data copy or log operati.
Fecteau Jean G. (Toronto NY CAX) Gdaniec Joseph M. (Vestal NY) Hennessy James P. (Endicott NY) MacDonald John F. (Vestal NY) Osisek Damian L. (Vestal NY), Computer system which supports asynchronous commitment of data.
Dunphy William E. (Westminster CO) Halladay Steven M. (Louisville CO) Moy Michael E. (Lafayette CO) Munro Frederick G. (Broomfield CO), Data storage and protection system.
Yanai Moshe (Framingham MA) Vishlitzky Natan (Brookline MA) Alterescu Bruno (Newton MA) Castel Daniel (Framingham MA) Shklarsky Gadi (Brookline MA), Data storage system controlled remote data mirroring with respectively maintained data indices.
Fortier Richard W. (Acton MA) Mastors Robert M. (Ayer MA) Taylor Tracy M. (Upton MA) Wallace John J. (Franklin MA), Digital data processor with improved backup storage.
Kenley Gregory (Northboro MA) Ericson George (Schrewsbury MA) Fortier Richard (Acton MA) Holland Chuck (Northboro MA) Mastors Robert (Ayer MA) Pownell James (Natick MA) Taylor Tracy (Upton MA) Wallac, Digital data storage system with improved data migration.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems.
Lagueux, Jr., Richard A.; Stave, Joel H.; Yeaman, John B.; Stevens, Brian E.; Higgins, Robert M.; Collins, James M., Graphical user interface for configuration of a storage system.
Urevig Paul D. ; Malnati James R. ; Ethen Donald J. ; Weber Herbert L., Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed.
Barney Rock D. ; Schwols Keith ; Nelson Ellen M., Integration of a database into file management software for protecting, tracking and retrieving data.
Martin Charles W. (Richardson TX) Reid Fredrick S. (Plano TX) Forbus Gary L. (Dallas TX) Adams Steve M. (Plano TX) Shannon C. Patrick (Garland TX) Pirpich Eric A. (Garland TX), Mass data storage and retrieval system.
Kedem Nadav,ILX, Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information .
Long Robert M., Media element library with non-overlapping subset of media elements and non-overlapping subset of media element drives accessible to first host and unaccessible to second host.
Kullick Steven E. ; Spirakis Charles S. ; Titus Diane J., Method and apparatus for transferring archival data among an arbitrarily large number of computer devices in a networked.
Eastridge Lawrence E. (Tucson AZ) Kern Robert F. (Tucson AZ) Kern Ronald M. (Tucson AZ) Mikkelsen Claus W. (Morgan Hill CA) Ratliff James M. (Tucson AZ), Method and system for automated backup copy ordering in a time zero backup copy session.
Eastridge Lawrence E. (Tucson AZ) Kern Robert F. (Tucson AZ) Micka William F. (Tucson AZ) Mikkelsen Claus W. (Morgan Hill CA) Ratliff James M. (Tucson AZ), Method and system for automated termination and resumption in a time zero backup copy process.
Walter A. Hubis ; William G. Deitz, Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access .
Aoyama Yuki,JPX ; Takahashi Toru,JPX ; Wakayama Satoshi,JPX, Method of and an apparatus for displaying version information and configuration information and a computer-readable recording medium on which a version and configuration information display program i.
Crescenti,John; Kavuri,Srinivas; Oshinsky,David Alan; Prahlad,Anand, Modular backup and retrieval system used in conjunction with a storage area network.
Pisello Thomas (De Bary FL) Crossmier David (Casselberry FL) Ashton Paul (Oviedo FL), Network management system having virtual catalog overview of files distributively stored across network domain.
Crockett Robert N. (Tucson AZ) Kern Ronald M. (Tucson AZ) Micka William F. (Tucson AZ), Software directed microcode state save for distributed storage controller.
Kottomtharayil,Rajiv; Gokhale,Parag; Prahlad,Anand; Vijayan Retnamma,Manoj Kumar; Ngo,David; Devassy,Varghese, System and method for dynamically performing storage operations in a computer network.
Mutalik Madhav ; Senie Faith M., System and method for performing file-handling operations in a digital data processing system using an operating system-independent file map.
Huai ReiJane (Old Brookville NY) Daly Robert (Ronkonkoma NY) Curti Walter (Dix Hills NY) Mohan Deepak (Huntington NY) Chueh James Kuang-Ru (Bayside NY) Louie Larry (Forest Hills NY), System and parallel streaming and data stripping to back-up a network.
Stoppani ; Jr. Peter (Woodinville WA), System for allocating storage spaces based upon required and optional service attributes having assigned piorities.
Flynn Rex A. (Belmont MA) Anick Peter G. (Marlboro MA), System for reconstructing prior versions of indexes using records indicating changes between successive versions of the.
Saether Christian D. (Seattle WA) Stoppani ; Jr. Peter (Woodinville WA), System of device independent file directories using a tag between the directories and file descriptors that migrate with.
Brunet, Jeffrey; Chowdhary, Yousuf; Collins, Ian; Pan, Hai Sheng; Kusov, Valeriy, Systems and methods for converting a media player into a backup device.
Mikesell, Paul A.; Anderson, Rob; Passey, Aaron James; Godman, Peter John; Khan, Hassan F.; Schack, Darren P., Systems and methods for restriping files in a distributed file system.
Groover, Michael P.; Han, Robin; Lin, Edward H.; Su, Yan; Tang, Wei; Zhao, Ming Zhi; Zhou, Yi, Cloud infrastructure for reducing storage facility code load suspend rate by redundancy check.
Groover, Michael P.; Han, Robin; Lin, Edward H.; Su, Yan; Tang, Wei; Zhao, Ming Zhi; Zhou, Yi, Cloud infrastructure for reducing storage facility code load suspend rate by redundancy check.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.