Nothing Special   »   [go: up one dir, main page]

JP5078357B2 - ピアの発見 - Google Patents

ピアの発見 Download PDF

Info

Publication number
JP5078357B2
JP5078357B2 JP2006538621A JP2006538621A JP5078357B2 JP 5078357 B2 JP5078357 B2 JP 5078357B2 JP 2006538621 A JP2006538621 A JP 2006538621A JP 2006538621 A JP2006538621 A JP 2006538621A JP 5078357 B2 JP5078357 B2 JP 5078357B2
Authority
JP
Japan
Prior art keywords
network
peer
address
peers
terminal set
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.)
Expired - Fee Related
Application number
JP2006538621A
Other languages
English (en)
Other versions
JP2007511144A (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 JP2007511144A publication Critical patent/JP2007511144A/ja
Application granted granted Critical
Publication of JP5078357B2 publication Critical patent/JP5078357B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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/5046Resolving address allocation conflicts; Testing 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/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0063Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer where the network is a peer-to-peer network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • 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
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Description

本願は、参照によりその内容が本明細書に組み込まれている、2003年11月12日に出願された優先権仮出願第60/518646号の利益を主張する。
本発明は、通信ネットワーク内でのピアの発見に関する。
多くの知られている回線交換(circuit−switched)またはパケット交換電話ソリューションでは、集中型の装置(たとえば、スイッチまたは構内交換機(PBX))が、呼の終了、呼の処理、交換、および/または呼の対応機能を提供する。大規模なシステムでは、中央装置が、コンピュータに電話セットを接続するライン・カードと呼ばれる回路基板上でいくつかの機能を制御する、強力なコンピュータであることもある。小規模なシステム(たとえば、端末セットが10個以下のシステム)では、中央の知能(intelligence)が実際に、中央の処理装置を保持するように特別に設計された「黄金の」電話セット内に所在していることもある。
中央装置のとる形態に関わらず、いくつかの端末セット(たとえば、有線または無線電話セット)は通常、中央装置に接続される。中央装置と比較すると、端末セットは通常「ダム(dumb)」デバイスである。すなわち、端末セットは単に、フック・スイッチ情報およびキー・プレス(たとえば、デュアル・トーン多周波数すなわちDTMFトーン)を中央装置に送信し、ダイヤル・トーン、呼出音、音声信号など、中央装置からの信号を音に(あるいは、場合によっては画像またはビデオに)変換することしかできない。端末セットは通常、他のどんな端末セットの存在にも気付かず、別の端末セットとそれ自体を相互接続する固有の能力を有していない。
集中型電話システムでは、ネットワーク内での電話セットの管理および発見は通常、中央装置によって実施される。たとえば、従来の回線交換型の時分割多重(TDM)電話システムでは、各端末セットが、たとえば中央の呼処理装置上のポートに接続されることがある。典型的には、各端末セットは、電源投入時に発生する初期化シーケンスの一部として、それ自体の使用可能性を中央装置に告知する。中央装置は、新しい端末セットが接続されたときのかかる告知の有無について各ポートを監視し、したがって新たに追加された端末セットを「発見」することができる。
集中型のボイス・オーバ・インターネット・プロトコル(IP)すなわちVoIP電話システムでは、これと非常に似てはいるがやや複雑化した手続きが利用されるものの、端末セットは依然として、ネットワークを介してそれ自体の使用可能性を中央の呼処理装置に告知する。当技術分野で知られているように、VoIPは、IPに基づくデータ・ネットワークを介して呼を送出する。通信は、パケット・データの形をとっており、したがって、回線交換ネットワークの場合のような固定式の接続は存在しない。通信するのは、テキスト、音声、グラフィック、あるいはビデオであってもよい。IP装置は、相互運用可能なように、H.323やセッション開始プロトコル(SIP)のような標準に準拠していることがある。H.323標準には一般に、端末、ネットワーク装置、およびサービスの間でのマルチメディア通信がどのように発生するかが記述されている。SIP標準は、インターネットを介するマルチメディア・セッションをセット・アップし、変更し、解体するための技術要件をカバーする。本明細書で使用する「呼」という用語は、2つのエンド・ポイント間でのマルチメディア通信を指し、また、音声電話を含む。
中央装置が回線交換型であるのかそれともパケット交換型であるのかに関わらず、新しい端末セットを発見する過程の中で、中央装置は通常、ネットワーク・アドレスの形の加入者電話番号(Directory Number:DN)の割当ておよび管理を自動的に行うことになる。DNは、たとえばPBXの内線であってもよい。DNは、個々のセットに割り当てられると、中央装置の維持しているDNのリストに加えられる。呼出し元の端末セットからDNが転送されたときに、集中型の装置が呼び出すべき物理的な端末セットの識別を判定できることが、この集中型のリストに基づいているだけであることが多い。
優先権仮出願第60/518646号 Request For Comments(RFC)editor's queueの、「draft−ietf−zeroconf−ipv4−linklocal−17.txt」 「Host extensions for IP Multicasting」と題するRFC 1112
提供されるポート数(たとえば、電話端子)および処理能力(たとえば、処理装置のタイプおよび速度)の制限の故に、集中型の装置は通常、対応できるユーザの数および提供できる呼処理能力の量に上限がある。顧客は、自身の現在の装置におけるポート数および/または呼処理に必要な能力が足りなくなると、より大規模な中央装置にアップグレードしたいと望むこともある。不都合なことに、かかるアップグレードには通常かなりのコストがかかり、足かせとなる可能性もある。
より高い処理能力に伴うコストおよびメモリが減少し続けるに従い、ネットワークに接続されるあらゆる電話セットに呼処理エンジンを含めることが、実現可能になってきている。かかるシステムでは、中央装置を排除することが望ましいかもしれない。かかる非集中型(decentralized)システムは、分散型電話システムと呼ばれることもある。
不都合なことに、端末セットの発見を対象とする上述の手法は、集中型の装置が存在し得ないことから、非集中型システムには不適当である。
したがって、分散型電話システムでは、端末セットまたは他の形態のネットワーク装置の発見に関する代替的な様式が、望ましいはずである。より一般的には、分散型マルチメディア通信システムなどのピア・ツー・ピア・システム内での端末セットまたは他の形態のネットワーク装置の発見に関する様式が、望ましいはずである。
あるピアがピア・ツー・ピア・ネットワークに最初に接続するときには、そのピアは、ネットワークへのそれ自体の接続を他のピアに通知する。ピアは、他のピアからの存在通知を受信し、それらを使用してネットワーク上のピアのリストを作成することができ、このリストは、各ピアの一意の識別子によってソートすることができる。見込まれる(prospective)ネットワーク・アドレスが、たとえばソート済みのリスト内でのピアの順序位置に基づいて選択される。衝突検査によって、見込まれるネットワーク・アドレスと、他のピアのネットワーク・アドレスとの間の衝突が解決される。各ピアは、たとえば新しいピアがそのアドレスを主張するのを防ぐために、他のピアにそれ自体のネットワーク・アドレスを周期的に通知することができる。あるピアが非アクティブ状態になったときは、それを検出した別のピアが、その切断されたピアのアドレスが既に主張されている旨を、残りのピアに周期的に通知することを開始することができる。ピアは、ボイス・オーバIP電話セットでもよく、ネットワーク・アドレスは、加入者電話番号でもよい。
本発明の一態様によれば、複数のネットワーク装置のうちの1つのネットワーク装置において、存在通知を送信する工程と、1つまたは複数の他のネットワーク装置から1つまたは複数の存在通知を受信する工程と、受信された前記存在通知に基づいて、前記1つのネットワーク装置の見込まれるネットワーク・アドレスを選択する工程とを含む方法が、提供される。
本発明の他の態様によれば、第1のネットワーク装置と、第2のネットワーク装置と、少なくとも1つの他のネットワーク装置とを含むネットワークにおいて、前記第1のネットワーク装置のネットワーク・アドレスを維持する方法であって、前記第2のネットワーク装置において、前記第1のネットワーク装置の前記ネットワーク・アドレスを維持する工程と、前記第1のネットワーク装置が非アクティブ状態にあると判定されたときは、前記第1のネットワーク装置の前記ネットワーク・アドレスが主張されている旨を、前記少なくとも1つの他のネットワーク装置に通知する工程とを含む方法が、提供される。
本発明の他の態様によれば、ネットワーク装置において使用される、第1の状態と第2の状態とを含む状態マシンを維持する工程を含む方法であって、前記第1の状態は、前記ネットワーク装置が見込まれるネットワーク・アドレスを選択したことを示し、前記第2の状態は、前記ネットワーク装置が前記見込まれるネットワーク・アドレスをそれ自体のネットワーク・アドレスとして主張したことを示す方法が、提供される。
本発明の他の態様によれば、1つまたは複数の他のネットワーク装置と共に使用されるネットワーク装置であって、前記ネットワーク装置と前記他のネットワーク装置とが、累積的に複数のネットワーク装置を形成し、存在通知を送信し、前記他のネットワーク装置から1つまたは複数の存在通知を受信し、受信された前記存在通知に基づいて、前記ネットワーク装置の見込まれるネットワーク・アドレスを選択するように適合されたネットワーク装置が、提供される。
本発明の他の態様によれば、非アクティブ状態のネットワーク装置と少なくとも1つの他のネットワーク装置とを含むネットワークに接続されるネットワーク装置であって、前記非アクティブ状態のネットワーク装置の前記ネットワーク・アドレスを維持し、前記非アクティブ状態のネットワーク装置が非アクティブ状態にあると判定されたときは、前記非アクティブ状態のネットワーク装置の前記ネットワーク・アドレスが主張されている旨を、前記少なくとも1つの他のネットワーク装置に通知するように適合されたネットワーク装置が、提供される。
本発明の他の態様によれば、第1の状態と第2の状態とを含む状態マシンを維持するように適合されたネットワーク装置であって、前記第1の状態は、前記ネットワーク装置が見込まれるネットワーク・アドレスを選択したことを示し、前記第2の状態は、前記ネットワーク装置が前記見込まれるネットワーク・アドレスをそれ自体のネットワーク・アドレスとして主張したことを示すネットワーク装置が、提供される。
本発明の他の態様によれば、複数のネットワーク装置のうちの1つのネットワーク装置での実行を対象とするマシン実行可能なコードを含むマシン可読媒体であって、存在通知を送信するためのマシン実行可能なコードと、1つまたは複数の他のネットワーク装置から1つまたは複数の存在通知を受信するためのマシン実行可能なコードと、受信された前記存在通知に基づいて、前記1つのネットワーク装置の見込まれるネットワーク・アドレスを選択するためのマシン実行可能なコードとを備えるマシン可読媒体が、提供される。
本発明の他の態様によれば、非アクティブ状態のネットワーク装置と、少なくとも1つの他のネットワーク装置とを含むネットワーク内のネットワーク装置での実行を対象とするマシン実行可能なコードを含むマシン可読媒体であって、前記非アクティブ状態のネットワーク装置の前記ネットワーク・アドレスを維持するためのマシン実行可能なコードと、前記非アクティブ状態のネットワーク装置が非アクティブ状態にあると判定されたときは、前記非アクティブ状態のネットワーク装置の前記ネットワーク・アドレスが主張されている旨を、前記少なくとも1つの他のネットワーク装置に通知するためのマシン実行可能なコードとを含むマシン可読媒体が、提供される。
本発明の他の態様によれば、ネットワーク装置によって実行されたとき、前記ネットワーク装置が第1の状態と第2の状態とを含む状態マシンを維持するようになる、マシン実行可能なコードを格納するマシン可読媒体であって、前記第1の状態は、前記ネットワーク装置が見込まれるネットワーク・アドレスを選択したことを示し、前記第2の状態は、前記ネットワーク装置が前記見込まれるネットワーク・アドレスをそれ自体のネットワーク・アドレスとして主張したことを示すマシン可読媒体が、提供される。
本発明の他の諸態様および特徴は、本発明の特定の諸実施形態に関する以下の説明を添付の図面と併せて考察すれば、当業者には明らかとなるであろう。
ここで、本発明の例示的な諸実施形態を、添付の図面を参照して説明する。
概要として、中央のルーティングまたはスイッチング装置のない例示的な分散型電話システムでは、ある種の特徴が望ましいはずである。1つの望ましい特徴は、端末セットのネットワークへの初期接続時に、好ましくは、ネットワーク内の様々な端末セットの選出する各DN間の衝突を最小限に抑えようと試みることにより、各端末セットに一意のDNを自動的に割り当てることができる能力であるかもしれない。他の望ましいまたは義務的な特徴は、各端末セットが他の端末セットに電話をかけることができるように、ネットワークに接続されている他のあらゆる端末セットのDNを各端末セットが認識していることを保証することである。他の望ましい特徴は、ネットワークからの端末セットの切断が生じ、あるいは端末セットの電力の消失が生じたときにも(これらはいずれも端末セットを「非アクティブ状態」にする)、その端末セットに割り当てられたDNを保存することができる能力である。DNを保存する動機は、(たとえば、端末セットとネットワークの間の接続障害、単純な電力の消失、または圏外への無線端末セットの移動を原因とする)ネットワークからの端末セットの一時的な切断の結果として、非アクティブ状態の端末セットのDNが再び割り当てられるのを防ぐためであるかもしれない。この再割当ては、どの端末セットが呼び出されたのかについて呼出し側に混乱を招く可能性がある。
これらの特徴をサポートするために、本発明の一実施形態における例示的な端末セットは(たとえば、電話セット、携帯情報端末(PDA)、パーソナル・コンピュータ(PC)、無線端末、シン・トランク・インターフェイス(TTI)、または他のネットワーク装置)、「購入時のままの(factory fresh)」(すなわち、未構成の)状態で最初にネットワークに接続するときには、ネットワーク接続通知を用いて、それ自体のネットワークへの接続をネットワーク上のその他の端末セット(それ自体の「ピア」)に通知する。ネットワーク接続通知は、端末セットに関連する一意の識別子を、たとえば媒体アクセス制御(MAC)アドレスなどを含む。当技術分野で知られているように、MACアドレスは、ネットワーク装置用の一意の識別子として働く、一意のハードウェア・アドレスまたはハードウェア番号である。ネットワーク接続通知は、「I_AM_HERE」メッセージの形をとることができ、このメッセージは、(本発明の一実施形態のような場合では、少なくともその他のピアから各受信メッセージについての肯定応答が送信されない場合には)それが受信される可能性を高めるために複数回にわたって送信される。
また、新たに接続された端末セットは、他の端末セットからの存在通知(existence notification)を受信する。存在通知は、現在ネットワーク上に所在し(すなわち、アクティブであり、ネットワークに接続されている)、あるいは以前ネットワーク上に所在した(すなわち、以前はアクティブな状態にあって接続もされていたが、今は切断状態となり、非アクティブである)端末セットの存在に関する指示(indication)である。この実施形態では、存在通知は、「I_AM_HERE」メッセージ(先に説明した)、「PEER_ASSERT」メッセージ(以下で説明する)、または「INACTIVE_PEER_ASSERT」メッセージ(以下で説明する)のいずれかとすることができる。各存在通知は、上記のメッセージがそれに関して送信される端末セットの一意の識別子を含む。さらに、後者の2つのタイプのメッセージ(「PEER_ASSERT」および「INACTIVE_PEER_ASSERT」メッセージ)は、既に主張されているDNの指示を提供し、あるDNを既に少なくとも1つの端末セットが主張しているネットワークに新たに接続された端末セットが参加するときにだけ、受信される。
存在メッセージからは、ネットワーク上のすべての端末セットのリスト(経路表と呼ばれる)が作成される。リスト内の端末セットは、それらの一意のネットワーク装置識別子によってソートされる。DNを既に主張しているどの端末セットについても、その主張しているDNが、ソート済みのリスト内で示されることになる。新たに接続された端末セットは、リスト内の順序位置を有することになる。
新たに接続された端末セットは、見込まれるDNを選択するために、リスト内でのそれ自体の順序位置に関連するオフセットをベースDNに追加することができる。たとえば、DNがPBXの内線であるシステムにおいて、新しい端末セットが5つの端末セットのリスト内の3番目にあると仮定すると、見込まれるDNを203と(端末セットの順序位置に等しいオフセット、すなわちベースDNの200に3を足したもの)決定することができる。端末セットに関連する一意の順序位置に基づいて見込まれるDNの選択を行うことにより、様々な端末セットが一意の見込まれるDNを選択することが容易になる。これは、以前に割り当てられたDNを有する既存の端末セットを有していないネットワークに、購入時のままの複数の端末セットが同時に参加するというシナリオを仮定している。この原理(rationale)は、様々な端末セットが当初同じ見込まれるDNを選択することにより、衝突解決処理に時間を費やすことになり得るのを防止しようと試みることである。
次いで、新たに接続された端末セットは、それ自体の見込まれるDNを選択すると、それを他の各端末セットに通知する。これは、「DNプローブ」と呼ばれる。新たに接続された端末セットは、(他の端末セットのうちの1つによる、そのDNに対する既存の主張に基づく何らかの異議(objection)がある場合でも)その見込まれるDNを主張することに他の端末セットが反対するのでなければ、その見込まれるDNをそれ自体のDNとして主張する。新たに接続された端末セットは、異議があればそれを示すのに十分な時間をその他の端末セットに与えるために、それ自体の見込まれるDNを主張する前に、所定の時間間隔だけ経過させてもよい。見込まれるDNの主張が成功したものと仮定すると、新たに接続された端末セットは、そのDNに対するそれ自体の主張を他の各端末セットに通知する。また、新たに接続されたセットは、端末セットが電力を消失したときにも、割当て済みのDNを呼び出すことができるように、その主張したDNを不揮発性メモリ内に格納する。経路表も格納することができる。
確立されているネットワークに新たに接続された端末セットが参加する場合は、そのネットワーク上の他の端末セットは、既にそれら自体のDNの選択を済ませている。この場合では、新たに接続された端末セットの選出した見込まれるDNが、既に既存の端末セットのうちの1つに割り当てられている可能性もある。たとえば、ソート済みの端末セットのリスト内での新たに接続された端末セットの順序位置が、リストの末尾以外である(たとえば、新しい端末セットの一意の識別子によりそれがソート済みのリストの中間付近に配置されている)場合は、新たに接続された端末セットの順序位置に関連するオフセットがベースDNに追加された結果として得られる見込まれるDNが、既存の端末セットのうちの1つのDNであることもある。
この可能性の点から、新たに接続された電話機は、それ自体の見込まれるDNを他のいずれかの端末セットに通知しようと試みる前に、まず、それ自体の経路表を参照して、その見込まれるDNが既にネットワーク内の他のいずれかの端末セットによって主張されているかどうかを判定する。見込まれるDNが既に別のセットによって主張されている場合は、新たに接続された端末セットは、その選出をいずれかのその他の端末セットに通知する前に、たとえばリスト内で見受けられる最大のDNに1などのオフセットを追加することによって、別の見込まれるDNを選択することができる。これにより、そうしない場合には新たに接続された端末セットがそれ自体の見込まれるDNを他の各端末セットに通知して、その他の端末セットのうちの既にそのDNを主張している1つの端末セットから異議を受信するだけに終わる可能性のある、ネットワーク上の不必要な通信オーバーヘッドを回避することができる。
新たに接続された端末セットは、DNの主張に成功すると、そのDNに対するそれ自体の主張を、周期的にネットワーク上のその他の端末セットに通知する。この実施形態では、それぞれの周期的な通知は、「PEER_ASSERT」メッセージの形をとり、これは、新たに接続された端末セットの継続的なネットワーク・プレゼンスおよびそのDNに対する継続的な主張を示す、「ハートビート」として働く。この通知は、ネットワーク上のその他の端末セットによって監視される。この実施形態では、周期的な通知は、(たとえば、0秒と2秒の間の)ランダムな時間間隔で発生する。端末セットからの通知を受信することなく所定の量の時間が経過した場合は、その端末セットは、非アクティブ状態になったものと推定される。周期的な通知は、そのDNを後に追加される端末セットがそれ自体のDNとして主張しようと試みるのを防止する働きもする。たとえば、別の端末セットがそのDNをそれ自体の見込まれるDNとして選択しており、他の端末セットからの何らかの異議を待っている場合に、この通知は、その端末セットによるそのDNの主張に対する異議として働くこともある。急送異議(Express objection)(たとえば、DN_CONFLICTメッセージ)を送信することもできる。
DNを主張した端末セットは、ネットワークから切断されまたは電力を消失した場合は、そのDNに対するそれ自体の主張をネットワーク上のその他の端末セットに周期的に通知することができない可能性が高い。この場合には、(たとえば、その端末セットからの最近のPEER_ASSERTメッセージが何ら存在しないことから)切断された端末セットの使用不能状態に気付いたネットワーク内の別の端末セットが介入し、切断された端末セットは非アクティブ状態にあるが、それ自体のDNは既に主張されている旨を、ネットワーク上のその他の端末セットに周期的に通知することを開始する。介入してきた端末セットは、便宜上「代理(surrogate)」と呼ぶが、それ自体のDNに対するその主張をその他の端末セットに周期的に通知することに加えて、(以下で説明する「INACTIVE_PEER_ASSERT」メッセージの形をとる)これらの周期的な通知を送信する責任を負う。どの端末セットを非アクティブ状態の端末セットの代理にするべきかを決定するアルゴリズムを、適用することができる。非アクティブ状態の端末セットに代わって送信される代理による周期的な通知は、切断された端末セットのDNを後に追加された端末セットがそれ自体のDNとして主張しようと試みるのを防止することができる。
切断された端末セットは、後にネットワークに再接続された場合は、(それ自体の不揮発性メモリから呼び出すことのできる)それ自体のDNをその他の端末セットに通知することを自ら再開することができる。代理の端末セットは、再接続を検出したときは、再接続された端末セットがその責任を再び果たすようになっているので、再接続された端末セットのDNをその他の端末セットに通知するのを中止することができる。
図1を参照すると、本発明の一実施形態によるピアの発見を利用する、電話(telephony)システム10(または「電話(telephone)システム10」)が示されている。電話システム10は、スイッチ20を介してローカル・エリア・ネットワーク(LAN)30と接続されているTTI(Thin Trunk Interface:シン・トランク・インターフェイス)40と、(端末セットの形とネットワーク装置の形のそれぞれの)複数の電話セット100−1〜100−Nとを有する。別法として、スイッチ20は、ネットワーク・ハブに置き換えることもできる。分かりやすくするために、ここでは4つの電話セットしか示されていないが、N≧2とする、合計N個の電話セットを存在させることもでき、さらに本発明のいくつかの実施形態では、Nは大きな数、たとえば千単位である。シン・トランク・インターフェイス40は、たとえば基本的なアナログまたはデジタルT1/E1インターフェイス、あるいは他の任意のPSTNインターフェイスであり、ローカル・セントラル・オフィスまたはPSTN(公衆交換電話網)相互動作インターフェイスを提供し、いくつかの電話「回線(line)」1、2、3、4と結合されている。回線1、2、3、4は、ローカル・セントラル・オフィスまたはPSTN(図示せず)から提供される機構を表す対線(wire pairs)である。本発明のいくつかの実施形態では、複数のシン・トランク・インターフェイスを必要とする多くの回線が存在する。たとえば、PSTNに8つの回線が必要とされる場合は、システム10に第2のシン・トランク・インターフェイスを追加することができる。
図1のシステム10は、従来の集中型電話システムとは異なり、分散型の呼処理を特徴としている。この分散型の呼処理は、たとえば分散型の音声メールを含めたいくつかの機能を特徴とすることもある。
図2を参照すると、図1の電話システム10における例示的な電話セット100−X(X=1〜N)の部分的な回路ブロック図が、示されている。中央処理装置(CPU)530、メモリ管理ユニット(MMU)545、およびランダム・アクセス・メモリ(RAM)535が、計算装置の基礎を提供する。この計算装置は、オーディオ信号の符号化および復号用のデジタル信号処理装置(DSP)520に接続されている。DSP 520は、オーディオ・インターフェイス510に接続されている。計算装置は、LANおよびパーソナル・コンピュータ(PC)への接続を可能にする3ポート・スイッチ525にも接続されている。計算装置は、フラッシュ不揮発性メモリ540、赤外線(IR)インターフェイス550、キーパッドおよびボタン・インターフェイス555、液晶ディスプレイ(LCD)コントローラ560、端末セット100の標準化された拡張を可能にするパーソナル・コンピュータ・メモリ・カード国際協会(PCMCIA)インターフェイス565などの周辺機器のホストにも接続されている。ここでは特定のアーキテクチャが示されているが、より一般的には、以下で説明する方法を実装するのに十分な処理およびメモリ容量が使用可能であると仮定すれば、どんなパケット・ベースの(たとえば、インターネット・プロトコル(IP))電話でも使用することができる。たとえば、Mitel社、Nortel Networks社、Avaya社、Siemens社、NEC社、Pingtel社、3COM社などによって製造される既製のIP電話(たとえば、Nortel i2004、Siemens optiPoint 410、またはAvaya 4610)を使用することもできる。
図3を参照すると、図2の電話セット100−X上で動作するソフトウェアの機能ブロック図が示されている。このソフトウェアは通常、図2のRAM535内に格納され、CPU530上で走り、磁気または光ディスク、テープ、チップ、あるいは別の形態の1次または2次ストレージとし得る、マシン可読媒体32からロードすることができる。より一般的には、このソフトウェアは、汎用または専用の処理装置、ファームウェア、ハードウェア、特定用途向け集積回路(ASIC)、書替え可能ゲート・アレイ(Field−Programmable Gate Array:FPGA)、汎用または専用ロジックによって実行される、メモリ内に格納されたマシン実行可能なコードの任意の適当な組合せとして実装することができる。
システム・ディスパッチャ120が、呼処理モジュール70、音声メール・モジュール80、ダイヤル規則モジュール90、ピア発見モジュール110、ディスプレイ・ハンドラ130、オーディオ・ハンドラ140、および入力ハンドラ150を含む様々な機能要素間の通信およびスケジューリングを行う。
呼処理モジュール70は、呼のセット・アップおよび解体、ならびに音声チャネルのセット・アップを行うために、プロトコル・スタック60と相互作用する。いくつかのセットにおける呼処理モジュール70が、集中型の装置を必要としない分散型の形式で、集合的にPBXと同様の呼処理機能を提供するように働く。
音声メール・モジュール80は、呼が受信されたがユーザがそれに応答できないときに、音声メール・サービスを提供する。
ダイヤル規則モジュール90は、電話をどのようにかけるかを制御する呼処理モジュール70に適用する、1組のダイヤル規則を含んでいる。
ピア発見モジュール110は、端末セット100−Xが最初にネットワークに接続されたときのピアの発見を容易にする。ピア発見モジュール110は、本明細書の焦点であり、以下でより詳細に説明する。
ディスプレイ・ハンドラ130は、情報をフォーマットしユーザに表示する責任を負う。
オーディオ・ハンドラ140は、呼出音、話中音、通話中着信音などのオーディオ音を再生するように、あるいはシステム・ディスパッチャ120からのオーディオ・メッセージを受信したときに、ネットワークからハンドセットのスピーカ(またはスピーカ・フォン)への音声チャネルに接続するように適合されている。
入力ハンドラ150は、キー・プレス、フック・スイッチ、ボリューム・キー、ハンズ・フリー、ミュート・ボタンなどの機能を監視し、システム・ディスパッチャ120にそれが取るべき適切な措置について知らせる責任を負う。
図4は、電話システム10内の各端末セット100−Xによって作成され維持される経路表200である。経路表は、LAN30上に所在する他の端末セット(非アクティブ状態になった可能性のある端末セットを含む)の指示を表している。以下に記載されるように、端末セット100−Xは、ネットワーク30上の他の端末セットから受信される複数の「I_AM_HERE」メッセージの情報、場合によっては他のタイプのメッセージ(たとえば、「PEER_ASSERT」メッセージ)の情報も格納することによって、経路表200を作成する。この実施形態では、経路表200は、それによってネットワーク30に関連するすべての端末セットの概要が示されるように、現在の端末セット100−Xのエントリも含んでいる。
図4に示されるように、経路表200は、ネットワーク30上に所在する端末セットのそれぞれに関する、DN(列210)、MACアドレス(列220)、IPアドレス(列230)、装置タイプ(列250)、およびアクティブ・フラグ(列293)を含めた様々なタイプの情報を格納している。
DN(列210)は、加入者電話番号であり、これはPBXの内線に類似するものである。列210内に端末セットのDNが示されている場合は、そのDNがその端末セットによって主張されているものと理解される。端末セットがDNを依然として主張していない場合(たとえば、それがネットワーク30上でのそれ自体の所在を告知したばかりである場合、または見込まれるDNを選択したにすぎず、それを依然として決定的な形では主張していない場合)は、その端末セットについての列210は、空欄となる。図4では、列210内のDNが昇順で示されているが、以下で明らかとなるように、DNは、ネットワークに端末セットが追加される順序および他の要因によっては、昇順以外の形にあるいは順次的な順序以外の形にすることもできる。
MACアドレス(列220)は、各端末セット用の一意の識別子として働く、一意のハードウェア・アドレスまたはハードウェア番号である。以下で理解されるように、この実施形態では、MACアドレスを、同じDNが異なる端末セットによって選択されたときの衝突を解決するために使用することができる。経路表200内に示されるあらゆる端末セットのMACアドレスが、列220内で指定される。経路表200では、端末セットは、MACアドレスの昇順にソートされている。一代替実施形態では、端末セットを降順にソートすることもできる。
IPアドレス(列240)は、たとえばVoIP端末セットの場合の、各端末セットに割り当てられたIPアドレスを表している。
装置タイプ(列250)は、ネットワーク30上の各ネットワーク装置のタイプの指示である。この例では、各ネットワーク装置は、端末セットである(列250内の「SET」という値で識別されている)。諸代替実施形態では、ネットワーク装置は、たとえばゲートウェイやシン・トランク・インターフェイスなど、他のタイプの装置を含むことができる。本明細書で説明されるピアの発見は、ネットワーク装置を対象に、装置タイプに関わらず実施することができる。
アクティブ・フラグ(列293)は、端末セットが現在アクティブであるかどうかに関する指示である。先に説明したように、端末セットは、他の端末セットに対して、それ自体が依然としてアクティブなままであることを知らせるPEER_ASSERTメッセージを周期的に送信する。所定の時間間隔の間に(たとえば、各PEER_ASSERTメッセージ間の所定の固定継続期間の3倍であって、この固定継続期間をたとえば2秒としてもよい)、端末セット100−XによってPEER_ASSERTメッセージが受信されない場合は、端末セット100−Xの維持している経路表200において、PEER_ASSERTメッセージの受信されていない端末セットの状態が、非アクティブにセットされる。非アクティブ状態の端末セットがPEER_ASSERTメッセージの送信を再開すると、その端末セットの状態が、アクティブにリセットされる。
図5は、本発明の一実施形態によるピアの発見中に例示的な端末セット100−Xによって実装される状態マシンを示す。図5の説明上、端末セット100−Xはそれぞれ、当業者に知られている様式で、電源投入および初期化プロセス中に、ネットワーク上の動的ホスト構成プロトコル(Dynamic Host Configuration Protocol:DHCP)サーバから、あるいはzeroconf(インターネット技術特別調査委員会(Internet Engineering Task Force)の仕様。現時点ではRequest For Comments(RFC)editor's queueの、「draft−ietf−zeroconf−ipv4−linklocal−17.txt」)を使用することによって、IPアドレスを取得しているものと仮定される。
端末セット100−Xは、IPアドレスを取得すると、その端末セット100−Xがネットワーク30上に所在していることを示す、初期の「I_AM_HERE」状態800に入る。この状態800では、端末セット100−Xは、ネットワーク30上にそれ自体が所在している旨をネットワーク30上のその他の端末セットに通知することによって、「それ自体の告知」を行い、他のネットワーク装置からネットワーク30上にそれらが所在していることに関する通知を受信し始める。この実施形態では、端末セット100−Xは、ネットワーク内の他の端末セットにマルチキャストされる、端末セット100−XのMACアドレスおよびIPアドレスを含むI_AM_HEREメッセージを用いて、それ自体の告知を行う。当業者にはよく知られているように、「マルチキャスト」は、ネットワーク上の潜在的な受信元の合計数のサブセットとし得る複数の受信元に、単一のメッセージを送信することを指す。1群の受信元に同じメッセージを送信する場合は、マルチキャストは、ブロードキャスト(この場合は、そのメッセージの宛先でないものであっても、すべてのネットワーク装置がメッセージを受信する)、およびユニキャスト(2つのネットワーク装置間での、所期の受信元につき1回繰り返されるポイント・ツー・ポイント送信)よりも効率的であることもある。VoIP端末セットの場合には、マルチキャストは、当業者にはよく知られているはずの「Host extensions for IP Multicasting」と題するRFC 1112に記載のIPマルチキャストでよい。
端末セットは、I_AM_HEREマルチキャスト・メッセージをN回送信するが、ここではNを、1以上の正の整数とする。端末セットが非常に大規模なネットワークの一部を形成する諸実施形態では、いくつかのまたは全部の端末セットに同時に電源を供給することが可能であり、したがって、ネットワーク内の各端末セットの受信バッファがそれぞれ、一時に複数のメッセージを受信することができる。本発明のいくつかの実施形態では、受信バッファがオーバーフローした場合にも、I_AM_HEREマルチキャスト・メッセージがその他の端末セットに配信されることを保証するために、各端末セットについて、Nは3以上である。I_AM_HEREマルチキャスト・メッセージは、(たとえば、それぞれ0秒と2秒の間の)ランダムな間隔で送信される。固定された間隔ではなくランダムな間隔でN個のI_AM_HEREメッセージを送信することにより、I_AM_HEREマルチキャスト・メッセージが1つまたは複数の端末セットによって受信されないというリスクを低減することができる。固定された間隔が使用された場合は、所与の端末セットにおいて、異なる端末セットからのI_AM_HEREメッセージがN回の送信間隔のそれぞれの間に現れる順序が、各間隔において同じ順序となることもあり、最後に到達するメッセージまで、一貫して破棄(drop)される可能性がある。ランダムな間隔でメッセージを送信すると、メッセージが1回の間隔の間に到達する順序が、別の1回の間隔の間に到達する順序とは異なることがある。したがって、1つ(または複数)のメッセージが破棄される1つ(または複数)の端末セットは、間隔によっては異なることがあり、特定の端末セットからのN個のI_AM_HEREメッセージの1つが受信される可能性が、非常に高くなり得る。
上記の記載は、メッセージの受信に成功すると明示的な肯定応答が送信されるプロトコルと比較して、全体のメッセージ・トラフィックを低減させ得る点で好まれることがある、個々のメッセージの受信に対して明示的には肯定応答が返されないメッセージング・プロトコルを想定していることに留意されたい。
また、初期状態800の間に、端末セット100−Xは、経路表200(図4)を構築しまたは更新するのに必要な情報を含む、ネットワーク30内の他の端末セットからのメッセージを待つ。
状態マシンは、3つのイベントのいずれかが発生すると、初期状態800からDNプローブ状態900に移行する。第1のイベントは、端末セット100−Xが他の端末セットからのI_AM_HEREメッセージを受信し、それ自体の経路表200を構築するのに十分な時間を与えることが企図された、所定の時間間隔の満了である。第2のイベントは、現在の端末セット100−Xが既にそれ自体の不揮発性メモリ内に格納されたDNを有しているとの判定があることである。第3のイベントは、現在の端末セット100−XのMACアドレスと一致するMACアドレスを有するINACTIVE_PEER_ASSERTメッセージが受信されることであり、これは、現在の端末セット100−Xがアクティブ状態に復帰し、それに代わってそれ自体の代理が送信したINACTIVE_PEER_ASSERTメッセージを受信したところである、という状況を反映している。
DNプローブ状態900では、端末セット100−Xは、見込まれるDNを選択し、他の端末セットに対して、セット100−Xがその見込まれるDNを主張することに対してそれらの他の端末セットのいずれかが何らかの異議を有しているかどうかを判定するための、M個のDN_PROBEマルチキャスト・メッセージを送信するが、ここではMを、1以上の整数とする。場合によっては2個以上のDN_PROBEメッセージを送信する原理は、メッセージの少なくとも1つのコピーを、ネットワーク上のその他の端末セットのそれぞれが受信する可能性を高めることである。この実施形態では、DN_PROBEメッセージは、送信元の端末セットのMACアドレスおよびIPアドレス、ならびに送信元の端末セットによって選択された見込まれるDNを含む。DN_PROBEメッセージに対する他の端末セットからの応答がない場合は、何らかの異議を有する他の端末セットはないものと仮定され、端末セット100−Xは、そのDNをそれ自体のDNとして主張する、DNアサート状態700に入る。これは、現在の端末セットの見込まれるDNが全く新しく選択されたDNであるのか、それとも不揮発性メモリから呼び出された永続的なDNであるのかに関わらず行われる。
DNアサート状態700は、端末セット100−XがDNの主張に成功した、定常状態を表している。この状態では、端末セット100−Xは、その端末セットがアクティブなままであり、「健康状態(healthy)」にある旨の周期的な標識(indicator)となるPEER_ASSERTマルチキャスト・メッセージを、ネットワーク内のその他の端末セットに対して周期的に送信する。この実施形態におけるPEER_ASSERTメッセージは、IPアドレスと、MACアドレスと、主張済みのDNとを含む。DNアサート状態700において、主張済みのDNと別の端末セットによって主張されたDNとの間に衝突が存在することが発見された場合は、状態マシンは、DNプローブ状態900に戻る。衝突が存在することが発見され得る状況の1つの例は、ネットワークが(たとえば、通常は地理的に離れた位置にある2つのサブ・ネットワークを相互接続している、仮想私設ネットワーク(VPN)に障害が発生したときに)2つのサブ・ネットワークにセグメント化される場合であるかもしれない。ネットワークがセグメント化されても、端末セット同士を別々のセグメントに接続し、異なるサブ・ネットワーク上の異なる端末セットが同じDNを主張できるようにすることが可能である。このネットワークのセグメント同士が再接続されたときに、衝突が存在することが発見され得る。その場合には、衝突の解決が必要である。
図6は、図5の初期状態800における端末セット100−Xの動作を示す流れ図である。まず、現在の端末セット100−XのDNが存続しているかどうかが判定される(810)。この実施形態では、DNの主張を済ませるために、端末セット100−Xがそれ以前に初期化状態800、DNプローブ状態900、およびDNアサート状態700を経由している場合に、DNが存続していることになる。この場合では、主張済みのDNは、たとえばフラッシュ・メモリなどの不揮発性メモリ内に格納されていることになる。DNを不揮発性メモリ内に格納する目的は、端末セット100−Xが、たとえば偶発的な電力消失またはネットワーク30からの切断の故に、非アクティブ状態になった場合にも、アクティブ状態に復帰したときはそのDNを再び主張することができるように、DNを保存するためである。
810で、端末セット100−XのDNが存続していると判定された場合は、状態マシンは、DNプローブ状態900に移行する(905)。この場合では、ネットワーク上のその他の端末セットが現時点で、端末セット100−Xが非アクティブ状態にあると見なしている場合にも、その他の端末セットは既に、ネットワーク上での端末セット100−Xの所在を示す通知を受けていることが想定されている。
一方、810で、端末セットが永続的なDNを有していないと判定された場合、それは、端末セット100−Xが(DNおよび経路表200に関して)構成が依然としてなされていない「購入時のままの」状態にあることを示す。この場合には、I_AM_HEREメッセージのN個のインスタンスのうちのいくつのインスタンスが送信されたのかを追跡するのに使用されるカウンタが、ゼロに初期化される(812)。次いで、ランダム・タイマが0秒と2秒の間にセットされ、第2のタイマが2秒にセットされる(814)。第2のタイマについての2秒という間隔は、経路表200(図4)を作成するための他のネットワーク装置からのメッセージを受信するのに十分な時間が与えられることを保証するものである。もちろん、他の諸実施形態では、この継続期間が異なることもある。カウンタが増分され(816)、端末セットは、メッセージが受信されるのを待つ、「メッセージ待ち」状態(820)に入る。
メッセージ待ち状態の間にランダム・タイマが満了した場合は、I_AM_HEREマルチキャスト・メッセージがその他の端末セットに送信され(822)、端末セット100−Xは、メッセージ待ち状態(820)に戻る。
820で、ネットワーク内の他のいずれかの端末セットから受信されたどのメッセージも、タイプが検査される(840)。
受信メッセージが、DN_CONFLICTメッセージである場合は、(初期状態800ではこのメッセージが受信されていないはずなので)端末セットは、そのDN_CONFLICTメッセージを無視し、状態マシンは、メッセージ待ち状態(820)に戻る。
受信メッセージが、別の端末セットから送信されたI_AM_HEREメッセージである場合は、受信されたI_AM_HEREメッセージからのデータ(たとえば、MACアドレスおよびIPアドレス)が、経路表200に追加される。
受信メッセージが、別の端末セットから送信されたPEER_ASSERTメッセージまたはDN_PROBEメッセージである場合は、PEER_ASSERTまたはDN_PROBEメッセージ内のデータを、経路表200に追加することができる(これらのメッセージは、以下でより詳細に説明する)。
受信メッセージが、INACTIVE_PEER_ASSERTである場合は、そのINACTIVE_PEER_ASSERTメッセージ内に含まれているデータを使用して、経路表200を更新することができる(870)(たとえば、送信元の端末セットがそれ以前に経路表200内に存在しない場合は、それを追加することができる)。その後、INACTIVE_PEER_ASSERTメッセージ内のMACアドレスが、ローカルのMACアドレス(すなわち、現在の端末セット100−XのMACアドレス)と比較される(872)。
それらが同じものであることが発見された場合、それは、現在の端末セット100−Xが非アクティブ状態の期間後、アクティブ状態に復帰し、端末セット100−Xに代わってINACTIVE_PEER_ASSERTメッセージを送信している別の端末セットからメッセージを受信したところである、という状況を表す。この場合には、端末セットは、DNプローブ状態(905)に移行する。
一方、受信されたINACTIVE_PEER_ASSERTメッセージ内のMACアドレスが、ローカルのMACアドレスとは異なる場合は、端末セットは、メッセージ待ち状態に戻り、さらなるメッセージを待つ(820)。
メッセージ待ち状態の間に第2のタイマが満了した場合は、カウンタが最大値Nに達したかどうかが評価される(880)。
この評価によってカウンタの値がNを超えていないことが判明した場合、それは、N個未満のI_AM_HEREメッセージが送信されたことを示す。この場合には、ランダム・タイマおよび第2のタイマがリセットされ(814)、カウンタの値が増分された後(816)、待ち状態(820)に戻る。
一方、880の評価によってカウンタの値がNと等しいことが判明した場合、それは、N個のI_AM_HEREメッセージが送信されたことを示す。この場合には、端末セット100−Xの状態マシンは、DNプローブ状態(906)に移行する。
図7は、図5のDNプローブ状態900における端末セット100−Xの動作を示す流れ図である。図7に示されるように、DNプローブ状態900を指す2つのエントリ・ポイントが存在する。第1のエントリ・ポイントは、初期状態800からの905にあり、現在の端末セットが非アクティブ状態の期間後に、不揮発性メモリからそれ自体のDNを呼び出している状況を表している。第2のエントリ・ポイントは、やはり初期状態800からのものであるが、906にあり、端末セット100−Xがそれ以前にはDNを主張していない状況を表している。後者の場合では、910で、端末セットが見込まれるDNを選択する(前者の場合では、見込まれるDNは呼出し済みのDNとなる)。
端末セット100−Xは、見込まれるDNを選択するために、経路表200(図4)における(ソート済みの)端末セットのリスト内でのそれ自体の順序位置を判定する(910)。たとえば、端末セット100−Xがリストの最初にある場合は、選択対象の見込まれるDNを、たとえばベースDNの200に1(それ自体の順序位置)を足し、見込まれるDNを201とすることができる。端末セットに関連する一意の順序位置に基づいて見込まれるDNの選択を行うことにより、以前に割り当てられたDNを有する既存の端末セットを有していないネットワークに、購入時のままの複数の端末セットが同時に参加するというシナリオにおいて、各端末セットが一意の見込まれるDNを選択することが容易になる。
確立されたネットワークに端末セット100−Xが参加する場合に発生し得る潜在的なDNの衝突が起きないようにするために、910で、端末セット100−Xは、それ自体の経路表200(図4)を参照して、選択対象の見込まれるDNが既に別の端末セットに割り当てられているかどうかを判定することもできる。見込まれるDNが既に割り当てられている場合は、新たに接続された端末セットは、たとえばリスト内で見受けられる最大のDNに1などのオフセットを追加することによって、別の見込まれるDNを選択することができる。
910に続いて(またはエントリ・ポイント905から)、送信されたDN_PROBEメッセージのインスタンスの数を追跡するためのカウンタが、初期化され(912)、増分される(914)。DN_PROBEメッセージのインスタンスが送信され、DN_PROBEメッセージの各インスタンス間の(固定されたまたはランダムな)時間間隔のカウント・ダウンを行うのに使用されるタイマが、セットされる(916)。次いで、端末セット100−Xは、「イベント待ち」状態(920)に入る。
ある端末セットが、同様にプローブ状態にある別の端末セットと同じDNを選択した場合、その端末セットは、ネットワーク上でプローブされている両方の装置のMACアドレスを調べ、衝突が起きていることを知ることになる。一実施形態では、同じDNを有する端末セット間の衝突が存在する場合は、最も低いMACアドレスを有する端末セットがそのDNを保持し、その他の端末セットは、別のDNを取得しなければならない。
DNプローブ状態900を指すDNアサート状態700からの別のエントリ・ポイント(908)も存在することに留意されたい。このエントリ・ポイント908は、端末セット100−Xの主張するDNと、ネットワーク内のその他の端末セットの1つまたは複数によって望まれるまたは主張されているDNとの間に衝突が存在していることが発見された状況を表している。かかる場合では、動作は、上述した910から開始する。
イベント待ち状態(920)からタイマが満了した場合は、端末セット100−Xは、所望の数であるM個のDN_PROBEメッセージが既に送信されているかどうかを確認する(980)。M個のDN_PROBEメッセージが既に送信されていると判定された場合は、端末セットは次に、見込まれるDNが不揮発性メモリ内のDNから呼び出されたものかどうかを判定する(982)。982の判定が肯定的になされた場合は、状態マシンは、707を経由してDNアサート状態700に移行し、そうでない場合は、705を経由してDNアサート状態700に移行する。
あるいは、980で、M個未満のDN_PROBEメッセージが送信されていると判定された場合は、動作は914に戻る。
イベント待ち状態(920)から、メッセージが別の端末セットから受信された場合は、さらなる動作は、受信メッセージのメッセージ・タイプに依存し、これは930で確認される。
メッセージ・タイプが、I_AM_HEREメッセージを示す場合は、端末セットは、そのデータがまだ所在していなければ、I_AM_HEREメッセージ内に含まれているデータを経路表200に追加した後(932)、イベント待ち状態(920)に戻る。
メッセージ・タイプが、PEER_ASSERTメッセージを示す場合は、PEER_ASSERTメッセージからのDNが、ローカルのDN(すなわち、選択済みの見込まれるDN)と比較される(934)。これらのDNが一致した場合、それは、端末セット100−Xが暫定的に選択したDNを、別の端末セットがアサートしようとしている状況を表す。この場合には、動作は910に戻る。一方、これらのDNが一致しない場合は、PEER_ASSERTメッセージを送信した端末用のエントリが既に存在していれば、PEER_ASSERTメッセージ内に含まれているデータを用いて経路表200が更新され、そうではなく、上記のエントリがまだ存在していなければ、これを作成するために、PEER_ASSERTメッセージ内に含まれているデータが経路表200に追加される(932)。
メッセージ・タイプが、INACTIVE_PEER_ASSERTメッセージの受信された旨を示す場合は、エントリがまだ存在していなければ、INACTIVE_PEER_ASSERTメッセージ内に含まれているデータが経路表200に追加され、そうではなく、エントリが存在しているならば、上記のデータを用いて経路表200が更新される(940)。次いで、INACTIVE_PEER_ASSERTメッセージ内のMACアドレスが、端末セット100−XのMACアドレスと比較される(942)。
これらのMACアドレスが異なる場合は、端末セット100−Xは、イベント待ち状態(920)に戻る。
あるいは、これらのMACアドレスが同じものである場合、それは、現在の端末セット100−Xが非アクティブ状態の期間後、アクティブ状態に復帰し、端末セット100−Xに代わってINACTIVE_PEER_ASSERTメッセージを送信している別の端末セットからメッセージを受信したところである、という状況を表す。この場合には、INACTIVE_PEER_ASSERTメッセージ内のDNと、現在プローブされているDN(すなわち、選択済みの見込まれるDN)とのさらなる比較が行われる(944)。
これらのDNが一致しない場合、それは、端末セット100−Xが現在、INACTIVE_PEER_ASSERTメッセージ内で指定されたDNとは異なるDNをプローブしている、という状況を表す。これは、端末セット100−Xが非アクティブ状態にあった間に、端末セット100−Xの不揮発性メモリ内に格納されていた永続的なDNがクリアされ、あるいは破損した場合に発生し得る。この場合には、以前に主張した別のDNを端末セット100−Xがプローブするのを防ぐために、選択済みの見込まれるDNが、メッセージからのDNにリセットされ(946)、動作が912に戻り、その結果、端末セット100−Xは、以前に主張したそれ自体のDNをプローブするための措置を取ることになる。
あるいは、(944で)これらのDNが一致することが発見された場合、それは、端末セット100−Xが現在、INACTIVE_PEER_ASSERTメッセージ内で指定されたのと同じDNをプローブしている、という状況を表し、そのDNは、端末セット100−Xが非アクティブ状態にあると判定される前に主張したDNであるはずである。この場合には、動作はイベント待ち状態(920)に戻る。
メッセージ・タイプが、DN_CONFLICTメッセージの受信された旨を示す場合、それは、そのプローブ中の見込まれるDNに対して別の端末セットが異議を示している、という状況を表している可能性がある。この場合には、DN_CONFLICTメッセージ内のDNと、現在プローブされているDNとの比較が行われる(950)。
これらのDNが一致しない場合は、DN_CONFLICTメッセージに関するさらなるアクションは取られず、動作はイベント待ち状態(920)に戻る。DN_CONFLICTメッセージがマルチキャストされた場合、それは、別の端末セットに宛てられたDN_CONFLICTメッセージが無視されることを表す。DN_CONFLICTメッセージがユニキャストされた場合、それは、異なる端末セットからの2つのDN_CONFLICTメッセージのうち、1番目のDN_CONFLICTメッセージが受信されたことから、先にプローブしたものとは異なるDNを現在の端末セットがプローブし始めているので、2番目のメッセージが受信されても無視されることになる、という状況を表している可能性がある。
あるいは、950で、これらのDNが一致することが発見された場合、それは、現在の端末セット100−Xに見込まれる形で選択されたDNに対して別の端末セットが異議を示している、という状況を表す。この場合には、別の見込まれるDNを選択しプローブできるように、動作は910に戻る。
メッセージ・タイプが、DN_PROBEメッセージの受信された旨を示す場合は、現在の端末セット100−Xがそれ自体の選択済みの見込まれるDNをプローブするのとほぼ同じ様式で、別の端末セットが、選択済みの見込まれるDNをプローブすることになる。この別の端末セットの見込まれるDN(これは入力側のDN_PROBEメッセージ内で示される)が、ローカルで選択された見込まれるDNと比較される(960)。
これらのDNが一致しない場合は、入力側のDN_PROBEメッセージに関するさらなるアクションは取られず、動作はイベント待ち状態(920)に戻る。
あるいは、960で、これらのDNが一致することが発見された場合、それは、現在の端末セット100−Xと同じDNを別の端末セットがプローブしていることを意味する。この場合には、それらの見込まれるDNの間に衝突が存在する。この実施形態では、かかる衝突は、各端末セットの一意のMACアドレスに基づいて解決される。特に、最も低いMACアドレス(「最下位アクティブMAC(lowest active MAC)」、すなわちLAM)を有する端末セットが、上記のDNを主張することを許可され、その他の端末セットは、別のDNを選択することになる。これと等しく有効な他の衝突解決スキームを適用できることが、理解されるであろう。たとえば、一代替実施形態では、最上位アクティブMAC(highest active MAC)が上記のDNを主張するのを許可してもよい。選出したスキームの詳細は、各端末セットにおいてそれが一貫して適用される限り、重要でない。
したがって、有効な衝突解決スキームに従い、DN_PROBEメッセージ内のMACアドレスが、ローカルのMACアドレスと比較される(962)。DN_PROBEメッセージ内のMACアドレスが、ローカルのMACアドレスよりも低い値である場合は、その他の端末セットがそのDNを主張することを許され、現在の端末セットは、別の見込まれるDNを選択するために910に戻る。そうでない場合は、端末セットは、DN_PROBEメッセージを無視し、イベント待ち状態(920)に戻り、それにより、それ自体の見込まれるDNを有効な形で維持する。
図8は、図5に示されるDNアサート状態における端末セット100−Xの動作を示す流れ図である。先に説明したように、永続的なDNを有していない端末セットが、DNプローブ状態900からこの状態(705)に移行することもある。この場合には、端末セット100−Xはまず、見込まれるDNがDNプローブ状態900においてプローブされたばかりであると仮定する(710)。その後、マルチキャストPEER_ASSERTメッセージが、ネットワーク上の他の端末セットに送信される(712)。
あるいは、永続的なDNを有する端末セットが、DNプローブ状態900から移行してくることもあり(707)、その場合は、動作が712から始まる。
712に続いて、タイマが、0秒と2秒の間のランダムな時間間隔にセットされる(714)。次いで、「メッセージ待ち」状態(720)において、端末セット100−Xは、メッセージが受信されまたはタイマが満了するのを待つ。
タイマが満了した場合は、動作は712に戻り、別のマルチキャストPEER_ASSERTメッセージが送信される。
DN_CONFLICTメッセージが受信された場合は、端末セットは、DN_CONFLICTメッセージ内に含まれているDNがローカルのDNと衝突するかどうかを検証する(732)。
DN_CONFLICTメッセージ内に含まれているDNがローカルで主張されたDNと一致すると判定された場合、それは、ネットワーク上の重複したDNを原因とする衝突を示す。この場合には、衝突の生じているリモートの端末セットがアクティブであるかどうかがさらに評価される(733)。
リモートのセットがアクティブであることが発見された場合、およびこの有効な衝突解決スキーム(すなわち、最下位アクティブMACアドレスが優先される)によって、現在の端末セットがその主張しているDNを保持すべきであることが示された場合は(734)、動作は712に戻り、その結果、端末セットから直ちに別のPEER_ASSERTメッセージが送信されることになる。
一方、734で、現在の端末セットがその主張しているDNを保持すべきではないと判定された場合は、DN_CONFLICTメッセージ内のデータを用いて経路表200(図4)が更新される(735)。具体的には、衝突の生じているDNを有する端末セットを、それ自体のDNと共に経路表200に追加することができる。これは、現在の端末セット100−Xが後に選択した見込まれるDNが、衝突の生じるDNと偶然一致することになった際には、その見込まれるDNを経路表200内のDNと突き合わせてチェックすることによって、衝突が明らかになるようにするものである。
その後は、どの衝突警報も非アクティブ化され(736)、端末セット100−Xは、DNプローブ状態900に移行する(908)。衝突警報は、DNの衝突に関する通知であり、この通知は、本発明のいくつかの実施形態ではシステム管理者へと送信されることもある。衝突警報は通常、システム管理者が手動でDNを既存の端末セットの主張しているDNにリセットした場合にだけ発生する。
733で、リモートの端末装置が非アクティブ状態にあると判定された場合は、どのDNの現在の衝突警報も非アクティブ化され(736)、端末セットは、DNプローブ状態900に移行する(908)。
再びメッセージ待ち状態720を参照すると、PEER_ASSERTメッセージが受信された場合、およびPEER_ASSERTメッセージ内のDNが、経路表200内の1つまたは複数の非アクティブ状態の端末セットのDNと等しい場合、それは、現在の端末セット100−Xが非アクティブ状態の端末セットに代わってINACTIVE_PEER_ASSERTメッセージを送信する必要があり得る、という状況を表す。この状況は、たとえばネットワークが、1つのサブ・ネットワーク上の端末セットが別のサブ・ネットワーク上の端末セットを非アクティブ状態にあると見なすような、2つのサブ・ネットワークにセグメント化された場合に発生する可能性がある。1つのサブ・ネットワーク上の端末セットが、別のサブ・ネットワーク上にあるそれ自体の代理がそれに代わってINACTIVE_PEER_ASSERTメッセージを送信している間に、PEER_ASSERTメッセージを送信することもある。サブ・ネットワーク同士が再接続された際に、代理は、依然として非アクティブであると信じている端末セットからのPEER_ASSERTを受信することもある。
現在の端末セット100−Xが非アクティブ状態の端末セットに代わってINACTIVE_PEER_ASSERTメッセージを送信することになるかどうかの判定は、非アクティブ状態のピアに代わってINACTIVE_PEER_ASSERTメッセージを送信する責任をどの1つ(または複数)の端末セットが負うかを判定する有効なスキームに基づいている。この実施形態における有効なスキームでは、所与の非アクティブ状態のピアにつき唯一の端末セットにだけ上記の責任を割り当てる(場合によっては、同じ端末セットが複数の非アクティブ状態のピアの責任を負うこともある)。所与の任意の非アクティブ状態のピアの代わりにINACTIVE_PEER_ASSERTメッセージを送信する責任を、唯一の端末セットにだけ負わせる原理は、重複したINACTIVE_PEER_ASSERTメッセージが不必要に送信されることを避けるためである。かかるスキームについては、非アクティブ状態の端末セットを検出するのに必要とされる時間よりも長い期間の間、各端末セットがその初期状態800(図5)内に留まることを保証することが望ましい。
この有効なスキームを、以下の表1に示す。
Figure 0005078357
表1の最初の2つの列が、図4の経路表200内で維持されている、「代理」ピア(すなわち、他の非アクティブ状態のピアに代わってINACTIVE_PEER_ASSERTメッセージを送信する責任を負うピア)の判定に関連する情報のサブセットを表している。表1内の各行が、最初の列において識別される仮想的なネットワーク内のネットワーク装置を表している。表1のネットワーク装置は、経路表200内のMACアドレスなど、何らかの一意の識別子によってソートされることが理解される。表1の2番目の列には、各ネットワーク装置に関するアクティブまたは非アクティブの状態が示されている。
この有効なスキームでは、代理と非アクティブ状態のネットワーク装置との間に挟まれるアクティブ状態のネットワーク装置がリスト内に存在しない表1において、アクティブ状態のネットワーク装置は、その装置の次にくる(すなわち、より低い行にある)それぞれの非アクティブ状態のネットワーク装置の代理として働く。たとえば、表1に示されるように、ネットワーク装置Eがネットワーク装置FおよびGの代理として働くのは、それらの装置がいずれも非アクティブ状態にあり、装置Eの次にきており、それらの装置と装置Eとの間に挟まれる他のアクティブ状態の装置がないからである。
非アクティブ状態のネットワーク装置が、ソート済みのリスト内における最初のアクティブ状態のネットワーク装置よりも前にある場合(たとえば、ネットワーク装置Aと同様の場合)は、ソート済みのリスト内における最後のアクティブ状態のネットワーク装置(ネットワーク装置H)が、その代理として働くことになる。
諸代替実施形態においては、代理を割り当てるための他のスキームを使用することもできることが理解されるであろう。たとえば、1つの代替スキームでは、非アクティブ状態の装置の代理として、経路表内でそれよりも後にくる装置ではなく、それよりも前にあるアクティブ状態のネットワーク装置を割り当てることができる。別のスキームでは、ネットワーク装置は、表内のそれと隣り合うすべての非アクティブ状態の装置の代理として働くことができるが、本明細書で使用する「隣り合う」という用語は、経路表内のある代理のすぐ上にある、あるいはすぐ下にある、隣接した複数の非アクティブ状態のネットワーク装置を含む。後者のスキームでは、非アクティブ状態の各ネットワーク装置は、2つの代理を有することになる。いくつかの実施形態では、このレベルの冗長性が望ましいこともある。
再び図8を参照すると、738に続いて、端末セット100−Xは、受信されたPEER_ASSERTメッセージ内に含まれているDNがローカルで主張されたDNと一致するかどうかを検証する(740)。これらのDNが一致した場合は、先に説明したように、動作は734に進む。これらのDNが一致しない場合は、端末セット100−Xは、PEER_ASSERTメッセージ内のデータを経路表に追加し、あるいはそれを使用して表内の関連するエントリを更新する(741)。
次に、PEER_ASSERTメッセージ内に含まれているDNが、現在の端末セット100−Xがその代理として働いている非アクティブ状態のエントリのDNと一致するかどうかが評価される(742)。この評価が肯定的になされた場合は、DNの衝突を示すマルチキャスト・メッセージとしてDN_CONFLICTメッセージが送信された後(746)、別のメッセージを待つ720に戻る。742の評価が否定的になされた場合は、端末セット100−Xは直ちに、別のメッセージを待つ720に戻る。
メッセージ待ち状態720の間にI_AM_HEREメッセージが受信された場合は、端末セット100−Xは、I_AM_HEREメッセージからのデータを用いて、そのメッセージの発信元の端末セットに対応する経路表200(図4)内のエントリの追加または更新を行い(750)、次いで762(以下で説明する)に進む。
720で、DN_PROBEメッセージが受信された場合は、この端末セットは、DN_PROBEメッセージ内のDNをローカルで主張されたDNと比較する(760)。これらのDNが一致した場合、それは、現在の端末セット100−Xがそれ自体の見込まれるDNとして主張しているDNを別の端末セットが選択している、という状況を表す。この場合には、別の端末セットが暫定的に選択したDNが既に主張されている旨を、その別の端末セットに効果的な形で通知するために、動作は、直ちにマルチキャストPEER_ASSERTメッセージを送信する712に戻る。
760の比較によってこれらのDNが一致しないことが示された場合は、端末セット100−Xは、経路表200を参照して、DN_PROBEメッセージ内に含まれているDNが非アクティブ状態の端末セットのDNと一致するかどうかを判定する(762)。DN_PROBEメッセージ内に含まれているDNが非アクティブ状態の端末セットと一致する場合は、(上述の有効なスキームを使用すると)現在の端末セットがその非アクティブ状態の端末セットの代理であるものと仮定され、DN_PROBEメッセージの発信元の端末セットにINACTIVE_ASSERT_MESSAGEメッセージが送信されるその後、動作は別のメッセージを待つ720に戻る。762で実施された参照によってDN_PROBEメッセージの発信元がアクティブであることが示された場合は、端末セット100−Xは直接、別のメッセージを待つ720に戻る。
有利なことに、図5の状態マシンを実装している複数の端末セットがネットワークに接続され、上述した動作を行って定常状態(すなわち、DNアサート状態700)に到達したときは、端末セット間のどのようなDNの衝突も人間の介入する必要なしに自動的に解決され、それぞれの端末セットがDNを自動的に選択していることになる。さらに、各端末セットは、それぞれが他の任意の端末セットのDNをダイヤルすれば、すぐにその端末セットを呼び出すことが可能になるのに十分な他の情報(たとえば、IPアドレス)と対にされた、ネットワーク上の他のあらゆる端末セットのDNを含む、ローカルの経路表200を自動的に作成していることになる。さらに、端末セットが非アクティブ状態になった場合にも、それがネットワークに再接続されたときは、その端末セットのDNが存続していることになる。
上記の実施形態では、ネットワーク上のある端末セットがネットワーク上の他の端末セットにデータを送信し、各端末セットが経路表を構築することを可能にする、プッシュ・システムに言及している。経路表は、PEER_ASSERTメッセージを周期的な間隔で送信する端末セットによって維持される。本発明のいくつかの実施形態では、端末セットなどのネットワーク装置が、たとえばネットワーク上の他のネットワーク装置をポーリングして経路情報を取得する、プル・システムが存在する。
図9を参照すると、本発明の他の実施形態による、分散型ネットワーク内でのピアの発見の方法が示されている。たとえば、電源投入されたときにネットワーク上で使用可能になったネットワーク装置は、たとえばDNなど、それ自体およびネットワーク上の他のネットワーク装置についての経路情報を必要とする。まず、ネットワーク装置は、ネットワーク上に所在する少なくとも1つの他のネットワーク装置のうちのどのネットワーク装置に経路情報を送信すべきかを識別する(1110)。本発明のいくつかの実施形態では、1110で、ネットワーク上の他のネットワーク装置に対して、経路情報を送信すべき他のネットワーク装置に関する標識を要求するメッセージが送信される。この標識は、たとえばタイムスタンプでも、MACアドレスでもよい。他の各ネットワーク装置はそれぞれ、それら自体の標識を上記のネットワーク装置に送信し、上記のネットワーク装置は、その標識を受信すると、これを使用して、他のどのネットワーク装置に経路情報を送信すべきかを判定する。たとえば、いくつかの実施形態では、この標識はタイムスタンプであり、経路情報を送信する対象として、最新のタイムスタンプを有するネットワーク装置が選択される。
次に、ネットワーク装置は、経路情報を送信すべき他のネットワーク装置に対して、経路情報を要求するメッセージを送信する(1120)。この要求を受信したネットワーク装置は、他のネットワーク装置についての経路情報を含む経路表を有しており、要求を行ったネットワーク装置についての経路情報を判定する(1130)。特に、本発明のいくつかの実施形態では、要求を行ったネットワーク装置のDNが選択される。この要求を受信したネットワーク装置は、その他のネットワーク装置および要求を行ったネットワーク装置についての経路情報を送信する(1140)。要求を行ったネットワーク装置は、その経路情報を受信し記憶する(1150)。
本発明のいくつかの実施形態では、要求を行ったネットワーク装置についての経路情報は、1130で判定される代わりに、ステップ1150で、要求を行ったネットワーク装置が経路情報を受信したときに判定される。さらに、本発明のいくつかの実施形態では、1110は、2つ以上のステップで実施される。第1のステップでは、ネットワーク装置は、どのネットワーク装置がネットワーク上にあるかを判定するために、ネットワーク上のアドレスをポーリングする。第2のステップでは、ネットワーク装置は、他のネットワーク装置に対して、標識を要求するメッセージを送信する。第3のステップでは、他のネットワーク装置から標識が受信されたことに応答して、ネットワーク装置は、その標識を使用して、他のどのネットワーク装置に経路情報を送信すべきかを判定する。本発明のいくつかの実施形態では、上記の第1および第2のステップは、標識の要求がアドレスのポーリングと併せて行われる1つのステップに組み合わされる。
図10を参照すると、本発明の他の実施形態による、分散型ネットワーク内でのピアの発見の方法が示されている。図10の実施形態では、経路表を維持し、その経路表内の経路情報を用いて他のネットワーク装置を更新する、ネットワーク装置が指定される。まず、あるネットワーク装置が、たとえば電源投入があった際にネットワーク上で使用可能になったときに、ネットワーク上の他のネットワーク装置にメッセージを送信する(1210)。このメッセージが受信されると、経路情報を維持するように指定されている他のネットワーク装置のうちの1つが、その他のネットワーク装置についての経路情報を確認し、メッセージの送信元のネットワーク装置についての経路情報を判定する(1220)。たとえば、メッセージの送信元のネットワーク装置のDNは、その他のネットワーク装置についての経路情報の一部として確認されたDNのうちから判定される。次いで、指定されたネットワーク装置は、メッセージの発信元のネットワーク装置に、その他のネットワーク装置およびメッセージの発信元のネットワーク装置についての経路情報を送信する(1230)。指定されたネットワーク装置からの経路情報が受信されると、その経路情報が記憶される(1240)。
当業者には理解されるように、本発明の趣旨から逸脱することなく、上述した実施形態には様々な変更を加えることができる。たとえば、本明細書に記載の実施形態の大部分では端末セットであるピアについて言及しているが、ここに記載の方法は、他の形態のネットワーク装置など、端末セット以外のピアにも等しく適用可能であることが理解されるであろう。また、ネットワーク装置は、LANだけではなく任意の形態のネットワークによって相互接続されてもよい。さらに、本明細書の記載では、加入者電話番号の選択、プローブ、アサートについて言及しているが、ここに記載の方法は、加入者電話番号以外のネットワーク・アドレスにも等しく適用可能であることが理解されるであろう。
最後に、上述した方法および状態マシンは、各ネットワーク装置によってまたは各ネットワーク装置において実装されるものとして説明されているが、それらがネットワーク装置の外部で実装されることがあっても、それらを依然として(たとえば、周辺装置において)前記ネットワーク装置に関連付けることができることが理解されるであろう。この場合でも、記載の方法および状態マシンは依然として、ネットワーク装置によってまたはネットワーク装置において実施されるものと見なされるはずである。
上記の教示に照らせば、本発明の数々のさらなる変更形態および変形形態が可能である。したがって、本明細書に具体的に記載されている形以外でも、添付の特許請求の範囲内で本発明を実施できることが理解されよう。
本発明の一実施形態によるピアの発見を行うことのできる、ネットワーク化された複数の端末セット(「ピア」)を含む電話システムの図である。 図1の電話システムにおける端末セットの部分的な回路ブロック図である。 図2の端末セット上で動作するソフトウェアの機能ブロック図である。 図2の端末セットの経路表である。 本発明の一実施形態による、分散型ピア・ツー・ピア・ネットワーク内でのピアの発見中に端末セットによって実装される状態マシンの図である。 図5に示される初期状態における端末セットの動作を示す流れ図である。 図5に示される加入者電話番号のプローブ状態における端末セットの動作を示す流れ図である。 図5に示されるDNアサート状態における端末セットの動作を示す流れ図である。 本発明の他の実施形態による、分散型ネットワーク内でのピアの発見の動作を示す流れ図である。 本発明の他の実施形態による、分散型ネットワーク内でのピアの発見の動作を示す流れ図である。

Claims (57)

  1. 複数のネットワーク・ピアのうちの1つのネットワーク・ピアにおいて、
    存在通知を送信する工程と、
    現在においてネットワークに接続された1つまたは複数の他のアクティブ・ネットワーク・ピアから1つまたは複数のアクティブ・ピア存在通知を受信する工程と、
    1つまたは複数のアクティブ・ネットワーク・ピアから、以前はネットワークに接続されていたが現在はネットワークに接続されていない1つまたは複数の非アクティブ・ネットワーク・ピアに関する1つまたは複数の非アクティブ・ネットワーク・ピア存在通知を受信する工程と、
    受信されたアクティブまたは非アクティブ・ピア存在通知から作成されたアドレス・リストに基づいて、前記1つのネットワーク・ピアの見込まれるネットワーク・アドレスを選択する工程と
    を含む方法。
  2. 各存在通知は、一意のネットワーク・ピア識別子を含む、請求項1に記載の方法。
  3. 前記一意のネットワーク・ピア識別子は、ハードウェア・アドレスである、請求項2に記載の方法。
  4. 前記選択する工程は、前記各一意のネットワーク・ピア識別子に基づく、請求項2に記載の方法。
  5. 前記選択する工程は、
    前記他のネットワーク・ピアの前記各一意のネットワーク・ピア識別子を、前記1つのネットワーク・ピアの一意の識別子と共に分類する工程であって、分類することにより、前記複数のネットワーク・ピアの分類済みのアドレス・リストを生成する工程と、
    前記分類済みのアドレス・リスト内での前記1つのネットワーク・ピアの順序を示す位置を判定する工程と、
    前記順序位置から、前記見込まれるネットワーク・アドレスを作成する工程とを含む、
    請求項4に記載の方法。
  6. 見込まれるネットワーク・アドレスを作成する前記工程は、前記順序を示す位置に関連するオフセットをベース・アドレスに追加する工程を含む、請求項5に記載の方法。
  7. 存在通知を送信する前記工程は、ネットワーク接続メッセージを送信する工程を含む、請求項1に記載の方法。
  8. ネットワーク接続メッセージを送信する前記工程は、固定された時間間隔あるいはランダムな時間間隔で2つ以上の前記メッセージを送信する工程を含む、請求項7に記載の方法。
  9. 前記送信する工程は、マルチキャストする工程を含む、請求項1に記載の方法。
  10. 前記見込まれるネットワーク・アドレスと、前記他のネットワーク・ピアのいずれかによって主張されているネットワーク・アドレスとの間に重複が存在するかどうかを判定する工程と、
    重複が存在する場合は、前記見込まれるネットワーク・アドレスが前記複数のネットワーク・ピアの1つだけによって主張されるように前記重複を解決する工程と
    をさらに含む、請求項1に記載の方法。
  11. 重複が存在するかどうかを判定する前記工程は、前記他のネットワーク装置によって主張されている前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいるかどうかを確証する工程を含む、請求項10に記載の方法。
  12. 前記確証する工程で、前記他のネットワーク・ピアの前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいることが確証された場合は、前記解決する工程は、前記1つのネットワーク・ピアの新しい見込まれるネットワーク・アドレスを選択する工程と、前記新しい見込まれるネットワーク・アドレスについて、重複が存在するかどうかを判定する前記工程を繰り返す工程を含む、請求項11に記載の方法。
  13. 重複が存在するかどうかを判定する前記工程は、前記確証する工程で、前記他のネットワーク・ピアの前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいないことが確証された場合は、前記見込まれるネットワーク・アドレスを前記他のネットワーク・ピアのそれぞれに通知する工程と、前記1つのネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの何らかの異議が受信されるのを待つ工程とをさらに含む、請求項11に記載の方法。
  14. 前記1つのネットワーク・ピアが、前記1つのネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの異議を受信しない場合は、前記見込まれるネットワーク・アドレスを前記1つのネットワーク・ピアのネットワーク・アドレスとして主張する工程をさらに含む、請求項13に記載の方法。
  15. 前記1つのネットワーク・ピアが、前記1つのネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの異議を受信した場合は、前記解決する工程は、前記1つのネットワーク・ピアの新しい見込まれるネットワーク・アドレスを選択する工程と、前記新しい見込まれるネットワーク・アドレスについて、重複が存在するかどうかを判定する前記工程を繰り返す工程とを含む、請求項13に記載の方法。
  16. 前記異議が受信されたときは、ネットワーク・アドレスの重複解決スキームを適用する工程をさらに含み、新しい見込まれるアドレスを選択する前記工程は、ネットワーク・アドレスの前記解決スキームによって、前記1つのネットワーク・ピアが前記ネットワーク・アドレスを主張すべきではないと判定されることを条件とする、請求項15に記載の方法。
  17. 前記ネットワーク・アドレスの重複解決スキームは、前記1つのネットワーク・ピアの一意の識別子と、前記異議がそのネットワーク・ピアのために送信された別のネットワーク・ピアの一意の識別子との比較である、請求項16に記載の方法。
  18. 前記ネットワーク・アドレスは、加入者電話番号である、請求項1に記載の方法。
  19. 前記加入者電話番号は、電話の内線であり、前記ネットワーク・ピアは、電話セットである、請求項18に記載の方法。
  20. ネットワークにおいて1つまたは複数の他のネットワーク・ピアと共に使用されるネットワーク・ピアであって、前記ネットワーク・ピアと前記他のネットワーク・ピアとが、累積的に複数のネットワーク・ピアを形成し、
    存在通知を送信し、
    現在においてネットワークに接続された前記他のネットワーク・ピアから1つまたは複数のアクティブ・ピア存在通知を受信し、
    現在においてネットワークに接続された1つまたは複数のネットワーク・ピアから、以前はネットワークに接続されていたが現在はネットワークに接続されていない1つまたは複数の非アクティブ・ネットワーク・ピアに関する1つまたは複数の非アクティブ・ネットワーク・ピアを受信し、
    受信されたアクティブまたは非アクティブ・ピア存在通知から作成されたアドレス・リストに基づいて、前記ネットワーク・ピアの見込まれるネットワーク・アドレスを選択するように適合された、
    ネットワーク・ピア
  21. 各存在通知は、一意のネットワーク・ピア識別子を含む、請求項20に記載のネットワーク・ピア
  22. 前記一意のネットワーク・ピア識別子は、ハードウェア・アドレスである、請求項21に記載のネットワーク・ピア
  23. 前記選択は、前記各一意のネットワーク・ピア識別子に基づく、請求項21に記載のネットワーク・ピア
  24. 前記選択は、
    前記他のネットワーク・ピアの前記各一意のネットワーク・ピア識別子を、前記ネットワーク・ピアの一意の識別子と共に分類することであって、分類することにより、前記複数のネットワーク・ピアの分類済みのアドレス・リストを生成することと、
    前記分類済みのアドレス・リスト内での前記ネットワーク・ピアの順序位置を判定することと、
    前記順序位置から、前記見込まれるネットワーク・アドレスを作成することとを含む、
    請求項23に記載のネットワーク・ピア
  25. 前記見込まれるネットワーク・アドレスを作成することは、前記順序位置に関連するオフセットをベース・アドレスに追加することを含む、請求項24に記載のネットワーク・ピア
  26. 前記存在通知を送信することは、ネットワーク接続メッセージを送信することを含む、請求項20に記載のネットワーク・ピア
  27. 前記ネットワーク接続メッセージを送信することは、固定された時間間隔あるいはランダムな時間間隔で2つ以上の前記メッセージを送信することを含む、請求項26に記載のネットワーク・ピア
  28. 前記送信は、マルチキャストを含む、請求項20に記載のネットワーク・ピア
  29. 前記見込まれるネットワーク・アドレスと、前記他のネットワーク・ピアのいずれかによって主張されているネットワーク・アドレスとの間に重複が存在するかどうかを判定し、
    重複が存在する場合は、前記見込まれるネットワーク・アドレスが前記複数のネットワーク・ピアの1つだけによって主張されるように前記重複を解決するようにさらに適合された、
    請求項20に記載のネットワーク・ピア
  30. 前記重複が存在するかどうかを判定することは、前記他のネットワーク・ピアによって主張されている前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいるかどうかを確証することを含む、請求項29に記載のネットワーク・ピア
  31. 前記確証で、前記他のネットワーク・ピアの前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいることが確証された場合は、前記解決は、前記ネットワーク・ピアの新しい見込まれるネットワーク・アドレスを選択することと、前記新しい見込まれるネットワーク・アドレスについて、前記重複が存在するかどうかを判定することを繰り返すこととを含む、請求項30に記載のネットワーク・ピア
  32. 前記重複が存在するかどうかを判定することは、前記確証で、前記他のネットワーク・ピアの前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいないことが確証された場合は、前記見込まれるネットワーク・アドレスを前記他のネットワーク・ピアのそれぞれに通知することと、前記ネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの何らかの異議が受信されるのを待つこととをさらに含む、請求項30に記載のネットワーク・ピア
  33. 前記ネットワーク・ピアが、前記ネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの異議を受信しない場合は、前記見込まれるネットワーク・アドレスを前記ネットワーク・ピアのネットワーク・アドレスとして主張するようにさらに適合された、請求項32に記載のネットワーク・ピア
  34. 前記ネットワーク・ピアが、前記ネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの異議を受信した場合は、前記解決は、前記ネットワーク・ピアの新しい見込まれるネットワーク・アドレスを選択することと、前記新しい見込まれるネットワーク・アドレスについて、前記重複が存在するかどうかを判定することを繰り返すこととを含む、請求項32に記載のネットワーク・ピア
  35. 前記異議が受信されたときは、ネットワーク・アドレスの重複解決スキームを適用するようにさらに適合され、前記新しい見込まれるアドレスを選択することは、ネットワーク・アドレスの前記解決スキームによって、前記ネットワーク・ピアが前記ネットワーク・アドレスを主張すべきではないと判定されることを条件とする、請求項34に記載のネットワーク・ピア
  36. 前記ネットワーク・アドレスの重複解決スキームは、前記ネットワーク・ピアの一意の識別子と、前記異議がそのネットワーク・ピアのために送信された別のネットワーク・ピアの一意の識別子との比較である、請求項35に記載のネットワーク・ピア
  37. 前記ネットワーク・アドレスは、加入者電話番号である、請求項20に記載のネットワーク・ピア
  38. 前記加入者電話番号は、電話の内線であり、前記ネットワーク・ピアは、電話セットである、請求項37に記載のネットワーク・ピア
  39. 複数のネットワーク・ピアのうちの1つのネットワーク・ピアでの実行を対象とするマシン実行可能なコードを含むマシン可読媒体であって、
    存在通知を送信するためのマシン実行可能なコードと、
    現在においてネットワークに接続された1つまたは複数の他のアクティブ・ネットワーク・ピアから1つまたは複数のアクティブ・ピア存在通知を受信するためのマシン実行可能なコードと、
    1つまたは複数のアクティブ・ネットワーク・ピアから、以前はネットワークに接続されていたが現在はネットワークに接続されていない1つまたは複数の非アクティブ・ネットワーク・ピアに関する1つまたは複数の非アクティブ・ネットワーク・ピアを受信するマシン実行可能なコードと、
    受信されたアクティブまたは非アクティブ・ピア存在通知から作成されたアドレス・リストに基づいて、前記1つのネットワーク・ピアの見込まれるネットワーク・アドレスを選択するためのマシン実行可能なコードと
    を備えるマシン可読媒体。
  40. 各存在通知は、一意のネットワーク・ピア識別子を含む、請求項39に記載のマシン可読媒体。
  41. 前記一意のネットワーク・ピア識別子は、ハードウェア・アドレスである、請求項40に記載のマシン可読媒体。
  42. 前記選択は、前記各一意のネットワーク・ピア識別子に基づく、請求項40に記載のマシン可読媒体。
  43. 前記選択は、
    前記他のネットワーク・ピアの前記各一意のネットワーク・ピア識別子を、前記1つのネットワーク・ピアの一意の識別子と共に分類することであって、分類することにより、前記複数のネットワーク・ピアの分類済みのアドレス・リストを生成することと、
    前記分類済みのアドレス・リスト内での前記1つのネットワーク・ピアの順序位置を判定することと、
    前記順序位置から、前記見込まれるネットワーク・アドレスを作成することとを含む、
    請求項41に記載のマシン可読媒体。
  44. 前記見込まれるネットワーク・アドレスを作成することは、前記順序位置に関連するオフセットをベース・アドレスに追加することを含む、請求項43に記載のマシン可読媒体。
  45. 前記存在通知を送信することは、ネットワーク接続メッセージを送信することを含む、請求項39に記載のマシン可読媒体。
  46. 前記ネットワーク接続メッセージを送信することは、固定された時間間隔あるいはランダムな時間間隔で2つ以上の前記メッセージを送信することを含む、請求項45に記載のマシン可読媒体。
  47. 前記送信は、マルチキャストを含む、請求項39に記載のマシン可読媒体。
  48. 前記見込まれるネットワーク・アドレスと、前記他のネットワーク・ピアのいずれかによって主張されているネットワーク・アドレスとの間に重複が存在するかどうかを判定するためのマシン実行可能なコードと、
    重複が存在する場合は、前記見込まれるネットワーク・アドレスが前記複数のネットワーク・ピアの1つだけによって主張されるように前記重複を解決するためのマシン実行可能なコードと
    をさらに備える、請求項39に記載のマシン可読媒体。
  49. 前記重複が存在するかどうかを判定することは、前記他のネットワーク・ピアによって主張されている前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいるかどうかを確証することを含む、請求項48に記載のマシン可読媒体。
  50. 前記確証で、前記他のネットワーク・ピアの前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいることが確証された場合は、前記解決は、前記1つのネットワーク・ピアの新しい見込まれるネットワーク・アドレスを選択することと、前記新しい見込まれるネットワーク・アドレスについて、前記重複が存在するかどうかを判定することを繰り返すこととを含む、請求項49に記載のマシン可読媒体。
  51. 前記重複が存在するかどうかを判定することは、前記確証で、前記他のネットワーク・ピアの前記ネットワーク・アドレスが、前記見込まれるネットワーク・アドレスを含んでいないことが確証された場合は、前記見込まれるネットワーク・アドレスを前記他のネットワーク・ピアのそれぞれに通知することと、前記1つのネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの何らかの異議が受信されるのを待つこととをさらに含む、請求項49に記載のマシン可読媒体。
  52. 前記1つのネットワーク・ピアが、前記1つのネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの異議を受信しない場合は、前記見込まれるネットワーク・アドレスを前記1つのネットワーク・ピアのネットワーク・アドレスとして主張するためのマシン実行可能なコードをさらに備える、請求項51に記載のマシン可読媒体。
  53. 前記1つのネットワーク・ピアが、前記1つのネットワーク・ピアが前記見込まれるネットワーク・アドレスを主張することに対する、前記他のネットワーク・ピアのいずれかからの異議を受信した場合は、前記解決は、前記1つのネットワーク・ピアの新しい見込まれるネットワーク・アドレスを選択することと、前記新しい見込まれるネットワーク・アドレスについて、前記重複が存在するかどうかを判定することを繰り返すこととを含む、請求項51に記載のマシン可読媒体。
  54. 前記異議が受信されたときは、ネットワーク・アドレスの重複解決スキームを適用するためのマシン実行可能なコードをさらに備え、前記新しい見込まれるアドレスを選択することは、ネットワーク・アドレスの前記解決スキームによって、前記1つのネットワーク・ピアが前記ネットワーク・アドレスを主張すべきではないと判定されることを条件とする、請求項53に記載のマシン可読媒体。
  55. 前記ネットワーク・アドレスの重複解決スキームは、前記1つのネットワーク・ピアの一意の識別子と、前記異議がそのネットワーク・ピアのために送信された別のネットワーク・ピアの一意の識別子との比較である、請求項54に記載のマシン可読媒体。
  56. 前記ネットワーク・アドレスは、加入者電話番号である、請求項39に記載のマシン可読媒体。
  57. 前記加入者電話番号は、電話の内線であり、前記ネットワーク・ピアは、電話セットである、請求項56に記載のマシン可読媒体。
JP2006538621A 2003-11-12 2004-11-12 ピアの発見 Expired - Fee Related JP5078357B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US51864603P 2003-11-12 2003-11-12
US60/518,646 2003-11-12
PCT/CA2004/001957 WO2005048531A1 (en) 2003-11-12 2004-11-12 Peer discovery

Publications (2)

Publication Number Publication Date
JP2007511144A JP2007511144A (ja) 2007-04-26
JP5078357B2 true JP5078357B2 (ja) 2012-11-21

Family

ID=34590286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006538621A Expired - Fee Related JP5078357B2 (ja) 2003-11-12 2004-11-12 ピアの発見

Country Status (7)

Country Link
US (1) US7577150B2 (ja)
EP (1) EP1690368B1 (ja)
JP (1) JP5078357B2 (ja)
KR (1) KR101129507B1 (ja)
CN (1) CN1898904A (ja)
CA (1) CA2544014C (ja)
WO (1) WO2005048531A1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660297B2 (en) 2002-06-13 2010-02-09 Nice Systems Ltd. Voice over IP forwarding
KR100940814B1 (ko) * 2003-10-11 2010-02-05 엘지전자 주식회사 네트워크 자동 설정 방법
US7792064B2 (en) * 2003-11-19 2010-09-07 Lg Electronics Inc. Video-conferencing system using mobile terminal device and method for implementing the same
US7542485B2 (en) * 2003-11-19 2009-06-02 Avaya, Inc. Time and data synchronization between network devices
US7342895B2 (en) * 2004-01-30 2008-03-11 Mark Serpa Method and system for peer-to-peer wireless communication over unlicensed communication spectrum
EP1729477B1 (de) * 2005-05-30 2011-08-03 Siemens Enterprise Communications GmbH & Co. KG Verfahren zum Aufbauen einer Verbindung über eine Kommunikationseinrichtung zu einer Endeinrichtung, sowie Endeinrichtung und Kommunikationseinrichtung zur Durchführung des Verfahrens
WO2007011007A1 (en) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. Link management system
US20070086434A1 (en) * 2005-10-19 2007-04-19 Muthaiah Venkatachalam Efficient mechanisms for supporting VoIp in a wireless network
CN100446567C (zh) * 2005-10-25 2008-12-24 北京影立驰技术有限公司 在信息家电中实现p2p流播放的装置和方法
US7623472B2 (en) * 2005-11-14 2009-11-24 Lsi Corporation Dynamic peer application discovery
WO2007061946A2 (en) 2005-11-18 2007-05-31 Lu Larry L Promoting interoperability of presence-based systems through the use of ubiquitous online identities
WO2007079575A1 (en) * 2006-01-08 2007-07-19 Aksys Networks Inc. Server-less telephone system and methods of operation
EP1992116B1 (en) 2006-01-11 2014-02-26 QUALCOMM Incorporated Communication methods and apparatus relating to cooperative and non-cooperative modes of operation
US8811369B2 (en) 2006-01-11 2014-08-19 Qualcomm Incorporated Methods and apparatus for supporting multiple communications modes of operation
US8468131B2 (en) * 2006-06-29 2013-06-18 Avaya Canada Corp. Connecting devices in a peer-to-peer network with a service provider
US9712667B2 (en) * 2006-07-07 2017-07-18 Genband Us Llc Identifying network entities in a peer-to-peer network
US7898983B2 (en) * 2007-07-05 2011-03-01 Qualcomm Incorporated Methods and apparatus supporting traffic signaling in peer to peer communications
US8385316B2 (en) * 2007-07-06 2013-02-26 Qualcomm Incorporated Methods and apparatus related to peer to peer communications timing structure
US8385317B2 (en) * 2007-07-06 2013-02-26 Qualcomm Incorporated Methods and apparatus supporting multiple timing synchronizations corresponding to different communications peers
US8601156B2 (en) * 2007-07-06 2013-12-03 Qualcomm Incorporated Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications
US8599823B2 (en) * 2007-07-06 2013-12-03 Qualcomm Incorporated Communications methods and apparatus related to synchronization with respect to a peer to peer timing structure
US8134931B2 (en) * 2007-07-10 2012-03-13 Qualcomm Incorporated Apparatus and method of generating and maintaining orthogonal connection identifications (CIDs) for wireless networks
US8340044B2 (en) * 2007-07-10 2012-12-25 Qualcomm Incorporated Apparatus and method of generating and maintaining orthogonal connection identifications (CIDs) for wireless networks
US8494007B2 (en) * 2007-07-10 2013-07-23 Qualcomm Incorporated Coding methods of communicating identifiers in peer discovery in a peer-to-peer network
US8570972B2 (en) * 2007-07-10 2013-10-29 Qualcomm Incorporated Apparatus and method of generating and maintaining orthogonal connection identifications (CIDs) for wireless networks
DE102007043652A1 (de) * 2007-09-13 2009-04-02 Siemens Ag Verfahren zum Betrieb eines dezentralen Kommunikationsnetzes
US9084231B2 (en) * 2008-03-13 2015-07-14 Qualcomm Incorporated Methods and apparatus for acquiring and using multiple connection identifiers
US7986698B2 (en) 2008-03-13 2011-07-26 Qualcomm Incorporated Methods and apparatus for using connection identifiers having different priorities at different times
US8526442B2 (en) * 2008-03-13 2013-09-03 Qualcomm Incorporated Methods and apparatus for using multiple connection identifiers based on traffic requirements
US8595501B2 (en) 2008-05-09 2013-11-26 Qualcomm Incorporated Network helper for authentication between a token and verifiers
US8520502B2 (en) 2008-06-02 2013-08-27 Qualcomm Incorporated Systems and methods for managing RRC connections in wireless communications
US8078111B2 (en) * 2008-07-29 2011-12-13 Qualcomm Incorporated Methods and apparatus for using multiple frequency bands for communication
US20100185769A1 (en) * 2009-01-16 2010-07-22 Amlogic Co., Ltd. Methods for Downloading a File to Consumer Electronic Devices via a Peer-to-peer Network
US8224900B2 (en) 2009-02-09 2012-07-17 Novell, Inc. Network-aware communications
US9247411B2 (en) * 2009-12-23 2016-01-26 Qualcomm Incorporated Methods and apparatus for supporting multi-hop peer discovery in peer-to-peer wireless networks
JP6505963B2 (ja) * 2012-12-28 2019-04-24 任天堂株式会社 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
US8806524B1 (en) * 2013-01-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Restricting use of a direct-to-home digital broadcast satellite signal
CN105187948B (zh) * 2015-09-16 2019-01-15 上海联彤网络通讯技术有限公司 实现机顶盒与终端网络安全推送的系统及方法
US10499264B1 (en) * 2018-05-25 2019-12-03 Wirepas Oy Role selection method in wireless communication networks
US10892938B1 (en) * 2019-07-31 2021-01-12 Abb Power Grids Switzerland Ag Autonomous semantic data discovery for distributed networked systems
CN114531446B (zh) * 2020-10-31 2023-04-18 华为技术有限公司 一种基于p2p的数据分发方法、装置及系统
US11595470B1 (en) * 2021-09-17 2023-02-28 Vmware, Inc. Resolving L2 mapping conflicts without reporter synchronization

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60206241A (ja) * 1984-03-30 1985-10-17 Hitachi Ltd デ−タ伝送装置
JPH0730560A (ja) * 1993-07-07 1995-01-31 Fuji Xerox Co Ltd Lan端末
JP3462626B2 (ja) * 1995-06-19 2003-11-05 シャープ株式会社 アドレス割当て方法およびそれを用いる無線端末装置およびそれを用いる無線ネットワーク
JPH10173653A (ja) * 1996-12-11 1998-06-26 Sharp Corp 通信方式および通信装置
US5922074A (en) 1997-02-28 1999-07-13 Xcert Software, Inc. Method of and apparatus for providing secure distributed directory services and public key infrastructure
CA2217277A1 (en) 1997-10-03 1999-04-03 Newbridge Networks Corporation Automatic link establishment for distributed servers in atm networks
US6532217B1 (en) * 1998-06-29 2003-03-11 Ip Dynamics, Inc. System for automatically determining a network address
EP0993163A1 (en) 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
US6775273B1 (en) * 1999-12-30 2004-08-10 At&T Corp. Simplified IP service control
WO2001075652A2 (en) 2000-03-31 2001-10-11 Centerspan Communications Corp. Media exchange system and process
JP3718621B2 (ja) * 2000-06-23 2005-11-24 株式会社ルートレック・ネットワークス インターネットアドレス決定方法及び装置
JP2002016622A (ja) * 2000-06-29 2002-01-18 Mitsubishi Electric Corp ネットワーク管理方式
JP2002190816A (ja) * 2000-12-20 2002-07-05 Nec Corp 無線通信システム
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
JP2002315029A (ja) * 2001-04-09 2002-10-25 Nec Eng Ltd Lan接続式ボタン電話システム
US7272636B2 (en) 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
JP4365551B2 (ja) * 2001-11-13 2009-11-18 沖電気工業株式会社 構内交換装置への収容登録方法および構内交換システム
US20030193967A1 (en) 2001-12-31 2003-10-16 Gregg Fenton Method, apparatus and system for processing multimedia messages
JP3780259B2 (ja) * 2002-01-22 2006-05-31 キヤノン株式会社 ネットワークに接続される装置、アドレス決定プログラム及びアドレス決定方法
JP3952786B2 (ja) * 2002-01-23 2007-08-01 日本電気株式会社 通信システム及びそれに用いる新規参加の通信装置検出方法
US20040006586A1 (en) 2002-04-23 2004-01-08 Secure Resolutions, Inc. Distributed server software distribution
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US8204992B2 (en) 2002-09-26 2012-06-19 Oracle America, Inc. Presence detection using distributed indexes in peer-to-peer networks
US7206934B2 (en) 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US20040258074A1 (en) * 2003-06-20 2004-12-23 Williams Aidan Michael Method and apparatus for allocating addresses in integrated zero-configured and manually configured networks

Also Published As

Publication number Publication date
WO2005048531B1 (en) 2005-07-14
KR20060135652A (ko) 2006-12-29
EP1690368A4 (en) 2011-08-31
EP1690368A1 (en) 2006-08-16
KR101129507B1 (ko) 2012-07-05
CN1898904A (zh) 2007-01-17
CA2544014C (en) 2015-07-14
EP1690368B1 (en) 2014-07-02
US7577150B2 (en) 2009-08-18
US20050117525A1 (en) 2005-06-02
WO2005048531A1 (en) 2005-05-26
CA2544014A1 (en) 2005-05-26
JP2007511144A (ja) 2007-04-26

Similar Documents

Publication Publication Date Title
JP5078357B2 (ja) ピアの発見
JP4215645B2 (ja) 通信ネットワークにおけるサービスアクセスと会議システムおよび方法
JP4386905B2 (ja) 遠距離通信のエンドポイントのための効率的な負荷分散およびハートビート機構
JP4713492B2 (ja) ネットワーク装置のバックアップ
US8102985B2 (en) Method and system for providing a camp-on hold service
WO2007079575A1 (en) Server-less telephone system and methods of operation
US7512381B1 (en) Monitoring mobile terminals via local wireless access points
US7940781B2 (en) Paging between network devices
US7853001B2 (en) Method and system for providing a camp-on service
US8102991B2 (en) Method and system for automatic call distribution
US20060067327A1 (en) Information distribution system, method and network devices
JP2011097469A (ja) 電話システムとその交換装置
JP5311479B2 (ja) Sip対応交換装置、及びこれを用いたsip対応交換システム
US8630254B2 (en) Telephone line switching apparatus, telephone line switching system, telephone relay system, telephone relay method, telephone relay program
EP2008477A2 (en) Integrating camp-on telephony feature with wlan resource management and admission control
WO2012077773A1 (ja) 通信管理装置
CA2581202A1 (en) Information distribution system, method and network devices
EP1821486B1 (en) Method for sharing resources over a network
JP2009089282A (ja) 無線lan通信システム、コントローラ装置、無線lan基地局及びそれらに用いる無線lan通信方法
JP2006295735A (ja) 自律分散情報通信システムおよび自律分散情報端末
JP2004274391A (ja) 交換ネットワークシステム及びその電話交換装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100928

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

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: 20120731

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120828

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5078357

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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