Patent ID: 8196179

Claim:
A first controller of a plurality of controllers installed in a computer system, the computer system comprising the plurality of controllers, a plurality of data storage systems for storing copies of data in a distributed manner, and a network coupling the plurality of controllers, wherein each of the plurality of controllers controls access to the data stored in the plurality of data storage systems, the first controller comprising: an interface coupled to the network; a processor coupled to the interface; and a storage unit coupled to the processor, wherein the storage unit stores attribute information indicating whether to permit access to the data, wherein the attribute information includes information of storing permitted location and information of storing denied location, wherein the information of storing permitted location designates an installation location of the first controller controlling a data storage system permitted to write the data, and the information of storing denied location designates an installation location of the first controller controlling a data storage system not permitted to write the data, and wherein the processor is programmed to: receive, from a client computer coupled to the network, a writing request to write the data; determine whether the first controller is permitted to write the data based on the stored attribute information and information regarding a location of where the first controller is installed; determine whether the information of storing denied location contains the location of where the first controller is installed; when the information of storing denied location does contain the location of where the first controller is installed, write the data to a data storage system controlled by a second controller of the plurality of controllers, wherein a determination has been made that the second controller is permitted to write the data based on attribute information of the second controller and information regarding a location of where the second controller is installed; when the information of storing denied location does not contain the location where the first controller is installed, determine whether the information of storing permitted location contains the location of where the first controller is installed; when the information of storing permitted location contains the location of where the first controller is installed, write the data to a data storage system controlled by the first controller; when the information of storing permitted location does not contain the location of where the first controller is installed, write the data to the data storage system controlled by the second controller of the plurality of controllers, wherein a determination has been made that the second controller is permitted to write the data based on the attribute information of the second controller and the information regarding a location of where the second controller is installed.