US20040054782A1 - Software application domain and storage domain stitching process and method - Google Patents
Software application domain and storage domain stitching process and method Download PDFInfo
- Publication number
- US20040054782A1 US20040054782A1 US10/244,704 US24470402A US2004054782A1 US 20040054782 A1 US20040054782 A1 US 20040054782A1 US 24470402 A US24470402 A US 24470402A US 2004054782 A1 US2004054782 A1 US 2004054782A1
- Authority
- US
- United States
- Prior art keywords
- domain
- storage
- application
- user
- information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
Definitions
- This invention relates to managing software application domains and storage domains.
- Data storage systems receive, store, and provide access for data retrieval by software applications such as database applications or other types of software.
- software applications such as database applications or other types of software.
- representative maps can be displayed to provide insight of the hardwire interconnections within the storage system.
- the representative maps may be shown as a graphical tree structure where tree branches represent the interconnections of the storage system.
- a method for mapping data path connections includes accessing information representing a data path between a software application and a storage system, the information is collected from the software application by an agent, accessing information representing the data path between the storage system and the software application, a portion of the information is collected from the storage system by an agent, determining connections associated with the data path, and mapping the data path connections to form a connection map.
- connection map may be disseminated to a user.
- a database may be accessed for the information representing the data path.
- FIG. 1 is a block diagram depicting an arrangement between software application and storage domains, and a domain management process.
- FIG. 2 is a block diagram depicting an illustrative example of the arrangement in FIG. 1.
- FIG. 3 is a block diagram of domain management process, agent, and a software application.
- FIG. 4 is a block diagram of information passed to a stitching process and information processed by the stitching process.
- FIG. 5 is a flow chart of a stitching process.
- FIG. 6 is a block diagram of another example of a software application domain and a storage domain, and a domain management process.
- FIG. 7 is a flow chart of a characterization process.
- FIG. 8( a )-( c ) represent five characterization measures.
- FIG. 9 represents five characterization measures as a function of time.
- FIG 10 is a flow chart for computing characterization measures.
- FIG. 11 is a flow chart for assigning downtime business costs.
- FIG. 12 is a flow chart for a downtime business cost risk analysis process.
- FIG. 13 is a flow chart for a single point of failure risk analysis process.
- FIG. 14 is a flow chart for a data path redundancy risk analysis process.
- FIG. 15 is a flow chart for a configuration compatibility risk analysis process.
- FIG. 16 is a flow chart for a server binding process for constraining a storage system.
- FIG. 17 is a flow chart for a device zoning process for constraining a storage system.
- FIG. 18 is a flow chart for a masking process for constraining a storage system.
- FIG. 19 is a representation of a graphical user interface of a domain management process.
- a domain management process 10 provides end-to-end enterprise-wide data management between a software application domain 12 and a storage domain 14 .
- the software application domain 12 includes one or more software applications and an operating system, which are individually in communication with the domain management process 10 and are stored and executed on components included in the storage domain 14 .
- the domain management process 10 is a dedicated management station and serves multiple purposes and can be clustered for added redundancy and load balancing as well as for higher availability of the storage domain 14 .
- the management process 10 collects configuration data from both domains 12 , 14 to provide a complete representation of software data paths between the software application domain 12 and the storage domain 14 along with physical and logical data paths between the components of the storage domain.
- Physical data paths represent the physical connections between two components in the storage domain 14 .
- a server located in the storage domain 14
- a storage device also located in the storage domain, by a network connection that provides ten potential physical data paths between the devices.
- only one or two of the ten paths may be software configured to actively pass data between the server and the storage device.
- These one or two software configured paths are logical data paths and are typically a subset of the physical data paths.
- the domain management process 10 By collecting the configuration data from both domains, the domain management process 10 examines global and local configuration dependencies across the software application domain 12 and the storage domain 14 .
- an operating system is included in the software application domain 12 and the domain management process 10 collects configuration information from the operating system to examine such dependencies among the software application domain 12 , the storage domain 14 , and the operating system.
- switches and their associated switch ports that can be included in the storage domain 14 are not included in a logical data path.
- the domain management process 10 provides a variety of functions and capabilities, such as proactively configuring and monitoring the software application and storage domains 12 , 14 .
- the domain management process 10 provides a unified virtualization configuration while monitoring interfaces of components of the storage domain 14 and their interactions with the software application domain 12 .
- the domain management process 10 also provides functionality for actively isolating and avoiding faults within the application and storage domains 12 , 14 .
- the process 10 also provides a common interface to each application included in the software application domain 12 and the components of the storage domain 14 .
- the domain management process 10 generates and provides a user with various activity and performance reports of the two domains interacting along with reports of the individual performance of the domains and the included components.
- Application domain 12 includes one or more software applications e.g., mail servers and information management software such as relational database products.
- the storage domain 14 includes components such as host servers and switches along with one or more storage subsystems that include network-attached storage (NAS) devices (e.g., a hard drives), which are typically assigned a permanent network address, and storage area network (SAN) subsystems that interconnect data storage devices and are typically part of an overall network of computing resources for an enterprise.
- NAS network-attached storage
- SAN storage area network
- the storage domain may also include the NAS subsystems, SAN subsystems, and other storage devices individually or in combination.
- fibre channel (FC) technology may be used for transmitting data between the domains 12 , 14 at high data rates which is especially suited for connecting computer servers to shared storage devices and for interconnecting storage controllers and drives.
- Some arrangements may also use fibre channel over an internet protocol (FCIP or FC/IP, also known as fibre channel tunneling or storage tunneling) that enables transmissions of fibre channel information by tunneling data between storage area network facilities over IP networks to facilitate data sharing over a geographically distributed enterprise.
- FCIP internet protocol
- FC/IP also known as fibre channel tunneling or storage tunneling
- the storage domain 14 may also include FC or IP virtualization engines, host-based storage volume managers, FC or IP switches (with or without virtualization), tape devices, or other similar storage associated mechanisms.
- the domain management process 10 is contained within the software application domain 12 and monitors the configuration of the software application domain, the storage domain 14 and the data paths 16 a - f between and within the domains.
- the software application domain 12 includes an email application 18 (e.g., MS Exchange) and a sales database application 20 for a corporation enterprise.
- the software application domain 12 also includes an operating system 22 that manages operations of a host server 24 that executes the email application 18 and the database application 20 .
- the host server is located in the storage domain 14 .
- agents 26 a - d In order to map the layout of the data paths 16 a - f between and within both domains 12 , 14 , information including configuration data is collected by agents 26 a - d from each of the applications 18 , 20 and the operating system 22 in the software application domain. For example, one agent 26 b connects to the email application 18 and another agent 26 a connects to the database application 20 . Each agent 26 a, 26 b provides data that represents the association between the respective application and connected software data paths 16 a, 16 b, 16 c. The respective agents 26 a, 26 b also provide information representing the associations between data structures within the portion of the application that the agent is assigned.
- one agent 26 b is assigned to the mailbox portion of the email application 18 that includes mailboxes 28 for all the employees of the corporation.
- One particular subset of the mailboxes 28 may be the corporate executive mailboxes 30 that contains and provides quick access to the email messages associated with the executives.
- the corporate executive email subset may also be stored in a group storage 32 that may store other subsets and is passed from the email application 18 to the storage domain 14 in order to save the contents (e.g., messages) of the mailboxes on a storage device included in the domain.
- the agent 26 b is in communication with the email application 18 and collects information that describes the associations between the email structures 28 , 30 , 32 and the associations between the application and the software data path 16 a to the host server 24 in the storage domain 14 .
- This collected association information is transmitted to the domain management process 10 .
- the domain management process 10 uses this association information along with information from other agents and storage devices to map the relationships between the mailbox structures 28 , 30 , 32 , the application 18 , and the two domains 12 , 14 .
- the agent 26 a is in communication with the corporation sales database application 20 , and collects configuration information from the database application associated with sales application data structures and collects information associated with connections between the software data path 16 c, the application, and the host server 24 .
- the domain management process 10 uses this information to map the associations between the two domains 12 , 14 .
- the operating system 22 provides commands to transfer data between the host server 24 and other portions of the storage domain 14 and has information that is collected by an agent 26 c.
- This particular agent 26 c gathers host-generic data from the operating system 22 and submits the information to the domain management process 10 for processing along with the information from the other agents 26 a, 26 b.
- the information also contains management data attributes such as a host file system configuration for both SAN and NAS file systems, host server usage statistics, host server adapter information (Fibre Channel, ISCSI and SCSI), along with the particular version of the operating system 22 .
- Information describing the associations between the components included in the storage domain 14 is collected and transferred to the domain management process 10 for processing with the information collected from the software application 12 domain.
- the components of the storage domain 14 provide a storage hierarchy and structure for storing the data passed from the email application 18 and the database application 20 to the storage domain 14 for storage.
- data passes over the software data paths 16 a, 16 c from the respective applications 18 , 20 to the host server 24 and the host server 24 determines the storage location and the particular data path for transferring the data.
- the data is transmitted from the host server 24 to a switch 34 that directs the data, in this particular example, to either a network-attached storage (NAS) hard drive 36 or a SAN 38 that includes two redundant array of independent disks (RAID) 40 , 42 and a tape storage system 44 .
- switch 34 provides connectivity for the host server 24 and the storage devices and the switch may range from entry-level to enterprise-level depending on the business requirements. In some arrangements two or more interconnected switches may be used to produce a SAN fabric that provides optimum SAN performance, scalability, and availability.
- SAN 38 may support disk mirroring, backup and restore, archival and retrieval of archived data, data migration from one storage device to another, and the sharing of data among different servers on a network.
- SANs can incorporate subnetworks with NAS systems.
- SANs, such as SAN 38 enable more efficient use of storage capacity by consolidating widely distributed disk space onto fewer storage arrays that are accessible by heterogeneous servers across the SAN. This improves storage resource utilization by allowing excess storage capacity from one application to be used for another.
- the SAN 38 can provide better return on capital expenditure for storage and servers, greater configuration flexibility, and reduced management costs through centralization.
- agents 26 a - c gather and transmit configuration data from the respective software applications 18 , 20 and the operating system 22 to the domain management process 10 .
- An agent 26 d is also assigned to the host server 24 for gathering associations between the software data paths 16 a - c, which connect the host server 24 to the application domain 12 , and respective logical data path 16 d (that is also a physical data path), which connects the host server to the components 34 , 36 , 38 included in the storage domain 14 .
- Similar to the other agents 26 a - c after collecting the configuration information, the information is passed to the domain management process 10 for processing to determine associations with the information gathered from the other agents 26 a - c.
- each component includes a respective table 46 , 48 , 50 that contains information for transferring to the domain management process 10 .
- the respective tables 46 , 48 , 50 contain information such as identification numbers for the respective storage components 34 , 36 , 38 and their interconnections.
- the table 46 associated with the switch 34 provides the world wide name (WWN) assigned to the switch (i.e.
- WWN 33 the world wide name associated with the component connected to each port of the switch 34 .
- port 1 52 is connected to WWN 30 (i.e., host server 24 )
- port 2 54 is connected to WWN 35 (i.e., NAS drive 36 )
- port 3 56 is connected to WWN 32 (i.e., SAN 38 ).
- WWN 30 i.e., host server 24
- WWN 35 i.e., NAS drive 36
- WWN 32 i.e., SAN 38
- WWN 32 i.e., SAN 38
- the domain management process 10 can associate the WWN's provided by the switch table 46 , the NAS drive table 48 and the SAN table 50 .
- the storage domain 14 can contain one or more sub-domains that include the components of the storage domain.
- the host server 24 can be included on in a host domain (not shown) or the switch 34 can be included in a switch domain (also not shown).
- the NAS drive 36 and the SAN 38 can be included, for example, in a subsystem domain (not shown).
- the domain management process 10 may include reception processes (not shown) that are in communication with respective agents 26 a - d to which the reception processes are assigned.
- the reception processes can also be assigned to particular sub-domains (e.g., host domain, switch domain, subsystem domain, etc.) to communicate with one or more agents in the respectively assigned sub-domain.
- These reception processes can also be assigned to the components in the storage domain 14 that are not agent-assignable (e.g., switch 34 , NAS drive 36 , SAN 38 ).
- the reception processes can receive information (e.g., tables 46 , 48 , 50 ) from the components.
- the domain management process 10 may also produce and maintain one or more tables, from the information collected, to identify the components included in the storage domain 14 .
- the tables may also maintain a listing of the connections and associations between the components in the storage domain or sub-domains.
- the domain management process 10 may store a portion of the information collected from the agents 26 a - d and the storage domain components 24 , 34 , 36 , 38 in an information repository (not shown) that may reside in the domain management process 10 or on one or more of the components in the storage domain 14 .
- This information can also be stored in one or more tables and retrieved from the tables to determine the software, physical, and logical data paths among components of the software application domain 12 and the storage domain 14 .
- host bus adapters connect the host server 24 to the switch 34 and each HBA is often assigned a unique WWN by the manufacturer that is encoded in non-volatile memory of a HBA controller included with each HBA.
- HBAs typically include hardware and drivers that interface with operating systems to represent fibre channel storage as devices in the operating system.
- HBAs also often negotiate with one or more connected switches along with other devices attached to a network and provide processing capabilities that minimize CPU overhead on the host server 24 .
- the agent 26 b associated with the mailboxes of the email application 18 is shown in communication with the application and the domain management process 10 .
- the agent 26 b is a program that gathers information from the email application 18 mailboxes or performs other services typically as a background type of process.
- the agent 26 b also monitors different aspects of the entity under its control, assesses the status of the entity based on information collected, and uses one or more predefined management policies or rules in order to determine which action(s) to perform based on the policies.
- the agent 26 b uses parameters provided by the user and gathers information from the assigned application and presents the information on a periodic basis to the domain management process 10 .
- the agent 26 b is responsible for one type of application object (i.e., the email mailboxes). Often agents are implemented in Java and are supported by the code of the application to which the agent is assigned.
- the email application 18 includes objects 28 , 30 , 32 .
- a collection process 60 directs the agent 26 b to collect data from the email application 18 .
- the collection process 60 directs a collector 62 , included in the agent 26 b, to determine what configuration data should be collected from the email application 18 while avoiding unnecessary data collection.
- the collector 62 is directed to transmit a request 64 to the email application 18 and receive a response 66 that contains the data.
- collector 62 examines a boolean parameter present in the email application 18 , which changes logic level when data is present for collection.
- the collector 62 has a short execution period so that execution is completed within the predetermined cycle time of the collection process 60 .
- an assessment process 68 that is responsible for assessing aspects of the assigned email application 18 , recording the assessment results in a database, and passing assessment results on to an assessor 70 .
- Most of the business logic resides in the assessment process 68 .
- business logic prioritizes events associated with the assigned application based on business importance. For example if storage is limited, the business logic in the assessment process 68 may determine that the executive mailboxes 30 are to be stored in the limited storage while the mailboxes for all the employees 28 is not to be stored because they are less important to the business. In some other arrangements the business logic may be based on other principals such as design principals.
- the assessment process 68 may determine to only store the messages of the executive mailbox 30 because the large volume of messages for all the employees 28 may create potential storage problems.
- the assessment process 68 is controlled by a hierarchy of thresholds and switches in a policy system (e.g. business logic) and the assessment process can use various implementations to assess the particular responses from the email application 18 .
- assessment results are stored in an assessor 70 , which is included in the agent 26 b.
- the assessor 70 then provides the assessment results to an application management process 72 .
- the application management process 72 uses the assessment results to direct an application manager 74 to alter the configuration of the application 18 .
- the application manager 74 can alter the configuration of the email application 18 such that the email messages from the executive mailboxes 30 are stored in a different storage device.
- the application management process 72 may direct the application manager to alert (e.g., send an email message, send a page, etc.) a system administrator of the application 18 status.
- the assessment process 68 is constrained to execute relatively quickly, use inputs only provided by the collector 62 , and store assessment results in the assessor 70 .
- the domain management process 10 can include a policy manager process (not shown) that defines the policies and rules that are used to determine if an event associated with an application in communication with the domain management process 10 has occurred. An event is detected if one of the policies or rules has been violated or possibly not violated. Policy filters (also not shown) may be included in the policy manager process to determine which components of the domains 12 , 14 (shown in FIG. 2) should have the policies and rules applied. These policies and rules can be stored in a database in an accessible format such as an XML file. The policy manager process may also execute the policies and rules on a pre-determined schedule, on user demand, on receipt of an event, or other similar process.
- the policy manager process can report the event to the user.
- These events can be generated based on a component of one of the domains 12 , 14 and typically the event is stored in an event repository.
- an event can be to notify the administrator to replace a component due to failure of a subsystem drive, fan, or I/O card.
- an event can alert the system administrator that a port on a particular component has failed.
- the domain management process 10 may also be the basis to generate the events. For example, the domain management process 10 may determine that a certain resource or component has reached a dangerous level (e.g., the storage capacity of a storage device is nearly filled) or the process may determine that a particular agent is not functioning correctly. Also, once an event has been detected, the event may be stored and its association with other events tracked over a period of time.
- the domain management process 10 is responsible for execution control of all agents, including the agent 26 b, and periodically cycles through the agents.
- the domain management process 10 is also responsible for calling the collection process 60 relatively soon after calling the agent's assessment process 68 . Because the collection process 60 may check a database to determine what data may have already been collected, it can be more efficient for the domain management process 10 to invoke all the collection processes for a managed application instance before calling any of the assessment processes.
- the domain management process 10 also receives reconfiguration requests from the assessor 70 so that the application management process 72 is executed to direct the application manager 74 at the appropriate times and in the appropriate priority order. Some application managers may run for hours through many collection and assessment cycles.
- responsibilities include: invoking each agent's collector once each cycle, invoking each agent's assessor once for each cycle, invoking each agent's collector before its assessor, scheduling each application manager as requested, not overloading instances with application managers, not missing collection or assessment because of running application managers, maintaining regular collect/assess cycle timing, and running application managers in the order defined by the priorities established by the assessors.
- the assessor 70 identifies issues from the assessment results and schedules application managers to deal with them. To identify the issues, the assessor 70 may be organized with conditionals to determine if particular parametric actions should be taken. The assessor 70 also decides which alternative actions to take, when to take them, and with what parameters. In some arrangements, the assessor 70 may include a process to diagnosis the issues and a problem solver process to define the course of action. However, as shown in the figure, the assessor 70 may be a single entity and may be used in solving problems such as performance problems with no obvious cause. In some arrangements, the reconfiguring by the application manager 74 may include scripted sequences of actions, however, for more difficult problems the script may be generated by the assessor 70 .
- this particular agent 26 b is assigned to the mailboxes 28 , 30 , 32 of the email application 18 , the agent would typically collect the current free memory space from the mailboxes and alert an email administrator if the memory space is nearing capacity.
- Other separate agents may also be associated with the email application 18 and, for example, alert the administrator that a public folder store is nearing capacity, or when a particular service is being executed by the email application 18 .
- One or more agents may also scan the mailboxes and public folder stores for corrupt messages or files and prompt the email administer to delete the corrupted items or allow them to remain.
- An agent associated with the email application 18 may also help collect vital information from one or more servers, such as CPU utilization, memory utilization, and whether the server is online or down.
- An agent may also aid in the evaluating of storage performance. For example, an agent may monitor the rate at which storage is growing, or measure the time period until an overall email store reaches capacity, or even measure the time period for data to transfer from the host server 24 (shown in FIG. 2) to a storage device in the storage subsystem.
- the information 80 collected by the agents 26 a - d (shown in FIG. 2) and included in the tables 46 , 48 , 50 (also shown in FIG. 2) of the components of the storage domain 14 is represented.
- the mailbox hierarchy 82 collected by the agent 26 b associates with the mailboxes of the email application 18 .
- a name 84 identifying the executing sales data base was collected by the agent 26 a associated with the corporation sales data base application 20 .
- the O/S version 86 was collected by the agent 26 c associated with the operating system 22 and the agent 26 d assigned to the host server 24 provides the label (i.e., “C: ⁇ ”), also known as a mount point, and world wide name 88 (WWN 30 ) of the host server along with the WWN (i.e., WWN 33 ) of the device connected to the host server.
- the respective tables 46 , 48 , 50 from the switch 34 , the NAS drive 36 , and the SAN 38 (each shown in FIG. 2), provide labels and the world wide numbers 90 , 92 , 94 assigned to the three storage domain components along with the respective WWNs of connected components.
- This collected information is transmitted to a stitching process 81 , which may reside in the domain management process 10 .
- the stitching process 81 determines the software data paths between the software application domain 12 (shown in FIG. 2) and the storage domain 14 (also shown in FIG. 2) and the software data paths within the application domain.
- the stitching process 81 also determines the physical and logical data paths extending within the storage domain. Since the email application 18 and the sales database application 20 (also shown in FIG. 2) are executed on the host server 24 , software data paths connect the applications and the server. Also, since the storage domain components 24 , 34 , 36 , 38 (shown in FIG.
- the stitching process 81 can determine that switch port 1 is connected to host server “C: ⁇ ” 24 , switch port 2 is connected to the NAS drive 36 , and switch port 3 is connected to the SAN 38 .
- the information 80 is received by the stitching process 81 , the information is processed into a map 96 of the software, physical, and logical data paths between each of the components in the software application and storage domains.
- the map 96 may be displayed by the domain management process 10 to a user for analyzing the interconnections and, for example, to determine replacement component positions, insertion positions for new components, or re-arranging the currently displayed data paths.
- the software data paths 98 a - c are represented with dashed-lines between the applications, the operating system, and the host server “C: ⁇ ”.
- Logical data paths 99 a - c are represented with respective solid-lines and extend between the host server, the brocade switch, the NAS disk drive, and the SAN.
- stitching a map 96 of the data paths of both domains the user is provided a complete layout of the applications and storage system components and may use the stitched information to model and analyze the addition of new components to the domains or the replacement of current components and measure the performance of the altered domains.
- the stitching process 81 may receive information associated with software, logical, or physical data paths to an unknown device. In such as case, a generic device (not shown) is assigned, the stitching process 81 , to the particular data path.
- a process 100 for stitching data paths between the software application domain 12 (shown in FIG. 2) and the storage domain 14 (also shown in FIG. 2) is shown.
- the process 100 starts 102 and retrieves 104 information that was collected by agents assigned to software applications and an operating system that are present in the software application domain 12 .
- This information can include an identifier for each application and the operating system and also identifies the server that executes the applications and operating system.
- the stitching process 100 retrieves 106 information that was collected from the components of the storage domain 14 .
- these components may include a host server, a switch, and one or more storage mechanisms such as a NAS drive or a SAN.
- the retrieved information can include the WWN of each component along with any lists that report WWNs of connected components.
- the stitching process 100 determines 108 software data paths between the applications, the operating system, and the components of the storage domain. After determining 108 the software data paths, the stitching process 100 determines 110 the physical and logical data paths between the storage domain components by comparing the WWN information collected from the components. Once the physical and logical data paths have been determined 108 , 110 , the stitching process maps 112 the software, physical, and logical data paths among the applications, operating system, and storage domain components. After mapping 112 the data paths, the stitching process 100 displays 114 the map to a user for analyzing the data paths between the software application domain and the storage domain. Once the map is displayed 130 to the user, the stitching process 100 stops 116 .
- the corporation sales database application 20 is now executed on a second host server # 2 120 , and an agent 26 e is assigned to host server # 2 and provides the domain management process 10 with information regarding the data paths between the database application and the second host server along with the data paths between the second host server and the other components in the storage domain 14 .
- Both host server # 1 24 and host server # 2 120 have respective physical data paths 16 d, 16 g, 16 h, 16 i that respectively lead to switch # 1 34 and a second switch (# 2 ) 122 .
- switch # 1 34 and switch # 2 122 are connected to the NAS drive 36 and the SAN 38 by respective physical data paths 16 e, 16 f, 16 j, 16 k. All of these data paths 16 d, 16 g, 16 h 16 i, 16 e, 16 f, 16 j, 16 k allow both host servers 24 , 120 to pass data across either switch # 1 34 or switch # 2 122 to either the NAS drive 36 or the two RAIDs 40 , 42 or the tape drive 44 of the SAN 38 . Similar to FIG. 2, each of the physical data paths 16 d - k are configured to be logical data paths. Also similar to FIG.
- the software, logical, and physical data paths may be determined by the domain management process 10 from the information provided by the agents 26 a, 26 b, 26 d, 26 e and the information provided by switch # 1 34 , switch # 2 122 , the NAS drive 36 , and the SAN 38 .
- the data paths can be stitched by the stitching process 100 (shown FIG. 5) that is included in the domain management process 10 and a map containing the components of the software application domain 12 and the storage domain 14 may be displayed to the user.
- the user can select a particular entity in either domain, a particular data path, a portion of one or both domains, or both entire domains for analysis.
- a data path from the email application 18 to the RAID # 0 40 is shown (by bold lines) to have been selected.
- the software data path 16 a extends from the email application 18 to the host server # 1 24 that executes the application.
- a logical data path 16 g then extends from the server 24 to switch # 2 122 and the selected path then extends across the logical data path 16 k to the SAN 38 and terminates at the RAID # 0 40 .
- a user can have the selected data path characterized, by the domain management process 10 , while taking into account both the email application 18 in the software application domain 12 that initiates the selected data path and the components (i.e., host # 1 24 , switch # 2 202 , SAN 38 , and RAID # 0 40 ) of the storage domain 14 that are included along the user selected data path.
- the components i.e., host # 1 24 , switch # 2 202 , SAN 38 , and RAID # 0 40
- the domain management process 10 includes a characterization process for computing characterization measures from the information passed by the agents 26 a, 26 b, 26 d, 26 e and the storage components 34 , 36 , 38 , 202 without agents.
- a performance measure may be calculated to determine the selected data path throughput (i.e., amount of data moved in a time period in mega-bits per second) from the email application 18 to the RAID # 0 40 .
- performance may also be a measure of the total effectiveness of the selected data path, including throughput, individual response time, and availability.
- Availability can be defined as the accessibility of input and output ports and is used to describe products and services that ensure that data continues to be available at a required level of performance in situations ranging from normal through “disastrous”. In general, availability is achieved through redundancy involving where data is stored and how it can be reached. Often availability can be measured in terms of how often data is available. For example, a data path may provide 99.999 percent availability, or in another example, availability may be measured by the amount of data flow through the data path at a particular time (e.g., 3200 megabytes per second).
- the connected storage device is characterized for the capability to retrieve stored data.
- the RAID # 0 40 recoverability may be determined by the domain management process 10 from a manufacturer error rate that is provided by the RAID # 0 .
- Cost may also be measured from the information passed to the domain management process 10 regarding the selected data path.
- a downtime cost in dollars per hour is associated to the application. For example, if the email application 18 for the corporation malfunctions and is brought off line, the corporation may experience a loss of $50.00 per hour due to this application downtime. Or in another example, if the sales database application 20 malfunctions and is placed off line, the corporation may experience a loss of $500.00 per hour.
- downtime costs in dollars per hour cost for a malfunctioning application can vary as a function of time.
- the downtime cost of the sale database application 20 may greatly increase, for example, to $10,000 per hour while the downtime cost of corporation email application may decrease to $20.00 per hour due to the number of employees on vacation.
- downtime cost which is calculated by the domain management process 10 for the selected data path, may vary over a particular time of year.
- Another characterization measure that may be calculated by the domain management process 10 for a selected data path is the security level.
- information passed from SAN 38 to the domain management process 10 contains a measure of the susceptibility that data stored on RAID # 0 40 may be improperly retrieved without proper authorization.
- access to the domains 12 , 14 or portion of the domains may be dependent upon the role of the domain management process user (e.g., the company CIO, different administrators, help desk employees). The access to the domains 12 , 14 or portions of the domains may also be limited by the organization to which the user is a member.
- access can also be based on the domains 12 , 14 , portions of the domains, or components of either domain (e.g., a particular application in the software application domain, a host server in the storage domain, etc.). Access may be limited based on a component, such as, only allowing a user to view a component on a display or allowing access such that user can access the characteristics of the component or execute an analysis on the component, or other similar control function.
- the domain management process 10 may compute, for example, a performance, availability, recoverability, cost, and security measure to characterize the selected data path. These characterization measures may also be calculated for any other similarly selected data path, or portion of the software application domain 12 , the storage domain 14 , or a combination of both domains.
- a characterization process 130 that may be included in the domain management process 10 (shown in FIG. 6) is shown.
- the characterization process 130 starts 132 when a user selects 134 a portion of the software application domain 12 (shown in FIG. 6), the storage domain 14 (also shown in FIG.6), or a combination of the two domains.
- the process 130 accesses 136 the appropriate information that was collected from the agents and storage components of the software application and storage domains 12 , 14 associated with the portion selected by the user. Referring briefly to FIG.
- the information accessed by the process 130 would relate to the email application 18 , host server # 1 24 , switch # 2 122 , and the SAN 38 .
- the process 130 computes 138 the performance measure, the availability measure 140 , the recoverability measure 142 , the cost measure 144 , and the security level measure 146 associated with the user selection. After the characterization measures have been computed, the process 130 reports 148 the computed measures to the user prior to stopping 150 .
- FIG. 8A- 8 C three sets of horizontal bar charts are shown that may be provided by the domain management process 10 to the user to represent the performance, availability, recoverability, cost, and security measures calculated by the process 130 (shown in FIG. 7) for the selected data path shown in FIG. 6.
- the range of each bar chart increases as each chart extends from left to right and each chart is scaled in the appropriate units associated to the particular measure.
- the performance measure may be scaled in units of megabytes per second while the cost measure may be scaled to units of dollars/hour for downtime.
- the user can alter the computed value of one characterization measure and the management domain process 10 (shown in FIG. 2) will recompute the values for the other four characterization measures based on the altered value.
- the user has increased the performance measure from one value 202 to a higher value 204 .
- the management domain process 10 re-calculates the values for the other four measures and displays the values on the respective bar charts 200 b - e.
- the minimum availability measure 206 is re-computed and displayed on the availability bar chart 200 b.
- the re-calculated minimum recoverability measure 208 , minimum cost measure 210 , and the minimum security measure 212 are displayed on the respective bar charts 200 c - e.
- the re-computed values displayed the four bar charts 200 b - e are minimum values and the higher performance value 204 may also be attained by operating the selected data path with higher values then the reported on the four bar charts 200 b - e.
- each bar chart 220 a - e displays the respective calculated values 222 , 224 , 226 , 228 , 230 .
- the user uses the domain management process 10 to simulate inserting RAID # 1 42 into the selected data path (shown in FIG. 6).
- the domain management process 10 re-calculates the characterization measures to include the information associated with the newly inserted RAID # 1 42 and the recalculated measures are displayed on the respective bar charts 220 a - e.
- each of the characterization measure values increase and are shown on the bar charts by respective solid bars 232 , 234 , 236 , 238 , 240 .
- the inserted RAID # 1 42 was previously included in the storage domain 14 (as shown in FIG. 6), however in other examples the simulated components may not be previously included in either domain.
- the domain management process 10 may also be used to simulate replacing components included in either domain with different components to alter a selected data path.
- the domain management process 10 may simulate replacing switch # 2 122 with a lower performance switch.
- the domain management process 10 recalculates the characterization measures and displays the new characterization measure values on the bar charts in comparison to the measures computed prior to the component replacement.
- each of the characterization measure values 252 , 254 , 256 , 258 , 260 are calculated and are shown with hashed bars on respective bar charts 250 a - e.
- the five characterization measures are recalculated and the new values 262 , 264 , 266 , 268 , 270 are displayed with solid bars on the respective bar charts 250 a - e.
- the switch is replaced by a simulated low performance switch the five characterization measures decrease on the respective bar charts 250 a - e.
- a component in the storage domain 14 shown in FIG. 6 was replaced by a simulation, however in other examples simulations may replace one or more components in either the software application domain 12 (also shown in FIG. 5) and/or the storage domain.
- each of the functions may be performed individually or in combination.
- the domain management process 10 can collect information from the software application and storage domains 12 , 14 (also shown in FIG. 6) to calculate the performance, availability, recovery, cost, and the security measures over a particular time period.
- each of the characterization measures are calculated over a calendar year and displayed on x-y line charts 280 a - e for the selected data path shown in FIG. 6.
- a user can determine peak activity periods along with slow periods and possibly adjust storage components and application assets to compensate for the activities during particular months.
- the performance measure 280 a of the selected data path has peak periods prior to the December holiday season and a slow period during the summer months. So, a storage system administrator may decide to use a high performance storage device for email mailbox storage for the peak usage time periods of the calendar year and switch in a lower performance storage device during the summer months when email traffic is in the lull period. Also, for example, by displaying the characterization measures the administrator can determine the proper time of year for general maintenance and upgrading of equipment in the particular data path selected by the administrator for analysis.
- a characterization simulation process 290 that may reside in the domain management process 10 (shown in FIG. 6) is shown.
- the simulation process 290 starts 292 when a user selects 294 a portion of the software application domain 12 (shown in FIG. 6) or a portion of the storage domain 14 (shown in FIG. 6) or a combination of the two domains. As previously mentioned, for example, this selection may include a particular data path from an application to a storage device, or a particular component in the storage domain 14 , or the entire enterprise that contains both domains.
- the process 290 accesses 296 and retrieves the appropriate information collected from the agents and storage domain components associated with the user selection.
- the process 290 Upon retrieving 296 the collected information, the process 290 computes 298 the five characterization measures (i.e., performance, availability, recoverability, cost, and security measures) based on the retrieved information for the user selection. After computing, the characterization measures are then displayed to the user for analysis. After computing and displaying 298 the five characterization measures, the process 290 determines 300 if the user has changed one of the displayed characterization measures, such as was described with respect to FIG. 8A. If the user had changed one of the characterization measures, the process 290 then re-computes 302 the other four characterization measures and displays the re-computed measures to the user.
- the five characterization measures i.e., performance, availability, recoverability, cost, and security measures
- the process 290 determines 304 if the user has inserted a simulated component into the prior user selection. If a simulated component has been inserted by the user, the process 290 re-computes 302 the characterization measures based on the previously retrieved information and the insertion of the simulated component and displays the re-computed measures to the user. If the user has not inserted a simulated component into the selection, the process 290 determines 306 if the user has replaced a component or a portion of the user selection.
- the process 290 recomputes 302 the characterization measures based on the previously retrieved information and the replacement component and displays the re-computed measures to the user. If the user has not replaced a component in the selection, the process 290 asks 308 the user if the process should stop. If the user decides to end, the process 290 is stops 310 . But if the user decides to continue the process, the process 290 returns to computing and displaying 298 the characterization measures based on the current information and continues from this point.
- the information collected from both the application domain and the storage domain may also be used in risk analysis of the particular data path or other portion of the two domains selected by the user.
- risk analysis By performing a risk analysis on the selection, potential risky configurations or operation environments may be detected.
- FIG. 6 one possible selection is shown by the bold data path from the email application 18 through host server # 1 24 , switch # 2 122 , and ending in RAID # 0 40 of the SAN 38 for data storage.
- Various types of risk analysis may be performed on this selected data path.
- a risk analysis may be based on downtime business cost of the selected data path.
- one or more downtime business costs are assigned to storage domain 14 components and applications in the software application domain 12 .
- an assignment process 320 is shown that may be included in the domain management process 10 (shown in FIG. 6) and that allows the user to assign one or more downtime business costs.
- the assignment process 320 starts 322 by determining 324 if the user is assigning downtime business costs to the host servers in the storage domain. Also referring briefly to FIG. 6, for this particular example, the user can assign the same or different downtime business costs to the host server # 1 24 and host server # 2 120 . If the user is assigning downtime costs to the host servers, the process 320 assigns 326 one or more downtime costs, provided by the user, to the respective servers and then stops 344 .
- the assignment process 320 determines 328 if the user is assigning business costs to the applications in the application domain 12 (shown in FIG. 6). For example, the user may assign a downtime business cost of $50/hour to the email application 18 (shown in FIG. 6) and a downtime cost of $500/hour to the sales database application 20 (also shown in FIG. 6). If the user is assigning a downtime costs to one or more applications, the process 320 assigns 330 the costs to the applications and then stops 344 .
- the process 320 determines 340 if the user is assigning a default downtime cost to all of the applications in the software application domain. For example, the user may assign a default downtime value of $10,000/hour to all the applications in the software application domain. If the user is assigning a default downtime business cost for all of the applications, the process 320 assigns 342 the default downtime business cost to each of the application and then stops 344 . Note that the business costs assigned to the servers and the business costs assigned to the applications are mutually exclusive and if a particular server is assigned a cost, any cost assigned to an application on the server is ignored for the risk analysis. Also, although the downtime cost uses here are described in units of dollars per hour, other units may be assigned and used in the risk analysis.
- a downtime business cost risk analysis 350 process that may be included in the domain management process 10 (shown in FIG. 5) is shown.
- the risk analysis 350 processes starts 352 by the user selecting 354 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the risk analysis.
- the process 350 accesses and retrieves 356 the downtime business cost(s) assigned to the one or more host servers that are connected to any portion of the user selection.
- the risk analysis process 350 Upon retrieving 356 the downtime business cost(s) of the connected host servers, the risk analysis process 350 accesses and retrieves 358 the downtime business cost(s) assigned to the one or more application(s) present on any data path included in any portion of the user selection. After retrieving 358 the cost(s) for the one or more applications, the risk analysis process 350 selects 360 one of the elements (i.e., a switch, a SAN, etc.) included in the user selection and initializes a cost variable associated with the element to zero. Next, the process 350 determines 362 if the element is in any data path with a host server.
- the elements i.e., a switch, a SAN, etc.
- the process 350 adds 364 the downtime business cost of all the host servers on one or more data paths with the element to the element cost variable. After summing these one or more downtime business costs, the process 350 determines 366 if an application is in any data path with the selected element and if so, is there no downtime business cost assigned to the particular host server executing the application. If an application is in a data path with the element and no downtime business cost is assigned to the host server executing the application, then the process 350 adds 368 the downtime business cost, assigned to each application that meets this condition, to the element cost variable.
- the process 350 determines 370 if another element is included in the user selection and has not been analyzed for downtime business cost. If there is another element included in the user selection, the process 350 selects 372 the next element, initializes the cost variable associated with the element to zero, and returns to determine 362 if there are host servers connect to that particular element. If all the elements included in the user selection have been analyzed for downtime business cost, the process 350 reports each element cost variable to the user for disseminating the cost analysis and stops 376 .
- a report may be generated by the process to provide the user with the particular costs used in the analysis, warnings associated with analysis (e.g., some servers or applications were not assigned downtime business cost), a list of the components prioritized by the calculated cumulative risk value ($/h), a list of the components prioritized by the calculated cumulative risk value and by application type, and a list of the applications associated with each component.
- another type of risk analysis is a single point of failure analysis that monitors the capability of each data path originating from an application, in the software application domain 12 (shown in FIG. 6), and identifies any non-functioning data paths or malfunctioning storage domain 14 (also shown in FIG. 6) components associated with the application that will cause the application to malfunction due to an inability to access data.
- a single point of failure analysis process 380 which may be included in the domain management process 10 (also shown in FIG. 6), is shown.
- the single point of failure analysis process 380 starts 382 by the user selecting 384 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the risk analysis.
- the process 380 determines 386 if one or more host servers are included in the user selection. If no host servers are included in the user selection, then the single point of failure process 380 stops 388 . But, if one or more host servers are present in the user selection, the process 380 determines 390 if one or more applications are present on the one or more host servers included in the user selection. If an application does not reside on one or more of the host servers in the user selection, the process 380 simulates 392 the presence of an application on each host server where an application does not reside.
- the process 380 determines 394 if a single point of failure is associated with each application that is present or is simulated on each of the host servers included in the user selection. If the process 380 determines that there is one or more single points of failure each application, the process reports 396 each of the single points of failure to the user and then stops 388 . If no single points of failure are associated with each application, then the process reports the absence of any single points of failure to the user and the process stops 388 . In some arrangements the process 380 may also report any components in the user selection associated with any single points of failure.
- Another type of risk analysis may incorporate the functionality of the single failure point process 380 and the downtime business cost analysis 350 (shown in FIG. 12).
- the components of a user selection are first prioritized based by downtime business cost.
- the components are further prioritized based on whether multiple data paths are used for protecting against the event of data path failure. For example, if two switches are each included in a data path associated to the application, the downtime business cost assigned to each switch is reduced by 50%. So if the assigned application downtime business cost is $10,000, then the cost assigned to each switch is $5,000. In some arrangements the downtime business cost may be further reduced if the storage components are clustered.
- Clustering is the use of multiple storage devices, or other computing devices, and redundant interconnections, to form a single highly-available system to provide load balancing as well as high availability. So if a storage component is included in a cluster, the downtime business cost can be further reduced, for example, by another 50%. Also similar to the previous two risk analysis, reports may be generated to provide the user with the results from the analysis.
- Still another risk analysis process may analyze SAN redundancy to warn a user against potential dangerous SAN fabric design.
- a SAN redundancy risk analysis process 400 which may be included in the domain management process 10 (also shown in FIG. 6), is shown.
- the SAN redundancy risk analysis process 400 starts 402 by the user selecting 404 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the risk analysis. After the user selection 404 is made, the process 400 determines 406 if the user selection includes one or more data paths that extend from an application to a storage device.
- the SAN redundancy risk analysis process 400 stops 408 . If one or more data paths in the user selection extend from an application to a storage device, the process 400 selects 410 one the of the data paths that extends from an application to a storage device and then simulates 412 a malfunction of a switch included in the selected data path. After simulating 412 the switch failure, the process 400 determines 414 if there is one or more redundant paths for data to travel due to simulated switch failure. If the process 400 determines that there is no redundant path for data to pass, the selected data path is considered failed and the downtime business cost of the application is added 416 to the cost variable associated with the particular switch with the simulated malfunction.
- the process 400 determines 418 if another data path included in the user selection extends from an application to a storage device. If another data path is present the process 400 returns to select another one of the data paths that extend from an application to a storage device. If there is no unanalyzed data path remaining, which extends from an application to a storage device, the process 400 reports 420 to the user the results of the redundancy analysis and stops 408 . Typically the reporting 420 may include the data paths included in the user selection that passed and failed the redundancy analysis and the cost variable of the switches included in the analysis along with a determination if one or more of the switch are also a single point of failure.
- the compatibility of components included in a user selection may be analyzed by one or more rules stored in a rule database.
- One possible rule may compare the configuration of each component, included in the user selection, against configuration information in the rule database.
- each component may be analyzed to determine if the appropriate vender-suggested firmware is executed by comparing, for example, component type, vendor identification, model number, firmware revision level, and/or other similar configuration parameter.
- components may be reduced into subcomponents for this analysis. For example, a host server component may be broken down to a host bus adapter (HBA), a volume manager, and a file system.
- HBA host bus adapter
- Each component may have multiple configurations stored in the rule database since different firmware revisions could be certified with this release.
- Another rule that may be used in the compatibility analysis is the latest firmware rule. For analyzing using this rule, each component configuration, included in the user selection, is compared to the associated configuration information in the rule database to determine if the latest known firmware is executed on each component. Also, in some arrangements a rule may be used to detect switches in the same fabric (i.e., one or more fibre channel switches in some networked topology) containing different firmware. Still another rule may specifically flag any elements that meet the predetermined conditions of this rule. After one or more rules are applied to the components of the user selection, a report can be generated to provide the user with the analysis results for each component included in the user selection along with warnings associated with components that failed one or more of the applied rules, such as improper or outdated firmware executing on a component.
- a component compatibility analysis process 430 which may be included in the domain management process 10 (shown in FIG. 6), is shown.
- the component compatibility analysis process 430 starts 432 by the user selecting 434 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the analysis.
- the process 430 accesses 436 and retrieves one or more rules associated with the user selection from a rules database.
- the process 430 analyzes 438 each component against the one or more rules that correspond to the component.
- the process 430 reports 440 the results of applying the one or more rules to the components of the user selection.
- the component compatibility analysis process 430 stops 442 .
- access to components included in the storage domain 14 can be constrained by one or more constraint methods to assist the operating system 22 .
- three constraint methods can be applied to the storage domain 14 to assist the operating system 22 .
- Some operating systems have been designed for directly attached storage devices and not for distributed storage networks such as a SAN. Based on this design, operating systems may assume a particular order of the store devices present on a bus. But, while this assumption may be valid for directly attached storage devices where the order persists after a system reboot, it may not be valid for distributed storage networks connected to a SCSI bus.
- the order of the storage devices in an SAN on a SCSI bus may depend on numerous factors (e.g., WWN of the individual devices) that are outside the control of the operating system.
- WWN the address of each storage device
- the operating may not use the invalid assumption.
- a particular bus address i.e., a SCSI ID address
- the domain management process 10 stores binding information in one or more tables.
- a table can contain information associated with a combination of an HBA port, HBA SCSI Bus ID and a HBA logical unit number (LUN) number for mapping a particular combination of storage domain components.
- a persistent binding process 450 which may be included in the domain management process 10 (shown in FIG. 2), is shown.
- the persistent binding process 450 starts 452 by the user selecting 454 a host server that is connected to the storage device to be bound.
- the process 450 has the user select 456 a host bus adapter (HBA) that is used by the host server to communicate to the storage device of interest.
- HBA host bus adapter
- the process 450 has the user select the WWN 458 of the particular storage device to be bound and select 460 the bus target identification (e.g., SCSI target identification) that is to be bound to the WWN of the storage device.
- the persistent binding process 450 binds 462 the WWN of the selected storage device to the selected bus target identification and the process ends 464 .
- the second of the three constraint methods provides security and isolation functionality to the SAN 38 by grouping components into a single group so that components within the group can sense the other group members but components outside the group cannot sense any of the group members, even if the outside components are connected to one or more of the group members.
- this zoning method is accomplished either by hardware zoning or software zoning depending upon the type of component being added to the group. For example, some switch ports may only be zoned by hardware, however some fabric channel switch software allows grouping by software zones.
- LUN logical unit number
- a zoning process 470 which may be included in the domain management process 10 (shown in FIG. 2), is shown.
- the zoning process 470 starts 472 by the user selecting 474 a fabric included in the storage domain 14 (also shown in FIG. 2). After the fabric is selected 474 , the process 470 has the user select 476 one or more switches included in the selected fabric for zone membership. The user shall have the ability to drill down to the switch port level and select a port that is a zone-able entity. After the one or more switches have been selected 476 , the process 470 has the user select 478 one or more storage devices for zone membership.
- the user shall have the ability to drill down to the WWN of the particular storage device and the LUN of the WWN of the zone-able storage device.
- the zoning process 470 creates 480 a zone to include the selected members so that the members can be sensed by other members but not by components outside the newly created zone. After creating 480 the zone, the zoning process 470 stops 482 .
- a third constraint method that can be placed on the storage domain 14 is by controlling access to one or more of the storage devices included the SAN 38 .
- the host server 24 can be restricted from accessing and subsequently storing and retrieving data on the storage device 40 , 42 , 44 included in the SAN 38 .
- the host server 24 can be restricted from accessing and subsequently storing and retrieving data on the storage device 40 , 42 , 44 included in the SAN 38 .
- RAID # 1 42 and tape storage # 0 44 all of the data marked for storage through the host server 24 is placed on RAID # 0 40 and the other storage devices 42 , 44 can be used by another host server (not shown).
- a masking process 490 which may be included in the domain management process 10 (shown in FIG. 2), is shown.
- the masking process 490 starts 492 by the user selecting 494 a host server in order to have its access restricted to one or more particular storage devices in a SAN.
- the process 490 has the user select 496 a particular SAN which includes the one or more storage devices that are to have access restricted from the selected host server.
- the process 490 has the user select 498 one or more storage devices in the SAN that the selected host server is to be restricted from.
- the process 490 restricts 500 access of selected server host to the one or more selected storage devices and then stops 502 .
- data storing by one or more host servers may be tailored for quick and efficient access to particular storage devices included in a SAN.
- a graphical user interface 510 included in the domain management process 10 is shown displaying graphical representations of the components included in the software application and storage domains 12 , 14 (also shown in FIG. 1) after stitching collected information.
- An email software application which is included in the application domain 12 (also shown in FIG. 1), is graphically represented with an application level 512 that includes some components of the email software application that are positioned on an upper hierarchical level 514 that includes a mailbox store 516 , a public folder store 518 , and other assorted email message stores.
- Respective data paths 520 , 522 are shown connecting the components of the upper hierarchical level 514 to components in a lower hierarchical level 524 of the application.
- one data path 520 displays the connection between the mailbox store 516 and a first storage group 526 and a different data path 522 shows the connection between the public folder store 514 and the first storage group 520 .
- this information is provided to domain management process 10 by the particular agent assigned to the mailboxes of the email application.
- the lower hierarchical level 524 of the application level 512 also includes other storage groups 528 , 530 , 532 for grouping other upper level components.
- Each of the storage groups 526 , 528 , 530 , 532 is connected to a respective data path 534 , 536 , 538 , 540 that provides a graphical path to a particular storage label (e.g., “C:”, “E:”) 542 , 544 of a host server 546 in a host level 548 of the storage domain 14 .
- a particular storage label e.g., “C:”, “E:”
- the mailboxes store 516 is placed in the first storage group 526 that is stored on the “C:” drive 542 of the host server 546 that is located in the host level 548 of the storage domain 14 (shown in FIG. 1).
- the host server 546 passes data over a data path 548 to a switch level 550 that is also included in the storage domain 14 and includes a graphical representation of one or more switches (not shown) present in the storage domain along with the associated data paths.
- a subsystem level (not shown) includes graphical representations of the storage devices that are connected by data paths to the switch level 550 .
- graphical representations of one or more SAN or NAS drives may be included in the subsystem level to represent the storage devices of the storage domain 14 which provide the actual data storage locations for the mailbox store 512 and the other assorted stores.
- the domain management process 10 (shown in FIG. 1) described herein is not limited to the software embodiment described above; it may find applicability in any computing or processing environment.
- the domain management process 10 may be implemented in hardware, software, or a combination of the two.
- the domain management process 10 may be implemented using circuitry, such as one or more of programmable logic (e.g., an ASIC), logic gates, a processor, and a memory.
- the domain management process 10 may be implemented in computer programs executing on programmable computers that each includes a processor and a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements).
- Each such program may be implemented in a high-level procedural or object-oriented programming language to communicate with a computer system.
- the programs can be implemented in assembly or machine language.
- the language may be a compiled or an interpreted language.
- Each computer program may be stored on an article of manufacture, such as a storage medium (e.g., CD-ROM, hard disk, or magnetic diskette) or device (e.g., computer peripheral), that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the functions of the domain management process 10 .
- the domain management process 10 may also be implemented as a machine-readable storage medium, configured with a computer program, where, upon execution, instructions in the computer program cause a machine to operate to perform the functions of the domain management process described above.
- Embodiments of the domain management process 10 may be used in a variety of applications. Although the domain management process 10 is not limited in this respect, the domain management process may be implemented with memory devices in microcontrollers, general purpose microprocessors, digital signal processors (DSPs), reduced instruction-set computing (RISC), and complex instruction-set computing (CISC), among other electronic components.
- DSPs digital signal processors
- RISC reduced instruction-set computing
- CISC complex instruction-set computing
- Embodiments of the domain management process 10 may also be implemented using integrated circuit blocks referred to as core memory, cache memory, or other types of memory that store electronic instructions to be executed by a microprocessor or store data that may be used in arithmetic operations.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
- This invention relates to managing software application domains and storage domains.
- Data storage systems receive, store, and provide access for data retrieval by software applications such as database applications or other types of software. For determining internal layouts of the storage systems, representative maps can be displayed to provide insight of the hardwire interconnections within the storage system. The representative maps may be shown as a graphical tree structure where tree branches represent the interconnections of the storage system.
- According to an aspect of this invention, a method for mapping data path connections includes accessing information representing a data path between a software application and a storage system, the information is collected from the software application by an agent, accessing information representing the data path between the storage system and the software application, a portion of the information is collected from the storage system by an agent, determining connections associated with the data path, and mapping the data path connections to form a connection map.
- One or more of the following features may also be included.
- The connection map may be disseminated to a user. A database may be accessed for the information representing the data path.
- One or more advantages can be provided from the above. By monitoring data paths of software applications and storage systems respectively included in a software application domain and storage domain, complete maps of the data paths may be created that include both the software application domain and the storage domain along with the components that reside in both domains. Further, by stitching and mapping the components of both the application and storage domain, the components may be included in a comprehensive risk analysis, performance evaluation, and modeling and simulation for system upgrading. Thus by monitoring the components included in the application and storage domain, characterization measures that include system performance, availability, recoverability, cost and security may be computed for the complete combination of the two domains or a portion of the two domains. Additionally, by constraining access to particular components and data paths in the storage domain, data storage efficiency may be increased while still providing the appropriate storage capacity.
- FIG. 1 is a block diagram depicting an arrangement between software application and storage domains, and a domain management process.
- FIG. 2 is a block diagram depicting an illustrative example of the arrangement in FIG. 1.
- FIG. 3 is a block diagram of domain management process, agent, and a software application.
- FIG. 4 is a block diagram of information passed to a stitching process and information processed by the stitching process.
- FIG. 5 is a flow chart of a stitching process.
- FIG. 6 is a block diagram of another example of a software application domain and a storage domain, and a domain management process.
- FIG. 7 is a flow chart of a characterization process.
- FIG. 8(a)-(c) represent five characterization measures.
- FIG. 9 represents five characterization measures as a function of time.
- FIG10 is a flow chart for computing characterization measures.
- FIG. 11 is a flow chart for assigning downtime business costs.
- FIG. 12 is a flow chart for a downtime business cost risk analysis process.
- FIG. 13 is a flow chart for a single point of failure risk analysis process.
- FIG. 14 is a flow chart for a data path redundancy risk analysis process.
- FIG. 15 is a flow chart for a configuration compatibility risk analysis process.
- FIG. 16 is a flow chart for a server binding process for constraining a storage system.
- FIG. 17 is a flow chart for a device zoning process for constraining a storage system.
- FIG. 18 is a flow chart for a masking process for constraining a storage system.
- FIG. 19 is a representation of a graphical user interface of a domain management process.
- Referring to FIG. 1, a
domain management process 10 provides end-to-end enterprise-wide data management between asoftware application domain 12 and astorage domain 14. Thesoftware application domain 12 includes one or more software applications and an operating system, which are individually in communication with thedomain management process 10 and are stored and executed on components included in thestorage domain 14. Thedomain management process 10 is a dedicated management station and serves multiple purposes and can be clustered for added redundancy and load balancing as well as for higher availability of thestorage domain 14. Since thedomain management process 10 is in communication with both domains, the management process collects configuration data from bothdomains software application domain 12 and thestorage domain 14 along with physical and logical data paths between the components of the storage domain. Physical data paths represent the physical connections between two components in thestorage domain 14. For example a server, located in thestorage domain 14, can be connected to a storage device, also located in the storage domain, by a network connection that provides ten potential physical data paths between the devices. However, only one or two of the ten paths may be software configured to actively pass data between the server and the storage device. These one or two software configured paths are logical data paths and are typically a subset of the physical data paths. By collecting the configuration data from both domains, thedomain management process 10 examines global and local configuration dependencies across thesoftware application domain 12 and thestorage domain 14. In some arrangements, an operating system is included in thesoftware application domain 12 and thedomain management process 10 collects configuration information from the operating system to examine such dependencies among thesoftware application domain 12, thestorage domain 14, and the operating system. Also in some arrangements, switches and their associated switch ports that can be included in thestorage domain 14 are not included in a logical data path. - The
domain management process 10 provides a variety of functions and capabilities, such as proactively configuring and monitoring the software application andstorage domains domain management process 10 provides a unified virtualization configuration while monitoring interfaces of components of thestorage domain 14 and their interactions with thesoftware application domain 12. Thedomain management process 10 also provides functionality for actively isolating and avoiding faults within the application andstorage domains process 10 also provides a common interface to each application included in thesoftware application domain 12 and the components of thestorage domain 14. In addition, thedomain management process 10 generates and provides a user with various activity and performance reports of the two domains interacting along with reports of the individual performance of the domains and the included components. -
Application domain 12 includes one or more software applications e.g., mail servers and information management software such as relational database products. Thestorage domain 14 includes components such as host servers and switches along with one or more storage subsystems that include network-attached storage (NAS) devices (e.g., a hard drives), which are typically assigned a permanent network address, and storage area network (SAN) subsystems that interconnect data storage devices and are typically part of an overall network of computing resources for an enterprise. The storage domain may also include the NAS subsystems, SAN subsystems, and other storage devices individually or in combination. - In some arrangements, fibre channel (FC) technology may be used for transmitting data between the
domains storage domain 14 may also include FC or IP virtualization engines, host-based storage volume managers, FC or IP switches (with or without virtualization), tape devices, or other similar storage associated mechanisms. - Referring to FIG. 2, the
domain management process 10 is contained within thesoftware application domain 12 and monitors the configuration of the software application domain, thestorage domain 14 and the data paths 16 a-f between and within the domains. In this particular example, thesoftware application domain 12 includes an email application 18 (e.g., MS Exchange) and asales database application 20 for a corporation enterprise. Thesoftware application domain 12 also includes anoperating system 22 that manages operations of ahost server 24 that executes theemail application 18 and thedatabase application 20. In this particular example the host server is located in thestorage domain 14. - In order to map the layout of the data paths16 a-f between and within both
domains applications operating system 22 in the software application domain. For example, oneagent 26 b connects to theemail application 18 and anotheragent 26a connects to thedatabase application 20. Eachagent software data paths respective agents agent 26 b is assigned to the mailbox portion of theemail application 18 that includesmailboxes 28 for all the employees of the corporation. One particular subset of themailboxes 28 may be thecorporate executive mailboxes 30 that contains and provides quick access to the email messages associated with the executives. Also in this particular example, the corporate executive email subset may also be stored in agroup storage 32 that may store other subsets and is passed from theemail application 18 to thestorage domain 14 in order to save the contents (e.g., messages) of the mailboxes on a storage device included in the domain. - The
agent 26 b is in communication with theemail application 18 and collects information that describes the associations between theemail structures software data path 16 a to thehost server 24 in thestorage domain 14. This collected association information is transmitted to thedomain management process 10. Thedomain management process 10 uses this association information along with information from other agents and storage devices to map the relationships between themailbox structures application 18, and the twodomains agent 26 a is in communication with the corporationsales database application 20, and collects configuration information from the database application associated with sales application data structures and collects information associated with connections between thesoftware data path 16 c, the application, and thehost server 24. Thedomain management process 10 uses this information to map the associations between the twodomains - The
operating system 22 provides commands to transfer data between thehost server 24 and other portions of thestorage domain 14 and has information that is collected by anagent 26 c. Thisparticular agent 26 c gathers host-generic data from theoperating system 22 and submits the information to thedomain management process 10 for processing along with the information from theother agents software data path 16 b betweenoperating system 22 and thehost server 24, the information also contains management data attributes such as a host file system configuration for both SAN and NAS file systems, host server usage statistics, host server adapter information (Fibre Channel, ISCSI and SCSI), along with the particular version of theoperating system 22. - Information describing the associations between the components included in the
storage domain 14 is collected and transferred to thedomain management process 10 for processing with the information collected from thesoftware application 12 domain. The components of thestorage domain 14 provide a storage hierarchy and structure for storing the data passed from theemail application 18 and thedatabase application 20 to thestorage domain 14 for storage. In typical operations, data passes over thesoftware data paths respective applications host server 24 and thehost server 24 determines the storage location and the particular data path for transferring the data. For storing, the data is transmitted from thehost server 24 to aswitch 34 that directs the data, in this particular example, to either a network-attached storage (NAS)hard drive 36 or aSAN 38 that includes two redundant array of independent disks (RAID) 40, 42 and atape storage system 44. In general,switch 34 provides connectivity for thehost server 24 and the storage devices and the switch may range from entry-level to enterprise-level depending on the business requirements. In some arrangements two or more interconnected switches may be used to produce a SAN fabric that provides optimum SAN performance, scalability, and availability. In addition,SAN 38 may support disk mirroring, backup and restore, archival and retrieval of archived data, data migration from one storage device to another, and the sharing of data among different servers on a network. Also, in some arrangements SANs can incorporate subnetworks with NAS systems. SANs, such asSAN 38 enable more efficient use of storage capacity by consolidating widely distributed disk space onto fewer storage arrays that are accessible by heterogeneous servers across the SAN. This improves storage resource utilization by allowing excess storage capacity from one application to be used for another. TheSAN 38 can provide better return on capital expenditure for storage and servers, greater configuration flexibility, and reduced management costs through centralization. - As mentioned, agents26 a-c gather and transmit configuration data from the
respective software applications operating system 22 to thedomain management process 10. Anagent 26 d is also assigned to thehost server 24 for gathering associations between the software data paths 16 a-c, which connect thehost server 24 to theapplication domain 12, and respectivelogical data path 16 d (that is also a physical data path), which connects the host server to thecomponents storage domain 14. Similar to the other agents 26 a-c, after collecting the configuration information, the information is passed to thedomain management process 10 for processing to determine associations with the information gathered from the other agents 26 a-c. However, some components of thestorage domain 14 such as theswitch 34, theNAS storage 36, and theSAN 38 are not agent assignable for passing configuration information, such as thelogical data paths domain management process 10. To provide configuration information for thesestorage domain components domain management process 10. The respective tables 46, 48, 50 contain information such as identification numbers for therespective storage components switch 34 provides the world wide name (WWN) assigned to the switch (i.e. WWN 33) and the world wide name associated with the component connected to each port of theswitch 34. In this particular example,port 1 52 is connected to WWN 30 (i.e., host server 24),port 2 54 is connected to WWN 35 (i.e., NAS drive 36) andport 3 56 is connected to WWN 32 (i.e., SAN 38). World wide names are 64-bit identifiers that are used to uniquely identify ports on a network during discovery and network initialization. With this WWN assignment information of theswitch 34 and each WWN connected to each respective switch port, thedomain management process 10 can map the associations of theswitch 34 without collecting information from an agent. Also, since the table 48 included in the NAS drive 36 provides the WWN of the drive (WWN 35), along with the WWN of the connected devices, and the table 50 included in theSAN 38 provides the WWN of the SAN (WWN 32), along with connections, thedomain management process 10 can associate the WWN's provided by the switch table 46, the NAS drive table 48 and the SAN table 50. - In some arrangements the
storage domain 14 can contain one or more sub-domains that include the components of the storage domain. For example, thehost server 24 can be included on in a host domain (not shown) or theswitch 34 can be included in a switch domain (also not shown). Further, theNAS drive 36 and theSAN 38 can be included, for example, in a subsystem domain (not shown). - Also in some arrangements the
domain management process 10 may include reception processes (not shown) that are in communication with respective agents 26 a-d to which the reception processes are assigned. In some arrangements the reception processes can also be assigned to particular sub-domains (e.g., host domain, switch domain, subsystem domain, etc.) to communicate with one or more agents in the respectively assigned sub-domain. These reception processes can also be assigned to the components in thestorage domain 14 that are not agent-assignable (e.g., switch 34, NAS drive 36, SAN 38). Once assigned to one or more of these components, the reception processes can receive information (e.g., tables 46, 48, 50) from the components. Thedomain management process 10 may also produce and maintain one or more tables, from the information collected, to identify the components included in thestorage domain 14. The tables may also maintain a listing of the connections and associations between the components in the storage domain or sub-domains. - In some arrangements the
domain management process 10 may store a portion of the information collected from the agents 26 a-d and thestorage domain components domain management process 10 or on one or more of the components in thestorage domain 14. This information can also be stored in one or more tables and retrieved from the tables to determine the software, physical, and logical data paths among components of thesoftware application domain 12 and thestorage domain 14. - In some arrangements host bus adapters (HBAs) connect the
host server 24 to theswitch 34 and each HBA is often assigned a unique WWN by the manufacturer that is encoded in non-volatile memory of a HBA controller included with each HBA. HBAs typically include hardware and drivers that interface with operating systems to represent fibre channel storage as devices in the operating system. HBAs also often negotiate with one or more connected switches along with other devices attached to a network and provide processing capabilities that minimize CPU overhead on thehost server 24. - Referring to FIG. 3, the
agent 26 b associated with the mailboxes of theemail application 18 is shown in communication with the application and thedomain management process 10. In general theagent 26 b is a program that gathers information from theemail application 18 mailboxes or performs other services typically as a background type of process. Theagent 26 b also monitors different aspects of the entity under its control, assesses the status of the entity based on information collected, and uses one or more predefined management policies or rules in order to determine which action(s) to perform based on the policies. Typically, theagent 26 b uses parameters provided by the user and gathers information from the assigned application and presents the information on a periodic basis to thedomain management process 10. As mentioned theagent 26 b is responsible for one type of application object (i.e., the email mailboxes). Often agents are implemented in Java and are supported by the code of the application to which the agent is assigned. - As mentioned the
email application 18 includesobjects agent 26 b is assigned to the email application 18 acollection process 60 directs theagent 26 b to collect data from theemail application 18. In particular, thecollection process 60 directs acollector 62, included in theagent 26 b, to determine what configuration data should be collected from theemail application 18 while avoiding unnecessary data collection. Once thecollection process 60 determines the data sought, thecollector 62 is directed to transmit arequest 64 to theemail application 18 and receive a response 66 that contains the data. In some arrangements,collector 62 examines a boolean parameter present in theemail application 18, which changes logic level when data is present for collection. Typically thecollector 62 has a short execution period so that execution is completed within the predetermined cycle time of thecollection process 60. - After the application response66 is received by the
collector 62, information is passed to anassessment process 68 that is responsible for assessing aspects of the assignedemail application 18, recording the assessment results in a database, and passing assessment results on to anassessor 70. Most of the business logic resides in theassessment process 68. In some arrangements business logic prioritizes events associated with the assigned application based on business importance. For example if storage is limited, the business logic in theassessment process 68 may determine that theexecutive mailboxes 30 are to be stored in the limited storage while the mailboxes for all theemployees 28 is not to be stored because they are less important to the business. In some other arrangements the business logic may be based on other principals such as design principals. For example, theassessment process 68 may determine to only store the messages of theexecutive mailbox 30 because the large volume of messages for all theemployees 28 may create potential storage problems. Theassessment process 68 is controlled by a hierarchy of thresholds and switches in a policy system (e.g. business logic) and the assessment process can use various implementations to assess the particular responses from theemail application 18. Once theassessment process 68 has determined if the assigned application is to be reconfigured, assessment results are stored in anassessor 70, which is included in theagent 26 b. Theassessor 70 then provides the assessment results to anapplication management process 72. Theapplication management process 72 uses the assessment results to direct anapplication manager 74 to alter the configuration of theapplication 18. For example, theapplication manager 74 can alter the configuration of theemail application 18 such that the email messages from theexecutive mailboxes 30 are stored in a different storage device. In another example, theapplication management process 72 may direct the application manager to alert (e.g., send an email message, send a page, etc.) a system administrator of theapplication 18 status. In some arrangements, theassessment process 68 is constrained to execute relatively quickly, use inputs only provided by thecollector 62, and store assessment results in theassessor 70. - In another arrangement, the domain management process10 (shown in FIG. 2) can include a policy manager process (not shown) that defines the policies and rules that are used to determine if an event associated with an application in communication with the
domain management process 10 has occurred. An event is detected if one of the policies or rules has been violated or possibly not violated. Policy filters (also not shown) may be included in the policy manager process to determine which components of thedomains 12, 14 (shown in FIG. 2) should have the policies and rules applied. These policies and rules can be stored in a database in an accessible format such as an XML file. The policy manager process may also execute the policies and rules on a pre-determined schedule, on user demand, on receipt of an event, or other similar process. - Once an event has been detected and possible action taken, the policy manager process can report the event to the user. These events can be generated based on a component of one of the
domains domain management process 10 may also be the basis to generate the events. For example, thedomain management process 10 may determine that a certain resource or component has reached a dangerous level (e.g., the storage capacity of a storage device is nearly filled) or the process may determine that a particular agent is not functioning correctly. Also, once an event has been detected, the event may be stored and its association with other events tracked over a period of time. - The
domain management process 10 is responsible for execution control of all agents, including theagent 26 b, and periodically cycles through the agents. Thedomain management process 10 is also responsible for calling thecollection process 60 relatively soon after calling the agent'sassessment process 68. Because thecollection process 60 may check a database to determine what data may have already been collected, it can be more efficient for thedomain management process 10 to invoke all the collection processes for a managed application instance before calling any of the assessment processes. Thedomain management process 10 also receives reconfiguration requests from theassessor 70 so that theapplication management process 72 is executed to direct theapplication manager 74 at the appropriate times and in the appropriate priority order. Some application managers may run for hours through many collection and assessment cycles. Also among the responsibilities of the domain management processes 10, responsibilities include: invoking each agent's collector once each cycle, invoking each agent's assessor once for each cycle, invoking each agent's collector before its assessor, scheduling each application manager as requested, not overloading instances with application managers, not missing collection or assessment because of running application managers, maintaining regular collect/assess cycle timing, and running application managers in the order defined by the priorities established by the assessors. - The
assessor 70 identifies issues from the assessment results and schedules application managers to deal with them. To identify the issues, theassessor 70 may be organized with conditionals to determine if particular parametric actions should be taken. Theassessor 70 also decides which alternative actions to take, when to take them, and with what parameters. In some arrangements, theassessor 70 may include a process to diagnosis the issues and a problem solver process to define the course of action. However, as shown in the figure, theassessor 70 may be a single entity and may be used in solving problems such as performance problems with no obvious cause. In some arrangements, the reconfiguring by theapplication manager 74 may include scripted sequences of actions, however, for more difficult problems the script may be generated by theassessor 70. - Since this
particular agent 26 b is assigned to themailboxes email application 18, the agent would typically collect the current free memory space from the mailboxes and alert an email administrator if the memory space is nearing capacity. Other separate agents may also be associated with theemail application 18 and, for example, alert the administrator that a public folder store is nearing capacity, or when a particular service is being executed by theemail application 18. One or more agents may also scan the mailboxes and public folder stores for corrupt messages or files and prompt the email administer to delete the corrupted items or allow them to remain. An agent associated with theemail application 18 may also help collect vital information from one or more servers, such as CPU utilization, memory utilization, and whether the server is online or down. An agent may also aid in the evaluating of storage performance. For example, an agent may monitor the rate at which storage is growing, or measure the time period until an overall email store reaches capacity, or even measure the time period for data to transfer from the host server 24 (shown in FIG. 2) to a storage device in the storage subsystem. - Referring to FIG. 4, the
information 80 collected by the agents 26 a-d (shown in FIG. 2) and included in the tables 46, 48, 50 (also shown in FIG. 2) of the components of thestorage domain 14 is represented. For example, themailbox hierarchy 82 collected by theagent 26 b associates with the mailboxes of theemail application 18. Also, aname 84 identifying the executing sales data base was collected by theagent 26 a associated with the corporation salesdata base application 20. The O/S version 86 was collected by theagent 26 c associated with theoperating system 22 and theagent 26 d assigned to thehost server 24 provides the label (i.e., “C:\”), also known as a mount point, and world wide name 88 (WWN 30) of the host server along with the WWN (i.e., WWN 33) of the device connected to the host server. The respective tables 46, 48, 50 from theswitch 34, theNAS drive 36, and the SAN 38 (each shown in FIG. 2), provide labels and the worldwide numbers - This collected information is transmitted to a
stitching process 81, which may reside in thedomain management process 10. Thestitching process 81 determines the software data paths between the software application domain 12 (shown in FIG. 2) and the storage domain 14 (also shown in FIG. 2) and the software data paths within the application domain. Thestitching process 81 also determines the physical and logical data paths extending within the storage domain. Since theemail application 18 and the sales database application 20 (also shown in FIG. 2) are executed on thehost server 24, software data paths connect the applications and the server. Also, since thestorage domain components information 90 associated with the switch provides thatswitch port 1 is connected to a device withWWN 30,switch port 2 is connected to a device withWWN 35, and switchport 3 is connected to a device withWWN 32. So, from this information, and the labels associated with the information for the other components in the storage domain, thestitching process 81 can determine thatswitch port 1 is connected to host server “C:\” 24,switch port 2 is connected to theNAS drive 36, and switchport 3 is connected to theSAN 38. - Once the
information 80 is received by thestitching process 81, the information is processed into amap 96 of the software, physical, and logical data paths between each of the components in the software application and storage domains. By stitching the appropriate interconnections of both domains, themap 96 may be displayed by thedomain management process 10 to a user for analyzing the interconnections and, for example, to determine replacement component positions, insertion positions for new components, or re-arranging the currently displayed data paths. As shown the software data paths 98 a-c are represented with dashed-lines between the applications, the operating system, and the host server “C:\”. Logical data paths 99 a-c are represented with respective solid-lines and extend between the host server, the brocade switch, the NAS disk drive, and the SAN. By stitching amap 96 of the data paths of both domains the user is provided a complete layout of the applications and storage system components and may use the stitched information to model and analyze the addition of new components to the domains or the replacement of current components and measure the performance of the altered domains. - In some arrangements, the
stitching process 81 may receive information associated with software, logical, or physical data paths to an unknown device. In such as case, a generic device (not shown) is assigned, thestitching process 81, to the particular data path. - Referring to FIG. 5, a
process 100 for stitching data paths between the software application domain 12 (shown in FIG. 2) and the storage domain 14 (also shown in FIG. 2) is shown. Theprocess 100 starts 102 and retrieves 104 information that was collected by agents assigned to software applications and an operating system that are present in thesoftware application domain 12. This information can include an identifier for each application and the operating system and also identifies the server that executes the applications and operating system. Thestitching process 100 retrieves 106 information that was collected from the components of thestorage domain 14. As shown in FIG. 2, these components may include a host server, a switch, and one or more storage mechanisms such as a NAS drive or a SAN. The retrieved information can include the WWN of each component along with any lists that report WWNs of connected components. After retrieving the storedinformation stitching process 100 determines 108 software data paths between the applications, the operating system, and the components of the storage domain. After determining 108 the software data paths, thestitching process 100 determines 110 the physical and logical data paths between the storage domain components by comparing the WWN information collected from the components. Once the physical and logical data paths have been determined 108, 110, the stitching process maps 112 the software, physical, and logical data paths among the applications, operating system, and storage domain components. After mapping 112 the data paths, thestitching process 100displays 114 the map to a user for analyzing the data paths between the software application domain and the storage domain. Once the map is displayed 130 to the user, thestitching process 100 stops 116. - Referring to FIG. 6, in another example of the two domains, which includes more storage components, the corporation
sales database application 20 is now executed on a secondhost server # 2 120, and anagent 26 e is assigned tohost server # 2 and provides thedomain management process 10 with information regarding the data paths between the database application and the second host server along with the data paths between the second host server and the other components in thestorage domain 14. Bothhost server # 1 24 andhost server # 2 120 have respectivephysical data paths switch # 2 122 are connected to theNAS drive 36 and theSAN 38 by respectivephysical data paths data paths h host servers switch # 1 34 orswitch # 2 122 to either the NAS drive 36 or the twoRAIDs tape drive 44 of theSAN 38. Similar to FIG. 2, each of thephysical data paths 16 d-k are configured to be logical data paths. Also similar to FIG. 2, the software, logical, and physical data paths may be determined by thedomain management process 10 from the information provided by theagents switch # 1 34,switch # 2 122, theNAS drive 36, and theSAN 38. Once the respective information is collected, the data paths can be stitched by the stitching process 100 (shown FIG. 5) that is included in thedomain management process 10 and a map containing the components of thesoftware application domain 12 and thestorage domain 14 may be displayed to the user. - Once the map is displayed, the user can select a particular entity in either domain, a particular data path, a portion of one or both domains, or both entire domains for analysis. In this particular example, a data path from the
email application 18 to theRAID # 0 40 is shown (by bold lines) to have been selected. Thesoftware data path 16 a extends from theemail application 18 to thehost server # 1 24 that executes the application. Alogical data path 16 g then extends from theserver 24 to switch #2 122 and the selected path then extends across thelogical data path 16 k to theSAN 38 and terminates at theRAID # 0 40. By selecting this particular path a user can have the selected data path characterized, by thedomain management process 10, while taking into account both theemail application 18 in thesoftware application domain 12 that initiates the selected data path and the components (i.e.,host # 1 24,switch # 2 202,SAN 38, andRAID # 0 40) of thestorage domain 14 that are included along the user selected data path. - To analyze the selected data path, the
domain management process 10 includes a characterization process for computing characterization measures from the information passed by theagents storage components email application 18 to theRAID # 0 40. In some arrangements performance may also be a measure of the total effectiveness of the selected data path, including throughput, individual response time, and availability. - Another characterization measure that may be calculated is the availability of the selected data path. Availability can be defined as the accessibility of input and output ports and is used to describe products and services that ensure that data continues to be available at a required level of performance in situations ranging from normal through “disastrous”. In general, availability is achieved through redundancy involving where data is stored and how it can be reached. Often availability can be measured in terms of how often data is available. For example, a data path may provide 99.999 percent availability, or in another example, availability may be measured by the amount of data flow through the data path at a particular time (e.g., 3200 megabytes per second).
- By measuring recoverability of the selected data path, the connected storage device is characterized for the capability to retrieve stored data. In this particular example, the
RAID # 0 40 recoverability may be determined by thedomain management process 10 from a manufacturer error rate that is provided by theRAID # 0. Cost may also be measured from the information passed to thedomain management process 10 regarding the selected data path. Often when an application malfunctions or is shut down, a downtime cost in dollars per hour is associated to the application. For example, if theemail application 18 for the corporation malfunctions and is brought off line, the corporation may experience a loss of $50.00 per hour due to this application downtime. Or in another example, if thesales database application 20 malfunctions and is placed off line, the corporation may experience a loss of $500.00 per hour. Also, these downtime costs in dollars per hour cost for a malfunctioning application can vary as a function of time. For example, during the holiday season the downtime cost of thesale database application 20 may greatly increase, for example, to $10,000 per hour while the downtime cost of corporation email application may decrease to $20.00 per hour due to the number of employees on vacation. So, downtime cost, which is calculated by thedomain management process 10 for the selected data path, may vary over a particular time of year. - Another characterization measure that may be calculated by the
domain management process 10 for a selected data path is the security level. In this particular example, information passed fromSAN 38 to thedomain management process 10 contains a measure of the susceptibility that data stored onRAID # 0 40 may be improperly retrieved without proper authorization. In characterizing the security level, access to thedomains domains domains - So the
domain management process 10 may compute, for example, a performance, availability, recoverability, cost, and security measure to characterize the selected data path. These characterization measures may also be calculated for any other similarly selected data path, or portion of thesoftware application domain 12, thestorage domain 14, or a combination of both domains. - Referring to FIG. 7 a
characterization process 130 that may be included in the domain management process 10 (shown in FIG. 6) is shown. Thecharacterization process 130 starts 132 when a user selects 134 a portion of the software application domain 12 (shown in FIG. 6), the storage domain 14 (also shown in FIG.6), or a combination of the two domains. After theuser selection 134, theprocess 130 accesses 136 the appropriate information that was collected from the agents and storage components of the software application andstorage domains process 130, for this particular user selection, would relate to theemail application 18,host server # 1 24,switch # 2 122, and theSAN 38. Returning to FIG. 7, once the appropriate information has been accessed 136, theprocess 130 computes 138 the performance measure, theavailability measure 140, therecoverability measure 142, thecost measure 144, and thesecurity level measure 146 associated with the user selection. After the characterization measures have been computed, theprocess 130reports 148 the computed measures to the user prior to stopping 150. - Referring to FIG. 8A-8C three sets of horizontal bar charts are shown that may be provided by the
domain management process 10 to the user to represent the performance, availability, recoverability, cost, and security measures calculated by the process 130 (shown in FIG. 7) for the selected data path shown in FIG. 6. For each of the three sets of bar charts, the range of each bar chart increases as each chart extends from left to right and each chart is scaled in the appropriate units associated to the particular measure. For example, the performance measure may be scaled in units of megabytes per second while the cost measure may be scaled to units of dollars/hour for downtime. - Referring to FIG. 8A, after each of the five characterization measures are computed and displayed on the respective bar chart200 a-e, the user can alter the computed value of one characterization measure and the management domain process 10 (shown in FIG. 2) will recompute the values for the other four characterization measures based on the altered value. In this particular example the user has increased the performance measure from one
value 202 to ahigher value 204. Based on thishigher value 204 and the information associated with the selected data path (shown in FIG. 6), themanagement domain process 10 re-calculates the values for the other four measures and displays the values on therespective bar charts 200 b-e. For example, for the selected data path to operate with a performance at thehigher value 204, theminimum availability measure 206 is re-computed and displayed on theavailability bar chart 200 b. Correspondingly, the re-calculatedminimum recoverability measure 208,minimum cost measure 210, and theminimum security measure 212 are displayed on therespective bar charts 200 c-e. However, the re-computed values displayed the fourbar charts 200 b-e are minimum values and thehigher performance value 204 may also be attained by operating the selected data path with higher values then the reported on the fourbar charts 200 b-e. - Referring to FIG. 8B, after the domain management process10 (shown in FIG. 6) calculates the characterization measures associated with the selected data path (also shown in FIG. 6), the user can simulate an insertion, into the selected data path, of one or more applications in the software application domain 12 (shown in FIG. 6) or one or more components in the storage domain 14 (also shown in FIG. 6). For example, as shown in the figure each bar chart 220 a-e displays the respective
calculated values domain management process 10 to simulate insertingRAID # 1 42 into the selected data path (shown in FIG. 6). Due to this simulated insertion, the performance of the selected data path, along with the other characterization measures, increase with respect to measures of the selected data path containing onlyRAID # 0 40 (also shown in FIG. 5). Correspondingly, thedomain management process 10 re-calculates the characterization measures to include the information associated with the newly insertedRAID # 1 42 and the recalculated measures are displayed on the respective bar charts 220 a-e. In this particular example, each of the characterization measure values increase and are shown on the bar charts by respectivesolid bars RAID # 1 42 was previously included in the storage domain 14 (as shown in FIG. 6), however in other examples the simulated components may not be previously included in either domain. - Referring to FIG. 8C, the domain management process10 (shown in FIG. 6) may also be used to simulate replacing components included in either domain with different components to alter a selected data path. For example, referring briefly to FIG. 6, the
domain management process 10 may simulate replacingswitch # 2 122 with a lower performance switch. Once the user selects such a simulated switch replacement, thedomain management process 10 recalculates the characterization measures and displays the new characterization measure values on the bar charts in comparison to the measures computed prior to the component replacement. Prior to replacing the switch, each of the characterization measure values 252, 254, 256, 258, 260 are calculated and are shown with hashed bars on respective bar charts 250 a-e. After replacing the switch, the five characterization measures are recalculated and thenew values - Referring to FIG. 9, the domain management process10 (shown in FIG.6) can collect information from the software application and
storage domains 12, 14 (also shown in FIG. 6) to calculate the performance, availability, recovery, cost, and the security measures over a particular time period. In this particular example, each of the characterization measures are calculated over a calendar year and displayed on x-y line charts 280 a-e for the selected data path shown in FIG. 6. By displaying the characterization measures as a function of time, a user can determine peak activity periods along with slow periods and possibly adjust storage components and application assets to compensate for the activities during particular months. For example, as shown in the figure, theperformance measure 280 a of the selected data path, including theemail application 18, has peak periods prior to the December holiday season and a slow period during the summer months. So, a storage system administrator may decide to use a high performance storage device for email mailbox storage for the peak usage time periods of the calendar year and switch in a lower performance storage device during the summer months when email traffic is in the lull period. Also, for example, by displaying the characterization measures the administrator can determine the proper time of year for general maintenance and upgrading of equipment in the particular data path selected by the administrator for analysis. - Referring to FIG. 10, a
characterization simulation process 290 that may reside in the domain management process 10 (shown in FIG. 6) is shown. Thesimulation process 290 starts 292 when a user selects 294 a portion of the software application domain 12 (shown in FIG. 6) or a portion of the storage domain 14 (shown in FIG. 6) or a combination of the two domains. As previously mentioned, for example, this selection may include a particular data path from an application to a storage device, or a particular component in thestorage domain 14, or the entire enterprise that contains both domains. After theuser selection 294 is made, theprocess 290 accesses 296 and retrieves the appropriate information collected from the agents and storage domain components associated with the user selection. Upon retrieving 296 the collected information, theprocess 290 computes 298 the five characterization measures (i.e., performance, availability, recoverability, cost, and security measures) based on the retrieved information for the user selection. After computing, the characterization measures are then displayed to the user for analysis. After computing and displaying 298 the five characterization measures, theprocess 290 determines 300 if the user has changed one of the displayed characterization measures, such as was described with respect to FIG. 8A. If the user had changed one of the characterization measures, theprocess 290 then re-computes 302 the other four characterization measures and displays the re-computed measures to the user. If the user has not altered one of the characterization measures, theprocess 290 determines 304 if the user has inserted a simulated component into the prior user selection. If a simulated component has been inserted by the user, theprocess 290re-computes 302 the characterization measures based on the previously retrieved information and the insertion of the simulated component and displays the re-computed measures to the user. If the user has not inserted a simulated component into the selection, theprocess 290 determines 306 if the user has replaced a component or a portion of the user selection. If the user has replaced a component or portion of the selection, theprocess 290recomputes 302 the characterization measures based on the previously retrieved information and the replacement component and displays the re-computed measures to the user. If the user has not replaced a component in the selection, theprocess 290 asks 308 the user if the process should stop. If the user decides to end, theprocess 290 is stops 310. But if the user decides to continue the process, theprocess 290 returns to computing and displaying 298 the characterization measures based on the current information and continues from this point. - Referring to FIG. 11, the information collected from both the application domain and the storage domain may also be used in risk analysis of the particular data path or other portion of the two domains selected by the user. By performing a risk analysis on the selection, potential risky configurations or operation environments may be detected. Again, briefly referring to FIG. 6, one possible selection is shown by the bold data path from the
email application 18 throughhost server # 1 24,switch # 2 122, and ending inRAID # 0 40 of theSAN 38 for data storage. Various types of risk analysis may be performed on this selected data path. For example, a risk analysis may be based on downtime business cost of the selected data path. To perform this particular risk analysis, one or more downtime business costs are assigned tostorage domain 14 components and applications in thesoftware application domain 12. - Returning to FIG. 11, an
assignment process 320 is shown that may be included in the domain management process 10 (shown in FIG. 6) and that allows the user to assign one or more downtime business costs. Theassignment process 320 starts 322 by determining 324 if the user is assigning downtime business costs to the host servers in the storage domain. Also referring briefly to FIG. 6, for this particular example, the user can assign the same or different downtime business costs to thehost server # 1 24 andhost server # 2 120. If the user is assigning downtime costs to the host servers, theprocess 320 assigns 326 one or more downtime costs, provided by the user, to the respective servers and then stops 344. If the user is not assigning a downtime cost to the server, theassignment process 320 determines 328 if the user is assigning business costs to the applications in the application domain 12 (shown in FIG. 6). For example, the user may assign a downtime business cost of $50/hour to the email application 18 (shown in FIG. 6) and a downtime cost of $500/hour to the sales database application 20 (also shown in FIG. 6). If the user is assigning a downtime costs to one or more applications, theprocess 320 assigns 330 the costs to the applications and then stops 344. If the user is not assigning a downtime business cost to the one or more applications, theprocess 320 determines 340 if the user is assigning a default downtime cost to all of the applications in the software application domain. For example, the user may assign a default downtime value of $10,000/hour to all the applications in the software application domain. If the user is assigning a default downtime business cost for all of the applications, theprocess 320 assigns 342 the default downtime business cost to each of the application and then stops 344. Note that the business costs assigned to the servers and the business costs assigned to the applications are mutually exclusive and if a particular server is assigned a cost, any cost assigned to an application on the server is ignored for the risk analysis. Also, although the downtime cost uses here are described in units of dollars per hour, other units may be assigned and used in the risk analysis. - Referring to FIG. 12, a downtime business
cost risk analysis 350 process that may be included in the domain management process 10 (shown in FIG. 5) is shown. Therisk analysis 350 processes starts 352 by the user selecting 354 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the risk analysis. After theuser selection 354 is made, theprocess 350 accesses and retrieves 356 the downtime business cost(s) assigned to the one or more host servers that are connected to any portion of the user selection. Upon retrieving 356 the downtime business cost(s) of the connected host servers, therisk analysis process 350 accesses and retrieves 358 the downtime business cost(s) assigned to the one or more application(s) present on any data path included in any portion of the user selection. After retrieving 358 the cost(s) for the one or more applications, therisk analysis process 350 selects 360 one of the elements (i.e., a switch, a SAN, etc.) included in the user selection and initializes a cost variable associated with the element to zero. Next, theprocess 350 determines 362 if the element is in any data path with a host server. If the element is in a data path with a host server, theprocess 350 adds 364 the downtime business cost of all the host servers on one or more data paths with the element to the element cost variable. After summing these one or more downtime business costs, theprocess 350 determines 366 if an application is in any data path with the selected element and if so, is there no downtime business cost assigned to the particular host server executing the application. If an application is in a data path with the element and no downtime business cost is assigned to the host server executing the application, then theprocess 350 adds 368 the downtime business cost, assigned to each application that meets this condition, to the element cost variable. If no application meets this condition, theprocess 350 determines 370 if another element is included in the user selection and has not been analyzed for downtime business cost. If there is another element included in the user selection, theprocess 350 selects 372 the next element, initializes the cost variable associated with the element to zero, and returns to determine 362 if there are host servers connect to that particular element. If all the elements included in the user selection have been analyzed for downtime business cost, theprocess 350 reports each element cost variable to the user for disseminating the cost analysis and stops 376. For example a report may be generated by the process to provide the user with the particular costs used in the analysis, warnings associated with analysis (e.g., some servers or applications were not assigned downtime business cost), a list of the components prioritized by the calculated cumulative risk value ($/h), a list of the components prioritized by the calculated cumulative risk value and by application type, and a list of the applications associated with each component. - Referring to FIG. 13, another type of risk analysis is a single point of failure analysis that monitors the capability of each data path originating from an application, in the software application domain12 (shown in FIG. 6), and identifies any non-functioning data paths or malfunctioning storage domain 14 (also shown in FIG. 6) components associated with the application that will cause the application to malfunction due to an inability to access data. A single point of
failure analysis process 380, which may be included in the domain management process 10 (also shown in FIG. 6), is shown. The single point offailure analysis process 380 starts 382 by the user selecting 384 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the risk analysis. After theuser selection 384 is made, theprocess 380 determines 386 if one or more host servers are included in the user selection. If no host servers are included in the user selection, then the single point offailure process 380 stops 388. But, if one or more host servers are present in the user selection, theprocess 380 determines 390 if one or more applications are present on the one or more host servers included in the user selection. If an application does not reside on one or more of the host servers in the user selection, theprocess 380 simulates 392 the presence of an application on each host server where an application does not reside. After the application has been simulated 392 or the process determines that each host server in the user selection has one or more applications, theprocess 380 determines 394 if a single point of failure is associated with each application that is present or is simulated on each of the host servers included in the user selection. If theprocess 380 determines that there is one or more single points of failure each application, the process reports 396 each of the single points of failure to the user and then stops 388. If no single points of failure are associated with each application, then the process reports the absence of any single points of failure to the user and the process stops 388. In some arrangements theprocess 380 may also report any components in the user selection associated with any single points of failure. - Another type of risk analysis may incorporate the functionality of the single
failure point process 380 and the downtime business cost analysis 350 (shown in FIG. 12). In this particular risk analysis the components of a user selection are first prioritized based by downtime business cost. Second, the components are further prioritized based on whether multiple data paths are used for protecting against the event of data path failure. For example, if two switches are each included in a data path associated to the application, the downtime business cost assigned to each switch is reduced by 50%. So if the assigned application downtime business cost is $10,000, then the cost assigned to each switch is $5,000. In some arrangements the downtime business cost may be further reduced if the storage components are clustered. Clustering is the use of multiple storage devices, or other computing devices, and redundant interconnections, to form a single highly-available system to provide load balancing as well as high availability. So if a storage component is included in a cluster, the downtime business cost can be further reduced, for example, by another 50%. Also similar to the previous two risk analysis, reports may be generated to provide the user with the results from the analysis. - Still another risk analysis process may analyze SAN redundancy to warn a user against potential dangerous SAN fabric design. Referring to FIG. 14 a SAN redundancy
risk analysis process 400, which may be included in the domain management process 10 (also shown in FIG. 6), is shown. The SAN redundancyrisk analysis process 400 starts 402 by the user selecting 404 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the risk analysis. After theuser selection 404 is made, theprocess 400 determines 406 if the user selection includes one or more data paths that extend from an application to a storage device. If the user selection does not include a data path that extends from an application to a storage device the SAN redundancyrisk analysis process 400 stops 408. If one or more data paths in the user selection extend from an application to a storage device, theprocess 400 selects 410 one the of the data paths that extends from an application to a storage device and then simulates 412 a malfunction of a switch included in the selected data path. After simulating 412 the switch failure, theprocess 400 determines 414 if there is one or more redundant paths for data to travel due to simulated switch failure. If theprocess 400 determines that there is no redundant path for data to pass, the selected data path is considered failed and the downtime business cost of the application is added 416 to the cost variable associated with the particular switch with the simulated malfunction. If the process determines that a redundant data path is present or after the downtime application cost is added to the switch cost variable, theprocess 400 determines 418 if another data path included in the user selection extends from an application to a storage device. If another data path is present theprocess 400 returns to select another one of the data paths that extend from an application to a storage device. If there is no unanalyzed data path remaining, which extends from an application to a storage device, theprocess 400reports 420 to the user the results of the redundancy analysis and stops 408. Typically the reporting 420 may include the data paths included in the user selection that passed and failed the redundancy analysis and the cost variable of the switches included in the analysis along with a determination if one or more of the switch are also a single point of failure. - In still another risk analysis the compatibility of components (i.e., switches, SANs, NAS drives, etc.) included in a user selection may be analyzed by one or more rules stored in a rule database. One possible rule may compare the configuration of each component, included in the user selection, against configuration information in the rule database. For example, each component may be analyzed to determine if the appropriate vender-suggested firmware is executed by comparing, for example, component type, vendor identification, model number, firmware revision level, and/or other similar configuration parameter. Also, components may be reduced into subcomponents for this analysis. For example, a host server component may be broken down to a host bus adapter (HBA), a volume manager, and a file system. Each component may have multiple configurations stored in the rule database since different firmware revisions could be certified with this release.
- Another rule that may be used in the compatibility analysis is the latest firmware rule. For analyzing using this rule, each component configuration, included in the user selection, is compared to the associated configuration information in the rule database to determine if the latest known firmware is executed on each component. Also, in some arrangements a rule may be used to detect switches in the same fabric (i.e., one or more fibre channel switches in some networked topology) containing different firmware. Still another rule may specifically flag any elements that meet the predetermined conditions of this rule. After one or more rules are applied to the components of the user selection, a report can be generated to provide the user with the analysis results for each component included in the user selection along with warnings associated with components that failed one or more of the applied rules, such as improper or outdated firmware executing on a component.
- Referring to FIG. 15 a component
compatibility analysis process 430, which may be included in the domain management process 10 (shown in FIG. 6), is shown. The componentcompatibility analysis process 430 starts 432 by the user selecting 434 a portion of the software application domain 12 (shown in FIG. 6) and the storage domain 14 (also shown in FIG. 6) for execution of the analysis. After theuser selection 434 is made, theprocess 430 accesses 436 and retrieves one or more rules associated with the user selection from a rules database. After the one or more rules have been retrieved 436, theprocess 430 analyzes 438 each component against the one or more rules that correspond to the component. After analyzing 438 each component to the one or more corresponding rules, theprocess 430reports 440 the results of applying the one or more rules to the components of the user selection. After reporting 440 to the user the componentcompatibility analysis process 430 stops 442. - Referring back to FIG. 2, access to components included in the
storage domain 14 can be constrained by one or more constraint methods to assist theoperating system 22. For example, three constraint methods can be applied to thestorage domain 14 to assist theoperating system 22. Some operating systems have been designed for directly attached storage devices and not for distributed storage networks such as a SAN. Based on this design, operating systems may assume a particular order of the store devices present on a bus. But, while this assumption may be valid for directly attached storage devices where the order persists after a system reboot, it may not be valid for distributed storage networks connected to a SCSI bus. For example, the order of the storage devices in an SAN on a SCSI bus may depend on numerous factors (e.g., WWN of the individual devices) that are outside the control of the operating system. By constraining the address of each storage device, the operating may not use the invalid assumption. In particular, by binding the WWN of each storage device to a particular bus address (i.e., a SCSI ID address) the operating system will not be alerted that the storage device was a previously mounted volume on another SCSI target ID address. Also, in some arrangements thedomain management process 10 stores binding information in one or more tables. For example, a table can contain information associated with a combination of an HBA port, HBA SCSI Bus ID and a HBA logical unit number (LUN) number for mapping a particular combination of storage domain components. - Referring to FIG. 16 a persistent
binding process 450, which may be included in the domain management process 10 (shown in FIG. 2), is shown. The persistentbinding process 450 starts 452 by the user selecting 454 a host server that is connected to the storage device to be bound. After selecting 454 the server host, theprocess 450 has the user select 456 a host bus adapter (HBA) that is used by the host server to communicate to the storage device of interest. After selecting 456 the HBA, theprocess 450 has the user select theWWN 458 of the particular storage device to be bound and select 460 the bus target identification (e.g., SCSI target identification) that is to be bound to the WWN of the storage device. After selecting 458 the WWN and selecting 460 the bus target identification, the persistentbinding process 450binds 462 the WWN of the selected storage device to the selected bus target identification and the process ends 464. - Referring to FIG. 2, the second of the three constraint methods provides security and isolation functionality to the
SAN 38 by grouping components into a single group so that components within the group can sense the other group members but components outside the group cannot sense any of the group members, even if the outside components are connected to one or more of the group members. Typically this zoning method is accomplished either by hardware zoning or software zoning depending upon the type of component being added to the group. For example, some switch ports may only be zoned by hardware, however some fabric channel switch software allows grouping by software zones. Also, only certain entities such as switch ports, storage device port assigned a WWN, or a logical unit number (LUN) which is a unique identifier that is used on a bus (e.g., SCSI bus) to enable the bus to differentiate among up to eight separate devices may be zoned. - Referring to FIG. 17 a
zoning process 470, which may be included in the domain management process 10 (shown in FIG. 2), is shown. Thezoning process 470 starts 472 by the user selecting 474 a fabric included in the storage domain 14 (also shown in FIG. 2). After the fabric is selected 474, theprocess 470 has the user select 476 one or more switches included in the selected fabric for zone membership. The user shall have the ability to drill down to the switch port level and select a port that is a zone-able entity. After the one or more switches have been selected 476, theprocess 470 has the user select 478 one or more storage devices for zone membership. In this case the user shall have the ability to drill down to the WWN of the particular storage device and the LUN of the WWN of the zone-able storage device. Once the one or more switches and storage devices have been selected 476, 478, thezoning process 470 creates 480 a zone to include the selected members so that the members can be sensed by other members but not by components outside the newly created zone. After creating 480 the zone, thezoning process 470 stops 482. - Referring to FIG. 2, a third constraint method that can be placed on the
storage domain 14 is by controlling access to one or more of the storage devices included theSAN 38. By controlling access, thehost server 24 can be restricted from accessing and subsequently storing and retrieving data on thestorage device SAN 38. For example, by restricting the host server access fromRAID # 1 42 andtape storage # 0 44, all of the data marked for storage through thehost server 24 is placed onRAID # 0 40 and theother storage devices - Referring to FIG. 18 a
masking process 490, which may be included in the domain management process 10 (shown in FIG. 2), is shown. Themasking process 490 starts 492 by the user selecting 494 a host server in order to have its access restricted to one or more particular storage devices in a SAN. After the user has selected 494 the host server, theprocess 490 has the user select 496 a particular SAN which includes the one or more storage devices that are to have access restricted from the selected host server. After selecting 496 the SAN, theprocess 490 has the user select 498 one or more storage devices in the SAN that the selected host server is to be restricted from. After the one or more storage devices have been selected 498, theprocess 490 restricts 500 access of selected server host to the one or more selected storage devices and then stops 502. By employing all three of these constraint methods on the storage domain 14 (shown in FIG. 2), data storing by one or more host servers may be tailored for quick and efficient access to particular storage devices included in a SAN. - Referring to FIG. 19, a
graphical user interface 510 included in thedomain management process 10 is shown displaying graphical representations of the components included in the software application andstorage domains 12, 14 (also shown in FIG. 1) after stitching collected information. An email software application, which is included in the application domain 12 (also shown in FIG. 1), is graphically represented with anapplication level 512 that includes some components of the email software application that are positioned on an upperhierarchical level 514 that includes amailbox store 516, apublic folder store 518, and other assorted email message stores.Respective data paths hierarchical level 514 to components in a lowerhierarchical level 524 of the application. For example, onedata path 520 displays the connection between themailbox store 516 and afirst storage group 526 and adifferent data path 522 shows the connection between thepublic folder store 514 and thefirst storage group 520. As mentioned, typically this information is provided todomain management process 10 by the particular agent assigned to the mailboxes of the email application. The lowerhierarchical level 524 of theapplication level 512 also includesother storage groups storage groups respective data path host server 546 in ahost level 548 of thestorage domain 14. For example, as shown in the figure, themailboxes store 516 is placed in thefirst storage group 526 that is stored on the “C:” drive 542 of thehost server 546 that is located in thehost level 548 of the storage domain 14 (shown in FIG. 1). Continuing down the graphical tree structure of the levels included in the application andstorage domains host server 546 passes data over adata path 548 to aswitch level 550 that is also included in thestorage domain 14 and includes a graphical representation of one or more switches (not shown) present in the storage domain along with the associated data paths. Below the switch level 550 a subsystem level (not shown) includes graphical representations of the storage devices that are connected by data paths to theswitch level 550. For example, graphical representations of one or more SAN or NAS drives may be included in the subsystem level to represent the storage devices of thestorage domain 14 which provide the actual data storage locations for themailbox store 512 and the other assorted stores. - Although some implementations have been described, other implementations are also within the scope of the following claims.
- The domain management process10 (shown in FIG. 1) described herein is not limited to the software embodiment described above; it may find applicability in any computing or processing environment. The
domain management process 10 may be implemented in hardware, software, or a combination of the two. For example, thedomain management process 10 may be implemented using circuitry, such as one or more of programmable logic (e.g., an ASIC), logic gates, a processor, and a memory. Thedomain management process 10 may be implemented in computer programs executing on programmable computers that each includes a processor and a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements). Each such program may be implemented in a high-level procedural or object-oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language. The language may be a compiled or an interpreted language. - Each computer program may be stored on an article of manufacture, such as a storage medium (e.g., CD-ROM, hard disk, or magnetic diskette) or device (e.g., computer peripheral), that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the functions of the
domain management process 10. Thedomain management process 10 may also be implemented as a machine-readable storage medium, configured with a computer program, where, upon execution, instructions in the computer program cause a machine to operate to perform the functions of the domain management process described above. - Embodiments of the
domain management process 10 may be used in a variety of applications. Although thedomain management process 10 is not limited in this respect, the domain management process may be implemented with memory devices in microcontrollers, general purpose microprocessors, digital signal processors (DSPs), reduced instruction-set computing (RISC), and complex instruction-set computing (CISC), among other electronic components. - Embodiments of the
domain management process 10 may also be implemented using integrated circuit blocks referred to as core memory, cache memory, or other types of memory that store electronic instructions to be executed by a microprocessor or store data that may be used in arithmetic operations. - A number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.
Claims (3)
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/244,825 US7127498B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain constraining process and method |
US10/244,686 US8060436B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain risk analysis process and method |
US10/244,704 US20040054782A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain stitching process and method |
US10/244,816 US7058545B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain characterization process and method |
US10/244,827 US20040064543A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain management process and method |
US10/244,694 US7249347B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain interface process and method |
AU2003272512A AU2003272512A1 (en) | 2002-09-16 | 2003-09-15 | Software application domain and storage domain management process and method |
PCT/US2003/029319 WO2004025427A2 (en) | 2002-09-16 | 2003-09-15 | Software application domain and storage domain management process and method |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/244,825 US7127498B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain constraining process and method |
US10/244,686 US8060436B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain risk analysis process and method |
US10/244,704 US20040054782A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain stitching process and method |
US10/244,816 US7058545B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain characterization process and method |
US10/244,827 US20040064543A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain management process and method |
US10/244,694 US7249347B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain interface process and method |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040054782A1 true US20040054782A1 (en) | 2004-03-18 |
Family
ID=31999846
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/244,825 Expired - Lifetime US7127498B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain constraining process and method |
US10/244,816 Expired - Lifetime US7058545B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain characterization process and method |
US10/244,694 Expired - Lifetime US7249347B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain interface process and method |
US10/244,686 Active 2032-02-03 US8060436B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain risk analysis process and method |
US10/244,827 Abandoned US20040064543A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain management process and method |
US10/244,704 Abandoned US20040054782A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain stitching process and method |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/244,825 Expired - Lifetime US7127498B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain constraining process and method |
US10/244,816 Expired - Lifetime US7058545B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain characterization process and method |
US10/244,694 Expired - Lifetime US7249347B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain interface process and method |
US10/244,686 Active 2032-02-03 US8060436B2 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain risk analysis process and method |
US10/244,827 Abandoned US20040064543A1 (en) | 2002-09-16 | 2002-09-16 | Software application domain and storage domain management process and method |
Country Status (3)
Country | Link |
---|---|
US (6) | US7127498B2 (en) |
AU (1) | AU2003272512A1 (en) |
WO (1) | WO2004025427A2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108235A1 (en) * | 2003-11-18 | 2005-05-19 | Akihisa Sato | Information processing system and method |
US20070016750A1 (en) * | 2003-01-24 | 2007-01-18 | Masao Suzuki | System and method for managing storage and program for the same for executing an operation procedure for the storage according to an operation rule |
US20070280144A1 (en) * | 2006-05-31 | 2007-12-06 | Honeywell International Inc. | Apparatus and method for integrating wireless field devices with a wired protocol in a process control system |
US7356452B1 (en) * | 2002-09-27 | 2008-04-08 | Emc Corporation | System and method for simulating performance of one or more data storage systems |
US20120089725A1 (en) * | 2010-10-11 | 2012-04-12 | International Business Machines Corporation | Methods and systems for verifying server-storage device connectivity |
US20130166747A1 (en) * | 2011-12-23 | 2013-06-27 | Cirrus Data Solutions, Inc. | Systems, apparatus, and methods for identifying stored data that may be accessed by a host entity and providing data management services |
US20140201736A1 (en) * | 2013-01-11 | 2014-07-17 | Red Hat Israel, Ltd. | Mechanism For Managing Storage Connections In A Distributed Virtualization Environment |
US9495113B2 (en) | 2011-12-23 | 2016-11-15 | Cirrus Data Solutions, Inc. | Systems, devices, apparatus, and methods for identifying stored data by a device located in a path between virtual Fibre channel switches and performing a data management service |
US11902081B1 (en) * | 2022-01-31 | 2024-02-13 | Splunk Inc. | Managing collection agents via an agent controller |
US12135627B1 (en) | 2022-01-31 | 2024-11-05 | Splunk Inc. | Facilitating management of collection agents |
Families Citing this family (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2498174C (en) | 2002-09-09 | 2010-04-13 | Commvault Systems, Inc. | Dynamic storage device pooling in a computer system |
US7472182B1 (en) * | 2002-12-31 | 2008-12-30 | Emc Corporation | Data collection policy for storage devices |
US7782784B2 (en) * | 2003-01-10 | 2010-08-24 | Cisco Technology, Inc. | Port analyzer adapter |
US7899048B1 (en) | 2003-01-15 | 2011-03-01 | Cisco Technology, Inc. | Method and apparatus for remotely monitoring network traffic through a generic network |
JP4294353B2 (en) * | 2003-03-28 | 2009-07-08 | 株式会社日立製作所 | Storage system failure management method and apparatus having job management function |
WO2004090740A1 (en) | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | System and method for dynamically sharing media in a computer network |
WO2004093391A1 (en) * | 2003-04-10 | 2004-10-28 | Fujitsu Limited | Relation management control program, device, and system |
US8286168B2 (en) * | 2003-07-11 | 2012-10-09 | Ca, Inc. | Infrastructure auto discovery from business process models via batch processing flows |
US8645276B2 (en) * | 2003-07-11 | 2014-02-04 | Ca, Inc. | Modeling of applications and business process services through auto discovery analysis |
WO2005008411A2 (en) * | 2003-07-11 | 2005-01-27 | Computer Associates Think, Inc. | Infrastructure auto discovery from business process models via middleware flows |
US7474666B2 (en) | 2003-09-03 | 2009-01-06 | Cisco Technology, Inc. | Switch port analyzers |
US8165136B1 (en) | 2003-09-03 | 2012-04-24 | Cisco Technology, Inc. | Virtual port based SPAN |
US6912482B2 (en) * | 2003-09-11 | 2005-06-28 | Veritas Operating Corporation | Data storage analysis mechanism |
US7437676B1 (en) * | 2003-09-30 | 2008-10-14 | Emc Corporation | Methods and apparatus for managing network resources via use of a relationship view |
US7188127B2 (en) * | 2003-10-07 | 2007-03-06 | International Business Machines Corporation | Method, system, and program for processing a file request |
US20050086250A1 (en) * | 2003-10-16 | 2005-04-21 | Richardson Ellen K. | Select/refresh method and apparatus |
US20050096953A1 (en) * | 2003-11-01 | 2005-05-05 | Ge Medical Systems Global Technology Co., Llc | Methods and apparatus for predictive service for information technology resource outages |
US7209934B2 (en) * | 2003-11-21 | 2007-04-24 | Bellsouth Intellectual Property Corporation | Methods, systems and computer program products for monitoring files |
US20050137836A1 (en) * | 2003-12-23 | 2005-06-23 | Clark Noel E. | Computer system architecture transformation |
US7587685B2 (en) * | 2004-02-17 | 2009-09-08 | Wallace James H | Data exploration system |
GB0404444D0 (en) * | 2004-02-27 | 2004-09-01 | Bae Sys Defence Sys Ltd | Secure computer communication |
US20060129998A1 (en) * | 2004-03-31 | 2006-06-15 | Danilo Florissi | Method and apparatus for analyzing and problem reporting in storage area networks |
US7742398B1 (en) * | 2004-04-12 | 2010-06-22 | Azul Systems, Inc. | Information redirection |
JP4455137B2 (en) * | 2004-04-20 | 2010-04-21 | 株式会社日立製作所 | Storage subsystem management method |
US7529807B1 (en) * | 2004-05-05 | 2009-05-05 | Sun Microsystems, Inc. | Common storage in scalable computer systems |
US7711813B1 (en) * | 2004-06-29 | 2010-05-04 | Emc Corporation | Methods and apparatus for displaying storage resources |
US20060106819A1 (en) * | 2004-10-28 | 2006-05-18 | Komateswar Dhanadevan | Method and apparatus for managing a computer data storage system |
GB2447361B (en) | 2004-11-05 | 2009-05-20 | Commvault Systems Inc | Method and system of pooling storage devices |
US7490207B2 (en) * | 2004-11-08 | 2009-02-10 | Commvault Systems, Inc. | System and method for performing auxillary storage operations |
US20060173912A1 (en) * | 2004-12-27 | 2006-08-03 | Eric Lindvall | Automated deployment of operating system and data space to a server |
US7797288B2 (en) * | 2004-12-27 | 2010-09-14 | Brocade Communications Systems, Inc. | Use of server instances and processing elements to define a server |
US7844691B2 (en) * | 2004-12-30 | 2010-11-30 | Xstor Systems, Inc. | Scalable distributed storage and delivery |
US8762552B2 (en) * | 2005-04-13 | 2014-06-24 | Brocade Communications Systems, Inc. | Fine granularity access control for a storage area network |
US9418040B2 (en) | 2005-07-07 | 2016-08-16 | Sciencelogic, Inc. | Dynamically deployable self configuring distributed network management system |
JP4698316B2 (en) * | 2005-07-15 | 2011-06-08 | 株式会社日立製作所 | Access path management method and program |
JP4686305B2 (en) * | 2005-08-26 | 2011-05-25 | 株式会社日立製作所 | Storage management system and method |
GB0518405D0 (en) * | 2005-09-09 | 2005-10-19 | Ibm | Operational risk control apparatus and method for data processing |
US20070073800A1 (en) * | 2005-09-29 | 2007-03-29 | Intel Corporation | Provisioning, configuring, and managing a platform in a network |
US8107467B1 (en) | 2005-09-30 | 2012-01-31 | Emc Corporation | Full array non-disruptive failover |
US8072987B1 (en) | 2005-09-30 | 2011-12-06 | Emc Corporation | Full array non-disruptive data migration |
US20070088917A1 (en) * | 2005-10-14 | 2007-04-19 | Ranaweera Samantha L | System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems |
US8331436B2 (en) * | 2006-05-01 | 2012-12-11 | Georgia Tech Research Corporation | Expert system and method for elastic encoding of video according to regions of interest |
WO2007130389A2 (en) * | 2006-05-01 | 2007-11-15 | Georgia Tech Research Corporation | Automatic video quality measurement system and method based on spatial-temporal coherence metrics |
US8260924B2 (en) * | 2006-05-03 | 2012-09-04 | Bluetie, Inc. | User load balancing systems and methods thereof |
US7484056B2 (en) * | 2006-06-29 | 2009-01-27 | Emc Corporation | Partitioning of a storage array into N-storage arrays using full array non-disruptive data migration |
US8589504B1 (en) | 2006-06-29 | 2013-11-19 | Emc Corporation | Full array non-disruptive management data migration |
US7484059B1 (en) * | 2006-06-29 | 2009-01-27 | Emc Corporation | Full array non-disruptive migration of extended storage functionality |
US7484057B1 (en) * | 2006-06-29 | 2009-01-27 | Emc Corporation | Consolidating N-storage arrays into one storage array using full array non-disruptive data migration |
US20080163234A1 (en) * | 2006-07-06 | 2008-07-03 | Akorri Networks, Inc. | Methods and systems for identifying application system storage resources |
US8024712B1 (en) * | 2006-09-29 | 2011-09-20 | Emc Corporation | Collecting application logs |
US7743244B2 (en) * | 2006-10-31 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Computer system model generation with tracking of actual computer system configuration |
JP2010515121A (en) * | 2006-12-21 | 2010-05-06 | アコリ ネットワークス,インコーポレイテッド | Method and system for identifying storage resources of an application system |
US9134921B1 (en) * | 2007-04-23 | 2015-09-15 | Netapp, Inc. | Uniquely naming storage devices in a global storage environment |
JP2008299481A (en) * | 2007-05-30 | 2008-12-11 | Hitachi Ltd | Storage system and data copy method between several base points |
US9063895B1 (en) | 2007-06-29 | 2015-06-23 | Emc Corporation | System and method of non-disruptive data migration between heterogeneous storage arrays |
US9098211B1 (en) | 2007-06-29 | 2015-08-04 | Emc Corporation | System and method of non-disruptive data migration between a full storage array and one or more virtual arrays |
US8464270B2 (en) | 2007-11-29 | 2013-06-11 | Red Hat, Inc. | Dependency management with atomic decay |
US8832255B2 (en) | 2007-11-30 | 2014-09-09 | Red Hat, Inc. | Using status inquiry and status response messages to exchange management information |
US9977721B2 (en) | 2007-12-20 | 2018-05-22 | Netapp, Inc. | Evaluating and predicting computer system performance using kneepoint analysis |
JP2009157471A (en) * | 2007-12-25 | 2009-07-16 | Hitachi Ltd | File sharing system and method of setting file sharing system |
US7688753B1 (en) * | 2007-12-28 | 2010-03-30 | Emc Corporation | Selection of a data path based on one or more performance characteristics of a computer system |
EP2272234A1 (en) * | 2007-12-31 | 2011-01-12 | Quantar Solutions Limited | Assessing threat to at least one computer network |
US9225610B2 (en) | 2008-03-31 | 2015-12-29 | Hitachi, Ltd. | User interface providing information system topology presentation |
US8352866B2 (en) * | 2008-06-27 | 2013-01-08 | International Business Machines Corporation | Adapting a network topology |
US8645837B2 (en) * | 2008-11-26 | 2014-02-04 | Red Hat, Inc. | Graphical user interface for managing services in a distributed computing system |
US8893050B2 (en) * | 2009-01-12 | 2014-11-18 | International Business Machines Corporation | Assembly and output of user-defined groupings |
GB0909079D0 (en) | 2009-05-27 | 2009-07-01 | Quantar Llp | Assessing threat to at least one computer network |
US20100306348A1 (en) * | 2009-05-31 | 2010-12-02 | International Business Machines Corporation | Method and system for displaying and comparing storage zoning configurations |
US9762605B2 (en) | 2011-12-22 | 2017-09-12 | Phillip King-Wilson | Apparatus and method for assessing financial loss from cyber threats capable of affecting at least one computer network |
US9288224B2 (en) | 2010-09-01 | 2016-03-15 | Quantar Solutions Limited | Assessing threat to at least one computer network |
US8490055B2 (en) | 2010-09-17 | 2013-07-16 | Ca, Inc. | Generating dependency maps from dependency data |
JP5768540B2 (en) * | 2011-01-14 | 2015-08-26 | 株式会社リコー | Image processing apparatus and data transfer management method |
US8516301B2 (en) | 2011-04-08 | 2013-08-20 | Ca, Inc. | Visualizing transaction traces as flows through a map of logical subsystems |
US9202185B2 (en) | 2011-04-08 | 2015-12-01 | Ca, Inc. | Transaction model with structural and behavioral description of complex transactions |
US8782614B2 (en) | 2011-04-08 | 2014-07-15 | Ca, Inc. | Visualization of JVM and cross-JVM call stacks |
US8438427B2 (en) | 2011-04-08 | 2013-05-07 | Ca, Inc. | Visualizing relationships between a transaction trace graph and a map of logical subsystems |
US20130024481A1 (en) | 2011-07-20 | 2013-01-24 | Computer Associates Think, Inc. | Unified-interface for storage provisioning |
EP2771790A4 (en) | 2011-10-28 | 2015-07-22 | Hewlett Packard Development Co | Method and system for single point of failure analysis and remediation |
US9037772B2 (en) * | 2012-01-05 | 2015-05-19 | Hewlett-Packard Development Company, L.P. | Host based zone configuration |
US20130305344A1 (en) * | 2012-05-14 | 2013-11-14 | Alcatel-Lucent India Limited | Enterprise network services over distributed clouds |
US9558783B2 (en) * | 2012-05-21 | 2017-01-31 | Hewlett Packard Enterprises Development LP | System and method for displaying tape drive utilization and performance data |
US20140006464A1 (en) * | 2012-06-29 | 2014-01-02 | William M Pitts | Using projected timestamps to control the sequencing of file modifications in distributed filesystems |
US9660993B2 (en) * | 2012-10-25 | 2017-05-23 | Facebook, Inc. | Event reporting and handling |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
US9654558B2 (en) | 2013-07-16 | 2017-05-16 | International Business Machines Corporation | Managing a storage system |
US9277002B2 (en) | 2014-01-09 | 2016-03-01 | International Business Machines Corporation | Physical resource management |
US9350792B2 (en) * | 2014-04-16 | 2016-05-24 | Go Daddy Operating Company, LLC | Method for location-based website hosting optimization |
US10956299B2 (en) | 2015-02-27 | 2021-03-23 | Commvault Systems, Inc. | Diagnosing errors in data storage and archiving in a cloud or networking environment |
US9792110B2 (en) * | 2015-12-21 | 2017-10-17 | International Business Machines Corporation | Automatic online system upgrade |
US20180039922A1 (en) * | 2016-08-08 | 2018-02-08 | Quantar Solutions Limited | Apparatus and method for calculating economic loss from electronic threats capable of affecting computer networks |
US10284636B2 (en) * | 2016-09-20 | 2019-05-07 | International Business Machines Corporation | Dynamic shared server resource allocation |
US10884622B2 (en) | 2016-10-17 | 2021-01-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume |
US11032350B2 (en) | 2017-03-15 | 2021-06-08 | Commvault Systems, Inc. | Remote commands framework to control clients |
CN107229527B (en) * | 2017-05-25 | 2022-03-01 | 北京小米移动软件有限公司 | Information resource collection method and device and computer readable storage medium |
US10735514B2 (en) | 2017-08-29 | 2020-08-04 | Western Digital Technologies, Inc. | Remote application configuration on network-attached storage |
AU2018386004A1 (en) * | 2017-12-12 | 2020-06-25 | DraftKings, Inc. | Computer resource management based on prioritzation of computer executable events |
US20190356551A1 (en) * | 2018-05-17 | 2019-11-21 | Avago Technologies International Sales Pte. Ltd. | Systems and methods for context based multi-dimensional network visualization |
US11520566B2 (en) * | 2020-08-24 | 2022-12-06 | Bank Of America Corporation | System for generation and maintenance of source capability objects for application components |
US11593223B1 (en) | 2021-09-02 | 2023-02-28 | Commvault Systems, Inc. | Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants |
US11870799B1 (en) * | 2022-10-11 | 2024-01-09 | Second Sight Data Discovery, Inc. | Apparatus and method for implementing a recommended cyber-attack security action |
US12052140B1 (en) * | 2023-04-21 | 2024-07-30 | Capital One Services, Llc | Compliance for cloud-based applications and computer systems using machine learning |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811347A (en) * | 1986-01-30 | 1989-03-07 | U.S. Philips Corporation | Apparatus and method for monitoring memory accesses and detecting memory errors |
US6216207B1 (en) * | 1997-12-31 | 2001-04-10 | Alcatel Usa Sourcing, L.P. | Performance monitoring storage module for storing performance management data |
US6463431B1 (en) * | 1995-11-15 | 2002-10-08 | Bizrate.Com | Database evaluation system supporting intuitive decision in complex multi-attributive domains using fuzzy hierarchical expert models |
US20030200304A1 (en) * | 2002-04-18 | 2003-10-23 | Thorpe John Robert | Apparatus and method to automatically collect data regarding assets of a business entity |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274643A (en) * | 1992-12-11 | 1993-12-28 | Stratacom, Inc. | Method for optimizing a network having virtual circuit routing over virtual paths |
US5664231A (en) * | 1994-04-29 | 1997-09-02 | Tps Electronics | PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers |
US6253240B1 (en) * | 1997-10-31 | 2001-06-26 | International Business Machines Corporation | Method for producing a coherent view of storage network by a storage network manager using data storage device configuration obtained from data storage devices |
US5999179A (en) * | 1997-11-17 | 1999-12-07 | Fujitsu Limited | Platform independent computer network management client |
US6081812A (en) * | 1998-02-06 | 2000-06-27 | Ncr Corporation | Identifying at-risk components in systems with redundant components |
US6336138B1 (en) * | 1998-08-25 | 2002-01-01 | Hewlett-Packard Company | Template-driven approach for generating models on network services |
US6286047B1 (en) * | 1998-09-10 | 2001-09-04 | Hewlett-Packard Company | Method and system for automatic discovery of network services |
US6477520B1 (en) * | 1999-02-22 | 2002-11-05 | Yatra Corporation | Adaptive travel purchasing optimization 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 |
US6959431B1 (en) * | 1999-05-13 | 2005-10-25 | Compuware Corporation | System and method to measure and report on effectiveness of software program testing |
US6591232B1 (en) * | 1999-06-08 | 2003-07-08 | Sikorsky Aircraft Corporation | Method of selecting an optimum mix of resources to maximize an outcome while minimizing risk |
US6718535B1 (en) * | 1999-07-30 | 2004-04-06 | Accenture Llp | System, method and article of manufacture for an activity framework design in an e-commerce based environment |
US6834298B1 (en) * | 1999-09-21 | 2004-12-21 | Siemens Information And Communication Networks, Inc. | System and method for network auto-discovery and configuration |
US7032011B2 (en) * | 2000-03-29 | 2006-04-18 | Symantec Corporation | Server based extraction, transfer, storage and processing of remote settings, files and data |
JP2001306412A (en) * | 2000-04-27 | 2001-11-02 | Fuji Electric Co Ltd | Scsi bus control device |
US6742020B1 (en) * | 2000-06-08 | 2004-05-25 | Hewlett-Packard Development Company, L.P. | System and method for managing data flow and measuring service in a storage network |
US6785805B1 (en) * | 2000-08-08 | 2004-08-31 | Vi Technology, Inc. | Network-based configuration method for systems integration in test, measurement, and automation environments |
US20020128953A1 (en) * | 2000-09-15 | 2002-09-12 | Jim Quallen | Price discovery and negotiations and related processes |
US7107292B1 (en) * | 2000-10-13 | 2006-09-12 | International Business Machines Corporation | Fast system level recovery |
US8176137B2 (en) * | 2001-01-31 | 2012-05-08 | Accenture Global Services Limited | Remotely managing a data processing system via a communications network |
US20030088449A1 (en) * | 2001-03-23 | 2003-05-08 | Restaurant Services, Inc. | System, method and computer program product for an analysis creation interface in a supply chain management framework |
US6735548B1 (en) * | 2001-04-10 | 2004-05-11 | Cisco Technology, Inc. | Method for automated network availability analysis |
US20020161934A1 (en) * | 2001-04-30 | 2002-10-31 | Johnson Robert E. | System and method for communication of data between a host and an administration system |
US7856599B2 (en) * | 2001-12-19 | 2010-12-21 | Alcatel-Lucent Canada Inc. | Method and system for IP link management |
US20030145072A1 (en) * | 2002-01-31 | 2003-07-31 | Lau Richard C. | Auto-discovery of network configuration |
US20030145069A1 (en) * | 2002-01-31 | 2003-07-31 | Lau Richard C. | Virtual network configuration verification |
US20030158765A1 (en) * | 2002-02-11 | 2003-08-21 | Alex Ngi | Method and apparatus for integrated network planning and business modeling |
US7383330B2 (en) * | 2002-05-24 | 2008-06-03 | Emc Corporation | Method for mapping a network fabric |
US20040024887A1 (en) * | 2002-07-31 | 2004-02-05 | Sun Microsystems, Inc. | Method, system, and program for generating information on components within a network |
-
2002
- 2002-09-16 US US10/244,825 patent/US7127498B2/en not_active Expired - Lifetime
- 2002-09-16 US US10/244,816 patent/US7058545B2/en not_active Expired - Lifetime
- 2002-09-16 US US10/244,694 patent/US7249347B2/en not_active Expired - Lifetime
- 2002-09-16 US US10/244,686 patent/US8060436B2/en active Active
- 2002-09-16 US US10/244,827 patent/US20040064543A1/en not_active Abandoned
- 2002-09-16 US US10/244,704 patent/US20040054782A1/en not_active Abandoned
-
2003
- 2003-09-15 AU AU2003272512A patent/AU2003272512A1/en not_active Abandoned
- 2003-09-15 WO PCT/US2003/029319 patent/WO2004025427A2/en not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811347A (en) * | 1986-01-30 | 1989-03-07 | U.S. Philips Corporation | Apparatus and method for monitoring memory accesses and detecting memory errors |
US6463431B1 (en) * | 1995-11-15 | 2002-10-08 | Bizrate.Com | Database evaluation system supporting intuitive decision in complex multi-attributive domains using fuzzy hierarchical expert models |
US6216207B1 (en) * | 1997-12-31 | 2001-04-10 | Alcatel Usa Sourcing, L.P. | Performance monitoring storage module for storing performance management data |
US20030200304A1 (en) * | 2002-04-18 | 2003-10-23 | Thorpe John Robert | Apparatus and method to automatically collect data regarding assets of a business entity |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356452B1 (en) * | 2002-09-27 | 2008-04-08 | Emc Corporation | System and method for simulating performance of one or more data storage systems |
US20070016750A1 (en) * | 2003-01-24 | 2007-01-18 | Masao Suzuki | System and method for managing storage and program for the same for executing an operation procedure for the storage according to an operation rule |
US7313659B2 (en) * | 2003-01-24 | 2007-12-25 | Hitachi, Ltd. | System and method for managing storage and program for the same for executing an operation procedure for the storage according to an operation rule |
US20050108235A1 (en) * | 2003-11-18 | 2005-05-19 | Akihisa Sato | Information processing system and method |
US20070280144A1 (en) * | 2006-05-31 | 2007-12-06 | Honeywell International Inc. | Apparatus and method for integrating wireless field devices with a wired protocol in a process control system |
US7965664B2 (en) * | 2006-05-31 | 2011-06-21 | Honeywell International Inc. | Apparatus and method for integrating wireless field devices with a wired protocol in a process control system |
US20120089725A1 (en) * | 2010-10-11 | 2012-04-12 | International Business Machines Corporation | Methods and systems for verifying server-storage device connectivity |
US8868676B2 (en) * | 2010-10-11 | 2014-10-21 | International Business Machines Corporation | Methods and systems for verifying server-storage device connectivity |
US9495113B2 (en) | 2011-12-23 | 2016-11-15 | Cirrus Data Solutions, Inc. | Systems, devices, apparatus, and methods for identifying stored data by a device located in a path between virtual Fibre channel switches and performing a data management service |
US20130166747A1 (en) * | 2011-12-23 | 2013-06-27 | Cirrus Data Solutions, Inc. | Systems, apparatus, and methods for identifying stored data that may be accessed by a host entity and providing data management services |
US9077752B2 (en) * | 2011-12-23 | 2015-07-07 | Cirrus Data Solutions, Inc. | Systems, apparatus, and methods for identifying stored data that may be accessed by a host entity and providing data management services |
US9229647B2 (en) | 2011-12-23 | 2016-01-05 | Cirrus Data Solutions, Inc. | Systems, methods, and apparatus for spoofing a port of a host entity to identify data that is stored in a storage system and may be accessed by the port of the host entity |
US20140201736A1 (en) * | 2013-01-11 | 2014-07-17 | Red Hat Israel, Ltd. | Mechanism For Managing Storage Connections In A Distributed Virtualization Environment |
US9239730B2 (en) * | 2013-01-11 | 2016-01-19 | Red Hat Israel, Ltd. | Managing connections in a distributed virtualization environment |
US11902081B1 (en) * | 2022-01-31 | 2024-02-13 | Splunk Inc. | Managing collection agents via an agent controller |
US12135627B1 (en) | 2022-01-31 | 2024-11-05 | Splunk Inc. | Facilitating management of collection agents |
Also Published As
Publication number | Publication date |
---|---|
US7249347B2 (en) | 2007-07-24 |
WO2004025427A2 (en) | 2004-03-25 |
AU2003272512A1 (en) | 2004-04-30 |
US20040054758A1 (en) | 2004-03-18 |
WO2004025427A3 (en) | 2004-06-24 |
US20040064543A1 (en) | 2004-04-01 |
AU2003272512A8 (en) | 2004-04-30 |
US8060436B2 (en) | 2011-11-15 |
US20040054618A1 (en) | 2004-03-18 |
US20040051731A1 (en) | 2004-03-18 |
US20040054504A1 (en) | 2004-03-18 |
US7058545B2 (en) | 2006-06-06 |
US7127498B2 (en) | 2006-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7127498B2 (en) | Software application domain and storage domain constraining process and method | |
US7536291B1 (en) | System and method to support simulated storage operations | |
US8560671B1 (en) | Systems and methods for path-based management of virtual servers in storage network environments | |
US7343356B2 (en) | Systems and methods for storage modeling and costing | |
JP4432488B2 (en) | Method and apparatus for seamless management of disaster recovery | |
US7546333B2 (en) | Methods and systems for predictive change management for access paths in networks | |
RU2636848C2 (en) | Method of estimating power consumption | |
US8863224B2 (en) | System and method of managing data protection resources | |
US20050066027A1 (en) | Method of displaying events | |
US8135638B2 (en) | Summarizing risk ratings to facilitate an analysis of risks | |
US20030097445A1 (en) | Pluggable devices services and events for a scalable storage service architecture | |
US7805412B1 (en) | Systems and methods for parallel reconstruction of files and objects | |
JP2010515981A (en) | Storage optimization method | |
Uttamchandani et al. | Brahma: Planning tool for providing storage management as a service | |
US9515884B2 (en) | System and method for evaluating coverage of services by components of an IT infrastructure | |
Andersen et al. | Monitoring and Managing Microsoft® Exchange Server 2007 on the Adaptable Modular Storage 2000 Family | |
Kulhavý | Application virtualization and administration with Windows servers | |
Brailey | Protecting Hitachi Adaptable Modular Storage 2000 Family and Exchange 2007 Environments with Continuous Replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: APPIQ, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DONZE, FABIAN;DATTA, UTPAL;REEL/FRAME:013448/0580 Effective date: 20021008 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: MERGER;ASSIGNOR:APPIQ, INC;REEL/FRAME:017053/0069 Effective date: 20051201 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:017112/0410 Effective date: 20060201 Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:017112/0151 Effective date: 20051205 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |