1. Field of the Invention
The present invention relates to an image processing apparatus which functions as a server communicable with a client image processing apparatus via a network, and a method of controlling the image processing apparatus.
2. Description of the Related Art
Conventionally, there has been disclosed a technique in which e.g. two MFPs (Multiple Function Peripherals) are assigned functions of a server and functions of a client, respectively, and the client MFP acquires and utilizes address data acquirable from or stored in the server MFP. This kind of technique enables a client to perform transmission using address data (data storing the address of a transmission destination to which the client intends to perform transmission) acquired from a server (see e.g. Japanese Patent Laid-Open Publication No. 2005-94676).
On the other hand, there has been disclosed a technique related to name resolution (method of looking up the IP address of a host based on the associated host name). A description will be given of a system for performing name resolution, by taking a DNS (Domain Name System) as an example. The DNS is a system which associates host names with IP addresses on the Internet. In the DNS, it is possible to look up a host name based on an associated IP address, and vice versa.
For example, a name resolution unit (e.g. a DNS server) is set in each of a server MFP and a client MFP, and the name resolution is performed using the set name resolution units. In this method, when a domain name is not described in address data designating a transmission destination, the name resolution is generally performed after the address data is automatically complemented with a domain name by one of the name resolution units. Further, a method is also proposed in which the address data is configured to store not only a destination address, but also a user account and a password, and authentication is performed based on the user account and the password at a transmission destination (receiving end).
The MFP 101 stores an address book having a plurality of entries corresponding to different respective users of the system. Each entry has a host name, user name and password. For example, the first entry in the address book, “address data 1”, has “fileserver1” as the host name, “tanaka” as the user name and “1234” as the password.
The host name identifies the name of a host assigned to the first file server 103. The full host name for the first file server 103 is “fileserver1.aaa.bbb.co.jp” but, as shown in
A user who wishes to transmit image data from the MFP 101 to another user or to himself, selects the relevant address-book entry, for example the address data 1 for the user “tanaka”. In this case, the image data should be transmitted to a directory corresponding to “tanaka” of the file server 103 having the address “fileserver1.aaa.bbb.co.jp”. To obtain this address the MFP 101 obtains the domain name “aaa.bbb.co.jp” from the DNS server 102 based on the IP address of MFP 101 which is “172.24.10.10” and adds this domain name to “fileserver1” and “tanaka”. As a result, the complemented address data “fileserver1.aaa.bbb.co.jp” and “tanaka.aaa.bbb.co.jp” can be used as the destination of the image data.
In the system of
Thus, according to the above-described conventional technique, in the system comprised of the server MFP (MFP 101) that makes address data acquirable or stores the same and the client MFP (MFP 201) that performs transmission using the address data, if the server MFP and the client MFP have different name resolution units (e.g. DNS servers 102 and 202) set therefor, the following problems occur: When address data is exchanged in a state where an associated domain name is not described, there is a possibility that authentication or transmission might fail due to complementary addition of a wrong domain name. Further, it is difficult for a user who intends to perform transmission using address data to check whether or not a domain name is described in the address data.
The present invention provides an image processing apparatus as a server which, when a reference request for referring to address data having no domain name described therein is received from a client or a user's instruction for transmitting such address data to a client, complements the address data with a domain name, and then sends the complemented address data to the client.
In a first aspect of the present invention, there is provided an image processing apparatus operable as a server to communicate with a client image processing apparatus via a network, comprising a storage unit configured to store an address book containing a plurality of address data items including one or more address data items in which no domain name is described, a determination unit configured to determine whether or not a domain name is described in a designated one of the stored address data items, a complementing unit operable when the determination unit determines that a domain name is not described in the designated address data item, to complement the designated address data item with a domain name, and a transmission unit configured to transmit the address data item, complemented with the domain name by the complementing unit, to the client image processing apparatus.
In a second aspect of the present invention, there is provided a method of controlling a first image processing apparatus that is operable as a server to communicate with a client image processing apparatus via a network, and that stores an address book containing a plurality of address data items including one or more address data items in which no domain name is described, comprising determining whether or not a domain name is described in a designated one of the address data items stored by the first image processing apparatus, complementing, when it is determined that a domain name is not described in the designated address data item, the designated address data item with a domain name, and transmitting the address data item, complemented with the domain name, to the client image processing apparatus.
In a third aspect of the present invention, there is provided a computer-readable storage medium storing a computer-readable program for causing a computer to execute a method of controlling a first image processing apparatus that is operable as a server to communicate with a client image processing apparatus via a network, and that stores an address book containing a plurality of address data items including one or more address data items in which no domain name is described, wherein the method comprises determining whether or not a domain name is described in a designated one of the address data items stored by the first image processing apparatus, complementing, when it is determined that a domain name is not described in the designated address data item, the designated address data item with a domain name, and transmitting the address data item, complemented with the domain name, to the client image processing apparatus.
According to the present invention, when a reference request for referring to address data having no domain name described therein is received, it is possible to complement the address data with a domain name and then transmit the same. This makes it possible e.g. to send address data correctly to a designated destination, and to reduce failure of authentication.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
The present invention will now be described in detail below with reference to the accompanying drawings showing embodiments thereof.
Referring to
The RAM 12 provides a work area and a data storage area for the CPU 11. The hard disk 13 stores the program for implementing the control method of the present invention, various kinds of data (including an address book storing a plurality of address data items), various settings, and so forth. The hard disk 13 may be replaced by an NVRAM or the like. The communication section 17 communicates with external apparatuses via a network. In the present embodiment, processes in the address book server are executed by the CPU 11 controlling the RAM 12, the hard disk 13, and the communication section 17 via the main bus 14, unless otherwise specified.
Referring to
The input section 25 is used by users (including an operator and an installer) for inputting commands. The display section 26 displays various screens. The communication section 27 communicates with external apparatuses via the network. The reading section 28 reads an image as electronic data from an original such as a sheet original. In the present embodiment, processes in the address book client are executed by the CPU 21 controlling the RAM 22, the hard disk 23, the input section 25, the display section 26, the communication section 27, and the reading section 28 via the main bus 24, unless otherwise specified.
As shown in
Although in the present embodiment, the DNS (Domain Name System) servers D1 and D2 are employed as means for performing name resolution, this is not limitative, and any other means, such as WINS (Windows (registered trademark) Internet Naming Service), for performing name resolution may be employed.
Next, the operation of the image processing system of the present embodiment, which is configured as above, will be described in detail with reference to
Referring to
First, referring to
First, the CPU 11 determines whether or not a host name specified by a designated address data item is an IP address (step S1204). If the CPU 11 determines that the host name is an IP address, the process proceeds to a step S1207. If the host name is not an IP address, the CPU 11 determines whether or not a domain name is included (described) in the host name (step S1205).
If the CPU 11 determines that a domain name is included (described) in the host name, the process proceeds to the step S1207, whereas if not, the CPU 11 complements the host name with a domain name by querying the DNS server D1 via the communication section 17 (step S1206), i.e. the address data item is formed into address data in FQDN (Fully Qualified Domain Name) format. Then, the process proceeds to the step 1207.
Then, the CPU 11 determines whether or not a domain name is included in a user account (user name) by the designated address data item (step S1207). If a domain name is included in the user account, the process returns to the step S1203 to execute the present loop again for the next address data item designated in the address book reference request. Thus the loop is executed a number of times equal to the number of the designated address data items. If a domain name is not included in the user account, the CPU 11 complements the user account with a domain name by querying the DNS server D1 via the communication section 17 (step S1208), followed by the process returning to the step S1203.
When the process exits from the loop starting from the step S1203, the CPU 11 sends the designated address data, via the communication section 17, to the address book client that transmitted the address book reference request (step S1209), followed by the process returning to the step S1102.
The determination in the step S1204 as to whether or not the host name is an IP address is performed by determining whether or not the host name is formed by a combination of numerals, a dot, numerals, a dot, numerals, . . . . Further, the determination in the step S1205 as to whether or not a domain name is written in a host name is performed by determining whether or not the host name is formed by a combination of alphanumeric characters, a dot, alphanumeric characters, a dot, alphanumeric characters, . . . . Further, the determination in the step S1207 as to whether or not a domain name is written in a user account is performed by determining whether or not the user account is formed by a combination of alphanumeric characters, a dot, alphanumeric characters, a dot, alphanumeric characters, . . . .
Next, a detailed description will be given of the processing executed in the steps S1206 and S1208 for querying the DNS server D1 to complementarily add a domain name. Each of the steps S1206 and S1208 may be executed as follows: After a first query is made to the DNS server D1, a domain name is cached in a storage area of the RAM 12 or the like, and from the next execution of the loop, the cached domain name is acquired without making a query to the DNS server D1, and used for complementary addition of a domain name. This can be done when one or more address data items, in which a domain name is not described, in the address book of SV1 have the same domain name. In this case, the cached domain name is deleted after completion of check on all the designated address data items.
When a domain name cannot be complementarily added, for example the DNS server D1 is temporally down, in the step S1206 or S1208, the following processing method may be employed: The CPU 11 adds information indicative of failure of complementary addition of a domain name in association with the address data, as complementing result information, and sends the address data to the address book client via the communication section 17. Then, the address book client selectively determines which DNS server (the DNS server D2 or the address book server SV1) should execute name resolution based on the complementing result information. The complementing result information may be stored e.g. in the storage area of the RAM 12 separately from address data and be transmitted.
Next, referring to
Then, the CPU 11 makes a query to the DNS server D1 set in the address book server SV1 via the communication section 17, whereby the CPU 11 performs, using the DNS server D1, name resolution on a host name (a transmission destination to which an image is to be sent from the address book client) received from the address book client (step S1302). Next, the CPU 11 sends a name resolution result to the address book client via the communication section 17 (step S1303), followed by the process returning to the step S1102.
Referring first to
Then, the CPU 21 awaits transmission of the address data from the address book server SV1 and receives the address data via the communication section 27 (step S1502). The CPU 21 displays an address book reference screen (see
Then, the CPU 21 recognizes a user input from the input section 25 (step S1504). If the input is not an image transmission instruction for image transmission to a designated destination (NO to a step S1505), the present process is immediately terminated. If the input is an image transmission instruction for image transmission to a designated destination (YES to a step S1505), the process proceeds to a step S1601 in
If the host name has a domain name written therein, the present process is immediately terminated. If the host name does not have a domain name written therein, the CPU 21 sends a name resolution request to the address book server SV1 via the communication section 27 (step S1603). The CPU 21 awaits transmission of a name resolution result from the address book server SV1 and receives the name resolution result via the communication section 27 (step S1604), followed by terminating the present process.
In the processing executed in the step S1501 for sending an address book reference request to an address book server, information (IP address or the like) on the DNS server D2 set in the address book client C1 may be transmitted along with the address book reference request. This makes it possible to determine whether or not the address book server should perform complementary addition of a domain name. That is, the address book server SV1 performs complementary addition of a domain name if the DNS server set in the address book client C1 is different from the DNS server set in the address book server SV1.
Further, when it is determined in the step S1505 that the input is an image transmission instruction for image transmission to the designated destination and when the address data received from the address book server contains complementing result information, by consulting the complementing result information, a name resolution request may be sent to the address book server (step S1603) without performing host name check (steps S1601 and S1602).
Furthermore, when the address data contains the complementing result information, the address book client C1 may directly send a name resolution request to the DNS server D1 set in the address book server in place of sending a name resolution request to the address book server. In this case, the complementing result information sent from the address book server contains the IP address of the DNS server D1 set in the address book server.
As described above in detail, according to the present embodiment, when address data is not fully descriptive, e.g. due to absence of a domain name, the address data is complemented with a domain name to make the same fully descriptive, and is then transmitted. This makes it possible to send (export) address data correctly to a designated destination, and to reduce failure of authentication.
Next, a description will be given of a second embodiment of the present invention. The present embodiment is identical in hardware configuration to the above-described first embodiment, and hence while omitting duplicate illustration and description of the hardware configuration, the following description will be given using the same reference numerals denoting the corresponding elements thereof. The present embodiment is basically different from the first embodiment in the following points:
A user inputs an address data transmission instruction for sending designated address data to an address book client, from the input section of the address book server, whereby the address book server operates in response to the address data transmission instruction (step S2103).
An address book server acquires information on a name resolution unit (DNS server) set in an address book client, to thereby determine whether or not to complementarily add a domain name (steps S2203 to S2206).
The address book server stores a domain name addition result as domain name addition result information in address data (step S2305).
The address book server sends information on the address book server to the address book client (step S2308).
The address book client sends the information on the name resolution unit set therein to the address book server (step S2506).
The address book client determines a name resolution request destination based on domain name addition result information stored in the address data (step S2702).
And, the address book client receives an IP address of the address book server from the address book server and stores the same (steps S2601 and S2602).
Referring first to
First, referring to
Then, the CPU 11 sends to an address book client designated in the address data transmission instruction an IP address acquisition request for the IP address of a DNS server set in the address book client (i.e. the DNS server D2) via the communication section 17 (step S2203). Further, the CPU 11 receives the IP address of the DNS server D2 set in the address book client and sent back therefrom in response to the IP address acquisition request, via the communication section 17 (step S2204).
Then, the CPU 11 performs comparison between the received IP address of the DNS server D2 set in the address book client and the IP address of the DNS server D1 set in the address book server SV1 (step S2205). Further, the CPU 11 determines, based on determining conditions, whether or not the DNS server of the address book server SV1 and the DNS server of the address book client are identical, to thereby determine whether or not to complementarily add a domain name (step S2206). The determining conditions may be “YES if the IP addresses of all the DNS servers are identical” or “YES if at least one of the DNS servers set in the address book client is identical to one set in the address book server SV1”, for example.
If the DNS server of the address book server and the DNS server of the address book client are identical (the IP addresses of the two DNS servers are identical), the process proceeds to a step S2308 in
If the DNS server of the address book server and the DNS server of the address book client are not identical (the IP addresses of the two DNS servers are different from each other), the process proceeds to a step S2301 in
First, the CPU 11 determines whether or not a host name included in a designated address data item is an IP address (step S2302). If it is determined that the host name is an IP address, the CPU 11 executes a step S2306, referred to hereinafter. If the host name is not an IP address, the CPU 11 determines whether or not a domain name is written in the host name (step S2303). If a domain name is written in the host name, the CPU 11 executes the step S2306.
If it is determined that a domain name is not written in the host name, the CPU 11 complements the host name with a domain name by querying the DNS server D1 via the communication section 17 (step S2304), i.e. the address data item is formed into address data in FQDN format. Then, the CPU 11 stores the result of the complementary addition of the domain name as domain name addition result information in the address data (step S2305). In the domain name addition result information, information indicating “Domain name addition is successful” or “Domain name addition is unsuccessful, and therefore a name resolution request should be sent to the address book server” is stored as a flag or the like. The domain name addition result information may be stored e.g. in the RAM 12 separately from the address data.
Then, the CPU 11 determines whether or not a domain name is written in a user account (step S2306). If a domain name is written in the user account, the process returns to the step S2301. If a domain name is not written in the user account, the CPU 11 complements the user account with a domain name by querying the DNS server D1 via the communication section 17 (step S2307), followed by the process returning to the step S2301 execute the present loop a number of times corresponding to the number of the designated address data items.
When the process exits from the loop starting from the step S2301, the CPU 11 sends the address data and the IP address of the address book server SV1 via the communication section 17 to the address book client that transmitted the IP address of the DNS server D2 (step S2308), followed by the process returning to the step S2102.
Next, a detailed description will be given of the processing executed in the steps S2304 and S2307 for querying the DNS server D1 to complementarily add a domain name. The steps S2304 and S2307 may be executed as follows: After a first query is made to the DNS server D1, a domain name is cached in a storage area of the RAM 12 or the like, and from the next execution of the loop, the cached domain name is acquired without making a query to the DNS server D1 and is used for complementary addition of a domain name. In this case, the cached domain name is deleted after check on all the designated address data items is completed.
Next, referring to
Referring first to
First, a description will be given of the case where the input is an address data reception request from the address book server (YES to a step S2503). In this case, referring to
Next, a description will be given of the case where the input is an image transmission instruction from the input section 25 (YES to a step S2504). In this case, referring to
If the domain name addition result information does not designate transmission of a name resolution request to the address book server, the present process is immediately terminated. If the domain name addition result information designates the transmission of the name resolution request, the CPU 21 sends the name resolution request to the address book server via the communication section 27 (step S2703). Then, the CPU 21 receives a name resolution result from the address book server via the communication section 27 (step S2704), followed by terminating the present process.
Next, referring to
As described above, according to the present embodiment, when address data is not fully descriptive e.g. due to absence of a domain name, the address data is complemented with a domain name to make the same fully descriptive, and is then transmitted. This makes it possible to send address data correctly to a designated destination, to reduce failure of authentication, and to check information more correctly at a receiving end.
According to the second embodiment, it is determined whether or not a DNS server set in an address book client and a DNS server set in the address book server are identical, and then processing is executed differently depending on the determination. However, for example, the address book server may store, in advance, identifier information for identifying an address book client in which is set the same DNS server as that set in the address book server. In this case, when an address data transmission instruction for sending address data to the address book client in which is set the same DNS server as that set in the address book server is received via the input section, processing for complementarily adding a domain name is not carried out.
Further, in a case where it is possible to set a plurality of DNS servers in a single address book client, if at least one of the DNS servers set in the address book client is identical to the DNS server set in the address book server, the address book client may be regarded as having the same DNS server set therein.
Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiments, and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiments. For this purpose, the program is provided to the computer for example via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium).
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2009-050755, filed Mar. 4, 2009, and Japanese Patent Application No. 2010-044499, filed Mar. 1, 2010, which are hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2009-050755 | Mar 2009 | JP | national |
2010-044499 | Mar 2010 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5784560 | Kingdon | Jul 1998 | A |
8045485 | Shima et al. | Oct 2011 | B2 |
8543107 | Bertz | Sep 2013 | B1 |
20020035624 | Kim | Mar 2002 | A1 |
20020087743 | Givoly | Jul 2002 | A1 |
20020191211 | Miller | Dec 2002 | A1 |
20030055979 | Cooley | Mar 2003 | A1 |
20030126241 | Nagura et al. | Jul 2003 | A1 |
20030145089 | Edwards | Jul 2003 | A1 |
20030163737 | Roskind | Aug 2003 | A1 |
20040047349 | Fujita et al. | Mar 2004 | A1 |
20040153455 | Bhogal et al. | Aug 2004 | A1 |
20040220970 | Wilson | Nov 2004 | A1 |
20040263898 | Ferlitsch | Dec 2004 | A1 |
20040264389 | Abdo | Dec 2004 | A1 |
20050086377 | Aso | Apr 2005 | A1 |
20070081399 | Kishimoto | Apr 2007 | A1 |
20080301313 | Bhogal et al. | Dec 2008 | A1 |
20090182821 | Allen | Jul 2009 | A1 |
20100005146 | Drako | Jan 2010 | A1 |
20100005191 | Drako | Jan 2010 | A1 |
Number | Date | Country |
---|---|---|
1701587 | Nov 2005 | CN |
1 763 216 | Mar 2007 | EP |
2004-165877 | Jun 2004 | JP |
2005-094676 | Apr 2005 | JP |
10-2005-0103192 | Oct 2005 | KR |
Entry |
---|
Mockapetris. “RFC 883—Domain Names: Implementation Specification.” IETF Tools. Nov. 1983. Web. <http://tools.ietf.org/html/rfc883>. |
Extended European Search Report issued in European Patent Application No. 10155389.9 dated Jun. 29, 2010. |
Mockapetris P. ,ISI, “Domain Names-Implementation and Specification” Network Working Group Request for Comments # 883, IETF Standard, Internet Engineering Task Force, IETF, Nov. 1, 1983, XP015006873, pp. 1-76. Cited in EESR issued in corresponding EP 10155389.9 dated Jun. 29, 2010; see NPL cite No. 1. |
QAS: “Address database correction software,” Jul. 31, 2008, XP002586763, retrieved from the Internet on Jun. 11, 2010: http://web.archive.org/web/20080731051156/http://www.qas.com/address-correction-software.htm; Sections “Address database correction software” and “QAS Pro Web address validation software” included, pp. 1-3. Cited in EESR issued in corresponding EP 10155389.9 dated Jun. 29, 2010; see NPL cite No. 1. |
Chinese Office Action issued in counterpart Chinese application No. CN201010126858.4, dated Aug. 16, 2012. English translation provided. |
Korean Office Action. Mail date Sep. 26, 2012. |
Number | Date | Country | |
---|---|---|---|
20100228820 A1 | Sep 2010 | US |