(57)【特許請求の範囲】
【請求項１】
複数の端末に対して、端末自身のアドレスを通知することを要求する通知要求部と、
前記端末から通知されたアドレスのうち、重複したアドレスが存在する場合、前記通知されたアドレスに含まれない新規アドレスを生成し、前記通知されたアドレスが重複している端末のアドレスを送信先として、前記新規アドレスを含んだメッセージを送信する新規アドレス割り当て部と、
前記メッセージを、前記通知されたアドレスが重複している端末のうちの１つの端末に転送する転送部と、
を有することを特徴とするアドレス変更システム。
【請求項２】
前記転送部は、前記通知されたアドレスが重複している端末のうち、最後にアドレスを通知した端末に対して前記メッセージを転送することを特徴とする請求項１に記載のアドレス変更システム。
【請求項３】
前記新規アドレス割り当て部は、前記複数の端末に含まれる端末からアドレスが通知されるたびに、前記端末から通知されたアドレスが重複している場合、前記通知されたアドレスに含まれない新規アドレスを生成し、前記通知されたアドレスが重複している端末のアドレスを送信先として、前記新規アドレスを含んだメッセージを送信することを特徴とする請求項１または２に記載のアドレス変更システム。
【請求項４】
前記複数の端末のそれぞれの端末は、
前記転送部によって転送された前記メッセージを受信した場合、前記端末のアドレスを前記メッセージに含まれる新規アドレスに変更する変更部と、
前記変更部によってアドレスが変更された場合、変更前のアドレスを含んだメッセージをブロードキャストで通知する通知部と、
前記端末のアドレスが、前記端末以外の他の端末が通知した前記変更前のアドレスを含んだメッセージに含まれたアドレスと一致する場合、新規アドレスを送信することを要求するメッセージを送信する要求部と、
を有することを特徴とする請求項１から３のいずれか１項に記載のアドレス変更システム。
【請求項５】
前記要求部は、ブロードキャストによって新規アドレスを送信することを要求するメッセージを送信することを特徴とする請求項４に記載のアドレス変更システム。
【請求項６】
前記複数の端末のそれぞれの端末は、
前記通知要求部から送信された前記端末自身のアドレスを通知することを要求の送信元のアドレスを記憶する学習部をさらに有し、
前記要求部は、前記学習部が記憶したアドレスに対して新規アドレスを送信することを要求するメッセージを送信することを特徴とする請求項４に記載のアドレス変更システム。
【請求項７】
複数の端末に対して、端末自身のアドレスを通知することを要求する通知要求工程と、
前記端末から通知されたアドレスのうち、重複したアドレスが存在する場合、前記通知されたアドレスに含まれない新規アドレスを生成し、前記通知されたアドレスが重複している端末のアドレスを送信先として、前記新規アドレスを含んだメッセージを送信する新規アドレス割り当て工程と、
前記メッセージを、前記通知されたアドレスが重複している端末のうちの１つの端末に転送する転送工程と、
を含んだことを特徴とするアドレス変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス変更システムおよびアドレス変更方法に関する。
【背景技術】
【０００２】
クラウドネットワークの発達に伴い、異なるロケーションにレイヤ２ドメインを構築し、インターネットを介して接続することで複数のレイヤ２ドメインを包含する大規模レイヤ２ドメインを構築する事例が増加している。また、データセンタの普及とネットワーク仮想化技術の発達に伴い、遠隔地にデータセンタを構築し、構築されたデータセンタを異なるレイヤ２ドメインが共有することによりリソースの効率化を図る例も存在する。
【０００３】
他方、レイヤ２ドメインを上記のように構築することができるようになったことから、図１に示すように、組織改編のときにそれまで別個のレイヤ２ドメインであったネットワークを統合し、新たに新組織のレイヤ２ドメインを構築する事例が考えられる。図１は、サブネットの統合について説明するための図である。このような状況では、複数のサブネットを統合する技術が必要になる。
【０００４】
サーバ仮想化技術の発達に伴い、図２に示すように、従来物理サーバを用いて構築されていたデータセンタに仮想化されたサーバ（ＶＭ：Virtual  Machine）を稼働させる事例が生じてきた。異なる個人や組織が利用するサーバを仮想化し、同一物理サーバで稼働させることで、必要な物理サーバ台数を削減するためである。図２は、ＶＭを有する物理サーバの構成を示す図である。また、図３に示すように、物理サーバのメンテナンスの際、稼働中のＶＭを別の物理サーバに移動させることにより、ＶＭの動作を止めることなく物理サーバをメンテナンスすることができるようになった。図３は、ＶＭの移動について説明するための図である。
【０００５】
ここで、イーサネット（登録商標）を用いてＶＭを含む各端末間でデータ転送を行う場合、各端末のインタフェースにはレイヤ２のアドレスとして、例えばＭＡＣアドレスが割り振られる。インタフェースが物理インタフェースである場合は、管理団体と製造メーカによってインタフェースごとに重複しないようにＭＡＣアドレスが割り振られている。
【０００６】
一方、端末がＶＭである場合、ＶＭを動作させるためのソフトウェアの製造会社に割り振られたアドレスグループの範囲でアドレスの割り当てが行われる。そのため、異なるサーバでＶＭを動作させるソフトウェアが稼働している場合、図４に示すようにＶＭ間で重複したＭＡＣアドレスが割り当てられる可能性がある。図４は、ＭＡＣアドレスの重複について説明するための図である。そこで、新たにＶＭを設置した場合に同一サブネット内でＭＡＣアドレスが重複することを回避する方法として、ORACLE  VM  Serverが使用しているアドレス重複回避方法が知られている（例えば非特許文献１）。
【０００７】
ORACLE  VM  Serverが使用しているアドレス重複回避方法においては、ＶＭにＭＡＣアドレスを割り当てるＬＤＭ（Logical  Domains  Manager）というソフトウェアが使用される。ＬＤＭは、ＶＭが新規に構築されたとき、ＶＭに仮のＭＡＣアドレスを割り当てる。そして、ＬＤＭは、同一サブネット内に存在する、割り当てようとしているアドレスを使用しているＶＭを検知する。そのようなＶＭが検知されなければＬＤＭは割り当てた仮のＭＡＣをＶＭのＭＡＣアドレスとし、検知されれば別のＭＡＣアドレスを仮決めする。そして、ＬＤＭは前述の検知動作と仮決めアドレスの変更動作を繰り返しながら、どのＶＭも使用していないアドレスをＶＭに割り当てる。
【０００８】
図２０を用いて、ＬＤＭによるアドレス重複回避方法について説明する。図２０は、従来のアドレス重複回避方法を説明するための図である。図２０に示すように、仮のＭＡＣアドレスとして、ＶＭ５０１ａには１、ＶＭ５０２ａには３、ＶＭ５０３ａには１が割り当てられている。このとき、ＬＤＭ５０１は各ＬＤＭに対して、ＭＡＣアドレスが１のＶＭが存在するか否かを確認するメッセージをマルチキャストで送信する。そして、ＬＤＭからＭＡＣアドレスが１であるＶＭが存在する旨のメッセージが返ってきたため、ＶＭ５０１ａのＭＡＣアドレスを２に変更する。ＬＤＭはこれらの処理を重複がなくなるまで繰り返す。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】“自動または手動によるＭＡＣアドレスの割り当て”、  Oracle  VM  Server  for  SPARC  2.1  管理ガイド、  ［online］、［平成２７年７月２１日検索］、  インターネット＜http://docs.oracle.com/cd/E24622_01/html/E23595/assignmacaddressesautomaticallyormanually.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のＬＤＭによるアドレス重複回避方法は、手順を実行していく過程で一度解消した重複が再び生じ、また全ての重複を解消するまでに時間がかかるため、効率が悪いという問題があった。
【００１１】
例えば、異なるサブネットを統合する際、同じＭＡＣアドレスを使用しているＶＭは最大で統合するサブネットの数だけ存在する。また、複数のＭＡＣアドレスが重複を起こしている場合もある。そのため、従来のＬＤＭによるアドレス重複回避方法においては以下のような問題が生じる。
【００１２】
まず、同一のＭＡＣアドレスを使用するＶＭが存在するサブネットが複数存在し、これらのサブネットを統合する状況を考える。具体的には、図２１に示すように、サブネット６００に存在するＬＤＭ６０１およびサブネット７００に存在するＬＤＭ７０１の両方に、ＭＡＣアドレスが１のＶＭとＭＡＣアドレスが２のＶＭが備えられている場合が考えられる。図２１および図２２は、従来のアドレス重複回避方法を説明するための図である。
【００１３】
図２１の例では、ＬＤＭ６０１はＭＡＣアドレスが１であるＶＭ６０１ａおよびＭＡＣアドレスが２であるＶＭ６０１ｂを有する。また、ＬＤＭ７０１はＭＡＣアドレスが１であるＶＭ７０１ａおよびＭＡＣアドレスが２であるＶＭ７０１ｂを有する。これより、ＭＡＣアドレス１および２は重複している（図２２のステップＳ５０１）。
【００１４】
そして、重複を解消するため、例えばＶＭ６０１ａおよび７０１ａのアドレスが３に、ＶＭ６０１ｂおよび６０２ｂのアドレスが４に変更される。このとき、２つのＬＤＭは、ＭＡＣアドレス３および４を使用しているＶＭが存在するか否かを他方のＬＤＭに問い合わせる。この問い合わせが同時期に起こり、ＶＭのＭＡＣアドレスを変更する前に他方からの問い合わせが到着した場合、問い合わせに記載されているＭＡＣアドレスを使用しているＶＭは存在しない。
【００１５】
そのため、問合せを受けたＬＤＭはＭＡＣアドレス３および４を使用しているＶＭは存在しない旨を返信する。そして、返信を受けたＬＤＭは、ともにＭＡＣアドレス１のＶＭのアドレスを３に、ＭＡＣアドレス２のＶＭのアドレスを４に変更する（図２２のステップＳ５０２）。これにより、再びＭＡＣアドレスは重複する（図２２のステップＳ５０３）。
【００１６】
また、アドレス重複解消プロセスは、アドレスごとに実行される。例えば、アドレス１とアドレス２で、アドレス重複が生じている場合、アドレス１の重複を解消するプロセスとアドレス２の重複を解消するプロセスが独立して動作する。このため、アドレス１の重複解消プロセスが使用したアドレスを、アドレス２の重複解消プロセスが使用しようとした場合、アドレス２の重複解消プロセスは別のアドレスを割り当てることを試みなければならない。このため、すべての重複を解消するまで時間がかかる。
【課題を解決するための手段】
【００１７】
本発明のアドレス変更システムは、複数の端末に対して、端末自身のアドレスを通知することを要求する通知要求部と、前記端末から通知されたアドレスのうち、重複したアドレスが存在する場合、前記通知されたアドレスに含まれない新規アドレスを生成し、前記通知されたアドレスが重複している端末のアドレスを送信先として、前記新規アドレスを含んだメッセージを送信する新規アドレス割り当て部と、前記メッセージを、前記通知されたアドレスが重複している端末のうちの１つの端末に転送する転送部と、を有することを特徴とする。
【００１８】
また、本発明のアドレス変更方法は、複数の端末に対して、端末自身のアドレスを通知することを要求する通知要求工程と、前記端末から通知されたアドレスのうち、重複したアドレスが存在する場合、前記通知されたアドレスに含まれない新規アドレスを生成し、前記通知されたアドレスが重複している端末のアドレスを送信先として、前記新規アドレスを含んだメッセージを送信する新規アドレス割り当て工程と、前記メッセージを、前記通知されたアドレスが重複している端末のうちの１つの端末に転送する転送工程と、を含んだことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、手順を実行していく過程で一度解消した重複を再び生じさせることなく、また処理にかかる時間を短縮し、効率良くアドレスの重複を解消することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、サブネットの統合について説明するための図である。
【図２】図２は、ＶＭを有する物理サーバの構成を示す図である。
【図３】図３は、ＶＭの移動について説明するための図である。
【図４】図４は、ＭＡＣアドレスの重複について説明するための図である。
【図５】図５は、第１の実施形態に係るアドレス変更システムにおけるアドレス変更方法の概要を示す図である。
【図６】図６は、第１の実施形態におけるサブネットの統合の概要を示す図である。
【図７】図７は、第１の実施形態に係るアドレス変更システムの割り当て装置の構成を示すブロック図である。
【図８】図８は、第１の実施形態に係るアドレス変更システムの構成を示す図である。
【図９】図９は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１０】図１０は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１１】図１１は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１２】図１２は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１３】図１３は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１４】図１４は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１５】図１５は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１６】図１６は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【図１７】図１７は、第１の実施形態に係るアドレス変更システムの割り当て装置の処理を示すフローチャートである。
【図１８】図１８は、第１の実施形態に係るアドレス変更システムのＬ２スイッチの処理を示すフローチャートである。
【図１９】図１９は、プログラムが実行されることにより割り当て装置が実現されるコンピュータの一例を示す図である。
【図２０】図２０は、従来のアドレス重複回避方法を説明するための図である。
【図２１】図２１は、従来のアドレス重複回避方法を説明するための図である。
【図２２】図２２は、従来のアドレス重複回避方法を説明するための図である。
【発明を実施するための形態】
【００２１】
以下に、本願に係るアドレス変更システムおよびアドレス変更方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るアドレス変更システムおよびアドレス変更方法が限定されるものではない。
【００２２】
［第１の実施形態］
以下の実施形態では、第１の実施形態に係るアドレス変更システムにおける各装置の構成および処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００２３】
まず、図５を用いて、第１の実施形態の概要について説明する。図５は、第１の実施形態に係るアドレス変更システムにおけるアドレス変更方法の概要を示す図である。図５に示すように、第１の実施形態では、重複プロセス間で同じアドレスを割り当てないよう、アドレスの調停機能を導入する。
【００２４】
また、各ネットワークにＬＤＭに相当する機能は備えない。図５の例では、例えばＡというＭＡＣアドレスを有するＶＭおよびＢというＭＡＣアドレスを持ったＶＭがそれぞれ複数存在し、アドレスの重複が発生している。そのため、割り当て機能が調停役としての役割を担い、各ＶＭに対して順にアドレス変更を行わせる。
【００２５】
そして、図６に示すように、例えば割り当て機能を持つ割り当て装置１０によってアドレスの重複が解消されると、各端末が統合されたレイヤ２ネットワーク上の端末として機能するようになる。図６は、第１の実施形態におけるサブネットの統合の概要を示す図である。なお、割り当て機能は、図６に示すように単独の装置として実現してもよいし、他の機能を有するサーバやネットワーク機器の機能の一部として実現するようにしてもよい。
【００２６】
［第１の実施形態の構成］
まず、図７を用いてアドレス変更システムに含まれる割り当て装置１０の構成について説明する。図７は、第１の実施形態に係るアドレス変更システムの割り当て装置の構成を示すブロック図である。図７に示すように割り当て装置１０は制御部１１および記憶部１２を有する。また、制御部１１は通知要求部１１１、テーブル更新部１１２、生成部１１３および送信部１１４を有する。また、記憶部１２はアドレス管理テーブル１２１を有する。
【００２７】
通知要求部１１１は複数の端末に対して、端末自身のアドレスを通知することを要求する。また、生成部１１３は端末から通知されたアドレスのうち、重複したアドレスが存在する場合、通知されたアドレスに含まれない新規アドレスを生成する。また、テーブル更新部１１２はアドレス管理テーブル１２１の更新を行う。また、送信部１１４は、通知されたアドレスが重複している端末のアドレスを送信先として、新規アドレスを含んだメッセージを送信する。なお、アドレス管理テーブル１２１はアドレスおよびアドレスの個数を記憶する。なお、生成部１１３および送信部１１４が新規アドレス割り当て部として機能する。
【００２８】
図８を用いて、割り当て装置１０を含むアドレス変更システムの構成について説明する。図８は、第１の実施形態に係るアドレス変更システムの構成を示す図である。図８に示すように、割り当て装置１０はＬ２ＳＷ（レイヤ２スイッチ）２１〜２４と接続されている。なお、割り当て装置１０と直接接続されているＬ２ＳＷ２２は、割り当て装置１０の送信部１１４によって送信されたメッセージを、アドレスが重複している端末のうちの１つの端末に、転送する転送部として機能する。
【００２９】
また、図８に示すように、各Ｌ２ＳＷはそれぞれにＭＡＣアドレスが割り当てられたＶＭと接続されている。Ｌ２ＳＷ２１はＭＡＣアドレスがＡであるＶＭ２１１と接続されている。また、Ｌ２ＳＷ２２はＭＡＣアドレスがＡであるＶＭ２２１と接続されている。また、Ｌ２ＳＷ２３はＭＡＣアドレスがＡであるＶＭ２３１およびＭＡＣアドレスがＢであるＶＭ２３２と接続されている。また、Ｌ２ＳＷ２４はＭＡＣアドレスがＢであるＶＭ２４１と接続されている。
【００３０】
各ＶＭは、転送されたメッセージを受信した場合、自身のアドレスをメッセージに含まれる新規アドレスに変更する。また、各ＶＭは、アドレスが変更された場合、変更前のアドレスを含んだメッセージをブロードキャストで通知する。一方、他のＶＭが通知した変更前のアドレスを含んだメッセージを受信し、かつ自身のアドレスが該メッセージに含まれたアドレスと一致する場合、割り当て装置１０に新規アドレスを送信することを要求する。
【００３１】
なお、新規アドレスを送信することを要求するメッセージは、ブロードキャストで送信してもよいし、割り当て装置１０のアドレスを送信先として送信してもよい。また、各ＶＭは、通知要求部１１１からアドレスを通知することを要求するメッセージが送信されてきた際の送信元アドレスを記憶することで学習し、記憶したアドレスを割り当て装置１０のアドレスとしてもよい。
【００３２】
図８の例では、ＶＭ２１１、２２１および２３１のＭＡＣアドレスがいずれもＡであるためアドレスの重複が発生している。また、ＶＭ２３２、２４１のアドレスがいずれもＢであるためアドレスの重複が発生している。なお、割り当て装置１０のＭＡＣアドレスはＸとする。
【００３３】
図９〜１６を用いて、割り当て装置１０の各部の機能の詳細とともに、アドレス変更システムにおけるアドレス変更方法について説明する。図９〜１６は、第１の実施形態に係るアドレス変更システムのアドレス変更方法を説明するための図である。
【００３４】
まず、図９に示すように、割り当て装置１０の通知要求部１１１は全てのＶＭに自身のＭＡＣアドレスを通知するように要求するメッセージを送信する。このとき、メッセージの送信元アドレスは割り当て装置１０のＭＡＣアドレスであるＸである。また、送信先はブロードキャストアドレスとする。通知要求部１１１によって送信されたメッセージは、各Ｌ２ＳＷを経由して各ＶＭへ到達する。
【００３５】
次に、図１０に示すように、ＶＭは、通知要求部１１１によって送信されたメッセージを受信すると、自身のＭＡＣアドレスを含んだメッセージを送信する。このとき、各ＶＭが送信するメッセージの送信先は割り当て装置１０のＭＡＣアドレスであるＸである。また、各ＶＭが送信するメッセージの送信元は各ＶＭ自身のＭＡＣアドレスである。例えば、ＶＭ２１１は送信先をＸ、送信元をＡとして、ＭＡＣアドレスＡを含んだメッセージを送信する。なお、各ＶＭは、割り当て装置１０のＭＡＣアドレスではなく、ブロードキャストアドレスを送信先としてメッセージを送信してもよい。
【００３６】
そして、図１０に示すように、割り当て装置１０は、ＭＡＣアドレスＡを含んだメッセージを３つ、ＭＡＣアドレスＢを含んだメッセージを２つ受信する。ここで、テーブル更新部１１２は、アドレス管理テーブル１２１に端末のＭＡＣアドレスとしてＡおよびＢを記憶させ、さらにＭＡＣアドレスＡに対応する使用端末数として３を記憶させ、ＭＡＣアドレスＢに対応する使用端末数として２を記憶させる。
【００３７】
そして、図１１に示すように、割り当て装置１０は、アドレス管理テーブル１２１に記憶されている使用端末数が２以上であるＭＡＣアドレスが存在している場合、アドレスの重複が発生していると判断し、重複解消プロセスを実行する。割り当て装置１０の生成部１１３は、アドレス管理テーブル１２１に記憶されているＭＡＣアドレスに含まれないアドレスを新規ＭＡＣアドレスとして生成する。
【００３８】
そして、送信部１１４は、アドレス管理テーブル１２１において重複が発生していると判断されたＭＡＣアドレスを送信先とし、生成部１１３によって生成された新規アドレスを使用することを要求するメッセージを送信する。なお、送信部１１４が送信するメッセージの送信元は割り当て装置１０のＭＡＣアドレスである。
【００３９】
例えば、図１１に示すように、生成部１１３は、重複が発生しているＭＡＣアドレスであるＡおよびＢに含まれないＭＡＣアドレスＣおよびＤを生成する。そして、送信部１１４は、ＭＡＣアドレスＡを送信先としてＭＡＣアドレスＣを使用することを要求するメッセージを送信する。また、送信部１１４は、ＭＡＣアドレスＢを送信先としてＭＡＣアドレスＤを使用することを要求するメッセージを送信する。
【００４０】
ここで、図１２を用いてＬ２ＳＷにおけるルーチングプロトコルについて説明する。各Ｌ２ＳＷは、レイヤ２のルーチングプロトコルとして、例えばスパニングツリープロトコルを使用する。スパニングツリープロトコルを使用する場合、Ｌ２ＳＷはポートに到着したパケットの送信元のアドレスを確認し、記憶しておく。そして、送信元として指定されていたアドレスを送信先アドレスとするパケットが到着した場合、記憶したポートからパケットを送出する。
【００４１】
例えば、図１２の（ａ）に示すように、ＭＡＣアドレスＡを使用しているＶＭ２１１、２２１および２３１によって送信されたパケットは、いずれもＬ２ＳＷ２２を通過する。このとき、パケットが通過するたびに、ＭＡＣアドレスＡに対応するポートが更新される。
【００４２】
例えばＶＭ２３１によって送信されたパケットがＬ２ＳＷ２２を通過した場合、ＭＡＣアドレスＡに対応するポートとしてポート２２ｃが記憶される。その後、ＶＭ２１１によって送信されたパケットがＬ２ＳＷ２２を通過した場合、ＭＡＣアドレスＡに対応するポートはポート２２ａに更新される。このため、図１２の（ｂ）に示すように、ＭＡＣアドレスＡを使用しているＶＭが複数存在し、ＭＡＣアドレスＡに向けてパケットを転送する場合でも、パケットが届くＶＭはＶＭ２１１のみである。
【００４３】
なお、図１１に示すように、ＭＡＣアドレスＢを使用しているＶＭ２３２およびＶＭ２４１は、それぞれＬ２ＳＷ２３およびＬ２ＳＷ２４と接続されている。このため、Ｌ２ＳＷ２３およびＬ２ＳＷ２４においても、Ｌ２ＳＷ２２と同様にスパニングツリープロトコルによるパケット転送制御を行う必要がある。
【００４４】
なお、ブロードキャストアドレスを送信先としたメッセージは、ネットワーク内の全ての端末に送信される。また、ブロードキャストアドレスは例えばＭＡＣアドレス「FF:FF:FF:FF:FF:FF」である。
【００４５】
図１３に示すように、Ｌ２ＳＷ２２は送信部１１４によって送信されたＭＡＣアドレスＡを送信先とするメッセージを、Ｌ２ＳＷ２１を経由させてＶＭ２１１に転送する。このとき、ＶＭ２２１および２３１へ到達する経路はブロックされている。そして、図１４に示すように、メッセージを受け取ったＶＭ２１１は、自身のＭＡＣアドレスをＣに変更する。
【００４６】
その後、ＶＭ２１１は、ブロードキャストアドレスを送信先、ＭＡＣアドレスＣを送信元として、ＭＡＣアドレスＡを使用していた旨のメッセージを送信する。このメッセージは各ＶＭおよび割り当て装置１０へ送信される。これにより、各ＶＭおよび割り当て装置１０は、ＶＭ２１１のアドレスが変更されたことを検知することができる。
【００４７】
ここで、図１５に示すように、ＶＭ２１１が送信したメッセージを受信したＶＭのうち、メッセージに記載されたＭＡＣアドレスと自身のＭＡＣアドレスが一致するＶＭ、すなわちＶＭ２２１および２３１は、割り当て装置１０に対して新規アドレスを要求する。このメッセージの送信先はＭＡＣアドレスＸ、送信元はＭＡＣアドレスＡである。
【００４８】
そして、図１６に示すように、新規アドレスを要求するメッセージにより、ＭＡＣアドレスがＡであるＶＭの数が２であることが分かるので、テーブル更新部１１２はアドレス管理テーブル１２１に記憶されているＭＡＣアドレスＡの使用端末数を３から２に減じる。また、割り当て装置１０の生成部１１３はＭＡＣアドレスＥを生成する。
【００４９】
そして、送信部１１４は、ＭＡＣアドレスＡを送信先としてＭＡＣアドレスＥを使用することを要求するメッセージを送信する。このメッセージは、前述の通りＬ２ＳＷ２２において１つのＶＭにのみ転送される。例えば、図１６に示すように、ＶＭ２２１によって送信されたメッセージが、ＶＭ２３１によって送信されたメッセージより後にＬ２ＳＷ２２を通過していた場合、送信部１１４によって送信されたメッセージはＶＭ２２１に転送される。
【００５０】
［第１の実施形態の処理］
図１７を用いて、割り当て装置１０の処理について説明する。図１７は、第１の実施形態に係るアドレス変更システムの割り当て装置の処理を示すフローチャートである。図１７に示すように、通知要求部１１１は各ＶＭに自身のＭＡＣアドレスを通知するように要求する（ステップＳ１０１）。次に、テーブル更新部１１２は、受け取った通知を基に、アドレス管理テーブル１２１の各ＭＡＣアドレスの使用端末数を更新する（ステップＳ１０２）。
【００５１】
そして、生成部１１３は、ＭＡＣアドレスが重複している端末に割り当てるＭＡＣアドレスを生成する（ステップＳ１０３）。なお、生成部１１３はアドレス管理テーブル１２１に記憶されていないか、もしくは使用端末数が０であるＭＡＣアドレスを新規ＭＡＣアドレスとして生成する。ここで、テーブル更新部１１２は、生成したＭＡＣアドレスをアドレス管理テーブル１２１に追加する（ステップＳ１０４）。
【００５２】
そして、送信部１１４は、生成部１１３が生成した新規ＭＡＣアドレスをＭＡＣアドレスが重複している端末に通知する（ステップＳ１０５）。このとき送信部１１４によって送信されるメッセージは、送信先として指定されたＭＡＣアドレスを持つＶＭのうちの１つにのみ転送される。このとき、アドレス管理テーブル１２１に記憶されている、送信先として指定したＭＡＣアドレスの使用端末数を減じるようにしてもよい。
【００５３】
ここで、さらにアドレスが重複しているＶＭは、アドレスを要求するメッセージを通知するようにしてもよい。また、使用端末数が２以上のＭＡＣアドレスが存在する場合、通知要求部１１１は各ＶＭに自身のＭＡＣアドレスを通知するようにさらに要求してもよい。そして、割り当て装置１０は、さらに通知を受信した場合、ステップＳ１０２に戻り処理を繰り返す（ステップＳ１０６、Ｙｅｓ）。また、割り当て装置１０は、通知を受信しない場合は処理を終了する（ステップＳ１０６、Ｎｏ）。
【００５４】
次に、図１８を用いて、Ｌ２ＳＷ２２を例に挙げて各Ｌ２ＳＷの処理について説明する。図１８は、第１の実施形態に係るアドレス変更システムのＬ２スイッチの処理を示すフローチャートである。
【００５５】
まず、Ｌ２ＳＷ２２は、ポート２２ｃからＭＡＣアドレスＡを送信元、ＭＡＣアドレスＸを送信先とするメッセージを受信する（ステップＳ２０１）と、ＭＡＣアドレスＡに対応するポートをポート２２ｃに設定し（ステップＳ２０２）、メッセージをＭＡＣアドレスＸに対応するポートに転送する（ステップＳ２０３）。
【００５６】
次に、Ｌ２ＳＷ２２は、ポート２２ｂからＭＡＣアドレスＡを送信元、ＭＡＣアドレスＸを送信先とするメッセージを受信する（ステップＳ２０４）と、ＭＡＣアドレスＡに対応するポートをポート２２ｂに設定し（ステップＳ２０５）、メッセージをＭＡＣアドレスＸに対応するポートに転送する（ステップＳ２０６）。
【００５７】
そして、Ｌ２ＳＷ２２は、ポート２２ａからＭＡＣアドレスＡを送信元、ＭＡＣアドレスＸを送信先とするメッセージを受信する（ステップＳ２０７）と、ＭＡＣアドレスＡに対応するポートをポート２２ａに設定し（ステップＳ２０８）、メッセージをＭＡＣアドレスＸに対応するポートに転送する（ステップＳ２０９）。
【００５８】
ここで、Ｌ２ＳＷ２２は、ＭＡＣアドレスＡを送信先とするメッセージを受信する（ステップＳ２１０）と、現在のＭＡＣアドレスＡに対応するポートはポート２２ａに設定されているため、メッセージをポート２２ａに転送する（ステップＳ２１１）。
【００５９】
［第１の実施形態の効果］
割り当て装置１０の通知要求部１１１は複数の端末に対して、端末自身のアドレスを通知することを要求する。また、割り当て装置１０の生成部１１３は端末から通知されたアドレスのうち、重複したアドレスが存在する場合、通知されたアドレスに含まれない新規アドレスを生成する。また、割り当て装置１０の送信部１１４は、端末のうち通知されたアドレスが重複している端末のアドレスを送信先として、新規アドレスを含んだメッセージを送信する。転送部として機能する各Ｌ２ＳＷは、割り当て装置１０の送信部１１４によって送信されたメッセージを、アドレスが重複している端末のうちの１つの端末に転送する。
【００６０】
これにより、割り当て装置１０で各端末のアドレスを一元的に管理し、アドレスの重複を１つずつ解消していくことができる。そのため、手順を実行していく過程で一度解消した重複を再び生じさせることなく、また処理にかかる時間を短縮し、効率良くアドレスの重複を解消することができる。
【００６１】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６２】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６３】
［プログラム］
図１９は、プログラムが実行されることにより、割り当て装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６５】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、割り当て装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、割り当て装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００６６】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６７】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３およびプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３およびプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６８】
１０  割り当て装置
１１  制御部
１２  記憶部
２１、２２、２３、２４  Ｌ２ＳＷ
２２ａ、２２ｂ、２２ｃ  ポート
１１１  通知要求部
１１２  テーブル更新部
１１３  生成部
１１４  送信部
１２１  アドレス管理テーブル
２１１、２２１、２３１、２３２、２４１  ＶＭ
【図１】
0006363977.tif 000002
【図２】
0006363977.tif 000003
【図３】
0006363977.tif 000004
【図４】
0006363977.tif 000005
【図５】
0006363977.tif 000006
【図６】
0006363977.tif 000007
【図７】
0006363977.tif 000008
【図８】
0006363977.tif 000009
【図９】
0006363977.tif 000010
【図１０】
0006363977.tif 000011
【図１１】
0006363977.tif 000012
【図１２】
0006363977.tif 000013
【図１３】
0006363977.tif 000014
【図１４】
0006363977.tif 000015
【図１５】
0006363977.tif 000016
【図１６】
0006363977.tif 000017
【図１７】
0006363977.tif 000018
【図１８】
0006363977.tif 000019
【図１９】
0006363977.tif 000020
【図２０】
0006363977.tif 000021
【図２１】
0006363977.tif 000022
【図２２】
0006363977.tif 000023