複数のオブジェクトデータを分散して記憶する複数のデータ記憶ノードを備え、前記複数のオブジェクトデータは、それぞれ、データ座標によって特徴付けられるとともにデータ識別子によって一意に識別され、前記複数のデータ記憶ノードは、それぞれ、前記データ座標と同一の空間におけるノード座標を割り当てられ、前記複数のオブジェクトデータは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択した後、該複数の第1のデータ記憶ノードの中から該オブジェクトデータを識別するデータ識別子に基づいて決定したデータ記憶ノードに、それぞれ記憶されることを特徴とする分散記憶システム。前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標、および、前記複数のデータ記憶ノードのそれぞれに割り当てられたノード座標は、前記複数のオブジェクトデータを定量的に評価する複数の評価軸を座標軸とするユークリッド空間における座標であることを特徴とする、請求項1に記載の分散記憶システム。オブジェクトデータからの距離が所定の距離以内のノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択することを特徴とする、請求項1または2に記載の分散記憶システム。オブジェクトデータからの距離が短いノード座標を割り当てられたデータ記憶ノードを該距離の短いものから順に所定の数だけ前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして選択することを特徴とする、請求項1ないし3のいずれか1項に記載の分散記憶システム。オブジェクトデータを識別するデータ識別子をシードとして生成した複数の擬似乱数を前記複数の第1のデータ記憶ノードのそれぞれに割り当てるとともに、該オブジェクトデータのデータ座標と前記複数の第1のデータ記憶ノードのそれぞれに割り当てられたノード座標との距離に応じて算出されたウェイトに、割り当てられた擬似乱数を掛け合わせた値が最大のデータ記憶ノードを前記複数の第1のデータ記憶ノードの中から抽出し、抽出したデータ記憶ノードを該オブジェクトデータを格納すべきデータ記憶ノードとして決定することを特徴とする、請求項1ないし4のいずれか1項に記載の分散記憶システム。前記ウェイトは、前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標と、前記複数のデータ記憶ノードのそれぞれに割り当てられたノード座標との距離が短くなるに従って増大することを特徴とする、請求項5に記載の分散記憶システム。前記複数のデータ記憶ノードは、それぞれ、前記複数のオブジェクトデータを特徴付けるデータ座標の分布に応じてノード座標が割り当てられていることを特徴とする、請求項1ないし6のいずれか1項に記載の分散記憶システム。前記複数のデータ記憶ノードにオブジェクトデータを書き込むとともに、前記複数のデータ記憶ノードに記憶されたオブジェクトデータを読み出すクライアントノードをさらに備えていることを特徴とする、請求項1ないし7のいずれか1項に記載の分散記憶システム。前記クライアントノードは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するとともに、該複数の第1のデータ記憶ノードの中から該オブジェクトデータのデータ識別子に基づいて決定したデータ記憶ノードに、該オブジェクトデータを書き込むことを特徴とする、請求項8に記載の分散記憶システム。前記クライアントノードは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するとともに、選択した複数の第1のデータ記憶ノードに対して該オブジェクトデータの読み出し命令を送出することを特徴とする、請求項8または9に記載の分散記憶システム。前記クライアントノードは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するとともに、該複数の第1のデータ記憶ノードの中から該オブジェクトデータを識別するデータ識別子に基づいて決定したデータ記憶ノードに対して、該オブジェクトデータの読み出し命令を送出することを特徴とする、請求項8または9に記載の分散記憶システム。データ座標によって特徴付けられるとともにデータ識別子によって一意に識別される複数のオブジェクトデータを分散して記憶する分散記憶方法であって、前記データ座標と同一の空間におけるノード座標を複数のデータ記憶ノードのそれぞれに割り当てる工程と、前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを、前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択する工程と、前記複数の第1のデータ記憶ノードの中から前記複数のオブジェクトデータのそれぞれを識別するデータ識別子に基づいて決定したデータ記憶ノードに、該オブジェクトデータを記憶させる工程と、を含むことを特徴とする分散記憶方法。前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標、および、前記複数のデータ記憶ノードのそれぞれに割り当てられたノード座標は、前記複数のオブジェクトデータを定量的に評価する複数の評価軸を座標軸とするユークリッド空間における座標であることを特徴とする、請求項12に記載の分散記憶方法。オブジェクトデータからの距離が所定の距離以内のノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択する工程を含むことを特徴とする、請求項12または13に記載の分散記憶方法。オブジェクトデータからの距離が短いノード座標を割り当てられたデータ記憶ノードを該距離の短いものから順に所定の数だけ前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして選択する工程を含むことを特徴とする、請求項12ないし14のいずれか1項に記載の分散記憶方法。オブジェクトデータのデータ識別子をシードとして生成した複数の擬似乱数を前記複数の第1のデータ記憶ノードのそれぞれに割り当てる工程と、前記オブジェクトデータのデータ座標と前記複数の第1のデータ記憶ノードのそれぞれに割り当てられたノード座標との距離に応じて算出されたウェイトに、割り当てられた擬似乱数を掛け合わせた値が最大のデータ記憶ノードを前記複数の第1のデータ記憶ノードの中から抽出する工程と、抽出したデータ記憶ノードを、前記オブジェクトデータを格納すべきデータ記憶ノードとして決定する工程と、を含むことを特徴とする、請求項12ないし15のいずれか1項に記載の分散記憶方法。前記複数のオブジェクトデータを特徴付けるデータ座標の分布に応じて、前記複数のデータ記憶ノードのそれぞれにノード座標を割り当てる工程を含むことを特徴とする、請求項12ないし16のいずれか1項に記載の分散記憶方法。上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。特許文献1、非特許文献1および非特許文献2に記載された手法では、個々のオブジェクトデータを分類することなく記憶ノードに記憶している。このとき、記憶ノード上で特定の性質を持つオブジェクトデータを処理する場合には、多数の記憶ノードからその記憶ノードへオブジェクトデータを集める必要がある。記憶ノードの台数が多くなるに従って、特定のノードへオブジェクトデータを収集するための処理が膨大となる。したがって、オブジェクトデータの性質に基づいてオブジェクトデータを記憶する記憶ノードを決定することにより、同一または類似の性質を有するオブジェクトデータを少数の記憶ノードに偏らせて記憶することを実現し、複数の記憶ノードを集中的に管理および制御する特定ノードを用いない分散処理環境において、各記憶ノードにほぼ均等にオブジェクトを分散させつつ、特定の性質を持つオブジェクトデータを処理する際に処理をするオブジェクトデータを持つ記憶ノードを限定できるようにすることが望まれる。特に、複数のデータ記憶ノードにオブジェクトデータを均一に分散して格納するとともに、オブジェクトデータの特徴に応じてオブジェクトデータを一部のデータ記憶ノードに偏在させることが課題となる。本発明の目的は、かかる課題を解決する分散記憶システムおよび分散記憶方法を提供することにある。本発明の第1の視点に係る分散記憶システムは、複数のオブジェクトデータを分散して記憶する複数のデータ記憶ノードを備え、前記複数のオブジェクトデータは、それぞれ、データ座標によって特徴付けられるとともにデータ識別子によって一意に識別され、前記複数のデータ記憶ノードは、それぞれ、前記データ座標と同一の空間におけるノード座標を割り当てられ、前記複数のオブジェクトデータは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択した後、該複数の第1のデータ記憶ノードの中から該オブジェクトデータを識別するデータ識別子に基づいて決定したデータ記憶ノードに、それぞれ記憶される。本発明の第2の視点に係る分散記憶方法は、データ座標によって特徴付けられるとともにデータ識別子によって一意に識別される複数のオブジェクトデータを分散して記憶する分散記憶方法であって、前記データ座標と同一の空間におけるノード座標を複数のデータ記憶ノードのそれぞれに割り当てる工程と、前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを、前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択する工程と、前記複数の第1のデータ記憶ノードの中から前記複数のオブジェクトデータのそれぞれを識別するデータ識別子に基づいて決定したデータ記憶ノードに、該オブジェクトデータを記憶させる工程と、を含む。本発明に係る分散記憶システムおよび分散記憶方法によると、複数のデータ記憶ノードにオブジェクトデータを均一に分散して格納するとともに、オブジェクトデータの特徴に応じて、オブジェクトデータを一部のデータ記憶ノードに偏在させることができる。はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。図1を参照すると、分散記憶システム70は、複数のオブジェクトデータを分散して記憶する複数のデータ記憶ノード71a~71cを備えている。なお、図1には、一例として3つのデータ記憶ノード71a~71cを示したが、データ記憶ノードの個数は図示の態様に限定されない。複数のオブジェクトデータは、それぞれ、データ座標によって特徴付けられるとともにデータ識別子によって一意に識別される。また、複数のデータ記憶ノード71a~71cは、それぞれ、データ座標と同一の空間におけるノード座標を割り当てられている。さらに、オブジェクトデータは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを複数のデータ記憶ノード71a~71cの中から第1のデータ記憶ノードとして複数選択した後例えば、71a、71b、複数の第1のデータ記憶ノード71a、71bの中からオブジェクトデータを識別するデータ識別子に基づいて決定したデータ記憶ノード例えば、71aに記憶される。ここで、複数のオブジェクトデータのそれぞれを特徴付けるデータ座標、および、複数のデータ記憶ノード71a~71cのそれぞれに割り当てられたノード座標は、複数のオブジェクトデータを定量的に評価する複数の評価軸を座標軸とするユークリッド空間における座標としてもよい。また、オブジェクトデータからの距離が所定の距離以内のノード座標を割り当てられたデータ記憶ノードを複数のデータ記憶ノード71a~71cの中から第1のデータ記憶ノードとして複数選択するようにしてもよい。さらに、オブジェクトデータからの距離が短いノード座標を割り当てられたデータ記憶ノードを該距離の短いものから順に所定の数だけ複数のデータ記憶ノード71a~71cの中から第1のデータ記憶ノードとして選択するようにしてもよい。また、オブジェクトデータを識別するデータ識別子をシードとして生成した複数の擬似乱数を複数の第1のデータ記憶ノード例えば、71a、71bのそれぞれに割り当てるとともに、該オブジェクトデータのデータ座標と複数の第1のデータ記憶ノード71a、71bのそれぞれに割り当てられたノード座標との距離に応じて算出されたウェイトに、割り当てられた擬似乱数を掛け合わせた値が最大のデータ記憶ノードを複数の第1のデータ記憶ノード71a、71bの中から抽出し、抽出したデータ記憶ノード例えば、71aを該オブジェクトデータを格納すべきデータ記憶ノードとして決定するようにしてもよい。ここで、ウェイトは、複数のオブジェクトデータのそれぞれを特徴付けるデータ座標と、複数のデータ記憶ノード71a~71cのそれぞれに割り当てられたノード座標との距離が短くなるに従って増大することが好ましい。また、複数のデータ記憶ノード71a~71cは、それぞれ、複数のオブジェクトデータを特徴付けるデータ座標の分布に応じてノード座標が割り当てられていることが好ましい。例えば、データ座標の分布密度が高い領域に対して、高い確率でノード座標を割り当てるようにしてもよい。図1を参照すると、分散記憶システム70は、複数のデータ記憶ノード71a~71cにオブジェクトデータを書き込むとともに、複数のデータ記憶ノード71a~71cに記憶されたオブジェクトデータを読み出すクライアントノード72をさらに備えていてもよい。クライアントノード72は、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを複数のデータ記憶ノード71a~71cの中から第1のデータ記憶ノードとして複数選択するとともに例えば、71a、71b、複数の第1のデータ記憶ノード71a、71bの中から該オブジェクトデータのデータ識別子に基づいて決定したデータ記憶ノード例えば、71aに、該オブジェクトデータを書き込むことが好ましい。また、クライアントノード72は、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを複数のデータ記憶ノード71a~71cの中から第1のデータ記憶ノードとして複数選択するとともに例えば、71a、71b、選択した複数の第1のデータ記憶ノード71a、72bに対して該オブジェクトデータの読み出し命令を送出するか、または、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを複数のデータ記憶ノード71a~71cの中から第1のデータ記憶ノードとして複数選択するとともに例えば、71a、71b、複数の第1のデータ記憶ノード71a、71bの中から該オブジェクトデータを識別するデータ識別子に基づいて決定したデータ記憶ノード例えば、71aに対して、該オブジェクトデータの読み出し命令を送出することが好ましい。本発明に係る分散記憶システムによると、複数ノードを集中的に管理および制御する特定ノードを用いない分散処理環境において、オブジェクトデータをそれぞれの性質に基づいて分散しつつ、各ノードにほぼ均等に分散して記憶することができ、また、オブジェクトデータのデータ識別子と該オブジェクトデータのデータの性質を表す複数の数値化された指標データ座標から該オブジェクトデータを記憶するノードを特定することができ、さらに、オブジェクトデータのデータの性質を表す複数の数値化された指標データ座標から該オブジェクトデータを記憶するノードを一部のノードに限定することができる。なお、本発明において、下記の形態が可能である。[形態1]上記第1の視点に係る分散記憶システムのとおりである。[形態2]前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標、および、前記複数のデータ記憶ノードのそれぞれに割り当てられたノード座標は、前記複数のオブジェクトデータを定量的に評価する複数の評価軸を座標軸とするユークリッド空間における座標であってもよい。[形態3]オブジェクトデータからの距離が所定の距離以内のノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するようにしてもよい。[形態4]オブジェクトデータからの距離が短いノード座標を割り当てられたデータ記憶ノードを該距離の短いものから順に所定の数だけ前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして選択するようにしてもよい。[形態5]オブジェクトデータを識別するデータ識別子をシードとして生成した複数の擬似乱数を前記複数の第1のデータ記憶ノードのそれぞれに割り当てるとともに、該オブジェクトデータのデータ座標と前記複数の第1のデータ記憶ノードのそれぞれに割り当てられたノード座標との距離に応じて算出されたウェイトに、割り当てられた擬似乱数を掛け合わせた値が最大のデータ記憶ノードを前記複数の第1のデータ記憶ノードの中から抽出し、抽出したデータ記憶ノードを該オブジェクトデータを格納すべきデータ記憶ノードとして決定するようにしてもよい。[形態6]前記ウェイトは、前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標と、前記複数のデータ記憶ノードのそれぞれに割り当てられたノード座標との距離が短くなるに従って増大するようにしてもよい。[形態7]前記複数のデータ記憶ノードは、それぞれ、前記複数のオブジェクトデータを特徴付けるデータ座標の分布に応じてノード座標が割り当てられていてもよい。[形態8]分散記憶システムは、前記複数のデータ記憶ノードにオブジェクトデータを書き込むとともに、前記複数のデータ記憶ノードに記憶されたオブジェクトデータを読み出すクライアントノードをさらに備えていてもよい。[形態9]前記クライアントノードは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するとともに、該複数の第1のデータ記憶ノードの中から該オブジェクトデータのデータ識別子に基づいて決定したデータ記憶ノードに、該オブジェクトデータを書き込むようにしてもよい。[形態10]前記クライアントノードは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するとともに、選択した複数の第1のデータ記憶ノードに対して該オブジェクトデータの読み出し命令を送出するようにしてもよい。[形態11]前記クライアントノードは、オブジェクトデータを特徴付けるデータ座標からの距離が相対的に短いノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択するとともに、該複数の第1のデータ記憶ノードの中から該オブジェクトデータを識別するデータ識別子に基づいて決定したデータ記憶ノードに対して、該オブジェクトデータの読み出し命令を送出するようにしてもよい。[形態12]上記第2の視点に係る分散記憶方法のとおりである。[形態13]前記複数のオブジェクトデータのそれぞれを特徴付けるデータ座標、および、前記複数のデータ記憶ノードのそれぞれに割り当てられたノード座標は、前記複数のオブジェクトデータを定量的に評価する複数の評価軸を座標軸とするユークリッド空間における座標であってもよい。[形態14]分散記憶方法は、オブジェクトデータからの距離が所定の距離以内のノード座標を割り当てられたデータ記憶ノードを前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして複数選択する工程を含んでいてもよい。[形態15]分散記憶方法は、オブジェクトデータからの距離が短いノード座標を割り当てられたデータ記憶ノードを該距離の短いものから順に所定の数だけ前記複数のデータ記憶ノードの中から第1のデータ記憶ノードとして選択する工程を含んでいてもよい。[形態16]分散記憶方法は、オブジェクトデータのデータ識別子をシードとして生成した複数の擬似乱数を前記複数の第1のデータ記憶ノードのそれぞれに割り当てる工程と、前記オブジェクトデータのデータ座標と前記複数の第1のデータ記憶ノードのそれぞれに割り当てられたノード座標との距離に応じて算出されたウェイトに、割り当てられた擬似乱数を掛け合わせた値が最大のデータ記憶ノードを前記複数の第1のデータ記憶ノードの中から抽出する工程と、抽出したデータ記憶ノードを、前記オブジェクトデータを格納すべきデータ記憶ノードとして決定する工程と、を含んでいてもよい。[形態17]分散記憶方法は、前記複数のオブジェクトデータを特徴付けるデータ座標の分布に応じて、前記複数のデータ記憶ノードのそれぞれにノード座標を割り当てる工程を含んでいてもよい。<実施形態1>第1の実施形態に係る分散記憶システムについて、図面を参照して説明する。図2は、本実施形態に係る分散記憶システム40の構成を概略的に示すブロック図である。図2はa、bの2つの図を含む。図3は、本実施形態に係る分散記憶システム40のうち、各ノードの内部構成を示すブロック図である。図4は、本実施形態に係る分散記憶システム40のうち各ノードの詳細を示すブロック図である。図2ないし図4に示す分散記憶システム40は、複数のデータを分散記憶するシステムである。分散記憶システム40は、データ記憶ノード30にほぼ均等にデータを記憶するとともに、データの性質を表す複数の数値化された指標に応じて偏らせて、データ記憶ノード30にデータを記憶する。本実施形態においても、上述の背景技術と同様に、処理対象であるデータを、オブジェクトデータと呼ぶ。オブジェクトデータは、例えば、数値データ、所定の処理プロセス、機能、アルゴリズムが記述されたソフトウェアプログラムコンピュータプログラム等であってもよい。図2aを参照すると、分散記憶システム40は、複数のクライアントノード10、複数のメタデータ記憶ノード20、および、複数のデータ記憶ノード30を備えている。本実施形態に係るクライアントノード10、メタデータ記憶ノード20およびデータ記憶ノード30は、互いに通信可能に接続されている。次に、クライアントノード10、メタデータ記憶ノード20およびデータ記憶ノード30について説明する。図2aを参照すると、クライアントノード10は、アクセスするオブジェクトデータのデータ識別子から、該データ識別子に対応するメタデータを記憶するメタデータ記憶ノード20を判定する。そして、該メタデータ記憶ノード20へデータ識別子とアクセス命令を送出する。メタデータ記憶ノード20は、クライアントノード10から送出されたデータ識別子とアクセス命令を受信する。次に、メタデータ記憶ノード20は、該データ識別子と該データ識別子に対応するメタデータを元に、所定のルール後述に基づいてオブジェクトデータを持っているデータ記憶ノード30を選択する。次に、メタデータ記憶ノード20は、選択したデータ記憶ノード30へデータ識別子とアクセス命令を送出する。メタデータは、オブジェクトデータの特徴を複数の指標で評価して数値化したデータを含む。すなわち、本実施形態において、データ識別子とメタデータとは必ずしも一致しない。データ記憶ノード30は、メタデータ記憶ノード20から送出されたデータ識別子とアクセス命令を受信する。次に、データ記憶ノード30は、該データ識別子に対応するオブジェクトデータ、データ識別子とメタデータをクライアントノード10に返す。また、別のアクセス方法として、以下のアクセス方法を用いてもよい。図2bを参照すると、クライアントノード10は、メタデータと対応するオブジェクトデータを持っている可能性があるデータ記憶ノード30をルールに基づいて選択し、選択したデータ記憶ノード30へメタデータとアクセス命令を送出する。このとき、複数のデータ記憶ノード30が選択され得る。データ記憶ノード30は、クライアントノード10から送出されたメタデータとアクセス命令を受信し、該メタデータに対応するオブジェクトデータ、データ識別子およびメタデータをクライアントノード10に返す。このとき、データ記憶ノード30は、メタデータに対応するオブジェクトデータを保持していない場合、または、メタデータに対応するオブジェクトデータを複数保持している場合があり得る。本実施形態では、説明の便宜上、分散記憶システム40が、図2aのように3種類のノードを備えている場合について説明する。ただし、本発明は図2ないし図4に例示する構成に限定されるものではなく、例えば、仮想マシン環境において、これらのノードの全部または一部の機能を実現してもよい。なお、分散記憶システム40を実現するためのハードウェア構成の具体例については、図7を参照して後述する。I.データを読み込む場合分散記憶システム40において、データを読み込む場合の動作の詳細について、図面を参照して説明する。クライアントノード10図4を参照すると、クライアントノード10は、メタデータ記憶ノード判定部11、データ識別子送信部12、ノード情報記憶部13、データ記憶ノード判定部14、メタデータ送信部15、および、データ受信部16を備えている。まず、図2aに示すように、クライアントノード10がデータ識別子を用いてオブジェクトデータを得る場合について説明する。メタデータ記憶ノード判定部11は、オブジェクトデータのデータ識別子と、ノード情報記憶部13が記憶しているメタデータ記憶ノード20のノード番号から、データ識別子に対応するデータ識別子とメタデータとの組み合わせを記憶しているメタデータ記憶ノード20を判定する。次に、データ識別子送信部12は、該メタデータ記憶ノード20へデータ識別子とアクセス命令を送信する。該データ識別子に対応するデータ識別子とメタデータとの組み合わせを記憶するメタデータ記憶ノード20を、メタデータ記憶ノード判定部11が判定する方法として、さまざまな方法を採用することができる。例えば、特許文献1、非特許文献1または非特許文献2に記載された方法を採用することができる。次に、クライアントノード10がメタデータからオブジェクトデータを得る場合について説明する。データ記憶ノード判定部14は、メタデータに含まれるデータ座標と、ノード情報記憶部13が記憶しているノード座標から、後述のアルゴリズムBを用いて、オブジェクトデータを記憶している可能性があるデータ記憶ノード30を判定する。次に、メタデータ送信部15は、該データ記憶ノード30へメタデータとアクセス命令を送出する。ノード座標の座標軸として、データ座標の座標軸と同一のものが用いられる。ノード座標が持つ座標データの指定方法については、後述する。データ受信部16は、データ記憶ノード30から送出されたオブジェクトデータ、データ識別子、メタデータを受信する。メタデータ記憶ノード20図4を参照すると、メタデータ記憶ノード20は、データ識別子受信部21、メタデータ記憶部22、メタデータ判定部23、ノード情報記憶部24、ノード判定部25、および、データ識別子送信部26を備えている。データ識別子受信部21は、クライアントノード10から送出されたデータ識別子とアクセス命令を受信する。メタデータ記憶部22は、該データ識別子に対応するメタデータを記憶している。メタデータ判定部23は、データ識別子に対応するメタデータをメタデータ記憶部22から受信して、ノード判定部25へ送出する。メタデータは、メタデータに対応するオブジェクトデータを様々な評価軸で評価した結果を数値化したデータ座標を含む。オブジェクトデータを評価する評価軸として、個々のシステムに依存して、様々な評価軸が用いられる。ここでは、用いるべき評価軸を特に限定しない。ノード判定部25は、受信したデータ識別子に対応するメタデータと、ノード情報記憶部24が記憶しているノード情報から、受信したデータ識別子の送信先のデータ記憶ノード30を、後述のアルゴリズムAに基づいて選択する。ノード情報は、データ記憶ノード30のノード座標、ノード番号およびノードアクセス情報を含む。ノード番号は、各データ記憶ノードに固有の番号である。次に、データ識別子送信部26は、選択したデータ記憶ノード30へデータ識別子とアクセス命令を送出する。データ記憶ノード30図4を参照すると、データ記憶ノード30は、データ識別子受信部31、データ記憶部32、データ判定部33、データ送信部34、メタデータ受信部35、および、メタデータ判定部36を備えている。データ識別子受信部31は、メタデータ記憶ノード20からデータ識別子とアクセス命令を受信する。データ記憶部32は、受信したデータ識別子に対応するオブジェクトデータ、データ識別子およびメタデータを記憶している。データ判定部33は、受信したデータ識別子に対応するオブジェクトデータおよびメタデータを、データ記憶部32から取得する。次に、データ送信部34は、オブジェクトデータ、データ識別子およびメタデータをクライアントノード10へ送出する。また、メタデータ受信部35は、クライアントノード10からメタデータを受信する。この場合、メタデータ判定部36は、受信したメタデータに対応するオブジェクトデータおよびデータ識別子をデータ記憶部32から取得する。このとき、データ記憶部32は、受信したメタデータに対応するオブジェクトデータおよびデータ識別子を記憶していない場合、または、複数記憶している場合がある。次に、データ送信部34は、オブジェクトデータ、データ識別子およびメタデータをクライアントノード10へ送出する。ここでは、クライアントノード10へオブジェクトデータ、データ識別子およびメタデータを送出するものとしたが、クライアントノード10へ返す情報としては、これらに制限されない。アルゴリズムA図5は、アルゴリズムAのフローチャートである。オブジェクトデータのデータ座標とデータ記憶ノード30のノード座標を空間に展開した場合のオブジェクトデータとデータ記憶ノード30の距離を計算し、オブジェクトデータから距離が近い順に予め決められたルールでデータ記憶ノード30を選択するステップS1。空間として、一例として、評価軸を直交する軸とする多次元ユークリッド空間を用いることができる。また、予め決められたルールとして、選択するデータ記憶ノード30の数を限定するルール、距離を限定するルール、選択するデータ記憶ノード30の数と距離両方を限定するルール等の様々なルールを採用することができる。また、ルールに合ったデータ記憶ノード30を選択する際、オブジェクトデータとすべてのデータ記憶ノード30の距離を計算する代わりに、距離を計算するデータ記憶ノード30を限定する方法を用いることもできる。次に、距離からウェイトを計算するステップS2。距離が近いほど、ウェイトは大きくなる。距離からウェイトを計算する方法として、一例として、距離の逆数をウェイトとする方法を用いることができる。次に、オブジェクトデータのデータ識別子をシードとして乱数を生成し、ステップS1で選択したデータ記憶ノード30へ割り当てるステップS3。乱数を生成する方法として、シードが同一であれば同一の乱数を発生する疑似乱数生成方法を用いる。ここでは、N番目に発生した乱数を、Nのノード番号を持つデータ記憶ノード30に割り当てる。次に、データ記憶ノード30に割り当てた乱数に、各データ記憶ノード30のウェイトを掛けて、ウェイト調整後乱数を求めるステップS4。次に、ウェイト調整後乱数の中で最も大きなウェイト調整後乱数を探し、最も大きなウェイト調整後乱数を持つデータ記憶ノード30を選択するステップS5。アルゴリズムAによると、ウェイトに応じた偏りを持たせた上で、オブジェクトデータを記憶するデータ記憶ノード30を選択できる。すなわち、データ座標が近いオブジェクトデータは、ノード座標が同一または近い限られたデータ記憶ノード30に記憶される。また、同一のオブジェクトデータのデータ識別子およびデータ座標と、データ記憶ノード30のノード座標およびノード番号とが与えられた場合には、つねに、同一のデータ記憶ノード30が選択される。さらに、データ記憶ノード30を追加または削除した場合に、データ記憶ノード30の選択が変更されるオブジェクトデータの数を最小限に抑えることができる。アルゴリズムBアルゴリズムBは、アルゴリズムAのステップS1と同様である。メタデータに含まれるデータ座標とデータ記憶ノード30のノード座標を空間に展開したときのメタデータとデータ記憶ノード30の距離を計算し、メタデータから近い順に予め決められたルールでデータ記憶ノード30を選択する。空間として、一例として、評価軸を直交する軸とする多次元ユークリッド空間を用いることができる。また、予め決められたルールとして、選択するデータ記憶ノード30の数を限定するルール、距離を限定するルール、選択するデータ記憶ノード30の数と距離両方を限定するルール等の様々なルールを採用することができる。また、ルールにあったデータ記憶ノード30を選択する際、メタデータとすべてのデータ記憶ノード30の距離を計算する代わりに、計算が必要なデータ記憶ノード30を限定する方法を用いることもできる。データ記憶ノード30のノード座標の決定方法データ記憶ノード30のノード座標は、任意に設定し得る。しかし、オブジェクトデータのデータ座標と、データ記憶ノード30のノード座標を空間に展開した場合に、より多くのオブジェクトデータが存在する空間の近くにより多くのデータ記憶ノード30が存在するときに、各データ記憶ノード30が記憶するオブジェクトデータの数がより均等になる。より多くのオブジェクトデータが存在する空間の近くにより多くのデータ記憶ノード30を配置する方法として、様々な方法を採用することができる。例えば、予めオブジェクトデータが存在するようになる可能性が高い空間の近くに多くのデータ記憶ノード30を配置するようにノード座標を調整するようにしてもよい。また、記憶しているオブジェクトデータの数が少ないデータ記憶ノード30の空間上の位置をより多くのオブジェクトデータが存在する空間上の位置の近くに移動するために、データ記憶ノード30のノード座標を変更するようにしてもよい。さらに、データ記憶ノード30を追加する際、オブジェクトデータが多く存在する空間上の位置の近くにデータ記憶ノード30を追加するようにしてもよい。II.データを書き込む場合分散記憶システム40において、データを書き込む場合の動作の詳細について、図面を参照して説明する。クライアントノード10クライアントノード10がデータ識別子およびメタデータを用いてオブジェクトデータを書き込む場合には、メタデータ記憶ノード判定部11は、データ識別子とノード情報記憶部13が記憶しているメタデータ記憶ノード20のノード番号から、該データ識別子に対応するメタデータを記憶することになるメタデータ記憶ノード20を判定する。次に、データ識別子送信部12は、該メタデータ記憶ノード20へオブジェクトデータ、データ識別子、メタデータ、および、アクセス命令を送出する。メタデータ記憶ノード20データ識別子受信部21は、クライアントノード10からオブジェクトデータ、データ識別子、メタデータ、および、アクセス命令を受信する。次に、データ識別子とメタデータをメタデータ記憶部22に記憶する。また、データ識別子とメタデータをノード判定部25へ送出する。ノード判定部25は、データ識別子、メタデータとノード情報記憶部24により記憶しているノード情報から、アルゴリズムAに基づいて、データ識別子、メタデータおよびアクセス命令の送信先のデータ記憶ノード30を選択する。次に、データ識別子送信部26は、選択したデータ記憶ノード30へ、オブジェクトデータ、データ識別子、メタデータおよびアクセス命令を送出する。データ記憶ノード30データ識別子受信部31は、オブジェクトデータ、データ識別子、メタデータ、および、アクセス命令を受信する。次に、データ記憶部32は、オブジェクトデータ、データ識別子およびメタデータを記憶する。本実施形態に係る分散記憶システム40によると、任意に設定した評価軸による評価が近いオブジェクトデータを同一または限定したデータ記憶ノード30に記憶することができる。すなわち、オブジェクトデータのデータ座標、データ記憶ノード30のノード座標から、オブジェクトデータを記憶するデータ記憶ノード30を限定することができる。また、オブジェクトデータのメタデータを記憶するメタデータ記憶ノード20を、データ識別子とデータ記憶ノード30のノード番号から特定することができる。さらに、オブジェクトデータを記憶しているデータ記憶ノード30を、データ識別子、オブジェクトデータのデータ座標、データ記憶ノード30のノード座標およびノード番号から特定することができる。すなわち、オブジェクトデータのデータ識別子から、効率よくオブジェクトデータを記憶するデータ記憶ノード30を特定することができる。また、ノード座標を調整することにより、オブジェクトデータをデータ記憶ノード30にほぼ均等に分布させることもできる。したがって、本実施形態によると、複数ノードを集中的に管理および制御する特定ノードを用いない分散処理環境において、識別子を元にしたデータへの直接アクセスおよびデータの評価による範囲指定による範囲アクセスのいずれも効率よく実現することができ、データの性質に応じてデータを一部のノードに偏らせつつ、すべてのノードにほぼ均等にデータを分散させることができる。なお、本実施形態では、説明の便宜上、クライアントノード10によるメタデータ記憶ノード20の選択、および、選択されたメタデータ記憶ノード20によるデータ記憶ノード30の選択において、いずれの場合にも1つのノードを選択するものとした。しかし、選択するノードの数は1つに制限されない。例えば、メタデータ記憶ノード20またはデータ記憶ノード30がミラー構成を採用する場合には、上述の分散記憶システム40において、ミラー構成を採る複数のノードを選択するようにしてもよい。この場合には、選択されたミラー構成を採る複数のノードのうちのいずれのノードが今回の動作時点におけるプライマリーノードであるかを判断するための情報を、ノード間において共有するようにすればよい。<実施形態2>第1の実施形態の変形例として、第2の実施形態に係る分散記憶システムについて、図面を参照して説明する。図6は、本実施形態に係る分散記憶システム60の構成を示すブロック図である。図6を参照すると、分散記憶システム60は、複数のデータ記憶ノード50を備えている。データ記憶ノード50は、データ識別子受信部51、データ判定部52、データ記憶部53、データ送信部54、メタデータ受信部55、および、メタデータ判定部56を備えている。データ記憶ノード50は、データ識別子受信部51を介して、クライアントノード非図示またはデータ記憶ノード50からデータ識別子を持ったアクセス命令を受け取ると、以下の動作を行う。データ識別子に対応するオブジェクトデータとメタデータを持つ場合には、データ判定部52は、データ識別子に対応するオブジェクトデータとメタデータをデータ記憶部53から読み込み、データ送信部54を介して、オブジェクトデータ、データ識別子およびメタデータを、アクセス命令を出したクライアントノード非図示へ返す。データ識別子に対応するメタデータを持つ場合には、データ判定部52は、データ識別子に対応するメタデータをデータ記憶部53から読み込み、該データ識別子と該メタデータに対応するオブジェクトデータを持つデータ記憶ノード50を判定し、データ送信部54を介して、データ識別子およびアクセス命令を該データ記憶ノード50へ転送する。データ判定部52は、該データ識別子と該メタデータに対応するオブジェクトデータを持つデータ記憶ノード50を判定する際、第1の実施形態におけるノード判定部25が用いるアルゴリズムAを使用する。一方、データ識別子に対応するメタデータを持っていない場合には、データ判定部52は、データ識別子に対応するメタデータを持つデータ記憶ノード50を判定し、データ送信部54を介して、データ識別子およびアクセス命令を該データ記憶ノード50へ転送する。データ判定部52は、該データ識別子に対応するメタデータを持つデータ記憶ノード50を判定する際、第1の実施形態におけるメタデータ記憶ノード判定部11で用いた処理と同様に、多様な処理を採用することができる。データ記憶ノード50は、メタデータ受信部55を介して、クライアントノード非図示からメタデータのみを持ったアクセス命令を受け取ると、以下の動作を行う。メタデータ判定部56は、クライアントノード非図示から受信したメタデータに対応するオブジェクトデータを持つ可能性があるデータ記憶ノード50を選択し、選択したデータ記憶ノード50へメタデータおよびアクセス命令を送出する。メタデータ判定部56は、オブジェクトデータを持つ可能性があるデータ記憶ノード50を選択する際、アルゴリズムBを用いる。このとき、複数のデータ記憶ノード50が選択され得る。データ記憶ノード50は、メタデータ受信部55を介して、他のデータ記憶ノード50からメタデータのみを持ったアクセス命令を受け取ると、以下の動作を行う。メタデータ判定部56は、データ記憶部53から受信したメタデータに対応するオブジェクトデータとデータ識別子を読み込み、データ送信部54を介して、オブジェクトデータ、データ識別子およびメタデータを、アクセス命令を送ったクライアントノード非図示へ返す。また、データ記憶ノード50は、メタデータに対応するオブジェクトデータを記憶していない場合には、クライアントノード非図示へ、オブジェクトデータを持っていないことを返すようにしてもよいし、何らの情報も返さないようにしてもよい。さらに、データ記憶ノード50がメタデータに対応するオブジェクトデータを複数記憶している場合には、クライアントノード非図示へ複数のオブジェクトデータを返す。本実施形態に係る分散記憶システム60によると、任意に設定した評価軸による評価が近いオブジェクトデータを同一または限定したデータ記憶ノード50に記憶することができる。すなわち、オブジェクトデータのデータ座標、データ記憶ノード50のノード座標から、オブジェクトデータを記憶するデータ記憶ノード50を限定することができる。また、オブジェクトデータのメタデータを記憶するデータ記憶ノード50を、データ識別子から特定することができる。さらに、オブジェクトデータを記憶しているデータ記憶ノード50を、オブジェクトデータのデータ識別子およびデータ座標、ならびに、データ記憶ノード50のノード座標およびノード番号から特定することができる。すなわち、オブジェクトデータのデータ識別子から、効率よくオブジェクトデータを記憶するデータ記憶ノード50を特定することができる。また、ノード座標を調整することにより、オブジェクトデータのデータ記憶ノード50への分布を均等に近づけることができる。したがって、本実施形態によると、複数ノードを集中的に管理および制御する特定ノードを用いない分散処理環境において、データの識別子を元にしたデータへの直接アクセスおよびデータの評価による範囲指定による範囲アクセスのいずれも効率よく実現することができ、データの性質に応じてデータを一部のノードに偏らせつつ、すべてのノードにほぼ均等にデータを分散させることができる。第1の実施形態に係る分散記憶システム40を、具体的な実施例に即して説明する。本実施例では、分散記憶システム40を、多数の人名を身長および体重情報を元に分散して記憶する場合に適用する。本実施例に係る分散記憶システム40は、クライアントノード10からアクセスする分散記憶システムである。多数の人を対象として、人名をオブジェクトデータとして記憶する。また、データ識別子として人の管理番号を使用し、メタデータのデータ座標として、身長および体重をそれぞれ評価した数値を使用する。メタデータ記憶ノード20は、データ識別子を元に分散してデータ識別子およびメタデータを記憶する。また、データ記憶ノード30は、メタデータを元に偏よらせつつ、オブジェクトデータ、データ識別子およびメタデータを分散記憶する。まず、人の管理番号を元に、人名を得る方法について説明する。クライアントノード10のメタデータ記憶ノード判定部11は、アクセスする人の管理番号に対応する身長および体重をそれぞれ評価した数値の組み合わせを記憶しているメタデータ記憶ノード20を判定する。次に、データ識別子送信部12は、該メタデータ記憶ノード20へ人の管理番号とアクセス命令を送出する。メタデータ記憶ノード20のデータ識別子受信部21は、人の管理番号およびアクセス命令を受信する。次に、メタデータ判定部23は、メタデータ記憶部22に記録されている人の管理番号と身長および体重をそれぞれ評価した数値の組み合わせから、受信した人の管理番号に対応する、身長および体重をそれぞれ評価した数値の組み合わせを取得する。次に、ノード判定部25は、人の管理番号、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、ノード情報記憶部24に記録されているノード座標およびノード番号から、人名を記憶しているデータ記憶ノード30を判定する。次に、データ識別子送信部26は、人名を記憶していると判定されたデータ記憶ノード30へ管理番号およびアクセス命令を送出する。データ記憶ノード30のデータ識別子受信部31は、管理番号を受信する。次に、データ判定部33は、受信した管理番号に対応する、データ記憶部32で記憶している管理番号、身長および体重をそれぞれ評価した数値との組み合わせ、ならびに、人名を取得する。次に、データ送信部34は、管理番号、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、人名をクライアントへ送信する。次に、身長および体重をそれぞれ評価した数値の組み合わせを元に、人名を取得する方法について説明する。クライアントノード10のデータ記憶ノード判定部14は、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、ノード情報記憶部13が記憶しているノード座標から、該身長および体重をそれぞれ評価した数値の組み合わせに対応する人名を保存しているデータ記憶ノード30の候補を取得する。次に、メタデータ送信部15は、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、アクセス命令を該データ記憶ノード30へ送出する。データ記憶ノード30のメタデータ受信部35は、身長および体重をそれぞれ評価した数値の組み合わせとアクセス命令を受信する。次に、メタデータ判定部36は、受信した身長および体重をそれぞれ評価した数値の組み合わせに対応する、データ記憶部32に記録された管理番号、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、人名を取得する。次に、データ送信部34は、管理番号、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、人名をクライアントへ送信する。本実施例において、クライアントノード10は、アクセスしたい人の管理番号を用いることにより、該管理番号に対応する身長および体重をそれぞれ評価した数値の組み合わせを記憶していているメタデータ記憶ノード20へダイレクトにアクセスすることができる。また、メタデータ記憶ノード20は、アクセスしたい人の管理番号、ならびに、該管理番号に対応する身長および体重をそれぞれ評価した数値の組み合わせを用いることにより該管理番号に対応する人名を記憶しているデータ記憶ノード30へダイレクトにアクセスすることができる。さらに、クライアントノード10は、アクセスしたい身長および体重をそれぞれ評価した数値の組み合わせを用いることにより、該身長および体重をそれぞれ評価した数値の組み合わせに対応する管理番号と人名を記憶している可能性があるデータ記憶ノード30を限定することができ、該データ記憶ノード30へダイレクトにアクセスすることができる。また、ノード座標を適切に調整することにより、各データ記憶ノード30が記憶する管理番号、身長および体重をそれぞれ評価した数値の組み合わせ、ならびに、人名の個数の分布を均等に近づけることができる。ハードウェア構成例第1の実施形態に係る分散記憶システム40、および、第2の実施形態に係る分散記憶システム60の各部は、ソフトウェアプログラムのモジュールとして実現し得る。図7を参照して、この場合におけるハードウェア構成について説明する。図7は、分散記憶システム40、60、または、分散記憶システムを構成するノードを実現するハードウェアの構成を一例として示すブロック図である。すなわち、図7は、図2、図3および図4に示した分散記憶システム40、または、図6に示した分散記憶システム60の全部または一部のノードを実現するコンピュータの構成を示す。図7に示すハードウェア構成により、分散記憶システム40および分散記憶システム60の各部の機能を実現し得る。図7を参照すると、ハードウェアは、CPUCentralProcessingUnit91、ROMReadOnlyMemory92、RAMRandomAccessMemory93、ハードディスクドライブHDD:HardDiskDrive94、および、外部装置との通信インタフェースI/F:Interface95を備え、これらはバス通信線96を介して接続されている。ここで、図7に示したハードウェアがデータ記憶ノードストレージ30の場合には、HDD94自体が上述の実施形態および実施例におけるデータ記憶ノード30として機能するようにしてもよい。また、上述の実施形態および実施例は、ブロック図図2ないし図4またはフローチャート図5の機能を実現可能なコンピュータプログラムを図7のハードウェアに供給した後、そのコンピュータプログラムを当該ハードウェアのCPU91に読み出して実行することによって達成するようにしてもよい。このとき、供給されたコンピュータプログラムは、読み書き可能なRAM93またはHDD94等の記憶デバイスに格納するようにしてもよい。また、上記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法として、CD-ROM等の各種記録媒体を介して当該装置内にインストールする方法を採用してもよい。また、インターネット等の通信回線を介して外部よりダウンロードする方法を採用してもよい。さらに、このような場合には、本発明は、コンピュータプログラムのコード自体、または、これを記録した記憶媒体として提供することもできる。また、上述の実施形態および実施例では、オブジェクトデータの分散配置に関して、本発明を適応する場合について説明した。しかし、オブジェクトデータのみならず、プログラム等のアルゴリズムの分散実行、または、物理的な実体を持つオブジェクトの分散配置などにも、本発明を適用することができる。本発明によると、複数ノードを集中的に管理および制御する特定ノードを用いない分散記憶環境において、分散記憶を効率よく実現することができる。本発明に係る分散記憶システムは、複数のデータ記憶ノードを備える。このシステムにおいて、前記データ記憶ノードは、接続されている前記複数のデータ記憶ノードの接続情報と、オブジェクトデータの識別子とメタデータに基づいて、前記複数のデータ記憶ノードの中から特定のデータ記憶ノードを選択し、選択した特定のデータ記憶ノードに該オブジェクトデータを記憶する。このとき、該オブジェクトデータのメタデータを元に、前記複数のデータ記憶ノードの中から該オブジェクトデータを記憶する可能性があるデータ記憶ノードを限定することができる。また、本発明に係る分散記憶システムは、クライアントノードと、該クライアントノードに接続された複数のデータ記憶ノードとを備えた分散記憶システムである。ここで、前記クライアントノードは、データ記憶ノードに、オブジェクトデータの識別子または該オブジェクトデータのデータの性質を表す複数の数値化された指標メタデータを持つアクセス命令を送信する手段を有し、前記データ記憶ノードは、該アクセス命令が持つ、オブジェクトデータの識別子と、該オブジェクトデータのデータの性質を表す複数の数値化された指標と、接続されている前記複数のデータ記憶ノードの接続情報と、該データ記憶ノードに設定された複数の数値化された指標に基づいて、前記複数のデータ記憶ノードの中から特定のデータ記憶ノードを選択し、該データ記憶ノードに前記アクセス命令を転送する手段と、該アクセス命令が持つ、オブジェクトデータの識別子と、接続されている前記複数のデータ記憶ノードの接続情報に基づいて、前記複数のデータ記憶ノードの中から特定のデータ記憶ノードを選択し、該データ記憶ノードに前記アクセス命令を転送する手段と、該アクセス命令が持つ、オブジェクトデータのデータの性質を表す複数の数値化された指標と、接続されている前記複数のデータ記憶ノードの接続情報と、該データ記憶ノードに設定された前記複数の数値化された指標に基づいて、前記複数のデータ記憶ノードの中から限定したデータ記憶ノードを選択し、該データ記憶ノードに前記アクセス命令を転送する手段と、前記データ記憶ノードが記憶するオブジェクトデータを読み込み、前記クライアントノードに送信する手段と、を有し、前記データ記憶ノードが記憶するオブジェクトデータを変更することができ、前記データ記憶ノードに設定された前記複数の数値化された指標を予め調整するもしくは変更することにより、前記データ記憶ノードが記憶するオブジェクトデータを変更するようにしてもよい。また、前記クライアントノードは、オブジェクトデータの識別子と、接続されている前記複数のデータ記憶ノードの接続情報と、該データ記憶ノードに設定された前記複数の数値化された指標に基づいて、前記複数のデータ記憶ノードの中から特定のデータ記憶ノードを選択する手段と、該データ記憶ノードに、オブジェクトデータの識別子を持つアクセス命令を送信する手段と、オブジェクトデータのデータの性質を表す複数の数値化された指標と、接続されている前記複数のデータ記憶ノードの接続情報と、該データ記憶ノードに設定された前記複数の数値化された指標に基づいて、前記複数のデータ記憶ノードの中から限定したデータ記憶ノードを選択する手段と、該データ記憶ノードに、オブジェクトデータの識別子を持つアクセス命令を送信する手段と、を有し、前記データ記憶ノードは、該アクセス命令が持つ、オブジェクトデータの識別子と、それに対応するデータの性質を表す複数の数値化された指標と、接続されている前記複数のデータ記憶ノードの接続情報と、該データ記憶ノードに設定された前記複数の数値化された指標に基づいて、前記複数のデータ記憶ノードの中から特定のデータ記憶ノードを選択し、該データ記憶ノードに前記アクセス命令を転送する手段と、前記データ記憶ノードが記憶するオブジェクトデータを読み込み、前記クライアントノードに送信する手段と、を有し、データ記憶ノードが記憶するオブジェクトデータを変更することができ、前記データ記憶ノードに設定された前記複数の数値化された指標を予め調整または変更することにより、前記データ記憶ノードが記憶するオブジェクトデータを変更するようにしてもよい。また、上記の各構成の分散記憶システムに対応する分散処理方法によっても、本発明の効果を奏することができる。さらに、上記の各構成を有する分散記憶システム、並びに対応する装置を、コンピュータによって実現するコンピュータプログラム、および、そのコンピュータプログラムが格納されているコンピュータ読み取り可能な記憶媒体によっても、本発明の効果を奏することができる。本発明の全開示請求の範囲を含むの枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。なお、上記実施形態の一部又は全部は、以下の付記として記載することができるものであるが、これらに限定されるものではない。付記1複数のデータ記憶ノードを備える分散記憶システムであって、複数の指標によって特徴付けられるオブジェクトデータがあり、前記オブジェクトデータの識別子と複数の前記データ記憶ノードの固有の番号などの識別子と重み付け情報から一意に前記オブジェクトデータを記憶する前記データ記憶ノードを決定するアルゴリズムがあるとき、前記オブジェクトデータの各指標の値と前記データ記憶ノードの情報から前記データ記憶ノードの重み付けを算出し、前記オブジェクトデータの識別子と前記データ記憶ノードの識別子と前記データ記憶ノードの重み付けから、前記アルゴリズムを用いて一意に前記オブジェクトデータの前記データ記憶ノードを決定することを特徴とする分散記憶システム。付記2前記アルゴリズムは、前記オブジェクトデータの各指標の値と前記データ記憶ノードの情報から選択する可能性がある前記データ記憶ノードを限定することを特徴とする、付記1に記載の分散記憶システム。付記3前記データ記憶ノードの情報は、前記オブジェクトデータの各指標と1対1で対応する数値であることを特徴とする、付記1または2に記載の分散記憶システム。付記4前記データ記憶ノードの情報は、前記オブジェクトデータの各指標の数値の分布に応じて変化することを特徴とする、付記3に記載の分散記憶システム。付記5前記データ記憶ノードの重み付けは、前記オブジェクトデータの各指標および前記オブジェクトデータの各指標と1対1で対応する前記データ記憶ノードの情報を座標軸とする空間上に、前記オブジェクトデータの各指標の値および前記データ記憶ノードのオブジェクトデータの各指標と1対1で対応する値を空間上の位置として、前記オブジェクトデータおよび前記データ記憶ノードを配置したときの、前記オブジェクトデータと前記データ記憶ノードとの空間的な距離であることを特徴とする、付記3または4に記載の分散記憶システム。付記6前記オブジェクトデータの各指標および前記オブジェクトデータの各指標と1対1で対応するデータ記憶ノードの情報を座標軸とする空間は、座標軸が直交するユークリッド空間であることを特徴とする、付記5に記載の分散記憶システム。付記7前記アルゴリズムは、重み付けと固有の番号を有するデータ記憶ノードと、識別子を有するオブジェクトデータとがある場合に、前記オブジェクトデータの識別子をシードとする疑似乱数発生関数によって疑似乱数を発生し、前記データ記憶ノードの固有の番号と同じ順番に発生した前記乱数を前記データ記憶ノードの乱数とし、前記データ記憶ノードの乱数に前記重み付けを掛けた値を前記データ記憶ノードの重み付き乱数とし、前記データ記憶ノードの重み付き乱数が最も大きい前記データ記憶ノードを、前記オブジェクトデータを記憶するノードとすることを特徴とする、付記1ないし6のいずれか1に記載の分散記憶システム。付記8複数のアルゴリズム実行手段を備える分散実行システムであって、複数の指標によって特徴付けられるアルゴリズムがあり、前記アルゴリズムの識別子と複数の前記アルゴリズム実行手段の固有の番号などの識別子と重み付け情報から一意に前記アルゴリズムを実行する前記アルゴリズム実行手段を決定する実行手段決定アルゴリズムがあるとき、前記アルゴリズムの各指標の値と前記アルゴリズム実行手段の情報から前記アルゴリズム実行手段の重み付けを算出し、前記アルゴリズムの識別子と前記アルゴリズム実行手段の識別子と前記アルゴリズム実行手段の重み付けから前記実行手段決定アルゴリズムを用い一意に前記アルゴリズムを実行する前記アルゴリズム実行手段を決定する、ことを特徴とするアルゴリズム実行手段決定方法。付記9複数の物理的な実体を持つデータ記憶ノードを備える分散保管システムであって、複数の指標によって特徴付けられる物理的な実体を持つオブジェクトがあり、前記物理的な実体を持つオブジェクトの識別子と複数の物理的な実体を持つデータ記憶ノードの固有の番号などの識別子と重み付け情報から一意に前記物理的な実体を持つオブジェクトを保管する前記物理的な実体を持つデータ記憶ノードを決定するアルゴリズムがあるとき、前記物理的な実体を持つオブジェクトの各指標の値と前記物理的な実体を持つデータ記憶ノードの情報から前記物理的な実体を持つデータ記憶ノードの重み付けを算出し、前記物理的な実体を持つオブジェクトの識別子と前記物理的な実体を持つデータ記憶ノードの識別子と前記物理的な実体を持つデータ記憶ノードの重み付けから前記アルゴリズムを用い一意に前記物理的な実体を持つオブジェクトの前記物理的な実体を持つデータ記憶ノードを決定することを特徴とする、物理的な実体を持つデータ記憶ノード決定方法。