CN105009643B - 面向服务架构总线上的互联网路由 - Google Patents
面向服务架构总线上的互联网路由 Download PDFInfo
- Publication number
- CN105009643B CN105009643B CN201480011845.9A CN201480011845A CN105009643B CN 105009643 B CN105009643 B CN 105009643B CN 201480011845 A CN201480011845 A CN 201480011845A CN 105009643 B CN105009643 B CN 105009643B
- Authority
- CN
- China
- Prior art keywords
- gateway node
- gateway
- node
- internet
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- 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/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/28—Connectivity information management, e.g. connectivity discovery or connectivity update for reactive routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
在一些方面,非网关节点向相邻节点发送互联网路由请求,并且从网关节点接收包括网关节点的地址和网关指示符的响应消息。非网关节点设置网关指针等于该地址。在其它方面,网关节点从相邻节点接收互联网路由请求,并向相邻节点发送包括网关节点的地址和网关指示符的响应消息。在另外的方面,非网关节点从网络上的网关节点接收互联网连通的宣告,该宣告包括网关节点的地址。非网关节点将这些地址添加到潜在网关的列表。当非网关节点接收用于传输至互联网目的地的分组时,其从该列表选择网关地址,并向与网关地址相关联的目的地网关发送分组。
Description
背景技术
概括地说,下文涉及面向服务架构(SOA),并且尤其涉及SOA总线上的互联网路由的实现方式。
在面向服务架构中,一个或多个节点可以彼此进行通信,以为彼此提供互操作服务。在本上下文中,能够把服务看作被自包含软件实现的功能的自主单元。面向服务架构的功能的典型实现方式可以包括由计算机网络互联的多个计算机节点。每一个节点可以与其它节点进行通信,以识别由其它节点提供的服务。每一个节点还可以向其它节点通告一个或多个服务。
对于第一节点调用由面向服务架构中的第二节点提供的服务,该第一节点可以向第二节点发送远程过程调入,该远程过程调入被选择的服务支持。该远程过程调入可以包括由第一节点提供的一个或多个自变量或其它参数。第二节点可以通过基于提供的调入类型和/或参数执行一个或多个软件函数来响应该远程过程调入。在一些示例中,第二节点可以向第一节点提供对该远程过程调入的结果。
最近,已经增加了对面向服务架构总线(还被称为服务总线)的使用。面向服务架构总线有助于彼此交互的软件应用之间的通信,以允许应用来调用彼此的服务。随着对面向服务架构总线的使用的增加,对这些总线的新的使用在继续发展。
发明内容
在一些方面,一种用于在自组织对等网络中进行路由的方法,包括从非网关节点向网络上的一个或多个相邻节点发送针对不确定目的地的互联网路由请求。该方法还包括在非网关节点处从网络上的至少一个网关节点接收响应消息,其中,该响应消息包括至少一个网关节点的地址和网关指示符。该方法另外包括在非网关节点处设置网关指针等于至少一个网关节点的地址。
在其它方面,一种用于在自组织对等网络中进行路由的方法,包括在网关节点处从网络上的一个或多个相邻节点接收互联网路由请求。该方法还包括从网关节点向一个或多个相邻节点发送响应消息,其中,该响应消息包括网关节点的地址和网关指示符。
在另外的方面,一种用于在自组织对等网络中进行路由的方法,包括在非网关节点处从网络上的一个或多个网关节点接收互联网连通的宣告,其中,该宣告包括一个或多个网关节点的地址。该方法还包括在非网关节点处将一个或多个网关节点的地址存储到潜在网关的列表。该方法另外包括接收用于传输至互联网目的地的分组。该方法还包括从潜在网关的列表选择网关地址。该方法更进一步地包括将分组发送至与网关地址相关联的目的地网关。
在又一方面,一种用于在自组织对等网络中进行路由的装置,包括用于从非网关节点向网络上的一个或多个相邻节点发送针对不确定目的地的互联网路由请求的单元。该装置还包括用于在非网关节点处从网络上的至少一个网关节点接收响应消息的单元,其中,该响应消息包括至少一个网关节点的地址和网关指示符。该装置另外包括用于在非网关节点处设置网关指针等于至少一个网关节点的地址的单元。
在又一方面,一种用于在自组织对等网络中进行路由的装置,包括用于在网关节点处从网络上的一个或多个相邻节点接收互联网路由请求的单元。该装置还包括用于从网关节点向一个或多个相邻节点发送响应消息的单元,其中,该响应消息包括网关节点的地址和网关指示符。
在又一方面,一种用于在自组织对等网络中进行路由的装置,包括用于在非网关节点处从网络上的一个或多个网关节点接收互联网连通的宣告的单元,其中,该宣告包括一个或多个网关节点的地址。该装置还包括用于在非网关节点处将一个或多个网关节点的地址存储到潜在网关的列表的单元。该装置另外包括用于接收用于传输至互联网目的地的分组的单元。该装置还包括用于从潜在网关的列表选择网关地址的单元。该装置进一步地包括用于将分组发送至与网关地址相关联的目的地网关的单元。
在又一方面,一种计算机程序产品包括非暂时性计算机可读介质。非暂时性计算机可读介质包括用于从非网关节点向自组织对等网络中的一个或多个相邻节点发送针对不确定目的地的互联网路由请求的代码。非暂时性计算机可读介质还包括用于在非网关节点处从网络上的至少一个网关节点接收响应消息的代码,其中,该响应消息包括至少一个网关节点的地址和网关指示符。非暂时性计算机可读介质另外包括用于在非网关节点处设置网关指针等于至少一个网关节点的地址的代码。
在又一方面,一种计算机程序产品包括非暂时性计算机可读介质。该非暂时性计算机可读介质包括用于在网关节点处从自组织对等网络上的一个或多个相邻节点接收互联网路由请求的代码。该非暂时性计算机可读介质还包括用于从网关节点向一个或多个相邻节点发送响应消息的代码,其中,该响应消息包括网关节点的地址和网关指示符。
在又一实施例中,一种计算机程序产品包括非暂时性计算机可读介质。该非暂时性计算机可读介质包括用于在非网关节点处从自组织对等网络上的一个或多个网关节点接收互联网连通的宣告的代码,其中,该宣告包括一个或多个网关节点的地址。非暂时性计算机可读介质还包括用于在非网关节点处将一个或多个网关节点的地址存储到潜在网关的列表的代码。非暂时性计算机可读介质另外包括用于接收用于传输至互联网目的地的分组的代码。非暂时性计算机可读介质还包括用于从潜在网关的列表选择网关地址的代码。非暂时性计算机可读介质更进一步地包括用于将分组发送至与网关地址相关联的目的地网关的代码。
在又一实施例中,一种自组织对等网络中的非网关节点包括一个或多个处理器,以及被耦合至一个或多个处理器的存储器。该一个或多个处理器被配置为从非网关节点向网络上的一个或多个相邻节点发送针对不确定目的地的互联网路由请求。该一个或多个处理器还被配置为在非网关节点处从网络上的一个或多个网关节点接收响应消息,其中,该响应消息包括一个或多个网关节点的地址和网关指示符。该一个或多个处理器被配置为在非网关节点处设置网关指针等于一个或多个网关节点的地址。
在其它实施例中,一种自组织对等网络中的非网关节点包括一个或多个处理器,以及被耦合至一个或多个处理器的存储器。该一个或多个处理器被配置为在网关节点处从自组织对等网络上的一个或多个相邻节点接收互联网路由请求。该一个或多个处理器另外被配置为从网关节点向一个或多个相邻节点发送响应消息,其中,该响应消息包括网关节点的地址和网关指示符。
在另一实施例中,一种自组织对等网络中的非网关节点包括一个或多个处理器,以及被耦合至一个或多个处理器的存储器。该一个或多个处理器被配置为在非网关节点处从网络上的一个或多个网关节点接收互联网连通的宣告,其中,该宣告包括一个或多个网关节点的地址。该一个或多个处理器还被配置为在非网关节点处将一个或多个网关节点的地址存储到潜在网关的列表。该一个或多个处理器另外被配置为接收用于传输至互联网目的地的分组。一个或多个处理器还被配置为从潜在网关的列表选择网关地址。该一个或多个处理器被配置为将分组发送至与网关地址相关联的目的地网关。
附图说明
通过参考附图可以实现对本发明的特性和优点的进一步理解。在附图中,类似的组件或特征可以具有相同的参考标号。进一步地,可以通过由破折号和区分类似组件的第二标号紧接着参考标号来区分相同类型的各个组件。如果在本说明书中仅使用第一参考标号,则该描述可应用于具有相同的第一参考标号的类似组件中的任一个组件而不考虑第二参考标号。
图1示出了用于在面向服务架构(SOA)总线上实现互联网协议(IP)连通的示例系统的框图;
图2示出了无线通信系统的框图;
图3示出了用于在SOA总线上实现IP连通的示例系统的框图;
图4示出了SOA总线上的第一设备的第一IP服务与第二设备的第二IP服务之间的示例通信信号的框图;
图5示出了被配置为在SOA总线上发送和接收IP分组的示例设备的框图;
图6示出了被配置为在SOA总线上发送和接收IP分组的示例设备的框图;
图7示出了用于在SOA总线上实现IP连通的示例方法的流程图;
图8示出了用于在SOA总线上实现IP连通的示例方法的流程图;
图9示出了用于在SOA总线上实现IP连通的示例方法的流程图;
图10示出了用于在SOA总线上实现IP连通的示例方法的流程图;
图11示出了用于在SOA总线上生成用于在IP通信中使用的IP地址的示例方法的流程图;
图12示出了用于发现用于在SOA总线上实现IP连通的IP服务的示例方法的流程图;
图13根据本公开内容示出了包括网关节点和非网关节点的自组织对等网络;
图14示出了概念性地示出由网关节点和非网关节点执行以实现本公开内容的一个方面的示例框的功能框图;
图15示出了概念性地示出由网关节点和非网关节点执行以实现本公开内容的一个方面的消息交换的示例的数据流程图;
图16示出了概念性地示出由网关节点和非网关节点执行以实现本公开内容的一个方面的示例框的功能框图;
图17示出了概念性地示出由网关节点和非网关节点执行以实现本公开内容的一个方面的消息交换的示例的数据流程图;
图18示出了概念性地示出由非网关节点执行以实现本公开内容的一个方面的示例框的功能框图;
图19示出了概念性地示出由网关节点执行以实现本公开内容的一个方面的示例框的功能框图;
图20示出了概念性地示出由非网关节点执行以实现本公开内容的一个方面的示例框的功能框图。
具体实施方式
描述了SOA总线上的IP通信的实现方式。与SOA总线耦合的设备可以通告并实现IP服务的单独实例。每一个IP服务具有与SOA总线相关联的IP子网中的IP地址。通告的每一个IP服务可以具有包括统一地与IP连通相关联的服务描述符的名称。此外,每一个IP服务的名称可以包括针对该特定服务的IP地址。第一设备可以通过远程地调用由第二设备通告的IP服务并将IP分组作为调用的参数传递给第二设备的IP服务来在SOA总线上将IP分组发送至第二设备。
还描述了关于在面向服务架构总线上进行多跳互联网路由的实现方式。例如,为了提供互联网通知的(Internet-informed)路由,一些实现方式涉及对自组织按需距离向量(AODV)路由标准中的现有路由机制的修改。替代的实现方式涉及由非网关节点基于网关节点能力的SOA总线宣告对潜在网关节点的列表的维护,以及对未经修改的AODV路由机制的利用,以向选自列表的网关节点发送和/或转发IP分组。在上述实现方式中的任一种的替代方面,去往互联网的分组可以被隧道化(即,真实的互联网目的地被掩饰)或未被隧道化(即,未掩饰互联网目的地)。
因此,下面的描述提供示例,而不是对权利要求中阐述的范围、适用性或配置的限制。在不脱离本公开内容的精神和范围的情况下,可以对讨论的要素的功能和安排进行改变。各个实施例可以视情况省略、代替或添加各个过程或组件。例如,可以按照不同于所描述的顺序的顺序来执行所描述的方法,并且可以添加、省略或组合各个步骤。此外,可以将关于某些实施例描述的特征组合到其它实施例中。
图1示出了示例系统100,在其中,各个设备115(例如,个人计算机115-a、智能手机115-b、平板电脑115-c和打印机115-d)以对等的级别彼此相通信。
如图1中示出的,设备115可以通过不同的接入技术来彼此相通信。在本示例中,个人计算机115-a通过无线局域网(WLAN)连接(例如,如自组织WLAN连接和/或通过WLAN交换机、接入点、或路由器)来与智能手机115-b进行通信。个人计算机115-a还通过通用串行总线(USB)连接来与打印机115-d进行通信。智能手机115-b还通过蓝牙无线连接来与平板电脑115-c进行通信。
虽然本示例中没有单个设备115是与系统中的设备115中的每一个设备直接相通信的,但是设备115可以彼此合作,以在对等网络上实现SOA总线105。如在本说明书和所附的权利要求中使用的,术语“SOA总线”广义地指代为分布式节点提供逻辑的基础结构以向彼此通告服务并远程地调用彼此的通告的服务的任意通信架构。此外,术语“服务”广义地指代软件功能的自主单元,其能够被从实现该服务的设备或应用分离的设备或应用远程地调用(invoke)或调入(call)。
出于解释清楚的目的,在实现开源AllJoyn总线功能的AllJoyn总线的上下文内给出图2中以及遍及本说明书的SOA总线105的描述。然而,可以将本说明书的原理广泛地应用于其它类型的SOA总线,包括但不限于,企业服务总线(ESB)、Windows服务总线、简单服务总线(SSB)、D-Bus、和/或其它服务总线。
在图1的系统中,为了实现SOA总线105,设备115中的每一个设备可以运行SOA总线后台程序的单个实例。在系统300的每一个设备115上运行的SOA总线后台程序可以与在系统300的其它设备115上运行的SOA总线后台程序进行通信,以在对等网络上建立逻辑的SOA总线105,以便设备115中的每一个设备都可以在逻辑的SOA总线105上与系统100中的其它设备115中的任一个设备进行通信,而不管由设备115与它们的对等端进行通信所使用的接入技术。
设备115中的每一个设备可以被配置为在SOA总线105上提供多个服务。例如,个人计算机115-a可以提供聊天服务、流媒体服务以及互联网协议(IP)服务。智能手机115-b可以提供聊天服务、全球定位系统(GPS)服务和IP服务。平板电脑115-c可以提供字典服务和IP服务。打印机115-d可以提供聊天服务、流媒体服务和IP服务。可以为每一个设备115处提供的每一个服务分配SOA总线105上的逻辑位置或地址。例如,为个人计算机115-a的聊天服务给予SOA总线105上的:1.1的地址,为个人计算机115-a的流媒体服务给予SOA总线105上的:1.2的地址,以及为个人计算机115-a的IP服务给予SOA总线105上的:1.3的地址。出于本说明书和所附权利要求的目的,术语“互联网协议”或“IP”指代互联网协议的任意版本,包括IPv4、IPv6和/或任意其它过去的或未来的版本。
SOA总线105上的设备115中的每一个设备可以利用由其它设备115通告的服务的列表。设备115中的一个设备上的客户端进程可以通过利用SOA总线上通告的服务的地址在SOA总线105上建立会话来远程地调用由另一设备115提供的通告的服务。例如,如果智能手机115-b的客户端进程期望访问打印机115-d的流媒体服务,则客户端进程可以建立与SOA总线105上的地址:1.9的会话,并通过该会话远程地调用与流媒体服务相关联的方法或过程。在某些示例中,客户端进程可以是SOA总线上通告的另一个服务。额外地或替代地,客户端进程可以是具有SOA总线105上的单个地址的应用或其它的软件功能单元,其在SOA总线105上不提供公开通告的服务。
如图1中示出的,系统100中的设备115中的每一个设备可以在SOA总线105上提供IP服务。在替代的示例中,仅仅系统100中的设备115的子集可以在SOA总线上提供IP服务。IP服务可以彼此合作来在SOA总线105上实现一个或多个IP子网。该IP子网与SOA总线外部的任意其它IP子网可以是分开的,并且独立于SOA总线外部的任意其它IP子网。因此,由于它们的WLAN连接,即使个人计算机115-a和智能手机115-b可以是第一IP子网的一部分,但是第一IP子网可以是与SOA总线105上实现的第二IP子网分开的,并且与SOA总线105上实现的第二IP子网不同。
还如图1中示出的,IP服务中的每一个服务可以具有唯一的名称,所述名称被通告在SOA总线105上。每个唯一的名称可以包括统一地与IP服务相关联的服务描述符(例如,“org.alljoyn.ipservice”)和被分配给由SOA总线105实现的IP子网内的该设备的IP地址的附加的指示符(例如,指示192.168.0.4的IP地址的“s192_168_0_4”)。利用统一的服务描述符,每一个IP服务可以同样地由SOA总线105上的其它设备快速地识别。此外,通过在SOA总线105上通告的IP服务的名称中指示IP地址,不需要另外的发现步骤来确定SOA总线105上实现的IP子网中的设备115的IP地址。
由于SOA总线105的对等架构,没有单独的路由器或交换机可用来(或被需要)在被连接至SOA总线105的设备115之间路由IP分组。反而,SOA总线105上提供IP服务的每一个设备115可以维护SOA总线105上提供IP服务的彼此已知的设备115的IP地址的记录。可以通过对通告的IP服务的远程调用来在SOA总线105上的设备115之间交换IP分组。例如,个人计算机115-a(IP地址192.168.0.4)可以通过在SOA总线105上的地址:1.3与:1.6之间建立会话,远程地调用与智能手机115-b相关联的IP服务相关联的方法或函数(即,“org.alljoyn.ipservice.s192_168_0_21”),以及在SOA总线105上将IP分组传递给与智能手机115-b相关联的IP服务,来发送被寻址到192.168.0.21(与智能手机115-b相关联的IP地址)的IP分组。可以将IP分组作为远程调用的方法或函数的语法中的自变量或其它参数来传递给与智能手机115-b相关联的IP服务。在某些示例中,IP分组可以被IP服务当作对象而不是分组。
在某些示例中,可以在SOA总线105上实现多个IP子网。在这样的示例中,IP服务可以实施考虑到仅在与相同的IP子网相关联的IP地址之间传送分组的规则。在一些示例中,可以将IP服务的IP子网包括在该IP服务的名称中。例如,“org.alljoyn.ipservice.weather.s192_168_0_21”的IP服务名称可以指代与第一子网上的IP地址192.168.0.21相关联的IP服务,而“org.alljoyn.ipservice.sports.s192_168_0_21”的IP服务名称则可以指代整个单独的、独立的子网上的相同的IP地址。设备115可以具有针对由SOA总线105实现的多个IP子网的多个IP地址。在这种情况下,设备115可以运行多个IP服务,每一个IP服务与单独的子网相关联,和/或允许单个IP服务来处理多个子网。如果单个IP服务来处理多个子网,则IP服务的名称可以反映与设备115相关联的每一个IP地址和子网。在某些示例中,可以发现多个子网。例如,用户可能希望查找与天气预报有关的自组织子网。在这个示例中,用户可以针对具有以“org.alljoyn.ipservice.weather.”开始的名称的服务来搜索SOA总线105。用户可以在使用具有唯一IP地址的相同的前导码的子网中的一个或多个子网上通告他的或她的设备115的IP地址。
此外,在某些示例中,IP服务中的一个或多个服务可以包括域名服务(DNS)功能。例如,在个人计算机115_a上运行的应用可以尝试访问来自域主机名“magellan.ion.local”的文件。在个人计算机115_a上运行的IP服务可以被配置为将提供的域转变成在被连接至SOA总线105的其它设备115中的一个设备上运行的IP服务。
在某些示例中,一个或多个IP服务的名称可以包括与该IP服务相关联的任意域主机名的指示符。例如,由设备115通告的IP服务的名称可以是“org.alljoyn.ipservice.s192_168_0_21_2356_magellan”。在这个示例中,服务名称的“Magellan”的组成部分指代与该IP地址“192.168.0.21”相关联的域主机名。可以将诸如“.ion.local”或另一个后缀的预定的域名附加到服务名称的主机名组成部分(例如,以获得“magellan.ion.local”的主机名)。额外地或替代地,可以包括整个域名,作为通告的服务的名称的一部分。还预期到的是,可以将与解析的主机名名称相关联的服务用作主机名下的子域。例如,如果将SOA总线上被命名为“天气”的服务与SOA总线上的“航行者”的主机名相关联,则设备115中的一个设备上的DNS功能可以考虑到作为“weather.voyager.ion.local”的“天气”服务的DNS查找。
以这种方式,其它IP服务可以通过发现给予到SOA总线105上的其它IP服务的名称来发现和跟踪与SOA总线105上的彼此的IP服务相关联的域主机名名称。这个DNS功能可以在不联系DNS服务器的情况下允许个人计算机115_a或另一设备115来向其应用和用户提供有效的DNS解析。一旦将针对SOA总线上的邻近服务的主机名解析为设备115处的IP地址,就可以将主机名和解析的IP地址添加到设备115的操作系统的主机文件(例如,在UNIX或像UNIX的系统中的“/etc/hosts”处)。以这种方式,可以由操作系统自动地将从应用到已知的主机名的任意DNS查询解析为与SOA总线相关联的IP子网上的正确的地址。不需要修改设备115的操作系统解析器来适应与SOA总线上通告的服务相关联的主机名。
还预期到的是,在某些示例中,IP服务中的一个或多个服务可以被配置为实现各种另外的路由协议(例如,多路径路由)和服务质量(QoS)功能,以在IP服务之间实现有效率的和有效的IP分组路由。
回溯到被命名为“org.alljoyn.ipservice.s192_168_0_21_2356_magellan”的服务的示例,通告的服务名称中的“2356”对应于由设备115生成的唯一ID,以区分通告相同服务的不同设备115。因此,可以通过确定具有相同IP地址的另一个服务或设备是否具有相同的或不同的唯一ID来检测通告的服务之间的IP地址冲突。如果IP地址具有相同的唯一ID,则不存在冲突。否则,可以检测要被解析的IP地址冲突。
接下来参见图2,框图示出了无线通信系统200的一个示例,在其中,可以在如上所述的图1中的SOA总线上实现IP服务。系统200包括基站205(或小区)、设备115、基站控制器220和核心网225(可以将控制器220集成到核心网225中)。系统200可以支持多个载波(不同频率的波形信号)上的操作。
在图2的示例中,各个设备115可以通过一个或多个基站205与核心网225进行通信。此外,某些设备115可以彼此建立对等通信。这样的设备115的组可以彼此合作,以建立对等网络。例如,设备115-e、设备115-f和设备115-g可以利用设备115-e与设备115-f之间的对等连接以及设备115-f与设备115-g之间的对等连接来建立三个设备115之间的对等网络。
如上文关于图1所描述的,设备115还可以合作来在对等网络上实现SOA总线(例如,图1的SOA总线105),并且在SOA总线上实现IP通信。以这种方式,在不依靠基站205或核心网225的情况下,可以在设备115-e、115-f间建立独立的IP子网。然而,在某些示例中,设备115中的一个或多个设备可以通过基站205利用至核心网225的连接在SOA总线上通告服务。例如,设备115-e可以从核心网225下载文件,并在设备115-e、设备115-f和设备115-g之间的SOA总线上实现的IP子网上将该文件流向设备115-g。
设备不需要与基站205相通信来加入在SOA总线上提供IP服务的对等网络。如图2中示出的,在不与基站205进行通信的情况下,设备115-i和设备115-j均可以与其它设备115实现对等连接。使用这些对等连接,可以在设备115-h、设备115-i、设备115-j和设备115-k间实现SOA总线。如上所述,可以使用SOA总线在被连接至SOA总线的四个设备115间实现专用IP子网。
基站205可以经由基站天线(未示出)与设备115无线地进行通信。基站205可以经由多个载波在基站控制器220的控制之下与设备115进行通信。基站205站点中的每一个站点可以提供针对各自的地理区域的通信覆盖。在这里,可以将针对每一个基站205的覆盖区域标识为210-a、210-b或210-c。可以将针对基站的覆盖区域划分成扇区(未示出,但仅组成覆盖区域的一部分)。系统200可以包括不同类型的基站205(例如,宏基站、微基站和/或微微基站)。针对不同的技术,可以存在重叠的覆盖区域。
可以将设备115分散在整个覆盖区域210中。除了固定设备之外,可以将设备115称为移动站、移动设备、接入终端(AT)、用户装置(UE)、用户站(SS)、用户单元。设备115可以包括但不限于蜂窝电话和无线通信设备,但还可以包括台式计算机、打印机、服务器、机顶盒、电视和其它媒体播放器、个人数字助理(PDA)、其它手持设备、上网本、笔记本电脑等。在一些示例中,设备中的某个设备可以
如图1中示出的,某些设备115可以不直接地与基站进行通信。例如,在小区210-c中,示出了尚未建立至基站205的无线连接的各个设备115。还如图1中示出的,在不通过基站205路由消息的情况下,某些设备115可以直接地彼此进行通信。通过直接地或间接地彼此进行通信,设备可以合作来建立面向服务架构(SOA)总线,在其中,设备115能够向总线上的其它设备通告软件服务,并且在总线上发现和调用彼此的服务。在某些示例中,在实现的SOA总线上的设备115之间的通信可以独立于基站205或它们的相关联的核心网225来发生。替代地,SOA总线上的一个或多个通信可以通过基站205来发生。
图3是用于在SOA总线上实现IP连通的示例系统300的框图。系统300包括第一设备115-1和第二设备115-m。第一设备115-1和第二设备115-m在逻辑的SOA总线105-a上彼此进行通信。第一设备115-1和第二设备115-m可以是上文关于图1或图2描述的设备115的示例。SOA总线105-a可以是上文关于图1描述的SOA总线105的示例。
本示例中的每一个设备115包括一个或多个处理器305、主存储器310、本地存储315和一个或多个输入/输出(I/O)设备320的硬件平台。每一个设备115的处理器305可以执行从本地存储315被加载到主存储器310中的代码,以执行操作系统的内核空间和用户空间中的功能的各个单元。
在内核空间中,图3的示例中示出的每一个设备115包括用于发送和接收蓝牙通信的蓝牙接口325、用于发送和接收WLAN通信的WLAN接口330以及虚拟网络接口335。虚拟网络接口可以在网络堆栈中的IP层处理340与在用户空间中执行的IP服务355之间路由分组,以在SOA总线105-a上实现IP通信。在某些示例中,虚拟网络接口335可以根据已知规范来实现TUN/TAP程序或模块。虚拟网络接口335可以模拟网络层设备。IP层处理340和UDP/TCP层处理345可以执行与网络堆栈的层3和层4中的分组处理相关联的传统功能。
在用户空间,图3的示例中示出的每一个设备115包括被配置为在IP网络上发送与接收数据的IP应用350、被配置为在SOA总线105-a上实现IP连通的IP服务355以及被配置为实现SOA总线105-a的SOA总线后台程序360。IP服务355和SOA总线后台程序360可以是上文关于图1的SOA总线105描述的IP服务和SOA总线后台程序的示例。
为了在SOA总线105-a上示出设备115之间的IP通信,考虑第一设备115-1向第二设备115-m发送IP分组的IP应用350-a的示例。在这个示例中,IP应用350-a生成数据,所述数据被UDP/TCP层处理345-a和IP层处理340-a聚集到IP应用中。聚集的IP分组可以具有作为目的地址的、与第二设备155-f的IP服务355-b相关联的IP地址。如上文关于图2所描述的,可以由第一设备115-1的IP服务355-a基于第二设备155-f的IP服务355-b的通告的名称来确定与第二设备155-f的IP服务355-b相关联的IP地址。
虚拟网络接口355-a可以接收或截获构造的IP分组,并将该IP分组转发给第一设备的IP服务335-a。然后,第一设备的IP服务355-a可以远程地调用与第二设备115-m的IP服务355-b相关联的方法或过程,以在SOA总线105-a上将该IP分组传送给第二设备115-m的IP服务355-b。例如,可以将IP分组作为与调用的方法或过程的语法相关联的自变量或其它参数传送给第二设备115-m的IP服务355-b。IP服务355可以将该IP分组当作软件对象而不是分组。
然后,将在第二设备115-m的IP服务355-b处接收的IP分组转发给第二设备的虚拟网络接口335-b,所述虚拟网络接口335-b将IP分组放置到网络堆栈的IP层处理340-b和UDP/TCP层处理345-b中。一旦已经完成了关于IP分组的UDP/TCP层处理345,就可以向第二设备115-m的IP应用350-b提供来自IP分组的数据。
图4是由第一设备实现的第一IP服务355-c与由第二设备实现的第二IP服务355-d之间的SOA总线105-b上的示例通信信号的框图。IP服务355可以是上文关于图3描述的IP服务355。第一和第二设备可以是上文关于图1、图2或图3描述的设备115的示例。SOA总线105-b可以是上文关于图1或图3描述的SOA总线105的示例。
IP服务355中的每一个服务可以具有SOA总线105-b上的唯一地址。在本示例中,第一IP服务355-c具有SOA总线105-b上的:1.3的地址,以及第二IP服务355-d具有SOA总线105-b上的:1.6的地址。此外,每一个IP服务355具有在SOA总线上被通告的并且对其它设备是可发现的名称。本示例的每一个IP服务355的名称包括统一地与SOA总线105-b的连续名称空间中的IP服务355相关联的服务描述符(即,“org.alljoyn.ipservice”)。此外,每一个名称具有与在SOA总线105-b上实现的IP子网相关联的IP地址的指示符。因此,第一IP服务355-c具有利用192.168.0.4的IP地址来指示IP服务355的“org.alljoyn.ipservice.s192_168_0_4”的名称,以及第二IP服务355-d具有利用192.168.0.21的IP地址指示IP服务355的“org.alljoyn.ipservice.s192_168_0_21”的名称。
针对用于交换IP分组的第一和第二IP服务355,第一IP服务355-c首先在SOA总线105-b上的:1.3与:1.6之间发起405会话。第二IP服务355-d确认410:1.3与:1.6之间的会话。然后,第一IP服务355-c可以通过远程地调用415在SOA总线105-b上的第二IP服务355-d处被命名为“org.alljoyn.ipservice.s192_168_0_21.transmit”的方法来发送被寻址到第二IP服务355-d的IP地址的第一IP分组。第一IP服务将第一IP分组作为针对函数的自变量或其它参数传递给调用的方法。该函数可以是被所有IP服务实现的以实现IP通信的已知的函数集合中的一个函数。可以将IP分组当作两个IP服务355之间的对象参数。第二IP服务355-d可以通过远程地调用420在SOA总线105-b上的第一IP服务355-c处被命名为“org.alljoyn.ipservice.s192_168_0_4.transmit”的方法,将第二IP分组作为对被调用的方法的自变量或其它参数传送给该方法来将第二分组发送至第一IP服务355-c。
图5示出了示例设备115-n的框图。设备115-n可以是上文关于图1、图2或图3描述的设备115的示例。例如,设备115-n被整个实现在硬件中或作为硬件与软件的组合来实现。设备115-n包括IP服务模块505、IP服务通告模块510、IP服务发现模块515、发射机模块520和接收机模块525。
IP服务模块505可以被配置为在由对等网络实现的SOA总线(例如,图1、图3或图4的SOA总线105)上实现IP服务(例如,图3或图4的IP服务355)。可以将由IP服务模块505实现的IP服务与SOA总线上实现的IP子网内的IP地址相关联。IP服务可以被配置为与SOA总线上的子网中的不同IP地址相关联的其它IP服务进行通信。
IP服务通告模块510可以在SOA总线上将由IP服务模块505实现的IP服务通告给其它设备和服务。IP服务通告模块510可以通告IP服务的名称、与IP服务相关联的IP地址、介质访问控制(MAC)地址、全球唯一标识符(GUID)、通用唯一标识符(UUID)和/或关于可以适合这些原理的特定实现方式的IP服务的任意其它信息。在某些示例中,IP服务通告模块510还可以通告与第一IP服务相关联的子网和/或DNS解析数据。
IP服务发现模块515可以发现由第二设备在SOA总线上通告的第二IP服务。如在本描述中的其它地方更详细地描述的,可以基于包含在第二IP服务的通告的名称中的统一的IP服务描述符来发现第二IP服务。IP服务发现模块515还可以从通告的名称或通过某个其它方法来发现与第二IP服务相关联的IP地址。在某些示例中,IP发现模块515还可以发现MAC地址、GUID、UUID和/或关于可以适合这些原理的特定实现方式的第二IP服务的任意其它信息。在另外的或替代的示例中,IP服务发现模块与第二IP服务相关联的子网和/或DNS解析数据。
发射机模块520可以被配置为通过使IP服务模块505在SOA总线上远程地调用第二IP服务,将第一IP分组作为与调用第二IP服务相关联的自变量或其它参数传送给第二IP服务,来将至少第一IP分组发送至第二设备。
接收机模块525可以被配置为通过由设备115-n的IP服务模块505实现的IP服务来从SOA总线上的第二设备接收至少第二IP服务。第二设备可以通过在SOA总线上远程地调用IP服务并将第二IP分组作为与调用IP服务相关联的自变量或参数传送给IP服务,来将第二IP分组发送至IP服务。
图6示出了示例设备115-o的框图。设备115-o可以是上文关于图1、图2、图3或图5描述的设备115的示例。例如,设备115-o可以被整个实现在硬件中,或作为硬件与软件的结合来实现。类似于图5的设备115-n,图6的设备115-o包括IP服务模块505-a、IP服务通告模块510-a、IP服务发现模块515-a、发射机模块520-a和接收机模块525-a。此外,图6的设备115-o包括SOA总线后台程序模块605、IP应用615和IP地址分配模块620。
SOA总线后台程序模块605可以实现建立与邻近设备的对等连接的SOA总线后台程序。以这种方式,如上所述,多个设备可以建立实现SOA总线的对等网络。因为SOA总线后台程序模块605在设备115-o上逻辑地实现SOA总线功能,所以IP服务模块505-a可以通过SOA总线后台程序模块605与SOA总线进行通信。SOA总线后台程序模块605可以包括被配置为建立、保持和终止与SOA总线上提供的服务的会话。
IP应用615可以包括在用户空间中执行的应用,所述应用生成并接收在SOA总线上实现的IP子网上发送的数据。因此,由发射机模块520-a发送的IP分组中的数据可以源自IP应用615,并且最后将由接收机模块525-a接收的IP分组中的数据转发给IP应用615。
IP地址分配模块620可以被配置为生成与IP服务模块505-a相关联的IP地址。如上文关于先前的图所描述的,IP地址分配模块620可以在与SOA总线的IP子网相关联的可允许的范围内随机地生成IP地址,针对冲突检查SOA总线,并且如果未找到冲突,则将IP地址分配给IP服务模块505-a。
图7根据本公开内容的原理示出在由对等网络实现的SOA总线上实现IP连通的方法700的示例。例如,可以由上文关于图1-6描述的设备115中的一个或多个设备来执行图7的方法700。
在框705处,在由对等网络实现的SOA总线上通告第一设备处的第一IP服务。如上所述,SOA总线可以包括ALLJOYN服务总线、企业服务总线(ESB)、MICROSOFT WINDOWS服务总线、简单服务总线(SSB)和/或任意其它可应用类型的服务总线。可以使用与第一IP服务相关联的服务名称来通告第一IP服务,与第一服务相关联的服务名称包括统一地与SOA总线处的IP服务相关联的服务描述符(例如,“org.alljoyn.ipservice”)。
在框710处,发现由SOA总线上的第二设备通告的第二IP服务。可以基于与第二IP服务相关联的服务名称来发现第二IP服务。与第二IP服务相关联的服务名称可以包括与第一IP服务相关联的服务名称相同的针对IP服务的服务描述符。IP服务名称中的每一个名称还可以包括对与各自的设备相关联的唯一IP地址的指示,其中所述各自的设备在由SOA总线实现的IP子网内实现IP服务。还可以在由SOA总线实现的连续的名称空间内实现第一IP服务和第二IP服务的服务名称。
在框715处,第一设备通过在SOA总线上远程地调用第二IP服务来将至少第一IP分组发送至第二设备。例如,第一设备可以在SOA总线上远程地调入与第二IP服务相关联的函数,将第一IP分组作为函数的自变量或参数传递给第二IP服务。可以将第一IP分组寻址到与由SOA总线实现的IP子网内的第二设备相关联的唯一IP地址。
在框720处,第一设备通过首先通告的服务从SOA总线上的第二设备接收至少第二IP分组。例如,第二设备可以在SOA总线上远程地调入与第一IP服务相关联的函数,将第二IP分组作为函数的自变量或参数传递给第一IP服务。可以将第二IP分组寻址到与由SOA总线实现的IP子网内的第一设备相关联的唯一IP地址。
图8是根据本公开内容的原理示出在由对等网络实现的SOA总线上启用IP连通的方法800的另一示例的流程图。例如,可以由上文关于图1-6描述的设备115中的一个或多个设备来执行图8的方法800。
在框805处,在第一设备的虚拟网络接口处,从IP应用接收IP分组,该IP分组被寻址到第二设备。虚拟网络接口可以接收被寻址到与由SOA总线实现的IP子网相关联的IP地址的IP分组。在某些示例中,可以从IP应用将被寻址到SOA总线上的IP地址的IP分组直接地转发到虚拟网络接口。额外地或替代地,虚拟网络接口可以截获被寻址到SOA总线上的IP地址的IP分组。
在框810处,可以将在虚拟网络接口处接收的IP分组转发至在第一设备处执行的第一IP服务。第一IP服务可以是在SOA总线上通告给其它设备的服务。第一IP服务可以被配置为发送和接收作为在SOA总线上进行的远程函数调入或过程调入的对象。
在框815处,可以从IP分组的目的地址识别第二设备处执行的第二IP服务。例如,第二IP服务可以具有在SOA总线上通告的、包括与第二IP服务相关联的IP地址的名称。因此,可以通过搜索在SOA总线上针对IP服务通告的服务的名称的列表来识别第二IP服务,所述列表包括IP分组的目的IP地址。
在框820处,进行关于会话当前是否存在于SOA总线上的第一IP服务与第二IP服务之间的确定。可以使用一个或多个表格或其它数据结构来进行该确定,所述一个或多个表格或其它数据结构跟踪第一设备的服务或应用与SOA总线上的外部设备的服务或应用之间的会话的进展。
如果服务当前不存在于SOA总线上的第一IP服务和第二IP服务之间(框820,否),则在框825处,在SOA总线上的第一IP服务与第二IP服务之间生成新的会话。当会话存在于SOA总线上的第一IP服务与第二IP服务之间时,在框830处,第一IP服务可以在SOA总线上远程地调用第二IP服务,将IP分组作为第二IP服务的函数或过程的参数或自变量来传递给第二IP服务。在某些示例中,第一IP服务和第二IP服务可以将IP分组当作对象而不是可路由的分组。
图9根据本公开内容的原理示出在由对等网络实现的SOA总线上实现IP连通的方法900的另一示例。例如,可以由上文关于图1-6描述的设备115中的一个或多个设备来执行图9的方法900。
在框905处,进行在SOA总线上由第二设备处的第二IP服务远程地调用第一设备处的第一IP服务的确定。例如,可以在第一设备处确定,第二IP服务已经在SOA总线上远程地调入与第一IP服务相关联的函数。
在框910处,接收作为与调用第一IP服务相关联的参数的被寻址到与第一IP服务相关联的IP地址的IP分组。例如,第一IP服务可以接收作为被第二IP服务远程地调入的函数的语法内的对象参数或自变量的IP分组。
在框915处,将接收的IP分组从第一IP服务转发至在第一设备处实现的虚拟网络接口。如果IP分组已经被接收,则虚拟网络接口可以将IP分组当作传统网络连接上的传统分组。在框920处,虚拟网络接口可以在IP层处发起对接收的IP分组的处理。在某些示例中,可以在IP层处理期间从IP分组提取TCP或UDP数据报。可以基于TCP或UDP处理的结果将来自TCP或UDP数据报的数据转发至应用层。额外地或替代地,可以使用来自TCP或UDP数据报的数据来更新TCP或UDP套接字的状态。
图10是根据本公开内容的原理示出在由对等网络实现的SOA总线上实现IP连通的方法1000的另一示例的流程图。例如,可以由上文关于图1-6描述的设备115中的一个或多个设备来执行图10的方法1000。
在框1005处,第一设备连接至SOA总线。例如,SOA总线可以包括ALLJOYN服务总线、ESB、MICROSFOT WINDOWS服务总线、SSB和/或任意其它合适的SOA总线。
在框1010处,将用于IP通信的IP地址分配给第一设备。可以通过在由SOA总线实现的子网内随机地生成IP地址以及检查SOA总线上的IP地址冲突来将IP地址分配给第一设备。
在框1015处,生成针对与第一设备相关联的第一IP服务的名称。该名称可以包括统一地与SOA总线处的IP服务相关联的服务描述符和分配的IP地址。例如,如果统一地与IP服务相关联的服务描述符是“org.alljoyn.ipservice”,并且被分配给第一设备用于在SOA上进行IP通信的IP地址是192.168.0.4,则可以通过将分配的IP地址附加到服务描述符来生成针对第一IP服务的“org.alljoyn.ipservice.s192_168_0_4”的名称来生成针对第一IP服务的名称。
在框1020处,第一设备通告使用由SOA总线实现的连续的名称空间的第一IP服务的名称。例如,在第一设备上运行的SOA总线后台程序可以将第一IP服务的名称广播给在被连接至SOA总线的其它设备上运行的其它SOA总线后台程序。
在框1025处,可以发现与被连接至SOA总线的第二设备相关联的第二IP服务。例如,在第一设备上运行的SOA总线后台程序可以从在第二设备上运行的SOA总线后台程序接收包括第二IP服务的名称的广播。在第一设备上运行的SOA总线后台程序可以从第二IP服务的名称确定第二IP服务是用于IP通信的,并且将第二IP服务的名称转发至第一IP设备。
在框1030处,基于第二IP服务的名称来确定与第二IP服务相关联的IP地址。例如,如果第二IP服务的名称是“org.alljoyn.ipservice.s192_168_0_22”,则第一IP服务可以确定与第二IP服务相关联的IP地址是192.168.0.22。
在框1035处,在第一设备处生成被寻址到与第二IP服务相关联的IP地址的IP分组。可以在第一设备处由IP应用生成IP分组。
在框1040处,通过在SOA总线上远程地调用第二IP服务并且将IP分组作为调用第二IP服务的参数传递给第二IP服务来将IP分组发送至第二服务。在某些示例中,IP分组可以是与第二IP服务相关联的并且被第一IP服务远程地调入的过程或其它函数的语法相关联的对象。
图11是根据本公开内容的原理示出生成用于在SOA总线上的IP通信中使用的IP地址的方法1100的示例的流程图。例如,可以由上文关于图1-6描述的设备115中的一个或多个设备来执行图11的方法1100。
在框1105处,确定由SOA总线实现的当前IP子网中可允许的IP地址范围。在某些示例中,被连接至SOA总线的一个或多个应用可以通告可允许的IP地址范围。额外地或替代地,可以基于SOA总线的属性来确定性地识别可允许的IP地址范围。
在框1110处,在第一设备处生成针对子网的可允许的IP地址范围内的IP地址。在某些示例中,可以使用随机生成器和将生成的IP地址保留在针对子网的可允许的范围内的掩码来生成IP地址。
在框1115处,针对第一设备生成用于在SOA总线上使用的IP服务名称。通过将生成的IP地址附加到与SOA总线上的IP服务相关联的已知的服务描述符来生成IP服务名称。生成的IP服务名称可以遵守由SOA总线实现的连续的名称空间的语法。
在框1120处,针对IP服务名称冲突查询SOA总线。例如,可以将生成的IP服务名称从在第一设备上运行的SOA总线后台程序发送至在被连接至SOA总线的其它设备上运行的SOA总线后台程序。如果被连接至SOA总线的另一设备已经在使用针对第一设备生成的IP服务名称(框1125,是),则流程返回到框1110,其中在第一设备处生成新的IP地址。否则(框1125,否),在框1130处,可以将在第一设备处生成的IP服务名称和IP地址分配给第一设备。
图12是根据本公开内容的原理示出在SOA总线上发现IP服务的方法1200的示例的流程图。例如,可以由上文关于图1-6描述的设备115中的一个或多个设备来执行图12的方法1200。
在框1205处,在被连接至SOA总线的设备上运行的SOA总线后台程序接收用于向在设备上运行的第一IP服务通知连接至SOA总线的新IP服务的指令。在某些示例中,可以在SOA总线后台程序处接收来自第一IP服务的明确的指令。额外地或替代地,可以将该指令作为SOA总线后台程序的底层代码的一部分固有地提供给SOA总线后台程序。
在框1210处,第一IP服务在SOA总线上接收对新的第二IP服务的通知。第一IP服务接收第二IP服务的名称和第二IP服务在SOA总线上的位置或地址。
在框1215处,基于与第二IP服务相关联的名称来识别第二IP服务的IP地址。第二IP服务的IP地址可以不同于第二IP服务在SOA总线上的位置或地址。例如,第二IP服务的IP地址可以是“192.168.0.12”,以及第二IP服务在SOA总线上的位置可以是“:1.3”。
在框1220处,在由第一IP服务维护的映射表或其它数据结构中,将第二IP服务的IP地址与第二IP服务在SOA总线上的位置相关联。
图13是使用在移动设备之间提供网络连接的SOA总线定义的自组织对等(P2P)网络的图形化表示。然而,构成自组织SOA总线网络的多个节点可以不都具有互联网接入可用性。例如,可以将网关节点1300和1302连接至互联网1304,而不将非网关节点1306-1314连接至互联网1304。在这样的情形下,可能在从不具有互联网连接的网络节点(非网关节点)向具有这样的互联网连接的网络节点(网关节点)路由互联网业务中出现困难。针对邻近网关节点的非网关节点,可以以上文描述的方式来利用邻近网关节点的网关节点服务。然而,涉及不邻近网关节点的非网关节点的多跳场景,需要下文关于图13-20描述的另外的解决方案。
图14示出由网关节点和非网关节点执行以通过对自组织按需距离向量(AODV)路由标准中现有的路由机制的修改来实现互联网通知的路由的示例框。典型的AODV路由针对子网中的路由提供路由机制。为了将AODV型路由延伸到子网的外部,将不确定的目的地添加到AODV互联网路由请求消息分组的目的地字段。非网关节点向其相邻节点发送出互联网路由请求消息。当网关节点接收到具有不确定的目的地的互联网路由请求消息时,网关节点利用其自己的地址和网关标记来响应。将网关节点的响应从网关节点转发至该请求源自的非网关节点的每一个节点将其网关指针更新到网关节点的地址。因此,当在非网关节点处期望互联网接入时,非网关节点将具有恰当的路由信息来通过与其网关指针相关联的网关节点获得至互联网的接入路径。
预想到的是,自组织对等网络中的节点可以适用于根据给定互联网路由过程中的它们各自的角色来实现不同的过程。如在框1400处,取决于节点在互联网路由过程中的角色是否要操作为源非网关节点、中间的非网关节点或网关节点,这样的节点可以适用于在多种不同模式中的一种模式下操作。例如,如果节点希望在互联网上发送互联网分组,但是没有互联网连接,那么该节点可以在源非网关节点模式下操作,在这种情况下,处理可以开始于1402处。此外,如果该节点已经从相邻节点接收到互联网路由请求,并且如果其不具有互联网连接,那么该节点可以在中间网关节点模式下操作,在这种情况下,处理可以开始于框1404处。进一步地,如果该节点已经从相邻节点接收到互联网路由请求,并且如果其的确具有互联网连接,那么该节点可以在网关节点模式下操作,在这种情况下,处理可以开始于框1406处。
在框1402处,如果源非网关节点已经知道针对网关节点的合适的目的地址,那么该源网关节点可以基于该信息来发送IP分组。然而,如果该源非网关节点不具有这样的信息,或者如果尝试使用网关节点失败或不令人满意,那么该源非网关节点可以发送互联网路由请求(I-RREQ)。该源非网关节点可以向目的地IN_ADDR_ANY(例如,全零)发送I-RREQ,其在修改的AODV协议中被定义为通过洪泛技术触发在网络上发送I-RREQ消息的不确切的地址。换句话说,非网关节点适用于向除了非网关节点从其接收I-RREQ或非网关节点从其接收相同的I-RREQ的那些相邻节点之外的所有相邻节点发送和转发具有不确切的目的地址的路由请求消息。预想到的是,I-RREQ消息可以与典型的AODV路由请求消息(RREQ)相同,除了目的地址是IN-ADDR_ANY(全零)之外。换句话说,网络节点和/或网关节点还可以适用于部分地或全部地基于IN_ADDR_ANY目的地址将I-RREQ与RREQ区分开。在源非网关节点处的处理可以从框1402进行到1418。
在框1404处,中间的非网关节点可以接收由源非网关节点在框1402处发送的I-RREQ。如果中间的非网关节点是源非网关节点的邻居,则中间的非网关节点可以直接从源非网关节点接收I-RREQ。替代地或额外地,中间的非网关节点可以从另一个非网关节点接收I-RREQ。预想到的是,中间的非网关节点可以从多个不同的相邻节点接收I-RREQ的多个副本。在中间的非网关节点处的处理可以从框1404进行到框1408。
在框1408处,中间的非网关节点可以根据如先前描述的洪泛技术更新I-RREQ并将I-RREQ中继到其它相邻节点。预想到的是,在从多个不同的相邻节点接收I-RREQ的多个副本的情况下,中间的非网关节点可以基于一个或多个预定义的准则(例如,接收到的第一个I-RREQ、最低跳数、最短中继路径或它们的组合)来选择性地更新I-RREQ并将I-RREQ中继到其它相邻节点。替代地或另外预想到的是,中间的节点可以以现有的AODV标准中针对RREQ定义的相同的方式编辑、更新和转发I-RREQ,除了根据如上所述的洪泛技术进行转发之外。在中间的非网关节点处的处理可以从框1408进行到框1412。
在框1406处,网关节点可以从一个或多个相邻节点接收I-RREQ。预想到的是,网关节点可以通过不确切的目的地址将I-RREQ与典型的AODV RREQ区分开。在网关节点处的处理可以从框1406进行到框1410。
在框1410处,网关节点可以通过将互联网路由应答消息(I-RREP)发送至网关节点从其接收I-RREQ的相邻节点来对接收的I-RREQ进行响应。在从多个不同的相邻节点接收I-RREQ的多个副本的情况下,预想到的是,网关节点可以对所有的I-RREQ进行响应。替代地,预想到的是,网关节点可以基于一个或多个预定义的准则(例如,接收到的第一个I-RREQ、最低跳数、最短中继路径或它们的组合)来优先地对比所有的I-RREQ的副本少的副本进行响应。I-RREP可以具有网关节点的目的地址和诸如设置网关标记的网关指示符。在修改的AODV协议中,可以将网关指示符定义为允许网络的节点将I-RREP与典型的AODV路由应答消息(RREP)区分开的标记、字段、散列、加密、掩码或任意其它类型的有区别的特征。换句话说,预想到的是,I-RREP可以与典型的AODV RREP相同,除了I-RREP具有网关指示符之外。在网关节点处的处理可以从框1410进行到框1426。
在框1412处,如上所述,中间的非网关节点可以接收具有网关节点的目的地址和网关指示符的I-RREP。I-RREP还可以具有跳数、中继路径和其它的AODV协议的RREP的典型的信息。中间的非网关节点可以基于网关指示符将I-RREP与典型的AODV RREP区分开,并且在此基础上可以从框1412进行到框1414。然而,预想到的是,中间的非网关节点可以响应于相同的I-RREQ来接收源自多个不同的网关节点的多个I-RREP。在这种情况下,中间的非网关节点可以进行是否基于一个或多个预定义的准则(例如,接收到的第一个I-RREQ、最低跳数、最短中继路径或它们的组合)对这样的I-RREP进行响应的确定。替代地,源非网关节点可以处理接收的所有I-RREP。
在框1414处,中间的非网关节点可以将其网关指针更新到包含在I-RREP中的网关节点的目的地址。预想到的是,中间的非网关节点可以具有一个或多个网关指针,并且可以举例说明新的网关指针,更新或终止现有的网关指针,和/或基于一个或多个预定义的准则来对网关指针划分优先次序。示例的准则可以包括接收到的最新的I-RREP、最低跳数、最短中继路径、中继路径中低移动性节点的存在或缺乏、经由网关节点的互联网连接的服务质量、或它们的组合。在中间的非网关节点处的处理可以从框1414进行到框1416。
在框1416处,中间的非网关节点可以将I-RREP中继到I-RREP的中继路径中指定的相邻节点。如对本领域技术人显而易见的是,在这么做之前,中间的非网关节点可以以如典型的AODV RREP被处理(例如,更新跳数)和其他过程相同的方式来编辑和更新I-RREP。在中间的非网关节点处的处理可以从框1416进行到框1424。
在框1418处,源非网关节点可以从相邻节点接收互联网路由响应(I-RREP)。源非网关节点可以基于网关指示符将I-RREP与典型的AODV RREP区分开,并且可以在此基础上从框1418进行到框1420。然而,预想到的是,源非网关节点可以响应于相同的I-RREQ来接收源自多个不同的网关节点的多个I-RREP。在这种情况下,中间的非网关节点可以进行是否基于一个或多个预定义的准则(例如,接收到的第一个I-RREQ、最低跳数、最短中继路径、或它们的组合)来对这样的I-RREP进行响应的确定。替代地,源非网关节点可以处理接收的所有I-RREP。
在框1420处,源非网关节点可以将其网关指针更新到包含在I-RREP中的网关节点的目的地址。预想到的是,源非网关网络节点可以具有一个或多个网关指针,并且可以举例说明新的网关指针,更新或终止现有的网关指针和/或基于一个或多个预定义的准则对网关指针划分优先次序。示例准则可以包括接收的最新的I-RREP、最低跳数、最短中继路径、中继路径中低移动性节点的存在或缺乏、经由网关节点的互联网连接的服务质量、或它们的组合。在源非网关节点处的处理可以从框1420进行到框1422。
在框1422处,源非网关节点可以执行路由操作,以向与其网关指针相关联的地址发送IP分组,以及从与其网关指针相关联的地址接收IP分组。在一些实现方式中,源非网关节点可以使用隧道化来利用其网关指针的目的地址掩饰发送的IP分组的真实的互联网地址。当IP分组被隧道化时,将传输寻址到特定的网关节点。在其它实现方式中,源非网关节点可以向与网关指针相关联的目的地址发送IP分组,并且在未隧道化的情况下这样做。当在未隧道化的情况下发送IP分组时,源非网关节点可以向与其网关指针的目的地址相关联的路径中的其邻居发送IP分组,但是允许IP分组具有互联网目的地。
在框1424处,中间的非网关节点可以执行路由操作,以在源非网关节点与网关节点之间中继IP分组。在一些实现方式中,中间的非网关节点可以接收具有特定网关节点的目的地址的隧道化的IP分组。在这种情况下,中间的非网关节点可以简单地将IP分组转发至特定网关节点的目的地址。在其它实现方式中,中间的非网关节点可以接收未被隧道化的、并且因此具有互联网目的地的IP分组。当接收具有互联网目的地的IP分组时,中间的非网关节点可以针对比最初被寻址的网关节点更令人满意的网关来检查其自己的网关指针。因此,中间的非网关节点可以执行路由操作,以将IP分组转发至与其自己的网关指针相关联的地址。因此,中间的非网关节点可以潜在地将接收的具有互联网目的地的IP分组重新路由到不同的网关节点。如发送的分组似乎被具体地寻址到子网内的节点,对去往互联网的分组进行隧道化考虑到对现有的AODV路由机制的更大的使用。然而,虽然沿传输路由从任意中间的节点掩饰该分组,但是在路途期间,隧道化的分组可能不受益于潜在的网关重新路由。
在框1426处,网关节点可以执行路由操作,以从源非网关节点接收IP分组。框1426可以包括直接从源非网关节点接收隧道化的或非隧道化的IP分组,和/或从中间的非网关节点接收隧道化的或非隧道化的分组。如果IP分组被隧道化,则网关节点可以通过不掩饰IP分组的目的地址来不隧道化IP分组,由此获得接收的IP分组的互联网目的地。在网关节点处的处理可以从框1426进行到框1428。
在框1428处,网关节点可以在互联网上发送和接收IP分组。网关节点可以获得或分配用于接收旨在针对源非网关节点的IP分组的IP地址,并且可以使用互联网目的地和获得的或分配的IP地址来在互联网上发送IP分组,并且在互联网上接收旨在针对源非网关节点的IP分组。当网关节点在互联网上接收具有与获得的或分配的用于接收旨在针对源非网关节点的IP分组的IP地址相对应的目的地址的IP分组时,网关节点可以基于与获得的或分配的用于接收旨在针对源非网关节点的IP分组的IP地址相对应的目的地址,将这些IP分组与其它的接收的IP分组区分开。在网关节点处的处理可以从框1428进行到框1430。
在框1430处,网关节点可以执行路由操作,以向源非网关节点发送IP分组,所述IP分组是在互联网上接收的并且旨在针对源非网关节点的。预想到的是,网关节点可以通过利用源非网关节点的目的地址掩饰接收的IP分组的目的地址,来使用隧道化以将IP分组发送至源非网关节点。如上文提到的,如发送的分组似乎被具体地寻址到子网内的节点,对在互联网上接收的IP分组进行隧道化考虑到对现有的AODV路由机制的更大的使用。因此,在框1422处,源非网关节点可以直接地或间接地从网关节点接收IP分组。预想到的是,源非网关节点可以从相邻节点接收IP分组,所述相邻节点不作为中间的非网关节点参与对去往互联网或网关节点的I-RREQ、I-RREP和IP分组的中继。还预想到的是,在框1424处,中间的非网关节点可以接收IP分组并将该IP分组中继到源非网关节点。
图15示出根据修改的AODV实现方式对自组织对等网络节点的操作的示例。在这个示例中,三个非网关节点1500、1502和1504彼此交换消息。这些非网关节点还与网关节点1506和1508交换消息。为了根据本公开内容的这个方面实现去往互联网的IP分组的互联网通知的路由,执行这些消息交换。例如,希望将IP分组发送至互联网并且尚未知道合适的网关节点目的地址的非网关节点1500可以如上所述生成I-RREQ,并且在1510处将I-RREQ发送至其相邻节点。非网关节点1502可以从非网关节点1500接收I-RREQ,并且可以在1512处将I-RREQ转发至所有其它邻居。继而,非网关节点1504可以从非网关节点1502接收I-RREQ,并且可以在1514处将I-RREQ转发至所有其它邻居。最后,网关节点1506可以从非网关节点1514接收I-RREQ,并且可以在1516处通过在中继路径中的邻居节点发送I-RREP来进行响应。
中继路径中的节点可以中继I-RREP,同时将它们的网关指针更新到网关1506的目的地址。例如,一旦从网关节点1506接收到I-RREP,非网关节点1504就可以将其网关指针更新到网关节点1506的目的地址,并且,在1518处将I-RREP转发至中继路径中的下一个相邻节点。此外,非网关节点1502一旦从非网关节点1504接收到I-RREP就可以将其网关指针更新到网关节点的目的地址,并且,在1520处将I-RREP转发至中继路径中的下一个相邻节点。同样地,非网关节点1500一旦从非网关节点1502接收到I-RREP就可以将其网关指针更新到网关节点的目的地址。因此,中继路径中的所有非网关节点1500、1502和1504可以具有被更新到网关节点1506的目的地址的指针。
一旦非网关节点1500、1502和1504已经将网关节点的目的地址与它们各自的网关指针相关联,那些非网关节点中的任一个非网关节点就可以利用它们各自的网关指针来尝试将接收的IP分组路由到网关节点1506。例如,在1522处,在隧道化或未隧道化的情况下,非网关节点1500可以使用其网关指针来将IP分组发送至网关节点1506,以及从网关节点1506接收IP分组。如果未利用隧道化,则非网关节点1502和1504可以利用它们各自的网关指针将IP分组转发至网关节点1506。此后,非网关节点1502可能还希望将IP分组发送至网关节点1506,并且在1524处,可以使用其网关指针来尝试这样做。该尝试可能由于各种原因(例如,网关节点1506离线、离开该区域、失去其互联网连接或未能提供足够的服务质量)中的任一个原因而失败。
非网关节点1502可以在1526处通过在1526和1528处向所有邻居发送I-RREQ来对该尝试的失败进行响应。非网关节点1504可以从非网关节点1504接收I-RREQ,并且在1530处将I-RREQ中继到新邻居网关节点1508。新邻居网关节点1508可以接收I-RREQ,并且通过在1532处向非网关节点1504发送I-RREP来进行响应。非网关节点1504可以将其网关指针更新到网关节点1508的目的地址,并且可以在1534处将I-RREP转发至非网关节点1502。然后,非网关节点1502可以将其自己的网关指针更新到网关节点1508的目的地址,并且在1536处,在隧道化或未隧道化的情况下,使用更新的网关指针来将去往互联网的IP分组发送至网关节点1508。
在如此描述的示例中,应当注意到的是,因为非网关节点1502是在中继路径的末端处,所以非网关节点1502不将I-RREP转发至非网关节点1500。同样地,因为非网关节点1500没有其它相邻节点,所以非网关节点1500仅仅丢弃其从非网关节点1502接收的I-RREQ。因此,非网关节点1500从不接收除了其在1520处从网关节点1506接收的I-RREP之外的任何I-RREP。因此,非网关节点1500的网关指针可以仍然指向网关节点1506。因此,在1538处,当非网关节点1500尝试使用其网关指针来向网关节点1506发送去往互联网的IP分组时,对隧道化的使用将导致另一失败。然而,如果未使用隧道化,则在1540处,非网关节点1502可以隧道化或未隧道化的情况下使用其更新的指针来将IP分组重新路由到网关节点1508。在1542处,一旦从网关节点1508接收到IP分组,非网关节点1500就可以将其网关指针更新到网关节点1508的目的地址,并且在1542处继续将IP分组发送至网关节点1508,以及从网关节点1508接收IP分组。
图16示出由网关节点和非网关节点执行以通过使用未修改的AODV路由和潜在网关节点的列表来实现互联网通知的路由的示例框。响应于对网关节点能力的SOA总线宣告,在非网关节点处维护并更新这些列表。如网关节点加入SOA总线,其广播对其作为网关节点的能力的宣告。SOA总线上的每一个非网关节点基于该宣告来生成潜在网关的列表。当非网关节点希望建立互联网连接时,从维护的潜在网关的列表选择网关节点中的一个网关节点。因为非网关节点在该列表中具有确定的地址信息,所以为了路由至具体的网关节点,其可以遵循典型的AODV路由机制。
预想到的是,自组织对等网络的节点可以适用于根据给定互联网路由过程中它们各自的角色来实现不同的过程。如在框1600处,这样的节点可以适用于在多个不同的节点模式中的一个模式下操作,取决于这样的节点在互联网路由过程中的角色是否要操作为源非网关节点、中间的非网关节点或网关节点。例如,如果节点希望在互联网上发送互联网分组,但是没有互联网连接,则该节点可以在源非网节点模式下操作,在这种情况下,处理可以开始于框1602处。此外,如果该节点已经从相邻节点接收到互联网路由请求,并且如果其不具有互联网连接,则该节点可以在中间非网关节点模式下操作,在这种情况下,处理可以开始于框1604处。进一步地,如果该节点已经从相邻节点接收到互联网路由请求,并且如果其的确具有互联网连接,则该节点可以在网关节点模式下操作,在这种情况下,处理可以开始于框1606处。
在框1606处,网关模式可以将互联网连通宣告为SOA总线上的服务。可以以先前描述的方式完成这个宣告。在网关节点处的处理可以从框1606进行到框1608。
在框1604处,中间的非网关节点可以接收关于互联网连通的SOA总线消息。可以以先前描述的方式完成对SOA总线消息的接收。在中间的非网关节点处的处理可以从框1604进行到框1610。
在框1602处,源非网关节点可以接收关于互联网连通的SOA总线消息。可以以先前描述的方式完成对SOA总线消息的接收。在源非网关节点处的处理可以从框1602进行到框1612。
在框1610处,中间的非网关节点可以基于SOA总线消息来更新其潜在网关节点的列表。预想到的是,中间的非网关节点可以举例说明新的网关指针,更新或终止现有的网关指针,和/或基于一个或多个预定义的准则来对网关指针划分优先次序。示例准则可以包括最低跳数、中继路径中低移动性节点的存在或缺乏、经由网关节点的互联网连接的服务质量或它们的组合。在中间的非网关节点处的处理可以从框1610进行到框1614。
在框1612处,源非网关节点可以基于SOA总线消息来更新其潜在网关节点的列表。预想到的是,源非网关节点可以举例说明新的网关指针,更新或终止现有的网关指针,和/或基于一个或多个预定义的准则对网关指针划分优先次序。示例准则可以包括最低跳数、中继路径中低移动性节点的存在或缺乏、经由网关节点的互联网连接的服务质量或它们的组合。在源非网关节点处的处理可以从框1612进行到框1616。
在框1616处,源非网关节点可以执行路由操作,以将IP分组发送至选自其潜在网关节点的列表的目的地址,以及从选自其潜在网关节点的列表的目的地址接收IP分组。可以在隧道化或未隧道化的情况下,以先前描述的方式完成该路由。
在框1614处,中间的非网关节点可以执行路由操作,以在源非网关节点与网关节点之间中继IP分组。可以在隧道化或未隧道化的情况下,以先前描述的方式完成该路由。当路由未隧道化的IP分组时,中间的非网关节点可以从其自己的潜在网关节点的列表选择目的地址,因此引起对IP分组的潜在重新路由。
在框1608处,网关节点可以执行路由操作,以从源非网关节点接收去往互联网的IP分组。可以在隧道化或未隧道化的情况下,以先前描述的方式完成该路由。在网关节点处的处理可以从框1608进行到框1618。
在框1618处,网关节点可以在互联网上发送和接收IP分组。可以以先前描述的方式完成对互联网的IP分组的发送与接收。在网关节点处的处理可以从框1618进行到框1620。
在框1620处,网关节点可以执行路由操作,以将从互联网接收的IP分组路由到源非网关节点。可以在隧道化或未隧道化的情况下,以先前描述的方式完成该路由。
图17示出根据未被修改的AODV实现方式对自组织对等网络节点的操作的示例。在该示例中,三个非网关节点1700、1702和1704彼此交换消息。这些非网关节点还与网关节点1706和1708交换消息。为了根据本公开内容的该方面实现去往互联网的IP分组的互联网通知的路由,执行这些消息交换。例如,网关节点1706可以经由SOA总线分别向非网关节点1700、1702和1704广播其网关能力的SOA宣告1710、1712和1714。非网关节点1700、1702和1704中的每一个非网关节点可以响应于SOA总线宣告1710、1712和1714来更新它们各自的潜在网关节点的列表。此后,这些非网关节点1700、1702和1704中的任一个非网关节点可以从它们各自的列表选择网关节点1706的目的地址,并且在隧道化或未隧道化的情况下将IP分组1716路由至网关节点1706。
非网关节点1700、1702和1704可以基于各个准则(例如,由网关节点1706提供的互联网连接的服务质量)来更新它们的列表。应当理解的是,非网关节点1700可能对关于可以被诸如非网关节点1702的另一非网关节点观测的这样的连接的服务质量的信息不知情。此外,更多的SOA总线宣告1718、1720和1722可以委任诸如网关节点1708的新网关节点,以及停止使用诸如网关节点1706的现有的网关节点。应当理解的是,一些非网关节点可以比其它节点更快速地接收SOA总线宣告。因此,非网关节点1700和1702可以具有不同的列表,以及非网关节点1702可以有理由将其列表认为是比非网关节点1700的列表更好地被通知。因此,在1724处,当非网关节点尝试向网关节点1706发送去往互联网的IP分组时,在1726处,非网关节点1702可以使用其更可靠的列表来将IP分组重新路由至网关节点1708。当非网关节点1700从网关节点1708而不是如期望地从网关节点1706接收IP分组时,非网关节点1700可以更新其列表,以添加网关节点1708的目的地址,并且去除网关节点1706的目的地址,使网关节点1706的目的地址终止或降级。应当意识到的是,因为非网关节点1702有时可以基于可能不被下游的非网关节点1704意识到的服务质量信息来重新路由所接收的IP分组,所以非网关节点1702可以使用隧道化来将重新路由的IP分组指向网关节点1708。出于同样的原因,非网关节点1700另外可以切换至隧道化模式,用于将分组发送至网关节点1708。
图18示出由非网关节点执行以通过对AODV路由标准中的现有路由机制进行修改来实现互联网通知的路由的示例框。在框1800处,非网关节点可以向网络中的一个或多个相邻节点发送针对不确定目的地的互联网路由请求。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330和虚拟网络接口335,以根据上文关于图14和图15描述的过程来生成互联网路由请求,并将互联网路由请求发送至相邻节点。在非网关节点处的处理可以从框1800进行到框1802。这样的动作和组件的组合可以包括用于由非网关节点向网络中的一个或多个相邻节点发送针对不确定目的地的互联网路由请求的单元。
在框1802处,非网关节点可以从网络上的至少一个网关节点接收响应消息,其中该响应消息包括至少一个网关节点的地址和网关指示符。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330和虚拟网络接口335,以根据上文关于图14和图15描述的过程来接收互联网路由响应。在非网关节点处的处理可以从框1802进行到框1804。这样的动作和组件的组合可以包括用于在非网关节点处从网络上的至少一个网关节点接收响应消息的单元,其中该响应消息包括至少一个网关节点的地址和网关指示符。
在框1804处,非网关节点可以在非网关节点处设置网关指针等于至少一个网关节点的地址。例如,处理器305(图3)可以根据上文关于图14和图15描述的过程来访问被存储在主存储器310和/或本地存储315中的指令,以读取互联网路由应答的目的地址,访问主存储器310和/或本地存储315中的一个或多个存储器位置,以及将目的地址记录到与网关指针相关联的存储器中。这样的动作和组件的组合可以包括用于在非网关节点处设置网关指针等于至少一个网关节点的地址的单元。
图19示出由网关节点执行以通过对自组织按需距离向量(AODV)路由标准中的现有的路由机制进行修改来实现互联网通知的路由的示例框。在框1900处,网关节点可以从网络中的一个或多个相邻节点接收互联网路由请求。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330和虚拟网络接口335,以根据上文关于图14和图15描述的过程来接收互联网路由请求。在网关节点处的处理可以从框1900进行到框1902。这样的动作和组件的组合可以包括用于在网关节点处从网络中的一个或多个相邻节点接收互联网路由请求的单元。
在框1902处,网关节点可以向一个或多个相邻节点发送响应消息,其中该响应消息包括网关节点的地址和网关指示符。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330和虚拟网络接口335,以根据上文关于图14和图15描述的过程来生成响应消息并将该响应消息发送至相邻节点。这样的动作和组件的组合可以包括用于从网关节点向一个或多个相邻节点发送响应消息的单元,其中该响应消息包括网关节点的地址和网关指示符。
图20示出由非网关节点执行以通过使用未被修改的AODV路由和潜在网关节点的列表来实现互联网通知的路由的示例框。在框2000处,非网关节点可以从网络上的一个或多个网关节点接收对互联网连通的宣告,其中该宣告包括一个或多个相邻节点的地址。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330、虚拟网络接口335、IP层处理340、UDP/TCP层处理345、IP应用350、IP服务355和SOA总线后台程序360,以根据上文关于图16和图17描述的过程来接收SOA总线上的宣告。在非网关节点处的处理可以从框2000进行到框2002。这样的动作和组件的组合可以包括用于在非网关节点处从网络上的一个或多个网关节点接收对互联网连通的宣告的单元,其中该宣告包括一个或多个相邻节点的地址。
在框2002处,非网关节点可以将一个或多个网关节点的地址存储到潜在网关的列表。例如,处理器305(图3)可以根据上文关于图16和图17描述的过程来访问被存储在主存储器310和/或本地存储315中的指令,以读取互联网路由应答的目的地址,访问主存储器310和/或本地存储315中的一个或多个存储器地址,以及将地址记录到与潜在网关的列表相关联的存储器中。在非网关节点处的处理可以从框2002进行到框2004。这样的动作和组件的组合可以包括用于在非网关节点处将一个或多个网关节点的地址存储到潜在网关的列表的单元。
在框2004处,非网关节点可以接收用于传输至互联网目的地的分组。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330、虚拟网络接口335、IP层处理340、UDP/TCP层处理345、IP应用350、IP服务355和SOA总线后台程序360,以从相邻节点或从本地被执行的应用接收IP分组。在非网关节点处的处理可以从框2004进行到框2006。这样的动作和组件的组合可以包括用于接收用于传输至互联网目的地的分组的单元。
在框2006处,非网关节点可以从潜在网关的列表选择网关地址。例如,处理器305(图3)可以根据上文关于图16和图17描述的过程来访问被存储在主存储器310和/或本地存储315中的指令,以访问主存储器310和/或本地存储315中的一个或多个存储器位置,并且读取与潜在网关的列表相关联的存储器中的地址。在非网关节点处的处理可以从框2006进行到框2008。这样的动作和组件的组合可以包括用于从潜在网关的列表选择网关地址的单元。
在框2008处,非网关节点可以将分组发送至与网关地址相关联的目的地网关。例如,处理器305(图3)可以访问被存储在主存储器310和/或本地存储315中的指令,以操作I/O设备320、蓝牙接口325、WLAN接口330、虚拟网络接口335、IP层处理340、UDP/TCP层处理345、IP应用350、IP服务355以及SOA总线后台程序360,以将分组发送至与网关地址相关联的目的地网关。这样的动作和组件的组合可以包括用于将分组发送至与网关地址相关联的目的地网关的单元。
上文结合附图阐述的具体实施方式描述了示例性的实施例,并不表示可以被实现或在权利要求的范围内的唯一实施例。遍及本描述使用的术语“示例性的”表示“充当示例、实例或说明”,而非“优选的”或“比其它实施例有利的”的意思。出于提供对描述的技术的理解的目的,具体实施方式包括具体细节。然而,在没有这些具体细节的情况下,可以实现这些技术。在一些实例中,为了避免使描述的实施例的概念难懂,以框图的形式示出了公知的结构和设备。
可以将本文描述的技术用于各种无线通信系统,例如,CDMA、TDMA、FDMA、OFDMA、SC-FDMA和其它系统。经常可互换地使用术语“系统”和“网络”。CDMA系统可以实现诸如CDMA2000、通用陆地无线接入(UTRA)等的无线电技术。CDMA2000涉及IS-2000标准、IS-95标准和IS-856标准。IS-2000版本0和A通常被称为CDMA2000 1X、1X等。IS-856(TIA-856)通常被称为CDMA 2000 1xEV-DO、高速分组数据(HRPD)等。UTRA包括宽带CDMA(WCDMA)和CDMA的其它变型。TDMA系统可以实现诸如全球移动通信系统(GSM)的无线电技术。OFDMA系统可以实现诸如超移动宽带(UMB)、演进型UTRA(E-UTRA)、IEEE 802.11(WiFi)、IEEE 802.16(WiMAX)、IEEE 802.20、闪速OFDMA等的无线电技术。UTRA和E-UTRA是通用移动电信系统(UMTS)的一部分。3GPP长期演进(LTE)和改进的LTE(LTE-A)是使用E-UTRA的UMTS新版本。在来自被命名为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了UTRA、E-UTRA、UMTS、LTE、LTE-A和GSM。在来自被命名为“第三代合作伙伴计划2”(3GPP2)的组织的文档中描述了CDMA2000和UMB。可以将本文描述的技术用于上文提到的系统和无线电技术以及其它的系统和无线电技术。
可以使用各种各样不同的工艺和技术中的任一种来表示信息和信号。例如,可以由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或它们的任意组合来表示可以遍及上文的描述提及的数据、指令、命令、信息、信号、比特、符号和码片。
可以利用被设计为执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件或它们的任意组合来实现或执行结合本文公开内容描述的各种说明性的框和模块。通用处理器可以是微处理器,但是在替代方案中,该处理器可以是任意传统的处理器、控制器、微控制器或状态机。还可以将处理器实现为计算设备的组合(例如,DSP和微处理器的组合)、多个微处理器、结合DSP内核的一个或多个微处理器或任意其它这样的配置。
可以在硬件、由处理器执行的软件、固件或它们的任意组合中实现本文描述的功能。如果在由处理器执行的软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或者在其上传输。其它示例或实现方式在本公开内容和所附权利要求的范围和精神内。例如,由于软件的特性,能够使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一个的组合来实现上文描述的功能。实现功能的特征还可以物理地位于各个位置处,包括被分布使得在不同的物理位置处实现部分功能。此外,如本文使用的,包括在权利要求中,如在以“……中的至少一个”开始的一列项目中使用的“或”指示分离的列表,使得例如,一列“A、B或C中的至少一个”表示A、或B、或C、或AB、或AC、或BC或ABC(即,A和B和C)的意思。
计算机可读介质既包括计算机存储介质也包括通信介质,所述通信介质包括有助于计算机程序从一个地方转移到另一个地方的任意介质。存储介质可以是能够被通用计算机或专用计算机存取的任意可用介质。通过示例而非限制的方式,计算机可读介质能够包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性的存储设备、或能够被用于以指令或数据结构的形式携带或存储期望的程序代码单元并且能够被通用计算机或专用计算机或通用处理器或专用处理器存取的任意其它介质。此外,任意连接被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或诸如红外线、无线电和微波的无线技术从网站、服务器或其它远程的源发送软件,则将同轴电缆、光纤光缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术被包括在介质的定义中。如本文使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光光学地复制数据。还将上文的组合包括在计算机可读介质的范围内。
提供本公开内容的先前描述,以使得本领域技术人员能够实现或使用本公开内容。对本领域技术人员来说,对本公开内容的各种修改将是显而易见的,并且在不脱离本公开内容的精神或范围的情况下,可以将本文定义的一般原则应用于其它变形。遍及本公开内容,术语“示例”或“示例性的”指示示例或实例,并不暗示或要求对提到的示例的任何偏好。因此,本公开内容不被限定到本文描述的示例和设计,而是符合与本文公开的原理和新颖的特征相一致的最宽的范围。
Claims (20)
1.一种用于在自组织对等网络中进行路由的方法,包括:
从非网关节点向所述网络上的一个或多个相邻节点发送针对不确定目的地的互联网路由请求,其中,所述一个或多个相邻节点适用于当所述一个或多个相邻节点是非网关节点时,响应于所述不确定目的地,向除了所述非网关节点之外的所述一个或多个相邻节点中的所有相邻节点发送和转发所述互联网路由请求;
在所述非网关节点处,从所述网络上的至少一个网关节点接收响应消息,其中,所述响应消息包括所述至少一个网关节点的地址和网关指示符;以及
在所述非网关节点处,设置网关指针等于所述至少一个网关节点的所述地址。
2.根据权利要求1所述的方法,还包括:
从另一个非网关节点接收所述互联网路由请求,其中,所述发送响应于所述不确定目的地,向除了所述另一个非网关节点之外的所述一个或多个相邻节点发送所接收的互联网路由请求。
3.根据权利要求1所述的方法,还包括:
接收用于传输至互联网目的地的分组;
根据所述网关指针取出所述至少一个网关节点的所述地址;以及
向所述至少一个网关节点发送所述分组。
4.根据权利要求3所述的方法,还包括:
在所述发送之前,从所述分组掩饰所述互联网目的地。
5.一种用于在自组织对等网络中进行路由的方法,包括:
在网关节点处,从所述网络上的一个或多个相邻节点接收针对不确定目的地的互联网路由请求;以及
当所述不确定目的地被接收时,从所述网关节点向所述一个或多个相邻节点发送响应消息,其中,所述响应消息包括所述网关节点的地址和网关指示符。
6.一种用于在自组织对等网络中进行路由的装置,所述装置包括:
用于从非网关节点向所述网络上的一个或多个相邻节点发送针对不确定目的地的互联网路由请求的单元,其中,所述一个或多个相邻节点适用于当所述一个或多个相邻节点是非网关节点时,响应于所述不确定目的地,向除了所述非网关节点之外的所述一个或多个相邻节点中的所有相邻节点发送和转发所述互联网路由请求;
用于在所述非网关节点处从所述网络上的至少一个网关节点接收响应消息的单元,其中,所述响应消息包括所述至少一个网关节点的地址和网关指示符;以及
用于在所述非网关节点处设置网关指针等于所述至少一个网关节点的所述地址的单元。
7.根据权利要求6所述的装置,还包括:
用于从另一个非网关节点接收所述互联网路由请求的单元,其中,所述发送响应于所述不确定目的地,向除了所述另一个非网关节点之外的所述一个或多个相邻节点发送所接收的互联网路由请求。
8.根据权利要求6所述的装置,还包括:
用于接收用于传输至互联网目的地的分组的单元;
用于根据所述网关指针取出所述至少一个网关节点的所述地址的单元;以及
用于向所述至少一个网关节点发送所述分组的单元。
9.根据权利要求8所述的装置,还包括:
用于在所述发送之前从所述分组掩饰所述互联网目的地的单元。
10.一种用于在自组织对等网络中进行路由的装置,所述装置包括:
用于在网关节点处从所述网络上的一个或多个相邻节点接收针对不确定目的地的互联网路由请求的单元;以及
用于当所述不确定目的地被接收时,从所述网关节点向所述一个或多个相邻节点发送响应消息的单元,其中,所述响应消息包括所述网关节点的地址和网关指示符。
11.一种非暂时性计算机可读介质,其上存储有用于在自组织对等网络中进行路由的代码,所述代码当由处理器执行时,使得所述处理器执行以下步骤:
从非网关节点向自组织对等网络中的一个或多个相邻节点发送针对不确定目的地的互联网路由请求,其中,所述一个或多个相邻节点适用于当所述一个或多个相邻节点是非网关节点时,响应于所述不确定目的地,向除了所述非网关节点之外的所述一个或多个相邻节点中的所有相邻节点发送和转发所述互联网路由请求;
在所述非网关节点处从所述网络上的至少一个网关节点接收响应消息,其中,所述响应消息包括所述至少一个网关节点的地址和网关指示符;以及
在所述非网关节点处设置网关指针等于所述至少一个网关节点的所述地址。
12.根据权利要求11所述的非暂时性计算机可读介质,还存储有当由处理器执行时,使得该处理器执行以下步骤的代码:
从另一个非网关节点接收所述互联网路由请求,其中,所述发送响应于所述不确定目的地,向除了所述另一个非网关节点之外的所述一个或多个相邻节点发送所接收的互联网路由请求。
13.根据权利要求11所述的非暂时性计算机可读介质,还存储有当由处理器执行时,使得该处理器执行以下步骤的代码:
接收用于传输至互联网目的地的分组;
根据所述网关指针取出所述至少一个网关节点的所述地址;以及
向所述至少一个网关节点发送所述分组。
14.根据权利要求13所述的非暂时性计算机可读介质,还存储有当由处理器执行时,使得该处理器执行以下步骤的代码:
在所述发送之前从所述分组掩饰所述互联网目的地。
15.一种非暂时性计算机可读介质,其上存储有用于在自组织对等网络中进行路由的代码,所述代码当由处理器执行时,使得所述处理器执行以下步骤:
在网关节点处从自组织对等网络上的一个或多个相邻节点接收针对不确定目的地的互联网路由请求;以及
当所述不确定目的地被接收时,从所述网关节点向所述一个或多个相邻节点发送响应消息,其中,所述响应消息包括所述网关节点的地址和网关指示符。
16.一种自组织对等网络中的非网关节点,所述非网关节点包括:
至少一个处理器;以及
存储器,其耦合至所述至少一个处理器,
其中,所述至少一个处理器被配置为:
从所述非网关节点向所述网络上的一个或多个相邻节点发送针对不确定目的地的互联网路由请求,其中,所述一个或多个相邻节点适用于当所述一个或多个相邻节点是非网关节点时,响应于所述不确定目的地,向除了所述非网关节点之外的所述一个或多个相邻节点中的所有相邻节点发送和转发所述互联网路由请求;
在所述非网关节点处,从所述网络上的至少一个网关节点接收响应消息,其中,所述响应消息包括所述至少一个网关节点的地址和网关指示符;以及
在所述非网关节点处设置网关指针等于所述至少一个网关节点的所述地址。
17.根据权利要求16所述的非网关节点,其中,所述至少一个处理器还被配置为:
从另一个非网关节点接收所述互联网路由请求,其中,所述发送响应于所述不确定目的地,向除了所述另一个非网关节点之外的所述一个或多个相邻节点发送所接收的互联网路由请求。
18.根据权利要求16所述的非网关节点,其中,所述至少一个处理器还被配置为:
接收用于传输至互联网目的地的分组;
根据所述网关指针取出所述至少一个网关节点的所述地址;以及
向所述至少一个网关节点发送所述分组。
19.根据权利要求18所述的非网关节点,其中,所述至少一个处理器还被配置为:
在所述发送之前,从所述分组掩饰所述互联网目的地。
20.一种自组织对等网络中的非网关节点,所述非网关节点包括:
至少一个处理器;以及
存储器,其耦合至所述至少一个处理器,
其中,所述至少一个处理器被配置为:
在网关节点处,从自组织对等网络上的一个或多个相邻节点接收针对不确定目的地的互联网路由请求;以及
当所述不确定目的地被接收时,从所述网关节点向所述一个或多个相邻节点发送响应消息,其中,所述响应消息包括所述网关节点的地址和网关指示符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/786,376 US9621458B2 (en) | 2012-02-21 | 2013-03-05 | Internet routing over a service-oriented architecture bus |
US13/786,376 | 2013-03-05 | ||
PCT/US2014/020815 WO2014138265A2 (en) | 2013-03-05 | 2014-03-05 | Internet routing over a service-oriented architecture bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105009643A CN105009643A (zh) | 2015-10-28 |
CN105009643B true CN105009643B (zh) | 2018-11-13 |
Family
ID=50336584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480011845.9A Expired - Fee Related CN105009643B (zh) | 2013-03-05 | 2014-03-05 | 面向服务架构总线上的互联网路由 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9621458B2 (zh) |
EP (1) | EP2965561A2 (zh) |
JP (1) | JP2016515339A (zh) |
KR (1) | KR20150129308A (zh) |
CN (1) | CN105009643B (zh) |
WO (1) | WO2014138265A2 (zh) |
Families Citing this family (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9456054B2 (en) | 2008-05-16 | 2016-09-27 | Palo Alto Research Center Incorporated | Controlling the spread of interests and content in a content centric network |
US8923293B2 (en) | 2009-10-21 | 2014-12-30 | Palo Alto Research Center Incorporated | Adaptive multi-interface use for content networking |
US9350814B2 (en) | 2012-02-21 | 2016-05-24 | Qualcomm Incorporated | Internet protocol connectivity over a service-oriented architecture bus |
WO2015083320A1 (ja) * | 2013-12-06 | 2015-06-11 | 日本電気株式会社 | 通信端末、通信方法および通信プログラム |
US10098051B2 (en) * | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9716622B2 (en) | 2014-04-01 | 2017-07-25 | Cisco Technology, Inc. | System and method for dynamic name configuration in content-centric networks |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US20160192403A1 (en) * | 2014-12-30 | 2016-06-30 | Qualcomm Incorporated | Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10616177B2 (en) | 2015-03-31 | 2020-04-07 | Willie L. Donaldson | Secure dynamic address resolution and communication system, method, and device |
WO2016172252A1 (en) * | 2015-04-20 | 2016-10-27 | Shoelace Wireless, Inc. | Systems for improved mobile internet speed and security |
WO2016202381A1 (en) * | 2015-06-17 | 2016-12-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Path setup in a mesh network |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9794238B2 (en) | 2015-10-29 | 2017-10-17 | Cisco Technology, Inc. | System for key exchange in a content centric network |
US9807205B2 (en) | 2015-11-02 | 2017-10-31 | Cisco Technology, Inc. | Header compression for CCN messages using dictionary |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10078062B2 (en) | 2015-12-15 | 2018-09-18 | Palo Alto Research Center Incorporated | Device health estimation by combining contextual information with sensor data |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US9949301B2 (en) | 2016-01-20 | 2018-04-17 | Palo Alto Research Center Incorporated | Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
US9832116B2 (en) | 2016-03-14 | 2017-11-28 | Cisco Technology, Inc. | Adjusting entries in a forwarding information base in a content centric network |
US10212196B2 (en) | 2016-03-16 | 2019-02-19 | Cisco Technology, Inc. | Interface discovery and authentication in a name-based network |
US11436656B2 (en) | 2016-03-18 | 2022-09-06 | Palo Alto Research Center Incorporated | System and method for a real-time egocentric collaborative filter on large datasets |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10305865B2 (en) | 2016-06-21 | 2019-05-28 | Cisco Technology, Inc. | Permutation-based content encryption with manifests in a content centric network |
US10148572B2 (en) | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10009266B2 (en) | 2016-07-05 | 2018-06-26 | Cisco Technology, Inc. | Method and system for reference counted pending interest tables in a content centric network |
US9992097B2 (en) | 2016-07-11 | 2018-06-05 | Cisco Technology, Inc. | System and method for piggybacking routing information in interests in a content centric network |
US10122624B2 (en) | 2016-07-25 | 2018-11-06 | Cisco Technology, Inc. | System and method for ephemeral entries in a forwarding information base in a content centric network |
US10069729B2 (en) | 2016-08-08 | 2018-09-04 | Cisco Technology, Inc. | System and method for throttling traffic based on a forwarding information base in a content centric network |
US10956412B2 (en) | 2016-08-09 | 2021-03-23 | Cisco Technology, Inc. | Method and system for conjunctive normal form attribute matching in a content centric network |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
US10171343B2 (en) * | 2016-12-21 | 2019-01-01 | Sony Corporation | Routing multiple data streams simultaneously in wireless networks |
EP3831021A1 (en) | 2018-07-27 | 2021-06-09 | Gotenna Inc. | VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS |
US10805384B1 (en) * | 2018-09-13 | 2020-10-13 | Parallels International Gmbh | Systems and methods for load balancing server infrastructure |
CN111314341B (zh) * | 2020-02-14 | 2022-05-13 | 烽火通信科技股份有限公司 | 多物联网关场景下实现物联终端设备认证的方法及装置 |
US12034570B2 (en) | 2022-03-14 | 2024-07-09 | T-Mobile Usa, Inc. | Multi-element routing system for mobile communications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080042536A (ko) * | 2006-11-10 | 2008-05-15 | 삼성전자주식회사 | 멀티홉 셀룰러 시스템에서의 라우팅 방법 및 상기 멀티홉셀룰러 시스템 |
CN101888681A (zh) * | 2009-05-12 | 2010-11-17 | 华为技术有限公司 | 一种建立路由的方法、设备及系统 |
CN102404739A (zh) * | 2011-09-26 | 2012-04-04 | 苏州大学 | 一种Ad Hoc网络中虫洞攻击的检测方法 |
CN102833803A (zh) * | 2012-08-20 | 2012-12-19 | 北京交通大学 | 一种基于IPv6的无线传感器网络结构及子网内切换方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781550A (en) | 1996-02-02 | 1998-07-14 | Digital Equipment Corporation | Transparent and secure network gateway |
NZ337772A (en) * | 1997-03-12 | 2001-09-28 | Nomadix Inc | Nomadic translator or router |
US6101499A (en) | 1998-04-08 | 2000-08-08 | Microsoft Corporation | Method and computer program product for automatically generating an internet protocol (IP) address |
US6892230B1 (en) | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US7072650B2 (en) | 2000-11-13 | 2006-07-04 | Meshnetworks, Inc. | Ad hoc peer-to-peer mobile radio access system interfaced to the PSTN and cellular networks |
US7697504B2 (en) | 2000-12-29 | 2010-04-13 | Tropos Networks, Inc. | Mesh network that includes fixed and mobile access nodes |
US7174363B1 (en) | 2001-02-22 | 2007-02-06 | Charles Schwab & Co., Inc. | Distributed computing system architecture |
US8266212B2 (en) | 2001-11-23 | 2012-09-11 | Igt | Game talk service bus |
US7280519B1 (en) * | 2002-01-08 | 2007-10-09 | Darrell Harvey Shane | Dynamic metropolitan area mobile network |
CN103001923B (zh) * | 2003-06-05 | 2016-03-30 | 英特特拉斯特技术公司 | 用于控制对在计算机系统上的电子内容片段的访问的方法和系统 |
US7142866B2 (en) * | 2003-09-09 | 2006-11-28 | Harris Corporation | Load leveling in mobile ad-hoc networks to support end-to-end delay reduction, QoS and energy leveling |
US7937088B2 (en) * | 2004-03-26 | 2011-05-03 | Qualcomm Incorporated | Routing communications in an ad hoc network |
GB2416958A (en) * | 2004-07-30 | 2006-02-08 | Orange Personal Comm Serv Ltd | Communicating internet packet data over a packet radio network |
US7468954B2 (en) * | 2004-12-14 | 2008-12-23 | Harris Corporation | Mobile ad-hoc network providing expedited conglomerated broadcast message reply features and related methods |
US7920549B2 (en) | 2005-07-20 | 2011-04-05 | Verizon Business Global Llc | Method and system for providing secure media gateways to support interdomain traversal |
US20070070959A1 (en) * | 2005-09-23 | 2007-03-29 | Almeroth Kevin C | Infrastructure mesh networks |
AU2005338057B2 (en) * | 2005-11-09 | 2011-04-21 | Interdigital Ce Patent Holdings | Route selection in wireless networks |
US7808960B1 (en) * | 2006-05-25 | 2010-10-05 | The Hong Kong University Of Science And Technology | Wireless infrastructure and ad hoc network integration |
JP4680866B2 (ja) * | 2006-10-31 | 2011-05-11 | 株式会社日立製作所 | ゲートウェイ負荷分散機能を備えたパケット転送装置 |
US8489701B2 (en) | 2007-01-30 | 2013-07-16 | Microsoft Corporation | Private virtual LAN spanning a public network for connection of arbitrary hosts |
US7873019B2 (en) | 2007-05-31 | 2011-01-18 | International Business Machines Corporation | Systems and methods for establishing gateway bandwidth sharing ad-hoc networks |
CN101388831B (zh) * | 2007-09-14 | 2011-09-21 | 华为技术有限公司 | 数据传输方法、节点及网关 |
US8880567B2 (en) | 2007-12-18 | 2014-11-04 | International Business Machines Corporation | Discovery and management of configuration data contained within mashups |
CN101540714B (zh) * | 2008-03-21 | 2012-02-01 | 华为技术有限公司 | 网络路径建立与数据发送的方法及网络节点 |
US20090248793A1 (en) | 2008-03-25 | 2009-10-01 | Contribio Ab | Providing Content In a Network |
WO2010013153A1 (en) * | 2008-07-30 | 2010-02-04 | Koninklijke Philips Electronics, N.V. | A method for discovering paths with sufficient medium time in wireless mesh networks |
KR20100040658A (ko) | 2008-10-10 | 2010-04-20 | 삼성전자주식회사 | UPnP 네트워크의 원격 접속 서비스에서 아이피 주소 충돌 해결 방법 및 장치 |
KR101085629B1 (ko) | 2009-03-16 | 2011-11-22 | 삼성전자주식회사 | 이동통신 단말에서 ⅰp 통신의 네트워크 설정 방법 및 장치 |
US9307393B2 (en) | 2009-05-15 | 2016-04-05 | Telcordia Technologies, Inc. | Peer-to-peer mobility management in heterogeneous IPV4 networks |
CN102291795B (zh) * | 2010-06-21 | 2014-02-19 | 富士通株式会社 | 无线通信装置、无线通信网络和控制路由选择的方法 |
JP5323020B2 (ja) * | 2010-09-29 | 2013-10-23 | 三菱電機株式会社 | 通信システム、通信方法およびハンディターミナル |
JP5542028B2 (ja) * | 2010-10-28 | 2014-07-09 | 三菱電機株式会社 | ノード局および冗長経路制御方法 |
US8352491B2 (en) | 2010-11-12 | 2013-01-08 | International Business Machines Corporation | Service oriented architecture (SOA) service registry system with enhanced search capability |
US9350814B2 (en) | 2012-02-21 | 2016-05-24 | Qualcomm Incorporated | Internet protocol connectivity over a service-oriented architecture bus |
-
2013
- 2013-03-05 US US13/786,376 patent/US9621458B2/en not_active Expired - Fee Related
-
2014
- 2014-03-05 CN CN201480011845.9A patent/CN105009643B/zh not_active Expired - Fee Related
- 2014-03-05 WO PCT/US2014/020815 patent/WO2014138265A2/en active Application Filing
- 2014-03-05 KR KR1020157027354A patent/KR20150129308A/ko active IP Right Grant
- 2014-03-05 EP EP14711426.8A patent/EP2965561A2/en not_active Withdrawn
- 2014-03-05 JP JP2015561615A patent/JP2016515339A/ja active Pending
-
2017
- 2017-02-28 US US15/445,801 patent/US20170171073A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080042536A (ko) * | 2006-11-10 | 2008-05-15 | 삼성전자주식회사 | 멀티홉 셀룰러 시스템에서의 라우팅 방법 및 상기 멀티홉셀룰러 시스템 |
CN101888681A (zh) * | 2009-05-12 | 2010-11-17 | 华为技术有限公司 | 一种建立路由的方法、设备及系统 |
CN102404739A (zh) * | 2011-09-26 | 2012-04-04 | 苏州大学 | 一种Ad Hoc网络中虫洞攻击的检测方法 |
CN102833803A (zh) * | 2012-08-20 | 2012-12-19 | 北京交通大学 | 一种基于IPv6的无线传感器网络结构及子网内切换方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2014138265A2 (en) | 2014-09-12 |
JP2016515339A (ja) | 2016-05-26 |
CN105009643A (zh) | 2015-10-28 |
US9621458B2 (en) | 2017-04-11 |
US20170171073A1 (en) | 2017-06-15 |
US20140254595A1 (en) | 2014-09-11 |
KR20150129308A (ko) | 2015-11-19 |
EP2965561A2 (en) | 2016-01-13 |
WO2014138265A3 (en) | 2014-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105009643B (zh) | 面向服务架构总线上的互联网路由 | |
US9515920B2 (en) | Name-based neighbor discovery and multi-hop service discovery in information-centric networks | |
JP5525039B2 (ja) | 移動通信ネットワークにおけるコア・ネットワーク・ノードの選択 | |
US9350814B2 (en) | Internet protocol connectivity over a service-oriented architecture bus | |
JP4037759B2 (ja) | 多元ホストエニーキャストルーティングのための方法及びシステム | |
US8072900B2 (en) | Automatic distribution of server and gateway information for pool configuration | |
US11129061B1 (en) | Local identifier locator network protocol (ILNP) breakout | |
US11310846B2 (en) | Local identifier locator network protocol (ILNP) breakout | |
US10841172B2 (en) | Network fabric visualization and management | |
US20170142226A1 (en) | Methods, apparatuses and systems directed to enabling network federations through hash-routing and/or summary-routing based peering | |
CA2803179C (en) | Information distribution in a wireless communication system | |
US11570093B2 (en) | Data transmission method, node and system | |
KR20140073588A (ko) | 콘텐츠 배달 네트워크들 간의 인터페이싱을 제공하는 방법 및 장치 | |
WO2016057704A2 (en) | Supporting internet protocol (ip) clients in an information centric network (icn) | |
WO2010139115A1 (zh) | 多个汇聚节点共同处理移动组播源组播业务的方法及装置 | |
EP4383677A2 (en) | Locator lookup-based, low-latency, multi-access ip mobility | |
JP5464360B2 (ja) | 移動体通信における改良された端末情報管理方式及び通信方式を実現するメッシュ型ネットワーク及び基地局 | |
Liu et al. | Rich Semantic Content-oriented Routing for mobile Ad Hoc Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181113 Termination date: 20200305 |
|
CF01 | Termination of patent right due to non-payment of annual fee |