CN1264091C - 分布式高速缓存同步协议 - Google Patents
分布式高速缓存同步协议 Download PDFInfo
- Publication number
- CN1264091C CN1264091C CN00816029.5A CN00816029A CN1264091C CN 1264091 C CN1264091 C CN 1264091C CN 00816029 A CN00816029 A CN 00816029A CN 1264091 C CN1264091 C CN 1264091C
- Authority
- CN
- China
- Prior art keywords
- node
- peer group
- cache
- network
- value
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4588—Network directories; Name-to-address mapping containing mobile subscriber information, e.g. home subscriber server [HSS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供一种用于管理分布式高速缓存的方法,该分布式高速缓存将高速缓存信息存储在网络(100)的多个参与节点中,包括多个高速缓存项目,每一个具有该高速缓存信息的一相关部分,每个参与节点包括用于存储信息的相关的本地存储器存储系统(131),该存储系统(131)包括用于存储本地拥有的高速缓存项目的本地高速缓存数据库(132)。该方法包括以下步骤:执行拓扑发现、维护、和分层建立子处理,以便在网络中建立节点分层结构,该节点分层结构用于促进参与节点之间高速缓存项目的交换,该分层结构由多个同等组形成,每个同等组包括参与节点的至少一个相关成员;和执行分布式高速缓存同步(DCS)功能,该功能包括根据DCS协议将选定的一些高速缓存项目复制并经分层结构转移到其它的参与节点。
Description
技术领域
本发明通常涉及通信网,更具体的涉及一种管理分布式高速缓存的方法,该高速缓存用于存储网络中的高速缓存信息。
背景技术
图1表示传统的无线移动通信网10的通用方框图,网络10根据现有技术完全集中式高速缓存管理系统来操作,该系统用于管理与该网络的多个用户中每个用户有关的用户简档。网络10包括一室后系统(back office system)14(通常也称为网络操作中心,或操作支持系统(OSS)),该系统14具有中央服务器计算机系统16,和与中央服务器16通信相连的中央数据库18。该中央数据库18提供集中式高速缓存,用于存储与每一个用户有关的用户简档,每个简档包括执行与该用户有关的呼叫处理操作所必需的所有信息。该中央数据库还提供存储与网络用户有关的位置登记信息,该位置登记信息通常包括用于存储与网络的本地登记用户有关的位置信息的归属位置登记数据库(HLR数据库)和用于存储与网络的漫游用户有关的位置信息的访问位置登记数据库(VLR数据库)。当需要与一特定用户有关的位置信息时(例如,用于执行呼叫处理功能),室后系统14被调用执行查找功能,以便确定网络中用户的简档和当前位置,然后该室后系统提供位置信息以及与该特定用户有关的简档,下文将进一步解释。通常,室后系统14进一步包括用户管理系统、记账系统和网络管理系统(未示出)。无线通信网,例如网络10,通常根据其中一个无线蜂窝通信标准,例如GSM、CDMA等等操作。
无线移动网10还包括多个事务处理服务器20,该事务处理服务器20经该无线网的骨干网22与中央服务器16通信相连;多个基站24经该网络的骨干网22彼此之间、与室后系统14和事务处理服务器20通信相连。事务处理服务器20被网络10用作室后系统14的实时前端接口,以便管理传入室后系统和从室后系统传出的高容量消息,用于如下所述的访问和管理存储在中央数据库18中的集中式高速缓存。
通常,每一个基站24与具有天线26的无线端口(未示出)通信相连,并被操作经无线链路与多个移动主机30的每一个通信,这些移动主机30位于与基站有关的覆盖区28内。每一个移动主机30可以是蜂窝电话手机、个人数字助理(PDA)、或具有无线通信能力的膝上型计算机。举个例子,标记为BASE_STATION_1的第一个基站24与标记为AREA_1的第一覆盖区有关,标记为BASE_STATION_2的第二个基站与标记为AREA_2的第二覆盖区有关。
图2表示全球用户列表40的表格,全球用户列表40包括与网络10的每个用户有关的用户简档,该全球用户列表40保存在室后系统14的集中式数据库18(图1)中,并根据现有技术的完全集中式数据管理系统来管理。全球用户列表40包括多个用户简档高速缓存项目42,每个项目42与网络10(图1)的其中一个用户有关,并具有:用户密钥字段44,用于存储与网络中的一个用户有关的用户密钥值;基站位置字段46,用于存储节点标记值,该节点标识值表示基站24的一个相关所有者,目前该基站24″拥有″该相关的用户简档,下文将进一步解释;和简档字段50,用于存储与用户有关的实际简档数据。
回到图1,当用户开始激活一个覆盖区28内的一个移动主机30时,执行登记过程以便在该网络″签到″。根据该登记过程,主机30向本地基站发送一相关的链路层标识符(ID)。链路层ID通常包括制造商标识值,它可唯一地识别用户的主机装置。当基站收到该链路层ID时,基站必须首先这样查询室后系统14,即经一个事务处理服务器20发送登记消息到室后系统,以请求访问与该主机有关的用户简档。通常,事务处理服务器20的网络地址被配置进基站24内。该登记消息承载该主机的链路层ID和主机的当前位置,主机的当前位置由所有者基站的节点ID值表示。中央服务器14响应该登记消息,并操作从中央数据库18中检索与链路层ID匹配的用户简档,还操作更新相应用户简档高速缓存项目的位置字段46(图2),以便在自最后一次事务处理而改变位置的情况下指明相关主机的当前位置。因此,每个用户的位置被假定是在检测签到的特定基站处,且该简档的当前所有者是该特定基站。
为了能够正确地处理移动通信网10中发送到或来自每一个移动主机30的呼叫,提供一种机制以便跟踪用户的位置。当移动主机在网络内移动时,每个用户简档的位置字段46(图2)必须更新。当其中一个主机30从其中一个覆盖区28移到另一个时,执行越区切换过程以便将该相关用户简档的所有权(以及主机与网络其他节点之间的通信控制)从一旧的基站24转移给一新的基站24。每发生一次越区切换,每一基站就操作产生位置更新消息,并操作向中央服务器16提供位置更新消息,用于更新相关的用户简档。每个位置更新消息表示一个相关用户简档所有权的转移。
根据完全集中式高速缓存管理系统中的呼叫处理操作,当启动从第一个主机30(主叫方)到第二个主机(被叫方)的呼叫时,目前与主叫方有关的基站发送一查询消息到中央数据库18,请求与该被叫方有关的用户信息和位置信息。室后系统14响应该查询消息,并操作向与主叫方有关的基站提供请求的简档和位置信息。
举个呼叫处理功能的例子来说,使用目前位于AREA_1的HOST_A的主叫方发起到一被叫方的呼叫,该被叫方使用目前位于AREA_2的标记为HOST_B的第二主机。覆盖AREA_1的BASE_STATION_1必须这样确定被叫方的简档,即经过一个事务处理服务器20将与HOST_B有关的用户简档请求发送到室后系统14。室后系统14响应该请求并操作来用一查找密钥查找保存在中央数据库18中的全球用户列表40(图2),查找密钥通常是与HOST_B有关的电话号码。BASE_STATION_1收到来自室后系统14的应答,该应答包括与HOST_B有关的简档且还表示被叫方的当前位置是与BASE_STATION_2有关的AREA_2。根据此信息,BASE_STATION_1发送呼叫建立信息到BASE_STATION_2,以试图发起呼叫。
网络10中用于管理用户信息的完全集中式高速缓存管理存在的问题在于室后系统的中央服务器16必须接收和处理大量的数据和消息。为了处理这样大量的数据,中央服务器16通常用一容错计算机系统来实现,该容错计算机系统能够提供大量的处理能力。但是,这种系统非常昂贵,并且难以维护。
网络10中用于管理用户信息的完全集中式处理方案存在的另一个问题在于呼叫处理操作高度依赖于室后系统14和基站24之间的通信。虽然事务处理服务器20为室后系统14和基站24之间的通信提供多余度和容错功能,但是该网络仍然过分依赖于室后系统14。
例如,如果在特定的一个基站24和室后系统14之间存在通信故障,而该特定的基站与室后系统分离,结果,位于与该分离基站相关的覆盖区内的所有用户的所有呼叫建立操作都会失败。即使室后系统14包括容错机和通信链路,此问题仍然会出现。
为了降低对基站24和室后系统14之间通信的高度依赖性,一些现有技术的移动通信网提供一种部分非集中式高速缓存管理机制,其中与系统的选定用户有关的高速缓存项目周期地被由室后系统提供给它们相关的拥有者基站24。在这种系统中,基站包括本地数据库(未示出),用于存储本地拥有的用户简档项目。在这种系统中,本地存储的高速缓存项目会因过时而被删除(age out),即一设定时间段过去后如果在该段时间结束时没有刷新该本地项目,则删除这些项目。一计数器递减计数来表示该时间段的结束,如果在递减计数的时间段结束时都没有刷新该本地项目,则该本地项目会因过时而被删除。这种部分非集中式高速缓存管理系统也会出现问题,因为如果在一定时间以后本地存储的信息未被室后系统刷新(例如由于一个特定基站和室后系统之间的通信链路故障),则该本地信息会因过时而被删除,结果,该分离的基站甚至无法处理包括在两个位于与该分离基站相关的同一小区中的用户之间所发出的呼叫的所有呼叫操作。例如,假设与HOST_A和HOST_C有关的用户信息已经本地存储在BASE_STATION_1中,它目前拥有与HOST_A和HOST_C有关的简档。现在假设BASE_STATION_1和室后系统14之间的通信链路发生故障,而且与HOST_A和HOST_C有关的简档已因过时而被删除。在这种情况下,BASE_STATION_1无法处理与HOST_A和HOST_C有关的任何呼叫,包括在HOST_A和HOST_C之间发起的呼叫。
当移动通信网扩展为具有增加的用户数、覆盖区域和基站时,传统用于管理用户简档和位置信息的完全和部分集中式处理方案变得问题更多和更不可行。而且,网络通信量和网络拥塞变得非常难以处理。
而且,正出现实现完全端到端互联网协议(IP)使能的移动通信网的计划,其中每一个基站通过一IP网通信。上述的网络拥塞依赖于与集中式高速缓存管理系统有关的中央服务器的问题在IP网中更成问题,其中,网络通信量和拥塞必须最小化,以容纳网络支持的更多样化的应用。
发明内容
本发明的一个目的在于提供一种位置更新协议,该协议通过减少对用户简档的查询来降低中央服务器/数据库的负荷。通过减少每分钟对中央服务器的查询次数,可在中央服务器位置处使用功能较弱且较廉价的服务器用于管理位置数据。
根据本发明的一方面,提供一种管理分布式高速缓存的方法,用在一网络的多个参与节点的每一个处,该分布式高速缓存用于存储移动用户的高速缓存信息,该分布式高速缓存包括多个高速缓存项目,每个高速缓存项目具有该高速缓存信息的一相关部分,每个所述参与节点包括一相关本地存储器存储系统,该相关本地存储器存储系统用于存储包括本地高速缓存数据库的信息,该本地高速缓存数据库用于存储本地拥有的所述高速缓存项目,该方法包括以下步骤:对于多个移动用户,从由每个移动用户所接触的第一节点,进行拓扑发现、维持以及分层建立子处理,以对于所述每个移动用户在网络中建立一节点分层,以便于在所述参与节点之间交换所述高速缓存项目,所述分层由多个同等组形成,每一个同等组包括所述参与节点的至少一个相关的成员;以及进行分布式高速缓存同步功能,包括根据分布式高速缓存同步协议复制和发送所选择的所述高速缓存项目到其他的所述参与节点,所述分布式高速缓冲同步协议采用基于每个所述移动用户的当前位置的使用信息,用于确定所述发送,每个所述移动用户的当前位置与所选择的所述高速缓存项目相关联。
每一个参与节点被分配一同等组领导优先值,执行拓扑发现、维护和分层建立子处理的步骤进一步包括从相关同等组的多个已知成员中确定同等组领导的步骤,根据分配给这些已知成员的优先值确定该领导。
根据拓扑发现、维护和分层建立子处理,通过网络传送邻近问候(hello)消息,以便发现相邻的节点。每一个参与节点还操作通过网络向一相关的同等组的每个同等组成员发送同等组问候消息,以确保高速缓存信息的完整性。每一个参与节点还为相关同等组的每个特定同等组成员操作执行以下步骤:从该特定同等组成员接收一同等组问候消息时;初始化一计数器,使其保持在指示该项目寿命值的计数值;当未收到新的问候消息时周期地递减该计数值;且如果该计数值为零,则宣布该特定的同等组成员已不工作(失效)。
根据DCS协议,高速缓存项目通告消息用于当至少一个特定的高速缓存项目新处于发送该高速缓存项目通告消息的源节点时,向网络的所有参与节点通告。发送高速缓存项目取消消息,用于向网络的所有其它参与节点通告至少一个特定的高速缓存项目不再位于发送该高速缓存项目通告消息的源节点处。
而且根据DCS协议,高速缓存项目转移请求消息用于请求转移指定高速缓存项目的所有权。在收到来自一请求节点的高速缓存项目转移请求消息后,一节点向该请求节点发送一高速缓存项目转移消息,该高速缓存项目转移消息承载所请求的高速缓存项目。此外根据DCS协议,从源节点向该网络的目的地参与节点发送高速缓存项目副本请求消息,每个高速缓存项目副本请求消息请求从目的地节点向源节点发送至少一个指定高速缓存项目的一个副本。在从请求节点收到高速缓存项目副本请求消息后,该节点向请求节点发送一高速缓存项目副本消息,该高速缓存项目副本消息承载该指定高速缓存项目的副本。
本发明DCS协议的另一个重要优点在于减少了发送至室后系统以及从室后系统发出的消息和数据量,从而减少了网络通信量。
本发明DCS协议的另一个优点在于减少了中央计算机系统的处理要求,从而可以在室后系统处使用较低廉的中央计算机系统。
根据本发明的另一方面,提供一种具有多个参与节点的网络,所述参与节点根据用于管理分布式高速缓存的分布式高速缓存同步协议操作,所述分布式缓存包括每一个具有相关高速缓存信息的高速缓存项目,每个所述参与节点包括一相关本地存储器存储系统,用于存储包括本地高速缓存数据库的信息,所述数据库用于存储本地拥有的所述高速缓存项目,每个参与节点可操作来进行拓扑发现、维持以及分层建立子处理,以在网络中建立一节点分层;每个所述参与节点可操作来复制并根据所述分布式高速缓存同步协议通过所述网络转移选择的所述高速缓存项目至其他所述参与节点,所述高速缓存同步协议用于支持需要访问所述分配式高速缓存的应用,所述分布式高速缓冲同步协议采用基于移动用户的当前位置的使用信息,所述移动用户的当前位置与所述选择的所述高速缓存项目相关联。
从下文参考附图的优选实施例的详细描述中,本发明的上述和其他目的、特征和优点将变得更加明显。
附图说明
图1是根据用于管理用户简档的集中式高速缓存管理方案操作的传统无线移动通信网的通用方框图;
图2是说明用户简档的表格,该信息保存在图1传统网络的室后系统的集中式数据库中;
图3A是根据本发明的无线移动通信网的通用方框图,该网络具有用于管理用户简档的分布式高速缓存,根据由分布式高速缓存同步(DCS)协议支持的位置更新协议操作;
图3B是图3A无线移动通信网的基站组件的通用方框图;
图4A到4C是大体说明分布式高速缓存信息的表格,该信息包括存储在图3A网络的每一个基站的用户简档;
图5所示为根据本发明DCS协议的拓扑发现、分层建立和分层结构维护协议操作,在图3A的移动通信网中建立的示范性分层结构的网络拓扑图;
图6A到6D是说明存储在图3A网络的每个物理节点的拓扑发现、分层建立和分层结构维护信息的表格,这些物理节点包括基站,因为至少一个逻辑节点的每一个均处于物理节点处;
图6E是说明存储在图3A网络的每个物理节点的相邻列表的表格,该相邻列表表示目前为该相关物理节点所知的所有的相邻节点;
图6F是说明存储在该网络每个物理节点的节点分层列表的表格,每个物理节点都加入在网络中建立的节点分层结构的至少一个同等组;
图7A到7C为大体说明根据本发明DCS协议所使用的拓扑发现、维护和分层建立消息的字段结构的方框图;
图8A是说明根据本发明的拓扑发现、维护和分层建立方法操作的相邻发现状态机的广义状态图;
图8B到8E是说明在相关事件发生后相邻发现状态机所执行各种方法的流程图;
图9A到9K是大体说明DCS协议中所用的DCS消息的字段结构的方框图,该DCS协议支持本发明的位置更新协议;和
图10A到10D是大体说明根据本发明的位置更新处理的流程图。
具体实施方式
图3A表示根据本发明的无线移动通信网100的通用方框图,网络100具有管理用户简档的分布式高速缓存系统,并根据本发明的分布式高速缓存同步(DCS)协议所支持的位置更新协议操作。网络100包括:室后系统104,通常还称为网络操作中心或操作支持系统(OSS),具有中央服务器计算机系统106,和与中央服务器106通信相连的中央数据库108;多个事务处理服务器110,充当室后系统104的实时前端接口,并经骨干网112与中央服务器106通信相连;和多个基站114,经骨干网112彼此、与室后系统104和事务处理服务器110通信相连。
每一个基站114与一相关天线116通信相连,并操作经无线链路与位于该基站的相关覆盖区118内的移动主机120通信。每个移动主机120可以是蜂窝电话手机、个人数字助理(PDA)、或具有无线通信能力的膝上型计算机。标记为BASE_STATION_1的第一个基站114与标记为AREA_1的第一覆盖区有关,标记为BASE_STATION_2的第二个基站与标记为AREA_2的第二覆盖区有关。在一实施例中,每一个基站114经一无线端口根据个人手持系统(PHS)标准与其相关的天线通信相连。
正如下文所进一步解释的,本发明的网络100将用户简档存储在一分布式高速缓存中,其中每一个基站114包括存储用户简档的本地数据库。分布式高速缓存根据由本发明的分布式高速缓存同步(DCS)协议支持的位置更新协议管理。分布式高速缓存减少了对室后系统104(图3A)的依赖性,并减少了网络100中的通信量,因为基站无须在每次请求用户简档时都查询室后系统。该分布式高速缓存同时提供网络的强壮性,因为如果与主叫或被叫方有关的基站和室后系统之间的链路出现故障,呼叫处理功能未必会被禁止,这是因为用户简档可以被在基站本地访问而不会像现有技术的部分非集中式高速缓存管理系统中那样周期地因过时而被删除。
在本发明的一个实施例中,网络100使用互联网协议(IP)用作传输机制。网络100的每个节点可以是终端系统节点(ES节点)或可以是转发分组的中间系统节点(IS节点)。如果移动主机120完全支持IP,则基站114必须提供终端系统功能以及中间系统功能,即基站必须将分组从网络104选择路由到手机118和返回。在此实施例中,每一个移动主机120完全支持IP。注意将IP用作无线网的传输机制能够提供不需要5类转换器的优点,5类开关非常昂贵。使用IP作为传输机制还允许提供更多样化的业务,并能够更容易地在网络100中增加新业务。但是注意本发明的拓扑发现、维护和分层建立方法,以及DCS协议和位置更新协议并不局限于用在IP网中使用。
中央数据库108提供以下信息的中央存储:与网络每个用户有关的用户简档,该用户简档包括呼叫处理操作所必需的所有信息;和与网络每个用户有关的位置登记信息,该位置登记信息表示网络中每个用户的位置。在一实施例中,位置信息包括用于存储与网络的本地登记用户有关的高速缓存数据项目的归属位置登记数据库(HLR数据库)和用于存储与网络的漫游用户有关的高速缓存项目的访问者位置登记数据库(VLR数据库)。当经事务处理服务器查询位置信息(例如,用于呼叫处理功能)时,室后系统104操作执行查找功能并提供与用户有关的简档,正如下文中所进一步解释的。但是,因为网络100包括用于存储用户简档的分布式高速缓存,网络100中对室后系统104的查询被最小化,从而允许使用比利用集中式高速缓存管理系统的现有技术移动通信网所需的功能较弱、价格较低的中央服务器计算机系统106。室后系统104进一步包括用户管理系统、记账系统和网络管理系统(未示出)。
图3B是无线移动通信网100(图3A)的一个基站114的组件的通用方框图。每一个基站114通常包括:基站计算机系统130,与网络100(图3A)的骨干网112通信相连;本地存储器存储系统131,具有如直线134所示的与基站计算机系统130通信相连的本地高速缓存数据库132;和拓扑和分层信息数据库133,与基站计算机系统130通信相连。每个基站的本地高速缓存数据库132提供存储本地拥有的用户简档,下文将进一步解释。网络中每个参与节点,包括基站处的数据库133提供存储用于根据本发明一个方面的拓扑发现、分层建立和分层维护处理的信息。
回到图3A,当使用位于覆盖区118的主机120的用户开始签到网络100时,与该覆盖区有关的基站必须访问与用户有关的简档,以便执行例如呼叫处理的通信功能。通常,根据本发明的位置更新协议,基站首先查找它的本地高速缓存数据库132(图3B)以确定与用户有关的简档是否已经被保存在本地基站的本地高速缓存数据库132中。如果与用户有关的特定简档尚未存储在本地基站中,则该特定的用户简档必须从另一个基站114中检索到(经分布式高速缓存检索),或者必须通过事务处理服务器从中央数据库检索到(经集中式高速缓存检索),如果这是绝对必要的话,下文将进行全面的解释。在基站检索到该特定的用户简档之后,基站对简档执行一验证程序,假定它通过该验证程序,则用户登记到网络上。本地基站变成该简档的″所有者″,并且如果该简档之前没有被本地存储的话,则它现在保存在基站的本地高速缓存数据库132中。通常,当用户从一个覆盖区移向另一个时,本发明的位置更新方法能够确保简档和他/她一起从一个基站移向另一个。从网络的角度来说,用户的位置与其简档的位置相同。当用户在网络中移动时,该位置更新协议用于跟踪用户简档的迁移。根据该位置更新协议,当为用户建立呼叫时,可快速确定它的位置并检索到它的简档。通常,当用户从一个基站移向另一个基站时,会执行越区切换过程,该简档的所有权会从旧的基站转移到新基站。网络100中用户的位置由特定的一个基站114的IP地址识别,该特定基站目前拥有用户及其简档。位置更新协议提供位置管理业务,该位置管理业务由根据DCS协议实现的分布式高速缓存管理业务支持,反过来,DCS协议又由根据本发明不同方面的节点分层协议业务支持。在网络100操作的较高层,呼叫处理业务由位置更新协议业务支持。
图4A表示说明本地用户列表150的表格,根据本发明,该本地用户列表150被保存在其中一个基站114(图3A)的本地高速缓存数据库132中,本地用户列表150包括多个本地用户高速缓存项目152,每个与本地基站目前拥有的一个用户有关。如果用户目前在基站处于活动状态,则会由于使用基站的覆盖区内的相关移动主机参与一呼叫,或由于在基站的覆盖区内处于待机方式而使该基站拥有该用户。在本发明中,如果用户在本地基站活动之后的简档寿命期内变为待用,则用户仍被本地基站所拥有。换句话说,本地用户列表150包括一些用户的高速缓存项目152,这些用户在基站运行之后的简档寿命期内变为待用。
每一个本地用户高速缓存项目152包括:用户密钥字段154,用于存储与用户和一相关移动主机120(图3A)有关的用户密钥值,该移动主机120与该用户有关;和简档指针字段156,用于存储指向保存在基站数据库132(图3B)的相关用户简档的存储器地址。每一个用户简档包括呼叫处理所需的所有信息。在一实施例中,每一个简档进一步包括一版本号,该版本号包括两个十进制数字值,下文将进一步解释。而且在一实施例中,用户密钥值包括一串值,这串值包括相关用户的电话号码,相关一个移动主机120(图3A)的链路层ID(例如,制造商ID)。因此,本地用户列表150可以用与用户有关的链路层ID或电话号码查找。在一实施例中,电话号码是一32位的值。
根据本发明的位置更新协议,至少一个基站114(图3A)具有至少一个相关的镜像基站。在一实施例中,与每个基站114(图3A)有关的镜像基站可由网络管理员指定,网络管理员对基站进行编程以保存相关镜像基站的IP地址。在另一实施例中,与每个基站有关的镜像基站可以根据相邻发现方法获得。而且在一实施例中,与每个基站114(图3A)有关的镜像站点列表保存在事务处理服务器110中,每一个基站在加电后可以查询事务处理服务器来获得其相关的镜像列表。另外,在一实施例中镜像列表包括与镜像基站有关的IP地址。
与每个特定基站114(图3A)有关的镜像基站通常包括与覆盖区118(图3A)有关的基站,其位置紧邻与该特定基站有关的覆盖区。与一特定基站有关的镜像基站可能也包括具有基于公共旅行模式的逻辑相关覆盖区的基站。举例来说,网络100(图3A)可以覆盖用户经常在其间旅行的两个城市或地区,这两个城市或地区彼此不相邻。举例来说,与覆盖第一区域的第一基站有关的镜像基站包括覆盖第二区域的第二基站,该第二区域与第一区域不相邻,其中用户经常乘飞机在第一和第二覆盖区之间旅行。
根据本发明的位置更新协议,每一个基站114(图3A)操作复制每一个其本地拥有的用户高速缓存项目152。本发明在将本地用户列表150的用户高速缓存项目152从每个基站复制到其相关镜像基站方面提供了明显的优点,因为本发明促使越区切换过程加快,并且提供简档从网络的一部分更无缝的过渡到另一部分。举例来说,假如使用一个移动主机120(图3A)的特定用户正穿过第一基站覆盖的第一覆盖区和第二基站覆盖的第二覆盖区之间的边界。如果第二基站是第一基站的镜像,则第二基站无须从室后系统104(图3A)或从第一基站检索该特定用户的简档,因为第二基站已经拥有该特定用户的简档。
图4B表示根据本发明的全球/镜像用户列表160的表格,该全球/镜像用户列表160存储在每一个基站114(图3A)中。在所述实施例中,列表160包括全球用户列表和镜像用户列表两个,下文将进一步描述。在另一实施例中,这两个列表是单独的列表。全球/镜像用户列表160包括多个全球/镜像用户高速缓存项目162,每个项目具有:用户密钥字段164,用于存储与一个用户有关的用户密钥值,该用户目前由无线移动网100(图3A)中的DCS协议(在分布式高速缓存中)维护;基站位置字段166,用于存储相关所有者基站的IP地址,该基站目前拥有相关用户的简档,该基站即目前将相关用户简档存储在其本地用户列表150(图4A)中的基站;和简档指针字段168,如果相关的高速缓存项目被归入本地镜像列表,而不仅仅被归入全球列表,则用于存储指向相关简档的存储器地址,下文将进一步解释。
如在本地用户列表中那样,保存在用户密钥字段164中的每一个用户密钥值包括一串值,这串值包括相关用户的电话号码,和相关一个移动主机120(图3A)的链路层ID,该移动主机120与用户有关。每一个用户简档保存在本地基站的数据库132(图3B)中,并包括呼叫处理所需的所有信息。在一实施例中,每一个简档进一步包括一版本号,该版本号包括两个十进制数字值,下文将进一步解释。
如上所述,全球/镜像用户列表160包括相关基站的全球用户列表和镜像用户列表。对于被归入镜像和全球两个列表的高速缓存项目162,简档指针字段168存储指向一相关用户简档的存储器地址,该相关用户简档保存在本地基站的简档数据库132(图3B)中。对于没有被归入镜像列表的每个高速缓存项目162,简档指针字段168为空,或存储表示该相应用户简档未被本地存储的空指针值。
在一特定用户关闭相关的移动主机120(图3A)之后,与该特定用户有关的简档在所有者基站及其相关镜像基站中保存一段时间,直到该简档的寿命期期满并被基站删除。相关用户离开网络后,由网络基站维持简档的期限称为简档寿命期。在用户已经离开网络之后继续保存简档的目的在于如果用户在短时间后又打开手机可避免经事务处理服务器查询中央数据库。简档的寿命期可以改变并可以相当长,例如以小时或天来计算,而不是分钟。简档寿命期的特性降低了对室后系统104(图3A)的依赖性并减少了网络的通信量。
当用户由基站鉴定时,根据本发明的位置更新协议,每一个基站114(图3A)操作将本地用户列表150的用户高速缓存项目152的副本一次一个地传送到其相关的镜像基站,下文将进一步解释。在另一个实施例中,每一个基站操作将本地用户列表150的所有用户高速缓存项目152的副本周期地传送到其相关的镜像基站。由DCS协议支持的本发明的位置更新协议用于管理网络的分布式高速缓存中高速缓存项目的位置。
图4C示出说明全球/镜像用户列表170的另一实施例的表格,该全球/镜像用户列表170存储在根据本发明的每一个基站114(图3A)中。在所述的实施例中,每一个高速缓存项目172包括用户密钥字段164、基站位置字段166和简档指针字段168以及连接性信息字段174。连接性信息字段174存储表示网络100(图3A)的贡献节点或转发节点,其根据节点分层协议和DCS协议被提供有与高速缓存项目相关的信息。提供连接性信息字段174是为了确保网络100(图3A)所管理的分布式高速缓存中的数据完整性。下文将进一步解释连接性信息的使用。
图5表示根据本发明的拓扑发现、分层和分层维护处理在移动通信网100(图3A)建立的示范性分层结构的网络拓扑图。
根据本发明,为了提供根据DCS协议操作的网络上的结构,期望组织网络中的节点,以便以更受到控制的方式管理更新和刷新高速缓存项目。因此,在网络100(图3A)的参与节点200之间实现分层结构,以形成由同等组标识值标识的同等组。正如下文所进一步解释的,分层结构的优点在于减少了需要在网络中交换以管理分布式高速缓存的消息数目。每一个节点200可以是网络100(图3A)的路由器、转换器或一个基站114(图3A)。建立分层结构是为了组织节点,以便分布式高速缓存信息可以更有效地在网络中交换。根据下文将进一步解释的邻居发现方法,网络中的每个节点200发现相关的相邻节点。节点200被安排在同等组204,每个同等组选举一个同等组领导206。同等组被建立在多层上。为了形成和维护一同等组,在同等组的成员之中交换同等组问候消息,下文将进一步解释。
随着每一个同等组204的形成,选举一同等组领导206。一层的同等组领导206可以形成下一层的同等组。当在上一层形成新的同等组时,该同等组领导将更新其节点分层列表的上一层的同等组领导和其同等组领导的领导优先级。同等组领导将更新的节点分层列表发送到它们各自的同等组。
在所示的网络图中,标记为GROUP_1的第一同等组204在标记为LEVEL_1的第一层上形成,GROUP_1选定的同等组领导206标记为NODE_A。标记为GROUP_2的第二同等组204也在LEVEL_1上形成,GROUP_2的同等组领导206标记为NODE_B。在此例中,标记为NODE_A和NODE_B的物理节点加入标记为GROUP_1和GROUP_2的LEVEL_1同等组,NODE_A和NODE_B的每一个也加入标记为GROUP_3的另一个同等组204,GROUP_3建立在标记为LEVEL_2的层上,LEVEL_2高于LEVEL_1。GROUP_3选定的同等组领导206标记为NODE_C。
图6A示出一表格230,该表格说明保存在网络的每一个物理节点200(图5)的数据库133(图3B)中的同等组信息,每一个逻辑节点位于该物理节点。一个逻辑节点位于每个同等组的一个物理节点,该物理节点加入该同等组。每个逻辑节点加入网络分层结构的一层上的一个同等组。对于每个逻辑节点,存储在物理节点的同等组信息包括:表示逻辑节点所加入的同等组的同等组ID值;一列目前已知的同等组成员,每个成员用一相关的节点标识值(节点ID)表示;表示同等组本地确定的领导的同等组领导ID值,下文将进一步解释;和同等组领导的同等组领导优先值(PGL优先值)。每个逻辑节点根据本发明的拓扑发现、维护和分层建立协议操作确定和维护在给定层的同等组成员列表。在一实施例中,同等组ID值是唯一识别相关同等组的32位值。
图6B表示一表格240,该表格说明保存在网络的每一个物理节点200(图5)的数据库133(图3B)中的逻辑节点信息,每一个逻辑节点位于该物理节点。对于每个逻辑节点,存储在物理节点的逻辑节点信息包括:表示逻辑节点所属本地物理节点的本地物理节点ID值;表示该特定逻辑节点所参与的同等组的同等组ID值;和相应逻辑节点的PGL优先值。在一实施例中,在由IP网100(图3A)的管理员考虑到网络拓扑和地理因素的配置过程期间,同等组ID值、同等组领导值和同等组优先值被分配给每一个节点。
同等组领导为同等组通信可以选择使用多点广播。一种同等组中的所有节点选举同等组领导的过程称为同等组领导选举。除了同等组ID之外,每个节点还被配置每一层的领导优先级。在一给定同等组中,在具有同一领导优先级的节点之中具有最高领导优先级和最高节点ID的节点被确定为该同等组的同等组领导。随着同等组问候消息的交换,下文将进一步解释,同等组中的每个逻辑节点得知其它逻辑节点的领导优先级及其节点ID。每一个逻辑节点独立地确定同等组领导。
在选举过程中,同等组问候消息由每一个节点200(图5)产生并发送给相关的相邻节点。收到同等组问候消息后,每一个节点发起选举过程。每一节点200操作利用完全相同的算法执行相同的选举过程,其中根据同等组中每个节点的同等组领导优先值确定同等组的领导。但是,提供给每一个节点的数据组(包括同等组成员的PGL优先值)可以不同,因此该选举过程在不同的成员处会得出不同的结果。因此只有为节点提供不同的数据组时,选举过程的结果才会不同。也有可能特定一个节点200可以根据不同的数据组确定不同的同等组领导,因为该特定节点已经发现该同等组的某些成员。例如,第一个节点202已经发现十个相邻节点,第二个节点202随后加电,并只发现同等组的九个成员。因此,一个同等组成员可能只有同等组其它成员的不完全知识,因此可能选举一不同的同等组领导。但理论上来说,被错误选举的同等组领导完全了解同等组成员,并将示出这一点。如果存在冲突,则真正的同等组领导发送一同等组问候消息,表明自己是同等组领导,错误的同等组领导收到该同等组问候消息,并根据源节点的同等组领导优先值执行选举过程。
图6C示出一表格250,说明保存在网络的每一个相关物理节点200(图5)的数据库133(图3B)的分层建立参数信息,每个逻辑节点位于该物理节点。对于每个逻辑节点,存储在物理节点的分层建立参数信息包括:问候时间值;失效因素(不工作factor)值;通信方法值;逻辑节点所参与的同等组的多点广播地址(如果同等组采用多点广播通信方法);和该逻辑节点发送的邻居问候消息的当前序号。在一实施例中,表格250的参数由网络管理员配置。
同等组的成员们通信的方法包括扩散和多点广播。如果使用扩散的方法,同等组中的所有节点发送消息给它附近同一同等组的所有成员。在收到来自同等组一节点的消息后,接收节点发送该消息给它所有的邻居节点,除了发送该消息的节点。同等节点还跟踪来源于所有其它同等节点的消息序号。当再次收到具有相同序号的消息时,则丢掉该消息。
图6D示出一表格260,该表格说明保存在网络的每一个物理节点200(图5)数据库133(图3B)中的同等组问候参数信息,每一个逻辑节点位于该物理节点。对于每个逻辑节点,存储在物理节点的同等组问候参数信息包括:多个同等组成员ID值,每个表示该逻辑节点所参与的同等组的相关同类成员;多个时间标记值,每个表示最近从一个相关同类同等组成员接收的接收同等组问候消息的到达时间;和多个序号,每个表示一个相关最近接收的同等组问候消息的序号。正如下文所进一步解释的,每个逻辑节点操作读取与每个最近接收的同等组问候消息有关的时间标记值,并确定自最近从一个相关同等组成员接收的同等组问候消息到达开始,一预定时间段是否已经过去(通过保存在图6C表格250中的问候间隔和失效因数的乘积确定)。如果确定自最近从一特定同等组成员接收同等组问候消息来,该预定的时间间隔已经过去,则假设该特定的同等组成员和本地节点之间的通信链路存在故障,并采取适当的行动保证网络的分布式高速缓存的功能正常,下文将进一步解释。
将一计数器初始化为表示项目寿命值的预定计数值。在没有收到新的问候消息的同时,该计数值周期地递减。如果计数值到零,则该特定的同等组成员宣布失效。
图6E示出一表格270,说明保存在网络的每一个物理节点200(图5)的数据库133(图3B)中的邻居列表。该邻居列表270包括:多个与网络的节点200(图5)有关的邻近节点ID值,这些邻近节点被认为是本地物理节点的邻居;和多个与每个邻近节点有关的跳跃数或生存周期(TTL)半径值。
生存周期计数值(TTL计数值)被归入邻近问候消息的IP报头。当邻近问候消息在整个网络内传播时,它的TTL计数值由每一个节点200(图5)递减,它将邻近问候消息接收和转发往下一个节点。如果TTL值到达零,则该邻近问候消息被丢掉不再传播。TTL初始值由网络管理员考虑到网络拓扑来确定。在收到邻近问候消息后,每一个节点递减该TTL计数值,并将该消息转发给下一个节点。该邻近问候消息可以通过扩散或根据IP网广播方法通过广播来发送。根据本发明,当在目的地节点收到来自源节点的具有预定初始TTL值的邻近问候消息时,假设源节点和目的地节点是邻居,因为消息到达预定TTL传播半径内的目的地节点。
正如下文所进一步解释的,如果邻近问候消息来自同等组的一个新同类成员,则该节点通过比较源IP地址与同等组成员列表来对此进行确定,下文将进一步解释。如果确定邻近问候消息已被由新成员发送,则该节点将一同等组问候消息发回源节点。
图6F示出一表格280,说明保存在网络每一个物理节点200(图5)的数据库133(图3B)的节点分层列表,物理节点200参与节点分层结构的至少一个同等组。节点分层列表280包括多个表示物理节点所参与的同等组的同等组ID值。在本发明一实施例中,保存在节点分层列表280中的同等组ID值的顺序表示每组所在的层。一个物理节点可能只参与给定层上的一个同等组。
图7A为大体示出邻近问候消息350的字段结构的方框图,根据本发明的拓扑发现、维护和分层建立协议操作使用该邻近问候消息。初始化之后,每个节点包括网络的基站114(图3A),周期地在节点的所有网络接口上发送邻近问候消息。正如下文所进一步解释的,每个邻近问候消息承载来自源节点的节点分层列表280(图6F)的信息,该源节点发送该邻近问候消息。在收到邻近问候消息后,接收节点将利用常规的单点广播方法用它自己的邻近问候消息答复,该答复包含来源于答复节点的节点分层列表的信息。通过交换节点分层信息,两个节点可以交换网络中所建立的分层的知识,并可以确定这两个节点是否属于它们已知的任一层的同一同等组。
邻近问候消息可以通过广播或扩散方法发送。扩散在DCS协议层实现,而广播在IP层实现。根据扩散,在经一个节点的特定接口收到分组后,节点复制该消息并经节点的其它接口发送消息。如果节点的接口是点到点链路,则邻近问候消息作为单点广播消息发送到位于链路两端的节点。如果节点的接口是一广播链路,则该消息作为广播消息发送到一链路或子网。扩散经在每一个节点202运行协议的代码实现。如上所述,邻近问候消息是具有预定TTL值的范围(scoped)消息。
在一实施例中,通过IP网广播方法实现广播。正如下文所进一步解释的,如果邻近问候消息来自同等组的一个新同类成员,则接收节点通过比较消息的源IP地址与同等组信息列表230(图6A)确定,下文将进一步解释。如果确定邻近问候消息已由新成员发送,则该节点将一同等组问候消息发送回源节点。因为每一个节点可属于一个以上的同等组,因此,邻近问候消息可以包括一个以上的组ID字段、组领导字段、PGL优先级字段。
每个节点202的邻居状态通过发送邻近问候消息250(图4A)确定。发送邻近问候消息250,其预定的生存周期承载在初始TTL字段266(图4A)。如果邻近问候消息250在生存周期内传播到达一个节点,则源节点和目的地节点被认为是邻居。注意该邻近问候消息包括至少一个同等组ID字段270,其表示相应的同等组领导。还要注意该同等组是多级结构。如上所述,节点可以是多个同等组的一个成员,如果是这样的话,该同等组问候消息将包括多套同等组参数,每个包括同等组ID、组领导和PGL优先级。
该邻近问候消息350包括:包括TTL计数值的IP报头字段352,当消息350传播时转发该消息的每个节点递减该计数值;用户数据报协议(UDP)报头356;和UDP有效负荷360。UDP有效负荷360包括:版本字段362,用于承载表示DCS协议版本的值,该版本字段能够更新该协议;消息类型字段364,用于承载表示该消息350是邻近问候消息的值;TTL初始值字段366,用于承载传播消息350的源节点设置的TTL初始半径值,任一接收节点用该TTL初始值确定消息通过网络在源节点和接收节点之间传播的跳跃数;一序号字段368用于承载表示特定问候消息序号的序号值,下文将进一步解释;和字段组370,用于承载与发送消息的源节点的节点分层列表280(图6F)中所列的每个节点有关的信息。
字段组370包括至少一个字段子组372,用于承载与源节点所参与的一个同等组有关的信息。每个字段子组372包括:同等组ID字段374,用于承载表示源节点所参与的一个相关同等组的值;同等组领导字段376,用于承载表示相关同等组的同等组领导的值;和同等组领导优先级字段(PGL优先级字段)378,用于承载一优先值,该优先值表示分配给在相关字段376中所示的同等组领导的优先级。在一实施例中,与源节点的节点分层列表中所识别的与同等组有关的字段子组372依次被发送,顺序为从源节点的节点分层列表中最低层的同等组到节点分层列表中最高层的同等组。
由IP报头字段352承载的TTL计数值最初被设置为定义邻近问候消息350传播的范围或半径的初始TTL值。在一实施例中,TTL初始值由网络管理员考虑到网络拓扑来确定。该TTL计数值由每一个节点递减,该节点接收并将邻近问候消息转发到下一个节点。如果TTL值到达零,则该邻近问候消息被丢掉不再传播。收到邻近问候消息后,每一个节点递减由TTL字段承载的TTL值,并将消息转发到下一节点。如果由源节点发送的邻近问候消息达到TTL半径内的接收节点,则在本发明中认为源节点和接收节点是邻居。正如下文所进一步解释的,根据本发明的邻居发现方法,如果节点利用邻近问候消息在一预定时段(由失效因素值和邻居问候间隔的乘积确定)内没有发现邻居,则可增加TTL的初始值以定义一较大的TTL半径。
每发送另一个邻近问候消息350,发送邻居问候350的每个节点就增加在消息字段368承载的序号。邻近问候消息的序号字段368承载的序号由接收邻近问候消息的节点用于确定是否已经不止一次的收到同一邻近问候消息。根据扩散传输方法,每个节点在第一端口接收消息并经其它端口发送消息。因此,在一特定的接收节点可以接收一个以上的特定扩散消息。因此,该接收节点用序号确定是否不止一次收到同一消息。
在收到邻近问候消息350后,邻居节点将通过常规的单点广播方法使用它拥有的邻近问候消息来答复,该答复包含与答复节点的节点分层列表中的每个节点有关的信息。随着节点分层列表信息的交换,这两个节点将获知彼此对分层结构的知识。如此,交换邻近问候消息的节点可以确定这两个节点是否属于在它们已知的任一层的同一同等组。在一实施例中,该序号为一32位的值。
图7B表示根据本发明的拓扑发现、维护和分层建立协议操作的同等组问候消息380的数据结构的方框图。为了形成和维护同等组204(图5),在同等组的成员之中交换同等组问候消息。同等组问候消息只在同等组的已知成员中交换。重要的是同等组问候消息不发送给已给定同等组之外的任一节点,因此高速缓存调整方法不成问题。同等组问候消息可通过扩散或多点广播方法发送。
同等组问候消息380包括:IP报头字段382,用于承载发送同等组问候消息380的一个源节点200(图5)的IP地址,和TTL计数值;和UDP报头字段386。同等组问候消息380还包括UDP有效负荷,它承载:DCS协议版本字段390;消息类型字段392,用于承载表示该消息是一同等组问候消息的值;序号字段394,用于承载源节点所发送的特定的同等组问候消息的序号;字段组396,用于承载与发送消息的源节点的节点分层列表280(图6F)中所列的每个节点有关的信息;问候间隔字段398,用于承载问候间隔值,该间隔值表示源节点发送同等组问候消息之间的时间间隔;失效因数间隔字段400,用于承载定义超时间隔的失效因素值,下文将进一步解释;节点领导优先级字段402;用于承载节点领导优先级值,该值表示源节点的PGL优先级;同等组通信方法字段404,用于承载表示同等组的通信方法(广播或扩散)的值;和同等组多点广播地址字段406,如果字段404中表示的通信方法是广播,则用于承载多点广播地址。
对于同等组领导之外的同等组成员,可选择用于承载节点分层列表的字段组396。与每个节点有关的字段组396信息包括至少一个字段子组408,用于承载与该源节点参与的一个同等组有关的信息。每个字段子组408包括:同等组ID字段410,用于承载表示源节点所参与的相关同等组的同等组ID值;同等组字段412,用于承载表示相关同等组的同等组领导的同等组领导值;和同等组领导优先级字段(PGL优先级字段)414,用于承载表示分配给相关字段412所示的同等组领导的优先值的PGL值。在一实施例中,依次发送与源节点的节点分层列表的同等组有关的字段子组408,顺序为从源节点的节点分层列表中最低层的同等组到源节点的节点分层列表中最高层的同等组。注意从作为一个同等组成员的节点角度确定每个同等组的层级。
图7C示出说明根据本发明的拓扑发现、维护和分层建立协议操作的新同等组发现消息420的方框图。新同等组发现消息420经单点广播点到点的方法发送到一目的地节点,用于通知目的地节点已经发现一新的同等组成员。该消息420从网络中发现为一特定同等组成员的新节点的任一参与节点的发送,并被发送给已经发现新的同等组成员的同等组的同等组领导。消息420可被用来表示已经发现的多个新的同等组成员。
新的同等组发现消息420承载UDP有效负荷,包括:DCS协议版本字段430;消息类型字段432,用于承载表示消息420是一新同等组发现消息的值;组领导字段434用于承载表示如由发送消息420的源节点确定的组领导206(图5)的组领导值;PGL优先级字段436,承载表示组领导的PGL优先级的值;多个节点字段438,表示多个新发现的节点;和字段组440,包括至少一个节点ID字段442,用于承载新发现的同等组成员的节点ID。
在本发明的移动通信网中随着时间的流逝,可以发现一个新的节点属于一之前存在的同等组。此发现通过比较与邻居节点的节点分层列表280(图6F)中的每个节点有关的信息来发生,该信息经所述的邻近问候消息350(图7A)和同等组问候消息380(图7B)交换。当发现一个新节点时,它可以是加入具有多个节点的同等组的一个节点;它可以是形成初始同等组的两个单独节点;或者它可以是两个从前分开的同等组,每个具有多个合并在一起的节点。当一节点经邻居发现方法发现一个或多个属于同一个同等组的新节点时,它发送一新的同等组发现消息420到其当前同等组的所有成员。
该同等组领导控制两个同等组结合或合并。当一同等组领导收到一新的同等组发现消息时,它将一新的同等组发现消息420发送给另一个同等组领导。该消息包括一列同等组的节点,正如发现新的节点之前所操作的一样。另一个同等组领导也这样做。该交换之后,两个同等组领导将确定它们哪一个将是新扩展同等组的新的同等组领导。新的同等组领导将控制合并的速度和方法并将与另一个同等组领导一起根据DCS协议发起和实施高速缓存调整方法,下文将进一步解释。在高速缓存调整方法中,两个同等组领导交换两个组的高速缓存项目,并将另一个组的高速缓存项目反馈给该组所有成员。在高速缓存调整进行过程中,网络中的情形会改变,这将导致高速缓存项目发生改变或者更严重的逻辑节点失效。高速缓存调整方法允许高速缓存项目和/或节点被取消。当完成高速缓存调整时,每个同等组领导将利用新的同等组发现消息420发送其另一列同等组成员,以通知该方法结束。然后每个同等组领导发送一新的同等组发现消息420给它所有的同等组成员,以命令它们开始作为一个结合组工作。
随着一同等组的形成,选举一个同等组领导。一层的同等组领导依次可以形成下一层的同等组。当在上一层形成新的同等组时,该同等组领导将更新其节点分层列表280(图6F)的上一层的同等组领导和其同等组领导的领导优先级。同等组领导将更新的节点分层列表发送到它们各自的同等组。同等组的成员也更新它们的节点分层列表并将其发送到较低一层的同等组。该方法继续直到到达最低层的逻辑节点。
向下传播更新的同等组信息的同时,该逻辑节点所属的物理节点还更新它们的节点分层列表280(图6F)。此将会引起在每个邻近问候消息350(图7A)发送的节点分层列表发生改变。当邻居节点查出更新的节点分层列表时,可以发现新的同级邻接。新的同等组开始形成。该方法继续直到完全建立该分层,当没有发生新的改变时变稳定。
图8A示出说明根据本发明的分层建立方法的邻居发现状态机450的广义状态图,该状态机450在网络的每一个参与节点200(图5)处操作。状态机450从初始状态452开始操作,收到标记为EVENT_1的初始化事件456之后过渡到第一状态454,其中在该节点初始化计时器。在启动邻居问候计时器后,这构成标记为EVENT_2的第二事件,状态机执行第二事件过程458,下文将进一步解释。收到邻近问候消息350(图7A)后,即标记为EVENT_3的事件,该邻居发现状态机执行第三事件过程460,下文将进一步解释。在启动″没有发现邻居″计时器后,节点的状态机450执行第四事件过程462,下文将进一步解释。
图8B示出流程图470,说明在初始化邻居发现过程中所用的计时器后状态机450(图4A)的EVENT_1处理。过程470从步骤472开始,其中该节点初始化包括邻居问候计时器和″没有发现邻居″计时器的计时器。在步骤474,节点初始化变量,包括邻居问候TTL值,和发送邻近问候消息的序号。在步骤476,节点初始化它的邻居列表270(图6E)为空。在步骤478,节点读出由同等组分层状态机管理的本地节点分层列表280(图6F),下文将进一步解释。步骤478是可选择的。
图8C表示响应节点的邻居问候计时器的启动,状态机450(图A)执行的EVENT_2处理的流程图。过程480在邻居问候计时器的每个周期重复,从步骤482开始,其中该节点发送与邻近问候消息350(图7A)中的每个节点有关的信息,该消息350包括在其字段子组370(图7A)中承载的节点分层列表280(图6F)。在步骤484,该节点增加所发送的邻近问候消息的序号。在一实施例中,该序号是一32位的值。在另一的实施例中,该序号可以是2比特的值,其值在1到65564的范围内。
从步骤484,该过程进行到486,在此该节点确定该序号是否达到最大值,如果是这样的话,该过程进行到步骤488,其中该节点将序号重置为一,之后,该过程进行到步骤490,其中该节点重置邻居问候计时器,之后该过程结束。或者,如果在486确定序号不同于极限值,该过程结束,不再执行步骤488和490。
图8D示出邻居发现状态机450(图8A)响应节点收到邻近问候消息后执行的EVENT_3处理的流程图。该方法500从步骤502开始,其中节点收到邻近问候消息350(图7A)。从步骤502,该流程进行到504,在此该节点确定是否通过广播或扩散方法接收到该邻近问候消息。在504,由节点读出邻近问候消息的IP报头352(图7A)以及邻近问候消息的UDP报头字段来做出判断。如果在504确定已经通过广播或扩散方法接收到邻近问候消息,则进行到步骤506,其中该节点递减保存在邻近问候消息的IP报头字段352(图7A)的TTL计数值。从步骤506,流程进行到508,其中节点确定已接收的邻近问候消息的TTL计数值是否大于零。如果在508确定已接收的TTL计数值大于零,则进行到步骤510,这里节点这样转发邻近问候消息,即通过除在步骤502收到消息的链路或端口之外的所有链路或端口发送消息。或者,如果在508确定已收到的邻近问候消息的TTL计数值不大于零,则该流程进行到步骤512。而且,如果在步骤504确定该邻近问候消息是由除了广播或扩散之外的方法收到的,则该方法直接进行到步骤512。
在步骤512,收到该邻近问候消息的节点利用在步骤502收到的邻近问候消息的源节点ID查找本地邻居列表270(图6E)。在步骤512,节点确定邻近问候消息是否来自为本地节点的邻居已知的节点,也就是说判断该源节点是否标在邻居列表上。从步骤512,该方法进行到514,其中该节点确定发送邻近问候消息的源节点是否是新节点,即是否在邻居列表270(图6E)未找到该源节点。如果在514判断源节点是一新节点,则该流程进行到步骤516,这里该节点将源节点的节点ID加入邻居列表270(图6E)。或者,如果在514确定源节点不是新节点,则该流程从514直接进到518。
在518,节点确定发现的邻居数目是否大于预定的最小发现节点数。预定的最小发现邻居数目应当是一个相当大的数。如果在518确定发现的邻居数大于预定的最小值,则该流程从518进行到步骤520,这里该节点取消″没有发现邻居″计时器,之后该方法进行到步骤522。或者,如果在518确定发现的邻居数不大于预定的最小数,则该方法直接从518进行到步骤522,其中该节点通过单点广播方法将邻近问候消息送回新节点,在步骤502从新节点收到的该邻近问候消息。
在步骤524,节点比较本地节点的本地节点分层列表280(图6F)和收到的节点分层列表信息,该信息由收到的邻近问候消息的字段子组370(图7A)承载。从步骤524,该流程进行到526,在此作为在步骤502接收邻近问候消息的结果,该节点确定是否已经发现一新的公共同等组,并确定组领导字段376(图7A)的内容是否表示不同的同等组领导。
如果在526确定已经发现一新的公共同等组,而且在接收的邻近问候消息中所示为不同的同等组领导,则该过程进行到步骤528,这里该节点根据在网络的每一节点执行的同一选举算法确定新的公共同等组的组领导。如上所述,步骤528包括比较两个不同领导的PGL优先级。从步骤528,该过程进行到步骤530,其中该节点通过单点广播传输方法将新的同等组发现消息420(图7C)发送到在步骤528确定的同等组领导。
图8E表示邻居发现状态机450(图8A)响应″没有发现邻居″计时器的到期所执行的EVENT_4处理的流程图。EVENT_4处理从在552处的判断开始,这里该节点判断TTL值和增加值的摘要是否小于或等于初始值加上增量和校正时间的乘积的摘要,如以下关系式(1)所示:
TTL值+增量<=初始值+(增量*校正) (1)
如果在552判断为是,则该过程进行到步骤554,其中该节点将TTL值设置为等于TTL计数值加上一预定增加值。或者,如果在552的判断为否,则该方法直接进行到步骤556,这里节点重置″没有发现邻居″计时器,之后该过程结束。
本发明的DCS协议的一个应用例子是支持用于管理移动通信网100(图3A)的分布式高速缓存的位置更新协议,其中高速缓存数据包括上述的网络用户简档。但是,根据本发明,DCS协议可能被用来在任何一种计算机网中管理分布式高速缓存,其中高速缓存数据包括任何其它类型的信息。下文所述的被用来管理分布式高速缓存的每一个DCS消息由网络中的参与节点收发(例如,图3A的网络100的基站114)。
图9A所示为大体说明根据DCS协议的高速缓存项目通告消息700的数据结构的方框图。正如下文所解释的,高速缓存项目通告消息700用于位置更新协议,以报告一新的高速缓存项目位于其中一个基站114(图3A),例如当一新的移动主机被鉴定为在与基站有关的覆盖区118(图3A)内时,或当由于上述的越区切换过程而使特定高速缓存项目的所有权发生改变时。消息700从相应的源节点,例如一个基站114(图3A)根据扩散或多点广播技术通过上述建立的节点分层结构传播到网络的其它参与节点。该消息700包括:IP报头字段702,它可以包括在网络100(图3A)内建立的分层结构中的一组节点的多点广播地址,或者可以包括IP广播地址;IP表字段704;通用数据报协议(UDP)报头字段706;UDP表字段708;和UDP有效负荷710。
该消息的UDP有效负荷710包括:版本字段712,用于承载所使用的DCS协议版本的DCS协议版本值;消息类型字段714,用于承载表示消息700是高速缓存项目通告消息的值;同等组ID值716,表示在网络100(图3A)中所建立的分层结构中的一组节点;和至少一个字节组或字段720,承载识别一相关高速缓存项目的信息。正如在本发明的位置更新协议的一个实施例所使用的,每一个字节组720包括:节点ID字段722,用于承载一相关高速缓存项目所属的一个相关基站114(图3A)的节点IP值(例如,IP地址);协议ID字段724,用于承载表示由消息所支持应用协议类型的协议ID值(注意DCS协议可被用来支持在图3A的网络100内同时起作用的多个应用协议);和密钥字段726,用于承载表示相关高速缓存项目的相关简档用户密钥值,该相关高速缓存项目被通告位于所示的基站处。如上所述,每一个用户简档密钥值是一连串的值,包括与用户有关的电话号码链路层ID和相关移动主机120(图3A)的链路层ID。
图9B所示为大体说明高速缓存项目取消消息730的数据结构的方框图,正如下文所进一步解释的,根据位置更新协议的每一个基站114(图3A)用该消息730通告一个或多个指定的高速缓存项目,和相关的用户简档已经在基站删除,或者通告高速缓存项目的所有权已经从本地基站转移到网络中的另一个基站。每一个高速缓存项目取消消息730根据扩散或多点广播方法从相应的一个源基站114经建立的节点分层结构传播到网络100(图3A)的其它参与节点。在所示的实施例中,该高速缓存项目取消消息730包括UDP有效负荷732,包括:DCS协议版本字段734;消息类型字段736,用于承载表示消息730是高速缓存项目取消消息的值;同等组ID字段738,用于承载表示源节点是其成员的同等组的同等组ID值;和字段组739,用于承载这样一种信息,该信息指定具有相关用户简档的至少一个高速缓存项目正从源节点的本地用户列表150(图4A)中撤销所有权并被删除。
字段组739包括多个字节组740,每个字节组740承载指定正被通告撤销在源节点的所有权的相关高速缓存项目的信息。每一个字节组740包括:节点ID字段742,承载相应的高速缓存项目正在此被取消的基站的节点ID(例如,IP地址);协议ID值744,用于承载上述的协议ID;密钥字段746,用于承载表示相关用户简档的用户简档密钥值;和密钥长度字段747,用于承载表示用户简档密钥的比特长度的密钥长度值。密钥长度字段747提供了DCS协议的灵活性。举例来说,一32位的值可用来表示10位数的电话号码,尽管需要映射。或者,可使用更多的位数来表示10位数电话号码,而不需映射。为了使DCS协议更灵活,该密钥长度允许使用不同长度的密钥。
图9c为大体示出根据DCS协议的节点取消消息750的数据结构的方框图。该节点取消消息750用于在网络中的一特定节点不运行或在网络的一特定节点和其他节点之间的通信出现故障时,保持该网络10(图3A)的分布式高速缓存的数据的完整性。该网络的一特定节点和其他节点之间的通信故障可通过在一预定时间未收到同等组问候信息380(图7B)来检测到。例如,同等组204(图5)的同等组领导206(图5)在一段时间内没有从该特定成员收到同等组问候消息时,可以确定该组的这一特定的同等成员已不工作(不工作)。在这种情况下,源自该不工作节点(失效节点)的数据的完整性以及通过该不工作节点转发的数据的完整性就不再可靠。因此,该同等组领导将会读取其全球用户表170(图4C)以确定存储在该不工作节点以及通过该不工作节点转发的所有的高速缓存项目172(图4C)。该功能是通过读取基站位置信息字段166(图4C)的内容和用于每一个高速缓存项目的全球用户表的连接性信息字段174的内容(图4C)。确定与该不工作节点相关联的高速缓存项目的列表之后,该同等组领导产生并发送一节点取消消息750向该同等组的所有成员以及任何上层同等组的同类成员。该节点取消消息承载该不工作节点的节点ID,通过逻辑节点在该不工作节点的同等点中继,且当应用时通过上层或下层的逻辑节点中继。这样,该逻辑取消信息就传遍了整个分层系统。
该节点取消消息750可通过广播或扩散发送,其承载一UDP负载,该负载包括:一DCS协议版本字段754;一消息类型字段,其承载一值,表明该消息750为一节点取消消息;一同等组ID字段758,用于承载一同等组ID值,指示一同等组,其中一个或多个相关的不工作节点是该同等组的成员;一字段子组760,其承载指示被取消或被认为是已不工作的节点的列表。该字段子组760包括至少一个承载一相关节点ID值的ID字段762,该值指示由该同等组ID字段758的内容所指示的同等组的被取消的或不工作节点。
收到一节点取消消息750后,该网络100(图5)的每个节点搜索其全球用户表170〔图4C〕以确定存储在该不工作节点或必须通过在该节点取消消息的节点ID字段762中指示的不工作节点转发的高速缓存项目172(图4C)。该判断结束后,接收节点删去要依赖该不工作节点来达到数据完整性的该全球用户列表的所有的高速缓存项目172(图4C)。
如上所述,当一个移动主机120〔图3A〕穿过一对与基站114相联系的覆盖区域118(图3A)之间的边界时,由旧基站进行切换操作,其中,该移动主机离开旧基站进入与新区域相联系的新基站。在不同类型的切换操作中,为新基站的接收端或为旧基站的切换端均可发起切换操作,包括将与该主机相关的用户简档从旧基站发送到新基站。根据所使用的切换操作发起方案的类型,可使用DCS协议的不同消息来实现该切换操作。
图9D所示为高速缓存项目转移请求消息770的数据结构的大体方框图。为支持本发明的位置更新协议,该DCS协议的高速缓存项目转移请求消息770可用于执行这样一种类型的切换操作,其中,为新基站的接收端发起一相关用户简档的转移。在一实施例中,该高速缓存项目转移请求消息770根据点对点的单点广播方法被从新基站发送到旧基站。在该描述的实施例中,该高速缓存项目转移请求消息770承载一UDP负载772,包括:一DCS协议版本字段774;一消息类型字段776,用于承载一指示该消息770为高速缓存项目转移请求消息的值,和多个字节组字段组777,每个识别一高速缓存项目和一相关的请求转移的用户简档。每一个字节组字段组777包括:一节点ID字段778,用于承载请求转移该指示的高速缓存项目的基站的节点ID(例如,IP地址);一用于承载如上所述的协议ID的协议ID字段780;和用于承载一相关简档用户密钥值的简档用户密钥字段782,该密钥值唯一地指定请求转移的相关的高速缓存项目。该高速缓存项目转移请求消息770还可用于如下所述的分布式高速缓存调整过程中。在一实施例中,该密钥字段782还包括一唯一性标记,指示该密钥是本地唯一的还是全球唯一的,和一密钥长度值,以比特为单位指示该密钥的长度。
图9E示出根据DCS协议的高速缓存项目转移消息790的数据结构的大体框图。为支持本发明的位置更新协议,该高速缓存项目转移消息790用于进行切换处理的过程中,其中,由接收端或切换端发起一相关用户简档的传输。该高速缓存项目转移消息790还用于如下将述的高速缓存调整过程中。该高速缓存项目转移消息790通过点对点技术从一源端发送至目的端,且承载一UDP负载,包括:一DCS协议版本字段794;一消息类型字段796,用于承载一指示该消息790为高速缓存项目转移消息的值;和至少一个字段组797,用于承载包括被从一个参与节点传输到另一个的实际用户简档数据的信息。
该字段组797的每一个包括;一节点ID字段798,用于承载传输指定高速缓存项目的基站的节点ID;一协议ID字段800,用于承载如上所述的协议ID值;一简档用户密钥字段802,用于承载唯一地确定被传输的一相关高速缓存项目的相关简档用户密钥值;一高速缓存长度字段804,以比特为单位指示被传输的实际的简档数据;和一高速缓存项目字段806,用于承载由密钥字段802中承载的用户简档密钥值指示的简档数据。该由高速缓存项目字段806承载的实际简档数据包括一版本号。
当通过一高速缓存项目通告消息传输一高速缓存项目时,该接收节点成为该被转移的高速缓存项目的所有者。当与该被转移的高速缓存项目相关的密钥值仅为区域性唯一时,必须由接收节点产生一新的密钥值。该接收节点必须通过一高速缓存项目通告消息700(图9A)向该分层系统声明该高速缓存项目转移和该新的所有权。注意通常在高速缓存项目转移消息790之后发送一高速缓存项目取消消息730(图9B)以指示该被转移的高速缓存项目的所有权已改变。
图9F示出根据DCS协议的高速缓存项目转移消息复制请求消息810的数据结构的大体框图。该高速缓存项目复制请求消息810用于当要求将一高速缓存项目的副本从该网络中的一个节点传送到另一节点时支持位置更新协议,而不转移该高速缓存项目的所有权。例如,在一呼叫处理操作中,发起呼叫的第一个基站114(图3A)请求被呼叫方的当前用户简档以确定该被呼叫方当前是否处于运行状态,或在呼叫中(例如,忙,不在服务区域,或待用)。该高速缓存项目复制请求消息810被从发起呼叫的基站使用点对点单点广播方法传输到与该被呼叫方相关的所有者基站114(图3A)。如下所述,承载该请求用户简档的高速缓存项目复制消息由该所有者基站返回给该请求基站。
该高速缓存项目复制请求消息810承载一UDP负载812,其包括:一DCS协议版本字段814;一消息类型字段816,用于承载指示该消息810为缓冲器项目复制请求消息的值;和多个字节组(tuple)字段组817,每一个具有一节点ID字段818,用于承载该请求基站的IP地址,协议ID字段820,和一用户简档密钥字段822,用于承载指示请求其副本的高速缓存项目的用户简档密钥值。
图9G所示为根据DCS协议的高速缓存项目复制消息830的字段结构的方框图。该高速缓存项目复制消息830用于支持位置更新协议以将包括用户简档数据的高速缓存项目的副本从网络中的一个节点传输到另一节点,同时不会进行该高速缓存项目的所有权的任何转移。例如,该消息830可用于支持位置更新协议,用于如上所述将用户简档的副本从一个基站114(图3A)发送到其相关的镜像基站,以下将进行说明。在另一例中,该消息830可用于呼叫处理操作以将一用户简档的副本从与被呼叫方相关的所有者基站发送到与呼叫方相关的请求基站。该高速缓存项目复制消息830通过点对点单点广播技术来发送。
在该所述的实施例中,该高速缓存项目复制消息830承载一UDP负载,其包括:一DCS协议版本字段834,一消息类型字段836,用于承载一指示该消息830为高速缓存项目复制消息的值;和至少一个字段子组837。每个字段子组837包括:一节点ID字段838,用于承载该发送节点或基站的节点ID(例如,IP地址);一如上所述的协议ID字段840;和一用户简档密钥字段842,用于承载一用户简档密钥值,该值与其副本正被发送的用户简档有关;一高速缓存长度字段844,用于承载一值,其以比特为单位示出被复制的该相关用户简档的长度;和一用于承载正被复制的实际用户简档数据的高速缓存项目字段846。
图9H示出根据DCS协议使用的高速缓存摘要信息850的字段结构的大体方框图,其用于调整或同步本地存储在网络100的选择节点处的高速缓存。该高速缓存摘要信息850可被用于当建立在网络100(图5A)中的分层体系中的两个同等组204(图5)合成为一个同等组时开始高速缓存调整。该高速缓存摘要信息850还可被用于在网络中的一个节点加入现存的同等组(例如,通过一邻居发现过程发现一同等组成员)时,启动一高速缓存调整过程。该高速缓存摘要信息850的目的是在网络中的节点之间发起一高速缓存调整过程,用于更新在网络的相关节点处的全球用户列表170(图4C)。
当两个之前分离的同等组204(图5)获知彼此后,该两组的同等组领导206(图5)发起一高速缓存调整过程以合并。这就给该过程提供了它所需的控制。为使交换保持为有顺序的方式,可在任意给定的时间以不超过一个分组的方式,在两个同等组领导之间传送高速缓存摘要信息850。该同等组领导具有一较高的领导优先权或更高的节点ID,控制该包交换的速度。每一侧将使用一“其它”比特来指示其是否还有分组要发送。第一个包被交换后,每一个后续分组还用作接收到之前分组的确认。该高速缓存排列的第一个阶段包括交换在两侧的本地存储的高速缓存的摘要。当任一侧在另一侧ID结束之前用完该摘要时,用完的一侧将继续使用增加的顺序号关闭的多余位,以及非实际的摘要发送摘要消息。当两个同等组领导交换该高速缓存摘要时,该同等组领导还将该摘要分组转发给他们各自的同等组成员。该同等组成员将使用一没有摘要主体的高速缓存摘要分组来确认该摘要分组以确保该高速缓存摘要在所有同等组成员之间的可靠的传播。当在正进行的高速缓存排列结束之前发现一个或多个新的同等组时,中止该新的调整过程直到该正进行的过程结束。
该高速缓存摘要消息850包括一UDP协议,其包括:一DCS协议版本字段852;一消息类型字段854,用于承载一值,其指示该消息850为一高速缓存摘要消息;一序号字段856,用于承载一序列值,如果该消息被作为一系列高速缓存摘要消息的一个被发送到另一个被调整为与源节点结盟的或与源节点同步的节点,则该值指示该消息的序号;一“收到的序号”字段858,用于承载一值,指示从该目的节点收到的高速缓存摘要消息的数量,该源节点与该目的节点被一起调整,该字段858提供对之前收到的高速缓存摘要消息的接收的确认;一“其它消息”字段860,用于承载一指示该序列后跟随有附加消息的值;和至少一个字段子组862。
每个该字段子组862包括:一贡献节点ID字段864,用于承载与该特定高速缓存项目相关的连接信息,如一贡献节点的IP地址,其中源节点原始地从该贡献节点收到与该特定高速缓存项目相关的信息;多个节点字段866;至少一个字段子组868。
注意在高速缓存摘要信息850中不交换用户简档密钥。该高速缓存摘要信息850的目的是发起一高速缓存调整过程并向每个参与节点提供有关其他节点的高速缓存的基本结构信息。在该节点分层体系的两个同等组合并成为一个同等组的情况下,该高速缓存摘要消息被从该第一同等组的领导发送至第二同等组的领导。在该高速缓存摘要消息用于调整高速缓存的情况下,例如在一新节点加入一现存同等组的情况下,高速缓存摘要消息被发送至/自该新节点,而且还被发送至/自现存领导组的领导。因此,该新节点和现存同等组的领导交换一系列的高速缓存摘要消息。
响应一高速缓存摘要消息,网络的每个节点创建一数据结构,描述该高速缓存并准备接收包括后续的用户简档密钥的实际数据。注意可能必须发送不止一个高速缓存摘要消息,因为该高速缓存项目的个数可能非常大。因此,该“其它字段”560用于指示承载附加摘要信息的附加高速缓存摘要消息550即将到来。
该字段子组862的每一个包括:一贡献节点ID字段864,用于承载一贡献节点ID值,指示赖以保持如上所述的高速缓存项目的完整性的节点;多个节点字段866,用于承载一指示该合并的同等组中的节点数目的值;和至少一个字段子组868。该字段子组868的每一个包括:一节点ID字段870,用于承载该同等组中相关节点的节点ID值,一协议数字段872,用于承载指示由该DCS协议支持的“多个应用”协议的值(例如,在移动通信网络中的位置更新协议和移动管理协议);和至少一个字段子组874。
每一个字段子组874包括:一协议ID字段876;一唯一性标记字段878,用于承载一值,指示用于识别一相关高速缓存项目的密钥是否为本地或全球唯一;和密钥长度字段880,用于承载密钥长度值,以比特为单位指示该相关密钥的长度。如果一密钥被操作用于识别网络中任意参与节点处的高速缓存项目,则该密钥是全球唯一的。相反,如果其仅被用于当与节点ID一起使用时来识别一特定的高速缓存项目,则该密钥是本地唯一的。该唯一性标记字段878在DCS协议中具有灵活性。
图9I示出高速缓存取消摘要消息880的方框图。该高速缓存取消主要信息880非常类似于高速缓存摘要消息850(图9H)。当两个同等组领导交换高速缓存摘要消息时(图9H),该分层体系中的逻辑节点会变为不工作。该高速缓存取消摘要消息880可被用于从该高速缓存摘要交换取消与该不工作的逻辑节点相关的节点高速缓存。该高速缓存摘要消息850(图9H)和高速缓存取消摘要消息880分享该相同的顺序空间,即它们可能会在控制该高速缓存调整过程的同等组领导的控制下以任意顺序混合在一起。
该高速缓存取消摘要消息880包括一UDP负载,包括一DCS协议版本字段882;一消息类型字段884,用于承载指示该消息880为一高速缓存取消摘要信息的值;一序号字段886,用于承载在如上所述的高速缓存调整过程期间交换的消息的序号(注意该消息880与图9H的高速缓存摘要信息850共用相同的顺序空间);一序号接收字段888,用于承载一值,按需排列之前高速缓存摘要消息的序号接收值;一其它字段890,用于承载指示随后是否有更多消息的值;和至少一个字段子组892。
每个字段子组892包括:一贡献节点ID字段894,用于承载与一相应的高速缓存项目相关的连接性信息;多个节点字段896;和至少一个字段子组898。每个字段子组898包括:一节点ID字段900,用于承载该同等组的相关节点的节点ID值;如上所述的多个协议字段902;和至少一个字段子组904。每个字段子组904包括:一类似于如上所述的协议ID字段906,一唯一性标记908,用于承载与一相应用户密钥值相关的唯一性值;和一密钥长度字段910,用于承载以比特指示该相关密钥值的长度的值。
图9J示出一高速缓存项目摘要消息911的数据结构的方框图。该高速缓存项目和消息911的交换在高速缓存摘要消息850的交换之后(图9H)。该高速缓存摘要消息911实际承载如上所述待被交换的该用户简档密钥值。该高速缓存项目和消息911包括一UDP负载,包括一DCS协议版本字段912;一消息类型字段914,用于承载指示该消息911为一高速缓存项目和消息的值;一序号字段916,用于承载一序号;一接收的序号字段918;一其它消息字段920,用于指示随后是否有附加消息911;和至少一个字段子组922。每个字段子组922包括:一节点ID字段924,多个协议字段926;和至少一个字段子组928。每个字段子组28包括:一协议ID字段930,多个项目字段932;和具有至少一个密钥字段936的至少一个密钥字段子组934。
当加入高速缓存调整过程的任一个节点在另一侧结束之前用完该摘要时,假设高速缓存项目的摘要存储在该源节点,则用完的节点会继续使用增加的序号,关闭的但非实际摘要的多余位来继续发送高速缓存项目摘要消息。当该两个同等组领导交换该高速缓存项目摘要时,该同等组领导还会以与中继该高速缓存摘要信息850的方式相同的方式将该摘要分组转发给它们的同等组成员(图9H)。当在进行调整处理的同时在任一侧收到/产生一新的高速缓存项目时,该新的高速缓存项目被插入或附加于该摘要流。该摘要分组不再保持任何顺序。在高速缓存调整过程结束时,该同等组领导将新同等组发现消息420(图7C)发送至各自的同等组成员以通知它们开始在该新同等组中进行通信。
图9K示出用于DCS协议的高速缓存项目取消摘要消息940的数据结构的框图。该消息940承载一UDP负载,包括:一版本字段942;一消息类型字段944;一序号字段946;一接收的序号字段948;一其它消息字段950;和至少一个字段子组952。每个字段子组952包括:一节点ID字段954,多个协议字段956;和至少一个字段子组958。每个字段子组958包括:一协议ID字段960,多个项目字段962;和具有至少一个字段组964。每个字段组964包括至少一个密钥字段966,用于承载一相关的用户密钥值。
该高速缓存项目取消和消息940类似于该高速缓存取消摘要消息880(图9I),且被用于取消一高速缓存项目摘要,其已由于在该网络中出现的变化被交换。它与高速缓存项目摘要共同分享相同的序号空间。它们可以以由该发送者认定的任何方式混合在一起。在该高速缓存调整过程结束之前,如果需要,可重新开始该高速缓存摘要和高速缓存项目摘要交换。
如上所述,在本发明的一实施例中,上述DCS协议消息的业务可用于支持本发明的位置更新协议,用于管理该移动通信网络100的分布式高速缓存(图3A)。如参考以下的流程图所述,该DCS协议消息被用于在网络的基站之间传输和复制用户简档,且还用于声明在网络中的用户简档的当前位置或所有权。
图10A示出位置更新子处1000的流程图,该子处理1000由一个基站114(图3A)向应于从移动主机120收到一登记消息而执行。在一实施例中,子处理1000被实现为由该基站计算机系统130(图3B)执行的软件指令。该子处理1000从步骤1002开始,这里该基站从一个新的主机120(图3A)收到一登记消息,该新的主机在该基站的相关覆盖区域118(图3A)内被激发,该登记消息包括一链路层标识(ID)值。在一实施例中,该链路层识别器为唯一地识别该新的主机的生产商ID。在步骤1004,该基站使用收到的链路层ID作为该本地用户列表的检索密钥,比较该收到的链路层ID值与存储在每个高速缓存项目152(图4A)的用户密钥字段154(图4A)内的值的链路层ID部分,来检索该本地用户列表150(图4A)。
从步骤1004,该处理进到1006,这里基站判断是否在本地用户列表150(图4A)中找到与该新主机相关的简档,且如果是,该处理进到步骤1008,这里该基站使用从本地用户列表150(图4A)的字段156读取的指针地址值读取来自该本地高速缓存数据库132(图3B)的与该新主机相关的简档,并使用该简档实现验证处理一确定该新主机是否是真的。假定该新主机是真的,该处理从步骤1008进到步骤1010,这里基站将与该新主机相关的简档的副本发送到与该基站相关的镜像基站。如上所述,该相关镜像基站的IP地址被存储在该基站中。在本发明的一实施例中,通过产生和发送缓冲器项目复制请求830(图9G)将该与新主机相关的简档的副本从基站114(图3A)发送到每个相关的镜像基站,其中该复制消息830承载与该密钥字段842(图9G)中的新主机相关的用户密钥值和与该高速缓存项目字段846(图9G)中的新主机相关的简档。每个相关的镜像基站接收包括与该新主机相关的简档的高速缓存项目复制消息830(图9G),并将该简档增加至其全球/镜像简档用户列表160(图4B)。
从步骤1010,该处理进到步骤1012,这里,该基站声明与该新主机相关的简档已被由其IP地址识别的本地基站拥有。在一实施例中,步骤1010包括通过该网络100(图3A)的主干112广播一高速缓存项目通告消息700(图9A),该消息承载与在该密钥字段726(图9A)中的新主机相关的用户密钥值,和在该节点ID字段722(图9A)中的基站(其现在拥有与该新主机相关的简档)的IP地址。每个主机接收一高速缓存项目通告消息,其包括与该新主机相关的用户密钥值,和现在拥有与该新主机相关的简档的基站的IP地址,并使用该信息来更新其全球/镜像简档用户列表160(图4B)。注意步骤1012可能是多余的,因为该全球用户列表可能已经指示该与该新主机相关的简档已被存储在该主基站中。
或者,如果在1006处确定没有在本地用户列表150(图4A)中发现与该新主机相关的简档,该处理进到步骤1014,这里,该基站使用收到的链路层识别器作为搜索密钥来检索该本地基站的镜像简档列表。在该较佳实施例中,步骤1014包括检索该全球/镜像简档用户列表160(图4B)。从步骤1014,该处理进到1016,其中该基站判断是否在该镜像列表简档中找到与该新主机相关的简档,如果是,该过程进到步骤1018,这里该基站使用从该全球/镜像简档用户列表160(图4B)读取的指针地址值从本地高速缓存数据库132(图3B)读取与该新主机相关的简档,并进行验证过程。如上所述,通过从基站向它们相关的镜像点复制简档就实现了本发明的位置更新协议的一个非常重要的优点。如果在该镜像简档列表中找到与一新主机相关的简档,则无需从另一基站或从中央服务器站点检索该简档。
假设该验证过程满足,则处理从步骤1018进到步骤1020,这里该基站通过向该本地用户列表增加与该新主机相关的简档来更新该主机用户列表简档50(图4A)。从步骤1020,该处理进到步骤1022,这里,该基站以与上述步骤1010中相同的方式将与该新的移动主机相关的新简档复制到与该挤占相关的镜像站点。每个相关的镜像基站收到一高速缓存项目复制消息830(图9G),其包括与该新主机相关的简档,并将该简档增加至其全球/镜像简档用户列表160(图4B)。从步骤1022,该处理进到步骤1024,这里,该主机以与在上述步骤1012中所述的方式相同的方式声明与该主机相关的简档由该本地基站拥有。或者,如果在步骤1016处确定在镜像简档列表中未找到该新主机,则该处理进到“A”(至图7)。
图10B示出该位置更新子处理1000(图10A)的进一步1030的流程图,该描述的步骤从“A”(从图10A)到步骤1032,其中能够,该基站使用在步骤1002(图6)收到的接收链路层识别符来检索该全球简档列表。在该较佳实施例中,步骤1032包括使用收到的链路层ID作为检索密钥,比较收到的链路层ID与该用户密钥字段164(图4B)的链路层ID部分,来检索该全球/镜像简档用户列表160(图4B)。
从步骤1032,该过程进到1034,这里,该基站判断是否在全球简档列表中找到新主机,如果是,该处理进到步骤1036,这里基站从其当前位置检索与该新主机相关的简档,该基站为当前拥有与该新主机相关的简档的基站。与该新的主机相关的该简档的所有者由一IP地址指示,该IP地址被存储在该全球/镜像简档用户列表中的高速缓存项目的基站位置字段166(图4B),该用户列表与该收到的链路层ID匹配。步骤1032包括:读取存储在与该新的主机相关的高速缓存项目的该基站位置字段166(图4B)的IP地址;将一高速缓存项目转移请求消息770(图9D)发送至当前拥有该简档的基站,该转移请求消息在其密钥字段782(图9D)中承载与新主机相关的用户密钥列表,并在其节点ID字段778(图9D)承载该本地基站的IP地址;并从当前拥有该简档的基站接收一高速缓存项目转移消息790(图9E),该高速缓存项目转移消息在其高速缓存项目字段806(图9E)承载与该新主机相关的简档。
从步骤1036,过程进到步骤1038,这里基站对新主机进行验证处理。假设满足验证过程,该过程从步骤1038进到步骤1040,这里,该基站通过将与该新主机相关的用户简档增加至该本地列表来更新该本地用户列表1100(图4A)。
或者,如果在步骤1034确定未在该全球简档列表中找到该新主机,该处理从1034进到步骤1042,这里,该基站通过查询事务处理服务器110(图3A)请求从室后系统的中央数据库108(图3A)复制与该新主机相关的用户简档。从步骤1042,该处理进到步骤1044,这里,基站通过该相关的事务处理服务器接收来自该中央数据库108(图3A)的简档。从步骤1044,处理进到上述的步骤1040。
从步骤1040,处理进到步骤1046,这里,基站以与上述步骤1010-1022(图6)中相同的方式将与该新主机相关的新的简档复制到与该基站相关的每个镜像站点。每个相关的镜像基站接收包括与该新主机相关的简档的高速缓存项目复制消息830(图9G),并将该简档增加至其全球/镜像简档用户列表160(图4B)。从步骤1046,该过程进到步骤1048,这里,基站以与在步骤1012和1024(图10A)中相同的方式声明与该新主机相关的简档由该本地基站所拥有。
图10C示出位置更新子处理1060的流程图,在将对与用户的通信控制从本地基站切换到一新基站的情况下,由一个基站114(图3A)进行子处理1060。如上所述,当一个移动主机120(图3A)跨过与该基站114相关的一对覆盖区域118(图3A)之间的界限时,该切换过程由该旧基站(移动基站从其覆盖的区域离开)和该新基站(主机进入其覆盖的区域)执行。如上所述,在不同类型的切换过程中,接收端(该新基站)或切换端(旧基站)中的任何一个均可启动该切换过程,该过程包括将与该主机相关的用户简档从该旧基站转移到该新基站。根据所使用的该切换过程发起方案的种类,可使用不同的处理过程。本发明的DCS协议和位置更新协议具有能够使用任何一种类型的切换过程的灵活性。
在一个实施例中,该子处理1060被实现为由基站计算机系统130实现的软件指令(图3B)。该处理1060开始于步骤1062,这里基站判断已将一特定用户的简档切换至一新的基站。
从步骤1062,处理进到步骤1064,这里,基站将该特定用户简档传送给一新的基站。在传送该特定用户简档时,本地基站放弃该特定用户的简档给该新基站。在一实施例中,步骤1062包括产生一高速缓存项目转移消息790(图9E)并将其发送到该新的基站,该高速缓存项目转移消息包括在其IP报头的新基站的IP地址,并在其高速缓存项目字段806(图9E)承载该特定用户简档,在其密钥字段802(图9E)承载相关的用户密钥值。在接收端,该新基站接收包括该特定用户简档的高速缓存项目转移消息,并将该简档加至其本地用户列表150中(图4A)。
从步骤1064,该处理进到步骤1066,这里,该基站通过删除该特定用户简档项目更新该本地用户列表150(图4A),因为该本地基站已放弃该特定用户简档的所有权给该新的基站。
从步骤1066,该处理进到步骤1068,这里,该基站等待一预定的时间段,之后,基站在1070处判断该特定用户简档是否已回到该本地基站(作为将该简档从该新基站切换回该本地基站的结果),如果没有,该本地基站然后在步骤1072向网络声明该特定用户简档已不再被该本地基站拥有。在一实施例中,步骤1072包括产生一高速缓存项目取消消息730(图9B)并通过该网络100(图3A)的主干112广播该消息,该高速缓存项目取消消息包括在其节点IP字段742的基站的IP地址,且在其密钥字段746(图9B)承载与该特定用户简档相关的用户密钥值。
通过等待一预定的时间并证实该特定用户简档仍未被该本地基站拥有,本发明的位置更新处理可避免由于广播多个高速缓存项目通告消息700(图9A),高速缓存项目取消消息230(图5B)以及高速缓存项目转移消息790(图9E)而引起的在网络上的阻塞的问题,如果没有等待时间段,会由用户引发的多个切换过程而造成网络上的阻塞,其中,该用户来回切换穿过由不同基站覆盖的两个区域之间的界限。为确保在等待时间期间该呼叫处理功能也可操作,在还未向网络中的其他基站声明更新的情况下,每个基站被操作来将呼叫处理信息转发至当前拥有该主用户简档的基站,其中该网络包括与企图联系到该特定用户的呼叫方相关的基站。
图10D示出位置更新子处理1080的流程图,在将与用户的通信控制从一旧的基站切换至该新的基站的情况下,由一个新的基站114(图3A)来执行该子处理1080。在一实施例中,子处理1080由该基站计算机系统130(图3B)实现为软件指令。该处理1080始于步骤1082,这里基站确定已将一特定用户简档切换至该本地基站。
从步骤1082,该处理进到步骤1083,这里该基站检索本地基站的镜像简档列表。在该优选实施例中,步骤1083包括检索该全球/镜像简档用户列表160(图4B)。从步骤1083,该处理进到1084,这里,基站判断是否在该镜像简档列表中找到该特定用户简档。如果该特定用户简档被列在该镜像用户列表中,则该基站从该本地高速缓存数据库132(图3B)读取该特定简档,且无需从另一基站或从中央服务器站点检索该特定用户简档。如果该特定用户简档列在该镜像简档列表中,则处理进到步骤1088,这里,该基站进行验证处理。
或者,如果1084处确定未在该镜像简档列表中找到该特定简档,则处理从1084进到步骤1086,这里,该基站以与上述参考步骤1036(图7)相同的方式从该旧基站检索该特定用户简档。假设该验证处理被满足,则该处理从步骤1088进到步骤1090,这里,基站通过将该特定用户简档增加至该本地用户列表150(图4A)来更新该本地简档列表。
从步骤1090,该处理进到步骤1092,这里,该基站通过使用高速缓存项目复制消息830(图9G)以如上所述参考步骤1010(图10A)的相同的方式将与该新移动主机相关的新的简档复制到与该基站相关的每个镜像站点。每个相关的镜像基站接收一包括该特定用户简档的高速缓存项目复制消息830(图9G)并将该简档增加至其镜像简档用户列表160(图4B)中。
从步骤1092,该处理进到步骤1094,这里该基站等待一预定的时间段,之后该基站在1096判断该特定用户简档是否仍被该本地基站所拥有,如果是,该基站然后使用高速缓存项目通告消息700(图9A)以与上述参考步骤1024(图6)相同的方式向网络声明该特定用户简档向网络声明该特定用户简档仍由该本地基站拥有。通过等待一预定的时间周期并证实该特定用户简档仍被该本地基站拥有,本发明的位置更新处理可避免由于广播多个高速缓存项目通告消息700(图9A),高速缓存项目取消消息230(图5B)以及高速缓存项目转移消息790(图9E)而引起的在网络上的阻塞的问题,如果没有等待时间段,则会由用户引发的多个切换过程而造成网络上的阻塞,其中,该用户来回穿过由不同基站覆盖的两个区域之间的界限。为确保在等待时间段该呼叫处理功能也可操作,每个基站被操作来将呼叫处理信息转发至该基站。
或者,如果在1096确定作为该特定简档被切换回该旧基站的结果,该特定用户简档仍未被该本地基站拥有,则处理进到“C”(回到图8)。
尽管是参考特定的实施例对本发明进行了如上的说明,但对本专业技术人员来说,本发明的改变和替换是很明显的。因此,以下的权利要求被理解为覆盖所有落入该发明的实质精神和范围内的所有的这些替换和修改。
Claims (58)
1、一种管理分布式高速缓存的方法,用在一网络的多个参与节点的每一个处,该分布式高速缓存用于存储移动用户的高速缓存信息,该分布式高速缓存包括多个高速缓存项目,每个高速缓存项目具有该高速缓存信息的一相关部分,每个所述参与节点包括一相关本地存储器存储系统,该相关本地存储器存储系统用于存储包括本地高速缓存数据库的信息,该本地高速缓存数据库用于存储本地拥有的所述高速缓存项目,该方法包括以下步骤:
对于多个移动用户,从由每个移动用户所接触的第一节点,进行拓扑发现、维持以及分层建立子处理,以对于所述每个移动用户在网络中建立一节点分层,以便于在所述参与节点之间交换所述高速缓存项目,所述分层由多个同等组形成,每一个同等组包括所述参与节点的至少一个相关的成员;以及
进行分布式高速缓存同步功能,包括根据分布式高速缓存同步协议复制和发送所选择的所述高速缓存项目到其他的所述参与节点,所述分布式高速缓冲同步协议采用基于每个所述移动用户的当前位置的使用信息,用于确定所述发送,每个所述移动用户的当前位置与所选择的所述高速缓存项目相关联。
2、如权利要求1所述的管理分布式高速缓存的方法,
其中,每个所述参考节点被分配一同等组领导优先值,以及
其中,所述进行拓扑发现、维持和分层建立子处理的步骤还包括以下步骤:从一相关同等组的多个已知成员中确定一同等组领导,所述领导基于被分配给所述已知成员的优先值被确定。
3、如权利要求1所述的管理分布式高速缓存的方法,其中,所述进行拓扑发现、维持和分层建立子处理的步骤还包括以下步骤:产生并通过网络发送邻近问候消息,用于发现邻近节点。
4、如权利要求3所述的管理分布式高速缓存的方法,
其中,所述产生所述邻近问候消息的步骤包括产生承载以下信息的邻近问候消息:
源节点ID值,指示已发送该消息的源节点;
生存周期计数值,其被接收并转发所述邻近问候消息的网络的每个节点递减;
由此,接收一个所述邻近问候消息的所述参与节点中的一个接收参与节点可假设所述源节点为所述接收节点的邻近节点。
5、如权利要求4所述的管理分布式高速缓存的方法,
其中,所述每个邻近问候消息还包括一初始生存周期值,用于指示在发送所述邻近问候消息时,所述生存周期计数值被设定的初始值;
由此,接收一个所述邻近问候消息的所述参与节点中的一个接收参与节点可基于所述初始生存周期值确定与所述接收节点和所述源节点之间消息传播相关的跳跃数。
6、如权利要求3所述的管理分布式高速缓存的方法,其中,每个所述邻近问候消息还包括节点分层列表信息,所述节点分层列表信息包括:
一同等组ID值,用于指示所述节点为其成员的同等组;
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述已知成员的优先值确定的一相关同等组领导;和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值。
7、如权利要求3所述的管理分布式高速缓存的方法,其中,所述产生所述邻近问候消息的步骤包括根据邻近问候时间间隔产生邻近问候消息。
8、如权利要求4所述的管理分布式高速缓存的方法,
其中,每个所述参与节点在其相关本地存储器存储系统中存储一相关邻近列表,该相关邻近列表包括指示相关邻近节点的多个节点ID值;以及
还包括以下步骤:
接收承载一源节点ID值的邻近问候消息,该邻近问候消息指示已发送该消息的源节点;
将所述相关源节点ID值与所述邻近列表的每个所述节点ID值比较,以判断所述源节点是否为一新的邻近节点;以及
如果所述源节点为一新的邻近节点,则修改所述邻近列表以包括所述源节点ID值。
9、如权利要求3所述的管理分布式高速缓存的方法,
其中,每个所述参与节点在其相关本地存储器存储系统存储节点分层列表信息,所述节点分层列表信息包括:
一同等组ID值,用于指示所述相关逻辑节点为其成员的一相关同等组,
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述成员的优先值确定的一相关同等组领导,和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值,
还包括以下步骤:
接收来自一源节点的一个所述邻近问候消息;
访问来自所述相关本地存储器存储系统的所述节点分层列表信息;
比较由所述接收的邻近问候消息承载的该接收的节点分层列表和其自身的节点分层列表信息,以确定是否有公共的同等组;以及
如果确定至少有一个公共同等组,则对每一个相关的公共同等组,向位于物理节点上的逻辑节点所属的所述同等组的一相关同等组领导发送一新的同等组发现消息。
10、如权利要求1所述的管理分布式高速缓存的方法,其中,所述进行拓扑发现、维持和分层建立子处理的步骤还包括以下步骤:产生并通过该网络发送同等组问候消息至一相关同等组的每个同等组成员,用于确保该同等组信息的完整性。
11、如权利要求10所述的管理分布式高速缓存的方法,还包括以下步骤:
对于一相关同等组的每个特定的同等组成员,在收到来自所述特定同等组成员的同等组问候消息时,
存储指示该项目的寿命值的计数值,
周期性地递减该计数器,以及
如果所述计数器到达零,则声明所述特定同等组成员已不工作。
12、如权利要求10所述的管理分布式高速缓存的方法,其中,每个所述同等组问候消息还包括节点分层列表信息,所述节点分层列表信息包括:
一同等组ID值,用于指示所述节点为其成员的同等组;
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述已知成员的优先值确定的一相关同等组领导;和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值。
13、如权利要求1所述的管理分布式高速缓存的方法,其中,所述进行分布式高速缓存同步功能的步骤包括以下步骤:发送一高速缓存项目通告消息,用于向网络的所有其他参与节点通告至少一个特定的高速缓存项目现在位于一节点。
14、如权利要求13所述的管理分布式高速缓存的方法,其中,所述发送一高速缓存项目通告消息的步骤包括多点广播所述高速缓存项目通告消息。
15、如权利要求13所述的管理分布式高速缓存的方法,其中,所述特定高速缓存项目的每一个由唯一识别所述特定高速缓存项目的一相关密钥值指示。
16、如权利要求1所述的管理分布式高速缓存的方法,其中,所述进行分布式高速缓存同步功能的步骤包括以下步骤:发送一高速缓存项目取消消息,用于向网络的所有其他参与节点通告至少一个特定的高速缓存项目不再位于一节点。
17、如权利要求16所述的管理分布式高速缓存的方法,其中,所述发送一高速缓存项目取消消息的步骤包括多点广播所述高速缓存项目取消消息。
18、如权利要求16所述的管理分布式高速缓存的方法,其中,每个所述特定高速缓存项目由唯一识别所述特定高速缓存项目的相关密钥值指示。
19、如权利要求11所述的管理分布式高速缓存的方法,其中,如果自所述特定同等组成员收到最后一个同等组问候消息时所述预定时间间隔已过,则所述进行分布式高速缓存同步功能的步骤包括以下步骤:发送一节点取消消息,用于向网络的所有其他参与节点通告所述特定节点已不工作。
20、如权利要求1所述的管理分布式高速缓存的方法,其中,所述进行分布式高速缓存同步功能的步骤包括以下步骤:从源节点发送一高速缓存项目转移请求消息至该网络的目的参与节点,所述高速缓存项目转移请求消息请求将至少一个指定的高速缓存项目的所有权从所述目的地节点发送至所述源节点。
21、如权利要求20所述的管理分布式高速缓存的方法,其中,所述发送所述高速缓存项目转移请求消息的步骤包括通过点对点单点广播方式发送所述高速缓存项目转移请求消息。
22、如权利要求20所述的管理分布式高速缓存的方法,其中,每个所述指定的高速缓存项目由唯一识别所述指定高速缓存项目的相关密钥值指示。
23、如权利要求20所述的管理分布式高速缓存的方法,还包括以下步骤:
接收来自请求节点的高速缓存项目转移请求消息,所述高速缓存转移请求消息请求转移至少一个指定高速缓存项目的所有权至所述源节点;以及
向所述请求节点发送一高速缓存项目转移消息,所述高速缓存项目转移消息承载所述指定的高速缓存项目。
24、如权利要求1所述的管理分布式高速缓存的方法,其中,所述进行分布式高速缓存同步功能的步骤包括以下步骤:从源节点发送一高速缓存项目复制请求消息至该网络的一个目的参与节点,所述高速缓存项目复制请求消息请求将至少一个指定高速缓存项目的副本转移至所述源节点。
25、如权利要求24所述的管理分布式高速缓存的方法,其中,所述发送所述高速缓存项目复制请求消息的步骤包括通过点对点单点广播方法发送所述高速缓存项目复制请求消息。
26、如在权利要求25所述的管理分布式高速缓存的方法,其中,每个所述指定高速缓存项目由唯一地识别所述指定高速缓存项目的一相关密钥值指示。
27、如权利要求24所述的管理分布式高速缓存的方法,还包括以下步骤:
接收来自一请求节点的高速缓存项目复制请求,所述高速缓存项目复制请求消息请求将至少一个指定高速缓存项目的副本转移至所述源节点;及
将高速缓存项目复制消息发送至所述请求节点,所述高速缓存项目复制消息承载所述指定高速缓存项目的所述副本。
28、一种具有多个参与节点的网络,
所述参与节点根据用于管理分布式高速缓存的分布式高速缓存同步协议操作,所述分布式缓存包括每一个具有相关高速缓存信息的高速缓存项目,
每个所述参与节点包括一相关本地存储器存储系统,用于存储包括本地高速缓存数据库的信息,所述数据库用于存储本地拥有的所述高速缓存项目,
每个参与节点可操作来进行拓扑发现、维持以及分层建立子处理,以在网络中建立一节点分层;
每个所述参与节点可操作来复制并根据所述分布式高速缓存同步协议通过所述网络转移选择的所述高速缓存项目至其他所述参与节点,所述高速缓存同步协议用于支持需要访问所述分配式高速缓存的应用,所述分布式高速缓冲同步协议采用基于移动用户的当前位置的使用信息,所述移动用户的当前位置与所述选择的所述高速缓存项目相关联。
29、如权利要求28所述的网络,其中,每个所述参与节点可操作来执行拓扑发现、维持和分层建立处理,用于在网络中建立节点分层结构,所述分层结构使在所述参与节点之间的高速缓存信息的交换更加容易,所述分层结构包括多个同等组,每个同等组包括所述参与节点的至少一个相关的同等组成员。
30、如权利要求29所述的网络,
其中,所述分层结构包括多个逻辑层,
其中,每个所述同等组在一相关的所述层上操作,以及
其中,每个所述同等组具有相关的同等组领导。
31、如权利要求30所述的网络,其中,每个所述同等组领导包括:
第一逻辑节点,其作为相关的第一同等组的所述领导,和
第二逻辑节点,其作为第二同等组的成员,其中,在所述分层结构中,所述第二同等组在比所述第一同等组高的层上操作。
32、如权利要求31所述的网络,
其中,所述网络的每个所述参与节点被分配一相关的同等组领导优先值,且
其中,每个所述同等组的每个所述成员均参与同等组领导选择过程,其中,每个所述成员可操作来执行一过程,用于基于所述成员获知的每个同等组成员的同等组领导优先值从每个相关成员中本地地确定一同等组领导。
33、如权利要求32所述的网络,其中,每个所述参与节点在其相关本地存储器存储系统中存储节点分层列表信息,所述节点分层列表信息包括:
一同等组ID,用于指示所述节点为其成员的同等组;
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述已知成员的优先值确定的相关同等组领导;和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值。
34、如权利要求28所述的网络,其中,每个所述参与节点可操作来通过该网络发送邻近问候消息,用于发现邻近节点。
35、如权利要求28所述的网络,
其中,所述网络为一互联网协议网络,以及
其中,每个所述参与节点可操作来通过网络发送邻近问候消息,用于发现相关的邻近节点,
每个所述邻近问候消息具有:
一承载源节点ID值的互联网报头,该源节点ID值指示发送消息的源节点,和
生存周期计数值,其由接收和转发所述邻近问候消息的网络的每个节点递减,
每个所述邻近问候消息承载节点分层列表信息。
36、如权利要求28所述的网络,其中,所述邻近问候消息包括:
一源节点ID值,用于指示已发送该消息的源节点;
生存周期计数值,其由接收和转发所述邻近问候消息的网络的每个节点降低;
由此,接收一个所述邻近问候消息的一接收参与节点可假设所述源节点为所述接收节点的邻近节点。
37、如权利要求36所述的网络,
其中,每个所述邻近问候消息还包括一初始生存周期值,用于指示当发送所述邻近问候消息时所述生存周期计数值被设定的初始值;
由此,接收一个所述邻近问候消息的一个所述接收参与节点可基于所述初始生存周期值确定与在所述接收节点和所述源节点之间的传播相关的跳跃数。
38、如权利要求34所述的网络,其中,每个所述邻近问候消息还包括节点分层列表信息,其包括:
一同等组ID值,用于指示所述节点为其成员的同等组;
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述已知成员的优先值确定的相关同等组领导;和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值。
39、如权利要求34所述的网络,其中,所述产生所述邻近问候消息的步骤包括根据一邻近问候时间间隔产生邻近问候消息。
40、如权利要求34所述的网络,
其中,所述参与节点的每一个在其相关本地存储器存储系统中保存一相关邻近列表,该相关邻近列表包括指示相关邻近节点的多个节点ID;以及
其中,每个所述节点可操作执行以下步骤:
接收一邻近问候消息,其承载指示发送该消息的源节点的源节点ID值;
比较所述相关源节点ID值和所述邻近列表的每个节点ID值,以确定所述源节点是否为新的邻近节点;以及
如果所述源节点为新的邻近节点,则修改所述邻近列表使其包括所述源节点ID值。
41.如在权利要求34中所述的网络,
其中,所述参与节点的每一个在其相关本地存储器存储系统中保存节点分层列表信息,所述节点分层列表信息包括:
一同等组ID值,用于指示所述相关逻辑节点为其一成员的相关同等组;
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述成员的优先值确定的相关同等组领导;和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值,以及
其中,每个所述参与节点可操作执行以下步骤:
接收来自一源节点的一个所述邻近问候消息;
访问来自所述相关本地存储器存储系统的所述节点分层列表信息;
比较由所述接收到的邻近问候消息承载的该收到的节点分层列表和其拥有的节点分层列表信息,以确定是否有公共同等组;且
如果确定至少有一个公共同等组,则对于每个相关的公共同等组,向所述同等组的相关同等组领导发送一新的同等组发现消息,其中,位于物理层的逻辑节点属于所述同等组。
42、如权利要求28所述的网络,其中,所述每个参与节点还可操作来执行以下步骤:产生同等组问候消息并通过该网络将其发送至一相关同等组的每个同等组成员,用于确保同等组信息的完整性。
43、如权利要求40所述的网络,其中,每个所述参与节点还可操作来执行以下步骤:
对于一相关同等组的每个特定的同等组成员,在收到来自所述特定同等组成员的同等组问候消息时,
存储指示该项目的寿命值的计数器值,
周期地递减该计数器,以及
如果该计数器值达到零,声明所述特定同等组成员已不工作。
44、如权利要求40所述的网络,其中,每个所述同等组问候消息还包括节点分层列表信息,所述节点分层列表信息包括:
一同等组ID值,用于指示所述节点为其一成员的同等组;
一同等组领导ID值,用于指示由所述相关逻辑节点基于所述相关同等组的所述已知成员的优先值确定的一相关同等组领导;和
一同等组领导优先值,用于指示分配给所述相关同等组领导的领导优先值。
45、如权利要求28所述的网络,其中,每个所述参与节点还操作来发送一高速缓存项目通告消息,用于向网络所有其他的参与节点通告至少一个特定高速缓存项目目前正位于一节点。
46、如权利要求45所述的网络,其中,所述每个参与节点操作来通过多点广播所述高速缓存项目通告消息发送所述高速缓存项目通告消息。
47、如权利要求45所述的网络,其中,每个所述特定高速缓存项目由唯一地识别所述特定高速缓存项目的相关密钥值指示。
48、如权利要求28所述的网络,其中,每个所述参与节点还操作来发送一高速缓存项目取消消息,用于向网络的所有其他参与节点通告至少一个特定的高速缓存项目不再位于一节点。
49、如权利要求48所述的网络,其中,所述参与节点的每一个操作来通过多点广播所述高速缓存项目取消消息而发送所述高速缓存项目取消消息。
50.如权利要求42所述的网络,其中,如果自从所述特定同等组成员收到最后一个同等组问候消息时,所述预定时间间隔已经过去,则每个所述参与节点可操作来发送一节点取消消息,用于向网络的所有其他参与节点通告所述特定同等组成员已不工作。
51、如权利要求28所述的网络,其中,每个所述参与节点还操作来将一高速缓存项目转移请求消息从该源节点发送到该网络的一目的地参与节点,所述高速缓存项目转移请求消息请求将至少一个指定高速缓存项目的所有权从所述目的地节点转移至所述源节点。
52、如权利要求51所述的网络,其中,每个所述参与节点操作来通过点对点单点广播方法发送所述高速缓存项目转移请求消息。
53、如权利要求51所述的网络,其中,所述指定高速缓存项目的每一个由唯一地识别所述指定高速缓存项目的一相关密钥值指示。
54、如权利要求51所述的网络,其中,每个所述参与节点还操作执行以下步骤:
接收来自一请求节点的高速缓存项目转移请求消息,所述高速缓存项目转移请求消息请求将至少一个指定高速缓存项目的所有权转移至所述源节点;以及
发送一高速缓存项目转移消息至所述请求节点,所述高速缓存项目转移消息承载所述指定的高速缓存项目。
55、如权利要求28所述的网络,其中,每个所述参与节点还操作来将一高速缓存项目复制请求消息自源节点发送至该网络的一目的参与节点,所述高速缓存项目复制请求消息请求将至少一个指定高速缓存项目的副本从所述目的地节点转移至所述源节点。
56、如权利要求55所述的网络,其中,每个所述参与节点操作来通过点对点单点广播方法发送所述高速缓存项目复制请求消息。
57如权利要求55所述的网络,其中,每个所述指定高速缓存项目由唯一地识别所述指定高速缓存项目的相关密钥值指示。
58.如权利要求55所述的网络,其中,所述参与节点的每一个还操作来执行以下步骤:
接收来自一请求节点的高速缓存项目复制请求消息,所述高速缓存项目复制请求消息请求将至少一个指定高速缓存项目的副本转移至所述源节点;以及
发送一高速缓存项目复制消息至所述请求节点,所述高速缓存项目复制消息承载所述指定高速缓存项目的所述副本。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16688299P | 1999-11-22 | 1999-11-22 | |
US60/166,882 | 1999-11-22 | ||
US21034200P | 2000-06-07 | 2000-06-07 | |
US60/210,342 | 2000-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1451116A CN1451116A (zh) | 2003-10-22 |
CN1264091C true CN1264091C (zh) | 2006-07-12 |
Family
ID=26862646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00816029.5A Expired - Fee Related CN1264091C (zh) | 1999-11-22 | 2000-11-22 | 分布式高速缓存同步协议 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN1264091C (zh) |
TW (1) | TWI224917B (zh) |
WO (1) | WO2001038983A2 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010088742A (ko) * | 2001-08-28 | 2001-09-28 | 문의선 | 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법 |
US7301897B2 (en) | 2001-11-30 | 2007-11-27 | Motorola, Inc. | Method and apparatus for managing congestion in a data communication network |
US6975863B1 (en) * | 2001-12-11 | 2005-12-13 | Cisco Technology, Inc. | System and method for selecting a wireless serving node |
US7177641B1 (en) | 2002-01-11 | 2007-02-13 | Cisco Technology, Inc. | System and method for identifying a wireless serving node for a mobile unit |
US7366524B2 (en) | 2002-02-06 | 2008-04-29 | Ntt Docomo Inc. | Using subnet relations for paging, authentication, association and to activate network interfaces in heterogeneous access networks |
EP1526752B1 (en) * | 2002-02-06 | 2011-11-09 | Ntt Docomo, Inc. | Using subnet relations for authentication, association and to activate network interfaces in heterogeneous access networks |
US7143241B2 (en) | 2002-08-06 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Cache management in a mobile device |
US9342459B2 (en) | 2002-08-06 | 2016-05-17 | Qualcomm Incorporated | Cache management in a mobile device |
GB0218188D0 (en) * | 2002-08-06 | 2002-09-11 | Hewlett Packard Co | Methods and arrangements applicable to exhibition spaces |
US7571206B2 (en) | 2002-08-12 | 2009-08-04 | Equallogic, Inc. | Transparent request routing for a partitioned application service |
US7627650B2 (en) | 2003-01-20 | 2009-12-01 | Equallogic, Inc. | Short-cut response for distributed services |
US7461146B2 (en) | 2003-01-20 | 2008-12-02 | Equallogic, Inc. | Adaptive storage block data distribution |
US7127577B2 (en) | 2003-01-21 | 2006-10-24 | Equallogic Inc. | Distributed snapshot process |
US7937551B2 (en) | 2003-01-21 | 2011-05-03 | Dell Products L.P. | Storage systems having differentiated storage pools |
US8499086B2 (en) | 2003-01-21 | 2013-07-30 | Dell Products L.P. | Client load distribution |
US8037264B2 (en) | 2003-01-21 | 2011-10-11 | Dell Products, L.P. | Distributed snapshot process |
GB2433610B (en) * | 2005-12-21 | 2010-03-03 | Motorola Inc | Mobile Communication system and method |
WO2009100636A1 (zh) | 2008-02-05 | 2009-08-20 | Huawei Technologies Co., Ltd. | 电信网络用户数据存储管理的方法及装置 |
TW201117097A (en) * | 2009-11-10 | 2011-05-16 | Jade Quantum Technologies Inc | Collaborative distributed cache device and method for speeding up remote booting of diskless system |
TWI582572B (zh) * | 2009-12-17 | 2017-05-11 | 東芝股份有限公司 | 半導體系統、半導體裝置及電子裝置初始化方法 |
CN101764824B (zh) * | 2010-01-28 | 2012-08-22 | 深圳市龙视传媒有限公司 | 一种分布式缓存控制方法、装置及系统 |
CN102377809A (zh) * | 2010-08-24 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 客户端读取云存储空间数据的方法 |
CN103348656B (zh) * | 2011-02-08 | 2016-08-17 | 瑞典爱立信有限公司 | 用于在蜂窝网络中高速缓存自适应http流传输内容的移动性支持的方法和系统 |
CN102810115B (zh) * | 2012-06-19 | 2014-10-22 | 公安部交通管理科学研究所 | 一种多层分布式文档管理体系的实现方法 |
CN104142896B (zh) * | 2013-05-10 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 一种缓存控制方法和系统 |
US9684596B2 (en) * | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Application cache replication to secondary application(s) |
US10387309B2 (en) | 2015-10-14 | 2019-08-20 | Elastifile Ltd. | High-performance distributed caching |
US20180189701A1 (en) * | 2016-12-29 | 2018-07-05 | General Electric Company | Distributed cache cleanup for analytic instance runs processing operating data from industrial assets |
CN111885110B (zh) * | 2020-06-23 | 2022-07-19 | 合肥富煌君达高科信息技术有限公司 | 一种信号同步系统的拓扑结构自动获取方法 |
TWI746261B (zh) * | 2020-11-12 | 2021-11-11 | 財團法人工業技術研究院 | 基於對話類型的快取管理方法及系統 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4887204A (en) * | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US4897781A (en) * | 1987-02-13 | 1990-01-30 | International Business Machines Corporation | System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
JPH0950400A (ja) * | 1995-08-10 | 1997-02-18 | Nec Corp | マルチプロセッサシステム |
US6092155A (en) * | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
US6188695B1 (en) * | 1997-12-18 | 2001-02-13 | Ericsson Inc. | System and method for multi-node data synchronization |
-
2000
- 2000-11-22 CN CN00816029.5A patent/CN1264091C/zh not_active Expired - Fee Related
- 2000-11-22 WO PCT/US2000/032300 patent/WO2001038983A2/en active Application Filing
-
2001
- 2001-03-06 TW TW089124824A patent/TWI224917B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1451116A (zh) | 2003-10-22 |
WO2001038983A3 (en) | 2001-10-04 |
WO2001038983A2 (en) | 2001-05-31 |
TWI224917B (en) | 2004-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1264091C (zh) | 分布式高速缓存同步协议 | |
US6810259B1 (en) | Location update protocol | |
CN1209898C (zh) | 在具有移动终端的分组交换网络中的路由选择 | |
CN1170390C (zh) | 控制路由选择的方法 | |
CN1148918C (zh) | 电信路由选择方法 | |
US7269425B2 (en) | Location management system and a paging server in a wireless IP network | |
CN1153486C (zh) | 在移动通信系统中向移动用户分配网络业务和资源的方法 | |
CN1287578C (zh) | 一种通过路由服务器实现用户异地漫游业务的系统及方法 | |
JP5346516B2 (ja) | どのデバイスがデータを管理すべきであるかを判断する方法及び装置、並びにコンピュータプログラム | |
US8942167B2 (en) | Methods, apparatus and computer readable medium for seamless internet protocol multicast connectivity in unified networks | |
CN1471785A (zh) | 电信路由选择 | |
US20060119882A1 (en) | Providing presence information in a communication network | |
US20080261580A1 (en) | Controlled Temporary Mobile Network | |
CN1926820A (zh) | 在无线多跳网络中使用ndp检测邻节点的方法、通信装置和系统 | |
CN101036174A (zh) | 使用基于核心的节点进行状态传输的增强技术 | |
CN1879357A (zh) | 无服务器和无交换机因特网协议电话系统和方法 | |
CN1489066A (zh) | 通信系统,通信服务器与通信方法 | |
CN1435027A (zh) | 用于移动特设网络的移动ip | |
JP2005531981A (ja) | 複数の無線送受信ユニットとのパーソナル通信を円滑にするシステム | |
CN1489870A (zh) | 用于为无线设备提供路由协议的方法和系统 | |
CN1627760A (zh) | 用于无线多跳专门网络的协议 | |
US8068870B2 (en) | Enterprise location discovery in dual-mode phones | |
WO2007146404A2 (en) | Moving networks information server | |
CN1207854A (zh) | 将呼叫自动路由选择到多模式收发机的系统及方法 | |
US20070058653A1 (en) | Method and apparatus for efficient assigning of addresses for a mobile station |
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 | ||
CI01 | Publication of corrected invention patent application |
Correction item: Inventor Correct: Zhang Haiying False: Zhang Haiying Number: 28 Page: 964 Volume: 22 |
|
CI03 | Correction of invention patent |
Correction item: Inventor Correct: Zhang Haiying False: Zhang Haiying Number: 28 Page: The title page Volume: 22 |
|
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |