(57)【要約】  履歴情報なしで負荷予想を実現する仮想マシンの配置を計画するためのシステムを提供する。計画システムは、移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて移動体を表す仮想マシンの移動計画を生成する、移動計画生成手段と、仮想マシンの移動計画に基づいて、仮想マシンが動作する物理マシンの負荷を予測し、移動体シミュレーションにおける地理上の領域を分割した区画に、物理マシンを割り当てる、分割計画生成手段と、を包含する。
2017099061.tif 000002
【特許請求の範囲】
【請求項１】
移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて前記移動体を表す仮想マシンの移動計画を生成する、移動計画生成手段と、
前記仮想マシンの移動計画に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測し、前記移動体シミュレーションにおける地理上の領域を分割した区画に、前記物理マシンを割り当てる、分割計画生成手段と、を包含する、計画システム。
【請求項２】
前記分割計画生成手段が、
前記仮想マシンの台数に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測する、請求項１に記載の計画システム。
【請求項３】
前記分割計画生成手段が、
前記仮想マシンの台数が閾値を超えた場合に、前記区画に前記物理マシンを新たに割り当てる、請求項２に記載の計画システム。
【請求項４】
前記移動体の現在地および目的地の情報に基づいて、前記移動ルートを計算する、移動ルート計算手段を更に備える、請求項１乃至３のいずれか１項に記載の配置計画システム。
【請求項５】
移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて前記移動体を表す仮想マシンの移動計画を生成し、
前記仮想マシンの移動計画に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測し、前記移動体シミュレーションにおける地理上の領域を分割した区画に、前記物理マシンを割り当てる、計画方法。
【請求項６】
前記仮想マシンの台数に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測する、請求項５に記載の計画方法。
【請求項７】
前記仮想マシンの台数が閾値を超えた場合に、前記区画に前記物理マシンを新たに割り当てる、請求項６に記載の計画方法。
【請求項８】
移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて前記移動体を表す仮想マシンの移動計画を生成する処理と、
前記仮想マシンの移動計画に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測し、前記移動体シミュレーションにおける地理上の領域を分割した区画に、前記物理マシンを割り当てる処理と、をコンピュータに実行させる計画用プログラムを記録する記録媒体。
【請求項９】
前記仮想マシンの台数に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測する処理を、前記コンピュータに実行させる請求項８に記載の計画用プログラムを記録する記録媒体。
【請求項１０】
前記仮想マシンの台数が閾値を超えた場合に、前記区画に前記物理マシンを新たに割り当てる処理を、前記コンピュータに実行させる請求項９に記載の計画用プログラムを記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの配置を計画するための計画システム、計画方法、及び、計画用プログラムを記録する記録媒体に関する。
【背景技術】
【０００２】
図１及び図２は、仮想マシンを用いた場合の移動体シミュレーションシステムの例を示している。移動体シミュレーションとは、車、電車などの移動体が道路や線路をどのように走行するかを計算機上で疑似的に表現するプログラムのことを指している。このような移動体シミュレーションは、事故が起きた場合の渋滞予想や、慢性的な渋滞を引き起こす場所を事前に発見するというような用途に用いられる。【０００３】
図１は、地図２０００と地図上を移動する移動体３０００を示している。図１を参照すると、地図２０００は一定の大きさで区切られており、それぞれ区画１、区画２、区画３、区画４という名前が付けられている。【０００４】
そして、移動体シミュレーションを実行するための計算機環境として仮想マシンを用いた場合の実現例が図２となる。図２に示す通り、図１で説明した各区画に対して物理マシン４０００〜４００３が割り当てられている。そして、各区画に出現する移動体３０００は、仮想マシン上で動作する移動体シミュレーションプログラム１２０により表されている。これらの仮想マシンは、Ｈｙｐｅｒｖｉｓｏｒ（ハイパーバイザ）によって管理されている。このような仮想マシンを用いた移動体シミュレーションでは、移動体３０００がある区画から他の区画に移動する場合は、該当する移動体シミュレーションプログラム１２０が動作する仮想マシンを移動先の区画を表す物理マシン４０００〜４００３に移動させる。【０００５】
移動体の特定区画への集中（交通渋滞など）によって、当該区画の物理サーバ（物理マシン４０００〜４００３）の負荷が許容量を超える場合には、区画に割り当てている物理サーバの台数を増やさなければならない。一方で、物理サーバの負荷が許容量を超えない場合には、物理サーバを増設する必要はない。物理サーバの増設には増設処理にかかる計算コスト、物理サーバを用意する金銭的なコストがかかるため、負荷が許容量を超えるかどうかを事前に見積もることによって、サーバの適切な増設が可能となる。【０００６】
特許文献１は、各仮想マシンの負荷の予測を管理する負荷カレンダーに基づいて、実行サーバ上の仮想マシンの配置を行う技術を開示している。【０００７】
特許文献２は、ネットワーク帯域の状態に応じて、仮想マシンの移動計画をより適切に立案することが可能な技術を開示している。【０００８】
特許文献３は、管理対象の負荷の変化を過去の負荷変動の履歴を基に予測し、この予測結果に従って物理サーバに関する制御を実行する技術を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１８１６４７号公報
【特許文献２】特開２０１３−２００６１５号公報
【特許文献３】特開２０１１−１１８５２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１は、実行時に得られた負荷情報を負荷カレンダーとして記録して、負荷カレンダーの日付毎に必要な実行サーバを算出する。特許文献１を移動体シミュレーションに適用すると、ある時刻にある交差点で渋滞が発生し、当該交差点を含む区画に割り当てられている物理サーバの負荷が上昇する。この負荷の上昇を履歴として記録し、次回、同じシミュレーションを実行する際は、当該履歴情報を用いて、負荷上昇が閾値を超える前に、物理サーバが増設されるように動作する。しかしながら、シミュレーションに用いる履歴情報は、実際には、シミュレーションの実行毎に変化する。シミュレーションとは、現実世界では実現が困難な状況をコンピュータ上で再現し、ある入力に対して出力がどう変化するかを観察することによって、未知の状況を事前に知ることを目的としている。つまり、シミュレーションは、実際には、一度シミュレーションを実行して結果が得られれば、同じシミュレーションを同じ入力パラメータで実行することはなく、入力パラメータを変更して、さらに未知の状況観察を行う。移動体シミュレーションを例に挙げると、移動体シミュレーションは、ある入力パラメータ（車の台数など）に対して、渋滞個所がわかれば、次に同じ入力を使うことはない。そして、次に、移動体シミュレーションは、たとえば、ある車線で事故を発生させるというような、新たな入力を与えたときに、どのような渋滞が発生するかという別の状況をシミュレーションすることである。この際、別の状況のシミュレーションは、渋滞個所が前回のシミュレーションと同じになるとは限らない。言い換えると、シミュレーション毎に負荷が上昇する物理サーバは異なるので、履歴情報を利用できる可能性が低くなる。【００１１】
特許文献２、３は、特許文献１と同様に、移動体シミュレーションに適用すると、履歴情報を用いないで負荷予測をすることができない。【００１２】
上記文献の技術を用いた場合、移動体シミュレーションでは、履歴情報を用いないで負荷予測をすることができない。【００１３】
このため、本発明の目的は、上述した課題である、履歴情報なしで負荷予想を実現する計画システム等を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の一形態における配置計画システムは、移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて前記移動体を表す仮想マシンの移動計画を生成する、移動計画生成手段と、前記仮想マシンの移動計画に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測し、前記移動体シミュレーションにおける地理上の領域を分割した区画に、前記物理マシンを割り当てる、分割計画生成手段と、を包含する。【００１５】
本発明の一形態における配置計画方法は、移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて前記移動体を表す仮想マシンの移動計画を生成し、前記仮想マシンの移動計画に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測し、前記移動体シミュレーションにおける地理上の領域を分割した区画に、前記物理マシンを割り当てる。【００１６】
本発明の一形態における記録媒体は、移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて前記移動体を表す仮想マシンの移動計画を生成する処理と、前記仮想マシンの移動計画に基づいて、前記仮想マシンが動作する物理マシンの負荷を予測し、前記移動体シミュレーションにおける地理上の領域を分割した区画に、前記物理マシンを割り当てる処理と、をコンピュータに実行させる計画用プログラムを記録する。
【発明の効果】
【００１７】
本発明によれば、履歴情報を用いることなく、物理サーバの負荷を予測できる、という効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、背景技術となる移動体シミュレーションを説明するための地図と移動体の図である。
【図２】図２は、背景技術となる仮想マシンを用いた移動体シミュレーションを説明するためのブロック図である
【図３】図３は、本発明の第１の実施の形態に係る計画システムの構成の一例を示すブロック図である。
【図４】図４は、本発明の第１の実施の形態に係る移動ルート情報のデータ構造の一例を表す図である。
【図５】図５は、本発明の第１の実施の形態に係るルート情報のデータ構造の一例を表す図である。
【図６】図６は、本発明の第１の実施の形態に係る区画情報のデータ構造の一例を表す図である。
【図７】図７は、本発明の第１の実施の形態に係る仮想マシン移動計画表のデータ構造の一例を表す図である。
【図８】図８は、本発明の第１の実施の形態に係る時刻負荷リストのデータ構造の一例を表す図である。
【図９】図９は、本発明の第１の実施の形態に係る区画分割計画表のデータ構造の一例を表す図である。
【図１０】図１０は、本発明の第１の実施の形態に係る仮想マシン配置計画表のデータ構造の一例を表す図である。
【図１１】図１１は、本発明の第１の実施の形態に係る全体動作を示す流れ図である。
【図１２】図１２は、本発明の第１の実施の形態に係る移動計画生成部の動作を示す流れ図である。
【図１３】図１３は、本発明の第１の実施の形態に係る仮想マシンの移動時刻の計算方法の動作を示す流れ図である。
【図１４】図１４は、本発明の第１の実施の形態に係る区画の境界計算を説明するために用いる図である。
【図１５】図１５は、本発明の第１の実施の形態に係る交点座標の求め方を説明するために用いる図である。
【図１６】図１６は、本発明の第１の実施の形態に係る２点間の距離の求め方を説明するために用いる図である。
【図１７】図１７は、本発明の第１の実施の形態に係る区画分割方法の動作を示す流れ図である。
【図１８】図１８は、本発明の第２の実施の形態に係る計画システムの構成の一例を示すブロック図である。
【図１９】図１９は、本発明の第２の実施の形態に係る補正移動ルート情報のデータ構造の一例を表す図である。
【図２０】図２０は、本発明の第２の実施の形態に係る補正ルート情報のデータ構造の一例を表す図である。
【図２１】図２１は、本発明の第２の実施の形態に係る移動計画補正部の動作を示す流れ図である。
【図２２】図２２は、本発明の第３の実施の形態に係る計画システムの構成の一例を示すブロック図である。
【図２３】図２３は、本発明の第１の実施の形態に関する具体例１の計画システムの構成を示すブロック図である。
【図２４】図２４は、本発明の第１の実施の形態に関する他の具体例２の計画システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
＜第一の実施形態＞
本発明の第一の実施の形態について、図面を参照して詳細に説明する。
【００２０】
図３は、仮想マシンの配置を計画するための計画システム１０の構成の一例を示すブロック図である。
【００２１】
図３を参照すると、計画システム１０は、移動体２００、メモリ３５０と、配置計画部４００、配置実行部５００、及び、物理マシン１００（物理マシン群１００とも言う）を備える。
【００２２】
移動体２００は、移動ルート計算部２１０を備える。
【００２３】
メモリ３５０は、シミュレーション基礎情報３００を格納する。シミュレーション基礎情報３００は、ルート情報３１０、及び、区画情報３２０を含む。
【００２４】
配置計画部４００は、移動ルート記憶部４１０、移動計画生成部４２０、及び、分割計画生成部４３０を備える。
【００２５】
配置実行部５００は、移動計画記憶部５１０、仮想マシン移動部５２０、及び、分割計画記憶部５３０を備える。
【００２６】
物理マシン１００は、仮想マシン１１０を内包する。なお、物理マシン１００は、仮想マシン１１０を実行するための計算機である複数の物理マシン１００の集合である。また、仮想マシン１１０は、移動体シミュレーションプログラム１２０を実行する仮想的な計算機である複数の仮想マシン１１０の集合である。各物理マシン１００は、一台以上の仮想マシン１１０を含む。
【００２７】
これらの構成要素は、それぞれ概略つぎのように動作する。
【００２８】
移動体２００は、車や飛行機、人など地理上を移動する物体を指している。本実施形態において、移動体２００は、移動体シミュレーション上に登場する移動体を模擬するシミュレーションプログラムを指す。移動ルート計算部２１０は、上記移動体２００が移動を開始する際に、後述する図４に示す現在地２１４と目的地２１５を入力値として使用し、目的地２１５に到着するために通るルートを計算する手段である。移動ルート計算部２１０よって計算されたルートは、移動ルート情報２１０−１として、移動ルート記憶部４１０に記憶される。具体的には、車のカーナビゲーションシステムから出力される情報や、電車の運行ダイヤグラムが、移動ルート情報２１０−１に相当する。
【００２９】
図４は、移動ルート計算部２１０によって計算される移動ルート情報２１０−１のデータ構造の一例を示している。図４に示す通り、移動ルート情報２１０−１は、移動体ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）２１１、移動開始時刻２１２、移動終了時刻２１３、現在地２１４、目的地２１５、及び、ルートＩＤ２１６から構成されている。移動体ＩＤ２１１は、当該移動ルート情報２１０−１を生成した移動ルート計算部２１０を備える移動体２００の識別子である。移動開始時刻２１２は、当該移動体２００が移動を開始した時刻である。移動終了時刻２１３は、当該移動体２００が移動を終了する時刻である。現在地２１４は、移動体２００が移動を開始する場所を緯度と経度で表した数値である。目的地２１５は、移動体２００が移動を終了する場所を緯度と経度で表した数値である。ルートＩＤ２１６は、移動体２００が目的地２１５に到達するまでに通るルートの集合を表している。
【００３０】
シミュレーション基礎情報３００は、シミュレーションに使われる地理情報である。シミュレーション基礎情報３００は、ルート情報３１０と区画情報３２０から構成される。
【００３１】
メモリ３５０は、シミュレーション基礎情報３００を格納する。
【００３２】
ルート情報３１０は、各ルートに関する情報を格納している。図５は、ルート情報３１０のデータ構造の一例を示す図である。ルート情報３１０は、ルートＩＤ２１６、速度制限３１１、中継点３１２から構成されている。ルートＩＤ２１６は、各ルートに付与される識別子である。速度制限３１１は、当該ルートの速度上限値を指している。速度制限３１１は、当該ルートの走行時間を計算する際に用いられる。中継点３１２は、ルート上の点を緯度と経度で表しており、少なくとも始点と終点を一つずつ備えている。さらに、中継点３１２は、任意の数の中継点３１２（図５の「中継点１」など）を持つ。始点と終点のみを持つルートは直線である。また、始点と終点以外の中継点３１２を持つルートは、曲線の場合を含むルートを表している。
【００３３】
区画情報３２０は、地理上の一定間隔に区切られた領域に関する情報である。図６は、区画情報３２０のデータ構造の一例を示す図である。区画情報３２０は、区画ＩＤ３２１、北側緯度３２２、南側緯度３２３、西側経度３２４、東側経度３２５、及び、物理マシンＩＤ３２６から構成される。区画ＩＤ３２１は、各区画に割り当てられた識別子である。北側緯度３２２は、当該区画の北の境界を表す緯度である。南側緯度３２３は、当該区画の南の境界を表す緯度である。西側経度３２４は、当該区画の西の境界を表す経度である。東側経度３２５は、当該区画の東の境界を表す経度である。物理マシンＩＤ３２６は、当該区画に割り当てられている物理マシン１００の識別子を指している。
【００３４】
配置計画部４００は、各移動体２００の移動ルート情報２１０−１とシミュレーション基礎情報３００を基に、時刻毎の仮想マシン１１０の配置計画を生成し、各区画への物理マシン１００の割り当て計画を生成する。配置計画部４００は、移動ルート記憶部４１０、移動計画生成部４２０、及び、分割計画生成部４３０から構成される。
【００３５】
移動ルート記憶部４１０は、移動体２００から送られてくる移動ルート情報２１０−１を格納する場所である。
【００３６】
移動計画生成部４２０は、各移動体２００の移動ルート情報２１０−１とシミュレーション基礎情報３００を基に、時刻毎の仮想マシン１１０の配置計画を生成する。具体的には、移動計画生成部４２０は、移動ルート情報２１０−１に記載されている移動開始時刻２１２とルートＩＤ２１６、シミュレーション基礎情報３００内のルート情報３１０に記載されている速度制限３１１を用いて、移動体２００が時刻毎にどのルートに存在しているかを計算する。例えば、図４及び図５を参照すると、移動開始時刻２１２が１４：００：００で、ルートＩＤ「１」を通り、ルートＩＤ「１」の速度制限３１１が３５ｋｍ／ｈの場合、ルートＩＤ「１」の距離が、始点（３８．６５５、  １４５．１１９）と終点（３９．８２３、  １４５．４８１）から約２．６８ｋｍとわかる。よって、速度制限３１１が３５ｋｍ／ｈであることから、ルートＩＤ「１」の走行時間は、約４分３０秒と計算できる。以上の結果から、移動開始時刻１４：００：００〜１４：０４：３０までは、当該移動体２００は、ルートＩＤ「１」を走行していることになる。シミュレーション基礎情報３００のうち、図５のルート情報３１０の中継点３１２と、図６の区画情報３２０から、ルートＩＤ「１」は、区画ＩＤ「１」に含まれているので、ルートＩＤ「１」を通っている間は、当該移動体２００を構成する仮想マシン１１０は、物理マシンＩＤ「１」の識別子を持つ物理マシン１００で動作することになる。この例では、移動体２００の加速度やルート途中からの移動開始については考慮していない。このように、移動計画生成部４２０は、各移動体２００の時間毎の移動位置を計算する。そして、移動計画生成部４２０は、当該仮想マシン１１０が、ある時刻にどの物理マシン１００に存在するかを計算して、仮想マシン移動計画表４２０−１を得る。
【００３７】
図７は、仮想マシン移動計画表４２０−１のデータ構造の一例を示す図である。図７に示す通り、仮想マシン移動計画表４２０−１は、仮想マシンＩＤ４２１(実行仮想マシンＩＤ４２１とも言う）、仮想マシン起動時刻４２２、仮想マシン移動時刻４２３、及び、物理マシンＩＤ３２６から構成される。仮想マシンＩＤ４２１は、移動体シミュレーションプログラム１２０を実行している仮想マシン１１０の識別子である。なお、移動体シミュレーションプログラム１２０は、各仮想マシン１１０上で動作する。仮想マシン起動時刻４２２は、仮想マシン１１０を起動した時刻であり、当該移動体２００が移動を開始した時刻と同じである。仮想マシン起動時刻４２２は物理マシンＩＤ３２６と関連づけされており、図７の場合は、仮想マシン起動時刻４２２が１５：３３：２４であり、当該仮想マシン１１０を起動した物理マシン１００の物理マシンＩＤ３２６が「１」となっている。仮想マシン移動時刻４２３は、仮想マシン１１０がある区画から次の区画へ移動する時刻である。仮想マシン移動時刻４２３は、物理マシンＩＤ３２６と関連づけされている。図７の場合は、仮想マシン１１０の移動時刻が１５：４７：２４であり、その時刻に移動する移動先の物理マシン１００の物理マシンＩＤ３２６が「２」となる。
【００３８】
分割計画生成部４３０は、区画に割り当てられた物理マシン１００の負荷が閾値を超えた場合に、当該区画に割り当てる物理マシン１００を増設するための機能である。具体的には、分割計画生成部４３０は、移動計画生成部４２０によって生成された仮想マシン移動計画表４２０−１を使って時刻負荷リスト４３０−１を生成し、時刻負荷リスト４３０−１から負荷の高い区画を検索して負荷の高い区画に対して物理マシン１００を新たに割り当てる。負荷の高い区画に対する物理マシン１００の具体的な割り当て方法として、分割計画生成部４３０は、区画分割計画表４３０−２と仮想マシン配置計画表４３０−３を出力する。
【００３９】
図８に時刻負荷リスト４３０−１のデータ構造の一例を示す。時刻負荷リスト４３０−１は、区画ＩＤ３２１、時刻４３１、及び、仮想マシン数４３２から構成される。時刻負荷リスト４３０−１は、ある区画について単位時刻（１秒）毎の負荷を示している。すなわち、時刻４３１と仮想マシン数４３２は、区画ＩＤ３２１毎に分割計画生成部４３０によって生成され記憶される。図８では区画ＩＤ３２１が「１」の区画での負荷として時刻毎の仮想マシン１１０の台数が用いられているが、仮想マシン１１０の台数以外の指標が用いられてもよい。たとえば、仮想マシン１１０一台あたりのＣＰＵ使用率を定数として定義して、予想される物理マシン１００のＣＰＵ使用率を算出してもよい。仮想マシン１１０の台数が閾値を超えた場合、分割計画生成部４３０は、区画に割り当てる物理マシン１００を増やす。区画に割り当てる物理マシン１００を増やす具体的な手順として、分割計画生成部４３０は、区画分割計画表４３０−２と仮想マシン配置計画表４３０−３を生成する。
【００４０】
図９と図１０は、区画分割計画表４３０−２と仮想マシン配置計画表４３０−３のデータ構造の一例を示す図である。図９に示す通り、区画分割計画表４３０−２は、区画ＩＤ３２１、開始時刻４３３、及び、分割後の区画情報から構成され、分割後の区画情報は、新規区画ＩＤ４３４と新規区画位置４３５から構成される。区画ＩＤ３２１は、物理サーバが増設される対象となる区画の識別子である。開始時刻４３３は、区画に対する物理サーバの増設開始時刻を表している。分割後の区画情報に関して、新規区画ＩＤ４３４は、分割後の区画の識別子を指している。新規区画位置４３５は、分割後の東西南北の緯度と経度を表している。区画への物理サーバの増設は、区画の分割という形で表現される。図９では、区画１が区画１−１と区画１−２に分割されている。分割された区画には、それぞれ物理サーバが割り当てられている。
【００４１】
図１０は、仮想マシン配置計画表４３０−３のデータ構造の一例を示す図である。図１０に示す通り、仮想マシン配置計画表４３０−３は、新規区画ＩＤ４３４、物理マシンＩＤ３２６、及び、実行仮想マシンＩＤ４２１から構成されている。区画ＩＤとしては区画分割後の新たな区画のＩＤである新規区画ＩＤ４３４が示されており、新たな区画に、それぞれ物理マシンＩＤ３２６と実行仮想マシンＩＤ４２１が割り当てられている。新たな区画に割り当てられる物理マシン１００には２種類あり、一方は、図６に示す区画情報３２０によって、もともと割り当てられていた物理マシンＩＤ３２６であり、もう一方が増設される物理マシンＩＤである。図１０では、区画ＩＤ「１−１」には物理マシンＩＤ「１」が割り当てられており、区画ＩＤ「１−２」には物理マシンＩＤ「１４」が割り当てられている。図６の区画情報３２０では、区画ＩＤ「１」には物理マシンＩＤ「１」が割り当てられている。よって、区画ＩＤ１−１に割り当てられた物理マシン１００が、もともと割り当てられていた物理マシンＩＤ３２６であり、区画ＩＤ１−２に割り当てられた物理マシン１００が、新たに割り当てられた物理マシンＩＤ３２６となる。実行仮想マシンＩＤ４２１は、それぞれの区画に割り当てられた物理マシン１００上で動作させる仮想マシンＩＤ４２１の集合である。
【００４２】
図９に示す区画分割計画表４３０−２の開始時刻４３３は、当該区画の負荷が閾値を超える時刻から一定時間を引いた時間となっている。この一定時間というのは、区画分割にかかる処理時間を指しており、具体的には区画分割に伴う仮想マシン１１０の移動時間を指している。図１０の例では、区画１を区画１−１と区画１−２に分割する際に、もとの物理マシン１００（物理マシンＩＤ「１」）が区画１−１に割り当てられており、新たな物理マシン１００（物理マシンＩＤ「１４」）が区画１−２に割り当てられている。区画を分割する際には、区画１に割り当てられていた物理マシン上で動作する仮想マシン１１０をそれぞれの新しい区画に移動させる必要がある。図１０の例では、区画１−２上に存在する移動体２００の実行主体となる仮想マシンＩＤ４２１「１４、２２、２６、４４、５２」が物理マシンＩＤ「１」から物理マシンＩＤ「１４」への移動対象となる。本来、仮想マシン１１０の移動実行時間は、仮想マシン１１０ごとに異なるが、本実施の形態では固定時間とみなして、仮想マシン１１０の移動実行にかかる時間の計算処理は含めていない。
【００４３】
配置実行部５００は、仮想マシン移動計画表４２０−１と区画分割計画表４３０−２に従って仮想マシン１１０の配置を決定する。配置実行部５００は、移動計画記憶部５１０、仮想マシン移動部５２０、及び、分割計画記憶部５３０から構成されている。
【００４４】
移動計画記憶部５１０は、移動計画生成部４２０で生成された仮想マシン移動計画表４２０−１を格納しておく記憶領域である。
【００４５】
仮想マシン移動部５２０は、移動計画記憶部５１０に格納されている仮想マシン移動計画表４２０−１と分割計画記憶部５３０に格納されている区画分割計画表４３０−２に従って物理マシン１００へ仮想マシン１１０を配置する。具体的には、仮想マシン移動部５２０は、単位時間ごとに仮想マシン移動計画表４２０−１と区画分割計画表４３０−２を読み出す。仮想マシン移動部５２０は、読み出した仮想マシン移動計画表４２０−１のうち、移動時刻に達している仮想マシン１１０があれば、当該仮想マシン１１０を移動先に移動させる。また、仮想マシン移動部５２０は、区画分割計画表４３０−２を確認して、区画分割の時刻に達している区画が存在すれば、当該区画を分割する処理を開始する。
【００４６】
分割計画記憶部５３０は、分割計画生成部４３０で生成された区画分割計画表４３０−２と仮想マシン配置計画表４３０−３を格納する記憶領域である。
【００４７】
計画システム１０は、移動体２００から送られてきた移動ルート情報２１０−１（図４）およびルート情報３１０（図５）を元に予め移動体２００が区画を移動する時刻と場所を計算し、移動体２００が１つの区画に集まる前に、区画に割り当てる物理サーバを増やす。これによって、計画システム１０は、シミュレーションの履歴情報が無くても、サーバの負荷予想と予想に基づいた物理サーバ増設が可能になるという効果が得られる。
【００４８】
次に、図１１、図１２、図１３、及び、図１７のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００４９】
図１１は、本実施形態の全体の動作を表している。最初に、移動ルート計算部２１０が移動ルートを計算して、配置計画部４００内の移動ルート記憶部４１０に移動ルート情報２１０−１を格納する（ステップＳ１）。次に、移動計画生成部４２０が、移動ルート情報２１０−１をシミュレーション基礎情報３００（図５、図６）に基づいて仮想マシン移動計画表４２０−１（図７）に変換して、配置実行部５００内の移動計画記憶部５１０に格納する（ステップＳ２）。仮想マシン移動計画表４２０−１への変換については、図１２乃至図１６を用いて後述される。
【００５０】
次に、分割計画生成部４３０は、各区画にかかる時間（１秒）毎の負荷を計算し（ステップＳ３）、各区画の時刻負荷リスト４３０−１（図８）を作成する。各区画にかかる負荷が閾値を超えない場合（Ｓ４でＮＯ）、分割計画生成部４３０は、そのまま処理を終了する。ある区画にかかる負荷が閾値を超える場合（Ｓ４でＹＥＳ）、分割計画生成部４３０は、区画分割計画表４３０−２（図９）を作成して、配置実行部５００内の分割計画記憶部５３０に格納する（ステップＳ５）。たとえば、区画１に係る負荷が、開始時刻１４：２４：３５（１４時２４分３５秒）において閾値を超える場合、分割計画生成部４３０は、区画１を、新規区画ＩＤが１−１、１−２の２つの区画に分割し、新規区画の位置（新規区画位置４３５）を算出する。区画の分割と位置の算出については、図１７を用いて後述される。新規区画の位置が定められると、分割計画生成部４３０は、図９に示すような区画分割計画表４３０−２を生成し、分割計画記憶部５３０に格納する。他の区画についても、同様に区画分割計画表４３０−２が生成される場合がある。
【００５１】
最後に、分割計画生成部４３０は、各移動体２００の移動計画を更新する（ステップＳ６）。ステップＳ６は、次のような場合に必要となる。分割計画生成部４３０によって区画分割計画表４３０−２が作成されると、分割された区画を移動する予定の移動体２００は、移動先となる物理サーバが変更されることになる。よって、分割計画生成部４３０は、区画分割計画表４３０−２を作成すると同時に分割対象となった区画を通る移動体２００に関して、仮想マシン移動計画表４２０−１を更新する必要がある。
【００５２】
図１２は、移動計画生成部４２０の動作を示すフローチャートである。最初に、移動計画生成部４２０は、移動ルート情報２１０−１の移動開始時刻２１２と移動開始区画に含まれる区画情報３２０の物理マシンＩＤ３２６を仮想マシン移動計画表４２０−１に記録する（ステップＳ７）。次に、移動計画生成部４２０は、移動ルート情報２１０−１からルートを一つ取り出し（ステップＳ８）、ルートが存在しなければ（ステップＳ９でＮＯ）、そのまま処理を終了する。ルートが存在すれば（ステップＳ９でＹＥＳ）、移動計画生成部４２０は、当該ルートがどの区画に含まれるのかを検索する（ステップＳ１０）。検索には区画情報３２０を参照し、移動計画生成部４２０は、ルートの各中継点３１２が含まれる区画を検索する。そして、移動計画生成部４２０は、当該ルートを含む区画を決定し（ステップＳ１１）、当該ルートを含む区画が二つ以上の場合（ステップＳ１２でＹＥＳ）、当該ルートが区画の境界を超える時刻を計算する（ステップＳ１３）。そして、移動計画生成部４２０は、計算した時刻と一緒に終点を含む区画の物理マシンＩＤ３２６を仮想マシン移動計画表４２０−１に記録する（ステップＳ１４）。区画の境界を超える時刻の計算方法は、次のフローチャートにて説明する。
【００５３】
図１３は、移動計画生成部４２０により仮想マシン移動計画表４２０―１を作成する際の区画の境界を超える時刻の計算方法を表すフローチャートである。
【００５４】
最初に、移動計画生成部４２０は、当該ルートを含む２区画の境界線分を作成する（ステップＳ１５）。境界線分は、区画情報３２０（図６）の各緯度と経度を比較することによって求めることができる。図１４は、境界を超える時刻の計算方法を説明するための図である。図１４にある通り、区画１と区画２が南北に接しており、その境界線分は、始点（３９．２４５、  １４４．２３５）及び終点（３９．２４５、  １４６．２２２）を結ぶ線分となる。
【００５５】
次に、移動計画生成部４２０は、境界線分とルートとの交点を求める（ステップＳ１６）。
【００５６】
図１５は、移動計画生成部４２０により仮想マシン移動計画表４２０―１を作成する際の交点座標の求め方を記載した数式である。図１４の境界線分座標と、ルート１の座標を交点座標の計算式に当てはめると、境界線分と当該ルートの交点は、（３９．２４５、  １４５．３８１）となる。なお、図１５における座標は、それぞれ、ルートの始点の座標（ｘ１、ｙ１）、ルートの終点の座標（ｘ２、ｙ２）、区画の境界線の始点の座標（ｘ３、ｙ３）、区画の境界線の終点の座標（ｘ４、ｙ４）を表す。また、α、β、Δは、それぞれ、図１５に示すように、上記の各座標の値を用いた行列式の算出結果を示す。
【００５７】
次に、移動計画生成部４２０は、当該ルート全体の距離を計算する（ステップＳ１７）。
【００５８】
図１６は、２点間の距離を求める数式である。これをルートの始点と終点に当てはめて距離を求める。図１６では、マンハッタン距離を数式として選択しているが、ユークリッド距離など、その他の距離計算式を用いてもよい。
【００５９】
次に、移動計画生成部４２０は、ルート始点から交点までの距離を計算し（ステップＳ１８）、次に交点からルート終点までの距離を計算する（ステップＳ１９）。そして、移動計画生成部４２０は、各距離から当該ルートがそれぞれの区画に含まれる割合を計算する（ステップＳ２０）。図１４の例では、全体の距離が１．５３（約２．６８ｋｍ）であり、始点から交点までの距離が０．８５２、交点から終点までの距離が０．６７８となるので、始点から交点までの距離と交点から終点までの距離の割合は、０．５５６：０．４４９となる。
【００６０】
次に、移動計画生成部４２０は、移動体２００が当該ルートを走行する時間を計算する（ステップＳ２１）。前述の計算により、ルート１の走行時間は４分３０秒と判明している。次に、移動計画生成部４２０は、上記走行時間を区画ごとの割合で分割する（ステップＳ２２）。つまり、始点から交点までの走行時間は、１５０．１２秒、交点から終点までの走行時間は、１２１．２３秒となる。最後に、移動計画生成部４２０は、当該ルートの走行開始時刻に、分割した走行時間を足して越境時間を算出する（ステップＳ２３）。つまり、始点から交点までの走行時間である１５０．１２秒が、足された走行時間となる。
【００６１】
図１７は、分割計画生成部４３０による区画分割方法を表すフローチャートである。最初に、分割計画生成部４３０は、区画情報３２０（図６）の４つの区画境界線のうち、並行する２つの区画の境界線となる中点座標を計算する（ステップＳ２４）。ステップＳ２４は、ある区画を、南北、もしくは東西のどちらかで分割することを表している。次に、分割計画生成部４３０は、当該中点座標の緯度と経度を境界にして区画を二つに分割する（ステップＳ２５）。ステップＳ２５により、分割計画生成部４３０は、区画分割計画表４３０−２（図９）の新規区画ＩＤ４３４と、新規区画位置４３５を生成することができる。さらに、分割計画生成部４３０は、仮想マシン配置計画表４３０−３（図１０）の新規区画ＩＤ４３４と物理マシンＩＤ３２６の組み合わせを生成することができる。このステップによって、新たに物理マシン１００（物理マシンＩＤ１４）が割り当てられるものとする。次に、分割計画生成部４３０は、負荷が閾値を超過する時刻から一定時間を差し引いて、分割開始時刻４３３を作成する（ステップＳ２６）。一定時間の計算方法については、前述の通りである。次に、分割計画生成部４３０は、それぞれの区画に含まれる仮想マシン１１０を検索してリストを作成する（ステップＳ２７）。ステップＳ２７によって、分割計画生成部４３０は、仮想マシン配置計画表４３０−３の実行仮想マシンＩＤ４２１のリストを得ることができる。最後に、分割した区画に含まれる仮想マシン１１０について、分割計画生成部４３０は、仮想マシン移動計画表４２０−１（図７）を更新する（ステップＳ２８）。
【００６２】
以上で本発明の第一の実施形態の動作の説明を終了する。ここで、移動計画生成部４２０、分割計画生成部４３０、及び、仮想マシン移動部５２０は、例えば、論理回路等のハードウェア回路で構成される。
【００６３】
また、移動ルート記憶部４１０、移動計画記憶部５１０、及び、分割計画記憶部５３０は、例えば、ディスク装置、半導体メモリ等の記憶装置で構成される。
【００６４】
また、メモリ３５０、移動計画生成部４２０、分割計画生成部４３０、及び、仮想マシン移動部５２０は、コンピュータ装置によって実現されてもよい。この場合、移動計画生成部４２０、分割計画生成部４３０、及び、仮想マシン移動部５２０は、コンピュータである配置計画部４００、配置実行部５００のプロセッサが、図示されないメモリ上のプログラムを実行することで実現される制御回路であってもよい。プログラムは、不揮発性メモリに格納されてもよい。プログラムは、図１１乃至図１３および図１７に示すフローチャートを実行するための命令等を含んでもよい。
【００６５】
本実施形態に係る計画システム１０は、以下に記載するような効果を奏する。
【００６６】
本実施の形態では、シミュレーションの履歴情報が無くても、サーバの負荷予想と予想に基づいた物理サーバ増設ができる、という効果を奏する。
【００６７】
その理由は、移動体２００から送られてきた移動ルート情報２１０−１を基に予め移動体２００が区画を移動する時刻と場所を計算し、移動体２００が、ある区画に集まる前に、区画に割り当てる物理サーバを増やすからである。
【００６８】
具体的に、計画システム１０は、移動体２００が計画する移動ルートに基づいて、移動体シミュレーションにおいて移動体２００を表す仮想マシン１１０の移動計画を生成する、移動計画生成部４２０を含むからである。そして、計画システム１０は、仮想マシン１１０の移動計画に基づいて、仮想マシン１１０が動作する物理マシン１００の負荷を予測し、移動体シミュレーションにおける地理上の領域を分割した区画に、物理マシン１００を割り当てる、分割計画生成部４３０を含むからである。
＜第二の実施形態＞
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
【００６９】
図１８は、第二の実施形態に係る、計画システム２０の構成の一例を示すブロック図である。
【００７０】
図１８を参照すると、本発明の第二の実施の形態を実施するための計画システム２０の形態は、第一の実施の形態に加えて、補正情報提供部６００を備え、さらに、配置計画部４００に移動計画補正部４４０を備える。そして、補正情報提供部６００は、補正移動ルート情報６１０と補正ルート情報６２０から構成される。
【００７１】
これらの構成要素は、それぞれ概略、次のように動作する。
【００７２】
移動計画補正部４４０は、補正情報提供部６００から送られてくる移動体２００の移動ルートやその他の補正情報を用いて、当該移動体２００の仮想マシン移動計画表４２０−１を補正する。補正情報とは、具体的には、移動体２００のルート変更や、あるルートの速度制限３１１の変更などを想定する。移動体２００のルート変更は、たとえば、車がカーナビゲーションシステムの指示どおりに移動せず、誤った道を選択した場合などが具体例として挙げられる。また、速度制限３１１の変更は、渋滞や事故などにより、それまでと同じ速度で当該ルートを走行できなくなった場合などが具体例として挙げられる。
【００７３】
移動計画補正部４４０は、補正情報提供部６００から送られてくる情報の種類によって振る舞いを変える。補正情報提供部６００から送られてくる情報が補正移動ルート情報６１０の場合は、移動計画補正部４４０は、補正移動ルート情報６１０が送られてきた時刻以降の移動計画表４２０−１の時刻と物理マシンＩＤ３２６の組み合わせを削除して、改めて通過する区画と時刻情報を計算し直す。また、補正ルート情報６２０が送られてきた場合は、移動計画補正部４４０は、仮想マシン移動計画表４２０−１の区画移動時刻のみを変更する。
【００７４】
補正情報提供部６００は、移動計画補正部４４０に対して、仮想マシン移動計画表４２０−１の補正情報を提供する。
【００７５】
補正移動ルート情報６１０は、移動体２００の移動ルートが変更された場合に作成され、移動計画補正部４４０に対して送信される。図１９に補正移動ルート情報６１０のデータ構造の一例を示す。図１９に示す通り、補正移動ルート情報６１０は、移動体ＩＤ２１１、移動開始時刻２１２、移動終了時刻２１３、現在地２１４、目的地２１５、及び、ルートＩＤ２１６から構成される。基本的なデータ構造としては、図４に示した移動ルート情報２１０−１と同じである。
【００７６】
補正ルート情報６２０は、移動体２００の通るルートに関して、渋滞や事故などによって速度制限３１１に変更があった場合に作成され、移動計画補正部４４０に対して送信される。図２０に、補正ルート情報６２０のデータ構造の一例を示す。図２０に示す通り、補正ルート情報６２０は、ルートＩＤ２１６と変更速度制限６２１から構成される。補正ルート情報６２０に記載されたルートＩＤ２１６をルートとして持つ移動体２００は、当該移動体２００の仮想マシン移動計画表４２０−１の移動時刻を更新することになる。
【００７７】
次に、図２１のフローチャートを参照して、移動計画補正部４４０の処理手順を説明する。
【００７８】
まず、移動計画補正部４４０は、送られてきた補正情報が補正ルート情報６２０であるか確認する（ステップＳ２９）。補正ルート情報６２０であれば（Ｓ３０のＹＥＳ）、移動計画補正部４４０は、補正ルート情報６２０に含まれる変更速度制限６２１を使ってルート情報３１０を更新する（ステップＳ３３）。次に、移動計画補正部４４０は、補正ルート情報６２０に含まれるルートを通る全ての移動体２００の移動ルート情報２１０−１を検索する（ステップＳ３４）。補正ルート情報６２０に含まれるルートを通る移動体２００があれば、移動計画補正部４４０は、当該移動体２００の移動ルート情報２１０−１を変換して、配置計画部４００内の移動ルート記憶部４１０に格納する（ステップＳ３５）。
【００７９】
補正ルート情報６２０でなければ（Ｓ３０でＮＯ）、補正移動ルートが送られてきているので、移動計画補正部４４０は、補正移動ルートの処理手順を実行する。まず、移動計画補正部４４０は、該当する移動体２００の既存の仮想マシン移動計画表４２０−１を削除する（ステップＳ３１）。次に、移動計画補正部４４０は、補正移動ルート情報６１０を仮想マシン移動計画表４２０−１に変換して移動計画記憶部５１０に格納する（ステップＳ３２）。なお、補正移動ルート情報６１０を仮想マシン移動計画表４２０−１に変換する手法は、本発明の第一の実施の形態における移動計画生成部４２０の機能と同じであるので、説明を省略する。
【００８０】
本実施形態に係る計画システム２０は、以下に記載するような効果を奏する。
【００８１】
本実施の形態では、移動体２００の振る舞いに呼応して、物理サーバの負荷予想を動的に変更することができる、という効果を奏する。
【００８２】
その理由は、計画システム２０が、移動体２００の移動ルート変更情報や、ルートの速度制限変更情報に従って、関連する移動体２００の移動ルート情報２１０−１や、仮想マシン移動計画表４２０−１を変更するように構成されているからである。
＜第三の実施形態＞
次に、本発明の第三の実施の形態について図面を参照して詳細に説明する。
【００８３】
図２２は、第三の実施形態に係る、計画システム１２００の構成の一例を示すブロック図である。
【００８４】
計画システム１２００は、移動計画生成部１２１０、及び、分割計画生成部１２２０から構成される。
【００８５】
移動計画生成部１２１０は、移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて移動体を表す仮想マシンの移動計画を生成する。
【００８６】
分割計画生成部１２２０は、仮想マシンの移動計画に基づいて、仮想マシンが動作する物理マシンの負荷を予測し、移動体シミュレーションにおける地理上の領域を分割した区画に、物理マシンを割り当てる。
【００８７】
本実施形態に係る計画システム１２００は、以下に記載するような効果を奏する。
【００８８】
本実施の形態では、シミュレーションの履歴情報が無くても、サーバの負荷予想と予想に基づいた物理サーバの増設ができる、という効果を奏する。
【００８９】
その理由は、以下である。すなわち、移動計画生成部１２１０は、移動体が計画する移動ルートに基づいて、移動体シミュレーションにおいて移動体を表す仮想マシンの移動計画を生成する。そして、分割計画生成部１２２０は、仮想マシンの移動計画に基づいて、仮想マシンが動作する物理マシンの負荷を予測し、移動体シミュレーションにおける地理上の領域を分割した区画に、物理マシンを割り当てるからである。
【００９０】
以上、図面を参照して本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
＜具体例＞
次に、具体的な実施例を用いて、本発明を実施するための形態の具体例について説明する。
【００９１】
図２３は、本発明の第１の実施の形態に関する具体例１の計画システム３０の構成を示すブロック図である。
【００９２】
図２３に示す通り、本発明の第１の実施の形態に関して、移動体２００の具体例として交通シミュレータであるＳＵＭＯ（Ｓｉｍｕｌａｔｉｏｎ  ｏｆ  Ｕｒｂａｎ  Ｍｏｂｉｌｉｔｙ、登録商標）７００を用いる。また仮想マシン移動部５２０の具体例として、ＫＶＭ（Ｋｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）  ｌｉｖｅ  ｍｉｇｒａｔｉｏｎ（登録商標）８００を用いる。さらに、物理マシン１００群としてＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）９００を用い、仮想マシン１１０としてＫＶＭ１０００を用いる。
【００９３】
図２４は、本発明の第１の実施の形態に関する他の具体例２の計画システム４０の構成を示すブロック図である。
【００９４】
また、図２４に示す通り、本発明の第１の実施の形態に関して、移動体２００の具体例として、実際の車１１００と車１１００に搭載されているカーナビゲーションシステムを用いることもできる。このような利用方法としては、移動体２００（本具体例では車１１００）に搭載されているクライアント端末と、移動体２００の外に配置されている仮想マシン１１０が相互に通信している状態において、移動体２００の移動に追従して仮想マシン１１０を当該移動体２００の地理上の最も近傍に移動させる場合などが考えられる。移動体２００の近傍に仮想マシン１１０を移動させることによって、通信にかかる遅延を減少させる効果が得られる。
【００９５】
本実施の形態では、車載のカーナビゲーションシステムで出力されるナビゲーション情報を、移動ルート計算部２１０によって、本発明の移動ルート情報２１０−１に変換し、仮想マシン１１０が集まりそうな場所にある物理マシン１００については、事前に物理マシン１００の増設等を指示することができる。
【００９６】
この出願は、２０１５年１２月８日に出願された日本出願特願２０１５−２３９５１０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９７】
１０    計画システム
２０    計画システム
３０    計画システム
４０    計画システム
１００    物理マシン
１１０    仮想マシン
１２０    移動体シミュレーションプログラム
２００    移動体
２１０    移動ルート計算部
２１０−１    移動ルート情報
２１１    移動体ＩＤ
２１２    移動開始時刻
２１３    移動終了時刻
２１４    現在地
２１５    目的地
２１６    ルートＩＤ
３００    シミュレーション基礎情報
３１０    ルート情報
３１１    速度制限
３１２    中継点
３２０    区画情報
３２１    区画ＩＤ
３２２    北側緯度
３２３    南側緯度
３２４    西側経度
３２５    東側経度
３２６    物理マシンＩＤ
３５０    メモリ
４００    配置計画部
４１０    移動ルート記憶部
４２０    移動計画生成部
４２０−１    仮想マシン移動計画表
４２１    仮想マシンＩＤ
４２２    仮想マシン起動時刻
４２３    仮想マシン移動時刻
４３０    分割計画生成部
４３０−１    時刻負荷リスト
４３０−２    区画分割計画表
４３０−３    仮想マシン配置計画表
４３１    時刻
４３２    仮想マシン数
４３３    開始時刻
４３４    新規区画ＩＤ
４３５    新規区画位置
５００    配置実行部
５１０    移動計画記憶部
５２０    仮想マシン移動部
５３０    分割計画記憶部
６００    補正情報提供部
６１０    補正移動ルート情報
６２０    補正ルート情報
６２１    変更速度制限
７００    ＳＵＭＯ
８００    ＫＶＭ  ｌｉｖｅ  ｍｉｇｒａｔｉｏｎ
９００    ＰＣ
１０００    ＫＶＭ
１１００    車
１２００    計画システム
１２１０    移動計画生成部
１２２０    分割計画生成部
２０００    地図
３０００    移動体
４０００    物理マシン
４００１    物理マシン
４００２    物理マシン
４００３    物理マシン
【図１】
2017099061.tif 000003
【図２】
2017099061.tif 000004
【図３】
2017099061.tif 000005
【図４】
2017099061.tif 000006
【図５】
2017099061.tif 000007
【図６】
2017099061.tif 000008
【図７】
2017099061.tif 000009
【図８】
2017099061.tif 000010
【図９】
2017099061.tif 000011
【図１０】
2017099061.tif 000012
【図１１】
2017099061.tif 000013
【図１２】
2017099061.tif 000014
【図１３】
2017099061.tif 000015
【図１４】
2017099061.tif 000016
【図１５】
2017099061.tif 000017
【図１６】
2017099061.tif 000018
【図１７】
2017099061.tif 000019
【図１８】
2017099061.tif 000020
【図１９】
2017099061.tif 000021
【図２０】
2017099061.tif 000022
【図２１】
2017099061.tif 000023
【図２２】
2017099061.tif 000024
【図２３】
2017099061.tif 000025
【図２４】
2017099061.tif 000026
【国際調査報告】
2017099061.tif 000027
2017099061.tif 000028
2017099061.tif 000029
2017099061.tif 000030