Patent ID: 8521771

Claim:
A method of managing keymap information associated with an object stored within a storage system, the object represented by a key, the keymap information mapping the key to one or more locations of instances of the object on the storage system, wherein at least a portion of interactions with the keymap information is facilitated by one or more keymap coordinators for coordinating interaction between clients and keymap information source, the method comprising: obtaining, at a keymap coordinator, an identifier associated with the keymap coordinator, wherein keymap information including the identifier associated with the keymap coordinator indicates that the keymap coordinator has most recently modified the keymap information; obtaining a read request at the keymap coordinator for keymap information associated with a first key; obtaining cached keymap information, at the keymap coordinator, corresponding to the read request, the cached keymap information including two or more generations identifiers associated with the cached keymap information, each of the two or more generations identifiers corresponding to a component that accessed at least one class of keymap information associated with the first key at a time corresponding to creation of the generations identifier, wherein the cached keymap information is associated with a plurality of classes corresponding to a plurality of independently accessible types of keymap information, and wherein each of the plurality of classes is associated with a portion of the cached keymap information; determining whether the identifier associated with the keymap coordinator matches the most recent generations identifier of the two or more generations identifiers; if the identifier associated with the keymap coordinator matches the most recent generations identifier of the two or more generations identifiers, processing the obtained cached keymap information responsive to the read request; and if the identifier associated with the keymap coordinator does not match the most recent identifier of the two or more generations identifiers: transmitting a request from the keymap coordinator for keymap information corresponding to the at least one class of keymap information; obtaining responsive keymap information at the keymap coordinator; updating the cached keymap information with the obtained responsive keymap information; and processing the updated cached keymap information responsive to the read request.