【技术实现步骤摘要】
高速缓存管理本申请是申请日为2013/04/03、申请号为201380018941.1的中国专利申请的分案申请。
技术介绍
一些组织在诸地理分布位置之间使用了大量资源获取和维护广域网(WAN)。例如,一些组织安装和/或维护昂贵的地下、空中、和/或海底连接介质,以支持这些位置之间的通信。在一些情况下,大量带宽必须可用于支持这些位置处的操作,并且取决于被选取来支持该带宽和/或这些位置之间的距离的介质可能维护起来可能是昂贵的。尽管安装和维护这些电缆可能是昂贵的,但创建服务于这些分布式位置的多个数据中心并托管这些数据中心可能甚至更昂贵,因此可能是不切实际的。为了解决这些和其他顾虑,一些组织对文件采用增量式更新来减少各个位置之间所需的带宽。在对文件进行增量式更新时,计算机可被配置成下载指示文件的增量式更新的数据,而不是下载全部文件和/或这些文件的新版本。尽管该方法可减少所传送的数据量,但用户所消耗的对各个文件作出增量式更新的带宽仍可能是大量的。尤其地,尽管反映增量式改变的数据可消耗与经更新文件的整个新版本相比更少的数据,但反映这些增量式改变的数据的 ...
【技术保护点】
1.一种用于管理高速缓存的计算机实现的方法,所述计算机实现的方法包括在客户机设备处执行计算机实现的操作以用于:/n在所述客户机设备处接收获取存储在服务器计算机处的数据的请求;/n由所述客户机设备基于以下各项中的至少一项来确定在所述客户机设备处启用了高速缓存:/n启用了用户可选择的高速缓存模式,或/n所述客户机设备具有高速缓存模式;/n由所述客户机设备请求存储在所述服务器计算机处的所述数据;/n响应于对存储在所述服务器处的所述数据的请求,接收与所述数据相对应的散列而不是所请求的数据;/n通过以下操作来搜索所述高速缓存以查找所述散列:/n确定从所述服务器计算机处接收到了所述散列 ...
【技术特征摘要】
20120405 US 13/439,8731.一种用于管理高速缓存的计算机实现的方法,所述计算机实现的方法包括在客户机设备处执行计算机实现的操作以用于:
在所述客户机设备处接收获取存储在服务器计算机处的数据的请求;
由所述客户机设备基于以下各项中的至少一项来确定在所述客户机设备处启用了高速缓存:
启用了用户可选择的高速缓存模式,或
所述客户机设备具有高速缓存模式;
由所述客户机设备请求存储在所述服务器计算机处的所述数据;
响应于对存储在所述服务器处的所述数据的请求,接收与所述数据相对应的散列而不是所请求的数据;
通过以下操作来搜索所述高速缓存以查找所述散列:
确定从所述服务器计算机处接收到了所述散列,所请求的散列中的每一个散列包括与所请求的数据相对应的唯一数据;以及
访问所述高速缓存;以及
响应于确定所述高速缓存不包括所述散列:
确定与所述客户机设备通信的一个或多个本地对等体是否具有与所述散列相对应的所述数据;
确定哪些本地对等体具有与所述散列相对应的所述数据的哪些部分;以及
从所标识的本地对等体请求所述数据的对应部分。
2.根据权利要求1所述的方法,其中,搜索所述高速缓存以查找所述散列包括:
从所述服务器计算机接收所述散列;以及
响应于确定所述高速缓存没有存储所述散列,生成对所述数据和对所述散列的请求,并将所述数据和所述散列存储在所述高速缓存中。
3.根据权利要求1所述的方法,其中,搜索所述高速缓存以查找所述散列包括:响应于在所述高速缓存中标识出所述散列,从所述高速缓存中获取所述数据。
4.根据权利要求3所述的方法,其中,所述高速缓存包括由所述客户机设备和客户机对等体所提供的分布式高速缓存,并且其中,从所述高速缓存中获取所述数据包括从所述客户机对等体中获取所述数据。
5.根据权利要求4所述的方法,其中,所述客户机设备和所述客户机对等体位于具有受约束的带宽的网络上。
6.根据权利要求1所述的方法,还包括:
在所述客户机设备处生成新数据;
将所述新数据以及对与所述新数据相对应的散列的请求上传到所述服务器计算机;
从所述服务器计算机接收所述散列;以及
将所述散列和所述新数据存储在所述高速缓存中。
7.一种客户机计算机系统,包括:
所述客户机计算机系统中的网络接口单元;
所述客户机计算机系统中的存储器设备,所述存储器设备包含计算机可读指令;以及
所述客户机计算机系统中的处理器,所述处理器通信地耦合到所述存储器设备和所述网络接口单元,所述处理器执行所述计算机可读指令以:
经由所述网络接口单元来接收获取存储在服务器计算机处的数据的请求;
确定在所述客户机计算机系统和所述服务器计算机处是否启用了高速缓存;
响应于基于所述客户机计算机系统和所述服务器计算机拒绝使用散列而确定在所述客户机计算机系统和所述服务器计算机处没有启用高速缓存,经由所述网络接口单元请求来自所述服务器计算机的所述数据;
响应于基于启用了用户可选择的高速缓存模式或所述客户机计算机系统具有高速缓存模式中的至少一者而确定在所述客户机计算机系统处启用了高速缓存,并基于所述服务器计算机具有所述高速缓存模式而确定在所述服务器计算机处启用了高速缓存:经由所述网络接口单元请求来自所述服务器计算机的散列,所述散列对应于所述数据;
通过以下操作来搜索高速缓存以查找所述散列:
确定从所述服务器计算机处接收到了所述散列,所请求的散列中的每一个散列包括与所请求的数据相对应的唯一数据;以及
访问所述高速缓存;
响应于确定所述高速缓存不包括所述散列:
确定与所述客户机设备通信的一个或多个本地对等体是
否具有与所述散列相对应的所述数据;
确定哪些本地对等体具有与所述散列相对应的所述数据的哪些部分;以及
从所标识的本地对等体请求所述数据的对应部分。
8.根据权利要求7所述的客户机计算机系统,其中,所述存储器设备还包括在由所述处理器执行时使得所述处理器进行以下操作的计算机可读指令:
确定所述高速缓存是否存储所述数据;
响应于确定所述高速缓存没有存储所述散列:生成对来自所述服务器计算机的所述数据的请求,并将所述数据和所述散列存储在所述高速缓存中。
9.根据权利要求8所述的客户机计算机系统,其中,所述存储器设备还包括在由所述处理器执行时使得所述处理器进行以下操作的计算机可读指令:响应于在所述高速缓存中标识出所述散列,从所述高速缓存中获取所述数据。
10.根据权利要求9所述的客户机计算机系统,其中,所述高速缓存包括由所述客户机计算机系统和客户机对等体所提供的分布式高速缓存,并且其中,从所述高速缓存中获取所述数据包括从所述客户机对等体中获取所述数据。
11.根据权利要求10所述的客户机计算机系统,其中,所述客户机计算机系统和所述客户机对等体位于分支机构,并且其中所述服务器计算机位于所述分支机构的远程。
12.根据权利要求7所述的客户机计算机系统,其中,所述存储器设备还包括在由所述处理器执行时使得所述处理器进行以下操作的计算机可读指令:
在所述客户机计算机系统处生成新数据;
经由所述网络接口单元将所述新数据以及对与所述新数据相对应的新散列的请求上传到所述服务器计算机;
经由所述网络接口单元从所述服务器计算机接收所述新散列;以及
将所述新散列和所述新数据存储在所述高速缓存中。
13.一种用于管理数据的高速缓存的计算机实现的方法,所述计算机实现的方法包括在服务器处执行计算机实现的操作以用于:
从客户机设备接收对散列的请求;
基于启用了用户可选择的高速缓存模式来确定在所述客户机设备处启用了高速缓存;
基于以下各项中的至少一项来确定将发送所述散列还是与所述散列相对应的数据:与所述散列的大小相比的所述数据的大小,如果所述散列还未存储在所述服务器处则生成所述散列所需要的时间,或者如果所述数据未存储在所述高速缓存中则所述客户机设备与所述服务器之间所需要的通信数量,
其中基于所需要的通信数量来确定将发送所述散列还是所述数据包括:确定如果所述数据未存储在所述高速缓存中则所述客户机与所述服务器之间所需要的通信数量;
如果确定将发送所述散列,则将所述散列发送给所述客户机设备,其中:如果对发送所述散列还是数据的确定是基于所述客户机设备与所述服务器之间所需要的通信数量的,则如果相对于发送所述数据所需要的通信数量需要发送所述散列的较少通信,则发送所述散列;并且如果确定将发送所述数据,则将所述数据发送给所述客户机设备。
14.根据权利要求13所述的计算机实现的方法,其中,来自所述客户机设备的对所述散列的请求包括对数据和指示应该发送散列的标志的请求,并且所述计算机实现的操作还包括:
如果所述标志存在,则...
【专利技术属性】
技术研发人员:M·A·S·S·博斯,S·克拉克,D·C·奥利弗,M·A·马拉泽克,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。