CN101335724B - 一种基于家庭网关的通讯系统、方法和通讯设备 - Google Patents
一种基于家庭网关的通讯系统、方法和通讯设备 Download PDFInfo
- Publication number
- CN101335724B CN101335724B CN2007101181752A CN200710118175A CN101335724B CN 101335724 B CN101335724 B CN 101335724B CN 2007101181752 A CN2007101181752 A CN 2007101181752A CN 200710118175 A CN200710118175 A CN 200710118175A CN 101335724 B CN101335724 B CN 101335724B
- Authority
- CN
- China
- Prior art keywords
- group
- node
- message
- door
- backbone
- 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
Images
Abstract
基于家庭网关的通讯系统、方法和设备。该系统包括:位于管理层的管理层节点、位于连接层的门节点和位于底层的家庭网关;底层包括多个团体,一个团体包括至少一个家庭网关,团体内家庭网关之间采用P2P结构通讯方式进行通讯,一个团体对应至少一个门节点,一个管理层节点对应至少一个团体节点。管理层节点控制与其对应团体的门节点中的门节点之间的路由信息;门节点用于获取团体内的路由信息,根据管理层节点控制的路由信息将需要转发的消息转发到其它团体对应的门节点,和/或根据团体内路由信息将需要转发的消息转发到团体内的家庭网关;家庭网关用于获取其所在团体内家庭网关的路由信息,并根据所述获取的路由信息将消息在团体内的逻辑邻居节点中转发。本发明采用对等网络模式实现了家庭网关间的组网。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及家庭网关。
背景技术
家庭网络的目标是:实现家庭环境中设备的信息化和网络化,以使家居环境更加舒适、安全、高效和便捷。家庭网络技术是新兴的信息技术和网络技术在家庭环境中的自然延伸。在整个智能家居系统中,家庭网络技术具有核心的地位。
目前,家庭网络技术领域中出现了一批成热的技术和产品,如X-1QEIB、LonWorks、CEBus、Jini、UpnP、OSGi等,这些技术和产品在不同方面都取得了惊人的成功,但是,由于家庭应用环境内在的多样性和复杂性,家庭网络技术领域还没有形成统一的技术标准。
现有的一种家庭网络的技术方案是针对市场推广的,而且,该技术方案中,高速媒体流是基于信息处理能力强大的设备上的。该技术方案从物理层技术到基础通信协议都采用了国际上成熟和广泛使用的技术,如底层使用IEEE802.3和IEEE802.11系列、网络层使用TCP/IP协议、应用层使用HTTP等。该技术方案规范了家庭网络内部各设备之间的发现、识别和连接,从而保证了各厂商生产的设备能够互相识别通信。
然而,家庭网络并非孤岛,家庭网络需要公网即互联网提供丰富的业务。家庭网关是家庭网络的核心。家庭网关一方面为家庭网络内部各设备提供联网手段、负责公网与家庭网络中各子网的互通和远程管理与控制。另一方面,家庭网关也是家庭用户从互联网络获得各种服务的通道和业务平台、家庭网关为家庭网络的接入认证和业务安全提供保障。
目前还没有涉及家庭网关间互联的技术方案。
发明内容
本发明实施方式提供一种基于家庭网关的通讯系统、方法和通讯设备,采用P2P模式实现了家庭网关间的组网。
本发明实施方式提供的一种基于家庭网关的通讯系统,所述系统包括:位于管理层的管理层节点、位于连接层的门节点和位于底层的家庭网关;所述底层包括多个团体,一个团体包括至少一个家庭网关,团体内家庭网关之间采用P2P结构通讯方式进行通讯,一个团体对应至少一个门节点,一个管理层节点对应至少一个团体;
管理层节点:用于控制与其对应的门节点中的门节点之间的路由信息;
门节点:用于获取团体内的路由信息,根据管理层节点控制的路由信息将需要转发的消息转发到其它团体对应的门节点,和/或根据团体内路由信息将需要转发的消息传输至团体内的家庭网关;
家庭网关:用于获取其所在团体内的路由信息,根据所述获取的路由信息将消息在团体内的逻辑邻居节点中转发。
本发明实施方式提供的一种基于家庭网关的通讯方法,家庭网关之间采用P2P结构通讯方式进行通讯,所述方法包括步骤:
管理层节点控制门节点之间的路由信息;
门节点获取团体内路由信息,并根据管理层节点控制的路由信息将需要转发的消息转发至其它团体对应的门节点,和/或根据团体内路由信息将需要转发的消息传输至团体内的家庭网关;
家庭网关获取团体内路由信息,并根据团体内路由信息将消息在团体内的逻辑邻居节点中转发。
本发明实施方式还提供一种家庭网关,所述家庭网关与其所在团体内的逻辑邻居节点采用P2P通讯方式进行通讯,家庭网关中设置有团体内路由管理模块和消息处理模块一;
团体内路由管理模块:用于获取家庭网关所在团体的团体内路由信息;
消息处理模块一:用于根据团体内路由管理模块中的团体内路由信息将需要转发的消息在团体内逻辑邻居节点中转发。
本发明实施方式还提供一种网络设备,该网络设备为团体中的门节点,该网络设备中设置有团体内路由管理模块、团体间路由管理模块和消息处理模块二;
团体内路由管理模块:用于获取家庭网关所在团体的团体内路由信息;
团体间路由管理模块:用于接收并存储管理层节点传输来的团体间路由信息;
消息处理模块二:用于根据团体内路由管理模块中的团体内路由信息将需要转发的消息在团体内转发、和/或根据团体间路由管理模块中的团体间路由信息将需要转发的消息转发到其它团体对应的门节点。
本发明实施方式还提供一种网络设备,该网络设备为管理层的注册服务器,设置有管理模块、查询模块;
管理模块:用于对管理层的管理节点与底层团体的对应关系进行管理;
查询模块:用于接收查询消息,根据管理模块中存储的对应关系确定查询结果,并反馈查询结果。
本发明实施方式还提供一种网络设备,位于管理层,设置有门节点管理模块和路由更新模块;
门节点管理模块:用于存储团体的门节点信息,并对连接层的门节点进行设置管理;
路由更新模块:用于根据门节点管理模块中存储的门节点信息对团体门节点中的门节点之间的路由信息进行路由更新。
通过上述技术方案的描述可知,本发明实施方式提出的基于对等网络的家庭网关三层组网模型实现了不同家庭网关之间的互联互通,从而实现了团体内的家庭网关之间的资源共享、以及跨团体的家庭网关之间的资源共享。通过对底层进行团体划分,使逻辑层与物理层达到较好匹配,使团体内的家庭网关具有自组织性、跨团体可控性与安全性。本发明实施方式提供的基于家庭网关的通讯系统可以支撑多种应用,如资源定位、远程监控等。
附图说明
图1是本发明实施方式的基于P2P的层次化家庭网关互连模型示意图;
图2是本发明实施方式的注册服务器的初始化处理流程图;
图3是本发明实施方式的骨干/管理服务器的初始化过程中骨干/管理服务器的处理流程图;
图4是本发明实施方式的骨干/管理服务器的初始化过程中注册服务器的处理流程图;
图5是本发明实施方式的底层节点初始化示意图;
图6是本发明实施方式的底层节点初始化过程中准备加入网络的底层节点的处理流程图;
图7是本发明实施方式底层节点初始化过程中注册服务器的处理流程图;
图8是本发明实施方式的底层节点初始化过程中骨干/管理服务器的处理流程图;
图9是本发明实施方式的底层节点对Query消息的处理流程图;
图10是本发明实施方式的连接层的门节点对Query消息的处理流程图;
图11是本发明实施方式的Query消息和QueryHit消息在连接层和底层的传输示意图;
图12是本发明实施方式的连接层路由更新示意图;
图13是本发明实施方式的连接层路由更新过程中请求方的处理流程图;
图14是本发明实施方式的管理服务器对团体间通路的出口的维护流程图;
图15是本发明实施方式的管理服务器对团体间通路的入口的维护流程图;
图16是本发明实施方式的管理服务器对连接层节点监控的流程图;
图17是本发明实施方式的管理服务器对团体内网络流量控制的流程图。
具体实施方式
家庭网络是具有固有特性的网络,家庭网络的固有特性主要体现在家庭网关的固有特性上。家庭网关的固有特性与传统P2P(Peer-to-Peer,对等网络)中节点的固有特性如表1所示。
表1
从表1可以看出,在稳定性、匹配性、聚集性、安全性、网络规模等方面,家庭网关均与传统对等网络中的节点有明显区别。本发明实施方式充分利用了家庭网络的固有特性,采用P2P模式实现了家庭网关间的组网,从而实现了各个家庭网络中各种设备的互联。
由于本发明实施方式基于家庭网关的通讯系统采用了P2P模式,因此,各个家庭网络中的终端设备既可以是客户端也可以是服务端。作为客户端,终端设备可以发起查询、并从其它终端设备处下载资源;作为服务端,终端设备可以为其它终端设备提供资源。
本发明实施方式提出的基于家庭网关的通讯系统是一种新颖的、基于P2P架构的三层组网模型。该三层组网模型在结合了对等网络的动态性、分布性和自组织性等特性的同时,还结合了服务器在网络管理中的作用;而且该三层组网模型通过分层次的组网解决了家庭网关之间的联网、网络节点标识、网络流量控制和路由协议等方面的技术问题。
下面首先对本发明实施方式中家庭网关互连的组网模型即基于家庭网关的通讯系统进行说明。
本发明实施方式中的家庭网关互连的组网模型是一种基于P2P的层次化家庭网关互连模型(P2PBased Structural Interconnected Mode for Home Network Gate),该组网模型如附图1所示。
图1中,家庭网关互连组网模型包括三层结构,这三层结构自顶向下分别为:管理层(ManagementLayer)、连接层(Connection Layer)和底层(Bottom Layer)。管理层即图1中的服务器层。管理层的组成单元为管理层节点,管理层节点包括:注册服务器(Register Server)101、骨干服务器(BS,BackboneServer)102、管理服务器(MS,Management Server)103。连接层的组成单元为连接层节点,连接层节点即门节点(GP,Gateway Peer)104。底层的组成单元为底层节点(BP,Bottom Peer)105。底层节点105即家庭网关。
从图1可以看出,底层包括多个团体,底层中的家庭网关可以根据各种划分条件形成不同的团体。本发明实施方式不限制团体的划分方式。一个团体可以包括至少一个家庭网关。在一般情况下,一个团体应包括多个家庭网关。一个团体可以对应至少一个门节点104,在一般情况下,一个团体可以只对应一个门节点104。一个管理层节点可以对应至少一个门节点104,即一个管理层节点可以管辖一个或多个门节点104。在一般情况下,一个管理层节点可以管辖多个门节点104。
为便于管理层对连接层门节点104的管理,本发明实施方式中的管理层节点可以划分为:管理节点和注册服务器101。注册服务器101主要用于管理门节点104与管理节点之间的对应关系,即对哪个门节点由哪个管理节点来管辖进行管理。管理节点主要用于对门节点104之间的路由进行管理控制。管理节点又可以进一步划分为:管理服务器103和骨干服务器102。一个管理服务器103可以对应至少一个门节点104,即一个管理服务器103可以管辖一个或多个门节点104。在一般情况下,一个管理服务器103可以管辖多个门节点104。一个骨干服务器102可以对应至少一个门节点104,即一个骨干服务器102可以管辖一个或多个门节点104。在一般情况下,一个骨干服务器102可以管辖多个门节点104。虽然骨干服务器102和管理服务器103均是管辖门节点104的,但是,骨干服务器102管辖的门节点104与管理服务器103管辖的门节点104是有区别的,骨干服务器102可以仅管辖团体中的固定门节点104,管理服务器103可以仅管辖团体中的非固定门节点104。这里的固定门节点104是指固化设置于连接层的门节点104,非固定门节点是指动态选出的门节点104。
下面对图1组网模型中的管理层、连接层和底层这三层结构分别进行说明。
一、管理层。管理层由注册服务器101、管理服务器103和骨干服务器102组成。管理层可以采用P2P模式组网,如管理层采用类似于以Napster为代表的第一代中心索引机制的P2P模式组网。所谓中心索引机制即“集中索引(Central Index)”机制,即由一个中心节点来集中存储网络资源的索引信息,其他节点则通过该中心节点来查找网络资源,进而实现节点之间的直接资源下载。当然,管理层也可以采用其它组网方式进行组网,本发明实施方式不限制管理层组网的方式。
注册服务器101可以是通讯系统中最先部署的服务器,注册服务器101的数量可以为一个,也可以为多个。采用多注册服务器101结构的原因之一为:实现分布式冗余存储和分布式索引查询,以提高系统的可靠性和运行效率。多个注册服务器101之间可以采用P2P模式如非结构化P2P模式组网。注册服务器101之间可以采用“本地索引(Local Index)”机制,并结合“泛洪(Flooding)”式路由技术来提供注册服务器101之间通信能力的对等性、系统的自组织能力和分布式计算能力。多个注册服务器101之间的通信方式可以为简单的泛洪方式,这里的泛洪方式可以为全泛洪方式。注册服务器101主要用于记录管理服务器103和骨干服务器102的有效管辖范围,即注册服务器101存储有骨干服务器102与门节点104的对应关系、以及管理服务器103与门节点104的对应关系。注册服务器101还需要提供相应的索引查询功能,即骨干服务器102、管理服务器103等可以从注册服务器101处查询出骨干/管理服务器所管辖的门节点104的信息。注册服务器101可以是专用设备如专用服务器等,注册服务器101也可以采用家庭网关来担当。当家庭网关来担当注册服务器101时,家庭网关可以从逻辑上划分出注册服务器101,即一个家庭网关的物理实体可以包括逻辑上的底层节点和逻辑上的注册服务器101。
为了保证网络整体的连通性、以及提高系统稳定性等,本发明实施方式可以预先在系统中部署一定数量的骨干服务器102,如在系统运行前预先设置骨干服务器102。骨干服务器102管辖的团体内配置有固化的门节点。固化的门节点是预先设定的固定门节点。骨干服务器102之间的连接方式可以设置为全连通方式,这样在管理层就形成了一个由骨干服务器102组成的骨干网络(Backbone)。骨干服务器102提供的操作主要包括:安全认证、团体划分、路由管理和流量控制等。骨干服务器102提供的这些操作在下面的实施例描述中有详细介绍。多个骨干服务器102之间的通信方式可以为简单的泛洪方式,这里的泛洪方式可以为全泛洪方式。
管理服务器103管辖一个或多个团体。管理服务器103并不直接参与底层家庭网关、连接层门节点中的团体内路由。管理服务器103主要通过控制和管理连接层中门节点之间的路由来实现局部或者全局的路由优化。管理服务器103提供的操作主要包括:安全认证、团体划分、路由管理和流量控制等。骨干服务器102和管理服务器103两者提供的操作基本相似。多个管理服务器102之间的通信方式可以为简单的泛洪方式,这里的泛洪方式可以为全泛洪方式。
在实际的应用中,骨干服务器102的数量可以较少且相对稳定,而管理服务器103则可以随时添加。骨干服务器102、管理服务器103可以是专用设备如专用服务器等,骨干服务器102、管理服务器103也可以采用家庭网关来担当。当家庭网关来担当骨干/管理服务器时,家庭网关可以从逻辑上划分出骨干/管理服务器,即一个家庭网关的物理实体可以包括逻辑上的底层节点和逻辑上的骨干/管理服务器。
在实际的应用中,管理层中的注册服务器、骨干服务器、管理服务器可以由运营商、公司、组织或者小区等来部署。在配置管理层节点时,需要统一管理。需要特别说明的是,本发明实施方式可以不对管理层节点进行上述注册服务器、骨干服务器、管理服务器的划分,而且,上述各服务器可以是逻辑上的服务器,本发明实施方式不限制上述服务器所在物理实体的具体表现形式。
二、连接层。连接层由一定数量的门节点104组成。连接层可以采用P2P模式组网,当然,连接层也可以采用其它组网方式进行组网,本发明实施方式不限制连接层的组网方式。
门节点104主要负责转发团体间的消息,并对转发的消息进行处理。这里的处理如修改消息中的生命周期、历史路径信息等。门节点104对消息的转发和处理过程在下面的实施例描述中有详细介绍。门节点104是其对应团体的唯一“合法”出口、唯一“合法”入口。每个门节点104都存储有其他门节点104的IP地址信息,如存储有其邻居门节点104的IP地址信息。门节点104可以是由骨干/管理服务器从家庭网关中选取出来的。骨干/管理服务器可以按照预定策略来选取门节点104;如骨干/管理服务器按照处理能力、网络性能稳定性、或者随机选取等策略来选取门节点104。门节点104的设置、门节点104中存储的路由信息等需要受到骨干/管理服务器的管理和控制。门节点104可以是单独部署的专用设备,门节点104也可以采用家庭网关来担当。在实际的应用中,骨干/管理服务器从家庭网关中选取门节点104是一种比较实用的做法。当家庭网关来担当门节点104时,家庭网关可以从逻辑上划分出门节点4,即一个家庭网关的物理实体可以包括逻辑上的底层节点和逻辑上的连接层节点。多个门节点104之间的通信方式可以为简单的泛洪方式,这里的泛洪方式可以为定向泛洪方式。
三、底层。底层由底层节点105组成。
底层节点105可以采用P2P模式如非结构化P2P模式组网。底层节点105是普通的家庭网关。由于家庭网关的物理实体中有可以包含有逻辑上的连接层节点、管理层节点等,因此,这里的“普通的家庭网关”即家庭网关的物理实体中除去逻辑上的管理层节点、连接层节点之外的家庭网关。
在本发明实施方式中,可以根据家庭网关的物理位置、家庭网关所归属的运营商等等信息,将需要加入系统的家庭网关划分在不同的团体中。团体可以是一个以物理位置或者逻辑划分等为单位的最小通信单元。团体是一个具有自组织性的、相对独立的组成部分。也就是说,在团体内,所有节点是自管理、自路由的。团体是一个相对独立的自组织结构。每个家庭网关必须加入一个团体才能使用本发明实施方式的基于家庭网关的通讯系统中的资源。底层节点105可以接收、转发团体内的消息如转发查询资源消息等。团体内底层节点105之间可以采用泛洪方式进行通讯,这里的泛洪方式可以为全泛洪方式、概率泛洪方式等。团体内底层节点105可以采用泛洪方式来获得团体内的路由信息,同样,这里的泛洪方式可以为全泛洪方式、概率泛洪方式等。跨团体转发的消息如查询资源消息则需要通过该团体对应的门节点104来转发。跨团体转发消息的路由方式与家庭网关无关,跨团体转发消息的路由方式由连接层定义。
在本发明实施方式中,一个团体可以对应一个IP段地址,不同团体的IP段地址应该是一个唯一值,一个家庭网关具有的IP地址应该是一个唯一值。
本发明实施方式对底层节点105进行团体划分的原因主要包括如下三点:
第一、家庭网关具有一定的聚集效应,如大多数情况下,家庭网关的物理相连可以以小区为单位。
第二、团体划分有利于基于家庭网关的通讯系统的管理和控制。在划分团体后,每个团体内的底层节点都是自维护的,底层节点不需要系统进行任何额外的管理和控制,即团体内是完全自组的对等网络。
第三、泛洪方式在网络节点规模不大的情况下,路由效率非常高,但是泛洪方式的可扩展性比较差,如果网络节点规模过大,会产生大量的冗余消息,从而占用过多的网络带宽资源。通过划分团体,限制了团体内底层节点的规模,保证了泛洪方式能够在底层的家庭网关之间应用,从而保证了底层团体内家庭网关的高效路由。
上述实施例着重介绍了基于家庭网关的通讯系统的结构,下面从该通讯系统实现通讯的具体过程进行详细介绍。通讯系统实现通讯的具体过程即对本发明实施方式的基于家庭网关的通讯方法。
从上面实施方式的描述中可知,管理层节点需要对门节点路由的控制管理、门节点需要将消息路由至其它门节点或者将消息路由至其所在团体的家庭网关、家庭网关需要将消息在团体内路由。在实现上述技术方案过程中,会包括节点初始化、网络路由和网络控制等过程,如本发明实施方式中管理层节点、连接层门节点、底层节点在需要加入基于家庭网关的通讯系统、以及更新门节点、更新底层节点归属的团体时,需要进行初始化过程;在进行初始化后,还需要进行网络路由和网络控制等处理操作。下面对初始化、网络路由和网络控制分别进行说明。
本发明实施方式中的初始化包括:管理层的初始化、连接层的初始化和底层的初始化,即管理层节点的初始化、门节点的初始化和家庭网关初始化。
一、管理层节点的初始化。管理层节点的初始化包括:注册服务器的初始化、骨干服务器的初始化和管理服务器的初始化三部分内容。
1、注册服务器的初始化。注册服务器的初始化处理流程如附图2所示。
图2中,在步骤S201,预先为准备加入网络的注册服务器配置所有已加入网络的注册服务器的IP地址信息。这里预先配置的IP地址信息可以根据注册服务器的网络拓扑结构来确定。注册服务器的网络拓扑结构可以根据实际需要进行配置,如可以采用简单的全连通方式。
步骤S202,准备加入网络的注册服务器根据上述配置的IP地址信息来探测已加入网络的注册服务器。
步骤S203,准备加入网络的注册服务器在探测到已加入网络的注册服务器后,与探测到的注册服务器进行认证信息的交互。
步骤S204,在认证成功后,准备加入网络的注册服务器与已加入网络的注册服务器分别更新本地路由表,从而成功建立可靠的逻辑上的双向连接,上述准备加入网络的注册服务器成功加入注册服务器网络。注册服务器网络仍然可以形成全连通网络。这里的本地路由表中存储有注册服务器之间的路由信息。
2、骨干服务器和管理服务器的初始化。
骨干服务器与管理服务器的初始化过程类似,其初始化过程都需要注册服务器协同完成,即骨干/管理服务器的初始化过程包括:待加入的骨干服务器和管理服务器的处理流程和注册服务器的处理流程两部分。准备加入网络的骨干服务器和管理服务器需要预先配置其管辖范围。该管辖范围可以由若干个区域组成。一个区域可以代表一个团体,当然也可以代表多个团体。骨干服务器和管理服务器的管辖范围的地址信息可以是连续的IP段地址,也可以是非连续的IP段地址。
骨干/管理服务器的初始化处理流程中,待加入的骨干/管理服务器的处理流程如附图3所示。
图3中,步骤S301,预先为准备加入网络的骨干/管理服务器配置注册服务器的IP地址信息。准备加入网络的骨干/管理服务器根据该IP地址信息尝试与注册服务器建立连接。
步骤S302,准备加入网络的骨干/管理服务器判断连接是否成功建立,如果成功建立,则到步骤S303,否则,到步骤S307。
步骤S303,准备加入网络的骨干/管理服务器通过上述成功建立的连接发送认证信息。这里的认证信息包括:骨干/管理服务器ID、所管辖团体的IP地址段范围信息以及其它一些认证信息。
步骤S304,准备加入网络的骨干/管理服务器等待接收注册服务器的反馈信息。
步骤S305,准备加入网络的骨干/管理服务器成功接收到注册服务器的反馈信息后,准备加入网络的骨干/管理服务器断开上述成功建立的连接。这里的反馈信息包括:团体ID、团体IP地址范围、已经注册的骨干/管理服务器的IP地址信息等。由于本发明实施方式中骨干/管理服务器之间的连接是逻辑上的可靠连接,因此,准备加入网络的骨干/管理服务器在接收到反馈信息后,需要断开连接,并释放资源。
步骤S306,准备加入网络的骨干/管理服务器从其接收到的反馈信息中提取网络中已注册的骨干/管理服务器的IP地址信息,并根据提取到的IP地址信息探测网络中相应的骨干/管理服务器。然后,骨干/管理服务器将成功探测到的骨干/管理服务器的IP地址等信息加入到本地路由表中。准备加入网络的骨干/管理服务器成功加入网络。本次骨干/管理服务器初始化过程中,骨干/管理服务器的处理操作成功完成,本流程结束。该步骤中的本地路由表中存储有骨干/管理服务器之间的路由信息。
步骤S307,准备加入网络的骨干/管理服务器判断尝试建立连接的次数是否超过预先设定的重试次数,如果超过重试次数,则到步骤S308;否则,到步骤S301。
步骤S308,骨干/管理服务器初始化过程中,骨干/管理服务器的处理操作失败,本流程结束。
骨干/管理服务器的初始化过程中,注册服务器的处理流程如附图4所示。
图4中,步骤S401,注册服务器监听骨干/管理服务器的状态。
步骤S402,注册服务器在监听到骨干/管理服务器的连接请求后,根据该连接请求与骨干/管理服务器建立连接。
步骤S403,注册服务器接收并提取骨干/管理服务器传输来的认证信息。这里的认证信息即步骤S303中描述的骨干/管理服务器ID、团体的IP段地址信息、以及其它一些认证信息。
步骤S404,注册服务器根据其提取到的认证信息判断发送认证信息的骨干/管理服务器是否为准备加入网络的骨干/管理服务器;如果是,则到步骤S405;否则,到步骤S415。在该步骤中,注册服务器可以根据提取到的认证信息去查找本地历史注册记录,以判断骨干/管理服务器是否为准备加入网络的骨干/管理服务器,如注册服务器查找本地历史注册记录,如果查找到记录,则确定该骨干/管理服务器为已经注册的骨干/管理服务器,否则,确定该骨干/管理服务器为准备加入网络的骨干/管理服务器。
步骤S405,注册服务器判断准备加入网络的服务器的类型,如果是BS(骨干服务器),则到步骤S412;如果是MS(管理服务器)则到步骤S406。在该步骤中,注册服务器可以通过查找本地配置表来确定服务器的类型,即注册服务器的配置表中存储有各个服务器的类型信息。
步骤S406,注册服务器提取准备加入网络的管理服务器所管辖的一个新团体信息,这里的新团体信息如团体ID等。注册服务器将新团体的团体ID等信息反馈给管理服务器,并存储团体ID、管理服务器ID等信息,如按照团体IP段地址信息将团体ID、管理服务器ID等信息插入索引列表的指定位置。这里的索引列表主要用于记录管理服务器与团体的对应关系。
步骤S407,注册服务器在存储有骨干服务器管辖的团体的IP地址信息的本地数据库中查找与上述新团体的IP地址最接近的团体,并确定最接近的团体对应的已经注册的骨干服务器,然后将查找到的、上述以及注册的骨干服务器所管理的团体的IP地址信息反馈给准备加入网络的管理服务器。这里的“最接近”可以是物理位置最近的意思。注册服务器可以通过将已记录的团体信息的IP地址前缀与新团体的IP地址前缀进行比较来确定最接近,即如果IP地址前缀接近则意味着物理上接近。在本发明实施方式中,不要求IP地址前缀必须绝对匹配。
步骤S408,注册服务器查找并确定两个管理服务器,然后,将这两个管理服务器的IP地址信息反馈给准备加入的管理服务器,这里的两个管理服务器需要符合如下要求:管理服务器管辖团体的IP地址的上、下界与新加入的管理服务器管辖团体的IP地址的上、下界最接近。这里的上、下界的含义为:一个团体中最大的IP地址被称为上界,最小的IP地址被称为下界。
如果注册服务器不能够查找到相应的管理服务器,则可以查找两个骨干服务器,然后,将这两个骨干服务器的IP地址反馈给新加入的管理服务器。这里的两个骨干服务器需要符合的要求和上述描述的管理服务器需要符合的要求相同。需要特别说明的是,步骤S408中选取的骨干服务器应该与步骤S407中选取的骨干服务器不相同。
注册服务器返回管理/骨干服务器IP地址的目的是:准备加入网络的管理服务器与这些管理/骨干服务器建立连接。注册服务器针对准备加入网络的管理服务器管辖的一个团体的处理过程结束。
步骤S409,注册服务器判断是否处理完这个准备加入网络的管理服务器管辖的所有团体,如果处理完成,则进入步骤S410,否则,进入步骤S406。
步骤S410,注册服务器与骨干/管理服务器断开连接。
步骤S411,注册服务器定时将加入网络的骨干/管理服务器信息转发到所有邻居注册服务器备份,返回步骤S401,本次注册服务器对骨干/管理服务器初始化的处理流程结束。
步骤S412,注册服务器为骨干服务器分配所有新团体的团体ID,并将所有新团体的团体ID信息反馈给准备加入网络的骨干理服务器,然后,注册服务器将处理后的新团体的团体ID、骨干服务器IP信息等按IP插入索引列表的指定位置。
步骤S413,将网络中已注册的所有骨干服务器的IP地址信息反馈给准备加入网络的骨干服务器。
步骤S414,将准备加入网络的骨干服务器的IP地址信息传输至其它所有骨干服务器,到步骤S410。
步骤S415,注册服务器为骨干/管理服务器分配新团体的团体ID,并将新团体的团体ID等信息反馈给发送连接请求的骨干/管理理服务器,然后,注册服务器将分配的新团体的团体ID、骨干服务器IP信息等按照IP地址段插入索引列表的指定位置。到步骤S410。
如果骨干服务器之间是全连通的网络拓扑,则新加入网络的管理服务器至少与最接近的一个骨干服务器和两个管理服务器相连接。通过上述骨干/管理服务器的初始化过程,能够使管理层的网络拓扑形成一个以骨干服务器网络为中心的、类似于轮型的网络拓扑结构。
二、连接层节点初始化。
在实际应用中,管理服务器可以将第一个加入团体的底层节点设置为该团体的初始门节点(IGP,Initial Gateway Peer),管理服务器也可以采用随机选取的方式从团体内的家庭网关中选取一个家庭网关,将该选取的家庭网关设置为团体的门节点。在设置了团体的门节点之后,门节点的初始化过程与门节点的路由更新过程基本相同。门节点的路由更新过程如下述实施方式中针对附图12的描述。
三、底层节点初始化。底层节点初始化的示意图如附图5所示。
图5中,在步骤1、首先,准备加入网络的底层节点向注册服务器查询管理服务器的IP地址信息。准备加入网络的底层节点可以根据预先为其配置的注册服务器的IP地址信息来查询管理服务器的IP地址。
到步骤2、注册服务器将管理服务器的IP地址信息返回给准备加入的底层节点。在该步骤中,注册服务器可以根据底层节点的IP地址、以及其存储的管理服务器管辖的团体对应的IP地址段来确定返回给底层节点的管理服务器的IP地址。
到步骤3、准备加入网络的底层节点根据其获取的IP地址信息向管理服务器发起查询,以获取底层节点的网络标识ID和团体内逻辑邻居节点的IP地址信息。
到步骤4、管理服务器按照底层节点的IP地址将准备加入网络的底层节点划入指定团体,并将准备加入网络的底层节点的网络标识ID和团体内逻辑邻居节点的IP地址信息返回给准备加入网络的底层节点。这里的逻辑邻居节点可以是团体门节点,也可以是团体内其它家庭网关。也就是说,团体内的家庭网关和团体的门节点可以互为逻辑邻居节点。
到步骤5、准备加入网络的底层节点根据接收到的逻辑邻居节点的IP地址信息来探测团体内的邻居节点,在探测成功后,准备加入网络的底层节点成功加入网络。
底层节点的初始化过程需要底层节点、管理层节点协同完成。底层节点初始化过程中准备加入的底层节点的处理流程如附图6所示。
图6中,步骤S601,准备加入网络的底层节点判断是否是第一次登录网络,如果是,则进入步骤S602,否则,进入步骤S606。
步骤S602,准备加入网络的底层节点通过预先设定的IP地址如固化在其内部的IP地址来探测注册服务器。
步骤S603,在探测到注册服务器后,准备加入网络的底层节点等待注册服务器反馈骨干/管理服务器的IP地址信息。
步骤S604,准备加入网络的底层节点在接收到注册服务器反馈的IP地址信息后,依据该IP地址信息来探测骨干/管理服务器。
步骤S605,准备加入网络的底层节点等待骨干/管理服务器为其分配的网络节点标识ID和团体内的逻辑邻居节点的IP地址信息。其中,网络节点标识ID可以由团体ID和团体内ID组成。
步骤S606,准备加入网络的底层节点在接收到骨干/管理服务器传输来的网络节点标识ID和团体内的逻辑邻居节点的IP地址信息后,根据逻辑邻居节点的IP地址信息探测团体内的逻辑邻居节点。
步骤S607,准备加入网络的底层节点根据探测结果判断加入团体是否成功,如果成功,本次底层节点初始化过程中底层节点的处理流程结束;否则,进入步骤S608。
步骤S608,准备加入网络的底层节点判断尝试加入团体的次数是否超过预先设定的重试次数,如果超过重试次数,进入步骤S602;否则,进入步骤S609。
步骤S609,准备加入网络的底层节点重新获取团体内的逻辑邻居节点的IP地址信息,如准备加入网络的底层节点重新从骨干/管理服务器处获取团体内的逻辑邻居节点的IP地址信息。
步骤S610,准备加入网络的底层节点判断是否成功获取了逻辑邻居节点的IP地址信息,如果成功获取了逻辑邻居节点的IP地址信息,进入步骤S606,否则,进入步骤S608。
底层节点初始化过程中注册服务器的处理流程如附图7所示。
图7中,步骤S701,注册服务器监听准备加入网络的底层节点的状态。
步骤S702,注册服务器在接收到准备加入网络的底层节点发送来的探测消息后,从探测消息中提取准备加入网络的底层节点的IP地址信息。
步骤S703,注册服务器根据该IP地址信息查询本地的索引列表。
步骤S704,注册服务器根据该IP地址信息的查询结果判断是否存在管辖准备加入网络的底层节点对应的骨干/管理服务器,如果存在对应的骨干/管理服务器,进入步骤S708,否则,进入步骤S705。
步骤S705,注册服务器采用泛洪方式在注册服务器网络中进行查询,以获得管辖准备加入网络的底层节点的骨干/管理服务器的信息。
步骤S706,注册服务器判断在注册服务器网络中是否成功查询到管辖准备加入网络的底层节点的骨干/管理服务器的信息,如果查询成功,进入步骤S707,否则,进入步骤S709。
步骤S707,注册服务器根据成功的查询结果获取并记录管辖准备加入网络的底层节点的骨干/管理服务器的相关信息。
步骤S708,注册服务器从管辖准备加入网络的底层节点的骨干/管理服务器中选择一个骨干/管理服务器,并将该选择的骨干/管理服务器的IP地址信息反馈给准备加入网络的底层节点。本次底层节点初始化过程中注册服务器的处理流程结束,返回步骤S701。
步骤S709,准备加入网络的底层节点的初始化过程失败,本次底层节点初始化过程中注册服务器的处理流程结束,返回步骤S701。
底层节点初始化过程中骨干/管理服务器的处理流程如附图8所示。
图8中,步骤S801,骨干/管理服务器监听底层节点的状态。
步骤S802,骨干/管理服务器接收底层节点传输来的探测消息,并从探测消息中提取底层节点的网络标识ID。
步骤S803,骨干/管理服务器判断该网络标识ID是否为空,如果为空,则进入步骤S804;如果不为空,则进入步骤S806。
步骤S804,骨干/管理服务器根据底层节点的IP地址将发送探测消息的底层节点划入指定团体,为该底层节点分配网络标识ID,并将该分配的网络标识ID反馈给发送探测消息的底层节点。
步骤S805,骨干/管理服务器在与发送探测消息的底层节点处于同一团体、且已加入网络的底层节点中选取一部分底层节点作为发送探测消息的底层节点的逻辑邻居节点。骨干/管理服务器将选取的底层节点的IP地址信息反馈给发送探测消息的底层节点。骨干/管理服务器从团体内底层节点中选取逻辑邻居节点的策略有多种,如随机选取、IP地址接近等。本发明实施方式不限制骨干/管理服务器选取逻辑邻居节点的策略。本次底层节点初始化过程中骨干/管理服务器的处理流程结束,返回步骤S801。
步骤S806,骨干/管理服务器判断底层节点传输来的网络标识ID中的团体ID是否属于本服务器管辖,如果属于本服务器管辖,则进入步骤S805,否则,进入步骤S807。
步骤S807,骨干/管理服务器连接注册服务器,并从注册服务器处检索上述团体ID对应的骨干/管理服务器的IP地址信息。
步骤S808,骨干/管理服务器在检索到团体ID对应的骨干/管理服务器的IP地址信息后,根据检索到骨干/管理服务器的IP地址信息通知相关服务器注销发送探测消息的底层节点的网络标识ID,到步骤S804。
在上述针对图8的描述中,步骤S807、S808一般用于底层节点更换管理服务器的特殊情况。
在进行了上述网络初始化之后,网络中的底层节点和连接层节点的路由技术主要包括:路由算法、路由更新和路由维护。下面对本发明实施方式中的路由技术进行详细描述。
一、路由算法。路由算法包括底层路由算法和连接层路由算法。
1、底层路由算法。
底层路由算法采用基于非结构化P2P的泛洪路由方式。底层路由算法中的消息定义如下:
Ping消息:用于主动探测网络中的主机。当一个节点接收到一个Ping消息,则该节点会响应一个或多个Pong消息。
Pong消息:是Ping消息的响应消息。Pong消息中携带有被连接节点的地址信息、以及有用数据的统计信息。
底层节点可以利用Ping消息和Pong消息来获取团体内的路由信息。
Query消息:是分布式网络中最主要的查询机制。如果一个节点接收到一条Query消息,且该节点在本地发现与Query消息中携带的查询条件相匹配的数据,则该节点就会响应一条QueryHit消息。Query消息可以用于底层节点的资源查找过程。QueryHit消息可以用于返回查找到的资源过程。底层节点在接收到QueryHit消息之后,可以进行不同的处理,该处理过程可以采用现有技术中的处理过程,在此不再详细描述。
本发明实施例中可以采用消息格式被扩展了的Query消息,如在Query消息中增加两个字段,即范围标识和历史路径信息(Historical_Info)。范围标识主要用于对消息的扩散范围进行标识。历史路径信息主要用于记录Query消息在团体间转发的历史路径。范围标识可以有两种取值如In、Out。标识In表示Query消息只能在团体内扩散,标识Out表示Query消息需要向团体外扩散。底层节点在发起团体内查询以探测团体内其它底层节点的资源时,可以将Query消息中的范围标识设置为In;底层节点在发起团体外查询以探测其它团体中的底层节点的资源时,可以将Query消息中的范围标识设置为Out。底层节点设置范围标识的过程可以称为范围标识的初始化过程。当Query消息在团体间转发时,门节点拥有范围标识的修改权限。门节点通过修改权限可以重新确定Query消息是向团体内转发,还是向团体外转发,即门节点可以重新确定Query消息的转发范围。门节点修改Query消息的范围标识的过程可以称为范围标识转换过程。本发明实施方式中也可以通过其它消息来携带历史路径信息。
QueryHit消息:是Query消息的响应消息,QueryHit消息用于提供获取到的、与查询条件匹配的数据的相关信息。本发明实施例中可以采用消息格式被扩展了的QueryHit消息,如在QueryHit消息中增加一个字段:代价信息(Cost_Info)。代价信息用于记录QueryHit消息在回溯过程中的路由代价。门节点会将消息格式被扩展了的QueryHit消息上传至管理层,由管理层中的骨干/管理服务器根据QueryHit消息中携带的代价信息进行网络路径代价分析,从而进行团体间的路由更新。本发明实施方式中的骨干/管理服务器也可以采用其它方式来获得网络路径代价信息,如管理服务器之间通过信息交互来获得网络路由代价信息,进而通过运行路由优化算法,实现系统全局的路由优化。
Push消息:是用于实现穿越防火墙机制。
下面结合附图9、以底层节点对Query消息的处理流程为例,对底层节点的路由算法进行说明。
图9中,步骤S901,底层节点判断Query消息的TTL(Time To Live,生命周期)是否大于1,如果大于1,则进入步骤S902,否则,进入步骤S907。这里的生命周期主要用于防止Query消息在网络中的随意扩散,从而减少网络开销。
步骤S902,底层节点判断Query消息携带的范围标识,如果范围标识为In,则进入步骤S903,否则,进入步骤S904。
步骤S903,底层节点查询本地数据,判断本地数据中是否存在符合Query消息中查询条件的数据,如果存在符合查询条件的数据,则进入步骤S908,否则,进入步骤S905。这里的查询条件可以为现有技术中的各种查询条件,在此不再详细描述。
步骤S904,底层节点判断Query消息中携带的历史路径信息是否为空,如果为空,则可以确定该Query消息的发起者为团体内的底层节点,进入步骤S905,否则,进入步骤S907。
步骤S905,底层节点将Query消息中的TTL减1,并将Query消息中的Hops加1。这里的Hops与TTL的作用基本相同,只不过TTL是减操作,而Hops是加操作。
步骤S906,底层节点向团体内的所有逻辑邻居节点转发该Query消息,本次底层节点对Query消息的处理流程结束。
步骤S907,底层节点抛弃该Query消息,本次底层节点对Query消息的处理流程结束。
步骤S908,底层节点响应其接收到的Query消息,即发送QueryHit消息,本次底层节点对Query消息的处理流程结束。
2、连接层路由算法。
连接层路由算法采用定向转发的路由方式,连接层路由算法是指门节点之间的路由算法。门节点的路由表中存储的门节点之间的路由信息受骨干/管理服务器的控制。门节点中还存储有团体内的路由信息,门节点获取团体内路由信息的过程可以与家庭网关获取团体内路由信息的过程相同,如门节点通过Ping消息、Pong消息与团体内的家庭网关进行交互,以获得团体内的路由信息。
下面结合附图10、以连接层的门节点对Query消息的处理流程为例,对连接层路由算法进行说明。
图10中,步骤S1001,门节点判断其接收到的Query消息的TTL是否大于1,如果大于1,进入步骤S1002,否则,进入步骤S1009。
步骤S1002,门节点判断Query消息的范围标识,如果该范围标识是In,则进入步骤S1010,否则,进入步骤S1003。
步骤S1003,门节点提取Query消息中携带的历史路径信息,并判断该历史路径信息中是否存在本团体ID,如果存在,进入步骤S1012,否则,进入步骤S1004。
步骤S1004,门节点将Query消息的TTL减1,并将Query消息的Hops加1。门节点将本团体ID加入Query消息的历史路径信息中。
步骤S1005,门节点根据本地存储的历史路径信息判断是否存在与Query消息中携带的历史路径无交叉、且可路由的邻居团体,如果存在,进入步骤S1006,否则,进入步骤S1007。这里门节点本地存储的历史路径信息是门节点从其接收到的Query消息中获得的。由于连接层的门节点可以采用泛洪方式进行通讯,所以,一个消息可能会多次发送到同一个门节点。门节点在步骤S1005中通过对历史路径的判断过程,避免了门节点向可能形成环路的邻居团体转发Query消息的可能性,从而避免了团体间的路由环路。本发明实施方式中的门节点本地存储的历史路径信息可以为:消息标识符与消息中携带的历史路径信息的对应关系。上述门节点存储并判断历史路径信息的过程可以为:门节点从接收的Query消息中获取消息标识符,并判断获取的消息标识符是否与其本地存储的信息匹配,如果匹配,则继续根据Query消息中的历史路径信息、以及匹配信息中的本地存储的历史路径信息判断是否存在无交叉、且可路由的邻居团体;如果不匹配,则将Query消息中携带的消息标识符和历史路径信息存储在本地。在本发明实施方式中各个消息均携带有消息的唯一标识符。
步骤S1006,门节点按概率pout向与历史路径无交叉的团体的门节点转发Query消息,其中,pout可以由骨干/管理服务器根据团体间网络流量设置、并调整。本发明实施方式中每个无交叉的团体的门节点可以都设置有概率pout。骨干/管理服务器可以根据系统的实际运行情况来确定门节点的概率pout的合理取值。也就是说,在实际网络参数确定后,这里的概率pout会有实际意义。
步骤S1007,门节点将Query消息中的范围标识设置为In,将Query消息中的TTL设置为团体内的TTLin,并将Query消息中的Hops设置为0。这里的TTLin是Query消息在团体内扩散的生命周期,TTLin可以由骨干/管理服务器根据团体的规模设定。
步骤S1008,门节点按照概率pin向团体内的逻辑邻居节点转发Query消息,其中,概率pin可以由骨干/管理服务器根据团体内网络流量设置、并调整。本发明实施方式中每个门节点可以都设置有概率pin。骨干/管理服务器可以根据系统的实际运行情况来确定门节点的概率pin的合理取值。也就是说,在实际网络参数确定后,这里的概率pin会有实际意义。本次门节点对Query消息的处理流程结束。
步骤S1009,门节点抛弃其接收到的Query消息,本次门节点对Query消息的处理流程结束。
步骤S1010,门节点将Query消息的TTL减1,并将Query消息的Hops加1。
步骤S1011,门节点向团体内的所有逻辑邻居节点转发Query消息,本次门节点对Query消息的处理流程结束。
步骤S1012,门节点判断是否存在与历史路径无交叉、且可路由的邻居团体,如果存在,则进入步骤S1013,否则,进入步骤S1009。
步骤S1013,门节点按照概率pout向无交叉团体转发Query消息,其中,pout可以由骨干/管理服务器根据团体间网络流量设置、并调整,本次门节点对Query消息的处理流程结束。
Query消息和QueryHit消息在连接层和底层的传输流程如附图11所示。
图11示出了家庭网关查询资源的一个具体实施例。在该实施例中,底层团体A中的家庭网关即资源查询发起者采用泛洪方式发送Query消息,Query消息在团体A内转发。这里的泛洪方式可以为概率泛洪方式、也可以是全泛洪方式。当团体A的门节点接收到Query消息后,团体A的门节点采用定向转发的方式来转发Query消息,Query消息被团体A的门节点转发至团体B的门节点。团体B的门节点将其接收到的Query消息在团体B内转发。设定团体B中的某个家庭网关在接收到Query消息后,确定Query消息中的查询条件与其存储的数据匹配,则团体B中的该家庭网关为Query消息对应的资源拥有者,查询资源命中。团体B中的资源拥有者响应QueryHit消息,QueryHit消息按照Query消息的传输路径原路返回。团体A中的查询发起者在接收到QueryHit消息后,利用QueryHit消息中的有效信息直接与资源拥有者建立连接,并进行数据交互。
二、路由更新。路由更新包括底层的路由更新和连接层的路由更新。底层的路由更新可以为:家庭网关通过Ping消息、Pong消息完成团体内的路由更新。门节点中也存储有团体内的路由信息,门节点同样可以通过Ping消息、Pong消息完成团体内的路由更新。连接层的路由更新可以为:通过骨干/管理服务器的控制完成门节点之间的路由更新。由于通过Ping消息、Pong消息完成团体内的路由更新过程较简单,因此,下面主要对连接层路由更新过程进行详细说明。
连接层路由更新过程如附图12所示。
图12中,步骤1、管理层中请求路由更新的请求方即团体A对应的骨干/管理服务器从注册服务器处获取被请求方的信息如从注册服务器处获取团体B对应的骨干/管理服务器的IP地址信息,然后,请求方根据该IP地址信息向被请求方发送Request消息。
步骤2、被请求方在接收到Request消息后,利用Respond消息向请求方反馈建立连接所需的信息。这里的建立连接所需的信息如团体B内可供选择的备选门节点的IP地址信息等,这里的备选门节点可以为一个,也可以为多个。这里的连接是指团体A的门节点与团体B的门节点之间的连接。
步骤3、请求方接收、验证并解析Respond消息,从Respond消息中获得与团体B的备选门节点建立连接的信息如备选门节点的IP地址信息等,请求方向团体A的备选门节点发送Detect消息,以探测团体A的备选门节点与团体B的备选门节点之间的通路信息。同样,被请求方向团体B的备选门节点发送Detect消息,以探测团体B的备选门节点与团体A的备选门节点之间的通路信息。团体A的备选门节点在接收到Detect消息后,向团体B的备选门节点发送Detect消息,以探测其到团体B的备选门节点的通路信息。
步骤4、团体A的备选门节点在接收到团体B传输来的Return消息后,向请求方发送Return消息,以返回被探测通路的统计信息。同样,团体B的备选节点在接收到团体A的备选门节点发送来的Detect消息后,向团体A的备选门节点发送Return消息,在接收到被请求方传输来的Detect消息后,向被请求方发送Return消息,以返回被探测通路的统计信息。
步骤5、请求方根据接收到的Return消息选择最佳路径,以完成相关路由设置。这里的路由设置如选择并确定团体A的门节点、以及团体B的门节点。请求方向被请求方发送Ready消息,以通知被请求方建立门节点之间的连接。其中,Ready消息中包含有建立两个门节点之间连接时需要设置的信息。
步骤6、被请求方从接收到的Ready消息中提取最终确认的门节点的信息,完成其管辖的团体B的门节点设置。被请求方向请求方发送Go消息,以通知请求方团体A的备选门节点与团体B的备选门节点之间的路由信息已经成功建立。随后,请求方将团体B的备选门节点的路由信息设置于团体A的备选门节点中,如请求方通过Add消息将团体B的备选门节点的路由信息传输至团体A的备选门节点,团体A的备选门节点根据Add消息更新本地路由信息。被请求方将团体A的备选门节点的路由信息设置于团体B的备选门节点中,如被请求方通过Add消息将团体A的备选门节点的路由信息传输至团体B的备选门节点,团体B的备选门节点根据Add消息更新本地路由信息。团体A的备选门节点成为团体A的门节点,团体B的备选门节点成为团体B的门节点。连接层路由更新过程成功完成。
连接层路由更新过程中的消息可以包括:Request消息、Respond消息、Detect消息、Return消息、Ready消息、Go消息和Add消息。Request消息和Respond消息应用于连接请求过程中,Detect消息和Return消息应用于验证连接过程中,Ready消息和Go消息应用于确认连接建立过程中,Add消息应用于设置连接过程。
下面对连接层路由更新过程中的各消息分别进行说明。
Request消息:用于请求建立跨团体的路由连接,当一个骨干/管理服务器收到一条Request消息后,响应一条Respond消息。
Respond消息:是Request消息的响应消息,Respond消息中携带有建立连接的可用信息。
Detect消息:用于探测备选连接或者已连接的通路的安全性、以及服务质量。当一个骨干/管理服务器收到一条Detect消息后,响应一条Return消息。
Return消息:是Detect消息的响应消息,Return消息中携带有被探测通路的统计信息。
Ready消息:用于请求方将建立门节点之间的连接时需要设置的信息通知被请求方。
Go消息:用于将被请求方已完成相关路由设置、可以开始连接的信息通知请求方。
Add消息:用于在门节点的本地路由表中增加指定路由信息,如增加指定的IP地址信息。这里的IP地址信息为其它门节点的IP地址信息,即增加的路由信息是门节点之间的路由信息。
本发明实施方式的连接层路由更新过程中请求方的处理流程如附图13。
图13中,步骤S1301,请求方监听门节点传输的QueryHit消息。
步骤S1302,请求方从其监听到的QueryHit消息中提取Cost_Info字段,并根据Cost_Info字段中的内容计算路由代价,如延迟时间和距离等。请求方根据路由代价计算结果判断是否需要为发起QueryHit消息的源团体建立新的路由连接,如果需要建立新路由连接,进入步骤1303,否则,返回步骤S1301,本次连接层路由更新过程中请求方的处理流程结束。这里的请求方不是源团体门节点对应的骨干/管理服务器。
步骤S1303,请求方从注册服务器处查询获得上述源团体ID对应的骨干/管理服务器的IP地址信息,即被请求方的IP地址信息。
步骤S1304,请求方在获得骨干/管理服务器的IP地址信息后,根据该IP地址信息向骨干/管理服务器发送Request消息,并等待骨干/管理服务器反馈的Respond消息。
步骤S1305,请求方在接收到Respond消息后,从Respond消息中提取用于建立连接的IP地址信息,该IP地址信息即源团体的备选门节点的IP地址信息。
步骤S1306,请求方在其对应的团体内选取节点,将选取的节点作为备选通路的出口,即请求方对应团体的备选门节点。请求方可以采用随机选取等多种方法来选取备选门节点。
步骤S1307,请求方向其对应团体的备选门节点发送Detect消息,以探测备选通路的网络状况和安全性,并等待接收Return消息。
步骤S1308,请求方在接收到Return消息后,将QueryHit消息中的路由代价与Return消息中的路由代价进行对比,并根据路由代价的对比结果判断是否需要建立新的路由连接,如果需要建立新的路由连接,则进入步骤S1309,否则,本次连接层路由更新过程中请求方的处理流程结束,返回步骤S1301。
步骤S1309,请求方确定新的路由连接的入口和出口,并向被请求方发送Ready消息,以通知被请求方建立新的路由连接时的指定出口和所需入口。请求方等待被请求方反馈的Go消息。
步骤S1310,请求方在接收到Go消息后,将指定出口设置为其对应团体的门节点,并利用Add消息将其它门节点的IP地址信息和上述团体间通路入口的IP地址信息设置于上述指定出口的门节点中,指定出口与指定入口建立路由连接。
步骤S1311,请求方判断现有路由连接数是否超过预先设定的连接数上限,如果超过连接数上限,则进入步骤S1312,否则,本次连接层路由更新过程中请求方的处理流程结束,返回步骤S1301。
步骤S1312,请求方断开网络状况相对较差的通路,本次连接层路由更新过程中请求方的处理流程结束,返回步骤S1301。
在连接层路由更新过程中,被请求方的处理流程主要为:根据其接收到的消息进行相应处理操作、并反馈对应的响应消息,如被请求方在接收到Request消息以后,选取备选门节点如随机选取备选门节点,并将选取的备选门节点作为请求方用于建立连接的可选入口,然后,将这些备选门节点的IP地址信息通过Respond消息反馈给请求方;再如被请求方在接收到Ready消息以后,从Ready消息中提取IP地址信息,将IP地址信息对应的节点设置为门节点,并通过Add消息将部分其它门节点的IP地址信息等存储在上述新设置的门节点中,然后,向请求方响应Go消息。
三、路由维护。
路由维护与路由算法类似,包括底层路由维护和连接层路由维护。底层路由维护即对家庭网关中存储的团体内路由信息进行维护,底层路由维护可以是通过Ping消息、Pong消息来完成。门节点中也存储有团体内的路由信息,门节点同样可以通过Ping消息、Pong消息完成团体内的路由维护。连接层路由维护主要是对团体间路由通路的维护,而且,连接层路由维护需要骨干/管理服务器协同完成。由于通过Ping消息、Pong消息完成团体内的路由维护过程较简单,因此,下面主要对连接层路由维护过程进行说明。
用于通路维护的消息主要包括Detect消息、Return消息、Heartbeat消息和Delete消息。Detect消息和Return消息在上述实施方式中已经介绍过了。
Heartbeat消息:用于连接层节点定时向骨干/管理服务器更新状态和有效数据信息。由于连接层节点直接参与底层和连接层的路由,因而,连接层节点可以担当探测点的角色,即连接层节点为骨干/管理服务器收集各种有效数据,如网络流量、查询命中率等等。
Delete消息:用于在节点路由表中删除指定路由信息。
骨干/管理服务器对团体间通路的出口的维护流程如附图14所示。
图14中,步骤S1401,骨干/管理服务器向指定门节点定时发送Detect消息,以验证指定通路的有效性。这里的时间间隔可以采用Heartbeat消息的发送间隔。
步骤S1402,骨干/管理服务器等待接收门节点返回的Return消息,判断Return消息是否超时、以及Return消息中是否携带有被测试通路的统计信息,如果未超时或者Return消息中携带有统计信息,则本次骨干/管理服务器对团体间通路的出口的维护流程结束,返回步骤S1401;否则,进入步骤S1403。
步骤S1403,骨干/管理服务器向指定门节点发送Delete消息,以删除门节点本地路由表中被验证的指定通路的路由信息。
步骤S1404,骨干/管理服务器判断门节点是否与团体间其它通路有关,如果有关,则本次骨干/管理服务器对团体间通路的出口的维护流程结束,返回步骤S1401;否则,进入步骤S1405。
步骤S1405,骨干/管理服务器取消该门节点原有的权限,即取消该门节点,本次骨干/管理服务器对团体间通路的出口的维护流程结束,返回步骤S1401。
骨干/管理服务器对团体间通路的入口的维护流程如附图15所示。
图15中,步骤S1501,骨干/管理服务器累加一个门节点上传的Heartbeat消息中的流入流量信息。
步骤S1502,骨干/管理服务器定时判断累加流量是否小于阈值,如果小于阈值,则进入步骤S1503,否则,返回步骤S1501,本次骨干/管理服务器对团体间通路的入口的维护流程结束。
步骤S1503,骨干/管理服务器判断门节点是否与团体间其它通路有关,如果有关,本次骨干/管理服务器对团体间通路的入口的维护流程结束,返回步骤S1501,否则,进入步骤S1504。
步骤S1504,骨干/管理服务器取消该门节点原有权限,即取消该门节点,本次骨干/管理服务器对团体间通路的入口的维护流程结束。
本发明实施方式中的网络控制主要包括连接层节点监控和网络流量控制。下面对连接层节点监控和网络流量控制分别进行说明。
1、连接层节点监控。骨干/管理服务器对连接层节点监控的流程如附图16所示。
图16中,步骤S1601,骨干/管理服务器定时检测用于记录Heartbeat消息登录时间的列表。
步骤S1602,骨干/管理服务器根据检测结果判断门节点上传Heartbeat消息是否超时,如果超时,则进入步骤S1603,否则,本次骨干/管理服务器对连接层节点的监控流程结束,返回步骤S1601。
步骤S1603,骨干/管理服务器选取一个底层节点,如采用随机选取方法选取一个底层节点;然后,骨干/管理服务器将该选取的底层节点设置为门节点,骨干/管理服务器备份超时门节点的团体间路由信息,并通过Add消息添加到新门节点的本地路由表中。
步骤S1604,骨干/管理服务器记录超时的门节点信息,本次骨干/管理服务器对连接层节点的监控流程结束,返回步骤S1601。
2、网络流量控制。
本发明实施方式中的骨干/管理服务器可以在网络流量统计后,根据统计结果进行流量控制。这里的网络流量控制主要包括:团体内网络流量控制和团体间网络流量控制。也就是说,网络流量控制主要包括:团体内消息的流入流量控制和团体间消息的流出流量控制。其中,团体内消息的流入流量可以通过对门节点上传的Heartbeat消息进行统计来获得,团体间消息的流出流量则可以通过对门节点上传的Heartbeat消息进行统计来获得。本发明实施方式中应用于网络流量控制的消息主要包括:Piset消息和Poset消息。Piset消息主要用于设置门节点向内转发团体间消息的概率Pin。Poset消息主要用于设置门节点向外转发团体间消息的概率pout。
骨干/管理服务器对团体内网络流量控制的流程如附图17所示。
图17中,步骤S1701,骨干/管理服务器监听门节点传输的Heartbeat消息。
步骤S1702,骨干/管理服务器在监听到Heartbeat消息后,判断Heartbeat消息中是否携带有历史记录信息,如果携带有历史记录信息,则进入步骤S1709,否则,进入步骤S1703。
步骤S1703,骨干/管理服务器从监听到的Heartbeat消息中提取流量信息。
步骤S1704,骨干/管理服务器根据提取的流量信息来判断团体内网络流量是否异常,如果团体内网络流量异常,则进入步骤S1705,否则,本次骨干/管理服务器对团体内网络流量控制的流程结束,返回步骤S1701。
步骤S1705,骨干/管理服务器在确定团体内网络流量异常的情况下,继续判断团体内网络流量异常是流入流量异常、还是流出流量异常,如果是流入流量异常,则进入步骤S1710,否则,进入步骤S1706。
步骤S1706,骨干/管理服务器从团体内底层节点中选取一个底层节点,如骨干/管理服务器采用随机选取方法选取一个底层节点;骨干/管理服务器将选取的底层节点设置为门节点。
步骤S1707,骨干/管理服务器通过Add消息将网络流量异常的门节点中的部分路由信息添加至步骤S1706中新设置的门节点中。
步骤S1708,骨干/管理服务器通过Delete消息将上述添加至新设置的门节点中的路由信息从上述网络流量异常的门节点中删除,本次骨干/管理服务器对团体内网络流量控制的流程结束,返回步骤S1701。
步骤S1709,骨干/管理服务器取消Heartbeat消息对应的门节点,本次骨干/管理服务器对团体内网络流量控制的流程结束,返回步骤S1701。
步骤S1710,骨干/管理服务器通过PIset消息调整门节点向内转发消息的概率Pin,以控制团体内网络流量,本次骨干/管理服务器对团体内网络流量控制的流程结束,返回步骤S1701。
骨干/管理服务器可以通过调整门节点向外转发消息的概率pout来对团体间网络流量进行控制。骨干/管理服务器可以根据消息扩散规模来确定门节点的概率pout。骨干/管理服务器可以通过POset消息来设置并调整门节点的概率pout。
本发明实施方式还提供一种家庭网关,该家庭网关位于本发明实施方式基于家庭网关的通讯系统中的底层。家庭网关为底层团体中的节点。家庭网关在成功加入底层团体后,可以采用非结构化P2P通讯方式与其所在团体内的逻辑邻居节点进行通讯。家庭网关中设置有团体内路由管理模块和消息处理模块一,家庭网关还可选的设置有存储模块一、接收模块和探测连接模块。
团体内路由管理模块主要用于获取家庭网关所在团体的团体内路由信息。这里的路由信息包括团体内的家庭网关之间的路由信息和团体门节点和团体内家庭网关之间的路由信息。团体内路由管理模块可以通过泛洪方式来获得团体内路由信息,如团体内路由管理模块可以通过Ping消息、Pong消息来获得团体内路由信息。具体如上述方法中的描述。
消息处理模块一主要用于根据团体内路由管理模块中的团体内路由信息将需要转发的消息在团体内逻辑邻居节点中转发。在本发明实施方式中团体门节点和团体内家庭网关之间可以互为团体内逻辑邻居节点。消息处理模块一还可以对家庭网关接收到的消息进行回复处理,如家庭网关接收到Query消息后,消息处理模块一在确定Query消息中的查询条件与其存储的数据匹配,则其所在的家庭网关为该Query消息对应的资源拥有者,查询资源命中,消息处理模块一响应QueryHit消息。
家庭网关中的存储模块一、接收模块和探测连接模块主要用于家庭网关的初始化。
存储模块一主要用于存储管理层中注册服务器的IP地址信息。该IP地址信息是预先设置的。
探测连接模块根据存储模块一中的注册服务器的IP地址信息探测注册服务器,并与成功探测到的注册服务器建立连接。注册服务器通过该连接向家庭网关返回骨干/管理服务器的IP地址信息。接收模块接收骨干/管理服务器的IP地址信息,探测连接模块再根据接收模块接收到的骨干/管理服务器的IP地址信息探测骨干/管理服务器,并与成功探测到的骨干/管理服务器建立连接。骨干/管理服务器根据该连接、以及探测连接模块发起的查询,向家庭网关返回底层节点的网络标识ID和团体内逻辑邻居节点的IP地址信息。接收模块接收网络标识ID和团体内逻辑邻居节点的IP地址信息。存储模块一存储该网络标识ID、以及团体内逻辑邻居节点的IP地址信息。探测连接模块根据接收模块接收到的逻辑邻居节点的IP地址信息来探测团体内的邻居节点,在探测成功后家庭网关成功加入网络。
本发明实施方式还提供一种网络设备,该网络设备位于基于家庭网关的通讯系统的连接层,为团体中的门节点,该网络设备中设置有团体内路由管理模块、团体间路由管理模块和消息处理模块二;该网络设备还可选的设置有上报模块。这些模块可以设置于专用的网络设备中,也可以设置于家庭网关中。
团体内路由管理模块主要用于获取并管理家庭网关所在团体的团体内路由信息。团体内路由管理模块获取团体内路由信息的方法如上述实施方式中的描述。
团体间路由管理模块主要用于接收并存储管理层节点传输来的团体间路由信息。
消息处理模块二主要用于根据团体内路由管理模块中的团体内路由信息将需要转发的消息在团体内转发,或者根据团体间路由管理模块中的团体间路由信息将需要转发的消息转发到其它团体对应的门节点。消息处理模块二也可以在将需要转发的消息在团体内转发的同时,将该消息转发到其它团体对应的门节点。消息处理模块二在转发消息时可以参考消息的生命周期、Hops、概率pout、概率pin与历史路由无交叉的逻辑邻居节点等,而且消息处理模块二还可以修改消息中的范围标识,具体如上述方法实施方式中的描述。
上报模块主要用于对消息处理模块二的消息转发情况进行统计,并向管理层节点上报底层和连接层的消息传输的统计信息,这里的统计信息如团体内流入网络流量、团体内流出网络流量、查询命中率、路由代价信息等。从而使管理层能够对团体的门节点进行管理。上报模块可以在接收到管理层传输来的查询消息后,上报相关信息,也可以主动上报相关信息。上报模块可以采用Return消息等上报信息。具体实现过程如上述方法中的描述。
本发明实施方式还提供一种网络设备,该网络设备位于基于家庭网关的通讯系统的管理层,是管理层中的注册服务器。该网络设备中设置有管理模块和查询模块,该网络设备还可选的设置有存储模块、探测模块、认证模块和连接模块。
管理模块主要用于对管理层的管理节点与底层团体的对应关系进行管理。管理模块中存储有管理节点与底层团体的对应关系,这里的对应关系可以是团体ID和管理节点IP地址信息的对应关系。
查询模块主要用于接收到查询有关上述对应关系的查询消息后,根据管理模块中存储的对应关系确定查询结果,并反馈查询结果。在本发明实施方式中,查询模块可以向骨干/管理服务器反馈查询结果,也可以向家庭网关反馈查询结果,如向家庭网关反馈骨干/管理服务器的IP地址信息等。查询模块执行的操作如上述方法实施方式中针对图4、图7的描述。
存储模块二、探测模块、认证模块和连接模块主要用于其所在网络设备的初始化过程。
存储模块二主要用于存储网络中已注册的注册服务器的IP地址信息。这个IP地址信息是预先设置的。探测模块主要用于根据存储模块中的IP地址信息探测其它注册服务器。认证模块主要用于与探测模块探测到的注册服务器交互认证信息。连接模块主要用于在认证模块认证成功后,更新存储模块二中存储的注册服务器之间的路由信息,从而使该网络设备与认证成功的注册服务器之间建立逻辑上的双向连接。具体的初始化过程如上述方法实施方式中针对图2的描述。经过存储模块二、探测模块、认证模块和连接模块执行的初始化操作后,该注册服务器可以和其它注册服务器之间建立连接,这样,管理模块可以利用注册服务器之间的连接与其它注册服务器的管理模块进行信息交互,如从其它注册服务器处获取管理服务器、骨干服务器的信息、管理服务器与底层团体的对应关系、骨干服务器与底层团体的对应关系等信息。
本发明实施方式还提供一种网络设备,该网络设备位于基于家庭网关的通讯系统中的管理层,为管理层中的骨干服务器,也可以为管理层中的管理服务器。该网络设备中设置有门节点管理模块和路由更新模块。
门节点管理模块主要用于存储团体的门节点信息,并对连接层的门节点进行设置管理。这里的管理即设置团体的门节点。门节点管理模块可以为将第一个加入团体的家庭网关设置为门节点,也可以为根据网络流量异常、门节点通路维护等等来设置门节点。
流量监控模块主要用于根据门节点传输来的消息确定网络流程异常时,通知门节点管理模块,使门节点管理模块选取团体门节点。流量监控模块和门节点管理模块配合实现增加门节点设置的具体实现过程如上述方法实施方式中针对图15、图17的描述。
检测模块一主要用于检测团体中已设置的门节点,在没有成功检测到团体中已设置的门节点后,通知门节点管理模块,使门节点管理模块重新选取团体门节点。检测模块一和门节点管理模块配合实现重新设置门节点的具体实现过程如上述方法实施方式中针对图14的描述。
检测模块二主要用于检测预定时间间隔内是否接收到团体中已设置的门节点上报的预定消息,在确定出预定时间间隔内没有接收到所述预定消息时,通知门节点管理模块,使门节点管理模块重新选取团体门节点。检测模块二和门节点管理模块配合实现增加设置门节点的具体实现过程如上述方法实施方式中针对图16的描述。
检测模块三主要用于根据门节点传输来的门节点之间的路由代价信息确定出路由代价信息不符合预定条件时,通知路由更新模块,使路由更新模块重新选取团体门节点。
路由更新模块主要用于根据门节点管理模块中存储的门节点信息对团体门节点中的门节点之间的路由信息进行路由更新。检测模块三和路由更新模块配合实现路由更新的具体实现过程如上述方法实施方式中针对图13的描述。
从上述技术方案的描述可知,本发明实施方式提出了一种基于对等网络的家庭网关三层组网模型,团体内的家庭网关采用了P2P结构组网模式,实现了不同家庭网关之间的互联互通,从而实现了团体内的家庭网关之间的资源共享、以及跨团体的家庭网关之间的资源共享。本发明实施方式充分利用了家庭网关的网络特性,通过对底层进行团体划分,使团体具有物理集中特性,从而使得逻辑层与具体的家庭网关所在的物理实体可以达到较好的匹配,最终使逻辑层与物理层可以达到较好匹配;由于团体内的家庭网关具有自组织性、跨团体可控性与安全性,从而为系统的部署和运营提供了良好可行性保障。本发明实施方式中的连接层可以采用P2P结构组网模式、管理层也可以采用P2P结构组网模式。本发明实施方式通过采用局部泛洪路由与定向路由相结合的方式,提高了团体内消息路由与团体间消息路由的路由效率。本发明实施方式中的泛洪可以为概率泛洪方式,也可以为全泛洪方式;如管理层节点可以采用非结构化P2P方式中的全泛洪通讯方式进行通讯、连接层门节点可以采用非结构化P2P方式中的定向泛洪通讯方式进行通讯、底层家庭网关可以采用非结构化P2P方式中的概率泛洪通讯方式进行通讯。本发明实施方式中的管理层节点能够对连接层门节点的路由进行控制、能够对门节点的认证进行控制、能够对门节点的选取等进行控制、能够对团体内网络流量和团体间网络流量进行控制,从而使整个系统能够实现全局控制、全局调度,而且使系统能够为用户提供安全的服务。本发明实施方式提供的基于家庭网关的通讯系统可以支撑多种应用,如向注册服务器注册的、已连接到家庭网关上的不同设备如PDA、智能设备等,可以直接实现团体内或跨团体的资源共享;再如连接到家庭网关上的监控设备采集获得的视频信息可以通过家庭网关远程传输,从而实现远程监控;还有,用户可以通过连接到家庭网关上的设备向另外一个用户实时播放视频信息,该应用类似于IPTV。本发明实施方式通过采用记录消息传输的历史路径信息的方法,有效避免了路由环路,减少了底层家庭网关的路由开销,并为管理层节点计算路径代价提供了依据,而且在低开销的前提下,实现了门节点间路由的动态维护与动态更新。本发明实施方式不仅可以在Query消息和QueryHit消息中携带历史路径信息,也可以在其它消息中携带历史路径信息。本发明实施方式通过定义管理层中多种类型的服务器、以及多种管理消息类型,提高了系统的可控性,实现了管理层对团体间路由的管理。
上述系统的可控性可以体现在如下三点:第一,所有准备加入网络的节点都需要到注册服务器进行注册和认证,否则,无法获取到骨干/管理服务器的信息,从而无法建立本地路由表,也就无法加入到家庭网关组成的网络中。第二,骨干/管理服务器通过对门节点的控制,实现对整个团体的管理。第三,骨干/管理服务器、注册服务器能够实现很好的安全控制。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
Claims (28)
1.一种基于家庭网关的通讯系统,其特征在于,所述系统包括:位于管理层的管理层节点、位于连接层的门节点和位于底层的家庭网关;所述底层包括多个团体,一个团体包括至少一个家庭网关,团体内家庭网关之间采用P2P结构通讯方式进行通讯,一个团体对应至少一个门节点,一个管理层节点对应至少一个团体;
管理层节点:用于控制与其对应的门节点中的门节点之间的路由信息;
门节点:用于获取团体内的路由信息,根据管理层节点控制的路由信息将需要转发的消息转发到其它团体对应的门节点,和根据团体内路由信息将需要转发的消息传输至团体内的家庭网关;
家庭网关:用于获取其所在团体内的路由信息,根据所述获取的路由信息将消息在团体内的逻辑邻居节点中转发。
2.如权利要求1所述的系统,其特征在于,所述管理层节点包括:至少一个注册服务器、至少一个管理节点;注册服务器用于对管理节点与团体的对应关系进行管理;管理节点用于向与其对应团体的门节点下发门节点之间的路由信息。
3.如权利要求2所述的系统,其特征在于,所述注册服务器之间采用全连通连接方式,管理层节点之间采用P2P结构通讯方式进行通讯。
4.如权利要求2所述的系统,其特征在于,所述管理节点包括:管理服务器和骨干服务器;管理服务器对应的门节点包括非固定门节点,骨干服务器对应的门节点包括固定门节点。
5.如权利要求4所述的系统,其特征在于,所述骨干服务器之间采用全连通连接方式;骨干服务器之间采用P2P结构通讯方式进行通讯,和/或管理服务器之间采用P2P结构通讯方式进行通讯,和/或管理服务器与骨干服务器之间采用P2P结构通讯方式进行通讯。
6.如权利要求1所述的系统,其特征在于,所述门节点为:专用的网络设备、或者团体内预定的家庭网关;所述管理层节点为:专用的网络设备、或者团体内预定的家庭网关。
7.一种基于家庭网关的通讯方法,其特征在于,用于如权利要求1所述的基于家庭网关的通讯系统中,所述方法包括步骤:
管理层节点控制门节点之间的路由信息;
门节点获取团体内路由信息,并根据管理层节点控制的路由信息将需要转发的消息转发至其它团体对应的门节点,和根据团体内路由信息将需要转发的消息传输至团体内的家庭网关;
家庭网关获取团体内路由信息,并根据团体内路由信息将需要转发的消息在团体内的逻辑邻居节点中转发。
8.如权利要求7所述的方法,其特征在于,所述管理层节点控制门节点之间的路由信息的步骤包括:
管理层中的骨干/管理服务器设置团体门节点;和/或
管理层中的骨干/管理服务器对门节点之间的路由信息进行路由更新。
9.如权利要求8所述的方法,其特征在于,所述管理层中的骨干/管理服务器设置团体门节点的步骤包括下述至少一个步骤:
管理层中的骨干/管理服务器将第一个加入团体的家庭网关设置为该团体的门节点;
管理层中的骨干/管理服务器在没有成功检测到团体中已设置的门节点后,取消该门节点,并重新选取该团体的门节点;
管理层中的骨干/管理服务器在确定出团体中已设置的门节点的网络流量异常、且该门节点不存在与其他门节点的通路时,取消该门节点,并重新选取该团体的门节点;
管理层中的骨干/管理服务器在确定出团体中已设置的门节点的网络流量异常时,为该团体再选取门节点,以增加该团体的门节点数量;
在预定时间间隔内,管理层中的骨干/管理服务器没有接收到团体中已设置的门节点上报的预定消息,则为该团体再选取门节点,以增加该团体的门节点数量。
10.如权利要求8所述的方法,其特征在于,所述管理层中的骨干/管理服务器对门节点之间的路由信息进行路由更新的步骤包括:
骨干/管理服务器根据门节点之间的路由代价信息确定需要进行路由更新;
骨干/管理服务器从管理层中的注册服务器处获取团体IP地址信息对应的骨干/管理服务器的IP地址信息,并根据所述获取的IP地址信息与上述对应的骨干/管理服务器建立连接;
两方骨干/管理服务器分别探测各自对应的团体的备选门节点的通路信息,在成功探测后,两方骨干/管理服务器交互备选门节点的路由信息,并分别设置各自对应的备选门节点的路由信息,备选门节点设置为团体门节点。
11.如权利要求7所述的方法,其特征在于,所述门节点获取团体内路由信息的步骤、以及所述家庭网关获取团体内路由消息的步骤包括:门节点与团体内家庭网关之间采用P2P结构通讯方式进行信息交互,以获取并存储团体内路由信息。
12.如权利要求7所述的方法,其特征在于,所述管理层节点中的注册服务器的初始化过程包括:注册服务器根据预先存储的IP地址信息探测其它注册服务器,并与探测到的其它注册服务器进行认证,在认证通过后,更新注册服务器之间的路由信息,成功建立逻辑上的双向连接。
13.如权利要求7所述的方法,其特征在于,所述管理层节点中的骨干/管理服务器的初始化过程包括:骨干/管理服务器根据预先存储的IP地址信息探测管理层节点中的注册服务器,与探测到的注册服务器建立连接,并与所述注册服务器进行认证,在认证通过后,注册服务器确定所述骨干/管理服务器对应的团体,并控制所述骨干/管理服务器与系统中的逻辑邻居骨干/管理服务器建立逻辑上的双向连接。
14.如权利要求7所述的方法,其特征在于,家庭网关的初始化过程包括:家庭网关根据预先存储的IP地址信息与管理层中的注册服务器建立连接,注册服务器控制家庭网关与管理层中的骨干/管理服务器建立连接,所述骨干/管理服务器确定所述家庭网关对应的团体,并控制家庭网关与所述团体中的逻辑邻居家庭网关之间的连接。
15.如权利要求7所述的方法,其特征在于,所述门节点根据团体内路由信息将需要转发的消息传输至团体内的家庭网关的步骤包括:
门节点在确定消息中携带的范围标识为团体内转发标识时,判断消息的转发次数是否达到预定值,如果达到预定值,则门节点根据团体内路由信息将该消息在团体内转发,否则,抛弃该消息;和/或
门节点在确定消息中携带的范围标识为团体间转发标识时,判断消息的转发次数是否达到预定值,如果没有达到预定值,则门节点将消息的范围标识修改为团体内转发标识,且根据团体内路由信息将该消息在团体内转发,否则,抛弃该消息。
16.如权利要求15所述的方法,其特征在于,所述门节点将消息的范围标识修改为团体内转发标识后,根据预先设定的团体内转发概率、团体内路由信息将该消息在团体内转发。
17.如权利要求7所述的方法,其特征在于,所述门节点根据管理层节点控制的路由信息将需要转发的消息转发至其它团体对应的门节点的步骤包括:
门节点在确定消息中携带的范围标识为团体间转发标识时,判断消息的转发次数是否达到预定值,如果没有达到预定值,则门节点根据管理层节点控制的路由信息将该消息转发至与历史路径无交叉的团体的门节点,否则,抛弃该消息。
18.如权利要求17所述的方法,其特征在于,所述门节点根据预先设定的团体间转发概率、管理层节点控制的路由信息将该消息转发至与所述历史路径无交叉的团体的门节点。
19.如权利要求7所述的方法,其特征在于,所述家庭网关根据团体内路由信息将消息在团体内的逻辑邻居节点中转发的步骤包括:
家庭网关在确定消息中携带的范围标识为团体间转发标识时,判断消息中携带的团体间历史路径信息是否为空,如果为空,则在消息的转发次数没有达到预定值时,将该消息转发至团体内逻辑邻居节点,如果不为空或者消息的转发次数达到预定值,则抛弃该消息。
20.如权利要求7所述的方法,其特征在于,所述家庭网关根据团体内路由信息将消息在团体内的逻辑邻居节点中转发的步骤包括:
家庭网关在确定消息中携带的范围标识为团体内转发标识、且消息的转发次数没有达到预定值时,将该消息转发至团体内逻辑节点,在消息的转发次数达到预定值时,抛弃该消息;和/或家庭网关根据该消息反馈响应消息。
21.根据权利要求1所述的系统,其特征在于,所述家庭网关中设置有团体内路由管理模块和消息处理模块一;
团体内路由管理模块:用于获取家庭网关所在团体的团体内路由信息;
消息处理模块一:用于根据团体内路由管理模块中的团体内路由信息将需要转发的消息在团体内逻辑邻居节点中转发。
22.如权利要求21所述的系统,其特征在于,所述家庭网关中还设置有存储模块一、接收模块和探测连接模块;
存储模块一:用于存储管理层中注册服务器的IP地址信息;
接收模块:接收管理层中的注册服务器传输来的管理层中的骨干/管理服务器的IP地址信息、以及管理层中的骨干/管理服务器传输来的团体内逻辑邻居节点的IP地址信息;
探测连接模块:用于根据存储模块一中的IP地址信息探测注册服务器、并与探测到的注册服务器建立连接,根据接收模块接收到的骨干/管理服务器的IP地址信息探测骨干/管理服务器,并与骨干/管理服务器建立连接,根据接收模块接收的团体内逻辑邻居节点的IP地址信息探测逻辑邻居节点,使家庭网关与探测到的逻辑邻居节点建立连接。
23.根据权利要求1所述的系统,其特征在于,所述团体中的门节点,设置有团体内路由管理模块、团体间路由管理模块和消息处理模块二;
团体内路由管理模块:用于获取家庭网关所在团体的团体内路由信息;
团体间路由管理模块:用于接收并存储管理层节点传输来的团体间路由信息;
消息处理模块二:用于根据团体内路由管理模块中的团体内路由信息将需要转发的消息在团体内转发、和根据团体间路由管理模块中的团体间路由信息将需要转发的消息转发到其它团体对应的门节点。
24.如权利要求23所述的系统,其特征在于,所述门节点中还设置有上报模块;
上报模块:用于根据消息处理模块二的消息转发处理向管理层节点上报底层和连接层消息传输的统计信息。
25.根据权利要求2所述的系统,其特征在于,所述注册服务器,设置有管理模块、查询模块;
管理模块:用于对管理层的管理节点与底层团体的对应关系进行管理;
查询模块:用于接收查询消息,根据管理模块中存储的对应关系确定查询结果,并反馈查询结果。
26.如权利要求25所述的系统,其特征在于,该注册服务器中还设置有存储模块二、探测模块、认证模块和连接模块;
存储模块二:用于存储其它注册服务器的IP地址信息;
探测模块:用于根据存储模块二中的IP地址信息探测其它注册服务器;
认证模块:用于与探测模块探测到的注册服务器交互认证信息;
连接模块:用于在认证模块认证成功后,更新注册服务器之间的路由信息,与认证成功的注册服务器建立逻辑上的双向连接;
所述管理模块根据所述双向连接从所述其它注册服务器处获取管理层的管理节点与底层团体的对应关系。
27.根据权利要求4所述的系统,其特征在于,所述管理服务器或骨干服务器,设置有门节点管理模块和路由更新模块;
门节点管理模块:用于存储团体的门节点信息,并对连接层的门节点进行设置管理;
路由更新模块:用于根据门节点管理模块中存储的门节点信息对团体门节点中的门节点之间的路由信息进行路由更新。
28.如权利要求27所述的系统,其特征在于,该管理服务器或骨干服务器中还设置有流量监控模块、检测模块一、检测模块二、检测模块三中的一个或多个;
流量监控模块:用于根据门节点传输来的消息确定网络流量异常时,通知门节点管理模块,使门节点管理模块选取团体门节点;
检测模块一:用于检测团体中已设置的门节点,在没有成功检测到团体中已设置的门节点后,通知门节点管理模块,使门节点管理模块重新选取团体门节点;
检测模块二:用于检测预定时间间隔内是否接收到团体中已设置的门节点上报的预定消息,在确定出预定时间间隔内没有接收到所述预定消息时,通知门节点管理模块,使门节点管理模块重新选取团体门节点;
检测模块三:用于根据门节点传输来的门节点之间的路由代价信息确定出路由代价信息不符合预定条件时,通知路由更新模块,使门节点管理模块重新选取团体门节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101181752A CN101335724B (zh) | 2007-06-29 | 2007-06-29 | 一种基于家庭网关的通讯系统、方法和通讯设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101181752A CN101335724B (zh) | 2007-06-29 | 2007-06-29 | 一种基于家庭网关的通讯系统、方法和通讯设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101335724A CN101335724A (zh) | 2008-12-31 |
CN101335724B true CN101335724B (zh) | 2011-07-06 |
Family
ID=40198037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101181752A Expired - Fee Related CN101335724B (zh) | 2007-06-29 | 2007-06-29 | 一种基于家庭网关的通讯系统、方法和通讯设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101335724B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013189350A3 (zh) * | 2013-03-19 | 2014-02-20 | 中兴通讯股份有限公司 | 一种通道建立方法及装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023761B (zh) * | 2011-09-22 | 2018-04-06 | 海尔集团公司 | 网关装置、智能物联网系统及该系统的混合接入方法 |
CN103997493A (zh) * | 2014-05-22 | 2014-08-20 | 江苏通利智能科技股份有限公司 | 一种无线设备转发及组网的方法 |
CN104935485A (zh) * | 2015-05-28 | 2015-09-23 | 北京海尔广科数字技术有限公司 | 家电服务调用方法、家电服务调用请求转发方法及装置 |
CN105721293B (zh) * | 2016-02-01 | 2018-12-28 | 四川长虹电器股份有限公司 | 一种基于Alljoyn协议的Master网关自适应竞争方法 |
CN106453539B (zh) * | 2016-09-28 | 2019-04-05 | 广州市百果园网络科技有限公司 | 一种处理节点注册通知的方法和系统 |
CN109391652B (zh) * | 2017-08-08 | 2021-09-28 | 关隆股份有限公司 | 无线系统的数据传输方法 |
CN108693777A (zh) * | 2018-05-02 | 2018-10-23 | 深圳市彬讯科技有限公司 | 智能家居系统及其控制方法 |
CN115603921A (zh) * | 2021-06-24 | 2023-01-13 | 支付宝(杭州)信息技术有限公司(Cn) | 隐私计算多网络资源协同的方法和装置 |
CN115002057B (zh) * | 2022-05-26 | 2024-04-12 | 威艾特科技(深圳)有限公司 | 一种分布式多服务端即时通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881964A (zh) * | 2005-06-14 | 2006-12-20 | 株式会社日立制作所 | 家庭网关装置、及对家庭网络的访问控制系统 |
CN1977500A (zh) * | 2004-03-26 | 2007-06-06 | 高通股份有限公司 | 在自组织网络中对通信进行路由 |
-
2007
- 2007-06-29 CN CN2007101181752A patent/CN101335724B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1977500A (zh) * | 2004-03-26 | 2007-06-06 | 高通股份有限公司 | 在自组织网络中对通信进行路由 |
CN1881964A (zh) * | 2005-06-14 | 2006-12-20 | 株式会社日立制作所 | 家庭网关装置、及对家庭网络的访问控制系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013189350A3 (zh) * | 2013-03-19 | 2014-02-20 | 中兴通讯股份有限公司 | 一种通道建立方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101335724A (zh) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101335724B (zh) | 一种基于家庭网关的通讯系统、方法和通讯设备 | |
CN105763426B (zh) | 一种基于多协议即时通信系统的物联网业务处理系统 | |
CN100479415C (zh) | 一种实现数据通讯的系统及其方法 | |
CN106797409B (zh) | 用于在物联网(iot)中的设备位置注册的服务器 | |
US7869447B2 (en) | Method and system for multi-domain virtual private network configuration | |
US20100085948A1 (en) | Apparatuses for Hybrid Wired and Wireless Universal Access Networks | |
EP2115978A2 (en) | A hybrid wired and wireless universal access network | |
CN104009998B (zh) | 服务器和数据传输方法 | |
KR20150063906A (ko) | M2m 환경에서 사용 가능한 장치를 검색하는 방법 및 장치 | |
CN101321128B (zh) | 通信设备、通信网络系统和通信方法 | |
KR101680715B1 (ko) | 개인 네트워크 등록을 위한 장치 및 방법 | |
CN104184663A (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
KR20210088233A (ko) | 이동통신 네트워크에서 단일 응용에 복수의 가상 네트워크를 제공하는 방법 및 장치 | |
CN107682857A (zh) | Zigbee网络的数据共享方法、网关设备与Zigbee网络系统 | |
CN102111608B (zh) | 一种视频监控系统的通信方法及其设备 | |
CN101459526A (zh) | 基于服务发现的投影仪共享会议系统 | |
CN110113675A (zh) | 一种n2n-nrm视频共享系统及方法 | |
CN102685786A (zh) | 无线传感器网络接入电信网络的方法及系统 | |
KR101162745B1 (ko) | 개인 네트워크와 연합 네트워크를 구축하기 위한 방법 및 장치 | |
CN100534042C (zh) | 面向msvmt问题的两阶段分布式应用层组播方法 | |
CN101026632B (zh) | 一种基于互联网的可控业务网体系架构网络系统 | |
KR20150014348A (ko) | 개인 device의 사용정보를 이용한 맞춤형 M2M 서비스 제공 방법 및 시스템 | |
CN203951500U (zh) | 一种基于p2p技术的无线传感器网络 | |
Braun et al. | UP2P: a peer-to-peer overlay architecture for ubiquitous communications and networking | |
KR20150066401A (ko) | M2m 환경에서의 데이터 적용기술 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110706 Termination date: 20160629 |