(57)【要約】【課題】  時間を要する文書ファイルの登録や検索等のジョブを実行した後に返される結果を待つことなく、他のジョブを処理できるシステム、方法、プログラムおよび記録媒体を提供する。【解決手段】  本発明のジョブ処理システム２０は、システム負荷を監視するシステム負荷監視部２１と、システム負荷に関する閾値を記憶する閾値記憶部２２と、ユーザからのジョブ内容を含む処理要求に応答して、負荷情報を取得し、閾値を読み出し、負荷情報が閾値を超えるか否かを判定する判定部２３と、閾値を超えるとの判定に応答して、処理要求を処理要求記憶部２５に記憶し、受付メッセージをユーザに送信するジョブ管理部２４と、閾値を超えないとの判定に応答して、処理要求をジョブ内容に基づいて処理し、処理結果をユーザに送信するジョブ処理部２７とを含む。ジョブ管理部２４は、処理要求をジョブ処理部２７に発行して非同期処理させ、ユーザに処理結果を送信する。【選択図】  図２
2007299308.tif 000002
【特許請求の範囲】
【請求項１】
システム負荷に応じてジョブを処理するジョブ処理システムであって、
前記システム負荷を監視するシステム負荷監視部と、
前記システム負荷に関する閾値を記憶する閾値記憶部と、
ユーザからのジョブ内容を含む処理要求の受信に応答して、前記システム負荷監視部から負荷情報を取得し、前記閾値記憶部から前記閾値を読み出し、前記負荷情報が前記閾値を超えるか否かを判定する判定部と、
前記閾値を超えるとの判定に応答して、前記処理要求を保持し、前記処理要求を受け付けたことを示す受付メッセージを前記ユーザに対して送信するジョブ管理部と、
前記閾値を超えないとの判定に応答して、前記処理要求を前記ジョブ内容に基づいて処理し、処理結果を前記ユーザに対して送信するジョブ処理部とを含み、
前記ジョブ管理部は、保持した前記処理要求を前記ジョブ処理部に発行して前記ジョブ処理部に非同期処理させ、前記ジョブ処理部から前記処理結果を受け取り、前記ユーザに対して前記処理結果を送信する、ジョブ処理システム。
【請求項２】
前記処理要求にはジョブ処理の優先度情報が含まれており、前記ジョブ管理部は、記憶した複数の前記処理要求を前記優先度情報に基づいて前記ジョブ処理部に発行する、請求項１に記載のジョブ処理システム。
【請求項３】
前記ジョブ管理部は、前記ジョブ内容に基づき予め設定された優先度を記憶する優先度記憶部を備え、記憶した複数の前記処理要求を前記優先度に基づいて前記ジョブ処理部に発行する、請求項１または２に記載のジョブ処理システム。
【請求項４】
前記ジョブ管理部は、前記処理要求に含まれる前記ジョブ内容に基づき優先度を決定する優先度決定部を備え、前記優先度決定部は、記憶した複数の前記処理要求の各々に対して前記優先度を決定し、前記複数の処理要求を前記優先度に基づいて前記ジョブ処理部に発行する、請求項１または２に記載のジョブ処理システム。
【請求項５】
前記ジョブ管理部は、ユーザ毎に、前記ジョブ内容に基づき予め設定された優先度を記憶する優先度記憶部と、前記処理要求に含まれるユーザ識別情報からユーザを特定し、前記優先度記憶部に記憶される前記ユーザに関連付けられた前記優先度に基づき、前記ジョブの優先度を決定する優先度決定部とを含む、請求項１または２に記載のジョブ処理システム。
【請求項６】
前記ジョブ管理部は、各ユーザが入力した優先度を、ユーザ毎に記憶する優先度記憶部と、前記処理要求に含まれるユーザ識別情報からユーザを特定し、前記優先度記憶部に記憶される前記ユーザに関連付けられた前記優先度に基づき、ジョブの優先度を決定する優先度決定部とを含む、請求項１または２に記載のジョブ処理システム。
【請求項７】
前記システムの管理者による優先度の変更の入力に応答して、前記優先度記憶部に記憶された優先度を変更する優先度変更部をさらに含む、請求項６に記載のジョブ処理システム。
【請求項８】
前記処理要求は、文書検索要求、文書登録要求、文書の画像変換要求であり、前記ジョブ内容は、文書検索、文書登録、文書の画像変換である、請求項１〜７のいずれか１項に記載のジョブ処理システム。
【請求項９】
前記ジョブ処理システムは、プリンタ、ファックス装置、コピー装置、スキャナ装置、これらを機能として備えるデジタル複合機に実装される、請求項１〜８のいずれか１項に記載のジョブ処理システム。
【請求項１０】
システム負荷に応じてジョブを処理するジョブ処理方法であって、前記システムは、システム負荷監視部が前記システムの負荷情報を監視し、閾値記憶部が前記システムの負荷情報の閾値を記憶しており、
ユーザからのジョブ内容を含む処理要求の受信に応答して、前記システムが備える判定部が、前記システム負荷監視部から前記負荷情報を取得し、前記閾値記憶部から前記閾値を読み出し、前記負荷情報が前記閾値を超えるか否かを判定するステップと、
前記閾値を超えないとの判定に応答して、前記システムが備えるジョブ処理部が、前記処理要求を前記ジョブ内容に基づいて処理し、処理結果を前記ユーザに対して送信するステップと、
前記閾値を超えるとの判定に応答して、前記システムが備えるジョブ管理部が、前記処理要求を処理要求記憶部に記憶し、前記処理要求を受け付けたことを示す受付メッセージを前記ユーザに対して送信するステップと、
前記ジョブ管理部が、前記処理要求記憶部に記憶した前記処理要求を前記ジョブ処理部に非同期処理させ、処理結果を受け取り、前記ユーザに対して前記処理結果を送信するステップと
を含む、ジョブ処理方法。
【請求項１１】
前記受付メッセージを送信するステップは、前記処理要求に、処理が完了したか、処理中であるか、未完了であるかを示すステータスを関連付けて前記処理要求記憶部に記憶するステップを含み、
前記ジョブ処理部に非同期処理させ、前記処理結果を送信するステップは、
前記ステータスが未完了を示すものがあるか否かを判定するステップと、
前記未完了を示すものがあると判定した場合、
前記処理要求記憶部から未完了であることを示す前記ステータスに関連付けられた前記処理要求を読み出し、該処理要求を非同期処理するステップと、
前記処理要求に関連付けられた前記ステータスを未完了から処理中に変更するステップと、
前記非同期処理が終了したことに応答して、前記処理結果を受け取り、前記処理要求記憶部に該処理結果を記憶し、前記ステータスを処理中から完了に変更するステップと、
前記未完了を示すものがないと判定した場合、
前記ステータスが完了を示すものがあるか否かを判定するステップと、
前記完了を示すものがあると判定した場合、前記ユーザに対して前記処理結果を送信するステップと、前記処理要求記憶部に記憶された前記処理要求および前記処理結果を削除するステップとを含む、請求項１０に記載のジョブ処理方法。
【請求項１２】
前記処理要求にはジョブ処理の優先度情報が含まれていて、前記ジョブ処理部に非同期処理させ、前記処理結果を送信するステップは、前記優先度情報に基づき前記処理要求を前記ジョブ処理部に発行するステップをさらに含む、請求項１０または１１に記載のジョブ処理方法。
【請求項１３】
請求項１０〜１２のいずれか１項に記載の方法を、コンピュータに対して実行させるためのプログラム。
【請求項１４】
請求項１０〜１２のいずれか１項に記載の方法を、コンピュータに対して実行させるためのプログラムを格納したコンピュータ可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの負荷に応じてジョブを処理するシステム、方法、その方法を実行するためのコンピュータ可読なプログラム、そのプログラムを格納した記録媒体に関する。
【背景技術】
【０００２】
作成した文書を文書ファイルとして登録し、ユーザからの文書ファイルの要求に応答して、その文書ファイルを検索し、ユーザに提供するために、文書管理サーバが利用されている。文書管理サーバは、インターネット等のネットワークに接続され、そのネットワークに接続されたクライアントコンピュータからの要求に応答して、文書ファイルを登録し、検索し、送信することができる。
【０００３】
クライアントコンピュータを使用してユーザが必要な文書ファイルを取得する場合、文書ファイルを検索する機能を使用する。例えば、文書ファイルのファイル名や文書内の用語をキーワードとして入力し、それに関連する文書ファイルを検索する。これは、文書管理サーバに登録されている、すなわち記憶されている文書ファイルが大量である場合、検索結果を得るまで相当の時間を要する。また、１回のキーワード入力だけでは関連する文書ファイルが大量であるため、何度もキーワード入力を行わなければならない場合があり、こういった検索条件が複雑なものの場合、さらに検索時間を要する。
【０００４】
検索自体は時間を要しない処理でも、バックグラウンドで、大量の文書ファイルの登録やプロセッサに負荷がかかるその他の処理が行われている場合、システムのレスポンスは悪化する。こういった場合、検索結果が得られるまで、その他の処理を実行することができない状態、あるいは、その他の処理が終了し、結果が返されるまで、検索処理を行うことができない状態が生じる。
【０００５】
インターネット越しに文書管理を行う際、文書を登録する時間の短縮化、サーバの負荷軽減が可能な文書管理システムおよび方法が提案されている（特許文献１参照）。このシステムおよび方法では、クライアントマシンからサーバマシンへのデータ転送と、サーバマシン上でのデータ登録の処理タイミングとをずらし、サーバの負荷の少ない時間帯に登録を開始することで、サーバの負荷軽減、処理時間を短縮する。具体的には、「すぐ登録」、「あとで登録」、「夜間に登録」といった登録のタイミングを指定し、同時にデータファイルをサーバに転送し、指定したタイミングに従って登録を実行する。
【０００６】
このシステムおよび方法では、サーバ負荷の少ない時間帯を指定すればサーバの負荷軽減を図ることができるものの、複数のユーザが「すぐに登録」を同じ時期に指定すると、この指定が重なり、サーバ負荷が大きくなる場合がある。また、このシステムでは、登録状況画面において、登録状況を確認し、登録を実行する処理が少ない時間帯を指定することができるものの、バックグラウンドで実行される登録処理以外の処理については確認することができないため、必ずしもサーバ負荷を軽減することはできない。
【特許文献１】特開２００２−２５９４１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
すなわち、時間を要する文書ファイルの登録や検索等のジョブを実行した後に返される結果を待つことなく、他のジョブを処理することができるシステムや方法の提供が望まれていた。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、サーバの負荷を監視し、サーバの負荷が閾値を超えていない場合には、処理要求をリアルタイム処理（同期処理）し、超えている場合には、処理要求を受け付けたことを示すメッセージを返し、その処理要求に対しては非同期に処理し、処理結果を待つことなく他のジョブを処理することを可能にするシステム、方法、その方法を実行するためのコンピュータ可読なプログラム、そのプログラムを格納した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するために、システムの負荷に合わせて、適切な処理方式（同期処理または非同期処理）を判断し、非同期処理の場合、処理要求を送信したユーザに対し、処理要求を受け付けたことを示すメッセージを返し、処理が終了した際に、処理結果を送信するようにしたものである。
【００１０】
すなわち、本発明によれば、システム負荷に応じてジョブを処理するジョブ処理システムであって、
前記システム負荷を監視するシステム負荷監視部と、
前記システム負荷に関する閾値を記憶する閾値記憶部と、
ユーザからのジョブ内容を含む処理要求の受信に応答して、前記システム負荷監視部から負荷情報を取得し、前記閾値記憶部から前記閾値を読み出し、前記負荷情報が前記閾値を超えるか否かを判定する判定部と、
前記閾値を超えるとの判定に応答して、前記処理要求を保持し、前記処理要求を受け付けたことを示す受付メッセージを前記ユーザに対して送信するジョブ管理部と、
前記閾値を超えないとの判定に応答して、前記処理要求を前記ジョブ内容に基づいて処理し、処理結果を前記ユーザに対して送信するジョブ処理部とを含み、
前記ジョブ管理部は、保持した前記処理要求を前記ジョブ処理部に発行して前記ジョブ処理部に非同期処理させ、前記ジョブ処理部から前記処理結果を受け取り、前記ユーザに対して前記処理結果を送信する、ジョブ処理システムが提供できる。
【００１１】
前記処理要求はジョブ処理の優先度情報を含むことができ、前記ジョブ管理部は、記憶した複数の前記処理要求を前記優先度情報に基づいて前記ジョブ処理部に発行することができる。
【００１２】
前記ジョブ管理部は、前記ジョブ内容に基づき予め設定された優先度を記憶する優先度記憶部を備え、記憶した複数の前記処理要求を前記優先度に基づいて前記ジョブ処理部に発行することができる。
【００１３】
前記ジョブ管理部は、前記処理要求に含まれる前記ジョブ内容に基づき優先度を決定する優先度決定部を備え、前記優先度決定部は、記憶した複数の前記処理要求の各々に対して前記優先度を決定し、前記複数の処理要求を前記優先度に基づいて前記ジョブ処理部に発行することもできる。
【００１４】
前記ジョブ管理部は、ユーザ毎に、前記ジョブ内容に基づき予め設定された優先度を記憶する優先度記憶部と、前記処理要求に含まれるユーザ識別情報からユーザを特定し、前記優先度記憶部に記憶される前記ユーザに関連付けられた前記優先度に基づき、前記ジョブの優先度を決定する優先度決定部とを含むことができる。
【００１５】
前記ジョブ管理部は、各ユーザが入力した優先度を、ユーザ毎に記憶する優先度記憶部と、前記処理要求に含まれるユーザ識別情報からユーザを特定し、前記優先度記憶部に記憶される前記ユーザに関連付けられた前記優先度に基づき、ジョブの優先度を決定する優先度決定部とを含むこともできる。
【００１６】
前記システムの管理者による優先度の変更の入力に応答して、前記優先度記憶部に記憶された優先度を変更する優先度変更部をさらに含むことができる。
【００１７】
前記処理要求は、文書検索要求、文書登録要求、文書の画像変換要求とすることができ、前記ジョブ内容は、文書検索、文書登録、文書の画像変換とすることができる。
【００１８】
前記ジョブ処理システムは、プリンタ、ファックス装置、コピー装置、スキャナ装置、これらを機能として備えるデジタル複合機に実装することができる。
【００１９】
本発明によれば、システム負荷に応じてジョブを処理するジョブ処理方法も提供する。この方法では、システムは、システム負荷監視部が前記システムの負荷情報を監視し、閾値記憶部が前記システムの負荷情報の閾値を記憶しており、
ユーザからのジョブ内容を含む処理要求の受信に応答して、前記システムが備える判定部が、前記システム負荷監視部から前記負荷情報を取得し、前記閾値記憶部から前記閾値を読み出し、前記負荷情報が前記閾値を超えるか否かを判定するステップと、
前記閾値を超えないとの判定に応答して、前記システムが備えるジョブ処理部が、前記処理要求を前記ジョブ内容に基づいて処理し、処理結果を前記ユーザに対して送信するステップと、
前記閾値を超えるとの判定に応答して、前記システムが備えるジョブ管理部が、前記処理要求を処理要求記憶部に記憶し、前記処理要求を受け付けたことを示す受付メッセージを前記ユーザに対して送信するステップと、
前記ジョブ管理部が、前記処理要求記憶部に記憶した前記処理要求を前記ジョブ処理部に非同期処理させ、処理結果を受け取り、前記ユーザに対して前記処理結果を送信するステップとを含む。
【００２０】
また、本発明の方法によれば、前記受付メッセージを送信するステップは、前記処理要求に、処理が完了したか、処理中であるか、未完了であるかを示すステータスを関連付けて前記処理要求記憶部に記憶するステップを含み、
前記ジョブ処理部に非同期処理させ、前記処理結果を送信するステップは、
前記ステータスが未完了を示すものがあるか否かを判定するステップと、
前記未完了を示すものがあると判定した場合、
前記処理要求記憶部から未完了であることを示す前記ステータスに関連付けられた前記処理要求を読み出し、該処理要求を非同期処理するステップと、
前記処理要求に関連付けられた前記ステータスを未完了から処理中に変更するステップと、
前記非同期処理が終了したことに応答して、前記処理結果を受け取り、前記処理要求記憶部に該処理結果を記憶し、前記ステータスを処理中から完了に変更するステップと、
前記未完了を示すものがないと判定した場合、
前記ステータスが完了を示すものがあるか否かを判定するステップと、
前記完了を示すものがあると判定した場合、前記ユーザに対して前記処理結果を送信するステップと、前記処理要求記憶部に記憶された前記処理要求および前記処理結果を削除するステップとを含む。
【００２１】
前記処理要求にはジョブ処理の優先度情報が含まれていて、前記ジョブ処理部に非同期処理させ、前記処理結果を送信するステップは、前記優先度情報に基づき前記処理要求を前記ジョブ処理部に発行するステップをさらに含むことができる。
【００２２】
本発明によれば、前記方法を、コンピュータに実行させるためのプログラムとして、さらにはそのプログラムを格納したコンピュータ可読な記録媒体として提供することもできる。
【発明の効果】
【００２３】
本発明のシステム、方法、プログラムおよび記録媒体を提供することにより、時間を有するジョブの処理結果を待つことなく、他のジョブを実行することができる。
【００２４】
複数のユーザから処理要求が送信された場合でも、優先度が高いジョブから処理することができるため、割り込み処理を実現することができる。
【００２５】
例えば、文書登録や文書検索といった処理ごとに優先度を設けることで、システム負荷が小さい処理の優先度を上げ、負荷が大きい処理の優先度を下げ、システムを有効に利用することができる。
【００２６】
ユーザ毎の優先度を設定することで、例えば、役職者の処理を優先することができる。また、ユーザが自由に優先度を設定することもできる。さらには、ユーザに限らず、システムの管理者がユーザ毎の優先度を変更し、システムの負荷を調整することもできる。
【発明を実施するための最良の形態】
【００２７】
本発明を、図面を参照して詳細に説明するが、本発明は図面に示される実施形態に限定されるものではない。まず、図１を参照して、本発明のジョブ処理システムを含むネットワークシステムの構成を説明する。図１に示すネットワークシステム１０は、インターネットやイントラネット等のネットワーク１１と、ネットワーク１１に接続され、ジョブ処理システムを実装する文書管理サーバ１２と、同じくネットワーク１１に接続され、ネットワーク１１を介して文書管理サーバ１２と通信する複数のクライアント１３とから構成されている。ここでは、文書ファイルを管理する文書管理サーバ１２と複数のクライアント１３として構成したネットワークシステム１０を開示する。
【００２８】
文書管理サーバ１２は、クライアント１３からの処理要求を受信し、処理結果をクライアント１３に返す。例えば、作成した文書を文書ファイルとして登録する処理、登録された文書ファイルを検索する処理、検索し、ダウンロードした文書の画像を変換する処理等の要求を受信し、その要求に対する処理を行い、その処理結果を返す。クライアント１３は、ユーザによって入力される情報から上記のような要求を生成し、その要求を文書管理サーバ１２に送信し、文書管理サーバ１２からその処理結果を受信する。
【００２９】
クライアント１３は、処理要求を生成および送信し、処理結果を受信することができるものであればいかなるものであってもよく、パーソナルコンピュータのほか、通信機能を備えるプリンタ、ファクシミリ装置、コピー装置、スキャナ装置、これらを含むデジタル複合機等とすることができる。文書管理サーバ１２も同様のものを用いることができる。
【００３０】
詳細には、ネットワーク１１を介して通信を行うために必要なネットワークアダプタ、モデム、プロキシサーバ等を含む通信装置、文書ファイルを記憶するために必要なメモリ、ハードディスクドライブ等の記憶装置、登録処理や検索処理を実行するプロセッサを含むものとされる。登録処理や検索処理は、プロセッサがプログラムを実行することによって行うことができ、このプログラムは、上記記憶装置に記憶され、必要に応じて読み出して実行される。
【００３１】
図２を参照して、本発明のジョブ処理システムを詳細に説明する。図２に示すジョブ処理システム２０は、図１に示す文書管理サーバに実装されるもので、システム負荷監視部２１、閾値記憶部２２、判定部２３、ジョブ管理部２４、処理要求記憶部２５、優先度記憶部２６、ジョブ処理部２７、文書ファイル記憶部２８、さらにはメッセージ送受信部２９を含んで構成される。なお、ジョブ処理システムは、文書管理サーバ自体であってもよい。
【００３２】
システム負荷監視部２１は、サーバの負荷を監視する。サーバ負荷は、プロセッサ使用率、メモリ使用率、サーバに接続しているユーザ数、サーバに対する基本操作のレスポンスタイム等から得ることができる。例えば、プロセッサ使用率やメモリ使用率は、オペレーティングシステム上で実行されるシステムモニタによって監視することができる。基本操作のレスポンスタイムは、例えば、文書管理クライアントからのログイン操作（ユーザＩＤおよびパスワードの送信）に対し、ユーザＩＤおよびパスワードを受信し、それらが一致するか照合し、ログインした旨の通知あるいはログインできない旨の通知を返すまでの応答時間とすることができる。
【００３３】
閾値記憶部２２は、サーバ負荷に関する閾値を記憶する。プロセッサ使用率、メモリ使用率に対しては、例えば７０％、ユーザ数に対しては、例えば３０ユーザ、レスポンスタイムに対しては、例えば５分といったデータを閾値として記憶する。これらの値は、サーバの管理者において適切な値を設定することができる。また、これらのほか、サーバの負荷が経験的に高くなる時間帯を含めることもできる。本発明では、これらすべての閾値を超えない、閾値の範囲を満足する場合に、リアルタイム処理することもできるし、特定の閾値のみを判断して、同期処理するか、非同期処理するかを決定することもできる。この閾値記憶部２２は、上記メモリやハードディスクドライブの一部として構成することができる。
【００３４】
図２に示す実施形態では、処理要求や処理結果を送受信するメッセージ送受信部２９を備えている。メッセージ送受信部２９は、上記通信装置に相当するものである。メッセージ送受信部２９は、上記のユーザＩＤおよびパスワードの受信、ログイン通知のほか、文書登録や文書検索等の処理要求を受信し、その処理要求に対する処理結果を送信する。
【００３５】
ここで、図３に処理要求を、図４に閾値記憶部２２のデータ構造を例示し、これらについて詳細に説明する。処理要求は、処理要求を識別するための処理要求ＩＤフィールド３００と、処理要求を送信したクライアントの位置情報フィールド３０１と、処理要求の実行優先順位を示す優先度フィールド３０２と、ジョブ内容フィールド３０３とを含んで構成される。処理要求ＩＤフィールド３００には、クライアントが処理要求を識別するための情報が含まれる。クライアントの位置情報フィールド３０１には、ＩＰアドレスやＭａｃ（Media access control ）アドレス等の位置情報が含まれる。この位置情報を使用して、処理結果を適切なクライアントに返すことができる。
【００３６】
優先度フィールド３０２には、ユーザが設定した優先度情報で、例えば、「高」、「中」、「低」といった３段階で示されるいずれかの情報が含まれる。ジョブ内容フィールド３０３には、文書登録や文書検索といった処理内容を示す情報が含まれる。文書登録であれば、文書登録であることを示す情報、文書名、文書ファイルを含み、文書検索であれば、文書検索であることを示す情報、文書名等の検索キーワードを含む。
【００３７】
閾値記憶部２２のデータ構造は、各条件を識別する条件ＩＤフィールド４００と、判定条件フィールド４０１と、閾値フィールド４０２と、処理方式フィールド４０３とを含む構成とされる。条件ＩＤフィールド４００には、条件を識別することができる識別情報が含まれ、図４に示すように「１」、「２」、…といった番号とすることができる。判定条件フィールド４０１には、サーバ負荷の条件を示すもので、「ＣＰＵ使用率が閾値を超えたか」、「サーバ接続ユーザ数が閾値を超えたか」といった条件が含まれる。その他、時間帯を閾値として用いる場合には、「閾値の時間帯か」といった条件、優先度を用いる場合には、「優先度が閾値か」といった条件を含めることもできる。
【００３８】
閾値フィールド４０２には、同期処理するか、非同期処理するかを決定するために使用される設定値が含まれる。この設定値は、サーバの管理者が適宜設定することができ、図４に示すようにＣＰＵ使用率であれば７０％、ユーザ数であれば３０ユーザと設定することができる。時間帯は、例えば、サーバへのアクセスが多い１０時〜１５時とすることができる。また、優先度を用いる場合には、例えば、「高」と設定することができる。処理方式フィールド４０３には、同期処理（リアルタイム処理）か、非同期処理かが設定され、その情報が格納される。
【００３９】
再び図２を参照すると、判定部２３は、メッセージ送受信部２９が受信した処理要求を受け取り、システム負荷監視部２１と閾値記憶部２２とにアクセスする。システム負荷監視部２１からは、処理要求の受け取り時におけるプロセッサ使用率、メモリ使用率、ユーザ数等のサーバ負荷に関する負荷情報を取得する。また、閾値記憶部２２からは、プロセッサ使用率、メモリ使用率、ユーザ数等の閾値を読み出して取得する。判定部２３は、システム負荷監視部２１から取得したサーバ負荷情報と、閾値とを比較し、閾値を超えるか否かを判定する。
【００４０】
この判定で閾値を超える場合には、現在のサーバ負荷は大きいため、その処理要求は非同期、例えば、後にサーバ負荷が小さくなったときに処理され、閾値を超えない場合には、現在のサーバ負荷は小さいため、その処理要求は同期、すなわちリアルタイムに処理される。
【００４１】
ジョブ管理部２４は、判定部２３が閾値を超えると判定した場合に、処理要求を受け取り、処理要求記憶部２５に記憶する。ここでは、処理要求記憶部２５が、ジョブ管理部２４とは別に構成されているが、ジョブ管理部２４に含まれていてもよく、この場合、ジョブ管理部２４が処理要求を保持することができる。このジョブ管理部２４は、処理要求の記憶とともに、メッセージ送受信部２９に処理要求を受け付けたことを示す受付メッセージを送る。処理要求記憶部２５は、待ち行列とされ、一般に先に入れられたジョブを先に処理するように、処理要求をジョブ処理部２７に送る。図２に示す実施形態では、ジョブに関連して優先度が予め設定され、その優先度に関する優先度情報が優先度記憶部２６に記憶されている。この優先度記憶部２６も、ジョブ管理部２４に含まれていてもよく、優先度を保持することができる。なお、この優先度記憶部２６および処理要求記憶部２５も、閾値記憶部２２と同様、上記のメモリおよびハードディスクドライブの一部として構成することができる。
【００４２】
ここで、図５を参照して、処理要求記憶部２５のデータ構造を説明する。処理要求記憶部２５は、ジョブＩＤフィールド５００と、ジョブの優先度フィールド５０１と、ステータスフィールド５０２と、クライアント名フィールド５０３と、処理要求フィールド５０４と、処理結果フィールド５０５とを含むテーブルとして構成される。判定部２３が閾値を超えると判定したことを受けて、ジョブ管理部２４が処理要求を順に受け取り、その順にジョブＩＤが関連付けられ、ジョブＩＤフィールド５００に格納される。ジョブＩＤはジョブを識別することができるジョブ番号とすることができる。図５に示す実施形態では、ジョブ番号９７〜１００に設定され、これらジョブが処理結果の送信待ち、および、処理待ちしている。
【００４３】
優先度フィールド５０１には、ジョブの優先度に応じて「高」、「中」、「低」という３段階で示される情報が格納される。ステータスフィールド５０２には、ジョブが完了したか、処理中であるか、未完了であるかを示す情報が格納される。ジョブ処理部２７に発行されていない処理要求はすべて未完了ジョブである。ステータスフィールド５０２中のステータスは、処理中を示すジョブの処理が終了すると、完了を示す情報に変更され、未完了を示すジョブの処理が開始されると、処理中を示す情報に変更される。クライアント名フィールド５０３には、サーバと通信しているクライアントを識別するための識別情報が格納される。図５に示す実施形態ではクライアント名とされているが、ＩＰアドレスや、Ｍａｃアドレス等であってもよい。なお、クライアント名には、ＩＰアドレスや、Ｍａｃアドレス等の位置情報が関連付けられる。
【００４４】
処理要求フィールド５０４には、検索、登録といったジョブ内容を示す情報が格納される。図５に示す実施形態では、ジョブ番号９７に設定された処理要求が、検索処理を要求し、検索キーワードとして「議事録」を用いて検索するよう要求している。また、ジョブ番号９８に設定された処理要求は、登録処理を要求し、文書名を「ＸＸＸＸ」としてファイル「ＹＹＹＹ」を記憶するよう要求している。処理結果フィールド５０５には、ジョブ処理部２７に処理要求が発行され、処理された結果が格納される。ジョブ番号９７のジョブは、ステータスフィールド５０２に格納される情報が完了を示しているため、処理結果フィールド５０５に処理結果が格納されている。その他のジョブは、ステータスフィールド５０２中のステータスが処理中または未完了であるため、処理結果は格納されておらず、空欄とされている。ジョブ番号９７の処理結果には、関連する文書ファイルが３件ヒットしたことを示す「結果３件ヒット…」という情報が格納されている。
【００４５】
再び図２を参照すると、ジョブ管理部２４は、優先度記憶部２６を参照しつつ、処理要求記憶部２５から処理要求を順に取り出し、ジョブ処理部２７に発行する。処理要求記憶部２５は、上記のように、先に入れられたジョブを先に処理する待ち行列とされているが、ジョブ管理部２４は、優先度記憶部２６を参照して優先度が高いジョブを優先的に取り出し、ジョブ処理部２７に発行する。優先度記憶部２６は、処理要求に優先度に関する情報が含まれている場合には、ジョブ管理部２４による処理要求の記憶の際に、ジョブ管理部２４がその優先度情報を取り出し、処理要求に関連付けて記憶する。また、ユーザが、文書登録や文書検索といったジョブの種類によって優先度を予め設定し、それをジョブに関連付けて優先度記憶部２６に記憶しておくこともできる。ユーザが決定し、予め設定するのではなく、優先度決定部を備えていてもよい。この優先度決定部は、ジョブの種類によって優先度を決定するように設定しており、ジョブ管理部２４が処理要求を処理要求記憶部２５に記憶する際、あるいは、ジョブ処理部２７に発行する際、各処理要求の優先度を決定し、その優先度に応じてジョブ処理部２７に発行することができる。
【００４６】
また、優先度記憶部２６は、ユーザ毎の優先度を記憶することもでき、これにより、一般職の社員の処理要求に比較して管理職の社員の処理要求を、管理職の社員の処理要求に比較して役員の処理要求を優先的に処理することができる。さらに、ユーザが自由に優先度を決定してもよく、処理要求とは別に、優先度設定情報を送信し、優先度決定部が、その優先度設定情報を受け取り、その情報に基づいて優先度を決定し、優先度記憶部２６に記憶することができる。また、ユーザではなく、ジョブ処理システムを実装する文書管理サーバの管理者が優先度を変更することもでき、この場合、優先度変更部を備えており、管理者による優先度変更情報の入力に応答して、優先度変更部が優先度を変更し、その優先度を優先度記憶部２６に記憶する。
【００４７】
優先度は、優先度が高いものから、「高」、「中」、「低」と設定することができる。すなわち、優先度が「高」のジョブは、「中」や「低」のジョブに比較して優先的に処理され、「中」のジョブは、「低」のジョブに比較して優先的に処理される。例えば、同じ「中」であるものは、処理要求記憶部２５に先に入れられた順に処理される。本発明では、優先度の設定値はこの３段階のものに限られるものではなく、「高高」、「高」、「中」、「低」、「低低」といった５段階であってもよいし、「１０」…「１」の１０段階であってもよい。
【００４８】
図６を参照して、優先度記憶部２６のデータ構造について説明する。優先度記憶部２６は、対象フィールド６００と、優先度フィールド６０１とを含む。対象フィールド６００には、クライアント名やジョブ内容等が含まれ、それらに応じて「高」、「中」、「低」といった情報が、優先度フィールド６０１に格納される。具体的には、図６に示すように、対象フィールド６００には、クライアント名であるユーザＡ、ユーザＢ、ジョブ内容である文書登録、文書検索が格納される。図６に示す実施形態では、ユーザＡが処理要求を送信した場合には、優先度が「高」であるため、優先的に処理が行われ、ユーザＢが処理要求を送信した場合には、優先度が「低」であるため、優先度「高」、「中」の処理要求が処理された後に処理される。また、文書登録は「低」で、文書検索が「中」に設定されているため、処理要求に文書検索を含むものは、処理要求に文書登録を含むものより先に処理される。なお、対象フィールド６００に、ユーザＡ、ユーザＢといったクライアント名が先に設定されているため、優先度が同じ、例えば「高」のものは、ジョブ内容の優先度に応じて優先順位が決定される。
【００４９】
再び図２を参照すると、判定部２３が閾値を超えないと判定した場合、判定部２３がメッセージ送受信部２９に指示し、ジョブ処理部２７は、メッセージ送受信部２９から処理要求を受け取る。処理要求を受け取ったジョブ処理部２７は、その処理要求をリアルタイムに処理する。ジョブ処理部２７は、文書ファイル記憶部２８と接続され、ジョブが文書検索であれば、処理要求に含まれるキーワード等に関連する文書ファイルを文書ファイル記憶部２８から検索する。ジョブ処理部２７は、処理した結果、ここでは検索結果をメッセージ送受信部２９に送信する。メッセージ送受信部２９は、検索結果を受け取ると、処理要求に含まれるクライアントの位置情報に基づき、その検索結果を送信する。検索結果としては、関連する文書ファイルの数、それらのファイル名や文書名、文書ファイルとすることができる。検索結果として文書名を送信し、次に、ダウンロード要求を受けて、文書ファイルを送信することもできる。
【００５０】
ジョブ処理部２７は、上記のリアルタイム処理のほか、ジョブ管理部２４からの処理要求の発行に応答して、発行された処理要求を処理する。ジョブ管理部２４の処理要求の発行は、サーバ負荷に応じて実施され、その負荷が閾値を超えないときに実行される。したがって、サーバ負荷が、閾値記憶部２２に記憶されている閾値を超えない場合に実行される。
【００５１】
なお、記憶装置に記憶されたプログラムをプロセッサに実行させることで、システム負荷監視部２１、判定部２３、ジョブ管理部２４、ジョブ処理部２７として機能させることができる。
【００５２】
次に、図７を参照して、ジョブ処理システムが実行する処理の１つの実施形態を説明する。まず、ユーザが文書管理クライアントに検索キーワードを入力するなどして、検索処理等の処理要求を生成させる。ユーザが送信ボタンを押下するなどして文書管理サーバに処理要求を送信することにより、文書管理サーバは処理要求の処理を開始する（Ｓ７００）。文書管理サーバに実装される、または、文書管理サーバ自体とされるジョブ処理システムは、メッセージ送受信部２９でクライアントが送信した処理要求を受信する（Ｓ７０１）。メッセージ送受信部２９は、判定部２３に処理要求を受信した旨を通知し、判定部２３は、システム負荷監視部２１から現在のサーバ負荷に関する負荷情報を取得し、閾値記憶部２２から閾値を読み出す（Ｓ７０２）。サーバ負荷に関する負荷情報は、現在のＣＰＵ使用率、メモリ使用率、サーバに接続しているユーザ数等である。
【００５３】
判定部２３は、取得した現在のサーバの負荷情報と、閾値とを比較し、サーバ負荷が閾値を超えているか否かを判定する（Ｓ７０３）。超えている場合は、非同期処理が選択され、超えていない場合は、同期処理が選択される。このようにして非同期処理が実行されるか否かが判定される。非同期処理が実行される場合、ジョブ管理部２４に処理要求を送り、処理要求記憶部２５に処理要求を記憶する（Ｓ７０４）。処理要求には、ジョブＩＤが関連付けられ、クライアント名フィールドにクライアントに関する情報が格納され、ステータスフィールドに未完了を示す情報が格納される。ジョブ管理部２４は、処理要求を受け付けたことを示す受付メッセージを生成し、ジョブＩＤとともにメッセージ送受信部２９に送る。ジョブＩＤは、ジョブを識別するための識別情報で、１つのクライアントが複数の処理要求を送信した場合に、それら処理要求に対する処理結果を識別するために用いられる。メッセージ送受信部２９は、その受付メッセージをジョブＩＤとともにクライアントに送信する（Ｓ７０５）。
【００５４】
非同期処理が実行されない場合、処理要求がジョブ処理部２７に送られ、ジョブ処理部２７がリアルタイム処理し、処理した結果をメッセージ送受信部２９に送る（Ｓ７０６）。メッセージ送受信部２９は、受け取った処理結果を、クライアントを送信する（Ｓ７０７）。受付メッセージまたは処理結果をクライアントが受信することにより、クライアントが送信した処理要求に対する処理が終了する（Ｓ７０８）。この場合、リアルタイムに処理されるため、ジョブを識別するためのジョブＩＤは特に関連付ける必要はないが、処理要求ＩＤとともに送信することもできる。
【００５５】
図８を参照して、図７に示すＳ７０４およびＳ７０５で実行される非同期処理を詳細に説明する。非同期処理で実行することが決定されると、非同期処理が開始される（Ｓ８００）と、ジョブ管理部２４は、処理要求記憶部２５を定期的にポーリングし、ステータスを確認する（Ｓ８０１）。ポーリングは、処理要求が処理要求記憶部２５に記憶されているかどうかを問い合わせるものである。ポーリングで、処理要求が記憶されている場合、処理要求に関連付けて記憶されるステータスを確認する。
【００５６】
ステータスが「未完了」のものがあるか否かを判定する（Ｓ８０２）。「未完了」がない場合には、ステータスが「完了」のものがあるか否かを判定する（Ｓ８０３）。ステータスは、処理が実行されていない「未完了」、現在、処理が実行されている「処理中」、処理が実行され、終了した「完了」のいずれかである。「未完了」のものがある場合、「未完了」の処理要求を取り出し、ジョブ処理部２７にその処理要求を発行する（Ｓ８０４）。ジョブ処理部２７は、非同期、すなわちリアルタイムではなく、例えば、後のサーバ負荷が閾値を超えないときにその処理要求の処理を開始する（Ｓ８０５）。処理を開始すると、ジョブ管理部２４は、処理要求記憶部２５のその処理要求に対応するステータスを、「未完了」から「処理中」に変更する（Ｓ８０６）。破線で示されるように、ジョブ処理部２７は非同期にジョブを実行し（Ｓ８０７）、結果をジョブ管理部２４に送る。ジョブ管理部２４は、その結果を処理要求記憶部２５の処理結果として記憶し、ステータスを「処理中」から「完了」に変更する（Ｓ８０８）。
【００５７】
Ｓ８０３で、ステータスが「完了」のものがない場合、非同期処理は終了する（Ｓ８０９）。非同期処理が終了しても、ジョブ管理部２４は、Ｓ８０１のポーリングを定期的に行う。ステータスが「未完了」のものがある場合、Ｓ８０４へ進み、ない場合、Ｓ８０３へ進み、それぞれの処理が繰り返される。この間、処理中のジョブが終了すると、Ｓ８０８のように処理結果が記憶され、ステータスが「完了」に変更される。
【００５８】
Ｓ８０３で、ステータスが「完了」のものがある場合、ジョブ管理部２４は、処理要求記憶部２５から処理結果を取り出し、その処理結果をクライアントに返すために、ジョブＩＤとともにメッセージ送受信部２９に送る（Ｓ８１０）。メッセージ送受信部２９は、その処理結果を受け取ると、クライアントの位置情報に基づき処理結果を、その処理要求を送信したクライアントに送信する（Ｓ８１１）。メッセージ送受信部２９がクライアントに処理結果を送信したことに応答して、ジョブ管理部２４は、処理要求記憶部２５に記憶されたその処理要求に関するジョブＩＤ、ステータス、クライアント名、処理要求、処理結果を削除する（Ｓ８１２）。
【００５９】
図９を参照して、ジョブ処理システムが実行する処理の別の実施形態について説明する。クライアントが処理要求を開始し（Ｓ９００）、メッセージ送受信部２９が処理要求を受信する（Ｓ９０１）。メッセージ送受信部２９は、判定部２３に処理要求を受信した旨を通知し、判定部２３は、システム負荷監視部２１から現在のサーバ負荷に関する負荷情報を取得し、閾値記憶部２２から閾値を読み出す（Ｓ９０２）。判定部２３は、取得した現在のサーバの負荷情報と、閾値とを比較し、サーバ負荷が閾値を超えているか否かを判定する（Ｓ９０３）。超えている場合は、非同期処理が選択され、超えていない場合は、同期処理が選択される。このようにして非同期処理が実行されるか否かが判定される。非同期処理が実行される場合、ジョブ管理部２４に処理要求を送り、処理要求記憶部２５に処理要求を記憶する（Ｓ９０４）。処理要求には、ジョブＩＤが関連付けられ、クライアント名フィールドにクライアントに関する情報が格納され、ステータスフィールドに未完了を示す情報が格納される。この実施形態では、優先度情報も優先度フィールドに格納される。優先度情報は、処理要求に含まれるか、優先度決定部により決定されるか、ユーザまたは管理者が入力することにより、ジョブ管理部２４が取得することができる。ジョブ管理部２４は、処理要求を受け付けたことを示す受付メッセージを生成し、受付メッセージをジョブＩＤとともにメッセージ送受信部２９に送る。メッセージ送受信部２９は、その受付メッセージをジョブＩＤとともにクライアントに送信する（Ｓ９０５）。
【００６０】
非同期処理が実行されない場合、処理要求がジョブ処理部２７に送られ、ジョブ処理部２７が処理し、その結果をメッセージ送受信部２９に送る（Ｓ９０６）。メッセージ送受信部２９は、受け取った処理結果を、クライアントを送信する（Ｓ９０７）。受付メッセージまたは処理結果をクライアントが受信することにより、クライアントが送信した処理要求に対する処理が終了する（Ｓ９０８）。
【００６１】
図１０を参照して、図９に示すＳ９０４およびＳ９０５で実行される非同期処理を詳細に説明する。非同期処理で実行することが決定され、非同期処理が開始される（Ｓ１０００）と、ジョブ管理部２４は、処理要求記憶部２５を定期的にポーリングし、ステータスを確認する（Ｓ１００１）。ここでは優先度を含むため、優先度が「高」、「中」、「低」の順に、ステータスを確認する。
【００６２】
後の処理は、図８に示すフローチャートと同様である。すなわち、ステータスが「未完了」のものがあるか否かを判定する（Ｓ１００２）。「未完了」がない場合には、ステータスが「完了」のものがあるか否かを判定する（Ｓ１００３）。ステータスは、処理が実行されていない「未完了」、現在、処理が実行されている「処理中」、処理が実行され、終了した「完了」のいずれかである。「未完了」のものがある場合、「未完了」の処理要求を取り出し、ジョブ処理部２７にその処理要求を発行する（Ｓ１００４）。ここで、取り出される処理要求は、優先度の順に取り出される。このため、優先度が高いジョブは、処理要求記憶部２５に、後に記憶されるものの、先に処理され、割り込み処理が実現される。
【００６３】
ジョブ処理部２７は、非同期、すなわちリアルタイムではなく、例えば、後のサーバ負荷が閾値を超えないときにその処理要求の処理を開始する（Ｓ１００５）。処理を開始すると、ジョブ管理部２４は、処理要求記憶部２５のその処理要求に対応するステータスを、「未完了」から「処理中」に変更する（Ｓ１００６）。破線で示されるように、ジョブ処理部２７は非同期にジョブを実行し（Ｓ１００７）、結果をジョブ管理部２４に送る。ジョブ管理部２４は、その結果を処理要求記憶部２５の処理結果として記憶し、ステータスを「処理中」から「完了」に変更する（Ｓ１００８）。
【００６４】
Ｓ１００３で、ステータスが「完了」のものがない場合、非同期処理は終了する（Ｓ１００９）。非同期処理が終了しても、ジョブ管理部２４は、Ｓ１００１のポーリングを定期的に行う。ステータスが「未完了」のものがある場合、Ｓ１００４へ進み、ない場合、Ｓ１００３へ進み、それぞれの処理が繰り返される。この間、処理中のジョブが終了すると、Ｓ１００８のように処理結果が記憶され、ステータスが「完了」に変更される。
【００６５】
Ｓ１００３で、ステータスが「完了」のものがある場合、ジョブ管理部２４は、処理要求記憶部２５から処理結果を取り出し、その処理結果をクライアントに返すために、ジョブＩＤとともにメッセージ送受信部２９に送る（Ｓ１０１０）。メッセージ送受信部２９は、その処理結果を受け取ると、クライアントの位置情報に基づき処理結果を、その処理要求を送信したクライアントに送信する（Ｓ１０１１）。メッセージ送受信部２９がクライアントに処理結果を送信したことに応答して、ジョブ管理部２４は、処理要求記憶部２５に記憶されたその処理要求に関するジョブＩＤ、ステータス、クライアント名、処理要求、処理結果を削除する（Ｓ１０１２）。
【００６６】
これまで本発明を図面に示した実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００６７】
また、ジョブの同期処理および非同期処理は、コンピュータ可読なプログラムを実行することにより実施することができる。この場合、そのプログラムを格納した記録媒体として提供することができる。
【図面の簡単な説明】
【００６８】
【図１】ネットワークシステムの構成図。
【図２】本発明のジョブ処理システムの構成を例示した図。
【図３】処理要求のデータ構成を例示した図。
【図４】閾値記憶部のデータ構造を例示した図。
【図５】処理要求記憶部のデータ構造を例示した図。
【図６】優先度記憶部のデータ構造を例示した図。
【図７】ジョブ処理システムによって実行される処理の１つの実施形態を示した図。
【図８】図７に示すフローにおける非同期処理を詳細に示した図。
【図９】ジョブ処理システムによって実行される処理の別の実施形態を示した図。
【図１０】図９に示すフローにおける非同期処理を詳細に示した図。
【符号の説明】
【００６９】
１０…ネットワークシステム、１１…ネットワーク、１２…文書管理サーバ、１３…クライアント、２０…ジョブ処理システム、２１…システム負荷監視部、２２…閾値記憶部、２３…判定部、２４…ジョブ管理部、２５…処理要求記憶部、２６…優先度記憶部、２７…ジョブ処理部、２８…文書ファイル記憶部、２９…メッセージ送受信部、３００…処理要求ＩＤフィールド、３０１…位置情報フィールド、３０２…優先度フィールド、３０３…ジョブ内容フィールド、４００…条件ＩＤフィールド、４０１…判定条件フィールド、４０２…閾値フィールド、４０３…処理方式フィールド、５００…ジョブＩＤフィールド、５０１…優先度フィールド、５０２…ステータスフィールド、５０３…クライアント名フィールド、５０４…処理要求フィールド、５０５…処理結果フィールド、６００…対象フィールド、６０１…優先度フィールド
【図１】
2007299308.tif 000003
【図２】
2007299308.tif 000004
【図３】
2007299308.tif 000005
【図４】
2007299308.tif 000006
【図５】
2007299308.tif 000007
【図６】
2007299308.tif 000008
【図７】
2007299308.tif 000009
【図８】
2007299308.tif 000010
【図９】
2007299308.tif 000011
【図１０】
2007299308.tif 000012