(57)【要約】【目的】  受信したデータに対してデータ変換を行う、ファイアウォール越しの通信に対応していないデータ変換装置を、容易にファイアウォール越しの通信に対応させられるようにする。【構成】  ネットワークに接続可能な情報処理装置１０からファイアウォール５０越しに受信したデータの変換を行うデータ変換装置２０に、ファイアウォール５０で使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換機能部２１と、ファイアウォール５０で使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、上記第１のデータ変換機能部２１が取り扱うことのできる形式へのデータ変換を行って上記第１のポートにループバックする第２のデータ変換機能部２２とを設けた。【選択図】        図１
2007080227.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置であって、
前記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段と、
前記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、前記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って前記第１のポートにループバックする第２のデータ変換手段とを設けたことを特徴とするデータ変換装置。
【請求項２】
請求項１記載のデータ変換装置であって、
前記第２のポートは、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートであることを特徴とするデータ変換装置。
【請求項３】
請求項１又は２記載のデータ変換装置であって、
前記第２のデータ変換手段が、各々前記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して前記第１のポートにループバックする手段であることを特徴とするデータ変換装置。
【請求項４】
請求項１乃至３のいずれか一項記載のデータ変換装置であって、
自身を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段と、
前記第２のポートで何らかのデータを受信した場合に前記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手段とを設けたことを特徴とするデータ変換装置。
【請求項５】
請求項１乃至４のいずれか一項記載のデータ変換装置であって、
前記第１のデータ変換手段が行うデータ変換は、プリンタ言語で記述されたプリントデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ変換装置。
【請求項６】
請求項１乃至５のいずれか一項記載のデータ変換装置であって、
前記第２のデータ変換手段が行うデータ変換は、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換であることを特徴とするデータ変換装置。
【請求項７】
請求項６記載のデータ変換装置であって、
前記第２のデータ変換手段が行うデータ変換が、前記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含むことを特徴とするデータ変換装置。
【請求項８】
情報処理装置と、その情報処理装置からファイアウォール越しに受信したデータを処理するデータ変換装置とを備えたデータ変換システムであって、
前記データ変換装置に、
前記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段と、
前記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して前記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って前記第１のポートにループバックする第２のデータ変換手段とを設け、
前記情報処理装置に、
前記データ変換装置にデータを送信する場合に、前記第２のデータ変換手段が処理できる形式のデータを前記第２のポートに送信する手段を設けたことを特徴とするデータ変換システム。
【請求項９】
請求項８記載のデータ変換システムであって、
前記第２のポートは、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートであることを特徴とするデータ変換システム。
【請求項１０】
請求項８又は９記載のデータ変換システムであって、
前記データ変換装置の前記第２のデータ変換手段が、各々前記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して前記第１のポートにループバックする手段であることを特徴とするデータ変換システム。
【請求項１１】
請求項８乃至１０記載のデータ変換システムであって、
前記データ変換装置に、
自身を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段と、
前記第２のポートで何らかのデータを受信した場合に前記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手段とを設けたことを特徴とするデータ変換システム。
【請求項１２】
請求項８乃至１１のいずれか一項記載のデータ変換システムであって、
前記データ変換装置において、
前記第１のデータ変換手段が行うデータ変換が、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ変換システム。
【請求項１３】
請求項８乃至１２のいずれか一項記載のデータ変換システムであって、
前記データ変換装置において、
前記第２のデータ変換手段が行うデータ変換が、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換であることを特徴とするデータ変換システム。
【請求項１４】
請求項１３記載のデータ変換システムであって、
前記データ変換装置において、
前記第２のデータ変換手段が行うデータ変換が、前記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含むことを特徴とするデータ変換システム。
【請求項１５】
ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置に、
前記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手順と、
前記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して前記第１のデータ変換手順で取り扱うことのできる形式へのデータ変換を行って前記第１のポートにループバックする第２のデータ変換手順とを実行させることを特徴とするデータ変換装置の制御方法。
【請求項１６】
請求項１５記載のデータ変換装置の制御方法であって、
前記第２のポートは、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートであることを特徴とするデータ変換装置の制御方法。
【請求項１７】
請求項１５又は１６記載のデータ変換装置の制御方法であって、
前記第２のデータ変換手順が、各々の手順で前記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手順でリスンするポートにループバックする複数のデータ変換手順で複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記第１のデータ変換手順で取り扱うことのできる形式のデータに変換して前記第１のポートにループバックする手順であることを特徴とするデータ変換装置の制御方法。
【請求項１８】
請求項１５乃至１７のいずれか一項記載のデータ変換装置の制御方法であって、
前記データ変換装置に、
自身を省エネルギモードに移行させる手順と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手順と、
前記第２のポートで何らかのデータを受信した場合に前記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手順とを実行させることを特徴とするデータ変換装置の制御方法。
【請求項１９】
請求項１５乃至１８のいずれか一項記載のデータ変換装置の制御方法であって、
前記第１のデータ変換手順で行うデータ変換が、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ変換装置の制御方法。
【請求項２０】
請求項１５乃至１８のいずれか一項記載のデータ変換装置の制御方法であって、
前記第２のデータ変換手順で行うデータ変換が、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換であることを特徴とするデータ変換装置の制御方法。
【請求項２１】
請求項２０記載のデータ変換装置の制御方法であって、
前記第２のデータ変換手順で行うデータ変換が、前記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含むことを特徴とするデータ変換装置の制御方法。
【請求項２２】
ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置であって、前記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段を有するデータ変換装置に、
前記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、前記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って前記第１のポートにループバックする第２のデータ変換手段を付加することを特徴とするデータ変換機能付加方法。
【請求項２３】
請求項２２記載のデータ変換機能付加方法であって、
前記第２のポートは、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートであることを特徴とするデータ変換機能付加方法。
【請求項２４】
請求項２２又は２３記載のデータ変換機能付加方法であって、
前記第２のデータ変換手段が、各々前記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して前記第１のポートにループバックする手段であることを特徴とするデータ変換機能付加方法。
【請求項２５】
請求項２２乃至２４のいずれか一項記載のデータ変換機能付加方法であって、
前記データ変換装置が、
自身を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段と、
前記第２のポートで何らかのデータを受信した場合に前記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手段とを有する装置であることを特徴とするデータ変換機能付加方法。
【請求項２６】
請求項２２乃至２５のいずれか一項記載のデータ変換機能付加方法であって、
前記第１のデータ変換手段が行うデータ変換は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ変換機能付加方法。
【請求項２７】
請求項２２乃至２６のいずれか一項記載のデータ変換機能付加方法であって、
前記第２のデータ変換手段が行うデータ変換は、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換であることを特徴とするデータ変換機能付加方法。
【請求項２８】
請求項２７記載のデータ変換機能付加方法であって、
前記第２のデータ変換手段が行うデータ変換が、前記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含むことを特徴とするデータ変換機能付加方法。
【請求項２９】
ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置を制御するコンピュータを、
前記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段と、
前記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、前記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って前記第１のポートにループバックする第２のデータ変換手段として機能させるためのプログラム。
【請求項３０】
請求項２９記載のプログラムであって、
前記第２のポートは、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートであることを特徴とするプログラム。
【請求項３１】
請求項２９又は３０記載のプログラムであって、
前記第２のデータ変換手段が、各々前記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して前記第１のポートにループバックする手段であることを特徴とするプログラム。
【請求項３２】
請求項２９乃至３１のいずれか一項記載のプログラムであって、
前記コンピュータを、
前記データ変換装置を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に前記データ変換装置を省エネルギモードから通常動作モードに復帰させる手段と、
前記第２のポートで何らかのデータを受信した場合に前記第１のポートに前記データ変換装置を通常動作モードに復帰させるためのダミーのデータを送信する手段として機能させるためのプログラムをさらに含むことを特徴とするプログラム。
【請求項３３】
請求項２９乃至３２のいずれか一項記載のプログラムであって、
前記第１のデータ変換手段が行うデータ変換は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするプログラム。
【請求項３４】
請求項２９乃至３３のいずれか一項記載のプログラムであって、
前記第２のデータ変換手段が行うデータ変換は、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換であることを特徴とするプログラム。
【請求項３５】
請求項３４記載のプログラムであって、
前記第２のデータ変換手段が行うデータ変換が、前記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含むことを特徴とするプログラム。
【請求項３６】
請求項２９乃至３５のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、受信したデータの形式を変換するデータ変換装置、このようなデータ変換装置と情報処理装置とを備えたデータ変換システム、このようなデータ変換装置の制御方法、このようなデータ変換装置に対するデータ変換機能付加方法、コンピュータにこのようなデータ変換装置を制御させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、特定のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行うデータ変換装置が知られている。
そして、このようなデータ変換装置の具体例としては、例えば、ＰＣ（パーソナルコンピュータ）から受信したプリントデータに基づいて印刷を行うプリンタが挙げられる。
【０００３】
図２２に、このようなＰＣとプリンタの機能構成を示す。
この図に示すように、ＰＣ８０には、一般的に、ワードプロセッサや表計算、ドローイングを始めとする種々の機能を実現するためのアプリケーション（アプリ）８１を備えており、ユーザは、このアプリケーション８１で取り扱う文書や図等をプリントするために、アプリケーション８１に対して印刷の指示を行う。
【０００４】
また、ＰＣ８０には、アプリケーション８１が出力する、プリントすべき画像の内容を、プリンタ９０が処理できる形式のプリンタ言語で記載されたプリントデータ（プリント言語形式のプリントデータ）に変換するプリンタドライバ８２を備えている。そして、アプリケーション８１は、ユーザが印刷を指示した場合に、指定されたプリンタと対応するプリンタドライバ８２に、出力する画像の内容を示すデータを渡し、プリンタドライバ８２が、そのデータを、ユーザが指定したプリンタが処理できる形式のプリントデータに変換してポートモニタ８３のスプールディレクトリにスプールする。
【０００５】
ポートモニタ８３は、ＰＣ８０とプリンタ９０との間のデータの転送を行うドライバであり、スプールディレクトリにスプールされたデータを、使用するプリンタのアドレスの、９１００番ポートに送信する。このポートは、プリンタが一般にプリントデータの受信に使用するポートである。
【０００６】
一方、プリンタ９０には、実際にプリント動作を行うエンジン部であるプリントエンジン９３と、プリンタアプリ９１とを備えている。
そして、プリンタアプリ９１は、起動している間は常に９１００番ポートをリスンし、ここにデータが送られてくると、そのデータが特定のプリンタ言語で記載されたプリントデータであることを前提に、そのプリントデータを、プリントエンジン９３にプリントを行わせるための画像データに変換する。この処理は、例えばプリントデータに基づいて画像メモリに描画を行い、ビットマップ形式の画像データを生成する処理である。そして、その画像データに基づいてプリントエンジン９３を駆動することにより、用紙上に、受信したプリントデータに基づく画像を形成させることができる。
【０００７】
この場合において、プリンタアプリ９１は、開発効率向上や処理負荷低減の観点から、受信したデータの形式はチェックせず、どのようなデータを受信した場合でも、同じように処理を行うようにすることが行われている。そして、このようにした場合でも、データの送信元のＰＣの側でプリンタアプリ９１が処理できるような形式のデータを送信するような制御を確実に行えば、プリンタ９０を問題なく動作させることができる。
このようなプリンタについては、例えば特許文献１に記載されている。
【特許文献１】特開２００４−２５２９８４号公報、段落００６１  また、プリンタ等の画像形成装置にファイアウォールの外側からコマンドを送る手法としては、例えば特許文献２及び特許文献３に記載されているものが挙げられる。
【特許文献２】特開２００３−３２３３６０号公報
【特許文献３】特開２００４−５４１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、近年、個人情報を含む様々なデータへのセキュリティ重視の傾向が高まっている。そして、このため、ＨＤＤ（ハードディスクドライブ）内のデータの保護や通信経路の保護のための様々な対策が取られるようになっている。
このうち、通信経路の保護については、インターネットチャンネルを用いた顧客とプロバイダとの間のデータ授受を暗号化することが行われているが、社内の通信インフラ（ＰＣとプリンタ間、プリンタ同士の間等）についても同様な傾向が波及している。
こうした傾向を受け、例えば金融機関のような企業では、ＤＭＺ（DeMilitarized Zone）との境界線、サーバ室、各拠点間といった社内環境にも、ファイアウォールを設置することが行われるようになっている。
【０００９】
これに対し、社内ネットワークに接続される装置には、独自のプロトコルを利用し、そのプロトコルに応じた独自のポートを使用して通信を行う装置が数多くある。上述したプリンタ９０や、そのプリンタ９０が使用する９１００番ポートも、その一例である。そして、ファイアウォールは、通常はこのような独自のポートの使用を許可しないような設定がなされ、このようなポートに対する通信は遮断するようになっている。
従って、独自のプロトコルを利用した通信を行う装置をファイアウォール越しに使用できるようにするには、ファイアウォールの設定を変更してその独自のポートを使用できるようにする必要があり、その操作に手間を要するという問題があった。
【００１０】
この問題に対しては、上記の特許文献２又は３に記載の技術等を利用し、独自のプロトコル及びポートを使用して通信を行う装置の側を、ＨＴＴＰ（HyperText Transfer Protocol）のように通常ファイアウォールで使用が許可されているポートを使用する通信を行うように改変してしまうことも考えられる。
しかし、このような改変は、従来知られている方法では、工数やコストがかかり、負担が大きいという問題があった。特に、ファイアウォール内部のみでの利用を考えると、改変後にも独自のプロトコルを利用した通信が行える状態であることが好ましいが、このような改変は、複数のプロトコルを意識した設計が必要になる分、余計に工数やコストがかかるという問題があった。
【００１１】
この発明は、このような問題を解決し、受信したデータに対してデータ変換を行う、ファイアウォール越しの通信に対応していないデータ変換装置を、容易にファイアウォール越しの通信に対応させられるようにすることを目的とする。特に、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、この発明のデータ変換装置は、ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置において、上記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段と、上記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、上記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って上記第１のポートにループバックする第２のデータ変換手段とを設けたものである。
このようなデータ変換装置において、上記第２のポートを、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートとするとよい。
【００１３】
さらに、上記第２のデータ変換手段を、各々上記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して上記第１のポートにループバックする手段とするとよい。
さらに、自身を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段と、上記第２のポートで何らかのデータを受信した場合に上記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手段とを設けるとよい。
【００１４】
さらにまた、上記第１のデータ変換手段が行うデータ変換を、プリンタ言語で記述されたプリントデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、上記第２のデータ変換手段が行うデータ変換を、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換とするとよい。
さらに、上記第２のデータ変換手段が行うデータ変換に、上記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含めるとよい。
【００１５】
また、この発明のデータ変換システムは、情報処理装置と、その情報処理装置からファイアウォール越しに受信したデータを処理するデータ変換装置とを備えたデータ変換システムにおいて、上記データ変換装置に、上記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段と、上記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して上記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って上記第１のポートにループバックする第２のデータ変換手段とを設け、上記情報処理装置に、上記データ変換装置にデータを送信する場合に、上記第２のデータ変換手段が処理できる形式のデータを上記第２のポートに送信する手段を設けたものである。
このようなデータ変換システムにおいて、上記第２のポートを、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートとするとよい。
【００１６】
さらに、上記データ変換装置の上記第２のデータ変換手段を、各々上記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して上記第１のポートにループバックする手段とするとよい。
さらに、上記データ変換装置に、自身を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段と、上記第２のポートで何らかのデータを受信した場合に上記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手段とを設けるとよい。
【００１７】
さらにまた、上記データ変換装置において、上記第１のデータ変換手段が行うデータ変換を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、上記データ変換装置において、上記第２のデータ変換手段が行うデータ変換を、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換とするとよい。
さらに、上記データ変換装置において、上記第２のデータ変換手段が行うデータ変換に、上記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含めるとよい。
【００１８】
また、この発明のデータ変換装置の制御方法は、ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置に、上記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手順と、上記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して上記第１のデータ変換手順で取り扱うことのできる形式へのデータ変換を行って上記第１のポートにループバックする第２のデータ変換手順とを実行させるものである。
このようなデータ変換装置の制御方法において、上記第２のポートを、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートとするとよい。
【００１９】
さらに、上記第２のデータ変換手順を、各々の手順で上記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手順でリスンするポートにループバックする複数のデータ変換手順で複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記第１のデータ変換手順で取り扱うことのできる形式のデータに変換して上記第１のポートにループバックする手順とするとよい。
さらに、上記データ変換装置に、自身を省エネルギモードに移行させる手順と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手順と、上記第２のポートで何らかのデータを受信した場合に上記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手順とを実行させるようにするとよい。
【００２０】
さらにまた、上記第１のデータ変換手順で行うデータ変換を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、上記第２のデータ変換手順で行うデータ変換を、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換とするとよい。
さらに、上記第２のデータ変換手順で行うデータ変換に、上記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含めるとよい。
【００２１】
また、この発明のデータ変換機能付加方法は、ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置であって、上記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段を有するデータ変換装置に、上記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、上記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って上記第１のポートにループバックする第２のデータ変換手段を付加するものである。
このようなデータ変換機能付加方法において、上記第２のポートを、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートとするとよい。
【００２２】
さらに、上記第２のデータ変換手段を、各々上記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して上記第１のポートにループバックする手段とするとよい。
さらに、上記データ変換装置を、自身を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段と、上記第２のポートで何らかのデータを受信した場合に上記第１のポートに自身を通常動作モードに復帰させるためのダミーのデータを送信する手段とを有する装置とするとよい。
【００２３】
さらにまた、上記第１のデータ変換手段が行うデータ変換を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、上記第２のデータ変換手段が行うデータ変換を、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換とするとよい。
さらに、上記第２のデータ変換手段が行うデータ変換に、上記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含めるとよい。
【００２４】
また、この発明のプログラムは、ネットワークに接続可能な装置からファイアウォール越しに受信したデータの変換を行うデータ変換装置を制御するコンピュータを、上記ファイアウォールで使用が許可されていない第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う第１のデータ変換手段と、上記ファイアウォールで使用が許可されている第２のポートをリスンして、そのポートで受信したデータに対して、上記第１のデータ変換手段が取り扱うことのできる形式へのデータ変換を行って上記第１のポートにループバックする第２のデータ変換手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記第２のポートを、ＨＴＴＰ，ＨＴＴＰＳ，ＬＤＡＰ，ＰＯＰ３，ＳＭＴＰ，ＦＴＰのいずれかのプロトコルを用いた通信に使用する旨が予約されているポートとするとよい。
【００２５】
さらに、上記第２のデータ変換手段を、各々上記第１のポートと異なる特定のポートをリスンし、そのポートで受信したデータに対してデータ変換を行って次段のデータ変換手段がリスンするポートにループバックするデータ変換手段を複数有し、これらの各データ変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記第１のデータ変換手段が取り扱うことのできる形式のデータに変換して上記第１のポートにループバックする手段とするとよい。
さらに、上記コンピュータを、上記データ変換装置を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に上記データ変換装置を省エネルギモードから通常動作モードに復帰させる手段と、上記第２のポートで何らかのデータを受信した場合に上記第１のポートに上記データ変換装置を通常動作モードに復帰させるためのダミーのデータを送信する手段として機能させるためのプログラムを含めるとよい。
【００２６】
さらにまた、上記第１のデータ変換手段が行うデータ変換を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、上記第２のデータ変換手段が行うデータ変換を、ＨＴＴＰメッセージからプリンタ言語で記述されたプリントデータへの変換とするとよい。
さらに、上記第２のデータ変換手段が行うデータ変換に、上記ＨＴＴＰメッセージに含まれる、印刷属性を示すデータを、プリンタジョブ言語で記述された印刷属性データに変換し、そのデータを変換後のプリントデータの一部とする処理を含めるとよい。
【００２７】
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２８】
以上のようなこの発明のデータ変換装置、データ変換システム、データ変換装置の制御方法、またはデータ変換機能付加方法によれば、受信したデータに対してデータ変換を行う、ファイアウォール越しの通信に対応していないデータ変換装置を、容易にファイアウォール越しの通信に対応させられるようにすることができる。また、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることもできる。
また、この発明のプログラムによれば、コンピュータにデータ変換装置を制御させて上記のような機能を実現させ、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００２９】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔第１の実施形態：図１乃至図５〕
まず、図１に、この発明のデータ変換システムの第１の実施形態の構成を示す機能ブロック図を示す。
この図に示すように、このデータ変換システムは、情報処理装置１０と、データ変換装置２０を、ＬＡＮ（ローカルエリアネットワーク）のようなネットワーク等の何らかの通信経路によって通信可能に接続して構成することができる。ただし、この通信経路は、少なくとも情報処理装置１０からデータ変換装置２０にデータを送信できるものであればよく、逆方向のデータ送信が可能である必要はない。
【００３０】
また、データ変換装置２０は、第１のデータ変換機能部２１と第２のデータ変換機能部２２を有する。そして、第１のデータ変換機能部２１は、第１のデータ変換手段であり、第１のポートをリスンして、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行う機能を有する。また、第２のデータ変換機能部２２は、第２のデータ変換手段であり、第１のポートとは異なる第２のポートをリスンして、そのポートで受信したデータに対して、第１のデータ変換機能部２１が取り扱うことのできる形式へのデータ変換を行って、その変換後のデータをループバックにより第１のポートに送信する機能を有する。
【００３１】
なお、第１のデータ変換機能部２１による処理後のデータは、外部に出力しても、データ変換装置２０の内部で別の用途に使用してもよい。
また、ここでいう「データの形式によらず」とは、アプリケーションが処理対象として認識するレベルでの形式を指すものである。装置間でデータを送受信する際には、通信プロトコルに従ってデータパケットに所定の形式のヘッダやフッタを付すことが行われるので、ポートに入力するデータ自体には、一部所定の形式であることが必要な部分もあるが、この部分のデータについては考慮しないものとする。
【００３２】
一方、情報処理装置１０は、送信データ生成部１１と通信制御部１２を備えている。そして、送信データ生成部１１は、データ変換装置２０に送信して処理させるデータを生成する機能を有し、通信制御部１２は、送信データ生成部１１が生成したデータを、データ変換装置２０の第１のポート又は第２のポートに送信する機能を有する。なお、データ変換装置２０のアドレス等の宛先情報は、通信制御部１２が参照できるように予め設定しておくようにする。
【００３３】
また、情報処理装置１０とデータ変換装置２０との間には、ファイアウォール５０を設け、予め定めた特定のポート以外のポートを使用した通信を遮断し、不正な通信を防止できるようにしている。すなわち、データ変換装置２０は、情報処理装置１０からファイアウォール５０越しにデータを受信することになる。そして、データ変換装置２０における第２のポートは、ファイアウォール５０において使用が許可されているポート、第１のポートは、ファイアウォール５０において使用が許可されていないポートである。
このため、情報処理装置１０からデータ変換装置２０にデータを送信しようとする場合、第１のポートに送信しようとすると、その送信はファイアウォール５０によって遮断されてしまう。一方、第２のポートに送信すれば、ファイアウォール５０を通過してデータ変換装置２０までデータを届けることができる。
【００３４】
ここで、ＨＴＴＰやＨＴＴＰＳ（HyperText Transfer Protocol Security）、あるいはＬＤＡＰ（Lightweight Directory Access Protocol），ＰＯＰ３（Post Office Protocol 3），ＳＭＴＰ（Simple Mail Transport Protocol），ＦＴＰ（File Transfer Protocol）のような通常よく使用されるプロトコルを用いた通信に使用されるポート、すなわちこれらのプロトコルを用いた通信に使用する旨が予約されているポートは、ファイアウォール５０において使用が許可されることが多いため、第２のポートとするに適する。
そして、データ変換装置２０の第２のポートにデータを送信する際には、そのポート番号と対応するプロトコルを使用し、データの形式も、そのプロトコルを用いた転送に適した形式とするとよい。第２のデータ変換機能部２２は、このデータを、第１のデータ変換機能部が取り扱うことのできる形式へ変換する機能を有し、変換後のデータを第１のポートにループバックする。
【００３５】
すると、第１のデータ変換機能部２１は、情報処理装置１０からのデータが初めから第１のポートに送信されてきたかの如く、第２のデータ変換機能部２２から送信されてきたデータを変換し、変換後のデータを出力することができる。
従って、データ変換装置２０によれば、情報処理装置１０から第１のポートにデータを送信できない環境下であっても、データ変換装置２０側で、ファイアウォールのない環境での使用を想定して設計した第１のデータ変換機能部２１に一切変更を加えることなく、また、ファイアウォール５０の設定を変更することもなく、情報処理装置１０から第２のポートに、そのポートへの送信に適した形式でデータを送信することにより、第１のポートにデータを送信した場合と同等な出力を得ることができる。
【００３６】
なお、図２に示すように、情報処理装置１０がデータ変換装置２０と同じファイアウォールの内側にあり、これらの間にファイアウォールがない場合も考えられる。
そして、このような場合には、情報処理装置１０からデータ変換装置２０の第１のポートに、第１のデータ変換機能部２１が取り扱うことのできる形式のデータを送信して処理させることも可能である。データ変換装置２０に第２のデータ変換機能部２２を設けたとしても、このような第１のデータ変換機能部２１の機能はいささかも妨げられることはない。従って、このような場合には、通信制御部１２に、第２のデータ変換機能部２２が取り扱うことのできる形式でのデータ送信を行う機能を設けなくても、データ変換装置２０に、変換後データの出力を行わせることができる。
【００３７】
ただし、第１のデータ変換機能部２１は、受信したデータの形式によらず特定のデータ変換を行うようにしている。従って、処理対象として想定している形式以外の形式のデータを受信してしまうと、変換処理が意味を成さないものとなり、出力が全く無意味なデータになってしまう。従って、情報処理装置１０の側で、送信先のポートに応じた適切な形式のデータをデータ変換装置２０に送信する必要がある。
【００３８】
第２のデータ変換機能部２２も、同様に受信したデータの形式によらず特定のデータ変換を行うようにしてもよい。しかし、第２のデータ変換機能部２２が処理するデータは、上述したようなＨＴＴＰやＨＴＴＰＳを始めとする、よく使用されるプロトコルを用いた転送に適した形式のデータとすることが好ましい。そして、このような形式のデータには、種々のパラメータを含め、データの内容を示すことがよく行われるため、このようなパラメータの値を参照し、その値に応じて処理の内容を変えるようにしてもよい。
例えば、基本処理として、ＨＴＴＰメッセージの所定のタグの中身を取り出す処理を行い、ＨＴＴＰメッセージ中に、その所定のタグの中身が圧縮されている旨の情報が含まれていた場合には、取り出したデータにさらに解凍処理を行う等である。
【００３９】
次に、図３に、上述したデータ変換装置２０のハードウェア構成を示す。
この図に示すように、データ変換装置２０は、ＣＰＵ１２１，ＲＯＭ１２２，ＲＡＭ１２３，不揮発性メモリ１２４，通信インタフェース（Ｉ／Ｆ）１２５を備え、これらがシステムバス１２６により接続されている。
【００４０】
そして、ＣＰＵ１２１は、データ変換装置２０全体を統括制御する制御手段であり、ＲＯＭ１２２や不揮発性メモリ１２４に記録された種々のプログラムを実行することにより、第１，第２のデータ変換手段等の各手段として機能し、この実施形態の特徴に係る種々の機能を実現する。
ＲＯＭ１２２は、不揮発性の記憶手段であり、ＣＰＵ１２１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１２２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
【００４１】
ＲＡＭ１２３は、一時的に使用するデータを記憶したり、ＣＰＵ１２１のワークメモリとして使用したりする記憶手段である。
不揮発性メモリ１２４は、フラッシュメモリやＨＤＤ（ハードディスクドライブ）等による書き換え可能な不揮発性記憶手段であり、ＣＰＵ１２１が実行するプログラムや、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶する。
【００４２】
通信Ｉ／Ｆ１２５は、データ変換装置２０をネットワークに接続するためのインタフェースであり、例えばイーサネット（登録商標）方式の通信を行うためのネットワークインタフェースとすることができる。そして、ネットワークを介して他の装置と通信を行う場合、この通信Ｉ／Ｆ１２５とＣＰＵ１２１とが通信手段として機能する。なお、通信Ｉ／Ｆ１２５は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数の通信Ｉ／Ｆ１２５を設けることも当然可能である。
【００４３】
なお、図３には示していないが、データ変換装置２０に、外部に対して通信以外の物理的な出力を行うためのエンジン部を設けてもよい。このエンジン部は、例えばデータ変換装置２０がレーザプリンタであれば、電子写真方式によるプリントエンジンであり、ＣＰＵ１２１がこれらの動作を適切に制御することにより、データ変換装置２０にプリント動作を実行させることができる。
また、情報処理装置１０のハードウェア構成も、図３に示したものと同様、ＣＰＵ，ＲＯＭ，ＲＡＭ，ＨＤＤ，通信Ｉ／Ｆを設けたものとすればよく、例えば公知のコンピュータを用いることができる。
【００４４】
そして、これらのハードウェアに、図１を用いて説明したような機能を実現させることにより、データ変換装置２０において、第１のデータ変換機能部２１が、処理するデータの取得をファイアウォール５０によって使用が許可されていない第１のポートから行う機能しか有しない場合でも、ファイアウォール５０の外側からデータ変換装置２０に対してデータを送信し、望みのデータを第１のデータ変換機能部２１に処理させ、最終的に第１のデータ変換機能部２１による変換後の形式のデータを出力させることができる。
【００４５】
また、この場合において、第１のデータ変換機能部２１がデータを受け取る受け口を、情報処理装置１０から受け取る場合と、第２のデータ変換機能部２２から受け取る場合とで共通化しているため、第１のデータ変換機能部２１（を実現するためのソフトウェアやハードウェア）が開発済みである場合、それ自体を改変する必要は全くない。そして、第２のデータ変換機能部２２を実現するためのソフトウェアやハードウェアを追加するだけで、データ変換装置２０に上述した機能を実現させることができる。
従って、データ変換装置２０が、ファイアウォールで使用が許可されているポートでデータを受信して第１のデータ変換機能部２１による処理に供することができるようにしつつ、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることができる。
【００４６】
なお、図４に示すように、データ変換機能部を多段に設け、順次、次段のデータ変換機能部で処理可能なデータ形式への変換を行って、そのデータ変換機能部がデータを受け付けるポートに、変換後のデータをループバックさせるようにしても、同様な効果を得ることができる。この場合、第１のデータ変換機能部２１以外の各データ変換機能部が、第２のデータ変換手段に該当する。また、最初にデータを受け付けるポート（図４では第３のポート）のみについて、ファイアウォール５０で使用が許可されていれば、その後の処理を問題なく行うことができる。また、図では３段だが、それ以上のデータ変換機能部を設けてよいことは、もちろんである。
【００４７】
そして、このようにした場合でも、情報処理装置１０側の通信制御部１２がプリントデータをデータ変換装置２０′に送信する際のポートを第３のポートとし、第３のデータ変換機能部２３が取り扱うことのできるデータ形式で送信を行うようにすれば、データ変換装置２０′の側では、各データ変換機能部がデータ変換を実行しつつ、最終的に第１のデータ変換機能部２１による変換後のデータを出力させることができる。
【００４８】
この場合において、多段の変換処理のうち、途中のデータ変換機能部と対応するポート（例えば図３における第２のポート）もファイアウォールで使用が許可されていれば、ここにデータを送信しても、対応する変換機能部以降の変換処理を実行させることも可能である。すなわち、多段の変換処理のうち、途中の工程から処理を開始させる制御も、情報処理装置１０側でデータ変換装置２０′にデータを送信する際のポートの選択により、可能である。
【００４９】
また、図５に示すように、データ変換装置２０″側で、複数のデータ変換機能部が、第１のデータ変換機能部２１が取り扱うことのできる形式へのデータ変換を行って、処理後のデータを第１のポートにループバックさせるような構成も可能である。このようにしても、最初にデータを受け付けるポート（図５では第２及び第３のポート）について、ファイアウォール５０で使用が許可されていれば、最終的に第１のデータ変換機能部２１による変換後のデータを出力させることができる。
図４のような構成は、データ変換を入れ子式に行う必要がある場合、図５のような構成は、第１のデータ変換機能部２１が処理できる形式にするまでのデータ変換は１度に１種類でよいが、複数の変換方式又はプロトコルに対応させたい場合に採用するとよい。もちろん、これらを組み合わせてもよい。
【００５０】
〔第２の実施形態：図６乃至図１４〕
次に、この発明のデータ変換システムの、より具体的な第２の実施形態について説明する。図６は、その第２の実施形態であるプリントシステムの構成を示す機能ブロック図である。なお、この図においては、ソフトウェアにより実現される機能を示すブロックに、そのソフトウェアの名称を付している。また、以後、説明の便宜のため、ＣＰＵがソフトウェアを実行することによって行う処理や動作を、そのソフトウェアが処理や動作を行うものとして説明することもある。
【００５１】
図６に示すように、このプリントシステムは、ＰＣ３０とプリンタ４０によって構成している。そして、これらはそれぞれ第１の実施形態の情報処理装置１０及びデータ変換装置２０に該当する。
そして、プリンタ４０は、第１のデータ変換手段としてプリンタアプリ４１を、第２のデータ変換手段としてＨＴＴＰ通信用アプリ４２及びＨＴＴＰＳ通信用アプリ４３を有する。
【００５２】
そして、プリンタアプリ４１は、第１のポートである９１００番ポートをリスンして、ここで何らかのデータを受信した場合、そのデータを特定のプリンタ言語で記載されたプリントデータとして取り扱い、そのプリントデータを、プリントエンジン４４にプリントを行わせるための画像データに変換する処理を行う。すなわち、背景技術の項で図２２を用いて説明したプリンタ９０のプリンタアプリ９１と同様な機能を有する。
【００５３】
また、ＨＴＴＰ通信用アプリ４２は、ＰＣ３０等の外部装置との間でＨＴＴＰを用いた通信を行う機能を有する。そして、第２のポートであるＨＴＴＰポート、より具体的には、８０番ポートや８０８０番ポート等、ＨＴＴＰを用いた通信に通常使用するポート、をリスンして、ここで何らかのデータを受信した場合、そのデータをＨＴＴＰメッセージとして取り扱い、その構造を解析すると共に、プリンタアプリ４１が取り扱うことができる形式のプリントデータが記載されているはずの特定のタグ内の要素を取り出す機能を有する。また、取り出したプリントデータをループバックにより９１００番ポートに送信する機能も有する。その他の機能を併せ持たせてもよいが、この点については後述する。
【００５４】
また、ＨＴＴＰＳ通信用アプリ４３は、使用するポートがＨＴＴＰＳポート、より具体的には４４３番ポートのようにＨＴＴＰＳを用いた通信に通常使用するポート、であり、通信に使用するプロトコルがＨＴＴＰＳであって、取り扱うＨＴＴＰメッセージが暗号化された状態で送信されてくるものであることを除けば、ＨＴＴＰ通信用アプリ４２と同様な機能を有する。
【００５５】
従って、プリンタ４０は、９１００番ポートで特定のプリンタ言語で記載されたプリントデータを受信した場合にそのプリントデータに基づいてプリントを行うことができると共に、それとは異なるＨＴＴＰポートやＨＴＴＰＳポートで、ＨＴＴＰメッセージ内に記載されたプリントデータを受信した場合には、ここからプリントデータを取り出した上で、そのプリントデータに基づいてプリントを行うことができる。
【００５６】
なお、プリンタアプリ４１は、受信するデータが特定の形式であることを前提にデータ変換処理を行うので、実際に受信したデータの形式がそれと異なる形式であった場合には、出力は無意味なデータになってしまう。しかし、このような構成としても、データの送信側を制御して正しい形式のデータを送信させるようにすれば問題なく動作するので、処理負荷の低減を考慮し、このような構成を採用している。
【００５７】
ＨＴＴＰ通信用アプリ４２及びＨＴＴＰＳ通信用アプリ４３についても、同様に、受信するデータが特定の形式であることを前提にデータ変換処理を行うようにしてもよい。
また、ＨＴＴＰ通信用アプリ４２及びＨＴＴＰＳ通信用アプリ４３は、デバイス組み込み用のＪａｖａ（登録商標）であるＪ２ＭＥ（Java 2 Micro Edition）を利用し、ＤＳＤＫ（Device Software Development Kit）の環境で動作するＤＳＤＫサーバアプリケーションとして作成することが考えられる。
【００５８】
また、プリンタ４０は、上記以外にも、省エネルギ制御部４５を備えており、一定時間何のデータも受信せず、かつプリント動作も行っていない場合に、自身を省エネルギモードに移行させるようにしている。そして、この状態では、消費エネルギを低減するため、プリンタ４０の各部の電源を遮断する等し、ＲＡＭに常駐させておくプログラムも、必要最低限のものとしている。
【００５９】
ただし、図６に示した範囲では、プリンタアプリ４１，ＨＴＴＰ通信用アプリ４２，ＨＴＴＰＳ通信用アプリ４３は共に重要なアプリであるので、省エネルギモードでも常駐させておくようにしており、省エネルギモードで機能が停止されるのは、プリントエンジン４４のみである。
【００６０】
そして、省エネルギ制御部４５は、プリントデータが送られてくるはずの９１００番ポートで何らかのデータを受信したり、図示しない操作部により何らかの操作を受け付ける等すると、プリンタ４０を通常動作モードに復帰させ、ＲＡＭから削除していたプログラムも、不揮発メモリから読み出して、再度実行可能な状態に戻すようにしている。
また、ＨＴＴＰポートやＨＴＴＰＳポートで何らかのデータを受信した場合については、ＨＴＴＰ通信用アプリ４２やＨＴＴＰＳ通信用アプリ４３が、９１００番ポートに自身を通常動作モードに復帰させるためのダミーのデータとして、例えばヘッダとフッタのみのプリントデータをループバック送信することにより、プリンタ４０を通常動作モードに復帰させることができるようにしている。
【００６１】
一方、ＰＣ３０には、アプリケーション３１とプリンタドライバ３２とポートモニタ３３を備えるが、このうち、アプリケーション３１とプリンタドライバ３２は、背景技術の項で図２２を用いて説明したＰＣ８０のアプリケーション８１及びプリンタドライバ８２と同様な機能を有する。
【００６２】
また、ポートモニタ３３は、標準スプーラ３４と拡張スプーラ３５を備えているが、このうち標準スプーラ３４の機能は、上記のＰＣ８０のポートモニタ８３の機能と同様なものである。すなわち、プリンタドライバ３２は、プリンタ言語形式に変換したプリントデータを、標準スプーラ３４のスプールディレクトリにスプールするようにし、標準スプーラ３４は、そのスプールディレクトリにスプールされたデータを、使用するプリンタのアドレスの、９１００番ポートに送信する機能を有する。
ＰＣ３０とプリンタ４０との間にファイアウォールがないか、あっても９１００番ポートの使用が許可されている場合には、この標準スプーラ３４を用いてプリンタ４０にプリントデータを送信し、プリントを行わせることも可能である。
【００６３】
しかし、後述のようにプリント指示時に拡張スプーラ３５を使用する旨が設定されているプリンタに対してプリントデータを送信する場合には、標準スプーラ３４のデータ送信機能を使用せず、標準スプーラ３４のスプールディレクトリにスプールされたデータは、拡張スプーラ３５のスプールディレクトリにスプールし直し、拡張スプーラ３５が、そのデータをプリンタ４０の所定のポートに送信するようにしている。
またこの時、ユーザの指定に応じて必要な場合には通信の暗号化を行うようにしている。そして、ここで暗号化を行わない場合は、ＨＴＴＰを用いてＨＴＴＰポートに送信し、暗号化を行う場合は、ＨＴＴＰＳを用いてＨＴＴＰＳポートに送信するようにしている。
【００６４】
以上のようなＰＣ３０とプリンタ４０のハードウェア構成は、第１の実施形態で図３を用いて説明したものと同様でよい。ただし、プリンタ４０は、エンジン部としてプリントエンジン４４を備えている。また、プリンタ４０は、コピーやファクシミリ通信等の機能を併せ持つデジタル複合機（ＭＦＰ）であってもよい。
【００６５】
ここで、図７に、プリンタ４０が取り扱うデータの形式を示す。
図７に示すように、プリンタ４０は、ＨＴＴＰポート又はＨＴＴＰＳポートで受信するデータがＨＴＴＰメッセージであることを想定して構成している。なお、ＨＴＴＰＳポートで受信するデータは、暗号化されており、復号化に必要な情報を記載したヘッダやフッタが記載されているが、復号化してしまえば、ＨＴＴＰメッセージとなる。
そして、このＨＴＴＰメッセージの中には、予め定めたタグでマークアップした種々の情報が記載され得る。
例えば、（ａ）に示す例では、ＨＴＴＰメッセージに、印刷属性データと、プリントデータファイルとを記載している。
【００６６】
このうち、プリントデータファイルは、プリンタアプリ４１が取り扱うことのできるプリンタ言語によるプリントデータをバイナリで記載したデータを含むファイルである。プリンタ言語としてＰＣＬ（Printer Control Language）６，ＰＣＬ５ｅ，ＲＰＣＳ等を用いる場合、バイナリのプリントデータに、ＰＪＬ（Printer Job Language）言語で記載したヘッダとフッタを付し、ここに、用紙サイズ、解像度等、プリントジョブの実行に関する情報のうち、画像データの内容に関わる情報を記載する。
【００６７】
そして、この例では、プリントデータファイルをＨＴＴＰメッセージ中からそのまま取り出すだけで、例えば、受信したＨＴＴＰメッセージのうち特定のタグでマークアップされている部分を取り出すだけで、受信したＨＴＴＰメッセージをプリンタアプリ４１が取り扱うことのできるデータに変換することができる。
【００６８】
また、印刷属性データは、なくてもよいデータであるが、両面印刷有無，集約印刷を行うならばその集約形式，ステープル処理有無，パンチ穴あけ有無等、プリントジョブの実行に関する情報のうち、画像データの内容には関わらない、プリンタ４０側での処理を指定する情報を示すデータである。そして、ＨＴＴＰ通信用アプリ４２及びＨＴＴＰＳ通信用アプリ４３は、このデータに基づき、ＰＪＬ言語の拡張ヘッダを生成し、ＨＴＴＰメッセージ中から取り出したプリントデータにマージして９１００番ポートにループバック送信することができる。
【００６９】
なお、印刷属性データは、ＰＪＬ言語の拡張ヘッダとしてＨＴＴＰメッセージ中に記載し、そのまま取り出してプリントデータにマージできるようにしても、パラメータの羅列としてＨＴＴＰメッセージ中に記載し、プリンタ４０側でこれをＰＪＬ言語に変換してもよいが、ここでは後者の方式を採用している。この方が、プリンタ４０側で実行できない機能に係る設定、例えば両面ユニットがない場合の両面印刷設定等、をプリンタ４０側の判断で排除できるため、好ましい。
また、印刷属性データや、その中の細分化された項目をそれぞれタグによりマークアップしておけば、印刷属性データに関する処理を行う必要がない場合には、単にタグの内容を読み飛ばすようにすることにより、処理を簡略化することができる。
【００７０】
一方、（ｂ）に示す例では、ＨＴＴＰメッセージに、印刷属性データと、印刷内容ファイルとを記載している。
このうち、印刷内容ファイルは、プリンタ４０にプリントさせる画像の内容を、ＰＤＦ（Portable Document Format）やＰＳ（PostScript）といったページ記述言語で記載したり、プリントさせる情報の内容をＸＭＬ（eXtensible Markup Language）といった構造化言語により記載したりしたデータを含むファイルである。
【００７１】
そして、ＨＴＴＰ通信用アプリ４２及びＨＴＴＰＳ通信用アプリ４３には、このような印刷内容ファイルを含むＨＴＴＰメッセージを受信した場合に、印刷内容ファイルの内容を解釈し、その内容に基づき、プリントすべき画像の内容を、プリンタアプリ４１が取り扱うことのできるプリンタ言語によるプリントデータに変換する機能を持たせることができる。これは、ＰＤＦやＰＳといった特定の形式のデータのみ処理可能な機能でもよいし、複数の形式を識別して、各々に対し適切な処理が可能な機能としてもよい。
【００７２】
ただし、このような機能によりプリントデータを生成したとしても、もとの印刷内容ファイルにＰＪＬ言語によるヘッダやフッタが含まれていなければ、変換後のデータにもヘッダやフッタは含まれない。そこで、デフォルトのヘッダ及びフッタを自動生成して変換後のプリントデータに付すようにするとよい。
また、ＨＴＴＰメッセージに印刷属性データが含まれていれば、（ａ）の場合と同様にＰＪＬ言語の拡張ヘッダを生成し、これを変換後のプリントデータに付すことができる。この場合には、自動生成するのはフッタのみでよい。
【００７３】
次に、図８に、図６に示したＰＣ３０及びプリンタ４０を設置する環境の例を示す。
会社等においてネットワーク環境を構築する場合、外部からのアクセスを許可するサーバ６０ａ〜６０ｃは、社内環境と社外環境の双方からファイアウォール５０ｅにより隔離したＤＭＺと呼ばれる領域に設けることは広く行われている。
そして、近年においては、社内環境においても、拠点毎、部署毎、フロア毎といった環境毎にファイアウォール５０ａ〜５０ｄを設け、セキュリティの強化を図ることが行われるようになっている。図６に示したＰＣ３０及びプリンタ４０は、ＰＣ３０ａ〜３０ｄ，プリンタ４０ａ〜４０ｄのようにファイアウォール５０ａ〜５０ｄの内側に配置される。このような配置は必須ではないが、少なくともプリンタ４０については、このような位置に配置される場合に効果を発揮する。
【００７４】
すなわち、ファイアウォール５０ａ〜５０ｄは、ＨＴＴＰやＨＴＴＰＳといった通常良く使用されるプロトコルでの通信に使用するポートの使用は許可するが、９１００番ポートのように、機種依存のプロトコルでの通信に使用するポートの使用は許可しない設定となっていることが多い。従って、各環境においてプリンタ４０（包括的に指す場合には符号のアルファベットは省略する）がファイアウォール５０の内側に配置されている場合、同一環境内のＰＣ３０からのプリントデータは、９１００番ポートで直接受信できるが、他の環境内のＰＣ３０の場合には、９１００番ポートへの送信は、ファイアウォール５０により遮断されてしまう。
【００７５】
しかし、図６を用いて説明したようなＨＴＴＰ通信用アプリ４２及びＨＴＴＰＳ通信用アプリ４３を設け、ＨＴＴＰやＨＴＴＰＳといった、ファイアウォール５０で使用を許可されているポートを使用するプロトコルでのプリントデータの送受信を可能にすれば、ファイアウォール５０が存在しても、それを越えてプリントデータを送信し、プリンタ４０にプリントを実行させることができるのである。また、この際に、プリンタアプリ４１やプリントエンジン４４については、９１００番ポートでプリントデータを受信するような従来の機種のものに、一切変更を加える必要がない。
【００７６】
次に、図９及び図１０に、ＰＣ３０において拡張スプーラ３５の設定に使用する画面の例を示す。これらの画面は、ＰＣ３０のディスプレイに表示させるＧＵＩ（グラフィカル・ユーザ・インタフェース）である。
図９は、プリンタにプリントを実行させる場合の、拡張スプーラ３５の使用並びに、通信の暗号化の有無を設定するための画面例である。
この設定画面１５０は、ＰＣ３０のＯＳ（オペレーティングシステム）にデバイスドライバとして拡張スプーラ３５が登録されている場合、ユーザが拡張スプーラ３５を使用したプリントの設定を行おうとすると、その拡張スプーラ３５の機能により表示されるものである。
【００７７】
そして、この画面においては、ユーザがプロトコル選択部１５１でプリント時のプリントデータ転送に使用するプロトコルを選択し、検索ボタン１５２を押下すると、ＰＣ３０がＯＳの機能によりブロードキャストを行って、使用可能なプリンタを検索し、プリンタ一覧部１５３にその情報を表示する。また、ファイアウォール５０を越える別環境にあるプリンタの情報については、サーバ６０等に機器リストを登録しておき、これを参照して情報を表示するようにしてもよい。図の例では、プリンタ一覧部１５３にプリンタの機種と、プリンタ個別のＩＤと、プリンタのＩＰ（Internet Protocol）アドレスを表示するようにしているが、これに限られるものではない。
【００７８】
そして、ユーザがカーソル１５４を合わせてプリンタ一覧部１５３からいずれかのプリンタを選択し、ＯＫボタン１５６を押下すると、そのプリンタにプリントを指示するためのポートが作成され、ＯＳに、そのプリンタにプリントを指示する際に、拡張スプーラ３５を使用する旨が設定される。また、そのプリンタにデータを送信する際のＩＰアドレスも設定される。またこのとき、チェックボックス１５５にチェックが入っていた場合、プリントデータの転送を、ＨＴＴＰＳプロトコルにより暗号化してＨＴＴＰＳポートに対して行う旨も設定される。また、キャンセルボタン１５７が押下された場合には、設定は行わずにこの画面を閉じる。
【００７９】
また、図１０は、上記の設定画面１５０により拡張スプーラ３５の使用を設定したプリンタにつき、プリントに使用するポートの設定の状態の参照を指示した場合に表示される画面例である。
そして、この参照画面１６０では、画面のタイトル１６１により、拡張スプーラ３５を使用することがわかり、ポート番号表示部１６２により、プリンタにデータを送信する際にどのポートに送信するかを確認することができる。また、チェックボックス１６３により、通信の暗号化を行うか否かも確認することができる。
【００８０】
ここでは、通信の暗号化を行うため、送信先のポートは４４３番としている。しかし、プリンタ側の設定に応じて、この内容は変更可能である。また、通信の暗号化をしない旨が設定された場合、送信先のポートを自動的に８０番又は８０８０番に変更するようにしてもよい。
【００８１】
次に、図１１乃至図１４を用いて、図６に示したプリントシステムにおいてＰＣ３０及びプリンタ４０が実行する、この実施形態の特徴に係る処理について説明する。この処理については、種々のバリエーションが考えられるが、ここでは、ＰＣ３０からプリンタ４０に、図７（ａ）に示したようなＨＴＴＰメッセージを送信することを前提とした場合の処理例を示す。
【００８２】
まず、図１１に、ＰＣ３０側で実行する処理のフローチャートを示す。
この処理は、ＰＣ３０において、拡張スプーラ３５を利用する旨が設定されているプリンタでのプリントが指示された場合に、ＣＰＵがプリンタドライバ及び拡張スプーラ３５を実行することにより行うものである。
【００８３】
この処理においてはまず、ステップＳ１１で、プリンタドライバが、標準スプーラ３４のスプールディレクトリに、印刷内容を示すプリントデータをスプールする。
その後、ステップＳ１２で、スプールしたプリントデータと、プリント指示時に指定された拡張印刷属性（図７に示した印刷属性データとして記載すべき項目の属性）に基づく印刷属性データとを含むＨＴＴＰメッセージを生成し、ステップＳ１３で、作成したＨＴＴＰメッセージを拡張スプーラ３５のスプールディレクトリにスプールする。
【００８４】
そして、ステップＳ１４で、通信を暗号化する旨の設定がなされているか否か判断する。
ここで暗号化しない旨が設定されていれば、ステップＳ１５に進み、拡張スプーラ３５のスプールディレクトリにスプールしたＨＴＴＰメッセージを、ＨＴＴＰプロトコルによりプリンタ４０のアドレスのＨＴＴＰポート（送信先として設定されているポート）に送信し、処理を終了する。
【００８５】
また、ステップＳ１４で暗号化する旨が設定されていれば、ステップＳ１６に進み、拡張スプーラ３５のスプールディレクトリにスプールしたＨＴＴＰメッセージを、ＨＴＴＰＳプロトコルによりプリンタ４０のアドレスのＨＴＴＰＳポート（送信先として設定されているポート）に送信し、処理を終了する。
なお、これらの送信は、４０９６バイトずつ等、所定サイズ毎に行ってもよい。
【００８６】
以上の処理により、プリントデータを、プリンタ４０のＨＴＴＰ通信用アプリ４２が処理できる形式で送信する場合には、ＨＴＴＰ通信用アプリ４２がリスンしているポートに、ＨＴＴＰＳ通信用アプリ４３が処理できる形式で送信する場合には、ＨＴＴＰＳ通信用アプリ４３がリスンしているポートに送信することができる。
従って、プリンタ４０側で各データを適切に処理させることができる。
【００８７】
次に、図１２に、プリンタ４０側でＣＰＵがＨＴＴＰ通信用アプリ４２により実行する処理のフローチャートを示す。
ＣＰＵは、プリンタ４０が起動されると、ＨＴＴＰ通信用アプリ４２を実行することにより、図１２のフローチャートに示す処理を開始する。
【００８８】
そして、ステップＳ２１でＨＴＴＰ通信用アプリ４２をＨＴＴＰポートにバインドし、このポートをリスンする状態にする。そして、ステップＳ２２及びＳ２３でそのＨＴＴＰポートへの接続を待つ。
その後、ＰＣ３０等の外部クライアントからあるいはローカルのループバック等により接続要求に係るデータを受信すると、ステップＳ２３からステップＳ２４に進んでその接続を許可すると共に、ステップＳ２５でローカルホストの９１００番ポートに接続要求を行って、接続許可を受ける。
【００８９】
そして、ステップＳ２６で、ローカルホストの９１００番ポートにダミーデータを送信し、プリンタ４０が省エネルギモードであれば、通常動作モードに復帰させる。
その後、ステップＳ２７で、ＨＴＴＰポートでＨＴＴＰメッセージを受信し、それをバッファに蓄積しつつ、その蓄積したＨＴＴＰメッセージからプリントデータを抽出する。
そして、ステップＳ２８で、受信したデータ中に印刷属性データがあったか否か判断し、あれば、ステップＳ２９でその印刷属性データからＰＪＬ言語の拡張ヘッダを生成して、ステップＳ２７で抽出したプリントデータにマージし、ステップＳ３０以下に進む。なければそのままステップＳ３０以下に進む。
【００９０】
ステップＳ３０では、クライアントからの通信切断、ステップＳ２７での抽出処理エラーのいずれかが起こったか否か判断する。ここで、抽出処理エラーは、抽出に使用したライブラリから処理結果としてエラーが返された場合である。プリントデータとして抽出されたデータが不適当な形式のデータであっても、エラーとはならない。
そして、ステップＳ３０で上記のいずれも起こっていなければ、ステップＳ３１で、抽出したプリントデータを、マージした拡張ヘッダも含めてローカルホストの９１００番ポートに送信する。その送信は、データの切れ目を意識せずに４０９６バイトずつ等の所定サイズずつ行えばよい。また、一度に送信するサイズは、ＰＣ３０から直接９１００番ポートにプリントデータを送信する場合と同じサイズとするとよい。
【００９１】
その後、ステップＳ３２で、プリントデータの抽出及び９１００番ポートへの送信が完了したか否か判断し、完了していなければステップＳ２７に戻って処理を繰り返し、完了していれば、ステップＳ３３に進んで通信を切断し、ステップＳ２２に戻る。
また、ステップＳ３０でＹＥＳの場合も、ステップＳ３３に進んで通信を切断し、ステップＳ２２に戻る。
【００９２】
以上の処理により、プリンタ４０は、ＨＴＴＰポートに受信したデータであるＨＴＴＰメッセージに対し、プリンタアプリ４１が処理できる形式のデータとするための特定の変換処理を行い、その処理後のデータを９１００番ポートに送信することができる。この変換処理は、ここでは受信したデータの形式によらず同じ処理としているが、適切な形式のデータを受信していれば、出力は、プリンタアプリ４１が処理できる形式のプリントデータとなる。なお、ステップＳ２８及びＳ２９の処理は、行わなくてもよい。
【００９３】
次に、図１３に、プリンタ４０側でＣＰＵがＨＴＴＰＳ通信用アプリ４３により実行する処理のフローチャートを示す。
ＣＰＵは、プリンタ４０が起動されると、ＨＴＴＰＳ通信用アプリ４３を実行することにより、図１３のフローチャートに示す処理を開始する。
ただし、この処理は、図１２に示した処理と概ね同様なものであり、リスンするポートがＨＴＴＰＳポートである点（Ｓ４１，Ｓ４２）、受信したＨＴＴＰメッセージを復号化する点（Ｓ４７）が異なるのみであるので、詳細な説明は省略する。
そして、この処理により、プリンタ４０は、ＨＴＴＰＳポートに受信したデータである暗号化されたＨＴＴＰメッセージに対し、プリンタアプリ４１が処理できる形式のデータとするための特定の変換処理を行い、その処理後のデータを９１００番ポートに送信することができる。
【００９４】
次に、図１４に、プリンタ４０側でＣＰＵがプリンタアプリ４１により実行する処理のフローチャートを示す。
ＣＰＵは、プリンタ４０が起動されると、プリンタアプリ４１を実行することにより、図１４のフローチャートに示す処理を開始する。
そして、ステップＳ６１でプリンタアプリ４１を９１００番ポートにバインドし、このポートをリスンする状態にする。そして、ステップＳ６２及びＳ６３でその９１００番ポートへの接続を待つ。
【００９５】
その後、ＰＣ３０等の外部クライアントあるいはローカルのループバック等により接続要求があると、ステップＳ６３からステップＳ６４に進んでその接続を許可する。
そして、ステップＳ６５で、９１００番ポートでデータを受信し、それをバッファに蓄積しつつ、その蓄積したデータをもとに、画像メモリに画像データを描画して、プリントエンジン４４にその画像データに基づくプリントを指示する。
そして、ステップＳ６６で、クライアントからの通信切断、ステップＳ６５での描画処理エラー、描画完了のいずれかが起こるまでステップＳ６５に戻って処理を繰り返す。そして、いずれかが起こるとステップＳ６７で通信を切断し、ステップＳ６２に戻って処理を繰り返す。
【００９６】
以上の処理により、プリンタ４０は、９１００番ポートに受信したデータを、プリントエンジン４３を駆動するための画像データに変換するための特定の描画処理を行い、その処理後のデータに基づいてプリントエンジン４４にプリントを実行させることができる。この処理は、データの送信元がＰＣ３０であっても、ＨＴＴＰ通信用アプリ４２やＨＴＴＰＳ通信用アプリ４３であっても、共通に行うようにしている。また、描画処理は、受信したデータの形式によらず同じ処理を行うが、適切な形式のデータを受信していれば、描画により、形成すべき画像の内容を示す画像データを得ることができる。
なお、このフローチャートに示した処理は、従来のプリンタに備えるプリントエンジンの場合と同様なものでよい。
【００９７】
以上説明してきたようなプリントシステムによれば、ＰＣ及びプリンタに、以上説明してきたような機能を実現させることにより、プリンタ４０において、プリンタアプリがファイアウォールによって使用が許可されていないポートでしかプリントデータを受信できない場合でも、ＰＣ３０からプリンタ４０に対してファイアウォールで使用が許可されているポートにプリントデータを送信し、そのデータに基づくプリントを行わせることができる。
【００９８】
また、この場合において、プリンタアプリ４１がデータを受け取る受け口を、ＰＣ３０から受け取る場合と、ＨＴＴＰ通信用アプリ４２やＨＴＴＰＳ通信用アプリ４３から受け取る場合とで共通化しているため、従来からあるプリンタアプリ４１を改変する必要は全くない。そして、ＨＴＴＰ通信用アプリ４２やＨＴＴＰＳ通信用アプリ４３を追加し、必要な設定を行うだけで、プリンタ４０に上述した機能を実現させることができる。また、ＰＣ３０側においても、従来の構成を変更することなく、新たに拡張スプーラ３５をインストールし、プリンタ４０にプリントを指示する場合にその拡張スプーラ３５を使用してプリントデータを送信する旨を設定するのみでよい。
【００９９】
従って、既存の資源を有効に利用し、少ない開発工数で、ファイアウォールを越えてプリントデータを転送可能なプリントシステムを開発することができる。また、プリンタ４０側では、プリンタアプリ４１が受信したデータに対しては、特定の処理を行うようにしているので、一般にハードウェア資源の制約が厳しいプリンタ４０の側での処理負荷を低減すると共に、この点でもアプリの開発工数を低減することができる。ＨＴＴＰ通信用アプリ４２やＨＴＴＰＳ通信用アプリ４３が受信したデータについても同様な取扱いをするようにすれば、さらに大きな効果を得ることができる。
【０１００】
〔第２の実施形態の変形例：図１５乃至図２１〕
次に、以上説明してきた第２の実施形態のプリントシステムの変形例について説明する。
第２の実施形態においては、主としてＨＴＴＰメッセージにプリンタ言語で記述されたプリントデータがそのまま記載されている例について説明したが、これに限られることはない。すなわち、プリントデータを、圧縮したり暗号化したりした状態でＨＴＴＰメッセージに記載するようにしてもよい。また、ＸＭＬ形式で定義された帳票データとして記載することも考えられる。
【０１０１】
図１５乃至図１７にこれらの場合のＨＴＴＰ通信用アプリ４２におけるデータの取扱い例を示す。
例えば、図１５に示すように圧縮したプリントデータをＨＴＴＰメッセージに記載した場合、ＨＴＴＰ通信用アプリ４２は、受信したＨＴＴＰメッセージから取り出した圧縮状態のプリントデータを解凍して９１００番ポートにループバック送信する。
このようにすることにより、ＰＣ３０からプリンタ４０に送信するデータのサイズを低減し、データ転送速度が遅い場合には、全体としてプリントまでの時間を短縮できる。
【０１０２】
また、図１６に示すように暗号化したプリントデータをＨＴＴＰメッセージに記載した場合、ＨＴＴＰ通信用アプリ４２は、受信したＨＴＴＰメッセージから取り出した暗号化状態のプリントデータを復号化して９１００番ポートにループバック送信する。
このようにすることにより、ＨＴＴＰＳプロトコルを使用しなくても、転送するデータを暗号化してセキュリティを向上させることができる。
【０１０３】
また、図１７に示すようにＸＭＬ形式で定義された帳票データ等をそのままＨＴＴＰメッセージに記載した場合、ＨＴＴＰ通信用アプリ４２は、受信したＨＴＴＰメッセージから取り出した帳票データをプリンタ言語形式のプリントデータに変換して９１００番ポートにループバック送信する。
このようにすれば、ＰＣ３０側にプリンタドライバを設けなくても、プリンタ４０にプリントを行わせることが可能になる。従って、多数のクライアントがプリンタ４０を共用する場合等には、各クライアントに個別にプリンタドライバをインストールすることが不要になり、管理の負担を軽減することができる。
【０１０４】
また、ＰＤＡ（携帯情報端末）や携帯電話のように、持ち歩く端末では、常に適切なドライバを設定しておくことが難しいし、ＣＰＵの処理能力も比較的小さいと考えられるので、このような場合にはプリンタ４０の側にプリンタドライバの機能を持たせることが特に有効と考えられる。
なお、ＨＴＴＰメッセージに、プリントデータの記載形式（圧縮、暗号化、ＸＭＬ形式等）を記載しておき、ＨＴＴＰ通信用アプリ４２が受信したＨＴＴＰメッセージからまずその記載形式のデータを読み取り、その内容に応じた処理を選択して実行するようにしてもよい。
【０１０５】
また、ＨＴＴＰＳを利用する場合も、同様にプリントデータを圧縮した状態やＸＭＬ形式の状態等でＨＴＴＰメッセージに記載してもよい。暗号化についても、ＨＴＴＰＳプロトコルによる暗号化と重複するため、意味は薄いが、可能である。
図１８に、図１５と対応する例を示す。
【０１０６】
また、第１の実施形態で図４を用いて説明した例と対応するものとして、複数段のデータ変換処理により、プリンタアプリ４１が対応しているプリンタ言語形式のプリントデータを生成して９１００番ポートに転送するようにすることも考えられる。
図１９にこのようにする場合のプリントシステムの機能ブロック図の例を示す。
この例においては、プリンタ４０′には、ＨＴＴＰＳ通信用アプリ４３は省略したが、図５のプリンタ４０の構成に加え、解凍アプリ４６を設け、９２００番ポートで受信したデータに対し、特定の復号化処理を行って、その結果を９１００番ポートに送信するようにしている。そして、ＨＴＴＰ通信用アプリ４２′は、受信したＨＴＴＰメッセージから圧縮状態のプリントデータを取り出して、これを９２００番ポートに送信するようにしている。
【０１０７】
そして、ＰＣ３０側では、プリントデータに圧縮処理を施し、このデータをＨＴＴＰメッセージに記載してプリンタ４０′のＨＴＴＰポートに送信すると、プリンタ４０′側で解凍処理を行わせ、プリントデータに基づくプリントを行わせることができる。すなわち、図１５を用いて説明した場合と同様な処理が可能である。
そして、この場合、ＨＴＴＰ通信用アプリ４２′にはプリントデータを解凍する機能を設けなくてよく、また、解凍アプリ４６には単に受信したデータに対して特定の解凍処理を行って９１００番ポートにループバック送信する機能を設ければよい。従って、各アプリの構成を単純化し、開発工数の低減やコストダウンを図ることができる。
【０１０８】
また、図２０に別の例を示すが、この図に示すプリンタ４０″に備えるＨＴＴＰ通信用アプリ４２″のように、受信したＨＴＴＰリクエストに記載されていたプリントデータが圧縮されているかいないかに応じて、ループバック送信先を変えることができるようにしてもよい。このようにすれば、ＰＣ３０から送信されてくるプリントデータの形式が場合によって異なっても、プリンタ４０″側でこれを振り分けて適切に処理し、プリントデータに基づくプリントを行うことができる。
【０１０９】
もちろん、復号化機能を有するアプリや、ＸＭＬ形式の帳票データをプリントデータに変換する機能を有するアプリ等を設け、ＨＴＴＰメッセージに含まれるデータの形式に応じ、これらのアプリがリスンするポートにループバック送信できるようにすることも考えられる。
また、プリンタ４０にプリントデータを送信する装置の具体例としては、以上説明してきたようなＰＣ３０以外にも、例えばスキャナやＭＦＰ等の画像機器（画像処理装置）が考えられる。
【０１１０】
図２１に、この場合のプリントシステムの構成例を示す。
この図に示す画像機器７０は、操作パネル７１及びスキャナエンジン７３を備え、スキャナアプリ７２によって操作パネル７１からの指示を検出してそれに従ってスキャナエンジン７３を駆動し、ＡＤＦ（自動原稿給装装置）やコンタクトガラス上に載置された原稿の画像を読み取って画像データを得る。
【０１１１】
そして、スキャナエンジン７３は、その画像データをプリンタドライバ７４に渡し、以後、その画像データに係る画像をプリントさせるためのプリントデータを、ＰＣ３０の場合と同様に、標準スプーラ７６と拡張スプーラ７７を備えるポートモニタ７５により、プリントを実行させるプリンタ４０の適当なポートに、適当なプロトコルで送信し、プリントを行わせる。どのアドレスのプリンタにどのプロトコルで送信するかは、操作パネル７１からの操作により指定することができる。
このようにプリントシステムを構成することにより、スキャナエンジン７３で読み取った画像をプリンタ４０にプリントさせることができ、全体として、画像機器７０とプリンタ４０が近くにあればコピー機、遠くにあればファクシミリ装置のような動作を行わせることができる。
【０１１２】
また、ＰＣ３０や画像機器７０がプリンタ４０に送信するプリントデータは、送信側で自ら作成したものでなくてもよく、他の装置から受信した印刷要求に含まれるプリントデータを転送するものでもよい。また、この場合に、図７に示したような印刷属性データを付加して転送するようにしてもよい。
【０１１３】
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び変形例において、装置やシステムの構成、具体的な処理内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、通信経路として、ネットワーク以外にも、パラレルケーブルを介した通信経路を用いることも考えられる。
【０１１４】
また、プリンタアプリ４１に、処理中にデータが不正な内容であることを認識した場合（正しい形式のデータであればありえない形式でデータが並んでいた場合等）に、エラーと認識し、プリントを中止する機能を設けてもよい。このようにすれば、誤ったデータに基づいて無駄なプリントを行ってしまうことを防止できる。
また、この発明はプリンタのような画像形成装置以外のデータ変換装置にも適用できることはもちろんである。その具体例としては、帳票システムや発券システム等の業務システム、テレビ・ビデオ・ラジオ等の記録装置や出力装置等が挙げられる。
さらに、以上説明してきた実施形態や変形例の構成は、矛盾しない範囲で適宜組み合わせることもできる。
【０１１５】
また、この発明によるプログラムは、コンピュータに受信したデータの形式を変換するデータ変換装置を制御させ、上述したデータ変換装置２０のような装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【０１１６】
以上説明してきたように、この発明のデータ変換装置、データ変換システム、データ変換装置の制御方法、データ変換機能付加方法、プログラム又は記録媒体によれば、受信したデータに対してデータ変換を行う、ファイアウォール越しの通信に対応していないデータ変換装置を、容易にファイアウォール越しの通信に対応させられるようにすることができる。また、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることもできる
従って、この発明を適用することにより、処理の柔軟性が高いデータ変換装置を安価に提供することができる。
【図面の簡単な説明】
【０１１７】
【図１】この発明のデータ変換システムの第１の実施形態の構成を示す機能ブロック図である。
【図２】そのデータ変換システムにおいて、情報処理装置とデータ変換装置の間にファイアウォールがない状態での動作について説明するための図である。
【図３】図１に示したデータ変換装置のハードウェア構成を示す図である。
【図４】図１に示したシステムの変形例を示す機能ブロック図である。
【図５】その別の変形例を示す機能ブロック図である。
【０１１８】
【図６】この発明のデータ変換システムの第２の実施形態であるプリントシステムの構成を示す機能ブロック図である。
【図７】図５に示したシステムにおいてプリンタが取り扱うデータの形式を示す図である。
【図８】図６に示したＰＣ及びプリンタを設置する環境の例を示す図である。
【図９】図６に示したＰＣにおいて拡張スプーラの使用並びに、通信の暗号化の有無を設定するための画面例を示す図である。
【図１０】同じくプリントに使用するポートの設定の状態を参照する画面の例を示す図である。
【０１１９】
【図１１】図６に示したシステムにおいてＰＣ側で実行する処理のフローチャートである。
【図１２】同じくプリンタ側でＨＴＴＰ通信用アプリにより実行する処理のフローチャートである。
【図１３】同じくプリンタ側でＨＴＴＰＳ通信用アプリにより実行する処理のフローチャートである。
【図１４】同じくプリンタ側でプリンタアプリにより実行する処理のフローチャートである。
【図１５】第２の実施形態の変形例でのＨＴＴＰ通信用アプリにおけるデータの取扱い例を示す図である。
【０１２０】
【図１６】その別の例を示す図である。
【図１７】そのさらに別の例を示す図である。
【図１８】第２の実施形態の変形例でのＨＴＴＰＳ通信用アプリにおけるデータの取扱い例を示す図である。
【図１９】第２の実施形態の一変形例の構成を示す、図６と対応する図である。
【図２０】第２の実施形態の別の変形例の構成を示す、図６と対応する図である。
【図２１】第２の実施形態のさらに別の変形例の構成を示す、図６と対応する図である。
【図２２】従来のデータ変換装置の一例であるプリンタの機能構成を、そのプリンタにプリントを指示するＰＣの機能構成例と併せて示す図である。
【符号の説明】
【０１２１】
１０：情報処理装置、１１：送信データ生成部、１２：通信制御部、
２０：データ変換装置、２１：第１のデータ変換機能部、
２２：第２のデータ変換機能部、２３：第３のデータ変換機能部、
３０，８０：ＰＣ、３１，８１：アプリケーション、
３２，７４，８２：プリンタドライバ、３３，７５，８３：ポートモニタ、
３４，７６：標準スプーラ、３５，７７：拡張スプーラ、
４０，４０′，４０″，９０：プリンタ、４１，９１：プリンタアプリ、
４２，４２′，４２″：ＨＴＴＰ通信用アプリ、４３：ＨＴＴＰＳ通信用アプリ、
４４，９３：プリントエンジン、４５：省エネルギ制御部、４６：解凍アプリ、
５０：ファイアウォール
【図１】
2007080227.tif 000003
【図２】
2007080227.tif 000004
【図３】
2007080227.tif 000005
【図４】
2007080227.tif 000006
【図５】
2007080227.tif 000007
【図６】
2007080227.tif 000008
【図７】
2007080227.tif 000009
【図８】
2007080227.tif 000010
【図９】
2007080227.tif 000011
【図１０】
2007080227.tif 000012
【図１１】
2007080227.tif 000013
【図１２】
2007080227.tif 000014
【図１３】
2007080227.tif 000015
【図１４】
2007080227.tif 000016
【図１５】
2007080227.tif 000017
【図１６】
2007080227.tif 000018
【図１７】
2007080227.tif 000019
【図１８】
2007080227.tif 000020
【図１９】
2007080227.tif 000021
【図２０】
2007080227.tif 000022
【図２１】
2007080227.tif 000023
【図２２】
2007080227.tif 000024