在通信网络中的网络处理节点高速缓存数据的方法和系统转让专利

申请号 : CN200710169411.3

文献号 : CN101202763B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : B·M·奥康奈尔K·R·沃克R·A·汉密尔顿二世N·A·卡茨

申请人 : 国际商业机器公司

摘要 :

一种用于在通信网络中的处理节点高速缓存数据的方法可以包括预测用户的未来位置。可以根据所述未来位置选择通信网络中的处理节点。可以选择要发送到所选择的处理节点的数据。可以将所选择的数据发送到所选择的处理节点。

权利要求 :

1.一种用于在通信网络中的处理节点高速缓存数据的方法,包括:确定用户的未来位置;

根据所述未来位置选择通信网络中的处理节点;

选择要发送到所述处理节点的用户可能需要的数据;以及

将所选择的数据发送到所选择的处理节点,并被高速缓存,以便用户可以访问该数据。

2.根据权利要求1所述的方法,其中确定未来位置进一步包括:根据关联于所述用户所属的社会网络的至少一个成员的位置来选择未来位置。

3.根据权利要求1所述的方法,其中确定未来位置进一步包括:将用户声明的位置选择作为未来位置。

4.根据权利要求1所述的方法,其中确定未来位置进一步包括:根据用户之前所造访的位置来选择未来位置。

5.根据权利要求1所述的方法,其中确定未来位置进一步包括:根据用户前进路线来选择未来位置。

6.根据权利要求1所述的方法,其中选择处理节点进一步包括:选择距离所述未来位置最近的通信网络中的处理节点。

7.根据权利要求1所述的方法,其中选择要发送的数据进一步包括:选择用户频繁访问的数据。

8.根据权利要求1所述的方法,其中选择要发送的数据进一步包括:选择用户最近所访问的数据。

9.根据权利要求1所述的方法,其中选择要发送的数据进一步包括:选择在用户对所述未来位置的先前造访期间所访问的数据。

10.根据权利要求1所述的方法,其中选择要发送的数据进一步包括:接收指定所述数据的用户输入。

11.根据权利要求1所述的方法,其中将数据发送到所选择的处理节点进一步包括:以根据所述用户与所述未来位置之间的距离而选择的传输速率发送所述数据。

12.根据权利要求1所述的方法,其中将数据发送到所选择的处理节点进一步包括:以根据所预期的用户到所述未来位置的到达时间而选择的传输速率发送所述数据。

13.根据权利要求1所述的方法,其中将数据发送到所选择的处理节点进一步包括:以根据关联于所述用户的服务级别而选择的传输速率发送所述数据。

14.一种用于在通信网络中的处理节点高速缓存数据的系统,包括:预测模块,用于确定用户的未来位置,其中所述预测模块根据所述未来位置选择通信网络中的处理节点;

数据选择模块,用于选择要发送到所选择的处理节点的用户可能需要的数据;以及传输控制器,用于将所选择的数据推入所选择的处理节点,并被高速缓存,以便用户可以访问该数据。

15.根据权利要求14所述的系统,其中所述预测模块根据关联于所述用户所属的社会网络的成员的位置、用户声明的位置、用户之前所造访的位置或者用户前进路线来选择未来位置。

16.根据权利要求14所述的系统,其中所述预测模块选择距离所述未来位置最近的网络中的处理节点。

17.根据权利要求14所述的系统,其中根据用户频繁访问的数据、用户最近所访问的数据、用户对所述未来位置的先前造访期间所访问的数据、或者指定所述数据的用户输入来执行数据选择。

18.根据权利要求14所述的系统,其中所述传输控制器根据用户与所述未来位置之间的距离或者所预期的用户到所述未来位置的到达时间而改变数据到所选择的处理节点的传输速率。

19.根据权利要求14所述的系统,其中所述传输控制器根据关联于所述用户的服务级别而改变数据到所选择的处理节点的传输速率。

说明书 :

在通信网络中的网络处理节点高速缓存数据的方法和系统

技术领域

[0001] 本发明涉及一种用于在通信网络中的处理节点高速缓存数据的方法和系统。

背景技术

[0002] 包括移动设备的便携式计算设备允许用户在几乎任何地方执行计算任务。尽管计算设备持续提供增加的计算能力、增加的便携性以及更好的电力管理,但对于设备而言对数据的访问的需要仍将是有用的。换句话说,尽管计算设备的性能持续提升,但仍需要访问数据以进行对设备的富有成效的使用。
[0003] 在通常的情形中,用户在去旅行或“进行移动”之前将数据手动拷贝到计算设备。用户必须识别可能需要进行远程工作的任意数据,并在离开之前拷贝该数据。典型地,用户将数据直接拷贝到便携式计算设备。不过,在很多时候,用户并未拷贝所需要的或将被需要的所有数据。预见到在外面可能需要的所有数据常常是不可能的,并且在其它情形中,用户可能仅仅是忘记拷贝一个或多个信息项。
[0004] 传输数据的另一种方式是将数据拷贝到外部存储设备。可能存在这样的情形:要拷贝的数据量超过了便携式通信设备的有限的存储容量。因此,用户由于不得不携带便携式计算设备和外部存储设备而很不方便。此外,用户必须在能够访问所需数据之前费力进行存储设备与便携式计算设备之间的物理连接。
[0005] 在其它情形中,用户不是带着数据的拷贝,而是试图通过某种远程连网技术访问他或她的数据。例如,用户可以试图使用虚拟专用连网、安全网站等等链接到雇主的通信网络。如果用户所需的数据很大,则对数据的访问可能受到雇主网络或者到雇主网络的连接的低数据传输速率所妨碍。关联于在长距离上发送数据的延迟可以进一步妨碍数据访问。

发明内容

[0006] 本发明涉及一种用于在通信网络中的处理节点高速缓存数据的方法。可以确定用户的未来位置。可以根据所述未来位置选择通信网络中的处理节点。可以选择要发送到所选择处理节点的数据,并且可以将所述数据发送到所选择的处理节点。
[0007] 本发明还涉及一种用于在通信网络中的处理节点高速缓存数据的系统。所述系统可以包括预测模块,用于确定用户的未来位置。所述预测模块可以根据所述未来位置选择通信网络中的处理节点。所述系统还可以包括数据选择模块以及控制器,所述数据选择模块用于识别要发送到所选择的处理节点的数据,所述控制器用于将所选择的数据发送到所选择的处理节点。
[0008] 本发明还涉及一种包括计算机可用媒体的计算机程序产品,所述计算机可用媒体具有用于将数据发送到通信网络中的处理节点的计算机可用程序代码。所述计算机程序产品可以包括用于确定用户的未来位置的计算机可用程序代码,用于根据所述未来位置选择通信网络中的处理节点的计算机可用程序代码,以及用于选择要发送到所选择处理节点的数据的计算机可用程序代码。所述计算机程序产品还可以包括用于将所选择的数据发送到所选择的处理节点的计算机可用程序代码。

附图说明

[0009] 图1是示出了根据本发明一方面的系统的框图。
[0010] 图2是示出了根据本发明另一方面的用于在通信网络中高速缓存数据的方法的流程图。
[0011] 图3是示出了根据本发明另一方面的用于确定用户的未来位置的方法的流程图。

具体实施方式

[0012] 本领域技术人员将理解,本发明可以被实现为一种方法、系统或计算机程序产品。因此,本发明可以采用的形式有完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者结合软件和硬件方面的实施例,其在此处可以全部被统称为“电路”、“模块”或“系统”。
[0013] 此外,本发明可以采取可从计算机可用或计算机可读媒体访问的计算机程序产品的形式,所述媒体提供程序代码以由计算机或任何指令执行系统使用或者结合计算机或任何指令执行系统使用。为了本说明书的目的,计算机可用或计算机可读媒体可以是可包含、存储、传送、传播或传输程序以由指令执行系统、装置或设备使用或者结合指令执行系统、装置或设备使用的任意装置。
[0014] 可以利用任何合适的计算机可用或计算机可读媒体。例如,所述媒体可以包括但不限于:电子的、磁的、光的、电磁的、红外的或半导体系统(或装置或设备),或者传播媒体。示例性的计算机可读媒体的非穷举列表可以包括:具有一根或多根线的电连接、光纤、诸如磁带的磁存储设备、可移除计算机盘、便携式计算机盘、硬盘、硬磁盘、诸如光盘的光存储媒体、半导体或固态存储器,其中,所述光盘包括只读存储器致密盘(CD-ROM)、读/写致密盘(CD-R/W)或DVD,所述半导体或固态存储器包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、或者可擦除可编程只读存储器(EPROM或闪存)
[0015] 计算机可用或计算机可读媒体可以进一步包括传输媒体,诸如支持因特网或内联网的传输媒体。此外,计算机可用媒体可以包括这样的传播数据信号,无论是在基带内还是作为载波的一部分,该信号中包含计算机可用程序代码。计算机可用程序代码可以使用任何合适的媒体来传输,所述媒体包括但不限于因特网、有线线路、光缆、RF等。
[0016] 在另一方面,计算机可用或计算机可读媒体可以是其上打印了程序的纸张或者另一种合适的媒体,因为所述程序可以经由例如对纸张或其它媒体的光学扫描而被电捕获,接着被编译、解释、或以合适的方式被另外处理(如果必要的话),并且接着被存储在计算机存储器中。
[0017] 用于执行本发明的操作的计算机程序代码可以以面向对象编程语言(诸如Java、Smalltalk、C++等)来编写。然而,用于执行本发明的操作的计算机程序代码还可以以诸如“C”编程语言或类似编程语言的传统程序编程语言来编写。程序代码可以完全在用户的计算机上执行、部分地在用户的计算机上执行、作为单独的软件包来执行、部分地在用户的计算机上执行、部分地在远程计算机上执行、完全在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过局域网(LAN)或广域网(WAN)连接到用户的计算机,或者该连接可以连接到外部计算机(例如,使用因特网服务供应商通过因特网连接)。
[0018] 适于存储和/或执行程序代码的数据处理系统可包括:通过系统总线间接地或直接地耦合于存储器单元的至少一个处理器。存储器单元可以包括在程序代码的实际执行期间使用的局部存储器、海量存储装置、以及高速缓冲存储器,该高速缓冲存储器提供了至少某种程序代码的临时存储以便减少在执行期间必须从海量存储装置检索代码的次数。
[0019] 输入/输出或I/O设备(包括但不限于:键盘、显示器、定点设备等)可以直接地或通过中间I/O控制器耦合于系统。网络适配器也可以被耦合于系统,以使数据处理系统能通过中间的专用或公用网络来耦合于其它数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅仅是当前可用类型的网络适配器中的少数几种。
[0020] 下面参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明。将会理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生一种机器,使得该指令在经由计算机或其它可编程数据处理装置的处理器执行时,创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。
[0021] 这些计算机程序指令还可以存储在计算机可读存储器中,其可以指示计算机或其它可编程数据处理装置以特定的方式运行,从而存储在计算机可读存储器中的指令产生一种制品,其包括实现了流程图和/或框图的一个或多个框中指定的功能/动作的装置。
[0022] 计算机程序指令还可以加载到计算机或其它可编程数据处理装置上,以使得在计算机或其它可编程装置执行一系列操作步骤以产生计算机实现过程,使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的步骤。
[0023] 本发明涉及在通信网络中的一个或多个处理节点高速缓存数据。可以根据多种不同的位置估计技术中的任一种来确定关联于用户的通信设备的未来位置。基于所述未来位置,处理节点可以被识别。存储在通信网络中的关联于用户的数据可以被传播到所识别的处理节点并被高速缓存,从而用户可以更高效地访问该数据。例如,数据被高速缓存的处理节点可以是被确定为靠近用户的未来位置或者距离用户的未来位置最近的处理节点。这可以减少网络节点或中继段(hop)的数量,并且提高系统响应度,其中所述数据必须行进通过所述网络节点或中继段以到达用户。
[0024] 图1是示出了根据本发明一方面的系统100的框图。系统100可以包括高速缓存控制器105、通信网络130、以及多个处理节点135、140和145。高速缓存控制器105可以包括:被示为数据存储设备110的一个或多个数据存储设备、预测模块115、数据选择模块120、以及传输控制器125。如所示,高速缓存控制器105可以通信地链接于通信网络130并进一步成为通信网络130的一部分。处理节点135-145也可以被包括作为通信网络130的一部分。
[0025] 通信网络130可以被实现为、或包括但不限于:WAN、LAN、公共交换电话网络(PSTN)、Web、因特网以及一个或多个内联网。通信网络130可以进一步包括短距离或长距离的一个或多个无线网络。例如,在短距离无线网络方面,通信网络130可以包括使用蓝牙或IEEE 802无线通信协议(即,802.11a/b/g/i、802.15、802.16、802.20、Wi-Fi受保护访问(WPA)、或WPA2)之一建立的本地无线网络。在长距离无线网络方面,通信网络130可以包括移动、蜂窝式和/或基于卫星的无线网络,并且支持语音、视频、文本和/或它们的任意组合,即,GSM、TDMA、CDMA和/或WCDMA网络。
[0026] 处理节点135-145可以被实现为计算机系统,例如服务器或其它信息处理系统。这样,处理节点135-145中的每个可以包括数据存储设备。在一种方案中,处理节点135-145中的每个可以被实现为“边缘服务器”。即,处理节点135-145中的每个可以位于通信网络130中的独立的和不同的物理位置。例如,通信网络130可以覆盖广大的地理区域,如城市、州、包括多个州的地区等等。在一种方案中,通信网络130可以是全球网络。处理节点135-145可以被分布在整个地理区域中。
[0027] 用户155的计算设备150可以经由处理节点135-145中的任一个访问通信网络130。计算设备150可以包括但不限于:移动电台、便携式计算机(诸如膝上型计算机)、智能电话、个人数字助理、用户在远程位置访问的传统计算机等等。计算设备150可以经由多种不同的接入点中的任一种建立与通信网络130的通信链路,所述接入点为有线或无线的,通过所述接入点可以建立与处理节点135-145的通信。
[0028] 一般而言,高速缓存控制器105可以根据用户155的预测的未来位置165将用户155可能需要的数据或数据集170发送到一个或多个处理节点135-145。如所述,数据存储设备110可以由一个或多个数据存储设备组成。数据存储设备110可以存储由用户155使用或者属于用户155的信息。例如,数据存储设备110可以为用户155是其成员的商业实体或某种其它组织提供集中式的存储。
[0029] 预测模块115可以预测用户155的未来位置165。一旦未来位置165被预测模块115所预测,则预测模块115可以识别距离未来位置165最近的处理节点135-145。未来位置165可以根据多种不同技术中的任一种来确定。在一方面中,预测模块115可以包括位置跟踪系统,诸如全球定位系统(GPS)单元。在此情形中,或者用户155可以装备有能够发送坐标的GPS设备,或者计算设备150可以是GPS使能的,从而预测模块115可以通过位置跟踪系统确定用户155的路径或前进路线(heading)160。如这里所用的,“前进路线”可以指代或指定方向和/或速度,其中物体以所述速度在所指示的方向行进。
[0030] 在整个本说明书中,参考的是用户位置或用户的计算设备的位置。在某种意义上,所述短语可以交替使用,所述意义在于,一个或多个计算设备或跟踪设备的位置可被用作为关联于所述设备的用户位置的代理。因此,如果通信设备的位置被确定,则假定关联于该通信设备的用户被定位在同一位置或该位置附近、具有相同前进路线等等。
[0031] 在另一方案中,预测模块115可以通过用户155已造访过的一个或多个位置进行编程。这些位置可以依据用户155曾造访每个位置的次数(例如频率)、用户155曾造访所述位置的日期和/或时间等等进行建档。因此,在选择特定位置时,预测模块115可以检查前进路线160、用户所造访的位置的列表、以及位置的简档。因此,如果两个位置是被选择作为未来位置165的潜在候选,则简档信息可被用于在所述候选之间进行选择。例如,如果用户正在十二月旅游,并且如果预测模块115正试图在其它方面几乎相同的多个潜在位置之中进行选择,则用户在先前的十二月中所造访的位置可以优于十二月中未造访过的其它位置被选择。可以依据每日时间、每周日期、假日等等来执行类似的处理。
[0032] 在另一种方案中,社会网络可被用于预测未来位置165。在此情形中,用户155所属的社会网络的成员可以被跟踪,或者关联于社会网络的成员的位置可以编程到预测模块115中。通过使用前进路线160,可以根据关联于下述的社会网络的成员的位置来选择未来位置165,所述社会网络的成员靠近用户155或位于使用前进路线160所确定的用户155的路径中。
[0033] 应该理解,在使用跟踪系统时,地图信息可以与前进路线160相结合使用。这样,已经选择了用户155的未来位置165的预测模块115可以确定用户155的可能的到达时间。例如,预测模块115可以考虑前进路线160、地图所指定的实际行进路线、预期的交通拥挤和/或交通延迟等等。
[0034] 在另一种方案中,用户155可以仅仅指定他或她将造访的位置以及所述造访将出现的日期和/或时间。此信息可被提供给预测模块115。应该理解,这里所述的任意技术可以独立于其它技术使用或者与其它技术相结合使用。例如,如果跟踪系统信息不可用,则可以通过在每年的此时所造访的先前位置、关联于用户155的社会网络的成员的先前位置、关联于用户过去在每年的此时所造访的社会网络的成员的先前位置等等来确定位置。
[0035] 在任一情形中,一旦未来位置165被预测模块115所确定或预测,则预测模块115可以识别距离未来位置165最近的处理节点。预测模块115可以用处理节点135-145的位置进行编程,以使得做出这样的决定更方便。在另一种方案中,预测模块115不需要选择距离未来位置165最近的处理节点,而是选择更有可能向用户155提供更好的体验的处理节点。例如,能够以较高数据速率提供对数据的访问的处理节点可以优于距离未来位置165更近的另一处理节点进行选择。在图示中,在未来位置165周围的区域可以被识别,并且在该周围区域中的任何处理节点可以是潜在候选,其可以基于多种因素被选择,诸如未来位置165的距离、传输速率、处理节点的工作负荷等。
[0036] 数据选择模块120可以基于用户155的未来位置165来选择将被发送或推入处理节点140的数据170。如所知的,“推入”数据指代例如由服务器所启动、而不是响应于客户端请求的数据发送。数据选择模块120可以使用多种不同技术中的任一种来选择数据170,所述技术可以包括跟踪由用户对数据的先前访问以及用户访问所述数据的具体位置。
[0037] 在一种方案中,数据选择模块120可以将最近被用户155所访问的数据选择作为数据170。被选择作为数据170的数据项可以在预定时间段(即,之前5天、之前一周、之前一个月等等)中被访问。在另一种方案中,数据选择模块120可以将用户155在对未来位置165的先前造访期间访问过的数据选择作为数据170。在再一种方案中,例如在之前若干天、若干周、若干月等等中所测量的、最频繁访问的数据可以被选择作为数据170。用户165还可以直接指定应该成为可用的数据170。
[0038] 传输控制器125可以将数据170发送到所选择的处理节点,例如处理节点140。传输控制器125可以根据一个或多个因素以多种不同的传输速率或数据速率发送数据170。在一方面中,传输控制器125可以以由用户155的服务级别所确定的速率发送数据170。如果用户155具有与服务提供者的适当的权利协定,则该协定可以规定数据170将通过网络
125被发送到处理节点140的速率。
[0039] 在另一种方案中,传输控制器125可以根据用户155和未来位置165之间的距离来设置或改变速率。在此情形中,相比于距离其未来位置有较远距离的用户,传输控制器125可以为距离其未来位置较近的用户设置较高的传输速率。此技术帮助确保当用户155到达未来位置165时,数据170将在所选择的处理节点140处被适当地高速缓存。即,一般而言,由于距离其未来位置较近的用户比起较远的用户很可能将更早到达,所以可以为这样的用户设置增加的数据速率。
[0040] 在另一方面中,可以根据预期的到达时间来设置传输速率。因此,如果用户A距离他或她的未来位置10英里并且正在行进通过市区,而另一用户B距离他或她的未来位置15英里并且正在公路上行进,则传输控制器125可以将针对用户B的传输速率设置为高于针对用户A的传输速率。在此情形中,尽管用户B到未来位置的距离比用户A更远,仍预期用户B在用户A之前到达。如所述,预测模块115可以考虑实际行进路线、交通、地图等等,并使得预测信息(诸如预期的到达时间)对于传输控制器125可用。还应该理解,随着关于距离、到达时间等的状况随时间改变,数据速率可以被动态改变。
[0041] 在操作中,高速缓存控制器105可以预测用户155在某个未来的时间点将位于哪里。高速缓存控制器105可以基于用户155的当前位置以及已知的前进路线160或者这里所述的任意其它信息,确定用户155未来在给定时间或在预定时间量之内很可能将位于位置165。高速缓存控制器105可以选择数据170并基于所预测的未来位置165将数据170推入一个或多个处理节点135-145。例如,在预期了用户到处理节点140的距离将比通信网络130中的任意其它处理节点更近时,高速缓存控制器105可以将所选择的数据170推入处理节点140。
[0042] 通信设备150可以经由任意适当的技术(不论是有线还是无线)建立与通信网络130的通信链路。一旦被连接,则通信设备150可以向本地域名服务器(DNS)发出对于边缘高速缓存服务器的IP地址的请求。本地DNS可以将请求转发到根DNS,所述根DNS可以用边缘高速缓存服务DNS的IP地址进行响应。本地DNS可以从边缘高速缓存服务DNS请求最优的边缘高速缓存服务器(即处理节点140)的IP地址。边缘高速缓存服务DNS可以返回最优的边缘高速缓存服务器的IP地址。对最优的边缘高速缓存服务器(即处理节点
135-145)的选择可以从本地DNS的IP地址中确定。本地DNS可以将IP地址返回连网的通信设备150。边缘高速缓存服务器(即处理节点140)可以响应于来自通信设备150的请求。
[0043] 应该理解,如果所确定的处理节点(例如处理节点135)与高速缓存控制器105所选择的处理节点(即处理节点140)不同,则响应于从通信设备150到处理节点135的第一请求,可以通知高速缓存控制器105。高速缓存控制器105可以开始将数据传输到已经建立了与计算设备150的通信的处理节点135。此外,关于用户已访问了哪个处理节点的数据可以被高速缓存,从而来自通信设备150的随后的数据请求可以在更短时间内被处理。在另一实施例中,可以返回已被填充的处理节点(即处理节点140)的IP地址,而不是返回可能距离用户的实际或未来(所估计的)的位置更近的另一处理节点的IP地址。
[0044] 图2是示出了根据本发明另一方面的用于在通信网络中高速缓存数据的方法200的流程图。方法200可以使用图1所示的系统来实现。由此,在步骤205中,可以确定对用户的未来位置的估计。可以使用位置跟踪系统、社会网络、之前造访的位置的模式、用户所声明的未来位置或它们的任意组合来确定对用户的未来位置的估计或预测。
[0045] 在步骤210中,可以根据用户的未来位置来识别通信网络中的处理节点。在一方面,所识别的处理节点可以是距离未来位置最近的处理节点。在另一方面,所识别的处理节点可以是被确定能够提供最高服务质量的处理节点、或者已经填充了数据的处理节点。在步骤215中,可以选择将被推入所选择的处理节点并被高速缓存的数据。如所述,所述数据可以是由用户直接识别的数据、用户最近所访问的数据、用户频繁访问的数据、用户在对未来位置的先前造访期间所访问的数据、或者它们的任意组合。
[0046] 在步骤220中,可以选择用于将所选择的数据推入所选择的处理节点的传输速率。如所述,可以根据用户或用户设备与未来位置之间的距离、所预期的用户到未来位置的到达时间、或者通过服务协定来选择传输速率。在步骤225中,可以将所选择的数据推入所选择的处理节点。即,可以开始数据传输。在步骤230中,可以确定所选择的数据是否已经在所选择的处理节点被高速缓存。如果是,则所述方法可以结束,如果否,则所述方法可以循环回到步骤220。循环回到步骤220示出了以下方面,其中根据这里所公开的任意因素,传输速率可以被动态改变。不过,在另一方面,传输速率可以保持恒定,直到用户在所选择的处理节点被高速缓存为止。
[0047] 图3是示出了根据本发明另一方面的用于确定用户和/或通信设备的未来位置的方法300的流程图。方法300可以使用图1所示的系统来实现。应该理解,方法300示出了如何可以确定用户的未来位置的一个示例,并且由此并非想要以任何方式限制本发明或者仅仅建议要使用的特定技术。由此,方法300可以在步骤305中开始,其中确定用户是否已经向系统声明了未来位置。如果是,则所述方法可以进行步骤310,其中将用户指定的位置选择作为未来位置。如果用户并未直接指定位置,则所述方法可以进行到步骤315。
[0048] 在步骤315中,可以确定位置跟踪系统是否被使能。如果是,则所述方法可以进行到步骤320。如果否,则所述方法可以继续进行到步骤345。在步骤320中,可以确定用户或移动设备的当前前进路线。在步骤325中,可以确定用户是否正向任意之前建档的位置移动。如果是,则所述方法可以进行到步骤330,其中可以将之前建档的位置之一选择作为未来位置。例如,可以选择:基于前进路线和/或任何地图信息距离用户的预期路径最近的之前建档的位置。如果用户没有向任意之前建档的位置移动,则所述方法可以进行到步骤335。
[0049] 在步骤335中,可以确定用户或者用户的通信设备是否正向关联于用户所属的社会网络的成员的任意位置移动。如果是,则所述方法可以继续进行到步骤340。在步骤340中,可以将关联于社会网络的成员的位置选择作为用户的未来位置。如果用户没有向关联于社会网络的成员的位置移动,则所述方法可以循环回到步骤320,以继续监视用户的前进路线。
[0050] 继续步骤345,在位置跟踪系统被禁用的情形中,可以确定用户的任意之前所造访的位置的时间和/或数据简档是否匹配当前时间和/或日期。如果是,则所述方法可以进行到步骤355。如果否,则所述方法可以继续进行到步骤350。
[0051] 在步骤350中,高速缓存控制器可以等待由用户访问的第一处理节点。即,系统可以等待来自用户的第一数据请求,并且定位提供了用户请求的特定处理节点。一旦被确定,则可以将该处理节点选择作为距离用户的未来位置最近、且填充了所选择数据(高速缓存了所选择数据)的处理节点。如果针对之前所造访的位置的时间和/或日期的简档信息确实对应于当前时间和/或日期,则可以将具有匹配的时间和/或日期简档信息的位置选择作为未来位置。
[0052] 附图中的流程图和框图示出了根据本发明的多种实施例的系统、方法和计算机程序产品的体系结构、功能以及可能实现的操作。在这方面,流程图或框图中的每个框可以表示模块、段或代码的一部分,其包括一个或多个用于实现指定逻辑功能的可执行指令。还应该注意,在某些替代实现中,框中标注的功能可以不以图中标注的次序发生。例如,取决于所涉及的功能,顺序地示出的两个框实际上可以基本并行地执行,或者有时多个框可以以相反的次序执行。还应该注意,框图和/或流程图图示的每个框以及框图和/或流程图图示的框的组合可以由执行指定功能或动作的专用的基于硬件的系统或者专用硬件和计算机指令的组合来实现。
[0053] 此处使用的术语仅出于描述具体实施例的目的,并且并非旨在限制本发明。如此处所用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中另外有明确的指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时指定所陈述的特征、整体、步骤、操作、单元和/或组件的存在,但是不排除一个或多个其它特征、整体、步骤、操作、单元、组件和/或它们的组的存在或增加。
[0054] 权利要求中的所有装置或步骤加上功能单元的相应的结构、材料、动作和等同物意在包括按照明确要求保护的、用于结合其它所要求保护的单元执行功能的任意结构、材料或动作。已经出于说明和描述的目的呈现了对本发明的描述,但其并非旨在以公开的形式穷举或限制本发明。对于本领域的普通技术人员,许多修改和变体将显而易见,而不会背离本发明的范围和精神。选择并描述了实施例是为了最好地解释本发明的原理和实际的应用,以及为了使本领域的其它普通技术人员能够理解用于各种实施例的本发明,所述实施例具有适合于预期的具体使用的各种修改。
[0055] 因此,在已经详细描述了本应用发明并通过参考其中的实施例之后,将很明显,修改和变体是可能的,而不会背离在权利要求中限定的本发明的范围。