以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
●第1の実施形態●
●システム構成
図1は、第1の実施形態に係る情報処理システムのシステム構成の一例を示す図である。情報処理システム1は、情報処理装置10が接続する複数のネットワークにおいて、許可されていないネットワークからのアプリケーションの利用を制限することができるシステムである。
情報処理システム1は、情報処理装置10、ルータ30(30a、30b、30c、以下、区別する必要のないときは、ルータ30とする。)、クライアント端末50(50a、50aa、50b、50bb、50c、50cc、以下、区別する必要のないときは、クライアント端末50とする。)およびサーバ装置90(90a、90b、90bb、90c、以下、区別する必要のないときは、サーバ装置90とする。)によって構成される。
情報処理装置10は、複数のネットワーク(Net_A0、Net_B0、Net_C0)に接続されている。ネットワークNet_A0は、ルータ30aを介して、ネットワークNet_A1に接続されている。また、ネットワークNet_B0は、ルータ30bを介して、ネットワークNet_B1に接続されている。さらに、ネットワークNet_B1は、ルータ30bbを介して、ネットワークNet_B2に接続されている。ネットワークNet_C0は、ルータ30cを介して、ネットワークNet_C1に接続されている。
情報処理装置10に接続されるネットワークは、ネットワークNet_A0およびネットワークNet_A1をグループとしたネットワークNet_A系、ネットワークNet_B0、ネットワークNet_B1およびネットワークNet_B2をグループとしたネットワークNet_B系、ネットワークNet_C0およびネットワークNet_C1をグループとしたネットワークNet_C系に分割されている。また、各系のネットワークの間は、IP(Internet Protocol)通信ができないように分離されている。
ネットワークNet_A0のネットワークアドレスは、例えば、「192.168.1.0/24」となっている。ネットワークNet_A1のネットワークアドレスは、「192.168.10.0/24」となっている。ネットワークNet_B0のネットワークアドレスは、「172.16.1.0/24」となっている。ネットワークNet_B1のネットワークアドレスは、172.16.10.0/24」となっている。ネットワークNet_B2のネットワークアドレスは、172.16.100.0/24」となっている。ネットワークNet_C0のネットワークアドレスは、「10.0.1.0/24」となっている。ネットワークNet_C1のネットワークアドレスは、「10.0.10.0/24」となっている。
このように、各ネットワークのネットワークアドレスは、重複しないように設定されている。実際には、このような設定例以外であっても、情報処理装置10と直接通信するクライアント端末50およびサーバ装置90のIPアドレスが重複しなければよい。また、直接通信するクライアント端末50およびサーバ装置90のIPアドレスが重複している場合でも、静的なNAPT(Network Address Port Translation)設定がされていればよい。
情報処理システム1は、互いに通信できないように分離された異なるセグメントを有する複数のネットワークにルータ30が設けられていることを前提として、直接接続されているネットワーク以外のネットワークへの経路についても制御する。これにより、情報処理システム1は、複数のネットワーク間でルータ装置を介した通信が可能となり、情報処理装置10を大規模なネットワークで利用可能としている。なお、本実施形態に係る情報処理システム1は、各系のネットワーク間で、IP通信ができないように分離されていることとして説明を進めるが、セキュリティの要件等に応じて、各系のネットワーク間で通信可能としてもよい。また、情報処理装置10は、インターネット接続を図るためのセグメントを有するネットワークに接続されていてもよい。
クライアント端末50a、クライアント端末50bおよびクライアント端末50cは、ネットワークNet_A0、ネットワークNet_B0およびネットワークNet_C0に、それぞれ接続される。クライアント端末50aおよびサーバ装置90aは、ネットワークNet_A1に接続される。また、クライアント端末50bおよびサーバ装置90bは、ネットワークNet_B1に接続される。さらに、クライアント端末50cおよびサーバ装置90cは、ネットワークNet_C1に接続される。クライアント端末50およびサーバ装置90は、それぞれ接続された各ネットワークを介して、情報処理装置10と通信を行うことができる。
情報処理装置10は、例えば、プリント機能、コピー機能、スキャナ機能およびFAX機能といった複数の機能を1つの筐体で実現する複合機等の画像形成装置である。画像形成装置は、複合機のほか、MFP(Multifunction Peripheral)、複写機等と呼ばれてもよい。情報処理装置10は、プリント機能、コピー機能、スキャナ機能またはFAX機能の1つだけを有していてもよい。この場合、情報処理装置10はプリンタ、複写機、スキャナ装置またはFAX装置と呼ばれる。また、情報処理装置10は、各機能を実行するための一または複数のアプリケーションがインストールされている。
なお、情報処理装置10は、画像形成装置に限らず、例えば、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、スピーカ等の音響出力装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電等でもあってもよい。
クライアント端末50は、各ネットワークに対して、それぞれ接続される通信装置である。クライアント端末50は、例えば、ノートPC(Personal Computer)等の利用者により携帯または操作可能な通信装置である。クライアント端末50は、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC、デスクトップPC等でもよい。クライアント端末50は、通信装置の一例である。
サーバ装置90は、各ネットワークに対して、それぞれ接続されるジョブサーバや認証サーバ等のサーバ装置である。サーバ装置90は、例えば、クライアント端末50から要求された情報処理装置10に対するジョブを蓄積する。そして、サーバ装置90は、情報処理装置10に対して、蓄積したジョブを出力する。
情報処理システム1において、クライアント端末50は、例えば、情報処理装置10に対して、印刷要求およびSNMP(simple network management protocol)での機器情報の送信等を行う。情報処理装置10は、サーバ装置90にスキャン処理で形成したファイル情報の転送等を行う。なお、この例で説明した印刷要求、SNMPでの機器情報の送信およびスキャン処理したファイル情報の転送等は、一例であり、これら以外の通信でもよい。また、情報処理装置10は、三系統のネットワークに接続された例を説明したが、二系統のネットワークまたは四系統以上のネットワークに接続された構成であってもよい。
●概略
図2は、第1の実施形態に係る情報処理システムの概略の一例を示す図である。図2に示す情報処理システムは、情報処理装置10に接続された異なるセグメントを有する複数のネットワークのうち、一つのネットワークに接続されたクライアント端末50から情報処理装置10に対してアプリケーションの実行要求が送信された場合の処理を示す。なお、図2は、第1の実施形態に係る情報処理システムの概略を簡略的に説明したものであり、情報処理システム1が実現する機能等の詳細は、後述する図面等を用いて説明する。
情報処理システム1を構成するネットワークNet_A0に接続されたクライアント端末50aは、情報処理装置10により実行されるアプリケーションの実行要求を、情報処理装置10に対して送信する。アプリケーションは、情報処理装置10にインストールされた、情報処理装置10の機能を実現するためのソフトウエアである。情報処理装置10が画像処理装置の場合、アプリケーションは、コピー機能やスキャン機能を実現するためのものである。情報処理装置10は、一または複数のアプリケーションがインストールされている。情報処理装置10は、送受信部11aによって、実行要求を受信する。
情報処理装置10の判定部21は、アプリケーション管理テーブル42を用いて、アプリケーションの実行要求が送信されたネットワークが、アプリケーションの利用権限を有するかを判定する。アプリケーション管理テーブル42は、情報処理装置10が接続されたネットワークごとに、アプリケーションの利用権限を記憶している。アプリケーション管理テーブル42は、例えば、アプリケーションA(appA)に対して、ネットワークNet_A0には利用権限を付与し、ネットワークNet_B0には利用権限を付与しないよう記憶されている。アプリケーション管理テーブル42は、設定情報に一例である。情報処理装置10は、アプリケーション実行部16によって、インストールされたアプリケーション(例えば、appA、appB等)を実行する。
情報処理装置10は、送受信部11aによって、判定部21によって判定された判定結果を、クライアント端末50aに送信する。クライアント端末50aは、情報処理装置10から送信された判定結果が、アプリケーションの利用権限「有」の場合、権限を有するアプリケーションを実行することができる。
したがって、情報処理システム1は、異なるセグメントを有する複数のネットワークに接続された情報処理装置10にインストールされたアプリケーションに対して、ネットワークごとに設定された利用権限が設定されている。そして、情報処理装置10は、設定された利用権限に基づいて、特定のネットワークに接続されたクライアント端末50のアプリケーションの利用を制御する。そのため、情報処理システム1は、情報処理装置10が接続する複数のネットワークにおいて、許可されていないネットワークからのアプリケーションの利用を制限することができる。これにより、情報処理装置10は、他のネットワークに接続しているクライアント端末50からの不正なアプリケーションの利用を防止することができる。
●ハードウエア構成
図3は、第1の実施形態に係る情報処理装置のハードウエア構成の一例を示す図である。なお、図3に示すハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。情報処理装置10は、コントローラ120を有する。コントローラ120は、CPU(Central Processing Unit)101、SDRAM(Synchronous Dynamic Random Access Memory)102、フラッシュメモリ103、HDD(Hard Disk Drive)104、ASIC(Application Specific Integrated Circuit)105、通信インターフェース(I/F)106およびNIC(Network Interface Card)107等を有する。
ASIC105は、CPUインターフェース、SDRAMインターフェース、ローカルバスインターフェース、PCI(Peripheral Component Interconnect)バスインターフェース、MAC(Media Access Controller)およびHDDインターフェース等を備える多機能デバイスボードである。
CPU101は、ASIC105を介して本発明に係るプログラム等の各種プログラムを、HDD104から読み取り実行する。情報処理装置10は、例えば、本発明に係るプログラムをCPU101が実行することによって、本発明に係る制御方法を実現する。SDRAM102は、各種プログラムを記憶するプログラムメモリや、CPU101が各種プログラムを実行する際に使用するワークメモリ等として機能する。なお、SDRAM102の代わりに、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)を用いてもよい。
フラッシュメモリ103は、不揮発性メモリであり、情報処理装置10を起動させるブートローダ(ブートプログラム)やOS(Operation System)を記憶する。また、フラッシュメモリ103は、各プログラムを記憶するアプリケーションメモリとして機能する。さらに、フラッシュメモリ103は、各サービス(コピーサービス、プリントサービス、ファクシミリサービス)のソフトウエアを記憶するサービスメモリとして機能する。
また、フラッシュメモリ103は、ファームウェアを記憶するファームメモリ、ネットワークアドレスや機種機番等を記憶するデータメモリとして機能する。なお、フラッシュメモリ103の代わりに、RAM(Random Access Memory)と電池を利用したバックアップ回路を集積した不揮発性RAMや、EEPROM(Electrically Erasable Programmable Read-Only Memory)等の他の不揮発性メモリを使用してもよい。
HDD104は、情報処理装置10の電源のオン、オフに関わりなくデータを記憶する不揮発性の記憶媒体である。HDD104は、フラッシュメモリ103内に記憶されたプログラムおよびデータ以外のプログラム、並びにデータを記録する。なお、HDD104は、ファームメモリとして使用してもよい。
通信インターフェース(I/F)106は、外部装置とネットワークを介して通信(接続)を行うためのインターフェースである。NIC107は、LAN(Local Area Network)等のネットワークに接続されたLANカード等のハードウエアである。n個のNIC107−1、107−2、107−3、・・・107−n(以下、NIC107−1、107−2、107−3、・・・、107−nを区別する必要がない場合には、NIC107と記載する)は、通信インターフェース(I/F)106に接続される。情報処理装置10は、NIC107を通じて外部装置との通信を行う。
操作部108は、USB(Universal Serial Bus)ケーブル等を用いてコントローラ120と接続されている。操作部108は、情報処理装置10に対して操作を行うユーザのためのインターフェースである。操作部108は、各種の操作キー、表示装置としてのLCD(Liquid Crystal Display)またはCRT(Cathode-Ray Tube)の文字表示器およびタッチパネルを有する。情報処理装置10は、操作部108を操作することにより、データの入力、ジョブの実行、表示をすることができる。
さらに、コントローラ120には、PCIバス115を介して、ファックス制御ユニット109、記憶媒体110aが脱着可能なUSB110、IEEE(Institute of Electrical and Electronic Engineers)1394(111)、プロッタエンジン112、スキャナエンジン113およびBLE(Bluetooth(登録商標)Low Energy)モジュール114等が接続されている。これにより、情報処理装置10は、コピーサービス、プリントサービス、ファクシミリサービス等の各サービスを提供することができる。プロッタエンジン112は、電子写真方式またはインクジェット方式のいずれの方式を採用していてもよい。
なお、図3に図示する構成は一例に過ぎず、情報処理装置10のハードウエア構成は、図3の構成には限られない。例えば、通信I/F106は、PCIバス115に接続されていてもよい。また、通信インターフェース(I/F)106は、有線LAN(Ethernet(登録商標))等でネットワークに接続されるほか、Wi−Fi(登録商標)等の無線LANで接続されてもよい。さらに、通信インターフェース(I/F)106は、電話回線網に接続するDSU(Digital Service Unit)またはモデムを有していてもよい。通信インターフェース(I/F)106は、携帯電話網に接続する通信装置を有していてもよい。
図4は、第1の実施形態に係るクライアント端末のハードウエア構成の一例を示す図である。なお、図4に示すハードウエア構成は、各実施形態において同様の構成を有していてもよく、必要に応じて構成要素が追加または削除されてもよい。また、図4は、クライアント端末50のハードウエア構成を示したが、ルータ30およびサーバ装置90も同様の構成を有していてもよい。クライアント端末50は、CPU501、ROM502、RAM503、ストレージ504、入力部505、表示インターフェース(I/F)506、入出力インターフェース(I/F)507、通信部508およびバス509等を有する。
CPU501は、クライアント端末50全体の制御を行う。CPU501は、ROM502やストレージ504等に格納されたプログラムやデータをRAM503上に読み出し、処理を実行することで、クライアント端末50の各機能を実現する演算装置である。RAM503は、CPU501のワークエリア等として用いられる揮発性のメモリである。ROM502は、電源を切ってもプログラムやデータを保持することができる不揮発性のメモリである。
ストレージ504は、例えば、HDD、SSD(Solid State Drive)、またはフラッシュROM等のストレージデバイスであり、OS、アプリケーションプログラム、および各種データ等を記憶する。入力部505は、オペレータがクライアント端末50に各種指示を入力するためのインターフェースである。例えば、キーボード、マウス、タッチパネル、音声入力装置等である。
表示インターフェース(I/F)506は、CPU501からの要求により、クライアント端末50が有する各種情報をカーソル、メニュー、ウィンドウ、文字、または画像等の形態でディスプレイ506aに表示する。表示インターフェース(I/F)506は、例えばグラフィックチップやディスプレイインターフェースである。入出力インターフェース(I/F)507は、クライアント端末50に他の装置を接続するためのインターフェースである。他の装置は、例えば、USBメモリ、メモリカード、光学ディスク等の記録媒体507aや、各種の電子機器等が含まれる。
通信部508は、情報処理装置10とネットワークを介して通信(接続)を行う通信インターフェースである。通信部508は、アンテナ、無線部、MAC部等を含む。バス509は、上記各構成要素に接続され、アドレス信号、データ信号、および各種制御信号等を伝送する。CPU501、ROM502、RAM503、ストレージ504、入力部505、表示インターフェース(I/F)506、入出力インターフェース(I/F)507および通信部508は、バス509を介して相互に接続されている。
●機能構成
図5は、第1の実施形態に係る情報処理システムの機能構成の一例を示す図である。図5に示す情報処理装置10は、本発明に係る情報処理装置10の機能を担う制御部1000を有する。制御部1000は、例えば、図3に示したCPU101により実行されるプログラム等によって実現される。また、制御部1000は、例えば、情報処理装置10に組み込まれた拡張ボード等により実現されてもよい。制御部1000は、送受信部11a、送受信部11b、送受信部11c、通信制御部12、アプリケーション管理部13、認証部14、受付部15、アプリケーション実行部16、記憶・読出部17、記憶部18を含む。
送受信部11aは、ネットワークNet_A0を介して、クライアント端末50またはサーバ装置90との間でデータ(パケット情報)をやり取りする機能である。送受信部11aは、例えば、ネットワークNet_A0に接続されたクライアント端末50aから、アプリケーションの実行要求を受信する。また、送受信部11aは、後述する判定部21によるアプリケーションの利用可否の判定結果を、ネットワークNet_A0を介して、クライアント端末50aに送信する。さらに、送受信部11aは、ネットワークNet_A1に接続されたクライアント端末50またはサーバ装置90との間で、ルータ30aを介して、データ(パケット情報)を送受信してもよい。
送受信部11bは、ネットワークNet_B0を介して、クライアント端末50またはサーバ装置90との間でデータ(パケット情報)をやり取りする機能である。また、送受信部11cは、ネットワークNet_C0を介して、クライアント端末50またはサーバ装置90との間でデータ(パケット情報)をやり取りする機能である。送受信部11bおよび送受信部11cによって送受信される情報は、送受信部11aと同様である。送受信部11a、送受信部11bおよび送受信部11cは、例えば、図3に示したNIC107およびCPU101によって実行されるプログラム等によって実現される。送受信部11a、送受信部11bおよび送受信部11cは、受信手段および送信手段の一例である。
通信制御部12は、クライアント端末50またはサーバ装置90との間の通信を制御する機能である。通信制御部12は、クライアント端末50またはサーバ装置90との間で、データ(パケット)の送受信を行うための通信経路を制御する。具体的には、通信制御部12は、送受信部11a〜送受信部11cのいずれによってデータ(パケット情報)が受信されたかを特定する。そして、通信制御部12は、特定した送受信部(送受信部11a〜送受信部11c)を用いて、クライアント端末50またはサーバ装置90に対してデータ(パケット情報)を送信する。
また、通信制御部12は、後述するネットワーク管理テーブル41を用いて、クライアント端末50またはサーバ装置90との間の通信経路を制御する。通信制御部12は、通信制御部12は、例えば、図3に示したCPU101によって実行されるプログラム等により実現される。
アプリケーション管理部13は、情報処理装置10によりインストールされたアプリケーションを管理する機能である。アプリケーション管理部13により管理されるアプリケーションは、情報処理装置10の機能を実現するために実行される基本的なアプリケーションである。アプリケーションは、例えば、情報処理装置10がMFP等の画像処理装置の場合、コピーアプリやスキャンアプリ等である。また、アプリケーションは、情報処理装置10の拡張機能としてインストールされたアプリケーションであってもよい。
また、アプリケーション管理部13は、判定部21と設定部22を含む。判定部21は、ネットワークに接続されたクライアント端末50からの要求に応じて、アプリケーションの利用可否を判定する機能である。判定部21は、クライアント端末50からアプリケーションの実行要求を受信した場合、後述するアプリケーション管理テーブル42を用いて、クライアント端末50を利用するユーザが、要求されたアプリケーションの利用権限を有するかを判定する。判定部21は、図3に示したCPU101によって実行されるプログラム等により実現される。判定部21は、判定手段の一例である。
設定部22は、後述するアプリケーション管理テーブル42に含まれるアプリケーションの利用可否を設定する機能である。設定部22は、情報処理装置10にアプリケーションをインストールする際に、インストールするアプリケーションの利用可否を、情報処理装置10に接続されたネットワークごとに設定する。図3に示したCPU101によって実行されるプログラム等により実現される。設定部22は、設定手段の一例である。
認証部14は、ユーザの認証要求に応じて、情報処理装置10のユーザ認証を行う機能である。認証部14は、例えば、クライアント端末50から送信された認証要求を受信した場合、後述する認証情報管理テーブル43を用いて、ユーザの認証処理を行う。また、認証部14は、また、受付部15により認証情報のユーザ入力が受け付けられた場合、入力された認証情報と後述する認証情報管理テーブル43を用いて、ユーザの認証処理を行う。認証部14は、例えば、図3に示したCPU101により実行されるプログラム等によって実現される。なお、認証部14の機能は、外部の認証サーバに備えられていてもよい。認証部14は、認証手段の一例である。
受付部15は、図3に示した操作部108に対するユーザ入力を受け付ける機能である。受付部15は、例えば、操作部108に入力されたアプリケーションの実行要求を受け付ける。また、受付部15は、例えば、操作部108に入力された、後述するアプリケーション管理テーブル42の設定を行うための情報を受け付ける。受付部15は、例えば、図3に示した操作部108およびCPU101によって実行されるプログラム等によって実現される。
アプリケーション実行部16は、情報処理装置10にインストールされたアプリケーションを実行する機能である。アプリケーション実行部16は、ユーザからの要求に応じて、判定部21によって利用が許可されたアプリケーションを実行する。アプリケーション実行部16は、アプリケーションがコピーアプリである場合、コピーアプリの利用が許可されたユーザが利用するクライアント端末50からの印刷要求に基づいて、コピーアプリを実行し、要求された印刷処理を行う。アプリケーション実行部16は、例えば、図3に示したCPU101により実行されるプログラム等によって実現される。
記憶・読出部17は、記憶部18に各種データを記憶し、記憶部18から各種データを読み出す機能である。記憶・読出部17および記憶部18は、例えば、図3に示したフラッシュメモリ103、HDD104およびCPU101で実行されるプログラム等により実現される。記憶部18は、記憶手段の一例である。また、記憶部18は、ネットワーク管理テーブル41、アプリケーション管理テーブル42および認証情報管理テーブル43を記憶している。
○ネットワーク管理テーブル
ここで、図6を用いて、ネットワーク管理テーブル41について説明する。図6は、第1の実施形態に係るネットワーク管理テーブルの一例を示す図である。ネットワーク管理テーブル41は、各ネットワークを介して情報処理装置10と通信可能なクライアント端末50、ルータ30およびサーバ装置90の宛先情報が管理されている。
ネットワーク管理テーブル41は、情報処理装置10と通信可能な「機器」の情報と、「機器」の「Network address/netmask」および「default gateway」の情報を含む。「Network address/netmask」および「default gateway」は、クライアント端末50、ルータ30およびサーバ装置90の宛先情報の一例である。ネットワーク管理テーブル41は、情報処理装置10と通信実績のある機器の宛先情報が記憶される。なお、ネットワーク管理テーブル41に含まれる情報は、情報処理装置10と通信実績のある機器の情報だけでなく、適宜管理者により設定されてもよい。
図6に示すように、クライアント端末50およびサーバ装置90は、それぞれ、ネットワークを介した通信を可能とするIPアドレスが一つずつ割り当てられている。ルータ30は、接続されている各ネットワークを介した通信が可能となるように、複数のIPアドレスが割り当てられている。なお、サーバ装置は、論理的には一台であっても、複数の機器により冗長構成としてもよい。
図6に示すネットワーク管理テーブル41の場合、クライアント端末50aのIPアドレスは、「192.168.1.100/24」であり、デフォルトゲートウェイは、「192.168.1.1/24」である。ルータ30aのIPアドレスは、「192.168.1.1/24」であり、サブネットマスクは、「192.168.10.1/24」である。クライアント端末50aaのIPアドレスは、「192.168.10.100/24」であり、デフォルトゲートウェイは、「192.168.10.1/24」である。サーバ装置90aのIPアドレスは、「192.168.10.11/24」であり、デフォルトゲートウェイは、「192.168.10.1/24」である。
また、クライアント端末50bのIPアドレスは、「172.16.1.100/24」であり、デフォルトゲートウェイは、「172.16.1.1/24」である。ルータ30bのIPアドレスは、「172.16.1.1/24」であり、サブネットマスクは、「172.16.10.1/24」である。クライアント端末50bbのIPアドレスは、「172.16.10.100/24」であり、デフォルトゲートウェイは、「172.16.10.1/24」である。サーバ装置90bのIPアドレスは、「172.16.10.11/24」であり、デフォルトゲートウェイは、「172.16.10.1/24」である。
さらに、クライアント端末50cのIPアドレスは、「10.0.1.100/24」であり、デフォルトゲートウェイは、「10.0.1.1/24」である。ルータ30cのIPアドレスは、「10.0.1.1/24」であり、サブネットマスクは、「10.0.10.1/24」である。クライアント端末50ccのIPアドレスは、「10.0.10.100/24」であり、デフォルトゲートウェイは、「10.0.10.1/24」である。サーバ装置90cのIPアドレスは、「10.0.10.11/24」であり、デフォルトゲートウェイは、「10.0.10.1/24」である。
情報処理装置10の通信制御部12は、ネットワーク管理テーブル41に含まれるクライアント端末50またはサーバ装置90の宛先情報に基づいて、クライアント端末50またはサーバ装置90の通信経路を制御する。なお、ネットワーク管理テーブル41に含まれる機器および宛先情報は、これに限られない。
○アプリケーション管理テーブル
続いて、図7を用いて、アプリケーション管理テーブル42について説明する。図7は、第1の実施形態に係るアプリケーション管理テーブルの一例を示す図である。アプリケーション管理テーブル42は、情報処理装置10にインストールされたアプリケーションの利用権限を、情報処理装置10が接続されたネットワークごとに管理する。アプリケーション管理テーブル42は、設定情報の一例である。
アプリケーション管理テーブル42は、情報処理装置10が接続された「ネットワーク」の情報に、「Network address/netmask」、「表示名称」、「ネットワークの公開範囲」および「アプリケーションの利用可否」の情報が紐づけられている。「ネットワーク」は、情報処理装置10に接続された各ネットワークを示す。「ネットワーク」は、ネットワークの管理者によって設定されてもよいし、各ネットワークに接続されることにより自動的に設定されてもよい。
「表示名称」は、ネットワークの名称である。「表示名称」は、ネットワークの管理者によって設定されてもよいし、各ネットワークに接続されることにより自動的に設定されてもよい。「表示名称」は、例えば、設定部22によってアプリケーションの利用権限が設定する場合、ユーザが選択可能な情報として操作部108に表示される。これによって、アプリケーションの利用権限を設定するユーザが、容易にネットワークを判別することができる。
「ネットワークの公開範囲」は、情報処理装置10に各ネットワークが接続されていることを、ユーザに公開するか否かを示している。「ネットワークの公開範囲」は、ネットワークの管理者によって指定されてもよいし、各ネットワークに接続されることにより自動的に指定されてもよい。設定部22は、例えば、アプリケーションの利用権限を設定する場合、設定を行うユーザに公開されているネットワークのみが設定対象となる。「ネットワークの公開範囲」は、公開範囲情報の一例である。
図7に示すアプリケーション管理テーブル42の場合、一般のユーザがアプリケーションA(appA)の利用権限を設定する場合、公開範囲が“全体公開”であるネットワークNet_A0、Net_A1、Net_C0について、アプリケーションの利用権限を設定可能である。一方で、公開範囲が“ネットワーク管理者のみ公開”であるネットワークNet_B0、Net_B1、Net_C1は、ネットワークの管理者権限を有するユーザのみがアプリケーションの利用権限を設定可能である。すなわち、一般ユーザは、公開範囲が“ネットワーク管理者のみ公開”であるネットワークに対しては、アプリケーションの利用権限を設定することができない。なお、利用権限を設定することができないネットワークについては、アプリケーションの利用権限を有さないものとして自動的に設定されてもよい。
「ネットワークの公開範囲」の指定方法は、図7に示す“全体公開(全てのユーザに公開する)”および“ネットワーク管理者のみ公開”といった指定のほか、より詳細に公開範囲を指定してもよい。「ネットワークの公開範囲」の指定方法は、例えば、“特定の権限を持つユーザのみ公開”や“特定のネットワークに接続している装置を利用するユーザのみ公開”等の指定方法であってもよい。
「アプリケーションの利用可否」は、ネットワークごとのアプリケーションの利用権限を示す情報である。アプリケーションの利用可否とは、情報処理装置10にインストールされたアプリケーション(例えば、コピーアプリやスキャンアプリ等の基本的なアプリケーション、拡張機能としてインストールされたアプリケーション等)を、各ネットワークに接続されたクライアント端末50のユーザが利用可能か否かを示している。判定部21は、アプリケーションの実行要求が送信されたネットワークに紐づく「アプリケーションの利用可否」の情報を参照して、実行要求を送信したユーザに対するアプリケーションの利用権限を判定する。
図7に示すアプリケーション管理テーブル42の場合、例えば、アプリケーションA(appA)は、全てのネットワークに接続されたクライアント端末50のユーザによって利用可能である(図7に示す“OK”に対応)。また、アプリケーションB(appB)は、ネットワークNet_A0およびネットワークNet_A1に接続されたクライアント端末50のユーザのみが利用可能である。さらに、アプリケーションC(appC)は、ネットワークNet_B0、ネットワークNet_B1、ネットワークNet_C0、ネットワークNet_C1に接続されたクライアント端末50のユーザのみが利用可能である。
○認証情報管理テーブル
続いて、図8を用いて、認証情報管理テーブル43について説明する。図8は、第1の実施形態に係る認証情報管理テーブルの一例を示す図である。認証情報管理テーブル43は、情報処理装置10に登録されたユーザの認証情報を管理している。認証情報管理テーブル43は、ユーザ名、パスワードおよび権限情報を紐づけて(対応づけて、関連づけて)管理している。
「ユーザ名」は、ユーザの名前が格納されている。ユーザ名およびパスワードは、認証情報の一例である。認証部14は、認証要求に含まれる認証情報と、図8に示す認証情報管理テーブル43とを用いて、ユーザ認証処理を行う。
権限情報は、各ユーザのロール(役割)が格納されている。権限情報は、例えば、ユーザごとにネットワークの使用権限を示す。権限情報は、例えば、ユーザがネットワークの管理者であるかまたは一般ユーザであるかを区別する情報が含まれる。また、権限情報は、ユーザが利用できるネットワークの情報が含まれる。
図8に示す認証情報管理テーブル43の場合、例えば、ユーザ名「adminA」のユーザは、管理者としての権限を有しており、ネットワークNet_B0を用いて通信を行うことができる。また、ユーザ名「adminB」のユーザは、管理者としての権限を有しており、ネットワークNet_C1を用いて通信を行うことができる。一方で、ユーザ名「userA」のユーザは、一般ユーザとしての権限を有しており、ネットワークNet_A0を用いて通信を行うことができる。また、ユーザ名「userB」のユーザは、一般ユーザとしての権限を有しており、ネットワークNet_C0を用いて通信を行うことができる。
続いて、クライアント端末50aの機能構成を説明する。なお、図5は、クライアント端末50aの機能構成のみを示すが、情報処理システム1を構成するその他のクライアント端末50(例えば、図1に示したクライアント端末50b等)は、同様の機能構成を有する。
図5に示すクライアント端末50aにより実現される機能は、送受信部51a、受付部52aを含む。送受信部51aは、ネットワークNet_A0を介して、情報処理装置10との間でデータをやり取りする機能である。送受信部51aは、例えば、ネットワークNet_A0を介して、情報処理装置10に対して、ユーザの認証要求を送信する。また、送受信部51aは、例えば、ネットワークNet_A0を介して、情報処理装置10に対して、アプリケーションの実行要求を送信する。さらに、送受信部51aは、例えば、ネットワークNet_A0を介して、情報処理装置10から、アプリケーションの利用可否の判定結果を受信する。送受信部51aは、例えば、図4に示した通信部508およびCPU501によって実行されるプログラム等によって実現される。
受付部52aは、図4に示した入力部505に対するユーザ入力を受け付ける機能である。受付部52aは、例えば、入力部505に入力された、情報処理装置10に対するユーザ認証要求を受け付ける。また、受付部52aは、例えば、入力部505に入力された、アプリケーションの実行要求の送信指示を受け付ける。受付部52aは、図4に示したCPU501によって実行されるプログラム等によって実現される。
●アプリケーションの利用可否の判定処理
続いて、第1の実施形態に係る情報処理システムにおけるアプリケーションの利用可否の判定処理について説明する。図9は、第1の実施形態に係る情報処理システムにおけるアプリケーションの利用可否の判定処理の一例を示すシーケンス図である。図9は、ネットワークNet_A0に接続されたクライアント端末50aからアプリケーションA(appA)の実行要求が送信される場合について説明する。また、図9は、図7に示したアプリケーション管理テーブル42を用いて、アプリケーションの利用可否が判定されるものとして説明する。なお、実行要求を送信するクライアント端末50および実行要求に係るアプリケーションの種類は、これに限られず、その他のクライアント端末50およびアプリケーションであっても、同様の処理が行われる。
ステップS101において、クライアント端末50aは、情報処理装置10に対して、アプリケーションの実行要求を送信する。具体的には、クライアント端末50aは、クライアント端末50aを利用するユーザが実行を要求するアプリケーションA(appA)の実行要求を送信する。
ここで、実行要求に含まれる情報について説明する。図10は、第1の実施形態に係るアプリケーションの実行要求に含まれる内容の一例を示す図である。実行要求60は、少なくとも実行要求の送信元(SRC:source)のIPアドレスと、実行要求の送信先(DST:destination)のIPアドレスと、実行要求を行うアプリケーションの情報とを含む。図10に示す実行要求60は、送信元としてクライアント端末50aのIPアドレス(192.168.1.100/24)を含む。また、図10に示す実行要求60は、送信先として情報処理装置10のIPアドレス(192.168.1.10/24)を含む。さらに、図10に示す実行要求60は、実行要求を行うアプリケーションとして、アプリケーションA(appA)の情報を含む。なお、アプリケーションの実行要求に含まれる情報は、これに限られない。情報処理装置10の送受信部11aは、クライアント端末50aから送信されたアプリケーションA(appA)の実行要求を受信する(受信ステップの一例)。
ステップS102において、情報処理装置10の送受信部11aは、受信したアプリケーションの実行要求を、判定部21に対して出力する。ステップS103において、情報処理装置10の判定部21は、記憶部18に記憶されたアプリケーション管理テーブル42の読み出しを行う。具体的には、判定部21は、記憶・読出部17に対して、アプリケーション管理テーブル42の読出要求を出力する。そして、記憶・読出部17は、出力された読出要求を検知した場合、記憶部18に記憶されたアプリケーション管理テーブル42を読み出す。
ステップS104において、情報処理装置10の記憶部18は、判定部21に対して、アプリケーション管理テーブル42を出力する。具体的には、記憶部18は、記憶・読出部17に対して、アプリケーション管理テーブル42を出力する。そして、記憶・読出部17は、判定部21に対して、アプリケーション管理テーブル42を出力する。
ステップS105において、情報処理装置10の判定部21は、出力されたアプリケーション管理テーブル42を用いて、アプリケーションの実行要求を送信したユーザのアプリケーションの利用権限を判定する(判定ステップの一例)。ここで、情報処理装置10の判定部21の処理の詳細を説明する。図11は、第1の実施形態に係る情報処理装置におけるアプリケーションの利用可否の判定処理の一例を示すフローチャートである。
ステップS201において、判定部21は、アプリケーションの実行要求を検知した場合、処理をステップS202へ移行させる。一方で、判定部21は、アプリケーションの実行要求を検知していない場合、ステップS201の処理を繰り返す。ステップS202において、判定部21は、記憶部18に記憶されたアプリケーション管理テーブル42の読み出しを行う。
ステップS203において、判定部21は、検知したアプリケーションの実行要求の送信元であるクライアント端末50が接続するネットワークを特定する。判定部21は、例えば、図10に示した実行要求を検知した場合、送信元であるクライアント端末50aのIPアドレス「192.168.1.100/24」から、クライアント端末50aが接続されたネットワークNet_A0を特定する。なお、ステップS202の処理とステップS203の処理の順序は、前後してもよく、または並行して行われてもよい。
ステップS204において、判定部21は、特定したネットワークが、要求されたアプリケーションの利用権限を有する場合、処理をステップS205へ移行させる。具体的には、判定部21は、アプリケーション管理テーブル42において、特定されたネットワークに紐づく要求されたアプリケーションの利用可否を参照し、アプリケーションの利用権限を判定する。ステップS205において、判定部21は、利用権限「有」の判定結果を出力する。
一方で、ステップS205において、判定部21は、特定されたネットワークが、実行要求に含まれるアプリケーションの利用権限を有さない場合、処理をステップS206へ移行させる。ステップS206において、判定部21は、利用権限「無」の判定結果を出力する。なお、ステップS205およびステップS206の処理において出力される判定結果は、利用権限の有無のほかに、判定結果の通知先のクライアント端末50や判定したアプリケーションを特定するための情報等を含む。
図10に戻り、情報処理システム1におけるアプリケーションの利用可否の判定処理の説明を続ける。ステップS106において、情報処理装置10の判定部21は、アプリケーションの利用可否の判定結果を、通信制御部12に対して出力する。なお、判定部21は、図7に示したアプリケーション管理テーブル42において、実行要求が送信されたネットワークNet_A0が、要求されたアプリケーションA(appA)の利用権限を有するため、利用権限「有」の判定結果を出力する。
ステップS107において、情報処理装置10の通信制御部12は、出力された判定結果を、送受信部11aに対して出力する。ステップS108において、情報処理装置10の送受信部11aは、出力された判定結果を、クライアント端末50aに対して送信する(送信ステップの一例)。
アプリケーションA(appA)の利用権限「有」の判定結果を受信したクライアント端末50aは、アプリケーションA(appA)により提供される処理を実行する。クライアント端末50aは、例えば、アプリケーションA(appA)がコピーアプリである場合、情報処理装置10に対して、サーバ装置90を介した印刷処理(クラウドプリント)を実行する。なお、アプリケーションの利用権限を有するクライアント端末50(利用権限を有するユーザ)において実行される処理は、これに限られない。
●アプリケーションのインストール処理
続いて、情報処理装置10において、アプリケーションの利用権限が設定されるまでの処理について図12および図13を用いて説明する。図12は、第1の実施形態に係る情報処理装置におけるアプリケーションのインストール処理の一例を示すフローチャートである。また、図13は、第1の実施形態に係るアプリケーションのインストール画面の一例を示す図である。情報処理装置10は、アプリケーションのインストール処理を行う場合、操作部108に対してインストール画面を表示させる。以下の説明において、情報処理装置10は、新たにアプリケーションD(appD)をインストールするものとする。
ステップS301において、情報処理装置10は、認証部14によるユーザ認証が完了した場合(ユーザ認証に成功した場合)、処理をステップS302へ移行させる。一方で、情報処理装置10は、認証部14によるユーザ認証が完了していない場合(ユーザ認証に失敗した場合)、ステップS301に処理を繰り返す。
ステップS302において、情報処理装置10の受付部15は、情報処理装置10にインストールするアプリケーションの選択を受け付ける。具体的には、受付部15は、図13に示すインストール画面70を、操作部108に表示させる。そして、受付部15は、インストール画面70の「ファイル選択」アイコンが、ユーザによって選択されることにより、インストールするアプリケーションの選択を受け付ける。
ステップS303において、情報処理装置10の受付部15は、ユーザが指定可能なネットワークの一覧を取得し、アプリケーションの利用権限を設定するためのユーザ入力を受け付ける。具体的には、受付部15は、図13に示すように、認証されたユーザが指定可能なネットワークの一覧を操作部108に対して表示させる。図13に示す利用可能範囲は、図7に示したアプリケーション管理テーブル42に含まれるネットワークの公開範囲に対応している。図13に示す利用可能範囲は、認証されたユーザの権限が一般ユーザであるため、図7に示したネットワークの公開範囲が“全体公開”であるネットワークNet_A0、ネットワークNet_A1およびネットワークNet_C0が表示される。
そして、受付部15は、利用可能範囲に表示されたネットワークの中から、アプリケーションの利用権限を付与するためのユーザ入力を受け付ける。図13に示すインストール画面70の場合、受付部15は、ユーザ操作によってネットワークNet_A0とネットワークNet_C0が選択されたことを受け付ける。なお、図13に示すインストール画面70の利用可能範囲は、認証されたユーザが指定可能なネットワークの表示名称が示されている。これによって、アプリケーションの利用権限を設定するユーザが、インストール画面70の表示を見て、容易にネットワークを判別することができる。
ステップS304において、情報処理装置10の受付部15は、図13に示したインストール画面70の「OK」アイコンが選択されることによって、選択したアプリケーションのインストールを実行する。ステップS305において、情報処理装置10の受付部15は、アプリケーションのインストールが完了した場合、処理をステップS306へ移行させる。一方で、受付部15は、アプリケーションのインストールが完了していない場合、ステップS305の処理を繰り返す。なお、ステップS302〜ステップS305の処理は、図13に示すインストール画面70の「キャンセル」アイコンが選択された場合、処理を終了する。
ステップS306において、情報処理装置10の設定部22は、アプリケーション管理テーブル42に、インストールされたアプリケーションの利用権限を設定する。設定部22は、例えば、インストールされたアプリケーションD(appD)に対して、受付部15によってユーザ入力が受け付けられたネットワークNet_A0とネットワークNet_C0に対するアプリケーションの利用権限を付与する(図7に示す“OK”に対応)。一方で、設定部22は、アプリケーションD(appD)に対して、アプリケーション管理テーブル42に含まれるその他のネットワークに対する利用権限を付与しない(図7に示す“NG”に対応)。これによって、情報処理装置10は、新たにアプリケーションをインストールする場合、設定操作を行うユーザに付与された権限に応じて、アプリケーションの利用権限を設定できる範囲を制限することができる。
●第1の実施形態の効果
以上説明したように、第1の実施形態に係る情報処理システムは、異なるセグメントを有する複数のネットワークに接続された情報処理装置10が、所定のネットワークに接続されたクライアント端末50(通信装置の一例)から、情報処理装置10にインストールされたアプリケーションの実行要求を受信する。そして、情報処理装置10は、アプリケーション管理テーブル42を用いて、実行要求が送信されたネットワークが、要求されたアプリケーションの利用権限を有するかを判定し、実行要求を送信したクライアント端末50に対して、判定結果を送信する。そのため、情報処理システム1は、情報処理装置10が接続する複数のネットワークにおいて、許可されていないネットワークからのアプリケーションの利用を制限することができる。これにより、情報処理装置10は、他のネットワークに接続しているクライアント端末50からの不正なアプリケーションの利用を防止することができる。
また、第1の実施形態に係る情報処理システムは、情報処理装置10にインストールされたアプリケーションの利用権限の設定を、設定を行うユーザに公開されているネットワークのみに対して行う。そのため、情報処理システム1は、情報処理装置10に対して新たにアプリケーションをインストールする場合、設定操作を行うユーザに付与された権限に応じて、アプリケーションの利用権限を設定できる範囲を制限することができる。
●第2の実施形態●
次に、第2の実施形態に係る情報処理システムについて説明する。なお、第1の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第2の実施形態に係る情報処理システムは、情報処理装置10にインストールされたアプリケーションの利用可否を、情報処理装置10が接続されたネットワークごとのみならず、情報処理装置10と通信可能なクライアント端末50ごとに設定することができる。
図14は、第2の実施形態に係るアプリケーション管理テーブルの一例を示すシーケンス図である。アプリケーション管理テーブル42aは、図7に示したアプリケーション管理テーブル42に含まれる情報に加え、ネットワークに接続されたクライアント端末50ごとにアプリケーションの利用可否の情報が設定されている。
図14に示すアプリケーション管理テーブル42aの場合、例えば、ネットワークNet_A1に接続されたクライアント端末50aaのユーザは、アプリケーションA(appA)およびアプリケーションB(appB)の利用権限を有する。一方で、同じネットワークNet_A1に接続されたクライアント端末50aaaのユーザは、アプリケーションA(appA)およびアプリケーションC(appC)の利用権限を有する。また、ネットワークNet_B1に接続されたクライアント端末50bbのユーザは、アプリケーションA(appA)およびアプリケーションC(appC)の利用権限を有する。一方で、同じネットワークNet_B1に接続されたクライアント端末50bbb「のユーザは、アプリケーションA(appA)およびアプリケーションB(appB)の利用権限を有する。
このように、アプリケーション管理テーブル42aは、同一のネットワークに接続された複数のクライアント端末50ごとに、異なる利用権限が設定可能である。情報処理装置10の判定部21は、クライアント端末50からアプリケーションの実行要求を受信した場合、実行要求を送信したクライアント端末50が、要求されたアプリケーションの利用権限を有するか否かを判定する。
図14に示すアプリケーション管理テーブル42aに含まれる「アプリケーションの利用可否」は、第1の実施形態と同様に、設定部22によって設定される。この場合、図13に示したインストール画面70において、利用可能範囲は、ユーザが指定可能なネットワークのみでなく、ユーザが指定可能なネットワークに接続されたクライアント端末50の情報を表示させてもよい。
●第2の実施形態の効果
以上説明したように、第2の実施形態に係る情報処理システムは、アプリケーション管理テーブル42に含まれるアプリケーションの利用可否を、情報処理装置10が接続されたネットワークごとのみでなく、当該ネットワークに接続されたクライアント端末50ごとに設定する。そして、情報処理装置10は、アプリケーションの実行要求が送信されたネットワークまたはアプリケーションの実行要求を送信したクライアント端末50が、要求されたアプリケーションの利用権限を有するか否かを判定する。そのため、第2の実施形態に係る情報処理システムは、情報処理装置10にインストールされたアプリケーションの利用権限を、より柔軟に設定することができる。
●その他の実施形態●
次に、その他の実施形態に係る情報処理システムについて説明する。図15は、その他の実施形態に係る情報処理システムのシステム構成の一例を示す図である。図15に示す情報処理システム2は、図5に示した情報処理装置10の制御部1000の機能が、情報処理装置10とは別個に設けられた通信制御装置20により実現される。
情報処理装置10dは、通信制御装置20と通信を行うためのネットワークインタフェースを備える。通信制御装置20は、図6に示した制御部1000の機能に加え、情報処理装置10との間でデータ(パケット情報)の送受信を行うための専用の送受信部を備える。通信制御装置20は、制御部1000が有する通信制御部12によって、情報処理装置10dとクライアント端末50またはサーバ装置90との間の通信経路を制御する。通信制御装置20の通信制御部12は、ブリッジ制御、NAPT(Network Address Port Translation)変換、NAT(Network Address Translation)変換等の方式を用いて、データ(パケット情報)の転送を制御する。この場合、ネットワーク管理テーブル41は、データ(パケット情報)の転送ルールを予め記憶している。
●まとめ●
以上説明したように、本発明の一実施形態に係る情報処理装置は、異なるセグメントを有する複数のネットワークに接続された情報処理装置10であって、ネットワークに接続されたクライアント端末50(通信装置の一例)から、情報処理装置10にインストールされたアプリケーションの実行要求を受信する。そして、情報処理装置10は、実行要求が送信されたネットワークが、アプリケーションの利用権限を有するかを判定し、判定された結果を、クライアント端末50に対して送信する。そのため、情報処理装置10は、他のネットワークに接続しているクライアント端末50からの不正なアプリケーションの利用を防止することができる。
また、本発明の一実施形態に係る情報処理装置は、公開されたネットワークに接続可能な所定のユーザに対して、アプリケーションの利用権限を設定させる。そのため、情報処理装置10は、新たにアプリケーションをインストールする場合、設定操作を行うユーザに付与された権限(例えば、ユーザが接続可能なネットワーク)に応じて、アプリケーションの利用権限を設定できる範囲を制限することができる。
さらに、本発明の一実施形態に係る情報処理装置は、クライアント端末50ごとにアプリケーションの利用権限が設定され、実行要求を送信したクライアント端末50に付与された利用権限に基づいて、クライアント端末50に対して、アプリケーションの利用権限を有するかを判定する。そのため、情報処理装置10は、情報処理装置10にインストールされたアプリケーションの利用権限を、より柔軟に設定することができる。
また、本発明の一実施形態に係る情報処理システムは、異なるセグメントを有する複数のネットワークに接続された情報処理装置10と、ネットワークに接続されたクライアント端末50と、を備えた情報処理システム1であって、クライアント端末50から、情報処理装置10にインストールされたアプリケーションの実行要求を受信する。そして、情報処理システム1は、実行要求が送信されたネットワークが、アプリケーションの利用権限を有するかを判定し、判定された結果を、クライアント端末50に対して送信する。そのため、情報処理システム1は、情報処理装置10が接続する複数のネットワークにおいて、許可されていないネットワークからのアプリケーションの利用を制限することができる。
さらに、本発明の一実施形態に係る制御方法は、異なるセグメントを有する複数のネットワークに接続された情報処理装置10が実行する制御方法であって、ネットワークに接続されたクライアント端末50から、情報処理装置10にインストールされたアプリケーションの実行要求を受信する受信ステップと、実行要求が送信されたネットワークが、アプリケーションの利用権限を有するかを判定する判定ステップと、判定された結果を、クライアント端末50に対して送信する送信ステップと、を実行する。そのため、本発明の一実施形態に係る制御方法は、他のネットワークに接続しているクライアント端末50からの不正なアプリケーションの利用を防止することができる。
なお、各実施形態の機能は、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM(Electrically Erasable Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、フラッシュメモリ、フレキシブルディスク、CD(Compact Disc)−ROM、CD−RW(Re-Writable)、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MO(Magneto-Optical disc)等の装置可読な記録媒体に格納して、または電気通信回線を通じて頒布することができる。
また、各実施形態の機能の一部または全部は、例えば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等により記述されたデータとして記録媒体により配布することができる。
これまで本発明の一実施形態に係る情報処理装置、情報処理システム、制御方法およびプログラムについて説明してきたが、本発明は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。