Information processing apparatus and document data producing method

A document production apparatus produces document data as well as determines whether or not the size of document data exceeds a threshold value when the document production apparatus receives a document data production request and a document data upload request from the client apparatus. The document production apparatus uploads document data to a cloud platform when the size of document data is less than or equal to the threshold value. The document production apparatus provides a notification to prompt a client apparatus to download document data when the size of document data exceeds the threshold value.

This application claims the benefit of Japanese Patent Application No. 2010-069176 filed Mar. 25, 2010, which is hereby incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus and a document data producing method.

2. Description of the Related Art

In recent years, there has been proposed a cloud service in which a cloud platform on the Internet executes a process for a service requested from a client to thereby provide execution results to the client. The client, which requests a service to the cloud service, is located in a local area network where external access is limited. Japanese Patent Laid-Open No. 2002-140276 discloses an image communication apparatus for transmitting image data attached to an e-mail. The image communication apparatus detects the size of the file attached to an e-mail to be transmitted, and issues a warning as well as interrupts the transmission of the e-mail when the size of the attached file exceeds the acceptable amount.

A document production service that executes a document production process requested from a client in conjunction with a cloud service to thereby provide execution results to the client is contemplated. The document production service overlays data such as client's work information or the like managed by a cloud platform and the form managed by the document production service to thereby produce document data (e.g., document file). Here, the document production service may upload the produced document file to the cloud platform in response to a request from a client. In such a case, the cloud platform functions as a virtual document file management server for managing a document file.

However, some cloud platforms set a limit on the uploadable file size. In the cloud platform, service is published on the Internet, and many users share resources in a multi-tenant environment. Therefore, some cloud platforms may set a limit on the uploadable file size to avoid resources from being exhausted by a specific user(s).

An error occurs when a system, which provides a document production service in conjunction with a cloud service with its uploadable file size being limited, uploads a file that exceeds the size limitation to a cloud platform. As a result, the produced document file cannot be provided to a client. In addition, when an error occurs while uploading, the cloud platform needlessly executes processing (e.g., API call) performed when uploading a document file.

SUMMARY OF THE INVENTION

The information processing apparatus of the present invention is an information processing apparatus that can provide document data to a user device upon receiving an upload request for uploading document data to a management server from the user device, even when the size of document data exceeds the uploadable size.

According to an aspect of the present invention, an information processing apparatus is provided that produces document data in response to a request from a user device located in a network where access from a management server is limited. The information processing apparatus includes a request reception unit configured to receive a document data production request from the user device and an upload request for the produced document data to the management server or a download request for the document data to the user device; a document production unit configured to produce the document data in response to the document data production request; an uploading unit configured to determine whether or not the size of the produced document data exceeds a predetermined threshold value when the request reception unit receives the upload request, upload the document data to the management server when the size of the document data is less than or equal to the threshold value, and provide a notification to prompt the user device to download the document data when the size of the document data exceeds the threshold value; and a downloading unit configured to download the produced document data to the user device when the request reception unit receives the download request.

DESCRIPTION OF THE EMBODIMENTS

FIG. 1is a diagram illustrating an exemplary configuration of a document production system of the present embodiment. The document production system shown inFIG. 1includes a client apparatus101, a document production apparatus102, and a cloud platform103. The client apparatus101, the document production apparatus102, and the cloud platform103are connected to each other via a network104. The network104is, for example, the Internet. The network104may be a LAN (Local Area Network), a WAN (Wide Area Network), a telephone line, or a dedicated digital line. Also, the network104may be in ATM (Asynchronous Transfer Mode), and be a frame relay line, a cable television line, a data broadcasting wireless line, or the like. The network104may be any communication network capable of transmitting and receiving data, which is realized by a combination of the above.

In the example shown inFIG. 1, the cloud platform103is located in a cloud. The term “cloud” refers to an area in which a server group in a cloud computing environment is located. In other words, the cloud platform103is a virtual server group located in the cloud. In the present embodiment, the cloud platform103functions as a management server that uploads and manages document files transmitted from the document production apparatus102. While, in the example, a document production system processes a document file, data to be processed by the document production system is not limited to a document file. The document production system can process any document data.

The client apparatus101functions as a user device that is operated by a user. The client apparatus101is located in a network (e.g., local area network) where access from the cloud platform103is limited by a firewall. An access inside of the firewall cannot be made by a request provided from the cloud platform103. Thus, the cloud platform103returns a response to the request from the client apparatus101to thereby perform a communication with the client apparatus101. Instead of the cloud platform103, any management server, which has the same function as that of the cloud platform103, and has a limited access to a place where the client apparatus101is located, may also be applicable to the present embodiment.

The client apparatus101is, for example, a desktop personal computer, a laptop personal computer, a mobile personal computer, a PDA (Personal Data Assistant), or the like. The client apparatus101may be a mobile telephone having a built-in program execution environment. A program execution environment such as a Web browser (Internet browser) and the like is built in the client apparatus101.

The client apparatus101makes a document production request to the document production apparatus102using a Web browser. The document production request is a request for the production of a document file, i.e., document data. Also, the client apparatus101makes an upload request or a download request of a document file, i.e., document data to the document production apparatus102. The document file upload request is a request for the uploading of a document file to the cloud platform103. The document file download request is a request for the downloading of a document file to the client apparatus101. The client apparatus101may also make a download request of the document file, which has been uploaded to the cloud platform103, to the cloud platform103.

The document production apparatus102is the information processing apparatus of the present embodiment, and produces a document file in response to the request from the client apparatus101. More specifically, the document production apparatus102receives a document production request from the Web browser of the client apparatus101and then produces document data (e.g., a document file such as PDF). PDF is the abbreviation for “Portable Document Format”. Also, the document production apparatus102uploads the produced document file to the cloud platform103, or downloads it to the client apparatus101. According to one embodiment of the present invention, the document production apparatus102divides the produced document file into a plurality of divided data, i.e., divided files, and uploads the divided files to the cloud platform103.

FIG. 2is a diagram illustrating an exemplary hardware configuration of the document production apparatus. The document production apparatus102includes a CPU (Central Processing Unit)202, a RAM (Random Access Memory)203, and a ROM (Read Only Memory)204. The document production apparatus102further includes a HDD (Hard Disk Drive)205, a display206, a keyboard207, an external I/F (Interface)208, and an NIC (Network Interface Card)209. These processing units are connected to each other via a system bus201. The system bus is, for example, a PCI (Peripheral Component Interconnect) bus, an AGP (Accelerated Graphics Port) bus, a memory bus, or the like.

The CPU202controls the overall document production apparatus. The CPU202controls execution of an application program, an OS (Operating System), and the like that are stored in the HDD205, and temporal storage of information, files, and the like that are necessary in executing programs in the RAM203. The ROM204stores programs of a basic I/O program and the like in advance. The RAM203is a temporal storage unit, and functions as a main memory, a work area, and the like of the CPU202. The HDD205is an external storage unit, and functions as a large-capacity memory. The HDD205stores a computer program that realizes the document data producing method of the present embodiment.

The display206displays a command input from the keyboard207, a document produced by the document production system102, and the like. The external device I/F208is an interface for establishing connections with an image forming apparatus, an USB device, and peripherals. The keyboard207is a tool through which operational information is input in response to a user operation. The NIC209performs data transmission and reception between external apparatuses such as the client apparatus101, the cloud platform103, and the like via the network104. The hardware configuration of the document production apparatus102is not limited to an exemplary configuration shown inFIG. 2. Note that the hardware configuration of the client apparatus101is the same as that of the document production apparatus102.

FIG. 3is an exemplary functional block diagram illustrating the document production apparatus. The document production apparatus102includes a request processing unit301, a Web page production unit302, a file upload unit303, a file download unit304, an overlay-target data acquisition unit305, a document production unit306, a form management unit307, and a form storage unit308.

The request processing unit301receives a document production request, an upload request, or a download request from the client apparatus101, and returns a response. Also, the request processing unit301receives the form information, which provides instruction about the form of a document to be produced, from the client apparatus101. In other words, the request processing unit301functions as a request reception unit configured to receive a document data production request from a user device and an upload request for the produced document data to a management server or a download request for the document data to the user device. The Web page production unit302produces a Web page, and passes the produced Web page to the Web browser of the client apparatus101for display.

The file upload unit303functions as an uploading unit configured to upload a document file to the cloud platform103through the transmission of the document file to the cloud platform103via the network104. More specifically, the file upload unit303determines whether or not the size of the produced document file exceeds a predetermined threshold value when the request processing unit301receives an upload request. The threshold value is, for example, the size of the file that can be uploaded to the cloud platform103. The threshold value is determined in advance. The file upload unit303uploads the document file to the management server when the size of the document file is less than or equal to the threshold value. The file upload unit303provides a notification to prompt the client apparatus101to download the document file when the size of the document file exceeds the threshold value. According to one embodiment of the present invention, the file upload unit303divides the document file into a plurality of divided files and uploads the plurality of divided files to the cloud platform103when the size of the document file exceeds the threshold value.

The file download unit304downloads a document file to the client apparatus101through the transmission of the document file to the client apparatus101via the network104. In other words, the file download unit304functions as a downloading unit configured to download the produced document file to the client apparatus101when the request processing unit301receives the download request.

When the request acquisition unit301acquires a document production request, the overlay-target data acquisition unit305acquires overlay-target data from the cloud platform103via the network104in response to the document production request. The overlay-target data is target data for overlay processing performed by the document production unit306, i.e., the data that is overlayed on the form stored in the form storage unit308. The overlay-target data acquisition unit305transmits information including a data acquisition command to the cloud platform103to thereby acquire overlay-target data from the cloud platform103. The data acquisition command is a command that requests the transmission of overlay-target data. The data acquisition command has the format of, for example, a SQL (database query language) or the like. The overlay-target data acquisition unit305passes the acquired overlay-target data to the document production unit306.

The document production unit306receives overlay-target data from the overlay-target data acquisition unit305. Also, the document production unit306receives the form, which is specified by the form information acquired by the request acquisition unit301, from the form management unit307. When the document production unit306receives a document file production request from the client apparatus101, the document production unit306overlays the received form and the overlay-target data that has been passed from the overlay-target data acquisition unit305to thereby produce a document file. In other words, the overlay-target data acquisition unit305and the document production unit306function as document production units configured to produce document data in response to a document data production request.

The form management unit307manages the document form that is stored in the form storage unit308in advance. The form management unit307extracts the form, which is specified by the form information received from the request processing unit, from the form storage unit308to thereby pass the form to the document production unit306. The form storage unit308stores the document form in advance. The document data producing method of the present embodiment is realized by the functions of the processing units provided in the document production apparatus102shown inFIG. 3.

FIG. 4is a diagram illustrating an exemplary configuration of a cloud platform. The cloud platform103includes a storage404that serves as a storage unit. The cloud platform103uploads the document file transmitted from the document production apparatus102, i.e., stores and manages the document file in the storage404. Also, the cloud platform103manages overlay-target data that is stored in the storage404in advance.

The cloud platform103includes software modules such as a screen customization unit401, a customized program platform unit402, and a file combining unit403. The screen customization unit401executes a customized program defined by the customized program platform unit402to thereby customize the screen to be displayed on the Web browser of the client apparatus101. For example, the screen customization unit401customizes a list of document files uploaded by the cloud platform103and displays them on a work screen701(seeFIG. 6) to be displayed on the Web browser of the client apparatus101. Also, the screen customization unit401receives information including a data acquisition command from the overlay-target data acquisition unit305of the document production apparatus102, and acquires overlay-target data from the storage404based on the received information. The screen customization unit401transmits the acquired overlay-target data to the overlay-target data acquisition unit305of the document production apparatus102. A predetermined processing unit (not shown) other than the screen customization unit401provided in the cloud platform103may perform overlay-target data acquisition processing.

The customized program platform unit402defines a customized program, whereby the customized program can be operated. The file combining unit403is a software module that operates on the customized program platform unit402, and combines the uploaded document files. For example, assume the case where the document production apparatus102uploads the divided files to the cloud platform103. When a document file download request is made from the client apparatus101to the cloud platform103, the file combining unit403acquires the divided files corresponding to the document file from the storage404. Then, the file combining unit403combines the acquired divided files, and transmits them to the client apparatus101.

FIGS. 5A and 5Bare diagrams illustrating an exemplary data configuration of overlay-target data and illustrating the association relationship between a data acquisition command and a document form, respectively.FIG. 5Ais a diagram illustrating an exemplary data configuration of overlay-target data. Overlay-target data is managed by an overlay-target data table501. The overlay-target data table501has a table ID for uniquely identifying the overlay-target data table501. The overlay-target data managed by the overlay-target data table501includes data items such as a data ID, a product name, quantity, price, and the like. The data ID is an identifier for uniquely identifying overlay-target data. The product name, quantity, price, and the like indicate the attribute items of overlay-target data.

FIG. 5Bis a diagram illustrating the association relationship between a data acquisition command and a document form. An organization ID shown inFIG. 5Bis an identifier for uniquely identifying the organization (e.g., company) to which the client apparatus101belongs. The document production apparatus102links a table ID, a form information, and a data acquisition command in advance for each organization ID and manages them as the linked information. The document production apparatus102receives an organization ID, a table ID, and form information from the client apparatus101. Then, based on the organization ID, table ID, and form information that have been received, the document production apparatus102determines a data acquisition command using the linked information. The data ID and the attribute items of overlay-target data are set in the data acquisition command in advance. The document production apparatus102transmits the determined data acquisition command and the table ID to the cloud platform103. The cloud platform103receives the data acquisition command and the table ID from the document production apparatus102. The cloud platform103acquires the overlay-target data corresponding to the data ID and the attribute items, which are included in the data acquisition command, from the overlay-target data table501corresponding to the received table ID. Then, the cloud platform103transmits the acquired overlay-target data to the document production apparatus102.

FIG. 6is a diagram illustrating overall operation processing performed by a document production system of the present embodiment. The cloud platform103returns the work screen701to the Web browser of the client apparatus101operated by a user who has logged in the cloud platform103. The overlay-target data, which is set in the overlay-target data table501managed by the cloud platform103, is displayed on the data area702of the work screen701. When a user selects overlay-target data on the data area702, the client apparatus101specifies the table ID of the overlay-target data table. The document file, which has been uploaded to the cloud platform103, is displayed on the file list area718. A document production button703is a button that issues a document production request to the cloud platform103. When a user pushes the document production button703, the Web browser of the client apparatus101transmits a document production request to the cloud platform103(see P1inFIG. 6).

When the cloud platform103receives the document production request, the cloud platform103returns the redirect URL, i.e., the URL for redirecting to the document production apparatus102, to the client apparatus101(see P2inFIG. 6). When the Web browser of the client apparatus101receives the redirect URL, the Web browser redirects (auto-redirects) to the document production apparatus102corresponding to the redirect URL (see P3inFIG. 6). Information, which is passed to the document production apparatus102through redirect, includes the document production request, the connection information to the cloud platform103, the table ID specified by the client apparatus101, and the organization ID of the client apparatus101.

The document production apparatus102, which has received the redirect, returns a form selection screen704to the Web browser of the client apparatus101(see P4inFIG. 6). The form selection screen704includes a form selection column705, an output system selection column706, and an execution button707. The form of the selection candidate document is displayed on the form selection column705. The candidate of the output system of a document file to be produced is displayed on the output system selection column706. In the example, upload and download are displayed on the output system selection column706. When a user selects a form on the form selection column705, selects its output system on the output system selection column706, and pushes the execution button707, the Web browser executes the following processing. The Web browser transmits the request corresponding to the selected output system to the document production apparatus102. When the selected output system is “upload”, the Web browser transmits a document file upload request to the document production apparatus102. In contrast, when the selected output system is “download”, the Web browser transmits a document file download request to the document production apparatus102. In addition, the Web browser transmits the selected form to the document production apparatus102(see P5inFIG. 6). In other words, the Web browser transmits form information, which specifies the selected form, to the document production apparatus102.

The request processing unit301provided in the document production apparatus102receives form information from the Web browser. Next, based on the received form information, the table ID that has been passed through redirect in P3described above, and the organization ID, the overlay-target data acquisition unit305provided in the document production apparatus102determines a data acquisition command using the linked information. Then, the overlay-target data acquisition unit305transmits the data acquisition command and the table ID to the cloud platform103to thereby acquire overlay-target data from the cloud platform103(see P6inFIG. 6). During acquisition of overlay-target data, the document production apparatus102causes the Web browser of the client apparatus101to display a data-acquisition-in-progress screen708(see P7inFIG. 6). In the example, the Web browser of the client apparatus101periodically queries the document production apparatus102about whether or not overlay-target data acquisition is completed (see P8inFIG. 6). When overlay-target data acquisition is incomplete, the document production apparatus102(the Web page production unit302therein) returns the data-acquisition-in-progress screen708to the Web browser of the client terminal101.

When the document production apparatus102completes overlay-target data acquisition, the document production apparatus102causes the Web browser of the client apparatus101to display a data confirmation screen709(see P9inFIG. 6). The data confirmation screen709has a data confirmation table710, a production button711, and an edit button712. The overlay-target data acquired by the document production apparatus102is set in the data confirmation table710. The production button711is a button that provides instructions about document production. When a user pushes the production button711, the Web browser transmits a document production request to the document production apparatus102(see P10inFIG. 6). The edit button712is a button that edits the overlay-target data set in the data confirmation table710. When a user pushes the edit button712, the Web browser displays an edit screen for editing the data confirmation table710.

Here, it is assumed that the upload has been selected as the output system on the form selection screen704, and the Web browser of the client apparatus101has transmitted a document file upload request to the document production apparatus102. The document production apparatus102produces a document file in accordance with the document production request that has been transmitted in P10. More specifically, the document production unit306provided in the document production apparatus102overlays the overlay-target data set in the data confirmation table710of the data confirmation screen709and the form specified by the form information that has been transmitted in P5to thereby produce a document file. The file upload unit303provided in the document production apparatus102determines whether or not the size of the produced document file exceeds a predetermined threshold value. The threshold value indicates the size of a file that can be uploaded by the cloud platform103. When the size of the document file does not exceed the threshold value, the file upload unit303provided in the document production apparatus102uploads the document file to the cloud platform103. Then, the Web page production unit302causes the Web browser of the client apparatus101to display a completion screen713indicating that the upload has been completed (see P11inFIG. 6).

When the size of the document file exceeds the threshold value, the Web page production unit302provided in the document production apparatus102causes the Web browser of the client apparatus101to display a warning screen714(see P12inFIG. 6). In other words, the document production apparatus102provides a notification to prompt the client apparatus101to download the document file. When a user pushes a cancel button716on the warning screen714, the Web browser of the client apparatus101closes the warning screen714. When a user pushes a download button715on the warning screen714, the client apparatus101makes a download request to the document production apparatus102. When the request processing unit301provided in the document production apparatus102receives the download request, the file download unit304transmits the document file to the client apparatus101. With this arrangement, the document file is downloaded to the client apparatus101. In the example, when the Web browser of the client apparatus101receives the document file from the document production apparatus102, the Web browser displays a storage screen717(see P14inFIG. 6). When a user pushes a storage button displayed on the storage screen717, the client apparatus101stores the document file in a predetermined storage unit.

Note that when the download has been selected as the output system on the form selection screen704and the Web browser of the client apparatus101has transmitted a document file download request to the document production apparatus102, the document production apparatus102performs the following processing. The document production unit306provided in the document production apparatus102produces a document file in accordance with the document production request that has been transmitted in P10. Then, the file download unit304provided in the document production apparatus102transmits the produced document file to the client apparatus101for downloading.

FIGS. 7 and 8are diagrams illustrating the production processing sequence of a document file according to the first embodiment of the present invention.FIG. 7is a diagram illustrating the production processing sequence of a document file when the produced document file does not exceed a threshold value. First, the client apparatus101(the Web browser thereof) logs in the cloud platform103(step S1). When a user pushes the document production button703on the work screen701(step S2), the client apparatus101sends a form selection screen request to the document production apparatus102(step S3). The form selection screen request is a request for the production of the form selection screen704. Next, the Web page production unit302provided in the document production apparatus102produces the form selection screen704in response to the form selection screen request to cause the Web browser of the client apparatus101to display the form selection screen704(step S5).

Next, a user selects the form and the output system of the document file on the form selection screen704, and pushes the execution button707(step S6). The client terminal101transmits the request (upload request or download request) corresponding to the output system of the document file and the form information to the document production apparatus102(step S7). The document production apparatus102produces the data-acquisition-in-progress screen708(step S8), and causes the client apparatus101to display the produced data-acquisition-in-progress screen (step S9). Next, the document production apparatus102transmits a data acquisition command to the cloud platform103(step S10). The client apparatus101periodically transmits a confirmation request to the document production apparatus102and confirms whether or not overlay-target data acquisition has completed (step S11). The document production apparatus102causes the client apparatus101to display the data-acquisition-in-progress screen708until overlay-target data acquisition has completed. Next, the document production apparatus102completes overlay-target data acquisition (step S13). When the document production apparatus102completes overlay-target data acquisition, the document production apparatus102stores and manages session information. The session information is information including the request corresponding to the form information and the output system that have been received from the client apparatus101in step S7, and the overlay-target data that has been acquired in step S13.

When the document production apparatus102receives a confirmation request from the client apparatus101, the document production apparatus102produces the data confirmation screen709(step S15). Then, the document production apparatus102causes the client apparatus101to display the produced data confirmation screen709(step S16).

Next, when a user pushes the production button711on the data confirmation screen709(step S17), the client apparatus101transmits a document production request to the document production apparatus102(step S18). The document production apparatus102receives the document production request to thereby produce a document file (step S19). Next, the document production apparatus102confirms whether or not either one of an upload request or a download request has been received from the client apparatus101in step S7(step S20). In the example, it is assumed that the document production apparatus102has received the upload request from the client apparatus101. The document production apparatus102determines whether or not the file size of the produced document file exceeds a threshold value (step S21). In the example, the document production apparatus102determines that the file size of the produced document file does not exceed a threshold value. Thus, the document production apparatus102transmits the document file to the cloud platform103for uploading (step S22). Next, the document production apparatus102produces the completion screen713(step S23). Then, the document production apparatus102causes the client apparatus101to display the produced completion screen713(step S24).

FIG. 8is a diagram illustrating the production processing sequence of a document file when the document file produced by the document production apparatus102exceeds a threshold value. Steps S17to S21shown inFIG. 8are the same as steps S17to S21shown inFIG. 7. In the example shown inFIG. 8, the document production apparatus102confirms the file size of the document file, and determines that the file size exceeds a threshold value (step S21). Hence, the document production apparatus102produces the warning screen714(step S30), and displays it on the client apparatus101(step S31). When a user pushes a download button715on the warning screen714, the client apparatus101transmits a download request to the document production apparatus102(step S32). When the document production apparatus102receives the download request from the client apparatus101, the document production apparatus102transmits the document file to the client apparatus101for downloading (step S33).

FIG. 9is a diagram illustrating the operation processing flow of the document production apparatus of the first embodiment. First, the request processing unit301provided in the document production apparatus102determines whether or not a document production request has been received from the Web browser of the client apparatus101(step S41). When the request processing unit301determines that the document production request has not been received, the process returns to step S41. When the request processing unit301determines that the document production request has been received, the request processing unit301determines whether or not a session between the request processing unit301and the client apparatus101is valid (step S42).

When a session between the request processing unit301and the client apparatus101is valid, the process advances to step S43. In contrast, when a session between the request processing unit301and the client apparatus101is invalid, the Web page production unit302produces an error screen, returns it to the Web browser of the client apparatus101(step S57), and ends the process.

In step S43, the overlay-target data acquisition unit305provided in the document production apparatus102refers to session information to thereby confirm form information and overlay-target data (step S43). Next, the document production unit306overlays the form specified by the form information confirmed in step S43and the overlay-target data to thereby produce a document file (step S44). Next, the document production unit306determines whether or not the document file has been successfully produced (step S45). When the document file has not been successfully produced, the process advances to step S57. When the document file has been successfully produced, the file upload unit303confirms a request in accordance with the output system included in session information, and determines whether or not a request in accordance with the output system is a document file upload request (step S46). When a request in accordance with the output system is a document file download request, the process advances to step S47. Then, the file download unit304downloads the document file to the client apparatus101through the transmission of the document file to the Web browser of the client apparatus101(step S47). Next, the Web page production unit302provided in the document production apparatus102returns a completion screen indicating that the download of the document file has been completed to the Web browser of the client apparatus101(step S48).

When a request in accordance with the output system is a document file upload request, the file upload unit303confirms the size of the document file (step S49). Next, the file upload unit303determines whether or not the size of the confirmed document file exceeds a threshold value, i.e., the size of the file that can be uploaded to the cloud platform103(step S50). When the size of the document file does not exceed a threshold value, the file upload unit303uploads the document file to the cloud platform103(step S52), and returns the completion screen713to the client apparatus101.

When the size of the document file exceeds a threshold value, the file upload unit303determines whether or not an upload essential mode is OFF (step S53). The upload essential mode is a processing mode indicating whether or not the upload of the document file is essential. In the example, it is assumed that the client apparatus101sets ON or OFF for the upload essential mode in advance in the document production apparatus102in response to a user's operation input. When the upload essential mode is ON, the upload of the document file is essential. When the upload essential mode is OFF, the upload of the document file is not essential.

When the upload essential mode is ON, the process advances to step S57. In contrast, when the upload essential mode is OFF, the Web page production unit302returns the warning screen714to the Web browser of the client apparatus101in accordance with the instruction provided by the file upload unit303(step S54). The warning screen714is a screen that provides a notification to prompt the client apparatus101to download a document file. When a user pushes the download button715of the warning screen714, a document file download request is transmitted from the client apparatus101to the request processing unit301provided in the document production apparatus102.

In step S54described above, the file upload unit303provided in the document production apparatus102may further provide an instruction to the cloud platform103to thereby cause it to display the history information about document file upload processing on the work screen701. For example, a record of when a user has logged into the cloud platform103and information indicating that the document file having a file name “file A” could not be uploaded are displayed as history information on a history list1501on the work screen701shown inFIG. 10.

Referring back toFIG. 9, the file download unit304determines whether or not the document file is downloaded to the client apparatus101(step S55). When the request processing unit301receives a download request in accordance with the push of the download button715of the warning screen714from the client apparatus101, the file download unit304determines that the document file is downloaded to the client apparatus101. Then, the process advances to step S56. When the request processing unit301does not receive a download request in accordance with the push of the download button715of the warning screen714, the file download unit304determines that the document file is not downloaded to the client apparatus101, and the process is ended. In step S56, the file download unit304downloads the document file to the client apparatus101(step S56), and the process is ended. When the document production apparatus102of the first embodiment receives an upload request for uploading a document file to the cloud platform103from the client apparatus101, the document production apparatus102executes the following processing. When the size of the document file exceeds a size that can be uploaded to the cloud platform103, the document production apparatus102enables the client apparatus101to download the document file. Therefore, according to the document production apparatus102of the first embodiment, the produced document file can be provided to the client apparatus101without wasting the file.

Next, a description will be given of a second embodiment of the present invention. When the document production apparatus102of the second embodiment receives a document file upload request from the client apparatus101and the size of the document file exceeds a threshold value, the document production apparatus102divides the document file into a plurality of divided files, i.e., divided data, for uploading.

FIGS. 11A and 11Bare diagrams illustrating an example of the management of divided files. As shown inFIG. 11A, the cloud platform103stores a divided file list and divided files in the storage404for management. The divided file list is the uploaded divided data, i.e., the list information about the divided files, and is used for combining the divided files. In the example, the divided file list is the file having a file name “file A.list”. The divided file list has data items such as a file ID and a file name. The file ID is an ID for uniquely identifying the divided files in the divided file list. Also, the file ID defines the order of combining the divided files. The file name is the file name of the divided files. In other words, in the example, the file A indicates the file name of a coupled file, when three files, i.e., the file A.div1 to the file A.div3, are coupled to a single coupled file.

When the cloud platform103uploads the divided file list and the divided files (stores them in the storage404), the cloud platform103produces the work screen701shown inFIG. 11Band cause the client apparatus101to display the work screen701. The cloud platform103displays the file name corresponding to the document file, which is stored in the storage404, on the file list area718of the work screen701. More specifically, the cloud platform103displays the file name of the file obtained by combining the divided files into a single file, and the file name of the document file that has been transmitted from the document production apparatus102without being subjected to division and stored in the storage404. When a user selects an area labeled “download”, which corresponds to the file name displayed on the file list area718, the file combining unit403provided in the cloud platform103executes the following processing. In the example, it is assumed the case where a user selects an area labeled “download”, which corresponds to the file name of the file obtained by combining the divided files. The file combining unit403extracts the divided file list and the divided files, which correspond to the file name, from the storage404. Then, the file combining unit403combines the extracted divided files in accordance with the order defined by the file ID on the divided file list, produces a single document file, and downloads it to the client apparatus101.

FIG. 12is a flowchart illustrating an example of the operation processing performed by the document production apparatus of a second embodiment. Of the operation processing performed by the document production apparatus102of the second embodiment,FIG. 13shows processing which is different from operation processing performed by the document production apparatus102of the first embodiment described with reference toFIG. 9. In other words, the document production apparatus102of the second embodiment executes processing corresponding to steps S61to S67shown inFIG. 12instead of processing corresponding to steps S49to S56shown inFIG. 9. Therefore, operation processing shown inFIG. 12is operation processing performed when the document production apparatus102receives a document file upload request from the client apparatus101.

First, the file upload unit303confirms the size of the document file (step S61). Next, the file upload unit303determines whether or not the size of the confirmed document file exceeds a threshold value, i.e., the size of the file that can be uploaded to the cloud platform103(step S62). When the size of the document file does not exceed a threshold value, the file upload unit303uploads the document file to the cloud platform103(step S63).

When the size of the document file exceeds a threshold value, the file upload unit303divides the document file into a plurality of divided files (step S64). The number of files into which the document file is divided (division number) is determined in advance. Next, the file upload unit303determines whether or not the size of the divided files falls within a threshold value (step S65). When the size of the divided files exceeds a threshold value, the process returns to step S64. The file upload unit303changes the division number to divide the document file again.

When the size of the divided files does not exceed a threshold value, the file upload unit303produces a divided file list corresponding to the divided files (step S66). Then, the file upload unit303uploads the divided files and the divided file list to the cloud platform103(step S67). In other words, when the file upload unit303uploads the divided files to the cloud platform103, the file upload unit303transmits the list information about the divided files, which is used for combining the divided files, to the management server.

FIG. 13is a diagram illustrating the download processing flow of a document file from a cloud platform according to the second embodiment. When a user selects the file name displayed on the file list area718of the work screen701shown inFIG. 11B, a document file to be downloaded is specified. Also, when a user selects the area labeled “download”, which corresponds to the selected file name, the client apparatus101performs the following processing. The client apparatus101makes a download request for a document file to be downloaded to the cloud platform103.

The cloud platform103determines whether or not the download request for a document file to be downloaded has been received (step S71). When the cloud platform103determines that the download request for a document file to be downloaded has not been received, the process is ended. In contrast, when the cloud platform103determines that the download request for a document file to be downloaded has been received, the process advances to step S72.

Next, the file combining unit403provided in the cloud platform103acquires a divided file list corresponding to a document file to be downloaded from the storage404(step S72). Next, the file combining unit403determines whether or not the divided file list was successfully acquired (step S73). When the file combining unit403determines that the divided file list cannot be acquired, the file combining unit403performs the following processing. The fact that the file combining unit403cannot acquire the divided file list means that a document file to be downloaded is a document file transmitted from the document production apparatus102without being subjected to division. Hence, in this case, the file combining unit403acquires a document file to be downloaded from the storage404, and transmits the acquired document file to the download requester (step S76). In contrast, when the file combining unit403determines that the divided file list was successfully acquired, the file combining unit403acquires the divided files corresponding to the file names in the divided file list from the storage404(step S74). The file combining unit403combines the divided files in accordance with the order defined by the file ID on the divided file list (step S75). With this arrangement, a single coupled document file is thereby produced. Then, the file combining unit403transmits the produced document file to the download requester (step S76).

In other words, when the cloud platform103receives a download request for the divided files from the client apparatus101, the cloud platform103combines the divided files using the divided file list that has been transmitted from the file upload unit303provided in the document production apparatus102. Then, the cloud platform103downloads the coupled divided files to the client apparatus101.

When the document production apparatus102of the second embodiment receives a document file upload request and the size of the document file exceeds the size of the file that can be uploaded to the cloud platform103, the document production apparatus102performs the following processing. The document production apparatus102divides the document file into divided files and uploads them to the cloud platform103. Also, the cloud platform103combines the uploaded divided files and downloads the coupled file to the client apparatus101in response to the document file download request from the client apparatus101. Therefore, according to the second embodiment, even when the size of the document file exceeds a size that can be uploaded to the cloud platform103, the produced document file can be divided into divided document files to upload them to the management server as well as the divided document files can be coupled to provide the coupled file to a user device.

Next, a description will be given of a third embodiment of the present invention. When the document production apparatus102of the third embodiment receives a document file upload request from the client apparatus101and the size of the document file exceeds a threshold value, the document production apparatus102compresses the document file to thereby upload the compressed document file to the cloud platform103.

FIG. 14is a flowchart illustrating an example of the operation processing performed by the document production apparatus of a third embodiment. Of the operation processing performed by the document production apparatus102of the third embodiment,FIG. 13shows processing which is different from operation processing performed by the document production apparatus102of the first embodiment described with reference toFIG. 9. In other words, the document production apparatus102of the third embodiment executes processing corresponding to steps S81to S87shown inFIG. 14instead of processing corresponding to steps S49to S56shown inFIG. 9.

First, the file upload unit303confirms the size of the document file (step S81). Next, the file upload unit303determines whether or not the size of the confirmed document file exceeds a threshold value, i.e., the size of the file that can be uploaded to the cloud platform103(step S82). When the size of the document file does not exceed a threshold value, the file upload unit303uploads the document file to the cloud platform103(step S83).

When the size of the document file exceeds a threshold value, the file upload unit303compresses the document file into a predetermined file size (step S84). Next, the file upload unit303determines whether or not the size of the compressed document file falls within a threshold value (step S85). When the size of the compressed document file exceeds a threshold value, the Web page production unit302produces an error screen, and returns it to the Web browser of the client apparatus101(step S87). When the size of the compressed document file falls within a threshold value, the file upload unit303uploads the compressed document file to the cloud platform103(step S86). According to the third embodiment, even when the size of the document file exceeds the size of the file that can be uploaded to the cloud platform103, the produced document file can be compressed to thereby upload the compressed file to the management server.