(57)【要約】【目的】  受信したデータに対してデータ変換を行うデータ処理装置が、低い処理負荷で複数の形式のデータを処理し、初めのデータ形式によらず同じ処理結果を実現できるようにする。【構成】  データ処理装置２０に、自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理機能部２１と、自身の上記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、上記データ処理機能部２１が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの上記第１のポートに送信するデータ変換機能部２２とを設けた。【選択図】        図１
2006306021.tif 000002
【特許請求の範囲】
【請求項１】
自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、
自身の前記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、前記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの前記第１のポートに送信するデータ変換手段とを設けたことを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、
前記データ変換手段が、各々自身の前記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの前記第１のポートに送信する手段であることを特徴とするデータ処理装置。
【請求項３】
請求項１又は２記載のデータ処理装置であって、
自身を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段とを設けたことを特徴とするデータ処理装置。
【請求項４】
請求項１乃至３のいずれか一項記載のデータ処理装置であって、
前記データ処理手段が行うデータ処理は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ処理装置。
【請求項５】
請求項１乃至４のいずれか一項記載のデータ処理装置であって、
前記データ変換手段が行うデータ変換は、データの解凍、復号化、プリンタ言語変換のいずれかであることを特徴とするデータ処理装置。
【請求項６】
情報処理装置と、その情報処理装置から受信したデータを処理するデータ処理装置とを備えたデータ処理システムであって、
前記データ処理装置に、
自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、
自身の前記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、前記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの前記第１のポートに送信するデータ変換手段とを設け、
前記情報処理装置に、
前記データ処理装置にデータを送信する場合に、前記データ処理手段が処理できる形式のデータは前記第１のポートに送信し、前記データ処理手段が処理できない形式のデータは前記第２のポートに送信する手段を設けたことを特徴とするデータ処理システム。
【請求項７】
請求項６記載のデータ処理システムであって、
前記データ処理装置の前記データ変換手段が、各々自身の前記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの前記第１のポートに送信する手段であることを特徴とするデータ処理システム。
【請求項８】
請求項６又は７記載のデータ処理システムであって、
前記データ処理装置に、
自身を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段とを設け、
前記情報処理装置に、
前記データ処理装置の前記第２のポートにデータを送信する場合に、その前に前記第１のポートに、前記データ処理装置を通常動作モードに復帰させるためのダミーのデータを送信する手段を設けたことを特徴とするデータ処理システム。
【請求項９】
請求項６乃至８のいずれか一項記載のデータ処理システムであって、
前記データ処理装置において、
前記データ処理手段が行うデータ処理が、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ処理システム。
【請求項１０】
請求項６乃至９のいずれか一項記載のデータ処理システムであって、
前記データ処理装置において、
前記データ変換手段が行うデータ変換が、データの解凍、復号化、プリンタ言語変換のいずれかであることを特徴とするデータ処理システム。
【請求項１１】
受信したデータの形式を変換するデータ処理装置に、
自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手順と、
自身の前記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、前記データ処理手順で取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの前記第１のポートに送信するデータ変換手順とを実行させることを特徴とするデータ処理装置の制御方法。
【請求項１２】
請求項１１記載のデータ処理装置の制御方法であって、
前記データ変換手順が、各々の手順で自身の前記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手順で監視するポートに送信する複数の変換手順で複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記データ処理手順で取り扱うことのできる形式のデータに変換して、自身を示すアドレスの前記第１のポートに送信する手順であることを特徴とするデータ処理装置の制御方法。
【請求項１３】
請求項１１又は１２記載のデータ処理装置の制御方法であって、
前記データ処理装置に、
自身を省エネルギモードに移行させる手順と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手順とを実行させることを特徴とするデータ処理装置の制御方法。
【請求項１４】
請求項１１乃至１３のいずれか一項記載のデータ処理装置の制御方法であって、
前記データ処理手順で行うデータ処理が、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ処理装置の制御方法。
【請求項１５】
請求項１１乃至１４のいずれか一項記載のデータ処理装置の制御方法であって、
前記データ変換手順で行うデータ変換が、データの解凍、復号化、プリンタ言語変換のいずれかであることを特徴とするデータ処理装置の制御方法。
【請求項１６】
自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段を有するデータ処理装置に、
自身の前記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、前記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの前記第１のポートに送信するデータ変換手段を付加することを特徴とするデータ変換機能付加方法。
【請求項１７】
請求項１６記載のデータ変換機能付加方法であって、
前記データ変換手段が、各々自身の前記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの前記第１のポートに送信する手段であることを特徴とするデータ変換機能付加方法。
【請求項１８】
請求項１６又は１７記載のデータ変換機能付加方法であって、
前記データ処理装置が、
自身を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段とを有する装置であることを特徴とするデータ変換機能付加方法。
【請求項１９】
請求項１６乃至１８のいずれか一項記載のデータ変換機能付加方法であって、
前記データ処理手段が行うデータ処理は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ変換機能付加方法。
【請求項２０】
請求項１６乃至１９のいずれか一項記載のデータ変換機能付加方法であって、
前記データ変換手段が行うデータ変換は、データの解凍、復号化、プリンタ言語変換のいずれかであることを特徴とするデータ変換機能付加方法。
【請求項２１】
受信したデータの形式を変換するデータ処理装置を制御するコンピュータを、
自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、
自身の前記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、前記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの前記第１のポートに送信するデータ変換手段として機能させるためのプログラム。
【請求項２２】
請求項２１記載のプログラムであって、
前記データ変換手段が、各々自身の前記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第２のポートで受信したデータを前記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの前記第１のポートに送信する手段であることを特徴とするプログラム。
【請求項２３】
請求項２１又は２２記載のプログラムであって、
前記コンピュータを、
前記データ処理装置を省エネルギモードに移行させる手段と、
前記第１のポートで何らかのデータを受信した場合に前記データ処理装置を省エネルギモードから通常動作モードに復帰させる手段として機能させるためのプログラムをさらに含むことを特徴とするプログラム。
【請求項２４】
請求項２１乃至２３のいずれか一項記載のプログラムであって、
前記データ処理手段が行うデータ処理は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするプログラム。
【請求項２５】
請求項２１乃至２４のいずれか一項記載のプログラムであって、
前記データ変換手段が行うデータ変換は、データの解凍、復号化、プリンタ言語変換のいずれかであることを特徴とするプログラム。
【請求項２６】
請求項２１乃至２５のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、受信したデータを処理するデータ処理装置、このようなデータ処理装置と情報処理装置とを備えたデータ処理システム、このようなデータ処理装置の制御方法、このようなデータ処理装置に対するデータ変換機能付加方法、コンピュータにこのようなデータ処理装置を制御させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、特定のポートをリスン（監視）して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理装置が知られている。
そして、このようなデータ処理装置の具体例としては、例えば、ＰＣ（パーソナルコンピュータ）から受信したプリントデータに基づいて印刷を行うプリンタが挙げられる。
【０００３】
図２１に、このようなＰＣとプリンタの機能構成を示す。
この図に示すように、ＰＣ８０には、一般的に、ワードプロセッサや表計算、ドローイングを始めとする種々の機能を実現するためのアプリケーション（アプリ）８１を備えており、ユーザは、このアプリケーション８１で取り扱う文書や図等をプリントするために、アプリケーション８１に対して印刷の指示を行う。
【０００４】
また、ＰＣ８０には、アプリケーション８１が出力する、プリントすべき画像の内容を、プリンタ９０が処理できる形式のプリンタ言語で記載されたプリントデータ（プリント言語形式のプリントデータ）に変換するプリンタドライバ８２を備えている。そして、アプリケーション８１は、ユーザが印刷を指示した場合に、指定されたプリンタと対応するプリンタドライバ８２に、出力する画像の内容を示すデータを渡し、プリンタドライバ８２が、そのデータを、ユーザが指定したプリンタが処理できる形式のプリントデータに変換して図示しないスプールディレクトリにスプールする。
【０００５】
ポートモニタ８３は、ＰＣ８０とプリンタ９０との間のデータの転送を行うプログラムであり、スプールディレクトリにスプールされたデータを、使用するプリンタのアドレスの、９１００番ポートに送信する。このポートは、プリンタ９０がプリントデータの受信に使用するポートであり、プリンタ９０が通信に使用するプロトコルにより定められるものである。
【０００６】
一方、プリンタ９０には、実際にプリント動作を行うエンジン部であるプリントエンジン９３と、プリンタアプリ９１とを備えている。
そして、プリンタアプリ９１は、起動している間は常に９１００番ポートをリスンし、ここにデータが送られてくると、そのデータが特定のプリンタ言語で記載されたプリントデータであることを前提に、そのプリントデータを、プリントエンジン９３にプリントを行わせるための画像データに変換する。この処理は、例えばプリントデータに基づいて画像メモリに描画を行い、ビットマップ形式の画像データを生成する処理である。そして、その画像データに基づいてプリントエンジン９３を駆動することにより、用紙上に、受信したプリントデータに基づく画像を形成させることができる。
【０００７】
この場合において、プリンタアプリ９１は、開発効率向上や処理負荷低減の観点から、受信したデータの形式はチェックせず、どのようなデータを受信した場合でも、同じように処理を行うようにすることが行われている。そして、このようにした場合でも、データの送信元のＰＣの側でプリンタアプリ９１が処理できるような形式のデータを送信するような制御を確実に行えば、プリンタ９０を問題なく動作させることができる。
このようなプリンタについては、例えば特許文献１に記載されている。
【特許文献１】特開２００４−２５２９８４号公報、段落００６１
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のプリンタ９０の場合のように、受け手の装置が特定の形式のデータしか処理できない場合、データを送信する側も、その形式でデータを送信しなければならない。従って、送信するデータを圧縮して容量を低減し、転送速度を向上させたり、暗号化してセキュリティの向上を図ったりすることができないという問題があった。
また、このような問題を解決するために、受け手側の装置が、受信したデータの形式を判断してそれに応じた変換処理を行うことができるようにすることも考えられる。しかし、このようにすると、処理負荷が大きくなるし、既存のアプリケーションを大幅に修正しなければならないため、開発の負担も大きいという問題があった。
【０００９】
このような問題は、上述したプリンタ９０に限らず、受信したデータに対してそのデータの形式によらず特定のデータ処理を行うようなデータ処理装置について、同様に存在する問題である。
この発明は、このような問題を解決し、受信したデータに対してデータ処理を行うデータ処理装置が、低い処理負荷で複数の形式のデータを処理し、初めのデータ形式によらず同じ処理結果を実現できるようにすることを目的とする。また、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることも目的とする。
【課題を解決するための手段】
【００１０】
この発明のデータ処理装置は、上記の目的を達成するため、自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、自身の上記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、上記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの上記第１のポートに送信するデータ変換手段とを設けたものである。
【００１１】
このようなデータ処理装置において、上記データ変換手段を、各々自身の上記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの上記第１のポートに送信する手段とするとよい。
【００１２】
さらに、自身を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段とを設けるとよい。
さらにまた、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換のいずれかとしてもよい。
【００１３】
また、この発明のデータ処理システムは、情報処理装置と、その情報処理装置から受信したデータを処理するデータ処理装置とを備えたデータ処理システムにおいて、上記データ処理装置に、自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、自身の上記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、上記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの上記第１のポートに送信するデータ変換手段とを設け、上記情報処理装置に、上記データ処理装置にデータを送信する場合に、上記データ処理手段が処理できる形式のデータは上記第１のポートに送信し、上記データ処理手段が処理できない形式のデータは上記第２のポートに送信する手段を設けたものである。
【００１４】
このようなデータ処理システムにおいて、上記データ処理装置の上記データ変換手段を、各々自身の上記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの上記第１のポートに送信する手段とするとよい。
【００１５】
さらに、上記データ処理装置に、自身を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段とを設け、上記情報処理装置に、上記データ処理装置の上記第２のポートにデータを送信する場合に、その前に上記第１のポートに、上記データ処理装置を通常動作モードに復帰させるためのダミーのデータを送信する手段を設けるとよい。
さらに、上記データ処理装置において、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換のいずれかとしてもよい。
【００１６】
また、この発明のデータ処理装置の制御方法は、受信したデータの形式を変換するデータ処理装置に、自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手順と、自身の上記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、上記データ処理手順で取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの上記第１のポートに送信するデータ変換手順とを実行させるものである。
【００１７】
このようなデータ処理装置の制御方法において、上記データ変換手順を、各々の手順で自身の上記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手順で監視するポートに送信する複数の変換手順で複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記データ処理手順で取り扱うことのできる形式のデータに変換して、自身を示すアドレスの上記第１のポートに送信する手順とするとよい。
【００１８】
さらに、上記データ処理装置に、自身を省エネルギモードに移行させる手順と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手順とを実行させるようにするとよい。
さらに、上記データ処理手順で行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とし、上記データ変換手順で行うデータ変換を、データの解凍、復号化、プリンタ言語変換のいずれかとするとよい。
【００１９】
また、この発明のデータ変換機能付加方法は、自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段を有するデータ処理装置に、自身の上記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、上記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの上記第１のポートに送信するデータ変換手段を付加するようにしたものである。
【００２０】
このようなデータ変換機能付加方法において、上記データ変換手段を、各々自身の上記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの上記第１のポートに送信する手段とするとよい。
【００２１】
さらに、上記データ処理装置が、自身を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に自身を省エネルギモードから通常動作モードに復帰させる手段とを有する装置であるとよい。
さらにまた、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換のいずれかとしてもよい。
【００２２】
また、この発明のプログラムは、受信したデータの形式を変換するデータ処理装置を制御するコンピュータを、自身の第１のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、自身の上記第１のポートとは異なる第２のポートを監視して、そのポートで受信したデータに対して、そのデータの形式によらず、上記データ処理手段が取り扱うことのできる形式への特定のデータ変換を行って、自身を示すアドレスの上記第１のポートに送信するデータ変換手段として機能させるためのプログラムである。
【００２３】
このようなプログラムにおいて、上記データ変換手段を、各々自身の上記第１のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行って、自身を示すアドレスの、次段の変換手段が監視するポートに送信する変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第２のポートで受信したデータを上記データ処理手段が取り扱うことのできる形式のデータに変換して、自身を示すアドレスの上記第１のポートに送信する手段とするとよい。
【００２４】
さらに、上記コンピュータを、上記データ処理装置を省エネルギモードに移行させる手段と、上記第１のポートで何らかのデータを受信した場合に上記データ処理装置を省エネルギモードから通常動作モードに復帰させる手段として機能させるためのプログラムを含めるとよい。
さらにまた、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換のいずれかとしてもよい。
【００２５】
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２６】
以上のようなこの発明のデータ処理装置、データ処理システム、データ処理装置の制御方法、またはデータ変換機能付加方法によれば、受信したデータに対してデータ処理を行うデータ処理装置が、低い処理負荷で複数の形式のデータを処理し、初めのデータ形式によらず同じ処理結果を実現できるようにすることができる。また、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることもできる。
また、この発明のプログラムによれば、コンピュータにデータ処理装置を制御させて上記のような機能を実現させ、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００２７】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔第１の実施形態：図１乃至図４〕
まず、図１に、この発明のデータ処理システムの第１の実施形態の構成を示す機能ブロック図を示す。
この図に示すように、このデータ処理システムは、情報処理装置１０と、データ処理装置２０を、ＬＡＮ（ローカルエリアネットワーク）のようなネットワーク等の何らかの通信経路によって通信可能に接続して構成することができる。ただし、この通信経路は、少なくとも情報処理装置１０からデータ処理装置２０にデータを送信できるものであればよく、逆方向のデータ送信が可能である必要はない。
【００２８】
また、データ処理装置２０は、データ処理機能部２１とデータ変換機能部２２を有する。そして、データ処理機能部２１は、データ処理手段であり、第１のポートをリスン（監視）して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行う機能を有する。また、データ変換機能部２２は、データ変換手段であり、第１のポートとは異なる第２のポートをリスンして、そのポートで受信したデータに対して、そのデータの形式によらず、データ処理機能部２１が取り扱うことのできる形式への特定のデータ変換を行って、その変換後のデータをループバックにより第１のポートに送信する機能を有する。すなわち、その変換後のデータを、自身を示すアドレスの第１のポートに送信する機能を有する。
【００２９】
なお、データ処理機能部２１による処理後のデータは、外部に出力しても、データ処理装置２０の内部で別の用途に使用してもよい。そして、データ処理の具体例としては、データ形式の変換、データの記憶、データの解釈等が考えられる。データ処理機能部２１がデータ形式の変換を行う場合、データ処理機能部２１が第１のデータ変換手段であり、データ変換機能部２２が第２のデータ変換手段であると考えることもできる。
また、ここでいう「データの形式によらず」とは、アプリケーションが処理対象として認識するレベルでの形式を指すものである。装置間でデータを送受信する際には、通信プロトコルに従ってデータパケットに所定の形式のヘッダを付すことが行われるので、ポートに入力するデータ自体には、一部所定の形式であることが必要な部分もあるが、この部分のデータについては考慮しないものとする。
【００３０】
一方、情報処理装置１０は、送信データ生成部１１と通信制御部１２を備えている。そして、送信データ生成部１１は、データ処理装置２０に送信して処理させるデータを生成する機能を有し、通信制御部１２は、送信データ生成部１１が生成したデータを、データ処理装置２０の第１のポート又は第２のポートに送信する機能を有する。なお、データ処理装置２０のアドレス等の宛先情報は、通信制御部１２が参照できるように予め設定しておくようにする。
【００３１】
また、通信制御部１２は、送信するデータの形式に応じて、データ処理装置２０の第１のポートと第２のポートのどちらにデータを送信するかを選択する機能を有する。すなわち、データ処理装置２０においては、データ処理機能部２１も、データ変換機能部２２も、受信したデータの形式によらず特定のデータ処理（変換も含む）を行うようにしている。従って、処理対象として想定している形式以外の形式のデータを受信してしまうと、データ処理が意味を成さないものとなり、処理結果が全く無意味な内容になってしまう。従って、情報処理装置１０の側で、適切な形式のデータをデータ処理装置２０に送信する必要があるため、このようにしたものである。
【００３２】
そこで、通信制御部１２は、送信データ生成部１１がデータ処理機能部２１で処理対象として想定している形式のデータを生成した場合にはこれを第１のポートに送信し、それ以外の形式のデータを生成した場合には、これを第２のポートに送信するようにしている。
このようにしたことにより、どちらの形式のデータについても、データ処理装置２０により、最終的にはデータ処理機能部２１による変換後のデータを得ることができる。
【００３３】
すなわち、情報処理装置１０がデータ処理装置２０の第１のポートに送信するデータは、そのままデータ処理機能部２１によって処理される。また、情報処理装置１０がデータ処理装置２０の第２のポートに送信するデータは、まずデータ変換機能部２２による変換処理に供されてデータ処理機能部２１で処理可能な形式に変換され、その後データ処理機能部２１による処理に供され、上記の場合と同じ処理結果が得られる。
なお、生成したデータが第１，データ処理機能部２１，データ変換機能部２２の双方共に処理対象として想定していない形式のデータであった場合には、情報処理装置１０側で送信を取り止めるようにしてもよい。
【００３４】
次に、図２に、上述したデータ処理装置２０のハードウェア構成を示す。
この図に示すように、データ処理装置２０は、ＣＰＵ１２１，ＲＯＭ１２２，ＲＡＭ１２３，不揮発性メモリ１２４，通信インタフェース（Ｉ／Ｆ）１２５を備え、これらがシステムバス１２６により接続されている。
【００３５】
そして、ＣＰＵ１２１は、データ処理装置２０全体を統括制御する制御手段であり、ＲＯＭ１２２や不揮発性メモリ１２４に記録された種々のプログラムを実行することにより、データ処理手段，データ変換手段等の各手段として機能し、この実施形態の特徴に係る種々の機能を実現する。
ＲＯＭ１２２は、不揮発性の記憶手段であり、ＣＰＵ１２１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１２２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
【００３６】
ＲＡＭ１２３は、一時的に使用するデータを記憶したり、ＣＰＵ１２１のワークメモリとして使用したりする記憶手段である。
不揮発性メモリ１２４は、フラッシュメモリやＨＤＤ（ハードディスクドライブ）等による書き換え可能な不揮発性記憶手段であり、ＣＰＵ１２１が実行するプログラムや、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶する。
【００３７】
通信Ｉ／Ｆ１２５は、データ処理装置２０をネットワークに接続するためのインタフェースであり、例えばイーサネット（登録商標）方式の通信を行うためのネットワークインタフェースとすることができる。そして、ネットワークを介して他の装置と通信を行う場合、この通信Ｉ／Ｆ１２５とＣＰＵ１２１とが通信手段として機能する。なお、通信Ｉ／Ｆ１２５は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数の通信Ｉ／Ｆ１２５を設けることも当然可能である。
【００３８】
なお、図２には示していないが、データ処理装置２０に、外部に対して通信以外の物理的な出力を行うためのエンジン部を設けてもよい。このエンジン部は、例えばデータ処理装置２０がレーザプリンタであれば、電子写真方式によるプリントエンジンであり、ＣＰＵ１２１がこれらの動作を適切に制御することにより、データ処理装置２０にプリント動作を実行させることができる。
また、情報処理装置１０のハードウェア構成も、図２に示したものと同様、ＣＰＵ，ＲＯＭ，ＲＡＭ，ＨＤＤ，通信Ｉ／Ｆを設けたものとすればよく、例えば公知のコンピュータを用いることができる。
【００３９】
そして、これらのハードウェアに、図１を用いて説明したような機能を実現させることにより、データ処理装置２０において、データ処理機能部２１やデータ変換機能部２２が固定的なデータ処理を行う場合でも、複数のデータ形式のデータを認識し、最終的にデータ処理機能部２１による処理結果を得ることができる。
【００４０】
また、この場合において、データ処理機能部２１がデータを受け取る受け口を、情報処理装置１０から受け取る場合と、データ変換機能部２２から受け取る場合とで共通化しているため、データ処理機能部２１（を実現するためのソフトウェアやハードウェア）が開発済みである場合、それ自体を改変する必要は全くない。そして、データ変換機能部２２を実現するためのソフトウェアやハードウェアを追加するだけで、データ処理装置２０に上述した機能を実現させることができる。
従って、データ処理装置２０が、低い処理負荷で複数の形式のデータを処理できるようにしつつ、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることができる。
【００４１】
なお、図３に示すように、データ変換機能部として、変換機能部を多段に設け、順次、次段の変換機能部で処理可能なデータ形式への変換を行って、その変換機能部がデータを受け付けるポートに、変換後のデータをループバックさせるようにしても、すなわち、変換後のデータを、自身を示すアドレスの、次段の変換機能部がデータを受け付けるポートに送信するようにしても、同様な効果を得ることができる。この場合、各変換機能部２３，２４が、データ変換手段に該当する。また、図では３段だが、それ以上の変換機能部を設けてよいことは、もちろんである。
そして、このようにした場合でも、情報処理装置１０側の通信制御部１２が最初にデータをデータ処理装置２０に送信する際のポートをデータ形式に応じて選択するようにすれば、データ処理装置２０の側では、各変換機能部が固定的なデータ変換を実行しつつ、複数のデータ形式のデータを認識し、最終的にデータ処理機能部２１による処理結果を得ることができる。
【００４２】
この場合において、多段の変換処理のうち、途中の変換機能部と対応するポート（例えば図３における第２のポート）にデータを送信すれば、その変換機能部以降の変換処理を実行させることも可能である。すなわち、多段の変換処理のうち、途中の工程から処理を開始させる制御も、情報処理装置１０側でデータ処理装置２０にデータを送信する際のポートの選択により、可能である。
【００４３】
また、図４に示すように、データ処理装置２０側で、複数の変換機能部が、データ処理機能部２１が取り扱うことのできる形式へのデータ変換を行って、処理後のデータを第１のポートにループバックさせるような構成も可能である。このようにしても、複数のデータ形式のデータを認識し、最終的にデータ処理機能部２１による処理結果を得ることができる。
図３のような構成は、データ変換を入れ子式に行う必要がある場合、図４のような構成は、データ処理機能部２１が処理できる形式にするまでのデータ変換は１度に１種類でよいが、複数の変換方式に対応させたい場合に採用するとよい。もちろん、これらを組み合わせてもよい。
【００４４】
〔第２の実施形態：図５乃至図１６〕
次に、この発明のデータ処理システムの、より具体的な第２の実施形態について説明する。図５は、その第２の実施形態であるプリントシステムの構成を示す機能ブロック図である。なお、この図においては、ソフトウェアにより実現される機能を示すブロックに、そのソフトウェアの名称を付している。また、以後、説明の便宜のため、ＣＰＵがソフトウェアを実行することによって行う処理や動作を、そのソフトウェアが処理や動作を行うものとして説明することもある。
【００４５】
図５に示すように、このプリントシステムは、ＰＣ３０とプリンタ４０によって構成している。そして、これらはそれぞれ第１の実施形態の情報処理装置１０及びデータ処理装置２０に該当する。
そして、プリンタ４０は、データ処理手段としてプリンタアプリ４１を、データ変換手段としてデータ解凍アプリ４２を有する。
【００４６】
そして、プリンタアプリ４１は、第１のポートである９１００番ポートをリスンして、ここで何からのデータを受信した場合、そのデータを特定のプリンタ言語で記載されたプリントデータとして取り扱い、そのプリントデータを、プリントエンジン４３にプリントを行わせるための画像データに変換する処理を行う。すなわち、背景技術の項で図２１を用いて説明したプリンタ９０のプリンタアプリ９１と同様な機能を有する。
【００４７】
また、データ解凍アプリ４２は、第２のポートである９２００番ポートをリスンして、ここで何らかのデータを受信した場合、そのデータを特定の方式で圧縮されたデータとして取り扱い、そのデータを解凍し、解凍後のデータをループバックにより９１００番ポートに送信する機能を有する。
従って、プリンタ４０は、９１００番ポートで特定のプリンタ言語で記載されたプリントデータを受信した場合にそのプリントデータに基づいてプリントを行うことができると共に、それとは異なる９２００番ポートで、圧縮されたプリントデータを受信した場合には、これを解凍した上で、そのプリントデータに基づいてプリントを行うことができる。
【００４８】
なお、プリンタアプリ４１とデータ解凍アプリ４２は、それぞれ受信するデータが特定の形式であることを前提にデータ変換処理を行うので、実際に受信したデータの形式がそれと異なる形式であった場合には、出力は無意味なデータになってしまう。しかし、このような構成としても、データの送信側を制御して正しい形式のデータを送信させるようにすれば問題なく動作するので、処理負荷の低減を考慮し、このような構成を採用している。
また、データ解凍アプリ４２は、デバイス組み込み用のＪａｖａ（登録商標）であるＪ２ＭＥ（Java 2 Micro Edition）を利用し、ＤＳＤＫ（Device Software Development Kit）の環境で動作するＤＳＤＫサーバアプリケーションとして作成することが考えられる。
【００４９】
また、プリンタ４０は、上記以外にも、省エネルギ制御部４４を備えており、一定時間何のデータも受信せず、かつプリント動作も行っていない場合に、自身を省エネルギモードに移行させるようにしている。そして、この状態では、消費エネルギを低減するため、プリンタ４０の各部の電源を遮断する等し、ＲＡＭに常駐させておくプログラムも、必要最低限のものとしている。
【００５０】
そしてここでは、プリンタアプリ４１は、必ず使用するアプリであるので省エネルギモードでも常駐させておく一方、データ解凍アプリ４２は、ＰＣ３０側の設定によっては使用しないアプリであるので、省エネルギモードではＲＡＭから消去してしまうようにしている。従って、省エネルギモードでは、プリンタ４０は、９２００番ポートで受信したデータについては処理を行わない状態となる。
【００５１】
そして、省エネルギ制御部４４は、プリントデータが送られてくるはずの９１００番ポートで何らかのデータを受信したり、図示しない操作部により何らかの操作を受け付ける等すると、プリンタ４０を通常動作モードに復帰させ、ＲＡＭから削除していたプログラムも、不揮発メモリから読み出して、再度実行可能な状態に戻すようにしている。この通常動作モードの状態では、プリンタ４０は、９２００番ポートで受信したデータについてデータ解凍アプリ４２による解凍処理を行うことができる。
【００５２】
一方、ＰＣ３０には、アプリケーション３１とプリンタドライバ３２とポートモニタ３３を備えるが、このうち、アプリケーション３１とプリンタドライバ３２は、背景技術の項で図２１を用いて説明したＰＣ８０のアプリケーション８１及びプリンタドライバ８２と同様な機能を有する。
【００５３】
また、ポートモニタ３３は、標準スプーラ３４と拡張スプーラ３５を備えているが、このうち標準スプーラ３４の機能は、上記のＰＣ８０のポートモニタ８３の機能と同様なものである。すなわち、プリンタドライバ３２は、プリンタ言語形式に変換したプリントデータを、標準スプーラ３４のスプールディレクトリにスプールするようにし、標準スプーラ３４は、そのスプールディレクトリにスプールされたデータを、使用するプリンタのアドレスの、９１００番ポートに送信する機能を有する。
【００５４】
しかし、後述のようにプリント指示時に拡張スプーラ３５を使用する旨が設定されているプリンタに対してプリントデータを送信する場合には、標準スプーラ３４のデータ送信機能を使用せず、標準スプーラ３４のスプールディレクトリにスプールされたデータは、拡張スプーラ３５のスプールディレクトリにスプールし直し、拡張スプーラ３５が、そのデータをプリンタ４０の所定のポートに送信するようにしている。
またこの時、ユーザの指定に応じて必要な場合にはプリントデータに対して圧縮処理を行うようにしている。そして、ここで圧縮を行わなかったデータについては、標準スプーラ３４の場合と同様に９１００番ポートに送信し、圧縮を行ったデータについては、９２００番ポートに送信するようにしている。なお、ここで使用する圧縮処理の方式は、プリンタ４０のデータ解凍アプリ４２が解凍できる形式であり、例えばＧＺｉｐ形式が考えられる。
【００５５】
以上のようなＰＣ３０とプリンタ４０のハードウェア構成は、第１の実施形態で図２を用いて説明したものと同様でよい。ただし、プリンタ４０は、エンジン部としてプリントエンジン４３を備えている。また、プリンタ４０は、コピーやファクシミリ通信等の機能を併せ持つデジタル複合機（ＭＦＰ）であってもよい。
【００５６】
ここで、図６に、ＰＣ３０がプリンタ４０に送信するデータの形式を示す。
プリンタ言語としてＰＣＬ（Printer Control Language）６，ＰＣＬ５ｅ，ＲＰＣＳ等を用いる場合、バイナリのプリントデータに、ＰＪＬ（Printer Job Language）言語で記載したヘッダとフッタを付し、ここに、両面印刷の有無等、プリントジョブの実行に関する情報を記載する。そして、拡張スプーラ３５は、そのヘッダからフッタまでの全体を圧縮して、プリンタ４０の９２００番ポートに送信する。この圧縮は、ここではＧＺｉｐ形としているが、データ解凍アプリ４２に解凍機能を持たせることができる形式であれば、どのような形式でも利用可能である。
【００５７】
そして、プリンタ４０側では、データ解凍アプリ４２がそのデータを解凍し、もとのプリントデータに戻して９１００番ポートにループバック送信する。すなわち、自身を示すアドレスの９１００番ポートに送信する。このデータは、従来のプリンタが処理できるデータであり、プリンタアプリ４１は、このデータに基づいてプリント処理を行うことができる。
また、拡張スプーラ３５が圧縮処理を行わない場合には、始めから、図６の右側に示す形式のプリントデータをプリンタ４０の９１００番ポートに送信するようにする。
【００５８】
次に、図７乃至図１１に、ＰＣ３０において拡張スプーラ３５の設定に使用する画面の例を示す。これらの画面は、ＰＣ３０のディスプレイに表示させるＧＵＩ（グラフィカル・ユーザ・インタフェース）である。
図７は、ＰＣ３０に利用可能なプリンタとして登録されているプリンタの一覧を示す、登録プリンタ一覧画面の例を示す図である。
この登録プリンタ一覧画面２００は、ＰＣ３０のＯＳ（オペレーティングシステム）の機能により表示される画面であり、ＯＳ上で適当な操作をすることにより表示させることができる。そして、プリンタ名表示部２０１に、利用可能なプリンタの名称を表示すると共に、状態表示部２０２に、そのプリンタの状態を表示する画面である。
【００５９】
ここで、登録されているプリンタとは、ＯＳがそのプリンタの機種、制御に必要なドライバ、データの送信先等の情報を認識し、アプリケーション３１からプリントが要求された場合に、適当なプリンタドライバ３２に必要な情報を渡してプリントデータを送信させることができる状態にあるプリンタを言うことにする。また、プリンタ名表示部２０１に表示されるプリンタの名称は、プリンタの機種名と同じでもよいが、これと別に定めたり、ユーザが任意に定めたりすることができる。
そして、登録プリンタ一覧画面２００では、プリンタ名表示部２０１の最上段に表示されている「プリンタの追加」を選択することにより、新たにプリンタを登録することができる。
【００６０】
図８は、この新たなプリンタの登録を行う場合に表示されるポート選択画面の例を示す図である。
このポート選択画面２１０は、新たに登録するプリンタとの通信に利用するポートの選択を受け付けるための画面であり、ユーザが登録プリンタ一覧画面２００で「プリンタの追加」を選択した場合に表示される。そして、ポート一覧部２１１には、利用できるポートの一覧が表示され、ここでポートを指定してＯＫボタン２１２を押下することにより、指定したポートを選択することができる。キャンセルボタン２１３を押下した場合には、プリンタの追加を中止する。
【００６１】
なお、図８に示した例のうち、「ローカルポート」は、ＰＣ３０にローカルに接続されたプリンタとの通信に利用するポートを示し、「標準スプーラ」と「拡張スプーラ」は、それぞれ標準スプーラ３４及び拡張スプーラ３５を用いて通信を行う場合に利用するポートを示す。また、「拡張スプーラ」の選択肢は、ＯＳ（オペレーティングシステム）にデバイスドライバとして拡張スプーラ３５が登録されている場合のみ表示される。
【００６２】
次に、図９に、拡張スプーラ３５の使用及びプリントデータ圧縮の有無を設定するための画面例を示す。
この設定画面２２０は、ユーザがポート選択画面２１０において拡張スプーラ３５の利用を選択した場合に、拡張スプーラ３５の機能により表示されるものである。
そして、この画面においては、ユーザがプロトコル選択部２２１でプリント時のプリントデータ転送に使用するプロトコルを選択し、検索ボタン２２２を押下すると、ＰＣ３０がＯＳの機能によりブロードキャストを行って、使用可能なプリンタを検索し、プリンタ一覧部２２３にその情報を表示する。図の例ではここにプリンタの機種と、プリンタ個別のＩＤと、プリンタのＩＰ（Internet Protocol）アドレスを表示するようにしているが、これに限られるものではない。
【００６３】
そして、ユーザがカーソル２２４を合わせてプリンタ一覧部２２３からいずれかのプリンタを選択し、ＯＫボタン２２６を押下すると、そのプリンタにプリントを指示するためのポートが作成され、ＯＳに、そのプリンタにプリントを指示する際に、拡張スプーラ３５を使用する旨が設定される。また、そのプリンタにデータを送信する際のＩＰアドレスも設定される。またこのとき、チェックボックス２２５にチェックが入っていた場合、プリントデータの転送を、圧縮した状態で９２００番ポートに対して行う旨も設定される。また、キャンセルボタン２２７が押下された場合には、設定は行わずにこの画面を閉じる。
【００６４】
図１０に、図７に示した状態から図９のカーソル２２４の位置に表示されているプリンタを追加した状態の登録プリンタ一覧画面の例を示す。
この画面においては、符号２０３に示す位置に、追加したプリンタの名称及び状態が表示されている。この例では、既に「Printer_A」が登録されていたため、これと区別できるよう、新たに登録されたプリンタの名称には、機種名に加え、「No.2」の識別子を付し、また、プリントデータを圧縮して送信することを示す「（圧縮）」の識別子も付している。このような名称は、自動で生成することができる。もちろん、名称がこれに限られることはない。
【００６５】
また、図１１は、上記の設定画面２２０により拡張スプーラ３５の使用を設定したプリンタにつき、登録プリンタ一覧画面２００において、プリントに使用するポートの設定の状態の参照を指示した場合に表示される画面例である。
そして、この参照画面２３０では、画面のタイトル２３１により、拡張スプーラ３５を使用することがわかり、ポート番号表示部２３２により、プリンタにデータを送信する際にどのポートに送信するかを確認することができる。また、チェックボックス２３３により、プリントデータの圧縮を行うか否かも確認することができる。
【００６６】
ここでは、プリントデータの圧縮を行うため、送信先のポートは９２００番としている。しかし、プリンタ側の設定に応じて、この内容は変更可能である。また、プリントデータの圧縮をしない旨が設定された場合、送信先のポートを自動的に９１００番に変更するようにしてもよい。
【００６７】
次に、図１２に、図５に示したプリントシステムにおいてＰＣ３０側で実行する処理のフローチャートを示す。
この処理は、ＰＣ３０において、拡張スプーラ３５を利用する旨が設定されているプリンタでのプリントが指示された場合に、ＣＰＵがプリンタドライバ及び拡張スプーラ３５を実行することにより行うものである。
【００６８】
この処理においてはまず、ステップＳ１１で、プリンタドライバが、標準スプーラ３４のスプールディレクトリに、印刷内容を示す非圧縮のプリントデータをスプールする。
その後、ステップＳ１２で、印刷に使用するプリンタについてプリントデータを圧縮する旨が設定されているか否か判断する。
そして、ここで圧縮しない旨が設定されていれば、ステップＳ１３に進み、標準スプーラ３４のスプールディレクトリにスプールしたプリントデータを、拡張スプーラ３５のスプールディレクトリに非圧縮のままスプールする。そして、ステップＳ１４でそのスプールしたプリントデータを、プリンタ４０のアドレスの９１００番ポートに送信し、処理を終了する。なお、この送信は、４０９６バイトずつ等、所定サイズ毎に行えばよい。
【００６９】
一方、ステップＳ１２で圧縮する旨が設定されていれば、ステップＳ１５に進み、標準スプーラ３４のスプールディレクトリにスプールしたプリントデータを、圧縮して拡張スプーラ３５のスプールディレクトリにスプールする。その後、ステップＳ１６で空ジョブデータをプリンタ４０のアドレスの９１００番ポートに送信して、プリンタ４０が省エネルギモードであれば通常動作モードに復帰させる。プリンタ４０が省エネルギモードのままだと、９２００番ポートに送信したデータを処理できないためである。また、ここで送信するデータは、例えば図６の右側に示したプリントデータのうち、ヘッダとフッタのみのデータのようなダミーのデータとすればよい。また、圧縮の必要はない。
【００７０】
そして、次のステップＳ１７では、ステップＳ１５でスプールしたプリントデータを、プリンタ４０のアドレスの９２００番ポートに送信し、処理を終了する。この送信も、４０９６バイトずつ等、所定サイズ毎に行えばよい。また、図１１に示した画面により他のポートが指定されていた場合には、９２００番ポートに代えてそのポートへの送信を行う。
【００７１】
以上の処理により、プリントデータを、プリンタ４０のプリンタアプリが処理できる形式で送信する場合にはプリンタアプリがリスンしているポートに、処理できない形式で送信する場合には、他の、送信する形式のデータを処理してプリンタアプリが処理できる形式に変換できるアプリがリスンしているポートに送信することができる。
従って、プリンタ４０側で各データを適切に処理させることができる。
【００７２】
次に、図１３に、図５に示したプリントシステムにおいてプリンタ４０側でＣＰＵがデータ解凍アプリ４２により実行する処理のフローチャートを示す。
ＣＰＵは、プリンタ４０が起動されるか、省エネルギモードから通常動作モードに復帰すると、データ解凍アプリ４２を実行することにより、図１３のフローチャートに示す処理を開始する。
【００７３】
そして、ステップＳ２１でデータ解凍アプリ４２を９２００番ポートにバインドし、このポートをリスンする状態にする。すなわち、９２００番ポートへのデータの受信を監視する状態にする。そして、ステップＳ２２及びＳ２３でその９２００番ポートへの接続を待つ。
その後、ＰＣ３０等の外部クライアントあるいはローカルのループバック等により接続要求があると、ステップＳ２３からステップＳ２４に進んでその接続を許可すると共に、ステップＳ２５でローカルホストの９１００番ポートに接続要求を行って、接続許可を受ける。
【００７４】
その後、ステップＳ２６で、９２００番ポートでデータを受信し、それをバッファに蓄積しつつ、その蓄積したデータを解凍する。この解凍処理は、受信したデータの形式を参照せず、そのデータがＧＺｉｐ形式等の特定の形式であることを前提として行ってよく、Ｊ２ＭＥの解凍用ライブラリを利用して行うことができる。例えば、ＧＺｉｐ形式のデータを処理するのであれば、ソケットの入力ストリームを単にＪ２ＭＥのライブラリにあるGZIPInputStreamでラッピングするといった処理を行えばよい。
【００７５】
そして、ステップＳ２７で、クライアントからの通信切断、ステップＳ２６での解凍処理エラー、解凍完了のいずれかが起こったか否か判断する。ここで、解凍処理エラーは、解凍に使用したライブラリから処理結果としてエラーが返された場合である。不適当な形式のデータを処理に供した場合でも、何らかの処理結果が得られてしまう場合もあり、このような場合にはエラーとはならない。
【００７６】
そして、ステップＳ２７で上記のいずれも起こっていなければ、ステップＳ２８に進んで解凍後のデータをローカルホストの９１００番ポートに送信する。その送信は、データの切れ目を意識せずに４０９６バイトずつ等の所定サイズずつ行えばよい。例えば、上記のGZIPInputStreamを利用する場合には、ライブラリから処理結果を所定サイズ取得してそのまま９１００番ポートに送信すればよい。また、一度に送信するサイズは、ＰＣ３０から直接９１００番ポートにプリントデータを送信する場合と同じサイズとするとよい。
【００７７】
その後、ステップＳ２６に戻り、ステップＳ２７でＹＥＳになるまで処理を繰り返す。
そして、ステップＳ２７でＹＥＳであれば、ステップＳ２９に進んで通信を切断し、ステップＳ２２に戻る。
以上の処理により、プリンタ４０は、９２００番ポートに受信したデータに対し、プリンタアプリ４１が処理できる形式のデータとするための特定の解凍処理を行い、その処理後のデータを９１００番ポートに送信することができる。この解凍処理は、受信したデータの形式によらず同じ処理を行うが、適切な形式のデータを受信していれば、出力は、プリンタアプリ４１が処理できる形式のプリントデータとなる。
【００７８】
次に、図１４に、図５に示したプリントシステムにおいてプリンタ４０側でＣＰＵがプリンタアプリ４１により実行する処理のフローチャートを示す。
ＣＰＵは、プリンタ４０が起動されると、プリンタアプリ４１を実行することにより、図１４のフローチャートに示す処理を開始する。
そして、ステップＳ３１でプリンタアプリ４１を９１００番ポートにバインドし、このポートをリスンする状態にする。すなわち、９１００番ポートへのデータの受信を監視する状態にする。そして、ステップＳ３２及びＳ３３でその９１００番ポートへの接続を待つ。
【００７９】
その後、ＰＣ３０等の外部クライアントあるいはローカルのループバック等により接続要求があると、ステップＳ３３からステップＳ３４に進んでその接続を許可する。データ解凍アプリ４２が図１３のステップＳ２５の処理で行う接続要求も、ここで検出され、許可される。
【００８０】
そして、ステップＳ３５で、９１００番ポートでデータを受信し、それをバッファに蓄積しつつ、その蓄積したデータをもとに、画像メモリに画像データを描画して、プリントエンジン４３にその画像データに基づくプリントを指示する。ステップＳ３４でデータ解凍アプリ４２からの接続要求を許可した場合には、ここで受信するデータは、データ解凍アプリ４２が図１３のステップＳ２８の処理で送信してくるデータである。
そして、ステップＳ３６で、クライアントからの通信切断、ステップＳ３５での描画処理エラー、描画完了のいずれかが起こるまでステップＳ３５に戻って処理を繰り返す。そして、いずれかが起こるとステップＳ３７で通信を切断し、ステップＳ３２に戻って処理を繰り返す。
【００８１】
以上の処理により、プリンタ４０は、９１００番ポートに受信したデータを、プリントエンジン４３を駆動するための画像データに変換するための特定の描画処理を行い、その処理後のデータに基づいてプリントエンジン４３にプリントを実行させることができる。この処理は、データの送信元がＰＣ３０であっても、データ解凍アプリ４２であっても、共通に行うようにしている。また、描画処理は、受信したデータの形式によらず同じ処理を行うが、適切な形式のデータを受信していれば、描画により、形成すべき画像の内容を示す画像データを得ることができる。
なお、このフローチャートに示した処理は、従来のプリンタに備えるプリントエンジンの場合と同様なものでよい。
【００８２】
以上説明してきたようなプリントシステムによれば、ＰＣ及びプリンタに、以上説明してきたような機能を実現させることにより、プリンタ４０において、プリンタアプリが特定のプリンタ言語形式のプリントデータしか解釈できない場合でも、ＰＣ３０からプリンタ４０に対して圧縮したプリントデータを送信し、そのデータに基づくプリントを行わせることができる。
【００８３】
また、この場合において、プリンタアプリ４１がデータを受け取る受け口を、ＰＣ３０から受け取る場合と、データ解凍アプリ４２から受け取る場合とで共通化しているため、従来からあるプリンタアプリ４１を改変する必要は全くない。そして、データ解凍アプリ４２を追加し、必要な設定を行うだけで、プリンタ４０に上述した機能を実現させることができる。また、ＰＣ３０側においても、従来の構成を変更することなく、新たに拡張スプーラ３５をインストールし、プリンタ４０にプリントを指示する場合にその拡張スプーラ３５を使用してデータを圧縮する旨を設定するのみでよい。
【００８４】
従って、既存の資源を有効に利用し、小さい開発工数で、プリントデータを転送時に圧縮してプリントの高速化を図るようなプリントシステムを開発することができる。また、プリンタ４０側では、特定のポートで受信したデータに対しては、特定の処理を行うようにしているので、一般にハードウェア資源の制約が厳しいプリンタ４０の側での処理負荷を低減すると共に、この点でもアプリの開発工数を低減することができる。
さらに、受信したデータの形式に応じてデータ変換処理の内容を変える場合、ヘッダ等によりデータの形式を示す必要があり、その部分は圧縮を行うことができない。一方、常に同じデータ変換処理を行うのであれば、データの形式を示す必要はなく、データ全体を圧縮できるため、高い圧縮効率を得ることができる。
【００８５】
ここで、図１５及び図１６に、実際に上述したようなプリントシステムを構築し、プリントデータを圧縮してプリントを行った場合と圧縮せずにプリントを行った場合とでプリントに要する時間を比較した結果を示す。
このデータを取得した際のシステム環境及びプリントに使用したデータは以下の通りである。
【００８６】
ＰＣ３０としては、動作クロック１２００メガヘルツのＰｅｎｔｉｕｍ（登録商標）ＭをＣＰＵとして使用し、５１２メガバイトのＲＡＭ、容量約３３ギガバイトのＨＤＤを搭載したＰＣを用いた。また、ＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ  Ｐｒｏｆｅｓｓｉｏｎａｌ  ＳＰ１を用い、プリントを指示するアプリケーションには、マイクロソフト社のＯｆｆｉｃｅ２０００を用いた。
プリンタ４０としては、リコー社製のデジタル複合機、Ａｆｉｃｉｏ２０２２を使用した。
【００８７】
ＰＣ３０とプリンタ４０との間の接続は、エミュレータを利用して、６４ｋ（キロビット毎秒）、１２８ｋ、４４８ｋ、１３４４ｋの各通信速度の通信が可能な構成とした。
回線エミュレータとの接続のためのルータとしては、ＰＣ側はＢａｙＮｅｔｗｏｒｋｓ社製のＡＥ１００１００６、ＰＡＲＴ＃１１３７５ＲｅｖＢを使用し、プリンタ側は同社製のＡＥ１００１００５、ＰＡＲＴ＃１１３７５ＲｅｖＪを使用した。
【００８８】
また、プリンタ４０側のアプリケーションは、ＤＳＤＫのバージョン１．１０Ｓｅｒｖｅｒと、ＳＤＫ  ＧＺＩＰ  Ａｐｐｌｉｃａｔｉｏｎ  バージョン１．０２とを利用して作成した。
プリンタ言語としては、ＰＣＬ６のバージョン１．２．０．０，ＰＣＬ５ｅのバージョン１．２．０．０，ＲＰＣＳのバージョン４．１９を使用し、ＰＣ側のプリンタドライバも対応するドライバを使用した。
【００８９】
プリントに使用したプリントデータは、マイクロソフト社のＷｏｒｄ，Ｅｘｃｅｌ，ＰｏｗｅｒＰｏｉｎｔ（登録商標）用の標準パターンとしてＪＥＩＴＡ（社団法人電子情報技術産業協会）が定めたJ9.doc（Ｊ９），J10.xls（Ｊ１０），J11.ppt（Ｊ１１）を用いた。
Ｊ９は、全５頁をプリントした。Ｊ１０は、ファイル→印刷→ブック全体→ＯＫにより全５頁をプリントし、Ａ３サイズのものはＡ３サイズで出力した。Ｊ１１は、全１２頁をプリントした。
【００９０】
またプリント時間としては、アプリケーションの印刷開始ボタンを押してから、データイン、ファーストプリント（１枚目排紙完了）、全印刷完了までの所要時間を計測し、印刷時の設定は全てデフォルトとした。
そして、図１５には、各条件で得られたデータイン、１枚目排紙完了、全印刷完了の時間を、「：」の左側に分を、右側に秒を小数第二位まで示す形式で記載すると共に、圧縮の有無以外同一の条件下で、圧縮を行った場合の各所要時間を圧縮を行わなかった場合の対応する所要時間で割った比率を、百分率により示している。
【００９１】
また、図１６には、プリントした各データの圧縮率を求めた結果を示している。
各データのサイズとしては、スプールデータは、プリンタドライバの画面に表示されるサイズを用いた。非圧縮データのサイズとしては、キューのみオフラインとし、C:\Windows\system32\spool\PRINTERSに蓄積されるスプールデータのサイズを用いた。圧縮データのサイズとしては、プリンタ側のみオフラインとし、C:\WINDOWS\NAVITEMPに蓄積される圧縮済みスプールデータのサイズを用いた。
スプールデータのサイズの単位はメガバイト、圧縮データと非圧縮データのサイズの単位は、キロバイトである。また、文書種別の欄に記載した数字は、プリントに使用したファイルのサイズであり、単位はキロバイトである。Ｊ１０の項目の「３Ｐ」及び「２Ｐ」は、Ｊ１０のブックに含まれる２つのワークシートの各々の印刷ページ数を示すものである。
【００９２】
以上の各データを参照すると、プリントデータは、圧縮処理を行うことにより、容量を７０％以下、プリンタ言語によっては５０％以下に低減することができることがわかる。
また、少なくとも４４８ｋまでの通信速度では、全ての条件において、プリントデータを圧縮することにより、印刷完了までの時間を大幅に低減できることがわかる。これは、圧縮により、転送すべきデータ量を低減し、転送時間を短縮できたためと考えられる。
従って、上述した実施形態の構成を採用することが、印刷時間の短縮に効果的であるといえる。
【００９３】
なお、１３４４ｋと通信速度が速い場合には、圧縮により印刷完了までの時間をあまり短縮できていないが、これは、高速の通信が可能な場合には、大きなサイズのデータでも高速に転送できるため、データサイズよりも圧縮処理時間が問題となるためと考えられる。
しかし、通信速度があまり速くない場合に、印刷時間の短縮が可能であることは、４４８ｋまでのデータから明らかであるため、このような環境では、通信速度が速い場合のデータは考慮する必要はないと考えられる。
【００９４】
〔第２の実施形態の変形例：図１７乃至図２０〕
次に、以上説明してきた第２の実施形態のプリントシステムの変形例について説明する。
第２の実施形態においては、９２００番ポートで受信したデータに対して行う処理を、圧縮データの解凍処理としたが、これに限られることはない。その他の処理として、暗号化されたデータの復号化処理や、他のプリンタ言語で記載されたプリントデータをプリンタアプリ４１が対応しているプリンタ言語のプリントデータに変換するプリンタ言語変換、ＰＣ３０側でアプリケーション３１が出力するような印刷内容を示すデータをプリンタ言語の形式に変換する、プリンタドライバ３２が行うような処理等が考えられる。
【００９５】
図１７及び図１８にこれらの例の一部を示す。
例えば、ＰＣ３０からプリンタ言語形式のデータを暗号化してプリンタ４０の９２００番ポートに送信し、プリンタに復号化処理を行わせると共に、９１００番ポートに送信してプリントを行わせることができるようにすれば、プリントデータ転送時のセキュリティを向上させることができる。
【００９６】
また、ＸＭＬ形式で定義された帳票データ等をそのままプリンタ４０の９２００番ポートに送信し、プリンタ４０側でプリンタ言語形式への変換処理を行わせると共に、９１００番ポートに送信してプリントを行わせることができるようにすれば、ＰＣ３０側にプリンタドライバを設けなくても、プリンタ４０にプリントを行わせることが可能になる。従って、多数のクライアントがプリンタ４０を共用する場合等には、各クライアントに個別にプリンタドライバをインストールすることが不要になり、管理の負担を軽減することができる。
また、ＰＤＡ（携帯情報端末）や携帯電話のように、持ち歩く端末では、常に適切なドライバを設定しておくことが難しいし、ＣＰＵの処理能力も比較的小さいと考えられるので、このような場合にはプリンタ４０の側にプリンタドライバの機能を持たせることが特に有効と考えられる。
【００９７】
また、第１の実施形態で図３を用いて説明した例と対応するものとして、複数段のデータ変換処理により、プリンタアプリ４１が対応しているプリンタ言語形式のプリントデータを生成して９１００番ポートに転送するようにすることも考えられる。
図１９にこのようにする場合のプリントシステムの機能ブロック図の例を示す。
この例においては、プリンタ４０′には、図５のプリンタ４０の構成に加え、復号化アプリ４５を設け、９３００番ポートで受信したデータに対し、特定の復号化処理を行って、その結果を９１００番ポートに送信するようにしている。また、データ解凍アプリ４２は、解凍処理の結果を９３００番ポートに送信するようにしている。
【００９８】
そして、ＰＣ３０側では、プリントデータに暗号化処理と圧縮処理を順次施し、このデータをプリンタ４０′の９２００番ポートに送信すると、プリンタ４０′側で解凍及び復号化処理を行わせ、プリントデータに基づくプリントを行わせることができる。
この場合でも、各アプリは受信したデータに対して、その形式によらず特定の処理を行うのみであるし、プリンタアプリ４１の機能は従来と同じものでよく、ここにデータ解凍アプリ４２と復号化アプリ４５を追加するのみで、プリンタ４０′の機能を実現することができる。
【００９９】
図２０に、プリンタ４０′をこのような構成とした場合のデータの流れを示す。
この場合、ＰＣ３０からプリンタ４０′に対しては、プリントデータを暗号化し、更に圧縮した状態で９２００番ポートに送信する。そして、プリンタ４０′側ではデータ解凍アプリ４２によりこのデータに解凍処理を行い、暗号化のみされた状態のプリントデータに変換して自身の９３００番ポートに送信する。
そしてここでは、復号化アプリ４５により復号化処理を行い、プリンタアプリ４１が処理できるプリンタ言語形式のプリントデータに変換して自身の９１００番ポートに送信する。そして、プリンタアプリ４１がこれを受け取ると、そのデータに基づいてプリントエンジン４３にプリントを行わせるための画像データを生成することができる。
【０１００】
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び変形例において、装置やシステムの構成、具体的な処理内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、通信経路として、ネットワーク以外にも、パラレルケーブルを介した通信経路を用いることも考えられる。
【０１０１】
また、プリンタアプリ４１に、処理中にデータが不正な内容であることを認識した場合（正しい形式のデータであればありえない形式でデータが並んでいた場合等）に、エラーと認識し、プリントを中止する機能を設けてもよい。このようにすれば、誤ったデータに基づいて無駄なプリントを行ってしまうことを防止できる。
また、この発明はプリンタのような画像形成装置以外のデータ処理装置にも適用できることはもちろんである。その具体例としては、帳票システムや発券システム等の業務システム、テレビ・ビデオ・ラジオ等の記録装置や出力装置等が挙げられる。
【０１０２】
また、この発明によるプログラムは、コンピュータに受信したデータの形式を変換するデータ処理装置を制御させ、上述したデータ処理装置２０のような装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【０１０３】
以上説明してきたように、この発明のデータ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム又は記録媒体によれば、受信したデータに対してデータ処理を行うデータ処理装置が、低い処理負荷で複数の形式のデータを処理し、初めのデータ形式によらず同じ処理結果を実現できるようにすることができる。また、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることもできる。
従って、この発明を適用することにより、処理の柔軟性が高いデータ処理装置を安価に提供することができる。
【図面の簡単な説明】
【０１０４】
【図１】この発明のデータ処理システムの第１の実施形態の構成を示す機能ブロック図である。
【図２】図１に示したデータ処理装置のハードウェア構成を示す図である。
【図３】図１に示したシステムの変形例を示す機能ブロック図である。
【図４】その別の変形例を示す機能ブロック図である。
【図５】この発明のデータ処理システムの第２の実施形態であるプリントシステムの構成を示す機能ブロック図である。
【０１０５】
【図６】図５に示したシステムにおいて扱うデータの形式を示す図である。
【図７】図５に示したＰＣに表示させる登録プリンタ一覧画面の例を示す図である。
【図８】同じくポート選択画面の例を示す図である。
【図９】同じく拡張スプーラの使用及びプリントデータ圧縮の有無を設定するための画面例を示す図である。
【図１０】同じく図７に示した状態から図９のカーソルの位置に表示されているプリンタを追加した状態の登録プリンタ一覧画面の例を示す図である。
【０１０６】
【図１１】同じくプリントに使用するポートの設定の状態を参照する画面の例を示す図である。
【図１２】図５に示したシステムにおいてＰＣ側で実行する処理のフローチャートである。
【図１３】同じくプリンタ側でデータ解凍アプリにより実行する処理のフローチャートである。
【図１４】同じくプリンタ側でプリンタアプリにより実行する処理のフローチャートである。
【図１５】図５に示したシステムの効果を確認するために行った実験の結果を示す図である。
【０１０７】
【図１６】その結果の別の部分を示す図である。
【図１７】第２の実施形態の変形例において扱うデータの形式を示す、図６と対応する図である。
【図１８】そのさらに別の例を示す図である。
【図１９】第２の実施形態の別の変形例の構成を示す、図５と対応する図である。
【図２０】その変形例において扱うデータの形式を示す、図６と対応する図である。
【図２１】従来のデータ処理装置の一例であるプリンタの機能構成を、そのプリンタにプリントを指示するＰＣの機能構成例と併せて示す図である。
【符号の説明】
【０１０８】
１０：情報処理装置、１１：送信データ生成部、１２：通信制御部、
２０：データ処理装置、２１：データ処理機能部、
２２：データ変換機能部、３０，８０：ＰＣ、３１，８１：アプリケーション、
３２，８２：プリンタドライバ、３３，８３：ポートモニタ、３４：標準スプーラ、
３５：拡張スプーラ、４０，４０′，９０：プリンタ、４１，９１：プリンタアプリ、
４２：データ解凍アプリ、４３，９３：プリントエンジン、４４：省エネルギ制御部、
４５：復号化アプリ
【図１】
2006306021.tif 000003
【図２】
2006306021.tif 000004
【図３】
2006306021.tif 000005
【図４】
2006306021.tif 000006
【図５】
2006306021.tif 000007
【図６】
2006306021.tif 000008
【図７】
2006306021.tif 000009
【図８】
2006306021.tif 000010
【図９】
2006306021.tif 000011
【図１０】
2006306021.tif 000012
【図１１】
2006306021.tif 000013
【図１２】
2006306021.tif 000014
【図１３】
2006306021.tif 000015
【図１４】
2006306021.tif 000016
【図１５】
2006306021.tif 000017
【図１６】
2006306021.tif 000018
【図１７】
2006306021.tif 000019
【図１８】
2006306021.tif 000020
【図１９】
2006306021.tif 000021
【図２０】
2006306021.tif 000022
【図２１】
2006306021.tif 000023