用于ftp传输的方法和系统的制作方法

文档序号:7624383阅读:171来源:国知局
专利名称:用于ftp传输的方法和系统的制作方法
技术领域
本发明一般涉及对文件的并行ftp读写。更具体地,本发明涉及用于通过例如在ftp守护程序(daemon)中或者在逻辑文件系统(“LFS”)层中实现的程序对文件进行并行的ftp上载和下载的方法、系统和媒体。
背景技术
个人和企业常常期望传输例如数据、文本、程序、目录等等的文件给另一人或企业。一种利于文件传输的著名的协议,即已被认可的格式,是文件传输协议(“ftp”)。
在万维网出现以前很久,ftp已被广泛使用。ftp是一种使用户可出于检索和/或发送文件的目的以可选的安全性登录因特网站点的方法。与用于网页的超文本传输协议(“HTTP”)类似,ftp使用传输控制协议/网际协议(“tcp/ip”),以使数据能够以包的形式从服务器通过因特网在一个或多个主机即客户工作站之间传输。与ftp中将整个文件从例如客户工作站的一个设备向例如ftp服务器的另一个设备传输并将其复制在存储器中不同,HTTP仅将网页内容传输到用于查看的浏览器中—一种单向系统,因为仅将文件从服务器传送回客户工作站的浏览器中。然而,ftp是双向系统,因为将文件在服务器和(一个或多个)客户工作站之间来回传输。此外,当在统一资源定位器(“URL”)中出现“http”时,这意味着用户正在连接Web服务器,而非文件服务器,文件服务器是ftp时的情况。
经常地,人们和企业使用ftp在他们之间传输文件,以取消准许对他们各自计算机系统的全面访问。即,ftp为用户提供了通过位于一中立站点或分区站点(partitioned site)的ftp服务器传输文件的机制,藉此,一个用户登录到ftp服务器以上载文件,而另一个用户登录以下载同一文件。如果ftp站点不需要登录之外的安全性,则该站点被称为匿名ftp站点;否则,该站点是可由中立的第三方所拥有的私有ftp站点,该中立的第三方例如与上载和下载文件到该私有ftp站点所涉及的两独立企业无关的数据管理公司。
存在用于ftp的商业上可获得的程序。一些示例有lpswitch的WS FTP、KnoWare的Internet Neighborhood和Fetch Softworks的FetchTM。尽管有这些提供了将文件从ftp服务器传输于客户端之间的ftp程序,但问题依旧。经常地,当使用这些或类似的ftp程序时,一个用户给另一个用户打电话或发电子邮件并说文件将被上载到具有双方已知并可访问的URL的ftp站点。所述用户可承诺在文件上载完成后,给下载用户打电话或发电子邮件,于是在文件上载完成后该下载用户可登录以从该ftp站点下载已完全上载的文件。然而,由于现代商业的狂热步调,很少出现这样谦恭有礼的电话或电子邮件。结果,在可进行下载之前,下载用户不必要地等待来自所述用户的文件已完全上载的话。即使所述用户从未对下载用户做出这种承诺,所述用户仍必须在下载用户可开始下载文件之前将文件完全上载到ftp站点。对于大文件和/或上载期间的低带宽连通性,在完全上载和下载之间的空隙时间特别大,这是一种负面结果。因此,需要的是更快的方法、系统和媒体,其同样消除在另一个用户可从ftp站点下载同一文件之前用户要将文件完全上载到ftp服务器以及完全上载通知的依赖。

发明内容
本发明的实施例一般地提供了用于对文件的并行ftp读写的方法、系统和媒体。在一实施例中,该方法包括由与例如服务器的具有ftp程序的ftp站点通信的第一计算机系统上载文件。进一步地,该方法包括在上载期间由ftp站点接收文件的多个文件段。再进一步地,该方法包括由与ftp站点通信的第二计算机系统下载所有的多个文件段,藉此,可在接收文件段期间,即在文件的上载完成之前开始下载。
在另一实施例中,本发明提供了用于对文件的并行ftp读写的系统。该系统一般地包括具有文件且与ftp站点通信的第一计算机系统。进一步地,该系统包括与ftp站点通信的第二计算机系统。再进一步地,该系统包括在ftp站点上的ftp程序,其用于接收以文件段形式上载的文件并且用于在由ftp站点接收首个文件段之后允许第二计算机系统开始下载文件。
在再一实施例中,本发明提供了包含用于对文件的ftp并行传输的指令的机器可访问的媒体,所述指令当由机器执行时致使该机器执行操作。所述指令一般地包括由与例如服务器的具有ftp程序的ftp站点通信的第一计算机系统上载文件的操作。所述指令进一步包括用于在上载期间由ftp站点接收文件的多个文件段的操作。再进一步地,所述指令包括用于由与ftp站点通信的第二计算机系统下载所有的多个文件段的操作,藉此,可在接收文件段期间,即在上载文件完成之前开始执行下载。


因此,为了更详细地理解实现本发明的上述特征、优点和目标的方式,可参照附图中所说明的本发明的实施例,阅读以上简要概括的本发明的更具体的描述。
不过,要注意,附图仅仅说明本发明的典型实施例,并因此不被认为限制了本发明的范围,因为本发明可容许其他等效的实施例。
图1描述了根据所公开发明的用于文件的ftp传输的系统的概观。
图2描述了根据所公开发明的用于文件的ftp传输的系统的一示例性图3描述了根据所公开发明的用于文件的ftp传输的系统的另一示例性实施例。
图4描述了根据所公开发明的用于文件的ftp传输的流程图的示例性
具体实施例方式
下面是本发明的实施例示例的详细描述,所述描述通过附图得到进一步增强。这些实施例是示例并且详细得可以清晰地表明本发明。不过,所提供细节的数量并非为了限制实施例的预期变化;与之相反,目的是为了覆盖落在如所附权利要求所定义的本发明的精神和范围内的所有修改、等价物和替换物。以下的详细描述用于使这些实施例对于本领域内的普通技术人员变得明显。
一般而言,构想了用于通过文件传输协议(“ftp”)传输文件的系统、方法和媒体。参考图1,此图提供了用于ftp和即将说明的本发明的系统100的一般概观。系统100包括计算机系统1110,其包括例如一批在具有cpu的计算机内部和外部的逻辑和物理外围设备。经由网络1120通过在因特网130上的tcp/ip连接,可以是客户工作站的计算机系统1110与和ftp服务器140相关联的ftp站点通信,以传输文件115。ftp服务器140包括已安装的ftp程序150,例如,lpswitch的WS FTP、KnoWare的InternetNeighborhood和Fetch Softworks的FetchTM,所述ftp程序150提供了用于文件115传输的逻辑,即,从计算机系统1110上载文件115以及将文件115下载到计算机系统2 170。通过ftp程序150的对文件115的常规传输需要在计算机系统2170可通过计算机系统2170的到因特网130的网络2连接160从ftp服务器140下载文件115之前从计算机系统1110完全上载文件115。不过,所公开的发明将进一步的使能逻辑与常规ftp程序150相关联,或者将其集成到常规ftp程序150中以构成新的ttp程序,以上二者均消除了在可开始下载文件115之前将文件115完全上载到ftp服务器140的需要。虽然未在图1中描述这种使能逻辑,但它在图2和3中并且被称为“中间程序”。作为这种“中间程序”的结果,对文件115的ftp传输更快,但只有当计算机系统2170选择了一旦文件115的已上载的文件段可供下载时就下载已上载的文件115时才是这样。
现在转到图2,接着是对本发明的更详细的讨论。与图1类似,图2描述了用户可用于传输文件210到ftp服务器240的计算机系统1205。在这种客户端—服务器方案中,对文件210的传输(此处为上载)发生于从计算机系统1205经由网络1通过tcp/ip连接到因特网235上的ftp站点。该ftp站点是可由计算机系统1205和计算机系统2290分别通过网络1230和网络2280访问的双方已知的URL。该ftp站点关联于具有使能对文件210的传输的ftp程序250的ftp服务器240。不过,在对文件210的实际传输之前,不论是上载或下载,ftp程序250常常需要用户登录,这可包括用户提供用户名。进一步地,ftp程序250可以可选地需要口令,以确保对ftp服务器240的安全访问,并且在这种情况下,ftp程序250在认证之后授权用于文件210传输的访问。
被缩减为硬件和/或在软件中编码的使能逻辑存在于被集成在ftp程序250中或与ftp程序250关联的中间程序270中。如图2所示,中间程序270被集成在ftp程序250中,但在图3中,中间程序270与ftp程序360相关联。尽管图2和3示出了中间程序270、370相对于ftp程序250、360的位置的两个不同实施例,但应理解这些只是本发明的两个示例性实施例,并且无需背离本发明的范围,中间程序的其他位置也是可能的。
回到图2,中间程序270被示为位于ftp程序250的ftp守护程序260内,即集成于其中。ftp守护程序260是ftp程序250的这样的一部分,其监听由计算机系统1205和计算机系统2290通过它们各自的网络230、280用于文件210传输的tcp/ip连接。进一步地,ftp守护程序也是ftp程序250的这样的一部分,其例如遵循ftp协议以拉或推下数据,所述数据例如正在传输的文件210的文件段215、220和225。尽管说ftp守护程序260在服务器端(即ftp服务器240)有些多余,因为在ftp术语中守护程序总是在服务器端,但“ftp守护程序”260在本公开中用于确保清晰性。
现在,转到由与ftp守护程序260关联并集成于ftp程序250中的中间程序270给予本发明的功能,中间程序270允许在文件210的完全上载之前开始对文件210的下载。图2描述了这种中间程序270的功能的示例性实施例。具体地,如图所示,计算机系统1205的用户在上传文件210到ftp服务器240的中间。由于计算机系统1205的tcp/ip网络1的连接涉及用离散的文件子部分或tcp/ip术语中的“包”的形式对文件210的传输,由ftp程序250将文件210以包的集合的形式上载到ftp服务器240,所述的包在本公开中被称为文件段。通过与ftp守护程序260的协同工作,中间程序270管理由计算机系统1205上载并可供计算机系统2290下载的文件段的接收,所述的计算机系统2290可以是希望下载文件210的一个或甚至多个计算机系统。如图2所示,中间程序270已允许ftp守护程序260询问中间程序270,并在计算机系统1205完全上载文件210到ftp服务器240之前,从ftp服务器240部分地下载文件210到计算机系统2290。在图2中,通过出现在计算机系统2290内的文件段1215和仍出现在计算机系统1205内的文件210的文件段2220和文件段3225,图示了这一点。
在下载了文件段1215和/或有限时间段到期之后,ftp守护程序260可就下载尚未下载到计算机系统2290的任一或所有的其他包(即,文件段)的可能性再次询问中间程序270。在tcp/ip协议中,一段时间的无响应是完全可以接受的,因为发生的是计算机系统2290的tcp连接表示啊,也许那个包丢了,因此应该再次发送该包,而实际上ftp守护程序260可能从没有发送该包或文件段。这种再次询问可出现一次或多次,直到计算机系统2290接收到了文件段1215、2220、3225,其中文件段3225包括在包中的文件结束尾,tcp理解该文件结束尾是用于通过系统200下载的已上载文件210的结束。
现在转到图3,其描述了包括中间程序370的系统300,中间程序370给予了与图2的系统200中的中间程序270相同的用于文件的ftp传输的功能。图3的中间程序370的实现与图2不同,并且为了避免纯粹重复,对系统300的讨论仅围绕在中间程序370的实现中的这种差异。
在图3中,ftp程序360驻留在与具有一URL的ftp站点关联的ftp服务器340上,所述URL是计算机系统305、390双方已知的,并可经由它们各自的网络330、380通过因特网335上的tcp/ip通信进行访问。ftp服务器340包括操作系统350,如图2中的系统200那样但在该系统中未示出,所述操作系统350是称为应用程序的其他程序能够在其上运行的通用程序。在图3中两个这样的应用程序是ftp程序360和中间程序370。与图2中的系统200不同,图3中的系统300具有在操作系统350的逻辑文件系统(“LFS”)365层中实现的中间程序370,其中,由缩简为硬件和/或在代码中的逻辑所使能的中间程序370与ftp程序360通信,以允许在文件310完全上载到ftp服务器340之前开始对文件310的下载。
在操作系统350内有不同的文件系统,例如LFS 365、NFS、DFS、JFS和JFS2。LFS 365处于这些和所有其他文件系统之上,并负责使所有底层文件系统具有一种外观。每当用户想要开始使用例如ftp程序360的程序时,第一调用是“打开文件”,并且此调用到达LFS 365。LFS 365识别哪一类文件系统与特定程序相关联,并且例如该文件系统是JFS文件系统,接着LFS 365向下调用JFS文件系统以便处理所有的v-node、i-node的复杂情况、转到盘等等的用于例如ftp程序360的程序的操作的功能。由于中间程序370驻留在LFS 365中,LFS 365看到ftp守护程序360为从计算机系统1305读取而向下连接。LFS 365知道已存在用于将文件310写(即,上载)到ftp服务器340上的打开文件。不是ftp守护程序363通过中间程序370控制文件310到计算机系统2390的下载,如图2中的情况,而是LFS 365在图3描述的系统300中控制该下载。即,ftp守护程序363持续调用LFS 365,表示需要读作为文件段的更多数据。于是,ftp守护程序363发出读命令,并且如果在有限时间段到期之前未接收到响应,则ftp守护程序363以等待模式处于空闲状态,直到LFS 365通过以文件段315、320、325的形式的更多数据进行响应,上述操作直到通过中间程序370将所有的文件段315、320、325下载到计算机系统2390为止。
现在转到图4,其描述了用于例如分别为图2和3的系统200和300的系统的文件ftp传输的流程图400。流程图400开始于“开始”405,其中第一计算机系统的用户登录410到因特网上并与位于一URL的ftp服务器进行tcp/ip网络通信。登录410需要用户提供用户id并可选地提供口令,由ftp服务器对它们进行认证以便允许访问并上载文件到ftp服务器。由第二计算机的另一个用户的登录440涉及与登录410类似的过程,除了登录440是为了通过因特网上的第二计算机系统到同一URL的网络连接从ftp服务器下载被至少部分上载的文件。
在第一计算机系统登录410到ftp服务器后,ftp程序的ftp守护程序通过第一计算机系统与ftp服务器的tcp/ip通信上载420文件。文件的上载420以文件段(或tcp/ip用语中的包)的形式发生。不论中间程序通过它在ftp程序中的实现而与ftp程序成为整体,或者中间程序通过它在ftp服务器上的操作系统的LFS层中的实现而与ftp程序相关联,中间程序接收430用于最终由第二计算机系统下载的包。在前一实现中,ftp程序的ftp守护程序控制(即查询450)可供中间程序下载到第二计算机系统的已接收430的包。在后一实现中,LFS为了可供中间程序下载到第二计算机系统的已接收430的包而控制(即450)ftp程序的ftp守护程序。在任一情况下,重要的是可在文件被第一计算机系统完全上载到ftp服务器之前开始将文件下载到第二计算机系统。
通过查询与文件关联的所有文件段或包是否已下载到第二计算机系统的决定框460,流程图400继续。如果结果为是,则流程图400到达“结束”475,在tcp/ip用语中,由包含文件结束尾的最后下载的包识别“结束”475。如果还没出现下载了所有文件段或包的情况,即图4所示的“否”470,则通过向后连接箭头回到查询450。这样,根据中间程序的实现,中间程序致使ftp守护程序或LFS再次查询仍未接收的用于下载到第二计算机系统的包或文件段。第二计算机系统可能将这些未接收的包视为已丢失,但极为可能的是,ftp服务器仍未在文件上传过程中接收到这些包,并且结果是第二计算机系统无法下载这些仍未接收到的包。如470示出的这种重复持续直到第二计算机系统从ftp服务器下载了所有的包或文件段。
本发明的另一个实施例被实现为与例如图1和2中示出的系统100和200的计算机系统一起使用的程序产品。该程序产品的(一个或多个)程序定义了实施例的功能(包括这里所描述的方法),并能够被包含在多种信号承载媒体中。说明性的信号承载媒体包括但不限于(i)在不可写的存储媒体(例如,计算机内的只读存储设备,如可通过CD-ROM驱动器读取的CD-ROM盘)上永久存储的信息;(ii)在可写存储媒体(例如,软盘驱动器内的软盘或硬盘驱动器)上存储的可改变信息;以及(iii)由通信媒体例如通过计算机或电话网络包括无线通信传送到计算机的信息。后一实施例特别地包括从因特网和其他网络下载的信息。当携带指示本发明功能的计算机可读指令时,这种信号承载媒体代表本发明的实施例。
一般而言,被执行以实现本发明的实施例的例程可以是操作系统的一部分或一特殊的应用、部件、程序、模块、对象或指令序列。本发明的计算机程序典型地由将被本机计算机转换为机器可读格式并因而成为可执行指令的大量指令所组成。同样,程序由本地驻留于程序中或者存在于存储器或存储设备上的变量和数据结构所组成。此外,下文中描述的各种程序可以基于为其在本发明的特定实施例中实现它们的应用来识别。不过,应该理解,以下任何特定程序命名仅仅是为了方便,并因此本发明不应被局限于仅用于由这种命名识别和/或暗示的任何特定应用中。
尽管前述内容集中于所公开发明的示例性实施例,但可以设想出本发明其他的和进一步的实施例,而不背离本发明的基本范围,并且本发明的范围由如下的权利要求所确定。
权利要求
1.一种用于ftp传输的方法,所述方法包括由第一计算机系统将文件上载到ftp站点;在上载期间由ftp站点以文件段的形式接收该文件;以及在所述接收期间由第二计算机系统下载所述文件段。
2.权利要求1的方法,还包括在所述上载或下载之前由所述ftp站点认证对所述文件的访问。
3.权利要求1的方法,其中,所述上载和所述下载包括通过一个或多个网络连接到所述ftp站点。
4.权利要求1的方法,其中,所述接收和所述下载包括由与ftp守护程序关联的中间程序管理可供所述下载的每一所述文件段。
5.权利要求1的方法,其中,所述上载和所述下载包括由与所述ftp站点上的服务器关联的ftp守护程序进行读和写。
6.权利要求1的方法,其中,所述下载包括由ftp守护程序查询所述文件的文件段。
7.权利要求6的方法,其中,所述查询包括在有限时间段到期之后重复查询用于所述下载和在所述查询之后的未被所述ftp守护程序接收的任何文件段。
8.一种用于ftp传输的系统,所述系统包括具有文件并与ftp站点进行通信的第一计算机系统;与该ftp站点进行通信的第二计算机系统;以及在该ftp站点上用于接收以文件段形式上载的文件以及用于在由该ftp站点接收到首个文件段之后允许开始将该文件下载到第二计算机系统的ftp程序。
9.权利要求8的系统,其中,所述第一计算机系统和所述第二计算机系统与所述ftp站点进行网络通信。
10.权利要求8的系统,其中,所述ftp站点包括与ftp服务器相关联的URL。
11.权利要求8的系统,其中,所述ftp程序包括用于管理通过所述上载接收并可供所述下载的文件段的ftp中间程序。
12.权利要求11的系统,其中,所述中间程序在所述ftp程序的ftp守护程序中实现。
13.权利要求11的系统,其中,所述中间程序在与所述ftp程序进行通信的逻辑文件系统层中实现。
14.一种包含指令的机器可访问的媒体,当所述指令由机器运行时,会致使该机器执行用于ftp传输的操作,所述操作包括由第一计算机系统将文件上载到ftp站点;在所述上载期间由该ftp站点以文件段的形式接收该文件;以及在所述接收期间由第二计算机系统下载所述文件段。
15.权利要求14的机器可访问的媒体,其中,所述指令还包括用于在执行所述上载或所述下载之前执行由所述ftp站点认证对所述文件的访问的操作的指令。
16.权利要求14的机器可访问的媒体,其中,所述用于上载和下载的指令包括用于通过一个或多个网络连接到ftp站点的指令。
17.权利要求14的机器可访问的媒体,其中,所述用于接收和下载的指令包括用于在执行所述用于下载的指令之前由与ftp守护程序关联的中间程序管理可用的每一文件段的指令。
18.权利要求14的机器可访问的媒体,其中,所述用于上载和下载的指令包括用于由与ftp站点上的服务器关联的ftp守护程序进行读和写的指令。
19.权利要求14的机器可访问的媒体,其中,所述用于下载的指令包括用于由ftp守护程序查询所述文件的文件段的指令。
20.权利要求19的机器可访问的媒体,其中,所述用于查询的指令包括用于在有限时间段到期之后重复查询用于所述下载和在所述查询之后的未被所述ftp守护程序接收到的任何文件段的指令。
全文摘要
公开了用于对文件的并行FTP传输的方法、系统和媒体。在一实施例中,用于并行FTP读写的方法包括由与例如服务器的具有FTP程序的FTP站点通信的第一计算机系统上载文件。进一步地,该方法包括在上载期间由FTP站点接收文件的多个文件段。再进一步地,该方法包括由与FTP站点通信的第二计算机系统下载所有的所述多个文件段,藉此,可在这种接收期间,即在文件完全上载之前开始下载。与FTP程序的FTP守护程序关联的中间FTP程序允许对文件的并行FTP读写。此中间FTP程序的可能的实现包括例如在FTP守护程序中或在逻辑文件系统层中。
文档编号H04L29/06GK1764186SQ200510105148
公开日2006年4月26日 申请日期2005年9月28日 优先权日2004年9月30日
发明者S·M·基奥恩, G·F·麦克布莱迪, S·P·马伦, J·K·穆里略, J·M-H·谢 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1