(57)【特許請求の範囲】
【請求項１】
複数の通信ポートの各々において受信される、前記複数の通信ポートの各々から送信された接続確認への応答が、応答エラーを表しているか否かを判定することによって、前記複数の通信ポートの各々に接続された機器が、前記複数の通信ポートの各々が属する通信セグメントに属していないかどうかを、前記複数の通信ポートの各々について検出する検出部と、
前記複数の通信ポートのうちの１の通信ポートに接続された対象機器が、前記１の通信ポートが属する通信セグメントに属していないことを前記検出部が検出すると、前記複数の通信ポートのうちの前記１の通信ポート以外の通信ポートのうちから選択した通信ポートが属する通信セグメントに対する接続確認を行うことで、前記対象機器が属している他の通信ポートが属する他の通信セグメントを特定する特定部と、
特定された前記他の通信セグメントに属する前記他の通信ポートに割り当てていた第１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、前記１の通信ポートに割り当てていた第２のＩＰアドレスとを入れ替えて記憶すると共に、特定された前記他の通信セグメントに属する前記他の通信ポートについての第１の物理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと、前記１の通信ポートについての第２の物理ＭＡＣアドレスとについても入れ替えて、仮ＭＡＣアドレスとして記憶する記憶部と、
前記第１のＩＰアドレスに割り当てが入れ替えられた前記１の通信ポートを用いて前記対象機器への通信を行うよう制御する制御部と、
を備えることを特徴とする情報処理装置。
【請求項２】
複数の通信ポートの各々において受信される、前記複数の通信ポートの各々から送信された接続確認への応答が、応答エラーを表しているか否かを判定することによって、前記複数の通信ポートの各々に接続された機器が、前記複数の通信ポートの各々が属する通信セグメントに属していないかどうかを、前記複数の通信ポートの各々について検出し、
前記複数の通信ポートのうちの１の通信ポートに接続された対象機器が、前記１の通信ポートが属する通信セグメントに属していないことを検出すると、前記複数の通信ポートのうちの前記１の通信ポート以外の通信ポートのうちから選択した通信ポートが属する通信セグメントに対する接続確認を行うことで、前記対象機器が属している他の通信ポートが属する他の通信セグメントを特定し、
特定された前記他の通信セグメントに属する前記他の通信ポートに割り当てていた第１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、前記１の通信ポートに割り当てていた第２のＩＰアドレスとを入れ替えてメモリに記憶させると共に、特定された前記他の通信セグメントに属する前記他の通信ポートについての第１の物理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと、前記１の通信ポートについての第２の物理ＭＡＣアドレスとについても入れ替えて、仮ＭＡＣアドレスとして前記メモリに記憶させ、
前記第１のＩＰアドレスに割り当てが入れ替えられた前記１の通信ポートを用いて前記対象機器への通信を行うよう制御する
ことを特徴とする情報処理装置の制御プログラム。
【請求項３】
複数の通信ポートの各々において受信される、前記複数の通信ポートの各々から送信された接続確認への応答が、応答エラーを表しているか否かを判定することによって、前記複数の通信ポートの各々に接続された機器が、前記複数の通信ポートの各々が属する通信セグメントに属していないかどうかを、前記複数の通信ポートの各々について検出し、
前記複数の通信ポートのうちの１の通信ポートに接続された対象機器が、前記１の通信ポートが属する通信セグメントに属していないことを検出すると、前記複数の通信ポートのうちの前記１の通信ポート以外の通信ポートのうちから選択した通信ポートが属する通信セグメントに対する接続確認を行うことで、前記対象機器が属している他の通信ポートが属する他の通信セグメントを特定し、
特定された前記他の通信セグメントに属する前記他の通信ポートに割り当てていた第１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、前記１の通信ポートに割り当てていた第２のＩＰアドレスとを入れ替えてメモリに記憶させると共に、特定された前記他の通信セグメントに属する前記他の通信ポートについての第１の物理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと、前記１の通信ポートについての第２の物理ＭＡＣアドレスとについても入れ替えて、仮ＭＡＣアドレスとして前記メモリに記憶させ、
前記第１のＩＰアドレスに割り当てが入れ替えられた前記１の通信ポートを用いて前記対象機器への通信を行うよう制御する
ことを特徴とする情報処理装置の制御方法。
【請求項４】
複数の通信ポートの各々において受信される、前記複数の通信ポートの各々から送信された接続確認への応答が、応答エラーを表しているか否かを判定することによって、前記複数の通信ポートの各々に接続された機器が、前記複数の通信ポートの各々が属する通信セグメントに属していないかどうかを、前記複数の通信ポートの各々について検出する検出装置と、
前記複数の通信ポートのうちの１の通信ポートに接続された対象機器が、前記１の通信ポートが属する通信セグメントに属していないことを前記検出装置が検出すると、前記複数の通信ポートのうちの前記１の通信ポート以外の通信ポートのうちから選択した通信ポートが属する通信セグメントに対する接続確認を行うことで、前記対象機器が属している他の通信ポートが属する他の通信セグメントを特定する特定装置と、
特定された前記他の通信セグメントに属する前記他の通信ポートに割り当てていた第１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、前記１の通信ポートに割り当てていた第２のＩＰアドレスとを入れ替えて記憶すると共に、特定された前記他の通信セグメントに属する前記他の通信ポートについての第１の物理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと、前記１の通信ポートについての第２の物理ＭＡＣアドレスとについても入れ替えて、仮ＭＡＣアドレスとして記憶する記憶装置と、
前記機器への通信を処理するプロセッサと、
前記第１のＩＰアドレスに割り当てが入れ替えられた前記１の通信ポートを用いて前記対象機器への通信を行うよう前記プロセッサを制御する制御装置と、
を備えることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置の部品交換を行う際など、電源を切り、接続されている通信ケーブルを全て外すことがある。このような場合、作業者は、再度情報処理装置を稼動させるためには、接続されていた通信ケーブルの結線を元に戻す。
【０００３】
サーバの分野では、セキュリティなどの理由から、事前に通信ポートの接続先が決められている場合が多い。そのため作業者は、通信ケーブルの結線を元に戻すため、通信ポートの設定と該通信ポートの物理的位置などを仕様書などから確認し、結線する。しかし、結線作業において適切な通信ケーブルと通信ポートの接続を実施し情報処理装置を通信可能な状態に戻せるかどうかは、作業者の結線作業の的確さやスキルに依存する。そのため、人為的なミスが発生することもある。
【０００４】
人為的な通信ケーブルの結線間違いを防ぐために、通信ケーブルにタグ付けをし、通信ケーブルを識別するための対策などが行われている。しかし、ネットワークの設定は利用状況などにより変更されることがあり、タグと通信ケーブルの不整合が発生することがある。このため、通信ケーブルの結線間違いに対して人が判断する方法以外の解決方法が求められる。
【０００５】
ネットワーク中継装置において、論理情報と物理情報を自律的に結び付ける技術が知られている。ネットワーク中継装置は、ポート番号の物理情報とＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス及びＶＬＡＮ（Ｖｉｒｕｔａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｏｗｒｏｋ）−ＩＤなどの論理情報との対応付けを構成情報にて設定しない。変わりに論理情報と結び付けた識別子を設定する。そしてケーブル接続後に、これら識別子とポート番号を含んだＬ２パケットをネットワーク中継装置間で相互に送り合う。これをネットワーク中継装置が相互に受信することで、自装置の各ポートに接続された相手装置の識別子を識別し、論理情報と物理情報の結び付けを決定する（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−３９５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
サーバの分野では、セキュリティなどの理由から、事前に通信ポートの接続先が決められている場合が多い。そのような設定環境において間違った結線がされた場合、作業者は、再度通信ケーブルの結線をやり直す。そのため、通信ポートの数が増えるほど、作業の負担が増加してしまうという問題がある。
【０００８】
本発明は１つの側面において、結線間違いがある状況でも、自律的に通信可能な状態に移行することを目的とする。
【課題を解決するための手段】
【０００９】
情報処理装置は、検出部、特定部、記憶部、制御部を備える。検出部は、複数の通信ポートの各々において受信される、複数の通信ポートの各々から送信された接続確認への応答が、応答エラーを表しているか否かを判定することによって、複数の通信ポートの各々に接続された機器が、複数の通信ポートの各々が属する通信セグメントに属していないかどうかを、複数の通信ポートの各々について検出する。特定部は、複数の通信ポートのうちの１の通信ポートに接続された対象機器が、１の通信ポートが属する通信セグメントに属していないことを検出部が検出すると、複数の通信ポートのうちの１の通信ポート以外の通信ポートのうちから選択した通信ポートが属する通信セグメントに対する接続確認を行うことで、対象機器が属している他の通信ポートが属する他の通信セグメントを特定する。記憶部は、特定された他の通信セグメントに属する他の通信ポートに割り当てていた第１のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、通信ポートに割り当てていた第２のＩＰアドレスとを入れ替えて記憶すると共に、特定された他の通信セグメントに属する他の通信ポートについての第１の物理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと、１の通信ポートについての第２の物理ＭＡＣアドレスとについても入れ替えて、仮ＭＡＣアドレスとして記憶する。制御部は、第１のＩＰアドレスに割り当てが入れ替えられた１の通信ポートを用いて対象機器への通信を行うよう制御する。
【発明の効果】
【００１０】
本発明によれば、結線間違いがある状況でも自律的に通信可能な状態に移行とすることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る情報処理装置と各種機器の例を説明する図である。
【図２】本実施形態に係る情報処理装置のハードウェア構成の例を説明する図である。
【図３】正しい結線状況における情報処理装置の例を説明する図である。
【図４】通信部における接続確認の処理の例を説明する図である。
【図５】誤って結線された情報処理装置の例を説明する図である。
【図６Ａ】ポートリストを更新する処理の例を説明する図（その１）である。
【図６Ｂ】ポートリストを更新する処理の例を説明する図（その１）である。
【図７】発信パケットフレームの例を説明する図である。
【図８Ａ】本実施形態に係る情報処理装置の処理の例を説明するフローチャートである。
【図８Ｂ】本実施形態に係る情報処理装置の処理の例を説明するフローチャートである。
【図９】結線間違いが複数の通信ポートに跨ってある情報処理装置の例を説明する図である。
【図１０】ポートリストを更新する処理の例を説明する図（その２）である。
【発明を実施するための形態】
【００１２】
サーバの分野では、セキュリティなどの理由から、事前に通信ポートの接続先が決められている場合が多い。そのような設定環境において間違った結線がされた場合、作業者は、再度通信ケーブルの結線をやり直す。そのため、通信ポートの数が増えるほど、作業の負担が増加してしまうという問題がある。
【００１３】
そこで本実施形態に係る情報処理装置は、通信ケーブルの結線状況に依存せず、接続したネットワークの用途に合ったＩＰアドレスに通信ポート設定を自動で修正する機能を提供する。
【００１４】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、本実施形態に係る情報処理装置の処理の例を説明する図である。本実施形態に係る情報処理装置１００は、制御チップ１１０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４１、チップセット１４２、メモリ１４３、通信ポート１４５ａ、通信ポート１４５ｂ、通信ポート１４５ｃを備える。ＣＰＵ１４１は、情報処理装置１００で実行されるプログラムを実行する処理回路である。チップセット１４２は、情報処理装置１００に搭載されている各種ハードウェア制御に用いられる。該チップセット１４２の制御は、ＣＰＵ１４１からの処理命令により実行される。メモリ１４２は、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）１４４のプログラムを備える。
【００１５】
メモリ１４３は、ポート設定１４６の情報を記憶している。ポート設定１４６は、通信ポート１４５ａ、通信ポート１４５ｂ、通信ポート１４５ｃの物理ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスと、各物理ＭＡＣアドレスに対応づけられたＩＰアドレスを記憶している。例えば、通信ポート１４５ａに対応するＩＰアドレスとして、「１０．２１．１５４．２４０／２４」が設定されている。なお、ＩＰアドレスにおける「／２４」の表記は、ＣＩＤＲ（Ｃｌａｓｓｌｅｓｓ  Ｉｎｔｅｒ−Ｄｏｍａｉｎ  Ｒｏｕｔｉｎｇ）で、サブネットマスクの「２５５．２５５．２５５．０」を表す。通信ポート１４５ｂに対応するＩＰアドレスとして、「１９２．１６８．０．２／２４」が設定されている。通信ポート１４５ｃに対応するＩＰアドレスとして、「１９２．１６８．１．２／２４」が設定されている。
【００１６】
セキュリティなどの理由から、事前に通信ポートの接続先が決められている場合、例えば、通信ポート１４５と接続先の機器２００とは、同じ通信セグメントに属するように設定される。具体的には、機器２００ａには、ＩＰアドレスとして「１０．２１．１５４．１／２４」が設定されている。そのため、機器２００ａと通信ポート１４５ａは、「１０．２１．１５４．１〜２５５」の通信セグメントに属している。機器２００ｂには、ＩＰアドレスとして「１９２．１６８．０．１／２４」が設定されている。そのため、機器２００ｂと通信ポート１４５ｂは、「１９２．１６８．０．１〜２５５」の通信セグメントに属している。機器２００ｃには、ＩＰアドレスとして「１９２．１６８．１．１／２４」が設定されている。そのため、機器２００ｃと通信ポート１４５ｃは、「１９２．１６８．１．１〜２５５」の通信セグメントに属している。なお、通信ポート１４５と機器２００とは同じ通信セグメントに属している場合には相互に通信可能であるものの、異なる通信セグメントに属している通信ポート１４５と機器２００の間では通信はできない。
【００１７】
図１に示す情報処理装置１００の例では、機器２００ｂと機器２００ｃに接続されている通信ケーブルを、作業者が誤った通信ポートに結線した場合の例である。具体的には、通信ポート１４５ｂには機器２００ｃと接続される通信ケーブルが結線されており、通信ポート１４５ｃには機器２００ｂと接続される通信ケーブルが結線されている。すると、情報処理装置１００は、通信ポート１４５ｂと機器２００ｃの通信セグメントが異なるため、機器２００ｃと通信できない。同様に、情報処理装置１００は、通信ポート１４５ｃと機器２００ｂの通信セグメントが異なるため、機器２００ｂと通信できない。
【００１８】
本実施形態に係る情報処理装置１００は、通信ケーブルの結線状況に依存せず、接続したネットワークの用途に合ったＩＰアドレスに通信ポート設定を自動で修正する機能を提供する。そのため、本実施形態に係る情報処理装置１００では、誤った通信ケーブルの結線状況でも、接続したネットワークの用途に合ったＩＰアドレスに通信ポート設定を自動で修正し、用途に合った通信を行うことができる。この機能を提供するため、情報処理装置１００は、制御チップ１１０を備える。
【００１９】
以下に、図１の実施例に係る情報処理装置１００の例を用いた通信ポート設定を自動で修正する機能の処理の例を順に説明する。
【００２０】
（Ａ１）通信部１３４は、１つの通信ポートを選択し、選択した通信ポートに対応するＩＰアドレスの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。（Ａ１）の処理は、情報処理装置１００の電源が投入された際に実行されればよい。
【００２１】
（Ａ１．１）通信部１３４は、選択された通信ポート１４５ａが属する通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。ＣＰＵ１４１は、該接続確認を通信ポート１４５ａから通信セグメントネットワークに対して送信する。通信ポート１４５ａと同じ通信セグメントに属している機器２００ａは、接続確認への応答を情報処理装置１００に返す。制御部１３３は、通信ポート１４５ａと機器２００ａの接続に問題がないと判定する。
【００２２】
（Ａ１．２）通信部１３４は、選択された通信ポート１４５ｂが属する通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。ＣＰＵ１４１は、該接続確認を通信ポート１４５ｂから通信セグメントネットワークに対して送信する。しかし、通信ポート１４５ｂには、異なる通信セグメントに属する機器２００ｃが接続されているため、接続確認への応答は「応答エラー」で返される。制御部１３３は、通信ポート１４５ｂに接続されている機器２００に問題があると判定、検出する。
【００２３】
（Ａ１．３）通信部１３４は、選択された通信ポート１４５ｃが属する通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。ＣＰＵ１４１は、該接続確認を通信ポート１４５ｃから通信セグメントネットワークに対して送信する。しかし、通信ポート１４５ｃには、異なる通信セグメントに属する機器２００ｂが接続されているため、接続確認への応答は「応答エラー」で返される。制御部１３３は、通信ポート１４５ｃに接続されている機器２００に問題があると判定する。
【００２４】
（Ａ２）特定部１３２は、正しい接続先を特定する処理を開始する。
（Ａ２．１）特定部１３２は、応答エラーのあった通信ポート１４５ｂと接続されている機器の特定処理を開始する。特定部１３２は、応答エラーのあった通信ポート１４５ｂと異なる通信ポート（通信ポート１４５ａ、１４５ｃ）の通信セグメントを取得する。通信部１３４は、通信ポート（通信ポート１４５ａ、１４５ｃ）の通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。この接続確認は、応答エラーのあった通信ポート１４５ｂから送信される。すると、通信ポート１４５ｂからの接続要求に対して、機器２００ｃからの応答が返ってくる。特定部１３２は、通信ポート１４５ｂに通信ポート１４５ｃの通信セグメントに属する機器が接続されていることを特定する。
【００２５】
（Ａ２．２）特定部１３２は、応答エラーのあった通信ポート１４５ｃと接続されている機器の特定処理を開始する。特定部１３２は、応答エラーのあった通信ポート１４５ｃと異なる通信ポート（通信ポート１４５ａ、１４５ｂ）の通信セグメントを取得する。通信部１３４は、通信ポート（通信ポート１４５ａ、１４５ｂ）の通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。この接続確認は、応答エラーのあった通信ポート１４５ｃから送信される。すると、通信ポート１４５ｃからの接続要求に対して、機器２００ｂからの応答が返ってくる。特定部１３２は、通信ポート１４５ｃに通信ポート１４５ｂの通信セグメントに属する機器が接続されていることを特定する。
【００２６】
（Ａ３）（Ａ１）〜（Ａ２．２）の処理により、通信ポート１４５ｂと通信ポート１４５ｃに接続される通信ケーブルが逆に接続されていることがわかる。そこで生成部１３１は、ＯＳ１４４に記憶されているポート設定１４６とは別に、通信ポートに対応づけられたＩＰアドレスを保持するポートリスト（後述する）を更新する。図１の情報処理装置１００の例において生成部１３１は、通信ポート１４５ｂのＩＰアドレスと通信ポート１４５ｃのＩＰアドレスとを入れ替えたポートリストを生成する。
【００２７】
（Ａ４）制御部１３３は、以降、通信ポート１４５ｂと通信ポート１４５ｃに属する通信セグメント内の機器に通信をする場合、ポートリストに含まれるＩＰアドレスに基づいて通信をするようにＣＰＵ１４１を制御する。
【００２８】
このように、制御チップ１１０は、情報処理装置１００に接続されている通信ケーブルの接続間違いを検知できる。該接続間違いを検出すると、制御チップ１１０は、通信ポートとＩＰアドレスの対応関係を修正したポートリストを生成する。制御チップ１１０は、ポーチリストに基づいて機器への通信を制御することで、結線間違いがある状況のまま正常に通信を可能とする。
【００２９】
図２は、本実施形態に係る情報処理装置のハードウェア構成の例を説明する図である。情報処理装置１００は、プロセッサ１１、メモリ１２、バス１５、外部記憶装置１６、ネットワーク接続装置１９を備える。さらにオプションとして、情報処理装置１００は、入力装置１３、出力装置１４、媒体駆動装置１７を備えても良い。情報処理装置１００は、例えば、コンピュータなどで実現されることがある。
【００３０】
プロセッサ１１は、ＣＰＵ１４１などの任意の処理回路である。また、プロセッサ１１は、制御チップ１１０に搭載されているＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）でもよい。プロセッサ１１は、生成部１３１、特定部１３２、制御部１３３として動作することができる。なお、プロセッサ１１は、例えば、外部記憶装置１６に記憶されたプログラムを実行することができる。メモリ１２は、メモリ１４３として動作する。又、メモリ１２は、制御チップ１１０内の記憶部１２０として動作してもよい。さらに、メモリ１２は、プロセッサ１１の動作により得られたデータや、プロセッサ１１の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置１９は、他の装置との通信に使用される。ネットワーク接続装置１９は、通信ポート１４５ａ〜１４５ｃとして動作することができる。
【００３１】
入力装置１３は、例えば、ボタン、キーボード、マウス等として実現され、出力装置１４は、ディスプレイなどとして実現される。バス１５は、プロセッサ１１、メモリ１２、入力装置１３、出力装置１４、外部記憶装置１６、媒体駆動装置１７、ネットワーク接続装置１９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置１６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１１などに提供する。媒体駆動装置１７は、メモリ１２や外部記憶装置１６のデータを可搬記憶媒体１８に出力することができ、また、可搬記憶媒体１８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１８は、フレキシブルディスク、Ｍａｇｎｅｔ−Ｏｐｔｉｃａｌ（ＭＯ）ディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ（ＣＤ−Ｒ）やＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ（ＤＶＤ−Ｒ）を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００３２】
図３は、正しい結線状況における情報処理装置の例を説明する図である。図３の情報処理装置１００において、図１の情報処理装置１００と同じものには同じ番号を付す。図３における情報処理装置１００ａでは、機器２００ｂと通信ポート１４５ｂとが接続され、機器２００ｃと通信ポート１４５ｃとが接続されている。そのため、全ての通信ポート１４５は、各機器２００との通信を正常にできる状態である。
【００３３】
図３に示す機器２００ａ〜２００ｃは、夫々通信ポート１４５と同じ通信セグメントに属するように接続されている。このように正しい結線がされている状況において、ＣＰＵ１４１は、メモリ１４３に記憶されているポート設定１４６に基づいた各通信ポート１４５のＩＰアドレスを取得し、機器２００ａ〜２００ｃなどと通信する処理を実行する。
【００３４】
ここで、正しい結線がされている状況であっても本実施形態に係る制御チップ１１０は、各通信ポート１４５のＩＰアドレスを記憶部１２０に記憶されるポートリスト１２５ａから取得するようＣＰＵ１４１を制御してもよい。生成部１３１は、例えば、情報処理装置１００ａの電源が投入された際にポートリスト１２５ａを生成する。なお、ポートリスト１２５ａは、正しい結線状況として初期構成として設定された通信ポートの情報を含む。
【００３５】
具体的には、ポートリスト１２５ａは、通信ポート、物理ＭＡＣアドレス、仮ＭＡＣアドレス、ＩＰアドレス、設定フラグ、捜索フラグを備える。初期構成（正しい結線状況）でポートリスト１２５ａが生成される場合、生成部１３１は、ポート設定１４６から各通信ポートに関する情報を取得する。生成部１３１は、各通信ポートを識別する情報（通信ポート１４５ａ〜１４５ｃ）と、各通信ポートに対応する物理ＭＡＣアドレスとＩＰアドレスをポート設定１４６から取得し、ポートリスト１２５ａを生成する。
【００３６】
生成部１３１は、仮ＭＡＣアドレスに物理ＭＡＣアドレスと同じＭＡＣアドレスを格納させる。生成部１３１は、設定フラグに、「未設定」を示す情報を格納させる。生成部１３１は、捜索フラグに「未捜索」を示す情報を格納させる。なお、仮ＭＡＣアドレス、設定フラグ、捜索フラグは、特定部１３２の処理で使用されるもので、詳しくは後述する。
【００３７】
このように、各通信ポート１４５に対応する物理ＭＡＣアドレスとＩＰアドレスを含むポートリスト１２５ａを備えることで、制御部１３３は、ＣＰＵ１４１の機器２００への通信を制御することができる。
【００３８】
図４は、通信部における接続確認の処理の例を説明する図である。図４は、通信部１３４における（Ａ１）に示す処理の例である。通信部１３４は、情報処理装置１００ａの電源が投入されると、ポートリスト１２５ａに保持されている通信ポートを１つ選択し、該通信ポートに対応するＩＰアドレスの通信セグメントネットワークに対して接続確認をする命令をＣＰＵ１４１に送信する。
【００３９】
接続確認は、例えば、Ｐｉｎｇである。接続確認パケット３１０は、通信部１３４がＣＰＵ１４１に送信するパケットの例である。接続確認パケット３１０は、宛先ＭＡＣ、発信元ＭＡＣ、宛先ＩＰ、発信元ＩＰ、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）メッセージ部を含む。宛先ＭＡＣには、Ｂｒｏａｄｃａｓｔアドレスを示すＭＡＣアドレスが格納される。宛先ＭＡＣにＢｒｏａｄｃａｓｔアドレスが格納されているため、接続確認パケット３１０は、通信ポートが属する通信セグメントネットワークに含まれる全ての機器（宛先）に送られる。発信元ＭＡＣには、（Ａ１）で選択した通信ポートのＭＡＣアドレス（発信元）がポートリスト１２５ａに基づいて格納される。なお、宛先ＭＡＣと発信元ＭＡＣは、Ｅｔｈｅｒｎｅｔ（登録商標）フレームにおけるヘッダに属する。
【００４０】
宛先ＩＰには、Ｂｒｏａｄｃａｓｔアドレスを示すＩＰアドレスが格納される。宛先ＩＰにＢｒｏａｄｃａｓｔアドレスが格納されているため、接続確認パケット３１０は、通信ポートが属する通信セグメントネットワークに含まれる全ての機器（宛先）に送られる。発信元ＩＰには、（Ａ１）で選択した通信ポートのＩＰアドレス（発信元）がポートリスト１２５ａに基づいて格納される。発信元ＩＰと発信元ＭＡＣが格納されていることで、接続確認パケット３１０を受信した各種機器は、該発信元に対して接続確認への応答を返す。なお、宛先ＩＰと発信元ＩＰは、Ｅｔｈｅｒｎｅｔ（登録商標）フレーム内のＩＰヘッダに属する。ＩＣＭＰメッセージ部は、接続確認パケット３１０への応答結果のメッセージを格納する。接続確認パケット３１０の時点では、応答結果はまだでていないため、ＩＣＭＰメッセージ部にはエラーがないことを示す情報が格納される。
【００４１】
応答パケット３２０は、接続確認パケット３１０に対して、通信パケットと同じ通信セグメントに属する機器から「通信に問題がない」ことを示す情報を含めて、接続確認パケット３１０の送信元に送信されるパケットである。応答パケット３２０は、宛先ＭＡＣ、発信元ＭＡＣ、宛先ＩＰ、発信元ＩＰ、ＩＣＭＰメッセージ部を含む。宛先ＭＡＣには、接続確認パケット３１０を発信した通信ポートのＭＡＣアドレスが格納される。発信元ＭＡＣには、応答を返す機器２００のＭＡＣアドレスが格納される。宛先ＩＰには、接続確認パケット３１０を発信した通信ポートのＩＰアドレスが格納される。発信元ＩＰには、応答を返す機器２００のＩＰアドレスが格納される。機器２００が通信ポートの通信セグメントと同じセグメントに属している場合であるため、「通信に問題がない」ことを示す情報がＩＣＭＰメッセージ部に格納される。このような応答パケット３２０を通信部１３４が取得することで、通信部１３４は、通信ポートと同じ通信セグメントに属している機器が、該通信ポートに接続されているかを判定できる。
【００４２】
一方、応答パケット３３０は、接続確認パケット３１０に対して、異なる通信セグメントに属する機器２００から「応答エラー」であることを示す情報を含めて、接続確認パケット３１０の送信元に送信されるパケットである。応答パケット３３０は、宛先ＭＡＣ、発信元ＭＡＣ、宛先ＩＰ、発信元ＩＰ、ＩＣＭＰメッセージ部を含む。宛先ＭＡＣには、接続確認パケット３１０を発信した通信ポートのＭＡＣアドレスが格納される。発信元ＭＡＣには、応答を返す機器２００のＭＡＣアドレスが格納される。宛先ＩＰには、接続確認パケット３１０を発信した通信ポートのＩＰアドレスが格納される。発信元ＩＰには、応答を返す機器２００のＩＰアドレスが格納される。機器２００が通信ポートの通信セグメントと異なるセグメントに属している場合であるため、「応答エラー」であることを示す情報がＩＣＭＰメッセージ部に格納される。応答パケット３３０を通信部１３４が取得することで、通信部１３４は、通信ポートの通信セグメントと異なる機器が通信ポートに接続されていることを判定できる。
【００４３】
通信部１３４は、（Ａ１）の処理で、ポートリスト１２５ａに基づき各通信ポートが属している通信セグメントネットワークに対して、接続確認パケット３１０を送信する。接続確認パケット３１０を受信した機器２００は、発信元となる通信ポートと自身が同じ通信セグメントに属しているかを判定する。自身と同じ通信セグメントに属する通信ポートから接続確認パケット３１０を受信している場合、機器２００は、応答パケット３２０を送信する。自身と異なる通信セグメントに属する通信ポートから接続確認パケット３１０を受信している場合、機器２００は、応答パケット３３０を送信する。このような方法で接続確認を取ることで、特定部１３２は、結線間違えのある通信ポートを特定することができる。
【００４４】
図５は、誤って結線された情報処理装置の例を説明する図である。図５の情報処理装置１００ｂは、図３と同じものには同じ番号を付す。図５の情報処理装置１００ｂでは、正しく結線された図３の情報処理装置１００ａに対して作業者が誤って作業をし、誤った結線をした場合の例である。
【００４５】
誤った結線が行われているため、制御チップ１１０は、（Ａ１）〜（Ａ４）の処理を実行し、接続したネットワークの用途に合ったＩＰアドレスに通信ポート設定を自動で修正する。その結果、初期構成時に生成されたポートリスト１２５ａを、生成部は、ポートリスト１２５ｇのように更新する。
【００４６】
ポートリスト１２５ｇでは、誤った結線がされている通信ポート１４５ｂと通信ポート１４５ｃに対応する仮ＭＡＣアドレスとＩＰアドレスとが、ポートリスト１２５ａから入れ替えられて格納されている。具体的には、ポートリスト１２５ａには、通信ポート１４５ｂに対応し「物理ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「ＩＰアドレス１９２．１６８．０．２／２４」が格納されている。ポートリスト１２５ａには、通信ポート１４５ｃに対応した「物理ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「ＩＰアドレス１９２．１６８．１．２／２４」が格納されている。なお、ポートリストにおいてＭＡＣアドレスやＩＰアドレスの入れ替えが行われるものの、実際には、各機器や通信ポートのＭＡＣアドレスやＩＰアドレスは変更されない。
【００４７】
一方、ポートリスト１２５ｇには、通信ポート１４５ｂに対応させて「物理ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「ＩＰアドレス１９２．１６８．１．２／２４」が格納されている。ポートリスト１２５ｇには、通信ポート１４５ｃに対応させて「物理ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「ＩＰアドレス１９２．１６８．０．２／２４」が格納されている。
【００４８】
制御チップ１１０の記憶部１２０に更新後のポートリスト１２５ｇが記憶されている場合、制御部１３３は、ポートリスト１２５ｇに基づいてＣＰＵ１４１を制御する。例えば、ＣＰＵ１４１が通信ポート１４５ｂを使用する場合、制御部１３３は、通信ポート１４５ｂのＭＡＣアドレスを「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」、ＩＰアドレスを「ＩＰアドレス：１９２．１６８．１．２／２４」であるとＣＰＵ１４１に認識させる。その結果、ＣＰＵ１４１は、通信ポート１４５ｂを通信セグメント「１９２．１６８．１．１〜２５５」（通信ポート１４５ｃが属する通信セグメント）に属しているものと仮定して、機器２００ｃと通信処理を可能となる。ＣＰＵ１４１が通信ポート１４５ｃを使用する場合、制御部１３３は、通信ポート１４５ｃのＭＡＣアドレスを「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」、ＩＰアドレスを「ＩＰアドレス１９２．１６８．０．２／２４」であるとＣＰＵ１４１に認識させる。その結果、ＣＰＵ１４１は、通信ポート１４５ｃを通信セグメント「１９２．１６８．０．１〜２５５」（通信ポート１４５ｂが属する通信セグメント）に属しているものと仮定して、機器２００ｂと通信処理を可能となる。言い換えると、仮ＭＡＣは、通信ポートに対して、本来の物理ＭＡＣアドレスと異なるＭＡＣアドレスを割り当てるために用いられる。
【００４９】
以降、図６Ａと図６Ｂを用いてポートリスト１２５ａが更新され、ポートリスト１２５ｇまで更新されていく過程を順に説明する。図６Ａと図６Ｂは、ポートリストを更新する処理の例を説明する図（その１）である。ポートリスト１２５ａは、正しい結線状況として初期構成として設定された通信ポートの情報を含む。
【００５０】
ここで、作業者が通信ケーブルを一度全て抜き、再度結線した後の制御チップ１１０の処理を順に説明する。
【００５１】
＜通信ポート１４５ａに対するポートリスト更新処理＞
通信部１３４は、ポートリスト１２５ａの上から順に１つの通信ポート（例えば、通信ポート１４５ａ）を選択する。通信部１３４は、ポートリスト１２５ａから通信ポート１４５ａのＩＰアドレス「１０．２１．１５４．２４０／２４」を取得する。その後、通信部１３４は、通信ポート１４５ａが属する通信セグメントネットワーク「１０．２１．１５４．１〜２５５」に対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する。通信ポート１４５ａと同じ通信セグメントに属している機器２００ａは、接続確認への応答を情報処理装置１００ｂに返す。制御部１３３は、通信ポート１４５ａと機器２００ａの接続に問題がないと判定する。
【００５２】
すると、生成部１３１は、ポートリストの通信ポート１４５ａに対応する設定フラグに、通信ポート１４５ａのＭＡＣアドレスとＩＰアドレスの設定が完了したことを示す「設定済」を示す情報を格納する。結果、生成部１３１は、ポートリスト１２５ｂに示すようにポートリストを更新する。
【００５３】
＜通信ポート１４５ｂに対するポートリスト更新処理＞
次に、通信部１３４は、最新のポートリスト１２５ｂの上から順に１つの通信ポート（例えば、通信ポート１４５ｂ）を選択する。なお、通信部１３４は、通信ポートを１つ選択する際、ポートリスト１２５の設定フラグに「設定済」が設定されている通信ポートをスキップする。通信部１３４は、ポートリスト１２５ｂから通信ポート１４５ｂのＩＰアドレス「１９２．１６８．０．２／２４」を取得する。その後、通信部１３４は、通信ポート１４５ｂが属する通信セグメントネットワーク「１９２．１６８．０．１〜２５５」に対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する。しかし、通信ポート１４５ｂには、異なる通信セグメントに属する機器２００ｃが接続されているため、接続確認への応答は「応答エラー」で返される。制御部１３３は、通信ポート１４５ｂに接続されている機器２００に問題があると判定する。
【００５４】
すると、生成部１３１は、ポートリストの通信ポート１４５ｂに対応する捜索フラグに、該通信ポート１４５ｂが属する通信セグメントの接続確認が完了したことを示す「捜索済」を示す情報を格納する。結果、生成部１３１は、ポートリスト１２５ｃに示すようにポートリストを更新する。
【００５５】
特定部１３２は、応答エラーのあった通信ポート１４５ｂの正しい接続先を特定する処理を開始する。特定部１３２は、最新のポートリスト１２５ｃの上から順に１つの通信ポート（例えば、通信ポート１４５ａ）を選択する。なお、特定部１３２は、通信ポートを１つ選択する際、ポートリスト１２５の捜索フラグに「捜索済」が設定されている通信ポートをスキップする。通信部１３４は、通信ポート１４５ｂから、通信ポート１４５ａの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。しかし、通信ポート１４５ｂには、機器２００ｃが接続されているため、接続確認への応答は「応答エラー」で返される。特定部１３２は、通信ポート１４５ｂに接続されている機器２００が通信ポート１４５ａの通信セグメントに属していないと判定する。生成部１３１は、ポートリストの通信ポート１４５ａに対応する捜索フラグに、「捜索済」を示す情報を格納する。
【００５６】
特定部１３２は、最新のポートリスト１２５ｃの上から順に１つの通信ポート（例えば、通信ポート１４５ｃ）を選択する。なお、特定部１３２は、通信ポートを１つ選択する際、ポートリスト１２５の捜索フラグに「捜索済」が設定されている通信ポート（通信ポート１４５ａ、１４５ｂ）をスキップする。通信部１３４は、通信ポート１４５ｂから、通信ポート１４５ｃの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。すると、通信ポート１４５ｂからの接続要求に対して、機器２００ｃからの応答が返ってくる。特定部１３２は、通信ポート１４５ｂに通信ポート１４５ｃの通信セグメントに属する機器が接続されていることを特定する。
【００５７】
生成部１３１は、通信ポート１４５ｂに対応する「仮ＭＡＣ」と「ＩＰアドレス」と、通信ポート１４５ｃの「仮ＭＡＣ」と「ＩＰアドレス」とを入れ替え、ポートリスト１２５ｄに示すようにポートリストを更新する。具体的に生成部１３１は、ポートリスト１２５ｄにおける通信ポート１４５ｂに対応させて、（通信ポート１４５ｃに属する）「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「ＩＰアドレス１９２．１６８．１．２／２４」を格納する。生成部１３１は、ポートリスト１２５ｄにおける通信ポート１４５ｃに対応させて、（通信ポート１４５ｂに属する）「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「ＩＰアドレス１９２．１６８．０．２／２４」を格納する。
【００５８】
制御チップ１１０は、通信ポート１４５ｂの正しい接続先を特定し、ポートリスト１２５を修正したため、後処理を開始する。生成部１３１は、ポートリスト１２５ｄにおける捜索フラグに対して全て「未捜索」を格納する。生成部１３１は、ポートリスト１２５ｅに示すようにポートリストを更新する。
【００５９】
生成部１３１は、ポートリストの通信ポート１４５ｂに対応する設定フラグに、通信ポート１４５ｂのＭＡＣアドレスとＩＰアドレスの設定が完了したことを示す「設定済」を示す情報を格納する。結果、生成部１３１は、ポートリスト１２５ｆに示すようにポートリストを更新する。
【００６０】
＜通信ポート１４５ｃに対するポートリスト更新処理＞
通信部１３４は、最新のポートリスト１２５ｆの上から順に１つの通信ポート（例えば、通信ポート１４５ｃ）を選択する。なお、通信部１３４は、通信ポートを１つ選択する際、ポートリスト１２５の設定フラグに「設定済」が設定されている通信ポートをスキップする。通信部１３４は、ポートリスト１２５ｆから通信ポート１４５ｃのＩＰアドレス「１９２．１６８．０．２／２４」を取得する。通信部１３４は、通信ポート１４５ｃが属すると設定された通信セグメントネットワーク「１９２．１６８．０．１〜２５５」に対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する。「１９２．１６８．０．１〜２５５」に属している機器２００ａは、接続確認への応答を情報処理装置１００ｂに返す。制御部１３３は、通信ポート１４５ｃと機器２００ｂの接続に問題がないと判定する。
【００６１】
生成部１３１は、ポートリストの通信ポート１４５ｃに対応する設定フラグに、通信ポート１４５ｃのＭＡＣアドレスとＩＰアドレスの設定が完了したことを示す「設定済」を示す情報を格納する。結果、生成部１３１は、ポートリスト１２５ｇに示すようにポートリストを更新する。
【００６２】
このように、制御チップ１１０は、情報処理装置１００ｂに接続されている通信ケーブルの接続間違いを検出すると、通信ポートとＩＰアドレスの対応関係を修正したポートリストを生成する。制御チップ１１０は、ポーチリストに基づいて機器への通信を制御することで、結線間違いがある状況のまま正常に通信を可能とする。
【００６３】
図７は、発信パケットフレームの例を説明する図である。誤った結線状況を修正した情報を保持するポートリスト１２５ｇを用いて、制御部１３３は、ＣＰＵ１４１の機器との通信処理を制御する。
【００６４】
例えば、通信ポート１４５ｂを用いた通信をしたい場合、ＣＰＵ１４１は、ポート設定１４６に基づいて発信パケット４１０を生成する。発信パケット４１０は、宛先ＭＡＣ、発信元ＭＡＣ、宛先ＩＰ、発信元ＩＰを少なくとも含む。宛先ＭＡＣには、宛先となる機器のＭＡＣアドレスが格納される。発信元ＭＡＣには、通信ポート１４５ｂのＭＡＣアドレスが格納される。宛先ＩＰには、宛先となる機器のＩＰアドレスが格納される。発信元ＩＰには、通信ポート１４５ｂのＩＰアドレスが格納される。
【００６５】
ここで、制御部１３３は、最新のポートリスト１２５ｇに基づいて発信パケット４１０を変換する。制御部１３３は、ポートリスト１２５から、発信パケット４１０に含まれる発信元ＭＡＣと一致する仮ＭＡＣを備える通信ポートを特定する。通信ポート１４５ｂのＭＡＣアドレスは、ポートリスト１２５ｇの通信ポート１４５ｃの仮ＭＡＣアドレスと一致する。制御部１３３は、発信パケット４１０の発信元ＭＡＣに、通信ポート１４５ｃのＭＡＣアドレスを格納する。
【００６６】
そのため、ＣＰＵ１４１で通信ポート１４５ｂを使用した通信処理を実行する場合、実際には、通信ポート１４５ｃから該通信処理が行われる。
【００６７】
図８Ａと図８Ｂは、本実施形態に係る情報処理装置の処理の例を説明するフローチャートである。制御部１３３は、全ての通信ポートに通信ケーブルが結線されていることを確認する（ステップＳ１０１）。生成部１３１は、ポートリストの設定フラグを全て「未設定」に変更する（ステップＳ１０２）。通信部１３４は、ポートリストの設定フラグに「未設定」の通信ポートがあるかを判定する（ステップＳ１０３）。ポートリストの設定フラグに「未設定」が設定されている通信ポートがある場合（ステップＳ１０３でＹＥＳ）、通信部１３４は、未設定が設定されている通信ポートを１つ選択する（ステップＳ１０４）。通信部１３４は、選択した通信ポートが属する通信セグメントネットワークに対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する（ステップＳ１０５）。制御部１３３は、接続確認に対する応答として、応答エラーを受信したかを判定する（ステップＳ１０６）。接続確認の結果で応答エラーでなかった場合（ステップＳ１０６でＮＯ）、生成部１３１は、ポートリスト内の選択した通信ポート１４５に対応する設定フラグに、「設定済」を示す情報を格納する（ステップＳ１０７）。制御チップ１１０は、ステップＳ１０７の処理が終了すると、処理をステップＳ１０３から繰り返す。
【００６８】
通信部１３４は、ポートリストの捜索フラグに「未捜索」の通信ポートがあるかを判定する（ステップＳ１０９）。ポートリストの捜索フラグに「未捜索」が設定されている通信ポートがある場合（ステップＳ１０９でＹＥＳ）、通信部１３４は、未捜索が設定されている通信ポートを１つ選択する（ステップＳ１１０）。通信部１３４は、選択した通信ポートが属する通信セグメントネットワークに対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する（ステップＳ１１１）。制御部１３３は、接続確認に対する応答として、応答エラーを受信したかを判定する（ステップＳ１１２）。応答エラーがない場合（ステップＳ１１２でＮＯ）、生成部１３１は、ポートリストを更新する（ステップＳ１１３）。生成部１３１は、ステップＳ１０６で応答エラーのあった通信ポートのＭＡＣアドレス、ＩＰアドレスと、ステップＳ１１２で応答エラーのない通信ポートのＭＡＣアドレス、ＩＰアドレスとをポートリスト内で入れ替えてポートリストを更新する。ステップＳ１１３の処理が終了すると、制御チップ１１０は、処理をステップＳ１０７から繰り返す。
【００６９】
応答エラーがある場合（ステップＳ１１２でＹＥＳ）、生成部１３１は、ステップＳ１１０で選択した通信ポートに対応したポートリスト内の捜索フラグに「捜索済」を設定し、更新する（ステップＳ１１４）。ステップＳ１１４の処理が終了すると、制御チップ１１０は、処理をステップＳ１０８から繰り返す。ポートリストの捜索フラグに「未捜索」が設定されている通信ポートがない場合（ステップＳ１０９でＮＯ）、生成部１３１は、全ての通信ポートの捜索フラグに未捜索を設定するようにポートリストを更新する（ステップＳ１１５）。ステップＳ１１５の処理が終了すると、制御チップ１１０は、処理をステップＳ１０８から繰り返す。
【００７０】
ポートリストの設定フラグに「未設定」が設定されている通信ポートがない場合（ステップＳ１０３でＮＯ）、制御チップ１１０は、ポートリストを更新する処理を終了する。
【００７１】
このように、制御チップ１１０は、情報処理装置１００ｂに接続されている通信ケーブルの接続間違いを検出すると、通信ポートとＩＰアドレスの対応関係を修正したポートリストを生成する。制御チップ１１０は、ポーチリストに基づいて機器への通信を制御することで、結線間違いがある状況のまま正常に通信を可能とする。
【００７２】
＜その他＞
図１〜図８の実施形態に係る情報処理装置は、２つの通信ポートで結線間違いがある場合の例である。結線間違いが複数の通信ポートに跨ってされたとしても、本実施形態に係る情報処理装置は、通信ポートとＩＰ、ＭＡＣアドレスの対応関係を修正して通信可能な状況に自動的に移行できる。
【００７３】
図９は、結線間違いが複数の通信ポートに跨ってある情報処理装置の例を説明する図である。図９の情報処理装置１００ｃにおいて、図１の情報処理装置１００と同じものには同じ番号を付す。図９における情報処理装置１００ｃでは、機器２００ａと通信ポート１４５ｂ、機器２００ｂと通信ポート１４５ｃ、機器２００ｃと通信ポート１４５ａが接続されている。すると、機器２００が属する通信セグメントと通信ポート１４５が属する通信セグメントが同じものがなく、全ての通信ポートから機器への通信はできない状態である。
【００７４】
そこで、制御チップ１１０は、（Ａ１）〜（Ａ４）の処理を実行し、接続したネットワークの用途に合ったＩＰアドレスに通信ポート設定を自動で修正する。記憶部１２０には、初期構成（正しい結線がなされた場合）におけるポートリスト５００ａが記憶されている。制御チップ１１０は、接続したネットワークの用途に合ったＩＰアドレスに通信ポート設定を自動で修正し、ポートリスト５００ａをポートリスト５００ｄのように更新する。
【００７５】
ポートリスト５００ｄには、通信ポート１４５ａに対応させて「物理ＭＡＣ：９０１Ｂ０Ｅ０ＡＡＡ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「ＩＰアドレス１９２．１６８．１．２／２４」が格納されている。ポートリスト５００ｄには、通信ポート１４５ｂに対応させて「物理ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＡＡＡ」「ＩＰアドレス１０．２１．１５４．２４０／２４」が格納されている。ポートリスト５００ｄには、通信ポート１４５ｃに対応させて「物理ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「ＩＰアドレス１９２．１６８．０．２／２４」が格納されている。
【００７６】
制御チップ１１０の記憶部１２０に更新後のポートリスト５００ｄが記憶されている場合、制御部１３３は、ポートリスト５００ｄに基づいてＣＰＵ１４１を制御する。例えば、ＣＰＵ１４１が通信ポート１４５aを使用する場合、制御部１３３は、通信ポート１４５ａのＭＡＣアドレスを「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」、ＩＰアドレスを「ＩＰアドレス：１９２．１６８．１．２／２４」であるとＣＰＵ１４１に認識させる。その結果、ＣＰＵ１４１は、通信ポート１４５aを通信セグメント「１９２．１６８．１．１〜２５５」（通信ポート１４５ｃが属する通信セグメント）に属しているものと仮定して、機器２００ｃと通信処理を可能となる。ＣＰＵ１４１が通信ポート１４５ｂを使用する場合、制御部１３３は、通信ポート１４５ｂのＭＡＣアドレスを「仮ＭＡＣ：９０１Ｂ０Ｅ０ＡＡＡ」、ＩＰアドレスを「ＩＰアドレス１０．２１．１５４．２４０／２４」であるとＣＰＵ１４１に認識させる。その結果、ＣＰＵ１４１は、通信ポート１４５ｂを通信セグメント「１０．２１．１５４．１〜２５５」（通信ポート１４５ａが属する通信セグメント）に属しているものと仮定して、機器２００ａと通信処理を可能となる。ＣＰＵ１４１が通信ポート１４５ｃを使用する場合、制御部１３３は、通信ポート１４５ｃのＭＡＣアドレスを「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」、ＩＰアドレスを「ＩＰアドレス１９２．１６８．０．２／２４」であるとＣＰＵ１４１に認識させる。その結果、ＣＰＵ１４１は、通信ポート１４５ｃを通信セグメント「１９２．１６８．０．１〜２５５」（通信ポート１４５ｂが属する通信セグメント）に属しているものと仮定して、機器２００ｂと通信処理を可能となる。
【００７７】
以降、図１０を用いてポートリスト５００ａが更新され、ポートリスト５００ｄまで更新されていく過程を順に説明する。図１０は、ポートリストを更新する処理の例を説明する図（その２）である。ポートリスト５００ａは、正しい結線状況として初期構成として設定された通信ポートの情報を含む。
【００７８】
ここで、作業者が通信ケーブルを一度全て抜き、再度結線した後の制御チップ１１０の処理を順に説明する。
【００７９】
＜通信ポート１４５ａに対するポートリスト更新処理＞
通信部１３４は、ポートリスト５００ａの上から順に１つの通信ポート（例えば、通信ポート１４５ａ）を選択する。通信部１３４は、ポートリスト５００ａから通信ポート１４５ａのＩＰアドレス「１０．２１．１５４．２４０／２４」を取得する。その後、通信部１３４は、通信ポート１４５ａが属する通信セグメントネットワーク「１０．２１．１５４．１〜２５５」に対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する。しかし、通信ポート１４５aには、異なる通信セグメントに属する機器２００ｃが接続されているため、接続確認への応答は「応答エラー」で返される。制御部１３３は、通信ポート１４５ａに接続されている機器２００に問題があると判定する。
【００８０】
すると、生成部１３１は、ポートリストの通信ポート１４５aに対応する捜索フラグに、該通信ポート１４５ａが属する通信セグメントの接続確認が完了したことを示す「捜索済」を示す情報を格納する。
【００８１】
特定部１３２は、応答エラーのあった通信ポート１４５ａの正しい接続先を特定する処理を開始する。特定部１３２は、最新のポートリスト５００ａの上から順に１つの通信ポート（例えば、通信ポート１４５ｂ）を選択する。なお、特定部１３２は、通信ポートを１つ選択する際、ポートリスト５００の捜索フラグに「捜索済」が設定されている通信ポートをスキップする。通信部１３４は、通信ポート１４５ａから、通信ポート１４５ｂの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。しかし、通信ポート１４５ａには、機器２００ｃが接続されているため、接続確認への応答は「応答エラー」で返される。特定部１３２は、通信ポート１４５ａに接続されている機器２００が通信ポート１４５ｂの通信セグメントに属していないと判定する。生成部１３１は、ポートリストの通信ポート１４５ｂに対応する捜索フラグに、「捜索済」を示す情報を格納する。
【００８２】
特定部１３２は、最新のポートリスト５００ｃの上から順に１つの通信ポート（例えば、通信ポート１４５ｃ）を選択する。なお、特定部１３２は、通信ポートを１つ選択する際、ポートリスト５００の捜索フラグに「捜索済」が設定されている通信ポート（通信ポート１４５ａ、１４５ｂ）をスキップする。通信部１３４は、通信ポート１４５ａから、通信ポート１４５ｃの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。すると、通信ポート１４５ａからの接続要求に対して、機器２００ｃからの応答が返ってくる。特定部１３２は、通信ポート１４５ａに通信ポート１４５ｃの通信セグメントに属する機器が接続されていることを特定する。
【００８３】
生成部１３１は、通信ポート１４５ａに対応する「仮ＭＡＣ」と「ＩＰアドレス」と、通信ポート１４５ｃの「仮ＭＡＣ」と「ＩＰアドレス」とを入れ替え、ポートリスト５００ｂに示すようにポートリストを更新する。具体的に生成部１３１は、通信ポート１４５ａに対応させて、（通信ポート１４５ｃに属する）「仮ＭＡＣ：９０１Ｂ０Ｅ０ＣＣＣ」「ＩＰアドレス１９２．１６８．１．２／２４」をポートリストに格納する。生成部１３１は、通信ポート１４５ｃに対応させて、（通信ポート１４５ａに属する）「仮ＭＡＣ：９０１Ｂ０Ｅ０ＡＡＡ」「ＩＰアドレス１０．２１．１５４．２４０／２４」を格納する。
【００８４】
制御チップ１１０は、通信ポート１４５ａの正しい接続先を特定し、ポートリスト５００を修正したため、後処理を開始する。生成部１３１は、ポートリスト５００における捜索フラグに対して全て「未捜索」を格納する。生成部１３１は、ポートリスト５００ｂに示すようにポートリストを更新する。
【００８５】
生成部１３１は、ポートリストの通信ポート１４５aに対応する設定フラグに、通信ポート１４５ａのＭＡＣアドレスとＩＰアドレスの設定が完了したことを示す「設定済」を示す情報を格納する。結果、生成部１３１は、ポートリスト５００ｂに示すようにポートリストを更新する。
【００８６】
＜通信ポート１４５ｂに対するポートリスト更新処理＞
通信部１３４は、最新のポートリスト５００ｂの上から順に１つの通信ポート（例えば、通信ポート１４５ｂ）を選択する。通信部１３４は、ポートリスト５００ｂから通信ポート１４５ｂのＩＰアドレス「１９２．１６８．０．２／２４」を取得する。その後、通信部１３４は、通信ポート１４５ｂが属する通信セグメントネットワーク「１９２．１６８．０．１〜２５５」に対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する。しかし、通信ポート１４５ｂには、異なる通信セグメントに属する機器２００ａが接続されているため、接続確認への応答は「応答エラー」で返される。制御部１３３は、通信ポート１４５ｂに接続されている機器２００に問題があると判定する。
【００８７】
すると、生成部１３１は、ポートリストの通信ポート１４５ｂに対応する捜索フラグに、該通信ポート１４５ｂが属する通信セグメントの接続確認が完了したことを示す「捜索済」を示す情報を格納する。
【００８８】
特定部１３２は、応答エラーのあった通信ポート１４５ｂの正しい接続先を特定する処理を開始する。特定部１３２は、最新のポートリスト５００ｂの上から順に１つの通信ポート（例えば、通信ポート１４５ａ）を選択する。なお、特定部１３２は、通信ポートを１つ選択する際、ポートリスト５００の捜索フラグに「捜索済」が設定されている通信ポートをスキップする。通信部１３４は、通信ポート１４５ｂから、通信ポート１４５aの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。ここで、通信ポート１４５ａの通信セグメントは、初期構成における通信ポート１４５ｃに属する「１９２．１６８．１．１〜２５５」である。しかし、通信ポート１４５ｂには、「１９２．１６８．１．１〜２５５」とは異なる通信セグメントに属する機器２００ａが接続されているため、接続確認への応答は「応答エラー」で返される。特定部１３２は、通信ポート１４５ｂに接続されている機器２００が通信ポート１４５aの通信セグメントに属していないと判定する。生成部１３１は、ポートリストの通信ポート１４５aに対応する捜索フラグに、「捜索済」を示す情報を格納する。
【００８９】
特定部１３２は、最新のポートリスト５００ｂの上から順に１つの通信ポート（例えば、通信ポート１４５ｃ）を選択する。なお、特定部１３２は、通信ポートを１つ選択する際、ポートリスト５００の捜索フラグに「捜索済」が設定されている通信ポート（通信ポート１４５ａ、１４５ｂ）をスキップする。通信部１３４は、通信ポート１４５ｂから、通信ポート１４５ｃの通信セグメントネットワークに対して接続確認（例えば、Ｐｉｎｇ）をする命令をＣＰＵ１４１に送信する。ここで、通信ポート１４５ｃの通信セグメントは、初期構成における通信ポート１４５aに属する「１０．２１．１５４．１〜２５５」である。通信ポート１４５ｂには、「１０．２１．１５４．１〜２５５」の通信セグメントに属する機器２００ａが接続されているため、接続要求に対して、機器２００ａからの応答が返ってくる。特定部１３２は、通信ポート１４５ｂに通信ポート１４５a（ポートリスト５００ｂ上の通信ポート１４５ｃ）の通信セグメントに属する機器が接続されていることを特定する。
【００９０】
生成部１３１は、通信ポート１４５ｂに対応する「仮ＭＡＣ」と「ＩＰアドレス」と、通信ポート１４５ｃの「仮ＭＡＣ」と「ＩＰアドレス」とを入れ替え、ポートリスト５００ｃに示すようにポートリストを更新する。具体的に生成部１３１は、通信ポート１４５ｂに対応させて、（通信ポート１４５ａに属する）「仮ＭＡＣ：９０１Ｂ０Ｅ０ＡＡＡ」「ＩＰアドレス１０．２１．１５４．２４０／２４」をポートリストに格納する。生成部１３１は、通信ポート１４５ｃに対応させて、（通信ポート１４５ｂに属する）「仮ＭＡＣ：９０１Ｂ０Ｅ０ＢＢＢ」「ＩＰアドレス１９２．１６８．０．２／２４」を格納する。
【００９１】
制御チップ１１０は、通信ポート１４５ｂの正しい接続先を特定し、ポートリスト５００を修正したため、後処理を開始する。生成部１３１は、ポートリスト５００における捜索フラグに対して全て「未捜索」を格納する。生成部１３１は、ポートリスト５００ｃに示すようにポートリストを更新する。
【００９２】
生成部１３１は、ポートリストの通信ポート１４５ｂに対応する設定フラグに、通信ポート１４５ｂのＭＡＣアドレスとＩＰアドレスの設定が完了したことを示す「設定済」を示す情報を格納する。結果、生成部１３１は、ポートリスト５００ｃに示すようにポートリストを更新する。
【００９３】
＜通信ポート１４５ｃに対するポートリスト更新処理＞
通信部１３４は、最新のポートリスト５００ｃの上から順に１つの通信ポート（例えば、通信ポート１４５ｃ）を選択する。なお、通信部１３４は、通信ポートを１つ選択する際、ポートリスト５００の設定フラグに「設定済」が設定されている通信ポートをスキップする。通信部１３４は、ポートリスト５００ｃから通信ポート１４５ｃのＩＰアドレス「１９２．１６８．１．２／２４」を取得する。その後、通信部１３４は、通信ポート１４５ｃが属する通信セグメントネットワーク「１９２．１６８．１．１〜２５５」に対してブロードキャストで接続確認をする命令をＣＰＵ１４１に送信する。通信ポート１４５ｃと同じ通信セグメント「１９２．１６８．１．１〜２５５」に属している機器２００ｂは、接続確認への応答を情報処理装置１００ｃに返す。制御部１３３は、通信ポート１４５ａと機器２００ｂの接続に問題がないと判定する。
【００９４】
すると、生成部１３１は、ポートリストの通信ポート１４５ｃに対応する設定フラグに、通信ポート１４５ｃのＭＡＣアドレスとＩＰアドレスの設定が完了したことを示す「設定済」を示す情報を格納する。結果、生成部１３１は、ポートリスト１２５ｄに示すようにポートリストを更新する。
【００９５】
このように、制御チップ１１０は、情報処理装置１００ｂに接続されている通信ケーブルの接続間違いを検出すると、通信ポートとＩＰアドレスの対応関係を修正したポートリストを生成する。制御チップ１１０は、ポーチリストに基づいて機器への通信を制御することで、結線間違いがある状況のまま正常に通信を可能とする。
【符号の説明】
【００９６】
１００  情報処理装置
１１０  制御チップ
１２０  記憶部
１２５ａ、１２５ｂ  ポートリスト
１３１  生成部
１３２  特定部
１３３  制御部
１３４  通信部
１４１  ＣＰＵ
１４２  チップセット
１４３  メモリ
１４４  ＯＳ
１４５、１４５ａ〜１４５ｃ  通信ポート
１４６  ポート設定
２００ａ〜２００ｃ  機器
【図１】
0006665444.tif 000002
【図２】
0006665444.tif 000003
【図３】
0006665444.tif 000004
【図４】
0006665444.tif 000005
【図５】
0006665444.tif 000006
【図６Ａ】
0006665444.tif 000007
【図６Ｂ】
0006665444.tif 000008
【図７】
0006665444.tif 000009
【図８Ａ】
0006665444.tif 000010
【図８Ｂ】
0006665444.tif 000011
【図９】
0006665444.tif 000012
【図１０】
0006665444.tif 000013