Systems and methods of data storage management, such as dynamic data stream allocation
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/46
G06F-015/16
G06F-015/173
G06F-017/30
G06F-003/06
출원번호
US-0963581
(2007-12-21)
등록번호
US-8832706
(2014-09-09)
발명자
/ 주소
Gokhale, Parag
Klose, Michael F.
출원인 / 주소
CommVault Systems, Inc.
대리인 / 주소
Perkins Coie LLP
인용정보
피인용 횟수 :
15인용 특허 :
108
초록
A system and method for choosing a stream to transfer data is described. In some cases, the system reviews running data storage operations and chooses a data stream based on the review. In some cases, the system chooses a stream based on the load of data to be transferred.
대표청구항▼
1. A method of transferring data to one or more storage media, the method comprising: identifying data to be transferred to the one or more storage media;receiving data transfer information associated with two or more data streams in a process of transferring the identified data to the one or more s
1. A method of transferring data to one or more storage media, the method comprising: identifying data to be transferred to the one or more storage media;receiving data transfer information associated with two or more data streams in a process of transferring the identified data to the one or more storage media, wherein the data transfer information comprises an amount of data currently being transferred by each of the two or more data streams and a data transfer rate of each of the two or more data streams;selecting from the two or more data streams a data stream based at least in part on the received data transfer information;pre-allocating space on the one or more storage media associated with the selected data stream;storing, at a first time, the identified data to be transferred in a first queue associated with the selected data stream;reassigning, at a second time later than the first time, the identified data to be transferred from the first queue to a second queue associated with a data stream other than the selected data stream, wherein the reassigning compensates for changing amounts of data being transferred by each of the two or more data streams, and the data transfer rates of each of the two or more data streams; andtransferring the identified data to be transferred to the pre-allocated space. 2. The method of claim 1, wherein receiving data transfer information comprises: receiving header information for the transferring data on the two or more data streams; anddetermining the amount of data transferring based on the received header information. 3. The method of claim 1, wherein the selecting comprises selecting the data stream with a comparatively lesser amount of data being transferred. 4. The method of claim 1, wherein the selecting is based at least in part on information related to available space on the one or more storage media. 5. The method of claim 1, wherein the data transfer information comprises a predicted amount of identified data to be transferred by each of the two or more data streams. 6. The method of claim 1, further comprising: choosing data paths for transferring the identified data. 7. The method of claim 6, wherein the choosing is performed by: exchanging information with a monitoring system to determine load information. 8. The method of claim 1, further comprising: identifying the one or more storage media based on a storage policy that defines how storage operations are performed. 9. The method of claim 1, further comprising: receiving storage device information; andpre-allocating data based at least in part on the received storage device information. 10. The method of claim 1, wherein the data to be transferred includes snapshot copies of data on a primary storage device. 11. The method of claim 1 wherein data transfer rates of the two or more data streams are different from each other. 12. A system, at least partially implemented in hardware, of dynamically allocating a data stream to send data to one or more storage devices, the system comprising: a first storage subsystem, wherein the first storage subsystem transfers data to first storage media;a second storage subsystem, wherein the second storage subsystem transfers data to second storage media; anda dynamic allocation component, wherein the dynamic allocation component: receives load information associated with the first storage subsystem and the second storage subsystem, wherein the load information comprises an amount of data currently being transferred by each of the first storage subsystem and the second storage subsystem and a data transfer rate of each of the first storage subsystem and the second storage subsystem;selects a storage subsystem based at least in part on load information associated with the first storage subsystem and the second storage subsystem;pre-allocates a space on the storage media associated with the selected storage subsystem; andstores, at a first time, the data in a first queue;reassigns, at a second time later than the first time, the data from the first queue to a second queue, wherein the reassignment is performed to compensate for changing amounts of data being transferred by each of the first storage subsystem and the second storage subsystem, and the data transfer rates of each of the first storage subsystem and the second storage subsystem; andtransfers the data to the pre-allocated space. 13. The system of claim 12, wherein the dynamic allocation component is contained within the first storage subsystem or the second storage subsystem. 14. The system of claim 12, wherein the dynamic allocation component is contained with a server that communicates with the storage subsystems. 15. The system of claim 12, wherein the dynamic allocation component receives load information from a monitoring component. 16. The system of claim 12, wherein the dynamic allocation component receives storage device information from the first storage subsystem and the second storage subsystem and allocates the data based at least in part on the received storage device information. 17. The system of claim 12, wherein the dynamic allocation component communicates with the storage subsystems via a network. 18. The system of claim 12, wherein the first storage media and the second storage media are the same storage media. 19. The system of claim 12, wherein the first storage subsystem and the second storage subsystem send data to the same storage media. 20. A system for transferring data to one or more storage media, comprising: means for receiving the data to be transferred to the one or more storage media;means, coupled to the means for receiving, for analyzing load information from two or more data streams in transferring the data to the one or more storage media, wherein the load information comprises an amount of data currently being transferred by each of the two or more data streams and a data transfer rate of each of the two or more data streams;means, coupled to the means for analyzing, for selecting from the two or more data streams a data stream based at least in part on the received load information;means for pre-allocating space on the one or more storage media associated with the selected data stream;means for storing, at a first time, the data to be transferred in a first queue associated with the selected data stream;means for reassigning, at a second time later than the first time, the data to be transferred from the first queue to a second queue associated with a data stream other than the selected data stream, wherein the reassigning compensates for changing amounts of data being transferred by each of the two or more data streams, and the data transfer rates of each of the two or more data streams; andmeans for transferring the data to be transferred to the pre-allocated space. 21. The system of claim 20, wherein the means for selecting from the two or more data streams selects a data stream allocated less data than at least one other data stream. 22. A computer program product comprising a computer-readable, non-transitory medium having code stored thereon, the code, when executed, causing a processor to implement a method of transferring data to one or more storage media, the method comprising: identifying data to be transferred to the one or more storage media;receiving data transfer information associated with two or more data streams in a process of transferring the identified data to the one or more storage media, wherein the data transfer information comprises an amount of data currently being transferred by each of the two or more data streams and a data transfer rate of each of the two or more data streams;selecting from the two or more data streams a data stream based at least in part on the received data transfer information;pre-allocating space on the one or more storage media associated with the selected stream;storing, at a first time, the identified data to be transferred in a first queue associated with the selected data stream;reassigning, at a second time later than the first time, the identified data to be transferred from the first queue to a second queue associated with a data stream other than the selected data stream, wherein the reassigning compensates for changing amounts of data being transferred by each of the two or more data streams, and the data transfer rates of each of the two or more data streams; andtransferring the identified data to be transferred to the pre-allocated space. 23. The computer program product of claim 22, wherein receiving data transfer information comprises: receiving header information for the transferring data on the two or more data streams; anddetermining the amount of data being transferred based on the received header information. 24. The computer program product of claim 22, wherein the selecting comprises selecting the data stream with a comparatively lesser amount of data being transferred. 25. The computer program product of claim 22, wherein the selecting is based at least in part on information related to available space on the one or more storage media.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (108)
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.
Brenner, Larry Bert; Browning, Luke Mathew, Apparatus for minimizing lock contention in a multiple processor system with multiple run queues when determining the threads priorities.
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.
Eric C. Peters ; Stanley Rabinowitz ; Herbert R. Jacobs ; Richard Baker Gillett, Jr. ; Peter J. Fasciano, Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner.
Peters,Eric C.; Rabinowitz,Stanley; Jacobs,Herbert R., Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner.
Peters,Eric C.; Rabinowitz,Stanley; Jacobs,Herbert R.; Fasciano,Peter J., Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner.
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.
Brassow,Jonathan; Declerck,Michael J.; Lewis,Andrew; Manthei,Adam; O'Keefe,Matthew; Preslan,Kenneth; Teigland,David, Distributed file system using disk servers, lock servers and file servers.
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.
Ignatius, Paul; Theisen, Marjorie H.; Oshinsky, David Alan; Kavuri, Srinivas, Logical view and access to physical storage in modular data and storage management system.
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.
Iwasaki Junji,JPX, Method and apparatus for controlling semiconductor wafer fabrication equipment based on a remaining process time applicable to the processors.
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 .
Loper Albert John ; Elliott Timothy Alan ; Olson Christopher Hans ; Shippy David J., Method and system for high performance dynamic and user programmable cache arbitration.
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.
Connor,Patrick L., Method, system, and program for adding operations identifying data packets to structures based on priority levels of the data packets.
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.
Yao Hiroshi,JPX ; Kanai Tatsunori,JPX ; Kizu Toshiki,JPX ; Maeda Seiji,JPX, Real time stream server for handling a plurality of real time stream data with different data rates.
Crockett Robert N. (Tucson AZ) Kern Ronald M. (Tucson AZ) Micka William F. (Tucson AZ), Software directed microcode state save for distributed storage controller.
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.
Brenner,Larry Bert; Browning,Luke Matthew, System for preventing periodic load balancing if processor associated with lightest local run queue has benefited from idle processor load balancing within a determined time period.
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.
Gokhale, Parag; Kottomtharayil, Rajiv; Karandikar, Amey Vijaykumar; Wang, Yu, Data storage resource allocation list updating for data storage operations.
Gokhale, Parag; Kottomtharayil, Rajiv; Karandikar, Amey Vijaykumar; Wang, Yu, Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted.
Gokhale, Parag; Kottomtharayil, Rajiv; Karandikar, Amey Vijaykumar; Wang, Yu, Updating a list of data storage requests if an abbreviated resource check determines that a request in the list would fail if attempted.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.