Image-forming apparatus, control method for image-forming apparatus, and storage medium

An image-forming apparatus providing connection which is capable of realizing a user-friendly system environment in connection of a print-control apparatus and an image-forming apparatus present on an identical network. It is determined whether the image-forming apparatus is connected to the print-control apparatus (201). When it is determined that the image-forming apparatus is connected to the print-control apparatus (201), the image-forming apparatus responds to, without responding an inquiry associated with a part of a plurality of service functions, an inquiry associated with another part of the plurality of service functions.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image-forming apparatus connectable to a network, a control method for the image-forming apparatus, and a storage medium which stores a program for causing a computer to execute the control method for the image-forming apparatus.

2. Description of the Related Art

Conventionally, there has been known a print-control apparatus connected to a network. The print-control apparatus is used when a network printer function is provided in an image-forming apparatus. The print-control apparatus is also used for the purpose of extending and supplementing the network printer function provided in an image-forming apparatus in advance. The network printer function is a function of printing out an image corresponding to an image signal inputted from an external apparatus through the network.

As an image-forming apparatus connectable to the network via such a print-control apparatus, for example, besides an image-forming apparatus disclosed in Japanese Laid-Open Patent Publication (Kokai) No. 2002-312140, there is an image-forming apparatus shown inFIG. 16.

FIG. 16is a schematic diagram showing connection of a conventional image-forming system.

As shown inFIG. 16, in the connection of the image-forming system, a terminal apparatus5009and a print-control apparatus5001are connected on a network5011. An image-forming apparatus5007is connected to the print-control apparatus5001via a LAN5005and a dedicated line5006.

The print-control apparatus5001includes connectors5002and5003and an interface5004for the dedicated line5006. The connector5002is a connector for a NIC (Network Interface Card) which manages low-layer level connection to the network5011. The connector5003is a connector for a NIC which manages low-layer level connection to the LAN5005.

A data packet transmitted from the terminal apparatus5009to the print-control apparatus5001is propagated through the network5011and received by the print-control apparatus5001via the connector5002. When the received data packet is determined as print data, the data packet is subjected to data processing by the print-control apparatus5001. Data packets subjected to the data processing are forwarded from the connectors5003and5004to be transmitted to the LAN5005and the dedicated line5006. The data packets forwarded to the LAN5005and the dedicated line5006are received by the image-forming apparatus5007via a network interface5008and a dedicated transfer interface5010, respectively.

The image-forming apparatus5007receives the data packet and performs print processing on a recording medium such as paper according to a print processing procedure of the image-forming apparatus5007per se. When processing other than the print processing is performed, the data packet transmitted to the image-forming apparatus5007is also received by the print-control apparatus5001. After receiving the data packet, the print-control apparatus5001applies processing necessary for transmission to the image-forming apparatus5007to the received data packet and transmits the data packet to the image-forming apparatus5007.

The data packet transmitted from the image-forming apparatus5007is received by the print-control apparatus5001. The print-control apparatus5001applies processing necessary for transmission to the terminal apparatus5009on the network5011to the received data packet and transmits the data packet to the terminal apparatus5009. This is realized by using a network packet transfer technique (NAT/NAPT) for transmitting a data packet transmitted by an image-forming apparatus to a network assuming that the data packet is transmitted by a print-control apparatus.

Such a configuration of the conventional image-forming system provides the advantage that it is possible to use the image-forming apparatus and the print-control apparatus without being conscious of these apparatuses.

However, according to the technological progress in recent years, the related art described above cannot cope with some techniques. Examples of such techniques include techniques which the network transfer technique (NAT/NAPT) cannot cope with. Specifically, the techniques are techniques such as IPv6 (Internet Protocol Version 6) and IPsec (IP Security Protocol).

When IPv6 is adopted, the network transfer technique (NAT/NAPT) used in the related art cannot be used. Therefore, it is necessary to use a new network transfer technique. Further, when IPsec is adopted, a terminal apparatus and an image-forming apparatus exchange keys and, when a network packet is has a rewritten address, communication is immediately finished. Such a technique is an extremely useful technique in view of significance of network security in these days. However, when the image-forming apparatus is connected to the print-control apparatus in the configuration described above, such a technique cannot be used between the image-forming apparatus and the terminal apparatus. This is because a network packet transfer technique implemented in the print-control apparatus is judged as disguising of a network packet by these techniques.

To make it possible to realize the techniques such as IPv6 and IPsec, it is conceivable to change the connection of the print-control apparatus and the image-forming apparatus. However, when the connection is simply changed, the system is user-unfriendly.

As an example, in a system in which a print-control apparatus and an image-forming apparatus are connected to an identical network, when a user performs print operation in the image-forming apparatus attached with the print-control apparatus from a terminal apparatus, problems described below occur. The user does not understand which of network addresses of the print-control apparatus and the image-forming apparatus should be designated. Therefore, the system confuses the user and is user-unfriendly. When, for example, the user performs device search using an application program and searches for a device on a network, since both the print-control apparatus and the image-forming apparatus are detected, the user is confused.

SUMMARY OF THE INVENTION

The present invention provides an image-forming apparatus, a control method for the image-forming apparatus, and a storage medium which stores a program for causing a computer to execute the control method for the image-forming apparatus described below.

The present invention provides connection which is capable of realizing a user-friendly system environment in connection of a print-control apparatus and an image-forming apparatus present on an identical network. The present invention makes it possible to flexibly cope with the techniques such as IPv6 and IPsec.

In the first aspect of the present invention, there is provided an image-forming apparatus providing a plurality of service functions, comprising a determination unit adapted to determine whether the image-forming apparatus is connected to a control apparatus, a response unit adapted to respond, in a case that it is determined by the determination unit that the image-forming apparatus is not connected to the control apparatus, to an inquiry concerning the plurality of service functions, and a control unit adapted to control the response unit so as not to respond, in a case that it is determined by the determination unit that the image-forming apparatus is connected to the control apparatus, to an inquiry associated with a part of the plurality of service functions and so as to respond to an inquiry associated with another part of the plurality of service functions.

In the second aspect of the present invention, there is provided a control method of controlling an image-forming apparatus that provides a plurality of service functions, the control method comprising determining whether the image-forming apparatus is connected to a control apparatus, responding, in a case that it is determined in the determination step that the image-forming apparatus is not connected to the control apparatus, to an inquiry concerning the plurality of service functions, and controlling the response step so as not to respond, in a case that it is determined in the determination step that the image-forming apparatus is connected to the control apparatus, to an inquiry concerning a part of the plurality of service functions and so as to respond to an inquiry concerning another part of the plurality of service functions.

In the third aspect of the present invention, there is provided a computer-readable storage medium storing a program for causing a computer to execute a control method of controlling an image-forming apparatus that provides plural service functions, the program comprising a determination module for determining whether the image-forming apparatus is connected to a control apparatus, a response module for responding, in a case that it is not determined by the determination module that the image-forming apparatus is connected to the control apparatus, to an inquiry concerning the plurality of service functions, and a control module for controlling the responding module so as not to respond, in a case that it is determined by the determination module that the image-forming apparatus is connected to the control apparatus, to an inquiry concerning a part of the plurality of service functions and so as to respond to an inquiry concerning another part of the plurality of service functions.

According to the present invention, it is possible to provide connection which is capable of a user-friendly system environment in connection of a print-control apparatus and an image-forming apparatus, and it is possible to flexibly cope with the techniques such as IPv6 and IPsec.

Further features of the present invention will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present invention will now be described in detail with reference to the drawings showing a preferred embodiment thereof.

FIG. 1is a schematic diagram showing connection of an image-forming system according to an embodiment of the present invention.

The print-control apparatus201includes connectors202,203, and204. The connector202is a connector for a NIC which manages low-layer level connection to the network212. The connector203is equivalent to the connector5003shown inFIG. 16but is not used in this embodiment. The connector204serves as an interface for the dedicated line206.

The image-forming system according to this embodiment is characterized in that, in particular, the image-forming apparatus207is connected to the network212through a signal line210. Data on the network212is inputted from the network interface208to the image-forming apparatus207through the signal line210. Print data forwarded from the connector204of the print-control apparatus201to the dedicated line206is inputted to the image-forming apparatus207via a connector209.

<Configuration of the Print-Control Apparatus>

FIG. 2is a block diagram schematically showing the configuration of the print-control apparatus201inFIG. 1.

The print-control apparatus201includes a NIC unit101connected to the connector202.

The NIC unit101has a function of a first network interface which manages low-layer level connection to a LAN. A RIP (Raster Image Processing) unit102and a hard disk drive (HDD) unit105are connected to an output side of the NIC unit101. The RIP unit102has a function of changing a received print language such as a PDL (Page Description Language) or a specific (compressed in JBIG (Joint Bi-level Image Experts Group)) data format to a raster image. The HDD unit105is a storing unit for temporarily storing (spooling) print data received by the NIC unit101or temporarily storing compressed data after RIP. A first memory unit106is a memory used by the RIP unit102for image-expansion processing.

Data changed to the raster image by the RIP unit102is inputted to an encoding unit103. The encoding unit103converts the data into print data of a format or a data format supported by the image-forming apparatus207.

The print-control apparatus201includes a NIC unit104and an image-interface board unit111. The NIC unit104functions as a second network interface which manages low-layer level connection. The connector203is a connector for this interface. The data outputted from the encoding unit103is outputted to the connector202via the image-interface board unit111.

The print-control apparatus201further includes a CPU107, a second memory unit108, an operation unit109, and a display unit110. The CPU107manages control of the entire print-control apparatus201. The second memory unit108is used as data temporary storage area by the CPU107. A function database (FIGS. 12 and 13referred to later), which characterizes this embodiment, is stored in the second memory unit108.

The operation unit109has buttons, keys, and the like and is used for performing operation of the print-control apparatus201. The display unit110notifies information to a user by displaying images and characters on a screen. The display unit110includes an operation panel integrally configured with the operation unit109. The display unit110includes, for example, a touch panel.

The dedicated line206is formed by using the image-interface board unit111and the connector204. Image data transferred from the print-control apparatus201to the image-forming apparatus207is transferred through the dedicated line206.

A data packet from the terminal apparatus211to the print-control apparatus201is propagated through the network212and inputted to the print-control apparatus201via the connector202. Reception processing for the data packet is performed by the NIC unit101in the inside of the print-control apparatus201. When the data packet received by the NIC unit101is a data packet conforming to TCP/IP, a destination port number is included in a header information section of the packet.

The destination port number is information indicating to which of programs and processes of an apparatus, from which a packet is received, data should be transmitted. A different port number is allocated as the destination port number for each of communication protocols and programs.

For example, port number are allocated as follows:

Then, a port number included in a header of a received data packet is checked, and it is determined whether the port number corresponds to print processing. This makes it possible to determine whether the packet is print data or other data such as control data.

Therefore, the NIC unit101extracts the destination port number from the header of the received data packet and determines whether the data packet is print data or control data on the basis of the destination port number.

When it is determined that the data packet is the print data, the received data is written in the HDD unit105according to the control by the CPU107when necessary. This is queuing (spool) which is generally performed for the purpose of improving a data transfer rate. The data stored in the HDD unit105is read out from the RIP unit102according to an instruction of the CPU107. On the other hand, print data not subjected to queuing is directly transferred from the NIC unit101to the RIP unit102according to an instruction of the CPU107.

The print data transmitted to the RIP unit102in this way is subjected to raster image processing by the RIP unit102. Subsequently, the encoding unit103performs, on the basis of a predetermined data format interpretable by the image-forming apparatus207and a format of the received data, encoding of the print data into the data format interpretable by the image-forming apparatus207. Instead of the predetermined data format, described above, for example, a data format acquired from the image-forming apparatus207by communication, a data format designated from the operation unit109, and the like may be used.

Since this encode processing is performed as required, the encode processing may be skipped if encoding is unnecessary, for example, when a format of the received data is interpretable by the image-forming apparatus207as it is. The data after the encoding needs to be a format interpretable by the image-forming apparatus207. A format of the data is changed according to an ability of interpreting means incorporated in the image-forming apparatus207. For example, the format is changed to a specific print language format or a data format compressed by a specific method such as JBIG.

The data encoded in this way when necessary is changed to a data packet again by the NIC unit101to be transmitted to the network212. The data packet is forwarded from the connector202and transmitted to the image-forming apparatus207via the network212and the network interface208.

The image-forming apparatus207receives the data packet and performs print processing on a recording medium such as paper according to a print processing procedure of the image-forming apparatus207. As another data transfer method, the data is transferred from the encoding unit103to the image-interface board unit111, forwarded to the dedicated line206through the connector204, and transmitted to the image-forming apparatus207via the connector209.

When scanned image data at a reader unit303is transmitted from the image-forming apparatus207to the terminal apparatus211, a data packet is forwarded from the network interface208to the network212and inputted to the terminal apparatus211.

<Structure of the Image-Forming Apparatus>

FIG. 3is a block diagram showing the configuration of the image-forming apparatus207inFIG. 1.

As shown inFIG. 3, the image-forming apparatus207according to this embodiment is comprised of an image-forming apparatus main body301and an image input/output control unit305. The image-forming apparatus main body301includes an operation unit302, a reader unit303, and a printer unit304. The operation unit302is used to operate the image-forming apparatus main body301and the image input/output control unit305. A display panel for operation is integrally attached to the operation unit302. The reader unit303scans an image of an original and outputs image data corresponding to the original image to the printer unit304and the image input/output control unit305. The printer unit304records an image corresponding to the image data from the reader unit303or the image input/output control unit305on recording paper.

The image input/output control unit305is connected to the reader unit303and includes an interface unit306, an image memory307, a control unit308, and a hard disk (HD)309. The network interface208and the connector209are connected to the interface unit306. In the hard disk (HD)309, setting information of the image-forming apparatus207such as an address book, an operation history, a user setting, an ID setting, and a network setting is stored. The function database (FIGS. 7 to 9referred to later) characterizing this embodiment is also stored in the hard disk (HD)309.

The interface unit306is an interface between the print-control apparatus201and the terminal apparatus211on the network212and the control unit308. The interface unit306receives code data representing an image transferred from the print-control apparatus201in the connector209, expands the received data into image data which can be recorded in the printer unit304, and passes the image data to the control unit308. The interface unit306receives code data representing image data transferred from the terminal apparatus211in the network interface208such as Ethernet (registered trademark). When necessary, the interface unit306expands the received data into data which can be recorded in the printer unit304and passes the data to the control unit308. The connector209may be a network interface such as Ethernet (registered trademark) and connected to the print-control apparatus201through a network. The connector209may also be an interface such as a parallel interface or a USB interface and directly connected to the print-control apparatus201through an interface cable. Not only one cable but also a large number of cables may be used for the connector209.

The control unit308has a CPU, a ROM, and a RAM. The CPU of the control unit308loads and executes a program stored in the ROM or other recording media and controls a flow of data among the reader unit303, the interface unit306, the image memory307, and the like. Another nonvolatile memory, in which data is not erased even if a power supply is turned off, may be provided instead of the HD309and data may be stored in the nonvolatile memory.

<Process Flow During the Start of the Image-Forming Apparatus>

The process during the start of the image-forming apparatus207is explained with reference toFIGS. 4 to 9.

FIG. 4is a flowchart showing image-forming apparatus start process executed during the start of the image-forming apparatus207according to the present embodiment.FIG. 5is a diagram showing an example of a connection setting screen of the print-control apparatus201displayed on the operation unit302in the image-forming apparatus207inFIG. 3.FIG. 6is a diagram showing an example of an information setting screen of the print-control apparatus201displayed on the operation unit302in the image-forming apparatus207inFIG. 3.

InFIG. 4, when a power supply of the image-forming apparatus207is turned on, the control unit308confirms that the print-control apparatus201is connected to the image-forming apparatus207, in step S501. The connection of the image-forming apparatus207and the print-control apparatus201is set on a screen601shown inFIG. 5and can be confirmed on the screen601.

Specifically, by depressing a “connect” button602on the screen601inFIG. 5, the user sets the print-control apparatus201to be connected to the image-forming apparatus207. The print-control apparatus201is set to be not connected to the image-forming apparatus207by depressing a “not connect” button603.

A method of sensing connection of the print-control apparatus201without using the screen601may be adopted. A method of setting connection of the print-control apparatus201with hardware rather than controlling the connection with software as in the screen601may be adopted. By performing the connection setting for the print-control apparatus201, a variable which stores connectability information of the print-control apparatus201is changed. To close this screen, the user depresses a “close” button604.

In step S501inFIG. 4, the control unit308confirms this print-control apparatus connection variable and proceeds to step S502. In step S502, the control unit308determines, on the basis of a value of the print-control apparatus connection variable, whether the print-control apparatus201is connected to the image-forming apparatus207. When the print-control apparatus201is not connected to the image-forming apparatus207, the process proceeds to step S510, performs normal start of the image-forming apparatus207in a simplex start mode, followed by terminating the process. When the print-control apparatus201is connected to the image-forming apparatus207, the process proceeds to step S503and confirms information variable of the print-control apparatus201. The information variable of the print-control apparatus201is information for specifying the print-control apparatus201connected to the image-forming apparatus207in a one-to-one relation. Values of the information variable are values indicating a network address (an IP address, etc.), a physical address, a name, and the like of the print-control apparatus201and are set on a print-control apparatus connection information screen701inFIG. 6.

Specifically, a value presently inputted in an input area702is displayed on the screen701inFIG. 6and, when the user depresses an “input” button703, a software keyboard screen for inputting a value is opened, and the user inputs connection information concerning the print-control apparatus201. After selecting the input area702, the user may input a value with a hardware keyboard without using the button703. When the input is finished, the user depresses a “close” button704.

When the input of the connection information concerning the print-control apparatus201is finished on the screen701, a value of this input is stored in the information variable of the print-control apparatus201. In this case, a button or a form for selecting whether the input value is a network address, a physical address, or a name may be displayed.

In the following step S504, the control unit308checks the function database of the image-forming apparatus207and acquires a value of priority for each of provided services. Contents of the function database are shown inFIG. 7.FIG. 7is a diagram showing an example of a table including the contents of the function database set in the image-forming apparatus207inFIG. 3. The function database is stored in, for example, the HD309shown inFIG. 3.

InFIG. 7, a column801represents a type of a service provided by the image-forming apparatus207. Columns802,803, and804represent that priority of a provided service changes according to whether the print-control apparatus201is connected. The column803represents priority at the time when the print-control apparatus201is not connected. The column804represents priority at the time when the print-control apparatus201is connected. Rows805to808represent values of priority (priority data) of the respective provided services at the time when the print-control apparatus201is connected and is not connected, respectively.

In this embodiment, a value “1” of priority indicates that a service is provided, a value “2” of priority indicates that a service is provided by adjusting the service, and a value “3” of priority indicates that a service is not provided. As other forms of priority value setting, for example, it is conceivable to set a value of priority only according to whether a service is provided.

In the row805indicating a print service, a value of priority at the time when the print-control apparatus201is not connected is set to “1” and a value of priority at the time when the print-control apparatus201is connected is set to “3”. This means that the print service is provided when the print-control apparatus201is not connected but the print service is not provided when the print-control apparatus201is connected. Besides, as shown inFIG. 7, for a scan service in the row806, a Web service in the row807, and an SNMP/MIB service in the row808, respective vales of priority are set according to whether the print-control apparatus201is connected.

When the acquisition of the values of priority in the step S504is finished, the process proceeds to step S505. In the step S505, the control unit308determines, according to the connection information concerning the print-control apparatus201acquired in step S503, whether communication with the print-control apparatus201can be performed. When the communication with the print-control apparatus201cannot be performed, the process proceeds to step S507and starts the print-control apparatus201in a state corresponding to the value of priority acquired in the step S504.

Thereafter, when predetermined waiting time elapses, the process returns to the step S505to perform connection with the print-control apparatus201again. The steps S505and S507are repeatedly performed until the communication with the print-control apparatus201becomes possible. In this case, when the print-control apparatus201is not started, the control unit308starts the print-control apparatus201in a function limited state.

As another form, it is conceivable that, when the print-control apparatus201is not started, the control unit308starts the print-control apparatus201with the priority at the time when the print-control apparatus201is not connected (the column803inFIG. 7) assuming that the print-control apparatus201is not connected.

In the step S505, the control unit308changes a communication method according to the connection information concerning the print-control apparatus201acquired in the step S503. As an example, when an IP address is set when a network address is inputted, after transmitting a packet of Ping, the control unit308can confirm, by confirming whether the print-control apparatus201responds to the packet, whether communication with the print-control apparatus201can be performed.

When it is confirmed in the step S505that the communication with the print-control apparatus201can be performed, the process proceeds to step S506to check a function of the print-control apparatus201. The image-forming apparatus207and the print-control apparatus201exchange services and priorities with each other.

Specifically, the image-forming apparatus207extracts, from the function database inFIG. 7, the priority in the column804, i.e., the priority at the time when the print-control apparatus201is connected and creates a database for providing a service function shown inFIG. 8in which a priority list is described.FIG. 8is a diagram showing an example of a table including the contents of the function database set in the image-forming apparatus207inFIG. 3. The image-forming apparatus207transmits the priority list of the function database to the print-control apparatus201and receives a priority list of a function database (described later with reference toFIG. 12) from the print-control apparatus201.

When the control unit308checks the function of the print-control apparatus201in the step S506and the exchange of the priority lists is finished, the process proceeds to step S508to update the function database of the image-forming apparatus207. A result of the update of the function database is shown inFIG. 9.FIG. 9is a diagram showing an example of an update result of the table including the contents of the function database set in the image-forming apparatus207inFIG. 3.

In this process for updating the function database, a service function which can be provided by one of the print-control apparatus201and the image-forming apparatus207and cannot be provided by the other is directly added to the function database. When both the print-control apparatus201and the image-forming apparatus207can provide the same service function (when service functions provided by both the apparatuses conflict), the control unit308compares values of priority added thereto. The print-control apparatus201and the image-forming apparatus207having a smaller value of priority, i.e. higher priority, provides the service function. The control unit308changes a value of priority of the other, which does not provide the service function, to “3”. The control unit308changes value of priority of the print-control apparatus201or the image-forming apparatus207, which provides the service function, to “1”. When the values of priority are the same, in this embodiment, the image-forming apparatus207always provides the service function. When the values of priority are the same, both the print-control apparatus201and the image-forming apparatus207may be able to provide the service function. When both the values of priority of the print-control apparatus201and the image-forming apparatus207are “3”, both the apparatuses do not provide the service function. Specifically, the control unit308compares priorities in the function databases inFIGS. 8 and 12and adjusts the priorities as described below.

First, concerning the print services a value of priority of the image-forming apparatus207is “3” (see the row805inFIG. 7, andFIG. 8) and a value of priority of the print-control apparatus201is “1” (see a row1003inFIG. 12). Therefore, the image-forming apparatus207updates the value of priority to “3” as indicated by1103inFIG. 9and does not respond to the print service.

Concerning the scan service, a value of priority of the image-forming apparatus207is “2” (see the row806inFIG. 7andFIG. 8) and a value of priority of the print-control apparatus201is “2” (see a row1004inFIG. 12). As a result, the image-forming apparatus207responds to the scan service. Therefore, the image-forming apparatus207updates the value “2” of priority of the scan service to “1” as indicated by1104inFIG. 9. Concerning the Web service, since the Web service is present only in the image-forming apparatus207, a value of priority is set to “1” as indicated by1105inFIG. 9.

Concerning media selection, as indicated by a row1005inFIG. 12, since the media selection is present only in the print-control apparatus201, a value of priority of a media selection service is set to “3” in the image-forming apparatus207as indicated by a row1106inFIG. 9. Concerning SNMP/MIB, according to a result of comparison of the row808in the function database inFIG. 7and a row1006in the function database inFIG. 12, a value of priority is set to “1” as indicated by a row1107inFIG. 9. Provided services, values of priority of which are “3”, may be deleted from the priority list.

After updating the function database in the step S508inFIG. 4, the process proceeds to step S509to normally start the image-forming apparatus207in a start mode with a print control function, followed by terminating the process.

<Process Flow During the Start of the Print-Control Apparatus201>

A process during the start of the print-control apparatus201is explained with reference toFIGS. 10 to 12.

FIG. 10is a flowchart showing a print-control apparatus start process executed during the start of the print-control apparatus201according to the present embodiment.FIG. 11is a diagram showing an example of a connection setting screen for an image-forming apparatus207displayed on the display unit110of the print-control apparatus201inFIG. 2.FIG. 12is a diagram showing an example of a table including the contents of the function database set in the print-control apparatus201inFIG. 2.

InFIG. 10, when a power supply of the print-control apparatus201is turned on, in step S1201, the CPU107confirms an information variable of the image-forming apparatus207. The information variable of the image-forming apparatus207is information for specifying the image-forming apparatus207connected to the print-control apparatus201in a one-to-one relation. Values of the information variable are values indicating a network address (an IP address, etc.), a physical address, a name, and the like of the image-forming apparatus207and set on an image-forming apparatus connection information screen1401inFIG. 11.

Specifically, a value presently inputted in an input area1402is displayed on the screen1401inFIG. 11and, when the user depresses an “input” button1403, a software keyboard screen for inputting a value is opened, and the user inputs connection information concerning the image-forming apparatus207. After selecting the input area1402, the user may input a value with a hardware keyboard without using the button1403. When the input is finished, the user depresses a “close” button1404.

When the input of the connection information concerning the image-forming apparatus207is finished on the screen1401, this input value is stored in the information variable of the image-forming apparatus207. In this case, a button or a form for selecting whether the input value is a network address, a physical address, or a name may be displayed.

In the following step S1202, the CPU107checks the function database of the print-control apparatus201shown inFIG. 12and acquires a value of priority for each of provided services.

InFIG. 12, a column1001represents a type of a service function provided by the print-control apparatus201. A column1002represents priority in respective service functions of the print-control apparatus201. Rows1003to1006represent values of priority of the respective service functions. Contents indicated by values “1” to “3” of priority are the same as the contents indicated by the values of priority of the image-forming apparatus207.

In the row1003indicating a print service, since a value of priority is set to “1”, the print service is provided. Besides, as shown inFIG. 12, for a scan service in the row1004, a media acquisition service in the row1005, and an SNMP/MIB service in the row1006, respective vales of priority are set.

When the acquisition of the values of priority in step S1202is finished, the process proceeds to step S1203. In step S1203, the CPU107starts execution of communication with the image-forming apparatus207according to the connection information concerning the image-forming apparatus207acquired in the step S1201. In step S1204, the CPU107determines whether the communication with the image-forming apparatus207can be performed. When the communication cannot be performed, the process proceeds to step S1206to start the print-control apparatus201in a state corresponding to the priority acquired in the step S1202.

Thereafter, when predetermined waiting time elapses, the process returns to the step1204to perform connection with the image-forming apparatus207again. The steps S1204and S1206are repeatedly performed until the communication with the image-forming apparatus207becomes possible. In this case, when the image-forming apparatus207is not started, the CPU107starts the image-forming apparatus207in a function limited state.

In the step S1204, the CPU107changes a communication method according to the connection information concerning the image-forming apparatus207acquired in the step S1201. When it is confirmed in the step S1204that the communication with the image-forming apparatus207can be performed, the process proceeds to step S1205to check a function of the image-forming apparatus207. The image-forming apparatus207and the print-control apparatus201exchange services and priorities with each other.

Specifically, the print-control apparatus201transmits the priority list in the function database shown inFIG. 12to the image-forming apparatus207. The print-control apparatus201receives the priority list of the function database shown inFIG. 8from the image-forming apparatus207. The CPU107checks a function of the image-forming apparatus207in the step S1205. When the exchange of the priority lists is finished, the process proceeds to step S1207to update the function database of the print-control apparatus201. A result of the update of the function database is shown inFIG. 13.FIG. 13is a diagram showing an example of an update result of the table including the contents of the function database set in the print-control apparatus201shown inFIG. 2.

A process for updating the function database is the same as that in the image-forming apparatus207described above. In this embodiment, the CPU107compares priorities in the function databases inFIGS. 8 and 12according to update process same as described above and adjusts the priorities as described below.

First, concerning the print service, a value of priority of the image-forming apparatus207is “3” (see the row805inFIG. 7andFIG. 8) and a value of priority of the print-control apparatus201is “1” (see the row1003inFIG. 12). Therefore, the print-control apparatus201updates the value of priority to “1” as indicated by a row1301inFIG. 13and responds to the print service.

Concerning the scan service, a value of priority of the image-forming apparatus207is “2” (see the row806inFIG. 7andFIG. 8) and a value of priority of the print-control apparatus201is “2” (see a row1004inFIG. 12). As a result, the image-forming apparatus207responds to the scan service. Therefore, the print-control apparatus201updates the value “2” of priority of the scan service to “3” as indicated by a row1302inFIG. 13. Concerning the Web service, since the Web service is present only in the image-forming apparatus207, a value of priority is set to “3” as indicated by a row1303inFIG. 13.

Concerning media selection, as indicated by a row1005inFIG. 12, since the media selection is present only in the print-control apparatus201, a value of priority of a media selection service is set to “1” in the print control apparatus201as indicated by a row1304inFIG. 13. Concerning SNMP/MIB, according to a result of comparison of the row808in the function database inFIG. 7and the row1006in the function database inFIG. 12, a value of priority is set to “3” as indicated by a row1305inFIG. 13. Provided services, values of priority of which are “3”, may be deleted from the priority list.

After updating the function database in step S1207inFIG. 10, the process proceeds to step S1208to start the print-control apparatus201, followed by terminating the process.

<Process Flow During Reception of a Service Inquiry Packet>

A process performed when an inquiry is received from the terminal apparatus211concerning service functions which can be provided in the image-forming apparatus207and the print-control apparatus201, which start as described above, is explained with reference toFIG. 14.

FIG. 14is a flowchart showing a response process during reception of a service inquiry packet according to this embodiment in the image-forming apparatus207and the print-control apparatus201. Although this process is executed by the CPUs included in the image-forming apparatus207and the print-control apparatus201, this is not limitative, but this process may be executed by any one of the CPUs included in the image-forming apparatus207and the print-control apparatus201.

First, in step S1501, the CPUs detect that a service inquiry packet transmitted from the terminal apparatus211is received. The CPUs discriminate which service function the packet inquires about. The CPUs use port information of TCP for this discrimination. The CPUs may perform the discrimination as a method of confirming all data structures of a packet and detecting a service or a method of discriminating a service function using a protocol of a network layer.

When the discrimination on a service function is finished, the process proceeds to step S1502, and function databases are confirmed. As the function databases, the CPUs use the function database for the image-forming apparatus207shown inFIG. 9and the function database for the print-control apparatus201shown inFIG. 13created during the start. The CPUs confirm the function databases, and then the process proceeds to step S1503. In step S1503, Each CPU confirms a value of priority on the function database, which is associated with the packet received in the step S1501, and determines whether any one of the image-forming apparatus207and the print-control apparatus201may respond to the received packet. In the case of a provided service function which is not present in the function databases, the image-forming apparatus207and/or the print-control apparatus201may not return response or may unconditionally respond to the received packet.

When it is determined that any one of the image-forming apparatus207and the print-control apparatus201may respond to the received packet, the process proceeds to step S1504, and one of the image-forming apparatus207and the print-control apparatus201returns a response to the received packet. Consequently, the image-forming apparatus207or the print-control apparatus201responds to the service inquiry. When any one of the image-forming apparatus207and the print-control apparatus201must not respond to the packet (YES to the step S1503), the process proceeds to step S1505, and it does not respond to the packet. Concerning provided service functions, values of priority of which are “3”, the image-forming apparatus207and the print-control apparatus201may finish the services. The print-control apparatus201may respond to an inquiry about a service from the image-forming apparatus207regardless of priority. The image-forming apparatus207may respond to an inquiry about a service from the print-control apparatus201regardless of priority.

According to the present embodiment, in the system in which the print-control apparatus and the image-forming apparatus are connected on the identical network, the print-control apparatus and the image-forming apparatus mutually confirm and arbitrate service functions provided by the apparatuses. Only an appropriate one of the print-control apparatus and the image-forming apparatus responds to, on the basis of a result of the arbitration, a service inquiry packet transmitted on the network. In other words, as described above, the print-control apparatus201and the image-forming apparatus207adjust and appropriately create function databases, whereby any one of the print-control apparatus201and the image-forming apparatus207responds to the service inquiry packet from the terminal apparatus211.

Consequently, it is possible to realize a user-friendly system environment. For example, when the user performs print operation in the image-forming apparatus207attached with the print-control apparatus201from the terminal apparatus211, the user does not have a trouble in deciding which of the network addresses of the print-control apparatus201and the image-forming apparatus207should be designated. Even when the user performs device search using an application program and searches for a device on the network, it is possible to prevent a situation in which both the print-control apparatus201and the image-forming apparatus207are detected and the user is confused.

It is possible to flexibly cope with a new technique by changing the connection of the print-control apparatus201and the image-forming apparatus207, which provides a system which can cope with a large number of service functions.

In this way, it is possible to realize a system environment which is user-friendly and can make full use of a large number of service functions, to thereby flexibly cope with the techniques such as IPv6 and IPsec.

<Modification of the Connection>

The connection of the print-control apparatus201and the image-forming apparatus207is not limited to the connection according to the embodiment described above. Various modifications of the connection are possible. Examples of the modification include those shown inFIGS. 15A to 15C.

FIGS. 15A to 15Care schematic diagrams showing variations of the connection of the image-forming system according to this embodiment.

An image-forming system shown inFIG. 15Ahas a configuration in which the dedicated line206is removed from the connection shown inFIG. 1. Data is transferred from the print-control apparatus201through the network212. Since reception and transmission of the data are performed in the connector202, network traffic increases. However, a reduction in cost is possible because the dedicated line206is not used.

An image-forming system shown inFIG. 15Bhas a configuration in which the dedicated line206is removed from the connection shown inFIG. 1and the connector203is connected to the network212. As in the connection shown inFIG. 15A, a reduction in cost is possible by removing the dedicated line206. In this connection, since the connectors202and203are connected to the identical network212, the same data can be received from the connectors202and203. Therefore, in the present variation, one of the connectors202and203is used as a connector exclusively used for data transfer to and from the image-forming apparatus207and the other is used as a connector for other communication.

An image-forming system shown inFIG. 15Chas a configuration in which the connector203is connected to the network212from the connection shown inFIG. 1. Decentralization of processing is realized by performing data transfer through the network212and the dedicated line206.

In the present embodiment, the print-control apparatus201and the image-forming apparatus207are connected in a one-to-one relation. However, the present invention is also applicable when the print-control apparatus201and the image-forming apparatus207is connected in one-to-many, many-to-one, and many-to-many relations.

It is to be understood that the object of the present invention may also be accomplished by supplying a system or an apparatus with a storage medium in which a program code of software which realizes the functions of the above described embodiment is stored, and causing a computer (or CPU or MPU) of the system or apparatus to read out and execute the program code stored in the storage medium.

In this case, the program code itself read from the storage medium realizes the functions of any of the embodiments described above, and hence the program code and the storage medium in which the program code is stored constitute the present invention.

Examples of the storage medium for supplying the program code include a floppy (registered trademark) disk, a hard disk, a magnetic-optical disk, a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-RAM, a DVD-RW, a DVD+RW, a magnetic tape, a nonvolatile memory card, and a ROM. Alternatively, the program code may be downloaded via a network.

This application claims the benefit of Japanese Application No. 2007-184476, filed Jul. 13, 2007, which is hereby incorporated by reference herein in its entirety.