CN100468405C - 用于存储设备信息的方法、系统和计算机程序 - Google Patents
用于存储设备信息的方法、系统和计算机程序 Download PDFInfo
- Publication number
- CN100468405C CN100468405C CNB2005800122949A CN200580012294A CN100468405C CN 100468405 C CN100468405 C CN 100468405C CN B2005800122949 A CNB2005800122949 A CN B2005800122949A CN 200580012294 A CN200580012294 A CN 200580012294A CN 100468405 C CN100468405 C CN 100468405C
- Authority
- CN
- China
- Prior art keywords
- memory device
- distributed application
- data structure
- computing equipment
- file
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
提供了一种方法、系统和计算机应用,其中把对与多个设备相对应的多个文件的多个引用存储到在计算设备中实现的数据结构中,其中所述计算设备经由网络被耦合到所述多个设备。使得分布式应用能够访问所述数据结构,其中所述分布式应用使用在所述数据结构中存储的引用来确定对应于设备的文件,并且其中所述分布式应用经由所确定的文件来执行与所述设备的数据传输操作。
Description
技术领域
本发明涉及一种用于存储设备信息并提供对所存储信息进行访问的方法、系统和计算机程序。
背景技术
存储区域网络(SAN)是一种专用网络,它使得多个存储设备与相关联的数据服务器互连。在某些实现中,SAN可以是共享存储设备的高速子网。存储设备是可包括多个盘、磁带或者用于存储数据的其它存储媒体的机器。
SAN可以把多个主机耦合到多个存储设备,其中这些主机可以是文件服务器。在某些实现中,SAN可以是不同于基于网际协议(IP)的网络的存储网络。
发明内容
提供一种用于存储数据和提供对所存储数据的访问的方法、系统和计算机程序。把对与多个设备相对应的多个文件的多个引用存储到在计算设备中实现的数据结构中。所述计算设备经由网络被耦合到所述多个设备。使分布式应用能够访问所述数据结构,其中所述分布式应用使用在所述数据结构中存储的引用来确定对应于设备的文件,并且其中所述分布式应用经由所确定的文件来执行与所述设备的数据传输操作。
在某些实施例中,该数据结构是目录,其中所述文件为设备文件,并且其中所述的引用为到所述设备文件的软链接。
在某些附加实施例中,所述数据结构是注册表,其中在该注册表中的条目包括所述引用。
在附加实施例中,从另一计算设备中接收信息,其中所述信息能够被用来确定对应于附加文件的附加引用,所述附加文件对应于被添加到所述网络的附加设备。所述数据结构被更新来包括所述附加引用。
在附加实施例中,公开了一种已经被添加到网络中的附加设备。确定对应于附加文件的附加引用,其中所述附加文件对应于所述附加设备。所述数据结构被更新来包括所述附加引用。
在另一些实施例中,所述网络是存储区域网络,其中所述分布式应用能够经由多个计算设备访问所述多个设备。
在附加实施例中,所述计算设备是第一计算设备,其中所述数据结构是第一数据结构。在第二计算设备中实现的第二数据结构存储对所述多个文件的多个引用中的至少一个,所述多个文件对应于所述多个设备,其中所述第二计算设备经由所述网络被耦合到所述多个设备,并且其中所述分布式应用能够经由所述第一和第二数据结构访问所述多个设备。
在另一些实施例中,所述数据结构能够在多个异类操作系统中实现,并且其中所述多个设备是异类的。
在另一些实施例中,所述数据结构在所述计算设备中本地实现,并且其中,与访问远离所述计算设备实现的数据结构相比,所述分布式应用能够通过访问在所述计算设备中本地实现的数据结构而更快地启动与所述设备的数据传输操作。
在附加实施例中,所述计算设备中的操作系统和驱动程序不能够直接向所述分布式应用提供对信息的访问,以执行与所述设备的数据传输操作。
在另一些实施例中,所述文件是设备文件,其中所述设备是虚拟存储设备,其中所述网络是存储区域网络,并且其中所述设备文件表示通过所述存储区域网络到所述虚拟存储设备的路径。
附图说明
下面,通过参考附图,以示例的方式描述本发明的实施例,在附图中同样的标号始终表示对应的部分:
图1例示了根据某些实施例的计算环境的框图;
图2例示了根据某些实施例的包括设备目录的主机的框图;
图3例示了示出根据某些实施例分布式应用如何使用设备目录来访问SAN中的多个设备的框图;
图4例示了根据某些实施例的生成设备目录的操作以及通过使用设备目录执行与SAN中的设备有关的输入/输出(I/O)操作的操作;
图5例示了根据某些实施例的在主机中实现的操作,其用来允许分布式应用使用设备目录来执行与SAN中的设备有关的I/O操作;以及
图6例示了实现某些实施例的计算体系结构。
具体实施方式
在下面的说明书中对附图作出参考,附图组成说明书的一部分并例示了若干实施例。应当理解,可以使用其它实施例并可以作出结构和操作上的改变。
图1例示了实现某些实施例的计算环境。多个主机100a...100n通过诸如SAN 104的网络耦合到多个设备102a...102m。在某些实施例中,能够执行与主机100a...100n和设备102a...102m有关的操作的管理服务器106也被耦合到SAN104。
多个主机100a...100n和管理服务器106可以包括任何类型的计算设备,诸如工作站、台式计算机、膝上型计算机、大型机、电话设备、手持计算机、服务器、刀片计算机等等。多个主机100a...100n可以包括多个设备目录108a...108n,其中在某些实施例中,至少一个主机包含设备目录。例如,主机100a可以包括设备目录108a,主机100b可以包括设备目录108b,而主机100n可以包括设备目录108n。在某些实施例中,设备目录108a...108n是文件目录并包括对与多个设备102a...102m中的一个或多个相对应的设备文件的引用。在某些实施例中,主机100a...100n可以是异类的,并运行多个操作系统。
设备102a...102m可以包括本领域公知的任何类型的存储设备,诸如盘驱动器、磁带驱动器、CDROM驱动器等。设备102a...102m可以包括异类的存储设备组,其能够经由SAN104从主机100a...100n和管理服务器106访问。在某些实施例中,多个设备102a...102m可以在多个主机100a...100n之间共享。
SAN104可以包括本领域公知的任何存储区域网络。在某些实施例中,SAN104可以被耦合到本领域公知的任何其它网络(未示出),诸如因特网、内联网、LAN、WAN等。
分布式应用110能够在多个主机100a...100n中的一个或者多个中运行软件单元,并与其进行交互。分布式应用110可与多个主机100a...100n中的一个或者多个进行交互并在其中执行。在某些实施例中,分布式应用110可以包括使用SAN104中的多个主机和设备的任何SAN应用。分布式应用110可以包括灾难恢复应用、数据互换应用、数据保管(data vaulting)应用、数据保护应用等。
由于分布式应用110可能必须与主机100a...100n中的多个异类设备102a...102m和异类主机操作系统进行交互,因此分布式应用110可能无法直接依赖于主机操作系统、群集管理器、逻辑卷管理器等来管理或允许对SAN104中的设备102a...102m的使用。另外,当设备102a...102m在主机100a...100n之间共享时,主机操作系统、群集管理器等可能不具有管理设备102a...102m所需的信息。另外,对于应用厂商来说,针对主机操作系统、主机总线适配驱动程序或存储设备驱动程序的每种组合进行定制的工程支持是麻烦的。因此,不可能经由主机操作系统、群集管理器、逻辑卷管理器等来管理设备102a...102m,原因在于能力的缺乏以及与创建针对主机操作系统、主机总线适配驱动程序、存储设备驱动程序等的多种组合进行定制的支持有关的费用。
图1例示了一实施例,其中与设备102a...102m有关的信息被存储在设备目录108a...108n中,其中设备目录108a...108n可以被分布式应用110访问。另外,设备目录108a...108n以这样一种方式来实现,即,使得设备目录与操作系统无关并以适合于与分布式应用110进行交互的形式来存储与设备有关的信息。某些实施例可以在这样的计算环境中实现,其中主机100a...100n和设备102a...102m被划分成群集。分布式应用110可以在基于群集的操作系统中运行并使用设备目录108a...108n来访问设备102a...102m。
图2例示了主机200的框图,其中主机200表示主机100a...100n中的任何一个。主机200包括系统软件202、设备目录204,并能与分布式应用110进行交互,其中在某些实施例中分布式应用110可以在一个或者多个主机100a...100n中实现。包括在主机200中的系统软件202可以包括主机200的操作系统、在主机200中运行的各种驱动程序、在主机200中运行的群集管理器、在主机200中运行的逻辑卷管理器等。设备目录204可以表示设备目录108a...108n中的任何一个。例如,在某些实施例中,如果主机200表示主机100a,那么设备目录204表示设备目录108a。
设备目录204包括多个设备文件链接206a...206p,其中设备文件链接206a...206p是对与设备102a...102m相对应的设备文件的引用,其中分布式应用110可以使用设备文件来执行与对应于该设备文件的设备有关的数据传输操作。例如,在某些实施例中,如果被称为“x”的设备文件对应于设备102m,那么设备文件链接206a可以是到设备文件“x”的软链接。软链接可以指示设备文件“x”在SAN104中的位置。例如,软链接可以被表示为“/dev/home/x”,其中被称为“x”的文件被存储在“dev”的“home”目录下,其中“dev”可以包括计算设备100a...100n、管理服务器106、设备102a...102m、或者任何其它能够存储文件“x”且被耦合到SAN104的单元中的任何一个。在某些实施例中,设备文件驻留于主机(诸如主机100a...100n)上,并标识通过SAN 104到存储设备(诸如存储设备102a...102m)的一个路径或一组可能路径,其中存储设备可以包括由存储服务器所服务的虚拟盘。在某些操作系统中,设备文件允许应用通过打开、读取或写入该设备文件来使用对应的设备。例如,通过写入设备文件,应用(诸如分布式应用100)通过驱动程序和SAN 104在存储设备102a...102m上进行写入。该应用还可以通过执行关于对应的设备文件的操作而获得有关该设备的某些信息,诸如该设备的SAN地址。在某些实施例中,到设备文件的链接是操作系统工具,其中使文件充当设备文件的代理,而不是实际的设备文件。应用可以打开该链接,并可以执行对该链接的操作,如同对该链接所指向的设备文件进行操作。应用还可以请求操作系统确定该链接指向哪个设备文件。
在某些实施例中,设备目录204是包括设备文件链接206a...206p的文件目录。在可选实施例中,设备目录204可以是能够存储对有关设备102a...102m的信息的引用的任何数据结构。在某些实施例中,附加字段(诸如把设备文件链接关联到特定设备的标识符)被包括在设备目录204中。
在一实施例中,分布式应用110通过经由存储在设备目录204中的设备文件链接206a...206p来访问对应于设备102a...102m的设备文件,执行有关设备102a...102m的数据传输操作,诸如I/O操作。在某些实施例中,在分布式应用110试图使用设备文件链接之前,设备目录204被创建并用设备文件链接206a...206p进行填充。因为设备目录204被本地存储在主机200中,所以与其中对设备102a...102m的引用无法在主机200中本地使用的实现相比,分布式应用110可以更快地启动与设备102a...102m的数据传输操作。如果对设备102a...102m的引用没有被本地存储在设备目录204中,那么随着SAN104中设备数量的增加,用来搜索设备102a...102m的时间会显著地增加。另外,如果在SAN104中冗余路径数量增加,那么要搜索的设备文件的数量也会增加,这导致搜索设备102a...102m的时间增加。
另外,在某些实施例中,设备目录204与操作系统无关,即,设备目录可以被存储在多个操作系统的文件系统中。当设备目录204与操作系统无关时,在主机100a...100n具有异类操作系统的实施例中,分布式应用110可以访问设备目录204。
图3例示了示出根据某些实施例分布式应用110如何使用设备目录204来访问SAN 104中的多个设备的框图。
分布式应用110可能需要执行与设备有关的数据传输操作。在某些实施例中,分布式应用110经由主机200中的设备目录204访问设备文件链接206a...206p。在某些实施例中,设备文件链接200a...200p可以引用对应于设备102a...102p的设备文件300a...300p。在某些实施例中,设备102a...102p可以是图1中示出的设备102a...102m的子集。例如,设备文件链接206a可以引用设备文件300a,而设备文件链接206p可以引用设备文件300p。在某些实施例中,设备文件300a...300p可以表示通过SAN104到存储设备102a...102p的特定的独立路径,或者表示到存储设备102a...102p的路径的选择。在某些实施例中,存储设备102a...102p可以包括由存储服务器(诸如IBM Enterprise Storage )所服务的虚拟存储设备。
在某些实施例中,分布式应用110确定设备文件链接,诸如设备文件链接206a、206p。分布式应用110可以执行与设备300a、300p有关的多种操作,诸如打开302a、304a、关闭302b、304b、更新302c、304c、读取(未示出)、写入(未示出)、追加(未示出)等。例如,分布式应用110可以使用设备文件链接206a来打开302a设备300a以便启动与设备102a的数据传输操作。
因此,图3例示了分布式应用110通过使用设备目录204来访问SAN
104中的设备102a...102p的实施例。
图4例示了根据本发明某些实施例的生成设备目录204的操作以及通过使用设备目录204执行与SAN 104中的设备的I/O操作的操作。图4中描述的操作可以在图1中示出的计算环境中实现。
控制开始于框400,其中在诸如主机200的主机中创建设备目录204。设备目录204可以表示设备目录108a...108n中的任何一个,并且主机200可以表示对应的主机100a...100n。在主机中创建设备目录204可以由主机或管理服务器106来执行。在某些实施例中,分布式应用110可以创建设备目录204。
确定(在框402)设备目录204是否可需要用诸如设备文件链接206a...206p的设备文件链接进行填充或更新。例如,如果设备目录204是空的或者主机200中的过程请求访问在设备目录204中不存在的设备,则设备目录204可需要被填充或更新。在某些实施例中,当需要执行设备发现或者当其它主机或者管理服务器106开始发送可包括对设备目录204的更新的信息时,在周期性的时间段可需要填充或更新设备目录204。如果需要填充或更新设备目录,那么可以通过执行在框404a、404b、404c的一个或多个中描述的操作以及随后执行在框406中描述的操作来填充或更新设备目录204。在某些实施例中,过程可以在框402等待,直到确定可需要填充或更新设备目录204。
在某些实施例中,在主机200中执行的分布式应用110可以从管理服务器106接收(在框404a)消息来填充或更新设备目录204。在主机200中执行的分布式应用110还可以发现(在框404b)SAN 104中感兴趣的一个或者多个设备102a...102m。在主机200中执行的分布式应用110还可以从SAN204中的其它主机接收(在框404c)一条或多条消息来填充或更新设备目录204。例如在某些实施例中,执行分布式应用110的主机100a可以从主机100b接收消息来填充或更新设备目录108a。主机100a所接收的消息可以包括使接收主机100a能够找到感兴趣的对应设备的信息。例如,该信息可以包括设备的万维网端口名,其中接收主机100可以使用与存储驱动程序相关联的设备的万维网端口名来找到感兴趣的设备文件。接着,可以在接收主机100a的设备目录108a中创建到对应的设备文件的链接。
分布式应用110可以根据在框404a、404b、404c中接收到的消息或执行的设备发现,使用到对应设备的设备文件链接来填充或更新(在框406)设备目录204。例如,在某些实施例中,分布式应用110可以用引用对应于设备100a...100p的设备文件300a...300p的设备文件链接206a...206p来填充或更新设备目录204。因此,在某些实施例中,分布式应用110可以执行对设备目录204的填充和更新。在某些可选实施例中,不同于分布式应用110的应用可以填充或更新设备目录。
分布式应用110确定(在框408)是否将执行与所选择的设备有关的操作。如果是,那么分布式应用110通过访问对应于从设备目录204中选择的设备的设备文件来执行(在框410)与所选择的设备有关的操作,接着控制返回到框402来填充或更新设备目录204。例如,在某些实施例中,分布式应用110可通过使用设备目录204中的设备文件链接206p来对与设备102p对应的设备文件304p执行打开204a。
如果分布式应用110确定(在框408)将不执行与所选择的设备有关的操作,那么控制返回到框402来填充或更新设备目录204。在某些实施例中,在框402、404a、404b、404c、406、408和410中所述的过程可以在主机200中重复地执行。在其它实施例中,主机200的异常、错误状态、关机、或重新启动可以终止图4中所述的过程。
因此,图4描述了创建、填充或更新设备目录204的实施例,该设备目录204包括对与设备100a...100p对应的设备文件300a...300p的引用。设备目录204所在的主机允许分布式应用110通过使用设备目录204来执行与设备100a...100p有关的操作。由于设备目录204被本地存储在主机200中,所以与其中对设备的引用远离主机200的实现相比,分布式应用110可以更快地访问设备。因此,在某些实施例中,尽管诸如主机操作系统的系统软件202可以管理设备文件,但是由分布式应用来管理设备目录204。
图5例示了根据某些实施例的在诸如主机200的主机中实现的操作,其用来允许分布式应用110使用设备目录204来执行与SAN 104中的设备102a...102m有关的I/O操作。
控制开始于框500,其中计算设备200把对与多个设备100a...100p相对应的多个文件300a...300p的多个引用206a...206p存储到在计算设备200中实现的数据结构204中,其中计算设备200经由网络104耦合到多个设备100a...100p。
计算设备200使得(在框502)分布式应用110能够访问数据结构204,其中该分布式应用110使用在该数据结构204中存储的引用来确定对应于设备的文件,并且其中该分布式应用110经由所确定的文件来执行与该设备的数据传输操作。
因此,图5例示了诸如主机200的计算设备如何允许分布式应用110使用设备目录204来执行数据传输操作。
在某些实施例中,有关SAN中的设备的知识被本地高速缓存到主机中,从而管理员或分布式应用110可以很快地访问并看到候选的或被使用的设备。在某些实施例中,指定的目录被用作独立于平台的、独立于厂商的技术,其用来管理由跨SAN环境中的多个主机的分布式应用所共享的设备,其中通过把该指定的目录本地存储在主机中而减少了扫描适当设备的时间和复杂度。当主机没有在执行关键性操作时,可用对设备的引用来更新指定的目录,其中所述关键性操作是应该被尽可能快地完成的操作。在某些实施例中,分布式应用110将信息高速缓存在设备目录108a...108n中,其中被高速缓存的信息可以与可被访问的设备或已经被该分布式应用110或其它应用所使用的设备有关。在某些实施例中,分布式应用110可以指定设备目录108a...108n的位置。在某些其它实施例中,任何存储设备厂商或任何主机系统软件都不使用设备目录来存储通用设备文件。在某些可选实施例中,管理员可以使用管理服务器106来人工地配置设备目录108a...108n。还可以在管理服务器106上运行自动脚本来配置设备目录108a...108n。另外,在其它实施例中,除了管理服务器106外,还可以在主机100a...100n上进行管理。例如,管理员可以登录到所选择的主机上并在分布式应用110所使用的设备目录204中添加新的链接,并将可以由分布式应用110在所选择的主机上使用的设备指示给分布式应用110。
在某些实施例中,在关键性操作期间,使得分布式应用110能够减少扫描设备102a...102m所需要的时间。在某些其它实施例中,主机100a...100n、分布式应用110或者管理服务器106可以通过在没有执行关键性操作时扫描SAN104中的设备来创建、填充或更新设备目录108a...108n。
在某些实施例中,分布式应用110以普通的方式与设备102a...102m进行交互。在某些其它实施例中,分布式应用110能够使用设备102a...102m,其中在该分布式应用被设计、测试或归档之时所述设备不可用。在可选的实施例中,分布式应用110可以使用除了在图1-5中描述的操作之外的附加操作来定位设备。例如,分布式应用可以搜索其它设备位置,或者可以被定制来使用或优选使用某些厂商设备或驱动程序,或者可以与主机上的操作系统进行交互以确定用于数据传输的设备。在某些实施例中,无需使用系统软件202,将设备102a...102m进行标记以在设备目录中使用。由于在多个主机100a...100n中的每一个主机上的系统软件可能不同,所以由系统软件在每个主机上标记设备102a...102m可能导致冲突,并可能影响分布式应用110使用设备102a...102m。
所述的技术可以被实现为方法、装置或制品,包括软件、固件、微代码、硬件和/或它们的任何组合。在这里所使用的术语“制品”指的是在电路(例如集成电路芯片、可编程门阵列(PGA)、ASIC等)中实现的程序指令、代码和/或逻辑、和/或计算机可读媒体(例如磁存储媒体,诸如硬盘驱动器、软盘、磁带)、光存储设备(例如CD-ROM、DVD-ROM、光盘等)、易失性和非易失性存储设备(例如电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪速存储器、固件、可编程逻辑等)。诸如处理器的机器可以访问和执行计算机可读媒体中的代码。在某些实施例中,进行实施例的代码还可以通过传输媒体访问或者经由网络从文件服务器中访问。在这种情况下,实现代码的制品可包括传输媒体(诸如网络传输线)、无线传输媒体、通过空间传播的信号、无线电波、红外信号等。当然,本领域技术人员将了解,在不脱离实施例的范围的情况下可以做出许多修改,并且所述制品还可以包括本领域公知的任何信息承载媒体。例如所述制品包括其中存储有指令的存储媒体,当机器执行这些指令时使得操作被执行。
图6例示了可实现某些实施例的计算机体系结构600的框图。在某些实施例中,根据计算机体系结构600可以实现主机100a...100n和管理服务器106。计算机体系结构600可以包括处理器或电路602、存储器604(例如易失性存储设备)和存储设备606。在主机100a...100n和管理服务器106中可能或不能找到计算机体系结构600的某些单元。存储设备606可以包括非易失性存储设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、磁带驱动器等。存储设备606可以包括内部存储设备、附属存储设备和/或网络可访问存储设备。存储设备606中的程序可以被加载到存储器604中并被处理器602执行。在某些实施例中,电路602可以与存储器604进行通信,并且电路602能够执行操作。另外,该体系结构可以包括网卡608以使能与诸如存储区域网络104的网络进行的通信。该体系结构还可以包括至少一个输入设备610(诸如键盘、触摸屏、笔、声音激活的输入等)和至少一个输出设备612(诸如显示设备、扬声器、打印机等)。
图4和图5中的至少某些操作可以被并行以及顺序执行。在可选的实施例中,某些操作可以用不同的顺序执行、可被修改或移除。
另外,为了说明的目的,以独立模块的形式描述了许多软件和硬件组件。这些组件可以被集成在更少数量的组件中或者被划分成更多数量的组件。另外,被描述成由特定组件执行的某些操作可以由其它组件执行。
在图1-6中示出或引用的数据结构和组件被描述为具有特定类型的信息。在可选的实施例中,这些数据结构和组件可以具有不同结构,并且和图中示出或引用的字段或功能相比,其可以具有更少、更多或不同的字段或不同的功能。
因此,为了示例和描述的目的,已经给出了对实施例的上述描述。这不意味着穷举或将实施例限制为所公开的精确形式。根据上述讲授,许多修改和变化都是可能的。
IBM、ESCON和Enterprise Storage Server是IBM公司的注册商标或商标。
Claims (20)
1.一种方法,包括:
把对与多个存储设备相对应的多个文件的多个引用存储到在计算设备中本地实现的数据结构中,其中所述计算设备经由网络被耦合到所述多个存储设备;以及
由分布式应用访问所述数据结构,其中所述分布式应用使用在所述数据结构中存储的引用来确定对应于包括在所述多个存储设备中的存储设备的文件,并且其中所述分布式应用经由所确定的文件来执行与所述存储设备的数据传输操作,并且其中所述分布式应用被配置为与访问远离所述计算设备实现的所述数据结构相比,通过访问在所述计算设备中本地实现的所述数据结构而更快地启动与所述存储设备的所述数据传输操作,其中所述分布式应用被配置为当没有执行关键性操作时通过扫描所述多个存储设备来减少所述关键性操作期间扫描所述多个存储设备所需要的时间,其中所述分布式应用响应于接收来自另一个计算设备的包括所述存储设备的网络位置标识符的消息,更新所述数据结构。
2.如权利要求1所述的方法,其中所述数据结构是目录,其中所述文件是设备文件,并且其中所述引用是到所述设备文件的软链接。
3.如权利要求1所述的方法,其中所述数据结构是注册表,并且其中该注册表中的条目包括所述引用。
4.如权利要求1所述的方法,还包括:
从另一个计算设备中接收用于确定对应于附加文件的附加引用的信息,所述附加文件对应于被添加到所述网络的附加存储设备;以及
更新所述数据结构来包括所述附加引用。
5.如权利要求1所述的方法,还包括:
发现已经被添加到所述网络的附加存储设备;确定对应于附加文件的附加引用,所述附加文件对应于所述附加存储设备;以及更新所述数据结构以包括所述附加引用。
6.如权利要求1所述的方法,还包括:
由所述分布式应用经由多个计算设备访问所述多个存储设备,其中所述网络是存储区域网络,其中所述数据结构被实现于多个异类操作系统中,并且其中所述多个存储设备是异类的,其中在所述计算设备中的操作系统和驱动程序不直接向所述分布式应用提供对信息的访问,以执行与所述存储设备的所述数据传输操作,其中所述文件是设备文件,所述存储设备是虚拟存储设备,并且其中所述设备文件表示通过所述存储区域网络到所述虚拟存储设备的路径,其中所述计算设备是第一计算设备,由所述分布式应用访问的所述数据结构是第一数据结构;以及
在第二计算设备中实现的第二数据结构中存储对与所述多个存储设备相对应的所述多个文件的多个引用中的至少一个,其中所述第二计算设备经由所述网络被耦合到所述多个存储设备,并且其中所述分布式应用经由所述第一和第二数据结构访问所述多个存储设备。
7.如权利要求6所述的方法,其中所述网络位置标识符是万维网端口名,其中所述关键性操作是那些被尽可能快执行的操作,其中与其它存储设备相比,所述分布式应用优选特定厂商存储设备以执行所述数据传输操作。
8.如权利要求1所述的方法,其中所述网络位置标识符是万维网端口名。
9.如权利要求1所述的方法,其中所述关键性操作是那些被尽可能快执行的操作。
10.如权利要求1所述的方法,其中与其它存储设备相比,所述分布式应用优选特定厂商存储设备以执行所述数据传输操作。
11.一种数据处理系统,其中所述系统在结构上通过网络与多个存储设备和分布式应用进行通信,所述系统包括:
计算设备;
耦合到所述计算设备的存储器;
用来控制把对与所述多个存储设备相对应的多个文件的多个引用存储到在所述计算设备中本地实现的数据结构中的装置;以及
用来由所述分布式应用访问所述数据结构的装置,其中所述分布式应用使用在所述数据结构中存储的引用来确定对应于包括在所述多个存储设备中的存储设备的文件,并且其中所述分布式应用经由所确定的文件来执行与所述存储设备的数据传输操作,并且其中所述分布式应用被配置为与访问远离所述计算设备实现的所述数据结构相比,通过访问在所述计算设备中本地实现的所述数据结构而更快地启动与所述存储设备的所述数据传输操作,其中所述分布式应用被配置为当没有执行关键性操作时通过扫描所述多个存储设备来减少所述关键性操作期间扫描所述多个存储设备所需要的时间,其中所述分布式应用响应于接收来自另一个计算设备的包括所述存储设备的网络位置标识符的消息,更新所述数据结构。
12.如权利要求11所述的系统,其中所述数据结构是目录,其中所述文件是设备文件,并且其中所述引用是到所述设备文件的软链接。
13.如权利要求11所述的系统,其中所述数据结构是注册表,并且其中该注册表中的条目包括所述引用。
14.如权利要求11所述的系统,其中所述系统被配置为与另一个计算设备进行通信,并且所述系统还包括:用来从所述另一个计算设备接收信息的装置,该信息用来确定对应于附加文件的附加引用,所述附加文件对应于附加存储设备;以及用来更新所述数据结构来包括所述附加引用的装置。
15.如权利要求11所述的系统,其中附加存储设备被添加到所述网络,并且所述系统还包括:
用于发现所述附加存储设备的装置;用于确定对应于附加文件的附加引用的装置,所述附加文件对应于所述附加存储设备;以及更新所述数据结构以包括所述附加引用的装置。
16.如权利要求11所述的系统,其中所述网络是存储区域网络,并且其中所述分布式应用经由多个计算设备访问所述多个存储设备,其中所述数据结构被实现于多个异类操作系统中,并且其中所述多个存储设备是异类的,其中在所述计算设备中的操作系统和驱动程序不直接向所述分布式应用提供对信息的访问,以执行与所述存储设备的所述数据传输操作,其中所述文件是设备文件,所述存储设备是虚拟存储设备,并且其中所述设备文件表示通过所述存储区域网络到所述虚拟存储设备的路径,其中所述计算设备是第一计算设备,所述数据结构是第一数据结构,并且其中所述系统还包括:
用来在第二计算设备中实现的第二数据结构中存储对与所述多个存储设备相对应的所述多个文件的多个引用中的至少一个,其中所述第二计算设备经由所述网络被耦合到所述多个存储设备,并且其中所述分布式应用经由所述第一和第二数据结构访问所述多个存储设备。
17.如权利要求16所述的系统,其中所述网络位置标识符是万维网端口名,其中所述关键性操作是那些被尽可能快执行的操作,其中与其它存储设备相比,所述分布式应用被配置为优选特定厂商存储设备以执行所述数据传输操作。
18.如权利要求11所述的系统,其中所述网络位置标识符是万维网端口名。
19.如权利要求11所述的系统,其中所述关键性操作是那些被尽可能快执行的操作。
20.如权利要求11所述的系统,其中与其它存储设备相比,所述分布式应用被配置为优选特定厂商存储设备以执行所述数据传输操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/851,036 | 2004-05-21 | ||
US10/851,036 US20050262090A1 (en) | 2004-05-21 | 2004-05-21 | Method, system, and article of manufacture for storing device information |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1947117A CN1947117A (zh) | 2007-04-11 |
CN100468405C true CN100468405C (zh) | 2009-03-11 |
Family
ID=34968820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800122949A Expired - Fee Related CN100468405C (zh) | 2004-05-21 | 2005-05-20 | 用于存储设备信息的方法、系统和计算机程序 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20050262090A1 (zh) |
EP (1) | EP1769330A2 (zh) |
JP (1) | JP2007538327A (zh) |
KR (1) | KR101027248B1 (zh) |
CN (1) | CN100468405C (zh) |
WO (1) | WO2005114372A2 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004082525A2 (en) * | 2003-03-14 | 2004-09-30 | Sinexus, Inc. | Sinus delivery of sustained release therapeutics |
US8595224B2 (en) * | 2005-09-22 | 2013-11-26 | International Business Machines Corporation | Smart path finding for file operations |
US7787482B2 (en) * | 2006-10-17 | 2010-08-31 | International Business Machines Corporation | Independent drive enclosure blades in a blade server system with low cost high speed switch modules |
US9843475B2 (en) * | 2012-12-09 | 2017-12-12 | Connectwise, Inc. | Systems and methods for configuring a managed device using an image |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173374B1 (en) * | 1998-02-11 | 2001-01-09 | Lsi Logic Corporation | System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network |
US6119131A (en) * | 1998-06-12 | 2000-09-12 | Microsoft Corporation | Persistent volume mount points |
US6496839B2 (en) * | 1998-06-12 | 2002-12-17 | Microsoft Corporation | Persistent names for logical volumes |
US6260120B1 (en) * | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
US6374266B1 (en) * | 1998-07-28 | 2002-04-16 | Ralph Shnelvar | Method and apparatus for storing information in a data processing system |
US6457098B1 (en) * | 1998-12-23 | 2002-09-24 | Lsi Logic Corporation | Methods and apparatus for coordinating shared multiple raid controller access to common storage devices |
US6549916B1 (en) * | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
US6671727B1 (en) * | 1999-12-20 | 2003-12-30 | Lsi Logic Corporation | Methodology for providing persistent target identification in a fibre channel environment |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US20020161596A1 (en) * | 2001-04-30 | 2002-10-31 | Johnson Robert E. | System and method for validation of storage device addresses |
US7406473B1 (en) * | 2002-01-30 | 2008-07-29 | Red Hat, Inc. | Distributed file system using disk servers, lock servers and file servers |
US20030188022A1 (en) * | 2002-03-26 | 2003-10-02 | Falkner Sam L. | System and method for recursive recognition of archived configuration data |
US20040088294A1 (en) * | 2002-11-01 | 2004-05-06 | Lerhaupt Gary S. | Method and system for deploying networked storage devices |
US6944620B2 (en) * | 2002-11-04 | 2005-09-13 | Wind River Systems, Inc. | File system creator |
JP2004310560A (ja) * | 2003-04-09 | 2004-11-04 | Hewlett Packard Japan Ltd | アクセス制御システムおよびその方法 |
US6806756B1 (en) * | 2003-06-16 | 2004-10-19 | Delphi Technologies, Inc. | Analog signal conditioning circuit having feedback offset cancellation |
US7243089B2 (en) * | 2003-11-25 | 2007-07-10 | International Business Machines Corporation | System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data |
US7698289B2 (en) * | 2003-12-02 | 2010-04-13 | Netapp, Inc. | Storage system architecture for striping data container content across volumes of a cluster |
-
2004
- 2004-05-21 US US10/851,036 patent/US20050262090A1/en not_active Abandoned
-
2005
- 2005-05-20 EP EP05747896A patent/EP1769330A2/en not_active Withdrawn
- 2005-05-20 WO PCT/EP2005/052331 patent/WO2005114372A2/en not_active Application Discontinuation
- 2005-05-20 JP JP2007517264A patent/JP2007538327A/ja active Pending
- 2005-05-20 CN CNB2005800122949A patent/CN100468405C/zh not_active Expired - Fee Related
- 2005-05-20 KR KR1020067022721A patent/KR101027248B1/ko not_active IP Right Cessation
-
2007
- 2007-10-30 US US11/929,044 patent/US7831623B2/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
IBM Storage Tank--A heterogeneous scalable SAN filesystem. J. Menon, D.A.Pease , R.Rees , L.Duyanovich,B.Hillsberg.IBM SYSTEMS JOURNAL,Vol.42 No.2. 2003 |
IBM Storage Tank--A heterogeneous scalable SAN filesystem. J. Menon, D.A.Pease , R.Rees , L.Duyanovich,B.Hillsberg.IBM SYSTEMS JOURNAL,Vol.42 No.2. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
US20080052296A1 (en) | 2008-02-28 |
EP1769330A2 (en) | 2007-04-04 |
KR20070028362A (ko) | 2007-03-12 |
CN1947117A (zh) | 2007-04-11 |
KR101027248B1 (ko) | 2011-04-06 |
JP2007538327A (ja) | 2007-12-27 |
WO2005114372A3 (en) | 2006-04-06 |
WO2005114372A2 (en) | 2005-12-01 |
US7831623B2 (en) | 2010-11-09 |
US20050262090A1 (en) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090019139A1 (en) | Repository-Independent System and Method for Asset Management and Reconciliation | |
US20090132621A1 (en) | Selecting storage location for file storage based on storage longevity and speed | |
US8438134B2 (en) | Computer-readable recording medium containing database copying program, and database copying apparatus and method | |
US6711559B1 (en) | Distributed processing system, apparatus for operating shared file system and computer readable medium | |
US20090240791A1 (en) | Update management method and update management unit | |
CN102200921A (zh) | 智能引导设备选择和恢复 | |
US20060294305A1 (en) | System and method for storing configuration data of a storage automation device | |
US9928008B2 (en) | Pre-loading a parameter to a media accessor to support a data request | |
CN103620549A (zh) | 用于统一数据存储的存储介质抽象 | |
CN101826029A (zh) | 用于合并虚拟化子层的方法与系统 | |
WO2016048326A1 (en) | Identification of a component for upgrade | |
IL191952A (en) | Sets an address format that is compatible with other address formats used to address address spaces of different sizes | |
CN110520844A (zh) | 云管理平台、虚拟机管理方法及其系统 | |
CN100468405C (zh) | 用于存储设备信息的方法、系统和计算机程序 | |
US7222338B2 (en) | Method for upgrading data | |
CN111400350A (zh) | 配置数据读取方法、系统、电子设备和存储介质 | |
US11500833B2 (en) | Archiving accelerator-only database tables | |
CN111031126B (zh) | 集群缓存共享方法、系统、设备及存储介质 | |
US11977559B2 (en) | Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs | |
US6636964B1 (en) | Method and apparatus for loading an object-oriented operating system by providing an initial execution environment and migrating to a core execution environment thereafter | |
KR20030055482A (ko) | 선택적인 캐시관리방법 및 장치 | |
CN112578996B (zh) | 一种存储系统的元数据的发送方法及存储系统 | |
US20080184264A1 (en) | Method, Apparatus and Media for Information Model Data Retrieval | |
US11308992B1 (en) | Storage medium reader physical location access | |
JP2002342130A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090311 Termination date: 20120520 |