(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022158642
(43)【公開日】2022-10-17
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
G06F 16/28 20190101AFI20221006BHJP
【FI】
G06F16/28
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021063675
(22)【出願日】2021-04-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】野口 泰生
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA07
5B175KA12
(57)【要約】
【課題】グラフDBにおけるデータ配置の不整合による性能低下を防止する。
【解決手段】ネットワークに含まれる複数のノードのうちのスイッチ毎に、各スイッチから所定ホップ数以内のノードと当該ノード間のエッジとをまとめてデータベースに登録し、データベースを参照して、複数のノードの間における接続関係を表すグラフを提示する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
ネットワークに含まれる複数のノードのうちのスイッチ毎に、各スイッチから所定ホップ数以内のノードと当該ノード間のエッジとをまとめてデータベースに登録し、
前記データベースを参照して、前記複数のノードの間における接続関係を表すグラフを提示する、
プロセッサを備える、情報処理装置。
【請求項2】
前記プロセッサは、
複数の前記スイッチ毎に、前記ノードと前記エッジとをまとめて複数の前記データベースにそれぞれ登録し、
前記複数のデータベースを統合して、前記グラフを提示する、
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、
前記データベースにより生成される探索木に対して幅優先探索又は深さ優先探索を実行することにより、前記データベースを参照する、
請求項1又は2に記載の情報処理装置。
【請求項4】
ネットワークに含まれる複数のノードのうちのスイッチ毎に、各スイッチから所定ホップ数以内のノードと当該ノード間のエッジとをまとめてデータベースに登録し、
前記データベースを参照して、前記複数のノードの間における接続関係を表すグラフを提示する、
処理をプロセッサが実行する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
Virtual Machine(VM)や仮想ストレージが配備された物理サーバやストレージ装置の関連性を構成情報としてフルスタックビューにより可視化する技術として、フルスタック可視化がある。
【0003】
構成情報は、サーバやスイッチ,ストレージ等の物理資源及び仮想資源とその接続関係とを保持し、グラフDatabase(DB)により利用される。グラフDBは、ネットワークにおける物理資源及び仮想資源とその接続関係とを探索木に変換して、幅優先探索又は深さ優先探索によりトラバースされる。
【0004】
グラフDBにおいては、ノードとエッジとがそれぞれまとめて登録順に格納される。別言すれば、グラフDBにおいては、ノードとエッジとが離れて格納される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2015/145664号
【特許文献2】特開平6-103200号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のようなグラフDBのリードは、ノード及びエッジのデータサイズよりも大きいブロック単位で行われる。そのため、リードしたブロックの中には、幅優先探索又は深さ優先探索によってネットワーク内の次のノード及びエッジを探索するために必要なノードやエッジのデータだけではなく、不要なノードやエッジのデータも含まれている。これらの不要なデータはリードした時点で捨てられるが、探索を続けることにより、将来に必要になることがある。このため同じブロックを繰り返しリードすることになる。別言すれば、検索パスとデータ配置との不整合により、ノードとエッジとの反復リードによるシークが頻発し、ブロックアクセスによる不要データのリードが発生することにより、性能低下が生じるおそれがある。
【0007】
1つの側面では、グラフDBにおけるデータ配置の不整合による性能低下を防止することを目的とする。
【課題を解決するための手段】
【0008】
1つの側面では、情報処理装置は、ネットワークに含まれる複数のノードのうちのスイッチ毎に、各スイッチから所定ホップ数以内のノードと当該ノード間のエッジとをまとめてデータベースに登録し、前記データベースを参照して、前記複数のノードの間における接続関係を表すグラフを提示する。
【発明の効果】
【0009】
1つの側面では、グラフDBにおけるデータ配置の不整合による性能低下を防止することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態におけるネットワークシステムの構成例を模式的に示すブロック図である。
【
図2】
図1に示したネットワークシステムの一部におけるネットワークの接続関係を例示する図である。
【
図3】
図2に示したネットワークの接続関係の探索木を例示する図である。
【
図4】
図2に示したネットワークの接続関係についてのグラフDBにおけるデータ配置を例示する図である。
【
図5】
図4に示したグラフDBにおける幅優先探索を例示する図である。
【
図6】実施形態における情報処理装置のハードウェア構成例を模式的に示すブロック図である。
【
図7】
図6に示した情報処理装置におけるソフトウェア構成例を模式的に示すブロック図である。
【
図8】実施形態において
図2示したネットワークのスイッチ単位での接続関係を例示する図である。
【
図9】
図8に示したネットワークの接続関係についてのスイッチ単位のグラフDBにおけるデータ配置を例示する図である。
【
図10】
図9に示したスイッチ単位のグラフDBに対する幅優先探索を説明する図である。
【
図11】
図9に示したスイッチ単位のグラフDBに対する深さ優先探索を説明する図である。
【
図12】実施形態としての情報処理装置における第2構成情報DBの作成処理を説明するフローチャートである。
【
図13】変形例としての情報処理装置におけるソフトウェア構成例を模式的に示すブロック図である。
【
図14】変形例としてのネットワークのスイッチ単位での複数の接続関係を例示する図である。
【
図15】変形例としての情報処理装置における第3構成情報DBの作成処理を説明するフローチャートである。
【発明を実施するための形態】
【0011】
〔A〕実施形態
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0012】
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
【0013】
〔A-1〕構成例
図1は、実施形態におけるネットワークシステム100の構成例を模式的に示すブロック図である。
【0014】
ネットワークシステム100は、テナント21,サービス22,VM23,仮想ボリューム24,サーバ25及びストレージ26を備える。なお、VM23は、コンテナであってもよい。また、サーバ25及びストレージ26は、まとめて物理リソースと称されてもよい。VM23,仮想ボリューム24,サーバ25及びストレージ26は、まとめてノードと称されてもよい。
【0015】
VM23及び仮想ボリューム24は、仮想基盤201上に展開され、構成情報及び性能情報によって管理される。また、仮想ボリューム24,サーバ25及びストレージ26は、物理基盤202上に展開され、構成情報及び性能情報によって管理される。
【0016】
構成情報は、サーバ25やスイッチ27,ストレージ26等の物理資源及び仮想資源とその接続関係とを保持し、グラフDBにより利用される。性能情報は、物理資源及び仮想資源の性能や障害に関する情報を含み、数表の管理が容易なリレーショナルDBにより利用される。
【0017】
図1に示すネットワークシステム100に対して、VM23や仮想ボリューム24が配備されたサーバ25やストレージ26の関連性が構成情報としてフルスタックビューにより可視化される。
【0018】
フルスタック可視化では、管理基盤が異なるクラウド基盤の仮想リソースや物理リソースを一元表示することにより、複数の顧客で共有する物理リソースの障害等の影響範囲を把握可能となる。また、物理リソース及び仮想リソースの性能情報及び障害情報がフルスタックビューに重ねて表示されてもよい。
【0019】
図2は、
図1に示したネットワークシステム100の一部におけるネットワークの接続関係を例示する図である。
【0020】
図2に示す例では、
図1に示した物理リソースとしてのサーバ25(SV0~SV3)及びストレージ26(D0~D3)に加えて、スイッチ27(SW0, SW1)が示されている。サーバ25,ストレージ26及びスイッチ27の各ノードは、エッジ(L0~L8)によって接続されている。
【0021】
SV0及びSV1はL0及びL1をそれぞれ介してSW0に接続され、SV2及びSV3はL2及びL3をそれぞれ介してSW1に接続されている。また、D0及びD1はL5及びL6をそれぞれ介してSW0に接続され、D2及びD3はL7及びL8をそれぞれ介してSW1に接続されている。更に、SW0とSW1とはL4を介して接続されている。
【0022】
図3は、
図2に示したネットワークの接続関係の探索木を例示する図である。
【0023】
図3に示す探索木は、SV0を起点としている。「SV0からN=3ホップ以内のノード及びエッジを探索」というクエリが発行されると、グラフDBにおいて幅優先探索又は深さ優先探索でSV0起点の探索木がトラバースされる。
【0024】
図3に示す例において、幅優先探索では、SV0->L0->SW0->L1->SV1->L4->SW1->L5->D0->L6->D1->L2->SV2->L3->SV3->L7->D2->L8->D3の順にトラバースされる。また、深さ優先探索では、SV0->L0->SW0->L1->SV1->L4->SW1->L2->SV2->L3->SV3->L7->D2->L8->D3 ->L5->D0->L6->D1の順にトラバースされる。
【0025】
図4は、
図2に示したネットワークの接続関係についてのグラフDBにおけるデータ配置を例示する図である。
【0026】
符号A1に示すように、グラフDBにおいては、ノードとエッジとがそれぞれまとめて登録順に格納されており、ノードとエッジとがDBファイル上で離れて格納されている。
【0027】
DBファイルの領域はノード及びエッジのデータサイズよりも大きいブロック単位で管理され、複数ノードやエッジが同一ブロックに格納されている。符号A2に示す例では、SV0とSV1とが同じブロックに格納されている。また、SV2とSV3とが同じブロックに格納され、SW0とSW1とが同じブロックに格納され、D0とD1とが同じブロックに格納され、D2とD3とが同じブロックに格納され、L0~L5が同じブロックに格納され、L6~L9が同じブロックに格納されている。
【0028】
図5は、
図4に示したグラフDBにおける幅優先探索を例示する図である。
【0029】
上述したように、幅優先探索では、SV0->L0->SW0->L1->SV1->L4->SW1->L5->D0->L6->D1->L2->SV2->L3->SV3->L7->D2->L8->D3の順にトラバースが行われる。
【0030】
符号B1に示すようにSV0を含むブロックがリードされた後にシークが行われ、符号B2に示すようにL0を含むブロックがリードされた後にシークが行われ、符号B3に示すようにSW0を含むブロックがリードされた後にシークが行われる。続いて、符号B4に示すようにL1を含むブロックがリードされた後にシークが行われ、符号B5に示すようにSV1を含むブロックがリードされた後にシークが繰り返し行われ、最後に、符号B6に示すようにD3を含むブロックがリードされる。
【0031】
図5に示す例では、シークが18回行われ、ブロックリードは19回行われている。また、各ブロックリードでは、不要なノード又はエッジの読み出しも同時に行われており、キャッシュヒットする可能性があるが、将来のどの時点で読み出しが行われるかわからないため、ヒット率を向上させる制御は行われていない。深さ優先探索でも、同様に、不要なノード又はエッジの読み出しも同時に行われ、キャッシュヒットする可能性があるがヒット率を向上させる制御は行われない。
【0032】
このように、幅優先探索又は深さ優先探索によってネットワーク内の全てのノード及びエッジを探索しようとすると、同じブロックを繰り返しリードすることになる。別言すれば、ノードとエッジとの反復リードによるシークが頻発し、ブロックアクセスによる不要データのリードが発生することにより、検索パスとデータ配置との不整合による性能低下が生じるおそれがある。
【0033】
図6は、実施形態における情報処理装置1のハードウェア構成例を模式的に示すブロック図である。
【0034】
情報処理装置1は、Central Processing Unit(CPU)11,メモリ部12,記憶装置13、ネットワークInterface(IF)14,Graphic Processing Unit(GPU)15,入力IF16,光学ドライブ装置17及び機器接続IF18を備える。
【0035】
メモリ部12は、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。RAMは、例えばDynamic RAM(DRAM)であってよい。メモリ部12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ部12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ部12のRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【0036】
記憶装置13は、例示的に、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD),Storage Class Memory(SCM)が用いられてよい。記憶装置13は、
図7を用いて後述する第1構成情報DB131及び第2構成情報DB132を記憶する。
【0037】
ネットワークIF14は、情報処理装置1を
図1に示したネットワークシステム100等を含むネットワークに接続させる。
【0038】
GPU15は、表示装置150への映像の出力を制御する。GPU15としての機能はCPU11の内部に備えられていてもよいし、GPU15がCPU11の演算処理の一部を実行してもよい。表示装置150は、液晶ディスプレイやOrganic Light-Emitting Diode(OLRD)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。
【0039】
入力IF16は、入力装置160からの情報の入力を制御する。入力装置160は、例えば、マウス、トラックボール、キーボードであり、この入力装置160を介して、オペレータが各種の入力操作を行う。入力装置160及び表示装置150は組み合わされたものでもよく、例えば、タッチパネルでもよい。
【0040】
光学ドライブ装置17は、光学ディスク170が装着可能に構成される。光学ドライブ装置17は、光学ディスク170が装着された状態において、光学ディスク170記録されている情報を読み取り可能に構成される。本例では、光学ディスク170は可搬性を有する。光学ディスク170は、コンピュータ読取可能な記録媒体であって、例えば、フレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等)又はブルーレイディスクである。
【0041】
機器接続IF18は、半導体メモリ等の接続機器180が装着可能に構成される。
【0042】
図7は、
図6に示した情報処理装置1におけるソフトウェア構成例を模式的に示すブロック図である。
【0043】
CPU11は、種々の制御や演算を行なう処理装置であり、メモリ部12に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。すなわち、CPU11は、
図7に示すように、構成情報取得部111,再構成部112及び表示部113として機能する。
【0044】
なお、これらの構成情報取得部111,再構成部112及び表示部113としての機能を実現するためのプログラムは、例えば前述した光学ディスク170又は接続機器180に記録された形態で提供される。そして、コンピュータは光学ドライブ装置17又は機器接続IF18を介して光学ディスク170又は接続機器180からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【0045】
構成情報取得部111,再構成部112及び表示部113としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ部12)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【0046】
CPU11は、例示的に、情報処理装置1全体の動作を制御する。情報処理装置1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、情報処理装置1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
【0047】
構成情報取得部111は、各ノード及び各エッジの接続関係を構成情報として第1構成情報DB131に格納する。第1構成情報DB131では、
図4に示したように接続関係のあるノードとエッジとが近傍に格納されていない。
【0048】
再構成部112は、第1構成情報DB131から第2構成情報DB132を作成する。第2構成情報DB132は、
図9を用いて後述するように接続関係のあるノードとエッジとが近傍に格納された、第1構成情報DB131を再構成したDBである。
【0049】
別言すれば、再構成部112は、ネットワークに含まれる複数のノードのうちのスイッチ27毎に、各スイッチ27から所定ホップ数以内のノードと当該ノード間のエッジとをまとめて第2構成情報DB132に登録する。
【0050】
表示部113は、第2構成情報DB132を読み出して、グラフDBとしてフルスタック可視化して
図6に示した表示装置150に表示させる。また、表示部113は、第2構成情報DB132又はフルスタック可視化したグラフDBを情報処理装置1の外部に出力してもよい。
【0051】
別言すれば、表示部113は、第2構成情報DB132を参照して、複数のノードの間における接続関係を表すグラフDBを提示する。また、表示部113は、第2構成情報DB132により生成される探索木に対して幅優先探索又は深さ優先探索を実行することにより、第2構成情報DB132を参照してよい。
【0052】
図8は、実施形態において
図2示したネットワークのスイッチ27単位での接続関係を例示する図である。
図9は、
図8に示したネットワークの接続関係についてのスイッチ27単位のグラフDBにおけるデータ配置を例示する図である。
【0053】
図8においては、スイッチ27単位にクラスタを構成してネットワークが示されている。これにより、
図9に示すように、スイッチ27に1ホップで繋がるノードと当該ノード間のエッジとを纏めて第2構成情報DB132に登録し、エッジを多数持つスイッチ27と当該スイッチ27に接続するエッジとを近傍に配置することができる。
【0054】
図9に示す例において、符号C1には、スイッチ27のブロックとして、SW0を含むブロックと、L4,SW1を含むブロックとが示されている。また、符号C2には、SW0のクラスタで編成されるブロックとして、L0,SV0を含むブロックと、L1,SV1を含むブロックと、L5,D0を含むブロックと、L6,D1を含むブロックとが示されている。更に、符号C3には、SW1のクラスタで編成されるブロックとして、L2,SV2を含むブロックと、L3,SV3を含むブロックと、L7,D2を含むブロックと、L8,D3を含むブロックとが示されている。
【0055】
図10は、
図9に示したスイッチ27単位のグラフDBに対する幅優先探索を説明する図である。
【0056】
始めに符号G1に示すようにL0,SV0のブロックがリードされてシークが行われた後、符号G2に示すようにSW0のブロックがリードされてシークが行われる。続いて、符号G3に示すようにL1,SV1のブロックがリードされてシークが行われた後、符号G4に示すようにL4,SW1のブロックがリードされてシークが行われる。最後に、符号G5に示すように、L5,D0のブロックと、L6,D1のブロックと、L2,SV2のブロックと、L3,SV3のブロックと、L7,D2のブロックと、L8,D3のブロックとが纏めてリードされる。
【0057】
図10に示す幅優先探索ではシークが4回、ブロックリードが10回となり、
図5に示した探索よりもシーク及びブロックリードの回数を大幅に削減できる。
【0058】
図11は、
図9に示したスイッチ27単位のグラフDBに対する深さ優先探索を説明する図である。
【0059】
始めに符号E1に示すようにL0,SV0のブロックがリードされてシークが行われた後、符号E2に示すようにSW0のブロックがリードされてシークが行われる。続いて、符号E3に示すようにL1,SV1のブロックがリードされてシークが行われた後、符号E4に示すようにL4,SW1のブロックがリードされてシークが行われる。続いて、符号E5に示すように、L2,SV2のブロックと、L3,SV3のブロックと、L7,D2のブロックと、L8,D3のブロックとが纏めてリードされてシークが行われる。最後に、符号E6に示すように、L5,D0のブロックと、L6,D1のブロックとが纏めてリードされる。
【0060】
図11に示す幅優先探索ではシークが5回、ブロックリードが10回となり、
図5に示した探索よりもシーク及びブロックリードの回数を大幅に削減できる。
【0061】
〔A-2〕動作例
実施形態としての情報処理装置1における第2構成情報DB132の作成処理を、
図12に示すフローチャート(ステップS1~S9)に従って説明する。
【0062】
再構成部112は、第1構成情報DB131から「スイッチを検索」して結果をLとする(ステップS1)。
【0063】
再構成部112は、第1構成情報DB131から「スイッチとスイッチとの間のエッジを検索」して結果をCとする(ステップS2)。
【0064】
再構成部112は、第2構成情報DB132を初期化する(ステップS3)。
【0065】
再構成部112は、第2構成情報DB132に結果Cを登録する(ステップS4)。
【0066】
再構成部112は、結果Lが空であるかを判定する(ステップS5)。
【0067】
結果Lが空である場合には(ステップS5のYESルート参照)、再構成部112は、第1構成情報DB131のノード及びエッジの中で未登録のものを第2構成情報DB132に登録する(ステップS6)。そして、第2構成情報DB132の作成処理は終了する。
【0068】
一方、結果Lが空でない場合には(ステップS5のNOルート参照)、再構成部112は、結果Lからスイッチ27を取り出す(ステップS7)。
【0069】
再構成部112は、第1構成情報DB131から「スイッチからホップ数が1のノード及びエッジを検索」して結果をCとする(ステップS8)。
【0070】
再構成部112は、結果Cのノード及びエッジの中で未登録のものを第2構成情報DB132に登録する(ステップS9)。そして、処理はステップS5へ戻る。
【0071】
〔B〕変形例
上述した実施形態においては、ネットワークの接続関係についてのスイッチ27単位の1つのグラフDBを保持することとしたが、グラフDBはスイッチ27毎に複数が保持されてもよい。
【0072】
図13は、変形例としての情報処理装置1におけるソフトウェア構成例を模式的に示すブロック図である。
【0073】
図13においては、
図7に示した実施形態におけるソフトウェア構成例と比較して、クエリ変換部114が追加されていると共に、第2構成情報DB132が複数の第3構成情報DB133に置き換えられている。
【0074】
本変形例において、再構成部112は、第1構成情報DB131から複数の第3構成情報DB133を作成する。各第3構成情報DB133は、第2構成情報DB132と同様に、第1構成情報DB131から再構成されたDBであり、接続関係のあるノードとエッジとが近傍に格納されている。
【0075】
別言すれば、再構成部112は複数のスイッチ27毎にノードとエッジとをまとめて複数の第3構成情報DB133にそれぞれ登録する。
【0076】
クエリ変換部114は、第3構成情報DB133のクエリを変換して、一纏めのグラフDBとして表示部113へ出力する。
【0077】
別言すれば、クエリ変換部114は、複数の第3構成情報DB133を統合して、グラフDBとして表示部113に提示させる。
【0078】
図14は、変形例としてのネットワークのスイッチ単位での複数の接続関係を例示する図である。
【0079】
図14に示す例では、符号F1において、スイッチDBとして、L4で接続されたSW0,SW1が登録されている。また、符号F2において、クラスタDB#0として、L0,L1,L5,L6を介してそれぞれSW0に接続されたSV0,SV1,D0,D1が登録されている。更に、符号F3において、クラスタDB#1として、L2,L3,L7,L8を介してそれぞれSW1に接続されたSV2,SV3,D2,D3が登録されている。
【0080】
変形例としての情報処理装置1における第3構成情報DB133の作成処理を、
図15に示すフローチャート(ステップS11~S21)に従って説明する。
【0081】
再構成部112は、第1構成情報DB131から「スイッチを検索」して結果をLとする(ステップS11)。
【0082】
再構成部112は、第1構成情報DB131から「スイッチとスイッチとの間のエッジを検索」して結果をCとする(ステップS12)。
【0083】
再構成部112は、第3構成情報DB133のうちのスイッチDB(
図14の符号F1参照)を初期化する(ステップS13)。
【0084】
再構成部112は、スイッチDBに結果Cを登録する(ステップS14)。
【0085】
再構成部112は、結果Lが空であるかを判定する(ステップS15)。
【0086】
結果Lが空である場合には(ステップS15のYESルート参照)、再構成部112は、第3構成情報DB133のうちの残りのDBを初期化する(ステップS16)。
【0087】
再構成部112は、第1構成情報DB131のノード及びエッジの中で未登録のものを残りのDBに登録する(ステップS17)。そして、第3構成情報DB133の作成処理は終了する。
【0088】
ステップS15において、結果Lが空でない場合には(ステップS15のNOルート参照)、再構成部112は、結果Lからスイッチ27を取り出す(ステップS18)。
【0089】
再構成部112は、第1構成情報DB131から「スイッチからホップ数が1のノード及びエッジを検索」して結果をCとする(ステップS19)。
【0090】
再構成部112は、第3構成情報DB133のうちクラスタDB(
図14の符号F2及びF3参照)を初期化する(ステップS20)。
【0091】
再構成部112は、結果Cのノード及びエッジをクラスタDBに登録する(ステップS21)。そして、処理はステップS15へ戻る。
【0092】
〔C〕効果
上述した実施形態の一例における情報処理装置1及び情報処理方法によれば、例えば、以下の作用効果を奏することができる。
【0093】
再構成部112は、ネットワークに含まれる複数のノードのうちのスイッチ27毎に、各スイッチ27から所定ホップ数以内のノードと当該ノード間のエッジとをまとめて第2構成情報DB132に登録する。表示部113は、第2構成情報DB132を参照して、複数のノードの間における接続関係を表すグラフDBを提示する。なお、再構成部112は複数のスイッチ27毎にノードとエッジとをまとめて複数の第3構成情報DB133にそれぞれ登録し、クエリ変換部114は複数の第3構成情報DB133を統合して、表示部113はグラフDBを提示してもよい。
【0094】
これにより、グラフDBにおけるデータ配置の不整合による性能低下を防止することができる。具体的には、幅優先探索又は深さ優先探索によってネットワーク内の全てのノード及びエッジを探索したとしても、同じブロックを繰り返しリードすることがなくなる。別言すれば、ノードとエッジとの反復リードによるシークの発生回数を低減させ、ブロックアクセスによる不要データのリードを防止することにより、検索パスとデータ配置との不整合による性能低下を防止できる。
【0095】
表示部113は、第2構成情報DB132により生成される探索木に対して幅優先探索又は深さ優先探索を実行することにより、第2構成情報DB132を参照する。これにより、グラフDBの作成を効率的に行える。
【0096】
〔D〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0097】
〔E〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【0098】
(付記1)
ネットワークに含まれる複数のノードのうちのスイッチ毎に、各スイッチから所定ホップ数以内のノードと当該ノード間のエッジとをまとめてデータベースに登録し、
前記データベースを参照して、前記複数のノードの間における接続関係を表すグラフを提示する、
プロセッサを備える、情報処理装置。
【0099】
(付記2)
前記プロセッサは、
複数の前記スイッチ毎に、前記ノードとエッジとをまとめて複数の前記データベースにそれぞれ登録し、
前記複数のデータベースを統合して、前記グラフを提示する、
付記1に記載の情報処理装置。
【0100】
(付記3)
前記プロセッサは、
前記データベースにより生成される探索木に対して幅優先探索又は深さ優先探索を実行することにより、前記データベースを参照する、
付記1又は2に記載の情報処理装置。
【0101】
(付記4)
ネットワークに含まれる複数のノードのうちのスイッチ毎に、各スイッチから所定ホップ数以内のノードと当該ノード間のエッジとをまとめてデータベースに登録し、
前記データベースを参照して、前記複数のノードの間における接続関係を表すグラフを提示する、
処理をプロセッサが実行する、情報処理方法。
【0102】
(付記5)
複数の前記スイッチ毎に、前記ノードとエッジとをまとめて複数の前記データベースにそれぞれ登録し、
前記複数のデータベースを統合して、前記グラフを提示する、
処理を前記プロセッサが実行する、付記4に記載の情報処理方法。
【0103】
(付記6)
前記データベースにより生成される探索木に対して幅優先探索又は深さ優先探索を実行することにより、前記データベースを参照する、
処理を前記プロセッサが実行する、付記4又は5に記載の情報処理方法。
【符号の説明】
【0104】
100 :ネットワークシステム
1 :情報処理装置
11 :CPU
111 :構成情報取得部
112 :再構成部
113 :表示部
114 :クエリ変換部
12 :メモリ部
13 :記憶装置
131 :第1構成情報DB
132 :第2構成情報DB
133 :第3構成情報DB
14 :ネットワークIF
15 :GPU
150 :表示装置
16 :入力IF
160 :入力装置
17 :光学ドライブ装置
170 :光学ディスク
18 :機器接続IF
180 :接続機器
21 :テナント
22 :サービス
24 :仮想ボリューム
25 :サーバ
26 :ストレージ
27 :スイッチ
201 :仮想基盤
202 :物理基盤