CN102193959B - 计算机系统以及缓存控制方法 - Google Patents

计算机系统以及缓存控制方法 Download PDF

Info

Publication number
CN102193959B
CN102193959B CN2010105511310A CN201010551131A CN102193959B CN 102193959 B CN102193959 B CN 102193959B CN 2010105511310 A CN2010105511310 A CN 2010105511310A CN 201010551131 A CN201010551131 A CN 201010551131A CN 102193959 B CN102193959 B CN 102193959B
Authority
CN
China
Prior art keywords
mentioned
file
caching server
server
caching
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
CN2010105511310A
Other languages
English (en)
Other versions
CN102193959A (zh
Inventor
伊藤大辅
对马雄次
早川仁
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN102193959A publication Critical patent/CN102193959A/zh
Application granted granted Critical
Publication of CN102193959B publication Critical patent/CN102193959B/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching

Abstract

本发明提供一种计算机系统以及缓存控制方法。在以往的缓存管理方法中,在将文件的元数据从缓存服务器移动到别的缓存服务器中的情况下,在是任一个终端对文件访问中的情况下不能移动。一种具备文件服务器、缓存服务器和缓存管理服务器的计算机系统,缓存管理服务器管理表示文件的缓存数据的管理权限的权限信息;第1缓存服务器更新锁定管理信息,以使文件的锁定状态移动到第3缓存服务器;第3缓存服务器更新第3锁定管理信息,以使文件的锁定状态移动到第3缓存服务器;缓存管理服务器更新权限信息,以将第1文件的缓存数据的管理权限从第1缓存服务器变更为第3缓存服务器。

Description

计算机系统以及缓存控制方法
技术领域
本发明涉及文件系统、或者以键值存储器等为代表的对象存储器的数据缓存的控制方法。 
背景技术
在经由广域网(WAN)在数据中心与据点(拠点)之间进行数据访问的情况下,根据距离而发生转送延迟、或者广域网的有效带宽比合同带宽小很多而转送速度较慢等的问题。 
为了应对上述问题而使用缓存。在缓存中,有用来使没有被更新的文件或更新频率较低的文件的参照高速化的读缓存、和用来使更新频率较高的文件的参照及文件的更新变快的写缓存。在多个用户对相同的数据进行更新的环境中,需要控制实际的数据与缓存的数据的一贯性。 
[通常的缓存] 
实现一贯性控制的方法是使用保持数据的服务器取同步的方法(例如参照非专利文献1)。以下,利用图30、图31及图32,以使用文件服务器作为保持数据的服务器使用的情况为例进行说明。 
图30是表示具备以往的文件服务器的计算机系统的结构例的框图。 
计算机系统由中央据点3000、据点A3010及据点B3020构成,经由广域网(WAN)3030相互连接。 
在中央据点3000中包括文件服务器3001。文件服务器3001保存从各据点参照或更新的文件3005。 
在据点A3010中包括缓存服务器A3011及终端A3012-1。缓存服务器A3010和终端A3012-1直接或者经由LAN(Local Area Network)等连接。终端A3012-1经由缓存服务器A3011参照及更新保存在中央据点3000的文件服务器3001中的文件3005。 
在据点B3020中包括缓存服务器B3021及终端B3012-2。缓存服务器 B3021和终端B3012-2直接或者经由LAN(Local Area Network)等连接。终端B3012-2经由缓存服务器B3021参照及更新保存在中央据点3000的文件服务器3001中的文件3005。 
以下,对缓存服务器A3011保存与保存在文件服务器3001中的文件3005对应的文件的缓存3015的情况进行说明。另外,该文件的缓存3015是最新的。 
图31是说明以往的缓存服务器执行的文件参照处理的流程图。 
缓存服务器从终端受理包括文件名的文件参照请求,开始文件参照处理(S3101)。 
首先,缓存服务器检索与从终端接受到的文件名对应的文件的缓存(S3102),判断是否存在该文件的缓存(S3103)。 
在缓存服务器A3011的情况下,判断为存在与从终端A3012-1接受到的文件名对应的文件的缓存3015,此外,在缓存服务器B3021的情况下,判断为不存在与从终端A3012-1接受到的文件名对应的文件的缓存3015。 
在判断为存在与从终端接受到的文件名对应的文件的缓存的情况下,缓存服务器从文件服务器取得与从终端接受到的文件名对应的文件(S3104)。 
缓存服务器判断保存在该缓存服务器中的文件的缓存是否是最新的(S3105)。 
具体而言,缓存服务器从文件服务器取得与从终端接受到的文件名对应的文件的指纹,参照所取得的指纹,判断保存在该缓存服务器中的文件的缓存是否是最新的。 
为了严密地判断文件的缓存是否为最新,需要从文件服务器接收文件本身,但在此情况下,由于即使使用缓存也不能实现高速化,所以使用文件的指纹。 
这里,所谓文件的指纹,是指表示文件内容的特征的较短的数据。文件的指纹具有即使文件的内容稍稍不同也大幅变化的性质。因此,使用文件的指纹能够进行缓存是否为最新的判断,此外,指纹的数据量比文件本身少就足够。因而,文件的指纹的取得时间也较少就足够。作为计算这样的指纹的方法已知有MD5等(例如参照非专利文献2)。在使用了MD5的 情况下,在S3104中取得的数据量为128位。 
在判断为保存在缓存服务器中的文件的缓存是最新的情况下,缓存服务器从该文件的缓存取得文件的数据(S3106),将所取得的文件的数据发送给用户,结束处理(S3107)。 
在S3103中判断为不存在与从终端接受到的文件名对应的文件的缓存的情况下,或者在S3105中判断为保存在缓存服务器中的文件的缓存不是最新的情况下,缓存服务器从文件服务器取得文件的数据(S3108),将所取得的文件的数据发送给用户,结束处理(S3107)。 
图32是说明以往的缓存服务器执行的文件参照处理的流程的时序图。 
在图32中,终端A3012-1经由缓存服务器A3011对文件服务器3001访问,表示缓存命中的情况、即从缓存取得文件的数据的情况的处理步骤的图。 
终端A3012-1将包括文件名的文件参照请求发送给缓存服务器A3011(S3201)。 
接收到包括文件名的文件参照请求的缓存服务器A3011开始文件参照处理(S3202),检索与包含在文件参照请求中的文件名对应的文件的缓存(S3203)。 
这里,缓存服务器A3011由于保存与包含在文件参照请求中的文件名对应的文件的缓存,所以接着将该文件的元数据的取得请求发送给文件服务器3001(S3204)。 
缓存服务器A3011从文件服务器3001接收与包含在文件参照请求中的文件名对应的文件的元数据(S3205)。 
缓存服务器A3011由于保存的文件的缓存是最新的,所以从该文件的缓存取得文件的数据(S3207),将所取得的文件的数据发送给终端A3012-1(S3208),结束处理。 
在图30所示的计算机系统中,终端A3012-1及终端B3012-2有可能对保存在文件服务器3001中的所有文件访问。因而,需要通过伴随着由框线3206包围的S3204及S3205的处理的、从缓存服务器A3011向文件服务器3001的通信来控制一贯性。 
但是,在图32所示的处理中,由于文件的缓存是最新的,所以由框线 3206包围的S3204及S3205的处理产生处理的延迟。 
进而,在图30所示的计算机系统中,由于缓存服务器A3011和文件服务器3001经由广域网(WAN)3030连接,所以延迟较大,例如发生几百毫秒到1秒的延迟。因而,在经由广域网(WAN)3030的指纹的取得中,即使在取得的数据量较小的情况下,也发生例如几百毫秒的延迟。 
因而,缓存服务器A3011内的处理(例如S3202、S3207)能够几毫秒到几十毫秒高速地处理,所以希望有不执行由框线3206包围的处理的一贯性控制方式。 
另外,如在S3105中取得的指纹那样,在文件中包括文件的内容以外的信息。作为文件的内容以外的信息,可以考虑例如文件的作者、文件的制作日时、文件的最终更新日时、文件的访问权等。以下将文件的内容以外的信息一起称作元数据。此外,将文件的内容称作实数据。 
此外,以下将目录也作为文件的一种。因而,只要没有特别否定,文件包括狭义的文件和目录。 
[Wire FS] 
作为上述那样的、以往技术的考虑到延迟的一贯性控制的方法,有通过根据向处于文件服务器内的子树的缓存服务器间的访问的偏倚(偏り)、由适当的缓存服务器管理该子树的元数据管理权和实数据、来削减一贯性控制所需要的经由广域网的通信的次数、使文件访问高速化的方法(例如参照专利文献1)。 
在专利文献1中记载的方法中,有对于文件服务器内的包括目录的各文件具有home和owner的作用的缓存服务器。 
对某个文件频繁地访问的缓存服务器为该文件的home,管理该文件的元数据。此外,对该文件访问的缓存服务器每次从作为home的缓存服务器带有期限地租借owner的权利而成为owner,具有关于该文件的临时的元数据的管理权和实数据的缓存。 
另外,由于对文件频繁访问的缓存服务器为home,所以通常home和owner为相同的缓存服务器。此外,在对该文件频繁访问的缓存服务器不是当前的home的情况下,使home移动到频繁访问的缓存服务器。此时,访问偏倚的统计值的计算及home移动的判断由配置在中央据点的管理服务 器进行。 
如果使用在专利文献1中记载的方法,则来自特定的缓存服务器的统计性地访问较多的成为了文件的owner的缓存服务器在owner的权利到期之前,在一贯性控制的执行时不进行经由广域网的通信,能够总是判断自己保持的缓存是最新的。即,不再需要进行由图32的框线3206包围的处理。 
但是,在专利文献1中记载的方法中,在从许多据点受到在统计上均等的访问那样的文件的处理方面成为问题。 
即,专利文献1中记载的方法中,如果使取得用来计算统计值的信息的期间足够长、或者使得在有充分的访问的偏倚的情况下能够检测到偏倚,则不能检测到关于该文件的访问偏倚,所以不能确定作为该文件的home的缓存服务器。 
即,在统计上从许多据点均等地受到访问那样的文件的一贯性控制的执行时,不能减少经由广域网的处理的执行。 
对于上述问题,可以考虑通过使取得用来计算统计值的信息的期间变短、或使得在有较小的访问的偏倚的情况下能够检测到访问偏倚、将特定的缓存服务器作为home的方法。但是,在该方法中,在对某个文件从某个缓存服务器的访问临时增加等情况下等,较强地受到噪音那样的访问的影响,所以需要频繁地进行home的移动。 
但是,在专利文献1中记载的方法中,因为以下所述的理由而不能使从某个终端访问的文件的home移动。由于特定的缓存服务器为home的文件是频繁地受到访问的文件,所以某个终端是访问中的可能性较高,不能使访问中的文件的home移动的影响较大。即,不能实现从许多据点在统计上受到均等的访问那样的文件的一贯性控制所需要的经由广域网的处理的减少。 
关于某个文件的home移动,记载在专利文献1中,将全部的缓存(即home和owner具有的缓存)无效化,将home移动通知从home发送给中央据点的管理服务器。然后,将该文件的元数据和home权限发送给新的home。 
即,能够使所有的缓存无效化的是owner权利的期限到期之后。另一 方面,作为owner的缓存服务器在任一个终端对文件访问中的情况下,将owner权利更新,所以owner权利的期限不会到期。因此,不能使任一个终端访问中的文件的home移动。 
进而,在专利文献1中记载的方法中,在进行伴随着某个缓存服务器的维护或更换的计划停止的情况下,也因为与上述同样的理由,在任一个终端对该缓存服务器为home的文件访问中的情况下,不能使该缓存服务器停止。 
如上所述,在以往的方法中,存在以下的问题:在经由广域网在中央据点与据点之间进行访问的情况下,即使为了消除延迟而使用缓存,对于在统计上从许多据点均等地受到访问那样的文件不能消除用于一贯性控制的通信延迟。 
另外,这里作为数据访问的一例而举文件访问为例,但如果对象是其他数据对象也在本质上没有差异,会发生同样的问题。 
[专利文献1]美国专利申请公开第2007/0162462号说明书 
[非专利文献1]Nelson,“Caching in the Sprite Network File System”,ACM Transactions on Computer Systems,Volume6,Issue1(Feburauary1988),p.134-154 
[非专利文献2]RFC 1321,“The MD5 Message-Digest Algorithm” 
发明内容
本发明要解决的问题是:如果使用以往方法用缓存服务器管理文件的元数据,则即使想要将该文件的元数据从该缓存服务器移动到别的缓存服务器中,在任一个终端对该文件访问中的情况下也不能移动。 
如果表示本发明的代表性的一例,则为以下这样。即一种计算机系统,具备:文件服务器,具备第1处理器和连接在上述第1处理器上的第1存储器,该文件服务器保存多个文件;缓存服务器,具备第2处理器和连接在上述第2处理器上的第2存储器,该缓存服务器保存上述文件的缓存数据;以及缓存管理服务器,具备第3处理器和连接在上述第3处理器上的第3存储器,该缓存管理服务器管理上述缓存服务器,该计算机系统的特征在于,上述文件的缓存数据包括能够确定上述文件的数据或者构成上述 文件的数据的至少任意一方;上述缓存管理服务器管理权限信息,该权限信息表示上述缓存服务器对保存在上述文件服务器中的上述文件的缓存数据的管理权限;上述缓存服务器包括第1缓存服务器、第2缓存服务器以及第3缓存服务器;上述第1缓存服务器具备第1锁定管理信息,该第1锁定管理信息管理表示可否访问该第1缓存服务器具有管理权限的文件的锁定状态;上述第2缓存服务器具备第2锁定管理信息,该第2锁定管理信息管理表示可否访问该第2缓存服务器具有管理权限的文件的锁定状态;上述第3缓存服务器具备第3锁定管理信息,该第3锁定管理信息管理表示可否访问该第3缓存服务器具有管理权限的文件的锁定状态;上述文件包括第1文件;上述第1缓存服务器在从连接在该第1缓存服务器上的客户端终端接收到对上述第1文件的处理命令的情况下,从上述缓存管理服务器取得上述权限信息;参照上述取得的权限信息,判断上述第1缓存服务器是否具有上述第1文件的缓存数据的管理权限;在判断为上述第1缓存服务器具有上述第1文件的缓存数据的管理权限的情况下,执行对上述第1文件的处理命令;在判断为上述第1缓存服务器不具有上述第1文件的缓存数据的管理权限的情况下,向具有该第1文件的上述管理权限的上述第2缓存服务器发送对上述第1文件的处理命令,从上述第2缓存服务器接收对上述第1文件的处理命令的执行结果;在判断为上述第1缓存服务器具有上述第1文件的缓存数据的管理权限的情况下,上述缓存管理服务器向上述第1缓存服务器发送将上述第1缓存服务器具有的上述第1文件的缓存数据的上述管理权限变更为上述第3缓存服务器的更新命令;上述第1缓存服务器在接收到上述更新命令之后,将上述更新命令发送给上述第3缓存服务器,执行更新上述第1锁定管理信息以使上述第1文件的锁定状态移动到上述第3缓存服务器中的第1更新处理;上述第3缓存服务器在接收到上述更新命令之后,执行更新上述第3锁定管理信息以使上述第1文件的锁定状态移动到上述第3缓存服务器的第2更新处理;上述缓存管理服务器更新上述权限信息,以将上述第1文件的缓存数据的管理权限从上述第1缓存服务器变更为上述第3缓存服务器。 
根据本发明,由于对有访问偏倚的文件能够按照时间由适当的缓存服务器保持该文件的管理权限,所以能够消除一贯性控制所需要的通信延迟。 
此外,作为本发明的其他效果,能够在任意的定时变更管理权限,所以能够容易地实现计划停止等应用。 
附图说明
图1是说明本发明的实施方式的计算机系统的框图。 
图2是说明本发明的实施方式的文件服务器的结构例的框图。 
图3是说明本发明的实施方式的缓存管理服务器的结构例的框图。 
图4是说明本发明的实施方式的缓存服务器的结构例的框图。 
图5是表示本发明的实施方式的锁定管理表的一例的说明图。 
图6是表示本发明的实施方式的受理停止管理表的一例的说明图。 
图7是表示本发明的实施方式的主导(マスタ)管理表的一例的说明图。 
图8是说明本发明的实施方式的文件服务器在起动后执行的处理的流程图。 
图9是说明通过本发明的实施方式的文件服务器控制部具备的文件的元数据参照功能执行的处理的流程图。 
图10是说明通过本发明的实施方式的文件服务器控制部具备的文件的锁定取得功能执行的处理的流程图。 
图11是说明通过本发明的实施方式的文件服务器控制部具备的文件打开功能执行的处理的流程图。 
图12是说明通过本发明的实施方式的文件服务器控制部具备的文件更新功能执行的处理的流程图。 
图13是说明通过本发明的实施方式的文件服务器控制部具备的文件关闭功能执行的处理的流程图。 
图14是说明通过本发明的实施方式的文件服务器控制部具备的文件的锁定释放功能执行的处理的流程图。 
图15是说明本发明的实施方式的缓存服务器在起动时执行的处理的流程图。 
图16是说明通过本发明的实施方式的缓存服务器控制部具备的文件的元数据参照功能执行的处理的流程图。 
图17是说明通过本发明的实施方式的缓存服务器控制部具备的文件的锁定取得功能执行的处理的流程图。 
图18A是说明通过本发明的实施方式的缓存服务器控制部具备的文件打开功能执行的处理的流程图。 
图18B是说明通过本发明的实施方式的缓存服务器控制部具备的文件打开功能执行的处理的流程图。 
图19A是说明通过本发明的实施方式的缓存服务器控制部具备的文件的实数据更新功能执行的处理的流程图。 
图19B是说明通过本发明的实施方式的缓存服务器控制部具备的文件的实数据更新功能执行的处理的流程图。 
图20是说明通过本发明的实施方式的缓存服务器控制部具备的文件的关闭功能执行的处理的流程图。 
图21是说明通过本发明的实施方式的缓存服务器控制部具备的文件的锁定释放功能执行的处理的流程图。 
图22是说明通过本发明的实施方式的缓存管理服务器在起动后执行的处理的流程图。 
图23是说明通过本发明的实施方式的主导管理表控制UI部具备的主导场所变更UI功能以及缓存服务器控制部具备的主导变更功能执行的处理的概要的时序图。 
图24是说明本发明的实施方式的主导场所更新处理执行时的、主导管理表控制UI部执行的处理的详细情况的流程图。 
图25是说明本发明的实施方式的主导场所更新处理执行时的、旧缓存服务器的旧缓存服务器控制部执行的处理的详细情况的流程图。 
图26是说明本发明的实施方式的主导场所更新处理执行时的、新缓存服务器的新缓存服务器控制部执行的处理的详细情况的流程图。 
图27是说明通过本发明的实施方式的缓存管理服务器的主导管理表控制UI部313具备的访问偏倚合计UI功能执行的处理的流程图。 
图28是说明本发明的实施方式的缓存服务器在接收到访问履历的发送命令时执行的处理的流程图。 
图29是说明本发明的实施方式的控制终端具备的时间表的流程图。 
图30是表示具备以往的文件服务器的计算机系统的结构例的框图。 
图31是说明以往的缓存服务器执行的文件参照处理的流程图。 
图32是说明以往的缓存服务器执行的文件参照处理的流程的时序图。 
附图标记说明 
12本地网 
101中央据点 
102据点A 
103据点B 
104控制终端 
105文件服务器 
106缓存服务器 
107缓存管理服务器 
108缓存服务器 
109终端 
110缓存服务器 
111终端 
112广域网 
113本地网 
200CPU 
210主存储部 
211文件保持部 
212锁定管理部 
213文件服务器控制部 
214锁定管理表 
220二次存储部 
230网络接口 
300CPU 
310主存储部 
311缓存管理服务器控制部 
312队列管理部 
313主导管理表控制UI部 
314主导管理表控制部 
315主导管理表 
320二次存储部 
330网络接口 
400CPU 
410主存储部 
411缓存服务器控制部 
412锁定管理部 
413缓存保持部 
414访问履历保持部 
415队列管理部 
416锁定管理表 
417受理停止管理表 
420二次存储部 
430网络接口 
501文件名 
502用户名 
503锁定信息 
601子目录路径名 
701子目录路径名 
702主导据点名 
2900时间表 
具体实施方式
本实施方式是在位于多个据点中的终端经由延迟较大的广域网(WAN)对配置在中央据点中的文件服务器访问的情况下采用了缓存服务器的一例。 
在本实施方式中,将具备包含在文件服务器中的任意的子树中的目录下的文件的实数据及元数据的管理权和锁定管理表的缓存服务器定义为主 导。另外,这里,设管理权的定义为“在关于某个文件的元数据或实数据保存在缓存中的情况下,可以将保存在该缓存中的信息为最新的权限”。 
根据各子树的访问统计的计算结果,在有访问偏倚的情况下,或者在有用户的指示的情况,对该子树能够定义主导。主导的定义通过主导管理表管理。此外,设置用户接口,以便用户能够按照子树定义主导。 
锁定管理表具备缓存服务器,该缓存服务器保存关于作为主导管理的全部子树中的、取得了锁定的文件的锁定信息。 
在对任意的子树变更了主导的情况下,与主导具有的权利一起,将锁定管理表中关于包含在该子树中的文件的行从作为变更前的主导的缓存服务器发送给作为变更后的主导的缓存服务器。 
图1是说明本发明的实施方式的计算机系统的框图。 
计算机系统由中央据点101、据点A102及据点B103构成,中央据点101、据点A102及据点B103经由广域网112相互连接。 
中央据点101包括文件服务器105、缓存服务器106以及缓存管理服务器107。 
文件服务器105保存各种文件,执行该文件的参照及更新处理。另外,在本实施方式中,假设文件为使用全路径唯一识别的。关于文件服务器105的结构,使用图2在后面叙述。 
缓存服务器106保存关于保存在文件服务器105中的文件的缓存。关于缓存服务器106的结构,使用图4在后面叙述。 
缓存管理服务器107管理各缓存服务器保存的缓存。此外,在缓存管理服务器107上连接着控制终端104,管理者使用控制终端104操作缓存管理服务器。关于缓存管理服务器107的结构,使用图3在后面叙述。 
据点A102包括缓存服务器108、以及终端109-1、109-2。缓存服务器108及终端109-1、109-2经由本地网12连接。 
缓存服务器108与缓存服务器106是相同的。 
终端109-1、109-2发送从文件服务器105参照或更新文件的请求。终端109-1、109-2具备CPU(图示省略)、主存储部(图示省略)以及二次存储部(图示省略)。此外,在主存储部(图示省略)中,至少保存有对文件访问的程序。 
据点B103是与据点A102相同的结构。即,据点B103包括缓存服务器110、以及终端111-1、111-2。缓存服务器110、以及终端111-1、111-2经由本地网113连接。 
另外,在图1所示的例子中,据点A102和据点B103是相同的结构,但也可以是不同的结构。 
图2是说明本发明的实施方式的文件服务器105的结构例的框图。 
文件服务器105具备CPU200、主存储部210、二次存储部220以及网络接口230。CPU200、主存储部210、二次存储部220以及网络接口230通过内部总线等相互连接。 
CPU200将保存在主存储部210中各种程序读出,执行所读出的程序。 
主存储部210保存由CPU200执行的程序以及在该程序的执行中需要的信息。主存储部210可以考虑例如存储器等。 
主存储部210保存文件保持部211、锁定管理部212、文件服务器控制部213以及锁定管理表214。 
文件保持部211管理文件的实数据及元数据。文件保持部211具备文件实数据取得功能、文件元数据取得功能、文件实数据更新功能以及文件元数据更新功能。 
文件实数据取得功能以文件的全路径为自变量而取得文件的实数据。文件元数据取得功能以文件的全路径为自变量而取得文件的元数据。 
文件实数据更新功能以文件的全路径和实数据为自变量而更新文件的实数据。文件元数据更新功能以文件的全路径和元数据为自变量而更新文件的元数据。 
锁定管理部212管理文件的锁定状态。另外,在本实施方式中,为了使说明变得简单而对排他锁定进行说明。此外,在本实施方式中,锁定管理部212按照文件的全路径管理该文件的锁定状态。 
锁定管理部212具备锁定取得功能及锁定释放功能。锁定取得功能是以文件的全路径为自变量而取得文件的锁定的功能。即,是用来设为除了取得了锁定的用户以外不能操作文件的状态的功能。锁定释放功能是用来以文件的全路径为自变量而释放文件的锁定的功能。 
文件服务器控制部213控制文件服务器105整体。具体而言,具备文 件的元数据参照功能、文件的锁定取得功能、文件打开功能、文件更新功能、文件关闭功能以及文件的锁定释放功能。 
关于通过各功能实现的处理,使用图8~图14在后面叙述。 
锁定管理表214将保存在文件服务器105中的文件的锁定状态保存。具体而言,将关于保存在文件服务器105中的文件中的、取得了锁定的文件的信息。 
二次存储部220将读出到主存储部210中的程序及各种数据保存。二次存储部220可以考虑例如HDD等。 
网络接口230是用来与其他装置通信的接口,在本实施方式中与广域网112连接。 
另外,保存在主存储部210中的文件保持部211、锁定管理部212及文件服务器控制部213也可以通过硬件实现。 
图3是说明本发明的实施方式的缓存管理服务器107的结构例的框图。 
缓存管理服务器107具备CPU300、主存储部310、二次存储部320及网络接口330。CPU300、主存储部310、二次存储部320及网络接口330通过内部总线等相互连接。 
CPU300将保存在主存储部310中的各种程序读出,执行所读出的程序。 
主存储部310保存由CPU300执行的程序以及该程序的执行所需要的信息。主存储部310可以考虑例如存储器等。 
主存储部310保存缓存管理服务器控制部311、队列管理部312、主导管理表控制UI部313、主导管理表控制部314以及主导管理表315。 
缓存管理服务器控制部311控制缓存管理服务器107整体。缓存管理服务器控制部311具备主导场所变更功能以及访问偏倚合计功能。另外,关于由各功能实现的处理,使用图22~图28在后面叙述。 
队列管理部312管理在与主导管理表控制UI部313或其他缓存服务器108、110之间的通信中使用的队列。 
各部可以根据需要而使用队列管理部312制作新的队列。在本实施方式中,队列通过端口号码识别,但作为其他实装方式,也可以考虑对消息的头赋予作为目的地的队列的识别码而发送、接收侧的队列管理部312使 用该识别码对适当的队列分配的方法。 
主导管理表控制UI部313是用来操作主导管理表315的用户接口。主导管理表控制UI部具备主导场所变更UI功能以及访问偏倚合计UI功能。 
主导场所变更UI功能是提供变更作为任意的子目录的主导的缓存服务器的UI的功能。访问偏倚合计UI是对包含在文件服务器105提供的文件系统的树中的全部子目录提供将各缓存服务器的访问数合计的UI的功能。 
这里,所谓主导,是指保持保存在缓存服务器106、108、110中的缓存(文件的实数据及元数据)的管理权限的缓存服务器106、108、110。主导按照子目录设定。即,对于作为主导的缓存服务器106、108、110,赋予管理保存在该子目录属下的文件的最新的实数据及元数据的权限。 
主导管理表控制部314管理主导管理表315。主导管理表控制部314按照来自其他结构部或缓存服务器106、108、110的请求,对主导管理表315执行处理。具体而言,主导管理表控制部314具备主导管理表发送功能。主导管理表发送功能是发送主导管理表315的功能。 
主导管理表315保存作为主导而保持管理权限的子目录与包括作为主导的缓存服务器106、108、110的据点的对应关系。主导管理表315使用图7在后面叙述。 
另外,主导管理表315也可以保存到二次存储部320中、在需要的情况下读出到主存储部310中。此外,在主导管理表315的数据量增加的情况下,也可以从主存储部310储存到二次存储部320中。 
二次存储部320将读出到主存储部310中的程序以及各种数据保存。二次存储部320可以考虑例如HDD等。 
网络接口330是用来与其他装置通信的接口,在本实施方式中与广域网112连接。 
另外,保存在主存储部310中的缓存管理服务器控制部311、队列管理部312、主导管理表控制UI部313以及主导管理表控制部314也可以通过硬件实现。 
图4是说明本发明的实施方式的缓存服务器108的结构例的框图。 
缓存服务器108具备CPU400、主存储部410、二次存储部420及网络 接口430。CPU400、主存储部410、二次存储部420及网络接口430通过内部总线等相互连接。 
CPU400将保存在主存储部410中的各种程序读出,执行所读出的程序。 
主存储部410将由CPU400执行的程序以及在该程序的执行中需要的信息保存。主存储部410可以考虑例如存储器等。 
主存储部410保存缓存服务器控制部411、锁定管理部412、缓存保持部413、访问履历保持部414、队列管理部415、锁定管理表416以及受理停止管理表417。 
缓存服务器控制部411控制缓存服务器108整体。缓存服务器控制部411具备文件的元数据参照功能、文件的锁定取得功能、文件打开功能、文件的实数据更新功能、文件关闭功能以及文件的锁定释放功能。另外,关于由各功能实现的处理的详细情况,使用图15~图21在后面叙述。 
进而,缓存服务器控制部411具备用来执行变更主导的处理的主导变更功能。 
锁定管理部412具备与文件服务器105的锁定管理部212相同的功能。缓存保持部413将文件的实数据及元数据保存。访问履历保持部414保存文件的访问履历。 
队列管理部415具备与缓存管理服务器107的队列管理部312相同的功能,还具备将锁定的状态写出到锁定管理表416中的功能、和使任意的文件的锁定无效化的功能。 
将锁定的状态写出到锁定管理表416中的功能,是在取得了锁定的情况下、对锁定管理表416追加关于该锁定的信息、此外在锁定被释放的情况下从锁定管理表416将关于该锁定的信息删除的功能。 
锁定的无效化功能是不对锁定管理表416加以干预、从锁定管理部412的内部状态中将关于任意的文件的行删除的功能。 
锁定管理表416将关于作为主导的缓存服务器108管理的文件中的、取得了锁定的文件的信息保存。另外,锁定管理表416使用图5在后面叙述。 
受理停止管理表417在变更作为主导的缓存服务器的情况下、将关于 对该作为主导的缓存服务器管理的子目录的访问的信息保存。另外,受理停止管理表417使用图6在后面叙述。 
二次存储部420保存读出到主存储部410中的程序及各种数据。二次存储部420可以考虑例如HDD等。 
网络接口430是用来与其他装置通信的接口,在本实施方式中与广域网112连接。 
缓存服务器106及缓存服务器110是与缓存服务器108相同的结构,所以省略说明。 
图5是表示本发明的实施方式的锁定管理表416的一例的说明图。 
锁定管理表416包括文件名501、用户名502及锁定信息503。 
文件名501是取得了锁定的文件的名称。用户名502是识别取得了对应于文件名501的文件的锁定的用户的信息。例如,用户名502可以考虑是操作终端的用户名。 
锁定信息503是所取得的锁定的识别信息。锁定的识别信息可以考虑例如锁定的序列号等。 
另外,文件服务器105中的锁定管理表214相当于将各缓存服务器106、108、110具备的锁定管理表416全部相加后的表。 
图6是表示本发明的实施方式的受理停止管理表417的一例的说明图。 
受理停止管理表417包括子目录路径名601。 
子目录路径名601是缓存服务器106、108、110为主导管理的子目录路径的名称。在子目录路径名601中,保存在主导移动时有访问的文件的子目录路径名。 
图7是表示本发明的实施方式的主导管理表315的一例的说明图。 
主导管理表315包括子目录路径名701及主导据点名702。 
子目录路径名701是缓存服务器106、108、110为主导管理的子目录路径的名称。主导据点名702是用来识别包括作为主导管理保存在子目录路径名701中的子目录的缓存服务器的据点的信息。 
在以下的说明中,在由文件服务器105使用的文件共享协议中,对终端具备的文件访问的程序通过以下的步骤动作。 
在第1步骤中,终端取得作为对象的文件的锁定。在第2步骤中,终 端将该文件打开(开)。在第3步骤中,终端将该文件更新任意的次数。在第4步骤中,终端将该文件关闭(关)。在第5步骤中,终端将该文件的锁定释放。 
根据文件共享协议,有在与文件打开命令的同时将文件锁定、或在与文件关闭命令的同时将文件的锁定释放等的变形。但是,上述方法可以通过同时执行第1步骤和第2步骤、同时执行第4步骤和第5步骤等、通过上述步骤的简单的组合来实现。 
另外,在本实施方式中,在第1步骤中取得的锁定为排他锁定。即,对于如果某个用户取得排他锁定则其他用户不能取得排他锁定的、排他的访问权进行说明。因而,在用户不能取得排他锁定的情况下,也变得不能将文件打开,所以结果不能够进行文件的参照。 
另外,一般在锁定中有共享锁定或排他锁定等多个种类。例如,还有锁定的组合的方法,以使某个用户取得了共享锁定的文件能够由别的用户再施加共享锁定、某个用户取得了排他锁定的文件不能由别的用户取得共享锁定。 
锁定的管理方法、将锁定信息传递给用户的方法以及锁定的组合的管理方法是公知技术,所以省略说明。 
此外,本发明不论使用怎样的锁定的管理方法、将锁定信息传递给用户的方法以及锁定的组合的管理方法都能够实施。 
此外,在本实施方式中,文件服务器105的锁定信息由锁定管理部212一元地管理。 
此外,执行对文件访问的一般的程序的终端为了取得对文件尺寸等文件访问的程序的动作所需要的信息,在取得文件的锁定之前参照文件的元数据。 
接着,对文件服务器105进行说明。 
图8是说明本发明的实施方式的文件服务器105在起动后执行的处理的流程图。 
文件服务器105开始起动后处理(S801),将锁定管理部212初始化(S802)。 
接着,文件服务器105从缓存服务器106、108、110接收命令(S803), 并执行接收到的命令(S804)。即,执行对应于所取出的命令的处理。文件服务器105反复执行S803~S804的处理。 
以下,利用图9~图14对文件服务器105的文件服务器控制部213具备的各功能进行说明。 
图9是说明通过本发明的实施方式的文件服务器控制部213具备的文件的元数据参照功能执行的处理的流程图。 
图9所示的处理是在S803中接收到的命令是元数据参照处理的执行命令的情况下执行的处理。 
在S803中接收到的命令中,包括参照元数据的文件的全路径、参照该元数据的用户的用户名以及锁定的序列号。 
在以下的说明中,设参照元数据的文件为文件X,此外,设参照元数据的用户的用户名为用户Y。 
取得了包含于在S803中接收到的命令中的文件X的全路径和用户Y的文件服务器控制部213开始元数据参照处理(S901),从文件保持部211取得文件X的元数据(S902)。另外,在元数据中,包含有表示文件的访问权限(许可)的信息。 
文件服务器控制部213判断用户Y是否具有文件X的访问权(S903)。具体而言,文件服务器控制部213参照包含在所取得的元数据中的文件的访问权限,判断用户Y是否具有该文件的访问权限。 
在判断为用户Y具有文件X的访问权的情况下,文件服务器控制部213对发送在S803中接收到的命令的缓存服务器106、108、110发送文件X的元数据,结束处理(S904)。 
在判断为用户Y不具有文件X的访问权的情况下,文件服务器控制部213对用户Y发送错误,结束处理(S905)。 
另外,作为文件服务器105执行用户的访问权的认证的变形,也可以在S803中接收到的命令中还包括认证鍵或口令等的认证所需要的信息。此外,对文件服务器105的认证处理也可以仅在初次访问时的执行。在此情况下,由于在初次访问时执行使用认证专用命令的认证,所以在S803中接收到的命令中也可以不包含用户名。在以下说明的处理中,在用户的访问权的认证处理中,使用哪种变形都可以。 
图10是说明通过本发明的实施方式的文件服务器控制部213具备的文件的锁定取得功能执行的处理的流程图。 
图10所示的处理是当在S803中接收到的命令是锁定取得处理的执行命令的情况下执行的处理。 
在S803中接收到的命令中,包括被取得锁定的文件的全路径、以及取得该文件的锁定的用户的用户名。 
在以下的说明中,设被取得锁定的文件为文件X,设取得该文件X的锁定的用户的用户名为用户Y。 
取得了包含于在S803中接收到的命令中的文件X的全路径和用户Y的文件服务器控制部213开始锁定取得处理(S1001),从文件保持部211取得文件X的元数据(S1002)。 
文件服务器控制部213判断用户Y是否具有文件X的访问权(S1003)。该处理是与S903相同的处理。 
在判断为用户Y不具有文件X的访问权的情况下,文件服务器控制部213对用户Y返回错误,结束处理(S1008)。 
在判断为用户Y具有文件X的访问权的情况下,文件服务器控制部213取得文件X的锁定(S1004)。具体而言,文件服务器控制部213对锁定管理部212指示锁定的取得,接受到该指示的锁定管理部212使用锁定取得功能执行锁定的取得。这里,锁定管理部212参照锁定管理表214,在其他用户没有取得文件X的锁定的情况下对锁定管理表214追加用户Y的行,设为锁定取得成功。另一方面,在已经由其他用户取得了文件X的锁定的情况下,锁定管理部212不将用户Y的行追加到锁定管理表214中,设为锁定取得失败。 
文件服务器控制部213判断是否能够取得锁定(S1005)。即,判断是否其他用户已经取得了文件X的锁定。 
具体而言,在步骤S1004执行后,文件服务器控制部213从锁定管理部212接受锁定的取得可否。 
在判断为不能取得锁定的情况下,文件服务器控制部213对用户Y发送错误,结束处理(S1008)。 
在判断为能够取得锁定的情况下,文件服务器控制部213将在S1002 中取得的文件X的元数据更新(S1006),将锁定信息发送给用户Y,结束处理(S1007)。 
这里,发送的锁定信息是用来在文件服务器105与用户Y之间确认取得了锁定的鍵对,作为该鍵而使用连续号码或随机数值等。 
在本实施方式中,在文件X的元数据的更新中,将最终访问日时更新。以下,在本实施方式中,只要没有特别拒绝,元数据的更新就指最终访问日时的更新。另外,作为将文件X的元数据更新处理的变形,也可以将最终访问日时和最终访问用户更新,也可以将最终访问日时的尺寸分为最终更新日时和最终参照日时。本发明使用哪种变形都可以。 
图11是说明通过本发明的实施方式的文件服务器控制部213具备的文件打开功能执行的处理的流程图。 
图11所示的处理是在S803中接收到的命令是文件打开处理的情况下执行的处理。 
在S803中接收到的命令中,包括被打开的文件的全路径、识别打开该文件的用户的信息、以及被该用户赋予的锁定信息。 
在以下的说明中,设被打开的文件为文件X,设打开该文件X的用户的用户名为用户Y。 
取得了包含于在S803中接收到的命令中的文件X的全路径、用户Y以及锁定信息的文件服务器控制部213开始文件打开处理(S1101),判断所取得的锁定信息是否是适当的(S1102)。 
具体而言,文件服务器控制部213参照锁定管理表214,判断所取得的锁定信息是否与对应于文件X的锁定信息503相同。 
在判断为所取得的锁定信息不适当的情况下,文件服务器控制部213对用户Y发送错误,结束处理(S1106)。 
在判断为所取得的锁定信息适当的情况下,文件服务器控制部213从文件保持部211取得文件X的实数据(S1103),进而将文件X的元数据更新(S1104)。 
文件服务器控制部213对用户Y发送所取得的文件X的实数据,结束处理(S1105)。 
图12是说明通过本发明的实施方式的文件服务器控制部213具备的文 件更新功能执行的处理的流程图。 
图12所示的处理是在S803中接收到的命令是文件更新处理的执行命令的情况下执行的处理。 
在S803中接收到的命令中,包括被更新的文件的全路径、更新该文件的用户的用户名、以及锁定信息。 
在以下的说明中,设被更新的文件为文件X,设更新该文件X的用户的用户名为用户Y。 
取得了包含于在S803中接收到的命令中的文件X的全路径、用户Y以及锁定信息的文件服务器控制部213开始文件更新处理(S1201)、判断所取得的锁定信息是否是适当的(S1202)。该判断是与S1102相同的处理。 
在判断为所取得的锁定信息不适当的情况下,文件服务器控制部213对用户Y发送错误,结束处理(S1206)。 
在判断所取得的锁定信息是适当的情况下,文件服务器控制部213将文件X的实数据更新(S1203),进而,将文件X的元数据更新(S1204)。 
文件服务器控制部213将表示更新处理成功的更新成功发送给用户Y,结束处理(S1205)。 
图13是说明通过本发明的实施方式的文件服务器控制部213具备的文件关闭功能执行的处理的流程图。 
图13所示的处理是在S803中接收到的命令是文件关闭处理的执行命令的情况下执行的处理。 
在S803中接收到的命令中,包括被关闭的文件的全路径、将该文件关闭的用户的用户名、以及被该用户赋予的锁定信息。 
在以下的说明中,设被更新的文件为文件X、此外设更新文件X的用户的用户名为用户Y。 
取得了包含于在S803中接收到的命令中的文件X的全路径、用户Y以及锁定信息的文件服务器控制部213开始文件关闭处理(S1301),判断所取得的锁定信息是否适当(S1302)。该判断是与S1102相同的处理。 
在判断所取得的锁定信息为适当的情况下,文件服务器控制部213将文件X的元数据更新(S1303),将表示文件关闭处理已成功的关闭成功发送给用户Y,结束处理(S1304)。 
在判断所取得的锁定信息为不适当的情况下,文件服务器控制部213对用户Y发送错误,结束处理(S1305)。 
图14是说明通过本发明的实施方式的文件服务器控制部213具备的文件的锁定释放功能执行的处理的流程图。 
图14所示的处理是在S803中接收到的命令是锁定释放处理的情况下执行的处理。 
在S803中接收到的命令中,包括被关闭的文件的全路径、将该文件关闭的用户的用户名、以及被该用户赋予的锁定信息。 
在以下的说明中,设被更新的文件为文件X,此外设更新文件X的用户的用户名为用户Y。 
取得了包含于在S803中接收到的命令中的文件X的全路径、用户Y以及锁定信息的文件服务器控制部213开始锁定释放处理(S1401),判断所取得的锁定信息是否是适当的(S1402)。该判断是与S1102相同的处理。 
在判断所取得的锁定信息为不适当的情况下,文件服务器控制部213对用户Y发送错误,结束处理(S1406)。 
在判断所取得的锁定信息为适当的情况下,文件服务器控制部213将文件X的元数据更新(S1403),释放文件X的锁定(S1404)。 
文件服务器控制部213将表示锁定释放处理已成功的锁定释放成功信息发送给用户,结束处理(S1405)。 
接着,对缓存服务器108进行说明。另外,缓存服务器106、110与缓存服务器108是相同的,所以省略说明。 
图15是说明本发明的实施方式的缓存服务器108在起动时执行的处理的流程图。 
缓存服务器108开始起动后处理(S1501),将访问履历保持部414、队列管理部415、锁定管理表416以及受理停止管理表417初始化(S1502)。 
在初始化处理中,缓存服务器108对队列管理部415指示命令队列和受理停止队列的制作。 
命令队列是用来从终端109、111或其他缓存服务器受理命令的队列。停止队列是用来临时保持从终端109、111或其他缓存服务器向停止了访问的受理的子目录路径发送的命令的队列。 
缓存服务器108从命令队列取出命令(S1503),判断所取出的命令是否是向受理停止中的子目录路径的访问(S1504)。 
具体而言,缓存服务器108参照受理停止管理表417,判断由所取出的命令访问的文件的路径是否是包含在保存于子目录路径名601中的子目录路径中。在判断为该文件的路径包含在保存于子目录路径名601中的子目录路径中的情况下,判断为所取出的命令是向受理停止中的子目录路径的访问。 
例如,在受理停止管理表417的子目录路径名601中保存有“/a/b”、由所取出的命令访问的文件的全路径是“/a/b/c.txt”的情况下,判断为该命令是向受理停止中的子目录路径的访问。 
在判断为所取出的命令是向受理停止中的子目录路径的访问的情况下,缓存服务器108将该命令追加到受理停止队列的末尾(S1505),返回S1503,重复执行S1503~S1506的处理。 
在判断为所取出的命令是向受理停止中的子目录路径的访问的情况下,缓存服务器108新生成线程并执行该命令(S1506),返回S1503,重复执行S1503~S1506的处理。即,执行对应于所取出的命令的处理。 
另外,在执行所取出的命令的情况下,也可以除了新生成线程以外还预先生成多个线程,不使用所生成的线程而使用线程池。由此,在所取出的命令的执行时每次生成新的线程的成本较高的情况下能够削减成本。 
接着,使用图16~图21,对缓存服务器108的缓存服务器控制部411具备的各功能进行说明。 
图16是说明通过本发明的实施方式的缓存服务器控制部411具备的文件的元数据参照功能执行的处理的流程图。 
图16所示的处理是在S1503中取出的命令是元数据参照处理的执行命令的情况下执行的处理。 
在S1503中取出的命令中,包括参照元数据的文件的全路径、参照该元数据的用户的用户名以及该用户位于的据点的据点名。 
在以下的说明中,设参照元数据的文件为文件X,设参照该文件X的用户的用户名为用户Y,设该用户Y位于的据点的据点名为据点Z。 
取得了包含于在S1503中取出的命令中的文件X的全路径、用户Y及 据点Z的缓存服务器控制部411开始元数据参照处理(S1601)。另外,在S1503中取出的命令中,也可以不包括据点名,在此情况下,使据点名为缓存服务器108自身位于的据点的据点名而执行处理。 
缓存服务器控制部411从缓存管理服务器107取得主导管理表315(S1602)。 
具体而言,缓存服务器控制部411对缓存管理服务器107的主导管理表控制部314请求主导管理表315的发送,接受到了该请求的主导管理表控制部314接收使用主导管理表发送功能发送的主导管理表315。 
取得主导管理表315的理由是因为,在本实施方式中,设想了频繁地变更主导的情况,所以需要在处理的开始时确认主导。 
另外,作为主导管理表315的管理方法,可以考虑缓存服务器控制部411将接收到的主导管理表315临时保持、当从缓存管理服务器107接受到主导管理表315被更新的通知时使主导管理表315的缓存无效化的方法。 
在此情况下,缓存服务器控制部411也可以在需要主导管理表315时再次从缓存管理服务器107取得主导管理表315,也可以在接受到主导管理表315被更新的通知之后、从缓存管理服务器107取得主导管理表315。 
缓存服务器控制部411参照所取得的主导管理表315,判断文件X的主导是否是自据点(S1603)。 
具体而言,执行以下这样的判断处理。 
首先,缓存服务器控制部411判断文件X的全路径是否包含在保存于子目录路径名701中的子目录中。 
接着,在判断文件X的全路径包含在保存于子目录路径名701中的子目录中的情况下,缓存服务器控制部411参照主导管理表315,判断对应于该子目录的行的主导据点名702是否是自据点的据点名。 
在判断为文件X的主导是自据点的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的元数据(S1604)。 
在判断为在缓存保持部413中没有保存有文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的元数据(S1609),将所取得的文件X的元数据保存到缓存保持部413中(S1610),前进到S1605。 
在判断为在缓存保持部413中保存有文件X的元数据的情况下,缓存服务器控制部411从缓存保持部413取得文件X的元数据(S1605)。 
缓存服务器控制部411判断用户Y是否具有文件X的访问权(S1606)。 
在判断为用户Y不具有文件X的访问权的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S1613)。 
在判断为用户Y具有文件X的访问权的情况下,缓存服务器控制部411记录表示从据点Z参照了文件X的元数据的访问履历(S1607)。具体而言,缓存服务器控制部411将访问履历保存到访问履历保持部414中。 
缓存服务器控制部411将文件X的元数据发送给文件服务器105,结束处理(S1608)。 
在S1603中,在判断文件X的主导不是自据点的情况下,缓存服务器控制部411参照主导管理表315,对作为文件X的主导的其他缓存服务器请求元数据参照处理的执行(S1611)。 
具体而言,缓存服务器控制部411对作为文件X的主导的其他缓存服务器发送包括文件X的全路径、用户Y及据点Z的元数据参照处理的执行请求。接收到该执行请求的、作为文件X的主导的其他缓存服务器执行S1601~S1613的处理,将该处理的执行结果发送给缓存服务器控制部411。 
缓存服务器控制部411判断从作为文件X的主导的其他缓存服务器发送的处理结果是否是错误(S1612)。 
在判断从作为文件X的主导的其他缓存服务器发送的处理结果不是错误的情况下,缓存服务器控制部411前进到S1608。 
在判断从作为文件X的主导的其他缓存服务器发送的处理结果是错误的情况下,缓存服务器控制部411前进到S1613。 
图17是说明通过本发明的实施方式的缓存服务器控制部411具备的文件的锁定取得功能执行的处理的流程图。 
图17所示的处理是在S1503中取出的命令是锁定取得处理的执行命令的情况下执行的处理。 
在S1503中取出的命令中,包括参照元数据的文件的全路径、参照该元数据的用户的用户名以及该用户位于的据点的据点名。 
在以下的说明中,设被取得锁定的文件为文件X,设取得该文件X的 锁定的用户的用户名为用户Y,设该用户Y位于的据点的据点名为据点Z。 
取得了包含于在S1503中取出的命令中的文件X的全路径、用户Y及据点Z的缓存服务器控制部411开始锁定取得处理(S1701)。另外,在S1503中取出的命令中,也可以不包括据点名,在此情况下,使据点名为缓存服务器108自身位于的据点的据点名而执行处理。 
缓存服务器控制部411从缓存管理服务器107取得主导管理表315(S1702)。另外,该处理与S1602是相同的。 
缓存服务器控制部411参照所取得的主导管理表315,判断文件X的主导是否是自据点(S1703)。另外,该处理是与S1603相同的处理。 
在判断文件X的主导是自据点的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的元数据(S1704)。另外,该处理是与S1604相同的处理。 
在判断在缓存保持部413中没有保存文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的元数据(S1712),将所取得的文件X的元数据保存到缓存保持部413中(S1713),前进到S1706。另外,S1712及S1713的处理是与S1609及S1610相同的处理。 
在判断为在缓存保持部413中保存有文件X的元数据的情况下,缓存服务器控制部411从缓存保持部413取得文件X的元数据(S1705),判断用户Y是否具有文件X的访问权(S1706)。S1705及S1706的处理是与S1605及S1606相同的处理。 
在判断为用户Y不具有文件X的访问权的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S1716)。该处理是与S1613相同的处理。 
在判断为用户Y具有文件X的访问权的情况下,缓存服务器控制部411取得文件X的锁定(S1707)。具体而言,缓存服务器控制部411对锁定管理部412指示锁定取得。 
接受到锁定取得的指示的锁定管理部412使用锁定取得功能取得文件X的锁定。具体而言,锁定管理部412参照锁定管理表416,在其他用户没有取得文件X的锁定的情况下将用户Y的行追加到锁定管理表416中,设为锁定取得成功。另一方面,在已经由其他用户取得了文件X的锁定的情 况下,锁定管理部412不将用户Y的行追加到锁定管理表416中,设为锁定取得失败。 
缓存服务器控制部411判断是否能够锁定(S1708)。即,判断其他用户是否已经取得了文件X的锁定。 
具体而言,在步骤S1707执行后,文件服务器控制部213从锁定管理部212接受锁定的取得可否。 
在判断为不能取得锁定的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S1716)。 
在判断为能够取得锁定的情况下,缓存服务器控制部411更新文件X的元数据(S1709)。即,将最终访问日时更新。 
缓存服务器控制部411记录表示从据点Z取得了文件X的锁定的访问履历(S1710)。另外,该处理是与S1607相同的处理。 
缓存服务器控制部411将文件X的元数据发送给文件服务器105,结束处理(S1711)。 
在S1703中判断为文件X的主导不是自据点的情况下,缓存服务器控制部411参照主导管理表315,对作为文件X的主导的其他缓存服务器请求锁定取得处理的执行(S1714)。 
具体而言,缓存服务器控制部411对作为文件X的主导的其他缓存服务器发送包括文件X的全路径、用户Y以及据点Z的锁定取得处理的执行请求。接收到该执行请求的、作为文件X的主导的其他缓存服务器执行S1701~S1716的处理,将该处理的执行结果发送给缓存服务器控制部411。 
缓存服务器控制部411判断从作为文件X的主导的其他缓存服务器发送的处理结果是否是错误的(S1715)。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果不是错误的情况下,缓存服务器控制部411前进到S1711。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果是错误的情况下,缓存服务器控制部411前进到S1716。 
另外,作为用来使在后面叙述的主导场所更新处理的S2014高速化的变形,有在实数据更新处理执行后、将保存在缓存服务器中的元数据发送给文件服务器105的方法。 
图18A及图18B是说明通过本发明的实施方式的缓存服务器控制部411具备的文件打开功能执行的处理的流程图。 
图18A及图18B所示的处理是在S1503中取出的命令是文件打开处理的执行命令的情况下执行的处理。 
在S1503中取出的命令中,包括被打开的文件的全路径、识别将该文件打开的用户的信息、关于该用户位于的据点的信息及锁定信息。 
在以下的说明中,设被取得锁定的文件为文件X,设取得该文件X的锁定的用户的用户名为用户Y,设该用户Y位于的据点的据点名为据点Z。 
取得了包含于在S1503中取出的命令中的文件X的全路径、用户Y、据点Z及锁定信息的缓存服务器控制部411开始文件打开处理(S1801)。另外,在S1503中取出的命令中,也可以不包括据点名,在此情况下,使据点名为缓存服务器108自身位于的据点的据点名而执行处理。 
缓存服务器控制部411取得从缓存管理服务器107到主导管理表315(S1802)。另外,该处理与S1602相同。 
缓存服务器控制部411参照所取得的主导管理表315,判断文件X的主导是否是自据点(S1803)。另外,该处理是与S1603相同的处理。 
在判断为文件X的主导是自据点的情况下,缓存服务器控制部411判断所取得的锁定信息是否是适当的(S1804)。 
具体而言,使用所取得的文件X的全路径,参照锁定管理表416,判断对应于文件X的全路径的行的锁定信息503是否与所取得的锁定信息一致。 
在判断所取得的锁定信息为不适当的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S1817)。该处理是与S1613相同的处理。 
在判断所取得的锁定信息为适当的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的实数据(S1805)。 
在判断为在缓存保持部413中没有保存文件X的实数据的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的元数据(S1810)。另外,该处理是与S1604相同的处理。 
在判断为在缓存保持部413中没有保存文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的元数据(S1813),将 所取得的文件X的元数据保存到缓存保持部413中(S1814),前进到S1811。另外,S1813及S1814的处理是与S1609及S1610相同的处理。 
在判断为在缓存保持部413中保存有文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的实数据(S1811),将所取得的文件X的元数据保存到缓存保持部413中(S1812),前进到S1806。 
在S1805中,在判断为在缓存保持部413中保存有文件X的实数据的情况下,缓存服务器控制部411从缓存保持部413取得文件X的实数据(S1806)。 
缓存服务器控制部411将文件X的元数据更新(S1807)。该处理是与S1709相同的处理。 
缓存服务器控制部411记录表示从据点Z打开了文件X的访问履历(S1808)。另外,该处理是与S1607相同的处理。 
缓存服务器控制部411将文件X的实数据发送给文件服务器105,结束处理(S1809)。 
在S1803中,在判断为文件X的主导不是自据点的情况下,缓存服务器控制部411参照主导管理表315,对作为文件X的主导的其他缓存服务器请求文件打开处理的执行(S1815)。 
具体而言,缓存服务器控制部411对作为文件X的主导的其他缓存服务器发送包括文件X的全路径、用户Y、据点Z及锁定信息的锁定取得处理的执行请求。接收到该执行请求的、作为文件X的主导的其他缓存服务器执行S1801~S1817的处理,将该处理的执行结果发送给缓存服务器控制部411。 
缓存服务器控制部411判断从作为文件X的主导的其他缓存服务器发送的处理结果是否是错误的(S1816)。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果不是错误的情况下,缓存服务器控制部411前进到S1809。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果是错误的情况下,缓存服务器控制部411前进到S1817。 
另外,作为用来使后面叙述的主导场所更新处理的S2014高速化的变形,有在实数据更新处理执行后、将保存在缓存服务器中的元数据发送给 文件服务器105的方法。 
图19A及图19B是说明通过本发明的实施方式的缓存服务器控制部411具备的文件的实数据更新功能执行的处理的流程图。 
图19A及图19B所示的处理是在S1503中取出的命令是实数据更新处理的执行命令的情况下执行的处理。 
在S1503中取出的命令中,包括被打开的文件的全路径、将该文件打开的用户的用户名、该用户位于的据点的据点名及锁定信息。 
在以下的说明中,设被取得锁定的文件为文件X,设取得该文件X的锁定的用户的用户名为用户Y,设该用户Y位于的据点的据点名为据点Z。 
取得了包含于在S1503中取出的命令中的文件X的全路径、用户Y、据点Z及锁定信息的缓存服务器控制部411开始实数据更新处理(S1901)。另外,在S1503中取出的命令中也可以不包括据点名,在此情况下,使据点名为缓存服务器108自身位于的据点的据点名而执行处理。 
缓存服务器控制部411从缓存管理服务器107取得主导管理表315(S1902)。另外,该处理与S1602是相同的。 
缓存服务器控制部411参照所取得的主导管理表315,判断文件X的主导是否是自据点(S1903)。另外,该处理是与S1603相同的处理。 
在判断为文件X的主导是自据点的情况下,缓存服务器控制部411判断所取得的锁定信息是否是适当的(S1904)。该处理是与S1804相同的处理。 
在判断所取得的锁定信息为不适当的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S1917)。该处理是与S1613相同的处理。 
在判断所取得的锁定信息为适当的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的实数据(S1905)。 
在判断为在缓存保持部413中没有保存文件X的实数据的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的元数据(S1910)。另外,该处理是与S1604相同的处理。 
在判断为在缓存保持部413中没有保存文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的元数据(S1913),将所取得的文件X的元数据保存到缓存保持部413中(S1914),前进到S1911。 另外,S1913及S1914的处理是S1609及S1610相同的处理。 
在判断为在缓存保持部413中保存有文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的实数据(S1911),将所取得的文件X的元数据保存到缓存保持部413中(S1912),前进到S1906。另外,S1911及S1912的处理是与S1811及S1812相同的处理。 
在S1905中,在判断为在缓存保持部413中保存有文件X的实数据的情况下,缓存服务器控制部411将保存在缓存保持部413中的文件X的实数据更新(S1906)。 
缓存服务器控制部411将文件X的元数据更新(S1907)。该处理是与S1709相同的处理。 
缓存服务器控制部411记录表示从据点Z更新了文件X的访问履历(S1908)。另外,该处理是与S1607相同的处理。 
缓存服务器控制部411将文件X的实数据发送给文件服务器105,结束处理(S1909)。 
在S1903中,在判断为文件X的主导不是自据点的情况下,缓存服务器控制部411参照主导管理表315,对作为文件X的主导的其他缓存服务器请求文件打开处理的执行(S1915)。 
具体而言,缓存服务器控制部411对作为文件X的主导的其他缓存服务器发送包括文件X的全路径、用户Y、据点Z及锁定信息的实数据更新处理的执行请求。接收到该执行请求的、作为文件X的主导的其他缓存服务器执行S1901~S1917的处理,将该处理的执行结果发送给缓存服务器控制部411。 
缓存服务器控制部411判断从作为文件X的主导的其他缓存服务器发送的处理结果是否是错误的(S1916)。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果不是错误的情况下,缓存服务器控制部411前进到S1909。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果是错误的情况下,缓存服务器控制部411前进到S1917。 
另外,作为用来使后面叙述的主导场所更新处理的S2014高速化的变形,有在实数据更新处理执行后、将保存在缓存服务器中的元数据发送给 文件服务器105的方法。 
图20是说明通过本发明的实施方式的缓存服务器控制部411具备的文件的关闭功能执行的处理的流程图。 
图20所示的处理是在S1503中取出的命令是文件关闭处理的执行命令的情况下执行的处理。 
在S1503中取出的命令中,包括被关闭的文件的全路径、将文件关闭的用户的用户名、该用户位于的据点的据点名以及锁定信息。 
在以下的说明中,设被关闭的文件为文件X,设将该文件X关闭的用户的用户名为用户Y,设该用户Y位于的据点的据点名为据点Z。 
取得了包含于在S1503中取出的命令中的文件X的全路径、用户Y、据点Z及锁定信息的缓存服务器控制部411开始文件关闭处理(S2001)。另外,在S1503中取出的命令中也可以不包括据点名,在此情况下,使据点名为缓存服务器108自身位于的据点的据点名而执行处理。 
缓存服务器控制部411从缓存管理服务器107取得主导管理表315(S2002)。另外,该处理与S1602相同。 
缓存服务器控制部411参照所取得的主导管理表315,判断文件X的主导是否是自据点(S2003)。另外,该处理是与S1603相同的处理。 
在判断为文件X的主导是自据点的情况下,缓存服务器控制部411判断所取得的锁定信息是否是适当的(S2004)。另外,该处理是与S1804相同的处理。 
在判断所取得的锁定信息为不适当的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S2013)。另外,该处理是与S1613相同的处理。 
在判断所取得的锁定信息为适当的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的元数据(S2005)。另外,该处理是与S1604相同的处理。 
在判断为在缓存保持部413中没有保存文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的元数据(S2009),将所取得的文件X的元数据保存到缓存保持部413中(S2010),前进到S2006。另外,S2009及S2010的处理是与S1609及S1610相同的处理。 
在判断为在缓存保持部413中保存有文件X的元数据的情况下,缓存服务器控制部411将文件X的元数据更新(S2006)。另外,该处理是与S1709相同的处理。 
缓存服务器控制部411记录表示从据点Z关闭了文件X的访问履历(S2007)。另外,该处理是与S1607相同的处理。 
缓存服务器控制部411将表示文件关闭处理完成的文件关闭完成发送给用户,结束处理(S2008)。 
在S2003中,在判断为文件X的主导不是自据点的情况下,缓存服务器控制部411参照主导管理表315,对作为文件X的主导的其他缓存服务器请求文件关闭处理的执行(S2011)。 
具体而言,缓存服务器控制部411对作为文件X的主导的其他缓存服务器发送包括文件X的全路径、用户Y、据点Z及锁定信息的文件关闭处理的执行请求。接收到该执行请求的、作为文件X的主导的其他缓存服务器执行S2001~S2013的处理,将该处理的执行结果发送给缓存服务器控制部411。 
缓存服务器控制部411判断从作为文件X的主导的其他缓存服务器发送的处理结果是否是错误的(S2012)。 
在判断从作为文件X的主导的其他缓存服务器发送的处理结果不是错误的情况下,缓存服务器控制部411前进到S2008。 
在判断从作为文件X的主导的其他缓存服务器发送的处理结果是错误的情况下,缓存服务器控制部411前进到S2013。 
另外,作为用来使后面叙述的主导场所更新处理的S2014高速化的变形,有在实数据更新处理执行后、将保存在缓存服务器中的元数据发送给文件服务器105的方法。 
图21是说明通过本发明的实施方式的缓存服务器控制部411具备的文件的锁定释放功能执行的处理的流程图。 
图21所示的处理是在S1503中取出的命令是锁定释放处理的执行命令的情况下执行的处理。 
在S1503中取出的命令中,包括锁定被释放的文件的全路径、将文件的锁定释放的用户的用户名、该用户位于的据点的据点名及锁定信息。 
在以下的说明中,设锁定被释放的文件为文件X,设将该文件X的锁定释放的用户的用户名为用户Y,设该用户Y位于的据点的据点名为据点Z。 
取得了包含于在S1503中取出的命令中的文件X的全路径、用户Y、据点Z及锁定信息的缓存服务器控制部411开始锁定释放处理(S2101)。另外,在S1503中取出的命令中也可以不包括据点名,在此情况下,使据点名为缓存服务器108自身位于的据点的据点名而执行处理。 
缓存服务器控制部411从缓存管理服务器107取得主导管理表315(S2102)。另外,该处理与S1602是相同的。 
缓存服务器控制部411参照所取得的主导管理表315,判断文件X的主导是否是自据点(S2103)。另外,该处理是与S1603相同的处理。 
在判断为文件X的主导是自据点的情况下,缓存服务器控制部411判断所取得的锁定信息是否是适当的(S2104)。另外,该处理是与S1804相同的处理。 
在判断为所取得的锁定信息为不适当的情况下,缓存服务器控制部411对用户Y发送错误,结束处理(S2114)。另外,该处理是与S1613相同的处理。 
在判断所取得的锁定信息为适当的情况下,缓存服务器控制部411判断在缓存保持部413中是否保存有文件X的元数据(S2105)。另外,该处理是与S1604相同的处理。 
在判断为在缓存保持部413中没有保存文件X的元数据的情况下,缓存服务器控制部411从文件服务器105取得文件X的元数据(S2110),将所取得的文件X的元数据保存到缓存保持部413中(S2111),前进到S2106。另外,S2110及S2111的处理是与S1609及S1610相同的处理。 
在判断为在缓存保持部413中保存有文件X的元数据的情况下,缓存服务器控制部411将文件X的锁定释放(S2106)。具体而言,缓存服务器控制部411从锁定管理表416中删除对应于文件X的行。 
缓存服务器控制部411将文件X的元数据更新(S2107)。另外,该处理是与S1709相同的处理。 
缓存服务器控制部411记录表示从据点Z释放了文件X的锁定的访问 履历(S2108)。另外,该处理是与S1607相同的处理。 
缓存服务器控制部411将表示锁定释放处理完成的锁定完成发送给用户,结束处理(S2109)。 
在S2103中,在判断为文件X的主导不是自据点的情况下,缓存服务器控制部411参照主导管理表315,对作为文件X的主导的其他缓存服务器请求锁定释放处理的执行(S2112)。 
具体而言,缓存服务器控制部411对作为文件X的主导的其他缓存服务器发送包括文件X的全路径、用户Y、据点Z及锁定信息的锁定释放处理的执行请求。接收到该执行请求的、作为文件X的主导的其他缓存服务器执行S2101~S2114的处理,将该处理的执行结果发送给缓存服务器控制部411。 
缓存服务器控制部411判断从作为文件X的主导的其他缓存服务器发送的处理结果是否是错误的(S2113)。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果不是错误的情况下,缓存服务器控制部411前进到S2109。 
在判断为从作为文件X的主导的其他缓存服务器发送的处理结果是错误的情况下,缓存服务器控制部411前进到S2114。 
另外,作为用来使后面叙述的主导场所更新处理的S2014高速化的变形,有在实数据更新处理执行后、将保存在缓存服务器中的元数据发送给文件服务器105的方法。 
接着,对缓存管理服务器107进行说明。 
图22是说明本发明的实施方式的缓存管理服务器107在起动后执行的处理的流程图。 
缓存管理服务器107在起动后开始处理(S2201),将队列管理部312、主导管理表控制UI部313以及主导管理表315初始化(S2202)。 
在初始化处理中,缓存管理服务器107对队列管理部312指示管理队列和控制队列的制作。 
管理队列是用来从主导管理表控制UI部313受理管理命令的队列。另外,所谓管理命令,为不是文件的实数据及元数据的取得或更新的命令,在本实施方式中是指示主导场所更新处理和偏倚合计处理的命令。控制队 列是用来从缓存服务器受理控制信息的队列。另外,所谓控制信息,是在管理命令执行中、在各处理中交换的信息。 
缓存管理服务器107从管理队列取出命令(S2203),执行所取出的命令(S2204),回到S2203,重复执行S2203~S2204的处理。即,执行对应于所取出的命令的处理。 
接着,使用图23~图28对缓存管理服务器107的主导管理表控制UI部313具备的各功能进行说明。 
图23是说明通过本发明的实施方式的主导管理表控制UI部313具备的主导场所变更UI功能以及缓存服务器控制部具备的主导变更功能执行的处理的概要的时序图。 
在本实施方式中,对主导被从缓存服务器108变更为缓存服务器110的情况进行说明。以下,将缓存服务器108记载为旧缓存服务器108,将缓存服务器110记载为新缓存服务器110。此外,将缓存服务器108的缓存服务器控制部411记载为旧缓存服务器控制部411-1,将缓存服务器110的缓存服务器控制部411记载为新缓存服务器控制部411-2。 
主导管理表控制UI部313开始主导场所变更UI功能的执行,对当前作为主导的旧缓存服务器108的旧缓存服务器控制部411-1发送更新处理开始命令(S2301)。 
另外,在更新处理开始命令中,包括旧缓存服务器108为主导管理的子目录的子目录路径名、旧缓存服务器108的识别码及新缓存服务器110的识别码。在本实施方式中,旧缓存服务器108的识别码及新缓存服务器110的识别码为缓存服务器108及缓存服务器110的名称。 
在以下的说明中,设包含在更新处理开始命令中子目录路径名为子目录路径A,设旧缓存服务器108的名称为缓存服务器B,设新缓存服务器110的名称为缓存服务器C。 
从主导管理表控制UI部313接收到更新处理开始命令的旧缓存服务器控制部411-1开始主导场所的更新处理。 
首先,旧缓存服务器控制部411-1通过参照包含在更新处理开始命令中的新缓存服务器110的名称,确定新缓存服务器110,对新缓存服务器110的新缓存服务器控制部411-2发送更新处理开始命令(S2302)。另外, 在更新处理开始命令中包括子目录路径A。 
旧缓存服务器控制部411-1将受理停止管理表417更新(S2303)。此外,从旧缓存服务器控制部411-1接收到更新处理开始命令的新缓存服务器控制部411-2也同样,将受理停止管理表417更新(S2305)。 
具体而言,旧缓存服务器控制部411-1及新缓存服务器控制部411-2对受理停止管理表417的子目录路径名601追加子目录路径A。 
通过S2303及S2305的处理,将对追加在受理停止管理表417中的子目录路径A以下的文件的命令保存到受理停止队列中。即,旧缓存服务器控制部411-1及新缓存服务器控制部411-2能够受理来自其他缓存服务器的访问。由此,能够不将来自其他缓存服务器的命令停止而变更主导。 
旧缓存服务器控制部411-1将保存在缓存保持部413中的子目录路径A以下的文件的缓存(实数据以及元数据)写回到文件服务器105中(回写)(S2304)。另外,也可以将子目录路径A以下的文件的缓存发送给新缓存服务器110。 
旧缓存服务器控制部411-1使锁定管理表416的该当行移动到缓存服务器控制部411-2中(S2306)。 
具体而言,旧缓存服务器控制部411-1从锁定管理表416提取保存有对应于子目录路径A以下的文件的信息的行,将包含在所提取的行中的信息发送给新缓存服务器控制部411-2,此外,从锁定管理表416中删除该行。 
新缓存服务器控制部411-2基于对应于子目录路径A以下的文件的信息而更新锁定管理表416(S2307)。 
具体而言,新缓存服务器控制部411-2将对应于子目录路径A以下的文件的信息追加到锁定管理表416中。通过该处理,将主导从旧缓存服务器108变更为新缓存服务器110。 
旧缓存服务器控制部411-1将对子目录路径A以下的文件的访问的受理开始命令对新缓存服务器控制部411-2发送(S2308)。另外,该受理开始命令被保存到新缓存服务器控制部411-2的控制队列中。 
旧缓存服务器控制部411-1将受理停止管理表417更新(S2309)。此外,接收到受理开始命令的新缓存服务器控制部411-2也同样,将受理停止管理表417更新(S2311)。 
具体而言,旧缓存服务器控制部411-1及新缓存服务器控制部411-2从受理停止管理表417的子目录路径名601中删除子目录路径A。 
旧缓存服务器控制部411-1将保存在受理停止队列中的命令插入(压入)到命令队列的开头中(S2310)。 
由于子目录路径A的主导是新缓存服务器控制部411-2,所以将对保存在受理停止队列中的子目录路径A以下的文件的命令发送给新缓存服务器控制部411-2。 
新缓存服务器控制部411-2将保存在受理停止队列中的命令插入(压入)到命令队列的开头中(S2312)。 
由于新缓存服务器控制部411-2自身是子目录路径A的主导,所以新缓存服务器控制部411-2执行对保存在受理停止队列中的子目录路径A以下的文件的命令。 
另外,在该时点,仅旧缓存服务器控制部411-1及新缓存服务器控制部411-2识别出主导被变更的情况,而其他缓存服务器不能识别主导被变更的情况。 
旧缓存服务器控制部411-1将主导场所更新处理的完成通知发送给主导管理表控制UI部313(S2313)。该通知被输入到缓存管理服务器107的控制队列中。 
接收到完成通知的主导管理表控制UI部313将主导管理表315更新,结束处理(S2314)。通过将主导管理表315更新,其他缓存服务器能够识别出主导被从旧缓存服务器控制部411-1变更为新缓存服务器控制部411-2。 
通过以上说明的处理,即使旧缓存服务器108及新缓存服务器110以外的缓存服务器没有识别出主导的变更,也能够不给该缓存服务器带来影响而进行主导的变更。 
以下,对主导管理表控制UI部313、旧缓存服务器控制部411-1及新缓存服务器控制部411-2各自的处理的详细情况进行说明。 
图24是本发明的实施方式的主导场所更新处理执行时的、主导管理表控制UI部313执行的处理的详细情况的流程图。 
主导管理表控制UI部313从控制终端104接收主导场所更新处理的开 始命令,开始主导场所更新处理(S2401)。在该主导场所更新处理的开始命令中,包括子目录路径A、缓存服务器B及缓存服务器C。 
主导管理表控制UI部313对旧缓存服务器控制部411-1发送主导场所更新处理开始命令(S2402)。 
具体而言,主导管理表控制UI部313以子目录路径A和缓存服务器C为自变量,将主导场所更新处理开始命令保存到旧缓存服务器108的命令队列中,指示主导场所更新处理的开始。 
主导管理表控制UI部313从控制队列取出控制信息(S2403),判断所取出的控制信息是否是主导场所更新处理的完成通知(S2404)。 
在判断为所取出的控制信息不是主导场所更新处理的完成通知的情况下,主导管理表控制UI部313使所取出的控制信息回到控制队列的开头(S2407),执行S2403~S2407的处理。 
在判断为所取出的控制信息是主导场所更新处理的完成通知的情况下,主导管理表控制UI部313将主导管理表315更新(S2405),结束处理(S2406)。 
图25是说明本发明的实施方式的主导场所更新处理执行时的、旧缓存服务器108的旧缓存服务器控制部411-1执行的处理的详细情况的流程图。 
主导管理表控制UI部313接收到更新处理开始命令的旧缓存服务器控制部411-1开始主导场所更新处理(S2501)。具体而言,更新处理开始命令被输入到命令队列中,旧缓存服务器控制部411-1开始图15所示的处理。在此情况下,在S1504中,判断所取出的命令为向受理停止中的子目录路径的访问。 
另外,在该更新处理开始命令中,包括子目录路径A及缓存服务器C。 
旧缓存服务器控制部411-1对新缓存服务器控制部411-2发送更新处理开始命令(S2502)。另外,在该更新处理开始命令中包括目录路径A。 
旧缓存服务器控制部411-1对受理停止管理表417追加子目录路径A(S2503)。 
旧缓存服务器控制部411-1将保存在缓存保持部413中的子目录路径A以下的文件的缓存写回到文件服务器105中(回写)(S2504)。另外,也可以将子目录路径A以下的文件的缓存发送给新缓存服务器110。 
旧缓存服务器控制部411-1将子目录路径A以下的文件的锁定信息发送给新缓存服务器控制部411-2(S2505)。 
具体而言,旧缓存服务器控制部411-1提取锁定管理表416的包含有对应于子目录路径A以下的文件的信息的行,将包含在所提取的行中的信息发送给新缓存服务器控制部411-2,并且从锁定管理表416中删除该行。 
另外,将锁定管理表416的对应于子目录路径A以下的文件的行的信息输入到新缓存服务器110的控制队列中。 
旧缓存服务器控制部411-1对新缓存服务器控制部411-2发送对目录路径A以下的文件的命令的受理开始请求(S2506)。另外,该受理开始请求被输入到新缓存服务器110的控制队列中。 
旧缓存服务器控制部411-1从受理停止管理表417中删除目录路径A(S2507)。 
旧缓存服务器控制部411-1将对子目录路径A以下的文件的命令插入到命令队列的开头中(S2508)。 
具体而言,旧缓存服务器控制部411-2从受理停止队列中检索对子目录路径A以下的文件的命令,将检索到的对子目录路径A以下的文件的命令插入到命令队列的开头中。 
旧缓存服务器控制部411-1将主导场所更新处理的完成通知发送给主导管理表控制UI部313,结束处理(S2509)。 
图26是说明本发明的实施方式的主导场所更新处理执行时的、新缓存服务器110的新缓存服务器控制部411-2执行的处理的详细情况的流程图。 
新缓存服务器控制部411-2从旧缓存服务器控制部411-1接收主导场所更新处理的开始请求,开始主导场所更新处理(S2601)。 
另外,该开始请求被输入到命令队列中,新缓存服务器控制部411-2开始图15所示的处理。在此情况下,在S1504中,判断为所取出的命令是向受理停止中的子目录路径的访问。 
另外,在该开始请求中包含有子目录路径A。 
新缓存服务器控制部411-2对受理停止管理表417追加子目录路径A(S2602)。 
新缓存服务器控制部411-2从控制队列取出控制信息(S2603),判断 所取出的控制信息是否是关于锁定继续的信息(S2604)。 
具体而言,新缓存服务器控制部411-2判断所取出的控制信息是否是关于子目录路径A以下的文件的锁定的信息。 
在判断为所取出的控制信息不是关于锁定继续的信息的情况下,新缓存服务器控制部411-2使所取出的控制信息回到控制队列的开头(S2611),执行S2601~S2612的处理。 
在判断为所取出的控制信息是关于锁定继续的信息的情况下,新缓存服务器控制部411-2将锁定管理表416更新(S2605)。 
具体而言,新缓存服务器控制部411-2将关于子目录路径A以下的文件的锁定的信息追加到锁定管理表416中。 
新缓存服务器控制部411-2从控制队列中取出控制信息(S2606),判断所取出的控制信息是否是对子目录路径A以下的文件的命令的受理开始命令(S2607)。 
在判断为所取出的控制信息不是对子目录路径A以下的文件的命令的受理开始命令的情况下,新缓存服务器控制部411-2使所取出的控制信息回到控制队列的开头(S2612),执行S2606~S2612的处理。 
在判断为所取出的控制信息是对子目录路径A以下的文件的命令的受理开始命令的情况下,新缓存服务器控制部411-2将受理停止管理表417更新(S2608)。 
具体而言,新缓存服务器控制部411-2将对应于子目录路径A的行从受理停止管理表417中删除。 
新缓存服务器控制部411-2将对子目录路径A以下的文件的命令插入到命令队列的开头中(S2609),结束处理(S2610)。 
具体而言,新缓存服务器控制部411-2从受理停止队列中检索对子目录路径A以下的文件的命令,将对检索到的子目录路径A以下的文件的命令插入到命令队列的开头中。 
图27是说明通过本发明的实施方式的缓存管理服务器107的主导管理表控制UI部313具备的访问偏倚合计UI功能执行的处理的流程图。 
主导管理表控制UI部313从控制终端104接收偏倚合计处理的开始请求,开始偏倚合计处理(S2701)。另外,主导管理表控制UI部313也可以 周期性地执行该处理。 
主导管理表控制UI部313对所有的缓存服务器(在本实施方式中是缓存服务器106、108、110)发送访问履历的发送命令(S2702)。 
访问履历的发送命令被输入到各缓存服务器(在本实施方式中是缓存服务器106、108、110)的命令队列中。对访问履历的发送命令的处理结果被输出到缓存管理服务器107的控制队列中。此外,主导管理表控制UI部313从缓存管理服务器107的控制队列中取得访问履历。 
主导管理表控制UI部313从缓存管理服务器107的控制队列中取得控制信息(S2703),判断所取得的控制信息是否是访问履历(S2704)。 
在判断为所取得的控制信息不是访问履历的情况下,主导管理表控制UI部313使所取出的控制信息回到控制队列的开头(S2708),执行S2704~S2708的处理。 
在判断为所取得的控制信息是访问履历的情况下,主导管理表控制UI部313判断是否从所有的缓存服务器(在本实施方式中是缓存服务器106、108、110)接收到了访问履历(S2705)。 
该判断例如可以根据访问履历的接收次数与计算机系统内的缓存服务器的数量是否相同来进行。 
在判断为没有从所有的缓存服务器(在本实施方式中是缓存服务器106、108、110)接收到访问履历的情况下,主导管理表控制UI部313回到S2704,执行S2704~S2708的处理。 
在判断为从所有的缓存服务器(在本实施方式中是缓存服务器106、108、110)接收到访问履历的情况下,主导管理表控制UI部313按照所有的文件的全路径合计访问履历(S2706),生成用来输出合计结果的输出信息,结束处理(S2707)。 
具体而言,主导管理表控制UI部313计算对各缓存服务器的文件的全路径的访问数。例如,对于文件的全路径“/a/b/c.txt”,计算来自据点A102的缓存服务器108的访问为95次、来自据点B103的缓存服务器110的访问为5次。此外,在“/a/b/”等子目录的路径的情况下,计算对包含在子目录属下的所有文件的访问数。 
图28是说明在本发明的实施方式的缓存服务器108、110接收到访问 履历的发送命令时执行的处理的流程图。 
缓存服务器108、110的缓存服务器控制部411从缓存管理服务器107接收访问履历的发送命令,开始访问履历发送处理(S2801)。 
缓存服务器控制部411将保存在访问履历保持部414中的所有的访问履历发送给缓存管理服务器107的控制队列(S2802)。 
缓存服务器控制部411将保存在访问履历保持部414中的所有的访问履历删除,结束处理(S2803)。 
通过以上的处理,能够求出对各缓存服务器的所有子目录的访问数。 
在本实施方式中,在初次时,所有文件的主导是中央据点101的缓存服务器106。从该状态起开始处理的执行后,从访问偏倚较大、即访问数较多的子目录起依次将主导变更为其他据点的缓存服务器。此外,主导的变更的触发信号被从控制终端104输出。 
在此情况下,可以考虑以下这样的使用案例。 
1、管理者使用控制终端104,执行主导管理表控制UI部313具备的访问偏倚合计UI功能,取得各子目录的访问履历。 
2、管理者基于所取得的访问履历,确定访问偏倚较大的子目录。 
3、按照管理者确定的子目录,使用控制终端104执行主导管理表控制UI部313具备的主导场所变更UI功能,变更主导。 
此外,作为其他使用案例,可以考虑自动执行主导的变更的使用案例。在此情况下,需要预先设定访问偏倚的判断条件。例如、作为访问偏倚的判断条件,可以考虑以下这样的条件。 
1、访问偏倚合计间隔:每1小时。 
2、访问偏倚阈值:向系统整体的访问的90%以上。 
3、访问均匀阈值:向系统整体的访问的70%以上。 
可以考虑利用上述判断条件如以下这样自动管理的方法。 
1、控制终端104基于控制终端104具备的定时器,在经过访问偏倚合计间隔时间之后执行处理。 
2、控制终端104从主导管理表控制UI部313取得主导管理表。 
3、控制终端104执行主导管理表控制UI部313具备的访问偏倚合计UI功能,取得各子目录的访问履历。 
4、控制终端104基于所取得的访问履历,提取比访问偏倚阈值大、并且与记载在该偏倚的缓存服务器在步骤2中取得的主导管理表中的缓存服务器不同的子目录。 
5、控制终端104将所提取的子目录中的、处于直接的母子关系的子目录将上位的子目录作为变更对象。具体而言,在提取了“/a/b/c”和“/a/b”的情况下,如果将“/a/b”作为变更的对象,则“/a/b/c”也自动成为变更的对象。 
6、控制终端104通过执行主导管理表控制UI部313具备的访问偏倚合计UI功能,将变更对象的子目录,使主导从记载在主导管理表中的缓存服务器变更为在步骤4中提取的缓存服务器 
7、控制终端104基于所取得的访问履历,提取低于访问均匀阈值、并且与其中访问频率最高的缓存服务器在步骤2中取得的主导管理表中记载的缓存服务器不同的子目录。 
8、控制终端104将在步骤7中提取出的子目录中的、处于直接的母子关系的子目录的上位目录作为变更对象。具体而言,在提取了“/a/b/c”和“/a/b”的情况下,如果将“/a/b”作为变更的对象,则“/a/b/c”也自动地成为变更的对象。 
9、控制终端104通过执行主导管理表控制UI部313具备的访问偏倚合计UI功能,将在步骤8中提取的子目录、使主导从记载在主导管理表中的缓存服务器变更为中央据点101的缓存服务器106。 
此外,作为其他使用案例,还可以考虑以时刻为触发信号而将对于文件系统的子树的主导的场所周期性地变更的使用案例。 
例如,可以考虑在全世界具有多个据点的企业等中、在根据时差等而据点工作的时间带错开的情况下使用的方法。 
在此情况下,管理者预先将图29所示的时间表2900登录到控制终端104中。 
图29是说明本发明的实施携带的控制终端104具备的时间表2900的流程图。 
时间表2900以控制终端104的时区或GMT为基准,按照子目录的路径保存时刻和作为主导的据点。 
在图29所示的例子中,每3小时管理主导的位置。 
具体而言,子目录路径名是“/management/board”以下的子目录表示在0时~12时中据点A是主导、在12时到24时中据点B是主导。 
此外,子目录路径名是“/office/personnel”以下的子目录表示从0时到9时据点C是主导、从9时到18时据点D是主导、从18时到21时据点E是主导。 
在该使用案例中,当管理者更新了时间表时,控制终端104通过执行以下这样的处理,能够进行管理以使主导的场所周期性地变更。 
1、控制终端104参照时间表2900,按照子目录的路径名,提取作为主导的据点被变更的时刻、和从哪个据点变更为哪个据点。在图29所示的例子中,对于“/management/board”,在12时主导被从据点A向据点B变更,此外在24时主导被从据点B变更为据点A。此外,对于“/office/personnel”,在9时主导被从据点C向据点D变更,在18时主导被从据点D向据点E变更,在24时主导被从据点E向据点C变更。 
2、控制终端104使用所提取的子目录的路径名、时刻、主导被从哪个据点变更为哪个据点的信息,将主导场所更新处理(参照图24)的执行登录到控制终端104的定时器中。在图29所示的例子中,通过以下的自变量将主导场所更新处理的执行登录到定时器中。 
12时:子树路径=/management/board,旧主导缓存服务器据点=据点A,新主导缓存服务器=据点B 
0时:子树路径=/management/board,旧主导缓存服务器据点=据点B,新主导缓存服务器=据点A 
9时:子树路径=/office/personnel,旧主导缓存服务器据点=据点C,新主导缓存服务器=据点D 
18时:子树路径=/office/personnel,旧主导缓存服务器据点=据点D,新主导缓存服务器=据点E 
24时:子树路径=/office/personnel,旧主导缓存服务器据点=据点E,新主导缓存服务器=据点C 
另外,在本实施方式中,锁定管理表214、主导管理表315、受理停止管理表417、时间表2900等都被作为表形式的信息保存,但本发明并不限 定于此,只要知道各信息的对应关系,以怎样的形式保持信息都可以。 
根据本发明的一技术方案,在具有子目录属下的文件的管理权限的主导的移动时,在保持该主导管理的子目录属下的文件的锁定状态的同时,能够不给其他缓存服务器带来影响而执行主导的变更。 

Claims (16)

1.一种计算机系统,具备:
文件服务器,具备第1处理器和连接在上述第1处理器上的第1存储器,该文件服务器保存多个文件;
缓存服务器,具备第2处理器和连接在上述第2处理器上的第2存储器,该缓存服务器保存上述文件的缓存数据;以及
缓存管理服务器,具备第3处理器和连接在上述第3处理器上的第3存储器,该缓存管理服务器管理上述缓存服务器,
该计算机系统的特征在于,
上述文件的缓存数据包括能够确定上述文件的数据或者构成上述文件的数据的至少任意一方;
上述缓存管理服务器管理权限信息,该权限信息表示上述缓存服务器对保存在上述文件服务器中的上述文件的缓存数据的管理权限;
上述缓存服务器包括第1缓存服务器、第2缓存服务器以及第3缓存服务器;
上述第1缓存服务器具备第1锁定管理信息,该第1锁定管理信息管理表示可否访问该第1缓存服务器具有管理权限的文件的锁定状态;
上述第2缓存服务器具备第2锁定管理信息,该第2锁定管理信息管理表示可否访问该第2缓存服务器具有管理权限的文件的锁定状态;
上述第3缓存服务器具备第3锁定管理信息,该第3锁定管理信息管理表示可否访问该第3缓存服务器具有管理权限的文件的锁定状态;
上述文件包括第1文件;
上述第1缓存服务器在从连接在该第1缓存服务器上的客户端终端接收到对上述第1文件的处理命令的情况下,从上述缓存管理服务器取得上述权限信息;
参照上述取得的权限信息,判断上述第1缓存服务器是否具有上述第1文件的缓存数据的管理权限;
在判断为上述第1缓存服务器具有上述第1文件的缓存数据的管理权限的情况下,执行对上述第1文件的处理命令;
在判断为上述第1缓存服务器不具有上述第1文件的缓存数据的管理权限的情况下,向具有该第1文件的上述管理权限的上述第2缓存服务器发送对上述第1文件的处理命令,从上述第2缓存服务器接收对上述第1文件的处理命令的执行结果;
在判断为上述第1缓存服务器具有上述第1文件的缓存数据的管理权限的情况下,上述缓存管理服务器向上述第1缓存服务器发送将上述第1缓存服务器具有的上述第1文件的缓存数据的上述管理权限变更为上述第3缓存服务器的更新命令;
上述第1缓存服务器在接收到上述更新命令之后,将上述更新命令发送给上述第3缓存服务器,执行更新上述第1锁定管理信息以使上述第1文件的锁定状态移动到上述第3缓存服务器中的第1更新处理;
上述第3缓存服务器在接收到上述更新命令之后,执行更新上述第3锁定管理信息以使上述第1文件的锁定状态移动到上述第3缓存服务器的第2更新处理;
上述缓存管理服务器更新上述权限信息,以将上述第1文件的缓存数据的管理权限从上述第1缓存服务器变更为上述第3缓存服务器。
2.如权利要求1所述的计算机系统,其特征在于,
在上述第1更新处理中,
从上述第1锁定管理信息中提取关于上述第1文件的锁定状态的信息;
更新上述第1锁定管理信息,以将上述提取出的关于第1文件的锁定状态的信息删除;
将上述提取出的关于第1文件的锁定状态的信息发送给上述第3缓存服务器;
将对于上述更新命令的响应发送给上述缓存管理服务器;
在上述第2更新处理中,更新上述第3锁定管理信息,以追加从上述第1缓存服务器发送的关于第1文件的锁定状态的信息;
在接收到从上述第1缓存服务器发送来的对上述更新命令的响应之后,执行更新上述权限信息的处理。
3.如权利要求2所述的计算机系统,其特征在于,
在上述第1更新处理中,在将对于上述更新命令的响应发送给上述缓存管理服务器之前或之后,将上述第1文件的缓存数据发送给上述文件服务器。
4.如权利要求2所述的计算机系统,其特征在于,
在上述第1更新处理中,在将上述更新命令发送给上述第3缓存服务器之后,将上述第1文件的缓存数据发送给上述第3缓存服务器。
5.如权利要求2所述的计算机系统,其特征在于,
上述第1缓存服务器具备第1受理管理信息,该第1受理管理信息用来判断是否是从上述终端或其他上述缓存服务器对上述文件的访问;
上述第2缓存服务器具备第2受理管理信息,该第2受理管理信息用来判断是否是从上述终端或其他上述缓存服务器对上述文件的访问;
上述第3缓存服务器具备第3受理管理信息,该第3受理管理信息用来判断是否是从上述终端或其他上述缓存服务器对上述文件的访问;
在上述第1更新处理中,
更新上述第1受理管理信息以追加关于上述第1文件的信息;
然后,在从上述终端或上述其他缓存服务器接收到对上述文件的处理命令的情况下,参照上述第1受理管理信息,判断从上述终端或上述其他缓存服务器对上述文件的访问是否是对上述第1文件的处理命令;
在判断为从上述终端或上述其他缓存服务器对文件的访问是对上述第1文件的处理命令的情况下,将对上述第1文件的处理命令临时储存;
在更新了上述第1锁定管理信息以使上述提取出的关于第1文件的锁定状态的信息移动到上述第3缓存服务器之后,向上述第2缓存服务器发送用来开始对上述第1文件的访问的受理的受理开始命令;
在发送了上述受理开始命令之后,更新上述第1受理管理信息,以将关于上述第1文件的信息删除,执行上述临时储存的来自终端或其他缓存服务器的对第1文件的处理命令;
在上述第2更新处理中,
在接收到从上述第1缓存服务器发送的上述更新命令之后,更新上述第3受理管理信息,以追加关于上述第1文件的信息;
在从上述终端或上述其他缓存服务器接收到对上述文件的处理命令的情况下,参照上述第3受理管理表,判断来自上述终端或上述其他缓存服务器的对上述文件的处理请求是否是对上述第1文件的处理请求;
在判断为来自上述终端或上述其他缓存服务器的对文件的处理命令是对上述第1文件的处理命令的情况下,将对上述第1文件的处理请求临时储存;
在接收到上述受理开始命令之后,更新上述第3受理管理信息,以将关于上述第1文件的信息删除,执行上述临时储存的来自终端或其他缓存服务器的对第1文件的处理命令。
6.如权利要求5所述的计算机系统,其特征在于,
上述权限信息是保存有使文件系统的子目录与上述缓存服务器对应的信息的权限管理表;
上述锁定管理信息是保存上述文件的识别码、取得了上述文件的锁定的用户名、和上述取得的锁定的识别信息的锁定管理表;
上述受理管理信息是保存上述文件系统的子目录的受理管理表;
上述缓存服务器具有关于保存在上述权限管理表所示的上述子目录属下的多个文件的上述管理权限;
上述缓存服务器将对于保存在上述受理管理表所示的上述子目录属下的多个文件的处理命令临时储存。
7.如权利要求1所述的计算机系统,其特征在于,
上述缓存管理服务器按每个上述文件计算上述处理命令的执行时的访问数;
基于输入到上述缓存管理服务器中的上述处理命令的执行时的访问次数的条件,将上述更新命令发送给上述第1缓存服务器。
8.如权利要求1所述的计算机系统,其特征在于,
上述缓存管理服务器
管理上述计算机系统的时间;
具备用来基于上述计算机系统的时间变更保持上述管理权限的上述缓存服务器的时刻信息;
在经过了在上述时刻信息中表示的上述计算机系统的时间之后,将上述更新命令发送给上述第1缓存服务器。
9.一种计算机系统的缓存控制方法,所述计算机系统具备:文件服务器,具备第1处理器和连接在上述第1处理器上的第1存储器,该文件服务器保存多个文件;缓存服务器,具备第2处理器和连接在上述第2处理器上的第2存储器,该缓存服务器保存上述文件的缓存数据;以及缓存管理服务器,具备第3处理器和连接在上述第3处理器上的第3存储器,该缓存管理服务器管理上述缓存服务器,
该缓存控制方法的特征在于,
上述文件的缓存数据包括能够确定上述文件的数据、或者构成上述文件的数据及能够确定上述文件的数据的至少一方;
上述缓存管理服务器管理权限信息,该权限信息表示上述缓存服务器对保存在上述文件服务器中的上述文件的缓存数据的管理权限;
上述缓存服务器包括第1缓存服务器、第2缓存服务器以及第3缓存服务器;
上述第1缓存服务器具备第1锁定管理信息,该第1锁定管理信息管理表示可否访问该第1缓存服务器具有管理权限的文件的锁定状态;
上述第2缓存服务器具备第2锁定管理信息,该第2锁定管理信息管理表示可否访问该第2缓存服务器具有管理权限的文件的锁定状态;
上述第3缓存服务器具备第3锁定管理信息,该第3锁定管理信息管理表示可否访问该第3缓存服务器具有管理权限的文件的锁定状态;
上述文件包括第1文件;
上述方法包括:
第1步骤,上述第1缓存服务器在从连接在该第1缓存服务器上的客户端终端接收到对上述第1文件的处理命令的情况下,从上述缓存管理服务器取得上述权限信息;
第2步骤,上述第1缓存服务器参照上述取得的权限信息,判断上述第1缓存服务器是否具有上述第1文件的缓存数据的管理权限;
第3步骤,在判断为上述第1缓存服务器具有上述第1文件的缓存数据的管理权限的情况下,上述第1缓存服务器执行对上述第1文件的处理命令;
第4步骤,在判断为上述第1缓存服务器不具有上述第1文件的缓存数据的管理权限的情况下,向具有该第1文件的上述管理权限的上述第2缓存服务器发送对上述第1文件的处理命令,从上述第2缓存服务器接收对上述第1文件的处理命令的执行结果;
第5步骤,在判断为上述第1缓存服务器具有上述第1文件的缓存数据的管理权限的情况下,上述缓存管理服务器向上述第1缓存服务器发送将上述第1缓存服务器具有的上述第1文件的缓存数据的上述管理权限变更为上述第3缓存服务器的更新命令;
第6步骤,上述第1缓存服务器在接收到上述更新命令之后,将上述更新命令发送给上述第3缓存服务器,执行更新上述第1锁定管理信息以使上述第1文件的锁定状态移动到上述第3缓存服务器中的第1更新处理;
第7步骤,上述第3缓存服务器在接收到上述更新命令之后,执行更新上述第3锁定管理信息以使上述第1文件的锁定状态移动到上述第3缓存服务器的第2更新处理;以及
第8步骤,上述缓存管理服务器更新上述权限信息,以将上述第1文件的缓存数据的管理权限从上述第1缓存服务器变更为上述第3缓存服务器。
10.如权利要求9所述的缓存控制方法,其特征在于,
上述第6步骤包括:
上述第1缓存服务器从上述第1锁定管理信息中提取关于上述第1文件的锁定状态的信息的步骤;
上述第1缓存服务器更新上述第1锁定管理信息以将上述提取的关于第1文件的锁定状态的信息删除的步骤;
上述第1缓存服务器将上述提取的关于第1文件的锁定状态的信息发送给上述第3缓存服务器的步骤;以及
上述第1缓存服务器将对上述更新命令的响应发送给上述缓存管理服务器的步骤;
上述第7步骤包括上述第3缓存服务器更新上述第3锁定管理信息以追加从上述第1缓存服务器发送的关于第1文件的锁定状态的信息的步骤;
上述第8步骤包括上述缓存管理服务器在接收到从上述第1缓存服务器发送的对上述更新命令的响应之后更新上述权限信息的步骤。
11.如权利要求10所述的缓存控制方法,其特征在于,
上述第6步骤包括上述第1缓存服务器在将对上述更新命令的响应发送给上述缓存管理服务器之前或之后,将上述第1文件的缓存数据发送给上述文件服务器的步骤。
12.如权利要求10所述的缓存控制方法,其特征在于,
上述第6步骤包括上述第1缓存服务器在将上述更新命令发送给上述第3缓存服务器之后,将上述第1文件的缓存数据发送给上述第3缓存服务器的步骤。
13.如权利要求10所述的缓存控制方法,其特征在于,
上述第1缓存服务器具备第1受理管理信息,该第1受理管理信息用来判断是否是从上述终端或其他上述缓存服务器对上述文件的访问;
上述第2缓存服务器具备第2受理管理信息,该第2受理管理信息用来判断是否是从上述终端或其他上述缓存服务器对上述文件的访问;
上述第3缓存服务器具备第3受理管理信息,该第3受理管理信息用来判断是否是从上述终端或其他上述缓存服务器对上述文件的访问;
上述第6步骤包括:
上述第1缓存服务器更新上述第1受理管理信息以追加关于上述第1文件的信息的步骤;
然后,上述第1缓存服务器在从上述终端或上述其他缓存服务器接收到对上述文件的处理命令的情况下,参照上述第1受理管理信息,判断来自上述终端或上述其他缓存服务器对上述文件的访问是否是对上述第1文件的处理命令的步骤;
上述第1缓存服务器在判断为来自上述终端或上述其他缓存服务器的对文件的访问是对上述第1文件的处理命令的情况下,将对上述第1文件的处理命令临时储存的步骤;
上述第1缓存服务器在更新了上述第1锁定管理信息以将上述提取的关于第1文件的锁定状态的信息移动到上述第3缓存服务器中之后,向上述第2缓存服务器发送用来开始对上述第1文件的访问的受理的受理开始命令的步骤;以及
上述第1缓存服务器在发送了上述受理开始命令之后,更新上述第1受理管理信息以将关于上述第1文件的信息删除,执行上述临时储存的来自终端或其他缓存服务器的对第1文件的处理命令的步骤;
上述第7步骤包括:
上述第3缓存服务器在接收到从上述第1缓存服务器发送的上述更新命令之后,更新上述第3受理管理信息以追加关于上述第1文件的信息的步骤;
上述第3缓存服务器在从上述终端或上述其他缓存服务器接收到对上述文件的处理命令的情况下,参照上述第3受理管理表,判断来自上述终端或上述其他缓存服务器的对上述文件的处理请求是否是对上述第1文件的处理请求的步骤;
上述第3缓存服务器在判断与来自上述终端或上述其他缓存服务器的对文件的处理命令是对上述第1文件的处理命令的情况下,将对上述第1文件的处理请求临时储存的步骤;以及
上述第3缓存服务器在接收到上述受理开始命令之后,更新上述第3受理管理信息以将关于上述第1文件的信息删除,执行上述临时储存的来自终端或其他缓存服务器的对第1文件的处理命令的步骤。
14.如权利要求13所述的缓存控制方法,其特征在于,
上述权限信息是保存使文件系统的子目录与上述缓存服务器对应的信息的权限管理表;
上述锁定管理信息是保存上述文件的识别码、取得了上述文件的锁定的用户名、和上述取得的锁定的识别信息的锁定管理表;
上述受理管理信息是保存上述文件系统的子目录的受理管理表;
上述缓存服务器具有关于保存在上述权限管理表所示的上述子目录属下的多个文件的上述管理权限;
上述缓存服务器将对保存在上述受理管理表所示的上述子目录属下的多个文件的处理命令临时储存。
15.如权利要求9所述的缓存控制方法,其特征在于,
上述缓存管理服务器按每个上述文件计算上述处理命令的执行时的访问数;
基于输入到上述缓存管理服务器中的上述处理命令的执行时的访问次数的条件,将上述更新命令发送给上述第1缓存服务器。
16.如权利要求9所述的缓存控制方法,其特征在于,
上述缓存管理服务器
管理上述计算机系统的时间;
具备用来基于上述计算机系统的时间变更保持上述管理权限的上述缓存服务器的时刻信息;
在上述第5步骤中,上述缓存管理服务器在经过了在上述时刻信息中表示的上述计算机系统的时间之后,将上述更新命令发送给上述第1缓存服务器。
CN2010105511310A 2010-03-11 2010-11-17 计算机系统以及缓存控制方法 Expired - Fee Related CN102193959B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010054749A JP4995296B2 (ja) 2010-03-11 2010-03-11 計算機システムおよびキャッシュ制御方法
JP054749/2010 2010-03-11

Publications (2)

Publication Number Publication Date
CN102193959A CN102193959A (zh) 2011-09-21
CN102193959B true CN102193959B (zh) 2013-07-10

Family

ID=44140820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105511310A Expired - Fee Related CN102193959B (zh) 2010-03-11 2010-11-17 计算机系统以及缓存控制方法

Country Status (5)

Country Link
US (1) US20110225373A1 (zh)
EP (1) EP2365442B1 (zh)
JP (1) JP4995296B2 (zh)
KR (1) KR101191589B1 (zh)
CN (1) CN102193959B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026510B2 (en) * 2011-03-01 2015-05-05 Vmware, Inc. Configuration-less network locking infrastructure for shared file systems
US9053141B2 (en) * 2011-10-31 2015-06-09 International Business Machines Corporation Serialization of access to data in multi-mainframe computing environments
US9198204B2 (en) 2012-04-11 2015-11-24 Google Inc. Apparatus and method for seamless commissioning of wireless devices
US10397013B1 (en) 2012-04-11 2019-08-27 Google Llc User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device
US10142122B1 (en) 2012-04-11 2018-11-27 Google Llc User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device
US10075334B1 (en) 2012-04-11 2018-09-11 Google Llc Systems and methods for commissioning a smart hub device
US9575986B2 (en) * 2012-04-30 2017-02-21 Synopsys, Inc. Method for managing design files shared by multiple users and system thereof
US9921752B2 (en) * 2012-05-04 2018-03-20 Netapp, Inc. Systems, methods, and computer program products providing read access in a storage system
US10338940B2 (en) * 2012-06-27 2019-07-02 International Business Machines Corporation Adjusting adminstrative access based on workload migration
CN103729247B (zh) * 2012-10-12 2017-04-12 阿里巴巴集团控股有限公司 数据获取请求的处理方法、系统及服务器
TW201416873A (zh) * 2012-10-19 2014-05-01 Apacer Technology Inc 網路儲存系統的檔案分享方法
KR20140097924A (ko) * 2013-01-30 2014-08-07 한국전자통신연구원 우선 순위를 가지는 이중 캐싱 방법 및 이를 위한 장치
US9922580B2 (en) 2013-04-30 2018-03-20 Google Llc Apparatus and method for the virtual demonstration of a smart phone controlled smart home using a website
US9722908B2 (en) 2013-10-17 2017-08-01 International Business Machines Corporation Problem determination in a hybrid environment
US10088818B1 (en) 2013-12-23 2018-10-02 Google Llc Systems and methods for programming and controlling devices with sensor data and learning
US9420331B2 (en) 2014-07-07 2016-08-16 Google Inc. Method and system for categorizing detected motion events
US10601604B2 (en) 2014-11-12 2020-03-24 Google Llc Data processing systems and methods for smart hub devices
CN105990185B (zh) * 2015-02-27 2020-02-11 中芯国际集成电路制造(上海)有限公司 对半导体对象执行操作的处理方法、系统及装置
GB2537587B (en) * 2015-02-27 2019-01-02 Novastone Media Ltd Asymmetric permissions in a communications system
US10021209B2 (en) 2015-04-10 2018-07-10 Open Text Sa Ulc Systems and methods for caching of managed content in a distributed environment using a multi-tiered architecture
CN106469150B (zh) 2015-08-14 2019-10-08 阿里巴巴集团控股有限公司 文件读写方法、装置和系统
CN105511813A (zh) * 2015-12-11 2016-04-20 北京奇虎科技有限公司 访问服务器磁盘的方法、装置及系统
US10628602B2 (en) * 2015-12-28 2020-04-21 Quest Software Inc. Controlling content modifications by enforcing one or more constraint links
CN106066816B (zh) * 2016-05-26 2019-11-15 北京小米移动软件有限公司 用于数据缓存的方法和装置
CN108989373B (zh) * 2017-06-02 2020-12-04 华为技术有限公司 访问数据的方法和装置
KR102553261B1 (ko) * 2018-10-10 2023-07-07 삼성전자 주식회사 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 스토리지 장치, 및 상기 메모리 컨트롤러의 동작 방법
CN111274208B (zh) * 2018-12-05 2023-06-30 杭州海康威视系统技术有限公司 锁定文件的方法和装置
CN113287099A (zh) * 2019-01-23 2021-08-20 株式会社斯凯拉 具有篡改检测性的系统
US11429585B2 (en) 2020-12-01 2022-08-30 Walmart Apollo, Llc Systems and methods for managing concurrent data requests
JP2023037883A (ja) * 2021-09-06 2023-03-16 キオクシア株式会社 情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596754A (en) * 1992-10-29 1997-01-21 Digital Equipment Corporation Method for performing private lock management

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555388A (en) * 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US5805900A (en) * 1996-09-26 1998-09-08 International Business Machines Corporation Method and apparatus for serializing resource access requests in a multisystem complex
US7200623B2 (en) * 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US7062490B2 (en) * 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US6775673B2 (en) * 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Logical volume-level migration in a partition-based distributed file system
US8086579B1 (en) * 2002-01-22 2011-12-27 Oracle International Corporation Semantic response to lock requests to reduce coherence overhead in multi-node systems
JP4131514B2 (ja) * 2003-04-21 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、サーバ、データ処理方法及びプログラム
US7376744B2 (en) * 2003-05-09 2008-05-20 Oracle International Corporation Using local locks for global synchronization in multi-node systems
US7447786B2 (en) * 2003-05-09 2008-11-04 Oracle International Corporation Efficient locking of shared data that is accessed for reads in a cluster database
US7315926B2 (en) * 2004-09-21 2008-01-01 Emc Corporation Lock management for concurrent access to a single file from multiple data mover computers
JP4349301B2 (ja) * 2004-11-12 2009-10-21 日本電気株式会社 ストレージ管理システムと方法並びにプログラム
US8666957B2 (en) * 2005-08-29 2014-03-04 Hewlett-Packard Development Company, L.P. Method or apparatus for locking shared data
US7840618B2 (en) * 2006-01-03 2010-11-23 Nec Laboratories America, Inc. Wide area networked file system
JP5168630B2 (ja) * 2008-02-14 2013-03-21 日本電気株式会社 ブレードサーバシステムのキャッシュサーバ制御回路およびキャッシュサーバ制御方法
JP2010054749A (ja) 2008-08-28 2010-03-11 Citizen Finetech Miyota Co Ltd 液晶表示パネル及びその製造方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596754A (en) * 1992-10-29 1997-01-21 Digital Equipment Corporation Method for performing private lock management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Caching in the Sprite Network File System;Michael n.NELSON et al;《ACM Transactions on Computer Systems》;19980228;第6卷(第1期);第134-154页 *
Michael n.NELSON et al.Caching in the Sprite Network File System.《ACM Transactions on Computer Systems》.1998,第6卷(第1期),第134-154页.

Also Published As

Publication number Publication date
EP2365442A1 (en) 2011-09-14
US20110225373A1 (en) 2011-09-15
JP4995296B2 (ja) 2012-08-08
KR101191589B1 (ko) 2012-10-15
EP2365442B1 (en) 2015-04-08
JP2011187026A (ja) 2011-09-22
CN102193959A (zh) 2011-09-21
KR20110102803A (ko) 2011-09-19

Similar Documents

Publication Publication Date Title
CN102193959B (zh) 计算机系统以及缓存控制方法
US7343412B1 (en) Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores
US7280996B2 (en) Data updating method and related information processing device
KR100361393B1 (ko) 서버에서 클라이언트로의 애플리케이션 및 데이터베이스 분배 방법 및 시스템과 기록 매체
CN112685385A (zh) 一种用于智慧城市建设的大数据平台
CN103605698A (zh) 一种用于分布异构数据资源整合的云数据库系统
US20040068505A1 (en) System and method for synchronously editing a file on different client computers
US20020085579A1 (en) Shared registry with multiple keys for storing preferences and other applications on a local area network
CN101336435A (zh) 可缩放文件复制和基于web的访问
CN100458776C (zh) 网络缓存管理的系统和方法
WO2018036324A1 (zh) 一种智慧城市信息共享的方法和装置
CN100378731C (zh) 自动数据合并
CN110990620A (zh) 一种基于智能技术应用的变电站图档资料智能管理方法
CN106506460B (zh) 基于网盘的数控机床程序管理系统
US6519610B1 (en) Distributed reference links for a distributed directory server system
JP3810577B2 (ja) ディレクトリ同期方法
US7761418B2 (en) Method and product for sharing logged data objects within a distributed storage system
KR20010107803A (ko) 피투피 기반의 통합 정보제공방법
JP2002304399A (ja) 情報処理装置及びその方法、及びそのプログラム
Chen et al. Transaction-based grid database replication
CN101997914A (zh) 业务体验的实现方法和系统
JP2006003996A (ja) 利用履歴管理装置、利用履歴管理方法および利用履歴管理プログラム
Gan et al. The operational application of Chinese high-resolution satellite in the investigation of land and resources
US7213010B2 (en) System and method for the aggregation of place information in a multi-server system
WO2017056145A1 (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130710

Termination date: 20161117

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