蜂窝网络中的连续高速缓存服务的制作方法

文档序号:7990328阅读:293来源:国知局
蜂窝网络中的连续高速缓存服务的制作方法
【专利摘要】本申请涉及蜂窝网络中的连续高速缓存服务。提供了用于把对象传送到移动设备的技术。响应移动设备从由第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,第一高速缓存把存储在第一高速缓存中的对象传送到第二高速缓存。第一高速缓存向第二高速缓存传送使第二高速缓存把对象转发到第二区域中的移动设备的指令。
【专利说明】蜂窝网络中的连续高速缓存服务
【技术领域】
[0001]示例性实施例涉及通信,而且更具体地说,涉及网络中的通信。
【背景技术】
[0002]蜂窝网络是经称为小区的陆地区域分布的无线电网络,每个小区都由至少一个固定位置的收发器(称为蜂窝站或者基站)提供服务。当结合到一起时,这些小区对广大的地理区域提供无线电覆盖。这使得大量便携式收发器(例如,包括智能电话在内的移动电话和移动计算机)能够经基站彼此通信并且与网络中任何地方的固定收发器和电话通信,即使有些收发器在传送过程中移动通过多于一个小区也是如此。
[0003]如今,3G网络(以及4G网络)提供高速数据传输。这允许各种各样的手机特征,例如高速互联网、音频与视频流传输、和甚至视频会议。3G网络采用各种无线技术,例如W-CDMA、W1-MAX、CDMA (码分多址访问)2000、EDGE (GSM (全球移动通信系统)增强数据率演进或者全球增强数据率演进)等。

【发明内容】

[0004]根据一种示例性实施例,提供了一种用于把对象传送到移动设备的方法。响应移动设备从由第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,第一高速缓存把存储在第一高速缓存中的对象传送到第二高速缓存。第一高速缓存向第二高速缓存传送使第二高速缓存把对象转发到第二区域中的移动设备的指令。
[0005]根据一种示例性实施例,提供了一种用于把对象传送到移动设备的方法。响应移动设备从由存储相同对象的第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,第二高速缓存从第一高速缓存接收所述相同对象的传送上下文。第二高速缓存本地存储与第一高速缓存相同的对象。根据从第一高速缓存接收到的传送上下文,第二高速缓存把本地存储在第二高速缓存中的相同对象传送到第二区域中的移动设备。
[0006]根据一种示例性实施例,提供了一种用于把对象传送到移动设备的系统。所述系统包括网络以及配置成经网络进行通信并且存储对象的第一高速缓存。响应移动设备从由第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,第一高速缓存配置成把存储在第一高速缓存中的对象传送到第二高速缓存。第一高速缓存配置成向从第一高速缓存接收对象的第二高速缓存传送指令,其中所述指令使第二高速缓存把对象转发到第二区域中的移动设备。
[0007]附加的特征是通过本公开内容的教义实现的。根据其它实施例的其它系统、方法、装置和/或计算机程序产品在本文具体描述并且被认为是所保护的发明的一部分。为了更好地理解示例性实施例与特征,参考描述与附图。
【专利附图】

【附图说明】[0008]被认为是本发明的主题在本说明书结束部分的权利要求中特别指出并明确地要求保护。结合附图阅读以下具体描述,本公开内容的上述及其它特征是显然的,其中:
[0009]图1绘出了根据一种示例性实施例的用于连续高速缓存内容服务的系统。
[0010]图2绘出了根据一种示例性实施例的用于连续高速缓存内容服务的系统。
[0011]图3绘出了根据一种示例性实施例的用于高速缓存内容服务的系统。
[0012]图4绘出了根据一种示例性实施例的用于高速缓存内容服务的系统。
[0013]图5绘出了根据一种示例性实施例的用于移动性支持过程的流程图。
[0014]图6绘出了根据一种示例性实施例的用于移动性支持过程的流程图。
[0015]图7绘出了根据一种示例性实施例的示例覆盖网络的图。
[0016]图8绘出了根据一种示例性实施例的示例覆盖网络的图。
[0017]图9绘出了具有根据一种示例性实施例可以利用的特征的计算系统。
[0018]图10绘出了为移动设备提供通信服务的3G蜂窝网络系统。
【具体实施方式】
[0019]3G蜂窝网络1000可以包括按层次结构组织的各种设备,例如图10中所绘出的结构。在图10中,依赖特定蜂窝网络标准称为移动站(MS)或用户设备(UE)的移动设备10(例如,蜂窝电话、智能电话等)经无线通信链路连接到一个或几个基站。基站(BS),有时候在CDMA2000中称为基站收发器系统(BTS)或者在UMTS (通用移动通讯系统)中称为节点B,负责经无线链路为多个移动设备提供服务,而BS本身连接到基站控制器(BSC)(在UMTS中也称为RNC (无线电网络控制器))并受其控制。RNC (或BSC)负责控制多个节点B (BTS),而且RNC本身连接到蜂窝网络的核心网络中的网关节点并受其控制。RNC常常维持到其它RNC的通信链路。网关节点负责控制多个RNC并且负责把数据业务从移动设备发送到公共网络(例如,互联网)和从公共网络发送到移动设备。依赖于特定的蜂窝网络体系结构,RNC受多个网关节点(例如,UMTS中的服务通用分组无线电服务(GPRS )支持节点(SGSN)与网关GPRS支持节点(GGSN))的控制或者RNC受单个设备(例如,CDMA2000中的分组数据服务节点(PDSN))控制。
[0020]在蜂窝网络术语中,移动设备、基站和无线电网络控制器一起构成称为无线电接入网络(RAN)的子系统,而网关节点的子系统称为核心网络(CN)。在以上的体系结构下,移动设备10可以通过RAN和CN中的设备与公共网络中的设备通信,以便例如从互联网中的服务器15检索内容(例如,文件、流传输视频、软件应用等)。此外,蜂窝网络的层次结构使移动设备能够无缝地从互联网中的服务器(例如,服务器15)检索内容,即使当移动设备从被一个基站覆盖的位置移动到被另一个基站覆盖的另一个位置时也是如此。
[0021]利用高速无线蜂窝接入网络(例如,像W-CDMA (宽带码分多址访问)与UMTS (通用移动通讯系统))和支持互联网协议(IP)应用的高端蜂窝用户设备(例如,智能电话、平板PC等)的增殖,移动网络运营商越来越多地面对在它们的主干网络链路中(也称为无线电接入网络)和它们的核心网络中需要高带宽的聚集业务需求。在有线网络中,在终端用户附近的网络边缘在应用层中高速缓存内容(例如,通过http请求-响应检索出的数据)是一种有效的解决办法并且在本地为用户提供服务(利用本地服务器代替从具有原始内容的远端服务器提供内容)不仅减小了后端网络中的负荷,而且就减小的延迟而言改善了终端用户的体验。
[0022]根据示例性实施例,本文讨论的一种方法提供了在蜂窝网络的无线电接入网络(RAN)中,即,在蜂窝网络中的基站(BS)或者在基站控制器(BSC),具有高速缓存服务器的效果,其中终端用户可以从一个基站的覆盖范围移动到另一个基站的覆盖范围。在有些情况下,基站(BS)在GSM和CDMA2000中可以被称为基站收发器(BTS),在UMTS中被称为节点B (Node B),在LTE (长期演进)中被称为eNodeB,等等;而且,基站控制器(BSC)在UMTS中可以被称为RNC (无线电网络控制器)。由BS和BSC组成的子系统也可以被称为BSS (基站子系统)或RAN (无线电接入网络)。应当理解,位于特定蜂窝网络设备(例如,BS或RNC)的高速缓存服务器可以实现为那个蜂窝网络设备中的计算与存储元件,作为通过它们之间的通信链路连接到所述蜂窝网络设备的独立设备,和/或作为以上所述的组合。我们在这里使用术语“位于设备X的高速缓存服务器”或者“位于X的高速缓存”(例如,位于BS的高速缓存)来指与某个网络设备X共同定位的高速缓存服务器的任何可能的实现。
[0023]以下场景是为了解释的目的说明的,而不是限制。假定在蜂窝网络中连接到基站BSl的移动用户利用TCP/IP协议之上的HTTP (超文本传输协议)请求从互联网中的服务器请求内容(例如,html文件、视频文件、音频文件、音频/视频文件等)。位于BSl的高速缓存服务器,充当代理服务器,终止用户的TCP/IP连接、截取HTTP请求,并且如果它具有所请求内容的拷贝的话,该BSl就在到该用户的TCP/IP连接之上开始利用HTTP响应向发出请求的用户发送内容(否则,BSl就朝着原始拷贝的服务器向上游节点转发请求)。现在,在利用打开的TCP连接接收内容的同时,移动设备的用户移动到一个新的基站BS2,使用户不能够继续从位于BSl的高速缓存服务器接收内容。
[0024]位于BS2的高速缓存服务器,既没有注意到TCP连接状态也没有注意到该TCP连接上发送的内容,将不能够为移动用户提供服务,不管位于BS2的高速缓存服务器是否具有与用户已经从位于BSl的高速缓存开始接收的相同内容。即使BS2简单地把从用户接收到的所有(未知的)TCP分组都转发到(互联网中)原始拷贝的服务器,原始服务器也不能确定该TCP分组的上下文,从而使用户不能够继续接收所请求的内容。应当理解,以上场景中HTTP与TCP/IP的使用仅仅是为了解释,而且涉及其它会话层和传输层协议,例如RTSP (实时流传输协议)、RTP (实时传输协议)、UDP (用户数据报协议)等,的类似场景也同样适用于说明性例子。
[0025]示例性实施例配置成提供可以在以上情形、类似情形以及其它情形中把高速缓存的内容无缝地提供给移动用户的技术。例如,如果相同的内容存在于位于移动用户的(连接到和/或与新基站关联的)新位置的高速缓存服务器中,则位于(连接到和/或与旧基站关联的)旧位置的高速缓存把内容的标识符与当前的传送协议状态发送到新高速缓存,使得新高速缓存可以从其本地储存器为用户提供服务。另一方面,如果相同的内容不存在于位于移动用户新位置的高速缓存中,则位于旧位置的高速缓存发现新位置并且继续沿着与其它高速缓存形成的路径从其本地储存器向移动用户发送内容。
[0026]而且,示例性实施例配置成检测用户的用户移动性状态。例如,位于新位置的高速缓存一接收到具有未被识别的传送上下文的分组(例如,没有SYN、TCP ACK等的普通TCP分组,这对于旧基站是未知的),位于移动用户新位置的高速缓存就发现(例如,发送发现请求以便发现)位于用户旧位置的高速缓存;而且,如果发现了旧高速缓存,新高速缓存就请求把传送上下文和/或内容从所发现的旧高速缓存发送到新高速缓存。在另一个例子中,旧高速缓存一检测到用户移交到另一个位置,位于用户旧位置的高速缓存就发现(发送发现请求以便发现)位于新位置的新高速缓存;如果发现了新高速缓存,旧高速缓存就把传送上下文或内容发送到新高速缓存。
[0027]根据示例性实施例,高速缓存(例如,高速缓存服务器)可以在现有的蜂窝网络元件之上形成覆盖网络。高速缓存可以利用现有的蜂窝网络协议彼此通信,以便在蜂窝网络元件之间获取交换与高速缓存之间高速缓存的内容发现与输送有关的信息的数据信道和带宽。特别地,这些过程对于移动用户和移动网络基础设施都是透明的。
[0028]现在,转向附图,图1和2绘出了根据一种示例性实施例的、当高速缓存服务器部署在RNC时的连续高速缓存内容服务,其中直接通信链路(例如,IP连接35)存在于高速缓存之间。在图1中,系统100包括诸如RNCl和RNC2的多个RNC。每个RNC (诸如RNCl和RNC2)包括通信设备以及包括在其中或者附连到其的具有硬件与软件的计算设备(例如,高速缓存服务器)。而且,例如节点BI和节点B2的每个节点B都包括连接到天线的通信设备并且分别连接到RNCl和RNC2。在这种实施例中,每个节点B简单地充当普通的中继设备,在移动设备与它所连接到的RNC之间转发数据业务。
[0029]移动设备10 (例如,智能电话/蜂窝电话)最初在位置X,在这个例子中位置X是由节点BI提供服务的,节点BI又在RNCl的控制之下。然后,移动设备10的用户移动到位置Y,在这个例子中位置Y是由节点B2提供服务的,节点B2又在RNC2的控制之下。但是,在仍然处于由节点BI提供服务的位置X的时候,移动设备10从服务器15,例如,在互联网上,请求了内容5;服务器15可以代表在互联网上运行的一个或多个服务器。为了实现来自移动设备10的这种请求,节点BI配置成把对内容5的这个请求中继到无线电网络控制器(RNCl)(也称为基站控制器)。位于RNCl的高速缓存服务器A配置成截取由移动设备10发送的对内容5的请求。
[0030]如果内容5没有存储在其存储器30中的本地高速缓存25,则RNCl配置成经网关20从服务器15请求内容5。网关20代表作为例如UMTS中的SGSN (服务GPRS (通用分组无线电服务)支持节点)和GGSN (网关GPRS支持节点)操作的硬件与软件,并且配置成在其控制之下把数据从RNC转发到互联网中的服务器并从互联网中的服务器转发到RNC。当RNCl经网关20从服务器15接收到内容5时,RNCl可以把内容5存储/高速缓存在其本地高速缓存25 ;RNC1把内容5传送到节点BI,节点BI又把内容5中继到移动设备10。
[0031]当RNCl从移动设备10接收到对内容5的请求时,内容5可能存在于RNCl的本地高速缓存25中,因为相同的内容5被某个其它移动设备请求、从服务器15接收并且存储在本地高速缓存25中。在这种情况下,RNCl开始把高速缓存的内容5朝移动设备10传送,而且节点BI开始把来自RNCl的内容5中继到移动设备10。
[0032]在这个例子中,当节点BI向移动设备10发送(B卩,中继)内容5时,移动设备10移动到由节点B2提供服务的位置Y,节点B2连接到RNC2并在其控制之下。在过渡到位置Y的时候,节点BI并且由此RNCl把对移动设备10的服务切换(移交)到节点B2和RNC2。因为在位置Y中(在这个例子中)节点BI可能不再具有与移动设备10通信的范围/能力,所以现在节点B2与RNC2将开始为移动设备10提供服务。但是,在移动设备10超出范围之前(即,在被节点B2与RNC2覆盖的位置Y中),RNC1与节点BI还没有完成向移动设备10传送内容5。
[0033]当移动设备10被切换到由RNC2提供服务的位置时,RNCl配置成,连同识别移动设备10的信息和传送上下文(包括内容标识与TCP/IP状态)一起,把高速缓存在高速缓存25中的内容5转发到RNC2 (例如,高速缓存服务器B)。在移动设备10处于位置Y的覆盖范围的时候,RNC2 (根据指令)把内容5经节点B2传送到移动设备10,而不需要RNC在互联网上从服务器15 (再次)请求内容5。RNCl和RNC2是通过IP连接35连接的而且可以经IP连接35彼此通信。
[0034]在一种实现中,RNC2可以从RNCl接收内容5并且把内容5存储在存储器31中的高速缓存26中。然后,RNC2可以把内容5传送到节点B2,而且节点B2可以把内容5中继到在位置Y被覆盖的移动设备10。此外,和/或作为替代,在另一种实现中,RNC2可以从RNCl接收内容5,而不在其高速缓存26中高速缓存内容5。相应地,RNC2可以经节点B2把内容5转发到移动设备10。预期这些实现可以组合,以便以任何期望的方式把内容5提供给移动设备10。
[0035]虽然为了简洁只示出了一个移动设备10,但是每个节点B (例如节点BI和节点B2)都配置成同时为其各自范围(例如,位置X或Y)内的众多移动设备提供服务。应当理解,如本文所讨论的那样维持连续高速缓存不限于单个移动设备10,而是适用于众多移动设备10。而且,例如RNCl和RNC2的每个RNC (连同图3和4中的RNC3 —起)都配置成同时管理和控制众多节点B而不限于单个节点B。
[0036]应当指出,无线电网络控制器(RNC)是UMTS无线电接入网络中的掌控元件并且负责控制连接到其的节点B。RNC执行无线电资源管理、执行移动性管理功能而且是在用户数据发送到移动设备或者从移动设备发送之前进行加密的地方。RNC通过例如媒体网关(MGff)连接到电路交换核心网络并且连接到分组交换核心网络中的SGSN (服务GPRS支持节点)。
[0037]当被存储/高速缓存时,内容5可以是一个或多个数据对象。对象的例子包括视频与音频内容、音频内容、视频内容、媒体、文件、下载、流传输内容、游戏内容、软件应用等。
[0038]转向图2,示出了根据一种示例性实施例的用于内容传送上下文的系统200,其中新高速缓存也包含内容。
[0039]如图1中所讨论的,移动设备10最初位于由节点BI提供服务的位置X,而且移动设备10移动到由节点B2提供服务的位置Y。类似地,移动设备10经节点BI请求位于服务器15的内容5,而且节点BI把该请求转发到RNCl。RNCl从节点BI接收请求,并且(i)经网关20在互联网上从服务器15请求内容5、从服务器15接收内容5并且可以把内容5存储在其本地高速缓存25中,和/或(ii)从其本地高速缓存25检索内容。然后,RNCl开始经节点BI向移动设备10传送内容。如以上所提到的,RNCl和RNC2可以分别包括高速缓存服务器A和B的硬件与软件和/或可以是高速缓存服务器A和B。
[0040]当RNCl开始向处于覆盖位置X的移动设备10传送内容5时,RNCl在传输协议连接(例如TCP/IP)上传送内容5。RNCl和RNC2每个可以分别包括TCP/IP堆栈40、41 (BP,如本领域技术人员所理解的,用于实现TCP协议与IP协议的软件应用)。当RNCl把内容5的分组传送到移动设备10时,移动设备10移动到节点B2覆盖的位置Y。在过渡到位置Y的时候,节点B1/RNC1把对移动设备10的服务切换到节点B2/RNC2。在这个例子中,RNC2的新高速缓存(例如,高速缓存26)已经存储了存储在RNCl的旧高速缓存(例如,高速缓存25)中的相同内容5。例如,内容5可以已经为先前处于由节点B2提供服务的位置Y的移动设备存储在存储器31中。由于内容5已经存储在RNC2的存储器31中的高速缓存26中,因此RNCl转发在本次传送被中断之前所发生的用于内容5分组传送的传送上下文。因此,RNCl不需要把内容5本身发送到RNC2,因为RNC2存储了它自己的拷贝(例如,在高速缓存服务器B中的存储器31中)。RNC2从RNCl接收对应于未完成的内容5传输的传送上下文。用于内容5的传送上下文可以包括内容ID (这可以是识别HTTP协议中所使用的所请求内容5的(对应)位置的URL (统一资源定位符))、RNCl停止(剩下)的内容的偏移位置(例如,从文件开始的字节计数)、TCP状态/传送状态(这可以是构成内容5的分组的序列号)和/或移动设备10的标识符,例如电话号码、移动设备的IP地址与端口号和/或国际移动用户识别码(MSI)。在一种实现中,从RNCl发送到RNC2的TCP状态可以包括被确认为由移动设备10成功接收到的最后一个分组序列号、被确认为由移动设备10成功接收到的最后一组分组序列号和/或被确认为由移动设备10成功接收到的所有分组序列号;在以上任何一个例子中,分组序列号都可能还没有被确认为由移动设备10接收到。内容5的TCP状态可以对应于在从RNCl发送到(位于位置X的)移动设备10的过程中开始但是当移动设备10移动到由RNC2提供服务的位置Y时中断的未完成的(构成内容5的)分组传输。对于内容5,TCP状态提供了从RNCl到移动设备10的当前传输状态。在一个例子中,TCP状态可以指示所有分组序列号都已经被移动设备10接收(确认),和/或除最后的(例如,10个、20个...50个、60个)组之外的所有分组序列号都已经被移动设备10在处于RNCl覆盖的位置X时接收(确认)。
[0041]响应接收到用于未完成的内容5传输的传送上下文,RNC2 (根据该传送上下文)把本地存储在其高速缓存26中的内容5传输到现在由覆盖位置Y的节点B2提供服务的移动设备10,而不需要从服务器15或者从RNCl请求内容5。RNC2可以命令(推)节点B2把本地存储的内容5传输到移动设备10,和/或节点B2可以从RNC2请求(拉)要发送到移动设备10的内容5。
[0042]在一种实现中,RNC2的TCP/IP堆栈41可以接收并利用TCP状态(S卩,传送状态)继续从(中断之前)RNCl的TCP/IP堆栈剩下的地方开始传输内容5的分组。例如,TCP/IP堆栈41可以配置成在被移动设备10成功确认的最后一个分组序列号和/或最后一个分组序列号之前几个分组(例如,5个、10个、15个...30个等)继续传输内容5的分组。附加地和/或作为替代,TCP/IP堆栈41可以重新传输构成内容5的所有分组,包括移动设备10成功确认的分组序列号,和/或可以重新传输被移动设备10成功确认的一部分分组序列号。另夕卜,附加地和/或作为替代,在一种实现中,RNCl中的TCP/IP堆栈40可以配置成命令RNC2中的TCP/IP堆栈41在某个(识别出的)分组序列号开始传送内容5的分组。
[0043]而且,如果因为RNC2不本地存储内容5而使得内容5(没有被确认为由节点BI中的移动设备10接收的分组)和传送上下文都从RNCl发送,则RNC2中的TCP/IP堆栈41配置成根据该传送上下文(即,TCP状态)传输构成内容5的分组,例如,使得不是所有分组都需要重新发送到移动设备10和/或使得只有未经确认的分组序列号发送到节点B2中的移动设备10。
[0044]图3和4绘出了根据一种示例性实施例的当高速缓存之间不存在直接链路时的高速缓存内容服务。在这种实施例中,例如节点BI和节点B2的每个节点B都包括通信设备以及具有硬件与软件的计算设备(包括高速缓存服务器),而且节点B连接到RNC3并且受其控制。此外,RNC3也包括通信设备以及包括高速缓存服务器的计算设备。如以上所讨论的,在节点BI还没有完成把内容5的分组发送到移动设备10的过程的时候,移动设备10从由位于节点BI的高速缓存服务器提供服务的位置X移动到由位于节点B2的高速缓存服务器提供服务的位置Y。为图1和2讨论的细节可以应用到图3和4,但是为了简洁,不是所有细节都重复。
[0045]图3中的系统300包括为节点BI和节点B2连同未示出的其它节点B提供服务的RNC3。节点BI可以包括在存储内容5的存储器330中具有高速缓存325的计算设备A。节点B2可以包括在存储器331中具有高速缓存326的计算设备B,而高速缓存326 (最初)可能不包含内容5。如为图1和2所讨论的,节点BI可以经网关20和RNC3 (例如,高速缓存服务器C)从服务器15接收内容5。
[0046]当移动设备10从由节点BI提供服务移动到节点B2时,节点BI处于向移动设备10传输内容5的过程当中。由于节点BI在其自己的高速缓存325中存储了内容5,因此节点BI经公共的RNC3把内容5 (例如,一个拷贝)从高速缓存325传输到节点B2的存储器331中的高速缓存326。节点B2可以可选地在转发到位于位置Y的移动设备10之前和/或期间高速缓存内容5的拷贝。同样,RNC3可以可选地在转发到节点B2之前存储内容5的拷贝,和/或RNC3可以先前已经在存储器310的高速缓存305中高速缓存了内容5的拷贝。因此,节点BI可以命令或者使RNC3把其本地存储在高速缓存305中的内容5转发到节点B2。
[0047]在一种实现中,节点B2可以请求RNC3从节点BI中的高速缓存325检索内容5的拷贝,例如,在从节点BI接收到用于移动设备10的移交信息后。附加地和/或作为替代,在另一种实现中,节点BI可以命令或者使RNC3把内容5的拷贝从高速缓存325转发(中继)到节点B2,使得节点B2可以把内容5发送到移动设备10。在把内容5转发到节点B2之前和/或期间,RNC3可以可选地为其自己把内容5的拷贝高速缓存在RNC3的存储器310中的高速缓存305中。而且,节点B2可以经RNC3从节点BI接收用于内容5的传送上下文信息(例如,不接收内容5);相应地,节点B2可以随后请求经RNC3从节点BI中的高速缓存325请求(拉)内容5的拷贝,和/或如果已经被RNC3存储的话,从高速缓存305请求内容5的拷贝。
[0048]现在参考图4,图4绘出了根据一种示例性实施例的内容传送上下文从一个节点B到另一个节点B的传输。在系统400中,内容5存储在节点BI中的高速缓存325中而且也存储在节点B2中的高速缓存326中。当移动设备10从为位置X提供服务的节点BI切换到为位置Y提供服务的节点B2时,节点BI把用于内容5的传送上下文发送到节点B2。如以上所讨论的,传送上下文(信息)可以包括内容ID和TCP状态,这提供了关于节点BI向移动设备10发送构成内容5的分组的未完成过程的信息。例如,节点BI中的TCP/IP堆栈340可以向节点B2中的TCP/IP堆栈341传送所述传送上下文(对应于节点BI到节点B2未完成的内容5传输)。虽然没有重复,但是对于TCP/IP堆栈40、41的各种讨论分别可以应用到 TCP/IP 堆栈 340,341ο
[0049]在一种实现中,节点Β2的TCP/IP堆栈341可以接收并利用TCP状态(信息),以便从(中断之前)节点BI的TCP/IP堆栈340停止的地方继续传输内容5的分组。例如,如以上所讨论的,TCP/IP堆栈341可以配置成在被移动设备10成功确认的最后一个分组序列号和/或在成功确认的最后一个分组序列号之前几个分组(例如,5个、10个、15个...30个,等等)继续传输内容5的分组。附加地或者作为替代,TCP/IP堆栈341可以重新传输构成内容5的所有分组,包括移动设备10成功确认的分组序列号,和/或可以重新传输被移动设备10成功确认的一部分分组序列号。另外,在一种实现中,节点BI中的TCP/IP堆栈340可以配置成命令节点B2中的TCP/IP堆栈341在某个(识别出的)分组序列号开始传送内容5的分组。
[0050]节点B1、节点B2、RNC1、RNC2和RNC3全都利用软件应用(计算指令)和硬件(包括处理器、输入、输出等)配置成如本文所讨论的那样运行和操作。此外,节点B1、节点B2、RNC1、RNC2和RNC3可以包括任意一个或多个射频发送器、接收器、功率放大器、编码器/解码器、多路复用器/多路分离器、控制功能等。
[0051]转向图5,图5根据一种示例性实施例、在流程图500中说明了用于在利用移动设备10的用户目标位置的高速缓存服务器和/或计算设备的移动性支持过程。
[0052]在节点BI还没有完成把内容5的分组传输到移动设备10的时候,移动设备10从由节点BI提供服务的位置X移动到由节点B2提供服务的位置Y (其中节点B2是目标位置Y)。内容5可以(在某个点)高速缓存在高速缓存25、26、305、325、326中。
[0053]各种操作都可以由RNC2 (例如,高速缓存服务器B)和/或由节点B2 (例如,也称为高速缓存服务器的计算设备B)执行。有时候,节点B2/RNC2可以用于代表可以由节点B2和/或由RNC2执行的操作而且可以代表可以在节点B2与RNC2之间传递以便执行操作的指令。而且,应当指出,由RNC2执行的任何操作都可以由如图3和4中所述的RNC3(例如,高速缓存服务器C)执行。
[0054]在方框502,节点B2/RNC2配置成截取从移动设备10进入的分组。例如,移动设备10可以发送继续接收内容5的分组的请求消息、可以发送移动设备10没有接收到最后的分组的消息、可以发送内容5的分组接收不完整的消息、而且可以发送没有由节点B2识别的基础的未识别传送上下文(例如,不带SYN、TCP ACK等的普通TCP分组)等等。这些截取的从移动设备10进入的(关于内容5的)分组利用未知的传送上下文发送到节点B2。
[0055]在方框504,节点B2/RNC2配置成确定用户传送上下文(信息)是否已经为这个移动设备10存在于其本地高速缓存26、326中。如果是,则节点B2/RNC2继续为移动设备10提供服务的正常操作,因为用户传送上下文的存在指示例如内容5的下载是在移动设备10处于被节点B2覆盖的位置Y中的时候。
[0056]如果在方框504结果是否,则在方框508,节点B2/RNC2配置成为移动设备10的用户发现包含内容5的原始高速缓存(例如,高速缓存25、325)。这可以通过例如节点B2/RNC2发送和/或节点B2命令RNC2向RNC与节点B中的邻居高速缓存(例如,高速缓存服务器)发送发现请求消息(带用户ID,例如电话号码)来实现。发现请求消息使邻居高速缓存(例如,高速缓存服务器)从它们各自的高速缓存搜索该用户ID,以便确定该邻居高速缓存服务器/计算设备是否在向移动设备10提供服务(和/或曾经提供服务)。例如,在节点B(1-N)和/或RNC (1-N)中可能存在邻居高速缓存服务器/计算设备,而且当前的节点B2/RNC2向这些邻居发送发现请求消息。节点B(1-N)和/或RNC(1-N)代表众多节点B和RNC而且可以类似于图1-4中所描述的节点B和RNC。而且,例如,节点B2/RNC2可以发送发现请求消息,该消息指示它正在进行搜索,以期发现例如存储内容5的任何高速缓存(例如,RNCl中的高速缓存25和/或节点BI中的高速缓存325)。节点B1/RNC1接收这个发现请求消息并且利用指示节点B1/RNC1已经在高速缓存25、325中存储了内容5 (或者之前为移动设备10服务过)的发现响应消息作出应答。
[0057]在方框510,节点B2/RNC2配置成在方框510确定是否存在存储内容5的原始高速缓存(例如,高速缓存25、325)。如果没有在某个时间周期内从邻居节点B和/或RNC接收到响应,则在方框520节点B2/RNC2配置成把接收到的进入分组朝上游向服务器15发送,以再次请求内容5。在这个例子中,节点B2/RNC2已经截取了移动设备10的信息,例如,请求构成内容5的剩余缺失分组。利用截取的信息,即,从移动设备10截取的进入分组,RNC2可以经网关20从服务器15 (再次)请求内容5。
[0058]但是,如果从RNCl和/或节点BI接收到指示它们最初高速缓存内容5的响应,因为节点BI之前(在位置X的覆盖范围内)为移动设备10服务过,则在方框512节点B2/RNC2从节点B1/RNC1获得(请求)传送上下文。例如,节点B2/RNC2配置成和/或节点B2命令RNC2从RNCl和/或节点BI中的高速缓存25、325 (或者从TCP/IP堆栈40、340)请求(拉)内容5的传送上下文。
[0059]用于内容5的传送内容可以包括TCP状态,这可以是TCP/IP序列号、内容ID (例如,到服务器15上内容5的位置的URL)和/或移动设备10的电话号码。利用接收到的传送上下文,在方框514节点B2/RNC2配置成确定相同内容5是否本地存储在节点B2和/或RNC2的存储器31、331中的高速缓存26、326中。
[0060]如果相同内容5没有本地存储在节点B2/RNC2中,则在方框516节点B2/RNC2配置成从节点B1、RNCl和/或RNC3请求并接收内容5 (例如,一个拷贝),使得节点B2/RNC2可以把内容5转发到移动设备10。如果相同内容5本地存储在节点B2/RNC2中,则在方框518节点B2/RNC2配置成从其本地高速缓存26、326 (从节点BI停止的点或者其附近)恢复内容5的传送。
[0061]图6根据一种示例性实施例在流程图600中说明了用于在利用移动设备10的用户的旧位置的高速缓存服务器和/或计算设备的移动性支持过程。如以上所讨论的,在节点BI还没有完成向移动设备10传输内容5的分组的时候,移动设备10从由节点BI提供服务的旧位置X移动到由节点B2提供服务的新位置Y。
[0062]各种操作可以由RNCl (例如,高速缓存服务器A)和/或由节点BI (例如,也称为高速缓存服务器的计算设备A)执行。有时候,节点B1/RNC1可以用于代表可以由节点BI和/或由RNCl执行的操作。在方框602,节点B1/RNC1配置成监视(即,监听)移动设备10的行为和/或监视移动设备10的移交状态。
[0063]在方框604,节点B1/RNC1配置成确定用户是否移动到(或者正在移动到)一个不同的位置(例如移动到位置Y)。这可以通过节点B1/RNC1 (或者RNC3)监视蜂窝网络移交协议消息和/或监视(用户)移动设备10的不活动性延长到(预定的)时间周期来实现。如果移动设备10不活动(例如,不发送周期性控制消息)超过一个阈值,则节点B1/RNC1确定移动设备10已经移出位置X。
[0064]如果在方框604节点B1/RNC1确定移动设备10还没有移动(例如,移出由节点BI提供服务的覆盖位置X),则在方框606节点B1/RNC1配置成继续为移动设备10提供服务的正常动作。相反,如果节点B1/RNC1确定移动设备10已经移到一个新位置(例如,由节点B2提供服务的位置Y),则在方框608节点B1/RNC1配置成发现位于新位置的、需要内容5和/或用于内容5的传送上下文的目标高速缓存(例如,节点B2中的高速缓存326、RNC2中的高速缓存26和/或RNC3中的高速缓存305)。这可以通过节点B1/RNC1 (或RNC3)监视蜂窝网络移交协议消息和/或向邻居高速缓存发送发现请求消息来实现(其中,发现消息指示节点B1/RNC1正在进行搜索,以期发现新高速缓存或节点B2)。在移动设备移到新位置Y之前,节点B1/RNC1 (或RNC3)配置成识别出它还没有完成向移动设备10发送内容5的(全部)分组。
[0065]节点B2/RNC2 (或RNC3)可以接收发现请求消息并且识别出其节点B2现在正在为移动设备10提供服务;节点B2/RNC2 (或RNC3)利用这个信息应答并且指示它具有可用的目标高速缓存26、326。节点B1/RNC1 (或RNC3)(经RNC2和/或RNC3)连同用于新位置Y的可用目标高速缓存26、326 —起接收当前节点B2正在为移动设备10提供服务的这个应
答消息。
[0066]如果目标高速缓存不存在或者没有发现,则过程结束。当存在目标高速缓存26、326时,在方框610节点B1/RNC1配置成确定相同内容5是否存在于目标高速缓存26、305(或326)中。例如,节点B1/RNC1可以向节点B2/RNC2发送一个(识别内容5的)请求,询问内容5是否高速缓存在高速缓存26、305、326中。如果节点B2/RNC2响应内容5没有高速缓存,则节点B1/RNC1配置成把内容5从高速缓存25、305、325传送到节点B2/RNC2 (中的高速缓存),使得节点B2可以在方框612完成内容5向移动设备10的传输。
[0067]当节点B2/RNC2 (或RNC3)响应相同内容5已经存在于高速缓存26、306、326中时,节点B1/RNC1配置成把传送上下文(这可以对应于内容5在位置X的部分传输)移植(传送)到节点B2/RNC2 (或RNC3),使得节点B2可以在方框614继续把内容的分组转发到位于位置Y的移动设备10。
[0068]图7绘出了根据一种示例性实施例的在3G蜂窝网络中利用虚拟网络实体的示例覆盖网络的图700,使得包括高速缓存服务器的设备之间的覆盖网络可以利用这些设备之间现有的蜂窝网络协议构造。图700是可以适用于图1和2的覆盖网络。为了简洁,图1和2中的每个元件在图700中都没有示出,但是应当理解,缺失的图1和2中的元件也结合到图7中并相应地运行。这种实施例中消息以及物理和虚拟实体的名字代表UMTS中的对应元件,而且应当理解,类似的方法与装置可以用于在其它蜂窝网络技术中同样实现,只要把本文所使用的术语用特定蜂窝网络技术中对应实体的名字代替就可以(例如,“H)SN”或“核心网络网关节点” 一般换成“SGSN”、“MS”换成“UE”,等等)。
[0069]在图700中,高速缓存I包含要发送到例如移动设备10的移动设备的例如内容5的内容,而且移动设备10已经从(与RNCl关联的)第一位置X(其中RNCl例如管理节点BI)移动到(与RNC2关联的)第二位置Y (其中RNC2例如管理节点B2)。
[0070]虚拟服务GPRS支持节点(vSGSNl)是由在RNCl的处理器上执行计算机指令的计算设备(例如,高速缓存服务器A)实现的。vSGSNl配置成发送3G控制消息(在图7中称为RAB指定消息),以命令RNCl在RNCl与RNC2之间建立通信信道。然后,RNCl通过向RNC2发送控制面消息(在图7中称为ALCAP =Iu传送承载建立消息)建立数据信道。vSGSNl代表高速缓存I朝RNC2发送内容5,而且RNCl把内容5转发到RNC2,好像vSGSNl是物理SGSN一样。根据指令,RNCl把内容5从高速缓存I转发到RNC2。高速缓存I和vSGSNl可以在RNCl的计算设备的存储器30中实现。
[0071]RNC2中所包括的或者附连到其的计算设备(在处理器上执行计算机指令)实现虚拟用户设备(vUE)、高速缓存2和虚拟服务GPRS支持节点(vSGSN2)。vUE作用就像移动设备(例如,智能电话或蜂窝电话)。RNC2向vUE发送控制消息(称为RB建立消息),以便建立到RNC2的虚拟信道,而且RNC2从vSGSN2接收控制消息(称为RAB指定请求),以便建立从VSGSN2到RNC2的虚拟信道。一从vSGSN2接收到RAB指定请求消息,RNC2就通过发送RB建立消息建立到移动设备10 (UE)的信道。然后,RNC2与vUE之间建立的虚拟信道被RNC2用于把从RNCl接收到的内容5转发到vUE,然后vUE又把内容5转发到高速缓存2。类似地,VSGSN2与RNC2之间建立的虚拟信道和RNC2与UE之间建立的虚拟信道由vSGSN和RNC2使用,使得VSGSN2 (代表高速缓存2)向RNC2发送内容5,RNC2又经节点B2 (在图7中未示出)把内容5转发到移动设备10 (UE)0节点B2作用就像一个中继设备,用于传送内容5和/或对应于内容5的传送上下文。
[0072]如蜂窝通信领域(例如在3G蜂窝网络中)的技术人员将理解的,数据(例如内容5)可以源自用户设备(UE)和/或到其终止、可以源自SGSN和/或到其终止,或者是其任意组合。但是,根据蜂窝通信协议(例如,3G协议),不用作控制消息的数据不源自节点B和RNC和/或到其终止。在一种示例性实施例中,发起例如内容5的数据就像从一个移动设备发出/启动在另一个移动设备终止的呼叫(包括发送例如视频文件、音乐文件、图片文件、文本文件等的文件)。在图7中,vSGSNl发起(启动呼叫以发送)内容5,到存储在高速缓存2中的vUE终止。VSGSN2 (或vUE)经节点B2发起在移动设备10终止的内容5。
[0073]例如vSGSNl、vUE和vSGSN2的虚拟实体操作就像物理硬件与软件,使得RNCl、RNC2和节点B2可以根据正规的3G蜂窝网络协议传送和接收命令消息;这允许向移动设备10发送内容5和/或传送上下文。
[0074]图8绘出了根据一种示例性实施例的在3G蜂窝网络中利用虚拟网络实体的示例覆盖网络的图800。图800是可以适用于图3和4的覆盖网络。虽然为了简洁,图3和4中的每个元件在图800中都没有示出,但是应当理解,缺失的图3和4中的元件也结合到图8中并相应地运行。
[0075]在图800中,高速缓存I包含要传送到例如移动设备10的移动设备的例如内容5的内容,而且移动设备10已经从(与节点BI关联并由其提供服务的)第一位置X移动到(与节点B2关联并由其提供服务的)第二位置Y。
[0076]虚拟用户设备(vUE)(例如虚拟移动设备)和高速缓存I是由节点BI的(在处理器上执行计算机指令的)计算设备实现的。vUE作用就像内容5的发起者而且向节点BI传送控制消息(RAB指定请求)并且命令节点BI建立到RNC的数据信道,使得节点BI可以把内容5从高速缓存I发送到RNC的高速缓存2。
[0077]虚拟服务GPRS支持节点(vSGSN)和高速缓存2是由RNC(例如图3和4中的RNC3)的(在处理器上执行计算机指令的)计算设备实现的。vSGSN配置成从RNC接收请求并且向RNC发送用于建立到RNC/来自RNC的虚拟信道的3G控制消息。这些虚拟信道被vSGSN和RNC使用,使得RNC可以把从节点BI接收到的内容5转发到vSGSN并且把从vSGSN接收到的内容5转发到UE,就像vSGSN是物理SGSN —样。根据指令,RNC经节点B2 (在图8中未示出)把来自高速缓存2的内容5转发到移动设备10。节点B2可以充当中继设备,以把内容5转发到位于位置Y的移动设备10。
[0078]在图8中,vUE发起在vSGSN (高速缓存2)终止的内容5。因此,现在vSGSN发起在移动设备10终止的(存储在高速缓存2中的)内容5。例如VUE和VSGSN2的虚拟实体操作就像物理硬件与软件,使得节点BI和RNC可以根据常规的3G蜂窝网络传送和接收命令消息,用于把内容5和/或传送上下文发送到移动设备10。而且,vSGSN通常可以称为虚拟核心网络网关节点。图7和图8中的例子是在两个RNC之间和在一个节点B与一个RNC之间建立覆盖网络的上下文下说明的,但是应当理解,这些实施例可以应用到在蜂窝网络设备的任意组合之间(例如,在节点Bl-RNC-节点B之间)建立覆盖的其它场景。
[0079]为了解释但不是限制,在3G网络的上下文下说明了某些例子。应当理解,示例性实施例可以应用到2G、3G、4G、其它网络以及其任意组合。
[0080]图9说明了具有可以包括在示例性实施例中的能力的计算机900的例子。本文所讨论的各种方法、过程、模块、流程图、工具、应用和技术也可以结合和/或利用计算机900的能力。而且,计算机900的能力可以用于实现包括参考图1-8本文所讨论的示例性实施例的特征。计算机900的一个或多个能力可以实现本文所讨论的任何元件,例如但不限于移动设备10、RNC、节点B、网关20、高速缓存服务器、高速缓存、服务器、计算设备、基站、基站控制器、通信设备以及其它蜂窝网络设备。
[0081]一般来说,就硬件体系结构而言,计算机900可以包括经本地接口(未示出)通信连接的一个或多个处理器910、计算机可读存储存储器920以及一个或多个输入和/或输出(I/O)设备970。如本领域中已知的,本地接口可以是,例如但不限于,一条或多条总线或者其它有线或无线连接。本地接口可以具有启用通信的附加元件,例如控制器、缓冲区(高速缓存)、驱动器、中继器和接收器。另外,本地接口可以包括地址、控制和/或数据连接,以便在以上提到的组件之间启用适当的通信。
[0082]处理器910是用于执行可以存储在存储器920中的软件的硬件设备。在与计算机900关联的几种处理器中,处理器910实际上可以是任何定制或商业可用的处理器、中央处理单元(CPU)、数据信号处理器(DSP)或者辅助处理器。
[0083]计算机可读存储器920可以包括易失性存储器元件(例如,随机存取存储器(RAM),像动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等)和非易失性存储器元件(例如,ROM、可擦除可编程只读存储器(EPR0M)、电可擦除可编程只读存储器(EEPR0M)、可编程只读存储器(PR0M)、磁带、光盘只读存储器(⑶-ROM)、磁盘、软磁盘、盒式磁带、卡型盒式磁带等)的任意一种或组合。而且,存储器920可以结合电、磁、光和/或其它类型的存储介质。应当指出,存储器920可以具有分布式体系结构,其中各种组件位于彼此远离的位置,但是可以被处理器910访问。
[0084]计算机可读存储器920中的软件可以包括一个或多个单独的程序,每个程序都包括用于实现逻辑功能的可执行指令的有序列表。存储器920中的软件包括合适的操作系统
(OS)950、编译器940、源代码930以及示例性实施例的一个或多个应用960。如所说明的,应用960包括用于实现示例性实施例的特征、过程、方法、功能与操作的多种功能性组件。另外,应用960可以是源程序、可执行程序(目标代码)、脚本或者包括要执行的一组指令的任何其它实体。
[0085]I/O设备可以970可以包括输入设备(或外围设备),例如但不限于鼠标、键盘、扫描仪、麦克风、照相机等。此外,I/o设备970还可以包括输出设备(或外围设备),例如但不限于打印机、显示器等。最后,I/O设备970可以进一步包括传送输入与输出的设备,例如但不限于NIC或调制器/解调器(用于访问远端设备、其它文件、设备、系统或网络)、射频(RF)或其它收发器(塔)、电话接口、桥、路由器等。I/O设备970还包括用于经各种网络例如互联网或内联网进行通信的组件。I/O设备970可以利用蓝牙连接和电缆(经例如通用串行总线(USB)端口、串口、并口、光纤、火线(FireWire)、HDMI (高清晰多媒体接口)等)连接到和/或与处理器910通信。
[0086]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0087]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0088]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0089]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0090]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0091]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0092]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0093]计算机程序指令也可以加载到计算机、其它可编程数据处理装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装置或者其它设备上执行,产生一种计算机实现的过程,使得在所述计算机或者其它可编程装置上执行的指令提供用于实现在所述流程图和/或框图的一个或多个块中所指定的功能/动作的过程。
[0094]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0095]本文所使用的术语仅仅是为了描述特定的实施例而不是要作为本发明的限制。所本文所使用的,除非上下文明确地另外指出,否则单数形式的“以”、“一个”和“这个”是要也包括复数形式。还应当理解,当在本说明书使用时,术语“包括”规定所述特征、整数、步骤、操作、元件和/或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元件、部件和/或其组的存在或添加。
[0096]以下权利要求中所有方式或步骤加功能元件的对应结构、材料、动作及等价物都是要包括用于结合具体所述的其它所述元件执行所述功能的任何结构、材料或行为。已经为了说明和描述给出了本发明的描述,但这不是详尽的或者要把本发明限定到所公开的形式。在不背离本发明范围与主旨的情况下,许多修改和变化对本领域普通技术人员都将是显而易见的。实施例的选择和描述是为了最好地解释本发明的原理和实践应用,并使本领域普通技术人员能够理解本发明具有适于预期特定使用的各种修改的各种实施例。
[0097]本文所绘出的流程图仅仅是一个例子。在不背离本发明主旨的情况下,对于这个图或者其中所描述的步骤(或操作)可以有许多变化。例如,步骤可以按不同的次序执行或者步骤可以添加、删除或修改。所有这些变化都被认为是要求保护的发明的一部分。
[0098]尽管已经描述了本发明的示例性实施例,但是应当理解,现在和将来本领域技术人员都可以进行属于以下权利要求范围的各种改进与增强。这些权利要求应当被认为是维护对首先描述的发明的适当保护。
【权利要求】
1.一种用于把对象传送到移动设备的方法,所述方法包括: 响应移动设备从由第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,把存储在第一高速缓存中的对象从第一高速缓存传送到第二高速缓存;以及 从第一高速缓存向第二高速缓存传送使第二高速缓存把对象转发到第二区域中的移动设备的指令。
2.如权利要求1所述的方法,进一步包括由第一高速缓存检测移动设备到由第二高速缓存提供服务的第二区域的移交,其中检测包括第一高速缓存监听蜂窝网络移交消息,从而启动存储在第一高速缓存中的对象向第二高速缓存的传送。
3.如权利要求1所述的方法,进一步包括从第一高速缓存传送发现请求消息,其中所述发现请求消息指示第一高速缓存正在进行搜索,以期发现在移动设备从第一区域移开之后现在正为移动设备提供服务的任何高速缓存;以及 由第一高速缓存从现在正为移动设备提供服务的第二高速缓存接收返回的发现响应消息。
4.如权利要求1所述的方法,其中对象包括视频与音频内容、音频内容、视频内容、媒体、下载、流传输内容和游戏内容中的至少一种。
5.如权利要求1所述的方法,其中对象是从互联网检索的并且存储在第一高速缓存中,以便经蜂窝网络提供给移动设备。
6.如权利要求1所述的方法,进一步包括从第一高速缓存向第二高速缓存传送对象的传送上下文,使得第二高速缓存可以从第一高速缓存停止的地方开始继续向移动设备传送对象的分组。
7.如权利要求1所述的方法,其中虚拟用户设备配置成在把对象传送到移动设备的过程中发起控制消息,所述控制消息对应于向虚拟核心网络网关节点传送对象并且在所述虚拟核心网络网关节点终止对象。
8.如权利要求1所述的方法,其中虚拟核心网络网关节点配置成在把对象发送到移动设备的过程中发起控制消息,所述控制消息对应于向虚拟用户设备软件系统传送对象并且在所述虚拟用户设备软件系统终止对象。
9.一种用于把对象传送到移动设备的方法,所述方法包括: 响应移动设备从由存储相同对象的第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,由第二高速缓存从第一高速缓存接收所述相同对象的传送上下文; 第二高速缓存本地存储与第一高速缓存相同的对象;以及 根据从第一高速缓存接收到的传送上下文,由第二高速缓存把本地存储在第二高速缓存中的相同对象传送到第二区域中的移动设备。
10.如权利要求9所述的方法,其中传送上下文包括相同对象的内容标识与相同对象的传送状态。
11.如权利要求10所述的方法,其中传送状态包括以下至少一个: 当处于第一区域中时已经由第一高速缓存传送到移动设备的相同对象的分组序列号;当处于第一区域中时已经由第一高速缓存传送到移动设备的相同对象的最后一组分组序列号;以及 当处于第一区域中时已经得到确认由移动设备接收的相同对象的分组序列号。
12.如权利要求9所述的方法,进一步包括由第二高速缓存监视从第二区域接收到的具有未知传送上下文的分组。
13.如权利要求9所述的方法,进一步包括传送发现请求消息,所述发现请求消息指示第二高速缓存正在进行搜索,以期发现在移动到第二区域之前为移动设备先前提供服务的先前服务高速缓存;以及 在第二高速缓存从第一高速缓存接收发现响应消息,其中所述发现响应消息指示第一高速缓存先前为移动设备提供服务。
14.如权利要求9所述的方法,其中第二高速缓存配置成接收相同对象的传送上下文,使得第二高速缓存可以从第一高速缓存停止的地方开始继续向移动设备传送相同对象的分组。
15.一种用于把对象传送到移动设备的系统,所述系统包括: 网络; 第一高速缓存,配置成经网络进行通信并且存储对象; 响应移动设备从由第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,所述第一高速缓存配置成把存储在第一高速缓存中的对象传送到第二高速缓存;以及 所述第一高速缓存配置成向从第一高速缓存接收对象的第二高速缓存传送指令,其中所述指令使第二高速缓存把对象转发到第二区域中的移动设备。
16.如权利要求15所述的系统,其中第一高速缓存配置成检测移动设备到由第二高速缓存提供服务的第二区域的移交,其中检测包括第一高速缓存监听蜂窝网络移交消息,以便知道向第二高速缓存传送对象。
17.如权利要求15所述的系统,其中第一高速缓存配置成发送发现请求消息,所述发现请求消息指示第一高速缓存正在进行搜索,以期发现从移动设备从第一区域移开之后现在正为移动设备提供服务的任何高速缓存;以及 其中第一高速缓存配置成从现在正为移动设备提供服务的第二高速缓存接收返回的发现响应消息。
18.如权利要求15所述的系统,其中第一高速缓存配置成向第二高速缓存传送对象的传送上下文,以使第二高速缓存从第一高速缓存停止的地方开始继续向移动设备传送对象的分组。
19.如权利要求15所述的系统,其中第一高速缓存包括虚拟用户设备; 其中所述虚拟用户设备配置成在把对象传送到移动设备的过程中发起控制消息,所述控制消息对应于向虚拟服务GPRS支持节点传送对象并且在所述虚拟服务GPRS支持节点终止对象。
20.如权利要求15所述的系统,其中第一高速缓存包括虚拟核心网络网关节点;以及 其中所述虚拟核心网络网关节点配置成在把对象传送到移动设备的过程中发起控制消息,所述控制消息对应于向虚拟用户设备传送对象并且在所述用户设备终止对象。
21.一种用于把对象传送到移动设备的系统,所述系统包括: 网络; 第一高速缓存,配置成经网络与第二高速缓存通信,所述第二高速缓存存储与第一高速缓存相同的对象; 响应移动设备从由第一高速缓存提供服务的第一区域移动到由第二高速缓存提供服务的第二区域,第二高速缓存配置成从第一高速缓存接收相同对象的传送上下文; 第二高速缓存配置成根据从第一高速缓存接收到的传送上下文把存储在第二高速缓存中的相同对象传送到第二区域中的移动设备。
22.如权利要求21所述的系统,其中传送上下文包括相同对象的内容标识与相同对象的传送状态。
23.如权利要求21所述的系统,其中第二高速缓存配置成监视从第二区域接收到的具有未知传送上下文的分组。
24.如权利要求21所述的系统,其中第二高速缓存配置成传送发现请求消息,所述发现请求消息指示第二高速缓存正在进行搜索,以期发现在移动到第二区域之前为移动设备先前提供服务的先前服务高速缓存;以及 其中第二高速缓存配置成从第一高速缓存接收发现响应消息,其中所述发现响应消息指示第一高速缓存先前为移动设备提供服务。
25.如权利 要求21所述的系统,其中第二高速缓存配置成接收相同对象的传送上下文,使得第二高速缓存可以从第一高速缓存停止的地方开始继续向移动设备传送相同对象的分组。
【文档编号】H04W36/00GK103597876SQ201280026270
【公开日】2014年2月19日 申请日期:2012年5月22日 优先权日:2011年6月28日
【发明者】高凤晙, 李康源, V·帕帕斯, D·维尔马 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1