JP2012516087A - ネットワークにおけるアドレス割り当て - Google Patents

ネットワークにおけるアドレス割り当て Download PDF

Info

Publication number
JP2012516087A
JP2012516087A JP2011546619A JP2011546619A JP2012516087A JP 2012516087 A JP2012516087 A JP 2012516087A JP 2011546619 A JP2011546619 A JP 2011546619A JP 2011546619 A JP2011546619 A JP 2011546619A JP 2012516087 A JP2012516087 A JP 2012516087A
Authority
JP
Japan
Prior art keywords
node
server
network
client
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011546619A
Other languages
English (en)
Other versions
JP5414807B2 (ja
Inventor
マルティン ヨンソン,
レイナルド ゴメス,
ジュディース ケルネル,
ジャメル サドック,
リカルド デ オリベイラ シュミット,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2012516087A publication Critical patent/JP2012516087A/ja
Application granted granted Critical
Publication of JP5414807B2 publication Critical patent/JP5414807B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

ネットワークにおけるアドレス割当の方法には、ノード間の交渉から、第1ノードが、クライアントに対するネットワークアドレスの分配と管理に責任のあるサーバ・ロールを担うべきかをどうか決定することを備える。もしこの決定がなされると、第1ノードにはネットワークアドレスのプールが提供される。本発明は、例えば、ネットワーク要求条件またはトラヒック負荷に従って、ネットワークのサーバ間におけるアドレス・プールの動的再割当の方法を提供する。

Description

本発明はネットワークにおけるアドレス割り当てに関し、具体的には、クライアント・ロールを持つノードに対してネットワークアドレスの分配と管理に責任があるサーバ・ロールを持つネットワーク・ノードに対する、ネットワークアドレスのプールの動的割り当てに関する。
自律コンピュータ・システムを生成するという着想は、コンピュータ・ネットワークにおける自動設定の概念に重く依存する。動的ネットワークでユーザの干渉無しでの通信の確立は、次世代のコンピュータ・ネットワークに最も重要なトピックスの一つである。動的ネットワークにおける自動設定に関する最大の挑戦の一つはアドレス指定であり−ネットワークにおけるアドレスの自動的割り当てと管理は、移動、ポリシー制御および間欠的接続のような挑戦の存在により更に複雑になる、自律通信環境の決定的重要な部分である。
将来のネットワーク形成では、ユーザが手動でデバイス構成を変更する必要性無しに、ノードはネットワークに接続し、ネットワークから切断するであろう、と予想される。自動的ブートストラップのためのしっかりとしたメカニズムを通じて、ノードが参加し、通信の開始を希望するネットワークの既存のノードと連絡をとることにより、ノードがそれ自身を構成してもよい。自己設定を実現するために幾つかの方法が提案された。これらの例には、動的アドレス指定、アドレス管理および、アドホック・ネットワークの動的構成のためのメカニズムを含む。
動的環境においてノードのためのアドレスを定める方法は知られているが、これらはしばしば、DHCP(動的ホスト構成プロトコル)またはもう一つの種類のメカニズムが利用可能である、固定的で構造化したネットワークの存在と助力に依存する。その他の解決策は、ノードがそのハードウエア・アドレス(例えば、MAC−媒体アクセス制御−アドレスのような物理アドレス)を参照し、それ自身のネットワークアドレスを計算するためにこの情報を使用する。それにもかかわらず、アドレスが自己起因である場合、すでにその他に割り当てたアドレスをノードが使用しないようなメカニズムが必要である。同様に、例えば、特許文献1、特許文献2、または特許文献3で説明しているアドレス衝突を避けるため、その物理アドレスと事前に定めたネットワーク関連情報とから情報を合成することにより、それ自身のネットワークアドレスを生成してもよい、ということをその他の提案は暗示している。
その他の解決策は、サーバが送った広告メッセージから情報をノードが取ってきて、それを、それ自身のインタフェース・タイプについての情報、またはその他の事前に定めた情報と合成し、それ自身の正当なネットワークアドレスを生成するというメカニズムを検討したが、これについては特許文献4を参照されたい。しかしながら、これは、再び、固定サーバの提供を要求する。
更なる戦略が、特定のアドレスを使用して、ホーム・ドメインに接続したノードに対して提案された。他の地域に移動し、他のドメインと交信する場合、ノードは、それが、そのホーム・ドメインから離れたままの時間の間に使用する一時的アドレスを受信または計算する。これについては、例えば、特許文献5または非特許文献1を参照されたい。
試行錯誤(“発見的方法”)は、多くのドメイン問題で使用される共通の方法である。アドレス指定の文脈では、ノードは単純にそれ自身のアドレスを生成する可能性がある。次に、このノードは、このアドレスがすでにネットワークのもう一つのノードで使用されているかどうかを検証する。もし使用されていないなら、ノードは、生成されたアドレスを自分自身に帰属させる。
また、ある量の利用可能なアドレスを運ぶ一つ以上のサーバを提供することも提案された。これらのサーバは、ノードがそれらの正当なアドレスをそこから取ってくる、アドレス・プールの管理に責任がある。これについては、例えば特許文献6を参照されたい。
米国特許出願公開第2003/0081578号 米国特許出願公開第2004/0240474号 米国特許第6,728,232号 米国特許出願公開第2007/0160051号 米国特許第5,708,655号 米国特許第6,993,583号
Charles Perkins, "IP Mobility Support for IPv4", RFC 3344, 2002年8月
本発明の第1の側面は、ネットワークにおいてアドレス割り当ての方法を提供する。本方法には、ノード間の交渉から、第1ノードが、クライアントにネットワークアドレスの分配と管理に責任のある、サーバ・ロールを担わなければならないかどうかを決定することを備える。もしこの決定が行われたなら、第1ノードにネットワークアドレスのプールを提供する。
当然注意すべきであるが、用語“第1ノード”は、本説明において特別なノードの一貫した識別を可能とするために使用される。用語“第1ノード”は、ネットワークの開始後ネットワークとの関連を要請するために、本ノードが時間順に第1番目のノードである、ということを要求しない。以下で説明する幾つかの実施形態では、第1ノードはネットワークとすでに関連しているが、他の実施形態では、第1ノードは、ネットワークとの関連を要請しているノードである。
サーバ・ノードは、第1ノードにネットワークアドレスのプールを提供してもよい。(ネットワークアドレスのプールを提供するサーバ・ノードは、本ノードがサーバ・ロールを担うべきであると決定してしまってもよいが、本発明はこれを要求しない。サーバ・ロールを担うノードのみが、ネットワークアドレスのプールを割り当てられることができる。)このようにして、本発明は、ネットワーク要求条件により、ネットワークのサーバ間でアドレス・プールの動的再割り当てを提供する。アドレス・プールの再割り当ては、ネットワークのノード間の交渉の結果として起こり、したがって、ネットワークはサーバのアドレス・プールの集中型割り当てのために構成要素を要求しないという意味で、自動的に起こるということができる。(本方法は、ネットワークアドレスのプールを最初にネットワークに割り当てる、ということを要求しない。任意の適当な方法でこれを行ってもよく:−例として、ネットワーク管理者がネットワークの一つのノードをサーバとして最初に構成し、ネットワークアドレスのプールを提供してもよい。次に、このすでに存在するサーバがネットワークに入る次のノードに正当なアドレスを提示する−本発明は、ネットワークに割り当てられたネットワークアドレスが、ネットワークのノード間で引き続いて割り当てられる方法に関する。)
以下の時点の一つで本決定を実行してもよい:
ネットワークの開始時点で;
第1ノードがネットワークに関連を要請した後;
ネットワークのサーバ・ノードが過負荷になった後;または、
ネットワークのサーバ・ノードがネットワークから退く場合。
本発明は、これらの場合の一つについての決定を実行することに限定されなく、その他の場合で実行されてもよい。例えば、もしネットワーク・ノードがブリッジ・ノードとして動作していると見なされる(即ち、それが、クライアント・ノードからサーバ・ノードにトラヒックを中継している)なら、ネットワーク・ノードはサーバになるよう提示を行なわれる可能性がある。
第1ノードがネットワークとの関連を要請した後、本決定を実行する場合、もし本決定が、第1ノードがサーバ・ロールを担わないということであれば、第1ノードは、代わりに、ネットワークのクライアント・ロールを提示されてもよい。
その他の実施形態では、第1ノードは、ネットワークの既存のクライアント・ノードである。
もし第1ノードがサーバ・ロールをになうなら、本方法には、第1ノードにネットワークアドレスの更なるプールを引き続いて提供することを備えてもよい。もし第1ノードが、そのクライアントに割り当てるため、その最初のアドレス・プールにおけるよりもっと多くのアドレスを要求するなら、もっと多くのアドレスを獲得するため、ネットワークのその他のサーバと交渉することができる。更なるアドレス・プールは、最初のアドレス・プールを提供したものと同じサーバからもたらされてもよく、またはネットワークのもう一つのサーバからもたらされてもよい。
第1ノードがもはやサーバ・ロールを実行しないという表示を受信した後、本サーバ・ノードは、第1ノードがサーバ・ロール(これには、第1ノードが後続のサーバに同様に割り当てたアドレスを含んでもよい)を担った後第1ノードに割り当てられたネットワークアドレスのプールに対する責任を引き続いて取り戻してもよい。例えば、本表示は、例えば第1ノードがネットワークから退くことか第1ノードの機能停止によって生じる可能性のある、第1ノードとの通信の機能停止であってもよい。
サーバ・ノードは、アドレス・プールの責任を再び担う前に第1ノードがもはやサーバ・ロールを実行しないという表示を受信した後、事前に決定した期間待ってもよい。通信リンクの機能停止のため、第1ノードとの通信が一時的に失われたなら、これにより、通信リンクが再確立され、従って第1ノードがそのクライアントに新しいアドレスを割り当てる必要性を避ける場合、第1ノードはその最初のアドレス・プールを保持することが可能となる。
第1ノードが一つ以上の更なるサーバに割り当てた第1アドレス・プールのアドレスに対する責任を取り戻すことを、サーバ・ノードは避けてもよい。第1ノードが任意の更なるサーバに割り当てたアドレスは、更なるサーバと一緒に留まってもよく、それによってネットワークアドレスの新しいプールをこれらの更なるサーバに提供する必要性を避ける。
本決定が、第1ノードがサーバ・ロールを担わなければ成らない、ということであれば、第1ノードは、ネットワークの少なくとも一つのノードをバックアップ・サーバとして、引き続いて選んでもよい。第1ノードはそのクライアント・ノードの少なくとも一つをバックアップ・サーバとして選んでもよい。もし第1ノードが機能停止することがあったなら、バックアップ・サーバがその役割を担う可能性がある。
本発明の第2の側面は、ネットワークにノードを関連させる方法を提供する。本方法には、ノードからネットワークに関連性リクエストを送ることを備える。ノードで、ネットワークのノードからのレスポンスを受信した後、本ノードは、受信したレスポンスがネットワークのクライアント・ノードからか、ネットワークのサーバ・ノードからかを決定する。次に、受信したレスポンスに基づき、ノードはクライアントまたはサーバとしてネットワークに関連してもよい。
もしノードがネットワークのサーバ・ノードからレスポンスを受信したなら、ノードとサーバ・ノードとの間の交渉から決定したように、クライアントまたはサーバのどちらかとして、本ノードはネットワークに関連してもよい。
もしノードがネットワークのサーバ・ノードから全くレスポンスを受信しないが、ネットワークのクライアント・ノードからレスポンスを受信したなら、本ノードは、nホップ・クライアント(n>1)としてネットワークに関連してもよい。“nホップ・クライアント”とは、サーバに直接に(即ち、一つのネットワーク・リンクによって)関連しないが、少なくとも一つの中間のクライアント(“ブリッジ・ノード”として知られている)を経由してサーバに関連するクライアントである。
もし本ノードがサーバとしてネットワークに関連するなら、本方法には、クライアントに分配するためのネットワークアドレスのプールをノードで受信するノードを更に備えてもよい。
本発明の第3の側面は、以下のように適応するネットワーク・ノードを提供する:ノード間の交渉から、第1ノードが、クライアントへのネットワークアドレスの分配と管理に責任のあるサーバ・ロールを担うべきであるかどうか、を決定すること;もしそうなら、第1ノードにネットワークアドレスのプールを提供するよう構成すること。
本ネットワーク・ノードは直接的にサーバであってもよく、または、もし本決定は第1ノードがサーバ・ロールを担うべきであるということであれば、それ自身、第1ノードにネットワークアドレスのプールを提供するだろうネットワークに遠隔的に関連してもよい。
本発明の第4の側面はネットワーク・ノードを提供するが、本ノードは以下のように適応する:ネットワークに関連性リクエストを送ること;ネットワークのノードからレスポンスを受信すること;受信したレスポンスがネットワークのクライアント・ノードからかネットワークのサーバ・ノードからかを決定すること;受信したレスポンスに基づき、クライアントまたはサーバとしてネットワークに関連すること。
本発明の第5の側面は、プログラムで実行された場合、ネットワーク・ノードに第1および第2の側面で定めた方法を実行させる命令を含む、コンピュータ読み取り可能媒体を提供する。
本発明は、ネットワーク内で“アドレスの自己組織化”(“SooA”)という方法を提供する。本SooAは、ネットワークにおけるアドレスの分配と管理を達成するメカニズムであり、ネットワークアドレスのプールが動的方法でネットワークのサーバに割り当て可能となる−即ち、特定のサーバの割り当てられるネットワークアドレスのプールは固定されないが、例えば、ネットワーク要求条件および/またはネットワークにおけるトラヒック条件に基づき、経時的に変化してもよい。上記で説明した従来の方法と対比して、SooAは完全に自律的であり−一方、幾つかの従来の解決策は、アドレス分配を管理するためにDHCPまたはその他のメカニズムを使用するが、本SooAは、その他のサポート・メカニズムを全く必要としない、自己構成環境を定める。動的割り当てアドレス・プールの着想を使用して、本提案の戦略は、ロバストで、分散的、拡大縮小可能で、自動管理可能なアドレス割り当てメカニズムを実装する。
動的ネットワークにおいて動的アドレス指定を提供する既存の解決策は、一般的には、DHCPのようなアドレス指定に責任を持つ集中型メカニズムを提示する、構造化ネットワークに適用する。動的ネットワークの解決策として説明した場合でも、従来の解決策は一般的に適用可能であることに失敗している、即ち、動的ネットワークを定める全ての状況には適用可能でない。構造化ネットワークとの関連が全く不可能であるシナリオでは、なかんずくDHCPは、アドレス分配を管理するために利用可能でない可能性がある。特に、動的ネットワークの開始は、自己アドレス指定をサポートしなければならない場合は主に、重大な局面である。
ネットワークでDHCP無しを仮定し、通常、アドレス・プールの概念に依存する、多くの従来解決策がある。しかしながら、単にネットワークアドレスをプールに分割し、サーバ間でそれらを分配することは、非効率のままである。高度に動的で非構造化ネットワークにおいては特に、このアドレス分配に対するロバスト管理が要求される。分散型アドレスの管理には、追加のプロトコルが要求される。
本発明は、自己構成ネットワークにおいてアドレスを割り当てる(または、ブートストラップ・アドレス指定する)メカニズムを定める。アドレス割り当てはネットワークの残りの機能にとって重要である。動的ネットワークでアドレス指定するための現在の解決策は、DHCPの使用に、または、正当なアドレスを提供し、それらを管理するためのもう一つの固定的メカニズムに、一般的には依存する。本発明は、事前に定めた、および/または固定的外部エンティティのサポート無しに、アドレスを割り当てる。更に、アドレス指定の現在の解決策は、通常、分配を管理するためにプロトコルの大きなスタックを要求する。本発明のメカニズムは、効率的なアドレス指定を保証するため、全ての必要な機能を統合した一つのプロトコルのみを使用する。
全体として、自己ブートストラップが第1のステップであり、自己構成ネットワークのための基本的機能である。自己構成ネットワークは、ネットワークに関連するノード間で関連性を提供するために、効率的な自己アドレス割り当てに直接依存している。
本発明のSooA方法は、動的ネットワークにおけるネットワークアドレスの自己分配と自己管理を提供する。
本発明のSooA方法は、例えば、サーバ・ロールを担うノード(“サーバ”)およびクライアント・ロールを担うノード(“クライアント”)から成る階層構造において、ネットワーク内の幾つかのまたは全てのノードを組織するメカニズムである。本サーバは、アドレス割り当てプロセスの面倒を見るという目的を持ち、アドレスの分配と管理の両方に責任を持っている。各サーバには、プールのネットワークアドレスの少なくとも一つが提供される。サーバ間の交信を通して、利用可能なアドレスがネットワーク内にばらまかれ、幾つかのその他のサーバに関連したいと希望するノードおよび通信チャネルを確立しようとするノードに帰属する。ネットワークのリソース、例えば認証、暗号化等の正しいアクセスおよび利用を保証するため、本発明のSooA方法で一つ以上のセキュリティ・メカニズムを使用するのが望ましい。例えば図1または図21で示す階層で、アドレス割り当てに責任のあるサーバ自身を構成してもよい。(当然注意すべきであるが、ネットワークには、このサーバ階層の一部でない更なるサーバがあってもよい。)
ノード(ネットワークの新しいノードまたは既存のクライアント・ノードであってもよい)がネットワークでサーバ・ロールを担っている場合、サーバとしてすでに機能しているもう一つのノードは新しいノードに利用可能なアドレス・プールを提供する。これのより、アドレスをサーバ間に分配可能となり、その結果、それらをクライアントおよびその他のサーバに割り当ててもよい。この分配は、図1に示すツリー形式構造に従うアドレス割り当て階層を生成する。図1の構造では、サーバ10.2.0.0およびサーバ10.3.0.0は、階層において各々サーバ10.0.0.0の下にあり、サーバ10.3.2.0、サーバ10.3.3.0およびサーバ10.3.4.0は各々サーバ10.3.0.0の下にある。この構造は、例えば、DNS構造と同じように機能するが、アドレス変換へ名前を制御する代わりに、本解決策は、代表アドレスに関連する情報およびどのノードがこの情報を管理しているかをストアする。この構造を使用して、ノードは、非常に効率的で拡張可能な方法でその他のサーバに相談し、回答することが可能であり、これは、本情報ベースを動的であるが構造化した方法で分配するからである。
クライアント・ロールを持つノード(即ち“クライアント”)はアドレス指定に対して全く制御を持たない。しかしながら、その他のクライアントとサーバ間の関連を可能にする場合には、それらは基本的な役割を演じる。ノードがネットワークと関連したい場合。それはサーバ・ルックアップ手順を開始する。サーバにすでに関連しているクライアントは、新しいノードと本サーバとの間の通信をブリッジすることができる。このようにして、もしノードが、直接関連しているサーバに十分近接していないなら、そのようなサーバに到達するため既存のクライアントを使用できる。(以下に更に詳細に説明するように、サーバ・ノードはまた、ブリッジの役割を引き受けてもよい。)
もし、クライアントがブリッジとしてしばしば使用された、とサーバが見ると、例えば、リクエストの構成可能なスレッショウルド値またはその現在の作業負荷に依存して、それは、それ以下のレベルにあるサーバになるようなクライアントを選んでもよい。
過負荷サーバで、まだ非割り当てのアドレスを持つものは、また、そのクライアントの一つ以上(または全てでさえ)を新しいサーバに移すことにより、その作業負荷を分割するよう選んでもよい。本サーバは、それにメッセージを送ることにより新しいサーバになるよう、既存のクライアントを勧誘し、もし可能なら、本クライアントは、その“親サーバ”から作業負荷の一部を集める新しいサーバになる。
アドレス割り当てのよりよい制御を保つため、各サーバは、そのクライアントに割り当てた全てのアドレスとその他のサーバに分配した全てのプールとの履歴を保つ。この追跡で、本発明は、アドレスの損失を避けている。アドレス管理のために追加のプロトコルを全く必要としないので、このことは重要である。
“第1レベル”のサーバの生成(例えば、図1のサーバ10.0.0.0の生成)は、自動化環境では努力目標を提示する。本発明は、この最初の生成を取り扱わないが、これは任意の適当な方法で実行可能であってもよい。本発明の説明は、最初のノードが、それらによって管理するネットワークアドレスのプールを示す幾つかの情報を受信したと推測するであろう。例えば、この割り当てを特定するために静的構成または方策を使用してもよい。これらの最初のサーバを、より少ない活力ともっと大きな計算能力を提示するDNSルート・サーバと比較できる。
サーバ階層を示す概略図である。 クライアントとサーバとを持つネットワークの概略図である。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 本発明の実施形態による方法の概略フローチャートである。 サーバとそのバックアップ・サーバとの間のメッセージ交換の概略図である。 サーバとそのバックアップ・サーバとの間のメッセージ交換の概略図である。 サーバとそのバックアップ・サーバとの間のメッセージ交換の概略図である。 本発明の実施形態による方法の概略フローチャートである。 サーバ階層の概略図である。 サーバ階層の概略図である。 サーバ階層内のアドレス・プールを示す図である。 本発明の実施形態による方法の概略フローチャートである。 本発明のネットワーク・ノードの概略図である。
例を使用し、以下の添付の図面を参照して、本発明の実施形態について更に説明する。
図2は、ネットワークにわたって広がるサーバ(黒い円)がアドレス分配を処理する基本的なシナリオを示す。サーバはそれらのクライアントの各々に正当なアドレスを提供する。クライアント(白い円)は、必ずしもサーバに直接関連を持つ必要はない(即ち、1ホップの関連を通して)。新しいクライアントがもう一つのクライアントを通してサーバにリンクを確立する場合、この新しいクライアントは、少なくとも、サーバから2ホップの離れている、といわれる。図2では、クライアントAはサーバBから2ホップの離れており、その他の全てのクライアントはそれらの各々のサーバに直接(即ち、1ホップの関連で)関連している。
図2では、サーバとそれらの各々のクライアントとの間のリンクを2方向矢印で表わす。サーバ−クライアント階層を表わさない本リンクは、点線で描いている。第1の場合では、これらのリンクにおいて、ノードおよびサーバがアドレス割り当てと利用可能性に気付くように保つため、すべての管理情報を送信するだろうということを表示するノード間で、“アドレス関係”を確立する。他方、点線は、ノード間でデータを交換するためにのみ使用するだろうリンクを表わしている。(注意すべきであるが、一般的に、図2に示すサーバ間でアドレス関係があるだろう(図2に示すサーバにそれらのアドレス・プールを提供する一つ以上のより高次のレベルを恐らく含む);このアドレス関係は図2から削除している。)
本発明は、自己構成ネットワークにおいてアドレスを分配し管理する自律メカニズムから構成される。三つの要素は、ノードがネットワークで新しいノード、サーバおよびクライアントを担うことができる状態を表わす。ネットワークの開始時またはその後、新しいノードとしてネットワークと最初に関連するノードは、ネットワークにおいてその他のノードの不在を検証した後(不在を検証する手順は、本発明の範囲の外にあり、従って、任意の適当な手順を使用してもよい)、サーバ状態に対する交渉を開始するだろう。もう一つの新しいノードとして引き続いてネットワークと関連するノードは、それがクライアントまたはサーバとしてネットワークと関連するかどうかを決定するための交渉の対象であろう。本発明の実施形態について一般的なアドホック・ネットワーク(移動ネットワークであってもよいし、そうでなくてもよい)を参照して説明するが、その理由は、これらのネットワークはより高い活力を提示するが、本発明はそれらに制限されないためである。
サーバ構成要素
サーバはアドレス分配と管理に責任があるため、アドレス指定に関連するそれらの機能は、クライアントのものよりもっと複雑である。適当な処理と記憶能力を持つノードがサーバの自然な候補である。処理能力、ノードで利用可能な記憶空間、およびネットワークを退くノードのリスクの組合せを反映する属性として、ノード安定性を見ることができる。(望ましいことであるが、もしノードがネットワークを退くと仮定すれば、サーバのクライアントは新しいアドレスを入手しなければならないであろうから、サーバとして動作するノードは、ネットワークを退くのに低いリスクをもつ。)ノードがネットワークに入る場合、そのような属性は既存のサーバに知られるように作られてもよい。そのような情報は高度に動的であるが、レベルの観点からは、例えば、次のようにそれを定めてもよい:非常に安定、安定、不安定。
ノードがサーバの役割を担う可能性がある方法は多数ある。新しいサーバを生成する必要性を見ることは、例えば、次の結果として生じる:
(a)既存のサーバがその作業の幾つかを取り外そうと試みる;
(b)ノードが多くのその他のノードを代表してブリッジとして動作する;
(c)サーバが終了またはネットワークを退く前/時;
(d)一つ以上のサブネットワークの生成。
ネットワークにおける既存のサーバが、新しいサーバを生成する必要性を把握すると、本サーバはネットワークと既存の関連を持つノードに、例えば、その安定性情報レベルを試験して、適合性に対してノードを試験した後サーバになることを尋ねてもよい。候補ノードが辞退するようなリクエストを許してもよい、ということに注意されたい。これが、そのようなリクエストが確認を要求する理由である。
サーバが実行する第1の動作は、ブロードキャスト・メッセージを通じた自己通知である。次に、サーバは、そのクライアントからまたは新しいノードからの任意のメッセージに耳を傾け、それを待つという初期状態に入る。
ネットワークアドレスを受信する前に、例えば、それらのMACアドレスおよび通信チャネル・タイプまたは技術を通して、ノードを識別してもよい。選択的には、それらはまた、一時的識別、例えばそれが動作開始する場合、各ノードが計算する自己割り当てアドレスを使用してもよい。これにより、ネットワークがインターネットに接続されていなくても、全てのノードが、ルーティング機能を使用可能となり、次にネットワークの全ての構成要素と全ての時に通信可能となる。それがネットワークに参加する前に、一時的識別またはアドレスを使用のためにノードに提供する任意の適当なメカニズムを使用してもよいが、本発明は、このための任意の特定の方法に制限されない。上述のMACアドレスに加えて、その他の形式のノード・アイデンティティ(例えば暗号特性に基づいた)を代わりに使用できる可能性がある。
図3は、サーバがノードからリクエストを受信した場合の動作シーケンスを示す。
新しいノードからリクエストを受信する(ステップ1)と、新しいノードがすでに拒否されたかどうかを決定するため、そのキャッシュ・テーブルをチェックする。もしこれがその場合なら、サーバは返答せず、それはそのキャッシュ・テーブル情報を更新し、初期状態に戻る。そうでなければ、幾つかの事前に定めた方策に基づき、本サーバは、新しいノードを受け入れるか入れないかを決定する(ステップ2)。そのような決定は、本サーバで局所的にまたは遠隔ノードの助力を通して行われる。本キャッシュ・テーブルは、ノードの“ブラックリスト”に類似である可能性のあるものにおいて、最近の拒否およびそうする理由についての情報を保持するために使用される。このキャッシュ・テーブルを参考にして、サーバは時間と努力とを節約してもよい。
もしサーバが新しいノードのリクエストを拒否するよう決定する(しかし、ノードは以前には拒否されなかった)なら、それは拒否メッセージをノードに送り(ステップ3)、ノードの識別子または一時的/自己割り当ての識別およびリクエストを拒否する理由で、キャッシュ・テーブルを更新する。(D)DoSアタックに伴う問題を回避するため、本リクエストを認証してもよく、サーバ間でブラックリストを交換してもよい。
もしサーバが新しいノードのリクエストを受け入れるよう決定するなら、それは、提示されたアドレス構成を含む提示メッセージを送り(ステップ4a、4b)、サーバが作成した提示の受領を確認するため、ノードを待つ。この時点で、サーバは提示アドレスの状態を“予約済み”と印す。クライアントから確認を受信すると、サーバは最終確認を送り(ステップ5)、新しいノードと関連を確立し、構成プロセスが正しく行われたと推測する。その後、アドレスの状態を“割り当て済み”に変更し、その初期状態に戻る。もしノードが提示メッセージに応答しないなら、所定の期間後に提示メッセージを再送信する。事前に設定した再送信の最大値に達し、新しいノードから全く確認を受信しないなら、サーバは予約アドレスを開放し(ステップ6)、初期状態に戻る。
本発明の一つの実施形態によれば、サーバが、ネットワークと関連することを希望するノードからメッセージを受信すると、それは、サーバとしてまたはクライアントとして関連するためにノードを招いてもよい。この実施形態では、サーバが、新しいノードはサーバになるべきであると決定すると、それは、新しいノードがサーバ構成(“サーバ提示”)を確立できる情報とアドレス・プールとを含むメッセージを送る(ステップ4a)。次に、サーバはレスポンスを待つ。もし新しいサーバが“サーバ提示”を拒否するなら、サーバは、新しいノードがクライアントになることのみを許容する情報を含むもう一つのメッセージを送り(ステップ4b)、上記で説明したのと同じプロセスを実行する(即ち、確認を待ち、後に最終確認メッセージを送る)。もし新しいノードが新しいクライアントであることを受け入れるなら、サーバは最終確認を送り、初期状態に戻る。既存のノードが新しいサーバになるよう、サーバが招く場合、同様のプロセスを使用してもよいが、ノードによる拒否の場合、サーバは全く動作をしない。
また、クライアントとして動作する既存のネットワークはそのサーバにメッセージを送る。図4はこの場合においてサーバで実行するステップを示す。ステップ1で、サーバはそのクライアントの一つから取消メッセージを受信する。これにより、サーバはそのアドレス・テーブルを更新でき(ステップ2)、このクライアントが使用していたアドレスを開放し(ステップ3)、初期状態に戻る(図4参照)。
また、サーバは、前に作成した通知への返答を受信できる。図5は、この場合にサーバで実行するステップを示す。ここでは、サーバは前に作成した通知への返答を受信し(ステップ1)、そのアドレス・テーブルを更新し(ステップ2)、初期状態に戻る。これは、サーバがクライアントの状態をチェックする方法を提供し、更新した状態情報をサーバに提供する間隔で実行されてもよい。
追加して、サーバはクライアント誤り報告を受信できる。図6は、この場合にサーバで実行するステップを示す。サーバがクライアント誤り報告を受信すると(ステップ1)、サーバは、アドレスを再構成すべきかどうか決定する(ステップ2)。もしサーバが、アドレスを変更しなければならないと決定するなら、サーバは現在割り当てられたアドレスを開放し、提示メッセージをクライアントに送る、新しい構成プロセスを開始する(ステップ3)。もし本提示が拒否されたなら、新しい提示に割り当てたアドレスは開放される(ステップ4)。もし本提示が受け入れられたなら、サーバは上記で説明した最終確認メッセージを送る(ステップ5)。
また可能なことであるが、サーバはもう一つのサーバからリクエストを受信する。例えば、サーバXがそのプールにもっと多くのアドレスを加える必要がある場合、それは、サーバY(通常はサーバXの親サーバであろう)にそのようなアドレスを求めるメッセージを送る。図7にこれを示す。ステップ1で、サーバYは、そのプールに追加するアドレスを求めるメッセージをサーバXから受信する。サーバYは、それが利用可能なアドレスを持っているかどうかをチェックする(ステップ2)。もしサーバYが利用可能なアドレスを持っているなら、サーバYはサーバXに提示メッセージを送り(ステップ3)、返答を待つ。サーバXから確認返答を受信すると、サーバYは最終確認を送り、初期状態に戻る。そうでなければ、サーバYは割り当てたアドレスを開放し(図示せず)、初期状態に戻る。
もしサーバYが利用可能なアドレスを持っていないなら、本リクエストを単純に拒否する代わりに、サーバYは同様に、その親サーバから更なるアドレスを要求してもよい。サーバY以上の関連のサーバの一つがアドレスの新しいプールを提示するまで、このプロセスを繰り返してもよく(即ち本リクエストをより高次のサーバに渡しても良い)、次にこのプールは、それがサーバYに達するまで転送される。アドレス・プールの受信後、サーバYはサーバXに提示を送る。
もしサーバYが利用可能なアドレスを持っていないで、より高次のサーバからアドレスを獲得できないなら、サーバYはサーバXからの本リクエストを単に無視してもよく、初期状態に戻るか、サーバXに拒否レスポンスを送ってもよい。もしサーバXがサーバYから返答を受信しないなら、それは、サーバYが提示すべきアドレス・プールを持っていないと単に推測する。
サーバがサーバ誤り報告を送る場合、類似の手順を適用してもよい。
サーバは周期的にネットワークに自分自身を通知する必要がある。そうする時間の場合、サーバは、その通知と更新をそれらがまた受信することを保証するため、何かnホップのクライアント(n>1)があるかどうかをチェックする。クライアントがブリッジ・ノードのシーケンスを通して記録する場合、サーバはそのようなクライアントについて知るようになる。
図8は、サーバがネットワークに自分自身を通知する手順を示す。もしnホップのクライアントが全くいないなら、サーバはその中間ノードの通知メッセージをブロードキャストする(ステップ1)。そうでない場合は、少なくとも一つのnホップクのライアントがいるなら、ステップ1には、この通知が全てのクライアントに到達していることを確かめるため、サーバがマルチキャスト・メッセージを送ること備える。通知メッセージを送った後、サーバはクライアントの返答をチェックし(ステップ2)、どれがまだアクティブ(返答を失敗したクライアントはもはやアクティブではないと推測して)かを検出し(ステップ3)、従って、アクティブでないと判定したクライアントを検出して、そのアドレス・テーブルを再構築する(ステップ4)。特定の数の連続した通知に返答しなかったそれらのクライアントは、死んだクライアント(アクティブでないノード)と考え、これらのクライアントに割り当てられたアドレスを開放する(ステップ5)。次に、サーバは初期状態に戻る。(勿論、もし全てのクライアントが通知メッセージに返答するなら、サーバがそのアドレス・テーブルを更新する必要性は全く無い。)
最終的に、サーバがその作業負荷をチェックする手順は、新しいクライアントを受け入れるプロセスの最後に走行できる。もしサーバが過負荷になったと評価すると、ネットワーク内のクライアントとの交渉を開始し、新しいサーバになって現在のその作業負荷の一部を担うよう、それに頼んでもよい。
新しいノードの構成要素
図9は、新しいノードが既存のネットワークに関連する手順を示す。新しいノードが既存のネットワークに関連することを希望し、サーバとリンクを確立しようと試みる時はいつでも、この手順を実行する。第1に、新しいノードは“サーバ・メッセージ”と呼ぶルックアップ・リクエストをブロードキャストする(ステップ1)。もし本ノードが所定の最大期間で全く返答を受信しないならと決定する(ステップ2)なら、それは、関連は全く不可能である(ステップ3)と推測する。
もし新しいノードがその通知に対する返答を受信するなら、そのようなメッセージは次の二つの異なる源を持つ可能性がある:それは、もう一つのクライアントからか、サーバからかである。それ故、もし返答を受信したとステップ2で決定するなら、テキスト4で新しいノードは、返答はもう一つのクライアントからか、またはサーバからかを決定する。もし返答がクライアントからくるなら、ノードは、サーバとnホップの関連(n>1)を確立することに興味があるかどうかを決定する。もしノードが、幾つかの事前に決定した方策または理由から、nホップの関連を確立することを望まないなら、それは、サーバからの返答が無い場合、関連は全く不可能であるか、サーバにリクエストをブロードキャストする手順を再起動してもよい、と推測してもよい。これを多数回繰り返す。もしノードが、サーバとのnホップの関連がその作業に適切であると決定すれば、それはそのようなnホップの関連を確立する(ステップ5)。
あるいは、もしノードが、ステップ4で、返答はサーバからであると決定するなら、それは、そのサーバと関連を交渉する(ステップ6)。
図10は、ノードがクライアントから返答を受信した(ステップ1)場合に実行されるステップを更に詳細に示す。ステップ2で、ノードは、返答したクライアント経由でネットワークへのnホップの関連を受け入れるべきかどうかを決定する。もしノードが、nホップの関連を確立することを希望しないと決定すると、それは、関連が全く可能ではない(ステップ3)と推測する(そのとき、ノードは、サーバのためにリクエストを送るプロセスを繰り返してもよい。)
もしノードが、ネットワークへのnホップの関連を受け入れることをステップ2で決定すると、それは、“ブリッジ・クライアント”を通して“サーバ・メッセージ”のためのリクエストを送り(ステップ4)、サーバからのレスポンスを待つ(ステップ5)。もしノードが所定の期間内でレスポンスを受信しないなら、ノードは、関連が全く可能ではない(ステップ3)と推測する(そして、サーバのためにもう一つのリクエストをブロードキャストして本手順を再起動してもよい)。もしノードがクライアントを経由してサーバから返答を受信するなら、新しいノードは、クライアント経由でサーバとのアドレス交渉プロセスを開始する(ステップ6)。
もし新しいノードが図9のステップ1でそのサーバ・リクエストをブロードキャストする場合に、新しいノードがサーバからレスポンスを受信すると、ノードは本提示を受け入れるか、または拒否することができる。新しいノードは、サーバまたはクライアントのどちらから一つ以上の提示メッセージを受信してもよい。しかしながら、新しいノードは、それらに中の一つのみに答えなければならない。上述のように、本発明では、そのような提示は新しいサーバになること、または新しいクライアントになることであり得る。
図11はサーバとの交渉のプロセスを示す。ステップ1で、新しいノードは、(図9のステップ1で送られたサーバ・リクエストに応答して)サーバから返答を受信する。ステップ2で、ノードは、サーバが関連を提示したかどうかを決定し;もしサーバが関連を提示しなかったなら、本プロセスは終了する。関連が提示されたなら、ノードは、本提示がクライアント提示かサーバ提示かをステップ3で決定する。本提示が新しいサーバになることであれば、本ノードは、この提示を受け入れるべきかどうかをステップ4で決定する。もし新しいノードが、本サーバ提示を受け入れることを希望しないなら、ノードはサーバ提示を拒否し(ステップ5);次に、新しいノードは、本サーバ(またはもう一つのサーバ)から、新しいクライアントになるためのアドレスを提示するレスポンスを待ってもよい。
もし新しいノードが、新しいサーバになる提示を受け入れることを決定するなら、それはステップ6で本提示を確認し、最終確認がサーバから受信されたかどうかを見るために待つ。最終確認の受信を決定すると(ステップ7)、新しいノードはその状態をサーバに移し、それをネットワークに関連させたと推測する(ステップ8)。しかしながら、もし新しいノードが、最終確認が受信されなかったとステップ7で決定すると、それは、ネットワークに関連しようとする試みが失敗したと推測する(ステップ9)。
もし新しいノードが、本提示が新しいクライアントになることであるとステップ3で決定すると、ノードは、確認を送って(ステップ6)その興味を確認し、サーバからの最終確認を待つ。ノードがサーバからの最終確認の受信を決定すると、それは、その状態をクライアントに移し、それがネットワークへ関連させられる(ステップ8)と推測する。しかしながら、もし新しいノードがサーバから最終確認を受信しないなら、それは、ネットワークへ関連する試みが失敗したと推測する(ステップ9)。
クライアント構成要素
新しいノードが既存のネットワークに関連したい場合、それは上記で説明した手順に従う。もし新しいノードがサーバとの関連を確立したなら、新しいノードは、クライアントとしてネットワークに関連し、以下の手順で動作を開始する。
本クライアントはユニキャスト、マルチキャストまたはブロードキャスト・メッセージに耳を傾けることを開始する。クライアントを含むことができる通信には三つの可能な形式がある。
第1形式の通信は、すでに構成されたクライアントが、新しいノードが送ったサーバのためのリクエストを受信する場合に起こる。クライアントが新しいノードが送ったサーバのためのリクエストを受信する(図12のステップ1)場合、クライアントは、ネットワークにおいて新しいノードと既存のサーバとの間のブリッジになる可能性を分析する。もしこれが可能であり、クライアントがブリッジになることを決定すれば(図12のステップ2)、クライアントは、サーバとの通信を確立するのに助力を提示する新いノードにメッセージを送る(図12のステップ3)。そうでなければ、クライアントは単に本リクエストを無視し、初期状態に戻る。これがクライアントと新しいノードとの間の通信である。
第2形式の通信は、新しいノードから生じてもよく、“ブリッジ・クライアント”を経由して、それをサーバに転送する必要がある。本メッセージは、サーバへの直接的関連が定めるものと同じものである。相違は、本メッセージをクライアントがサーバに経路指定(転送)する必要があるということであり、それは、新しいノードはサーバに直接到達できないからである。この場合、ブリッジ・クライアントは、本メッセージを受信(図13のステップ1)後、メッセージを単に転送し(図13のステップ2)、初期状態に戻る。これは、ブリッジ・クライアントを経由したサーバとnホップの新しいノードとの間の通信である。
サーバに耳を傾ける場合、クライアントは第3形式の通信を受信する可能性がある。この通信は、新しいサーバになるよう、クライアントへの通知または提示によって使用される。図14は、本メッセージが通知である場合のステップを示す。サーバ通知を受信する(図14のステップ1)場合では、クライアントは通知に単に返答し(図14のステップ3)、初期状態に戻る。もしクライアントが、ある時間制限内にサーバ通知を受信しなかったなら、クライアントは、サーバは死んいると推測し、そのアドレス・リースを強制的に取り消し、またネットワークにおけるそのクライアント・ロールを中止するだろう。また、クライアントは、それがもう一つのクライアントとサーバとの間の通信をブリッジしている(図14のステップ3)かどうかを決定するであろうし、もしそうなら、クライアントはまた、それがブリッジとして動作するクライアントにサーバの通知を転送する(図14のステップ4)。これがサーバとクライアントとの間の通信である。
もしクライアントで受信したメッセージが、サーバになる提示であれば、クライアントは、そのような提示を拒否するか受け入れることができる。図15は、この場合における手順を示す。サーバ提示を受信する場合(図15のステップ1)では、クライアントは本提示を受け入れるかどうかを決定する(図15のステップ2)。幾つかの特定の理由で、もし新しいサーバになることが可能でないなら、クライアントは本提示を拒否するメッセージを送り(図15のステップ3)、初期状態に戻る。しかしながら、クライアントが本提示を受け入れることを決定すると、それは確認メッセージをサーバに送り(図15のステップ4)、最終確認を待つ。最終確認の受信(図15のステップ5)を決定すると、クライアントはサーバにその状態を設定する(図15のステップ6)。しかしながら、クライアントが、事前に設定した期間に最終確認を受信しなかったということをステップ5で決定すると、本提示の受け入れは失効する。
また、クライアントは、そのサーバとのアドレス・リースを取り消すことを決定してもよい。この場合、クライアントは、この時から先、本アドレスを使用しないだろうということを確認するサーバにメッセージを送り、更なる交渉または警告を全く無しに、ネットワークにおけるクライアント・ロールを中止する(図16参照)。
バックアップ
ネットワークにおいて、例えば、もしサーバが機能停止に苦しむことがあったなら、肩代わりできる少なくとも一つのバックアップ・サーバを持つことは、サーバにとって通常である。十分に効果的である自律的ネットワークのためには、それは、ネットワークにおけるサーバにバックアップ・サーバを提供し、サーバが機能停止する場合、バックアップ・サーバが自動的に肩代わりすることができるメカニズムを持たなければならない(しばしばこれは“自己回復”として知られる)。バックアップおよび自己回復メカニズムは、アドレス管理の完全性を保証する目的を持つ。両方とも、サーバまたはリンク通信機能停止のような危機的状況を通過した後にネットワークを回復するよう試みる。本発明の更なる特徴は、サーバのためのバックアップの提供に関する。
望ましくは、ネットワークにおける各サーバは、デフォルトで、二つのバックアップ・サーバを持つだろう。この冗長は、もしサーバとそのバックアップとが機能停止したとしても、回復を保証するためである。機能停止は、従来のネットワークにおいてよりは高度に動的なネットワークにおいて、より可能性がある。2台のバックアップ・サーバは、第1レベルのバックアップと第2レベルのバックアップに分類される。第1レベルのバックアップ・サーバのみがサーバと直接的通信を持つ。第2レベルのバックアップ・サーバは、機能停止を含むネットワーク状態に気付くために、第1レベルのバックアップ・サーバとメッセージを交換する。
バックアップの選択
バックアップ・サーバの選択はサーバによって実行される。サーバはそのクライアントについての状態と安定性情報を持っているので、それは、クライアントの中からそのバックアップを選択するために適当な位置にいる。例として、ネットワークの構成パラメータを取り扱う、より高次のレベルのプロトコルが、クライアントについての情報を集めてもよい、しかし、サーバは、任意の適当な方法でそのバックアップ・サーバを選択してもよく、本発明はどれかの特別の方法に制限されない。
サーバとバックアップとの間の交信
好ましい実施形態では、サーバはそのバックアップ・サーバを選択する責任を持っている。バックアップ・サーバを選択するプロセスは、一般的には、サーバが現存のクライアントにサーバになることを勧誘する場合のそれに類似であり−サーバは、バックアップ・サーバになるようクライアントを勧誘するクライアントにメッセージを送り、もしクライアントがこの提示を受け入れるなら、クライアントはバックアップ・サーバになる。サーバの選択がなされた後、バックアップ・サーバは、サーバとのそれらの関係を管理しなければならない。図17はサーバとそのバックアップ・サーバとの間の基本的関係を提示する。
第1レベルのバックアップ・サーバは、サーバにリクエスト・メッセージを周期的に送り(ステップ1)、サーバの返答を待つ。それがサーバから返答を受信する(ステップ2)場合、第1バックアップ・ノードはまた、第2レベルのバックアップ・サーバに報告メッセージを送る(ステップ3)。このように、第2バックアップはまた、新しい体制(例えば、サーバが行う新しいアドレス割り当て)に気が付く。本報告を送った後、第1レベルのバックアップ・サーバは、第2バックアップ・サーバがまだアクティブであるということを確認するため、第2バックアップ・サーバから返答を期待する(ステップ4)。
バックアップ2のために通信する、可能性のある機能停止のために、特別な考慮がなされる。新しいバックアップを推薦するため、機能停止手順を開始する。第1レベルのバックアップ・サーバが、周期的メッセージ交換を使用して第2レベルのバックアップ・サーバと連絡を保つので、それは、第2バックアップがまだアクティブであるかどうかを特定する責任がある。第2レベルのバックアップ・サーバが、所定の期間の間、第1バックアップ・サーバに全く返答メッセージを送らない場合、第1バックアップ・サーバは、第2バックアップ・サーバは機能停止したか、もはや到達できないと推測し、サーバに本状況を報告する。次に、サーバは第2バックアップ・サーバ位置として動作するよう、もう一つのクライアントを選択し、新しい第2レベルのバックアップ・サーバの役割を担うクライアントの識別(アドレス)について、それを知らせる第1レベルのバックアップ・サーバにメッセージを送る。この方法で、報告メッセージの交換を再開する。
他方、もし第2レベルのバックアップ・サーバは、第1レベルのバックアップ・サーバからの周期的メッセージを受信することを停止すべきであるなら、それは、第1レベルのバックアップ・サーバが機能停止したと推測する。次に、第2レベルのバックアップ・サーバは、第1レベルのバックアップ・サーバの役割を担い、このことをサーバに公表する。その結果、サーバは、もう一つの第2レベルのバックアップ・サーバであろう。
図18は、サーバが機能停止する場合の状況を提示する。
図18のステップ1−4は、図17のステップ1−4に対応し、サーバ、第1バックアップ・サーバおよび第2バックアップ・サーバが正しく動作していることに対応する。サーバが第1レベルのバックアップ・サーバからのメッセージに返答していないか、第1バックアップ・サーバに報告している場合、本サーバが機能停止した可能性がある、ということに第1レベルのバックアップ・サーバは気付く。それ故、ステップ5で、第1レベルのバックアップ・サーバはリクエスト・メッセージをサーバに送るが、サーバは機能停止したので、サーバからの返答を受信しない。サーバ通知の欠如を含め、設定期間でレスポンスを全く受信しない後に、第1レベルのバックアップ・サーバは、サーバが機能停止した(サーバの機能停止よりむしろ通信リンクの機能停止のように、返答の欠如のその他の可能な説明があるけれども)と結論を下し、階層ですぐより高次のレベルのサーバに連絡し、それがサーバの位置を担ったことを通知してもよく、また一方、ステップ7で確認通知する第2バックアップ・サーバに報告する(ステップ6)。より高次のレベルのサーバは、新しいサーバ通知の受信を確認し、それを表示し、また、その返答で前のサーバの機能停止を報告するメッセージを送る(ステップ9)。その結果、第1バックアップ・サーバは第2バックアップ・サーバに、それがサーバの位置を担っているということを知らせ(ステップ10)、第2バックアップ・サーバはステップ11で本通知の受信を確認すべきである。同じ簡単な手順が任意のレベルの機能停止に適用される。より高次のレベルのサーバが欠如している場合、より高次のレベルのサーバとの通信に関する全てのステップを除外する以外は、手順は上記のようになるであろう。
もしステップ9で、その返答でサーバの機能停止を確認しなかったなら、サーバと第1バックアップ・サーバとの間の通信リンクが機能停止したという場合である可能性がある。この場合、サーバ自身は、そのバックアップ・サーバと通信し、新しいバックアップ・サーバの選択をトリガするよう、そのような機能停止を検出してもよい。また、もしより高次のサーバが、ステップ9でその返答でサーバ機能停止を確認しなかったなら、第1レベルのバックアップ・サーバは、それ自身とそのサーバとの間の通信リンクが機能停止したと推測する。その結果、第1レベルのバックアップ・サーバはそのバックアップ役割を停止し、サーバはすでにそのバックアップとして動作する新しいクライアントを選択していると推測する。これは、サーバおよび第1レベルのバックアップ・サーバが同時に回復動作を開始することを防止するはずである。
図19は、サーバとその第1レベルのバックアップがともに機能停止した場合の状況におけるメッセージ・フローを提示する。
図19のステップ1−4は図17のステップ1−4に対応し、サーバ、第1バックアップ・サーバおよび第2バックアップ・サーバが正しく動作していることに対応する。次に、それは、サーバおよび第1バックアップ・サーバが両方とも機能停止するということを仮定している。
第2レベルのバックアップ・サーバは、第1レベルのバックアップ・サーバから報告を周期的に受信するタスクを持ち、ネットワークは正しく動作しており、第1バックアップに返答していると仮定している。もし、所定の期間後、第2バックアップ・サーバが第1バックアップ・サーバから報告を受信しなかったなら、それは、ネットワーク問題の可能性があると推測する。これがその場合かどうかを確認するため、第2バックアップ・サーバは、図19のステップ5で、ネットワーク状況の確認を獲得するため、階層ですぐより高次のサーバに連絡する。もし、ステップ6におけるその返答で、より高次のサーバが、サーバおよび第1バックアップ・サーバが機能停止したということを確認すると、第2レベルのバックアップはサーバの位置を推測し、ステップ7でより高次のサーバに助言し、二つの新しいバックアップ・サーバ(図19には図示せず)を選択する。そうでなければ、もしより高次のサーバが、ステップ6におけるその返答で、機能停止状況を確認しないなら、即ち、サーバおよび/または第1レベルのバックアップ・サーバは依然として動作しているなら、第2バックアップ・サーバは、それはもはやバックアップ・サーバでないと推測する。
図18および19に示したものに加えて、その他の機能停止モードが可能である。例えば、サーバは動作することを継続するが、一つまたは両方のバックアップ・サーバが機能停止する、ということが可能である。この状況では、サーバは、機能停止したサーバを置き換えるため、新しいバックアップ・サーバを選択する責任がある。
もし第1レベルのバックアップ・サーバのみが機能停止するなら、それにもかかわらず、サーバは、第2レベルのバックアップ・サーバとの連絡を失い、その結果それは、両方のバックアップ・サーバが機能停止したと推測し、二つの新しいバックアップ・サーバを選択する手順を開始する。この場合におけるネットワークでまだアクティブである第2バックアップは、再度選択されることができる。
第2レベルのバックアップ・サーバが機能停止する場合では、すでに説明したように、第1レベルのバックアップはサーバに報告を送り、サーバは、第2レベルのバックアップ・サーバの位置を取るため、もう一つのノードを選択する。
第1および第2の両方のレベルのバックアップ・サーバが機能停止する場合、サーバは、そのクライアントについて既にそれが持っている情報に基づき、バックアップ・サーバ・ロールを担うため二つのノードを選択する。
図20は、サーバの機能停止が起こる(ステップ1)場合の状態図を示す。既に説明したように、第1レベルのバックアップ・サーバは置換えサーバになることを好み、もし第1レベルのバックアップ・サーバはステップ2でサーバ・ロールを担うなら、第2レベルのバックアップ・サーバは、ステップ3で、第1レベルのバックアップ・サーバの役割を担い、新しいサーバ(即ち、前の第1レベルのバックアップ・サーバ)は、ステップ4で、新しい第2レベルのバックアップ・サーバを選択する。(もし‘旧’サーバが再び“動作している”のであれば、それは、新しいノードとして処理されるであろう。)
もし第1レベルのバックアップ・サーバが、また機能停止したという理由で、ステップ2で、サーバ・ロールを担わないなら、第2レベルのバックアップ・サーバは、ステップ5で、サーバ・ロールを担ってもよい。もし第1バックアップ・サーバがサーバの役割を担うことができない場合のみ、第2レベルのバックアップはサーバの代わりをするだろう。新しいサーバ(即ち、前の第2レベルのバックアップ・サーバ)は、ステップ6で、新しい第1レベルのバックアップ・サーバを選択し、ステップ4で、新しい第2レベルのバックアップ・サーバを選択する。
更に、もし第2レベルのバックアップ・サーバが、ステップ5で、サーバ・ロールを担わないなら(即ち、もしどちらのバックアップ・サーバとも機能停止したサーバの役割を担うことができないなら)、より高次のレベルのサーバ(もし存在すれば)は、ステップ7で、アドレス指定の責任を引き継ぎ、機能停止したサーバが制御していてプールを管理してもよい。その結果、より高次のサーバは、それと連絡を持つため、ネットワークの機能停止した部分の一部であったサブネットワークを待ち、一方、特定の期間予約したそれらのアドレス割り当てを保つ。もしサブネットワークがこの期間の間により高次のサーバと連絡しないなら、それらのアドレス・プールは“自由な”状態に設定されてもよい。
もしより高次のレベルのバックアップ・サーバが、ステップ7で、サーバ・ロールを担わないなら、これは、ネットワークで重大な問題があるということを表示する可能性があり、恐らくネットワークの破綻につながる(ステップ9)。
図24は、ノードがバックアップ・サーバになる提示を受信するプロセスを示す。最初に、ステップ1で、ノードは(ネットワークのサーバから)、そのサーバに対してバックアップ・サーバ(例えば、第1レベルのバックアップ・サーバまたは第2レベルのバックアップ・サーバ)になる提示を受信する。
ステップ2で、ノードは、バックアップ・サーバになる提示を受け入れるか入れないかを決定する。もしそれが本提示を受け入れないと決定すれば、それは、本提示を拒否することにより、返答する(ステップ3)。
もしノードが、ステップ2で本提示を受け入れることを決定すれば、それは、ステップ4で、バックアップ・サーバとして動作するその意欲の確認をサーバに送って返答する。
ステップ5で、ノードは、バックアップ・サーバになる提示の最終確認をサーバから受信するかどうかを決定する。そのような最終確認が受信されたなら、ノードはバックアップ・サーバの役割を担う(ステップ6)。しかしながら、もしノードが、サーバから提示の最終確認を(例えば、事前設定した期間内で)受信しないなら、それは、もはやサーバはバックアップ・サーバになることをそれに希望しないと推測し、プロセスは終わる。
ネットワークの自己回復
この場合における自己回復は、サーバとそのより高次のレベルのサーバとの間の通信リンクが機能停止し、そのため、サーバが制御するサブネットワークがアドレス制御から孤立させられるが、サーバおよびその下の任意の子サーバの階層が維持され、従って制御ネットワークへの再関連に利用可能である、という状況に関連している。ネットワークの構造内でアドレス情報の完全性を保つため、この状況を好ましく取り扱わなければならない。
図21はネットワークにおけるサーバ階層の例を示す。矢印は親サーバ関係を示し、矢印の先で従属サーバを示し−従って、サーバAはサーバBおよびサーバCの両方の親サーバである。図21に提示したサーバ階層を考慮して、例として、サーバCとその親サーバAとの間で、同様な機能停止が起こる可能性がある。サーバAがサーバCとの通信を失う場合、サーバCはその親サーバと通信できないため、サーバCの下での全体のサブネットワーク体制が脅かされる。好ましい実施形態では、サーバAは、サーバCがネットワークに戻ってくるかも知れないという可能性を直ちに放棄しない。それ故、サーバAは、特別な方法で、サーバCに前に割り当てられたアドレス・プールを処理する。これが必要でないなら、それはアドレス・プールを再割り当てしない。もし、ある時間後、通信リンクがサーバAとサーバCとの間で再び動作を開始するなら、サーバAは、まだサーバCにアドレス・プールを割り当てられているので、同じアドレス構成を保つようCに単に告げてもよい。
しかしながら、サーバAとサーバCとの間の通信リンクが確立されると、それは、例えば、サーバAとサーバCとの間のリンクの長期の機能停止があった場合、サーバCが前に使用したアドレス・プールをサーバAが既に再割り当てしたという場合である可能性がある。この場合では、サーバAは新しい構成情報(即ち、新しいアドレス・プール)をサーバCに送る。サーバCはそれ自身のインタフェースを再構成し、それが率いるサブネットワークに新しいアドレス・プールのアドレスを再割り当てする必要がある。この体制回復プロセスはレベル毎に行われる、即ち、サーバCを構成後、サーバCは、そのすぐの従属サーバ(図21のネットワークにおけるサーバD、EおよびF)に新しい構成を送る。同様に、それらのインタフェースを構成後、サーバDおよびFは、それらのすぐの従属サーバ(サーバHおよびK)に新しい構成を送る。最後に、サーバHは、自分自身を構成後、それらのすぐの従属サーバ(サーバIおよびJ)に新しい構成情報を送り、それによって、ネットワークの回復プロセスを完了する。
サーバの自己回復
アドレス割り当てメカニズムは、好ましくは、アドレスを再使用することを可能にするため、機能停止したサーバからアドレスのプールを回復できるべきである。これを実装する好ましい方法は、全てのサーバ間に基本的通信メカニズムを生成することによってである。この通信を通して、サーバは、それらが既に割り当てたアドレスまたはまだ利用可能なアドレスのプールについて、情報を交換する。上述のアドレス・プール割り当てのメカニズムは、この機能に対して基本的である。全ての“親サーバ”は、その“子サーバ”のそれぞれからの情報で更新されなければならない。サーバ間の関係(親および子)は、図22を参照して説明されるであろう。
図22で、以下のような方法でサーバの階層を構成する:サーバAはサーバAAとサーバABの親であり;サーバAAはサーバAAAとサーバAABに対する親である。その他の全てのノード(C1...C20)はこれらのサーバの一つに対するクライアント・ノードである。図22における太線はサーバとそれらのクライアントとの間の関連を表わす。
その“子サーバ”についての情報を保持することにより、“親サーバ”は、子サーバが機能停止したということを検出すると、子サーバに前に割り当てたアドレス・プールを再推測できる。例えば、図22で、もしサーバAABが機能停止すると、サーバAA(サーバAABの親サーバ)は、サーバAABに前に割り当てられたアドレス・プールを再推測する。
しかしながら、“子サーバ”のアドレス・プールが親サーバによって再推測される場合、親サーバは、好ましくは、子サーバのアドレス・プールにおけるアドレスの幾つかが、同様にその他のサーバに割り当てられてしまっている可能性がある、ということに気付く可能性があり、好ましくは、これらのアドレスを完全には再推測しない。この実施形態は、子サーバが使用中で、親サーバと通信している間、子サーバがどのアドレスをその他のサーバに割り当てるかについての情報を親サーバが受信する、ということを要求する。このように、ネットワークの二つに分割した部分は、同等のアドレス・プールに亘って伝搬しないだろう。例えば、図22で、もしサーバAAが機能停止するなら、サーバAはサーバAAに前に割り当てられたアドレス・プールを取り戻すであろう。しかしながら、この実施形態では、サーバAAの子サーバ(サーバAAAおよびサーバAAB)に割り当てた、このアドレス・プール、即ち、より少ないアドレス・プールの構成要素は、サーバAに再割り当てしたアドレス・プールの一部であるべきではない。即ち、サーバAAに割り当てたが、サーバAAが子サーバに割り当てなかったアドレスのみを取り戻すべきであり−サーバAAがサーバAAAまたはサーバAABに割り当てたということにサーバAが気付くアドレスは、予約されたとして取り扱われ続けるであろうし、サーバAによって取り戻されないであろう。この方法で、本発明は、ネットワークの二つに分割された部分は重畳しないだろう。図22で提示したネットワーク構造に続いて、図23はサーバA、AAおよびAAAのアドレス・プール間の相互作用を提示する。
図23の例では、サーバAのアドレス・プールをサブプールに分割し(図23の左部分を参照)、サブプール1AのアドレスをサーバAのクライアントに直接割り当て、サブプール2AのアドレスをサーバAAに割り当て、サブプール3AのアドレスをサーバABに割り当てる、等である。図23に示された関係とサーバAAが機能停止しているシナリオの両方を考慮すると、サーバAは、サーバAAに前に割り当てたそのアドレス・プール2Aにわたって責任を取り戻さなければならない。
しかしながら、サーバAは、割り当てたアドレス・プールの部分は、サーバAAの責任の下では、更にサーバAAAに割り当てられた、ということに気付かなければならない。これを、図23の中心部分に示す−サーバAAのアドレス・プールをサブプールに分割し、サブプール1AAのアドレスをサーバAAのクライアントに直接割り当て、サブプール2AAのアドレスをサーバAAAに割り当て、サブプール3AAのアドレスをサーバAABに割り当てる、等である。それによって、その第2アドレス・サブプール2Aにわたる制御の責任を取り戻す場合、サーバAは、その他のサーバに再割り当てなかったアドレス・サブプールの一部を管理するのみであってもよく−そうであるから、サーバAは、(サーバAAAに割り当てた)アドレス・サブプール2AAまたは(サーバAABに割り当てた)アドレス・サブプール2ABを管理すべきではない。図23で、もしサーバAAが機能停止するなら、サーバAが再捕捉したプール(RP)のアドレス集合は次のようになるであろう:
RP=(プール#2A)∩(サーバAAが割り当てたプール)
または
RP=(プール#2A)−(サーバAAが割り当てたプール)
図22の方法は、図21の方法の代替案である。図21の方法では、サーバAは、サーバCがサーバD、EおよびFに部分割り当てしたアドレスを含めて、サーバCの機能停止またはサーバCとの通信の損失で、サーバCに割り当てる全てのアドレスを再割り当てする。
サーバ・ブリッジ通信
サーバはまた、ブリッジのように動作できる(しばしば、クライアントは、サーバと1ホップ以上離れたクライアントとの間の通信をブリッジできるけれども)。例えば、新しいノードはサーバAと1ホップの関連を持つが、例えばアドレスの欠如のため、このサーバはもっと多くのクライアントを担うことできず、また、サーバAはもう一つのサーバ(サーバB)との1ホップの関連を持つ場合、それは、新しいノードとサーバBとの間の通信をブリッジすることができる。このシナリオでは、サーバAは、新しいノードが送ったメッセージをサーバBに中継するのみであり、逆も同じである。
もしサーバAがもっと多くのクライアントを担う能力を回復するなら、サーバAは、それと関連するようブリッジされたクライアントに提示でき、それによってサーバに到達するクライアントの必要ホップ数を削減できる。もしクライアントがこの提示を受け入れるなら、サーバAとクライアントとの間で関連を交渉し、確立後、クライアントはサーバBにリースを取り消すメッセージを送る。
サーバ変更
サーバAに既に関連しているクライアントが、第2サーバ、サーバBからブロードキャスト通知を受信し、サーバBがサーバAより近い(即ち、サーバAより少ないホップ数でサーバBに到達できる)ということを確認する場合、クライアントはそのサーバを変更するよう選択できる。これが起こるシナリオは、過負荷のサーバが、そのクライアントの一つ(望ましくは、1ホップ以上は離れているクライアント)とその作業負荷を分割することを決定する場合である。選択されたクライアントがサーバになると、それが取る第1の動作は、ネットワークに自分自身を通知することである。その現在のサーバよりこの新しいサーバに近いノードは、新しい関連を交渉して、そのサーバをサーバBに変更するよう選択できる。
本発明の方法を任意の動的ネットワーク(即ち、ノードが徐々にネットワークに加わり、退くネットワークである)に適用してもよい。
図25は、本発明のネットワーク・ノードを示す。ネットワーク・ノード10はサーバとして動作すると示され、ネットワーク14を経由して一つ以上のクライアント11−13に関連する。ネットワーク・ノード10はアドレス・テーブル15を持ち、それは、ネットワーク10に現在割り当てられた全てのネットワークアドレスを含み、アドレスの状態−例えば、アドレスが“自由”、“割り当て済み”または“予約済み” (ここで、“予約済み”は、ネットワーク・ノード10が現在、そのアドレスをもう一つのノードに提示するプロセスにあるということを表示する)であるかどうか、を表示する。
ネットワーク・ノード10は、例えばキャッシュ・テーブルの形式で、ブラックリスト16を更に持っている。これは、例えば、ネットワーク10が前にリクエストを(例えば図3のステップ3で)拒否したノードのリストである。
ネットワーク・ノードには、プール・テーブル17を更に備える。これは、例えば、ネットワーク・ノードがその他のサーバに更に割り当てたアドレス・プールについての情報を保持するために使用されてもよく−例として、ネットワーク・ノードが子サーバに割り当て、同様に子サーバが一つ以上のその子サーバに割り当てたアドレス・プールについての情報を含んでいる(例えば、図23に示すように)。もし子サーバが機能停止するか、子サーバとの通信が失われ、ネットワーク・ノード10が子サーバに割り当てるアドレスを取り戻すよう要求されるなら、それは、子サーバに割り当て、子サーバがその子サーバの一つに更に割り当てなかったアドレスのみを取り戻す、図22の方法を実行するために、プール・テーブルの情報を使用してもよい。
ネットワーク・ノード10は、本発明の方法を実行するために、適当にプログラムされている。ネットワーク・ノードは、例えば、ネットワーク・ノードのプロセッサ(図示せず)上で実行した場合、プロセッサが本発明の方法を実行できる命令を含む、コンピュータ読み取り可能な媒体を使用して、プログラムされていてもよい。或いは、ネットワーク・ノードは、ネットワーク11を経由して、または製造時にプログラムされていてもよい。

Claims (25)

  1. ネットワークにおけるアドレス割り当ての方法であって、
    ノード間の交渉から、クライアントへのネットワークアドレスの分配および管理に対して責任があるサーバ・ロールを第1ノードが担うか否かを決定するステップと、
    前記第1ノードがサーバ・ロールを担うと決定されたとき、前記第1ノードにネットワークアドレス・プールを提供するステップと、
    を含むことを特徴とする方法。
  2. 前記第1ノードがサーバ・ロールを担うと決定されたとき、前記ネットワークのサーバ・ノードが前記第1ノードに前記ネットワークアドレス・プールを提供する
    ことを特徴とする請求項1に記載の方法。
  3. 前記決定は、
    前記ネットワークの開始時、
    前記第1ノードが前記ネットワークへの関連を要求したとき、
    前記ネットワークのサーバ・ノードが過負荷になったとき、
    前記ネットワークのサーバ・ノードが前記ネットワークを離脱するとき、
    の何れかの場合に実行される
    ことを特徴とする請求項1又は2に記載の方法。
  4. 前記決定は、前記第1ノードが前記ネットワークに関連したときに実行され、
    前記方法は、前記第1ノードがサーバ・ロールを担わないと決定されたとき、前記第1ノードに前記ネットワークのクライアント・ロールを提示するステップを更に含む
    ことを特徴とする請求項1又は2に記載の方法。
  5. 前記第1ノードは、前記ネットワークのクライアント・ノードである
    ことを特徴とする請求項1又は2に記載の方法。
  6. 前記第1ノードがサーバ・ロールを担うと決定されたとき、
    引き続いて、前記第1ノードに更なるネットワークアドレス・プールを提供するステップを含む
    ことを特徴とする請求項1乃至3,5の何れか一項に記載の方法。
  7. 前記サーバ・ノードが、前記第1ノードが前記サーバ・ロールをもはや実行していないという指標を受信すると、引き続いて、前記第1ノードが前記サーバ・ロールを担うときに前記第1ノードに提供された前記ネットワークアドレス・プールに対する責任を取り戻すステップを含む
    ことを特徴とする請求項2,請求項2に従属する場合の請求項3,5,6の何れか一項に記載の方法。
  8. 前記サーバ・ノードは、前記ネットワークアドレス・プールに対する責任を取り戻す前に、前記第1ノードが前記サーバ・ロールをもはや実行していないという指標を受信した後、所定の期間待機する
    ことを特徴とする請求項7に記載の方法。
  9. 前記サーバ・ノードは、前記第1ノードが1以上の更なるサーバに割り当てた第1のアドレスプールのアドレスに対する責任を取り戻さない
    ことを特徴とする請求項7又は8に記載の方法。
  10. 前記第1ノードがサーバ・ロールを担うと決定されたとき、
    前記方法は、前記第1ノードが、引き続いて、前記ネットワークの少なくとも1つのノードをバックアップ・サーバとして選ぶ
    ことを特徴とする請求項1乃至3,5乃至9の何れか一項に記載の方法。
  11. 前記第1ノードは、該第1ノードのクライアント・ノードの少なくとも1つをバックアップ・サーバとして選ぶ
    ことを特徴とする請求項9に記載の方法。
  12. ネットワークにノードを関連付ける方法であって、
    前記ノードから前記ネットワークに関連リクエストを送信するステップと、
    前記ノードが、前記ネットワークのノードからの応答を受信するステップと、
    前記ノードが、前記受信された応答が前記ネットワークのクライアント・ノードからの応答であるか前記ネットワークのサーバ・ノードからの応答であるかを決定するステップと、
    前記受信された応答に従って、クライアントとして又はサーバとして前記ネットワークに関連するステップと、
    を含むことを特徴とする方法。
  13. 前記ノードが前記ネットワークのサーバ・ノードからの応答を受信したとき、前記ノードと前記サーバ・ノードとの間の交渉から決定されたように、前記ノードはクライアントとして又はサーバとして前記ネットワークに関連する
    ことを特徴とする請求項12に記載の方法。
  14. 前記ノードが前記ネットワークのサーバ・ノードからの応答を受信せず前記ネットワークのクライアント・ノードから応答を受信したとき、前記ノードはnホップ・クライアントとして前記ネットワークに関連する
    ことを特徴とする請求項12に記載の方法。
  15. 前記ノードはサーバとして前記ネットワークに関連し、
    前記方法は、前記ノードが、クライアントを構成するためのネットワークアドレス・プールを受信するステップを更に含む
    ことを特徴とする請求項13に記載の方法。
  16. ネットワークノードであって、
    ノード間の交渉から、クライアントへのネットワークアドレスの分配および管理に対して責任があるサーバ・ロールを第1ノードが担うか否かを決定し、
    前記第1ノードがサーバ・ロールを担うと決定されたとき、前記第1ノードにネットワークアドレス・プールが提供されるように手配する
    のに適している
    ことを特徴とするネットワークノード。
  17. 前記第1ノードがサーバ・ロールを担うと決定されたとき、前記ネットワークノードは前記第1ノードに前記ネットワークアドレス・プールを提供するのに適している
    ことを特徴とする請求項16に記載のネットワークノード。
  18. 前記ネットワークの開始時、
    前記第1ノードが前記ネットワークへの関連を要求したとき、
    前記ネットワークのサーバ・ノードが過負荷になったとき、
    前記ネットワークのサーバ・ノードが前記ネットワークを離脱するとき、
    の何れかの場合に前記決定を実行するのに適している
    ことを特徴とする請求項16又は17に記載のネットワークノード。
  19. 前記第1ノードが前記ネットワークに関連したときに前記決定を実行し、
    前記第1ノードがサーバ・ロールを担わないと決定されたとき、前記第1ノードに前記ネットワークのクライアント・ロールを提示する
    のに更に適している
    ことを特徴とする請求項16又は17に記載のネットワークノード。
  20. 前記ネットワークノードは、前記第1ノードがサーバ・ロールを担うと決定されたとき、引き続いて、前記第1ノードに更なるネットワークアドレス・プールを提供するのに適している
    ことを特徴とする請求項16乃至18の何れか一項に記載のネットワークノード。
  21. ネットワークノードであって、
    ネットワークに関連リクエストを送信し、
    前記ネットワークのノードから応答を受信し、
    前記受信された応答が前記ネットワークのクライアント・ノードからの応答であるか前記ネットワークのサーバ・ノードからの応答であるかを決定し、
    前記受信された応答に従って、クライアントとして又はサーバとして前記ネットワークに関連する、
    のに適している
    ことを特徴とするネットワークノード。
  22. 前記ネットワークのサーバ・ノードからの応答を受信したとき、前記ネットワークノードと前記サーバ・ノードとの間の交渉から決定されたように、クライアントとして又はサーバとして前記ネットワークに関連するのに更に適している
    ことを特徴とする請求項21に記載のネットワークノード。
  23. 前記ネットワークノードが前記ネットワークのサーバ・ノードからの応答を受信せず前記ネットワークのクライアント・ノードから応答を受信したとき、nホップ・クライアントとして前記ネットワークに関連するのに更に適している
    ことを特徴とする請求項21又は22に記載のネットワークノード。
  24. 前記ネットワークノードはサーバとして前記ネットワークに関連するとき、クライアントを構成するためのネットワークアドレス・プールを受信するのに更に適している
    ことを特徴とする請求項22に記載のネットワークノード。
  25. プロセッサにより実行されるとき、ネットワークノードに請求項1乃至15の何れか一項に記載の方法を実行させる命令を格納したコンピュータ可読媒体。
JP2011546619A 2009-01-22 2009-01-22 ネットワークにおけるアドレス割り当て Expired - Fee Related JP5414807B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2009/050732 WO2010083887A1 (en) 2009-01-22 2009-01-22 Address allocation in a network

Publications (2)

Publication Number Publication Date
JP2012516087A true JP2012516087A (ja) 2012-07-12
JP5414807B2 JP5414807B2 (ja) 2014-02-12

Family

ID=41438416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011546619A Expired - Fee Related JP5414807B2 (ja) 2009-01-22 2009-01-22 ネットワークにおけるアドレス割り当て

Country Status (6)

Country Link
US (1) US9577870B2 (ja)
EP (1) EP2389751A1 (ja)
JP (1) JP5414807B2 (ja)
CN (1) CN102292963B (ja)
BR (1) BRPI0924228A2 (ja)
WO (1) WO2010083887A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013539950A (ja) * 2010-10-15 2013-10-28 マーベル ワールド トレード リミテッド ネットワークアドレスの割り当て

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025790B (zh) * 2009-09-23 2013-12-18 中兴通讯股份有限公司 地址分配方法、装置和系统
US20130268801A1 (en) * 2010-12-10 2013-10-10 Nec Corporation Server management apparatus, server management method, and program
CN102118319B (zh) * 2011-04-06 2013-09-18 杭州华三通信技术有限公司 流量负载均衡方法和装置
US8572231B2 (en) 2011-07-14 2013-10-29 Google Inc. Variable-length nonce generation
EP2637386A1 (en) * 2012-03-05 2013-09-11 Alcatel Lucent Method and device for improving subscribers privacy in ip communications networks
CN102624745B (zh) 2012-04-10 2015-01-28 中兴通讯股份有限公司 一种路径计算单元通信协议会话建立方法及装置
CN102769934B (zh) * 2012-04-12 2015-05-20 中兴通讯股份有限公司 基于ppp协议保障传输层链路的方法及系统
US9678801B2 (en) * 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US20140280800A1 (en) * 2013-03-14 2014-09-18 Alcatel-Lucent Bell Labs France Apparatus and method to maintain consistent operational states in in cloud-based infrastructures
US9772855B1 (en) * 2013-12-23 2017-09-26 EMC IP Holding Company LLC Discovering new backup clients
US10148559B2 (en) * 2014-04-24 2018-12-04 Hewlett Packard Enterprise Development Lp Method and system for handling failure in a coordinated multicast streaming system
US10075410B2 (en) 2015-05-18 2018-09-11 Marvell World Trade Ltd. Apparatus and methods for assigning internetwork addresses
US10051688B1 (en) 2015-05-28 2018-08-14 Marvell International Ltd. Bridging wireless network traffic
US20180013618A1 (en) * 2016-07-11 2018-01-11 Aruba Networks, Inc. Domain name system servers for dynamic host configuration protocol clients
CN107787022B (zh) 2016-08-26 2023-07-07 马维尔亚洲私人有限公司 无线节点的远程配置和管理的方法与装置
CN109120729A (zh) * 2017-06-23 2019-01-01 中国电信股份有限公司 地址分配管理方法、6LoWPAN网关和系统
WO2019204292A1 (en) * 2018-04-16 2019-10-24 Lexmark International, Inc. System and methods for changing addresses of one or more components
CN109917742A (zh) * 2019-03-25 2019-06-21 北京龙鼎源科技股份有限公司 可编程逻辑控制器plc系统、数据上传方法
CN112165735B (zh) * 2020-09-26 2021-06-11 杭州雅观科技有限公司 一种云端一体的Wi-Fi设备自组网方法
US11637808B2 (en) * 2021-04-22 2023-04-25 Centurylink Intellectual Property Llc Generation and use of micro-pools to assign an IP address to a requesting computing device
CN114827017B (zh) * 2022-03-31 2024-01-30 北京声智科技有限公司 Kafka集群的通信方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143157A (ja) * 2001-11-05 2003-05-16 Toshiba Kyaria Kk 通信システム、マスタ、スレーブ、macアドレスサーバ及び通信方法
JP2004146988A (ja) * 2002-10-23 2004-05-20 Sony Corp 通信処理装置、およびアドレス設定方法、並びにコンピュータ・プログラム
JP2006501777A (ja) * 2002-10-01 2006-01-12 インターディジタル テクノロジー コーポレイション 制御されたwtruピア・ツー・ピア通信を有する無線通信の方法およびシステム
JP2007505588A (ja) * 2003-05-28 2007-03-08 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. アドホック無線ネットワーク用のupnp端末
JP2008017279A (ja) * 2006-07-07 2008-01-24 Fujitsu Ltd アドホックネットワークの通信制御方式

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1233135C (zh) * 2002-06-22 2005-12-21 华为技术有限公司 一种动态地址分配中防止ip地址欺骗的方法
CN1251110C (zh) 2002-12-31 2006-04-12 联想(北京)有限公司 机群中节点负载信息传递及节点存活检测的方法
GB2398704B (en) * 2003-02-21 2005-07-06 Toshiba Res Europ Ltd Address autoconfiguration in ad hoc networks
KR100667333B1 (ko) * 2004-12-16 2007-01-12 삼성전자주식회사 홈 네트워크에서 디바이스 및 사용자 인증 시스템 및 방법
US7961724B2 (en) * 2005-03-18 2011-06-14 Qualcomm Incorporated Dynamic media access control (MAC) address assignment
US7903647B2 (en) * 2005-11-29 2011-03-08 Cisco Technology, Inc. Extending sso for DHCP snooping to two box redundancy
WO2007113442A1 (fr) * 2006-03-31 2007-10-11 France Telecom Procede pour organiser un reseau d'objets communicants et objet communicant pour la mise en oeuvre du procede
CN101141489A (zh) * 2007-05-18 2008-03-12 中兴通讯股份有限公司 一种终端地址自动分配方法、终端和网络侧服务器
CN101090309A (zh) * 2007-07-18 2007-12-19 杭州华三通信技术有限公司 一种实现dhcp服务冗余的方法及dhcp服务器
KR101410619B1 (ko) * 2007-09-28 2014-06-23 삼성전자주식회사 지그비 네트워크 시스템 및 지그비 네트워크 시스템에서아이피 어드레스를 할당하는 방법
US8295204B2 (en) * 2008-02-22 2012-10-23 Fujitsu Limited Method and system for dynamic assignment of network addresses in a communications network
US20090276520A1 (en) * 2008-05-05 2009-11-05 Lockheed Martin Corporation Method and apparatus for server election, discovery and selection in mobile ad hoc networks
US20100091684A1 (en) * 2008-10-10 2010-04-15 Robert Lee Winter System and Method for Discovery of Dynamically Assigned Information Handling System IP Addresses

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143157A (ja) * 2001-11-05 2003-05-16 Toshiba Kyaria Kk 通信システム、マスタ、スレーブ、macアドレスサーバ及び通信方法
JP2006501777A (ja) * 2002-10-01 2006-01-12 インターディジタル テクノロジー コーポレイション 制御されたwtruピア・ツー・ピア通信を有する無線通信の方法およびシステム
JP2004146988A (ja) * 2002-10-23 2004-05-20 Sony Corp 通信処理装置、およびアドレス設定方法、並びにコンピュータ・プログラム
JP2007505588A (ja) * 2003-05-28 2007-03-08 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. アドホック無線ネットワーク用のupnp端末
JP2008017279A (ja) * 2006-07-07 2008-01-24 Fujitsu Ltd アドホックネットワークの通信制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013539950A (ja) * 2010-10-15 2013-10-28 マーベル ワールド トレード リミテッド ネットワークアドレスの割り当て

Also Published As

Publication number Publication date
CN102292963A (zh) 2011-12-21
US20110282998A1 (en) 2011-11-17
BRPI0924228A2 (pt) 2016-01-26
EP2389751A1 (en) 2011-11-30
CN102292963B (zh) 2015-07-01
JP5414807B2 (ja) 2014-02-12
WO2010083887A1 (en) 2010-07-29
US9577870B2 (en) 2017-02-21

Similar Documents

Publication Publication Date Title
JP5414807B2 (ja) ネットワークにおけるアドレス割り当て
JP5153888B2 (ja) 接続を確立する方法
US8250184B2 (en) System, network entities and computer programs for configuration management of a dynamic host configuration protocol framework
US9516068B2 (en) Seamless host migration based on NAT type
EP2501083B1 (en) Relay node, distributed network of relay node and networking method thereof
US20100046363A1 (en) Methods for managing an election of a cluster head in ad hoc mobile communication network and systems thereof
US20120221700A1 (en) System, Method and Program for Telecom Infrastructure Virtualization and Management
JP4902634B2 (ja) 移動通信システムにおけるハンドオーバーのための移動性管理プロトコル情報の移動端末への提供方法
WO2019184285A1 (zh) 通信设备、节点的连接方法、存储介质、电子装置
US20060193330A1 (en) Communication apparatus, router apparatus, communication method and computer program product
US8036174B2 (en) Wireless multicasting service method using relayed transmission scheme
US10686752B2 (en) Methods for configuring and managing an IP network, corresponding devices and computer programs
US8799434B2 (en) System and method for establishment of a client/server type relationship in a peer-to-peer network
EP1655928A1 (en) Method and apparatus for allocating a unique identifier to a network node
CN101557335B (zh) 控制节点加入对等网络的方法和装置
WO2012167710A1 (zh) 一种具备异构节点的网络中业务备份的方法和系统
CN111630814B (zh) 由第一装置与第二装置自动设立符合动态路由协议的会话的方法
US8135859B1 (en) System and method for providing infrastructure services without a designated network manager
JP7478886B2 (ja) 基地局管理システム、および、方法
WO2012175006A1 (zh) 基于点对点的网络管理方法及代理选择服务器
Gomes Inter domain negotiation
CN117729591A (zh) 虚拟网络组通信方法、smf网元、设备及存储介质
Mutanga et al. An IP address Space Management Model for Wireless Ad-Hoc Networks
Kim et al. Adaptive Partition-Based Address Allocation Protocol in Mobile Ad Hoc Networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414807

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees