基于网络参数的完整性校验和选择性去重复的制作方法_4

文档序号:9292035阅读:来源:国知局
2、第5和 第8行后,如果步骤314确定可用空间仍小于阈值,则步骤306的第三次执行确定要删除第 6、第9和第10行,因为4是步骤306的第二次执行时所用的使用计数2之后的下一个最低 使用计数,并且因为第6、第9和第10行具有下一个最低计数4。
[0085] 例子
[0086] 图4是按照本发明实施例的、包含由图2A-2B的过程管理的数据包的示例性通信 包。通信包402包括包头404和数据包406。包头404包括哈希函数标识符408、哈希摘要 D1410和其它元数据412。通信包402是已知通信包的扩展,因为包头404额外包含元数据 哈希函数标识符408和哈希摘要D1410。已知的元数据包含在其它元数据412中。
[0087] 通信包402是在步骤218 (见图2A)或步骤228 (见图2B)中发送的通信包的一个 例子。哈希函数标识符408是在步骤210 (见图2A)或步骤212 (见图2A)中选择的哈希函 数的示例性标志符。参看表1的可用哈希函数的例子。数据包406是在步骤214(见图2A) 中为其确定哈希摘要D1的、在步骤218 (见图2A)或步骤228 (见图2B)中要发往第二计算 机系统151 (见图1)、并在步骤244(见图2B)中要发往一个应用程序的数据包的例子。哈 希摘要D1410是在步骤214 (见图2a)中确定的、并在步骤218 (见图2A)或步骤228 (见图 2B)中发往到接收方计算机系统151 (见图1)的哈希摘要的例子。
[0088] 通信包402的一种变体不包括数据包406或者在数据包406中不含数据,是在步 骤224中(见图2B)发送的通信包的例子。如果在步骤224(见图2b)中发送通信包402, 则哈希摘要D1410包含在步骤214 (见图2a)确定的哈希摘要D1,其它元数据412包括在步 骤224(见图2b)中发送的索引。
[0089] 计算机系统
[0090] 图5是按照本发明实施例的、实现图2A-2B和图3的过程的一个计算机系统的框 图。系统500包括第一计算机系统101-1和第二计算机系统151-1,它们彼此通过计算机网 络13〇-1通{目。
[0091] 第一计算机系统101-1 -般包括中央处理单元(CPU) 102 - 1、存储器104-1、输入 /输出(I/O)接口 106-1、总线108-1、以及发送方NIC116-1。此外,计算机系统101-1耦 合到I/O设备110-1和计算机数据存储单元112-1。类似地,计算机系统151-1 -般包括CPU152-1、存储器154-UI/0接口 156-1、总线158-1、以及收件人NIC166-1,并且,计算机 系统151-1耦合到I/O设备160-1和计算机数据存储单元162-1。
[0092] CPU102 - 1和CPU152-1分别执行计算机系统101-1和151-1的计算和控制 功能,包括CPU102 - 1执行监控程序代码518和去重复程序代码520中包含的指令, CPU152-1执行再重复程序代码568中包含的指令,以执行用存储器104-1中的发送方哈希 表522和存储器154-1中的接收方哈希表572管理数据包的方法。代码518和代码520中包 含的指令通过存储器104 - 1被CPU102-1执行。代码568包含的指令通过存储器154 - 1被CPU152-1执行。CPU102 - 1和CPU152-1可以各包含单个处理单元,或分布在一个 或多个位置(例如,在客户端和服务器端)中的一个或多个处理单元。
[0093] 在另一个实施例中,计算机系统101-1也包含其功能与再重复程序代码568的功 能相匹配的再重复程序代码,计算机系统151-1也包含其功能与监测程序代码518和去重 复程序代码520分别相匹配的监测程序代码和去重复程序代码。
[0094] 存储器104-1和存储器154-1可以各自包含以下描述的任何已知的计算机可读存 储介质。在一个实施例中,存储器104-1和存储器154-1的高速缓存存储器元件为至少一 些程序代码(例如,程序代码518和程序代码520)提供临时存储,以减少在程序代码的指 令的执行期间必须从海量存储器中取出代码的次数。此外,存储器104-1和存储器154-1 均可以驻留在各自的单一物理位置,包括一个或多个类型的数据存储,或分布于各种形式 的多个物理系统。此外,存储器104-1和存储器154-1均可以包含分布在局域网(LAN)或 广域网(WAN)的数据。
[0095] I/O接口 106-1和I/O接口 156-1每个都包括用于与外部源交换信息的任何系统。 I/O设备110-1和I/O设备160-1包括任何已知类型的外部设备,包括显示设备(例如,监 视器)、键盘、鼠标、打印机、扬声器、手持设备、传真机、等等。总线108-1和总线158-1分别 提供第一计算机系统101-1和第二计算机系统151-1中的每个组件之间的通信链路,每个 可以包括任何类型的传输链路,包括电气、光学、无线等的传输链路。
[0096] I/O接口 106-1和I/O接口 156-1也允许计算机系统101-1和计算机系统151-1 分别在数据存储单元112-1和计算机数据存储单元162-1、或另一个计算机数据存储单元 (未予示出)存储信息(例如,数据或诸如程序代码518和程序代码520的程序指令)和检 索信息。计算机数据存储单元112-1和计算机数据存储单元162-1均可以包括下文描述的 任何已知的计算机可读存储介质。例如,计算机数据存储单元112-1或计算机数据存储单 元162-1可以是非易失性数据存储设备,如磁盘驱动器(S卩,硬磁盘驱动器)或光盘驱动器 (例如,接受光盘的CD-ROM驱动器)。
[0097] 发送方网卡116-1是将第一计算机系统101-1与网络130-1连接的组件。接收方 网卡166-1是将第二计算机系统151-1与网络130-1连接的组件。
[0098] 存储器104-1和/或存储单元112-1可以存储包含由CPU102 - 1通过存储器 104-1执行以管理数据包的指令的计算机程序代码518和程序代码520。存储器154-1和 /或存储单元可以存储包含由CPU152 - 1通过存储器154-1执行以管理数据包的指令的 计算机程序代码568。虽然图5描述的存储器104-1包括程序代码518和程序代码520,本 发明设想了在存储器104-1中不同时包括所有的代码518和代码520、而是在某一时间只包 括一部分代码518和/或一部分代码520的实施例。虽然图5描述的存储器154-1包括程 序代码568,本发明设想了在存储器154-1中不同时包括所有的代码568、而是在某一时间 只包括一部分代码568的实施例。
[0099] 此外,存储器104-1和存储器154-1可以包含图5中没有显示的其它系统,例如分 别包含在CPU102 - 1上运行的、提供对计算机系统101-1内部的组件和/或连接到计算机 系统101-1的组件的控制的操作系统和在CPU152 - 1上运行的、提供对计算机系统151-1 内部的组件和/或连接到计算机系统151-1的组件的控制的操作系统。
[0100] 在一个实施例中,存储单元112-1和/或连接到计算机系统101-1的一个或多个 其它计算机数据存储单元(未显示)存储发送方哈希表522。在一个实施例中,存储单元 162-1和/或连接到计算机系统151-1的一个或多个其它计算机数据存储单元(未显示) 存储发送方哈希表572
[0101] 所属技术领域的熟练人员应该明白,本发明可以体现为系统、方法或计算机程序 产品。因此,本发明的实施例的一个方面可以采取完全硬件的形式、完全软件的形式(包括 固件、驻留软件、微代码等),或一个方面可以采取这里一般称为"模块"的软件和硬件结合 的形式。此外,本发明的实施例可以采取计算机程序产品的形式,计算机程序产品体现在一 个或多个计算机可读介质(例如,存储器104-1和/或计算机数据存储单元112-1 ;例如, 存储器154-1和/或计算机数据存储单元162-1)上,计算机可读介质上体现或存储着计算 机可读程序代码(例如程序代码518和520 ;例如程序代码568)。
[0102] 可以使用一个或多个计算机可读介质(例如,存储器104-1和计算机数据存储单 元112-1 ;例如,存储器154-1和/或计算机数据存储单元162-1)的任何组合。计算机可 读介质可以是计算机可读存储介质或计算机可读信号介质。在一个实施例中,计算机可读 存储介质是计算机可读存储设备或计算机可读存储装置。计算机可读存储介质可以是一例 如,但不限于一电子、光学、磁性、电磁、或半导体系统、设备、或以上的任何合适的组合。计 算机可读存储介质的更具体的例子的非穷举清单包括:便携式计算机软盘、硬盘、随机存取 存储器(RAM、只读存储器(R0M)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、 便携式紧凑光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备,或上述的任何合适的组 合。在本文的上下文中,计算机可读存储介质是有形介质,可以包含或存储由系统、装置或 设备用于执行指令的程序或与系统、装置或设备关联地用于执行指令的程序(例如,程序 518和520 ;例如,程序568)。然而,术语"计算机可读存储介质"和"计算机可读的存储设 备"不包括传输介质(propagationmedium)。
[0103] 计算机可读介质可以包括基带中或作为载波的一部分的、其中体现有计算机可读 的程序代码的传播数据信号。这样的传播信号可以采取各种形式,包括一但不限于电磁、光 学或它们的任何合适的组合。计算机可读信号介质可以是非计算机可读介质、但是能交流、 传播或传输由系统、装置或设备用于执行指令的程序或与系统、装置或设备关联地用于执 行指令的程序的任何计算机可读存储介质。
[0104] 计算机可读介质上体现的程序代码(例如,程序代码518、520和568),可以用任何 合时的介质发送,包括但不限于无线、有线、光纤电缆、射频(RF)等,或上述的任何合适的 组合。
[0105] 用于执行本发明的各方面的操作的计算机程序代码(例如,程序代码518、520和 568),可以用一个或多个编程语言的任意组合编写,编程语言包括:面向对象的编程语言一 诸如Java?、Smalltalk、C++之类,或常规的过程式编程语言一诸如"C"编程语言之类,或 类似的编程语言。程序代码的指令可以完全地在用户计算机上被执行,部分地在用户计算 机上被执行,作为独立的软件包被执行,部分地在用户计算机上、部分地栽远程计算机上被 执行,或完全地在远程计算机或服务器上被执行,上述用户计算机、远程计算机和服务器例 如可以是计算机系统101-1、计算机系统151-1或具有与图5中的计算机系统101-1或计算 机系统151-1的类似的组件的另一个计算机系统(未予示出)。在后一种情况下,远程计算 机可以通过包括局域网或广域网的任何类型的网络(未予示出)连接到用户计算机,或者 可以(例如使用互联网服务提供商而通过互联网)连接到外部计算机。
[0106] 这里对本发明各方面的描述,参照了按照本发明实施例的方法、装置(系统)和计 算机程序产品的流程图(例如,图2A-2B和图3)和/或框图(例如,图1和图5)。应该明 白,流程图和/或框图中的每个方框,以及流程图和/或框图中的各方框的组合,都可以由 计算机程序指令(例如,程序代码518、520和568)实现。这些计算机程序指令可以被提供 给通用计算机、专用计算机或其它可编程数据处理装置的一个或多个硬件处理器(例如, CPU102 - 1或CPU152-1)以产生一个机器,使得通过处理器(的)计算机或其它可编程 数据处理装置的处理器被执行的这些指令,产生实现流程图和/或框图中描述的功能/操 作的手段。
[0107] 这些计算机程序指令可以也被存储在计算机可读设备(例如,存储器104-1或计 算机数据存储单元112-1 ;例如,存储器154-1或计算机数据存储单元162-1)上,能指令计 算机(例如,计算机系统101-1或计算机系统151-1)、其它可编程数据处理装置或其它设备 以特定的方式的工作,使得计算机可读设备上存储的指令(例如,程序代码518和520 ;例 如,程序代码568)产生一种包括实现流程图和/或框图中描述的功能/操作的制造品。
[0108] 计算机程序指令也可以被加载到计算机(例如,计算机系统101-1或计算机系统 151-1)、其它可编程数据处理装置或其它设备,以导致要在计算机、其它可编程装置、或其 它设备执行的一系列的操作步骤,以生成计算机实现的过程,使得在计算机、其它可编程装 置或其它设备上执行的指令(例如,程序代码518和520 ;例如,程序代码568)提供实现流 程图和/或框图中描述的功能/操作的过程。
[0109] 本发明实施例的任何组成部分,都可以由提供部署或整合计算基础设施以管理数 据包的服务供应商进行部署、管理、服务,等等。因此,本发明的实施例公开了一种支持计算 机基础设施的过程,其中,该过程包括第一计算机系统为在包括一个或多个处理器(例如, CPU102 - 1或CPU152-1)的第二计算机系统(例如,计算机系统101-1或计算机系统 151-1)集成、托管、维护和部署计算机可读代码(例如,程序代码518和520;例如,程序代 码568)的至少一项而提供至少一个支持服务,其中,处理器执行代码中包含的指令,导致 第二个计算机系统来管理数据包。
[0110] 在另一个实施例中,本发明提供一种在订阅、广告和/或收费基础上执行本发明 的过程步骤的方法。就是说,诸如解决方案集成商的服务提供商,可以提供创建、维护、支持 管理数据包的过程。在这种情况下,服务提供上可以创建、维护、支持为一个或多个客户执 行本发明的过程步骤的计算机基础设施。作为回报,服务提供商可以按订阅和/或收费协 议收到客户的付款,和/或可以收到向一个或多个第三方销售广告内容的付款。
[0111] 图2A-2B和图3中的流程图以及图1和图5中的框图,例示了按照本发明的系统、 方法和计算机程序产品的可能实现的体系结构、功能和操作。在这方面,流程图或框图中的 每个方框可代表包含一个或多个用于实现特定逻辑功能的可执行指令的代码(例如,程序 代码518和520 ;例如,程序代码568)的一个模块、片段或部分。还应注意的是,在一些替 代性的实现中,方框中指出的功能可以不按图中指出的顺序出现。例如,顺序显示的两个方 框,实际上可以基本同时地执行;或者,可以以相反的顺序执行方框,这取决于所涉及的功 能。还要指出的是,框图和/或流程图的每个方框以及框图和/或流程图的方框的组合,都 可以由执行指定功能或操作的专用硬件系统实现或者由专用硬件与计算机指令的组合实 现。
[0112] 返回图1,在一个实施例中,第一计算机系统101耦合到I/O设备(未予示出)和 计算机数据存储单元(未予示出),其中,I/O设备和计算机数据存储单元分别具有I/O设 备110-1 (见图5)和计算机数据存储单元112-1 (见图5)的功能。在一个实施例中,第二 计算机系统151耦合到I/O设备(未予示出)和计算机数据存储单元(未予示出),其中, I/O设备和计算机数据存储单元分别具有I/O设备160-1 (见图5)和计算机数据存储单元 162-1 (见图5)的功能。
[0113] CPU102执行第一计算机系统101的计算和控制功能,包括执行在包括监测模块 118和去重复模块120的程序代码中包含的执行管理数据包的方法的指令。在一个实施例 中,在监测模块118和去重复模块120中包含的指令由发送方NIC116中的处理器(未予 示出)通过发送方NIC116中的存储器(未予示出)执行,或由CPU102通过存储器104 执行。在另一个实施例中,在监测模块118和去重复模块120中包含的指令由CPU102通过 存储器104执行。
[0114] CPU152执行第二计算机系统151的计算和控制功能,包括执行包括再重复模块 168的程序代码中包含的执行管理数据包的方法的指令。在一个实施例中,在再重复模块 168中包含的指令由接收方NIC166中的处理
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1