以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理方法及び情報処理プログラムの最良な実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、第1の実施の形態にかかるネットワーク構成を示す説明図である。図1に示すように、ネットワークは、事業所毎にLAN等による事業部内ネットワークが設定されている。当該ネットワークに接続されているMFPは、文書データを記憶部に格納している場合、当該文書データから印刷された紙文書をスキャンさせると、当該紙文書の印刷ジョブ又は部単位で文書データの再印刷を提供するサービスを備えている。具体的には、紙原稿に符号化されているマーキングに含まれている機器IDから当該紙原稿を印刷したMFPを特定し、特定されたMFPから、ネットワークを介して、当該紙原稿に印刷された画像データを含む印刷ジョブ単位又は部単位で画像データを取得して、取得した画像データの再印刷を提供する。これにより、利用者は一枚の紙原稿から印刷ジョブや部単位の紙原稿を再印刷することができる。本実施の形態ではこのようなサービスを、ペーパコマンダと呼ぶこととする。以下に、機器IDを用いてMFPを特定する手順について説明する。
図1に示す例では、利用者が事業部AAにおり、紙文書Aの文書データの取得を所望していることとする。この紙文書Aの文書データが、EE事業所のMFP100内に格納されており、利用者は、紙文書Aを事業部EEで印刷したことは認識しているが、MFP100を識別するIPアドレスや機種ID等まで覚えていない状況を想定している。本実施の形態では、このような場合であっても利用者がMFP110を操作することで、紙文書Aの文書データを格納しているMFPを特定することが可能となる。これにより利用者は、紙文書Aの文書データを取得することができる。
このように、本実施の形態では、所定のサービス(例えばペーパコマンダ)を提供しているMFPを特定するための技術について説明する。なお、本実施の形態では、MFPを例に説明するが、MFPに限らず任意の装置に適用することができる。
図2は、本実施の形態にかかるMFP100の構成を示すブロック図である。本図に示すようにMFP100の内部は、記憶部201と、ドメイン格納部202と、キャッシュテーブル格納部203と、文書データ格納部204と、通信処理部205と、登録要求部206と、事業部入力受付部207と、ドメイン取得部208と、サービス情報取得部209と、検索部210と、登録部212と、サービス利用要求部213と、サービス提供部214と、表示処理部215と、登録情報取得部216と、パケット生成部217と、サービスID生成部211とを備える。なお、MFP101〜MFP103及びMFP110も同様の構成を備えていることとして、説明を省略する。
記憶部201は、MFP100が提供しているサービスを識別するサービス種別名や、MFP100を識別する機器ID等、様々な情報を格納している。
図3は、記憶部201のテーブル構造を示した図である。図3に示すように記憶部201は、hostnameと、IPv4_Addrと、IPv6_Addrと、機器IDと、Priority_dataと、Weight_dataと、Port_dataと、ProductInfoと、AdminURLinfoと、PeperSizeInfoと、を対応付けて記憶する。そして、MFP100は、記憶部201内に、図3に示すテーブルを提供するサービス毎に保持する。
hostnameは、MFP100を識別するホスト名を保持する。IPv4_Addrは、IPv4により、MFP100を識別するアドレスを保持する。IPv6_Addrは、IPv6により、MFP100を識別するアドレスを保持する。また、MFP100が起動する毎に異なるアドレスが割り当てられる場合、記憶部201のIPv4_Addr及びIPv6_Addrも起動する度に更新されるものとする。
機器IDは、MFP毎に設定されたユニーク且つ不変的なIDとする。なお、本実施の形態では、MFP100の機器IDを、“machineID”とする。
サービス識別名は、MFP100が提供するサービスを識別する識別名とする。本実施の形態のサービス識別子の例としては、ペーパコマンダを識別する“_application1._tcp”等がある。
ドメイン名は、MFP100が所属するドメイン名とする。本実施の形態では、MFP100が所属するドメイン名“domainname1”を保持する。
Priority_dataは、優先度を保持する。同一サービスに対して複数のMFPが設定されている場合、値が小さい方が優先される。Weight_dataは、負荷分散をするための値を保持する。なお、Weight_dataが“0”の場合、負荷分散を行わない。
Port_dataは、MFP100がサービスを提供するポート番号を保持する。ProductInfoは、MFP100の製造先及び機種に関する情報を保持する。AdminURLinfoは、管理者に問いあわせるためのURLを保持する。PeperSizeInfoは、MFP100が提供するサービスで利用可能な紙のサイズを保持する。登録手法は、サービスの登録手法を保持する。
他にも、記憶部201は、後述するキャッシュテーブルを使用するか否かを示す使用フラグを格納していても良い。
ドメイン格納部202は、ドメイン管理テーブルを保持する。図4は、ドメイン管理テーブルのテーブル構成を示した図である。図4に示すように、ドメイン管理テーブルは、事業所と、ドメイン名とを対応付けている。
キャッシュテーブル格納部203は、サービス提供先を示すアドレスを管理しているキャッシュテーブルを保持する。図5は、キャッシュテーブルのテーブル構造を示した図である。図5に示すように、キャッシュテーブルは、サービスIDと、IPアドレスと、TTL(レコードの生存時間)と、register date(更新日)と、laretst access date(最終アクセス日)とを対応付けて保持する。
サービスIDは、機器IDと、サービス識別名と、ネットワーク情報とを結合したIDとする。例えば、機器IDが“machineID55”で、サービス識別名が“_application2._tcp”で、ネットワーク情報が“local”の場合、サービスIDは、“machineID55._application2._tcp.local”となる。
サービス識別名とは、上述したサービスを識別する名称とし、IANAで定義されている“プロトコルとポート番号”に準拠したものとする。そして、サービス識別名である“_application2”は、文書検索サービス用に定義したものとする。
また、サービスIDにおいて、機器ID及びサービス種別名が含まれているので、機器IDで識別される装置が複数サービスを提供する場合に、所望のサービスまで絞り込むことができる。当該サービスIDとポート番号とを対応付けることで、サービスIDから、ポートまで特定することができる。また、サービスIDと文書データとを対応付けた場合には、サービスを提供しているMFPのみならず、所定の文書データを管理しているMFPまで絞り込むことが可能となる。
ネットワーク情報とは、当該サービスを提供しているネットワークを識別する情報とする。本実施の形態においては、事業部内のローカルネットワーク内で当該サービスが提供されている場合には、“local”となり、他の事業部におけるネットワークの場合は、サービス提供先の装置を示すホスト名と、サービスを提供する事業部のネットワークを示すドメイン名とを結合した文字列となる。
なお、本実施の形態は、MFPを特定するために用いるサービスIDを、機器IDと、サービス識別名と、ネットワーク情報とを結合したものに制限するものではない。
TTL(Time To Live)は、当該レコードの生存時間とする。このTTLが‘0’になったときに、当該レコードが自動的に削除される。“register_date”は、当該レコードが登録された日とする。“latest access date”は、当該レコードにアクセスされた最新の日時を保持している。
また、キャッシュテーブルでは、キャッシュとして保持できるレコード数に制限がある。そして、キャッシュとして保持できるレコード数は、MFP毎に予め定められているものとする。なお、管理者が当該レコード数を設定可能としても良い。
また、キャッシュテーブルにレコードが追加されるタイミングとしては、他のMFPからマルチキャスト通信でサービスを提供しているMFPに関する情報を受信した場合、又はDNSサーバとのユニキャスト通信でサービスを提供しているMFPに関する情報を受信した場合とし、これら情報がキャッシュテーブルに格納される。これら情報をキャッシュに保持することで、検索時にパケットを出すことなく、サービスを提供しているMFPを特定することができる。
また、キャッシュテーブルで保持可能な最大数のレコードを保持している場合に、マルチキャストによる情報の受信などで新たにレコードを追加する必要がある場合、キャッシュテーブル格納部203では、“latest access date”が最も古いレコードを削除して、新たに受信した情報をレコードとして登録する。
また、既に登録されたレコードと同一のサービスIDの情報を受信した場合、キャッシュテーブル格納部203では、当該サービスIDの情報が格納されたレコードに対して、受信した最新の情報に基づいて更新処理等が行われる。また、受信した情報により、キャッシュテーブルに格納されたレコードのうち、既にサービスを提供していないサービスIDに関するレコードと判断された場合、キャッシュテーブル格納部203では、当該レコードを削除する等の処理を行ってもよい。これにより、キャッシュテーブルに格納されている情報の信頼性が向上する。
文書データ格納部204は、文書データを格納している。MFP100が提供するサービスであるペーパコマンダは、文書データ格納部204に格納された文書データを、他のMFP等に対して提供するサービスを行う。
また、本実施の形態では、MFP100が提供するサービス毎に、ポート番号が割り当てられている。つまり、利用者が任意のMFPを操作して他のMFPで提供されているサービスを利用したいと考えた場合、当該サービスを提供しているMFPのIPアドレスとポート番号とを特定することで、当該サービスを利用できる。
しかしながら、オフィス・ネットワーク内においては、DHCP(Dynamic Host Configuration Protocol)サーバ等の利用していることも多く、MFPのIPアドレスが必ずしも固定されているわけではない。そこで、本実施の形態では、複合機毎に固定のパラメータである機器IDを割り当てるものとする。そして、複合機は起動する毎に、機器IDと、IPアドレス及びポート番号を、DNSサーバに登録する。これにより、IPアドレスが固定でなくとも、DNSサーバに対して機器IDで問い合わせを行うことで、サービスを提供している複合機のIPアドレスとポート番号を特定できる。
また、記憶部201、ドメイン格納部202、キャッシュテーブル格納部203、及び文書データ格納部204は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶手段により構成することができる。
通信処理部205は、ネットワークを介して接続されたMFP、DNSサーバ、ルータ等の通信処理装置との間で、データの送受信処理を行う。また、後述する登録要求部206による登録要求、検索部210による検索、サービス利用要求部213によるサービス利用要求、及びサービス提供部214によるサービス提供は、通信処理部205を介して行われる。
登録情報取得部216は、記憶部201から、DNSサーバや他のMFP等に登録する情報を取得する。取得する情報としては、記憶部201からMFP100を識別する機器ID、MFP100が提供するサービスを示すサービス識別名、当該サービスに割り当てられたポート番号、MFP100のIPアドレス、MFP100のホスト名、MFP100が所属するドメイン名及び登録手法等とする。さらに、登録情報取得部216は、登録先のDNSサーバを示すドメイン名を取得しても良い。また、登録情報取得部216の情報の取得先としては、MFP100に接続された第2DNSサーバ121などの装置から取得しても良い。
登録手法とは、MFP100が提供するサービスを、DNSサーバや他のMFPに対して登録する際の通信手法とする。そこで、本実施の形態にかかる登録手法としては、例えば、ユニキャストか、マルチキャストか、又はユニキャストとマルチキャストとの両方を用いるかとする。
パケット生成部217は、登録情報取得部216が取得した情報をレコード情報に整形し、登録手法に従って送信するパケットを生成する。
例えば、登録手法がユニキャストの場合、パケット生成部217は、登録情報取得部216が取得した情報を、DNSサーバに登録するための各種レコード情報に整形し、ユニキャスト送信用のパケットを生成する。
例えば、登録手法がマルチキャストの場合、パケット生成部217は、登録情報取得部216が取得した情報を、MFP100が属するサブネット内の各種装置に登録するための各種レコード情報に整形し、マルチキャスト送信用のパケットを生成する。なお、パケット生成部217が生成するパケットの具体的な構成については後述する。
登録要求部206は、ユニキャスト登録要求部221と、マルチキャスト登録要求部222とを備え、DNSサーバや他のMFPに対して、MFP100が提供するサービスの登録を要求する処理を行う。
ユニキャスト登録要求部221は、MFP100が属するサブネットの外部に配置されたDNSサーバに対して、パケット生成部217で生成されたパケットを送信すると共に、当該パケットに含まれる情報の登録を要求する。当該パケットには、上述したようなMFP100が提供するサービスを外部から利用するために必要な情報(例えば機器IDやMFP100のアドレス情報)が含まれている。
また、当該外部に配置されたDNSサーバとは、MFP100が所属する同一ドメイン内において、最も上位の階層のDNSサーバとする。これにより、外部のドメインから参照可能なDNSサーバに上述した情報が登録されることになり、外部に対してサービスの提供が容易になる。なお、登録する情報及び登録する手順については後述する。
マルチキャスト登録要求部222は、MFP100が属するサブネット内の装置(例えばDNSサーバ及びMFP)に対して、パケット生成部217で生成されたパケットを送信すると共に、当該パケットに含まれる情報の登録を要求する。当該パケットには、上述したようなMFP100が提供するサービスを外部から利用するために必要な情報(例えば機器IDやMFP100のアドレス情報)が含まれている。なお、登録する情報及び登録する手順については後述する。また、本実施の形態では、マルチキャスト登録要求部222は、登録を要求する際、mDNSを用いる。
MFP100は上述した構成を備えることで、外部に対して提供しているサービスを、DNSサーバやサブネットワーク内のMFPに登録することが可能となる。以下に、他のMFPが提供しているサービスを利用するための構成について説明する。
事業部入力受付部207は、利用者からの事業部の入力を受け付ける処理を行う。つまり、利用者が任意のサービスを利用したい場合、当該サービスを提供している機器が所属するドメイン名、換言すれば事業部が必要となる。そこで、事業部入力受付部207が当該事業部の入力を受け付ける。
ドメイン取得部208は、事業部入力受付部207が受け付けた事業部に対応するドメイン名を取得する。この際、ドメイン取得部208は、ドメイン格納部202のドメイン管理テーブルを利用する。これにより、ドメイン取得部208は、ドメイン名を取得できる。
サービス情報取得部209は、これから利用するサービスを識別するサービス識別名を取得する。また、サービス情報取得部209は、当該サービスを提供しているMFPを示す機器IDを取得する。サービス識別名及び機器IDの取得手法はどのような手法でも良いが、例えばMFP100がスキャンした紙原稿の画像データから抽出する手法等が考えられる。
サービスID生成部211は、取得したサービス識別名、機器IDと、取得したドメイン名からサービスIDを生成する。
検索部210は、ユニキャスト検索部231と、マルチキャスト検索部235を備え、サービス提供先の機器の検索を行う。
ユニキャスト検索部231は、ユニキャスト出力部232と、機器情報取得部233とを備え、ユニキャストを用いて、サービスを提供している機器の検索を行う。
ユニキャスト出力部232は、同一サブネットワーク内に属するDNSサーバ(例えば第2DNSサーバ121)に対して、ドメイン取得部208が取得したドメイン名と共に、当該ドメイン名を管理しているDNSサーバのIPアドレスの送信要求を、ユニキャスト出力する。
また、ユニキャスト出力部232は、上記のDNSサーバから、当該ドメイン名を管理するDNSサーバのIPアドレスを取得した後、取得したIPアドレスに対して、所望するサービスを提供しているMFPのIPアドレス及びポート番号の送信要求をユニキャスト出力する。なお、詳細な処理手順については後述する。
機器情報取得部233は、ユニキャスト出力部232の出力先のDNSサーバから、所望のサービスを提供しているMFPを識別するIPアドレスと、サービスを提供しているポート番号等を取得する。
マルチキャスト検索部235は、マルチキャスト出力部236と、機器情報取得部237とを備え、マルチキャストを用いて、サービスを提供している機器の検索を行う。
また、マルチキャスト出力部236は、同一サブネットワーク内に所属しているMFP等に対して、利用者が所望するサービスを示すサービス識別名等を、マルチキャスト出力する。なお、詳細な処理手順については後述する。
機器情報取得部237は、同一サブネット内において、所望のサービスを提供しているMFPから、当該MFPを識別するIPアドレスと、サービスを提供しているポート番号等を取得する。
登録部212は、検索部210が検索した結果として取得した情報を、キャッシュテーブルに登録する。
サービス利用要求部213は、サービスを提供しているMFPのIPアドレス及びポート番号に対して、サービスの利用を要求する。サービス提供部214は、他のMFPから、所定のサービスに割り当てられたポートにサービスの利用の要求が入力された場合に、当該他のMFPに対してサービスを提供する。
表示処理部215は、MFP100が保持する(図示しない)液晶タッチパネルに対して、任意の情報の表示処理を行う。表示処理する情報としては、サービスの使用結果等が考えられる。
次に、以上のように構成された本実施の形態にかかるMFP100が他の装置に対して提供するサービスの登録処理について説明する。図6は、本実施の形態にかかるMFP100における上述した処理の手順を示すフローチャートである。本実施の形態にかかる登録処理は、MFP100が起動する度に行われ、MFP100の電源が入力され、MFP100に対してIPアドレスが割り当てられる等の初期設定が終了した時点で開始される。
まず、登録情報取得部216は、記憶部201から、サービスに登録するために必要な情報を取得する(ステップS501)。取得する情報は、MFP100のホスト名、MFP100のIPv4形式のアドレス、MFP100のIPv6形式のアドレス、機器ID、提供するサービスを示すサービス識別名、MFP100が所属するドメイン名、MFP100の優先度(Priority_data)、MFP100の負荷分散(Weight_data)、当該サービスに割り当てられたポート番号、MFP100の製造情報(ProductInfo)、管理者の連絡先(AdminURLinfo)、MFP100が提供するサービスの用紙サイズ(PeperSizeInfo)及び登録手法とする。当然ながら、記憶部201に記憶されているMFP100のIPv4形式のアドレス、及びMFP100のIPv6形式のアドレスは、新たに割り当てられたアドレスに更新されているものとする。また、登録情報取得部216は、予め設定されている場合は登録先のDNSサーバのIPアドレスも取得できる。
また、登録情報取得部216は、記憶部201からの取得することに限らず、あらゆる装置又は媒体から取得する。登録情報取得部216は、これら情報を、周知の手法を問わず、任意の手法で取得する。
次に、登録情報取得部216は、取得した登録手法により、実際に行う登録手法を判断する(ステップS502)。
そして、ステップS502で登録情報取得部216がユニキャスト登録と判断した場合、パケット生成部217が、サブネット内のMFPに登録する各種レコード情報を含む、ユニキャスト用のパケットを生成する(ステップS503)。図7−1及び図7−2は、パケット生成部217により、ユニキャストするために生成されたパケットの一例を示した図である。図7−1及び図7−2に示すように、生成するパケットには、AAAAレコード701と、SRVレコード708と、TXTレコード712と、で構成されている。
図7−1及び図7−2に示す、各レコードに格納されている各種パラメータは、パケット生成部217により設定される。そして、当該各種パラメータは、記憶部201から取得した情報に基づいて生成されたパラメータ、図示しない記憶部に記憶されていた時間パラメータから設定されたパラメータ、及び予め定められていた固定パラメータなどがある。なお、各パラメータの生成手法については、図7−1及び図7−2において、パラメータ毎に記載する。
例えば、図7−1に示すAAAAレコード701の“Name”パラメータ702は、記憶部201の“hostname”と“ドメイン名”とを組み合わせた文字列が設定される。また、AAAAレコード701の“Addr”パラメータ707は、記憶部201の“IPv6_Addr”に設定されていた文字列とする。
他の例としては、AAAAレコード701の“Type”パラメータ703及び“Class”パラメータ704は、予め定められていた固定パラメータとする。
さらに、AAAAレコード701の“Time to live”パラメータ705は、図示しない記憶部に記憶されていた時間パラメータが設定される。さらにAAAAレコード701の“Data length”パラメータ706は、AAAAレコード701のデータ長として算出された数値が設定される。
図7−2のSRVレコード708及びTXTレコード712の“name”パラメータ(709、713)は、記憶部201の機器ID、サービス識別名及びドメイン名を組み合わせて設定される。当該“name”パラメータにより、SRVレコード708と、TXTレコード712とを対応付けることができる。
さらに、図7−2のSRVレコード708の“Port”パラメータ710には、記憶部201の“Port_Data”が設定される。“Target”パラメータ711には、記憶部201の“hostname”及び“ドメイン名”を組み合わせた文字列が設定される。SRVレコード708の“Target”パラメータ711が、AAAAレコード701の“name”パラメータ702と一致しているため、SRVレコード708とAAAAレコード701とを対応付けることができる。
図6に戻り、ユニキャスト登録要求部221が、サービスの登録要求と共に、パケット生成部217により生成されたユニキャスト用のパケットを、所定のDNSサーバに対して、ユニキャストで出力する(ステップS504)。なお、詳細な出力手順については後述する。
また、ステップS502で登録情報取得部216がマルチキャスト登録と判断した場合、パケット生成部217が、サブネット内のMFPに登録する各種レコード情報を含む、マルチキャスト用のパケットを生成する(ステップS505)。図8は、パケット生成部217により、マルチキャストするために生成されたパケットの一例を示した図である。図8に示すように、生成するパケットには、Aレコード801と、AAAAレコード803と、SRVレコード804と、TXTレコード806と、PTRレコード808とで構成されている。
図8に示す、各レコードに格納されている各種パラメータは、図7−1及び図7−2のパラメータとほぼ同様の手法で設定される。なお、図8に示す各種パラメータの設定手法は、図8中のパラメータ毎に示した。
図7−1及び図7−2と異なる点としては、SRVレコード804及びTXTレコード805の “Name”パラメータ(805、807)、PTRレコード808の“Domain Name”809は、パケット生成部217が、MFP100の機器IDである“machineID1”と、“ペーパコマンダ”を識別するサービス識別名“_application1._tcp”と、サブネット内を意味する“local”とを結合して生成したサービスIDが設定されている点がある。
また、新たにAレコードの“Addr”パラメータ802には、IPv4形式のアドレスが設定される。
これらパラメータを含む各種レコードが、サブネット内のMFP等に登録されることで、サービスを提供するMFP100を特定することが可能となる。
マルチキャスト登録要求部222が、サービスの登録要求と共に、パケット生成部217により生成された、マルチキャスト用のパケットを、同一サブネットワーク内に設置された他のMFPに対して、マルチキャストで出力する(ステップS506)。なお、詳細な出力手順については後述する。
また、ステップS502で登録情報取得部216がユニキャスト及びマルチキャストで登録と判断した場合、パケット生成部217が、DNSサーバに登録する各種レコード情報を含む、ユニキャスト用のパケットを生成する(ステップS507)。なお生成手順は、ステップS503と同様とする。
そして、ユニキャスト登録要求部221が、サービスの登録要求と共に、パケット生成部217により生成されたユニキャスト用のパケットを、所定のDNSサーバに対して、ユニキャストで出力する(ステップS508)。
次に、パケット生成部217が、サブネット内のMFPに登録する各種レコード情報を含む、マルチキャスト用のパケットを生成する(ステップS509)。なお、生成手順は、ステップS505と同様とする。その後、マルチキャスト登録要求部222が、サービスの登録要求と共に、パケット生成部217により生成されたマルチキャスト用のパケットを、同一サブネットワーク内に設置された他のMFPに対して、マルチキャストで出力する(ステップS510)。
上述した処理手順を行うことで、当該サービスの提供する範囲に応じて適切にサービスの登録を行うことができる。
次に、以上のように構成された本実施の形態にかかるMFP100における図6のステップS504又はS508で示したユニキャスト登録要求処理について説明する。図9は、本実施の形態にかかるMFP100における上述した処理の手順を示すフローチャートである。
まず、ユニキャスト登録要求部221は、登録情報取得部216により、登録先のDNSサーバのドメイン名を取得済か否か判断する(ステップS601)。
そして、ユニキャスト登録要求部221が、登録先のDNSサーバのドメイン名を取得済ではないと判断した場合(ステップS601:No)、ユニキャスト登録要求部221自身が登録先のDNSサーバのドメイン名を予め保持しているか否か判断する(ステップS602)。予め保持していないと判断した場合(ステップS602:No)、登録要求処理を行わずに終了する。
ドメイン名を取得済であると判断した場合(ステップS601:Yes)、又はドメイン名を予め保持していると判断した場合(ステップS602:Yes)、ユニキャスト登録要求部221は、当該ドメイン名で示されるDNSサーバに対して、サービスの登録要求を行う(ステップS603)。また、本処理手順で示した例では、取得済又は予め保持していたドメイン名を、MFP100が属する事業部EE内に含まれるDNSサーバであって、外部の事業部のネットワークでも参照可能な第1DNSサーバ122のドメイン名とする。当該第1DNSサーバ122にMFP100のサービスに関する情報を登録することで、MFP100が提供するサービスをEE事業部の外部からも利用可能となる。
そして、ユニキャスト登録要求部221は、サービスの登録要求先のDNSサーバから、登録要求結果を取得する(ステップS604)。これにより、ユニキャスト登録要求部221は、適切に登録が行われたか否か判断することができる。
次に、図9のステップS603で行われる、ユニキャスト登録要求部221がサービスに関する情報を登録するまでのデータの送受信について説明する。図10は、ユニキャスト登録要求部221と、複数のDNSサーバとの間で行われる上述した処理を示したシーケンス図である。
まず、ユニキャスト登録要求部221は、登録先のDNSサーバのドメイン名の名前解決を、第2DNSサーバ121に要求する(ステップS701)。
本処理手順において、MFP100がサービスに関する情報を、第2DNSサーバ121ではなく第1DNSサーバ122に登録する。これは、第2DNSサーバ121では、他の事業部のネットワークから参照することができないためである。つまり、他の事業部のネットワークから参照可能な第1DNSサーバ122に登録することで、MFP100は他の事業部のネットワークに対してサービスを提供することが可能になる。そこで、MFP100は、まずMFP100と同一セグメント内に設置されている第2DNSサーバ121に対して、第1DNSサーバ122の名前解決を要求する。
次に、第2DNSサーバ121は、名前解決が要求されたドメイン名のIPアドレスをMFP100に対して出力する(ステップS702)。これにより、ユニキャスト登録要求部221は、第1DNSサーバ122のIPアドレスを取得できる。
そして、ユニキャスト登録要求部221は、第1DNSサーバ122のIPアドレスに対して、パケット生成部217により生成されたマルチキャスト用のパケットと共に、当該パケットに含まれるレコード情報の登録を要求する(ステップS703)。なお、当該パケットは、図7−1及び図7−2に示すように、SRVレコード708と、AAAAレコード701と、TXTレコード712と、を含むものとする。なお、ユニキャスト登録要求部221は登録する際には、第1DNSサーバ122のDNSの機能を用いて登録処理を行うこととする。これにより、これらのレコードは、第1DNSサーバ122に登録される。
そして、その第1DNSサーバ122が、MFP100に対して、正常に登録できたか否かを示す情報を通知する(ステップS704)。これにより登録処理が終了する。
なお、本実施の形態では、MFP100が、第1DNSサーバ122のホスト名を取得した後、当該ホスト名からIPアドレスを取得する例について説明した。しかしながら、本実施の形態は、上述する名前を解決する手法に限らず、例えば、MFP100が、第1DNSサーバ122のIPアドレスの予め認識していても良い。この場合、図10のステップS701とステップS702との処理手順は不要となる。
次に、マルチキャスト登録要求部222がサービスに関する情報を登録するまでに行われるデータの送受信について説明する。図11は、マルチキャスト登録要求部222と、MFP102との間で行われる上述した処理を示したシーケンス図である。
マルチキャスト登録要求部222は、同一サブネットワーク内に設置されたMFPに対して、パケット生成部217により生成されたマルチキャスト用のパケットと共に、サービスに関する情報の登録を要求する(ステップS1201)。なお、同一サブネットワーク内に複数のMFPが存在する場合、マルチキャスト登録要求部222は、これら全てのMFPに対して登録を要求する。これにより、マルチキャスト登録を行うことで、同一サブネット内のMFPであれば、MFP100が提供しているサービスを利用することが可能となる。
上述した処理手順で、マルチキャスト登録要求部222は、マルチキャスト用のパケットを送信することで、MFP102に対して、SRVレコードと、Aレコード又はAAAAレコードと、TXTレコードと、PTRレコードとが、MFP102に登録される。
上述した処理を行い、DNSサーバやMFPに各種レコードが登録されることで、利用者が任意のサービスを利用したい場合に、当該サービスを提供しているMFPを特定することが可能となる。そこで、次に、上述して登録された情報に基づいて、サービスの提供しているMFPを特定する処理手順について説明する。
次に、以上のように構成された本実施の形態にかかるMFP(例えばMFP110)が、利用したいサービスを提供している他のMFP(例えばMFP100)を特定するまでの処理について説明する。図12は、本実施の形態にかかるMFP110における上述した処理の手順を示すフローチャートである。
なお、本フローチャートで示す例では、利用者が、紙文書AのスキャンをMFP110に対して行うと共に、ペーパコマンダを利用する旨の入力を行った等が考えられる。
まず、サービス情報取得部209は、記憶部201から、キャッシュテーブルの使用フラグを取得する(ステップS1801)。
次に、サービス情報取得部209は、当該サービス(ペーパコマンダ)を提供している機器ID及び、当該サービス(ペーパコマンダ)を識別するサービス識別名を取得する(ステップS1802)。
サービス識別名の取得手法は、例えば、サービス情報取得部209が、当該サービス名(ペーパコマンダ)に対応付けられたサービス識別名を、当該対応関係を保持している記憶部(例えば、記憶部201)から取得する等が考えられる。
また、機器IDの取得手法は、例えば、サービス情報取得部209が、紙文書Aをスキャンした時に、紙文書Aに埋め込まれている機器IDを抽出する等が考えられる。
次に、事業部入力受付部207が、利用者からサービスの提供している事業所の入力を受け付ける(ステップS1803)。
図13は、利用者から事業所の入力を受け付ける操作パネル1900の例を示した図である。図13に示すように操作パネル1900は、液晶タッチパネル1910を備えている。そして、液晶タッチパネル1910は、「当事業所」1911、「BB事業所」1912、「CC事業所」1913、「DD事業所」1914、「EE事業所」1915を表示する。利用者が液晶タッチパネル1910に表示された各領域を選択することで、事業部入力受付部207が事業所の入力を受けたことになる。
図12に戻り、ドメイン取得部208が、事業部に対応するドメイン名を取得する(ステップS1804)。ドメイン取得部208は、ドメイン名を取得する際に、事業所名とドメイン名とを対応付けているドメイン格納部202を利用する。また、ドメイン取得部208は、また、同一サブネット内に該当する事業所が選択された場合、ドメイン取得部208は、ドメイン名として“local”を取得する。
次に、サービスID生成部211は、取得したサービス識別名、機器IDと、取得したドメイン名からサービスIDを生成する(ステップS1805)。
そして、検索部210が、サービスの提供先が同一サブネット内であるか否か判断する(ステップS1806)。この判断は取得したドメイン名が“local”か否かにより判断することができる。
そして、検索部210が、同一サブネット内と判断した場合(ステップS1806:Yes)、マルチキャストを用いて検索を行うことで当該サービスを提供しているMFPを特定する(ステップS1807)。なお、詳細な処理手順については後述する。
また、検索部210が同一サブネット内ではないと判断した場合(ステップS1806:No)、ユニキャストを用いて検索を行うことで当該サービスを提供しているMFPを特定する(ステップS1808)。なお、詳細な処理手順については後述する。
上述した処理を行うことで、利用者の操作に従って、当該サービスを提供しているMFPを特定することが可能となる。
次に、図12のステップS1807におけるマルチキャスト出力を用いてMFPを特定する処理について説明する。図14は、本実施の形態にかかるMFP110における上述した処理の手順を示すフローチャートである。
まず、マルチキャスト検索部235は、キャッシュテーブルの使用許可があるか否かを、キャッシュテーブルの使用フラグを参照して判断する(ステップS2001)。
そして、マルチキャスト検索部235は、使用許可があると判断した場合(ステップS2001:Yes)、予め生成されたサービスIDを検索キーとしてキャッシュテーブルに対して検索を行う(ステップS2002)。
次に、マルチキャスト検索部235は、該当するレコードが検出できたか否か判断する(ステップS2003)。
そして、マルチキャスト検索部235が該当するレコードを検出した場合(ステップS2003:Yes)、検出したレコードから、サービス提供先のIPアドレスを取得する(ステップS2004)。
次に、マルチキャスト検索部235は、取得したIPアドレスに対してアクセス可能か否か判断する(ステップS2005)。そして、マルチキャスト検索部235は、アクセス可能と判断した場合(ステップS2005:Yes)、ステップS2008に進む。
そして、キャッシュテーブルの使用許可がないと判断した場合(ステップS2001:No)、該当レコードを検出できなかった場合(ステップS2003:No)、取得したIPアドレスにアクセスできなかった場合(ステップS2005:No)、マルチキャスト検索部235は、同一サブネット内に含むMFPに対して、マルチキャストでサービスを提供しているMFPの検索を行う(ステップS2006)。
次に、機器情報取得部237が、検索結果として、所望するサービスを提供しているMFP(例えばMFP111)のIPアドレス及びポート番号などを取得する(ステップS2007)。
そして、マルチキャスト検索部235は、取得したIPアドレス及びポート番号を検索結果として、サービスを提供しているMFPの特定を要求した、アプリケーション等に対して通知する(ステップS2008)。
次に、マルチキャスト検索部235がサービスの提供しているMFPを特定するために行うデータの送受信について説明する。図15は、マルチキャスト検索部235と、MFP111、MFP112との間で行われる上述した処理を示したシーケンス図である。
マルチキャスト検索部235のマルチキャスト出力部236は、同一サブネット内のMFP111に対して、機器検索サービスタイプを含む検索クエリを出力する(ステップS2101)。また、マルチキャスト出力部236は、同一サブネットワーク内のMFP112に対しても同様に、機器検索サービスタイプを含む検索クエリを出力する(ステップS2102)。なお、マルチキャスト検索部235は、同一サブネット内であればMFP111、MFP112以外のMFPに対してもデータの送受信を行うが、本シーケンス図では説明を容易にするために省略する。
また、ステップS2101及びステップS2102において、マルチキャスト出力部236が出力する検索クエリは、PTRレコードを特定するための条件が格納されている。例えば、検索クエリには、PTRレコードの“Name”を特定するための“_application1._tcp.local”(機器検索サービスタイプ)と、“Type”を特定するための“PTR”と、“Class”を特定するための“IN”とが含まれているものとする。これにより、MFPが検索クエリの条件に一致するPTRレコードを保持している場合、当該PTRレコードと当該PTRレコードに関連するレコードを送信することができる。なお、本フローチャートでは、MFP111が、該当するPTRレコードを保持し、MFP112が該当するPTRレコードを保持していないものとする。
そして、MFP111は、当該検索クエリの条件に一致するPTRレコードを保持しているので、当該PTRレコード及び、当該PTRレコードの“Domain name”に格納されているサービスIDを“Name”フィールドに保持するSRVレコード、Aレコード、TXTレコードを、MFP110に送信する(ステップS2103)。これにより、図14のステップS2007で示したように、機器情報取得部237は、受信したPTRレコード、SRVレコード、Aレコード、TXTレコードから、当該サービスを提供しているサービスID、IPアドレス、ポート番号等を取得できる。
また、該当するサービスを提供しているMFPが複数ある場合、機器情報取得部237は、取得したSRVレコードから、該当する機器IDを保持するサービスIDが“Name”フィールドに格納されたレコードを検出する。
なお、MFP112は、受信した検索クエリの条件に一致するPTRレコードを保持していないので、特に処理を行わない。
上述した処理手順により、マルチキャスト検索部235は、MFP111から送信された情報から、所望するサービスを提供しているMFPのサービスID、IPアドレス及びポート番号を特定することが可能となる。
なお、本実施の形態とは異なるが、検索クエリを取得したMFPは、自機の中のキャッシュテーブル等で、当該検索クエリの条件に一致する情報を保持している場合、該当する情報すべてをマルチキャストしてもよい。マルチキャストする場合、同一サブネットワーク内に設置された全てのMFPは、マルチキャストされた情報に基づいてキャッシュテーブルの内容を更新する。これにより、同一サブネット内になる全てのMFPのキャッシュの情報をメンテナンスすることができる。
また、マルチキャスト出力部236が出力した機器検索サービスタイプは、サービス識別名に“local”が結合されている。“local”はサブネットワーク内を検索対象としているので、マルチキャスト検索部235は、サービス識別名の送信で、サブネットワーク内の他のMFPから、当該サービス識別名で識別されるサービスを提供しているMFPのIPアドレス、及び当該サービスを提供しているポート番号を取得している。
次に、図12のステップS1808におけるユニキャスト出力を用いてMFPを特定する処理について説明する。図16は、本実施の形態にかかるMFP110における上述した処理の手順を示すフローチャートである。
まず、ユニキャスト検索部231は、キャッシュテーブルの使用許可があるか否かを、キャッシュテーブルの使用フラグを参照して判断する(ステップS2201)。
そして、ユニキャスト検索部231は、使用許可があると判断した場合(ステップS2201:Yes)、予め生成されたサービスIDを検索キーとしてキャッシュテーブルに対して検索を行う(ステップS2202)。
次に、ユニキャスト検索部231は、該当するレコードが検出できたか否か判断する(ステップS2203)。
そして、ユニキャスト検索部231が該当するレコードを検出した場合(ステップS2203:Yes)、検出したレコードから、サービス提供先のIPアドレスを取得する(ステップS2204)。
次に、ユニキャスト検索部231は、取得したIPアドレスに対してアクセス可能か否か判断する(ステップS2205)。そして、ユニキャスト検索部231は、アクセス可能と判断した場合(ステップS2205:Yes)、ステップS2208に進む。
そして、キャッシュテーブルの使用許可がないと判断した場合(ステップS2201:No)、該当レコードを検出できなかった場合(ステップS2203:No)、取得したIPアドレスにアクセスできなかった場合(ステップS2205:No)、ユニキャスト検索部231は、DNSサーバに対して、ユニキャストでサービスを提供しているMFPの検索を行う(ステップS2206)。
次に、機器情報取得部233が、検索結果として、所望するサービスを提供しているMFP(例えばMFP111)のIPアドレス及びポート番号などを取得する(ステップS2207)。
そして、ユニキャスト検索部231は、取得したIPアドレス及びポート番号を検索結果として、サービスを提供しているMFPの特定を要求した、アプリケーション等に対して通知する(ステップS2208)。
次に、ユニキャスト検索部231がサービスの提供しているMFPを特定するためのデータの送受信について説明する。図17は、ユニキャスト検索部231と、第3DNSサーバ123、第1DNSサーバ122との間で行われる上述した処理を示したシーケンス図である。
ユニキャスト検索部231のユニキャスト出力部232は、MFP110から参照可能な第3DNSサーバ123に対して、サービスを提供しているドメイン名を出力し、当該ドメイン名を管理しているDNSサーバの名前解決の要求を行う(ステップS2301)。
そして、第3DNSサーバ123は、当該ドメイン名を管理している第1DNSサーバ122のIPアドレスを、MFP110に対して通知する(ステップS2302)。この通知を受信して、MFP110のユニキャスト検索部231は、検索クエリの出力先となる第1DNSサーバ122のIPアドレスを認識することができる。
そして、ユニキャスト検索部231のユニキャスト出力部232が、サービスIDを含む検索クエリを出力する(ステップS2303)。
また、ユニキャスト出力部232が出力する検索クエリに、SRVレコードを特定するための条件が格納されている。例えば、検索クエリには、“Name”を特定するための“machineID1._application1._tcp.domainname1”(サービスID)と、“Type”を特定するための“SRV”と、“Class”を特定するための“IN”とが含まれている。これにより、第1DNSサーバ122が検索クエリの条件に一致するSRVレコードを保持している場合、当該SRVレコードと当該SRVレコードに関連するレコードを送信することができる。
そして、第1DNSサーバ122は、当該検索クエリの条件に一致するSRVレコードを保持しているので、当該SRVレコード及び、当該SRVレコードの“Name”に格納されているサービスIDを“Name”フィールドに保持するAレコード、TXTレコードを、MFP110に送信する(ステップS2304)。これにより、図16のステップS2207で示したように、機器情報取得部237は、受信したSRVレコード、Aレコード、TXTレコードから、当該サービスを提供しているMFPのIPアドレス、ポート番号等を取得できる。
上述した処理手順により、MFP110はサービスを提供しているMFPを特定することができる。例えば、MFP110は、利用するサービスとして利用者からペーパコマンダの入力を受け付けた場合、スキャンした紙文書Aから機器IDを抽出するとともに、利用者から事業所の入力を受け付けることで、当該紙文書Aの文書データを保持し且つペーパコマンダ機能を提供しているMFP100と当該サービスを提供しているポート番号を特定できる。これにより、MFP110は、MFP100から紙文書Aの文書データを取得することができる。
なお、図17で示した処理手順は、MFP110が第1DNSサーバ122のIPアドレスを保持していない場合の例を示したものである。もし、MFP110が第1DNSサーバ122のIPアドレスを予め保持している場合は、ステップS2301及びS2302で示したデータの送受信を行う必要はない。
(第1の実施の形態の変形例)
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
上述した実施の形態では、上述したMFPが提供するペーパコマンダの処理手順について特に明示しなかった。そこで、本変形例では、MFPが提供するペーパコマンダにより、紙文書Aから機器IDを抽出してから印刷されるまでの処理について説明する。
本変形例にかかるMFPでは、紙原稿を印刷する際、紙原稿に機器IDと、用紙を一意に識別する識別情報(以下、PIDという)と、を符号化したマーキングを各用紙に出力する。
なお、マーキングの生成処理では、PIDを符号化したQRコード(登録商標)や、その他の2次元バーコードを生成する方法などの従来から用いられているあらゆるコード生成方法を用いることができる。
そして、当該MFPでは、紙原稿を印刷する際に、マーキングを紙原稿に付加すると共に、当該紙原稿の画像データをPIDと対応付けて自装置の記憶部内に格納する。さらに、MFPは、同時に印刷した紙原稿について部毎に識別情報(以下、BIDという)及びジョブ毎に識別情報(以下、JIDという)を割り当てる。そして、MFPは、BID、JID及びPIDを対応付け、当該対応関係をテーブルで管理する。これにより利用者は、部単位又は印刷ジョブ単位で再印刷を行うことができる。
例えば、利用者が任意のMFPで部単位又は印刷ジョブ単位で一枚の紙原稿をスキャンさせて再印刷を要求したこととする。この要求を受け付けたMFPは、読み込みを行った紙原稿にマーキングが付されていると判断した場合、マーキングからPID及び機器IDを検出し、機器IDを用いて上述した実施の形態と同様の処理を行う。これにより、MFPは、当該紙原稿にマーキングを行ったMFPのIPアドレス及びポート番号を特定できる。そして、MFPは特定されたIPアドレス及びポート番号に対して、検出されたPIDと部単位又は印刷ジョブ単位で画像データを送信するよう要求する。
図18は、MFP2580が、複数のネットワークを介して接続されたMFP2500から、画像データを取得、印刷するまでの処理手順を示した概念図である。なお、図18においては、上述したように、MFP2580は、MFP2500のIPアドレス及びポート番号は特定できているものとする。
そして、MFP2580は、MFP2500のIPアドレス及びポート番号に向けてPIDで識別される画像データを部単位又は所定の印刷単位で送信する要求を、DNSサーバ2560に対して要求する(図18の(1))。
そして、DNSサーバ2560は、MFP2580から、上述した送信要求を受け付ける。そして、DNSサーバ2560は、MFP2500のIPアドレス及びポート番号を管理しているDNSサーバ2561に対して、上述した送信要求を行う(図18の(2))。
次に、DNSサーバ2561は、DNSサーバ2560から、上述した送信要求を受け付けた場合、当該送信要求で指し示されているMFP2500のIPアドレス及びポート番号に対して、PIDで識別される画像データを部単位又は所定の印刷単位で送信する要求を行う。
そして、PIDと部単位又は印刷単位で画像データを送信する要求を受け付けたMFP2500では、上述した対応関係を保持しているテーブルから、検出されたPIDと対応付けられているJID又はBIDを取得できる。そして、当該MFP2500で、さらにJID又はBIDを検索キーとして再度テーブルに対して検索を行うことで、部単位又は印刷ジョブ単位のPIDを取得できる。そして、当該PIDと対応付けられている画像データを、送信要求を行ったMFP2550に対して送信する。
これにより、利用者は、当該紙原稿を用いた再印刷処理として部単位又は印刷ジョブ単位で再印刷をすることができる。
(第2の実施の形態)
上述した第1の実施の形態にかかる変形例では、画像データを取得するためには、画像データを蓄積しているMFPを常に稼働させておく必要がある。しかしながら、MFPはメンテナンス等をおこなうために、稼働を停止させる必要もあり、その場合には、画像データの取得に失敗が生じることになる。そこで第2の実施の形態では、常に画像データの取得が可能な画像管理システムを構成するMFPについて説明する。
図19は、第2の実施の形態にかかるMFP2600の構成を示すブロック図である。MFP2600は、上述した第1の実施の形態にかかるMFP100とは、操作部2601、複製先特定部2602、文書ID生成部2603、文書取得部2604、保管判断部2605、入力受付部2606、文書保管部2607、保管要求部2609、文書出力部2610、文書ID出力部2611が追加された構成を有している点で異なる。以下の説明では、上述した第1の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
また、MFP2600は、ネットワーク2650を介して、MFP2670及びDNSサーバ2560と接続されている。
操作部2601は、利用者からのMFP2600に対する操作の入力を受け付ける。
文書取得部2604は、スキャナが紙原稿をスキャンした場合に、スキャン結果である文書データを取得する。また、文書取得部2604は、利用者による操作部2601からの操作により生成された文書データを取得しても良い。なお、本実施の形態にかかる文書データは、第1の実施の形態の画像データと同様の情報とする。
文書ID生成部2603は、取得した文書データに対してユニークな文書IDを生成する。本実施の形態にかかる文書IDは、第1の実施の形態の変形例の所定の印刷単位であるBID又はJIDに該当する。
文書保管部2607は、文書ID生成部2603により生成された文書IDを2次元バーコードとして、文書取得部2604が取得した文書データに付加した後、文書データ格納部204に保管する処理を行う。さらに文書保管部2607は、文書データ格納部204に格納された文書データに対して、上書き又は削除などの処理を行う。なお、本実施の形態では、2次元バーコードに機器IDを含ませる必要はないものとする。
また、文書保管部2607は、オリジナル文書データを複製し、複製文書データを生成する。この生成された複製文書データは、すぐに他のMFPに出力される。その際、文書保管部2607は、この複製文書データに対して、複製文書データであることを示す複製情報を埋め込む。これにより、複製文書データに埋め込まれた複製情報を参照することで、文書データがオリジナル文書、複製文書なのかを識別することが可能となる。
複製情報は、オリジナル文書データと複製文書データとを区別する情報とする。複製情報の例としては、複製保管場所、複製日時、又はオリジナル文書の保管場所等が考えられる。
保管要求部2609は、ネットワークを介して接続されたMFPに対して、文書データの保管要求を行う。
複製先特定部2602は、保管要求部2609の保管結果に基づいて、文書保管部2607により生成された複製文書データの保管先となるMFPを特定する。本実施の形態では、複製先特定部2602は、保管要求部2609が出力した保管要求に対して受諾応答を送信したMFPから保管先を特定する。
複製先特定部2602による、受諾応答を送信したMFPから、保管先のMFPを特定する基準の例としては、あらかじめ定められた判断基準を使用して特定してもよい。他の例としては、複製先候補の一覧を表示して、利用者からの選択を受け付けたMFPに特定しても良い。
文書出力部2610は、複製先特定部2602により特定された保管先となるMFPに対して、文書データを出力する。当該出力により、保管先のMFPが、文書データを保管する。また、出力する際に、文書データに対して暗号化処理を施しても良い。なお、暗号化処理の手法としては、例えば公開鍵暗号方式など、あらゆる暗号化手法を用いて良い。
文書ID出力部2611は、自装置出力部2621と、保管先出力部2622と、を備えている。自装置出力部2621は、DNSサーバ2560に対して、生成された文書IDと、自装置であるMFP2500を識別する機器ID又はIPアドレスと、文書データがオリジナルであることを示す情報と、を対応付けて登録するよう要求する。
次に、保管先出力部2622は、DNSサーバ2560に対して、生成された文書IDと、複製先となるMFPを識別する機器ID又はIPアドレスと、文書データが複製であることを示す情報と、を対応付けて登録するよう要求する。
このため、DNSサーバ2560は、第1の実施の形態で説明した情報に加えて、MFPの機器ID又はIPアドレスと、文書IDと、文書データのオリジナル又は複製かを示す情報と、を対応付けて、SRVレコードとして保管する。
上述したMFP2600の構成により、取得した文書データを自装置と他のMFPとで保管すると共に、一つの文書IDに対して複数の保存先をDNSサーバ2560に登録できる。次に、MFP2600が複写先のMFPとして機能するために必要な構成について説明する。
保管判断部2605は、他のMFPから文書データの保管要求を受け付けた場合に、文書データを保管するか否か判断する。保管可能か否かの判断は、あらゆる要素が考えられ、例えば、文書データ格納部204に文書データを保管するための容量があるか否かなどが考えられる。
入力受付部2606は、保管判断部2605により保管可能と判断した場合に、保管要求元のMFPから文書データの入力を受け付ける。そして、入力受付部2606が入力を受け付けた文書データは、文書保管部2607により、文書データ格納部204に格納される。
そして、MFP2600は、文書データ格納部204に格納された文書データを印刷する場合、当該文書データの表紙には、上述した2次元バーコードが付与される。
さらに、DNSサーバ2560は、文書データを保管しているMFPの機器ID又はIPアドレスと、文書IDと、文書データのオリジナル又は複製かを示す情報と、を対応付けたSRVレコードを保持している。
そして、利用者が任意のMFPを利用した場合について説明する。利用者が紙原稿のスキャンを行うことで、当該MFPが2次元バーコードから文書IDを取得できる。その後、MFPは、及び文書データを保管しているMFPが所属する事業所の入力を受け付けたものとする。そして、入力を受け付けた事業部に対応するドメイン名を管理しているDNSサーバに対して、文書IDで問い合わせを行うことで、文書データを取得できる。
次に、以上のように構成された本実施の形態にかかるMFP2600における、文書データの保管処理について説明する。図20は、本実施の形態にかかるMFP2600における、上述した処理の手順を示すフローチャートである。
まず、文書取得部2604が、オリジナル文書データを取得する(ステップS2701)。なお、オリジナル文書データは、利用者が生成した文書データでも良いし、スキャナ等により読み込まれた文書データでも良い。
その後、文書ID生成部2603が、取得した文書データを識別する文書IDを生成する(ステップS2702)。
次に、文書保管部2607が、取得したオリジナル文書データに対して、生成した文書IDを表す2次元バーコードを付加した後、文書データ格納部204に保管する(ステップS2703)。
そして、文書ID出力部2611の自装置出力部2621が、オリジナル文書データを識別する文書IDと、自装置を識別する機器ID又はIPアドレスと、当該文書データがオリジナルであることを示す情報と、を対応付けて登録する要求を、DNSサーバ2560に対して行う(ステップS2704)。
次に、複製先特定部2602が、文書データの複製を保管するか否かを判断する(ステップS2705)。当該判断は、あらゆる基準に基づいて判断しても良いが、例えば、操作部2601から「複製して保管する」旨の操作を受け付けたなどが考えられる。
そして、複製先特定部2602が文書データの複製を保管しないと判断した場合(ステップS2705:No)、特に処理を行わずに終了する。
一方、複製先特定部2602が、文書データの複製を保管すると判断した場合(ステップS2705:Yes)、保管要求部2609が、通信処理部205を介して、ネットワーク2650を介して接続されたMFPに対して、文書データの保管要求を出力する(ステップS2706)。
次に、複製先特定部2602が、通信処理部205を介して、他のMFPから保管の受諾応答があったか否か判断する(ステップS2707)。そして、複製先特定部2602が、保管の受諾応答がなかったと判断した場合(ステップS2707:No)、処理を終了する。
一方、複製先特定部2602が、通信処理部205を介して、他のMFPから保管の受諾応答があったと判断した場合(ステップS2707:Yes)、受諾応答を送信したMFPから、複製文書の保管先となるMFPを特定する(ステップS2708)。
そして、文書保管部2607が、オリジナル文書データから、複製文書データを生成する(ステップS2709)。
次に、文書出力部2610が、生成した複製文書データを、特定されたMFPに対して出力する(ステップS2710)。この出力の際に、複製文書データに対して、暗号化処理を施しても良い。さらには、特定されたMFPが、当該複製文書データを暗号化処理が施された状態で保管しても良い。
その後、保管先出力部2622が、複製文書データを識別する文書IDと、複製文書の保管先であるMFPを識別する機器ID又はIPアドレスと、当該文書データが複製であることを示す情報と、を対応付けて登録する要求を、DNSサーバ2560に対して行う(ステップS2711)。なお、複製文書データを識別する文書IDと、オリジナル文書データを識別する文書IDとは同一とする。
上述した処理手順により、複製された文書データが他のMFPに保管されると共に、DNSサーバ2560が、一つの文書IDに対して複数の保管先を対応付けて管理することができる。
次に、以上のように構成された本実施の形態にかかるMFP2600における、他のMFP2670から文書データの保管要求を受け付けた場合の処理について説明する。図21は、本実施の形態にかかるMFP2600における上述した処理の手順を示すフローチャートである。
まず、MFP2600の通信処理部205は、他のMFP2670から、複製文書データの保管要求を受信する(ステップS2801)。
次に、保管判断部2605が、複製文書データの保管が可能か否か判断する(ステップS2802)。保管可能ではないと判断した場合(ステップS2802:No)、処理を終了する。
そして、保管判断部2605が、保管可能と判断した場合(ステップS2802:Yes)、通信処理部205を介して、MFP2670に対して、保管要求を受諾することを示す情報を送信する(ステップS2803)。
その後、入力受付部2606は、通信処理部205を介して、当該複製文書データの入力を受け付ける(ステップS2804)。
そして、文書保管部2607が、入力された複製文書データを、文書データ格納部204に対して、文書IDと対応付けて保管する(ステップS2805)。
上述した処理手順により、MFP2600は、他のMFP2670からの要求に従って、複製文書データを保管することができる。
次に、以上のように構成された本実施の形態にかかる文書保管システムにおける文書データを保管するまでの処理について説明する。図22は、本実施の形態にかかる文書保管システムにおける上述した処理の手順を示すシーケンス図である。図22に示す処理手順においては、オリジナル文書データをMFP2600に保管し、複製文書データをMFP2670に保管する例とする。
まず、MFP2600の文書保管部2607は、オリジナル文書データを、文書データ格納部204に格納する(ステップS2901)。
次に、MFP2600の自装置出力部2621は、オリジナル文書データを識別する文書IDと、MFP2600の機器ID又はIPアドレスと、オリジナル文書であることを示す情報との対応付けを、DNSサーバ2660に登録を要求する(ステップS2902)。その後、DNSサーバ2660は、上記対応付けをSRVレコードとして登録する(ステップS2903)。
そして、MFP2600の保管要求部2609は、ネットワークを介して接続されたMFPに対して、複製文書データの保管要求を出力する(ステップS2904)。この保管要求は、マルチキャストで同一サブネットワーク内の全てのMFPに対して送信する等が考えられる。
次に、MFP2670は、当該保管要求を受信した場合に、保管可能か否か判断する(ステップS2905)。本シーケンス図では、保管可能と判断したものとする。
そして、MFP2670は、MFP2600に対して、保管の受諾応答を出力する(ステップS2906)。
次に、MFP2600の複製先特定部2602は、保管の受諾応答のあったMFPから、保管先となるMFPを特定する(ステップS2907)。本シーケンス図では、MFP2670が保管先として特定されたものとする。
そして、MFP2600の文書保管部2607は、オリジナル文書データを複製し、複製文書データを生成する(ステップS2908)。
その後、MFP2600の文書出力部2610は、複製文書データを、MFP2670に対して転送する(ステップS2909)。
これにより、MFP2670の文書保管部2607は、転送されてきた複製文書データを文書データ格納部204に保管する(ステップS2910)。
次に、MFP2600の保管先出力部2622は、複製文書データの文書IDと、MFP2670の機器ID又はIPアドレスと、複製文書データであることを示す情報と、の対応付けを、DNSサーバ2660に登録を要求する(ステップS2911)。その後、DNSサーバ2660は、上述した対応付けがなされた情報をSRVレコードとして登録する(ステップS2912)。
図23は、MFP2680が、複数のネットワークを介して接続されたMFP2670から、複製画像データを取得、印刷するまでの処理手順を示した概念図である。また、図23に示す例では、MFP2600が起動していないため、文書データを取得することができない状態とする。
まず、MFP2680が、文書の表紙を読み込み、当該表紙に付加されていた2次元バーコードから、文書IDを取得する。そして、利用者により“ペーパコマンダ”を利用する旨の入力を受付けることで、MFP2670は、サービス識別名が特定できる。さらに、MFP2670は、利用者から入力された事業部名によりドメイン名を特定する。
そして、MFP2680は、特定されたドメイン名に向けて当該文書IDで識別される文書データの取得する要求を行うように、DNSサーバ2661に対して指示する(ステップS3001)。
次に、DNSサーバ2661は、特定されたドメイン名を管理している他のDNSサーバ2660に対して、当該文書IDで識別される文書データの取得するように要求する(ステップS3002)。
そして、DNSサーバ2660は、文書データの取得要求を受け付けた場合、SRVレコードを参照し、取得要求と共に送信された文書IDと対応付けられている機器ID又はIPアドレスから、オリジナル文書データを格納しているMFP2600を特定する。なお、機器IDを取得した場合には、DNSサーバから、当該機器ID及びサービス識別名を含むサービスIDと対応付けられているIPアドレス及びIPアドレスを取得する。
そして、DNSサーバ2660は、特定されたMFP2600に対して、当該文書IDで識別される文書データの取得を要求する(ステップS3003)。しかしながら、MFP2600はダウン中のため、文書データの取得要求に対する応答が所定時間以上なかったものとする。
そこで、DNSサーバ2660は、再度SRVレコードを参照し、文書IDと対応付けられている機器ID又はIPアドレスから、複製文書データを格納しているMFP2670を特定する。そして、DNSサーバ2660は、特定されたMFP2670に対して、当該文書IDで識別される文書データの取得を要求する(ステップS3004)。
そして、MFP2670が、当該取得要求に従って、複製文書データを出力することで、DNSサーバ2660及びDNSサーバ2661を介して、MFP2680に文書データが送信される(ステップS3005)。
上述した処理手順により、MFP2670は、オリジナル文書データの保管元であるMFP2600から文書データを取得できない場合でも、文書データを取得することができる。
次に、以上のように構成された本実施の形態にかかる文書保管システムにおける、文書データを取得するまでの処理について説明する。図24は、本実施の形態にかかる文書保管システムにおける上述した処理の手順を示すフローチャートである。
まず、MFP2680は、文書の表紙をスキャンする(ステップS3101)。これにより、MFP2680は、当該表紙に付加されていた2次元バーコードから、文書IDを取得できる。そして、利用者により“ペーパコマンダ”を利用する旨の入力を受付けることで、MFP2670は、サービス識別名が特定できる。さらに、MFP2670は、利用者から入力された事業部名によりドメイン名を特定する。
そして、MFP2680は、特定されたドメイン名を管理しているDNSサーバ2660に向けて当該文書IDで識別される文書データの取得する要求を、DNSサーバ2661に対して指示する(ステップS3102)。指示する際、サービス識別名なども送信する。
そして、DNSサーバ2660は、特定されたドメイン名を管理しているDNSサーバ2660に対して、当該文書IDで識別される文書データの取得を要求する(ステップS3104)。
そして、DNSサーバ2660は、当該文書IDに対応付けられていると共に、オリジナル文書データに関するSRVレコードが登録されているか否か確認する(ステップS3105)。本シーケンス図では、当該SRVレコードの登録が確認されているものとする。さらに、DNSサーバ2660は、当該SRVレコードに格納されている機器ID又はIPアドレスに基づいて、オリジナル文書データを格納しているMFP2600の位置を特定する。なお、機器ID、サービス識別名及びドメイン名に基づいてIPアドレス及びポート番号を特定する手法については、第1の実施の形態と同様として説明を省略する。
そして、DNSサーバ2660は、特定されたMFP2600に対して、当該文書IDで識別される文書データの取得を要求する(ステップS3106)。しかしながら、MFP2600はダウン中のため、文書データの取得要求に対する応答が所定時間以上なかったものとする。
そこで、DNSサーバ2660は、当該文書IDに対応付けられていると共に、複製文書データに関するSRVレコードが登録されているか否か確認する(ステップS3107)。そして、本シーケンス図では、当該SRVレコードが登録されていることを確認したものとする。さらに、DNSサーバ2660は、当該SRVレコードに格納されている機器ID又はIPアドレスに基づいて、複製文書データを格納しているMFP2670の位置を特定する。
そして、DNSサーバ2660は、特定されたMFP2670に対して、当該文書IDで識別される文書データの取得を要求する(ステップS3108)。
その後、MFP2680は、文書データの取得要求と共に入力された文書IDで識別される複製文書データを、要求元であるMFP2680に対して送信する(ステップS3109)。
上述した処理手順により、MFP2680は、MFP2600がダウン中でも文書データを取得できる。
次に、以上のように構成された本実施の形態にかかる文書保管システムにおける、文書データの取得要求を行った場合の、文書要求元のMFP2680と、DNSサーバ2660との間の処理について説明する。図25は、本実施の形態にかかる文書保管システムにおける上述した処理の手順を示すフローチャートである。
まず、MFP2680が、文書データの取得要求を、DNSサーバ2661を介して、DNSサーバ2660に出力する(ステップS3601)。
DNSサーバ2660は、DNSサーバ2661を介して、文書データの取得要求を受け付ける(ステップS3651)。
その後、DNSサーバ2660は、登録されているSRVレコードを参照し、オリジナル文書データを保管しているMFPを特定した後、当該MFPに対してオリジナル文書データの取得要求を行い、オリジナル文書データが取得可能か否か判断する(ステップS3652)。
そして、DNSサーバ2660は、オリジナル文書データの取得に失敗した場合(ステップS3652:No)、登録されているSRVレコードを参照して、複製文書データが他のMFPに保管されているか否か判断する(ステップS3653)。保管されていないと判断した場合(ステップS3653:No)、処理を終了する。
一方、DNSサーバ2660は、複製文書データが他のMFPに保管されていると判断した場合(ステップS3653:Yes)、複製文書データを保管しているMFPに対して、複製文書データの取得要求を行い、複製文書データが取得可能か否か判断する(ステップS3654)。取得可能ではないと判断した場合(ステップS3654:No)、処理を終了する。
さらに、DNSサーバ2660は、取得か可能と判断した場合(ステップS3652:Yes、ステップS3654:Yes)、保管先のMFPから入力された文書データを、MFPに対して出力する(ステップS3655)。
その後、MFP2680は、DNSサーバ2660及びDNSサーバ2661を介して、文書データの入力を受け付ける(ステップS3602)。
本実施の形態にかかるDNSサーバ2660においては、SRVレコードを利用しているため、文書IDとMFP2600の対応付けから文書データの取得に失敗した場合に、文書IDとMFP2670の対応付から文書データを取得することができる。したがって、MFP2600から文書データを取得できない場合でも、所望の文書データを取得できる。
本実施の形態にかかるMFP2600等では、DNSサーバ2660に対して、文書IDと、文書データを保管する装置の機器ID又はIPアドレスの登録を要求している。これにより、DNSサーバ2660が、文書IDに基づいて、文書データの取得要求を受け付けた場合に、当該文書データを保管しているMFPを特定できる。
つまり、記録紙に印刷された文書データの表紙をスキャンすることで、当該表紙に付加された2次元バーコードから文書IDが抽出できる。従って、当該文書IDでDNSサーバ2660に対して問い合わせを行うことで、文書データを取得することができる。
さらに、DNSサーバ間で文書ID用いた文書の取得要求を行うことで、MFPから、他のネットワーク(例えば他のサブネットワーク)に接続されたMFPから、文書データを取得できる。
したがって、利用者は、外出先のMFPから、普段利用している事業部ネットワーク内に接続されているMFPから所望の文書データの取得・印刷が可能となる。
また、複製文書データを他のMFPに保管させ、DNSサーバにオリジナル文書データ及び複製文書データに関する文書IDと保管しているMFPを特定する情報とを対応付けて登録することで、オリジナル文書データを保管するMFPがダウンしている場合でも、複製文書データを保管しているMFPから文書データを取得することが可能になる。これにより、利用者の利便性が向上する。
本実施の形態にかかるMFP2600は、オリジナル文書データを取得した場合に、文書データの保管要求を行い、受諾応答のあったMFPに対して、複製文書データを出力することで、ネットワーク上のMFPに当該文書データを分散して保管することが可能になる。これにより、MFPがダウンしている場合などに文書データを取得することが可能になり、文書データを確実に取得できる確率が向上する。
また、MFP2600は、文書IDと、保管先と識別する情報とを、DNSサーバに登録要求を行うことで、文書データの保管先を把握することが可能になる。
本実施の形態にかかるMFP2600が、DNSサーバ2660に対して上述した情報の登録を行うことで、DNSサーバに対して問い合わせを行うことで、利用者は手間をかけることなく、最適な複製文書データの保管先から、複製文書データを取得することが可能になる。
さらに、DNSサーバは、SRVレコードに文書IDと保管先を識別する情報とを対応付けて保持すると共に、異なるネットワークセグメントに対してアクセス可能であるので、異なるネットワークセグメントからの文書取得要求に対応することができる。
本実施の形態では、オリジナル文書データを保管しているMFPの電源が落ちていたり、ネットワークに接続されていない場合でも、他のMFPから文書データを取得して印刷等を行うことができる。
(第2の実施の形態の変形例)
図26は、第2の実施の形態の変形例にかかるMFP3200の構成を示すブロック図である。MFP3200は、上述した第2の実施の形態にかかるMFP3200とは、文書更新部3201が追加されている点で異なる。以下の説明では、上述した第2の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。また、MFP3250は、MFP3200と同様の構成を備えているものとして説明を省略する。
まず、文書データ格納部204に格納されている文書データに対して更新(上書き、削除)が行われた場合、文書保管部2607は、オリジナル文書データの更新を、文書更新部3201に文書更新を通知する。
そして、文書更新部3201は、更新が行われた文書データを、当該文書データの複製文書データを保管しているMFPに対して、更新の要求を行う。これにより、文書データを複数のMFPで管理する場合において、同一文書データを同期させることができる。当該処理を行うために、文書更新部3201は、DNSサーバ2660に対して、複製文書データを示す情報及び当該文書データを識別する文書IDと、対応付けられているMFPの機器ID又はIPアドレスが存在するか否か確認する。これにより、複製文書データの保管先があるか否か特定できる。
次に、以上のように構成された本実施の形態にかかるMFP3200におけるオリジナル文書の更新が行われた場合の処理について説明する。図27は、本実施の形態にかかるMFP3200における上述した処理の手順を示すフローチャートである。
まず、文書保管部2607が、文書データ格納部204に格納されているオリジナルの文書データの更新を行う(ステップS3301)。
その後、複製先特定部2602は、DNSサーバ2660に対して問い合わせを行うことで、複製を他のMFPで保管している文書データであるか否か判断する(ステップS3302)。複製を他のMFPで保管している文書データではないと判断した場合(ステップS3302:No)、処理を終了する。
そして、複製先特定部2602が複製を他のMFPで保管している文書データ文書データであると判断した場合(ステップS3302:Yes)、文書更新部3201は、複製文書データの保管先となるIPアドレス又は機器IDを取得する(ステップS3303)。なお、機器IDの場合、DNSサーバから、当該機器ID及びサービス識別名を含むサービスIDと対応付けられているIPアドレス及びIPアドレスを取得する。
そして、文書更新部3201は、保管先となるMFPに対して、複製文書データの更新要求を行う(ステップS3304)。
その後、文書更新部3201は、保管先となるMFPから、更新の受諾応答を通信処理部205が受け付けたか否か判断する(ステップS3305)。受け付けなかったと判断した場合(ステップS3305:No)、処理を終了する。
一方、文書更新部3201は、更新の受諾応答を受け付けたと判断した場合(ステップS3305:Yes)、複製文書データに関する情報を送信する(ステップS3306)。複製文書データに関する情報とは、例えば更新された場合には更新された文書データとし、削除された場合には削除を指示する情報とする。
当該処理により、保管先のMFPにおいて、文書データの更新が行われる。
次に、以上のように構成された本実施の形態にかかるMFP3200における、他のMFPから保管している複製文書データの更新要求を受信した場合の処理について説明する。図28は、本実施の形態にかかるMFP3200における上述した処理の手順を示すフローチャートである。
まず、MFP3200の通信処理部205が、複製文書データの更新要求を受信する(ステップS3401)。
次に、保管判断部2605が、複製文書データの更新を受諾するか否か判断する(ステップS3402)。なお、更新を受諾するか否かの判断基準はどのような基準を用いても良い。受諾しないと判断した場合(ステップS3402:No)、処理を終了する。
一方、保管判断部2605が、更新を受諾すると判断した場合(ステップS3402:Yes)、複製文書データの更新受託を、更新要求元のMFPに対して、通信処理部205を介して送信する(ステップS3403)。
そして、入力受付部2606が、通信処理部205を介して、複製文書データに関する情報の入力を受け付ける(ステップS3404)。
その後、文書保管部2607が、入力された複製文書データに関する情報に従って、文書データ格納部204に格納された複製文書データに対して更新処理を行う(ステップS3405)。
上述した処理手順により、MFP3200において、複製文書データの更新処理が行われることになる。
次に、以上のように構成された本実施の形態にかかる文書保管システムにおける、文書データ更新時に行われるデータの送受信について説明する。図29は、本実施の形態にかかる文書保管システムにおける上述した処理の手順を示すフローチャートである。
まず、MFP3200の文書保管部2607が、オリジナルの文書データを更新する(ステップS3501)。
次に、MFP3200の複製先特定部2602が、DNSサーバ2660に対して、複製文書データを識別する文書IDと、対応付けられている保管先となるMFPが存在するか否かを問いあわせる(ステップS3502)。
そして、DNSサーバ2660が、MFP3200に対して問い合わせ結果を送信する(ステップS3503)。これにより、複製文書データを保管しているMFP3250を特定できる。この場合のIPアドレス及びポート番号の特定手法については、上述した手法で解決できるため説明を省略する。
次に、MFP3200の文書更新部3201は、複製文書データの更新をMFP3250に要求する(ステップS3504)。なお、詳細な処理手順は、既に説明したので省略する。
その後、MFP3200の文書更新部3201は、DNSサーバ2660に対して、複製文書データを識別する文書IDと、保管先となるMFPの機器ID又はIPアドレスの対応付を更新するように要求する(ステップS3505)。
上述した処理手順により、文書保管システムにおいて、複数のMFP間で複製文書データの同一性を保持することが可能となる。
本実施の形態にかかるMFP3200は、他のMFPとの間で文書データの更新処理を行うことで、オリジナル文書データと複製文書データとの差異が生じることを防止できる。
さらに、MFP3200では、更新された場合は、保管先に対して更新後の文書データを送信すると共に、削除された場合は複製文書の削除を指示することで、オリジナル文書データと、複製文書データとの一致性を確保できる。
図30は、本実施の形態及び変形例にかかるMFPのハードウェア構成を示すブロック図である。本図に示すように、このMFPは、コントローラ2410とエンジン部(Engine)2460とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ2410は、MFP全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部2460は、PCIバスに接続可能なプリンタエンジン等であり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニット等である。なお、このエンジン部2460には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。
コントローラ2410は、CPU2411と、ノースブリッジ(NB)2413と、システムメモリ(MEM−P)2412と、サウスブリッジ(SB)2414と、ローカルメモリ(MEM−C)2417と、ASIC(Application Specific Integrated Circuit)2416と、ハードディスクドライブ(HDD)2418とを有し、ノースブリッジ(NB)2413とASIC2416との間をAGP(Accelerated Graphics Port)バス2415で接続した構成となる。また、MEM−P2412は、ROM(Read Only Memory)2412aと、RAM(Random Access Memory)2412bとをさらに有する。
CPU2411は、MFPの全体制御をおこなうものであり、NB2413、MEM−P2412及びSB2414からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB2413は、CPU2411とMEM−P2412、SB2414、AGP2415とを接続するためのブリッジであり、MEM−P2412に対する読み書き等を制御するメモリコントローラと、PCIマスタ及びAGPターゲットとを有する。
MEM−P2412は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ROM2412aとRAM2412bとからなる。ROM2412aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM2412bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能なメモリである。
SB2414は、NB2413とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB2414は、PCIバスを介してNB2413と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部等も接続される。
ASIC2416は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP2415、PCIバス、HDD2418及びMEM−C2417をそれぞれ接続するブリッジの役割を有する。このASIC2416は、PCIターゲット及びAGPマスタと、ASIC2416の中核をなすアービタ(ARB)と、MEM−C2417を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等をおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部2460との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC2416には、PCIバスを介してFCU(Fax Control Unit)2430、USB(Universal Serial Bus)2440、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース2450が接続される。
MEM−C2417は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD(Hard Disk Drive)2418は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP2415は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P2412に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
なお、本実施形態のMFPで実行される情報処理プログラムは、ROM等に予め組み込まれて提供される。
本実施形態のMFPで実行される情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施形態のMFPで実行される情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のMFPで実行される情報処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施の形態のMFPで実行される情報処理プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU2411が上記ROM2412aから情報処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
また、上述した実施の形態においては、MFP100では、マルチキャストによる登録要求を、電源が投入された時に行うこととしている。しかしながら、本実施の形態は、登録要求を行うタイミングを制限するものではなく、例えばMFP100に搭載されたアプリケーション等から登録する依頼を受け付けた場合に、登録処理を行うことにしてもよい。
また、本実施の形態では、提供するサービスの登録を行う機器、及びサービスを提供している機器を特定する機器がMFPの場合について説明した。しかしながら、これらの処理を行う機器をMFPに制限するものではなく、例えば様々な機器が設置されたオフィス・ネットワークで用いられるオフィス機器や、携帯電話などの携帯可能な機器などさまざまな機器に対して適用することができる。
本実施の形態では、サービスを提供しているMFPのIPアドレスとポート番号を容易に特定することができるので、ネットワーク上の様々な機器は当該MFPが提供しているサービスの容易に利用することが可能となる。
また、本実施の形態では、機器を特定するために機器IDを用いることで、接続される度にIPアドレスが変更される機器であっても、サービスを提供している機器として特定することが可能となる。
また、本実施の形態にかかるMFPではキャッシュテーブルにサービスを識別するサービスIDとIPアドレスとポート番号とを対応付けて保持しているので、サービスを提供している機器を特定するためにネットワークを介してデータの送受信を行う必要がないので、トラフィック量を削減することが可能になる。