This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2013-057922 filed Mar. 21, 2013.
(i) Technical Field
The present invention relates to a relay apparatus, a system, and a non-transitory computer readable medium.
(ii) Related Art
Services called cloud services or cloud computing are known. In such a service, for example, a server apparatus on a network performs a variety of information processing including storage of data and conversion of a data format on behalf of a client apparatus.
According to an aspect of the invention, there is provided a relay apparatus including a receiving unit, a downloading unit, and an uploading unit. The receiving unit receives a file operation request from a client apparatus. The file operation request includes storage source information identifying a file stored in a storage area of a first server apparatus providing a cloud service with a storage location of the file, storage destination information, identifying one storage location included in a storage area of a second server apparatus providing a cloud service, and operation type information instructing copy or movement of the file. The downloading unit downloads the file identified by the storage source information included in the file operation request received by the receiving unit from the storage location identified by the storage source information, fee uploading unit uploads the file downloaded by one downloading unit to the storage area identified by the storage destination information included in the file operation request received by the receiving unit without transmitting the file downloaded by the downloading unit to the client apparatus, which has transmitted the file operation request received by the receiving unit.
Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein:
The relay apparatus 30 relays data exchanged between the cloud service providing apparatuses 10a, 10b, and 10c and the image processing apparatus 20 in the provision of the services from the cloud service providing apparatuses 10a, 10b, and 10c to the image processing apparatus 20. Specifically, upon reception of data to be stored from the image processing apparatus 20, the relay apparatus 30 transfers the data to any or some of the cloud service providing apparatuses 10a, 10b, and 10c. Upon reception of data to be printed from any of the cloud service providing apparatuses 10a, 10b, and 10c, the relay apparatus 30 transfers the data to the image processing apparatus 20. In addition, in transmission and reception of the above pieces of data between the cloud service providing apparatuses 10a, 10b, and 10c and the image processing apparatus 20, the relay apparatus 30 may invoke a service other than the transmission and the reception (for example, data processing, such as a character recognition service called optical character recognition (OCR) or a service to convert a data format) to cause the service to perform the processing to the data.
Since the cloud service providing apparatuses 10a, 10b, and 10c have the same hardware configuration and perform the same operation, the cloud service providing apparatuses 10a, 10b, and 10c are collectively referred to as a cloud service providing apparatus 10 unless they are distinguished from each other.
The request generated by the request transmitter 121 includes “operation type information”, “storage source information”, and “storage destination information.” The “operation type information” indicates the type of an operation for a file, such as “copy”, “movement”, “deletion”, or “printout.” The “storage source information” identifies a file to be operated along with the storage location of the file to be operated and is, for example, a uniform resource identifier (URI). The “storage destination information” identifies one storage location included in the storage area of the cloud service providing apparatus 10. The “storage destination information” is included in the request when the “operation type information” indicates an operation, such as the “copy” or the “movement”, which requires information indicating the storage destination. In other words, the “storage destination information” is not included in the request when the “operation type information” indicates an operation (for example, the deletion of the file) which does not require the information indicating the storage destination.
The response receiver 122 receives a response transmitted from the relay apparatus 30 as a reply of the request which the request transmitter 121 has transmitted. The response received by the response receiver 122 includes information indicating whether the file operation succeeds. The response receiver 122 displays the result of the file operation indicated by the received response in the display 24.
The relay apparatus 30 realizes the functions of a request receiver 131, a downloaded 132, an uploader 133, and a response transmitter 134 with the controller 31 or the controller 31 and the communication unit 32. The request receiver 131 receives a request transmitted from the image processing apparatus 20.
The downloader 132 downloads a target file from the cloud service providing apparatus 10 when the request received by the request receiver 131 instructs the movement or the copy of the file. Specifically, the downloaded 132 transmits a request indicating that the file identified by the storage source information included in the received request is to be downloaded to the cloud service providing apparatus 10 corresponding to the storage source information.
In the present exemplary embodiment, the multiple cloud service providing apparatuses 10a, 10b, and 10c transmit and receive data in accordance with different communication protocols or different data input-output formats. Accordingly, the downloader 132 transmits and receives data conforming to the communication protocol or the data input-output format which the cloud service providing apparatus 10 where the target file is stored uses in the provision of the cloud service to and from the cloud service providing apparatus 10 to download the file.
The uploader 133 uploads the file downloaded by the downloader 132 to the storage area identified by the storage destination information included in the request received by the request receiver 131. The uploader 133 transmits and receives data conforming to the communication protocol or the data input-output format which the cloud service providing apparatus 10 corresponding to the target storage area uses in the provision of the cloud service to and from the cloud service providing apparatus 10 to upload the file.
The response transmitter 134 transmits a response (completion information) indicating completion of the uploading to the image processing apparatus 20, which has transmitted the request received by the request receiver 131, upon completion of the uploading of the file by the uploader 133.
Exemplary operations according to exemplary embodiments will now be described. First, a process of copying a file stored in the cloud service providing apparatus 10b to the cloud service providing apparatus 10c will be described with reference to a sequence chart illustrated in
Referring to
Referring back to
In Step S3, upon reception of the request from the image processing apparatus 20, the controller 31 in the relay apparatus 30 determines the type of the file operation information included in the request and, if the received request instructs the copy of the file, transmits a request to acquire the target file to the cloud service providing apparatus 10b. In Step S4, the cloud service providing apparatus 10b receives the request transmitted from the relay apparatus 30 and reads out the file in accordance with the received request. In Step S5, the cloud service providing apparatus 10b transmits the file that is read out to the relay apparatus 30 as a reply to the received request.
In Step S6, upon reception of the file from the cloud service providing apparatus 10b, of the controller 31 in the relay apparatus 30 transmits the received file to the cloud service providing apparatus 10c without transmitting the received file to the image processing apparatus 20 to instruct the cloud service providing apparatus 10c to store the file. The storage destination information indicating the storage destination of the file is included in the instruction. In Step S7, upon reception of the file from the relay apparatus 30, the cloud service providing apparatus 10c stores the received file in the storage area indicated by the storage destination information included in the receive instruction. In Step S8, the cloud service providing apparatus 10c transmits a response indicating completion of the storage to the relay apparatus 30 as a reply to the request received in Step S6.
In Step S9, upon reception of the response from the cloud service providing apparatus 10c, the controller 31 in the relay apparatus 30 transmits a response indicating the completion of the copy to the image processing apparatus 20 as a reply to the request received in Step 32. Upon reception of the response from the relay apparatus 30, the controller 21 in the image processing apparatus 20 displays a screen 260 for indicating the completion of the copy to the user U, illustrated in
Next, a process of moving a file stored in the cloud service providing apparatus 10b to the cloud service providing apparatus 10c will be described with reference to a sequence chart illustrated in
Referring to
Upon display of the list screen 240 illustrated in
Referring back to
In Step S3, upon reception of the request from the image processing apparatus 20, the controller 31 in the relay apparatus 30 determines the type of the file operation information included in the request and, if the received request instructs the movement of the file, transmits a request to acquire the target file to the cloud service providing apparatus 10b. As in the copy process described above, the processing in Steps S4 to S8 is performed by the relay apparatus 30, the cloud service providing apparatus 10b, and the cloud service providing apparatus 10c to move the file stored in the cloud service providing apparatus 10b to the cloud service providing apparatus 10c. The processing in Steps S3 to S8 are the same as the one illustrated in
Upon reception of the response indicating the completion of the storage from the cloud service providing apparatus 10c in Step S8, in Step S19, the controller 31 in the relay apparatus 30 transmits a request to instruct deletion of the file to the cloud service providing apparatus 10b. The storage source information indicating the location where the file is stored is included in the request. In Step S20, upon reception of the request from the relay apparatus 30, the cloud service providing apparatus 10b deletes the specified file from the storage area. Upon completion of the deletion, in Step S21, the cloud service providing apparatus 10b transmits a response indicating the completion of the deletion to the relay apparatus 30 as a reply to the request received in Step S19. In Step S22, upon reception of the response from the cloud service providing apparatus 10b, the controller 31 in the relay apparatus 30 transmits a response indicating the completion of the movement to the image processing apparatus 20 as a reply to the request received in Step S2. Upon reception of the response from the relay apparatus 30, the controller 21 in the image processing apparatus 20 displays a screen 280 for indicating the completion of the movement to the user U, illustrated in
In the above exemplary embodiments, when one copy or the movement of a file is performed over the multiple cloud services, the copy or the movement is performed via the relay apparatus 30 without temporarily downloading the file to the image processing apparatus 20. Accordingly, the amount of traffic between the image processing apparatus 20 and the cloud service providing apparatus 10 is reduced.
The exemplary embodiments described above are only examples and the following modifications may be made. Combinations of the modifications described below may be adopted.
(1) Although the copy or the movement of a file between the cloud services when different communication protocols or different data input-output formats are used in the communication between different cloud services and the relay apparatus is described in the above exemplary embodiments, the copy or the movement may be performed with tag data or attribute data added to the file data, in addition to the copy or the movement of only the file data. Specifically, when the relay apparatus receives a file stored in the cloud service A and stores the file in the cloud, service B to perform the copy of the file, the controller 31 in the relay apparatus 30 may receive the file, the tag format added to the file, and the value of the tag format from the cloud service A on the basis of the communication protocol or the data input-output format with the cloud service A, may convert the received file, the tag format added to the received file, and the value of the tag format on the basis of the communication protocol or the data input-output format with the cloud service B, and may transmit the file, the tag format added to the file, and the value of the tag format to the cloud service B for storage.
(2) Although the case is described in the above exemplary embodiments in which the operation type information, the storage source information, and the storage destination information are included in the request transmitted from the image processing apparatus 20, the pieces of information included in the request are not limited to the above ones and other information may be included in the request.
(3) The configuration of the communication system 1 is not limited to the one described in the above exemplary embodiments. For example, the number of the apparatuses composing the communication system 1 may be different from the one described in the exemplary embodiments. For example, although the example is described in the above exemplary embodiments in which the communication system 1 includes one image processing apparatus 20, one image processing apparatus 20 may not be limitedly used and multiple image processing apparatuses may be used. Although one cloud service providing apparatus 10 provides one cloud service in the above exemplary embodiments, one cloud service may be provided by multiple server apparatuses. Specifically, for example, as illustrated in
Although the example is described in the above exemplary embodiments in which the three cloud services are provided, the number of the cloud services is not limited to three and the cloud service of a number larger than or smaller than three may be provided.
(4) Although the controller 31 in the relay apparatus 30 notifies the image processing apparatus 20 of the completion of the copy or the movement (Step S9 in
(5) Although the controller 21 in the image processing apparatus 20 specifies one folder as the destination to which a file is to be copied in the above exemplary embodiments, the destination to which the file is to be copied is not limited to one storage area and the file may be copied to multiple storage areas. In this case, the controller 21 may generate a request including multiple pieces of storage destination information in accordance with the content of the operation by the user to transmit the request to the relay apparatus 30. Upon reception of the request, the controller 31 in the relay apparatus 30 may transmit a request to instruct the storage to the cloud service providing apparatuses 10 including the storage areas indicated by the multiple pieces of the storage destination information included in the received request.
(6) The image processing apparatus 20 described in the above exemplary embodiments is an example of a client apparatus that receives the provision of the service from the cloud service providing apparatus 10. The client apparatus may be another apparatus, such as a personal computer (PC), a tablet PC, or a mobile phone.
(7) The programs executed by the image processing apparatus 20 and the relay apparatus 30 may be downloaded via a communication line, such as the Internet. Alternatively, the programs may be provided in a state in which the programs are recorded on a computer-readable recording medium, such as a magnetic recording medium (for example, a magnetic tape or a magnetic disk), an optical recording medium (for example, an optical disk), a magneto-optical recording medium, or a semiconductor memory.
The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2013-057922 | Mar 2013 | JP | national |