CN100478952C - 在计算机间共享计算机数据的方法和设备 - Google Patents

在计算机间共享计算机数据的方法和设备 Download PDF

Info

Publication number
CN100478952C
CN100478952C CNB2006101355177A CN200610135517A CN100478952C CN 100478952 C CN100478952 C CN 100478952C CN B2006101355177 A CNB2006101355177 A CN B2006101355177A CN 200610135517 A CN200610135517 A CN 200610135517A CN 100478952 C CN100478952 C CN 100478952C
Authority
CN
China
Prior art keywords
shared
file system
computing machine
usb
size
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
CNB2006101355177A
Other languages
English (en)
Other versions
CN1987858A (zh
Inventor
埃里克·R.·科恩
沙恩·M.·拉蒂诺伊斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1987858A publication Critical patent/CN1987858A/zh
Application granted granted Critical
Publication of CN100478952C publication Critical patent/CN100478952C/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

在计算机间共享计算机数据,包括由用户经由第一计算机上的用户界面标识要经由第二计算机共享的文件系统的至少一个对象;由共享文件系统发生器在第一计算机上创建共享文件系统;由共享文件系统发生器将要被共享的对象安装到共享文件系统中;和经由第一计算机与第二计算机之间的通用串行总线(“USB”)连接将要被共享对象从共享文件系统暴露给第二计算机。

Description

在计算机间共享计算机数据的方法和设备
技术领域
本发明的领域是数据处理,或者,更加具体地讲,是在计算机间共享计算机数据的方法、设备和产品。
背景技术
通常援引1948年EDVAC计算机系统的研发作为计算机时代的开始。从那时起,计算机系统逐渐演化成了极为复杂的装置。今天的计算机比诸如EDVAC这样的早期计算机系统精密复杂得多。计算机系统典型地包括硬件和软件组件、应用程序、操作系统、处理器、总线、存储器、输入/输出装置等等的组合。随着半导体工艺和计算机体系结构的发展将计算机的性能推进得越来越高,计算机软件逐渐发展得更加复杂,以利用更高的硬件性能,使得今天的计算机系统比仅仅几年前强大得多。
发展迅猛的计算机技术领域之一是在计算机间共享计算机数据。存在着例如使得计算机能够将盘驱动器、存储器中的盘驱动器镜像或CDROM驱动器远程安装到服务器上的技术。如果要被共享的文件与远程安装的驱动器具有相同的媒体类型,那么这种技术效果良好。这种技术对于安装驱动器来说效果相当好,但是目前还没有远程安装单独一个文件、目录或文件夹的有效途径。而且,目前还没有在文件或目录的类型不同于它所要安装到的远程驱动器的情况下远程安装文件或目录的有效途径。
发明内容
本发明公开了用于在计算机间共享计算机数据的方法、设备和产品,它们包括:由用户通过第一计算机上的用户界面标识要通过第二计算机共享的文件系统的至少一个对象;由共享文件系统发生器在第一计算机上创建共享文件系统;由共享文件系统发生器将要被共享的对象安装到共享文件系统中;和通过第一计算机与第二计算机之间的通用串行总线(‘USB’)连接将要被共享的对象从共享文件系统暴露给第二计算机。
根据本发明的一个方面,提供了一种在计算机间共享计算机数据的方法,该方法包括:由用户通过第一计算机上的用户界面标识要通过第二计算机共享的文件系统的至少一个对象;由共享文件系统发生器在第一计算机上创建共享文件系统;由共享文件系统发生器将要被共享的对象安装到共享文件系统中;和通过第一计算机与第二计算机之间的通用串行总线USB连接将要被共享的对象从共享文件系统暴露给第二计算机。
根据本发明的一个方面,提供了一种在计算机间共享计算机数据的设备,该设备包括:用于由用户通过第一计算机上的用户界面标识要通过第二计算机共享的文件系统的至少一个对象的装置;用于由共享文件系统发生器在第一计算机上创建共享文件系统的装置;用于由共享文件系统发生器将要被共享的对象安装到共享文件系统中的装置;和用于通过第一计算机与第二计算机之间的通用串行总线USB连接将要被共享的对象从共享文件系统暴露给第二计算机的装置。
通过下面图示在附图中的本发明的示范性实施方式的更加具体的介绍,本发明的前述和其它目的、特征和优点将会是显而易见的,在附图中,类似的附图标记总体上代表本发明的示范性实施方式的类似部分。
附图说明
附图1给出了按照本发明的实施方式在计算机间共享计算机数据的示范性系统的网络图。
附图2给出了适合用于按照本发明的实施方式在计算机间共享计算机数据的USB装置的功能框图。
附图3给出了按照本发明的实施方式在计算机间共享计算机数据的系统的功能框图。
附图4给出了包括在按照本发明的实施方式在计算机共享计算机数据的过程中可用种类的示范性计算机的自动运算机器的框图。
附图5给出了图解说明按照本发明的实施方式在计算机间共享计算机数据的示范性方法的流程图。
附图6给出了图解说明按照本发明的实施方式在计算机间共享计算机数据的另一种示范性方法的流程图。
附图7A给出了包括用于在文件系统的对象间进行导航和操纵文件系统的对象的文件系统工具的示范性图形用户界面的示意图。
附图7B给出了包括用于在文件系统的对象间进行导航和操纵文件系统的对象的文件系统工具的另一种示范性图形用户界面的示意图。
具体实施方式
下面将从附图1开始,参照附图介绍按照本发明的实施方式的用于在计算机间共享计算机数据的示范性方法、设备和产品。附图1给出了图解说明按照本发明的实施方式的用于在计算机间共享计算机数据的示范性系统的网络图。附图1的系统总地来说是通过下述过程来进行按照本发明的实施方式的在计算机间共享计算机数据的操作的:在第一计算机400上标识要经由第二计算机401共享的文件系统404的至少一个对象122、124、在第一计算机上创建共享文件系统414、将要被共享的对象安装418在共享文件系统414中,并且经由第一计算机与第二计算机之间的通用串行总线(USB)连接222从共享文件系统将要被共享的对象暴露于第二计算机。要被共享的对象可以是文件系统的任何结构,比如,例如文件、目录、子目录、文件夹等等。
附图1的系统包括经由网络102与第二计算机401连接的第一计算机400、USB装置112和USB连接222。第一计算机400在这个例子中是通用的、可编程的计算机,按照本发明的实施方式,第一计算机包括文件系统404,该文件系统包含可以在计算机间共享的对象122、124。按照本发明的实施方式,第一计算机400还包括共享文件系统414,可以将来自文件系统404的对象122、124安装到该共享文件系统中,以在计算机间共享。
将网络102图示为由路由器104、106组成。路由器是通常被看作用来实现数据通信协议栈(例如,网际协议(‘IP’))中的网络层的数据通信装置。图示的网络102具有路由器,不过,这仅仅是为了进行解释说明,并不是用来限定本发明。按照实际情况,在按照本发明的实施方式在计算机间共享计算机数据的系统中,第一计算机与USB装置之间的数据通信可以是借助本领域技术人员可以想到的任何数据通信手段来施行的,包括例如有线以太网链路层、无线链路层、传输控制协议(‘TCP’)、超文本传输协议(‘HTTP’)、公共交换电话网络(‘PSTN’)、无线电话网络和这些手段和其它一些手段的组合。
USB装置112是遵照由USB Implementers Forum,Inc.发布的通用串行总线技术规范工作的数据通信装置。USB Implementers Forum,Inc.是由开发通用串行总线技术规范的一组公司成立的非赢利性企业。这一组公司包括Apple Computer、Hewlett-Packard、NEC、Microsoft、Intel、Agere、Lucent和Philips。USB网络具有由主机控制器和多个以树状形式从主机控制器连出的装置构成的不对称设计。在USB网络中,每个控制器的分支数量是有限制的。现代计算机很可能具有数个主机控制器,所以总的可用连接装置数量相当大。在任何USB总线上都不需要端接器,因为需要的是SPI-SCSI或者其它一些接口。设计USB是为了减少对在计算机的ISA或PCI总线中增加单独的扩展卡的需要,和通过允许对装置进行热插拔或者无需重启计算机地将装置添加到系统中来提高即插即用能力。当新的USB装置第一次插入时,主机对其进行枚举并且加载装置驱动器来运行它。USB能够连接诸如鼠标、键盘、游戏板和游戏杆、扫描仪、数码相机、打印机、硬盘和网络接入组件之类的外围设备。对于诸如扫描仪和数码相机之类的多媒体装置,USB已经成为了标准连接方法。对于打印机,USB也在不断普及并且开始代替并行端口,因为USB使得将不止一台打印机加到计算机上变得更加简单。到2004年为止,世界上已经有了大约十亿台USB装置。到2005年,不能使用USB的外围设备只有显示器和监视器以及高质量数字视频组件这几大类(因为它们需要的较高数据速率是USB所不能提供的)。
USB装置112包括具有经由USB连接222接收文件系统命令并且经由网络102将这些命令转送给第一计算机400的能力的计算机硬件和软件。这样,USB装置象盘驱动器那样出现在第二计算机401上的用户界面或应用程序中,很象是传统的闪存驱动器。第二计算机不知道这样实现的盘驱动器实际上包含从第一计算机经由USB连接222暴露的数据。在按照本发明的实施方式的用于在计算机间共享计算机数据的典型系统中,USB装置应该具有类似于闪存驱动器的形状因素,就是说,长度为大约1-2英寸,宽度为1英寸或更小,并且厚度小于一英寸。
在这个例子中,USB连接222包括RJ-45连接器110。RJ-45连接器110是用于到网络102的以太网连接108以便进行数据通信的典型使用的连接器类型。在按照本发明的实施方式的用于在计算机间共享计算机数据的系统中,RJ-45连接器110代表到第一计算机400的数据通信连接,从这个数据通信连接,代表和包括要被共享的对象的数据经由USB连接222从这样一个第一计算机传送到第二计算机。在这个例子中使用RJ-45接口仅仅是为了解释说明本发明的第一计算机与USB装置之间的数据通信,并不是为了限定本发明。在第一计算机400与USB装置112之间使用任何本领域技术人员能够想到的数据通信手段都完全处于本发明的范围之内。
在这个例子中,USB连接222包括经由USB总线电缆116与第二计算机401相连的USB连接器114。USB总线电缆116经由USB连接器114将USB总线从第二计算机401中延伸到USB装置112,将USB电源和信号线从第二计算机中提供到USB装置。第二计算机中的USB总线与第二计算机中的USB主机控制器相连。如此描绘出的USB体系结构并不是本发明的限定形式。其它可供选用的USB连接也处于本发明的范围之内,例如,将USB连接器直接插到第二计算机上的USB连接器中、通过更大的USB树状网络将USB装置连接到第二计算机上和本领域技术人员可以想到的其它USB连接体系结构。
组成附图1中所示的示范性系统的计算机和其它装置的设置是用来解释说明的,而不是用来加以限定的。按照本发明的各种不同实施方式的对在计算机间共享计算机数据有用的数据处理系统可以包括在附图1中没有示出,但是本领域技术人员可以想到的额外的服务器、路由器、其它装置和对等体系结构。这些数据处理系统中的网络可以支持很多数据通信协议,包括例如TCP(传输控制协议)、IP(网际协议)、HTTP(超文本传输通信协议)、WAP(无线接入协议)、HDTP(手持装置传输协议)和其它本领域技术人员可以想到的协议。本发明的各种不同实施方式可以在除了附图1中所示出的硬件平台之外的各种各样的硬件平台上实现。
为了进行进一步的解释说明,附图2给出了按照本发明的实施方式的适用于在计算机间共享计算机数据的USB装置112的功能框图。附图2的USB装置包括RJ-45连接器110、USB连接器114和微控制器130。RJ-45连接器110是到用来进行数据通信的网络的以太网连接典型使用的连接器类型。在按照本发明的实施方式的在计算机间共享计算机数据的系统中,RJ-45连接器110代表到第一计算机的连接,从这个连接中,代表和包括要被共享的对象的数据得以经由USB连接器114从这样一个第一计算机传送到第二计算机。USB控制器114是遵照USB技术规范的标准USB连接器,用于通过例如直接、经由USB总线电缆或者经由USB网络提供到第二计算机的USB连接来按照本发明的实施方式在计算机间共享计算机数据。
这里例子中的微控制器130是提供了微处理器126、一个或多个输入/输出端口127和随机存取存储器(RAM)136的嵌入式系统,所提供的微处理器、输出/输出端口和随机存取存储器全部都经由系统总线128连接起来,以进行数据通信。微控制器130实现了这样一种嵌入系统:由存储在RAM 136中的计算机程序指令将微处理器126编程为按照本发明的实施方式执行在计算机间共享计算机数据。因为USB装置112在计算机间共享计算机数据的处理过程中执行至少两台计算机(第一计算机和第二计算机)之间的数据通信,所以从实用的角度出发,可以为微控制器130配备不止一个输入/输出端口127。电源是经由USB连接器114提供给USB装置112的,可以随时拔下该USB连接器114,从而使微控制器掉电并且删除存储在易失性RAM中的计算机程序指令和其它数据。因此至少在某些实施方式中,可以从实用的角度出发将RAM 136实现为非易失性的存储器,比如可电子擦除可程控只读存储器(EEPROM或‘闪存’)。
安装在RAM 136中的是USB总线接口214、管理经由USB连接器114从第二计算机401接收的和经由USB连接器114发送到第二计算机401的USB通信的计算机程序指令的模块。USB总线接口214经由USB连接器114接收串行数据、将串行数据转换为并行的USB分帧数据并且将USB分帧数据转交给USB逻辑装置134。
USB物理装置为主机提供额外的功能。从USB角度看,第二计算机401是‘主机’。由USB装置提供的功能的类型是多种多样的。不过,所有的USB逻辑装置,通过称为‘逻辑装置’的功能,都向主机呈现同一个基本接口。这使得主机能够以相同的方式管理不同USB装置的与USB相关的方面。为了帮助主机识别和配置USB装置,各个装置都携带着并且报告与配置相关的信息。所报告的某些信息是在所有逻辑装置间共有的。而其它一些信息是专门针对装置所提供的功能的。USB逻辑装置134是提供遵照USB技术规范的标准USB装置功能的计算机程序指令的模块,这些标准USB装置功能包括:
向和从‘主机’或‘第二计算机’动态连接和移除。USB装置可以随时连接和移除。提供连接点或端口的集线器负责报告端口状态的任何变化。USB装置是通过USB ‘集线器’上的USB‘端口’与USB主机相连的。主机在检测到连接的时候启用装置所连接的集线器端口。在从集线器端口中移除装置时,集线器停用装置曾经连接的端口并且将此次移除通知给主机。
地址分配。在连接USB装置时,主机负责为该装置分配唯一的USB地址。
配置。在USB装置的功能可以使用之前,必须要对它进行配置。主机负责配置USB装置。主机在典型情况下会从USB装置请求配置信息,以确定该装置的能力。
数据传递。可以以数种方式在USB装置与主机之间传递数据,包括命令传递、同步传递和批量传递。
电源管理。对USB装置的电源管理包括用于功率预算和远程唤醒的功能。
请求处理。USB是被轮询总线。主机发起所有的数据传递。只要USB装置完成设置,该装置一般来说就可以开始处理主机对数据传递的请求。
在这个例子中,通过将USB装置配置成用来进行批量传递和利用USB批量传递来执行来自主机或第二计算机401的处理请求,从而实现第一计算机400上的共享文件系统与第二计算机401之间的数据传递,使得USB逻辑装置支持在计算机间共享计算机数据。
在这个例子中,在RAM 136中还安装有虚拟化引擎212和数据通信引擎210,这二者一起构成了USB技术规范的意义内的USB‘功能’132。USB功能132代表由USB装置112为主机提供的附加功能。在这个例子中,所代表的附加功能是按照本发明的实施方式在计算机间共享计算机数据。这个附加功能是通过虚拟化引擎212和数据通信引擎210提供的。虚拟化引擎212是被实现用来经由USB逻辑装置134从第二计算机401接收分帧为USB数据的盘驱动器命令和其它计算机数据(要写入到第一计算机或从第一计算机中读取的数据)、从它们的USB帧中提取盘驱动器命令和其它数据并且经由数据通信引擎210将盘驱动器命令和其它数据传送到第一计算机400和从第一计算机400传送出的计算机程序指令的模块。
对按照本发明的实施方式共享计算机数据有用的盘驱动器命令的例子包括SCSI(小型计算机系统接口)命令和ATA(先进技术附件)命令。SCSI是用于在内部和外部计算机总线二者上的装置之间传递数据的标准接口和命令集。SCSI最常用于硬盘和磁带存储装置,但是也连接多种多样的其它装置,包括扫描仪、CD-ROM驱动器、CD记录器和DVD驱动器。实际上,整个SCSI标准提升了装置独立性,这意味着SCSI在理论上可以做任何事情——已经制造出了SCSI打印机。ATA是用于连接存储装置(比如计算机中的硬盘和CD-ROM)的标准接口。ATA有很多术语和同义词,包括诸如IDE(集成驱动电路)和UDMA(超直接存储器存取)这样的缩写。ATA驱动器接口通常作为内部计算机存储接口出现;它为这种应用提供了最普通且最便宜的接口。本说明书在一般情况下会用SCSI或ATA来解释说明在计算机间共享计算机数据,但是对驱动器接口使用SCSI或ATA并不是对本发明的限制;按照本发明的实施方式的在计算机间共享计算机数据可以通过本领域技术人员可以想到的任何驱动器接口来实现。
数据通信引擎210是用于数据通信的计算机程序指令的模块。可以将数据通信引擎210配置为例如TCP/IP/以太网引擎,这种引擎将传输控制协议、网际协议和以太网协议分别实施为数据通信协议栈的传递层、网络层和链接层。在这个例子中,数据通信引擎210向虚拟化引擎212暴露TCP接口(例如套接字(socket)接口),虚拟化引擎212向TCP接口发送呼叫,以建立USB装置112与第一计算机400之间的数据通信连接。可以为数据通信引擎预先(甚至是在制造的时候)配置用于USB装置112与第一计算机400之间的数据通信的网络地址和/或端口号。虚拟化引擎212在从USB逻辑装置134接收到的USB帧中提取出盘驱动器命令或其它数据之后,经由该TCP连接将这些命令传送给第一计算机400并且将数据传送给第一计算机400或者从第一计算机400接收数据。不过,如上面所提到的,TCP/IP/以太网的例子仅仅是用来进行解释说明的,USB装置112与第一计算机400之间的数据通信功能可以通过本领域技术人员可以想到的任何数据通信手段来实现。
为了进行进一步的解释说明,附图3给出了用于按照本发明的实施方式在计算机间共享计算机数据的系统的功能框图。附图3的系统包括第一计算机400,为了共享数据,该第一计算机400经由网络102、USB装置112和USB连接222与第二计算机401连接。网络102可以是路由器的数据通信网络,这种数据通信网络通过利用前面参照附图1介绍的数据通信协议提供计算机间的数据通信。USB装置112可以用作为嵌入装置的微控制器来实现,该微控制器如前面参照附图2介绍的那样为主机提供附加功能。USB装置112包括数据通信引擎210、虚拟化引擎212、USB逻辑装置134和USB总线接口214,所有这些组成部分都可以实现为按照前面参照附图2介绍的那样进行操作的计算机软件指令的模块。
第一计算机400是通用可编程计算机,它包括操作系统154,操作系统154又包括共享文件系统414、虚拟驱动程序204、共享文件系统发生器202、用户界面206、文件系统404和要被共享的对象406。共享文件系统414包括虚拟盘驱动器415的模拟,虚拟盘驱动器415例如是用RAM实现的,在这种情况下,将RAM配置为轨迹、扇区和簇的形式,以便模拟盘驱动器;或者虚拟盘驱动器415是在通过文件系统404打开的文件中实现的,在这种情况下,将该文件配置为轨迹、扇区和簇的形式,以便模拟盘驱动器。这样模拟的驱动器类型可以是SCSI驱动器、ATA驱动器或者本领域技术人员可以想到的另一种类型的驱动器。就象共享文件系统的驱动器415可以是任何类型的驱动器一样,共享文件系统本身可以模拟本领域技术人员可以想到的任何种类的文件系统,在它的模拟驱动器存储器内存储着代表共享文件系统的对象(典型地是目录和文件)的数据结构。代表要存储在共享文件系统的模拟驱动器内的共享文件系统的对象的数据结构的种类取决于共享文件系统414所代表的文件系统的种类。如果将共享文件系统414实现为Unix型系统,则存储在驱动器415中的数据结构包括主块和信息节点。如果将共享文件系统实现为MSDOS,则存储在驱动器415中的数据结构包括文件存取表(‘FAT’)和目录表。依次类推,依照共享文件系统414所实现的文件系统的种类,存储在驱动器415中的数据结构包括相应的内容。
虚拟驱动程序204是虚拟盘驱动程序,是计算机软件指令的模块,之所以这么叫,是因为它驱动虚拟盘驱动器415。如果将虚拟驱动器415实现为SCSI驱动器,则将虚拟驱动程序204配置为SCSI驱动程序。如果将虚拟驱动器415实现为ATA驱动器,则将虚拟驱动程序204配置为ATA驱动程序。按照由驱动器415模拟的盘驱动器的种类,依此类推。虚拟驱动程序204是在用户的要求下由共享文件系统发生器202提供的。虚拟驱动程序204从文件系统404接收向和从驱动器415的轨迹、扇区和簇写入和读取数据的盘驱动器命令,这些命令通常是由第一计算机400的用户通过用户界面206发起的,用户界面206可以是GUI(图形用户界面)或CLI(命令行界面)。
此外,将虚拟驱动程序204配置为起数据通信引擎208的数据通信客户端的作用。数据通信引擎210是用于数据通信的计算机程序指令的模块。可以按照与配置数据通信引擎210的方式类似的方式来配置数据通信引擎208,例如,可以将其配置为TCP/IP/以太网引擎,这种引擎将传输控制协议、网际协议和以太网协议分别实现为数据通信协议栈的传递层、网络层和链接层。在这样的例子中,数据通信引擎208向虚拟驱动程序204暴露TCP接口(比如套接字接口),虚拟驱动程序204向TCP接口发送呼叫,以建立USB装置112与第一计算机400之间的数据通信连接。虚拟驱动程序204然后接收盘驱动器命令并且经由TCP连接向和从USB装置112发送和接收数据。不过,如前面所提到的,TCP/IP/以太网的实例仅仅是用于解释说明,并且USB装置112与第一计算机400之间的数据通信功能可以借助本领域技术人员可以想到的任何数据通信手段来实现。
共享文件系统发生器202是这样的计算机程序指令的模块:经由第一计算机400上的用户界面206接收来自用户100的要经由第二计算机401共享的文件系统404中至少一个对象406的标识;在第一计算机400上创建共享文件系统414;和在共享文件系统414中安装要被共享的对象406。共享文件系统发生器202还有这样的功能:通过经由数据通信引擎208向USB逻辑装置134发送将USB装置112(分类为USB大容量存储装置)连接到USB主机(第二计算机401)的指令,经由第一计算机与第二计算机之间的通用串行总线(‘USB’)连接,将要被共享的对象从共享文件系统暴露给第二计算机401。
USB装置经由称作集线器236的专用USB装置上的端口234连接到USB控制器224。集线器具有用于报告USB装置在它的端口之一上的连接和移除的状态位。主机控制器224对集线器进行询问,以检取这些位。在连接的情况下,主机启用端口并且经由USB装置的控制管道将USB装置定址在默认地址上。主机控制器为USB装置分配唯一的USB地址并且然后判断新连接的USB装置是集线器还是功能部件。主机使用所分配的USB地址和端点号零建立针对该USB装置的主机控制管道终端。如果所连接的USB装置是集线器并且有USB装置连接在它的端口上,那么针对所连接的每个USB装置进行上述过程。如果所连接的USB装置是功能部件,则将由适于该功能的主机软件掌管连接通知。
在连接的时候,USB逻辑装置134中的配置数据告知USB控制器224共享文件系统414的类型和版本,可以是XT、Unix、i5OS等等,并且还告知模拟驱动器415的类型,可以是SCSI、ATA等等。USB控制器然后创建文件系统226,以在第二计算机401上表示第一计算机400上的共享文件系统414,将共享文件系统414的数据结构的内容记录在文件系统226中,如果共享文件系统414是Unix文件系统,则所述内容是信息节点(inode)数据,如果共享文件系统414是MSDOS文件系统,则所述内容是文件存取表数据,依此类推。操作系统156将在第二计算机401上表示第一计算机400上的共享文件系统414的文件系统226经由针对文件系统操作的界面230暴露给应用程序并且经由用户界面232暴露给用户。
共享文件系统发生器202可以包括这样的计算机程序指令:通过确定要被共享的对象的大小并且将共享文件系统414的大小设置为大于至少一个要被共享的对象的大小的USB闪存驱动器大小,为要被共享的对象406创建共享文件系统414。USB闪存驱动器本质上是与USB接口集成为一体的NAND型闪存,用作体积小、重量轻、可移除的计算机数据存储装置。这种可热插拔的、非易失性的、固态装置与几乎任何支持USB的计算机系统兼容。USB闪存驱动器也称为钢笔驱动器、拇指驱动器、USB钥匙和多种多样的其它名称。闪存驱动器由封装在硬塑料或金属外壳内的小印刷电路板构成,使得这种驱动器足够结实耐用,以致能够装在口袋里、作为钥匙链或者拴在挂绳上随身携带。只有USB连接器从这个保护外壳中伸出,而且USB连接器通常由可拔下的盖子盖着。
当共享文件系统发生器202经由第一计算机和第二计算机之间的通用串行总线(‘USB’)连接将要被共享的对象从共享文件系统暴露给第二计算机401时,共享文件系统发生器202有效地指示USB逻辑装置134模拟从USB主机(第二计算机401)的角度考虑时的闪存驱动器。就是说,共享文件系统发生器202与虚拟驱动程序204、共享文件系统414、盘驱动器模拟器415和虚拟化引擎212协同地工作,以致USB装置112对于第二计算机401而言看起来像是闪存驱动器。尤其是,USB装置112看起来像是提供了一个模拟大小或最大容量与标准闪存驱动器大小相同的文件系统的闪存驱动器。标准闪存驱动器大小是8、16、32、64、128、256和512兆字节以及1、2、4和8吉字节。
确定要被共享的对象的大小和将共享文件系统414的大小设置为大于至少一个要被共享的对象的大小的USB闪存驱动器大小可以是按照如下方式来实现的。如果要被共享的对象是文件,则对象的大小可以从代表该对象的操作系统的数据结构中读出,在Unix中是从它的信息节点中读出,在MSDOS中是从它的目录表条目中读出,依此类推。如果要被共享的对象是目录,则可以将包含在该目录中的任何文件的大小的总和取作它的大小。因此,如果例如大小为4兆字节的文件是要被共享的文件,则共享文件系统发生器202在创建共享文件系统414的过程中可以将共享文件系统的大小设置为紧接着的最大标准USB闪存驱动器大小,就是说,设置为8兆字节。如果要被共享的对象是包含总大小为2.5吉字节的文件的目录,则共享文件系统发生器202在创建共享文件系统414的过程中可以将共享文件系统的大小设置为紧接着的最大标准USB闪存驱动器大小,就是说,设置为4吉字节。依此类推。
共享文件系统发生器所进行的将要被共享的对象406安装到共享文件系统414中的过程典型地是通过将要被共享的对象从第一计算机的文件系统中拷贝到第一计算机上的共享文件系统中来实现的,包括拷贝包括对象以及表示所述文件系统中的对象的操作系统的数据结构的内容的数据。不要求共享文件系统414是与文件系统404相同种类的文件系统。就共享文件系统414是不同种类或版本的文件系统的情况而言,将要被共享的对象安装到共享文件系统中可以包括转换它的结构的过程。就是说,如果文件系统404是Unix型的文件系统,并且共享文件系统414是MSDOS型的文件系统,则转换要被共享的对象的结构的过程可以包括将表示该对象的数据从Unix信息节点中的条目转换到MSDOS文件存取表和目录表中的条目的过程。
第一计算机的用户标识要被共享的对象和指示共享文件系统发生器将用来共享的对象安装到共享文件系统上的次数是没有限制的。因此可能会有这样的情况,当用户标识另一个要共享的对象时,该另外一个被标识的对象可能非常大,以致目前共享文件系统上的可用存储空间中容不下这个对象。就是说,另外一个对象的大小加上先前安装在共享文件系统中的对象的大小可能超出共享文件系统的大小。在这样的情况下,共享文件系统发生器202可以通过这样的过程来将另外一个对象安装在共享文件系统中:断开USB连接222;增大第一计算机400上共享文件系统414的大小;将所述另外一个对象安装在共享文件系统中;并且重新接通USB连接222。
第二计算机401包括操作系统156,该操作系统156又包括文件系统226、USB驱动程序228、文件系统操作230和用户界面232。该操作系统可以是本领域技术人员可以想到的任何操作系统,MSDOS、Unix、i5OS、AIX等等。文件系统可以是本领域技术人员可以想到的任何文件系统。文件系统操作是暴露于用来操纵文件系统的对象的应用程序和其它操作系统组件的功能,例如,用于创建文件或目录、删除文件或目录、重命名文件或目录、打开文件、从文件中读取数据、向文件中写入数据、改变文件或目录的安全许可等等的功能。这些文件系统命令中的一部分在第二计算机上执行的时候会影响安装在第一计算机上的共享文件系统中的要被共享的对象。USB驱动程序228从文件系统操作接受盘驱动器命令,这些盘驱动器命令会影响安装在第一计算机上的共享文件系统中的要被共享的对象,包括,例如,向所共享的对象中写入数据的指令。USB驱动程序228通过这样的过程来进行工作:将这些命令封装在USB数据帧中并且将这些USB数据帧经由USB连接222传送到USB装置112,以进一步传送给第一计算机400上的虚拟驱动程序204。虚拟驱动程序204按照这些盘驱动器命令实施共享文件系统414上共享对象的改变。
按照本发明的在计算机间共享计算机数据一般来说是用计算机实现的,就是说,用自动运算的机器。在附图1的系统中,例如,网络、路由器、USB装置、第一计算机和第二计算机,全部都在至少某种程度上实现为计算机。因此,为了进一步解释说明,附图4给出了包括在按照本发明的实施方式的在计算机间共享计算机数据的过程中可用的种类的示范性计算机152的自动运算机器的框图。具体来说,可以将附图4的例子改造为用于按照本发明的实施方式在计算机间共享计算机数据的第一计算机或第二计算机。
附图4的计算机152包括至少一个计算机处理器156或‘CPU’以及经由系统总线160与处理器156和计算机的其它组件相连的随机存取存储器168(‘RAM’)。操作系统154存储在RAM 168中。可用在按照本发明的实施方式的计算机中的操作系统包括UNIXTM、LinuxTM、MicrosoftXTTM、IBM的AIXTM、IBM的i5/OSTM以及其它本领域技术人员可以想到的操作系统。在RAM 168中还存储着用户界面206,是由用户控制系统用的计算机程序指令的模块。用户界面206可以是GUI或CLI。在RAM 168中还存储着文件系统404,它是包含表示将盘驱动器上的数据组织成诸如文件或目录之类的对象所采取的组织形式的数据结构的软件模块。文件系统404还提供操纵文件系统的对象的功能,包括,例如,创建和删除文件和目录、打开和关闭文件和目录、从和向文件和目录中读取和写入数据、重命名文件和目录等等的功能。
在RAM 168中还存储着共享文件系统发生器202。共享文件系统发生器202是这样的计算机程序指令的模块:经由用户界面206接收来自用户的要经由第二计算机共享的文件系统404的至少一个对象406的标识;在第一计算机上创建共享文件系统414;和在共享文件系统414中安装要被共享的对象416。共享文件系统发生器202还有这样的功能:将要被共享的对象经由第一计算机和第二计算机之间的USB连接从共享文件系统中暴露给第二计算机。
在RAM中还存储着虚拟驱动程序204。虚拟驱动程序204是虚拟盘驱动程序,是计算机软件指令的模块,之所以这样称谓它,是因为它驱动虚拟盘驱动器415。在这个例子中,将虚拟盘驱动器415表示为RAM驱动器;不过,读者会认识到,虚拟盘驱动器415可以在下述文件中实现,该文件经由文件系统404打开,并且被配置成轨迹、扇区和簇,以便模拟盘驱动器。虚拟驱动程序204执行盘驱动器命令,以便向和从虚拟盘驱动器415的轨迹、扇区和簇中写入和读取数据。此外,将虚拟驱动程序204配置为起到数据通信引擎208的数据通信客户端的作用。数据通信引擎208是用于数据通信的计算机程序指令的模块。可以将数据通信引擎208配置为例如TCP/IP/以太网引擎。虚拟驱动程序204于是可以接收盘驱动器命令并且通过利用数据通信引擎208实现的TCP连接向和从USB装置112发送和接收数据。
附图2的例子中的操作系统154、用户界面206、文件系统404、共享文件系统发生器202、虚拟驱动程序204、虚拟盘驱动器415、共享文件系统414和数据通信引擎208全部都示出在RAM 168中。不过,读者会认识到,这些软件的很多组成部分通常也存储在非易失性存储器166中。
附图4的计算机152包括非易失性计算机存储器166,该存储器166经由系统总线160与处理器156和计算机152的其它组件相连。可以将非易失性计算机存储器166实现为硬盘驱动器170、光盘驱动器172、电可擦除可编程只读存储空间(所谓的‘EEPROM’或‘闪存’存储器)174、RAM驱动器或者本领域技术人员可以想到的任何其它种类的计算机存储器。
附图4的实例计算机还包括一个或多个输入/输出接口适配器178。计算机中的输入/输出接口适配器通过例如用于控制对诸如计算机显示屏这样的显示装置180的输出的软件驱动程序和计算机硬件以及来自诸如键盘和鼠标这样的用户输入装置181的用户输入来实现面向用户的输入/输出。
附图4的示范性计算机152包括用于与其它计算机182实现数据通信184的通信适配器167。这样的数据通信可以经由RS-232连接、经由诸如USB这样的外部总线、经由诸如IP/以太网网络这样的数据通信网络和本领域技术人员可以想到的其它方式串行地施行。通信适配器实现数据通信的硬件层面,通过这个硬件层面,一台计算机可以直接或经由网络向另一台计算机发送数据通信。可用于按照本发明的实施方式在计算机间共享计算机数据的方案的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线网络通信的以太网(IEEE802.3)适配器和用于无线网络通信的802.11b适配器。
为了进一步解释说明,附图5给出了解释说明按照本发明的实施方式在计算机间共享计算机数据的示范性方法的流程图,该方法包括,由用户100经由第一计算机400上的用户界面标识402要经由第二计算机401共享的文件系统404的至少一个对象406。用户可以通过经由CLI键入标识命令来标识要被共享的对象,这个命令例如为:
USBshare c:\myHomeDirectory\myAddressList.doc
这样的标识命令调用第一计算机的共享文件系统发生器202中名为USBshare的函数,这个函数将要由第二计算机共享的文件或目录的路径名取为参数。在这个标识命令中,为了共享而标识出的对象是路径名为‘c:\myHomeDirectory\myAddressList.doc’的文件。使用CLI命令的另一种可选方案是,用户可以通过经由GUI用鼠标右键点击选择对象来标识要被共享的对象,比如附图7A中所示的那样。
附图5的方法还包括由共享文件系统发生器202在第一计算机上创建408共享文件系统414。在附图5的方法中,为要被共享的对象在第一计算机上创建408共享文件系统414包括确定410要被共享的对象406的大小和将共享文件系统414的大小设置412为大于至少一个要被共享的对象的大小的USB闪存驱动器大小。
在附图5的方法中,由共享文件系统发生器202在第一计算机上为要被共享的对象创建408共享文件系统通常还包括在第一计算机上提供444虚拟盘驱动程序204。通常将这一虚拟盘驱动程序提供成,可以在第一计算机上经由第一计算机的操作系统对其进行访问,并且该虚拟盘驱动程序还可以经由USB连接426从第二计算机401进行访问。
在附图5的方法中,由共享文件系统发生器202在第一计算机上为要被共享的对象创建408共享文件系统通常还包括为共享文件系统分配446计算机存储器,计算机存储器被构造为模拟文件系统的存储空间。在这个例子中,为共享文件系统分配446计算机存储器是通过提供虚拟盘驱动器415来施行的。虚拟盘驱动器415可以用例如RAM来实现,该RAM被配置成轨迹、扇区和簇,以便模拟盘驱动器。或者,虚拟盘驱动器415可以在下述文件中实现,该文件经由文件系统404打开,并且被配置成轨迹、扇区和簇,以便模拟共享文件系统414的盘驱动器。
附图5的方法还包括由共享文件系统发生器202在共享文件系统414中安装418要被共享的对象。在附图5的方法中,安装418要被共享的对象可以通过将对象406从第一计算机的文件系统404中拷贝到也在第一计算机上的共享文件系统414中来施行。该方法包括,如果共享文件系统414的类型不同于从中拷贝出对象的文件系统404,则对要被共享的对象的结构进行转换。
附图5的方法还包括经由第一计算机和第二计算机之间的通用串行总线(‘USB’)连接426将要被共享的对象416从共享文件系统414中暴露420给第二计算机401。在附图5的方法中,经由USB连接将要被共享的对象416从共享文件系统中暴露420给第二计算机包括经由USB接口对第二计算机进行通知(signal)422以连接USB大容量存储装置。
在附图5的方法中,经由USB连接将要被共享的对象从共享文件系统暴露420给第二计算机还包括从第一计算机上的数据通信模块经由网络向第二计算机上的数据通信模块至少发送424代表要被共享的对象的共享文件系统的数据。这是很有用处的,因为第二计算机,或者至少第二计算机上的USB控制器,将会促使第二计算机的操作系统在第二计算机上创建一个文件系统,以代表第一计算机上的共享文件系统,从而模拟USB闪存驱动器。第二计算机可以或可以不真正地向或从所共享的对象写入或读取数据。不过,第二计算机的操作系统在典型情况下将会通过引用文件名或目录名和对象的其它特征使得该对象可由用户和应用程序加以操作。第二计算机上的操作系统因此需要访问这样的信息,如果共享文件系统是MSDOS型文件系统,则需要访问文件存取表和目录表,如果共享文件系统是Unix型文件系统,则需要访问信息节点数据,依此类推。将这样的信息存储在虚拟盘驱动器415的预先定义的轨迹和扇区中,并且作为至少代表要被共享的对象的共享文件系统的数据而传送的信息正是这样的信息。
附图5的方法还包括在第二计算机401上执行428影响安装在第一计算机400上的共享文件系统414中的要被共享的对象416的文件系统命令。共享文件系统414现在对用户和第二计算机上的应用程序来说看起来就象是第二计算机401上的文件系统、盘驱动器、一个或多个目录或文件夹、一个或多个文件等等。共享文件系统的文件和目录因此可以由应用程序、用户和由第二计算机上的操作系统的单元加以操作,就象它们是真正存储在第二计算机本身上的文件和目录一样。这些就是有时候称为虚拟文件系统的特征——第一计算机402上的共享文件系统414现在对于第二计算机401的用户和应用程序来说看起来就像是第二计算机401的文件系统。因为代表共享对象的文件存储表、目录表、信息节点和其它数据结构是作为第二计算机上的操作系统的组成部分而安装的,所以诸如打开共享文件、关闭共享文件之类的文件系统操作不会影响要被共享的对象——不会影响为了共享而安装在共享文件系统中的对象的内容。不过,将数据写入到对象中的命令会影响安装在第一计算机上的共享文件系统中的要被共享的对象——因为这样的命令改变了对象本身的实际数据内容,而不是仅仅影响代表或描述对象的数据结构的内容。
为了进一步解释说明,附图6给出了图解说明按照本发明的实施方式在计算机间共享计算机数据的另一种示范性方法的流程图。附图6的方法类似于附图5的方法。附图6的方法包括标识402要被共享的对象406、创建408共享文件系统414、将要被共享的对象416安装418到共享文件系统中和经由USB连接426将要被共享的对象416暴露420给第二计算机,附图6的方法的所有步骤都按照前面针对附图5的方法介绍的那样进行操作。
不过,附图6的方法还包括由用户100在第一计算机400上标识430要由第二计算机共享的至少一个另外的对象432。用户可以通过经由CLI键入标识命令来标识要被共享的另外的对象,所键入的命令例如为:
USBshare c:\myHomeDirectory\additionalFile.doc
这样的标识命令调用第一计算机的共享文件发生器202中名为USBShare的函数,这个函数将要由第二计算机共享的另外的文件或目录的路径名取为参数。在这个标识命令中,为了共享而标识出的另外的对象432是路径名为‘c:\myHomeDirectory\additionalFile.doc’的文件。使用CLI命令的另一种可选方案是,用户可以通过经由GUI用鼠标右键点击选择对象来标识要被共享的另外的对象,比如附图7A中所示的那样。
在附图6的方法中,另外的对象432的大小加上先前安装在共享文件系统中的对象416的大小超过了共享文件系统的大小。就是说,另外的对象432太大了433、435,以至于无法容纳在共享文件系统中当前剩余的存储空间中。因为另外的对象目前对于共享文件系统来说过大,所以附图6的方法还包括断开434USB连接426、增大436第一计算机上的共享文件系统的大小、将另外的对象440安装438在共享文件系统414中和重新接通442第一计算机与第二计算机之间的USB连接426——下面将更加详细地加以介绍。
为了支持重新设定它的共享文件系统414的大小,附图6的方法包括由共享文件系统发生器202断开434USB连接426。如前面所述,USB装置是经由USB‘集线器’上的USB‘端口’与USB主机相连的。USB主机,在这个例子中是第二计算机401,在检测到连接的时候启用该装置所连接的集线器端口。在将装置从集线器端口中移除时,集线器停用该装置曾经连接的端口并且将此次移除通知给主机。共享文件系统发生器202通过经由数据通信引擎(例如,附图3中的208)向USB逻辑装置(附图3中的134)发送将USB装置(附图3中的112)与该USB装置连接到第二计算机所经过的USB端口(附图3中的234)分离的指令来断开434USB连接426。USB装置是通过称为集线器的专用的USB装置(附图3中的236)上的端口(图3中的234)连接到USB控制器(附图3中的224)上的。集线器具有状态位,这些状态位用于报告USB装置在集线器的端口之一上的接入和移除。主机控制器(附图3中的224)询问集线器,以取回这些位。在分离的情况下,主机停用该端口,并且向它的USB控制器报告这一分离。
附图6的方法还包括由共享文件系统发生器202增大436第一计算机上的共享文件系统的大小。在这个例子中,共享文件系统的大小是作为RAM或盘空间分配给虚拟盘驱动器415的存储量。增大共享文件系统的大小因此是通过为虚拟盘驱动器415分配更大的存储器、RAM或盘空间来施行的。为了支持对USB闪存驱动器进行模拟,增大共享文件系统的大小在典型情况下包括将新的共享文件系统大小设置为标准USB闪存驱动器大小。标准闪存驱动器大小是8、16、32、64、128、256和512兆字节以及1、2、4和8吉字节。如果例如另外的对象432的大小加上先前安装在共享文件系统中的对象的总大小为60兆字节,则增大共享文件系统的大小可以通过将共享文件系统的大小增大到64兆字节来施行。如果例如另外的对象的大小加上先前安装在共享文件系统中的对象的总大小为600兆字节,则增大共享文件系统的大小可以通过将共享文件系统的大小增大到1吉字节来施行。依此类推。
附图6的方法还包括由共享文件系统发生器202将另外的对象432、440安装438在共享文件系统414中。将要被共享的另外的对象安装438在共享文件系统414中可以通过将另外的对象从第一计算机的文件系统404中拷贝到第一计算机上的共享文件系统414中来施行,包括拷贝包括另外的对象以及代表该文件系统内的另外的对象432的文件系统404的数据结构的内容。不要求共享文件系统414与文件系统404有相同的文件系统种类。对于共享文件系统是不同种类或版本的文件系统的情况来说,将要被共享的对象安装在共享文件系统中可以包括对它的结构进行转换。如果例如文件系统404是Unix型的文件系统而共享文件系统414是MSDOS型的文件系统,则转换要被共享的对象的结构可以包括将代表对象的数据从Unix信息节点中的条目转换为MSDOS文件存取表和目录表中的条目。
附图6的方法还包括重新接通442第一计算机和第二计算机之间的USB连接426。共享文件系统发生器202可以通过向USB逻辑装置(附图3中的134)发送将USB装置(附图3中的112)连接到第二计算机401的指令来重新接通第一计算机与第二计算机之间的USB连接。在连接的时候,USB逻辑装置中的配置数据告知第二计算机401中的USB控制器(附图3中的224)共享文件系统414的类型、版本和大小。如此告知的共享文件系统的大小是刚刚建立的新大小,在这个例子中,是标准USB闪存驱动器大小。
附图7A给出了包括用于在文件系统的对象(在这个例子中,是文件和目录)间进行导航和操纵文件系统的对象的文件系统工具的示范性图形用户界面的示意图。可以针对按照本发明的实施方式在计算机间共享计算机数据而加以改进的这种工具的公知例子是Microsoft的Windows ExplorerTM。附图7A的文件系统工具包括水平菜单602,该菜单包括代表文件系统命令的菜单选项,包括名为文件、编辑、查看、收藏页、工具和帮助的菜单选项。附图7A的文件系统工具包括携带着对应于后退功能、前进功能、刷新功能和删除功能的图标的工具栏604。工具栏602还包括地址框600,用来辅助文件系统的文件和目录间的导航。附图7A的文件系统工具包括文本框610,其中显示有文件系统的列表、软盘驱动器[A:]、本地盘[C:]等等。已经将附图7A的文件系统工具导航到了指向C:驱动器(本地盘[C:])的根目录,这是通过在地址框600中出现“C:\”和通过加亮本文框610中的“本地盘[C:]”来表明的。附图7A的文件系统工具包括文本框608,其中显示有C:驱动器的根目录中的子目录和文件的列表。
在C:驱动器根目录中的文件的列表中,名为“My File1”的文件606已按照选择加亮。My File1经过了鼠标右键点击,这一点击造成弹出菜单607的显示,该弹出菜单607的条目代表通常很有用的与文件、打开、打印、剪切、复制、删除、重命名等等相关的文件系统命令。弹出菜单607还包括名为“USB共享”的条目。在选中My File1的时候用鼠标点击调用USB共享将会针对共享文件系统发生器把MyFile1标识为要被共享的文件。共享文件系统发生器然后通过在第一计算机(即,运行文件系统工具的计算机)上创建共享文件系统、将My File1的拷贝安装在共享文件系统中并且经由第一计算机和第二计算机之间的USB连接将My File1从共享文件系统暴露给第二计算机来按照本发明的实施方式共享该文件。
附图7B给出了包括用于在文件系统的对象(在这个例子中,是文件和目录)间进行导航和操纵文件系统的对象的文件系统工具的示范性图形用户界面的示意图。附图7B的文件系统工具非常类似于上面介绍的附图7A的文件系统工具,也具有文件系统命令的水平菜单602、工具栏604和地址框600。不过,附图7B的文件系统工具是安装并且运行在第二计算机上的,第二计算机就是按照本发明的实施方式从运行着附图7A的文件系统工具的计算机中共享了名为“MyFile1”的文件的计算机。具有加亮了的“USB共享盘[E:]”614的文本框611和显示着“E:\”的地址框600表明已将附图7B的文件系统工具导航到指向其E:驱动器的根目录。文本框609表明E:驱动器的根目录包含单独一个名为“My File1”的文件612。在这个例子中,E:驱动器是由第二计算机的操作系统响应于按照本发明的实施方式改进了的USB大容量存储装置连接到第二计算机而创建的,该USB大容量存储装置包括虚拟化引擎,该虚拟化引擎配置为用于在运行附图7B的文件系统工具的计算机(第一计算机)与运行附图7A的文件系统工具的计算机(第二计算机)之间传送盘驱动器命令。从第二计算机的角度出发,E:驱动器看起来就象是标准USB闪存驱动器,并且My File1看起来象存在于该USB闪存驱动器上的目录内的第二计算机的文件系统的标准对象。第二计算机的用户现在可以打开、编辑、保存改变到、打印或删除My File1,就象My File1存在于第二计算机上一样。
主要在全功能计算机系统的上下文中介绍了用于在计算机间共享计算机数据的按照本发明的实施方式。不过,本领域的读者将会认识到,本发明也可以具体实现在由任何适当的数据处理系统使用的设置在信号承载媒介上的计算机程序产品中。这些信号承载媒介可以是用于机器可读信息的传输媒介或可记录媒介,包括磁性媒介、光学媒介或者其它适当的媒介。可记录媒介的例子包括硬盘驱动器或软盘中的磁盘、光学驱动器的光盘、磁带和其它本领域技术人员可以想到的媒介。传输媒介的例子包括用于语音传输的电话网络和诸如以太网TM和利用网际协议和万维网进行通信的网络这样的数字数据通信网络。本领域的技术人员会立即意识到,任何具有适当编程手段的计算机系统都能够执行具体实现在程序产品中的本发明的方法的步骤。本领域的技术人员会立即意识到,虽然本说明书中介绍的某些示范性实施方式是面向安装和运行在计算机硬件上的软件的,但是,实现为固件或硬件的其它可选实施方式也是处在本发明的范围之内的。
通过前面的介绍将会理解,对本发明的各种实施方式可以做出修改和改变,而不会超出本发明的中心思想。本说明书中的介绍仅仅是为了解释说明而进行的,不应从限定的意义上加以解释。本发明的范围仅仅由所附的权利要求书的记载加以限定。

Claims (12)

1.一种在计算机间共享计算机数据的方法,该方法包括:
由用户通过第一计算机上的用户界面标识要通过第二计算机共享的文件系统的至少一个对象;
由共享文件系统发生器在第一计算机上创建共享文件系统;
由共享文件系统发生器将要被共享的对象安装到共享文件系统中;和
通过第一计算机与第二计算机之间的通用串行总线USB连接将要被共享的对象从共享文件系统暴露给第二计算机。
2.按照权利要求1所述的方法,还包括,在第二计算机上执行影响安装在第一计算机上的共享文件系统中的要被共享的对象的文件系统命令。
3.按照权利要求1所述的方法,其中,由共享文件系统发生器在第一计算机上创建共享文件系统的步骤还包括:
确定至少一个要被共享的对象的大小;和
将共享文件系统的大小设置为大于所述至少一个要被共享的对象的大小的USB闪存驱动器大小。
4.按照权利要求1所述的方法,其中,由共享文件系统发生器在第一计算机上为要被共享的对象创建共享文件系统的步骤还包括为共享文件系统分配计算机存储器,该计算机存储器被构造用来模拟文件系统的存储。
5.按照权利要求1所述的方法,其中,由共享文件系统发生器在第一计算机上为要被共享的对象创建共享文件系统的步骤还包括在第一计算机上提供虚拟盘驱动程序,该虚拟盘驱动程序可以在第一计算机上通过第一计算机的操作系统加以访问,该虚拟盘驱动程序还可以从第二计算机通过USB连接加以访问。
6.按照权利要求1所述的方法,还包括:
由用户在第一计算机上标识要与第二计算机共享的至少一个另外的对象,其中该另外的对象的大小加上先前安装在共享文件系统中的对象的大小超过了共享文件系统的大小;
由共享文件系统发生器断开USB连接;
由共享文件系统发生器增大第一计算机上的共享文件系统的大小;
由共享文件系统发生器将所述另外的对象安装在共享文件系统中;和
重新接通USB连接。
7.一种在计算机间共享计算机数据的设备,该设备包括:
用于由用户通过第一计算机上的用户界面标识要通过第二计算机共享的文件系统的至少一个对象的装置;
用于由共享文件系统发生器在第一计算机上创建共享文件系统的装置;
用于由共享文件系统发生器将要被共享的对象安装到共享文件系统中的装置;和
用于通过第一计算机与第二计算机之间的通用串行总线USB连接将要被共享的对象从共享文件系统暴露给第二计算机的装置。
8.按照权利要求7所述的设备,还包括:用于在第二计算机上执行影响安装在第一计算机上的共享文件系统中的要被共享的对象的文件系统命令的装置。
9.按照权利要求7所述的设备,其中,用于由共享文件系统发生器在第一计算机上创建共享文件系统的装置包括:
用于确定至少一个要被共享的对象的大小的单元;和
用于将共享文件系统的大小设置为大于所述至少一个要被共享的对象的大小的USB闪存驱动器大小的单元。
10.按照权利要求7所述的设备,其中,用于由共享文件系统发生器在第一计算机上创建共享文件系统的装置还包括:
用于为共享文件系统分配计算机存储器的单元,该计算机存储器被构造用来模拟文件系统的存储。
11.按照权利要求7所述的设备,其中,用于由共享文件系统发生器在第一计算机上创建共享文件系统的装置还包括:
用于在第一计算机上提供虚拟盘驱动程序的单元,该虚拟盘驱动程序可以在第一计算机上通过第一计算机的操作系统加以访问,该虚拟盘驱动程序还可以从第二计算机通过USB连接加以访问。
12.按照权利要求7所述的设备,还包括:
用于由用户在第一计算机上标识要与第二计算机共享的至少一个另外的对象的装置,其中该另外的对象的大小加上先前安装在共享文件系统中的对象的大小超过了共享文件系统的大小;
用于由共享文件系统发生器断开USB连接的装置;
用于由共享文件系统发生器增大第一计算机上的共享文件系统的大小的装置;
用于由共享文件系统发生器将所述另外的对象安装在共享文件系统中的装置;和
用于重新接通USB连接的装置。
CNB2006101355177A 2005-12-19 2006-10-16 在计算机间共享计算机数据的方法和设备 Expired - Fee Related CN100478952C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/312,961 2005-12-19
US11/312,961 US8868628B2 (en) 2005-12-19 2005-12-19 Sharing computer data among computers

Publications (2)

Publication Number Publication Date
CN1987858A CN1987858A (zh) 2007-06-27
CN100478952C true CN100478952C (zh) 2009-04-15

Family

ID=38184656

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101355177A Expired - Fee Related CN100478952C (zh) 2005-12-19 2006-10-16 在计算机间共享计算机数据的方法和设备

Country Status (4)

Country Link
US (1) US8868628B2 (zh)
JP (1) JP2007172586A (zh)
CN (1) CN100478952C (zh)
TW (1) TW200810478A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516079B2 (en) 2008-09-25 2013-08-20 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof
US8521926B2 (en) 2008-09-25 2013-08-27 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925681B2 (en) * 2006-04-28 2011-04-12 Microsoft Corporation Bypass of the namespace hierarchy to open files
US20080126980A1 (en) * 2006-11-29 2008-05-29 Sap Ag Central display floor plan for displaying a plurality of data objects
US20090088088A1 (en) * 2007-02-28 2009-04-02 Crick Information Technologies Personal Information Communication Device and Method
US20080209079A1 (en) * 2007-02-28 2008-08-28 Ty Joseph Caswell Personal information communication device and method
US20080222312A1 (en) * 2007-03-09 2008-09-11 Westell Technologies, Inc. Apparatus and method for optimizing use of a modem jack
JP2009134601A (ja) * 2007-11-30 2009-06-18 Fujitsu Ltd ディスクアクセス方式切替装置
US20090222804A1 (en) * 2008-02-29 2009-09-03 Illinois Tool Works, Inc. Embedded firmware updating system and method
JP5004851B2 (ja) * 2008-03-31 2012-08-22 オリンパスイメージング株式会社 デジタルカメラ
US20090327904A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Presenting dynamic folders
US8473941B2 (en) * 2008-07-08 2013-06-25 Sandisk Il Ltd. Dynamic file system restriction for portable storage devices
WO2010026512A1 (en) * 2008-09-02 2010-03-11 Koninklijke Philips Electronics N.V. Proxy mechanism for mesh-type networks
FR2936628B1 (fr) * 2008-09-26 2011-04-01 Vincent Garnier Plate-forme de reseau informatique
US8983938B1 (en) * 2009-02-06 2015-03-17 Hewlett-Packard Development Company, L.P. Selecting a command file
US20100205154A1 (en) * 2009-02-08 2010-08-12 Gregory Beliczynski System and Method for Storing and Retrieving Deleted Files
US8914477B2 (en) * 2009-02-25 2014-12-16 Blackberry Limited System and method for using a portable electronic device as a secure virtual mass storage device over a network
US8255476B2 (en) * 2009-03-30 2012-08-28 International Business Machines Corporation Automated tape drive sharing in a heterogeneous server and application environment
US8954390B1 (en) * 2009-04-29 2015-02-10 Netapp, Inc. Method and system for replication in storage systems
US8615594B2 (en) * 2009-07-15 2013-12-24 Aten International Co., Ltd. Virtual media with folder-mount function
US9237186B2 (en) 2009-07-15 2016-01-12 Aten International Co., Ltd. Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders
US9235583B2 (en) * 2009-07-15 2016-01-12 Aten International Co., Ltd. Virtual media with folder-mount function
TWI418990B (zh) * 2009-11-11 2013-12-11 Ind Tech Res Inst 資訊切換模組及相關之檔案傳送方法
US20110161428A1 (en) * 2009-12-28 2011-06-30 Ezpnp Technologies Corp. Two-way data and resources sharing method
US20110202625A1 (en) * 2010-02-18 2011-08-18 Walton Advanced Engineering Inc. Storage device, system and method for data share
CN101944107B (zh) * 2010-08-31 2012-02-08 南京赛孚科技有限公司 一种文件管理的方法
CN102479168A (zh) * 2010-11-30 2012-05-30 北京大学 一种数据处理系统和数据处理方法
TW201235858A (en) * 2011-02-18 2012-09-01 Walton Advanced Eng Inc Storage device, system and method for data sharing
TW201322003A (zh) * 2011-11-24 2013-06-01 Pantheon Co Ltd 雲端作業之檔案資料傳遞系統及其操作方法
KR101236554B1 (ko) * 2012-03-23 2013-02-22 유비시스테크놀러지 주식회사 Usb의 대용량 저장장치 기능을 이용한 범용 스트림 전송장치 및 방법
JP6203370B2 (ja) * 2013-03-15 2017-09-27 アメリカン メガトレンズ インコーポレイテッド ウェブベースの仮想媒体リダイレクトのシステムおよび方法
CN105308616B (zh) 2013-04-18 2018-07-17 费思康有限公司 文件安全方法及其设备
US20150188988A1 (en) * 2013-12-27 2015-07-02 Htc Corporation Electronic devices, and file sharing methods thereof
CN105183533B (zh) * 2014-05-26 2018-09-28 华为技术有限公司 一种总线虚拟化的方法、装置及系统
US10897506B2 (en) 2014-07-02 2021-01-19 Hewlett Packard Enterprise Development Lp Managing port connections
WO2016036378A1 (en) * 2014-09-05 2016-03-10 Hewlett Packard Enterprise Development Lp Data storage over fibre channel
CN104639553B (zh) * 2015-02-13 2018-03-27 福州瑞芯微电子股份有限公司 数据交互方法、装置及系统
US9471236B1 (en) * 2015-03-24 2016-10-18 International Business Machines Corporation Security for memory module data
US9804906B1 (en) 2016-11-17 2017-10-31 Mastercard International Incorporated Systems and methods for filesystem-based computer application communication
US20180300259A1 (en) * 2017-04-12 2018-10-18 Quanta Computer Inc. Local disks erasing mechanism for pooled physical resources
CN107172082B (zh) * 2017-06-29 2020-10-23 苏州浪潮智能科技有限公司 一种文件共享方法及系统
GB2571705A (en) * 2018-02-23 2019-09-11 Universal Music Operations Ltd File serving
CN115114214B (zh) * 2021-03-18 2024-09-03 广州视源电子科技股份有限公司 多系统一体机、文件共享方法和存储介质
CN117591489B (zh) * 2024-01-16 2024-06-07 麒麟软件有限公司 基于多系统隔离的虚拟文件共享系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278079A (zh) * 1999-06-19 2000-12-27 三星电子株式会社 从设备和数据共享方法
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
CN1609858A (zh) * 2003-10-24 2005-04-27 微软公司 对等组共享空间中进行文件共享的系统和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991829A (en) * 1994-03-29 1999-11-23 The United States Of America As Represented By The Secretary Of The Navy Method of sensing target status in a local area network
US5752249A (en) * 1996-11-14 1998-05-12 Macon, Jr.; Charles E. System and method for instantiating a sharable, presistent parameterized collection class and real time process control system embodying the same
US6192448B1 (en) * 1998-08-18 2001-02-20 International Business Machines Corporation Structure and method for disk drive sizing using a disk drive controller coupled to a computer system
US6477624B1 (en) * 1999-11-08 2002-11-05 Ondotek, Inc. Data image management via emulation of non-volatile storage device
US20020078161A1 (en) * 2000-12-19 2002-06-20 Philips Electronics North America Corporation UPnP enabling device for heterogeneous networks of slave devices
JP2002182858A (ja) 2000-12-19 2002-06-28 Nec Gumma Ltd 擬似usbフロッピー(登録商標)ディスク
US20020144024A1 (en) * 2001-03-30 2002-10-03 Kumpf David A. Method and system for assigning peripheral devices to logical ports of a network peripheral server
US6785744B2 (en) * 2001-08-08 2004-08-31 International Business Machines Corporation Mapping SCSI medium changer commands to mainframe-compatible perform library function commands
US20030079055A1 (en) * 2001-10-18 2003-04-24 Inventec Corporation, Taiwan, R.O.C. Shared input/output network management system
US20030120676A1 (en) * 2001-12-21 2003-06-26 Sanrise Group, Inc. Methods and apparatus for pass-through data block movement with virtual storage appliances
US20030151885A1 (en) * 2002-02-13 2003-08-14 Ben Chang Control system for peripheral devices of a high-density server
US6857057B2 (en) * 2002-10-03 2005-02-15 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US8203731B2 (en) * 2003-06-10 2012-06-19 Hewlett-Packard Development Company, L.P. Hard imaging devices, and hard imaging device file system accessing and sharing method
US20050091595A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Group shared spaces
US7421562B2 (en) * 2004-03-01 2008-09-02 Sybase, Inc. Database system providing methodology for extended memory support
US20050210028A1 (en) 2004-03-18 2005-09-22 Shoji Kodama Data write protection in a storage area network and network attached storage mixed environment
US7689800B2 (en) * 2005-05-12 2010-03-30 Microsoft Corporation Partition bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278079A (zh) * 1999-06-19 2000-12-27 三星电子株式会社 从设备和数据共享方法
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
CN1609858A (zh) * 2003-10-24 2005-04-27 微软公司 对等组共享空间中进行文件共享的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516079B2 (en) 2008-09-25 2013-08-20 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof
US8521926B2 (en) 2008-09-25 2013-08-27 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof

Also Published As

Publication number Publication date
CN1987858A (zh) 2007-06-27
US20070156710A1 (en) 2007-07-05
TW200810478A (en) 2008-02-16
JP2007172586A (ja) 2007-07-05
US8868628B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
CN100478952C (zh) 在计算机间共享计算机数据的方法和设备
CN102792270B (zh) 经由bios配置概要文件的bios参数虚拟化
CN1744603B (zh) 通过远程协议的远程文件更新的方法和计算机
US8392386B2 (en) Tracking file contents
CN104699423B (zh) Linux系统中绑定盘符的方法和装置
CN101689119A (zh) 实体和虚拟图像的统一提供
US20090019223A1 (en) Method and systems for providing remote strage via a removable memory device
CN104040516A (zh) 用于数据去重的方法、设备和系统
US20090204648A1 (en) Tracking metadata for files to automate selective backup of applications and their associated data
JP2002215477A (ja) デバイス状態監視システム、デバイス状態監視処理方法及び情報記録媒体
CN113608790A (zh) 基于Linux系统的串口设备自适配管理方法、系统及存储介质
US7797396B2 (en) Network attached storage (NAS) server having a plurality of automated media portals
JP4953753B2 (ja) 情報処理装置及びその制御方法、プログラム
JP5528034B2 (ja) ブレード・センタにおいてブレード・サーバを管理するための方法、装置、およびプログラム
US8239403B2 (en) Enhancing soft file system links
US8386932B2 (en) Method for displaying document-based help with the help system for a processing application
CN106528226A (zh) 操作系统的安装方法及装置
JP2003196224A (ja) Usbポートドライバ及びポート名称付与方法
US20120005162A1 (en) Managing Copies of Data Structures in File Systems
US8726299B1 (en) Image-oriented, plugin-based API to storage server appliances
TWI328160B (en) Method, apparatus and computer program product to provide information from a first information storage and retrieval system to a second information storage and retrieval system
CN114124301B (zh) 一种具有数据校验和错误重传机制的虚拟媒体传输系统
JP2003044469A (ja) 文書ファイル管理システム
CN100382000C (zh) 用于管理可换存储媒体的设备和方法
CN104184767A (zh) 文件自动传输方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

Termination date: 20201016

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