説明

情報処理装置及びプログラム

【課題】複数の実行環境を有する情報処理装置に関し、各実行環境における通信処理の負荷を軽減させることができる構成を提供する。
【解決手段】ハイパーバイザ10は、外部装置(例えば利用者端末T)から受信したデータの転送先(振分先)となるOSを特定するための条件が予め設定された振分表12と、外部装置から受信したデータを振分表12に基づいて特定されるOSへ転送する(振り分ける)振分処理部11と、を有しており、振分処理部11が、外部装置から受信したデータを解析し、その解析結果に基づいて振分表12を参照することでデータ転送先(振分先)となるOSを特定し、当該特定されたOSへ外部装置から受信したデータを転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
従来、印刷・複写・ファクシミリ等の機能を複合的に備えた複合機などにおいて、処理の実行環境を実現するためのオペレーティングシステム(OS)を複数用意し、これらのOSをハイパーバイザ上で仮想環境(仮想OS)として動作させる構成を採用することで、各機能に関する処理をその機能に適したOSで実行させることが行われている。
【0003】
このような構成の装置に関し、以下のような技術が開示されている。
例えば、複数の仮想OSが動作しているコンピュータシステムにおいて、第1のOSが外部からの通信パケットを全て受信し、そのうち第1のOSが使用しないパケットを第2のOSに転送する技術が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−500381号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、複数の実行環境を有する情報処理装置に関し、各実行環境における通信処理の負荷を軽減させることができる構成を提供することを目的とする。
【課題を解決するための手段】
【0006】
請求項1に記載の本発明は、処理の実行環境を複数備えると共に、各実行環境をそれぞれ仮想環境として動作させるための仮想化処理を行う仮想化処理部を備え、前記仮想化処理部は、外部装置との間で通信処理を行う通信手段と、前記通信手段により前記外部装置から受信されたデータを予め設定された振分規則に基づいて特定される実行環境へ転送する転送手段と、を有する、ことを特徴とする情報処理装置である。
【0007】
請求項2に記載の本発明は、請求項1に記載の情報処理装置において、前記複数の実行環境は、共通のIPアドレスを用いる、ことを特徴とする。
【0008】
請求項3に記載の本発明は、請求項1又は請求項2に記載の情報処理装置において、前記通信手段は、前記外部装置との間でTCP通信に係る仮想的な回線の接続処理を行い、前記転送手段は、前記通信手段により前記回線を通じて前記外部装置から受信されたデータを前記振分規則に基づいて特定される実行環境へ転送し、その転送結果を前記通信手段により前記回線を通じて前記外部装置へ送信させる、ことを特徴とする。
【0009】
請求項4に記載の本発明は、請求項1乃至請求項3のいずれか1項に記載の情報処理装置において、前記転送手段は、前記通信手段により前記外部装置から受信されたHTTP通信に係るデータについて、当該データで指定されたHTTPパスに対して複数の実行環境が前記振分規則に設定されている場合には、当該複数の実行環境の各々に転送し、その転送結果として当該複数の実行環境の各々から返信された応答のうち予め定められた条件を満たす1つの応答を前記通信手段により前記外部装置へ送信させる、ことを特徴とする。
【0010】
請求項5に記載の本発明は、請求項4に記載の情報処理装置において、前記仮想化処理部は、前記通信手段により前記外部装置から受信されたHTTP通信に係るデータで指定されたHTTPパスと当該データについて前記外部装置へ送信した応答を返信した実行環境とを対応付けて記憶する記憶手段を有しており、前記転送手段は、前記通信手段により前記外部装置から受信されたHTTP通信に係るデータについて、当該データで指定されたHTTPパスに対して前記記憶手段に実行環境との対応付けが記憶されている場合には、前記振分規則によらずに、当該HTTPパスに対応付けられた実行環境に転送する、ことを特徴とする。
【0011】
請求項6に記載の本発明は、請求項1乃至請求項5のいずれか1項に記載の情報処理装置において、前記振分規則の設定指示を受け付ける受付手段と、前記受付手段により受け付けられた設定指示に従って前記振分規則を設定する設定手段と、を更に備えた、ことを特徴とする。
【0012】
請求項7に記載の本発明は、処理の実行環境を複数備えると共に、各実行環境をそれぞれ仮想環境として動作させるための仮想化処理を行う仮想化処理部を備えた情報処理装置が実現されるコンピュータに、前記仮想化処理部で動作させる機能として、外部装置との間で通信処理を行う通信機能と、前記通信機能により前記外部装置から受信されたデータを予め設定された振分規則に基づいて特定される実行環境へ転送する転送機能と、を実現させるためのプログラム。
【発明の効果】
【0013】
請求項1、7に記載の本発明によると、複数の実行環境を有する情報処理装置に関し、各実行環境における通信処理の負荷を、本発明を適用しない場合に比べて低減させることができる。
【0014】
請求項2に記載の本発明によると、IPアドレスの管理に係る負担を軽減することができる。
【0015】
請求項3に記載の本発明によると、各実行環境におけるTCP通信に係る処理の負荷を軽減することができる。
【0016】
請求項4に記載の本発明によると、HTTP通信に係る振分規則を簡易化することができる。
【0017】
請求項5に記載の本発明によると、過去のHTTP通信で指定されたHTTPパスについてのデータ転送に係る処理を簡易化することができる。
【0018】
請求項6に記載の本発明によると、振分規則の設定を行えるようになる。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態に係る情報処理装置の構成例を示す図である。
【図2】本発明の一実施形態に係る情報処理装置における振分表の設定例を示す図である。
【図3】本発明の一実施形態に係る情報処理装置における通信動作の一例を説明する図である。
【図4】本発明の一実施形態に係る情報処理装置における通信動作の他の例を説明する図である。
【図5】本発明の一実施形態に係る情報処理装置の主要なハードウェアを例示する図である。
【発明を実施するための形態】
【0020】
本発明の一実施形態について、図面を参照して説明する。
なお、以下では、本発明の一実施形態に係る情報処理装置として、プリント・コピー・ファクシミリ等の機能を複合的に備えた複合機に適用した場合を例に説明するが、これに限定するものではない。
【0021】
図1には、情報処理装置の一例に係る複合機Mの構成を例示してある。
本例の複合機Mは、コンピュータの物理的な構成要素であるハードウェア上でハイパーバイザ(仮想化処理部)10を動作させ、このハイパーバイザ10による仮想化処理のもとで、各機能に係る処理を実行する処理部(例えばアプリケーション)の実行環境を実現するためのOS(a)20、OS(b)30、・・・の各OSをそれぞれ仮想環境(仮想OS)として動作させるように構成されている。
また、本例の複合機Mは、LAN(Local Area Network)を介して利用者端末T等の外部装置と通信可能に構成されている。外部装置との通信は、有線による通信であっても、無線による通信であっても構わない。
【0022】
ここで、本例の複合機Mでは、OS(a)20としてリアルタイムOSを用い、OS(b)30として汎用OSを用いている。
リアルタイムOSとは、処理をリアルタイムに実行することを重視し、そのための機能を実装したOSであり、処理の応答時間が一定の範囲内にあることが要求されるため、必要な処理時間の予測を行う機能や、複数の処理要求が同時に発生した場合でも目的の時間内に完了させるための機構などを備えている。
汎用OSとは、ソフトウェアを複数の層で仮想化・抽象化することで、ハードウェアに依存したプログラミングを少なくして互換性を維持することを重視したOSであり、処理の応答時間がリアルタイムOSに比べて遅い。
【0023】
本例では、リアルタイムOSにより提供されるOS(a)20に、LPR(Line PRinter daemon protocol)を用いた通信により外部装置から印刷指示を受け付けるlpd処理部21、HTTP(Hypertext Transfer Protocol)を用いた通信により外部装置からWebサービス(本例では、印刷処理の生成機能)の呼び出しを受け付けるWS−Print処理部22、lpd処理部21やWS−Print処理部22からの要求に基づいて印刷処理を実行するPrinter−svs処理部23などを設けてある。
【0024】
また、本例では、汎用OSにより提供されるOS(b)30に、HTTPを用いた通信により各種情報(複合機Mの管理に係る情報など)の表示や設定のためのWEBページのデータを外部装置に提供するWEB処理部31、HTTPを用いた通信により外部装置からWebサービス(本例では、アドレス帳項目の提供機能)の呼び出しを受け付けるMGMT(Management)処理部32、WEB部31やMGMT部32により用いられるデータを管理するDBMS(DataBase Management System)処理部33などを設けてある。
【0025】
以上のように、本例の複合機Mでは、リアルタイムOSにより提供されるOS(a)20において、複合機Mに設けられた機器の制御に関する処理(画像形成装置の制御を伴う印刷処理等)が実行されて、複合機Mにおける本質的な機能(プリント・コピー・ファクシミリ等)が実現されるように構成してあり、一方、汎用OSにより提供されるOS(b)30において、複合機Mにおける本質的な機能ではなく、複合機Mの利便性を高める付加的な機能が実現されるように構成してある。
なお、上記の構成は一例に過ぎず、複合機Mに搭載するOSの数やその種別、各OSに実装する機能などは任意である。
【0026】
次に、本例の複合機Mにおけるハイパーバイザ10の構成について説明する。
本例のハイパーバイザ10は、外部装置(例えば利用者端末T)から受信したデータの転送先(振分先)となるOSを特定するための条件が予め設定された振分表12(振分規則の一例)と、外部装置から受信したデータを振分表12に基づいて特定されるOSへ転送する(振り分ける)振分処理部11と、を有している。
【0027】
振分処理部11は、外部装置との間でTCP(Transmission Control Protocol)通信に係る仮想的な回線(TCPコネクション)の接続処理を行い、このTCPコネクションを通じて外部装置との通信処理を行う通信処理部と、通信処理部により受信されたデータを解析し、その解析結果に基づいて振分表12を参照することでデータ転送先(振分先)となるOSを特定する特定処理部と、通信処理部により受信されたデータを特定処理部により特定されたOSに転送する転送処理部と、を有している。
【0028】
このように、本例の複合機Mでは、外部装置から受信したデータを振り分ける(該当するOSへの転送する)機能をハイパーバイザ11部分に設けているため、各OSにおける通信処理の負荷が軽減され、各OS上のアプリケーション(OS(a)20の各処理部21〜23や、OS(b)30の各処理部31〜33など)を円滑に動作させることができるようになる。また、OS(a)20、OS(b)30、・・・の各OSに共通のIPアドレスを設定したとしても外部装置との通信に支障がなく、IPアドレスの管理に係る負担を軽減することができる。
【0029】
本例の振分処理部11による振り分け例を、図2に示す振分表12の設定例に基づいて説明する。
図2の振分表12は、外部装置から送信されたデータを処理するアプリケーション(処理部)を示すアプリケーション名、当該アプリケーションに転送されるデータが満たすべき条件を示す振分条件、当該アプリケーションの実行環境を示すOS、といった項目を有している。すなわち、図2の振分表12には、外部装置から送信されたデータがいずれかのアプリケーションに対応付けて設定された振分条件を満たす場合に、当該アプリケーションの実行環境となるOSへ転送することが設定されている。
【0030】
具体的には、例えば、ポート番号に“515”が指定されたデータを受信した場合には、当該データを処理するlpd処理部21の実行環境であるOS(a)30に転送する。また、ポート番号に“80”が指定されたデータを受信した場合には、これに合致する振分条件が複数存在するので更にHTTPパスを参照し、HTTPパスに“/bbb”から始まる値が指定されていれば、当該データを処理するWEB処理部31の実行環境であるOS(b)40に転送する。一方、ポート番号に“80”が指定されたデータを受信した場合において、HTTPパスに“/aaa”から始まる値が指定されていれば、更に、アプリケーションに対する命令(本例ではSOAP.cmd)を参照し、その命令の内容に応じて、WS−Print処理部22の実行環境となるOS(a)30又はMGMT処理部31の実行環境となるOS(b)40に転送する。なお、受信したデータについて合致する振分条件が存在しない場合には、そのデータは破棄する。
【0031】
このように、本例の振分表12では、ポート番号に基づく振り分け、ポート番号及びHTTPパスに基づく振り分け、ポート番号及びHTTPパス及びアプリケーションに対する命令に基づく振り分け、といったように階層の異なる振分条件を設定できるようにしてある。本例では、振分規則の設定指示を複合機Mの操作者から受け付ける受付機能、及び、当該受付機能により受け付けられた設定指示に従って振分表12の設定を行う設定機能をOS(b)40に設けているが、このような構成に限定するものではなく、例えば、利用者端末T等の外部装置から通信により振分表12が設定されるように構成してもよい。
【0032】
ここで、図2に示した振分表12は一例に過ぎず、外部装置から受信したデータを振り分けるための振分規則は種々の態様とすることができる。例えば、上記の属性値(ポート番号、HTTPパス、アプリケーションに対する命令)以外の属性値を用いて振分条件を設定してもよい。また、例えば、マルチキャストやブロードキャストに対応すべく、このようなデータの転送先として複数のOSを設定してもよい。また、例えば、HTTP通信に係るデータについて、共通するHTTPパスに対して複数のOSを設定しておき、当該データに対する応答を要求元の外部装置へ返信する際の処理を工夫(詳細は後述する)ことで、振分表12の設定内容の簡易化を図ってもよい。
【0033】
次に、本例の複合機Mにおける通信動作の一例について、図3を参照して説明する。
(1)利用者端末Tから複合機Mへのデータ送信に先立って、まず、利用者端末Tと複合機Mとの間でTCPコネクションの接続処理が行われる。
(2)TCPコネクションの接続処理の完了後、当該TCPコネクションを通じて利用者端末Tから複合機Mへデータが送信される。本例では、ポート番号に“80”が指定され、HTTPパスに“/aaa”から始まる値が指定され、SOAP.cmdに“GetAddressBookEntry”が指定されたデータが送信されている。
(3)ハイパーバイザ10の振分処理部11は、利用者端末Tから受信したデータを解析し、その解析結果に基づいて振分表12を参照することで、当該データの転送先がMGMT処理部13の実行環境となるOS(b)40であることを特定する。
【0034】
(4)ハイパーバイザ10の振分処理部11は、利用者端末Tから受信したデータを前記特定したOS(b)40のMGMT処理部13に転送する。
(5)OS(b)40のMGMT処理部13は、ハイパーバイザ10の振分処理部11から転送されたデータに基づいて処理を実行し、処理結果のデータをハイパーバイザ10の振分処理部11に応答として返信する。
(6)ハイパーバイザ10の振分処理部11は、OS(b)40のMGMT処理部13から返信されたデータを前記TCPコネクションを通じて利用者端末Tに送信する。
(7)利用者端末Tから送信されたデータに応答するデータを複合機Mから利用者端末Tに送信した後、利用者端末Tと複合機Mとの間におけるTCPコネクションの切断処理が行われる。
【0035】
次に、本例の複合機Mにおける通信動作の他の例について、図4を参照して説明する。
なお、本例では、HTTPを用いた通信によりWEBページのデータを外部装置に提供するWEB処理部31a、31bがそれぞれ異なるOS(OS(x)、OS(y)とする)に設けられているものとし、振分表12には“/bbb”から始まるHTTPパスに対してOS(x)及びOS(y)のそれぞれが転送先(振分先)として設定されているものとする。
【0036】
(1)利用者端末Tから複合機Mへのデータ送信に先立って、まず、利用者端末Tと複合機Mとの間でTCPコネクションの接続処理が行われる。
(2)TCPコネクションの接続処理の完了後、当該TCPコネクションを通じて利用者端末Tから複合機Mへデータが送信される。本例では、ポート番号に“80”が指定され、HTTPパスに“/bbb”から始まる値(本例では、“/bbb/property.html”)が指定されたデータが送信されている。
(3)ハイパーバイザ10の振分処理部11は、利用者端末Tから受信したデータを解析し、その解析結果に基づいて振分表12を参照することで、当該データの転送先がWEB処理部31aの実行環境となるOS(x)及びWEB処理部31bの実行環境となるOS(y)の2つであることを特定する。
【0037】
(4−A、4−B)ハイパーバイザ10の振分処理部11は、利用者端末Tから受信したデータを前記特定したOS(x)のWEB処理部31a及びOS(y)のWEB処理部31bのそれぞれに転送する。
(5−A)OS(y)のWEB処理部31bは、HTTPパスで指定された要求を処理することができる(property.htmlを有する)ので、その旨を示すコード値(200;OK)をハイパーバイザ10の振分処理部11に対して応答として返信する。
(5−B)一方、OS(x)のWEB処理部31aは、HTTPパスで指定された要求を処理することができない(property.htmlを有しない)ので、その旨を示すコード値(404;Not Found)をハイパーバイザ10の振分処理部11に対して応答として返信する。
【0038】
(6)ハイパーバイザ10の振分処理部11は、OS(x)のWEB処理部31a及びOS(y)のWEB処理部31bのそれぞれから返信された応答のうち、OKの応答を返したOS(y)のWEB処理部31bの方に接続を確定し、OKの応答(及び該当するWEBページのデータ)を前記TCPコネクションを通じて利用者端末Tに送信する。
(7)利用者端末Tから送信されたデータに応答するデータを複合機Mから利用者端末Tに送信した後、利用者端末Tと複合機Mとの間におけるTCPコネクションの切断処理が行われる。
【0039】
このように、図4の例では、共通するHTTPパスに対して複数のOSを設定しておき、当該データに対する応答を要求元の外部装置へ返信する際に、各OSから返信された応答のうち予め定められた応答条件を満たす1つの応答(本例では、OKの応答)を外部装置へ返信するように構成することで、振分表12の設定内容の簡略化を実現している。
【0040】
なお、本例では、複数のOSからOKの応答が返信される状態(同一のHTTPパスがWEB処理部31a、31bのそれぞれに存在する状態)は予め禁則されているものとする。また、データ転送先のOSから認証エラーのコード値(401;Unauthorized)が返信された場合には、上記の応答条件を満たす応答であるとして、これを外部装置へ返送するように構成してあるが、複数のOSから認証エラーが返信される状態については予め禁則されているものとする。また、内部でリダイレクトが発生した場合には、振分処理部11でリダイレクト処理を行って、リダイレクト先のアドレスを要求元の外部装置に返すように構成してある。
【0041】
更に、本例の振分処理部11は、外部装置から送信されたデータで指定されたHTTPパスと、当該データについて外部装置へ送信した応答を返信したOSとを対応付けて履歴として記憶する履歴記憶部を有しており、外部装置からHTTP通信に係るデータを受信した際に、振分表12を参照するに先立って履歴記憶部を参照し、当該データで指定されたHTTPパスに関する履歴が存在する場合には、当該HTTPパスに対応付けられたOSに対してデータを転送するように構成してある。すなわち、過去に行った処理に基づいてデータの転送先を決定することで、振分表12の参照を省略している。
【0042】
図5には、本例の複合機(情報処理装置の一例)として動作するコンピュータの主要なハードウェアを例示してある。
本例では、各種演算処理を行うCPU51、CPU51の作業領域となるRAM52や基本的な制御プログラムを記録したROM53等の主記憶装置、本発明の一実施形態に係るプログラムや各種データを記憶する補助記憶装置(例えば、HDD等の磁気ディスクや、フラッシュメモリ等の書き換え可能な不揮発性メモリなど)54、各種情報を表示出力する表示装置等の出力機器及び操作者により入力操作に用いられる操作ボタン・タッチパネル等の入力機器とのインターフェースである入出力I/F55、他の装置との間で有線又は無線により通信を行うインターフェースである通信I/F56、等のハードウェア資源を有するコンピュータにより構成されている。
そして、本発明の一実施形態に係るプログラムを補助記憶装置54等から読み出してRAM52に展開し、これをCPU51により実行させることで、本発明の一実施形態に係る情報処理装置をコンピュータ上に実現している。
【0043】
なお、本発明の一実施形態に係るプログラムは、例えば、当該プログラムを記憶したCD−ROM等の外部記憶媒体から読み込む形式や、通信回線等を介して受信する形式などにより、本例に係るコンピュータに設定される。
また、本例のようなソフトウェア構成により情報処理装置を実現する態様に限られず、専用のハードウェアモジュールを用いて実現するようにしてもよい。
【符号の説明】
【0044】
M:複合機、 T:利用者端末、
10:ハイパーバイザ(仮想化処理部)、 20:OS(a)、 30:OS(b)、
11:振分処理部、 12:振分表、 21:lpd処理部、 22:WS−Print処理部、 23:Printer−svs処理部、 31:WEB処理部、 32:MGMT処理部、 33:DBMS処理部

【特許請求の範囲】
【請求項1】
処理の実行環境を複数備えると共に、各実行環境をそれぞれ仮想環境として動作させるための仮想化処理を行う仮想化処理部を備え、
前記仮想化処理部は、外部装置との間で通信処理を行う通信手段と、前記通信手段により前記外部装置から受信されたデータを予め設定された振分規則に基づいて特定される実行環境へ転送する転送手段と、を有する、
ことを特徴とする情報処理装置。
【請求項2】
前記複数の実行環境は、共通のIPアドレスを用いる、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記通信手段は、前記外部装置との間でTCP通信に係る仮想的な回線の接続処理を行い、
前記転送手段は、前記通信手段により前記回線を通じて前記外部装置から受信されたデータを前記振分規則に基づいて特定される実行環境へ転送し、その転送結果を前記通信手段により前記回線を通じて前記外部装置へ送信させる、
ことを特徴とする請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記転送手段は、前記通信手段により前記外部装置から受信されたHTTP通信に係るデータについて、当該データで指定されたHTTPパスに対して複数の実行環境が前記振分規則に設定されている場合には、当該複数の実行環境の各々に転送し、その転送結果として当該複数の実行環境の各々から返信された応答のうち予め定められた条件を満たす1つの応答を前記通信手段により前記外部装置へ送信させる、
ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の情報処理装置。
【請求項5】
前記仮想化処理部は、前記通信手段により前記外部装置から受信されたHTTP通信に係るデータで指定されたHTTPパスと当該データについて前記外部装置へ送信した応答を返信した実行環境とを対応付けて記憶する記憶手段を有しており、
前記転送手段は、前記通信手段により前記外部装置から受信されたHTTP通信に係るデータについて、当該データで指定されたHTTPパスに対して前記記憶手段に実行環境との対応付けが記憶されている場合には、前記振分規則によらずに、当該HTTPパスに対応付けられた実行環境に転送する、
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記振分規則の設定指示を受け付ける受付手段と、
前記受付手段により受け付けられた設定指示に従って前記振分規則を設定する設定手段と、を更に備えた、
ことを特徴とする請求項1乃至請求項5のいずれか1項に記載の情報処理装置。
【請求項7】
処理の実行環境を複数備えると共に、各実行環境をそれぞれ仮想環境として動作させるための仮想化処理を行う仮想化処理部を備えた情報処理装置が実現されるコンピュータに、
前記仮想化処理部で動作させる機能として、外部装置との間で通信処理を行う通信機能と、前記通信機能により前記外部装置から受信されたデータを予め設定された振分規則に基づいて特定される実行環境へ転送する転送機能と、
を実現させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate