CN101485174B - 用于有效传送先前存储内容的方法和系统 - Google Patents
用于有效传送先前存储内容的方法和系统 Download PDFInfo
- Publication number
- CN101485174B CN101485174B CN2007800248715A CN200780024871A CN101485174B CN 101485174 B CN101485174 B CN 101485174B CN 2007800248715 A CN2007800248715 A CN 2007800248715A CN 200780024871 A CN200780024871 A CN 200780024871A CN 101485174 B CN101485174 B CN 101485174B
- Authority
- CN
- China
- Prior art keywords
- file
- sequence
- data sequence
- client
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Abstract
本发明公开了用于减小网络上传送的文件的文件尺寸的系统和方法。本方法包括接收包含数据序列的第一文件;建立具有对应于交迭数据序列的项目的哈希表;接收包括数据序列的第二文件;比较第二文件中的数据序列的每一个和哈希表中的数据序列以确定出现在第一和第二文件二者中的数据序列;并且建立包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述数据序列的位置和长度的表示的第三文件。
Description
发明领域
本发明涉及互联网和计算机网络内容传送,并且更具体地,涉及用于减小在网络上传送的文件的文件尺寸的系统和方法。
背景技术
在许多网络环境中,带宽是一种紧缺资源。带宽被环境的连接基础结构或者网络上设备的最大传输量或者接收速度所限制。虽然带宽是紧缺的,但是通过减小网络上所传输文件的尺寸可以实现传输时间上的显著的改进。
包括因特网和万维网的网络的另一个共有特征是冗余数据的传输。例如,经常是客户端可以在不同日期请求相同文件来观察已经发生的任何变化。文件数据的大部分是多余的,因为其早已传输给用户。例如,如果文件是新闻的web页面,标题和格式化信息将保持不变。另一个例子,客户端可以在一个小时内多次载入一个文件,例如如果文件为列出更新的体育比分的web页面。在此例中,从一次观看到另一次观看改变的数据仅是比分自身,而队名、队标和格式编排将保持不变。
已经存在多种系统和方法用于利用此冗余来减小所传输文件的尺寸。多个web浏览器存储用户已经浏览的站点的图片,使得如果用户返回这些站点则不需要重新传输。虽然该方法有一定效果,但是其典型的仅限于标准图像文件,并且不能减小包括大量文本、脚本或者格式化信息的页面的文件尺寸。许多web站点使用帧、小应用程序(applet)或者脚本来控制web页面使得仅已经改变的页面的部分将被重新传输。该方法的缺陷是编程站点来使用这些技术通常要求大量的开发时间和资源,并且可以要求重新编码先前存在的文件。因此需要一种方法来影响许多网络传输中发现的冗余以减小所传输文件的尺寸,其可以容易地应用到现存的文件和未来的文件。
发明内容
本发明提供一种有效机制,通过该机制,对于包括先前已经传输的数据的文件,所传输的文件尺寸能够被显著减小。本发明可以使这种减小成为可能而不需要文件特定的、应用特定的或者网络特定的解决方案,并且因此可以不需要大量的开发投入。
在一个方面中,本发明是用于建立对先前存储文件的有效更新的方法。本方法包括接收包含数据序列的第一文件;建立具有对应于交迭数据序列的项目的哈希表;接收包括数据序列的第二文件;比较第二文件中的数据序列的每一个和哈希表中的数据序列以确定出现在第一文件和第二文件二者中的数据序列;存储出现在第一和第二文件二者中的所述数据序列的长度和位置的表示;并且建立包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述数据序列的位置和长度的表示的第三文件。
在另一个方面中,本发明是用于接收对先前存储文件的有效更新的方法。本方法包括接收包含数据序列的第一文件;接收包括数据序列和第一文件中序列的位置和长度的表示的第二文件;并且执行Java脚本函数来建立包括来自第二文件的数据序列和由第二文件指示的第一文件中的序列的第三文件。
在又一方面中,本发明是用于建立对先前存储文件的有效更新的计算机系统。本系统包括收发器,接收第一和第二文件,每一文件包括各自多个数据序列;哈希引擎,其与所述收发器通信并且计算用于第一文件和第二文件中的数据序列的哈希值,其中,至少两个所述序列交迭,并且确定出现在第一和第二文件二者中的数据序列;存储元件,其与所述哈希引擎通信,存储出现在第一和第二文件二者中的所述序列的长度和位置的表示;和处理器,其与所述存储元件通信,建立包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述序列的长度和位置的表示的第三文件。
附图说明
通过参见结合附图的以下描述,本发明的前述和其他目的、方面、特征和优点将会更加明显并更易理解,其中:
图1A和1B是用作客户端-服务器网络中设备的计算或者网络设备的实施例的框图;
图2是描述运行在客户端-服务器网络中的网络装置的实施例的框图;
图3是描述用于建立对先前存储文件的有效更新的方法的一个实施例的流程图;
图4是描述用于建立对先前存储文件的有效更新的方法的另一个实施例的流程图;
图5是描述用于建立和接收对先前存储文件的有效更新的方法的另一个实施例的流程图;
图6是描述用于将来自先前存储的第一文件的第二文件和包括来自第二文件的数据序列以及出现在第一和第二文件二者中的数据序列的位置和长度的表示的第三文件组合的方法的一个实施例的流程图;
图7是描述用于确定文件传输方法的方法的一个实施例的流程图。
具体实施方式
此处描述的服务器和客户端可包括能够处理信息和发送并且接收信息的任何设备,包括但不限于个人计算机、笔记本型计算机、个人数字助理、蜂窝电话、寻呼机、独立计算机服务器、刀片服务器、机架式服务器或者所述任何类型服务器的组合。
图1A和1B描述用做客户端计算设备和服务器计算设备的典型计算机100的框图。如图1A和1B中所示,每个计算机100包括中央处理单元102和主存储单元104。每个计算机100还可以包括其它光学元件,诸如一个或者多个输入/输出设备130a-130b(总的使用附图标记130表示)以及与中央处理单元102通信的高速缓冲存储器140。
中央处理单元102是响应并处理从主存储单元104取出的指令的任意逻辑电路。在很多实施例中,中央处理单元由微处理器单元提供,例如:由位于California,Mountain View的Intel公司生产的微处理器单元;由位于Illinois,Schaumburg的Motorola公司生产的处理器;由位于California,Santa Clara的Transmeta公司生产的Crusoe和Efficeon系列处理器;由位于New York,White Plains的IBM公司生产的系列处理器;或者由位于California,Sunnyvale的AMD公司生产的系列处理器。
主存储单元104可以是能够存储数据并允许微处理器102直接访问任意存储位置的一个或多个存储芯片,例如静态随机存取存储器(SRAM)、突发式SRAM或同步突发SRAM(BSRAM)、动态随机存取存储器(DRAM)、快速页面模式DRAM(FPM DRAM)、增强型DRAM(EDRAM)、扩展数据输出RAM(EDO RAM)、扩展数据输出DRAM(EDODRAM)、突发扩展数据输出DRAM(BEDO DRAM)、增强型DRAM(EDRAM)、同步DRAM(SDRAM)、JEDEC SRAM、PC100 SDRAM、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、直接型Rambus DRAM(DRDRAM)或者铁电RAM(FRAM)。在图1A所示实施例中,处理器102通过系统总线150(下面有更详细的说明)与主存储器104通信。图1B说明了处理器通过存储器端口与主存储器104直接通信的计算机系统100的实施例。例如,在图1B中,主存储器104可以是DRDRAM。
图1A和图1B说明了主处理器102通过次级总线与高速缓冲存储器140直接通信的实施例,次级总线有时也称为后端总线。在其它实施例中,主处理器102使用系统总线150与高速缓冲存储器140通信。高速缓冲存储器140通常具有比主存储器104更快的响应时间,且通常由SRAM、BSRAM或EDRAM提供。
在图1A所示实施例中,处理器102通过局部系统总线150与各种I/O设备130通信。可以使用各种总线将中央处理单元102连接到I/O设备130,包括VESA VL总线、ISA总线、EISA总线、微通道体系结构(MCA)总线、PCI总线、PCI-X总线、PCI-Express总线或NuBus。对于I/O设备是视频显示器的实施例,处理器102可以使用加速图形端口(AGP)与显示器通信。图1B说明了主处理器102通过超传输(HyperTransport)快速I/O或者InfiniBand直接与I/O设备130b通信的计算机系统100的实施例。图1B还说明了混合了局部总线和直接通信的实施例:处理器102使用局部互连总线与I/O设备130a通信,而直接与I/O设备130b通信。
大量各种I/O设备130可以出现在计算机系统100中。输入设备包括键盘、鼠标、轨迹板、轨迹球、麦克风和画图板。输出设备包括视频显示器、扬声器、喷墨打印机、激光打印机和彩色热升华打印机。I/O设备还可以提供用于计算机系统800的大容量存储,诸如硬盘驱动器、用于接收诸如3.5英寸、5.25英寸盘或ZIP盘的软盘驱动器、CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、各种格式的磁带驱动器、USB存储设备,诸如California,Los Alamitos的Twintech Industry公司生产的USB闪烁驱动器系列设备。
在进一步的实施例中,I/O设备130可以是系统总线150和外部通信总线之间的桥接器,外部通信总线诸如USB总线、Apple桌面总线、RS-132串行连接、SCSI总线、FireWire总线、FireWire800总线、以太网总线、AppleTalk总线、千兆位以太网总线、异步传输模式总线、HIPPI总线、超HIPPI总线、SerialPlus总线、SCI/LAMP总线、光纤信道(FibreChannel)总线或串列式小型计算机系统接口总线。
图1A和1B所示类型的通用计算机通常在操作系统的控制下运行,操作系统控制任务的调度和对系统资源的访问。典型的操作系统包括:由位于Washington,Redmond的Microsoft公司生产的MICROSOFT WINDOWS;由位于California,Cupertino的Apple计算机公司生产的MacOS;由位于New York,Armonk的IBM公司生产的OS/2以及由位于Utah,Salt Lake城的Caldera公司发布的免费操作系统Linux,以及其他操作系统。
对于包括移动设备的实施例,该设备可为JAVA驱动的蜂窝电话,例如i55sr、i58sr、i85s或者i88s,这些都是由Illinois,Schaumburg的Motorola公司生产的;由日本,Kyoto的Kyocera生产的6035或7135;或者由韩国首尔的Samsung Electronics有限公司生产的i300或者i330。在包括移动设备的其他实施例中,移动设备可为在Palm0S操作系统控制下运行的个人数字助理(PDA),正如Tungsten W、VII、VIIx、i705,所有这些都由California,Milpitas的palmOne股份有限公司生产。在其他实施例中,客户端113可以是在PocketPC操作系统控制下运行的个人数字助理(PDA),诸如iPAQ4155、iPAQ5555、iPAQ1945、iPAQ2215以及iPAQ4255,所有这些都是由California,Palo Alto的Hewlett-Packard公司生产的;由California,Walnut的ViewSonic制造的ViewSonic V36;或者由New York,New York的Toshiba American股份有限公司生产的Toshiba PocketPC e405。在又一些实施例中,移动设备是组合PDA/电话设备,例如Treo 180、Treo 270、Treo600、Treo 650、Treo 700或者Treo 700w,所有这些都是由California,Milpitas的palmOne股份有限公司生产的。在又一些实施例中,移动设备是在PocketPC操作系统控制下运行的蜂窝电话,例如由Motorola公司生产的MPx200。一个典型的移动设备可包括如以上在图1A和1B中描述的许多元件,包括处理器102和主存储器104。
图2描述客户端-服务器网络中运行的网络装置的实施例的框图。总的来说,多个客户端213a、213b、...213n(总的称之为213)通过网络211连接到网络装置209,网络装置209又连接到包括多个服务器205a、205b、...205n(总的称之为205)的网络211’。客户端213、网络211、服务器205和网络装置209可以包括包含与此处所示的性能、描述、功能、配置基本相似的任何计算设备。
依旧参见图2,更详细地,示出经由网络211’连接到多个服务器205的网络装置209。在所示实施例中,服务器205可以包括能够处理信息和发送并且接收信息的任何设备,包括独立计算机服务器、刀片服务器、机架式服务器或者所述任何类型服务器的组合。服务器还可以包括数据库、文件服务器、web服务器、应用服务器或任意其它类型的服务器。在包括多个服务器的实施例中,服务器可以是相同的服务器,或者可以在种类、型号、类型、内容、性能、适用性或者任何其他方面存在不同。
网络装置209可以执行涉及提供服务给客户端213的任何功能,包括但不限于防火墙服务、SS1池化和加速、TCP池化和加速、数据压缩、连接监控、应用记录、应用加速、应用传送、负载平衡、高速缓存、虚拟化、翻译、重定向、连接池化、代理服务、反向代理服务、验证和会话管理。在一些实施例中,网络装置209可以驻留在与服务器205相同的物理机器上。在一些实施例中,网络装置209可以与服务器205共享处理器、磁盘空间、RAM或者任何其他计算资源。
在所示实施例中,网络装置209连接到网络211、211’。网络211、211’可以包括互联网、局域网、web服务器、文件服务器、路由器、数据库、计算机、服务器和网络装置或者能够发送和接收信息的任何其他计算设备。网络211、211’可以包括通过电缆、红外(IR)端口和无线信号或者连接多个计算设备的任何方式所连接的计算设备。网络211、211’和连接到网络的任何设备可以通过用于在多个计算设备间或者多个计算设备中通信的任何通信协议进行通信,这些协议包括但不限于:SSL、HTML、XML、RDP、ICA、FTP、HTTP、TCP、IP、UDP、IPX、SPX、NetBIOS、NetBEUI、SMB、SMTP、以太网(Ethernet)、ARCNET、光纤分布式数据接口(FDDI)、RS232、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、以及直接异步连接,或者其中任意组合。网络211、211’可以包括采用了用于在移动设备间通信的任一协议或者多个协议的移动电话网络,所述协议包括AMPS、TDMA、CDMA、GSM、GPRS或者UMTS。网络211、211’可以包括物理相异的网络,或者网络211、211’可以包括相同的网络,并且可以使用任何方式连接。在一些实施例中,经由网络211’通信的设备可以使用与经由网络211通信的设备相比专用的或不同的协议。
在任何上述设备之间的基于TCP/IP的通信的实施例中,可以使用任何基于TCP/IP的协议,包括消息应用编程接口(MAPI)(email)、文件传输协议(FTP)、超文本传输协议(HTTP)、通用因特网文件系统(CIFS)协议(文件传输)、独立计算框架(ICA)协议、远程桌面协议(RDP)、无线应用协议(WAP)、移动IP协议,以及IP上的语音(VoIP)协议。也可以使用任何类型和形式的传输控制协议。诸如修改的传输控制协议,例如事务TCP(T/TCP),带有选择确认的TCP(TCPSACK),带有大窗口的TCP(TCP-LW),例如TCP-Vegas协议的拥塞预测协议,以及TCP电子欺骗协议。在其他实施例中,可以使用任何类型和形式的用户数据报协议(UDP),例如IP上的UDP。
现在参见图3,示出用于建立对先前存储文件的有效更新的方法的一个实施例。尽管图3描述的方法在上下文中由网络装置209和客户端213执行,但是该方法可以由此处所讨论的任何计算设备或者独立或者以任何组合来执行。总的来说,该方法包括:接收包括第一多个数据序列的第一文件(步骤301);传输第一文件到客户端(步骤303);接收包括第二多个数据序列的第二文件(步骤309);建立具有多个项目的哈希表,多个项目的每一个对应于第一多个序列中的相应一个,并且其中所述项目的至少两个对应于交迭的数据序列(步骤311);计算用于第二多个数据序列的哈希值(步骤313);比较第二多个数据序列的每一个和来自具有相同哈希值的第一多个序列的序列来确定两个文件中都出现的数据序列(步骤315);存储在第一文件和第二文件二者中出现的所述数据序列的长度和位置的表示(步骤317);建立包括来自第二文件的数据序列以及在第一和第二文件二者中都出现的所述数据序列的长度和位置的表示的第三文件(步骤319);并且发送第三文件到客户端(步骤321)。
依旧参见图3并且现在更详细地,网络装置209接收包括第一多个数据序列的第一文件(步骤301)。在一些实施例中,可以从网络211’、服务器205、数据库或者其中任意组合来接收第一文件。在一些实施例中,第一文件可以从磁盘或者其他存储介质读取,从高速缓存获取,或者从RAM存取。在其他实施例中,第一文件可以从网络装置209上执行的应用或者过程接收。
第一文件可以包括对应于包含该文件的位或者字节序列的数据序列。第一文件可以包括任何文件协议,包括但不限于,HTML、XML、WML、SVG、其它文档协议、图像文件协议、语音文件协议、视频文件协议和二进制文件协议。在一些实施例中,该文件包括web页面或者web页面的部分。在一些实施例中,文件包括以某频率更新的任何web页面,包括但不限于新闻页面、web应用页面、聊天室、公告板、体育页面、电子邮件页面、目录列表、跟踪页面和web摄影(webcam)页面。接收第一文件之后,网络装置209可以存储或者高速缓存第一文件以准许之后的获取。在一些实施例中,网络装置209可以根据此处所述的任何网络装置功能来修改所述第一文件。
在一些实施例中,接收第一文件(步骤301)之后,网络装置209传输第一文件到客户端(步骤303)。网络装置209可以经过此处所述的任何网络或者协议传输第一文件到此处所述的任何客户端。网络装置209可以根据网络装置执行的任何功能来修改第一文件,包括压缩、加速和加密。尽管图3描述的网络装置209在步骤301之后立即传输第一文件,在其他实施例中,所述传输可以在网络装置209接收第一文件(步骤301)之后发生的任何步骤(步骤305-321)之后发生。
在一些实施例中,网络装置209可以存储所述传输的记录。所述记录可以存储在任何存储元件中,包括数据库或者高速缓存。在一个实施例中,网络装置209可以存取所述高速缓存来确定给定文件是否先前已经传输到客户端。在一个实施例中,可以设置所述记录以在设定时间之后终止。例如,如果网络装置209具有指示在每一天结束时给定客户端213删除来自其高速缓存的所有文件的信息,则网络装置可以设置传输到客户端213的文件的所有记录在每一天结束时终止。
在所示实施例中,网络装置209传输第一文件到客户端213(步骤303)之后,客户端可以随后接收第一文件(步骤305),显示第一文件(步骤307),并且存储第一文件(步骤308)。客户端可以根据此处所述任何实施例来执行这些步骤。
在所示实施例中,网络装置209传输第一文件到客户端213(步骤303)之后,网络装置接收包括第二多个数据序列的第二文件(步骤309)。在其他实施例中,网络装置209可以在传输第一文件到客户端(步骤303)之前或期间接收第二文件(步骤309)。第二文件可以包括此处所述的任何的文件类型、协议、web页面和web页面的部分。接收到第二文件之后,网络装置209可以存储或者高速缓存第二文件以准许随后的获取。在一些实施例中,网络装置209可以根据此处所述的任何网络装置功能来修改所述第二文件。
在接收包括第二多个数据序列的第二文件之后(步骤309),网络装置可以建立具有多个项目的哈希表,多个项目中的每一个对应于第一多个序列中的相应一个,并且其中所述项目的至少两个对应于交迭的数据序列(步骤311)。所述哈希表可以根据任意已知的哈希表算法来建立,所述哈希表算法提供功能性以作为项目存储数据序列或者对数据序列的引用并且随后有效搜索所述表的匹配给定序列的项目。在其他实施例中,网络装置可以在接收第二文件(步骤309)之前或者期间建立哈希表(步骤311)。
在一些实施例中,哈希表中的项目可以对应于来自包括字节序列的第一文件的数据序列。字节序列可以是任意长度。在一个实施例中,序列是四字节序列。
在所示实施例中,至少两个哈希表项目对应于交迭的数据序列。交迭的序列可以具有共同的任意数量的字节。例如,如果文件包括序列“abcdefghijklmnop”,四字节序列交迭的例子包括“cdef”和“defg”,还有“cdef”和“fghi”。在一个实施例中,哈希表项目对应于连续的交迭字节序列。例如,如果文件包括序列“abcdefg”,包括至少两个连续交迭四字节序列的哈希表可以包括对应于序列“abcd”“bcde”“cdef”和“defg”的项目。
在一些实施例中,哈希表项目在给定时刻可以仅对应于来自第一文件的给定部分或者“窗口”的数据序列。如果整个文件被立刻哈希的话,这允许该哈希表的尺寸小于该哈希表的可能的尺寸。在一些实施例中,仅哈希第一文件的第一个X个字节,并且随后根据一些条件的发生,从表中移除Y个项,随后在表中加入Y个项。在一个实施例中,使用64K字节的窗口尺寸,并且根据特定条件的发生,窗口以32K字节移动。在此实施例中,哈希来自第一文件的第一个64K字节的序列,并且随后根据特定条件的发生,移除对应于来自文件的第一个32K字节的序列的项目,并且加入对应于来自文件的下一个32K字节的序列的项目。
移动哈希窗口所基于的条件可以是改进哈希算法的执行时间、性能或者压缩的任何条件。在一个实施例中,在窗口的给定一半中已经发现超过85%的序列匹配时则移动窗口。在另一个实施例中,当给定比例的第二文件已经和已有哈希项目比较时则移动窗口。在一个实施例中,对于已经与第一文件相比的第二文件的适当部分,当哈希值已经被计算并且被比较时则移动窗口。例如,如果第一文件为100K字节,第二文件是80K字节,当第二文件的80/100*64K字节已经和哈希表中的序列相比较时可以移动哈希窗口。
网络装置209建立哈希表之后(步骤311),网络装置209可以随后计算所述第二多个数据序列的哈希值(步骤313)。根据用于计算第一多个序列的哈希值的相同的方法来计算所述哈希值。网络装置209可以以与其从第一文件选择数据序列相同的方式来从第二文件选择数据序列。例如,如果网络装置209建立的哈希表项目对应于来自第一文件的连续交迭的四字节序列,网络装置可以选择来计算来自第二文件的连续交迭的四字节序列的哈希值。
在计算第二多个数据序列的一些或者全部的哈希值(步骤313)之后,网络装置209可以比较第二多个数据序列的每一个与来自具有相同哈希值的第一多个序列的序列以确定在两个文件中都出现的数据序列(步骤315)。网络装置可以根据当前可用的任何哈希算法执行该步骤。所述比较可以包括比较匹配的序列的随后字节以确定更长的匹配。例如,第一文件可以包括序列“abcdefghijklmno”并且第二文件可以包括序列“zyxwvutcdefghituv”。如果在连续四字节序列上作哈希,网络装置209可以确定序列“cdef”在两个文件中都出现。网络装置209随后比较匹配序列的随后字节以确定序列“cdefghi”出现于两个文件二者中。因此,在一些实施例中,确定出现于两个文件二者中的序列的长度可以随计算哈希值的序列的长度改变。在一些实施例中,可以设置匹配序列上的最小和最大长度。
确定出现于两个文件中的数据序列(步骤315)之后,网络装置209可以存储出现在第一和第二文件二者中的所述数据序列的长度和位置的表示(步骤317)。网络装置209可以在任何存储介质中存储该表示,诸如高速缓存、RAM、磁盘或者磁带。在一些实施例中,网络装置209可以在网络装置209自身上存储该表示。在其他实施例中,网络装置209可以在另一个计算设备100上存储该表示。在一些实施例中,可以存储数据序列的长度和位置,而网络装置209正比较第二多个数据序列的每一个和来自于具有相同哈希值的第一多个序列的序列(步骤313)。在其他实施例中,对于要存储的给定序列的长度和位置,可以要求最小长度。在一个实施例中,最小长度可以指定为四字节。
在两个文件中都出现的所述序列的长度和位置的表示可以包括识别序列的长度和位置的任何表示。在一些实施例中,所述序列的位置被存储为文件中的绝对位置。在其他实施例中,所述序列的位置被存储为所述第一文件中相对于一个给定参考指针的位置。在一个实施例中,所述参考指针可以被固定,在另一个实施例中,所述参考指针可以根据设置的规则移动。
在一个实施例中,参考指针可以被初始设置指向第一文件的开始。指针随后可以在每次发现存在多于5字节的匹配序列后增加。指针可以被增加到指向第一文件中匹配序列的最后一个字节加一。在此实施例中,在两个文件中都出现的所述序列的位置可以被存储为从参考指针的位置起正向或者负向的给定数量字节。
在一些实施例中,所匹配序列的长度和位置被存储为固定长度整数。在一个实施例中,所匹配序列的长度被存储为1字节整数,其中整数表示介于4到1027字节的长度。在此实施例中,所匹配序列的字节长度被限制为4的倍数。在其他实施例中,任何其他位或者字节长度整数可以被用于存储所述序列长度。在又一些实施例中,任何其他限制可以被施加到所匹配序列的字节长度,包括最小和最大长度以及限制字节长度到给定倍数。在又一些实施例中,所匹配序列的长度可以存储为可变长度整数。在一些实施例中,所匹配序列的位置可以被存储为可变长度整数。在其他实施例中,所匹配序列的位置可以被存储为给定字节或者位长度的固定长度整数。
网络装置209存储出现在第一和第二文件二者中的所述数据序列的长度和位置的表示(步骤317)之后,网络装置209可以建立包括来自第二文件的数据序列和在第一和第二文件中都出现的数据序列的位置和长度的表示的第三文件。所述建立(步骤317)可以发生在所匹配序列的所有长度和位置都存储之后,或者所述建立(317)可以与发现所匹配序列同时发生。第三文件可以包含此处所述任何格式的长度和位置的表示。在一些实施例中,特殊的字节或者位序列可以位于共享序列的长度和位置之前。
例如,如果第一文件包括字符串“abcdefghijklmnop”,第二文件包括字符串“xxxxxxxdefghijkxxxxxxcdefxxx”,第三文件可以包括序列“xxxxxxx3,8xxxxxx2,4xxx”。在此例中,3、8用于指明一个表示,以指示从第一文件的字节3开始并且8字节长的序列(在一些实施例中该表示可以是两个固定长度的二进制整数)。同样地,2、4指明一个表示,以指示从第一文件的字节2开始并且4字节长的序列。
作为另一个例子,如果第一文件包括包括字符串“abcdefghijklmnop”,第二文件包括字符串“xxxxxxxdefghijkxxxxxxcdefxxx”,第三文件可以包括序列“xxxxxxx3,8xxxxxx-9,4xxx”。在此例中,共享序列的位置被存储为与参考指针的相对距离,根据上述方法递增。在此例中,网络装置209以与上例相同方式指示第一所匹配序列,因为参考指针初始指向第一文件的开始。参考指针随后增加到指向第一文件中匹配序列的最后一个字节加一的位置。因此,第二匹配序列被指示为-9、4,其指示第二所匹配序列发生在紧随第一文件中之前所匹配序列的字节之前的9个字节。
在一个实施例中,第三文件可以以字节协议编码,诸如ASCII。在一个实施例中,二进制数据的每一组7个字节可以被编码为8个字节的ASCII字符。这种转化可以使用任何公知的转化方法实现。ASCII字符可以对应于任何现有的字符集定义,包括ISO-8859-1。在一些实施例中,第三文件可以包括HTML文件。在一个实施例中,第三文件可以包括Java脚本变量,该Java脚本变量包括来自第二文件的所述数据序列和出现在第一和第二文件二者中的所述数据序列的位置和长度的表示。在一个实施例中,第三文件还可以包括含有用于通过处理所述Java脚本变量来组合所述第二文件的功能的Java脚本函数。在其他实施例中,第三文件可以包括对含有所述功能的Java脚本函数的引用。
以下HTML代码示出可以被传输到客户端的第三文件的一个例子。
<HTML>
<HEAD>
<SCRIPT>
var updateFile=″~~~~~"
<SCRIPT>
</HEAD>
<BOD Y onload=createPage(updateFile)>
</BODY>
</HTML>
在上述例子中,HTML文件包括命名为“updateFile”的Java脚本变量。该变量可以包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述数据序列的长度和位置的表示。上述例子还包括对命名为“createPage”的Java脚本函数的调用。所述函数或者可以包括在HTML文件中或者存储在客户端上,其可以包括用于使用来自Java脚本变量“updateFile”的数据来组合所述第二文件的功能。在上述例子中,标准HTML浏览器可以在载入HTML页面时执行“createPage”函数。“createPage”函数还可以包括用于一旦第二文件被组合则改变HTML页面来显示所述第二文件的功能。
建立包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述数据序列的位置和长度的表示的第三文件(步骤319)之后,并且网络装置209可以传输第三文件到客户端(步骤321)。所述传输可以通过此处讨论的任何的网络和方法发生。网络装置209可以根据网络装置209所执行的包括压缩、加速和加密的任何功能来修改第三文件。
传输第三文件到客户端(步骤321)之后,客户端213可以接收第三文件(步骤323),执行Java脚本函数以重新建立包括来自第二文件的数据序列和第三文件所指示的第一文件中的序列的第二文件(步骤325);并且显示第二文件(步骤327)。客户端213可以根据此处描述的任何实施例执行这些步骤。
现在参见图4,示出描述用于建立对先前存储文件的有效更新的方法的另一个实施例的流程图。总的来说,该方法包括使用对应于第一文件中的交迭数据序列的项目建立哈希表(步骤311);设置参考指针指向所述第一文件的开始(步骤401);计算用于第二文件的数据序列的哈希值(步骤313);并且确定在两个文件二者中是否都出现所述序列(步骤315)。该方法随后还可以包括或者移动到第二文件中的下一序列(步骤409)或者确定匹配序列的总长度(步骤403)并且确定所述长度是否超过最小阈值(步骤405)。该方法还可以包括或者移到第二文件中的下一序列(步骤409)或者存储相对于参考指针的匹配序列的长度和位置(步骤317)。该方法还可以包括设置参考指针指向第一文件中的匹配序列的最后一个字节加一(步骤407)并且随后移到第二文件中的下一序列(步骤409)。在所述实施例中,可以由网络装置209执行该方法。
依旧参见图4,现在更详细地,网络装置209使用对应于第一文件中的交迭数据序列的项目建立哈希表(步骤311)。可以根据用于建立此处所述哈希表的任何方法来执行该步骤。
在使用对应于第一文件中的交迭数据序列的项目建立哈希表(步骤311)之后,网络装置209可以设置参考指针指向所述第一文件的开始(步骤401)。该参考指针可以包括任何类型的指针。
设置参考指针指向第一文件的开始(步骤401)之后,网络装置209可以计算用于第二文件的数据序列的哈希值(步骤313)。可以根据用于计算此处所述哈希值的任何方法来执行该步骤。
计算用于第二文件的数据序列的哈希值(步骤313)之后,网络装置209可以确定在两个文件中是否都出现所述序列(步骤315)。可以根据此处所述的任何方法来执行该步骤。
如果不是在两个文件中都出现一个序列,网络装置209可以移动到第二文件的下一个序列(409)。所述下一序列可以包括发生在第二文件中给定序列之后的任何序列。在一个实施例中,下一个序列可以是前一序列之后开始一字节的序列。在另一个实施例中,下一序列可以是前一序列之后开始任何其他数量个字节的序列。在一些实施例中,移动到第二文件的下一个序列(步骤409)可以伴以上述的移动哈希窗。如果不存在下一个序列,该方法可以终止。
如果在两个序列中都出现一个序列,网络装置209可以通过比较所匹配序列的随后的字节来确定匹配序列的总长度(步骤403)。根据此处所述的任何方法可以确定总长度。
网络装置209随后可以确定匹配序列的总长度是否超过一个给定阈值(步骤405)。可以根据此处所述的任何方法做出该确定。如果匹配序列的长度没有超过最小阈值,网络装置209可以移动到第二文件的下一个序列。
如果该长度超过最小阈值,网络装置209可以随后根据此处所述的任何方法存储匹配序列的长度和相对于给定参考指针的位置。网络装置209可以随后根据此处所述任何方法增加参考指针(步骤407)。网络装置209随后可以移动到第二文件的下一个序列(步骤409)。
现在参见图5,示出用于有效接收对先前存储文件的更新的方法的一个实施例。总的来说,所述方法包括:接收组合函数(步骤503);接收包括数据序列的第一文件(步骤305);显示所述第一文件,存储所述第一文件(步骤308);接收包括数据序列和在第一文件中的序列的位置和长度的表示的第三文件(步骤323);执行Java脚本函数以建立包括来自第二文件的数据序列和由第三文件指示的第一文件中的序列的第二文件(步骤325);并且显示所述第二文件(步骤327)。
依旧参见图5,现在更详细地,网络装置209可以传输组合函数。所述组合函数可以包括用于使用包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述数据序列的位置和长度的表示的文件来组合第二文件的任何计算机可读程序装置。所述组合函数可以包括任何编程或者脚本语言,包括Java脚本或者Java。在一些实施例中,可以根据此处所述的任何其他网络装置函数来传输该组合函数。在一个实施例中,该组合函数可以包括在提供其它客户端侧加速功能的程序中。
在所示实施例中,网络装置209传输组合函数(步骤501)之后,客户端213接收组合函数(步骤503)。客户端可以通过此处所述的任何网络、协议或者计算设备来接收所述组合函数。在一些实施例中,客户端213从网络装置209接收组合函数。在一个实施例中,组合函数可以被包括作为客户端侧加速程序的部分。在其他实施例中,组合函数可以通过发送软件的任何方法被安装在客户端213上,该方面包括通过磁盘或者其他便携存储设备。
在所示实施例中,接收组合函数(步骤503)之后,客户端213接收包括数据序列的第一文件。在所示实施例中,客户端213从网络装置209接收第一文件。在其他实施例中,客户端213可以从任何计算设备接收第一文件。所述文件可以包括此处所述任何文件类型或者协议。
客户端213接收包括数据序列的第一文件(步骤305)之后,客户端213可以显示所述第一文件(步骤307)。可以以任何对于给定文件合适的方式显示该文件。在一些实施例中,文件可以被显示在web浏览器中。在其他实施例中,文件可以被显示在商业应用中,诸如字处理器或者电子数据表。在又一些实施例中,文件可以包括独立应用并且被照此显示。在一些实施例中,文件可以对应于运行在虚拟计算环境中的应用。在一个实施例中,文件可以对应于远程执行应用。在其他实施例中,文件可以对应于流应用。
客户端213显示所述第一文件(步骤307)之后,客户端213可以存储所述第一文件(步骤308)。客户端213可以存储第一文件到任何存储元件中,包括存储在高速缓存、磁盘、闪烁存储器或者RAM中。在一些实施例中,客户端213可以压缩文件用于存储。在其他实施例中,客户端213可以仅存储文件的部分。在一些实施例中,客户端213可以在显示所述第一文件(步骤307)之前或者期间来存储所述第一文件(步骤308)。
客户端213存储所述第一文件(步骤308)之后,所述客户端213可以接收第三文件(步骤323)。在所示实施例中,客户端213从网络装置209接收第三文件。在其他实施例中,客户端213可以从任何计算设备接收第三文件。所述文件可以包括此处所述的任何文件类型或者协议。在一些实施例中,该文件可以包括ASCII字符。在其他实施例中,该文件可以包括二进制数据。
客户端213接收所述第三文件(步骤323)之后,客户端可以执行Java脚本函数来组合第二文件(步骤325)。在一些实施例中,Java脚本函数可以被包括在所述第三文件中。在其他实施例中,该Java脚本函数可以已经存储在客户端213上。在一些实施例中,Java脚本函数可以在客户端侧加速程序中提供。在一些实施例中,第三文件可以包括到客户端213可以下载Java脚本函数的位置的链接。
Java脚本函数可以执行此处所述的任何技术或者任何技术的逆操作来组合所述第二文件。在一些实施例中,Java脚本函数可以包括在步骤503接收的组合函数。在其他实施例中,Java脚本函数可以包括对所述组合函数的引用。在又一些实施例中,所述Java脚本函数可以包括用于下载所述组合函数的方法。
执行Java脚本函数以组合所述第二文件(步骤325)之后,所述客户端可以显示所述第二文件(步骤327)。该文件可以根据此处所述用于显示文件的任何方法来显示。
现在参见图6,示出用于将来自先前存储的第一文件的第二文件和包括来自第二文件的数据序列以及出现在第一和第二文件二者中的数据序列的位置和长度的表示的第三文件组合的方法的一个实施例。总的来说,该方法包括读取来自第三文件的数据集(步骤601)并且确定所述数据集是否对应于出现在第一和第二文件二者中的所述数据序列的位置和长度(步骤603)。所述方法还可以包括在所述第一文件中的指定位置读取指定长度的字节(步骤605);将所述字节加到第二文件(步骤607);将参考指针增加到指向从第一文件读取的字节的最后一个字节加一的位置(步骤609);并且移到来自所述第三文件的下一数据集(步骤613)。在一个实施例中,所述方法可以由客户端213执行。在另一个实施例中,所述方法可以由图5描述的组合函数来执行。
依旧参见图6,现在更详细地,客户端213可以设置参考指针指向第一文件的开始。这可以根据此处所述的任何方法来执行。
设置参考指针(步骤601)之后,客户端213可以从第三文件读取数据集(步骤602)。所述数据集可以包括所述第三文件的任何数量的位或者字节。在一个实施例中,所述数据集随后存储在存储元件或者高速缓存中。
读取所述数据集(步骤602)之后,客户端213可以确定所述数据集是否对应于在第一文件中的序列的长度和位置。在一个实施例中,客户端可以确定所述数据集是否包括特殊字符或者位序列。
如果所述数据集不对应于在第一文件中的序列的长度和位置,客户端213可以将所述数据集加到第二文件(步骤611)。所述加可包括添加所述数据集到第二文件的末尾。客户端213可以随后移动到来自第三文件的下一数据集(步骤613)。
如果所述数据集对应于在第一文件中的序列的长度和位置,客户端213随后可以在第一文件中的指定位置读取指定长度的字节(步骤605)。客户端可以通过识别此处描述的长度和位置的任何表示来确定所指定的长度和位置。在一个实施例中,客户端可以随后存储所述指定字节到存储元件或者高速缓存中。
在第一文件中的指定位置读取指定长度的字节(步骤605)之后,客户端213随后可以将所述字节加到所述第二文件(步骤607)。所述加可以包括添加所述字节到第二文件的末尾。
客户端213可以随后将参考指针增加到指向从第一文件读取的字节的最后一个字节加一的位置(步骤609)。这可以根据此处所述的任何方法来执行。客户端213随后可以移到来自第三文件的下一数据集(步骤613)。
现在参见图7,示出用于确定文件传输方法的方法的一个实施例。所述方法可以由上述的任何机器或者机器的组合来执行,尽管以下所述的实施例该方法由网络装置209执行。总的来说,该方法包括接收来自客户端213对资源的请求(步骤701);发送对所述客户端的性能的请求(步骤703);接收传达所述客户端性能的信息(步骤705);并且确定文件传输方法(步骤707)。
依旧参见图7,现在更详细地,网络装置209接收来自客户端的请求(步骤701)。在一个实施例中,从客户端接收请求(步骤701)包括直接从客户端接收请求。在其他实施例中,来自客户端213的请求可以从上述的任何网络、连接和装置接收。所述请求可以包括前述的任何协议。在一些实施例中,该请求可以包括完全如从客户端213传输的请求。在其他实施例中,该请求可以包括对来自客户端213的初始请求的修改。所述修改可以包括在提供上述任何网络装置服务过程中的修改,对内容、格式、协议、寻址、标题或请求的其它部分的修改,来自于客户端213的请求或者是新请求。请求可以包括由客户端213直接请求的资源,并且可以包括在执行用于客户端213的任何服务过程中所请求的资源。
从客户端接收请求(步骤701)之后,网络装置209发送对所述客户端性能的请求(步骤703)。在一个实施例中,所述请求可以被发送到客户端213。在另一个实施例中,请求可以被发送到收集代理,如美国专利申请序列号10/956832“A METHOD AND APPARATUS FOR ASSIGNING ACCESS CONTROLLEVELS IN PROVIDING ACCESS TO NETWORKED CONTENT FILES”中所述,其内容通过引用明确引入。所述收集代理可以驻留在与发送该请求的网络装置同一个物理机器上,或者它们可以驻留在不同的物理机器上。所述请求也可以被发送到文件、高速缓存、数据库、服务器、执行应用或者关于客户端213的任何其他信息源。
发送对客户端性能的请求(步骤703)之后,网络装置209接收传达所述客户端性能的信息(步骤705)。所述信息可以从客户端213、收集代理、文件、高速缓存、数据库、服务器、执行应用或者关于客户端213的任何其他信息源中接收。所述信息可以包括但不限于客户端节点213的机器ID、操作系统类型、操作系统的现存补丁、所安装网卡的MAC地址、客户端设备上的数字水印、活动目录中的成员、病毒扫描器的存在、个人防火墙的存在、HTTP头、浏览器类型、设备类型、网络连接信息、授权证书和以上优选讨论的任何其他性能。在一些实施例中,网络装置可以存储或者高速缓存所述信息用于之后的获取。
接收传达所述客户端性能的信息(步骤705)之后,网络装置可以确定对应于所述客户端213的文件传输方法(步骤707)。可以基于任何所接收到的任一信息做出所述确定。
在一些实施例中,响应在步骤705接收的信息,网络装置209可以确定根据图3中所述用于建立对先前存储文件的有效更新的方法来传输文件。在一个实施例中,响应对应于客户端213存储器尺寸、连接速度、连接带宽、处理器速度或者存储文件的之前存在的信息,做出该确定。
在一些实施例中,网络装置209可以响应步骤705接收的信息来确定以传输组合函数到客户端213。例如,如果网络209接收到客户端213不具有组合函数的信息以及指示客户端213有能力执行组合函数的信息,网络装置可以传输组合函数到客户端213。在一些实施例中,所述组合函数可以与任何其他文件一起传输,包括请求的内容文件、或者根据网络装置209的函数传输的其他文件。在一些实施例中,网络装置可具有多个组合函数。例如,网络装置209可以具有优选用于不同计算环境、操作系统和硬件配置的多个组合函数。网络装置随后可以响应步骤705接收到的信息来确定哪个组合函数传输到客户端213。
虽然本发明参考具体优选实施例来详细示出和说明,本领域内的普通技术人员应该理解在不脱离由所附权利要求书限定的本发明的精神和范围的情况下,可以对本发明在形式和细节上作出多种改变。
Claims (26)
1.一种用于建立对先前存储文件的有效更新的方法,所述方法包括:
(a)接收包含第一多个数据序列的第一文件;
(b)接收包括第二多个数据序列的第二文件;
(c)建立具有多个项目的哈希表,多个项目的每一个对应于第一多个序列的相应一个,并且其中至少两个所述项目对应于交迭数据序列;
(d)计算所述第二多个数据序列的哈希值;
(e)比较所述第二多个数据序列的每一个和来自于第一多个序列中的具有相同哈希值的序列以确定在两个文件中都出现的数据序列;
(f)存储出现在第一和第二文件二者中的所述数据序列的长度和位置的表示;并且
(g)建立包括来自第二文件的数据序列和出现在第一和第二文件二者中的所述数据序列的位置和长度的表示的第三文件。
2.权利要求1所述的方法,其中,步骤(c)包括建立具有对应于所述第一文件中连续、交迭字节序列的项目的哈希表。
3.权利要求1所述的方法,其中,步骤(c)包括建立具有对应于所述第一文件中连续、交迭的四字节长度的序列的项目的哈希表。
4.权利要求1所述的方法,其中,步骤(c)包括建立具有对应于包括所述第一文件的给定N字节的窗口中的数据序列的项目的哈希表。
5.权利要求1所述的方法,其中,步骤(d)包括:
(i)计算所述第二文件中的给定数据序列的哈希值;
(ii)对于对应于所述哈希值的项目,检查所述哈希表;
(iii)比较来自所述第二文件的所述数据序列与所述第一文件中对应于所述哈希表项目的数据序列;并且
(iv)比较来自所述第二文件的所述序列之后的字节和第一文件中所述序列之后的字节以确定出现在第一和第二文件二者中的序列的总长度。
6.权利要求1所述的方法,其中,步骤(g)包括建立包括来自所述第二文件的数据序列和出现在第一和第二文件二者中的序列的位置和长度的表示的第三文件,其中所述位置被表示为与所述第一文件中的位置的相对距离。
7.权利要求1所述的方法,其中,步骤(g)包括建立包括来自所述第二文件的数据序列和出现在第一和第二文件二者中的序列的位置和长度的表示的第三文件,其中使用字节编码协议将所述第三文件转换为字节序列。
8.权利要求1所述的方法,还包括步骤:
(h)将所述第三文件传输到客户端。
9.权利要求8所述的方法,其中步骤(h)包括经HTTP传输所述第三文件到客户端。
10.权利要求8所述的方法,其中步骤(h)包括经Java脚本变量传输所述第三文件到客户端。
11.权利要求8所述的方法,其中步骤(h)包括传输所述第三文件到客户端用于重新组合到所述第二文件中。
12.一种用于有效接收对先前存储文件的更新的方法,所述方法包括:
(a)接收包含数据序列的第一文件;
(b)接收包括来自第二文件的数据序列和在第一文件和第二文件中都出现的序列的位置和长度的表示的第三文件;并且
(c)执行Java脚本函数来重新建立包括来自第二文件的数据序列和由第三文件指示的第一文件中的序列的第二文件。
13.权利要求12所述的方法,其中,所述第三文件包括Java脚本变量,所述Java脚本变量包括数据序列和在所述第一文件和第二文件中都出现的序列的位置和长度的表示。
14.权利要求12所述的方法,其中,步骤(b)包括接收包括来自第二文件的数据序列和在所述第一文件和第二文件中都出现的序列的位置和长度的表示的第三文件,其中所述位置被表示为与所述第一文件中的位置的相对距离。
15.权利要求14所述的方法,其中,步骤(c)包括:
(i)维护初始指向所述第一文件的开始的参考指针;
(ii)基于所接收的指示第一文件中的序列与参考指针的距离的信息,识别来自所述第一文件的序列;并且
(iii)设置所述参考指针指向所述第一文件中序列的最后一个字节加一。
16.一种用于建立对先前存储文件的有效更新的计算机系统,所述系统包括:
收发器,其接收第一和第二文件,每一文件包括各自多个数据序列;
哈希引擎,其与所述收发器通信并且计算第一文件和第二文件中的数据序列的哈希值,其中,第一文件中的至少两个所述序列交迭,并且确定出现在第一和第二文件二者中的数据序列;
存储元件,其与所述哈希引擎通信,并且存储出现在第一和第二文件二者中的所述序列的长度和位置的表示;和
处理器,其与所述存储元件通信,并且建立包括来自所述第二文件的数据序列和出现在两个文件中的所述序列的长度和位置的表示的第三文件。
17.权利要求16所述的计算机系统,其中,所述哈希引擎计算所述第一文件中连续、交迭字节序列的哈希值。
18.权利要求16所述的计算机系统,其中,所述哈希引擎计算所述第一文件中连续、交迭的四字节长度的序列的哈希值。
19.权利要求16所述的计算机系统,其中,所述哈希引擎计算包括所述第一文件的给定N字节的窗口中的数据序列的哈希值。
20.权利要求16所述的计算机系统,其中,所述哈希引擎比较出现在第一和第二文件二者中的序列之后的字节以确定出现在第一和第二文件二者中的数据序列的总长度。
21.权利要求16所述的计算机系统,其中,所述处理器建立包括来自所述第二文件的数据序列和在所述第一文件和第二文件中都出现的数据序列的位置和长度的表示的第三文件,其中所述位置被表示为与所述第一文件的参考指针的相对距离。
22.权利要求16所述的计算机系统,其中,所述处理器将所建立的第三文件转换为字节流。
23.权利要求16所述的计算机系统,其中,所述计算机系统还包括传输器,用于将所述第三文件传输到客户端。
24.权利要求23所述的计算机系统,其中,所述传输器经HTTP传输所述第三文件到客户端。
25.权利要求24所述的计算机系统,其中,所述传输器经Java脚本变量传输所述第三文件到客户端。
26.权利要求24所述的计算机系统,其中,所述传输器传输所述第三文件到客户端用于重新组合到所述第二文件中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/428,058 US7756826B2 (en) | 2006-06-30 | 2006-06-30 | Method and systems for efficient delivery of previously stored content |
US11/428,058 | 2006-06-30 | ||
PCT/US2007/072490 WO2008005840A2 (en) | 2006-06-30 | 2007-06-29 | Method and systems for efficient delivery of previously stored content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101485174A CN101485174A (zh) | 2009-07-15 |
CN101485174B true CN101485174B (zh) | 2012-08-22 |
Family
ID=38878037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800248715A Active CN101485174B (zh) | 2006-06-30 | 2007-06-29 | 用于有效传送先前存储内容的方法和系统 |
Country Status (11)
Country | Link |
---|---|
US (2) | US7756826B2 (zh) |
EP (1) | EP2044755B1 (zh) |
JP (1) | JP2009543227A (zh) |
KR (1) | KR20090034321A (zh) |
CN (1) | CN101485174B (zh) |
AU (1) | AU2007269315B2 (zh) |
BR (1) | BRPI0713874A2 (zh) |
CA (1) | CA2655020A1 (zh) |
HK (1) | HK1128840A1 (zh) |
IL (1) | IL196034A0 (zh) |
WO (1) | WO2008005840A2 (zh) |
Families Citing this family (166)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9275052B2 (en) * | 2005-01-19 | 2016-03-01 | Amazon Technologies, Inc. | Providing annotations of a digital work |
US9672533B1 (en) | 2006-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Acquisition of an item based on a catalog presentation of items |
US8725565B1 (en) | 2006-09-29 | 2014-05-13 | Amazon Technologies, Inc. | Expedited acquisition of a digital item following a sample presentation of the item |
US7865817B2 (en) | 2006-12-29 | 2011-01-04 | Amazon Technologies, Inc. | Invariant referencing in digital works |
US7716224B2 (en) | 2007-03-29 | 2010-05-11 | Amazon Technologies, Inc. | Search and indexing on a user device |
US9665529B1 (en) | 2007-03-29 | 2017-05-30 | Amazon Technologies, Inc. | Relative progress and event indicators |
US8990215B1 (en) | 2007-05-21 | 2015-03-24 | Amazon Technologies, Inc. | Obtaining and verifying search indices |
US20080307233A1 (en) * | 2007-06-09 | 2008-12-11 | Bank Of America Corporation | Encoded Data Security Mechanism |
JP2009027400A (ja) * | 2007-07-19 | 2009-02-05 | Alaxala Networks Corp | 過大フロー検出装置、過大フロー検出回路、端末装置及びネットワークノード |
US8683458B2 (en) * | 2007-11-30 | 2014-03-25 | Red Hat, Inc. | Automatic full install upgrade of a network appliance |
US20090287986A1 (en) * | 2008-05-14 | 2009-11-19 | Ab Initio Software Corporation | Managing storage of individually accessible data units |
US8418164B2 (en) * | 2008-05-29 | 2013-04-09 | Red Hat, Inc. | Image install of a network appliance |
WO2010080533A2 (en) * | 2008-12-18 | 2010-07-15 | Bizanga Ltd. | Multipurpose storage system based upon a distributed hashing mechanism with transactional support and failover capability |
US9087032B1 (en) | 2009-01-26 | 2015-07-21 | Amazon Technologies, Inc. | Aggregation of highlights |
US8832584B1 (en) | 2009-03-31 | 2014-09-09 | Amazon Technologies, Inc. | Questions on highlighted passages |
US8692763B1 (en) | 2009-09-28 | 2014-04-08 | John T. Kim | Last screen rendering for electronic book reader |
US9054913B1 (en) | 2009-11-30 | 2015-06-09 | Dell Software Inc. | Network protocol proxy |
US8438244B2 (en) | 2010-04-19 | 2013-05-07 | Microsoft Corporation | Bandwidth-proportioned datacenters |
US8996611B2 (en) | 2011-01-31 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel serialization of request processing |
US9813529B2 (en) | 2011-04-28 | 2017-11-07 | Microsoft Technology Licensing, Llc | Effective circuits in packet-switched networks |
WO2011133443A1 (en) * | 2010-04-19 | 2011-10-27 | Greenbytes, Inc. | A method for optimizing the memory usage and performance of data deduplication storage systems |
US8533299B2 (en) * | 2010-04-19 | 2013-09-10 | Microsoft Corporation | Locator table and client library for datacenters |
US8447833B2 (en) | 2010-04-19 | 2013-05-21 | Microsoft Corporation | Reading and writing during cluster growth phase |
US9170892B2 (en) | 2010-04-19 | 2015-10-27 | Microsoft Technology Licensing, Llc | Server failure recovery |
US9454441B2 (en) * | 2010-04-19 | 2016-09-27 | Microsoft Technology Licensing, Llc | Data layout for recovery and durability |
US8745064B2 (en) | 2010-09-13 | 2014-06-03 | Lumension Security, Inc. | Systems and methods for operating a saturated hash table |
US9495322B1 (en) | 2010-09-21 | 2016-11-15 | Amazon Technologies, Inc. | Cover display |
US8843502B2 (en) | 2011-06-24 | 2014-09-23 | Microsoft Corporation | Sorting a dataset of incrementally received data |
US9158741B1 (en) | 2011-10-28 | 2015-10-13 | Amazon Technologies, Inc. | Indicators for navigating digital works |
US9736121B2 (en) | 2012-07-16 | 2017-08-15 | Owl Cyber Defense Solutions, Llc | File manifest filter for unidirectional transfer of files |
US9778856B2 (en) | 2012-08-30 | 2017-10-03 | Microsoft Technology Licensing, Llc | Block-level access to parallel storage |
US10218586B2 (en) | 2013-01-23 | 2019-02-26 | Owl Cyber Defense Solutions, Llc | System and method for enabling the capture and securing of dynamically selected digital information |
US8776254B1 (en) | 2013-01-23 | 2014-07-08 | Owl Computing Technologies, Inc. | System and method for the secure unidirectional transfer of software and software updates |
US9306953B2 (en) | 2013-02-19 | 2016-04-05 | Owl Computing Technologies, Inc. | System and method for secure unidirectional transfer of commands to control equipment |
US11422907B2 (en) | 2013-08-19 | 2022-08-23 | Microsoft Technology Licensing, Llc | Disconnected operation for systems utilizing cloud storage |
US9798631B2 (en) | 2014-02-04 | 2017-10-24 | Microsoft Technology Licensing, Llc | Block storage by decoupling ordering from durability |
US9304766B2 (en) * | 2014-02-21 | 2016-04-05 | Red Hat Israel, Ltd. | Determining character sequence digest |
US9311329B2 (en) | 2014-06-05 | 2016-04-12 | Owl Computing Technologies, Inc. | System and method for modular and continuous data assurance |
US10282228B2 (en) * | 2014-06-26 | 2019-05-07 | Amazon Technologies, Inc. | Log-based transaction constraint management |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11004125B2 (en) | 2016-04-01 | 2021-05-11 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US10803200B2 (en) | 2016-06-10 | 2020-10-13 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11023842B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US10783256B2 (en) | 2016-06-10 | 2020-09-22 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US10503926B2 (en) | 2016-06-10 | 2019-12-10 | OneTrust, LLC | Consent receipt management systems and related methods |
US10592692B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11038925B2 (en) | 2016-06-10 | 2021-06-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10944725B2 (en) | 2016-06-10 | 2021-03-09 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US11100444B2 (en) | 2016-06-10 | 2021-08-24 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11025675B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11144622B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Privacy management systems and methods |
US11138299B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10565161B2 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10885485B2 (en) | 2016-06-10 | 2021-01-05 | OneTrust, LLC | Privacy management systems and methods |
US11087260B2 (en) | 2016-06-10 | 2021-08-10 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US10607028B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US10896394B2 (en) | 2016-06-10 | 2021-01-19 | OneTrust, LLC | Privacy management systems and methods |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US11057356B2 (en) | 2016-06-10 | 2021-07-06 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10169609B1 (en) | 2016-06-10 | 2019-01-01 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10839102B2 (en) | 2016-06-10 | 2020-11-17 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11151233B2 (en) | 2016-06-10 | 2021-10-19 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US11157600B2 (en) | 2016-06-10 | 2021-10-26 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11074367B2 (en) | 2016-06-10 | 2021-07-27 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US10997315B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11138242B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10796260B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Privacy management systems and methods |
US11146566B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10853501B2 (en) | 2016-06-10 | 2020-12-01 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US10565236B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10873606B2 (en) * | 2016-06-10 | 2020-12-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US10938686B2 (en) | 2019-02-25 | 2021-03-02 | Zscaler, Inc. | Systems and methods for analyzing digital user experience |
US10728117B1 (en) | 2019-02-25 | 2020-07-28 | Zscaler, Inc. | Systems and methods for improving digital user experience |
US10892964B2 (en) | 2019-02-25 | 2021-01-12 | Zscaler, Inc. | Systems and methods for monitoring digital user experience |
US11863409B2 (en) | 2019-02-25 | 2024-01-02 | Zscaler, Inc. | Systems and methods for alerting administrators of a monitored digital user experience |
US11811623B2 (en) | 2016-10-26 | 2023-11-07 | Zscaler, Inc. | Deep tracing of user experience |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US11144675B2 (en) | 2018-09-07 | 2021-10-12 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
CN110362615A (zh) * | 2019-05-09 | 2019-10-22 | 中国航空工业集团公司西安航空计算技术研究所 | 面向具有复杂接口的多对象智能数据表驱动方法及装置 |
US10972370B1 (en) | 2020-01-10 | 2021-04-06 | Zscaler, Inc. | Monitoring and analysis of cloud-based applications |
US11544410B2 (en) | 2020-01-10 | 2023-01-03 | Zscaler, Inc. | Secure access to third-party cloud-based applications |
US11822522B2 (en) * | 2020-01-31 | 2023-11-21 | EMC IP Holding Company LLC | Intelligent filesystem for container images |
US11797528B2 (en) | 2020-07-08 | 2023-10-24 | OneTrust, LLC | Systems and methods for targeted data discovery |
WO2022026564A1 (en) | 2020-07-28 | 2022-02-03 | OneTrust, LLC | Systems and methods for automatically blocking the use of tracking tools |
US20230289376A1 (en) | 2020-08-06 | 2023-09-14 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
WO2022060860A1 (en) | 2020-09-15 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
WO2022061270A1 (en) | 2020-09-21 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
US11418588B2 (en) | 2020-09-29 | 2022-08-16 | EMC IP Holding Company LLC | Intelligent peer-to-peer container filesystem |
WO2022099023A1 (en) | 2020-11-06 | 2022-05-12 | OneTrust, LLC | Systems and methods for identifying data processing activities based on data discovery results |
US11863415B2 (en) | 2021-01-14 | 2024-01-02 | Zscaler, Inc. | Determining endpoint and application behavior for monitoring user experience |
US11811633B2 (en) | 2021-01-14 | 2023-11-07 | Zscaler, Inc. | Traceroutes through external proxies |
WO2022159901A1 (en) | 2021-01-25 | 2022-07-28 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
WO2022170047A1 (en) | 2021-02-04 | 2022-08-11 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
WO2022170254A1 (en) | 2021-02-08 | 2022-08-11 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US20240098109A1 (en) | 2021-02-10 | 2024-03-21 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
WO2022178089A1 (en) | 2021-02-17 | 2022-08-25 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
WO2022178219A1 (en) | 2021-02-18 | 2022-08-25 | OneTrust, LLC | Selective redaction of media content |
EP4305539A1 (en) | 2021-03-08 | 2024-01-17 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11502908B1 (en) | 2021-06-02 | 2022-11-15 | Zscaler, Inc. | Geo tagging for advanced analytics and policy enforcement on remote devices |
US11863391B2 (en) | 2021-06-04 | 2024-01-02 | Zscaler, Inc. | Distributed telemetry and policy gateway in the cloud for remote devices |
US11582294B2 (en) | 2021-06-04 | 2023-02-14 | Zscaler, Inc. | Highly scalable RESTful framework |
US11329905B1 (en) | 2021-08-19 | 2022-05-10 | Zscaler, Inc. | Distributed adaptive probability for population selection of remote devices in a network |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816872B1 (en) * | 1990-04-26 | 2004-11-09 | Timespring Software Corporation | Apparatus and method for reconstructing a file from a difference signature and an original file |
WO2006009210A1 (ja) * | 2004-07-21 | 2006-01-26 | Sony Corporation | コンテンツ処理装置,コンテンツ処理方法およびコンピュータプログラム |
Family Cites Families (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6206829B1 (en) | 1996-07-12 | 2001-03-27 | First Opinion Corporation | Computerized medical diagnostic and treatment advice system including network access |
US6022315A (en) | 1993-12-29 | 2000-02-08 | First Opinion Corporation | Computerized medical diagnostic and treatment advice system including network access |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
BR9508403A (pt) | 1994-07-14 | 1997-11-11 | Johnson Grace Company | Método e aparato para compressão de imagens |
US6948070B1 (en) * | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US5905492A (en) | 1996-12-06 | 1999-05-18 | Microsoft Corporation | Dynamically updating themes for an operating system shell |
US6130726A (en) | 1997-03-24 | 2000-10-10 | Evolve Products, Inc. | Program guide on a remote control display |
US6173287B1 (en) * | 1998-03-11 | 2001-01-09 | Digital Equipment Corporation | Technique for ranking multimedia annotations of interest |
US6993004B2 (en) | 1998-10-29 | 2006-01-31 | Sound Starts, Inc. | Method and apparatus for practicing IP telephony from an Internet-capable radio |
US6314094B1 (en) | 1998-10-29 | 2001-11-06 | Central Coast Patent Agency Inc | Mobile wireless internet portable radio |
US6550012B1 (en) | 1998-12-11 | 2003-04-15 | Network Associates, Inc. | Active firewall system and methodology |
US6424979B1 (en) | 1998-12-30 | 2002-07-23 | American Management Systems, Inc. | System for presenting and managing enterprise architectures |
US6292792B1 (en) | 1999-03-26 | 2001-09-18 | Intelligent Learning Systems, Inc. | System and method for dynamic knowledge generation and distribution |
US6615166B1 (en) | 1999-05-27 | 2003-09-02 | Accenture Llp | Prioritizing components of a network framework required for implementation of technology |
US6473794B1 (en) | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
US6957186B1 (en) | 1999-05-27 | 2005-10-18 | Accenture Llp | System method and article of manufacture for building, managing, and supporting various components of a system |
US7165041B1 (en) | 1999-05-27 | 2007-01-16 | Accenture, Llp | Web-based architecture sales tool |
US6721713B1 (en) | 1999-05-27 | 2004-04-13 | Andersen Consulting Llp | Business alliance identification in a web architecture framework |
US6536037B1 (en) | 1999-05-27 | 2003-03-18 | Accenture Llp | Identification of redundancies and omissions among components of a web based architecture |
US6519571B1 (en) | 1999-05-27 | 2003-02-11 | Accenture Llp | Dynamic customer profile management |
US6792086B1 (en) | 1999-08-24 | 2004-09-14 | Microstrategy, Inc. | Voice network access provider system and method |
US6640244B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US6601234B1 (en) | 1999-08-31 | 2003-07-29 | Accenture Llp | Attribute dictionary in a business logic services environment |
US6438594B1 (en) | 1999-08-31 | 2002-08-20 | Accenture Llp | Delivering service to a client via a locally addressable interface |
US6539396B1 (en) | 1999-08-31 | 2003-03-25 | Accenture Llp | Multi-object identifier system and method for information service pattern environment |
US6615253B1 (en) | 1999-08-31 | 2003-09-02 | Accenture Llp | Efficient server side data retrieval for execution of client side applications |
US6571282B1 (en) | 1999-08-31 | 2003-05-27 | Accenture Llp | Block-based communication in a communication services patterns environment |
US6636242B2 (en) | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
US6549949B1 (en) | 1999-08-31 | 2003-04-15 | Accenture Llp | Fixed format stream in a communication services patterns environment |
US6496850B1 (en) | 1999-08-31 | 2002-12-17 | Accenture Llp | Clean-up of orphaned server contexts |
US6434568B1 (en) | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
US6601192B1 (en) | 1999-08-31 | 2003-07-29 | Accenture Llp | Assertion component in environment services patterns |
US6640249B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Presentation services patterns in a netcentric environment |
US6578068B1 (en) | 1999-08-31 | 2003-06-10 | Accenture Llp | Load balancer in environment services patterns |
US6715145B1 (en) | 1999-08-31 | 2004-03-30 | Accenture Llp | Processing pipeline in a base services pattern environment |
US6339832B1 (en) | 1999-08-31 | 2002-01-15 | Accenture Llp | Exception response table in environment services patterns |
US6615199B1 (en) | 1999-08-31 | 2003-09-02 | Accenture, Llp | Abstraction factory in a base services pattern environment |
US6529948B1 (en) | 1999-08-31 | 2003-03-04 | Accenture Llp | Multi-object fetch component |
US6606660B1 (en) | 1999-08-31 | 2003-08-12 | Accenture Llp | Stream-based communication in a communication services patterns environment |
US6434628B1 (en) | 1999-08-31 | 2002-08-13 | Accenture Llp | Common interface for handling exception interface name with additional prefix and suffix for handling exceptions in environment services patterns |
US6742015B1 (en) | 1999-08-31 | 2004-05-25 | Accenture Llp | Base services patterns in a netcentric environment |
US6477665B1 (en) | 1999-08-31 | 2002-11-05 | Accenture Llp | System, method, and article of manufacture for environment services patterns in a netcentic environment |
US6550057B1 (en) | 1999-08-31 | 2003-04-15 | Accenture Llp | Piecemeal retrieval in an information services patterns environment |
US6842906B1 (en) | 1999-08-31 | 2005-01-11 | Accenture Llp | System and method for a refreshable proxy pool in a communication services patterns environment |
US6502213B1 (en) | 1999-08-31 | 2002-12-31 | Accenture Llp | System, method, and article of manufacture for a polymorphic exception handler in environment services patterns |
US6289382B1 (en) | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
US6640238B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Activity component in a presentation services patterns environment |
US6529909B1 (en) | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
US6442748B1 (en) | 1999-08-31 | 2002-08-27 | Accenture Llp | System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment |
US6477580B1 (en) | 1999-08-31 | 2002-11-05 | Accenture Llp | Self-described stream in a communication services patterns environment |
US6332163B1 (en) | 1999-09-01 | 2001-12-18 | Accenture, Llp | Method for providing communication services over a computer network system |
US7610289B2 (en) | 2000-10-04 | 2009-10-27 | Google Inc. | System and method for monitoring and analyzing internet traffic |
US6792458B1 (en) | 1999-10-04 | 2004-09-14 | Urchin Software Corporation | System and method for monitoring and analyzing internet traffic |
US7523181B2 (en) | 1999-11-22 | 2009-04-21 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US6754699B2 (en) | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US7043488B1 (en) | 2000-01-21 | 2006-05-09 | International Business Machines Corporation | Method and system for storing hierarchical content objects in a data repository |
US6986102B1 (en) | 2000-01-21 | 2006-01-10 | International Business Machines Corporation | Method and configurable model for storing hierarchical data in a non-hierarchical data repository |
US7007034B1 (en) | 2000-01-21 | 2006-02-28 | International Business Machines Corporation | File structure for storing content objects in a data repository |
US6449627B1 (en) | 2000-01-21 | 2002-09-10 | International Business Machines Corp. | Volume management method and system for a compilation of content |
US6839701B1 (en) | 2000-01-21 | 2005-01-04 | International Business Machines | Hitmask for querying hierarchically related content entities |
US6611840B1 (en) | 2000-01-21 | 2003-08-26 | International Business Machines Corporation | Method and system for removing content entity object in a hierarchically structured content object stored in a database |
US7076494B1 (en) | 2000-01-21 | 2006-07-11 | International Business Machines Corporation | Providing a functional layer for facilitating creation and manipulation of compilations of content |
US7089239B1 (en) | 2000-01-21 | 2006-08-08 | International Business Machines Corporation | Method and system for preventing mutually exclusive content entities stored in a data repository to be included in the same compilation of content |
BR0108797A (pt) * | 2000-03-01 | 2003-02-18 | Computer Ass Think Inc | Método e sistema para atualização de um arquivo compactado de um arquivo de computador |
US20020065864A1 (en) | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
US20020059274A1 (en) | 2000-03-03 | 2002-05-16 | Hartsell Neal D. | Systems and methods for configuration of information management systems |
US20020049841A1 (en) | 2000-03-03 | 2002-04-25 | Johnson Scott C | Systems and methods for providing differentiated service in information management environments |
US20030236745A1 (en) | 2000-03-03 | 2003-12-25 | Hartsell Neal D | Systems and methods for billing in information management environments |
US20020174227A1 (en) | 2000-03-03 | 2002-11-21 | Hartsell Neal D. | Systems and methods for prioritization in information management environments |
US20020095400A1 (en) | 2000-03-03 | 2002-07-18 | Johnson Scott C | Systems and methods for managing differentiated service in information management environments |
US20020049608A1 (en) | 2000-03-03 | 2002-04-25 | Hartsell Neal D. | Systems and methods for providing differentiated business services in information management environments |
WO2001065330A2 (en) | 2000-03-03 | 2001-09-07 | Sanctum Ltd. | System for determining web application vulnerabilities |
US7162539B2 (en) * | 2000-03-16 | 2007-01-09 | Adara Networks, Inc. | System and method for discovering information objects and information object repositories in computer networks |
US6981180B1 (en) | 2000-03-16 | 2005-12-27 | Akamai Technologies, Inc. | Method and apparatus for testing request-response service using live connection traffic |
US6976090B2 (en) * | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
US7152047B1 (en) | 2000-05-24 | 2006-12-19 | Esecure.Biz, Inc. | System and method for production and authentication of original documents |
US6883168B1 (en) * | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US8126313B2 (en) | 2000-06-28 | 2012-02-28 | Verizon Business Network Services Inc. | Method and system for providing a personal video recorder utilizing network-based digital media content |
US6591266B1 (en) | 2000-07-14 | 2003-07-08 | Nec Corporation | System and method for intelligent caching and refresh of dynamically generated and static web content |
US7155723B2 (en) | 2000-07-19 | 2006-12-26 | Akamai Technologies, Inc. | Load balancing service |
US7047281B1 (en) * | 2000-08-08 | 2006-05-16 | Fineground Networks | Method and system for accelerating the delivery of content in a networked environment |
US6868292B2 (en) | 2000-09-14 | 2005-03-15 | The Directv Group, Inc. | Device control via digitally stored program content |
AU2002227121A1 (en) | 2000-11-07 | 2002-05-21 | Surgient Networks, Inc. | Systems and methods for providing differentiated business services in information management environments |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US6691301B2 (en) | 2001-01-29 | 2004-02-10 | Celoxica Ltd. | System, method and article of manufacture for signal constructs in a programming language capable of programming hardware architectures |
US6963981B1 (en) | 2001-01-29 | 2005-11-08 | Akamai Technologies, Inc. | Method and apparatus for remote installation of an operating system over a network connection |
US6847983B2 (en) * | 2001-02-28 | 2005-01-25 | Kiran Somalwar | Application independent write monitoring method for fast backup and synchronization of open files |
JP3990115B2 (ja) * | 2001-03-12 | 2007-10-10 | 株式会社東芝 | サーバ側プロキシ装置及びプログラム |
US7054912B2 (en) * | 2001-03-12 | 2006-05-30 | Kabushiki Kaisha Toshiba | Data transfer scheme using caching technique for reducing network load |
US20020143798A1 (en) | 2001-04-02 | 2002-10-03 | Akamai Technologies, Inc. | Highly available distributed storage system for internet content with storage site redirection |
AUPR797501A0 (en) | 2001-09-28 | 2001-10-25 | BlastMedia Pty Limited | A method of displaying content |
US6904430B1 (en) * | 2002-04-26 | 2005-06-07 | Microsoft Corporation | Method and system for efficiently identifying differences between large files |
US7899915B2 (en) | 2002-05-10 | 2011-03-01 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US6925467B2 (en) * | 2002-05-13 | 2005-08-02 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms |
US7277963B2 (en) | 2002-06-26 | 2007-10-02 | Sandvine Incorporated | TCP proxy providing application layer modifications |
US7587517B2 (en) * | 2002-07-08 | 2009-09-08 | Precache Inc. | Packet routing via payload inspection for quality of service management |
US7395355B2 (en) | 2002-07-11 | 2008-07-01 | Akamai Technologies, Inc. | Method for caching and delivery of compressed content in a content delivery network |
US7007064B2 (en) | 2002-08-02 | 2006-02-28 | Motorola, Inc. | Method and apparatus for obtaining and managing wirelessly communicated content |
US7096311B2 (en) * | 2002-09-30 | 2006-08-22 | Innopath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms |
JP2004152136A (ja) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム |
US7353225B2 (en) * | 2002-11-13 | 2008-04-01 | Sun Microsystems, Inc. | Mechanism for comparing content in data structures |
US7360025B1 (en) | 2002-12-13 | 2008-04-15 | O'connell Conleth | Method and system for automatic cache management |
US7188216B1 (en) | 2002-12-13 | 2007-03-06 | Vignette Corporation | Method and system for an extensible caching framework |
JP4302970B2 (ja) * | 2002-12-16 | 2009-07-29 | 富士通株式会社 | 差分更新方法、プログラム及び装置 |
US7320009B1 (en) * | 2003-03-28 | 2008-01-15 | Novell, Inc. | Methods and systems for file replication utilizing differences between versions of files |
US7890464B2 (en) * | 2003-06-20 | 2011-02-15 | Innopath Software, Inc. | Processing software images and generating difference files |
US20050004954A1 (en) | 2003-07-01 | 2005-01-06 | Hand Held Products, Inc. | Systems and methods for expedited data transfer in a communication system using hash segmentation |
US7031972B2 (en) * | 2003-07-21 | 2006-04-18 | Innopath Software, Inc. | Algorithms for block-level code alignment of software binary files |
US8131739B2 (en) | 2003-08-21 | 2012-03-06 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform |
AU2003259961B2 (en) | 2003-08-21 | 2010-05-27 | Microsoft Technology Licensing, Llc | Systems and methods for interfacing application programs with an item-based storage platform |
US7529811B2 (en) | 2003-08-21 | 2009-05-05 | Microsoft Corporation | Systems and methods for the implementation of a core schema for providing a top-level structure for organizing units of information manageable by a hardware/software interface system |
EP1658555A4 (en) | 2003-08-21 | 2009-05-06 | Microsoft Corp | SYSTEMS AND METHODS FOR MODELING DATA IN A STORAGE PLATFORM BASED ON OBJECTS |
US7529779B2 (en) * | 2004-06-10 | 2009-05-05 | Samsung Electronics Co., Ltd. | Apparatus and method for efficient generation of delta files for over-the-air upgrades in a wireless network |
US7711706B2 (en) * | 2004-11-08 | 2010-05-04 | Innopath Software, Inc. | Reorganizing images in static file system differencing and updating |
US8271578B2 (en) | 2004-12-08 | 2012-09-18 | B-Obvious Ltd. | Bidirectional data transfer optimization and content control for networks |
US7698318B2 (en) * | 2006-02-10 | 2010-04-13 | Microsoft Corporation | Automatically determining file replication mechanisms |
US8151323B2 (en) * | 2006-04-12 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for providing levels of access and action control via an SSL VPN appliance |
KR101433859B1 (ko) * | 2007-10-12 | 2014-08-27 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법 |
US7941410B2 (en) * | 2008-09-30 | 2011-05-10 | Microsoft Corporation | Method and system of managing conflicts for a set of synchronized folders |
-
2006
- 2006-06-30 US US11/428,058 patent/US7756826B2/en active Active
-
2007
- 2007-06-29 KR KR1020087031778A patent/KR20090034321A/ko not_active Application Discontinuation
- 2007-06-29 AU AU2007269315A patent/AU2007269315B2/en not_active Ceased
- 2007-06-29 WO PCT/US2007/072490 patent/WO2008005840A2/en active Application Filing
- 2007-06-29 JP JP2009518571A patent/JP2009543227A/ja not_active Withdrawn
- 2007-06-29 BR BRPI0713874-1A patent/BRPI0713874A2/pt not_active Application Discontinuation
- 2007-06-29 EP EP07812481.5A patent/EP2044755B1/en active Active
- 2007-06-29 CA CA002655020A patent/CA2655020A1/en not_active Abandoned
- 2007-06-29 CN CN2007800248715A patent/CN101485174B/zh active Active
-
2008
- 2008-12-18 IL IL196034A patent/IL196034A0/en unknown
-
2009
- 2009-09-17 HK HK09108497.2A patent/HK1128840A1/zh not_active IP Right Cessation
-
2010
- 2010-05-28 US US12/790,400 patent/US8838630B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6816872B1 (en) * | 1990-04-26 | 2004-11-09 | Timespring Software Corporation | Apparatus and method for reconstructing a file from a difference signature and an original file |
WO2006009210A1 (ja) * | 2004-07-21 | 2006-01-26 | Sony Corporation | コンテンツ処理装置,コンテンツ処理方法およびコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2044755B1 (en) | 2015-07-22 |
CN101485174A (zh) | 2009-07-15 |
WO2008005840A3 (en) | 2008-06-05 |
US20100235374A1 (en) | 2010-09-16 |
US20080005203A1 (en) | 2008-01-03 |
IL196034A0 (en) | 2009-09-22 |
AU2007269315B2 (en) | 2011-09-15 |
JP2009543227A (ja) | 2009-12-03 |
BRPI0713874A2 (pt) | 2013-01-01 |
EP2044755A2 (en) | 2009-04-08 |
US8838630B2 (en) | 2014-09-16 |
HK1128840A1 (zh) | 2009-11-06 |
AU2007269315A1 (en) | 2008-01-10 |
CA2655020A1 (en) | 2008-10-01 |
US7756826B2 (en) | 2010-07-13 |
WO2008005840A2 (en) | 2008-01-10 |
KR20090034321A (ko) | 2009-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101485174B (zh) | 用于有效传送先前存储内容的方法和系统 | |
US7685298B2 (en) | Systems and methods for providing authentication credentials across application environments | |
US7877463B2 (en) | Method and systems for providing access to dynamic content via static pages | |
US9621666B2 (en) | Systems and methods for enhanced delta compression | |
US6892206B2 (en) | Reduction of meta data in a network | |
US7716306B2 (en) | Data caching based on data contents | |
US6523062B1 (en) | Facilitating memory constrained client devices by employing deck reduction techniques | |
US7636765B2 (en) | Data transfer scheme using caching technique for reducing network load | |
US20080250119A1 (en) | Data transfer scheme using caching and differential compression techniques for reducing network load | |
US20060271559A1 (en) | Method and system for delta compression | |
CN109565518B (zh) | 用于可互换的内容取回的方法和系统 | |
KR20040044182A (ko) | 통신네트워크의 유효 대역폭 증가 시스템 및 방법 | |
CN102577303A (zh) | 用于生成dns查询以提高抗dns攻击性的系统和方法 | |
US7424509B2 (en) | System and method for printing from a web application | |
US20020107986A1 (en) | Methods and systems for replacing data transmission request expressions | |
JP4031516B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP3943867B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JP3943868B2 (ja) | サーバ側プロキシ、データ転送方法及びプログラム | |
JP4157585B2 (ja) | サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム | |
JP2007287167A (ja) | クライアント側プロキシ装置、データ転送方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |