(57)【特許請求の範囲】
【請求項１】
コンピュータが、
クライアント装置に対して固有なサービス情報を提供するサービス情報提供工程と、
前記サービス情報提供工程によって前記クライアント装置に提供された前記固有なサービス情報の履歴を、提供先となるクライアント装置を識別する識別情報と対応付けて履歴記憶部に格納する格納工程とを実行し、
前記サービス情報提供工程は、前記クライアント装置に対する提供が終了した前記固有なサービス情報を、提供先となるクライアント装置を識別する識別情報に対応付けて前記履歴記憶部に記憶された履歴に基づいて、同一のクライアント装置に所定の期間再度提供しないことを特徴とする履歴管理方法。
【請求項２】
前記履歴記憶部は、所定量の履歴を記憶し、
前記サービス情報提供工程は、前記クライアント装置に対する提供が終了した前記固有なサービス情報を、前記履歴記憶部に記憶された履歴に前記固有なサービス情報が含まれる期間提供しないことで、前記所定の期間再度提供しないことを特徴とする請求項１に記載の履歴管理方法。
【請求項３】
前記サービス情報提供工程は、前記クライアント装置に提供された固有なサービス情報のハッシュ値の履歴を記憶する前記履歴記憶部に基づいて、当該固有なサービス情報を前記所定の期間再度提供しないことを特徴とする請求項２に記載の履歴管理方法。
【請求項４】
前記サービス情報提供工程は、前記クライアント装置に提供された固有なサービス情報のハッシュ値の履歴をブルームフィルタとして記憶する前記履歴記憶部に基づいて、当該固有なサービス情報を前記所定の期間再度提供しないことを特徴とする請求項３に記載の履歴管理方法。
【請求項５】
前記コンピュータは、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）サーバであり、
前記サービス情報提供工程は、ネットワークを介して接続された前記クライアント装置との間で一連の関連性を有する複数種類の要求信号及び応答信号を交換することで、当該クライアント装置に対してネットワークに接続される端末を識別するための識別情報を提供することを特徴とする請求項１〜４のいずれか１つに記載の履歴管理方法。
【請求項６】
クライアント装置に対して固有なサービス情報を提供するサービス情報提供部と、
前記サービス情報提供部によって前記クライアント装置に提供された前記固有なサービス情報の履歴を、提供先となるクライアント装置を識別する識別情報と対応付けて記憶する履歴記憶部とを備え、
前記サービス情報提供部は、前記クライアント装置に対する提供が終了した前記固有なサービス情報を、提供先となるクライアント装置を識別する識別情報に対応付けて前記履歴記憶部に記憶された履歴に基づいて、同一のクライアント装置に所定の期間再度提供しないことを特徴とする履歴管理装置。
【請求項７】
前記履歴記憶部は、所定量の履歴を記憶し、
前記サービス情報提供部は、前記クライアント装置に対する提供が終了した前記固有なサービス情報を、前記履歴記憶部に記憶された履歴に前記固有なサービス情報が含まれる期間提供しないことで、前記所定の期間再度提供しないことを特徴とする請求項６に記載の履歴管理装置。
【請求項８】
前記履歴記憶部は、前記サービス情報提供部によって前記クライアント装置に提供された固有なサービス情報のハッシュ値の履歴を記憶する請求項７に記載の履歴管理装置。
【請求項９】
前記履歴記憶部は、前記サービス情報提供部によって前記クライアント装置に提供された固有なサービス情報のハッシュ値の履歴をブルームフィルタとして記憶する請求項８に記載の履歴管理装置。
【請求項１０】
前記履歴管理装置は、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）サーバであり、
前記サービス情報提供部は、ネットワークを介して接続された前記クライアント装置との間で一連の関連性を有する複数種類の要求信号及び応答信号を交換することで、当該クライアント装置に対してネットワークに接続される端末を識別するための識別情報を提供することを特徴とする請求項６〜９のいずれか１つに記載の履歴管理装置。
【請求項１１】
クライアント装置と、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）サーバとを有する履歴管理システムであって、
前記ＤＨＣＰサーバは、
ネットワークに接続される端末を識別するための識別情報をクライアント装置に対し提供するサービス情報提供部と、
前記サービス情報提供部によって前記クライアント装置に提供された前記固有なＩＰアドレスの履歴を、提供先となるクライアント装置を識別する識別情報と対応付けて記憶する履歴記憶部とを備え、
前記サービス情報提供部は、前記クライアント装置に対する提供が終了した前記識別情報を、提供先となるクライアント装置を識別する識別情報に対応付けて前記履歴記憶部に記憶された履歴に基づいて、同一のクライアント装置に所定の期間再度提供せず、
前記クライアント装置は、前記サービス情報提供部によって提供された識別情報を用いて通信を行う通信部を備えることを特徴とする履歴管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、履歴管理方法、履歴管理装置及び履歴管理システムに関する。
【背景技術】
【０００２】
クライアント装置に固有なサービス情報を提供する通信システムがある。例えば、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）に基づくＤＨＣＰサービスを実行する通信システムを用いて説明する。ＤＨＣＰサービスを実行する通信システムは、ＤＨＣＰサーバとＤＨＣＰクライアントとを有する。ここで、ＤＨＣＰサーバは、ＤＨＣＰクライアントからＩＰ（Internet  Protocol）アドレスが要求されると、有効期間が設定されたＩＰアドレスをＤＨＣＰクライアントに払い出す。つまり、ＤＨＣＰサーバは、有効期間の間、ＤＨＣＰクライアントにＩＰアドレスを提供する。ＩＰアドレスの有効期間を「リース期間」とも称する。
【０００３】
また、ＤＨＣＰサービスを実行する通信システムでは、ＤＨＣＰサーバは、ＤＨＣＰクライアントに一度提供されたＩＰアドレスであったとしても、リース期間が終了すると、任意のＤＨＣＰクライアントに再度提供する。
【０００４】
図１３は、ＤＨＣＰサーバによるＩＰアドレスの払い出し処理の流れの一例を示す図である。図１３の（１）に示すように、ＤＨＣＰクライアントは、ＤＨＣＰクライアントに一意なユーザ識別子を含む「Ｄｉｓｃｏｖｅｒ信号」をＤＨＣＰサーバに送信する。すなわち、ＤＨＣＰクライアントは、ＩＰアドレスやサブネットマスクなどのＩＰ通信に必要な情報の払い出しをＤＨＣＰサーバに要求する。例えば、ＤＨＣＰクライアントは、自装置に電源が投入されると、Ｄｉｓｃｏｖｅｒ信号を送信する。ＩＰアドレスやサブネットマスクなどのＩＰ通信に必要な情報を「ＩＰ設定情報」とも称する。
【０００５】
そして、ＤＨＣＰサーバは、ＤＨＣＰクライアントからＤｉｓｃｏｖｅｒ信号を受信すると、Ｄｉｓｃｏｖｅｒ信号からユーザ識別子を抽出し、ＤＨＣＰクライアントに払い出し可能なＩＰアドレスの候補を決定する。そして、図１３の（２）に示すように、ＤＨＣＰサーバは、決定したＩＰアドレスの候補を含む「Ｏｆｆｅｒ信号」をＤＨＣＰクライアントに送信する。
【０００６】
そして、ＤＨＣＰクライアントは、ＤＨＣＰサーバからＯｆｆｅｒ信号を受信すると、Ｏｆｆｅｒ信号に含まれるＩＰアドレスの候補を確認する。そして、図１３の（３）に示すように、ＤＨＣＰクライアントは、ＩＰアドレスの候補が受諾できるものであれば、ユーザ識別子を含む「Ｒｅｑｕｅｓｔ信号」をＤＨＣＰサーバに送信し、ＩＰアドレスの確保を要求する。
【０００７】
そして、ＤＨＣＰサーバは、ＤＨＣＰクライアントからＲｅｑｕｅｓｔ信号を受信すると、ＩＰアドレスを確保し、Ｒｅｑｕｅｓｔ信号に含まれるユーザ識別子とともに保持する。そして、図１３の（４）に示すように、ＤＨＣＰサーバは、確保したＩＰアドレスを含むＡＣＫ（ACKnowledgement）信号をＤＨＣＰクライアントに送信する。つまり、ＤＨＣＰサーバは、リース期間の間、確保したＩＰアドレスをＤＨＣＰクライアントに提供する。
【０００８】
その後、ＤＨＣＰクライアントは、ＤＨＣＰサーバからＡＣＫ信号を受信すると、受信したＡＣＫ信号に含まれるＩＰアドレスを自装置のネットワークインタフェースに設定し、ＩＰ通信を実行する。
【０００９】
なお、リース期間は、リース期間を更新するリース更新要求がＤＨＣＰクライアントによってＤＨＣＰサーバに送信されることで、延長される。また、リース期間は、ＩＰアドレスを返却するＲｅｌｅａｓｅ信号をＤＨＣＰクライアントがＤＨＣＰサーバに送信することで、終了される。また、ＤＨＣＰクライアントは、提供されたＩＰアドレスがＤｏＳ攻撃の対象となった場合、リース更新要求を行わないことや、Ｒｅｌｅａｓｅ信号を送信することがある。この場合、ＤＨＣＰクライアントは、現在使用しているＩＰアドレスの提供が終了した後や、ＩＰアドレスを返却するＲｅｌｅａｓｅ信号を送出した後に、新たに別のＩＰアドレスを要求し、新たに取得したＩＰアドレスを用いてＩＰ通信を実行する。言い換えると、ＤＨＣＰクライアントは、現在提供されているＩＰアドレスを破棄し、新たなＩＰアドレスを取得して用いる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】”Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ”ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２１３１．ｔｘｔ
【非特許文献２】ＢＵＲＴＯＮ  Ｈ．  Ｂｌｏｏｍ．  ”Ｓｐａｃｅ／Ｔｉｍｅ  Ｔｒａｄｅ‐ｏｆｆｓ  ｉｎ  Ｈａｓｈ  Ｃｏｄｉｎｇ  ｗｉｔｈ  Ａｌｌｏｗａｂｌｅ  Ｅｒｒｏｒｓ．”Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ  １３：７  （１９７０），  ４２２−４２６．
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した従来の技術では、サービス情報の提供が不適切となることがあるという問題がある。例えば、ＤＨＣＰクライアント「Ａ」が、提供されたＩＰアドレス「１」がＤｏＳ攻撃の対象となり、ＩＰアドレス「１」を破棄して新たにＩＰアドレスを取得する場合を用いて説明する。この場合、ＤＨＣＰクライアント「Ａ」により破棄されたＩＰアドレス「１」が提供可能となっており、ＤＨＣＰサーバは、ＤＨＣＰクライアント「Ａ」に、ＩＰアドレス「１」を再度提供することがある。この結果、ＤＨＣＰクライアント「Ａ」が、ＤｏＳ攻撃の被害を継続して受けることがある。
【００１２】
開示の技術は、上述に鑑みてなされたものであって、サービス情報を適切に提供可能である履歴管理方法、履歴管理装置及び履歴管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
開示する履歴管理装置は、一つの態様において、クライアント装置に対して固有なサービス情報を提供するサービス情報提供部を備える。また、履歴管理装置は、前記サービス情報提供部によって前記クライアント装置に提供された前記固有なサービス情報の履歴を記憶する履歴記憶部を備える。また、履歴管理装置では、前記サービス情報提供部は、前記クライアント装置に対する提供が終了した前記固有なサービス情報を、前記履歴記憶部に記憶された履歴に基づいて、所定の期間再度提供しない。
【発明の効果】
【００１４】
開示する履歴管理装置の一つの態様によれば、サービス情報を適切に提供可能であるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１における履歴管理システムの全体像を示す図である。
【図２】図２は、実施例１におけるＤＨＣＰサーバの構成の一例を示す図である。
【図３】図３は、実施例１における払い出し情報ＤＢに記憶された情報の一例を示す図である。
【図４】図４は、実施例１における払い出し履歴ＤＢに記憶された情報の一例を示す図である。
【図５】図５は、実施例１におけるサービス情報提供部による提供処理の流れの一例を示すフローチャートである。
【図６】図６は、実施例１におけるＤＢ更新処理部による定期更新処理の流れの一例を示すフローチャートである。
【図７】図７は、実施例１におけるＤＢ更新処理部による定期更新処理の流れの一例を示す図である。
【図８】図８は、実施例１におけるＤＢ更新処理部による払い出しフィルタ情報の更新処理の一例を示すフローチャートである。
【図９】図９は、実施例１におけるＤＢ更新処理部による払い出しフィルタ情報の更新処理の一例を示す図である。
【図１０】図１０は、実施例１におけるサービス情報提供部による検索処理の詳細な処理の流れの一例を示すフローチャートである。
【図１１】図１１は、実施例１におけるサービス情報提供部による検索処理の詳細な処理の流れの一例を示す図である。
【図１２】図１２は、履歴管理装置をプログラムとしてコンピュータを用いて具体的に実現されることを示す図である。
【図１３】図１３は、ＤＨＣＰサーバによるＩＰアドレスの払い出し処理の流れの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、開示する履歴管理方法、履歴管理装置及び履歴管理システムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１７】
実施例１に係る履歴管理システムについて説明する。図１は、実施例１における履歴管理システムの全体像を示す図である。図１に示すように、実施例１における履歴管理システムは、ＤＨＣＰサーバ１００と、１つ又は複数のＤＨＣＰクライアント２００とを有する。ＤＨＣＰサーバ１００は、「履歴管理装置」とも称し、ＤＨＣＰクライアント２００は、「クライアント装置」とも称する。
【００１８】
なお、図１に示す例では、ＤＨＣＰクライアント２００が３つある場合を例に示したが、これに限定されるものではなく、任意の数であって良い。例えば、ＤＨＣＰクライアント２００は、１つ又は２つであっても良く、４つ以上の任意の数であっても良い。また、ＤＨＣＰサーバ１００は、ＤＨＣＰｖ４のサーバであっても良く、ＤＨＣＰｖ６のサーバであっても良く、任意のバージョンのＤＨＣＰサーバであって良い。
【００１９】
図１に示す例では、ＤＨＣＰクライアント２００は、ネットワーク１０を介してＤＨＣＰサーバ１００と接続される。ＤＨＣＰクライアント２００は、クライアントに利用される端末である。図１に示す例では、ＤＨＣＰクライアント２００は、通信部２０１を有する。
【００２０】
ＤＨＣＰクライアント２００では、通信部２０１が、ＤＨＣＰサーバ１００に対してＩＰ設定情報を要求し、ＤＨＣＰサーバ１００により提供されたＩＰ設定情報を自装置のネットワークインタフェースに設定することで、ＩＰ通信を行う。つまり、通信部２０１は、ＤＨＣＰサーバ１００にＩＰアドレスの払い出しを要求し、払い出されたＩＰアドレスを用いてＩＰ通信を実行する。
【００２１】
なお、以下では、ＩＰアドレスを払い出す場合を用いて説明するが、これに限定されるものではなく、ネットワークに接続される端末を識別するための識別情報であれば良い。また、ＩＰアドレスは、ＩＰｖ４アドレスであっても良く、ＩＰｖ６アドレスであっても良く、任意のＩＰアドレスであって良い。また、以下では、ＩＰアドレスを例に説明するが、これに限定されるものではなく、プレフィックス（prefix）であっても良い。例えば、ＩＰｖ６プレフィックスは、１２８ビット指定のアドレスではなく、ＩＰｖ６アドレスの上位４８ビットのアドレス空間を示す。
【００２２】
ＤＨＣＰサーバ１００は、ネットワーク１０を介してＤＨＣＰクライアント２００と接続される。ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００に対して固有なサービス情報を提供する。具体的には、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００との間で一連の関連性を有する複数種類の要求信号及び応答信号を交換することで、ＤＨＣＰクライアント２００に対して、有効期間が設定されたＩＰアドレスを含むＩＰ設定情報を払い出す。以下では、ＤＨＣＰクライアントがＩＰアドレスの払い出しを要求し、ＤＨＣＰサーバがＩＰアドレスをＤＨＣＰクライアントに払い出す場合を用いて説明する。
【００２３】
ここで、ＤＨＣＰサーバ１００によるＩＰアドレスの払い出し処理の流れについて簡単に説明する。ＤＨＣＰクライアント２００は、ＤＨＣＰクライアント２００に一意なユーザ識別子を含むＤｉｓｃｏｖｅｒ信号をＤＨＣＰサーバ１００に送信することで、ＩＰアドレスの払い出しをＤＨＣＰサーバ１００に要求する。その後、ＤＨＣＰサーバ１００は、Ｄｉｓｃｏｖｅｒ信号からユーザ識別子を抽出し、ＤＨＣＰクライアント２００に払い出し可能なＩＰアドレスの候補を決定し、決定したＩＰアドレを含むＯｆｆｅｒ信号をＤＨＣＰクライアント２００に送信する。続いて、ＤＨＣＰクライアント２００は、Ｏｆｆｅｒ信号を受信すると、Ｏｆｆｅｒ信号に含まれるＩＰアドレスの候補を確認し、確認したＩＰアドレスが受諾できるものであれば、ユーザ識別子を含むＲｅｑｕｅｓｔ信号をＤＨＣＰサーバ１００に送信し、ＩＰアドレスの確保を要求する。そして、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００からＲｅｑｕｅｓｔ信号を受信すると、ＩＰアドレスを確保し、Ｒｅｑｕｅｓｔ信号に含まれるユーザ識別子とともに保持する。また、ＤＨＣＰサーバ１００は、確保したＩＰアドレスを含むＡＣＫ信号をＤＨＣＰクライアント２００に送信する。つまり、ＤＨＣＰサーバ１００は、リース期間の間、確保したＩＰアドレスをＤＨＣＰクライアント２００に提供する。その後、ＤＨＣＰクライアント２００は、ＤＨＣＰサーバ１００からＡＣＫ信号を受信すると、受信したＡＣＫ信号に含まれるＩＰアドレスを自装置のネットワークインタフェースに設定し、ＩＰ通信を実行する。
【００２４】
ここで、ＤＨＣＰサーバ１００により提供されたＩＰアドレスは、リース期間が終了するか、ＤＨＣＰクライアント２００からのＲｅｌｅａｓｅ信号によりＤＨＣＰサーバ１００に対して返却が通知されると、ＤＨＣＰサーバ１００が再度提供可能となる。例えば、ＤＨＣＰクライアント「Ａ」に対して提供されたＩＰアドレス「１」のリース期間が終了した場合を用いて説明する。また、ＤＨＣＰサーバが、ＤＨＣＰクライアント「Ｂ」からＩＰアドレスを要求された場合を用いて説明する。この場合、ＩＰアドレス「１」が提供可能となっており、例えば、ＤＨＣＰサーバは、ＤＨＣＰクライアント「Ｂ」にＩＰアドレス「１」を提供する。
【００２５】
また、以下に詳細に説明するように、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００に提供された固有なサービス情報の履歴を記憶する。また、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００に対する提供が終了した固有なサービス情報を、履歴に基づいて、所定の期間再度提供しない。言い換えると、ＤＨＣＰサーバ１００は、リース期間が終了したＩＰアドレスについて、所定の期間が経過した後に再度提供可能とする。
【００２６】
図２は、実施例１におけるＤＨＣＰサーバの構成の一例を示す図である。図２に示す例では、ＤＨＣＰサーバ１００は、パケット受信部１０１と、パケット送信部１０２と、払い出し情報ＤＢ１１１と、払い出し履歴ＤＢ１１２と、リース履歴管理制御部１２０とを有する。
【００２７】
パケット受信部１０１は、ＤＨＣＰクライアント２００からパケットを受信し、受信したパケットをリース履歴管理制御部１２０に送信する。また、パケット送信部１０２は、ＤＨＣＰクライアント２００から受信したパケットをＤＨＣＰクライアント２００に送信する。なお、パケット受信部１０１によって受信されるパケット又はパケット送信部１０２により送信されるパケットとは、例えば、Ｄｉｓｃｏｖｅｒ信号やＯｆｆｅｒ信号、Ｒｅｑｕｅｓｔ信号、ＡＣＫ信号などが該当する。
【００２８】
払い出し情報ＤＢ１１１は、リース履歴管理制御部１２０と接続される。払い出し情報ＤＢ１１１は、リース履歴管理制御部１２０による各種処理に用いられるデータを記憶する。払い出し情報ＤＢ１１１は、例えば、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、又は、ハードディスクや光ディスクなどが該当する。
【００２９】
払い出し情報ＤＢ１１１は、ＤＨＣＰクライアント２００に提供されている固有なサービス情報を記憶する。具体的には、払い出し情報ＤＢ１１１は、ＤＨＣＰクライアント２００に対して払い出されたＩＰアドレスであって、リース期間が終了していないＩＰアドレスのリストを記憶する。
【００３０】
すなわち、払い出し情報ＤＢ１１１に記憶されているＩＰアドレスは、ＤＨＣＰクライアント２００に提供されていることを示し、他のＤＨＣＰクライアント２００に提供できないことを示す。言い換えると、払い出し情報ＤＢ１１１に記憶されていないＩＰアドレスは、ＤＨＣＰクライアント２００に提供されていないことを示す。ＤＨＣＰクライアント２００に提供されていないＩＰアドレスには、例えば、ＤＨＣＰクライアント２００に提供された後リース期間が終了し、ＤＨＣＰクライアント２００への提供が終了したＩＰアドレスが含まれる。
【００３１】
図３は、実施例１における払い出し情報ＤＢに記憶された情報の一例を示す図である。図３に示すように、払い出し情報ＤＢ１１１は、「払い出しアドレス」と「払い出し時刻」と「払い出しユーザ名」とを含むレコードを記憶する。ここで、「払い出しアドレス」は、ＤＨＣＰサーバ１００により払い出されたＩＰアドレスを示す。「払い出し時刻」は、ＤＨＣＰサーバ１００により払い出された時刻や、ＩＰアドレスが確保された時刻を示す。「払い出しユーザ名」は、ＤＨＣＰサーバ１００によりＩＰアドレスが払い出された払い出し先となるＤＨＣＰクライアント２００を識別する情報を示す。
【００３２】
図３に示す例では、払い出し情報ＤＢ１１１は、払い出しアドレス「10.20.30.1」と払い出し時刻「2010／1／1  12：32」と払い出しユーザ名「U001」とを含むレコードを記憶する。すなわち、払い出し情報ＤＢ１１１は、ＩＰアドレス「10.20.30.1」が、「U001」により識別されるＤＨＣＰクライアント２００に対して、「2010／1／1  12：32」に払い出されたことを記憶する。
【００３３】
なお、払い出し情報ＤＢ１１１に記憶された情報は、後述するように、リース履歴管理制御部１２０により更新される。具体的には、払い出し情報ＤＢ１１１は、リース履歴管理制御部１２０により、ＩＰアドレスが払い出されると、払い出されたＩＰアドレスを含む新たなレコードが格納される。また、払い出し情報ＤＢ１１１は、リース履歴管理制御部１２０により、リース期間が終了したＩＰアドレスを含むレコードが削除される。
【００３４】
図２の説明に戻る。払い出し履歴ＤＢ１１２は、リース履歴管理制御部１２０と接続される。払い出し履歴ＤＢ１１２は、リース履歴管理制御部１２０による各種処理に用いられるデータを記憶する。払い出し情報ＤＢ１１１は、例えば、ＲＡＭやＲＯＭ、フラッシュメモリなどの半導体メモリ素子、又は、ハードディスクや光ディスクなどが該当する。
【００３５】
払い出し履歴ＤＢ１１２は、ＤＨＣＰクライアント２００に提供された固有なサービス情報の履歴を記憶する。払い出し履歴ＤＢ１１２は、「履歴記憶部」とも称する。具体的には、払い出し履歴ＤＢ１１２は、ＤＨＣＰクライアント２００に提供された固有なサービス情報のハッシュ値の履歴を記憶する。より詳細には、払い出し履歴ＤＢ１１２は、ＤＨＣＰクライアント２００に提供された固有なサービス情報の履歴をハッシュ値のブルームフィルタ形式で記憶する。
【００３６】
図４は、実施例１における払い出し履歴ＤＢに記憶された情報の一例を示す図である。払い出し履歴ＤＢ１１２は、任意の量の履歴を記憶する。ここで、払い出し履歴ＤＢ１１２は、任意の量として、任意のデータ容量の履歴を記憶しても良く、任意の時間分の履歴を記憶しても良く、ユーザに払い出されたＩＰアドレスをユーザごとに過去に提供したＩＰアドレスを任意の数履歴として記憶しても良い。以下では、払い出し履歴ＤＢ１１２が、任意の時間分の履歴を記憶する場合を用いて説明する。
【００３７】
図４に示すように、払い出し履歴ＤＢ１１２は、「払い出し期間」と「払い出しフィルタ情報」とを含むレコードを記憶する。ここで、「払い出しフィルタ情報」は、「払い出し期間」内に払い出されたＩＰアドレスのハッシュ値により生成されるブルームフィルタを示す。以下では、払い出しフィルタ情報が「５０００ビット」である場合を用いて説明する。つまり、「払い出しフィルタ情報」は、ブルームフィルタ形式で保持された履歴であって、払い出されたＩＰアドレスのハッシュ値の履歴を示す。なお、払い出し履歴ＤＢ１１２に記憶されるレコードは、後述するように、リース履歴管理制御部１２０により更新される。
【００３８】
払い出し期間内に払い出されたＩＰアドレスのハッシュ値により生成されるブルームフィルタについて簡単に説明する。例えば、払い出されたＩＰアドレスが「１０個」であり、ハッシュ関数により生成されるＩＰアドレスのハッシュ値が「１〜５０００」である場合を用いて説明する。また、払い出されたＩＰアドレスごとに、「３」つのハッシュ関数を用いて「３」つのハッシュ値を算出する場合を用いて説明する。この場合、１０個あるＩＰアドレス各々について算出されたハッシュ値に対応するビットが「１」となる。より詳細には、１０個のＩＰアドレス各々について３つのハッシュ値が算出され、３０個のハッシュ値が算出される。そして、算出された３０個のハッシュ値各々に対応するビットが「１」に更新される。なお、同一のハッシュ値が複数算出された場合であっても、ビットは「１」に更新される。
【００３９】
図４に示す例では、払い出し履歴ＤＢ１１２は、払い出し期間を「１時間」とするレコードを、直近の１０時間分記憶する場合を示した。例えば、払い出し履歴ＤＢ１１２は、「2010／1／1  10：00」から「2010／1／1  20：00」までの１０時間について、払い出し期間を「１時間」とするレコード各々を記憶する。例えば、払い出し履歴ＤＢ１１２は、払い出し期間「2010／1／1  10：00  11：00」と払い出しフィルタ情報「010001100100・・・110」とを含むレコードを記憶する。すなわち、払い出し履歴ＤＢ１１２は、「2010／1／1  10：00  11：00」に払い出されたＩＰアドレス各々について算出されたハッシュ値の履歴をブルームフィルタ形式で記憶する。また、払い出しフィルタ情報「010001100100・・・110」となっており、２つ目のビットや６つ目のビット、７つ目のビットなどが「１」となっている。このため、払い出し履歴ＤＢ１１２は、払い出し期間「2010／1／1  10：00  11：00」の間に払い出されたＩＰアドレスのハッシュ値が、「２」や「６」、「７」などであることを記憶する。
【００４０】
以下では、ＤＨＣＰサーバ１００により１時間当たりに最大「１０００回」ＩＰアドレスが払い出され、払い出しフィルタ情報が「５０００」ビットであり、ハッシュ関数が「３」個用いられる場合を用いて説明する。なお、ＤＨＣＰサーバ１００により１時間当たりに最大１０００回ＩＰアドレスが払い出され、払い出しフィルタ情報が５０００ビットである場合に、ハッシュ関数を３つ用いる意義については、後述するためここでは説明を省略する。
【００４１】
また、以下では、払い出し履歴ＤＢ１１２は、払い出し期間を１時間とするレコードを、直近の１０時間分記憶する場合を用いて説明するが、これに限定されるものではない。例えば、払い出し履歴ＤＢ１１２は、払い出し期間を１時間より短い任意の期間としても良く、払い出し期間を１時間より長い任意の期間としても良い。また、例えば、払い出し履歴ＤＢ１１２は、直近の１０時間より短い任意の時間分のレコードを記憶しても良く、直近の１０時間より長い任意の時間分のレコードを記憶しても良い。
【００４２】
また、以下では、時間当たりに最大「１０００回」ＩＰアドレスが払い出され、払い出しフィルタ情報が「５０００」ビットであり、ハッシュ関数が「３」個用いられる場合を用いて説明するが、これに限定されるものではない。例えば、ＤＨＣＰサーバ１００により、１時間当たりに最大「１０００回」より多い任意の回数ＩＰアドレスが払い出されても良く、１時間当たりに最大「１０００回」より少ない任意の回数ＩＰアドレスが払い出されても良い。また、例えば、払い出しフィルタ情報が「５０００」ビットより多い任意のビット数であっても良く、払い出しフィルタ情報が「５０００」ビットより少ない任意のビット数であっても良い。また、例えば、ハッシュ関数が「３」より多い任意の数用いられても良く、ハッシュ関数が「３」より少ない任意の数用いられても良い。
【００４３】
図２の説明に戻る。リース履歴管理制御部１２０は、パケット受信部１０１、パケット送信部１０２、払い出し情報ＤＢ１１１及び払い出し履歴ＤＢ１１２と接続される。リース履歴管理制御部１２０は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。リース履歴管理制御部１２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）などが該当する。図２に示す例では、リース履歴管理制御部１２０は、サービス情報提供部１２１と、ＤＢ更新処理部１２２とを有する。
【００４４】
サービス情報提供部１２１は、ＤＨＣＰクライアント２００からＤｉｓｃｏｖｅｒ信号をパケット受信部１０１が受信すると、ＤＨＣＰクライアント２００に対して固有なサービス情報を提供する。具体的には、サービス情報提供部１２１は、ネットワークを介して接続されたＤＨＣＰクライアント２００との間で一連の関連性を有する複数種類の要求信号及び応答信号を交換することで、クライアント装置に対してＩＰアドレスを提供する。ここで、要求信号や応答信号とは、Ｄｉｓｃｏｖｅｒ信号やＯｆｆｅｒ信号、Ｒｅｑｕｅｓｔ信号、ＡＣＫ信号などである。
【００４５】
また、サービス情報提供部１２１は、ＩＰアドレスをＤＨＣＰクライアント２００に対して提供すると、提供したＩＰアドレスと、提供先となるＤＨＣＰクライアント２００を識別する払い出しユーザ名と、ＩＰアドレスを払い出した時刻を示す払い出し時刻とを含むレコードを払い出し情報ＤＢ１１１に格納する。なお、サービス情報提供部１２１による処理の詳細な流れの一例については、フローチャートを用いて後述し、ここでは説明を省略する。
【００４６】
サービス情報提供部１２１により払い出されるＩＰアドレスについて更に説明する。上述したように、ＤＨＣＰサーバ１００により提供されたＩＰアドレスは、リース期間が終了すると、ＤＨＣＰサーバ１００が再度提供可能となる。言い換えると、ＤＨＣＰクライアント２００に対して提供された後、リース期間が終了してＩＰアドレスの提供が終了すると、任意のＤＨＣＰクライアント２００に対して提供可能となる。ここで、サービス情報提供部１２１は、ＤＨＣＰクライアント２００に対する提供が終了した固有なサービス情報について、払い出し履歴ＤＢ１１２に記憶された履歴に基づいて、所定の期間再度提供しない。すなわち、サービス情報提供部１２１は、ＤＨＣＰクライアント２００に対して提供された後リース期間が終了したＩＰアドレスについて、所定の期間が経過した後に再度提供可能とする。
【００４７】
以下では、サービス情報提供部１２１が、ＤＨＣＰクライアント２００に対してＩＰアドレスを払い出した払い出し時刻を基準として、同一のＩＰアドレスを所定期間再度払い出さない場合を用いて説明する。具体的には、サービス情報提供部１２１は、払い出し情報ＤＢ１１１に記憶されていないＩＰアドレスのうち、払い出し履歴ＤＢ１１２に基づいて所定期間払い出されていないＩＰアドレスを提供する。
【００４８】
より詳細には、サービス情報提供部１２１は、払い出し情報ＤＢ１１１に記憶されていないＩＰアドレスのうち任意のＩＰアドレスについてハッシュ値を算出し、算出したハッシュ値が払い出し履歴ＤＢ１１２に記憶されたブルームフィルタと一致した場合にはサービス情報を提供せず、一致しなかった場合には提供する。すなわち、サービス情報提供部１２１が、払い出し履歴ＤＢ１１２に払い出されたことを示す履歴が記憶されている期間、ＩＰアドレスを再度提供しない。
【００４９】
ここで、サービス情報提供部１２１が用いるハッシュ関数は、ブルームフィルタを更新する際に用いられるハッシュ関数と同一である。例えば、払い出されたＩＰアドレスごとに、ブルームフィルタ更新時に３つのハッシュ関数を用いて３つのハッシュ値が算出される場合には、サービス情報提供部１２１は、ブルームフィルタ更新時に用いられる３つのハッシュ関数を用いて、３つのハッシュ値を算出する。そして、サービス情報提供部１２１は、算出したすべてのハッシュ値がすべて一致したレコードが払い出し履歴ＤＢ１１２にある場合にはＩＰアドレスを提供せず、ない場合にはＩＰアドレスを提供する。
【００５０】
ＤＢ更新処理部１２２は、払い出し情報ＤＢ１１１を更新する。具体的には、ＤＢ更新処理部１２２は、払い出し情報ＤＢ１１１に記憶されたレコードのうち、リース期間が終了したＩＰアドレスを含むレコードを削除する。例えば、ＤＢ更新処理部１２２は、定期的に払い出し情報ＤＢ１１１を参照し、払い出し時刻と現在の時刻とを比較し、所定のリース期間以上の時間が経過したレコードを削除する。
【００５１】
また、ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２を更新する。ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２の定期更新処理を実行し、払い出しフィルタ情報の更新処理を実行する。払い出し履歴ＤＢ１１２が、払い出し期間を１時間とするレコードを、直近の１０時間分記憶する場合を例に更に説明する。まず、ＤＢ更新処理部１２２による定期更新処理について説明する。ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２に記憶されたレコードのうち、１０時間が経過したレコ−ドを削除する。また、ＤＢ更新処理部１２２は、払い出し期間を１時間とする新たなレコードを作成し、払い出し履歴ＤＢ１１２に格納する。すなわち、ＤＢ更新処理部１２２は、１０時間分のレコードを払い出し履歴ＤＢ１１２が記憶するように更新処理を実行する。
【００５２】
次に、ＤＢ更新処理部１２２による払い出しフィルタ情報の更新処理について説明する。ＤＢ更新処理部１２２は、払い出し期間として設定された１時間の間に払い出されたＩＰアドレスのハッシュ値を用いて、ＤＢ更新処理部１２２の払い出しフィルタ情報に記憶されるブルームフィルタを更新する。例えば、ＤＢ更新処理部１２２は、サービス情報提供部１２１によりＩＰアドレスを提供される場合に、事前に用意されたハッシュ関数を用いてＩＰアドレスのハッシュ値を算出し、算出したハッシュ値を用いてＤＢ更新処理部１２２の払い出しフィルタ情報を更新する。
【００５３】
ここで、払い出し履歴ＤＢ１１２の払い出しフィルタ情報のビット数と、ＤＢ更新処理部１２２により用いられるハッシュ関数との関係について説明する払い出しフィルタ情報のビット各々は、ＤＢ更新処理部１２２により用いられるハッシュ関数により算出されるハッシュ値を示すことになる。このため、払い出し履歴ＤＢ１１２の払い出しフィルタ情報のビット数が「５０００」ビットである場合には、ＤＢ更新処理部１２２は、ハッシュ値が「１」〜「５０００」になるハッシュ関数を用いる。
【００５４】
また、ＤＢ更新処理部１２２が用いるハッシュ関数の数について説明する。言い換えると、払い出されたＩＰアドレスごとに、幾つのハッシュ値を算出するかについて説明する。前提として、１時間当たり最大で１０００回ＩＰアドレスが払い出され、払い出しフィルタ情報のビット数が５０００ビットである場合を用いて説明する。この場合、理論的には、用意すべきハッシュ関数の数は、誤検知率の最小化の観点から、「ln2×5000／1000≒3」となる。このことを踏まえ、ＤＢ更新処理部１２２は、予め３種類のハッシュ関数が用意され、払い出されたＩＰアドレスごとに３つのハッシュ値を算出する。例えば、ＳＨＡ１（Secure  Hash  Algorithm  1）などのハッシュ関数に基づいて、出力値となるハッシュ値が「１」〜「５０００」となるハッシュ関数が３種類用意される。
【００５５】
なお、ＤＢ更新処理部１２２による定期更新処理の詳細と、払い出しフィルタ情報の更新処理の詳細とについては、フローチャートを用いて後述するため、ここでは説明を省略する。
【００５６】
［サービス情報提供部による提供処理］
図５を用いて、実施例１におけるサービス情報提供部１２１による提供処理の流れの一例を示す。図５は、実施例１におけるサービス情報提供部による提供処理の流れの一例を示すフローチャートである。
【００５７】
図５に示すように、パケット受信部１０１がＤＨＣＰクライアント２００からＤｉｓｃｏｖｅｒ信号を受信すると（ステップＳ１０１肯定）、サービス情報提供部１２１は、払い出し情報ＤＢ１１１に記憶されていない任意のＩＰアドレスをランダムに決定する（ステップＳ１０２）。例えば、サービス情報提供部１２１は、ＩＰアドレス「10.20.30.5」を決定する。
【００５８】
そして、サービス情報提供部１２１は、払い出し情報ＤＢ１１１を参照することで検索処理を実行する（ステップＳ１０３）。具体的には、サービス情報提供部１２１は、払い出し情報ＤＢ１１１のレコード各々についての払い出しフィルタ情報に、決定したＩＰアドレスが含まれているかを判定する。払い出し情報ＤＢ１１１に記憶されたレコードに含まれているＩＰアドレスは、過去所定の期間内に払い出されたＩＰアドレスとなる。このことを踏まえ、サービス情報提供部１２１は、決定したＩＰアドレスが、所定期間払い出されていないかを判定する。
【００５９】
ここで、サービス情報提供部１２１は、含まれると判定した場合には（ステップＳ１０４肯定）、決定したＩＰアドレスを破棄し、ステップＳ１０２に戻って処理を繰り返す。つまり、ステップＳ１０２にて決定した任意のＩＰアドレスが所定期間内に払い出されていたと判定した場合には、サービス情報提供部１２１は、払い出し情報ＤＢ１１１に記憶されていない任意のＩＰアドレスを再度ランダムに決定し、上述したステップＳ１０３にて含まれないと判定するまで処理を繰り返す。なお、サービス情報提供部１２１は、ＩＰアドレスを再度ランダムに決定する際には、含まれると判定されたＩＰアドレスを除外した上で決定しても良い。
【００６０】
一方、サービス情報提供部１２１は、含まれないと判定した場合には（ステップＳ１０４否定）、決定したＩＰアドレスを含むレコードを払い出し情報ＤＢ１１１に格納する（ステップＳ１０５）。つまり、ステップＳ１０２にて決定した任意のＩＰアドレスが所定期間内に払い出されていないと判定した場合には、サービス情報提供部１２１は、決定したＩＰアドレス「10.20.30.5」を払い出しアドレスとして格納し、払い出した時刻を払い出し時刻として格納し、払い出し先となるＤＨＣＰクライアント２００を識別する払い出しユーザ名を格納する。
【００６１】
また、ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２に対して、払い出しフィルタ情報の更新処理を実行する（ステップＳ１０６）。具体的には、ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２に記憶されたレコードのうち、現在時刻に対応するレコードの払い出しフィルタ情報を更新する。つまり、ＤＢ更新処理部１２２は、サービス情報提供部１２１によりＩＰアドレスが提供される場合に、提供されるＩＰアドレスのハッシュ値を算出し、ＤＢ更新処理部１２２の払い出しフィルタ情報を更新する。
【００６２】
そして、サービス情報提供部１２１は、パケット送信部１０２を介して、決定したＩＰアドレスを含むＯｆｆｅｒ信号をＤＨＣＰクライアント２００に送信する（ステップＳ１０７）。なお、その後、パケット受信部１０１がＲｅｑｕｅｓｔ信号を受信すると、サービス情報提供部１２１は、Ｄｉｓｃｏｖｅｒ信号を受信した際に決定したＩＰアドレスに基づいて払い出しを行う。
【００６３】
なお、図５に示す例では、ＤＨＣＰサーバ１００が、Ｄｉｓｃｏｖｅｒ信号を受信した後、Ｏｆｆｅｒ信号を送信する前に、払い出し情報ＤＢ１１１や払い出し履歴ＤＢ１１２を更新する場合を用いて説明したが、これに限定されるものではない。例えば、Ｏｆｆｅｒ信号を送信した後に更新しても良く、Ｒｅｑｕｅｓｔ信号を受信した後に更新しても良く、Ａｃｋ信号を送信した後に更新しても良い。
【００６４】
［ＤＢ更新処理部による定期更新処理］
図６及び図７を用いて、実施例１におけるＤＢ更新処理部１２２による定期更新処理の流れの一例を示す。図６は、実施例１におけるＤＢ更新処理部による定期更新処理の流れの一例を示すフローチャートである。図７は、実施例１におけるＤＢ更新処理部による定期更新処理の流れの一例を示す図である。図７において、テーブル３０１〜３０３は、払い出し履歴ＤＢ１１２に格納された情報の一例を示す。以下では、現在時刻が「2010／1／1  20：00」である場合を用いて説明する。
【００６５】
図６に示すように、ＤＢ更新処理部１２２は、定期更新タイミングとなると（ステップＳ２０１肯定）、ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２に記憶されたレコードのうち、払い出し期間が１０時間以上経過しているレコードを検索し（ステップＳ２０２）、検索結果となるレコードを削除する（ステップＳ２０３）。なお、払い出し履歴ＤＢ１１２は、例えば、１時間おきに上述した処理を実行する。
【００６６】
つまり、例えば、図７の３０１及び３０２に示す例では、ＤＢ更新処理部１２２は、現在時刻「2010／1／1  20：00」から１０時間以上経過しているレコードである払い出し期間「2010／1／1  10：00  11：00」と払い出しフィルタ情報「010001100100・・・110」とを含むレコードを削除する。図７の３０１は、ＤＢ更新処理部１２２による削除前の払い出し履歴ＤＢ１１２を示し、３０２は、ＤＢ更新処理部１２２による削除後の払い出し履歴ＤＢ１１２を示す。
【００６７】
そして、ＤＢ更新処理部１２２は、払い出し期間を現在時刻から１時間とする新たなレコードを払い出し履歴ＤＢ１１２に格納する（ステップＳ２０４）。ここで、ＤＢ更新処理部１２２は、新たに格納されたレコードの払い出しフィルタ情報として、「０」で初期化した情報を格納する。つまり、例えば、図７の３０３に示すように、払い出し期間「2010/1/1  20:00‐21:00」となるレコードを新たに格納し、その際、払い出しフィルタ情報ｗｐ「00…00」とすべて「０」とする。
【００６８】
なお、上述の処理手順は、上述の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップＳ２０４をＳ２０２及び２０３の前に実行しても良い。
【００６９】
［ＤＢ更新処理部による払い出しフィルタ情報の更新処理］
図８及び図９を用いて、実施例１におけるＤＢ更新処理部１２２による払い出しフィルタ情報の更新処理の一例を示す。図８は、実施例１におけるＤＢ更新処理部による払い出しフィルタ情報の更新処理の一例を示すフローチャートである。図８に示す一連の処理は、図５におけるステップＳ１０６に対応する。図９は、実施例１におけるＤＢ更新処理部による払い出しフィルタ情報の更新処理の一例を示す図である。図９に示す一連の数字列は、払い出し履歴ＤＢ１１２の払い出しフィルタ情報を示す。具体的には、図９のビット列３１１は、ＤＢ更新処理部１２２による払い出しフィルタ情報の更新処理前の払い出しフィルタ情報を示し、ビット列３１２は、更新処理後の払い出しフィルタ情報を示す。以下では、サービス情報提供部１２１によりＩＰアドレス「10.20.30.5」が払い出される場合を例に説明する。
【００７０】
図８に示すように、ＤＢ更新処理部１２２は、提供するＩＰアドレスについて、予め用意されたハッシュ関数を用いてハッシュ値を算出する（ステップＳ３０１）。例えば、予めハッシュ関数が３種類用意された場合には、３種類のハッシュ関数それぞれについて、ＩＰアドレス「10.20.30.5」のハッシュ値を算出する。
【００７１】
そして、ＤＢ更新処理部１２２は、払い出し履歴ＤＢ１１２に記憶されたレコードのうち、現在時刻に対応するレコードの払い出しフィルタ情報において、算出したハッシュ値に対応するビットを「１」に更新する（ステップＳ３０２）。例えば、ＤＢ更新処理部１２２により算出されたハッシュ値が「２７７０」「１００」「１５５０」である場合を用いて説明する。この場合、図９に示すように、ＤＢ更新処理部１２２は、現在時刻に対応するレコードの払い出しフィルタ情報において、２７７０個目にあるビットを「１」に更新し、１００個目にあるビットを「１」に更新し、１５５０個目にあるビットを「１」に更新する。なお、ここで、算出したハッシュ値に対応するビットが既に「１」である場合には、ＤＢ更新処理部１２２は、そのままとする。
【００７２】
［サービス情報提供部による検索処理］
図１０及び図１１を用いて、実施例１におけるサービス情報提供部１２１による検索処理の詳細な処理の流れの一例を示す。図１０は、実施例１におけるサービス情報提供部による検索処理の詳細な処理の流れの一例を示すフローチャートである。図１１は、実施例１におけるサービス情報提供部による検索処理の詳細な処理の流れの一例を示す図である。図１１は、サービス情報提供部１２１による検索処理が実行される際に、払い出し履歴ＤＢ１１２に格納された払い出しフィルタ情報の一例を示す。
【００７３】
以下に説明する一連の処理は、図５におけるステップＳ１０３の検索処理に対応する。以下では、図５のステップＳ１０２において、サービス情報提供部１２１がＩＰアドレス「10.20.30.5」を決定した場合を用いて説明する。
【００７４】
図１０に示すように、サービス情報提供部１２１は、決定したＩＰアドレスについて、予め用意されたハッシュ関数を用いてハッシュ値を算出する（ステップＳ４０１）。ここで、サービス情報提供部１２１が用いるハッシュ関数は、ＤＢ更新処理部１２２により払い出しフィルタ情報を更新する際に用いられるハッシュ関数と同一である。
【００７５】
例えば、サービス情報提供部１２１は、ＤＢ更新処理部１２２と同様に、３つのハッシュ関数を用いて、決定したＩＰアドレス「10.20.30.5」について、３つのハッシュ値「２７７０」と「１００」と「１５５０」とを算出する。
【００７６】
そして、サービス情報提供部１２１は、払い出し履歴ＤＢ１１２の払い出しフィルタ情報各々を参照し、ハッシュ値に対応するビットがすべて「１」に設定されているかを、すべてのレコードについて判定する（ステップＳ４０２）。例えば、サービス情報提供部１２１は、払い出し履歴ＤＢ１１２のすべてのレコードについて、図１１に示すように、払い出しフィルタ情報のうち、「２７７０」目のビットと「１００」目のビットと「１５５０」目のビットとのすべてについて、ビットが「１」となっているかを判定する。
【００７７】
ここで、図１１に示すように、払い出し履歴ＤＢ１１２に、ハッシュ値に対応するビットのすべてが「１」に設定された払い出しフィルタ情報があると判定したレコードが１つでもあると判定した場合について説明する（ステップＳ４０３肯定）。この場合、サービス情報提供部１２１は、払い出しフィルタ情報に決定したＩＰアドレスが含まれていると判定する（ステップＳ４０４）。つまり、サービス情報提供部１２１は、決定したＩＰアドレスが、過去所定期間内に払い出されていると判定する。
【００７８】
一方、払い出し履歴ＤＢ１１２に、ハッシュ値に対応するビットのすべてが「１」に設定された払い出しフィルタ情報が１つもないと判定した場合について説明する（ステップＳ４０３否定）。この場合、サービス情報提供部１２１は、払い出しフィルタ情報に決定したＩＰアドレスが含まれていないと判定する（ステップＳ４０５）。つまり、サービス情報提供部１２１は、決定したＩＰアドレスが、過去所定期間内に払い出されていないと判定する。
【００７９】
［実施例１の効果］
上述したように、実施例１によれば、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００に対して固有なサービス情報を提供し、ＤＨＣＰクライアント２００に提供された固有なサービス情報の履歴を記憶する。また、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント２００に対する提供が終了した固有なサービス情報を、払い出し履歴ＤＢ１１２に記憶された履歴に基づいて、所定の期間再度提供しない。この結果、サービス情報を適切に提供可能である。
【００８０】
例えば、ＤＨＣＰクライアント２００が、提供されたＩＰアドレスがＤｏＳ攻撃の対象となった結果破棄した場合であっても、破棄されたＩＰアドレスがすぐに自装置に提供されることがなく、サービス情報を適切に提供可能である。また、更に、破棄されたＩＰアドレスがすぐに他のＤＨＣＰクライアント２００に提供されることがなく、サービス情報を適切に提供可能である。
【００８１】
例えば、ＤＨＣＰクライアント「Ａ」が、提供されたＩＰアドレス「１」がＤｏＳ攻撃の対象となり、ＩＰアドレス「１」を破棄して新たにＩＰアドレスを取得する場合を用いて説明する。この場合、ＤＨＣＰサーバ１００は、ＤＨＣＰクライアント「Ａ」により破棄されたＩＰアドレス「１」を所定期間提供しない結果、ＩＰアドレス「１」がＤＨＣＰクライアント「Ａ」に提供されない。この結果、ＤＨＣＰクライアント「Ａ」が、ＤｏＳ攻撃の被害を継続して受けることを防止可能である。
【００８２】
また、例えば、ＤＨＣＰクライアント「Ａ」が、提供されたＩＰアドレス「１」がＤｏＳ攻撃の対象となり、ＩＰアドレス「１」を破棄して新たにＩＰアドレスを取得した場合を用いて説明する。また、その後、ＤＨＣＰサーバが、ＤＨＣＰクライアント「Ｂ」からＩＰアドレスを要求された場合を用いて説明する。この場合、ＤＨＣＰサーバ１００は、ＩＰアドレス「１」を所定期間提供しない結果、ＩＰアドレス「１」がＤＨＣＰクライアント「Ｂ」に提供されない。この結果、ＤＨＣＰクライアント「Ｂ」が、ＤＨＣＰクライアント「Ａ」に続いて、ＤｏＳ攻撃の被害を受けることを防止可能である。
【００８３】
また、実施例１によれば、払い出し履歴ＤＢ１１２は、サービス情報提供部１２１によってＤＨＣＰクライアント２００に提供された固有なサービス情報のハッシュ値の履歴を記憶する。この結果、ＩＰアドレスそのものの履歴を記憶する手法と比較して、ＤＨＣＰサーバ１００内でのメモリ使用量を削減するとともに検索処理の効率を高めることができる。すなわち、ＤＨＣＰサーバ１００において、ＤＨＣＰクライアント２００へ払い出したサービス情報の履歴を効率的に管理することが可能である。また、ＤＨＣＰサーバ１００において、ＤＨＣＰクライアント２００へ払い出したサービス情報の履歴を検索する履歴検索の負荷を軽減することが可能である。
【００８４】
また、実施例１によれば、払い出し履歴ＤＢ１１２は、サービス情報提供部１２１によってＤＨＣＰクライアント２００に提供された固有なサービス情報のハッシュ値の履歴をブルームフィルタとして記憶する。この結果、ＩＰアドレスの払い出し履歴を時系列でそのまま残すのではなく、ブルームフィルタ形式で保持することで、ＤＨＣＰサーバ１００内でのメモリ使用量を削減するとともに検索処理の効率を高めることができる。
【実施例２】
【００８５】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
【００８６】
［払い出し履歴ＤＢ］
例えば、上述した実施例では、払い出し履歴ＤＢ１１２が、ブルームフィルタ形式で履歴を記憶する場合について説明したが、限定されるものではない。例えば、払い出し履歴ＤＢ１１２は、払い出されたＩＰアドレスそのものを履歴として記憶しても良く、払い出されたＩＰアドレスから算出されたハッシュ値そのものを履歴として記憶しても良い。
【００８７】
また、例えば、上述した実施例では、ＤＢ更新処理部１２２が、払い出し履歴ＤＢ１１２を定期的に更新し、所定の期間分のレコードをＤＢ更新処理部１２２が記憶するようにする場合について説明したが、これに限定されるものではない。例えば、ＤＢ更新処理部１２２は、所定の期間分のレコードをＤＢ更新処理部１２２が記憶するように更新することなく、サービス情報提供部１２１が、検索処理を実行する際に、所定の期間に対応するレコードを抽出した上で、抽出したレコードを対象として検索処理を実行するようにしても良い。
【００８８】
［リース期間終了時基準］
また、例えば、上述した実施例では、払い出し履歴ＤＢ１１２の払い出しフィルタ情報は、「払い出し期間」内に払い出されたＩＰアドレスのハッシュ値により生成されるブルームフィルタとなる場合を用いて説明した。言い換えると、サービス情報提供部１２１が、ＤＨＣＰクライアント２００に対してＩＰアドレスを払い出した払い出し時刻を基準として、同一のＩＰアドレスを所定期間再度払い出さない場合を用いて説明した。ただし、これに限定されるものではない。
【００８９】
例えば、払い出し履歴ＤＢ１１２の払い出しフィルタ情報は、「払い出し期間」内にリース期間が終了したＩＰアドレスのハッシュ値により生成されるブルームフィルタとしても良い。言い換えると、サービス情報提供部１２１は、リース期間の終了時を基準として、同一のＩＰアドレスを所定期間再度払い出さないようにしても良い。
【００９０】
［履歴］
例えば、上述した実施例では、払い出し履歴ＤＢ１１２が任意の量の履歴を記憶し、ＤＨＣＰクライアント２００に対する提供が終了したＩＰアドレスを、払い出し履歴ＤＢ１１２に記憶された履歴に含まれる期間提供しないことで、所定の期間再度提供しない場合について説明した。また、その際、例えば、ＤＨＣＰクライアント「Ａ」にＩＰアドレスを払い出す場合において、ＤＨＣＰクライアント「Ａ」についての履歴か他のＤＨＣＰクライアント２００についての履歴かを区別することなく、払い出し履歴ＤＢ１１２に記憶された履歴に含まれる期間提供しない場合について説明した。ただし、これに限定されるものではない。
【００９１】
例えば、どのユーザについての履歴かを区別した上で、払い出し履歴ＤＢ１１２に記憶された履歴に含まれる期間提供しないようにしても良い。この場合、払い出し履歴ＤＢ１１２は、払い出しユーザ名に対応づけて、過去に払い出されたＩＰアドレスの履歴を任意の量記憶する。そして、リース履歴管理制御部１２２は、ＩＰアドレスの提供先となるユーザについての履歴に基づいて、所定の期間再度提供しないようにする。
【００９２】
より詳細な一例をあげて説明すると、ＤＨＣＰクライアント「Ａ」にＩＰアドレスを払い出す場合において、ＤＨＣＰクライアント「Ａ」についての履歴を参照し、ＤＨＣＰクライアント「Ａ」に対して過去提供されたＩＰアドレスを任意の期間提供しないようにする。
【００９３】
なお、上述した説明では、払い出し履歴ＤＢ１１２が、ユーザごとの履歴を記憶する場合について説明したが、これに限定されるものではない。例えば、払い出し情報ＤＢ１１１に、任意の量の履歴を記憶させても良い。例えば、払い出し情報ＤＢ１１１が、払い出しユーザ名に対応づけて、任意の世代前までに提供されていたＩＰアドレスを記憶させてもよい。そして、リース履歴管理制御部１２２は、払い出し情報ＤＢ１１１に記憶されたユーザごとの履歴に基づいて、払い出し先となるユーザに任意の世代前までに提供されたＩＰアドレスを提供しないようにしても良い。この場合、ＤＨＣＰサーバ１００は、払い出し履歴ＤＢ１１２を用いなくても良い。
【００９４】
［システム構成］
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。例えば、払い出し履歴ＤＢ１１２の定期更新処理を利用者が手動にて実行しても良い。
【００９５】
この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については（図１〜図１１）、特記する場合を除いて任意に変更することができる。
【００９６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、払い出し情報ＤＢ１１１や払い出し履歴ＤＢ１１２をＤＨＣＰサーバ１００の外部装置としてネットワーク経由で接続するようにしても良い。また、払い出し情報ＤＢ１１１と払い出し履歴ＤＢ１１２とを統合して１つの記憶部としても良い。
【００９７】
［プログラム］
図１２は、上述した履歴管理装置をプログラムとしてコンピュータを用いて具体的に実現されることを示す図である。図１２に例示するように、コンピュータ３０００は、例えば、メモリ３０１０と、ＣＰＵ（Central  Processing  Unit）３０２０と、ネットワークインタフェース３０７０と、ハードディスクドライブ３０８０とを有する。コンピュータ３０００の各部はバス３１００によって接続される。
【００９８】
メモリ３０１０は、例えば、ＲＯＭやＲＡＭ３０１２を有する。メモリ３０１０のＲＯＭは、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。
【００９９】
また、ハードディスクドライブ３０８０は、例えば、ＯＳ３０８１、アプリケーションプログラム３０８２、プログラムモジュール３０８３、プログラムデータ３０８４を記憶する。すなわち、開示の技術に係る更新プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール３０８３として、例えばハードディスクドライブ３０８０に記憶される。具体的には、上記実施例で説明したリース履歴管理制御部１２０と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ３０８０に記憶される。
【０１００】
また、上記実施例で説明した払い出し情報ＤＢ１１１に記憶された情報や払い出し履歴ＤＢ１１２に記憶された情報のように、履歴管理プログラムによる情報処理に用いられるデータは、プログラムデータ３０８４として、例えばハードディスクドライブ３０８０に記憶される。そして、ＣＰＵ３０２０が、ハードディスクドライブ３０８０に記憶されたプログラムモジュール３０８３やプログラムデータ３０８４を必要に応じてＲＡＭ３０１２に読み出し、各種の手順を実行する。
【０１０１】
なお、履歴管理プログラムに係るプログラムモジュール３０８３やプログラムデータ３０８４は、ハードディスクドライブ３０８０に記憶される場合に限られない。例えば、プログラムモジュール３０８３やプログラムデータ３０８４は、着脱可能な記憶媒体に記憶されても良い。この場合、ＣＰＵ３０２０は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、更新プログラムに係るプログラムモジュール３０８３やプログラムデータ３０８４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されても良い。この場合、ＣＰＵ３０２０は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。
【０１０２】
［その他］
なお、本実施例で説明した履歴管理プログラムは、インターネットなどのネットワークを介して配布することができる。また、履歴管理プログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【０１０３】
１００      ＤＨＣＰサーバ
１０１      パケット受信部
１０２      パケット送信部
１１２      払い出し履歴ＤＢ
１１１      払い出し情報ＤＢ
１２０      リース履歴管理制御部
１２１      サービス情報提供部
１２２      ＤＢ更新処理部
２００      ＤＨＣＰクライアント
２０１      通信部
【図１】
0005296769.tif 000002
【図２】
0005296769.tif 000003
【図３】
0005296769.tif 000004
【図４】
0005296769.tif 000005
【図５】
0005296769.tif 000006
【図６】
0005296769.tif 000007
【図７】
0005296769.tif 000008
【図８】
0005296769.tif 000009
【図９】
0005296769.tif 000010
【図１０】
0005296769.tif 000011
【図１１】
0005296769.tif 000012
【図１２】
0005296769.tif 000013
【図１３】
0005296769.tif 000014