PROCESS REQUESTING APPARATUS, METHOD OF CONTROLLING PROCESS REQUESTING APPARATUS AND RECORDING MEDIUM FOR PROCESS REQUESTING APPARATUS

A process-requesting apparatus for requesting a process-performing apparatus to perform a predefined process and querying a progress status of the predefined process includes a progress status obtaining unit for obtaining, as a response to the query about the progress status to the process-performing apparatus, the progress status from the process-performing apparatus; a completion determining unit for determining whether the predefined process has been completed based on the obtained progress status; a time interval determining unit for determining a time interval from the last time the process-requesting apparatus queried the progress status to the next time the process-requesting apparatus queries the progress status according to an elapsed time from the start of the predefined process; and a progress status querying unit for, in the case where the predefined process has not been completed, querying the process-performing apparatus about the progress status at the determined time interval.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, embodiments of the present invention will be described with reference to the accompanying drawings. A file management system will be described as an example of the present invention, in which system, a client terminal as a process requesting apparatus which is implemented by an information processing apparatus such as a PC (Personal Computer), etc., is connected via a network to a file management server as a process performing apparatus which provides a function of storing/managing/sharing/distributing digitized information such as electronic documents, electronic images, etc., as files.

Note that the client terminal according to the present embodiment is configured to, in the above file management system, transmit a process request when the client terminal uses a function provided by the file management server and cause the file management server to perform the process corresponding to the process request. Also, the client terminal is configured to perform the “polling” in which the client terminal, after transmitting the process request, queries the file management server about a progress status of the requested process such as whether the process has been completed or not, to what extent the process has been performed, etc., at a defined interval. On the other hand, the file management server which receives the query is configured to report the progress status of the process as a response to the query to the client terminal which is a transmission source of the process request.

In this kind of the file management system, one of the objectives of the present embodiment is, in the case where the client terminal causes the file management server to perform the process corresponding to the process request, to cause the interval of the polling (hereinafter referred to as “polling interval”), at which the client terminal performs the polling of the file management server, to be longer as the elapsed time from the start of performing the process by the file management server becomes longer.

Specifically, in the case where a time interval from when the performing of the process has started to when the first polling is performed is defined as a1, a time interval from when the first polling has been performed to when the second polling is performed is defined as a2, a time interval from when the second polling has been performed to when the third polling is performed is defined as a3, . . . , and a time interval from when the n−1tthpolling has been performed to when the nthpolling is performed is defined as an, anis determined to be an>an−1(n is an integer, n>=1). Note that the 0thpolling corresponds to the start of the performing of the process.

Also, in the present embodiment, in the case where the elapsed time from the start of performing the process to the process completion by the file management server (hereinafter referred to as “time interval b”) is short, a time lag from when the process has been completed by the file management server to when the client terminal detects the process completion (hereinafter referred to as “time interval c”) is short. On the other hand, in the case where the time interval b is long, the time interval c becomes longer. Because the ratio of the time interval c to the time interval b becomes smaller as the time interval b becomes longer, it appears that the real time capabilities do not decrease.

Therefore, according to the present embodiment, it becomes possible to reduce unnecessary communication traffic and to reduce the process load of the file management server and the client terminal without decreasing the real time capabilities. The details will be described below referring to the accompanying drawings.

First, operations of the file management system according to the present embodiment will be described referring toFIG. 1.FIG. 1is a drawing illustrating an example of operations of the file management system according to the present embodiment. As shown inFIG. 1, in the file management system, a network3, to which the file management server1is connected, and a network4, to which a client terminal2is connected, are connected through a public circuit5such as the Internet, a telephone circuit, etc.

Note that the number of the client terminal2connected to the network4is just an example, and the system may be a large scale system in which many more client terminals2are connected to the network4. Also, multiple networks, to which different types of client terminals2are connected, may be connected to the file management server1through the public circuit5, or the file management server1and the client terminal2may be connected to the same network.

The file management server1is a shared server for managing the file management system. In other words, the file management server1provides a function of storing/managing/sharing/distributing digitized information such as electronic documents, electronic images, etc., as files. Also, the file management server1manages users who are registered in the file management system, performs login authentication based on authentication information such as an ID, a password, etc., transmitted from the client terminal2, and authorizes the use of the file management system according to the result of the login authentication.

The client terminal2is an information processing terminal operated by a user, and is implemented by an information processing apparatus such as a PC. The client terminal2may be implemented by a portable information terminal such as PDA (Personal Digital Assistant), a smart phone, a tablet terminal, etc. Note that in the client terminal2, a file management application, which is specialized software for using the file management system, is installed.

The networks3and4are specific networks such as an office LAN (Local Area Network), and the file management server1and the client terminal2are connected to the public circuit5through each of the LANs. It is possible that the file management server1and the client terminal2are configured to be directly connected to the public circuit5.

Next, hardware configurations of the file management server1and the client terminal2will be described referring toFIG. 2.FIG. 2is a block diagram illustrating a hardware configuration of the client terminal2according to the present embodiment. In the following description, the hardware of the client terminal2is described as an example, and the hardware of the file management server1is about the same as the hardware of the client terminal2.

As shown inFIG. 2, the client terminal2includes about the same configuration as an ordinary server or a PC. In other words, in the client terminal2, a CPU (Central Processing Unit)10, a RAM (Random Access Memory)20, a ROM (Read Only Memory)30, an HDD (Hard Disk Drive)40and an I/F50are connected via a bus80. Also, an LCD (Liquid Crystal Display)60and an operation unit70are connected to the I/F50.

The CPU10is a computing unit and controls overall operations of the client terminal2. The RAM20is a volatile memory medium capable of fast reading and writing of information, and is used as a work area when the CPU10processes information. The ROM30is a read-only non-volatile memory medium in which programs such as firmware are stored. The HDD40is a non-volatile memory medium capable of fast reading and writing of information, in which an OS (Operating System), various kinds of control programs, application programs, etc., are stored.

The I/F50connects the bus80with various kinds of hardware and networks and controls them. The LCD60is a visual user interface for the user to check the state of the client terminal2. The operation unit70is a user interface such as a keyboard, a mouse, a touch panel, etc., for the user to input information to the client terminal2. Note that as described forFIG. 1, the file management server1is operated as a shared server. Therefore, the file management server1may not include user interfaces such as the LCD60, the operation unit70, etc.

In this kind of hardware configuration, a software control unit is configured by reading out programs stored in the memory medium such as the ROM30, the HDD40, or an optical disk which is not shown in the drawings into the RAM20, and by causing the CPU10to compute according to the programs loaded into the RAM20. Thus, the functional block which realizes the function of the client terminal2is configured by the combination of the software control unit, which is configured as described above, and the hardware.

Next, the functional configurations of the file management server1and the client terminal2will be described referring toFIG. 3.FIG. 3is a block diagram illustrating the functional configurations of the file management server1and the client terminal2.

As shown inFIG. 3, the file management server1includes a controller100and a network I/F101. The network I/F101is an interface for the file management server1to communicate with other devices such as the client terminal2, for which an Ethernet (registered trademark) or USB interface is used. The network I/F101is implemented by the I/F50shown inFIG. 2.

The controller100is configured by a combination of software and hardware. Specifically, the controller100is configured by a software control unit and hardware such as an integrated circuit, the software control unit is configured by causing programs stored in the ROM30, a non-volatile memory, a non-volatile memory medium such as the HDD40, an optical disk, etc., to be loaded into the volatile memory such as the RAM20, and by causing the CPU10to operate according to the programs. The controller100functions as a control unit which controls the file management server1as a whole.

Also, the controller100includes an input/output control unit110, a process performing unit120, a progress status monitoring unit130and a progress status response unit140. The input/output control unit110inputs information, which is input through the network I/F101, to each unit of the controller100, or transmits information, which is output from each unit of the controller100, to other devices such as the client terminal2through the network I/F101.

The process performing unit120performs a process in accordance with a process request transmitted from the client terminal2. Here, the process request is a request from the client terminal2for causing the file management server1to perform a predefined process. Also, the predefined processes performed by the process performing unit120are, for example, a process of creating in blocks the copies of the files in the folder stored in the file management server1in another folder, a process of deleting in blocks the files in the folder stored in the file management server1, etc.

The progress status monitoring unit130monitors whether the process performed by the process performing unit120has been completed or not. The progress status response unit140, in accordance with the monitoring result of the progress status monitoring unit130, creates and outputs progress status reporting information which is used for reporting the progress status to the client terminal2.

Also, as shown inFIG. 3, the client terminal2includes a controller200, a network I/F201and a display panel202. The network I/F201is an interface for the client terminal2to communicate with other devices such as the file management server1through a network, and Ethernet (registered trademark) or USB interface is used. The network I/F201is implemented by the I/F50shown inFIG. 2. The display panel202is an output interface for visually displaying the state of the client terminal2. The display panel202is implemented by the LCD60shown inFIG. 2.

The controller200is configured by a combination of software and hardware. Specifically, the controller200is configured by a software control unit and hardware such as integrated circuit, the software control unit is configured by causing programs stored in the ROM30, a non-volatile memory, a non-volatile memory medium such as the HDD40, an optical disk, etc., to be loaded into the volatile memory such as the RAM20, and by causing the CPU10to operate according to the programs. The controller200functions as a control unit which controls the client terminal2as a whole.

Also, the controller200includes an input/output control unit210, a display control unit220, a process requesting unit230and a polling control unit240. The input/output control unit210inputs information, which is input through the network I/F201, to each unit of the controller200, or transmits information, which is output from each unit of the controller200, to other devices such as the file management server1through the network I/F201. The display control unit220displays information on the display panel202. The process requesting unit230creates and outputs a process request for causing the file management server1to perform a predefined process.

The polling control unit240performs the control of the polling of the file management server1related to the process request, the polling which is performed by the client terminal2. Also, the polling control unit240includes a progress status querying unit241, a polling status management unit242, a polling status storing unit243, a polling interval calculating unit244and a polling setting storing unit245.

The progress status querying unit241creates and outputs a progress status querying command to query about whether the process, which corresponds to the process request transmitted from the client terminal2to the file management server1, has been completed or not. The polling status management unit242monitors the progress status querying unit241and updates the number of polling counts stored in the polling status storing unit243each time the polling of the process request is performed. The polling status storing unit243stores the number of polling counts of the process request. The polling status storing unit243is implemented by the RAM20or the HDD40shown inFIG. 2.

The polling interval calculating unit244calculates the polling interval of the client terminal2for the file management server1based on a setting for calculating the polling interval stored in the polling setting storing unit245and the number of polling counts stored in the polling status storing unit243. Here, the setting for calculating the polling interval is a Formula (1), which will be described later, or constants (α, β, γ) included in the Formula (1). The polling setting storing unit245stores the setting for the polling interval calculating unit244to calculate the polling interval and other settings related to the polling. The polling setting storing unit245is implemented by the ROM30shown inFIG. 2.

In the file management system configured as above, one of the objectives of the present embodiment is, in the case where the client terminal2causes the file management server1to perform the process corresponding to the process request, to cause the polling interval, at which the client terminal2performs the polling of the file management server1, to become longer as the elapsed time from the start of performing the process by the file management server1becomes longer.

Specifically, in the case where a time interval from when the performing of the process starts to when the first polling is performed is defined as a1, a time interval from when the first polling has been performed to when the second polling is performed is defined as a2, a time interval from when the second polling has been performed to when the third polling is performed is defined as a3, . . . , and a time interval from when the n−1thpolling has been performed to when the nthpolling is performed is defined as an, anis determined to be an>an−1(n is integer, n>=1) as shown inFIG. 8.FIG. 8is a drawing illustrating the intervals of the polling of the client terminal2for the file management server1.

Also, in the present embodiment, in the case where the elapsed time from the start of performing the process to the process completion by the file management server1(“time interval b” shown inFIG. 8) is short, a time lag from when the process has been completed by the file management server1to when the client terminal2detects the process completion (“time interval c” shown inFIG. 8) is short. On the other hand, in the case where the time interval b is long, the time interval c becomes long. Because the ratio of the time interval c to the time interval b becomes smaller as the time interval b becomes longer, it appears that the real time capabilities do not decrease.

Therefore, according to the file management system of the present embodiment, it becomes possible to reduce unnecessary communication traffic and to reduce the process load of the file management server1and the client terminal2without decreasing the real time capabilities. The details will be described below referring to the accompanying drawings.

Next, a process of the client terminal2when it causes the file management server1to perform a predefined process will be described referring toFIG. 4andFIG. 5.FIG. 4is a flowchart illustrating a process when the client terminal2causes the file management server1to perform the process corresponding to the process request.FIG. 5is a flowchart illustrating a process when the file management server1performs the process corresponding to the process request.

As shown inFIG. 4, when the client terminal2causes the file management server1to perform a process, the process requesting unit230creates a process request (S401), and transmits the created process request to the input/output control unit210. The input/output control unit210, when the process request is received from the process requesting unit230, transmits the received process request to the file management server1through the network I/F201(S402). When the input/output control unit210transmits the process request to the file management server1, the client terminal2waits until a start reporting information, which will be described later, is received from the file management server1.

In the meantime, as shown inFIG. 5, in the case where the file management server1performs the process, when the process request is transmitted from the client terminal2to the file management server1, the input/output control unit110receives the process request transmitted by the client terminal2through the network I/F101(S501), and transmits it to the process performing unit120. The process performing unit120, when the process request is received from the input/output control unit110, starts performing the process corresponding to the received process request (S502).

The progress status monitoring unit130monitors the process performing unit120and, when it detects that the performing of the process has started (S503), reports the same to the progress status response unit140. The progress status response unit140, when it is reported by the progress status monitoring unit130that the performing of the process is started, creates start reporting information for reporting the same to the client terminal2(S504), and transmits the created start reporting information to the input/output control unit110.

The input/output control unit110, when it receives the start reporting information from the process performing unit120, transmits the received start reporting information to the client terminal2through the network I/F101(S505). When the input/output control unit110transmits the start reporting information to the client terminal2, the file management server1, while performing the process, waits until it receives a progress status querying command from the client terminal2.

When the start reporting information is transmitted from the file management server1to the client terminal2, the input/output control unit210receives the start reporting information transmitted by the file management server1through the network I/F201(S403), and transmits the received start reporting information to the progress status querying unit241. The progress status querying unit241, when it receives the start reporting information from the input/output control unit210, detects that the performing of the process corresponding to the process request is started by the file management server1(S404).

The progress status querying unit241, when it detects that the performing of the process is started by the file management server1, reports the same to the display control unit220and the polling interval calculating unit244, while at the same time starting the measurement of the elapsed time from when it detects that the performing of the process is started by the file management server1(S405).

Note that, as described in the process of S404, the progress status querying unit241detects that the performing of the process is started by the file management server1based on the start reporting information received from the input/output control unit210. The progress status querying unit241may detect that the performing of the process is started by the file management server1based on the fact that the process request is transmitted to the file management server1.

The display control unit220, when the detection of the start of performing the process is reported by the progress status querying unit241, displays on the display panel202a process-in-progress screen in order to report to the user that the process is being performed by the file management server1(S406). An example of the process-in-progress screen is shown inFIG. 6.

Also, the polling interval calculating unit244, when the detection of the start of performing the process is reported by the progress status querying unit241, based on the number of polling counts n stored in the polling status storing unit243, calculates the time from the detection of the start of performing the process by the progress status querying unit241to the first polling is performed, which is the polling interval a1, according to the Formula (1) below stored in the polling setting storing unit245(S407). In other words, the polling interval calculating unit244functions as a time interval determining unit. Note that, in the polling status storing unit243in the process of S407, n=1 is stored as an initial value of the number of polling count. Also, in the Formula (1) below, α, β and γ are predefined constants and are real numbers greater than zero.

Here, the Formula (1) will be described. The Formula (1) means that the time from when the n−1thpolling has been performed to when the nthpolling is performed, which is the polling interval an, is determined in accordance with the-number-of-times-polling-performed-so-far to the γthpower. In other word, in the file management system according to the present embodiment, in the case where the client terminal2causes the file management server1to perform the process corresponding to the process request, it becomes possible to cause the polling interval, at which the client terminal2performs the polling of the file management server1, to become longer as the elapsed time from the start of performing the process by the file management server1becomes longer. Therefore, it becomes possible to reduce unnecessary communication traffic and at the same time to reduce the process load of the file management server1and the client terminal2.

According to the Formula (1), in the process of S407where the number of polling counts so far is zero, in other words, the number of polling counts stored in the polling status storing unit243is n=1, the polling interval a1is calculated as β.

Note that β is described as a predefined constant. But β may be set by the polling interval calculating unit244in accordance with the content of the process that the file management server1is caused to perform.

The reason is that as it is shown in the Formula (1), β is the same as the minimum polling interval a1. So, for example, in the case where the process performed by the file management server1is expected to be completed at once because the number of steps of the process performed by the file management server1is small, by setting the value of β small, it becomes possible to cause the time lag, which is the time from when the process has been completed by the file management server1to when the client terminal2detects the completion, to be small.

By having the configuration like this, it becomes possible to cause the time lag, which is the time from when the process has been completed by the file management server1to when the client terminal2detects the completion, to be small even for whatever kind of process the client terminal2causes the file management server1to perform. Note that as an example of a process with a small number of steps to be performed by the file management server1, there is a process of creating in blocks the copies of the files in the folder stored in the file management server1in another folder, in which the data size of the copies is small.

Also, in the case where the file management system is configured in such a way that the communication is automatically disconnected because of the timeout when there is no transmission and reception of information between the client terminal2and the file management server1for more than a certain amount of time, it is only necessary that the maximum value of the polling interval is configured to be set less than the timeout value.

The progress status querying unit241, when the polling interval a1is calculated by the polling interval calculating unit244, waits until the elapsed time, whose measurement has started in the process of S405, reaches the calculated polling interval a1(S408). The progress status querying unit241, when the elapsed time, whose measurement has started in the process of S405, reaches the polling interval a1calculated in the process of S407, creates a progress status querying command to query the file management server1about the progress status (S409), transmits the command to the input/output control unit210and at the same time resets the elapsed time measurement, which has started in the process of S405, and newly starts the measurement of the elapsed time (S410). In other words, the progress status querying unit241functions as a progress status querying unit.

Also, the polling status management unit242monitors the progress status querying unit241, and updates the polling count number, which is stored in the polling status storing unit243, from n to n+1 when the progress status querying command is transmitted to the input/output control unit210and the measurement of the elapsed time is newly started (S411). Note that because the polling count number stored in the polling status storing unit243in the process of S407is n=1, the polling count number stored in the polling status storing unit243is supposed to be updated from 1 to 2 in the process of S411.

In the meantime, the input/output control unit210, when the progress status querying command is received from the progress status querying unit241, transmits the received progress status querying command to the file management server1through the network I/F201(S412). After the input/output control unit210transmits the progress status querying command to the file management server1, the client terminal2waits until it receives a progress status reporting information from the file management server1.

When the progress status querying command is transmitted from the client terminal2to the file management server1, the input/output control unit110receives the progress status querying command transmitted by the client terminal2through the network I/F101(S506) and transmits the received progress status querying command to the progress status response unit140. The progress status response unit140, when the progress status querying command is received from the input/output control unit110, queries the progress status monitoring unit130about the progress status.

The progress status monitoring unit130, when the progress status is queried by the progress status response unit140, monitors the process performing unit120, checks the progress status whether the process has been completed or not (S507), and reports the progress status to the progress status response unit140. The progress status response unit140, when the progress status is reported by the progress status monitoring unit130, determines whether the process has been completed (S508). The progress status response unit140, when it determines that the process has been completed (S508/YES) in the determination process of S508, creates progress status reporting information for reporting the progress status indicating whether the process has been completed or not to the client terminal2(S509), and transmits it to the input/output control unit110.

Note that, as described in S507through S509, in the present embodiment, the progress status monitoring unit130checks the progress status whether the process by the process performing unit120has been completed or not, and the progress status response unit140creates the progress status reporting information indicating whether the process has been completed or not based on the progress status. The present embodiment may be configured in such a way that the progress status monitoring unit130checks the degree of the process progress by the process performing unit120as the progress status, and the progress status response unit140creates the progress status reporting information indicating the degree of the progress based on the progress status. By having the configuration like this, it becomes possible that the client terminal2, is not only able to determine whether the process requested to the file management server1has been completed or not, but is also able to know the degree of the process progress.

The input/output control unit110, when the progress status reporting information is received from the progress status response unit140, transmits the received progress status reporting information to the client terminal2through the network I/F201(S510). In this way, the file management server1ends performing the process corresponding to the process request.

In the meantime, the progress status response unit140, when it determines that the process has not been completed (S508/NO) in the determination process of S508, creates the progress status reporting information for reporting the progress status to the client terminal2(S511), and transmits it to the input/output control unit110. Note that in the created progress status reporting information, included is information indicating that the process has not been completed. The input/output control unit110, when the progress status reporting information is received from the progress status response unit140, transmits the received progress status reporting information to the client terminal2through the network I/F201(S512).

After the input/output control unit110transmits the progress status reporting information to the client terminal2, the file management server1waits until it receives the next progress status querying command from the client terminal2and performs the process corresponding to the process request by repeatedly performing the processes of S506through S508, S511and S512until it is determined that the process has been completed in the determination process of S508.

When the progress status reporting information is transmitted from the file management server1to the client terminal2, the input/output control unit210receives the progress status reporting information transmitted by the file management server1through the network I/F201(S413), and transmits the received progress status reporting information to the progress status querying unit241. The progress status querying unit241, when the progress status reporting information is received from the input/output control unit210, determines whether the process at the file management server1has been completed based on the received progress status reporting information (S414). In other words, the progress status querying unit241functions as a progress status obtaining unit and a completion determining unit.

The progress status querying unit241, in the case where it determines that the process at the file management server1has been completed in the determination process of S414(S414/YES), reports the same to the display control unit220. The display control unit220, when it is reported by the progress status querying unit241that the process at the file management server1has been completed, displays on the display panel202the process completion screen notifying the user of the completion of the process at the file management server1(S415). A display example of the process completion screen is shown inFIG. 7. Then, the client terminal2ends the process of causing the file management server1to perform the process.

In the meantime, the progress status querying unit241, in the case where it determines that the process at the file management server1has not been completed in the determination process of S414(S414/NO), reports the same to the polling interval calculating unit244. The polling interval calculating unit244, when it is notified by the progress status querying unit241that the process at the file management server1is being performed, calculates the time from when the nthpolling has been performed to when the next polling is performed, which is the polling interval an+1, based on the polling count number n+1 stored in the polling status storing unit243, using the Formula (1) stored in the polling setting storing unit245(S416).

The progress status querying unit241, when the polling interval an+1is calculated by the polling interval calculating unit244, waits until the elapsed time, whose measurement has newly started in the process of S410, reaches the calculated polling interval an+1(S417). Then, when the elapsed time, whose measurement has newly started in the process of S410, reaches the polling interval an+1calculated in the process of S416, the progress status querying unit241performs the processes of S409and thereafter. In this way, the client terminal2, by repeatedly performing the processes of S409through S417until it is determined that the process at the file management server1has been completed in the determination process of S414, causes the file management server1to perform the process corresponding to the process request.

As described above, in the file management system according to the present embodiment, one of the objectives is, in the case where the client terminal2causes the file management server1to perform the process corresponding to the process request, to cause the polling interval, at which the client terminal2performs the polling of the file management server1, to become longer as the elapsed time from the start of performing the process by the file management server1becomes longer. Specifically, as shown inFIG. 8, anis determined so as to be an>an−1(n is integer, n>=1).

In the present embodiment, in the case where the time interval b is short, the time interval c is short. On the other hand, in the case where the time interval b is long, the time interval c becomes longer. Because the ratio of the time interval c to the time interval b becomes smaller as the time interval b becomes longer, it appears that the real time capabilities do not decrease.

Therefore, according to the file management system of the present embodiment, it becomes possible to reduce unnecessary communication traffic and to reduce the process load of the file management server1and the client terminal2without decreasing the real time capabilities.

Note that, in the present embodiment, an example is described, in which example, as shown in the Formula (1), the time from when the n−1thpolling has been performed to when the nthpolling is performed, which is the polling interval an, is determined in accordance with the-number-of-times-polling-performed-so-far (n−1) to the γthpower. The present embodiment may be configured in such a way that the polling interval anis determined in accordance with the elapsed time from when the performing the process at the file management server1is started to when the n−1thpolling is performed to the γthpower. In other words, in the case of this kind of configuration, the polling interval anis determined by the Formula (2) below. Note that in the Formula (2), α, β and γ are predefined constants and are real numbers greater than zero.

Here, in the case where the polling interval anfrom when the n−1thpolling has been performed to when the nthpolling is performed is calculated by using the above Formula (2), the process of the client terminal2for causing the file management server1to perform the process will be described referring toFIG. 9.FIG. 9is a flowchart illustrating the process for the client terminal2to cause the file management server1to perform the process corresponding to the process request.

AS shown inFIG. 9, in order for the client terminal2to cause the file management server1to perform the process, the client terminal2performs the processes about the same as the processes of S401through S406described referring toFIG. 4(S901through S906). Then, when the detection of the start of the performing of the process is reported by the progress status querying unit241, the polling interval calculating unit244calculates the time from when the progress status querying unit241has detected the start of the performing of the process by the file management server1to when the first polling is performed, which is the polling interval a1, using the above Formula (2) which is stored in the polling setting storing unit245(S907).

The polling status management unit242, after the polling interval a1is calculated by the polling interval calculating unit244, stores the calculated polling interval a1in the polling status storing unit243(S908). After the calculated polling interval a1is stored in the polling status storing unit243, the client terminal2performs the processes about the same as the processes of S408through S414described referring toFIG. 4(S909through S915).

Then, in the case where the progress status querying unit241determines that the process at the file management server1has been completed in the determination process of S915(S915/YES), the client terminal2performs the processes about the same as the processes of S415described referring toFIG. 4(S916), and ends the process of causing the file management server1to perform the process.

In the meantime, in the case where the progress status querying unit241determines that the process at the file management server1has not been completed in the determination process of S915(S915/NO), the progress status querying unit241reports the same to the polling interval calculating unit244. The polling interval calculating unit244, when it is reported by the progress status querying unit241that the process at the file management server1is in progress, calculates the time from when the nthpolling has been performed to when the next polling is performed, which is the polling interval an+1, based on the first polling interval a1through the nthpolling interval anstored in the polling status storing unit243, using the Formula (2) stored in the polling setting storing unit245(S917).

The polling status management unit242, after the polling interval an+1is calculated by the polling interval calculating unit244, stores the calculated polling interval an+1in the polling status storing unit243(S918). The progress status querying unit241, after the polling interval an+1is calculated and stored in the polling status storing unit243, waits until the elapsed time, whose measurement has newly started in the process of S911, reaches the calculated polling interval an+1(S919). Then, the progress status querying unit241, when the elapsed time, whose measurement has newly started in the process of S911, reaches the polling interval an+1calculated in the process of S917, performs the processes about the same as the processes of S910and thereafter.

In this way, the client terminal2, by repeatedly performing the processes of S910through S919until it is determined that the process at the file management server1has been completed in the determination process of S914, causes the file management server1to perform the process corresponding to the process request.

Note that, inFIG. 9, the elapsed time An−1from when the start of the performing of the process at the file management server1has been detected by the progress status querying unit241to when the n−1thpolling is performed is calculated by the Formula (3).

The elapsed time An−1may be an actually measured time. In other words, the above elapsed time An−1may be an actually measured elapsed time from when the measurement has started in the process of S905to when the n−1thpolling is performed.

Also, in the case where the client terminal2is capable of detecting the degree of the process progress being performed at the file management server1, the present embodiment may be configured in such a way that an, which is the polling interval from when the n−1thpolling has been performed to when the nthpolling is performed, is determined in accordance with Bn−1to the γthpower, which Bn−1is the degree of the process progress at the file management server1when the n−1thpolling has been performed. In other words, in the case of this kind of configuration, the polling interval anis determined by the Formula (4) below. Note that in the Formula (4), α, β and γ are predefined constants and are real numbers greater than zero.

Here, in the case where the polling interval anfrom when the n−1thpolling has been performed to when the nthpolling is performed is calculated by using the above Formula (4), the process of the client terminal2for causing the file management server1to perform the process will be described referring toFIG. 10andFIG. 11.FIG. 10is a flowchart illustrating the process for the client terminal2to cause the file management server1to perform the process corresponding to the process request.FIG. 11is a flowchart illustrating the process for the file management server1to perform the process corresponding to the process request.

As shown inFIG. 10, when the client terminal2according to the present embodiment causes the file management server1to perform the process, the client terminal2performs the processes about the same as the processes of S401and S402described referring toFIG. 4(S1001, S1002). After the input/output control unit210transmits the process request to the file management server1, the client terminal2waits until the start reporting information, which will be described later, is received from the file management server1.

In the meantime, as shown inFIG. 10, in the case where the file management server1according to the present embodiment performs the process, when the process request is transmitted from the client terminal2to the file management server1, the file management server1performs the processes about the same as the processes of S501through S505described referring toFIG. 5(S1101through S1105). After the input/output control unit110transmits the start reporting information to the client terminal2, the file management server1, while performing the process, waits until the progress status querying command is received from the client terminal2.

When the start reporting information is transmitted from the file management server1to the client terminal2, the client terminal2performs the processes about the same as the processes of S403through S406described referring toFIG. 4(S1003through S1006). Then, the polling interval calculating unit244, when it is reported by the progress status querying unit241that the start of the performing of the process is detected, calculates the time from when the progress status querying unit241has detected the start of the performing of the process at the file management server1to when the first polling is performed, which is the polling interval a1, by using the above Formula (4) stored in the polling setting storing unit245(S1007).

When the polling interval a1is calculated, the client terminal2performs the processes about the same as the processes of S408through S412described referring toFIG. 4(S1008through S1012). When the input/output control unit210transmits the progress status querying command to the file management server1, the client terminal2waits until the progress status reporting information is received from the file management server1.

When the progress status querying command is transmitted from the client terminal2to the file management server1, the input/output control unit110receives the progress status querying command transmitted by the client terminal2through the network I/F101(S1106), transmits the received progress status querying command to the progress status response unit140. The progress status response unit140, when the progress status querying command is received from the input/output control unit110, query the progress status monitoring unit130about the progress status.

The progress status monitoring unit130, when the progress status is queried by the progress status response unit140, monitors the process performing unit120, checks the degree of the process progress Bnas the progress status (S1107), and reports it to the progress status response unit140. The progress status response unit140, when the progress status is reported by the progress status monitoring unit130, determines whether the process has been completed based on the degree of the progress (S1108). The progress status response unit140, in the case where it is determined that the process is completed in the determination process of S1108(S1108/YES), creates the progress status reporting information for reporting the degree of the progress to the client terminal2(S1109), and transmits it to the input/output control unit110.

The input/output control unit110, when the progress status reporting information is received from the progress status response unit140, transmits the received progress status reporting information to the client terminal2through the network I/F201(S1110). In this way, the file management server1ends the performing of the process corresponding to the process request.

In the meantime, the progress status response unit140, in the case where it is determined that the process has not been completed in the determination process of S1108(S1108/NO), creates the progress status reporting information for reporting the degree of the progress to the client terminal2(S1111), and transmits it to the input/output control unit110. The input/output control unit110, when the progress status reporting information is received from the progress status response unit140, transmits the received progress status reporting information to the client terminal2through the network I/F201(S1112).

When the input/output control unit110transmits the progress status reporting information to the client terminal2, the file management server1waits until the next progress status querying command is received from the client terminal2, and performs the process corresponding to the process request by repeatedly performing the processes of S1106through S1108, S1111and S1112until it is determined that the process has been completed in the determination process of S1108.

When the progress status reporting information is transmitted from the file management server1to the client terminal2, the client terminal2performs the processes about the same as the processes of S413and S414described referring toFIG. 4(S1013, S1014).

In the case where the progress status querying unit241determines that the process at the file management server1has been completed in the determination process of S1014(S1014/YES), the client terminal2performs the process about the same as the process of S415described referring toFIG. 4(S1015), and ends the process of causing the file management server1to perform the process.

In the meantime, in the case where the progress status querying unit241determines that the process at the file management server1has not been completed in the determination process of S1014(S1014/NO), the progress status querying unit241analyses the received progress status reporting information, extracts the degree of process progress Bnat the file management server1(S1016), and reports it to the polling interval calculating unit244. The polling interval calculating unit244, when the degree of process progress Bnis reported by the progress status querying unit241, calculates the time from when the nthpolling has been performed to when the next polling is performed, which is the polling interval an+1, based on the reported degree of process progress Bnusing the Formula (4) stored in the polling setting storing unit245(S1017).

The progress status querying unit241, when the polling interval an+1is calculated, waits until the elapsed time, whose measurement has newly started in the process of S1010, reaches the calculated polling interval an+1. Then, the progress status querying unit241, when the elapsed time, whose measurement has newly started in the process of S1010, reaches the polling interval an+1calculated in the process of S1017, performs processes about the same as the processes of S1009and thereafter.

In this way, the client terminal2, by repeatedly performing the processes of S1010through S1018until it is determined that the process at the file management server1has been completed in the determination process of S1014, causes the file management server1to perform the process corresponding to the process request.

Also, in the above description, examples are described in which the polling interval anfrom when the n−1thpolling has been performed to when the nthpolling is performed is determined based on, as shown in Formula (1), the-number-of-times-polling-performed-so-far (n−1) to the γthorder; or, as shown in Formula (2), the elapsed time from the start of performing the process at the file management server1to when the n−1thpolling is performed to the γthpower; or, as shown in Formula (4), Bn−1to the γthpower, which Bn−1is the degree of the process progress at the file management server1when the n−1thpolling is performed. It is only required that anbe determined so as to be an>an−1.

In other words, anmay be calculated by applying any operation to the-number-of-times-polling-performed-so-far (n−1), to the elapsed time from the start of performing the process at the file management server1to when the n−1thpolling is performed, or to Bn−1, which is the degree of the process progress at the file management server1when the n−1thpolling is performed.

For example, the polling interval anis determined by using any one of the following Formulas (5) through (7). Note that in the Formulas (5) through (7), α, β and γ are predefined constants and are real numbers greater than zero.

Also, the polling interval anis determined by using any one of the following Formulas (8) through (10). Note that in the Formulas (8) through (10), α, β and γ are predefined constants and are real numbers greater than zero.

As shown above, as long as the polling interval anis determined so as to be an>an−1, any operation may be applied to the-number-of-times-polling-performed-so-far (n−1), to the elapsed time from the start of performing the process at the file management server1to when the n−1thpolling is performed, or to Bn−1, which is the degree of the process progress at the file management server1when the n−1thpolling is performed.

Also, in the present embodiments, the function, which is provided by the file management server1as a process performing apparatus, is described as the file management system used by the client terminal2as a process requesting apparatus. The present invention is not limited to these embodiments, but can be applied to any system, in which a client terminal uses a predefined function provided by a server apparatus, such as a video conference system which enables remote users to participate in a real time video conferencing, a book search system in which a user can search books stored in a library for a particular book, etc.

Further, the present invention is not limited to these embodiments, and various variations and modifications may be made without departing from the scope of the present invention.

The present invention can be implemented in any convenient form, for example using dedicated hardware, or a mixture of dedicated hardware and software. The present invention may be implemented as computer software implemented by one or more networked processing apparatuses. The network can comprise any conventional terrestrial or wireless communications network, such as the Internet. The processing apparatuses can compromise any suitably programmed apparatuses such as a general purpose computer, personal digital assistant, mobile telephone (such as a WAP or 3G-compliant phone) and so on. Since the present invention can be implemented as software, each and every aspect of the present invention thus encompasses computer software implementable on a programmable device. The computer software can be provided to the programmable device using any storage medium for storing processor readable code such as a floppy disk, hard disk, CD-ROM, magnetic tape device or solid state memory device. The hardware platform includes any desired kind of hardware resources including, for example, a central processing unit (CPU), a random access memory (RAM), and a hard disk drive (HDD). The CPU may be implemented by any desired kind of any desired number of processors. The RAM may be implemented by any desired kind of volatile or non-volatile memory. The HDD may be implemented by any desired kind of non-volatile memory capable of storing a large amount of data. The hardware resources may additionally include an input device, an output device, or a network device, depending on the type of the apparatus. Alternatively, the HDD may be provided outside of the apparatus as long as the HDD is accessible. In this example, the CPU, such as a cache memory of the CPU, and the RAM may function as a physical memory of a primary memory of the apparatus, while the HDD may function as a secondary memory of the apparatus.

The present application is based on and claims the benefit of priority of Japanese Priority Application No. 2012-270571 filed on Dec. 11, 2012, with the Japanese Patent Office, the entire contents of which are hereby incorporated by reference.