Patent Publication Number: US-10762043-B2

Title: Information processing system, information processing apparatus, and information processing method

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an information processing system, an information processing apparatus, and an information processing method. 
     2. Description of the Related Art 
     In recent years, various external services have been provided by cloud computing, etc. For example, there is known an external service for storing electronic data in an external storage. In order to use such an external service, there is conventionally known a technology of storing electronic data, which is managed in a client terminal, in an external storage specified by the user (see, for example, Patent Document 1). 
     However, in the above conventional technology, depending on the Web API (Application Programming Interface) provided by the external storage, there have been cases where the user&#39;s comfortable usage is impaired. For example, depending on the external storage, there are cases where a Web API, which is for collectively acquiring folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder in the external storage, is not provided. In the case of an external storage without such a Web API, for example, the folder information of folders in the hierarchy of the specified folder and in one hierarchy lower than that of the specified folder is acquired in units of one hierarchy, and the user has to wait until all of the folder information is acquired. 
     Patent Document 1: Japanese Laid-Open Patent Publication No. 2013-92833 
     SUMMARY OF THE INVENTION 
     The present invention provides an information processing system, an information processing apparatus, and an information processing method, in which one or more of the above-described disadvantages are eliminated. 
     According to an aspect of the present invention, there is provided an information processing system including one or more information processing apparatuses for implementing various functions of the information processing system, the information processing system including a first storage unit configured to store, in association with each other, identification information identifying an external service and information relating to an acquisition method for acquiring information of a folder from the external service, for each of a plurality of the external services respectively including the folder for storing electronic data; a receiving unit configured to receive, from a device connected to the information processing system via a network, a request to acquire, from a first external service among the plurality of the external services, the information of the folder included in the first external service; an identification unit configured to identify the acquisition method for acquiring the information of the folder from the first external service, based on the information relating to the acquisition method for acquiring the information of the folder stored in the first storage unit in association with the identification information identifying the first external service relating to the request, when the request is received by the receiving unit; a first acquisition unit configured to acquire the information of the folder from the first external service, based on the acquisition method identified by the identification unit; and a sending unit configured to send the information of the folder acquired by the first acquisition unit, to the device that is a request source of the request, wherein when the acquisition method identified by the identification unit is a first acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, the first acquisition unit acquires, from the first external service, the information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, and when the acquisition method identified by the identification unit is a second acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder, the first acquisition unit acquires, from the first external service, the information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder. 
     According to an aspect of the present invention, there is provided an information processing apparatus including a first storage unit configured to store, in association with each other, identification information identifying an external service and information relating to an acquisition method for acquiring information of a folder from the external service, for each of a plurality of the external services respectively including the folder for storing electronic data; a receiving unit configured to receive, from a device connected to the information processing apparatus via a network, a request to acquire, from a first external service among the plurality of the external services, the information of the folder included in the first external service; an identification unit configured to identify the acquisition method for acquiring the information of the folder from the first external service, based on the information relating to the acquisition method for acquiring the information of the folder stored in the first storage unit in association with the identification information identifying the first external service relating to the request, when the request is received by the receiving unit; a first acquisition unit configured to acquire the information of the folder from the first external service, based on the acquisition method identified by the identification unit; and a sending unit configured to send the information of the folder acquired by the first acquisition unit, to the device that is a request source of the request, wherein when the acquisition method identified by the identification unit is a first acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, the first acquisition unit acquires, from the first external service, the information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, and when the acquisition method identified by the identification unit is a second acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder, the first acquisition unit acquires, from the first external service, the information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder. 
     According to an aspect of the present invention, there is provided an information processing method performed by an information processing system including a storage unit configured to store, in association with each other, identification information identifying an external service and information relating to an acquisition method for acquiring information of a folder from the external service, for each of a plurality of the external services respectively including the folder for storing electronic data, and one or more information processing apparatuses for implementing various functions of the information processing system, the information processing method including receiving, from a device connected to the information processing system via a network, a request to acquire, from a first external service among the plurality of the external services, the information of the folder included in the first external service; identifying the acquisition method for acquiring the information of the folder from the first external service, based on the information relating to the acquisition method for acquiring the information of the folder stored in the storage unit in association with the identification information identifying the first external service relating to the request, when the request is received at the receiving; acquiring the information of the folder from the first external service, based on the acquisition method identified at the identifying; and sending the information of the folder acquired at the acquiring, to the device that is a request source of the request, wherein when the acquisition method identified at the identifying is a first acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, the acquiring includes acquiring, from the first external service, the information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, and when the acquisition method identified at the identifying is a second acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder, the acquiring includes acquiring, from the first external service, the information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which: 
         FIG. 1  is a configuration diagram of an example of an information processing system according to a first embodiment; 
         FIG. 2  is a hardware configuration diagram of an example of a computer; 
         FIG. 3  illustrates a hardware configuration of an example of an image forming apparatus according to the first embodiment; 
         FIG. 4  is a process block diagram of an example of an information processing system according to the first embodiment; 
         FIG. 5  is a configuration diagram of an example of storage service information; 
         FIG. 6  is a sequence diagram of an example of a scan distribution process according to the first embodiment; 
         FIG. 7  illustrates an example of a hierarchal structure of folders in a storage service; 
         FIGS. 8A and 8B  illustrate examples of storage service information; 
         FIGS. 9A and 9B  illustrate examples of an acquisition request for folder information; 
         FIG. 10  illustrates an example of folder information; 
         FIGS. 11A through 11C  are image diagrams of examples of folder selection screens; 
         FIG. 12  is a sequence diagram of another example of a scan distribution process according to the first embodiment; 
         FIG. 13  illustrates an example of hierarchies of folder information that are acquired; 
         FIGS. 14A through 14C  illustrate other examples of folder information; 
         FIG. 15  illustrates the acquisition of folder information in an information processing system according to a second embodiment; 
         FIG. 16  is a process block diagram of an example of the information processing system according to the second embodiment; 
         FIG. 17  is a sequence diagram of an example of a scan distribution process according to the second embodiment; 
         FIG. 18  illustrates another example of hierarchies of folder information that are acquired; 
         FIG. 19  is a configuration diagram of an example of an information processing system according to a third embodiment; 
         FIG. 20  is a hardware configuration diagram of an example of a digital camera according to the third embodiment; 
         FIG. 21  is a process block diagram of an example of the information processing system according to the third embodiment; 
         FIG. 22  is a sequence diagram of an example of a data distribution process according to the third embodiment; 
         FIGS. 23A through 23D  illustrate examples of a distribution image selection screen and folder selection screens; and 
         FIG. 24  is a sequence diagram of another example of a data distribution process according to the third embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A description is given, with reference to the accompanying drawings, of embodiments of the present invention. 
     First Embodiment 
     System Configuration 
     First, a description is given of a system configuration of an information processing system  1  according to a first embodiment.  FIG. 1  is a configuration diagram of an example of an information processing system according to a first embodiment. In the information processing system  1  illustrated in  FIG. 1 , a service providing environment E 2 , a user environment E 1 , an external storage system  40 , etc., are communicatively connected to each other via a wide-area network N 1  such as the Internet. 
     The service providing environment E 2  is a system environment for providing an external service such as a cloud service via a network. Note that in the present embodiment, a description is given of a cloud service as a specific example of the external service; however, the present embodiment may be applied to a service that is provided via a network such as a service provided by ASP (Application Service Provider) and a web service. 
     The service providing environment E 2  includes a service providing device  20  which is realized by one or more information processing apparatuses, and an external service cooperation device  30  realized by one or more information processing apparatuses. However, each of the service providing device  20  and the external service cooperation device  30  may be realized by a single information processing apparatus. 
     The service providing device  20  provides a predetermined service via a network. For example, the service providing device  20  provides a service of storing, in a specified storage destination (a specified folder in the external storage system  40 ), image data that is generated by scanning an original document in an image forming apparatus  10  in the user environment E 1 . 
     Furthermore, the external service cooperation device  30  mediates the service providing device  20  and the external storage system  40 . For example, the external service cooperation device  30  acquires, from the external storage system  40 , folder information for specifying a folder to be the storage destination of the image data, in response to a request from the service providing device  20 . 
     In the present embodiment, as one example, the service providing environment E 2  is described as providing a cloud storage service (hereinafter, simply referred to as “storage service”) in cooperation with the external storage system  40 . More specifically, a description is given of a case where the image data generated by scanning an original document in the image forming apparatus  10 , is stored in a specified folder in the external storage system  40  providing a storage service. However, the cloud service provided by the service providing environment E 2  is not limited to a storage service. For example, the cloud service may be for performing an OCR (Optical Character Recognition) process on image data generated by scanning an original document in the image forming apparatus  10 , or the cloud service may be for performing a translation process of translating text data described in a particular language into another language. 
     Note that all of or some of the service providing devices  20  and all of or some of the external service cooperation devices  30  may be respectively installed in the user environment E 1 . That is, all of or some of the information processing apparatuses constituting the service providing devices  20  and the external service cooperation devices  30  may be included in the user environment E 1 . 
     The user environment E 1  is, for example, a system environment in a company, etc., which is the user using the image forming apparatus  10 . In the user environment E 1 , one or more image forming apparatuses  10  are connected to a network such as a LAN (Local Area Network), etc. Furthermore, the user environment E 1  may include, for example, a PC terminal, etc., that the user uses to make a setting of a default (standard) storage destination of the user himself/herself in the storage service, setting an account, etc. 
     Note that the image forming apparatus  10  according to the present embodiment is an image forming apparatus including a scanning function. However, a multifunction peripheral including functions other than the scanning function such as a print function, a copy function, a fax communication function, etc., may be used as the image forming apparatus  10 . 
     The external storage system  40  is a computer system that provides a cloud service referred to as a storage service (or online storage) via a network. A storage service is a service of renting out a storage area in the storage of the external storage system  40 . In the present embodiment, the storage area rented out by the external storage system  40  is the storage destination of image data in the storage service provided to the image forming apparatus  10  by the service providing device  20 . That is, the image data generated in the image forming apparatus  10  is stored in a folder allocated in the storage area of the external storage system  40 . In the following, when a plurality of external storage systems  40  are distinguished form each other, they are denoted as external storage system  40   1 , external storage system  40   2 , and so on. 
     Note that the external storage system  40  may be a system that is realized by a plurality of information processing apparatuses. Furthermore, the configuration of the information processing system  1  illustrated in  FIG. 1  is one example; the information processing system  1  may have other configurations. 
     &lt;Hardware Configuration&gt; 
     Next, a description is given of a hardware configuration of the information processing system  1  according to the first embodiment. 
     &lt;&lt;Service Providing Device, External Service Cooperation Device&gt;&gt; 
     The service providing device  20  and the external service cooperation device  30  according to the first embodiment have a hardware configuration as illustrated in  FIG. 2 , for example.  FIG. 2  is a hardware configuration diagram of an example of a computer. A computer  100  illustrated in  FIG. 2  includes an input device  101 , a display device  102 , an external I/F  103 , a RAM (Random Access Memory)  104 , a ROM (Read Only Memory)  105 , a CPU (Central Processing Unit)  106 , a communication I/F  107 , and a HDD (Hard Disk Drive)  108 , which are connected to each other by a bus B. 
     The input device  101  includes a keyboard, a mouse, and a touch panel, and is used by the user for inputting various operation signals. The display device  102  includes a display, etc., and displays processing results obtained by the computer  100 . Note that the input device  101  and the display device  102  may have a configuration of being connected and used when necessary. 
     The communication I/F  107  is an interface that connects the computer  100  to the network N 1 . Accordingly, the computer  100  is able to perform data communication via the communication I/F  107 . 
     Furthermore, the HDD  108  is an example of a non-volatile storage device for storing programs and data. The stored programs and data include an OS (Operating System) that is the basic software for controlling the entire computer  100 , and application software for providing various functions in the OS. Note that the computer  100  may use a drive device (for example, a solid state drive: SSD) using a flash memory as the storage medium, instead of the HDD  108 . 
     The HDD  108  manages the stored programs and data by a predetermined file system and/or a DB. The external I/F  103  is an interface between the computer  100  and an external device. An example of the external device is a recording medium  103   a.    
     Accordingly, the computer  100  is able to read and/or write in the recording medium  103   a  via the external I/F  103 . Examples of the recording medium  103   a  are a flexible disk, a CD, a DVD, an SD memory card, and a USB memory. 
     The ROM  105  is a non-volatile semiconductor memory (storage device) that can store programs and data even after the power is turned off. The ROM  105  stores programs and data such as a BIOS that is executed when the computer  100  is activated, OS settings, and network settings. The RAM  104  is a volatile semiconductor memory (storage device) for temporarily storing programs and data. 
     The CPU  106  is a processor for controlling the entire computer  100  and implementing functions of the computer  100 , by loading the programs and data from the storage devices such as the ROM  105  and the HDD  108 , into the RAM  104 , and executing processes. The service providing device  20  and the external service cooperation device  30  are able to implement various processes described below, by the above hardware configuration of the computer  100 . 
     &lt;&lt;Image Forming Apparatus&gt;&gt; 
     The image forming apparatus  10  according to the first embodiment is realized by a hardware configuration, for example, as illustrated in  FIG. 3 .  FIG. 3  illustrates a hardware configuration of an example of the image forming apparatus  10  according to the first embodiment. The image forming apparatus  10  illustrated in  FIG. 3  includes a controller  201 , an operation panel  202 , an external I/F  203 , a communication I/F  204 , and a scanner  205 . 
     The controller  201  includes a CPU  211 , a RAM  212 , a ROM  213 , a NVRAM  214 , and a HDD  215 . The ROM  213  stores various programs and data. The RAM  212  temporarily stores programs and data. The NVRAM  214  stores, for example, setting information. Furthermore, the HDD  215  stores various programs and data. 
     The CPU  211  controls the entire image forming apparatus  10  and implements functions of the image forming apparatus  10 , by loading the programs and data, setting information, from the ROM  213 , the NVRAM  214 , and the HDD  215 , into the RAM  212 , and executing processes. 
     The operation panel  202  includes an input unit for receiving input from a user, and a display unit for displaying information. The external I/F  203  is an interface between the image forming apparatus  10  and an external device. An example of the external device is a recording medium  203   a . Accordingly, the image forming apparatus  10  is able to read and/or write in the recording medium  203   a  via the external I/F  203 . Examples of the recording medium  203   a  are an IC card, a flexible disk, a CD, a DVD, an SD memory card, and a USB memory. 
     The communication I/F  204  is an interface that connects the image forming apparatus  10  to the network N 1 . Accordingly, the image forming apparatus  10  is able to perform data communication via the communication I/F  204 . The scanner  205  is a reading device for reading image data (electronic data) from an original document. 
     &lt;Software Configuration&gt; 
     Next, a description is given of a software configuration of the information processing system  1  according to the first embodiment. The information processing system  1  according to the first embodiment can be realized by, for example, the process blocks as illustrated in  FIG. 4 .  FIG. 4  is a process block diagram of an example of the information processing system  1  according to the first embodiment. 
     The image forming apparatus  10  includes a display unit  11  and a scan execution unit  14 . Furthermore, the display unit  11  includes a user operation receiving unit  12  and a folder information display unit  13 . 
     The user operation receiving unit  12  is realized by, for example, the CPU  211 , the operation panel  202 , etc., and receives various operations by the user. For example, the user operation receiving unit  12  receives various operations such as an operation of specifying the storage service to be the storage destination of the image data, an operation of selecting (specifying) the folder to be the storage destination of the image data in the specified storage service, and an operation of executing scanning of an original document. 
     The folder information display unit  13  is realized by, for example, the CPU  211 , the operation panel  202 , etc., and displays a folder selection screen for selecting (specifying) the folder to be the storage destination of the image data, based on the folder information received from the service providing device  20 . 
     The scan execution unit  14  is realized by, for example, the CPU  211 , the scanner  205 , etc., and generates image data by scanning an original document. Furthermore, the scan execution unit  14  requests (upload request) the service providing device  20  to store the generated image data in a specified storage destination folder in the specified storage service. 
     The service providing device  20  includes a scan control unit  21 . Furthermore, the scan control unit  21  includes an acquisition method identification unit  22  and a scan distribution unit  23 . Note that the service providing device  20  may include, for example, a print control unit for providing a service of acquiring (downloading) electronic data from the storage service and printing the data by the image forming apparatus  10 . 
     The acquisition method identification unit  22  is realized by, for example, the CPU  106 , etc., and refers storage service information  35 D described below, and identifies the acquisition method for acquiring the folder information from the external storage system  40 . 
     Generally, the folder information may be acquired with the use of a Web API that is disclosed by the external storage system  40 ; however, the method of acquiring the folder information differs according to the Web API that is disclosed by the external storage system  40 . For example, there is an external storage system  40   1  that discloses a Web API that acquires folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder, while there is an external storage system  40   2  that does not disclose such a Web API and discloses a Web API for acquiring only the folder information of folders in the hierarchy of the specified folder and in one hierarchy lower than that of the specified folder. Therefore, in the present embodiment, the acquisition method identification unit  22  identifies the acquisition method for acquiring folder information from the corresponding external storage system  40 . 
     In the following, it is assumed that the Web API for acquiring folder information, which is disclosed by the external storage system  40 , is either “a Web API that acquires folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder” or “a Web API for acquiring only the folder information of folders in the hierarchy of the specified folder and in one hierarchy lower than that of the specified folder”. However, the Web API for acquiring folder information is not limited to these; for example, the Web API may be “a Web API for acquiring only the folder information of folders in the hierarchy of the specified folder and in a predetermined number of hierarchies (for example, two hierarchies) lower than that of the specified folder”. That is, the acquisition method for acquiring folder information from the external storage system  40  may be various kinds of acquisition methods other than the above. 
     The scan distribution unit  23  is realized by, for example, the CPU  106 , the communication I/F  107 , etc., and makes an acquisition request for folder information or an upload request for image data, to a folder information acquisition unit  33  or a data upload unit  34  of the external service cooperation device  30  described below, in response to a request from the image forming apparatus  10 . 
     The external service cooperation device  30  includes a storage service information management unit  31  and an external storage communication unit  32 . Furthermore, the external storage communication unit  32  includes a folder information acquisition unit  33  and a data upload unit  34 . Furthermore, the external service cooperation device  30  uses a storage service information storage unit  35 . 
     The storage service information management unit  31  is realized by, for example, the CPU  106 , etc., and acquires the storage service information  35 D from the storage service information storage unit  35  described below, in response to a request from the acquisition method identification unit  22  of the service providing device  20 . 
     The folder information acquisition unit  33  is realized by, for example, the CPU  106 , the communication I/F  107 , etc., and makes an acquisition request for folder information to the external storage system  40 , in response to request from the scan distribution unit  23  of the service providing device  20 . Note that at this time, the folder information acquisition unit  33  makes an acquisition request in accordance with the acquisition method identified by the acquisition method identification unit  22  of the service providing device  20 . 
     The data upload unit  34  is realized by, for example, the CPU  106 , the communication I/F  107 , etc., and makes a request to upload image data to the external storage system  40 , in response to a request from the scan distribution unit  23  of the service providing device  20 . 
     The storage service information storage unit  35  is realized by, for example, the HDD  108  or a storage device connected to the external service cooperation device  30  via a network, etc., and stores storage service information  35 D. 
     Here, a description is given of a data configuration of the storage service information  35 D.  FIG. 5  is a configuration diagram of an example of storage service information  35 D. As illustrated in  FIG. 5 , the storage service information  35 D includes a “storage service name” indicating the name of the storage service provided by the external storage system  40 , a “host name” for connecting to a storage service via the network N 1 , an “authentication method” used when using the storage service, and an “acquisition method of folder information” indicating the acquisition method for acquiring the folder information from the storage service. Note that the storage service information  35 D may include data items other than the above, such as a data item of a storage service ID for uniquely identifying the storage service. 
     Here, the storage service in which “Bundle” is specified as the data item of “acquisition method of folder information” (for example, “storage1”), is a storage service that discloses a Web API that acquires folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder. Therefore, to this storage service, the folder information acquisition unit  33  of the external service cooperation device  30  makes an acquisition request to acquire folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder. 
     Meanwhile, the storage service in which “OnlySubFolder” is specified as the data item of “acquisition method of folder information” (for example, “storage2”), is a storage device that discloses a Web API for acquiring only the folder information of folders in the hierarchy of the specified folder and in one hierarchy lower than that of the specified folder. Therefore, to this storage service, the folder information acquisition unit  33  of the external service cooperation device  30  makes an acquisition request to acquire folder information of folders in the hierarchy of the specified folder and in one hierarchy lower than that of the specified folder. 
     &lt;Details of Process&gt; 
     Next, a description is given of details of the process of the information processing system  1  according to the first embodiment. With respect to the information processing system  1  according to the first embodiment, a description is given of a process performed in a case where the user stores image data, which has been generated by scanning an original document in the image forming apparatus  10 , in a selected (specified) folder in the storage service (that is, a scan distribution process). At this time, the folder selection screen in the image forming apparatus  10  used by the user to select the folder to be the storage destination, is generated based on folder information acquired from the external storage system  40 . In the following, the description of the acquisition method for acquiring folder information from the external storage system  40 , is given separately for the case where the acquisition method is “Bundle” and for the case where the acquisition method is “OnlySubFolder”. 
     First, a description is given of a case where the user stores image data in a desired folder in the external storage system  40   1  (the storage service “storage1” in which the acquisition method of the folder information is “Bundle”).  FIG. 6  is a sequence diagram of an example of a scan distribution process according to the first embodiment. Here, the hierarchal structure of folders of the user in the external storage system  40   1  is assumed to be as illustrated in  FIG. 7 . Also, it is assumed that the user is desiring to store the image data in the folder having the folder name “folder3”. 
     In step S 601 , at the image forming apparatus  10 , the user performs an operation for specifying a desired storage service and displaying a folder selection screen to be used for selecting the storage destination folder for the image data in the storage service. When the user performs this operation, the user operation receiving unit  12  of the image forming apparatus  10  receives the operation. In the present embodiment, it is assumed that the user has performed an operation for specifying a storage service name “storage1” and displaying a folder selection screen in the folder set as a default folder for the user (for example, the folder name “user1”). Note that, for example, when the user logs into the image forming apparatus  10 , a storage service that is set in advance may be specified. 
     In step S 602 , when the above operation by the user is received, the user operation receiving unit  12  of the display unit  11  sends an acquisition request for folder information for displaying a folder selection screen on the operation panel  202 , to the scan control unit  21  of the service providing device  20 . Note that the acquisition request for folder information includes information relevant to the specified storage service (for example, a storage service name), and information relevant to the user (for example, a user name). 
     In step S 603 , when the acquisition request for the folder information is received, the scan distribution unit  23  of the scan control unit  21  requests the acquisition method identification unit  22  to identify the acquisition method of the folder information. Then, the acquisition method identification unit  22  sends an acquisition request for the acquisition method of the folder information, to the storage service information management unit  31  of the external service cooperation device  30 . Note that the acquisition request includes information relevant to the specified storage service (for example, the storage service name). 
     In step S 604 , when the acquisition request for the acquisition method of the folder information is received, the storage service information management unit  31  refers to the storage service information  35 D, and returns the storage service information of the corresponding storage service to the acquisition method identification unit  22 . In the present embodiment, based on information relevant to the storage service included in the acquisition request for the acquisition method of the folder information (storage service name “storage1”), the record in the first line of the storage service information  35 D is returned to the acquisition method identification unit  22 . Here, the information returned to the acquisition method identification unit  22  is returned in, for example, the data format as illustrated in  FIG. 8A . In  FIG. 8A , in the storage service information  35 D, the “storage service name” is specified as “name”, the “host name” is specified as “host”, the “authentication method” is specified as “auth_type”, and the “acquisition method of folder information” is specified as “folder_acquisition_type”. Accordingly, by referring to “folder_acquisition_type” in the information returned from the storage service information management unit  31 , the acquisition method identification unit  22  is able to identify the acquisition method of the folder information of the specified storage service (storage service name “storage1”). 
     Note that “oauth” specified in “auth_type” in  FIG. 8A  indicates that OAuth is used as the authentication method used when the user logs in the external storage system  40   1 . By making a predetermined setting in advance by using OAuth as the authentication method, the user does not need to perform the authentication operation (for example, an operation of inputting a user name and a password) with respect to the external storage system  40   1  when displaying the folder selection screen. 
     In step S 605 , the scan distribution unit  23  of the scan control unit  21  generates an acquisition request for the folder information, based on the acquisition method of the folder information identified in step S 604 . The generated acquisition request for the folder information is described in, for example, a GET method of a HTTP (Hypertext Transfer Protocol) request as illustrated in  FIG. 9A . In the URI (Uniform Resource Identifier) of the HTTP request illustrated in  FIG. 9A , “folder_id=xxx” and “hierarchy=all” are specified. This indicates that this is a request to acquire folder information of folders in the hierarchy of the folder having a folder_ID “xxx” and in hierarchies lower than that of the folder having the folder ID “xxx”, which is identification information uniquely applied to each folder. That is, when the acquisition method of the folder information identified in step S 604  is “Bundle”, the scan distribution unit  23  of the scan control unit  21  generates a HTTP request in which the “hierarchy” of the URI is specified as “all”. As described below, the folder information is acquired by sending the above acquisition request for the folder information, to the host (www.storage1.com) acquired in step S 604 . 
     Note that as the folder ID specified in “folder_id”, the folder ID of the folder that is set in advance as the default folder of the user (usually the folder at the highest hierarchy of the user), is specified. For example, when the hierarchy structure of the folders of the user in the external storage system  40   1  is as illustrated in  FIG. 7 , in “folder_id”, the folder ID of the folder name “user1” is specified. 
     In step S 606 , the scan distribution unit  23  of the scan control unit  21  sends the acquisition request for the folder information generated in step S 605 , to the external storage communication unit  32  of the external service cooperation device  30 . 
     In step S 607 , the folder information acquisition unit  33  of the external storage communication unit  32  sends the received acquisition request for the folder information, to the specified external storage system  40   1 . That is, the folder information acquisition unit  33  of the external storage communication unit  32  sends the acquisition request for the folder information to the host acquired in step S 604 . Then, the external storage system  40   1  returns the corresponding folder information to the service providing device  20  via the external service cooperation device  30 . 
     Here, the corresponding folder information is, for example as illustrated in  FIG. 10 , the folder information of folders in the hierarchy of the folder having the folder name “user1” and in all hierarchies lower than that of the folder having the folder name “user1”. That is, the folder information is of the folders having the folder names “user1”, “folder1”, “folder2”, and “folder3”. As illustrated in  FIG. 10 , in the folder information, “id” indicating the folder ID, “name” indicating the folder name, “subfolders” specifying the folder information of a subfolder (a folder in one lower hierarchy), “path” indicating the path information (relative path) from the folder set as the default folder of the user, “has_subfolder” indicating whether there is a subfolder, etc., are specified. Here, when “true” is specified in “has_subfolder”, this indicates that folder information of the subfolder is specified in “subfolders”. Meanwhile, when “false” is specified in “has_subfolder”, this indicates that folder information of the subfolder is not specified in “subfolders” (that is, there is no subfolder). That is, “has_subfolder” is a subfolder presence flag. 
     Note that, for example, when a service is provided by the service providing device  20  for printing the electronic data stored in the storage service by the image forming apparatus  10 , the above folder information includes information relevant to the file stored in the folder. Therefore, in this case, the user can print a file by selecting the desired file in the file selection screen displayed on the image forming apparatus  10 . 
     In step S 608 , the scan distribution unit  23  of the scan control unit  21  returns the received folder information to the display unit  11  of the image forming apparatus  10 . 
     In step S 609 , when the user operation receiving unit  12  receives the folder information, the folder information display unit  13  of the display unit  11  generates, for example, folder selection screens G 11  through G 13  as illustrated in  FIGS. 11A through 11C , based on the received folder information. Then, the folder information display unit  13  displays the folder selection screen G 11  of  FIG. 11A  indicating a screen for selecting a folder in the folder name “user1”. 
     In the folder selection screen G 11  of  FIG. 11A , when the user selects the folder name “folder1”, the folder selection screen G 12  as illustrated in  FIG. 11B  is displayed. Furthermore, in the folder selection screen G 12  of  FIG. 11B , when the user selects the folder name “folder3”, the folder selection screen G 13  as illustrated in  FIG. 11C  is displayed. Then, in the folder selection screen G 13  of  FIG. 11C , by selecting the “OK” button, the “folder3” is selected as the storage destination folder. In the folder “folder3” in the external storage system  40  selected as above, image data generated by a process described below, is stored. 
     Note that in the above, the folder selection screens G 11  through G 13  as illustrated in  FIGS. 11A through 11C  are generated in the image forming apparatus  10 ; however, these may be generated in the service providing device  20 . That is, when the folder information is received from the external storage system  40  via the external service cooperation device  30 , the service providing device  20  generates a folder selection screen from the received folder information. Then, the service providing device  20  may send the generated folder selection screen to the image forming apparatus  10 . 
     In step S 610 , the user performs, at the image forming apparatus  10 , an operation for performing scan distribution. This is an operation of, for example, selecting the “OK” button as described in step S 609 , in a state where the original document is set in the scanner of the image forming apparatus  10 , to select “folder3” as the storage destination folder of the image data. Then, when the user performs this operation, the user operation receiving unit  12  of the image forming apparatus  10  receives this operation. 
     In step S 611 , when the operation by the user is received, the user operation receiving unit  12  requests the scan execution unit  14  to scan the original document and distribute the image data generated by the scanning operation. Note that this request includes information relevant to the specified storage service (for example, the storage service name), and information relevant to the folder that is the storage destination in the corresponding storage service selected by the user in step S 609  (for example, the folder ID). 
     In step S 612 , the scan execution unit  14  scans the original document and generates image data. 
     In step S 613 , the scan execution unit  14  sends, to the scan control unit  21  of the service providing device  20 , an upload request for storing the image data generated in step S 612 , in the selected folder in the specified storage service. Note that the upload request includes information relevant to the specified storage service, information relevant to the folder in the selected storage destination, and image data generated by the scan execution unit  14  in step S 612 . 
     In step S 614 , the scan distribution unit  23  of the scan control unit  21  sends the upload request received from the image forming apparatus  10  to the external storage communication unit  32  of the external service cooperation device  30 . 
     In step S 615 , the data upload unit  34  of the external storage communication unit  32  sends, to the external storage system  40   1 , an upload request including the information relevant to the folder that is the storage destination and the generated image data. Accordingly, the image data, which has been generated by scanning the original document, is stored in the selected folder in the specified external storage system  40   1 . 
     As described above, the information processing system  1  according to the present embodiment can store data in the external storage system  40  that can collectively acquire folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder. 
     Next, a description is given of a case where the user desires to store image data in the external storage system  40   2  (the storage service in which the acquisition method of the folder information is “OnlySubFolder”).  FIG. 12  is a sequence diagram of another example of a scan distribution process according to the first embodiment. Here, the hierarchal structure of folders of the user in the external storage system  40   2  is assumed to be as illustrated in  FIG. 7 , similar to the external storage system  40   1 . Also, it is assumed that the user is desiring to store the image data in the folder having the folder name “folder3”. 
     Note that when the acquisition method of the folder information is “OnlySubFolder”, the folder information is acquired in units of one hierarchy. Therefore, when the folder information is acquired by specifying the folder ID “user1”, the folder information of the folders within the range indicated by a dotted line  1100  in  FIG. 13  (that is, the folders immediately below “user1”) is acquired. Furthermore, when the folder information is acquired by specifying the folder ID “folder1”, the folder information of the folder within the range indicated by a dotted line  1200  in  FIG. 13  (that is, the folder immediately below “folder1”) is acquired. As described above, when the acquisition method of the folder information is “OnlySubFolder”, the folder information to be acquired is the folder information of the specified folder ID and the folder information of the folder immediately below the specified folder ID. 
     In step S 1201 , at the image forming apparatus  10 , the user performs an operation for specifying a desired storage service and displaying a folder selection screen to be used for selecting the storage destination folder for the image data in the storage service. When the user performs this operation, the user operation receiving unit  12  of the image forming apparatus  10  receives the operation. In the present embodiment, it is assumed that the user has performed an operation for specifying a storage service name “storage2” and displaying a folder selection screen G 11  in the folder set as a default folder for the user (for example, the folder name “user1”). Note that, for example, when the user logs into the image forming apparatus  10 , a storage service that is set in advance may be specified. 
     Steps S 1202  through S 1204  are the same as steps S 602  through S 604  of  FIG. 6 , and therefore descriptions thereof are omitted. However, in step S 1204 , the storage service information management unit  31  of the service providing device  20  returns, to the acquisition method identification unit  22 , the record in the second line of the storage service information  35 D, based on the storage service name “storage2” specified by the user. That is, for example, the storage service information management unit  31  returns information in a data format as illustrated in  FIG. 8B , to the acquisition method identification unit  22 . As illustrated in  FIG. 8B , at “folder_acquisition_type”, “OnlySubFolder” indicating the acquisition method of the folder is specified, and by referring to this, the acquisition method identification unit  22  can identify the acquisition method of the folder information of the specified storage service (storage service name “storage2”). 
     In step S 1205 , the scan distribution unit  23  of the scan control unit  21  generates an acquisition request for the folder information, based on the acquisition method of the folder information identified in step S 1204 . The acquisition request for the folder information generated here is described in, for example, a GET method of a HTTP request as illustrated in  FIG. 9B . In the URI of the HTTP request illustrated in  FIG. 9B , “folder_id=xxx” and “hierarchy=1” are specified. This indicates that this is a request to acquire the folder information of folders in the hierarchy of the folder having a folder ID “xxx” and in one hierarchy lower than this hierarchy (that is, the folder having a folder ID “xxx” and the folders immediately below this folder). That is, when the acquisition method of the folder information identified in step S 1204  is “OnlySubFolder”, the scan distribution unit  23  of the scan control unit  21  generates a HTTP request in which the “hierarchy” of the URI is specified as “1”. As described below, the folder information is acquired by sending the above acquisition request for the folder information, to the host (www.storage2.co.jp) acquired in step S 1204 . 
     In step S 1206 , the scan distribution unit  23  of the scan control unit  21  sends the acquisition request for the folder information generated in step S 1205 , to the external storage communication unit  32  of the external service cooperation device  30 . 
     In step S 1207 , the folder information acquisition unit  33  of the external storage communication unit  32  sends the received acquisition request for the folder information, to the specified external storage system  40   2 . That is, the folder information acquisition unit  33  of the external storage communication unit  32  sends the acquisition request for the folder information to the host acquired in step S 1204 . Then, the external storage system  40   2  returns the corresponding folder information to the service providing device  20  via the external service cooperation device  30 . 
     Here, the corresponding folder information is, for example, as illustrated in  FIG. 14A , the folder information of folders in the hierarchy of the folder having the folder name “user1” and in one hierarchy lower than that of the folder having the folder name “user1”. That is, the folder information is that of the folder having the folder name “user1”, and the folders having the folder names “folder1” and “folder2”, which are immediately below the folder “user1”. As described above, when “hierarchy=l” is specified in the URI of the acquisition request for folder information, the folder information of folders including those that are immediately below the folder having the folder ID specified in “folder_id”, is acquired. Note that in this case, in the folder information of “folder1” and “folder2”, “false” is specified in the subfolder presence flags  2100  and  2200 , respectively. 
     Furthermore, when the corresponding folder information is returned, the scan distribution unit  23  determines whether subfolder information is specified in the specified folder ID. Then, when the subfolder information is specified, the process of step S 1208  is performed. 
     For example, when folder information as illustrated in  FIG. 14A  is returned, in the specified folder ID “xxx” (folder name “user1”), the folder information of “folder1” and “folder2” is specified as “subfolder” (that is, subfolder information), and therefore the process of step S 1208  is performed. Meanwhile, for example, when folder information as illustrated in  FIG. 14C  is returned, in the specified folder ID “zzz” (folder name “folder3”), “subfolder” is not specified, and therefore the process of step S 1208  is not performed. Note that the folder information illustrated in  FIG. 14C  is folder information that is acquired when the user selects the folder having the folder name “folder3” in the folder selection screen G 1 , as described below. 
     In step S 1208 , the scan distribution unit  23  rewrites the subfolder presence flag in the subfolder information specified in “subfolder” in the folder information, to “true”. That is, for example, in the case of the folder information as illustrated in  FIG. 14A , the subfolder presence flags  2100 ,  2200  are rewritten into “true” from “false”. Furthermore, in the case of the folder information as illustrated in  FIG. 14B , the subfolder presence flag  2300  is rewritten into “true” from “false”. 
     This is because the image forming apparatus  10  that has received the folder information may refer to the subfolder presence flag in the folder information and determine whether there is a folder in a further lower hierarchy. That is, this is to prevent a situation where, even though actually there is a folder in a further lower hierarchy, it is erroneously determined that there is no folder in the further lower hierarchy because the subfolder presence flag is indicating “false”. 
     In step S 1209 , the scan distribution unit  23  of the scan control unit  21  returns folder information to the display unit  11  of the image forming apparatus  10 . Here, the folder information returned to the display unit  11  of the image forming apparatus  10  is the folder information after the subfolder presence flag has been rewritten, when the process of step S 1208  has been performed. 
     In step S 1210 , when the user operation receiving unit  12  receives the folder information, the folder information display unit  13  of the display unit  11  generates a folder selection screen G 11 , for example, as illustrated in  FIG. 11A , based on the received folder information. Then, the folder information display unit  13  displays the folder selection screen G 11  illustrated in  FIG. 11A  indicating a screen for selecting a folder in the folder name “user1”. 
     Note that as described above, at this time, the folder information display unit  13  may refer to the subfolder presence flag in the received folder information, and determine whether there is a folder in a further lower hierarchy. Then, according to the determination result, for example, the image forming apparatus  10  may send a request to acquire folder information of a folder in a further lower hierarchy, to the service providing device  20 . 
     Next, when the user selects, for example, a folder name “folder1” in the folder selection screen G 11  illustrated in  FIG. 11A , the processes of steps S 1202  through S 1210  as described above are executed, and a folder selection screen G 12  as illustrated in  FIG. 11B  is displayed. That is, in this case, in step S 1205 , an acquisition request is generated to acquire the folder information in which the folder ID “yyy1” of the “folder1” is specified as “folder_id”. Then, in step S 1207 , for example, as illustrated in  FIG. 14B , the folder information of the folder having the folder name “folder1” and the folder having the folder name “folder3” immediately below the folder “folder1”, is acquired. Then, in step S 1210 , a folder selection screen G 12  as illustrated in  FIG. 11B  is displayed. 
     Similarly, for example, when the user selects a folder name “folder3” in the folder selection screen G 12  illustrated in  FIG. 11B , the processes of steps S 1202  through S 1210  as described above are executed, and a folder selection screen G 13  as illustrated in  FIG. 11C  is displayed. Then, as the user selects the “OK” button in  FIG. 11C , the “folder3” is selected as the storage destination folder. 
     Note that the subsequent processes of steps S 1211  through S 1216  are the same as the processes of steps S 610  through S 615  in  FIG. 6 , and therefore descriptions thereof are omitted. 
     As described above, the information processing system  1  according to the present embodiment can store data in the external storage system  40  that can acquire folder information of the specified folder and folders in one hierarchy lower than that of the specified folder. At this time, the information processing system  1  according to the present embodiment performs the generating and the displaying of a folder selection screen, for each folder information that is acquired (that is, in units of folders in one hierarchy). Therefore, even when the user desires to store the data in an external storage system  40  that cannot collectively acquire folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder (that is, an external storage system  40  that can only acquire the folder information in units of one hierarchy), it is possible to display a folder selection screen without delay. Accordingly, the user&#39;s waiting time is reduced, and the user can perform the operation of selecting a folder to be the storage destination in a stress-free manner. 
     Second Embodiment 
     Next, a description is given of the information processing system  1  according to a second embodiment. In the information processing system  1  according to the second embodiment, in the external storage system  40  for which the method of acquiring the folder information is “OnlySubFolder”, the folder information is sequentially acquired in the background and is cached. That is, for example, it is assumed that the hierarchy structure of folders of the user in the external storage system  40   2  is as illustrated in  FIG. 15 . Here, when the folder information in the range indicated by a dotted line  3100  has already been acquired, and a folder selection screen for selecting “folder1” and “folder2” is displayed on the image forming apparatus  10 , the information processing system  1  according to the second embodiment acquires the folder information in the ranges indicated by dotted lines  3200  through  3500  in the background and caches the acquired folder information. Then, for example, when “folder1” is selected and an operation to display a folder selection screen for selecting “folder3” and “folder4” is performed at the image forming apparatus  10 , the cached folder information in the range indicated by the dotted line  3200  is returned to the image forming apparatus  10 . Note that in the following, elements having substantially the same functions as those of the first embodiment and processes that are substantially the same as those of the first embodiment are denoted by the same reference numerals and descriptions thereof are omitted. 
     &lt;Software Configuration&gt; 
     First, a description is given of a software configuration of the information processing system  1  according to the second embodiment. The information processing system  1  according to the second embodiment can be realized by, for example, the process blocks as illustrated in  FIG. 16 .  FIG. 16  is a process block diagram of an example of the information processing system  1  according to the second embodiment. The information processing system  1  according to the second embodiment is different from that of the first embodiment in that a scan control unit  21 A further includes a cache information management unit  24 . Furthermore, the service providing device  20  according to the second embodiment is different from that of the first embodiment in that it uses a cache information storage unit  25 . 
     The cache information management unit  24  is realized by, for example, the CPU  106 , etc., and stores folder information acquired from the external storage system  40  via the external service cooperation device  30 , in the cache information storage unit  25  as a cache. Furthermore, in response to a request from the scan distribution unit  23 , the cache information management unit  24  acquires folder information stored as cache. 
     The cache information storage unit  25  is realized by, for example, the HDD  108  or a storage device, etc., connected to the service providing device  20  via a network, and stores folder information acquired from the external storage system  40  via the external service cooperation device  30 , as cache. 
     &lt;Details of Process&gt; 
     Next, a description is given of details of the process of the information processing system  1  according to the second embodiment. In a scan distribution process according to the second embodiment, as described above, in the external storage system  40  for which the method of acquiring the folder information is “OnlySubFolder”, the folder information is sequentially acquired in the background and is cached. Therefore, in the following, a description is given of a case where the acquisition method for acquiring folder information from the external storage system  40  is “OnlySubFolder”.  FIG. 17  is a sequence diagram of an example of a scan distribution process according to the second embodiment. Note that in  FIG. 17 , the processes described with respect to steps S 610  through S 615  of  FIG. 6  are omitted. 
     Steps S 1701  and S 1702  are the same as steps S 1201  and S 1202  of  FIG. 12 , and therefore descriptions thereof are omitted. 
     In step S 1703 , the scan distribution unit  23  of the scan control unit  21 A requests the cache information management unit  24  to determine whether the corresponding folder information (for example, folder information of the folder set as the default folder of the user and folder information of the folder selected in the folder selection screen) is included in the cache information storage unit  25 . Then, the cache information management unit  24  determines whether the corresponding folder information is included in the cache information storage unit  25 . 
     Here, when the corresponding folder information is included in the cache information storage unit  25 , the subsequent processes are not performed, and the corresponding folder information is returned to the image forming apparatus  10 . Then, the display unit  11  of the image forming apparatus  10  displays a folder selection screen based on the received folder information. In the following, the description is continued assuming that it is determined that the corresponding folder information is not included in the cache information storage unit  25 . 
     Steps S 1704  through S 1711  are the same as steps S 1203  through S 1210  of  FIG. 12 , and therefore descriptions thereof are omitted. Accordingly, for example, the folder selection screen G 11  as illustrated in  FIG. 11A  is displayed on the image forming apparatus  10 . At this time, as described in the next steps S 1712  through S 1715 , the service providing device  20  acquires folder information in the background from the external storage system  40  via the external service cooperation device  30 , and stores the acquired folder information as a cache in the cache information storage unit  25 . 
     In step S 1712 , the scan distribution unit  23  of the scan control unit  21  generates an acquisition request for folder information. Here, the generated acquisition request for folder information is, for example, an acquisition request for acquiring the folder information in the range indicated by the dotted line  3200  in  FIG. 15 , when the folder information in the range indicated by the dotted line  3100  in  FIG. 15  is already acquired. Furthermore, when the folder information in the ranges indicated by the dotted lines  3100  and  3200  in  FIG. 15  is already acquired, the generated acquisition request is for acquiring the folder information in the range indicated by the dotted line  3300 . Furthermore, when the folder information in the ranges indicated by the dotted lines  3100  through  3300  in  FIG. 15  is already acquired, the generated acquisition request is for acquiring the folder information in the range indicated by the dotted line  3400 . As described above, for example, the acquisition requests for the folder information are generated in the order for acquiring the range indicated by the dotted line  3100 , the range indicated by the dotted line  3200 , the range indicated by the dotted line  3300 , the range indicated by the dotted line  3400 , and the range indicated by the dotted line  3500  in  FIG. 15 . Therefore, the acquiring of the folder information is also performed in this order, in the next step S 1714 . 
     However, the order in which the acquisition requests for folder information are generated (that is, the order in which the folder information is acquired) is not so limited, and the acquisition requests may be generated (the folder information may be acquired) in a predetermined priority order. For example, as illustrated in  FIG. 18 , when the user is displaying a folder selection screen for selecting a folder in a folder name “folder3” at the image forming apparatus  10 , the predetermined priority order may be to prioritize the generation of the acquisition requests for the folder information of the folders in the ranges indicated by the dotted lines  3300  and  3500  that are lower than the hierarchy of the “folder3”. Otherwise, for example, the acquisition requests for the folder information may be generated in a priority order according to an ascending order or descending order of folder IDs. 
     In step S 1713 , the scan distribution unit  23  of the scan control unit  21 A sends the acquisition request for the folder information generated in step S 1712 , to the external storage communication unit  32  of the external service cooperation device  30 . 
     Note that when the information processing system  1  includes two or more service providing devices  20 , one service providing device  20  may request the other service providing device  20  to perform the processes of steps S 1712  and S 1713 . Then, the one service providing device  20  may store (merge) the folder information acquired by the other service providing device  20  in the cache information storage unit  25  of itself. That is, a plurality of service providing devices  20  may acquire folder information in a manner as to supplement each other, and the acquired folder information may be stored in a single cache information storage unit  25 . 
     In step S 1714 , the folder information acquisition unit  33  of the external storage communication unit  32  sends the received acquisition request for the folder information to the specified external storage system  40   1 . Then, the external storage system  40  returns the corresponding folder information to the service providing device  20  via the external service cooperation device  30 . 
     In step S 1715 , the scan distribution unit  23  of the scan control unit  21 A requests the cache information management unit  24  to store the folder information acquired in step S 1714 . Then, the cache information management unit  24  causes the cache information storage unit  25  to store the folder information as a cache. Note that at this time, the cache information management unit  24  may store, in association with the folder information, the path information of the absolute path of the storage destination of the folder in the external storage system  40  (that is, the relative path from the root folder), or the path information of the relative path from the parent folder. Accordingly, for example, when the user specifies the path information of the folder to be displayed at the image forming apparatus  10 , it is possible to reduce the waiting time of the user until the specified folder selection screen is displayed. 
     The processes of steps S 1712  through S 1715  as described above are repeated while the subfolder information is specified in the acquired folder information (that is, while the subfolder presence flag of the folder information of the specified folder ID is indicating “true”). Accordingly, for example, the folder information in the ranges indicated by dotted lines  3200  through  3500  in  FIG. 15  is sequentially acquired and stored as a cache in the cache information storage unit  25 . 
     Note that when the information processing system  1  includes two or more service providing devices  20 , the cache information storage units  25  of the respective service providing devices  20  may be synchronized at a predetermined timing (for example, the contents of the cache information storage units  25  of the respective service providing device  20  may be merged or supplement each other). 
     Note that as described above, when the user selects a desired folder after the folder selection screen is displayed in step S 1711 , the processes of steps S 610  through S 615  described with reference to  FIG. 16  are performed. 
     As described above, the information processing system  1  according to the present embodiment can store data in the external storage system  40  that can acquire folder information of the specified folder and folders in one hierarchy lower than that of the specified folder. At this time, the information processing system  1  according to the present embodiment acquires the folder information in units of one hierarchy in the background, and stores the acquired folder information as a cache in the cache information storage unit  25 . Accordingly, when an acquisition request for cached folder information is received from the image forming apparatus  10 , the user&#39;s waiting time until the folder selection screen is displayed can be further reduced. 
     &lt;Overview&gt; 
     According to the information processing system  1  according to the first embodiment described above, even when the user desires to store the data in an external storage system  40  that cannot collectively acquire folder information of folders in the hierarchy of the specified folder and in all hierarchies lower than that of the specified folder (that is, the external storage system  40  that can only acquire the folder information in units of a predetermined number of hierarchies (for example, in units of one hierarchy)), it is possible to display a folder selection screen for selecting the folder to be the storage destination without delay. Therefore, the user&#39;s waiting time until the folder selection screen is displayed is reduced. Accordingly, the user can comfortably use the external storage system  40  from the image forming apparatus  10 . 
     Furthermore, according to the information processing system  1  according to the second embodiment described above, when it is not possible to collectively acquire the folder information of the specified folder and folders lower than the specified folder, the folder information is acquired in the background and the acquired folder information is stored as a cache. Therefore, the user&#39;s waiting time until the folder selection screen is displayed is further reduced. 
     Note that in the description of the first and second embodiments, the image data scanned in the image forming apparatus  10  (example of an image processing apparatus) that is an input source, is stored in the external storage system  40  that is an output destination; however, embodiments of the present invention are not so limited. For example, the input source is not limited to a scanned object; the input source may be image data captured by a digital camera, a mobile phone, etc., or various kinds of electronic data other than image data such as document data created by a PC, voice sound data created by an IC recorder, etc. Furthermore, the output destination may be, for example, an image projection device such as a projector, a digital signage panel, a printer, a conference system, etc. 
     Furthermore, as the input source or the output source of the electronic data, other devices may be used to implement services having same purposes as those of the present embodiment, as long as the device can function as an input unit or an output unit of electronic data. 
     Third Embodiment 
     Next, a description is given of the information processing system  1  according to a third embodiment. In the information processing system  1  according to the third embodiment, the service providing device  20  and the external service cooperation device  30  are constituted by a single information processing apparatus. Furthermore, in the information processing system  1  according to the third embodiment, an image that is captured by a digital camera is uploaded in the external storage system  40 . Note that in the following, elements having substantially the same functions as those of the first embodiment and processes that are substantially the same as those of the first embodiment are denoted by the same reference numerals and descriptions thereof are omitted. 
     &lt;System Configuration&gt; 
     First, a description is given of a system configuration of an information processing system  1  according to a third embodiment.  FIG. 19  is a configuration diagram of an example of an information processing system according to a third embodiment. 
     The information processing system  1  according to the third embodiment is different from that of the first embodiment in that the user environment E 1  includes a digital camera  50  and the service providing environment E 2  includes a service providing device  60 . 
     The user environment E 1  includes one or more digital cameras  50 , which is connected to a network such as wireless LAN. The digital camera  50  is a device that is used by the user. The user can store image data, which is selected at the digital camera  50 , in a specified storage destination in the external storage system  40  (a specified folder in the external storage system  40 ). 
     The service providing environment E 2  includes the service providing device  60 . The service providing device  60  provides a service of storing the image data selected at the digital camera  50  in the user environment E 1 , in a specified storage destination in the external storage system  40 . In this case, for example, the service providing device  60  acquires folder information for specifying a folder to be the storage destination of the image data, from the external storage system  40 . 
     That is, the service providing device  60  according to the third embodiment is formed by constituting the service providing device  20  according to the first embodiment and the external service cooperation device  30  according to the first embodiment by a single information processing apparatus. 
     &lt;Hardware Configuration&gt; 
     Next, a description is given of a hardware configuration of the digital camera  50  included in the information processing system  1  according to the third embodiment.  FIG. 20  is a hardware configuration diagram of an example of the digital camera  50  according to the third embodiment. 
     The digital camera  50  illustrated in  FIG. 20  includes an input device  301 , a display device  302 , an external I/F  303 , a RAM  304 , a ROM  305 , a CPU  306 , a communication I/F  307 , a flash memory  308 , and an image pickup device  309 . These hardware elements are connected to each other by a bus B 1 . 
     The input device  301  includes a touch panel, various buttons, etc., and is used by the user for inputting various operation signals. The display device  302  includes a display, etc., and displays processing results obtained by the digital camera  50 . 
     The communication I/F  307  is an interface that connects the digital camera  50  to the network N 1 . Accordingly, the digital camera  50  is able to perform data communication via the communication I/F  307 . 
     The external I/F  303  is an interface between the digital camera  50  and an external device. An example of the external device is a recording medium  303   a . Accordingly, the digital camera  50  is able to read and/or write in the recording medium  303   a  via the external I/F  303 . 
     Examples of the recording medium  303   a  are a SD memory card, a USB memory, etc. In the recording medium  303   a , for example, image data generated by the image pickup device  309  is stored. 
     The flash memory  308  is an example of a non-volatile storage device for storing programs, etc., for controlling the entire digital camera  50 . The ROM  305  is a non-volatile semiconductor memory (storage device) that can store programs and data even after the power is turned off. The ROM  305  stores various kinds of setting information, etc. The RAM  304  is a volatile semiconductor memory (storage device) for temporarily storing programs and data. 
     The CPU  306  is a processor for controlling the entire digital camera  50  and implementing functions of the digital camera  50 , by loading the programs and data from the ROM  305  and the flash memory  308  into the RAM  304 , and executing processes. 
     The image pickup device  309  generates image data by capturing an object. The image data generated by the image pickup device  309  is not limited to image data of a still image; the image data may be a video image (that is, video data). That is, the image data includes image data of a still image and image data of a video. 
     The digital camera  50  can implement various process described below by the above hardware configuration. 
     &lt;Software Configuration&gt; 
     Next, a description is given of a software configuration of the information processing system  1  according to the third embodiment. The information processing system  1  according to the third embodiment can be realized by, for example, the process blocks as illustrated in  FIG. 21 .  FIG. 21  is a process block diagram of an example of the information processing system  1  according to the third embodiment. 
     The digital camera  50  includes a user input output unit  51  and a data distribution unit  54 . Furthermore, the user input output unit  51  includes a user operation receiving unit  52  and a folder information display unit  53 . 
     The user operation receiving unit  52  is realized by, for example, the CPU  306 , the input device  301 , etc., and receives various operations by the user. For example, the user operation receiving unit  52  receives various operations such as an operation of selecting image data to be stored in the storage service, an operation of selecting (specifying) the folder in the storage service to be the storage destination of the selected image data, etc. 
     The folder information display unit  53  is realized by, for example, the CPU  306 , the display device  302 , etc., and displays various screens. For example, the folder information display unit  53  displays a selection screen of a distribution image for selecting image data to be stored in the storage service, and a folder selection screen for selecting the folder to be the storage destination of the selected image data. 
     The data distribution unit  54  is realized by, for example, the CPU  306 , etc., and requests the service providing device  60  to store the image data selected by the user in the specified storage destination folder in the storage service (upload request). 
     The service providing device  60  includes an acquisition control unit  61 , a storage service information management unit  31 , and an external storage communication unit  32 A. Furthermore, the service providing device  60  uses a storage service information storage unit  35 . 
     Furthermore, the acquisition control unit  61  includes an acquisition method identification unit  22  and an acquisition request generating unit  62 , and the external storage communication unit  32 A includes a folder information acquisition unit  33  and a data upload unit  34 A. 
     Note that the acquisition method identification unit  22 , the storage service information management unit  31 , the folder information acquisition unit  33 , and the storage service information storage unit  35  are the same as those of the first embodiment, and therefore descriptions thereof are omitted. 
     The acquisition request generating unit  62  is realized by, for example, the CPU  306 , etc., and makes an acquisition request for folder information to the folder information acquisition unit  33 , in response to a request from the digital camera  50 . 
     The data upload unit  34 A is realized by, for example, the CPU  306 , the communication I/F  307 , etc., and makes a request to upload image data to the external storage system  40 , in response to a request from the data distribution unit  54  of the digital camera  50 . 
     &lt;Details of Process&gt; 
     Next, a description is given of details of the process of the information processing system  1  according to the third embodiment. With respect to the information processing system  1  according to the first embodiment, a description is given of a process performed in a case where the user stores image data, which is stored in the digital camera  50 , in a selected (specified) folder in the storage service (that is, a data distribution process). At this time, the folder selection screen in the digital camera  50  used by the user to select the folder to be the storage destination, is generated based on folder information acquired from the external storage system  40 . In the following, the description of the acquisition method for acquiring folder information from the external storage system  40 , is given separately for the case where the acquisition method is “Bundle” and for the case where the acquisition method is “OnlySubFolder”. 
     First, a description is given of a case where the user stores image data in a desired folder in the external storage system  40   1  (the storage service “storage1” in which the acquisition method of the folder information is “Bundle”).  FIG. 22  is a sequence diagram of an example of a data distribution process according to the third embodiment. Note that in the following, for the portions where the same processes as the scan distribution process described with reference to  FIG. 6  are performed, the descriptions are simplified appropriately. 
     Here, the hierarchal structure of folders of the user in the external storage system  40   1  is assumed to be as illustrated in  FIG. 7 , similar to the first embodiment. Also, it is assumed that the user is desiring to store the image data in the folder having the folder name “folder3”. 
     In step S 2201 , at the digital camera  50 , the user performs an operation for selecting image data to be stored in the storage service. When the user performs this operation, the user operation receiving unit  52  of the digital camera  50  receives the operation. 
     Here, for example, the user can select the image data that the user wants to store in the storage service, in a distribution image selection screen G 21  as illustrated in  FIG. 23A . In the distribution image selection screen G 21  illustrated in  FIG. 23A , the image data items stored in the digital camera  50  are displayed. The user can select one or more image data items that the user wants to store in the storage service, in the distribution image selection screen G 21  illustrated in  FIG. 23A . 
     In step S 2202 , when the above operation by the user is received, the user operation receiving unit  52  of the user input output unit  51  sends an acquisition request for folder information for displaying a folder selection screen on the display device  302 , to the acquisition control unit  61  of the service providing device  60 . 
     Note that in the present embodiment, the external storage system  40   1  having the storage service name “storage1” is set in advance as the storage destination of the image data selected in step S 2201 . Therefore, the acquisition request for the folder information includes the storage service name “storage1” and information relevant to the user (for example, a user name “user1”). 
     However, for example, the storage service that is the storage destination of the image data may be selected by the user in the distribution image selection screen G 21  illustrated in  FIG. 23A , together with the selection of the image data to be the distribution target. 
     In step S 2203 , when the acquisition request for the folder information is received, the acquisition request generating unit  62  of the acquisition control unit  61  requests the acquisition method identification unit  22  to identify the acquisition method of the folder information. Then, the acquisition method identification unit  22  sends an acquisition request for the acquisition method of the folder information, to the storage service information management unit  31 . Note that the acquisition request includes information relevant to the storage service (for example, the storage service name). 
     In step S 2204 , when the acquisition request for the acquisition method of the folder information is received, the storage service information management unit  31  refers to the storage service information  35 D, and returns the storage service information of the corresponding storage service to the acquisition method identification unit  22 . Note that the returned information is, for example, as illustrated in  FIG. 8A , similar to the first embodiment. 
     In step S 2205 , the acquisition request generating unit  62  of the acquisition control unit  61  generates an acquisition request for the folder information, based on the acquisition method of the folder information identified in step S 2204 . Note that the acquisition method of the folder information generated here is, for example, as illustrated in  FIG. 9A , similar to the first embodiment. 
     In step S 2206 , the acquisition request generating unit  62  of the acquisition control unit  61  sends the acquisition request for the folder information generated in step S 2205 , to the external storage communication unit  32 A. 
     In step S 2207 , the folder information acquisition unit  33  of the external storage communication unit  32 A sends the received acquisition request for the folder information, to the external storage system  40   1  set in advance. That is, the external storage communication unit  32 A sends the acquisition request for the folder information to the host, which is included in the storage service information of  FIG. 8A , acquired in step S 2204 . Then, the external storage system  40   1  returns the corresponding folder information to the service providing device  60 . Note that the corresponding folder information returned here is, for example, as illustrated in  FIG. 10 , similar to the first embodiment. 
     In step S 2208 , the acquisition request generating unit  62  of the acquisition control unit  61  returns the received folder information to the user input output unit  51  of the digital camera  50 . 
     In step S 2209 , when the user operation receiving unit  52  receives the folder information, the folder information display unit  53  of the user input output unit  51  generates, for example, folder selection screens G 22  through G 24  as illustrated in  FIGS. 23B through 23D , based on the received folder information. Then, the folder information display unit  53  displays the folder selection screen G 22  of  FIG. 23B  indicating a screen for selecting folders in the folder name “user1”. 
     In the folder selection screen G 22  of  FIG. 23B , when the user selects the folder name “folder1”, as illustrated in  FIG. 23C , the folder selection screen G 23  is displayed. Furthermore, in the folder selection screen G 23  of  FIG. 23C , when the user selects the folder name “folder3”, as illustrated in  FIG. 23D , the folder selection screen G 24  as illustrated in  FIG. 23D  is displayed. 
     Then, as described below, in  FIG. 23D , as the user selects the “OK” button, the image data selected in  FIG. 23A  is stored in the “folder3” in external storage system  40   1 . 
     In step S 2210 , the user performs an operation for performing data distribution for uploading the image data in the selected storage destination folder, by selecting the “OK” button in the folder selection screen G 22  in  FIG. 23D . Then, when the user performs this operation, the user operation receiving unit  52  of the digital camera  50  receives this operation. 
     In step S 2211 , when the operation by the user is received, the user operation receiving unit  52  requests the external storage communication unit  32 A to upload (distribute) the selected image data. Note that this request includes the storage service name of the external storage system  40   1  that is the storage destination of the selected image data, information relevant to the storage destination folder selected in step S 2209 , and the image data selected in step S 2201 . 
     In step S 2212 , the data upload unit  34 A of the external storage communication unit  32 A sends the upload request received from the digital camera  50 , to the corresponding external storage system  40   1 . Accordingly, the selected image data is stored in the selected folder in the external storage system  40   1 . 
     As described above, the information processing system  1  according to the present embodiment can store the data stored in the digital camera  50 , in the external storage system  40  that can collectively acquire folder information of folders in the hierarchy of the specified folder and all hierarchies lower than that of the specified folder. 
     Next, a description is given of a case where the user desires to store image data in the external storage system  40   2  (a storage service for which the method of acquiring the folder information is “OnlySubFolder”).  FIG. 24  is a sequence diagram of another example of a data distribution process according to the third embodiment. 
     Here, the hierarchal structure of folders of the user in the external storage system  40   2  is assumed to be as illustrated in  FIG. 7 , similar to the external storage system  40   1 . Also, it is assumed that the user is desiring to store the image data in the folder having the folder name “folder3”. Note that in the following, for the portions where the same processes as the scan distribution process described with reference to  FIG. 12  are performed, the descriptions are simplified appropriately. 
     First, the processes of steps S 2041  through S 2043  are the same as steps S 2201  through S 2203  of  FIG. 22 , and therefore descriptions thereof are omitted. 
     However, in the present embodiment, it is assumed that the external storage system  40   2  having the storage service name “storage2” is set in advance as the storage destination of the image data selected in step S 2401 . Therefore, the acquisition request for the folder information sent in step S 2402  includes the storage service name “storage2” and information relevant to the user (for example, a user name “user1”). 
     In step S 2404 , when the acquisition request for the acquisition method of the folder information is received, the storage service information management unit  31  refers to the storage service information  35 D, and returns the storage service information of the storage service to the acquisition method identification unit  22 . Note that the returned information is, for example, as illustrated in  FIG. 8B , similar to the first embodiment. 
     In step S 2405 , the acquisition request generating unit  62  of the acquisition control unit  61  generates an acquisition request for the folder information, based on the acquisition method of the folder information identified in step S 2404 . Note that the acquisition method of the folder information generated here is, for example, as illustrated in  FIG. 9B , similar to the first embodiment. 
     In step S 2406 , the acquisition request generating unit  62  of the acquisition control unit  61  sends the acquisition request for the folder information generated in step S 2405 , to the external storage communication unit  32 A. 
     In step S 2407 , the folder information acquisition unit  33  of the external storage communication unit  32 A sends the received acquisition request for the folder information, to the external storage system  40   2  set in advance. That is, the external storage communication unit  32 A sends the acquisition request for the folder information to the host, which is included in the storage service information of  FIG. 8B , acquired in step S 2404 . Then, the external storage system  40   2  returns the corresponding folder information to the service providing device  60 . Note that the folder information returned here is, for example, as illustrated in  FIG. 14A , similar to the first embodiment. 
     Furthermore, when the corresponding folder information is returned, the acquisition request generating unit  62  determines whether subfolder information is specified in the specified folder ID. When subfolder information is specified, the process of step S 2408  is performed. 
     In step S 2408 , the acquisition request generating unit  62  rewrites the subfolder presence flag in the subfolder information specified in “subfolder” in the folder information, to “true”. 
     In step S 2409 , the acquisition request generating unit  62  of the acquisition control unit  61  returns the received folder information to the user input output unit  51  of the digital camera  50 . Here, the folder information returned to the user input output unit  51  of the digital camera  50  is folder information after the subfolder presence flag has been rewritten, when the process of step S 2408  has been performed. 
     In step S 2410 , when the user operation receiving unit  52  receives the folder information, the folder information display unit  53  of the user input output unit  51  generates, for example, folder selection screen G 22  as illustrated in  FIG. 23B , based on the received folder information. Then, the folder information display unit  53  displays the folder selection screen G 22  of  FIG. 23B  indicating a screen for selecting folders in the folder name “user1”. 
     Note that, at this time, the folder information display unit  53  may refer to the subfolder presence flag in the received folder information, and determine whether there is a folder in a further lower hierarchy. Then, according to the determination result, for example, the digital camera  50  may send a request to acquire folder information of a folder in a further lower hierarchy, to the service providing device  60 . 
     Next, when the user selects, for example, a folder name “folder1” in the folder selection screen G 22  illustrated in  FIG. 23B , the processes of steps S 2402  through S 2410  as described above are executed, and a folder selection screen G 23  as illustrated in  FIG. 23C  is displayed. That is, in this case, in step S 2405 , an acquisition request is generated to acquire the folder information in which the folder ID “yyy1” of the “folder1” is specified as “folder_id”. Then, in step S 2407 , for example, as illustrated in  FIG. 14B , the folder information of the folder having the folder name “folder1” and the folder having the folder name “folder3” immediately below the folder “folder1”, is acquired. Then, in step S 2410 , a folder selection screen G 23  as illustrated in  FIG. 23C  is displayed. 
     Similarly, for example, when the user selects a folder name “folder3” in the folder selection screen G 23  illustrated in  FIG. 23C , the processes of steps S 2402  through S 2410  as described above are executed, and a folder selection screen G 24  as illustrated in  FIG. 23D  is displayed. 
     Then, in the process described below, as the user selects the “OK” button in  FIG. 23D , the image data selected in  FIG. 23A  is stored in the folder “folder3” in the external storage system  40   2 . 
     The processes of steps S 2411  through S 2413  are the same as the processes of steps S 2210  through S 2212  in  FIG. 22 , and therefore descriptions thereof are omitted. 
     As described above, the information processing system  1  according to the present embodiment can store the data stored in the digital camera  50 , into the external storage system  40  that can acquire folder information of folders in the hierarchy of the specified folder and one hierarchy lower than that of the specified folder. 
     An information processing system includes a service providing device for providing an external service and an external service cooperation device for requesting the external service to perform a predetermined process in cooperation with the service providing device. The information processing system includes a first storage unit for the external service cooperation device to store, in association with each other, identification information identifying an external service and information relating to an acquisition method for acquiring information of a folder from the external service, for each of a plurality of the external services respectively including the folder for storing electronic data; a receiving unit for the service providing device to receive, from a device connected to the information processing system via a network, a request to acquire, from a first external service among the plurality of the external services, the information of the folder included in the first external service; an identification unit for the service providing device to identify the acquisition method for acquiring the information of the folder from the first external service, based on the information relating to the acquisition method for acquiring the information of the folder stored in the first storage unit in association with the identification information identifying the first external service relating to the request, when the request is received by the receiving unit; a first acquisition unit for the external service cooperation device to acquire the information of the folder from the first external service, based on the acquisition method identified by the identification unit; and a sending unit for the service providing device to send the information of the folder acquired by the first acquisition unit, to the device that is a request source of the request. When the acquisition method identified by the identification unit is a first acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, the first acquisition unit acquires, from the first external service, the information of folders in a hierarchy of a specified folder and in a predetermined number of hierarchies lower than the hierarchy of the specified folder, and when the acquisition method identified by the identification unit is a second acquisition method of acquiring, from the external service, information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder, the first acquisition unit acquires, from the first external service, the information of folders in a hierarchy of a specified folder and in all hierarchies lower than the hierarchy of the specified folder. 
     Note that the scan distribution unit  23  is an example of a receiving unit. The acquisition method identification unit  22  is an example of an identification unit. The scan distribution unit  23  and the folder information acquisition unit  33  are an example of a first acquisition unit. The storage service information storage unit  35  is an example of a first storage unit. The cache information storage unit  25  is an example of a second storage unit and a third storage unit. 
     According to one embodiment of the present invention, an information processing system, an information processing apparatus, and an information processing method are provided, which are capable of enabling the comfortable usage by a user who is using an external service. 
     The information processing system, the information processing apparatus, and the information processing method are not limited to the specific embodiments described herein, and variations and modifications may be made without departing from the spirit and scope of the present invention. 
     The present application is based on and claims the benefit of priority of Japanese Priority Patent Application No. 2014-216262, filed on Oct. 23, 2014 and Japanese Priority Patent Application No. 2015-181195, filed on Sep. 14, 2015, the entire contents of which are hereby incorporated herein by reference.