Information processing apparatus and information management method

An information processing apparatus for managing information stored in a storage location includes an authentication management unit that manages first authentication information and second authentication information in association with each other, a storage location monitor unit, and an information management unit. The first authentication information is used to authenticate a user operating an operation terminal, and the second authentication information is used to prompt the storage location to authenticate the user. The storage location monitor unit monitors the information stored in the storage location using the second authentication information, and updates index information of the information stored in the storage location. The information management unit determines the storage location that can be used by the user based on the second authentication information associated with the first authentication information, creates a list of information that can be used by the user, and provides the list to the operation terminal.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus and an information management method.

2. Description of the Related Art

When a client receives a file access request from an application, the client may determine whether to process the request as a file access request to a local storage of the client or as a file access request to a cloud storage (see e.g. Japanese Laid-Open Patent Publication No. 2011-3187).

A user of a client device may store information such as a file in various storage locations including an external storage such as a file server. However, when the user wishes to use information stored in a storage, the user has to perform operations according to the storage in which the desired information is stored, thereby making operations for using stored information quite complicated.

SUMMARY OF THE INVENTION

An aspect of the present invention relates to providing an information processing apparatus and an information management method that can improve convenience for a user using information stored in a storage.

According to one embodiment of the present invention, an information processing apparatus for managing information stored in a storage location is provided. The information processing apparatus includes an authentication management unit configured to manage first authentication information and second authentication information in association with each other, a storage location monitor unit, and an information management unit. The first authentication information is used to authenticate a user operating an operation terminal, and the second authentication information is used to prompt the storage location to authenticate the user. The storage location monitor unit is configured to monitor the information stored in the storage location using the second authentication information, and update index information of the information stored in the storage location. The information management unit is configured to determine the storage location that can be used by the user operating the operation terminal that has been authenticated based on the first authentication information, the determination being made based on the second authentication information associated with the first authentication information. The information management unit is further configured to create a list of information that can be used by the user operating the operation terminal based on the determination, and provide the list to the operation terminal.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, certain embodiments of the present invention are described with reference to the accompanying drawings.

First Embodiment

FIG. 1illustrates an exemplary configuration of an information processing system1according to an embodiment of the present invention. The information processing system1illustrated inFIG. 1includes an information management apparatus (storage server)10, file servers20A-20C, client devices30A-30C, an access point40, and a relay server50. The information management apparatus10is connected to the file servers20A-20C and the client device30A via a network N1 such as a LAN (Local Area Network). The information management apparatus10is connected to the client device30B via the network N1 and the access point40. Further, the information management apparatus10is connected to the client device30C and the relay server50via the network N1 and a network N2 such as the Internet.

The file servers20A-20C store information such as files. Note that the term “file server20” may be used below to refer to any one of the file servers20A-20C. The file server20may be a NAS (Network Attached Storage), for example.

The client devices30A-30C may be operation terminals that are operable by a user such as a smartphone, a tablet terminal, a mobile phone, and a PC, for example. An MFP (multifunction peripheral) and a projector are examples of an electronic device configured to perform electronic data input/output (e.g. printing, scanning, projection). Other examples of the electronic device include a printer, a scanner, a copier, an image display device, and other devices that can perform electronic data input/output.

The MFP is an example of an image forming apparatus. The MFP has an imaging function, an image forming function and a communication function. The MFP may be used as a printer, a facsimile machine, a scanner, and a copier, for example. The projector is an example of an image projection apparatus. The projector has a projection function and a communication function.

The client device30A may access the information management apparatus10via the network N1. The client device30B may access the information management apparatus10via the network N1 by establishing wireless connection with the access point40.

Note that when a firewall (FW) is arranged between the network N1 and the network N2, for example, the client device30C may be unable to directly access the information management apparatus10. Accordingly, the client device30C is configured to indirectly access the information management apparatus10using the relay server50. That is, the client device30C transmits an access request for accessing the information management apparatus10to the relay server50. The information management apparatus10periodically accesses the relay server50to receive the access request from the client device30C.

Note that the term “client device30” may be used below to refer to any one of the client devices30A-30C. Note that methods of accessing the information management apparatus10and the client terminals30A-30C may vary as described above. However, the access methods are not particularly distinguished in the descriptions below.

The information management device10can be implemented by a storage server, for example. The information management apparatus10centrally manages access from the client device30to the file server20. Note that in the information processing system1illustrated inFIG. 1, the information management apparatus10and the file server20are arranged within the same network N1. However, the file server20may alternatively be arranged outside the network N1 provided the information management apparatus10and the file server20are able to access each other.

The client device30accesses the information management apparatus10to acquire information such as a file stored in the information management apparatus10as well as information such as a file stored in the file server20as described below.

The information management apparatus10mediates access and operations from the client device30to the file server20(e.g. downloading/uploading files). In this way, user operations may be reduced as described below, and user convenience may be improved as a result.

The information management apparatus10is an example of an information processing apparatus. The information management apparatus10may execute a sophisticated process that cannot be executed at the client device30or a process as a storage server, for example. The information management apparatus10may cooperate with an operation terminal such as a smartphone or a tablet terminal to provide services relating to electronic data input/output by an electronic device such as an MFP or a projector, for example. Note that the information management device10may be configured by multiple computers. The file server20may be another example of an information processing apparatus.

The information management apparatus10may be implemented by a computer having a hardware configuration as illustrated inFIG. 2, for example.FIG. 2illustrates an exemplary hardware configuration of a computer100according to the present embodiment.

The computer100illustrated inFIG. 2includes an input device101, a display device102, an external I/F103, a RAM104, a ROM105, a CPU106, a communication I/F107, and a HDD108that are interconnected by a bus B. Note that in some embodiments, the input device101and the display device102may be connected to the computer100as is necessary, for example.

The input device101may include a keyboard and a mouse, for example, and is used for inputting various operation signals in the computer100. The display device102includes a display, for example, and is configured to display processing results of the computer100.

The communication I/F107is an interface for establishing connection between the computer100and the network N1. In this way, the computer100may be able to exchange data over the network N1 via the communication I/F107.

The HDD108is a non-volatile storage device storing programs and data. The stored programs and data may include an OS (Operating System), which is basic software for controlling overall operations of the computer100, and application programs for providing various functions on the OS, for example.

The external I/F103acts as an interface between the computer100and an external device. An example of an external device is a recording medium103a. The computer100may read data from the recording medium103aor write data on the recording medium103avia the external I/F103. Specific examples of the recording medium103ainclude a flexible disk, a CD, a DVD (Digital Versatile Disk), an SD memory card, and a USB (Universal Serial Bus) memory.

The ROM105is a non-volatile semiconductor memory (storage device) that is capable of retaining programs and data even when the power is turned off. The ROM105stores programs and data such as BIOS (Basic Input/Output System) that is executed when the computer system100is activated, OS settings, and network settings. The RAM104is a volatile semiconductor memory (storage device) for temporarily storing programs and data.

The CPU106is a processor for implementing overall control and functions of the computer100by loading programs and data into the RAM104from storage devices such as the ROM105and the HDD108, and executing processes.

The computer100according to the present embodiment may implement various processes described below through the cooperation of hardware resources, programs, and data, for example.

In the following, a description is given of the information processing system1in which the information management device10implements a storage server10A. Note that in the example described below, image data and print data are stored as file data in a file server20. The storage server10A according to the present embodiment may implement processes as illustrated inFIG. 3, for example.

FIG. 3is a block diagram illustrating exemplary processes implemented by the storage server10A according to the present embodiment. The storage server10A may execute relevant programs to implement an authentication management unit11, a file management unit12, a server monitor unit13, an authentication information storage unit14, an index information storage unit15, a cooperative server information storage unit16, a file data storage unit17, and a cache data storage unit18.

The authentication management unit11manages authentication information for enabling the client device30to access the storage server10A, and authentication information for enabling the storage server10A to access the file server20. The file management unit12uses index information of file data stored in the file server20to manage the file data stored in the file server20. Note that the file management unit12is an exemplary embodiment of an information management unit. The server monitor unit13monitors the state of the file server20and updates the index information and cooperative server information. Note that the server monitor unit13is an exemplary embodiment of a storage location monitor unit.

The authentication information storage unit14stores authentication information for enabling the client device30to access the storage server10A, and authentication information for enabling the storage server10A to access the file server20.

The index information storage unit15stores the index information of file data stored in the file server20. The cooperative server information storage unit16stores server information of the file server20that cooperates with the storage server10A.

The file data storage unit17stores file data in the storage server10A. Note that the file management unit12uses the index information of the file data stored in the file data storage unit17to manage the file data stored in the file data storage unit17as well as the file data stored in the file server20. The cache data storage unit18stores cache data.

FIG. 4illustrates an exemplary folder configuration of folders shared by the storage server10A. The folder configuration ofFIG. 4includes an AllUsers folder that is shared by all users that can access the storage server10A and personal folders that are each accessible by a specific user and are represented by a specific user name such as “Suzuki” and “Tanaka”.

The AllUsers folder and the personal folders ofFIG. 4each include a file folder, a keyword search folder, a workflow folder, a network share folder. The file folder is a folder for storing file data that a user wishes to store or share. The keyword search folder searches for file data including a keyword from file data stored in the storage server10A and the file server20that has been set up. The keyword may be created within the keyword search folder, for example. The file data to be searched may be file data with a file name including the keyword or file data having the keyword in its full text, for example. Also, the keyword search folder may perform a refined search by creating a subfolder, for example.

The workflow folder is a folder that has a specific function. File data arranged in the workflow folder is converted into a predetermined data format and is placed under the file folder. The network share folder displays file data that is stored in the file server20that has been set up.

As can be appreciated, the storage server10A may have both the AllUsers folder and the personal folders display file data stored in the file server20that has been set up.

In the following, processes of the information processing system1according to the present embodiment are described in greater detail.

A file server registration process for registering the file server20that cooperates with the storage server10A may be implemented by process steps as illustrated inFIG. 5, for example.FIG. 5is a sequence chart illustrating an exemplary file server registration process of the information processing system1according to the present embodiment.

In step S1, a user issues a setting screen display request to the storage server10A to have the setting screen displayed at the storage server10A. Note that in the following, an exemplary case of registering the file server20A and the file server20B is described.

In step S2, the user sets up authentication information of the file server20A in the setting screen that has been displayed. In step S3, the storage server10A performs authentication of the file server20A using the authentication information set up in the setting screen, and, if the authentication is successful, the storage server10A stores the authentication information as correct authentication information in the authentication information storage unit14.

Also, in step S4, the user sets up authentication information of the file server20B in the setting screen that has been displayed. In step S5, the storage server10A performs the authentication of the file server20B using the authentication information set up in the setting screen and stores the authentication information in the authentication information storage unit14as correct authentication information if the authentication is successful.

Note that although the process of setting up the authentication information in the setting screen is divided into steps S2and S4in the example illustrated inFIG. 5, the process of setting up the authentication information of the file server20A and the file server20B may alternatively be performed all at once in step S2, for example.

By repeating the process sequence as illustrated inFIG. 5, authentication information such as that illustrated inFIG. 6may be stored in the authentication information storage unit14, for example.FIG. 6is a table illustrating an exemplary configuration of authentication information stored in the authentication information storage unit14.

The authentication information illustrated inFIG. 6registers storage server authentication information for enabling each user to access the storage server10A in association with file server authentication information for enabling each user to access each file server20. The storage server authentication information includes account information (user ID, password) for enabling each user to access the storage server10A from the client device30. The file server authentication information includes account information (user ID, password) for enabling each user to access the file server20from the storage server10A. Note that the authentication information illustrated inFIG. 6registers the authentication information of one storage server10A in association with the authentication information of one or more file servers20.

By utilizing the authentication information as illustrated inFIG. 6, the storage server10A may refer to the authentication information of a user that has accessed the storage server10A to identify the authentication information of the file server20that can be accessed by the user.

A storage server startup process for starting the storage server10A may be implemented by process steps as illustrated inFIG. 7, for example.FIG. 7is a sequence chart illustrating an exemplary storage server startup process of the information processing system1according to the present embodiment.

In step S11, the user makes a request to start the storage server10A. In step S12, the storage server10A performs a startup process. After performing the startup process of step S12, the storage server10A acquires authentication information of the file server20stored in the authentication information storage unit14. In step S13, the storage server10A performs an authentication process with respect to the file server20A using the acquired authentication information. In step S14, the storage server10A performs an authentication process with respect to the file server20B using the acquired authentication information.

The storage server10A confirms the existence of one or more file servers20, and based on successful authentication with respect to the file servers20A and20B, for example, the storage server10A determines the file servers20to be displayed in the network share folder under the AllUsers folder.

That is, by performing the storage server startup process ofFIG. 7, the file servers20that can be accessed by all users having their account information registered in the storage server10A may be determined. After performing the storage server startup process ofFIG. 7, the storage server10A may log out of the file server20.

An information acquisition process for enabling the client device30to acquire information from the storage server10A may be implemented by process steps as illustrated inFIG. 8, for example.FIG. 8is a sequence chart illustrating an exemplary information acquisition process of the information processing system1according to the present embodiment.

In step S21, the user starts the client device30. The user enters account information for accessing the storage server10A. In step S22, the client device30makes a login request to the storage server10A based on the account information entered by the user. The storage server10A starts a login process in response to the login request from the client device30.

The storage server10A determines that login is successful if the account information from the client device30is stored in the authentication information storage unit14. In the following descriptions, it is assumed that the login has been successful. If the login has been successful, the storage server10A acquires from the authentication information storage unit14authentication information of the file server20associated with the storage server authentication information of the user that has successfully logged in. In other words, the storage server10A uses account information of the user that has logged into the storage server10A to identify account information for enabling the logged-in user to access the file server20.

In step S23, the storage server10A performs an authentication process with respect to the file server20A using the account information for enabling the logged-in user to access the file server20A.

If the authentication is successful, in step S24, the storage server10A acquires from the file server20A index information of file data within the accessible range for the logged-in user.

Also, in step S25, the storage server10A performs an authentication process with respect to the file server20B using the account information for enabling the logged-in user to access the file server20B.

If the authentication is successful, in step S26, the storage server10A acquires from the file server20B index information of file data within the accessible range for the logged-in user.

In step S27, the storage server10A uses the index information acquired from the file servers20A and20B to update the index information stored in the index information storage unit15. Also, the storage server10A uses server information of the file servers20A and20B to update the server information stored in the cooperative server information storage unit16.

FIG. 9is a table illustrating an exemplary configuration of index information. The index information illustrated inFIG. 9includes attribute information such as a file server name, a file path, full-text information, an update date/time, a permission, an owner, a group, and a file size, for example. The storage server10A stores index information as illustrated inFIG. 9in order to display a list of file data stored in one or more file servers20. To create the index information, the storage server10A may periodically access the file servers20to search the file data stored therein and update the attribute information accordingly, for example.

Note that inFIG. 9, the file server name of the index information specified as “own storage” indicates that the corresponding file data is stored in the file data storage unit17of the storage server10A.

The full-text information corresponds to text information of a document file in the case where the file data corresponds to a document file. The permission is information relating to authorization to access relevant data. For example, the permission may be described by a character string such as “-rw-r--r-”, and the first character may represent the type of data such as a file or a directory. The next three characters may represent access authority of an owner with respect to the relevant data. Of the three characters, a first character “r” may represent reading data (read), a second character “w” may represent writing data (write), and a third character “x” may represent execution of the data. Note that if the owner is not authorized to perform one or more of the above processes, the symbol “-” may be indicated in the corresponding character position. The next three characters following the three characters representing the access authority of the owner may represent access authority of a group with respect to the relevant data. The next three characters following the three characters representing the access authority of the group may represent access authority of other users with respect to the relevant data. Note that the specific information represented by the three characters describing the access authority of the group and the other users may be the same as the three characters representing the access authority of the owner.

For example, with respect to the permission described as “-rw-r--r-”, access authority may be interpreted as follows. First, the relevant data is stored as a file, and the owner is authorized to read and write the data but is not authorized to execute the data. A user belonging to the relevant group is authorized to read the data but is not authorized to write or execute the data. Other users are authorized to read the data but are not authorized to write or execute the data.

Referring back toFIG. 9, the owner and the group are information indicating the owner and the group described above in connection with the permission.

In step S28, the user operates the client device30to request for the display of a folder list. In step S29, the client device30makes a folder list acquisition request to the storage server10A.

The storage server10A that receives the folder list acquisition request from the client device30performs a folder list creation process, which is described in detail below. The storage server10A then sends the created folder list to the client device30. In turn, the client device30displays the received folder list. In this way, the user may check the folder list displayed by the client device30. Note that the folder list referred to in the present embodiment may include files as well as folders, for example.

FIG. 10is a flowchart illustrating an exemplary folder list creation process implemented by the storage server according to the present embodiment. In step S41, the storage server10A accepts a folder list acquisition request from the client device30.

In step S42, the storage server10A refers to the index information stored in the index information storage unit15to search for folders and files that can be accessed by the logged-in user.

Note that the folders and files that can be accessed by the logged-in user may include folders and files that can be accessed only by one or more specific users including the logged-in user as well as shared folders and files that are can be accessed by all users. Note that whether a folder or a file can be accessed by the logged-in user may be determined based on the permission associated with each item of data described inFIG. 9, for example.

In step S43, the storage server10A creates a folder list of folders that can be accessed by the logged-in user based on the search results of step S42. Then, in step S44, the storage server10A returns the folder list created in step S43to the client device30.

The client device30that has received the folder list may display a folder list display as illustrated inFIGS. 11A-11D, for example.FIGS. 11A-11Dillustrate examples of a folder list display.

Note thatFIGS. 11A-11Dillustrate folder list displays that may be displayed in an exemplary case where file A and file D are stored in the file server20A, file C is stored in the file server20B, and file B and file E are stored in the file server20C.

InFIG. 11A, the files A-E are listed in parallel. InFIG. 11B, the files A-E are listed under the file server20in which they are stored. InFIG. 11C, the files A-E are listed in parallel and displayed in different colors according to the file server20in which they are stored.

InFIG. 11D, all the files A-E are listed in parallel, and different icons are displayed next to the files A-E according to the file server20in which they are stored. Note that in a case where the same file is stored in more than one file server20, the file may be listed as one file when all the files in the folder list are listed in parallel, for example.

Note that whether two or more files stored in different file servers20correspond to the same file may be determined based on whether their file names match, for example. Also, the determination of whether two or more files correspond to the same file may be made based on whether their full-text information included in their index information match, for example. Further, the determination of whether two or more files correspond to the same file may be made based on whether their file names and their full-text information included in their index information match, for example.

Referring back toFIG. 8, in step S30, the user selects a file that the user wishes to view or print out from the files listed and displayed in the folder list displayed by the client device30, and issues a corresponding instruction for viewing/printing the selected file, for example.

In step S31, the client device30sends a data acquisition request to the storage server10A for acquiring file data of the file for which an instruction such as a view/print instruction has been issued by the user. In step S32, the storage server10A acquires the file data from the file server20B, for example, in which the file data requested by the user is stored. Then, the storage server10A returns the acquired file data to the client device30.

According to an aspect of the information processing system1according to the present embodiment, when a user wishes to perform an operation with respect to a file stored in the storage server10A or the file server20, the user does not have to perform different operations according to the storage location of the file and user convenience may be improved as a result.

According to another aspect of the information processing system1of the present embodiment, folders and files stored in the storage server10A and a plurality of file servers20may be integrally listed and presented to the user. Thus, the user may perform operations on the files through common procedures regardless of the storage location of the files.

Second Embodiment

In the following, a second embodiment of the present invention is described. Note that features of the second embodiment that may be identical to those of the first embodiment are given the same reference numerals and their descriptions may be omitted.

As illustrated inFIG. 8, in the first embodiment, the authentication process with respect to the file server20is performed at the time the user starts the client device30. In the second embodiment of the present invention, the authentication process with respect to the file server20is performed at the time the user performs an operation to acquire file data from the file server20. Note that in the following descriptions, it is assumed that the storage server10A acquires index information from the file server20upon being started and at predetermined time intervals thereafter, for example, and updates the index information stored in the index information storage unit15accordingly.

FIG. 12is a sequence chart illustrating another exemplary information acquisition process according to the second embodiment.

In step S51, the user starts the client device30. The user enters account information for accessing the storage server10A. In step S52, the client device30makes a login request to the storage server10A for logging into the storage server10A using the account information entered by the user. The storage server10A starts a login process in response to the login request from the client device30.

The storage server10A determines that login is successful if the account information from the client device30is stored in the authentication information storage unit14. In the following descriptions, it is assumed that the login has been successful.

In step S53, the user operates the client device30to make a request for the display of a folder list. In step S54, the client device30sends a folder list acquisition request to the storage server10A.

The storage server10A that receives the folder list acquisition request from the client device30performs a folder list creation process. The storage server10A then sends the created folder list to the client device30. In turn, the client device30displays the folder list received from the storage server10A.

In step S55, the user selects a file that the user wishes to view/print from the files that are listed and displayed in the folder list displayed by the client device30, and issues a corresponding instruction for viewing/printing the selected file to the client device30. In step S56, the client device30makes a data acquisition request to the storage server10A for acquiring file data of the file for which an instruction such as a view/print instruction has been issued by the user.

In step S57, the storage server10A performs an authentication process with respect to the file server20B, for example, using the account information for enabling the user to access the file server20B that stores the file data for which the view/print instruction has been issued.

If the authentication is successful, the process proceeds to step S58in which the storage server10A acquires the file data requested by the user from the file server20B. The storage server10A then returns the acquired file data to the client device30.

According to an aspect of the information processing system1of the second embodiment, advantageous effects similar to those obtained in the first embodiment may be obtained even when the authentication process with respect to the file server20is performed at the time the user performs an operation for acquiring file data from the file server20.

Third Embodiment

In the following, a third embodiment of the present invention is described. Note that features of the third embodiment that may be identical to those of the first embodiment are given the same reference numerals and their descriptions may be omitted.

The first and second embodiments relate to an exemplary case in which an information acquisition process is performed by one user. The third embodiment relates to an exemplary case in which multiple users perform the information acquisition process.

In the information processing system1according to the present embodiment, a session between the storage server10A and the file server20may be limited to one session in some cases. In the case where the session between the storage server10A and the file server20is limited to one session in the information processing system1, the following process operations may be executed when information acquisition processes by multiple users overlap.

FIG. 13is a sequence chart illustrating another exemplary information acquisition process of the information processing system1according to the third embodiment. Note that in the following descriptions, it is assumed that process operations from starting the client device30to acquiring file data performed by user A and user B partially overlap. Note, also, that although only one client device30is illustrated inFIG. 13, it is assumed that a client device30for the user A and a client device30for the user B are provided.

In step S101, the user A starts the client device30. The user A enters account information for accessing the storage server10A. In step S102, the client device30makes a request to log into the storage server10A using the account information entered by the user A. The storage server10A starts a login process in response to the login request from the client device30that has been started by the user A.

The storage server10A determines that login is successful if the account information used in the login request from the client device30that has been started by the user A is stored in the authentication information storage unit14. In the following descriptions, it is assumed that the user A has successfully logged into the storage server10A. If the login has been successful, the storage server10A acquires from the authentication information storage unit14authentication information for accessing the file server20associated with authentication information of the user A that has successfully logged into the storage server10A. In other words, the storage server10A refers to the account information of the user A that has logged into the storage server10A to identify the account information for enabling the user A to access the file server20.

In step S103, the storage server10A performs the authentication process with respect to the file server20A using the account information for enabling the logged-in user A to access the file server20A. If the authentication is successful, in step S104, the storage server10A acquires from the file server20A index information of file data that is within the accessible range for the user A. In step S105, the storage server10A disconnects the connection (session) with the file server20A.

In step S106, the user B starts the client device30. The user B enters account information for accessing the storage server10A. In step S107, the client device30makes a request to login into the storage server10A using the account information entered by the user B. Note that the storage server10A starts a login process for the user B after completing the login process and authentication processes for the user A.

In step S108, the storage server10A performs an authentication process with respect to the file server20B using the account information for enabling the logged-in user A to access the file server20B. If the authentication is successful, in step S109, the storage server10A acquires from the file server20B index information of file data that is within the accessible range for the user A. In step S110, the storage server10A disconnects the connection (session) with the file server20B.

In step S111, the storage server10A uses the index information obtained from the file server20A and the file server20B to update the index information stored in the index information storage unit15. Also, the storage server10A updates the server information stored in the cooperative server information storage unit16using the server information of the file servers20A and20B.

After the authentication processes for the user A has been completed, in step S112, the storage server10A starts a login process for the user B in response to the login request from the client device30that has been started by the user B. Note that the login process and authentication processes for the user B may be similar to the login process and the authentication processes for the user A as described above, and therefore, descriptions thereof are omitted.

In step S116, the user B operates the client device30make a request for the display of a folder list. In step S117, the client device30of the user B sends a folder list acquisition request to the storage server10A. The storage server10A that receives the folder list acquisition request from the client device30of the user B performs a folder list creation process. The storage server10A then sends the created folder list to the client device30of the user B. Then, the client device30of the user B displays the folder list received from the storage server10A. In this way, the user B can check the folder list displayed by the client device30.

In step S118, the user A operates the client device30to make a request for the display of a folder list. In step S119, the client device30of the user A sends a folder list acquisition request to the storage server10A. The storage server10A that receives the folder list acquisition request from the client device30of the user A performs a folder list creation process. The storage server10A then sends the created folder list to the client device30of the user A. Then, the client device30of the user A displays the folder list received from the storage server10A. In this way, the user A can check the folder list displayed by the client device30.

In step S120, the user A selects a file that the user A wishes to view/print from files listed and displayed in the folder list that is displayed by the client device30of the user A, and issues a corresponding instruction for viewing/printing the selected file. In step S121, the client device30of the user A makes a data acquisition request to the storage server10A for acquiring file data of the file for which the view/print instruction has been issued by the user A.

In step S122, the storage server10A performs an authentication process with respect to the file server20B, for example, that stores the file data for which the view/print instruction has been issued using the account information of the user A for accessing the file server20B.

In step S123, the user B selects a file that the user B wishes to view/print from files listed and displayed in the folder list that is displayed by the client device30of the user B, and issues a corresponding instruction for viewing/printing the selected file. In step S124, the client device30of the user B makes a data acquisition request to the storage server10A for acquiring file data of the file for which the view/print instruction has been issued by the user B.

In step S125, the storage server10A performs an authentication process with respect to the file server20A, for example, that stores the file data for which the view/print instruction has been issued using the account information of the user B for accessing the file server20A.

In the process operations illustrated inFIG. 13, the file data that is subject to the view/print instruction from the user A is different from the file data that is subject to the view/print instruction from the user B, and as such, the data acquisition processes can be performed in parallel. For example, when the authentication process with respect to the file server20B is successful, in step S126, the storage server10A acquires the file data requested by the user A from the file server20B. The storage server10A returns the acquired file data to the client device30of the user A. After step S126, the storage server10A proceeds to step S128, in which the storage server10A disconnects the session with the file server20B.

When the authentication process with respect to the file server20A is successful, in step S127, the storage server10A acquires the file data that has been requested by the user B from the file server20A. The storage server10A returns the acquired file data to the client device30of the user B. After step S127, the storage server10A process proceeds to step S129in which the storage server10A disconnects the session with the file server20A.

According to the process operation sequence as illustrated inFIG. 13, when the storage server10A establishes connection with a file server20to execute a process, the storage server10A disconnects the connection after completing the process and moves on to a next process. In this way, parallel processing of processes by a plurality of client devices30of a plurality of users may be enabled.

FIG. 14is a sequence chart illustrating another exemplary information acquisition process of the information processing system1according to the present embodiment. Note that in the following descriptions, it is assumed that the process operations from starting the client device30until acquiring file data for the user A and the user B partially overlap. Also, note that although only one client device30is illustrated inFIG. 14, it is assumed that a client device30for the user A and a client device30for the user B are provided.

Note that steps S201-S204ofFIG. 14may be substantially identical to steps S101-S104ofFIG. 13, and accordingly, descriptions thereof are omitted. InFIG. 14, after the storage server10A acquires from the file server20A index information of file data that is within the accessible range for the user A in step S204, the storage server10A does not disconnect the connection with the file server20A.

Note that the processes of steps S205and S208ofFIG. 14may be substantially identical to steps S108and S109ofFIG. 13, and accordingly, descriptions thereof are omitted. InFIG. 14, after the storage server10A acquires from the file server20B index information of file data that is within the accessible range for the user A in step S208, the storage server10A does not disconnect the connection with the file server20A.

Note that the processes of steps S206and S207ofFIG. 14may be substantially identical to steps S106and S107ofFIG. 13, and accordingly, descriptions thereof are omitted. In step S209, the storage server10A maintains the connections with the file servers20A and20B and stores access information with respect to the file servers20A and20B.

In step S210, the storage server10A uses the index information acquired from the file server20A and the file server20B to update the index information stored in the index information storage unit15. Also, the storage server10A updates the server information stored in the cooperative server information storage unit16using the server information of the file server20A and the file server20B.

After the login process and authentication processes for the user A have been completed, the storage server10A starts the login process for the user B in response to the login request from the client device30that has been started by the user B in step S211. Note that in step S211, the storage server10A determines whether the login request user corresponds to the user A for which the connections have been maintained in step S209.

When the storage server10A determines that the login request user corresponds to the user A for which the connections have been maintained in step S209, the storage server10A uses the maintained connections to establish connection with the file servers20A and20B. In the present example, the storage server10A determines that the login request user does not correspond to the user A for which the connections have been maintained in step S209, and the storage server10A disconnects the connections before performing an authentication process for enabling the user B to access the file server20A.

In step S212, the storage server10A disconnects the connection to the file server20A. Note that steps S213and S214ofFIG. 14may be substantially identical to steps S112and S113ofFIG. 13, and accordingly, descriptions thereof are omitted.

Also, in step S215, the storage server10A determines whether the login request user corresponds to the user A for which the connections have been maintained in step S209. In the present example, the storage server10A determines that the login request user does not correspond to the user A for which the connections have been maintained in step S209, and the storage server10A disconnects the connections before performing an authentication process for enabling the user B to access the file server20B.

In step S216, the storage server10A disconnects the connection to the file server20B. Note that descriptions of step S217and subsequent steps are omitted because they may be substantially identical to steps S208-S210described above.

In the process operation sequence as illustrated inFIG. 14, the storage server10A maintains the connection established with the file server20, and if the next access request is made by the same user, the storage server10A accesses the file server20using the connection that has been maintained. If the next access request is made by a different user, the storage server10A disconnects the connection that has been maintained before performing a process for enabling the different user to access the file server20.

According to an aspect of the process operation sequence as illustrated inFIG. 14, the processes of establishing connection with the file server20and disconnecting the connection by the storage server10A may be reduced.

Note that as another alternative to the process operation sequences of the information processing system1as illustrated inFIGS. 13 and 14, when an authentication process is to be performed between the storage server10A and the file server20, the storage server10A may be configured to disconnect a connection before performing the authentication process with respect to the file server20. In the information processing system1that disconnects a connection before performing an authentication process, the storage server10A corresponding to the side that establishes a connection is configured to disconnect the connection before performing the authentication process, and in this way, accessing the file server20under the authority of another user may be avoided, for example. That is, in the information processing system1that disconnects a connection before performing an authentication process with respect to the file server20, the authentication process may be performed using access information of the corresponding user that is requesting access to the file server20.

According to an aspect of the information processing system1of the third embodiment, even when the timing at which a plurality of users perform operations for acquiring file data overlap with one another, advantageous effects similar to those obtained in the first embodiment may be obtained.

In the following, another embodiment of the present invention directed to a case of cooperating with a cloud server (cloud storage service) is described.

FIG. 15illustrates an exemplary configuration of the information processing system1according to the present embodiment. InFIG. 15, the information processing system1includes a cloud server60A, a cloud service70A, and a cloud service70B that are connected to the network N2 in addition to the components illustrated inFIG. 1. Like the file server20, the cloud server60A, the cloud service70A, and the cloud service70B are capable of storing a file for each user. Also, like the file server20, the cloud server60A is only able to allow login access by one user using one account at a given time and cannot allow other users to login at the same time (because a user logs into the server device itself, other users are excluded).

On the other hand, the cloud services70A and70B correspond to services that store files in a cloud server, and as such, even if access requests from multiple users are made at the same time, the multiple users may simultaneously access the cloud services70A and70B (e.g. while a user A is using the cloud service70A, another user B may access the cloud service70A, and the user A and the user B may each be able to use the cloud service70A). Thus, access control methods are preferably changed with respect to services such as the cloud services70A and70B, and server devices such as the cloud server60A and the file server20. Note that because a firewall is arranged, access to the cloud server60A may be made using the relay server50(e.g. while periodically polling the relay50to determine whether a request has been made to the relay server50by the cloud server60, the storage server10may send a request to the relay server50, and the cloud server60A may receive from the relay server50the request sent from the storage server10).

In other embodiments, the storage server10may perform a connection determination process as illustrated inFIG. 16in steps S211-S217ofFIG. 14, for example. InFIG. 16, first, the storage server10determines whether there is a connection destination overlap between connectable services and/or server devices for a logged-in user (user B inFIG. 14) and services and/or server devices with which connections are currently established (step S301). For example, assuming authentication information as illustrated inFIG. 17is stored in the authentication information storage unit14, the connectable services and server devices for the user A includes “file server A”, “file server B”, “file server C”, and “cloud service B”. Accordingly, when the user A logs in, the storage server10establishes connections with the file server A, the file server B, the file server C, and the cloud service B. On the other hand, the connectable services and server devices for the user B includes “file server A”, “file server C”, “cloud server A”, and “cloud service B”. Accordingly, overlapping connection destinations for user A and user B include “file server A” and “cloud service B”.

If there are no overlapping connection destinations (step S301, NO), the storage server10does not disconnect the connection with a connection destination (e.g. file server) that is currently established, and accesses services and server devices corresponding to non-overlapping connection destinations using the user ID and password of a newly logged-in user (step S307). If there are overlapping connection destinations (step S301, YES), the storage server10determines whether a service such as a cloud service70is included in the overlapping connection destinations (step S302). In the example ofFIG. 17, the overlapping connection destinations include “cloud service B”, accordingly, a positive determination (YES) is made in step S302.

If a service is included in the overlapping connection destinations (step S302, YES), the storage server10establishes connection with the service included in the overlapping connection destinations (“cloud service B” in the case ofFIG. 17) using the user ID and password of the user B (step S303). Note that when a connection destination corresponds to a service, the service may be accessed simultaneously. Accordingly, the storage server10may maintain the connection with the cloud service B using the account information of the user A and additionally establish connection with the cloud service B using the account information of the user B. That is, the storage server10may establish connection with the cloud service B using the account information of the user B without disconnecting the connection established with the cloud service B using the account information of the user A. In this way, the storage server10may be able to omit reconnection and disconnection processes with respect to the cloud service B.

Then, the storage server10determines whether the overlapping connection destinations include a server device (step S304). If a server device is not included in the overlapping connection destinations (step S304, NO), the storage server10proceeds to step S307. If the overlapping connection destinations include a server device (step S304, YES), the storage server10disconnects the connection with the server device corresponding to the overlapping connection destination (“file server A” in the case ofFIG. 17) in a manner similar to the disconnection process described above with reference toFIG. 14(step S305). Then, the storage server10establishes connection with the disconnected server device using the account information of the user B corresponding to the newly logged-in user (step S306). Then, the process proceeds to step S307where the storage server10establishes connections with non-overlapping connection destinations (“file server C” and “cloud server A” in the case ofFIG. 17) using the account information of the user B.

Note that although the determination of whether to disconnect a connection is made based on whether an overlapping connection destination corresponds to a service or a server device in the above-described example, the present embodiment is not limited to the above. For example, setting information on whether to disconnect a connection may be set up in advance for each connection destination, and the determination of whether to disconnect a connection may be made based on the setting information.

Although the present invention has been described above with respect to certain illustrative embodiments, the present invention is not limited to the specific embodiments described above, and numerous variations and modifications may be made without departing from the spirit and scope of the present invention.

The hardware platform includes any desired hardware resources including, for example, a central processing unit (CPU), a random access memory (RAM), and a hard disk drive (HDD). The CPU may include processors of any desired type and number. The RAM may include any desired volatile or nonvolatile memory. The HDD may include any desired nonvolatile memory capable of recording a large amount of data. The hardware resources may further include an input device, an output device, and a network device in accordance with the type of the apparatus. The HDD may be provided external to the apparatus as long as the HDD is accessible from the apparatus. In this case, the CPU, for example, the cache memory of the CPU, and the RAM may operate as a physical memory or a primary memory of the apparatus, while the HDD may operate as a secondary memory of the apparatus.

The present application is based on and claims the benefit of priority of Japanese Patent Application No. 2013-253154, filed on Dec. 6, 2013 and Japanese Patent Application No. 2014-240835 filed on Nov. 28, 2014, the entire contents of which are hereby incorporated herein by reference.