Patent ID: 8601025

Claim:
A method for reporting requested information to a client comprising: querying a database to retrieve a first set of database path objects and a second set of database storage device objects, each of the database path objects of the first set identifying an initiator port, a target port and a storage group of one or more storage devices visible over a path represented by said each database path object, each of the database storage objects of the second set identifying a storage device represented by said each database storage object and a storage group to which the storage device represented belongs; partitioning said first set of database path objects into first and second sets of mapping information, said first set of mapping information identifying all initiator port to target port mappings as included in the first set of database path objects, said second set of mapping information identifying all initiator port to storage group mappings as included in the first set of database path objects; determining a combined representation by combining the second set of mapping information with a third set of mapping information, wherein said third set of mapping information identifies mappings between each storage group and one or more storage devices included in said each storage group as identified by said second set of database storage device objects; storing a bidirectional graph in a cache, the bidirectional graph comprising a first set of nodes and a second set of edges between pairs of nodes of the first set, each node of the first set representing an object in an object model of a server that is a data storage system including storage devices with storage provisioned for use by the client, each edge of the second set between a pair of nodes of the first set representing an association between two objects corresponding to the pair of nodes, wherein if a first edge of the second set is from a first node to a second node, the second set also includes a second edge from the second node to the first node, wherein said bidirectional graph includes a first portion representing said combined representation and wherein said bidirectional graph includes a second portion representing the first set of mapping information; receiving, at the data storage system, a request from the client, wherein said client is an aggregator providing data storage management for a plurality of hosts and said aggregator is an intermediate component between the plurality of hosts and the data storage system; and determining a response to the request, wherein said determining the response includes: traversing a portion of the bidirectional graph to extract first information; and filtering the first information in accordance with a usage context customized for the client.