JP2004280264A - 周辺機器制御システム - Google Patents
周辺機器制御システム Download PDFInfo
- Publication number
- JP2004280264A JP2004280264A JP2003068227A JP2003068227A JP2004280264A JP 2004280264 A JP2004280264 A JP 2004280264A JP 2003068227 A JP2003068227 A JP 2003068227A JP 2003068227 A JP2003068227 A JP 2003068227A JP 2004280264 A JP2004280264 A JP 2004280264A
- Authority
- JP
- Japan
- Prior art keywords
- code
- peripheral device
- attribute
- host computer
- conversion
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】一種類のコード体系に対応した監視ユーティリティにより複数種類の状態コードを実装した周辺機器に対応する。
【解決手段】多機能周辺機器(MFP)201のステータスは、クライアント204またはコード変換ボックス210またはサーバ209により、あるコード体系から、クライアントが処理可能なコード体系に変換されて、各クライアントに送信される。各クライアントは、MFP201のステータスに複数の異なるコード体系が含まれている場合でも、変換後のコード体系に従って処理することができる。
【選択図】図2
【解決手段】多機能周辺機器(MFP)201のステータスは、クライアント204またはコード変換ボックス210またはサーバ209により、あるコード体系から、クライアントが処理可能なコード体系に変換されて、各クライアントに送信される。各クライアントは、MFP201のステータスに複数の異なるコード体系が含まれている場合でも、変換後のコード体系に従って処理することができる。
【選択図】図2
Description
【0001】
【発明の属する技術分野】
本発明は、たとえばプリンタやスキャナ、ファックス、コピーなどといった周辺機器を、ネットワークやIEEE1394などのインターフェースを通して制御したり、これら周辺機器の状態をモニタリングしたり、これら周辺機器に対してジョブを発行したりする周辺機器制御システムに関する。
【0002】
【従来の技術】
ネットワークなどに接続されたプリンタやスキャナ、ファックス、コピー等の周辺機器に対してホストからジョブを発行したり、これらの周辺機器を管理したり、これらの周辺機器の状態をモニタリングしたりする場合は、あらかじめ周辺機器の種類や機種を知った上で、機種に対応した適当なドライバやユーティリティなどの周辺機器制御ソフトウエアをホスト上に用意しておく必要がある。
【0003】
そしてこの周辺機器ソフトウエアにより、周辺機器に生じるジャム状態、カバーオープン状態、用紙補給状態、メモリフル状態など、現在の状態をホスト上でモニタリングする仕組みが実現され、ユーザや管理者による周辺機器のリモート監視が可能となっている。この周辺機器のリモート監視のためには、機器状態を表すコード(以下、ステータスコード)体系を定義し、それらをあらかじめ周辺機器とホスト上のユーティリティの両方に組み込む必要がある。例えば、ステータスコードの値が3018000はジャム状態、3030000はカバーオープン状態、3060000は用紙補給状態、3190000はメモリフル状態、といった具合である。
【0004】
【発明が解決しようとする課題】
しかし、周辺機器は、種類や機種によって、それぞれが独自のステータスコード体系を定義して使用している。そこで、ホスト上のモニタリング用ユーティリティは、使用対象とする周辺機器が採用しているステータスコード体系に対応する必要が生じる。すなわち周辺機器の種類や機種ごとに、モニタリング用ユーティリティを作成しなければならず、ユーティリティ作成に多大な工数がかかってしまうという問題点があった。
【0005】
本発明は上記従来例に鑑みてなされたもので、互いに異なる複数のコード体系のステータスコードを実装する周辺機器の制御を簡易に行なうことが可能となり、開発や運用のコストが削減できる周辺機器制御システムを提供することを目的とする。
【0006】
【課題を解決する為の手段】
上記課題を解決するために、本発明の請求項1に係わる周辺機器制御システムでは、 周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする。
【0007】
あるいは、ホストコンピュータおよび周辺機器が通信可能な周辺機器制御システムであって、
周辺機器の状態又は機能を示すためのコードを周辺機器からホストコンピュータへ転送する転送手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする。
【0008】
更に好ましくは、前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有する。
【0009】
あるいは、ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段とを有する。
【0010】
更に好ましくは、前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする。
【0011】
更に好ましくは、前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有する
更に好ましくは、前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有する
更に好ましくは、さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする
更に好ましくは、前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新する。
【0012】
これにより、特定の1つのコード体系の周辺機器に対してコード処理を行なうようにすることで他のコード体系を実装する周辺機器の制御も行なうことが可能となる。
【0013】
【発明の実施の形態】
【実施形態1】
本発明の実施形態として、以下の仕様を有している多機能周辺機器について説明する。
【0014】
1.ジョブ発行
・プリント:
−3つの物理プリンタを選択して使用可能。
(レーザビームプリンタ(LBP)1(B/W(モノクロ),フィニッシャ付),LBP2(B/W),インクジェットプリンタ(IJ)(カラー))
−4つの論理プリンタ(クラスタ)プリンタを選択して使用可能。
(LBP1+LBP2, LBP2+IJ, LBP1+IJ, LBP1+LBP2+IJ)
−上記7つのプリンタから自動選択されたプリンタを使用可能。
−インクジェットプリンターエンジンを使用し、白黒のみの印刷可能なプリンターとする論理プリンターを使用可能。
・スキャン:
−外部からスキャンジョブの発行が可能。
−カラー原稿の読込みが可能。
・コピー:
−スキャナーと上記8つのプリンタを使用して構成されるコピーを選択して使用可能(自動選択も可能)。
−一部はカラーコピー可能(プリンターがIJのみのとき)。
【0015】
2.リソース管理
・フォント:
−プリントジョブで使用する。
−アップロードおよびダウンロードが可能。
・フォームオーバーレイ:
−プリントジョブで使用する。
−アップロードおよびダウンロードが可能。
・カラープロファイル:
−プリントジョブ,スキャンジョブ,コピージョブで使用する。
−アップロード,ダウンロードが可能。
・ログ:
−機器内部で自動生成される。
−アップロードが可能。
【0016】
3.インターフェース
・ネットワーク(Ethernet(登録商標), TCP/IP), IEEE1284, IEEE1394
・どのインターフェースからでも、全ての機能を使用可能。
・各インターフェースごとにサブアドレスと物理デバイスおよび論理デバイス(プリンター、スキャナ、コピー)および各リソースの対応が取られており、サブアドレスを選択することによりこれらの物理デバイスおよび論理デバイスおよび各リソースを選択する。
・これらの各インターフェースの各サブアドレスに対して、同時にジョブを発行およびダウンロードおよびアップロードを指示することができる。
・サブアドレスと物理デバイスおよび論理デバイスおよび各リソースとの対応は、機器自身に問い合わせることにより得られる。
・内部で持つユーザーインターフェースからも、機能を使用可能。
【0017】
4.管理機能
・外部から上記インターフェースを通してスーパバイザに問い合わせることにより、以下の情報を取得可能:
−提供している機能概要(どんなジョブが発行できるか、どんなリソースが利用できるかなど)。
−ジョブ発行、リソースのダウンロード・アップロードに使用するサブアドレス。
−各機能の詳細情報(最大コピー部数、フィニシャーの種類、サポートしているページ記述言語(PDL)、指定できる出力ビンの数等)。
・(上記情報を使用して、クライアント側ではソフトウエアを自動構成可能)
・ただし、この問合わせに使用するサブアドレスだけは各インターフェースにおいて、クライアントはあらかじめ知っておく必要がある。
・管理者は、上記の各種機能を接続形態および使用ユーザにより制限可能。
【0018】
[概要]
図1は本発明が実施された多機能周辺機器の構成をあらわす概念図である。図1において、コントローラ101は機器を制御するためのコントローラであり、図3において示されるハードウエア構成を有し、図4・図5および図6において示されるソフトウエア構成を有している。スキャナエンジン102は、コントローラ101によって制御されている。レーザービームプリンタエンジン103は、コントローラ101によって制御されている。レーザービームプリンタエンジン103はフィニッシャー106に接続されており、プリンタエンジン103から出力された複数の紙をまとめてステープル(ホッチキス)処理することが可能となっている。フィニッシャー106もコントローラ101によって制御されている。レーザービームプリンタエンジン104は、コントローラ101によって制御されている。インクジェットプリントエンジン105は、コントローラ101によって制御されている。このエンジン105はカラー出力を行うことが可能となっている。ネットワークインターフェース107は、コントローラ101に対して同インターフェースを通した双方向通信を提供している。IEEE1394インターフェース108は、コントローラ101に対して同インターフェースを通した双方向通信を提供している。IEEE1284インターフェース109は、コントローラ101に対して同インターフェースを通した双方向通信を提供している。ユーザーインタフェース110は、液晶(LCD)ディスプレイとキーボードから構成されており、コントローラ101からの情報表示を行うとともにユーザからの指示をコントローラ101に伝える。
【0019】
<システム構成例>
図2は本実施形態の多機能周辺機器を接続して構成されたシステム構成の一例をあらわすものである。図2において、図1であらわされる多機能周辺機器201は、ネットワーク208、IEEE1394(206)によってクライアントPC(202)、(203)、(204)にそれぞれ接続されている。また、多機能周辺機器201は、コード変換ボックス210を介して、クライアントPC(205)に接続されている。すなわち、多機能周辺機器201はIEEE1284(207)によってコード変換ボックス210に接続され、さらにIEEE1284(211)によってクライアントPC(205)にも接続されている。各クライアントPCでは、図20において示されるソフトウエアが動作している。また、ネットワーク208上には、サーバ209も接続されている。
【0020】
<コントローラ101のハードウエア構成>
図3は、コントローラ101のハードウエア構成をあらわすブロック図である。コントローラ101の内部では、CPU301がバス313を介して、RAM302・LCDディスプレイ303・キーボード304・ROM314接続されている。
【0021】
図4−図6で示されるソフトウエアブロックを有するプログラムおよび各種データはRAM302またはROM314に書き込まれており、これらをCPU301が順次読みだしながら実行することにより、コントローラは動作する。
【0022】
LCDディスプレイ303およびキーボード304は図1におけるユーザインターフェース110を構成するものであり、CPU301がLCDディスプレイ303にデータを書き込むことにより表示を行い、CP301がキーボード304からデータを読み出すことにより、ユーザからの指示を入力する。
【0023】
バス313には、ネットワークインターフェース305・IEEE1394インターフェース306・IEEE1284インターフェース307が接続されている。これらは、それぞれ図1のネットワークインターフェース107・IEEE1394インターフェース108・IEEE1284インターフェース109に対応するものであり、CPU301がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行う。
【0024】
バス313には、レーザービームプリンタエンジン1(308)・フィニッシャー309・スキャナエンジン310・レーザービームプリンタエンジン2(311)・インクジェットプリンタエンジン312が接続されている。これらは、図1のレーザービームプリンタエンジン1(103)・フィニッシャー106・スキャナエンジン102・レーザービームプリンタエンジン2(104)・インクジェットプリンタエンジン105に対応するものであり、CPU301がこれらのエンジンに対してデータの読み書きを行うことによりプリント・スキャンなどのエンジン動作および各種ステータス取得を行う。
【0025】
<コントローラ101のソフトウエア構成>
図4はコントローラ101のソフトウエア構成をあらわすものである。
【0026】
ユーザーインターフェース(UI)ドライバ401は、LCDディスプレイ303およびキーボード304の制御を行う。
【0027】
ユーザインターフェースマネージャ405は、UIドライバ401から入力されたユーザからの入力を解釈して、コマンドパケットを生成しインタープリター409に出力する。ユーザーインターフェースマネージャ405はまたインタープリター409から入力されたコマンドパケットを解釈し、UIドライバ401を介してLCDディスプレイ303に表示を行う。
【0028】
ネットワークインターフェースドライバ402は、ネットワークインターフェース305の制御を行い、ネットワークパケットの物理層(物理パケット)の処理、つまり物理パケットからトランスポートパケットの抽出、およびトランスポートパケットから物理パケットの生成を行う。
【0029】
TCP/IP・UDP/IP処理モジュール406は、ネットワークインターフェース402から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、ネットワークインターフェース402に出力する。
【0030】
IEEE1284ドライバ403は、IEEE1284インターフェース307の制御を行う。
【0031】
IEEE1284.4モジュール407はIEEE1284.4の処理モジュールである。IEEE1284.4は主にIEEE1284インターフェースで使用されることを目的としたトランスポート層の標準である。IEEE1284.4の処理モジュール407はIEEE1284ドライバ403から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1284ドライバ403に出力する。
【0032】
IEEE1394ドライバ404は、IEEE1394インターフェース306の制御を行う。
【0033】
SBP−2モジュール408はIEEE1394におけるトランスポート層であるSBP−2を処理するモジュールである。SBP−2の処理モジュール408は、IEEE1394ドライバ404から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1394ドライバ404に出力する。
【0034】
パケットインタプリタ409は、トランスポート処理部406・407・408の各々およびユーザインターフェースマネージャ405から入力されたコマンドパケットを解釈しコマンドを生成するパケットインタープリターである。パケットインタープリター409は他のモジュールからの依頼によりコマンドパケットの生成も行う。インタープリター409はスーパーバイザー(統括管理マネージャ)410が有するサブアドレス:SID対応表(図8)に従って、有効となっているサブアドレスから入力されたコマンドパケットのみを処理し、それ以外のサブアドレスから入力されたコマンドパケットは破棄する。
【0035】
スーパバイザ(統括管理マネージャ)410は、図7から図9で示される各種データを保持し、コントローラ101の動作を統括管理する。スーパバイザー410は、自分自身が保持する各種データ、各マネージャ(フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608)が保持する各種データ、および各コントローラ(プリンタコントローラ510−512、スキャナコントローラ420)が保持する各種データを、入力されたコマンドの指示に従って参照・変更する。
【0036】
セキュリティゲート411は、インタープリター409で解釈されたコマンドパケットをスーパーバイザー410が有するユーザ認証表およびアクセス制御表に従って、正しい使用権を持つユーザのみが、多機能周辺機器201を使用可能とするべくコマンドの入力を制限するものである。
【0037】
ディスパッチャー412は、インタープリター409から入力されたコマンドを、これらを処理するための各マネージャ(フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608)に配布する。
【0038】
フォントマネージャ413は、フォントの管理を行う。フォントマネージャ413で管理されるフォントは、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【0039】
フォームオーバーレイマネージャ414は、フォームオーバーレイの管理を行う。フォームオーバーレイマネージャ414で管理されるフォームオーバーレイは、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【0040】
ログマネージャ415はログの管理を行う。ログは各マネージャから出力される、ログマネージャの管理下におかれる。
【0041】
カラープロファイルマネージャ416は、カラープロファイルの管理を行う。カラープロファイルマネージャ416で管理されるカラープロファイルは、各プリンタコントローラ510、511、512およびスキャナコントローラ420に渡され、プリントジョブ・コピージョブおよびスキャンジョブの処理の際に使用される。
【0042】
PDLラスタライザ417はPDL(ページ記述言語)の一種であるポストスクリプト(PS:登録商標)でかかれたドキュメントデータを処理し、画像データを出力するPDLラスタライザである。
【0043】
PDLラスタライザ418はPDL(ページ記述言語)の一種であるPCLでかかれたドキュメントデータを処理し、画像データを出力するPDLラスタライザである。
【0044】
スキャンジョブマネージャ419は、スキャンジョブの管理を行う。スキャンジョブマネージャ419は図15で示されるようなデータを保持している。スキャンジョブマネージャ419はスキャナコントローラ420にスキャンの実行を指示する。
【0045】
スキャナコントローラ420はスキャナエンジン310を制御する。スキャナコントローラ420はスキャナエンジン310の機能・状態および性能を表す、図19で示される様なデータを保持している。
【0046】
スキャンジョブマネージャ419およびスキャナコントローラ420はそれぞれ機能・性能を示すデータ(図15と図19)を有しているが、これらのデータで示される機能は必ずしも同一である必要はない。スキャンジョブマネージャ419が保持するデータ(図15)をスーパバイザ410を通して書き換えることにより、機能を制限することが可能である。
【0047】
図5は、図4で示したコントローラ101のソフトウエアブロックの補足をあらわす図である。ディスパッチャー412は図4で示されているディスパッチャー412と同じものを表わし、プリントジョブマネージャ501−509へコマンドの配布を行う。プリントジョブマネージャ501−509はプリントジョブの管理を行う。各プリントジョブマネージャは図12で示される様なデータをそれぞれ有している。
【0048】
各プリントジョブマネージャは、プリントジョブを処理するために使用するプリンタコントローラおよびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラを使用するかは図12で示されるデータに記述されている。ただしプリントジョブマネージャ508だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがプリントジョブマネージャ508の有するデータに記述されている。各プリントマネージャは入力されたプリントジョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図15に示すようなデータを保持している。
【0049】
プリンタコントローラ510−512は、プリントエンジン308、311および312をそれぞれ制御する。プリンタコントローラ510はフィニッシャー309も制御する。各プリンタコントローラは対応するプリンタエンジンの機能・状態および性能を表す、図17で示される様な機能表を有している。各コントローラは入力されたプリントジョブの状態を表わす図18に示すようなデータを保持している。
【0050】
プリントジョブマネージャ501−509およびプリンタコントローラ510−512はそれぞれ機能・性能を示すデータ(図12と図17)を有している。一般的にプリントジョブマネージャは使用する各コントローラが有する性能の総和にあたる性能を有し、各コントローラが有する機能の共通項にあたる機能を有している。しかし、これらの一部はプリントジョブマネージャが保持するデータ(図12)をスーパバイザ410を通して書き換えることにより、変更することが可能である。たとえば、プリントジョブマネージャ503とプリントジョブマネージャ509は、同じプリンタコントローラ512を使用しているために、同じ性能・機能を提供することができるが、プリントジョブマネージャの保持するデータの設定により、プリントジョブマネージャ503はカラー印刷可能でありプリントジョブマネージャ509はカラー印刷不可能とすることも出来る。
【0051】
図6は、図4および図5で示したソフトウエアブロックの補足をあらわすものである。ディスパッチャー412は図4で示されているディスパッチャー412と同じものを表わし、コピージョブマネージャ601−608へコマンドの配布を行う。コピージョブマネージャ601−608はコピージョブの管理を行う。各コピージョブマネージャは図16で示される様なデータをそれぞれ有している。
【0052】
各コピージョブマネージャは、コピージョブを処理するために使用するプリンタコントローラおよびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラを使用するかは図16で示されるデータに記述されている。ただしプリントジョブマネージャ608だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがコピージョブマネージャ608の有するデータに記述されている。各コピーマネージャは入力されたコピージョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図15に示すようなデータを保持している。
【0053】
プリンタコントローラ510−512は、各プリントエンジンを制御するプリンタコントローラであり、図5に示されているものと同一のものを表わしている。
【0054】
[データ構造]
<属性表(スーパバイザ)>
図7は、スーパーバイザー410が保持し管理するデータである属性表の一例を表わす。属性表はスーパバイザが持つ属性を表す。属性IDの意味するところはクライアントに知らされている。この表は多機能周辺機器201の機能概要や接続情報およびセキュリティ情報などを表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードは属性ID701、型ID702および値703から構成されている。
【0055】
属性ID701は情報の種類を表わすものであり、これによって値703が示しているものがどのような意味を持つのかが示されている。属性ID701は機器内部でユニークであり、同じ属性IDを持つものは、同じ情報の種類を表わしている。
【0056】
型ID702は値703がどのようなデータ型を持っているのかを示すものであり、値703の解釈を行う際に使用されるものである。型IDは属性IDによって一意に決められるものであり機器内部でユニークに定義されている。本実施形態においては属性表の中に属性ID701と型ID702の両方が入れられているが、属性IDと型IDとの対応表を属性表とは別のデータとして保持し、属性表の中には属性IDと値のみを入れる様に実施してもよい。値703は、属性ID701に従った属性の値を示すものである。
【0057】
図7の属性表の属性ID701は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
102:サポートしているセキュリティレベルのリスト,
103:現在のセキュリティレベル,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
105:当該属性表中で管理者のみが取得できる属性IDのリスト,
301:機種名,
302:サポートしている言語,
303:現在の言語,
304:機器の状態,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
503:イベントフォーマット表,
1001:サブアドレス−サービスID対応表,
1002:サービスID−タスクタイプ対応表,
1003:ユーザ認証表,
1004:アクセス制御表,
2001:機器内にあるコントローラのIDのリスト
をそれぞれ表わす。
【0058】
図7の属性表の型ID702は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
34:整数と、整数のリスト,
52:イベント設定表形式,
53:イベントフォーマット表形式,
101:サブアドレス:サービスID対応表形式,
102:サービスID:タスクタイプ対応表形式,
103:ユーザ認証表形式,
104:アクセス制御表形式
をそれぞれあらわす。
【0059】
この中で、属性ID=102の「サポートしているセキュリティレベルのリスト」はスーパーバイザーに対する操作を発行するときに必要とされるセキュリティレベルについて、設定可能なセキュリティレベルのリストを保持している。
【0060】
属性ID=103 の「現在のセキュリティレベル」は、現在スーパーバイザーに設定されているセキュリティレベルを表わす。
【0061】
属性ID=304の「機器の状態」は、現在のスーパーバイザーの状態を表す。ステータスコードのタイプ、および、状態を示すステータスコード(整数)のリストとして表される。
【0062】
属性ID=401の「現在のカウントデータ」はスーパーバイザーの中でカウント対象となっている情報のリストを表わしており、この意味するところは属性ID=402の「カウントデータフォーマット」で表わされている。
【0063】
属性ID=402の「カウントデータフォーマット」は、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されているため、属性IDを指定することによりカウントデータの意味を指定することが可能となっている。
【0064】
属性ID=403のカウント制限データは、属性ID=401の「現在のカウントデータ」が持つことが出来る最大値を表わしており、「現在のカウントデータ」の値のうち1つでもこの最大値を超えた場合、図8で示されるサブアドレス:サービスID対応表を操作することにより全ての(マネージャによる)サービスを無効とする。
【0065】
属性ID=404のカウント単価データは、属性ID=402の「カウントデータフォーマット」に保持されている属性IDの1カウント毎の単価を通貨単位で表わすものである。
【0066】
属性ID=405の現在の課金データは、属性ID=401の「現在のカウントデータ」と属性ID=404の「カウント単価データ」の対応する値を掛け合わせて総和を取った値を示すものである。
【0067】
属性ID=406の課金制限データは、属性ID=405の「現在の課金データ」の持つことが出来る最大値を表わしており、属性ID=405の「現在の課金データ」が属性ID=406の「課金制限データ」を超えた場合、図8で示されるサブアドレス:サービスID対応表を操作することにより全ての(マネージャによる)サービスを無効とする。
【0068】
属性ID=501のサポートしているイベントリストは、スーパーバイザーに対して通知することを設定可能なイベントを、イベントの種類毎に一意に定義されているイベントIDのリストによって表わしている。実際のイベント送信の設定は、図10で示されるイベント通知表にイベント通知の接続形式および宛先をイベントIDと共に設定することによって行う。
【0069】
図7の属性表の値について、「Table Data」と記述してあるものは、値が型IDで示されている表の形式を持つデータであることを示している。
【0070】
<サブアドレス−サービスID対応表>
図8はサブアドレス:サービスID対応表の一例である。サブアドレス:サービスID対応表はサービスを受けるときにどのサブアドレスにジョブを投入したらよいかを記述した表である。この表は図7で示される属性表の「サブアドレス:SID対応表」属性の値として保持されている。サブアドレス:SID対応表はどのサブアドレスにコマンドを投入すればどのサービス(例えばプリント、フォントのダウンロードなど)が得られるを示すものである。また、この表に従ってインタープリター409は各接続形態ごとにジョブサービスの提供をおこなうかどうかを制御する。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードは接続形式ID801、サブアドレス802、サービスID803、有効フラグ804、有効ユーザのリスト805および無効ユーザのリスト806から構成されている。
【0071】
接続形式ID801は接続形態を表す識別子を示している。0はユーザインターフェース、1はネットワーク(TCP/IP)、2はIEEE1284、3はIEEE1394(SBP−2)を表している。サブアドレス802は各接続形態ごとのサブアドレスを表している。ユーザインターフェースはサブアドレスを有しないが、便宜上サブアドレスを割り当てており、このサブアドレス情報とともにユーザインターフェースからコマンドを投入する。サービスID803はサービスを表す識別子である。
【0072】
サービスID803は図4、図5および図6で示された各マネージャに一対一で割り当てられており、
0:スーパーバイザー410,
1:プリントジョブマネージャ501,
2:プリントジョブマネージャ502,
3:プリントジョブマネージャ503,
4:プリントジョブマネージャ504,
5:プリントジョブマネージャ505,
6:プリントジョブマネージャ506,
7:プリントジョブマネージャ507,
8:プリントジョブマネージャ508,
9:プリントジョブマネージャ509,
10:スキャンジョブマネージャ419,
11:コピージョブマネージャ601,
12:コピージョブマネージャ602,
13:コピージョブマネージャ603,
14:コピージョブマネージャ604,
15:コピージョブマネージャ605,
16:コピージョブマネージャ606,
17:コピージョブマネージャ607,
18:コピージョブマネージャ608,
101:フォントマネージャ413,
102:フォームオーバーレイマネージャ414,
103:ログマネージャ415,
104:カラープロファイルマネージャ416
をそれぞれ表わす。
【0073】
有効フラグ804は、そのサブアドレスが有効かどうかを表している。この値が真の場合にはサブアドレスが有効であり、コマンドパケットをサブアドレスに対して発行することが出来る。値が偽の場合にはサブアドレスは無効であり、コマンドパケットをサブアドレスに対して発行してもパケットは破棄されることを意味する。図8の場合は、IEEE1284の接続形態を利用した場合8番のサービスを提供できない事を表している。すなわち、サブアドレスの有効にについても、図8の表で管理される。
【0074】
有効ユーザのリスト805は、サブアドレスが有効の場合に、そのサービスが受けられるユーザIDのリストを表している。無効ユーザのリスト806は、サブアドレスが有効の場合でも、そのサービスが受けられるユーザIDのリストを表している。有効ユーザのリスト805と無効ユーザのリスト806は、どちらかにしか値を設定することは出来ない。
【0075】
<サービスID:タスクタイプ対応表>
図9はサービスID:タスクタイプ対応表の一例を表す。サービスID:タスクタイプ対応表はサービスIDがどのような種類のサービスであるかを表す表である。この表は図7で示される属性表の「SID(サービスID):タスクタイプ表」属性の値として保持されている。サービスID:タスクタイプ表はサービスIDがどのような種類のサービスを提供するのかを表すものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはサービスID901およびタスクタイプ902から構成されている。
【0076】
タスクタイプ902はどのような種類のサービスであるかを示している。0はスーパーバイザーが行うサービス、1はプリント、2はスキャン、3はコピー、101はフォント、102はフォームオーバーレイ、103はログ、104はカラープロファイルを表している。タスクタイプはCPCAのタスクタイプに相当する。
【0077】
サービスIDはサービスを提供するマネージャと一対一で対応している。このため、サービスIDは各マネージャが有する機能表のアクセスにも使用される。機能表は各プリンタコントローラおよびスキャナコントローラも有しているために、これらにアクセスするためにプリンタコントローラおよびスキャナコントローラにもサービスIDに相当するコントローラIDを割り当てており、コントローラIDがどのような種類のコントローラであるかをサービスID:タスクタイプ対応表で管理している。タスクタイプ201はプリンタコントローラ、202はスキャナコントローラを表している。たとえば、ディスパッチャ412が各マネージャにコマンドを配信する際にも参照される。
【0078】
コントローラIDは図4および図5で示された各コントローラと一対一で対応しており、
21:プリンターコントローラ510,
22:プリンターコントローラ511,
23:プリンターコントローラ512,
24:スキャナーコントローラ420
をそれぞれ表わす。
【0079】
<イベント設定表>
図10はスーパーバイザーが保持するイベント設定表の一例を表わすものである。イベント設定表は、イベントを指定して指定したイベントが発生した場合にその旨通知するあて先を登録する表である。あて先は接続形式と接続形式に依存した通知先アドレスとから構成される。
【0080】
この表は図7で示される属性表の「イベント設定表」属性の値として保持されている。イベント設定表は指定されたイベントが機器内で起きたときにイベント通知を送信する方法と宛先を、イベントの種類毎に保持している。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはイベントID1201、接続形式1202および通知先アドレス1203から構成されている。
【0081】
イベントID1201は、イベントの種類を表わすものであり、機器内でユニークに定義されている。例えば、イベントID399は機器の状態遷移イベントを示す。接続形式1202は、イベント通知を送信する接続形式を表わしており、この値は図8のサブアドレス:サービスID対応表で使用されているものと同一のものが使用される。通知先アドレス1203は、接続形式1202に適合したイベントの通知先宛先を表わすものである。
【0082】
<イベントフォーマット表>
図11はスーパーバイザーが保持するイベントフォーマット表の一例を表わす。イベントフォーマット表は、イベントの内容を表す表であり、イベントIDごとにイベントフォーマットが定義されている。ここで定義されている内容が、指定されたイベントが起きたときにイベントIDごとにあらかじめ決められたデータと共に通知される。この表は図7で示される属性表の「イベントフォーマット表」属性の値として保持されている。イベントフォーマット表は機器内でユニークに定義されている各イベントIDについて、イベント通知として送信される付加データの形式を保持している。
【0083】
表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはイベントID1301およびイベントフォーマット1302から構成されている。イベントフォーマット1302はイベント通知として送信される付加データの形式であり、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されており、その型も属性IDによって一意に決定されているため、属性IDを指定することにより、付加データのフォーマットを表わすことができる。例えば、イベントフォーマット1302の属性304は機器の状態を示す。
【0084】
以下に示す様に、イベントの送信方法・宛先は各マネージャおよびコントローラが保持するデータ(属性表)に設定されており、これらの各マネージャおよびコントローラ内で起きたイベントを通知することが可能となっている。これらのイベントの付加データのフォーマットも図11で示されるイベントフォーマット表において保持されている。
【0085】
<属性表(プリントジョブマネージャ)>
図12は各プリントジョブマネージャ501−509が保持するデータである属性表の一例を表わす。この属性表はプリントジョブマネージャが持つ属性を表す。属性IDの意味するところはクライアントに知らされている。この表は、プリントジョブマネージャが扱うことが可能なプリントジョブの性能・機能を表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1401、型ID1402および値1403から構成されている。
【0086】
図12の属性表の属性ID1401は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
601:サポートしているデータのダウンロード方法,
801:設定が禁止されている属性の組み合わせリスト(1型),
802:設定が禁止されている属性の組み合わせリスト(2型),
803:設定が禁止されている属性の組み合わせリスト(3型),
804:設定が禁止されている属性の組み合わせリスト(4型),
805:設定が禁止されている属性の組み合わせリスト(5型),
1101:サポートしているPDLのリスト,
1102:カラー印刷可能かどうか,
1103:サポートしているフィニッシングの種類,
1104:設定可能最高解像度,
1105:設定可能最低解像度,
2001:Jobを実行する(可能性のある)コントローラIDリスト,
2002:コントローラ自動選択かどうか,
2003:ジョブ表,
2004:ジョブ依頼表
をそれぞれ表わす。
【0087】
属性ID=601の「サポートしているデータのダウンロード方法」は、プリントするドキュメントデータの機器への送信方法を表わすものであり、本実施形態では、1:ジョブの中にドキュメントデータを含める方法、および、2:ジョブの中にはドキュメントデータの参照ポインタ(URL:Unified Resource Locator)が含まれており、機器から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【0088】
属性ID=801、802、803、804,805はプリントジョブマネージャに対して投入されるプリントジョブの中に設定する属性に関する制限を表す禁止設定属性である。これらは、例えばコピー部数が100を超える場合は、フィニッシャの設定が不能になるなどといった制限事項を表すために使用される。禁止設定属性には、その制限の表現方法として5つの型がある。
【0089】
属性ID=801は、{属性ID1:{属性ID2}}で示す様に、ある属性ID1に対して別の属性ID2のリストの対を複数保持している。これは属性ID1の設定がなされている場合は各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。
【0090】
属性ID=802は、{属性ID1:演算子識別子:値:{属性ID2}}で示す様に、ある属性ID1、演算子識別子および値に対して、別の属性ID2のリストの対を複数保持している。これは属性ID1に対して演算子識別子で示される演算子を値に対して適用した結果が真の場合は、各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。演算子識別子は整数値が2項演算に対して一対一で対応している。例えば、0は「=(等しい)」を表す。
【0091】
属性ID=803は、{属性ID1:演算子識別子1:値1:{属性ID2:演算子識別子2:値2}}で示す様に、ある属性ID1、演算子識別子1および値1に対して,別の属性ID2,演算識別子2および値2の組のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果が真の場合は、各属性ID2に対して演算子識別子2示される演算子を値2に対して適用した結果が真になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【0092】
属性ID=804は、{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID3}}で示す様に、ある属性ID1、演算子識別子1および値1と演算識別子3と別の属性ID2、演算識別子2および値2とに対して,さらに別の属性ID3のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果と属性ID2に対して演算子識別子2で示される演算子を値2に対して適用した結果とを演算子識別子3で示される演算をした結果が真の場合は、各属性ID3に対する設定はプリントジョブスクリプトの中で行えないことを表す。
【0093】
属性ID=805は、{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID4:演算識別子4:値4}}で示す様に、ある属性ID1、演算子識別子1および値1と演算識別子3と別の属性ID2、演算識別子2および値2とに対して,さらに別の属性ID4、演算識別子4および値4の組のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果と属性ID2に対して演算子識別子2で示される演算子を値2に対して適用した結果とを演算子識別子3で示される演算をした結果が真の場合は、各属性ID4に対して演算し4で示される演算を値4に対して適用した結果が新になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【0094】
属性ID=2001の「Jobを実行する(可能性のある)コントローラIDリスト」は、プリントジョブを実行するコントローラのコントローラIDのリストであり、プリントジョブマネージャ508以外のプリントジョブマネージャは必ずジョブを実行するコントローラのリストとなっている。プリントジョブマネージャ508はコントローラをジョブの要求している機能によって動的にコントローラを選択するため、この属性はコントローラを選択する範囲を表わすものとなっている。
【0095】
属性ID=2002の「コントローラ自動選択かどうか」は、プリントジョブマネージャがコントローラを自動選択するかどうかが表わされている。当実施例では、プリントジョブマネージャ508のみがこの値を真としている。
【0096】
属性ID=2003および2004に関しては、図13,15Bを参照して後述する。
【0097】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリントジョブマネージャの管理下にあるものに限定されている。例えば、属性値=101の「サポートしているオペレーション」は、このプリントジョブマネージャに対して発行できるオペレーションのリストであり、属性値=406の「課金制限データ」はこのプリントジョブマネージャで実行したプリントジョブに関して課金の制限を加えるものである。課金の制限を超えた場合の取り扱いも、このプリントジョブマネージャのサービスを無効とするのみで、他のマネージャのサービスには影響を与えない。
【0098】
図12の属性表の型IDの値1402は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
81::禁止属性組み合わせリスト1形式,
82::禁止属性組み合わせリスト2形式,
83::禁止属性組み合わせリスト3形式,
84::禁止属性組み合わせリスト4形式,
85::禁止属性組み合わせリスト5形式,
203:ジョブ表形式,
204:ジョブ依頼表形式
を表わす。
【0099】
禁止属性組み合わせリスト1−5形式とは、上述した設定が禁止されている族制の組み合わせリストの第1〜第5の型であり、データ型はそれぞれ以下の通りに定義されている。
・禁止属性組み合わせリスト1形式:{属性ID1:{属性ID2}},
・禁止属性組み合わせリスト2形式:{属性ID1:演算子識別子:値:{属性ID2}},
・禁止属性組み合わせリスト3形式:{属性ID1:演算子識別子1:値1:{属性ID2:演算子識別子2:値2}},
・禁止属性組み合わせリスト4形式:{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID3}},
・禁止属性組み合わせリスト5形式:{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID4:演算識別子4:値4}}。
ジョブ表形式とは、図13に例示した、ジョブIDとジョブファイル名とを対応付けた表形式を表す。ジョブ依頼表形式とは、図14に例示した、ジョブID−コントローラ−ジョブIDを対応付けた表の形式である。そのほかの型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0100】
図13はプリントジョブマネージャが保持するジョブ表の一例である。ジョブ表は、プリントマネージャが管理するジョブの実体を保持するファイル名とジョブIDとを対応付ける表である。この表は図12で示される属性表の「ジョブ表」属性値2003の値として保持されている。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID15A01およびジョブの実体が保持されているファイル名15A02から構成されている。
【0101】
ジョブID15A01はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子である。ジョブのファイル名15A02は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【0102】
図14はプリントジョブマネージャが保持するジョブ依頼表の一例を表わす。ジョブ依頼表は、プリントマネージャが管理するジョブとコントローラによって実行されるジョブとの関係を示す表である。この表は図12で示される属性表の「ジョブ依頼表」属性値2004の値として保持されている。
【0103】
ジョブ依頼表は、プリントジョブマネージャが管理するジョブがどのコントローラでどのジョブとして実行されているかを表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID15B01、コントローラID15B02およびコントローラの中で割り当てられているジョブID15B03から構成されている。
【0104】
ジョブID15B01はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子であり、ジョブ表(図13)にあるジョブID15A01と対応している。コントローラID15B02はジョブが実行されているコントローラのIDを表わす。ジョブID15B03は、ジョブを実行するコントローラが割り当てたジョブの識別子である。
【0105】
<属性表(スキャンジョブマネージャ)>
図15はスキャンジョブマネージャ419が保持するデータである属性表の一例を表わす。この属性表はスキャンマネージャが持つ属性を表す。属性IDの意味するところはクライアントに知らされている。この表は、スキャンジョブマネージャが扱うことが可能なスキャンジョブの性能・機能を表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1601、型ID1602および値1603から構成されている。
【0106】
図15の属性表の属性ID1601は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
602:サポートしているデータのアップロード方法,
1201:出力可能な画像フォーマットのリスト,
1202:カラースキャン可能か,
1203:設定可能な解像度のリスト,
2001:ジョブを実行するコントローラIDリスト,
2002:コントローラ自動選択可能かどうか,
2003:ジョブ表
をそれぞれ表わす。
【0107】
属性ID=602の「サポートしているデータのアップロード方法」は、スキャンしたドキュメントデータの機器への送信方法を表わすものであり、本実施形態では1:ジョブの返信中にドキュメントデータを含める方法、および2:ドキュメントデータを機器内に保持しておきジョブの返信中にはドキュメントデータへの参照ポインタ(URL)を含めておき、ホスト(クライアント)から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【0108】
属性ID=1201の「出力可能な画像フォーマットのリスト」は、出力可能な画像のデータフォーマットを表わしており、スキャンジョブを発行する際にこの中にあるものの1つをデータフォーマットとして指定することが出来る。
【0109】
属性ID=1202の「カラースキャン可能か」は、文字通りカラー画像データを出力できるか否かを表わしている。
【0110】
属性ID=1203の「設定可能な解像度のリスト」は、設定可能な画像の解像度を表わしており、スキャンジョブを発行する際にこの中にあるものの1つを読み取り解像度として指定することが出来る。
【0111】
属性ID=2003のジョブ表に関しては、図13,15Bで示されたプリントジョブマネージャが保持するものと同一である。
【0112】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているスキャンジョブマネージャの管理下にあるものに限定されている。
【0113】
図15の属性表の型IDの値1602は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
203:ジョブ表形式
を表わす。これらの型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0114】
<属性表(コピージョブマネージャ)>
図16は各コピージョブマネージャ601−608が保持するデータである属性表の一例を表わす。この表は、コピージョブマネージャが扱うことが可能なコピージョブの性能・機能を表わすものである。属性IDの意味するところはクライアントには知らされている。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1701、型ID1702および値1703から構成されている。
【0115】
図16の属性表の属性ID1701は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
1302:カラー印刷可能か,
1303:サポートしているフィニッシングの種類,
1304:設定可能最高解像度,
1305:設定可能最低解像度,
2001:ジョブを実行する(可能性のある)コントローラIDリスト,
2002:コントローラ自動選択かどうか,
2003:ジョブ表
をそれぞれ表わす。
これらの属性IDに関しては、プリントジョブマネージャおよびスキャンジョブマネージャの説明の中で示されたものと同一である。
【0116】
図16の属性表の型IDの値1702は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
203:ジョブ表形式
を表わす。これらの型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0117】
<属性表(プリンタコントローラ)>
図17は各プリンタコントローラ510、511、512が保持するデータである属性表を表わす。この表は、プリンタコントローラが制御しているプリントエンジンおよびフィニッシャーの性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID2801、型ID2802および値2803から構成されている。
【0118】
図17の属性表の属性ID2801は、
12:コントローラタイプ,
13:コントローラID,
100:当該属性表の中にある属性IDのリスト,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
5001:カラー印刷可能かどうか,
5002:サポートしているフィニッシングの種類,
5003:設定可能最高解像度,
5004:設定可能最低解像度,
5005:ジョブキュー表
をそれぞれ表わす。
【0119】
ジョブID=12,13,5001,5002,5003,5004,5005については上記リストの通りである。他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【0120】
図17の属性表の型IDの値2802は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
500:ジョブキュー表形式
を表わす。型ID=500は、図18に示すジョブ表の型を表す。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0121】
図18はプリンタコントローラが保持するジョブキュー表を表わすものである。この表は図17で示される属性表の「ジョブキュー表」属性値の値として保持されている。ジョブキュー表は、プリンタコントローラが管理・実行するジョブがどの様な状態にあるのかを表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID2901、ジョブステータス2902およびジョブの実体が保持されているファイル名2903から構成されている。
【0122】
ジョブID2901はプリンタコントローラにジョブが投入されたときに、プリンタコントローラが割り当てたジョブに対する識別子である。
【0123】
ジョブステータス2902ばジョブの状態を表わすものであり、1はジョブの終了処理中、2はジョブがエンジンで実行中、3は実行待ち状態であることを示す。
【0124】
ジョブのファイル名2903は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は、属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【0125】
<属性表(スキャナコントローラ)>
図19はスキャナコントローラ420が保持するデータである属性表の一例を表わす。この表は、スキャナコントローラが制御しているスキャナエンジン性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID3001、型ID3002および値3003から構成されている。
【0126】
図19の属性表の属性ID3001は、
12:コントローラタイプ,
13:コントローラID,
100:当該属性表の中にある属性IDのリスト,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
6001:カラースキャン可能かどうか,
6002:最大原稿サイズ,
6003:設定可能最高解像度,
6004:設定可能最低解像度,
をそれぞれ表わす。
【0127】
ジョブID=6001,6002,6003,6004については上記リストの通りである。他の属性IDについては図19のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【0128】
属性表の型IDの値3002は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式
を表わす。すべて図7のスーパーバイザーの属性表で使用されているものと同一である。
【0129】
[クライアント側の処理フロー]
<クライアントのソフトウエア構成>
図20は、多機能周辺機器201を利用するクライアント202、203、204、205のソフトウエアブロック図を表す。
【0130】
ユーザインターフェースA01は、各ドライバA05〜A07およびユーティリティーからA08〜A14は多機能周辺機器201の持つ情報を表示する。
【0131】
データベースA02は現在使用中の多機能周辺機器201の情報を保持するデーターベースであり、クライアントが多機能周辺機器201に接続した段階で、機器情報取得部A03が機器の持つ全ての情報を取得してデータベースA02の中に保持する。
【0132】
規定データベースA04は、多機能周辺機器201が保持する各属性表の中で使用される、各属性の意味、各属性ID毎のデータ型、イベントID毎に規定されているパラメータのフォーマット、タスクタイプの意味などの規定情報を保持している。各ドライバおよびユーティリティーA05〜A14は、規定データベースA04および機器情報A02に基づき動作する。
【0133】
プリンタドライバA05は、クライアントPC上で動作するアプリケーションプログラムからの指示によりプリントジョブスクリプトを生成する。
【0134】
スキャナドライバA06は、クライアントPC上で動作するアプリケーションプログラムからの指示によりスキャンジョブスクリプトを生成する。
【0135】
コピードライバA07は、クライアントPC上で動作するアプリケーションプログラムからの指示によりコピージョブスクリプトを生成する。
【0136】
フォント管理ユーティリティA08は、フォントデータのダウンロードおよびアップロードを行うジョブを生成し、フォントデータを管理するコマンドを生成する。
【0137】
フォームオーバーレイ管理ユーティリティA09は、フォームオーバーレイデータのダウンロードおよびアップロードを行うジョブを生成し、フォームオーバーレイを管理するコマンドを生成する。
【0138】
ログ管理ユーティリティA10は、ログデータのダウンロードおよびアップロードを行うジョブを生成し、ログを管理するコマンドを生成する。
【0139】
カラープロファイル管理ユーティリティA11は、カラープロファイルデータのダウンロードおよびアップロードを行うジョブを生成し、カラープロファイルを管理するコマンドを生成する。
【0140】
ジョブ管理ユーティリティA12は、プリントジョブ・スキャンジョブ・コピージョブの削除・一時停止・実行再開などの管理をおこなうコマンドを生成する。
【0141】
機器管理ユーティリティA13は、プリンタコントローラ・スキャナコントローラの状態を取得するコマンドを生成する。
【0142】
課金管理ユーティリティA14は、課金データの取得するコマンドを生成する。
【0143】
ジェネレータA15は、各ドライバおよびユーティリティーA05〜A14から生成されたコマンドを基にコマンドパケットを生成する。生成されたコマンドパケットは、トランスポート処理モジュールA16、A18、A20各々を利用して多機能周辺機器201に送信される。ジェネレータA15は、トランスポート処理モジュールA16、A18、A20各々から入力された返信パケットおよびイベントパケットを解釈し、適当なドライバまたはユーティリティに配布する。
【0144】
SBP−2モジュールA16は、IEEE1394のトランスポート層であるSBP−2の処理モジュールである。
【0145】
TCP/IP・UDP/IPモジュールA18は、TCP/IPおよびUDP/IPの処理モジュールである。
【0146】
IEEE1284.4モジュールA20は、IEEE1284のトランスポート層であるIEEE1284.4の処理モジュールである。
【0147】
IEEE1394インターフェースA17は、IEEE1394の物理層を処理するインターフェースである。
【0148】
ネットワークインターフェースA19は、LAN等のネットワークインターフェースである。
【0149】
1EEE1284インターフェースA21は、IEEE1284の物理層を処理するインターフェースである。
【0150】
コード変換ライブラリA22は、ステータスコード間の変換処理を行なう。ジェネレータA15からの問い合わせに応じて、Aタイプのステータスコードに変換を行なう。この処理の内容については、後で図23にて説明する。このコード変換ライブラリA22は、少なくともクライアント204には存在する。クライアント202、203、205には存在しなくても構わない。
【0151】
A23は、コード変換ライブラリA22がステータスコード間の変換処理を行なう際に使用するステータスコード対応表である。この表については、あとで図22において詳しく説明を行なう。
【0152】
図20はまた、多機能周辺機器201のソフトウエアブロック図(図4)におけるユーザーインターフェースマネージャ405の内部構成を表すものでもある。ユーザインターフェースマネージャ405の場合は、図20におけるSBP−2処理モジュールA16、TCP/IPおよびUDP/IP処理モジューA18、IEEE1284.4処理モジュールA20、ネットワークインターフェースA17、ネットワークインターフェースA19、IEEE1284インターフェースA21は存在せず、ジェネレータA15が図4におけるインタープリター409に直接接続されており、これによってコマンドパケット・返信パケット・イベントパケットのやり取りが行われている。この直接接続は他のクライアント202、203、204、205のソフトウエア構成には存在していない。
【0153】
<ジョブ管理コマンドの発行>
図21は、ジョブ管理ユーティリティA12が、ジョブ管理コマンドを発行する場合の処理フローを表す。
【0154】
ステップM01において、対象とするマネージャのサービスIDをパラメータとしてマネージャが保持するジョブ表(図13)を取得する。
【0155】
ステップM02において、取得したジョブ表に含まれるジョブリストの中から適当な方法で管理対象とするジョブの持つジョブIDを選択する。選択手段としては、ユーザインターフェース
A01にジョブのリストを表示し、ユーザに選択させる方法などが含まれる。
【0156】
ステップM03において、指定されたジョブIDをパラメータとするジョブ管理用コマンドを生成し、発行し終了する。
【0157】
ジョブ管理コマンドを受信した多機能周辺機器201のスーパーバイザーは指示されたジョブの管理を行う。
【0158】
<ステータス変換処理>
図22は、ステータスコード対応表で、複数のステータスコード体系間の対応関係を表す一例である。これは、図20におけるステータスコード対応表A23、後述の図25におけるコード変換ボックスのステータスコード対応表4807、同じく図26におけるサーバのステータスコード対応表4905などに相当する。
【0159】
この図22は4タイプのステータスコード体系間の対応関係を示している。各列がそれぞれ一つのステータスコード体系である。すなわち、N01列にはAタイプのステータスコード、N02列にBタイプのステータスコード、N03列にCタイプのステータスコード、N04列にDタイプのステータスコードのコードが列記されている。
【0160】
そして、各行には同じ状態を示す各ステータスコード体系のコードが列記されている。例えば、N11行には「ジャム状態」を示す各ステータスコード体系のコードが列記されている。すなわち、Aタイプのステータスコードにおいては40010000が、Bタイプのステータスコードにおいては3018000が、Cタイプのステータスコードにおいては40913が、Dタイプのステータスコードにおいては3010000が、「ジャム状態」を意味していることになる。
【0161】
同様に、N12は「カバーオープン状態」を、N13は「用紙補給状態」を、N14は「メモリフル状態」を意味する、各ステータスコード体系のコードが列記されている。
【0162】
ステータスコード間変換処理の際には、このステータスコード対応表を用いて、例えばBタイプのステータスコードの3018000というコードは、Aタイプのステータスコードでは40010000というコードに相当する、といった変換処理を行なう。
【0163】
図23は、ステータスコード間のコード変換問い合わせを受けた際の、ステータスコード間の変換処理を行なう処理フローを表す。本処理は、図20に示すクライアントのコード変換ライブラリA22、コード変換ボックスのコード変換ライブラリ4806、サーバのコード変換ライブラリ4904が行なう処理である。
【0164】
ステップO01において、問い合わせ側から渡されたステータスコードのタイプおよびコードから、一致するレコードを図22のステータスコード表から探し出す。
【0165】
ステップO02において、探し出したレコードの、AタイプのステータスコードのコードN01を得る。
【0166】
ステップO03において、その得たコードを返却する。
【0167】
以上により、問い合わせ側が問い合わせたタイプのステータスコードのコードに相当するAタイプのステータスコードのコードが、問い合わせ側に返却されることになる。
【0168】
<コード変換ボックスの構成>
図24は、コード変換ボックス209のコントローラのハードウエア構成を表すものである。
【0169】
コントローラの内部では、CPU4701がバス4706を介して、RAM4702・ROM4704に接続されている。
【0170】
図23で示されるソフトウエアブロックを有するプログラムおよび各種データはRAM4702またはROM4704に書き込まれており、これらをCPU4701が順次読みだしながら実行することにより、コントローラは動作する。
【0171】
バス4706には、IEEE1284インターフェース4703・IEEE1284インターフェース4705が接続されている。これらは、それぞれ図25のIEEE1284インターフェース4801・IEEE1284インターフェース4802に対応するものであり、CPU4701がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行う。
【0172】
図25は、コード変換ボックス210のソフトウエア構成を表すものである。
【0173】
IEEE1284ドライバ4801、4802は、それぞれ図24のIEEE1284インターフェース4703、4705の制御を行う。
【0174】
モジュール4803、4804はIEEE1284.4の処理モジュールである。IEEE1284.4は主にIEEE1284インターフェースで使用されることを目的としたトランスポート層の標準である。IEEE1284.4の処理モジュール(4803)、(4804)は、それぞれIEEE1284ドライバ(4801)、(4802)から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター4805に出力する。また、インタープリター4805から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1284ドライバ(4801)、(4802)に出力する。
【0175】
パケットインタプリタ4805は、各トランスポート処理部4803・4804から入力されたコマンドパケットを解釈しコマンドを生成するパケットインタープリターである。パケットインタープリター4805は他のモジュールからの依頼によりコマンドパケットの生成も行う。
【0176】
コード変換ライブラリ4806は、ステータスコード間の変換処理を行なう。パケットインタープリター4805からの問い合わせに応じて、Aタイプのステータスコードに変換を行なう。この処理の内容については、図23にて説明した。
【0177】
ステータスコード対応表4807は、コード変換ライブラリが4806ステータスコード間の変換処理を行なう際に使用される。この表については、既に図22において詳しく説明を行なった。
【0178】
パケットインタープリター4805は、一方のIEEE1284.4処理モジュールから得たコマンドパケットを他方のIEEE1284.4処理モジュールに送る役割をする。パケットインタープリター4805は、基本的には得たコマンドパケットをそのまま送るのだが、図23で説明したステータスコード間のコード変換処理機能を有しており、必要に応じて、コマンドパケット内のデータを変換するフィルタ処理を行なう。本発明の場合、多機能周辺機器201から送られてきたAタイプ以外のステータスコードのコードを、Aタイプのステータスコードのコードに変換してクライアントPC205に送り、それ以外のコマンドパケットは、そのまま素通りでクライアントPC205に送ることになる。また、クライアントPC205から送られてきたコマンドパケットは、ステータスコードを変換する必要が無いので、全てそのまま素通りで多機能周辺機器201に送る。
【0179】
以上により、多機能周辺機器201が、どのタイプのステータスコードを実装していても、クライアントPC205の機器管理ユーティリティA13をはじめとするA05からA14で示される各ドライバおよびユーティリティーは、Aタイプのステータスコードにのみ対応しておけば十分であることになる。
【0180】
<サーバのソフトウエア構成>
図26は、サーバ209のソフトソフトウエア構成を表すものである。本サーバ209は、ステータスコード間のコード変換処理を行なう目的に特化している例を示す。もちろん、コード変換処理以外のいかなる機能を有していても構わない。
【0181】
ネットワークインターフェース4901は、LAN等のネットワークに接続するためのインターフェースである。
【0182】
モジュール4902は、TCP/IPおよびUDP/IPの処理モジュールである。
【0183】
インタプリタ4903は、多機能周辺機器201からの問い合わせ内容を認識し、返信パケットを生成する。インタープリタ4903は、4902のトランスポート処理モジュールから入力された問い合わせパケットを解釈し、コード変換ライブラリ4904にコード変換の問い合わせを行ない、得られた返答を4902のトランスポート処理モジュールを利用して多機能周辺機器201に返信する。
【0184】
コード変換ライブラリ4904は、ステータスコード間の変換処理を行なう。インタープリタ4903からの問い合わせに応じて、Aタイプのステータスコードに変換を行なう。この処理の内容については、図23にて説明した。
【0185】
4905は、コード変換ライブラリ4904がステータスコード間の変換処理を行なう際に使用するステータスコード対応表である。この表については、既に図22において詳しく説明を行なった。
【0186】
<クライアントにおける多機能周辺機器からのイベント処理>
多機能周辺機器201から機器の状態遷移イベントが発行されてから、各クライアントでそのイベント通知を受けて、対応する処理を行なうまでの流れを示す。
[あ]クライアント202および203,
[い]クライアント204,
[う]クライアント205
の3種類に分けて、以下説明していく。
【0187】
例として、ジャム状態が発生した場合の例を示す。ジャム状態は、Aタイプのステータスコードだと40010000で、Bタイプのステータスコードだと3018000で示される。
【0188】
なお、多機能周辺機器201はBタイプのステータスコードを実装しており、クライアント202から205の各機器管理ユーティリティA13はAタイプのステータスコードを実装しているとする。
【0189】
[あ]クライアント202および203の場合(図2、図20、図26参照):
(1)「Bタイプ:3018000」を示す状態遷移イベントが、多機能周辺機器201からクライアント202あるいは203に届く。
(2)クライアント202あるいは203のジェネレータA15が、サーバ209に「Bタイプ:3018000」の変換要求を送付する。
(3)サーバ209のインタープリター4903が、コード変換ライブラリ4904に「Bタイプ:3018000」を渡し、コード変換を依頼する。
(4)コード変換ライブラリ4904からインタープリター4903に、「Aタイプ:40010000」と返答される。
(5)サーバ209からクライアント202あるいは203に、「Aタイプ:40010000」という変換結果が届く。
(6)クライアント202あるいは203のジェネレータA15は機器管理ユーティリティA13に「Aタイプ:40010000」を配布する。
(7)機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0190】
このように、サーバにより、多機能周辺機器の出力するタイプからクライアントが用いるタイプへとステータスコード系を変換する。
【0191】
この場合、多機能周辺機器201から出力されるステータスのタイプは、ステータスのコード自体から判別できる場合には、そのステータスの値に基づいて判別される。図22の例では、整数第8桁目が「4」であるのはAタイプだけであるので、これに該当すればAタイプであると判別できる。さらに、図22のステータスコード対応表のエントリがすべて表中で唯一の値であれば、ステータス対応表をタイプの判別にも利用できる。また、重複するエントリがあっても、図22のBタイプとDタイプのようにそれらが同じ意味を有していればユニークに識別する必要はないため、この場合にもステータス対応表からステータスのタイプを判別できる。
【0192】
しかし、ステータスの値からはどのタイプであるとも判別できない場合には、ステータスとともにそのコード体系を表すコードを多機能周辺機器が添付すればよい。すなわち、イベントの発行元であるマネージャが、コード体系をも含めてイベントを発行すればステータスに含まれる明示的なコード体系によりステータスのコード体系を判別できる。
【0193】
このようにして判別されたコード体系から、ステータスの送信先のコード体系へとステータスを変換する。変換先のタイプは、マニュアル操作によってあらかじめコード変換ライブラリを備えるサーバに登録しておいても良い。あるいは、サーバ209に送信するコード変換要求に添付するパラメータとして変換先のタイプを送ることもできる。また、サーバでは変換要求元のクライアントに対応するコードのタイプをあらかじめ記憶しておき、変換要求元のクライアントの識別子などに基づいて決定することもできる。
【0194】
[い]クライアント204の場合(図2、図20参照):
(1)「Bタイプ:3018000」を示す状態遷移イベントが、多機能周辺機器201からクライアント204に届く。
(2)クライアント204のジェネレータA15が、コード変換ライブラリA22に「Bタイプ:3018000」を渡し、コード変換を依頼する。
(3)コード変換ライブラリA22からジェネレータA15に、「Aタイプ:40010000」と返答される。
(4)ジェネレータA15は機器管理ユーティリティA13に「Aタイプ:40010000」を配布する。
(5)機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0195】
このように、クライアント自身により、多機能周辺機器の出力するタイプからクライアントが用いるタイプへとステータスコード系を変換する。この場合も、多機能周辺機器201から出力されるステータスのタイプは、[あ]の場合と同様に判別できる。この場合、変換先のタイプが「Aタイプ」であることは、クライアント自身で変換するために当然知ることができる。
【0196】
[う]クライアント205の場合(図2、図20、図25参照):
(1)「Bタイプ:3018000」を示す状態遷移イベントが、多機能周辺機器201からコード変換ボックス210に届く。
(2)コード変換ボックス210のインタープリター4805が、コード変換ライブラリ4806に「Bタイプ:3018000」を渡し、コード変換を依頼する。
(3)コード変換ライブラリ4806からインタープリター4805に、「Aタイプ:40010000」と返答される。
(4)「Aタイプ:40010000」を示す状態遷移イベントが、コード変換ボックス210からクライアント205に届く。
(5)クライアント205のジェネレータA15は機器管理ユーティリティA13に「Aタイプ:40010000」を配布する。
(6)機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0197】
このように、多機能周辺機器201とクライアントとの間に設置されたコード変換ボックスによっても、多機能周辺機器の出力するタイプからクライアントが用いるタイプへとステータスコード系を変換できる。この場合、たとえばコード変換ボックス210において、変換元と変換先のステータスのタイプをあらかじめ登録しておけばよい。
【0198】
以上のようにして、サーバあるいはクライアントあるいはコード変換ボックスのコード変換ライブラリにより、周辺機器のステータスのタイプをそれを受信する機器、例えばクライアントが処理可能あるいは認識可能なタイプに変換することで、周辺機器の出力するステータスのコード体系とクライアントが処理可能なステータスのコード体系とが相異なる場合でも、クライアントにおいてステータスを処理可能となる。
【0199】
この場合も、多機能周辺機器201から出力されるステータスのタイプおよび変換先のステータスのタイプは、[あ]の場合と同様に判別できる。さらにこの場合、変換先のタイプは、コード変換ボックスに接続されたクライアントにより特定できるため、固定的に決定しておくこともできる。
【0200】
以上の様にして、多機能周辺機器から出力されるイベント通知にコード体系の相異なるステータスが含まれている場合にも、そのステータスを送信先の機器が処理可能なあるいは認識可能なコード体系に変換する。それにより、そのステータスを処理するサーバやクライアントなどは、ただひとつのコード体系に対して対応していれば良く、受信したステータスを認識して処理することができる。
【0201】
逆に、複数のクライアントが処理可能なステータスのコード体系が互いに異なるコード体系であるような場合でも、それぞれのクライアントが処理可能なコード体系に変換することで、全てのクライアントにおいて、周辺機器から出力されるステータスを処理することが可能となる。
【0202】
すなわち、ステータスのコード体系を、複数対1の関係のみならず、1対複数、1対1、複数対複数の関係となるように変換することで、ステータスのコード体系が相異なる送信元と送信先の機器を自由に組みあわせて利用することができる。
【0203】
【実施形態2】
第2の実施形態として、第1の実施形態に若干の機能追加を行ったシステムを示す。
【0204】
図28を用いて、多機能周辺機器201内でコード変換を行なう場合の流れを示す。図28は、図2と類似しているが、コード変換ライブラリ421とステータスコード対応表422を有する点が異なる。
【0205】
例として、ジャム状態が発生した場合の例を示す。ジャム状態は、Aタイプのステータスコードだと40010000で、Bタイプのステータスコードだと3018000で示される。
【0206】
なお、クライアントの各機器管理ユーティリティA13はAタイプのステータスコードを実装しているとする(図28、図4、図A参照)。
1. 「Bタイプ:3018000」を示す状態遷移イベントが、インタープリター409に届く。
2. インタープリター409が、コード変換ライブラリ421に「Bタイプ:3018000」を渡し、コード変換を依頼する。
3. コード変換ライブラリ421からインタープリター409に、「Aタイプ:40010000」と返答される。
4. 「Aタイプ:40010000」を示す状態遷移イベントが、多機能周辺機器201からクライアントに届く。
5. クライアント205の機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0207】
このように、多機能周辺機器内での変換により、受信する機器が処理可能あるいは認識可能なタイプのステータスコード系に変換することで、クライアントで処理が可能となる。
【0208】
また、本実施形態では、図22に示すステータス対応表の保守を多機能周辺機器から行うことができる。
【0209】
図27はステータスコード対応表の更新指示を受けた際の、ステータスコード対応表の更新処理を表す処理フローである。本処理は、図20に示すクライアントのコード変換ライブラリA22、コード変換ボックスのコード変換ライブラリ4806、サーバのコード変換ライブラリ4904が行なう処理である。
【0210】
ステップP01において、更新指示側(インタプリタ/ジェネレータ409)からステータスコード対応表の更新データを受け取る。
【0211】
ステップP02において、受け取った更新データに基づいてステータスコード対応表の内容を更新する。
【0212】
以上によりステータスコード対応表を更新することができる。
【0213】
なお、ステータスコード対応表の更新指示は、クライアントやサーバ等からコード変換ライブラリを備えるクライアントやサーバ、コード変換ボックスに対して発行することもできる。
【0214】
この手順により、この実施形態のシステムでは、ステータスコード対応表を、ステータスコードを出力する周辺機器や、ステータスコードを受信するクライアントやサーバなどの情報処理機器などにより保守できる。このため、例えば図2の構成において、MFP(多機能周辺機器)201をある機器から他の仕様が異なる機器に変更した場合にも、新たな機器がその機器のステータスコード体系に応じてステータスコード対応表の更新を行うことで、サーバやクライアントにおいては、従前のコード体系でステータス処理を行うことができる。
【0215】
また、クライアントやサーバが置き換えられた場合にも、新たなクライアントやサーバのコード体系に応じてステータスコード対応表の更新を行うことで、全く同様にステータス処理を行うことができる。
【0216】
また、多機能周辺機器についてファームウエアの更新や、オプションユニットの取りつけ等による新たなステータスコードの追加等があった場合でも、ステータスコード対応表保守機能により用意に対応可能である。
【0217】
なおステータスコード対応表の更新は、全てのコード体系のコード間の対応関係を更新するものであっっても、一部の対応関係を更新するものであっても良い。
【0218】
さらに、本発明の実施形態1及び2に関わる周辺機器制御システムでは、ジャム状態やカバーオープン状態はBコードで実装してしまったが、新規のメモリフル状態はAコードで実装する、といったように、一つの機器内に複数のコード体系を実装する形態も可能となる。
【0219】
これは、複数存在するコード体系を今後1つに統一していく方針で開発を行なう際、効率的に移行が可能であるという効果がある。
【0220】
例えば、前のコードに対応している機器のプログラムモジュールを流用して統一前のコードも使用しつつ、新しく作成して追加する部分のプログラムモジュールは統一後のコードを使用する、ということができるためである。この場合、全て統一コードに対応したモジュールを作り直すより、前のモジュールを流用できる分、開発効率が良い。
【0221】
さらに、いずれ統一されたコードのみの機器を開発する際に、後者のプログラムモジュールはそのまま流用でき、前者のプログラムモジュールのみ、統一後のコードに修正すれば良いので、部分的に新しいコードへ移行していく、というような効率の良い段階的開発が可能となるという効果がある。
【0222】
また、異なるコード体系を実装する複数の機器のプログラムから、必要なプログラムモジュールのみ取り出して組み合わせて新たな製品を開発する場合も、どのコード体系を使用するか気にしなくてすむので、やりやすくなるという効果もある。
【0223】
[その他の実施形態]
実施形態1では、機器の状態遷移イベントに格納されるステータスコードの自動変換を行なう例を示したが、機器の状態遷移イベントだけでなく、機器の状態属性の取得時にも同様にステータスコードの変換が行なわれるようになっていても構わない。
【0224】
実施形態1では、Aタイプのステータスコードへ変換する例を示したが、それに限らない。指定タイプのステータスコードへ変換する仕組みになっていても構わないし、そのほうがより汎用的になる。
【0225】
実施形態1では、インタプリタ/ジェネレータがコード変換する仕組みとしたが、他の部分で変換しても構わない。例えば、ドライバ/ユーティリティが変換しても構わない。
【0226】
実施形態1では、コード変換ボックスは、IEEE1284によって、クライアントPCおよび周辺機器に接続されている例を示したが、クライアントPCと周辺機器と双方の接続が、いかなるインタフェース/形態により接続されていても構わない。クライアントPCや周辺機器に拡張ボードがスロットで搭載される形式で、例えば、周辺機器とは独自インタフェース/プロトコルで接続され、クライアントPCとは、IEEE1394で接続される、という形式も可能である。
【0227】
さらに、1つのボックスに3つ以上のインタフェースが搭載されていても構わない。例えば、変換ボックスはIEEE1394インタフェースを2つ持ち、クライアントPC2つが、それぞれの別のIEEE1394インタフェースを介して変換ボックスと接続していて、変換ボックスがIEEE1284を介して周辺機器と接続している、などという構成も可能である。
【0228】
さらに、ステータスコード対応表やコード変換ライブラリを周辺機器に備えて、周辺機器において行わせることもできる。
【0229】
なお、上記実施形態1,2は他の機能を有する周辺機器装置、例えばファクシミリ装置に適用することが可能である。
【0230】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0231】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【0232】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0233】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0234】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0235】
また本発明の他の実施形態には以下のようなものも含まれる。
【0236】
【実施形態01】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。
【0237】
【実施形態02】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態01記載の周辺機器制御システム。
【0238】
【実施形態03】前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態01または02に記載の周辺機器制御システム。
【0239】
【実施形態04】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。
【0240】
【実施形態05】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態04記載の周辺機器制御システム。
【0241】
【実施形態06】前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする実施形態02に記載の周辺機器制御システム。
【0242】
【実施形態07】前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態04乃至06のいずれかに記載の周辺機器制御システム。
【0243】
【実施形態08】前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態04乃至06のいずれかに記載の周辺機器制御システム。
【0244】
【実施形態09】前記周辺機器上に前記コード変換要求手段と前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態04に記載の周辺機器制御システム。
【0245】
【実施形態10】さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする実施形態01乃至09のいずれか1項に記載の周辺機器制御システム。
【0246】
【実施形態11】前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする実施形態10に記載の周辺機器制御システム。
【0247】
【実施形態12】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される全てのコード体系のコード間の対応関係を更新することを特徴とする実施形態10に記載の周辺機器制御システム。
【0248】
【実施形態13】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される一部のコード体系のコード間の対応関係を更新することを特徴とする実施形態10に記載の周辺機器制御システム。
【0249】
【実施形態14】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムにおいて、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持工程と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換工程と
を有することを特徴とする周辺機器制御システム。
【0250】
【実施形態15】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態01記載の周辺機器制御システム。
【0251】
【実施形態16】前記ホストコンピュータ上に前記コード対応情報保持工程と該コード変換工程の両方を有することを特徴とする実施形態14または15に記載の周辺機器制御システム。
【0252】
【実施形態17】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムにおいて、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求工程と、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持工程と、
前記コード変換要求工程による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換工程と
を有することを特徴とする周辺機器制御システム。
【0253】
【実施形態18】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態17記載の周辺機器制御システム。
【0254】
【実施形態19】前記ホストコンピュータ上に前記コード変換要求工程を有することを特徴とする実施形態18に記載の周辺機器制御システム。
【0255】
【実施形態20】前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持工程と該コード変換工程の両方を有することを特徴とする実施形態17乃至19のいずれかに記載の周辺機器制御システム。
【0256】
【実施形態21】前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持工程と前記コード変換工程とを有することを特徴とする実施形態17乃至19のいずれかに記載の周辺機器制御システム。
【0257】
【実施形態22】前記周辺機器上に前記コード変換要求工程と前記コード対応情報保持工程と前記コード変換工程とを有することを特徴とする実施形態17に記載の周辺機器制御システム。
【0258】
【実施形態23】さらに、前記コード対応保持工程の保持するコード間の対応関係を更新する更新工程を有することを特徴とする実施形態14乃至22のいずれか1項に記載の周辺機器制御システム。
【0259】
【実施形態24】前記更新工程は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする実施形態23に記載の周辺機器制御システム。
【0260】
【実施形態25】前記更新工程に送信される更新指示データは、前記コード対応情報保持工程により保持される全てのコード体系のコード間の対応関係を更新することを特徴とする実施形態23に記載の周辺機器制御システム。
【0261】
【実施形態26】前記更新工程に送信される更新指示データは、前記コード対応情報保持工程により保持される一部のコード体系のコード間の対応関係を更新することを特徴とする実施形態23に記載の周辺機器制御システム。
【0262】
【実施形態27】複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
をコンピュータにより実現するためのプログラム。
【0263】
【実施形態28】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態27記載のプログラム。
【0264】
【実施形態29】前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態27または28に記載のプログラム。
【0265】
【実施形態30】一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
をコンピュータにより実現するためのプログラム。
【0266】
【実施形態31】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態30記載のプログラム。
【0267】
【実施形態32】前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする実施形態02に記載のプログラム。
【0268】
【実施形態33】前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態30乃至32のいずれかに記載のプログラム。
【0269】
【実施形態34】前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態30乃至32のいずれかに記載のプログラム。
【0270】
【実施形態35】前記周辺機器上に前記コード変換要求手段と前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態30に記載のプログラム。
【0271】
【実施形態36】さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする実施形態27乃至35のいずれか1項に記載のプログラム。
【0272】
【実施形態37】前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする実施形態36に記載のプログラム。
【0273】
【実施形態38】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される全てのコード体系のコード間の対応関係を更新することを特徴とする実施形態36に記載のプログラム。
【0274】
【実施形態39】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される一部のコード体系のコード間の対応関係を更新することを特徴とする実施形態36に記載のプログラム。
【0275】
【実施形態40】実施形態27乃至39のいずれかに記載のプログラムを記録したコンピュータ可読記録媒体。
【0276】
【発明の効果】
以上説明したように本発明に係わる周辺機器制御システムでは、複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、あるコード体系のコードを別のコード体系のコードに変換するコード変換手段とを有することにより、特定の1つのコード体系の周辺機器に対してコード処理を行なうようにすることで他のコード体系を実装する周辺機器の制御も行なうことが可能となる。
【図面の簡単な説明】
【図1】多機能周辺機器の構成を示す図である。
【図2】システム構成を示す図である。
【図3】コントローラのハード構成を示す図である。
【図4】コントローラのソフト構成を示す図である。
【図5】コントローラのソフト構成を示す図である。
【図6】コントローラのソフト構成を示す図である。
【図7】スーパーバイザーの属性表を示す図である。
【図8】サブアドレス:サービスID対応表を示す図である。
【図9】サブアドレス:タスクタイプ対応表を示す図である。
【図10】イベント設定表を示す図である。
【図11】イベントフォーマット表を示す図である。
【図12】プリントマネージャの属性表を示す図である。
【図13】ジョブ表を示す図である。
【図14】ジョブ依頼表を示す図である。
【図15】スキャンジョブマネージャの属性表を示す図である。
【図16】コピージョブマネージャの属性表を示す図である。
【図17】プリンターコントローラの属性表を示す図である。
【図18】ジョブキュー表を示す図である。
【図19】スキャナコントローラの属性表を示す図である。
【図20】クライアント側のソフトウエア構成を示す図である。
【図21】ジョブ管理コマンドの発行を示す図である。
【図22】ステータスコード対応表を示す図である。
【図23】ステータスコード間変換処理フローを示す図である。
【図24】コード変換ボックスのハード構成を示す図である。
【図25】コード変換ボックスのソフト構成を示す図である。
【図26】サーバのソフト構成を示す図である。
【図27】ステータスコード対応表の更新処理を表す処理フローである。
【図28】コントローラのソフト構成のブロック図である。
【発明の属する技術分野】
本発明は、たとえばプリンタやスキャナ、ファックス、コピーなどといった周辺機器を、ネットワークやIEEE1394などのインターフェースを通して制御したり、これら周辺機器の状態をモニタリングしたり、これら周辺機器に対してジョブを発行したりする周辺機器制御システムに関する。
【0002】
【従来の技術】
ネットワークなどに接続されたプリンタやスキャナ、ファックス、コピー等の周辺機器に対してホストからジョブを発行したり、これらの周辺機器を管理したり、これらの周辺機器の状態をモニタリングしたりする場合は、あらかじめ周辺機器の種類や機種を知った上で、機種に対応した適当なドライバやユーティリティなどの周辺機器制御ソフトウエアをホスト上に用意しておく必要がある。
【0003】
そしてこの周辺機器ソフトウエアにより、周辺機器に生じるジャム状態、カバーオープン状態、用紙補給状態、メモリフル状態など、現在の状態をホスト上でモニタリングする仕組みが実現され、ユーザや管理者による周辺機器のリモート監視が可能となっている。この周辺機器のリモート監視のためには、機器状態を表すコード(以下、ステータスコード)体系を定義し、それらをあらかじめ周辺機器とホスト上のユーティリティの両方に組み込む必要がある。例えば、ステータスコードの値が3018000はジャム状態、3030000はカバーオープン状態、3060000は用紙補給状態、3190000はメモリフル状態、といった具合である。
【0004】
【発明が解決しようとする課題】
しかし、周辺機器は、種類や機種によって、それぞれが独自のステータスコード体系を定義して使用している。そこで、ホスト上のモニタリング用ユーティリティは、使用対象とする周辺機器が採用しているステータスコード体系に対応する必要が生じる。すなわち周辺機器の種類や機種ごとに、モニタリング用ユーティリティを作成しなければならず、ユーティリティ作成に多大な工数がかかってしまうという問題点があった。
【0005】
本発明は上記従来例に鑑みてなされたもので、互いに異なる複数のコード体系のステータスコードを実装する周辺機器の制御を簡易に行なうことが可能となり、開発や運用のコストが削減できる周辺機器制御システムを提供することを目的とする。
【0006】
【課題を解決する為の手段】
上記課題を解決するために、本発明の請求項1に係わる周辺機器制御システムでは、 周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする。
【0007】
あるいは、ホストコンピュータおよび周辺機器が通信可能な周辺機器制御システムであって、
周辺機器の状態又は機能を示すためのコードを周辺機器からホストコンピュータへ転送する転送手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする。
【0008】
更に好ましくは、前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有する。
【0009】
あるいは、ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段とを有する。
【0010】
更に好ましくは、前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする。
【0011】
更に好ましくは、前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有する
更に好ましくは、前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有する
更に好ましくは、さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする
更に好ましくは、前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新する。
【0012】
これにより、特定の1つのコード体系の周辺機器に対してコード処理を行なうようにすることで他のコード体系を実装する周辺機器の制御も行なうことが可能となる。
【0013】
【発明の実施の形態】
【実施形態1】
本発明の実施形態として、以下の仕様を有している多機能周辺機器について説明する。
【0014】
1.ジョブ発行
・プリント:
−3つの物理プリンタを選択して使用可能。
(レーザビームプリンタ(LBP)1(B/W(モノクロ),フィニッシャ付),LBP2(B/W),インクジェットプリンタ(IJ)(カラー))
−4つの論理プリンタ(クラスタ)プリンタを選択して使用可能。
(LBP1+LBP2, LBP2+IJ, LBP1+IJ, LBP1+LBP2+IJ)
−上記7つのプリンタから自動選択されたプリンタを使用可能。
−インクジェットプリンターエンジンを使用し、白黒のみの印刷可能なプリンターとする論理プリンターを使用可能。
・スキャン:
−外部からスキャンジョブの発行が可能。
−カラー原稿の読込みが可能。
・コピー:
−スキャナーと上記8つのプリンタを使用して構成されるコピーを選択して使用可能(自動選択も可能)。
−一部はカラーコピー可能(プリンターがIJのみのとき)。
【0015】
2.リソース管理
・フォント:
−プリントジョブで使用する。
−アップロードおよびダウンロードが可能。
・フォームオーバーレイ:
−プリントジョブで使用する。
−アップロードおよびダウンロードが可能。
・カラープロファイル:
−プリントジョブ,スキャンジョブ,コピージョブで使用する。
−アップロード,ダウンロードが可能。
・ログ:
−機器内部で自動生成される。
−アップロードが可能。
【0016】
3.インターフェース
・ネットワーク(Ethernet(登録商標), TCP/IP), IEEE1284, IEEE1394
・どのインターフェースからでも、全ての機能を使用可能。
・各インターフェースごとにサブアドレスと物理デバイスおよび論理デバイス(プリンター、スキャナ、コピー)および各リソースの対応が取られており、サブアドレスを選択することによりこれらの物理デバイスおよび論理デバイスおよび各リソースを選択する。
・これらの各インターフェースの各サブアドレスに対して、同時にジョブを発行およびダウンロードおよびアップロードを指示することができる。
・サブアドレスと物理デバイスおよび論理デバイスおよび各リソースとの対応は、機器自身に問い合わせることにより得られる。
・内部で持つユーザーインターフェースからも、機能を使用可能。
【0017】
4.管理機能
・外部から上記インターフェースを通してスーパバイザに問い合わせることにより、以下の情報を取得可能:
−提供している機能概要(どんなジョブが発行できるか、どんなリソースが利用できるかなど)。
−ジョブ発行、リソースのダウンロード・アップロードに使用するサブアドレス。
−各機能の詳細情報(最大コピー部数、フィニシャーの種類、サポートしているページ記述言語(PDL)、指定できる出力ビンの数等)。
・(上記情報を使用して、クライアント側ではソフトウエアを自動構成可能)
・ただし、この問合わせに使用するサブアドレスだけは各インターフェースにおいて、クライアントはあらかじめ知っておく必要がある。
・管理者は、上記の各種機能を接続形態および使用ユーザにより制限可能。
【0018】
[概要]
図1は本発明が実施された多機能周辺機器の構成をあらわす概念図である。図1において、コントローラ101は機器を制御するためのコントローラであり、図3において示されるハードウエア構成を有し、図4・図5および図6において示されるソフトウエア構成を有している。スキャナエンジン102は、コントローラ101によって制御されている。レーザービームプリンタエンジン103は、コントローラ101によって制御されている。レーザービームプリンタエンジン103はフィニッシャー106に接続されており、プリンタエンジン103から出力された複数の紙をまとめてステープル(ホッチキス)処理することが可能となっている。フィニッシャー106もコントローラ101によって制御されている。レーザービームプリンタエンジン104は、コントローラ101によって制御されている。インクジェットプリントエンジン105は、コントローラ101によって制御されている。このエンジン105はカラー出力を行うことが可能となっている。ネットワークインターフェース107は、コントローラ101に対して同インターフェースを通した双方向通信を提供している。IEEE1394インターフェース108は、コントローラ101に対して同インターフェースを通した双方向通信を提供している。IEEE1284インターフェース109は、コントローラ101に対して同インターフェースを通した双方向通信を提供している。ユーザーインタフェース110は、液晶(LCD)ディスプレイとキーボードから構成されており、コントローラ101からの情報表示を行うとともにユーザからの指示をコントローラ101に伝える。
【0019】
<システム構成例>
図2は本実施形態の多機能周辺機器を接続して構成されたシステム構成の一例をあらわすものである。図2において、図1であらわされる多機能周辺機器201は、ネットワーク208、IEEE1394(206)によってクライアントPC(202)、(203)、(204)にそれぞれ接続されている。また、多機能周辺機器201は、コード変換ボックス210を介して、クライアントPC(205)に接続されている。すなわち、多機能周辺機器201はIEEE1284(207)によってコード変換ボックス210に接続され、さらにIEEE1284(211)によってクライアントPC(205)にも接続されている。各クライアントPCでは、図20において示されるソフトウエアが動作している。また、ネットワーク208上には、サーバ209も接続されている。
【0020】
<コントローラ101のハードウエア構成>
図3は、コントローラ101のハードウエア構成をあらわすブロック図である。コントローラ101の内部では、CPU301がバス313を介して、RAM302・LCDディスプレイ303・キーボード304・ROM314接続されている。
【0021】
図4−図6で示されるソフトウエアブロックを有するプログラムおよび各種データはRAM302またはROM314に書き込まれており、これらをCPU301が順次読みだしながら実行することにより、コントローラは動作する。
【0022】
LCDディスプレイ303およびキーボード304は図1におけるユーザインターフェース110を構成するものであり、CPU301がLCDディスプレイ303にデータを書き込むことにより表示を行い、CP301がキーボード304からデータを読み出すことにより、ユーザからの指示を入力する。
【0023】
バス313には、ネットワークインターフェース305・IEEE1394インターフェース306・IEEE1284インターフェース307が接続されている。これらは、それぞれ図1のネットワークインターフェース107・IEEE1394インターフェース108・IEEE1284インターフェース109に対応するものであり、CPU301がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行う。
【0024】
バス313には、レーザービームプリンタエンジン1(308)・フィニッシャー309・スキャナエンジン310・レーザービームプリンタエンジン2(311)・インクジェットプリンタエンジン312が接続されている。これらは、図1のレーザービームプリンタエンジン1(103)・フィニッシャー106・スキャナエンジン102・レーザービームプリンタエンジン2(104)・インクジェットプリンタエンジン105に対応するものであり、CPU301がこれらのエンジンに対してデータの読み書きを行うことによりプリント・スキャンなどのエンジン動作および各種ステータス取得を行う。
【0025】
<コントローラ101のソフトウエア構成>
図4はコントローラ101のソフトウエア構成をあらわすものである。
【0026】
ユーザーインターフェース(UI)ドライバ401は、LCDディスプレイ303およびキーボード304の制御を行う。
【0027】
ユーザインターフェースマネージャ405は、UIドライバ401から入力されたユーザからの入力を解釈して、コマンドパケットを生成しインタープリター409に出力する。ユーザーインターフェースマネージャ405はまたインタープリター409から入力されたコマンドパケットを解釈し、UIドライバ401を介してLCDディスプレイ303に表示を行う。
【0028】
ネットワークインターフェースドライバ402は、ネットワークインターフェース305の制御を行い、ネットワークパケットの物理層(物理パケット)の処理、つまり物理パケットからトランスポートパケットの抽出、およびトランスポートパケットから物理パケットの生成を行う。
【0029】
TCP/IP・UDP/IP処理モジュール406は、ネットワークインターフェース402から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、ネットワークインターフェース402に出力する。
【0030】
IEEE1284ドライバ403は、IEEE1284インターフェース307の制御を行う。
【0031】
IEEE1284.4モジュール407はIEEE1284.4の処理モジュールである。IEEE1284.4は主にIEEE1284インターフェースで使用されることを目的としたトランスポート層の標準である。IEEE1284.4の処理モジュール407はIEEE1284ドライバ403から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1284ドライバ403に出力する。
【0032】
IEEE1394ドライバ404は、IEEE1394インターフェース306の制御を行う。
【0033】
SBP−2モジュール408はIEEE1394におけるトランスポート層であるSBP−2を処理するモジュールである。SBP−2の処理モジュール408は、IEEE1394ドライバ404から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター409に出力する。また、インタープリター409から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1394ドライバ404に出力する。
【0034】
パケットインタプリタ409は、トランスポート処理部406・407・408の各々およびユーザインターフェースマネージャ405から入力されたコマンドパケットを解釈しコマンドを生成するパケットインタープリターである。パケットインタープリター409は他のモジュールからの依頼によりコマンドパケットの生成も行う。インタープリター409はスーパーバイザー(統括管理マネージャ)410が有するサブアドレス:SID対応表(図8)に従って、有効となっているサブアドレスから入力されたコマンドパケットのみを処理し、それ以外のサブアドレスから入力されたコマンドパケットは破棄する。
【0035】
スーパバイザ(統括管理マネージャ)410は、図7から図9で示される各種データを保持し、コントローラ101の動作を統括管理する。スーパバイザー410は、自分自身が保持する各種データ、各マネージャ(フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608)が保持する各種データ、および各コントローラ(プリンタコントローラ510−512、スキャナコントローラ420)が保持する各種データを、入力されたコマンドの指示に従って参照・変更する。
【0036】
セキュリティゲート411は、インタープリター409で解釈されたコマンドパケットをスーパーバイザー410が有するユーザ認証表およびアクセス制御表に従って、正しい使用権を持つユーザのみが、多機能周辺機器201を使用可能とするべくコマンドの入力を制限するものである。
【0037】
ディスパッチャー412は、インタープリター409から入力されたコマンドを、これらを処理するための各マネージャ(フォントマネージャ413、フォームオーバーレイマネージャ414、ログマネージャ415、カラープロファイルマネージャ416、プリントマネージャ501−509、スキャンジョブマネージャ419およびコピージョブマネージャ601−608)に配布する。
【0038】
フォントマネージャ413は、フォントの管理を行う。フォントマネージャ413で管理されるフォントは、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【0039】
フォームオーバーレイマネージャ414は、フォームオーバーレイの管理を行う。フォームオーバーレイマネージャ414で管理されるフォームオーバーレイは、PDLラスタライザ417および418に渡され、プリントジョブの処理の際に使用される。
【0040】
ログマネージャ415はログの管理を行う。ログは各マネージャから出力される、ログマネージャの管理下におかれる。
【0041】
カラープロファイルマネージャ416は、カラープロファイルの管理を行う。カラープロファイルマネージャ416で管理されるカラープロファイルは、各プリンタコントローラ510、511、512およびスキャナコントローラ420に渡され、プリントジョブ・コピージョブおよびスキャンジョブの処理の際に使用される。
【0042】
PDLラスタライザ417はPDL(ページ記述言語)の一種であるポストスクリプト(PS:登録商標)でかかれたドキュメントデータを処理し、画像データを出力するPDLラスタライザである。
【0043】
PDLラスタライザ418はPDL(ページ記述言語)の一種であるPCLでかかれたドキュメントデータを処理し、画像データを出力するPDLラスタライザである。
【0044】
スキャンジョブマネージャ419は、スキャンジョブの管理を行う。スキャンジョブマネージャ419は図15で示されるようなデータを保持している。スキャンジョブマネージャ419はスキャナコントローラ420にスキャンの実行を指示する。
【0045】
スキャナコントローラ420はスキャナエンジン310を制御する。スキャナコントローラ420はスキャナエンジン310の機能・状態および性能を表す、図19で示される様なデータを保持している。
【0046】
スキャンジョブマネージャ419およびスキャナコントローラ420はそれぞれ機能・性能を示すデータ(図15と図19)を有しているが、これらのデータで示される機能は必ずしも同一である必要はない。スキャンジョブマネージャ419が保持するデータ(図15)をスーパバイザ410を通して書き換えることにより、機能を制限することが可能である。
【0047】
図5は、図4で示したコントローラ101のソフトウエアブロックの補足をあらわす図である。ディスパッチャー412は図4で示されているディスパッチャー412と同じものを表わし、プリントジョブマネージャ501−509へコマンドの配布を行う。プリントジョブマネージャ501−509はプリントジョブの管理を行う。各プリントジョブマネージャは図12で示される様なデータをそれぞれ有している。
【0048】
各プリントジョブマネージャは、プリントジョブを処理するために使用するプリンタコントローラおよびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラを使用するかは図12で示されるデータに記述されている。ただしプリントジョブマネージャ508だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがプリントジョブマネージャ508の有するデータに記述されている。各プリントマネージャは入力されたプリントジョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図15に示すようなデータを保持している。
【0049】
プリンタコントローラ510−512は、プリントエンジン308、311および312をそれぞれ制御する。プリンタコントローラ510はフィニッシャー309も制御する。各プリンタコントローラは対応するプリンタエンジンの機能・状態および性能を表す、図17で示される様な機能表を有している。各コントローラは入力されたプリントジョブの状態を表わす図18に示すようなデータを保持している。
【0050】
プリントジョブマネージャ501−509およびプリンタコントローラ510−512はそれぞれ機能・性能を示すデータ(図12と図17)を有している。一般的にプリントジョブマネージャは使用する各コントローラが有する性能の総和にあたる性能を有し、各コントローラが有する機能の共通項にあたる機能を有している。しかし、これらの一部はプリントジョブマネージャが保持するデータ(図12)をスーパバイザ410を通して書き換えることにより、変更することが可能である。たとえば、プリントジョブマネージャ503とプリントジョブマネージャ509は、同じプリンタコントローラ512を使用しているために、同じ性能・機能を提供することができるが、プリントジョブマネージャの保持するデータの設定により、プリントジョブマネージャ503はカラー印刷可能でありプリントジョブマネージャ509はカラー印刷不可能とすることも出来る。
【0051】
図6は、図4および図5で示したソフトウエアブロックの補足をあらわすものである。ディスパッチャー412は図4で示されているディスパッチャー412と同じものを表わし、コピージョブマネージャ601−608へコマンドの配布を行う。コピージョブマネージャ601−608はコピージョブの管理を行う。各コピージョブマネージャは図16で示される様なデータをそれぞれ有している。
【0052】
各コピージョブマネージャは、コピージョブを処理するために使用するプリンタコントローラおよびそれに接続されたプリントエンジンが決められており、どのプリンタコントローラを使用するかは図16で示されるデータに記述されている。ただしプリントジョブマネージャ608だけは、動的に使用するプリントエンジンを選択する機能を有しており、この機能を有しているということがコピージョブマネージャ608の有するデータに記述されている。各コピーマネージャは入力されたコピージョブ、およびこれらがどのプリンタコントローラでどのようなジョブとして実行されているかを表わす、図15に示すようなデータを保持している。
【0053】
プリンタコントローラ510−512は、各プリントエンジンを制御するプリンタコントローラであり、図5に示されているものと同一のものを表わしている。
【0054】
[データ構造]
<属性表(スーパバイザ)>
図7は、スーパーバイザー410が保持し管理するデータである属性表の一例を表わす。属性表はスーパバイザが持つ属性を表す。属性IDの意味するところはクライアントに知らされている。この表は多機能周辺機器201の機能概要や接続情報およびセキュリティ情報などを表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードは属性ID701、型ID702および値703から構成されている。
【0055】
属性ID701は情報の種類を表わすものであり、これによって値703が示しているものがどのような意味を持つのかが示されている。属性ID701は機器内部でユニークであり、同じ属性IDを持つものは、同じ情報の種類を表わしている。
【0056】
型ID702は値703がどのようなデータ型を持っているのかを示すものであり、値703の解釈を行う際に使用されるものである。型IDは属性IDによって一意に決められるものであり機器内部でユニークに定義されている。本実施形態においては属性表の中に属性ID701と型ID702の両方が入れられているが、属性IDと型IDとの対応表を属性表とは別のデータとして保持し、属性表の中には属性IDと値のみを入れる様に実施してもよい。値703は、属性ID701に従った属性の値を示すものである。
【0057】
図7の属性表の属性ID701は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
102:サポートしているセキュリティレベルのリスト,
103:現在のセキュリティレベル,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
105:当該属性表中で管理者のみが取得できる属性IDのリスト,
301:機種名,
302:サポートしている言語,
303:現在の言語,
304:機器の状態,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
503:イベントフォーマット表,
1001:サブアドレス−サービスID対応表,
1002:サービスID−タスクタイプ対応表,
1003:ユーザ認証表,
1004:アクセス制御表,
2001:機器内にあるコントローラのIDのリスト
をそれぞれ表わす。
【0058】
図7の属性表の型ID702は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
34:整数と、整数のリスト,
52:イベント設定表形式,
53:イベントフォーマット表形式,
101:サブアドレス:サービスID対応表形式,
102:サービスID:タスクタイプ対応表形式,
103:ユーザ認証表形式,
104:アクセス制御表形式
をそれぞれあらわす。
【0059】
この中で、属性ID=102の「サポートしているセキュリティレベルのリスト」はスーパーバイザーに対する操作を発行するときに必要とされるセキュリティレベルについて、設定可能なセキュリティレベルのリストを保持している。
【0060】
属性ID=103 の「現在のセキュリティレベル」は、現在スーパーバイザーに設定されているセキュリティレベルを表わす。
【0061】
属性ID=304の「機器の状態」は、現在のスーパーバイザーの状態を表す。ステータスコードのタイプ、および、状態を示すステータスコード(整数)のリストとして表される。
【0062】
属性ID=401の「現在のカウントデータ」はスーパーバイザーの中でカウント対象となっている情報のリストを表わしており、この意味するところは属性ID=402の「カウントデータフォーマット」で表わされている。
【0063】
属性ID=402の「カウントデータフォーマット」は、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されているため、属性IDを指定することによりカウントデータの意味を指定することが可能となっている。
【0064】
属性ID=403のカウント制限データは、属性ID=401の「現在のカウントデータ」が持つことが出来る最大値を表わしており、「現在のカウントデータ」の値のうち1つでもこの最大値を超えた場合、図8で示されるサブアドレス:サービスID対応表を操作することにより全ての(マネージャによる)サービスを無効とする。
【0065】
属性ID=404のカウント単価データは、属性ID=402の「カウントデータフォーマット」に保持されている属性IDの1カウント毎の単価を通貨単位で表わすものである。
【0066】
属性ID=405の現在の課金データは、属性ID=401の「現在のカウントデータ」と属性ID=404の「カウント単価データ」の対応する値を掛け合わせて総和を取った値を示すものである。
【0067】
属性ID=406の課金制限データは、属性ID=405の「現在の課金データ」の持つことが出来る最大値を表わしており、属性ID=405の「現在の課金データ」が属性ID=406の「課金制限データ」を超えた場合、図8で示されるサブアドレス:サービスID対応表を操作することにより全ての(マネージャによる)サービスを無効とする。
【0068】
属性ID=501のサポートしているイベントリストは、スーパーバイザーに対して通知することを設定可能なイベントを、イベントの種類毎に一意に定義されているイベントIDのリストによって表わしている。実際のイベント送信の設定は、図10で示されるイベント通知表にイベント通知の接続形式および宛先をイベントIDと共に設定することによって行う。
【0069】
図7の属性表の値について、「Table Data」と記述してあるものは、値が型IDで示されている表の形式を持つデータであることを示している。
【0070】
<サブアドレス−サービスID対応表>
図8はサブアドレス:サービスID対応表の一例である。サブアドレス:サービスID対応表はサービスを受けるときにどのサブアドレスにジョブを投入したらよいかを記述した表である。この表は図7で示される属性表の「サブアドレス:SID対応表」属性の値として保持されている。サブアドレス:SID対応表はどのサブアドレスにコマンドを投入すればどのサービス(例えばプリント、フォントのダウンロードなど)が得られるを示すものである。また、この表に従ってインタープリター409は各接続形態ごとにジョブサービスの提供をおこなうかどうかを制御する。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードは接続形式ID801、サブアドレス802、サービスID803、有効フラグ804、有効ユーザのリスト805および無効ユーザのリスト806から構成されている。
【0071】
接続形式ID801は接続形態を表す識別子を示している。0はユーザインターフェース、1はネットワーク(TCP/IP)、2はIEEE1284、3はIEEE1394(SBP−2)を表している。サブアドレス802は各接続形態ごとのサブアドレスを表している。ユーザインターフェースはサブアドレスを有しないが、便宜上サブアドレスを割り当てており、このサブアドレス情報とともにユーザインターフェースからコマンドを投入する。サービスID803はサービスを表す識別子である。
【0072】
サービスID803は図4、図5および図6で示された各マネージャに一対一で割り当てられており、
0:スーパーバイザー410,
1:プリントジョブマネージャ501,
2:プリントジョブマネージャ502,
3:プリントジョブマネージャ503,
4:プリントジョブマネージャ504,
5:プリントジョブマネージャ505,
6:プリントジョブマネージャ506,
7:プリントジョブマネージャ507,
8:プリントジョブマネージャ508,
9:プリントジョブマネージャ509,
10:スキャンジョブマネージャ419,
11:コピージョブマネージャ601,
12:コピージョブマネージャ602,
13:コピージョブマネージャ603,
14:コピージョブマネージャ604,
15:コピージョブマネージャ605,
16:コピージョブマネージャ606,
17:コピージョブマネージャ607,
18:コピージョブマネージャ608,
101:フォントマネージャ413,
102:フォームオーバーレイマネージャ414,
103:ログマネージャ415,
104:カラープロファイルマネージャ416
をそれぞれ表わす。
【0073】
有効フラグ804は、そのサブアドレスが有効かどうかを表している。この値が真の場合にはサブアドレスが有効であり、コマンドパケットをサブアドレスに対して発行することが出来る。値が偽の場合にはサブアドレスは無効であり、コマンドパケットをサブアドレスに対して発行してもパケットは破棄されることを意味する。図8の場合は、IEEE1284の接続形態を利用した場合8番のサービスを提供できない事を表している。すなわち、サブアドレスの有効にについても、図8の表で管理される。
【0074】
有効ユーザのリスト805は、サブアドレスが有効の場合に、そのサービスが受けられるユーザIDのリストを表している。無効ユーザのリスト806は、サブアドレスが有効の場合でも、そのサービスが受けられるユーザIDのリストを表している。有効ユーザのリスト805と無効ユーザのリスト806は、どちらかにしか値を設定することは出来ない。
【0075】
<サービスID:タスクタイプ対応表>
図9はサービスID:タスクタイプ対応表の一例を表す。サービスID:タスクタイプ対応表はサービスIDがどのような種類のサービスであるかを表す表である。この表は図7で示される属性表の「SID(サービスID):タスクタイプ表」属性の値として保持されている。サービスID:タスクタイプ表はサービスIDがどのような種類のサービスを提供するのかを表すものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはサービスID901およびタスクタイプ902から構成されている。
【0076】
タスクタイプ902はどのような種類のサービスであるかを示している。0はスーパーバイザーが行うサービス、1はプリント、2はスキャン、3はコピー、101はフォント、102はフォームオーバーレイ、103はログ、104はカラープロファイルを表している。タスクタイプはCPCAのタスクタイプに相当する。
【0077】
サービスIDはサービスを提供するマネージャと一対一で対応している。このため、サービスIDは各マネージャが有する機能表のアクセスにも使用される。機能表は各プリンタコントローラおよびスキャナコントローラも有しているために、これらにアクセスするためにプリンタコントローラおよびスキャナコントローラにもサービスIDに相当するコントローラIDを割り当てており、コントローラIDがどのような種類のコントローラであるかをサービスID:タスクタイプ対応表で管理している。タスクタイプ201はプリンタコントローラ、202はスキャナコントローラを表している。たとえば、ディスパッチャ412が各マネージャにコマンドを配信する際にも参照される。
【0078】
コントローラIDは図4および図5で示された各コントローラと一対一で対応しており、
21:プリンターコントローラ510,
22:プリンターコントローラ511,
23:プリンターコントローラ512,
24:スキャナーコントローラ420
をそれぞれ表わす。
【0079】
<イベント設定表>
図10はスーパーバイザーが保持するイベント設定表の一例を表わすものである。イベント設定表は、イベントを指定して指定したイベントが発生した場合にその旨通知するあて先を登録する表である。あて先は接続形式と接続形式に依存した通知先アドレスとから構成される。
【0080】
この表は図7で示される属性表の「イベント設定表」属性の値として保持されている。イベント設定表は指定されたイベントが機器内で起きたときにイベント通知を送信する方法と宛先を、イベントの種類毎に保持している。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはイベントID1201、接続形式1202および通知先アドレス1203から構成されている。
【0081】
イベントID1201は、イベントの種類を表わすものであり、機器内でユニークに定義されている。例えば、イベントID399は機器の状態遷移イベントを示す。接続形式1202は、イベント通知を送信する接続形式を表わしており、この値は図8のサブアドレス:サービスID対応表で使用されているものと同一のものが使用される。通知先アドレス1203は、接続形式1202に適合したイベントの通知先宛先を表わすものである。
【0082】
<イベントフォーマット表>
図11はスーパーバイザーが保持するイベントフォーマット表の一例を表わす。イベントフォーマット表は、イベントの内容を表す表であり、イベントIDごとにイベントフォーマットが定義されている。ここで定義されている内容が、指定されたイベントが起きたときにイベントIDごとにあらかじめ決められたデータと共に通知される。この表は図7で示される属性表の「イベントフォーマット表」属性の値として保持されている。イベントフォーマット表は機器内でユニークに定義されている各イベントIDについて、イベント通知として送信される付加データの形式を保持している。
【0083】
表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはイベントID1301およびイベントフォーマット1302から構成されている。イベントフォーマット1302はイベント通知として送信される付加データの形式であり、属性IDのリストとして表わされる。属性IDは機器内でユニークに定義されており、その型も属性IDによって一意に決定されているため、属性IDを指定することにより、付加データのフォーマットを表わすことができる。例えば、イベントフォーマット1302の属性304は機器の状態を示す。
【0084】
以下に示す様に、イベントの送信方法・宛先は各マネージャおよびコントローラが保持するデータ(属性表)に設定されており、これらの各マネージャおよびコントローラ内で起きたイベントを通知することが可能となっている。これらのイベントの付加データのフォーマットも図11で示されるイベントフォーマット表において保持されている。
【0085】
<属性表(プリントジョブマネージャ)>
図12は各プリントジョブマネージャ501−509が保持するデータである属性表の一例を表わす。この属性表はプリントジョブマネージャが持つ属性を表す。属性IDの意味するところはクライアントに知らされている。この表は、プリントジョブマネージャが扱うことが可能なプリントジョブの性能・機能を表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1401、型ID1402および値1403から構成されている。
【0086】
図12の属性表の属性ID1401は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
601:サポートしているデータのダウンロード方法,
801:設定が禁止されている属性の組み合わせリスト(1型),
802:設定が禁止されている属性の組み合わせリスト(2型),
803:設定が禁止されている属性の組み合わせリスト(3型),
804:設定が禁止されている属性の組み合わせリスト(4型),
805:設定が禁止されている属性の組み合わせリスト(5型),
1101:サポートしているPDLのリスト,
1102:カラー印刷可能かどうか,
1103:サポートしているフィニッシングの種類,
1104:設定可能最高解像度,
1105:設定可能最低解像度,
2001:Jobを実行する(可能性のある)コントローラIDリスト,
2002:コントローラ自動選択かどうか,
2003:ジョブ表,
2004:ジョブ依頼表
をそれぞれ表わす。
【0087】
属性ID=601の「サポートしているデータのダウンロード方法」は、プリントするドキュメントデータの機器への送信方法を表わすものであり、本実施形態では、1:ジョブの中にドキュメントデータを含める方法、および、2:ジョブの中にはドキュメントデータの参照ポインタ(URL:Unified Resource Locator)が含まれており、機器から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【0088】
属性ID=801、802、803、804,805はプリントジョブマネージャに対して投入されるプリントジョブの中に設定する属性に関する制限を表す禁止設定属性である。これらは、例えばコピー部数が100を超える場合は、フィニッシャの設定が不能になるなどといった制限事項を表すために使用される。禁止設定属性には、その制限の表現方法として5つの型がある。
【0089】
属性ID=801は、{属性ID1:{属性ID2}}で示す様に、ある属性ID1に対して別の属性ID2のリストの対を複数保持している。これは属性ID1の設定がなされている場合は各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。
【0090】
属性ID=802は、{属性ID1:演算子識別子:値:{属性ID2}}で示す様に、ある属性ID1、演算子識別子および値に対して、別の属性ID2のリストの対を複数保持している。これは属性ID1に対して演算子識別子で示される演算子を値に対して適用した結果が真の場合は、各属性ID2の設定をプリントジョブスクリプトの中で行えないことを意味している。演算子識別子は整数値が2項演算に対して一対一で対応している。例えば、0は「=(等しい)」を表す。
【0091】
属性ID=803は、{属性ID1:演算子識別子1:値1:{属性ID2:演算子識別子2:値2}}で示す様に、ある属性ID1、演算子識別子1および値1に対して,別の属性ID2,演算識別子2および値2の組のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果が真の場合は、各属性ID2に対して演算子識別子2示される演算子を値2に対して適用した結果が真になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【0092】
属性ID=804は、{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID3}}で示す様に、ある属性ID1、演算子識別子1および値1と演算識別子3と別の属性ID2、演算識別子2および値2とに対して,さらに別の属性ID3のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果と属性ID2に対して演算子識別子2で示される演算子を値2に対して適用した結果とを演算子識別子3で示される演算をした結果が真の場合は、各属性ID3に対する設定はプリントジョブスクリプトの中で行えないことを表す。
【0093】
属性ID=805は、{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID4:演算識別子4:値4}}で示す様に、ある属性ID1、演算子識別子1および値1と演算識別子3と別の属性ID2、演算識別子2および値2とに対して,さらに別の属性ID4、演算識別子4および値4の組のリストの対を複数保持している。これは属性ID1に対して演算子識別子1で示される演算子を値1に対して適用した結果と属性ID2に対して演算子識別子2で示される演算子を値2に対して適用した結果とを演算子識別子3で示される演算をした結果が真の場合は、各属性ID4に対して演算し4で示される演算を値4に対して適用した結果が新になる様な設定はプリントジョブスクリプトの中で行えないことを表す。
【0094】
属性ID=2001の「Jobを実行する(可能性のある)コントローラIDリスト」は、プリントジョブを実行するコントローラのコントローラIDのリストであり、プリントジョブマネージャ508以外のプリントジョブマネージャは必ずジョブを実行するコントローラのリストとなっている。プリントジョブマネージャ508はコントローラをジョブの要求している機能によって動的にコントローラを選択するため、この属性はコントローラを選択する範囲を表わすものとなっている。
【0095】
属性ID=2002の「コントローラ自動選択かどうか」は、プリントジョブマネージャがコントローラを自動選択するかどうかが表わされている。当実施例では、プリントジョブマネージャ508のみがこの値を真としている。
【0096】
属性ID=2003および2004に関しては、図13,15Bを参照して後述する。
【0097】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリントジョブマネージャの管理下にあるものに限定されている。例えば、属性値=101の「サポートしているオペレーション」は、このプリントジョブマネージャに対して発行できるオペレーションのリストであり、属性値=406の「課金制限データ」はこのプリントジョブマネージャで実行したプリントジョブに関して課金の制限を加えるものである。課金の制限を超えた場合の取り扱いも、このプリントジョブマネージャのサービスを無効とするのみで、他のマネージャのサービスには影響を与えない。
【0098】
図12の属性表の型IDの値1402は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
81::禁止属性組み合わせリスト1形式,
82::禁止属性組み合わせリスト2形式,
83::禁止属性組み合わせリスト3形式,
84::禁止属性組み合わせリスト4形式,
85::禁止属性組み合わせリスト5形式,
203:ジョブ表形式,
204:ジョブ依頼表形式
を表わす。
【0099】
禁止属性組み合わせリスト1−5形式とは、上述した設定が禁止されている族制の組み合わせリストの第1〜第5の型であり、データ型はそれぞれ以下の通りに定義されている。
・禁止属性組み合わせリスト1形式:{属性ID1:{属性ID2}},
・禁止属性組み合わせリスト2形式:{属性ID1:演算子識別子:値:{属性ID2}},
・禁止属性組み合わせリスト3形式:{属性ID1:演算子識別子1:値1:{属性ID2:演算子識別子2:値2}},
・禁止属性組み合わせリスト4形式:{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID3}},
・禁止属性組み合わせリスト5形式:{(属性ID1:演算子識別子1:値1):演算識別子3:(属性ID2:演算子識別子2:値2):{属性ID4:演算識別子4:値4}}。
ジョブ表形式とは、図13に例示した、ジョブIDとジョブファイル名とを対応付けた表形式を表す。ジョブ依頼表形式とは、図14に例示した、ジョブID−コントローラ−ジョブIDを対応付けた表の形式である。そのほかの型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0100】
図13はプリントジョブマネージャが保持するジョブ表の一例である。ジョブ表は、プリントマネージャが管理するジョブの実体を保持するファイル名とジョブIDとを対応付ける表である。この表は図12で示される属性表の「ジョブ表」属性値2003の値として保持されている。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID15A01およびジョブの実体が保持されているファイル名15A02から構成されている。
【0101】
ジョブID15A01はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子である。ジョブのファイル名15A02は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【0102】
図14はプリントジョブマネージャが保持するジョブ依頼表の一例を表わす。ジョブ依頼表は、プリントマネージャが管理するジョブとコントローラによって実行されるジョブとの関係を示す表である。この表は図12で示される属性表の「ジョブ依頼表」属性値2004の値として保持されている。
【0103】
ジョブ依頼表は、プリントジョブマネージャが管理するジョブがどのコントローラでどのジョブとして実行されているかを表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID15B01、コントローラID15B02およびコントローラの中で割り当てられているジョブID15B03から構成されている。
【0104】
ジョブID15B01はプリントジョブマネージャにジョブが投入されたときに、プリントジョブマネージャが割り当てたジョブに対する識別子であり、ジョブ表(図13)にあるジョブID15A01と対応している。コントローラID15B02はジョブが実行されているコントローラのIDを表わす。ジョブID15B03は、ジョブを実行するコントローラが割り当てたジョブの識別子である。
【0105】
<属性表(スキャンジョブマネージャ)>
図15はスキャンジョブマネージャ419が保持するデータである属性表の一例を表わす。この属性表はスキャンマネージャが持つ属性を表す。属性IDの意味するところはクライアントに知らされている。この表は、スキャンジョブマネージャが扱うことが可能なスキャンジョブの性能・機能を表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1601、型ID1602および値1603から構成されている。
【0106】
図15の属性表の属性ID1601は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
602:サポートしているデータのアップロード方法,
1201:出力可能な画像フォーマットのリスト,
1202:カラースキャン可能か,
1203:設定可能な解像度のリスト,
2001:ジョブを実行するコントローラIDリスト,
2002:コントローラ自動選択可能かどうか,
2003:ジョブ表
をそれぞれ表わす。
【0107】
属性ID=602の「サポートしているデータのアップロード方法」は、スキャンしたドキュメントデータの機器への送信方法を表わすものであり、本実施形態では1:ジョブの返信中にドキュメントデータを含める方法、および2:ドキュメントデータを機器内に保持しておきジョブの返信中にはドキュメントデータへの参照ポインタ(URL)を含めておき、ホスト(クライアント)から必要に応じて参照ポインタで示されるドキュメントデータを読み出す方法がサポートされている。
【0108】
属性ID=1201の「出力可能な画像フォーマットのリスト」は、出力可能な画像のデータフォーマットを表わしており、スキャンジョブを発行する際にこの中にあるものの1つをデータフォーマットとして指定することが出来る。
【0109】
属性ID=1202の「カラースキャン可能か」は、文字通りカラー画像データを出力できるか否かを表わしている。
【0110】
属性ID=1203の「設定可能な解像度のリスト」は、設定可能な画像の解像度を表わしており、スキャンジョブを発行する際にこの中にあるものの1つを読み取り解像度として指定することが出来る。
【0111】
属性ID=2003のジョブ表に関しては、図13,15Bで示されたプリントジョブマネージャが保持するものと同一である。
【0112】
他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているスキャンジョブマネージャの管理下にあるものに限定されている。
【0113】
図15の属性表の型IDの値1602は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
203:ジョブ表形式
を表わす。これらの型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0114】
<属性表(コピージョブマネージャ)>
図16は各コピージョブマネージャ601−608が保持するデータである属性表の一例を表わす。この表は、コピージョブマネージャが扱うことが可能なコピージョブの性能・機能を表わすものである。属性IDの意味するところはクライアントには知らされている。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID1701、型ID1702および値1703から構成されている。
【0115】
図16の属性表の属性ID1701は、
10:タスクタイプ,
11:サービスID,
100:当該属性表の中にある属性IDのリスト,
101:スーパーバイザーでサポートしているオペレーション,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
1302:カラー印刷可能か,
1303:サポートしているフィニッシングの種類,
1304:設定可能最高解像度,
1305:設定可能最低解像度,
2001:ジョブを実行する(可能性のある)コントローラIDリスト,
2002:コントローラ自動選択かどうか,
2003:ジョブ表
をそれぞれ表わす。
これらの属性IDに関しては、プリントジョブマネージャおよびスキャンジョブマネージャの説明の中で示されたものと同一である。
【0116】
図16の属性表の型IDの値1702は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
203:ジョブ表形式
を表わす。これらの型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0117】
<属性表(プリンタコントローラ)>
図17は各プリンタコントローラ510、511、512が保持するデータである属性表を表わす。この表は、プリンタコントローラが制御しているプリントエンジンおよびフィニッシャーの性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID2801、型ID2802および値2803から構成されている。
【0118】
図17の属性表の属性ID2801は、
12:コントローラタイプ,
13:コントローラID,
100:当該属性表の中にある属性IDのリスト,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
5001:カラー印刷可能かどうか,
5002:サポートしているフィニッシングの種類,
5003:設定可能最高解像度,
5004:設定可能最低解像度,
5005:ジョブキュー表
をそれぞれ表わす。
【0119】
ジョブID=12,13,5001,5002,5003,5004,5005については上記リストの通りである。他の属性IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【0120】
図17の属性表の型IDの値2802は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式,
500:ジョブキュー表形式
を表わす。型ID=500は、図18に示すジョブ表の型を表す。他の型IDについては図7のスーパーバイザーの属性表で使用されているものと同一である。
【0121】
図18はプリンタコントローラが保持するジョブキュー表を表わすものである。この表は図17で示される属性表の「ジョブキュー表」属性値の値として保持されている。ジョブキュー表は、プリンタコントローラが管理・実行するジョブがどの様な状態にあるのかを表わすものである。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードはジョブID2901、ジョブステータス2902およびジョブの実体が保持されているファイル名2903から構成されている。
【0122】
ジョブID2901はプリンタコントローラにジョブが投入されたときに、プリンタコントローラが割り当てたジョブに対する識別子である。
【0123】
ジョブステータス2902ばジョブの状態を表わすものであり、1はジョブの終了処理中、2はジョブがエンジンで実行中、3は実行待ち状態であることを示す。
【0124】
ジョブのファイル名2903は、ジョブの実体が保持されているファイルの名前である。ジョブの実体は、属性ID、属性値サイズおよび属性値の組を複数持つことにより構成されている。
【0125】
<属性表(スキャナコントローラ)>
図19はスキャナコントローラ420が保持するデータである属性表の一例を表わす。この表は、スキャナコントローラが制御しているスキャナエンジン性能・機能を表わすものであり、性能・機能に関する値は書き換えが出来ない。表は各行が1つの情報単位(レコード)を表わしており、複数のレコードの集合としてデータは構成されている。各レコードの内容は図7で示されるスーパーバイザーのものと同一であり、属性ID3001、型ID3002および値3003から構成されている。
【0126】
図19の属性表の属性ID3001は、
12:コントローラタイプ,
13:コントローラID,
100:当該属性表の中にある属性IDのリスト,
104:当該属性表中で管理者のみが変更できる属性IDのリスト,
401:現在のカウントデータ,
402:カウントデータフォーマット,
403:カウント制限データ,
404:カウント単価データ,
405:現在の課金データ,
406:課金制限データ,
501:サポートしているイベントリスト,
502:イベント設定表,
6001:カラースキャン可能かどうか,
6002:最大原稿サイズ,
6003:設定可能最高解像度,
6004:設定可能最低解像度,
をそれぞれ表わす。
【0127】
ジョブID=6001,6002,6003,6004については上記リストの通りである。他の属性IDについては図19のスーパーバイザーの属性表で使用されているものと同一である。ただし、設定の範囲および影響が及ぶ範囲は、属性表が属しているプリンタコントローラの管理下にあるものに限定されている。
【0128】
属性表の型IDの値3002は、
0:ブーリアン,
1:整数,
2:実数,
3:文字列,
11:整数のリスト,
12:実数のリスト,
13:文字列のリスト,
52:イベント設定表形式
を表わす。すべて図7のスーパーバイザーの属性表で使用されているものと同一である。
【0129】
[クライアント側の処理フロー]
<クライアントのソフトウエア構成>
図20は、多機能周辺機器201を利用するクライアント202、203、204、205のソフトウエアブロック図を表す。
【0130】
ユーザインターフェースA01は、各ドライバA05〜A07およびユーティリティーからA08〜A14は多機能周辺機器201の持つ情報を表示する。
【0131】
データベースA02は現在使用中の多機能周辺機器201の情報を保持するデーターベースであり、クライアントが多機能周辺機器201に接続した段階で、機器情報取得部A03が機器の持つ全ての情報を取得してデータベースA02の中に保持する。
【0132】
規定データベースA04は、多機能周辺機器201が保持する各属性表の中で使用される、各属性の意味、各属性ID毎のデータ型、イベントID毎に規定されているパラメータのフォーマット、タスクタイプの意味などの規定情報を保持している。各ドライバおよびユーティリティーA05〜A14は、規定データベースA04および機器情報A02に基づき動作する。
【0133】
プリンタドライバA05は、クライアントPC上で動作するアプリケーションプログラムからの指示によりプリントジョブスクリプトを生成する。
【0134】
スキャナドライバA06は、クライアントPC上で動作するアプリケーションプログラムからの指示によりスキャンジョブスクリプトを生成する。
【0135】
コピードライバA07は、クライアントPC上で動作するアプリケーションプログラムからの指示によりコピージョブスクリプトを生成する。
【0136】
フォント管理ユーティリティA08は、フォントデータのダウンロードおよびアップロードを行うジョブを生成し、フォントデータを管理するコマンドを生成する。
【0137】
フォームオーバーレイ管理ユーティリティA09は、フォームオーバーレイデータのダウンロードおよびアップロードを行うジョブを生成し、フォームオーバーレイを管理するコマンドを生成する。
【0138】
ログ管理ユーティリティA10は、ログデータのダウンロードおよびアップロードを行うジョブを生成し、ログを管理するコマンドを生成する。
【0139】
カラープロファイル管理ユーティリティA11は、カラープロファイルデータのダウンロードおよびアップロードを行うジョブを生成し、カラープロファイルを管理するコマンドを生成する。
【0140】
ジョブ管理ユーティリティA12は、プリントジョブ・スキャンジョブ・コピージョブの削除・一時停止・実行再開などの管理をおこなうコマンドを生成する。
【0141】
機器管理ユーティリティA13は、プリンタコントローラ・スキャナコントローラの状態を取得するコマンドを生成する。
【0142】
課金管理ユーティリティA14は、課金データの取得するコマンドを生成する。
【0143】
ジェネレータA15は、各ドライバおよびユーティリティーA05〜A14から生成されたコマンドを基にコマンドパケットを生成する。生成されたコマンドパケットは、トランスポート処理モジュールA16、A18、A20各々を利用して多機能周辺機器201に送信される。ジェネレータA15は、トランスポート処理モジュールA16、A18、A20各々から入力された返信パケットおよびイベントパケットを解釈し、適当なドライバまたはユーティリティに配布する。
【0144】
SBP−2モジュールA16は、IEEE1394のトランスポート層であるSBP−2の処理モジュールである。
【0145】
TCP/IP・UDP/IPモジュールA18は、TCP/IPおよびUDP/IPの処理モジュールである。
【0146】
IEEE1284.4モジュールA20は、IEEE1284のトランスポート層であるIEEE1284.4の処理モジュールである。
【0147】
IEEE1394インターフェースA17は、IEEE1394の物理層を処理するインターフェースである。
【0148】
ネットワークインターフェースA19は、LAN等のネットワークインターフェースである。
【0149】
1EEE1284インターフェースA21は、IEEE1284の物理層を処理するインターフェースである。
【0150】
コード変換ライブラリA22は、ステータスコード間の変換処理を行なう。ジェネレータA15からの問い合わせに応じて、Aタイプのステータスコードに変換を行なう。この処理の内容については、後で図23にて説明する。このコード変換ライブラリA22は、少なくともクライアント204には存在する。クライアント202、203、205には存在しなくても構わない。
【0151】
A23は、コード変換ライブラリA22がステータスコード間の変換処理を行なう際に使用するステータスコード対応表である。この表については、あとで図22において詳しく説明を行なう。
【0152】
図20はまた、多機能周辺機器201のソフトウエアブロック図(図4)におけるユーザーインターフェースマネージャ405の内部構成を表すものでもある。ユーザインターフェースマネージャ405の場合は、図20におけるSBP−2処理モジュールA16、TCP/IPおよびUDP/IP処理モジューA18、IEEE1284.4処理モジュールA20、ネットワークインターフェースA17、ネットワークインターフェースA19、IEEE1284インターフェースA21は存在せず、ジェネレータA15が図4におけるインタープリター409に直接接続されており、これによってコマンドパケット・返信パケット・イベントパケットのやり取りが行われている。この直接接続は他のクライアント202、203、204、205のソフトウエア構成には存在していない。
【0153】
<ジョブ管理コマンドの発行>
図21は、ジョブ管理ユーティリティA12が、ジョブ管理コマンドを発行する場合の処理フローを表す。
【0154】
ステップM01において、対象とするマネージャのサービスIDをパラメータとしてマネージャが保持するジョブ表(図13)を取得する。
【0155】
ステップM02において、取得したジョブ表に含まれるジョブリストの中から適当な方法で管理対象とするジョブの持つジョブIDを選択する。選択手段としては、ユーザインターフェース
A01にジョブのリストを表示し、ユーザに選択させる方法などが含まれる。
【0156】
ステップM03において、指定されたジョブIDをパラメータとするジョブ管理用コマンドを生成し、発行し終了する。
【0157】
ジョブ管理コマンドを受信した多機能周辺機器201のスーパーバイザーは指示されたジョブの管理を行う。
【0158】
<ステータス変換処理>
図22は、ステータスコード対応表で、複数のステータスコード体系間の対応関係を表す一例である。これは、図20におけるステータスコード対応表A23、後述の図25におけるコード変換ボックスのステータスコード対応表4807、同じく図26におけるサーバのステータスコード対応表4905などに相当する。
【0159】
この図22は4タイプのステータスコード体系間の対応関係を示している。各列がそれぞれ一つのステータスコード体系である。すなわち、N01列にはAタイプのステータスコード、N02列にBタイプのステータスコード、N03列にCタイプのステータスコード、N04列にDタイプのステータスコードのコードが列記されている。
【0160】
そして、各行には同じ状態を示す各ステータスコード体系のコードが列記されている。例えば、N11行には「ジャム状態」を示す各ステータスコード体系のコードが列記されている。すなわち、Aタイプのステータスコードにおいては40010000が、Bタイプのステータスコードにおいては3018000が、Cタイプのステータスコードにおいては40913が、Dタイプのステータスコードにおいては3010000が、「ジャム状態」を意味していることになる。
【0161】
同様に、N12は「カバーオープン状態」を、N13は「用紙補給状態」を、N14は「メモリフル状態」を意味する、各ステータスコード体系のコードが列記されている。
【0162】
ステータスコード間変換処理の際には、このステータスコード対応表を用いて、例えばBタイプのステータスコードの3018000というコードは、Aタイプのステータスコードでは40010000というコードに相当する、といった変換処理を行なう。
【0163】
図23は、ステータスコード間のコード変換問い合わせを受けた際の、ステータスコード間の変換処理を行なう処理フローを表す。本処理は、図20に示すクライアントのコード変換ライブラリA22、コード変換ボックスのコード変換ライブラリ4806、サーバのコード変換ライブラリ4904が行なう処理である。
【0164】
ステップO01において、問い合わせ側から渡されたステータスコードのタイプおよびコードから、一致するレコードを図22のステータスコード表から探し出す。
【0165】
ステップO02において、探し出したレコードの、AタイプのステータスコードのコードN01を得る。
【0166】
ステップO03において、その得たコードを返却する。
【0167】
以上により、問い合わせ側が問い合わせたタイプのステータスコードのコードに相当するAタイプのステータスコードのコードが、問い合わせ側に返却されることになる。
【0168】
<コード変換ボックスの構成>
図24は、コード変換ボックス209のコントローラのハードウエア構成を表すものである。
【0169】
コントローラの内部では、CPU4701がバス4706を介して、RAM4702・ROM4704に接続されている。
【0170】
図23で示されるソフトウエアブロックを有するプログラムおよび各種データはRAM4702またはROM4704に書き込まれており、これらをCPU4701が順次読みだしながら実行することにより、コントローラは動作する。
【0171】
バス4706には、IEEE1284インターフェース4703・IEEE1284インターフェース4705が接続されている。これらは、それぞれ図25のIEEE1284インターフェース4801・IEEE1284インターフェース4802に対応するものであり、CPU4701がこれらのインターフェースからデータを読み込みまたは書き込むことによりそれぞれのインターフェースを使用した通信を行う。
【0172】
図25は、コード変換ボックス210のソフトウエア構成を表すものである。
【0173】
IEEE1284ドライバ4801、4802は、それぞれ図24のIEEE1284インターフェース4703、4705の制御を行う。
【0174】
モジュール4803、4804はIEEE1284.4の処理モジュールである。IEEE1284.4は主にIEEE1284インターフェースで使用されることを目的としたトランスポート層の標準である。IEEE1284.4の処理モジュール(4803)、(4804)は、それぞれIEEE1284ドライバ(4801)、(4802)から出力されたトランスポートパケットの処理をおこないコマンドパケットを抽出してインタープリター4805に出力する。また、インタープリター4805から出力されたコマンドパケットからトランスポートパケットの生成を行い、IEEE1284ドライバ(4801)、(4802)に出力する。
【0175】
パケットインタプリタ4805は、各トランスポート処理部4803・4804から入力されたコマンドパケットを解釈しコマンドを生成するパケットインタープリターである。パケットインタープリター4805は他のモジュールからの依頼によりコマンドパケットの生成も行う。
【0176】
コード変換ライブラリ4806は、ステータスコード間の変換処理を行なう。パケットインタープリター4805からの問い合わせに応じて、Aタイプのステータスコードに変換を行なう。この処理の内容については、図23にて説明した。
【0177】
ステータスコード対応表4807は、コード変換ライブラリが4806ステータスコード間の変換処理を行なう際に使用される。この表については、既に図22において詳しく説明を行なった。
【0178】
パケットインタープリター4805は、一方のIEEE1284.4処理モジュールから得たコマンドパケットを他方のIEEE1284.4処理モジュールに送る役割をする。パケットインタープリター4805は、基本的には得たコマンドパケットをそのまま送るのだが、図23で説明したステータスコード間のコード変換処理機能を有しており、必要に応じて、コマンドパケット内のデータを変換するフィルタ処理を行なう。本発明の場合、多機能周辺機器201から送られてきたAタイプ以外のステータスコードのコードを、Aタイプのステータスコードのコードに変換してクライアントPC205に送り、それ以外のコマンドパケットは、そのまま素通りでクライアントPC205に送ることになる。また、クライアントPC205から送られてきたコマンドパケットは、ステータスコードを変換する必要が無いので、全てそのまま素通りで多機能周辺機器201に送る。
【0179】
以上により、多機能周辺機器201が、どのタイプのステータスコードを実装していても、クライアントPC205の機器管理ユーティリティA13をはじめとするA05からA14で示される各ドライバおよびユーティリティーは、Aタイプのステータスコードにのみ対応しておけば十分であることになる。
【0180】
<サーバのソフトウエア構成>
図26は、サーバ209のソフトソフトウエア構成を表すものである。本サーバ209は、ステータスコード間のコード変換処理を行なう目的に特化している例を示す。もちろん、コード変換処理以外のいかなる機能を有していても構わない。
【0181】
ネットワークインターフェース4901は、LAN等のネットワークに接続するためのインターフェースである。
【0182】
モジュール4902は、TCP/IPおよびUDP/IPの処理モジュールである。
【0183】
インタプリタ4903は、多機能周辺機器201からの問い合わせ内容を認識し、返信パケットを生成する。インタープリタ4903は、4902のトランスポート処理モジュールから入力された問い合わせパケットを解釈し、コード変換ライブラリ4904にコード変換の問い合わせを行ない、得られた返答を4902のトランスポート処理モジュールを利用して多機能周辺機器201に返信する。
【0184】
コード変換ライブラリ4904は、ステータスコード間の変換処理を行なう。インタープリタ4903からの問い合わせに応じて、Aタイプのステータスコードに変換を行なう。この処理の内容については、図23にて説明した。
【0185】
4905は、コード変換ライブラリ4904がステータスコード間の変換処理を行なう際に使用するステータスコード対応表である。この表については、既に図22において詳しく説明を行なった。
【0186】
<クライアントにおける多機能周辺機器からのイベント処理>
多機能周辺機器201から機器の状態遷移イベントが発行されてから、各クライアントでそのイベント通知を受けて、対応する処理を行なうまでの流れを示す。
[あ]クライアント202および203,
[い]クライアント204,
[う]クライアント205
の3種類に分けて、以下説明していく。
【0187】
例として、ジャム状態が発生した場合の例を示す。ジャム状態は、Aタイプのステータスコードだと40010000で、Bタイプのステータスコードだと3018000で示される。
【0188】
なお、多機能周辺機器201はBタイプのステータスコードを実装しており、クライアント202から205の各機器管理ユーティリティA13はAタイプのステータスコードを実装しているとする。
【0189】
[あ]クライアント202および203の場合(図2、図20、図26参照):
(1)「Bタイプ:3018000」を示す状態遷移イベントが、多機能周辺機器201からクライアント202あるいは203に届く。
(2)クライアント202あるいは203のジェネレータA15が、サーバ209に「Bタイプ:3018000」の変換要求を送付する。
(3)サーバ209のインタープリター4903が、コード変換ライブラリ4904に「Bタイプ:3018000」を渡し、コード変換を依頼する。
(4)コード変換ライブラリ4904からインタープリター4903に、「Aタイプ:40010000」と返答される。
(5)サーバ209からクライアント202あるいは203に、「Aタイプ:40010000」という変換結果が届く。
(6)クライアント202あるいは203のジェネレータA15は機器管理ユーティリティA13に「Aタイプ:40010000」を配布する。
(7)機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0190】
このように、サーバにより、多機能周辺機器の出力するタイプからクライアントが用いるタイプへとステータスコード系を変換する。
【0191】
この場合、多機能周辺機器201から出力されるステータスのタイプは、ステータスのコード自体から判別できる場合には、そのステータスの値に基づいて判別される。図22の例では、整数第8桁目が「4」であるのはAタイプだけであるので、これに該当すればAタイプであると判別できる。さらに、図22のステータスコード対応表のエントリがすべて表中で唯一の値であれば、ステータス対応表をタイプの判別にも利用できる。また、重複するエントリがあっても、図22のBタイプとDタイプのようにそれらが同じ意味を有していればユニークに識別する必要はないため、この場合にもステータス対応表からステータスのタイプを判別できる。
【0192】
しかし、ステータスの値からはどのタイプであるとも判別できない場合には、ステータスとともにそのコード体系を表すコードを多機能周辺機器が添付すればよい。すなわち、イベントの発行元であるマネージャが、コード体系をも含めてイベントを発行すればステータスに含まれる明示的なコード体系によりステータスのコード体系を判別できる。
【0193】
このようにして判別されたコード体系から、ステータスの送信先のコード体系へとステータスを変換する。変換先のタイプは、マニュアル操作によってあらかじめコード変換ライブラリを備えるサーバに登録しておいても良い。あるいは、サーバ209に送信するコード変換要求に添付するパラメータとして変換先のタイプを送ることもできる。また、サーバでは変換要求元のクライアントに対応するコードのタイプをあらかじめ記憶しておき、変換要求元のクライアントの識別子などに基づいて決定することもできる。
【0194】
[い]クライアント204の場合(図2、図20参照):
(1)「Bタイプ:3018000」を示す状態遷移イベントが、多機能周辺機器201からクライアント204に届く。
(2)クライアント204のジェネレータA15が、コード変換ライブラリA22に「Bタイプ:3018000」を渡し、コード変換を依頼する。
(3)コード変換ライブラリA22からジェネレータA15に、「Aタイプ:40010000」と返答される。
(4)ジェネレータA15は機器管理ユーティリティA13に「Aタイプ:40010000」を配布する。
(5)機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0195】
このように、クライアント自身により、多機能周辺機器の出力するタイプからクライアントが用いるタイプへとステータスコード系を変換する。この場合も、多機能周辺機器201から出力されるステータスのタイプは、[あ]の場合と同様に判別できる。この場合、変換先のタイプが「Aタイプ」であることは、クライアント自身で変換するために当然知ることができる。
【0196】
[う]クライアント205の場合(図2、図20、図25参照):
(1)「Bタイプ:3018000」を示す状態遷移イベントが、多機能周辺機器201からコード変換ボックス210に届く。
(2)コード変換ボックス210のインタープリター4805が、コード変換ライブラリ4806に「Bタイプ:3018000」を渡し、コード変換を依頼する。
(3)コード変換ライブラリ4806からインタープリター4805に、「Aタイプ:40010000」と返答される。
(4)「Aタイプ:40010000」を示す状態遷移イベントが、コード変換ボックス210からクライアント205に届く。
(5)クライアント205のジェネレータA15は機器管理ユーティリティA13に「Aタイプ:40010000」を配布する。
(6)機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0197】
このように、多機能周辺機器201とクライアントとの間に設置されたコード変換ボックスによっても、多機能周辺機器の出力するタイプからクライアントが用いるタイプへとステータスコード系を変換できる。この場合、たとえばコード変換ボックス210において、変換元と変換先のステータスのタイプをあらかじめ登録しておけばよい。
【0198】
以上のようにして、サーバあるいはクライアントあるいはコード変換ボックスのコード変換ライブラリにより、周辺機器のステータスのタイプをそれを受信する機器、例えばクライアントが処理可能あるいは認識可能なタイプに変換することで、周辺機器の出力するステータスのコード体系とクライアントが処理可能なステータスのコード体系とが相異なる場合でも、クライアントにおいてステータスを処理可能となる。
【0199】
この場合も、多機能周辺機器201から出力されるステータスのタイプおよび変換先のステータスのタイプは、[あ]の場合と同様に判別できる。さらにこの場合、変換先のタイプは、コード変換ボックスに接続されたクライアントにより特定できるため、固定的に決定しておくこともできる。
【0200】
以上の様にして、多機能周辺機器から出力されるイベント通知にコード体系の相異なるステータスが含まれている場合にも、そのステータスを送信先の機器が処理可能なあるいは認識可能なコード体系に変換する。それにより、そのステータスを処理するサーバやクライアントなどは、ただひとつのコード体系に対して対応していれば良く、受信したステータスを認識して処理することができる。
【0201】
逆に、複数のクライアントが処理可能なステータスのコード体系が互いに異なるコード体系であるような場合でも、それぞれのクライアントが処理可能なコード体系に変換することで、全てのクライアントにおいて、周辺機器から出力されるステータスを処理することが可能となる。
【0202】
すなわち、ステータスのコード体系を、複数対1の関係のみならず、1対複数、1対1、複数対複数の関係となるように変換することで、ステータスのコード体系が相異なる送信元と送信先の機器を自由に組みあわせて利用することができる。
【0203】
【実施形態2】
第2の実施形態として、第1の実施形態に若干の機能追加を行ったシステムを示す。
【0204】
図28を用いて、多機能周辺機器201内でコード変換を行なう場合の流れを示す。図28は、図2と類似しているが、コード変換ライブラリ421とステータスコード対応表422を有する点が異なる。
【0205】
例として、ジャム状態が発生した場合の例を示す。ジャム状態は、Aタイプのステータスコードだと40010000で、Bタイプのステータスコードだと3018000で示される。
【0206】
なお、クライアントの各機器管理ユーティリティA13はAタイプのステータスコードを実装しているとする(図28、図4、図A参照)。
1. 「Bタイプ:3018000」を示す状態遷移イベントが、インタープリター409に届く。
2. インタープリター409が、コード変換ライブラリ421に「Bタイプ:3018000」を渡し、コード変換を依頼する。
3. コード変換ライブラリ421からインタープリター409に、「Aタイプ:40010000」と返答される。
4. 「Aタイプ:40010000」を示す状態遷移イベントが、多機能周辺機器201からクライアントに届く。
5. クライアント205の機器管理ユーティリティA13が、「Aタイプ:40010000」を処理する。
【0207】
このように、多機能周辺機器内での変換により、受信する機器が処理可能あるいは認識可能なタイプのステータスコード系に変換することで、クライアントで処理が可能となる。
【0208】
また、本実施形態では、図22に示すステータス対応表の保守を多機能周辺機器から行うことができる。
【0209】
図27はステータスコード対応表の更新指示を受けた際の、ステータスコード対応表の更新処理を表す処理フローである。本処理は、図20に示すクライアントのコード変換ライブラリA22、コード変換ボックスのコード変換ライブラリ4806、サーバのコード変換ライブラリ4904が行なう処理である。
【0210】
ステップP01において、更新指示側(インタプリタ/ジェネレータ409)からステータスコード対応表の更新データを受け取る。
【0211】
ステップP02において、受け取った更新データに基づいてステータスコード対応表の内容を更新する。
【0212】
以上によりステータスコード対応表を更新することができる。
【0213】
なお、ステータスコード対応表の更新指示は、クライアントやサーバ等からコード変換ライブラリを備えるクライアントやサーバ、コード変換ボックスに対して発行することもできる。
【0214】
この手順により、この実施形態のシステムでは、ステータスコード対応表を、ステータスコードを出力する周辺機器や、ステータスコードを受信するクライアントやサーバなどの情報処理機器などにより保守できる。このため、例えば図2の構成において、MFP(多機能周辺機器)201をある機器から他の仕様が異なる機器に変更した場合にも、新たな機器がその機器のステータスコード体系に応じてステータスコード対応表の更新を行うことで、サーバやクライアントにおいては、従前のコード体系でステータス処理を行うことができる。
【0215】
また、クライアントやサーバが置き換えられた場合にも、新たなクライアントやサーバのコード体系に応じてステータスコード対応表の更新を行うことで、全く同様にステータス処理を行うことができる。
【0216】
また、多機能周辺機器についてファームウエアの更新や、オプションユニットの取りつけ等による新たなステータスコードの追加等があった場合でも、ステータスコード対応表保守機能により用意に対応可能である。
【0217】
なおステータスコード対応表の更新は、全てのコード体系のコード間の対応関係を更新するものであっっても、一部の対応関係を更新するものであっても良い。
【0218】
さらに、本発明の実施形態1及び2に関わる周辺機器制御システムでは、ジャム状態やカバーオープン状態はBコードで実装してしまったが、新規のメモリフル状態はAコードで実装する、といったように、一つの機器内に複数のコード体系を実装する形態も可能となる。
【0219】
これは、複数存在するコード体系を今後1つに統一していく方針で開発を行なう際、効率的に移行が可能であるという効果がある。
【0220】
例えば、前のコードに対応している機器のプログラムモジュールを流用して統一前のコードも使用しつつ、新しく作成して追加する部分のプログラムモジュールは統一後のコードを使用する、ということができるためである。この場合、全て統一コードに対応したモジュールを作り直すより、前のモジュールを流用できる分、開発効率が良い。
【0221】
さらに、いずれ統一されたコードのみの機器を開発する際に、後者のプログラムモジュールはそのまま流用でき、前者のプログラムモジュールのみ、統一後のコードに修正すれば良いので、部分的に新しいコードへ移行していく、というような効率の良い段階的開発が可能となるという効果がある。
【0222】
また、異なるコード体系を実装する複数の機器のプログラムから、必要なプログラムモジュールのみ取り出して組み合わせて新たな製品を開発する場合も、どのコード体系を使用するか気にしなくてすむので、やりやすくなるという効果もある。
【0223】
[その他の実施形態]
実施形態1では、機器の状態遷移イベントに格納されるステータスコードの自動変換を行なう例を示したが、機器の状態遷移イベントだけでなく、機器の状態属性の取得時にも同様にステータスコードの変換が行なわれるようになっていても構わない。
【0224】
実施形態1では、Aタイプのステータスコードへ変換する例を示したが、それに限らない。指定タイプのステータスコードへ変換する仕組みになっていても構わないし、そのほうがより汎用的になる。
【0225】
実施形態1では、インタプリタ/ジェネレータがコード変換する仕組みとしたが、他の部分で変換しても構わない。例えば、ドライバ/ユーティリティが変換しても構わない。
【0226】
実施形態1では、コード変換ボックスは、IEEE1284によって、クライアントPCおよび周辺機器に接続されている例を示したが、クライアントPCと周辺機器と双方の接続が、いかなるインタフェース/形態により接続されていても構わない。クライアントPCや周辺機器に拡張ボードがスロットで搭載される形式で、例えば、周辺機器とは独自インタフェース/プロトコルで接続され、クライアントPCとは、IEEE1394で接続される、という形式も可能である。
【0227】
さらに、1つのボックスに3つ以上のインタフェースが搭載されていても構わない。例えば、変換ボックスはIEEE1394インタフェースを2つ持ち、クライアントPC2つが、それぞれの別のIEEE1394インタフェースを介して変換ボックスと接続していて、変換ボックスがIEEE1284を介して周辺機器と接続している、などという構成も可能である。
【0228】
さらに、ステータスコード対応表やコード変換ライブラリを周辺機器に備えて、周辺機器において行わせることもできる。
【0229】
なお、上記実施形態1,2は他の機能を有する周辺機器装置、例えばファクシミリ装置に適用することが可能である。
【0230】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0231】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【0232】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0233】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0234】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0235】
また本発明の他の実施形態には以下のようなものも含まれる。
【0236】
【実施形態01】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。
【0237】
【実施形態02】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態01記載の周辺機器制御システム。
【0238】
【実施形態03】前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態01または02に記載の周辺機器制御システム。
【0239】
【実施形態04】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。
【0240】
【実施形態05】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態04記載の周辺機器制御システム。
【0241】
【実施形態06】前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする実施形態02に記載の周辺機器制御システム。
【0242】
【実施形態07】前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態04乃至06のいずれかに記載の周辺機器制御システム。
【0243】
【実施形態08】前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態04乃至06のいずれかに記載の周辺機器制御システム。
【0244】
【実施形態09】前記周辺機器上に前記コード変換要求手段と前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態04に記載の周辺機器制御システム。
【0245】
【実施形態10】さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする実施形態01乃至09のいずれか1項に記載の周辺機器制御システム。
【0246】
【実施形態11】前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする実施形態10に記載の周辺機器制御システム。
【0247】
【実施形態12】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される全てのコード体系のコード間の対応関係を更新することを特徴とする実施形態10に記載の周辺機器制御システム。
【0248】
【実施形態13】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される一部のコード体系のコード間の対応関係を更新することを特徴とする実施形態10に記載の周辺機器制御システム。
【0249】
【実施形態14】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムにおいて、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持工程と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換工程と
を有することを特徴とする周辺機器制御システム。
【0250】
【実施形態15】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態01記載の周辺機器制御システム。
【0251】
【実施形態16】前記ホストコンピュータ上に前記コード対応情報保持工程と該コード変換工程の両方を有することを特徴とする実施形態14または15に記載の周辺機器制御システム。
【0252】
【実施形態17】ホストコンピュータおよび周辺機器が接続された周辺機器制御システムにおいて、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求工程と、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持工程と、
前記コード変換要求工程による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換工程と
を有することを特徴とする周辺機器制御システム。
【0253】
【実施形態18】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態17記載の周辺機器制御システム。
【0254】
【実施形態19】前記ホストコンピュータ上に前記コード変換要求工程を有することを特徴とする実施形態18に記載の周辺機器制御システム。
【0255】
【実施形態20】前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持工程と該コード変換工程の両方を有することを特徴とする実施形態17乃至19のいずれかに記載の周辺機器制御システム。
【0256】
【実施形態21】前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持工程と前記コード変換工程とを有することを特徴とする実施形態17乃至19のいずれかに記載の周辺機器制御システム。
【0257】
【実施形態22】前記周辺機器上に前記コード変換要求工程と前記コード対応情報保持工程と前記コード変換工程とを有することを特徴とする実施形態17に記載の周辺機器制御システム。
【0258】
【実施形態23】さらに、前記コード対応保持工程の保持するコード間の対応関係を更新する更新工程を有することを特徴とする実施形態14乃至22のいずれか1項に記載の周辺機器制御システム。
【0259】
【実施形態24】前記更新工程は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする実施形態23に記載の周辺機器制御システム。
【0260】
【実施形態25】前記更新工程に送信される更新指示データは、前記コード対応情報保持工程により保持される全てのコード体系のコード間の対応関係を更新することを特徴とする実施形態23に記載の周辺機器制御システム。
【0261】
【実施形態26】前記更新工程に送信される更新指示データは、前記コード対応情報保持工程により保持される一部のコード体系のコード間の対応関係を更新することを特徴とする実施形態23に記載の周辺機器制御システム。
【0262】
【実施形態27】複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
をコンピュータにより実現するためのプログラム。
【0263】
【実施形態28】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態27記載のプログラム。
【0264】
【実施形態29】前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態27または28に記載のプログラム。
【0265】
【実施形態30】一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
をコンピュータにより実現するためのプログラム。
【0266】
【実施形態31】前記一のコード体系のコードは周辺機器の状態を示すコードであることを特徴とする実施形態30記載のプログラム。
【0267】
【実施形態32】前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする実施形態02に記載のプログラム。
【0268】
【実施形態33】前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする実施形態30乃至32のいずれかに記載のプログラム。
【0269】
【実施形態34】前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態30乃至32のいずれかに記載のプログラム。
【0270】
【実施形態35】前記周辺機器上に前記コード変換要求手段と前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする実施形態30に記載のプログラム。
【0271】
【実施形態36】さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする実施形態27乃至35のいずれか1項に記載のプログラム。
【0272】
【実施形態37】前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする実施形態36に記載のプログラム。
【0273】
【実施形態38】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される全てのコード体系のコード間の対応関係を更新することを特徴とする実施形態36に記載のプログラム。
【0274】
【実施形態39】前記更新手段に送信される更新指示データは、前記コード対応情報保持手段により保持される一部のコード体系のコード間の対応関係を更新することを特徴とする実施形態36に記載のプログラム。
【0275】
【実施形態40】実施形態27乃至39のいずれかに記載のプログラムを記録したコンピュータ可読記録媒体。
【0276】
【発明の効果】
以上説明したように本発明に係わる周辺機器制御システムでは、複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、あるコード体系のコードを別のコード体系のコードに変換するコード変換手段とを有することにより、特定の1つのコード体系の周辺機器に対してコード処理を行なうようにすることで他のコード体系を実装する周辺機器の制御も行なうことが可能となる。
【図面の簡単な説明】
【図1】多機能周辺機器の構成を示す図である。
【図2】システム構成を示す図である。
【図3】コントローラのハード構成を示す図である。
【図4】コントローラのソフト構成を示す図である。
【図5】コントローラのソフト構成を示す図である。
【図6】コントローラのソフト構成を示す図である。
【図7】スーパーバイザーの属性表を示す図である。
【図8】サブアドレス:サービスID対応表を示す図である。
【図9】サブアドレス:タスクタイプ対応表を示す図である。
【図10】イベント設定表を示す図である。
【図11】イベントフォーマット表を示す図である。
【図12】プリントマネージャの属性表を示す図である。
【図13】ジョブ表を示す図である。
【図14】ジョブ依頼表を示す図である。
【図15】スキャンジョブマネージャの属性表を示す図である。
【図16】コピージョブマネージャの属性表を示す図である。
【図17】プリンターコントローラの属性表を示す図である。
【図18】ジョブキュー表を示す図である。
【図19】スキャナコントローラの属性表を示す図である。
【図20】クライアント側のソフトウエア構成を示す図である。
【図21】ジョブ管理コマンドの発行を示す図である。
【図22】ステータスコード対応表を示す図である。
【図23】ステータスコード間変換処理フローを示す図である。
【図24】コード変換ボックスのハード構成を示す図である。
【図25】コード変換ボックスのソフト構成を示す図である。
【図26】サーバのソフト構成を示す図である。
【図27】ステータスコード対応表の更新処理を表す処理フローである。
【図28】コントローラのソフト構成のブロック図である。
Claims (15)
- ホストコンピュータおよび周辺機器が通信可能な周辺機器制御システムであって、
周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。 - ホストコンピュータおよび周辺機器が通信可能な周辺機器制御システムであって、
周辺機器の状態又は機能を示すためのコードを周辺機器からホストコンピュータへ転送する転送手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。 - 前記ホストコンピュータ上に前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする請求項1または2に記載の周辺機器制御システム。
- ホストコンピュータおよび周辺機器が接続された周辺機器制御システムであって、
周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器制御システム。 - 前記ホストコンピュータ上に前記コード変換要求手段を有することを特徴とする請求項4に記載の周辺機器制御システム。
- 前記ホストコンピュータと接続されたサーバコンピュータに前記コード対応情報保持手段と該コード変換手段の両方を有することを特徴とする請求項4或いは5に記載の周辺機器制御システム。
- 前記周辺機器の外部でかつ前記ホストコンピュータとの間にフィルタを更に備え、該フィルタが前記コード対応情報保持手段と前記コード変換手段とを有することを特徴とする請求項4或いは5に記載の周辺機器制御システム。
- さらに、前記コード対応保持手段の保持するコード間の対応関係を更新する更新手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の周辺機器制御システム。
- 前記更新手段は、前記ホストコンピュータから送信された更新指示データをもとに更新することを特徴とする請求項8に記載の周辺機器制御システム。
- ホストコンピュータと通信可能な周辺機器であって、
当該周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器。 - ホストコンピュータと通信可能な周辺機器であって、
当該周辺機器の状態又は機能を示すためのコードを周辺機器からホストコンピュータへ転送する転送手段と、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器。 - ホストコンピュータと接続可能な周辺機器であって、
当該周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持手段と、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求手段と、
前記コード変換要求手段による要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換手段と
を有することを特徴とする周辺機器。 - ホストコンピュータと通信可能な周辺機器の制御方法であって、
当該周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持ステップと、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換ステップと
を有することを特徴とする周辺機器の制御方法。 - ホストコンピュータと通信可能な周辺機器の制御方法であって、
当該周辺機器の状態又は機能を示すためのコードを周辺機器からホストコンピュータへ転送する転送ステップと、
一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換ステップと
を有することを特徴とする周辺機器の制御方法。 - ホストコンピュータと接続可能な周辺機器の制御方法であって、
当該周辺機器の状態又は機能を示すための複数のコード体系のコード間の対応関係を保持するコード対応情報保持ステップと、
一のコード体系のコードを別のコード体系のコードに変換することを要求するコード変換要求ステップと、
前記コード変換要求ステップによる要求に応じて、一のコード体系のコードを、前記ホストコンピュータが認識可能な別のコード体系のコードに変換するコード変換ステップと
を有することを特徴とする周辺機器の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068227A JP2004280264A (ja) | 2003-03-13 | 2003-03-13 | 周辺機器制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068227A JP2004280264A (ja) | 2003-03-13 | 2003-03-13 | 周辺機器制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004280264A true JP2004280264A (ja) | 2004-10-07 |
Family
ID=33285628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068227A Withdrawn JP2004280264A (ja) | 2003-03-13 | 2003-03-13 | 周辺機器制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004280264A (ja) |
-
2003
- 2003-03-13 JP JP2003068227A patent/JP2004280264A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4392906B2 (ja) | 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品 | |
JP3697114B2 (ja) | 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品 | |
US8520247B1 (en) | Image forming apparatus, charge server and image forming system | |
JP4185920B2 (ja) | 印刷制御方法および印刷設定管理システムおよびソフトウエア配布サーバ | |
US8115943B2 (en) | Image forming apparatus and print process method | |
JP5402392B2 (ja) | プリンタネットワークシステム、サーバ装置、プリント方法、プログラムおよび記録媒体 | |
US20120229845A1 (en) | Printer | |
JP2002082806A (ja) | 画像形成装置、画像形成方法およびプログラム | |
JP4250266B2 (ja) | 周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体及び周辺機器制御プログラムを送出する送出装置及び周辺機器制御プログラム製品 | |
US20110019226A1 (en) | Server, printer, and computer readable medium | |
JP5370439B2 (ja) | 装置、要求処理方法、プログラム、及び記録媒体 | |
JP2000163176A (ja) | 周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体 | |
US8810840B2 (en) | Image forming system, output management method, and program product, configured to determine type of PDL in output data | |
US8462372B2 (en) | Image processing apparatus and image processing method for storing output pattern data according to a kind of document | |
JP3880228B2 (ja) | 周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体 | |
JP3710789B2 (ja) | 複数の通信プロトコルを有する画像形成装置 | |
JP2004280264A (ja) | 周辺機器制御システム | |
JP4384023B2 (ja) | 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品 | |
JP2000163287A (ja) | 周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体 | |
US20050068559A1 (en) | Enabling a heterogeneous imaging device to operate as a homogeneous device | |
JP5884884B2 (ja) | データ処理装置、印刷システム、データ処理方法、プログラムおよび記録媒体 | |
JP3703275B2 (ja) | データ処理装置、方法及び記憶媒体 | |
JP4783140B2 (ja) | 画像処理装置、画像処理方法、プログラム及びコンピュータ読取可能な記録媒体 | |
JP6074923B2 (ja) | 情報処理装置、ネットワークシステム、動作情報取込方法及び動作情報取込プログラム | |
JP2000163356A (ja) | 周辺機器装置及びその制御方法及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |