(57)【特許請求の範囲】
【請求項１】
所定の種類の資源を印刷可能な形式に展開するエミュレーションソフトを実装した一又は複数のエミュレーション部と、
自装置のエミュレーション部によって展開し得る資源を記憶した記憶部と、
異なるエミュレーションを必要とする複数のオブジェクトからなる印刷データを、オブジェクトごとに分離する受信分離部と、
前記分離されたオブジェクトが資源の展開を指定するものであるとき、その指定された資源が前記記憶部に記憶されているか否か判定する判定部と、
前記分離されたオブジェクトによって指定される資源が前記記憶部に記憶されていると前記判定部が判定したとき、その資源を前記記憶部から読み出し、読み出した資源を前記エミュレーション部に転送する分散オブジェクト管理部と、
前記分離されたオブジェクトによって指定される資源が前記記憶部に記憶されていないと前記判定部が判定したとき、その資源の提供を求める資源検索依頼情報を外部に送信し、当該資源検索依頼情報に応答した装置から受信した資源を前記分散オブジェクト管理部を介して前記エミュレーション部に転送する分散オブジェクト送受信部と、
前記各エミュレーション部にて印刷可能な形式に展開された各資源を結合して１つの印刷可能な形式のデータを作成する結合部と、
前記結合部によって作成された印刷可能な形式のデータを印刷する印刷部と
を備えるプリンタ装置。
【請求項２】
請求項１に記載のプリンタ装置において、
前記分散オブジェクト管理部は、
前記分離されたオブジェクトによって指定される資源が前記記憶部に記憶されていないと前記判定部が判定したとき、その資源が自装置のエミュレーション部によって展開可能か否かを更に判定し、
前記分散オブジェクト送受信部は、
前記資源が自装置のエミュレーション部によって展開できないと前記分散オブジェクト管理部が判定したとき、ビットマップへ展開された後の資源の送信を依頼するデータロード依頼情報を外部に送信し、当該データロード依頼情報に応答した装置から受信したビットマップを前記分散オブジェクト管理部を介して前記結合部へ供給する
プリンタ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プリンタ装置に関し、特に、オーバレイなどの資源を分散管理及び結合印刷処理することのできるプリンタ装置に関する。
【０００２】
【従来の技術】
従来から、請求書，議事録などの定型文書を印刷する場合は、罫線等の定型部分のデータ（オーバレイ）を予め印刷装置やサーバに記録しておくことが行われている。そしてパソコン等の端末装置でこれらの定型文書の内容を作成し、この内容を含む書類を印刷する場合には、定型文書の内容のみを印刷装置やサーバに送り、印刷装置等においてこの内容とオーバレイとを合成した後、定型文書として印刷していた。
【０００３】
また、パソコン等を利用するユーザが独自に文字パターンや記号パターンを定義することがあり、これらの文字パターンもプリンタ装置に予め記録させておいて、通常の文字とこれらの文字パターンとを組み合わせて印刷を行うことも行われていた。
【０００４】
これらのオーバレイや文字パターン等の資源は、ユーザ独自に定義したものや、定義を行ったアプリケーションソフトやエミュレーションソフトのみでしか利用できないものが多く、同じ内容の資源であっても、それを印刷できるビットマップデータに展開するためのエミュレーションソフトが異なる場合がある。すべての定義された資源を利用した印刷を行うためには、プリンタ装置自身の内部にすべての資源を記憶し、これらの資源を印刷できるデータに変換するためエミュレーションソフトをすべて備えている必要があった。
【０００５】
【発明が解決しようとする課題】
しかし、多数のパソコンなどの端末装置とプリンタ装置が接続されたネットワーク環境下では、定義されるオーバレイ等の資源の数も多く、エミュレーションソフトの数も多い。したがってすべての資源を１つのプリンタ装置やサーバに記憶させると共に、すべての資源の印刷に対応するべく、プリンタ装置がすべてのエミュレーションソフトを所有しておくことは、経済上好ましくなく、管理上困難である。
【０００６】
また、プリンタ装置が複数台接続されたネットワーク環境下でも、プリンタ装置ごとに管理している資源の内容が異なる場合があり、各プリンタ装置が所有しているエミュレーションソフトが異なる場合には、それぞれのプリンタ装置でエミュレーションできる資源が異なる。従来、プリンタ装置間での互いの資源の流用やエミュレーションソフトの相互流用は行われていないので、あるオーバレイを利用した文書を印刷する場合には、そのオーバレイを所有しかつそのオーバレイをビットマップデータに展開できるエミュレーションソフトを所有しているプリンタ装置でしか印刷できなかった。すなわち印刷できるプリンタ装置が限定され、ユーザの印刷操作も煩雑であった。
【０００７】
この発明は、以上のような事情を考慮したものであり、ネットワーク接続されたプリンタ装置やサーバに管理されている資源を相互に有効利用することのできるプリンタ装置及び印刷分散処理システムを提供することを課題とする。
【０００８】
【課題を解決するための手段】
この発明は、所定の種類の資源を印刷可能な形式に展開するエミュレーションソフトを実装した一又は複数のエミュレーション部と、自装置のエミュレーション部によって展開し得る資源を記憶した記憶部と、異なるエミュレーションを必要とする複数のオブジェクトからなる印刷データを、オブジェクトごとに分離する受信分離部と、前記分離されたオブジェクトが資源の展開を指定するものであるとき、その指定された資源が前記記憶部に記憶されているか否か判定する判定部と、前記分離されたオブジェクトによって指定される資源が前記記憶部に記憶されていると前記判定部が判定したとき、その資源を前記記憶部から読み出し、読み出した資源を前記エミュレーション部に転送する分散オブジェクト管理部と、前記分離されたオブジェクトによって指定される資源が前記記憶部に記憶されていないと前記判定部が判定したとき、その資源の提供を求める資源検索依頼情報を外部に送信し、当該資源検索依頼情報に応答した装置から受信した資源を前記分散オブジェクト管理部を介して前記エミュレーション部に転送する分散オブジェクト送受信部と、前記各エミュレーション部にて印刷可能な形式に展開された各資源を結合して１つの印刷可能な形式のデータを作成する結合部と、前記結合部によって作成された印刷可能な形式のデータを印刷する印刷部とを備える。
【０００９】
また、この発明において、前記分散オブジェクト管理部は、前記分離されたオブジェクトによって指定される資源が前記記憶部に記憶されていないと前記判定部が判定したとき、その資源が自装置のエミュレーション部によって展開可能か否かを更に判定し、前記分散オブジェクト送受信部は、前記資源が自装置のエミュレーション部によって展開できないと前記分散オブジェクト管理部が判定したとき、ビットマップへ展開された後の資源の送信を依頼するデータロード依頼情報を外部に送信し、当該データロード依頼情報に応答した装置から受信したビットマップを前記分散オブジェクト管理部を介して前記結合部へ供給するようにしてもよい。
【００１３】
【発明の実施の形態】
以下、図面に示す実施の形態に基づいてこの発明を詳述する。なお、これによってこの発明が限定されるものではない。図１に、この発明の印刷分散処理システムの基本的な構成のブロック図を示す。
【００１４】
この発明では、複数の端末装置ＰＣ１〜ＰＣｎ、複数のサーバＳＢ１〜ＳＢｍ、１台あるいは複数のプリンタ装置ＰＲ１〜ＰＲｋとが、ネットワーク上に接続された構成の印刷分散処理システムを対象とする。
【００１５】
プリンタ装置ＰＲ１〜ＰＲｋ及びサーバＳＢ１〜ＳＢｍには、オーバレイなどの資源が予め記憶され、プリンタ装置ＰＲ１〜ＰＲｋには、印刷データの内容の解析と展開，印刷データの内容とオーバレイとの結合等をするためのエミュレーションソフトが搭載されている。すなわち、この発明では、資源やエミュレーションソフトがネットワーク上のプリンタ装置やサーバに分散して管理・記憶されているものとする。
【００１６】
エミュレーションソフトは、プリンタ装置のメーカ，機種，機能等によって種々のものが存在するが、各プリンタ装置がそれぞれすべてのエミュレーションソフトを搭載していることはなく、通常よく利用されるいくつかのエミュレーションソフトが搭載されているにすぎない。また、プリンタ装置によっては搭載可能なエミュレーションソフトと搭載できないエミュレーションソフトがある。
【００１７】
以下の説明では、各プリンタ装置ＰＲ１〜ＰＲＫは、そのプリンタ装置で使用可能なエミュレーションソフトと、予め登録されたいくつかのオーバレイや文字パターン等の資源が備えられているものとする。
また、サーバＳＢ１〜ＳＢｍはこのネットワーク上の端末装置やプリンタ装置で利用されるオーバレイや文字パターン等の資源が予め記憶されているものであり、端末装置やプリンタ装置からの要求によって、資源の入出力，検索等の機能を有するものである。
【００１８】
端末装置からプリンタ装置へ送信される印刷データは、通常の文字データ等からなる印刷内容と、オーバレイなどの資源とから構成され、異なるエミュレーションを必要とする１つの単位をオブジェクトと呼ぶ。たとえば、印刷データが通常の文字のみからなる文章部分と、罫線からなるオーバレイとから構成されているとき、文章部分とオーバレイとがそれぞれ異なるエミュレーションを必要とすると、この印刷データは２つのオブジェクトから構成されているものとする。
【００１９】
この発明において、プリンタ装置ＰＲ１は、主として受信分離部１，分散オブジェクト送受信部２，分散オブジェクト管理部３，結合部４，エミュレーション部５，オブジェクト記憶部６，印刷部７とから構成される。
ここで、受信分離部１は、ネットワークに接続された端末装置ＰＣ１等からの印刷データを受信して、その印刷データを異なるエミュレーションを必要とするオブジェクトに分離する部分である。分離されたオブジェクトは分散オブジェクト管理部３に送られ、さらにエミュレーションできるソフトがプリンタ装置内にあるときは、そのエミュレーションのできるエミュレーション部５へ送られる。
【００２０】
分散オブジェクト送受信部２は、このプリンタ装置ＰＲ１と他のプリンタ装置ＰＲｋやサーバＳＭ１との間で、オブジェクトに関する情報の送受信を行う部分である。分散オブジェクト管理部３は、分散オブジェクト送受信部２，結合部４，エミュレーション部５との間で必要な情報を送受信することにより、印刷処理の全体を管理・制御する部分であり、主として、前記した検索判定部に相当する。
【００２１】
エミュレーション部５は、オブジェクトのエミュレーションを行う部分であり、オブジェクトの内容の解析、実際に印刷可能な形式であるビットマップデータへの展開等を行う部分である。
結合部４は、エミュレーション部５で展開されたいくつかのオブジェクトのビットマップデータを結合して印刷できるデータを作成する部分である。
オブジェクト記憶部６は、資源，エミュレーションソフト，及びこれらを検索管理するための管理テーブル等を記憶する部分である。管理テーブルは、資源とその資源を展開することのできるエミュレーション部５を特定する情報とを対にして記憶したものである。
印刷部７は、結合部４で作成されたデータを実際に用紙に印刷する部分である。
【００２２】
受信分離部１，分散オブジェクト送受信部２，分散オブジェクト管理部３，結合部４，エミュレーション部５，印刷部７は、主として、ＣＰＵを中心として、ＲＡＭ，ＲＯＭ，Ｉ／Ｏインタフェース，タイマー等によって実現でき、各部の動作は、ＲＡＭやＲＯＭに記憶された制御プログラムに基づいてＣＰＵによって印刷される。
また、オブジェクト記憶部６は、ハードディスク等の不揮発性の書き換え可能なＲＡＭ等のメモリや記憶装置によって実現できる。
【００２３】
分散オブジェクト管理部３は、受信したオブジェクトがそのプリンタ装置自身の所有するエミュレーションソフトで展開できるデータである場合には、エミュレーション部５へそのオブジェクトを送る。エミュレーション部５はオブジェクト記憶部６に記憶されているエミュレーションソフトのうち、オブジェクトを展開可能なエミュレーションソフトを利用して受信したオブジェクトのビットマップ展開を行う。
【００２４】
一般にプリンタ内部に記憶されているエミュレーションソフトは、１つの場合もあれば複数の場合もあるが、以下の実施例の説明では２つ備えているものとして説明する。ただし、３つ以上備えている場合でも同様である。
【００２５】
第１実施例
図２に、この発明の第１実施例のプリンタ装置の処理説明図を示す。
ここでは、端末装置ＰＣ１からネットワークを介して“ＪＯＢ  Ａ”と呼ぶオーバレイを利用した印刷データがプリンタ装置ＰＲ１に送信された場合を考える。なおサーバＳＢ１からオーバレイを利用した印刷データが送信される場合も同様である。
【００２６】
“ＪＯＢ  Ａ”とは、端末装置ＰＣ１で利用者が印刷操作をしたときに、端末装置ＰＣ１で作成される印刷データである。図３は、この発明で利用する印刷データの内容の一実施例の説明図を示す。
ここで印刷データは、少なくとも装置情報Ｉ１，印刷情報Ｉ２，オーバレイデータＩ３，ＪＯＢデータＩ４とから構成される。
【００２７】
装置情報Ｉ１とはこの印刷データの送信元、送信先に関する情報であり、サーバアドレスＩ１１とプリンタアドレスＩ１２とからなる。サーバアドレスＩ１１とは送信先を識別するための情報であり、プリンタアドレスＩ１２とは印刷データを送信する相手先を識別するための情報であり、これらはたとえば、ネットワーク上のＩＰアドレスや特別な識別コードを用いることができる。
【００２８】
印刷情報Ｉ２とは、印刷処理に必要な制御情報であり、エミュレーション指定Ｉ２１，用紙サイズＩ２２，用紙方向Ｉ２３等の情報とからなる。ただし、この情報はこれに限るものではなく、プリンタ装置の機能等によって追加，変更してもよい。
【００２９】
エミュレーション指定Ｉ２１とは、この“ＪＯＢ  Ａ”の中に含まれる印刷内容（ＪＯＢデータ）のデータ形式を指定するための情報である。一般的にＪＯＢデータ等はこのエミュレーション指定によって指定されたエミュレーションソフトによって解析・展開することのできる特別のコードが付与されているため、この指定されたエミュレーションソフトがなければ解析及びビットマップデータへの展開ができない。
プリンタ装置には、エミュレーションできるソフトに対応する情報、すなわちこのプリンタ装置で利用できる「エミュレーション指定」の情報が予め記憶されているものとする。
【００３０】
また用紙サイズＩ２２は、ＪＯＢデータＩ４を印刷すべき用紙の大きさ（Ａ４，Ｂ４など）を指定する情報であり、用紙方向Ｉ２３は印刷する文字の向き（横方向，縦方向）を指定する情報である。オーバレイとは、帳表，議事録，回覧用紙などの罫線部分や文字，記号等の定型部分のデータであるが、受信されるオーバレイデータＩ３は、そのオーバレイを特定するためのＩＤ（識別情報）である。ＪＯＢデータＩ４はオーバレイデータＩ３の中にはめ込むべき個々のデータの内容であり、このＪＯＢデータＩ４とオーバレイデータＩ３とを結合することにより、一枚の印刷データが構成される。
【００３１】
図２では、図１に示した印刷装置の構成のうち、第１実施例で用いる構成要素のみを示している。
ここで、エミュレーション部５は、２つのエミュレーション部５１，５２（ＥＭ１，ＥＭ２）から構成され、オブジェクト記憶部６は資源管理テーブル６１，６２及びオーバレイ記憶部６３とから構成されるものとする。
【００３２】
第１実施例において、図３に示した“ＪＯＢ  Ａ”の印刷依頼データが、端末装置ＰＣ１からネットワークを介してプリンタ装置ＰＲ１に入力されたとする。まず、受信分離部１のデータ受信部１１は、印刷データのプリンタアドレスＩ１２がこのプリンタ装置の自アドレスと一致するか否か照合する。
【００３３】
次に、自アドレスと一致する場合には、印刷情報Ｉ２のエミュレーション指定Ｉ２１が、このプリンタ装置に記憶されているエミュレーションソフトを指定するものであるか否かをエミュレーション判定部１２で判定する。
エミュレーション指定Ｉ２１で指定されるエミュレーションがプリンタ装置ＰＲ１内部にない場合は、この印刷依頼は受理されず、たとえば、印刷拒否情報を端末装置へ返信する。
また、受信したエミュレーション指定Ｉ２１とプリンタ装置ＰＲ１に予め記憶されている「エミュレーション指定」の情報とを比較した結果、一致するものがある場合は、エミュレーション部５を起動させ、以下に示すデータ解析以降の処理を実行させる。
【００３４】
以下の説明では、受信したエミュレーション指定Ｉ２１は、エミュレーション部ＥＭ１（５１）を指定するものであったとする。
図４に、エミュレーション部ＥＭ１（５１）における処理のフローチャートを示す。図５に、分散オブジェクト管理部３における処理のフローチャートを示す。図６に、エミュレーション部ＥＭ２（５２）における処理のフローチャートを示す。
【００３５】
まず、エミュレーション部ＥＭ１は、受信した印刷データの中の１つのオブジェクトであるＪＯＢデータＩ４の解析を行う（ステップＳ１１１）。
次に、受信したオーバレイデータＩ３の内容が、ＥＭ１用の資源管理テーブル６１を検索して、オーバレイ記憶部６３の中に存在するか否かを判断する（ステップＳ１１２）。
ＥＭ１用の資源管理テーブル６１は、オーバレイ記憶部６３の中に存在するオーバレイのＩＤ（識別情報）とその版数等からなるテーブルである。
【００３６】
ここで、受信したオーバレイデータＩ３の内容がオーバレイ“ＯＶＬ１”を特定する情報であり、このオーバレイＯＶＬ１のＩＤは、ＥＭ１用の資源管理テーブル６１の中には存在しなかったとする。
すなわち、オーバレイＯＶＬ１の実際の内容はエミュレーション部ＥＭ１では展開することのできないものであるとする。
【００３７】
このようにオーバレイＯＶＬ１がない場合には、エミュレーション部ＥＭ１から分散オブジェクト管理部３へ「資源要求」を行う（ステップＳ１１３）。「資源要求」とは、受信したオーバレイＯＶＬ１を展開できるエミュレーション部を検索し、その展開を依頼することを意味する情報であり、受信したオーバレイデータＩ３，用紙サイズＩ２２，用紙方向Ｉ２３等の情報を含むデータで構成される情報である。
【００３８】
次に、エミュレーション部ＥＭ１は、自己のエミュレーションソフトによってＪＯＢ  Ａの具体的内容であるＪＯＢデータＩ４をビットマップ展開し（ステップＳ１１４）、展開終了後、分散オブジェクト管理部３に対して「展開終了通知」を送る（ステップＳ１１５）。
以上がエミュレーション部ＥＭ１の処理フローである。
【００３９】
次に、図５に示す分散オブジェクト管理部３の処理フローを説明する。
ステップＳ１１３により、「資源要求」を受理した分散オブジェクト管理部３は、資源管理テーブル６２を検索して、このプリンタ装置ＰＲ１の中に、オーバレイＯＶＬ１の実体内容が存在するか否かを判断する（ステップＳ１２１）。
ここで資源管理テーブル６２は自己のプリンタ装置内に存在する資源とその資源を展開できるエミュレーションソフトとを対にして記憶したテーブルであり、たとえば、オーバレイＩＤ及びエミュレーション部の識別情報とその版数とから構成される。
今、この資源管理テーブル６２の中に、オーバレイＩＤとして“ＯＶＬ１”が存在し、このオーバレイを展開できるエミュレーションソフトを所有するエミュレーション部ＥＭ２（５２）が記憶されているものとする。
【００４０】
資源管理テーブル６２の中に、オーバレイ“ＯＶＬ１”が存在する場合には、そのオーバレイ“ＯＶＬ１”がエミュレーション部ＥＭ２で展開可能か否かを判断し（ステップＳ１２２）、展開可能な場合にはエミュレーション部ＥＭ２に対して、オーバレイ“ＯＶＬ１”の展開を要求する（ステップＳ１２３）。ここで、この「展開要求」の中には、オーバレイＩＤ（ＯＶＬ１）と、印刷情報Ｉ２とが含まれる。
【００４１】
図６に示すエミュレーション部ＥＭ２の処理フローを示す。
分散オブジェクト管理部３から「展開要求」を受理したエミュレーションＥＭ２はまず、オーバレイＯＶＬ１を、オーバレイ記憶部６３から読み出す（ステップＳ１３１）。
次に、エミュレーションＥＭ２は、受理した「展開要求」の印刷情報に基づいて、オーバレイＯＶＬ１をビットマップデータへ展開する（ステップＳ１３２）。そしてこのオーバレイＯＶＬ１の展開が終了すると、分散オブジェクト管理部へ「展開終了通知」を送る（ステップＳ１３３）。
【００４２】
この後、分散オブジェクト管理部３は、エミュレーション部ＥＭ１，ＥＭ２から「展開終了通知」が送られてくるのを監視し、エミュレーション部ＥＭ１からのＪＯＢデータＩ４の展開終了通知と、エミュレーション部ＥＭ２からのオーバレイＯＶＬ１の展開終了通知とを受信すると、結合部４に対して、展開されたＪＯＢデータＩ４及びＯＶＬ１のビットマップデータを結合するよう依頼を出す（ステップＳ１２４）。
【００４３】
結合部４は、この「結合依頼」を受理すると、ＪＯＢデータＩ４とＯＶＬ１のビットマップデータを結合し、さらに結合したビットマップデータを用紙に印刷するよう印刷部７を起動させる。印刷部７は、指定された用紙に結合されたビットマップデータを印刷する。
このようにして、第１実施例では、２つの異なるエミュレーションを必要とするオブジェクトを含む印刷データを受信した場合でも、それぞれのエミュレーション部が展開できるデータ内容（ＪＯＢデータＩ４あるいはオーバレイＯＶＬ１）をそれぞれ分担してビットマップデータに展開した後、そのビットマップデータを結合しているので、プリンタ装置内部に存在する資源を有効活用すると共に、印刷効率を向上させることができる。
【００４４】
第２実施例
図７に、この発明の第２実施例のプリンタ装置等の処理内容図を示す。
ここでは、プリンタ装置ＰＲ１内部には記憶されていないオーバレイをネットワークに接続されたサーバから入手して、オーバレイ付きの印刷データを印刷する処理について説明する。
端末装置ＰＣ１から、プリンタ装置ＰＲ１に対してオーバレイＯＶＬ１付きの印刷データ（ＪＯＢ  Ａ）の印刷依頼があった場合を考える。ここでＪＯＢ  Ａのデータ形式は、図３に示したものと同じとする。
【００４５】
プリンタ装置ＰＲ１が端末装置ＰＣ１からの印刷依頼データＪＯＢ  Ａを受け取ると、受信分離部１のデータ受信部１１でプリンタアドレスＩ１２を確認することによって自己へのデータであるかどうか判断し、自己へのデータである場合には、エミュレーション判定部１２で印刷データの内容であるＪＯＢデータＩ４が自己のプリンタ内部のエミュレーションソフトによって展開できるか否か判定する。
【００４６】
ここでは、ＪＯＢデータＩ４は、エミュレーション部ＥＭ１で展開できるものとすると、ＪＯＢ  Ａをエミュレーション部ＥＭ１へ渡す。
印刷データＪＯＢ  Ａを受けとったエミュレーション部ＥＭ１では、前記した第１実施例の図４に示した処理と同じ処理を実行する。この処理の中で、エミュレーション部ＥＭ１は、オーバレイＯＶＬ１は自己の中で展開できないので、分散オブジェクト管理部３に対して、オーバレイＯＶＬ１の展開を要求する情報である「資源要求」を出す。
【００４７】
図８に、この発明の第２実施例における分散オブジェクト管理部３の処理のフローチャートを示す。
分散オブジェクト管理部３は、エミュレーション部ＥＭ１から「資源要求」を受理すると、プリンタ装置ＰＲ１内部に、オーバレイＯＶＬ１が存在するか否かを資源管理テーブル６２を用いて検索する（ステップＳ３１１）。
【００４８】
ここで、第１実施例と異なり、オーバレイＯＶＬ１は、このプリンタ装置ＰＲ１内部には存在しなかったとすると、分散オブジェクト管理部３は、分散オブジェクト送受信部２に対して「送信依頼」情報を出す（ステップＳ３１２）。
この「送信依頼」情報とは、ネットワークに接続された外部のサーバあるいは他のプリンタ装置に対してオーバレイＯＶＬ１を所有していないか否かを問合わせるための情報であり、オーバレイＯＶＬ１データＩ３を含むデータである。
【００４９】
図９に、この発明の第２実施例における分散オブジェクト送受信部２の処理のフローチャートを示す。
分散オブジェクト送受信部２は、「送信依頼」情報を受理した後、ネットワーク上のサーバに対してオーバレイＯＶＬ１の「資源検索依頼」情報を送信する（ステップＳ３２１）。
【００５０】
図７においては、２台のサーバＳＢ１とＳＢ２とがネットワークに接続されているものとする。
ネットワーク上に接続されたサーバＳＢ１，ＳＢ２がこの「資源検索依頼」情報を受信すると、そのサーバ内の資源管理テーブル８１（または８２）を検索して、自己の記憶領域の中にオーバレイＯＶＬ１が存在しないか否か、判断する。ここで、サーバＳＢ１には版数０１０１のオーバレイＯＶＬ１が存在し、サーバＳＢ２には版数０１０２のオーバレイＯＶＬ１が存在するものとする。すなわち版数の異なる同じオーバレイＯＶＬ１が見つかったとする。
サーバＳＢ１及びＳＢ２は、どちらも依頼されたオーバレイＯＶＬ１を所有しているので、自己のサーバ内にオーバレイＯＶＬ１が存在することを示す「検索結果通知」をプリンタ装置ＰＲ１に対して返信する。
【００５１】
「検索結果通知」には、依頼のあったオーバレイの有無を示す情報と共に、オーバレイが存在した場合には、そのオーバレイのエミュレーションソフトの識別情報及びそのオーバレイの版数とが含まれる。
この場合、分散オブジェクト送受信部２は、２つのサーバから版数の異なるオーバレイＯＶＬ１が存在することを示す２つの「検索結果通知」を得る。ここで、「検索結果通知」の中に、エミュレーションソフトの識別情報として、エミュレーション部ＥＭ２（５２）を示す情報が含まれているものとする。
【００５２】
図９において、分散のオブジェクト送受信部２が、「検索結果通知」を受信すると、この通知の内容（結果通知）を分散オブジェクト管理部３へ引き渡す（ステップＳ３２２）。
「結果通知」を受理した分散オブジェクト管理部３は、通知内容を分析し、資源（オーバレイ）を使用するサーバを決定する（ステップＳ３１３）。
上記の場合、オーバレイＯＶＬ１が存在するサーバは２つあるので、分散オブジェクト管理部３はどちらか一方を選択することになるが、たとえば、版数の新しい方の資源（版数０１０２のオーバレイ）を選択するようにすればよい。
【００５３】
また、端末装置ＰＣ１からの送信依頼時に、オーバレイＯＶＬ１の版数を指定する情報が含まれる場合には、その指定された版数と同じ版数を持つ方のオーバレイを選択してもよい。ここでは、版数が新しいサーバＳＢ２に存在するオーバレイをＯＶＬ１を使用することに決定するものとする。
【００５４】
次に、分散オブジェクト管理部３は、結果通知の中に含まれるオーバレイのエミュレーションソフトの識別情報を利用して、オーバレイＯＶＬ１をエミュレーションできるエミュレーション部が自己のプリンタ装置ＰＲ１内にあるか否かを判断する（ステップＳ３１４）。
すなわち、オーバレイのエミュレーションソフトの識別情報に一致するエミュレーション部が存在するか否か判断し、存在する場合には、そのエミュレーション部に対して、オーバレイＯＶＬ１を展開できるか否かを問い合わせる（ステップＳ３１５）。
【００５５】
エミュレーションソフトの識別情報がエミュレーション部ＥＭ２を示す情報である場合には、エミュレーション部ＥＭ２に対して「問合わせ」情報が出される。「問合わせ」を受理したエミュレーション部ＥＭ２では、オーバレイＯＶＬ１が展開可能か否かを判断し、展開可能な場合には、展開可能であることを示す「状態応答」を返信する。
【００５６】
エミュレーション部ＥＭ２から展開可能なことを示す「状態応答」を受理した分散オブジェクト管理部３は、ステップＳ３１３で決定したサーバＳＢ２に対してオーバレイＯＶＬ１の内容を送信するように依頼する「送信依頼」情報を、分散オブジェクト送受信部２に送る（ステップＳ３１６）。
ここで、この「送信依頼」情報は、オーバレイＯＶＬ１データＩ３と、用紙サイズ，用紙方向等の印刷情報Ｉ２及び送信先であるサーバＳＢ２の情報とから構成される。
この後、分散オブジェクト管理部３は、受信した印刷データの各オブジェクトがビットマップに展開されたことを示す「展開終了通知」が受理されるのを待つ。
【００５７】
一方、「送信依頼」を受理した分散オブジェクト送受信部２は、サーバＳＢ２に対して、オーバレイＯＶＬ１をプリンタ装置ＰＲ１へ送信することを要求する「データロード依頼」情報を送信する（ステップＳ３２３）。
「データロード依頼」情報を受信したサーバＳＢ２は、その内部に存在するオーバレイＯＶＬ１の内容を印刷依頼データＪＯＢ  Ｂとしてプリンタ装置ＰＲ１へ送信する。
【００５８】
図１０に、この発明の印刷依頼データＪＯＢ  Ｂの内容の説明図を示す。
図１０において、装置情報Ｉ１，印刷情報Ｉ２は図３に示した印刷データＪＯＢ  Ａと同じである。
オーバレイデータＩ３３は、オーバレイＯＶＬ１の実際の内容であり、ページ完成コマンドＩ５は、１つのページを完成させるコマンドであり、具体的には、プリンタ装置が１ページ分のデータが終了することを認識するための特定のコードである。
また、サーバアドレスＩ１１にはサーバＳＢ２を示す情報、プリンタアドレスＩ１２にはプリンタＰＲ１を示す情報、エミュレーション指定Ｉ２１には、オーバレイＯＶＬ１を展開できるエミュレーション部ＥＭ２を示す情報が入る。
【００５９】
この印刷依頼データＪＯＢ  Ｂは、プリンタ装置ＰＲ１の受信分離部１に受信されると、データ受信部１１での自己へのデータであるか否かの判断、エミュレーション判定部１２での自己の内部で展開可能か否かの判定を経て、受信したＪＯＢ  ＢのオーバレイデータＯＶＬ１の実際の内容が、エミュレーション部ＥＭ２へ渡される。
この後、エミュレーション部ＥＭ２は、このオーバレイＯＶＬ１のデータ解析、ビットマップデータへの展開を行い、オーバレイＯＶＬ１のビットマップデータへの展開が終了したことを分散オブジェクト管理部３へ通知（展開終了通知）を送る。
【００６０】
一方、前記したように、端末装置ＰＣ１からの印刷依頼によって受信した印刷データの内容ＪＯＢデータＩ４は、エミュレーション部ＥＭ１によってビットマップに展開されており、エミュレーション部ＥＭ１から分散オブジェクト管理部３へ「展開終了通知」が送られる。
分散オブジェクト管理部３は、ステップＳ３１７においてエミュレーション部ＥＭ１からのＪＯＢデータＩ４の展開終了通知と、エミュレーション部ＥＭ２からのオーバレイデータＯＶＬ１の展開終了通知を受理すると、結合部４に対して、ＪＯＢデータＩ４のビットマップとオーバレイＯＶＬ１のビットマップとを結合するように「結合依頼」情報を出す（ステップＳ３１８）。
この後、第１実施例と同様に、結合部４が２つのビットマップデータを結合し、印刷部７が結合されたビットマップデータを用紙に印刷する。
【００６１】
このように第２実施例では、プリンタ装置内部にオーバレイデータを所有していない場合でも、外部のサーバからそのオーバレイデータを入手して、オーバレイ（ＯＶＬ１）と印刷データの内容（ＪＯＢデータＩ４）とを結合した印刷をすることができ、プリンタ装置のみならず、ネットワークに接続されたサーバに存在する資源を有効活用することができる。また、この第２実施例によれば、端末装置の利用者が資源やエミュレーションソフトの存在する位置を意識することなく、通常の印刷操作とほぼ同じ操作をするだけでよく、印刷効率を向上できる。さらに、異なるエミュレーションを必要とする２種類のオブジェクトを結合して印刷できる点は第１実施例と同様である。
【００６２】
なお、図７において、所望のオーバレイＯＶＬ１がサーバＳＢ２に存在する場合を例として印刷処理の説明をしたが、ネットワークに接続された他のプリンタ装置（ＰＲ２〜ＰＲｋ）に所望のオーバレイが存在する場合も、図７のサーバをプリンタ装置に置き換えるだけで、この第２実施例で説明したのと同じ処理を行えば、オーバレイ付き印刷データの結合印刷が可能となる。
【００６３】
第３実施例
図１１に、この発明の第３実施例のプリンタ装置等の構成ブロック図を示す。ここでは、印刷依頼を受けたプリンタ装置以外のサーバあるいはプリンタ装置に存在する資源を利用し、その資源のビットマップデータへの展開も、資源が存在するサーバあるいはプリンタ装置を利用する場合について説明する。
第１実施例と同様に、端末装置ＰＣ１からプリンタ装置ＰＲ１へオーバレイＯＶＬ１付きの印刷データ（ＪＯＢ  Ａ）の印刷依頼があった場合を考える。
【００６４】
プリンタ装置ＰＲ１がこの印刷依頼データを受信すると、受信分離部１が第１実施例と同様の処理を行い、エミュレーション部ＥＭ１では、ビットマップ展開が可能な印刷データの内容であるＪＯＢデータＩ４の展開が行われる。
また、エミュレーション部ＥＭ１は、オーバレイＯＶＬ１は自分では展開できないので、分散オブジェクト管理部３に対して「資源要求」を出す。
【００６５】
図１１に、この発明の第３実施例における分散オブジェクト管理部３の処理のフローチャートを示す。
資源要求を受理した分散オブジェクト管理部３は、資源管理テーブル６２を利用して、プリンタ装置ＰＲ１内部にオーバレイＯＶＬ１が存在するか否かを検索する（ステップＳ５１１）。
ここで、オーバレイＯＶＬ１は、このプリンタ装置ＰＲ１内部には存在しなかったとすると、分散オブジェクト管理部３は、分散オブジェクト送受信部２に対して「送信依頼」情報を出す（ステップＳ５１２）。
【００６６】
図１３に、この発明の第３実施例における分散オブジェクト送受信部２の処理のフローチャートを示す。分散オブジェクト送受信部２は、「送信依頼」情報を受理した後、ネットワーク上に、オーバレイＯＶＬ１の「資源検索依頼」情報を送信し、「検索結果通知」が返信されるのを待つ（ステップＳ５２１）。
【００６７】
ネットーク上に送信された「資源検索依頼」情報は、ネットワーク上のサーバやプリンタ装置に受信され、それぞれオーバレイＯＶＬ１を自己の内部に所有しているか否かを確認する。図１１においては、ネットワークに接続されたプリンタ装置として２つのプリンタＰＲ２，ＰＲ３を示しているが、プリンタＰＲ３のみがオーバレイＯＶＬ１を所有しているとする。
【００６８】
このとき、プリンタＰＲ２からは、オーバレイＯＶＬ１がないことを示す「検索結果通知」がプリンタＰＲ１へ返され、プリンタＰＲ３からはオーバレイＯＶＬ１があることを示す「検索結果通知」がプリンタＰＲ１へ返される。プリンタＰＲ３から返信された「検索結果通知」には、オーバレイＯＶＬ１を展開可能なエミュレーションの識別情報及びオーバレイＯＶＬ１の版数とが含まれる。
図１３において、分散オブジェクト送受信部２が、上記検索結果通知を受信すると、この通知の内容（結果通知）を分散オブジェクト管理部３へ引き渡す（ステップＳ５２２）。
【００６９】
分散オブジェクト管理部は、受理した結果通知の内容に基づいて、資源（オーバレイ）を使用するプリンタ装置を決定する（ステップＳ５１３）。
今、図１１においては、プリンタＰＲ３のみからオーバレイＯＶＬ１があることを示す結果通知が返信されてきたので、プリンタＰＲ３を使用する装置として決定する。
【００７０】
次に、分散オブジェクト管理部３は、現在、オーバレイＯＶＬ１を自己のプリンタ装置ＰＲ１内で展開可能か否かを判断する（ステップＳ５１４）。ここで、自己のプリンタ装置内部にオーバレイＯＶＬ１を展開できるエミュレーション部がない場合、エミュレーション部があっても現在使用中であるかあるいはトラブル等のためＲｅａｄｙ状態でない場合などは、自己のプリンタ装置ＰＲ１内部では展開できないと判断する。
【００７１】
ここで、プリンタ装置ＰＲ１内でオーバレイＯＶＬ１を展開できないとすると、分散オブジェクト管理部３は、オーバレイＯＶＬ１を所有していると通知してきたプリンタ装置ＰＲ３に対して、ビットマップに展開された後のオーバレイＯＶＬ１データを送信（ＬＯＡＤ）してくるように依頼する「送信依頼」情報を、分散オブジェクト送受信部２に送る（ステップＳ５１５）。この後、エミュレーション部ＥＭ１と分散オブジェクト送受信部２からの返信が来るのを待つ（ステップＳ５１６）。
【００７２】
「送信依頼」情報には、オーバレイＯＶＬ１データＩ３と、印刷情報Ｉ２及び送信先であるプリンタ装置ＰＲ３の情報とが含まれる。この「送信依頼」情報を受理した分散オブジェクト送受信部２は、プリンタ装置ＰＲ３に対して、ビットマップ展開された後のオーバレイＯＶＬ１データを送信（ＬＯＡＤ）してくることを要求する「データロード依頼」情報を送信する（ステップＳ５２３）。
そして、ビットマップ展開されたオーバレイＯＶＬ１データが送られてくるのを待つ（ステップＳ５２４）。
【００７３】
プリンタ装置ＰＲ３は、この「データロード依頼」情報を受信すると、自己の内部にあるオーバレイＯＶＬ１をエミュレーションソフトでビットマップ展開し、このビットマップ展開されたオーバレイＯＶＬ１データをプリンタ装置ＰＲ１へ送信する。分散オブジェクト送受信部２は、ビットマップ展開されたオーバレイＯＶＬ１データを受信すると分散オブジェクト管理部３へオーバレイＯＶＬ１のビットマップデータのロードが完了したこと（ロード終了通知）を通知する（ステップＳ５２５，Ｓ５２６）。
【００７４】
一方、前記したように、ステップＳ５１６で、返信を待っていた分散オブジェクト管理部３は、エミュレーション部ＥＭ１からの「展開終了通知」と分散オブジェクト送受信部２からのビットマップ展開されたオーバレイＯＶＬ１の「ロード終了通知」とを受理すると、結合部４に対して、エミュレーション部ＥＭ１で展開されたＪＯＢ  ＡのＪＯＢデータＩ４のビットマップデータと、オーバレイＯＶＬ１のビットマップデータとを結合するように「結合依頼」情報を出す（ステップＳ５１７）。
この後、第１実施例と同様に、結合部４が２つのビットマップデータを結合した後、印刷部７がこの結合されたデータを用紙に印刷する。
【００７５】
このように、第３実施例では、プリンタ装置内部にオーバレイデータを所有しておらず、さらに、そのオーバレイデータを展開するエミュレーションソフトがなくても、外部のプリンタ装置を利用して、オーバレイデータをビットマップに展開させ、オーバレイと印刷データの内容とを結合させた印刷をすることができる。すなわち、ネットワークに接続された他のプリンタ装置に存在する資源を有効活用することができる。
また第１実施例と同様に、異なるエミュレーションを必要とする２種以上のオブジェクトからなる印刷データを結合して印刷できる。
【００７６】
上記したようにこの発明は、異なるエミュレーションを必要とする２種以上のオブジェクトがネットワーク上に接続されたプリンタ装置やサーバに分散して存在する場合でも、１台のプリンタ装置がこの２種以上のオブジェクトを入手しかつ印刷可能なビットマップに結合させてそのプリンタ装置から印刷させることができるものであるが、結合させるオブジェクトは上記実施例で示したような２つに限られるものではなく、３つ以上のオブジェクトであってもよい。
すなわち、１つのオーバレイとそのオーバレイの中に組み込まれる１つの印刷内容からなる印刷データだけでなく、たとえば２つのオーバレイと、そのオーバレイそれぞれに組み込まれる２つの印刷内容からなる印刷データであってもよい。
【００７７】
また、この２つのオーバレイと２つの印刷内容が、それぞれ異なるエミュレーションソフトを必要とするものであってもよい。さらに、この４つの異なるエミュレーションソフトが１つのプリンタ装置にすべて存在する場合だけでなく、それぞれ４つのプリンタ装置に別々に存在する場合でも、２つのオーバレイと２つの印刷内容を結合させて印刷させることができる。
【００７８】
また、印刷データがオーバレイとその中に組み込まれるデータとからなるものだけでなく、別々のアプリケーションで作成された定型文書，テンプレート，図面等を組み合わせたものでもよい。
すなわち、ある印刷データが端末装置ＰＣ１上のアプリケーションＡＰ１で作成されたデータＤＴ１であるが、その印刷データが、別のサーバＳＢ２にすでに保管されている他のアプリケーションＡＰ２で作成されたデータＤＴ２を含めたものである場合でも、第２実施例あるいは第３実施例に示した手順を実行し、サーバ２からそのデータＤＴ２を入手するようにすれば、データＤＴ１の中にデータＤＴ２を組み込んだ形式に結合して印刷することができる。
【００７９】
また、ある印刷データが、印刷要求したプリンタ装置にはないが、他のプリンタ装置にすでに存在するＪＯＢデータを利用するものである場合も、同様に、第２実施例あるいは第３実施例に示した手順を実行して、そのＪＯＢデータを入手するようにすれば、ＪＯＢデータを結合させた印刷データの印刷が可能となる。
【００８０】
【発明の効果】
この発明によれば、印刷データを異なるエミュレーションを必要とするオブジェクトに分離して、それぞれのオブジェクトに対応する資源を入手して、展開可能なエミュレーション部によってその資源を展開した後に結合しているので、異なるエミュレーションが必要な２種以上のオブジェクトからなる印刷データでも、１つの印刷装置内で容易に結合印刷をすることができる。
【００８１】
また、資源がネットワーク上の複数のプリンタ装置やサーバに分散して管理・記憶されている場合でも、印刷に必要な資源を入手して結合印刷できるので、資源の有効活用ができると共に、異なるエミュレーションを必要とする２種以上のオブジェクトからなる印刷データを印刷させようとした場合でも、利用者は、異なるエミュレーションが必要であること、及びそのオブジェクトに対応する資源がどこに保管されているかを意識する必要はなく、通常の印刷操作とほぼ同じ操作をすればよく、印刷効率を大きく向上させることができる。
【図面の簡単な説明】
【図１】この発明の印刷処理分散システムの構成ブロック図である。
【図２】この発明の第１実施例のプリンタ装置の処理説明図である。
【図３】この発明で利用する印刷データの内容の一実施例の説明図である。
【図４】この発明の第１実施例のエミュレーション部ＥＭ１における処理のフローチャートである。
【図５】この発明の第１実施例の分散オブジェクト管理部における処理のフローチャートである。
【図６】この発明の第１実施例のエミュレーション部ＥＭ２における処理のフローチャートである。
【図７】この発明の第２実施例のプリンタ装置等の処理説明図である。
【図８】この発明の第２実施例の分散オブジェクト管理部における処理のフローチャートである。
【図９】この発明の第２実施例の分散オブジェクト送受信部における処理のフローチャートである。
【図１０】この発明で利用する印刷データの内容の一実施例の説明図である。
【図１１】この発明の第３実施例のプリンタ装置等の処理説明図である。
【図１２】この発明の第３実施例の分散オブジェクト管理部における処理のフローチャートである。
【図１３】この発明の第３実施例の分散オブジェクト送受信部における処理のフローチャートである。
【符号の説明】
１  受信分離部
２  分散オブジェクト送受信部
３  分散オブジェクト管理部
４  結合部
５  エミュレーション部
６  オブジェクト記憶部
７  印刷部
ＰＲ１  プリンタ装置
ＰＲｋ  プリンタ装置
ＳＢ１  サーバ
ＳＢｍ  サーバ
ＰＣ１  端末装置
ＰＣｎ  端末装置
【図１】
0003792928.tif 000002
【図２】
0003792928.tif 000003
【図３】
0003792928.tif 000004
【図４】
0003792928.tif 000005
【図５】
0003792928.tif 000006
【図６】
0003792928.tif 000007
【図７】
0003792928.tif 000008
【図８】
0003792928.tif 000009
【図９】
0003792928.tif 000010
【図１０】
0003792928.tif 000011
【図１１】
0003792928.tif 000012
【図１２】
0003792928.tif 000013
【図１３】
0003792928.tif 000014