(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【0010】
図1は、本実施形態の説明に使用するユーザの既存ネットワークの構成図である。
図1において、四角で囲った数字の1〜8は、ネットワークの機能を示し、機能間を結ぶ線はリンクを示している。以下では、四角で囲った数字i(iは1〜8の整数)の機能を機能#iと表記する。さらに、機能#iと機能#j(i及びjは1〜8の整数で、かつ、i≠j)を結ぶリンクをリンク#ijと表記する。なお、各機能#iは、専用の1つの装置として実現することも、他の機能と合わせた装置として実現することもできる。
【0011】
ユーザは、本発明による判定装置に、初期情報として既存の機能が配置されているサイトと、既存のリンクと、各機能の機能コストと、各リンクのリンクコストを入力する。
図1において、各リンクに示す数字は、ユーザが入力したリンクコストを示している。また、本例では、機能の機能コストを、四角で囲った数字と同じ値とする。つまり、機能#iの機能コストがiであるものとする。
図1においては、機能#1、#2、#3、#7及び#8が、ユーザサイト#1(U#1)に配置されており、機能#4、#5及び#6が、ユーザサイト#2(U#2)に配置されている。なお、リンクコストは、例えば、リンクの帯域が大きくなる程大きい値とすることができる。また、機能コストは、機能の運用コストが高くなる程大きい値とすることができる。
【0012】
続いて、ユーザは、配置するサイトをユーザが指定する機能について、そのサイトを判定装置に入力する。本例では、
図1の機能#2及び#8についてはユーザサイト#1に配置し、機能#7についてはデータセンタ(D)に配置し、機能#4及び#5についてはユーザサイト#2に配置するとユーザが指定したものとする。
図6は、ユーザが指定した配置位置に従うネットワーク構成図とリンクコストを示す図である。
図6に示す様に、ユーザが、配置するサイトを指定しなかった機能#1、#3、#6が、配置するサイトの判定対象機能となる。なお、本実施形態において判定するのは、判定対象機能をデータセンタに移設するか、現在配置されているユーザサイトに残すかである。つまり、機能#1及び#3については、ユーザサイト#1に残すかデータセンタに移設するかであり、機能#6については、ユーザサイト#2に残すかデータセンタに移設するかが判定対象である。以下の説明において、ユーザが配置位置を指定しなかった機能の内、データセンタに移設するか否かの判定がおこなわれていない機能を未判定機能と呼ぶものとする。
【0013】
さらに、ユーザは、サイト間の遅延量と、遅延の許容値と、を初期情報として判定装置に入力する。本例においては、ユーザサイト#1とデータセンタとの間の遅延が1であり、ユーザサイト#2とデータセンタとの間の遅延が1であり、ユーザサイト#1とユーザサイト#2との間の遅延が3であるものとする。なお、同一サイト内の遅延量は0とする。また、ユーザは、遅延の許容値として7を指定したものとする。
【0014】
図2は、ユーザが入力した初期情報に基づく機能の配置位置と、リンクの遅延量を示している。なお、配置位置が決定されている機能間のリンクの遅延量は確定した値とする。一方、リンクの少なくとも一方の機能の配置位置が未定であると、当該リンクの遅延量としてはその最大値を使用する。例えば、リンク#67の遅延量は、機能#6がデータセンタに配置されると0であり、機能#6がユーザサイト#2に残されると1になる。よって、最大値である1を使用する。
【0015】
図9は、本実施形態による判定処理のフローチャートである。本実施形態において、判定装置は、処理開始時(S10)と、未判定機能について、データセンタに移設するか否かの判定を行うと(S12)に、ネットワーク全体のコストNc及び任意の2つの機能間の遅延量の最大値である(遅延最大値)dmaxを計算する。まず、コストNcは、以下の式により計算される。
Nc=Σαfd+Σβfu+ΣγL (1)
ここで、fdはデータセンタに設置される機能の機能コストであり、fuはユーザサイト#1及び#2に設置される機能の機能コストであり、Lはサイト間に設定されるリンクのリンクコストである。さらに、α、β、γは、コストの重み係数であり0以上のユーザが予め決定する値である。なお、一般的に、ユーザサイトに設置する機能については、ユーザ側にてその運用負荷が増えるため、β>αとする。以下の説明においては、α、β、γをそれぞれ、1、2、1とする。なお、ユーザサイトの重み係数は、ユーザサイト毎に異なる値とすることができる。
【0016】
また、遅延最大値dmaxは、サイト間のリンクの遅延量の合計により求めることができる。なお、その理由は後述するが、コストNc及び遅延最大値dmaxは、計算時点での未判定機能が、データセンタに配置されたものとして計算を行う。
【0017】
上述した様に、S10でのコストNc及び遅延最大値dmaxの計算において、未判定機能#1、#3及び#6は、データセンタに配置されているものとする。
図6から、式(1)のΣαfdは1+3+6+7=17であり、Σβfuは2×(2+4+5+8)=38である。また、機能#1、#3、#6がデータセンタに配置されると、サイト間のリンクは、リンク#12、#18、#23、#27、#34、#35、#56、#78であるため、ΣγLは3+3+2+2+10+5+4+2=31である。よって、
図6の状態におけるコストNcは86となる。また、サイト間のリンクは、リンク#12、#18、#23、#27、#34、#35、#56、#78であるが、これらはいずれもユーザサイトとデータセンタとの間のリンクであり、その遅延量はそれぞれ1であるため、遅延最大値dmaxは8である。
【0018】
本実施形態の判定装置は、任意の2つの機能間の遅延量が許容値である7以下であるとの条件の下、ネットワーク全体のコストNcが低くなる様に、未判定機能の移設を判定する。このため、判定装置は、内部パラメータとして、評価値Rを使用する。評価値Rの初期値は、各機能の機能コストの合計値よりも非常に大きな値とし、本例では、100000とする。
【0019】
判定装置は、S11において遅延に基づき1つ以上の未判定機能の1つ以上の未判定機能について、データセンタに移設するか否かを判定する。
図10は、S11の処理を示すフローチャートである。S20において、判定装置は、判定対象リンクを決定する。判定対象リンクは、未判定機能に接続するリンクの内、現在の配置位置においてユーザサイト間を接続するリンク以外のリンクである。
図2において、リンク#78及びリンク#27は、未判定機能に接続するリンクではないため判定対象リンクから除外される。さらに、リンク#34及び#35は、現在の配置位置においてユーザサイト間を接続するリンクであるため判定対象リンクから除外される。したがって、
図2において、処理対象リンクは、リンク#12、#17、#18、#23、#36、#56、#67となる。なお、このとき、判定装置は、判定対象リンクの内、同じ機能から同じサイト(データセンタ、ユーザサイト#1及び#2)に接続するリンクを1つに縮退させる。なお、縮退後のリンクの遅延は、元のリンクの遅延の和とする。
図2において、リンク#12、#18は、同じユーザサイト#1に向かうため、1つのリンクに縮退させ、その遅延を2とする。
図3は、上記処理後のリンクを示している。なお、
図3においては、判定対象リンクのみを示し、それ以外のリンクについては省略している。また、以下では、機能#iとユーザセンタ#1の機能を接続するリンクを、リンク#i#U1と表記し、機能#iとユーザセンタ#2の機能を接続するリンクを、リンク#i#U2と表記し、機能#iとデータユーザセンタの機能を接続するリンクを、リンク#i#Dと表記する。
【0020】
判定装置は、S21において判定対象リンクの内、その遅延が最も大きいリンクを選択する。
図3に示す様に、遅延の最も大きいリンクは、リンク#36である。判定装置は、S21において選択したリンクが、サイトに接続するリンクであるか未判定機能間を接続するリンクであるかをS22で判定する。本例において、リンク#36は、未判定機能間を接続するリンクであるためS22の判定は"No"となる。この場合、判定装置は、S22で選択したリンクが接続する2つの機能を1つの縮退機能とし、S20に戻る。本例において、縮退機能に含まれる機能は現在異なるユーザサイトに配置されているため、この縮退機能とデータセンタとを接続するリンクのみを処理対象リンクとする。なお、縮退機能に含まれる未判定機能が総て同じユーザサイトに配置されているものであると、当該縮退機能とデータセンタとを接続するリンクと、当該縮退機能と、当該縮退機能に含まれる未判定機能が配置されているユーザサイトを接続するリンクを処理対象リンクとする。なお、以下では、縮退機能とデータセンタの機能とを接続するリンクをリンク#T#Dと表記する。
図4は、2回目のS20での判定対象リンクを示している。判定対象リンクは、リンク#1#U1と、リンク#1#Dと、リンク#T#Dの3つである。この内、遅延が最大であるのはリンク#1#U1であるため、判定装置は、S21でリンク#1#U1を選択する。リンク#1#U1は、ユーザサイト#1に接続するリンクであるためS22の判定は"Yes"となる。この場合、判定装置は、S21で選択したリンクに接続する未判定機能を、当該選択したリンクが接続するサイトに配置すると、S23において決定する。つまり、機能#1をユーザサイト#1に配置すると判定する。なお、判定対象リンクを決定する際に、1つの未判定機能から同じサイトに接続するリンクを縮退させたのは、当該未判定機能を当該リンクに接続するサイトに配置することで削減される遅延量を判定するためである。
【0021】
S23で未判定機能の配置位置を判定すると、処理は、
図9のS12に移る。S12において、判定装置は、コストNc及び最大遅延値dmaxを計算する。
図7は、機能#1をユーザサイト#1に配置した状態を示している。上述した様に、コストNc及び最大遅延値dmaxの計算においては未判定機能#3及び#6がデータセンタに配置されているとするため、式(1)のΣαfdは3+6+7=16であり、Σβfuは2×(1+2+4+5+8)=40である。また、サイト間のリンクは、リンク#17、#23、#27、#34、#35、#56、#78であるため、ΣγLは2+2+2+10+5+4+2=27である。よって、
図7の状態におけるコストNcは83となる。また、
図7の状態において、サイト間のリンクは、リンク#17、#23、#27、#34、#35、#56、#78であり、これらはいずれもユーザサイトとデータセンタとの間のリンクであり、その遅延量はそれぞれ1であるためdmaxは7となる。
【0022】
判定装置は、S13で最大遅延値dmaxが許容値以下であるかを判定する。本例では、最大遅延値dmaxが7であり、許容値7以下であるため、"Yes"となる。したがって、判定装置は、S14で、コストNcが現在の評価値Rより小さいか否かを判定する。本例では、コストNcが83であり、現在の評価値R=100000より小さいため、判定装置は、S15で、現在の配置位置を記憶し、S16で評価値Rを83に更新する。その後、判定装置は、S17で未判定機能が存在するか否かを判定する。本例においては、機能#3及び#6が未判定機能として残っているため、S17の判定は"Yes"となる。したがって、処理は、S11に戻る。なお、S13において、最大遅延値dmaxが許容値より大きいと処理はS11に戻る。さらに、S14においてコストNcが現在の評価値Rより大きいと、そのときの配置位置を記憶せず、さらに、評価値Rを更新することなくS17に進む。
【0023】
判定装置は、S11で未判定機能を移設するかを
図10に示す処理に従い判定する。まず、S20において判定対象リンクを決定する。
図4の機能#1は、前の処理でユーザサイト#1に残すと判定したため、リンク#1#U1及びリンク#1#Dは、判定対象リンクから除外される。よって、
図5に示す様に判定対象リンクは、リンク#T#Dのみとなる。よって、判定装置はS21でリンク#T#Dを選択する。リンク#T#Dは、データセンタと接続するものであるため、S22の判定は"Yes"である。したがって、判定装置は、S23で、縮退機能に含まれる機能#3及び#6をデータセンタに移設すると決定する。
【0024】
図9に戻り、S12において、判定装置は、コストNc及び最大遅延値dmaxを計算する。
図8に示す様に、機能#3及び#6がデータセンタに配置されたため、式(1)のΣαfdは3+6+7=16であり、Σβfuは2×(1+2+4+5+8)=40である。また、サイト間のリンクは、リンク#17、#23、#27、#34、#35、#56、#78であるため、ΣγLは2+2+2+10+5+4+2=27である。よって、
図9の状態におけるコストNcは83となる。また、
図8の状態において、サイト間のリンクは、リンク#17、#23、#27、#34、#35、#56、#78であり、これらはいずれもユーザサイトとデータセンタとの間のリンクであり、その遅延量はそれぞれ1であるため最大遅延値dmaxは7となる。
【0025】
判定装置は、S13で最大遅延値dmaxが許容値以下であるかを判定する。本例では、最大遅延値dmaxが7であり、許容値7以下であるため、"Yes"となる。したがって、判定装置は、S15で、現在の配置位置を記憶し、S16で評価値Rを83に更新する。その後、判定装置は、S17で未判定機能が残っているか否かを判定する。本例においては、未判定機能は零であるため、処理が終了する。そして、判定装置は、最後にS15で記憶した配置位置を最終的に判定結果として出力する。このとき、最後にS15で記憶した時点における未判定機能については、総てデータセンタに移設すると判定する。
【0026】
以上、本実施形態では、判定対象リンクの内、遅延量の最も大きいリンクに接続する未判定機能から配置するサイトを決定する。そして、最大遅延値dmaxが許容値以下であると、そのときのコストNcを求めて、評価値Rと比較する。最初に最大遅延値dmaxが許容値以下となったときを除き、評価値Rは、最大遅延値dmaxが許容値以下であるときのコストNcのそれまでの最小値を示している。したがって、求めたコストNcが評価値R以下であると、評価値Rを更新し、そのときの配置位置を記憶しておく。そして、以上の処理を未判定機能が無くなるまで繰り返す。そして、処理の終了後、判定装置は、最後にS15で記憶した配置位置を最終的な配置位置として出力する。なお、最後にS15で記憶した時点における未判定機能はデータセンタに移設すると判定する。これは、上述した様に、未判定機能は、データセンタに配置されているとしてコストNc及びdmaxを計算しているからである。つまり、未判定機能がユーザサイトに配置されることで遅延量はさらに削減されるが、コストNcが上昇することもある。したがって、未判定機能がなくなった段階で、最大遅延値dmaxが許容値以下であるとの条件の下、コストNcを最小にする配置位置を判定するために、コストNc及びdmaxの計算においては、未判定機能をデータセンタに配置するものとする。これが、コストNc及びdmaxの計算においては、未判定機能をデータセンタに配置するとした理由である。
【0027】
なお、S21において、ある未判定機能とユーザサイトを接続するリンクと、当該未判定機能とデータサイトを接続するリンクの遅延が同じ値であり、かつ、最大であると、当該未判定機能についてはデータセンタに移設すると判定する。これはデータセンタのコストの重み係数が、ユーザサイトの重み係数より小さいからである。なお、上記実施形態において、判定対象リンクは、未判定機能に接続するリンクの内、現在の配置位置においてユーザサイト間を接続するリンク以外のリンクとした。しかしながら、未判定機能からデータセンタに接続するリンクと、未判定機能から当該未判定機能が配置されているユーザサイトに接続するリンクを判定対象リンクとしても良い。さらに、上述した実施形態において、S21で選択したリンクが未判定機能間を接続するリンクであると、S24で縮退機能を生成していたが、S21で選択したリンクが異なるユーザサイトに配置されている2つの未判定機能を接続するものであると、当該2つの未判定機能をデータセンタに配置すると決定する構成であっても良い。
【0028】
図11は、判定装置の構成図である。ユーザ・インタフェース部10は、初期情報をユーザが判定装置に入力し、判定装置により判定結果をユーザに表示、出力するためのユーザ・インタフェースである。保持部11は、ユーザが入力した各初期情報を保持する。具体的には、保持部11は、複数の機能のそれぞれが配置されているユーザサイトと、複数の機能の機能コストと、複数の機能の2つの機能を接続するリンクと、各リンクのリンクコストと、複数のユーザサイトとデータセンタとを含む複数のサイト間の伝送遅延と、遅延の許容量と、複数のサイトそれぞれの重み係数と、リンクの重み係数と、を示す情報を保持する。
【0029】
判定部12は、保持部11が保持する情報に基づき上述した方法によりデータセンタに移設する機能を判定する。具体的には、1つ以上の未判定機能に接続するリンクに基づき判定対象リンク及びその遅延量を判定し、遅延量の最も大きい第1判定対象リンクがデータセンタの機能に接続するものであると、第1判定対象リンクに接続する未判定機能をデータセンタに移設すると判定し、第1判定対象リンクがユーザサイトの機能に接続するものであると、第1判定対象リンクに接続する未判定機能をデータセンタに移設しないと判定し、第1判定対象リンクが2つの未判定機能間を接続するものであると、当該2つの未判定機能を1つの未判定機能に縮退させる。そして、判定部12は、データセンタに移設するか否かの判定を行った未判定機能を1つ以上の未判定機能から除外することを、1つ以上の未判定機能の数が零となるまで繰り返す。
【0030】
ここで、判定対象リンクは、1つの未判定機能からデータサイトの機能に接続する1つ以上のリンクを1つのリンクに縮退させたリンク、1つの未判定機能から当該未判定機能が配置されているユーザサイトの機能に接続する1つ以上のリンクを1つのリンクに縮退させたリンク、及び、未判定機能間を接続するリンクから、異なるユーザサイトに配置されている複数の機能を縮退させた未判定機能をユーザサイトに接続するリンクを除いたリンクである。なお、判定対象リンクの遅延量は、縮退させたリンクである場合には、元の1つ以上のリンクの遅延量の合計値であり、縮退させていないリンクである場合には、元のリンクの遅延量とする。
【0031】
そして、判定部12は、1つ以上の未判定機能に含まれる未判定機能についてデータセンタに移設するか否かの判定を行う度に、その時点においてデータセンタに移設するか否かの判定を行っていない未判定機能をデータセンタに移設するとした場合のネットワークコストと複数のサイト間のリンクの遅延量の合計値と、を求め、複数のサイト間のリンクの遅延量の合計値が前記許容値以下である中で、ネットワークコストが最小になる配置位置を判定結果として出力する。なお、ネットワークコストは、複数のサイトそれぞれのサイトコストの和と、複数のサイト間のリンクのリンクコストの和にリンクの重み係数を乗じた値との和として求められ、サイトコストは、サイトに配置される機能の機能コストの和と当該サイトの重み係数との積として求められる。
【0032】
以上、本実施形態によると、任意の2つの機能間の最大遅延値を許容値以下としつつ、ネットワークコストを低くすることができる。なお、ネットワークコストは、サイト間のリンクのコストと、各サイトにおける機能の運用コストを評価したものであり、これが低くなる程、ネットワーク全体の運用コストを低くすることができる。
【0033】
なお、本発明による判定装置は、コンピュータを上記判定装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。