(57)【要約】【課題】  １ユーザがライセンスを占有してしまうことを防止するライセンス管理方式および方法を提供する。【解決手段】  ジョブキュー管理部３１はライセンス名とユーザＩＤを指定してライセンス管理部３２にライセンスの空きについて問い合わせを行う。ライセンス管理部３２は、ライセンス管理テーブル３４を参照して使用ライセンス数が全ライセンス数より小さいかを調べ、小さい場合に使用ライセンスリスト３５をチェックする。同一ユーザで使用開始時間がライセンスディレイ時間ｈ以内の同一ライセンスが存在するならば、ライセンスが使用できないことをジョブキュー管理部３１に回答する。同一ユーザで使用開始時間がライセンスディレイ時間ｈ以内の同一ライセンスが存在しない場合に、ライセンスに空きありの回答をジョブキュー管理部３１に返却する。【選択図】      図１
2006330842.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末とジョブ受付装置とキューシステム装置とジョブ実行装置とを備えるライセンス管理方式であって、
前記ユーザ端末は、
実行するジョブを入力する手段と、
入力したジョブを前記ジョブ受付装置に送信する手段とを含み、
前記ジョブ受付装置は、
受信したジョブを前記キューシステム装置に送信する手段を含み、
前記キューシステム装置は、
ライセンス名と未使用のライセンスの情報とライセンスディレイ時間とを含むライセンス管理テーブルを記憶する手段と、
ライセンス名とユーザ識別子とライセンス使用開始時間とを含む使用ライセンスリストを記憶する手段と、
受信したジョブをジョブキューに登録する手段と、
前記ジョブキューからジョブを取り出す手段と、
取り出したジョブに対応するライセンスに関し、前記ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックする手段と、
未使用のライセンスがある場合に、前記使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックする手段と、
存在しない場合に、前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含み、
前記ジョブ実行装置は、
前記配分されたジョブを実行する手段を含む、
ことを特徴とするライセンス管理方式。
【請求項２】
前記キューシステム装置は、
同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す手段を含む、
ことを特徴とする請求項１記載のライセンス管理方式。
【請求項３】
前記キューシステム装置は、
プロジェクト毎にライセンスの数だけライセンステーブルを有し、前記ライセンステーブルが元々割り付けられていたプロジェクト名，最終使用時刻および使用中フラグを含むプロジェクトライセンス管理テーブルを記憶する手段と、
ライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置する手段と、
受信したジョブをジョブキューに登録する手段と、
前記ジョブキューからジョブを取り出す手段と、
取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、
該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、
ことを特徴とする請求項１記載のライセンス管理方式。
【請求項４】
元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、
該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、
ことを特徴とする請求項３記載のライセンス管理方式。
【請求項５】
ユーザ端末とジョブ受付装置とキューシステム装置とジョブ実行装置とを備えるライセンス管理方式のライセンス管理方法であって、
前記ユーザ端末は、
実行するジョブを入力し入力したジョブを前記ジョブ受付装置に送信し、
前記ジョブ受付装置は、
受信したジョブを前記キューシステム装置に送信し、
前記キューシステム装置は、
受信したジョブをジョブキューに登録し、
前記ジョブキューからジョブを取り出し取り出したジョブに対応するライセンスに関し、
ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックし、
未使用のライセンスがある場合に使用ライセンスリストを参照して同一ユーザで使用開始時間がライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックし、
存在しない場合に、前記取り出したジョブを前記ジョブ実行装置に配分し、
前記ジョブ実行装置は、
前記配分されたジョブを実行する、
ことを特徴とするライセンス管理方法。
【請求項６】
同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す、
ことを特徴とする請求項５記載のライセンス管理方法。
【請求項７】
前記キューシステム装置は、
プロジェクトライセンス管理テーブルでプロジェクト単位にライセンスを管理し、
ライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置し、
受信したジョブをジョブキューに登録し、
前記ジョブキューからジョブを取り出し、取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックし、
該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する、
ことを特徴とする請求項５記載のライセンス管理方法。
【請求項８】
元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックし、
該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する、
ことを特徴とする請求項７記載のライセンス管理方法。
【請求項９】
ジョブを実行するために必要なライセンスを管理するライセンス管理方式におけるキューシステム装置であって、
ライセンス名と未使用のライセンスの情報とライセンスディレイ時間とを含むライセンス管理テーブルを記憶する手段と、
ライセンス名とユーザ識別子とライセンス使用開始時間とを含む使用ライセンスリストを記憶する手段と、
ジョブ受付装置から受信したジョブをジョブキューに登録する手段と、
前記ジョブキューからジョブを取り出す手段と、
取り出したジョブに対応するライセンスに関し、前記ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックする手段と、
未使用のライセンスがある場合に前記使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックする手段と、
存在しない場合に、前記取り出したジョブをジョブ実行装置に配分する手段とを含む、
ことを特徴とするキューシステム装置。
【請求項１０】
同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す手段を含む、
ことを特徴とする請求項９記載のキューシステム装置。
【請求項１１】
プロジェクト別にライセンスの数だけライセンステーブルを有し、前記ライセンステーブルが元々割り付けられていたプロジェクト名，最終使用時刻および使用中フラグを含むプロジェクトライセンス管理テーブルを記憶する手段と、
ライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置する手段と、
受信したジョブをジョブキューに登録する手段と、
前記ジョブキューからジョブを取り出す手段と、
取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、
該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、
ことを特徴とする請求項９記載のキューシステム装置。
【請求項１２】
元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、
該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、
ことを特徴とする請求項１１記載のキューシステム装置。
【請求項１３】
ジョブを実行するために必要なライセンスを管理するライセンス管理方式におけるキューシステム装置のプログラムであって、
キューシステム装置に、
ジョブ受付装置から受信したジョブをジョブキューに登録する機能、
前記ジョブキューからジョブを取り出す機能、
取り出したジョブに対応するライセンスに関し、ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックする機能、
未使用のライセンスがある場合に使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックする機能、
存在しない場合に、前記取り出したジョブをジョブ実行装置に配分する機能、
を実現させるためのプログラム。
【請求項１４】
同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す機能、
を実現させるための請求項１３記載のプログラム。
【請求項１５】
ライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置する機能、
受信したジョブをジョブキューに登録する機能、
前記ジョブキューからジョブを取り出す機能、
取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする機能、
該当するものがあれば前記取り出したジョブをジョブ実行装置に配分する機能、
を実現させるための請求項１３記載のプログラム。
【請求項１６】
元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする機能、
該当するものがあれば前記取り出したジョブをジョブ実行装置に配分する機能、
を実現させるための請求項１５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス管理方式および方法ならびにキューシステム装置およびそのプログラムに関し、特に、ジョブをライセンス管理に連携させて管理するライセンス管理方式および方法ならびにキューシステム装置およびそのプログラムに関する。
【背景技術】
【０００２】
従来のライセンス管理方式の一例が、特許文献１に記載されている。この従来のライセンス管理方式では、ジョブ実行管理装置がジョブ管理部とライセンス管理部を備えている。ジョブ管理部は、クライアント装置から入力されたジョブにリソースを割り当て、実行させる管理を行う。ジョブ管理部にはライセンス管理部が接続されている。ライセンス管理部は、入力されたジョブに対応するライセンスソフトウェアのライセンス数が所定契約数を超過したか否かを判断する。所定契約数を超過したジョブは対応するライセンスソフトウェアの空きが生ずるまで待ち行列として管理される。
【０００３】
【特許文献１】特開２００４−２４６５９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したライセンス管理方式には、以下のような問題点がある。
【０００５】
すなわち、ある１ユーザが連続でジョブを投入すると、１ユーザにライセンスが占有され、ジョブが終了するまで、他のユーザが利用できなくなるということである。
【０００６】
その理由は、ある１ユーザが連続でジョブを投入していることを検出せずに、ライセンスを割り当てているからである。
【０００７】
本発明の目的は、上述した従来の課題を解決するライセンス管理方式および方法ならびにキューシステム装置およびそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本願第１の発明のライセンス管理方式は、ユーザ端末とジョブ受付装置とキューシステム装置とジョブ実行装置とを備えるライセンス管理方式であって、前記ユーザ端末は、実行するジョブを入力する手段と、入力したジョブを前記ジョブ受付装置に送信する手段とを含み、前記ジョブ受付装置は、受信したジョブを前記キューシステム装置に送信する手段を含み、前記キューシステム装置は、ライセンス名と未使用のライセンスの情報とライセンスディレイ時間とを含むライセンス管理テーブルを記憶する手段と、ライセンス名とユーザ識別子とライセンス使用開始時間とを含む使用ライセンスリストを記憶する手段と、受信したジョブをジョブキューに登録する手段と、前記ジョブキューからジョブを取り出す手段と、取り出したジョブに対応するライセンスに関し、前記ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックする手段と、未使用のライセンスがある場合に、前記使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックする手段と、存在しない場合に前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含み、前記ジョブ実行装置は、配分されたジョブを実行する手段を含む、ことを特徴とする。
【０００９】
本願第２の発明のライセンス管理方式は、第１の発明において前記キューシステム装置は、同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す手段を含む、ことを特徴とする。
【００１０】
本願第３の発明のライセンス管理方式は、第１の発明において前記キューシステム装置は、プロジェクト別にライセンスの数だけライセンステーブルを有し前記ライセンステーブルが元々割り付けられていたプロジェクト名，最終使用時刻および使用中フラグを含むプロジェクトライセンス管理テーブルを記憶する手段と、ライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置する手段と、受信したジョブをジョブキューに登録する手段と、前記ジョブキューからジョブを取り出す手段と、取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、ことを特徴とする。
【００１１】
本願第４の発明のライセンス管理方式は、第３の発明において元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、ことを特徴とする。
【００１２】
本願第５の発明のライセンス管理方法は、ユーザ端末とジョブ受付装置とキューシステム装置とジョブ実行装置とを備えるライセンス管理方式のライセンス管理方法であって、前記ユーザ端末は、実行するジョブを入力し入力したジョブを前記ジョブ受付装置に送信し、前記ジョブ受付装置は、受信したジョブを前記キューシステム装置に送信し、前記キューシステム装置は、受信したジョブをジョブキューに登録し、前記ジョブキューからジョブを取り出し取り出したジョブに対応するライセンスに関し、ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックし、未使用のライセンスがある場合に使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックし、存在しない場合に前記取り出したジョブを前記ジョブ実行装置に配分し、前記ジョブ実行装置は、配分されたジョブを実行する、ことを特徴とする。
【００１３】
本願第６の発明のライセンス管理方法は、第５の発明において同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す、ことを特徴とする。
【００１４】
本願第７の発明のライセンス管理方法は、第５の発明において前記キューシステム装置は、プロジェクトライセンス管理テーブルでプロジェクト単位にライセンスを管理し、ライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置し、受信したジョブをジョブキューに登録し、前記ジョブキューからジョブを取り出し取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックし、該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する、ことを特徴とする。
【００１５】
本願第８の発明のライセンス管理方法は、第７の発明において元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックし、該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する、ことを特徴とする。
【００１６】
本願第９の発明のキューシステム装置は、ジョブを実行するために必要なライセンスを管理するライセンス管理方式におけるキューシステム装置であって、ライセンス名と未使用のライセンスの情報とライセンスディレイ時間とを含むライセンス管理テーブルを記憶する手段と、ライセンス名とユーザ識別子とライセンス使用開始時間とを含む使用ライセンスリストを記憶する手段と、ジョブ受付装置から受信したジョブをジョブキューに登録する手段と、前記ジョブキューからジョブを取り出す手段と、取り出したジョブに対応するライセンスに関し、前記ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックする手段と、未使用のライセンスがある場合に前記使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックする手段と、存在しない場合に前記取り出したジョブをジョブ実行装置に配分する手段とを含む、ことを特徴とする。
【００１７】
本願第１０の発明のキューシステム装置は、第９の発明において同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す手段を含む、ことを特徴とする。
【００１８】
本願第１１の発明のキューシステム装置は、第９の発明においてプロジェクト別にライセンスの数だけライセンステーブルを有し前記ライセンステーブルが元々割り付けられていたプロジェクト名，最終使用時刻および使用中フラグを含むプロジェクトライセンス管理テーブルを記憶する手段と、ライセンスが一定時間利用されないままでいる場合に一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置する手段と、受信したジョブをジョブキューに登録する手段と、前記ジョブキューからジョブを取り出す手段と、取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、ことを特徴とする。
【００１９】
本願第１２の発明のキューシステム装置は、第１１の発明において元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする手段と、該当するものがあれば前記取り出したジョブを前記ジョブ実行装置に配分する手段とを含む、ことを特徴とする。
【００２０】
本願第１３の発明のプログラムは、ジョブを実行するために必要なライセンスを管理するライセンス管理方式におけるキューシステム装置のプログラムであって、キューシステム装置に、ジョブ受付装置から受信したジョブをジョブキューに登録する機能、前記ジョブキューからジョブを取り出す機能、取り出したジョブに対応するライセンスに関し、ライセンス管理テーブルを参照して未使用のライセンスがあるか否かをチェックする機能、未使用のライセンスがある場合に使用ライセンスリストを参照して同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在するか否かをチェックする機能、存在しない場合に前記取り出したジョブをジョブ実行装置に配分する機能、を実現させる。
【００２１】
本願第１４の発明のプログラムは、第１３の発明において同一ユーザで使用開始時間が前記ライセンスディレイ時間以内の同一ライセンスが存在する場合に前記取り出したジョブを前記ジョブキューに戻す機能、を実現させる。
【００２２】
本願第１５の発明のプログラムは、第１３の発明においてライセンスが一定時間利用されないままでいる場合に、一定時間利用されないままでいるライセンスのライセンステーブルをライセンス使用率の一番高い他のプロジェクトに再配置する機能、受信したジョブをジョブキューに登録する機能、前記ジョブキューからジョブを取り出す機能、取り出したジョブに対応するライセンスに関し、該当プロジェクトのライセンステーブルを参照して元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする機能、該当するものがあれば前記取り出したジョブをジョブ実行装置に配分する機能、を実現させる。
【００２３】
本願第１６の発明のプログラムは、第１５の発明において元々自プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがなければ該当プロジェクトのライセンステーブルを参照して元々他プロジェクトに割り付けられているライセンステーブルで且つ未使用のものがあるか否かをチェックする機能、該当するものがあれば前記取り出したジョブをジョブ実行装置に配分する機能、を実現させる。
【発明の効果】
【００２４】
本発明は、同一のユーザにライセンスが独占されることを防止するという効果を有している。
【００２５】
その理由は、ユーザにライセンスを割り当ててから一定時間以内であれば、同一ユーザに同一ライセンスを割り当てないようにしたためである。
【発明を実施するための最良の形態】
【００２６】
最初に、本発明の特徴を説明する。
【００２７】
本発明は、複数のユーザが投入するジョブ（ＪＯＢ）をジョブ実行装置へ配分するキューシステム装置に、ジョブ実行時に必要に応じてライセンスの取得を管理するライセンス管理部を設け、ジョブをライセンス管理に連携させて管理することを特徴としている。また、本発明は、ライセンスを１ユーザーが占有してしまわないようにライセンス利用に時間的制限をつける機能（ライセンスディレイと称す）、利用されていないライセンスを動的に振り分ける機能（ライセンスオートムーブと称す）を有している。
【００２８】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
【００２９】
第１の実施例について説明する。第１の実施例は、ライセンス管理部がライセンス利用に時間的制限をつける形態である。
【００３０】
先ず、第１の実施例の構成について、図面を参照して詳細に説明する。
図１は本発明の第１の実施例の構成を示す図である。
図２は本発明の構成を説明する図である。
図３はジョブキューの例を示す図である。
図４はライセンス管理テーブルの例を示す図である。
図５は使用ライセンスリストの例を示す図である。
【００３１】
図１を参照すると、本発明の第１の実施例は、ユーザ端末１と、ジョブ受付装置２と、キューシステム装置３と、ジョブ実行装置４と、ネットワーク９とを備えている。図１では、１つのユーザ端末が図示されているが、ユーザ端末は複数でもよい。
【００３２】
ユーザ端末１は、プログラム制御で動作するパーソナルコンピュータ等の情報処理装置であり、以下の手段を含む。
（１−１）ユーザ端末１を使用するユーザが入力した認証情報（例えば、ユーザＩＤ（識別子）とパスワード）をジョブ受付装置２に送信して認証を受ける手段。
（１−２）ユーザが入力したジョブ名をジョブ受付装置２に送出する手段。ジョブ名を送出するときに、ジョブを実行するのに必要なライセンス名も送出する。ライセンス名はユーザに入力させてもよい。あるいは、ユーザ端末１にジョブ名とライセンス名との対応テーブルを備え、入力されたジョブ名からライセンス名を取得するようにしてもよい。
【００３３】
ジョブ受付装置２は、プログラム制御で動作するサーバ等の情報処理装置であり、以下の手段を含む。
（２−１）ユーザ端末１から認証情報を受信してユーザ端末１を使用するユーザを認証する手段。
（２−２）ユーザ端末１から送出されたジョブ名とライセンス名とを受け付ける手段。
（２−３）受け付けたジョブに対してジョブ番号を割り振る手段。
（２−４）ジョブ番号とジョブ名とライセンス名とをキューシステム装置３に送信してジョブキュー３３への登録を依頼する手段。認証時に取得したユーザＩＤも同時にキューシステム装置３へ送信する。
【００３４】
キューシステム装置３は、プログラム制御で動作するサーバ等の情報処理装置であり、ジョブキュー管理部３１とライセンス管理部３２とジョブキュー３３とライセンス管理テーブル３４と使用ライセンスリスト３５とを有する。
【００３５】
ジョブキュー管理部３１は、以下の手段を含む。
（３１−１）ジョブ受付装置２から受信したジョブをジョブキュー３３に登録する手段。ジョブキュー３３はジョブの待ち行列である。ジョブキューの例を図３に示す。ジョブキュー３３の領域は、メモリ（図示せず）などに確保される。
（３１−２）ジョブキュー３３からジョブを取り出し、取り出したジョブの実行に必要なライセンスに空きがあるか否かをライセンス管理部３２に問い合わせる手段。
（３１−３）ライセンス管理部３２からライセンスに空きがある旨の回答があった場合に、取り出したジョブをジョブ実行装置４に配分し実行を依頼する手段。このとき、ジョブ実行装置４にジョブ名とジョブ番号などを通知する。
【００３６】
ライセンス管理部３２は、以下の手段を含む。
（３２−１）ジョブキュー管理部３１から問い合わせのあったライセンスに空きがあるか否かをライセンス管理テーブル３４を参照してチェックし、チェック結果をジョブキュー管理部３１に回答する手段。ライセンス管理テーブル３４の例を図４に示す。図４を参照すると、ライセンス管理テーブル３４はライセンス名とそのライセンスの空き数（未使用ライセンス数）とライセンスディレイ時間とを含む。ライセンスディレイ時間ｈは、同一ユーザが同じライセンスを取得できない期間を示す値であり、予め設定されている。ライセンス管理テーブル３４の領域は、例えば磁気ディスク等の補助記憶装置（図示せず）などに確保される。
（３２−２）ライゼンスに空きがあった場合に、ライセンス管理テーブル３４上の空きライセンス数を−１する手段。
（３２−３）使用ライセンスリスト３５を先頭から調べ、同一ユーザで使用開始時間がライセンスディレイ時間ｈ以内の同一ライセンスが存在するかをチェックし、存在するならばライセンスを使用できない、存在しない場合にライセンスを使用できる、と判定する手段。使用ライセンスリスト３５の例を図５に示す。図５を参照すると、使用ライセンスリスト３５はライセンス名とユーザＩＤとライセンス使用開始時間と貨出しているジョブ番号とを含む。使用ライセンスリスト３５の領域はメモリ（図示せず）などに確保される。
【００３７】
ジョブ実行装置４は、プログラム制御で動作する情報処理装置である。本実施例では、ジョブ実行装置４は図２に示すように、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）を含んだＰＣクラスタで構成されている。また、１台以上のサーバ装置で構成するようにしてもよい。ジョブ実行装置４は、以下の手段を含む。
（４−１）キューシステム装置３から配分依頼されたジョブを実行する手段。このとき、キューシステム装置３から実行するジョブのジョブ名とジョブ番号などを通知する。ジョブ名に対応する実行プログラムは予め磁気ディスク等の補助記憶装置（図示せず）に記憶されている。
（４−２）ジョブの実行が終了したときに、ジョブの実行が終了したことをキューシステム装置３に通知する手段。このとき、終了したジョブのジョブ番号も通知する。
【００３８】
ネットワーク９は、ユーザ端末１とジョブ受付装置２とキューシステム装置３とジョブ実行装置４とを相互に接続するＬＡＮ（ローカルエリアネットワーク）などの通信網である。
【００３９】
次に、第１の実施例の動作について、図面を参照して詳細に説明する。
図６はライセンスディレイを説明する図である。
図７はジョブキュー管理部の動作の流れを示す図である。
図８はライセンス管理部のライセンスディレイ機能の動作の流れを示す図である。
図９はライセンスディレイにおける使用ライセンスリストの遷移を説明する図である。
【００４０】
まず、図７を参照して、ジョブキュー管理部３１の動作を説明する。ここでは、ジョブとライセンスの管理を行っている。
【００４１】
ジョブキュー管理部３１は、ジョブキュー３３の先頭からの位置を示す変数ｎ＝０とする（ステップＡ１）。
【００４２】
ユーザのジョブが保存されているジョブキュー３３のｎ番目からジョブを１個取り出す（ステップＡ２）。
【００４３】
取り出したジョブの実行に必要なライセンスをライセンスαとする。
【００４４】
ライセンスαが１個以上空きがあるかどうかをライセンス管理部３２に問い合わせを行う。ライセンス管理部３２がライセンスαに空きなし（ライセンスαを使用できない）の回答を返却した場合（ステップＡ３の「ない」）、ジョブキュー管理部３１はジョブをジョブキュー３３のｎ番目に戻す（ステップＡ４）。そして、ステップＡ７に進む。
【００４５】
ライセンス管理部３２がライセンスαに空きありの回答を返却した場合（ステップＡ３の「ある」）、ライセンス管理部３２はライセンス管理テーブル３４に記録されているライセンスαの空き数を−１する（ステップＡ５）。そして、ステップＡ６に進む。
【００４６】
ジョブキュー管理部３１は、取り出したジョブをジョブ実行装置４に配分し、ジョブ実行装置４にジョブ名とジョブ番号を通知してジョブの実行を依頼する。ジョブ実行装置４はジョブを実行する（ステップＡ６）。
【００４７】
ジョブキュー管理部３１は、ｎを＋１し（ステップＡ７）、上記の処理をジョブキュー３３の最後まで繰り返す（ステップＡ８）。
【００４８】
ジョブ実行装置４は、ジョブの実行が終了したら、ジョブキュー管理部３１にジョブ実行終了の通知を行う（ステップＡ９）。このとき、ジョブ実行装置４は終了したジョブのジョブ番号も通知する。
【００４９】
ジョブキュー管理部３１は、ジョブ番号と共にライセンスαが１個空いたことをライセンス管理部３２に通知する。ライセンス管理部３２はライセンス管理テーブル３４に記録されているライセンスαの空き数を＋１し、使用ライセンスリスト３５上の終了したジョブのジョブ番号に対応するエントリを削除する（ステップＡ１０）。
【００５０】
次に、図６と図８を参照して、ライセンス管理部３２の動作を説明する。ライセンス管理部３２では、ライセンスディレイ機能により、１ユーザにライセンスが独占されることを防いでいる。ライセンスディレイ時間ｈは、あるライセンスがあるユーザに使用されてから一定時間の間、同一のライセンスが同一のユーザから使用されないことを保障する時間である。
【００５１】
ジョブキュー管理部３１はライセンス名（本例ではライセンスα）とユーザＩＤとジョブ番号とを指定して、ライセンス管理部３２にライセンスαの空きについて問い合わせを行う。
【００５２】
ライセンス管理部３２は、まず、変数ｎを初期化する（ステップＢ１）。
【００５３】
ライセンス管理テーブル３４を参照して、使用ライセンス数ｘが全ライセンス数Ｘを超えていないかを調べる（ステップＢ２）。使用ライセンス数ｘが全ライセンス数Ｘと等しいか超えている場合には（ステップＢ２の「ｎｏ」）、ユーザはライセンスαを使用できない（ステップＢ８）。ライセンス管理部３２はライセンスαが使用できないことをジョブキュー管理部３１に回答する。
【００５４】
使用ライセンス数ｘが全ライセンス数Ｘより小さい場合には（ステップＢ２の「Ｙｅｓ」）、使用ライセンスリスト３５を先頭から調べ、同一ユーザで使用開始時間がライセンスディレイ時間ｈ以内のライセンスαが存在するかをチェックする（ステップＢ３〜ステップＢ７）。
【００５５】
同一ユーザで使用開始時間がライセンスディレイ時間ｈ以内のライセンスαが存在するならば（ステップＢ６の「Ｙｅｓ」）、その時点では、ユーザはライセンスαを使用できない（ステップＢ８）。ライセンス管理部３２はライセンスαが使用できないことをジョブキュー管理部３１に回答する。
【００５６】
同一ユーザで使用開始時間がライセンスディレイ時間ｈ以内のライセンスαが存在しない場合（ステップＢ３の「Ｙｅｓ」）、使用ライセンスリスト３５に、ライセンス名とユーザＩＤとライセンス使用開始時間（現在の時刻）とジョブ番号とを記録する（ステップＢ９）。
【００５７】
そして、ライセンス管理テーブルの使用ライセンス数ｘを＋１して更新する（ステップＢ１０）。未使用ライセンス数を−１する。
【００５８】
ライセンス管理部３２はライセンスαに空きありの回答をジョブキュー管理部３１に返却する（ステップＢ１１）。ユーザはライセンスαを使用可能となる（ユーザのジョブは実行可能となる）。
【００５９】
更に、図９を参照して、ライセンス管理部３２の動作をより具体的に説明する。
【００６０】
使用ライセンスリスト３５は図９（ａ）のようである。また、ライセンスディレイ時間は３０秒とする。
【００６１】
１０時４５分１０秒に、ユーザＩＤ＝ｕがライセンスαの使用を要求する。ユーザＩＤ＝ｕはライセンスディレイ時間内なので（１０時４５分００秒から３０秒経過していないので）、ライセンスαを使用できない。
【００６２】
１０時４５分２０秒に、ユーザＩＤ＝ｙがライセンスαの使用を要求する。ユーザＩＤ＝ｙはライセンスαを使用できる。ライセンス名とユーザＩＤとライセンス使用開始時間とジョブ番号とを使用ライセンスリスト３５に登録する。使用ライセンスリスト３５を図９（ｂ）のように更新する。
【００６３】
１０時４５分３５秒に、ユーザＩＤ＝ｕがライセンスαの使用を要求する。ユーザＩＤ＝ｕはライセンスαを使用できる（１０時４５分００秒から３０秒経過したので）。ライセンス名とユーザＩＤとライセンス使用開始時間とジョブ番号とを使用ライセンスリスト３５に登録する。使用ライセンスリスト３５を図９（ｃ）のように更新する。
【００６４】
次に、ライセンス管理部３２のライセンスの開放処理について説明する。
【００６５】
ジョブキュー管理部３１は、ジョブ番号と共にライセンスαが１個空いたことをライセンス管理部３２に通知する。
【００６６】
ライセンス管理部３２はライセンス管理テーブル３４の使用ライセンス数ｘを−１して更新する。未使用ライセンス数を＋１する。使用ライセンスリスト３５上の終了したジョブのジョブ番号に対応するエントリを削除する。
【００６７】
上記説明したように、ライセンスディレイ時間ｈ以内であれば同一ユーザに同一ライセンスを割り当てない手段を設けたことにより、１ユーザにライセンスが独占されることを防止するという効果を有する。
【００６８】
次に、第２の実施例について説明する。第２の実施例は、利用されていないライセンスを動的に振り分ける形態である。
【００６９】
先ず、第２の実施例の構成について、図面を参照して詳細に説明する。
図１０は本発明の第２の実施例の構成を示す図である。
図１１はプロジェクトライセンス管理テーブルの例を示す図である。
図１６はジョブキューの例を示す図である。
【００７０】
図１０を参照すると、本発明の第２の実施例は、ユーザ端末５と、ジョブ受付装置６と、キューシステム装置７と、ジョブ実行装置４とを備えている。図１０では、１つのユーザ端末が図示されているが、ユーザ端末は複数でもよい。
【００７１】
ユーザ端末５は、上述した第１の実施例のユーザ端末１と同等である。なお、ジョブ名をジョブ受付装置６に送出する手段において、ジョブ名を送出するときに、ジョブを実行するのに必要なライセンス名に加えてプロジェクト名も送出する。プロジェクト名はユーザに入力させてもよい。あるいは、ユーザ端末５にジョブ名とプロジェクト名との対応テーブルを備え、入力されたジョブ名からプロジェクト名を取得するようにしてもよい。
【００７２】
ジョブ受付装置６は、上述した第１の実施例のジョブ受付装置２と同等である。なお、ユーザ端末５から送出されたジョブ名を受け付ける手段において、ライセンス名に加えてプロジェクト名も受け付ける。また、受け付けたジョブ名をキューシステム装置７に送信してジョブキュー３３への登録を依頼する手段において、ライセンス名に加えてプロジェクト名も送信する。
【００７３】
キューシステム装置７は、プログラム制御で動作する情報処理装置であり、ジョブキュー管理部７１とライセンス管理部７２とジョブキュー７３とプロジェクトライセンス管理テーブル７４とを有する。
【００７４】
ジョブキュー管理部７１は、上述した第１の実施例のジョブキュー管理部３１と同等である。ジョブキュー７３の例を図３に示す。取り出したジョブの実行に必要なライセンスに空きがあるか否かをライセンス管理部７２に問い合わせるときに、プロジェクト名も付加して問い合わせる。
【００７５】
ライセンス管理部７２は、以下の手段を含む。
（７２−１）ジョブキュー管理部７１から問い合わせのあったライセンスに空きがあるか否かをプロジェクトライセンス管理テーブル７４を参照してチェックし、チェック結果をジョブキュー管理部７１に回答する手段。プロジェクトライセンス管理テーブル７４の例を図１１に示す。プロジェクトライセンス管理テーブル７４内のライセンステーブルは、元々割り付けられていたプロジェクトを示す項（元プロジェクト名と称すこともある）と最終使用時刻と使用中フラグと貸出しているジョブ番号とを含む。プロジェクトライセンス管理テーブル７４の領域は、例えば磁気ディスク等の補助記憶装置（図示せず）などに確保される。
（７２−２）ライセンス取得処理手段。すなわち、プロジェクトライセンス管理テーブル７４において、使用中フラグが「未使用」のライセンステーブルの中から選択し、選択したライセンステーブルの使用中フラグを「使用中」に設定する。ライセンス取得処理手段の動作の詳細を図１４に示す。
（７２−３）ライセンス再配置手段。すなわち、その時点で一番ライセンスの使用率の高いプロジェクトへ優先的にライセンスを回すライセンス再配置を行う。ライセンス再配置手段の動作の詳細を図１３に示す。
（７２−４）ライセンス開放手段。すなわち、ジョブが終了してライセンスに１つの空きが生じたときに、プロジェクトライセンス管理テーブル７４に反映する。ライセンス開放手段の動作の詳細を図１５に示す。
【００７６】
次に、第２の実施例の動作について、図面を参照して詳細に説明する。
図１２はライセンスオートムーブを説明する図である。
図１３はライセンス管理部におけるライセンス再配置処理の動作の流れを示す図である。
図１４はライセンス管理部におけるライセンス取得処理の動作の流れを示す図である。
図１５はライセンス管理部におけるライセンス開放処理の動作の流れを示す図である。
【００７７】
次に、図１１〜図１５を参照して、ライセンス管理部７２の動作を説明する。
【００７８】
プロジェクト毎にライセンスが一定数振り分けられている時、プロジェクトライセンス管理テーブル７４は図１０に示すように、プロジェクトに割り当てられたライセンスの数だけライセンステーブルが存在する。各ライセンステーブルは、元々割り付けられていたプロジェクトを示す項，ライセンスが使用されていた最終時刻を示す項，ライセンスが使用中であるかどうかを示すフラグ，および貸出しているジョブ番号を含んでいる。
【００７９】
最初に、図１３を参照して、ライセンスの再配置（ライセンスオートムーブ）について説明する。
【００８０】
まず、プロジェクトライセンス管理テーブル７４の全ライセンステーブルから、プロジェクト！＝元プロジェクト（すなわち別プロジェクトから一時的に再配分されているライセンステーブル）であり、使用フラグが降りており（つまり未使用）、かつ最終使用時刻と現在時刻の差がｋ（ライセンス未使用時に再配置を行う待ち時間）を超えるものをテーブルバッファ（図１０には図示せず）へ入れる（ステップＣ１）。テーブルバッファは一時的にライセンステーブルを記録するバッファである。
【００８１】
テーブルバッファが一杯になるか、全ライセンステーブルの検索を終えたら、テーブルバッファのライセンステーブルの最終使用時刻を現在時刻に更新する（ステップＣ２）。
【００８２】
テーブルバッファの各ライセンステーブルを元プロジェクトへ追加する（ステップＣ３）。ここまでの操作により、既に再配分されていながら長時間未使用のままのライセンスは元のプロジェクトに戻される。
【００８３】
次に、実際のライセンスの再配分を行うため、まず、各プロジェクトのライセンス使用率を算出する。ライセンス使用率は次の式により算出する。「ライセンス使用率＝ライセンス使用中フラグが立っているライセンステーブルの数／ライセンステーブルの総数」。そして、ライセンス使用率の低い順にプロジェクトをソートする（ステップＣ４）。
【００８４】
ライセンス使用率の低いプロジェクトから順番にライセンステーブルを調査する（ステップＣ５）。
【００８５】
ライセンステーブルの最終使用時刻を調べ、ライセンス最終使用時刻と現在時刻の差がk（ライセンス未使用時に再配置を行う待ち時間）を越えるライセンステーブルがあれば、これをテーブルバッファへ一時退避させる（ステップＣ６）。
【００８６】
テーブルバッファが一杯になるか、全プロジェクトのライセンスサーチが完了したら、次の処理に移る（ステップＣ７）。
【００８７】
テーブルバッファ中のライセンステーブルの最終使用時刻を現在時刻に更新し、テーブルバッファに退避されたライセンステーブルをライセンス使用率の一番高いプロジェクトに追加する（ステップＣ８）。
【００８８】
一定時間（例えば１〜２秒）待ち（ステップＣ９）、ステップＣ１に戻る。
【００８９】
この操作を行うことで、その時点で一番ライセンスの使用率の高いプロジェクトへ優先的にライセンスを回すことができるようになる。また、テーブルバッファの大きさを調整することにより、一度に再配分されるライセンス本数を制限することができ、これにより一箇所のプロジェクトのみにライセンスが集中されることを防ぐことができる。
【００９０】
次に、図１４を参照して、ライセンスの取得処理について説明する。
【００９１】
ライセンスを取得する場合、まず、該当プロジェクトのライセンステーブルから、プロジェクト＝元プロジェクト（元々自プロジェクトに割り付けられているライセンステーブル）で、かつ未使用であるものを検索する（ステップＤ１）。
【００９２】
該当するものがあれば（ステップＤ２の「Ｙｅｓ」）、その使用中フラグを上げ（ステップＤ６）、ライセンス取得を完了とする（ステップＤ７）。
【００９３】
該当するものがなければ（ステップＤ２の「Ｎｏ」）、該当プロジェクトのライセンステーブル中のプロジェクト！＝元プロジェクト（元々他プロジェクトに割り付けられているライセンステーブルで他プロジェクトから一時的に再配分されているライセンステーブル）で、かつ未使用であるものを検索する（ステップＤ３）。
【００９４】
該当するものが無ければ（ステップＤ４の「Ｎｏ」）、ライセンス取得はできない（ステップＤ８）。
【００９５】
該当するものがあれば（ステップＤ４の「Ｙｅｓ」）、該当ライセンスの中から最終使用時刻が一番最近のものを選び（ステップＤ５）、その使用中フラグを上げ（ステップＤ６）、ライセンス取得完了とする（ステップＤ７）。
【００９６】
この操作により、なるべく自プロジェクト自身に割り当てられたライセンスを優先して使用し、かつ他プロジェクトから再配分されたライセンスが元プロジェクトへ戻りやすくすることができる。
【００９７】
次に、図１５を参照して、ライセンスの開放処理について説明する。
【００９８】
ジョブが終了して、ライセンスに１つの空きが生じる（ステップＥ１）。
【００９９】
終了したジョブのジョブ番号でプロジェクトライセンス管理テーブル７４のライセンステーブルを検索し、ライセンステーブルの元プロジェクト名から元々割り付けられていたプロジェクト名を抽出する（ステップＥ２）。
、ジョブキュー７３上で、抽出したプロジェクト名のライセンスを待っているジョブがあるかどうかを確認する（ステップＥ３）。
【０１００】
もし、該当するジョブがあるならば（ステップＥ４の「Ｙｅｓ」）、開放されたライセンスに該当するライセンステーブルを元プロジェクト名で示すプロジェクトに移動する（ステップＥ５）。そして、ステップＥ７に進む。
【０１０１】
もし、該当するジョブが無いならば（ステップＥ４の「Ｎｏ」）、ライセンステーブルの移動は行わず、ライセンステーブルは現在のプロジェクトに配置されたままにする（ステップＥ６）。
【０１０２】
その後、使用中フラグを下ろし、該当ライセンステーブル中の最終更新時刻を現在時刻に更新する（ステップＥ７）。
【０１０３】
ライセンスの開放を終了とする（ステップＥ８）。
【０１０４】
この操作により、元のプロジェクトが必要としたとき、できるだけ迅速に再配置されたライセンスは元プロジェクトに戻される。
【０１０５】
上記説明したように、利用されていないライセンスを動的に振り分けるライセンス再配置手段を設けたので、ライセンスの利用効率を上げるという効果を有している。
【０１０６】
上述した実施例では、ジョブ受付装置とキューシステム装置とを別々に設けているが、ジョブ受付装置にキューシステム装置を含むようにしてもよい。
【０１０７】
上述した実施例では、ライセンスディレイ機能とライセンスオートムーブ機能とを別々の実施の形態としたが、ライセンス管理部に両方の機能を持たせるようにしてもよい。
【０１０８】
本発明による上述した実施の形態において、キューシステム装置の処理動作を実行するためのプログラム等を、データとしてキューシステム装置の磁気ディスクやＲＯＭ等の記録媒体（図示せず）に記録するようにし、記録されたデータを読み出してキューシステム装置を動作させるために用いる。このように、本発明によるキューシステム装置を動作させるデータを記録媒体に記録させ、この記録媒体をインストールすることによりキューシステム装置の機能が実現できるようになる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の第１の実施例の構成を示す図
【図２】本発明の構成を説明する図
【図３】ジョブキューの例を示す図
【図４】ライセンス管理テーブルの例を示す図
【図５】使用ライセンスリストの例を示す図
【図６】ライセンスディレイを説明する図
【図７】ジョブキュー管理部の動作の流れを示す図
【図８】ライセンス管理部のライセンスディレイ機能の動作の流れを示す図
【図９】ライセンスディレイにおける使用ライセンスリストの遷移を説明する図
【図１０】本発明の第２の実施例の構成を示す図
【図１１】プロジェクトライセンス管理テーブルの例を示す図
【図１２】ライセンスオートムーブを説明する図
【図１３】ライセンス管理部におけるライセンス再配置処理の動作の流れを示す図
【図１４】ライセンス管理部におけるライセンス取得処理の動作の流れを示す図
【図１５】ライセンス管理部におけるライセンス開放処理の動作の流れを示す図
【図１６】ジョブキューの例を示す図
【符号の説明】
【０１１０】
１    ユーザ端末
２    ジョブ受付装置
３    キューシステム装置
４    ジョブ実行装置
５    ユーザ端末
６    ジョブ受付装置
７    キューシステム装置
９    ネットワーク
３１    ジョブキュー管理部
３２    ライセンス管理部
３３    ジョブキュー
３４    ライセンス管理テーブル
３５    使用ライセンスリスト
７１    ジョブキュー管理部
７２    ライセンス管理部
７３    ジョブキュー
７４    プロジェクトライセンス管理テーブル
【図１】
2006330842.tif 000003
【図２】
2006330842.tif 000004
【図３】
2006330842.tif 000005
【図４】
2006330842.tif 000006
【図５】
2006330842.tif 000007
【図６】
2006330842.tif 000008
【図７】
2006330842.tif 000009
【図８】
2006330842.tif 000010
【図９】
2006330842.tif 000011
【図１０】
2006330842.tif 000012
【図１１】
2006330842.tif 000013
【図１２】
2006330842.tif 000014
【図１３】
2006330842.tif 000015
【図１４】
2006330842.tif 000016
【図１５】
2006330842.tif 000017
【図１６】
2006330842.tif 000018