数据高速缓存方法和系统

申请号 CN201310081012.7 申请日 2013-03-14 公开(公告)号 CN103312768A 公开(公告)日 2013-09-18
申请人 国际商业机器公司; 发明人 E·J·伯卡尔特; D·常; V·S·穆尔; R·B·尼科尔森;
摘要 本 发明 公开提供了用于在蜂窝网络中高速缓存数据的方法、系统与 计算机程序 产品。通过蜂窝网络中的用户速度、运动方向、 位置 与带宽提高高速缓冲 存储器 命中。具体地,来自蜂窝网络的关于用户的位置、速度、行进方向及带宽的信息可以用于确定应当为用户高速缓存多少数据。更具体而言,可以利用从蜂窝网络接收到的信息计算用户将在蜂窝网络的一个小区中停留多长时间的时间段。所计算的时间段可以用于计算在所计算的时间段内该用户将使用多少数据,从而只高速缓存该时间段内所需的数据量。
权利要求

1.一种用于在蜂窝网络中高速缓存数据的方法,包括:
在从所述蜂窝网络接收到移动设备的行进信息时计算所述移动设备将由蜂窝网络的小区站点中的边缘服务器服务多长时间的时间段;
计算所述移动设备在所计算的时间段中将使用多少数据;以及
在所述小区站点中高速缓存在所述时间段内所述移动设备将使用的数据。
2.如权利要求1所述的方法,还包括:
通知相邻小区站点中的服务器开始为将要转入所述相邻小区站点的移动设备高速缓存数据。
3.如权利要求1所述的方法,还包括:
响应于确定第二移动设备需要高速缓存的数据,在服务器上保留所述高速缓存的数据。
4.如权利要求3所述的方法,还包括:
响应于确定第二移动设备不需要所述高速缓存的数据而释放保留的高速缓存的数据。
5.如权利要求1所述的方法,其中所述行进信息选自包括以下的组:场强度、移动设备的位置、移动设备的速度、移动设备行进的方向以及带宽。
6.一种数据高速缓存系统,包括:
边缘服务器,所述边缘服务器具有耦合到域名服务器(DNS)并被置于蜂窝网络的小区站点中的至少一个处理器和存储器
耦合到所述边缘服务器的高速缓冲存储器;以及
在所述边缘服务器的存储器中执行的数据高速缓存模,所述数据高速缓存模块包括使得能够在从所述蜂窝网络接收到移动设备的行进数据时计算所述移动设备将由所述小区站点服务多长时间的时间段,计算所述移动设备在所计算的时间段中将使用多少数据,以及在所述高速缓冲存储器中高速缓存在所述移动设备保持由所述小区站点服务的时间段内所述移动设备将使用的数据的程序代码。
7.如权利要求6所述的系统,其中所述数据高速缓存模块还包括:使得能够在确定所述移动设备将要转入相邻小区时通知所述相邻小区站点中的边缘服务器开始为所述移动设备高速缓存数据的程序代码。
8.如权利要求6所述的系统,其中所述数据高速缓存模块还包括:使得能够响应于确定第二移动设备需要高速缓存的数据而在所述边缘服务器的高速缓冲存储器中保留所述高速缓存的数据的程序代码。
9.如权利要求8所述的系统,其中所述数据高速缓存模块还包括:使得能够响应于确定第二移动设备不需要所述高速缓存的数据而释放保留的高速缓存的数据的程序代码。
10.如权利要求6所述的系统,其中所述行进数据选自包括以下的组:场强度、移动设备的位置、移动设备的速度、移动设备行进的方向以及带宽。
11.一种用于在蜂窝网络中高速缓存数据的系统,包括:
用于在从所述蜂窝网络接收到移动设备的行进信息时计算所述移动设备将由所述蜂窝网络的小区站点服务多长时间的时间段的装置;
用于计算所述移动设备在所计算的时间段中将使用多少数据的装置;及用于在所述小区站点中高速缓存在所述时间段内所述移动设备将使用的数据的装置。
12.如权利要求11所述的系统,其中还包括:
用于通知相邻小区站点中的边缘服务器开始为将要转入所述相邻小区站点的移动设备高速缓存数据的装置。
13.如权利要求11所述的系统,其中还包括:
用于响应于确定第二移动设备需要高速缓存的数据,在边缘服务器上保留所述高速缓存的数据的装置。
14.如权利要求13所述的系统,其中还包括:
用于响应于确定第二移动设备不需要所述高速缓存的数据而释放保留的高速缓存的数据的装置。
15.如权利要求11所述的系统,其中所述行进信息选自包括以下的组:场强度、移动设备的位置、移动设备的速度、移动设备行进的方向以及带宽。

说明书全文

数据高速缓存方法和系统

技术领域

[0001] 本发明涉及高速缓存,并且尤其是涉及在蜂窝网络中高速缓存数据。

背景技术

[0002] 蜂窝网络是在称为小区(cell)的陆地区域上分布的无线电网络。每个小区都由至少一个称为小区站点(cell site)或基站的固定位置收发器提供服务。当连接到一起时,这些小区提供对广大地理区域的无线电覆盖,这允许大量的便携式收发器,包括移动电话和寻呼机在内,彼此通信并且经基站与该网络中任何地方的固定收发器和电话机通信,即使在传输过程中有些收发器移动通过多于一个小区。值得注意的是,蜂窝网络不再仅仅通过移动电话提供语音服务,而是通过提供蜂窝网络的小区站点与主要承载网络并且最终与全球互联网之间的连接性,蜂窝网络还可以通过包括移动电话在内的移动设备提供数据服务。
[0003] 当移动客户端穿过蜂窝网络中的无线小区站点时,尽管移动设备跨小区站点运动,但内容向移动客户端的分发的复杂性必须对终端用户保持透明。就此而言,当一个移动客户端在消费数据的同时,例如在播放视频的同时,从一个小区站点移动到另一个站点时,不管移动设备的位置在哪里,移动客户端上视频的播放都将不发生中断。
[0004] 为了提供这种透明性,不同的边缘设备部署在内容分发网络中,经到地理上靠近所述边缘设备的不同小区站点的回程连接提供内容。理想地,要由穿过一个或多个小区站点的移动设备消费的内容应当放到地理上与所述小区站点最接近的一个或多个边缘设备。因而,为了在移动设备穿过蜂窝网络中的不同小区站点时加速内容向移动设备的传送,还存在确定将来移动设备将跨哪些小区站点行进及在哪个边缘设备中协同定位可能被该移动设备消费的内容的问题。

发明内容

[0005] 本发明的实施例解决了本领域中关于在蜂窝网络中进行数据高速缓存的缺陷并且提供了用于在蜂窝网络中高速缓存数据的新颖且非显而易见的方法、系统与计算机程序产品。在本发明的一种实施例中,提供了用于在蜂窝网络中高速缓存数据的方法,该方法可以包括在从所述蜂窝网络接收到移动设备的行进信息时计算所述移动设备将由蜂窝网络的小区站点服务多长时间的时间段。该方法还可以包括计算所述移动设备在所计算的时间段中将使用多少数据,以及在所述小区站点中高速缓存在所述时间段内所述移动设备将使用的数据。
[0006] 本发明的另一种实施例提供了一种数据高速缓存系统。该系统可以包括边缘服务器,所述边缘服务器耦合到域名服务器(DNS)并被置于蜂窝网络的小区站点中。该边缘服务器可以进一步配置成支持高速缓冲存储器和耦合到该高速缓冲存储器的数据高速缓存模。该数据高速缓存模块可以包括用于在从所述蜂窝网络接收到移动设备的行进信息时计算所述移动设备将由所述蜂窝网络的小区站点服务多长时间的时间段,计算所述移动设备在所计算的时间段中将使用多少数据,以及高速缓存在所述移动设备保持由所述小区站点服务的时间段内所述移动设备将使用的数据的程序代码。
[0007] 本发明的附加方面部分地将在以下描述中阐述,而且部分地是从所述描述显而易见的或者可以通过本发明的实践来学习。本发明的各方面将通过在所附权利要求中特别指出的元件与组合来实现与完成。应当理解,如所阐述的,以上总体描述和以下具体描述都仅仅是示例性和解释性的而不是约束本发明。附图说明
[0008] 结合到本说明书中并构成其一部分的附图说明了本发明的实施例并且与所述描述一起用来解释本发明的原理。在此所说明的实施例是目前优选的,但是应当理解,本发明不限于所示出的精确布置与工具,其中:
[0009] 图1是用于在蜂窝网络中高速缓存数据的过程的图示说明;
[0010] 图2是配置成用于在蜂窝网络中高速缓存数据的数据处理系统的示意性说明;及[0011] 图3是说明用于在蜂窝网络中高速缓存数据的过程的流程图

具体实施方式

[0012] 本发明的实施例提供了在蜂窝网络的边缘高速缓存数据。关于移动设备的信息,诸如移动设备的位置、蜂窝网络的小区中每个移动设备的场强度、移动设备行进的速度、移动设备前进的方向及带宽,可以用于确定在蜂窝网络的小区中应当为该移动设备高速缓存多少数据。以这种方式,通过使用蜂窝网络已经确定的信息,可以通过在一小区中仅仅高速缓存在移动设备处于该小区中的时间段内该移动设备将使用的数据来优化多少数据被高速缓存。因此,为其它高速缓存数据提供了附加的空间并且增加了高速缓冲存储器命中的可能性。此外,通过给快速移动的移动设备分配比移动较慢的移动设备更多的带宽,“流量整形”可以被适应移动设备行进的速度,使得体验质量可以对所有用户拉平。
[0013] 在进一步的说明中,图1图示地示出了在蜂窝网络中高速缓存数据的过程。如图1中所示,终端用户105可以在穿过由对应于地理区域中的不同小区信号塔110A、110B的不同小区站点提供服务的蜂窝网络的同时,在移动设备120中从一个小区站点接收数据服务。为了在给定的小区站点中提供该数据服务,可以在该小区站点中一起提供域名服务器(DNS)140与边缘服务器160,其中边缘服务器160供应在经回程链路链接到该小区站点的通信网络180上由通信耦合到该边缘服务器160的内容服务器115提供的内容。值得注意的是,高速缓冲存储器150可以与边缘服务器160相关联地提供,以便把由边缘服务器160提供的内容高速缓存到移动设备120。
[0014] 值得注意的是,数据高速缓存逻辑190可以耦合到边缘服务器160。数据高速缓存逻辑190可以从蜂窝网络接收关于移动设备120行进的速度与方向的数据。就此而言,数据可以根据在蜂窝网络的每个小区中使用的每个移动设备120的场强度来测量。随后,该场强度可以连同其它信息一道,用于计算由对应小区站点提供服务的每个移动设备120的位置。作为例子,在从蜂窝网络接收到所述数据时,数据高速缓存逻辑190就可以计算出每小时七十英里的速度并且通过从当前位置朝北方移动,终端用户105将在三分钟内穿过一个小区,例如小区A170,和相邻小区,例如小区B175,之间的平均转变边界。
[0015] 因而,在由边缘服务器160提供给移动设备120的内容是流化视频的情况下,小区A 170中的数据高速缓存逻辑190将知道不在高速缓冲存储器150中高速缓存该流化视频超过附加的三分钟。此外,数据高速缓存逻辑190将知道终端用户105将转入哪个小区。因此,数据高速缓存逻辑190可以发信号通知该相邻小区,例如小区B 175,中的边缘服务器160开始高速缓存所述流化视频,使得该流化视频的剩余部分将准备好在终端用户105进入小区B 175时传送给移动设备120。以这种方式,每个小区站点的每个高速缓冲存储器150中的每个边缘服务器160高速缓存传送给移动设备120的最佳数据量。此外,小区,诸如小区A 170,将从相邻小区,例如小区B 175,提供的信号知道是否有也接收同一流化视频内容的另一个终端用户正在接近。当确定另一个终端用户正在接近时,高速缓存的视频可以被保留到被该另一个终端用户所需要或者保留到确定不再需要该视频。
[0016] 结合图1所述的过程可以在如图2所示的系统中实现。在进一步的说明中,图2示意性地示出了配置成用于在蜂窝网络中高速缓存数据的数据处理系统。数据高速缓存系统可以包括至少一个服务器200。每个服务器200都可以耦合到DNS 270和移动设备290。可选地,数据库(未示出)可以耦合到服务器200;该数据库可以支持内容存储。服务器200可以经通信网络260与DNS 270和移动设备290通信。通信网络260不限于具体的通信技术而且可以包括互联网、无线通信、以太网、3G和4G。每个服务器200都可以包括支持操作系统(O/S)215的执行的至少一个处理器210和存储器205。O/S 215又可以支持高速缓冲存储器250和数据高速缓存模块300。应当指出,为了简化,只示出了一个DNS 270和移动设备290,但是在该系统中可以存在多个这些部件。此外,只示出了用于一个服务器200的存储器205、处理器210、O/S 215、高速缓冲存储器250、数据高速缓存模块300,但是系统中的每个服务器200都可以具有这些部件。
[0017] 可以在服务器200的存储器205中执行的数据高速缓存模块300可以包括程序代码,当所述程序代码被执行时,可以在从蜂窝网络接收到移动设备290的信息时计算移动设备290将处在蜂窝网络的小区中多长时间的时间段。值得注意的是,服务器200可以从蜂窝网络接收的信息可以包括,但不限于,场强度、移动设备的位置、移动设备的速度、移动设备行进的方向,及带宽。数据高速缓存模块300可以计算移动设备290在所计算的时间段内将使用多少数据并且把在所述时间段内移动设备290要使用的数据高速缓存在该小区中。以这种方式,只有最佳的数据量将被高速缓存;换句话说,只高速缓存终端用户处于该小区中时将使用的数据。
[0018] 数据高速缓存模块300还可以包括程序代码,当所述程序代码被执行时,可以在识别出移动设备290将转入的相邻小区时通知该相邻小区中的服务器200开始为将要转入该相邻小区的移动设备290高速缓存数据。此外,模块300可以确定需要相同数据的移动设备290是否正在从另一小区接近。如果另一个移动设备290正在使用相同的数据,那么数据高速缓存模块300可以在服务器200上保留高速缓存的数据,但是,另一方面,如果另一个移动设备290不需要所述高速缓存的数据,则高速缓存的数据可以被释放。值得注意的是,高速缓存数据的释放可以基于模块300从蜂窝网络接收到的信息——包括但不限于场强度、移动设备的位置、移动设备的速度、移动设备行进的方向及带宽——来优化。还值得注意的是,高速缓存数据的释放不限于确定另一个移动设备290是否需要高速缓存的数据。
[0019] 在数据高速缓存模块300的程序代码操作的进一步说明中,图3是说明用于在蜂窝网络中高速缓存数据的过程的流程图。在步骤315开始,服务器,例如流化服务器,可以从蜂窝网络接收移动设备信息。该信息可以包括,但不限于,场强度、移动设备的位置、移动设备的速度、移动设备行进的方向及带宽。在接收到该信息时,就可以计算移动设备将在一小区中停留多长时间的时间段,如步骤330中所指示的。换句话说,可以基于例如移动设备的当前位置、速度与行进的方向来计算移动设备在跨过到相邻小区的平均转变边界之前将处在一个小区中的时间长度。然后,给定所计算的时间段,还可以计算应当高速缓存的数据量,如步骤335中所示,然后高速缓存所述数据,如步骤340中那样。可选地,在步骤345中,基于从蜂窝网络接收到的信息,高速缓存的数据可以被识别为可能或者不可能被使用。例如,如果特定数据,诸如电影,很少被一小区中的移动设备请求而且相邻小区中的移动设备也没有正在观看该电影,那么该数据就不可能被使用。
[0020] 值得注意的是,可以识别移动设备将转入的下一个小区,如步骤350中所指示的。在识别出下一个小区时,就可以通知下一个小区(更具体而言,是该下一个小区中的服务器)开始为即将进入的移动设备高速缓存数据,如步骤365中所示出的。以这种方式,当移动设备到达该下一个小区时,数据的剩余部分已经准备好了。此外,在步骤370中,基于从相邻小区接收到的信息,小区(更具体而言,是该小区中的服务器)可以确定是否有来自相邻小区的正在接近的移动设备需要高速缓存的数据。如果正在接近的移动设备需要高速缓存的数据,那么高速缓存的数据就可以保留,如步骤375中所指示的,但是,如果正在接近的移动设备不需要高速缓存的数据,那么高速缓存的数据就可以释放,如步骤380中那样。
[0021] 所属技术领域的技术人员知道,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,本发明的各方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0022] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0023] 计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0024] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本发明各方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言和常规的过程式程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0025] 上面已经参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。就此而言,附图中的流程图与框图说明了根据本发明各种实施例的系统、方法与计算机程序产品的可能实现的体系结构、功能性与操作。例如,流程图或框图中的每一块都可以代表代码的一个模块、片段或者部分,所述模块、片段或者部分包括用于实现指定逻辑功能的一条或多条可执行指令。还应当指出,在有些备选实现中,块中所指出的功能可以不按图中指示的次序发生。例如,依赖于所涉及的功能性,顺次示出的两个块事实上可以基本上同时执行,或者有时候这些块可以颠倒的次序执行。还应当指出,框图和/或流程图说明中的每一个块及框图和/或流程图说明中块的组合可以由执行指定功能或行为的基于硬件的专用系统或者专用硬件与计算机指令的组合来实现。
[0026] 还应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置的处理器执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0027] 也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0028] 最后,在此所使用的术语仅仅是为了描述特定实施例而不是要限制本发明。所在此所使用的,除非上下文明确地另外指出,否则单数形式“一个”和“这个”是要也包括复数形式。还应当理解,当在本说明书使用时,术语“包括”和/或“包含”指定了所述特征、整数、步骤、操作、元素和/或部件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、部件和/或其组的存在或添加。
[0029] 以下权利要求中所有方式或步骤加功能元素的对应结构、材料、动作及等价物都是要包括用于结合具体所述的其它所述元素执行所述功能的任何结构、材料或行为。已经为了说明和描述给出了本发明的描述,但这不是详尽的或者要把本发明限定到所公开的形式。在不背离本发明范围与主旨的情况下,许多修改和变化对本领域普通技术人员都将是显而易见的。实施例的选择和描述是为了最好地解释本发明的原理和实践应用,并使本领域普通技术人员能够理解本发明具有适于预期特定使用的各种修改的各种实施例。
[0030] 已经具体地并且通过参考其实施例描述了本申请的发明,很显然,在不背离如下所附权利要求中定义的本发明范围的情况下,修改与变化是可能的。
QQ群二维码
意见反馈