US 6328766: "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"



The above example shows the number of issued patents in USPTO Class 360 by filing date. The year that US Patent 4131919: "Electronic still camera" was filed appears in orange. Learn more about Patent-In-Context


Patent Overview

Patent Title: 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
Patent Number: 6328766 Filing Date:
Application Number: 09104406 Issue Date: Dec 11, 2001
Back to Search Results

Claims

(click to expand)

What is claimed is:


1. A data storage system comprising:a plurality of media element drives; a plurality of media elements, all of which are readable in each of said plurality of media element drives; a plurality of media element storage locations; a moveable carriage adapted to transport media elements from at least one of said media element storage locations to at least one of said media element drives; a plurality of host computers; and a controller coupled to said plurality of media element drives, said moveable carriage, and said plurality of host computers, wherein said controller is configured such that a subset of said plurality of media elements and a subset of said plurality of media element drives are available for read/write access by a first one of said plurality of host computers and are unavailable for read/write access by a second one of said plurality of host computers.

2. In a media element library, a method of executing a plurality of data manipulation commands comprising:pre-allocating subsets of media elements present in said media element library to servicing requests from respective ones of a plurality of host computers so that no subset contains the same media element as another subset; pre-allocating subsets of media element drives present in said media element library to servicing requests from respective ones of said plurality of host computers so that no subset contains the same media element drive as another subset; wherein all media elements are readable in each of said media element drives; wherein a subset of said media elements and a subset of said media element drives are available for read/write access by a first one of said plurality of host computers and are unavailable for read/write access by a second one of said plurality of host computers; receiving a plurality of data manipulation commands from said plurality of host computers coupled to said media element library; queuing said plurality of data manipulation commands in a memory of said media element library; and sequentially performing said data manipulation commands.

3. The data storage system of claim 1, additionally comprising a user configurable memory storing data defining said controller's response to commands from said plurality of host computers such that said subset of said plurality of media elements and said subset of said plurality of media element drives is user selected.

4. The data storage system of claim 1, wherein said controller comprises a network interface routed to each one of said plurality of host computers.

5. The data storage system of claim 4, wherein the network interface has a Token Ring or Ethernet connector for connecting to the plurality of computers.

6. The data storage system of claim 1, wherein said controller comprises an input-output interface for coupling to said plurality of host computers.

7. The data storage system of claim 1, wherein said controller comprises a plurality of input-output interfaces for coupling to respective ones of said plurality of host computers.

8. The data storage system of claim 7, wherein said input-output interfaces comprise SCSI interfaces.

9. The data storage system of claim 1, wherein said media elements comprise magnetic tape cartridges.

10. A method of communicating information between a host computer system and a data storage library, said method comprising the steps of:dividing a plurality of media storage locations into a first plurality of portions, wherein each of a plurality of host computers is associated with a separate one of said first plurality of portions; dividing a plurality of media element drives into a second plurality of portions, wherein each of the plurality of host computers is associated with a separate one of said second plurality of portions of media element drives; sending a first request for information regarding the number of media element storage locations in said library from one of the plurality of host computers to the library; sending a second request for information regarding the number of media element drives in said library from said one of the plurality of host computers to the library; sending a response to said first request from said library to said one of the plurality of host computers, said response including only the number of media element storage locations in the portion of the first plurality of portions associated with said one of the plurality of host computers; and sending a response to said second request from said library to said one of the plurality of host computers, said response including only the number of media element drives in the portion of the second plurality of portions associated with said one of the plurality of host computers, whereby said one of the plurality of host computers sees only its associated portion of the media storage locations and its associated portion of the media element drives, and whereby the media element storage locations in said one of said fist plurality of portions and the media element drives in said one of said second plurality of portions associated with said one of said plurality of host computers are available for read/write access by said one of said plurality of host computers are unavailable for read/write access by an another one of said plurality of host computers.

11. The method of claim 10, wherein the act of sending a request and the act of sending a response, includes the act of sending a request and sending a response over a computer network.

Classifications

(click to expand)

US ClassificationDescription
718/008000 ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: VIRTUAL MACHINE TASK OR PROCESS MANAGEMENT OR TASK MANAGEMENT/CONTROL
(+ truncated)
710/015000 ELECTRICAL COMPUTERS AND DIGITAL DATA PROCESSING SYSTEMS: INPUT/OUTPUT
^----INPUT/OUTPUT DATA PROCESSING
     ^----Peripheral monitoring
710/017000 ELECTRICAL COMPUTERS AND DIGITAL DATA PROCESSING SYSTEMS: INPUT/OUTPUT
^----INPUT/OUTPUT DATA PROCESSING
     ^----Peripheral monitoring
          ^----Availability monitoring
710/036000 ELECTRICAL COMPUTERS AND DIGITAL DATA PROCESSING SYSTEMS: INPUT/OUTPUT
^----INPUT/OUTPUT DATA PROCESSING
     ^----Input/Output access regulation
710/104000 ELECTRICAL COMPUTERS AND DIGITAL DATA PROCESSING SYSTEMS: INPUT/OUTPUT
^----INTRASYSTEM CONNECTION (E.G., BUS AND BUS TRANSACTION PROCESSING)
     ^----System configuring
711/004000 ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: MEMORY
^----ADDRESSING COMBINED WITH SPECIFIC MEMORY CONFIGURATION OR SYSTEM
     ^----Dynamic-type storage device (e.g., disk, tape, drum)
711/111000 ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: MEMORY
^----STORAGE ACCESSING AND CONTROL
     ^----Specific memory composition
          ^----Accessing dynamic storage device
711/152000 ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: MEMORY
^----STORAGE ACCESSING AND CONTROL
     ^----Shared memory area
          ^----Memory access blocking
711/163000 ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: MEMORY
^----STORAGE ACCESSING AND CONTROL
     ^----Control technique
          ^----Access limiting
369/034000 DYNAMIC INFORMATION STORAGE OR RETRIEVAL
(+ truncated)
369/036000 DYNAMIC INFORMATION STORAGE OR RETRIEVAL
(+ truncated)
369/056000 DYNAMIC INFORMATION STORAGE OR RETRIEVAL
(+ truncated)
360/069000 DYNAMIC MAGNETIC INFORMATION STORAGE OR RETRIEVAL
^----AUTOMATIC CONTROL OF A RECORDER MECHANISM
360/131000 DYNAMIC MAGNETIC INFORMATION STORAGE OR RETRIEVAL
^----RECORD MEDIUM
360/134000 DYNAMIC MAGNETIC INFORMATION STORAGE OR RETRIEVAL
^----RECORD MEDIUM
     ^----Tape

References

(click to expand)

Patent Number Author Title Cited by:
5164909 Leonhardt et al. Virtual robot for a multimedia automated cartridge library system examiner
5303214 Kulakowski et al. Multi-media-type automatic libraries examiner
5386545 Gombos, Jr. et al. Target management method for data backup to a shared transfer station, multiple media element device other
5502811 Ripberger System and method for striping data to magnetic tape units other
5502836 Hale et al. Method for disk restriping during system operation other
5511177 Kagimasa et al. File data multiplexing method and data processing system other
5530850 Ford et al. Data storage library array with log-structured file system which allows simultaneous write and garbage collection other
5594922 Suzuki et al. System for monitoring a library unit shared as input/output with higher level unit wherein abnormal occupation of library by a higher level unit is reset examiner
5768141 Hanaoka et al. Library apparatus examiner
5956301 Dimitri et al. Automated data storage library media handling with a plurality of pickers having multiple grippers examiner
6031798 James et al. Library control of media capacity scaling and library component attributes examiner
6038490 Dimitri et al. Automated data storage library dual picker interference avoidance examiner
6044442 Jesionowski External partitioning of an automated data storage library into multiple virtual libraries for access by a plurality of hosts examiner
6044444 Ofek Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected examiner
6185165 Jesionowski et al. Positionable vision indicators for configuring logical libraries examiner
0 276 967 A2 other
0 458 567 A2 other
0 578 918 A2 other
0 645 693 A1 other
WO 96/06393 other

Referenced By:

(click to expand)

Patent Number Issue Date Title Author
7290068 Oct 30, 2007 Apparatus and method for writing information to a designated information storage medium with an allocated data storage device using a specified information recording Encinas, Susan; Winarski, Daniel James
7844676 Nov 30, 2010 Email attachment management in a computer system Prahlad, Anand; De Meno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
7380072 May 27, 2008 Systems and methods for sharing media in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Retnamma, Manoj Kumar Vijayan; Ngo, David; Devassy, Varghese
6772272 Aug 03, 2004 Apparatus and method for writing information to a designated information storage medium with an allocated data storage device using a specified information recording format Encinas, Susan; Winarski, Daniel James
7447692 Nov 04, 2008 Logical view and access to data managed by a modular data and storage management system Oshinsky, David Alan; Ignatius, Paul; Prahlad, Anand; May, Andreas
7209972 Apr 24, 2007 High speed data transfer mechanism Ignatius, Paul; Prahlad, Anand; Devassy, Varghese; Tyagarajan, Mahesh; Wu, Robert; Iyer, Shankar R.
7035880 Apr 25, 2006 Modular backup and retrieval system used in conjunction with a storage area network Crescenti, John; Kavuri, Srinivas; Oshinsky, David Alan; Prahlad, Anand
7343356 Mar 11, 2008 Systems and methods for storage modeling and costing Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G; May, Andreas; Schwartz, Jeremy
7568080 Jul 28, 2009 Snapshot storage and management system with indexing and user interface Prahlad, Anand; May, Andreas; Lunde, Norman R.; Zhou, Lixin; Kumar, Avinash; Ngo, David
7546324 Jun 09, 2009 Systems and methods for performing storage operations using network attached storage Prahlad, Anand; Schwartz, Jeremy
7606844 Oct 20, 2009 System and method for performing replication copy storage operations Kottomtharayil, Rajiv
7613752 Nov 03, 2009 Systems and methods for using metadata to enhance data management operations Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7613748 Nov 03, 2009 Stored data reverification management system and method Brockway, Brian; Gokhale, Parag; Lu, Jun
7660800 Feb 09, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7315924 Jan 01, 2008 Logical view with granular access to exchange data managed by a modular data and storage management system Prahlad, Anand; Meno, Randy De; Schwartz, Jeremy A.; McGuigan, James J.
7668884 Feb 23, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7711700 May 04, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7801864 Sep 21, 2010 Systems and methods for using metadata to enhance data identification operations Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7949512 May 24, 2011 Systems and methods for performing virtual storage operations Vijayan Retnamma, Manoj Kumar; Chen, Ho-Chi; Iikal, Zahid; Kottomtharayil, Rajiv
8037028 Oct 11, 2011 System and method for storing redundant information Prahlad, Anand; Gokhale, Parag; Kottomtharayil, Rajiv; Vijayan Retnamma, Manoj K.; Attarde, Deepak R.
7421312 Sep 02, 2008 Library partitioning module operable to modify a request to move the medium Trossell, David
7421420 Sep 02, 2008 Method for device selection Burchfield, Robert Douglas
6766412 Jul 20, 2004 Data storage media library with scalable throughput rate for data routing and protocol conversion Bolt, Thomas
7263596 Aug 28, 2007 Logical library architecture for data storage applications and methods of use Wideman, Rod; Prestas, Gregory; Doerner, Don
8099428 Jan 17, 2012 Managing copies of data Kottomtharayil, Rajiv; Gokhale, Parag; Lu, Jun
8131680 Mar 06, 2012 Systems and methods for using metadata to enhance data management operations Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
8131780 Mar 06, 2012 Systems and methods for managing location of media in a storage system Amarendran, Arun Prasad; Kottomtharayil, Rajiv; Ilkal, Zahid
8131964 Mar 06, 2012 Systems and methods for combining data streams in a storage operation Retnamma, Manoj Vijayan; Amarendran, Arun; Kottomtharayil, Rajiv
8176268 May 08, 2012 Systems and methods for performing storage operations in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Kumar, Manoj; Ngo, David; Devassy, Varghese
8214444 Jul 03, 2012 Email attachment management in a computer system Prahlad, Anand; De Meno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
8219524 Jul 10, 2012 Application-aware and remote single instance data management Gokhale, Parag
8271548 Sep 18, 2012 Systems and methods for using metadata to enhance storage operations Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
8281028 Oct 02, 2012 System and method for performing multistream storage operations Gokhale, Parag; Kottomtharayil, Rajiv; Pawar, Rahul S.; Prahlad, Anand
8285964 Oct 09, 2012 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
8285684 Oct 09, 2012 Systems and methods for performing data replication Prahlad, Anand; Ngo, David
8290808 Oct 16, 2012 System and method for automating customer-validated statement of work for a data storage environment Brower, Jr., Robert Keith; Messore, Peter
8335776 Dec 18, 2012 Distributed indexing system for data storage Gokhale, Parag
8352472 Jan 08, 2013 Systems and methods for using metadata to enhance data identification operations Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7505980 Mar 17, 2009 System and method for controlling access to multiple physical media libraries Tyndall, John F.; Moody, II, William H.
7752384 Jul 06, 2010 System and method for controlling access to media libraries Moody, II, William H.; Sims, Robert
7752416 Jul 06, 2010 System and method for distributed partitioned library mapping Justiss, Steven A.; Gao, Linlin; Tyndall, John F.
7975124 Jul 05, 2011 System and method for distributed partitioned library mapping Justiss, Steven A.; Gao, Linlin; Tyndall, John F.
7472142 Dec 30, 2008 System and method for archiving objects in an information store Prahlad, Anand; May, Andreas; Wang, Zhao; Demeno, Randy; Iyer, Tinku
7739450 Jun 15, 2010 System and method for improved media identification in a storage device Kottomtharayil, Rajiv
7831622 Nov 09, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7861050 Dec 28, 2010 Systems and methods for combining data streams in a storage operation Retnamma, Manoj Vijayan; Amarendran, Arun; Kottomtharayil, Rajiv
7873802 Jan 18, 2011 Systems and methods for recovering electronic information from a storage medium Gokhale, Parag; Lu, Jun; Lu, Yanhui; Wang, Yu; Kottomtharayil, Rajiv
7877362 Jan 25, 2011 System and method for containerized data storage and tracking Gokhale, Parag; Kottomtharayil, Rajiv
7937702 May 03, 2011 Storage of application specific profiles correlating to document versions De Meno, Randy; Schwartz, Jeremy A.; Prahlad, Anand; McGuigan, James J.
8131910 Mar 06, 2012 System and article of manufacture for device selection Burchfield, Robert Douglas
7484054 Jan 27, 2009 System and method for performing storage operations in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Vijayan Retnamma, Manoj Kumar; Ngo, David; Devassy, Varghese
7251718 Jul 31, 2007 Apparatus, system, and method for managing addresses and data storage media within a data storage library Gallo, Frank David; Goodman, Brian Gerard; Jesionowski, Leonard George
7401154 Jul 15, 2008 Pipelined high speed data transfer mechanism Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh
7440982 Oct 21, 2008 System and method for stored data archive verification Lu, Jun; Amarendran, Arun
7130970 Oct 31, 2006 Dynamic storage device pooling in a computer system Devassy, Varghese; Kottomtharayil, Rajiv; Kumar, Manoj
7529782 May 05, 2009 System and method for performing a snapshot and for restoring data Prahlad, Anand; Ngo, David; Varadharajan, Prakash; Pawar, Rahual; Kumar, Avinash
7596586 Sep 29, 2009 System and method for extended media retention Gokhale, Parag; Lu, Yanhui
7603386 Oct 13, 2009 Systems and methods for managing location of media in a storage system Amarendran, Arun Prasad; Kottomtharayil, Rajiv; Ilkal, Zahid
7620710 Nov 17, 2009 System and method for performing multi-path storage operations Kottomtharayil, Rajiv; Chen, Ho-Chi; Retnamma, Manoj Vijayan
7657550 Feb 02, 2010 User interfaces and methods for managing data in a metabase Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7657666 Feb 02, 2010 Systems and methods of media management, such as management of media to and from a media storage library, including removable media Kottomtharayil, Rajiv; Vijayan Retnamma, Manoj K.
7707178 Apr 27, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7734578 Jun 08, 2010 System and method for performing integrated storage operations Prahlad, Anand; Ngo, David; Zhou, Lixin; May, Andreas
7814118 Oct 12, 2010 Managing copies of data Kottomtharayil, Rajiv; Gokhale, Parag; Lu, Jun
7818262 Oct 19, 2010 System and method for providing a flexible licensing system for digital content Kavuri, Srinivas; Prahlad, Anand; Gokhale, Parag; Madeira, Andre D.; Ali-Ali, Muath S.; Muller, Marcus S.
7831566 Nov 09, 2010 Systems and methods of hierarchical storage management, such as global management of storage operations Kavuri, Srinivas; Kottomtharayil, Rajiv
7831766 Nov 09, 2010 Systems and methods of data storage management, such as pre-allocation of storage space Gokhale, Parag; Klose, Michael F.
7836174 Nov 16, 2010 Systems and methods for grid-based data scanning Lunde, Norman R.
7849266 Dec 07, 2010 Method and system for grouping storage system components Kavuri, Srinivas; Prahlad, Anand; Vibhor, Anand; Gokhale, Parag
7882098 Feb 01, 2011 Method and system for searching stored data Prahlad, Anand; Kavuri, Srinivas; Kottomtharayil, Rajiv; Amarendran, Arun Prasad; Brockway, Brian; Muller, Marcus S.; May, Andreas
7890718 Feb 15, 2011 System and method for performing time-flexible calendric storage operations Gokhale, Parag
7953706 May 31, 2011 System and method for storing redundant information Prahlad, Anand; Gokhale, Parag; Kottomtharayil, Rajiv; Retnamma, Manoj Kumar Vijayan; Attarde, Deepak R.
7962714 Jun 14, 2011 System and method for performing auxiliary storage operations Amarendran, Arun Prasad; Vijayan Retnamma, Manoj Kumar; Prahlad, Anand; Gokhale, Parag; Lu, Jun
7962642 Jun 14, 2011 Pipeline systems and method for transferring data in a network environment Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh
7809914 Oct 05, 2010 Methods and system of pooling storage devices Kottomtharayil, Rajiv; Chen, Ho-Chi
8024294 Sep 20, 2011 Systems and methods for performing replication copy storage operations Kottomtharayil, Rajiv
8032718 Oct 04, 2011 Systems and methods for sharing media in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Vijayan Retnamma, Manoj Kumar; Ngo, David; Devassy, Varghese
8074042 Dec 06, 2011 Methods and system of pooling storage devices Kottomtharayil, Rajiv; Chen, Ho-Chi
8103670 Jan 24, 2012 Systems and methods for retrieving data in a computer network Oshinsky, David Alan; Ignatius, Paul; Prahlad, Anand; May, Andreas
7107298 Sep 12, 2006 System and method for archiving objects in an information store Prahlad, Anand; May, Andreas; Wang, Zhao; Demeno, Randy; Iyer, Tinku
7958086 Jun 07, 2011 Systems and methods for managing location of media in a storage system Amarendran, Arun Prasad; Kottomtharayil, Rajiv; Ilkal, Zahid
8140786 Mar 20, 2012 Systems and methods for creating copies of data, such as archive copies Bunte, Alan; Prahlad, Anand; Brockway, Brian
8156086 Apr 10, 2012 Systems and methods for stored data verification Lu, Jun; Amarendran, Arun
8229954 Jul 24, 2012 Managing copies of data Kottomtharayil, Rajiv; Gokhale, Parag; Lu, Jun
8239654 Aug 07, 2012 Systems and methods for transferring data in a block-level storage operation Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh; Kumar, Avinash
8266106 Sep 11, 2012 Systems and methods for performing storage operations using network attached storage Prahlad, Anand; Schwartz, Jeremy
8266406 Sep 11, 2012 System and method for allocation of organizational resources Kavuri, Srinivas
8271830 Sep 18, 2012 Rolling cache configuration for a data replication system Erofeev, Andrei
8306926 Nov 06, 2012 Systems and methods for storage modeling and costing Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G.; May, Andreas; Schwartz, Jeremy
8341182 Dec 25, 2012 Systems and methods of media management, such as management of media to and from a media storage library Muller, Marcus S.; Gokhale, Parag; Kottomtharayil, Rajiv
8346734 Jan 01, 2013 Systems and methods of media management, such as management of media to and from a media storage library Muller, Marcus S.; Gokhale, Parag; Kottomtharayil, Rajiv
8352954 Jan 08, 2013 Data storage resource allocation by employing dynamic methods and blacklisting resource request pools Gokhale, Parag; Kottomtharayil, Rajiv; Karandikar, Amey; Wang, Yu
8352422 Jan 08, 2013 Data restore systems and methods in a replication environment Prahlad, Anand; Agrawal, Vijay H.
7971006 Jun 28, 2011 System and method for handling status commands directed to partitioned media library Justiss, Steven A.; Gao, Linlin
7873806 Jan 18, 2011 Snapshot storage and management system with indexing and user interface Prahlad, Anand; May, Andreas; Lunde, Norman R.; Zhou, Lixin; Kumar, Avinash; Ngo, David
8140794 Mar 20, 2012 Snapshot storage and management system with indexing and user interface Prahlad, Anand; May, Andreas; Lunde, Norman R.; Zhou, Lixin; Kumar, Avinash; Ngo, David
7472238 Dec 30, 2008 Systems and methods for recovering electronic information from a storage medium Gokhale, Parag; Lu, Jun; Lu, Yanhui; Wang, Yu; Kottomtharayil, Rajiv
7603518 Oct 13, 2009 System and method for improved media identification in a storage device Kottomtharayil, Rajiv
7457790 Nov 25, 2008 Extensible configuration engine system and method Kochunni, Jaidev O.; Klose, Michael F.; Prahlad, Anand; Kottomtharayil, Rajiv; Gokhale, Parag
7328285 Feb 05, 2008 Apparatus and method for writing information to a designated information storage medium with an allocated data storage device using a specified information recording format Encinas, Susan; Winarski, Daniel James
7644245 Jan 05, 2010 Systems and methods for detecting and mitigating storage risks Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G.; May, Andreas; Schwartz, Jeremy
7739381 Jun 15, 2010 System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh; Retnamma, Manoj Vijayan; Amarendran, Arun; Kottomtharayil, Rajiv
7769961 Aug 03, 2010 Systems and methods for sharing media in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Vijayan Retnamma, Manoj Kumar; Ngo, David; Devassy, Varghese
7831553 Nov 09, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7840533 Nov 23, 2010 System and method for performing an image level snapshot and for restoring partial volume data Prahlad, Anand; Ngo, David; Varadharajan, Prakash; Pawar, Rahual; Kumar, Avinash
7844573 Nov 30, 2010 Systems and methods for managing location of media in a storage system Amarendran, Arun Prasad; Kottomtharayil, Rajiv; Ilkal, Zahid
7882093 Feb 01, 2011 Managing copies of data Kottomtharayil, Rajiv; Gokhale, Parag; Lu, Jun
7979389 Jul 12, 2011 System and method for performing integrated storage operations Prahlad, Anand; Ngo, David; Zhou, Lixin; May, Andreas
8010769 Aug 30, 2011 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
8073969 Dec 06, 2011 Systems and methods for facilitating storage operations using network attached storage devices Littlefield, Duncan; Chen, Ho-chi; Kottomtharayil, Rajiv
7409509 Aug 05, 2008 Dynamic storage device pooling in a computer system Devassy, Varghese; Kottomtharayil, Raji; Vijayan Retnamma, Manoj Kumar
6480905 Nov 12, 2002 Data storage library with efficient cartridge insert Jesionowski, Leonard George; Travis, William Henry
7454569 Nov 18, 2008 Hierarchical system and method for performing storage operations in a computer network Kavuri, Srinivas; Madeira, Andre Duque
7155481 Dec 26, 2006 Email attachment management in a computer system Prahlad, Anand; De Meno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
7003641 Feb 21, 2006 Logical view with granular access to exchange data managed by a modular data and storage management system Prahlad, Anand; De Meno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
7174433 Feb 06, 2007 System and method for dynamically sharing media in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Vijayan Retnamma, Manoj Kumar; Ngo, David; Devassy, Varghese
7277941 Oct 02, 2007 System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh; Vijayan Retnamma, Manoj; Amarendran, Arun; Kottomtharayil, Rajiv
7343453 Mar 11, 2008 Hierarchical systems and methods for providing a unified view of storage information Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G.; May, Andreas; Schwartz, Jeremy
7500053 Mar 03, 2009 Method and system for grouping storage system components Kavuri, Srinivas; Prahlad, Anand; Vibhor, Anand; Gokhale, Parag
7082497 Jul 25, 2006 System and method for managing a moveable media library with library partitions Slater, Alastair Michael; Watkins, Mark Robert; Sparkes, Andrew Michael
7363425 Apr 22, 2008 System and method for securing drive access to media based on medium identification numbers Camble, Peter Thomas; Gold, Stephen; Crighton, Ian Peter; Ballard, Curtis C.
7543125 Jun 02, 2009 System and method for performing time-flexible calendric storage operations Gokhale, Parag
7581077 Aug 25, 2009 Method and system for transferring data in a storage operation Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh; Kumar, Avinash
7734593 Jun 08, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7734669 Jun 08, 2010 Managing copies of data Kottomtharayil, Rajiv; Gokhale, Parag; Lu, Jun
7792789 Sep 07, 2010 Method and system for collaborative searching Prahlad, Anand; DeMeno, Randy; Reddy, Rammohan G.; Brockway, Brian; Muller, Marcus S.
7765369 Jul 27, 2010 Method and system for selectively deleting stored data Prahlad, Anand; Gokhale, Parag; Oshinsky, David Alan
7822749 Oct 26, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7840537 Nov 23, 2010 System and method for storing redundant information Gokhale, Parag; Kottomtharayil, Rajiv
7865517 Jan 04, 2011 Managing copies of data Prahlad, Anand; Kavuri, Srinivas; Kottomtharayil, Rajiv; Amarendran, Arun Prasad
7882077 Feb 01, 2011 Method and system for offline indexing of content and classifying stored data Gokhale, Parag; Kottomtharayil, Rajiv; Attarde, Deepak R.; Ahn, Jun H.
7917473 Mar 29, 2011 Systems and methods of hierarchical storage management, such as global management of storage operations Kavuri, Srinivas; Kottomtharayil, Rajiv
7937393 May 03, 2011 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7937365 May 03, 2011 Method and system for searching stored data Prahlad, Anand; Kavuri, Srinivas; Kottomtharayil, Rajiv; Amarendran, Arun Prasad; Brockway, Brian; Muller, Marcus S.; May, Andreas
7962709 Jun 14, 2011 Network redirector systems and methods for performing data replication Agrawal, Vijay H.
8041905 Oct 18, 2011 Systems and methods for allocating control of storage media in a network environment Devassy, Varghese; Kottomtharayil, Rajiv; Vijayan Retnamma, Manoj Kumar
8041673 Oct 18, 2011 Hierarchical systems and methods for performing data storage operations Crescenti, John; Kavuri, Srinivas; Oshinsky, David Alan; Prahlad, Anand
8103829 Jan 24, 2012 Hierarchical systems and methods for performing storage operations in a computer network Kavuri, Srinivas; Madeira, Andre Duque
8112605 Feb 07, 2012 System and method for allocation of organizational resources Kavuri, Srinivas
8131725 Mar 06, 2012 Systems and methods for using metadata to enhance data identification operations Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
8086809 Dec 27, 2011 Interface systems and methods for accessing stored data Prahlad, Anand; De Meno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
6574641 Jun 03, 2003 Management of physical media volumes in partitions of an automated data storage library Dawson, Erika Marianna; Fisher, James Arthur; Peake, Jonathan Wayne; Schiltz, Linda Jean
7188149 Mar 06, 2007 Storage operating data control system Kishimoto, Toshimichi; Murakami, Masaharu; Mitsuoka, Yoshio; Murakami, Tatsuya
8190565 May 29, 2012 System and method for performing an image level snapshot and for restoring partial volume data Prahlad, Anand; Ngo, David; Varadharajan, Prakash; Pawar, Rahual; Kumar, Avinash
8209293 Jun 26, 2012 System and method for extended media retention Gokhale, Parag; Lu, Yanhui
7743205 Jun 22, 2010 Apparatus and method for virtualizing data storage media, such as for use in a data storage library providing resource virtualization Massey, Barry; Doerner, Don; Moore, Stephen; Rockenfeller, John; Leuschner, Jeff; Burling, Doug; Wideman, Roderick B.
8234249 Jul 31, 2012 Method and system for searching stored data Prahlad, Anand; Kavuri, Srinivas; Kottomtharayil, Rajiv; Amarendran, Arun Prasad; Brockway, Brian; Muller, Marcus S.; May, Andreas
8266397 Sep 11, 2012 Interface systems and methods for accessing stored data Prahlad, Anand; DeMeno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
8285681 Oct 09, 2012 Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites Prahlad, Anand; Muller, Marcus S.; Kottomtharayil, Rajiv; Kavuri, Srinivas; Gokhale, Parag; Vijayan, Manoj
8285685 Oct 09, 2012 Metabase for facilitating data classification Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
8291177 Oct 16, 2012 Systems and methods for allocating control of storage media in a network environment Devassy, Varghese; Kottomtharayil, Rajiv; Vijayan Retnamma, Manoj Kumar
8296301 Oct 23, 2012 Systems and methods for probabilistic data classification Lunde, Norman R.
8307177 Nov 06, 2012 Systems and methods for management of virtualization data Prahlad, Anand; Pawar, Rahul S.; Varadharajan, Prakash; Bedadala, Pavan Kumar Reddy
8346733 Jan 01, 2013 Systems and methods of media management, such as management of media to and from a media storage library Gokhale, Parag; Kottomtharayil, Rajiv
8346825 Jan 01, 2013 Stored data reverification management system and method Brockway, Brian; Gokhale, Parag; Lu, Jun
8352433 Jan 08, 2013 Modular backup and retrieval system used in conjunction with a storage area network Crescenti, John; Kavuri, Srinivas; Oshinsky, David Alan; Prahlad, Anand
7975061 Jul 05, 2011 System and method for performing multistream storage operations Gokhale, Parag; Kottomtharayil, Rajiv; Pawar, Rahul; Prahlad, Anand
8234417 Jul 31, 2012 Systems and methods of media management, such as management of media to and from a media storage library, including removable media Kottomtharayil, Rajiv; Retnamma, Manoj K. Vijayan
8055625 Nov 08, 2011 System and method for generating and managing quick recovery volumes Prahlad, Anand; May, Andreas; Pittaluga, Ivan; Alexander, John; Schwartz, Jeremy A.
7370173 May 06, 2008 Method and system for presenting contiguous element addresses for a partitioned media library Justiss, Steven A.; Kramer, Alexander; Gao, Linlin
7428613 Sep 23, 2008 System and method for centralized partitioned library mapping Justiss, Steven A.; Gao, Linlin; Tyndall, John F.
7454565 Nov 18, 2008 System and method for distributed partitioned library mapping Justiss, Steven A.; Gao, Linlin; Tyndall, John F.
7788413 Aug 31, 2010 Method and system for handling commands requesting movement of a data storage medium between physical media libraries Justiss, Steven A.; Kramer, Alexander
7941597 May 10, 2011 System and method for controlling access to media libraries Moody, II, William H.; Sims, Robert
6425059 Jul 23, 2002 Data storage library with library-local regulation of access to shared read/write drives among multiple hosts Basham, Robert Beverley; Jesionowski, Leonard George; Slawson, Stanley Bert
7739459 Jun 15, 2010 Systems and methods for performing storage operations in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Vijayan Retnamma, Manoj Kumar; Ngo, David; Devassy, Varghese
7757043 Jul 13, 2010 Hierarchical systems and methods for performing storage operations in a computer network Kavuri, Srinivas; Madeira, Andre Duque
7765167 Jul 27, 2010 Systems and methods for storage modeling and costing Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G.; May, Andreas; Schwartz, Jeremy
7827363 Nov 02, 2010 Systems and methods for allocating control of storage media in a network environment Devassy, Varghese; Kottomtharayil, Rajiv; Vijayan Retnamma, Manoj Kumar
7877351 Jan 25, 2011 Hierarchical systems and methods for performing data storage operations Crescenti, John; Kavuri, Srinivas; Oshinsky, David Alan; Prahlad, Anand
7984063 Jul 19, 2011 Managing copies of data Kottomtharayil, Rajiv; Gokhale, Parag; Lu, Jun
7987319 Jul 26, 2011 System and method for improved media identification in a storage device Kottomtharayil, Rajiv
8037031 Oct 11, 2011 Method and system for offline indexing of content and classifying stored data Gokhale, Parag; Kottomtharayil, Rajiv; Attarde, Deepak R.; Ahn, Jun H.
8051095 Nov 01, 2011 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
8055627 Nov 08, 2011 System and method for archiving objects in an information store Prahlad, Anand; May, Andreas; Wang, Zhao; Demeno, Randy; Iyer, Tinku
8112543 Feb 07, 2012 System and method for performing multistream storage operations Gokhale, Parag; Kottomtharayil, Rajiv; Pawar, Rahul; Prahlad, Anand
8161003 Apr 17, 2012 Selective data replication system and method Kavuri, Srinivas
8230171 Jul 24, 2012 System and method for improved media identification in a storage device Kottomtharayil, Rajiv
8285671 Oct 09, 2012 System and method for performing integrated storage operations Prahlad, Anand; Ngo, David; Zhou, Lixin; May, Andreas
8285683 Oct 09, 2012 System and method for storing redundant information Prahlad, Anand; Gokhale, Parag; Kottomtharayil, Rajiv; Retnamma, Manoj K. Vijayan; Attarde, Deepak R.
7434219 Oct 07, 2008 Storage of application specific profiles correlating to document versions De Meno, Randy; Schwartz, Jeremy A.; Prahlad, Anand; McGuigan, James J.
7346623 Mar 18, 2008 System and method for generating and managing quick recovery volumes Prahlad, Anand; May, Andreas; Pittaluga, Ivan; Alexander, John; Schwartz, Jeremy A.
7246207 Jul 17, 2007 System and method for dynamically performing storage operations in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Vijayan Retnamma, Manoj Kumar; Ngo, David; Devassy, Varghese
7315923 Jan 01, 2008 System and method for combining data streams in pipelined storage operations in a storage network Retnamma, Manoj Vijayan; Amarendran, Arun; Kottomtharayil, Rajiv
7389311 Jun 17, 2008 Modular backup and retrieval system Crescenti, John; Kavuri, Srinivas; Oshinsky, David Alan; Prahlad, Anand
7287047 Oct 23, 2007 Selective data replication system and method Kavuri, Srinivas
7490207 Feb 10, 2009 System and method for performing auxillary storage operations Amarendran, Arun Prasad; Vijayan Retnamma, Manoj Kumar; Prahlad, Anand; Gokhale, Parag; Lu, Jun
7343459 Mar 11, 2008 Systems and methods for detecting & mitigating storage risks Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G.; May, Andreas; Schwartz, Jeremy
7346751 Mar 18, 2008 Systems and methods for generating a storage-related metric Prahlad, Anand; Kavuri, Srinivas; Madeira, Andre Duque; Lunde, Norman R.; Bunte, Alan G.; May, Andreas; Schwartz, Jeremy
7539783 May 26, 2009 Systems and methods of media management, such as management of media to and from a media storage library, including removable media Kochunni, Jaidev O.; Chen, Ho-Chi; Retnamma, Manoj Kumar Vijayan
7539707 May 26, 2009 System and method for performing an image level snapshot and for restoring partial volume data Prahlad, Anand; Ngo, David; Varadharajan, Prakash; Pawar, Rahual; Kumar, Avinash
7631151 Dec 08, 2009 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7660807 Feb 09, 2010 Systems and methods for cataloging metadata for a metabase Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7725671 May 25, 2010 System and method for providing redundant access to metadata over a network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7631351 Dec 08, 2009 System and method for performing storage operations through a firewall Erofeev, Andrei
7747579 Jun 29, 2010 Metabase for facilitating data classification Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7831575 Nov 09, 2010 Library virtualisation module Trossell, David Paul; Dauchot, Jean-Jacques
7831795 Nov 09, 2010 Systems and methods for classifying and transferring information in a storage network Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.
7849059 Dec 07, 2010 Data classification systems and methods for organizing a metabase Prahlad, Anand; Schwartz, Jeremy Alan; Ngo, David; Brockway, Brian; Muller, Marcus S.
7890719 Feb 15, 2011 System and method for performing time-flexible calendric storage operations Gokhale, Parag
7802067 Sep 21, 2010 Interface systems and methods for accessing stored data Prahlad, Anand; De Meno, Randy; Schwartz, Jeremy A.; McGuigan, James J.
7958307 Jun 07, 2011 Method and system for grouping storage system components Kavuri, Srinivas; Prahlad, Anand; Vibhor, Anand; Gokhale, Parag
7962455 Jun 14, 2011 Pathname translation in a data replication system Erofeev, Andrei
8019963 Sep 13, 2011 Systems and methods for transferring data in a block-level storage operation Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh; Kumar, Avinash
8078583 Dec 13, 2011 Systems and methods for performing storage operations using network attached storage Prahlad, Anand; Schwartz, Jeremy
8108427 Jan 31, 2012 System and method for storage operation access security Prahlad, Anand; Kavuri, Srinivas
8121983 Feb 21, 2012 Systems and methods for monitoring application data in a data replication system Prahlad, Anand; Ngo, David
8166263 Apr 24, 2012 Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices Prahlad, Anand; Agrawal, Vijay H.
8170995 May 01, 2012 Method and system for offline indexing of content and classifying stored data Prahlad, Anand; Schwartz, Jeremy A.; Ngo, David; Brockway, Brian; Muller, Marcus S.; Gokhale, Parag; Kottomtharayil, Rajiv
8195623 Jun 05, 2012 System and method for performing a snapshot and for restoring data Prahlad, Anand; Ngo, David; Varadharajan, Prakash; Pawar, Rahul; Kumar, Avinash
8204859 Jun 19, 2012 Systems and methods for managing replicated database data Ngo, David
8230195 Jul 24, 2012 System and method for performing auxiliary storage operations Amarendran, Arun Prasad; Vijayan Retnamma, Manoj Kumar; Prahlad, Anand; Gokhale, Parag; Lu, Jun
8296475 Oct 23, 2012 Systems and methods for performing multi-path storage operations Kottomtharayil, Rajiv; Chen, Ho-Chi; Retnamma, Manoj Vijayan
8312323 Nov 13, 2012 Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved Gokhale, Parag; Kottomtharayil, Rajiv; Kavuri, Srinivas; Prahlad, Anand; Reddy, Suresh Parpatakam; Brower, Jr., Robert Keith; Meade, Jared
8341359 Dec 25, 2012 Systems and methods for sharing media and path management in a computer network Kottomtharayil, Rajiv; Gokhale, Parag; Prahlad, Anand; Retnamma, Manoj; Ngo, David; Devassy, Varghese
8326915 Dec 04, 2012 Pipeline systems and method for transferring data in a network environment Ignatius, Paul; Prahlad, Anand; Tyagarajan, Mahesh
7861011 Dec 28, 2010 Systems and methods of media management, such as management of media to and from a media storage library, including removable media Kottomtharayil, Rajiv; Retnamma, Manoj K. Vijayan
7451291 Nov 11, 2008 System and method for mode select handling for a partitioned media library Justiss, Steven A.; Gao, Linlin
7971019 Jun 28, 2011 System and method for controlling access to multiple physical media libraries Tyndall, John F.; Moody, II, William H.
7584227 Sep 01, 2009 System and method for containerized data storage and tracking Gokhale, Parag; Kottomtharayil, Rajiv

Description

(click to expand)

RELATED APPLICATIONS


This application is a continuation-in-part of U.S. application Ser. No. 08/786,702, also entitled “Virtual Media Library” and filed on Jan. 23, 1997 now abandoned. The disclosure of U.S. application Ser. No. 08/786,702 is hereby incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION


The present invention relates to data processing systems and, more specifically, to automated data storage and retrieval systems which comprise a library of media elements as well as one or more drives for reading from and writing to the media elements in the library.

Magnetic tape cartridges, magnetic disks, and optical disks are all widely used as peripheral memory storage devices for computer systems. Large computer systems often operate in conjunction with external libraries having dozens of such media elements as well as the media element readers used to retrieve and record data. Although originally such media elements were selected and loaded manually, automated libraries were developed to expedite the handling of the media. These systems include means for accessing a desired media element, retrieving it from its storage position, and loading it into an appropriate reader. More recently, instruction sets have been created which define a communication protocol between the host computer system and the library. The instruction sets include commands to move media to different locations within the library and, of course, to load media into drives, place the media in a particular logical position, and read or write from and to specified regions of the media.

As data storage requirements for computer systems have increased front megabytes to gigabytes to terabytes, the development of automated media libraries has received considerable attention. Some embodiments of such libraries comprise a small number of media elements, six or ten being typical, and one or two drives housed in a single enclosure. Cabinet and even room sized systems have also been developed which hold a much larger number of media elements and drives, and which further comprise robotic arms, often translatable on all three axes, which remove media elements from storage and place them in drives. Furthermore, due to the increasing use of wide-area-networks, interconnected library systems forming a single dispersed database have become more common.

However, one problem with traditional library systems is that only one host computer may be effectively attached to a library at a time. This is a result of the fact that host computers attached to the library keep a log of the contents of the media contained in the library. If a second computer is attached to the same library, the second computer may modify the contents of the library which is being relied upon by the first computer. This poses a problem for network system administrators which prevents the use of cost effective large library systems. Typically, separate file servers in a network will have a dedicated small media library for use by the particular host file server. Data transfer requests from network clients must be routed to the library through the appropriate host. Data storage flexibility is thus reduced and data storage capacity is rendered more expensive because multiple physical libraries are required.

Accordingly, a need exists in the art for improvements in the distribution of data, storage capacity among a plurality of computers such as are present in a computer network.

SUMMARY OF THE INVENTION


In one embodiment, the invention comprises a media element library having at plurality of input-output interfaces, or alternatively a network interface, for communicating with a plurality of host computers. The library may comprise a plurality of media elements, wherein each media element is a member of one of a plurality of separate subsets of the plurality of media elements, and wherein each of the plurality of separate subsets is assigned for read/write access solely to a respective one of the plurality of host computers.

Methods of storing and retrieving data are also provided. In one embodiment, such a method comprises transparently allocating a first set of media element library resources to use by a first host computer and transparently allocating a second set of media element library resources to use by a second host computer. With this method, the first host computer and the second host computer may store and retrieve data to and from separate portions of the media element library without interfering with one another.

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a cutaway perspective view of the physical layout of a magnetic tape library.

FIG. 2 is a block diagram of the interconnections between the components of the tape library of FIG. 1 and a host computer system.

FIG. 3 is a block diagram of the interconnections between the components of a second embodiment of a data storage system.

FIG. 4 is a block diagram of the interconnections between the components of a third embodiment of a data storage system.

FIG. 5 is a block diagram of the library controller of FIG. 2.

FIG. 6 is a block diagram of the library controller of FIG. 3.

FIG. 7 is a block diagram of the library controller of FIG. 4.

FIG. 8 is an illustration of an industry standard format for a library status request command issued by a host computer.

FIG. 9A is an illustration of an industry standard format for the header portion of a library response to the status request command of FIG. 4.

FIG. 9B is an illustration of an industry standard format for a data portion of a library response to the status request command of FIG. 4.

FIG. 10 is an illustration of an industry standard format for a move medium request issued by a host computer.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT


Preferred embodiment of the present invention will now be described with reference to the accompanying Figures, wherein like numerals refer to like elements throughout. The terminology used in the description presented herein is intended to be interpreted in its broadest reasonable manner, even though it is being utilized in conjunction with a detailed description of certain specific preferred embodiments of the present invention. This is further emphasized below with respect to some particular terms used herein. Any terminology intended to be interpreted by the reader in any restricted manner will be overtly and specifically defined as such in this specification.

A cutaway view of an example tape cartridge library system is illustrated in FIG. 1. It will be appreciated, however, that as described briefly above, media libraries come in many forms, and include a wide array of media types such as optical disk as well as magnetic tape, and also include a variety of different numbers of drives, tapes, and robotic arms for media transportation. Such differences in media type and hardware configuration do not affect the applicability of the present invention to these diverse styles of library. Accordingly, the system described in conjunction with the following figures is exemplary only.

Referring now to FIG. 1, a cutaway perspective view of a preferred magnetic tape library system 10 incorporating two tape drives 12 and 13 and a tape storage magazine 14 is illustrated. Further provided inside library 10 is a power supply (not shown) as well as a library control module 16. The circuitry of the library control module 16 and its response to commands from an external host computer (not shown in FIG. 1) are described in more detail below with reference to FIGS. 3-7.

The library 10 also preferably includes a media transporter 18 which may be threadably secured to a drive shaft 20, which is in turn secured just above the floor of the library 10 in bearings on the front and rear panels. Lateral motion of the media transporter 18 is produced by a motor 24 which is secured to the inside of the library 10 housing, and which has a rotor coupled to the threaded drive shaft 20 by a drive belt 26. In a library configured as shown in FIG. 1, the media transporter moves back and forth along the drive shaft 20 so as to be adjacent to tape drive 12, tape drive 13, or any of the storage slots in the tape storage magazine 14. Overall operation of the library 10 proceeds as follows. Upon the receipt of commands from the library control module 16, the media transporter 18 is positioned in front of a particular tape cartridge 30 in the magazine 14. The media transporter 18 pulls the tape cartridge 30 from the magazine 14 into its own housing, and then travels toward the rear of the library 10.

When adjacent to the appropriate drive 12 or 13, the media transporter 18 pushes the tape cartridge 30 out of its housing and into the drive 12, 13. It can be appreciated that a variety of functions can be performed by the media transporter 18 in addition to loading a tape cartridge into a drive. For example, a tape cartridge could be moved to a different empty storage location in the magazine 14. In one preferable library embodiment, a pass through slot 28 is provided so that the media transporter 18 can eject tape cartridges out of the library 10. If desired, a second media transport device can be utilized to move such an expelled tape cartridge to another library. Other library configurations adapted for use with the present invention in addition to that shown in detail in FIG. 1 have been developed. For example, library systems are described in U.S. Pat. No. 5,285,333 to Barr, et al., U.S. Pat. No. 5,388,946 to Baur, U.S. Pat. No. 5,429,470 to Nicol et al., and U.S. Pat. No. 5,277,534 to Anderson et al. being several examples. The disclosures of each of these patents are hereby incorporated by reference in their entireties. It should also be kept in mind that libraries of other media types such as optical disks are also contemplated for use in conjunction with the present invention.

As will also be illustrated below, the media transporter 18 is under the direct control of the library control module 16. The library control module 16 further receives commands from a host computer system which direct it to produce, in the library 10, action desired by the host system. In some embodiments of the library 10, the library control module 16 can also interface with users through a physical keypad/display unit 32.

FIG. 2 illustrates a library 10 interfaced to a single host computer 36 through a communication bus 38a coupled to the library control module 16, which may advantageously be of Small Computer System Interface (SCSI) format. The host computer system 36 may be a personal computer, a mainframe, a local area network server, or any of a wide variety of data processing apparatus well known to utilize media, libraries for data storage. The communication bus 38 connects to the library control module 16 inside the library 10 itself. As is further shown in FIG. 2, the library control, module 16 is also preferably interconnected to a keypad/display unit 32, for communicating a relatively limited set of commands and status messages between the control module 16 and a library user.

The host computer system 36 also communicates with each drive 12, 13 over a communication bus 38b. This communication bus 38b may also advantageously be of Small Computer System Interface (SCSI) format, and as illustrated in FIG. 2, may comprise the same SCSI bus as the bus 38a used to communicate with the library control module 16. The library control module also communicates with the media transporter 18 through another communication bus 44. Also illustrated in FIG. 2 are media storage locations 46a through 46j. In the illustrated example, storage locations 46c, e, and f are vacant, and the remainder house magnetic tape cartridges.

In normal operation, the library 10 receives commands from an application program such as an automated data backup program running on the host computer system 36. These commands are interpreted by the library control module 16, which then carries out the commands by returning status information to the host and by appropriately controlling the actions of the media transporter 18. As mentioned above, the library control module 16 may also interface with library users through a keypad/display unit 32 via another communication link 46. Simple commands such as a reset command and certain status messages may be relayed via this interface.

One aspect of the present invention is directed to the configuration of the library control module 16 and its responses to commands received from the host computer system 36. As is explained in detail below, a preferred media library 10 in accordance with the present invention will interpret and execute identical commands from the host computes system 36 in different ways depending upon how the library user configures the library control module 16. In an especially advantageous embodiment, this different command execution is transparent to the host computer 36. As the physical nature of the library is in, this way hidden from the host computer system 36, it may be stated that the host 36 is, interfacing with a “virtual library”, which appears to have a particular configuration of tapes, drives, and data which is different from the actual physical configuration of tapes, drives, and data in the library 10.

FIGS. 3 and 4 illustrate two embodiments of the invention. FIG. 3 illustrates the library 10 connected to a plurality of host computers 37 wherein each of the plurality of host computes is allocated a subset of the total number of media storage locations 46a through 46j. FIG. 4 shows the library 10 connected to a plurality of host computers 39 through a network connection. Each of these three embodiments will be described in further detail below.

Referring now to FIG. 3, in a second embodiment a plurality of host computers 37 each have a communication bus 39a, 39b, 39c connected to the library controller 16. In the embodiment of FIG. 3, these communication busses are independent. They may, however, comprise a common bus such as a common SCSI bus. When a common SCSI bus is used, for example, library controller 16 response to commands issued by the different hosts 37 will vary depending on the SCSI ID of the host 37 which issued the command. In this embodiment, each of the media storage locations 46a through 46j are grouped into one of three sets 31, 33, and 35. Each of the sets 31, 33, 35 are allocated by the controller for use by one of the three host computers 37, respectively. As the controller allocates the storage locations among the host computers, each subset of the media elements 30 present in a given group of storage locations is available for read/write access to one of the host computers, but is unavailable for read/write access to the other host computers. Advantageously, the allocation is transparent to the separate hosts, effectively creating a plurality of “virtual libraries” which are independently used by each of the three host computers. In the specific embodiment of FIG. 3, set 31 has two media locations 46a and 46b. Set 33 has five media locations 46c through 46h, and set 35 has three media locations 46h through 46j.

The allocation of each of the storage locations 46a through 46j may be programmed into the controller 16 through the use of the keypad/display unit 32. Alternatively, the allocation of each of the storage locations may be implemented by sending appropriate configuration commands from one of the host computers 37 to the library control module 16. It may also be appreciated that the allocation of each the number of the media locations 46a through 46j may be dynamically altered depending on requirements of the host computers 37. For example, a system administrator may decide to remove the media locations 46c and 46d from set 33 and the add media locations 46c and 46d to set 31 by re-programming the controller's allocation of media. By allocating a subset of the media locations 46a through 46j for use by each of the host computers, the risk is eliminated that one of the host computers 37 will disadvantageously modify the data that is being relied won by one of the other host computers 37.

To further reduce the risk of conflict between the host computers 37, each of the drives 12, 13, and 15 present in the media library 10 may be reserved for read/write access by respective ones of the host computers 37. Preferably, there is at least one drive in the library per host computer 37. It will be appreciated that there may be additional drives, and these additional drives may also be allocated among the several hosts. For example, one host may be allowed access to a specific set of three drives, one to a set of two drives, and the remaining hosts to one drive each. Additionally, the library 10 may have a plurality of media transporters (not shown), wherein each of the plurality of robots is dedicated for use by one of the host computers 37. The drives are also connected to the host computers 37 via a communication bus 39d. This communication bus 39d also may comprise several independent busses, may be a single bus, or may be common to the bus 39a, 39b, 39c connecting the hosts 37 to the library control module 16.

Referring to FIG. 4, multiple host computers 37 are connected by a network 41 to a media element library 10. In this embodiment, therefore, the library itself comprises a network interface for direct communication with a plurality of hosts. Library controller 16 response to commands may vary with the IP address of the issuing host, for example, to again by create “virtual libraries” for each host. As with the embodiment described with reference to FIG. 3, different portions of the media locations 46a through 46j are allocated by the controller 16 for use by different host computers 37. The network 41 may include any type of electronically connected group of computers including, for instance, the following networks: Internet, Intranet, Local Area Networks (LAN) or Wide Area Networks (WAN). In addition, the connectivity to the network may be, for example, remote modem, Ethernet (EEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Datalink Interface (FDDI) or Asynchronous Transfer Mode (ATM). Note that computing devices may be desktop, server, portable, hand-held, set-top, or any other desired type of configuration.

Each of the host computers 37 includes a converter (not shown), which converts a media storage command from an application running on the respective host computer into a network command. The converter sends the network command over the network 41 to the library controller 16. By connecting the library 10 directly to a network 41, each of the host computers 37 need not have an individual connection to the library 10. In this embodiment, the controller 16 is configured to convert network commands into appropriate internal library commands (such as SCSI commands) which are used to control the media transporter 18 and the drives 12, 13.

In analogy with the embodiment of FIG. 3, virtual libraries are created by configuring the controller such that each of the host computers 37 have one of the sets of media element storage locations 31, 33, and 35, 43 transparently allocated for their respective use, thereby eliminating any conflict between the host computers 37 for the same media element. Similar to the allocation process for the embodiment of the invention shown in FIG. 3, the allocation of each of the storage locations 46a through 46j may be made through the use of the keypad/display unit 32. Alternatively, the assignment of each of the storage locations may be implemented by sending a command from one of the host computers to the library control module 16. Also as described above, the allocation of each of the media locations 46a through 46j may be dynamically altered depending on requirements of the host computers.

Referring now to FIGS. 5, 6, and 7, the components of the library control module 16 are described below for each of the embodiments shown in FIGS. 2, 3 and 4, respectively. For each of these embodiments, the implementation of the virtual library is advantageously done inside the library control module 16.

Referring now to FIG. 5, the library control module 16 includes a microprocessor circuit 50, which may advantageously comprise an Intel 386, 486, or Pentium (TM) processor chip. The microprocessor 50 interfaces with a memory and I/O bridge 54 via a host bus 56. The memory and I/O bridge 54 in turn interfaces with an I/O bus 58 and a memory bus 60, and functions to buffer data and command transfers to and from the microprocessor 50. The memory and I/O controller 54 also create a direct memory access (DMA) channel between the I/O devices and the library control module mass memory 64.

In a preferred embodiment of the present invention, the memory of the library control module 16 comprises two portions, a data and instruction memory portion 64, and a configuration memory portion 66. The data and instruction memory stores instructions processed by the microprocessor 50. The library control module 16 also preferably comprises a configuration memory 66. The configuration memory is for storing information relating to the user defined “virtual” configuration of the library. In a preferred embodiment, the configuration memory 66 is non-volatile, comprising a battery, backed up RAM, EEPROM, flash memory, or other non-volatile memory device. This allows the library 10 to retain its virtual configuration information when the library is powered down.

The I/O bus 58 of the library control module 16 is connected to the host computer 36 through an industry standard SCSI interface circuit 68. The SCSI I/O circuit coordinates command and data flow between the host computer 36 and the microprocessor 50 of the library control module 16. The I/O bus 58 of the library control module 16 is also connected to a device I/O circuit 70 for interfacing with the media transporter 18 inside the library 10, and further is connected to a keypad I/O circuit 72 for interfacing with the front panel keypad 32.

In operation, the library control module 16 receives commands and data from the host computer system 36. In one preferred embodiment of the present invention, the commands issued by the host computer 36 are among the set of industry standard SCSI commands developed for host-library communication. These commands are interpreted by a program being run by the microprocessor 50, which controls the operations of the media transporter 18 in accordance with host commands. As mentioned above and explained in detail below with reference to FIGS. 8 through 10, it is one aspect of a preferred embodiment of the present invention that the commands received from the host computer 36 are interpreted and/or handled differently depending on the information stored in the configuration memory 66. It will be appreciated by those skilled in the art that various computer architectures could be utilized to produce the configuration dependent interpretation and execution of commands from the host computer system 36. Accordingly, the data flow illustrated in FIG. 3 is intended to be exemplary rather than limiting.

Referring now to FIG. 6, a second embodiment of the library is illustrated having multiple input-output interfaces for communication with a plurality of host computers. Thus, FIG. 6 illustrates some of the internal components of a library control module 16 suitable for use in the system shown in FIG. 3. The I/O bus 58 of FIG. 6 is connected to the host computers 37 through a plurality of, for example, industry standard SCSI interface circuits 68. As mentioned above with reference to FIG. 3, these communication busses could also be consolidated onto a single bus. Data flow and communication protocols may be analogous to that described above with reference to FIG. 5. In one application, the configuration memory 66 stores information which defines media element membership in subsets of available media elements which are allocated to specific host computers 37.

In FIG. 7, a third embodiment of the library control module 16 is illustrated which is suitable for use in the data storage system of FIG. 4. The I/O bus 58 of the library control module 16 shown in FIG. 7 includes a network interface port 75 for communicating with a plurality of host computers 39 through a computer network. The network circuit 75 coordinates command and data flow between the host computers 39 and the microprocessor 50 of the library control module 16. Similar to the other embodiments, the I/O bus 58 of FIG. 7 is also connected to a device I/O circuit 70 for interfacing with the media transporter 18 inside the library 10, and further is connected to a keypad I/O circuit 72 for interfacing with the front panel keypad 32. Once again, the configuration memory 66 may store information which defines media element membership in subsets of available media elements which are allocated to specific host computers 39.

The function of the library control module 16 and its processor 50 is the interpretation and execution of commands received from the host computer system 36 or multiple host computer systems 37, 39. For example, a host computer may instruct the library to move a media element from one storage location to another, or may instruct the library to read or write at a particular location on a media element In preferred embodiments of the present invention, as well as on many prior art library systems, these instructions are interpreted and carried out by a software program running on the library control module. In a SCSI interface implementation of a library, as in one example described herein, such commands issued by a host computer system are defined by a standard library command set defined by industry convention. Although commands to the library 10 from a host computer may be of any format as long as the library 10 is designed and programmed to understand the commands being issued by the host, the industry standard SCSI host-library communication protocol is used herein as an example of one embodiment of the present invention.

Referring now to FIG. 8, several of the significant features of the SCSI command referred to as a “read element status” command are illustrated. When this command is issued by a host computer 36 to the library 10, the library 10 returns information to the host computer regarding the library configuration including the number of media elements, drives, and robots. This command is comprised of several important portions. First, an opcode field 80 assigned to this instruction, and second a series of parameters for informing the library 10 what status information a given host computer 36, 37, 39 wish to receive. The parameters include (1) an element type field 82, which indicates what type of element, i.e. media elements, drives, and/or robots, should be reported on by the library 10, (2) an element starting address 84, indicating the lowest address of the specified element type which should be reported by the library 10. The command also includes additional parameters such as an allocation length field, specifying how much memory has been allocated by the host for data received from the library 10 in response to the command.

The standard format response to one particular read element status command requesting status information regarding the media element storage slots is illustrated in FIGS. 9a and 9b. The response comprises an eight byte header illustrated in FIG. 9a, followed by several twenty-six byte storage element status pages, one for each storage slot being reported. Referring now to FIG. 9b, the header comprises information concerning the first element address reported 88, the number of elements being reported 90, and the total number of bytes of information 92 of available status information regarding the media element storage locations.

FIG. 9a illustrates the content of each returned status page containing information regarding the media element storage slots reported by the library 10. The information in the status page includes (1) an element type code 94, which in this instance would be the element type code assigned to media element storage slots, (2) the address of the storage slot 96 being reported in this particular status page, (3) an access bit 98 indicating whether or not the media transporter 18 is allowed access to this slot, (4) a full bit 100, indicating whether or not a media element such as a tape cartridge is contained in the slot, and (5) a source address field 102, indicating the address which last contained the media element currently stored in the slot being reported.

It can be appreciated that a conventional library will respond to the read element status command of FIG. 8 with information concerning the physical configuration of the library. For example, a read element status command could request information concerning any one or all of the of drives, storage slots, or robots in a media library. As seen above, a conventional library response would include the total number and addresses of the elements requested, the presence or absence of media elements in storage slots, as well as other information about the library 10, and this information would correspond directly to the physical configuration of the library 10. Other host commands which are issued to a library also fit this paradigm.

In FIG. 10, for example, the format of the “move media” command is illustrated. This command includes an opcode field 104, and additionally includes (1) the address 106 of the robot to be used to perform the transfer, (2) the current address 106 of the media element to be moved, and (3) the destination address 110 that the media element is to be moved to. In a conventional library 10, each storage slot is assigned an address, and accordingly, this command causes the transfer of one media element from a first defined physical location to a second defined physical location. There is, therefore, a direct correspondence between command parameters such as storage slot addresses and the physical configuration of the library 10.

In the preferred library 10 of the present invention however, the correspondence between addressed elements and action taken by the library 10 can vary such that the host computers 36, 37, 39 send commands based on a virtual library configuration that is different from the physical configuration actually present.

Such an interface to a virtual library can improve library performance characteristics as seen by the host computers 36, 37, 39 without complicating the set-up, maintenance, or creation of application software utilizing the library 10 as a data storage device. Data storage system flexibility may therefore be enhanced by allowing a plurality of host computers to each interface to a virtual library comprising a subset of physical library resources. By making the resource allocation being utilized by the library 10 transparent to the host computer system or systems, however, the library's response to host commands must be altered, and must further be altered in different ways depending on the host computer issuing the command.

When the controller is configured to simultaneously communicate with a plurality of hosts, groups of media elements may be allocated for use by only one of the plurality of hosts. Also, individual ones or specific groups of drives may also be allocated for use by only one of the plurality of hosts. The library response to a read element status command will thus differ depending on the host which issued the command. The response will only include those library resources which are available to that particular host. With respect to, for example, the move media and write commands of FIGS. 10 and 11, the controller may remap source and destination addresses from the virtual configuration seen by the host to the appropriate physical resources allocated to that host.

Another function performed by the controller in multi-host mode is the queuing and prioritization of commands received from the plurality of host computers. When the library receives commands from other hosts before completing a command from a first host, the additional commands are queued in a memory in the controller. The commands may then be sequentially performed either in the order received, or in a different order if library efficiency of operation may be improved by promoting some commands above others in the queue.

It can be appreciated from the foregoing that a preferred media library according to the present invention is user configurable for various combinations of fault tolerance and data transfer performance while retaining an appearance to a host computer system as a conventional media library. The implementation of such fault tolerance and data transfer enhancements requires no modification of application software running on the host system 36. The actual user configuration of the library 10 can occur in several ways. In a preferred media library, the keypad interface 18 allows library 10 configuration via the keypad. Most preferably, the user can scroll through and choose from a list of pre-defined configuration options, or define their own from scratch through the keypad interface. Alternatively, a second SCSI, RS232, or other communication interface can be provided on the library which is dedicated to interfacing with a PC or other computing device which is independent from the host The PC would run software which would download configuration parameters to the library. As another alternative, a software program which can be run on the host system is used to load the configuration memory 66 with the desired parameters via SCSI communication with the library. This last alternative, however, may require the generation of several separate host configuration control programs which are compatible with different host library control programs being used at different library installations.

The foregoing description details certain preferred embodiments of the present invention and describes the best mode contemplated. It will be appreciated, however, that no matter how detailed the foregoing appears in text the invention can be practiced in many ways. Details of the library status reporting to the host may vary considerably in its details, while remaining within the spirit and scope of the invention disclosed herein. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the present invention should not be taken to imply that the broadest reasonable meaning of such terminology is not intended, or that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated. The scope of the present invention should therefore be construed in accordance with the appended Claims and any equivalents thereof.

Patent 6328766 has been saved.
View workspace.

Welcome to Archpatent!



Want to be "in the know" about patents and patent searching?


Close this box to view patent #6328766