WO2015173901A1 - 情報システム - Google Patents

情報システム Download PDF

Info

Publication number
WO2015173901A1
WO2015173901A1 PCT/JP2014/062787 JP2014062787W WO2015173901A1 WO 2015173901 A1 WO2015173901 A1 WO 2015173901A1 JP 2014062787 W JP2014062787 W JP 2014062787W WO 2015173901 A1 WO2015173901 A1 WO 2015173901A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
file server
local
file
information
Prior art date
Application number
PCT/JP2014/062787
Other languages
English (en)
French (fr)
Inventor
周作 三輪
信之 雑賀
蟹江 誉
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to US14/426,786 priority Critical patent/US9489393B2/en
Priority to PCT/JP2014/062787 priority patent/WO2015173901A1/ja
Publication of WO2015173901A1 publication Critical patent/WO2015173901A1/ja

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
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Definitions

  • the present invention relates to an information system including a file server connected to a communication network.
  • Patent Document 1 discloses that in a data distribution system including a plurality of file servers interconnected on a network and a data management center, a user among the plurality of file servers follows a user's movement.
  • a technology of a data delivery system that automatically delivers a file used by a user to a nearby file server is disclosed.
  • the data management center acquires location information from a location information terminal owned by the user, and delivers the data to a file server nearest to the user based on the obtained location information. ing. This has the advantage that the user can immediately use the desired file.
  • prioritizing the files to be transferred is necessary.
  • a method of transferring in order from the file of the user who first started moving the base can be considered.
  • the user who started moving the base after the second arrives at the destination base earlier than the user who started moving the base first.
  • the use of the file may be started at the destination site.
  • priority is given to the file transfer of the user who first started the base movement
  • the file transfer of the user who started the base movement after the second will be delayed, and the base movement will start after the second.
  • a situation may occur in which the file has not arrived at the destination site before the user who started the file accesses the file at the destination site. In this case, there arises a problem that the user cannot refer to the file until the destination base file is delivered.
  • an object of the present invention is to provide a technique capable of appropriately controlling the delivery order of files.
  • An information system includes a plurality of bases having local file servers and clients, and a data center having a center file server. After a user uses a file on a local file server using a client at one of the sites and starts moving to another site, the local file server arrives at another site based on the location information of each user. The user's file with the shortest estimated time is replicated preferentially to the center file server. In addition, each base downloads a user's file with a short estimated time of arrival at the base based on the position information of the user.
  • the local file server at each site determines the file download amount of each user based on the probability that the user logs into the local file server at the site.
  • a file updated by a file server at a certain base can be appropriately stored in the file server at the destination base as the user moves between bases.
  • FIG. 1 is a hardware configuration diagram of an information system according to an embodiment of the present invention.
  • FIG. 2 is a software configuration diagram of the information system according to the embodiment of the present invention.
  • FIG. 3 is a diagram showing an outline of processing performed in the information system according to the embodiment of the present invention.
  • FIG. 4 is a diagram showing various management information stored in the memory of the local file server and the center file server.
  • FIG. 5 is a diagram illustrating the configuration of the inode.
  • FIG. 6 is a diagram illustrating a configuration of the Edge position information table.
  • FIG. 7 is a diagram showing the configuration of the position information transition holding table.
  • FIG. 8 is a diagram showing the configuration of the login date / time table and the logoff date / time table.
  • FIG. 9 is a diagram illustrating a configuration of the proximity determination history table.
  • FIG. 10 is a diagram illustrating a configuration of the login probability table.
  • FIG. 11 is a diagram showing the configuration of the file usage history table.
  • FIG. 12 is a flowchart of the replication / stub conversion process.
  • FIG. 13 is a flowchart of the replication priority order determination process.
  • FIG. 14 is a flowchart of the pre-download process.
  • FIG. 15 is a diagram showing the configuration of the replication target list.
  • the information of the present invention may be described by an expression such as “aaa table”.
  • the information may be expressed by other than a data structure such as a table. Therefore, the “aaa table” or the like may be referred to as “aaa information” to indicate that it does not depend on the data structure.
  • information for identifying “bbb” of the present invention may be described by an expression such as “bbb name”.
  • the information for identifying these is not limited to a name, but an identifier, an identification number, Any information can be used as long as it can identify “bbb” such as an address.
  • program may be used as the subject, but the program is executed by a processor (typically a CPU (Central Processing Unit)), so that a predetermined process can be performed in memory and I Since it is performed using / F (interface), the description may be made with the processor as the subject. Further, the processing disclosed with the program as the subject may be processing performed by a file server (for example, a local file server or a center file server described later). Further, part or all of the program may be realized by dedicated hardware. Various programs may be installed in each computer by a program distribution server or a computer-readable storage medium. As the storage medium, for example, an IC card, an SD card, a DVD, or the like may be used.
  • Core is a base (aggregation base) including a remote computer system, for example, a base that collectively manages servers and storage devices or a base that provides cloud services.
  • “Edge” is a base including a local computer system, for example, a base where a user actually performs business such as a branch office, a sales office, or a remote office.
  • a “stub” is an object (metadata) associated with file storage location information (information indicating a link destination).
  • Stbbing refers to deleting actual data (actual data) from an Edge (Edge computer system) file and maintaining only management information. Since the stubbed file does not hold actual data, it is necessary to acquire actual data from the Core computer system when accessed. For this reason, access performance to a stubbed file is lower than that of a normal file.
  • Replication means copying (duplicating) files in Edge to Core.
  • Migration means that a file in Edge is replicated to Core and a file in Edge is stubbed.
  • Archive is a general term for migration and replication. “Recall” refers to acquiring actual data from the Core for a stubbed file and holding it in an Edge file.
  • Cache means a file remaining in Edge after replication from Edge to Core, or leaving a file in Edge as such. Access to the cache has access performance equivalent to that of a normal file.
  • the “home directory” refers to a user-specific directory assigned to each user in the file server, and includes the directory and file of the user under the subordinate.
  • the “user file” means a user file and / or directory stored under the user's home directory.
  • FIG. 1 is a diagram illustrating a hardware configuration of the information system according to the embodiment.
  • the information system according to the embodiment of the present invention is arranged in the core 100 that is a data center and a plurality of Edges 10 that are bases different from the data center.
  • the Edge 10 is, for example, a company branch or office, and each Edge 10 exists in a geographically different place.
  • the present invention is effective regardless of the distance between the Edges 10.
  • the base where the first edge and the second edge are close to each other, for example, the first edge and the second edge may be different buildings in the same site.
  • the first Edge may be in Japan and the second Edge may be in the United States.
  • there is a single Core 100 there is a single Core 100, but there may be a configuration in which there are a plurality of Cores 100.
  • a description will be given focusing on a configuration example in which the Core 100 is single.
  • the computer system of Edge 10 includes a storage device 20, one or more local file servers 30, and one or more clients (for example, personal computers) / hosts (for example, servers) 40.
  • the local file server 30 is an example of a local file server.
  • the local file server 30 is connected to the client / host 40 via, for example, a communication network 50 (for example, a LAN (Local Area Network)).
  • the local file server 30 is connected to the storage apparatus 20 via, for example, a communication network 60 (for example, SAN (Storage Area Network)).
  • the storage device 20 includes a storage controller (sometimes abbreviated as CTL) 21 and a DISK 23.
  • the storage controller 21 is a device including a communication interface connected to the local file server 30 and a processor for processing an I / O request to the DISK 23.
  • the DISK 23 is a final storage device that stores write data from the local file server 30, and is a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • FIG. 1 shows a configuration in which only one CTL 21 and DISK 23 exist, a plurality of CTLs 21 and DISKs 23 may exist.
  • One or more RAID groups may be configured by the plurality of DISKs 23.
  • the storage apparatus 20 receives the block level I / O request transmitted from the local file server 30 by the CTL 21 and executes the I / O to the appropriate DISK 23.
  • the local file server 30 includes a memory 31, a CPU 32, a NIC (Network Interface Card) 33, and an HBA (Host Bus Adapter) 34.
  • a CPU 32 is connected to the memory 31, the NIC 33, and the HBA 34.
  • the NIC 33 is a communication interface device that communicates with the center file server 120 and the client / host 40.
  • the HBA 34 is a communication interface device that communicates with the storage apparatus 20.
  • the memory 31 is a storage area (for example, RAM (Random Access Memory) or ROM (Read Only Memory)) that the CPU 32 can directly read and write.
  • the program for example, OS (Operating System)
  • the local file server 30 may have another type of storage resource in addition to or instead of the memory 31.
  • the memory 31 is an example of a storage device.
  • the local file server 30 receives a file level I / O request from the client / host 40 via the NIC 33.
  • the local file server 30 converts the file level I / O request into a block level I / O request and transmits it to the storage apparatus 20.
  • the client / host 40 includes a memory 41, a CPU 42, a NIC 43, and a DISK 44.
  • the client / host 40 may have other types of storage resources in addition to or instead of the memory 41 and / or the DISK 44. Further, for example, HDD or SSD is used for the DISK 44.
  • the configuration in which the DISK 44 is built in the client / host 40 is not essential, and a configuration in which the DISK 44 is externally attached, that is, outside the client / host 40 and connected by an HBA or the like may be used.
  • a program stored in the DISK 44 (a program (for example, OS) for controlling the client / host 40) is read onto the memory 41, and the CPU 42 executes the program.
  • the client / host 40 transmits a file level I / O request to the local file server 30 via the NIC 43.
  • the user 1 who is a user of the information system according to the embodiment of the present invention can move to each Edge 10 and can use the client / host 40 in any Edge 10.
  • the user 1 also has a portable terminal 150 when visiting each Edge 10.
  • the portable terminal 150 is a portable and wirelessly communicable electronic device such as a cellular phone as an example, and can communicate with the center file server 120 of the Core 100 via an access point 160 connected to the communication network 80.
  • the portable terminal 150 includes a memory and a processor for executing a program stored in the memory, as in many computers, but is not illustrated.
  • the mobile terminal 150 has a function of acquiring position information such as GPS, and has a function of transmitting the acquired position information to the center file server 120.
  • FIG. 1 shows a configuration in which the access point 160 is connected to the communication network 80, the present invention is not limited to this configuration.
  • the center file server 120 and the access point 160 may be connected via a network other than the communication network 80.
  • only the user 1 is shown in the figure, a plurality of users actually use the information system. And each user has the portable terminal 150 provided with the function which can acquire position information.
  • the Core 100 computer system includes a storage device 110 and a center file server 120.
  • the center file server 120 is an example of a remote file server.
  • a storage device 110 is connected to the center file server 120.
  • the storage device 110 includes a storage controller (denoted as CTL in the figure) 111 and a DISK 113.
  • CTL storage controller
  • DISK DISK
  • the configuration of the storage device 110 and the configuration of the storage device 20 are the same. Accordingly, the storage apparatus 110 also receives the block level I / O request transmitted from the center file server 120 by the CTL 111 and executes the I / O to the appropriate DISK 113. Note that the present invention is effective even if the configuration of the storage device 110 and the configuration of the storage device 20 are different.
  • the center file server 120 includes a memory 121, a CPU 122, a NIC 123, and an HBA 124. Instead of or in addition to the memory 121, another type of storage resource may be provided.
  • a program for example, OS
  • the center file server 120 communicates with the local file server 30 via the NIC 123 and the communication network 80.
  • the center file server 120 accesses the storage apparatus 110 in block units via the HBA 124.
  • FIG. 2 is a software configuration diagram of the information system according to the embodiment.
  • the CTL 21 (111) uses one or more storage areas of the DISK 23 to form one or a plurality of LUs (Logical Units) 24 (114), and the local file server 30 (center file server 120). ).
  • the local file server 30 (center file server 120) stores a file in the LU 24 (114) provided from the storage apparatus 20 (110). Further, the OS used by the local file server 30 (center file server 120) and various programs may be stored in the LU 24 (114) provided from the storage apparatus 20 (110).
  • a data mover program 37 (125), a file system 36 (126), and a kernel / driver 38 (127) are stored in the memory 31 of the local file server 30 (the memory 121 of the center file server 120).
  • a file sharing program 35 is further stored in the memory 31 of the local file server 30.
  • the data mover program 37 in the local file server 30 is referred to as “local mover”
  • the data mover program 125 in the center file server 120 is referred to as “remote mover”. "Mover program”.
  • Files are exchanged between the local file server 30 and the center file server 120 via the local mover 37 and the remote mover 125.
  • the kernel / driver 38 (127) performs general control and hardware such as schedule control of a plurality of programs (processes) operating on the local file server 30 (center file server 120) and handling interrupts from hardware. Perform inherent control.
  • the file system 36 (126) is a program that stores and manages files and file management information in the LU 24 (114), and is sometimes called a file system program.
  • the file management information includes various information (for example, information indicating the size and location of the file) regarding each file and directory.
  • the file management information the contents of management information necessary for replication processing and pre-download processing, which will be mainly described in the embodiment of the present invention, will be described later.
  • the file sharing program 35 is a program that provides a file sharing service to the client / host 40 using a communication protocol such as CIFS (Common Internet File System) or NFS (Network File System).
  • CIFS Common Internet File System
  • NFS Network File System
  • FIG. 5 is an explanatory diagram of file management information managed by the local file server 30 (or the center file server 120) according to the embodiment of the present invention.
  • the inode area 241 and the actual data area 242 exist in the LU 24 used by the local file server 30 for storing files.
  • the inode area 241 stores inode, which is management information of each file, and the actual data area 242 stores actual data of the file.
  • the configuration of the file inode 201 stored in the inode area 241 will be described. Although information other than the information described below can be stored in the inode, only information used in the replication processing and pre-download processing performed in the embodiment of the present invention will be described here.
  • the inode 201 is a field of an inode number 220a, an owner 220b, an access right 220c, a size 220d, a last access date / time 220e, a stubbing flag 220f, a replication completed flag 220g, a link destination 220h, and a data block address 220i.
  • Each inode in the inode area 241 is given a unique number in the inode area 241 called an inode number, and the inode number 220a stores this inode number.
  • the owner 220b stores the user ID of the owner of the file managed by this inode.
  • the access right 220c stores access right information (readable, writable, etc.) of the file managed by this inode.
  • the size 220d stores the size of the file managed by this inode.
  • the latest access date and time 220e stores information on the latest date and time when the file managed by this inode was accessed.
  • the data block address 220i is a plurality of fields in one inode, and stores the address of the area where the actual data of the file managed in this inode is stored.
  • the stubbing flag 220f, the replicated flag 220g, and the link destination 220h are fields used by the local mover 37 according to the embodiment of the present invention.
  • information indicating whether or not the file managed by this inode is stubbed is stored by the local mover 37. When “0” is stored, this file is not stubbed, and when “1” is stored, this file is stubbed.
  • the replication completed flag 220g information indicating whether or not the file managed by this inode has been replicated to the center file server 120 is stored by the local mover 37. When “0” is stored, this indicates that the file managed by this inode has not yet been replicated to the center file server 120. When “1” is stored, the file managed by this inode Represents that it has been replicated to the center file server 120.
  • the file created and updated by the local file server 30 needs to be replicated to the center file server 120 at some time.
  • the replicated flag 220g is used to specify a file that needs to be replicated.
  • the local mover 37 sets the replication flag 220g of the file to “1”.
  • the local mover 37 sets the replication completed flag 220g of the file to “0”.
  • the local mover 37 sets a file whose replication flag 220g is “0” as a replication target.
  • the local mover 37 sets the replicated flag 220g of the target file stored in the LU 24 to “1”.
  • link destination 220h information indicating the storage destination (link destination) in the Core 100 of the actual data of the file managed by this inode, for example, URL (Uniform Resource Locator) is stored.
  • Information on the storage location in the center file server 120 is stored in the link destination 220 h by the data mover program 125 of the center file server 120.
  • the center file server 120 transfers a file in response to a request from the local file server 30, the file management information including the link destination 220h is also transferred to the local file server 30.
  • the file transferred from the local file server 30 by the replication process is stored in the LU 114 in the center file server 120
  • information on the storage location (information corresponding to the link destination 220h) is transferred from the center file server 120 to the local file server 30. Sent to.
  • the local file server stores the transmitted storage location information in the link destination 220h.
  • the local mover 37 is a program that is called from the file sharing program 35 and operates. When called from the file sharing program 35, the local mover 37 uses the file system 36 to read / write the file to be accessed.
  • the local mover 37 is also a program that performs replication, stubbing, and pre-download processing.
  • the local mover 37 When executing the replication process, the local mover 37 reads a file to be replicated (inode and actual data of the file indicated by the data block address 220 i of the inode), and reads the read file to the center file server 120. Forward to.
  • the remote mover 125 writes the file (replication target file) transferred from the local mover 37 to the LU 114 of the storage apparatus 110 using the file system 126.
  • the local mover 37 deletes the replicated file (strictly, the actual data of the file) in the LU 24, and the LU 24 stores the stub (metadata) of the file from which the actual data has been deleted. Data) only (perform so-called stubbing process). This realizes substantial migration of replicated files. Specifically, “1” is stored in the stubbing flag 220f of the file to be stubbed, and the value of the data block address 220i is set to NULL.
  • the local mover 37 receives a read request from the client / host 40 for the file from which the actual data has been deleted, the file linked to the stub by referring to the stub (file management information, i.e., inode).
  • file management information i.e., inode
  • the actual data is acquired via the remote mover 125, and the acquired file is transmitted to the client / host 40.
  • stub is associated with file storage location information (information indicating the link destination.
  • the link destination 220h included in the inode corresponds).
  • Object metadata Due to the action of the local mover 37, even if the file stored in the LU 24 is a stub without actual data, it is not recognized from the client / host 40.
  • the application 45 is software (application program) used by the client / host 40 according to the purpose of work.
  • the kernel / driver 47 is substantially the same as the file system 36 (126) and the kernel / driver 38 (127) described above.
  • the file system 46 is a program for processing a file access request from the application 45 or the like.
  • the file system 46 receives a file access request from the application 45 or the like, if the file to be accessed is a file in the DISK 44, the file system 46 performs an access process to the file stored in the DISK 44.
  • the file to be accessed is a file managed by the local file server 30, it communicates with the file sharing program 35 using a protocol such as CIFS or NFS, and performs an access process to the file managed by the local file server 30.
  • the location information management program 128 of the center file server 120 receives location information from the portable terminal 150 of the user 1 and stores it in the location information transition holding table 400 (described later).
  • a location transmission program 155 is stored in the memory of the mobile terminal 150, and periodically acquires location information (latitude, longitude information, etc.) of the mobile terminal 150, along with user information of the user 1 (described later), The position information is transmitted to the center file server 120.
  • the center file server 120 stores and manages files for all users who use the information system according to the embodiment of the present invention.
  • the user accesses a file stored in the local file server 30 via the client / host 40 at each site.
  • the local file server 30 does not store all the files managed by the center file server 120.
  • the center file server 120 is used when the user uses the file or before the user uses the file. Files are downloaded from.
  • the user refers to or updates the file downloaded to the local file server 30, and the updated file is replicated to the center file server 120.
  • state 0 As an initial state (referred to as state 0), a user (user A) logs in to the client / host 40 of the base A (Edge 10A), and then logs in to the local file server 30 using the client / host 40, and then Assume that a file provided by the file server 30 is being accessed.
  • state 0 one or more files used by user A are stored in LU 24 of Edge 10A.
  • the file of user A also exists in the LU 114 of the Core 100, but when the user A updates the file in the Edge 10A, the file of the user A stored in the LU 114 of the Core 100 is more than the file existing in the Edge 10A. Are old files (files that do not reflect the contents of the update performed by Edge 10A).
  • the user A logs off from the client / host 40 and the local file server 30 in order to move to another base (base B (Edge 10B)).
  • base B (Edge 10B)
  • state 1 The state at the time when the logoff process is performed. Thereafter, the user starts moving toward the base B.
  • the mobile terminal 150 possessed by the user A continues to send location information to the center file server 120 periodically. Even when the user A is moving from the base A to the base B (referred to as state 2), the position information is transmitted.
  • the local file server 30 at the site A replicates the file updated at the site A to the center file server 120.
  • the priority order of the files to be replicated is determined based on the location information of each user. Make a decision.
  • the local file server 30 periodically acquires location information of the user A and other users from the center file server 120 ((3) in the figure).
  • the local file server 30 determines the replication order based on the acquired position information. Although details of the priority determination method will be described later, among the users, replication is performed preferentially from a file of a user whose expected time to reach another base is short ((4) in the figure). Thereafter, the local file server 30 at the site A stubs the replicated file. The shorter the expected time to reach another site, the sooner the file access starts at the destination site.
  • the file of the user whose file access is started at the destination site is replicated in order from the earliest time, the file updated at the site A is accessed at the destination site. The situation where it is not possible can be prevented.
  • the local server 30 of the base B (Edge 10B), which is the destination of the user A, also periodically acquires position information ((6) in the figure).
  • the local file server 30 of the base B (Edge 10B) selects a file to be downloaded (recalled) from the Core 100 to the LU 24 of the base B (Edge 10B) based on the acquired position information.
  • the file to be selected will arrive at the base B soon, and the file of the user who is highly likely to log in to the local file server 30 is preferentially selected ((7) in the figure).
  • the file used by the user A is downloaded to the local file server 30 at the site B. Therefore, when the user A accesses the file, the local file server 30 at the site B does not need to download (recall) the file from the center file server 120.
  • the local file server 30 at the site A performs replication and stubbing, and the local file server 30 at the site B downloads (recalls) the file.
  • the user A moves from the site B to the A. It can also move.
  • the local file server 30 at the site B performs replication and stubbing, and the local file server 30 at the site A downloads (recalls) the file. Therefore, the local file server 30 at any location has both a replication based on position information, a program for stubbing, and a program for downloading (recalling) a file based on position information.
  • the data mover program 37 of the local file server 30 performs replication based on location information, a program for stubbing, and downloads (recalls) a file based on location information. Both programs are included.
  • the local file server 30 includes an edge location information table 300, a login date / time table 310, a logoff date / time table 320, a proximity determination history table 330, a login probability table 340, and a file usage history table 350 in the memory 31.
  • the center file server 120 has a position information transition holding table 400 and an edge position information table 410 in the memory 121.
  • the Edge position information table 300 (410) is a table that records geographical position information of each base, and stores the longitude 302 and latitude 303 of each base 301.
  • the Edge position information table 300 in the local file server 30 at each site stores the same information.
  • the center file server 120 also has an Edge position information table 410 with the same contents (on the other hand, tables other than the Edge position information table 300 (410), that is, a login date table 310, a logoff date table 320, and a proximity determination history table 330.
  • the login probability table 340 and the file usage history table 350 are information managed independently by each local file server 30).
  • the contents of the login date / time table 310 and the logoff date / time table 320 will be described with reference to FIG.
  • the login date and time table 310 is a table that records the date and time when the user 1 using the client / host 40 logged in to the local file server 30 (login date and time 312) in association with the user ID (311) that is user identification information. is there.
  • the log-off date and time table 320 is a table that records the date and time when the user 1 using the client / host 40 logs off from the local file server 30 (log-off date and time 322) in association with the user ID (321) that is user identification information. It is.
  • the file sharing program 35 When the user logs in to the local file server 30 using the client / host 40, the file sharing program 35 records the user ID (311) and the login date 3121 in the login date table. On the other hand, when the user logs off, the file sharing program 35 records the user ID (321) and the login date / time 322 in the log-off date / time table 320. In the login date table 310 and the logoff date table 320, a plurality of login dates 312 and a plurality of logoff dates 322 can be recorded for one user.
  • the position information transition holding table 400 is a table for recording a result of the position information management program 128 of the center file server 120 receiving position information from the mobile terminal (the position transmission program 155). From the position transmission program 155, user information (user ID) and longitude and latitude information as position information are sent. When the position information management program 128 receives this information, it records the user ID sent from the position transmission program 155 in the user ID 401 field, and the longitude and latitude in the longitude 403 and latitude 404, respectively.
  • the registration time 402 stores the time when the user ID 401, the longitude 403, and the latitude 404 are recorded in the position information transition holding table 400, or the time when the user ID and the position information are received from the position transmission program 155.
  • time information acquired from the clock of the center file server 120 is used.
  • time information may be transmitted together with the user ID and position information from the position transmission program 155 of the portable terminal 150, and the transmitted time may be stored in the position information transition holding table 400. .
  • the user ID 401 used in the information system according to the embodiment of the present invention may be different for each computer (for example, the user ID assigned to the user “hirano” is the client / host 40 of the site A). Is “40”, but “3521” may be assigned to the client / host 40 at the base B).
  • the user IDs assigned to one user are all common (the same ) ID. Therefore, for example, the user ID of the user “hirano” is a common ID (for example, “40”) in any Edge client / host 40 or local file server 30.
  • the location transmission program 155 of the portable terminal 150 possessed by the user “hirano” is configured to transmit a common ID (eg, “40”) when transmitting location information and a user ID to the center file server 120. ing.
  • the user ID assigned to the user “hirano” transmitted from the portable terminal 150 in the center file server 120 and the user “hirano” in the center file server 120 or the local file server 30 are used.
  • the correspondence table with the user ID assigned to the user ID is managed, and the user ID assigned to the user “hirano” transmitted from the portable terminal 150 is transmitted to the user in the center file server 120 or the local file server 30.
  • Means for converting to a user ID assigned to “hirano” may be provided. In this way, the present invention can be implemented even if the portable terminal 150 and other servers (for example, the local file server 30 and the center file server 120) have different user IDs assigned to one user. is there.
  • the position information transition holding table 400 is configured to store a plurality of pieces of information (a set of registration time 402, longitude 403, and latitude 404) for one user. Has been. Therefore, it is possible to calculate the movement speed and movement vector (movement direction, etc.) of a user from a plurality of position information and registration times of a certain user registered in the position information transition holding table 400. Further, by using the position information of each Edge registered in the Edge position information table 300 and the user's position information (plurality), it is possible to calculate the distance from each user's position to each Edge and the rate of change of the distance. Is possible. By referring to the rate of change in distance, it is possible to determine whether each user is approaching or moving away from each Edge.
  • the proximity determination history table 330 is used to store user information and the time at that time when it is determined that the user has approached the base (Edge).
  • the proximity determination history table 330 includes columns for user ID 331, approach date / time 332, and login presence / absence 333.
  • the predicted arrival time for each user to reach the local site is calculated, and when the predicted time is equal to or less than a predetermined threshold, You may judge that you have approached your base. Further, both methods may be used.
  • the login presence / absence 333 of the proximity determination history table 330 stores any value “ ⁇ 1”, “0”, or “1”, but the initial value is “ ⁇ 1”. Therefore, when values are stored in the user ID 331 and the approach date and time 332, the value “ ⁇ 1” is stored in the login presence / absence 333.
  • the local file server 30 refers to the login date table 310 for a while after the values are stored in the user ID 331 and the approach date and time 332, and the user specified by the user ID 331 falls within a predetermined time from the approach date and time 332. Determine if there is a fact that you are logged in.
  • the proximity determination history table 330 can store a plurality of information (a set of approach date / time 332 and login presence / absence 333) for one user. However, since information about one user cannot be stored infinitely, it is possible to store N (N> 1) information per user, and when storing more than N information, it is the oldest. Delete the information (the past information with the approach date and time 332).
  • FIG. 10 shows the contents of the login probability table 340.
  • the login probability table 340 stores a login probability 342 for each user ID 341.
  • the local file server 30 refers to the proximity determination history table 330, calculates the login probability for each user (user specified by the user ID 331), and stores the calculated value in the login probability 342.
  • the login probability of a user whose user ID is User001 is calculated.
  • the number of rows in which the user ID 331 is “User001” in the proximity determination history table 330 is counted (this value is assumed to be A).
  • the number of rows where the user ID 331 is “User001” is counted.
  • the number of rows where the value of the login presence / absence 333 is “1” is counted.
  • “B / A” is the login probability of User001.
  • the local file server 30 may calculate the login probability at the same time as updating the contents of the proximity determination history table 330, or may be periodically performed at a timing unrelated thereto. .
  • FIG. 11 shows the contents of the file usage history table 350.
  • the file usage history table 350 is a table for storing a history of user access to files provided by the file server 30, and the user specified by the user ID 351 accesses the file specified by the file path 353.
  • the access date and time is stored in the access date and time 352, and the access data size is stored in the size 354.
  • the file usage history table 350 is a table for storing history, so that no information is stored in the initial state.
  • the file sharing program 35 stores information on the user ID 351, access date / time 352, file path 353, and size 354.
  • the history of the file is already stored in the file usage history table 350. In this case, the access date and time 352 and the size 354 of the access target file are stored. Only updates are performed.
  • the replication / stub conversion process is a process periodically executed in the local file server 30.
  • the local mover 37 refers to the log-off date / time table 320 and the log-in date / time table 310, and collects user IDs of users who are logged off within a predetermined time in the past from the current time and who are not currently logged in ( S301).
  • a user who has logged off within a predetermined time in the past from the current time is referred to as a “candidate user”.
  • the local mover 37 requests the location information management program 128 of the center file server 120 to transmit the location information corresponding to the user ID collected in S301, and acquires the location information of the user from the location information management program 128. (S302).
  • the request transmitted to the location information management program 128 includes the user ID collected in S301.
  • the location information management program 128 refers to the location information transition holding table 400 based on the user ID included in the request, and the user ID 401 is the user ID included in the request.
  • a set of the registration time 402, longitude 403, and latitude 404 of the extracted row is returned to the local mover 37.
  • the information in the position information transition holding table 400 that is returned from the position information management program 128 to the data mover and in which the user ID 401 is equal to the user ID included in the request is referred to as position transition information.
  • the information returned to the local mover 37 in S302 is not limited to the example described above.
  • the user ID 401 may be included in the returned information.
  • N rows (N ⁇ 2) are extracted in order from the row with the newest registration time 402, and the information on the extracted rows is returned. Good.
  • the local mover 37 When receiving the position transition information from the position information management program 128, the local mover 37 performs a replication priority determination process (S303).
  • the replication target file is selected with reference to the position transition information and Edge position information table 300. Although details will be described later with reference to FIG. 13, as a result of executing S303, a replication target list storing a list of replication target files is created.
  • the local mover 37 performs file replication according to the order of the files stored in the replication target list created in S303 (S304). For a file that has been replicated, the replicated flag 220g is changed from “0” to “1”. Thereafter, the local mover 37 stubs the file (S305). In the file stubbing, the local mover 37 refers to the metadata of each file, and among the files having the replicated flag 220g of “1”, the stub is set for a file whose difference between the last access date / time 220e and the current date / time is a predetermined value or more. Do. For a file that has been stubbed, the stubbing flag 220f is set to "1".
  • Stubbing may be performed periodically at a timing independent (asynchronous) with the replication processing.
  • the replication target file and the replication priority are determined based on the position information of the candidate user acquired in S302 of FIG.
  • the local mover 37 extracts the latest position information (information with the latest registration time) from the position transition information of each candidate user acquired in S302.
  • the local mover 37 calculates the distance to each base of each candidate user from the extracted latest position information and the Edge position information table 300 (S351).
  • each base does not include its own base (the base where the local file server 30 executing the processing of S351 is located).
  • Lambert-Andoyer disclosed in Japanese Patent Laid-Open No. 2009-15181 is used as an example.
  • the method using the formula can be used.
  • the method of calculating the distance between the user and each base in the present invention is not limited to this method, and other methods may be used.
  • the local mover 37 calculates the average moving speed to each base using the position transition information of each candidate user. Specifically, a unit time displacement to each base may be obtained using a plurality of pieces of position information (two position information as an example).
  • the user selected here is referred to as “selected user”.
  • the local mover 37 calculates an estimated time until it reaches each base for each user selected in S353.
  • the distance to each base determined in S351 may be divided by the average moving speed to each base calculated in S352.
  • the prediction time may be calculated using a calculation method other than this.
  • the replication target list 400 is a list in which a plurality of path names of files to be replicated are registered.
  • the path name located at the top of the list is the path name of the file having the highest replication priority, and the path names of the files are additionally stored in this list in the order of replication priority.
  • the local mover 37 sorts the user IDs of the selected user (s) in the order of the shortest estimated arrival time to any of the bases. Then, the following processing is executed in the sorted user ID order: (1) From among the files under the user's home directory specified by the user ID, a file having a replication flag 220g value of “0” is specified. (2) The path name of the identified file is registered in the replication target list 400.
  • the local mover 37 performs an operation of selecting a file having a replication flag 220g value of “0” as a replication target for each file under the home directory of a user other than the user to be processed in S355.
  • the path name of the selected file is added to the replication target list 400.
  • the local mover 37 performs an operation of selecting a file whose replication flag 220g is “0” as a replication target for each file other than the home directory, and the path name of the selected file is a replication target. Additional registration is made in the list 400, and the process ends.
  • the pre-download process is a process periodically executed in the local file server 30 as in the replication / stub conversion process.
  • the local mover 37 acquires the position transition information of each user from the position information management program 128 (S401).
  • the local mover 37 uses the position transition information of each user acquired in S401 and the position information of the own base (registered in the Edge position information table 300), The moving speed of each user is calculated (S402).
  • This process may be the same as S351 and S352 in FIG. 13 or may be different.
  • the difference from S351 and S352 is that the distance to each base and the moving speed to each base are calculated in S351 and S352, but only the position and moving speed to the base are calculated in S402.
  • the local mover 37 selects a user who is approaching (approaching) the base based on the position information and movement speed of each user calculated in S402.
  • a user who is determined to be heading to his / her base is selected by the same method as S353 in FIG.
  • the predicted time until the user who is determined to be heading to the base is determined to reach the base by the same method as S354 in FIG.
  • the user whose calculated prediction time is below a predetermined threshold is selected.
  • the user selected here is referred to as a “candidate user”.
  • a method in which a user at a position where the distance from the base is less than a predetermined threshold is used as a candidate user may be employed.
  • a candidate user is selected using these two methods, that is, a user who is close to his / her base and whose distance from the base is below a predetermined threshold is selected as a candidate user. Also good.
  • the information on the candidate users and the current time are registered in the proximity determination history table 330. Further, referring to the login date / time table 310, the presence / absence of login is determined for each entry registered in the proximity determination history table 330, and 0 or 1 is recorded in the login presence / absence 333.
  • the local mover 37 calculates the login probability of the candidate user.
  • the log-in probability is calculated as described in the description of FIG. That is, referring to the proximity determination history table 330, for each user (the number of times the user is determined to have approached his / her own base and logged in at that time) / (the number of times the user has been determined to have approached his / her own base) And the login probability of the candidate user is registered in the login probability table 340. Then, referring to the login probability table 340, a user whose login probability is equal to or higher than a predetermined threshold among candidate users is selected. The user selected here is referred to as “selected user”.
  • the local mover 37 determines the capacity of the storage area for storing the user file (home directory file) of the user selected in S405.
  • the storage capacity to be allocated to each user is divided evenly by dividing the free capacity of the local file server 30 by the number of selected users.
  • the calculation is performed in S404.
  • the storage capacity to be allocated to each user is determined based on the login probability of each user.
  • the storage capacity determined here is the user file download upper limit. A large storage area is allocated to a user with a high login probability so that a large amount of data of a user with a high login probability is downloaded.
  • a method for calculating the storage capacity to be allocated to each user will be described.
  • the local mover 37 calculates the storage capacity Ci to be allocated to each user based on the following equation (2).
  • Ci free capacity of local file server 30 ⁇ Wi (2) (Note that the free capacity of the local file server 30 is an unused area in which no file or directory is stored yet in the storage area of the LU 24 in which the local file server 30 stores a file / directory using the file system 36. The size of the area.)
  • the local mover 37 determines a download target file and downloads the determined file among user files of each selected user. For each user i, a file is downloaded in the following order (a) to (d). In addition, as described below, a file to be downloaded is determined from among the files recorded in the file usage history table 350. In the present embodiment, among files recorded in the file usage history table 350, a file (user file) in the home directory of the user i is a download target. However, as another embodiment, in the file usage history table 350, when there is a history that the user i has accessed a file other than his / her home directory, the file may be included in the download target.
  • the local mover 37 refers to the file usage history table 350 and selects and downloads a file whose access date and time 352 is within a predetermined time from the current time among files in the home directory of the user i. At this time, the user file of each user i is downloaded within a range not exceeding Ci.
  • the local mover 37 acquires the file usage history table 350 from the local file server 30 at another base. To do.
  • the local mover 37 is a file registered in the file usage history table 350 of another site, and among the files in the home directory of the user i, the file whose access date and time 352 is within a predetermined time from the current time (however, (a ) And (b) are not included in the download process). Also at this time, the user file of each user i is downloaded within a range not exceeding Ci.
  • the above is the file replication method and file pre-download method in the information system according to the embodiment of the present invention.
  • the local file server of the present invention calculates the predicted time to reach each user's other base based on the user's location information. Then, it replicates to the center file server preferentially from the user file of the user who has a short predicted time to reach another base. Since files are replicated in order starting from the file of the user whose file access is started earlier at the destination site, it is possible to prevent a situation in which a file updated at a certain site cannot be accessed at the destination site.
  • the local file server of the present invention determines whether the user is approaching his / her base based on the user's location information, and preferentially selects the user file of the user who is determined to be approaching his / her base. Download from the file server in advance. Therefore, when the user who arrives at the base accesses the file, the user file has already been downloaded to the local file server, so that the user's file access response time can be shortened. Also, the time at which the user is determined to have approached his / her own location or the time at which the user logged in to the local file server is stored, and the user's login probability is calculated based on the information, and the login probability is calculated. Since the amount of user file download is determined, it becomes possible to pre-download more user files that are likely to access the local file server.
  • the location information (latitude, longitude, etc.) periodically transmitted from location information acquisition means such as GPS provided in the portable terminal possessed by the user is used as the location information of the user, the user reaches the base. Calculation of the prediction time and determination of whether or not the user is approaching the base can be performed with high accuracy. As a result, it is possible to determine the replication order with high accuracy and the prior download order.
  • each user logs in to the client / host 40 in each Edge 10 and accesses a file managed by the local file server 30 from the client / host 40.
  • the configuration is limited to this configuration. It is not something.
  • the local file server 30 may be provided with the function of the client / host 40, and the user may directly log in to the local file server 30 and access a file managed by the local file server 30.
  • the storage device 20 for storing the write data of the local file server 30 is not limited to the configuration outside the local file server 30.
  • a configuration in which the storage device 20 is built in the local file server 30 may be adopted.
  • the center file server 120 may adopt a configuration in which the storage device 110 is incorporated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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 Between Computers (AREA)

Abstract

 本発明の情報システムは、ローカルファイルサーバとクライアントを有する複数の拠点と、センターファイルサーバを備えたデータセンタとで構成される。ユーザが、いずれかの拠点のクライアントを用いてローカルファイルサーバのファイルを使用した後、別拠点への移動を開始すると、ローカルファイルサーバでは、各ユーザの位置情報に基づいて、別拠点への到着予測時間が最も短いユーザのファイルを優先的にセンターファイルサーバへとレプリケーションする。また、各拠点では、ユーザの位置情報に基づき、自拠点への到着予測時間が短いユーザのファイルのダウンロードを実施する。

Description

情報システム
 本発明は、通信ネットワークに接続されるファイルサーバを含む情報システムに関する。
 従来、ファイルサーバに格納されたユーザのファイルにアクセスする際には、ファイルサーバの設置されている拠点内のクライアントコンピュータからアクセスする形態が主流であった。しかし、近年では、インターネットの普及に伴い、遠隔地からインターネット経由で、ファイルサーバのデータを利用する形態が広まりつつある。
 遠隔地からインターネット経由で、ファイルサーバにアクセスする場合、ファイルサーバのファイルにアクセスしたいユーザは、インターネットというスループットの保証されていないネットワークを介して、ファイルサーバにアクセスしなければならない。そのため、ネットワークの状態によっては、ユーザがファイルにアクセスする際の応答時間が長くなることがあるという問題がある。
 かかる問題を解決するため、特許文献1には、ネットワーク上で相互接続された複数のファイルサーバとデータ管理センタから成るデータ配送システムにおいて、ユーザの移動に追従して、複数のファイルサーバのうちユーザ近くのファイルサーバに対して、ユーザの使用するファイルを自動的に配送するデータ配送システムの技術が開示されている。特許文献1に開示のデータ配送システムでは、データ管理センタがユーザの所持する位置情報端末から位置情報を取得し、取得した位置情報に基づいて、ユーザの最寄りのファイルサーバにデータを配送するようにしている。これにより、ユーザは使用したいファイルを即座に利用できるという利点がある。
特開2003-6071号公報
 特許文献1に記載のシステムでは、ユーザの移動に伴って、ファイルサーバ間でのファイル転送が発生する。データ配送システムを使用する利用者が多数存在し、各利用者が頻繁に拠点を移動する環境では、そのデータ転送量は多大なものになる。
 転送対象のデータが多量にある場合、単位時間あたりに転送可能なデータ量には限りがあるため、転送対象のファイルに優先付けが必要となる。最も簡便な優先付けの方法として、たとえば最初に拠点の移動を開始した利用者のファイルから順に、移送する方法が考えられる。
 ただし、各利用者の移動速度、移動距離は様々であるため、2番目以降に拠点の移動を開始した利用者が、最初に拠点の移動を開始した利用者よりも先に移動先拠点に到着し、移動先拠点においてファイルの利用を開始することもあり得る。この場合、最初に拠点の移動を開始した利用者のファイル移送を優先して行っていると、2番目以降に拠点の移動を開始した利用者のファイル転送が遅れ、2番目以降に拠点の移動を開始した利用者が、移動先拠点でファイルアクセスするまでの間に、ファイルが移動先拠点に到着していない事態が発生し得る。その場合、利用者は移動先拠点ファイルが配送されて来るまで、ファイルを参照できないという問題が発生する。
 そこで、本発明は、ファイルの配送順序を適切に制御することのできる技術を提供することを目的とする。
 本発明の一観点に係る情報システムは、ローカルファイルサーバとクライアントを有する複数の拠点と、センターファイルサーバを備えたデータセンタとで構成される。ユーザが、いずれかの拠点のクライアントを用いてローカルファイルサーバのファイルを使用した後、別拠点への移動を開始すると、ローカルファイルサーバでは、各ユーザの位置情報に基づいて、別拠点への到着予測時間が最も短いユーザのファイルを優先的にセンターファイルサーバへとレプリケーションする。また、各拠点では、ユーザの位置情報に基づき、自拠点への到着予測時間が短いユーザのファイルのダウンロードを実施する。
 さらに本発明の一観点に係る情報システムでは、各拠点のローカルファイルサーバは、ユーザが拠点のローカルファイルサーバにログインする確率に基づいて、各ユーザのファイルダウンロード量を決定する。
 本発明によると、ある拠点のファイルサーバで更新されたファイルを、ユーザの拠点間移動に伴って、適切に移動先拠点のファイルサーバに適切に格納させることができる。
図1は、本発明の実施例に係る情報システムのハードウェア構成図である。 図2は、本発明の実施例に係る情報システムのソフトウェア構成図である。 図3は、本発明の実施例に係る情報システムで行われる処理の概要を示す図である。 図4は、ローカルファイルサーバ、センターファイルサーバのメモリに格納される各種管理情報を示した図である。 図5は、inodeの構成を示す図である。 図6は、Edge位置情報テーブルの構成を示す図である。 図7は、位置情報推移保持テーブルの構成を示す図である。 図8は、ログイン日時テーブル及びログオフ日時テーブルの構成を示す図である。 図9は、近接判定履歴テーブルの構成を示す図である。 図10は、ログイン確率テーブルの構成を示す図である。 図11は、ファイル利用履歴テーブルの構成を示す図である。 図12は、レプリケーション/スタブ化処理のフローチャートである。 図13は、レプリケーション優先順位決定処理のフローチャートである。 図14は、事前ダウンロード処理のフローチャートである。 図15は、レプリケーション対象リストの構成を示す図である。
 以下、本発明の実施例について、図面を用いて説明する。
 いくつかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 なお、以後の説明では「aaaテーブル」等の表現にて本発明の情報を説明する場合があるが、これら情報は、テーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」等について「aaa情報」と呼ぶことがある。また、「bbb名」等の表現にて本発明の「bbb」を識別するための情報を説明する場合があるが、これらの識別するための情報は、名前に限られず、識別子や識別番号、アドレスなど、「bbb」が特定できる情報であればよい。
 また、以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサ(典型的にはCPU(Central Processing Unit))によって実行されることで、定められた処理をメモリ及びI/F(インタフェース)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、ファイルサーバ(例えば、後述のローカルファイルサーバ、センターファイルサーバ)が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。記憶メディアとしては、例えば、ICカード、SDカード、DVD等であってもよい。
 ここで、以下で説明する実施例で用いられる各種用語について説明する。「Core」とは、リモートの計算機システムを含んだ拠点(集約拠点)であり、例えば、サーバやストレージ装置を一括管理する拠点やクラウドサービスを提供する拠点である。「Edge」とは、ローカルの計算機システムを含んだ拠点であり、例えば、支店、営業所、リモートオフィスなどユーザが実際に業務を行う拠点である。「スタブ」とは、ファイルの格納先情報(リンク先を表す情報)が関連付けられたオブジェクト(メタデータ)である。「スタブ化」とは、Edge(Edgeの計算機システム)のファイルについて、実際のデータ(実データ)を削除し、管理情報のみを保持した状態にすることをいう。スタブ化されたファイルは、実データを保持していないため、アクセスされるとCoreの計算機システムから実データを取得する必要がある。このため、スタブ化されたファイルへのアクセスは、通常のファイルに比べてアクセス性能が低下する。
 「レプリケーション」とは、EdgeにあるファイルをCoreにコピー(複製)することをいう。「マイグレーション」とは、EdgeにあるファイルをCoreにレプリケーションし、Edgeのファイルをスタブ化することをいう。「アーカイブ」とは、マイグレーションとレプリケーションとの総称である。「リコール」とは、スタブ化されたファイルについて、Coreから実データを取得し、Edgeのファイルに保持させることをいう。「キャッシュ」とは、EdgeからCoreへレプリケーションした後に、Edgeに残っているファイルのこと又は、そのようにEdgeにファイルを残すことをいう。キャッシュへのアクセスは、通常のファイルと同等なアクセス性能である。「ホームディレクトリ」とは、ファイルサーバにおいて、ユーザ毎に割り当てられたユーザ専用のディレクトリのことをいい、配下に当該ユーザのディレクトリ及びファイルを含む。また「ユーザファイル」とは、当該ユーザのホームディレクトリ配下に格納されている、ユーザのファイル及び/またはディレクトリのことを意味する。
 以下で、本発明の実施例に係る情報システムの構成を説明していく。図1は、実施例に係る情報システムのハードウェア構成を示す図である。
 本発明の実施例に係る情報システムは、データセンタであるCore100と、データセンタとは異なる拠点である複数のEdge10とに配置される。Edge10とはたとえば、企業の支店、事業所等であり、各Edge10は、地理的に異なる場所に存在する。ただし、本発明は、Edge10間の距離によらず、有効である。たとえば第1のEdgeと第2のEdgeが近接した拠点、たとえば第1のEdgeと第2のEdgeがそれぞれ、同一敷地内の別の建物である構成でも良い。あるいは第1のEdgeが日本国内にあり、そして第2のEdgeが米国内に存在する構成でも良い。また図1に示す例では、Core100が単数であるが、Core100が複数存在する構成もあり得る。ただし、以下ではCore100が単数の構成例を中心に説明する。
 まず、Edge10に配置される計算機システムの構成から説明する。Edge10の計算機システムは、ストレージ装置20と、1以上のローカルファイルサーバ30と、1以上のクライアント(例えば、パーソナルコンピュータ)/ホスト(例えば、サーバ)40とを備える。ローカルファイルサーバ30は、ローカルのファイルサーバの一例である。ローカルファイルサーバ30は、例えば、通信ネットワーク50(例えばLAN(Local Area Network))経由で、クライアント/ホスト40に接続されている。また、ローカルファイルサーバ30は、例えば、通信ネットワーク60(例えばSAN(Storage Area Network))経由で、ストレージ装置20に接続されている。
 ストレージ装置20は、ストレージコントローラ(CTLと略記されることもある)21とDISK23とを備える。ストレージコントローラ21は、ローカルファイルサーバ30に接続される通信インタフェースや、DISK23へのI/O要求を処理するためのプロセッサなどを備えた装置である。DISK23は、ローカルファイルサーバ30からのライトデータを格納する最終記憶デバイスであって、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)などの記憶デバイスである。また、CTL21、DISK23は、図1ではそれぞれ1つのみが存在する構成が示されているが、複数存在しても良い。複数のDISK23で、1以上のRAIDグループが構成されてよい。
 ストレージ装置20は、ローカルファイルサーバ30から送信されたブロックレベルのI/O要求をCTL21で受信し、適切なDISK23へのI/Oを実行する。
 ローカルファイルサーバ30は、メモリ31と、CPU32と、NIC(Network Interface Card)33と、HBA(Host Bus Adaptor)34を備える。メモリ31、NIC33及びHBA34に、CPU32が接続されている。NIC33は、センターファイルサーバ120及びクライアント/ホスト40と通信する通信インタフェース装置である。HBA34は、ストレージ装置20と通信する通信インタフェース装置である。
 メモリ31は、CPU32が直接読み書きできる記憶領域(例えば、RAM(Random Access Memory)やROM(Read Only Memory))である。ローカルファイルサーバ30では、メモリ31上にローカルファイルサーバ30を制御するプログラム(例えばOS(Operating System))を読み込み、CPU32がそのプログラムを実行する。ローカルファイルサーバ30は、メモリ31に加えて又は代えて、別種の記憶資源を有してもよい。メモリ31は、記憶デバイスの一例である。
 ローカルファイルサーバ30は、NIC33経由で、クライアント/ホスト40からファイルレベルのI/O要求を受信する。ローカルファイルサーバ30は、ファイルレベルのI/O要求をブロックレベルI/O要求に変換してストレージ装置20に送信する。
 クライアント/ホスト40は、メモリ41と、CPU42と、NIC43と、DISK44と、を備える。クライアント/ホスト40は、メモリ41及び/又はDISK44に加えて又は代えて、別種の記憶資源を有してもよい。また、DISK44にはたとえば、HDDやSSDが用いられる。また、DISK44がクライアント/ホスト40に内蔵されている構成は必須ではなく、DISK44が外付け、つまりクライアント/ホスト40の外部にあり、HBAなどで接続される構成でも良い。
 クライアント/ホスト40では、DISK44に格納されているプログラム(クライアント/ホスト40を制御するプログラム(例えばOS))をメモリ41上に読み込み、CPU42がプログラムを実行する。また、クライアント/ホスト40は、NIC43経由で、ファイルレベルのI/O要求をローカルファイルサーバ30に送信する。
 本発明の実施例に係る情報システムの利用者であるユーザ1は、各Edge10に移動可能で、任意のEdge10にあるクライアント/ホスト40を利用することができる。また、ユーザ1は各Edge10を訪問する際、携帯端末150を所持している。携帯端末150は、一例として携帯電話等の、携帯可能で無線通信可能な電子機器であり、通信ネットワーク80に接続されたアクセスポイント160を介して、Core100のセンターファイルサーバ120との通信が可能な機器である。また携帯端末150は、多くの計算機と同様に、メモリとメモリに格納されたプログラムを実行するためのプロセッサを有するが、図示は省略している。
 また携帯端末150は、GPS等の、位置情報を取得可能な機能を備えており、取得した位置情報をセンターファイルサーバ120に送信する機能を有する。なお、図1では、アクセスポイント160が通信ネットワーク80に接続される構成を示しているが、本発明はこの構成に限定されるものではない。センターファイルサーバ120とアクセスポイント160が、通信ネットワーク80以外のネットワークを介して接続される構成でもよい。また、図ではユーザ1のみが示されているが、実際には複数のユーザが情報システムを利用する。そして各ユーザが位置情報を取得可能な機能を備えた携帯端末150を所持している。
 続いて、Core100に配置される計算機システムの構成を説明する。Core100の計算機システムは、ストレージ装置110と、センターファイルサーバ120と、を備える。センターファイルサーバ120は、リモートのファイルサーバの一例である。センターファイルサーバ120に、ストレージ装置110が接続されている。
 ストレージ装置110は、ストレージコントローラ(図中ではCTLと表記)111とDISK113とを備える。図1では、ストレージ装置110の構成とストレージ装置20の構成とは、同一である。従って、ストレージ装置110も、センターファイルサーバ120から送信されたブロックレベルのI/O要求をCTL111で受信し、適切なDISK113へのI/Oを実行する。なお、ストレージ装置110の構成とストレージ装置20の構成が異なっていても、本発明は有効である。
 センターファイルサーバ120は、メモリ121と、CPU122と、NIC123と、HBA124と、を備える。メモリ121に代えて又は加えて、別種の記憶資源が備えられてもよい。センターファイルサーバ120では、メモリ121上にセンターファイルサーバ120を制御するプログラム(例えばOS)を読み込み、CPU122がそのプログラムを実行する。また、センターファイルサーバ120は、NIC123及び通信ネットワーク80経由で、ローカルファイルサーバ30と通信する。センターファイルサーバ120は、HBA124経由で、ストレージ装置110に対してブロック単位のアクセスを行う。
 図2は、実施例に係る情報システムのソフトウェア構成図である。
 ストレージ装置20(110)では、CTL21(111)が1以上のDISK23の記憶領域を用いて、1または複数のLU(Logical Unit)24(114)を形成し、ローカルファイルサーバ30(センターファイルサーバ120)に提供している。ローカルファイルサーバ30(センターファイルサーバ120)は、ストレージ装置20(110)から提供されるLU24(114)に対して、ファイルを格納する。また、ストレージ装置20(110)から提供されるLU24(114)に対して、ローカルファイルサーバ30(センターファイルサーバ120)が使用するOSや、各種プログラムが格納されていても良い。
 続いてローカルファイルサーバ30及びセンターファイルサーバ120が実行する各種プログラムについて説明する。ローカルファイルサーバ30のメモリ31(センターファイルサーバ120のメモリ121)には、データムーバプログラム37(125)と、ファイルシステム36(126)と、カーネル/ドライバ38(127)と、が記憶されている。ローカルファイルサーバ30のメモリ31には、更に、ファイル共有プログラム35が記憶されている。以下、ローカルファイルサーバ30内のデータムーバプログラム37を、「ローカルムーバ」と言い、センターファイルサーバ120内のデータムーバプログラム125を、「リモートムーバ」と言い、それらを特に区別しない場合に、「データムーバプログラム」と言う。ローカルファイルサーバ30とセンターファイルサーバ120との間では、ローカルムーバ37及びリモートムーバ125を介して、ファイルのやり取りが行われる。
 カーネル/ドライバ38(127)は、ローカルファイルサーバ30(センターファイルサーバ120)上で動作する複数のプログラム(プロセス)のスケジュール制御やハードウェアからの割り込みをハンドリングするなど、全般的な制御及びハードウェア固有の制御を行う。
 ファイルシステム36(126)は、LU24(114)にファイル及びファイル管理情報を格納して管理するプログラムであり、ファイルシステムプログラムと呼ばれることもある。ファイル管理情報は、各ファイル、ディレクトリに関する様々な情報(例えば、ファイルのサイズや場所などを表す情報等)を含む。ファイル管理情報のうち、本発明の実施例で中心に説明される、レプリケーション処理や事前ダウンロード処理で必要な管理情報の内容については、後述する。
 ファイル共有プログラム35は、CIFS(Common Internet File System)、NFS(Network File System)といった通信プロトコルを使用して、クライアント/ホスト40にファイル共有サービスを提供するプログラムである。ファイル共有プログラム35は、クライアント/ホスト40からファイルアクセス要求(たとえばリード要求)を受け付けると、ローカルムーバ37を呼び出して、LU24からアクセス対象のファイルを読み出し、クライアント/ホスト40に返送する。
 ローカルムーバ37について説明する前に、まずファイルシステム36(126)の管理するファイル管理情報について説明する。図5は、本発明の実施例に係る、ローカルファイルサーバ30(またはセンターファイルサーバ120)で管理される、ファイル管理情報の説明図である。
 ローカルファイルサーバ30がファイルを格納するために用いるLU24内には、inode領域241と実データ領域242が存在する。inode領域241には、各ファイルの管理情報であるinodeが格納され、実データ領域242にはファイルの実データが格納される。
 inode領域241に格納される、ファイルのinode201の構成について説明する。なお、inodeには、以下で説明する情報以外の情報も格納され得るが、ここでは本発明の実施例で行われるレプリケーション処理や事前ダウンロード処理で用いられる情報についてのみ説明する。inode201は、inode番号220aと、所有者220bと、アクセス権220cと、サイズ220dと、最終アクセス日時220eと、スタブ化フラグ220fと、レプリケーション済みフラグ220gと、リンク先220h、データブロックアドレス220iのフィールドを有する。
 inode領域241内にある各inodeには、inode番号と呼ばれる、inode領域241内で一意な番号が付されており、inode番号220aには、このinode番号が格納される。所有者220bには、このinodeで管理されるファイルの所有者のユーザIDが格納される。アクセス権220cには、このinodeで管理されるファイルのアクセス権情報(リード可、ライト可等)が格納される。サイズ220dには、このinodeで管理されるファイルのサイズが格納される。最終アクセス日時220eには、このinodeで管理されるファイルがアクセスされた最新の日時の情報が格納される。データブロックアドレス220iは、1つのinodeの中に複数存在するフィールドで、このinodeで管理されるファイルの実データが格納されている領域のアドレスが格納される。
 スタブ化フラグ220f、レプリケーション済みフラグ220gと、リンク先220hは、本発明の実施例に係るローカルムーバ37で用いられるフィールドである。スタブ化フラグ220fには、このinodeで管理されるファイルがスタブ化されているか否かを表す情報が、ローカルムーバ37によって格納される。“0”が格納されている場合、このファイルはスタブ化されていないことを表し、“1”が格納されている場合、このファイルはスタブ化されていることを表す。
 レプリケーション済みフラグ220gには、このinodeで管理されるファイルがセンターファイルサーバ120にレプリケーション済みか否かを表す情報が、ローカルムーバ37によって格納される。“0”が格納されている場合、このinodeで管理されるファイルが、まだセンターファイルサーバ120にレプリケーションされていないことを表し、“1”が格納されている場合、このinodeで管理されるファイルがセンターファイルサーバ120にレプリケーション済みであることを表す。
 ローカルファイルサーバ30で作成、更新されたファイルは、何らかの契機でセンターファイルサーバ120にレプリケーションされる必要がある。レプリケーション済みフラグ220gは、レプリケーションが必要なファイルを特定するために用いられる。センターファイルサーバ120からファイルがダウンロードされ、当該ファイルをLU24に格納する際に、ローカルムーバ37は当該ファイルのレプリケーション済みフラグ220gを“1”にする。クライアント/ホスト40によってファイルが更新された時、あるいはクライアント/ホスト40によって新規ファイルが作成された時、ローカルムーバ37は当該ファイルのレプリケーション済みフラグ220gを“0”にする。そして後述するレプリケーション処理において、ローカルムーバ37はレプリケーション済みフラグ220gが“0”であるファイルをレプリケーション対象とする。ファイルがセンターファイルサーバ120にレプリケーションされると、ローカルムーバ37はLU24に格納されている対象ファイルのレプリケーション済みフラグ220gを“1”にする。
 リンク先220hには、このinodeで管理されるファイルの実データのCore100における格納先(リンク先)を表す情報、たとえばURL(Uniform Resource Locator)が格納される。リンク先220hには、センターファイルサーバ120のデータムーバプログラム125によって、センターファイルサーバ120内での格納場所の情報が格納される。そしてローカルファイルサーバ30からの要求に応じてセンターファイルサーバ120がファイルを転送する際に、リンク先220hを含むファイル管理情報もローカルファイルサーバ30に転送される。また、レプリケーション処理によってローカルファイルサーバ30から転送されたファイルがセンターファイルサーバ120内のLU114に格納されると、格納場所の情報(リンク先220h相当の情報)がセンターファイルサーバ120からローカルファイルサーバ30に送信される。ローカルファイルサーバは送信されてきた格納場所の情報を、リンク先220hに格納する。
 ローカルファイルサーバ30及びセンターファイルサーバ120の持つプログラムの説明に戻る。ローカルムーバ37は、ファイル共有プログラム35から呼び出されて動作するプログラムである。ローカルムーバ37はファイル共有プログラム35から呼び出されると、ファイルシステム36を用いて、アクセス対象のファイルの読み書きを実施する。またローカルムーバ37は、レプリケーション、スタブ化、事前ダウンロード処理を実施するプログラムでもある。
 ローカルムーバ37はレプリケーション処理を実施する際、レプリケーション対象のファイル(inodeと、当該inodeのデータブロックアドレス220iで指し示されているファイルの実データ)を読み出し、読み出されたファイルをセンターファイルサーバ120に転送する。リモートムーバ125は、ローカルムーバ37から転送されてきたファイル(レプリケーション対象のファイル)を、ファイルシステム126を用いてストレージ装置110のLU114に書き込む。
 また、ローカルムーバ37は所定の条件が満たされた場合に、LU24内のレプリケーション済みファイル(厳密にはそのファイルの実データ)を削除し、LU24には実データが削除されたファイルのスタブ(メタデータ)のみを置く(いわゆるスタブ化処理を行う)。これにより、レプリケーション済みファイルの実質的なマイグレーションを実現する。具体的には、スタブ化されるファイルのスタブ化フラグ220fに“1”を格納し、データブロックアドレス220iの値をNULLにする。その後、ローカルムーバ37は、実データが削除されたファイルに対してクライアント/ホスト40からリード要求を受けた場合、スタブ(ファイル管理情報つまりinode)を参照することにより、スタブにリンクしているファイルの実データをリモートムーバ125経由で取得し、取得したファイルをクライアント/ホスト40に送信する。なお、本実施例において、「スタブ」とは、ファイルの格納先情報(リンク先を表す情報。本発明の実施例では、inodeに含まれているリンク先220h等が該当する)が関連付けられたオブジェクト(メタデータ)である。ローカルムーバ37の働きにより、クライアント/ホスト40からは、LU24に格納されているファイルが実データのないスタブであっても、そのことは認識されない。
 次に、クライアント/ホスト40のメモリ41に格納されている各種プログラムについて説明する。クライアント/ホスト40のメモリ41には、アプリケーション45と、ファイルシステム46と、カーネル/ドライバ47とが記憶されている。
 アプリケーション45は、クライアント/ホスト40が、作業の目的に応じて使うソフトウェア(アプリケーションプログラム)である。カーネル/ドライバ47は、上述のファイルシステム36(126)、カーネル/ドライバ38(127)とほぼ同様である。
 ファイルシステム46は、アプリケーション45等からのファイルアクセス要求を処理するプログラムである。ファイルシステム46はアプリケーション45等からファイルアクセス要求を受け付けた時、アクセス対象のファイルがDISK44にあるファイルである場合には、DISK44に格納されているファイルへのアクセス処理を行う。一方、アクセス対象のファイルがローカルファイルサーバ30の管理するファイルである場合、CIFS、NFSといったプロトコルを用いてファイル共有プログラム35と通信し、ローカルファイルサーバ30の管理するファイルへのアクセス処理を行う。
 続いてセンターファイルサーバ120及び携帯端末150が実行するプログラムについて説明する。センターファイルサーバ120の位置情報管理プログラム128は、ユーザ1の持つ携帯端末150からの位置情報を受信して、位置情報推移保持テーブル400(後述)に格納する。一方、携帯端末150のメモリには、位置送信プログラム155が格納されており、定期的に携帯端末150の位置情報(緯度、経度情報等)を取得し、ユーザ1のユーザ情報(後述)とともに、位置情報をセンターファイルサーバ120に送信する。
 次に、本発明の実施例に係る情報システムで行われる、ファイルレプリケーション、事前ダウンロード処理の概要を、図3を用いて説明する。センターファイルサーバ120は、本発明の実施例に係る情報システムを使用する全ユーザのファイルを格納、管理している。ユーザは各拠点のクライアント/ホスト40を介して、ローカルファイルサーバ30に格納されているファイルにアクセスする。ローカルファイルサーバ30には、センターファイルサーバ120で管理されているすべてのファイルが格納されているわけではなく、ユーザがファイルを使用する時、あるいはユーザがファイルを使用する前に、センターファイルサーバ120からファイルがダウンロードされる。ユーザはローカルファイルサーバ30にダウンロードされたファイルを参照または更新し、更新されたファイルについては、センターファイルサーバ120へとレプリケーションが行われる。
 最初の状態(状態0と呼ぶ)として、あるユーザ(ユーザA)が拠点A(Edge10A)のクライアント/ホスト40にログインし、さらにクライアント/ホスト40を用いてローカルファイルサーバ30にログインした後、ローカルファイルサーバ30が提供するファイルにアクセスしている状態を想定する。状態0では、ユーザAが使用する1または複数のファイルは、Edge10AのLU24に格納されている。またCore100のLU114にもユーザAのファイルは存在するが、Edge10AでユーザAがファイルの更新を行った場合には、Core100のLU114に格納されているユーザAのファイルは、Edge10Aに存在するファイルよりも古いファイル(Edge10Aで行われたファイルへの更新の内容が反映されていないファイル)である。
 次に、ユーザAが別の拠点(拠点B(Edge10B))に移動するため、クライアント/ホスト40及びローカルファイルサーバ30からログオフする。ログオフ処理が行われた時点の状態を「状態1」と呼ぶ。その後ユーザは拠点Bに向かって移動を開始する。
 ユーザAの所持する携帯端末150は定期的に位置情報をセンターファイルサーバ120に送信し続けている。ユーザAが拠点Aから拠点Bに移動している途中(状態2と呼ぶ)でも、位置情報の送信が行われる。
 拠点Aのローカルファイルサーバ30は、拠点Aで更新されたファイルを、センターファイルサーバ120に対してレプリケーションするが、その際に、各ユーザの位置情報に基づいて、レプリケーションを行うファイルの優先順位の決定を行う。ローカルファイルサーバ30は、定期的にセンターファイルサーバ120から、ユーザA及びその他ユーザの位置情報を取得している(図中(3))。ローカルファイルサーバ30では、この取得した位置情報をもとにレプリケーション順位を決定する。優先順位の決定方法の詳細は後述するが、各ユーザのうち、他拠点に到達する予想時間が短いユーザのファイルから優先的にレプリケーションする(図中(4))。その後、拠点Aのローカルファイルサーバ30は、レプリケーション済みのファイルのスタブ化を行う。他拠点に到達する予想時間が短ければ短いほど、移動先拠点でファイルアクセスを開始する時刻が早いと考えられる。そのため、本発明の実施例に係るレプリケーション順位の決定方法では、移動先拠点でファイルアクセスを開始する時刻が早いユーザのファイルから順にレプリケーションされるため、拠点Aで更新したファイルに移動先拠点でアクセスできないという事態を防ぐことができる。
 一方、ユーザAの移動先である拠点B(Edge10B)のローカルサーバ30も、定期的に位置情報を取得している(図中(6))。拠点B(Edge10B)のローカルファイルサーバ30では、この取得した位置情報をもとに、Core100から拠点B(Edge10B)のLU24にダウンロード(リコール)するファイルを選定する。選定されるファイルは、近々拠点Bに到来し、ローカルファイルサーバ30にログインする可能性が高いユーザのファイルが優先的に選定される(図中(7))。その後ユーザAが拠点Bに到着し、拠点Bのクライアント/ホスト40及びローカルファイルサーバ30にログインした時点では、ユーザAの使用するファイルが、拠点Bのローカルファイルサーバ30にダウンロードされた状態になっているため、ユーザAがファイルアクセスを行った時、拠点Bのローカルファイルサーバ30は、センターファイルサーバ120からファイルをダウンロード(リコール)する必要がない。
 上の説明では、拠点Aのローカルファイルサーバ30がレプリケーション、スタブ化を行い、拠点Bのローカルファイルサーバ30がファイルのダウンロード(リコール)を行う例を説明したが、ユーザAが拠点BからAに移動することもあり得る。その場合には、拠点Bのローカルファイルサーバ30がレプリケーション、スタブ化を行い、拠点Aのローカルファイルサーバ30がファイルのダウンロード(リコール)を行う。そのため、いずれの拠点のローカルファイルサーバ30も、位置情報に基づいたレプリケーション、スタブ化を行うプログラム、位置情報に基づいたファイルのダウンロード(リコール)を行うプログラムの両方を有している。なお、本発明の実施例に係る情報システムでは、ローカルファイルサーバ30のデータムーバプログラム37に、位置情報に基づいたレプリケーション、スタブ化を行うプログラム、位置情報に基づいたファイルのダウンロード(リコール)を行うプログラムの両方が含まれている。
 次に、位置情報に基づいたレプリケーション、スタブ化、位置情報に基づいたファイルダウンロード(リコール)を行うために、ローカルファイルサーバ30、センターファイルサーバ120で使用される各種管理情報について、図4を用いて説明する。ローカルファイルサーバ30はメモリ31内に、Edge位置情報テーブル300、ログイン日時テーブル310、ログオフ日時テーブル320、近接判定履歴テーブル330、ログイン確率テーブル340、ファイル利用履歴テーブル350を有する。またセンターファイルサーバ120はメモリ121内に、位置情報推移保持テーブル400、Edge位置情報テーブル410を有する。
 図6を用いて、Edge位置情報テーブル300(410)の内容を説明する。Edge位置情報テーブル300(410)は、各拠点の地理的位置情報を記録しているテーブルであり、各拠点301の経度302、緯度303が格納されている。各拠点のローカルファイルサーバ30にあるEdge位置情報テーブル300には、いずれも同内容の情報が格納される。またセンターファイルサーバ120にも、同内容のEdge位置情報テーブル410が存在する(一方、Edge位置情報テーブル300(410)以外のテーブル、つまりログイン日時テーブル310、ログオフ日時テーブル320、近接判定履歴テーブル330、ログイン確率テーブル340、そしてファイル利用履歴テーブル350は、各ローカルファイルサーバ30が独立に管理している情報である)。
 図8を用いて、ログイン日時テーブル310、ログオフ日時テーブル320の内容について説明する。ログイン日時テーブル310は、クライアント/ホスト40を利用するユーザ1がローカルファイルサーバ30にログインした日時(ログイン日時312)を、ユーザの識別情報であるユーザID(311)と対応付けて記録するテーブルである。一方ログオフ日時テーブル320は、クライアント/ホスト40を利用するユーザ1がローカルファイルサーバ30からログオフした日時(ログオフ日時322)を、ユーザの識別情報であるユーザID(321)と対応付けて記録するテーブルである。ユーザがクライアント/ホスト40を用いて、ローカルファイルサーバ30にログインすると、ファイル共有プログラム35がログイン日時テーブルに、ユーザID(311)とログイン日時3121を記録する。一方ユーザがログオフする際には、ファイル共有プログラム35がログオフ日時テーブル320に、ユーザID(321)とログイン日時322を記録する。ログイン日時テーブル310、ログオフ日時テーブル320には、1人のユーザについて、複数個のログイン日時312、複数個のログオフ日時322が記録できる。
 続いて図7を用いて、位置情報推移保持テーブル400の内容を説明する。位置情報推移保持テーブル400は、センターファイルサーバ120の位置情報管理プログラム128が、携帯端末(の位置送信プログラム155)から位置情報を受信した結果を記録するためのテーブルである。位置送信プログラム155からは、ユーザの情報(ユーザID)、そして位置情報である経度と緯度の情報が送られてくる。位置情報管理プログラム128はこの情報を受信すると、位置送信プログラム155から送られてくるユーザIDをユーザID401欄に、経度と緯度をそれぞれ、経度403、緯度404に記録する。また登録時刻402には、位置情報推移保持テーブル400にユーザID401、経度403そして緯度404を記録した時点の時刻、または位置送信プログラム155からユーザIDや位置情報を受信した時刻が格納される。位置情報推移保持テーブル400に格納される時刻には、センターファイルサーバ120の持つ時計から取得される時刻情報が用いられる。ただし別の実施形態として、携帯端末150の位置送信プログラム155から、ユーザIDや位置情報と併せて時刻情報を送信してもらい、送信された時刻を位置情報推移保持テーブル400に格納してもよい。
 ここで、本発明の実施例に係る情報システムで用いられる、ユーザID401について、補足説明しておく。計算機システムによっては、1人のユーザに対して割り当てられるユーザIDが各計算機で異なることもある(たとえば、“hirano”というユーザに対して割り当てられているユーザIDが、拠点Aのクライアント/ホスト40では“40”であるが、一方拠点Bのクライアント/ホスト40では“3521”が割り当てられているということがあり得る)。だが、本発明の実施例に係る情報システムでは、各クライアント/ホスト40、ローカルファイルサーバ30、センターファイルサーバ120において、1のユーザに対して割り当てられているユーザIDは、全て共通の(同一の)IDであるとする。そのため、たとえばユーザ“hirano”のユーザIDは、いずれのEdgeのクライアント/ホスト40、あるいはローカルファイルサーバ30においても、共通のID(たとえば“40”)である。
 これは、ユーザ“hirano”が所持する携帯端末150においても同様である。そのため、ユーザ“hirano”が所持する携帯端末150の位置送信プログラム155は、センターファイルサーバ120に位置情報とユーザIDを送信する場合、共通のID(たとえば“40”)を送信するよう、構成されている。
 ただし、別の実施態様として、センターファイルサーバ120で、携帯端末150から送信されてくる、ユーザ“hirano”に割り当てられているユーザIDと、センターファイルサーバ120やローカルファイルサーバ30でユーザ“hirano”に割り当てられているユーザIDとの対応表を管理しておき、携帯端末150から送信されてくる、ユーザ“hirano”に割り当てられているユーザIDを、センターファイルサーバ120やローカルファイルサーバ30においてユーザ“hirano”に割り当てられているユーザIDに変換するような手段を設けてもよい。このようにすれば、携帯端末150とその他のサーバ(例えばローカルファイルサーバ30、センターファイルサーバ120)とで、1のユーザに割り当てられているユーザIDが異なっていても、本発明は実施可能である。
 位置送信プログラム155は定期的に位置情報を送信してくるので、位置情報推移保持テーブル400は、1ユーザについて、複数の情報(登録時刻402、経度403そして緯度404の組)を格納可能に構成されている。そのため、位置情報推移保持テーブル400に登録された、あるユーザの複数の位置情報及び登録時刻から、ユーザの移動速度や移動ベクトル(移動の方向等)を算出することが可能である。さらに、Edge位置情報テーブル300に登録されている各Edgeの位置情報とユーザの位置情報(複数)とを用いることで、各ユーザのいる位置から各Edgeまでの距離及び距離の変化率の算出も可能である。距離の変化率を参照することにより、各ユーザが各Edgeに接近しているのか、遠ざかっているのかを判定することができる。
 続いて図9を用いて、近接判定履歴テーブル330の内容を説明する。近接判定履歴テーブル330は、ユーザが拠点(Edge)に接近したと判断される時に、ユーザの情報やその時の時刻を格納するために用いられる。近接判定履歴テーブル330には、ユーザID331、接近日時332、ログイン有無333の欄が存在する。ある拠点(仮にEdge Aとする)のローカルファイルサーバ30は、ユーザ(仮にこのユーザIDを“User001”とする)が自拠点(Edge A)に接近したと判断した場合(具体的には、センターファイルサーバ120から取得した、ユーザ(User001)の最新の位置情報とEdge Aの位置情報から算出される距離が、所定の閾値未満になった場合)、ユーザID331に“User001”を、接近日時332に現在時刻(ユーザが自拠点に接近したと判定された時刻)を格納する。また、ユーザが自拠点に接近したと判断する方法は、これ以外の方法を採用してもよい。たとえば、自拠点から各ユーザまでの距離と、各ユーザの移動速度をもとに、各ユーザが自拠点に到達する到達予測時間を算出し、予測時間が所定の閾値以下である場合、ユーザが自拠点に接近したと判断してもよい。さらにこの両方の方法を用いてもよい。
 また、近接判定履歴テーブル330のログイン有無333には、“-1”、“0”、“1”のいずれかの値が格納されるが、初期値は“-1”である。そのため、ユーザID331、接近日時332に値が格納された時点では、ログイン有無333には値“-1”が格納される。ローカルファイルサーバ30は、ユーザID331、接近日時332に値が格納されてしばらく後に、ログイン日時テーブル310を参照し、接近日時332から所定時間以内に、ユーザID331で特定されるユーザがローカルファイルサーバ30にログインした事実があるか判定する。ユーザID331で特定されるユーザがローカルファイルサーバ30にログインした事実がある場合には、ログイン有無333に“1”を格納する。所定時間以内にログインしていなかった場合にはログイン有無333に“0”を格納する。
 近接判定履歴テーブル330には、1ユーザについて、複数の情報(接近日時332、ログイン有無333の組)を格納可能である。ただし、1ユーザについての情報を無尽蔵に格納するわけにはいかないため、1ユーザあたりN(N>1)個の情報を格納可能として、N個より多くの情報を格納する場合には、最も古い情報(接近日時332が最も過去の情報)を削除する。
 図10は、ログイン確率テーブル340の内容を示している。本発明の実施例では、
(あるユーザがある拠点に接近したと判断され、かつその時にローカルファイルサーバにログインした回数)÷(あるユーザがある拠点に接近したと判断された回数)
で算出される値のことを、「ログイン確率」と呼ぶ。ログイン確率テーブル340には、ユーザID341ごとに、ログイン確率342が格納される。ローカルファイルサーバ30は近接判定履歴テーブル330を参照し、ユーザ(ユーザID331で特定されるユーザ)ごとにログイン確率を計算して、ログイン確率342に計算した値を格納する。
 一例として、ユーザIDがUser001のユーザのログイン確率を計算する場合の例を説明する。まず、近接判定履歴テーブル330の中で、ユーザID331が“User001”である行の数を計数する(この値を仮にAとする)。続いて、ユーザID331が“User001”である行のうち、ログイン有無333の値が“1”である行の数(この数をBとする)を計数する。この場合、“B/A”がUser001のログイン確率である。ローカルファイルサーバ30がログイン確率の計算を行う契機は、近接判定履歴テーブル330の内容を更新する契機と同時に行ってもよいし、あるいはこれと無関係のタイミングで定期的に実施するようにしてもよい。
 図11は、ファイル利用履歴テーブル350の内容を示している。ファイル利用履歴テーブル350は、ファイルサーバ30が提供しているファイルにユーザがアクセスした履歴を格納するためのテーブルであり、ユーザID351で特定されるユーザが、ファイルパス353で特定されるファイルにアクセスした日時が、アクセス日時352に格納され、またサイズ354にはアクセスデータサイズが格納される。
 ファイル利用履歴テーブル350は、履歴を格納するためのテーブルであるから、初期状態では何も情報が格納されていない。ユーザがローカルファイルサーバ30の提供するファイルにアクセスすると、ファイル共有プログラム35が、ユーザID351、アクセス日時352、ファイルパス353、及びサイズ354の情報を格納する。ただしユーザが同一ファイルに再アクセスした場合には、すでに当該ファイルについての履歴がファイル利用履歴テーブル350に格納されているので、その場合には、アクセス対象ファイルのアクセス日時352とサイズ354の内容の更新のみが行われる。
 続いて、本発明の実施例に係るローカルムーバ37が実行する、レプリケーション/スタブ化処理の流れを、図12を用いて説明する。レプリケーション/スタブ化処理は、ローカルファイルサーバ30において定期的に実行される処理である。
 最初にローカルムーバ37は、ログオフ日時テーブル320とログイン日時テーブ310を参照し、現在時刻から過去の所定時間内にログオフしたユーザであって、かつ現在ログインしていないユーザのユーザIDを収集する(S301)。以下では、現在時刻から過去の所定時間内にログオフしたユーザのことを「候補ユーザ」と呼ぶ。
 続いてローカルムーバ37は、センターファイルサーバ120の位置情報管理プログラム128に対し、S301で収集したユーザIDに対応した位置情報の送信を要求し、位置情報管理プログラム128からユーザの位置情報を取得する(S302)。位置情報管理プログラム128に送信される要求には、S301で収集されたユーザIDが含まれている。位置情報管理プログラム128はローカルムーバ37からこの要求を受信すると、要求に含まれているユーザIDをもとに位置情報推移保持テーブル400を参照し、ユーザID401が、要求に含まれているユーザIDと等しい行をすべて抽出し、抽出された行の登録時刻402、経度403、緯度404のセットをローカルムーバ37に返送する。以下では、位置情報管理プログラム128からデータムーバに返送された、位置情報推移保持テーブル400内の、ユーザID401が要求に含まれているユーザIDと等しい行の情報のことを、位置推移情報と呼ぶ。なお、S302でローカルムーバ37に返送される情報は、上で説明した例に限定されない。返送される情報にユーザID401が含まれていてもよい。また、必ずしも位置情報推移保持テーブル400の中から、要求に含まれているユーザIDとユーザID401が等しい行をすべて抽出する必要はない。要求に含まれているユーザIDとユーザID401が等しい行のうち、登録時刻402が新しい行から順にN行(N≧2)を抽出して、抽出された行の情報を返送するようにしてもよい。
 ローカルムーバ37は、位置情報管理プログラム128から位置推移情報を受信すると、レプリケーション優先順位の決定処理を行う(S303)。位置推移情報及びEdge位置情報テーブル300を参照し、レプリケーション対象ファイルの選定を行う。詳細は図13を用いて後述するが、S303が実行された結果、レプリケーション対象ファイルの一覧が格納されたレプリケーション対象リストが作成される。
 レプリケーション優先順位の決定処理が終了すると、ローカルムーバ37はS303で作成されたレプリケーション対象リストに格納されているファイルの順序に従って、ファイルのレプリケーションを行う(S304)。なお、レプリケーションが行われたファイルについては、レプリケーション済みフラグ220gが“0”から“1”に変更される。その後ローカルムーバ37は、ファイルのスタブ化を行う(S305)。ファイルのスタブ化では、ローカルムーバ37は各ファイルのメタデータを参照し、レプリケーション済みフラグ220gが“1”のファイルのうち、最終アクセス日時220eと現在日時との差が所定値以上のファイルについてスタブ化を行う。スタブ化が行われたファイルについては、スタブ化フラグ220fが“1”に設定される。
 ファイルのスタブ化が完了すると、処理を終了する。なお、ここではレプリケーションを行った後にスタブ化を行う処理例を説明したが、必ずしもレプリケーションを行った後にスタブ化を行う必要はない。レプリケーション処理とは独立(非同期)のタイミングで、スタブ化を定期的に実行するようにしてもよい。
 続いてレプリケーション優先順位の決定処理について、図13を用いて説明する。
 レプリケーション優先順位の決定処理では、図12のS302で取得された、候補ユーザの位置情報を元にして、レプリケーション対象ファイルの決定及びレプリケーション優先順位を決定する。最初にローカルムーバ37は、S302で取得された各候補ユーザの位置推移情報から、最新の位置情報(登録時刻が最も新しい情報)を抽出する。ローカルムーバ37は、この抽出された最新の位置情報と、Edge位置情報テーブル300から、各候補ユーザの各拠点までの距離を算出する(S351)。なお、ここでの各拠点には、自拠点(S351の処理を実行しているローカルファイルサーバ30の置かれている拠点)は含まれていないものとする。
 ユーザの経度と緯度、そして各拠点の経度と緯度を用いて、ユーザと各拠点の間の距離を算出する方法には、一例として、特開2009-15181号公報に開示されているLambert-Andoyerの公式を用いる方法を用いることができる。ただし、本発明におけるユーザと各拠点の間の距離を算出する方法は、この方法に限定されるものではなく、その他の方法を用いてもよい。
 続いてS352では、ローカルムーバ37は各候補ユーザの位置推移情報を用いて、各拠点への平均移動速度を算出する。具体的には、複数の位置情報(一例として2つの位置情報)を用いて、各拠点への単位時間の変位を求めればよい。S353では、S352で求めた、各ユーザの各拠点への平均移動速度から、各ユーザがいずれかの拠点に向かって接近しているか、あるいは遠ざかっているかを判定し、いずれかの拠点に向かって接近しているユーザのみを選定する。ただし、S353で行われる判定方法は、上で説明した方法に限定されるものではない。それ以外の方法を用いてもよい。以下では、ここで選定されたユーザのことを、「選定ユーザ」と呼ぶ。
 S354は、ローカルムーバ37はS353で選定された各ユーザについて、各拠点に到達するまでの予測時間を算出する。予測時間の算出方法の一例は、S351で求められた各拠点までの距離を、S352で算出された各拠点への平均移動速度で除算すればよい。ただしこれ以外の算出方法を用いて、予測時間の算出を行ってもよい。
 S355以降では、レプリケーション対象リストを作成する処理が行われる。レプリケーション対象リスト400は、図15に示されているように、レプリケーション対象とされたファイルのパス名が複数登録されたリストである。リストの先頭に位置するパス名は、もっともレプリケーション優先順位の高いファイルのパス名であり、以下レプリケーション優先順に、ファイルのパス名がこのリストへと追加格納されていく。
 S355では、ローカルムーバ37は選定ユーザ(複数)のユーザIDをいずれかの拠点への予測到達時間がもっとも短い順にソートする。そしてソートされたユーザID順に、以下の処理を実行する:
 (1)当該ユーザIDで特定されるユーザのホームディレクトリ配下の各ファイルの中から、レプリケーション済フラグ220gの値が“0”のファイルを特定する。
 (2)特定されたファイルのパス名をレプリケーション対象リスト400に登録する。
 
 S356では、ローカルムーバ37はS355で処理対象とされたユーザ以外のユーザのホームディレクトリ配下の各ファイルについて、レプリケーション済フラグ220gの値が“0”のファイルを、レプリケーション対象として選択する作業を実行し、選択されたファイルのパス名をレプリケーション対象リスト400に追加する。
 さらにS357では、ローカルムーバ37はホームディレクトリ以外の各ファイルについて、レプリケーション済フラグ220gの値が“0”のファイルを、レプリケーション対象として選択する作業を実行し、選択されたファイルのパス名をレプリケーション対象リスト400に追加登録して、処理を終了する。
 続いて、本発明の実施例に係るローカルムーバ37が実行する、事前ダウンロード処理の流れを、図14を用いて説明する。事前ダウンロード処理もレプリケーション/スタブ化処理と同様、ローカルファイルサーバ30において定期的に実行される処理である。
 最初にローカルムーバ37は、位置情報管理プログラム128から各ユーザの位置推移情報を取得する(S401)。
 続いてローカルムーバ37は、S401で取得した各ユーザの位置推移情報と、自拠点の位置情報(Edge位置情報テーブル300に登録されている)を用いて、各ユーザの自拠点までの位置及び、各ユーザの移動速度を算出する(S402)。この処理は、図13のS351、S352と同様の処理を行ってもよいし、異なる処理を行ってもよい。S351、S352と異なる点は、S351、S352では各拠点までの距離、各拠点への移動速度を算出したが、S402では自拠点までの位置及び移動速度のみを算出する点である。
 続いてS403で、ローカルムーバ37は、S402で算出した各ユーザの位置情報と移動速度をもとに、自拠点に向かっている(接近している)ユーザの選定を行う。ここではまず、図13のS353と同様の方法で、自拠点に向かっていると判断されるユーザを選択する。さらに図13のS354と同様の方法で、自拠点に向かっていると判断されるユーザの、自拠点へ到達するまでの予測時間を算出する。そして算出された予測時間が所定の閾値以下であるユーザを選定する。ここで選定されたユーザのことを、「候補ユーザ」と呼ぶ。また、別の方法として、近接判定履歴テーブル330の説明の際に述べたとおり、自拠点からの距離が所定の閾値未満の位置にいるユーザを候補ユーザとする方法を採用することもできる。あるいはこの2つの方法を用いて候補ユーザを選定する、つまり、自拠点に接近しており、かつ自拠点からの距離が所定の閾値未満の位置にいるユーザを、候補ユーザとして選定するようにしてもよい。
 また、ここでは、候補ユーザの情報及び現在時刻(S403の判定を行った時刻)を、近接判定履歴テーブル330に登録する。さらにログイン日時テーブル310をあわせて参照し、近接判定履歴テーブル330に登録されている各エントリについて、ログイン有無を判定し、ログイン有無333に0または1を記録する。
 続いてS404では、ローカルムーバ37は、候補ユーザのログイン確率を算出する。ログイン確率の算出は、図10の説明の時に述べたとおりの処理を行う。つまり近接判定履歴テーブル330を参照し、ユーザごとに
(ユーザが自拠点に接近したと判断され、かつその時にログインした回数)÷(ユーザが自拠点に接近したと判断された回数)
を計算し、ログイン確率テーブル340に、候補ユーザのログイン確率を登録する。そしてログイン確率テーブル340を参照し、候補ユーザの中でログイン確率が所定の閾値以上であるユーザを選択する。ここで選択されたユーザのことを、「選択ユーザ」と呼ぶ。
 S405ではローカルムーバ37は、S405で選択されたユーザのユーザファイル(ホームディレクトリのファイル)を格納するための記憶領域の容量を決定する。各ユーザに対して割り当てるべき記憶容量を、ローカルファイルサーバ30の空き容量を選択ユーザの数で均等に割るという方法もあり得るが、本発明の実施例に係るローカルファイルサーバ30では、S404で算出された各ユーザのログイン確率に基づいて、各ユーザに対して割り当てるべき記憶容量を決定する。ここで決定される記憶容量が、ユーザファイルのダウンロード上限値となる。ログイン確率の高いユーザには多くの記憶領域を割り当てて、ログイン確率の高いユーザのデータが多くダウンロードされるようにする。以下、各ユーザに対して割り当てるべき記憶容量の算出方法を説明する。
 S404の処理の結果、N人(ユーザ1、ユーザ2、…ユーザN)の選択ユーザが存在する場合を想定して説明する。S404の処理の結果、自拠点に向かっているユーザi(1≦i≦N)のログイン確率がそれぞれPiであった場合、ローカルムーバ37は、ユーザごとに重みづけ係数Wiを、以下の式(1)に基づいて算出する。
Figure JPOXMLDOC01-appb-M000001
 Wiが算出されたら、ローカルムーバ37は各ユーザに対して割り当てるべき記憶容量Ciを、以下の式(2)に基づいて算出する。
[数2]
 Ci=ローカルファイルサーバ30の空き容量×Wi ・・・・(2)
(なお、ローカルファイルサーバ30の空き容量とは、ローカルファイルサーバ30がファイルシステム36を用いてファイル・ディレクトリを格納しているLU24の記憶領域のうち、まだファイルやディレクトリが格納されていない未使用領域のサイズである。)
 最後にS406で、ローカルムーバ37は各選択ユーザのユーザファイルのうち、ダウンロード対象のファイルの決定及び決定されたファイルのダウンロードを行う。各ユーザiについて、以下の(a)~(d)の順でファイルのダウンロードが行われる。また、以下で説明する通り、ファイル利用履歴テーブル350に記録されているファイルの中からダウンロード対象のファイルが決定される。本実施例では、ファイル利用履歴テーブル350に記録されているファイルのうち、ユーザiのホームディレクトリ内のファイル(ユーザファイル)をダウンロード対象とする。ただし別の実施形態として、ファイル利用履歴テーブル350に、ユーザiが自身のホームディレクトリ以外のファイルをアクセスしていた履歴が残っていた場合、そのファイルをダウンロード対象に含める態様もあり得る。
 (a) まずローカルムーバ37は、ファイル利用履歴テーブル350を参照し、ユーザiのホームディレクトリ内のファイルのうち、アクセス日時352が現在時刻から所定時間以内であるファイルを選択してダウンロードする。この時、各ユーザiのユーザファイルについて、Ciを超えない範囲でダウンロードが行われる。
 (b) (a)のダウンロード処理でダウンロードされたファイルの合計サイズが、Ci未満であった場合、ローカルムーバ37は、ファイル利用履歴テーブル350に登録されているユーザiのホームディレクトリ内のファイルのうち、かつ(a)でダウンロードされなかったファイルをダウンロードする。この時も、各ユーザiのユーザファイルについて、Ciを超えない範囲でダウンロードが行われる。
 (c) (a)及び(b)のダウンロード処理でダウンロードされたファイルの合計サイズが、Ci未満であった場合、ローカルムーバ37は、他拠点のローカルファイルサーバ30からファイル利用履歴テーブル350を取得する。そしてローカルムーバ37は、他拠点のファイル利用履歴テーブル350に登録されているファイルで、ユーザiのホームディレクトリ内のファイルのうち、アクセス日時352が現在時刻から所定時間以内であるファイル(ただし(a)及び(b)のダウンロード処理でダウンロードされたファイルは含まれない)をダウンロードする。この時も、各ユーザiのユーザファイルについて、Ciを超えない範囲でダウンロードが行われる。
 (d) (a)、(b)及び(c)のダウンロード処理でダウンロードされたファイルの合計サイズが、Ci未満であった場合、ローカルムーバ37は、他拠点のファイル利用履歴テーブル350に登録されているユーザiのホームディレクトリ内のファイルのうち、かつ(c)でダウンロードされなかったファイルをダウンロードする。この時も、各ユーザiのユーザファイルについて、Ciを超えない範囲でダウンロードが行われる。
 S406のダウンロードが完了したら、事前ダウンロード処理は終了する。
 以上が、本発明の実施例に係る情報システムにおける、ファイルレプリケーション方法及びファイル事前ダウンロード方法である。本発明のローカルファイルサーバは、ユーザの位置情報をもとに、各ユーザの他拠点に到達する予測時間を算出する。そして他拠点に到達する予測時間の短いユーザのユーザファイルから優先的に、センターファイルサーバへレプリケーションする。移動先拠点でファイルアクセスを開始する時刻が早いユーザのファイルから順にレプリケーションされるため、ある拠点で更新したファイルに対して、移動先拠点でアクセスできないという事態を防ぐことができる。
 また本発明のローカルファイルサーバは、ユーザの位置情報をもとに、ユーザが自拠点に接近しているか判定し、自拠点に接近していると判断されるユーザのユーザファイルを優先的にセンターファイルサーバから事前ダウンロードする。そのため、拠点に到来するユーザがファイルアクセスを行う時点では、ローカルファイルサーバにユーザファイルがダウンロード済みであるので、ユーザのファイルアクセス応答時間を短くすることが可能である。また、ユーザが自拠点に接近したと判定された時刻や、ユーザがローカルファイルサーバにログインした時刻を記憶しておき、これらの情報をもとにユーザのログイン確率を算出し、ログイン確率に基づいて、ユーザファイルのダウンロード量を決定するので、ローカルファイルサーバにアクセスする可能性の高いユーザファイルをより多く事前ダウンロードすることが可能になる。
 また、ユーザの位置情報として、ユーザの所持する携帯端末が備えるGPS等の位置情報取得手段から定期的に送信される位置情報(緯度、経度など)を用いているため、ユーザが拠点に到達する予測時間の算出や、ユーザが拠点に接近しているか否かの判定を、高い精度で実施することができる。結果として、精度の高いレプリケーション順位の決定、事前ダウンロード順位の決定を行うことができる。
 以上、本発明の実施例を説明したが、これは、本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。すなわち、本発明は、他の種々の形態でも実施する事が可能である。
 たとえば上で説明した情報システムでは、各ユーザは、各Edge10にあるクライアント/ホスト40にログインし、クライアント/ホスト40からローカルファイルサーバ30の管理するファイルにアクセスしていたが、この構成に限定されるものではない。たとえばローカルファイルサーバ30にクライアント/ホスト40の機能を持たせ、ローカルファイルサーバ30にユーザが直接ログインし、ローカルファイルサーバ30の管理するファイルにアクセスするようにしてもよい。
 またローカルファイルサーバ30のライトデータを格納するストレージ装置20は、ローカルファイルサーバ30の外部にある構成に限定されるものではない。ストレージ装置20がローカルファイルサーバ30に内蔵される構成を採用してもよい。さらにセンターファイルサーバ120もローカルファイルサーバ30と同様に、ストレージ装置110を内蔵する構成を採用してもよい。
10 Edge、30 ローカルファイルサーバ、100 Core、120 センターファイルサーバ。

Claims (15)

  1.  センターファイルサーバを備えたデータセンタと、複数のユーザのユーザファイルを格納したローカルファイルサーバを有する複数の拠点とで構成される情報システムにおいて、
     前記ローカルファイルサーバは、前記ローカルファイルサーバからログオフしたユーザの、前記複数の拠点への到達予測時間を算出し、前記到達予測時間に基づいて、前記センターファイルサーバへ複製する前記ユーザファイルの優先順位を決定し、
     前記優先順位に従って、前記ユーザファイルを前記センターファイルサーバへと複製する、
    ことを特徴とする情報システム。
  2.  前記ローカルファイルサーバは、前記到達予測時間の最も短いユーザの前記ユーザファイルから順に、前記優先順位の高いユーザファイルと決定する、
    ことを特徴とする、請求項1に記載の情報システム。
  3.  前記センターファイルサーバへの複製が行われた後、前記ローカルファイルサーバは、前記センターファイルサーバに複製されたファイルのスタブ化を行うことを特徴とする、請求項1に記載の情報システム。
  4.  前記ローカルファイルサーバは、前記複数の拠点の位置情報と、複数の時点における前記ユーザの位置情報に基づいて、前記複数の拠点への到達予測時間を算出することを特徴とする、請求項1に記載の情報システム。
  5.  前記ユーザの位置情報は、前記ユーザの所持する携帯端末から定期的に発信される位置情報であることを特徴とする、請求項4に記載の情報システム。
  6.  前記センターファイルサーバは、前記ユーザの所持する前記携帯端末から定期的に発信される位置情報を受信すると、前記位置情報を、前記ユーザの情報と前記位置情報の受信時刻とともに記憶しておき、
     前記ローカルファイルサーバは、前記センターファイルサーバから前記位置情報と前記位置情報の受信時刻の組を複数取得することを特徴とする、請求項5に記載の情報システム。
  7.  前記ローカルファイルサーバは、前記ローカルファイルサーバの存在する自拠点の位置情報と、複数の時点における前記ユーザの位置情報に基づいて、前記ユーザが前記自拠点に接近しているか判定し、
     前記自拠点に接近していると判定された前記ユーザのユーザファイルを、前記ユーザが前記ローカルファイルサーバにログインする前に前記センターファイルサーバからダウンロードする、
    ことを特徴とする、請求項1に記載の情報システム。
  8.  前記ローカルファイルサーバは、前記自拠点の位置情報と、前記複数の時点における前記ユーザの位置情報から、前記各ユーザの前記自拠点への到達予測時間を算出し、
     前記到達予測時間が所定の閾値以下であるユーザは、前記自拠点に接近していると判定する、
    ことを特徴とする、請求項7に記載の情報システム。
  9.  前記ローカルファイルサーバは、前記ユーザが前記自拠点に接近していると判定された時刻を複数個、前記ユーザの情報と対応付けて、近接判定履歴テーブルに記憶しており、
     前記ローカルファイルサーバはまた、前記ユーザが前記ローカルファイルサーバにログインした時刻を複数個、前記ユーザの情報と対応付けて、ログイン日時テーブルに記憶しており、
     前記ローカルファイルサーバは、前記近接判定履歴テーブルと前記ログイン日時テーブルを用いて、
    (前記ユーザが前記自拠点に接近したと判断され、かつその時に前記ローカルファイルサーバにログインした回数)÷(前記ユーザが前記自拠点に接近したと判断された回数)を計算することによって、前記各ユーザのログイン確率を算出し、
     前記ログイン確率に基づいて、前記各ユーザのデータのダウンロード上限値を算出する、
    ことを特徴とする、
    請求項7に記載の情報システム。
  10.  センターファイルサーバに接続され、複数のユーザのユーザファイルを格納するローカルファイルサーバであって、
     前記ローカルファイルサーバは、前記ローカルファイルサーバからログオフしたユーザの、前記センターファイルサーバに接続された他のローカルサーバの存在する拠点への到達予測時間を算出し、前記到達予測時間に基づいて、前記センターファイルサーバへ複製する前記ユーザファイルの優先順位を決定し、
     前記優先順位に従って、前記ユーザファイルを前記センターファイルサーバへと複製する、
    ことを特徴とするローカルファイルサーバ。
  11.  前記ローカルファイルサーバは、前記拠点の位置情報と、複数の時点における前記ユーザの位置情報に基づいて、前記拠点への到達予測時間を算出することを特徴とする、請求項10に記載のローカルファイルサーバ。
  12.  前記ユーザの位置情報は、前記ユーザの所持する携帯端末から定期的に発信される位置情報であることを特徴とする、請求項11に記載のローカルファイルサーバ。
  13.  前記ローカルファイルサーバは、前記ローカルファイルサーバの存在する自拠点の位置情報と、複数の時点における前記ユーザの位置情報に基づいて、前記ユーザが前記自拠点に接近しているか判定し、
     前記自拠点に接近していると判定された前記ユーザのユーザファイルを、前記ユーザが前記ローカルファイルサーバにログインする前に前記センターファイルサーバからダウンロードする、
    ことを特徴とする、請求項10に記載のローカルファイルサーバ。
  14.  センターファイルサーバを備えたデータセンタと、複数のユーザのユーザファイルを格納したローカルファイルサーバを有する複数の拠点とで構成される情報システムの制御方法であって、
     前記ローカルファイルサーバは、
     前記ローカルファイルサーバからログオフしたユーザの、前記複数の拠点への到達予測時間を算出し、
     前記到達予測時間に基づいて、前記センターファイルサーバへ複製する前記ユーザファイルの優先順位を決定し、
     前記優先順位に従って、前記ユーザファイルを前記センターファイルサーバへと複製する、
    ことを特徴とする、情報システムの制御方法。
  15.  前記ローカルファイルサーバは、前記ローカルファイルサーバの存在する自拠点の位置情報と、複数の時点における前記ユーザの位置情報に基づいて、前記ユーザが前記自拠点に接近しているか判定し、
     前記自拠点に接近していると判定された前記ユーザのユーザファイルを、前記ユーザが前記ローカルファイルサーバにログインする前に前記センターファイルサーバからダウンロードする、
    ことを特徴とする、請求項14に記載の情報システムの制御方法。
PCT/JP2014/062787 2014-05-14 2014-05-14 情報システム WO2015173901A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/426,786 US9489393B2 (en) 2014-05-14 2014-05-14 Information system
PCT/JP2014/062787 WO2015173901A1 (ja) 2014-05-14 2014-05-14 情報システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062787 WO2015173901A1 (ja) 2014-05-14 2014-05-14 情報システム

Publications (1)

Publication Number Publication Date
WO2015173901A1 true WO2015173901A1 (ja) 2015-11-19

Family

ID=54479472

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/062787 WO2015173901A1 (ja) 2014-05-14 2014-05-14 情報システム

Country Status (2)

Country Link
US (1) US9489393B2 (ja)
WO (1) WO2015173901A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635637B1 (en) * 2017-03-31 2020-04-28 Veritas Technologies Llc Method to use previously-occupied inodes and associated data structures to improve file creation performance

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323365A (ja) * 2002-05-02 2003-11-14 Fuji Xerox Co Ltd データ転送方法及びシステム
JP2011070567A (ja) * 2009-09-28 2011-04-07 Nec Corp コンテンツ配置替システム、コンテンツ配信システム、コンテンツ配置替方法およびプログラム
WO2012132808A1 (ja) * 2011-03-28 2012-10-04 日本電気株式会社 仮想マシン管理システム、及び仮想マシン管理方法
JP2013114271A (ja) * 2011-11-24 2013-06-10 Hitachi Ltd 計算機システムおよび計算機資源の管理方法
JP2013210816A (ja) * 2012-03-30 2013-10-10 Nec Corp 遠隔利用による配置方法
JP2013539089A (ja) * 2010-06-29 2013-10-17 アルカテル−ルーセント 無線通信システム内の分散ストレージに基づくファイル送信の方法
WO2013171802A1 (en) * 2012-05-18 2013-11-21 Hitachi, Ltd. Information processing system and method for controlling the same
WO2014068749A1 (ja) * 2012-11-01 2014-05-08 株式会社日立製作所 メタデータ管理システム、メタデータ管理方法及び記憶媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3955190B2 (ja) 2001-06-20 2007-08-08 日本電信電話株式会社 個人データ配送方法、システム及びプログラム並びに該プログラムを記録した記録媒体
US9342459B2 (en) * 2002-08-06 2016-05-17 Qualcomm Incorporated Cache management in a mobile device
US7668536B2 (en) * 2002-08-06 2010-02-23 Hewlett-Packard Development Company, L.P. Retrieving media items to a mobile device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323365A (ja) * 2002-05-02 2003-11-14 Fuji Xerox Co Ltd データ転送方法及びシステム
JP2011070567A (ja) * 2009-09-28 2011-04-07 Nec Corp コンテンツ配置替システム、コンテンツ配信システム、コンテンツ配置替方法およびプログラム
JP2013539089A (ja) * 2010-06-29 2013-10-17 アルカテル−ルーセント 無線通信システム内の分散ストレージに基づくファイル送信の方法
WO2012132808A1 (ja) * 2011-03-28 2012-10-04 日本電気株式会社 仮想マシン管理システム、及び仮想マシン管理方法
JP2013114271A (ja) * 2011-11-24 2013-06-10 Hitachi Ltd 計算機システムおよび計算機資源の管理方法
JP2013210816A (ja) * 2012-03-30 2013-10-10 Nec Corp 遠隔利用による配置方法
WO2013171802A1 (en) * 2012-05-18 2013-11-21 Hitachi, Ltd. Information processing system and method for controlling the same
WO2014068749A1 (ja) * 2012-11-01 2014-05-08 株式会社日立製作所 メタデータ管理システム、メタデータ管理方法及び記憶媒体

Also Published As

Publication number Publication date
US9489393B2 (en) 2016-11-08
US20160259808A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
JP5343166B2 (ja) 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム
JP4265245B2 (ja) 計算機システム
CN106161523B (zh) 一种数据处理方法和设备
JPWO2011135629A1 (ja) 計算機システムにおけるソフトウェアの配布管理方法、及び、ソフトウェアの配布管理のための計算機システム
WO2015172093A1 (en) Storage network data retrieval
JP2007086843A (ja) ディスクの回転を制御するシステム
US20070113226A1 (en) Automated state migration while deploying an operating system
US20120246206A1 (en) File server system and storage control method
US9729614B2 (en) Resilient data node for improving distributed data management and bandwidth utilization
CN111200657A (zh) 一种管理资源状态信息的方法和资源下载系统
CN115344551A (zh) 一种数据迁移的方法以及数据节点
JPWO2012053393A1 (ja) 仮想計算機を配置する方法及び装置
WO2020024445A1 (zh) 数据存储方法、装置、计算机设备及计算机存储介质
JP6793498B2 (ja) データストア装置およびデータ管理方法
KR102133840B1 (ko) 라이브 서비스를 위한 분산 파일 시스템 및 데이터 처리 방법
JP6591700B2 (ja) システム、データ管理方法、及びファイルサーバ
WO2015173901A1 (ja) 情報システム
JP6421676B2 (ja) コンテンツ取得プログラム、装置、及び方法
US9762696B2 (en) Data storage communication apparatus, and data transmission and management methods using the same
CN117093412A (zh) 数据摄取复制和灾难恢复
KR20200072128A (ko) 라이브 서비스를 위한 분산 파일 시스템 및 파일 관리 방법
EP3479550B1 (en) Constraint based controlled seeding
CN117043760A (zh) 针对边缘网络存储中的在线会议的媒体存储
CN116940936A (zh) 对跨数据存储区域的链接的父记录和子记录的异步复制
JP2003006071A (ja) 個人データ配送方法、システム及びプログラム並びに該プログラムを記録した記録媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14426786

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14891771

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14891771

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP