JP2007328558A - データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体 - Google Patents
データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2007328558A JP2007328558A JP2006159260A JP2006159260A JP2007328558A JP 2007328558 A JP2007328558 A JP 2007328558A JP 2006159260 A JP2006159260 A JP 2006159260A JP 2006159260 A JP2006159260 A JP 2006159260A JP 2007328558 A JP2007328558 A JP 2007328558A
- Authority
- JP
- Japan
- Prior art keywords
- data
- port
- conversion
- data processing
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【目的】 受信したデータに対してデータ処理を行うデータ処理装置において、外部装置にアクセスして取得したデータに対してデータ処理を行う機能のない装置に、容易にこの機能を追加できるようにする。
【構成】 データ蓄積装置10に蓄積されているデータの処理を行うデータ処理装置20に、ユーザからの指示に基づき、データ蓄積装置10に対して蓄積されているデータの取得要求を行うデータ取得要求部23と、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理機能部21と、自身の第2のポートを監視して、そのポートで受信した、上記取得要求に対応するデータ蓄積装置10からのデータに対して、データ処理機能部21が取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換機能部22とを設けた。
【選択図】 図1
【構成】 データ蓄積装置10に蓄積されているデータの処理を行うデータ処理装置20に、ユーザからの指示に基づき、データ蓄積装置10に対して蓄積されているデータの取得要求を行うデータ取得要求部23と、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理機能部21と、自身の第2のポートを監視して、そのポートで受信した、上記取得要求に対応するデータ蓄積装置10からのデータに対して、データ処理機能部21が取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換機能部22とを設けた。
【選択図】 図1
Description
この発明は、外部装置に蓄積されているデータの処理を行うデータ処理装置、このようなデータ処理装置とデータ蓄積装置とを備えたデータ処理システム、このようなデータ処理装置の制御方法、このようなデータ処理装置に対するデータ変換機能付加方法、コンピュータにこのようなデータ処理装置を制御させるためのプログラム、およびこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
従来から、特定のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ変換を行うデータ処理装置が知られている。
そして、このようなデータ処理装置の具体例としては、例えば、PC(パーソナルコンピュータ)から受信したプリントデータに基づいて印刷を行うプリンタが挙げられる。
そして、このようなデータ処理装置の具体例としては、例えば、PC(パーソナルコンピュータ)から受信したプリントデータに基づいて印刷を行うプリンタが挙げられる。
図26に、このようなPCとプリンタの機能構成を示す。
この図に示すように、PC80には、一般的に、ワードプロセッサや表計算、ドローイングを始めとする種々の機能を実現するためのアプリケーション(アプリ)81を備えており、ユーザは、このアプリケーション81で取り扱う文書や図等をプリントするために、アプリケーション81に対して印刷の指示を行う。
この図に示すように、PC80には、一般的に、ワードプロセッサや表計算、ドローイングを始めとする種々の機能を実現するためのアプリケーション(アプリ)81を備えており、ユーザは、このアプリケーション81で取り扱う文書や図等をプリントするために、アプリケーション81に対して印刷の指示を行う。
また、PC80には、アプリケーション81が出力する、プリントすべき画像の内容を、プリンタ90が処理できる形式のプリンタ言語で記載されたプリントデータ(プリント言語形式のプリントデータ)に変換するプリンタドライバ82を備えている。そして、アプリケーション81は、ユーザが印刷を指示した場合に、指定されたプリンタと対応するプリンタドライバ82に、出力する画像の内容を示すデータを渡し、プリンタドライバ82が、そのデータを、ユーザが指定したプリンタが処理できる形式のプリントデータに変換してポートモニタ83のスプールディレクトリにスプールする。
ポートモニタ83は、PC80とプリンタ90との間のデータの転送を行うドライバであり、スプールディレクトリにスプールされたデータを、使用するプリンタのアドレスの、9100番ポートに送信する。このポートは、プリンタが一般にプリントデータの受信に使用するポートである。
一方、プリンタ90には、実際にプリント動作を行うエンジン部であるプリントエンジン93と、プリンタアプリ91とを備えている。
そして、プリンタアプリ91は、起動している間は常に9100番ポートをリスンし、ここにデータが送られてくると、そのデータが特定のプリンタ言語で記載されたプリントデータであることを前提に、そのプリントデータを、プリントエンジン93にプリントを行わせるための画像データに変換する。この処理は、例えばプリントデータに基づいて画像メモリに描画を行い、ビットマップ形式の画像データを生成する処理である。そして、その画像データに基づいてプリントエンジン93を駆動することにより、用紙上に、受信したプリントデータに基づく画像を形成させることができる。
そして、プリンタアプリ91は、起動している間は常に9100番ポートをリスンし、ここにデータが送られてくると、そのデータが特定のプリンタ言語で記載されたプリントデータであることを前提に、そのプリントデータを、プリントエンジン93にプリントを行わせるための画像データに変換する。この処理は、例えばプリントデータに基づいて画像メモリに描画を行い、ビットマップ形式の画像データを生成する処理である。そして、その画像データに基づいてプリントエンジン93を駆動することにより、用紙上に、受信したプリントデータに基づく画像を形成させることができる。
この場合において、プリンタアプリ91は、開発効率向上や処理負荷低減の観点から、受信したデータの形式はチェックせず、どのようなデータを受信した場合でも、同じように処理を行うようにすることが行われている。そして、このようにした場合でも、データの送信元のPCの側でプリンタアプリ91が処理できるような形式のデータを送信する制御を確実に行えば、プリンタ90を問題なく動作させることができる。
このようなプリンタについては、例えば特許文献1に記載されている。
特開2004−252984号公報、段落0061 また、プリンタ等の画像形成装置にファイアウォールの外側からコマンドを送る手法としては、例えば特許文献2及び特許文献3に記載されているものが挙げられる。
特開2003−323360号公報
特開2004−5418号公報
また、近年、セキュリティ志向の高まりから、上述のようなプリンタにおいて、PCから印刷を指示した際、ユーザが望んだタイミングで印刷が行えるようにするため、PCから受信したプリントデータを一時的に保存しておき、その後プリンタの操作パネルからパスワードを入力することにより、保存したデータに基づく印刷物を得られる機能を設けることも行われている。このようなプリンタによれば、ユーザがプリンタの前に移動しないうちに印刷物が出力されて放置され、他人に持ち去られてしまうような事態を防止できる。
このようなプリンタについては、特許文献4に記載されている。
特開2001−175448号公報
このようなプリンタについては、特許文献4に記載されている。
ところで、特許文献4に記載のように、PCから送信したプリントデータをプリンタに保存するとすると、保存の必要があるデータとすぐ印刷すべきデータの区別、保存するデータの管理、そのデータへのアクセス権の管理といった処理をプリンタ側で行わなければならない。従って、プリンタにおいて印刷の実行に必要な機能が複雑なものになり、図26を用いて説明したような、従来の構成を有効に活用できないという問題があった。また、一旦プリンタに蓄積したデータを、他のプリンタから利用することが難しいという問題もあった。
そこで、このような問題を解決するため、PCからプリントデータを一旦サーバに送信し、保存の必要があるデータについてはそのサーバに蓄積しておいて、印刷すべきタイミングでプリンタ側からそのサーバにアクセスしてプリントデータを取得するようにすることが考えられる。このようにすれば、保存するデータの管理、そのデータへのアクセス権の管理といった機能は、サーバ側で担うことができるため、プリンタに持たせる機能は単純化することができる。
しかしながら、プリンタからサーバ等の外部装置にアクセスしてデータを取得するための仕組みについては、TCP/IP(Transmission Control Protocol/Internet Protocol)やHTTPといった(HyperText Transfer Protocol)といった標準的なプロトコルを利用すると開発の効率がよい一方、図26を用いて説明したような、特定の形式のデータしか処理できないプリンタでは、そのままでは標準的なプロトコルを用いた通信に対応することができない。
このため、プリンタに、サーバ等の外部装置にアクセスし、その外部装置からデータを取得して印刷を行う機能を追加する場合には、標準的なプロトコルを使用して取得したデータを印刷するための仕組みを別途開発しなければならず、開発効率が悪いという問題があった。
このような問題は、上述したプリンタに限らず、受信したデータに対してそのデータの形式によらず特定のデータ処理を行うようなデータ処理装置について、同様に存在する問題である。
このような問題は、上述したプリンタに限らず、受信したデータに対してそのデータの形式によらず特定のデータ処理を行うようなデータ処理装置について、同様に存在する問題である。
この発明は、このような問題を解決し、受信したデータに対してデータ処理を行うデータ処理装置において、外部装置にアクセスして取得したデータに対してデータ処理を行う機能のない装置に、容易にこの機能を追加できるようにすることを目的とする。特に、外部装置にアクセスして取得したデータに対してデータ処理を行う機能を有する装置を、既存の資源を利用して容易に開発できるようにすることを目的とする。
上記の目的を達成するため、この発明のデータ処理装置は、外部装置に蓄積されているデータの処理を行うデータ処理装置において、ユーザからの指示に基づき、上記外部装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、自身の上記第1のポートと異なる第2のポートを監視して、そのポートで受信した、上記取得要求に対応する上記外部装置からのデータに対して、上記データ処理手段が取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換手段とを設けたものである。
このようなデータ処理装置において、上記データ変換手段を、各々自身の上記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第2のポートで受信した、上記取得要求に対応する上記外部装置からのデータを、上記データ処理手段が取り扱うことのできる形式のデータに変換して、上記第1のポートにループバックする手段とするとよい。
さらに、上記外部装置にアクセスして、上記外部装置から取得可能な文書のリストのデータを取得する文書リスト取得手段と、その手段が取得したリストの内容を表示手段に表示させる表示制御手段とを設け、上記データ要求手段を、上記表示手段に表示されたリストから文書が選択された場合に、上記外部装置に対してその文書のデータの取得要求を行う手段とするとよい。
さらに、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらにまた、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換、およびHTMLドキュメントから所定の要素の内容を取り出す処理のいずれかを含むものとするとよい。
さらにまた、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換、およびHTMLドキュメントから所定の要素の内容を取り出す処理のいずれかを含むものとするとよい。
また、この発明のデータ処理システムは、データ蓄積装置と、そのデータ蓄積装置に蓄積されているデータを処理するデータ処理装置とを備えたデータ処理システムにおいて、上記データ処理装置に、ユーザからの指示に基づき、上記データ蓄積装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、自身の上記第1のポートと異なる第2のポートを監視して、そのポートで受信した、上記取得要求に対応する上記データ蓄積装置からのデータに対して、上記データ処理手段が取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換手段とを設け、上記データ蓄積装置に、データを蓄積するデータ蓄積手段と、上記取得要求に応じて、要求されたデータを上記データ蓄積手段から取得して上記データ処理装置の上記第2のポートに送信する手段とを設けたものである。
このようなデータ処理システムにおいて、上記データ処理装置の上記第2のデータ変換手段を、各々自身の上記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第2のポートで受信した、上記取得要求に対応する上記データ蓄積装置からのデータを、上記データ処理手段が取り扱うことのできる形式のデータに変換して、上記第1のポートにループバックする手段とするとよい。
さらに、上記データ処理装置において、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ処理装置において、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、この発明のデータ処理装置の制御方法は、外部装置に蓄積されているデータの処理を行うデータ処理装置に、ユーザからの指示に基づき外部装置に対して蓄積されているデータの取得要求を行うデータ要求手順と、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手順と、自身の上記第1のポートと異なる第2のポートを監視して、そのポートで受信した、上記取得要求に対応する上記外部装置からのデータに対して、上記データ処理手順で取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換手順とを実行させるものである。
このようなデータ処理装置の制御方法において、上記データ変換手順を、各々の手順で自身の上記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手順で監視するポートにループバックする複数の変換手順で複数段のデータ変換処理を行うことにより、上記第2のポートで受信した、上記取得要求に対応する上記外部装置からのデータを、上記データ処理手順で取り扱うことのできる形式のデータに変換して、上記第1のポートにループバックする手順とするとよい。
さらに、上記データ処理手順で行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ処理手順で行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、この発明のデータ変換機能付加方法は、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段を有するデータ処理装置に、ユーザからの指示に基づき、上記外部装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、自身の上記第1のポートと異なる第2のポートを監視して、そのポートで受信した、上記取得要求に対応する上記外部装置からのデータに対して、上記データ処理手段が取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換手段とを付加するものである。
このようなデータ変換機能付加方法において、上記データ変換手段を、各々自身の上記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第2のポートで受信した、上記取得要求に対応する上記外部装置からのデータを、上記データ処理手段が取り扱うことのできる形式のデータに変換して、上記第1のポートにループバックする手段とするとよい。
また、上記データ処理装置に、上記外部装置にアクセスして、上記外部装置から取得可能な文書のリストのデータを取得する文書リスト取得手段と、その手段が取得したリストの内容を表示手段に表示させる表示制御手段とをさらに付加し、上記データ要求手段を、上記表示手段に表示されたリストから文書が選択された場合に、上記外部装置に対してその文書のデータの取得要求を行う手段とするとよい。
さらに、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらにまた、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換、HTMLドキュメントから所定の要素の内容を取り出す処理のいずれかを含むものとするとよい。
さらにまた、上記データ変換手段が行うデータ変換を、データの解凍、復号化、プリンタ言語変換、HTMLドキュメントから所定の要素の内容を取り出す処理のいずれかを含むものとするとよい。
また、この発明のプログラムは、外部装置に蓄積されているデータの処理を行うデータ処理装置を制御するコンピュータを、ユーザからの指示に基づき、上記外部装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、自身の上記第1のポートと異なる第2のポートを監視して、そのポートで受信した、上記取得要求に対応する上記外部装置からのデータに対して、上記データ処理手段が取扱い可能な形式へのデータ変換を行い、上記第1のポートにループバックするデータ変換手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記データ変換手段を、各々自身の上記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、上記第2のポートで受信した、上記取得要求に対応する上記外部装置からのデータを、上記データ処理手段が取り扱うことのできる形式のデータに変換して、上記第1のポートにループバックする手段とするとよい。
さらに、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
さらに、上記データ処理手段が行うデータ処理を、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換とするとよい。
また、この発明の記録媒体は、上記のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
以上のようなこの発明のデータ処理装置、データ処理システム、データ処理装置の制御方法、またはデータ変換機能付加方法によれば、受信したデータに対してデータ処理を行うデータ処理装置において、外部装置にアクセスして取得したデータに対してデータ処理を行う機能のない装置に、容易にこの機能を追加できるようにすることができる。また、外部装置にアクセスして取得したデータに対してデータ処理を行う機能を有する装置を、既存の資源を利用して容易に開発できるようにすることもできる。
また、この発明のプログラムによれば、コンピュータにデータ処理装置を制御させて上記のような機能を実現させ、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔第1の実施形態:図1乃至図5〕
まず、図1に、この発明のデータ処理システムの第1の実施形態を含むシステムの構成を示す機能ブロック図を示す。
この実施形態のデータ処理システムは、図1に示すデータ蓄積装置10とデータ処理装置20とによって構成される。そして、情報処理装置30等の、データ処理装置20に処理させるべきデータを生成する装置から送信されるデータをデータ蓄積装置10が蓄積しておき、データ処理装置20がデータ蓄積装置10にアクセスしてそのデータを取得し、処理するシステムである。
また、これらの各装置の間の通信経路としては、LAN(ローカルエリアネットワーク)のようなネットワークを始め、有線・無線を問わず、任意の通信経路を利用することができる。
〔第1の実施形態:図1乃至図5〕
まず、図1に、この発明のデータ処理システムの第1の実施形態を含むシステムの構成を示す機能ブロック図を示す。
この実施形態のデータ処理システムは、図1に示すデータ蓄積装置10とデータ処理装置20とによって構成される。そして、情報処理装置30等の、データ処理装置20に処理させるべきデータを生成する装置から送信されるデータをデータ蓄積装置10が蓄積しておき、データ処理装置20がデータ蓄積装置10にアクセスしてそのデータを取得し、処理するシステムである。
また、これらの各装置の間の通信経路としては、LAN(ローカルエリアネットワーク)のようなネットワークを始め、有線・無線を問わず、任意の通信経路を利用することができる。
このようなデータ処理システムにおいて、データ蓄積装置10は、通信制御部11とデータ蓄積部12とを備えている。
そして、通信制御部11は、データ蓄積装置10と、データ処理装置20及び情報処理装置30との間の通信を制御する機能を有し、より具体的には、情報処理装置30から受信したデータをデータ蓄積部12に蓄積する機能と、データ処理装置20からのデータ取得要求に応じて、データ蓄積部12に蓄積したデータをデータ処理装置20の第2のポートに送信する機能とを有する。
そして、通信制御部11は、データ蓄積装置10と、データ処理装置20及び情報処理装置30との間の通信を制御する機能を有し、より具体的には、情報処理装置30から受信したデータをデータ蓄積部12に蓄積する機能と、データ処理装置20からのデータ取得要求に応じて、データ蓄積部12に蓄積したデータをデータ処理装置20の第2のポートに送信する機能とを有する。
また、データ蓄積部12は、通信制御部11が情報処理装置30から受信したデータを蓄積する機能を有するデータ蓄積手段である。なお、データ蓄積部12に蓄積するデータは、データ処理装置20に送信すべきもののみでもよいし、そのデータに付随して受信したデータに基づき、識別用のインデックス等を付して蓄積するようにしてもよい。
一方、データ処理装置20は、データ処理機能部21,データ変換機能部22,データ取得要求部23,操作受付部24を有する。
そして、データ処理機能部21は、データ処理手段であり、第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行う機能を有する。
そして、データ処理機能部21は、データ処理手段であり、第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行う機能を有する。
なお、データ処理機能部21による処理後のデータは、外部に出力しても、データ処理装置20の内部で別の用途に使用してもよい。また、ここでいう「データの形式によらず」とは、アプリケーションが処理対象として認識するレベルでの形式を指すものである。装置間でデータを送受信する際には、通信プロトコルに従ってデータパケットに所定の形式のヘッダやフッタを付すことが行われるので、ポートに入力するデータ自体には、一部所定の形式であることが必要な部分もあるが、この部分のデータについては考慮しないものとする。
データ変換機能部22は、データ変換手段であり、第1のポートとは異なる第2のポートを監視して、そのポートで受信した、データ取得要求に応じてデータ蓄積装置10から送信されてくるデータに対して、データ処理機能部21が取り扱うことのできる形式へのデータ変換を行って、その変換後のデータをループバックにより第1のポートに送信する機能を有する。
データ取得要求部23は、データ要求手段であり、ユーザからの指示に基づき、データ蓄積装置10に対して、データ蓄積部12に蓄積されているデータの取得を要求するデータ取得要求を送信する機能を有する。
操作受付部24は、その指示を受け付けるためのユーザインタフェースである。この指示は、ハードウェアキー、タッチパネル、GUI(グラフィカル・ユーザ・インタフェース)、その他の各種センサ等、任意の方式により受け付け可能である。また、データ蓄積装置10からどのデータを取得するかの指定も受け付け、その内容をデータ取得要求に反映させることができるようにしてもよい。
なお、データ蓄積装置10のアドレス等の宛先情報は、データ取得要求部23が参照できるように予め設定しておくようにする。あるいは、宛先情報の指定も操作受付部24が受け付けるようにしてもよい。
操作受付部24は、その指示を受け付けるためのユーザインタフェースである。この指示は、ハードウェアキー、タッチパネル、GUI(グラフィカル・ユーザ・インタフェース)、その他の各種センサ等、任意の方式により受け付け可能である。また、データ蓄積装置10からどのデータを取得するかの指定も受け付け、その内容をデータ取得要求に反映させることができるようにしてもよい。
なお、データ蓄積装置10のアドレス等の宛先情報は、データ取得要求部23が参照できるように予め設定しておくようにする。あるいは、宛先情報の指定も操作受付部24が受け付けるようにしてもよい。
また、情報処理装置30は、送信データ生成部31と通信制御部32を備えている。
そして、送信データ生成部31は、データ処理装置20に処理させるデータを生成する機能を有する。通信制御部32は、送信データ生成部31が生成したデータを、そのデータの蓄積を要求する蓄積要求と共にデータ蓄積装置10に送信し、データ蓄積部12に蓄積させる機能を有する。なお、データ蓄積装置10のアドレス等の宛先情報は、通信制御部32が参照できるように予め設定しておくようにする。
そして、送信データ生成部31は、データ処理装置20に処理させるデータを生成する機能を有する。通信制御部32は、送信データ生成部31が生成したデータを、そのデータの蓄積を要求する蓄積要求と共にデータ蓄積装置10に送信し、データ蓄積部12に蓄積させる機能を有する。なお、データ蓄積装置10のアドレス等の宛先情報は、通信制御部32が参照できるように予め設定しておくようにする。
次に、図2に、上述したデータ処理装置20のハードウェア構成を示す。
この図に示すように、データ処理装置20は、CPU121,ROM122,RAM123,不揮発性メモリ124,通信インタフェース(I/F)125,操作部126を備え、これらがシステムバス127により接続されている。
この図に示すように、データ処理装置20は、CPU121,ROM122,RAM123,不揮発性メモリ124,通信インタフェース(I/F)125,操作部126を備え、これらがシステムバス127により接続されている。
そして、CPU121は、データ処理装置20全体を統括制御する制御手段であり、ROM122や不揮発性メモリ124に記録された種々のプログラムを実行することにより、データ処理手段,データ変換手段等の各手段として機能し、この実施形態の特徴に係る種々の機能を実現する。
ROM122は、不揮発性の記憶手段であり、CPU121が実行するプログラムや、固定的なパラメータ等を記憶する。ROM122を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
ROM122は、不揮発性の記憶手段であり、CPU121が実行するプログラムや、固定的なパラメータ等を記憶する。ROM122を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
RAM123は、一時的に使用するデータを記憶したり、CPU121のワークメモリとして使用したりする記憶手段である。
不揮発性メモリ124は、フラッシュメモリやHDD(ハードディスクドライブ)等による書き換え可能な不揮発性記憶手段であり、CPU121が実行するプログラムや、装置の電源がOFFされた後でも保持しておく必要があるパラメータの値等を記憶する。
不揮発性メモリ124は、フラッシュメモリやHDD(ハードディスクドライブ)等による書き換え可能な不揮発性記憶手段であり、CPU121が実行するプログラムや、装置の電源がOFFされた後でも保持しておく必要があるパラメータの値等を記憶する。
通信I/F125は、データ処理装置20をネットワークに接続するためのインタフェースであり、例えばイーサネット(登録商標)方式の通信を行うためのネットワークインタフェースとすることができる。そして、ネットワークを介して他の装置と通信を行う場合、この通信I/F125とCPU121とが通信手段として機能する。なお、通信I/F125は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数の通信I/F125を設けることも当然可能である。
操作部126は、ユーザによる操作を受け付けるためのキーやボタン、あるいはタッチパネル等の操作手段である。液晶ディスプレイ(LCD)や発光ダイオード(LED)等による表示部を兼ね備えていてもよい。
操作部126は、ユーザによる操作を受け付けるためのキーやボタン、あるいはタッチパネル等の操作手段である。液晶ディスプレイ(LCD)や発光ダイオード(LED)等による表示部を兼ね備えていてもよい。
なお、図2には示していないが、データ処理装置20に、外部に対して通信以外の物理的な出力を行うためのエンジン部を設けてもよい。このエンジン部は、例えばデータ処理装置20がレーザプリンタであれば、電子写真方式によるプリントエンジンであり、CPU121がこれらの動作を適切に制御することにより、データ処理装置20にプリント動作を実行させることができる。
また、ユーザにメッセージやGUI等を表示したり、ユーザの操作を受け付けたりするための操作部及び表示部を設けてもよい。
また、データ蓄積装置10及び情報処理装置30のハードウェア構成も、図3に示したものと同様、CPU,ROM,RAM,HDD,通信I/Fを設けたものとすればよく、例えば公知のコンピュータを用いることができる。
また、ユーザにメッセージやGUI等を表示したり、ユーザの操作を受け付けたりするための操作部及び表示部を設けてもよい。
また、データ蓄積装置10及び情報処理装置30のハードウェア構成も、図3に示したものと同様、CPU,ROM,RAM,HDD,通信I/Fを設けたものとすればよく、例えば公知のコンピュータを用いることができる。
そして、これらのハードウェアに、図1を用いて説明したような機能を実現させることにより、データ処理装置20において、データ処理機能部21が、処理するデータの取得を第1のポートから行う機能しか有さず、かつその第1のポートがデータ蓄積装置10との通信に適さない場合でも、データ蓄積装置10との間の通信に適する第2のポートでデータ蓄積装置10からデータを受信してそのデータをデータ処理機能部21に処理させ、最終的にデータ処理機能部21による処理結果を得ることができる。
すなわち、データ処理装置20は何らかの通信プロトコルに従ってデータ取得要求をデータ蓄積装置10に送信し、データ蓄積装置10は、その要求に対する応答として、データ処理装置20に対し、処理させるデータを送信する。データ処理装置20における第2のポートは、その応答を受信するポートである。
すなわち、データ処理装置20は何らかの通信プロトコルに従ってデータ取得要求をデータ蓄積装置10に送信し、データ蓄積装置10は、その要求に対する応答として、データ処理装置20に対し、処理させるデータを送信する。データ処理装置20における第2のポートは、その応答を受信するポートである。
そして、データ変換機能部22は、第2のポートで受信したデータを、データ処理機能部21が取り扱うことのできる形式へ変換し、変換後のデータを第1のポートにループバックする。すると、データ処理機能部21は、そのデータが初めから第1のポートに送信されてきたかの如く、ループバックされてきたデータを処理し、処理後のデータを出力することができる。
従って、データ処理装置20によれば、データ蓄積装置10からの要求に応じて第1のポートにデータを送信させるようなプロトコルを開発しなくても、データ蓄積装置10から第2のポートに、一般的な通信プロトコルに従ってデータを送信させるだけで、第1のポートにデータを送信させた場合と同等な処理結果を得ることができる。
従って、データ処理装置20によれば、データ蓄積装置10からの要求に応じて第1のポートにデータを送信させるようなプロトコルを開発しなくても、データ蓄積装置10から第2のポートに、一般的な通信プロトコルに従ってデータを送信させるだけで、第1のポートにデータを送信させた場合と同等な処理結果を得ることができる。
なお、情報処理装置30の通信制御部32が、送信データ生成部31が生成したデータを直接データ処理装置20の第1のポートに送信して処理させることができるようにしてもよい。この場合でも、データ処理装置20のデータ処理機能部21は、受信したデータに対して、上記の特定のデータ処理を行う。データ処理装置20にデータ変換機能部22を設けたとしても、このようなデータ処理機能部21の機能はいささかも妨げられることはない。
データ処理装置20においては、このように、データ処理機能部21がデータを受け取る受け口を、情報処理装置30から受け取る場合と、第2のデータ変換機能部22から受け取る場合とで共通化しているため、データ処理機能部21(を実現するためのソフトウェアやハードウェア)が開発済みである場合、それ自体を改変する必要は全くない。そして、データ変換機能部22及びデータ取得要求部23を実現するためのソフトウェアやハードウェアを追加するだけで、データ処理装置20に上述した機能を実現させることができる。
従って、データ処理装置20が、データ蓄積装置10に要求してデータを取得し、そのデータをデータ処理機能部21による処理に供することができるようにしつつ、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることができる。
従って、データ処理装置20が、データ蓄積装置10に要求してデータを取得し、そのデータをデータ処理機能部21による処理に供することができるようにしつつ、このような機能を有する装置を、既存の資源を利用して容易に開発できるようにすることができる。
ただし、データ処理機能部21は、受信したデータの形式によらず特定のデータ変換を行うようにしているため、処理対象として想定している形式以外の形式のデータを受信してしまうと、変換処理が意味を成さないものとなり、出力が全く無意味なデータになってしまう。従って、情報処理装置30がデータ処理装置20の第1のポートに直接データを送信する場合には、情報処理装置30の側で、データ処理機能部21が処理可能な形式のデータを送信する必要がある。
ところで、近年では、セキュリティを考慮し、LANと外部ネットワークとの境界だけでなく、LAN環境内にもファイアウォールを設けることが行われるようになっている。
従って、図3に示すように、データ蓄積装置10及び情報処理装置30とデータ処理装置20との間に、ファイアウォール70が設けられることも考えられる。そしてこの場合、データ処理装置20は、データ蓄積装置10及び情報処理装置30から、ファイアウォール70越しにデータを受信することになる。
従って、図3に示すように、データ蓄積装置10及び情報処理装置30とデータ処理装置20との間に、ファイアウォール70が設けられることも考えられる。そしてこの場合、データ処理装置20は、データ蓄積装置10及び情報処理装置30から、ファイアウォール70越しにデータを受信することになる。
しかし、ファイアウォール70は、通常、予め定めた特定のポート以外のポートを使用した通信を遮断し、不正な通信を防止できるような設定とすることが行われる。従って、第1のポートがデータ処理装置20独自のプロトコルでの通信に用いるポートであると、ファイアウォール70により通信が遮断され、情報処理装置30からデータ処理装置20の第1のポートへ直接のデータを送信しようとしても、送信できないことも考えられる。
しかし、HTTPやHTTPS(HyperText Transfer Protocol Security)、あるいはLDAP(Lightweight Directory Access Protocol),POP3(Post Office Protocol 3),SMTP(Simple Mail Transport Protocol),FTP(File Transfer Protocol)のような通常よく使用されるプロトコルを用いた通信に使用されるポート、すなわちこれらのプロトコルを用いた通信に使用する旨が予約されているポートは、ファイアウォール70において使用が許可される場合が多い。
このため、ファイアウォール70があっても、データ処理装置20がこのようなプロトコルを用いてデータ蓄積装置10からデータを取得することは可能である場合が多い(この場合にデータ処理装置20がデータを受け取るポートが第2のポートである)。従って、情報処理装置30からデータ処理装置20に直接データを送信できなくても、一旦データ蓄積装置10に蓄積することにより、データ処理装置20側からそのデータを取得させて処理させることができる。
この場合に、データ処理機能部21により、情報処理装置30からのデータが初めから第1のポートに送信されてきたかの如く、データの処理結果が得られることは、上述の通りである。
この場合に、データ処理機能部21により、情報処理装置30からのデータが初めから第1のポートに送信されてきたかの如く、データの処理結果が得られることは、上述の通りである。
従って、データ処理装置20には、データ変換機能部22を、ファイアウォール70を通過できる通信プロトコルに対応させることにより、ファイアウォール70により外部装置から第1のポートへのデータ送信が遮断されるような環境下であっても、データ処理装置20側で、ファイアウォールのない環境での使用を想定して設計したデータ処理機能部21に一切変更を加えることなく、また、ファイアウォール70の設定を変更することもなく、外部からデータを受信してデータ処理機能部21に処理させることができるという効果もある。
なお、データ変換機能部22も、データ処理機能部21と同様、受信したデータの形式によらず特定のデータ変換を行うようにしてもよい。しかし、データ変換機能部22が処理するデータは、上述したようなHTTPやHTTPSを始めとする、よく使用されるプロトコルを用いた転送に適した形式のデータとすることが好ましい。そして、このような形式のデータには、種々のパラメータを含め、データの内容を示すことがよく行われるため、このようなパラメータの値を参照し、その値に応じて処理の内容を変えるようにしてもよい。
例えば、基本処理として、HTTPメッセージの所定のタグの中身を取り出す処理を行い、HTTPメッセージ中に、その所定のタグの中身が圧縮されている旨の情報が含まれていた場合には、取り出したデータにさらに解凍処理を行う等である。
また、図3では、情報処理装置30とデータ蓄積装置10との間にはファイアウォール70を示していない。しかし、ここにファイアウォール70があったとしても、情報処理装置30とデータ蓄積装置10との間でも上記のような通常よく使用されるプロトコルを用いた通信を行うようにすれば、これらの装置の間での通信も可能な場合が多いと考えられる。
また、図3では、情報処理装置30とデータ蓄積装置10との間にはファイアウォール70を示していない。しかし、ここにファイアウォール70があったとしても、情報処理装置30とデータ蓄積装置10との間でも上記のような通常よく使用されるプロトコルを用いた通信を行うようにすれば、これらの装置の間での通信も可能な場合が多いと考えられる。
また、以上説明してきたようなデータ処理システムにおいて、図4に示すように、データ処理装置20′にデータ変換機能部を複数段に設け、順次、次段のデータ変換機能部で処理可能なデータ形式への変換を行って、次段のデータ変換機能部がデータを受け付けるポートに、変換後のデータをループバックさせるようにすることも考えられる。この場合、各データ変換機能部が、データ変換手段に該当する。図では3段だが、それ以上のデータ変換機能部を設けてよいことは、もちろんである。
そして、このようにした場合でも、データ処理装置20′がデータ蓄積装置10からデータを受信するポートを第3のポートとし、第2のデータ変換機能部26にデータ蓄積装置10から送信されてくるデータを適切に処理できる機能を設けておけば、データ処理装置20′の側では、各データ変換機能部がデータ変換を実行しつつ、最終的にデータ処理機能部21による処理結果を得ることができる。
このような構成は、データ変換を入れ子式に行う必要がある場合に有効である。
このような構成は、データ変換を入れ子式に行う必要がある場合に有効である。
また、図4の構成において、多段の変換処理のうち、途中のデータ変換機能部もデータ蓄積装置10から送信されてくるデータに対応可能であれば、データ蓄積装置10がその途中のデータ変換機能部が監視するポートにデータを送信してきた場合でも、そのデータ変換機能部以降の変換処理を実行させることが可能である。すなわち、多段の変換処理のうち、途中の工程から処理を開始させる制御も可能である。
また、図5に示すように、データ処理装置20″側で、複数のデータ変換機能部が、データ処理機能部21が取り扱うことのできる形式へのデータ変換を行って、処理後のデータを第1のポートにループバックさせるような構成も可能である。このようにしても、最初にデータを受け付けるデータ変換機能部が、データ蓄積装置10から送信されてくるデータに対応可能であれば、最終的にデータ処理機能部21による処理結果を得ることができる。
このような構成は、データ処理装置20″がデータ蓄積装置10との間で複数のプロトコルを用いた通信を行い、かつ各プロトコルについてデータ処理装置20″がデータを受信するポートが異なる場合に有効である。もちろん、図4に示した構成と、図5に示した構成とを組み合わせてもよい。
このような構成は、データ処理装置20″がデータ蓄積装置10との間で複数のプロトコルを用いた通信を行い、かつ各プロトコルについてデータ処理装置20″がデータを受信するポートが異なる場合に有効である。もちろん、図4に示した構成と、図5に示した構成とを組み合わせてもよい。
〔第2の実施形態:図6乃至図17〕
次に、この発明のデータ処理システムの、より具体的な第2の実施形態について説明する。
図6及び図7は、その第2の実施形態であるプリントシステムを含むシステムの構成を示す機能ブロック図である。図6には、サーバ装置40とプリンタ50とがHTTPを用いて通信を行う場合のデータの流れを、図7には、同じくHTTPSを用いて通信を行う場合のデータの流れをそれぞれ示している。なお、これらの図においては、ソフトウェアにより実現される機能を示すブロックに、そのソフトウェアの名称を付している。また、以後、説明の便宜のため、CPUがソフトウェアを実行することによって行う処理や動作を、そのソフトウェアが処理や動作を行うものとして説明することもある。
次に、この発明のデータ処理システムの、より具体的な第2の実施形態について説明する。
図6及び図7は、その第2の実施形態であるプリントシステムを含むシステムの構成を示す機能ブロック図である。図6には、サーバ装置40とプリンタ50とがHTTPを用いて通信を行う場合のデータの流れを、図7には、同じくHTTPSを用いて通信を行う場合のデータの流れをそれぞれ示している。なお、これらの図においては、ソフトウェアにより実現される機能を示すブロックに、そのソフトウェアの名称を付している。また、以後、説明の便宜のため、CPUがソフトウェアを実行することによって行う処理や動作を、そのソフトウェアが処理や動作を行うものとして説明することもある。
この実施形態のプリントシステムは、図6及び図7に示すサーバ装置40とプリンタ50とによって構成される。そして、PC60等のプリント実行を指示する装置から送信されるプリントデータをサーバ装置40が蓄積しておき、プリンタ50がサーバ装置40にアクセスしてそのプリントデータを取得し、そのプリントデータに従った印刷を行うシステムである。
また、これらの各装置の間の通信経路としては、LAN(ローカルエリアネットワーク)のようなネットワークを始め、有線・無線を問わず、任意の通信経路を利用することができる。
また、これらの各装置の間の通信経路としては、LAN(ローカルエリアネットワーク)のようなネットワークを始め、有線・無線を問わず、任意の通信経路を利用することができる。
このようなプリントシステムにおいて、サーバ装置40は、通信制御部41とデータ蓄積部42とを備えている。
そして、通信制御部41は、HTTP又はHTTPSを用いた外部装置との間の通信を制御する機能を有する。また、PC60から受信したプリントデータをデータ蓄積部42に蓄積する機能と、プリンタ50からの取得要求に応じて、データ蓄積部42に蓄積したプリントデータをプリンタ50のHTTPポートに送信する機能も有する。また、プリンタ50から、データ蓄積部42に蓄積したプリントデータファイルのリストの送信を要求された場合に、そのリストのデータを作成してプリンタ50に送信する機能も有する。
また、データ蓄積部42は、通信制御部41がPC60から受信したプリントデータ及びこれに関連するデータを蓄積する機能を有するデータ蓄積手段である。
そして、通信制御部41は、HTTP又はHTTPSを用いた外部装置との間の通信を制御する機能を有する。また、PC60から受信したプリントデータをデータ蓄積部42に蓄積する機能と、プリンタ50からの取得要求に応じて、データ蓄積部42に蓄積したプリントデータをプリンタ50のHTTPポートに送信する機能も有する。また、プリンタ50から、データ蓄積部42に蓄積したプリントデータファイルのリストの送信を要求された場合に、そのリストのデータを作成してプリンタ50に送信する機能も有する。
また、データ蓄積部42は、通信制御部41がPC60から受信したプリントデータ及びこれに関連するデータを蓄積する機能を有するデータ蓄積手段である。
一方、プリンタ50は、プリンタアプリ51,HTTP通信用アプリ52,HTTPS通信用アプリ53,パネル制御モジュール54,操作パネル55,プリントエンジン56を備えている。
そして、プリンタアプリ51は、データ処理手段であり、第1のポートである9100番ポートを監視して、ここで何らかのデータを受信した場合、そのデータを特定のプリンタ言語で記載されたプリントデータとして取り扱い、そのプリントデータを、プリントエンジン56にプリントを行わせるための画像データに変換する処理を行う。すなわち、背景技術の項で図26を用いて説明したプリンタ90のプリンタアプリ91と同様な機能を有する。
そして、プリンタアプリ51は、データ処理手段であり、第1のポートである9100番ポートを監視して、ここで何らかのデータを受信した場合、そのデータを特定のプリンタ言語で記載されたプリントデータとして取り扱い、そのプリントデータを、プリントエンジン56にプリントを行わせるための画像データに変換する処理を行う。すなわち、背景技術の項で図26を用いて説明したプリンタ90のプリンタアプリ91と同様な機能を有する。
また、HTTP通信用アプリ52は、データ要求手段及びデータ変換手段であり、サーバ装置40等の外部装置との間でHTTPを用いた通信を行う機能を有する。より具体的には、パネル制御モジュール54から受け取る操作内容の情報により、ユーザからサーバ装置40に蓄積されている文書の印刷指示があったことを検出した場合に、サーバ装置40に対してその文書に係るプリントデータの送信を要求する取得要求のHTTPリクエストを送信する機能を有する。また、その要求に応じて送信されてくるHTTPレスポンスを第2のポートであるHTTPポートで受信した場合に、その構造を解析すると共に、プリンタアプリ51が取り扱うことができる形式のプリントデータが記載されているはずの特定のタグ内の要素を取り出す機能も有する。そして、取り出したプリントデータをループバックにより9100番ポートに送信する機能も有する。
さらに、HTTP通信用アプリ52は、文書リスト取得手段でもあり、パネル制御モジュール54から受け取る操作内容の情報により、ユーザからサーバ装置40に蓄積されているプリントデータのリストの表示指示があったことを検出した場合に、サーバ装置40に対してそのリストのデータの送信を要求するHTTPリクエストを送信する機能を有する。また、その要求に応じて送信されてくるHTTPレスポンスを第2のポートであるHTTPポートで受信し、その構造を解析すると共に、リストのデータが記載されているはずの特定のタグ内の要素を取り出してパネル制御モジュール54に渡し、操作パネル55にサーバ装置40に蓄積されている文書のリストを表示させる機能も有する。
なお、HTTPポートは、80番ポートや8080番ポート等、HTTPを用いた通信に通常使用するポートである。
なお、HTTPポートは、80番ポートや8080番ポート等、HTTPを用いた通信に通常使用するポートである。
また、HTTPS通信用アプリ53は、使用するポートがHTTPSポート、より具体的には443番ポートのようにHTTPSを用いた通信に通常使用するポート、であり、通信に使用するプロトコルがHTTPSであって、取り扱うHTTPメッセージを暗号化された状態で送受信することを除けば、HTTP通信用アプリ52と同様な機能を有する。HTTPSポートも第2のポートである。
パネル制御モジュール54は、操作パネル55の動作を制御し、操作パネル55における操作の検出や、画面の表示を行う機能を有する。また、検出した操作の内容は、サーバ装置40との通信に使用するプロトコルに応じてHTTP通信用アプリ52又はHTTPS通信用アプリ53に渡す。画面の表示は、予め用意されているGUIのデータや、HTTP通信用アプリ52又はHTTPS通信用アプリ53から受け取るリストのデータ等に従って行う。
操作パネル55は、液晶ディスプレイ(LCD)や発光ダイオード(LED)等による表示部と、種々のキーやボタン及びLCDに積層したタッチパネル等による操作部とを備える。そして表示部には、パネル制御モジュール54の制御に従って、プリンタ50の動作状態、設定内容、メッセージ、操作受付のためのGUI(グラフィカル・ユーザ・インタフェース)等を表示し、操作部では、プリンタ50に対するユーザの動作指示、設定指示等の操作を受け付ける。
従って、プリンタ50は、9100番ポートで特定のプリンタ言語で記載されたプリントデータを受信した場合にそのプリントデータに基づいてプリントを行うことができると共に、サーバ装置40に対する取得要求に対する応答として、9100番ポートとは異なるHTTPポートやHTTPSポートで、HTTPメッセージ内に記載されたプリントデータを受信した場合には、ここからプリントデータを取り出した上で、そのプリントデータに基づいてプリントを行うことができる。
なお、プリンタアプリ51は、受信するデータが特定の形式であることを前提にデータ変換処理を行うので、実際に受信したデータの形式がそれと異なる形式であった場合には、出力は無意味なデータになってしまう。しかし、このような構成としても、データの送信側を制御して正しい形式のデータを送信させるようにすれば問題なく動作するので、処理負荷の低減を考慮し、このような構成を採用している。
HTTP通信用アプリ52及びHTTPS通信用アプリ53については、受信するデータがプリントデータか文書リストのデータかを区別する必要がある。しかし、サーバ装置40に要求を送信する時点で、応答として受信するデータが何であるべきかは把握できるため、プリンタアプリ51の場合と同様に、受信するデータが、送信した要求の内容に応じた特定の形式であることを前提にデータ変換処理を行うようにしてもよい。
また、HTTP通信用アプリ52及びHTTPS通信用アプリ53は、デバイス組み込み用のJava(登録商標)であるJ2ME(Java 2 Micro Edition)を利用し、DSDK(Device Software Development Kit)の環境で動作するDSDKサーバアプリケーションとして作成することが考えられる。
また、HTTP通信用アプリ52及びHTTPS通信用アプリ53は、デバイス組み込み用のJava(登録商標)であるJ2ME(Java 2 Micro Edition)を利用し、DSDK(Device Software Development Kit)の環境で動作するDSDKサーバアプリケーションとして作成することが考えられる。
一方、PC60には、アプリケーション61とプリンタドライバ62とポートモニタ63を備えるが、このうち、アプリケーション61とプリンタドライバ62は、背景技術の項で図26を用いて説明したPC80のアプリケーション81及びプリンタドライバ82と同様な機能を有する。
また、ポートモニタ63は、標準スプーラ64と拡張スプーラ65を備えているが、このうち標準スプーラ64の機能は、上記のPC80のポートモニタ83の機能と同様なものである。すなわち、プリンタドライバ62は、プリンタ言語形式に変換したプリントデータを、標準スプーラ64のスプールディレクトリにスプールするようにし、標準スプーラ64は、そのスプールディレクトリにスプールされたデータを、使用するプリンタのアドレスの、9100番ポートに送信する機能を有する。
PC60とプリンタ50との間に、9100番ポートへのデータ送信を阻害するファイアウォール等がなければ、この標準スプーラ64を用いてプリンタ50にプリントデータを送信し、プリントを行わせることも可能である。
PC60とプリンタ50との間に、9100番ポートへのデータ送信を阻害するファイアウォール等がなければ、この標準スプーラ64を用いてプリンタ50にプリントデータを送信し、プリントを行わせることも可能である。
しかし、プリントデータを一旦サーバ装置40に蓄積させる場合には、標準スプーラ64のデータ送信機能を使用せず、標準スプーラ64のスプールディレクトリにスプールされたデータは、拡張スプーラ65のスプールディレクトリにスプールし直し、拡張スプーラ65が、そのデータをサーバ装置40に送信するようにしている。そして、この際の送信はここでは、プリントデータ及びその蓄積を要求する蓄積要求を記載したHTTPリクエストを送信することによって行う。
またこの時、ユーザの指定に応じて必要な場合には通信の暗号化を行うことができるようにしている。暗号化を行わない場合は、HTTPを用いて送信を行い、暗号化を行う場合は、HTTPSを用いて送信を行えばよい。
またこの時、ユーザの指定に応じて必要な場合には通信の暗号化を行うことができるようにしている。暗号化を行わない場合は、HTTPを用いて送信を行い、暗号化を行う場合は、HTTPSを用いて送信を行えばよい。
以上のようなサーバ装置40,プリンタ50,PC60のハードウェア構成は、それぞれ第1の実施形態で図2を用いて説明したデータ蓄積装置10,データ処理装置20,情報処理装置30と同様でよい。ただし、プリンタ50は、エンジン部としてプリントエンジン56を備え、操作部及び表示部として、操作パネル55を備えている。また、プリンタ50は、コピーやファクシミリ通信等の機能を併せ持つデジタル複合機(MFP)であってもよい。
次に、図6及び図7に示した各装置が行う処理及び動作につき、より詳細に説明する。
まず図8に、サーバ装置40がプリンタ50からの取得要求に応じてプリンタ50に送信する、プリントデータを含むHTTPメッセージの形式を示す。
なお、通信にHTTPSを用いる場合には、データは暗号化されており、復号化に必要な情報を記載したヘッダやフッタが記載されているが、復号化してしまえば、HTTPメッセージとなる。
まず図8に、サーバ装置40がプリンタ50からの取得要求に応じてプリンタ50に送信する、プリントデータを含むHTTPメッセージの形式を示す。
なお、通信にHTTPSを用いる場合には、データは暗号化されており、復号化に必要な情報を記載したヘッダやフッタが記載されているが、復号化してしまえば、HTTPメッセージとなる。
そして、このHTTPメッセージの中には、予め定めたタグでマークアップした種々の情報が記載され得る。例えば、(a)に示す例では、HTTPメッセージに、印刷属性データと、プリントデータファイルとを記載している。
このうち、プリントデータファイルは、プリンタアプリ51が取り扱うことのできるプリンタ言語によるプリントデータをバイナリで記載したデータを含むファイルである。プリンタ言語としてPCL(Printer Control Language)6,PCL5e,RPCS等を用いる場合、バイナリのプリントデータに、PJL(Printer Job Language)言語で記載したヘッダとフッタを付し、ここに、用紙サイズ、解像度等、プリントジョブの実行に関する情報のうち、画像データの内容に関わる情報を記載する。
このうち、プリントデータファイルは、プリンタアプリ51が取り扱うことのできるプリンタ言語によるプリントデータをバイナリで記載したデータを含むファイルである。プリンタ言語としてPCL(Printer Control Language)6,PCL5e,RPCS等を用いる場合、バイナリのプリントデータに、PJL(Printer Job Language)言語で記載したヘッダとフッタを付し、ここに、用紙サイズ、解像度等、プリントジョブの実行に関する情報のうち、画像データの内容に関わる情報を記載する。
そして、この例では、プリントデータファイルをHTTPメッセージ中からそのまま取り出すだけで、例えば、受信したHTTPメッセージのうち特定のタグでマークアップされている部分(所定の要素)を取り出すだけで、受信したHTTPメッセージをプリンタアプリ51が取り扱うことのできるデータに変換することができる。
また、印刷属性データは、両面印刷有無,集約印刷を行うならばその集約形式,ステープル処理有無,パンチ穴あけ有無等、プリントジョブの実行に関する情報のうち、画像データの内容には関わらない、プリンタ50側での処理を指定する情報を示すデータである。そして、HTTP通信用アプリ52及びHTTPS通信用アプリ53は、このデータに基づき、PJL言語の拡張ヘッダを生成し、HTTPメッセージ中から取り出したプリントデータにマージして9100番ポートにループバック送信することができる。なお、この印刷属性データはHTTPメッセージに記載されていなくてもよい。
なお、印刷属性データは、PJL言語の拡張ヘッダとしてHTTPメッセージ中に記載し、そのまま取り出してプリントデータにマージできるようにしても、パラメータの羅列としてHTTPメッセージ中に記載し、プリンタ50側でこれをPJL言語に変換してもよいが、ここでは後者の方式を採用している。この方が、プリンタ50側で実行できない機能に係る設定、例えば両面ユニットがない場合の両面印刷設定等、をプリンタ50側の判断で排除できるため、好ましい。
また、印刷属性データや、その中の細分化された項目をそれぞれタグによりマークアップしておけば、印刷属性データに関する処理を行う必要がない場合には、単にタグの内容を読み飛ばすようにすることにより、処理を簡略化することができる。
また、印刷属性データや、その中の細分化された項目をそれぞれタグによりマークアップしておけば、印刷属性データに関する処理を行う必要がない場合には、単にタグの内容を読み飛ばすようにすることにより、処理を簡略化することができる。
一方、(b)に示す例では、HTTPメッセージに、印刷属性データと、印刷内容ファイルとを記載している。
このうち、印刷内容ファイルは、プリンタ50にプリントさせる画像の内容を、PDF(Portable Document Format)やPS(PostScript)といったページ記述言語で記載したり、プリントさせる情報の内容をXML(eXtensible Markup Language)といった構造化言語により記載したりしたデータを含むファイルである。
このうち、印刷内容ファイルは、プリンタ50にプリントさせる画像の内容を、PDF(Portable Document Format)やPS(PostScript)といったページ記述言語で記載したり、プリントさせる情報の内容をXML(eXtensible Markup Language)といった構造化言語により記載したりしたデータを含むファイルである。
そして、HTTP通信用アプリ52及びHTTPS通信用アプリ53には、このような印刷内容ファイルを含むHTTPメッセージを受信した場合に、印刷内容ファイルの内容を解釈し、その内容に基づき、プリントすべき画像の内容を、プリンタアプリ51が取り扱うことのできるプリンタ言語によるプリントデータに変換する機能を持たせることができる。これは、PDFやPSといった特定の形式のデータのみ処理可能な機能でもよいし、複数の形式を識別して、各々に対し適切な処理が可能な機能としてもよい。
ただし、このような機能によりプリントデータを生成したとしても、もとの印刷内容ファイルにPJL言語によるヘッダやフッタが含まれていなければ、変換後のデータにもヘッダやフッタは含まれない。そこで、デフォルトのヘッダ及びフッタを自動生成して変換後のプリントデータに付すようにするとよい。
また、HTTPメッセージに印刷属性データが含まれていれば、(a)の場合と同様にPJL言語の拡張ヘッダを生成し、これを変換後のプリントデータに付すことができる。この場合には、自動生成するのはフッタのみでよい。
また、HTTPメッセージに印刷属性データが含まれていれば、(a)の場合と同様にPJL言語の拡張ヘッダを生成し、これを変換後のプリントデータに付すことができる。この場合には、自動生成するのはフッタのみでよい。
次に、図9に、図6及び図7に示したサーバ装置40,プリンタ50及びPC60を設置する環境の例を示す。
会社等においてネットワーク環境を構築する場合、外部からのアクセスを許可するサーバ40e〜40gは、社内環境と社外環境の双方からファイアウォール70eにより隔離したDMZと呼ばれる領域に設けることは広く行われている。
会社等においてネットワーク環境を構築する場合、外部からのアクセスを許可するサーバ40e〜40gは、社内環境と社外環境の双方からファイアウォール70eにより隔離したDMZと呼ばれる領域に設けることは広く行われている。
そして、近年においては、社内環境においても、拠点毎、部署毎、フロア毎といった環境毎にファイアウォール70a〜70dを設け、セキュリティの強化を図ることが行われるようになっている。この場合、図6及び図7に示したプリンタ50及びPC60は、プリンタ50a〜50d,PC60a〜60dのようにファイアウォール70a〜70dの内側に配置される。また、サーバ装置40については、サーバ装置40e〜40gのようにDMZに配置されたサーバ装置40を用いることもできるし、これとは別にサーバ装置40a〜40dのようにファイアウォール70a〜70dの内側に配置することもできる。
そして、ファイアウォール70a〜70dは、HTTPやHTTPSといった通常良く使用されるプロトコルでの通信に使用するポートの使用は許可するが、9100番ポートのように、機種依存のプロトコルでの通信に使用するポートの使用は許可しない設定となっていることが多い。従って、各環境においてプリンタ50(包括的に指す場合には符号のアルファベットは省略する)がファイアウォール70の内側に配置されている場合、同一環境内のPC60からのプリントデータは、9100番ポートで直接受信できるが、他の環境内のPC60の場合には、9100番ポートへの送信は、ファイアウォール70により遮断されてしまう。
しかし、図6及び図7を用いて説明したようなHTTP通信用アプリ52及びHTTPS通信用アプリ53を設け、HTTPやHTTPSといった、ファイアウォール70で使用を許可されているポートを使用するプロトコルでのプリントデータの送受信を可能にすれば、ファイアウォール70が存在しても、PC60から任意のサーバ装置40にプリントデータを登録したり、プリンタ50が任意のサーバ装置40からプリントデータを取得してプリントを実行することができる。また、この際に、プリンタアプリ51やプリントエンジン56については、9100番ポートでプリントデータを受信するような従来の機種のものに、一切変更を加える必要がない。
次に、図10に、PC60において、拡張スプーラ65の使用並びに、通信の暗号化の有無を設定するためのGUIの例を示す。
この設定画面150は、PC60のOS(オペレーティングシステム)にデバイスドライバとして拡張スプーラ65が登録されている場合、ユーザが拡張スプーラ55を使用したプリント、すなわちサーバ装置40に一旦プリントデータを蓄積するプリント、の設定を行おうとすると、その拡張スプーラ65の機能により表示されるものである。
この設定画面150は、PC60のOS(オペレーティングシステム)にデバイスドライバとして拡張スプーラ65が登録されている場合、ユーザが拡張スプーラ55を使用したプリント、すなわちサーバ装置40に一旦プリントデータを蓄積するプリント、の設定を行おうとすると、その拡張スプーラ65の機能により表示されるものである。
そして、この画面においては、ユーザが検索ボタン151を押下すると、PC60がOSの機能によりブロードキャストを行って、使用可能なサーバ装置を検索し、サーバ一覧部152にその情報を表示する。また、ファイアウォール70を越える別環境にあるサーバ装置の情報については、特定のサーバ装置にサーバリストを登録しておき、これを参照して情報を表示するようにしてもよい。図の例では、プリンタ一覧部152にサーバ装置の名称とIP(Internet Protocol)アドレスを表示するようにしているが、これに限られるものではない。
そして、ユーザがカーソル153を合わせてサーバ一覧部152からいずれかのサーバ装置を選択し、OKボタン155を押下すると、そのサーバ装置にプリントデータの蓄積を指示するためのポートが作成され、OSに、そのサーバ装置にプリントデータの蓄積を指示する際に、拡張スプーラ65を使用する旨が設定される。また、そのサーバ装置にデータを送信する際のIPアドレスも設定される。またこのとき、チェックボックス154にチェックが入っていた場合、プリントデータの転送を、HTTPSプロトコルにより暗号化して行う旨も設定される。また、キャンセルボタン156が押下された場合には、設定は行わずにこの画面を閉じる。
次に、図11乃至図18を用いて、図6及び図7に示したプリントシステムにおいてサーバ装置40,プリンタ50及びPC60が実行する、この実施形態の特徴に係る処理について説明する。この処理については、種々のバリエーションが考えられるが、ここでは、PC60がサーバ装置40にプリントデータを送信して蓄積させ、その後プリンタ50からサーバ装置40にアクセスしてプリントデータを取得し、そのプリントデータに基づく印刷を行うことを前提とした場合の処理例を示す。
まず、図11に、PC60のCPUが実行する処理のフローチャートを示す。
この処理は、PC60において、なんらかの文書(図,表,画像等も含む)について、サーバ装置40に一旦プリントデータを蓄積してプリントする蓄積プリントが指示された場合に、CPUがプリンタドライバ62及び拡張スプーラ65を実行することにより行うものである。
この処理は、PC60において、なんらかの文書(図,表,画像等も含む)について、サーバ装置40に一旦プリントデータを蓄積してプリントする蓄積プリントが指示された場合に、CPUがプリンタドライバ62及び拡張スプーラ65を実行することにより行うものである。
この処理においてはまず、ステップS11で、プリンタドライバ62が、標準スプーラ64のスプールディレクトリに、印刷内容を示すプリントデータをスプールする。
その後、ステップS12で、スプールしたプリントデータと、プリント指示時に指定された拡張印刷属性(図8に示した印刷属性データとして記載すべき項目の属性)に基づく印刷属性データとを含み、それらの蓄積を要求する蓄積要求を記載したHTTPメッセージを生成し、ステップS13で、作成したHTTPメッセージを拡張スプーラ65のスプールディレクトリにスプールする。
その後、ステップS12で、スプールしたプリントデータと、プリント指示時に指定された拡張印刷属性(図8に示した印刷属性データとして記載すべき項目の属性)に基づく印刷属性データとを含み、それらの蓄積を要求する蓄積要求を記載したHTTPメッセージを生成し、ステップS13で、作成したHTTPメッセージを拡張スプーラ65のスプールディレクトリにスプールする。
そして、ステップS14で、通信を暗号化する旨の設定がなされているか否か判断する。
ここで暗号化しない旨が設定されていれば、ステップS15に進み、拡張スプーラ65のスプールディレクトリにスプールしたHTTPメッセージを、HTTPプロトコルにより、送信先として指定されているサーバ装置40のアドレスに送信し、処理を終了する。
ここで暗号化しない旨が設定されていれば、ステップS15に進み、拡張スプーラ65のスプールディレクトリにスプールしたHTTPメッセージを、HTTPプロトコルにより、送信先として指定されているサーバ装置40のアドレスに送信し、処理を終了する。
また、ステップS14で暗号化する旨が設定されていれば、ステップS16に進み、拡張スプーラ65のスプールディレクトリにスプールしたHTTPメッセージを暗号化し、HTTPSプロトコルにより、送信先として指定されているサーバ装置40のアドレスに送信し、処理を終了する。
以上の処理により、プリントデータを、暗号化有無に応じてHTTP又はHTTPSを用いてサーバ装置40に送信し、蓄積を要求することができる。
なお、PC60が、プリントデータに基づく印刷実行を許可するプリンタやユーザの制限、あるいは認証用のパスワード等の指定を受け付け、この情報もサーバ装置40に送信して蓄積させるようにしてもよい。
なお、PC60が、プリントデータに基づく印刷実行を許可するプリンタやユーザの制限、あるいは認証用のパスワード等の指定を受け付け、この情報もサーバ装置40に送信して蓄積させるようにしてもよい。
次に、図12に、上記の蓄積要求を含むHTTPメッセージを受信した場合にサーバ装置40のCPUが実行する処理のフローチャートを示す。
サーバ装置40のCPUは、PC60が図11のステップS15又はS16の処理で送信してくるHTTPメッセージを受信すると、図12のフローチャートに示す処理を開始する。そして、まずステップS21で、受信したHTTPメッセージから、蓄積を要求されたプリントデータ、印刷属性データ、およびそれらのインデックス情報として使用するデータを抽出する。このデータとしては、送信元のPCの名前あるいはアドレスや、印刷するファイルの名前等が考えられ、メッセージそのものに記載されていなくても、メッセージの受信に伴って取得できる情報であればよい(IPアドレス等)。
なお、図示は省略したが、通信にHTTPSを用いる場合には、受信したHTTPメッセージを復号化する処理もここで行う。
サーバ装置40のCPUは、PC60が図11のステップS15又はS16の処理で送信してくるHTTPメッセージを受信すると、図12のフローチャートに示す処理を開始する。そして、まずステップS21で、受信したHTTPメッセージから、蓄積を要求されたプリントデータ、印刷属性データ、およびそれらのインデックス情報として使用するデータを抽出する。このデータとしては、送信元のPCの名前あるいはアドレスや、印刷するファイルの名前等が考えられ、メッセージそのものに記載されていなくても、メッセージの受信に伴って取得できる情報であればよい(IPアドレス等)。
なお、図示は省略したが、通信にHTTPSを用いる場合には、受信したHTTPメッセージを復号化する処理もここで行う。
次のステップS22では、ステップS21で抽出したプリントデータ及び印刷属性データにインデックス情報を付して、プリンタ50からの取得要求に応じて送信できるよう、データ蓄積部42に蓄積する。このとき、インデックス情報に応じて、プリントデータを蓄積するフォルダを分けるようにしてもよい。
そして、ステップS23で、PC60に対してプリントデータの蓄積が完了した旨の応答のHTTPメッセージを返して、処理を終了する。
そして、ステップS23で、PC60に対してプリントデータの蓄積が完了した旨の応答のHTTPメッセージを返して、処理を終了する。
以上の処理により、サーバ装置40はPC60から受信したプリントデータをデータ蓄積部42を設けた記録媒体に蓄積することができる。
なお、HTTPメッセージに、プリントデータに基づく印刷実行を許可するプリンタやユーザの制限、あるいは認証用のパスワード等の指定が含まれていた場合、プリンタ50からファイルリストやプリントデータを要求された場合に送信可否の判断に使用できるように、これらの情報もプリントデータと対応させて蓄積しておく。
なお、HTTPメッセージに、プリントデータに基づく印刷実行を許可するプリンタやユーザの制限、あるいは認証用のパスワード等の指定が含まれていた場合、プリンタ50からファイルリストやプリントデータを要求された場合に送信可否の判断に使用できるように、これらの情報もプリントデータと対応させて蓄積しておく。
次に、図13に、プリンタ50がサーバ装置40に蓄積されている文書のリストの表示指示を検出した場合に、プリンタ50及びサーバ装置40が実行する処理のフローチャートを示す。この処理は、プリンタ50に、サーバ装置40との間の通信を暗号化しない(HTTPプロトコルを使用する)ことが設定されている場合の処理である。
プリンタ50のCPUは、パネル制御モジュール54から受け取る情報により、ユーザがサーバ装置40に蓄積されているプリントデータを示すファイルリストの表示指示を行ったことを検出すると、図13の左側のフローチャートに示す処理を開始する。この処理は、HTTP通信用アプリ52の機能に係るものである。
プリンタ50のCPUは、パネル制御モジュール54から受け取る情報により、ユーザがサーバ装置40に蓄積されているプリントデータを示すファイルリストの表示指示を行ったことを検出すると、図13の左側のフローチャートに示す処理を開始する。この処理は、HTTP通信用アプリ52の機能に係るものである。
そして、この処理においては、まずステップS31で、パネル制御モジュール54から、ファイルリストを取得するサーバ装置のIPアドレスとフォルダ名を指定する情報を取得する。これらの情報は、ファイルリストの表示指示を受け付ける際に、これと同時にまたは予め、ユーザに入力させておくようにするとよい。
図14に、この入力を受け付けるための画面の例を示す。
図14に示すサーバ指定画面130は、サーバIP指定部131,フォルダ名指定部132を有し、ここには、ファイルリストを取得するサーバ装置のIPアドレスとフォルダ名を入力する。また、プロキシURL指定部133とプロキシポート指定部134も有し、ファイルリストを取得するサーバ装置へのアクセスにプロキシサーバを使用する場合、そのURLとポートを入力する。
図14に示すサーバ指定画面130は、サーバIP指定部131,フォルダ名指定部132を有し、ここには、ファイルリストを取得するサーバ装置のIPアドレスとフォルダ名を入力する。また、プロキシURL指定部133とプロキシポート指定部134も有し、ファイルリストを取得するサーバ装置へのアクセスにプロキシサーバを使用する場合、そのURLとポートを入力する。
その後、設定ボタン136を押下することにより、入力した内容を設定することができる。図示しない別の画面においてファイルリストの表示が指示されると、この画面で設定した内容に従って、ファイルリストの取得先等がパネル制御モジュール54を介してHTTP通信用アプリ52に伝えられる。キャンセルボタン135を押下した場合には、設定を変更せずに入力された内容を破棄する。
なお、サーバ装置のIPアドレスについては、PC60が図10に示した画面で設定を受け付ける場合と同様、サーバ装置のリストから選択させるようにするとよい。
なお、サーバ装置のIPアドレスについては、PC60が図10に示した画面で設定を受け付ける場合と同様、サーバ装置のリストから選択させるようにするとよい。
図13の説明に戻ると、次のステップS32では、指定されたフォルダ名のフォルダのファイルリストを要求するファイルリスト取得要求のHTTPメッセージを生成して、指定されたIPアドレスのサーバに送信する。
一方、サーバ装置40のCPUは、そのHTTPメッセージを受信すると、図13の右側のフローチャートに示す処理を開始する。図13でステップS32から延びる矢印は、このことを示す。なお、サーバ装置40は、HTTPメッセージを受信した場合、そこに含まれるタグやその内容等から、受信したメッセージがどのような要求に係るものかを判別できるとする。
一方、サーバ装置40のCPUは、そのHTTPメッセージを受信すると、図13の右側のフローチャートに示す処理を開始する。図13でステップS32から延びる矢印は、このことを示す。なお、サーバ装置40は、HTTPメッセージを受信した場合、そこに含まれるタグやその内容等から、受信したメッセージがどのような要求に係るものかを判別できるとする。
そして、サーバ装置40のCPUは、まずステップS41で、受信したHTTPメッセージから、リスト送信を要求されたフォルダの情報を抽出する。その後、ステップS42で、データ蓄積部42を検索し、要求されたフォルダに蓄積しているプリントデータのうち、HTTPメッセージの送信元のプリンタに送信可能なもののリストを作成する。このとき、プリントデータと対応するPC60側のファイル名や、プリントデータの登録時刻等、ユーザに印刷すべきプリントデータを選択させる際に有益な情報も、リストに含めるとよい。また、各プリントデータの送信可否については、蓄積しているプリントデータについてのアクセス権限を示す情報と、HTTPリクエストの送信元の情報とを比較して判断すればよい。
次のステップS43では、作成したリストのデータを含む応答のHTTPメッセージを生成してプリンタ50に返し、処理を終了する。このとき、HTTPメッセージはプリンタ50のHTTPポートに送信する。
一方、プリンタ50側の処理は、ステップS33でこの応答のHTTPメッセージを受信するまで待機する。図13でステップS43から延びる矢印は、このことを示す。
そして、応答を受信すると、ステップS34に進み、受信した応答にファイルリストのデータがあるか否か判断する。そしてあれば、ステップS35でファイルリストのデータをパネル制御モジュール54に渡して、操作パネル55にファイルリスト画面を表示させ、処理を終了する。
そして、応答を受信すると、ステップS34に進み、受信した応答にファイルリストのデータがあるか否か判断する。そしてあれば、ステップS35でファイルリストのデータをパネル制御モジュール54に渡して、操作パネル55にファイルリスト画面を表示させ、処理を終了する。
一方、ステップS34でデータがなければ、ステップS36でエラー処理を行って処理を終了する。この処理は、例えば操作パネル55に「ファイルリストのデータが取得できませんでした」と表示させる等が考えられる。また、ステップS33でタイムアウトした場合にも同様な処理を行うとよい。
以上の処理により、プリンタ50は、サーバ装置40にアクセスして、サーバ装置40から取得可能なファイル(文書)のリストのデータを取得することができる。また、プリンタ50のCPUはステップS32,S33では文書リスト取得手段として機能し、ステップS35では表示制御手段として機能する。
以上の処理により、プリンタ50は、サーバ装置40にアクセスして、サーバ装置40から取得可能なファイル(文書)のリストのデータを取得することができる。また、プリンタ50のCPUはステップS32,S33では文書リスト取得手段として機能し、ステップS35では表示制御手段として機能する。
ここで、図15に、図13のステップS35で表示させるファイルリスト画面の例を示す。
このファイルリスト画面140には、リストボタン141,スクロールボタン142,143,印刷ボタン144を有する。
そして、リストボタン141は、サーバ装置40から取得可能なプリントデータの情報を示すと共に、そのプリントデータを印刷対象とする選択を受け付けるためのボタンである。ここでは、プリントデータの情報として、文書番号、文書名、文書タイプ、およびサーバ装置40への登録日の情報を表示している。
このファイルリスト画面140には、リストボタン141,スクロールボタン142,143,印刷ボタン144を有する。
そして、リストボタン141は、サーバ装置40から取得可能なプリントデータの情報を示すと共に、そのプリントデータを印刷対象とする選択を受け付けるためのボタンである。ここでは、プリントデータの情報として、文書番号、文書名、文書タイプ、およびサーバ装置40への登録日の情報を表示している。
スクロールボタン142,143は、プリントデータの数が多く、リストボタンを画面内に全て表示しきれない場合に、画面をスクロールさせるためのボタンである。
そして、印刷ボタン144は、リストボタン141により印刷対象として選択したプリントデータの印刷実行指示を受け付けるためのボタンであり、このボタンが押下されると、印刷実行指示がパネル制御モジュール54を介してHTTP通信用アプリ52に伝えられる。
そして、印刷ボタン144は、リストボタン141により印刷対象として選択したプリントデータの印刷実行指示を受け付けるためのボタンであり、このボタンが押下されると、印刷実行指示がパネル制御モジュール54を介してHTTP通信用アプリ52に伝えられる。
次に、図16に、プリンタ50がこの印刷実行指示を検出した場合に、プリンタ50及びサーバ装置40が実行する処理のフローチャートを示す。この処理も、プリンタ50に、サーバ装置40との間の通信を暗号化しない(HTTPプロトコルを使用する)ことが設定されている場合の処理である。
プリンタ50のCPUは、パネル制御モジュール54から受け取る情報により、ユーザがファイルリスト画面で印刷すべきプリントデータを選択し、印刷の実行を指示したことを検出すると、図16の左側のフローチャートに示す処理を開始する。この処理も、HTTP通信用アプリ52の機能に係るものである。
プリンタ50のCPUは、パネル制御モジュール54から受け取る情報により、ユーザがファイルリスト画面で印刷すべきプリントデータを選択し、印刷の実行を指示したことを検出すると、図16の左側のフローチャートに示す処理を開始する。この処理も、HTTP通信用アプリ52の機能に係るものである。
そして、この処理においては、ステップS51で、パネル制御モジュール54から、プリントデータを取得するサーバ装置のIPアドレス及びそのサーバ装置から取得すべきプリントデータを指定する情報を取得する。プリントデータの指定は、ファイルリスト画面140でなされたものであり、IPアドレスやフォルダ名については、サーバ指定画面130の設定されたものであるが、図13のステップS31で取得したものを記憶しておいてもよい。
次に、ステップS52で、ローカルホストの9100番ポートに接続要求を行って、接続許可を受ける。その後、ステップS53で、指定されたプリントデータを要求するデータ取得要求のHTTPメッセージを生成し、指定されたIPアドレスのサーバに送信する。
次に、ステップS52で、ローカルホストの9100番ポートに接続要求を行って、接続許可を受ける。その後、ステップS53で、指定されたプリントデータを要求するデータ取得要求のHTTPメッセージを生成し、指定されたIPアドレスのサーバに送信する。
一方、サーバ装置40のCPUは、そのHTTPメッセージを受信すると、図16の右側のフローチャートに示す処理を開始する。図16でステップS53から延びる矢印は、このことを示す。なお、上述のように、サーバ装置40は、HTTPメッセージを受信した場合、そこに含まれるタグやその内容等から、受信したメッセージがどのような要求に係るものかを判別できるとする。
そして、サーバ装置40のCPUは、まずステップS71で、受信したHTTPメッセージから、プリントデータを指定する情報を抽出する。その後、ステップS72で、データ蓄積部42を検索し、送信を要求されたプリントデータ及びそのプリントデータと対応する印刷属性データを取得する。なお、印刷属性データは存在しない場合もある。
そして、サーバ装置40のCPUは、まずステップS71で、受信したHTTPメッセージから、プリントデータを指定する情報を抽出する。その後、ステップS72で、データ蓄積部42を検索し、送信を要求されたプリントデータ及びそのプリントデータと対応する印刷属性データを取得する。なお、印刷属性データは存在しない場合もある。
次のステップS73では、取得したプリントデータ及び印刷属性データを含む応答のHTTPメッセージを生成してプリンタ50に返し、処理を終了する。ここで生成するHTTPメッセージは、図8に示したものである。また、HTTPメッセージはプリンタ50のHTTPポートに送信する。また、ステップS73で送信したデータは、データ蓄積部42から削除してしまってもよいし、再度のプリントに使用できるよう、蓄積したままにしておいてもよい。また、ステップS73での送信時にも、プリンタ50及びそのユーザが、取得を要求してきたプリントデータへのアクセス権限を有することを確認するようにするとよい。
一方、プリンタ50側では、ステップS53の後、HTTPポートを監視し、ステップS54でサーバ装置40から応答のHTTPメッセージを受信するまで待機する。図16でステップS73から延びる矢印は、このことを示す。
そして、応答を受信すると、ステップS54でこれをバッファに蓄積しつつ、蓄積したHTTPメッセージからプリントデータを抽出する。
そして、ステップS55で、受信したデータ中に印刷属性データがあったか否か判断し、あれば、ステップS56でその印刷属性データからPJL言語の拡張ヘッダを生成してステップS54で抽出したプリントデータにマージし、ステップS57以下に進む。なければそのままステップS57以下に進む。
そして、応答を受信すると、ステップS54でこれをバッファに蓄積しつつ、蓄積したHTTPメッセージからプリントデータを抽出する。
そして、ステップS55で、受信したデータ中に印刷属性データがあったか否か判断し、あれば、ステップS56でその印刷属性データからPJL言語の拡張ヘッダを生成してステップS54で抽出したプリントデータにマージし、ステップS57以下に進む。なければそのままステップS57以下に進む。
そして、ステップS57では、ステップS54での抽出処理エラーが起こったか否か判断する。ここで、抽出処理エラーは、抽出に使用したライブラリから処理結果としてエラーが返された場合である。プリントデータとして抽出されたデータが不適当な形式のデータであっても、エラーとはならない。
そして、ステップS57でエラーが起こっていなければ、ステップS58で、抽出したプリントデータを、マージした拡張ヘッダも含めてローカルホストの9100番ポートに送信する。その送信は、データの切れ目を意識せずに4096バイトずつ等の所定サイズずつ行えばよい。また、一度に送信するサイズは、PC60から直接9100番ポートにプリントデータを送信する場合と同じサイズとするとよい。
そして、ステップS57でエラーが起こっていなければ、ステップS58で、抽出したプリントデータを、マージした拡張ヘッダも含めてローカルホストの9100番ポートに送信する。その送信は、データの切れ目を意識せずに4096バイトずつ等の所定サイズずつ行えばよい。また、一度に送信するサイズは、PC60から直接9100番ポートにプリントデータを送信する場合と同じサイズとするとよい。
その後、ステップS59で、プリントデータの抽出及び9100番ポートへの送信が完了したか否か判断し、完了していなければステップS54に戻って処理を繰り返し、完了していれば、ステップS60に進んで通信を切断し、処理を終了する。
また、ステップS57でYESの場合も、ステップS61に進んでエラー処理を行った後、ステップS60で通信を切断し、処理を終了する。
また、ステップS57でYESの場合も、ステップS61に進んでエラー処理を行った後、ステップS60で通信を切断し、処理を終了する。
以上の処理において、ステップS54〜S56ではプリンタ50のCPUがデータ変換手段として機能する。
また、以上の処理により、プリンタ50は、データ取得要求に応じてサーバ装置40からHTTPポートに送信されてくるHTTPメッセージに対し、プリンタアプリ51が処理できる形式のデータとするための変換処理を行い、その処理後のデータを9100番ポートに送信することができる。この変換処理は、ここでは受信したデータの形式によらず同じ処理としているが、適切な形式のデータを受信していれば、出力は、プリンタアプリ51が処理できる形式のプリントデータとなる。なお、ステップS55及びS56の処理は、行わなくてもよい。
また、以上の処理により、プリンタ50は、データ取得要求に応じてサーバ装置40からHTTPポートに送信されてくるHTTPメッセージに対し、プリンタアプリ51が処理できる形式のデータとするための変換処理を行い、その処理後のデータを9100番ポートに送信することができる。この変換処理は、ここでは受信したデータの形式によらず同じ処理としているが、適切な形式のデータを受信していれば、出力は、プリンタアプリ51が処理できる形式のプリントデータとなる。なお、ステップS55及びS56の処理は、行わなくてもよい。
次に、図17に、プリンタ50に、サーバ装置40との間の通信を暗号化する(HTTPSを使用する)ことが設定されている場合の、図16と対応する処理のフローチャートを示す。
この処理は、図16に示した処理と概ね同様なものであり、メッセージを受信するポートがHTTPSポートである点(S84)、受信したHTTPSメッセージを復号化する点(S84,S101)が異なるのみであるので、詳細な説明は省略する。
この処理は、図16に示した処理と概ね同様なものであり、メッセージを受信するポートがHTTPSポートである点(S84)、受信したHTTPSメッセージを復号化する点(S84,S101)が異なるのみであるので、詳細な説明は省略する。
そして、この処理により、プリンタ50は、データ取得要求に応じてサーバ装置40からHTTPSポートに送信されてくる暗号化されたHTTPメッセージに対し、プリンタアプリ51が処理できる形式のデータとするための変換処理を行い、その処理後のデータを9100番ポートに送信することができる。
なお、図13に示した処理についても、通信にHTTPSを使用する場合には、同様な変形が可能である。
なお、図13に示した処理についても、通信にHTTPSを使用する場合には、同様な変形が可能である。
次に、図18に、プリンタ50のCPUが実行するプリンタアプリ51の機能に係る処理のフローチャートを示す。
CPUは、プリンタ50が起動されると、プリンタアプリ51を実行することにより、図18のフローチャートに示す処理を開始する。
そして、ステップS111でプリンタアプリ51を9100番ポートにバインドし、このポートを監視(リスン)する状態にする。そして、ステップS112及びS113でその9100番ポートへの接続を待つ。
CPUは、プリンタ50が起動されると、プリンタアプリ51を実行することにより、図18のフローチャートに示す処理を開始する。
そして、ステップS111でプリンタアプリ51を9100番ポートにバインドし、このポートを監視(リスン)する状態にする。そして、ステップS112及びS113でその9100番ポートへの接続を待つ。
その後、ローカルのループバックあるいはPC60等の外部クライアント等により接続要求があると、ステップS113からステップS114に進んでその接続を許可する。
そして、ステップS115で、9100番ポートでデータを受信し、それをバッファに蓄積しつつ、その蓄積したデータをもとに、画像メモリに画像データを描画して、プリントエンジン56にその画像データに基づくプリントを指示する。
そして、ステップS116で、クライアントからの通信切断、ステップS115での描画処理エラー、描画完了のいずれかが起こるまでステップS115に戻って処理を繰り返す。そして、いずれかが起こるとステップS117で通信を切断し、ステップS112に戻って処理を繰り返す。
そして、ステップS115で、9100番ポートでデータを受信し、それをバッファに蓄積しつつ、その蓄積したデータをもとに、画像メモリに画像データを描画して、プリントエンジン56にその画像データに基づくプリントを指示する。
そして、ステップS116で、クライアントからの通信切断、ステップS115での描画処理エラー、描画完了のいずれかが起こるまでステップS115に戻って処理を繰り返す。そして、いずれかが起こるとステップS117で通信を切断し、ステップS112に戻って処理を繰り返す。
以上の処理により、プリンタ50は、9100番ポートに受信したデータをプリントエンジン56を駆動するための画像データに変換するための特定の描画処理を行い、その処理後のデータに基づいてプリントエンジン56にプリントを実行させることができる。この処理は、データの送信元がHTTP通信用アプリ52やHTTPS通信用アプリ53であっても、PC60であっても、共通に行うようにしている。また、描画処理は、受信したデータの形式によらず同じ処理を行うが、適切な形式のデータを受信していれば、描画により、形成すべき画像の内容を示す画像データを得ることができる。
なお、このフローチャートに示した処理は、従来のプリンタに備えるプリントエンジンの場合と同様なものでよい。
なお、このフローチャートに示した処理は、従来のプリンタに備えるプリントエンジンの場合と同様なものでよい。
以上説明してきたようなプリントシステムによれば、サーバ装置40,プリンタ50及びPC60に、以上説明してきたような機能を実現させることにより、プリンタ50において、プリンタアプリ51が、処理するプリントデータの取得を9100番ポートから行う機能しか有さない場合でも、一般的な通信プロトコルであるHTTPやHTTPSで使用するポートでサーバ装置40からプリントデータを受信してそのデータをプリンタアプリ51に処理させ、プリントエンジン56によりプリントデータに基づく印刷物を得ることができる。
また、この場合において、プリンタアプリ51がデータを受け取る受け口を、HTTP通信用アプリ52やHTTPS通信用アプリ53から受け取る場合と、PC60から受け取る場合とで共通化しているため、従来からあるプリンタアプリ51を改変する必要は全くない。そして、HTTP通信用アプリ52やHTTPS通信用アプリ53及び、パネル制御モジュール54のうちサーバ装置40からのファイルリストやプリントデータの取得指示の受付に必要な部分の機能を追加し、必要な設定を行うだけで、プリンタ50に上述した機能を実現させることができる。
従って、既存の資源を有効に利用し、少ない開発工数で、プリンタがHTTPやHTTPSを用いてサーバ装置からプリントデータを取得して印刷を行うことが可能なプリントシステムを開発することができる。また、プリンタ50側では、プリンタアプリ51が受信したデータに対しては、特定の処理を行うようにしているので、一般にハードウェア資源の制約が厳しいプリンタ50の側での処理負荷を低減すると共に、この点でもアプリの開発工数を低減することができる。HTTP通信用アプリ52やHTTPS通信用アプリ53が受信したデータについても同様な取扱いをするようにすれば、さらに大きな効果を得ることができる。
〔第2の実施形態の変形例:図19乃至図24〕
次に、以上説明してきた第2の実施形態のプリントシステムの変形例について説明する。
第2の実施形態においては、主としてHTTPメッセージにプリンタ言語で記述されたプリントデータをそのまま記載する例について説明したが、これに限られることはない。すなわち、プリントデータを、圧縮したり暗号化したりした状態でHTTPメッセージに記載するようにしてもよい。また、XML形式で定義された帳票データとして記載することも考えられる。
次に、以上説明してきた第2の実施形態のプリントシステムの変形例について説明する。
第2の実施形態においては、主としてHTTPメッセージにプリンタ言語で記述されたプリントデータをそのまま記載する例について説明したが、これに限られることはない。すなわち、プリントデータを、圧縮したり暗号化したりした状態でHTTPメッセージに記載するようにしてもよい。また、XML形式で定義された帳票データとして記載することも考えられる。
図19乃至図22にこれらの場合のHTTP通信用アプリ52におけるデータの取扱い例を示す。
例えば、図19に示すように圧縮したプリントデータをHTTPメッセージに記載した場合、HTTP通信用アプリ52が、受信したHTTPメッセージから取り出した圧縮状態のプリントデータを解凍して9100番ポートにループバック送信すればよい。
このようにすることにより、サーバ装置40からプリンタ50に送信するデータのサイズを低減し、データ転送速度が遅い場合には、全体としてプリントまでの時間を短縮できる。なお、圧縮は、PC60が行い、サーバ装置40が圧縮されたプリントデータを受信してそのまま蓄積するようにしてもよいし、サーバ装置40がPC60から受信したプリントデータを圧縮して蓄積するようにしてもよい。下記の暗号化についても同様である。
例えば、図19に示すように圧縮したプリントデータをHTTPメッセージに記載した場合、HTTP通信用アプリ52が、受信したHTTPメッセージから取り出した圧縮状態のプリントデータを解凍して9100番ポートにループバック送信すればよい。
このようにすることにより、サーバ装置40からプリンタ50に送信するデータのサイズを低減し、データ転送速度が遅い場合には、全体としてプリントまでの時間を短縮できる。なお、圧縮は、PC60が行い、サーバ装置40が圧縮されたプリントデータを受信してそのまま蓄積するようにしてもよいし、サーバ装置40がPC60から受信したプリントデータを圧縮して蓄積するようにしてもよい。下記の暗号化についても同様である。
また、図20に示すように暗号化したプリントデータをHTTPメッセージに記載した場合、HTTP通信用アプリ52が、受信したHTTPメッセージから取り出した暗号化状態のプリントデータを復号化して9100番ポートにループバック送信すればよい。
このようにすることにより、HTTPSプロトコルを使用しなくても、転送するデータを暗号化してセキュリティを向上させることができる。
このようにすることにより、HTTPSプロトコルを使用しなくても、転送するデータを暗号化してセキュリティを向上させることができる。
また、図21に示すようにXML形式で定義された帳票データ等をそのままHTTPメッセージに記載した場合、HTTP通信用アプリ52は、受信したHTTPメッセージから取り出した帳票データをプリンタ言語形式のプリントデータに変換して9100番ポートにループバック送信する。
このようにすれば、PC60にプリンタドライバを設けなくても、プリンタ50にプリントを行わせることが可能になる。従って、多数のクライアントがプリンタ50を共用する場合等には、各クライアントに個別にプリンタドライバをインストールすることが不要になり、管理の負担を軽減することができる。
このようにすれば、PC60にプリンタドライバを設けなくても、プリンタ50にプリントを行わせることが可能になる。従って、多数のクライアントがプリンタ50を共用する場合等には、各クライアントに個別にプリンタドライバをインストールすることが不要になり、管理の負担を軽減することができる。
また、PDA(携帯情報端末)や携帯電話のように、持ち歩く端末では、常に適切なドライバを設定しておくことが難しいし、CPUの処理能力も比較的小さいと考えられるので、このような場合にはプリンタ50の側にプリンタドライバの機能を持たせることが特に有効と考えられる。
なお、HTTPメッセージに、プリントデータの記載形式(圧縮、暗号化、XML形式等)を記載しておき、HTTP通信用アプリ52が受信したHTTPメッセージからまずその記載形式のデータを読み取り、その内容に応じた処理を選択して実行するようにしてもよい。
なお、HTTPメッセージに、プリントデータの記載形式(圧縮、暗号化、XML形式等)を記載しておき、HTTP通信用アプリ52が受信したHTTPメッセージからまずその記載形式のデータを読み取り、その内容に応じた処理を選択して実行するようにしてもよい。
また、HTTPSを利用する場合も、同様にプリントデータを圧縮した状態やXML形式の状態、あるいは暗号化された状態等でHTTPメッセージに記載してもよい。
図22に、図19と対応する例を示す。
図22に、図19と対応する例を示す。
また、第1の実施形態で図4を用いて説明した例と対応するものとして、複数段のデータ変換処理により、プリンタアプリ51が対応しているプリンタ言語形式のプリントデータを生成して9100番ポートに転送するようにすることも考えられる。
図23にこのようにする場合のプリントシステムの機能ブロック図の例を示す。
この例においては、プリンタ50′には、HTTPS通信用アプリ53は省略したが、図6のプリンタ50の構成に加え、解凍アプリ57を設け、9200番ポートで受信したデータに対し、特定の復号化処理を行って、その結果を9100番ポートに送信するようにしている。そして、HTTP通信用アプリ52′は、データ取得要求に対する応答として受信したHTTPメッセージから圧縮状態のプリントデータを取り出して、これを9200番ポートに送信するようにしている。
図23にこのようにする場合のプリントシステムの機能ブロック図の例を示す。
この例においては、プリンタ50′には、HTTPS通信用アプリ53は省略したが、図6のプリンタ50の構成に加え、解凍アプリ57を設け、9200番ポートで受信したデータに対し、特定の復号化処理を行って、その結果を9100番ポートに送信するようにしている。そして、HTTP通信用アプリ52′は、データ取得要求に対する応答として受信したHTTPメッセージから圧縮状態のプリントデータを取り出して、これを9200番ポートに送信するようにしている。
そして、サーバ装置40は、圧縮された状態のプリントデータをHTTPメッセージに記載してプリンタ50′のHTTPポートに送信すると、プリンタ50′側で解凍処理を行わせ、プリントデータに基づくプリントを行わせることができる。すなわち、図17を用いて説明した場合と同様な処理が可能である。
そして、この場合、HTTP通信用アプリ52′にはプリントデータを解凍する機能を設けなくてよく、また、解凍アプリ57には単に受信したデータに対して特定の解凍処理を行って9100番ポートにループバック送信する機能を設ければよい。従って、各アプリの構成を単純化し、開発工数の低減やコストダウンを図ることができる。
そして、この場合、HTTP通信用アプリ52′にはプリントデータを解凍する機能を設けなくてよく、また、解凍アプリ57には単に受信したデータに対して特定の解凍処理を行って9100番ポートにループバック送信する機能を設ければよい。従って、各アプリの構成を単純化し、開発工数の低減やコストダウンを図ることができる。
また、図23に別の例を示すが、この図に示すプリンタ50″に備えるHTTP通信用アプリ52″のように、データ取得要求に対する応答として受信したHTTPメッセージに記載されていたプリントデータが圧縮されているかいないかに応じて、ループバック送信先を変えることができるようにしてもよい。このようにすれば、サーバ装置40から送信されてくるプリントデータの形式が場合によって異なっても、プリンタ50″側でこれを振り分けて適切に処理し、プリントデータに基づくプリントを行うことができる。
もちろん、復号化機能を有するアプリや、XML形式の帳票データをプリントデータに変換する機能を有するアプリ等を設け、HTTPメッセージに含まれるデータの形式に応じ、これらのアプリが監視するポートにループバック送信できるようにすることも考えられる。
また、サーバ装置40にプリントデータを送信して蓄積させる装置の具体例としては、以上説明してきたようなPC60以外にも、例えばスキャナやMFP等の画像機器(画像処理装置)が考えられる。
また、サーバ装置40にプリントデータを送信して蓄積させる装置の具体例としては、以上説明してきたようなPC60以外にも、例えばスキャナやMFP等の画像機器(画像処理装置)が考えられる。
図25に、この場合のプリントシステムの構成例を示す。
この図に示す画像機器160は、操作パネル161及びスキャナエンジン163を備え、スキャナアプリ162によって操作パネル161からの指示を検出してそれに従ってスキャナエンジン163を駆動し、ADF(自動原稿給装装置)やコンタクトガラス上に載置された原稿の画像を読み取って画像データを得る。
この図に示す画像機器160は、操作パネル161及びスキャナエンジン163を備え、スキャナアプリ162によって操作パネル161からの指示を検出してそれに従ってスキャナエンジン163を駆動し、ADF(自動原稿給装装置)やコンタクトガラス上に載置された原稿の画像を読み取って画像データを得る。
そして、スキャナエンジン163は、その画像データをプリンタドライバ164に渡し、以後、その画像データに係る画像をプリントさせるためのプリントデータを、PC60の場合と同様に、標準スプーラ166と拡張スプーラ167を備えるポートモニタ165により、サーバ装置40に適当なプロトコルで送信し、蓄積させる。どのアドレスのサーバ装置にどのプロトコルで送信するかは、操作パネル161からの操作により指定することができる。プリンタ50がサーバ装置40からプリントデータを取得して印刷する処理については、上述したものと同様である。
このようにプリントシステムを構成することにより、スキャナエンジン163で読み取った画像をプリンタ50にプリントさせることができ、全体として、画像機器160とプリンタ50が近くにあればコピー機、遠くにあればファクシミリ装置のような動作を行わせることができる。
このようにプリントシステムを構成することにより、スキャナエンジン163で読み取った画像をプリンタ50にプリントさせることができ、全体として、画像機器160とプリンタ50が近くにあればコピー機、遠くにあればファクシミリ装置のような動作を行わせることができる。
また、PC60や画像機器160がサーバ装置40に蓄積させるプリントデータは、送信側で自ら作成したものでなくてもよく、他の装置から受信した印刷要求に含まれるプリントデータを転送するものでもよい。また、この場合に、図8に示したような印刷属性データを付加して転送するようにしてもよい。
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び変形例において、装置やシステムの構成、具体的な処理内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、通信経路として、ネットワーク以外にも、パラレルケーブルを介した通信経路を用いることも考えられる。
例えば、通信経路として、ネットワーク以外にも、パラレルケーブルを介した通信経路を用いることも考えられる。
また、プリンタアプリ51に、処理中にデータが不正な内容であることを認識した場合(正しい形式のデータであればありえない形式でデータが並んでいた場合等)に、エラーと認識し、プリントを中止する機能を設けてもよい。このようにすれば、誤ったデータに基づいて無駄なプリントを行ってしまうことを防止できる。
また、この発明はプリンタのような画像形成装置以外のデータ処理装置にも適用できることはもちろんである。その具体例としては、帳票システムや発券システム等の業務システム、テレビ・ビデオ・ラジオ等の記録装置や出力装置等が挙げられる。
さらに、以上説明してきた実施形態や変形例の構成は、矛盾しない範囲で適宜組み合わせることもできる。
また、この発明はプリンタのような画像形成装置以外のデータ処理装置にも適用できることはもちろんである。その具体例としては、帳票システムや発券システム等の業務システム、テレビ・ビデオ・ラジオ等の記録装置や出力装置等が挙げられる。
さらに、以上説明してきた実施形態や変形例の構成は、矛盾しない範囲で適宜組み合わせることもできる。
また、この発明によるプログラムは、コンピュータに外部装置に蓄積されているデータの処理を行うデータ処理装置を制御させ、上述したデータ処理装置20のような装置として機能させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上説明してきたように、この発明のデータ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム又は記録媒体によれば、受信したデータに対してデータ処理を行うデータ処理装置において、外部装置にアクセスして取得したデータに対してデータ処理を行う機能のない装置に、容易にこの機能を追加できるようにすることができる。また、外部装置にアクセスして取得したデータに対してデータ処理を行う機能を有する装置を、既存の資源を利用して容易に開発できるようにすることもできる。
従って、この発明を適用することにより、処理の柔軟性が高いデータ処理装置を安価に提供することができる。
従って、この発明を適用することにより、処理の柔軟性が高いデータ処理装置を安価に提供することができる。
10:データ蓄積装置、11,32,41:通信制御部、12,42:データ蓄積部、
20:データ処理装置、21:データ処理機能部、22:データ変換機能部、
23:データ取得要求部、24:操作受付部、25:第1のデータ変換機能部、
26:第2のデータ変換機能部、30:情報処理装置、31:送信データ生成部、
40:サーバ装置、50,50′,50″:プリンタ、
51:プリンタアプリ、52,52′,52″:HTTP通信用アプリ、
53:HTTPS通信用アプリ、54:パネル制御モジュール、55:操作パネル、
56:プリントエンジン、57:解凍アプリ、60:PC、61:アプリケーション、
62:プリンタドライバ、63:ポートモニタ、64:標準スプーラ、
65:拡張スプーラ、70:ファイアウォール
20:データ処理装置、21:データ処理機能部、22:データ変換機能部、
23:データ取得要求部、24:操作受付部、25:第1のデータ変換機能部、
26:第2のデータ変換機能部、30:情報処理装置、31:送信データ生成部、
40:サーバ装置、50,50′,50″:プリンタ、
51:プリンタアプリ、52,52′,52″:HTTP通信用アプリ、
53:HTTPS通信用アプリ、54:パネル制御モジュール、55:操作パネル、
56:プリントエンジン、57:解凍アプリ、60:PC、61:アプリケーション、
62:プリンタドライバ、63:ポートモニタ、64:標準スプーラ、
65:拡張スプーラ、70:ファイアウォール
Claims (20)
- 外部装置に蓄積されているデータの処理を行うデータ処理装置であって、
ユーザからの指示に基づき、前記外部装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、
自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、
自身の前記第1のポートと異なる第2のポートを監視して、そのポートで受信した、前記取得要求に対応する前記外部装置からのデータに対して、前記データ処理手段が取扱い可能な形式へのデータ変換を行い、前記第1のポートにループバックするデータ変換手段とを設けたことを特徴とするデータ処理装置。 - 請求項1記載のデータ処理装置であって、
前記データ変換手段が、各々自身の前記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第2のポートで受信した、前記取得要求に対応する前記外部装置からのデータを、前記データ処理手段が取り扱うことのできる形式のデータに変換して、前記第1のポートにループバックする手段であることを特徴とするデータ処理装置。 - 請求項1又は2記載のデータ処理装置であって、
前記外部装置にアクセスして、前記外部装置から取得可能な文書のリストのデータを取得する文書リスト取得手段と、
該手段が取得したリストの内容を表示手段に表示させる表示制御手段とを設け、
前記データ要求手段は、前記表示手段に表示されたリストから文書が選択された場合に、前記外部装置に対してその文書のデータの取得要求を行う手段であることを特徴とするデータ処理装置。 - 請求項1乃至3のいずれか一項記載のデータ処理装置であって、
前記データ処理手段が行うデータ処理は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ処理装置。 - 請求項1乃至4のいずれか一項記載のデータ処理装置であって、
前記データ変換手段が行うデータ変換は、データの解凍、復号化、プリンタ言語変換、およびHTMLドキュメントから所定の要素の内容を取り出す処理のいずれかを含むことを特徴とするデータ処理装置。 - データ蓄積装置と、そのデータ蓄積装置に蓄積されているデータを処理するデータ処理装置とを備えたデータ処理システムであって、
前記データ処理装置に、
ユーザからの指示に基づき、前記データ蓄積装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、
自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、
自身の前記第1のポートと異なる第2のポートを監視して、そのポートで受信した、前記取得要求に対応する前記データ蓄積装置からのデータに対して、前記データ処理手段が取扱い可能な形式へのデータ変換を行い、前記第1のポートにループバックするデータ変換手段とを設け、
前記データ蓄積装置に、
データを蓄積するデータ蓄積手段と、
前記取得要求に応じて、要求されたデータを前記データ蓄積手段から取得して前記データ処理装置の前記第2のポートに送信する手段とを設けたことを特徴とするデータ処理システム。 - 請求項6記載のデータ処理システムであって、
前記データ処理装置の前記第2のデータ変換手段が、各々自身の前記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第2のポートで受信した、前記取得要求に対応する前記データ蓄積装置からのデータを、前記データ処理手段が取り扱うことのできる形式のデータに変換して、前記第1のポートにループバックする手段であることを特徴とするデータ処理システム。 - 請求項6又は7のいずれか一項記載のデータ処理システムであって、
前記データ処理装置において、
前記データ処理手段が行うデータ処理が、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ処理システム。 - 外部装置に蓄積されているデータの処理を行うデータ処理装置に、
ユーザからの指示に基づき外部装置に対して蓄積されているデータの取得要求を行うデータ要求手順と、
自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手順と、
自身の前記第1のポートと異なる第2のポートを監視して、そのポートで受信した、前記取得要求に対応する前記外部装置からのデータに対して、前記データ処理手順で取扱い可能な形式へのデータ変換を行い、前記第1のポートにループバックするデータ変換手順とを実行させることを特徴とするデータ処理装置の制御方法。 - 請求項9記載のデータ処理装置の制御方法であって、
前記データ変換手順が、各々の手順で自身の前記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手順で監視するポートにループバックする複数の変換手順で複数段のデータ変換処理を行うことにより、前記第2のポートで受信した、前記取得要求に対応する前記外部装置からのデータを、前記データ処理手順で取り扱うことのできる形式のデータに変換して、前記第1のポートにループバックする手順であることを特徴とするデータ処理装置の制御方法。 - 請求項9又は10のいずれか一項記載のデータ処理装置の制御方法であって、
前記データ処理手順で行うデータ処理が、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ処理装置の制御方法。 - 自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段を有するデータ処理装置に、
ユーザからの指示に基づき、前記外部装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、
自身の前記第1のポートと異なる第2のポートを監視して、そのポートで受信した、前記取得要求に対応する前記外部装置からのデータに対して、前記データ処理手段が取扱い可能な形式へのデータ変換を行い、前記第1のポートにループバックするデータ変換手段とを付加することを特徴とするデータ変換機能付加方法。 - 請求項12記載のデータ変換機能付加方法であって、
前記データ変換手段が、各々自身の前記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第2のポートで受信した、前記取得要求に対応する前記外部装置からのデータを、前記データ処理手段が取り扱うことのできる形式のデータに変換して、前記第1のポートにループバックする手段であることを特徴とするデータ変換機能付加方法。 - 請求項12又は13記載のデータ変換機能付加方法であって、
前記データ処理装置に、
前記外部装置にアクセスして、前記外部装置から取得可能な文書のリストのデータを取得する文書リスト取得手段と、
該手段が取得したリストの内容を表示手段に表示させる表示制御手段とをさらに付加し、
前記データ要求手段は、前記表示手段に表示されたリストから文書が選択された場合に、前記外部装置に対してその文書のデータの取得要求を行う手段であることを特徴とするデータ変換機能付加方法。 - 請求項12乃至14のいずれか一項記載のデータ変換機能付加方法であって、
前記データ処理手段が行うデータ処理は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするデータ変換機能付加方法。 - 請求項12乃至15のいずれか一項記載のデータ変換機能付加方法であって、
前記データ変換手段が行うデータ変換は、データの解凍、復号化、プリンタ言語変換、HTMLドキュメントから所定の要素の内容を取り出す処理のいずれかを含むことを特徴とするデータ変換機能付加方法。 - 外部装置に蓄積されているデータの処理を行うデータ処理装置を制御するコンピュータを、
ユーザからの指示に基づき、前記外部装置に対して蓄積されているデータの取得要求を行うデータ要求手段と、
自身の第1のポートを監視して、そのポートで受信したデータに対してそのデータの形式によらず特定のデータ処理を行うデータ処理手段と、
自身の前記第1のポートと異なる第2のポートを監視して、そのポートで受信した、前記取得要求に対応する前記外部装置からのデータに対して、前記データ処理手段が取扱い可能な形式へのデータ変換を行い、前記第1のポートにループバックするデータ変換手段として機能させるためのプログラム。 - 請求項17記載のプログラムであって、
前記データ変換手段が、各々自身の前記第1のポートと異なる特定のポートを監視し、そのポートで受信したデータに対してデータ変換を行って、次段の変換手段が監視するポートにループバックする変換手段を複数有し、これらの各変換手段によって複数段のデータ変換処理を行うことにより、前記第2のポートで受信した、前記取得要求に対応する前記外部装置からのデータを、前記データ処理手段が取り扱うことのできる形式のデータに変換して、前記第1のポートにループバックする手段であることを特徴とするプログラム。 - 請求項17又は18記載のプログラムであって、
前記データ処理手段が行うデータ処理は、プリンタ言語で記述されたデータから、プリントエンジンに画像形成を行わせるための画像データへの変換であることを特徴とするプログラム。 - 請求項17乃至19のいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006159260A JP2007328558A (ja) | 2006-06-08 | 2006-06-08 | データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006159260A JP2007328558A (ja) | 2006-06-08 | 2006-06-08 | データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007328558A true JP2007328558A (ja) | 2007-12-20 |
Family
ID=38928983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006159260A Pending JP2007328558A (ja) | 2006-06-08 | 2006-06-08 | データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007328558A (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012200019A (ja) * | 2012-06-27 | 2012-10-18 | Ricoh Co Ltd | 記憶装置、情報処理方法、プログラム、及び記録媒体 |
JP2013054421A (ja) * | 2011-09-01 | 2013-03-21 | Seiko Epson Corp | 処理制御サーバー,処理制御方法および処理端末 |
JP2014030979A (ja) * | 2012-08-06 | 2014-02-20 | Seiko Epson Corp | 印刷装置、制御システム、印刷装置の制御方法、プログラム、及び、制御システムの制御方法 |
WO2014106882A1 (ja) * | 2013-01-02 | 2014-07-10 | セイコーエプソン株式会社 | デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法 |
JP2014147045A (ja) * | 2013-01-30 | 2014-08-14 | Seiko Epson Corp | 制御システム、及び、制御システムの制御方法 |
US9134929B2 (en) | 2008-01-16 | 2015-09-15 | Ricoh Company, Ltd. | Information processing apparatus, information processing method and computer-readable recording medium |
JP2016040717A (ja) * | 2015-09-14 | 2016-03-24 | セイコーエプソン株式会社 | システムおよび処理端末 |
JP2016091438A (ja) * | 2014-11-08 | 2016-05-23 | 京セラドキュメントソリューションズ株式会社 | プルプリントシステム |
US20160179450A1 (en) * | 2014-12-22 | 2016-06-23 | Canon Kabushiki Kaisha | Information processing apparatus and method for information processing apparatus |
JP2020040301A (ja) * | 2018-09-11 | 2020-03-19 | サトーホールディングス株式会社 | プリンタ、情報処理システム、情報処理方法、および、プログラム |
US20220417388A1 (en) * | 2021-06-25 | 2022-12-29 | Canon Kabushiki Kaisha | Image forming apparatus capable of achieving both convenience of user and defense against external threats, control method for image forming apparatus, and storage medium |
-
2006
- 2006-06-08 JP JP2006159260A patent/JP2007328558A/ja active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10244139B2 (en) | 2008-01-16 | 2019-03-26 | Ricoh Company, Ltd. | Information processing apparatus, information processing method and computer-readable recording medium for executing an output process of document data by an image processing apparatus that does not have an application of the information processing apparatus |
US9134929B2 (en) | 2008-01-16 | 2015-09-15 | Ricoh Company, Ltd. | Information processing apparatus, information processing method and computer-readable recording medium |
US9325769B2 (en) | 2011-09-01 | 2016-04-26 | Seiko Epson Corporation | Processing control server, processing control method, and processing terminal |
JP2013054421A (ja) * | 2011-09-01 | 2013-03-21 | Seiko Epson Corp | 処理制御サーバー,処理制御方法および処理端末 |
JP2012200019A (ja) * | 2012-06-27 | 2012-10-18 | Ricoh Co Ltd | 記憶装置、情報処理方法、プログラム、及び記録媒体 |
JP2014030979A (ja) * | 2012-08-06 | 2014-02-20 | Seiko Epson Corp | 印刷装置、制御システム、印刷装置の制御方法、プログラム、及び、制御システムの制御方法 |
US9513858B2 (en) | 2012-08-06 | 2016-12-06 | Seiko Epson Corporation | Printing device, control system, and control method of a control system |
US10108949B2 (en) | 2013-01-02 | 2018-10-23 | Seiko Epson Corporation | Printer communicating with a computing device that has access to a target-device script that initiates a control object to control a target device |
US10402809B2 (en) | 2013-01-02 | 2019-09-03 | Seiko Epson Corporation | Point-of-sale printer interpreting a markup language from a client device to control a scanner using scanner-control commands |
US9274730B2 (en) | 2013-01-02 | 2016-03-01 | Seiko Epson Corporation | Client device using a web browser to control a periphery device via a printer |
US9280305B2 (en) | 2013-01-02 | 2016-03-08 | Seiko Epson Corporation | Client device using a markup language to control a periphery device via a printer |
US9495121B2 (en) | 2013-01-02 | 2016-11-15 | Seiko Epson Corporation | Client device using a markup language to control a periphery device via a point-of-sale printer |
US9052853B2 (en) | 2013-01-02 | 2015-06-09 | Seiko Epson Corporation | Client device using a web browser to control a periphery device via a printer |
JPWO2014106882A1 (ja) * | 2013-01-02 | 2017-01-19 | セイコーエプソン株式会社 | デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法 |
WO2014106882A1 (ja) * | 2013-01-02 | 2014-07-10 | セイコーエプソン株式会社 | デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法 |
US10043169B2 (en) | 2013-01-02 | 2018-08-07 | Seiko Epson Corporation | Point-of-sale printer interpreting a markup language from a client device to control a scanner using scanner-control commands |
JP2014147045A (ja) * | 2013-01-30 | 2014-08-14 | Seiko Epson Corp | 制御システム、及び、制御システムの制御方法 |
JP2016091438A (ja) * | 2014-11-08 | 2016-05-23 | 京セラドキュメントソリューションズ株式会社 | プルプリントシステム |
US20160179450A1 (en) * | 2014-12-22 | 2016-06-23 | Canon Kabushiki Kaisha | Information processing apparatus and method for information processing apparatus |
US9990570B2 (en) | 2014-12-22 | 2018-06-05 | Canon Kabushiki Kaisha | Information processing apparatus that determines spooling completion, and method for information processing apparatus |
JP2016040717A (ja) * | 2015-09-14 | 2016-03-24 | セイコーエプソン株式会社 | システムおよび処理端末 |
JP2020040301A (ja) * | 2018-09-11 | 2020-03-19 | サトーホールディングス株式会社 | プリンタ、情報処理システム、情報処理方法、および、プログラム |
JP7161351B2 (ja) | 2018-09-11 | 2022-10-26 | サトーホールディングス株式会社 | プリンタ、情報処理システム、情報処理方法、および、プログラム |
US20220417388A1 (en) * | 2021-06-25 | 2022-12-29 | Canon Kabushiki Kaisha | Image forming apparatus capable of achieving both convenience of user and defense against external threats, control method for image forming apparatus, and storage medium |
US11683439B2 (en) * | 2021-06-25 | 2023-06-20 | Canon Kabushiki Kaisha | Image forming apparatus capable of achieving both convenience of user and defense against external threats, control method for image forming apparatus, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007328558A (ja) | データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体 | |
US9086832B2 (en) | Printer | |
JP5677047B2 (ja) | 印刷システム、情報処理装置、印刷方法、及び、プログラム | |
US9069504B2 (en) | Printing apparatus and method for increasing storage area | |
US9092703B2 (en) | Determining route and of print data and if conversion of print data is necessary | |
JP5919930B2 (ja) | プログラム、情報処理装置、記憶媒体 | |
US20080068646A1 (en) | Printing system, information processing apparatus, mail processing method, and storage medium | |
US8582162B2 (en) | Information processing apparatus, output method, and storage medium | |
US9092704B2 (en) | Image forming system, image forming apparatus, and recording medium | |
JP5995525B2 (ja) | システム、画像形成装置、サーバー及びその制御方法 | |
US8654363B2 (en) | Information processing system, information processing apparatus, setting item setting method, and non-transitory computer-readable recording medium encoded with setting item setting program | |
JP5022875B2 (ja) | 情報処理装置及びその制御方法、情報処理システム及びプログラム | |
US9916117B2 (en) | Remote data access for image output apparatus via a control device | |
JP5704800B2 (ja) | データ処理装置、データ処理処理方法、プログラム | |
JP5804749B2 (ja) | データ処理装置、データ処理方法およびプログラム | |
EP3048522B1 (en) | Method of outputting content through network, and apparatus and system for performing the method | |
JP6476685B2 (ja) | 情報処理装置、情報処理システム、表示装置及びプログラム | |
JP5021921B2 (ja) | データ変換装置、データ変換システム、データ変換方法、プログラム及び記録媒体 | |
JP5168398B2 (ja) | 装置、データ処理方法及びプログラム | |
JP5739724B2 (ja) | 画像処理システム | |
JP5111325B2 (ja) | 管理装置、管理システム、管理方法およびコンピュータプログラム | |
JP6248594B2 (ja) | 画像処理システム、画像処理装置、処理方法、および制御プログラム | |
JP2013196259A (ja) | データ処理装置、データ処理システムおよびプログラム | |
JP2012133590A (ja) | プリントシステム、クラインアントpc及びその制御方法、プリントサーバ及びその制御方法 | |
US9015498B2 (en) | Information processing apparatus and control method thereof |