(57)【特許請求の範囲】
【請求項１】
オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定する決定手段と、
前記配置先が追加されるのに応じて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先に付与される前記設定値を、当該配置先に新たに配置できる前記オブジェクトの量を表す空き容量と、当該配置先よりも前に追加された前記配置先の各々の前記空き容量とに基づいて更新する変更手段と、
を備える配置装置。
【請求項２】
前記変更手段は、前記配置先の各々について、当該配置先である対象配置先に新たに配置することができる前記オブジェクトの量を表す空き容量と、前記対象配置先より後に追加された前記配置先を除く前記配置先の各々の前記空き容量の和と、に応じて前記設定値を導出し、前記対象配置先に付与されている前記設定値を、導出した前記設定値に変更する、
請求項１に記載の配置装置。
【請求項３】
前記変更手段は、前記配置先に付与される前記設定値が、前記配置先の前記空き容量が大きいほど大きくなり、かつ、前記設定値が、前記対象配置先より前に追加された前記配置先の前記空き容量の和が大きいほど小さくなるように、前記対象配置先に割り当てられる前記設定値を導出する
請求項２に記載の配置装置。
【請求項４】
前記変更手段は、前記配置先の各々について、配置先情報記憶手段に格納されている前記配置先の前記設定値の最大値より、導出した前記設定値が大きい場合、当該設定値を、前記配置先の前記設定値の最大値として、前記配置先情報記憶手段に格納し、
前記配置装置は、さらに、
前記オブジェクト情報を受信するのに応じて、当該オブジェクト情報に基づいて算出された前記特性値が前記設定値の最大値より小さい全ての前記配置先を、前記オブジェクト情報が付与されている前記オブジェクトが配置されている配置先の候補として特定する推定手段
を備える請求項２又は３に記載の配置装置。
【請求項５】
前記推定手段は、さらに、推定された前記配置先の候補に含まれ、前記オブジェクトが配置されている前記配置先の中で、追加された順番が最も後である前記配置先を特定し、
前記配置装置は、特定された前記配置先から、前記オブジェクトを取り出す取り出し手段をさらに備える
請求項４に記載の配置装置。
【請求項６】
前記決定手段は、異なる複数の前記オブジェクト情報から導出される複数の前記特性値が、あらかじめ定められた最大値及び最小値との間に、一様又はほぼ一様に分布するように、前記オブジェクトに付与されている前記オブジェクト情報に基づいて前記特性値を導出し、
前記変更手段は、前記配置先の各々について、当該配置先の前記設定値と前記最小値との差の、前記最大値と前記最小値の差に対する割合が、当該配置先の前記空き容量の、前記配置先が追加された際における前記配置先の各々の前記空き容量の和に対する割合になるように、前記配置先に付与する前記設定値を導出する
請求項２乃至５のいずれかに記載の配置装置。
【請求項７】
前記オブジェクトが配置される前記配置先として決定された前記配置先に、前記オブジェクトを配置する配置手段
をさらに備える請求項１乃至６のいずれかに記載の配置装置。
【請求項８】
前記配置先の各々と、請求項１乃至７のいずれかに記載の配置装置とを含む配置システム。
【請求項９】
オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定し、
前記配置先が追加されるのに応じて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先に付与される前記設定値を、当該配置先に新たに配置できる前記オブジェクトの量を表す空き容量と、当該配置先よりも前に追加された前記配置先の各々の前記空き容量とに基づいて更新する、
配置方法。
【請求項１０】
コンピュータに、
オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定する決定処理と、
前記配置先が追加されるのに応じて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先に付与される前記設定値を、当該配置先に新たに配置できる前記オブジェクトの量を表す空き容量と、当該配置先よりも前に追加された前記配置先の各々の前記空き容量とに基づいて更新する変更処理と、
を実行させる配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの配置先を決定する技術に関する。
【背景技術】
【０００２】
複数の配置先のいずれかに配置されたオブジェクトを取り出すためには、オブジェクトが配置された配置先を特定する必要がある。オブジェクトが配置される配置先は、例えば、記憶装置、記憶媒体、場所、あるいは物理的な位置などである。例えば、オブジェクトと、そのオブジェクトが配置されている配置先との関連（関連性）を記憶しておくことによって、オブジェクトが配置された配置先を特定することができる。オブジェクトが配置された配置先を高速に特定できない場合、オブジェクトに高速にアクセスすることは難しい。オブジェクトとそのオブジェクトが配置されている配置先との関連をすべて記憶する場合、オブジェクトの数の増加に伴って、オブジェクトと配置先との関連を記憶するのに必要な記憶容量も増加する。膨大な数のオブジェクトが配置される場合、膨大な数の関連を記憶する必要がある。さらに、記憶されている膨大な数の関連を、消失しないよう維持する必要がある。膨大な数の関連を記憶するためには、膨大な数の関連を格納する記憶装置のコストが必要である。記憶されている膨大な数の関連を、消失しないように維持するためには、さらにコストが必要である。【０００３】
オブジェクトとそのオブジェクトの配置先との関係を記憶することなく、オブジェクトが配置される配置先を特定する方法として、例えば、オブジェクトの識別子などに基づき、オブジェクトの配置先を一意に決定する方法がある。【０００４】
そのような技術が使用される装置の例が、例えば、特許文献１において開示されている。特許文献１の装置は、オブジェクトの識別子をシードとして疑似乱数を発生させる。その疑似乱数は、シードに対して一意に定まる。また、その疑似乱数の発生確率は、その疑似乱数の値域において一様である。特許文献１の装置は、値の範囲と配置先との関連が記録される表に基づき、発生した疑似乱数が含まれる値の範囲に関連する配置先を、そのオブジェクトの配置先として決定する。特許文献１の装置は、配置先に関連する値の範囲に含まれる疑似乱数が発生するまで、疑似乱数の発生を繰り返す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１２／０２３３８４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術では、配置先に関連付けられた値の範囲に入る疑似乱数が発生しない限り、配置先は決まらない。その場合、特許文献１の装置は、発生した疑似乱数が、配置先に関連付けられた値の範囲に入るまで、例えば、所定の方法に従ったシードの更新と更新されたシードを使用した疑似乱数の発生とを繰り返す。従って、特許文献１の装置が配置先を決定するのに必要な時間は定まらない。特許文献１の装置が配置先を決定する時間は、偶然によって伸びる可能性がある。さらに、特許文献１の装置は、規則に従って決定される、オブジェクトが配置される配置先が、配置先の追加によって変化した場合、オブジェクトの再配置を行う。【０００７】
本発明の目的の一つは、規則に従って決定される、オブジェクトが配置される配置先が、配置先の追加によって変化する場合における、オブジェクトの配置に係る処理コストを低減できる配置装置等を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る配置装置は、オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定する決定手段と、前記配置先が追加されるのに応じて、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する変更手段と、を備える。【０００９】
本発明の一態様に係る配置方法は、オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定し、前記配置先が追加されるのに応じて、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する。【００１０】
本発明の一態様に係る配置プログラムは、コンピュータを、オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定する決定手段と、前記配置先が追加されるのに応じて、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する変更手段と、して動作させる。本発明は、上述の配置プログラムを記憶する記録媒体によっても実現される。
【発明の効果】
【００１１】
本発明には、規則に従って決定される、オブジェクトが配置される配置先が、配置先の追加によって変化する場合における、オブジェクトの配置に係る処理コストを低減できるという効果がある。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の第１の実施形態に係る配置システム１０の構成を示すブロック図である。
【図２】図２は、第１の実施形態の配置装置１００の、配置先が追加される場合における動作の例を表すフローチャートである。
【図３】図３は、第１の実施形態の配置装置１００の、設定値導出処理の動作の例を表すフローチャートである。
【図４】図４は、第１の実施形態の配置先情報記憶部１０３に格納されている順番などの例を模式的に表す図である。
【図５】図５は、第１の実施形態の配置装置１００の、オブジェクトが配置される配置先を決定する動作の例を表すフローチャートである。
【図６】図６は、パラメータと特性値の例を模式的に表す図である。
【図７】図７は、第１の実施形態の、決定部１０１による決定の結果などを模式的に表す図である。
【図８】図８は、第１の実施形態の配置装置１００の、オブジェクトが配置されている配置先の候補を推定する動作の例を表すフローチャートである。
【図９】図９は、第１の実施形態の変形例の配置システム１０Ａの構成の例を表すブロック図である。
【図１０】図１０は、本発明の第２の実施形態の配置装置１００Ｂの構成の例を表す図である。
【図１１】図１１は、本発明の各実施形態に係る、配置装置及び配置実行装置を実現することができる、コンピュータ１０００のハードウェア構成の一例を表す図である。
【発明を実施するための形態】
【００１３】
次に、本発明を模範的に実施する形態について図面を参照して詳細に説明する。なお、以下に説明する実施形態は、請求の範囲に係る発明を限定しない。また実施形態の中で説明されている構成の組み合わせの全てが、発明の構成に必須であるとは限らない。
【００１４】
＜第１の実施形態＞
まず、本発明の第１の実施形態の配置システム１０について、図面を参照して詳細に説明する。
【００１５】
図１は、本実施形態に係る配置システム１０の構成を示すブロック図である。図１を参照すると、本実施形態の配置システム１０は、配置装置１００と、１つ以上のサーバ（サーバ３０１〜サーバ３０Ｎ）とを含む。サーバ３０１〜サーバ３０Ｎは、図１において、サーバアレイ３００と表記されている。配置装置１００と各サーバとは、互いに通信可能に接続されている。以下の説明において、各サーバは、配置先とも表記される。すなわち、サーバ３０１〜サーバ３０Ｎは、それぞれ、配置先３０１〜配置先３０Ｎとも表記される。配置装置１００は、さらに、指示装置４００と通信可能に接続されている。
【００１６】
各配置先（すなわち、配置先３０１〜配置先３０Ｎの各々）は、例えば、オブジェクトを配置することができる記憶領域を含む。各配置先は、後述される配置要求に応じて、オブジェクトを記憶領域に記憶する。各配置先は、後述される取り出し要求に応じて、記憶領域に格納されているオブジェクトを取り出す。そして、各配置先は、取り出したオブジェクトを取り出し要求の送信元に送る。
【００１７】
オブジェクトは、例えば、ひとまとまりのデータ（データセット）である。オブジェクトには、オブジェクト情報が付与されている。オブジェクト情報は、例えば、オブジェクトの識別子である。オブジェクト情報は、オブジェクトの例えば性質などを表す属性を含んでいてもよい。オブジェクト情報は、オブジェクトの識別子を含んでいてもよい。オブジェクト情報は、オブジェクトに固有な情報であればよい。
【００１８】
なお、本発明の各実施形態では、同一のオブジェクトとして扱われるオブジェクトには、オブジェクトの中身が更新されても、同一のオブジェクト情報が付与される。また、異なるオブジェクトとして扱われるオブジェクトには、異なるオブジェクト情報が付与される。さらに、１つの配置先に同一のオブジェクトとして扱われるオブジェクトが複数回配置される場合、その配置先に配置されているそのオブジェクトは、最も後に配置されたオブジェクトに置き換えられる。
【００１９】
本実施形態では、配置先は、例えば、配置システム１０の管理者の操作によって、増加し得る。配置先の増加は、例えば、配置先を１つずつ追加することによって行われる。また、配置先の増加は、例えば、最後に追加された配置先の記憶領域を増加させることによっても行われる。最後に追加された配置先以外の配置先の記憶領域は、増加しない。本発明の各実施形態では、「配置先を追加すること」は、配置先の数を増加させること、及び、最後に追加された配置先の空き容量を増加させることの少なくともいずれかを表す。配置先の空き容量は、その配置先に新たに配置することができるオブジェクトの量を表す値である。オブジェクトの量は、例えば、オブジェクトのサイズが同じである場合、オブジェクトの数によって表されていてもよい。オブジェクトの量は、オブジェクトのサイズによって表されていてもよい。
【００２０】
指示装置４００は、配置装置１００に、オブジェクトを配置先のいずれかに配置する要求である配置要求を送信する。配置要求は、例えば、あらかじめ定められた信号である。指示装置４００は、例えば、配置要求に加えて、その配置要求によって配置を要求するオブジェクトを、配置装置１００に送信すればよい。指示装置４００は、配置要求として、オブジェクトを、配置装置１００に送信してもよい。すなわち、指示装置４００は、オブジェクトを配置装置１００に送信することによって、そのオブジェクトの配置を要求してもよい。
【００２１】
指示装置４００は、配置装置１００に、さらに、配置先のいずれかに配置されているオブジェクトを取り出す要求である取り出し要求を送信する。取り出し要求は、例えば、あらかじめ定められた信号である。指示装置４００は、例えば、取り出し要求に加えて、その取り出し要求によって取り出しを要求するオブジェクトの識別子及びオブジェクト情報を、配置装置１００に送信すればよい。指示装置４００は、取り出し要求として、取り出しを要求するオブジェクトの識別子及びオブジェクト情報を、配置装置１００に送信してもよい。すなわち、指示装置４００は、オブジェクトの識別子及びオブジェクト情報を送信することによって、そのオブジェクトの取り出しを要求してもよい。さらに、オブジェクト情報がオブジェクトの識別子である場合、指示装置４００は、オブジェクトの識別子を送信することによって、オブジェクトの取り出しを要求すればよい。
【００２２】
配置装置１００は、決定部１０１と、変更部１０２と、配置先情報記憶部１０３と、推定部１０４と、要求処理部１０５と、配置部１０６と、検出部１０７と、取り出し部１０８とを含む。図１に示す例では、配置装置１００に含まれる配置決定部１１０が、決定部１０１と、変更部１０２と、配置先情報記憶部１０３と、推定部１０４とを含む。
【００２３】
要求処理部１０５は、前述の、配置要求と、取り出し要求とを、指示装置４００から受信する。配置要求を受信した場合、要求処理部１０５は、受信したオブジェクトを配置する配置先を決定する指示である配置先決定指示と、受信したオブジェクトのオブジェクト情報とを、配置決定部１１０に送信する。配置決定部１１０に含まれる決定部１０１が、送信された配置先決定指示とオブジェクトのオブジェクト情報とを受信する。決定部１０１は、受信したオブジェクト情報と、配置先決定指示を受信した際の配置先とに対して一意に、配置先を決定する。決定部１０１については、後で詳細に説明する。
【００２４】
配置部１０６は、配置指示によって配置を指示されたオブジェクトを、決定部１０１によって決定された配置先に配置する。配置部１０６は、配置指示と、決定部１０１によって決定された配置先の識別子と、配置先に配置するオブジェクトとを、決定部１０１から受け取ればよい。オブジェクトの配置が行われた場合、配置部１０６は、オブジェクトの配置が成功したことを表す応答を、要求処理部１０５を介して、指示装置４００に送信してもよい。
【００２５】
要求処理部１０５が取り出し要求を受信した場合、要求処理部１０５は、配置先推定指示と、受信したオブジェクト情報とを、配置決定部１１０に送信する。配置先推定指示は、受信したオブジェクト情報が付与されているオブジェクトが配置されている配置先の候補を推定する指示である。配置決定部１１０に含まれる推定部１０４が、送信された配置先推定指示とオブジェクト情報とを受信する。推定部１０４は、受信したオブジェクト情報と、配置先が追加された順番とに基づいて、そのオブジェクト情報が付与されているオブジェクトが配置されている可能性がある配置先である、配置先の候補を推定する。推定部１０４は、さらに、配置先の候補に含まれる配置先のうち、受信したオブジェクト情報が付与されているオブジェクトが配置されている配置先を特定してもよい。推定部１０４は、さらに、受信したオブジェクト情報が付与されているオブジェクトが配置されている配置先の中で、追加された順番が最も後である配置先を特定してもよい。推定部１０４については、後で詳細に説明する。推定部１０４は、特定した配置先の識別子を、例えば要求処理部１０５を介して、取り出し部１０８に送信してもよい。推定部１０４は、特定された配置先の識別子とオブジェクトの識別子と取り出し要求とを、取り出し部１０８に送信してもよい。推定部１０４は、推定した配置先の候補を表すデータ値を、例えば要求処理部１０５を介して、取り出し部１０８に送信してもよい。推定部１０４は、推定された配置先の候補を表すデータ値とオブジェクトの識別子と取り出し要求とを、取り出し部１０８に送信してもよい。
【００２６】
取り出し部１０８は、推定部１０４によって特定された、受信したオブジェクト情報が付与されているオブジェクトが配置されている配置先の識別子を受信した場合、その配置先にオブジェクトの取り出しを要求すればよい。あるいは、取り出し部１０８は、推定部１０４によって配置先の候補として推定された配置先の各々に対して、オブジェクトの取り出しを要求してもよい。取り出し部１０８は、例えば、配置先の候補として推定された配置先のうち、追加の順番が最も後である配置先から順に、追加の順番に関して降順で、配置先を選択すればよい。そして、取り出し部１０８は、選択された配置先に、取り出しが要求されたオブジェクトの識別子と、その識別子によって特定されるオブジェクトの取り出し要求を送信すればよい。オブジェクトの識別子と取り出し要求とを受信した配置先は、その配置先に、受信した識別子によって特定されるオブジェクトが配置されているか否かを判定すればよい。受信した識別子によって特定されるオブジェクトが配置されている配置先は、そのオブジェクトを取り出し部１０８に送ればよい。受信した識別子によって特定されるオブジェクトが配置されていない配置先は、オブジェクトが配置されていないことを表す応答を、取り出し部１０８に送信すればよい。取り出し部１０８は、配置先からオブジェクトを受け取った場合、そのオブジェクトを、例えば要求処理部１０５を介して、指示装置４００に送ればよい。
【００２７】
取り出し部１０８は、配置先の候補の各々に、オブジェクトの識別子と、オブジェクトの有無を確認する要求とを送信してもよい。その場合、配置先は、受信した識別子によって特定されるオブジェクトが配置されているか否かを確認する処理を行えばよい。そして、配置先は、オブジェクトが配置されているか否かを表す応答を、取り出し部１０８に送信すればよい。取り出し部１０８は、オブジェクトが配置されていることを表す応答を送信した配置先に対して、オブジェクトの識別子と取り出し要求とを送信すればよい。
【００２８】
指示装置４００は、いずれかの配置先にオブジェクトを、その配置先から削除する削除要求を、配置装置１００に送信してもよい。その場合、指示装置４００は、例えば、削除するオブジェクトの識別子とオブジェクト情報と削除要求とを要求処理部１０５に送信する。その場合、要求処理部１０５及び取り出し部１０８は、取り出し要求を受信した場合と同様に動作する。ただし、この場合、配置先に送信される要求は削除要求である。また、識別子によって特定されるオブジェクトは、そのオブジェクトが配置されている配置先によって削除される。
【００２９】
検出部１０７は、配置先として動作するサーバを特定する。そして、検出部１０７は、特定された配置先の各々から、その配置先の空き容量を取得する。検出部１０７は、さらに、配置先の追加を検出する。すなわち、検出部１０７は、配置先の数の増加及び最後に追加された配置先の記憶領域の増加を検出する。検出部１０７は、例えば、新たに追加されたことが検出された配置先の識別子を、配置決定部１１０に含まれる変更部１０２に送信すればよい。検出部１０７は、例えば、新たに追加されたことが検出された配置先の識別子を、各配置先の追加された順番を特定することができるように、配置先情報記憶部１０３に格納してもよい。検出部１０７は、取得した、配置先の各々の空き容量を表す情報を、変更部１０２に送信する。検出部１０７は、取得した、配置先の各々の空き容量を表す情報を、配置先情報記憶部１０３に格納してもよい。なお、本発明の各実施形態の説明において、空き容量を表す情報を、単に、空き容量とも表記する。例えば、「空き容量を取得する」は、空き容量を表す情報を取得することを表す。
【００３０】
次に、配置決定部１１０に含まれる、決定部１０１と、変更部１０２と、配置先情報記憶部１０３と、推定部１０４とについて説明する。
【００３１】
決定部１０１は、例えば、配置先決定指示及びオブジェクト情報を受信するのに応じて、オブジェクトが配置されうる１つ以上の配置先のうち、オブジェクトが配置される配置先を決定する。決定部１０１は、例えば、配置先の各々の空き容量に応じて、上述の１つ以上の配置先の組み合わせと、オブジェクトに付与されているオブジェクト情報とに基づいて、オブジェクトが配置される配置先を一意に決定する規則に従って定まる配置先を特定する。規則は、例えば、そのオブジェクト情報を、前述の一つ以上の配置先のいずれかに結びつける、オブジェクトを使用して行う処理の手順である。決定部１０１は、決定された配置先を、オブジェクトが配置される配置先に決定する。
【００３２】
具体的には、決定部１０１は、まず、配置先の各々について、オブジェクトに付与されているオブジェクト情報と配置先とに基づいて一意に定まる値である特性値を算出する。決定部１０１は、オブジェクトに付与されているオブジェクト情報と配置先とに基づいて一意に定まる特性値を、その配置先に関連付ける。
【００３３】
決定部１０１が導出する特性値は、例えば、あり得るさまざまなオブジェクト情報に対して、特性値の下限値と上限値の間で、一様又はほぼ一様に分布する値であればよい。特性値は、例えば、オブジェクト情報及びサーバ番号を連結したデータのハッシュである。その場合、決定部１０１は、ハッシュを生成させる、所定のハッシュ関数を使用して、オブジェクト情報及びサーバ番号を連結したデータのハッシュを導出すればよい。なお、サーバ番号は、配置先に付与されている、配置先に固有の番号である。サーバ番号は、例えば、配置先が配置システム１０に追加された順番を表していてもよい。サーバ番号は、配置先の識別子であってもよい。以下の説明において、サーバ番号は、配置先番号とも表記される。
【００３４】
特性値は、例えば、オブジェクト情報をシード値として使用することによって導出される疑似乱数の値であってもよい。その場合、決定部１０１は、オブジェクト情報をシード値として使用して、疑似乱数を発生させる、所定の疑似乱数生成関数を初期化すればよい。疑似乱数生成関数は、同じシードを使用して初期化された場合、同一の疑似乱数列を生成する関数であればよい。そして、決定部１０１は、その疑似乱数生成関数を使用して、疑似乱数を発生させればよい。その場合、決定部１０１は、例えば、配置先の数と同じ数の疑似乱数を発生させればよい。そして、決定部１０１は、例えば、配置先が追加された順番で、発生させた疑似乱数を、特性値として、配置先に関連付ければよい。オブジェクトがどの配置先にも配置されていない初期状態において、配置先が存在する場合、初期状態において存在する配置先にも、あらかじめ、追加された順番が定められていればよい。初期状態において、複数の配置先が存在する場合、それらの複数の配置先の各々にも、あらかじめ、異なる追加された順番が定められていればよい。
【００３５】
また、各配置先には、変更部１０２によって配置先の空き容量に基づいて導出された値である、パラメータが付与されている。各配置先のパラメータは、例えば、配置先情報記憶部１０３に格納されている。以下の説明において、パラメータは、「設定値」とも表記される。変更部１０２によるパラメータの導出については、後で詳細に説明する。
【００３６】
決定部１０１は、オブジェクト情報に基づいて導出された特性値が、付与されているパラメータより小さい配置先の中で、最も後に追加された配置先を、そのオブジェクト情報が付与されているオブジェクトが配置される配置先に決定する。決定部１０１は、決定した配置先の識別子を、配置部１０６に送信する。前述の規則は、例えば、付与されている設定値が、オブジェクトに付与されているオブジェクト情報に基づいて一意に導出された特性値より大きい、最も後に追加された配置先を、そのオブジェクトが配置される配置先に決定することである。その規則は、各配置先に付与されている設定値によって具体的に定まる。後で詳しく説明されるように、変更部１０２による規則の変更は、配置先に空き容量に応じて、設定値を変更することによって行われる。
【００３７】
変更部１０２は、例えば、配置先が追加されるのに応じて、配置先を決定する規則を変更する。変更部１０２は、検出手段１０７によって配置先の追加が検出されるのに応じて、配置先を決定する規則を変更すればよい。変更部１０２は、いずれかのオブジェクトが配置されるたびに、配置先を決定する規則を変更してもよい。変更部１０２は、いずれかのオブジェクトが配置先から削除されるたびに、配置先を決定する規則を変更してもよい。変更部１０２は、規則に従って決定される、あるオブジェクトが配置される配置先が、その規則の変更によって、最後に追加された配置先以外の配置先に変化しないように、その規則の変更を行う。規則の変更は、具体的には、例えば、少なくともいずれかの配置先に付与されている設定値の変更である。
【００３８】
以下では、変更部１０２について、さらに詳しく説明する。
【００３９】
配置システム１０が動作を開始した際、変更部１０２は、まず、配置システム１０が動作を開始した時点において存在する配置先の各々の空き容量を、例えば検出部１０７から受信する。変更部１０２は、各配置先の、新たに配置することができるオブジェクトの量を表す空き容量に基づいて、各配置先に付与するパラメータを算出する。具体的には、変更部１０２は、配置先から、順次、１つの配置先を選択する。変更部１０２は、選択された配置先の空き容量と、選択された配置先の空き容量と選択された配置先より前に追加された配置先の空き容量との和とに基づいて、パラメータを算出する。変更部１０２は、パラメータの下限値が上述の特性値の下限値と同じであり、特性値の上限値がパラメータの上限値未満になるように、パラメータを算出する。パラメータの上限値は、例えば、特性値の上限値より大きい値のうち、変更部１０２が扱える最も小さい値であればよい。変更部１０２は、算出したパラメータを、選択した配置先に付与する。変更部１０２は、算出した値を、選択した配置先に関連付けられているパラメータとして、配置先情報記憶部１０３に格納すればよい。変更部１０２は、さらに、そのパラメータを、選択した配置先に関連付けられているパラメータの最大値として、配置先情報記憶部１０３に格納すればよい。変更部１０２は、全ての配置先に付与されるパラメータが算出されるまで、配置先の選択とパラメータの算出を続ける。
【００４０】
パラメータの値は、選択された配置先の空き容量が大きいほど大きい値であればよい。さらに、パラメータの値は、選択された配置先の空き容量と選択された配置先より前に追加された配置先の空き容量との和が大きいほど、小さい値であればよい。特性値が取りうる値の範囲が０以上１未満であれば、パラメータは、選択された配置先の空き容量を、選択された配置先の空き容量と選択された配置先より前に追加された配置先の空き容量との和で割った値であればよい。以下の説明において、選択された配置先の空き容量を、選択された配置先の空き容量と選択された配置先より前に追加された配置先の空き容量との和で割った値を、正規パラメータと表記する。特性値が取りうる値の上限値及び下限値が１及び０でない場合、変更部１０２は、正規パラメータに、前述の上限値と下限値との差を掛けた値を算出すればよい。変更部１０２は、算出された値に、さらに、下限値を足した値を、パラメータとして算出すればよい。
【００４１】
変更部１０２は、さらに、あらかじめ定められたイベントが発生した場合、同様に、各配置先のパラメータを算出する。イベントは、例えば、配置先の追加である。イベントは、オブジェクトが配置されることであってもよい。イベントは、オブジェクトが削除されることであってもよい。イベントは、他のイベントであってもよい。イベントは、複数のイベントの組み合わせであってもよい。変更部１０２は、さらに、あらかじめ定められた複数のイベントのいずれかが発生した場合に、同様に、各配置先のパラメータを算出してもよい。変更部１０２は、配置先情報記憶部１０３に格納されている、各配置先のパラメータとパラメータの最大値とを更新する。すなわち、変更部１０２は、配置先の各々について、配置先情報記憶部１０３に格納されている、その配置先に関連するパラメータを、例えばイベントの発生に応じて算出した、その配置先のパラメータによって置き換える。さらに、変更部１０２は、配置先の各々について、その配置先に関連するパラメータの最大値より、算出した、その配置先のパラメータが大きい場合、そのパラメータの最大値を、算出したパラメータによって置き換える。
【００４２】
配置先情報記憶部１０３は、配置先毎に、パラメータを記憶する。配置先情報記憶部１０３は、各配置先の、追加された順番を特定できる情報を記憶する。配置先情報記憶部１０３は、各配置先の空き容量を記憶していてもよい。配置先情報記憶部１０３は、さらに、配置先毎に、パラメータの最大値を記憶する。
【００４３】
推定部１０４は、例えば、配置先推定指示及びオブジェクト情報を受信するのに応じて、そのオブジェクト情報が付与されたオブジェクトが格納されている可能性がある配置先の候補を、例えば以下のように、推定する。
【００４４】
推定部１０４は、まず、決定部１０１と同じ方法に従って、受信したオブジェクト情報に基づいて特性値を算出する。すなわち、推定部１０４が、オブジェクト情報と配置先との組み合わせに対して算出する特性値は、決定部１０１が、同じオブジェクト情報と配置先との組み合わせに対して算出する特性値と同じである。上述のように、決定部１０１は、例えば、オブジェクト情報及びサーバ番号を連結したデータのハッシュを、特性値として算出する。その場合、推定部１０４は、例えば、配置先の各々について、受信したオブジェクト情報とその配置先のサーバ番号を連結したデータのハッシュを、その特性値として算出する。上述のように、決定部１０１は、例えば、オブジェクト情報をシードとして使用して初期化した疑似乱数発生関数によって発生させた疑似乱数を、追加された順番で、特性値として配置先に割り当ててもよい。その場合、推定部１０４は、オブジェクト情報をシードとして使用して初期化された、同じ疑似乱数発生関数を使用して発生させた疑似乱数を、同様に追加された順番で、各配置先に特性値として割り当てればよい。
【００４５】
上述のように、特性値は、オブジェクト情報と配置先とに基づいて、一意に定まる値である。すなわち、決定部１０１及び推定部１０４は、オブジェクト情報及び配置先の組み合わせが同じであれば、常に同じ特性値を算出する。上述のように、決定部１０１は、関連付けられているパラメータが特性値より大きい、最も後に追加された配置先を、オブジェクトが配置される配置に決定する。従って、オブジェクトに付与されているオブジェクトと配置先とに基づいて算出された特性値が、その配置先に関連付けられているパラメータの最大値より小さい場合、そのオブジェクトは、その配置先に配置されている可能性がある。推定部１０４は、算出した特性値が、配置先情報記憶部１０３に格納されているパラメータの最大値よりも小さい配置先の全てを、配置先の候補にする。推定部１０４は、配置先の候補を取り出し部１０８に送信する。推定部１０４は、配置先の候補に含まれる各配置先の識別子を送信すればよい。
【００４６】
次に、本実施形態の配置装置１００の動作について、図面を参照して詳細に説明する。
【００４７】
図２は、本実施形態の配置装置１００の、配置先が追加される場合における動作の例を表すフローチャートである。配置装置１００は、例えば定期的に、図２に示す動作を行えばよい。
【００４８】
まず、検出部１０７が、配置先が追加されたか否かを検出する（ステップＳ１０１）。検出部１０７は、動作している配置先を検出すればよい。そして、検出部１０７は、動作している配置先が増加した場合、配置先が追加されたことを検出すればよい。検出部１０７は、追加された配置先の識別子を、例えば、追加された配置先から取得する。検出部１０７は、さらに、各配置先から、空き容量を表す情報を取得する。その場合、各配置先は、検出部１０７からの、識別子及び空き容量を表す情報を送信する要求に応じて、識別子及び空き容量を表す情報を送信するよう設計されていればよい。検出部１０７は、変更部１０２を介して、配置先情報記憶部１０３に、追加された配置先の識別子を、追加された順番を特定できる形式で格納する。検出部１０７は、変更部１０２を介して、各配置先の空き容量を配置先情報記憶部１０３に格納してもよい。検出部１０７は、最後に追加された配置先に配置できるオブジェクトの量が増加した場合、配置先が追加されたことを検出してもよい。その場合、検出部１０７は、追加された配置先の識別子を配置先情報記憶部１０３に格納しなくてよい。本実施形態では、前述のように、配置先の数は１つずつ増加する。また、最後に追加された配置先の記憶領域は、増加し得る。しかし、配置先の数は減少しない。また、最後に追加された配置先以外の配置先の記憶領域は、増加しない。配置先を追加した管理者が、例えば図示されない端末装置を操作することによって、追加した配置先の識別子を検出部１０７に通知してもよい。
【００４９】
配置先が追加されたことが検出されなかった場合（ステップＳ１０２においてＮｏ）、配置装置１００は、図２に示す動作を終了する。配置先が追加されたことが検出された場合（ステップＳ１０２においてＹｅｓ）、全ての配置先が選択されており、未選択の配置先が存在しなければ（ステップＳ１０３においてＮｏ）、配置装置１００は、図２に示す動作を終了する。未選択の配置先が存在する場合（ステップＳ１０３においてＹｅｓ）、変更部１０２は、１つの配置先を選択する。変更部１０２は、未選択の配置先の中で、例えば、最も遅く追加された配置先を選択すればよい（ステップＳ１０４）。変更部１０２は、選択された配置先について、設定値導出処理を行うことにより、パラメータを導出する（ステップＳ１０５）。設定値導出処理については、以下で詳細に説明する。
【００５０】
本実施形態では、例えば配置先の追加などによって、後述されるように決定部１０１によって決定される、オブジェクトが配置される配置先が変化しても、既に配置先に配置されているオブジェクトを、変化後の配置先に移動させなくてよい。
【００５１】
図３は、本実施形態の配置装置１００の、設定値導出処理の動作の例を表すフローチャートである。図３を参照すると、変更部１０２は、まず、選択された配置先の空き容量及び選択された配置先より前に追加された配置先の空き容量の和を算出する。すなわち、変更部１０２は、選択された配置先より後に追加された配置先を除く、全ての配置先の空き容量の和を算出する（ステップＳ２０１）。変更部１０２は、例えば上述のように、選択された配置先の空き容量と、ステップＳ２０１において算出した空き容量の和とに基づいて、選択された配置先の設定値すなわちパラメータを導出する（ステップＳ２０２）。変更部１０２は、ステップＳ２０２において導出されたパラメータを、選択された配置先のパラメータとして、配置先情報記憶部１０３に格納する。変更部１０２は、例えば、ステップＳ２０２において導出されたパラメータと、選択された配置先の識別子との組み合わせを、配置先情報記憶部１０３に格納すればよい。変更部１０２は、ステップＳ２０２において導出したパラメータと、配置先情報記憶部１０３に格納されている、選択された配置先のパラメータの最大値とを比較する。導出されたパラメータが、選択された配置先のパラメータの最大値と等しくない場合（ステップＳ２０３においてＮｏ）、配置装置１００は、図３に示す動作を終了する。導出されたパラメータが、選択された配置先のパラメータの最大値に等しい場合（ステップＳ２０３においてＹｅｓ）、変更部１０２は、配置先情報記憶部１０３に格納されている、選択された配置先のパラメータの最大値を更新する（ステップＳ２０４）。すなわち、変更部１０２は、ステップＳ２０２において導出されたパラメータを、選択された配置先のパラメータの最大値として、配置先情報記憶部１０３に格納すればよい。
【００５２】
図４は、本実施形態の配置先情報記憶部１０３に格納されている順番などの例を模式的に表す図である。図４に示す例では、配置先の各々について、識別子と、順番と、パラメータと、パラメータの最大値とが、互いに関連付けされた状態で、配置先情報記憶部１０３に格納されている。図４に示す例では、パラメータは、０と１との間に含まれる。順番が最初である配置先のパラメータは、全ての配置先のパラメータの中で最大である。
【００５３】
以下では、パラメータの計算の手順の一例について説明する。変更部１０２は、以下の手順に従ってパラメータを算出してもよい。変更部１０２は、以下の手順以外の手順に従って、パラメータを算出してもよい。なお、以下に示す式において、「×」は、掛け算を表す演算子であり、「÷」は、割り算を表す演算子である。
【００５４】
ステップ１：配置先の各々について、空き容量を、全ての配置先の中で最も大きい空き容量で割った値Ａｊを算出する。Ａｊは、ｊ番目の配置先の空き容量を空き容量の最大値で割った値を表す。
【００５５】
ステップ２：全ての配置先のＡｊの和を算出する。算出された和の逆数Ｂを算出する。
【００５６】
ステップ３：変数Ｃに１を代入する。
【００５７】
ステップ４：最後に追加された配置先ｊを選択する。
【００５８】
ステップ５：選択された配置先ｊのパラメータＰｊとして、Ａｊ×Ｂ÷Ｃを算出する。
【００５９】
ステップ６：Ｃ×（１−Ｐｊ）を計算する。計算された値をＣに代入する。
【００６０】
ステップ７：選択されている配置先の順番が最初の順番であれば、手順を終了する。
【００６１】
ステップ８：選択されている配置先より１つ前に追加された配置先を選択し（すなわちｊを１減少させ）、ステップ５へ戻る。
【００６２】
パラメータの最小値がＤであり、最大値がＥである場合、ステップ５において計算されるＰｊはＡｊ×Ｂ÷Ｃ×（Ｅ−Ｄ）＋Ｄである。
【００６３】
上述のように、変更部１０２は、配置先が追加された場合、各配置先のパラメータを算出すればよい。変更部１０２は、オブジェクトがいずれかの配置先に配置されるのに応じて、各配置先のパラメータを算出してもよい。変更部１０２は、決定部１０１が、オブジェクトが配置される配置先を決定する前に各配置先のパラメータを算出してもよい。変更部１０２は、推定部１０４が、オブジェクトが配置されている配置先の候補を推定する前に各配置先のパラメータを算出してもよい。また、変更部１０２は、パラメータを算出する際、いずれかの配置先のパラメータが変化しない場合、その配置先のパラメータを算出しなくてもよい。
【００６４】
次に、本実施形態の配置装置１００の、オブジェクトが配置される配置先を決定する動作について、図面を参照して詳細に説明する。
【００６５】
図５は、本実施形態の配置装置１００の、オブジェクトが配置される配置先を決定する動作の例を表すフローチャートである。図５に示す動作の例では、配置装置１００は、オブジェクトが配置される配置先を決定する前に、配置先のパラメータを決定する。
【００６６】
図５を参照すると、まず、要求処理部１０５が、指示装置４００からオブジェクトと配置指示とを受け取る（ステップＳ３０１）。受信したオブジェクトには、例えばオブジェクトの属性や識別子などのオブジェクト情報が付与されている。指示装置４００は、オブジェクトに加えて、オブジェクト情報を送信すればよい。要求処理部１０５は、オブジェクトに加えて、オブジェクト情報を受信すればよい。配置要求とオブジェクトとオブジェクト情報とを受信した要求処理部１０５は、決定部１０１に対して、配置先決定指示とオブジェクト情報とを送信する。決定部１０１が配置先決定指示を受信したとき、まだいずれの配置先も選択されていない。前述のように、図５に示す動作の例では、決定部１０１が、オブジェクトが配置される配置先を決定する前に、変更部１０２が、配置先のパラメータを決定する。
【００６７】
変更部１０２は、未選択の配置先の中で、最も後に追加された配置先を選択する（ステップＳ３０２）。選択された配置先が、順番が最初の配置先ではない場合（ステップＳ３０２においてＮｏ）、変更部１０２は、選択された配置先について、設定値（すなわちパラメータ）を導出する設定値導出処理を行う（ステップＳ３０４）。ステップＳ３０４における設定値導出処理は、図２に示すステップＳ１０５における設定値導出処理と同じである。変更部１０２は、ステップＳ３０４の設定値導出処理において、上述の図３に示す動作を行えばよい。
【００６８】
次に、決定部１０１は、受信した、オブジェクトに付与されているオブジェクト情報に基づいて、特性値を導出する（ステップＳ３０５）。前述のように、本実施形態の特性値は、オブジェクト情報と配置先との組み合わせに対して一意に定まる。
【００６９】
決定部１０１は、ステップＳ３０４において導出された、選択された配置先のパラメータと、ステップＳ３０５において導出された特性値とを比較する。導出された特性値が選択された配置先のパラメータより小さい場合（ステップＳ３０６においてＹｅｓ）、決定部１０１は、選択された配置先を、オブジェクトが配置される配置先として決定する（ステップＳ３０７）。導出された特性値が選択された配置先のパラメータより小さくない場合（ステップＳ３０６においてＮｏ）、配置装置１００は、ステップＳ３０２以降の動作を繰り返す。
【００７０】
選択された配置先が、順番が最初の配置先である場合（ステップＳ３０３においてＹｅｓ）、決定部１０１は、選択された配置先を、オブジェクトが配置される配置先として決定する（ステップＳ３０７）。順番が最初の配置先に対して導出されるパラメータは、特性値が取りうる値の上限値より大きい。その場合、導出された特性値は、選択された配置先のパラメータより小さい。従って、選択された配置先は、オブジェクトが配置される配置先として決定される。よって、選択された配置先が、順番が最初の配置先である場合、決定部１０１は、図５に示す動作のように、ステップＳ３０４からステップＳ３０６までの動作を省略できる。
【００７１】
配置部１０６は、受け取ったオブジェクトを、決定された配置先に配置する（ステップＳ３０８）。
【００７２】
図６は、パラメータと特性値の例を模式的に表す図である。図６において、サーバ０からサーバ５は、配置先の識別子である。「Ｐ」によって示される横棒は、パラメータの大きさを表す。「Ｒ」によって示される黒丸は、特性値の大きさを表す。図６は、サーバ０からサーバ５までの各配置先のパラメータと特性値の大きさを模式的に示す。各配置先のパラメータ及び特性値は、破線によって表される上限値と下限値の間に分布する。
【００７３】
図７は、決定部１０１による決定の結果などを模式的に表す図である。図７における「識別子」は、配置先の識別子を表す。サーバ０からサーバ５は、それぞれ、図６に示すサーバ０からサーバ５と同じである。「順番」は、配置先が配置システム１０に追加された順番を表す。順番は、その値が大きいほど、その順番が付与されている配置先が後に追加されたことを表す。サーバ５が、最も後に追加された配置先である。「値の比較」は、パラメータであるＰが、特性値であるＲより大きいか否かを表す。図７に示す「値の比較」は、図６に示すパラメータと特性値との関係を表す。「オブジェクトの配置先」の円は、決定部１０１によって、オブジェクトが配置される配置先として決定される配置先を表す。
【００７４】
図６及び図７に示す例では、特性値がパラメータ以下である配置先の中で、最も後に追加された配置先は、サーバ４である。従って、決定部１０１は、図７に示すように、サーバ４を、オブジェクトが配置される配置先として決定する。
【００７５】
次に、本実施形態の配置装置１００の、オブジェクトが配置されている配置先の候補を推定する動作について、図面を参照して詳細に説明する。
【００７６】
図８は、本実施形態の配置装置１００の、オブジェクトが配置されている配置先の候補を推定する動作の例を表すフローチャートである。配置装置１００は、例えば、オブジェクトを取り出す際に、図８に例を示す、取り出されるオブジェクトが配置されている配置先の候補を推定する動作を行う。
【００７７】
まず、要求処理部１０５が、取り出し要求とオブジェクト情報とを、指示装置４００から受信する（ステップＳ４０１）。取り出し要求とオブジェクト情報を受信した要求処理部１０５は、配置先推定指示とオブジェクト情報とを、推定部１０４に送信する。推定部１０４が配置先推定指示を受信したとき、まだいずれの配置先も選択されていない。
【００７８】
未選択の配置先が存在する場合（ステップＳ４０２においてＹｅｓ）、推定部１０４は、未選択の配置先の中で、最も後に追加された配置先を選択する（ステップＳ４０３）。推定部１０４は、選択された配置先のパラメータの最大値を、配置先情報記憶部１０３から読み出す（ステップＳ４０４）。推定部１０４は、受信したオブジェクト情報に基づいて、特性値を導出する（ステップＳ４０５）。前述のように、本実施形態では、特性値はオブジェクト情報と配置先との組み合わせに対して一意に定まる。さらに、推定部１０４は、決定部１０１と同じ方法によって、特性値を導出する。配置先推定指示に加えて受信したオブジェクト情報は、決定部１０１によって決定された配置先に配置されているオブジェクトに付与されているオブジェクト情報である。推定部１０４が、受信したオブジェクト情報と選択された配置先の組み合わせに対して導出する特性値は、決定部１０１が、そのオブジェクト情報に付与されている配置先を決定する際、同じ組み合わせに対して導出した特性値と同じである。
【００７９】
推定部１０４は、選択された配置先のパラメータの最大値と、ステップＳ４０５において導出された特性値とを比較する（ステップＳ４０６）。選択された配置先のパラメータの最大値が、導出された特性値より大きくない場合（ステップＳ４０６においてＮｏ）、配置装置１００は、ステップＳ４０２以降の動作を繰り返す。選択された配置先のパラメータの最大値が、導出された特性値より大きい場合（ステップＳ４０６においてＹｅｓ）、決定部１０１が、選択された配置先を、対象オブジェクトの配置先として決定した可能性がある。対象オブジェクトは、受信したオブジェクト情報が付与されているオブジェクトである。従って、選択された配置先のパラメータの最大値が、導出された特性値より大きい場合、推定部１０４は、選択された配置先を、対象オブジェクトが配置されている配置先の候補に追加する（ステップＳ４０７）。ステップＳ４０７の後、配置装置１００は、ステップＳ４０２以降の動作を繰り返す。
【００８０】
全ての配置先が選択された場合（ステップＳ４０２においてＮｏ）、推定部１０４は、配置先の候補の推定を終了する。
【００８１】
次に、推定部１０４は、対象オブジェクトが配置されている配置先の候補のうち、最も後に追加された配置先を特定する（ステップＳ４０８）。
【００８２】
推定部１０４は、まず、配置先の候補に含まれる配置先の各々に、受信したオブジェクトの識別子によって特定される対象オブジェクトが配置されているか否かを問い合わせるアクセスを行えばよい。推定部１０４は、そのアクセスを、例えば、要求処理部１０５や読み出し部１０８を介して行えばよい。そのアクセスが行われるのに応じて、対象オブジェクトが配置されている配置先は、対象オブジェクトが配置されていることを表す応答を、推定部１０４に対して送信すればよい。対象オブジェクトが配置されていない配置先は、そのアクセスに対して、例えばエラーを返せばよい。対象オブジェクトが複数の配置先に配置されている場合、推定部１０４は、さらに、対象オブジェクトが配置されていることを表す応答を送信した配置先の中で、最も後に追加された配置先を特定すればよい。
【００８３】
推定部１０４は、配置先の候補から、最も後に追加された配置先を選択してもよい。推定部１０４は、選択した配置先に受信したオブジェクトの識別子によって特定される対象オブジェクトが配置されているか否かを問い合わせるアクセスを行ってもよい。選択された配置先から、対象オブジェクトが配置されていることを表す応答を受信した場合、推定部１０４は、その配置先を、最も後に追加された配置先として特定すればよい。選択された配置先から、対象オブジェクトが配置されていることを表す応答を受信しない場合、推定部１０４は、その配置先を、配置先の候補から除外すればよい。そして、推定部１０４は、最も後に追加された配置先の選択以降の動作を繰り返せばよい。
【００８４】
推定部１０４は、特定した、対象オブジェクトが配置されている配置先の識別子を、取り出し部１０８に送信する。
【００８５】
取り出し部１０８は、対象オブジェクトが配置されている配置先から、対象オブジェクトを取り出す（ステップＳ４０９）。ステップＳ４０９において、取り出し部１０８は、推定部１０４から、要求処理部１０５を介して受信した、配置先の識別子によって特定される配置先から、対象オブジェクトを取り出せばよい。対象オブジェクトが複数の配置先に配置されている場合、推定部１０４によって特定された配置先は、対象オブジェクトが配置されている配置先のうち、追加された順番が最も後である配置先である。その場合、取り出し部１０８は、ステップＳ４０９において、対象オブジェクトが配置されている配置先のうち、追加された順番が最も後である配置先から、対象オブジェクトを取り出す。具体的には、例えば、取り出し部１０８は、対象オブジェクトが配置されていることを表す応答を送信した配置先のうち、追加された順番が最も後である配置先に対して、対象オブジェクトを取り出す取り出し要求を送信すればよい。取り出し要求を受信した配置先は、対象オブジェクトを取り出し部１０８に送ればよい。取り出し部１０８は、対象オブジェクトを、例えば要求処理部１０５を介して、指示装置４００に送ればよい。
【００８６】
同じオブジェクト（例えば、同じオブジェクト情報及び識別子が付与されているオブジェクト）が、複数回配置された場合、そのオブジェクトが配置される配置先として決定される配置先は、決定の際に存在する配置先の組み合わせによって異なる可能性がある。すなわち、同じオブジェクトが複数の配置先に配置されている可能性がある。対象オブジェクトが、更新されながら複数回配置された場合、最新の状態のオブジェクトは、そのオブジェクトが配置されている配置先の中で、最も後に追加された配置先に配置されている。
【００８７】
複数の配置先に対象オブジェクトが配置されている場合、上述のように、ステップＳ４０８において、推定部１０４は、前述のように対象オブジェクトが配置されている配置先のうち、最も後に追加された配置先を特定すればよい。そして、取り出し部１０８は、ステップＳ４０８において特定された配置先から対象オブジェクトを取り出せばよい。そのことにより、取り出し部１０８は、最も後に配置された対象オブジェクトを取り出すことができる。従って、対象オブジェクトが、更新されながら複数回配置された場合でも、取り出し部１０８は、最も新しい対象オブジェクトを取り出すことができる。また、ステップＳ４０８において、推定部１０４は、配置先の候補に含まれる配置先のうち、追加の順番が遅い方から順に、対象オブジェクトが配置されているか否かを問い合わせるアクセスを行ってもよい。対象オブジェクトが配置されていることを表す応答を受信した場合、推定部１０４は、対象オブジェクトが配置されているか否かを問い合わせるアクセスを終了すればよい。そして、ステップＳ４０９において、取り出し部１０８は、対象オブジェクトが配置されていることを表す応答を送信した配置先から、対象オブジェクトを取り出せばよい。
【００８８】
例えば、図６に示すＰが各配置先のパラメータの最大値であり、図６に示すＲがオブジェクト情報に基づいて導出された特性値である場合、特性値がパラメータの最大値以下である配置先は、図７に示すように、サーバ０、サーバ３、及びサーバ４である。従って、推定部１０４によって推定される配置先の候補は、図７に示すように、サーバ０、サーバ３、及びサーバ４である。
【００８９】
上述の特許文献１に記載されている装置は、以下の特徴を満たす。
【００９０】
特徴１：オブジェクトが配置される配置先は、そのオブジェクトの識別子を使用して導出される値と、配置先と値の範囲とを関連付ける情報とに基づいて、を一意に決定される。
【００９１】
特徴２：オブジェクトは、すべての配置先に配置される。
【００９２】
特徴３：配置先が追加された場合であっても、オブジェクトはすべての配置先にほぼ一様に配置される。オブジェクトを一様に配置するために、最小限のオブジェクトのみが移動させられる。
【００９３】
本実施形態の配置装置１００は、上述の特徴１及び特徴２を備える。さらに、配置装置１００は、配置先の追加に応じてオブジェクトを移動させなくても、配置されるオブジェクトの数が増えるのに従って、オブジェクトが各配置先にほぼ一様に配置された状態になる。
【００９４】
以上の説明では、オブジェクトはひとまとまりのデータである。しかし、オブジェクトは、例えば物体などであってもよい。その場合、各配置先は、オブジェクトを配置できる場所を備えていればよい。そして、配置部１０６は、オブジェクトを各配置先まで運搬可能な運搬装置であればよい。取り出し部１０８は、オブジェクトを各配置先から運搬可能な運搬装置であればよい。
【００９５】
以上で説明した本実施形態には、規則に従って決定される、オブジェクトが配置される配置先が、配置先の追加によって変化する場合における、オブジェクトの配置に係る処理コストを低減できるという第１の効果がある。
【００９６】
その理由は、変更部１０２が、オブジェクトが配置される配置先を一意に決定する規則を、その規則によって定まる配置先が最後に追加された配置先以外の配置先に変化しないように、各配置先の空き容量に基づいて変更するからである。そして、決定部１０１が、変更部１０２によって変更された規則に従って、オブジェクトの配置先を決定するからである。
【００９７】
配置されたオブジェクトの再配置を行わない場合、オブジェクトを取り出す際、取り出されるオブジェクトが配置されている配置先を特定する必要がある。取り出されるオブジェクトが配置されている配置先の特定は、例えば、例えば、オブジェクトが配置されている可能性がある全ての配置先にオブジェクトの有無を確認することによって行われる。本実施形態では、オブジェクトが配置される配置先が、配置先の追加によって、配置先が追加されたときに存在する任意の配置先に変更され得る場合と比較して、オブジェクトが配置される配置先として決定された可能性がある配置先の数が限定される。従って、配置されたオブジェクトの再配置を行わない場合、取り出されるオブジェクトの配置先を特定する処理コストの上昇を低減することができる。すなわち、この場合、本実施形態の配置装置１００は、配置先の追加に応じてオブジェクトを再配置する処理コストを削減するのに加えて、取り出されるオブジェクトの配置先を特定する処理コストの上昇を低減することができる。
【００９８】
また、本実施形態の変更部１０２によって規則が変更されても、各配置先の空き容量に基づいて変更された規則に従って、オブジェクト情報に基づいて定まるオブジェクトの配置先は、新しく追加された配置先以外の配置先に変化しない。すなわち、変更部１０２は、配置先の追加による、オブジェクトの配置先の変化が最小限になるように、上述の規則を変更する。再配置後の各配置先の空き容量が同じであれば、最後に追加された配置先に対してだけオブジェクトが再配置される場合、最後に追加された配置先以外の配置先の間でオブジェクトが再配置される場合と比較して、再配置されるオブジェクトの量は少ない。すなわち、既に配置されているオブジェクトを、配置先の追加に応じて本実施形態の変更部１０２によって変更された規則に従って再配置する場合、最小限のオブジェクトが再配置される。従って、本実施形態の配置装置１００は、オブジェクトの配置先を一意に決定する規則の変更に応じてオブジェクトを再配置する場合、オブジェクトの再配置の処理コストを低減することができる。
【００９９】
本実施形態には、規則に従って決定される、オブジェクトが配置される配置先が、配置先の追加によって変化した際、既に配置されているオブジェクトを再配置しなくても、各配置先にオブジェクトを均等又はほぼ均等に配置できるという第２の効果がある。
【０１００】
その理由は、変更部１０２が、オブジェクトの配置先を一意に決定する規則を、配置先の各々の空き容量に応じて変更するからである。例えば、変更部１０２は、その規則を、配置先の各々に、空き容量に応じた割合でオブジェクトが配置されるように決定するように変更する。そのことにより、既にいずれかの配置先に配置されているオブジェクトを再配置しなくても、配置されるオブジェクトの数が増加するに従って、各配置先に配置されるオブジェクトの数は均等又はほぼ均等になる。
【０１０１】
本実施形態には、さらに、オブジェクトの配置先を決定するのに要する最大時間を短縮することができるという第２の効果がある。
【０１０２】
その理由は、本実施形態の決定部１０１が、選択された配置先が、オブジェクトが配置される配置先であるか否かを判定する処理を繰り返すことによって、オブジェクトが配置される配置先を決定するからである。その処理の回数は、その処理を始めた時点における配置先の個数を超えない。上述のように、特許文献１の装置が配置先を決定する時間は、偶然によって伸びる可能性がある。しかし、本実施形態では、偶然によって前述の処理の回数が増えた場合であっても、回数の上限は配置先の個数である。従って、本実施形態の配置装置１００は、オブジェクトの配置先を決定するのに要する最大時間を短縮することができる。
【０１０３】
＜第１の実施形態の変形例＞
図９は、第１の実施形態の変形例の配置システム１０Ａの構成の例を表すブロック図である。配置システム１０Ａは、配置装置１００Ａと、配置実行装置２００と、サーバアレイ３００とを含む。配置実行装置２００は、配置装置１００Ａ、サーバアレイ３００に含まれる各配置先、及び、指示装置４００が、それぞれ通信可能に接続されている。サーバアレイ３００及び指示装置４００は、それぞれ、第１の実施形態のサーバアレイ３００及び指示装置４００と同じである。配置装置１００Ａの各構成要素は、第１の実施形態の配置装置１００の、配置決定部１１０に含まれる、同一の符号が付与された構成要素と同じである。配置実行装置２００の各構成要素は、第１の実施形態の配置装置１００の同一の符号が付与された構成要素と同じである。ただし、決定部１０１は、決定した配置先の識別子を、例えば要求処理部１０５を介して、配置部１０６に送信する。配置部１０６は、オブジェクトを配置する指示である配置指示と、決定部１０１によって決定された配置先の識別子と、配置先に配置するオブジェクトとを、要求処理部１０５から受け取ればよい。推定部１０４は、配置先の候補を、例えば要求処理部１０５を介して、取り出し部１０８に送信する。推定部１０４は、特定した、対処オブジェクトが配置されている配置先の識別子を、要求処理部１０５を介して、取り出し部１０８に送信する。すなわち、推定部１０４は、例えば、特定した配置先の識別子を、要求処理部１０５に送信する。要求処理部１０５は、取り出し要求と、取り出されるオブジェクトの識別子と、特定した配置先の識別子とを、取り出し部１０８に送信する。オブジェクトは、配置装置１００Ａに含まれる決定部１０１や推定部１０４を介して送られない。オブジェクトは、要求処理部１０５と、配置部１０６又は取り出し部１０８との間で送られる。本変形例の配置システム１０Ａは、第１の実施形態の配置システム１０と同じ動作を行う。
【０１０４】
＜第２の実施形態＞
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【０１０５】
図１０は、本実施形態の配置装置１００Ｂの構成の例を表す図である。
【０１０６】
図１０を参照すると、本実施形態の配置装置１００Ｂは、決定部１０１と、変更部１０２と、を備える。決定部１０１は、オブジェクトに付与されたオブジェクト情報を受信するのに応じて、１つ以上の配置先のうち、前記オブジェクトが配置される前記配置先を決定する。配置先のそれぞれには、設定値が付与されている。配置先には、前記オブジェクトが配置されうる。決定部１０１が、前記オブジェクトが配置される前記配置先として決定する配置先は、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先である。変更部１０２は、前記配置先が追加されるのに応じて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する。変更部１０２は、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、前記配置先の少なくともいずれかに付与されている前記設定値を変更する。
【０１０７】
図１０に示す例では、決定部１０１及び変更部１０２が、配置決定部１１０Ｂと表記されている。配置決定部１１０Ｂは、図９に示す配置装置１００Ａのように、配置実行装置２００に通信可能に接続された装置であってもよい。
【０１０８】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。その理由は、第１の実施形態の効果が生じる理由と同じである。
【０１０９】
＜他の実施形態＞
配置装置１００、配置装置１００Ａ、配置装置１００Ｂ、及び配置実行装置２００は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、又は、専用のハードウェアにより実現することができる。配置装置１００、配置装置１００Ａ、配置装置１００Ｂ、及び配置実行装置２００は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することもできる。
【０１１０】
図１１は、配置装置１００、配置装置１００Ａ、配置装置１００Ｂ、及び配置実行装置２００を実現することができる、コンピュータ１０００のハードウェア構成の一例を表す図である。図１１を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記録媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１００３が記録媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、指示装置４００、及び各配置先にアクセスすることができる。プロセッサ１００１は、記録媒体１００５にアクセスすることができる。記録媒体１００５には、コンピュータ１０００を、配置装置１００、配置装置１００Ａ、配置装置１００Ｂ、又は配置実行装置２００として動作させるプログラムが格納されている。
【０１１１】
プロセッサ１００１は、記録媒体１００５に格納されている、コンピュータ１０００を、配置装置１００、配置装置１００Ａ、配置装置１００Ｂ、又は配置実行装置２００として動作させるプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、配置装置１００、配置装置１００Ａ、配置装置１００Ｂ、又は配置実行装置２００として動作する。
【０１１２】
以下に示すグループに含まれる部は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。上述のグループは、決定部１０１、変更部１０２、推定部１０４、要求処理部１０５、配置部１０６、検出部１０７、及び、取り出し部１０８を含む。また、配置先情報記憶部１０３は、コンピュータ１０００が含むメモリ１００２やハードディスク装置等の記憶装置１００３により実現することができる。あるいは、上述グループに含まれる部、及び、配置先情報記憶部１０３の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【０１１３】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１１４】
（付記１）
オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定する決定手段と、
前記配置先が追加されるのに応じて、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する変更手段と、
を備える配置装置。
【０１１５】
（付記２）
前記変更手段は、前記配置先の各々について、当該配置先である対象配置先に新たに配置することができる前記オブジェクトの量を表す空き容量と、前記対象配置先より後に追加された前記配置先を除く前記配置先の各々の前記空き容量の和と、に応じて前記設定値を導出し、前記対象配置先に付与されている前記設定値を、導出した前記設定値に変更する、
付記１に記載の配置装置。
【０１１６】
（付記３）
前記変更手段は、前記配置先に付与される前記設定値が、前記配置先の前記空き容量が大きいほど大きくなり、かつ、前記設定値が、前記対象配置先より前に追加された前記配置先の前記空き容量の和が大きいほど小さくなるように、前記対象配置先に割り当てられる前記設定値を導出する
付記２に記載の配置装置。
【０１１７】
（付記４）
前記変更手段は、前記配置先の各々について、配置先情報記憶手段に格納されている前記配置先の前記設定値の最大値より、導出した前記設定値が大きい場合、当該設定値を、前記配置先の前記設定値の最大値として、前記配置先情報記憶手段に格納し、
前記配置装置は、さらに、
前記オブジェクト情報を受信するのに応じて、当該属性に基づいて算出された前記特性値が前記設定値の最大値より小さい全ての前記配置先を、前記オブジェクト情報が付与されている前記オブジェクトが配置されている配置先の候補として特定する推定手段
を備える付記２又は３に記載の配置装置。
【０１１８】
（付記５）
前記推定手段は、さらに、推定された前記配置先の候補に含まれ、前記オブジェクトが配置されている前記配置先の中で、追加された順番が最も後である前記配置先を特定し、
前記配置装置は、特定された前記配置先から、前記オブジェクトを取り出す取り出し手段をさらに備える
付記４に記載の配置装置。
【０１１９】
（付記６）
前記決定手段は、異なる複数の前記オブジェクト情報から導出される複数の前記特性値が、あらかじめ定められた最大値及び最小値との間に、一様又はほぼ一様に分布するように、前記オブジェクトに付与されている前記オブジェクト情報に基づいて前記特性値を導出し、
前記変更手段は、前記配置先の各々について、当該配置先の前記設定値と前記最小値との差の、前記最大値と前記最小値の差に対する割合が、当該配置先の前記空き容量の、前記配置先が追加された際における前記配置先の各々の前記空き容量の和に対する割合になるように、前記配置先に付与する前記設定値を導出する
付記２乃至５のいずれかに記載の配置装置。
【０１２０】
（付記７）
前記オブジェクトが配置される前記配置先として決定された前記配置先に、前記オブジェクトを配置する配置手段
をさらに備える付記１乃至６のいずれかに記載の配置装置。
【０１２１】
（付記８）
前記配置先の各々と、付記１乃至７のいずれかに記載の配置装置とを含む配置システム。
【０１２２】
（付記９）
オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定し、
前記配置先が追加されるのに応じて、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する、
配置方法。
【０１２３】
（付記１０）
前記配置先の各々について、当該配置先である対象配置先に新たに配置することができる前記オブジェクトの量を表す空き容量と、前記対象配置先より後に追加された前記配置先を除く前記配置先の各々の前記空き容量の和と、に応じて前記設定値を導出し、前記対象配置先に付与されている前記設定値を、導出した前記設定値に変更する、
付記９に記載の配置方法。
【０１２４】
（付記１１）
前記配置先に付与される前記設定値が、前記配置先の前記空き容量が大きいほど大きくなり、かつ、前記設定値が、前記対象配置先より前に追加された前記配置先の前記空き容量の和が大きいほど小さくなるように、前記対象配置先に割り当てられる前記設定値を導出する
付記１０に記載の配置方法。
【０１２５】
（付記１２）
前記配置先の各々について、配置先情報記憶手段に格納されている前記配置先の前記設定値の最大値より、導出した前記設定値が大きい場合、当該設定値を、前記配置先の前記設定値の最大値として、前記配置先情報記憶手段に格納し、
前記オブジェクト情報を受信するのに応じて、当該属性に基づいて算出された前記特性値が前記設定値の最大値より小さい全ての前記配置先を、前記オブジェクト情報が付与されている前記オブジェクトが配置されている配置先の候補として特定する、
付記１０又は１１に記載の配置方法。
【０１２６】
（付記１３）
推定された前記配置先の候補に含まれ、前記オブジェクトが配置されている前記配置先の中で、追加された順番が最も後である前記配置先を特定し、
前記配置装置は、特定された前記配置先から、前記オブジェクトを取り出す、
付記１２に記載の配置方法。
【０１２７】
（付記１４）
異なる複数の前記オブジェクト情報から導出される複数の前記特性値が、あらかじめ定められた最大値及び最小値との間に、一様又はほぼ一様に分布するように、前記オブジェクトに付与されている前記オブジェクト情報に基づいて前記特性値を導出し、
前記配置先の各々について、当該配置先の前記設定値と前記最小値との差の、前記最大値と前記最小値の差に対する割合が、当該配置先の前記空き容量の、前記配置先が追加された際における前記配置先の各々の前記空き容量の和に対する割合になるように、前記配置先に付与する前記設定値を導出する
付記１０乃至１３のいずれかに記載の配置方法。
【０１２８】
（付記１５）
前記オブジェクトが配置される前記配置先として決定された前記配置先に、前記オブジェクトを配置する、
付記９乃至１４のいずれかに記載の配置方法。
【０１２９】
（付記１６）
コンピュータを、
オブジェクトに付与されたオブジェクト情報を受信するのに応じて、それぞれ設定値が付与され、前記オブジェクトが配置されうる１つ以上の配置先のうち、付与されている前記設定値が、前記オブジェクト情報に基づいて一意に導出された特性値より大きい、最も新しく追加された前記配置先を、前記オブジェクトが配置される前記配置先として決定する決定手段と、
前記配置先が追加されるのに応じて、前記配置先の各々に新たに配置できる前記オブジェクトの量を表す空き容量に基づいて、決定される前記配置先が、最後に追加された前記配置先以外の前記配置先に変化しないように、前記配置先の少なくともいずれかに付与されている前記設定値を変更する変更手段と、
して動作させる配置プログラム。
【０１３０】
（付記１７）
コンピュータを、
前記配置先の各々について、当該配置先である対象配置先に新たに配置することができる前記オブジェクトの量を表す空き容量と、前記対象配置先より後に追加された前記配置先を除く前記配置先の各々の前記空き容量の和と、に応じて前記設定値を導出し、前記対象配置先に付与されている前記設定値を、導出した前記設定値に変更する前記変更手段と、
して動作させる付記１６に記載の配置プログラム。
【０１３１】
（付記１８）
コンピュータを、
前記配置先に付与される前記設定値が、前記配置先の前記空き容量が大きいほど大きくなり、かつ、前記設定値が、前記対象配置先より前に追加された前記配置先の前記空き容量の和が大きいほど小さくなるように、前記対象配置先に割り当てられる前記設定値を導出する前記変更手段と、
して動作させる付記１７に記載の配置プログラム。
【０１３２】
（付記１９）
コンピュータを、
前記配置先の各々について、配置先情報記憶手段に格納されている前記配置先の前記設定値の最大値より、導出した前記設定値が大きい場合、当該設定値を、前記配置先の前記設定値の最大値として、前記配置先情報記憶手段に格納する前記変更手段と、
前記オブジェクト情報を受信するのに応じて、当該属性に基づいて算出された前記特性値が前記設定値の最大値より小さい全ての前記配置先を、前記オブジェクト情報が付与されている前記オブジェクトが配置されている配置先の候補として特定する推定手段と、
して動作させる付記１７又は１８に記載の配置プログラム。
【０１３３】
（付記２０）
コンピュータを、
さらに、推定された前記配置先の候補に含まれ、前記オブジェクトが配置されている前記配置先の中で、追加された順番が最も後である前記配置先を特定する前記推定手段と、
特定された前記配置先から、前記オブジェクトを取り出す取り出し手段と、
して動作させる付記１９に記載の配置プログラム。
【０１３４】
（付記２１）
コンピュータを、
異なる複数の前記オブジェクト情報から導出される複数の前記特性値が、あらかじめ定められた最大値及び最小値との間に、一様又はほぼ一様に分布するように、前記オブジェクトに付与されている前記オブジェクト情報に基づいて前記特性値を導出する前記決定手段と、
前記配置先の各々について、当該配置先の前記設定値と前記最小値との差の、前記最大値と前記最小値の差に対する割合が、当該配置先の前記空き容量の、前記配置先が追加された際における前記配置先の各々の前記空き容量の和に対する割合になるように、前記配置先に付与する前記設定値を導出する前記変更手段と、
して動作させる付記１７乃至２０のいずれかに記載の配置プログラム。
【０１３５】
（付記２２）
コンピュータを、
前記オブジェクトが配置される前記配置先として決定された前記配置先に、前記オブジェクトを配置する配置手段と、
して動作させる付記１６乃至２１のいずれかに記載の配置プログラム。
【０１３６】
以上、本発明を、上述した実施形態およびその変形例に適用した例として説明した。しかし、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１３７】
この出願は、２０１４年７月１１日に出願された日本出願特願２０１４−１４３３２４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１３８】
１０    配置システム
１０Ａ    配置システム
１００    配置装置
１００Ａ    配置装置
１００Ｂ    配置装置
１０１    決定部
１０２    変更部
１０３    配置先情報記憶部
１０４    推定部
１０５    要求処理部
１０６    配置部
１０７    検出部
１０８    取り出し部
１１０    配置決定部
１１０Ｂ    配置決定部
２００    配置実行装置
３００    サーバアレイ
３０１    配置先（サーバ）
３０Ｎ    配置先（サーバ）
４００    指示装置
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記録媒体
【図１】
0006508208.tif 000002
【図２】
0006508208.tif 000003
【図３】
0006508208.tif 000004
【図４】
0006508208.tif 000005
【図５】
0006508208.tif 000006
【図６】
0006508208.tif 000007
【図７】
0006508208.tif 000008
【図８】
0006508208.tif 000009
【図９】
0006508208.tif 000010
【図１０】
0006508208.tif 000011
【図１１】
0006508208.tif 000012