(57)【特許請求の範囲】
【請求項１】
永続的属性及び非永続的属性を記憶するプリント管理システムにおいて、
永続的属性を記憶するデータベースシステムと、非永続的属性を記憶する仮想メモリとを備え、
データベースシステムは、
プリント管理システムの要素から属性に関するリクエストを取得したときに、その属性が仮想メモリに記憶されているか否かを判定する手段と、
属性値の仮想メモリへの設定または属性値の仮想メモリからの読み出しを実行するコールバック関数を、その属性が仮想メモリに記憶されている場合にリクエストに応じて実行する手段と、
を備え、
コールバック関数は、
属性値を仮想メモリに設定するセット関数、仮想メモリの設定内容から属性値を検索するゲット関数、セット関数によって設定された属性値をセット関数による処理前の値に戻すロールバック関数、指定されたオブジェクトインスタンスに応じた属性値が仮想メモリに設定されているか否かを判定するイズプリゼント関数、およびオブジェクトインスタンスについての属性値を仮想メモリから除去するデリート関数、
を含むことを特徴とするプリント管理システム。
【請求項２】
請求項１に記載のプリント管理システムにおいて、
データベースシステムに接続されるサーバと、
サーバに接続される出力デバイスと、
を備え、
非永続的属性は、
出力デバイスの処理におけるプリントジョブの位置を計算するための属性を含むことを特徴とするプリント管理システム。
【請求項３】
永続的属性及び非永続的属性を記憶するプリント管理方法において、
永続的属性をデータベースシステムに記憶し、
非永続的属性を仮想メモリに記憶し、
データベースシステムおよび仮想メモリを備えるプリント管理システムから、属性に関するリクエストを受信し、
その属性が仮想メモリに記憶されているか否かを判定し、
属性値の仮想メモリへの設定または属性値の仮想メモリからの読み出しを実行するコールバック関数を、その属性が仮想メモリに記憶されている場合にリクエストに応じて実行し、
コールバック関数は、
属性値を仮想メモリに設定するセット関数、仮想メモリの設定内容から属性値を検索するゲット関数、セット関数によって設定された属性値をセット関数による処理前の値に戻すロールバック関数、指定されたオブジェクトインスタンスに応じた属性値が仮想メモリに設定されているか否かを判定するイズプリゼント関数、およびオブジェクトインスタンスについての属性値を仮想メモリから除去するデリート関数、
を含むことを特徴とするプリント管理方法。
【請求項４】
請求項３に記載のプリント管理方法において、
プリント管理システムは、
データベースシステムに接続されるサーバと、
サーバに接続される出力デバイスと、
を備え、
非永続的属性は、
出力デバイスの処理におけるプリントジョブの位置を計算するための属性を含むことを特徴とするプリント管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリント管理システム(print management system)における属性の取扱及び記憶に関し、特に、永続的属性(persistent attribute)及び非永続的属性(non-persistent attribute)の個別記憶に関する。
【０００２】
【従来の技術】
プリント管理システムは、リモートから様々なプリンタを制御しまたプリンタにアクセスする方法や、その他の関連情報をリモートから管理する方法を、提供している。しかし、現行システムでは、これらの機能が利用できる範囲は、予め定義されているシステム属性の固定な組合せにより、限定を受けている。
【０００３】
属性とは、プリント管理システムを構成するエンティティ群を記述するデータの集まりである。言い換えると、属性は、プリント管理システムの抽象エンティティ乃至抽象オブジェクトを定義し又はこれを特徴付けている。例えば、プレックス（plex）、マージン、方向等のドキュメント属性は、印刷物の外見を記述している。プリンタ属性例えばメディアレディ（media-ready）、フォントレディ（fonts-ready）等は、プリンタが使用可能なリソース又はフィーチャを記述している。その他のプリンタ属性は、各種の印刷フィーチャ例えば高品質ドキュメントを得るためユーザが使用する印刷フィーチャを記述し、また、プリンタステータスやロケーション等のステータス情報又はコンフィギュレーション情報を記述する。これらの属性に加えて、エンドユーザ、オペレータ及び管理者の業務を支援する一組の属性がある。まとめると、属性とは、プリンタ管理システムのオブジェクト群を記述する一組のデータである。
【０００４】
属性には３つの基本要素がある。オブジェクト識別子(object identifier（ＯＩＤ））、シンタックス及び値である。ＯＩＤは、世界的にみてユニークになるよう属性を識別する識別子であり、どのプリンティングシステムにも理解されるようコード化されている。ＯＩＤはツリーフォーマットに従い、次のように割り当てられる。まず、各プリンタベンダー又は標準化組織を、このツリーのブランチに割り当てられるよう、ツリーをデザインする。次に、各組織は、このブランチを更にのばして、ユニークなＯＩＤを割り当てる。
【０００５】
例えば、ドキュメントプリンティングアプリケーション（Document Printing Applications（ＤＰＡ））についてのISO10175スタンダードでは、“job-owner”のＯＩＤは、1.0.10175.1.3.1.3である。サーバは、“job-owner”属性を受けると、例えば、ＯＩＤを使用したプリントジョブの完了の際、この属性を記憶し又はアカウントログにこの情報を送る。従って、サードパーティベンダーにより書かれたアカウントプログラムは、ＯＩＤにより、アカウントログの中の情報を容易に解釈できる。
【０００６】
属性のシンタックスは、属性値が表現されるフォーマットである。例えば、“job-owner”属性のシンタックスは、“distinguishedNameString”である。これは、コンピュータ又はプリンティングシステムが理解するコード化された言語の例である。
【０００７】
属性値は、属性の瞬時値である。例えば、“job-owner”の値は、“John Jones”すなわちプリントジョブが属する人の名前である。
【０００８】
図１はプリント管理システム１００の図であり、クライアント１３０、サーバ１１０及び出力デバイス１４０の相互作用を示している。出力デバイス１４０は例えばプリンタである。クライアント１３０はユーザとプリント管理システムとの間のインタフェースである。サーバ１１０は、複数のクライアント１３０からプリントリクエストを受信し、プリントリクエストに基づきプリントジョブをスケジュールし、そして出力デバイス１４０にプリントジョブを送信する。
【０００９】
例えば、ユーザがドキュメント、プリンタその他の属性を選択しプリントジョブをサブミットすると、クライアント１３０は、これらのデータをまとめてサーバ１１０に送る。サーバ１１０はこのデータを読み、プリントデータメモリにドキュメントデータを記憶し、抽象エンティティである１個のジョブオブジェクトを生成する。ジョブオブジェクトは、クライアント１３０からのデータパッケージ中で特定されている属性を含んでおり、サーバ１１０はこれをオブジェクトデータベースシステム１２０に記憶する。出力デバイス１４０が新しいジョブを印刷できるようになったとき、サーバ１１０は、プリントデータメモリからドキュメントデータを検索し、出力デバイス１４０にそのドキュメントデータを送る。サーバ１１０は、また、オブジェクトデータベースシステム１２０からジョブオブジェクト属性群を検索し、これらの属性にもとづき、出力デバイス１４０にプリントコントロール信号を送る。
【００１０】
多くのオブジェクトベースプログラムは、システム再起動時にも維持されるよう、属性を永続的に記憶する（すなわちメモリに常駐させておき継続的に読みだし及び更新される）。図２に示すように、しばしば、この永続性を保つためにオブジェクトデータベースシステム１２０が使用される。
【００１１】
【発明が解決しようとする課題】
しかしながら、永続的に記憶する必要のない多くの属性がある。例えば、再起動時リセットされる属性や、動的に計算されるものである。これらの非永続的な属性をオブジェクトデータベースシステム１２０に記憶させると、必要な入出力トランザクションの数が増大し、ディスク空間の使用量が増大し、システムパフォーマンスが低下する。
【００１２】
【課題を解決するための手段】
本発明は、プリント管理システムにおいて、非永続的な属性を永続的な属性から分離して記憶する方法及び装置を提供する。本発明は、永続的属性及び非永続的属性を記憶するプリント管理システムにおいて、永続的属性を記憶するデータベースシステムと、非永続的属性を記憶する仮想メモリとを備え、データベースシステムは、プリント管理システムの要素から属性に関するリクエストを取得したときに、その属性が仮想メモリに記憶されているか否かを判定する手段と、属性値の仮想メモリへの設定または属性値の仮想メモリからの読み出しを実行するコールバック関数を、その属性が仮想メモリに記憶されている場合にリクエストに応じて実行する手段と、を備え、コールバック関数は、属性値を仮想メモリに設定するセット関数、仮想メモリの設定内容から属性値を検索するゲット関数、セット関数によって設定された属性値をセット関数による処理前の値に戻すロールバック関数、指定されたオブジェクトインスタンスに応じた属性値が仮想メモリに設定されているか否かを判定するイズプリゼント関数、およびオブジェクトインスタンスについての属性値を仮想メモリから除去するデリート関数、を含むことを特徴とする。また、本発明に係るプリント管理システムにおいては、データベースシステムに接続されるサーバと、サーバに接続される出力デバイスと、を備え、非永続的属性は、出力デバイスの処理におけるプリントジョブの位置を計算するための属性を含むことが好適である。また、本発明は、永続的属性及び非永続的属性を記憶するプリント管理方法において、永続的属性をデータベースシステムに記憶し、非永続的属性を仮想メモリに記憶し、データベースシステムおよび仮想メモリを備えるプリント管理システムから、属性に関するリクエストを受信し、その属性が仮想メモリに記憶されているか否かを判定し、属性値の仮想メモリへの設定または属性値の仮想メモリからの読み出しを実行するコールバック関数を、その属性が仮想メモリに記憶されている場合にリクエストに応じて実行し、コールバック関数は、属性値を仮想メモリに設定するセット関数、仮想メモリの設定内容から属性値を検索するゲット関数、セット関数によって設定された属性値をセット関数による処理前の値に戻すロールバック関数、指定されたオブジェクトインスタンスに応じた属性値が仮想メモリに設定されているか否かを判定するイズプリゼント関数、およびオブジェクトインスタンスについての属性値を仮想メモリから除去するデリート関数、を含むことを特徴とする。また、本発明に係るプリント管理方法においては、プリント管理システムは、データベースシステムに接続されるサーバと、サーバに接続される出力デバイスと、を備え、非永続的属性は、出力デバイスの処理におけるプリントジョブの位置を計算するための属性を含むことが好適である。
【００１３】
【発明の実施の形態】
以下の実施形態においては、プリンティングシステムで属性を非永続的に記憶する例を示すが、プリンティングシステムへの適用は本発明の実施形態の一例に過ぎない。非永続的属性を分離して記憶する方法は、各種のオブジェクト指向システムに適用することができる。
【００１４】
図３に示すサーバシステムは、サーバ１１０、オブジェクトデータベースシステム１２０及び仮想メモリ３３０間で相互作用するシステムである。オブジェクトデータベースシステム１２０は、周知のメモリデバイス、データプロセッサ、データベース管理プログラム（例えばOracle（商品名））等、様々なものが含まれている。オブジェクトデータベースシステム１２０は、サーバ１１０からの要求に応じ、ディスクから属性を読み出し又はディスクに属性を書き込む。オブジェクトデータベースシステム１２０は、永続的な属性と非永続的な属性の双方についてこの機能を実行する。しかしながら、非永続的属性は、仮想メモリ３３０に記憶される。
【００１５】
オブジェクトデータベースシステム１２０及び仮想メモリ３３０は、サーバ１１０とは別体のユニットとして示されているが、サーバ１１０の内部記憶装置内又は外部記憶装置内に設けることもできる。外部記憶装置に含める場合は、サーバシステム２００が分散型であっても、オブジェクトデータベースシステム１２０及び仮想メモリ３３０は集中させたほうがよい。しかしながら、議論を平易にするため、サーバの内部にあるのか外部にあるか、また分散されているか集中されているかの如何に関わらず、以下の説明においては、オブジェクトデータベースシステム１２０及び仮想メモリ３３０と称する。
【００１６】
属性についてリクエストが発せられると、オブジェクトデータベースシステム１２０は、リクエストされた属性を仮想メモリ３３０上から探索する。仮想メモリ３３０上に属性が見つかると、オブジェクトデータベースシステム１２０は、特定のコールバック関数を呼び出す。
【００１７】
図４に示すように、仮想メモリ３３０には、２種類の非永続的属性、すなわちリセット属性４１０と算出属性４２０とが記憶されうる。そのうちリセット属性４１０は、システム再起動中にリセットされる属性である。例えばその一種である“ステート”属性は、システム動作の進行中は規則的に変更され、システム再起動時には初期値にリセットされる。
【００１８】
算出属性４２０は、システム再起動中及び／又は実行時に他の属性群から算出乃至導出される。算出属性４２０の例は、プリントキューにおけるプリントジョブの位置である。算出属性４２０も仮想メモリ３３０に記憶される種類のものではなく、適当なコールバック関数を用いて計算される種類のものである。
【００１９】
例えば、プリントキューにおけるプリントジョブの位置の値は、キューの中の高位のジョブが処理されるにつれ、また、キューの中の低位のジョブが高位に進められ又は優先度が変更されるにつれ、頻繁に変化する属性である。多数例えば１０００個のジョブが含まれているキューにおいては、オブジェクトデータベースシステム１２０には、各ジョブのキュー位置属性を通信を介し更新すること、特に、処理に伴いキューからジョブが除去される都度又は進行若しくは優先度修正に伴いキュー内でのジョブ位置が変更される都度更新することは、困難である。例えば、あるプリントジョブが完了すると、位置１０にある他のプリントジョブは位置９等に移動する。もし他の人がプリントキュー内で位置９より高優先度のプリントジョブを生成すると、位置９にあるプリントジョブは位置１０に再配置される。このように、プリントジョブの位置は１秒間に何回も変更されるかもしれない。
【００２０】
しかしながら、システム再起動時におけるキュー内でのプリントジョブの位置は、その優先度及びサブミッション時刻から計算できるので、プリントキュー内位置属性を永続的に保持する必要はない。こういった非永続的属性は、仮想メモリ３３０に記憶してもよい。そうすれば、オブジェクトデータベースシステム１２０は仮想メモリ３３０にアクセスすることによって、プリントジョブ属性をその優先度及びサブミッション時刻から容易に計算できる。従って、属性を永続的に保持することなくまたオブジェクトデータベースシステム１２０に過剰な負荷をかけることなく、要求元にプリントキュー位置を提供できる。
【００２１】
オブジェクト実行に際し非永続的属性機能を提供するため、オブジェクトデータベースシステム１２０は、属性を非永続的なものとして登録することを許容する必要がある。属性を非永続的なものとして登録するオブジェクト実行は、オブジェクトデータベースシステム１２０により使用される一組のコールバック関数を実行することにより行う。これらのコールバック関数は、セット関数（SetFunction）、ゲット関数（GetFunction）、ロールバック関数（RollbackFunction）、イズプリゼント関数（IsPresentFunction）及びデリート関数（DeleteFunction）である。
【００２２】
セット関数は、属性値をセットするときコールされる。この関数の実行により、仮想メモリ３３０に値が記憶される。仮想メモリ３３０は、オブジェクトインスタンス（現在状態）に従い属性値を保持する必要がある。トランザクションを実行する際問題があるのなら、以前の属性値も保持する必要がある。属性が全くセットされることなく常に計算される種類のもの例えばキュー位置属性である場合においては、この関数の実行は、単に省略される。プリントキュー位置の値は全くセットされないので、リクエストがあれば、ゲット関数が使用され計算される。
【００２３】
ゲット関数は、属性値を検索するときコールされる。この関数は、仮想メモリに記憶される特定オブジェクトのインスタンスに対する値にアクセスするか、走行中に値を計算するかのいずれかを適当に行なう機能を実行する。
【００２４】
属性に対するセット関数がコールされた後、トランザクションの実行に問題が発生すると、ロールバック関数がコールされる。この関数は、実行前の値を現在値としてリストアし、先行のセット関数コールを無効する機能を実行する。
【００２５】
イズプリゼント関数は、属性が、指定されたオブジェクトインスタンスを持つか否かを判定するためにコールされる。プリント管理システムは、オブジェクト属性が値を持たないことを許容している。この関数は、単純に、属性が指定されたオブジェクトインスタンスに対する値を仮想メモリ３３０上に持つのであれば“True”、持たないのであれば“False”を返す。
【００２６】
デリート関数は、オブジェクトインスタンスについての属性値を仮想メモリ３３０から除去するためにコールされる。
【００２７】
オブジェクトデータベースシステム１２０は、すべての属性が永続的に記憶されているかのような錯覚を与える。これは、全ての属性が同じメソッドに従い記憶されまた検索されることによる。しかしながら、オブジェクトデータベースシステム１２０の実行においては、オブジェクト実行の登録に基づき、永続的属性と非永続的属性とを区別している。上述のように５種類の単純な関数を用いることで、膨大な量の不必要なディスク入出力を軽減することができる。
【００２８】
図５は、オブジェクトデータベースシステム１２０にて実行されるフローチャートである。ステップＳ５１０において実行が開始されると制御はステップＳ５２０に移行する。ステップＳ５２０では、オブジェクトデータベースシステム１２０は、属性をゲット又はセットする旨のリクエストを受け取る。次に、ステップＳ５３０において、オブジェクトデータベースシステム１２０は、リクエストされた属性が非永続的なものとして登録されているか否かを判定する。リクエストされた属性が非永続的なものであれば、制御はステップＳ５５０に移行する。非永続的なものでなければ、制御はステップＳ５４０に進む。ステップＳ５５０において、オブジェクトデータベースシステム１２０は、ゲットコールバック関数又はセットコールバック関数を呼び出す。次に、制御は、ステップＳ５６０に進み終了する。
【００２９】
オブジェクトデータベースシステム１２０が、ステップＳ５３０においてリクエストされた属性が非永続的なものとして登録されていないと判定すると、ステップＳ５４０において入出力（Ｉ／Ｏ）機能が実行される。次に、制御は、ステップＳ５６０に進み終了する。
【００３０】
図５に示すように、また、上述の例において概説したように、別個の仮想メモリ３３０による非永続的属性の実行は、プログラム式の汎用コンピュータ上で好適に行なわれる。しかし、非永続的属性の実行を、専用コンピュータ、プログラム式のマイクロプロセッサ又はマイクロコントローラと周辺集積回路素子、プログラム式のマイクロプロセッサ又はマイクロコントローラとＡＳＩＣその他の集積回路、ハードワイヤード電子又は論理回路例えばディスクリート素子回路、プログラム可能な論理デバイス例えばＰＬＤ、ＰＬＡ、ＦＧＰＡ、ＰＡＬ、或いはこれらと同等のものにより行うこともできる。一般に、上述の例に係る図５に示したフローチャートを実行できるデバイス即ち有限状態機械は、非永続的属性の実行に使用できる。
【図面の簡単な説明】
【図１】  プリント管理システムにおける従来のドキュメントデータ及び属性データフローを示す図である。
【図２】  従来におけるオブジェクトデータベースシステム・サーバシステム間の属性データフローを示す図である。
【図３】  仮想メモリを用いた属性データフローを示す図である。
【図４】  仮想メモリを示す図である。
【図５】  オブジェクトデータベースシステムの使用例を示すフローチャートである。
【符号の説明】
１００  プリント管理システム、１１０  サーバ、１２０  オブジェクトデータベースシステム、１３０  クライアント、１４０  出力デバイス、２００  サーバシステム、３３０  仮想メモリ、４１０  リセット属性、４２０  算出属性。
【図１】
0004303828.tif 000002
【図２】
0004303828.tif 000003
【図３】
0004303828.tif 000004
【図４】
0004303828.tif 000005
【図５】
0004303828.tif 000006