CN1744603B - 通过远程协议的远程文件更新的方法和计算机 - Google Patents

通过远程协议的远程文件更新的方法和计算机 Download PDF

Info

Publication number
CN1744603B
CN1744603B CN200510092392XA CN200510092392A CN1744603B CN 1744603 B CN1744603 B CN 1744603B CN 200510092392X A CN200510092392X A CN 200510092392XA CN 200510092392 A CN200510092392 A CN 200510092392A CN 1744603 B CN1744603 B CN 1744603B
Authority
CN
China
Prior art keywords
file
source
copy
remote server
data
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.)
Expired - Fee Related
Application number
CN200510092392XA
Other languages
English (en)
Other versions
CN1744603A (zh
Inventor
A·H·穆罕默德
D·M·克鲁泽
T·A·兰根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1744603A publication Critical patent/CN1744603A/zh
Application granted granted Critical
Publication of CN1744603B publication Critical patent/CN1744603B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

一种改进的远程协议,能够有效和可靠地更新远程服务器上的文件。远程协议的副本收集扩展使客户机能够指导服务器从服务器上存在的源文件中收集数据的一部分并且将数据的这些部分复制到服务器上新目标文件中合适的偏移量。副本收集扩展因此使客户机能够在目标文件中留下空白位置,在文件更新期间客户机可以将新数据写入到该位置。副本收集扩展也使客户机能够通过不将它们从源文件复制到目标文件而有效地删除源文件的一部分。因此文件可以被更新而不必将整个文件从客户机传送到服务器。

Description

通过远程协议的远程文件更新的方法和计算机
相关案例
本申请要求2004年7月19日在美国临时申请号为60/589,145的优先权。
技术领域
本发明通常涉及客户-服务器协议,更特别地涉及该协议的扩展以便能够可靠和有效地更新远程文件。
背景技术
随着移动技术的发展,越来越多的公司为网络访问提供了关键用户数据,该数据被连续从客户机移开并移到服务器上。即使当他们从网络断开连接时移动用户仍可获得该网络数据是非常有益的。例如,当从网络断开连接时继续访问网络数据以允许用户在旅行时,在家工作时,或者当网络停止时对文件进行工作。当从网络断开连接时访问网络数据的另一个好处是,它降低了通过网络在客户机与服务器之间传送数据的总量。
客户端高速缓存是从网络断开连接时移动用户继续访问网络数据的主要方法。例如,客户端高速缓存允许移动用户存储通过网络在服务器上所访问文件的本地复制。从网络断开连接后,用户仍然能够编辑文件的本地复制。重新连接到网络后,可以更新服务器上文件的副本。
所存在的客户-服务器协议的各种实施使客户端高速缓存变得容易并且使计算机上的客户应用程序能够读取文件,创建文件,更新文件,并且通过远程计算机上的服务器程序在网络上执行其他文件系统的任务。服务器消息块协议(SMB协议)是该协议的一个例子,其可以通过因特网用在TCP/IP协议或其他网络协议之上,诸如网络报文分组交换和NetBEUI。具有该协议的操作的典型模式是,对于客户产生的请求服务器送回响应。因此,该协议使客户能够调用与远程服务器上的文件系统相关的某些“文件系统控制”操作。
目前的客户端高速缓存方法的一个缺点是,当在客户和服务器之间传送数据时会遇到显著的延迟和响应时间。例如,用户想要编辑文件,首先通过网络将全部文件下载到客户机上。然后用户可以与网络断开连接并且编辑该文件。通过网络重新与服务器连接后,所有被编辑的文件在同步的过程中被上载到服务器。无论原始文件所改变的大小或数量如何,全部被编辑的文件必须通过网络推回到服务器。因此,即使10兆字节的文件的最小改变(例如,1千字节的插入或删除)也要求整个10兆字节的文件通过该网络传送两次。对于诸如电话线或卫星链接的慢速链接来说,该传送的延迟和响应时间可能是特别有问题的。
目前客户端高速缓存方法的另一个相关的缺点是,在客户和服务器之间更新文件期间存在文件损坏的风险。文件同步期间(例如,从客户到服务器更新文件),在更新的部分路径中发生的网络假信号或网络故障可能使服务器上被更新的文件处于错误状态,其可能是自动可恢复的或者不是自动可恢复的。文件更新的时间越长,在更新期间越容易遇到网络问题,并且文件损坏的风险越高。
因此,需要存在一种方法以便增强客户端高速缓存,该方法可以更加有效和可靠地更新远程文件。
发明内容
一种方法和系统使得能够通过改进的远程协议有效和可靠地更新远程文件。远程协议的副本收集扩展使客户能够命令服务器从服务器上存在的源文件收集数据的一部分并且将数据的那些部分复制到服务器上新目标文件中更合适的偏移量。副本收集扩展因此使客户能够在目标文件中留下空白位置,客户可以在文件更新期间在该空白位置中写入新数据。副本收集扩展也使客户能够不从源文件将它们复制到目标文件而有效地删除源文件的一部分。因此可以执行文件更新而不必将整个文件从客户机传送到服务器。
附图说明
所有附图中使用的相同的参考数字涉及相同的部件和特征。
图1说明了适于通过远程协议实施远程文件更新的典型操作环境。
图2说明了配置得用于通过远程协议实施远程文件更新的客户设备和服务器设备的典型实施例。
图3说明了远程服务器上源文件和目标文件的例子,以及客户在客户机上复制源文件的例子。
图4说明了远程服务器上源文件和目标文件的例子,以及客户在客户机上复制源文件的例子,其中来自源文件的数据被传送到远程服务器上的目标文件。
图5-8是流程图,说明了用于通过远程协议实施远程文件更新的典型方法。
图9说明了适于实施客户计算机设备和服务器计算机设备诸如参照图1-8所讨论的那些的典型计算环境。
具体实施方式
介绍
下面的讨论涉及在客户机和服务器设备之间提供有效和可靠的文件更新的系统和方法。远程协议,一般被配置得使客户机容易控制远程服务器上各种文件系统的任务(例如,文件的读取,创建,和更新),包括使客户机能够更新服务器上的文件而不必将整个文件从客户机传送到服务器的扩展。远程协议的扩展是一个新文件系统控制(fsctl)命令,该命令指导服务器从存在的源文件收集数据块并且在新目标文件中合适的偏移量复制该数据块。副本收集fsctl命令允许客户机在目标文件中留下(或制造)“空隙”,然后可以将新数据写入该空隙中,并且通过不将源文件的一部分复制到目标文件中来删除源文件的一部分。
所描述的系统和方法的优点包括,文件更新消耗的带宽与文件改变的大小成比例,消耗的带宽不与整个文件的大小成比例。这减少了文件更新期间的延迟和响应时间,同时也降低在更新期间的网络故障导致文件损坏的风险。
典型实施例
图1说明了适于通过远程协议实施远程文件更新的典型操作环境100。该环境100仅仅是适于操作环境的一个例子并且不试图暗示对发明的使用范围或功能的任何限制。其他可能适合的公知的计算系统,环境,和/或结构包括,但不限制为,个人计算机,手持或膝上型设备,多处理器系统,基于微处理器的系统,可编程消费者电子仪器,网络PC,小型计算机,主计算机,包括任意上述系统或设备的分布式计算环境,等等。
典型的操作环境100包括通过网络106操作地耦合到服务器设备104(此后一般称为“服务器”或“服务器设备”)的客户设备102(此后一般称为“客户机”或“客户设备”)。网络106可以表示任何种类的传统网络拓扑和类型(包括光学,有线和/或无线网络),应用任何类型的传统网络协议(包括公共和/或专有协议)。网络106可以包括,例如,本地网络,企业网络,或因特网,也可能是一个或多个局域网(LAN)和/或广域网(WAN)的至少一部分。
客户机102和服务器104使用客户机/服务器模式通信,在该模式中客户机(客户程序)向服务器(服务器程序)产生服务请求并且服务器响应该请求。 客户机/服务器模式基于通信协议,该协议通常使客户应用程序能够访问和操作远程服务器上的文件(例如,读取,编辑,更新,以及创建文件)。该远程协议也典型地提供客户机访问其他服务器资源诸如打印机,邮筒,以及命名管道。该协议的例子可以包括服务器消息块(SMB)协议,网络文件系统(NFS)协议,WebNFS协议,公共因特网文件系统(CIFS)协议,Samba,等等。能够通过各种网络使用该协议,诸如内部网或因特网,并且可以在其他协议上运行或者与其他协议相结合,诸如TCP/IP协议,网络分组交换协议,和NetBEUI协议。如下面讨论的有关典型实施例,该协议的扩展能够有效和可靠地更新远程文件。虽然下面的典型实施例结合SMB协议描述协议扩展,值得注意的是,SMB协议仅仅是能够受益于所述的扩展的适当协议的一个例子。因此,典型实施例中SMB协议的使用并不试图暗示对扩展可以应用的其他适当协议的任何限制。
客户机102典型地能够执行公共计算功能,诸如电子邮件,日历,任务组织,字处理,网页浏览,等等。客户机102可以运行开放平台操作系统,诸如Microsoft 
Figure RE-GA20181413200510092392X01D00041
的Windows 操作系统。客户机102可以作为任何类型的传统计算设备被实施,包括,例如,台式PC,笔记本或便携式计算机,工作站,主计算机,因特网设备,游戏控制台,手持式PC,蜂窝电话或其他无线通信设备,个人数字助理(PDA),机顶盒,它们的组合,等等。下面参照图9更加详细地描述用于实施客户机102的典型计算环境。
服务器104通常被配置为文件服务器,用于数据文件和其他资源的存储和管理。服务器104通过网络106为授权客户机提供访问该数据和资源。服务器104可以作为任何类型的传统计算设备被实施,诸如台式PC,工作站,主计算机,因特网设备,等等。下面将参照图9更加详细地描述用于实施服务器104的典型计算环境。
典型实施例
图2说明了被配置得通过远程协议实施远程文件更新的客户设备102和服务器设备104的典型实施例。客户机102包括被配置得执行存储在存储器202中的应用程序204的一个或多个处理器200。存储器202也存储图2中称为客户端协议206的远程协议。在本实施例中,客户协议206作为SMB协议的客户端部分被实施。然而,如上所述,客户协议206不被限制为SMB协议,并且可以作为各种其他合适的协议被实施,该其他的协议包括,例如,NFS协议,WebNFS 协议,CIFS协议,Samba,等等。客户协议206的扩展在图2中图示为副本收集扩展(启动程序)208,下面结合它的相应服务器,副本收集设备更加详细地讨论该扩展。
服务器104包括配置得执行存储在存储器212中的服务器协议214的一个或多个处理器210。服务器协议214作为SMB协议的服务器端部分被实施。如上所述,客户协议206的收集复制启动程序208的相应部分为副本收集扩展设备216,它是服务器协议214的扩展。存储器212也存储文件存储器218中的数据文件。
客户协议206使各种客户应用程序204能够调用服务器104上的某些文件系统控制操作,该服务器为文件存储器218中的文件提供某种类型的访问。所访问的文件可以包括,例如,读取文件,更新文件,以及创建新文件。服务器协议214通过执行请求任务来响应来自客户机102的文件系统控制。
远程协议(206,214)的副本收集协议扩展(例如,副本收集启动程序208,副本收集扩展设备216)为服务器104提供客户应用程序204可以利用的新的文件系统控制(fsctl)命令,以便作用于客户机102的远程文件更新。一般,新的副本收集fsctl命令指导服务器104如何从服务器104上的源文件复制源数据到服务器104上的目标文件。在一个实施例中,副本收集fsctl命令用源文件标识符(恢复键),以及文件区域阵列处理目标文件,并且将从源文件复制的数据的错误状态和字节总数返回给目标文件。文件区域阵列中的每个区域包括源文件偏移量,目标文件偏移量,以及复制/传送的数据字节的长度或数量。因此,定义大块或块数据的每个区域从源文件复制传送到服务器104上的目标文件。源文件偏移量标识源文件中的开始位置,大量的源数据字节(例如,源文件中的数据块)将从该位置被复制。目标文件偏移量标识目标文件中的开始位置,一些源数据字节将复制到该位置。长度定义了从源文件被复制到目标文件的字节数量。
客户应用程序204可以利用新的副本收集fsctl来有效地仅仅实施服务器端的数据复制功能。例如,客户应用程序204可以利用这个fsctl来更新下面典型序列中的远程文件:
1)应用程序打开至少具有READ_DATA访问的源文件。
2)应用程序通过存在的fsctl (FSCTL_SRV_REQUEST_RESUME_KEY)向服务器请求源文件标识符(恢复键)。
3)应用程序创建/打开至少具有WRITE_DATA访问的目标文件。
4)应用程序创建从源文件复制到目标文件的数据块的区域列表。
5)应用程序发布副本收集fsctl命令(FSCTL_SRV_COPYCHUNK)并且检查被复制字节的返回状态和数量。
图3和4说明了远程服务器104上的源文件300和目标文件302的例子,以及客户机102上源文件的客户复制304的例子。源文件300,目标文件302,以及源文件复制304的例子在使用副本收集协议扩展208,216(副本收集fsctl命令)说明更新远程文件的典型过程中是有用的。值得注意的是,图3和4中的说明试图提供远程文件更新的概念上的例子,并且不用于任何限定,通过实际机制该远程文件更新可以发生。在图3的例子中,客户应用程序204通过将打开请求传送到服务器104而打开了服务器104上的源文件300。客户应用程序204至少具有需要从源文件300读取数据的访问,并且已经将源文件副本304传送到了客户机102。客户应用程序204也向服务器102请求源文件标识符(恢复键),并且已经通过将另一个打开请求传送到服务器104而创建/打开了目标文件302。客户应用程序204至少具有需要将数据写到目标文件302的访问。
服务器104上源文件300和目标文件302之间的箭头用于指示副本收集fsctl命令已经从客户机102发送并且在服务器104上被执行。副本收集处理是文件更新处理的典型部分,在这里客户机102上的应用程序204的用户已经从服务器104下载了源文件300,使用应用程序204编辑作为客户副本304的源文件300,然后用被编辑的副本更新服务器104。
基于客户机102上的源文件副本304的改变,客户机102上的收集复制扩展启动程序208通过传送到服务器104的收集复制fsctl命令的生成启动收集复制处理。副本收集fsctl命令指示服务器104将源文件300的部分以与用户/应用程序204已经改变的客户机102上的源文件副本304一致的方式复制到目标文件302。服务器104上的副本收集扩展设备216解释并且实施服务器104上的副本收集fsctl命令。在这个例子中,源文件300和目标文件302之间的箭头指示收集复制fsctl命令已经提供了源文件偏移量1,确定源文件300中的开始位置,大量的源数据字节将从那里被复制。副本收集fsctl命令也提供了长度10,其用 于确定将被复制的数据字节的数量。定义数据块的源文件的偏移量和长度一起从源文件300被复制到目标文件302。在该例子中,由偏移量1开始并且由偏移量10结束的源数据块306已经通过副本收集fsctl命令被定义为从源文件300复制到目标文件302的数据块。
图示的目标文件302表示副本收集fsctl命令也提供了目标文件偏移量10,确定目标文件302中的开始位置,所识别的字节数量将被复制到该位置。因此,源数据块306根据参数长度10被复制到由偏移量10开始并且由偏移量20结束的目标文件302。如上所述,副本收集fsctl命令可以包括或定义已经从源文件300复制到目标文件302的文件区域(数据块)阵列。因此,采用与上述类似的方式,结合图3描述的副本收集fsctl命令也指导服务器104(例如,副本收集扩展设备216)从源文件300将源数据块310(源文件偏移量20,长度20)复制到目标文件302(目标文件偏移量30,长度20)。
在服务器104上执行了副本收集fsctl命令后,对于目标文件302显而易见的是,目标文件302中的两部分是左边空白,或者是空白数据。目标文件302中的空白部分312,314已经通过副本收集fsctl命令被特意地创建,以待新数据根据客户机102上源文件副本304的改变被写入到这些部分312,314。102上源文件副本304示出了2个新数据块316,318,用户已经将该数据块加入到源文件副本304中的2个不同的位置。注意到,第一新数据块316已经有效地将源数据块306重新安置到源文件副本304中的新偏移位置,而第二新数据块318已经代替(例如,删除或改写)了源文件300中的原始的源数据块308。因此,副本收集扩展启动程序208已经生成了副本收集fsctl命令用于指导服务器104将源数据块306复制到目标文件302中合适的偏移位置,并且根本不复制源数据块308。因此,源数据块308通过不被复制到目标文件302而有效地被删除。作为替代,副本收集fsctl命令留下空白部分314,新数据将被写入到其中。
图4说明了被写入到目标文件302中适当位置的客户机102上源文件副本304的新数据块316,318。从客户机102到服务器104的数据写入与上述的收集复制fsctl命令的实施同时发生。然而,值得注意的是,从客户机102的数据写入可以在收集复制fsctl命令被传送到服务器104之前或之后发生。也就是说,一旦根据客户机102的适当请求创建/打开了目标文件302,响应客户机102的副本收集fsctl命令,数据可以通过服务器104被复制到目标文件302,或者数 据可以根据客户机102的数据写入请求被写入到目标文件302。两种情况下,副本收集fsctl命令指导服务器104将源文件300的哪些数据块复制到目标文件302以及将数据块复制到目标文件302的什么位置。如果客户机102的新数据在服务器104执行收集复制fsctl命令之前或之后被写入到目标文件302,这是没关系的。
副本收集协议扩展208的副本收集fsctl命令可以在任何开放的WRITE_DATA访问处理上被发布,并且与一个实施例相关的行为可以用下面的方法定义。
输入缓冲器
该输入缓冲器是SRV_COPYCHUNK_COPY类型,如下定义:
typedef struct_SRV_COPYCHUNK
{
       LARGE_INTEGER SourceOffset;
       LARGE_INTEGER DestinationOffset;
       ULONG Length;
}SRV_COPYCHUNK,*PSRV_COPYCHUNK;
typedef struct_SRV_COPYCHUNK_COPY
{
       SRV_RESUME_KEY SourceFile;
       ULONG  ChunkCount;
       ULONG  Reserved;
       SRV_COPYCHUNK Chunk[0];//阵列
}SRV_COPYCHUNK_COPY,*PSRV_COPYCHUNK_COPY;
在输入缓冲器中,SourceFile是使用文件的FSCTL_QUERY_RESUME_KFY获得的恢复键(源文件标识符),用至少READ_DATA访问打开。ChunkCount是Chunk阵列中SRV_COPYCHUNK结构(源文件区域)的数量。对于每个SRV_COPYCHUNK结构,SourceOffset被设置为从SourceFile的复制位置而DestinationOffset被设置为复制到目标的偏移量。具有字节数量的长度将从源偏移量传送到目标偏移量。
输出缓冲器
该输出缓冲器是SRV_COPYCHUNK_RESPONSE类型,如下定义:
typedef struct_SRV_COPYCHUNK_RESPONSE
{
       ULONG  ChunksWritten;
       ULONG  ChunkBytesWritten;
       ULONG  TotalBytesWritten;
}SRV_COPYCHUNK_RESPONSE,
       *PSRV_COPYCHUNK_RESPONSE;
返回值
如果服务器将所有的指定块(数据块)从源文件复制到目标文件,副本收集fsctl返回STATUS_SUCCESS。在这种情况下,输出缓冲器中的ChunksWritten将与输入缓冲器中的ChunkCount匹配。
如果服务器104没能复制块(数据块),它将返回一个指示为什么块不能被复制的状态代码。在这种情况下,输出缓冲器中的ChunksWritten将指示被成功复制的块的数量。注意到,服务器104按照输入缓冲器中Chunk阵列指定的顺序处理块,并且将在第一个故障处停止。
如果客户机102的请求超出了所有服务器104的极限值,服务器104将返回STATUS_INVALID_PARAMETER。另外,在这种情况下,服务器104将使用下面的翻译在SRV_COPYCHUNK_RESPONSE中返回它被配置的最大极限值:
ChunksWritten=单一操作中允许的最大块SRV。
ChunkBytesWritten=任意单独块的最大尺寸。
TotalBytesWritten=所有总和块的最大总长。
如果在指定的总时间(例如,25秒的默认值)没有完成复制,服务器104返回STATUS_IO_TIMEOUT。其他配置参数的默认值可以在注册表中设置,所述参数包括:
ChunkMax=在单一的副本收集fsctl命令中将被复制的块的最大数量。例子的默认值为256。
ChunkWriteLimit=在单一的块中将被复制的数据的最大总数,用字节指定。例子的默认值为1MB。
ChunkTotalWriteLimit=在单一的副本收集fsctl命令中将被复制的数据的最大总数,用字节指定。例子的默认值为16MB。
ChunkTimout=当处理一个单一的副本收集fsctl命令时,可以消耗的时间的最大总数,用秒指定。例子的默认值为25秒。
典型方法
现在将主要参照流程图5-8描述通过远程协议实施远程文件更新的方法的例子。该方法一般应用于以上结合附图1-4讨论的典型实施例。当根据流程图以及与流程图的块相关的文本公开一个或多个方法时,将被理解的是,所述方法的元素不必按照它们被表示的顺序执行,选择性的顺序可能产生类似的优点。此外,该方法并不是唯一的并且可以独立地或者相互结合地执行。可以通过任何适当的装置执行所述方法的元素,例如,包括通过ASIC上的硬件逻辑块或通过在处理器可读介质上定义的处理器可读指令的执行。
这里所使用的“处理器可读介质”可以是任何装置,其可以包含,存储,通信,传播,或者传输指令用于由处理器使用或执行。处理器可读介质可以是,但并不限制为,电子,磁性,光学,电磁,红外线,或半导体系统,装置,设备,或传播介质。处理器可读介质更具体的例子包括,其中,具有一个或多个电线的电连接(电子的),便携式计算机软盘(磁性的),随机存取存储器(RAM)(磁性的),只读存储器(ROM)(磁性的),可擦除可编程只读存储器(EPROM或闪存),光纤(光学的),可重写光盘(CD-RW)(光学的),以及便携式光盘只读存储器(CDROM)(光学的)。
在方法500的块502,远程服务器104上的源文件被打开。用至少数据读取状态打开源文件。由客户应用程序204打开的源文件在客户机102上执行并且利用远程通信协议诸如服务器消息块(SMB)协议,网络文件系统(NFS)协议,WebNFS协议,公共因特网文件系统(CIFS)协议,Samba,等等。在块504,在远程服务器104上打开目标文件。在块506,检索源文件的副本或从服务器104下载到客户机102。在块508,客户机102要求识别源文件的标识符(例如,恢复键)。
在块510,副本收集文件系统控制(fsctl)命令被传送到服务器104用于指导服务器从源文件收集源数据并且从源文件将源数据复制到目标文件。远程协议的副本收集扩展208根据从服务器104检索的源文件副本的改变生成副本收 集(fsctl)命令。根据源文件副本的改变,文件区域的阵列被创建,该阵列定义如何从源文件将源数据复制到目标文件。文件区域的阵列,源文件标识符,以及目标文件操作按照副本收集fsctl命令被传送。创建阵列包括,用于阵列中的每个文件区域,确定表示源文件中的开始位置的源偏移量,服务器104将从该位置开始复制。目标偏移量表示目标文件中的开始位置,服务器104将源文件数据开始复制到该位置。也包括用于复制的字节的长度或数量,其用于确定从源文件复制到目标文件的每个源文件数据块的长度。
在块512,客户机102从服务器104接收状态指示符,该指示符表示从源文件复制到目标文件的具体源数据的字节的总数。该方法在图6的块514继续。在块514,如果服务器将所有指定的源数据从源文件复制到目标文件,客户机102从服务器104接收成功指示符。在块516,如果服务器104没有将所有指定的源数据从源文件复制到目标文件,客户机102接收状态失败指示符。与状态失败指示符一起,客户机102接收表示为什么没有将所有指定的源数据从源文件复制到目标文件的状态代码。
在块518,如果传送到服务器104的副本收集fsctl命令超出了所有服务器的极限值,客户机102从服务器104接收非法参数指示符。如果已经超出了服务器的极限值,客户机102也从服务器104接收配置的最大的极限值,该极限值表示为服务器参数设置的最大极限值。所接收的配置的最大极限值包括可以用单一的副本收集fsctl复制的数据块数量被配置的最大极限值(例如,256),可以用单一的数据块复制的数据总数被配置的最大极限值(例如,1MB),可以用单一的副本收集fsctl复制的数据总数被配置的最大极限值(例如,16MB),以及当处理单一的副本收集fsctl命令时,可以消耗的时间总数被配置的最大极限值(例如,25秒)。
在块520,客户机102将新数据(例如,与源文件数据相对)写入到目标文件中左边的空白位置。客户机102将写请求传送到包括被写入的新数据的服务器,与目标文件中的偏移量一起表示数据被写入的位置。值得注意的是,新数据可以在服务器执行副本收集fsctl命令之前或之后被写入到目标文件。
图7说明了通过远程协议实施远程文件更新的另一种方法700。在该方法700的块702,服务器104响应客户机102的第一打开请求用至少读数据状态打开源文件。在块704,服务器104响应客户机102的第二打开请求用至少写数据 状态打开目标文件。在块706,服务器104响应从客户机102接收的副本收集fsctl命令将源数据从源文件复制到目标文件。副本收集fsctl命令包括文件区域阵列,该阵列定义如何将源数据从源文件复制到目标文件。根据位于客户机102上源文件副本的改变在客户机102上创建文件区域阵列。阵列中的每个文件区域包括表示源文件中服务器104将要从中开始复制的开始位置的源偏移量,表示目标文件中服务器104将源文件数据开始复制到其中的开始位置的目标偏移量,以及复制的字节的长度或数量,该长度或数量确定从源文件复制到目标文件的每个源文件数据块的长度。副本收集fsctl命令也包括源文件标识符和目标文件操作。
在块708,服务器104将状态指示符传送到客户机102,表示从源文件复制到目标文件的被指定的源数据的字节的总数。在块710,如果服务器已经将所有被指定的源数据从源文件复制到目标文件,服务器104将成功指示符传送到客户机102。在块712,如果服务器104没有将所有被指定的源数据从源文件复制到目标文件,服务器104传送状态失败指示符。与状态失败指示符一起,服务器104传送表示为什么没有将所有被指定的源数据从源文件复制到目标文件的状态代码。
方法700在图8的块714继续。在块714,如果副本收集fsctl命令超出了所有服务器的极限值,服务器104将非法参数指示符传送到客户机102。如果已经超出了服务器的极限值,服务器104传送服务器104被配置的最大极限值,该极限值表示为服务器参数设置的最大极限值。所传送的被配置的最大极限值包括可以用单一的副本收集fsctl复制的数据块被配置的最大极限值(例如,256),可以用单一的数据块复制的数据总量被配置的最大极限值(例如,1MB),可以用单一的副本收集fsctl复制的数据总量被配置的最大极限值(例如,16MB),以及当处理单一的副本收集fsctl命令时,可以消耗的时间总量被配置的最大极限值(例如,25秒)。
在块716,服务器104从客户机102接收数据写入请求,该客户机包括被写入到目标文件左边空白位置的新数据(例如,与源文件数据相对)。在块718,服务器102根据该写入请求将新数据写入到目标文件的空白位置。值得注意的是,新数据可以在服务器执行副本收集fsctl命令之前或之后被写入到目标文件。
典型的计算环境
图9说明了适合实施计算机设备的典型计算环境,诸如参照图1-8在上面讨论的客户设备102和服务器设备104。虽然图9中示出了一个具体的结构,该计算设备可以在其他计算结构中被实施。
计算环境900包括计算机902形式的通用计算系统。计算机902的部件可以包括,但不限制为,一个或多个处理器或者处理单元904,系统存储器906,以及将包括处理器904的各种系统部件耦合到系统存储器906的系统总线908。
系统总线908表示一个或多个任意不同类型的总线结构,包括存储器总线或存储器控制器,外围总线,加速图形端口,以及处理器或使用任何不同总线结构的局部总线。系统总线908的一个例子可以是外围部件互连(PCI)总线,也称作附加板总线。
计算机902包括各种计算机可读介质。该介质可以是计算机902可访问的任何可获得的介质并且包括易失和非易失性介质,可移动和不可移动介质。系统存储器906包括易失性存储器,诸如随机存取存储器(RAM)910,和/或非易失性存储器形式的计算机可读介质,诸如只读存储器(ROM)912。基本输入/输出系统(BIOS)914,包含有助于在计算机902中的元件之间传送信息的基本程序,诸如在启动期间,存储在ROM912中。RAM910包含立即可访问的和/或目前由处理单元904操作的数据和/或程序模块。
计算机902也可以包括其他可移动/不可移动,易失性/非易失性计算机存储介质。举例来说,图9说明了用于从不可移动,非易失性磁介质(未示出)读取数据以及向上述介质写入数据的硬盘驱动器916,用于从可移动,非易失性磁盘920(例如,“软盘”)读取数据并且向上述介质写入数据的磁盘驱动器918,以及用于从诸如CD-ROM,DVD-ROM,或其他光学介质的可移动,非易失性光盘924读取数据和/或向上述介质写入数据的光盘驱动器922。硬盘驱动器916,磁盘驱动器918,以及光盘驱动器922通过一个或多个数据介质接口925各自连接到系统总线908。或者,硬盘驱动器916,磁盘驱动器918,以及光盘驱动器922可以通过SCSI接口(未示出)连接到系统总线908。
盘驱动器和其他相关的计算机可读介质提供计算机可读指令的非易失性存储,数据结构,程序模块,以及用于计算机902的其他数据。虽然用硬盘916,可移动磁盘920,以及可移动光盘924说明了该例子,能够理解的是,可以存储计算机可访问的数据的其他类型的计算机可读介质,诸如磁带或其他磁存储设 备,闪存卡,CD-ROM,数字通用盘(DVD)或其他光学存储器,随机存取存储器(RAM),只读存储器(ROM),电可擦除可编程只读存储器(EEPROM),等等,也可以用于实施该典型的计算系统和环境。
任意数量的程序模块可以存储在硬盘916,磁盘920,光盘924,ROM912,和/或RAM910上,举例来说,包括操作系统926,一个或多个应用程序928,其他程序模块930,以及程序数据932。每个这样的操作系统926,一个或多个应用程序928,其他程序模块930,以及程序数据932(或它们的一些组合)可以包括用于用户网络接入信息的高速缓存模式的实施例。
计算机902可以包括各种确定为通信介质的计算机/处理器可读介质。通信介质包含计算机可读指令,数据结构,程序模块,或被调制数据信号中的其他数据诸如载波或其他传送机制并且包括任何信息传送介质。术语“被调制的数据信号”意思是具有一个或多个它的特征集合或者采用信号中编码信息的方式改变的信号。举例来说,而不是限定,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声波,射频,红外线的无线介质,以及其他无线介质。上述的任意组合也包括在计算机可读介质的范围中。
用户可以通过诸如键盘934和定点设备936(例如,“鼠标”)的输入设备将命令和信息输入到计算机系统902。其他的输入设备938(没有具体示出)可以包括麦克风,操作杆,游戏垫,卫星盘,串行端口,扫描仪,等等。这些以及其他的输入设备通过耦合到系统总线908的输入/输出接口940连接到处理单元904,但是也可以通过其他的接口和总线结构连接,诸如并行端口,游戏端口,或通用串行总线(USB)。
监视器942或其他类型的显示设备也可以通过诸如视频适配器944的接口连接到系统总线908。除了监视器942以外,其他的输出外围设备可以包括能够通过输入/输出接口940连接到计算机902的部件,诸如喇叭(未示出)和打印机946。
计算机902可以使用到一个或多个远程计算机的逻辑连接而在网络环境中操作,诸如远程计算设备948。举例来说,远程计算设备948可以是个人计算机,便携式计算机,服务器,路由器,网络计算机,对等设备或其他公共网络节点,等等。远程计算设备948作为便携式计算机被说明,该计算机可以包括许多或所有这里描述的与计算机系统902相关的元素和特征。
计算机902和远程计算机948之间的逻辑连接被描述为局域网(LAN)950和通用广域网(WAN)952。该网络环境一般在办公室,企业范围计算机网络,内部网,以及因特网中。当在LAN网络环境中实施时,计算机902通过网络接口或适配器954连接到局域网950。当在WAN网络环境中实施时,计算机902包括通过广域网952建立通信的调制解调器956或其他装置。调制解调器956对于计算机902来说可以是内部的或外部的,可以通过输入/输出接口940或其他合适的机制连接到系统总线908。可以理解的是,所说明的网络连接是示范性的并且可以使用在计算机902和948之间建立通信连接的其他装置。
在网络环境中,诸如结合计算环境900所说明的,所描述的与计算机902相关的程序模块,或它的一部分,可以存储在远程存储器存储设备中。举例来说,远程应用程序958存储在远程计算机948的存储设备中。为了说明的目的,应用程序和其他的可执行程序部分,诸如操作系统,在这里作为离散块被说明,虽然认为该程序和部件在不同时间存储在计算机系统902的不同存储部件中,并且由计算机的数据处理器执行。
结论
虽然用具体到结构特征和/或方法行为的语言描述了本发明,将被理解的是,所附权利要求中定义的发明不必限定到所述的具体的特征或行为。相反,被公开的具体特征和行为作为实施发明权利要求的典型形式。

Claims (23)

1.一种更新文件的计算机实现方法,包括:
从远程服务器检索源文件的副本,并将所述源文件的副本存储在计算机系统;
对所述源文件的副本进行改变;
指导远程服务器打开源文件;
指导远程服务器打开目标文件;
指导远程服务器接收所述源文件的拷贝;
基于对从远程服务器检索到的所述源文件的副本所做的改变生成副本收集文件系统控制(fsctl)命令,其中所述生成包括创建文件区域的阵列,该阵列定义如何复制来自远程服务器上的源文件中的源数据的字节并将其存储到远程服务器上的目标文件中;
为所述阵列中每个文件区域确定源偏移量、目标偏移量和长度,其中源偏移量表示源文件中的开始位置,从该位置将复制源数据的这些字节,目标偏移量表示目标文件中的开始位置,源数据的这些字节将复制到该位置,长度定义了字节的数量;
传送副本收集文件系统控制(fsctl)命令,指导远程服务器从远程服务器的源文件中复制源数据的这些字节并将源数据的这些字节存储到远程服务器的目标文件中,以便所述目标文件反映对所述源文件的副本所做的改变。
2.如权利要求1中所述的方法,其中的传送副本收集fsctl命令包括:
传送定义如何将源数据从远程服务器上的源文件复制到远程服务器上的目标文件的文件区域阵列;
传送源文件的标识符;以及
传送目标文件操作。
3.如权利要求1中所述的方法,进一步包括向远程服务器请求源文件的标识符。
4.如权利要求1中所述的方法,进一步包括将新数据写入到目标文件。
5.如权利要求4中所述的方法,其中的写入包括当远程服务器将源数据从源文件复制到目标文件时,传送数据写入指令到远程服务器,该服务器包括要被写入到所创建目标文件中的空白位置的数据。
6.如权利要求1中所述的方法,进一步包括从远程服务器接收状态指示符,以指示复制到目标文件的源数据的字节总数。
7.如权利要求6中所述的方法,所述接收进一步包括:响应于远程服务器将源数据的所有这些字节存储到目标文件而从远程服务器接收状态成功指示符。
8.如权利要求1中所述的方法,进一步包括:
响应于远程服务器没有将源数据的所有这些字节存储到目标文件,从远程服务器接收状态失败指示符;以及
接收表示为何没有将所有指定的源数据从源文件复制到目标文件的原因的状态代码。
9.如权利要求1中所述的方法,进一步包括:响应于副本收集fsctl命令超出了服务器的极限值,
从远程服务器接收非法参数指示符;以及
从远程服务器接收所配置的最大极限值,该极限值表示为服务器参数设置的最大极限值。
10.如权利要求9中所述的方法,其中从远程服务器接收所配置的最大极限值包括:
接收可以用单一的副本收集fsctl命令复制到远程服务器的数据块的数量被配置的最大极限值;
接收可以用单一的数据块复制的数据总量被配置的最大极限值;
接收可以用单一的副本收集fsctl命令复制到远程服务器的数据最大总量被配置的最大极限值;以及
当处理单一的副本收集fsctl命令时,接收可以消耗的时间总量被配置的最大极限值。
11.一种计算机实现的方法,包括:
响应于从客户机接收的请求,传送源文件的副本;
响应客户机的第一打开请求打开源文件;
响应客户机的第二打开请求打开目标文件;
接收副本收集文件系统控制(fsctl)命令,包括文件区域的阵列,该阵列定义如何复制来自远程服务器上的源文件中的源数据的字节并将其存储到远程服务器上的目标文件中,其中,为所述阵列中每个文件区域确定源偏移量、目标偏移量和长度,其中源偏移量表示源文件中的开始位置,从该位置将复制源数据的这些字节,目标偏移量表示目标文件中的开始位置,源数据的这些字节将复制到该位置,长度定义了字节的数量;
响应从客户机接收的副本收集fsctl命令从远程服务器上的源文件复制源数据并将所述源数据存储到远程服务器上的目标文件,以便所述目标文件反映对所述源文件的副本所做的改变。
12.如权利要求11中所述的方法,其中的接收副本收集fsctl命令包括:
接收定义如何将源数据从源文件复制并存储到目标文件的文件区域阵列;
接收源文件的标识符;以及
接收目标文件操作。
13.如权利要求11中所述的方法,进一步包括:
从客户机接收数据写入请求,该客户机包括将被写入到目标文件的新数据;以及
将新数据写入到目标文件中缺少源文件数据的偏移位置。
14.如权利要求11中所述的方法,进一步包括响应于将副本收集fsctl命令指定的所有源数据从源文件复制并存储到目标文件,则将状态成功指示符传送到客户机。
15.如权利要求11中所述的方法,进一步包括:
响应于没有将副本收集fsctl命令指定的所有源数据从源文件传送到目标文件,则将状态失败指示符传送到客户机;以及
传送表示为何没有将所有指定的源数据从源文件复制到目标文件的状态代码。
16.如权利要求11中所述的方法,进一步包括:响应于副本收集fsctl命令超出了服务器的极限值:
将非法参数指示符传送到客户机;以及
将所配置的最大极限值传送到客户机,该极限值表示为服务器参数设置的最大极限值。
17.如权利要求16中所述的方法,其中将所配置的最大极限值传送到客户机包括:
传送可以用单一的副本收集fsctl命令复制的数据数量被配置的最大极限值;
传送可以用单一的数据块复制的数据总量被配置的最大极限值;
传送可以用单一的副本收集fsctl命令复制的数据最大总数被配置的最大极限值;
当处理单一的副本收集fsctl命令时,传送可以消耗的时间总量被配置的最大极限值。
18.如权利要求11中所述的方法,进一步包括将源文件标识符传送到客户机。
19.一种用于更新文件的方法,所述方法包括:
从远程服务器检索源文件的副本,并将所述源文件的副本存储在计算机系统;
对所述源文件的副本进行改变;
指导远程服务器打开源文件并且提供访问源文件的至少读数据;
向远程服务器请求源文件的标识符;
指导远程服务器打开目标文件以及提供访问目标文件的至少写数据;基于对所述源文件的副本所做的改变,创建文件区域阵列,该阵列识别从源文件复制到目标文件的数据块;
为每个文件区域确定源偏移量,该偏移量表示多个源数据字节将要从源文件中复制的开始位置;
为每个文件区域确定目标偏移量,该偏移量表示将源数据的这些字节数复制到目标文件中的开始位置;
为每个文件区域确定将被复制的源数据的字节数;
指导远程服务器将所识别的数据块从远程服务器上的源文件复制到远程服务器上的目标文件中,以便所述目标文件反映对所述源文件的副本所做的改变。
20.如权利要求19中所述的方法,进一步包括:
如果远程服务器成功地将所有被识别的数据块从源文件复制到目标文件,则从远程服务器接收状态指示符。
21.如权利要求19中所述的方法,其中指导远程服务器复制被识别的数据块包括,将副本收集文件系统控制(fsctl)命令发布到远程服务器,该副本收集fsctl命令包括表示从源文件复制到目标文件的数据块的文件区域阵列。
22.一种客户计算机,包括:
用于从远程服务器检索源文件的副本,并将所述源文件的副本存储在计算机系统的装置;
用于对所述源文件的副本进行改变的装置;
用于指导远程服务器打开源文件的装置;
用于指导远程服务器打开目标文件的装置;
用于指导远程服务器接收所述源文件的拷贝的装置;
用于基于对从远程服务器检索到的所述源文件的副本所做的改变生成副本收集文件系统控制(fsctl)命令的装置,其中所述生成包括创建文件区域的阵列,该阵列定义如何复制来自远程服务器上的源文件中的源数据的字节并将其存储到远程服务器上的目标文件中;
用于为所述阵列中每个文件区域确定源偏移量、目标偏移量和长度的装置,其中源偏移量表示源文件中的开始位置,从该位置将复制源数据的这些字节,目标偏移量表示目标文件中的开始位置,源数据的这些字节将复制到该位置,长度定义了字节的数量;
用于传送副本收集文件系统控制(fsctl)命令,指导远程服务器从远程服务器的源文件中复制源数据的这些字节并将源数据的这些字节存储到远程服务器的目标文件中的装置,以便所述目标文件反映对所述源文件的副本所做的改变。
23.一种服务器计算机,包括:
用于响应于来自客户机的请求,传送源文件的副本的装置;
用于响应客户机的第一打开请求打开源文件的装置;
用于响应客户机的第二打开请求打开目标文件的装置;
用于接收副本收集文件系统控制(fsctl)命令的装置,包括文件区域的阵列,该阵列定义如何复制来自远程服务器上的源文件中的源数据的字节并将其存储到远程服务器上的目标文件中,其中,为所述阵列中每个文件区域确定源偏移量、目标偏移量和长度,其中源偏移量表示源文件中的开始位置,从该位置将复制源数据的这些字节,目标偏移量表示目标文件中的开始位置,源数据的这些字节将复制到该位置,长度定义了字节的数量;
用于响应从客户机接收的副本收集fsctl命令从远程服务器上的源文件复制源数据并将所述源数据存储到远程服务器上的目标文件的装置,以便所述目标文件反映对所述源文件的副本所做的改变。
CN200510092392XA 2004-07-19 2005-07-19 通过远程协议的远程文件更新的方法和计算机 Expired - Fee Related CN1744603B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US58914504P 2004-07-19 2004-07-19
US60/589,145 2004-07-19
US10/954,747 2004-09-30
US10/954,747 US7617256B2 (en) 2004-07-19 2004-09-30 Remote file updates through remote protocol

Publications (2)

Publication Number Publication Date
CN1744603A CN1744603A (zh) 2006-03-08
CN1744603B true CN1744603B (zh) 2010-12-22

Family

ID=35149606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510092392XA Expired - Fee Related CN1744603B (zh) 2004-07-19 2005-07-19 通过远程协议的远程文件更新的方法和计算机

Country Status (7)

Country Link
US (1) US7617256B2 (zh)
EP (1) EP1619600B1 (zh)
JP (1) JP4786954B2 (zh)
KR (1) KR101122890B1 (zh)
CN (1) CN1744603B (zh)
AT (1) ATE408197T1 (zh)
DE (1) DE602005009616D1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US7162499B2 (en) * 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US6879564B2 (en) * 2001-02-28 2005-04-12 Microsoft Corp. Method for designating communication paths in a network
US7035922B2 (en) * 2001-11-27 2006-04-25 Microsoft Corporation Non-invasive latency monitoring in a store-and-forward replication system
US7529778B1 (en) 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
US7185359B2 (en) * 2001-12-21 2007-02-27 Microsoft Corporation Authentication and authorization across autonomous network systems
US20060288049A1 (en) * 2005-06-20 2006-12-21 Fabio Benedetti Method, System and computer Program for Concurrent File Update
KR100825724B1 (ko) * 2005-12-08 2008-04-29 한국전자통신연구원 직접접속방식을 적용하는 고속 전송이 가능한PMEM(PCI Memory)를 이용한 객체 기반저장시스템 및 그 시스템에서의 전송 방법
CN1997006B (zh) * 2006-01-06 2011-06-22 鸿富锦精密工业(深圳)有限公司 网络通信中转控制系统及方法
US8065661B2 (en) 2006-08-29 2011-11-22 Sap Ag Test engine
US7831568B2 (en) * 2006-08-29 2010-11-09 Sap Ag Data migration
US8131644B2 (en) * 2006-08-29 2012-03-06 Sap Ag Formular update
US7912800B2 (en) * 2006-08-29 2011-03-22 Sap Ag Deduction engine to determine what configuration management scoping questions to ask a user based on responses to one or more previous questions
US20080127082A1 (en) * 2006-08-29 2008-05-29 Miho Emil Birimisa System and method for requirements-based application configuration
US7823124B2 (en) 2006-08-29 2010-10-26 Sap Ag Transformation layer
US7831637B2 (en) 2006-08-29 2010-11-09 Sap Ag System on the fly
US7908589B2 (en) 2006-08-29 2011-03-15 Sap Ag Deployment
US7827528B2 (en) * 2006-08-29 2010-11-02 Sap Ag Delta layering
KR101079592B1 (ko) * 2006-11-03 2011-11-04 삼성전자주식회사 디스플레이장치 및 그 정보갱신방법
CN101102280B (zh) * 2007-08-01 2010-12-08 中兴通讯股份有限公司 一种ip多媒体子系统中优化通讯传输效率的方法
EP2195968A2 (en) * 2007-09-14 2010-06-16 Softkvm, Llc Software method and system for controlling and observing computer networking devices
US8140637B2 (en) * 2007-10-25 2012-03-20 Hewlett-Packard Development Company, L.P. Communicating chunks between devices
GB2466579B (en) 2007-10-25 2012-12-26 Hewlett Packard Development Co Data processing apparatus and method of deduplicating data
US8838541B2 (en) * 2007-10-25 2014-09-16 Hewlett-Packard Development Company, L.P. Data processing apparatus and method of processing data
US8135659B2 (en) 2008-10-01 2012-03-13 Sap Ag System configuration comparison to identify process variation
US8396893B2 (en) 2008-12-11 2013-03-12 Sap Ag Unified configuration of multiple applications
US8255429B2 (en) 2008-12-17 2012-08-28 Sap Ag Configuration change without disruption of incomplete processes
US8892789B2 (en) 2008-12-19 2014-11-18 Netapp, Inc. Accelerating internet small computer system interface (iSCSI) proxy input/output (I/O)
US8185566B2 (en) 2009-01-15 2012-05-22 Microsoft Corporation Client-based caching of remote files
JP5192506B2 (ja) * 2010-03-12 2013-05-08 株式会社日立製作所 ファイルキャッシュの管理方法、装置、及び、プログラム
CN103577210B (zh) * 2012-08-06 2017-11-28 广州三星通信技术研究有限公司 移动终端之间挂载的系统和方法
US10592527B1 (en) * 2013-02-07 2020-03-17 Veritas Technologies Llc Techniques for duplicating deduplicated data
KR101529877B1 (ko) * 2013-07-26 2015-06-18 서울시립대학교 산학협력단 원격 데이터 연산 방법 및 시스템
CN103401867A (zh) * 2013-07-31 2013-11-20 珠海金山网络游戏科技有限公司 一种通过协议对打包文件进行更新的方法及系统
CN107430546B (zh) * 2015-06-26 2020-04-21 华为技术有限公司 一种文件更新方法及存储设备
US10154079B2 (en) 2015-08-11 2018-12-11 Dell Products L.P. Pre-boot file transfer system
CN105451080A (zh) * 2015-12-10 2016-03-30 安徽广行通信科技股份有限公司 一种智能机顶盒终端系统升级方法
KR101956602B1 (ko) * 2017-06-14 2019-03-12 (주)클라우드네트웍스 로그 데이터 수집 장치
CN107390970A (zh) * 2017-06-15 2017-11-24 深信服科技股份有限公司 文本框展示方法、服务器、用户终端及存储介质
CN109347937B (zh) * 2018-10-09 2021-08-27 深圳市亿联智能有限公司 一种应用于视频监控设备的智能远程升级方法
CN111666277B (zh) * 2019-02-21 2023-05-26 阿里巴巴集团控股有限公司 数据图表、数据源文件更新方法、设备、系统及存储介质
CN112783828B (zh) * 2019-11-11 2022-08-19 千寻位置网络有限公司 Igs文件处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065010A (en) * 1997-06-10 2000-05-16 Daikin Us Corporation Computer implemented method of generating virtual files for sharing information of physical information file
WO2000069141A2 (en) * 1999-05-07 2000-11-16 Commercequest, Inc. File transfer system and method
US20030195974A1 (en) * 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US6757698B2 (en) * 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US553375A (en) * 1896-01-21 Window-curtain
US4399504A (en) 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4825354A (en) 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4780821A (en) 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4914570A (en) 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US4791566A (en) 1987-03-27 1988-12-13 Digital Equipment Corporation Terminal device session management protocol
US5008853A (en) 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US4891785A (en) 1988-07-08 1990-01-02 Donohoo Theodore J Method for transferring data files between computers in a network response to generalized application program instructions
US5124909A (en) 1988-10-31 1992-06-23 Hewlett-Packard Company Software program for providing cooperative processing between personal computers and a host computer
US5109519A (en) 1989-03-28 1992-04-28 Wang Laboratories, Inc. Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer
US5560008A (en) 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5113519A (en) * 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5218696A (en) 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5265261A (en) 1989-08-14 1993-11-23 Microsoft Corporation Method and system for network communications using raw mode protocols
US5261051A (en) 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
JP2575543B2 (ja) 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
EP0453863A2 (en) * 1990-04-27 1991-10-30 National Semiconductor Corporation Methods and apparatus for implementing a media access control/host system interface
JPH0619771A (ja) 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5349642A (en) * 1992-11-03 1994-09-20 Novell, Inc. Method and apparatus for authentication of client server communication
US5452447A (en) 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US5493728A (en) * 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5491752A (en) 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
JP3528206B2 (ja) * 1993-07-13 2004-05-17 富士ゼロックス株式会社 ファイル管理システム
US5631913A (en) * 1994-02-09 1997-05-20 Matsushita Electric Industrial Co., Ltd. Test circuit and test method of integrated semiconductor device
US5588117A (en) 1994-05-23 1996-12-24 Hewlett-Packard Company Sender-selective send/receive order processing on a per message basis
US5860022A (en) * 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
EP0826181A4 (en) * 1995-04-11 2005-02-09 Kinetech Inc IDENTIFYING DATA IN A DATA PROCESSING SYSTEM
US5628005A (en) * 1995-06-07 1997-05-06 Microsoft Corporation System and method for providing opportunistic file access in a network environment
US5845280A (en) * 1995-09-25 1998-12-01 Microsoft Corporation Method and apparatus for transmitting a file in a network using a single transmit request from a user-mode process to a kernel-mode process
US5764887A (en) 1995-12-11 1998-06-09 International Business Machines Corporation System and method for supporting distributed computing mechanisms in a local area network server environment
US6438691B1 (en) 1996-04-01 2002-08-20 Hewlett-Packard Company Transmitting messages over a network
US6208952B1 (en) 1996-10-24 2001-03-27 Microsoft Corporation Method and system for delayed registration of protocols
US6088737A (en) * 1996-10-25 2000-07-11 Canon Kabushiki Kaisha Information processing system and control method thereof
US5931925A (en) * 1996-12-02 1999-08-03 International Business Machines Corporation System and method for efficiently transferring datastreams in a multimedia system
KR100287137B1 (ko) * 1997-04-11 2001-04-16 윤종용 휴대형 정보 단말기의 버전 관리방법
US5931913A (en) 1997-05-07 1999-08-03 International Business Machines Corporation Methods, system and computer program products for establishing a session between a host and a terminal using a reduced protocol
US6219799B1 (en) 1997-07-01 2001-04-17 Unisys Corporation Technique to support pseudo-names
US6092199A (en) 1997-07-07 2000-07-18 International Business Machines Corporation Dynamic creation of a user account in a client following authentication from a non-native server domain
CA2251456C (en) * 1997-10-31 2007-02-13 Sony Corporation An apparatus for storing and transmitting data
US6516351B2 (en) * 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6061768A (en) * 1997-12-18 2000-05-09 Advanced Micro Devices, Inc. Apparatus and method in a network interface device for storing tracking information indicating stored data status between contending memory controllers
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6757705B1 (en) 1998-08-14 2004-06-29 Microsoft Corporation Method and system for client-side caching
US6401123B1 (en) 1998-11-24 2002-06-04 International Busines Machines Corporation Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol
JP2000242574A (ja) * 1999-02-22 2000-09-08 Mitsubishi Electric Corp データ転送方法および予定転送先データベース作成方法
US6453354B1 (en) 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers
US6324581B1 (en) * 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US6349350B1 (en) 1999-05-04 2002-02-19 International Business Machines Corporation System, method, and program for handling failed connections in an input/output (I/O) system
US6430691B1 (en) 1999-06-21 2002-08-06 Copytele, Inc. Stand-alone telecommunications security device
US6910082B1 (en) * 1999-11-18 2005-06-21 International Business Machines Corporation Method, system and program products for reducing data movement within a computing environment by bypassing copying data between file system and non-file system buffers in a server
US6658476B1 (en) 1999-11-29 2003-12-02 Microsoft Corporation Client-server protocol support list for standard request-response protocols
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6452903B1 (en) 2000-05-31 2002-09-17 Fujitsu Network Communications, Inc. Network switch supporting rate-based and credit-based flow control mechanisms on a link-by-link basis
US6766430B2 (en) * 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
US6349250B1 (en) 2000-10-26 2002-02-19 Detroit Diesel Corporation Clear historic data from a vehicle data recorder
US6868417B2 (en) * 2000-12-18 2005-03-15 Spinnaker Networks, Inc. Mechanism for handling file level and block level remote file accesses using the same server
US7055036B2 (en) 2001-04-06 2006-05-30 Mcafee, Inc. System and method to verify trusted status of peer in a peer-to-peer network environment
US6587921B2 (en) * 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment
US7394764B2 (en) * 2001-12-14 2008-07-01 Sasken Communication Technologies Limited Technique for improving transmission control protocol performance in lossy networks
US20030140129A1 (en) 2002-01-24 2003-07-24 Noam Livnat Installing communication protocol in a handheld device
CA2385344A1 (en) 2002-05-08 2003-11-08 Bell Globemedia Inc. Data transfer method and apparatus
JP4000905B2 (ja) 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
US7039659B2 (en) * 2002-06-25 2006-05-02 Emc Corporation Method and apparatus for making differential independent data copies in a data processing system
US7490152B2 (en) 2003-04-11 2009-02-10 Alcatel-Lucent Usa Inc. Version caching mechanism
US7363629B2 (en) 2003-06-19 2008-04-22 International Business Machines Corporation Method, system, and program for remote resource management
US7698115B2 (en) 2003-06-30 2010-04-13 Microsoft Corporation System and method for dynamically allocating resources in a client/server environment
US7870268B2 (en) 2003-09-15 2011-01-11 Intel Corporation Method, system, and program for managing data transmission through a network
FI20031779A0 (fi) 2003-12-05 2003-12-05 Nokia Corp Menetelmä, järjestelmä ja lähetettävän puolen yhteyskäytäntöyksikkö datapakettien lähettämiseksi kuittaamattoman toimintamuodon palveluissa
US7698361B2 (en) 2003-12-31 2010-04-13 Microsoft Corporation Lightweight input/output protocol
US20060271695A1 (en) 2005-05-16 2006-11-30 Electronics Line 3000 Ltd. System for remote secured operation, monitoring and control of security and other types of events
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065010A (en) * 1997-06-10 2000-05-16 Daikin Us Corporation Computer implemented method of generating virtual files for sharing information of physical information file
US20030195974A1 (en) * 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US6757698B2 (en) * 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
WO2000069141A2 (en) * 1999-05-07 2000-11-16 Commercequest, Inc. File transfer system and method

Also Published As

Publication number Publication date
EP1619600B1 (en) 2008-09-10
CN1744603A (zh) 2006-03-08
KR20060053864A (ko) 2006-05-22
JP4786954B2 (ja) 2011-10-05
JP2006031711A (ja) 2006-02-02
DE602005009616D1 (de) 2008-10-23
EP1619600A2 (en) 2006-01-25
US7617256B2 (en) 2009-11-10
KR101122890B1 (ko) 2012-03-20
ATE408197T1 (de) 2008-09-15
US20060026165A1 (en) 2006-02-02
EP1619600A3 (en) 2006-05-24

Similar Documents

Publication Publication Date Title
CN1744603B (zh) 通过远程协议的远程文件更新的方法和计算机
KR100295725B1 (ko) 공유데이터파일의사본관리방법,데이터관리시스템및컴퓨터시스템
CN100377099C (zh) 为复制文件管理多个文件状态的方法
CN100535899C (zh) 用于与文件系统保持命名空间一致性的方法和系统
US8972348B2 (en) Method and system for supporting off-line mode of operation and synchronization
US7707180B2 (en) System and method for reliably replicating data
US7206796B2 (en) System and method for synchronizing multiple database files
CN1528079B (zh) 用于对等服务的方法和装备
US5511196A (en) Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment
CN100504873C (zh) 管理归档文件系统的方法和装置
JP4369471B2 (ja) ミラーリングプログラム、ミラーリング方法、情報記憶装置
US20040064488A1 (en) Real time optimized backup of computer data
KR101190426B1 (ko) 동기화 방법 및 시스템
JPH04502678A (ja) 回路網化されたコンピュータシステムにおいてファイルキャッシングを開く方法及び装置
KR20090096554A (ko) 동기화 방법 및 시스템
US7499904B2 (en) System and method for client mastered replication of local files
CN100418319C (zh) 透明计算系统中端设备间数据的传送方法
CN102323930B (zh) 对数据库系统中的数据变更进行镜像
CN102077183A (zh) 可移动存储设备上的外部文件系统元数据的维护
US20030105780A1 (en) File system, control method, and program
US20080270480A1 (en) Method and system of deleting files from a remote server
JP2000250799A (ja) 複製ファイル管理システム
US20040267696A1 (en) Data management method, and data processing unit
US20080140669A1 (en) Dedicated storage and background backup of stored contents
US20020120678A1 (en) Locally distributed databases

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150422

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150422

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101222

Termination date: 20200719

CF01 Termination of patent right due to non-payment of annual fee