Communication apparatus, control method for the communication apparatus, and storage medium

A communication apparatus determines whether a file selected by a file selection unit is of a format analyzable by the communication apparatus. If it is determined that the file selected by the file selection unit is not of the format analyzable by the communication apparatus, the communication apparatus restricts selection of a predetermined protocol included in a plurality of protocols. The communication apparatus further determines whether the protocol selected by a protocol selection unit is a predetermined protocol. If it is determined that the protocol selected by the protocol selection unit is the predetermined protocol, the communication apparatus restricts selection of a file of a format not analyzable by the communication apparatus.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to a communication apparatus capable of communicating in a plurality of protocols, a control method for the communication apparatus, and a storage medium.

Description of the Related Art

In recent years, progress has been made in external media as external storage devices, including their increased storage capacity and easier availability, for example. The external media are able to store data of various data formats, such as images, video, and music data (Japanese Patent Application Laid-Open No. 2008-028556). However, image processing apparatuses, such as multifunction peripherals (MFP), have come to include a function to analyze a file read from an external medium, for example, and to transmit it. With an image processing apparatus of this type, it is impossible to transmit a file of a data format which is not supported by the image forming apparatus. However, with an image forming apparatus which can transmit e-mail and a file according to a file transfer protocol (FTP), because it is not necessary to analyze the content of a file, the image forming apparatus can transmit a file of a data format not supported by the apparatus.

However, a conventional apparatus has the following issue. For example, when a transmission method is selected, such as G3 facsimile (FAX) transmission or Internet FAX transmission, a file needs to be rasterized into image data once in advance. Therefore, there is no other way but to transmit only files in a data format supported by the image processing apparatus as is conventionally done. Since there are restrictions according to a data format and a transmission method as described above, a user's operation becomes cumbersome and complicated.

SUMMARY OF THE INVENTION

The present invention is directed to a communication apparatus which can suitably apply restrictions according to a file format and a communication protocol when data is transmitted to an external apparatus and which can reduce the complexity of a user's operation.

According to an aspect of the present invention, a communication apparatus capable of communicating in a plurality of protocols includes a file selection unit configured to select a file to be transmitted, a protocol selection unit configured to select at least one transmission protocol from the plurality of protocols, a transmission unit configured to transmit the file selected by the file selection unit using the protocol selected by the protocol selection unit, a determination unit configured to determine whether the file selected by the file selection unit is of a format analyzable by the transmission apparatus, and a restriction unit configured to restrict selection of a predetermined protocol included in the plurality of protocols if the determination unit determines that the tile selected by the file selection unit is not of the format analyzable by the communication apparatus.

DESCRIPTION OF THE EMBODIMENTS

FIG. 1is a diagram illustrating a configuration of an image processing apparatus100according to a first exemplary embodiment of the present invention. Components will chiefly be described which are required in describing the first exemplary embodiment. Therefore, the image processing apparatus100according to the first exemplary embodiment may be configured including other components.

As illustrated inFIG. 1, the image processing apparatus100includes a central processing unit (CPU)101, a read-only memory (ROM)102, a random access memory (RAM)103, a media interface (I/F)104, a keyboard105, a display106, a modem/network control unit (NCU)107, and a local area network (LAN) I/F108. Those components can intercommunicate with one another via a bus110. The CPU101reads apparatus operation commands from the ROM102, and issues operation commands to the media I/F104, the modem/NCU107, and the LAN I/F108. The ROM102previously stores various programs executable by the CPU101. The RAM103is used as a work area to execute a program or to store data received from the media I/F104or to transmit data via the modem/NCU107or the LAN I/F108. The media I/F104is an interface configured to be connectable to external media as the external storage devices to exchange data with the external media. The keyboard105is a device to select data displayed on the display106or input commands to the image processing apparatus100. The display106displays information input from the keyboard105or displays data such as a file name acquired via the media I/F104. The modem/NCU107is a unit containing a modem for facsimile transmission and an NCU. The LAN I/F108transmits data to an external apparatus via the LAN109.

Referring toFIG. 2, a procedure by which the image processing apparatus100reads data from an external medium, and transmits the data to an external apparatus connected via the LAN109will be described. A processing to be described below can be implemented when the CPU101reads and executes a program stored in the ROM102.

In step S201, the CPU101detects that an external medium is connected by a user to the media I/F104. In step S202, the CPU101searches the inside of the external medium, generates a list of files (data), and then displays the list of files. Then, in step S203, the CPU101identifies information selected by a user's operation input via the keyboard105. More specifically, the CPU101identifies a plurality of selected files from the list of files displayed in step S202.

In step S204, the CPU101distinguishes all of data formats of the files selected in step S203, and determines whether files have a data format that can be handled by the image processing apparatus100. If all data can be handled in the image processing apparatus100(YES in step S204), the processing proceeds to step S205. If there is at least one data that cannot be handled by the image processing apparatus100(NO in step S204), the processing proceeds to step S206. In step S205, the CPU101displays all data in a table401(a first transmission method and a second transmission method) stored in the RAM103on the display106, as illustrated inFIG. 4, and the processing proceeds to step S207. The table401displays transmission methods defined to correspond to respective destinations. On the other hand, in step S206, the CPU101, referring to a table402as illustrated inFIG. 4, extracts only destinations (the second transmission method) that can be handled in the image processing apparatus100, and displays related data on the display106, and the processing proceeds to step S207. The table402defines whether data needs to be handled in the image processing apparatus100in respective transmission methods.

The first transmission method is a method in which all data can be transmitted regardless of data formats. The first transmission method includes “e-mail”, “file transfer protocol (FTP)”, “Server Message Block (SMB)”. The second transmission method refers to a transmission method capable of transmitting only data of formats that can be handled by the image processing apparatus100. The second transmission method includes “FAX”, “Internet-FAX”, and “transmission to the memory in the apparatus”, for example.

In step S207, the CPU101selects a destination according to a user's operation input via the keyboard105out of destinations indicated on the display106. In step S208, the CPU101starts transmission processing according to the selected destination. In step S209, the CPU101determines whether data transmission to all destinations selected in step S207has been completed. If data has been transmitted to all destinations (YES in step S209), the processing ends. On the other hand, if there is any destination to which data has not been transmitted (NO in step S209), the processing proceeds to step S210.

In step S210, the CPU101extracts one destination, to which transmission has not been made, from among the destinations selected in step S207. In step S211, the CPU101determines whether data needs to be converted when data is transmitted to the destination extracted in step S210. If data needs to be converted (YES in step S211), the processing proceeds to step S212. If data does not need to be converted (NO in step S211), the processing proceeds to step S213. In step S212, the CPU101converts data to be transmitted into a transmittable data format, and stores the converted data in the RAM103, and the processing proceeds to step S213. In step S213, the CPU101, which now functions as a transmission unit, transmits data converted in step S212and stored in the RAM103, or a file (data) selected in step S203and not converted in step S212, to the destination (external apparatus), and the processing returns to step S209.

As described above, a data transmission method in the flowchart inFIG. 2is as follows. A user is made to select a file to transmit from among the files stored in an external storage device. When a file is selected, the user selects a transmission method that can transmit the selected file. The image processing apparatus100determines whether the file is of a data format that cannot be handled by the image processing apparatus100. Then, if the file is of a data format that cannot be handled by the image processing apparatus110, the image processing apparatus100displays only the first transmission method on the display106. If the file is not of the data format that cannot be handled by the apparatus, the image processing apparatus100displays the first and second transmission methods on the display106. In this manner, since available transmission methods are restricted according to a data format of a selected file, and a user is made to select a transmission method, the image processing apparatus100can transmit even data that cannot be handled by the apparatus. In other words, the image processing apparatus100expands types of data that can be transmitted and reduces the complexity of the user's operation.

Referring toFIG. 3, a first modification of the flowchart inFIG. 2will be described. In the flowchart inFIG. 2, the user is previously made to select a file to transmit, and selectable transmission methods are restricted according to the selected file. On the other hand, in the flowchart inFIG. 3, first of all, the user is made to select a transmission method (destination), and selectable files are restricted according to the selected transmission method. The operations similar to those in the flowchart inFIG. 2are designated by the same step numbers used inFIG. 2and their descriptions are not repeated here. The operations in steps S301to S305will be described in the following.

In step S301, the CPU101displays the entirety of the table401stored in the RAM103on the display106, and selects one or more destinations (transmission methods) according to the user's operation via the keyboard105. In step S302, referring to the table402, the CPU101determines whether the destination selected in step S301includes a transmission method in which data needs to be handled by the image processing apparatus100. If the selected destination includes a transmission method in which data needs to be handled by the image processing apparatus100(YES in step S302), the processing proceeds to step S303. If all destinations use transmission methods in which data does not need to be handled by the image processing apparatus100(NO in step S302), the processing proceeds to step S304.

In step S303, the CPU101receives only files, which can be handled by the image processing apparatus100, from an external medium connected to the media I/F104, and displays file names on the display106. On the other hand, in step S304, the CPU101receives all files from an external medium connected to the media I/F104, and displays them on the display106, and the processing proceeds to step S305. In step S305, the CPU101selects one or more files according to a user operation input on the keyboard105from a file list displayed in step S303or S304. Then, as described above, with operations in steps S208to S213, the CPU101transmits all selected files, and the processing then ends.

As described above, in a data transmission method according to the flowchart inFIG. 3, a user is made to select a transmission method when a file stored in an external storage device is transmitted from among transmission methods in which data can be handled by the image processing apparatus100. When a transmission method is selected, the user is made to select a file that can be transmitted by the selected transmission method.

The image processing apparatus100determines whether a transmission method in which data needs to be handled by the image processing apparatus100is included in the selected transmission methods. When a transmission method which requires data to be handled by the image processing apparatus100is included, the image processing apparatus100displays only files that can be handled by the image processing apparatus100on the display106, or if a transmission method requiring data to be handled by the image processing apparatus100is not included, displays all files on the display106. Because the image processing apparatus100restricts transmittable files according to a transmission method selected by the user and then allows the user to select a transmittable file, the image processing apparatus100enables data that cannot be handled by the apparatus to be transmitted. In other words, the image processing apparatus100according to the present exemplary embodiment can expand a range of transmittable data and reduce operational complexity for the user.

Referring toFIG. 5, composed ofFIGS. 5A and 5B, a second modification of the flowchart inFIG. 3will be described. The operations similar to those in the flowchart inFIG. 2are designated by the same step numbers used inFIG. 2and their descriptions are not repeated here. The operations in steps S501to S507will be described. In the flowchart inFIG. 3, the file name list displayed on the display106is restricted to files that can be handled by the image processing apparatus100. However, those file names that fall under this restriction are also displayed and when a file of them is selected, it will be subject to control, which will be described below.

In step S501, the CPU101distinguishes and obtains files that can be handled and files that cannot be handled by the image processing apparatus100from the files stored in an external medium connected to the media I/F104, and displays those file names divided into separate groups on the display106. In step S502, according to a user's operation input via the keyboard105, the CPU101selects a plurality of files from a file name list, which has been divided in step S501. In step S503, the CPU101starts data transmission according to the selected destinations.

In step S504, the CPU101distinguishes all data formats of files selected in step S502, and determines whether the data formats of the files can be handled by the image processing apparatus100. If there is even one file, which cannot be handed by the image processing apparatus100, in all of the selected files, the processing proceeds to step S505, or if all of the selected files are files that can be handled by the image processing apparatus100, the processing proceeds to S209.

In step S505, the CPU101obtains and displays on the display106only destinations which have “NO” as information about whether data needs to be handled by the apparatus in the table402stored in the ROM102. In step S506, the CPU101re-selects one or more files according a user's operation input via the keyboard105from among the files displayed on the display106. In step S507, the CPU101starts data transmission processing according to the re-selected destinations.

As described above, the method of data transmission in the flowchart inFIG. 5is summarized as follows. To begin with, a user is made to select a transmission method when a file stored in an external storage device is transmitted, from among the transmission methods that can be handled by the image processing apparatus100. When a transmission method is selected, the user selects a file that can be transmitted by the selected transmission method.

Then, the image processing apparatus100determines whether a transmission method requiring data to be handled by the image processing apparatus100is included in the selected transmission methods. If there is included a transmission method requiring data to be handled by the image processing apparatus100, unlike in the first modification of the flowchart inFIG. 3, the image processing apparatus100displays on the display106in separate groups files that can be handled by the image processing apparatus100and other files that cannot be handled by the image processing apparatus100. In this case, if a file that cannot be handled by the image processing apparatus100is selected, like in the flowchart inFIG. 2, the image processing apparatus100allows the user to select a transmission method that can transmit this file. With this arrangement, the image processing apparatus100restricts transmittable files according to the selected transmission method, and allows the user to select a file, with the result that data which cannot be handled by the apparatus can be transmitted. In other words, the image processing apparatus100can expand a range of transmittable data and reduce the complexity of user's operation.

A second exemplary embodiment of the present invention will be described with reference toFIGS. 6 to 11. In the first exemplary embodiment described above, for example, when a user selects e-mail or file transfer protocol (FTP) as a transmission method, files of a data format that cannot be handled by the image processing apparatus100can be transmitted to an external apparatus. However, if it is permitted that all files can be transmitted, in the event that data is infected with virus, the user may end up losing important data, or your business may suffer massive economic damage and lose confidence in society. Therefore, in the second exemplary embodiment, a more secure and flexible transmission method for external media data is realized even if the user selects a transmission method, such as e-mail, FTP, by which data of all data formats can be transmitted to external apparatuses. More specifically, in the second exemplary embodiment, in addition to the configuration in the first exemplary embodiment, an additional configuration that can set a restriction on each transmission method by a user's operation is provided.

Referring toFIGS. 6 and 7, a procedure of setting a restriction on files in each transmission method will be described. The following operations are performed when the CPU101reads and executes a program stored in the ROM102.

In step S601, the CPU101displays information used to register items in a table700on the display106. As illustrated inFIG. 7, the table700is a table obtained by combining the items in the table402inFIG. 4with items in a section701, which sets a restriction on transmission of data from an external medium in each transmission method. For example, the display106indicates types of transmission (transmission methods), such as FAX, Internet-FAX, E-Mail, FTP, and SMB in a selectable manner. In step S602, the CPU101determines which transmission type is selected by a user's operation via the keyboard105. If FAX is selected, the processing proceeds to step S603. If Internet-FAX, E-Mail, FTP, or SMB is selected, the processing advances to step S604, S605, S610, or S611, respectively. Before the processing advances to step S603, S604, S605, S610, or S611, the CPU101indicates restrictions that can be set in the items in the section701in a selectable manner for each selected type of transmission on the display106. For example, if FAX is set as the type of transmission, the CPU101, referring to the items in the section701in the table700, obtains “Inhibited” and “Permitted Only About Data Convertible by Apparatus”, and displays them in a selectable manner on the display106.

As illustrated inFIG. 7, restrictions that can be set in the items in the section701are “Inhibited”, “Permitted Only About Data Convertible by Apparatus”, “All Permitted”, and “Determined According to List”. The restriction in “Inhibited” means to inhibit transmission of all files included in an external medium. The restriction in “Permitted Only About Data Convertible by Apparatus” means to permit transmission of only files of a data format that enables data conversion by the image processing apparatus100, namely, only files of a data format that can be handled by the image processing apparatus from among the files included in an external medium. The restriction in “All Permitted” means to permit transmission of all files included in an external medium. The restriction in “Determined According to List” means to set a restriction to transmission methods according to a transmission permission list or a transmission inhibition list.

In step S603, according to the content of the table700stored in the RAM103, the CPU101updates the item in the section701corresponding to the transmission type “FAX”, and the processing then ends. In other words, referring to the restrictions displayed on the display106, the CPU101updates the item in the section701with a selected restriction input via the keyboard105. If “Inhibited” is selected, for example, data representing “Inhibited” is written. If “Permitted Only About Data Convertible by Apparatus” is selected, data representing “Permitted Only About Data Convertible by Apparatus” is selected, data representing “Permitted Only About Data Convertible by Apparatus” is written.

In step S604, like in step S603, according to the content of the table700stored in the RAM103, the CPU101updates the item in the section701corresponding to the transmission type “Internet-FAX”, and the processing then ends. In step S605, S6190, or S611, like in step S603, according to the content of the table700stored in the RAM103, the CPU101updates the item in the section701corresponding to the transmission type “E-Mail”, “FTP”, or “SMB”, respectively, and the processing proceeds to step S606.

In step S606, the CPU101displays information to update a transmission permission list801on the display106. As illustrated inFIG. 8, the transmission permission list801defines a data format that can be transmitted when “Determined According to List” is selected. The CPU101displays, for example, predetermined data formats in a selectable manner on the display106. In the next step S607, the CPU101sets data formats in the transmission permission list801according to a user's operation. For example, if a user's operation requests that transmission of text data in an external medium should be permitted, the CPU101sets data representing “plain text” in the transmission permission list108. On the other hand, if the user's operation requests that a permission to transmit text data in the external medium should be withdrawn, data representing “plain text” is deleted from the transmission permission list801.

In step S608, the CPU101displays information which is used to update a transmission inhibition list802on the display106. As illustrated inFIG. 8, if “Determined According to List” is selected as a restriction, data to inhibit transmission is defined in the transmission inhibition list802. Then, the CPU101displays, for example, predetermined data formats in a selectable manner on the display106. In step S609, the CPU101sets a data format in the transmission inhibition list802according to the user's operation. For example, if the user's operation requests that transmission of HTML data in an external medium should be inhibited, the CPU101adds data representing “html text”. On the other hand, if the user's operation requests that the inhibition of transmission of HTML data in an external medium should be withdrawn, the CPU101deletes date representing “html text” from the transmission inhibition list802.

As described above, in the second exemplary embodiment, the user can set whether to permit data transmission or not. Therefore, according to the second exemplary embodiment, for example, by referring to the above-mentioned restriction during data transmission processing described with reference to the flowchart inFIG. 2, data transmission is restricted. Referring toFIG. 9, the processing will be described in greater detail as follows. The processing of the flowchart inFIG. 9will be completed before step S213of the flowchart inFIG. 2is executed. The processing is implemented when the CPU101reads and executes a program stored in the ROM102.

In step S901, when the information in the item of the section701corresponding to a file to be transmitted is “Determined According to List”, the CPU101determines whether the type of a file to be transmitted is registered in the transmission permission list801or the transmission inhibition list802. It the file type is not registered, the processing proceeds to step S902, or if the file type is registered, the processing ends. In step902, the CPU101displays the transmission permission list801and the transmission inhibition list802for the user to register an unregistered file type in either of the two lists. In other words, the CPU101asks the user whether the user wishes to permit (YES in step S902) or inhibit (NO in step S902) transmission according to the data format of data. In step S902, if the CPU101determines to add the file type to the transmission permission list801according to a selection result by the user's operation from the displayed content on the display106, the processing proceeds to step S903, in which the CPU101adds the file type (data format) to the transmission permission list801. On the other hand, if the CPU101determines to add the file type to the transmission inhibition list802, the processing proceeds to step S904, in which the CPU101adds the file type to the transmission inhibition list802. The processing then ends. Then, in step213, the CPU101determines whether to transmit the data according to the restriction set by the user or not.

As described above, the image processing apparatus according to the second exemplary embodiment is configured by adding a function of registering a restriction for each data format in each transmission method by the user's operation, to the configuration of the first exemplary embodiment. Therefore, the image processing apparatus can realizes data transmission in a more flexible manner. The present invention is not limited to the exemplary embodiments described above, but various changes and modifications may be made in the invention. For example, the table700may be provided for each user or each group (each corporate department). In this case, the transmission permission list801and the transmission inhibition list802are set for each table.

This application claims priority from Japanese Patent Application No. 2009-216169 filed Sep. 17, 2009, which is hereby incorporated by reference herein in its entirety.