(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置と、前記情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、
前記排他制御装置が、
前記情報処理装置から前記資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する前記情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す第１の通知を作成して全ての前記情報処理装置に送信し、前記情報処理装置から前記第１の通知に対する第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成する
参照ロック処理手段と、
前記第１の通知を複数の前記情報処理装置に送信し、
前記第２の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する
情報通信手段と
を含み、
前記情報処理装置が、
所定の要求元より前記資源に関する前記参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する
要求処理手段と、
前記排他制御装置から前記第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、前記第１の応答を前記排他制御装置に送信し、
前記排他制御装置から前記第２の応答を受信した場合に、前記第２の応答を前記要求元に送信する
資源情報処理手段と
を含む
情報処理システム。
【請求項２】
前記排他制御装置が、さらに、
前記情報処理装置から前記資源を更新するための要求である更新ロック要求を受信し、
前記更新ロック要求に対応する第２の通知を作成し、前記情報処理装置から前記第２の通知に対応する第１の応答を受信し、所定の前記資源に関する情報を削除し、前記資源に関する前記第１の情報を保存し、前記資源に関する第２の応答を作成する
更新ロック処理手段を含み、
前記情報通信手段が、前記第２の通知を複数の前記情報処理装置に送信し、
前記資源情報処理手段が、前記第２の通知に対応した前記第２の情報を削除し、前記第
１の応答を前記排他制御装置に送信する
請求項１に記載の情報処理システム。
【請求項３】
情報処理装置から資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す第１の通知を作成して全ての情報処理装置に送信し、情報処理装置から前記第１の通知に対する第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成し、
前記第１の通知を複数の情報処理装置に送信し、
前記第２の応答を、前記参照ロック要求を送信した情報処理装置に送信する
排他制御装置を含む情報処理システムにおいて、
所定の要求元より前記参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する
要求処理手段と、
前記排他制御装置から前記第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、前記第１の応答を前記排他制御装置に送信し、
前記排他制御装置から前記第２の応答を受信した場合に、前記第２の応答を前記要求元に送信する
資源情報処理手段と
を含む
を含む情報処理装置。
【請求項４】
所定の要求元より資源に関する資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に応答済みを示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に未応答を示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、
排他制御装置から第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、第１の応答を排他制御装置に送信し、
排他制御装置から第２の応答を受信した場合に、前記第２の応答を前記要求元に送
信する
複数の情報処理装置を含む情報処理システムにおいて、
前記情報処理装置から前記参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する前記情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す前記第１の通知を作成して全ての前記情報処理装置に送信し、前記情報処理装置から前記第１の通知に対する前記第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する前記第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成する
参照ロック処理手段と、
前記第１の通知を複数の前記情報処理装置に送信し、
前記第２の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する
情報通信手段と
を含む排他制御装置。
【請求項５】
複数の情報処理装置と、前記情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、
前記排他制御装置が、
前記情報処理装置から前記資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する前記情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す第１の通知を作成して全ての前記情報処理装置に送信し、前記情報処理装置から前記第１の通知に対する第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成し、
前記第１の通知を複数の前記情報処理装置に送信し、
前記第２の応答を前記参照ロック要求を送信した前記情報処理装置に送信し、
前記情報処理装置が、
所定の要求元より前記資源に関する前記参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、
前記排他制御装置から前記第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、前記第１の応答を前記排他制御装置に送信し、
前記排他制御装置から前記第２の応答を受信した場合に、前記第２の応答を前記要求
元に送信する
情報処理方法。
【請求項６】
情報処理装置から資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す第１の通知を作成して全ての情報処理装置に送信し、情報処理装置から前記第１の通知に対する第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成し、
前記第１の通知を複数の情報処理装置に送信し、
前記第２の応答を、前記参照ロック要求を送信した情報処理装置に送信する
排他制御装置を含む情報処理システムにおいて、
情報処理装置が、
所定の要求元より前記参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、
前記排他制御装置から前記第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、前記第１の応答を前記排他制御装置に送信し、
前記排他制御装置から前記第２の応答を受信した場合に、前記第２の応答を前記要求元に送信する
情報処理方法。
【請求項７】
所定の要求元より資源に関する資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に応答済みを示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に未応答を示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、
排他制御装置から第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、第１の応答を排他制御装置に送信し、
排他制御装置から第２の応答を受信した場合に、前記第２の応答を前記要求元に送信する
複数の情報処理装置を含む情報処理システムにおいて、
排他制御装置が、
前記情報処理装置から前記参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する前記情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す前記第１の通知を作成して全ての前記情報処理装置に送信し、前記情報処理装置から前記第１の通知に対する前記第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する前記第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成し、
前記第１の通知を複数の前記情報処理装置に送信し、
前記第２の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する
排他制御方法。
【請求項８】
情報処理装置から資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す第１の通知を作成して全ての情報処理装置に送信し、情報処理装置から前記第１の通知に対する第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する第２の応答を作成し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成し、
前記第１の通知を複数の情報処理装置に送信し、
前記第２の応答を、前記参照ロック要求を送信した情報処理装置に送信する
排他制御装置を含む情報処理システムにおいて、
所定の要求元より前記参照ロック要求を受信する処理と、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する処理と、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する処理と、
前記排他制御装置から前記第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、前記第１の応答を前記排他制御装置に送信する処理と、
前記排他制御装置から前記第２の応答を受信した場合に、前記第２の応答を前記要求元に送信する処理と
をコンピュータに実行させるプログラム。
【請求項９】
所定の要求元より資源に関する資源を参照するための要求であり、要求を依頼した要求元であるタスクを示すタスクＩＤを含む参照ロック要求を受信し、
前記参照ロック要求に対応する前記資源に関する第２の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第３の応答を送信し、前記参照ロック要求を基に応答済みを示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、
前記参照ロック要求に対応する前記資源に関する前記第２の情報が保存されていない場合に、前記参照ロック要求を基に未応答を示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、
排他制御装置から第１の通知を受信した場合に、前記第１の通知に対応する前記第２の情報を保存し、第１の応答を排他制御装置に送信し、
排他制御装置から第２の応答を受信した場合に、前記第２の応答を前記要求元に送
信する
複数の情報処理装置を含む情報処理システムにおいて、
前記情報処理装置から前記参照ロック要求を受信する処理と、
前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、参照ロックを取得している前記資源に関する情報を保存する前記情報処理装置のロックテーブルに対して前記資源に関する情報を追加するために、前記資源が参照としてロックされたことを示す前記第１の通知を作成して全ての前記情報処理装置に送信し、前記情報処理装置から前記第１の通知に対する前記第１の応答を受信し、前記資源のアクセスに関する第１の情報として、前記資源のロック情報を示すデータである排他制御テーブルに、前記タスクＩＤと、ロック種別と、次タスクとを含むタスクエントリを、要求対象の前記資源毎に、ロック成功の前記タスクを示すロック列又はロック待ちとなっている前記タスクを示す列に保存し、前記資源に関する前記第２の応答を作成する処理と、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存する処理と、
前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第１の情報を保存し、前記資源に関する前記第２の応答を作成する処理と、
前記第１の通知を複数の前記情報処理装置に送信する処理と、
前記第２の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、資源を管理する情報処理システム、情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
情報処理システムに含まれる情報処理装置は、情報処理システムに含まれる資源（リソース）を用いて動作する。資源には、複数の情報処理装置から共有して使用される資源がある。
【０００３】
複数の情報処理装置が、データを保存する共有資源（ファイル又はデータベースなど）を同時に更新した場合、共有資源のデータにおいて、一貫性が失われる。あるいは、いずれかの情報処理装置が共有資源を参照している最中に、他の情報処理装置がデータを更新した場合、データの一貫性が失われる。このように、共有資源におけるデータの更新を管理しない場合、共有資源においてデータの一貫性が損なわれる。
【０００４】
そこで、共有資源のデータを保護するため、一般的に、情報処理システムは、共有資源の管理として、排他制御装置を用いる（例えば、特許文献１を参照）。
【０００５】
情報処理装置は、共有資源を使用する場合、資源にアクセスする前に、排他制御装置から資源に対するアクセス権を取得する。そして、情報処理装置は、アクセス権を取得した資源を利用する。
【０００６】
一般的に、資源に対するアクセス権には、２種類のアクセス権がある。
【０００７】
第１のアクセス権は、資源のデータを参照する場合（データを更新しない場合）のアクセス権である。第１のアクセス権は、「参照権」と呼ばれる。参照権を取得した情報処理装置は、共有資源のデータを更新できない。
【０００８】
第２のアクセス権は、資源のデータを更新する場合のアクセス権である。第２のアクセス権は、「更新権」と呼ばれる。更新権を取得した情報処理装置は、共有資源のデータを更新できる。
【０００９】
情報処理装置は、資源の使用目的に合わせてアクセス権を取得し、アクセス権の取得後に、目的の資源のデータにアクセスする。
【００１０】
このように、情報処理装置が、共有資源にアクセスする場合、実際に資源のデータをアクセスする時間に加え、アクセス権を取得するための時間が必要となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０００−２１５１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記のとおり、情報処理装置は、共有資源を更新する場合に限らず、共有資源を参照する場合でも、排他制御装置に資源にアクセスするための要求を送信し、排他制御装置からはその要求に対するアクセス可否を判断した結果である応答を受信する。
【００１３】
つまり、情報処理装置は、資源にアクセスする場合、資源にアクセスする時間に加え、排他制御装置のとの通信の時間が必要である。
【００１４】
近年、共有資源であるディスク装置等の性能が、高速化している。つまり、データの転送時間が、短くなっている。その結果、情報処理システムの処理性能において、情報処理装置と排他制御装置との通信に必要となる時間の比率が、大きくなっている。そこで、この時間の削減が望まれている。しかし、特許文献１に記載の発明は、情報処理装置と排他制御装置との時間を削減するものではない。
【００１５】
このように、特許文献１に記載の発明は、情報処理装置と排他制御装置との通信の時間が大きいという問題点があった。
【００１６】
本発明の目的は、上記問題点を解決し、情報処理装置と排他制御装置との通信に掛かる時間を削減する情報処理システム、情報処理装置、情報処理方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の一形態における情報処理システムは、複数の情報処理装置と、情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、排他制御装置が、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成する参照ロック処理手段と、第１の通知を複数の情報処理装置に送信し、第２の応答を、参照ロック要求を送信した情報処理装置に送信する情報通信手段とを含み、情報処理装置が、所定の要求元より資源に関する参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信する要求処理手段と、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する資源情報処理手段とを含む。
【００１８】
本発明の一形態における情報処理装置は、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成し、第１の通知を複数の情報処理装置に送信し、第２の応答を、参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、所定の要求元より参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信する要求処理手段と、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する資源情報処理手段とを含む。
【００１９】
本発明の一形態における排他処理装置は、所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、情報処理装置から参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成する参照ロック処理手段と、第１の通知を複数の情報処理装置に送信し、第２の応答を、参照ロック要求を送信した情報処理装置に送信する情報通信手段とを含む。
【００２０】
本発明の一形態における情報処理方法は、複数の情報処理装置と、情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、排他制御装置が、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成し、第１の通知を複数の情報処理装置に送信し、第２の応答を参照ロック要求を送信した情報処理装置に送信し、情報処理装置が、所定の要求元より資源に関する参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する。
【００２１】
本発明の一形態における第２の情報処理方法は、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成し、第１の通知を複数の情報処理装置に送信し、第２の応答を、参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、情報処理装置が、所定の要求元より参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する。
【００２２】
本発明の一形態における排他処理方法は、所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、排他制御装置が、情報処理装置から参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成し、第１の通知を複数の情報処理装置に送信し、第２の応答を、参照ロック要求を送信した情報処理装置に送信する。
【００２３】
本発明の一形態におけるプログラムは、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成し、第１の通知を複数の情報処理装置に送信し、第２の応答を、参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、所定の要求元より参照ロック要求を受信する処理と、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信する処理と、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信する処理と、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信する処理と、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する処理とをコンピュータに実行させる。
【００２４】
本発明の一形態における第２のプログラムは、所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置に送信し、排他制御装置から第２の応答を受信した場合に、第２の応答を要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、情報処理装置から参照ロック要求を受信する処理と、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第１の通知を作成し、情報処理装置から第１の通知に対する第１の応答を受信し、資源のアクセスに関する第１の情報を保存し、資源に関する第２の応答を作成する処理と、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存する処理と、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第１の情報を保存し、資源に関する第２の応答を作成する処理と、第１の通知を複数の情報処理装置に送信する処理と、第２の応答を、参照ロック要求を送信した情報処理装置に送信する処理とをコンピュータに実行させる。
【発明の効果】
【００２５】
本発明に基づけば、情報処理装置と排他制御装置との通信に掛かる時間を削減するとの効果を奏することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明における第１の実施形態に係る情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置のロック制御部の構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態に係る排他制御装置の構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態に係る要求の形式の一例を示す図である。
【図５】図５は、第１の実施形態に係る排他制御テーブルに記憶されているデータの一例を模式的に示す図である。
【図６】図６は、第１の実施形態における未登録の資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【図７】図７は、第１の実施形態における登録済みの資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【図８】図８は、第１の実施形態におけるアンロック要求に関する動作の一例を示すシーケンス図である。
【図９】図９は、第１の実施形態におけるＳロックをアンロック後にＸロックが発生していない資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【図１０】図１０は、第１の実施形態におけるＳロックが存在する資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【図１１】図１１は、第１の実施形態におけるＳロック及びＸロックがない資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【図１２】図１２は、第１の実施形態に係る参照ロック処理部の動作の一例を示すフローチャートである。
【図１３】図１３は、第１の実施形態に係る更新ロック処理部の動作の一例を示すフローチャートである。
【図１４】図１４は、第１の実施形態に係るアンロック処理部の動作の一例を示すフローチャートである。
【図１５】図１５は、第１の実施形態に係るコマンド解析部の動作の一例を示すフローチャートである。
【図１６】図１６は、第１の実施形態に係る排他制御装置通信部の動作の一例を示すフローチャートである。
【図１７】図１７は、本発明における情報処理システムの概要の構成の一例を示すブロック図である。
【図１８】図１８は、本発明における変形例である情報処理装置の構成の一例を示すブロック図である。
【図１９】図１９は、第１の実施形態におけるＸロックされている資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【図２０】図２０は、第１の実施形態におけるＸロックされている資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【図２１】図２１は、第１の実施形態におけるＸロックされた後にアンロックされた資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【図２２】図２２は、第１の実施形態における未登録の資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２７】
次に、本発明の実施形態について図面を参照して説明する。
【００２８】
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００２９】
［用語の説明］
本発明における実施形態の説明に先立ち、説明に用いる用語について整理する。
【００３０】
「資源（リソース）」とは、情報処理システムにおける情報処理装置が、動作において利用する要素である。例えば、資源は、ＣＰＵの処理能力及び処理時間、メモリの容量、ハードディスクの容量、又は、通信帯域である。
【００３１】
「共有資源」とは、複数の情報処理装置において共有される資源である。例えば、共有資源は、ファイル、データベース、又は、共有装置である。以下の説明では、特に断らない限り、資源とは、共有資源である。
【００３２】
「ロック成功」とは、資源へのアクセスが許可された状態である。つまり、ロック成功とは、アクセス権が確保されたことである。
【００３３】
「ロック待ち」とは、資源のアクセスが不許可のため、アクセスの許可の状態（ロック成功）となることを待っている状態である。
【００３４】
「ロック種別」とは、資源のアクセス時におけるアクセス権の種別である。ロック種別は、少なくとも、次に説明するＳロックとＸロックとを含む。
【００３５】
「Ｓロック」とは、資源に対して、同時に複数の情報処理装置からアクセスが許可されるロック種別である。ただし、Ｓロックは、データの更新を許可しない。つまり、Ｓロックは、参照のアクセスを許可するロック種別である。そのため、Ｓロックは、「参照ロック」とも呼ばれる。さらに、Ｓロックは、同一の資源に対して、下記のＸロックとは同時には設定されない。Ｓロックの一例が、上記の参照権である。Ｓロック要求は、情報処理装置が排他制御装置に所定の資源に対するＳロックの確保を依頼する要求である。そのため、Ｓロック要求は、資源に関する情報を含む。
【００３６】
「Ｘロック」とは、資源に対して、排他的にアクセスが許可されるロック種別である。Ｘロックは、資源のデータを更新するときなどに使用される。そのため、Ｘロックは、「更新ロック」とも呼ばれる。Ｘロックは、例えば、資源のデータを更新するとき、又は、１台の情報処理装置が資源を占有的に使用するときに用いられる。Ｘロックの一例が、上記の更新権である。Ｘロック要求は、情報処理装置が排他制御装置に所定の資源に対するＸロックの確保を依頼する要求である。そのため、Ｘロック要求は、資源に関する情報を含む。
【００３７】
「ロックする」とは、上記のように、資源に対するＳロック又はＸロックを取得することである。例えば、資源に対するＳロック又はＸロックを得ることは、「その資源をロックする」と表現される。
【００３８】
「アンロック」とは、ロックした資源からロック（例えば、Ｓロック）を解除することである。アンロック要求は、情報処理装置が排他制御装置に所定の資源に対するアンロックを依頼する要求である。そのため、アンロック要求は、資源に関する情報を含む。
【００３９】
「Ｓ資源」とは、Ｘロックの要求に対してＳロックの要求頻度が高い資源である。Ｓ資源の設定元は、特に制限されない。例えば、予め、排他制御装置が、Ｓ資源となる資源に関する情報を保持してもよい。あるいは、情報処理装置が、排他制御装置に指定してもよい。
【００４０】
＜第１の実施形態＞
次に、本発明における第１の実施形態について、図面を参照して説明する。
【００４１】
以下の説明において、情報処理装置が、資源を利用する。詳細には、情報処理装置上で動作するソフトウェアが、その動作において、資源を利用する。ソフトウェアは、所定の処理単位を用いて管理されている。この処理単位として、処理系それぞれにおいて、いろいろな用語が用いられている。このような用語として、例えば、タスク、モジュール、又は、スレッドなどがある。一般的なアプリケーション及びＯＳ（Operating System）は、上記の処理単位の集合として動作する。本実施形態において、処理単位は、制限されない。そこで、以下の説明では、一例として、タスクを用いる。
【００４２】
つまり、上記のように本発明における実施形態に係る情報処理装置は、資源を利用する。そして、詳細には、情報処理装置に含まれるタスクが、資源を利用する。ただし、本発明において、資源を用いる主体は、上記に限定されない。
【００４３】
［構成と各構成の動作の説明］
まず、図面を参照して、第１の実施形態の構成及び各構成の動作を説明する。
【００４４】
図１は、本発明における第１の実施形態に係る情報処理システム１００の構成の一例を示すブロック図である。
【００４５】
情報処理システム１００は、複数の情報処理装置１０と、排他制御装置４０とを含む。
【００４６】
情報処理装置１０は、図示しない資源を用いて、処理を実行する。情報処理装置１０は、資源を用いる場合、資源に対してＳロック又はＸロックを確保する。また、情報処理装置１０は、資源に対するアンロックを依頼する。なお、既に説明しているように、詳細として情報処理装置１０上で動作しているタスクが、資源を利用する。つまり、タスクは、Ｓロック要求、Ｘロック要求、及び、アンロック要求の要求元である。
【００４７】
情報処理装置１０は、ロック制御部２０を含む。
【００４８】
ロック制御部２０は、情報処理装置１０における資源をロックする動作を制御する。ロック制御部２０は、ロックテーブル３０を含む。
【００４９】
ロックテーブル３０は、Ｓロックを取得している資源に関する情報を保存する。
【００５０】
ロック制御部２０及びロックテーブル３０については、後ほど詳細に説明する。
【００５１】
排他制御装置４０は、情報処理装置１０からの要求に対して、資源に対するアクセス権を管理する。アクセス権の管理の一例は、排他制御である。そこで、以下の説明において、アクセス権の管理の一例として「排他制御」を用いて説明する。つまり、排他制御装置４０は、資源の排他制御を実行する。詳細には、排他制御装置４０は、情報処理装置１０からの各種の要求に対して、資源の排他制御を実行し、情報処理装置１０に結果である応答を送信する。排他制御装置４０は、排他制御テーブル５０を含む。
【００５２】
排他制御テーブル５０は、資源のロックに関連する情報を保存する。
【００５３】
排他制御装置４０及び排他制御テーブル５０については、後ほど詳細に説明する。
【００５４】
次に、図面を参照して、情報処理装置１０のロック制御部２０の構成の詳細について説明する。
【００５５】
図２は、第１の実施形態に係る情報処理装置１０のロック制御部２０の構成の一例を示すブロック図である。図２に示されているようにロック制御部２０は、コマンド解析部２０１と、排他制御装置通信部２０２と、ロックテーブル３０とを含む。
【００５６】
図２及び図１５を参照して、コマンド解析部２０１について、動作を含め説明する。
【００５７】
図１５は、第１の実施形態に係るコマンド解析部２０１の動作の一例を示すフローチャートである。
【００５８】
コマンド解析部２０１は、要求元から、資源に対する要求（Ｓロック要求、Ｘロック要求、又は、アンロック要求）の依頼を受け取る。例えば、ロック制御部２０は、上位層となっているタスクから要求を受け取る。つまり、ロック制御部２０は、上位層から資源に対する要求を受け取る。ただし、ロック制御部２０の要求元は、上位層に限られない。
【００５９】
コマンド解析部２０１は、要求が、Ｓロック要求であるか否かを判定する（ステップＳ４０１）。
【００６０】
Ｓロック要求の場合（ステップＳ４０１でＹｅｓ）、コマンド解析部２０１は、ロックテーブル３０において、要求された資源に関する情報を検索する（ステップＳ４０２）。例えば、資源が識別子（Identifier（ＩＤ））を用いて管理されている場合、コマンド解析部２０１は、ロックテーブル３０に、要求された資源の識別子（ＩＤ）が含まれているか否かを検索する。
【００６１】
そして、コマンド解析部２０１は、検索結果を判定する。つまり、コマンド解析部２０１は、資源に関する情報がロックテーブル３０に含まれているか否かを判定する（ステップＳ４０３）。
【００６２】
資源に関する情報がロックテーブル３０に含まれている場合（ステップＳ４０３でＹｅｓ）、コマンド解析部２０１は、要求元（例えば、タスク）にロック成功の応答を送信する（ステップＳ４０４）。
【００６３】
このように、ロック制御部２０のコマンド解析部２０１は、ロックテーブル３０に情報が含まれる資源に対するＳロック要求に対して、排他制御装置４０との通信の前に、ロック成功の応答を要求元に送信する。つまり、ロック制御部２０は、Ｓロック要求における排他制御装置４０との応答時間を削減して、要求元に応答を送信する。要求元は、この応答を用いて動作を継続する。そのため、情報処理装置１０は、要求元の処理時間を削減することができる。
【００６４】
要求元に応答を送信後、コマンド解析部２０１は、排他制御装置４０に、「応答済み」の情報（例えば、フラグ）を付加したＳロック要求を送信する（ステップＳ４０６）。以下、応答済みの情報を付加したＳロック要求を「Ｓロック要求（応答済み）」とする。ロック制御部２０のコマンド解析部２０１は、Ｓロック要求（応答済み）を用いて、排他制御装置４０に、要求された資源に対するＳロック要求を依頼する。
【００６５】
そして、コマンド解析部２０１は、処理を終了する。
【００６６】
資源に関する情報がロックテーブル３０に含まれていない場合（ステップＳ４０３でＮｏ）、コマンド解析部２０１は、排他制御装置４０に、「未応答」を示す情報（例えば、フラグ）を付加してＳロック要求を送信する（ステップＳ４０５）。以下、未応答の情報を付加したＳロック要求を「Ｓロック要求（未応答）」とする。そして、コマンド解析部２０１は、処理を終了する。
【００６７】
Ｓロック要求でない場合（ステップＳ４０１でＮｏ）、つまりＸロック要求又はアンロック要求の場合、コマンド解析部２０１は、Ｘロック要求又はアンロック要求を、排他制御装置４０に送信する（ステップＳ４０７）。コマンド解析部２０１は、Ｘロック要求及びアンロック要求に「未対応」を示す情報を付加してもよい。例えば、排他制御装置４０が、「未応答」が付加された要求に対して応答の送信する場合、情報処理装置１０は、「未応答」を示す情報を付加して各要求を送信する。そして、コマンド解析部２０１は、処理を終了する。
【００６８】
ここで、Ｓロックは、同時に複数の情報処理装置１０からアクセスが許可されたロック種別である。また、ロックテーブル３０は、Ｓロックが確保されている資源に関する情報（例えば、資源ＩＤ）を保存している。そのため、ロックテーブル３０に情報が含まれる資源に対するＳロック要求は、ロック成功となる。
【００６９】
そこで、要求元から受信したＳロック要求が、ロックテーブル３０に情報が含まれる資源に対するＳロック要求の場合、コマンド解析部２０１は、排他制御装置４０との通信の前に、要求元にロック成功の応答を送信することができる。このため、要求元は、排他制御装置４０からの応答を待たずに、処理を進めることができる。つまり、情報処理装置１０は、排他制御装置４０との通信に掛かる時間を削減することができる。
【００７０】
なお、ステップＳ４０５及びＳ４０７の場合、排他制御装置４０は、情報処理装置１０に応答を送信する。ただし、コマンド解析部２０１は、排他制御装置４０からの応答を受信しない。後ほど説明するように、排他制御装置通信部２０２が、これらの応答に関する動作を実行する。なお、応答は、後ほど説明するように、少なくとも、「ロック成功」、「ロック待ち」、又は、「アンロック完」を含む。
【００７１】
コマンド解析部２０１が排他制御装置４０に送信する要求の形式（フォーマット）は、特に制限されない。
【００７２】
図４は、第１の実施形態に係る要求の形式（フォーマット）の一例を示す図である。
【００７３】
図４の上部のフォーマットは、Ｓロック要求及びＸロック要求（以下まとめて「ロック要求」と呼ぶ）に用いられるロック要求フォーマットの一例である。ロック要求フォーマットは、要求種別と、タスクＩＤと、資源ＩＤと、ロック種別と、応答フラグとを含む。また、図４の下部のフォーマットは、アンロック要求に用いられるアンロック要求フォーマットの一例である。アンロック要求フォーマットは、要求種別と、タスクＩＤと、資源ＩＤと、応答フラグとを含む。
【００７４】
要求種別は、ロック要求、又は、アンロック要求のいずれであるかを示す情報である。
【００７５】
タスクＩＤは、要求を依頼した要求元（タスク）を識別するための識別子（ＩＤ）である。
【００７６】
資源ＩＤは、要求された資源を示す識別子（ＩＤ）である。
【００７７】
ロック種別は、既に説明しているロック種別、つまり、Ｓロック及びＸロックを示す情報である。
【００７８】
応答フラグは、既に説明した「応答済み」又は「未応答」を示す情報である。
【００７９】
コマンド解析部２０１は、要求元から、ロック要求として、要求種別と、タスクＩＤと、資源ＩＤと、ロック種別とのデータの組を受け取る。そして、コマンド解析部２０１は、要求元から受け取ったロック要求に、必要に応じて応答フラグ（「応答済み」又は「未応答」を示す情報）を付加してロック要求を作成し、排他制御装置４０に送信する。
【００８０】
また、コマンド解析部２０１は、要求元から、アンロック要求として、要求種別と、タスクＩＤと、資源ＩＤとのデータの組を受け取る。そして、コマンド解析部２０１は、要求元から受け取ったアンロック要求に、必要に応じて応答フラグ（「応答済み」又は「未応答」を示す情報）を付加してアンロック要求を作成し、排他制御装置４０に送信する。
【００８１】
なお、ロック要求フォーマットは、資源属性を含んでもよい。資源属性は、資源ＩＤに対応した資源に関する属性を示す情報である。資源属性は、例えば、Ｓ資源を示す情報である。
【００８２】
次に、図２及び図１６を参照して、排他制御装置通信部２０２について、動作を含め説明する。
【００８３】
図１６は、第１の実施形態に係る排他制御装置通信部２０２の動作の一例を示すフローチャートである。
【００８４】
排他制御装置通信部２０２は、排他制御装置４０から応答又は通知を受け取った場合、受け取った応答又は通知が、要求元宛か否かを判定する（ステップＳ５０１）。
【００８５】
要求元宛の場合（ステップＳ５０１でＹｅｓ）、排他制御装置通信部２０２は、受信した応答又は通知を要求元に送信する（ステップＳ５０２）。そして、排他制御装置通信部２０２は、処理を終了する。
【００８６】
要求元宛ではない場合（ステップＳ５０１でＮｏ）、排他制御装置通信部２０２は、ロックテーブル３０に対する資源に関する情報の追加の通知か否かを判定する（ステップＳ５０３）。ロックテーブル３０に対する資源に関する情報の追加の通知を、以下、「ロック登録通知」と呼ぶ。
【００８７】
ロック登録通知の場合（ステップＳ５０３でＹｅｓ）、排他制御装置通信部２０２は、通知された資源に関する情報をロックテーブル３０に追加する（ステップＳ５０５）。そして、排他制御装置通信部２０２は、排他制御装置４０に、ロックテーブル３０の更新完了の応答を送信する。
【００８８】
ロック登録通知でない場合、その通知は、資源に関する情報の削除の通知である。以下、この通知を「ロック削除通知」と呼ぶ。ロック削除通知を受け取った場合（ステップＳ５０３でＮｏ）、排他制御装置通信部２０２は、ロックテーブル３０から通知された資源に関する情報を削除する（ステップＳ５０４）。そして、排他制御装置通信部２０２は、排他制御装置４０に、ロックテーブル３０の更新完了の応答を送信する（ステップＳ５０６）。そして、排他制御装置通信部２０２は、処理を終了する。
【００８９】
次に、図面を参照して、排他制御装置４０の詳細な構成について説明する。
【００９０】
図３は、第１の実施形態に係る排他制御装置４０の構成の一例を示すブロック図である。排他制御装置４０は、コマンド振り分け部４０１と、ロックテーブル制御部４０２と、参照ロック処理部４０３と、更新ロック処理部４０４と、アンロック処理部４０５と、排他制御テーブル５０とを含む。
【００９１】
コマンド振り分け部４０１は、情報処理装置１０から受け取った要求（ロック要求及びアンロック要求）を、参照ロック処理部４０３、更新ロック処理部４０４、及び、アンロック処理部４０５のいずれかに振り分ける。具体的には、コマンド振り分け部４０１は、Ｓロック要求を、参照ロック処理部４０３に送信する。コマンド振り分け部４０１は、Ｘロック要求を、更新ロック処理部４０４に送信する。そして、コマンド振り分け部４０１は、アンロック要求を、アンロック処理部４０５に送信する。コマンド振り分け部４０１は、例えば、図４に示されているロック要求フォーマット及びアンロック要求フォーマットにおける要求種別及びロック種別を用いて、要求を振り分ければよい。
【００９２】
ロックテーブル制御部４０２は、参照ロック処理部４０３、更新ロック処理部４０４、及び、アンロック処理部４０５から、情報処理装置１０に対する通知の送信の依頼を受ける。この通知は、ロック登録通知及びロック削除通知である。そして、ロックテーブル制御部４０２は、全ての情報処理装置１０に通知を送信する。そして、ロックテーブル制御部４０２は、情報処理装置１０から、通知に対する応答を受信する。ロックテーブル制御部４０２は、全ての情報処理装置１０から応答を受信すると、通知の送信を依頼した依頼元（参照ロック処理部４０３、更新ロック処理部４０４、又は、アンロック処理部４０５）に応答の完了を送信する。ただし、依頼元が、通知の完了を判断してもよい。この場合、ロックテーブル制御部４０２は、受信した応答を依頼元に送信する。
【００９３】
さらに、ロックテーブル制御部４０２は、参照ロック処理部４０３、更新ロック処理部４０４、及び、アンロック処理部４０５から、情報処理装置１０から要求されたロック要求及びアンロック要求の結果である応答を受信する。そして、ロックテーブル制御部４０２は、要求を送信した情報処理装置１０に、その応答を送信する。
【００９４】
排他制御テーブル５０は、資源のロック状態を示すデータを記憶する記憶部である。
【００９５】
図５は、第１の実施形態に係る排他制御テーブル５０が記憶しているデータの一例を模式的に示す図である。図５は、例示として、１つの資源のデータを示している。排他制御テーブル５０は、資源の数に対応する数の図５に示されているようなデータを保存する。
【００９６】
また、一般的に、各エントリは、リンク形式の情報が用いて接続を管理されている。そのため、図５は、リンク関係を示す線を用いて、各エントリの接続を示している。ただし、資源に関するデータは、この形式に限られない。例えば、資源に関するデータとして、全てのタスクエントリが、資源エントリに接続される形式が用いられてもよい。あるいは、エントリは、表形式のデータを用いて管理されてもよい。なお、以下の説明において、複数のタスクエントリを介して資源エントリに接続されている場合においても、各タスクエントリは、資源エントリに接続されていると呼ぶ。
【００９７】
資源エントリに接続されるタスクエントリの数は、図５の記載に限定されない。そこで、図５は、数が限定されていないことを示すため、破線を用いて、一部のタスクエントリを示している。
【００９８】
資源エントリは、排他制御装置４０の処理対象となる資源を示す情報の組である。資源エントリは、資源ＩＤと、ロック列（Ｌ）と、待ち列（Ｗ）とを含む。
【００９９】
資源ＩＤは、資源エントリに対応する資源を一意に識別するための識別子（ＩＤ）である。
【０１００】
ロック列（Ｌ）は、資源に対して、ロック成功となっているタスクエントリを示す情報である。ロック列（Ｌ）に接続されているタスクエントリ、及び、そのタスクエントリからリンクされているタスクエントリが、その資源に対するロック成功となっているタスクのタスクエントリである。ロック列（Ｌ）は、例えば、最初にロック成功となったタスクエントリのアドレスを示す情報である。
【０１０１】
待ち列（Ｗ）は、資源に対して、ロック待ちとなっているタスクエントリを示す情報である。待ち列（Ｗ）に接続されているタスクエントリ、及び、そのタスクエントリからリンクされているタスクエントリが、その資源に対するロック待ちのタスクエントリである。待ち列（Ｗ）は、例えば、最初にロック待ちとなったタスクエントリのアドレスを示す情報である。
【０１０２】
タスクエントリは、タスクを示す情報の組である。タスクエントリは、タスクＩＤと、ロック種別と、次タスクとを含む。
【０１０３】
タスクＩＤは、タスクを一意に識別するための識別子（ＩＤ）である。
【０１０４】
ロック種別は、タスクエントリに対応するタスクが要求したロック種別である。
【０１０５】
次タスクは、継続するタスクエントリを示す情報である。次タスクは、例えば、次のタスクエントリのアドレスを示す情報である。各列の最後のタスクエントリの次タスクは、終了を示す情報又は空欄を示す情報となっている。
【０１０６】
疑似エントリは、排他制御装置４０を示す情報の組である。疑似エントリの形式は、タスクエントリの同様である。ただし、ロック種別は、Ｓロックである。排他制御装置４０は、Ｓ資源である資源に対して、疑似エントリを登録する。そのため、疑似エントリは、ロック列（Ｌ）の最初に接続される。
【０１０７】
なお、ロック列（Ｌ）及び待ち列（Ｗ）に接続されるタスクの数は、情報処理システム１００及び排他制御装置４０の仕様として規定されている範囲において、制限はない。
【０１０８】
例えば、初期状態の場合、資源エントリは、タスクエントリに接続されていなくてもよい。
【０１０９】
また、全てのタスクエントリが、ロック列（Ｌ）に接続されてもよい。例えば、全てのタスクが、参照ロックを用いるタスクの場合、全てのタスクエントリは、ロック列（Ｌ）に接続される。つまり、待ち列（Ｗ）に接続されるタスクエントリは、なくてもよい。
【０１１０】
あるいは、全てのタスクエントリが、待ち列（Ｗ）に接続されてもよい。例えば、資源が、一時的に動作を停止している場合、全てのタスクエントリは、待ち列（Ｗ）に接続されてもよい。ただし、この場合でも、ロック成功となっているタスクエントリが、ロック列（Ｌ）接続されていてもよい。
【０１１１】
図３及び図１２を参照して、参照ロック処理部４０３について、動作を含め説明する。
【０１１２】
図１２は、第１の実施形態に係る参照ロック処理部４０３の動作の一例を示すフローチャートである。
【０１１３】
参照ロック処理部４０３は、コマンド振り分け部４０１からＳロック要求を受信する。
【０１１４】
そして、参照ロック処理部４０３は、要求されているＳロックの対象となる資源に関する情報が、排他制御テーブル５０に含まれているか否かを判定する（ステップＳ１０１）。
【０１１５】
排他制御テーブル５０に含まれていない場合（ステップＳ１０１でＮｏ）、参照ロック処理部４０３は、その資源に関する情報（例えば、図５の資源エントリ）を、排他制御テーブル５０に登録する（ステップＳ１０２）。
【０１１６】
参照ロック処理部４０３は、対象となる資源がＳ資源か否かを判定する（ステップＳ１０３）。
【０１１７】
Ｓ資源の場合（ステップＳ１０３でＹｅｓ）、参照ロック処理部４０３は、排他制御テーブル５０に疑似エントリを追加する（ステップＳ１０４）。
【０１１８】
そして、参照ロック処理部４０３は、ロックテーブル制御部４０２を介して、全ての情報処理装置１０に対して、Ｓロック要求の対象となっている資源に関するロック登録通知を送信する（ステップＳ１０５）。つまり、参照ロック処理部４０３は、登録されていない資源に対するＳロック要求に対して、ロック登録通知を送信する。排他制御テーブル５０に情報が登録されていない資源は、アクセスが発生していない資源のため、ロックテーブル３０に登録されていない。つまり、この動作は、参照ロック処理部４０３が、ロックテーブル３０に情報が登録されていない資源のＳロック要求に対して、ロック登録通知を送信する動作である。
【０１１９】
既に説明したように、この通知を受けた排他制御装置通信部２０２は、ロックテーブル３０にその資源に関する情報を登録する。そして、登録後、排他制御装置通信部２０２は、更新完了の応答を送信する。
【０１２０】
参照ロック処理部４０３は、全ての情報処理装置１０から更新完了の応答が送信されてくるのを待つ（ステップＳ１１５）。具体的には、参照ロック処理部４０３は、ロックテーブル制御部４０２から応答の完了が送信されるのを待つ。
【０１２１】
Ｓ資源でない場合（ステップＳ１０３でＮｏ）、又は、全ての情報処理装置１０において更新完了後、参照ロック処理部４０３は、Ｓロック要求を送信したタスクのタスクエントリを、排他制御テーブル５０のロック列（Ｌ）に登録する（ステップＳ１０６）。
【０１２２】
そして、参照ロック処理部４０３は、ロック成功の応答をロックテーブル制御部４０２に送信する(ステップＳ１０７)。そして、参照ロック処理部４０３は、処理を終了する。
【０１２３】
この場合、ロックテーブル制御部４０２は、ロック成功の応答を情報処理装置１０に送信する。
【０１２４】
排他制御テーブル５０に資源に関する情報が含まれる場合（ステップＳ１０１でＹｅｓ）、参照ロック処理部４０３は、資源エントリのロック列（Ｌ）にＸロックが含まれるか否かを判定する（ステップＳ１０８）。
【０１２５】
Ｘロックが含まれない場合（ステップＳ１０８でＮｏ）、参照ロック処理部４０３は、排他制御テーブル５０のロック列（Ｌ）に、要求されたタスクのタスクエントリを追加する（ステップＳ１０９）。
【０１２６】
そして、参照ロック処理部４０３は、Ｓロック要求が応答済みか否かを判定する（ステップＳ１１０）。
【０１２７】
応答済みの場合（ステップＳ１１０でＹｅｓ）、参照ロック処理部４０３は、処理を終了する。
【０１２８】
応答済みでない場合（ステップＳ１１０でＮｏ）、参照ロック処理部４０３は、ロック成功の応答をロックテーブル制御部４０２に送信する(ステップＳ１１１)。そして、参照ロック処理部４０３は、処理を終了する。
【０１２９】
この場合、ロックテーブル制御部４０２は、ロック成功の応答を情報処理装置１０に送信する。
【０１３０】
Ｘロックがある場合（ステップＳ１０８でＹｅｓ）、参照ロック処理部４０３は、要求されたタスクのタスクエントリを待ち列（Ｗ）に追加する（ステップＳ１１２）。
【０１３１】
そして、参照ロック処理部４０３は、ロック待ちの応答を、ロックテーブル制御部４０２に送信する(ステップＳ１１３)。そして、参照ロック処理部４０３は、処理を終了する。
【０１３２】
この場合、ロックテーブル制御部４０２は、ロック待ちの応答を、Ｓロック要求を送信してきた情報処理装置１０に送信する。
【０１３３】
図３及び図１３を参照して、更新ロック処理部４０４について、動作を含め説明する。
【０１３４】
図１３は、第１の実施形態に係る更新ロック処理部４０４の動作の一例を示すフローチャートである。
【０１３５】
更新ロック処理部４０４は、コマンド振り分け部４０１からＸロック要求を受信する。
【０１３６】
そして、更新ロック処理部４０４は、要求されているＸロックが、排他制御テーブル５０に含まれるか否かを判定する（ステップＳ２０１）。
【０１３７】
排他制御テーブル５０に資源に関する情報が含まれる場合（ステップＳＳ２０１でＹｅｓ）、更新ロック処理部４０４は、その資源をロックしているタスクのロック種別がＸロックか否かを判定する（ステップＳ２０２）。
【０１３８】
Ｘロックでない場合（ステップＳ２０２でＮｏ）、更新ロック処理部４０４は、情報処理装置１０に対して、Ｘロック要求の対象となっている資源に関する情報をロックテーブル３０から削除するロック削除通知を送信する（ステップＳ２０３）。なお、ここにおけるＸロックでない場合は、Ｓロックもない場合、つまり、ロックしているタスクエントリがない場合を含む。
【０１３９】
そして、更新ロック処理部４０４は、全ての情報処理装置１０での処理の終了を待つ（ステップＳ２１１）。
【０１４０】
全ての情報処理装置１０が応答後、更新ロック処理部４０４は、疑似エントリを削除する（ステップＳ２０４）。
【０１４１】
そして、更新ロック処理部４０４は、資源エントリのロック列（Ｌ）にタスクエントリがあるか否かを確認する（ステップＳ２１２）。
【０１４２】
タスクがある場合（ステップＳ２１２でＹｅｓ）及びＸロック場合（ステップＳ２０２でＹｅｓ）、更新ロック処理部４０４は、待ち列（Ｗ）に要求されたタスクのタスクエントリ（Ｘロック要求のタスクのタスクエントリ）を追加する（ステップＳ２０９）。
【０１４３】
そして、更新ロック処理部４０４は、ロック待ちの応答を、ロックテーブル制御部４０２に送信する(ステップＳ２１０)。そして、更新ロック処理部４０４は、処理を終了する。
【０１４４】
この場合、ロックテーブル制御部４０２は、ロック待ちの応答を、Ｘロック要求を送信してきた情報処理装置１０に送信する。
【０１４５】
排他制御テーブル５０に資源に関する情報が含まれない場合（ステップＳＳ２０１でＮｏ）、更新ロック処理部４０４は、その資源に関する情報を排他制御テーブル５０に登録する（ステップＳ２０６）。
【０１４６】
ステップＳ２０６の後、及び、タスクがない場合（ステップＳ２１２でＮｏ）、更新ロック処理部４０４は、ロック列（Ｌ）に要求されたタスクのタスクエントリ（Ｘロックのタスクエントリ）を登録する（ステップＳ２０７）。
【０１４７】
そして、更新ロック処理部４０４は、ロック成功の応答を、ロックテーブル制御部４０２に送信する(ステップＳ２０８)。そして、更新ロック処理部４０４は、処理を終了する。
【０１４８】
この場合、ロックテーブル制御部４０２は、ロック成功の応答を、Ｘロック要求を送信してきた情報処理装置１０に送信する。
【０１４９】
図３及び図１４を参照して、アンロック処理部４０５について、動作を含め説明する。
【０１５０】
図１４は、第１の実施形態に係るアンロック処理部４０５の動作の一例を示すフローチャートである。
【０１５１】
アンロック処理部４０５は、コマンド振り分け部４０１からアンロック要求を受信する。
【０１５２】
そして、アンロック処理部４０５は、アンロック要求の対象であるタスクのタスクエントリを排他制御テーブル５０から削除する（ステップＳ３０１）。タスクエントリは、ロック列（Ｌ）又は待ち列（Ｗ）のいずれに含まれ場合も、削除される。さらに、アンロック処理部４０５は、Ｘロック要求であるタスクエントリを削除した場合で、その資源に対応する資源エントリの待ち列（Ｗ）にタスクエントリがない場合、その資源エントリを削除する。
【０１５３】
そして、アンロック処理部４０５は、アンロック完了の応答をロックテーブル制御部４０２に送信する(ステップＳ３０２)。
【０１５４】
ロックテーブル制御部４０２は、アンロック完了の応答を、アンロック要求を送信してきた情報処理装置１０に送信する。
【０１５５】
アンロック処理部４０５は、その資源エントリの待ち列（Ｗ）に、その資源をロック可能なタスク（タスクエントリ）があるか否かを確認する（ステップＳ３０３）。
【０１５６】
ロック可能なタスク（タスクエントリ）がない場合（ステップＳ３０３でＮｏ）、アンロック処理部４０５は、処理を終了する。
【０１５７】
ロック可能なタスク（タスクエントリ）がある場合（ステップＳ３０３でＹｅｓ）、アンロック処理部４０５は、そのタスクが要求した資源にＸロックがあるか否かを判定する（ステップＳ３０４）。
【０１５８】
Ｘロックがない場合（ステップＳ３０４でＮｏ）、アンロック処理部４０５は、その資源がＳ資源か否かを判定する（ステップＳ３０７）。
【０１５９】
Ｓ資源の場合（ステップＳ３０７でＹｅｓ）、アンロック処理部４０５は、疑似エントリを登録する(ステップＳ３０８)。
【０１６０】
そして、アンロック処理部４０５は、ロックテーブル制御部４０２を介して、全ての情報処理装置１０に対して、その資源がＳロックとして登録されたこと示すロック登録通知を送信する（ステップＳ３０９）。既に説明したように、この通知を受けた排他制御装置通信部２０２は、ロックテーブル３０にその資源に関する情報を登録する。そして、登録後、排他制御装置通信部２０２は、更新完了の応答を送信する。
【０１６１】
アンロック処理部４０５は、全ての情報処理装置１０から更新完了の応答が送信されてくるのを待つ（ステップＳ３１０）。そして、アンロック処理部４０５は、ステップＳ３０５に進む。
【０１６２】
Ｘロックがある場合（ステップＳ３０４でＹｅｓ）、及び、Ｓ資源でない場合（ステップＳ３０７でＮｏ）、アンロック処理部４０５は、ステップＳ３０５に進む。
【０１６３】
そして、アンロック処理部４０５は、ロック可能なタスクエントリを、排他制御テーブル５０のロック列（Ｌ）に追加する（ステップＳ３０５）。
【０１６４】
そして、アンロック処理部４０５は、ロック成功の応答をロックテーブル制御部４０２に送信する(ステップＳ３０６)。そして、参照ロック処理部４０３は、処理を終了する。
【０１６５】
ロックテーブル制御部４０２は、ロック成功の応答を、ロック列（Ｌ）に追加されたタスクエントリの要求を送信してきた情報処理装置１０に送信する。
【０１６６】
［情報処理システム１００の動作の説明］
次に、図面を参照して、情報処理システム１００の動作について説明する。
【０１６７】
（１）Ｓロック要求（未登録の資源の場合）
図６は、第１の実施形態における未登録の資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【０１６８】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＳロック要求を送信する。
【０１６９】
ロック制御部２０は、ロックテーブル３０における資源に関する情報の登録状態を確認する。
【０１７０】
すなわち、ロック制御部２０は、要求がＳロック要求のため（ステップＳ４０１でＹｅｓ）、ロックテーブル３０を検索する（ステップＳ４０２）。
【０１７１】
要求された資源に関する情報は、ロックテーブル３０に登録されていないので（ステップＳ４０３でＮｏ）、ロック制御部２０は、未応答の情報を付加して、Ｓロック要求を、排他制御装置４０に送信する（ステップＳ４０５）。つまり、ロック制御部２０は、Ｓロック要求（未応答）を排他制御装置４０に送信する。
【０１７２】
Ｓロック要求（未応答）を受け取った排他制御装置４０のコマンド振り分け部４０１は、参照ロック処理部４０３に、Ｓロック要求を送信する。
【０１７３】
参照ロック処理部４０３は、Ｓロック要求の資源に関する情報が排他制御テーブル５０に存在しないため（ステップＳ１０１でＮｏ）、排他制御テーブル５０に資源エントリを登録する（ステップＳ１０２）。
【０１７４】
参照ロック処理部４０３は、Ｓ資源か否かを確認する（ステップＳ１０３）。
【０１７５】
Ｓ資源の場合（ステップＳ１０３でＹｅｓ）、参照ロック処理部４０３は、排他制御テーブル５０に資源エントリを追加する（ステップＳ１０４）。
【０１７６】
そして、参照ロック処理部４０３は、ロック登録通知を作成し、ロックテーブル制御部４０２を介して、全ての情報処理装置１０にロック登録通知を送信する（ステップＳ１０５）。
【０１７７】
そして、参照ロック処理部４０３は、全ての情報処理装置１０での処理の終了を待つ（ステップＳ１１５）。
【０１７８】
排他制御装置通信部２０２は、受け取った通知がロック登録通知のため（ステップＳ５０３でＹｅｓ）、ロックテーブル３０に資源に関する情報を追加する（ステップＳ５０５）。
【０１７９】
そして、排他制御装置通信部２０２は、更新完了の応答を送信する（ステップＳ５０６）。
【０１８０】
全ての情報処理装置１０での処理が完了した場合、又は、Ｓ資源でない場合（ステップＳ１０３でＮｏ）、参照ロック処理部４０３は、要求元（タスク）のタスクエントリを、ロック列（Ｌ）に登録する（ステップＳ１０６）。
【０１８１】
そして、参照ロック処理部４０３は、ロックテーブル制御部４０２を介して、ロック成功の応答を、Ｓロック要求を送信してきた情報処理装置１０に送信する（ステップＳ１０７）。
【０１８２】
情報処理装置１０の排他制御装置通信部２０２は、受信した応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、応答を要求元に送信する（ステップＳ５０２）。
【０１８３】
（２）Ｓロック要求（登録済みの資源の場合）
図７は、第１の実施形態における登録済みの資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【０１８４】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＳロック要求を送信する。
【０１８５】
ロック制御部２０は、ロックテーブル３０における資源に関する情報の登録状態を確認する。
【０１８６】
すなわち、ロック制御部２０は、要求がＳロック要求のため（ステップＳ４０１でＹｅｓ）、ロックテーブル３０を検索する（ステップＳ４０２）。
【０１８７】
資源に関する情報が、ロックテーブル３０に登録されているので（ステップＳ４０３でＹｅｓ）、ロック制御部２０は、ロック成功の応答を要求元に送信する（ステップＳ４０４）。
【０１８８】
そして、ロック制御部２００は、応答済みの情報を付加して、Ｓロック要求を、排他制御装置４０に送信する（ステップＳ４０６）。つまり、ロック制御部２００は、Ｓロック要求（応答済み）を排他制御装置４０に送信する。
【０１８９】
Ｓロック要求（応答済み）を受け取った排他制御装置４０のコマンド振り分け部４０１は、参照ロック処理部４０３に、Ｓロック要求を送信する。
【０１９０】
参照ロック処理部４０３は、要求された資源に関する情報が、排他制御テーブル５０にあるため（ステップＳ１０１でＹｅｓ）、資源をロックしているロック種別を調べる（ステップＳ１０８）。今の場合、ロック種別はＳロックなので（ステップＳ１０８でＮｏ）、参照ロック処理部４０３は、排他制御テーブル５０のロック列（Ｌ）にタスクエントリを追加する（ステップＳ１０９）。
【０１９１】
そして、応答済みのため(ステップＳ１１０でＹｅｓ)、参照ロック処理部４０３は、処理を終了する。
【０１９２】
（３）アンロック要求
図８は、第１の実施形態におけるアンロック要求に関する動作の一例を示すシーケンス図である。
【０１９３】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のアンロック要求を送信する。
【０１９４】
ロック制御部２０は、Ｓロック要求ではないので（ステップＳ４０１でＮｏ）、アンロック要求を、排他制御装置４０に送信する（ステップＳ４０７）。
【０１９５】
アンロック要求を受け取った排他制御装置４０のコマンド振り分け部４０１は、アンロック要求をアンロック処理部４０５に送信する。
【０１９６】
アンロック処理部４０５は、排他制御テーブル５０からタスクエントリを削除する（ステップＳ３０１）。
【０１９７】
そして、アンロック処理部４０５は、アンロック完了の応答を作成し、ロックテーブル制御部４０２を介して、アンロック要求を送信してきた情報処理装置１０に送信する（ステップＳ３０２）。
【０１９８】
排他制御装置通信部２０２は、応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、応答を要求元に送信する（ステップＳ５０２）。
【０１９９】
ロック可能なタスクがない場合（ステップＳ３０３でＮｏ）、アンロック処理部４０５は、処理を終了する。
【０２００】
ここまでの動作が、アンロック要求に関する動作である。
【０２０１】
ただし、本実施形態のアンロック処理部４０５は、さらに次の動作を実行する。
【０２０２】
ロック可能なタスクがある場合（ステップＳ３０３でＹｅｓ）、アンロック処理部４０５は、次のように動作する。
【０２０３】
Ｘロックがない場合（ステップＳ３０４でＮｏ）、アンロック処理部４０５は、Ｓ資源か否かを判定する（ステップＳ３０７）。
【０２０４】
Ｓ資源の場合（ステップＳ３０７でＹｅｓ）、アンロック処理部４０５は、疑似エントリを登録する（ステップＳ３０８）。
【０２０５】
そして、アンロック処理部４０５は、全ての情報処理装置１０に、ロック登録通知を送信する（ステップＳ３０９）。
【０２０６】
排他制御装置通信部２０２は、ロックテーブル３０にその資源に関する情報を登録する。そして、登録後、排他制御装置通信部２０２は、更新完了の応答を送信する。
【０２０７】
アンロック処理部４０５は、全ての情報処理装置１０から更新完了の応答が送信されてくるのを待つ（ステップＳ３１０）。そして、アンロック処理部４０５は、ステップＳ３０５に進む。
【０２０８】
また、Ｘロックがある場合（ステップＳ３０４でＹｅｓ）、又は、Ｓ資源でない場合（ステップＳ３０７でＮｏ）、アンロック処理部４０５は、ステップＳ３０５に進む。
【０２０９】
そして、アンロック処理部４０５は、Ｓロック要求のタスクのタスクエントリを、排他制御テーブル５０のロック列（Ｌ）に追加する（ステップＳ３０５）。
【０２１０】
そして、アンロック処理部４０５は、ロックテーブル制御部４０２を介して、ロック成功の応答を、ロック列（Ｌ）に追加された要求を送信してきた情報処理装置１０に送信する（ステップＳ３０６）。
【０２１１】
（４）Ｓロック要求（Ｓロックをアンロック後で、Ｘロックが発生していない場合）
図９は、第１の実施形態におけるＳロックをアンロック後にＸロックが発生していない資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【０２１２】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＳロック要求を送信する。
【０２１３】
ロック制御部２０は、Ｓロック要求のため（ステップＳ４０１でＹｅｓ）、ロックテーブル３０を検索する（ステップＳ４０２）。
【０２１４】
ロック制御部２０は、ロックテーブル３０における資源に関する情報の登録状態を確認する。
【０２１５】
資源に関する情報が、ロックテーブル３０に登録されているので（ステップＳ４０３でＹｅｓ）、ロック制御部２０は、ロック成功の応答を要求元に送信する（ステップＳ４０４）。
【０２１６】
そして、ロック制御部２００は、応答済みの情報を付加して、Ｓロック要求を、排他制御装置４０に送信する（ステップＳ４０６）。つまり、ロック制御部２００は、Ｓロック要求（応答済み）を排他制御装置４０に送信する。
【０２１７】
Ｓロック要求（応答済み）を受け取った排他制御装置４０のコマンド振り分け部４０１は、参照ロック処理部４０３に、Ｓロック要求を送信する。
【０２１８】
参照ロック処理部４０３は、要求された資源に関する情報が、排他制御テーブル５０にあるため（ステップＳ１０１でＹｅｓ）、資源エントリのロック列（Ｌ）にＸロックがあるか否かを調べる（ステップＳ１０８）。今の場合、ロック列（Ｌ）にはＸロックがないため（ステップＳ１０８でＮｏ）、参照ロック処理部４０３は、排他制御テーブル５０のロック列（Ｌ）にタスクエントリを追加する（ステップＳ１０９）。
【０２１９】
そして、参照ロック処理部４０３は、応答済みか否かを確認する（ステップＳ１１０）。
【０２２０】
応答済みのため(ステップＳ１１０でＹｅｓ)、参照ロック処理部４０３は、処理を終了する。
【０２２１】
（５）Ｘロック要求（Ｓロックが存在する場合）
図１０は、第１の実施形態におけるＳロックが存在する資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【０２２２】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＸロック要求を送信する。
【０２２３】
ロック制御部２０は、要求がＳロック要求ではないため（ステップＳ４０１でＮｏ）、Ｘロック要求を排他制御装置４０へ送信する（ステップＳ４０７）。
【０２２４】
Ｘロック要求を受け取った排他制御装置４０のコマンド振り分け部４０１は、更新ロック処理部４０４に、Ｘロック要求を送信する。
【０２２５】
更新ロック処理部４０４は、要求された資源に関する情報が排他制御テーブル５０に存在するため（ステップＳ２０１でＹｅｓ）、資源エントリのロック列（Ｌ）のタスクエントリのロック種別を確認する（ステップＳ２０２）。資源をロックしているタスクのロック種別がＸロックではないため（ステップＳ２０２でＮｏ）、更新ロック処理部４０４は、ロック削除通知を作成し、ロックテーブル制御部４０２を介して、全ての情報処理装置１０に送信する（ステップＳ２０３）。そして、更新ロック処理部４０４は、情報処理装置１０からの応答を待つ。
【０２２６】
排他制御装置通信部２０２は、受け取った通知が要求元宛か否かを判定する（ステップＳ５０１）。要求元宛でないため（ステップＳ５０１でＮｏ）、排他制御装置通信部２０２は、通知が追加か否かを判定する（ステップＳ５０３）。ここでは、追加ではないため（ステップＳ５０３でＮｏ）、排他制御装置通信部２０２は、ロックテーブル３０から資源に関する情報を削除する（ステップＳ５０４）。そして、排他制御装置通信部２０２は、排他制御装置４０に、更新完了を送信する（ステップＳ５０６）。
【０２２７】
全ての情報処理装置１０から応答を受け取ると、更新ロック処理部４０４は、疑似エントリを削除する（ステップＳ２０４）。
【０２２８】
そして、更新ロック処理部４０４は、ロック列（Ｌ）にタスクがあるか否かを確認する（ステップＳ２１２）。
【０２２９】
タスクがあるため（ステップＳ２１２でＹｅｓ）、更新ロック処理部４０４は、資源エントリの待ち列（Ｗ）にＸロックを要求したタスクのタスクエントリを追加する（ステップＳ２０９）。
【０２３０】
そして、更新ロック処理部４０４は、ロックテーブル制御部４０２を介して、Ｘロック要求を送信してきた情報処理装置１０に、ロック待ちの応答を送信する（ステップＳ２１０）。
【０２３１】
排他制御装置通信部２０２は、応答が要求元宛のため（ステップＳ５０１でＹｅｓ、要求元に、応答を送信する（ステップＳ５０２）。
【０２３２】
（６）Ｘロック要求（Ｓロックをアンロック後でＸロックされていない場合）
図１１は、第１の実施形態におけるＳロック及びＸロックがない資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。具体的には、以下で説明する動作は、図８を用いて説明した「（３）Ｓロックのアンロック」後の状態から開始する動作である。
【０２３３】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＸロック要求を送信する。
【０２３４】
ロック制御部２０は、要求がＳロック要求ではないため（ステップＳ４０１でＮｏ）、Ｘロック要求を、排他制御装置４０に送信する（ステップＳ４０７）。
【０２３５】
Ｘロック要求を受け取った排他制御装置４０のコマンド振り分け部４０１は、更新ロック処理部４０４に、Ｘロック要求を送信する。
【０２３６】
更新ロック処理部４０４は、要求された資源に関する情報が排他制御テーブル５０に存在するため（ステップＳ２０１でＹｅｓ）、資源エントリのロック列（Ｌ）のタスクエントリのロック種別を確認する(ステップＳ２０２)。資源はＸロックではないため（ステップＳ２０２でＮｏ）、更新ロック処理部４０４は、ロック削除通知を作成し、ロックテーブル制御部４０２を介して、情報処理装置１０に送信する（ステップＳ２０３）。そして、更新ロック処理部４０４は、情報処理装置１０からの応答を待つ。
【０２３７】
排他制御装置通信部２０２は、受け取った通知が要求元宛か否かを判定する（ステップＳ５０１）。要求元宛ではないため（ステップＳ５０１でＮｏ）、排他制御装置通信部２０２は、通知が追加か否かを判定する（ステップＳ５０３）。ここでは、追加ではないため（ステップＳ５０３でＮｏ）、排他制御装置通信部２０２は、ロックテーブル３０から資源に関する情報を削除する（ステップＳ５０４）。そして、排他制御装置通信部２０２は、排他制御装置４０に、更新完了を送信する（ステップＳ５０６）。
【０２３８】
全ての情報処理装置１０から応答を受け取ると、更新ロック処理部４０４は、疑似エントリを削除する（ステップＳ２０４）。
【０２３９】
そして、更新ロック処理部４０４は、ロック列（Ｌ）にタスクがあるか否かを確認する（ステップＳ２１２）。
【０２４０】
タスクがないため（ステップＳ２１２でＮｏ）、更新ロック処理部４０４は、資源エントリのロック列（Ｌ）に、Ｘロックを要求したタスクのタスクエントリを追加する（ステップＳ２０７）。そして、更新ロック処理部４０４は、ロックテーブル制御部４０２を介して、ロック成功の応答を、Ｘロック要求を送信してきた情報処理装置１０に送信する（ステップＳ２０８）。
【０２４１】
排他制御装置通信部２０２は、応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、応答を要求元に送信する（ステップＳ５０２）。
【０２４２】
（７）Ｘロック要求（Ｘロックされている場合）
図１９は、第１の実施形態におけるＸロックされている資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【０２４３】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＸロック要求を送信する。
【０２４４】
ロック制御部２０は、要求がＳロック要求ではないため（ステップＳ４０１でＮｏ）、Ｘロック要求を排他制御装置４０へ送信する（ステップＳ４０７）。
【０２４５】
Ｘロック要求を受け取った排他制御装置４０のコマンド振り分け部４０１は、更新ロック処理部４０４に、Ｘロック要求を送信する。
【０２４６】
更新ロック処理部４０４は、要求された資源に関する情報が排他制御テーブル５０に存在するため（ステップＳ２０１でＹｅｓ）、資源エントリのロック列（Ｌ）のタスクエントリのロック種別を確認する（ステップＳ２０２）。資源はＸロックのため（ステップＳ２０２でＹｅｓ）、更新ロック処理部４０４は、資源エントリの待ち列（Ｗ）にＸロックを要求したタスクのタスクエントリを追加する（ステップＳ２０９）。
【０２４７】
そして、更新ロック処理部４０４は、ロックテーブル制御部４０２を介して、Ｘロック要求を送信してきた情報処理装置１０に、ロック待ちの応答を送信する（ステップＳ２１０）。
【０２４８】
排他制御装置通信部２０２は、応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、要求元に、応答を送信する（ステップＳ５０２）。
【０２４９】
（８）Ｓロック要求（Ｘロックされている資源の場合）
図２０は、第１の実施形態におけるＸロックされている資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【０２５０】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＳロック要求を送信する。
【０２５１】
ロック制御部２０は、ロックテーブル３０における資源に関する情報の登録状態を確認する。
【０２５２】
すなわち、ロック制御部２０は、要求がＳロック要求のため（ステップＳ４０１でＹｅｓ）、ロックテーブル３０を検索する（ステップＳ４０２）。
【０２５３】
要求された資源に関する情報は、ロックテーブル３０に登録されていないので（ステップＳ４０３でＮｏ）、ロック制御部２０は、未応答の情報を付加して、Ｓロック要求を、排他制御装置４０に送信する（ステップＳ４０５）。つまり、ロック制御部２０は、Ｓロック要求（未応答）を排他制御装置４０に送信する。
【０２５４】
Ｓロック要求（未応答）を受け取った排他制御装置４０のコマンド振り分け部４０１は、参照ロック処理部４０３に、Ｓロック要求を送信する。
【０２５５】
参照ロック処理部４０３は、Ｓロック要求の資源に関する情報が排他制御テーブル５０に存在するため（ステップＳ１０１でＹｅｓ）、資源をロックしているロック種別を調べる（ステップＳ１０８）。
【０２５６】
今の場合、ロック種別はＸロックなので（ステップＳ１０８でＹｅｓ）、参照ロック処理部４０３は、要求されたタスクのタスクエントリを待ち列（Ｗ）に追加する（ステップＳ１１２）。
【０２５７】
そして、参照ロック処理部４０３は、ロックテーブル制御部４０２を介して、ロック待ちの応答を、Ｓロック要求を送信してきた情報処理装置１０に送信する(ステップＳ１１３)。
【０２５８】
情報処理装置１０の排他制御装置通信部２０２は、受信した応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、応答を要求元に送信する（ステップＳ５０２）。
【０２５９】
（９）Ｓロック要求（Ｘロックされた後、Ｘロックがアンロックされている場合）
図２１は、第１の実施形態におけるＸロックされた後にアンロックされた資源に対するＳロック要求に関する動作の一例を示すシーケンス図である。
【０２６０】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＳロック要求を送信する。
【０２６１】
ロック制御部２０は、Ｓロック要求のため（ステップＳ４０１でＹｅｓ）、ロックテーブル３０を検索する（ステップＳ４０２）。
【０２６２】
ロック制御部２０は、ロックテーブル３０における資源に関する情報の登録状態を確認する。
【０２６３】
資源に関する情報が、ロックテーブル３０に登録されていないので（ステップＳ４０３でＮｏ）、ロック制御部２０は、未応答の情報を付加して、Ｓロック要求を、排他制御装置４０に送信する（ステップＳ４０６）。つまり、ロック制御部２００は、Ｓロック要求（未応答）を排他制御装置４０に送信する。
【０２６４】
Ｓロック要求（未応答）を受け取った排他制御装置４０のコマンド振り分け部４０１は、参照ロック処理部４０３に、Ｓロック要求を送信する。
【０２６５】
参照ロック処理部４０３は、要求された資源に関する情報が、排他制御テーブル５０にあるため（ステップＳ１０１でＹｅｓ）、資源エントリのロック列（Ｌ）にＸロックがあるか否かを調べる（ステップＳ１０８）。今の場合、ロック列（Ｌ）にはＸロックがないため（ステップＳ１０８でＮｏ）、参照ロック処理部４０３は、排他制御テーブル５０のロック列（Ｌ）にタスクエントリを追加する（ステップＳ１０９）。
【０２６６】
そして、参照ロック処理部４０３は、応答済みか否かを確認する（ステップＳ１１０）。
【０２６７】
応答済みでないため(ステップＳ１１０でＮｏ)、参照ロック処理部４０３は、ロックテーブル制御部４０２を介して、ロック成功の応答を、Ｓロック要求を送信してきた情報処理装置１０に送信する（ステップＳ１１１）。そして、参照ロック処理部４０３は、処理を終了する。
【０２６８】
情報処理装置１０の排他制御装置通信部２０２は、受信した応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、応答を要求元に送信する（ステップＳ５０２）。
【０２６９】
（１０）Ｘロック要求（未登録の資源の場合）
図２２は、第１の実施形態における未登録の資源に対するＸロック要求に関する動作の一例を示すシーケンス図である。
【０２７０】
まず、要求元（例えば、タスク）が、ロック制御部２０に、資源のＸロック要求を送信する。
【０２７１】
ロック制御部２０は、要求がＳロック要求ではないため（ステップＳ４０１でＮｏ）、Ｘロック要求を排他制御装置４０へ送信する（ステップＳ４０７）。
【０２７２】
Ｘロック要求を受け取った排他制御装置４０のコマンド振り分け部４０１は、更新ロック処理部４０４に、Ｘロック要求を送信する。
【０２７３】
更新ロック処理部４０４は、要求された資源に関する情報が排他制御テーブル５０に存在しないため（ステップＳ２０１でＮｏ）、その資源に関する情報を排他制御テーブル５０に登録する（ステップＳ２０６）。
【０２７４】
そして、更新ロック処理部４０４は、ロック列（Ｌ）に、要求されたタスクのタスクエントリ（Ｘロックのタスクエントリ）を登録する（ステップＳ２０７）。
【０２７５】
そして、更新ロック処理部４０４は、ロックテーブル制御部４０２を介して、ロック成功の応答を、情報処理装置１０に送信する。
【０２７６】
情報処理装置１０の排他制御装置通信部２０２は、受信した応答が要求元宛のため（ステップＳ５０１でＹｅｓ）、応答を要求元に送信する（ステップＳ５０２）。
【０２７７】
［効果の説明］
次に、第１の実施形態の効果について説明する。
【０２７８】
第１に実施形態に係る情報処理システム１００は、情報処理装置１０と排他制御装置４０との通信に掛かる時間を削減するとの効果を奏する。
【０２７９】
その理由は、次のとおりである。
【０２８０】
排他制御装置４０は、ロックテーブル３０に情報が登録されていない資源に対するＳロック要求を受信すると、全ての情報処理装置１０に、ロック登録通知を送信する。排他制御装置４０は、特に、Ｓ資源に対して、上記の処理を実行する。
【０２８１】
情報処理装置１０のロック制御部２０（排他制御装置通信部２０２）は、この通知を基に、ロックテーブル３０にＳロックとなった資源に関する情報を保存する。
【０２８２】
そして、情報処理装置１０のロック制御部２０（コマンド解析部２０１）が、要求元からロックテーブル３０に情報が登録されている資源に対するＳロック要求を受けたとき、排他制御装置４０に要求を送信する前に、要求元にロック成功の応答を送信する。このように第１の実施形態に係るロック制御部２０は、資源のＳロックに関して、排他制御装置４０との通信に掛かる時間を削減して、要求元にロック成功の応答を送信できるためである。
【０２８３】
この結果、情報処理装置１０の要求元は、動作の時間を削減できる。
【０２８４】
このように、情報処理システム１００は、情報処理装置１０における動作の時間を削減できる。
【０２８５】
さらに、コマンド解析部２０１は、要求元に応答後、排他制御装置４０に、「Ｓロックの要求（応答済み）」を送信する。排他制御装置４０は、この要求を基に、排他制御テーブル５０の資源に関する情報を修正する。ただし、排他制御装置４０は、情報処理装置１０には、応答しない。そのため、排他制御装置４０は、応答の通信及び処理に必要な時間を削減できる。
【０２８６】
さらに、情報処理装置１０は、排他制御装置４０からの応答に対応する動作が不要となる。そのため、情報処理装置１０は、応答の通信及び処理に必要な時間を削減できる。
【０２８７】
＜その他の実施形態＞
ここまでの説明において、情報処理システム１００は、１台の排他制御装置４０を含むとして説明した。しかし、情報処理システム１００は、複数台の排他制御装置４０を含んでもよい。この場合、排他制御装置４０は、分担して資源の排他処理を制御してもよい。
【０２８８】
また、ここまでの説明において、ロック制御部２０が、ロックテーブル３０を含むとして説明した。しかし、情報処理装置１０において、ロックテーブル３０の位置は、ロック制御部２０に限られない。例えば、ロックテーブル３０は、他の構成、例えば、ＯＳに含まれてもよい。この場合、ＯＳが、ロック制御部２０に相当する機能を含んでもよい。
【０２８９】
＜実施形態の概要＞
図１７は、本発明における情報処理システム１００の最小構成である情報処理システム１０１の構成の一例を示すブロック図である。
【０２９０】
情報処理システム１０１は、複数の情報処理装置１１と、排他制御装置４１とを含む。
【０２９１】
情報処理装置１１は、要求処理部２１１と、資源情報処理部２１２とを含む。要求処理部２１１の一例は、コマンド解析部２０１である。資源情報処理部２１２の一例は、排他制御装置通信部２０２である。
【０２９２】
また、排他制御装置４１は、情報通信部４１２と、参照ロック処理部４１３とを含む。情報通信部４１２の一例は、ロックテーブル制御部４０２である。参照ロック処理部４１３の一例は、参照ロック処理部４０３である。
【０２９３】
参照ロック処理部４１３は、情報処理装置１１から資源を参照するための要求である参照ロック要求を受信する。参照ロック要求の一例は、参照ロック要求（未応答）及び参照ロック（応答済み）である。
【０２９４】
そして、参照ロック処理部４１３は、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存する。所定の資源の一例が、Ｓ資源である。また、所定の資源に関する情報の一例が、疑似エントリである。
【０２９５】
そして、参照ロック処理部４１３は、所定の資源に対応する第１の通知を作成する。第１の通知の一例が、ロック登録通知である。
【０２９６】
そして、参照ロック処理部４１３は、情報処理装置１１から第１の通知に対する第１の応答を受信する。第１の応答の一例が、更新完了の応答である。
【０２９７】
そして、参照ロック処理部４１３は、資源のアクセスに関する第１の情報を保存する。第１の情報の一例が、タスクエントリである。
【０２９８】
そして、参照ロック処理部４１３は、資源に関する第２の応答を作成する。第２の応答の一例が、ロック成功の応答である。
【０２９９】
さらに、参照ロック処理部４１３は、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する資源に関する第１の情報を保存する。応答済みを示す情報を含む参照ロック要求の一例が、参照ロック要求（応答済み）である。
【０３００】
さらに、参照ロック処理部４１３は、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する資源に関する第１の情報を保存する。そして、参照ロック処理部４１３は、資源に関する第２の応答を作成する。未応答を示す情報を含む参照ロック要求の一例が、参照ロック要求（未応答）である。
【０３０１】
情報通信部４１２は、第１の通知を複数の情報処理装置１１に送信する。
【０３０２】
情報通信部４１２は、第２の応答を、参照ロック要求を送信した情報処理装置１１に送信する。
【０３０３】
要求処理部２１１は、所定の要求元より資源に関する参照ロック要求を受信する。要求元の一例が、タスクである。
【０３０４】
要求処理部２１１は、参照ロック要求に対応する資源に関する第２の情報が保存されている場合に、要求元に参照ロック要求に対応する第３の応答を送信する。第２の情報の一例が、ロックテーブル３０に保存されている資源ＩＤである。また、第３の応答の一例は、タスクへの応答である。
【０３０５】
そして、要求処理部２１１は、参照ロック要求を基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置４１に送信する。
【０３０６】
また、要求処理部２１１は、参照ロック要求に対応する資源に関する第２の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置４１に送信する。
【０３０７】
資源情報処理部２１２は、排他制御装置４１から第１の通知を受信した場合に、第１の通知に対応する第２の情報を保存し、第１の応答を排他制御装置４１に送信する。
【０３０８】
さらに、資源情報処理部２１２は、排他制御装置４１から第２の応答を受信した場合に、第２の応答を要求元に送信する。
【０３０９】
このように構成された情報処理システム１０１は、情報処理システム１００と同様に、情報処理装置１１と排他制御装置４１との通信に掛かる時間を削減する効果を奏する。
【０３１０】
その理由は、情報処理システム１０１に含まれる情報処理装置１１及び排他制御装置４１が、上記の構成を用いて、第３の情報が保存されている資源に対する参照ロックにおける情報処理装置１０及び排他制御装置４０と同様の動作を実行するためである。
【０３１１】
＜変形例＞
以上の説明した情報処理装置１０、情報処理装置１１、排他制御装置４０、及び／又は排他制御装置４１の構成について、情報処理装置１０及び排他制御装置４０を用いて説明する。以下の説明において、情報処理装置１０及び／又は排他制御装置４０は、情報処理装置１１、及び／又は、排他制御装置４１と置き換え可能である。
【０３１２】
例えば、情報処理装置１０及び／又は排他制御装置４０の各構成部は、ハードウェア回路で構成されてもよい。
【０３１３】
また、情報処理装置１０及び／又は排他制御装置４０において、各構成部は、ネットワークを介して接続された複数の装置を用いて、構成されてもよい。
【０３１４】
また、情報処理装置１０及び／又は排他制御装置４０において、複数の構成部は、１つのハードウェアで構成されてもよい。
【０３１５】
また、情報処理装置１０及び／又は排他制御装置４０は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現されてもよい。情報処理装置１０及び排他制御装置４０は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input / Output Circuit）と、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）とを含むコンピュータ装置として実現されてもよい。
【０３１６】
図１８は、本発明における情報処理装置１０及び／又は排他制御装置４０の変形例である情報処理装置６００の構成の一例を示すブロック図である。
【０３１７】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
【０３１８】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、情報処理装置１０及び／又は排他制御装置４０としての各機能を実現する。すなわち、ＣＰＵ６１０を含むコンピュータは、図２に示されているコマンド解析部２０１及び排他制御装置通信部２０２としての機能を実現する。あるいは、ＣＰＵ６１０を含むコンピュータは、図３に示されているコマンド振り分け部４０１、ロックテーブル制御部４０２、参照ロック処理部４０３、更新ロック処理部４０４、及び、アンロック処理部４０５としての機能を実現する。
【０３１９】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶媒体として使用してもよい。
【０３２０】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作してもよい。
【０３２１】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programmable-ROM）又はフラッシュＲＯＭである。
【０３２２】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
【０３２３】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。内部記憶装置６４０は、ロックテーブル３０及び／又は排他制御テーブル５０として動作する。
【０３２４】
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性（non-transitory）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（transitory）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０３２５】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
【０３２６】
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０３２７】
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
【０３２８】
ＮＩＣ６８０は、ネットワークを介した図示しない他の装置（情報処理装置１０又は排他制御装置４０）とのデータのやり取りを中継する。ＮＩＣ６８０は、例えば、ＬＡＮ（Local Area Network）カードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。ＮＩＣ６８０は、コマンド解析部２０１及び排他制御装置通信部２０２の一部として動作する。あるいは、ＮＩＣ６８０は、コマンド振り分け部４０１及びロックテーブル制御部４０２の一部として動作する。
【０３２９】
このように構成された情報処理装置６００は、情報処理装置１０及び／又は排他制御装置４０と同様の効果を得ることができる。
【０３３０】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて情報処理装置１０及び／又は排他制御装置４０と同様の機能を実現できるためである。
【０３３１】
なお、情報処理装置６００は、情報処理装置１０及び排他制御装置４０として両方の機能を実現してもよい。例えば、情報処理装置６００のＣＰＵ６１０は、情報処理装置１０としての機能を実現するプログラムと排他制御装置４０としての機能を実現するプログラムとの両方プログラムを並列に実行してもよい。
【０３３２】
さらに、情報処理装置６００は、複数の情報処理装置１０としての機能を実現してもよい。例えば、情報処理装置６００のＣＰＵ６１０は、情報処理装置１０としての機能を実現する複数のプログラムを並列に実行してもよい。
【０３３３】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０３３４】
本発明は、疎結合構成のコンピュータシステムに適用可能である。
【符号の説明】
【０３３５】
１０    情報処理装置
１１    情報処理装置
２０    ロック制御部
３０    ロックテーブル
４０    排他制御装置
４１    排他制御装置
５０    排他制御テーブル
１００    情報処理システム
１０１    情報処理システム
２０１    コマンド解析部
２０２    排他制御装置通信部
２１１    要求処理部
２１２    資源情報処理部
４０１    コマンド振り分け部
４０２    ロックテーブル制御部
４０３    参照ロック処理部
４０４    更新ロック処理部
４０５    アンロック処理部
４１２    情報通信部
４１３    参照ロック処理部
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
【図１】
0006728773.tif 000002
【図２】
0006728773.tif 000003
【図３】
0006728773.tif 000004
【図４】
0006728773.tif 000005
【図５】
0006728773.tif 000006
【図６】
0006728773.tif 000007
【図７】
0006728773.tif 000008
【図８】
0006728773.tif 000009
【図９】
0006728773.tif 000010
【図１０】
0006728773.tif 000011
【図１１】
0006728773.tif 000012
【図１２】
0006728773.tif 000013
【図１３】
0006728773.tif 000014
【図１４】
0006728773.tif 000015
【図１５】
0006728773.tif 000016
【図１６】
0006728773.tif 000017
【図１７】
0006728773.tif 000018
【図１８】
0006728773.tif 000019
【図１９】
0006728773.tif 000020
【図２０】
0006728773.tif 000021
【図２１】
0006728773.tif 000022
【図２２】
0006728773.tif 000023