通过高速缓冲存储和对等查找确定电话号码和ip地址的配对的制作方法

文档序号:7667468阅读:154来源:国知局
专利名称:通过高速缓冲存储和对等查找确定电话号码和ip地址的配对的制作方法
技术领域
本发明涉及确定用于在公共计算机网络上进行点对点通信的装置的电话号码和IP 地址的配对的方法。
背景技术
在2005年11月15日申请的题为"Using PSTN to Communicate IP Addresses for Point-to-Point Text, Voice, Video, or Data Communication"的第11/280,688号美国专利申 请案中揭示一种使用公共交换电话网络(PSTN)来交换用于在公共计算机网络(例如, 因特网)上两个装置之间进行点对点通信的网间协议(IP)地址的方法。在一个实例中, 第一装置使用PSTN将其IP地址发送到第二装置以设置经由公共计算机网络的网络连 接。第二装置接着使用所述IP地址经由公共计算机网络向第一装置发送网络连接请求。 一旦建立网络连接,第一和第二装置就在其用户之间交换承载文本、语音、视频或数据 通信的数据包。 发明内容在本发明一个实施例中, 一种用于第一装置经由公共计算机网络与第二装置通信的方法包含检测用户拨打所述第二装置的电话号码,以及搜索配对列表以获得包含所述第二装置的电话号码和IP地址的配对。如果在配对列表中找到所述配对,那么所述方 法包含使用所述配对中的IP地址来经由公共计算机网络建立与第二装置的计算机网 络连接,以及与第二装置交换数据包。如果在所述配对列表中未找到所述配对,那么所 述方法包含使用对等查找协议来找到所述配对。如果使用对等查找协议未找到所述配 对,那么所述方法包含经由公共交换电话网络建立与第二装置的电话连接以接收所述 IP地址。在一个实施例中,所述方法进一步包含向第二装置发送所述配对,以及通过计算 机网络连接从第二装置接收第一装置的电话号码和IP地址的配对。在一个实施例中, 一种用于第一装置经由公共计算机网络与第二装置通信的方法包 含加入对等査找网络,所述对等查找网络的节点具有电话号码和IP地址的配对;以 及基于与其它装置的直接过去通信、地理位置和商业关系中的至少一者加入所述对等査 找网络中的子组。所述方法进一步包含检测用户拨打所述第二装置的电话号码,搜索 第一装置处的配对列表以获得包含第二装置的电话号码和IP地址的配对。如果在所述 配对列表中未找到所述配对,那么所述方法包含使用对等查找协议来通过对等査找网 络的节点找到所述配对,将所述配对保存在所述配对列表中,使用所述配对中的IP地 址来经由公共计算机网络建立与第二装置的计算机网络连接并与第二装置交换数据包。


图1和图2说明在本发明一个实施例中用于装置之间的点对点通信的系统。 图3是在本发明一个实施例中装置交换IP地址并将其保存在配对列表中的方法的 流程图。图4说明在本发明--个实施例中用于装置之间的点对点通信的另一系统。 图5是在本发明一个实施例中装置用多种方式交换IP地址的方法的流程图。 图6是在本发明一个实施例中装置加入对等网络以进行分布式存储和共享配对列表 的方法的流程图。图7是在本发明一个实施例中装置在没有公共交换电话网络的情况下交换IP地址 的方法的流程图。不同图式中使用相同参考数字指示类似或等同元件。
具体实施方式
第11/280,688号美国专利申请案揭示一种使用公共交换电话网络(PSTN)交换用 于在公共计算机网络上两个装置之间进行点对点通信的IP地址的方法。由于许多用户具有静态IP地址,因此在本发明实施例中提出记住静态IP地址的方 法。所述方法要求第一IP电话(VoIP)网关或电话适配器确定所拨打的电话号码是否与 存储器中的电话号码和IP地址的配对匹配,从而第一 VoIP网关直接与第二 VoIP网关连 接并向第二 VoIP网关传送数据,而不用通过PSTN与第二 VoIP网关交换IP地址。所述 方法大大节省了拨打长途电话呼叫时交换IP地址所带来的连接费用和时间。此外,考虑到VoIP网关因为动态IP地址将不时地改变而无法始终将所拨打的电话 号码与IP地址匹配,在本发明实施例中提出高速缓冲存储IP地址的方法。所述方法利 用了动态IP地址在改变之间的一些时间确实保持相同的事实。对等网络连接(例如使用分布式散列表(DHT)的Chord环)允许数据的分布式存 储和共享。提出一种使用对等网络连接来存储和共享用于经由公共计算机网络在VoIP 网关之间进行通信的电话号码和IP地址配对的方法。通过配对的分布式存储和共享, VoIP网关可在不使用PSTN交换IP地址的情况下实现连接。图1说明本发明一个实施例中用于在VoIP网关102与104之间建立通信的系统100。 VoIP网关102和104通过公共计算机网络106 (例如,因特网)连接以用于通过网络连 接交换数据包。VoIP网关102和104还通过PSTN 108连接以交换IP地址来经由公共计 算机网络106建立网络连接。图2说明本发明一个实施例中VoIP网关102和104的额外细节。VoIP网关102包 含双音多频(DTMF)或频移键控(FSK)接收器202,其耦合到从普通老式电话服务 (POTS)电话204到PSTN 108的PSTN线。DTMF接收器202检测用户所拨打的电话 号码。处理器206耦合到DTMF接收器202以接收用户所拨打的电话号码。处理器206 还耦合到存储器208,所述存储器208用于存储具有用户可能呼叫的各个装置的电话号 码和IP地址的配对的配对列表103 (图1)。存储器208还存储VoIP软件。存储器208 可为快闪存储器或硬盘。在另一实施例中,VoIP网关102与POTS电话204集成以具有 常规电话的形状因数。类似地,VoIP网关104包含DTMF接收器212,其耦合到从POTS电话214到PSTN 108的PSTN线。处理器216耦合到DTMF/FSK接收器212以接收所拨打的电话号码。 处理器216还耦合到存储器218,所述存储器218用于存储具有用户可能呼叫的各个装 置的电话号码和IP地址的配对的配对列表105 (图l)。存储器218还存储VoIP软件。 在另一实施例中,VoIP网关102与POTS电话204集成以具有常规电话的形状因数。图3说明在本发明一个实施例中系统100高速缓冲存储IP地址并接着使用IP地址 来经由公共计算机网络106建立网络连接的方法300。左边展示VoIP网关102的动作,而右边展示VoIP网关104的动作。用相同参考数字但不同参考字母来标记装置102与 104之间的相关动作。首先参看VoIP网关102的动作,在步骤302中,VoIP网关102截取呼叫者在电话 204上拨打的电话号码。具体来说,DTMF/SFK接收器202检测呼叫者所拨打的电话号码。在步骤304A中,VoIP网关102使用检测到的电话号码经由PSTN 108建立与VoIP 网关104的电话连接,因此VoIP网关102和104可交换其IP地址。VoIP网关102和104 可在具有或没有冗余检查(例如,检查和)的情况下使用一系列标准按键音来交换其IP 地址。VoIP网关102和104也可通过各拨打另一装置并将IP地址包含在用于在PSTN 108 上拨出的按键音中来交换其IP地址。在此情况下,PSTN 108使用电话号码来拨叫另一 装置并接着使用电话拨叫之间的DTMF或FSK信令来传输具有IP地址的调制解调器消 息。更多细节请参看第11/280,688号美国专利申请案。在步骤308中,VoIP网关102将VoIP网关104的电话号码和IP地址的配对高速缓 冲存储在其配对列表103 (图1)中。VoIP网关102使用高速缓冲存储来存储可能再次 拨打的电话号码的配对,并丢弃不太可能拨打的电话号码的配对。具体来说,处理器206 将配对高速缓冲存储在位于存储器208中的配对列表103中。应注意,对于向位于同一国家但不同区域代码中或在同一国家且同一区域代码中的 VoIP网关104进行的电话呼叫,检测到的电话号码将仅具有E.164格式的完整电话号码 的一部分。举例来说,对于向同一区域代码中的装置104进行的呼叫,检测到的电话号 码将仅具有不带有国家和区域代码的XXX-YYYY。在此情况下,VoIP网关102使用 WHOIS询问来从VoIP网关104的IP地址中确定VoIP网关104的地理位置。VoIP网关 102从所述地理位置中确定电话号码中任何丢失的代码。在步骤310A中,VoIP网关102经由公共计算机网络106建立与装置104的计算机 网络连接以交换数据包。数据包可承载文本、语音、视频或数据通信。在步骤314A中,VoIP网关102将包中的VoIP网关104的电话号码和IP地址的配 对发送到VoIP网关104,因此VoIP网关104可将其本身的配对包含在其配对列表105 (图1)中。在步骤316A中,VoIP网关102从VoIP网关104接收包中的其本身的电话号码和IP地址的配对,因此VoIP网关102可将其自身的配对包含在其配对列表103中。现参看VoIP网关104的动作,在步骤304B中,VoIP网关104经由PSTN 108建立与VoIP网关102的电话连接,因此VoIP网关102和104可交换其IP地址。VoIP网关104可向VoIP网关102发送其IP地址并从VoIP网关102接收VoIP网关102的IP地址。 这对应于上述动作304A。在步骤306中,VoIP网关104使用呼叫者ID从其电话连接中检测装置102的电话 号码。具体来说,DTMF/SFK接收器212从PSTN线中检测呼叫者ID。在步骤310B中,VoIP网关104经由公共计算机网络106建立与VoIP网关102的计 算机网络连接以交换数据包。这对应于上述动作310A。在步骤312中,VoIP网关104将VoIP网关102的电话号码和IP地址的配对高速缓 冲存储在其配对列表105 (图1)中。具体来说,处理器216将配对存储在位于存储器 218中的配对列表105中。在步骤314B中,VoIP网关104将VoIP网关102的电话号码和IP地址的配对在包 中发送到VoIP网关102,因此VoIP网关102可将其自身的配对包含在其配对列表103 (图1)中。这对应于上述动作314A。在步骤316B中,VoIP网关104接收来自VoIP网关102的包中的其木身的电话号码 和IP地址的配对,因此VoIP网关104可将其自身的配对包含在其配对列表105中。这 对应于上述动作316A。尽管针对具有两个VoIP网关的系统IOO描述方法300,但同一方法可应用于如图4 所示具有额外装置的系统400。举例来说,方法300可结合VoIP网关102、 104、 406和 408使用以产生各自的配对列表103、 105、 407和409。然而,配对列表随着系统中VoIP 网关的数目增加而变大。因此,需要一种处理较大数目的VoIP网关的配对的方法。图5说明在本发明一个实施例中VoIP网关(例如,VoIP网关102)使用多种方式 来确定另一VoIP网关(例如,VoIP网关104)的IP地址因而其可经由公共计算机网络 106建立网络连接的方法500。在步骤502中,VoIP网关102截取呼叫者在电话204上拨打的电话号码。具体来说, DTMF/FSK接收器202确定呼叫者所拨打的电话号码。步骤502随后是步骤504。在步骤504中,VoIP网关102搜索其配对列表103以获得具有用户所拨打电话号码 的配对。步骤504随后是步骤506。在步骤506中,VoIP网关102确定是否找到配对。如果未找到配对,那么步骤506 随后是步骤508或步骤512。如果VoIP网关102因为系统(例如,图4中的系统400) 具有许多VoIP网关而加入对等査找网络以进行配对列表的分布式存储和共享,那么步 骤506随后是步骤508。如果VoIP网关102因为系统400仅具有几个VoIP网关而不加 入此类对等査找网络,那么歩骤506随后是步骤512。如果找到配对,那么步骤506随后是步骤516。在步骤508中,VoIP网关102执行对等査找以找到对等W络中具有所述配对的节点。 在一个实施例巾,VoIP网关形成Chord环中的节点。节点的IP地址通过Chord协议的 SHA-1 (安全散列算法)函数而散列以形成节点识别符,且节点的电话号码通过SHA-1 函数而散列以形成密钥识别符。在Chord环屮,将电话号码(即,密钥)和IP地址的 每一配对指派给节点识别符等于或遵循密钥识别符的后继节点。当一节点加入Chord环时,其将其自身的电话号码和IP地址的配对从其配对列表 提供到适当的后继节点。所述节点接着使用Chord协议的Insert(Key)函数将其配对列表 中的其它配对发送到适当后继节点。闲此,Chord环中的每一节点具有(1)其自身的配 对,(2)经高速缓冲存储的配对列表,以及(3)针对Chord环操作(例如,工nsert(key) 和Lookup(key))的配对列表。VoIP网关102使用Chord协议的Lookup(key)函数来确定所拨打的电话号码的密钥 识别符及其指针表,以直接或间接(通过其它节点)定位存储所述配对的后继节点。VoIP 网关102接着询问后继节点以获得对应于所拨打的电话号码的IP地址。除了存储电话号码和IP地址的配对外,Chord环中的节点还可存储序列号、MAC 地址以及用于检验、授权和其它安全目的的其它相关信息。或者,中央登记节点存储此 用于检验、授权和其它安全目的的信息。步骤508随后是步骤510。在步骤510中,VoIP网关102确定是否通过对等查找找到配对。如果没有,那么步 骤510随后是步骤512。如果找到配对,那么步骤510随后是步骤514。在步骤512中,VoIP网关102使用PSTN 108与VoIP网关104交换IP地址,如上 文在方法300 (图3)的步骤中所描述。步骤512随后是步骤514。在步骤514中,VoIP网关102将VoIP网关104的电话号码和IP地址的配对高速缓 冲存储在其配对列表103 (图l)中。步骤514随后是步骤516。在步骤516中,VoIP网关102经由公共计算机网络106与VoIP网关104建立计算 机网络连接以交换数据包。数据包可承载文本、语音、视频或数据通信。VoIP网关102 和104还交换其各自配对,如上文在方法300 (图3)的步骤中所描述。图6说明在本发明一个实施例中VoIP网关(例如,VoIP网关102)加入对等査找 系统的方法。在步骤602中,VoIP网关102加入对等网络以分布式存储和共享配对列表。在一个 实施例中,用Chord环实施对等网络,其中节点的IP地址通过SHA-1 (安全散列算法) 函数而散列以形成节点识别符,且节点的电话号码通过SHA-1函数而散列以形成密钥识别符。VoIP网关102可使用一种或若干种方法来找到和加入对等网络。VoIP网关102用一个或一个以上网络URL或IP地址联系Chord环的中央登记节点,并接着加入Chord环。VoIP网关102可呼叫中央登记电话号码或已知在Chord环中的节点的电话号码,并接着加入Chord环。VoIP网关102可有效地扫描一范围的IP地址以获得Chord环中的节点,并接着加 入Chord环。或者,VoIP网关102可在Chord环中的一节点有效地扫描一范围的IP地址以获得 其它节点来加入Chord环时加入对等网络。此节点可起到将较小的Chord环收集成较大 的Chord环的作用。除了前两种登记方法,其它登记方法可能导致额外的延迟,因为VoIP W关102必 须搜索对等网络,或者对等网络必须搜索VoIP网关102。应注意,VoIP网关102在每 次VoIP网关102接通或对公共计算机网络106的网络连接断开时均向对等网络进行登 记,使得前两种方法允许VoIP网关102比其它登记方法中更快地就绪。在步骤604屮,VoIP网关102依据用户的兴趣而加入对等网络中的一个或一个以上 子组。在一个实施例中,VoIP网关102使用子组与识别符X相关联的縮减Chord协议 来加入子组。在縮减Chord协议中,子组中的节点保存形成具有用于Insert(X, node)和 Lookup(X,node)的根的树的额外信息。存在许多类型的可形成的子组,且下文描述其中 些下组。VoIP网关102可基于直接过去通信而加入子组。举例来说,已与装置D直接通信 的装置A、 B和C可加入已与装置D直接通信的装置子组。商业和政府机构可使用这些 子组来开发相关类型的服务,例如找到朋友的朋友以收集用于商业目的的信息。举例来 说,商业机构可调査一个家庭来确定其朋友。假定且该商业机构确定个人A、 B和C已 与家庭成员D有直接通信。基于此信息,该商业机构可认为个人A、 B和C是家庭成员 D的朋友。也可从直接过去通信的子组中确定间接过去通信。这可用于开发相关类型的服务, 例如找到具有共同兴趣的人或为收集关于他们的共同兴趣的信息而进行调査。假定个人A0的家庭和朋友包含个人Al、 A2、 A3...An (另外标记为A[l ...n]),因 为个人A1、 A2、 A3…An全部已与个人A0有直接通信。假定对于个人B0、 C0、 DO情 况也是如此,其中其子组为B[l...n]、 C[l...n]和D[l...n]。同时,假定个人B0是子组 A[l...n]中的个人之一 (例如,B0是A3),个人CO是子组B[l ...n]中的个人之一 (例如,C0是B3),目.个人DO是子组C[l...n]中的个人之一 (例如,D0是C3)。在一个实例中,如果两个个人A0和DO包含在警方调查中,那么警方可从子组 A[l…nj、 B[l…n]、 C[l…n]和D[l...n]巾进行搜索,并确定B0是A3且C0是B3。这种 査找表明个人BO和C0桥接了个人A0与D0之间的关系,且警方可将其一部分注意力 集中于个人B0和C0。在另一实例中,假定个人A0和DO是纽约篮球联盟的成员。篮球制造商希望向对 篮球感兴趣的其他人出售篮球。公司可从子组A[l...n]、 B[l…n]、 C[l...n]和D[l...n]中 进行搜索,并确定B0是A3且C0是B3。因为B0和C0桥接了个人A0和D0,因此他 们也可能对篮球感兴趣,所以公司可以他们为目标出售其产品。VoIP网关102可基于地理位置而加入子组。举例来说,具有相同国家和区域代码的 装置A和B加入具有相同国家和区域代码的装置子组。VoIP网关102可基于商业关系而加入子组。在一个实例中,装置A和B提供相同 服务,因此其加入提供所述服务的装置的子组。在另一实例中,装置A和B希望接收相 同服务,因此其加入希望接收所述服务的装置的子组。图7说明在本发明一个实施例中VoIP网关(例如,VoIP网关102)确定另一 VoIP 网关(例如,VoIP网关104)的IP以在不使用PSTN的情况下经由公共计算机网络106 建立网络连接的方法700。在步骤702中,将VoIP网关102绑定到由电话公司指派的电话号码。VoIP网关102 使用WHOIS询问来确定电话号码中任何丢失的代码。在步骤704屮,VoIP网关102从存储器208中检索具有用于分布式存储和共享配对 列表的对等网络中的装置的预设电话号码和IP地址/URL的初始配对列表。VoIP网关 102的制造商将此初始列表编程到存储器208中。在步骤706中,VoIP网关102使用所述配对列表中的电话号码或IP地址中的一者 来向对等网络进行登记。 ,在步骤708中,VoIP网关102加入与对等网络中任一装置的网络连接,以交换用于 文本、语音、视频或数据通信的数据包。所揭示的实施例的特征的各种其它修改和组合均在本发明的范围内。所附权利要求 书涵盖许多实施例。
权利要求
1.一种用于第一装置经由公共计算机网络与第二装置通信的方法,其包括检测用户拨打所述第二装置的电话号码;搜索高速缓冲存储在所述第一装置处的配对列表以获得包含所述第二装置的电话号码和IP地址的配对;如果在所述配对列表中找到所述配对,那么使用所述配对中的所述IP地址来经由所述公共计算机网络建立与所述第二装置的计算机网络连接;以及通过所述计算机网络连接与所述第二装置交换数据包。
2. 根据权利要求l所述的方法,其进一步包括如果在所述配对列表中未找到所述配对,那么使用对等查找协议来通过对等查找网络的节点找到所述配对; 将所述配对保存在所述配对列表中;使用所述配对中的所述IP地址来经由所述公共计算机网络建立与所述第二装 置的计算机网络连接;以及通过所述计算机网络连接与所述第二装置交换所述数据包。
3. 根据权利要求2所述的方法,其中所述对等查找协议包括Chord,且所述电话号码 用作密钥以确定Chord环中具有所述配对的后继节点。
4. 根据权利要求2所述的方法,其进一步包括:如果使用所述对等查找协议未找到所述配对,那么-使用所述电话号码来经由电话网络建立与所述第二装置的电话连接; 通过所述电话连接从所述第二装置接收所述IP地址; 将所述配对保存在所述配对列表中;使用所述IP地址来经由所述公共计算机网络建立与所述第二装置的计算机网 络连接;以及通过所述计算机网络连接与所述第二装置交换所述数据包。
5. 根据权利要求4所述的方法,其进一步包括从所述IP地址中确定所述电话号码的 国家代码和区域代码中的至少一者。
6. 根据权利要求4所述的方法,其中所述交换所述数据包包含向所述第二装置发送所 述配对。
7. 根据权利要求5所述的方法,其中所述交换所述数据包包括从所述第二装置接收所 述第一装置的另一电话号码和另一 IP地址的另一配对。
8. —种用于第一装置经由公共计算机网络与第二装置通信的方法,其包括检测用户第一次拨打所述第二装置的电话号码;使用所述电话号码来经由电话网络建立与所述第二装置的电话连接; 通过所述电话连接接收所述第二装置的IP地址;将所述第二装置的电话号码和IP地址的配对保存在所述第一装置处的配对列表 中;使用所述IP地址来经由所述公共计算机网络建立与所述第二装置的计算机网络 连接;以及通过所述计算机网络连接向所述第二装置发送所述配对。
9. 根据权利要求8所述的方法,其进一步包括通过所述计算机网络连接从所述第二装 置接收所述第一装置的另一电话号码和另一IP地址的另一配对。
10. 根据权利要求9所述的方法,其中所述第二装置使用呼叫者ID从所述电话连接中 确定所述另一电话号码。
11. 根据权利要求9所述的方法,其进一步包括检测所述用户第二次拨打所述电话号码; 搜索所述配对列表以获得所述电话号码从而检索所述配对;使用所述配对中的所述IP地址来经由所述公共计算机网络建立与所述第二装置 的计算机网络连接;以及通过所述计算机网络连接与所述第二装置交换数据包。
12. 根据权利要求11所述的方法,在所述检测所述用户第二次拨打所述电话号码之前, 其进一步包括从所述IP地址中确定所述电话号码的闺家代码和区域代码中的至少 一者。
13. —种用于第一装置经由公共计算机网络与第二装置通信的方法,其包括加入对等查找网络,所述对等查找网络中的每一节点存储包含电话号码和IP地 址的配对的配对列表;检测用户拨打所述第二装置的电话号码;搜索所述第一装置处的本地配对列表以获得包含所述第二装置的电话号码和IP 地址的配对;如果在所述本地配对列表中未找到所述配对,那么使用对等查找协议来通过所述对等查找网络的节点找到所述配对; 将所述配对保存在所述配对列表中;使用所述配对中的所述IP地址来经由所述公共计算机网络建立与所述第二装 置的计算机网络连接;以及通过所述计算机网络连接与所述第二装置交换数据包。
14. 根据权利要求13所述的方法,其中所述对等查找协议包括Chord,且所述电话号 码用作密钥以确定Chord环中具有所述配对的后继节点。
15. 根据权利要求B所述的方法,其进一步包括-加入所述对等查找网络中的子组,其中所述子组的标准基于与其它装置的直接过 去通信、地理位置和商业关系中的至少一者。
16. 根据权利要求15所述的方法,其中所述对等查找协议包括縮减Chord,且所述标 准用作密钥以确定所述Chord环中具有与所述标准匹配的信息的后继节点。
全文摘要
本发明涉及通过高速缓冲存储和对等查找确定电话号码和IP地址的配对。本发明涉及一种用于第一装置经由公共计算机网络与第二装置通信的方法,该方法包含检测用户拨打所述第二装置的电话号码,以及搜索配对列表以获得包含所述第二装置的电话号码和IP地址的配对。如果在所述配对列表中找到所述配对,那么所述方法包含使用所述配对中的所述IP地址来经由所述公共计算机网络建立与所述第二装置的计算机网络连接,以及与所述第二装置交换数据包。如果在所述配对列表中未找到所述配对,那么所述方法包含使用对等查找协议来找到所述配对。如果使用所述对等查找协议未找到所述配对,那么所述方法包含经由电话网络建立与所述第二装置的电话连接以接收所述IP地址。
文档编号H04M7/00GK101222550SQ20071019520
公开日2008年7月16日 申请日期2007年12月4日 优先权日2006年12月30日
发明者广 胡, 陈动人 申请人:虹软(上海)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1