説明

情報処理システム、情報処理装置、及びプログラム

【課題】ファイアウォール等で保護された内部ネットワーク上のデバイスを外部ネットワーク上のサービスを用いて制御させることを可能とする。
【解決手段】制御装置と、制御装置に対して、予め定められた、制限された通信が可能な通信手段を介して接続される情報処理装置と、情報処理装置に接続される制御対象装置と、を含む。情報処理装置は、利用者より指示された要求を制御装置に送信し、制御装置から処理結果を受け入れて、当該受け入れた処理結果に、制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
所定のネットワーク印刷プロトコルに従って処理を行う情報処理装置において、外部情報処理装置に対して印刷処理に関する操作命令を電子メールで送信する電子メール送信部と、前記外部情報処理装置における前記操作命令実行の完了通知を含む電子メールを受信する電子メール受信部と、を有する情報処理装置が特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−094534号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ファイアウォール等で保護された内部ネットワーク上のデバイスを外部ネットワーク上のサービスを用いて制御させることを可能とする。
【課題を解決するための手段】
【0005】
請求項1記載の発明は情報処理システムであって、制御装置と、前記制御装置に対して、予め定められた、制限された通信が可能な通信手段を介して接続される情報処理装置と、前記情報処理装置に接続される、制御対象装置と、を含み、前記制御装置は、前記情報処理装置より要求を受け入れて、当該要求に関して予め定められた処理を実行して当該処理結果を要求元である情報処理装置に送信する手段と、前記情報処理装置より、制御対象装置からの応答を受け入れて、当該応答に関して予め定められた処理を実行して当該処理結果を、当該応答の受け入れ元である情報処理装置に送信する手段と、を含み、前記情報処理装置は、利用者より指示された要求を前記制御装置に送信し、当該制御装置から処理結果を受け入れる手段と、前記受け入れた処理結果に、前記制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う手段と、前記制御対象装置から応答を受け入れる手段と、当該受け入れた応答を、前記制御装置に対して送信し、当該制御装置から処理結果を受け入れる手段と、を含むこととしたものである。
【0006】
請求項2記載の発明は情報処理装置であって、制御対象装置と通信を行う手段と、受け入れた要求に関して予め定められた処理を実行して当該処理結果を要求元に送信するとともに、制御対象装置からの応答を含む情報を受け入れて、当該応答に関して予め定められた処理を実行して当該処理結果を、当該応答を含む情報の受け入れ元へ送信する制御装置との間で、予め定められた、制限された通信が可能な通信手段を介して通信を行う手段と、利用者より指示された要求を前記制御装置に送信し、当該制御装置から処理結果を受け入れる手段と、前記受け入れた処理結果に、前記制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う手段と、前記制御対象装置から応答を受け入れる手段と、当該受け入れた応答を、前記制御装置に対して送信し、当該制御装置から処理結果を受け入れる手段と、を含むこととしたものである。
また請求項3記載の発明は、請求項2記載の情報処理装置であって、前記制御対象装置は、画像形成装置であり、前記指示は、画像形成の指示であることとしたものである。
【0007】
請求項4記載の発明は、プログラムであって、制御対象装置に接続されるとともに、受け入れた要求に関して予め定められた処理を実行して当該処理結果を要求元に送信するとともに、制御対象装置からの応答を含む情報を受け入れて、当該応答に関して予め定められた処理を実行して当該処理結果を、当該応答を含む情報の受け入れ元へ送信する制御装置に予め定められた、制限された通信が可能な通信手段を介して接続されたコンピュータを、利用者より指示された要求を前記制御装置に送信し、当該制御装置から処理結果を受け入れる手段と、前記受け入れた処理結果に、前記制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う手段と、前記制御対象装置から応答を受け入れる手段と、当該受け入れた応答を、前記制御装置に対して送信し、当該制御装置から処理結果を受け入れる手段と、として機能させることとしたものである。
【発明の効果】
【0008】
請求項1,2,4のそれぞれに記載の発明によると、ファイアウォール等で保護された内部ネットワーク上のデバイスであっても、外部ネットワーク上のサービスから、内部ネットワークにある情報処理装置にデバイスとの通信を行わせることにより、外部ネットワーク上のサービスから内部ネットワークにあるデバイスに対し処理を実行させることを可能としている。
また請求項3記載の発明によると、ファイアウォール等で保護された内部ネットワーク上の画像形成装置であっても、外部ネットワーク上のサービスから、内部ネットワークにある情報処理装置に画像形成装置との通信を行わせることにより、外部ネットワーク上のサービスから内部ネットワークにある画像形成装置に対して画像形成の処理を実行させることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態に係る情報処理システムの例を表す構成ブロック図である。
【図2】本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。
【図3】本発明の実施の形態に係る情報処理装置の動作例を表すフローチャート図である。
【図4】本発明の実施の形態に係る情報処理装置の別の動作例を表すフローチャート図である。
【図5】本発明の実施の形態に係る情報処理システムのサーバ装置が保持する情報の例を表す説明図である。
【図6】本発明の実施の形態に係る情報処理装置が提供するインタフェース例を表す説明図である。
【図7】本発明の実施の形態に係る情報処理装置が提供する別のインタフェースの例を表す説明図である。
【発明を実施するための形態】
【0010】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システムは、図1に例示するように内部通信手段としての内部ネットワーク10と、インターネット等の外部通信手段としての外部ネットワーク20とを含んだ環境において利用される。内部ネットワーク10と外部ネットワーク20との間には、ファイアウォール(FW)等のネットワーク保護手段が設けられ、相互に予め定められた、制限された通信のみが可能となっている。
【0011】
このファイアウォールは、予め定められた制限された通信のみを可能とする。ここでは具体的に、外部ネットワーク20上のサーバ装置21から内部ネットワーク10上にあるデバイス13に対して、画像形成の指示を送信することができないように、かかる指示を内部ネットワーク10に中継しない。またこのファイアウォールは、内部ネットワーク10上にある情報処理装置11からサーバ装置21への情報の要求と、当該要求に対するサーバ装置21から情報処理装置11への情報送信は許可する。このように、予め定めた制限された通信のみを可能とするファイアウォールの設定は、一般的なものであるので、詳しい説明を省略する。
【0012】
本実施の形態の情報処理システムは、内部ネットワーク10に接続された情報処理装置11と、ユーザ側装置12と、デバイス13と、外部ネットワーク20に接続されたサーバ装置21とを含んで構成される。
【0013】
ここに情報処理装置11は、図2に示すように、制御部31と、記憶部32と、通信部33とを含む。制御部31は、CPU(Central Processing Unit)等のプログラム制御デバイスであり、記憶部32に格納されたプログラムに従って動作する。本実施の形態では、この制御部31は、フロントエンドモジュール41と、エージェントモジュール42とを含む処理を行っている。この制御部31のフロントエンドモジュール41は、ユーザ側装置12からの要求を受け入れ、この要求を、外部ネットワーク20を介して接続されたサーバ装置21に送信して、予め定めた処理を実行させる。また制御部31のフロントエンドモジュール41は、サーバ装置21が送信する処理結果を受け入れる。フロントエンドモジュール41は、この処理結果にデバイス13への要求が含まれるならば、当該要求をエージェントモジュール42に出力する。
【0014】
制御部31のエージェントモジュール42は、デバイス13に対して要求を送信し、デバイス13からの応答を受け入れる。そしてこの応答をフロントエンドモジュール41に出力する。フロントエンドモジュール41は、当該応答を、外部ネットワーク20を介して接続されたサーバ装置21に送信する。サーバ装置21が当該応答に関する処理を行い、その結果を送信すると、制御部31のフロントエンドモジュール41が当該応答に関する処理の結果を受け入れ、当該受け入れた処理結果に基づき、ユーザ側装置12に対して出力する情報を生成する。この制御部31の具体的な処理の内容については後に述べる。
【0015】
記憶部32は、制御部31によって実行されるプログラムを保持する。このプログラムは例えばDVD−ROM(Digital Versatile Disc Read Only Memory)等のコンピュータ可読な記録媒体に格納されて提供され、この記憶部32に複写される。また、この記憶部32は、制御部31のワークメモリとしても動作する。
【0016】
通信部33は、ネットワーク等の通信手段に接続される。本実施の形態の通信手段は、内部ネットワーク10と、外部ネットワーク20とにそれぞれ接続され、内部ネットワーク10を介して、内部ネットワーク10に接続されているデバイス13等との間で情報を授受し、また、外部ネットワーク20を介してサーバ装置21との間で情報の授受を行う。
【0017】
ユーザ側装置12は、ウェブブラウザが動作するパーソナルコンピュータ等であり、利用者の指示に従い、情報処理装置11に対して要求を送信し、また情報処理装置11が送信する情報を受け入れて、当該情報をディスプレイ等に表示出力する。情報処理装置11とユーザ側装置12は、同一装置として構成するようにしても良い。この場合、情報処理装置11のフロントエンドモジュール41やエージェントモジュール42との間で要求を送信しまた送信される情報を受け入れて表示や入力を行うことができるアプリケーションソフトウェアを情報処理装置11に設けるように構成してもよい。デバイス13は、プリンタ等の制御対象装置であり、情報処理装置11から入力される要求を受け入れて当該要求に応じた処理を行い、また、その要求に対する応答を出力する。
【0018】
サーバ装置21は、本実施の形態において制御装置として機能する。具体的にこのサーバ装置21は、ファイアウォール等で保護されたデバイス13の制御を外部ネットワーク20から行うものであり、本実施の形態では情報処理装置11が、かかる処理を可能としている。
【0019】
具体的にこのサーバ装置21は、ユーザ装置12から情報処理装置11が受け入れた要求を受信すると、固有のセッション識別子(通信識別子)を発行し、当該要求に関連して予め定められた処理を実行する。この処理は、デバイス13の一覧を生成すべき旨の要求、デバイス13に対して画像を形成させるべき旨の要求…など、要求の種類ごとに予め定められており、サーバ装置21において当該処理を規定するプログラムがサーバ装置21に保持されている。
【0020】
一例として、デバイス13の一覧を生成すべき旨の要求を受けた場合、サーバ装置21は、当該要求に関連づけて記憶されているプログラム(一覧生成プログラム)を読み出して処理を開始する。サーバ装置21においては、実行中の処理が、それぞれに固有の処理識別情報によって識別される。サーバ装置21は、先に発行したセッション識別子と、当該セッション識別子に係る要求に応じて開始した処理を識別する処理識別子とを関連づけて記憶する。
【0021】
サーバ装置21は、一覧生成プログラムに従い、要求元の情報処理装置11を特定する情報(例えば情報処理装置11のネットワークアドレスなどでよい)に関連づけて予めサーバ装置21側で保持しているデバイス13を特定する情報の一覧を含んだ情報をHTML(Hyper Text Markup Language)を用いて記述する。
【0022】
またこのサーバ装置21は、このHTMLで記述した情報に対して、一覧に含まれるデバイス13に対してそれぞれの状態を取得させるスクリプト(状態取得スクリプト)をjavascript等の言語を用いて記述し、このスクリプトが、当該HTMLで記述した情報が読み込まれるタイミングで実行されるように設定する。例えばjavascriptを用いる場合、この設定は状態取得スクリプトにonload属性を付しておけばよい。
【0023】
すなわちサーバ装置21は、要求に対する応答を、HTMLで記述した情報として、発行したセッション識別子とともに返信する。この際、デバイス13側に対して行うべき処理があれば、当該処理の内容をjavascript等のスクリプト言語で記述し、onload属性を設定するなど、当該HTMLで記述した情報の読み込みのタイミングで実行されるように設定しておく。
【0024】
また、このサーバ装置21は、同じセッションとして(同じセッション識別子を用いた通信で)、デバイス13からの応答を含んだ情報を、情報処理装置11から取得すると、当該情報に係るセッション識別子を参照し、当該セッション識別子に関連づけて記憶している処理識別子で識別される処理を再開する。
【0025】
ここではサーバ装置21は、デバイス13からの応答を利用した処理を行う。具体的にはデバイス13の状態を表す情報と、デバイス13のネットワークアドレスとを対応づけたテーブルを含むHTML文書を生成して、情報処理装置11へ送信する。
【0026】
なお、サーバ装置21は、セッション識別子ごとに、当該セッション識別子に関連する情報を最後に受信した時刻を保持しておき、当該時刻からの経過時間が予め定めたしきい値を超えるセッション識別子については、当該セッション識別子に関連づけて記憶している処理識別子を参照し、当該処理識別子で識別される処理を中断するなど、セッションを中断する処理(いわゆるセッション・タイムアウト)を行う。
【0027】
次に、本実施の形態に係る情報処理装置11の制御部31の処理の内容について説明する。既に述べたように、制御部31は、フロントエンドモジュール41と、エージェントモジュール42とを含んで構成される。これらフロントエンドモジュール41とエージェントモジュール42とは一つのプロセスとして処理されてもよいし、別のプロセスとして実行され、相互にプロセス間通信を行うものであってもよい。
【0028】
一つのプロセスとして処理される場合とは、例えばフロントエンドモジュール41がウェブページにアクセスするブラウザ機能を有するモジュールであり、エージェントモジュール42が当該ブラウザ機能に対する、いわゆるプラグインモジュールである例などがある。この例では、フロントエンドモジュール41は、図3に例示するように、ユーザ側装置12から受信した要求をサーバ装置21に送出する(S1)。そして、セッション識別子とHTML文書とを受信する(S2)。フロントエンドモジュール41は、このHTML文書をエージェントモジュール42に出力する(S3)。
【0029】
エージェントモジュール42では、フロントエンドモジュール41が出力するHTML文書に、読み込み時に実行するべき処理(デバイス13と通信をするべき指示)があるか否かを調べる(S4)。ここで通信をするべき指示があれば(Yesならば)、エージェントモジュール42は、当該指示に従ってデバイス13との間で通信を行い、デバイス13からの応答を受信する(S5)。なお、この指示に、複数のデバイス13との通信を行うべき指示が含まれていれば、エージェントモジュール42は、当該指示に従って複数のデバイス13の各々との間で通信を行い、それぞれのデバイス13から応答を受信する。
【0030】
エージェントモジュール42は、ここでデバイス13から得た応答を、フロントエンドモジュール41に出力し(S6)、フロントエンドモジュール41は、この応答をサーバ装置21に送信する(S7)。フロントエンドモジュール41は、このとき送信する情報に、先にサーバ装置21から受信したセッション識別子を含める。
【0031】
そしてフロントエンドモジュール41は、サーバ装置21からの情報を受信し(S8)。この情報に基づく情報提示をユーザ側装置12に対して行う(S9)。具体的に、サーバ装置21からはHTMLで記述された情報を受信し、当該情報を、当初ユーザ装置12から受信した要求に対する応答として、ユーザ側装置12に送信すればよい。
【0032】
また、処理S4において、通信をするべき指示がなければ(Noならば;A)、エージェントモジュール41は、当該サーバ装置21から受信したHTML文書を、そのままユーザ装置12に対して送信するようフロントエンドモジュール41に指示する(S10)。この場合も、フロントエンドモジュール41は、処理S9におけると同様に、当該サーバ装置21から受信したHTML文書を、当初ユーザ装置12から受信した要求に対する応答として、ユーザ側装置12に送信すればよい。
【0033】
次に、フロントエンドモジュール41とエージェントモジュール42とを別々のプロセスとして実行する場合の処理について述べる。この例では、図4に例示するように、フロントエンドモジュール41は、エージェントモジュール42に対してユーザ側装置12から受信した要求をサーバ装置21に送出するよう指示する(S1′)。そして、エージェントモジュール42が要求をサーバ装置21に送信し、セッション識別子とHTML文書とをサーバ装置21から受信する(S2′)。
【0034】
エージェントモジュール42では、サーバ装置21から受信したHTML文書に、読み込み時に実行するべき処理(デバイス13と通信をするべき指示)があるか否かを調べる(S4′)。ここで通信をするべき指示があれば(Yesならば)、エージェントモジュール42は、当該指示に従ってデバイス13との間で通信を行い、デバイス13からの応答を受信する(S5)。なお、この指示に、複数のデバイス13との通信を行うべき指示が含まれていれば、エージェントモジュール42は、当該指示に従って複数のデバイス13の各々との間で通信を行い、それぞれのデバイス13から応答を受信する。
【0035】
エージェントモジュール42は、ここでデバイス13から得た応答をサーバ装置21に送信する(S7′)。エージェントモジュール42は、このとき送信する情報に、先にサーバ装置21から受信したセッション識別子を含める。
【0036】
そしてエージェントモジュール42は、サーバ装置21からの情報を受信し(S8-1′)。この情報を、フロントエンドモジュール41に出力する(S8-2′)。そしてフロントエンドモジュール41が、当該エージェントモジュール42から入力される情報に基づく情報提示をユーザ側装置12に対して行う(S9′)。この処理S9′の内容は、図3に示した処理S9と同様のものである。
【0037】
また、処理S4′において、通信をするべき指示がなければ(Noならば;B)、エージェントモジュール42は、当該サーバ装置21から受信したHTML文書を、フロントエンドモジュール41を介してそのままユーザ装置12に対して送信する(S10′)。この処理も図3の処理S10におけると同様の処理とすることができる。
【0038】
本実施の形態は以上のような構成を備えてなり、以下具体的に、(a)デバイス13としてのプリンタの一覧を提供する処理、(b)デバイス13としてのプリンタに画像を形成させる処理、そして(c)デバイス13の設定を変更する処理をそれぞれサーバ装置21を制御装置として機能させて行う例について述べる。なお、ここではデバイス13としてプリンタを例としているが、画像形成を行う機能を備えた装置(画像形成装置)であれば、スキャナ等他の機能を併せ持つ複合機等であってもよい。
【0039】
なお、以下の例ではサーバ装置21が組織ごとに、組織で利用されているプリンタを管理する機能を提供するものとする。これは例えば、プリンタメーカーなどが組織に納入したプリンタを遠隔から一括管理する場合を想定したものである。この例では図5に例示するように、サーバ装置21には予め組織ごと(ここでは情報処理装置11を特定する情報に関連づけて)、プリンタの一覧情報が保持されているものとする。ここでプリンタの一覧情報とは、機器名、ネットワークアドレス(内部ネットワーク10上のアドレス)、機種名を含む情報であるとする。また、情報処理装置11を特定する情報は、例えば情報処理装置11のネットワークアドレス(外部ネットワーク20上のアドレス)でよい。
【0040】
(a)プリンタ一覧を提供する処理
ユーザ側装置12の利用者は、プリンタ一覧の要求を、情報処理装置11に対して送信する。この要求は、例えば情報処理装置11内のプリンタ一覧生成のプログラムを指すURL(Uniform Resource Locator)とする。情報処理装置11は、当該プリンタ一覧の要求を受け入れると、当該要求をサーバ装置21に送出する。
【0041】
サーバ装置21は、固有のセッション識別子を発行する。そしてサーバ装置21は、当該要求に関連づけて記憶されているプログラム(一覧生成プログラム)を読み出して処理を開始する。サーバ装置21は、先に発行したセッション識別子と、ここで開始した処理を識別する処理識別子とを関連づけて記憶する。
【0042】
サーバ装置21は、一覧生成プログラムに従い、要求元の情報処理装置11を特定する情報に関連づけて予めサーバ装置21側で保持しているプリンタの一覧情報をHTML(Hyper Text Markup Language)を用いて記述し、このHTMLで記述した情報(HTML文書)に対して、一覧に含まれるプリンタに対してそれぞれの状態を取得させるスクリプト(状態取得スクリプト)をjavascript等の言語を用いて記述したものを含め、このスクリプトが、当該HTMLで記述した情報が読み込まれるタイミングで実行されるように設定して、要求元の情報処理装置11に対して応答する。具体的にここでは、状態取得スクリプトにonload属性を付しておく。
【0043】
情報処理装置11は、セッション識別子とHTML文書とを受信し、このHTML文書に、読み込み時に実行するべき処理(プリンタと通信をするべき指示)があるか否かを調べる。ここでは、onload属性が付された処理(デバイス13と通信をするべき旨の指示を含んだスクリプト)が存在するので、情報処理装置11は、当該指示に従い、一覧に含まれる各プリンタとの間で通信を行い、各プリンタからの応答を受信する。
【0044】
情報処理装置11は、ここでプリンタから得た応答をサーバ装置21に送信する。このとき送信する情報に、先にサーバ装置21から受信したセッション識別子を含める。
【0045】
サーバ装置21は、プリンタからの応答と、セッション識別子とを受け入れ、当該セッション識別子に関連づけて記憶している処理識別子で識別される処理を再開する。ここでサーバ装置21は、プリンタの一覧の情報に、各プリンタの状態を表す情報を関連づけたテーブルを生成し、当該テーブルを含んだHTML文書を生成して、情報処理装置11へ送信する。
【0046】
情報処理装置11は、サーバ装置21から、このHTML文書を受信し、当初ユーザ装置12から受信した要求に対する応答として、ユーザ側装置12に送信する。そうしてユーザ側装置12が、プリンタの一覧の情報に、各プリンタの状態を表す情報(S)を関連づけたテーブルを含んだHTML文書を表示する。この表示内容は、例えば、図6に例示するようなものとなる。
【0047】
(b)プリンタに画像を形成させる処理
次に利用者がプリンタに画像を形成させる処理を要求する例について述べる。この要求は、例えば情報処理装置11内の画像を形成するためのプログラムを指すURLとする。情報処理装置11は、この要求に対応するURLに予め、画像形成の対象となるファイルを指定させ、アップロードを受ける処理を含んだHTML文書を関連づけて保持しているものとする。このようなHTML文書の例は、広く知られているので、ここでの詳しい説明を省略する。
【0048】
情報処理装置11は、このHTML文書に記述された指示に従い、利用者からファイルの指定を受け入れ、当該指定されたファイルのアップロードを受け入れると、画像形成の要求とともに、当該アップロードを受けたファイルをサーバ装置21に送出する。
【0049】
サーバ装置21は、固有のセッション識別子を発行する。そしてサーバ装置21は、当該要求に関連づけて記憶されているプログラム(画像形成プログラム)を読み出して処理を開始する。サーバ装置21は、先に発行したセッション識別子と、ここで開始した処理を識別する処理識別子とを関連づけて記憶する。
【0050】
サーバ装置21は、画像形成プログラムに従い、情報処理装置11から受信したファイルに基づいて画像形成用の画像データを生成する。一例として、ファイルがマイクロソフト社が提供するワードプロセッサ「ワード」の生成するアプリケーションファイル(いわゆるDOCファイル)であるとすると、サーバ装置21は、このアプリケーションファイルをページごとに描画データをプリンタで印刷処理を行うことができるページ記述言語等で記述されたデータ形式へ変換し、画像形成用の画像データとして生成する。
【0051】
サーバ装置21は、こうして生成した画像データを記憶し、この画像データの記憶先のURLから画像データを取得させ、取得した画像データをプリンタに出力させるスクリプト(データ取得スクリプト)をjavascript等の言語を用いて記述したものを含むHTML文書を生成する。このとき、上記データ取得スクリプトが、HTML文書を読み込むタイミングで実行されるように設定して、要求元の情報処理装置11に対して応答する。具体的にここでは、データ取得スクリプトにonload属性を付しておく。
【0052】
情報処理装置11は、セッション識別子とHTML文書とを受信し、このHTML文書に、読み込み時に実行するべき処理(プリンタと通信をするべき指示)があるか否かを調べる。ここでは、onload属性が付された処理(デバイス13と通信をするべき旨の指示を含んだスクリプト)が存在するので、情報処理装置11は、当該指示に従い、指定されたURLから画像データをダウンロードし、当該ダウンロードした画像データを、プリンタに送信出力する。プリンタは、情報処理装置11から送信された画像データを受信する。プリンタは、画像データの受信に応じてジョブ識別子を発行し、情報処理装置11へ送信する。情報処理装置11では、セッション識別子とプリンタから送信されたジョブ識別子とを関連させて記憶する。次に、プリンタは、画像データを解釈し、印刷処理を行う。そして、この印刷処理の結果(出力完了や異常終了等)を前記したジョブ識別子とともに情報処理装置へ送信する。
【0053】
情報処理装置11は、そしてプリンタからの応答であるジョブ識別子と画像形成処理の結果を取得する。この画像処理結果を、ジョブ識別子に対応したセッション識別子とともにサーバ装置21に送信する。なお、情報処理装置11は、先にダウンロードした画像データをここで削除してもよいし、後に再印刷等を可能とするために、保持してもよい。保持する場合、当該保持している画像データの一覧を、ユーザ側装置12からの要求に応じて送信し、また、このユーザ側装置12から当該一覧に含まれる画像データの印刷指示を受けて、当該指示された画像データを、再度デバイス13としてのプリンタに送信出力して画像形成を行わせてもよい。
【0054】
サーバ装置21は、プリンタからの応答と、セッション識別子とを受け入れ、当該セッション識別子に関連づけて記憶している処理識別子で識別される処理を再開する。ここでサーバ装置21は、プリンタからの応答を表示するHTML文書を生成して、情報処理装置11へ送信する。
【0055】
情報処理装置11は、サーバ装置21から、このHTML文書を受信し、当初ユーザ装置12から受信した要求に対する応答として、ユーザ側装置12に送信する。そうしてユーザ側装置12が、画像形成処理の結果を表示する。
【0056】
(c)デバイス13の設定を変更する処理
ユーザ側装置12の利用者がデバイス13としてのプリンタの設定を変更する要求を行う例について次に述べる。この例では、利用者は設定変更の要求を情報処理装置11に対して送信する。この要求は、例えば情報処理装置11内の設定変更のプログラムを指すURLとして送信される。情報処理装置11は、当該要求を受け入れる(対応するURLへのアクセスを受ける)と、この対応するURLに関連づけて予め保持しているウェブページをユーザ側装置12に送信する。
【0057】
このウェブページには、プリンタの指定を入力する欄と、各種設定を表示するとともに各種設定の変更を受け入れるインタフェースを含む(図7)。具体的に図7の例では、必須入力欄としてのプリンタの名称またはネットワークアドレス(内部ネットワーク10上のアドレス)を含む。また、機種名などの情報をデバイスから取得するか否かの設定(X)を含む。
【0058】
ここで利用者が機種名等の情報をデバイスから取得する設定を行い、対象となるプリンタの名称など、処理の対象となるプリンタを特定するために必要な情報を入力して、このウェブページ内のフォームを提出(サブミット)する指示を行うと、情報処理装置11は、このフォームの内容を受け入れて、設定変更開始の要求をサーバ装置21に送出する。
【0059】
ここで情報処理装置11は、設定変更開始の要求に、機種名などの情報をデバイスから取得する旨の要求を含める。
【0060】
サーバ装置21は、要求を受け入れて固有のセッション識別子を発行する。そしてサーバ装置21は、当該要求に関連づけて記憶されているプログラム(設定変更開始プログラム)を読み出して処理を開始する。サーバ装置21は、先に発行したセッション識別子と、ここで開始した処理を識別する処理識別子とを関連づけて記憶する。
【0061】
サーバ装置21は、設定変更開始プログラムに従い、要求元の情報処理装置11を特定する情報に関連づけて予めサーバ装置21側で保持しているプリンタの一覧情報から、要求に係るプリンタの情報を参照し、当該要求に係るプリンタの情報を含んだHTML(Hyper Text Markup Language)を記述するとともに、このHTMLで記述した情報(HTML文書)に対して、要求に係るプリンタに対して現在の設定内容を取得させるスクリプト(設定取得スクリプト)をjavascript等の言語を用いて記述したものを含め、このスクリプトが、当該HTMLで記述した情報が読み込まれるタイミングで実行されるように設定して、要求元の情報処理装置11に対して応答する。具体的にここでは、状態取得スクリプトにonload属性を付しておく。
【0062】
情報処理装置11は、セッション識別子とHTML文書とを受信し、このHTML文書に、読み込み時に実行するべき処理(プリンタと通信をするべき指示)があるか否かを調べる。ここでは、onload属性が付された処理(デバイス13と通信をするべき旨の指示を含んだスクリプト)が存在するので、情報処理装置11は、当該指示に従い、指定されたプリンタとの間で通信を行い、当該プリンタからの応答を受信する。ここでは、指定されたプリンタに対して現在の設定内容を要求し、応答として、現在の設定内容を表す情報を受け入れる。
【0063】
情報処理装置11は、ここでプリンタから得た応答をサーバ装置21に送信する。このとき送信する情報に、先にサーバ装置21から受信したセッション識別子を含める。
【0064】
サーバ装置21は、プリンタからの応答と、セッション識別子とを受け入れ、当該セッション識別子に関連づけて記憶している処理識別子で識別される処理を再開する。ここでサーバ装置21はHTML文書を生成して、情報処理装置11へ送信する。
【0065】
このHTML文書は、例えば図7に例示した画面と同様の画面を記述したものであるが、機種名など、利用者がプリンタから取得するよう要求した情報や、現在の設定の内容を表す情報などが含まれる(図7)。
【0066】
情報処理装置11は、サーバ装置21から、このHTML文書を受信し、当初ユーザ装置12から受信した要求に対する応答として、ユーザ側装置12に送信する。そうしてユーザ側装置12が、プリンタの現在の設定内容を表す情報を含んだHTML文書を表示する。
【0067】
次に、このHTML文書において、利用者が現在の設定内容とは異なる設定を入力して、当該入力済みのフォームを提出(サブミット)する指示を行うと、情報処理装置11は、このフォームの内容を受け入れて、設定変更の要求をサーバ装置21に送出する。ここで情報処理装置11は、設定変更の要求に、ユーザ側装置12から受け入れたフォームの内容を含める。
【0068】
サーバ装置21は、要求を受け入れて固有のセッション識別子を発行する。そしてサーバ装置21は、当該要求に関連づけて記憶されているプログラム(設定変更プログラム)を読み出して処理を開始する。サーバ装置21は、先に発行したセッション識別子と、ここで開始した処理を識別する処理識別子とを関連づけて記憶する。
【0069】
サーバ装置21は、設定変更プログラムに従い、要求に係るプリンタに対して、フォームの内容として受信した変更後の設定内容を送信し、プリンタの設定を更新するべき旨の指示(例えばSNMP(Simple Network Management Protocol)を用いて行うことができる)を含んだスクリプト(設定変更スクリプト)をjavascript等の言語を用いて記述したものを含むHTML文書を生成し、このスクリプトが、当該HTMLで記述した情報が読み込まれるタイミングで実行されるように設定して、要求元の情報処理装置11に対して応答する。具体的にここでは、状態取得スクリプトにonload属性を付しておく。
【0070】
情報処理装置11は、セッション識別子とHTML文書とを受信し、このHTML文書に、読み込み時に実行するべき処理(プリンタと通信をするべき指示)があるか否かを調べる。ここでは、onload属性が付された処理(デバイス13と通信をするべき旨の指示を含んだスクリプト)が存在するので、情報処理装置11は、当該指示に従い、指定されたプリンタとの間で通信を行い、プリンタに対して利用者から指定された設定内容を伝達し、設定を変更する指示を送信する。そして当該プリンタからの応答を受信する。この応答は、ここではプリンタにおける設定変更指示に対する応答となる。
【0071】
情報処理装置11は、ここでプリンタから得た応答をサーバ装置21に送信する。このとき送信する情報に、先にサーバ装置21から受信したセッション識別子を含める。
【0072】
サーバ装置21は、プリンタからの応答と、セッション識別子とを受け入れ、当該セッション識別子に関連づけて記憶している処理識別子で識別される処理を再開する。ここでサーバ装置21は、プリンタの一覧の情報に、各プリンタの設定変更指示に対する応答の情報を含んだHTML文書を生成して、情報処理装置11へ送信する。
【0073】
情報処理装置11は、サーバ装置21から、このHTML文書を受信し、当初ユーザ装置12から受信した要求に対する応答として、ユーザ側装置12に送信する。そうしてユーザ側装置12が、プリンタの現在の設定内容を表す情報を含んだHTML文書を表示する。
【0074】
また、これらの処理例において、サーバ装置21から受信したHTML文書に含まれるスクリプトに従い、デバイス13(プリンタ等)と通信し、デバイス13からの応答を受けてサーバ装置21に送信するまでの間に、サーバ装置21がセッションタイムアウトとなることはないものとしていたが、セッションタイムアウトになる可能性がある場合は、情報処理装置11は、例えば複数のデバイス13からの応答をサーバ装置21に送信するべき場合は、各デバイス13からの応答を記憶するとともに、セッションタイムアウトとなる前(サーバ装置21からHTML文書を受信してからの時間を計時することで判断できる)にそれまでに受信した応答をサーバ装置21に対して送信出力することとしてもよい。このように、前回サーバ装置21への情報送信を行ってから、セッションタイムアウトとなるタイミングより前に、送信の対象となる情報を部分ごとに送信することで、セッションタイムアウトとなることを防止するようにしてもよい。
【0075】
なお、ここまでの説明において、HTML文書を用いていたものについては、HTML文書に代えて、他の、スクリプトプログラムを含むことが可能な文書を用いても構わない。この場合、ファイアウォールは、情報処理装置11からの求めによってサーバ装置21が送信する当該文書を外部ネットワーク20から内部ネットワーク10へ中継できるように設定しておく。
【0076】
このように、本実施の形態によると、ファイアウォール等で保護された内部ネットワーク上のデバイスを外部ネットワーク上のサービスを用いて制御させることが可能となる。
【符号の説明】
【0077】
10 内部ネットワーク、11 情報処理装置、12 ユーザ側装置、13 デバイス、20 外部ネットワーク、21 サーバ装置、31 制御部、32 記憶部、33 通信部、41 フロントエンドモジュール、42 エージェントモジュール。

【特許請求の範囲】
【請求項1】
制御装置と、
前記制御装置に対して、予め定められた、制限された通信が可能な通信手段を介して接続される情報処理装置と、
前記情報処理装置に接続される、制御対象装置と、
を含み、
前記制御装置は、前記情報処理装置より要求を受け入れて、当該要求に関して予め定められた処理を実行して当該処理結果を要求元である情報処理装置に送信する手段と、
前記情報処理装置より、制御対象装置からの応答を受け入れて、当該応答に関して予め定められた処理を実行して当該処理結果を、当該応答の受け入れ元である情報処理装置に送信する手段と、を含み、
前記情報処理装置は、利用者より指示された要求を前記制御装置に送信し、当該制御装置から処理結果を受け入れる手段と、
前記受け入れた処理結果に、前記制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う手段と、
前記制御対象装置から応答を受け入れる手段と、
当該受け入れた応答を、前記制御装置に対して送信し、当該制御装置から処理結果を受け入れる手段と、を含む
情報処理システム。
【請求項2】
制御対象装置との間で通信を行う手段と、
受け入れた要求に関して予め定められた処理を実行して当該処理結果を要求元に送信するとともに、制御対象装置からの応答を含む情報を受け入れて、当該応答に関して予め定められた処理を実行して当該処理結果を、当該応答を含む情報の受け入れ元へ送信する制御装置との間で、予め定められた、制限された通信が可能な通信手段を介して通信を行う手段と、
利用者より指示された要求を前記制御装置に送信し、当該制御装置から処理結果を受け入れる手段と、
前記受け入れた処理結果に、前記制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う手段と、
前記制御対象装置から応答を受け入れる手段と、
当該受け入れた応答を、前記制御装置に対して送信し、当該制御装置から処理結果を受け入れる手段と、を含む情報処理装置。
【請求項3】
前記制御対象装置は、画像形成装置であり、
前記指示は、画像形成の指示であることを特徴とする請求項2記載の情報処理装置。
【請求項4】
制御対象装置に接続され、
受け入れた要求に関して予め定められた処理を実行して当該処理結果を要求元に送信するとともに、制御対象装置からの応答を含む情報を受け入れて、当該応答に関して予め定められた処理を実行して当該処理結果を、当該応答を含む情報の受け入れ元へ送信する制御装置に、予め定められた、制限された通信が可能な通信手段を介して接続されたコンピュータを、
利用者より指示された要求を前記制御装置に送信し、当該制御装置から処理結果を受け入れる手段と、
前記受け入れた処理結果に、前記制御対象装置との間で通信をするべき旨の指示が含まれるか否かを調べ、当該指示が含まれていれば、制御対象装置との間で通信を行う手段と、
前記制御対象装置から応答を受け入れる手段と、
当該受け入れた応答を、前記制御装置に対して送信し、当該制御装置から処理結果を受け入れる手段と、
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−64091(P2012−64091A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−209009(P2010−209009)
【出願日】平成22年9月17日(2010.9.17)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】