(57)【特許請求の範囲】
【請求項１】
ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、前記ネットワークに接続された装置が使用可能なアドレスの範囲を特定する特定部と、
前記ネットワークに接続された他の装置により使用が確認されたアドレスと当該アドレスの使用を確認した時刻の情報とを、前記他の装置から取得する取得部と、
取得した前記アドレスと前記時刻の情報とに基づき、前記特定部により特定された前記アドレスの範囲に含まれる複数のアドレスの各々に優先度を設定する設定部と、
前記アドレスの範囲に含まれる前記複数のアドレスの中から、前記優先度に基づき第１のアドレスを選択し、当該第１のアドレスが、前記ネットワークに接続された他の装置に使用されているか判定する判定部と、
前記第１のアドレスが前記他の装置に使用されていないと前記判定部により判定された場合、前記第１のアドレスの使用を開始する管理部と、
を有する情報処理装置。
【請求項２】
前記ネットワークにおいて転送されるパケットのうち送信元アドレスのアドレスクラスと宛先アドレスのアドレスクラスとが同じである前記パケットを、前記ネットワークから取得する第２取得部、
をさらに有する請求項１記載の情報処理装置。
【請求項３】
前記第１のアドレスが前記他の装置に使用されていると判定された場合、前記第１のアドレスと前記第１のアドレスが前記他の装置に使用されていると判定された時刻の情報とを記憶装置に格納する手段と、
アドレスの使用に関する情報の取得を要求する取得要求を前記他の装置から受信した場合、前記記憶装置に格納された、前記第１のアドレスと前記第１のアドレスが前記他の装置に使用されていると判定された時刻の情報とを、前記他の装置に送信する手段と、
をさらに有する請求項１又は２記載の情報処理装置。
【請求項４】
前記判定部は、
ＧＡＲＰ（Gratuitous Address Resolution Protocol）のパケットに対する返信を受信したか否かに基づき、前記第１のアドレスが前記他の装置に使用されているか判定する、
請求項１乃至３のいずれか１つ記載の情報処理装置。
【請求項５】
ネットワークに接続された情報処理装置に、
前記ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、前記ネットワークに接続された装置が使用可能なアドレスの範囲を特定し、
前記ネットワークに接続された他の装置により使用が確認されたアドレスと当該アドレスの使用を確認した時刻の情報とを、前記他の装置から取得し、
取得した前記アドレスと前記時刻の情報とに基づき、特定された前記アドレスの範囲に含まれる複数のアドレスの各々に優先度を設定し、
前記アドレスの範囲に含まれる前記複数のアドレスの中から、前記優先度に基づき第１のアドレスを選択し、当該第１のアドレスが、前記ネットワークに接続された他の装置に使用されているか判定し、
前記第１のアドレスが前記他の装置に使用されていないと判定された場合、前記第１のアドレスの使用を開始する、
処理を実行させるアドレス設定プログラム。
【請求項６】
ネットワークに接続された情報処理装置が、
前記ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、前記ネットワークに接続された装置が使用可能なアドレスの範囲を特定し、
前記ネットワークに接続された他の装置により使用が確認されたアドレスと当該アドレスの使用を確認した時刻の情報とを、前記他の装置から取得し、
取得した前記アドレスと前記時刻の情報とに基づき、特定された前記アドレスの範囲に含まれる複数のアドレスの各々に優先度を設定し、
前記アドレスの範囲に含まれる前記複数のアドレスの中から、前記優先度に基づき第１のアドレスを選択し、当該第１のアドレスが、前記ネットワークに接続された他の装置に使用されているか判定し、
前記第１のアドレスが前記他の装置に使用されていないと判定された場合、前記第１のアドレスの使用を開始する、
処理を実行するアドレス設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰアドレスの設定技術に関する。
【背景技術】
【０００２】
比較的小規模なネットワークセグメント（以下、単にセグメントと呼ぶ）においては、端末は固定のＩＰ（Internet Protocol）アドレスを使用するか、又は、ＲＡＲＰ（Reverse Address Resolution Protocol）、ＢＯＯＴＰ（BOOTstrap Protocol）或いはＤＨＣＰ（Dynamic Host Configuration Protocol）によって獲得したＩＰアドレスを使用することが一般的である。
【０００３】
ＤＨＣＰは近年特に利用されているプロトコルであるが、ＤＨＣＰを利用する場合、管理者がＤＨＣＰサーバの設定を行うと共に、端末を操作するユーザが端末の設定を行うことになる。具体的には、管理者は、リースアドレス及びリース期間の設定をＤＨＣＰサーバに対して行う。また、端末を操作するユーザは、ＯＳ（Operating System）のネットワーク設定を端末に対して行う。
【０００４】
ＤＨＣＰにおいては、リース期間中はリースアドレスが割り当てられた端末以外の他の端末に対して同じリースアドレスが割り当てられることはないが、そのリースアドレスを解放する処理を行えば他の端末にそのリースアドレスが割り当てられるようになる。しかし、リースアドレスを解放する処理を実行する前に端末がセグメントから離脱した場合、他の端末がそのリースアドレスを使用できない状態がリース期間が満了するまで継続することになる。
【０００５】
このように、実際には使用されていないリースアドレスを別の端末に割り当てることができない場合、セグメントにおいて使用可能なＩＰアドレスの枯渇を引き起こし、セグメントにおいて通信をすることができる端末の数を制限することになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−９８６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、１つの側面では、ＤＨＣＰによってＩＰアドレスの割り当てが行われるネットワークにおいて、ＩＰアドレスを有効に利用するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係るアドレス設定方法は、ネットワークに接続された情報処理装置により実行される。そして、本アドレス設定方法は、ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、ネットワークに接続された装置が使用可能なアドレスの範囲を特定し、特定されたアドレスの範囲に含まれる第１のアドレスが、ネットワークに接続された他の装置に使用されているか判定し、第１のアドレスが他の装置に使用されていないと判定された場合、第１のアドレスの使用を開始する処理を含む。
【発明の効果】
【０００９】
１つの側面では、ＤＨＣＰによってＩＰアドレスの割り当てが行われるネットワークにおいて、ＩＰアドレスを有効に利用できるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施の形態のシステムの概要を示す図である。
【図２】図２は、ＤＨＣＰクライアントの機能ブロック図である。
【図３】図３は、利用テーブル格納部に格納される利用テーブルの一例を示す図である。
【図４】図４は、検索テーブル格納部に格納される検索テーブルの一例を示す図である。
【図５】図５は、確認テーブル格納部に格納される確認テーブルの一例を示す図である。
【図６】図６は、メインの処理フローを示す図である。
【図７】図７は、範囲設定処理の処理フローを示す図である。
【図８】図８は、パケットの取得について説明するための図である。
【図９】図９は、ネットマスクの算出について説明するための図である。
【図１０】図１０は、ネットワークアドレス及びブロードキャストアドレスの一例を示す図である。
【図１１】図１１は、検索テーブルの設定例を示す図である。
【図１２】図１２は、取得処理の処理フローを示す図である。
【図１３】図１３は、確認テーブルの設定例を示す図である。
【図１４】図１４は、優先度設定処理の処理フローを示す図である。
【図１５】図１５は、検索テーブルの設定例を示す図である。
【図１６】図１６は、判定処理の処理フローを示す図である。
【図１７】図１７は、メインの処理フローを示す図である。
【図１８】図１８は、取得要求を受信したＤＨＣＰクライアントが実行する処理の処理フローを示す図である。
【図１９】図１９は、利用テーブルの設定例を示す図である。
【図２０】図２０は、利用テーブルの設定例を示す図である。
【図２１】図２１は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に、本実施の形態におけるシステムの概要を示す。例えばイーサネット（登録商標）であるセグメント５には、ＤＨＣＰサーバ３と、ＤＨＣＰクライアント１ｔ乃至３ｔとが接続される。ＤＨＣＰサーバ３は、例えば物理的なサーバ装置であり、ＤＨＣＰクライアント１ｔ乃至３ｔは、例えばパーソナルコンピュータ、プリンタ、コピー機等の端末装置である。なお、図１においてはＤＨＣＰクライアントの数は３であるが、数に限定は無い。
【００１２】
ＤＨＣＰサーバ３のＤＨＣＰ処理部３０は、ＤＨＣＰによってＩＰアドレスをＤＨＣＰクライアント１ｔ乃至３ｔに割り当てる。ＤＨＣＰクライアント１ｔ乃至３ｔは、ＤＨＣＰによるＩＰアドレスの割当が可能である場合には、ＤＨＣＰによって割り当てられたＩＰアドレスを使用して通信を行うが、ＤＨＣＰによるＩＰアドレスの割当が可能ではない場合には、以下で説明する処理によって特定したＩＰアドレスを使用して通信を行う。
【００１３】
図２に、ＤＨＣＰクライアント１ｔの機能ブロック図を示す。ＤＨＣＰクライアント１ｔは、管理部１０１と、範囲設定部１０２と、取得部１０３と、優先度設定部１０４と、判定部１０５と、利用テーブル格納部１０６と、検索テーブル格納部１０７と、確認テーブル格納部１０８とを含む。
【００１４】
管理部１０１は、利用テーブル格納部１０６に格納された利用テーブル、検索テーブル格納部１０７に格納された検索テーブル及び確認テーブル格納部１０８に格納された確認テーブルに基づき、ＤＨＣＰクライアント１ｔが使用するＩＰアドレスを決定する処理を実行する。範囲設定部１０２は、セグメント５においてＤＨＣＰクライアント１ｔ乃至３ｔが使用可能なアドレスの範囲を、利用テーブル格納部１０６に設定する処理を実行する。取得部１０３は、他のＤＨＣＰクライアントから確認テーブルを取得する処理を実行する。優先度設定部１０４は、検索テーブルに格納された各ＩＰアドレスの優先度を設定する処理を実行する。判定部１０５は、ＤＨＣＰクライアント１ｔが使用するＩＰアドレスを検索テーブルにおいて探索する処理を実行する。なお、ＤＨＣＰクライアント２ｔ及び３ｔの機能ブロック図はＤＨＣＰクライアント１ｔの機能ブロック図と同じであるので、説明を省略する。
【００１５】
図３に、利用テーブル格納部１０６に格納される利用テーブルの一例を示す。図３の例では、セグメント５において使用可能なアドレス範囲の開始アドレス及び終了アドレスと、ネットマスク（サブネットマスクとも呼ばれる）と、ゲートウェイアドレスと、セグメント５に接続されるＤＨＣＰクライアントに固定的に設定されるローカルアドレスの範囲を示す情報とが格納される。図３の例では、ＤＨＣＰによって割り当てられるＩＰアドレスの範囲は１９２．１６８．１．１１から１９２．１６８．１．１２８であり、ローカルアドレスとして固定的にＤＨＣＰクライアントに割り当てられるＩＰアドレスの範囲は１９２．１６８．１．１２９から１９２．１６８．１．２５４である。なお、ローカルアドレス及びゲートウェイアドレスは必ずしも設定されなくてもよい。
【００１６】
図４に、検索テーブル格納部１０７に格納される検索テーブルの一例を示す。図４の例では、ＩＰアドレスと、そのＩＰアドレスの優先度の値とが格納される。本実施の形態においては、優先度の値が小さいＩＰアドレスほど、ＤＨＣＰクライアントに割り当てられやすくなる。
【００１７】
図５に、確認テーブル格納部１０８に格納される確認テーブルの一例を示す。図５の例では、ＩＰアドレスと、そのＩＰアドレスが使用されていることを確認したＤＨＣＰクライアントの識別情報と、そのＩＰアドレスの使用を最後に確認した時刻の情報とが格納される。
【００１８】
なお、初期的には、利用テーブルには予め管理者により設定されたフィールド以外のフィールドにＮＵＬＬが格納され、検索テーブル及び確認テーブルには全フィールドにＮＵＬＬが格納されるが、以下で説明する処理によって図３乃至図５に示したようなデータが格納される。
【００１９】
次に、図６乃至図１８を用いて、ＤＨＣＰクライアント１ｔが実行する処理を説明する。本処理は、例えば、セグメント５にＤＨＣＰクライアント１ｔを新たに接続した場合に実行される。なお、ＤＨＣＰクライアント２ｔ及び３ｔが実行する処理はＤＨＣＰクライアント１ｔが実行する処理と同じである。
【００２０】
まず、ＤＨＣＰクライアント１ｔの管理部１０１は、ＤＨＣＰにてＤＨＣＰサーバ３からＩＰアドレスを取得可能であるか判定する（図６：ステップＳ１）。例えば、セグメント５に接続されているＤＨＣＰクライアントの数が少なく、使用可能なＩＰアドレスが余っている場合には、ＤＨＣＰにてＩＰアドレスを取得可能である。一方で、使用可能なＩＰアドレスが余っていない（すなわち枯渇している）場合には、ＤＨＣＰにてＩＰアドレスを取得することができない。なお、ＤＨＣＰによるＩＰアドレスの割当はよく知られているので、ここでは詳細な説明を省略する。
【００２１】
ＤＨＣＰにてＩＰアドレスを取得できる場合（ステップＳ１：Ｙｅｓルート）、処理は端子Ａを介して図１７に移行し、処理は終了する。一方、ＤＨＣＰにてＩＰアドレスを取得できない場合（ステップＳ１：Ｎｏルート）、管理部１０１は、利用テーブル格納部１０６に格納されている利用テーブルに適切なＩＰアドレスが設定されているか判定する（ステップＳ３）。
【００２２】
ステップＳ３においては、以下のようなことが確認されれば適切なＩＰアドレスが設定されていると判定される。
【００２３】
（１）終了アドレスが開始アドレスよりも大きな値である。
（２）ゲートウェイアドレスが設定されている場合、ゲートウェイアドレスは開始アドレス及び終了アドレスによって特定される範囲にある。
（３）ローカルアドレスが設定されている場合、ローカルアドレスの範囲が開始アドレス及び終了アドレスによって特定される範囲との重複部分を有する。
【００２４】
利用テーブルに適切なＩＰアドレスが設定されていない場合（ステップＳ３：Ｎｏルート）、管理部１０１は、範囲設定処理の実行を範囲設定部１０２に指示する。これに応じ、範囲設定部１０２は、開始アドレス及び終了アドレスを設定するため範囲設定処理を実行する（ステップＳ５）。範囲設定処理については、図７乃至図１０を用いて説明する。
【００２５】
まず、範囲設定部１０２は、ＤＨＣＰクライアント１ｔが接続されたセグメント５から、パケットの取得を所定秒間試みる（図７：ステップＳ４１）。ここでは、ＡＲＰ、Ｍｉｃｒｏｓｏｆｔ Ｗｉｎｄｏｗｓ（登録商標） Ｂｒｏｗｓｅｒ Ｐｒｏｔｏｃｏｌ又はＮｅｔＢＩＯＳ Ｎａｍｅ Ｓｅｒｖｉｃｅ等によって同一セグメントに対して送信されたパケットを取得することが好ましい。そのため、ＡＲＰエントリのチェックの頻度が６０秒であることを考慮し、所定時間として例えば６０秒が採用される。
【００２６】
範囲設定部１０２は、取得したパケットの中に、送信元ＩＰアドレスのアドレスクラスと宛先ＩＰアドレスのアドレスクラスとが同じであるパケットが複数存在するか判定する（ステップＳ４３）。例えば図８に示すような３つのパケットが取得された場合、パケット１ｐの送信元ＩＰアドレスのアドレスクラスはクラスＡであるのに対し、宛先ＩＰアドレスのアドレスクラスはクラスＣであるため、パケット１ｐは破棄される。パケット２ｐ及び３ｐについては、送信元ＩＰアドレスのアドレスクラス及び宛先ＩＰアドレスのアドレスクラスがクラスＣであるので、計数される。
【００２７】
送信元ＩＰアドレスのアドレスクラスと宛先ＩＰアドレスのアドレスクラスとが同じであるパケットが複数存在しない場合（ステップＳ４５：Ｎｏルート）、範囲設定部１０２は、ステップＳ４１の処理を所定回数試みたか判定する（ステップＳ４７）。
【００２８】
ステップＳ４１の処理を所定回数試みていない場合（ステップＳ４７：Ｎｏルート）、ステップＳ４１の処理に戻る。一方、ステップＳ４１の処理を所定回数試みた場合（ステップＳ４７：Ｙｅｓルート）、呼び出し元の処理に戻る。
【００２９】
一方、送信元ＩＰアドレスのアドレスクラスと宛先ＩＰアドレスのアドレスクラスとが同じであるパケットが複数存在する場合（ステップＳ４５：Ｙｅｓルート）、範囲設定部１０２は、送信元ＩＰアドレスと宛先ＩＰアドレスとにおいて先頭から開始する同一部分をネットワーク部として、ネットマスクを算出する（ステップＳ４９）。例として、図８に示したパケット２ｐ及び３ｐの送信元ＩＰアドレス及び宛先ＩＰアドレスを、１０進数及び２進数で表現したものを図９に示す。この場合、２進数のＩＰアドレスにおいては先頭から２０ビット目までが同一であるので、ネットマスクは２０ビット、すなわち、２５５．２５５．２４０．０と算出される。なお、複数のパケットが取得される理由は、算出される情報の信頼性を高めることである。
【００３０】
範囲設定部１０２は、ステップＳ４１において取得したパケットに含まれるＩＰアドレスと、ステップＳ４９において算出したネットマスクとを用いて、ステップＳ４１において取得したパケットのホスト部を割り出す。そして、範囲設定部１０２は、割り出したホスト部及びネットマスクからホストアドレスの範囲を特定し、その範囲に含まれる最初のＩＰアドレスを開始アドレスとして利用テーブルに設定し、その範囲に含まれる最後のＩＰアドレスを終了アドレスとして利用テーブルに設定する（ステップＳ５１）。そして呼び出し元の処理に戻る。例えば１９２．１６８．１．９というＩＰアドレスの場合、図１０に示すように、ネットワークアドレス１９２．１６８．０．０が割り出され、また、ブロードキャストアドレス１９２．１６８．１５．２５５が割り出される。この場合、開始アドレスはネットワークアドレスに１を足した１９２．１６８．０．１であり、終了アドレスはブロードキャストアドレスから１を引いた１９２．１６８．１５．２５４である。
【００３１】
以上のような処理を実行すれば、セグメント５において使用可能なＩＰアドレスの範囲を適切に設定できるようになる。
【００３２】
図６の説明に戻り、範囲設定処理によって範囲を設定できたか判定する（ステップＳ７）。範囲を設定できなかった場合（ステップＳ７：Ｎｏルート）、処理は端子Ａを介して図１７に移行し、処理は終了する。
【００３３】
一方、範囲設定処理によって範囲を設定できた場合（ステップＳ７：Ｙｅｓルート）又は利用テーブルに適切なＩＰアドレスが設定されている場合（ステップＳ３：Ｙｅｓルート）、管理部１０１は、利用テーブルに設定された開始アドレスから終了アドレスまでのＩＰアドレスを検索テーブルに展開する（ステップＳ９）。そして、管理部１０１は、検索テーブル内の各ＩＰアドレスの優先度を設定する（ステップＳ１１）。例えば開始アドレスが１９２．１６８．０．１であり且つ終了アドレスが１９２．１６８．１５．２５４である場合、ステップＳ１１の処理によって、検索テーブルは図１１に示すような状態になる。ステップＳ１１の処理の時点においては、各ＩＰアドレスの優先度は０に設定される。但し、利用テーブルが手動で設定されており且つローカルアドレスが設定されている場合、ローカルアドレスの範囲に含まれるＩＰアドレスの優先度は１に設定される。
【００３４】
管理部１０１は、確認テーブルを他のＤＨＣＰクライアントから取得する処理である取得処理の実行を取得部１０３に指示する。これに応じ、取得部１０３は、取得処理を実行する（ステップＳ１３）。取得処理については、図１２及び図１３を用いて説明する。
【００３５】
まず、取得部１０３は、確認テーブルを取得することを要求する取得要求を、ブロードキャストでセグメント内の他のＤＨＣＰクライアントに送信する（図１２：ステップＳ６１）。
【００３６】
取得部１０３は、ステップＳ６１において送信した取得要求に対する応答を所定時間内に受信したか判定する（ステップＳ６３）。応答を所定時間内に受信していない場合（ステップＳ６３：Ｎｏルート）、ステップＳ６１の処理を所定回数試行したか判定する（ステップＳ６７）。応答には、例えば図１３に示すような確認テーブルが含まれる。なお、複数の応答を受信する場合もある。
【００３７】
所定回数試行していない場合（ステップＳ６７：Ｎｏルート）、ステップＳ６１の処理に戻る。一方、所定回数試行した場合（ステップＳ６７：Ｙｅｓルート）、呼び出し元の処理に戻る。
【００３８】
一方、応答を所定時間内に受信した場合（ステップＳ６３：Ｙｅｓルート）、取得部１０３は、受信した応答に含まれる確認テーブルを取り出す（ステップＳ６５）。なお、複数の応答を受信した場合には、各応答から確認テーブルが取り出される。そして呼び出し元の処理に戻る。
【００３９】
以上のような処理を実行すれば、他のＤＨＣＰクライアントによって使用が確認されたＩＰアドレスを特定できるようになる。
【００４０】
図６の説明に戻り、管理部１０１は、取得処理によって確認テーブルを取得できたか判定する（ステップＳ１５）。確認テーブルを取得できていない場合（ステップＳ１５：Ｎｏルート）、ステップＳ１９の処理に移行する。一方、確認テーブルを取得できた場合（ステップＳ１５：Ｙｅｓルート）、管理部１０１は、優先度設定処理の実行を優先度設定部１０４に指示する。これに応じ、優先度設定部１０４は、優先度設定処理を実行する（ステップＳ１７）。優先度設定処理については、図１４及び図１５を用いて説明する。
【００４１】
まず、優先度設定部１０４は、確認テーブルから未処理のＩＰアドレス（以下、処理対象のＩＰアドレスと呼ぶ）の行を１行読み込む（図１４：ステップＳ７１）。なお、複数の確認テーブルを受信したため処理対象のＩＰアドレスについて複数の行が有る場合には、最終確認時刻が最も後である行が特定される。
【００４２】
優先度設定部１０４は、例えばＯＳのシステム時計等から取得した現在時刻と、ステップＳ７１において読み込まれた行に含まれる最終確認時刻との時間差を算出する（ステップＳ７３）。
【００４３】
優先度設定部１０４は、ステップＳ７３において算出された時間差が第１の時間（例えば１時間）未満であるか判定する（ステップＳ７５）。ステップＳ７３において算出された時間差が第１の時間未満である場合（ステップＳ７５：Ｙｅｓルート）、優先度設定部１０４は、検索テーブルに格納された、処理対象のＩＰアドレスに対応する優先度の値に３を加える（ステップＳ７７）。そしてステップＳ８５の処理に移行する。一方、ステップＳ７３において算出された時間差が第１の時間未満ではない場合（ステップＳ７５：Ｎｏルート）、優先度設定部１０４は、ステップＳ７３において算出された時間差が第２の時間（例えば２時間）未満であるか判定する（ステップＳ７９）。
【００４４】
ステップＳ７３において算出された時間差が第２の時間未満である場合（ステップＳ７９：Ｙｅｓルート）、優先度設定部１０４は、検索テーブルに格納された、処理対象のＩＰアドレスに対応する優先度の値に２を加える（ステップＳ８１）。そしてステップＳ８５の処理に移行する。一方、ステップＳ７３において算出された時間差が第２の時間未満ではない場合（ステップＳ７９：Ｎｏルート）、優先度設定部１０４は、検索テーブルに格納された、処理対象のＩＰアドレスに対応する優先度の値に１を加える（ステップＳ８３）。
【００４５】
優先度設定部１０４は、未処理のＩＰアドレスの行が有るか判定する（ステップＳ８５）。未処理のＩＰアドレスの行が有る場合（ステップＳ８５：Ｙｅｓルート）、ステップＳ７１の処理に戻る。一方、未処理のＩＰアドレスの行が無い場合（ステップＳ８５：Ｎｏルート）、呼び出し元の処理に戻る。
【００４６】
以上のような処理を実行すれば、最後に使用が確認されてから経過した時間が長いＩＰアドレスほど選択されやすくなるように優先度の値を設定することができるようになる。例えば図１１に示すような検索テーブルを優先度設定処理の開始時点において保持している場合に、図１３に示したような確認テーブルを受信したとする。この場合、上で述べた処理によって、図１５に示すように優先度の値が変更される。
【００４７】
図６の説明に戻り、管理部１０１は、判定処理の実行を判定部１０５に指示する。これに応じ、判定部１０５は、判定処理を実行する（ステップＳ１９）。判定処理については、図１６を用いて説明する。
【００４８】
まず、判定部１０５は、検索テーブルにおける未処理のＩＰアドレスのうち優先度の値が最も小さいＩＰアドレスのうち最も若いＩＰアドレスを特定する（図１６：ステップＳ９１）。例えば、検索テーブルが図４に示すような状態である場合、ステップＳ９１においては１９２．１６８．１．１６が特定される。
【００４９】
判定部１０５は、ステップＳ９１において特定されたＩＰアドレスについてＧＡＲＰ（Gratuitous Address Resolution Protocol）パケットを送出する（ステップＳ９３）。
【００５０】
判定部１０５は、ステップＳ９３において送出したＧＡＲＰパケットに対する返信を受信したか判定する（ステップＳ９５）。返信を受信していない場合（ステップＳ９５：Ｎｏルート）、他のＤＨＣＰクライアントはステップＳ９１において特定されたＩＰアドレスを使用していない。従って、ＤＨＣＰクライアント１ｔは、ステップＳ９１において特定されたＩＰアドレスを自ＤＨＣＰクライアントのＩＰアドレスとして使用を開始する（ステップＳ９７）。そして呼び出し元の処理に戻る。
【００５１】
一方、返信を受信した場合（ステップＳ９５：Ｙｅｓルート）、他のＤＨＣＰクライアントがステップＳ９１において特定されたＩＰアドレスを使用している。従って、判定部１０５は、ステップＳ９１において特定したＩＰアドレスの行を検索テーブルから削除する（ステップＳ９９）。
【００５２】
判定部１０５は、ステップＳ９１において特定されたＩＰアドレス、ＤＨＣＰクライアントの識別情報（ここでは１ｔ）及び現在時刻を、確認テーブル格納部１０８に格納された確認テーブルに書き込む（ステップＳ１０１）。これにより、他のＤＨＣＰクライアントに、ステップＳ９１において特定されたＩＰアドレスが使用されていることを通知できるようになる。
【００５３】
判定部１０５は、未処理のＩＰアドレスが検索テーブルに有るか判定する（ステップＳ１０３）。未処理のＩＰアドレスが検索テーブルに有る場合（ステップＳ１０３：Ｙｅｓルート）、ステップＳ９１の処理に戻る。一方、未処理のＩＰアドレスが検索テーブルに無い場合（ステップＳ１０３：Ｎｏルート）、呼び出し元の処理に戻る。
【００５４】
図６の説明に戻り、管理部１０１は、使用可能なＩＰアドレスが有るか判定する（ステップＳ２１）。使用可能なＩＰアドレスが無い場合（ステップＳ２１：Ｎｏルート）、処理は端子Ａを介して図１７に移行し、処理は終了する。一方、使用可能なＩＰアドレスが有る場合（ステップＳ２１：Ｙｅｓルート）、処理は端子Ｂを介して図１７のステップＳ２３の処理に移行する。
【００５５】
図１７の説明に移行し、ＤＨＣＰクライアント１ｔは運用中の状態に移行し（ステップＳ２３）、管理部１０１は自ＩＰアドレスが他のＤＨＣＰクライアントに使用されているか運用中に判定する（ステップＳ２５）。ＤＨＣＰクライアントは、ＩＰアドレスの重複をＧＡＲＰ等によって検出する機能を有しているので、そのような機能を利用することでステップＳ２５の処理が実行される。
【００５６】
自ＩＰアドレスが他のＤＨＣＰクライアントに使用されていると運用中に判定された場合（ステップＳ２５：Ｙｅｓルート）、管理部１０１は、自ＩＰアドレスが、利用テーブルに設定されたローカルアドレスの範囲に含まれるか判定する（ステップＳ２７）。
【００５７】
自ＩＰアドレスが、利用テーブルに設定されたローカルアドレスの範囲に含まれる場合（ステップＳ２７：Ｙｅｓルート）、自ＩＰアドレスは、例えば管理者等によって特定のＤＨＣＰクライアントに対して個別に割り振られたＩＰアドレスと重複しているため、管理部１０１は、自ＩＰアドレスを解放する（ステップＳ２９）。処理は端子Ｃを介して図６のステップＳ３の処理に戻る。一方、自ＩＰアドレスが、利用テーブルに設定されたローカルアドレスの範囲に含まれない場合（ステップＳ２７：Ｎｏルート）、自ＩＰアドレスは、ＤＨＣＰによって割り当てられたＩＰアドレスと重複しているが、ＤＨＣＰにおいては利用前にｐｉｎｇを発することで使用可否が判定されるため、自ＩＰアドレスの解放を行わなくてもよい。従って、ステップＳ２５の処理に戻る。
【００５８】
一方、自ＩＰアドレスが他のＤＨＣＰクライアントに使用されていないと運用中に判定された場合（ステップＳ２５：Ｎｏルート）、管理部１０１は、運用を継続するか判定する（ステップＳ３１）。運用を継続する場合（ステップＳ３１：Ｙｅｓルート）、ステップＳ２５の処理に戻る。一方、運用を継続しない場合（ステップＳ３１：Ｎｏルート）、処理は終了する。
【００５９】
次に、図１８を用いて、取得要求を受信したＤＨＣＰクライアント１ｔが実行する処理を説明する。なお、ＤＨＣＰクライアント２ｔ及び３ｔが実行する処理はＤＨＣＰクライアント１ｔが実行する処理と同じである。
【００６０】
まず、ＤＨＣＰクライアント１ｔの管理部１０１は、取得要求を他のＤＨＣＰクライアントから受信する（図１８：ステップＳ１１１）。そして、管理部１０１は、確認テーブルを確認テーブル格納部１０８から読み出し、読み出した確認テーブルを取得要求の送信元のＤＨＣＰクライアントに送信する（ステップＳ１１３）。そして処理は終了する。
【００６１】
以上のような処理を実行すれば、ＤＨＣＰによって割り当てられたにもかかわらず使用されていないＩＰアドレスをも使用できるようになるので、ＩＰアドレスを有効に利用し、ＩＰアドレスの枯渇を防げるようになる。
【００６２】
また、ＤＨＣＰクライアント間で確認テーブルを交換することによって最新の使用状況の情報を各ＤＨＣＰクライアントが取得できるので、ＤＨＣＰクライアントのユーザや管理者等が手作業で管理する手間を削減できるようになる。
【００６３】
また、ＤＨＣＰを利用する場合と比較すると、ＤＨＣＰサーバ３のような管理用のサーバを用意しなくてもよく、管理用のサーバの停止等による影響を受けることがない。さらに、ＩＰアドレスの決定にあたって、固定ＩＰアドレスの範囲及びＤＨＣＰによるＩＰアドレスの範囲などを考慮しなくてもよいので、ＩＰアドレスの効率的な利用が可能である。
【００６４】
次に、図１９及び図２０を用いて、利用テーブルの設定例について説明を追加する。
【００６５】
本実施の形態の方法が利用されない環境において、例えば固定ＩＰアドレスの範囲が１９２．１６８．１．１０から１９２．１６８．１．１２８であり、ＤＨＣＰによるＩＰアドレスの範囲が１９２．１６８．１．１２９から１９２．１６８．１．２５０であるとする。ネットワークアドレスは１９２．１６８．１．０／２４である。この場合、固定ＩＰアドレスの数が１１８を超えると、ＤＨＣＰによるＩＰアドレスの範囲を見直し、固定ＩＰアドレスの範囲を拡大する等の対応を管理者が行う事態が発生する。
【００６６】
一方で、本実施の形態の方法を利用する場合、例えば、固定ＩＰアドレスの範囲を１９２．１６８．１．１０から１９２．１６８．１．２５０までとし、利用テーブルに図１９に示すような値を設定する。このように、固定ＩＰアドレスの範囲とＤＨＣＰによるＩＰアドレスの範囲とを分けないようにすれば、いずれかの範囲のアドレスが余るといった事態が発生することを防ぐことができるので、ＩＰアドレスの有効利用が可能になる。
【００６７】
また、例えば図２０に示すように利用テーブルを設定すれば、１９２．１６８．１．１００を利用可能である場合にのみＤＨＣＰクライアントにこのＩＰアドレスが割り当てられる。従って、図２０に示すような設定を採用することで、例えば業務の都合等によって特定のＩＰアドレスのみの使用を希望する場合等にも対処できるようになる。
【００６８】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したＤＨＣＰクライアント１ｔの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００６９】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００７０】
上述の実施の形態によれば、特に、利用されていないＩＰアドレスが存在するにもかかわらずリース期間などにおいてＤＨＣＰを利用できないことが原因でＩＰアドレスの割り当てをすることができない場合であっても、ＩＰアドレスを有効に利用することができる。
【００７１】
なお、上で述べたＤＨＣＰサーバ３及びＤＨＣＰクライアント１ｔ乃至３ｔは、コンピュータ装置であって、図２１に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７２】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７３】
本実施の形態に係るアドレス設定方法は、ネットワークに接続された情報処理装置により実行される。そして、本アドレス設定方法は、（Ａ）ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、ネットワークに接続された装置が使用可能なアドレスの範囲を特定し、（Ｂ）特定されたアドレスの範囲の中から選択した第１のアドレスが、ネットワークに接続された他の装置に使用されているか判定し、（Ｃ）第１のアドレスが他の装置に使用されていないと判定された場合、第１のアドレスの使用を開始する処理を含む。
【００７４】
また、本アドレス設定方法は、（Ｄ）他の装置により使用が確認されたアドレスと当該アドレスの使用を確認した時刻の情報とを、他の装置から取得し、（Ｅ）取得したアドレスと時刻の情報とに基づき、特定されたアドレスの範囲に含まれる複数のアドレスの各々に優先度を設定する処理をさらに含んでもよい。そして、第１のアドレスが他の装置に使用されているか判定する処理において、（ｂ１）アドレスの範囲に含まれる複数のアドレスの中から、第１のアドレスを優先度に基づき選択してもよい。このようにすれば、使用可能なアドレスを特定するまでの時間を短縮できるようになる。
【００７５】
また、本アドレス設定方法は、（Ｆ）ネットワークにおいて転送されるパケットのうち送信元アドレスのアドレスクラスと宛先アドレスのアドレスクラスとが同じであるパケットを、ネットワークから取得してもよい。これにより、送信元の装置と宛先の装置とが同じセグメントに属することを担保できるようになる。
【００７６】
また、本アドレス設定方法は、（Ｇ）第１のアドレスが他の装置に使用されていると判定された場合、第１のアドレスと第１のアドレスが他の装置に使用されていると判定された時刻の情報とを記憶装置に格納し、（Ｈ）アドレスの使用に関する情報の取得を要求する取得要求を他の装置から受信した場合、記憶装置に格納された、第１のアドレスと第１のアドレスが他の装置に使用されていると判定された時刻の情報とを、他の装置に送信する処理をさらに含んでもよい。このようにすれば、他の装置は適切なアドレスを使用できるようになる。
【００７７】
また、第１のアドレスが他の装置に使用されているか判定する処理において、（ｂ２）ＧＡＲＰのパケットに対する返信を受信したか否かに基づき、第１のアドレスが他の装置に使用されているか判定してもよい。
【００７８】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００７９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８０】
（付記１）
ネットワークに接続された情報処理装置が、
前記ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、前記ネットワークに接続された装置が使用可能なアドレスの範囲を特定し、
特定された前記アドレスの範囲に含まれる第１のアドレスが、前記ネットワークに接続された他の装置に使用されているか判定し、
前記第１のアドレスが前記他の装置に使用されていないと判定された場合、前記第１のアドレスの使用を開始する、
処理を実行するアドレス設定方法。
【００８１】
（付記２）
前記情報処理装置が、
前記他の装置により使用が確認されたアドレスと当該アドレスの使用を確認した時刻の情報とを、前記他の装置から取得し、
取得した前記アドレスと前記時刻の情報とに基づき、特定された前記アドレスの範囲に含まれる複数のアドレスの各々に優先度を設定する、
処理をさらに実行し、
前記第１のアドレスが前記他の装置に使用されているか判定する処理において、
前記アドレスの範囲に含まれる前記複数のアドレスの中から、前記第１のアドレスを優先度に基づき選択する、
付記１記載のアドレス設定方法。
【００８２】
（付記３）
前記情報処理装置が、
前記ネットワークにおいて転送されるパケットのうち送信元アドレスのアドレスクラスと宛先アドレスのアドレスクラスとが同じである前記パケットを、前記ネットワークから取得する、
処理をさらに実行する付記１又は２記載のアドレス設定方法。
【００８３】
（付記４）
前記情報処理装置が、
前記第１のアドレスが前記他の装置に使用されていると判定された場合、前記第１のアドレスと前記第１のアドレスが前記他の装置に使用されていると判定された時刻の情報とを記憶装置に格納し、
アドレスの使用に関する情報の取得を要求する取得要求を前記他の装置から受信した場合、前記記憶装置に格納された、前記第１のアドレスと前記第１のアドレスが前記他の装置に使用されていると判定された時刻の情報とを、前記他の装置に送信する、
処理をさらに実行する付記１乃至３のいずれか１つ記載のアドレス設定方法。
【００８４】
（付記５）
前記第１のアドレスが前記他の装置に使用されているか判定する処理において、
ＧＡＲＰ（Gratuitous Address Resolution Protocol）のパケットに対する返信を受信したか否かに基づき、前記第１のアドレスが前記他の装置に使用されているか判定する、
付記１乃至４のいずれか１つ記載のアドレス設定方法。
【００８５】
（付記６）
ネットワークに接続された情報処理装置に、
前記ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、前記ネットワークに接続された装置が使用可能なアドレスの範囲を特定し、
特定された前記アドレスの範囲に含まれる第１のアドレスが、前記ネットワークに接続された他の装置に使用されているか判定し、
前記第１のアドレスが前記他の装置に使用されていないと判定された場合、前記第１のアドレスの使用を開始する、
処理を実行させるアドレス設定プログラム。
【００８６】
（付記７）
ネットワークから取得したパケットの送信元アドレス及び宛先アドレスに基づき、前記ネットワークに接続された装置が使用可能なアドレスの範囲を特定する特定部と、
前記特定部により特定された前記アドレスの範囲に含まれる第１のアドレスが、前記ネットワークに接続された他の装置に使用されているか判定する判定部と、
前記第１のアドレスが前記他の装置に使用されていないと前記判定部により判定された場合、前記第１のアドレスの使用を開始する管理部と、
を有する情報処理装置。
【符号の説明】
【００８７】
３  ＤＨＣＰサーバ    ３０  ＤＨＣＰ処理部
５  セグメント    １ｔ，２ｔ，３ｔ  ＤＨＣＰクライアント
１０１  管理部    １０２  範囲設定部
１０３  取得部    １０４  優先度設定部
１０５  判定部    １０６  利用テーブル格納部
１０７  検索テーブル格納部    １０８  確認テーブル格納部
【図１】
0006662114.tif 000002
【図２】
0006662114.tif 000003
【図３】
0006662114.tif 000004
【図４】
0006662114.tif 000005
【図５】
0006662114.tif 000006
【図６】
0006662114.tif 000007
【図７】
0006662114.tif 000008
【図８】
0006662114.tif 000009
【図９】
0006662114.tif 000010
【図１０】
0006662114.tif 000011
【図１１】
0006662114.tif 000012
【図１２】
0006662114.tif 000013
【図１３】
0006662114.tif 000014
【図１４】
0006662114.tif 000015
【図１５】
0006662114.tif 000016
【図１６】
0006662114.tif 000017
【図１７】
0006662114.tif 000018
【図１８】
0006662114.tif 000019
【図１９】
0006662114.tif 000020
【図２０】
0006662114.tif 000021
【図２１】
0006662114.tif 000022