以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●通信システムの全体構成●
図1は、実施形態に係る通信システムの全体構成の一例を示す図である。通信システム1は、情報処理装置100がクライアントとなる通信を行う場合において、ユーザの手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができるシステムである。通信システム1は、情報処理装置100、管理者端末210、ユーザ端末220、サーバ装置230、DHCPサーバ240およびDNSサーバ250により構成される。
情報処理装置100は、複数のネットワークインタフェースを備えており、異なるネットワークを介して複数の外部装置と通信を行うことが可能である。情報処理装置100は、例えば、第1のネットワーク10を介して、管理者端末A210a、ユーザ端末A220a、サーバ装置A230a、DHCPサーバA240aおよびDNSサーバA250aの各々と接続されている。通信システム1は、第1のネットワーク10を介して接続する装置間での通信を行うことができる。
また、情報処理装置100は、例えば、第2のネットワーク20を介して、管理者端末B210b、ユーザ端末B220b、サーバ装置B230b、DHCPサーバB240bおよびDNSサーバB250bの各々と接続されている。通信システム1は、第2のネットワーク20を介して接続する装置間での通信を行うことができる。
第1のネットワーク10と第2のネットワーク20は、異なるネットワークセグメントを有する。例えば、第1のネットワーク10は、「123.456.1.xxx」のセグメントを有する。図1に示すように、第1のネットワーク10を介して接続する各装置は、上記セグメントに属するIPアドレスが付与されている。同様に、第2のネットワーク20は、「123.456.2.xxx」のセグメントを有する。図1に示すように、第2のネットワーク20を介して接続する各装置は、上記セグメントに属するIPアドレスが付与されている。各装置のIPアドレスは、DHCPサーバ240またはDNSサーバ250により設定される。
情報処理装置100は、例えば、プリンタ機能やスキャナ機能を有する複合機などの画像形成装置である。情報処理装置100は、異なるネットワークを介して通信可能な複数のネットワークインタフェースを備える。第1のネットワーク10または第2のネットワーク20は、例えば、Wi-Fi(登録商標)などの無線LAN(Local Area Network)、有線LAN(Ethernet(登録商標))などにより構築される。なお、情報処理装置100は、画像形成装置に限らず、例えば、スキャナ装置、ファクシミリ装置、画像投影装置(プロジェクタ)、電子黒板、デジタルサイネージなどの出力装置、HUD(Head Up Display)装置、スピーカなどの音響出力装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電などでもよい。
管理者端末A210aまたは管理者端末B210b(以下、区別する必要のないときは、管理者端末210とする。)は、第1のネットワーク10または第2のネットワーク20に対してそれぞれ接続される管理者端末である。管理者端末210は、情報処理装置100に対してユーザ登録等の処理を行う。管理者端末210は、情報処理装置100の管理者が操作するPC(Personal Computer)などの通信端末である。
ユーザ端末A220aまたはユーザ端末B220b(以下、区別する必要のないときは、ユーザ端末220とする。)は、第1のネットワーク10または第2のネットワーク20に対してそれぞれ接続されるユーザ端末である。ユーザ端末220は、スマートフォンなどのユーザによる携帯または操作が可能な通信端末である。ユーザ端末220は、携帯電話、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC、ノートPC、デスクトップPCなどでもよい。
サーバ装置A230aまたはサーバ装置B230b(以下、区別する必要のないときは、サーバ装置230とする。)は、第1のネットワーク10または第2のネットワーク20に対してそれぞれ接続されるサーバ装置である。
DHCPサーバA240aまたはDHCPサーバB240b(以下、区別する必要のないときは、DHCPサーバ240とする。)は、第1のネットワーク10または第2のネットワーク20に対してそれぞれ接続される管理サーバである。DHCPサーバ240は、各ネットワークに接続された装置に対して、IPアドレスを配布(割り振る)する。
DNSサーバA250aまたはDNSサーバB250b(以下、区別する必要のないときは、DNSサーバ250とする。)は、第1のネットワーク10または第2のネットワーク20に対してそれぞれ接続される管理サーバである。DNSサーバ250は、各ネットワークに接続された装置からのドメイン名の問い合わせを受け、「ドメイン名」を「IPアドレス」に変換(名前解決)する。なお、DHCPサーバ240またはDNSサーバ250は、ネットワーク環境に応じて設けない構成にしてもよい。
以下の説明において、管理者端末210と、ユーザ端末220と、サーバ装置230と、DHCPサーバ240と、DNSサーバ250とを区別する必要がないときは、外部装置200として説明する。
●第1の実施形態●
●概略
図2は、第1の実施形態に係る通信システムの概略の一例を示す図である。図2(a)は、通信システム1において、情報処理装置100がサーバとなる通信を行う例を示す。図2(a)に示す通信システム1は、外部装置200から情報処理装置100へ送信された情報取得要求(第2の通信要求の一例)に対する応答として、要求された情報(応答情報)を情報処理装置100から外部装置200へ送信する。
外部装置200aは、第1のネットワーク10を介して情報処理装置100の第1のネットワークインタフェース(IF)101aへ情報取得要求を送信する。そして、情報処理装置100は、第1のネットワークインタフェース(IF)101aを用いて外部装置200aへ要求された情報を送信する。一方で、外部装置200bは、第2のネットワーク20を介して情報処理装置100の第2のネットワークインタフェース(IF)101bへ情報取得要求を送信する。そして、情報処理装置100は、第2のネットワークインタフェース(IF)101bを用いて外部装置200bへ要求された情報を送信する。このように、情報処理装置100がサーバとなる通信を行う場合、情報処理装置100は、情報取得要求を受信したネットワークインタフェースを用いて、外部装置200と通信を行うことができる。
図2(b)は、通信システム1において、情報処理装置100がクライアントとなる通信を行う例を示す。図2(b)に示す通信システム1は、情報処理装置100にログイン(すなわち、ユーザを特定するための情報を入力)したユーザが情報処理装置100のスキャナ機能を用いてスキャンした文書データを、ユーザが使用する外部装置200(例えば、ユーザを特定するための情報が入力されたユーザ端末220)へ送信する場合について説明する。図2に示すように、まず、情報処理装置100は、例えば、ユーザの入力操作により、外部装置200へスキャンされた文書データ(以下、スキャンデータとする。)の送信要求(通信要求の一例)を取得する。具体的には、ユーザは、情報処理装置100を用いて文書データのスキャン処理を行う。そして、情報処理装置100は、ユーザの情報処理装置100への入力内容から、スキャンしたスキャンデータの外部装置200への送信要求を取得する。
情報処理装置100は、スキャンデータの送信要求を取得すると、予め記憶された管理情報501に基づいて、選択部103によりスキャンデータを送信するネットワークインタフェース(IF)を選択する。管理情報501は、利用するネットワークインタフェースの情報がユーザ毎に記憶されている。管理情報501の詳細は、後述する。図2(b)の例では、選択部103により第1のネットワークインタフェース(IF)101aが選択された場合、情報処理装置100は、外部装置200aに対して第1のネットワークインタフェース(IF)101aを用いてスキャンデータを送信する。一方で、選択部103により第2のネットワークインタフェース(IF)101bが選択された場合、情報処理装置100は、外部装置200bに対して第2のネットワークインタフェース(IF)101bを用いてスキャンデータを送信する。
従来、複数のネットワークインタフェースを備える情報処理装置によるスキャンデータを、情報処理装置からユーザが使用する端末に対して送信するような、情報処理装置がクライアントとなる通信を行う場合、情報処理装置が備えるネットワークインタフェースのうちいずれのネットワークインタフェースを用いて外部装置と通信を行えばよいかが明らかではなかった。それに対して、第1の実施形態に係る通信システムは、複数のネットワークインタフェースを備える情報処理装置100がクライアントとなる通信を行う場合においても、ユーザや管理者の手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択したネットワークインタフェースを用いて外部装置200との通信を行うことで、最適な通信経路を利用することができる。
●ハードウエア構成
図3は、第1の実施形態に係る情報処理装置のハードウエア構成の一例を示す図である。なお、図3に示す情報処理装置100のハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。情報処理装置100は、コントローラ1010と、操作部1020と、表示部1030と、プロッタ1040と、スキャナ1050とをPCI(Peripheral Component Interconnect)バス1060で接続している。
コントローラ1010は、情報処理装置100の本体部としての役割を担う。コントローラ1010は、CPU(Central Processing Unit)1011、ROM(Read Only Memory)1012、RAM(Random Access Memory)1013、ストレージ1014、入出力インターフェース(I/F)1015、通信インターフェース(I/F)1016、NIC(Network Interface Card)1017およびASIC(Application Specific Integrated Circuit)1018等を有する。
CPU1011は、ROM1012やストレージ1014等に格納された本発明に係るプログラムやデータをRAM1013上に読み出し、処理を実行することで、情報処理装置100の各機能を実現する演算装置である。情報処理装置100は、本発明に係るプログラムが実行されることで本発明に係る通信方法を実現する。
ROM1012は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。ROM1012は、例えば、フラッシュROM等により構成される。RAM1013は、CPU1011のワークエリア等として用いられる揮発性のメモリである。
ストレージ1014は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等のストレージデバイスである。ストレージ1014は、OS(Operation System)、アプリケーションプログラム、および各種データ等を記憶する。入出力インターフェース(I/F)1015は、情報処理装置100に他の装置を接続するためのインターフェースである。他の装置は、例えば、USB(Universal Serial Bus)メモリ、メモリカード、光学ディスク等の記録媒体や、各種の電子機器等が含まれる。
通信インターフェース(I/F)1016は、外部装置200とネットワークを介して通信(接続)を行うためのインターフェースである。NIC1017は、LAN等のネットワークに接続されたLANカード等のハードウエアである。n個のNIC1017-1,1017-2,1017-3,・・・,1017-n(以下、NIC1017-1,1017-2,1017-3,・・・,1017-nを区別する必要がない場合には、NIC1017と記載する)は、通信インターフェース(I/F)1016に接続され、NIC1017を通じて外部装置200との通信を行う。
ASIC1018は、画像処理用のハードウエア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、PCIバス1060をコントローラ1010に接続するブリッジの役割も有している。 ASIC1018は、PCIターゲットと、ASIC1018の中核をなすアービタ(ARB)と、ハードウェアロジックなどにより画像データの回転等を行う複数のDMAC(Direct Memory Access Controller)と、PCIバス1060を介したデータ転送を行うPCIユニットと、を備える。 操作部1020、表示部1030、プロッタ1040およびスキャナ1050は、ASIC1018のPCIユニットに接続されている。
操作部1020は、情報処理装置100に対して操作を行うオペレータなどのユーザのためのインターフェースである。情報処理装置100は、操作部1020を操作することにより、データの入力、ジョブの実行をすることができる。表示部1030は、操作部1020による操作を行うためのコマンドや、操作部1020への操作により入力されたデータ等を表示させるためのインターフェースである。なお、操作部1020と表示部1030は、例えばタッチパネルディスプレイのように、一体として設けられる構成でもよい。
プロッタ1040は、PCIバス1060に接続可能なプリンタエンジンであり、例えば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ等により構成される。スキャナ1050は、原稿を光学的に読み取って読取データを生成するスキャナエンジンである。スキャナ1050は、原稿に読取光を照射するための光源や、原稿からの反射光を検出するイメージセンサ等を含む。
図4は、第1の実施形態に係る外部装置のハードウエア構成の一例を示す図である。なお、図4に示す外部装置200のハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。外部装置200は、CPU2001、ROM2002、RAM2003、ストレージ2004、入力部2005、表示部2006、入出力インターフェース(I/F)2007、通信部2009およびバス2010等を有する。
CPU2001は、外部装置200全体の制御を行う。CPU2001は、ROM2002やストレージ2004等に格納されたプログラムやデータをRAM2003上に読み出し、処理を実行することで、外部装置200の各機能を実現する演算装置である。
RAM2003は、CPU2001のワークエリア等として用いられる揮発性のメモリである。ROM2002は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。ストレージ2004は、例えば、HDD、SSD、またはフラッシュROM等のストレージデバイスであり、OS、アプリケーションプログラム、および各種データ等を記憶する。
入力部2005は、外部装置200の操作を行うための入力を受け付ける。入力部2005は、例えば、キーボード、マウス、タッチパネル、音声入力装置等の入力装置である。表示部2006は、外部装置200の処理結果等を表示する。表示部2006は、例えば、CPU2001からの要求により、外部装置200が有する各種情報をカーソル、メニュー、ウィンドウ、文字、または画像などの形態でディスプレイに表示する。表示部2006は、例えば、LCD(Liquid Crystal display)等の表示装置である。
なお、入力部2005または表示部2006は、外部装置200の外部に設けられていても良い。また、入力部2005および表示部2006は、例えば、タッチパネルディスプレイ等の一体型の表示入力部等であってもよい。
入出力インターフェース(I/F)2007は、外部装置200に他の装置を接続するためのインターフェースである。他の装置は、例えば、USBメモリ、メモリカード、光学ディスク等の記録媒体2008や、各種の電子機器等が含まれる。
通信部2009は、情報処理装置100とネットワークを介して通信(接続)を行う通信部である。通信部2009は、アンテナ、無線部、MAC部等を含む。バス2010は、上記各構成要素に接続され、アドレス信号、データ信号、および各種制御信号等を伝送する。CPU2001、ROM2002、RAM2003、ストレージ2004、入力部2005、表示部2006、入出力インターフェース(I/F)2007および通信部2009は、バス2010を介して相互に接続されている。
●機能構成
続いて、第1の実施形態に係る通信システムの機能構成について説明する。図5は、第1の実施形態に係る情報処理装置の機能構成の一例を示す図である。情報処理装置100により実現される機能は、通信部101、取得部102、選択部103、記憶・読出部104、記憶部105、制御部106、認証部107および特定部108を含む。
通信部101は、ネットワークを介して外部装置200と通信を行う機能である。通信部101は、第1のネットワークインタフェース(IF)101aと第2のネットワークインタフェース(IF)101bとを含む。第1のネットワークインタフェース(IF)101aと第2のネットワークインタフェース(IF)は、異なるネットワークを介して外部装置200との通信経路を構築するためのインターフェース機能を有する。
第1のネットワークインタフェース(IF)101aは、例えば、第1のネットワーク10を介して外部装置200と通信を行う。第2のネットワークインタフェース(IF)101bは、第2のネットワーク20を介して外部装置と通信を行う。第1のネットワークインタフェース101aと第2のネットワークインタフェース101bは、例えば、図3に示す通信インターフェース(I/F)1016、NIC1017およびCPU1011で実行されるプログラム等により実現される。なお、通信部101は、二つのネットワークインタフェース(IF)を含む例を説明したが、ネットワークインタフェース(IF)は、三つ以上であってもよい。
取得部102は、ユーザの入力操作に基づいて、外部装置200に対する通信要求を取得する機能である。通信要求は、例えば、情報処理装置100によるスキャンデータの送信要求である。取得部102は、操作部1020に対するユーザの入力操作に基づいて、スキャンデータの送信要求を取得する。具体的には、取得部102は、スキャナ1050を用いてスキャンされたスキャンデータを取得する。そして、取得部102は、ユーザの入力操作に基づいて、スキャンデータの送信要求を取得する。なお、通信要求は、外部装置200に対する情報取得要求の送信要求であってもよい。この場合、取得部102は、操作部1020に対するユーザの入力操作によって、情報取得要求の送信要求を取得する。
また、取得部102は、入力操作を行ったユーザ、すなわちスキャンデータの送信要求の要求元のユーザを特定するための特定情報を併せて取得する。特定情報は、例えば、ユーザ名である。さらに、取得部102は、ユーザの入力操作に基づいて、情報処理装置100に対するログイン要求を取得する。ログイン要求は、例えば、ユーザ名とパスワードなどのユーザを識別するための情報(以下、ユーザ識別情報とする。)を含む。取得部102は、例えば、図3に示す操作部1020およびCPU1011で実行されるプログラム等により実現される。
選択部103は、取得部102により外部装置200に対する通信要求を取得した場合、複数のネットワークインタフェースの中から、外部装置200との通信に用いるネットワークインタフェースを選択する機能である。選択部103は、取得部102により取得された通信要求の要求元のユーザを特定するための特定情報と後述する記憶部105に記憶された特定情報に対応するネットワークインタフェースの情報とに基づいて、外部装置200との通信に用いるネットワークインタフェースを選択する。
具体的には、選択部103は、取得部102により取得された通信要求の要求元のユーザを特定するための特定情報に対応する、記憶部105に記憶されたユーザ識別情報に紐づくネットワークインタフェースを選択する。例えば、選択部103は、記憶部105に記憶されたスキャンデータの送信要求の要求元のユーザ名に紐づくネットワークインタフェースを選択する。
情報処理装置100は、選択されたネットワークインタフェースを用いて、外部装置200へスキャンデータを送信する。また、通信要求が情報取得要求の送信要求である場合、情報処理装置100は、選択したネットワークインタフェースを用いて、外部装置200へ情報取得要求を送信する。選択部103は、例えば、図3に示す操作部1020およびCPU1011で実行されるプログラム等により実現される。
記憶・読出部104は、記憶部105に各種データを記憶し、記憶部105から各種データを読み出す機能である。記憶・読出部104および記憶部105は、例えば、図3に示すROM1012、ストレージ1014およびCPU1011で実行されるプログラム等により実現される。記憶部105は、管理情報501と宛先情報502を記憶している。
ここで、管理情報501と宛先情報502の詳細について説明する。図6は、第1の実施形態に係る管理情報の一例を示す図である。管理情報501は、ユーザ毎に登録されたネットワークインタフェースの利用権限を示す情報である。管理情報501は、ユーザ名、パスワード、権限情報およびネットワークインタフェースの情報を含む。
ユーザ名は、ユーザの名前が格納されている。また、ユーザ名およびパスワードは、ユーザ識別情報の一例である。ユーザ識別情報は、後述する認証部107によるユーザ認証に用いられる。権限情報は、各ユーザのロール(役割)が格納されている。権限情報は、例えば、ユーザ識別情報ごとに管理情報501の更新権限を示す。例えば、権限情報が管理者のユーザは、管理情報501の更新処理を行う更新権限を有している。一方で、権限情報が一般のユーザは、管理情報501の更新処理を行う更新権限を有していない。
利用インターフェースは、各ユーザが利用できるネットワークインタフェースの名前が格納されている。情報処理装置100は、クライアントとして通信を行う場合、利用インターフェースに格納されている情報に該当するネットワークインタフェースを用いて通信を行う。
図6に示すように、例えば、ユーザ名「adminA」のユーザは、管理者としての権限を有しており、第1のネットワークインタフェース(IF)101aを用いて通信を行うことができる。また、ユーザ名「adminB」のユーザは、管理者としての権限を有しており、第2のネットワークインタフェース(IF)101bを用いて通信を行うことができる。
一方で、ユーザ名「userA」のユーザは、一般ユーザとしての権限を有しており、第1のネットワークインタフェース(IF)101aを利用することができる。また、ユーザ名「userB」のユーザは、一般ユーザとしての権限を有しており、第2のネットワークインタフェース(IF)101bを利用することができる。
図7は、第1の実施形態に係る宛先情報の一例を示す図である。宛先情報502は、DNSサーバ250のサーバアドレスと情報処理装置100のIPアドレスとを含む。宛先情報502は、同じネットワークに接続するDNSサーバ250と情報処理装置100の宛先情報が紐づいて格納されている。
例えば、第1のネットワーク10に接続するDNSサーバA250aのサーバアドレスは「123.456.1.60」である。そして、DNSサーバA250aと同じ第1のネットワーク10に接続する情報処理装置100のIPアドレスは、「123.456.1.10」である。さらに、例えば、第2のネットワーク20に接続するDNSサーバB250bのサーバアドレスは「123.456.2.60」である。そして、DNSサーバB250bと同じ第2のネットワーク20に接続する情報処理装置100のIPアドレスは、「123.456.2.10」である。
なお、情報処理装置100のIPアドレスは、情報処理装置100のネットワーク上の位置を特定できる情報であればよく、例えば、情報処理装置100のMACアドレスであってもよい。また、宛先情報502は、管理者端末210、ユーザ端末220またはサーバ装置230の宛先情報(例えば、IPアドレス)を、同じネットワークに接続するDNSサーバ250の宛先情報(例えば、サーバアドレス)に紐づけて記憶していてもよい。
図5に戻り、情報処理装置100の機能構成の説明を続ける。制御部106は、通信部101による外部装置200との通信を制御する機能である。制御部106は、選択部103により外部装置200との通信に利用するネットワークインタフェースの情報に基づいて、通信部101が用いるネットワークインタフェースを制御する。具体的には、制御部106は、例えば、選択部103により第1のネットワークインタフェース(IF)101aが選択されたことを検知する。そして、制御部106は、第1のネットワークインタフェース(IF)101aを用いて外部装置200と通信を行うよう、通信部101を制御する。制御部106は、例えば、図3に示すCPU1011で実行されるプログラム等により実現される。
認証部107は、情報処理装置100に対するユーザ認証を行う機能である。認証部107は、取得部102により取得されたユーザからのログイン要求を検知する。そして、認証部107は、ログイン要求に含まれるユーザ識別情報と図6に示す管理情報501に含まれるユーザ識別情報とに基づいて、ユーザ認証を行う。認証部107は、例えば、図3に示すCPU1011で実行されるプログラム等により実現される。
特定部108は、外部装置200からの情報取得要求を受信したネットワークインタフェースを特定する機能である。具体的には、特定部108は、外部装置200から送信された情報取得要求を受信したことを検知する。そして、特定部108は、情報取得要求を受信したネットワークインタフェースを特定する。情報処理装置100がサーバとなる通信を行う場合、情報処理装置100は、特定部108により特定されたネットワークインタフェースを用いて外部装置200と通信を行う。
なお、ネットワークインタフェースにより受信される対象は、外部装置200から送信された情報取得要求のみならず、外部装置200から送信された通信要求(第2の通信要求の一例)であればよい。特定部108は、例えば、図3に示す通信インターフェース(I/F)1016およびCPU1011で実行されるプログラム等により実現される。
続いて、外部装置200の機能構成について説明する。図8は、第1の実施形態に係る管理者端末、ユーザ端末、サーバ装置、DHCPサーバおよびDNSサーバの機能構成の一例を示す図である。なお、第1のネットワーク10に接続された装置と第2のネットワーク20に接続された装置のうち、同一の装置(例えば、管理者端末A210aと管理者端末B210b)については、同様の機能を有するため、重複する説明は省略する。
管理者端末210により実現される機能は、送受信部211および記憶部212を含む。送受信部211は、ネットワークを介して情報処理装置100または他の外部装置200と通信を行うための機能である。記憶部212は、管理情報501および宛先情報502が記憶されている。管理情報501および宛先情報502は、情報処理装置100の記憶部105に記憶されている情報と同様であってもよく、また、接続するネットワークに関連する管理情報501および宛先情報502(例えば、管理情報501aおよび宛先情報502a)のみが記憶されている構成であってもよい。
ユーザ端末220により実現される機能は、送受信部221を含む。ネットワークを介して情報処理装置100または他の外部装置200と通信を行うための機能である。送受信部221は、例えば、図4に示す通信部2009により実現される。
サーバ装置230により実現される機能は、送受信部231を含む。送受信部231は、ネットワークを介して情報処理装置100または他の外部装置200と通信を行うための機能である。送受信部231は、例えば、図4に示す通信部2009により実現される。
DHCPサーバ240により実現される機能は、送受信部241および宛先情報設定部242を含む。送受信部241は、ネットワークを介して情報処理装置100または他の外部装置200と通信を行うための機能である。送受信部241は、例えば、図4に示す通信部2009により実現される。
宛先情報設定部242は、情報処理装置100および他の外部装置200の宛先情報を設定する機能である。宛先情報設定部242は、同じネットワークに接続する情報処理装置100および他の外部装置200の宛先情報を設定する。宛先情報設定部242は、例えば、図7に示すDNSサーバ250のサーバアドレスや情報処理装置100のIPアドレスの設定を行う。
DNSサーバ250により実現される機能は、送受信部251および名前解決部252を含む。送受信部251は、ネットワークを介して情報処理装置100または他の外部装置200と通信を行うための機能である。送受信部251は、例えば、図4に示す通信部2009により実現される。
名前解決部252は、送受信部251により受信した宛先情報の取得要求に含まれるドメイン名をIPアドレスに変換(名前解決)する機能である。名前解決部252により変換されたIPアドレスは、宛先情報の取得要求を送信した情報処理装置100または他の外部装置へ、送受信部251により送信される。
●ネットワーク選択処理
図9は、第1の実施形態に係る通信システムにおけるネットワーク選択処理の一例を示すシーケンス図である。なお、図9に示す処理は、外部装置200に対する通信要求が、ユーザ端末220に対する情報処理装置100によりスキャンされたスキャンデータの送信要求である例を説明する。
ステップS101において、情報処理装置100の取得部102は、ユーザにより入力されたログイン要求を取得する。具体的には、ユーザは、情報処理装置100の操作部1020に対して、ユーザ名やパスワードなどのユーザ識別情報を入力する。そして、情報処理装置100の取得部102は、操作部1020に対して入力されたユーザ識別情報をログイン要求として取得する。
ステップS102において、情報処理装置100の取得部102は、ログイン要求を取得すると、認証部107に対して、取得したユーザ識別情報を出力する。ステップS103において、情報処理装置100の認証部107は、出力されたユーザ識別情報を検知すると、記憶部105に記憶された管理情報501に含まれるユーザ識別情報を読み出す。具体的には、認証部107は、記憶・読出部104に対して、管理情報501に含まれるユーザ識別情報の読出要求を出力する。そして、記憶・読出部104は、記憶部105に記憶された管理情報501に含まれるユーザ識別情報を読み出す。
ステップS104において、情報処理装置100の記憶部105は、認証部107に対して、管理情報501に含まれるユーザ識別情報を出力する。具体的には、記憶部105は、記憶・読出部104に対して、管理情報501に含まれるユーザ識別情報を出力する。そして、記憶・読出部104は、認証部107に対して、出力された管理情報501に含まれるユーザ識別情報を出力する。なお、認証部107は、ユーザ識別情報だけでなく、管理情報501を読み出す構成であってもよい。
ステップS105において、情報処理装置100の認証部107は、読み出したユーザ識別情報と、取得部102により取得されたユーザ識別情報とに基づいて、ユーザ認証を行う。具体的には、認証部107は、読み出したユーザ識別情報が、取得部102により取得されたユーザ識別情報と一致する場合、認証処理を行う。一方で、認証部107は、読み出したユーザ識別情報が、取得部102により取得されたユーザ識別情報と一致しない場合、認証処理を行わず、処理を終了する。
ステップS106において、情報処理装置100の認証部107は、認証処理が行われると、取得部102に対してログイン通知を出力する。以上の処理において、情報処理装置100に対するユーザの認証処理(ログイン処理)は、終了する。以下の説明は、ステップS106におけるユーザの認証処理が行われた場合の例である。
ステップS107において、情報処理装置100の取得部102は、ユーザによる入力操作に基づいて、スキャンデータの送信要求を取得する。具体的には、ユーザは、情報処理装置100のスキャナ1050を用いて、文書データのスキャンを行う。そして、ユーザは、操作部1020に対して、スキャンしたスキャンデータの送信要求を入力する。スキャンデータの送信要求は、ユーザ端末220に対してスキャンデータを送信することを要求するものである。スキャンデータの送信要求は、通信要求の一例である。
ステップS108において、情報処理装置100の取得部102は、スキャンデータの送信要求を取得すると、選択部103に対して、取得したスキャンデータの送信要求を出力する。スキャンデータの送信要求は、送信要求を行う(送信要求の入力操作を行った)ユーザを特定するための特定情報を含む。特定情報は、例えばユーザ名である。そして、取得部102は、操作部1020に対して入力されたスキャンデータの送信要求を取得する。
ステップS109において、情報処理装置100の選択部103は、出力された送信要求を検知すると、記憶部105に記憶された管理情報501を読み出す。具体的には、選択部103は、記憶・読出部104に対して管理情報501の読出要求を出力する。そして、記憶・読出部104は、出力された読出要求を検知すると、記憶部105に記憶された管理情報501を読み出す。
ステップS110において、情報処理装置100の記憶部105は、選択部103に対して、管理情報501を出力する。具体的には、記憶部105は、記憶・読出部104に対して、管理情報501を出力する。そして、記憶・読出部104は、選択部103に対して、出力された管理情報501を出力する。
ステップS111において、情報処理装置100の選択部103は、出力された管理情報501を検知すると、管理情報501に基づいて、スキャンデータの送信要求を送信するために利用するネットワークインタフェースを選択する。具体的には、選択部103は、管理情報501に含まれるユーザ識別情報に紐づくネットワークインタフェースの情報と送信要求に含まれる特定情報とに基づいて、利用するネットワークインタフェースを選択する。
ここで、第1の実施形態に係る選択部103の処理内容について説明する。図10は、第1の実施形態に係る情報処理装置におけるネットワーク選択処理の一例を示すフローチャートである。図10の例において、情報処理装置100が二つのネットワークインタフェースを備える例を説明するが、三つ以上のネットワークインタフェースを備える場合であって、同様の処理が行われる。
ステップS151において、選択部103は、取得部102により取得された情報取得要求の送信要求を検知した場合、処理をS152へ移行する。一方で、選択部103は、送信要求を検知していない場合、ステップS151の処理を繰り返す。
ステップS152において、選択部103は、記憶部105に記憶された管理情報501を読み出す。ステップS153において、選択部103は、読み出した管理情報501に含まれるユーザ識別情報(例えば、図6に示すユーザ名)の中から検知した送信要求に含まれる特定情報を検索する。
ステップS154において、選択部103は、検索された特定情報(ユーザ識別情報)に紐づくネットワークインタフェースが第1のネットワークインタフェース(IF)101aの場合、処理をステップS155へ移行する。ステップS155において、選択部103は、検知した送信要求を送信するために利用するネットワークインタフェースとして、第1のネットワークインタフェース(IF)101aを選択する。
一方、ステップS154において、選択部103は、検索された特定情報(ユーザ識別情報)に紐づくネットワークインタフェースが第2のネットワークインタフェース(IF)101bの場合、処理をステップS156へ移行する。ステップS156において、選択部103は、検知した送信要求を送信するために利用するネットワークインタフェースとして、第2のネットワークインタフェース(IF)101bを選択する。
このように、外部装置200へのスキャンデータの送信要求(通信要求の一例)を取得した場合、すなわち情報処理装置100がクライアントとして通信を行う場合、情報処理装置100は、図10に示す選択部103の処理により、外部装置200との通信に用いるネットワークインタフェースを選択することができる。
図9に戻り、第1の実施形態に係るネットワーク選択処理の説明を続ける。ステップS112において、情報処理装置100の選択部103は、制御部106に対して、ネットワークインタフェースの選択結果を出力する。図9の例では、選択部103により第1のネットワークインタフェース(IF)101aが選択されたものとして説明する。
ステップS113において、情報処理装置100の制御部106は、出力された選択結果を検知すると、通信部101に対して、サーバ装置230の宛先情報の取得要求を出力する。制御部106は、検知した選択結果が第1のネットワークインタフェース(IF)101aを利用するための情報であるため、通信部101の第1のネットワークインタフェース(IF)101aに対して、サーバ装置230の宛先情報の取得要求を出力する。
ステップS114において、情報処理装置100の第1のネットワークインタフェース101aは、出力された宛先情報の取得要求を検知すると、検知した取得要求をDNSサーバA250aへ送信する。具体的には、第1のネットワークインタフェース101aは、記憶部105に記憶された宛先情報502に基づいて、DNSサーバA250aに対して、サーバ装置230の宛先情報の取得要求を送信する。宛先情報の取得要求は、ドメイン名の情報を含む。図7に示すように、宛先情報502は、DNSサーバA250aのサーバアドレスを含む。
ステップS115において、DNSサーバA250aは、宛先情報の取得要求を受信すると、ユーザ端末A220aの宛先情報を、情報処理装置100の第1のネットワークインタフェース101aへ送信する。具体的には、DNSサーバA250aは、宛先情報の取得要求を受信すると、受信した取得要求に含まれるドメイン名の情報をIPアドレスへ変換(名前解決)する。そして、DNSサーバA250aは、変換(名前解決)したIPアドレスを宛先情報として、情報処理装置100の第1のネットワークインタフェース101aへ送信する。
ステップS116において、情報処理装置100の第1のネットワークインタフェース101aは、ユーザ端末A220aの宛先情報を受信すると、制御部106に対して、受信した宛先情報を出力する。なお、ユーザ端末A220aの宛先情報(例えば、IPアドレス)が記憶部105に記憶された宛先情報502に含まれている場合、ステップS113~S116の処理は、行わない構成にしてもよい。
ステップS117において、情報処理装置100の制御部106は、出力された宛先情報を検知すると、第1のネットワークインタフェース101aに対して、ユーザ端末A220aに対するスキャンデータの送信要求を出力する。
ステップS118において、情報処理装置100の第1のネットワークインタフェース101aは、出力された送信要求を検知すると、ユーザ端末A220aに対して、スキャンデータを送信する。これによって、ユーザ端末A220aは、情報処理装置100によってスキャンされたスキャンデータを取得することができる。
なお、取得部102により取得された通信要求が、外部装置200に対する情報取得要求の送信要求である場合、情報取得要求を受信したユーザ端末A220aは、第1のネットワークインタフェース(IF)101aに対して、応答情報を送信する。
このように、第1の実施形態に係る通信システムは、複数のネットワークインタフェースを備える情報処理装置100がクライアントとなる通信を行う場合においても、情報処理装置100の選択部103の処理により、ユーザや管理者の手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択部103により選択されたネットワークインタフェースを用いて外部装置200との通信を行うことができる。
●起動処理
続いて、第1の実施形態に係る情報処理装置100を起動させたときの処理を説明する。図11は、第1の実施形態に係る通信システムにおける情報処理装置の起動時の処理の一例を示すシーケンス図である。
ステップS201において、情報処理装置100の制御部106は、情報処理装置100が起動したことを検知すると、通信部101の第1のネットワークインタフェース(IF)101aに対して、情報処理装置100とDNSサーバ250の宛先情報の取得要求を出力する。
ステップS202において、情報処理装置100の第1のネットワークインタフェース(IF)101aは、宛先情報の取得要求を検知すると、DHCPサーバA240aに対して、検知した取得要求を送信する。第1のネットワークインタフェース(IF)101aは、自らが接続するネットワークである第1のネットワーク10に接続するDHCPサーバA240aに対して、検知した取得要求を送信することができる。
ステップS203において、DHCPサーバA240aは、宛先情報の取得要求を受信すると、第1のネットワークインタフェース(IF)101aに対して、宛先情報設定部242aで設定された第1のネットワークインタフェース(IF)101aとDNSサーバA250aの宛先情報を送信する。具体的には、DHCPサーバA240aは、送受信部241aにより宛先情報の取得要求を受信すると、宛先情報設定部242aによる第1のネットワークインタフェース(IF)101aとDNSサーバA250aの宛先情報の設定を行う。
宛先情報設定部242aは、例えば、自らが接続するネットワークである第1のネットワーク10に接続する第1のネットワークインタフェース(IF)101aのIPアドレスを設定する、また、宛先情報設定部242aは、自らが接続するネットワークである第1のネットワーク10に接続するDNSサーバA250aのサーバアドレスを設定する。そして、DHCPサーバA240aの送受信部241aは、第1のネットワークインタフェース(IF)101aに対して、設定された第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを送信する。
ステップS204において、情報処理装置100の第1のネットワークインタフェース(IF)101aは、第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを受信すると、制御部106に対して、受信した情報を出力する。
ステップS205において、情報処理装置100の制御部106は、出力された第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを検知すると、第1のネットワークインタフェース(IF)101aのIPアドレスの設定を行う。これにより、第1のネットワークインタフェース(IF)101aは、設定されたIPアドレスを用いて、第1のネットワーク10に接続されている外部装置200と通信を行うことが可能となる。
そして、ステップS206において、制御部106は、記憶部105に対して、第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを記憶させる。具体的には、制御部106は、記憶・読出部104に対して、第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを出力する。そして、記憶・読出部104は、出力された第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを記憶部105に記憶させる。
ステップS207において、情報処理装置100の記憶部105は、図7に示す宛先情報502として、第1のネットワークインタフェース(IF)101aのIPアドレスとDNSサーバA250aのサーバアドレスを紐づけて記憶する。
このように、情報処理装置100は、ネットワークインタフェースとDNSサーバ250の宛先を示す宛先情報502を、情報処理装置100の起動時に取得する。そのため、情報処理装置100がクライアントとなる通信を行う場合に、情報処理装置100は、選択部103により選択されたネットワークインタフェースを用いて外部装置200との通信を行うことができる。
また、ステップS208~ステップS214は、第2のネットワーク20に接続する第2のネットワークインタフェース(IF)101bとDHCPサーバB240bとの処理である。ステップS208~ステップS214の処理内容は、前述したステップS201~ステップS207の処理内容と同様である。
なお、図11に示す処理は、情報処理装置100が二つのネットワークインタフェースを備える例を示したが、情報処理装置100が三つ以上のネットワークインタフェースを備える場合であって、同様の処理が行われる。さらに、情報処理装置100の起動時に宛先情報502が予め記憶されている場合、図11に示す処理は、行わなくてもよい。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る情報処理装置は、外部装置200との通信に用いる複数のネットワークインタフェースを備える。情報処理装置100は、ユーザの入力操作に基づいて、外部装置200に対するスキャンデータの送信要求(通信要求の一例)を取得した場合、スキャンデータの送信要求の要求元のユーザを特定するための特定情報に基づいて、複数のネットワークインタフェースの中から、スキャンデータを送信するネットワークインタフェースを選択する。これにより、情報処理装置100がクライアントとなる通信を行う場合においても、ユーザや管理者の手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択したネットワークインタフェースを用いて外部装置200との通信を行うことができる。
●第1の実施形態の変形例●
続いて、第1の実施形態に係る通信システムの変形例について説明する。第1の実施形態の変形例は、情報処理装置100においてユーザ認証が行われていない場合の例を説明する。第1の実施形態の変形例に係る情報処理装置は、予め記憶された優先度情報503に基づいて外部装置200と通信を行うために用いるネットワークインタフェースを選択する。
●機能構成
図12は、第1の実施形態に係る情報処理装置の機能構成の変形例を示す図である。なお、第1の実施形態と同様の機能は、同一の符号を付しており、説明を省略する。図12に示す情報処理装置100は、第1の実施形態の機能に加え、記憶部105に優先度情報503が記憶されている。
図13は、優先度情報の一例を示す図である。優先度情報503は、情報処理装置100が利用可能なネットワークインタフェース毎に優先度が付与されている、例えば、優先度情報503は、第2のネットワークインタフェース(IF)101bよりも第1のネットワークインタフェース101aの方が優先度を高く設定されている。優先度情報503に含まれる優先度は、ユーザにより適宜設定または変更が可能である。
なお、優先度情報503に含まれる優先度は、図13に示す優先度の高低を示す情報でなく、優先順位を示す情報であってもよい。また、優先度情報503に含まれる優先度は、図13に示す優先度の高低を示す情報と優先順位を示す情報の両方を含んでもよい。さらに、優先度情報503は、情報処理装置100が三つ以上のネットワークインタフェースを備える場合であっても、各ネットワークインタフェースの優先度が判別できるよう優先度が設定される。
●ネットワーク選択処理
続いて、第1の実施形態の変形例に係る通信システムにおけるネットワーク処理について説明する。図14は、第1の実施形態に係る通信システムにおけるネットワーク選択処理の変形例を示すシーケンス図である。
図14に示す処理は、図9のステップS101~ステップS106に示すログイン処理(ユーザ認証処理)が行われていない場合に行われる処理である。また、図14に示す処理は、外部装置200に対する通信要求が、ユーザ端末220に対する情報処理装置100によりスキャンされたスキャンデータの送信要求である例を説明する。さらに、ユーザ端末220の宛先情報(例えば、IPアドレス)は、宛先情報502に含まれているものとする。
ステップS301において、情報処理装置100の取得部102は、スキャンデータの送信要求を取得する。ステップS301の処理内容は、図9に示すステップS107の処理内容と同様である。ステップS302において、情報処理装置100の取得部102は、スキャンデータの送信要求を取得すると、選択部103に対して、取得した送信要求を出力する。
ステップS303において、情報処理装置100の選択部103は、出力されたスキャンデータ送信要求を検知すると、記憶部105に記憶された優先度情報503を読み出す。具体的には、選択部103は、記憶・読出部104に対して優先度情報503の読出要求を出力する。そして、記憶・読出部104は、出力された読出要求を検知すると、記憶部105に記憶された優先度情報503を読み出す。
ステップS304において、情報処理装置100の記憶部105は、選択部103に対して、優先度情報503を出力する。具体的には、記憶部105は、記憶・読出部104に対して、優先度情報503を出力する。そして、記憶・読出部104は、選択部103に対して、出力された優先度情報503を出力する。
ステップS305において、情報処理装置100の選択部103は、出力された優先度情報503を検知すると、検知した優先度情報503に基づいて、スキャンデータを送信するために利用するネットワークインタフェース(IF)を選択する。具体的には、選択部103は、優先度情報503に含まれる優先度の高いネットワークインタフェースを、スキャンデータを送信するために利用するネットワークインタフェース(IF)として選択する。
ここで、第2の実施形態に係る選択部103の処理内容について説明する。図15は、第1の実施形態に係る情報処理装置におけるネットワーク選択処理の変形例を示すフローチャートである。図15の例において、情報処理装置100が二つのネットワークインタフェースを備える例を説明するが、三つ以上のネットワークインタフェースを備える場合であって、同様の処理が行われる。
ステップS351において、選択部103は、取得部102により取得されたスキャンデータの送信要求を検知した場合、処理をS352へ移行する。一方で、選択部103は、スキャンデータの送信要求を検知していない場合、ステップS351の処理を繰り返す。
ステップS352において、選択部103は、記憶部105に記憶された優先度情報503を読み出す。ステップS353において、選択部103は、読み出した優先度情報503に含まれる第1のネットワークインタフェース(IF)101aの優先度が高い場合、処理をステップS354へ移行する。ステップS354において、選択部103は、スキャンデータを送信するために利用するネットワークインタフェースとして、第1のネットワークインタフェース(IF)101aを選択する。
一方、ステップS353において、選択部103は、読み出した優先度情報503に含まれる第2のネットワークインタフェース(IF)101bの優先度が高い場合、処理をステップS355へ移行する。ステップS355において、選択部103は、スキャンデータを送信するために利用するネットワークインタフェースとして、第2のネットワークインタフェース(IF)101bを選択する。
このように、外部装置200へのスキャンデータの送信要求を取得した場合、すなわち情報処理装置100がクライアントとして通信を行う場合、ユーザ認証が行われていなくても、情報処理装置100は、図15に示す選択部103の処理により、外部装置200との通信に用いるネットワークインタフェースを選択することができる。
図14に戻り、第1の実施形態の変形例に係るネットワーク選択処理の説明を続ける。ステップS306において、情報処理装置100の選択部103は、制御部106に対して、ネットワークインタフェースの選択結果を出力する。図14の例では、選択部103により第1のネットワークインタフェース(IF)101aが選択されたものとして説明する。
ステップS307において、情報処理装置100の制御部106は、出力された選択結果を検知すると、第1のネットワークインタフェース101aに対して、ユーザ端末A220aに対するスキャンデータの送信要求を出力する。制御部106は、検知した選択結果が第1のネットワークインタフェース(IF)101aを利用するための情報であるため、通信部101の第1のネットワークインタフェース(IF)101aに対して、ユーザ端末A220aに対するスキャンデータの送信要求を出力する。
また、出力するスキャンデータの送信要求は、記憶部105に記憶された宛先情報502に含まれるユーザ端末A220aの宛先情報(例えば、IPアドレス)を含む。なお、図14に示す処理は、ユーザ端末220の宛先情報(例えば、IPアドレス)が予め記憶されていない場合、ステップS307の処理の前に、図9に示すステップS113~ステップS116と同様の処理が行われる。
ステップS308において、情報処理装置100の第1のネットワークインタフェース101aは、出力されたスキャンデータの送信要求を検知すると、ユーザ端末A220aに対して、スキャンデータを送信する。これによって、ユーザ端末A220aは、情報処理装置100によってスキャンされたスキャンデータを取得することができる。
なお、取得部102により取得された通信要求が、外部装置200に対する情報取得要求の送信要求である場合、情報取得要求を受信したユーザ端末A220aは、第1のネットワークインタフェース(IF)101aに対して、応答情報を送信する。
●第1の実施形態の変形例の効果
以上説明したように、第1の実施形態の変形例に係る情報処理装置は、優先度情報503に含まれる優先度の高いネットワークインタフェースを、外部装置200に対してスキャンデータを送信するネットワークインタフェースとして選択する。これにより、ユーザ認証が行われていなくても、情報処理装置100がクライアントとなる通信を行う場合における通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択したネットワークインタフェースを用いて外部装置200との通信を行うことができる。
●第2の実施形態●
次に、第2の実施形態に係る通信システムの構成について説明する。第2の実施形態に係る通信システムは、外部装置200から情報処理装置100へ送信された情報に基づいて、情報処理装置100への管理情報501の登録を行う。
●機能構成
図16は、第2の実施形態に係る情報処理装置の機能構成の一例を示す図である。なお、第1の実施形態と同様の機能は、同一の符号を付しており、説明を省略する。図16に示す情報処理装置100は、第1の実施形態の機能に加え、登録部109の機能を有する。
登録部109は、記憶部105に記憶される管理情報501を登録する機能である。登録部109は、ユーザ識別情報とユーザが利用可能なネットワークインタフェースの情報とを紐づけて、管理情報501として登録する。登録部109は、例えば、図3に示すROM1012、ストレージ1014およびCPU1011で実行されるプログラム等により実現される。
●登録処理
図17は、第2の実施形態に係る通信システムにおける管理情報の登録処理の一例を示すシーケンス図である。図17に示す処理は、管理者端末A210aから第1のネットワークインタフェース(IF)101aに対して、情報取得要求が送信された場合における、管理情報501の登録処理を示す。すなわち、図17に示す処理は、情報処理装置100がサーバとして通信を行う場合に行われる処理である。なお、図17に示す処理は、管理情報501が予め登録されていない場合の例を説明する。また、管理者端末A210aから送信される対象は、情報取得要求のみならず、管理者端末A210aからの通信要求(第2の通信要求の一例)であればよい。
ステップS401において、情報処理装置100の第1のネットワークインタフェース(IF)101aは、管理者端末A210aから送信された情報取得要求を取得する。ステップS402において、情報処理装置100の第1のネットワークインタフェース(IF)101aは、情報取得要求を受信すると、特定部108に対して、受信通知を出力する。受信通知は、情報取得要求を受信したネットワークインタフェースの情報と情報取得要求を送信した管理者端末A210aのユーザを特定するための特定情報を含む。特定情報は、例えばユーザ名である。
ステップS403において、情報処理装置100の特定部108は、出力された受信通知を検知すると、情報取得要求を受信したネットワークインタフェースを特定する。ステップS404において、情報処理装置100の特定部108は、登録部109に対して、ネットワークインタフェースの特定結果を出力する。図17の例では、ステップS401において第1のネットワークインタフェース(IF)101aにより情報取得要求を受信しているため、第1のネットワークインタフェース(IF)101aが特定結果となる。
ステップS405において、情報処理装置100の登録部109は、出力された特定結果を検知すると、記憶部105に対して、管理情報501を登録する。具体的には、登録部109は、検知した特定結果に含まれるユーザを特定するための特定情報をユーザ識別情報として、検知した特定結果に含まれるネットワークインタフェースの情報とを紐づけて、図6に示す管理情報501として記憶部105に記憶させる。
図6に示すように、管理情報501は、ユーザ識別情報とネットワークインタフェースの情報のほかに、パスワードと権限の情報を含む。登録部109は、管理情報501を登録する場合、パスワードと権限を、初期設定として自動的に設定する構成にしてもよい。さらに、登録部109は、例えば、図18のように管理者端末A210aから情報取得要求を受信した場合には、権限を管理者として管理情報501を登録する構成にしてもよい。一方で、登録部109は、ユーザ端末220から情報取得要求を受信した場合には、権限を一般として管理情報501を登録する構成にしてもよい。
なお、情報処理装置100は、ステップS403において特定したネットワークインタフェースを用いて、管理者端末A210aに対して、情報取得要求に対する応答情報を送信する。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る情報処理装置は、外部装置200から情報取得要求(第2の通信要求の一例)が送信された場合、すなわち情報処理装置100がサーバとして通信を行う場合、情報取得要求を受信したネットワークインタフェースを特定する。そして、情報処理装置100は、特定されたインターフェースの情報と情報取得要求を送信したユーザを特定するための特定情報とを対応付けて管理情報501として登録する。これにより、情報処理装置100は、ユーザや管理者の手間を掛けることなく、ユーザ毎に外部装置200との通信に用いるネットワークインタフェースを登録(設定)することができる。
●第2の実施形態の変形例●
続いて、第2の実施形態の変形例に係る通信システムの構成について説明する。第2の実施形態の変形例に係る通信システムは、第2の実施形態とは異なり、登録部109による管理情報501の登録処理をユーザによる入力操作に基づいて行う。
●登録処理
図18は、第2の実施形態に係る通信システムにおけるユーザ登録処理の変形例を示すシーケンス図である。図18に示す処理は、情報処理装置100の操作部1020に対して、ユーザによりスキャンデータの送信要求の入力操作がされた場合における、管理情報501の登録処理を示す。すなわち、図18に示す処理は、情報処理装置100がクライアントとして通信を行う場合に行われる処理である。なお、図18に示す処理は、図17と同様に、管理情報501が予め登録されていない場合の例を説明する。また、操作部1020に対する入力操作の対象は、外部装置200に対する通信要求であればよく、例えば、情報取得要求の送信要求であってもよい。
ステップS501において、情報処理装置100の取得部102は、スキャンデータの送信要求を取得する。ステップS501の処理内容は、図9に示すステップS107および図14に示すステップS301の処理内容と同様である。ステップS502において、情報処理装置100の取得部102は、スキャンデータの送信要求を取得すると、選択部103に対して、取得した送信要求を出力する。
ステップS503において、情報処理装置100の選択部103は、出力されたスキャンデータの送信要求を検知すると、記憶部105に記憶された優先度情報503を読み出す。ステップS504において、情報処理装置100の記憶部105は、選択部103に対して、優先度情報503を出力する。ステップS503およびステップS504の処理内容は、図14に示すステップS303およびステップS304の処理内容と同様である。
ステップS505において、情報処理装置100の選択部103は、出力された優先度情報503を検知すると、検知した優先度情報503に基づいて、管理情報501として登録するネットワークインタフェース(IF)を選択する。具体的には、選択部103は、優先度情報503に含まれる優先度の高いネットワークインタフェースを、管理情報501として登録するネットワークインタフェース(IF)を選択する。なお、選択部103の処理内容は、図15に示す処理内容と同様である。ステップS506において、情報処理装置100の選択部103は、登録部109に対して、ネットワークインタフェースの選択結果を出力する。
ステップS507において、情報処理装置100の登録部109は、出力された選択結果を検知すると、記憶部105に対して、管理情報501を登録する。具体的には、登録部109は、スキャンデータの送信要求に含まれるユーザを特定するための特定情報をユーザ識別情報として、検知した選択結果に含まれるネットワークインタフェースの情報と紐づけて、管理情報501として記憶部105に記憶させる。
なお、情報処理装置100は、ステップS505において選択したネットワークインタフェースを用いて、外部装置200に対して、スキャンデータを送信する。また、図18に示すステップS501~ステップS505の処理と図14に示すステップS301~ステップS305の処理は、同様の処理である。そのため、図18に示す管理情報501の登録処理と図14に示すネットワークの選択処理は、同様の処理については、共通の処理として行われてもよい。
●第2の実施形態の変形例の効果
以上説明したように、第2の実施形態の変形例に係る情報処理装置は、取得部102によりスキャンデータの送信要求を取得した場合、スキャン処理(入力操作)を行ったユーザ、すなわちスキャンデータの送信要求の要求元のユーザを特定するための特定情報と優先度情報503に含まれる優先度の高いネットワークインタフェースとを対応づけて管理情報501として登録する。これにより、情報処理装置100は、情報処理装置100がクライアントとして通信を行う場合においても、ユーザや管理者の手間を掛けることなく、ユーザ毎に外部装置200との通信に用いるネットワークインタフェースを登録(設定)することができる。
●第3の実施形態●
続いて、第3の実施形態に係る通信システムの構成について説明する。第3の実施形態に係る通信システムは、登録された管理情報501の更新処理を行う。
●機能構成
図19は、第3の実施形態に係る情報処理装置の機能構成の一例を示す図である。なお、第1の実施形態および第2の実施形態と同様の機能は、同一の符号を付しており、説明を省略する。図19に示す情報処理装置100は、第2の実施形態の機能に加え、更新部110の機能を有する。
更新部110は、記憶部105に記憶された管理情報501を更新する機能である。更新部110は、外部装置200から情報取得要求(第2の通信要求の一例)を受信したネットワークインタフェースが、登録された管理情報501に含まれるネットワークインタフェースの情報と異なる場合、ネットワークインタフェースの情報を書き換えて、管理情報501を更新する。更新部110は、例えば、図3に示すROM1012、ストレージ1014およびCPU1011で実行されるプログラム等により実現される。
●ユーザ登録処理
図20は、第3の実施形態に係る通信システムにおける管理情報の更新処理の一例を示すシーケンス図である。図20に示す処理は、管理者端末B210bから第1のネットワークインタフェース(IF)101bに対して、情報取得要求(第2の通信要求の一例)が送信された場合における、管理情報501の更新処理を示す。また、管理者端末B210bによる情報取得要求の送信は、図6で示した管理情報501に含まれるユーザ名「adminA」のユーザによって行われるものとする。
ステップS601において、情報処理装置100の第2のネットワークインタフェース(IF)101bは、管理者端末B210bから送信された情報取得要求を取得する。ステップS402において、情報処理装置100の第2のネットワークインタフェース(IF)101bは、情報取得要求を受信すると、特定部108に対して、受信通知を出力する。受信通知は、情報取得要求を受信したネットワークインタフェースの情報と情報取得要求を送信した管理者端末B210bのユーザを特定するための特定情報を含む。特定情報は、例えばユーザ名である。
ステップS603において、情報処理装置100の特定部108は、出力された受信通知を検知すると、情報取得要求を受信したネットワークインタフェースを特定する。ステップS604において、情報処理装置100の特定部108は、更新部110に対して、ネットワークインタフェースの特定結果を出力する。図20の例では、ステップS601において第2のネットワークインタフェース(IF)101bにより情報取得要求を受信しているため、第2のネットワークインタフェース(IF)101bが特定結果となる。特定結果は、情報取得要求を送信した管理者端末B210bのユーザを特定するための特定情報を含む。
ステップS605において、情報処理装置100の更新部110は、出力された特定結果を検知すると、記憶部105に記憶された管理情報501を読み出す。具体的には、更新部110は、記憶・読出部104に対して管理情報501の読出要求を出力する。そして、記憶・読出部104は、出力された読出要求を検知すると、記憶部105に記憶された管理情報501を読み出す。ステップS606において、情報処理装置100の記憶部105は、更新部110に対して、管理情報501を出力する。具体的には、記憶部105は、記憶・読出部104に対して、管理情報501を出力する。そして、記憶・読出部104は、更新部110に対して、管理情報501を出力する。
ステップS607において、情報処理装置100の更新部110は、出力された管理情報501を検知すると、管理者端末B210bのユーザを特定するための特定情報と特定部108により特定されたネットワークインタフェースの情報とに基づいて、管理情報501の更新を行う。
ここで、更新部110の処理内容について説明する。図21は、第3の実施形態に係る情報処理装置における管理情報の更新処理の一例を示すフローチャートである。ステップS651において、更新部110は、特定部108によるネットワークインタフェースの特定結果を検知した場合、処理をステップS652へ移行する。一方で、更新部110は、上記特定結果を検知していない場合、ステップS651の処理を繰り返す。
ステップS652において、更新部110は、記憶部105に記憶された管理情報501を読み出す。ステップS653において、更新部110は、読み出した管理情報501に含まれるユーザを識別するためのユーザ識別情報(例えば、図6に示すユーザ名)の中から、情報取得要求を送信した管理者端末B210bのユーザを特定するための特定情報を検索する。
ステップS654において、更新部110は、検索された特定情報に紐づくネットワークインタフェースが特定部108により特定されたネットワークインタフェースと同じ場合、管理情報501の更新を行わず、処理を終了する。一方で、更新部110は、検索された特定情報に紐づくネットワークインタフェースが特定部108により特定されたネットワークインタフェースと異なる場合、処理をステップS655へ移行する。
ステップS655において、更新部110は、検索された特定情報に紐づく権限情報が管理者である場合、処理をステップS656へ移行する。一方で、更新部110は、検索された特定情報に紐づく権限情報が管理者でない場合(権限情報が一般である場合)、管理情報501の更新を行わず、処理を終了する。ステップS656において、更新部110は、検索された特定情報に紐づくネットワークインタフェースの情報を、特定部108により特定されたネットワークインタフェースの情報へ更新する。
これにより、管理情報501に含まれる各ユーザの利用インターフェースの情報を更新することで、管理情報501に含まれるネットワークインタフェースの情報を、常に最適なネットワークインタフェースを維持することができる。
図21に戻り、第3の実施形態に係る管理情報501の更新処理の説明を続ける。ステップS607において、情報処理装置100の更新部110は、情報取得要求を送信したユーザの特定情報である「adminA」に紐づくネットワークインタフェースの情報が、特定部108により特定された第2のネットワークインタフェース(IF)101bと異なるため、管理情報501の更新を行う。
ステップ608において、情報処理装置100の更新部110は、記憶部105に記憶された管理情報501に含まれる「adminA」に紐づくネットワークインタフェースの情報を、第2のネットワークインタフェース(IF)101bに書き換えて、管理情報501を更新する。
●第3の実施形態の効果
以上説明したように、第3の実施形態に係る情報処理装置は、情報処理装置100がサーバとして通信を行う場合、外部装置200から送信された情報取得要求(第2の通信要求の一例)を受信したネットワークインタフェースを特定して管理情報501に含まれるネットワークインタフェースの情報を更新する。これにより、情報処理装置100は、管理情報501に含まれるネットワークインタフェースの情報を、最適なネットワークインタフェースに維持することができる。そして、情報処理装置100は、更新したネットワークインタフェースを用いて外部装置200との通信を行うことで、ユーザ毎に最適な通信経路を利用することができる。
●第4の実施形態●
続いて、第4の実施形態に係る通信システムの構成について説明する。第4の実施形態に係る通信システムは、ユーザを特定するための特定情報のみでなく、ユーザに関連する関連情報に基づいて、ネットワークインタフェースの選択を行うことができる。
図22は、第4の実施形態に係る管理情報の一例(その1)を示す図である。管理情報501cは、複数のユーザが含まれる特定のグループ毎に登録されたネットワークインタフェースの利用権限を示す情報である。
図22に示すように、例えば、グループ名「GroupC」には、ユーザ名「adminC」のユーザとユーザ名「userC」のユーザが含まれる。グループ名「GroupC」に所属するユーザは、第1のネットワークインタフェース(IF)101aを利用することができる。また、グループ名「GroupD」には、ユーザ名「adminD」のユーザとユーザ名「userD」のユーザが含まれる。グループ名「GroupD」に所属するユーザは、第2のネットワークインタフェース(IF)101bを利用することができる。
この場合、情報処理装置100は、ユーザに関連する関連情報である「グループ名」の情報に基づいて、ネットワークインタフェースの選択を行うことができる。具体的には、情報処理装置100の選択部103は、取得部102により取得されたスキャンデータの送信要求(通信要求の一例)の要求元のユーザが所属する「グループ名」に紐づくネットワークインタフェースを選択する。
スキャンデータの送信要求は、ユーザが所属する「グループ名」の情報(ユーザの関連する関連情報)が含まれる。なお、管理情報501cは、図6に示す例と同様に、パスワードと権限情報を含んでもよい。管理情報501cは、第2の実施形態および第3の実施形態と同様に、登録部109によって登録される構成であってもよい。
さらに、図23に示すような社員であるか否かでネットワークインタフェースの利用権限を設定してもよい。この場合、例えば、取得部102により取得された通信要求は、社員番号などの情報(ユーザに関連する関連情報)を含み、当該情報を用いてネットワークインタフェースの選択を行うことができる。
このように、第4の実施形態に係る通信システムは、ユーザを特定するための特定情報のみでなく、ユーザに関連する関連情報に基づいて、ネットワークインタフェースの選択を行うことができるため、ネットワークインタフェースの利用権限を柔軟に設定することができる。なお、ユーザに関する関連情報は、図22および図23に示す例に限られない。
●まとめ●
以上説明したように、本発明の一実施形態に係る情報処理装置は、外部装置200との通信に用いる複数のネットワークインタフェースと、ユーザの入力操作に基づいて、外部装置200に対する通信要求を取得する取得部102と、取得された通信要求の要求元のユーザに関連する関連情報に基づいて、複数のネットワークインタフェースの中から、外部装置200との通信に用いるネットワークインタフェースを選択する選択部103と、を備える。これにより、情報処理装置100がクライアントとなる通信を行う場合においても、ユーザや管理者の手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択したネットワークインタフェースを用いて外部装置200との通信を行うことができる。
また、本発明の一実施形態に係る情報処理装置は、ユーザ識別情報を用いてユーザ認証を行う認証部107を備え、取得部102によりユーザ認証が行われていないユーザの入力操作に基づいて通信要求を取得した場合、優先度情報503に含まれる優先度の高いネットワークインタフェースを、外部装置200との通信に用いるネットワークインタフェースとして選択する。これにより、ユーザ認証が行われていなくても、情報処理装置100がクライアントとなる通信を行う場合における通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択したネットワークインタフェースを用いて外部装置200との通信を行うことができる。
さらに、本発明の一実施形態に係る情報処理装置は、外部装置200から情報取得要求(第2の通信要求の一例)が送信された場合、情報取得要求を受信したネットワークインタフェースを特定する特定部108と、特定されたインターフェースの情報と情報取得要求を送信した外部装置200のぶユーザに関連する関連情報とを対応づけて管理情報501として登録する。これにより、情報処理装置100は、ユーザや管理者の手間を掛けることなく、ユーザ毎に外部装置200との通信に用いるネットワークインタフェースを登録(設定)することができる。
また、本発明の一実施形態に係る情報処理装置は、取得部102によりスキャンデータの送信要求(通信要求の一例)を取得した場合、スキャンデータの送信要求の要求元のユーザに関連する関連情報と、優先度情報503に含まれる優先度の高いネットワークインタフェースとを対応づけて管理情報501として登録する。これにより、情報処理装置100は、情報処理装置100がクライアントとして通信を行う場合においても、ユーザや管理者の手間を掛けることなく、ユーザ毎に外部装置200との通信に用いるネットワークインタフェースを登録(設定)することができる。
さらに、本発明の一実施形態に係る情報処理装置は、特定部108により特定されたネットワークインタフェースが、情報取得要求(第2の通信要求の一例)を送信した外部装置200のユーザに関連する関連情報(第2の関連情報)に対応するネットワークインタフェースと異なる場合、管理情報501に含まれるネットワークインタフェースの情報を更新する。これにより、情報処理装置100は、管理情報501に含まれるネットワークインタフェースの情報を、最適なネットワークインタフェースに維持することができる。そして、情報処理装置100は、更新したネットワークインタフェースを用いて外部装置200との通信を行うことで、ユーザ毎に最適な通信経路を利用することができる。
また、本発明の一実施形態に係る通信システムは、外部装置200と、外部装置200と接続可能な情報処理装置100と、を備える通信システム1であって、情報処理装置100は、外部装置200との通信に用いる複数のネットワークインタフェースを備える。また、情報処理装置100は、ユーザの入力操作に基づいて、外部装置200に対する通信要求を取得する取得部102と、取得された通信要求の要求元のユーザに関連する関連情報に基づいて、外部装置200との通信に用いるネットワークインタフェースを選択する選択部103と、を備える。これにより、情報処理装置100がクライアントとなる通信を行う場合においても、ユーザや管理者の手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができる。そして、通信システム1は、選択されたネットワークインタフェースを用いて情報処理装置100と外部装置200との通信を行うことができる。
さらに、本発明の一実施形態に係る通信方法は、外部装置200との通信に用いる複数のネットワークインタフェースを備える情報処理装置100が行う通信方法であって、ユーザの入力操作に基づいて、外部装置200に対する通信要求を取得する取得ステップと、取得された通信要求の要求元のユーザに関連する関連情報に基づいて、外部装置200との通信に用いるネットワークインタフェースを選択する選択ステップと、選択されたネットワークインタフェースを用いて外部装置200と通信する通信ステップと、を備える。これにより、情報処理装置100がクライアントとなる通信を行う場合においても、ユーザや管理者の手間を掛けることなく、通信に用いるネットワークインタフェースを選択することができる。そして、情報処理装置100は、選択したネットワークインタフェースを用いて外部装置200との通信を行うことができる。
なお、各実施形態の機能は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD-ROM、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
また、各実施形態の機能の一部または全部は、例えばFPGA(Field Programmable Gate Array)などのプログラマブル・デバイス(PD)上に実装することができ、あるいはASIC(Application Specific Integrated Circuit)として実装することができ、各実施形態の機能をPD上に実現するためにPDにダウンロードする回路構成データ(ビットストリームデータ)、回路構成データを生成するためのHDL(Hardware Description Language)、VHDL(Very High Speed Integrated Circuits Hardware Description Language)、Verilog-HDLなどにより記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る情報処理装置、通信システム、通信方法およびプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。