WO2003025756A2 - A system and method for the allocation of network storage - Google Patents

A system and method for the allocation of network storage Download PDF

Info

Publication number
WO2003025756A2
WO2003025756A2 PCT/US2002/030103 US0230103W WO03025756A2 WO 2003025756 A2 WO2003025756 A2 WO 2003025756A2 US 0230103 W US0230103 W US 0230103W WO 03025756 A2 WO03025756 A2 WO 03025756A2
Authority
WO
WIPO (PCT)
Prior art keywords
storage
network
attributes
storage locations
locations
Prior art date
Application number
PCT/US2002/030103
Other languages
French (fr)
Other versions
WO2003025756A3 (en
Inventor
Thomas Jaskiewicz
Milan M. Shetti
Original Assignee
Sun Microsystems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems, Inc. filed Critical Sun Microsystems, Inc.
Priority to AU2002327686A priority Critical patent/AU2002327686A1/en
Publication of WO2003025756A2 publication Critical patent/WO2003025756A2/en
Publication of WO2003025756A3 publication Critical patent/WO2003025756A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the illustrative embodiment of the present invention relates generally to network storage and more particularly to dynamic allocation of network storage.
  • Network storage systems typically include storage devices situated at different locations.
  • the storage devices are typically located remotely from the sources of data being stored on the storage devices.
  • the storage devices are magnetic disk drives configured into a RAID system.
  • RAID is an acronym for Redundant Array of Inexpensive/Independent Disks.
  • Network storage allocations involve the assigning or matching of a storage location with a storage owner.
  • a "storage owner" is a process or device which has permission to write or read data to and from a storage location.
  • the allocation of storage is done manually by a system administrator for the network.
  • the system administrator is the person responsible for overseeing administration of the network.
  • the allocation involves the system administrator directing a storage operation or making certain storage locations are available for programmatic storage. For example, the storage allocation may be performed by the system administrator requiring a network device to back up data periodically to a particular RAID set. Alternatively, the system administrator may select certain storage locations and make them available to be utilized by processors and devices on a first come first served basis.
  • the allocation may result from the system administrator directly entering commands on a keyboard , or the allocation may be the result of the system administrator initiating a program which performs a backup of data on particular devices programmatically.
  • this sort of manual storage allocation requires increasing amounts of system administrator time as the amount of network storage available to be allocated increases.
  • the sheer size of some current RAID systems, such as those with terabytes of available storage makes the process of a system administrator manually allocating network storage increasingly inefficient. Moreover, this process is subject to human error.
  • the illustrative embodiment of the present invention provides a method for automating the management of allocation of network storage.
  • the illustrative embodiment enables a system administrator or other authorized user to set policies for network storage that are automatically implemented by software. Available storage locations are dynamically located. The network storage policy is interpreted and applied to the available storage locations. By automating the storage allocation process, the storage policy is applied consistently without system administrator participation being required, thus allowing a system administrator to devote more time to other network management responsibilities.
  • multiple storage locations are interfaced with a network.
  • a software facility capable of identifying and allocating to owners available storage locations based on attributes possessed by the storage locations.
  • the software facility receives a network storage policy with attribute requirements from an authorized user such as a systems administrator.
  • the software facility programmatically applies the network storage policy in storage allocation decisions by matching the attribute requirements of the storage policy with identified attributes of the storage locations.
  • a host electronic device with a software facility is interfaced with a network. Also interfaced with the network are multiple devices with storage locations.
  • the software facility dynamically locates available and non-allocated storage locations on the network.
  • the available storage locations are identified by attributes.
  • the software facility allocates the available storage locations in response to requests for storage.
  • the request for storage includes attributes which are matched to the attributes of the network storage locations. Once allocated to a process or device, the process or device has the right to read and write data directly to and from the allocated storage location.
  • a host electronic device is interfaced with the network.
  • a software facility is also interfaced with the network at a location remote from the host electronic device.
  • the network includes a plurality of devices with storage locations.
  • the storage locations are identified by attribute by the software facility.
  • the method of the present invention then allocates storage locations to owners on the network based on the attributes of the storage locations.
  • Figure 1 is a block diagram of an environment suitable for practicing an illustrative embodiment of the present invention
  • Figure 2 is a block diagram of an alternate environment suitable for practicing an illustrative embodiment of the present invention
  • Figure 3 is a flow chart of the sequence of steps followed by the method of the present invention which is used to detect and allocate storage locations;
  • Figure 4 is a block diagram depicting the list of storage devices and associated storage attributes in an illustrative embodiment of the present invention
  • Figure 5A is a block diagram of storage pools created by the method of the present invention
  • Figure 5B is a block diagram of the storage pools of Figure 5A at a later time.
  • the illustrative embodiment of the present invention enables a system administrator to set a network policy for storage allocation.
  • the method of the present invention dynamically identifies network storage locations by attribute and matches storage locations with processes and devices requiring network storage with certain attributes.
  • An attribute is a characteristic that can be used to distinguish one device from another.
  • an attribute for a magnetic disk drive is the size of the storage medium.
  • Other attributes for a magnetic disk drive include its location and data access speed.
  • the administrator may specify network wide minimum attributes for all network storage, or the system administrator may provide different storage policies for different processes and devices.
  • the implementation of the network storage policy may be completely automated. Alternatively, the system administrator may manually allocate network storage for particular storage operations while automating the remainder of the storage operations.
  • FIG. 1 depicts an environment suitable for practicing the illustrative embodiment of the present invention.
  • a host electronic device 2 is interfaced with a network 12.
  • a host electronic device 2 is a system containing data which is typically accessed by a user from a remote location. Examples of host electronic devices 2 with storage needs are mail servers and web servers.
  • the host electronic device 2 includes a software facility for allocating network storage, referred to herein as a "storage allocator" 3. Also located on the host electronic device 2 is a list of storage devices and their associated attributes 4. Additional host electronic devices 6 and 10 are also interfaced with the network 12.
  • a storage apparatus 14, such as a RAID system, is also interfaced with the network 12.
  • the storage apparatus 14 includes a RAID volume controller 16 and a plurality of magnetic disk drives for storage 18, 20, 22, 24, 26, and 28.
  • the storage allocator 3 may specify that the host electronic devices 2, 6 and 10 back up all data on RAID sets with specified attributes controlled by the RAID volume controller 16 on the storage apparatus 14. The various mechanisms used by the storage allocator 3 to identify and allocate storage locations are described in more detail below.
  • SLP Service Location Protocol
  • IETF Internet Engineering Task Force
  • IETF Internet Engineering Task Force
  • the protocol utilizes the concept of User Agents, Service Agents and Directory Agents.
  • Applications running on a computer are represented by User Agents which understand the service and resource needs of the application.
  • the storage allocator 3 may have a User Agent.
  • Network devices, such as storage devices, are each represented by a Service Agent.
  • Some networks have Directory Agents. The Service Agent of an available device multicasts a request message for any Directory Agents on the network to make contact.
  • the Service Agent unicasts a registration message to each responding Directory Agent.
  • the registration message includes the type of device the Service Agent is representing, the device's attributes, and the device's Uniform Resource Locator (URL ) address.
  • a User Agent needs a particular service, it sends out a service request which includes both the type of service and attributes desired.
  • the network possesses a Directory Agent, the Directory Agent responds with a list of eligible devices and the devices' Uniform Resource Locators ( URLs ). If there is no Directory Agent on the network, the User Agent multicasts its service request on the network and the Service Agents for devices whose attributes match those requested respond directly to the User Agent.
  • SLP the storage allocator 3 may be kept apprised of changing network storage conditions.
  • JIROTM technology Another mechanism that may be used to determine available storage locations is the use of JIROTM technology, available from Sun Microsystems, Inc. of Palo Alto, California.
  • a JIROTM enabled device broadcasts a JIROTM event announcing the presence of the device on the network upon first being attached to the network.
  • JIROTM technology is explained in detail at www.jiro.org.
  • the event message includes a description of the device attributes.
  • a JIROTM "bean” (a "bean” is a piece of software code constructed from a reusable code library ) previously deployed on the network by the system administrator notes the presence of the storage device and informs the storage allocator 3 of the identity and attributes of the storage device.
  • SLP and JIROTM technology to track available network storage devices are illustrative examples of methods used in keeping track of network storage devices, but are not the exclusive methods available within the scope of the present invention.
  • FIG. 2 depicts an alternate environment suitable for practicing an illustrative embodiment of the present invention.
  • Host electronic devices 2, 6, and 10 are interfaced with a network 12.
  • a data management center 32 upon which the storage allocator 3 resides.
  • the data management center 32 is a networked device providing data services such as "point in time copying". "Point in time copying" allows a volume of data to be copied at a particular time, a snapshot of everchanging data, rather than copying the data when the volume is changed.
  • the network 12 is also interfaced with a storage apparatus 14, ( a RAID system ).
  • the storage apparatus 14 includes RAID volume controller 16 and magnetic disk drives 18, 20, 22, 24, 26, and 28.
  • the method of the present invention enables the storage allocator 3 and the list of storage devices and associated attributes 4 to be located anywhere on the network.
  • the method of the present invention involves first identifying attributes of a storage location and then allocating a storage location to an owner based upon one or more of the storage location attributes.
  • Figure 3 is a flow chart of the steps followed by an embodiment of the present invention to identify and allocate storage locations.
  • the storage allocator 3 first identifies available storage locations by attribute (step 36 ). As noted, two ways of identifying available storage locations are through the use of SLP or as the result of notification of a JIROTM event. Once the storage location has been identified, the storage allocator 3 records the attributes of the storage location. The attributes may be recorded at any storage location on the network which is accessible to the storage allocator 3. An authorized user, such as a system administrator, requests storage from the storage allocator 3 ( step 38 ).
  • the user's request includes storage location attributes desired by the user.
  • the request may be in the form of a specific request from a particular device or process, or the request may be part of an automated network wide storage policy set by a system administrator.
  • the policy may apply to the entire network or to only specific portions of the network.
  • the network policy may apply to all devices and processes on the network or only a portion of the devices and processes on the network.
  • the network storage policy may be input into the storage allocator 3 in a number of ways.
  • the systems administrator may select certain storage attributes to be applied to the network from available choices in pull down menus.
  • the storage allocator 3 may accept input text instructions which are parsed to establish attributes to be applied to network storage operations. Attributes which are input into the storage allocator 3 are stored as requirements for selected storage operations. Those skilled in the art will recognize that there are multiple ways of inputting storage attribute parameters into the storage allocator 3 that are within the scope of the current invention.
  • the requested storage attributes are compared with the attributes of the available storage locations (step 40 ). A determination is made as to whether there is a match based on the comparison (step 42 ). If a match of the requested storage attributes is found in an available storage location, the storage location is allocated to a specific process or device in response to the request (step 48 ). If a match between the requested attribute and the attributes in the available storage locations is not found (step 42 ), the storage allocator 3 determines whether or not the requested attribute may be dynamically configured using attributes of non-matching network storage locations (step 44). The storage allocator 3 consults the recorded attributes of identified storage locations to determine whether the attributes provide sufficient raw material susceptible of configuration into a storage location with the requested attribute.
  • the attribute is dynamically configurable, such as by configuring available magnetic disk drives together into a RAID set with a given RAID level, the requested attribute is dynamically configured for a storage location (step 46). Once the attribute is dynamically configured for a storage location (step 46), the storage location is allocated to a specific process or device in response to the request (step 48). If the available storage locations do not have attributes matching the requested attributes (step 42), and the attribute is not dynamically configurable (step 44), the user is informed of the absence of available storage locations possessing the requested attributes (step 50).
  • the storage allocator 3 is responsible for managing the list of storage locations and associated storage attributes 4.
  • the list of storage locations and associated storage attributes 4 includes a storage device identifier, usually a number, the location of the device on the network, the discoverable attributes of the storage device identified by the storage allocator 3, and any allocated owner of the storage device.
  • the attributes may be recorded in memory anywhere on the network accessible to the storage allocator 3.
  • the attributes may be recorded in any sort of data structure accessible by the storage allocator 3.
  • the list of storage locations and associated storage attributes 4 may be saved as a linked list.
  • the list of storage locations and associated storage attributes 4 may be saved as a table of pointers to records.
  • Figure 4 depicts in more detail the list of storage locations and associated attributes 4 which is maintained by the storage allocator 3.
  • the list of storage locations and associated attributes 4 is implemented as a linked list in the illustrative embodiment of Figure 4.
  • the list is comprised of nodes connected by pointers.
  • Each node in the list includes a record with fields for the storage device ID #, the location of the storage location expressed as an URL, any discovered storage attributes for the storage location, and notice of any allocation of the storage device.
  • a new node is added to the list.
  • the record for the node is updated.
  • node 52 includes a record for a storage location with a device ID 11.
  • the record for device ID 11 indicates the device location with an URL for the device. The record also indicates that the device ID 11 is a RAID set with level 0/1 protection and that it is unallocated.
  • a pointer from node 52 points to node 54, the record for the next storage location in the list.
  • Node 54 has a unique device ID and URL ( as do all of the storage devices ) and indicates that it is a RAID set with a different RAID level.
  • the record for node 56 indicates that it has been allocated to device 2. Accordingly, device 2 has permission to write and read data to and from the storage location with a device ID of 13.
  • the next record, node 58 has a different RAID level and has been allocated to a different device.
  • Node 60 contains a record for an unallocated magnetic disk drive with device ID 15.
  • the storage allocator 3 has identified that the disk drive has storage attributes of disk access speed of 5400 and available storage of 40 Gigabytes.
  • the device is unallocated.
  • the next node 62 in the linked list of records and associated storage attributes 4 is for a storage location with device ID 16 that has been allocated to a process 43.
  • Software processes may be assigned ownership of a storage location in the illustrative embodiments of the present invention.
  • Node 64 is the record for a storage location with device ID 17 that is composed of logically contiguous memory locations.
  • the memory locations may be on different mediums and accessed through a software volume controller, in which case the location in the record gives the location of the software volume controller rather than the URL of a physical device.
  • the record for the storage location with device ID 17 indicates that 200 Megabytes have been assigned to a process ID 25.
  • the list ends in an empty node 66.
  • Those skilled in the art will recognize that the implementation of the list of storage devices and associated storage attributes may be made as a table of pointers to device records rather than as a linked list. Other data structures may be substituted for a linked list or table of pointers without departing from the scope of the current invention.
  • available storage locations are assigned to storage pools.
  • the storage pools are groupings of storage locations.
  • the storage allocator 3 utilizes the information contained in the list of storage locations and associated storage attributes 4 to perform the grouping of storage locations into the storage pools.
  • Figure 5A depicts a block diagram of the storage pools utilized in an example case.
  • the storage allocator 3 groups identified network storage into three pools in the example of Figure 5 A.
  • the storage allocator 3 groups network storage locations into a free pool 74, a reserve pool 76, and a newly discovered pool 78.
  • the free pool 74 includes network storage locations identified by attributes that are available to be allocated to requesting processes or devices.
  • the storage locations are said to be unallocated since they have not been allocated to an owner.
  • the free pool 74 includes a RAID set with RAID level 0/1 protection 80, a RAID set with RAID level 6 protection 82, a magnetic disk drive 84, and logically adjacent memory locations 86.
  • the logically adjacent memory locations 86 may be located on more than one device and are controlled by a software volume controller.
  • the method of the present invention also includes a reserve pool 76.
  • the reserve pool 76 is for network storage locations which have already been allocated to specific devices or processes or are being reserved for future use and which are not currently available to the storage allocator 3.
  • the reserve pool 76 includes a RAID set with RAID level 1 protection 88, and a second RAID set with RAID level 5 protection 90.
  • a third type of pool utilized by the method of the present invention is a newly discovered pool 78.
  • the newly discovered pool 78 may include a magnetic disk drive 92 which notifies the storage allocator 3 of its presence and attributes through a JIROTM event message.
  • JIROTM event message Those skilled in the art will recognize that the storage locations present in the different pools will vary as storage is allocated or becomes available.
  • FIG. 5B depicts a block diagram of the storage pools of Figure 5A at a later point in time.
  • the free pool 74 of network storage locations still includes the RAID set with RAID level 6 protection 82, the magnetic disk drive 84, and logically adjacent memory locations 86.
  • the free pool 74 also includes the magnetic disk drive 92 which previously had been in the newly discovered pool 78.
  • the magnetic disk drive 92 has been assigned to the free pool by the storage allocator 3.
  • the RAID set with RAID level 0/1 protection 80 which formerly was in the free pool 74, has been assigned to the reserve pool 76 by the storage allocator 3 which has allocated the RAID set with RAID level 0/1 protection. Accordingly, the RAID set with RAID level 0/1 protection 80 is no longer available for allocation.
  • the newly discovered pool 78 is empty.
  • the storage allocator 3 may dynamically reconfigure the storage devices in the free pool 74 to provide a requested attribute. For example, the storage allocator 3 may receive a request for a RAID set with a specified level of RAID protection. When the storage allocator receives a request for storage, the free pool is checked to see if a RAID set with the specified level of RAID protection is available. In the event there is not an available RAID set with a specified level of RAID protection, the method of the present invention attempts to provide a RAID set possessing the requested attribute. The storage allocator may reconfigure the two magnetic disk drives 84 and 92 in the free pool 74 into the requested RAID set.
  • the request may call for the RAID set to be created for future use in which case the new RAID set would remain in the free pool 74.
  • the storage allocator 3 may request a RAID set to be created and utilized immediately, in which case the newly created RAID set is allocated and transferred to the reserved pool 76.

Abstract

The illustrative embodiment of the present invention provides a method for automating the allocation of network storage. The method of the present invention enables a system administrator or other authorized user to set policies for network storage. Available storage locations are dynamically located by attribute. The network storage policy is interpreted and applied to the available storage locations. By automating the storage allocation process, the storage policy is consistently applied without user intervention thus allowing a system administrator to devote more time to other network management responsabilities.

Description

A SYSTEM AND METHOD FOR THE ALLOCATION OF NETWORK STORAGE
Related Application
The current application claims priority from Patent Application Serial No. 09/960,673, entitled A System and Method for the Allocation of Network Storage, which was filed on September 21, 2001, all naming the same inventors and the same assignee as this application, which is incorporated by reference herein.
Field of the Invention
The illustrative embodiment of the present invention relates generally to network storage and more particularly to dynamic allocation of network storage.
Background
Network storage systems typically include storage devices situated at different locations. The storage devices are typically located remotely from the sources of data being stored on the storage devices. In many conventional network storage systems, the storage devices are magnetic disk drives configured into a RAID system. RAID is an acronym for Redundant Array of Inexpensive/Independent Disks.
Network storage allocations involve the assigning or matching of a storage location with a storage owner. A "storage owner" is a process or device which has permission to write or read data to and from a storage location. Typically the allocation of storage is done manually by a system administrator for the network. The system administrator is the person responsible for overseeing administration of the network. The allocation involves the system administrator directing a storage operation or making certain storage locations are available for programmatic storage. For example, the storage allocation may be performed by the system administrator requiring a network device to back up data periodically to a particular RAID set. Alternatively, the system administrator may select certain storage locations and make them available to be utilized by processors and devices on a first come first served basis. The allocation may result from the system administrator directly entering commands on a keyboard , or the allocation may be the result of the system administrator initiating a program which performs a backup of data on particular devices programmatically. Unfortunately, this sort of manual storage allocation requires increasing amounts of system administrator time as the amount of network storage available to be allocated increases. The sheer size of some current RAID systems, such as those with terabytes of available storage, makes the process of a system administrator manually allocating network storage increasingly inefficient. Moreover, this process is subject to human error.
Summary of the Invention
The illustrative embodiment of the present invention provides a method for automating the management of allocation of network storage. The illustrative embodiment enables a system administrator or other authorized user to set policies for network storage that are automatically implemented by software. Available storage locations are dynamically located. The network storage policy is interpreted and applied to the available storage locations. By automating the storage allocation process, the storage policy is applied consistently without system administrator participation being required, thus allowing a system administrator to devote more time to other network management responsibilities.
In one embodiment of the present invention, multiple storage locations are interfaced with a network. Also interfaced with the network is a software facility capable of identifying and allocating to owners available storage locations based on attributes possessed by the storage locations. The software facility receives a network storage policy with attribute requirements from an authorized user such as a systems administrator. The software facility programmatically applies the network storage policy in storage allocation decisions by matching the attribute requirements of the storage policy with identified attributes of the storage locations.
In an alternate embodiment of the present invention a host electronic device with a software facility is interfaced with a network. Also interfaced with the network are multiple devices with storage locations. The software facility dynamically locates available and non-allocated storage locations on the network. The available storage locations are identified by attributes. The software facility allocates the available storage locations in response to requests for storage. The request for storage includes attributes which are matched to the attributes of the network storage locations. Once allocated to a process or device, the process or device has the right to read and write data directly to and from the allocated storage location. In another embodiment of the present invention a host electronic device is interfaced with the network. A software facility is also interfaced with the network at a location remote from the host electronic device. The network includes a plurality of devices with storage locations. The storage locations are identified by attribute by the software facility. The method of the present invention then allocates storage locations to owners on the network based on the attributes of the storage locations.
Brief Description of the Drawings
Figure 1 is a block diagram of an environment suitable for practicing an illustrative embodiment of the present invention;
Figure 2 is a block diagram of an alternate environment suitable for practicing an illustrative embodiment of the present invention;
Figure 3 is a flow chart of the sequence of steps followed by the method of the present invention which is used to detect and allocate storage locations;
Figure 4 is a block diagram depicting the list of storage devices and associated storage attributes in an illustrative embodiment of the present invention;
Figure 5A is a block diagram of storage pools created by the method of the present invention; and Figure 5B is a block diagram of the storage pools of Figure 5A at a later time.
Detailed Description
The illustrative embodiment of the present invention enables a system administrator to set a network policy for storage allocation. The method of the present invention dynamically identifies network storage locations by attribute and matches storage locations with processes and devices requiring network storage with certain attributes. An attribute is a characteristic that can be used to distinguish one device from another. For example an attribute for a magnetic disk drive is the size of the storage medium. Other attributes for a magnetic disk drive include its location and data access speed. The administrator may specify network wide minimum attributes for all network storage, or the system administrator may provide different storage policies for different processes and devices. The implementation of the network storage policy may be completely automated. Alternatively, the system administrator may manually allocate network storage for particular storage operations while automating the remainder of the storage operations. Figure 1 depicts an environment suitable for practicing the illustrative embodiment of the present invention. A host electronic device 2 is interfaced with a network 12. A host electronic device 2 is a system containing data which is typically accessed by a user from a remote location. Examples of host electronic devices 2 with storage needs are mail servers and web servers. The host electronic device 2 includes a software facility for allocating network storage, referred to herein as a "storage allocator" 3. Also located on the host electronic device 2 is a list of storage devices and their associated attributes 4. Additional host electronic devices 6 and 10 are also interfaced with the network 12. A storage apparatus 14, such as a RAID system, is also interfaced with the network 12. The storage apparatus 14 includes a RAID volume controller 16 and a plurality of magnetic disk drives for storage 18, 20, 22, 24, 26, and 28. The storage allocator 3 may specify that the host electronic devices 2, 6 and 10 back up all data on RAID sets with specified attributes controlled by the RAID volume controller 16 on the storage apparatus 14. The various mechanisms used by the storage allocator 3 to identify and allocate storage locations are described in more detail below.
One of the mechanisms used by the storage allocator 3 to allocate network storage is the use of the Service Location Protocol ( SLP ). SLP is a protocol established by the Internet Engineering Task Force ( IETF ) that simplifies the discovery of network resources. The protocol utilizes the concept of User Agents, Service Agents and Directory Agents. Applications running on a computer are represented by User Agents which understand the service and resource needs of the application. In the case of the present invention, the storage allocator 3 may have a User Agent. Network devices, such as storage devices, are each represented by a Service Agent. Some networks have Directory Agents. The Service Agent of an available device multicasts a request message for any Directory Agents on the network to make contact. If any Directory Agents respond, the Service Agent unicasts a registration message to each responding Directory Agent. The registration message includes the type of device the Service Agent is representing, the device's attributes, and the device's Uniform Resource Locator ( URL ) address. When a User Agent needs a particular service, it sends out a service request which includes both the type of service and attributes desired. If the network possesses a Directory Agent, the Directory Agent responds with a list of eligible devices and the devices' Uniform Resource Locators ( URLs ). If there is no Directory Agent on the network, the User Agent multicasts its service request on the network and the Service Agents for devices whose attributes match those requested respond directly to the User Agent. By using SLP, the storage allocator 3 may be kept apprised of changing network storage conditions.
Another mechanism that may be used to determine available storage locations is the use of JIRO™ technology, available from Sun Microsystems, Inc. of Palo Alto, California. A JIRO™ enabled device broadcasts a JIRO™ event announcing the presence of the device on the network upon first being attached to the network. JIRO™ technology is explained in detail at www.jiro.org. The event message includes a description of the device attributes. A JIRO™ "bean" ( a "bean" is a piece of software code constructed from a reusable code library ) previously deployed on the network by the system administrator notes the presence of the storage device and informs the storage allocator 3 of the identity and attributes of the storage device. Those skilled in the art will recognize that the use of SLP and JIRO™ technology to track available network storage devices are illustrative examples of methods used in keeping track of network storage devices, but are not the exclusive methods available within the scope of the present invention.
Figure 2 depicts an alternate environment suitable for practicing an illustrative embodiment of the present invention. Host electronic devices 2, 6, and 10 are interfaced with a network 12. Also interfaced with the network 12 is a data management center 32 upon which the storage allocator 3 resides. Also located on the data management center 32 is a list of storage devices and associated attributes 4. The data management center 32 is a networked device providing data services such as "point in time copying". "Point in time copying" allows a volume of data to be copied at a particular time, a snapshot of everchanging data, rather than copying the data when the volume is changed. The network 12 is also interfaced with a storage apparatus 14, ( a RAID system ). The storage apparatus 14 includes RAID volume controller 16 and magnetic disk drives 18, 20, 22, 24, 26, and 28. The method of the present invention enables the storage allocator 3 and the list of storage devices and associated attributes 4 to be located anywhere on the network.
The method of the present invention involves first identifying attributes of a storage location and then allocating a storage location to an owner based upon one or more of the storage location attributes. Figure 3 is a flow chart of the steps followed by an embodiment of the present invention to identify and allocate storage locations. The storage allocator 3 first identifies available storage locations by attribute ( step 36 ). As noted, two ways of identifying available storage locations are through the use of SLP or as the result of notification of a JIRO™ event. Once the storage location has been identified, the storage allocator 3 records the attributes of the storage location. The attributes may be recorded at any storage location on the network which is accessible to the storage allocator 3. An authorized user, such as a system administrator, requests storage from the storage allocator 3 ( step 38 ). The user's request includes storage location attributes desired by the user. The request may be in the form of a specific request from a particular device or process, or the request may be part of an automated network wide storage policy set by a system administrator. The policy may apply to the entire network or to only specific portions of the network. Alternatively, the network policy may apply to all devices and processes on the network or only a portion of the devices and processes on the network. The network storage policy may be input into the storage allocator 3 in a number of ways. The systems administrator may select certain storage attributes to be applied to the network from available choices in pull down menus. Alternatively, the storage allocator 3 may accept input text instructions which are parsed to establish attributes to be applied to network storage operations. Attributes which are input into the storage allocator 3 are stored as requirements for selected storage operations. Those skilled in the art will recognize that there are multiple ways of inputting storage attribute parameters into the storage allocator 3 that are within the scope of the current invention.
After a storage request is received, the requested storage attributes are compared with the attributes of the available storage locations ( step 40 ). A determination is made as to whether there is a match based on the comparison ( step 42 ). If a match of the requested storage attributes is found in an available storage location, the storage location is allocated to a specific process or device in response to the request ( step 48 ). If a match between the requested attribute and the attributes in the available storage locations is not found ( step 42 ), the storage allocator 3 determines whether or not the requested attribute may be dynamically configured using attributes of non-matching network storage locations (step 44). The storage allocator 3 consults the recorded attributes of identified storage locations to determine whether the attributes provide sufficient raw material susceptible of configuration into a storage location with the requested attribute. Those skilled in the art will recognize that some attributes, such as magnetic disk drive access time, are not dynamically configurable, but rather are either present or not present. If the attribute is dynamically configurable, such as by configuring available magnetic disk drives together into a RAID set with a given RAID level, the requested attribute is dynamically configured for a storage location (step 46). Once the attribute is dynamically configured for a storage location (step 46), the storage location is allocated to a specific process or device in response to the request (step 48). If the available storage locations do not have attributes matching the requested attributes (step 42), and the attribute is not dynamically configurable (step 44), the user is informed of the absence of available storage locations possessing the requested attributes (step 50).
The storage allocator 3 is responsible for managing the list of storage locations and associated storage attributes 4. The list of storage locations and associated storage attributes 4 includes a storage device identifier, usually a number, the location of the device on the network, the discoverable attributes of the storage device identified by the storage allocator 3, and any allocated owner of the storage device. The attributes may be recorded in memory anywhere on the network accessible to the storage allocator 3. The attributes may be recorded in any sort of data structure accessible by the storage allocator 3. For example, the list of storage locations and associated storage attributes 4 may be saved as a linked list. Alternatively, the list of storage locations and associated storage attributes 4 may be saved as a table of pointers to records.
Figure 4 depicts in more detail the list of storage locations and associated attributes 4 which is maintained by the storage allocator 3. The list of storage locations and associated attributes 4 is implemented as a linked list in the illustrative embodiment of Figure 4. The list is comprised of nodes connected by pointers. Each node in the list includes a record with fields for the storage device ID #, the location of the storage location expressed as an URL, any discovered storage attributes for the storage location, and notice of any allocation of the storage device. As each storage location is identified by the storage allocator 3, a new node is added to the list. When a node is allocated or de-allocated, the record for the node is updated. Thus, node 52 includes a record for a storage location with a device ID 11. The record for device ID 11 indicates the device location with an URL for the device. The record also indicates that the device ID 11 is a RAID set with level 0/1 protection and that it is unallocated. A pointer from node 52 points to node 54, the record for the next storage location in the list. Node 54 has a unique device ID and URL ( as do all of the storage devices ) and indicates that it is a RAID set with a different RAID level. The record for node 56 indicates that it has been allocated to device 2. Accordingly, device 2 has permission to write and read data to and from the storage location with a device ID of 13. The next record, node 58 has a different RAID level and has been allocated to a different device. Node 60 contains a record for an unallocated magnetic disk drive with device ID 15. The storage allocator 3 has identified that the disk drive has storage attributes of disk access speed of 5400 and available storage of 40 Gigabytes. The device is unallocated. The next node 62 in the linked list of records and associated storage attributes 4 is for a storage location with device ID 16 that has been allocated to a process 43. Software processes may be assigned ownership of a storage location in the illustrative embodiments of the present invention. Node 64 is the record for a storage location with device ID 17 that is composed of logically contiguous memory locations. The memory locations may be on different mediums and accessed through a software volume controller, in which case the location in the record gives the location of the software volume controller rather than the URL of a physical device. The record for the storage location with device ID 17 indicates that 200 Megabytes have been assigned to a process ID 25. The list ends in an empty node 66. Those skilled in the art will recognize that the implementation of the list of storage devices and associated storage attributes may be made as a table of pointers to device records rather than as a linked list. Other data structures may be substituted for a linked list or table of pointers without departing from the scope of the current invention.
In one embodiment of the present invention, available storage locations are assigned to storage pools. The storage pools are groupings of storage locations. The storage allocator 3 utilizes the information contained in the list of storage locations and associated storage attributes 4 to perform the grouping of storage locations into the storage pools. Figure 5A depicts a block diagram of the storage pools utilized in an example case. The storage allocator 3 groups identified network storage into three pools in the example of Figure 5 A. The storage allocator 3 groups network storage locations into a free pool 74, a reserve pool 76, and a newly discovered pool 78. The free pool 74 includes network storage locations identified by attributes that are available to be allocated to requesting processes or devices. The storage locations are said to be unallocated since they have not been allocated to an owner. The free pool 74 includes a RAID set with RAID level 0/1 protection 80, a RAID set with RAID level 6 protection 82, a magnetic disk drive 84, and logically adjacent memory locations 86. The logically adjacent memory locations 86 may be located on more than one device and are controlled by a software volume controller. The method of the present invention also includes a reserve pool 76. The reserve pool 76 is for network storage locations which have already been allocated to specific devices or processes or are being reserved for future use and which are not currently available to the storage allocator 3. The reserve pool 76 includes a RAID set with RAID level 1 protection 88, and a second RAID set with RAID level 5 protection 90. A third type of pool utilized by the method of the present invention is a newly discovered pool 78. The newly discovered pool 78 may include a magnetic disk drive 92 which notifies the storage allocator 3 of its presence and attributes through a JIRO™ event message. Those skilled in the art will recognize that the storage locations present in the different pools will vary as storage is allocated or becomes available.
The storage locations included in the three types of storage location pools are dynamic so that the storage locations in the respective pools may change over time. Figure 5B depicts a block diagram of the storage pools of Figure 5A at a later point in time. The free pool 74 of network storage locations still includes the RAID set with RAID level 6 protection 82, the magnetic disk drive 84, and logically adjacent memory locations 86. The free pool 74 also includes the magnetic disk drive 92 which previously had been in the newly discovered pool 78. The magnetic disk drive 92 has been assigned to the free pool by the storage allocator 3. The RAID set with RAID level 0/1 protection 80, which formerly was in the free pool 74, has been assigned to the reserve pool 76 by the storage allocator 3 which has allocated the RAID set with RAID level 0/1 protection. Accordingly, the RAID set with RAID level 0/1 protection 80 is no longer available for allocation. The newly discovered pool 78 is empty.
The storage allocator 3 may dynamically reconfigure the storage devices in the free pool 74 to provide a requested attribute. For example, the storage allocator 3 may receive a request for a RAID set with a specified level of RAID protection. When the storage allocator receives a request for storage, the free pool is checked to see if a RAID set with the specified level of RAID protection is available. In the event there is not an available RAID set with a specified level of RAID protection, the method of the present invention attempts to provide a RAID set possessing the requested attribute. The storage allocator may reconfigure the two magnetic disk drives 84 and 92 in the free pool 74 into the requested RAID set. The request may call for the RAID set to be created for future use in which case the new RAID set would remain in the free pool 74. Alternatively, the storage allocator 3 may request a RAID set to be created and utilized immediately, in which case the newly created RAID set is allocated and transferred to the reserved pool 76.
It will thus be seen that the invention attains the objects made apparent from the preceding description. Since certain changes may be made without departing from the scope of the present invention, it is intended that all matter contained in the above description or shown in the accompanying drawings be interpreted as illustrative and not in a literal sense. Practitioners of the art will realize that the system configurations depicted and described herein are examples of multiple possible system configurations that fall within the scope of the current invention. Likewise, the types of storage devices noted in the drawings and description are examples and not the exclusive types of storage devices which may be employed within the scope of the present invention.

Claims

We Claim:
1. In a network with a plurality of storage locations having attributes, said attributes being characteristics of said storage locations, a method, comprising the steps of: providing a software facility interfaced with said network for identifying and allocating said storage locations to a storage owner based on the attributes of said storage locations; receiving with said software facility a network storage policy from an authorized user, said authorized user having authority to control access to said storage locations on said network, said storage policy including attribute requirements for at least one of said storage locations; and programmatically applying said storage policy to storage decisions on said network using said software facility, said storage decisions determining where data on said network is stored.
2. The method of claim 1 wherein said authorized user selects said storage location attributes in said network policy from a list of storage location attributes.
3. The method of claim 1, comprising the further step of: configuring storage locations to provide specified attributes pursuant to said network storage policy.
4. In a network, said network interfaced with a host electronic device and including a plurality of devices with storage locations located thereon, a method comprising the steps of: providing a software facility interfaced with said network; using said software facility to identify by attribute available storage locations on said plurality of devices; and using said software facility to perform allocation of said available storage locations based on said available storage location attributes, said allocation being the association of a storage location with an owner, said owner having permission to write data to said storage location and read data from said storage location.
5. The method of claim 4 wherein a storage location is allocated based on matching a requested storage location attribute with the storage location attribute identified by said software facility.
6. The method of claim 4 wherein a selected one of said storage locations is allocated based on matching a requested storage location attribute with an attribute of a storage location dynamically configured by said software facility.
7. The method of claim 4, comprising the further step of: placing an unallocated storage location into a pool of storage locations available to said software facility.
8. The method of claim 7 comprising the further step of: placing a storage location into a pool of storage locations unavailable to said software facility.
9. The method of claim 7 comprising the further step of: placing newly discovered unallocated storage locations into a pool of storage locations awaiting further action by said software facility, said storage locations not having been previously identified by said software facility.
10. The method of claim 4 wherein said software facility uses the Service Location Protocol ( SLP ) to identify available devices attached to said network.
11. The method of claim 4 wherein at least one of said plurality of devices interfaced with said network with storage locations thereon is a RAID ( Redundant Array of Inexpensive/ Independent Disks) set.
12. The method of claim 4 wherein a storage location with a specified attribute is provided by dynamically configuring a storage location in response to a request from a user of said host electronic device interfaced with said network.
13. The method of claim 4, comprising the further steps of: setting a network policy for data storage, said policy including storage location attributes requested by an authorized user, said authorized user having authority to make network storage decisions; and configuring storage locations to provide specified attributes pursuant to said network policy.
14. The method of claim 4 wherein said software facility is located on said host electronic device.
15. In a network with a plurality of storage locations having attributes, said attributes being characteristics of said storage locations, a medium holding computer-executable instructions for a method, comprising the steps of: providing a software facility interfaced with said network for identifying and allocating said storage locations based on the attributes of said storage locations, said allocation being the association of a storage location with an owner, said owner having permission to write data to said storage location and read data from said storage location; receiving with said software facility a network storage policy from an authorized user, said authorized user having authority to make storage decisions on said network, said storage policy including attribute requirements for storage locations; and programmatically applying said storage policy to storage decisions on said network using said software facility, said storage decisions determining where data on said network is stored.
16. The method of claim 15 wherein said authorized user selects said storage location attributes in said network policy from a list of storage location attributes.
17. The method of claim 15, comprising the further step of: automatically configuring storage locations to provide specified attributes pursuant to said network storage policy.
18. In a network, an apparatus comprising: a processor; a record of a plurality of unallocated storage locations interfaced with said network, said storage locations identified by attributes; and a software facility for allocating said unallocated storage locations to devices and processes interfaced with said network based on said attributes.
19. In a network with a plurality of interfaced devices with storage locations located thereon, a method comprising the steps of: providing a software facility interfaced with said network; using said software facility to identify by attribute available storage locations on said plurality of interfaced devices; configuring said available storage locations to provide storage locations with new attributes; and using said software facility to perform allocation of said storage locations with new attributes, said allocation being the association of a storage location with an owner, said owner having permission to write data to said storage location and read data from said storage location.
20. The method of claim 19, comprising the further steps of: receiving a network storage policy from an authorized user interfaced with said network; and programmatically applying said network storage policy in the configuring and allocation of said storage locations.
21. The method of claim 20 wherein a storage location is allocated based on matching a storage location attribute requested by said network storage policy with the storage location attribute of a storage location identified by said software facility.
PCT/US2002/030103 2001-09-21 2002-09-20 A system and method for the allocation of network storage WO2003025756A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002327686A AU2002327686A1 (en) 2001-09-21 2002-09-20 A system and method for the allocation of network storage

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/960,673 US20030061491A1 (en) 2001-09-21 2001-09-21 System and method for the allocation of network storage
US09/960,673 2001-09-21

Publications (2)

Publication Number Publication Date
WO2003025756A2 true WO2003025756A2 (en) 2003-03-27
WO2003025756A3 WO2003025756A3 (en) 2004-05-13

Family

ID=25503468

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/030103 WO2003025756A2 (en) 2001-09-21 2002-09-20 A system and method for the allocation of network storage

Country Status (3)

Country Link
US (1) US20030061491A1 (en)
AU (1) AU2002327686A1 (en)
WO (1) WO2003025756A2 (en)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US7035880B1 (en) * 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) * 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) * 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7159080B1 (en) * 2001-12-20 2007-01-02 Network Appliance, Inc. System and method for storing storage operating system data in switch ports
US7650412B2 (en) * 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US7296068B1 (en) 2001-12-21 2007-11-13 Network Appliance, Inc. System and method for transfering volume ownership in net-worked storage
US7058702B2 (en) * 2002-01-04 2006-06-06 Hewlett-Packard Development Company, L.P. Efficient validation of network configuration change commands
US8611919B2 (en) 2002-05-23 2013-12-17 Wounder Gmbh., Llc System, method, and computer program product for providing location based services and mobile e-commerce
US10489449B2 (en) * 2002-05-23 2019-11-26 Gula Consulting Limited Liability Company Computer accepting voice input and/or generating audible output
JP2004013547A (en) * 2002-06-07 2004-01-15 Hitachi Ltd Data allocation method and information processing system
US7937704B2 (en) * 2002-06-20 2011-05-03 British Telecommunications Public Limited Company Distributed computer
US7379990B2 (en) * 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
AU2003270482A1 (en) * 2002-09-09 2004-03-29 Commvault Systems, Inc. Dynamic storage device pooling in a computer system
US8370542B2 (en) * 2002-09-16 2013-02-05 Commvault Systems, Inc. Combined stream auxiliary copy system and method
US7937421B2 (en) * 2002-11-14 2011-05-03 Emc Corporation Systems and methods for restriping files in a distributed file system
GB0230331D0 (en) * 2002-12-31 2003-02-05 British Telecomm Method and apparatus for operating a computer network
JP4345313B2 (en) 2003-01-24 2009-10-14 株式会社日立製作所 Operation management method of storage system based on policy
US7246207B2 (en) 2003-04-03 2007-07-17 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
US20050188248A1 (en) * 2003-05-09 2005-08-25 O'brien John Scalable storage architecture
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
JP2005038071A (en) * 2003-07-17 2005-02-10 Hitachi Ltd Management method for optimizing storage capacity
US20050027938A1 (en) * 2003-07-29 2005-02-03 Xiotech Corporation Method, apparatus and program storage device for dynamically resizing mirrored virtual disks in a RAID storage system
WO2005048085A2 (en) 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
WO2005065084A2 (en) * 2003-11-13 2005-07-21 Commvault Systems, Inc. System and method for providing encryption in pipelined storage operations in a storage network
WO2005050381A2 (en) * 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
JP4156499B2 (en) * 2003-11-28 2008-09-24 株式会社日立製作所 Disk array device
US7734561B2 (en) * 2003-12-15 2010-06-08 International Business Machines Corporation System and method for providing autonomic management of a networked system using an action-centric approach
US7340639B1 (en) 2004-01-08 2008-03-04 Network Appliance, Inc. System and method for proxying data access commands in a clustered storage system
JP4485230B2 (en) * 2004-03-23 2010-06-16 株式会社日立製作所 Migration execution method
GB2412760B (en) * 2004-04-01 2006-03-15 Toshiba Res Europ Ltd Secure storage of data in a network
GB0412655D0 (en) * 2004-06-07 2004-07-07 British Telecomm Distributed storage network
US8046560B1 (en) * 2004-10-22 2011-10-25 Emc Corporation Serial number based storage device allocation
US8238350B2 (en) * 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
WO2006052872A2 (en) 2004-11-05 2006-05-18 Commvault Systems, Inc. System and method to support single instance storage operations
US7490207B2 (en) * 2004-11-08 2009-02-10 Commvault Systems, Inc. System and method for performing auxillary storage operations
US20060161752A1 (en) * 2005-01-18 2006-07-20 Burkey Todd R Method, apparatus and program storage device for providing adaptive, attribute driven, closed-loop storage management configuration and control
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US7941602B2 (en) * 2005-02-10 2011-05-10 Xiotech Corporation Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
US20060218360A1 (en) * 2005-03-22 2006-09-28 Burkey Todd R Method, apparatus and program storage device for providing an optimized read methodology for synchronously mirrored virtual disk pairs
US8073899B2 (en) * 2005-04-29 2011-12-06 Netapp, Inc. System and method for proxying data access commands in a storage system cluster
US20070022314A1 (en) * 2005-07-22 2007-01-25 Pranoop Erasani Architecture and method for configuring a simplified cluster over a network with fencing and quorum
US7809739B2 (en) * 2005-08-05 2010-10-05 International Business Machines Corporation Application configuration in distributed storage systems
US7987213B2 (en) * 2005-09-26 2011-07-26 Koninklijke Philips Electronics N.V. Storage profile generation for network-connected portable storage devices
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US8484365B1 (en) 2005-10-20 2013-07-09 Netapp, Inc. System and method for providing a unified iSCSI target with a plurality of loosely coupled iSCSI front ends
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7551572B2 (en) * 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7797570B2 (en) 2005-11-29 2010-09-14 Netapp, Inc. System and method for failover of iSCSI target portal groups in a cluster environment
KR100762689B1 (en) * 2005-12-08 2007-10-01 삼성에스디아이 주식회사 Portable Display Device
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7636743B2 (en) * 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US7962709B2 (en) * 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
EP1974296B8 (en) 2005-12-19 2016-09-21 Commvault Systems, Inc. Systems and methods for performing data replication
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7848261B2 (en) * 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
JP4755548B2 (en) * 2006-08-01 2011-08-24 株式会社日立製作所 Operation management method, operation management program, operation management system, and operation management apparatus
US8539056B2 (en) * 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7882071B2 (en) * 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680842B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7822932B2 (en) * 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US20080155191A1 (en) * 2006-12-21 2008-06-26 Anderson Robert J Systems and methods for providing heterogeneous storage systems
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US7593938B2 (en) * 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US8719809B2 (en) * 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US7509448B2 (en) * 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US8290808B2 (en) * 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US7900015B2 (en) * 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
JP5050627B2 (en) * 2007-04-26 2012-10-17 日本電気株式会社 Resource allocation system, resource allocation method, and resource allocation program
US7882068B2 (en) * 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) * 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7945640B1 (en) * 2007-09-27 2011-05-17 Emc Corporation Methods and apparatus for network provisioning
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7953709B2 (en) * 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7984324B2 (en) * 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7971013B2 (en) * 2008-04-30 2011-06-28 Xiotech Corporation Compensating for write speed differences between mirroring storage devices by striping
TWI364686B (en) * 2008-05-15 2012-05-21 Lumous Technology Co Ltd Method for protecting computer file used in solid state disk array
US20100011176A1 (en) * 2008-07-11 2010-01-14 Burkey Todd R Performance of binary bulk IO operations on virtual disks by interleaving
US20100011371A1 (en) * 2008-07-11 2010-01-14 Burkey Todd R Performance of unary bulk IO operations on virtual disks by interleaving
US9495382B2 (en) * 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9311185B2 (en) * 2009-10-30 2016-04-12 Cleversafe, Inc. Dispersed storage unit solicitation method and apparatus
US10509709B2 (en) 2009-10-30 2019-12-17 Pure Storage, Inc. Indirect storage of data in a dispersed storage system
US10133485B2 (en) * 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
US8504517B2 (en) * 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
WO2011123107A1 (en) * 2010-03-31 2011-10-06 Hewlett-Packard Development Company, L.P. Clients and servers for allocating and managing exclusive access to a portion of remote storage space
US8589347B2 (en) 2010-05-28 2013-11-19 Commvault Systems, Inc. Systems and methods for performing data replication
US8868676B2 (en) * 2010-10-11 2014-10-21 International Business Machines Corporation Methods and systems for verifying server-storage device connectivity
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9262435B2 (en) 2013-01-11 2016-02-16 Commvault Systems, Inc. Location-based data synchronization management
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9621431B1 (en) 2014-12-23 2017-04-11 EMC IP Holding Company LLC Classification techniques to identify network entity types and determine network topologies
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10275155B2 (en) * 2016-05-17 2019-04-30 Netapp, Inc. Methods for autonomous disk ownership assignment of nodes in a storage network with a multi-path configuration and devices thereof
US11169731B2 (en) * 2016-10-31 2021-11-09 International Business Machines Corporation Managing storage resources in a dispersed storage network
US10598722B1 (en) 2016-12-23 2020-03-24 Advanced Testing Technologies, Inc. Automated waveform analysis methods using a parallel automated development system
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041510A2 (en) * 1999-01-15 2000-07-20 Storage Technology Corporation Intelligent data storage manager
WO2003014930A2 (en) * 2001-08-10 2003-02-20 Sun Microsystems, Inc. Method, system, and program for managing multiple resources in a system
WO2003014911A2 (en) * 2001-08-10 2003-02-20 Sun Microsystems, Inc. Method, system, and program for generating and using configuration policies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041510A2 (en) * 1999-01-15 2000-07-20 Storage Technology Corporation Intelligent data storage manager
WO2003014930A2 (en) * 2001-08-10 2003-02-20 Sun Microsystems, Inc. Method, system, and program for managing multiple resources in a system
WO2003014911A2 (en) * 2001-08-10 2003-02-20 Sun Microsystems, Inc. Method, system, and program for generating and using configuration policies

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ASCHEMANN G ET AL: "A Framework for the Integration of Legacy Devices into a Jini Management Federation" IFIP/IEEE INTERNATIONAL WORKSHOP ON DISTRIBUTED SYSTEMS: OPERATIONS AND MANAGEMENT, XX, XX, 11 October 1999 (1999-10-11), pages 257-268, XP002253534 *
DANIEL ADAMS: "Introduction to JiroTM Technology" JAVAONE CONFERENCE, JUNE 6-9, 2000, [Online] no. TS-1156, 6 June 2000 (2000-06-06), pages 1-31, XP002273327 San Francisco, California Retrieved from the Internet: <URL:http://servlet.java.sun.com/javaone/j avaone2000/event.jsp?eventId=1156&trackId= 2&eventType=TS&ts=1078498865750> [retrieved on 2004-02-26] *
GUTTMAN E ET AL: "Automatic discovery of thin servers: SLP, Jini and the SLP-Jini Bridge" INDUSTRIAL ELECTRONICS SOCIETY, 1999. IECON '99 PROCEEDINGS. THE 25TH ANNUAL CONFERENCE OF THE IEEE SAN JOSE, CA, USA 29 NOV.-3 DEC. 1999, PISCATAWAY, NJ, USA,IEEE, US, 29 November 1999 (1999-11-29), pages 722-727, XP010366641 ISBN: 0-7803-5735-3 *
MAHMOUD Q H: "Using Jini for high-performance network computing" PROCEEDINGS INTERNATIONAL CONFERENCE ON PARALLEL COMPUTING IN ELECTRICAL ENGINEERING. PARELEC 2000, 27 - 30 August 2000, pages 244-247, XP010513822 Trois-Rivieres, Que, Canada *
MARK CARLSON: "Create automated and distributed management applications with Jiro technology" JAVAWORLD - ELECTRONIC SERIAL, [Online] 21 February 2000 (2000-02-21), pages 1-6, XP002273325 Retrieved from the Internet: <URL:http://www.javaworld.com/javaworld/jw -02-2000/jw-02-jiro.html> [retrieved on 2004-02-26] *
MARK CARLSON: "JiroTM Technology-Based Management Logic Applications" JAVAONE CONFERENCE, JUNE 6-9, 2000, [Online] no. TS 1165, 9 June 2000 (2000-06-09), pages 1-49, XP002273326 San Francisco, California Retrieved from the Internet: <URL:http://servlet.java.sun.com/javaone/j avaone2000/event.jsp?eventId=1165&trackId= 2&eventType=TS&ts=1078498865750> [retrieved on 2004-02-26] *

Also Published As

Publication number Publication date
AU2002327686A1 (en) 2003-04-01
WO2003025756A3 (en) 2004-05-13
US20030061491A1 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
US20030061491A1 (en) System and method for the allocation of network storage
US7480677B2 (en) System and program for maintaining a namespace of filesets accessible to clients over a network
US9413825B2 (en) Managing file objects in a data storage system
US7216148B2 (en) Storage system having a plurality of controllers
US7171459B2 (en) Method and apparatus for handling policies in an enterprise
US8434078B2 (en) Quick deployment method
EP3469478B1 (en) Server computer management system for supporting highly available virtual desktops of multiple different tenants
US8332360B2 (en) QoS-enabled lifecycle management for file systems
US7565500B2 (en) Allocating storage area according to physical position information of a storage device
US7769861B2 (en) Apparatus, system, and method for modeling for storage provisioning
US8074041B2 (en) Apparatus, system, and method for managing storage space allocation
US7444395B2 (en) Method and apparatus for event handling in an enterprise
US20090112789A1 (en) Policy based file management
US20030172146A1 (en) Aggregation of available storage capacity derived from storage devices attached to computers, and allocation of same as logical device
US8001327B2 (en) Method and apparatus for managing placement of data in a tiered storage system
JP2002091804A (en) Method and system for managing assignment of space on storage device and program storage medium
EP3296895B1 (en) File storage
EP1782275A1 (en) Method, system and program product for storing downloadable content on a plurality of enterprise storage system (ess) cells
WO2021248972A1 (en) Default gateway management method, gateway manager, server, and storage medium
CN115250269A (en) File distribution method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG UZ VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP