US20050038967A1 - Methods and systems for storage architectures - Google Patents

Methods and systems for storage architectures Download PDF

Info

Publication number
US20050038967A1
US20050038967A1 US10/947,497 US94749704A US2005038967A1 US 20050038967 A1 US20050038967 A1 US 20050038967A1 US 94749704 A US94749704 A US 94749704A US 2005038967 A1 US2005038967 A1 US 2005038967A1
Authority
US
United States
Prior art keywords
storage
storage management
data store
application
resource provider
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10/947,497
Inventor
Steven Umbehocker
Allen Unueco
Bruce Lowe
Venkeepuram Satish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symantec Operating Corp
Original Assignee
Veritas Software Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=31976928&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US20050038967(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Veritas Software Corp filed Critical Veritas Software Corp
Priority to US10/947,497 priority Critical patent/US20050038967A1/en
Publication of US20050038967A1 publication Critical patent/US20050038967A1/en
Priority to US11/803,230 priority patent/US20070294491A1/en
Assigned to SYMANTEC CORPORATION reassignment SYMANTEC CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: VERITAS OPERATING CORPORATION
Assigned to SYMANTEC OPERATING CORPORATION reassignment SYMANTEC OPERATING CORPORATION CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Assignors: VERITAS OPERATING CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention is related to storage architectures, and more particularly to methods, and systems that provide storage architectures to access storage management data.
  • Storage networking is the practice of connecting storage devices to computing devices (e.g., clients, servers, and the like) by using networks (e.g., Fibre Channel, Internet Small Computer System Interface (iSCSI), and others) instead of traditional point-to-point Small Computer System Interface (SCSI) channels.
  • a network used to connect servers to storage devices is referred to as a storage area network (SAN).
  • SAN storage area network
  • computing devices typically have access to the available storage devices. This presents a wide variety of benefits, including server platform fail-over wherein a failed storage device and failed server are automatically recovered by another operational server platform and operational storage device without requiring any recabling of the operational storage devices.
  • DFS Distributed File Systems
  • NFS network file system
  • CIFS Common Internet file system
  • Storage arrays provide access to storage disks within a shared storage environment.
  • the storage arrays include the storage disks, software to access those storage disks, controllers, memory, power supplies, and the like.
  • Host applications within the shared storage environment communicate with the storage arrays to gain access to storage locations on the storage disks controlled by the storage arrays.
  • this access is typically in the form of vendor-specific interfaces provided by the vendors of the storage arrays.
  • vendors provide software libraries to gain access to the storage arrays (e.g., by implementing APIs).
  • vendors provide command line interfaces, where the commands are encoded in a specific data format, such as Extensible Markup Language (XML) data format and others.
  • XML Extensible Markup Language
  • Each storage management application is responsible for managing storage for a plurality of host applications and a plurality of storage arrays.
  • the storage management applications are forced to know and manage a variety of interfaces in order to properly maintain and manage storage for the host applications.
  • a storage management application is provided that is interfaced to a host application.
  • a plurality of storage resource provider modules is associated with the storage management application.
  • storage management data is stored on a storage management data store.
  • the storage management data is associated with the storage management application and with each of the storage resource provider modules.
  • the storage management application accesses the data store when receiving a request to access a selected storage resource from the host application in order to be assigned to one of the storage resource provider modules by the data store.
  • the assigned storage resource provider module retrieves and stores storage management data from and to the data store in order to satisfy the request.
  • a storage management architecture system includes a plurality of storage resources, a plurality of storage resource provider modules, and a storage management data store having storage management data.
  • Each of the storage resource provider modules interfaces with a different storage resource, and stores and retrieves storage management data from and to the data store in order to maintain a consistent storage environment representation in the data store.
  • the storage management architecture system includes a plurality of storage resources, where each storage resource includes an interface used to perform storage management operations on the storage resources, and where two or more of the interfaces are different from one another.
  • the storage management architecture system also includes a plurality of storage resource provider modules, where each storage resource provider module communicates with one of the interfaces.
  • the storage management architecture system includes a storage management data store capable of storing storage management data associated with the storage management operations.
  • the storage resource provider modules act as an intermediary on behalf of a calling application when processing the storage management operations, and the provider modules retrieve and store results associated with processing the storage management operations in the data store.
  • FIG. 1 shows a flow diagram of one method for providing storage architectures, according to the present invention
  • FIG. 2 shows a flow diagram of another method for providing storage architectures, according to the present invention
  • FIG. 3 shows a block diagram of one storage architecture system, according to the present invention.
  • FIG. 4 shows a block diagram of another storage architecture system, according to the present invention.
  • a “storage management application” includes software modules or applications that manage storage resources on behalf of host applications.
  • storage management applications are Volume Manager (VM) applications processing in a shared storage environment, such as a Storage Area Network (SAN) environment or any networked environment (e.g., TCP/IP using iSCSI and others).
  • VM Volume Manager
  • SAN Storage Area Network
  • Host applications are applications that interface with the storage management applications to gain access to storage resources.
  • storage arrays include storage resources, software (e.g., native storage array provided interfaces) to access the storage resources, controllers, memory, power supplies, and the like.
  • Storage resources can include whole storage arrays, storage disks, communication ports, Logical Unit Numbers (LUNs) assigned to communication ports, Access Control Lists (ACLs), Host Bus Adapters (HBAs), virtual storage disks assigned by the storage arrays, bindings, and the like.
  • the storage arrays typically include front-end adapter interfaces that are accessible to the host applications to access the storage resources and back-end adapter interfaces that the storage array uses to control the storage resources directly.
  • the front-end adapter interfaces are interfaced to storage resource provider modules.
  • the back-end adapter interfaces may remain unchanged with the teachings of the present disclosure.
  • Storage arrays themselves may additionally be storage appliances, high-density or blade servers, or maybe internally embedded in switches.
  • a storage array can be designated a host.
  • a host can be designated a storage array.
  • FIG. 1 illustrates a block diagram of one storage architecture system 100 , according to the present invention.
  • the storage architecture system 100 includes a plurality of storage provider resource modules (e.g., 110 . 1 - 110 .M) and a storage management Data Store (DS) 130 having storage management data (e.g., configuration settings) associated with storage resources (e.g., 240 . 1 - 140 .N) of a storage environment for the storage architecture system 100 .
  • storage provider resource modules e.g., 110 . 1 - 110 .M
  • DS storage management Data Store
  • Each of the storage resource provider modules 110 is implemented to interface with a different storage resource 140 .
  • the storage resource provider modules 110 store and retrieve storage management data from and to the DS 130 .
  • the storage resource provider modules 110 assist in maintaining a consistent and stable storage environment representation within the DS 130 , when storage management data is altered or otherwise accessed.
  • This storage environment representation is centrally managed and available through the DS 130 to the storage resource provider modules 110 and any other application processing in the storage environment.
  • a DS 130 is described in U.S. patent application Ser. No. 10/113,394, the description of which is incorporated by reference herein.
  • the storage management architecture system also includes a storage management application (e.g., VM, SAN manager, or other storage operation) (not shown in FIG. 1 ).
  • the storage management application receives storage management operations from a plurality of host applications. These operations are inspected by the storage management application to determine the appropriate storage resource 140 that is impacted by the operations.
  • the DS 130 is then queried to determine the appropriate storage resource provider module 110 needed in order to process the operations on behalf of the storage management application. Results associated with the operations are made available to the storage management application in the DS 130 . In this way, the storage management application indirectly interfaces with each of the storage resources 140 through the storage resource provider modules 110 .
  • the storage resources 140 are storage arrays having disparate interfaces that are needed to perform storage management operations on them. Interfaces are disparate when the commands, naming standards, calling syntaxes, and/or parameter orders are different. In some cases, the interfaces are disparate when different vendors provide the storage arrays or when different versions/releases of storage arrays are not compatible.
  • a plurality of host applications are permitted access to DS 130 in order to acquire the storage management data.
  • the host applications can use the storage management data to make decisions about whether to process a particular storage management operation.
  • the DS 130 is available for use by any application within the storage environment, and any application altering the storage management data can directly or indirectly cause the storage management data to be updated within the DS 130 .
  • operations performed by applications are coordinated, synchronized, and managed through the DS 130 , without requiring code modifications to each of the applications operating within the storage environment.
  • the DS 130 provides access and update methods to the storage resource provider modules 110 and any other applications processing within the storage environment.
  • the methods can be restricted based on security such that some methods are publicly available for use, and other methods are private having restricted use. This ensures that a rogue application cannot inadvertently alter the storage management data in a manner that is undesirable.
  • Security can also be provided using any Public Key Infrastructure (PKI) technique, such as public-private key encryption, authentication using certificates, and/or authorization.
  • PKI Public Key Infrastructure
  • Another embodiment includes storage management data that has configuration settings associated with storage residing within the storage resources 140 along with state information associated with the storage resources 140 .
  • the storage provider resource modules 110 can acquire the state information from the DS 130 to determine when storage management operations can be permissibly processed on the appropriate storage resources 140 or when some storage management operations must be held in abeyance until a state changes within a storage resource 140 .
  • FIG. 2 illustrates a flow diagram of one method 200 for managing storage across system 100 , according to the present invention.
  • System 100 includes a variety of applications that access and manage storage.
  • storage management data is provided to the applications in order to assist in accessing storage or managing the configuration settings of the storage.
  • a storage resource 140 represents a storage entity that includes storage management data about storage embodied by the storage entity.
  • a storage resource 140 is a storage array.
  • Each storage array includes an interface (e.g., a set of commands, operations, and the like) that permits other applications to perform storage operations on each of the storage arrays. These operations can be used to acquire existing storage management data (e.g., configuration settings). Alternatively, the operations can be used to alter the configurations of storage, thus, altering the storage management data within the storage arrays. In a single storage architecture that is used to manage a storage environment, a plurality of disparate storage arrays can be in use.
  • disparate storage arrays have different interfaces, which are used to perform storage operations. Different interfaces can include different naming procedures for commands, different syntaxes for the commands, and/or different ordering for parameters that are passed to the commands.
  • storage arrays provided by different vendors will have disparate interfaces. However, in some cases, storage arrays provided by the same vendor can have disparate interfaces, such as when different versions/releases of one storage array is not compatible with another storage array.
  • a plurality of storage resource provider modules 110 is provided for system 100 .
  • Each storage resource provider module 110 acts as an intermediary on behalf of other applications in order to perform storage operations on a storage resource 140 .
  • the storage operations are accessed by the other applications using a consistent interface (e.g., consistent calling syntax, naming standard, and parameter passing order).
  • This consistent interface is used as a front-end interface for each of the storage resource provider modules 110 and is used for interactions between the other applications and the storage resource provider modules 110 . In this way, the other applications need not know the individual disparate interfaces, which may be needed, to access disparate storage resources 140 within the architecture.
  • Each storage resource provider module 110 also includes a unique back-end interface used to directly communicate with a specific storage resource 140 .
  • the storage resource provider modules 110 translate storage operations requested by the other applications from the front-end interface to an appropriate back-end interface in order to act as an intermediary to the storage resources 140 on behalf of the other applications.
  • One such interface is described in U.S. patent application Ser. No. 10/175,029, which is incorporated by reference herein.
  • storage management is stored within storage management data store (DS) 130 .
  • DS 130 acts as a central data repository for all storage management data in the architecture.
  • the storage resource provider modules 110 and other applications can access the DS 130 to acquire storage management data (e.g., storage configuration settings).
  • storage resource provider modules 110 can update storage management data in DS 130 .
  • the other applications can also update the storage management data in DS 130 .
  • DS 130 is available to storage resource provider modules 110 and the other applications over a data bus. Furthermore, DS 130 can be a single database or a plurality of databases interfaced together. DS 130 can be implemented in volatile storage, non-volatile storage, or in a combination of volatile and non-volatile storages. Access to DS 130 can be achieved with any existing or custom-developed Application Programming Interface (API) library. DS 130 maintains a consistent representation of the storage environment for system 100 . This consistent representation is embodied in the storage management data.
  • API Application Programming Interface
  • DS 130 is accessed to manage the storage environment.
  • DS 130 and the storage management data can be used to interface the various applications, the storage resource provider modules 110 , and the storage resources 140 .
  • the first application can access DS 110 providing DS 110 with the storage resource 140 . 1 .
  • DS 130 determines that the storage resource 140 . 1 is associated with a first storage resource provider module 110 . 1 , and activates a call to the first storage resource provider module 110 . 1 to interact with the first application and the first storage resource 140 . 1 .
  • the first storage resource provider module 110 .
  • the first storage resource 140 . 1 then translates the first storage operation by using its front-end and back-end interfaces into commands recognized by the first storage resource 140 . 1 .
  • the first storage resource 140 . 1 processes the commands, and the updated storage management data is provided to DS 130 .
  • the first application can then obtain the updated storage management data from DS 130 .
  • DS 130 and the storage management data are used to interface the various components of the storage architecture (e.g., the applications, the storage resource provider modules, and the storage resources).
  • this is achieved by representing the storage resources 140 as storage objects having public and private accessible methods.
  • the storage objects can be arranged hierarchically and managed by DS 130 .
  • the DS 130 can use the storage resource's methods to resolve and bind the appropriate storage resource provider modules 110 to the appropriate storage resources 140 .
  • storage architectures can be provided by implementing method 200 , where the architectures are more flexibly managed. Moreover, the architectures permit the integration of new applications with minimal or no code changes required of existing applications. Conventionally, the integration of new applications required significant coding changes to existing applications, since storage management data was not centrally accessible to the applications, and was therefore passed and carried around in storage by each of the applications during processing. Furthermore, there is no requirement with the present invention for operations to be processed synchronously since asynchronous operations are also permissible. Additionally, DS 130 can include task objects that when accessed provide the current state, status, or progress of a previously requested and/or pending operations. Additionally, new provider modules 110 can be dynamically integrated and installed into DS 130 , thereby providing continuity of service. Also, DS 130 can issue alerts to applications indicating when high priority changes to the storage environment have occurred.
  • FIG. 3 illustrates a flow diagram of another method 300 for managing storage across system 100 , according to the present invention.
  • a storage management application is provided.
  • the storage management application can be VM, SAN manager, or other storage management operations, such as a snapshot operation, a mirror operation, and the like.
  • the storage management application is interfaced to a host application.
  • a host application can be any application that accesses storage located within a storage resource 140 .
  • the storage management application intercepts accesses destined for the storage resource 140 and fulfills the access requests on behalf of the host application. In this way, the storage management application can manage storage more efficiently within a storage environment.
  • storage resource provider modules 110 are associated with the storage management application.
  • each storage resource provider module 110 interfaces with a distinct storage resource 140 .
  • All storage resource provider modules 110 include a consistent interface (e.g., naming standard, calling syntax, parameter order, and the like), which is presented to the storage management application for use. This consistent interface is used by the storage management application to request that storage operations be performed on a storage resource 140 .
  • the requested storage operations can originate from the host application. Alternatively, the requested storage operations can originate from the storage management application, such as when the storage management application is performing scheduled operations or when the storage management application detects information in the storage environment that warrants a request for a storage management operation.
  • a storage management DS 130 is created.
  • DS 130 is interfaced to the storage resource provider modules 110 , the storage application, and in some cases, the host application.
  • DS 130 is available via a data bus to the storage management application and the storage resource provider modules 110 .
  • DS 130 can reside in a volatile storage, a non-volatile storage, and/or a combination of volatile and non-volatile storages.
  • storage management data (e.g., configuration settings and the like) associated with storage residing on storage resources 110 within the storage environment is stored in DS 130 .
  • Access to the data is provided via any commercially available API (in cases where the DS 130 is a commercially available DS 130 ), via any custom-developed API (in cases where the DS 130 is custom developed), via any Command Line Interface (CLI), and/or via any protocol.
  • DS 130 is accessible via an Object Module (OM) architecture, where storage resources 140 and/or elements residing in the storage environment are represented as objects having methods (e.g., public and private) to retrieve and update storage management data.
  • OM Object Module
  • the assigned storage resource provider module 110 . 1 translates the request into formats, syntax, and commands recognized by the appropriate storage resource 140 . 1 , and permits the storage resource 140 . 1 to process the request.
  • storage management data associated with satisfying the request is then updated in the DS 130 by the assigned storage resource provider module 110 . 1 .
  • the updated storage management data is then available to the storage management application to provide to the host application.
  • FIG. 4 illustrates a block diagram of another storage architecture system 400 , according to the present invention.
  • the storage architecture system 400 includes a plurality of storage resources 410 . 1 - 410 .N, a plurality of storage resource provider modules 430 . 1 - 430 .M, a storage management DS 450 , and a calling application (CA) 460 .
  • Each of the storage resources 410 includes interfaces (e.g., commands and operations having specific calling syntaxes, naming standards, and parameter orders) that permit the processing of storage management operations thereon.
  • a number of the storage resource interfaces 410 are different. In other words, the calling syntaxes, naming standards for commands, and/or parameter ordering for commands are different for one storage resource 410 . 1 and another storage resource 410 .N.
  • Each storage resource provider module 430 communicates with a specific storage resource interface 410 .
  • the storage resource provider modules 430 act as intermediaries between the CA 460 and the storage resources 410 .
  • a storage resource provider module 430 is called (directly or indirectly) to process the storage management operation on behalf of the CA 460 .
  • Results associated with processing the storage management operation can be retrieved by the CA 460 from the DS 450 , and stored by the appropriate storage resource provider modules 430 in the DS 450 .
  • the DS 450 includes storage management data (e.g., configuration settings or state information associated with the storage resources 410 .
  • the DS 450 is used to store and retrieve storage management data and provides a centrally located repository for acquiring configuration and state information about the storage environment.
  • DS 450 can be accessed over a network and provides an API library permitting access to the DS 450 from external applications (e.g., the CA 460 or the storage resource provider modules 430 ).
  • the CA 460 can also, in some embodiments, acquire storage management data directly from the DS 450 .
  • the CA 460 can also use the DS 450 to determine the appropriate storage resource provider module 430 that is to be used to process a storage management operation on an appropriate storage resource 410 .
  • the CA 460 can query the DS 450 with a storage resource identifier to acquire a dynamic pointer reference to an appropriate storage resource provider module 430 .
  • the CA 460 can access methods of a storage resource object, where internally the storage resource object was instantiated and includes private methods to bind an appropriate storage resource provider module. All such techniques are intended to fall within the scope of the present disclosure.
  • the CA 460 can be a storage management application or a host application. Moreover, the CA 460 is presented by each of the storage resource provider modules 430 with a consistent calling syntax to perform storage management operations. Each of the storage resource provider modules 430 translates the consistent calling syntax into a specific syntax recognized by their assigned storage resource interfaces 410 .
  • the methods and systems discussed above permit improved storage architectures.
  • These architectures include storage resource provider modules that act as gatekeepers for storage resources in a storage environment.
  • the storage resource provider modules also permit other applications to process storage management operations using a consistent calling syntax, naming standard, and parameter order.
  • Each storage resource provider module communicates directly with one of the storage resources.
  • the architectures include a storage management DS that centrally provides storage management data (e.g., configuration settings and state information) for all the storage resources. The DS is accessed and updated by the storage resource provider modules, and in some instances other applications processing within the storage environment.
  • the methods and systems presented in this disclosure permit more flexible implementations of storage management architectures that are easier to develop and maintain. Moreover, newly developed applications can be more robust, since they can be integrated within the storage architecture independent of the coding details associated with other existing applications.
  • the DS of the present disclosure permits applications to operate independent of one another, since the DS includes a consistent and stable representation of the storage environment at any particular moment.

Abstract

Methods and systems for storage architectures are provided. Storage resource provider modules interface with storage resources to perform storage operations. A storage management data store maintains storage data associated with a storage environment of the storage resources. The storage resource provider modules retrieve and update the storage management data in response to processing the storage operations. In one embodiment, a storage management application requests a selected storage resource provider module to perform a selected storage operation. The storage management application determines the selected storage resource provider module by acquiring the storage management data in the data store.

Description

    COPYRIGHT NOTICE/PERMISSION
  • A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software descriptions/examples, and data as described below and in the drawings hereto: Copyright© 2002, VERITAS Software Corporation, All Rights Reserved.
  • FIELD OF INVENTION
  • The present invention is related to storage architectures, and more particularly to methods, and systems that provide storage architectures to access storage management data.
  • BACKGROUND INFORMATION
  • Storage networking is the practice of connecting storage devices to computing devices (e.g., clients, servers, and the like) by using networks (e.g., Fibre Channel, Internet Small Computer System Interface (iSCSI), and others) instead of traditional point-to-point Small Computer System Interface (SCSI) channels. A network used to connect servers to storage devices is referred to as a storage area network (SAN). Typically, within a SAN environment, computing devices have access to the available storage devices. This presents a wide variety of benefits, including server platform fail-over wherein a failed storage device and failed server are automatically recovered by another operational server platform and operational storage device without requiring any recabling of the operational storage devices.
  • Prior to the development of SAN technology, local and wide area networks provided access between computing devices that did not always include storage devices. Connections were established with network protocols such as Transmission Communication Protocol (TCP), Unreliable Datagram Protocol (UDP), and others. Some of these protocols ensure that message ordering is preserved and that messages are not lost. Distributed File Systems (DFS) such as network file system (NFS) and Common Internet file system (CIFS) are layered on top of network protocols. Distributed File Systems provide uniformed named access to files and their data storage devices across a network consisting of heterogeneous computing devices. Using DFS, access to files or data storage devices is transparent to any particular computing device. Thus, access is consistent across the DFS without the need for physical locations or other details associated with any particular file or data. This access transparency is often referred to as storage virtualization.
  • Storage arrays provide access to storage disks within a shared storage environment. The storage arrays include the storage disks, software to access those storage disks, controllers, memory, power supplies, and the like. Host applications within the shared storage environment communicate with the storage arrays to gain access to storage locations on the storage disks controlled by the storage arrays. However, this access is typically in the form of vendor-specific interfaces provided by the vendors of the storage arrays. In some cases, vendors provide software libraries to gain access to the storage arrays (e.g., by implementing APIs). In other cases, vendors provide command line interfaces, where the commands are encoded in a specific data format, such as Extensible Markup Language (XML) data format and others.
  • Often storage management applications are interposed between the host applications and the underlying physical storage arrays. This is done, to free the host applications from the responsibilities of maintaining storage as well as to centralize storage management. Each storage management application is responsible for managing storage for a plurality of host applications and a plurality of storage arrays. However, in a heterogeneous shared storage environment with disparate storage arrays, the storage management applications are forced to know and manage a variety of interfaces in order to properly maintain and manage storage for the host applications.
  • Moreover, existing storage architectures do not make storage management data centrally accessible to the applications that manage each vendor's storage arrays. Storage management data is critical to any storage architecture; it includes, for instance, configuration settings associated with each storage array. Conventionally, applications aggregate the storage management data from the storage arrays and assimilate the results in isolation from other applications. However, if the various applications are not well integrated and coordinated, then the quality and timeliness of the storage data can be impacted.
  • Therefore, there is a need for a system and method for flexibly managing storage. Furthermore, there is a need to centrally provide storage management data, where the storage management data can be accessed by each of the applications in order to provide a consistent representation of a storage environment.
  • SUMMARY OF THE INVENTION
  • According to one aspect of the present invention, a method of managing storage across a heterogeneous storage environment is presented. A storage management application is provided that is interfaced to a host application. A plurality of storage resource provider modules is associated with the storage management application. Moreover, storage management data is stored on a storage management data store. The storage management data is associated with the storage management application and with each of the storage resource provider modules. Further, the storage management application accesses the data store when receiving a request to access a selected storage resource from the host application in order to be assigned to one of the storage resource provider modules by the data store. The assigned storage resource provider module retrieves and stores storage management data from and to the data store in order to satisfy the request.
  • According to another aspect of the present invention, a storage management architecture system is provided. The storage management architecture system includes a plurality of storage resources, a plurality of storage resource provider modules, and a storage management data store having storage management data. Each of the storage resource provider modules interfaces with a different storage resource, and stores and retrieves storage management data from and to the data store in order to maintain a consistent storage environment representation in the data store.
  • According to yet another aspect of the present invention, another storage management architecture system is disclosed. The storage management architecture system includes a plurality of storage resources, where each storage resource includes an interface used to perform storage management operations on the storage resources, and where two or more of the interfaces are different from one another. The storage management architecture system also includes a plurality of storage resource provider modules, where each storage resource provider module communicates with one of the interfaces. Additionally, the storage management architecture system includes a storage management data store capable of storing storage management data associated with the storage management operations. The storage resource provider modules act as an intermediary on behalf of a calling application when processing the storage management operations, and the provider modules retrieve and store results associated with processing the storage management operations in the data store.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a flow diagram of one method for providing storage architectures, according to the present invention;
  • FIG. 2 shows a flow diagram of another method for providing storage architectures, according to the present invention;
  • FIG. 3 shows a block diagram of one storage architecture system, according to the present invention; and
  • FIG. 4 shows a block diagram of another storage architecture system, according to the present invention.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • In the following detailed description of various embodiments of the present invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
  • As used herein a “storage management application” includes software modules or applications that manage storage resources on behalf of host applications. In some instances, storage management applications are Volume Manager (VM) applications processing in a shared storage environment, such as a Storage Area Network (SAN) environment or any networked environment (e.g., TCP/IP using iSCSI and others). In other instances, the storage management application is a SAN manager application, or other storage management operation, such as a snapshot operation, a mirror operation, and the like. Host applications are applications that interface with the storage management applications to gain access to storage resources.
  • In various embodiments of the present disclosure, storage arrays include storage resources, software (e.g., native storage array provided interfaces) to access the storage resources, controllers, memory, power supplies, and the like. Storage resources can include whole storage arrays, storage disks, communication ports, Logical Unit Numbers (LUNs) assigned to communication ports, Access Control Lists (ACLs), Host Bus Adapters (HBAs), virtual storage disks assigned by the storage arrays, bindings, and the like. The storage arrays typically include front-end adapter interfaces that are accessible to the host applications to access the storage resources and back-end adapter interfaces that the storage array uses to control the storage resources directly.
  • In various embodiments of the present disclosure, the front-end adapter interfaces are interfaced to storage resource provider modules. Beneficially, the back-end adapter interfaces may remain unchanged with the teachings of the present disclosure. Storage arrays themselves may additionally be storage appliances, high-density or blade servers, or maybe internally embedded in switches. Moreover, depending upon the operations being performed on a storage array, a storage array can be designated a host. Similarly, under some conditions, a host can be designated a storage array.
  • FIG. 1 illustrates a block diagram of one storage architecture system 100, according to the present invention. The storage architecture system 100 includes a plurality of storage provider resource modules (e.g., 110.1-110.M) and a storage management Data Store (DS) 130 having storage management data (e.g., configuration settings) associated with storage resources (e.g., 240.1-140.N) of a storage environment for the storage architecture system 100.
  • Each of the storage resource provider modules 110 is implemented to interface with a different storage resource 140. The storage resource provider modules 110 store and retrieve storage management data from and to the DS 130. In this way, the storage resource provider modules 110 assist in maintaining a consistent and stable storage environment representation within the DS 130, when storage management data is altered or otherwise accessed. This storage environment representation is centrally managed and available through the DS 130 to the storage resource provider modules 110 and any other application processing in the storage environment. A DS 130 is described in U.S. patent application Ser. No. 10/113,394, the description of which is incorporated by reference herein.
  • In one embodiment, the storage management architecture system also includes a storage management application (e.g., VM, SAN manager, or other storage operation) (not shown in FIG. 1). The storage management application receives storage management operations from a plurality of host applications. These operations are inspected by the storage management application to determine the appropriate storage resource 140 that is impacted by the operations. The DS 130 is then queried to determine the appropriate storage resource provider module 110 needed in order to process the operations on behalf of the storage management application. Results associated with the operations are made available to the storage management application in the DS 130. In this way, the storage management application indirectly interfaces with each of the storage resources 140 through the storage resource provider modules 110.
  • In one embodiment, the storage resources 140 are storage arrays having disparate interfaces that are needed to perform storage management operations on them. Interfaces are disparate when the commands, naming standards, calling syntaxes, and/or parameter orders are different. In some cases, the interfaces are disparate when different vendors provide the storage arrays or when different versions/releases of storage arrays are not compatible.
  • In some instances, a plurality of host applications are permitted access to DS 130 in order to acquire the storage management data. The host applications can use the storage management data to make decisions about whether to process a particular storage management operation. In this way, the DS 130 is available for use by any application within the storage environment, and any application altering the storage management data can directly or indirectly cause the storage management data to be updated within the DS 130. Thus, operations performed by applications are coordinated, synchronized, and managed through the DS 130, without requiring code modifications to each of the applications operating within the storage environment.
  • The DS 130 provides access and update methods to the storage resource provider modules 110 and any other applications processing within the storage environment. In some cases, the methods can be restricted based on security such that some methods are publicly available for use, and other methods are private having restricted use. This ensures that a rogue application cannot inadvertently alter the storage management data in a manner that is undesirable. Security can also be provided using any Public Key Infrastructure (PKI) technique, such as public-private key encryption, authentication using certificates, and/or authorization.
  • Another embodiment includes storage management data that has configuration settings associated with storage residing within the storage resources 140 along with state information associated with the storage resources 140. Thus, the storage provider resource modules 110 can acquire the state information from the DS 130 to determine when storage management operations can be permissibly processed on the appropriate storage resources 140 or when some storage management operations must be held in abeyance until a state changes within a storage resource 140.
  • FIG. 2 illustrates a flow diagram of one method 200 for managing storage across system 100, according to the present invention. System 100 includes a variety of applications that access and manage storage. IN one embodiment, storage management data is provided to the applications in order to assist in accessing storage or managing the configuration settings of the storage.
  • In some embodiments, the applications are layered such that applications at higher levels of abstraction receive storage management data that is virtualized. Additionally, applications at lower levels of abstraction receive storage management data that is less virtualized or, in some cases, data that represents physical mappings of storage within a storage resource. In one such embodiment, a storage resource 140 represents a storage entity that includes storage management data about storage embodied by the storage entity. In various embodiments of the present disclosure, a storage resource 140 is a storage array.
  • Each storage array includes an interface (e.g., a set of commands, operations, and the like) that permits other applications to perform storage operations on each of the storage arrays. These operations can be used to acquire existing storage management data (e.g., configuration settings). Alternatively, the operations can be used to alter the configurations of storage, thus, altering the storage management data within the storage arrays. In a single storage architecture that is used to manage a storage environment, a plurality of disparate storage arrays can be in use.
  • As noted above, disparate storage arrays have different interfaces, which are used to perform storage operations. Different interfaces can include different naming procedures for commands, different syntaxes for the commands, and/or different ordering for parameters that are passed to the commands. Typically, storage arrays provided by different vendors will have disparate interfaces. However, in some cases, storage arrays provided by the same vendor can have disparate interfaces, such as when different versions/releases of one storage array is not compatible with another storage array.
  • in the method 200, at 210, a plurality of storage resource provider modules 110 is provided for system 100. Each storage resource provider module 110 acts as an intermediary on behalf of other applications in order to perform storage operations on a storage resource 140. The storage operations are accessed by the other applications using a consistent interface (e.g., consistent calling syntax, naming standard, and parameter passing order).
  • This consistent interface is used as a front-end interface for each of the storage resource provider modules 110 and is used for interactions between the other applications and the storage resource provider modules 110. In this way, the other applications need not know the individual disparate interfaces, which may be needed, to access disparate storage resources 140 within the architecture. Each storage resource provider module 110 also includes a unique back-end interface used to directly communicate with a specific storage resource 140. The storage resource provider modules 110 translate storage operations requested by the other applications from the front-end interface to an appropriate back-end interface in order to act as an intermediary to the storage resources 140 on behalf of the other applications. One such interface is described in U.S. patent application Ser. No. 10/175,029, which is incorporated by reference herein.
  • At 220, storage management is stored within storage management data store (DS) 130. DS 130 acts as a central data repository for all storage management data in the architecture. The storage resource provider modules 110 and other applications can access the DS 130 to acquire storage management data (e.g., storage configuration settings). Moreover, storage resource provider modules 110 can update storage management data in DS 130. In some cases, the other applications, can also update the storage management data in DS 130.
  • In one embodiment, DS 130 is available to storage resource provider modules 110 and the other applications over a data bus. Furthermore, DS 130 can be a single database or a plurality of databases interfaced together. DS 130 can be implemented in volatile storage, non-volatile storage, or in a combination of volatile and non-volatile storages. Access to DS 130 can be achieved with any existing or custom-developed Application Programming Interface (API) library. DS 130 maintains a consistent representation of the storage environment for system 100. This consistent representation is embodied in the storage management data.
  • Thus, at 230, DS 130 is accessed to manage the storage environment. Please note, DS 130 and the storage management data can be used to interface the various applications, the storage resource provider modules 110, and the storage resources 140. For example, if a first application wants to perform a first storage operation on a first storage resource 140.1, then the first application can access DS 110 providing DS 110 with the storage resource 140.1. DS 130 then determines that the storage resource 140.1 is associated with a first storage resource provider module 110.1, and activates a call to the first storage resource provider module 110.1 to interact with the first application and the first storage resource 140.1. The first storage resource provider module 110.1 then translates the first storage operation by using its front-end and back-end interfaces into commands recognized by the first storage resource 140.1. The first storage resource 140.1 processes the commands, and the updated storage management data is provided to DS 130. The first application can then obtain the updated storage management data from DS 130. In this way, DS 130 and the storage management data are used to interface the various components of the storage architecture (e.g., the applications, the storage resource provider modules, and the storage resources).
  • In one embodiment, this is achieved by representing the storage resources 140 as storage objects having public and private accessible methods. The storage objects can be arranged hierarchically and managed by DS 130. In this way, the DS 130 can use the storage resource's methods to resolve and bind the appropriate storage resource provider modules 110 to the appropriate storage resources 140.
  • As one of ordinary skill in the art now appreciates, storage architectures can be provided by implementing method 200, where the architectures are more flexibly managed. Moreover, the architectures permit the integration of new applications with minimal or no code changes required of existing applications. Conventionally, the integration of new applications required significant coding changes to existing applications, since storage management data was not centrally accessible to the applications, and was therefore passed and carried around in storage by each of the applications during processing. Furthermore, there is no requirement with the present invention for operations to be processed synchronously since asynchronous operations are also permissible. Additionally, DS 130 can include task objects that when accessed provide the current state, status, or progress of a previously requested and/or pending operations. Additionally, new provider modules 110 can be dynamically integrated and installed into DS 130, thereby providing continuity of service. Also, DS 130 can issue alerts to applications indicating when high priority changes to the storage environment have occurred.
  • FIG. 3 illustrates a flow diagram of another method 300 for managing storage across system 100, according to the present invention. At 310, a storage management application is provided. The storage management application can be VM, SAN manager, or other storage management operations, such as a snapshot operation, a mirror operation, and the like.
  • At 312, the storage management application is interfaced to a host application. A host application can be any application that accesses storage located within a storage resource 140. The storage management application intercepts accesses destined for the storage resource 140 and fulfills the access requests on behalf of the host application. In this way, the storage management application can manage storage more efficiently within a storage environment.
  • At 320, storage resource provider modules 110 are associated with the storage management application. In one embodiment, each storage resource provider module 110 interfaces with a distinct storage resource 140. All storage resource provider modules 110 include a consistent interface (e.g., naming standard, calling syntax, parameter order, and the like), which is presented to the storage management application for use. This consistent interface is used by the storage management application to request that storage operations be performed on a storage resource 140. The requested storage operations can originate from the host application. Alternatively, the requested storage operations can originate from the storage management application, such as when the storage management application is performing scheduled operations or when the storage management application detects information in the storage environment that warrants a request for a storage management operation.
  • At 330, a storage management DS 130 is created. DS 130 is interfaced to the storage resource provider modules 110, the storage application, and in some cases, the host application. In one embodiment, DS 130 is available via a data bus to the storage management application and the storage resource provider modules 110. Further, DS 130 can reside in a volatile storage, a non-volatile storage, and/or a combination of volatile and non-volatile storages.
  • At 332, storage management data (e.g., configuration settings and the like) associated with storage residing on storage resources 110 within the storage environment is stored in DS 130. Access to the data is provided via any commercially available API (in cases where the DS 130 is a commercially available DS 130), via any custom-developed API (in cases where the DS 130 is custom developed), via any Command Line Interface (CLI), and/or via any protocol. Moreover, in one embodiment, DS 130 is accessible via an Object Module (OM) architecture, where storage resources 140 and/or elements residing in the storage environment are represented as objects having methods (e.g., public and private) to retrieve and update storage management data.
  • The storage management application accesses DS 130 when receiving a request from the host application to access a selected storage resource 140 residing within the storage environment. The DS 130 access results in the storage management application being directed to an appropriate storage resource provider module 110. In an OM embodiment, the DS 130 executes a method associated with the storage resource object in order to resolve the interface to use with the storage resource 140. The interface is provided to the DS 130 as a dynamic pointer to a specific storage resource provider module 110.1. Thus, the storage management application is indirectly assigned the specific storage resource provider 110.1 to act on its behalf when satisfying the request from the host application. As one skilled in the art readily recognizes, this permits storage resources 140 to have interfaces dynamically added, modified, and/or deleted, by having the DS 130 resolve the interface pointer when access is requested of a storage resource object.
  • The assigned storage resource provider module 110.1 translates the request into formats, syntax, and commands recognized by the appropriate storage resource 140.1, and permits the storage resource 140.1 to process the request. At 340, storage management data associated with satisfying the request is then updated in the DS 130 by the assigned storage resource provider module 110.1. The updated storage management data is then available to the storage management application to provide to the host application.
  • In some embodiments, the storage resource provider modules 110 also listen for events that occur within their assigned storage resources 140. These events can be raised when state changes occur within the storage resources 140, signaling that the storage management data (e.g., configuration settings) have been altered. When such events are detected, the storage resource provider modules 110 can automatically and dynamically update the corresponding storage management data in the DS 130. In this way, the DS 130 includes a timely and accurate representation of the storage management data for the entire storage environment.
  • FIG. 4 illustrates a block diagram of another storage architecture system 400, according to the present invention. The storage architecture system 400 includes a plurality of storage resources 410.1-410.N, a plurality of storage resource provider modules 430.1-430.M, a storage management DS 450, and a calling application (CA) 460. Each of the storage resources 410 includes interfaces (e.g., commands and operations having specific calling syntaxes, naming standards, and parameter orders) that permit the processing of storage management operations thereon. A number of the storage resource interfaces 410 are different. In other words, the calling syntaxes, naming standards for commands, and/or parameter ordering for commands are different for one storage resource 410.1 and another storage resource 410.N.
  • Each storage resource provider module 430 communicates with a specific storage resource interface 410. The storage resource provider modules 430 act as intermediaries between the CA 460 and the storage resources 410. Thus, when the CA 460 is requesting a storage management operation a storage resource provider module 430 is called (directly or indirectly) to process the storage management operation on behalf of the CA 460. Results associated with processing the storage management operation can be retrieved by the CA 460 from the DS 450, and stored by the appropriate storage resource provider modules 430 in the DS 450.
  • The DS 450 includes storage management data (e.g., configuration settings or state information associated with the storage resources 410. The DS 450 is used to store and retrieve storage management data and provides a centrally located repository for acquiring configuration and state information about the storage environment. In the embodiment shown, DS 450 can be accessed over a network and provides an API library permitting access to the DS 450 from external applications (e.g., the CA 460 or the storage resource provider modules 430).
  • The CA 460 can also, in some embodiments, acquire storage management data directly from the DS 450. The CA 460 can also use the DS 450 to determine the appropriate storage resource provider module 430 that is to be used to process a storage management operation on an appropriate storage resource 410. For example, the CA 460 can query the DS 450 with a storage resource identifier to acquire a dynamic pointer reference to an appropriate storage resource provider module 430.
  • Of course it is readily apparent to one of ordinary skill in the art, that a variety of other techniques can be used to resolve which storage resource provider module 430 is appropriate for the CA 460 in any given circumstance. For example, the CA 460 can access methods of a storage resource object, where internally the storage resource object was instantiated and includes private methods to bind an appropriate storage resource provider module. All such techniques are intended to fall within the scope of the present disclosure.
  • The CA 460 can be a storage management application or a host application. Moreover, the CA 460 is presented by each of the storage resource provider modules 430 with a consistent calling syntax to perform storage management operations. Each of the storage resource provider modules 430 translates the consistent calling syntax into a specific syntax recognized by their assigned storage resource interfaces 410.
  • Conclusion
  • The methods and systems discussed above permit improved storage architectures. These architectures include storage resource provider modules that act as gatekeepers for storage resources in a storage environment. The storage resource provider modules also permit other applications to process storage management operations using a consistent calling syntax, naming standard, and parameter order. Each storage resource provider module communicates directly with one of the storage resources. Moreover, the architectures include a storage management DS that centrally provides storage management data (e.g., configuration settings and state information) for all the storage resources. The DS is accessed and updated by the storage resource provider modules, and in some instances other applications processing within the storage environment.
  • As one of ordinary skill in the art now appreciates upon reading the present disclosure, the methods and systems presented in this disclosure permit more flexible implementations of storage management architectures that are easier to develop and maintain. Moreover, newly developed applications can be more robust, since they can be integrated within the storage architecture independent of the coding details associated with other existing applications. The DS of the present disclosure permits applications to operate independent of one another, since the DS includes a consistent and stable representation of the storage environment at any particular moment.
  • Although specific embodiments have been illustrated and described herein, it will be appreciated by one of ordinary skill in the art that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.

Claims (20)

1. A method of managing storage across a heterogeneous storage environment, comprising:
providing a storage management application interfaced to a host application;
associating a plurality of storage resource provider modules with the storage management application;
storing storage management data on a storage management data store; and
associating the storage management data with the storage management application and with each of the storage resource provider modules;
wherein the storage management application accesses the data store when receiving a request to access a selected storage resource from the host application in order to be assigned to one of the storage resource provider modules by the data store, and wherein the assigned storage resource provider module retrieves and stores storage management data from and to the data store in order to satisfy the request.
2. The method of claim 1 further comprising, periodically updating the data store by a number of the storage resource provider modules when state changes are detected in storage resources.
3. The method of claim 1 wherein in providing the storage management application, the storage management application is at least one of a Volume Manager (VM), a storage backup operation, a storage snapshot operation, and a storage area network (SAN) manager.
4. The method of claim 1 wherein in providing the storage provider resource modules, each of the storage provider resource modules present a consistent calling syntax to the storage management application for requesting storage management operations.
5. The method of claim 1, wherein providing the data store, the data store is accessed by at least one of an Application Programming Interface (API) Library, and an Object Module (OM) architecture having objects with associated methods.
6. The method of claim 1 wherein in providing the data store, the data store is accessible via a data bus, and the data store resides in at least one of a volatile storage, a non-volatile storage, and a combination of the volatile and non-volatile storages.
7. A storage management architecture system, comprising:
a plurality of storage resources;
a plurality of storage resource provider modules; and
a storage management data store having storage management data;
wherein each of the storage resource provider modules interfaces with a different storage resource, and stores and retrieves storage management data from and to the data store in order to maintain a consistent storage environment representation in the data store.
8. The storage management architecture of claim 7 further comprising:
a plurality of host applications and a storage management application that receives storage management operations from the plurality of host applications;
wherein the storage management application accesses the data store to select the storage resource provider modules that will process operations on behalf of the storage management application.
9. The storage management architecture system of claim 8 wherein a storage resource is dynamically bound to a storage resource provider module within the data store.
10. The storage management architecture system of claim 9, wherein a storage management application uses the storage management data included in the data store to manage a storage environment on behalf of the plurality of host applications, and wherein the storage management application uses the storage resource provider modules to indirectly interface with the storage resources.
11. The storage management architecture system of claim 7, wherein the storage resources include storage arrays and wherein two or more of the storage arrays have disparate interfaces from one another, where the interfaces are used to perform storage management operations on the storage arrays.
12. The storage management architecture system of claim 7, wherein the storage management data is used to make decisions about storage management operations.
13. The storage management architecture system of claim 7, wherein the data store is a database having access and update methods, where a number of the methods are publicly available for use and a number of the methods are private having restricted use.
14. The storage management architecture system of claim 7, wherein the storage management data includes storage configuration settings and states associated with the storage resources.
15. A storage management architecture system, comprising:
a plurality of storage resources, wherein each storage resource includes an interface used to perform storage management operations on the storage resources, wherein two or more of the interfaces are different from one another;
a plurality of storage resource provider modules, wherein each storage resource provider module communicates with one of the interfaces; and
a storage management data store capable of storing storage management data associated with the storage management operations;
wherein the storage resource provider modules act as an intermediary on behalf of a calling application when processing the storage management operations, and the provider modules retrieve and store results associated with processing the storage management operations in the data store.
16. The storage management architecture system of claim 15, wherein the calling application is at least one of a host application and a storage management application.
17. The storage management architecture system of claim 15, wherein the calling application retrieves the storage management data from the data store.
18. The storage management architecture system claim 15, wherein the storage resource provider modules access the data store is accessible over a network.
19. The storage management architecture system of claim 15, wherein the calling application requests one of the storage management operations by calling a storage resource provider module associated with a particular storage resource.
20. The storage management architecture system of claim 15, wherein the provider modules provide consistent calling syntaxes to the calling application for requesting the storage operations.
US10/947,497 2002-08-30 2004-09-22 Methods and systems for storage architectures Abandoned US20050038967A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/947,497 US20050038967A1 (en) 2002-08-30 2004-09-22 Methods and systems for storage architectures
US11/803,230 US20070294491A1 (en) 2002-08-30 2007-05-14 Methods and systems for storage architectures

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/232,132 US6826661B2 (en) 2002-08-30 2002-08-30 Methods and systems for storage architectures
US10/947,497 US20050038967A1 (en) 2002-08-30 2004-09-22 Methods and systems for storage architectures

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/232,132 Continuation US6826661B2 (en) 2002-08-30 2002-08-30 Methods and systems for storage architectures

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/803,230 Continuation US20070294491A1 (en) 2002-08-30 2007-05-14 Methods and systems for storage architectures

Publications (1)

Publication Number Publication Date
US20050038967A1 true US20050038967A1 (en) 2005-02-17

Family

ID=31976928

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/232,132 Expired - Lifetime US6826661B2 (en) 2002-08-30 2002-08-30 Methods and systems for storage architectures
US10/947,497 Abandoned US20050038967A1 (en) 2002-08-30 2004-09-22 Methods and systems for storage architectures
US11/803,230 Abandoned US20070294491A1 (en) 2002-08-30 2007-05-14 Methods and systems for storage architectures

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/232,132 Expired - Lifetime US6826661B2 (en) 2002-08-30 2002-08-30 Methods and systems for storage architectures

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/803,230 Abandoned US20070294491A1 (en) 2002-08-30 2007-05-14 Methods and systems for storage architectures

Country Status (3)

Country Link
US (3) US6826661B2 (en)
AU (1) AU2003263027A1 (en)
WO (1) WO2004021226A2 (en)

Cited By (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401137B1 (en) * 2003-12-31 2008-07-15 Emc Corporation Methods and apparatus for application of management actions to resources sharing relationships
US20090094359A1 (en) * 2005-07-26 2009-04-09 Thomson Licensing Local Area Network Management
US20090248697A1 (en) * 2008-03-31 2009-10-01 Richardson David R Cache optimization
US20090248787A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
US20090248893A1 (en) * 2008-03-31 2009-10-01 Richardson David R Request routing
US20100125675A1 (en) * 2008-11-17 2010-05-20 Richardson David R Updating routing information based on client location
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US20110149965A1 (en) * 2009-12-17 2011-06-23 Judge Alan M Distributed routing architecture
US20110149964A1 (en) * 2009-12-17 2011-06-23 Judge Alan M Distributed routing architecture
US20110149963A1 (en) * 2009-12-17 2011-06-23 Hamilton James R Distributed routing architecture
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8051166B1 (en) 2008-09-29 2011-11-01 Amazon Technologies, Inc. Service provider optimization of content management
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US8122098B1 (en) * 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8239571B2 (en) 2008-06-30 2012-08-07 Amazon Technologies, Inc. Request routing using network computing components
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8463877B1 (en) 2009-03-27 2013-06-11 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularitiy information
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US8667127B2 (en) 2009-03-24 2014-03-04 Amazon Technologies, Inc. Monitoring web site content
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8843625B2 (en) 2008-09-29 2014-09-23 Amazon Technologies, Inc. Managing network data display
US8856343B2 (en) * 2007-06-12 2014-10-07 International Business Machines Corporation Managing computer resources in a distributed computing system
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9088460B2 (en) 2008-09-29 2015-07-21 Amazon Technologies, Inc. Managing resource consolidation configurations
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9160641B2 (en) 2008-09-29 2015-10-13 Amazon Technologies, Inc. Monitoring domain allocation performance
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9251112B2 (en) 2008-11-17 2016-02-02 Amazon Technologies, Inc. Managing content delivery network service providers
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10462025B2 (en) 2008-09-29 2019-10-29 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1436873B1 (en) 2001-09-28 2009-04-29 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US7596611B1 (en) 2002-04-01 2009-09-29 Veritas Operating Corporation Method and apparatus for maintaining information for use in the configuration of a client
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
CA2508089A1 (en) 2002-10-07 2004-04-22 Commvault Systems, Inc. System and method for managing stored data
CA2544064C (en) * 2003-11-13 2012-02-07 Commvault Systems, Inc. System and method for performing integrated storage operations
JP4500118B2 (en) * 2004-07-06 2010-07-14 株式会社日立製作所 Storage device
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US20060129987A1 (en) * 2004-12-15 2006-06-15 Patten Benhase Linda V Apparatus, system, and method for accessing management data
US7721025B2 (en) * 2005-09-06 2010-05-18 Reldata, Inc. Reusing task object and resources
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7502873B2 (en) * 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7840718B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US7904605B2 (en) * 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US7890668B2 (en) * 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8117347B2 (en) * 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US7840717B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8082481B2 (en) * 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8214562B2 (en) * 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8176222B2 (en) * 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8095847B2 (en) * 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US7908403B2 (en) * 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8166206B2 (en) * 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8108570B2 (en) * 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US9052837B2 (en) * 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7917813B2 (en) * 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8196149B2 (en) * 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7899944B2 (en) * 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8312189B2 (en) * 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US7953100B2 (en) * 2008-05-07 2011-05-31 Oracle International Corporation System and method for providing a pluggable architecture for state management in a telecommunication service access gateway
US7937504B2 (en) * 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7904606B2 (en) * 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8719767B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Utilizing snapshots to provide builds to developer computing devices
US8433682B2 (en) 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
EP2519872A4 (en) 2009-12-31 2015-08-26 Commvault Systems Inc Systems and methods for performing data management operations using snapshots
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US20130024481A1 (en) * 2011-07-20 2013-01-24 Computer Associates Think, Inc. Unified-interface for storage provisioning
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
CN108306930B (en) * 2017-12-22 2021-02-09 华为技术有限公司 Remote desktop system and image data sharing method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442791A (en) * 1992-03-31 1995-08-15 Aggregate Computing, Inc. Integrated remote execution system for a heterogenous computer network environment
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5838918A (en) * 1993-12-13 1998-11-17 International Business Machines Corporation Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US20020095602A1 (en) * 2001-01-17 2002-07-18 Pherson James E. System for controlling access to resources in a storage area network
US6430611B1 (en) * 1998-08-25 2002-08-06 Highground Systems, Inc. Method and apparatus for providing data storage management
US6678700B1 (en) * 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US95602A (en) * 1869-10-05 notes
CA2187925C (en) * 1994-04-21 2000-04-25 Colin Jones Interface device and method
US5758125A (en) * 1995-12-28 1998-05-26 Newframe Corporation Ltd. Method of sharing data in a heterogeneous computer system
US6041386A (en) * 1998-02-10 2000-03-21 International Business Machines Corporation Data sharing between system using different data storage formats
US6415289B1 (en) * 1998-03-19 2002-07-02 Williams Communications, Inc. Network information control method utilizing a common command format and a centralized storage management system
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
CA2373380A1 (en) 1999-06-11 2000-12-21 Storage Technology Corporation Intelligent storage area network
US6480901B1 (en) * 1999-07-09 2002-11-12 Lsi Logic Corporation System for monitoring and managing devices on a network from a management station via a proxy server that provides protocol converter
US6681310B1 (en) 1999-11-29 2004-01-20 Microsoft Corporation Storage management system having common volume manager
US6484177B1 (en) * 2000-01-13 2002-11-19 International Business Machines Corporation Data management interoperability methods for heterogeneous directory structures
WO2002025870A1 (en) 2000-09-18 2002-03-28 Storageapps Inc. Method, system, and computer program product for managing storage resources
JP2002288105A (en) * 2001-03-26 2002-10-04 Hitachi Ltd Storage area network system, method for its operation, storage, and data transferring quantity monitoring device
US20020143942A1 (en) * 2001-03-28 2002-10-03 Hua Li Storage area network resource management
JP4306152B2 (en) * 2001-06-26 2009-07-29 株式会社日立製作所 Web system with clustered application server and database structure
US7398326B2 (en) * 2002-04-25 2008-07-08 International Business Machines Corporation Methods for management of mixed protocol storage area networks
JP2003316522A (en) 2002-04-26 2003-11-07 Hitachi Ltd Computer system and method for controlling the same system
US7779428B2 (en) * 2002-06-18 2010-08-17 Symantec Operating Corporation Storage resource integration layer interfaces
US7043614B2 (en) * 2002-07-11 2006-05-09 Veritas Operating Corporation Storage services and systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442791A (en) * 1992-03-31 1995-08-15 Aggregate Computing, Inc. Integrated remote execution system for a heterogenous computer network environment
US5838918A (en) * 1993-12-13 1998-11-17 International Business Machines Corporation Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6430611B1 (en) * 1998-08-25 2002-08-06 Highground Systems, Inc. Method and apparatus for providing data storage management
US6678700B1 (en) * 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US20020095602A1 (en) * 2001-01-17 2002-07-18 Pherson James E. System for controlling access to resources in a storage area network
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures

Cited By (265)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401137B1 (en) * 2003-12-31 2008-07-15 Emc Corporation Methods and apparatus for application of management actions to resources sharing relationships
US20090094359A1 (en) * 2005-07-26 2009-04-09 Thomson Licensing Local Area Network Management
US8856343B2 (en) * 2007-06-12 2014-10-07 International Business Machines Corporation Managing computer resources in a distributed computing system
US10027582B2 (en) 2007-06-29 2018-07-17 Amazon Technologies, Inc. Updating routing information based on client location
US9992303B2 (en) 2007-06-29 2018-06-05 Amazon Technologies, Inc. Request routing utilizing client location information
US9021127B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Updating routing information based on client location
US9021129B2 (en) 2007-06-29 2015-04-28 Amazon Technologies, Inc. Request routing utilizing client location information
US9571389B2 (en) 2008-03-31 2017-02-14 Amazon Technologies, Inc. Request routing based on class
US10645149B2 (en) 2008-03-31 2020-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US20110072110A1 (en) * 2008-03-31 2011-03-24 Swaminathan Sivasubramanian Content management
US20110078240A1 (en) * 2008-03-31 2011-03-31 Swaminathan Sivasubramanian Content management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US9894168B2 (en) 2008-03-31 2018-02-13 Amazon Technologies, Inc. Locality based content distribution
US9888089B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Client side cache management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US9887915B2 (en) 2008-03-31 2018-02-06 Amazon Technologies, Inc. Request routing based on class
US20090248787A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
US20090248697A1 (en) * 2008-03-31 2009-10-01 Richardson David R Cache optimization
US8060561B2 (en) 2008-03-31 2011-11-15 Amazon Technologies, Inc. Locality based content distribution
US10157135B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Cache optimization
US10158729B2 (en) 2008-03-31 2018-12-18 Amazon Technologies, Inc. Locality based content distribution
US20110072134A1 (en) * 2008-03-31 2011-03-24 Swaminathan Sivasubramanian Content management
US9621660B2 (en) 2008-03-31 2017-04-11 Amazon Technologies, Inc. Locality based content distribution
US20090248858A1 (en) * 2008-03-31 2009-10-01 Swaminathan Sivasubramanian Content management
US8135820B2 (en) 2008-03-31 2012-03-13 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US9544394B2 (en) 2008-03-31 2017-01-10 Amazon Technologies, Inc. Network resource identification
US10305797B2 (en) 2008-03-31 2019-05-28 Amazon Technologies, Inc. Request routing based on class
US8275874B2 (en) 2008-03-31 2012-09-25 Amazon Technologies, Inc. Locality based content distribution
US9479476B2 (en) 2008-03-31 2016-10-25 Amazon Technologies, Inc. Processing of DNS queries
US9407699B2 (en) 2008-03-31 2016-08-02 Amazon Technologies, Inc. Content management
US9332078B2 (en) 2008-03-31 2016-05-03 Amazon Technologies, Inc. Locality based content distribution
US10511567B2 (en) 2008-03-31 2019-12-17 Amazon Technologies, Inc. Network resource identification
US9208097B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Cache optimization
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US9210235B2 (en) 2008-03-31 2015-12-08 Amazon Technologies, Inc. Client side cache management
US10530874B2 (en) 2008-03-31 2020-01-07 Amazon Technologies, Inc. Locality based content distribution
US10554748B2 (en) 2008-03-31 2020-02-04 Amazon Technologies, Inc. Content management
US8639817B2 (en) 2008-03-31 2014-01-28 Amazon Technologies, Inc. Content management
US8346937B2 (en) 2008-03-31 2013-01-01 Amazon Technologies, Inc. Content management
US8352615B2 (en) 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8352613B2 (en) 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8352614B2 (en) 2008-03-31 2013-01-08 Amazon Technologies, Inc. Content management
US8386596B2 (en) 2008-03-31 2013-02-26 Amazon Technologies, Inc. Request routing based on class
US10771552B2 (en) 2008-03-31 2020-09-08 Amazon Technologies, Inc. Content management
US8402137B2 (en) 2008-03-31 2013-03-19 Amazon Technologies, Inc. Content management
US9026616B2 (en) 2008-03-31 2015-05-05 Amazon Technologies, Inc. Content delivery reconciliation
US8438263B2 (en) 2008-03-31 2013-05-07 Amazon Technologies, Inc. Locality based content distribution
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US11451472B2 (en) 2008-03-31 2022-09-20 Amazon Technologies, Inc. Request routing based on class
US11909639B2 (en) 2008-03-31 2024-02-20 Amazon Technologies, Inc. Request routing based on class
US20090248893A1 (en) * 2008-03-31 2009-10-01 Richardson David R Request routing
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8713156B2 (en) 2008-03-31 2014-04-29 Amazon Technologies, Inc. Request routing based on class
US9009286B2 (en) 2008-03-31 2015-04-14 Amazon Technologies, Inc. Locality based content distribution
US8756325B2 (en) 2008-03-31 2014-06-17 Amazon Technologies, Inc. Content management
US10797995B2 (en) 2008-03-31 2020-10-06 Amazon Technologies, Inc. Request routing based on class
US8930544B2 (en) 2008-03-31 2015-01-06 Amazon Technologies, Inc. Network resource identification
US11194719B2 (en) 2008-03-31 2021-12-07 Amazon Technologies, Inc. Cache optimization
US20110072140A1 (en) * 2008-03-31 2011-03-24 Swaminathan Sivasubramanian Content management
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US9954934B2 (en) 2008-03-31 2018-04-24 Amazon Technologies, Inc. Content delivery reconciliation
US11245770B2 (en) 2008-03-31 2022-02-08 Amazon Technologies, Inc. Locality based content distribution
US9608957B2 (en) 2008-06-30 2017-03-28 Amazon Technologies, Inc. Request routing using network computing components
US8458250B2 (en) 2008-06-30 2013-06-04 Amazon Technologies, Inc. Request routing using network computing components
US9021128B2 (en) 2008-06-30 2015-04-28 Amazon Technologies, Inc. Request routing using network computing components
US8239571B2 (en) 2008-06-30 2012-08-07 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8843625B2 (en) 2008-09-29 2014-09-23 Amazon Technologies, Inc. Managing network data display
US9660890B2 (en) 2008-09-29 2017-05-23 Amazon Technologies, Inc. Service provider optimization of content management
US8307078B2 (en) 2008-09-29 2012-11-06 Amazon Technologies, Inc. Service provider optimization of content management
US9210099B2 (en) 2008-09-29 2015-12-08 Amazon Technologies, Inc. Optimizing resource configurations
US8296429B2 (en) 2008-09-29 2012-10-23 Amazon Technologies, Inc. Optimizing content management
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US10462025B2 (en) 2008-09-29 2019-10-29 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US9160641B2 (en) 2008-09-29 2015-10-13 Amazon Technologies, Inc. Monitoring domain allocation performance
US8762526B2 (en) 2008-09-29 2014-06-24 Amazon Technologies, Inc. Optimizing content management
US9088460B2 (en) 2008-09-29 2015-07-21 Amazon Technologies, Inc. Managing resource consolidation configurations
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US8549531B2 (en) 2008-09-29 2013-10-01 Amazon Technologies, Inc. Optimizing resource configurations
US8051166B1 (en) 2008-09-29 2011-11-01 Amazon Technologies, Inc. Service provider optimization of content management
US10284446B2 (en) 2008-09-29 2019-05-07 Amazon Technologies, Inc. Optimizing content management
US8239514B2 (en) 2008-11-17 2012-08-07 Amazon Technologies, Inc. Managing content delivery network service providers
US9451046B2 (en) 2008-11-17 2016-09-20 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8510448B2 (en) 2008-11-17 2013-08-13 Amazon Technologies, Inc. Service provider registration by a content broker
US11115500B2 (en) 2008-11-17 2021-09-07 Amazon Technologies, Inc. Request routing utilizing client location information
US9734472B2 (en) 2008-11-17 2017-08-15 Amazon Technologies, Inc. Request routing utilizing cost information
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8495220B2 (en) 2008-11-17 2013-07-23 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US10116584B2 (en) 2008-11-17 2018-10-30 Amazon Technologies, Inc. Managing content delivery network service providers
US10523783B2 (en) 2008-11-17 2019-12-31 Amazon Technologies, Inc. Request routing utilizing client location information
US20100125675A1 (en) * 2008-11-17 2010-05-20 Richardson David R Updating routing information based on client location
US8458360B2 (en) 2008-11-17 2013-06-04 Amazon Technologies, Inc. Request routing utilizing client location information
US8423667B2 (en) 2008-11-17 2013-04-16 Amazon Technologies, Inc. Updating routing information based on client location
US8788671B2 (en) 2008-11-17 2014-07-22 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US9590946B2 (en) 2008-11-17 2017-03-07 Amazon Technologies, Inc. Managing content delivery network service providers
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8122098B1 (en) * 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8234403B2 (en) 2008-11-17 2012-07-31 Amazon Technologies, Inc. Updating routing information based on client location
US10742550B2 (en) 2008-11-17 2020-08-11 Amazon Technologies, Inc. Updating routing information based on client location
US9251112B2 (en) 2008-11-17 2016-02-02 Amazon Technologies, Inc. Managing content delivery network service providers
US9515949B2 (en) 2008-11-17 2016-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US11811657B2 (en) 2008-11-17 2023-11-07 Amazon Technologies, Inc. Updating routing information based on client location
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US9787599B2 (en) 2008-11-17 2017-10-10 Amazon Technologies, Inc. Managing content delivery network service providers
US9444759B2 (en) 2008-11-17 2016-09-13 Amazon Technologies, Inc. Service provider registration by a content broker
US8583776B2 (en) 2008-11-17 2013-11-12 Amazon Technologies, Inc. Managing content delivery network service providers
US9985927B2 (en) 2008-11-17 2018-05-29 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8321588B2 (en) 2008-11-17 2012-11-27 Amazon Technologies, Inc. Request routing utilizing client location information
US11283715B2 (en) 2008-11-17 2022-03-22 Amazon Technologies, Inc. Updating routing information based on client location
US8301778B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Service provider registration by a content broker
US8301748B2 (en) 2008-11-17 2012-10-30 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8667127B2 (en) 2009-03-24 2014-03-04 Amazon Technologies, Inc. Monitoring web site content
US8463877B1 (en) 2009-03-27 2013-06-11 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularitiy information
US8521885B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US9237114B2 (en) 2009-03-27 2016-01-12 Amazon Technologies, Inc. Managing resources in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US10491534B2 (en) 2009-03-27 2019-11-26 Amazon Technologies, Inc. Managing resources and entries in tracking information in resource cache components
US9191458B2 (en) 2009-03-27 2015-11-17 Amazon Technologies, Inc. Request routing using a popularity identifier at a DNS nameserver
US10230819B2 (en) 2009-03-27 2019-03-12 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10264062B2 (en) 2009-03-27 2019-04-16 Amazon Technologies, Inc. Request routing using a popularity identifier to identify a cache component
US8996664B2 (en) 2009-03-27 2015-03-31 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US10574787B2 (en) 2009-03-27 2020-02-25 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US10601767B2 (en) 2009-03-27 2020-03-24 Amazon Technologies, Inc. DNS query processing based on application information
US9083675B2 (en) 2009-03-27 2015-07-14 Amazon Technologies, Inc. Translation of resource identifiers using popularity information upon client request
US8543702B1 (en) 2009-06-16 2013-09-24 Amazon Technologies, Inc. Managing resources using resource expiration data
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US10521348B2 (en) 2009-06-16 2019-12-31 Amazon Technologies, Inc. Managing resources using resource expiration data
US10783077B2 (en) 2009-06-16 2020-09-22 Amazon Technologies, Inc. Managing resources using resource expiration data
US9176894B2 (en) 2009-06-16 2015-11-03 Amazon Technologies, Inc. Managing resources using resource expiration data
US9130756B2 (en) 2009-09-04 2015-09-08 Amazon Technologies, Inc. Managing secure content in a content delivery network
US10135620B2 (en) 2009-09-04 2018-11-20 Amazon Technologis, Inc. Managing secure content in a content delivery network
US9712325B2 (en) 2009-09-04 2017-07-18 Amazon Technologies, Inc. Managing secure content in a content delivery network
US10785037B2 (en) 2009-09-04 2020-09-22 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US9893957B2 (en) 2009-10-02 2018-02-13 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US9246776B2 (en) 2009-10-02 2016-01-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US10218584B2 (en) 2009-10-02 2019-02-26 Amazon Technologies, Inc. Forward-based resource delivery network management techniques
US8325730B2 (en) 2009-12-17 2012-12-04 Amazon Technologies, Inc. Distributed routing architecture
US20110149965A1 (en) * 2009-12-17 2011-06-23 Judge Alan M Distributed routing architecture
US10063459B2 (en) 2009-12-17 2018-08-28 Amazon Technologies, Inc. Distributed routing architecture
US8902897B2 (en) 2009-12-17 2014-12-02 Amazon Technologies, Inc. Distributed routing architecture
US9282032B2 (en) 2009-12-17 2016-03-08 Amazon Technologies, Inc. Distributed routing architecture
US8971328B2 (en) 2009-12-17 2015-03-03 Amazon Technologies, Inc. Distributed routing architecture
US20110149963A1 (en) * 2009-12-17 2011-06-23 Hamilton James R Distributed routing architecture
US8331370B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US20110149964A1 (en) * 2009-12-17 2011-06-23 Judge Alan M Distributed routing architecture
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US10506029B2 (en) 2010-01-28 2019-12-10 Amazon Technologies, Inc. Content distribution network
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US11205037B2 (en) 2010-01-28 2021-12-21 Amazon Technologies, Inc. Content distribution network
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10225322B2 (en) 2010-09-28 2019-03-05 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US11632420B2 (en) 2010-09-28 2023-04-18 Amazon Technologies, Inc. Point of presence management in request routing
US11336712B2 (en) 2010-09-28 2022-05-17 Amazon Technologies, Inc. Point of presence management in request routing
US8676918B2 (en) 2010-09-28 2014-03-18 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US10015237B2 (en) 2010-09-28 2018-07-03 Amazon Technologies, Inc. Point of presence management in request routing
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US11108729B2 (en) 2010-09-28 2021-08-31 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US10931738B2 (en) 2010-09-28 2021-02-23 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10079742B1 (en) 2010-09-28 2018-09-18 Amazon Technologies, Inc. Latency measurement in resource requests
US10778554B2 (en) 2010-09-28 2020-09-15 Amazon Technologies, Inc. Latency measurement in resource requests
US9106701B2 (en) 2010-09-28 2015-08-11 Amazon Technologies, Inc. Request routing management based on network components
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9160703B2 (en) 2010-09-28 2015-10-13 Amazon Technologies, Inc. Request routing management based on network components
US9185012B2 (en) 2010-09-28 2015-11-10 Amazon Technologies, Inc. Latency measurement in resource requests
US9800539B2 (en) 2010-09-28 2017-10-24 Amazon Technologies, Inc. Request routing management based on network components
US9191338B2 (en) 2010-09-28 2015-11-17 Amazon Technologies, Inc. Request routing in a networked environment
US9794216B2 (en) 2010-09-28 2017-10-17 Amazon Technologies, Inc. Request routing in a networked environment
US9787775B1 (en) 2010-09-28 2017-10-10 Amazon Technologies, Inc. Point of presence management in request routing
US9253065B2 (en) 2010-09-28 2016-02-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9497259B1 (en) 2010-09-28 2016-11-15 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10951725B2 (en) 2010-11-22 2021-03-16 Amazon Technologies, Inc. Request routing processing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9930131B2 (en) 2010-11-22 2018-03-27 Amazon Technologies, Inc. Request routing processing
US9003040B2 (en) 2010-11-22 2015-04-07 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US11604667B2 (en) 2011-04-27 2023-03-14 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9628554B2 (en) 2012-02-10 2017-04-18 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9083743B1 (en) 2012-03-21 2015-07-14 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US10225362B2 (en) 2012-06-11 2019-03-05 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US11303717B2 (en) 2012-06-11 2022-04-12 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US11729294B2 (en) 2012-06-11 2023-08-15 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US10015241B2 (en) 2012-09-20 2018-07-03 Amazon Technologies, Inc. Automated profiling of resource usage
US10542079B2 (en) 2012-09-20 2020-01-21 Amazon Technologies, Inc. Automated profiling of resource usage
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US10645056B2 (en) 2012-12-19 2020-05-05 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US10374955B2 (en) 2013-06-04 2019-08-06 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9929959B2 (en) 2013-06-04 2018-03-27 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US11381487B2 (en) 2014-12-18 2022-07-05 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11863417B2 (en) 2014-12-18 2024-01-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10728133B2 (en) 2014-12-18 2020-07-28 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11297140B2 (en) 2015-03-23 2022-04-05 Amazon Technologies, Inc. Point of presence based data uploading
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US10469355B2 (en) 2015-03-30 2019-11-05 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US10180993B2 (en) 2015-05-13 2019-01-15 Amazon Technologies, Inc. Routing based request correlation
US11461402B2 (en) 2015-05-13 2022-10-04 Amazon Technologies, Inc. Routing based request correlation
US10691752B2 (en) 2015-05-13 2020-06-23 Amazon Technologies, Inc. Routing based request correlation
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10200402B2 (en) 2015-09-24 2019-02-05 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US11134134B2 (en) 2015-11-10 2021-09-28 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US11463550B2 (en) 2016-06-06 2022-10-04 Amazon Technologies, Inc. Request management for hierarchical cache
US10666756B2 (en) 2016-06-06 2020-05-26 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US11457088B2 (en) 2016-06-29 2022-09-27 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10516590B2 (en) 2016-08-23 2019-12-24 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10469442B2 (en) 2016-08-24 2019-11-05 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US11330008B2 (en) 2016-10-05 2022-05-10 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US11762703B2 (en) 2016-12-27 2023-09-19 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US11290418B2 (en) 2017-09-25 2022-03-29 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US11362986B2 (en) 2018-11-16 2022-06-14 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system

Also Published As

Publication number Publication date
US20040044856A1 (en) 2004-03-04
US20070294491A1 (en) 2007-12-20
WO2004021226A2 (en) 2004-03-11
AU2003263027A1 (en) 2004-03-19
AU2003263027A8 (en) 2004-03-19
US6826661B2 (en) 2004-11-30
WO2004021226A3 (en) 2004-06-10

Similar Documents

Publication Publication Date Title
US6826661B2 (en) Methods and systems for storage architectures
US6883081B2 (en) Storage management software bridges
US8255420B2 (en) Distributed storage
US7761489B2 (en) Storage managing computer and program recording medium therefor
EP1701280B1 (en) File server and method for translating user identifier
US8069217B2 (en) System and method for providing access to a shared system image
US20050251522A1 (en) File system architecture requiring no direct access to user data from a metadata manager
US8412901B2 (en) Making automated use of data volume copy service targets
KR20070011413A (en) Methods, systems and programs for maintaining a namespace of filesets accessible to clients over a network
US8447782B1 (en) Data access layer having a mapping module for transformation of data into common information model compliant objects
WO2007134918A1 (en) Distributed storage
US8516086B2 (en) Generalized credential and protocol management of infrastructure
US20170154039A1 (en) Enabling a hadoop file system with posix compliance
CA2562607A1 (en) Systems and methods for providing a proxy for a shared file system
US6810396B1 (en) Managed access of a backup storage system coupled to a network
US7779428B2 (en) Storage resource integration layer interfaces
US7581007B2 (en) Method, apparatus and services for leasing volumes
JP4345309B2 (en) Network storage device
US11064020B2 (en) Connection load distribution in distributed object storage systems
EP1860846B1 (en) Method and devices for managing distributed storage

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: SYMANTEC CORPORATION, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:VERITAS OPERATING CORPORATION;REEL/FRAME:019872/0979

Effective date: 20061030

Owner name: SYMANTEC CORPORATION,CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:VERITAS OPERATING CORPORATION;REEL/FRAME:019872/0979

Effective date: 20061030

AS Assignment

Owner name: SYMANTEC OPERATING CORPORATION, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION;ASSIGNOR:VERITAS OPERATING CORPORATION;REEL/FRAME:027819/0462

Effective date: 20061030