Control device

A control device for a function execution apparatus includes: a determination unit which, when a target function is selected from the plurality of functions, determines whether the function execution apparatus can execute the target function by using first data, based on the target function; and a processing execution unit which, when the function execution apparatus can execute the target function by using the first data, executes first processing for enabling the function execution apparatus to execute the target function by using the first data, and when the function execution apparatus is unable to execute the target function by using the first data, executes second processing for supplying second data to the function execution apparatus for enabling the function execution apparatus to execute the target function by using the second data converted from the first data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from Japanese Patent Application No. 2012-124821 filed on May 31, 2012, the entire subject matter of which is incorporated herein by reference.

TECHNICAL FIELD

The invention relates to a control device for a function execution apparatus configured to execute a plurality of functions.

BACKGROUND

There have been disclosed an MFP that refers to an extension of a file name of a file attached to a received electronic mail and determines whether the attached file has a format that can be printed by the MFP. When the attached file does not have a format that can be printed by the MFP, the MFP requests a server to convert the attached file.

SUMMARY

Illustrative aspects of the invention provide a technology for enabling a function execution apparatus, which is configured to execute a plurality of functions, to appropriately execute its function by using data.

According to one illustrative aspect of the invention, there is provided a control device for a function execution apparatus configured to execute a plurality of functions. The control device comprises: a processor; and memory storing instructions that, when executed by the processor, causing the control device to operate as: a determination unit and a processing execution unit. The determination unit is configured to, when a target function is selected from the plurality of functions, determine whether the function execution apparatus is able to execute the target function by using first data, based on the target function. When it is determined that the function execution apparatus is able to execute the target function by using the first data, the processing execution unit is configured to execute first processing for supplying the first data to the function execution apparatus for enabling the function execution apparatus to execute the target function by using the first data. When it is determined that the function execution apparatus is unable to execute the target function by using the first data, the processing execution unit is configured to execute second processing, which is different from the first processing, for supplying second data to the function execution apparatus for enabling the function execution apparatus to execute the target function by using the second data that is converted from the first data.

DETAILED DESCRIPTION

According to the above-described related-art technology, a situation where the MFP executes a function other than the printing by using the received attached file is not considered.

Therefore, illustrative aspects of the invention provide a technology for enabling a function execution apparatus, which is configured to execute a plurality of functions, to appropriately execute its function by using data.

According to a first illustrative aspect of the invention, there is provided a control device for a function execution apparatus configured to execute a plurality of functions. The control device comprises: a processor; and memory storing instructions that, when executed by the processor, causing the control device to operate as: a determination unit and a processing execution unit. The determination unit is configured to, when a target function is selected from the plurality of functions, determine whether the function execution apparatus is able to execute the target function by using first data, based on the target function. When it is determined that the function execution apparatus is able to execute the target function by using the first data, the processing execution unit is configured to execute first processing for supplying the first data to the function execution apparatus for enabling the function execution apparatus to execute the target function by using the first data. When it is determined that the function execution apparatus is unable to execute the target function by using the first data, the processing execution unit is configured to execute second processing, which is different from the first processing, for supplying second data to the function execution apparatus for enabling the function execution apparatus to execute the target function by using the second data that is converted from the first data.

In the above configuration, the control device determines whether the function execution apparatus is able to execute the target function by using the first data, based on the target function selected by the user from the plurality of functions, and executes the processing (e.g., the first processing, the second processing) depending on a result of the determination. As a result, the function execution apparatus can appropriately execute the target function selected by the user.

According to a second illustrative aspect of the invention, when the target function is a first function, the determination unit is configured to determine that the function execution apparatus is able to execute the target function by using the first data, irrespective of a data format of the first data. When the target function is a second function that is different from the first function, the determination unit is configured to determines whether the function execution apparatus is able to execute the target function by using the first data based on the data format of the first data in combination with the target function.

According to the above configuration, when the target function is the first function, the determination unit can appropriately determine that the function execution apparatus is able to execute the target function. Further, when the target function is the second function, the determination unit can appropriately determine whether the function execution apparatus is able to execute the target function, further based on the data format of the first data.

According to a third illustrative aspect of the invention, the instructions that, when executed by the processor, causes the control device to operate as a first storage unit configured to store format information relating to a data format with which the function execution apparatus is able to execute the function, for each of the plurality of functions. When the target function is the second function, the determination unit is configured to compare a data format, which is indicated by the format information of the second function in the first storage unit, and a data format of the first data so as to determine whether the function execution apparatus is able to execute the target function by using the first data.

According to the above configuration, when the target function is the second function, the determination unit can appropriately determine whether the function execution apparatus is able to execute the target function by using the first data.

According to a fourth illustrative aspect of the invention, the first function is a function that the function execution apparatus stores the first data in a storage medium set in the function execution apparatus.

In the above configuration, the function execution apparatus is able to execute the first function of storing the first data in the storage medium, irrespective of the data format of the first data.

According to a fifth illustrative aspect of the invention, the control device is configured to communicate with a data storage server, which stores the first data, through a network. The first processing comprises transmitting first location information, which indicates a location of the first data in the data storage server, to the function execution apparatus for enabling the function execution apparatus to acquire the first data from the data storage server.

According to the above configuration, since the function execution apparatus is able to acquire the first data from the data storage server by using the first location information, the function execution apparatus is able to execute the target function by using the first data.

According to a sixth illustrative aspect of the invention, the control device is independently configured from the function execution apparatus. The control device is configured to communicate with a data storage server, which stores the first data, through a network. The control device further comprises: a reception unit configured to receive first location information, which indicates a location of the first data in the data storage server, from the data storage server; and a second storage unit configured to store second location information, which indicates a location of a conversion device, the conversion device being configured to execute conversion processing of converting the first data to generate the second data. The second processing comprises transmitting the first location information and the second location information to the function execution apparatus such that the function execution apparatus enables the conversion device to execute the conversion processing.

According to the above configuration, since the function execution apparatus is able to acquire the second data from the conversion device, the function execution apparatus is able to execute the target function by using the second data.

According to a seventh illustrative aspect of the invention, the processing execution unit is configured to generate a third location information by combining the first location information and the second location information and to execute the second processing comprising transmitting the third location information to the function execution apparatus.

A control method and a computer program for implementing the above control device and a computer-readable storage medium storing therein the computer program are also novel and useful.

Exemplary embodiments of the invention will now be described with reference to the drawings.

(Configuration of Communication System)

As shown inFIG. 1, a communication system2includes an MFP (Multi-Function Peripheral)10, a relay server50, a conversion server90and a data storage server92. The MFP10is connected to a LAN8. The respective servers50,90,92are connected to the Internet6. Accordingly, the relay server50is connected in communication with the MFP10through the LAN8and the Internet6. Further, the MFP10is connected to a PSTN (Public Switched Telephone Networks)4. The MFP10is connected in FAX communication with an external apparatus through the PSTN4. Incidentally, the number of the conversion server90and data storage server92included in the communication system2is not particularly limited. The communication system2may have a plurality of conversion servers and a plurality of data storage servers.

The MFP10is configured to execute multi-functions such as printing function, display function, color FAX function, monochrome FAX function, data storing function to a medium and the like. The MFP10includes an operation unit12, a display unit14, a print execution unit16, a PSTN interface18, a media storage unit20, a scan execution unit24, a LAN interface26and a control unit30. The operation unit12includes a plurality of keys. A user can input a variety of instructions into the MFP10by operating the operation unit12. The display unit14is a display for displaying a variety of information. The print execution unit16includes a printing mechanism such as inkjet and laser ways. The media storage unit20includes a slot configured to receive a storage medium such as memory card, USB memory and the like. The scan execution unit24includes a scan mechanism such as CCD, CIS and the like. The PSTN interface18is an interface with which the MFP10performs communication through the PSTN4. The LAN interface26is an interface with which the MFP10performs communication through the LAN8.

The control unit30includes a CPU32and a memory34. The CPU32executes a variety of processing in response to programs (for example, function execution program38) stored in the memory34. The CPU32executes the various processing in response to the function execution program38, so that the printing function, display function, color FAX function, monochrome FAX function, data storing function to a medium, Internet connection function and the like are implemented.

The printing function is a function of printing an image, which is expressed by data of a print target, on a printing medium.

The display function is a function of displaying an image, which is expressed by data of a display target, on the display unit14. The color FAX function is a function of communicating (transmitting or receiving) FAX data, which expresscs a color image, through the PSTN4. The monochrome FAX function is a function of communicating (transmitting or receiving) FAX data, which expresses a monochrome image, through the PSTN4. Incidentally, in the below, the function of transmitting the FAX data is referred to as ‘FAX transmission function’ and the function of receiving the FAX data is referred to as ‘FAX reception function.’ The data storing function to a medium is a function of storing data into a storage medium set in the media storage unit20. The Internet connection function is a function of acquiring data from an external apparatus (for example, data storage server92) or transmitting data to the external apparatus through the Internet6.

The memory34further stores model information36(e.g., ‘MFP123’) of the MFP10. The memory34beforehand stores the model information36at the time of shipment of the MFP10. The model information36is information for specifying a model of the MFP10. The model information36is not inherent to the MFP10only. That is, the same model information36is provided to the same model as the MFP10.

The relay server50is a server that is separately configured from the MFP10and the servers90,92. The relay server50is a server for relaying provision of data from the data storage server92to the MFP10. The relay server50is a server that is provided by a vendor of the MFP10.

The relay server50includes a network interface52and a control unit60. The network interface52is an interface with which the relay server50performs communication through the Internet6. The control unit60includes a CPU62and a memory70. The memory70includes a ROM, a RAM and the like. The CPU62executes a variety of processing in response to a program72stored in the memory70. The CPU62executes the various processing in response to the program72, so that functions of respective units80to84are implemented. The memory70further stores a model correspondence table74and a URL information table76.

(Configuration of Model Correspondence Table74)

As shown inFIG. 2, model information (for example, MFP123, MFP456and the like) of a communication device (for example, MFP10and the like) and a plurality of format information (for example, jpeg, tiff and the like) corresponding to a plurality of functions, which can be executed by the communication device, are stored in association with each other in a model correspondence table74. Each format information indicates a data format that the communication device is able to execute a function corresponding thereto. For example, the MFP (for example, MFP10) that is a model specified by the model information ‘MFP123’ is able to execute the display function by using the data format ‘jpeg’ (which is an abbreviation of ‘Joint Photographic Experts Group’) and the printing function by using data having the data format ‘pwg (which is an abbreviation of ‘Printer Working Group’)-raster.’ Incidentally, ‘tiff’ is an abbreviation of Tagged Image File Format, ‘PNG’ is an abbreviation of ‘Portable Network Graphics’ and ‘PDF’ is an abbreviation of Portable Document Format. The model information table74is stored in the memory70by the vendor of the MFP10. The vendor of the MFP10updates the model correspondence table74when the vendor manufactures an MFP of a new model.

(Configuration of URL Information Table76)

As shown inFIG. 3, an original data format, a converted data format and a conversion server URL are stored in association with each other in a URL information table76. The original data format indicates a data format of data before conversion. The converted data format indicates a data format of data after conversion. The conversion server URL is a URL of a conversion server that is able to execute conversion processing of converting data before conversion having the original data format into converted data having the converted data format. For example, a URL of a conversion server that is able to convert data having a data format ‘PNG’ into data having a data format ‘jpeg’ is ‘http://trans-ZZZ.com/png2jpeg’ that is associated with the original data format ‘PNG’ and the converted data format ‘jpeg.’

(Configuration of Conversion Server90)

The conversion server90is allotted with a URL ‘http://trans-ZZZ.com’ indicating a location on the Internet6. The conversion server90is a server for converting a data format of data that is received from the external apparatus. For example, the conversion server90converts data having a data format that is unable to be interpreted by the MFP10into data having a format that can be interpreted by the MFP10. The conversion server90is a server that is provided by the vendor of the MFP10. On the other hand, the conversion server90may not be a server that is provided by the vendor of the MFP10.

(Configuration of Data Storage Server92)

The data storage server92is a server for storing data, which is acquired from the communication device (for example, MFP10,

PC and the like), and providing the stored data to the communication device. The data storage server92is not a server that is provided by the vendor of the MFP10. On the other hand, the data storage server92may be a server that is provided by the vendor of the MFP10. The data storage server92may be a well-known server such as ‘Evernote (registered trademark)’, ‘Google (registered trademark) Docs’, ‘Picasa (registered trademark)’ and ‘facebook (registered trademark)’, for example. Incidentally, the data storage server92is allotted with a URL ‘http://abc.com’ indicating a location on the Internet6.

When a user of the MFP10wants to upload or download a data file to or from the data storage server92by using the MFP10, the user inputs a user ID and a password, which are registered in the data storage server92, into the MFP10. When the data storage server92receives the user ID and password from the MFP10, the data storage server92executes authentication processing. When the authentication is successful, the data storage server92permits the upload or download of the data file from the MFP10to the data storage server92.

For example, the user of the MFP10can upload one or more data files to the data storage server92by using the MFP10. Further, the user of the MFP10can download the uploaded data file from the data storage server92by using the MFP10. The data storage server92generates a content ID, which is identification information of the uploaded data file, and a content URL, which indicates a location of the corresponding data file in the data storage server92. Further, the data storage server92generates thumbnail data and a thumbnail URL, which indicates a location of the thumbnail data in the data storage server92by using the original data included in the uploaded data file. The thumbnail data is data expressing a thumbnail image having a size smaller than an original image expressed by the original data. The data storage server92stores a user ID, a content ID, a content URL, a data file, thumbnail data and a thumbnail URL in association with each other.

(Conversion Determining Processing that is Executed by Relay Server50)

Subsequently, conversion determining processing that is executed by the control unit60of the relay server50is described with reference toFIGS. 4 and 5. The control unit60monitors whether a command is received from the communication device (for example, MFP10). When it is detected that a command is received from the communication device (for example, MFP10), the control unit60starts processing ofFIG. 4. In S2, the control unit60determines whether the command received from the communication device (for example, MFP10) is a thumbnail request.

For example, the user of the MFP10operates the operation unit12to thus select a data storage server. Subsequently, the user of the MFP10selects the display function for displaying a thumbnail image from the plurality of functions that is to be executed by the MFP10. When the display function for displaying a thumbnail image is selected, the MFP10displays an input screen of a user ID and a password on the display unit14. The user can input a user ID and a password by operating the operation unit12. When a user ID and a password are input, the MFP10transmits the input user ID and password to the data storage server92. When the user ID and the password are received from the MFP10, the data storage server92executes authentication processing and transmits an authentication result to the MFP10. When the received authentication result indicates that the authentication is successful, the MFP10transmits a thumbnail request to the relay server50. Incidentally, in the below, the user ID (e.g., the user ID of the user of the MFP10) that is used for the authentication processing is referred to as ‘target user ID.’

When the thumbnail request is not received (NO in S2), the control unit60proceeds to S18ofFIG. 5. On the other hand, when the thumbnail request is received (YES in S2), the control unit60transmits a thumbnail information list request to the data storage server92(S4). The thumbnail request includes the model information (for example, ‘MFP123’) of the communication device (for example, the MFP10). In the below, the descriptions are continued while exemplifying a case where the thumbnail request is received from the MFP10.

When the thumbnail information list request is received, the data storage server92transmits the thumbnail information list to the relay server50. The thumbnail information list includes a plurality of thumbnail information. Each thumbnail information includes a content ID, which is associated with the target user ID, a thumbnail URL, which is associated with the content ID, and a data format of thumbnail data, which is associated with the content ID.

In S6, a reception unit84receives the thumbnail information list from the data storage server92. Then, in S8, a determination unit80determines whether the MFP10is able to execute the display function of a thumbnail image. Specifically, the determination unit80specifies a format information (e.g., ‘beg’) corresponding to the display function, which is recorded in the model correspondence table74(refer toFIG. 2) in association with the model information (e.g., ‘MFP123’) received in S2. Then, the determination unit80selects one thumbnail information from one or more thumbnail information included in the thumbnail information list. The determination unit80determines whether a data format included in the selected thumbnail information is jpeg' or not. When a data format included in the selected thumbnail information is jpeg' (YES in S8), the control unit60proceeds to S14. On the other hand, when a data format included in the selected thumbnail information is not ‘jpeg’ (NO in S8), the control unit60proceeds to S10.

In S10, a processing execution unit82generates a URL for conversion. The URL for conversion is a URL for enabling the conversion server90to convert the data format of the thumbnail data, which is specified by the thumbnail URL included in the selected thumbnail information, into the data format ‘jpeg’ of the format information specified in S8. Specifically, the processing execution unit82first specifies a conversion server URL from the URL information table76(refer toFIG. 3). The specified conversion server URL is a URL (for example, http://trans-ZZZ.com/png2jpeg) that is associated with the original data format, which indicates the data format included in the selected thumbnail information, and the converted data format indicating the data format ‘jpeg’ specified from the model information table74in S8. Then, the processing execution unit82generates a URL for conversion (for example, http://trans-ZZZ.com/png2jpeg?src=http://abc.com/datalthumb.png) by using the specified conversion server URL (for example, http://trans-ZZZ.com/png2jpeg) and a thumbnail URL (for example, http://abc.com/datalthumb.png) included in the selected thumbnail information. That is, the processing execution unit82generates the URL for conversion by combining the conversion server URL and the thumbnail URL.

Then, in S12, the processing execution unit82replaces the thumbnail URL included in the selected thumbnail information with the URL for conversion generated in S10. In S14, the processing execution unit82determines whether the processing of S8to S12has been executed for all the thumbnail information included in the thumbnail information list received in S6. When the thumbnail information for which the processing of S8to S12has not been executed is included in the thumbnail information list (NO in S14), the control unit60returns to S8and one thumbnail information that has not been selected is selected.

On the other hand, when the processing of S8to S12has been executed for all the thumbnail information (YES in S14), the processing execution unit82transmits a URL list in which the respective URLs (which may include the URL for conversion and the thumbnail URL) and the respective content IDs are associated with each other to the MFP10that is a transmission source of the thumbnail request of S2and ends the processing.

When the URL list is received from the relay server50, the MFP10designates each URL included in the URL list as a transmission destination and transmits the thumbnail request. When the URL designated as the transmission destination is a thumbnail URL, the thumbnail request is transmitted to the data storage server92. In this case, the data storage server92transmits the thumbnail data corresponding to the thumbnail URL to the MFP10. On the other hand, when the URL designated as the transmission destination is a URL for conversion, the thumbnail request is transmitted to the conversion server90. In this case, the conversion server90designates the thumbnail URL designated using the URL for conversion as the transmission destination and transmits the thumbnail request to the data storage server92. Then, the conversion server90receives the thumbnail data corresponding to the thumbnail URL from the data storage server92. Then, the conversion server90converts a format of the thumbnail data. The conversion server90transmits the converted data to the MFP10. When the thumbnail data or converted data is received, the MFP10displays an image, which is expressed by the thumbnail data or converted data, on the display unit12. The display unit12displays one or more thumbnail images, which are expressed by one or more thumbnail data or converted data, on one screen.

In S18, the control unit60determines whether the command received from the communication device (for example, the MFP10) is a function execution instruction including a content ID and function information. For example, the user of the MFP10operates the operation unit12to thus select one thumbnail image from one or more thumbnail images displayed on the display unit14. Further, the user of the MFP10operates the operation unit12to thereby select one function from the printing, color FAX transmission, monochrome FAX transmission, media storing and display functions (in the below, the function selected by the user is referred to as ‘target function’). In this case, the MFP10transmits a function execution instruction including the content ID, which corresponds to the thumbnail data of the thumbnail image selected by the user, and the function information indicating a type of the target function. In the below, the descriptions are continued while exemplifying a case where the function execution instruction is received from the MFP10.

When the received command is not a function execution instruction (NO in S18), the control unit60executes processing (for example, update of the model correspondence table74) in response to the command received in S18and ends the processing. On the other hand, when the received command is a function execution instruction (YES in S18), the control unit60transmits a content information request to the data storage server92(S20). The content information request includes the content ID (hereinafter, referred to as ‘target content ID’) included in the function execution instruction.

When the content information request is received from the relay server50, the data storage server92specifies a data format of the data file that is associated with the target content ID included in the content information request. Then, the data storage server92transmits content information including the specified data format and the content URL associated with the target content ID to the relay server50.

In S22, the reception unit84receives the content information transmitted from the data storage server92. Then, in S24, the determination unit80determines whether a type of the target function is the media storing function. When the target function is the media storing function (YES in S24), the control unit60proceeds to S44.

When a type of the target function is not the media storing function (NO in S24), the determination unit80determines whether a type of the target function is the color FAX transmission function (S26). When a type of the target function is the color FAX transmission function (YES in S26), the determination unit80determines whether the MFP10is able to execute the color FAX transmission function by using the data file that is stored in the data storage server92in association with the target content ID (S28). Specifically, the determination unit80first specifies format information (e.g., jpeg') corresponding to the color FAX associated with the model information (e.g., ‘MFP123’) received in S2from the model correspondence table74(refer toFIG. 2). Then, the determination unit80determines whether the data format received in S22coincides with the data format jpeg' indicated by the specified format information. When they coincide (YES in S28), the control unit60proceeds to S44. Otherwise, the control unit60proceeds to S40.

On the other hand, when a type of the target function is not the color FAX transmission function (NO in S26), the determination unit80determines whether a type of the target function is the monochrome FAX transmission function (S30). When the target function is the monochrome FAX transmission function (YES in S30), the determination unit80determines whether the MFP10is able to execute the monochrome FAX transmission function by using the data file that is stored in the data storage server92in association with the target content ID (S32). Specifically, the determination unit80first specifies format information (e.g., ‘tiff’) corresponding to the monochrome FAX associated with the model information (e.g., ‘MFP123’) received in S2from the model correspondence table74(refer toFIG. 2). Then, the determination unit80determines whether the data format received in S22coincides with the data format ‘tiff’ indicated by the specified format information. When they coincide (YES in S32), the control unit60proceeds to S44. Otherwise, the control unit60proceeds to S40.

On the other hand, when a type of the target function is not the monochrome FAX transmission function (NO in S30), the determination unit80determines whether a type of the target function is the display function (S34). When a type of the target function is the display function (YES in S34), the determination unit80determines whether the MFP10is able to execute the display function by using the data file that is stored in the data storage server92in association with the target content ID (S36). Specifically, the determination unit80first specifies format information (e.g., jpeg') corresponding to the display associated with the model information (e.g., ‘MFP123’) received in S2from the model correspondence table74(refer toFIG. 2). Then, the determination unit80determines whether the data format received in S22coincides with the data format jpeg' indicated by the specified format information. When they coincide (YES in S32), the control unit60proceeds to S44. Otherwise, the control unit60proceeds to S40.

On the other hand, when a type of the target function is not the display function (NO in S34), the type of the target function is the printing function. In this case, in S38, the determination unit80determines whether the MFP10is able to execute the printing function by using the data file that is stored in the data storage server92in association with the target content ID. Specifically, the determination unit80first specifies format information (e.g., ‘pwg-raster’) corresponding to the printing associated with the model information (e.g., ‘MFP123’) received in S2from the model correspondence table74(refer toFIG. 2). Then, the determination unit80determines whether the data format received in S22coincides with the data format ‘pwg-raster’ indicated by the specified format information. When they coincide (YES in S32), the control unit60proceeds to S44. Otherwise, the control unit60proceeds to S40.

In S40, the processing execution unit82generates a URL for conversion. Specifically, the processing execution unit82first specifies a conversion server URL from the URL information table76(refer toFIG. 3). The specified conversion server URL is a URL (for example, http://trans-ZZZ.com/png2jpeg) that is associated with the original data format, which indicates the data format included in the content information received in S22, and the converted data format indicating the data format specified from the model correspondence table74in any one of S28, S32, S36and S38. Then, the processing execution unit82generates a URL for conversion (for example, http://trans-ZZZ.com/png2jpeg?src=http://abc.com/data1.png) by using the specified conversion server URL and the content URL (for example, http://abc.com/data1.png) included in the content information received in S22. That is, the processing execution unit82generates the URL for conversion by combining the conversion server URL and the content URL.

In S42, the processing execution unit82transmits the

URL for conversion generated in S40to the communication device (for example, the MFP10) that is a transmission source of the function execution instruction and ends the processing. Incidentally, in S44, the processing execution unit82transmits the content URL to the MFP10that is a transmission source of the function execution instruction and ends the processing. That is, when a type of the target function is the media storing function (YES in S24), the determination unit80determines that the MFP10is able to execute the media storing function by using the data file, irrespective of the data format of the data file. On the other hand, when a type of the target function is a function other than the media storing function (YES in S26, S30or S34), the determination unit80determines whether the MFP10is able to execute the target function by using the data file, based on the data format of the data file in addition to the type of the target function (S28, S32, S36and S38). When it is determined that the MFP10is able to execute the target function by using the data file (YES in S24, S28, S32, S36or S38), the processing execution unit82executes the processing of S44. On the other hand, when it is determined that the MFP10is unable to execute the target function by using the data file (NO in S28, S32, S36or S38), the processing execution unit82executes the processing of S40and S42′.

When the content URL or URL for conversion is received from the relay server50, the MFP10designates the received URL as a transmission destination and transmits a data request. When the URL designated as a transmission destination is the content URL, the data request is transmitted to the data storage server92. In this case, the data storage server92transmits the data file corresponding to the content URL to the MFP10. On the other hand, when the URL designated as a transmission destination is the URL for conversion, the data request is transmitted to the conversion server90. In this case, the conversion server90designates the content URL specified using the URL for conversion as a transmission destination and transmits the data request to the data storage server92. Then, the conversion server90receives the data file associated with the content URL from the data storage server92. Then, the conversion server90converts the format of the data file. The conversion server90transmits the converted data file to the MFP10. When the data file is received, the MFP10executes the target function by using the data file.

(Cases where Functions to be Executed by MFP10are Different)

In the below, the processing of the respective apparatuses10,50,90,92are described in four cases where the functions that the MFP10is to execute are different with reference toFIGS. 6 to 9.

A first case is a case where the target function is the display function for displaying a thumbnail image. The user of the MFP10operates the operation unit12to thus input the user ID and password, which are beforehand registered in the data storage server92, into the MFP10. The MFP10transmits the input user ID and password to the data storage server92.

When the user ID and password are received, the data storage server92executes the authentication processing and transmits an authentication result, which indicates that the authentication is successful, to the MFP10. Thereby, the data storage server92is able to provide the data file, which is beforehand uploaded by the user of the MFP10, as requested.

When the authentication result indicating that the authentication is successful is received, the MFP10transmits a thumbnail request to the relay server50. Incidentally, the thumbnail request includes the model information of the MFP10. When the thumbnail request is received (YES in S2ofFIG. 4), the relay server50transmits a thumbnail information list request to the data storage server92(S4inFIG. 4). When the thumbnail information list request is received, the data storage server92transmits a thumbnail information list to the relay server50.

When the thumbnail information list is received (S6inFIG. 4), the relay server50determines whether each data format of one or more thumbnail information included in the thumbnail information list coincides with the data format (e.g., jpeg) that the MFP10is able to display (S8inFIG. 4). In the first case, it is determined that the data format included in at least one thumbnail information does not coincide with the data format that the MFP10is able to display (NO in S8ofFIG. 4).

The relay server50generates a URL for conversion by using the thumbnail URL of the thumbnail information including the data format for which NO is determined in S8ofFIG. 4and the URL information table76(S10inFIG. 4). Then, the relay server50replaces the thumbnail URL of the thumbnail information with the URL for conversion (S12inFIG. 4). When the processing of S8to S12ofFIG. 4is executed for all the thumbnail information included in the thumbnail information list, the relay server50transmits a URL list including URLs and content IDs to the MFP10(S16inFIG. 4).

When the URL list is received from the relay server50, the MFP10designates each URL included in the URL list as a transmission destination and transmits the thumbnail request. When the URL for conversion (for example, http://trans-ZZZ.com/png2jpeg?src=http://abc.com/datalthumb.png) is designated as a transmission destination, the thumbnail request is transmitted to the conversion server90. When the thumbnail request is received, the conversion server90acquires the thumbnail data from the data storage server92by using the URL for conversion. Specifically, the conversion server90interprets a character string (for example, http://abc.com/datalthumb.png), which is described at a position after ‘src=’ of the URL for conversion, as a thumbnail URL, designates the thumbnail URL as a transmission destination and transmits a thumbnail data request to the data storage server92.

When the thumbnail data request is received, the data storage server92transmits the thumbnail data, which is associated with the thumbnail URL included in the thumbnail data request, to the conversion server90.

When the thumbnail data is received from the data storage server92, the conversion server90executes the format conversion of converting the data format (for example, from data of the PNG format into data of the jpeg format), based on the character string (for example, ‘png2jpeg’) described at a predetermined position of the URL for conversion (for example, http://trans-ZZZ.com/png2jpeg?src=http://abc.com/datalthumb.png). Then, the conversion server90transmits the converted thumbnail data to the MFP10. When the thumbnail data is received, the MFP10displays a thumbnail image, which is expressed by the thumbnail data, on the display unit14.

According to the above configuration, the MFP10enables the conversion server90to execute the format conversion of converting the data format of the thumbnail data by using the URL for conversion.

As a result, the MFP10is able to acquire the converted thumbnail data. Therefore, the MFP10is able to execute the display function of the thumbnail image by using the converted thumbnail data.

On the other hand, when the thumbnail URL (for example, http://abc.com/data2thumb.png) is designated as a transmission destination, the thumbnail request is transmitted to the data storage server92. When the thumbnail request is received, the data storage server92transmits the thumbnail data corresponding to the thumbnail

URL included in the thumbnail request to the MFP10. When the thumbnail data is received, the MFP10displays a thumbnail image, which is expressed by the thumbnail data, on the display unit14.

According to the above configuration, the MFP10is able to acquire the thumbnail data from the data storage server92by using the thumbnail URL. Therefore, the MFP10is able to execute the display function of the thumbnail image by using the thumbnail data.

The MFP10executes the transmission of the thumbnail request, the reception of the thumbnail data and the display of the thumbnail image for each of one or more URLs included in the URL list.

Thereby, one or more thumbnail images are displayed on the display unit14.

In a second case, the target function is the display function for displaying a thumbnail image, like the first case. In the second case, the processing is the same as that of the first case until the processing of S6ofFIG. 4is executed. However, in the second case, it is determined that all the data formats included in the thumbnail information list coincide with the data format that the MFP10is able to display (YES in S8ofFIG. 4). In this case, the relay server50skips over the processing of S10and S12ofFIG. 4and transmits the URL list including the thumbnail URLs of the thumbnail information list and the content IDs to the MFP10(S16inFIG. 4).

When the URL list is received, the MFP designates each URL included in the URL list as a transmission destination and transmits a thumbnail request. One or more thumbnail requests are transmitted to the data storage server92. Whenever the thumbnail data is received from the data storage server92, the MFP10displays a thumbnail image, which is expressed by the thumbnail data, on the display unit14. Thereby, one or more thumbnail images are displayed on the display unit14.

According to the above configuration, the MFP10is able to acquire the thumbnail data from the data storage server92by using the thumbnail URL. Therefore, the MFP10is able to execute the display function of the thumbnail image by using the thumbnail data.

A third case starts from a state where one or more thumbnail images are displayed on the display unit14of the MFP10(e.g., the third case continues from the first or second case).

The user of the MFP10can select one thumbnail image from one or more thumbnail images displayed on the display unit14by operating the operation unit12. Further, the user of the MFP10can select a function that the MFP10is to execute by operating the operation unit12. In the third case, the target function is the media storing function. Incidentally, the user sets a storing medium in the media storage unit20of the MFP10.

The MFP10transmits a function execution instruction, which includes a content ID associated with the thumbnail data of the thumbnail image selected by the user and function information indicating the media storing function, to the relay server50.

When the function execution instruction is received (YES in S18ofFIG. 5), the relay server50transmits a content information request, which includes the content ID (e.g., target content ID) included in the function execution instruction, to the data storage server92(S20inFIG. 5).

When the content information request is received, the data storage server92specifies a data format of the data file associated with the target content ID. Then, the data storage server92transmits the content information, which includes the specified data format and the content URL associated with the target content ID, to the relay server50.

When the content information is received (S22inFIG. 5), the relay server50determines YES in S24ofFIG. 5. Then, the relay server50transmits the content URL included in the content information to the MFP10(S44inFIG. 5).

When the content URL is received, the MFP10designates the content URL as a transmission destination and transmits a data request to the data storage server92. The data storage server92transmits the data file, which is associated with the content URL included in the data request, to the MFP10. When the data file is received, the MFP10stores the data file in the storing medium set in the media storage unit20.

In the third case, the MFP10executes the media storing function to thus store the data file, which is received from the data storage server92, into the storing medium. In the media storing function, it is not necessary for the MFP10to interpret the data that is included in the data file received from the data storage server92. Therefore, the MFP10is able to execute the media storing function, irrespective of the data format of the data included in the data file. Hence, when the function to be executed by the MFP10is the media storing function, the relay server50can determine that the MFP10is able to execute the media storing function, without referring to the data format of the data (e.g., data file associated with the target content ID) becoming the execution target of the function.

Further, the MFP10is able to acquire the data file from the data storage server92by using the content URL. Therefore, the

MFP10is able to execute the media storing function by using the data file.

A fourth case starts from a state where one or more thumbnail images are displayed on the display unit14of the MFP10(e.g., the fourth case continues from the first or second case). Like the third case, the MFP10transmits a function execution instruction to the relay server50. In the fourth case, the target function is the printing function.

In the fourth case, the processing is the same as that of the third case until the relay server50receives the content information from the data storage server92(S22ofFIG. 5).

The relay server50determines NO in S24, S26, S30and

S34by using the function information received from the MFP10. Therefore, the relay server50determines whether the data format included in the content information is a data format with which the MFP10is able to execute the printing function, by using the model correspondence table74(S38inFIG. 5). When a result of the determination in S38is NO, the relay server50generates a URL for conversion by using the content URL included in the content information and the URL information table76(S40inFIG. 5). Then, the relay server50transmits the generated URL for conversion to the MFP10(S42inFIG. 5).

When the URL for conversion is received, the MFP10designates the received URL for conversion as a transmission destination and transmits a data request. The data request is transmitted to the conversion server90. Like the first case, the conversion server90interprets the character string, which is described at the position after ‘src=’ in the URL for conversion, as the content URL. The conversion server90designates the content URL as a transmission destination and transmits the data request to the data storage server92. When the data file is received from the data storage server92, the conversion server90converts the data format, based on the character string described at the predetermined position in the URL for conversion. Then, the conversion server90transmits the converted data file to the MFP10. When the data file is received, the MFP10enables the print execution unit16to print an image, which is expressed by the data included in the data file.

According to the above configuration, the MFP10enables the conversion server90to execute the conversion processing of converting the data format of the data file by using the URL for conversion. As a result, the MFP10is able to acquire the data file including the converted data file. Therefore, the MFP10is able to execute the printing function by using the converted data.

As can be clearly seen from the above, the relay server50determines whether the MFP10is able to execute the target function by using the data stored in the data storage server92, based on the function selected by the user of the MFP10(S24, S26and the like inFIG. 5). The relay server50executes the different processing (S40, S42and S44ofFIG. 5) so that the MFP10executes the target function, depending on the determination result. As a result, the MFP10capable of executing a plurality of functions can appropriately execute the target function.

When a type of the target function is a function other than the media storing function (e.g., the color FAX transmission, the monochrome FAX transmission, the thumbnail display, the display and the printing), the relay server50determines whether the MFP10is able to execute the target function by using the data format of the data file stored in the data storage server92. According to this configuration, the relay server50can appropriately determine whether the MFP10is able to execute the target function. Further, the relay server50can appropriately determine whether the data format stored in the data storage server92is a data format with which the MFP is able to execute the target function, by using the model correspondence table74. Incidentally, when a type of the target function is any one of the color FAX transmission and the monochrome FAX transmission and the relay server50determines that the MFP10is unable to execute the target function (NO in S28, S32and S36ofFIG. 5), the same processing as the fourth case is executed in the respective devices10,50,90,92.

Incidentally, the relay server50is an example of the ‘control device’ and the MFP10is an example of the ‘function execution apparatus.’ The media storing function, the color FAX transmission function, the monochrome FAX transmission function, the display function and the printing function are an example of the ‘plurality of functions’, the media storing function is an example of the ‘first function’ and each of the color FAX transmission function, the monochrome FAX transmission function, the display function and the printing function is an example of the ‘second function.’ The data file and thumbnail data stored in the data storage server92are the ‘first data.’ The data converted by the conversion processing of the conversion server90is the ‘second data.’ The memory70is an example of the ‘first storage unit’ and the ‘second storage unit.’ Each of the processing in S16ofFIG. 4and the processing in S44ofFIG. 5is an example of the ‘first processing’ and each of the processing in S10to

S16ofFIG. 4and the processing in S40and S42ofFIG. 5is an example of the ‘second processing.’ Each of the thumbnail URL ‘http://abc.comidata1thumb.png’ and the content URL ‘http://abc.comidata1.png’ is an example of the ‘first location information’ and the URL ‘http://trans-ZZZ.com’ allotted to the conversion server90is an example of the ‘second location information.’ The ‘format information’ is an example of the ‘format information relating to a data format with which the function execution apparatus is able to execute a function.’

Although the exemplary embodiments of the invention have been specifically described, they are just exemplary and do not limit the scope of the claims. The technology defined in the claims includes a variety of modifications and changes to the above exemplary embodiments. For example, following modified exemplary embodiments may be included.

The relay server50includes the memory70. However, the relay server50may have an HDD (Hard Disk Drive) together with or instead of the memory70. In this case, the HDD may store at least one of the respective tables74,76. In this modified exemplary embodiment, the HDD is an example of at least one of the ‘first storage unit’ and the ‘second storage unit.’

In the above-described exemplary embodiments, the communication system2includes the MFP10and the relay server50. However, the relay server50may not be provided. In this case, the control unit30of the MFP10may have the respective tables74,76.

Further, the control unit30may have the determination unit80and the processing execution unit82. In this modified exemplary embodiment, the control unit30may execute following processing, instead of the processing ofFIGS. 4 and 5. When the user selects the display function for displaying a thumbnail image, the thumbnail information list request may be transmitted to the data storage server92without transmitting the thumbnail request (S4inFIG. 4). Then, the processing of S6to S14ofFIG. 4may be executed. That is, the determination unit80of the control unit30may execute the processing of S8. Further, the processing execution unit82of the control unit30may execute the processing of S10to S14. When a result of the determination in S14ofFIG. 4is YES, the processing execution unit82of the control unit30may designate the thumbnail URL or URL for conversion as a transmission destination and transmit the thumbnail request to the data storage server92or conversion server90, instead of the processing of S16. Then, the processing execution unit82may receive the data for executing the display function of the thumbnail image from the data storage server92or conversion server90.

When the user selects a thumbnail image and a target function, the control unit30may transmit the content information request relating to the user selection to the data storage server92without transmitting the function execution instruction (e.g., without executing the processing of S18inFIG. 5) (S20inFIG. 5). Then, the control unit30may execute the processing of S22to S40ofFIG. 5. That is, the determination unit80may execute the processing of S24to

S38. The processing execution unit82may execute the processing of S40. Further, the processing execution unit82may designate the URL for conversion as a transmission destination and transmit the data request, instead of the processing of S42. Further, the processing execution unit82may designate the content URL as a transmission destination and transmit the data request, instead of the processing of S44. In this case, the processing execution unit82may receive the data from the conversion server90or data storage server92.

In this modified exemplary embodiment, each of the processing of designating the thumbnail URL as a transmission destination, transmitting the thumbnail request to the data storage server92and receiving the thumbnail data from the data storage server92and the processing of designating the content URL as a transmission destination, transmitting the data request and receiving the data from the data storage server92is an example of the ‘first processing.’ Further, a combination of the processing of S10to S14and the processing of designating the URL for conversion as a transmission destination, transmitting the thumbnail request and receiving the converted data from the conversion server90is an example of the ‘second processing.’ Further, the processing of S40and the processing of designating the URL for conversion as a transmission destination, transmitting the data request and receiving the converted data from the conversion server90are examples of the ‘second processing.’

In the above-described exemplary embodiments, the communication system2includes the relay server50and the conversion server90. However, the conversion server90may not be provided. In this case, the relay server50may execute the format conversion. In this modified exemplary embodiment, the processing execution unit82may generate the URL for conversion by using the URL allotted to the relay server50in S10ofFIGS. 4and S40ofFIG. 5. In this modified exemplary embodiment, the URL allotted to the relay server50is an example of the ‘second location information.’

Incidentally, in this modified exemplary embodiment, the processing execution unit82may acquire the thumbnail data associated with the thumbnail URL or data file associated with the content URL from the data storage server92, instead of generating the URL for conversion. Then, the processing execution unit82may execute the format conversion for the acquired thumbnail data or data file and generate the converted data. Further, the processing execution unit82may transmit the generated and converted data to the MFP10. In this modified exemplary embodiment, the acquisition of the thumbnail data or data file, the format conversion and the transmission of the converted data are examples of the ‘second processing.’

In the above-described exemplary embodiments, when it is determined that the MFP10is able to execute the target function by using the data stored in the data storage server92, the relay server50transmits the thumbnail URL or content URL to the MFP10. However, the processing execution unit82of the relay server50may acquire the data from the data storage server92by using the thumbnail URL or content URL and transmit the data to the MFP10. Further, when generating the URL for conversion (S10ofFIGS. 4and S40ofFIG. 5), the processing execution unit82may enable the conversion server90to execute the format conversion by using the generated URL for conversion and acquire and transmit the converted data from the conversion server90to the MFP10. In this modified exemplary embodiment, the acquisition and transmission of the data from the data storage server92is an example of the ‘first processing’ and the generation of the URL for conversion, the acquisition of the converted data and the transmission of the converted data are examples of the ‘second processing.’

Alternatively, when the MFP10has already acquired the data from the data storage server92, the processing execution unit82of the relay server50may transmit the function execution instruction for enabling the MFP10to execute the target function by using the corresponding data to the MFP10. In this modified exemplary embodiment, the ‘transmission of the function execution instruction’ is an example of the ‘first processing.’

In the above-described exemplary embodiments, the CPU62of the relay server50executes the processing in response to the program, so that the functions of the respective units80to84are implemented. Instead of this, at least a part of the functions of the respective units80to84may be implemented by hardware such as logical circuit.

In the above-described exemplary embodiments, the model information of the communication device and the plurality of format information corresponding to the plurality of functions that the communication device is able to execute are stored in association with each other in the function correspondence table74. Each format information indicates a data format with which the communication device is able to execute the corresponding function. However, each format information may indicate a data format with which the communication device is unable to execute the corresponding function. In this modified exemplary embodiment, the ‘format information’ is an example of the ‘format information relating to the data format with which the function execution apparatus is able to execute a function.’

The technical elements illustrated in the specification or drawings exhibit the technical availability individually or by a variety of combinations thereof and are not limited to the combinations defined in the claims at the time of filing the application. Further, the technology exemplified in the specification or drawings achieves a plurality of purposes at the same time and the achievement of any one purpose has the technical availability.