(57)【要約】【課題】メッセージドライブジョブ処理のための方法および実施【解決手段】ジョブを管理するための方法および実施であり、この方法および実施は、クライアントシステムにおいてジョブを生成し、かつ、新しいジョブが処理キューに入力したことをジョブマネージャに通知するために、ジョブ生成指示メッセージをジョブマネージャへ送信するのを可能にする。少なくとも１つの処理メッセージが、ジョブマネージャから少なくとも１つのコンポーネントのそれぞれに送信される。本発明のもう１つの態様は、好ましくはディジタル画像装置のためのリレーショナルジョブ要求キューである。少なくとも１つの親キューデータ記憶領域が、複数の親キューレコードを記憶するために生成され、また、少なくとも１つの子キューデータ記憶領域が、複数の子キューレコードを記憶するために生成され、それぞれの子キューレコードは、親キューレコード識別子データ記憶領域を備える。
2005527910.tif 000002
【特許請求の範囲】
【請求項１】
ジョブを管理するための方法であって、
クライアントシステムにおいてジョブを生成することと、
新しいジョブが処理キューに入力したことを通知するために、ジョブ生成指示メッセージをジョブマネージャへ送信することと、
少なくとも１つの処理メッセージを前記ジョブマネージャから少なくとも１つのそれぞれのコンポーネントへ送信することと、
前記ジョブマネージャに、前記コンポーネントが与えられたジョブの処理を開始する時を通知するために、第１のジョブ状態変化メッセージを前記それぞれのコンポーネントから前記ジョブマネージャへ送信することと、
前記ジョブマネージャに、前記コンポーネントが前記与えられたジョブの処理を完了した時を通知するために、第２のジョブ状態変化メッセージを前記コンポーネントから前記ジョブマネージャへ送信すること、
を備えた方法。
【請求項２】
前記ジョブ生成メッセージおよび前記ジョブ状態変化メッセージのいずれか一方が前記ジョブマネージャによって受信されることによって、前記ジョブマネージャは、前記キュー内に存在するすべてのジョブを処理する、請求項１に記載の方法。
【請求項３】
ジョブの処理が中断された場合、「中断」メッセージが、前記コンポーネントから前記ジョブマネージャへ送信され、前記ジョブマネージャが、前記中断したことをユーザおよびシステムアドミニストレータのいずれか一方へ報告する、請求項１に記載の方法。
【請求項４】
設定可能な時間間隔（Ｔ）を備えたメッセージを受信したとき、（現在時刻（ＣＴ）−Ｔ）が、前記ジョブマネージャが「ジョブ生成」メッセージまたは「状態変化」メッセージを受信した最後の時間（ＬＴ）よりも大きければ、すなわち、（（ＣＴ−Ｔ）＞ＬＴ）であれば、前記ジョブマネージャが、前記キュー内に存在するすべてのジョブを処理する、請求項１に記載の方法。
【請求項５】
前記ジョブは、印刷ジョブであり、前記ジョブを完了するための前記それぞれのコンポーネントが、ネットワークプリンタである、請求項１に記載の方法。
【請求項６】
前記それぞれのコンポーネントは、前記キュー内に存在するジョブを処理するために、それぞれのクライアントごとに割り当てられている、請求項１に記載の方法。
【請求項７】
前記メッセージは、何らかの種類の通常のメッセージングシステムを用いて送受信される、請求項１に記載の方法。
【請求項８】
ジョブマネージャであって、
クライアントシステムにおいてジョブを生成するための実施と、
新しいジョブが処理キューに入力したことを通知するために、ジョブ生成指示メッセージを前記ジョブマネージャへ送信するための実施と、
少なくとも１つの処理メッセージを前記ジョブマネージャから少なくとも１つのそれぞれのコンポーネントへ送信するための実施と、
前記ジョブマネージャに、前記コンポーネントが与えられたジョブの処理を開始する時を通知するために、第１のジョブ状態変化メッセージを前記それぞれのコンポーネントから前記ジョブマネージャへ送信するための実施と、
前記ジョブマネージャに、前記コンポーネントが前記与えられたジョブの処理を完了する時を通知するために、第２のジョブ状態変化メッセージを前記コンポーネントから前記ジョブマネージャへ送信するための実施と、
を備えたジョブマネージャ。
【請求項９】
ジョブ生成メッセージおよびジョブ状態変化メッセージのいずれか一方を前記ジョブマネージャが受信することによって、前記ジョブマネージャが前記キュー内に存在するすべてのジョブを処理する実施をさらに備えた、請求項８に記載のジョブマネージャ。
【請求項１０】
前記ジョブの処理が中断された場合、「中断」メッセージが、前記コンポーネントから前記ジョブマネージャへ送信され、前記ジョブマネージャが、前記中断をユーザおよびシステムアドミニストレータのいずれか一方に報告する実施をさらに備えた、請求項８に記載のジョブマネージャ。
【請求項１１】
設定可能な時間間隔（Ｔ）を備えたメッセージを受信したとき、（現在時刻（ＣＴ）−Ｔ）が、前記ジョブマネージャが「ジョブ生成」メッセージまたは「状態変化」メッセージを受信した最後の時間（ＬＴ）よりも大きければ、すなわち、（（ＣＴ−Ｔ）＞ＬＴ）であれば、前記ジョブマネージャが、前記キュー内に存在するすべてのジョブを処理する実施をさらに備えた、請求項８に記載のジョブマネージャ。
【請求項１２】
前記ジョブは、印刷ジョブであり、前記ジョブを完了するための前記それぞれのコンポーネントが、ネットワークプリンタである、請求項８に記載のジョブマネージャ。
【請求項１３】
前記それぞれのコンポーネントは、前記キュー内に存在するジョブを処理するために、それぞれのクライアントごとに割り当てられている、請求項８に記載のジョブマネージャ。
【請求項１４】
メッセージを送受信するために、何らかの種類の通常のメッセージングシステムが、使用され、受信されたジョブ要求を記憶するための方法であって、
複数の親キューレコードを記憶するための少なくとも１つの親キューデータ記憶領域を生成するステップであり、それぞれのレコードが、少なくとも前記親キューデータ記憶領域内において固有の親キューレコード識別子を記憶するように構成された親キューレコード識別子データ記憶領域を備えた、ステップと、
それぞれのレコードが、少なくとも前記子キューデータ記憶領域内において固有の子キューレコード識別子を記憶するように構成された子キューレコード識別子データ記憶領域と、親キューレコード識別子データ記憶領域とを備えた、複数の子キューレコードを記憶するための少なくとも１つの子キューデータ記憶領域を生成するステップと、
複数のジョブ要求レコードを記憶するためのジョブ要求データ記憶領域を生成するステップであり、それぞれのレコードが、少なくとも前記ジョブ要求データ記憶領域内において固有のジョブ要求レコード識別子を記憶するように構成されたジョブ要求レコード識別子データ記憶領域を備えた、ステップと、
受信されたジョブ要求ごとに、前記ジョブ要求データ記憶領域内においてレコードを生成し、かつ、前記親キューデータ記憶領域および前記子キューデータ記憶領域内の少なくとも一方において関連するレコードを生成するステップと、
を備えた、請求項８に記載のジョブマネージャ。
【請求項１５】
受信されたジョブ要求を記憶するための方法であって、
複数の親キューレコードを記憶するための少なくとも１つの親キューデータ記憶領域を生成するステップであり、それぞれのレコードが、少なくとも前記親キューデータ記憶領域内において固有の親キューレコード識別子を記憶するように構成された親キューレコード識別子データ記憶領域を備えた、ステップと、
それぞれのレコードが、少なくとも前記子キューデータ記憶領域内において固有の子キューレコード識別子を記憶するように構成された子キューレコード識別子データ記憶領域と、親キューレコード識別子データ記憶領域とを備えた、複数の子キューレコードを記憶するための少なくとも１つの子キューデータ記憶領域を生成するステップと、
複数のジョブ要求レコードを記憶するためのジョブ要求データ記憶領域を生成するステップであり、それぞれのレコードが、少なくとも前記ジョブ要求データ記憶領域内において固有のジョブ要求レコード識別子を記憶するように構成されたジョブ要求レコード識別子データ記憶領域を備えた、ステップと、
受信されたジョブ要求ごとに、前記ジョブ要求データ記憶領域内においてレコードを生成し、かつ、前記親キューデータ記憶領域および前記子キューデータ記憶領域内の少なくとも一方において関連するレコードを生成するステップと、
を備えた方法。
【請求項１６】
前記親キューデータ記憶領域および前記子キューデータ記憶領域は、同一のデータ記憶領域であり、前記親キューデータ記憶領域のそれぞれのレコードである、請求項１５に記載の方法。
【請求項１７】
それぞれのジョブ要求レコードは、ジョブタイプデータ記憶領域をさらに備えた、請求項１５に記載の方法。
【請求項１８】
前記ジョブ要求データ記憶領域内においてレコードを生成するステップは、印刷ジョブ、プライベート印刷ジョブ、ファックスジョブ、スキャンジョブ、および、それらの組み合わせからなるグループから選択されたジョブタイプを表現するデータを前記ジョブタイプデータ記憶領域内に記憶するステップをさらに備えた、請求項１７に記載の方法。
【請求項１９】
それぞれのジョブ要求レコードは、ジョブ名データ記憶領域をさらに備えた、請求項１５に記載の方法。
【請求項２０】
それぞれのジョブ要求レコードは、ジョブ宛先データ記憶領域をさらに備えた、請求項１５に記載の方法。
【請求項２１】
それぞれのジョブ要求レコードは、前記ジョブがどのように提供されるかに関する情報をさらに備えた、請求項１５に記載の方法。
【請求項２２】
それぞれのジョブ要求レコードは、ジョブ優先順位データ記憶領域をさらに備えた、請求項１５に記載の方法。
【請求項２３】
前記ジョブ要求データ記憶領域内においてレコードを生成するステップは、０、１、２、３、４、５、６、７、８、９、および、１０からなるグループから選択されたデータを前記ジョブ優先順位データ記憶領域内に記憶するステップをさらに備えた、請求項２２に記載の方法。
【請求項２４】
それぞれのジョブ要求レコードは、ジョブ寿命データ記憶領域をさらに備えた、請求項１５に記載の方法。
【請求項２５】
それぞれのジョブ要求レコードは、ジョブステータスデータ記憶領域をさらに備えた、請求項１５に記載の方法。
【請求項２６】
前記ジョブ要求データ記憶領域内においてレコードを生成するステップは、スプーリング、印刷、スキャンニング、ファックス送受信、プライベート印刷、リッピング、ジョブ生成、および、それらの組み合わせからなるグループから選択されたデータを前記ジョブステータスデータ記憶領域内に記憶するステップをさらに備えた、請求項２５に記載の方法。
【請求項２７】
それぞれのジョブ要求レコードは、生成時刻データ記憶領域および完了時刻データ記憶領域をさらに備えた、請求項２６に記載の方法。
【請求項２８】
前記生成時刻データ記憶領域および前記完了時刻データ記憶領域は、日付および時刻の両方のデータを記憶するように構成された、請求項２７に記載の方法。
【請求項２９】
それぞれの親要求レコードは、ステータスデータ記憶領域をさらに備えた、請求項２８に記載の方法。
【請求項３０】
受信されたジョブ要求を記憶するためのシステムであって、
複数の親キューレコードを記憶するための少なくとも１つの親キューデータ記憶領域を生成するためのコンピュータ可読媒体上に存在するコンピュータ可読コードであり、それぞれのレコードが、少なくとも前記親キューデータ記憶領域内において固有の親キューレコード識別子を記憶するように構成された親キューレコード識別子データ記憶領域を備えた、前記コンピュータ可読コードと、
それぞれのレコードが、少なくとも前記子キューデータ記憶領域内において固有の子キューレコード識別子を記憶するように構成された子キューレコード識別子データ記憶領域と、親キューレコード識別子データ記憶領域とを備えた、複数の子キューレコードを記憶するための少なくとも１つの子キューデータ記憶領域を生成するためのコンピュータ可読媒体上に存在するコンピュータ可読コードと、
複数のジョブ要求レコードを記憶するためのジョブ要求データ記憶領域を生成するためのコンピュータ可読媒体上に存在するコンピュータ可読コードであり、それぞれのレコードが、少なくとも前記ジョブ要求データ記憶領域内において固有のジョブ要求レコード識別子を記憶するように構成されたジョブ要求レコード識別子データ記憶領域を備えた、前記コンピュータ可読コードと、
受信されたジョブ要求ごとに、前記ジョブ要求データ記憶領域内においてレコードを生成し、かつ、前記親キューデータ記憶領域および前記子キューデータ記憶領域内の少なくとも一方において関連するレコードを生成するためのコンピュータ可読媒体上に存在するコンピュータ可読コードと、
を備えたシステム。
【請求項３１】
前記親キューデータ記憶領域および前記子キューデータ記憶領域は、同一のデータ記憶領域である、請求項３０に記載のシステム。
【請求項３２】
前記ジョブ要求記憶領域、前記親キューデータ記憶領域、および、前記子キューデータ記憶領域は、リレーショナルデータベースを構成する、請求項３０に記載のシステム。
【請求項３３】
それぞれのジョブ要求レコードは、ジョブタイプデータ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項３４】
それぞれのジョブ要求レコードは、ジョブ名データ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項３５】
それぞれのジョブ要求レコードは、ジョブ宛先データ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項３６】
それぞれのジョブ要求レコードは、前記ジョブがどのように提供されるかに関する情報をさらに備えた、請求項３０に記載のシステム。
【請求項３７】
それぞれのジョブ要求レコードは、ジョブ優先順位データ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項３８】
それぞれのジョブ要求レコードは、ジョブ寿命データ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項３９】
それぞれのジョブ要求レコードは、ジョブステータスデータ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項４０】
それぞれのジョブ要求レコードは、生成時刻データ記憶領域および完了時刻データ記憶領域をさらに備えた、請求項３０に記載のシステム。
【請求項４１】
前記生成時刻データ記憶領域および前記完了時刻データ記憶領域は、日付および時刻の両方のデータを記憶するように構成された、請求項３０に記載のシステム。
【請求項４２】
クライアントサーバネットワーク環境においてジョブ要求を記憶するためのシステムであって、
データ転送ネットワークと、
前記データ転送ネットワークに通信可能に結合された少なくとも１つのクライアントと、
前記データ転送ネットワークに通信可能に結合された少なくとも１つのディジタル画像装置と、
前記少なくとも１つのクライアントから受信されたジョブ要求に関連する情報を記憶するためのジョブ要求テーブルと、ジョブ要求を編成および提供するための親キューテーブルと、ジョブ要求を編成および提供するための少なくとも１つの子キューテーブルとを備え、前記データ転送ネットワークに通信可能に結合されたサーバと、
を備え、
前記ジョブ要求テーブル、前記親キューテーブル、および、前記少なくとも１つの子キューテーブルが、リレーショナルデータベースを構成する、
システム。
【請求項４３】
前記ディジタル画像装置および前記サーバは、同一の装置である、請求項４２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ジョブ要求キューに関し、より詳細には、リレーショナル階層型ジョブ要求キューの実施に関する。
【背景技術】
【０００２】
ネットワークにおいて、キュー内に存在するジョブ、例えば、印刷ジョブを処理することは一般的なことである。ジョブは、キュー内における位置を割り当てられ、ネットワークデバイス、例えば、ネットワークプリンタが、予め定められた順序でそれぞれのジョブを処理する。例えば、ジョブが受信された順序でそれらのジョブを処理してもよい。また、優先順位に基づいてジョブを処理してもよく、高い優先順位のジョブが、優先される。
【０００３】
ネットワークにおいて、キューの操作は、いくつかの異なる方法で実施することができる。キュー内に存在するジョブを処理する１つの一般的な従来タイプの方法においては、システムは、ジョブが迅速に処理されるのを保証するために、キュー内に存在するすべてのジョブを絶えずループする。しかしながら、この方法は、処理を待っているジョブが１つもないときにも、キューを常に監視しなければならない。したがって、この手法は、キューを常に監視することによって、多くのＣＰＵ時間を浪費し、そのために、システム資源を非効率的に管理することとなる。
【０００４】
ジョブ処理の他の従来タイプの方法においては、「デーモン」プロセスを実行することができ、そのデーモンプロセスは、予め定められた時間間隔で「起動」され、キュー内に存在するあらゆる待ちジョブを処理する。この方法は、ＣＰＵにあまり負担をかけないが、デーモンプロセスが起動され、待ちジョブが提供されるまでは、ジョブが望ましくない期間にわたって、銅際しないまま（アイドル状態）であるという欠点を有する。このように、この手法は、システムの動作を管理するには非効率的なものである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した問題に加えて、クライアントサーバシステム内に存在する様々な種類のジョブ要求にサービスを提供することが根本的に必要である。最近のディジタル画像装置（「ＤＩＤ」）は、多くの場合、様々な機能を実行することができる。ＤＩＤは、プリンタ、ファックス装置、スキャナ、コピー機、多機能周辺装置（「ＭＦＰｓ」）、および、その他の類似する周辺装置のような装置等を適切に含んでいる。さらに、単一コンピュータは、多くの場合、複数の異なる種類のＤＩＤにアクセスすることができ、これは、単一コンピュータが、様々な宛先を備えている様々な種類のジョブ要求を生成することができることを意味する。ユーザからネットワークに接続された複数の種類のＤＩＤのいずれかへ送信される様々なジョブ要求を編成することが必要とされている。
【０００６】
また、クライアント−サーバ環境におけるクライアントおよびアドミニストレータの両方に、ジョブ要求キューに対する管理機能を実行する能力を提供することが必要とされている。クライアントが、ジョブがどのように処理されるべきかを指示する能力を有するならば、それは好ましいことである。また、クライアントが、ジョブ要求キュー内に存在するジョブを監視する能力を有するならば、それは好ましいことである。
【０００７】
さらに、アドミニストレータが、いくつかのキューを生成し、優先順位をそれらのキューに割り当て、親キューを子キューに関連づけ、キュー間でジョブを移動させる、などの能力を有するならば、それは好ましいことである。
【課題を解決するための手段】
【０００８】
従来タイプのアプローチの問題および欠点は、ここに開示される１つの態様において、本発明によるジョブを管理するための方法および実施によって解決され、この方法および実施は、クライアントシステムにおいてジョブを生成し、かつ、新しいジョブが処理キューに入力したことを通知するために、ジョブ生成指示メッセージをジョブマネージャへ送信するのを可能にする。少なくとも１つの処理メッセージが、ジョブマネージャから少なくとも１つのコンポーネントのそれぞれに送信される。ジョブマネージャにコンポーネントが与えられたジョブの処理を開始する時を通知するために、第１のジョブ状態変化メッセージが、それぞれのコンポーネントからジョブマネージャへ送信される。ジョブマネージャにコンポーネントが与えられたジョブの処理を完了した時を通知するために、第２のジョブ状態変化メッセージが、コンポーネントからジョブマネージャへ送信される。
【０００９】
本発明のもう１つの態様は、受信されたジョブ要求を記憶するための方法を備える。この方法は、複数の親キューレコードを記憶するための少なくとも１つの親キューデータ記憶領域を生成するステップを備え、それぞれのレコードは、少なくとも親キューデータ記憶領域内において固有の親キューレコード識別子を記憶するように構成された親キューレコード識別子データ記憶領域を備える。この方法は、さらに、複数の子キューレコードを記憶するための少なくとも１つの子キューデータ記憶領域を生成するステップを備える。それぞれの子キューレコードは、子キューレコード識別子データ記憶領域および親キューレコード識別子データ記憶領域を適切に備える。子キューレコード識別子は、好ましくは、少なくとも子キューデータ記憶領域内において固有の子キューレコード識別子を記憶するように構成される。この方法は、さらに、複数のジョブ要求レコードを記憶するためのジョブ要求データ記憶領域を生成するステップを備え、それぞれのレコードは、少なくともジョブ要求データ記憶領域内において固有のジョブ要求レコード識別子を記憶するように構成されたジョブ要求レコード識別子データ記憶領域を備える。さらに、この方法は、受信されたジョブ要求ごとに、ジョブ要求データ記憶領域内においてレコードを生成し、かつ、親キューデータ記憶領域または子キューデータ記憶領域の少なくとも一方において関連するレコードを生成するステップを備える。
【００１０】
また、本発明によれば、クライアントサーバネットワーク環境においてジョブ要求を記憶するためのリレーショナルキューシステムが、提供される。このシステムは、データ転送ネットワーク、データ転送ネットワークに通信可能に結合された少なくとも１つのクライアント、および、データ転送ネットワークに通信可能に結合された少なくとも１つのディジタル画像装置を備える。また、少なくとも１つのクライアントから受信されたジョブ要求に関連する情報を記憶するためのジョブ要求テーブル、ジョブ要求を編成および供給するための親キューテーブル、および、ジョブ要求を編成および供給するための少なくとも１つの子キューテーブルを備えたサーバが、ネットワークに通信可能に結合され、ジョブ要求テーブル、親キューテーブル、および、少なくとも１つの子キューテーブルは、リレーショナルデータベースを構成する。
【００１１】
容易に理解できるように、本発明は、その他の異なる形態で実施されてもよく、本発明のいくつかの細部は、すべてが、本発明からまったく逸脱することなく、様々な点において変更されてもよい。したがって、図面および説明は、説明のためのものであり、本発明を限定するものではない。
【発明を実施するための最良の形態】
【００１２】
本発明は、キュー内に存在するジョブに継続的にかつ適時に対応することを保証するジョブマネージャを含む。本発明の方法および実施においては、図１ａに詳細に示されるように、ジョブ（例えば、印刷ジョブ）が、クライアントシステム（図示しない）によって生成され、新しいジョブがジョブキュー１０に入力したことを通知するために、ジョブ生成指示メッセージ（図示しない）が、ジョブマネージャ１２へ送信される。そのメッセージは、従来のどのような種類のメッセージングシステムを用いて送受信されてもよい。そして、ジョブマネージャ１２は、キュー１０内に存在するジョブを処理するために、特定のクライアントごとに割り当てられた１つ以上のコンポーネント１４ａ、１４ｂ、１４ｃ、１４ｄへ処理メッセージを送信する。コンポーネント１４ａ、１４ｂ、１４ｃ、１４ｄが与えられたジョブの処理を開始する時をジョブマネージャ１２に通知するために、ジョブ状態変化メッセージが、コンポーネント１４ａ、１４ｂ、１４ｃ、１４ｄからジョブマネージャ１２へ送信される。コンポーネントが与えられたジョブの処理を完了した時をジョブマネージャに通知するために、もう１つのジョブ状態変化メッセージが、コンポーネントからジョブマネージャへ送信される。
【００１３】
ジョブマネージャ１２へのすべての「ジョブ生成」メッセージおよび「ジョブ状態変化」メッセージによって、ジョブマネージャ１２は、キュー１０内に存在するすべてのジョブを処理することになる。コンポーネント１４ａ、１４ｂ、１４ｃ、１４ｄが、それぞれ、それらのジョブを処理し続け、かつ、ジョブマネージャ１２にそれらの進行状況を通知し続けている間、キュー内に存在するジョブが、処理される。あるジョブの処理が、何らかの理由で中断された場合、例えば、プリンタが、用紙を使い果たした場合、「中断」メッセージが、コンポーネント１４ａ、１４ｂ、１４ｃ、１４ｄからジョブマネージャ１２へ送信され、そして、ジョブマネージャ１２は、中断したことをユーザまたはシステムアドミニストレータへ報告する。キュー内に存在するその他のすべてのジョブは、正常に処理される。
【００１４】
ジョブマネージャ１２とその他のコンポーネント１４ａ、１４ｂ、１４ｃ、１４ｄとの間の通信の継続性を保証するために、ジョブマネージャ１２は、設定可能な量である時間（Ｔ）に基づいて、それのプロセス内におけるスレッドからメッセージを受信する。このメッセージは、（現在時刻（ＣＴ）−Ｔ）が「ジョブ生成」メッセージまたは「状態変化」メッセージをジョブマネージャが受信した最後の時刻（ＬＴ）よりも大きい場合、ジョブマネージャ１２にキュー１０内に存在するすべてのジョブを処理させる。上述した条件は、「（（ＣＴ−Ｔ）＞ＬＴ）であれば、ジョブを処理する」と記述することもできる。
【００１５】
本発明のもう１つの態様は、好ましくは複数のオペレーティングシステムと互換性を有するリレーショナルキューを実現するための方法およびシステムを提供する。
【００１６】
図１を参照すると、本発明によるリレーショナルキューシステムの編成構造が、図示されている。システムは、少なくとも３つのデータ記憶領域、すなわち、ジョブデータ記憶領域１０２、親キューデータ記憶領域１０６、および、子キューデータ記憶領域１０８を備える。子キューデータ記憶領域は、好ましくは、少なくとも親キューデータ記憶領域に関連づけられ、これらのデータ記憶領域は、好ましくは、リレーショナル構造を形成する。現時点において好ましい実施形態においては、データ記憶領域は、リレーショナルデータベース内におけるテーブルとして実施されるが、当業者には、単層ファイル、ＸＭＬのようなマークアップファイル、または、その他の実施形態が、適切に使用されてもよいことがわかる。わかりやすいように、リレーショナルデータベースによって、システムを説明する。
【００１７】
ジョブデータ記憶領域１０２は、好ましくは、リレーショナルデータベース内におけるテーブルとして存在する。ジョブデータ記憶領域１０２は、複数のレコードを適切に備え、それぞれのレコードは、複数のデータ記憶領域を適切に備える。データベースの観点から見れば、ジョブテーブルは、複数のフィールドを有する複数のレコードを備える。ジョブデータ記憶領域１０２のレコードは、好ましくは、少なくともジョブデータ記憶領域内において固有の識別子（ＩＤ）１１０を備える。この識別子１１０は、データベース内における自動インクリメントフィールドとして適切に生成される。
【００１８】
また、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブタイプデータ記憶領域１１４を備える。ジョブタイプデータ記憶領域１１４は、好ましくは、受信されかつ記憶されたジョブ要求のタイプに関連する情報を、ジョブデータ記憶領域１０２内におけるレコードとして記憶する。ジョブタイプデータ記憶領域１１４は、好ましくは、印刷ジョブ、プライベート印刷ジョブ、ファックスジョブ、スキャンジョブ、文書管理ジョブなどからなるグループから選択されたジョブタイプを表現するデータを記憶する。
【００１９】
また、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブ名データ記憶領域１１２を備える。ジョブ名データ記憶領域１１４は、好ましくは、ジョブ要求レコードを識別する内容識別情報（ｄｅｓｃｒｉｐｔｉｖｅ  ｉｎｆｏｒｍａｔｉｏｎ）を記憶する。内容識別情報は、自動処理手順によって、または、手動操作によって、適切に生成される。
【００２０】
また、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブ宛先データ記憶領域１３８を備える。ジョブ宛先データ記憶領域１３８は、好ましくは、受信されたジョブ要求の所定の宛先を識別する内容識別情報を記憶する。この情報は、１つまたは複数のコンポーネントのうちどれがジョブ要求にサービスを提供するかを適切に識別する。図示されるように、宛先データ記憶領域１３８は、ジョブチケットデータ記憶領域１０４内に配置される。好ましくは、ジョブチケットデータ記憶領域１０４は、ジョブデータ記憶領域１０２に一対一に関連づけられる。そういうものとして、ジョブチケットデータ記憶領域１０４内に記憶された情報は、ジョブデータ記憶領域１０２内にも適切に記憶される。ジョブチケットデータ記憶領域１０４は、受信されたジョブがどのように配信（service）されるかに関連する情報を適切に備える。
【００２１】
また、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブ優先順位データ記憶領域１２０を備える。ジョブ優先順位データ記憶領域１２０は、好ましくは、ジョブ優先順位に関連する情報を記憶する。ジョブ優先順位データ記憶領域１２０は、好ましくは、０から１０までの範囲に存在する整数からなるグループから選択されたデータを記憶する。
【００２２】
さらに、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブ寿命データ記憶領域１２２を備える。ジョブ寿命データ記憶領域１２２は、好ましくは、日付時刻情報を記憶する。記憶された日付時刻情報は、ジョブが配信されなければならない期間を適切に識別する。
【００２３】
さらに、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブステータスデータ記憶領域１２４を備える。ジョブステータスデータ記憶領域１２４は、好ましくは、ステータス情報を記憶する。適切に記憶されたステータス情報は、好ましくは、スプーリング、印刷、スキャンニング、ファックス送受信、プライベート印刷、リッピング（ripping）、ジョブ生成などからなるグループから選択されたデータである。
【００２４】
さらにまた、ジョブデータ記憶領域１０２内に記憶されたレコードは、好ましくは、ジョブ生成時刻データ記憶領域１２６およびジョブ完了時刻データ記憶領域１２８を備える。これらのデータ記憶領域は、好ましくは、自動化された手段によって適切に生成された時刻情報および日付情報の両方を記憶する。
【００２５】
親キューデータ記憶領域１０６および子キューデータ記憶領域１０８のそれぞれのレコードは、好ましくは、それぞれ、識別子１４０および１５６を備え、それらの識別子１４０および１５６は、少なくともそれぞれのキューデータ記憶領域内において固有なものである。さらにまた、親キューデータ記憶領域１０６と子キューデータ記憶領域１０８とは、好ましくは、関連づけられるので、子キューデータ記憶領域のレコードは、好ましくは、親キューレコード識別子データ記憶領域１６０を備える。本発明は、単一キューデータ記憶領域において、適切に実施され、データ記憶領域内に存在するレコードは、親キューデータ記憶領域を介して、互いに関連づけられることに注意されたい。また、親キューデータ記憶領域１０６および子キューデータ記憶領域１０８内に記憶されたレコードは、好ましくは、それぞれ、タイプデータ記憶領域１４６および１６２を備える。
【００２６】
図１に示されるシステムは、複数のデータ記憶領域を列挙したものであり、それぞれが、複数のデータフィールドまたはデータ記憶領域を確保するように構成されたものであるが、本発明の範囲を逸脱することなく、さらなる情報が、データ記憶領域内に適切に含められてもよく、また、さらなるデータ記憶領域が、適切に含められてもよいことに注意されたい。
【００２７】
ここで、図２を参照すると、リレーショナルキューを生成し、受信されたジョブ要求を記憶するためのフローチャートが示される。基本的なフローは、開始ブロック２００において開始し、その開始ブロック２００からプロセスブロック２０２へ進み、そこで、ジョブ要求データ記憶領域が生成される。フローは、プロセスブロック２０４へ進み、そこで、親キューデータ記憶領域が生成される。そして、フローは、プロセスブロック２０６へ進み、そこで、子キューデータ記憶領域が生成される。新しく生成された子キューデータ記憶領域は、好ましくは、プロセスブロック２０４において生成された親キューデータ記憶領域に関連づけられている。
【００２８】
フローは、プロセスブロック２０８へ進み、そこで、入力ジョブ要求が受信され、その後に、フローは、プロセスブロック２１０へ進む。プロセスブロック２１０において、新しいレコードが、プロセスブロック２０２において生成されたジョブ要求データ記憶領域内において適切に生成される。そして、フローは、プロセスブロック２１２へ進み、そこで、新しいレコードが、プロセスブロック２０４および２０６においてそれぞれ生成された親キューまたは子キューの少なくとも一方において生成される。そして、フローは、終了ブロック２１４へ進み、そこで、プロセスは終了する。
【００２９】
ここで、図３を参照すると、本発明によるネットワーク環境におけるリレーショナルキューを説明するシステム構成図が示されている。システムは、好ましい実施形態が提供されるＬＡＮまたはＷＡＮのような環境を説明するデータ転送ネットワーク３００を備える。ネットワーク３００は、適切なものであれば、どのようなネットワークであってもよく、また、当業者には明らかなように、イーサネット、トークンリング（商標）、８０２．１１（ｂ）、または、その他の有線または無線データ通信手段のような多くの一般的なデータ転送手段によって例示されるような物理層およびトランスポート層を適切に備える。データ転送ネットワーク３００には、クライアント３０２およびサーバ３１０が接続されている。現時点において好ましい実施形態においては、サーバ３１０はＤＩＤであるが、当業者には、選択問い合わせサポート、選択データアクセス、データアーカイビングなどを提供するどのようなサーバであってもよいことがわかるはずである。
【００３０】
データ転送システム３００とデータ通信できる状態で、代表的なクライアント３０２のような１つ以上のクライアントが、同様に配置され、あるいは、選択的に配置される。当業者には明らかなように、クライアント３０２は、好ましくは、サーバ３１０と対話形式で通信するように構成されている。クライアント３０２は、適切なものであれば、シッククライアントまたはシンクライアント、１つまたは複数の付加的なサーバ、個人用携帯型情報端末（「ＰＤＡ」）、または、データを送受信するためにサーバ３１０と対話形式で通信することのできるどのような装置であってもよいことに注意されたい。したがって、サーバ３１０と代表的なクライアント３０２のような１つ以上のクライアントとの間のデータ経路は、データ通信を共有する。クライアント３０２は、好ましくは、ネットワークインタフェース３０８を介して、データ転送ネットワーク３００とデータ通信ができる。クライアント３０２は、好ましくは、記憶装置を備え、当業者には明らかなように、その記憶装置は、好ましくは、ハードディスクおよびランダムアクセスメモリ（「ＲＡＭ」）である。記憶装置に記憶されるものは、好ましくは、クライアント３０２を制御するためのオペレーティングシステム３０６である。オペレーティングシステム３０６は、例えば、Ｗｉｎｄｏｗｓ（ＸＰ、２０００，ＮＴ、９ｘなど）、Ｍａｃｉｎｔｏｓｈ、Ｕｎｉｘ、Ｌｉｎｕｘなど、適切なものであれば、どのようなオペレーティングシステムであってもよい。
【００３１】
当業者には明らかなように、サーバ３１０は、選択問い合わせサポート、選択データアクセス、データアーカイビングなどを提供する適切なものであれば、どのようなサーバであってもよいが、好ましくはＤＩＤである。サーバ３１０がＤＩＤでない場合、好ましくは、データ転送ネットワーク３００に同様に接続されたＤＩＤが存在することに注意されたい。ＤＩＤ３１０は、好ましくは、ネットワークインタフェース３１４を介して、データ転送システム３００とデータ通信ができる。したがって、ＤＩＤ３１０によって示されるような１つ以上のＤＩＤとクライアント３０２によって示されるような少なくとも１つのコンピュータとの間のデータ経路は、データ通信を共有する。
【００３２】
当業者には明らかなように、ＤＩＤ３１０は、適切なものであれば、どのようなネットワーク化されたＤＩＤであってもよい。当業者には明らかなように、ＤＩＤ３１０は、好ましくは、ＤＩＤ３１０の適切な動作を保証するのに必要なハードウェアおよびソフトウェアを備えた、完全な機能を有するサーバとして適切に動作する、内部デバイスコントローラ３１２を有する。さらに、ＤＩＤ３１０は、好ましくは内部記憶装置３１６を備え、当業者には明らかなように、その内部記憶装置３１６は、好ましくは、ハードディスクおよびランダムアクセスメモリ（「ＲＡＭ」）であり、また、適切なものであれば、光学記憶装置、着脱可能メモリ、フラッシュメモリ、または、その他の何らかの書き換え可能記憶装置であってもよい。好ましくは、リレーショナルキュー３１８および少なくとも１つのソフトウェアモジュールまたはソフトウェアコンポーネント３２０が、記憶装置３１６に記憶される。
【００３３】
当業者には明らかなように、リレーショナルキューは、好ましくは、図１に示されるように、リレーショナルデータベースであるが、ＸＭＬのような文書に基づいたマークアップ言語として、または、単層ファイルまたはその他の検索可能なファイルとして適切に実施されてもよい。ソフトウェアコンポーネント（「ＳＣ」）３２０は、適切には、何らかの言語で記述されかつ記憶装置３１６のようなコンピュータ可読媒体に記憶されたコンピュータ可読コードである。ＳＣ３２０は、好ましくは、インタフェースを定義するコンパイルされた予め記述されたコードであり、ＳＣ３２０によってカプセル化される機能を提供するために呼び出すことができる。ＳＣは、典型的には、「業界標準」の形でパッケージ化され、それによってＳＣは、複数の言語から、または、複数の環境から呼び出すことができる。コンピュータ可読コードは、ＳＣの場合、適切には、永続的状態を持たない独立配置のユニットである。そのようなものとして、コンピュータ可読コードは、Ｆｏｒｔｅ  ｆｏｒ  Ｊａｖａ、または、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｓｔｕｄｉｏのような既存の開発ツールによって、シームレスインテグレーション（seamless integration）を提供する。ＳＣは、自由な発想で適切に使用され、あるいは、必要であれば、開発者によって、拡張および特殊化される。当業者には明らかなように、本発明のＳＣは、例えば、Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ（「ＣＯＲＢＡ」）、ＮＥＴ、ＣＯＭ、ＤＣＯＭ、Ｃ＋＋、ＡｃｔｉｖｅＸ、などのあらゆる言語統合（binding）のために適切に設計されることに注意されたい。現時点において好ましい実施形態においては、ＳＣ３２０は、複数の言語から、または、複数の環境またはオペレーティングシステムから呼び出すことのできるＣ＋＋によるＳＣである。
【００３４】
本発明の現時点において好ましい実施形態において、ジョブ要求は、好ましくは、クライアント３０２からデータ転送ネットワーク３００を介してＤＩＤ３１０へ送信される。例えば、クライアント３０２のユーザは、プリンタドライバのようなＤＩＤドライバを使用することによって、ネットワークインタフェース３０８を経由し、データ転送ネットワーク３００を介して、印刷ジョブ要求を送信する。さらに、印刷ジョブ要求は、好ましくは、文書処理プログラムまたは自動化プログラムのようなソフトウェアプログラム３０４によって、あるいは、データ転送ネットワーク３００に接続されたその他の何らかのコンピュータまたはユーザによって、送信される。
【００３５】
好ましくは、印刷ジョブ要求は、ＤＩＤ３１０の記憶装置３１６に記憶された好ましくはＳＣ３２０によって受信される。少なくとも１つのＳＣ３２０は、適切には、図２に説明された機能を実行する。ＳＣ３２０は、好ましくは、少なくとも以下のシステム機能を提供する。
【００３６】
−  ジョブを生成、削除、休止、再開する。
【００３７】
−  キュー間でジョブを移動させる。
【００３８】
−  キュー内におけるジョブを格上げおよび格下げする。
【００３９】
−  ジョブへ優先順位を割り当てる。
【００４０】
−  ジョブの優先順位に基づいてジョブを処理する。
【００４１】
−  所定の基準によってすべてのジョブを検索する。
【００４２】
−  キューを生成、削除、複製、休止、再開する。
【００４３】
−  キューへ優先順位を割り当てる。
【００４４】
−  キューの優先順位に基づいてキューを処理する。
【００４５】
−  様々なジョブタイプに対する設定可能な実行パス（ジョブチケット）を生成する。
【００４６】
さらに、少なくとも１つのＳＣ３２０は、好ましくは、様々なタイプを有する予め定義された親キューおよび子キューを選択する機能を提供する。好ましくは、そのような機能は、システムアドミニストレータに限定される。具体的には、ＳＣ３２０は、好ましくは、システムアドミニストレータに少なくとも以下の機能を提供する。
【００４７】
−  カスタムキューを生成する。ここで、それぞれのキューは、個々のキューデータ記憶領域を有する。
【００４８】
−  キューへ優先順位を割り当てる。
【００４９】
−  親キューを子キューに関連づける。現時点において好ましい実施形態においては、アドミニストレータが、継承された特性を新しい特性に書き換えることを選択しない限り、子キューは、それらの親のすべての特徴を継承する。
【００５０】
−  キュー間でジョブを移動させる。
【００５１】
−  キュー内におけるジョブを格上げおよび格下げする。
【００５２】
−  キューからジョブを削除する。
【００５３】
−  キューを休止および再開する。
【００５４】
−  予め定義されたキューまたはカスタムキューを複製する。
【００５５】
同様に、ＳＣ３２０は、好ましくは、ユーザ（クライアント３０２）に少なくとも以下の機能を提供する。
【００５６】
−  ジョブが登録されたかもしれない有効なキューを閲覧する。
【００５７】
−  ユーザのジョブをどのように処理すべきかを記述するジョブのためのジョブチケットを生成する。現時点において好ましい実施形態においては、クライアントが、ジョブチケットを提供しなければ、システムが、デフォルトジョブチケット（default job ticket）を提供する。
【００５８】
−  ジョブの進捗状況を監視する。
【００５９】
−  クライアントが生成したジョブをキューから削除する。
【００６０】
−  クライアントが生成したキュー内に存在するジョブを休止および再開する。
【００６１】
好ましい実施形態を詳細に説明したが、添付の特許請求の範囲に記載された本発明の意図するものおよび範囲を逸脱することなく、様々な変更、置換、および変形を、この実施形態に施すことができることを理解すべきである。当業者は、添付の特許請求の範囲に記載される本発明の原理および範囲内において、本発明の性質を説明するためにここで説明および図示された構成要素の細かな点、材料、および配置に、様々な変更を施すことができることは明らかである。
【図面の簡単な説明】
【００６２】
【図１ａ】本発明によるジョブマネージャのプロセスフローを示すブロック図である。
【図１ｂ】本発明によるリレーショナルキューシステムの編成構造を示す図である。
【図２】リレーショナルキューを生成し、かつ、受信されたジョブ要求を記憶するための本発明による方法を概略的に説明するフローチャートである。
【図３】ネットワーク環境における本発明を説明する図である。
【図１ａ】
2005527910.tif 000003
【図１ｂ】
2005527910.tif 000004
【図２】
2005527910.tif 000005
【図３】
2005527910.tif 000006
【国際調査報告】
2005527910.tif 000007