(57)【要約】【課題】  ソフトウェアと、そのソフトウェアを適用すべき対象装置とが複数ある場合であっても、比較的簡単な処理構成によって、対象装置にとって最適なソフトウェアを選定することが可能なソフトウェア選定システム等を提供する。【解決手段】  ソフトウェア選定システム１は、特定の情報を要求されるのに応じて、特定の情報と、ソフトウェア情報５の所在を表す第１の所在情報とを応答する応答部２と、ソフトウェア情報５を、第１の所在情報に基づき取得し、自システムに適したソフトウェアを選定すると共に、そのソフトウェアを、第２の所在情報に基づき取得する選定部３とを備える。【選択図】      図１
2016162005.tif 000002
【特許請求の範囲】
【請求項１】
特定の情報を要求されるのに応じて、前記特定の情報と、ソフトウェアに関する情報を含むソフトウェア情報の所在を表す第１の所在情報とを応答する応答手段と、
記憶手段に記憶された前記ソフトウェア情報を、前記応答手段から得た前記第１の所在情報に基づき取得し、そのソフトウェア情報に含まれる情報に基づいて、自システムに適したソフトウェアを選定すると共に、選定した前記ソフトウェアの所在を表す第２の所在情報を求め、前記記憶手段に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する選定手段と、を備える
ソフトウェア選定システム。
【請求項２】
前記選定手段は、
選定した前記ソフトウェアのインストール状況を判別可能な情報に基づいて、前記ソフトウェアのインストールに失敗したか否かを判別し、失敗したと判断した場合には、前記ソフトウェア情報に含まれる情報に基づいて、該ソフトウェアのバージョンから１つ前のバージョンのソフトウェアを選定すると共に、その選定したソフトウェアの所在を表す第２の所在情報を求め、前記記憶手段に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する
請求項１に記載のソフトウェア選定システム。
【請求項３】
前記選定手段は、
前記記憶手段と異なる他の外部記憶媒体が接続されている場合には、その外部記憶媒体に記憶された前記ソフトウェア情報を取得し、そのソフトウェア情報に含まれる情報に基づき自システムに適したソフトウェアを選定すると共に、選定した前記ソフトウェアの所在を表す第２の所在情報を求め、前記外部記憶媒体に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する
請求項１または請求項２に記載されたソフトウェア選定システム。
【請求項４】
前記選定手段は、
前記ソフトウェア情報に含まれる情報と、自システムの構成を表す構成情報とに基づき前記ソフトウェアを選定すると共に、前記第２の所在情報を求める
請求項１乃至請求項３の何れかに記載のソフトウェア選定システム。
【請求項５】
前記選定手段は、
前記ソフトウェア情報に含まれる情報と、前記構成情報とが一致するソフトウェアを選定する
請求項４に記載のソフトウェア選定システム。
【請求項６】
前記選定手段は、
前記ソフトウェア情報に含まれる情報を構成する複数の情報のうち、１つ以上の情報と前記構成情報とが一致するソフトウェアを選定する
請求項４または請求項５に記載のソフトウェア選定システム。
【請求項７】
前記ソフトウェア情報は、
ソフトウェアの所在を表す第２の所在情報と、ソフトウェアの名称及びバージョンを表す基本情報と、ソフトウェアを適用すべき対象装置を特定可能なＭＡＣアドレス及びＩＰアドレスを表す装置情報と、前記対象装置の装置種別及び前記対象装置を構成するハードウェアのバージョンを表す種別情報と、ソフトウェアが動作するのに必要となるＣＰＵの種別、メモリ容量及び記憶容量のサイズを表すアーキテクチャ情報とが関連付けられた情報を含む
請求項１乃至請求項６の何れかに記載のソフトウェア選定システム。
【請求項８】
前記特定の情報は、ＩＰアドレスである
請求項１に記載のソフトウェア選定システム。
【請求項９】
情報処理装置によって、
特定の情報を要求されるのに応じて、前記特定の情報と、ソフトウェアに関する情報を含むソフトウェア情報の所在を表す第１の所在情報とを応答し、
記憶手段に記憶された前記ソフトウェア情報を、前記第１の所在情報に基づき取得し、そのソフトウェア情報に含まれる情報に基づいて、自システムに適したソフトウェアを選定すると共に、選定した前記ソフトウェアの所在を表す第２の所在情報を求め、前記記憶手段に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する
ことを特徴とする選定方法。
【請求項１０】
特定の情報を要求されるのに応じて、前記特定の情報と、ソフトウェアに関する情報を含むソフトウェア情報の所在を表す第１の所在情報とを応答する機能と、
記憶手段に記憶された前記ソフトウェア情報を、前記第１の所在情報に基づき取得し、そのソフトウェア情報に含まれる情報に基づいて、自システムに適したソフトウェアを選定すると共に、選定した前記ソフトウェアの所在を表す第２の所在情報を求め、前記記憶手段に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する機能と、
をコンピュータに実現させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象装置において動作可能なソフトウェアの適用を制御する技術分野に関する。
【背景技術】
【０００２】
ベアメタルスイッチ等のハードウェアにおいて動作するソフトウェアを、簡易的にインストールする仕組みとしては、例えば、標準化団体であるＯＣＰが主導するＯＮＩＥというソフトウェアがある。ここで、ＯＣＰとは、Ｏｐｅｎ  Ｃｏｍｐｕｔｅ  Ｐｒｏｊｅｃｔの略称である。また、ＯＮＩＥは、Ｏｐｅｎ  Ｎｅｔｗｏｒｋ  Ｉｎｓｔａｌｌ  Ｅｎｖｉｒｏｎｍｅｎｔの略称である。
【０００３】
このＯＮＩＥは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスの払い出し要求に応じて送信される応答メッセージに、次に示す情報を含むことを前提としている。即ち、応答メッセージは、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバーから払い出されたＩＰアドレスと、ＩＰアドレスの要求元である対象装置にインストールすることが可能なソフトウェアの所在を示す情報とを含む。ここで、当該所在を示す情報としては、例えば、ネットワークにおいて存在する情報の位置を示すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などである。
【０００４】
ＯＮＩＥは、取得した当該ソフトウェアの所在を示す情報に基づいて、そのソフトウェアをダウンロードする。また、ＯＮＩＥは、対象装置に対して当該ソフトウェアのインストールを実施する仕組みを具備している。
【０００５】
ここで、本願出願に先立って存在する関連技術としては、例えば、特許文献１がある。
【０００６】
特許文献１は、リモートインストールシステム、リモートインストール方法、サーバクローニングシステム、並びにサーバクローニング方法に関する技術を開示する。
【０００７】
特許文献１に開示されたリモートインストールシステムは、管理サーバー、ディプロイサーバー及びサーバー装置によって構成されている。管理サーバーは、使用者からＷｅｂサーバーを設置するよう要求する設置要求情報を受け取るのに応じて、その設置要求情報を記憶する。ディプロイサーバーは、設置要求情報に基づき生成された第１のファイルと、その第１のファイルを指定する情報が記述された第２のファイルとを記憶する。ここで、第１のファイルとは、サーバー装置にインストールすべきオペレーティングシステムと、ソフトウェアとのインストールに関する情報を含む。サーバー装置は、起動するのに応じて、ディプロイサーバーから第２のファイルを取得する。また、サーバー装置は、取得した第２のファイルに基づいて、第１のファイルを取得する。その後、サーバー装置は、第１のファイルに記述されたインストールに関する情報に基づいて、オペレーティングシステム及びソフトウェアのインストールを実行する。このように、リモートインストールシステムは、使用者からＷｅｂサーバーの設置要求を受け取るのに応じて、サーバー装置にオペレーティングシステム及びソフトウェアをインストールすることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１６４６７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、上述したＯＮＩＥでは、対象装置に適したソフトウェアの判別を、ＤＨＣＰサーバーが実施することを期待している。そのため、ＤＨＣＰサーバーは、対象装置毎に、その対象装置に適したソフトウェアを選定する必要がある。しかしながら、多種多様に存在する対象装置と、その対象装置に適したソフトウェアとの組み合わせは膨大である。
【００１０】
このため、ＯＮＩＥでは、ベンダーが任意に扱えることのできるオプションフィールドを用いて、次に示すロジック及び設定を施す必要がある。より具体的に、対象装置は、ＤＨＣＰサーバーに対して、当該オプションフィールドに、自装置に関する情報を含めＩＰアドレスの払い出しを要求する。そして、ＤＨＣＰサーバーは、当該オプションフィールドに含まれる情報に基づいて、対象装置に最適なソフトウェアの所在を求める。これにより、対象装置は、求められた所在を示す位置に格納されたソフトウェアを得ることができる。ここで、オプションフィールドは、ＤＨＣＰにおいて定義（例えば、ＲＦＣ２１３２、ＲＦＣ３００４及びＲＦＣ３９２５）された拡張規格であるｏｐｔｉｏｎ  ５５、６０、７７及び１２５などのフィールドである。尚、ＲＦＣは、Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔの略称である。
【００１１】
しかしながら、ＯＮＩＥでは、対象装置毎にインストールするソフトウェアを変更したという要求に対処することが困難である。即ち、ＯＮＩＥでは、きめ細かい当該要求に応じて、ＤＨＣＰサーバーの設定を変更する必要がある。その結果、ＤＨＣＰサーバーを管理する作業者は、設定変更などの管理が煩雑になる虞がある。即ち、作業者の負荷は、多くなる可能性がある。また、ＤＨＣＰサーバーの設定を変更した場合に、作業者は、ＤＨＣＰサーバーを再起動する必要がある。或いは、例えば、作業者が設定変更を誤った場合に、ＤＨＣＰサーバーは、既存のネットワークへ悪影響を及ぼす可能性がある。
【００１２】
そして、例えば、オプションフィールドが既に他のシステムによって使用されている場合に、作業者は、新たにＤＨＣＰサーバーを設置する必要がある。そのため、作業者は、ネットワーク全体の再設計を余儀なくされる可能性がある。
【００１３】
本発明は、ソフトウェアと、そのソフトウェアを適用すべき対象装置とが複数ある場合であっても、比較的簡単な処理構成によって、対象装置にとって最適なソフトウェアを選定することが可能なソフトウェア選定システム等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１４】
上記の課題を達成すべく、本発明の一態様に係るソフトウェア選定システムは、以下の構成を備える。
【００１５】
即ち、本発明の一態様に係るソフトウェア選定システムは、
特定の情報を要求されるのに応じて、前記特定の情報と、ソフトウェアに関する情報を含むソフトウェア情報の所在を表す第１の所在情報とを応答する応答手段と、
記憶手段に記憶された前記ソフトウェア情報を、前記応答手段から得た前記第１の所在情報に基づき取得し、そのソフトウェア情報に含まれる情報に基づいて、自システムに適したソフトウェアを選定すると共に、選定した前記ソフトウェアの所在を表す第２の所在情報を求め、前記記憶手段に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する選定手段とを備える。
【００１６】
また、同目的を達成すべく、本発明の一態様に係る選定方法は、以下の構成を備える。
【００１７】
即ち、本発明の一態様に係る選定方法は、
情報処理装置によって、
特定の情報を要求されるのに応じて、前記特定の情報と、ソフトウェアに関する情報を含むソフトウェア情報の所在を表す第１の所在情報とを応答し、
記憶手段に記憶された前記ソフトウェア情報を、前記第１の所在情報に基づき取得し、そのソフトウェア情報に含まれる情報に基づいて、自システムに適したソフトウェアを選定すると共に、選定した前記ソフトウェアの所在を表す第２の所在情報を求め、前記記憶手段に記憶された該ソフトウェアを、求めた前記第２の所在情報に基づき取得する。
【００１８】
尚、同目的は、上記の各構成を有するソフトウェア選定システム及び選定方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１９】
本発明によれば、ソフトウェアと、そのソフトウェアを適用すべき対象装置とが複数ある場合であっても、比較的簡単な処理構成によって、対象装置にとって最適なソフトウェアを選定することが可能なソフトウェア選定システム等を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態におけるソフトウェア選定システムの構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるソフトウェア情報の構成を具体的に例示する図である。
【図３Ａ】本発明の第１の実施形態におけるソフトウェア選定システムを構成する各装置が行う動作を示すシーケンス図である。
【図３Ｂ】本発明の第１の実施形態におけるソフトウェア選定システムを構成する各装置が行う動作を示すシーケンス図である。
【図４Ａ】本発明の第１の実施形態におけるノードが行う動作を示すフローチャートである。
【図４Ｂ】本発明の第１の実施形態におけるノードが行う動作を示すフローチャートである。
【図５】本発明の第１の実施形態におけるソフトウェア情報とソフトウェアとがＵＳＢデバイスに格納された態様を概念的に例示する図である。
【図６】本発明の第２の実施形態におけるソフトウェア選定システムの構成を示すブロック図である。
【図７】本発明に係る各実施形態を実現可能な情報処理装置のハードウェア構成を例示的に説明するブロック図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を参照して詳細に説明する。尚、以下の説明では、説明の便宜上、一例として、ソフトウェア選定システム１は、ＤＨＣＰサーバー１０１、ＨＴＴＰサーバー１０２及びノード１０３によって構成することとする。但し、各実施形態を例に説明する本発明は、前述した構成には限定されない。ＤＨＣＰは、Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌの略称である。ＨＴＴＰは、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌの略称である。
【００２２】
＜第１の実施形態＞
図１は、本発明の第１の実施形態におけるソフトウェア選定システム１の構成を示すブロック図である。
【００２３】
図１において、ソフトウェア選定システム１は、大別して、ＤＨＣＰサーバー１０１、ＨＴＴＰサーバー１０２及びノード１０３を有する。ＤＨＣＰサーバー１０１、ＨＴＴＰサーバー１０２及びノード１０３は、通信ネットワーク１１０を介して通信可能に接続することができる。
【００２４】
ＤＨＣＰサーバー１０１は、応答部２を備える。ＨＴＴＰサーバー１０２は、記憶部１０４を有する。ノード１０３は、選定部３を備える。
【００２５】
応答部２は、ノード１０３から特定の情報を要求されるのに応じて、その特定の情報と、ソフトウェアに関する情報を含むソフトウェアリスト（ソフトウェア情報）５の所在を表す情報（第１の所在情報）とを応答する。
【００２６】
より具体的に、特定の情報は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスとすることとする。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない（以下、各実施形態においても同様）。
【００２７】
選定部３は、応答部２から得た第１の所在情報が示す位置に保持されたソフトウェア情報５を取得する。即ち、選定部３は、第１の所在情報に基づいて、ＨＴＴＰサーバー１０２の記憶部１０４に格納されたソフトウェア情報５を取得する。
【００２８】
選定部３は、取得したソフトウェア情報５と自システムを構成するハードウェアの情報とに基づき解析することによって、自システム（例えば、ノード１０３）に合うソフトウェアを選定する。即ち、選定部３は、ソフトウェア情報５に含まれる情報に基づいて、自システムに適したソフトウェアを選定する。
【００２９】
より具体的に、選定部３は、ソフトウェア情報５を参照する。選定部３は、参照したソフトウェア情報５と、自システム（つまり、ソフトウェアを適用すべき装置）の装置構成とを照らし合わせる。そして、選定部３は、ソフトウェア情報５に含まれるソフトウェアに関する情報のうち、自システムの装置構成が合致するソフトウェアを選定する。換言すると、選定部３は、ソフトウェア情報５の中から、自システムを構成するハードウェアの情報と一致するソフトウェアを選定する。
【００３０】
尚、ソフトウェア情報５については、本実施形態において詳細に後述する。
【００３１】
選定部３は、選定したソフトウェアの所在を表す情報（第２の所在情報）を求める。即ち、選定部３は、ソフトウェア情報５の中から、選定したソフトウェアの所在を表す第２の所在情報を求める。選定部３は、求めた第２の所在情報が示す位置に保持されたソフトウェアを取得する。換言すると、選定部３は、求めた第２の所在情報に基づいて、記憶部１０４に格納されたソフトウェアを取得する。
【００３２】
ここで、第１の所在情報及び第２の所在情報とは、例えば、ネットワークにおいて存在する情報の位置を示すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などである。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない（以下、各実施形態においても同様）。
【００３３】
これにより、後述する制御部４は、選定部３が取得したソフトウェアのインストールを実行することができる。即ち、ノード１０３は、自装置に最適なソフトウェアを選定することができる。また、ノード１０３は、選定したソフトウェアをインストールすることができる。
【００３４】
ここで、以下の説明では、ソフトウェア情報５について、図２を参照して説明する。
【００３５】
図２は、本発明の第１の実施形態におけるソフトウェア情報５の構成を具体的に例示する図である。
【００３６】
ソフトウェア情報５は、次に示す標準的なデータ記述形式によって、ソフトウェアに関する情報が記載されている。即ち、当該データ記述形式としては、
・ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ；商標登録）形式、
・ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式及び
・ＹＡＭＬ（ＹＡＭＬ  Ａｉｎ’ｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式などを採用することができる。
【００３７】
尚、ＪＳＯＮ形式、ＸＭＬ形式及びＹＡＭＬ形式については、現在では一般的に知られている技術を採用することができるので本実施形態における詳細な説明は省略する（以下、各実施形態においても同様）。
【００３８】
また、ソフトウェア情報５に含まれる情報（情報５１及び情報５２）は、ソフトウェア単位に、そのソフトウェアが格納されている所在（場所）を表す情報（第２の所在情報）と、ソフトウェアに関する情報とが記述されている。即ち、ソフトウェア情報５には、ソフトウェア選定システム１が管理する複数のソフトウェアに関連する情報が記述されている。
【００３９】
より具体的に、図２に示すように、矩形によって示す情報５１は、例えば、１つのソフトウェア単位を表すこととする。そのため、ソフトウェア情報５は、例えば、ソフトウェア毎に、情報５１、情報５２、・・・、情報ｎ（ｎは自然数）と上から順に記載されていることとする。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない。
【００４０】
次に、ソフトウェアに関する情報は、大別して、基本情報５１１、装置情報５１２、種別情報５１３及びアーキテクチャ情報５１４からなる４つの項目に区分けされている。
【００４１】
基本情報５１１には、ソフトウェアの名称やソフトウェアのバージョンを表す情報が記載されている。装置情報５１２には、ソフトウェアを適用すべき対象装置（ノード）を特定することが可能な情報が記載されている。即ち、装置情報５１２は、対象装置のシリアル番号、ＭＡＣアドレス、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ４）アドレス及びＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ６）アドレスなどを表す情報を含む。尚、ＭＡＣアドレスは、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌアドレスの略称である。
【００４２】
また、種別情報５１３には、対象装置の装置種別や対象装置を構成するハードウェアのバージョンを表す情報などが記載されている。アーキテクチャ情報５１４には、ソフトウェアが動作するのに必要となるハードウェアの諸元が記載されている。より具体的に、アーキテクチャ情報５１４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の種別、必要となるメモリ容量、必要となる記録領域のサイズなどを表す情報を含む。
【００４３】
このように、ソフトウェア情報５には、ソフトウェア単位に、ソフトウェアがサポートする対象装置に関する装置情報やハードウェアの諸元などが記載されている。即ち、ソフトウェア情報５は、ソフトウェア単位に、ソフトウェアが格納されている所在を表す情報、基本情報５１１、装置情報５１２、種別情報５１３及びアーキテクチャ情報５１４が関連付けられた状態で記憶部１０４に格納されている。また、ソフトウェア情報５は、ノードを特定しやすいように粒度の細かい情報から合致するノードが増えるように基本情報５１１、装置情報５１２、種別情報５１３及びアーキテクチャ情報５１４と順に項目を並べて記載されている。
【００４４】
制御部４は、自システムに記録されているソフトウェアの有無を確認する。即ち、制御部４は、自システムにインストールされているソフトウェアの有無を確認する。制御部４は、確認した結果、自システムにソフトウェアが記録されていないと判断した場合には、ＤＨＣＰサーバー１０１に対して特定の情報（例えば、ＩＰアドレス）を払い出すよう要求する。
【００４５】
また、制御部４は、選定部３によって取得されたソフトウェアのインストールを実行する。
【００４６】
記憶部１０４は、例えば、ＤＨＣＰサーバー１０１及びノード１０３の少なくとも何れかによるデータの読み書きが可能な不揮発性の記憶デバイスである。
【００４７】
記憶部１０４は、ソフトウェア情報５及び１つ以上のソフトウェアを格納する。即ち、ソフトウェア情報５は、記憶部１０４における第１の所在情報「ＵＲＬ０」が示す位置に格納されていることとする。また、ソフトウェアは、記憶部１０４における第２の所在情報が示す位置に格納されていることとする。
【００４８】
より具体的に、以下の説明では、説明の便宜上、記憶部１０４には、ソフトウェア情報５、ソフトウェア６、ソフトウェア７、ソフトウェア８及びソフトウェア９が格納されていることとする。
【００４９】
また、ソフトウェア６は、所在を表す情報「ＵＲＬａ」と関連付けられていることとする。ソフトウェア７は、所在を表す情報「ＵＲＬｂ」と関連付けられていることとする。ソフトウェア８は、所在を表す情報「ＵＲＬｃ」と関連付けられていることとする。ソフトウェア９は、所在を表す情報「ＵＲＬｄ」と関連付けられていることとする。このように、ソフトウェアと所在を表す情報とは、一対一で対応する。
【００５０】
通信ネットワーク１１０は、例えば、携帯電話事業者が所有する各種通信回線、インターネットサービスプロバイダ等が提供するインターネット等の一般的な通信回線やホームゲートウェイ等により構成された家庭内のネットワークである。
【００５１】
以下の説明において、より具体的に、本実施形態におけるソフトウェア選定システム１の動作について、図３Ａ、図３Ｂ、図４Ａ及び図４Ｂを参照して説明する。
【００５２】
図３Ａ及び図３Ｂは、本発明の第１の実施形態におけるソフトウェア選定システム１を構成する各装置が行う動作を示すシーケンス図である。また、図４Ａ及び図４Ｂは、本発明の第１の実施形態におけるノード１０３が行う動作を示すフローチャートである。係るシーケンス図及びフローチャートに沿ってソフトウェア選定システム１の動作手順を説明する。
【００５３】
尚、図３Ａ、図３Ｂ、図４Ａ及び図４Ｂに示す同様な処理については、同一の参照番号を付すことにより、重複する説明は省略する。
【００５４】
例えば、作業者１０５は、ノード１０３の電源を投入する（ステップＳ１０１）。
【００５５】
ノード１０３は、作業者１０５によって電源を投入されるのに応じて、処理を開始する。即ち、ノード１０３の制御部４は、自システムに記録されているソフトウェアの有無を確認する（ステップＳ２０１）。制御部４は、確認した結果、自システムにソフトウェアが無いと判断した場合に、処理をステップＳ２０２に進める（ステップＳ２０１において「ＮＯ」）。一方で、制御部４は、自システムにソフトウェアが有ると判断した場合には、処理を終了する（ステップＳ２０１において「ＹＥＳ」）。
【００５６】
制御部４は、ＤＨＣＰサーバー１０１に対してＩＰアドレスの払い出しを要求する（ステップＳ２０２）。
【００５７】
ＤＨＣＰサーバー１０１は、ノード１０３からＩＰアドレスの払い出し要求を受信する。また、ＤＨＣＰサーバー１０１は、当該要求を受信するのに応じて、ノード１０３に対して払い出すＩＰアドレスを決定する（ステップＳ３０１）。
【００５８】
また、ＤＨＣＰサーバー１０１の応答部２は、決定したＩＰアドレスと、ソフトウェア情報５の所在を表す第１の所在情報とを、ＩＰアドレスの払い出し要求に対するリプライとして応答する（ステップＳ３０２）。
【００５９】
より具体的に、以下の説明では、説明の便宜上、応答部２は、第１の所在情報として所在を表す情報「ＵＲＬ０」を応答することとする。
【００６０】
尚、応答部２は、例えば、ＤＨＣＰサーバー１０１の各種設定に関する情報を含むコンフィグレーション（例えば、図６に示すコンフィグレーション１１）に、ソフトウェア情報５の所在を表す第１の所在情報を応答するよう記述することによって実現してもよい。これにより、ＤＨＣＰサーバー１０１は、コンフィグレーションに従いＩＰアドレスと第１の所在情報とを応答することができる。
【００６１】
ノード１０３の選定部３は、ＤＨＣＰサーバー１０１から得た応答メッセージにソフトウェア情報５の所在を表す第１の所在情報が含まれているか否かを判別する。即ち、選定部３は、当該応答に基づいて、第１の所在情報の有無を確認する（ステップＳ２０３）。
【００６２】
選定部３は、第１の所在情報の有無を確認した結果、第１の所在情報が有ると判断し場合に、処理をステップＳ２０４に進める（ステップＳ２０３において「ＹＥＳ」）。一方で、選定部３は、第１の所在情報が無いと判断し場合には、処理を終了する（ステップＳ２０３において「ＮＯ」）。
【００６３】
より具体的に、選定部３は、例えば、ＤＨＣＰサーバー１０１から応答が無い場合や、応答メッセージの中に第１の所在情報が含まれていない場合には処理を終了する構成を採用してもよい。
【００６４】
選定部３は、第１の所在情報に基づいて、記憶部１０４からソフトウェア情報５を取得する。即ち、選定部３は、第１の所在情報が示す位置にアクセスすると共に、ＨＴＴＰサーバー１０２からソフトウェア情報５のダウンロードを実施する。
【００６５】
より具体的に、選定部３は、第１の所在情報「ＵＲＬ０」に基づいて、ＨＴＴＰサーバー１０２にソフトウェア情報５を要求する（ステップＳ２０４）。また、ＨＴＴＰサーバー１０２は、選定部３からの要求に応じて、ソフトウェア情報５を応答する（ステップＳ４０１）。
【００６６】
選定部３は、ソフトウェア情報５の取得に成功したか否かを確認する。即ち、選定部３は、ＨＴＴＰサーバー１０２からソフトウェア情報５のダウンロードに成功したか否かを判別する（ステップＳ２０５）。選定部３は、例えば、通信ネットワーク１１０の通信障害によりソフトウェア情報５の取得に失敗したと判断した場合に、処理を終了する（ステップＳ２０５において「ＮＯ」）。一方で、選定部３は、ソフトウェア情報５の取得に成功したと判断した場合には、処理をステップＳ２０６に進める（ステップＳ２０５において「ＹＥＳ」）。
【００６７】
選定部３は、ＨＴＴＰサーバー１０２から得たソフトウェア情報５に記載された情報と、自システムの構成情報とに基づいて、自システムに適したソフトウェアを選定する。選定部３は、ソフトウェア情報５の中から、選定したソフトウェアの所在を表す第２の所在情報を求める（ステップＳ２０６）。
【００６８】
選定部３は、求めた第２の所在情報に基づいて、記憶部１０４から選定したソフトウェアを取得する。即ち、選定部３は、第２の所在情報が示す位置にアクセスすると共に、ＨＴＴＰサーバー１０２からソフトウェアのダウンロードを実施する。
【００６９】
ここでは、説明の便宜上、選定部３は、ソフトウェア６を選定することとする。
【００７０】
より具体的に、選定部３は、第２の所在情報「ＵＲＬａ」に基づいて、ＨＴＴＰサーバー１０２にソフトウェア６を要求する（ステップＳ２０７）。また、ＨＴＴＰサーバー１０２は、選定部３からの要求に応じて、ソフトウェア６を応答する（ステップＳ４０２）。
【００７１】
選定部３は、選定したソフトウェアの取得に成功したか否かを確認する。即ち、選定部３は、ＨＴＴＰサーバー１０２からソフトウェアのダウンロードに成功したか否かを判別する（ステップＳ２０８）。選定部３は、ソフトウェアの取得に失敗したと判断した場合に、処理を終了する（ステップＳ２０８において「ＮＯ」）。一方で、選定部３は、ソフトウェアの取得に成功したと判断した場合には、処理をステップＳ２０９に進める（ステップＳ２０８において「ＹＥＳ」）。
【００７２】
制御部４は、ＨＴＴＰサーバー１０２から得たソフトウェアのインストールを実施する（ステップＳ２０９）。これにより、例えば、管理者は、自動でノード１０３に適したソフトウェアのインストールを実現することができる。
【００７３】
尚、上述した本実施形態では、説明の便宜上、一例として、記憶部１０４は、ＨＴＴＰサーバー１０２が有する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。記憶部１０４は、例えば、ＤＨＣＰサーバー１０１が有する構成を採用してもよい。
【００７４】
また、一例として、記憶部１０４は、通信ネットワーク１１０に接続されたストレージデバイス（不図示）を採用してもよい。或いは、記憶部１０４は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースを有する外部記憶媒体（ＵＳＢデバイス）に含まれる構成を採用してもよい。
【００７５】
その場合に、例えば、選定部３は、ＵＳＢデバイスに保持されたソフトウェア情報５を、優先的に参照する。また、選定部３は、参照したソフトウェア情報５に基づきノード１０３に適したソフトウェアを選定してもよい。また、選定部３は、選定したソフトウェアの所在を表す第２の所在情報に基づいて、ＵＳＢデバイスに格納されたソフトウェアを取得してもよい。或いは、選定部３は、第２の所在情報に基づいて、ＵＳＢデバイス及びＨＴＴＰサーバー１０２の少なくとも何れかの記憶部１０４に保持されたソフトウェアを取得してもよい。
【００７６】
図５は、本発明の第１の実施形態におけるソフトウェア情報５とソフトウェアとがＵＳＢデバイス１０６に格納された態様を概念的に例示する図である。
【００７７】
図５に示すように、一例として、ＵＳＢデバイス１０６には、次に示すソフトウェア情報５と複数のソフトウェアが記憶されている。即ち、ＵＳＢデバイス１０６には、
・ソフトウェア情報５である「ＳｏｆｔｗａｒｅＬｉｓｔ．ｔｘｔ」、
・ソフトウェア４０１を表す「ａａａａ．ｂｉｎ」、
・ソフトウェア４０２を表す「ｂｂｂｂ．ｂｉｎ」、
・ソフトウェア４０３を表す「ｃｃｃｃ．ｂｉｎ」及び
・ソフトウェア４０４を表す「ｄｄｄｄ．ｂｉｎ」が記憶されている。また、これらソフトウェアは、フォルダ「ｓｏｆｔ」に記憶されていることとする。尚、「ｂｉｎ」は、拡張子を表す。
【００７８】
また、上述した本実施形態では、説明の便宜上、一例として、選定部３は、第１の所在情報に基づいて、１つのソフトウェア情報５を取得する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。選定部３は、第１の所在情報に基づいて、１つ以上のソフトウェア情報５を取得する構成を採用してもよい。その場合に、第１の所在情報には、１つ以上のソフトウェア情報５を関連付けることによって実現することができる。また、選定部３は、１つ以上のソフトウェア情報５の中から、最も自システムに適したソフトウェアを選定する構成を採用してもよい。即ち、選定部３は、１つ以上のソフトウェア情報５の中から、自システムの構成に最も合致するソフトウェアを選定してもよい。
【００７９】
上述した本実施形態では、説明の便宜上、一例として、制御部４は、ＤＨＣＰサーバー１０１に対して特定の情報（ＩＰアドレス）を要求する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。制御部４は、例えば、ＨＴＴＰサーバー１０２に対して特定の情報（Ｗｅｂ情報）を要求する構成を採用してもよい。その場合に、ＨＴＴＰサーバー１０２は、ＨＴＴＰリクエストに応じて、ＨＴＴＰレスポンスに第１の位置情報を含めて応答することによって実現することができる。
【００８０】
このように本実施の形態に係るソフトウェア選定システム１によれば、ソフトウェアと、そのソフトウェアを適用すべき対象装置とが複数ある場合であっても、比較的簡単な処理構成によって、対象装置にとって最適なソフトウェアを選定することができる。その理由は、以下に述べる通りである。
【００８１】
即ち、ソフトウェア選定システム１は、応答部２と選定部３とを備えるからである。即ち、応答部２は、特定の情報を要求されるのに応じて、その特定の情報とソフトウェア情報５の所在を表す第１の所在情報とを応答する。選定部３は、第１の所在情報に基づきソフトウェア情報５を取得し、ソフトウェア情報５と自システムの構成情報とに基づいて、ソフトウェアを適用すべき装置に適したソフトウェアを選定する。また、選定部３は、選定したソフトウェアの所在を表す第２の所在情報に基づいて、ソフトウェアを取得することができるからである。これによって、ＤＨＣＰサーバー１０１には、ＤＨＣＰにおいて定義（例えば、ＲＦＣ２１３２、ＲＦＣ３００４及びＲＦＣ３９２５）された拡張規格であるｏｐｔｉｏｎ  ５５、６０、７７及び１２５などのフィールドに記載された情報を元に、適切なソフトウェアを導き出す設定やロジックが不要となる。即ち、作業者は、ＤＨＣＰサーバー１０１の設定変更などの管理を行う必要がないだけでなく、新たにＤＨＣＰサーバー１０１を設置する必要もない。そのため、作業者は、ＤＨＣＰサーバー１０１の設定変更を失敗することもない。また、作業者は、ＤＨＣＰサーバー１０１の設定を変更していないため、ＤＨＣＰサーバー１０１を再起動する必要が無い。その結果、ソフトウェア選定システム１は、ＤＨＣＰサーバー１０１によって、既存のネットワークに悪影響を及ぼすことを防止することができる。また、ソフトウェア選定システム１は、ネットワークシステムの構築を簡略化することができる。
【００８２】
また、新たに複数のソフトウェアが追加された場合であっても、例えば、運用保守者は、ソフトウェア情報５にそれらソフトウェアの所在を表す情報とソフトウェアに関する情報とを追加するだけで対処することができる。また、ソフトウェアを適用する対象装置の種類が増えた場合であっても、例えば、運用保守者は、ソフトウェア情報５に対象装置を追加するだけ対処することができる。即ち、運用保守者は、テキストベースによって構成されたソフトウェア情報５に、ソフトウェア及び対象装置の少なくとも何れかに関する情報を追加するだけでソフトウェアと対象装置とを容易に管理することができる。
【００８３】
＜第２の実施形態＞
次に、上述した本発明の第１の実施形態に係るソフトウェア選定システム１を基本とする第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【００８４】
本発明の第２の実施形態におけるソフトウェア選定システム１０について、図２及び図６を参照して説明する。
【００８５】
図６は、本発明の第２の実施形態におけるソフトウェア選定システム１０の構成を示すブロック図である。
【００８６】
図６において、ソフトウェア選定システム１０は、大別して、ＤＨＣＰサーバー１０１、記憶部１０４を含むＨＴＴＰサーバー１０２及びノード１０３を有する。ＤＨＣＰサーバー１０１は、コンフィグレーション１１を有する。ノード１０３は、選定部１２及びＯＮＩＥ１３を有する。ここで、ＯＮＩＥは、Ｏｐｅｎ  Ｎｅｔｗｏｒｋ  Ｉｎｓｔａｌｌ  Ｅｎｖｉｒｏｎｍｅｎｔの略称である。
【００８７】
コンフィグレーション１１は、第１の実施形態において説明した応答部２に相当する。より具体的に、コンフィグレーション１１は、ＤＨＣＰサーバー１０１の各種設定に関する情報を含む。即ち、コンフィグレーション１１には、ノード１０３からＩＰアドレスの払い出しを要求されるのに応じて、ＩＰアドレスとソフトウェア情報５の所在を表す第１の所在情報とを応答するよう記述されている。これによって、ＤＨＣＰサーバー１０１は、コンフィグレーション１１の記述に従って、応答部２に相当する処理を実現することができる。
【００８８】
また、ＯＮＩＥ１３は、第１の実施形態において説明した制御部４に相当する。即ち、ＯＮＩＥ１３は、例えば、不図示の記憶領域に展開されると共に、ＣＰＵ（不図示）に読み出されて実行されることによって制御部４に相当する処理を実現することができる。
【００８９】
選定部１２は、ノード１０３に対して既にインストールされたソフトウェアのアップデート処理を行う。即ち、選定部１２は、当該ソフトウェアのバージョンアップを実施することができる。
【００９０】
また、選定部１２は、アップデート処理においてソフトウェアのインストールに失敗した場合に、ソフトウェア情報５に含まれる情報に基づいて、インストールに失敗したソフトウェアのバージョンから１つ前のバージョン（以降、「旧バージョン」と称する）のソフトウェアを選定する。また、選定部１２は、選定したソフトウェアの所在を表す第２の所在情報を求める。選定部１２は、求めた第２の所在情報に基づいて、記憶部１０４に格納されたソフトウェアを取得する。即ち、選定部１２は、旧バージョンのソフトウェアを取得することができる。
【００９１】
尚、選定部１２は、例えば、所定の時間周期毎、または作業者からの要求に応じて、アップデート処理を行う構成を採用してもよい。或いは、選定部１２は、例えば、アップデート処理を指示するフラグの有無に応じて、アップデート処理を行う構成を採用してもよい。
【００９２】
以下の説明では、より具体的に、ソフトウェアのアップデート処理について説明する。
【００９３】
選定部１２は、ソフトウェア情報５を参照する。選定部１２は、ソフトウェア情報５と自システム（例えば、ノード１０３）の装置構成とを照らし合わせる。選定部１２は、ソフトウェア情報５に含まれるソフトウェアに関する情報のうち、自システムの装置構成が合致するソフトウェアを選定する。
【００９４】
また、選定部１２は、選定したソフトウェアに関する情報に含まれるソフトウェアのバージョンを表す情報と、自システムにインストールされている当該ソフトウェアのバージョンとに基づいて、ソフトウェアのバージョンとを比較する。即ち、選定部１２は、例えば、図２に示す基本情報５１１に含まれるソフトウェアバージョンを表す情報と、自システムにインストールされている当該ソフトウェアのバージョンとを比較する。その結果、選定部１２は、選定したソフトウェアのバージョンが新しいと判断した場合には、選定したソフトウェアの所在を表す第２の所在情報を求める。選定部１２は、求めた第２の所在情報に基づいて、記憶部１０４に格納されたソフトウェアを取得する。
【００９５】
これによって、ＯＮＩＥ１３は、選定部１２によって取得されたソフトウェアのインストールを実行することができる。
【００９６】
次に、以下の説明では、ソフトウェアのアップデート処理において、当該ソフトウェアのインストールに失敗した際の動作について説明する。
【００９７】
選定部１２は、ソフトウェアのインストール状況を判別可能な情報に基づいて、ソフトウェアのインストールに失敗したか否かを判別する。
【００９８】
ここで、インストール状況を判別可能な情報は、例えば、自装置内に記憶されたインストール状況を表すログやソフトウェアから出力されたエラーに関する情報、或いは、ソフトウェアから出力されるインストールが正常終了したことを示す情報などを採用することができる。但し、本実施形態を例に説明する本発明は、前述した構成には限定されない。
【００９９】
判別した結果、選定部１２は、ソフトウェアのインストールに失敗したと判断した場合には、次に示す処理を実行する。即ち、選定部１２は、ソフトウェア情報５の中から、インストールに失敗したソフトウェアのバージョンから１つ前のバージョンのソフトウェアを検索する。選定部１２は、検索した結果、旧バージョンのソフトウェアが有った場合に、当該旧バージョンのソフトウェアを選定する。また、選定部１２は、旧バージョンのソフトウェアの所在を表す第２の所在情報を求める。選定部１２は、求めた第２の所在情報に基づいて、記憶部１０４に格納された旧バージョンのソフトウェアを取得する。これによって、ＯＮＩＥ１３は、選定部１２によって取得されたソフトウェアのインストールを実行することができる。
【０１００】
尚、上述した各実施形態では、説明の便宜上、一例として、選定部１２は、ソフトウェア情報５に含まれるソフトウェアに関する情報のうち、自システムの装置構成が合致するソフトウェアを選定する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。選定部１２は、次に説明する手法によってソフトウェアを選定する構成を採用してもよい。即ち、ソフトウェアを選定する手法として、選定部１２は、ソフトウェア情報５に含まれる情報を上から順にサーチし、構成情報が１つでも一致する項目を含むソフトウェアを選定する構成を採用してもよい。或いは、選定部１２は、構成情報が一致する項目数が多い場合に、それら項目を含むソフトウェアを選定する構成を採用してもよい。換言すると、選定部１２は、ソフトウェア情報５に含まれる情報を構成する複数の項目のうち、１つ以上の項目と自システムの装置構成とが一致するソフトウェアを選定する構成を採用してもよい。
【０１０１】
このように本実施の形態に係るソフトウェア選定システム１０によれば、第１の実施形態において説明した効果を享受できると共に、さらに、より簡単な処理構成によって、対象装置にとって最適なソフトウェアを選定することができる。また、ソフトウェア選定システム１０によれば、ソフトウェアのアップデートだけでなく、アップデートに失敗した場合にはソフトウェアをロールバックすることができる。即ち、ソフトウェア選定システム１０によれば、自立的にソフトウェアのロールバックを実現することができる。
【０１０２】
その理由は、ソフトウェア選定システム１０は、ソフトウェアのアップデートを実現可能な選定部１２を備えるからである。また、選定部１２は、ソフトウェアのインストールに失敗したと判断した場合に、１つ前のバージョンのソフトウェアを選定する。選定部１２は、選定した旧バージョンのソフトウェアを取得することができるからである。
【０１０３】
ソフトウェア選定システム１０は、容易に変更可能なコンフィグレーション１１によって、第１の所在情報を応答するようＤＨＣＰサーバー１０１の動作を制御することができるからである。即ち、作業者は、コンフィグレーション１１に記述された内容を変更するだけでＤＨＣＰサーバー１０１に対して第１の所在情報を応答するよう設定を変更することができるからである。
【０１０４】
また、ソフトウェア選定システム１０は、例えば、ベアメタルスイッチなどのＯＮＩＥをサポートするネットワーク機器に適用して好適である。その理由は、例えば、ベアメタルスイッチは、起動するのに応じて、自装置に最も適したソフトウェアを取得することができるからである。
【０１０５】
（ハードウェア構成例）
上述した実施形態において図面に示した各部は、ソフトウェアプログラムの機能単位（処理単位、ソフトウェアモジュール）と捉えることができる。これらの各ソフトウェアモジュールは、専用のハードウェアによって実現してもよい。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図７を参照して説明する。
【０１０６】
図７は、本発明の模範的な実施形態に係るソフトウェア選定システムを実行可能な情報処理装置（コンピュータ）３００の構成を例示的に説明する図である。即ち、図７は、コンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。このコンピュータは、ソフトウェア選定システム１（図１）、或いは、ソフトウェア選定システム１０（図６）、の全体または一部のソフトウェア選定システムを実現可能である。
【０１０７】
図７に示した情報処理装置３００は、以下の構成がバス（通信線）３０６を介して接続された一般的なコンピュータである。
【０１０８】
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）３０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）３０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）３０３、
・ハードディスク（記憶装置）３０４、
・外部装置との通信インタフェース（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）３０５、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体３０７に格納されたデータを読み書き可能なリーダライタ３０８。
【０１０９】
そして、上述した実施形態を例に説明した本発明は、以下の手順によって達成される。即ち、図７に示した情報処理装置３００に対して、その説明において参照したブロック構成図（図１、図６）或いはフローチャート（図３Ａ、図３Ｂ、図４Ａ、図４Ｂ）の機能を実現可能なコンピュータ・プログラムが供給される。その後、そのコンピュータ・プログラムは、当該ハードウェアのＣＰＵ３０１に読み出されて実行されることによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ（ＲＡＭ３０３）またはハードディスク３０４等の不揮発性の記憶デバイスに格納すれば良い。
【０１１０】
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、現在では一般的な手順を採用することができる。例えば、供給方法は、ＣＤ−ＲＯＭ等の各種記録媒体３０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等である。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いはそのコードが格納された記録媒体によって構成されると捉えることができる。
【０１１１】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【０１１２】
１    ソフトウェア選定システム
２    応答部
３    選定部
４    制御部
５    ソフトウェア情報
６、７、８、９、  ４０１、４０２、４０３、４０４    ソフトウェア
１０    ソフトウェア選定システム
１１    コンフィグレーション
１２    選定部
１３    ＯＮＩＥ
５１、５２    情報
５１１    基本情報
５１２    装置情報
５１３    種別情報
５１４    アーキテクチャ情報
１０１    ＤＨＣＰサーバー
１０２    ＨＴＴＰサーバー
１０３    ノード
１０４    記憶部
１０５    作業者
１０６    ＵＳＢデバイス
１１０    通信ネットワーク
３００    情報処理装置
３０１    ＣＰＵ
３０２    ＲＯＭ
３０３    ＲＡＭ
３０４    ハードディスク
３０５    通信インタフェース
３０６    バス
３０７    記録媒体
３０８    リーダライタ
【図１】
2016162005.tif 000003
【図２】
2016162005.tif 000004
【図３Ａ】
2016162005.tif 000005
【図３Ｂ】
2016162005.tif 000006
【図４Ａ】
2016162005.tif 000007
【図４Ｂ】
2016162005.tif 000008
【図５】
2016162005.tif 000009
【図６】
2016162005.tif 000010
【図７】
2016162005.tif 000011