CN1898904A - 对等体发现 - Google Patents
对等体发现 Download PDFInfo
- Publication number
- CN1898904A CN1898904A CNA2004800383658A CN200480038365A CN1898904A CN 1898904 A CN1898904 A CN 1898904A CN A2004800383658 A CNA2004800383658 A CN A2004800383658A CN 200480038365 A CN200480038365 A CN 200480038365A CN 1898904 A CN1898904 A CN 1898904A
- Authority
- CN
- China
- Prior art keywords
- network equipment
- network
- address
- network address
- anticipation
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5092—Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks 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/0063—Networks 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1068—Discovery 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)
Abstract
当对等体与对等网络初始连接时,该对等体把其与网络的连接通知其它对等体。该对等体从其它对等体接收存在通知,并使用存在通知来创建网络上的对等体的列表,所述列表可依据每个对等体的唯一标识符分类。根据该对等体在分类列表内的顺序位置,选择预期的网络地址。冲突检查解决了预期网络地址和其它对等体的网络地址之间的冲突。每个对等体可定期把其网络地址通知其它对等体,以便防止新的对等体主张该地址。当对等体变得无效时,检测到这种情况的另一对等体可开始定期把断开的对等体的地址已主张通知剩余的对等体。对等体可以是基于IP的语音电话机,网络地址可以是电话簿号码。
Description
相关申请的交叉参考
本申请要求2003年11月12日申请的临时申请60/518,646的优先权,其内容全文在此作为参考。
技术领域
本发明涉及通信网络中的对等体发现。
背景技术
在许多已知的线路交换或分组交换电话解决方案中,居中央的设备(例如交换机或专用小交换机(PBX))提供呼叫终止,呼叫处理,交换和/或呼叫处理能力。在大型系统中,中央设备可以是控制称为线路卡的电路板上的许多功能的高效计算机,所述线路卡连接电话机和计算机。在小型系统中(例如,在具有十个或者更少的终端机的系统中),中央智能(central intelligence)实际上存在于专门用来保持中央处理设备的“金(golden)”电话机中。
与中央设备采取的形式无关,许多终端机(例如,有线或无线电话机)通常与中央设备连接。与中央设备相比,终端机一般是“哑”设备。即,终端机只向中央设备发送钩键信息和按键(例如双音多频或DTMF音调),和把来自中央设备的信号,例如拨号音,振铃声或者语音信号转换成声音(或者在一些情况下,转换成图像或视频)。终端机一般不知道任何其它终端机的存在,并且不具有使它们自己与另一终端机互连的固有能力。
在集中式电话系统中,网络内的电话机的管理和发现一般由中央设备实现。例如,在传统的线路交换时分多路复用(TDM)电话系统中,每个终端机可与中央呼叫处理设备上的一个端口连接。一般来说,作为加电时发生的初始化序列的一部分,每个终端机向中央设备通告其可用性。中央设备监视每个端口关于新的终端机被连接的这种通告,从而能够“发现”新加入的终端机。
在集中式基于网际协议(IP)的语音传输或VoIP电话系统中,采用非常类似但是稍微更复杂的过程;但是,终端机仍然通过网络向中央呼叫处理设备通知其可用性。本领域中已知,VoIP是通过基于IP的数据网络的呼叫传输。通信采取分组数据的形式,从而不像线路交换网络那样存在固定连接。通信可以是文本、语音、图形或视频。IP设备可遵守诸如H.323和会话起始协议(SIP)之类的标准以便协同工作。H.323标准一般描述在终端、网络设备和服务之间如何发生多媒体通信。SIP标准覆盖建立、修改和终止基于因特网的多媒体会话的技术要求。这里使用的术语“呼叫”指的是两个端点之间的多媒体通信,包括语音电话呼叫。
与中央设备是线路交换的还是分组交换的无关,在发现新的终端机的过程中,中央设备通常将自动分配和管理电话簿号码(DN),它是一种形式的网络地址。DN可以是例如PBX分机。当DN被分配给不同的终端机时,DN可被加入保持在中央设备的DN列表中。通常,仅仅根据该集中列表,居中央的设备就能够确定当从呼叫终端机转发某一DN时应被呼叫的物理终端机的身份。
由于提供的端口(即电话端接)的数目和处理能力(例如处理器类型和速度)方面的限制,关于能够容纳的用户的数目和能够提供的呼叫处理容量的数量,居中央的设备一般具有上限。一旦他们当前设备的端口数目和/或呼叫处理要求能力被超过,客户会希望升级到更大的中央设备。不利的是,这种升级一般要蒙受相当大的花费,并且可能是破坏性的。
随着与更大的处理能力和存储器相关的成本不断降低,在与网络相连的每个电话机中包含一个呼叫处理引擎正在变得可行。在这种系统中,最好除去中央设备。这种分散式系统可被称为分布式电话系统。
不利的是,上面描述的终端机发现方法不适合于分散式系统,因为不存在任何居中央的设备。
因此,在分布式电话系统中,需要一种发现终端机或者其它形式的网络设备的备选方法。更一般地说,在诸如分布式多媒体通信系统之类的对等系统中,需要一种发现终端机或其它形式的网络设备的方法。
发明内容
当对等体(peer)与对等网络初始连接时,该对等体把其与网络的连接通知其它对等体。该对等体从其它对等体接收存在通知,并使用存在通知来创建网络上的对等体的列表,所述列表可依据每个对等体的唯一标识符分类。根据该对等体在分类列表内的顺序位置,选择预期的网络地址。冲突检查解决了预期网络地址和其它对等体的网络地址之间的冲突。每个对等体可定期把其网络地址通知其它对等体,以便防止新的对等体主张该地址。当对等体变得无效时,检测到这种情况的另一对等体可开始定期地把断开的对等体的地址已被主张通知剩余的对等体。对等体可以是基于IP的语音电话机,网络地址可以是电话簿号码。
根据本发明的一个方面,在多个网络设备的一个网络设备上提供一种方法,所述方法包括:发送存在通知;从一个或多个其它网络设备接收一个或多个存在通知;和根据接收的存在通知,选择所述一个网络设备的预期网络地址。
根据本发明的另一方面,在包括第一网络设备、第二网络设备和至少一个其它网络设备的网络中,提供一种保持第一网络设备的网络地址的方法,所述方法包括:在所述第二网络设备:保持所述第一网络设备的所述网络地址;和当确定所述第一网络设备无效时,把所述第一网络设备已主张的所述网络地址通知所述至少一个其它网络设备。
根据本发明的另一方面,提供一种在网络设备使用的方法,包括保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
根据本发明的另一方面,提供一种与一个或多个网络设备一起使用的网络设备,所述网络设备和所述其它网络设备累积形成多个网络设备,所述网络设备适合于:发送存在通知;从所述其它网络设备接收一个或多个存在通知;和根据接收的存在通知,选择所述网络设备的预期网络地址。
根据本发明的另一方面,提供一种用于与包括一个无效网络设备和至少一个其它网络设备的网络连接的网络设备,所述网络设备适合于:保持所述无效网络设备的所述网络地址;和当确定所述无效网络设备无效时,把所述无效网络设备已主张的所述网络地址通知所述至少一个其它网络设备。
根据本发明的另一方面,提供一种网络设备,所述网络设备适合于保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
根据本发明的另一方面,提供一种机器可读介质,所述机器可读介质包括用于在多个网络设备中的一个网络设备上执行的机器可执行代码,包括:发送存在通知的机器可执行代码;从一个或多个其它网络设备接收一个或多个存在通知的机器可执行代码;和根据接收的存在通知,选择所述一个网络设备的预期网络地址的机器可执行代码。
根据本发明的另一方面,提供一种包括机器可执行代码的机器可读介质,所述机器可执行代码用于在包括一个无效网络设备和至少一个其它网络设备的网络中的一个网络设备上执行,包括:保持所述无效网络设备的所述网络地址的机器可执行代码;和当确定所述无效网络设备无效时,把所述无效网络设备已主张的所述网络地址通知所述至少一个其它网络设备的机器可执行代码。
根据本发明的另一方面,提供一种保存机器可执行代码的机器可读介质,当由网络设备执行时,所述机器可执行代码使所述网络设备保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
对本领域的普通技术人员来说,结合附图,根据本发明的具体实施例的下述说明,本发明的其它方面和特征将变得明显。
附图说明
下面参考附图说明本发明的例证实施例,其中:
图1是包括能够实现根据本发明的一个实施例的对等体发现的多个连网终端机(“对等体”)的电话系统;
图2是图1的电话系统的终端机的部分电路方框图;
图3是在图2的终端机上运行的软件的功能方框图;
图4是图2的终端机的路由表;
图5是根据本发明的一个实施例,在分布式对等网络中的对等体发现期间,由终端机实现的状态机;
图6是图解说明在图5中所示的初始状态下,终端机的操作的流程图;
图7是图解说明在图5中所示的电话簿号码探查状态下,终端机的操作的流程图;
图8是图解说明在图5中所示的DN断言状态下,终端机的操作的流程图;
图9是根据本发明的另一实施例,图解说明分布式网络中的对等体发现的操作的流程图;
图10是根据本发明的又一实施例,图解说明分布式网络中的对等体发现的操作的流程图。
具体实施方式
总的来说,在缺少居中央的路由或交换设备的例证分布式电话系统中,一些特征是可取的。一种可取的特征是在最好努力使网络中的不同终端机选择的DN之间的冲突降至最小的情况下,依据终端机与网络的初始连接,自动向每个终端机分配唯一DN的能力。另一种可取的或者必要的特征是确保每个终端机被通知与网络连接的每个其它终端机的DN,以致每个终端机能够呼叫其它终端机。另一种可取的特征是即使当终端机与网络断开时,或者当终端机失去电力时(这两种情况中的任何一种都会导致终端机变得“无效”),仍然保持分配给该终端机的DN的能力。保持DN的动机是防止由于终端机临时与网络断开(例如由于终端机和网络之间的连接发生故障,失去电力,或者移动终端机移动到通信范围之外)的结果,不活动的终端机的DN被重新分配,这种重新分配会在呼叫方造成混乱,因为该终端机已被呼叫。
为了支持这些特征,当在“出厂”(即还未被配置)状态下与网络初始连接时,本发明的一个例证实施例的终端同(例如电话机,便携式数字助手(PDA),个人计算机(PC),无线终端,Think TrunkInterface(TTI),或者其它网络设备)通过网络连接通知,把其与网络的连接通知网络上的其它终端机(其“对等体”)。网络连接通知包括与终端机相关的唯一标识符,例如媒体存取控制(MAC)地址。本领域中已知,MAC地址是充当网络设备的唯一标识符的唯一硬件地址或硬件号。网络连接通知可采取“I_AM_HERE”消息的形式,该消息被发送多次,以便提高该消息被收到的概率(至少在其它对等体不为每个收到的消息发送任何确认的情况下,如本实施例中一样)。
新连接的终端机还从其它终端机接收存在通知。存在通知是目前存在于网络上(即,有效并且与网络连接)的终端机或者先前存在于网络上(即先前有效并且与网络连接,但是现在已断开和无效)的终端机的存在指示。在本实施例中,存在通知可是“I_AM_HERE”消息(前面已说明),“PEER_ASSERT”消息(后面说明),或者“INACTIVE_PEER_ASSERT”消息(后面说明)中的任何一个。每个存在通知包括发送该消息的终端机的唯一标识符。后两种消息(“PEER_ASSERT”和“INACTIVE_PEER_ASSERT”消息)另外提供已主张的DN的指示,并且只有当新连接的终端机加入其中至少一个终端机已主张某一DN的网络时才被接收。
根据存在消息,创建网络上的所有终端机的列表(称为路由表)。依据其唯一的网络设备标识符,对列表中的终端机分类。对于已主张DN的任何终端机,主张的DN将在分类的列表中被指出。新连接的终端机将在该列表中具有一个顺序位置。
为了选择预期的DN,新连接的终端机可向基本DN中加入与其在列表中的顺序位置相关的偏移量。例如,在DN表示PBX分机的系统中,假定新的终端机是五个终端机的列表中的第三个,预期的DN可被确定为203(偏移量等于该终端机的顺序位置,即3,加上基本DN200)。通过使预期DN的选择建立在与终端机相关的唯一顺序位置的基础上,将支持不同终端机选择唯一的预期DN。这设想了其中多个刚出厂的终端机同时加入不存在先前已被分配DN的任何现有终端机的网络的情形。基本原理是试图避免不同的终端机最初选择相同的预期DN,这会导致费时的冲突解决处理。
当选择其预期DN时,新连接的终端机随后将把其预期DN通知每个其它的终端机。这被称为“DN探查”。如果没有其它终端机反对新连接的终端机对该预期DN的主张(任何反对可能基于其它终端机之一对该DN的现有主张),那么新连接的终端机主张该预期DN为其所有。在主张其预期DN之前,新连接的终端机可允许过去预定的一段时间,以便向其它终端机提供提出任何反对的足够时间。假定预期DN已被成功主张,那么新连接的终端机把其对该DN的主张通知每个其它终端机。新连接的终端机还把主张的DN保存在非易失性存储器中,以致如果终端机失去电力,能够取回分配的DN。路由表也可被保存。
在新连接的终端机正在加入建成的网络中的情况下,网络上的其它终端机已选择了它们的DN。这种情况下,新连接的终端机选择的预期DN可能已被分配给现有的终端机之一。例如,如果新连接的终端机的顺序位置不在列表的结尾(例如,如果新的终端机的唯一标识符把它放置在分类列表的中间某个地方),那么当把与新连接的终端机的顺序位置相关的偏移量加入基本DN中时得到的预期DN可能表示现有终端机之一的DN。
鉴于这种可能性,在新连接的终端机尝试把其预期DN通知任何其它终端机之前,它首先参考其路由表,确定该预期DN是否已被网络中的任何其它终端机主张。如果该预期DN已被另一终端机主张,那么在把其选择通知任何其它终端机之前,新连接的DN可通过向列表中找到的最大DN加上偏移量,例如1,选择另一预期DN。这可避免网络上的不必要的通信开销,否则如果新连接的终端机把其预期DN通知每个其它终端机,结果却从已主张该DN的其它终端机之一收到反对,那么会导致所述通信开销。
一旦新连接的终端机已成功主张DN,该终端机就定期地把其对该DN的主张通知网络上的其它终端机。在本实施例中,每个定期通知采取“PEER_ASSERT”消息的形式,所述“PEER_ASSERT”消息起新连接的终端机的“心跳”的作用,指示持续的网络存在和对其DN的持续主张。网络上的其它终端机监视所述通知。在本实施例中,以任意的时间间隔(例如介于0-2秒之间)发生所述定期通知。如果过去预定的时间,而未从终端机收到通知,那么认为该终端机已变得无效。定期通知还用于防止随后加入的终端机试图主张该DN为其所有。例如,如果另一终端机选择了该DN作为其预期DN,并正在等待来自其它终端机的任何反对,那么通知可以充当对该终端机对该DN的主张的反对。也可发送明确的反对(例如,DN_CONFLICT消息)。
如果已主张DN的终端机与网络断开或者失去电力,那么它不能定期把它对其DN的主张定期通知网络上的其它终端机。这种情况下,网络中已知道断开的终端机无效(例如依据来自终端机的任何最新PEER_ASSERT消息的缺失)的另一终端机插手帮助,并开始定期把虽然断开的终端机无效、但是其DN已被主张的事实通知网络上的其它终端机。除了定期把它对其自己DN的主张通知其它终端机之外,插手帮助的终端机(为方便起见,称为代理人)负责发送这些定期通知(采取“INACTIVE_PEER_ASSERT”消息的形式,后面说明)。可应用一种算法来确定哪个终端机应是无效终端机的代理人。代理人的代表无效终端机发送的定期通知可防止随后加入的终端机试图主张断开的终端机的DN为其所有。
如果断开的终端机稍后重新与网络连接,那么它代表它自己重新开始把其DN(它可从其非易失性存储器取回所述DN)通知其它终端机。当代理终端机检测到该重新连接时,它可停止向其它终端机通知重新连接的终端的DN,因为重新连接的终端机已恢复该职责。
参见图1,图中表示了利用根据本发明的一个实施例的对等体发现的电话系统10。电话系统10具有TTI(Thin Trunk Interface)40和通过交换机20与局域网(LAN)30连接的多个电话机100-1~100-N(均为一种形式的终端机和一种形式的网络设备)。另一方面,交换机20可用网络集线器代替。为了清楚起见,只表示了四个电话机;但是,总共可存在N个电话机,其中N≥2和更大,在本发明的一些实施例中,N是一个大数,例如几千。Thin Trunk Interface 40是一种基本模拟或数字T1/E1接口或任何其它PSTN接口,提供本地中心局或者(公共交换电话网)PSTN互连接口,并且与多个电话“线路”1、2、3、4耦接。线路1、2、3、4是表示由本地中心局或PSTN(未示出)提供的设备的线对。在本发明的一个实施例中,存在需要多个Thin Trunk Interface的许多线路。例如,如果对PSTN要求8条线路,那么可向系统10增加第二个Thin Trunk Interface。
不同于传统的集中式电话系统,图1的系统10的特征在于分布式呼叫处理。这种分布式呼叫处理可以包括分布式语音邮件在内的多种能力为特色。
参见图2,图中表示了图1的电话系统10的例证电话机100-X(其中X=1-N)的部分电路方框图。中央处理器(CPU)530,存储器管理单元(MMU)545和随机存取存储器(RAM)535形成计算装置的基础。该计算装置与对音频信号编码和解码的数字信号处理器(DSP)520连接。DSP 520与音频接口510连接。计算装置还与3端口交换机525连接,以便连接到LAN和个人计算机(PC)。计算装置还与许多外设,比如快速非易失性存储器540,红外(IR)接口550,小键盘和按钮接口555,液晶显示器(LCD)控制器560,和个人计算机存储卡国际协会(PCMCIA)接口565连接,以便于终端机100的标准化扩展。虽然表示了一种具体体系结构,不过更一般地,可以使用任何基于分组(例如网际协议(IP))的电话机,假定足够的处理能力和存储容量可用于实现下面说明的方法。例如,可以使用由Mitel,Nortel Networks,Avaya,Siemens,NEC,Pingtel或3COM制造的那些现成IP电话机(例如,Nortel i2004,Siemens optiPoint 410或Avaya 4610)。
参见图3,图中表示了在图2的电话机100-X上运行的软件的功能方框图。该软件一般保存在图2的RAM 535中,并在CPU 530上运行,可从机器可读介质32装入,所述机器可读介质可以是磁盘或光盘,磁带,芯片,或者另一形式的主存储器或辅助存储器。更一般地,软件可被实现成保存在存储器中、供通用或专用处理器、固件、硬件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、通用或专用逻辑电路执行的机器可执行代码的任何适当组合。
系统调度器120提供各个功能部件之间的通信和调度,所述各个功能部件包括呼叫处理模块70,语音邮件模块80,拨号规则模块90,对等体发现模块110,显示处理器130,音频处理器140和输入处理器150。
呼叫处理模块70与协议栈60交互作用,从而建立和终止呼叫,和建立语音通道。许多终端机的呼叫处理模块70一起用来按照分布式方式提供类似于PBX的呼叫处理能力,而不需要居中央的设备。
当收到呼叫,并且用户不能应答呼叫时,语音邮件模块80提供语音邮件服务。
拨号规则模块90包含和应用控制如何发出呼叫的呼叫处理模块70的一组拨号规则。
对等体发现模块110使得易于当终端机100-X初始与网络连接时的对等体发现。对等体发现模块110是本说明书的焦点,下面将详细说明。
显示处理器130负责格式化信息和向用户显示所述信息。
音频处理器140适合于播放声调,例如振铃,忙音,呼叫等待音调,或者适合于当从系统调度器120收到音频消息时,与从网络到听筒扬声器(或者扬声器电话)的语音通道连接。
输入处理器150负责监视诸如按键,钩键,音量键,免提和静音按钮之类的功能,和负责把要采取的适当动作通知系统调度器120。
图4图解说明由电话系统10中的每个终端机100-X创建和保持的路由表200。路由表表示已存在于LAN30上的其它终端机(包括已变得无效的终端机)的指示。如后所述,通过保存来自从网络30上的其它终端机接收的多个“I_AM_HERE”消息,可能还有其它类型的消息(例如“PEER_ASSERT”消息)的信息,终端机100-X创建路由表200。在本实施例中,路由表200还包括当前终端机100-X的条目,以致路由表200表示与网络30相关的所有终端机的概要。
如图4中所示,路由表200保存关于存在于网络30上的每个终端机的各种信息,包括DN(列210),MAC地址(列220),IP地址(列230),设备类型(列250),和有效标记(列293)。
DN(列210)是类似于PBX分机的电话簿号码。当对于某一终端机,DN出现在列210中时,认为该终端机已主张该DN。当终端机还没有主张某一DN时(例如,如果终端机刚刚通告其在网络30上的存在或者只是选择了还未被明确主张的预期DN),对于该终端机来说,列210将是空的。虽然在图4中按照升序表示了列210中的DN,不过要认识到DN可以不按升序排列,或者不按连续顺序排列,取决于终端机被加入网络中的顺序和其它一些明显因素。
MAC地址(列220)是充当每个终端机的唯一标识符的唯一硬件地址或硬件编号。MAC地址可在本实施例中被用于解决当不同的终端机选择相同DN时的冲突。对于出现在路由表200中的每个终端机,在列220中规定一个MAC地址。在路由表200中,按照MAC地址的升序对终端机分类。备选实施例可按照MAC地址的降序对终端机分类。
IP地址(列240)表示就VoIP终端机来说,分配给每个终端机的IP地址。
设备类型(列250)是网络30上的每个网络设备的类型的指示。在本例中,每个网络设备是一个终端机(由列250中的值“SET”识别)。在备选实施例中,网络设备可包括其它类型的设备,例如网关或ThinTrunk Interface。可对网络设备实现这里描述的对等体发现,与设备类型无关。
有效标记(列293)是终端机目前是否有效的指示。如前所述,终端机定期向其它终端机发送PEER_ASSERT消息,通知其它终端机它仍然有效。如果预定的一段时间(例如,PEER_ASSERT消息之间的预定的固定持续时间的3倍,所述固定持续时间可为例如2秒),终端机100-X没有收到任何PEER_ASSERT消息,那么在终端机100-X保持的路由表200中,把未收到其任何PEER_ASSERT消息的终端机的状态设为无效。一旦无效的终端机重新开始发送PEER_ASSERT消息,那么该终端机的状态被重置为有效。
图5图解说明了在根据本发明的一个实施例的对等体发现中,由例证的终端机100-X实现的状态机。对于图5来说,假定在加电和初始化过程中,终端机100-X按照本领域的技术人员已知的方式,或者从各自网络上的动态主机配置协议(DHCP)服务器,或者通过使用零配置(因特网工程任务组标准,目前在请求评议(RFC)编者的队列中为“draft_ietf-zeroconf-ipv4-linklocal-17.txt”),获得了IP地址。
一旦获得了IP地址,终端机100-X就进入初始的“I_AM_HERE”状态800,指出终端机100-X存在于网络30上。在状态800下,通过把其在网络30上的存在通知网络30上的其它终端机,终端机100-X“通告它自己的存在”,并开始从其它网络设备接收关于它们在网络30上的存在的通知。在本实施例中,终端机100-X借助I_AM_HERE消息通告它自己的存在,所述I_AM_HERE消息包括向网络中的其它终端机组播的终端机100-X的MAC地址和IP地址。本领域的技术人员众所周知,“组播”指的是对多个接受者传输单一消息,所述多个接受者可以是网络上的全部可能接受者的子集。当将向一组接受者发送相同的消息时,组播比广播(就广播来说,所有网络设备,甚至不打算向其提供该消息的那些网络设备都会收到该消息)和单播(两个网络设备之间的点对点传输,对每个预定的接受者重复一次单播)更有效。就VoIP终端机来说,组播可以是本领域的技术人员熟悉的在题为“Hostextensions for IP Multicasting”的RFC 1112中描述的IP组播。
终端机发送I_AM_HERE组播消息N次,N是大于或等于1的正整数。在终端机构成极大网络的一部分的实施例中,几个或全部终端机可能被同时加电,从而网络内的终端机的相应接收缓冲器可同时接收几条消息。在本发明的一些实施例中,对于每个终端机,N等于或大于3,以确保即使接收缓冲器溢流,I_AM_HERE组播消息也能被传送给其它终端机。间隔任意时间(例如所述时间间隔均介于0-2秒之间)发送I_AM_HERE组播消息。间隔任意时间,而不是每隔固定时间发送N条I_AM_HERE组播消息可降低I_AM_HERE组播消息未被一个或多个终端机收到的风险。如果使用固定的时间间隔,那么在N个传输时间间隔中的每一个内,来自不同终端机的I_AM_HERE消息到达指定终端机的顺序对每个时间间隔来说都相同,最后到达的消息始终可能被丢弃。通过间隔任意时间发送消息,在一个时间间隔内消息到达的顺序不同于在另一时间间隔内消息到达的顺序。从而其消息被丢弃的终端机因时间间隔而异,来自特定终端机的N条I_AM_HERE消息之一被接收的可能性更大。
注意上面的说明采取了其中不明确确认各个消息的接收的消息接发协议,鉴于与当成功收到消息时发送明确确认的协议相比,可减少总的消息通信量,因此偏爱这种消息接发协议。
在初始状态800下,终端机100-X还等待来自网络30内的其它终端机的消息,所述消息包含建立或更新路由表200(图4)所必需的信息。
当出现三种事件任意之一时,状态机从初始状态800过渡到DN探查状态900。第一种事件是用来向终端机100-X提供从其它终端机接收I_AM_HERE消息和建立其路由表200的足够时间的预定时间间隔的满期。第二种事件是当前终端机100-X已具有保存在其非易失性存储器中的DN的确定。第三种事件是具有与当前终端机100-X的MAC地址匹配的MAC地址的INACTIVE_PEER_ASSERT消息的接收,这反映其中当前的终端机100-X正在恢复有效状态,并且刚刚收到其代理人代表它发送的INACTIVE_PEER_ASSERT消息的情形。
在DN探查状态900下,终端机100-X选择预期DN,并向其它终端机发送M条DN_PROBE组播消息,以确定任何其它终端机是否反对终端机100-X主张所述预期DN,其中M是大于或等于1的整数。可能发送一条以上的DN_PROBE消息的理由是增大网络上的每个其它终端机收到该消息的至少一个副本的可能性。在本实施例中,DN_PROBE消息包含发送终端机的MAC地址和IP地址,以及发送终端机选择的预期DN。如果不存在来自其它终端机的对DN_PROBE消息的任何响应,那么认为其它终端机都不反对,终端机100-X进入DN断言状态700,在该状态下,终端机100-X主张该DN为其所有。终端机100-X主张预期DN为其所有,而不管当前终端机的预期DN是新选择的DN还是从非易失性存储器取回的永久DN。
DN断言状态700代表终端机100-X已成功主张DN的稳定状态。在该状态下,终端机100-X定期向网络内的其它终端机发送PEER_ASSERT组播消息,以便向该终端机继续提供有效和“健康”的定期指示符。本实施例的PEER_ASSERT消息包括IP地址,MAC地址和主张的DN。如果在DN断言状态700下,发现在主张的DN和另一终端机主张的DN之间存在冲突,那么状态机转回DN探查状态900。可能发现存在冲突的情况的一个例子是其中网络被分成两个子网的情况(例如,当通常互连位于地理上遥远的位置的两个子网的虚拟专用网(VPN)发生故障时)。在网络被分割时,终端机可能被接入不同的分段中,同时不同子网上的不同终端机主张相同的DN。当网络分段被重新连接时,可能发现存在冲突。这种情况下,冲突的解决是必需的。
图6是图解说明在图5的初始状态800下,终端机100-X的操作的流程图。首先,确定当前终端机100-X的DN是否已持久存留(810)。在本实施例中,如果终端机100-X先前已通过初始化状态800、DN探查状态900和DN断言状态700,以致先前已主张DN,那么该DN将持久存留。这种情况下,主张的DN将已被保存在非易失性存储器,例如快速存储器中。把DN保存在非易失性存储器中的目的是在例如由于意外的电力失去或者与网络30断开,终端机100-X变得无效的情况下,保存DN,以致当终端机100-X恢复有效状态时,可重新主张该DN。
如果在810确定已为终端机100-X持久存留DN,那么状态机过渡到DN探查状态900(905)。这种情况下,假定网络上的其它终端机已被通知终端机100-X在网络上的存在,即使其它终端机目前认为终端机100-X无效。
另一方面,如果在810确定终端机不具有永久的DN,那么这指出终端机100-X处于至今仍未被配置(在DN和路由表200方面)的“出厂”状态下。这种情况下,用于跟踪已发送了I_AM_HERE消息的N个实例中的多少个的计数器被初始化为0(812)。在0-2秒之间设置随机计时器,第二计时器被设为2秒(814)。第二计时器的2秒的时间间隔是为了确保给予足够的时间接收来自其它网络设备的消息,以便建立路由表200(图4)。当然,在其它实施例中,该持续时间可不同。计数器被递增(816),终端机进入“等待消息”状态(820),在“等待消息”状态下,终端机等待消息被接收。
如果在等待消息状态下,随机计时器满期,那么向其它终端机发送I_AM_HERE组播消息(822),终端机100-X返回等待消息状态。
检查在步骤820从网络中的任何其它终端机接收的任何消息的类型(840)。
如果接收的消息是DN_CONFLICT消息,那么终端机100-X忽略该DN_CONFLICT消息(因为在初始状态800不应收到该消息),状态机返回等待消息状态(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中,那么它可被加入到路由表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)。
当在等待消息状态下,如果第二计时器满期,那么评估计数器的值是否到达最大值N(880)。
如果所述评估显示计数器的值还没有超过N,那么这指出发送了少于N条的I_AM_HERE消息。这种情况下,在返回等待消息状态(820)之前,随机计时器和第二计时器被重置(814),计数器的值被递增(816)。
另一方面,如果步骤880的评估显示计数器的值等于N,那么这指出已发送了N条I_AM_HERE消息。这种情况下,终端机100-X的状态机转到DN探查状态(906)。
图7是图解说明在图5的DN探查状态900下,终端机100-X的操作的流程图。如图7中的示,进入DN探查状态800的入口点有两个。第一个入口点来自初始状态900,在905,第一个入口点代表在一段时间的无效状态之后,当前终端机从非易失性存储器取回其DN的情形。第二入口点也来自初始状态800,不过在906,它代表其中终端机100-X先前未主张DN的情形。在后一种情况下,在步骤910,终端机选择预期的DN(在前一种情况下,预期的DN将是取回的DN)。
为了选择预期的DN(910),终端机100-X确定其在路由表200(图4)的终端机的(分类)列表内的顺序位置。例如,如果终端机100-X是所述列表中的第一个,那么选择的预期DN可以是1(其顺序位置)加上基本DN,比如说200,作为为201的预期DN。通过使预期DN的选择基于与终端机相关的唯一顺序位置,在多个刚出厂的终端机同时加入不存在先前已被分配DN的任何现有终端机的网络的情形下,将支持每个终端机选择唯一的预期DN。
为了预防当终端机100-X正在加入已建成的网络时可能发生的潜在DN冲突,在910,终端机100-X还参考其路由表200(图4),确定选择的预期DN是否已被分配给另一终端机。如果该预期DN已被分配,那么例如通过把在列表中找到的最大DN加上一个偏移量,比如1,新连接的DN可选择另一预期DN。
在910之后(或者来自入口点905),其用途是跟踪已被发送的DN_PROBE消息的实例的数目的计数器被初始化(912)并被递增(914)。发送DN_PROBE消息的一个实例,设置用于倒计时DN_PROBE消息实例之间的(固定或随机的)时间间隔的计时器(916)。终端机100-X随后进入“等待事件”状态(920)。
如果终端机选择和也处于探查状态下的另一终端机相同的DN,那么该终端机将查看在网络上探查的两个设备的MAC地址,出现冲突。在一个实施例中,当在具有相同DN的终端机之间存在冲突时,具有最低MAC地址的终端机保持该DN,另一个终端机必须获得另一DN。
注意进入DN探查状态900的另一入口点(908)来自DN断言状态700。入口点908代表其中发现在终端机100-X主张的DN和网络内的一个或多个其它终端机想要或者主张的DN之间存在冲突的情况。在这种情况下,操作从910开始,如上所述。
从等待事件状态(920)开始,如果计时器满期,那么终端机100-X确定是否已发送了所需的M条DN_PROBE消息(980)。如果确定已发送了M条DN_PROBE消息,那么终端机随后确定是否已从非易失性存储器取回了预期DN(982)。如果步骤982的确定结果是肯定的,那么状态机通过707转到DN断言状态700;否则,它通过705转到DN断言状态700。
另一方面,如果在步骤980确定发送了少于M条的DN_PROBE消息,那么操作返回步骤914。
从等待事件状态(920)开始,当从另一终端机收到消息时,另外的操作取决于在步骤930确定的接收消息的消息类型。
如果消息类型指示I_AM_HERE消息,那么在返回等待事件状(920)之前,终端机把包含在I_AM_HERE消息内的数据增加到路由表200中,如果该数据还未存在的话(932)。
如果消息类型指示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被清除或者被破坏,那么会发生这种情况。这种情况下,为了防止终端机100-X探查一个先前主张的不同DN,选择的预期DN被重置为出自INACTIVE_PEER_ASSERT消息的DN(946),操作返回步骤912,以致终端机100-X将采取步骤来探查其先前主张的DN。
另一方面,如果发现DN匹配(步骤944),那么这表示其中终端机100-X目前正在探查和在INACTIVE_PEER_ASSERT消息中指定的DN相同的DN,INACTIVE_PEER_ASSERT消息中指定的DN应代表在确定终端机100-X无效之前,终端机100-X先前主张的DN。这种情况下,操作返回等待事件状态(920)。
如果消息类型指示正在接收DN_CONFLICT消息,那么这表示其中另一终端机反对探查的预期DN的情况。这种情况下,比较DN_CONFLICT消息内的DN和正在探查的DN(950)。
如果DN不匹配,那么对DN_CONFLICT消息不采取任何进一步的动作,操作返回等待事件状态(920)。在DN_CONFLICT消息是组播消息的情况下,这表示忽略预定给另一终端机的DN_CONFLICT消息。在DN_CONFLICT消息是单播消息的情况下,这可能代表其中收到来自不同终端机的两条DN_CONFLICT消息中的第二条,并且由于自从收到第一条DN_CONFLICT消息以来,当前终端机已开始探查和它早先探查的DN不同的DN,因此第二条DN_CONFLICT消息被忽略的情况。
另一方面,如果在步骤950发现DN匹配,那么这表示其中另一终端机反对当前终端机100-X预期选择的DN。这种情况下,操作返回步骤910,以致可选择和探查另一预期DN。
如果消息类型指示收到了DN_PROBE消息,那么另一终端机正在按照和当前终端机100-X探查其选择的预期DN几乎相同的方式探查选择的预期DN。比较所述另一终端机的预期DN(所述预期DN在输入的DN_PROBE消息中指示)和本地选择的预期DN(960)。
如果DN不匹配,那么对输入的DN_PROBE消息不采取任何进一步的动作,操作返回等待事件状态(920)。
另一方面,如果在步骤960发现DN匹配,那么这意味着另一终端机正在探查和当前终端机100-X相同的DN。这种情况下,在预期DN之间存在冲突。在本实施例中,根据各个终端机的唯一MAC地址解决这种冲突。具体地说,具有最低MAC地址(“最低有效MAC”或LAM)的终端机被允许主张该DN,另一终端机将选择另一DN。要认识到可以采用其它同样有效的冲突解决方案。例如,在备选实施例中,可允许具有最高有效MAC地址的终端机主张该DN。选择的方案的细节并不重要,只要该方案被始终如一地应用于每个终端机即可。
从而,按照操作冲突解决方案,比较DN_PROBE消息内的MAC地址和本地MAC地址(962)。如果DN_PROBE消息内的MAC地址的值低于本地MAC地址的值,那么允许另一终端机主张该DN,当前终端机返回步骤910,选择另一预期DN。否则,当前终端机通过返回等待事件状态(920),忽略DN_PROBE消息,有效地保持其预期DN。
图8是图解说明在图5中所示的DN断言状态下,终端机100-X的操作的流程图。如前所述,在没有永久DN的情况下,终端机可从DN探查状态900转到DN断言状态(705)。这种情况下,终端机100-X最初采取刚刚在DN探查状态900下探查的预期DN(710)。随后,组播PER_ASSERT消息被发送给网络上的其它终端机(712)。
另一方面,在具有永久DN的情况下,终端机可从DN探查状态900转到DN断言状态(707),这种情况下操作始于步骤712。
在步骤712之后,计时器被设置成介于0秒-2秒之间的任意时间间隔(714)。终端机100-X随后在“等待消息”状态(720)下,等待消息被接收,或者等待计时器满期。
如果计时器满期,那么操作返回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时,对照路由表200中的DN检查预期DN将揭示该冲突。
之后,任何冲突警报被停用(736),终端机100-X过渡到DN探查状态900(908)。冲突警报是DN冲突的通知,在本发明的一些实施例中,它可被发送给系统管理员。通常只有在系统管理员手动把某一DN重置为现有终端机的主张DN的情况下才会出现冲突警报。
如果在步骤73确定远程终端机无效,那么存在的任何DN冲突警报被停用(736),终端机过渡到DN探查状态900(908)。
再次参见等待消息状态720,如果收到PEER_ASSERT消息,并且如果PEER_ASSERT消息中的DN等于路由表200中的一个或多个无效终端机的DN,那么这表示其中当前终端机100-X可能被要求代表无效终端机发送INACTIVE_PEER_ASSERT消息的情况。在网络被分成两个子网以致一个子网上的终端机认为另一子网上的终端机无效时,会出现这种情况。在其代理人(该代理人在另一子网上)正在代表它发送INACTIVE_PEER_ASSERT消息时,一个子网上的终端机可能正在发送PEER_ASSERT消息。当子网重新连接时,代理人会从它仍然认为无效的终端机收到PEER_ASSERT消息。
当前终端机100-X是否应代表无效的终端机发送INACTIVE_PEER_ASSERT消息的确定建立在确定哪个终端机负责(或者哪些终端机负责)代表无效的对等体发送INACTIVE_PEER_ASSERT消息的操作方案的基础上。在本实施例中,对每个指定的无效对等体,该操作方案把该责任分配给唯一的一个终端机(同一终端机可能负责多个无效对等体)。使唯一的终端机负责为任何指定的无效对等体发送INACTIVE_PEER_ASSERT消息的理由是避免重复的INACTIVE_PEER_ASSERT消息的不必要传输。对于这种方案,最好确保每个终端机保持其初始状态800(图5)一段时间,所述一段时间大于检测无效终端机所需的时间。
在下面的表1中举例说明了该操作方案:
电话机 | 状态 | 发送无效断言? | 代表? |
ABCDEFGH | 无效有效无效有效有效无效无效有效 | -是-否是--是 | -B--F、G--A |
表1:负责无效对等体断言的对等体
表1的前两列表示保存在图4的路由表200中的与“代理人”对等体(即,负责代表其它无效对等体发送INACTIVE_PEER_ASSERT消息的对等体)的确定相关的信息。表1中的每一行代表假想网络中如在第一列中识别的一个网络设备。表1的网络设备被理解为依据某一唯一标识符,例如MAC地址(如在路由表200中一样)分类。在表1的第二列中提供了每个网络设备的有效或无效状态。
在该操作方案中,有效的网络设备充当在表1中跟在它之后的(即在较低行中的)每个无效网络设备的代理人,同时在列表中,没有任何有效网络设备介于代理人和无效网络设备之间。例如,如表1中所示,网络设备E充当网络设备F和G的代理人,因为这两个设备都是无效的,并且跟在网络设备E之后,同时没有其它有效设备介于它们与设备E之间。
在无效网络设备在分类列表内的第一个有效网络设备之前的情况下(例如,网络设备A正是如此),那么分类列表内的最后的有效网络设备(网络设备H)将充当其代理人。
要认识到在备选实施例中可以采用指派代理人的其它方案。例如,一种备选方案可把有效网络设备指派为在路由表中,在它之前而不是在它之后的无效设备的代理人。在另一种方案中,一个网络设备可充当在路由表内,与它相邻的所有无效设备的代理人,这里使用的术语“相邻”包括紧接在路由表内的一个代理人之前或之后的多个连续的无效网络设备。在后一方案中,每个无效的网络设备将具有两个代理人。在一些实施例中,这种冗余度是可取的。
重新参见图8,在步骤738之后,终端机100-X核实包含在接收的PEER_ASSERT消息中的DN是否和本地主张的DN匹配(740)。如果它们匹配,那么操作继续进行步骤734,如前所述。如果DN不匹配,那么终端机100-X或者把PEER_ASSERT消息内的数据增加到路由表中,或者使用所述数据更新路由表中的相关条目(741)。
随后,确定包含在PEER_ASSERT消息中的DN是否和当前终端机100-X充当其代理人的无效条目的DN对应(742)。如果确定结果是肯定的,那么在回到步骤720等待另一消息之前,发送DN_CONFLICT消息,作为指示DN方面的冲突的组播消息(746)。如果步骤742的确定结果是否定的,那么终端机100-X立即返回720等待另一消息。
如果在等待消息状态720下收到I_AM_HERE消息,那么终端机100-X用来自I_AM_HERE消息的数据,在路由表200(图4)中增加或更新与I_AM_HERE消息所发源的终端机对应的条目(750),随后进入步骤762(后面说明)。
如果在720收到DN_PROBE消息,那么终端机比较DN_PROBE消息中的DN和本地主张的DN(760)。如果它们匹配,那么这表示其中另一终端机已把当前终端机100-X主张的DN选为其预期DN的情况。这种情况下,操作返回步骤712,立即传送组播PEER ASSERT消息,以便有效地通知所述另一终端机,它试探选择的DN已被主张。
如果步骤760的比较表示DN不匹配,那么终端机100-X参考路由表200,确定包含在DN_PROBE消息中的DN是否和无效终端机的DN对应(762)。如果包含在DN_PROBE消息中的DN和无效终端机的DN对应,那么向DN_PROBE消息发源于的终端机发送INACTIVE_ASSERT_MESSAGE消息,假定当前终端机被认为是该无效终端机的代理人(利用上面说明的操作方案)。之后,操作返回720等待另一消息。如果在762中进行的参考指出DN_PROBE消息的始发者有效,那么终端机100-X直接返回720,等待另一消息。
有利的是,当实现图5的状态机的多个终端机与网络连接,并且参与上述操作从而达到稳定状态(即,DN断言状态700)时,每个终端机将已自动选择一个DN,同时终端机之间的DN冲突已被自动解决,而不需要人类干扰。此外,每个终端机将已自动创建一个本地路由表200,路由表200包括与其它信息(例如IP地址)配对的网络上的每个其它终端机的DN,当拨打任何其它终端机的DN时,所述其它信息足以允许该终端机呼叫所述任何其它终端机。此外,即使终端机变得无效,当它被重新连接到网络时,其DN将持久存留。
上面的实施例涉及其中网络上的一个终端机向网络上的其它终端机传送数据,并允许每个终端机建立路由表的推送系统。路由表由定期发送PEER_ASSERT消息的终端机保持。在本发明的一些实施例中,存在一种拖拉系统,其中诸如终端机之类的网络设备轮询网络上的其它网络设备,从而获得路由信息。
参见图9,图9根据本发明的另一实施例,表示了分布式网络中的对等体发现的方法。当被加电时可在网络上使用的网络设备需要它自己和网络上的其它网络设备的路由信息,比如DN。最初,该网络设备识别存在于网络上的至少一个其它网络设备中的哪个网络设备将向它发送路由信息(1110)。在本发明的一些实施例中,在步骤1110将向网络上的其它网络设备发送请求哪个其它网络设备将发送路由信息的指示符的消息。所述指示符可以是时间戳记或MAC地址。每个所述其它网络设备把各自的指示符发送给该网络设备,当收到指示符时,该网络设备使用指示符来确定哪个网络设备将发送路由信息。例如,在一些实施例中,指示符是时间戳记,选择具有最晚的时间戳记的网络设备以便发送路由信息。
随后该网络设备向将发送路由信息的所述另一网络设备发送请求路由信息的消息(1120)。收到该请求的网络设备具有包含其它网络设备的路由信息的路由表,并确定发出请求的网络设备的路由信息(1130)。特别地,在本发明的一些实施例中,选择发出请求的网络设备的DN。接收请求的网络设备发送其它网络设备以及发出请求的网络设备的路由信息(1140)。发出请求的网络设备接收路由信息,并保存该路由信息(1150)。
在本发明的一些实施例中,代替在步骤1130确定发出请求的网络设备的路由信息,当发出请求的网络设备在步骤1150收到路由信息时,确定发出请求的网络设备的路由信息。此外,在本发明的一些实施例中,在一个以上的步骤中完成步骤1110。在第一步中,网络设备轮询网络上的地址,以确定哪些网络设备在网络上。在第二步中,网络设备向其它网络设备发送请求指示符的消息。在第三步中,响应从其它网络设备收到指示符,通过利用所述指示符,该网络设备确定其它网络设备中的哪一个将发送路由信息。在本发明的一些实施例中,第一步和第二步被组合成一个步骤,其中和正被轮询的地址一起发出关于指示符的请求。
参见图10,图中根据本发明的另一实施例,表示了分布式网络中的对等体发现方法。在图10的实施例中,指定某一网络设备来保持路由表,和用路由表中的路由信息更新其它网络设备。最初,当某一网络设备变得在网络上可用时,例如加电时,该网络设备向网络上的其它网络设备发送消息(1210)。当收到该消息时,其它网络设备中指定保持路由信息的一个网络设备查寻其它网络设备的路由信息,并确定从其收到该消息的网络设备的路由信息(1220)。例如,根据作为其它网络设备的路由信息的一部分查出的DN,确定从其收到消息的网络设备的DN。指定的网络设备随后向所述消息发源于的网络设备发送其它网络设备以及所述消息发源于的网络设备的路由信息(1230)。当从指定的网络设备收到路由信息时,保存该路由信息(1240)。
本领域的技术人员会认识到,在不脱离本发明的本质的情况下,可对上述实施例做出各种修改。例如,虽然说明的实施例主要涉及为终端机的对等体,不过要认识到说明的方法同样适用于不同于终端机的对等体,比如其它形式的网络设备。同样,网络设备可由任何形式的网络互连,而不仅仅是LAN。此外,虽然说明涉及的是电话簿号码的选择、探查和主张,不过要认识到所述方法同样适用于不同于电话簿号码的网络地址。
最后,虽然上述方法和状态机被描述成由每个网络设备实现或者在每个网络设备上实现,不过要认识到它们可在网络设备外部,但是仍然与所述网络设备相关的地方实现(例如在外围设备上实现)。这种情况下,所述方法和状态机仍然被认为由网络设备实现或者在网络设备上实现。
鉴于上述教导,本发明的众多的其它修改和变化是可能的。于是在附加权利要求的范围内,可不同于这里具体说明的那样实践本发明。
权利要求书
(按照条约第19条的修改)
1、在多个网络设备的一个网络设备上,一种方法包括:
发送存在通知;
从一个或多个其它网络设备接收一个或多个存在通知,所述接收产生一个或多个接收的存在通知;和
根据接收的存在通知,选择所述一个网络设备的预期网络地址。
2、按照权利要求1所述的方法,其中每个存在通知包括唯一的网络设备标识符。
3、按照权利要求2所述的方法,其中所述唯一的网络设备标识符是硬件地址。
4、按照权利要求2所述的方法,其中所述选择根据每个所述唯一的网络设备标识符进行。
5、按照权利要求4所述的方法,其中所述选择包括:
对所述其它网络设备的每个所述唯一的网络设备标识符以及所述一个网络设备的唯一网络设备标识符分类,所述分类产生所述多个网络设备的分类列表;
确定所述一个网络设备在分类列表内的顺序位置;和
根据所述顺序位置,创建所述预期网络地址。
6、按照权利要求5所述的方法,其中所述创建包括将与所述顺序位置相关的偏移量和基本地址相加。
7、按照权利要求1所述的方法,其中所述发送包括发送网络连接消息。
8、按照权利要求7所述的方法,其中所述发送包括以固定时间间隔或者随机时间间隔之一发送所述网络连接消息的两个或更多实例。
9、按照权利要求1所述的方法,其中所述发送包括组播。
10、按照权利要求1所述的方法,还包括:
确定在所述预期网络地址和任意所述其它网络设备主张的网络地址之间是否存在冲突;和
如果存在所述冲突,那么解决所述冲突,以使所述预期网络地址只由所述多个网络设备中的一个网络设备主张。
11、按照权利要求10所述的方法,其中所述接收的存在通知包括所述其它网络设备主张的网络地址的指示。
12、按照权利要求11所述的方法,其中所述其它网络设备主张的网络地址的指示是先前与所述网络连接但是目前未与所述网络连接的网络设备主张的网络地址的指示。
13、按照权利要求11所述的方法,其中所述确定包括证实所述其它网络设备主张的所述网络地址是否包括所述预期网络地址。
14、按照权利要求13所述的方法,其中如果所述证实确定所述其它网络设备的所述网络地址包括所述预期网络地址,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并关于所述新的预期网络地址重复所述确定。
15、按照权利要求13所述的方法,其中所述确定还包括,如果所述证实确定所述其它网络设备的网络地址不包括所述预期网络地址,那么把所述预期网络地址通知每个所述其它网络设备,并等待从任意所述其它网络设备接收对所述一个网络设备对所述预期网络地址的主张的任意反对。
16、按照权利要求15所述的方法,还包括如果所述一个网络设备未能从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么主张所述预期网络地址为所述一个网络设备的网络地址。
17、按照权利要求15所述的方法,其中如果所述一个网络设备从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并对所述新的预期网络地址重复所述确定。
18、按照权利要求17所述的方法,还包括当收到所述反对时,应用网络地址冲突解决方案,其中所述选择新的预期地址取决于所述网络地址冲突解决方案的所述一个网络设备不应主张所述网络地址的决定。
19、按照权利要求18所述的方法,其中所述网络地址冲突解决方案是所述一个网络设备的唯一标识符和以其名义发送所述反对的另一网络设备的唯一标识符的比较。
20、按照权利要求1所述的方法,其中所述预期网络地址是电话簿号码。
21、按照权利要求20所述的方法,其中所述电话簿号码是电话分机,所述网络设备是电话机。
22、在包括第一网络设备、第二网络设备和至少一个其它网络设备的网络中,一种保持第一网络设备的网络地址的方法,所述方法包括:
在所述第二网络设备:
保持所述第一网络设备的所述网络地址;和
当确定所述第一网络设备无效时,把所述第一网络设备已主张的所述网络地址通知所述至少一个其它网络设备。
23、按照权利要求22所述的方法,其中所述通知包括定期通知。
24、按照权利要求23所述的方法,其中所述定期通知包括定期组播消息。
25、按照权利要求22所述的方法,其中所述至少一个其它网络设备包括第三设备,所述方法还包括:
在所述第三网络设备:
当收到所述第一网络设备的所述网络地址已被主张的所述通知时,比较所述第一网络设备的所述网络地址与所述第三网络设备的预期网络地址;和
如果所述比较指出所述第一网络设备的所述网络地址和所述第三网络设备的所述预期网络地址匹配,那么为所述第三网络设备选择另一预期网络地址。
26、按照权利要求22所述的方法,其中所述通知以确定所述第二网络设备是应进行所述通知的网络设备为条件。
27、按照权利要求26所述的方法,其中所述确定识别应为所述第一网络设备进行所述通知的唯一网络设备。
28、按照权利要求27所述的方法,其中所述确定包括依据其唯一标识符,对或者目前存在于所述网络上或者先前存在于所述网络上的多个网络设备分类,以便创建网络设备的分类列表,并查明在分类列表内,所述第一网络设备跟在所述第二网络设备之后,同时在列表中,在所述第一和第一网络设备之间没有插入任何有效的网络设备。
29、按照权利要求28所述的方法,其中另一方面,所述确定包括查明所述第一网络设备在所述分类列表内的第一个有效网络设备之前,所述第二网络设备是所述分类列表内的最后一个有效网络设备。
30、按照权利要求22所述的方法,其中当在所述第二网络设备收到另一网络设备想主张所述网络地址的指示时,把对所述主张的反对传递给所述另一网络设备。
31、一种在网络设备使用的方法,包括保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
32、一种与一个或多个网络设备一起使用的网络设备,所述网络设备和所述其它网络设备累积形成多个网络设备,所述网络设备适合于:
发送存在通知;
从所述其它网络设备接收一个或多个存在通知,所述接收产生一个或多个接收的存在通知;和
根据接收的存在通知,选择所述网络设备的预期网络地址。
33、按照权利要求32所述的网络设备,其中每个存在通知包括唯一的网络设备标识符。
34、按照权利要求33所述的网络设备,其中所述唯一的网络设备标识符是硬件地址。
35、按照权利要求33所述的网络设备,其中所述选择根据每个所述唯一的网络设备标识符进行。
36、按照权利要求35所述的网络设备,其中所述选择包括:
对所述其它网络设备的每个所述唯一的网络设备标识符以及所述网络设备的唯一网络设备标识符分类,所述分类得到所述多个网络设备的分类列表;
确定所述网络设备在分类列表内的顺序位置;和
根据所述顺序位置,创建所述预期网络地址。
37、按照权利要求36所述的网络设备,其中所述创建包括把与所述顺序位置相关的偏移量和基本地址相加。
38、按照权利要求32所述的网络设备,其中所述发送包括发送网络连接消息。
39、按照权利要求38所述的网络设备,其中所述发送包括以固定时间间隔或者随机时间间隔之一发送所述消息的两个或更多实例。
40、按照权利要求32所述的网络设备,其中所述发送包括组播。
41、按照权利要求32所述的网络设备,还适合于:
确定在所述预期网络地址和任意所述其它网络设备主张的网络地址之间是否存在冲突;和
如果存在所述冲突,那么解决所述冲突,以使所述预期网络地址只由所述多个网络设备中的一个网络设备主张。
42、按照权利要求41所述的网络设备,其中所述接收的存在通知包括所述其它网络设备主张的网络地址的指示。
43、按照权利要求42所述的网络设备,其中所述其它网络设备主张的网络地址的指示是先前与所述网络连接但是目前未与所述网络连接的网络设备主张的网络地址的指示。
44、按照权利要求42所述的网络设备,其中所述确定包括证实所述其它网络设备主张的所述网络地址是否包括所述预期网络地址。
45、按照权利要求44所述的网络设备,其中如果所述证实确定所述其它网络设备的所述网络地址包括所述预期网络地址,所述解决包括为所述网络设备选择一个新的预期网络地址,并关于所述新的预期网络地址重复所述确定。
46、按照权利要求44所述的网络设备,其中所述确定还包括,如果所述证实确定所述其它网络设备的网络地址不包括所述预期网络地址,那么把所述预期网络地址通知每个所述其它网络设备,并等待从任意所述其它网络设备接收对所述网络设备对所述预期网络地址的主张的任意反对。
47、按照权利要求46所述的网络设备,还适合于如果所述网络设备未能从任意所述其它网络设备收到对所述网络设备对所述预期网络地址的主张的反对,那么主张所述预期网络地址为所述网络设备的网络地址。
48、按照权利要求46所述的网络设备,其中如果所述网络设备从任意所述其它网络设备收到对所述网络设备对所述预期网络地址的主张的反对,那么所述解决包括为所述网络设备选择一个新的预期网络地址,并对所述新的预期网络地址重复所述确定。
49、按照权利要求48所述的网络设备,还适合于当收到所述反对时,应用网络地址冲突解决方案,其中所述选择新的预期地址取决于所述网络地址冲突解决方案对所述网络设备不应主张所述网络地址的决定。
50、按照权利要求49所述的网络设备,其中所述网络地址冲突解决方案是所述网络设备的唯一标识符和以其名义发送所述反对的另一网络设备的唯一标识符的比较。
51、按照权利要求32所述的网络设备,其中所述预期网络地址是电话簿号码。
52、按照权利要求51所述的网络设备,其中所述电话簿号码是电话分机,所述网络设备是电话机。
53、一种用于和包括一个无效网络设备和至少一个其它网络设备的网络连接的网络设备,所述网络设备适合于:
保持所述无效网络设备的所述网络地址;和
当确定所述无效网络设备无效时,把所述无效网络设备已主张的所述网络地址通知所述至少一个其它网络设备。
54、一种适合于保持包括第一状态和第二状态的状态机的网络设备,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
55、按照权利要求54所述的网络设备,还适合于在所述第一状态下,把所述预期网络地址通知其它网络设备。
56、按照权利要求55所述的网络设备,还适合于在所述第一状态下,当从任何所述其它网络设备收到对所述网络设备的所述网络地址的主张的反对时,选择另一预期网络地址。
57、按照权利要求55所述的网络设备,还适合于当延期时期满期,而未从任何所述其它网络设备收到对所述网络设备的所述网络地址的主张的反对时,从所述第一状态转变到所述第二状态,其中依据所述转变,所述网络设备主张所述预期网络地址为其网络地址。
58、按照权利要求57所述的网络设备,还适合于在所述第二状态下,定期把其对所述网络地址的主张通知其它网络设备。
59、按照权利要求58所述的网络设备,还适合于如果在所述第二状态下,所述网络设备从任何所述其它网络设备收到对所述网络设备的所述网络地址的主张的所述反对,那么从所述第二状态转变到所述第一状态。
60、按照权利要求59所述的网络设备,其中对所述网络设备的所述网络地址的主张的所述反对包括另一网络设备已主张所述网络地址的指示。
61、按照权利要求60所述的网络设备,还适合于当收到对所述网络设备的所述网络地址的主张的所述反对时,应用网络地址冲突解密方案,其中从所述第二状态到所述第一状态的所述转变取决于所述网络地址冲突解决方案的所述网络设备不应主张所述网络地址的决定。
62、按照权利要求61所述的网络设备,其中所述网络地址冲突解决方案是所述网络设备的唯一标识符和已主张所述网络地址的另一网络设备的唯一标识符的比较。
63、按照权利要求62所述的网络设备,其中所述唯一标识符是硬件地址,其中如果所述网络设备的硬件地址高于所述另一网络设备的硬件地址,那么产生所述网络设备不应主张所述网络地址的所述决定。
64、按照权利要求54所述的网络设备,其中所述状态机还包括指示所述网络正与网络连接的第三状态,即初始状态。
65、按照权利要求64所述的网络设备,还适合于在所述初始状态下,向其它网络设备提供N个有关其在所述网络上的存在的连接通知,其中N是大于或等于1的整数,并从所述其它网络设备接收存在通知。
66、按照权利要求65所述的网络设备,还适合于当过去一段时间时,从所述初始状态转变到所述第一状态。
67、按照权利要求64所述的网络设备,还适合于当取回保存的先前主张的网络地址时,从所述初始状态转变到所述第一状态。
68、一种机器可读介质,包括用于在多个网络设备中的一个网络设备上执行的机器可执行代码,包括:
发送存在通知的机器可执行代码;
从一个或多个其它网络设备接收一个或多个存在通知的机器可执行代码,所述接收产生一个或多个接收的存在通知;和
根据接收的存在通知,选择所述一个网络设备的预期网络地址的机器可执行代码。
69、按照权利要求68所述的机器可读介质,其中每个存在通知包括唯一的网络设备标识符。
70、按照权利要求69所述的机器可读介质,其中所述唯一的网络设备标识符是硬件地址。
71、按照权利要求69所述的机器可读介质,其中所述选择根据每个所述唯一的网络设备标识符进行。
72、按照权利要求71所述的机器可读介质,其中所述选择包括:
对所述其它网络设备的每个所述唯一的网络设备标识符以及所述一个网络设备的唯一网络设备标识符分类,所述分类得到所述多个网络设备的分类列表;
确定所述一个网络设备在分类列表内的顺序位置;和
根据所述顺序位置,创建所述预期网络地址。
73、按照权利要求72所述的机器可读介质,其中所述创建包括将与所述顺序位置相关的偏移量和基本地址相加。
74、按照权利要求68所述的机器可读介质,其中所述发送包括发送网络连接消息。
75、按照权利要求74所述的机器可读介质,其中所述发送包括以固定时间间隔或者随机时间间隔之一发送所述消息的两个或更多实例。
76、按照权利要求68所述的机器可读介质,其中所述发送包括组播。
77、按照权利要求68所述的机器可读介质,还包括:
确定在所述预期网络地址和任意所述其它网络设备主张的网络地址之间是否存在冲突的机器可执行代码;和
如果存在所述冲突,那么解决所述冲突,以使所述预期网络地址只由所述多个网络设备中的一个网络设备主张的机器可执行代码。
78、按照权利要求77所述的机器可读介质,其中所述接收的存在通知包括所述其它网络设备主张的网络地址的指示。
79、按照权利要求78所述的机器可读介质,其中所述其它网络设备主张的网络地址的指示是先前与所述网络连接但是目前未与所述网络连接的网络设备主张的网络地址的指示。
80、按照权利要求78所述的机器可读介质,其中所述确定包括证实所述其它网络设备主张的所述网络地址是否包括所述预期网络地址。
81、按照权利要求80所述的机器可读介质,其中如果所述证实确定所述其它网络设备的所述网络地址包括所述预期网络地址,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并关于所述新的预期网络地址重复所述确定。
82、按照权利要求80所述的机器可读介质,其中所述确定还包括,如果所述证实确定所述其它网络设备的网络地址不包括所述预期网络地址,那么把所述预期网络地址通知每个所述其它网络设备,并等待从任意所述其它网络设备接收对所述一个网络设备对所述预期网络地址的主张的任意反对。
83、按照权利要求82所述的机器可读介质,还包括如果所述一个网络设备未能从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么主张所述预期网络地址为所述一个网络设备的网络地址的机器可执行代码。
84、按照权利要求82所述的机器可读介质,其中如果所述一个网络设备从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并对所述新的预期网络地址重复所述确定。
85、按照权利要求84所述的机器可读介质,还包括当收到所述反对时,应用网络地址冲突解决方案的机器可执行代码,其中所述选择新的预期地址取决于所述网络地址冲突解决方案的所述一个网络设备不应主张所述网络地址的决定。
86、按照权利要求85所述的机器可读介质,其中所述网络地址冲突解决方案是所述一个网络设备的唯一标识符和以其名义发送所述反对的另一网络设备的唯一标识符的比较。
87、按照权利要求68所述的机器可读介质,其中所述预期网络地址是电话簿号码。
88、按照权利要求87所述的机器可读介质,其中所述电话簿号码是电话分机,所述网络设备是电话机。
89、一种包括机器可执行代码的机器可读介质,所述机器可执行代码用于在包括一个无效网络设备和至少一个其它网络设备的网络中的一个网络设备上执行,包括:
保持所述无效网络设备的所述网络地址的机器可执行代码;和
当确定所述无效网络设备无效时,把所述无效网络设备已主张的所述网络地址通知给所述至少一个其它网络设备的机器可执行代码。
90、一种保存机器可执行代码的机器可读介质,当由网络设备执行时,所述机器可执行代码使所述网络设备保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
Claims (90)
1、在多个网络设备的一个网络设备上,一种方法包括:
发送存在通知;
从一个或多个其它网络设备接收一个或多个存在通知;和
根据接收的存在通知,选择所述一个网络设备的预期网络地址。
2、按照权利要求1所述的方法,其中每个存在通知包括唯一的网络设备标识符。
3、按照权利要求2所述的方法,其中所述唯一的网络设备标识符是硬件地址。
4、按照权利要求2所述的方法,其中所述选择以每个所述唯一的网络设备标识符为基础。
5、按照权利要求4所述的方法,其中所述选择包括:
对所述其它网络设备的每个所述唯一的网络设备标识符以及所述一个网络设备的唯一标识符分类,所述分类得到所述多个网络设备的分类列表;
确定所述一个网络设备在分类列表内的顺序位置;和
根据所述顺序位置,创建所述预期网络地址。
6、按照权利要求5所述的方法,其中所述创建预期网络地址包括将与所述顺序位置相关的偏移量和基本地址相加。
7、按照权利要求1所述的方法,其中所述发送存在通知包括发送网络连接消息。
8、按照权利要求7所述的方法,其中所述发送网络连接消息包括以固定时间间隔或者随机时间间隔之一发送所述消息的两个或更多实例。
9、按照权利要求1所述的方法,其中所述发送包括组播。
10、按照权利要求1所述的方法,还包括:
确定在所述预期网络地址和任意所述其它网络设备主张的网络地址之间是否存在冲突;和
如果存在冲突,那么解决所述冲突,以使所述预期网络地址只由所述多个网络设备中的一个网络设备主张。
11、按照权利要求10所述的方法,其中所述接收的存在通知包括所述其它网络设备主张的网络地址的指示。
12、按照权利要求11所述的方法,其中所述其它网络设备主张的网络地址的指示包括先前与所述网络连接但是目前未与所述网络连接的网络设备主张的网络地址的指示。
13、按照权利要求11所述的方法,其中所述确定是否存在冲突包括证实所述其它网络设备主张的所述网络地址是否包括所述预期网络地址。
14、按照权利要求13所述的方法,其中如果所述证实确定所述其它网络设备的所述网络地址包括所述预期网络地址,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并关于所述新的预期网络地址重复确定是否存在冲突。
15、按照权利要求13所述的方法,其中所述确定是否存在冲突还包括,如果所述证实确定所述其它网络设备的网络地址不包括所述预期网络地址,那么把所述预期网络地址通知每个所述其它网络设备,并等待从任意所述其它网络设备接收对所述一个网络设备对所述预期网络地址的主张的任意反对。
16、按照权利要求15所述的方法,还包括如果所述一个网络设备未能从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么主张所述预期网络地址为所述一个网络设备的网络地址。
17、按照权利要求15所述的方法,其中如果所述一个网络设备从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并对所述新的预期网络地址重复确定是否存在冲突。
18、按照权利要求17所述的方法,还包括当收到所述反对时,应用网络地址冲突解决方案,其中所述选择新的预期地址取决于所述网络地址解决方案的所述一个网络设备不应主张所述网络地址的决定。
19、按照权利要求18所述的方法,其中所述网络地址冲突解决方案是所述一个网络设备的唯一标识符和以其名义发送所述反对的另一网络设备的唯一标识符的比较。
20、按照权利要求1所述的方法,其中所述网络地址是电话簿号码。
21、按照权利要求20所述的方法,其中所述电话簿号码是电话分机,所述网络设备是电话机。
22、在包括第一网络设备、第二网络设备和至少一个其它网络设备的网络中,一种保持第一网络设备的网络地址的方法,所述方法包括:
在所述第二网络设备:
保持所述第一网络设备的所述网络地址;和
当确定所述第一网络设备无效时,把所述第一网络设备已主张的所述网络地址通知所述至少一个其它网络设备。
23、按照权利要求22所述的方法,其中所述通知包括定期通知。
24、按照权利要求23所述的方法,其中所述定期通知包括定期组播消息。
25、按照权利要求22所述的方法,其中所述至少一个其它网络设备包括第三设备,所述方法还包括:
在所述第三网络设备:
当收到所述第一网络设备的所述网络地址已被主张的所述通知时,比较所述第一网络设备的网络地址与所述第三网络设备的预期网络地址;和
如果所述比较指出所述第一网络设备的所述网络地址和所述第三网络设备的所述预期网络地址匹配,那么为所述第三网络设备选择另一预期网络地址。
26、按照权利要求22所述的方法,其中所述通知以确定所述第二网络设备是应进行所述通知的网络设备为条件。
27、按照权利要求26所述的方法,其中所述确定识别应为所述无效的第一网络设备进行所述通知的唯一网络设备。
28、按照权利要求27所述的方法,其中所述确定包括依据其唯一标识符,对或者目前存在于所述网络上或者先前存在于所述网络上的多个网络设备分类,以便创建网络设备的分类列表,并查明在分类列表内,所述无效的第一网络设备跟在所述第二网络设备之后,同时在列表中,在所述第一和第一网络设备之间没有插入任何有效的网络设备。
29、按照权利要求28所述的方法,其中另一方面,所述确定包括查明所述无效的第一网络设备在所述分类列表内的第一个有效网络设备之前,所述第二网络设备是所述分类列表内的最后一个有效网络设备。
30、按照权利要求22所述的方法,其中当在所述第二网络设备收到另一网络设备想主张所述网络地址的指示时,把对所述主张的反对传递给所述另一网络设备。
31、一种在网络设备使用的方法,包括保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
32、一种与一个或多个网络设备一起使用的网络设备,所述网络设备和所述其它网络设备累积形成多个网络设备,所述网络设备适合于:
发送存在通知;
从所述其它网络设备接收一个或多个存在通知;和
根据接收的存在通知,选择所述网络设备的预期网络地址。
33、按照权利要求32所述的网络设备,其中每个存在通知包括唯一的网络设备标识符。
34、按照权利要求33所述的网络设备,其中所述唯一的网络设备标识符是硬件地址。
35、按照权利要求33所述的网络设备,其中所述选择以每个所述唯一的网络设备标识符为基础。
36、按照权利要求35所述的网络设备,其中所述选择包括:
对所述其它网络设备的每个所述唯一的网络设备标识符以及所述网络设备的唯一标识符分类,所述分类得到所述多个网络设备的分类列表;
确定所述网络设备在分类列表内的顺序位置;和
根据所述顺序位置,创建所述预期网络地址。
37、按照权利要求36所述的网络设备,其中所述创建预期网络地址包括把与所述顺序位置相关的偏移量和基本地址相加。
38、按照权利要求32所述的网络设备,其中所述发送存在通知包括发送网络连接消息。
39、按照权利要求38所述的网络设备,其中所述发送网络连接消息包括以固定时间间隔或者随机时间间隔之一发送所述消息的两个或更多实例。
40、按照权利要求32所述的网络设备,其中所述发送包括组播。
41、按照权利要求32所述的网络设备,还适合于:
确定在所述预期网络地址和任意所述其它网络设备主张的网络地址之间是否存在冲突;和
如果存在冲突,那么解决所述冲突,以使所述预期网络地址只由所述多个网络设备中的一个网络设备主张。
42、按照权利要求41所述的网络设备,其中所述的接收存在通知包括所述其它网络设备主张的网络地址的指示。
43、按照权利要求42所述的网络设备,其中所述其它网络设备主张的网络地址的指示包括先前与所述网络连接但是目前未与所述网络连接的网络设备主张的网络地址的指示。
44、按照权利要求42所述的网络设备,其中所述确定是否存在冲突包括证实所述其它网络设备主张的所述网络地址是否包括所述预期网络地址。
45、按照权利要求44所述的网络设备,其中如果所述证实确定所述其它网络设备的所述网络地址包括所述预期网络地址,所述解决包括为所述网络设备选择一个新的预期网络地址,并关于所述新的预期网络地址重复确定是否存在冲突。
46、按照权利要求44所述的网络设备,其中所述确定是否存在冲突还包括,如果所述证实确定所述其它网络设备的网络地址不包括所述预期网络地址,那么把所述预期网络地址通知每个所述其它网络设备,并等待从任意所述其它网络设备接收对所述网络设备对所述预期网络地址的主张的任意反对。
47、按照权利要求46所述的网络设备,还适合于如果所述网络设备未能从任意所述其它网络设备收到对所述网络设备对所述预期网络地址的主张的反对,那么主张所述预期网络地址为所述网络设备的网络地址。
48、按照权利要求46所述的网络设备,其中如果所述网络设备从任意所述其它网络设备收到对所述网络设备对所述预期网络地址的主张的反对,那么所述解决包括为所述网络设备选择一个新的预期网络地址,并对所述新的预期网络地址重复确定是否存在冲突。
49、按照权利要求48所述的网络设备,还适合于当收到所述反对时,应用网络地址冲突解决方案,其中所述选择新的预期地址取决于所述网络地址解决方案的所述网络设备不应主张所述网络地址的决定。
50、按照权利要求49所述的网络设备,其中所述网络地址冲突解决方案是所述网络设备的唯一标识符和以其名义发送所述反对的另一网络设备的唯一标识符的比较。
51、按照权利要求32所述的网络设备,其中所述网络地址是电话簿号码。
52、按照权利要求51所述的网络设备,其中所述电话簿号码是电话分机,所述网络设备是电话机。
53、一种用于和包括一个无效网络设备和至少一个其它网络设备的网络连接的网络设备,所述网络设备适合于:
保持所述无效网络设备的所述网络地址;和
当确定所述无效网络设备无效时,把所述无效网络设备已主张的所述网络地址通知所述至少一个其它网络设备。
54、一种适合于保持包括第一状态和第二状态的状态机的网络设备,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
55、按照权利要求54所述的网络设备,还适合于在所述第一状态下,把所述预期网络地址通知其它网络设备。
56、按照权利要求55所述的网络设备,还适合于在所述第一状态下,当从任何所述其它网络设备收到对所述网络设备的所述网络地址的主张的反对时,选择另一预期网络地址。
57、按照权利要求55所述的网络设备,还适合于当延期时期满期,而未从任何所述其它网络设备收到对所述网络设备的所述网络地址的主张的反对时,从所述第一状态转变到所述第二状态,其中依据所述转变,所述网络设备主张所述预期网络地址为其网络地址。
58、按照权利要求57所述的网络设备,还适合于在所述第二状态下,定期把其对所述网络地址的主张通知其它网络设备。
59、按照权利要求58所述的网络设备,还适合于如果在所述第二状态下,所述网络设备从任何所述其它网络设备收到对所述网络设备的所述网络地址的主张的反对,那么从所述第二状态转变到所述第一状态。
60、按照权利要求59所述的网络设备,其中对所述网络设备的所述网络地址的主张的所述反对包括另一网络设备已主张所述网络地址的指示。
61、按照权利要求60所述的网络设备,还适合于当收到对所述网络设备的所述网络地址的主张的所述反对时,应用网络地址冲突解密方案,其中从所述第二状态到所述第一状态的所述转变取决于所述网络地址解决方案的所述网络设备不应主张所述网络地址的决定。
62、按照权利要求61所述的网络设备,其中所述网络地址冲突解决方案是所述网络设备的唯一标识符和已主张所述网络地址的另一网络设备的唯一标识符的比较。
63、按照权利要求62所述的网络设备,其中所述唯一标识符是硬件地址,其中如果所述网络设备的硬件地址高于所述另一网络设备的硬件地址,那么产生所述网络设备不应主张所述网络地址的所述决定。
64、按照权利要求54所述的网络设备,其中所述状态机还包括指示所述网络正与网络连接的第三状态,即初始状态。
65、按照权利要求64所述的网络设备,还适合于在所述初始状态下,向其它网络设备提供N个有关其在所述网络上的存在的连接通知,其中N是大于或等于1的整数,并从所述其它网络设备接收存在通知。
66、按照权利要求65所述的网络设备,还适合于当过去一段时间时,从所述初始状态转变到所述第一状态。
67、按照权利要求64所述的网络设备,还适合于当取回保存的先前主张的网络地址时,从所述初始状态转变到所述第一状态。
68、一种机器可读介质,包括用于在多个网络设备中的一个网络设备上执行的机器可执行代码,包括:
发送存在通知的机器可执行代码;
从一个或多个其它网络设备接收一个或多个存在通知的机器可执行代码;和
根据接收的存在通知,选择所述一个网络设备的预期网络地址的机器可执行代码。
69、按照权利要求68所述的机器可读介质,其中每个存在通知包括唯一的网络设备标识符。
70、按照权利要求69所述的机器可读介质,其中所述唯一的网络设备标识符是硬件地址。
71、按照权利要求69所述的机器可读介质,其中所述选择以每个所述唯一的网络设备标识符为基础。
72、按照权利要求71所述的机器可读介质,其中所述选择包括:
对所述其它网络设备的每个所述唯一的网络设备标识符以及所述一个网络设备的唯一标识符分类,所述分类得到所述多个网络设备的分类列表;
确定所述一个网络设备在分类列表内的顺序位置;和
根据所述顺序位置,创建所述预期网络地址。
73、按照权利要求72所述的机器可读介质,其中所述创建预期网络地址包括把与所述顺序位置相关的偏移量把基本地址相加。
74、按照权利要求68所述的机器可读介质,其中所述发送存在通知包括发送网络连接消息。
75、按照权利要求74所述的机器可读介质,其中所述发送网络连接消息包括以固定时间间隔或者随机时间间隔之一发送所述消息的两个或更多实例。
76、按照权利要求68所述的机器可读介质,其中所述发送包括组播。
77、按照权利要求68所述的机器可读介质,还包括:
确定在所述预期网络地址和任意所述其它网络设备主张的网络地址之间是否存在冲突的机器可执行代码;和
如果存在冲突,那么解决所述冲突,以使所述预期网络地址只由所述多个网络设备中的一个网络设备主张的机器可执行代码。
78、按照权利要求77所述的机器可读介质,其中所述接收的存在通知包括所述其它网络设备主张的网络地址的指示。
79、按照权利要求78所述的机器可读介质,其中所述其它网络设备主张的网络地址的指示包括先前与所述网络连接,但是目前未与所述网络连接的网络设备主张的网络地址的指示。
80、按照权利要求78所述的机器可读介质,其中所述确定是否存在冲突包括证实所述其它网络设备主张的所述网络地址是否包括所述预期网络地址。
81、按照权利要求80所述的机器可读介质,其中如果所述证实确定所述其它网络设备的所述网络地址包括所述预期网络地址,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并关于所述新的预期网络地址重复确定是否存在冲突。
82、按照权利要求80所述的机器可读介质,其中所述确定是否存在冲突还包括,如果所述证实确定所述其它网络设备的网络地址不包括所述预期网络地址,那么把所述预期网络地址通知每个所述其它网络设备,并等待从任意所述其它网络设备接收对所述一个网络设备对所述预期网络地址的主张的任意反对。
83、按照权利要求82所述的机器可读介质,还包括如果所述一个网络设备未能从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么主张所述预期网络地址为所述一个网络设备的网络地址的机器可执行代码。
84、按照权利要求82所述的机器可读介质,其中如果所述一个网络设备从任意所述其它网络设备收到对所述一个网络设备对所述预期网络地址的主张的反对,那么所述解决包括为所述一个网络设备选择一个新的预期网络地址,并对所述新的预期网络地址重复确定是否存在冲突。
85、按照权利要求84所述的机器可读介质,还包括当收到所述反对时,应用网络地址冲突解决方案的机器可执行代码,其中所述选择新的预期地址取决于所述网络地址解决方案的所述一个网络设备不应主张所述网络地址的决定。
86、按照权利要求85所述的机器可读介质,其中所述网络地址冲突解决方案是所述一个网络设备的唯一标识符和以其名义发送所述反对的另一网络设备的唯一标识符的比较。
87、按照权利要求68所述的机器可读介质,其中所述网络地址是电话簿号码。
88、按照权利要求87所述的机器可读介质,其中所述电话簿号码是电话分机,所述网络设备是电话机。
89、一种包括机器可执行代码的机器可读介质,所述机器可执行代码用于在包括一个无效网络设备和至少一个其它网络设备的网络中的一个网络设备上执行,包括:
保持所述无效网络设备的所述网络地址的机器可执行代码;和
当确定所述无效网络设备无效时,把所述无效网络设备已主张的所述网络地址通知所述至少一个其它网络设备的机器可执行代码。
90、一种保存机器可执行代码的机器可读介质,当由网络设备执行时,所述机器可执行代码使所述网络设备保持包括第一状态和第二状态的状态机,所述第一状态指示所述网络设备已选择预期的网络地址,所述第二状态指示所述网络设备已主张所述预期网络地址为其网络地址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51864603P | 2003-11-12 | 2003-11-12 | |
US60/518,646 | 2003-11-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1898904A true CN1898904A (zh) | 2007-01-17 |
Family
ID=34590286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800383658A Pending CN1898904A (zh) | 2003-11-12 | 2004-11-12 | 对等体发现 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7577150B2 (zh) |
EP (1) | EP1690368B1 (zh) |
JP (1) | JP5078357B2 (zh) |
KR (1) | KR101129507B1 (zh) |
CN (1) | CN1898904A (zh) |
CA (1) | CA2544014C (zh) |
WO (1) | WO2005048531A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047706A (zh) * | 2008-06-02 | 2011-05-04 | 高通股份有限公司 | 选择性释放终端与接入点之间的连接 |
CN101690041B (zh) * | 2007-07-10 | 2013-01-23 | 高通股份有限公司 | 生成并维护用于无线网络的正交连接标识(cid)的装置和方法 |
CN101690038B (zh) * | 2007-07-10 | 2013-03-06 | 高通股份有限公司 | 用于在对等网络中的对等点发现中传送标识符的编码方法 |
CN101690283B (zh) * | 2007-07-06 | 2014-02-19 | 高通股份有限公司 | 与对等无线通信中的对等点发现和/或寻呼相关的方法和装置 |
WO2022089008A1 (zh) * | 2020-10-31 | 2022-05-05 | 华为技术有限公司 | 一种基于p2p的数据分发方法、装置及系统 |
Families Citing this family (37)
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 |
EP1905218A1 (en) * | 2005-07-15 | 2008-04-02 | 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 |
US9392069B2 (en) * | 2005-11-18 | 2016-07-12 | Aol Inc. | 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 |
US8811369B2 (en) | 2006-01-11 | 2014-08-19 | Qualcomm Incorporated | Methods and apparatus for supporting multiple communications modes of operation |
JP2009523376A (ja) * | 2006-01-11 | 2009-06-18 | クゥアルコム・インコーポレイテッド | 認識通信 |
US8468131B2 (en) * | 2006-06-29 | 2013-06-18 | Avaya Canada Corp. | Connecting devices in a peer-to-peer network with a service provider |
CA2657094C (en) * | 2006-07-07 | 2018-05-01 | Fringland Ltd. | 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 |
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 |
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 |
US8570972B2 (en) * | 2007-07-10 | 2013-10-29 | 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 |
DE102007043652A1 (de) * | 2007-09-13 | 2009-04-02 | Siemens Ag | Verfahren zum Betrieb eines dezentralen Kommunikationsnetzes |
US8526442B2 (en) * | 2008-03-13 | 2013-09-03 | Qualcomm Incorporated | Methods and apparatus for using multiple connection identifiers based on traffic requirements |
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 |
US8595501B2 (en) | 2008-05-09 | 2013-11-26 | Qualcomm Incorporated | Network helper for authentication between a token and verifiers |
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 |
US11595470B1 (en) * | 2021-09-17 | 2023-02-28 | Vmware, Inc. | Resolving L2 mapping conflicts without reporter synchronization |
Family Cites Families (26)
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 |
AU2001253064A1 (en) | 2000-03-31 | 2001-10-15 | 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 | 無線通信システム |
AU2002234258A1 (en) * | 2001-01-22 | 2002-07-30 | 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 |
-
2004
- 2004-11-12 EP EP04797209.6A patent/EP1690368B1/en not_active Expired - Lifetime
- 2004-11-12 CA CA2544014A patent/CA2544014C/en not_active Expired - Lifetime
- 2004-11-12 CN CNA2004800383658A patent/CN1898904A/zh active Pending
- 2004-11-12 US US10/986,297 patent/US7577150B2/en active Active
- 2004-11-12 JP JP2006538621A patent/JP5078357B2/ja not_active Expired - Fee Related
- 2004-11-12 KR KR1020067011530A patent/KR101129507B1/ko active IP Right Grant
- 2004-11-12 WO PCT/CA2004/001957 patent/WO2005048531A1/en active Application Filing
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690283B (zh) * | 2007-07-06 | 2014-02-19 | 高通股份有限公司 | 与对等无线通信中的对等点发现和/或寻呼相关的方法和装置 |
CN101690041B (zh) * | 2007-07-10 | 2013-01-23 | 高通股份有限公司 | 生成并维护用于无线网络的正交连接标识(cid)的装置和方法 |
CN101690038B (zh) * | 2007-07-10 | 2013-03-06 | 高通股份有限公司 | 用于在对等网络中的对等点发现中传送标识符的编码方法 |
CN103260149A (zh) * | 2007-07-10 | 2013-08-21 | 高通股份有限公司 | 生成并维护用于无线网络的正交连接标识(cid)的装置和方法 |
CN103260149B (zh) * | 2007-07-10 | 2016-04-13 | 高通股份有限公司 | 生成并维护用于无线网络的正交连接标识(cid)的装置和方法 |
CN102047706A (zh) * | 2008-06-02 | 2011-05-04 | 高通股份有限公司 | 选择性释放终端与接入点之间的连接 |
US8520502B2 (en) | 2008-06-02 | 2013-08-27 | Qualcomm Incorporated | Systems and methods for managing RRC connections in wireless communications |
WO2022089008A1 (zh) * | 2020-10-31 | 2022-05-05 | 华为技术有限公司 | 一种基于p2p的数据分发方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1690368A1 (en) | 2006-08-16 |
EP1690368A4 (en) | 2011-08-31 |
EP1690368B1 (en) | 2014-07-02 |
CA2544014C (en) | 2015-07-14 |
US20050117525A1 (en) | 2005-06-02 |
WO2005048531B1 (en) | 2005-07-14 |
JP2007511144A (ja) | 2007-04-26 |
KR20060135652A (ko) | 2006-12-29 |
CA2544014A1 (en) | 2005-05-26 |
WO2005048531A1 (en) | 2005-05-26 |
KR101129507B1 (ko) | 2012-07-05 |
US7577150B2 (en) | 2009-08-18 |
JP5078357B2 (ja) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1898904A (zh) | 对等体发现 | |
CN1121100C (zh) | 移动通信系统中掉落呼叫的重连方法 | |
CN1843047A (zh) | 移动通信终端和通信管理装置 | |
CN1264091C (zh) | 分布式高速缓存同步协议 | |
CN1578497A (zh) | 无线基站、无线通信系统、无线基站的通信控制方法 | |
CN101064655A (zh) | 为客户终端提供紧急接入wlan的方法 | |
JP4708473B2 (ja) | 通信システム、移動機、着信制御方法 | |
CN1842038A (zh) | 服务装置、客户端连接目的地切换控制法和可读存储介质 | |
CN1853436A (zh) | 在无线广域网与无线局域网之间的切换 | |
CN1585366A (zh) | 无线基站,网络系统,通信方法和基站控制程序 | |
CN1917462A (zh) | 在无线局域网(wlan)中传输帧 | |
CN1475065A (zh) | 用于集成lan上的电话通信和数据传输并自动选择最低价格通信公司和连接模式的装置和方法 | |
CN1719846A (zh) | 用于通信的方法和设备,以及计算机产品 | |
CN1268144C (zh) | 移动通信网络中的呼叫代接系统和方法 | |
CN1894936A (zh) | 网络器件的后备 | |
US7395085B1 (en) | Method and system for notifying a multi-mode mobile station of an incoming call | |
CN1522521A (zh) | 无线通信系统,无线通信终端和在无线通信系统中加入的方法 | |
CN1175636C (zh) | 移动通信系统与网关交换器选择服务器以及网关交换器选择方法 | |
US20080043957A1 (en) | System and method for allowing a communication device to have multiple, hierarchically prioritized numbers | |
CN1301023C (zh) | 终端提前接收主叫号码的系统及方法 | |
JP2008060749A (ja) | 移動通信システム、ip−pbx、移動端末及びそれらに用いる圏外移動時における通話保持方法 | |
US7940781B2 (en) | Paging between network devices | |
CN1453938A (zh) | 通信终端、服务提供设备、公共设置信息管理设备通信控制方法 | |
CN1909506A (zh) | 一种软交换中控制媒体资源播放的装置及其方法 | |
US20060067327A1 (en) | Information distribution system, method and network devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |