図面 (/)

技術 情報処理システム、情報処理装置、排他制御装置、情報処理方法、排他制御方法、及び、プログラム

出願人 日本電気株式会社
発明者 松村聖子
出願日 2016年3月1日 (5年11ヶ月経過) 出願番号 2016-039025
公開日 2017年9月7日 (4年5ヶ月経過) 公開番号 2017-156951
状態 特許登録済
技術分野 検索装置 計算機におけるファイル管理 マルチプログラミング
主要キーワード ロック削除 待ち列 更新ロック 設定元 ロック成功 一時記憶媒体 排他制御テーブル ロック待ち
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年9月7日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

情報処理装置排他制御装置との通信時間を削減する。

解決手段

情報処理システム100は、排他制御装置40が、参照ロック要求資源の情報を保持せず、資源が所定の資源の場合に、所定の資源を示す情報を保存し、資源に対応する通知を複数の情報処理装置10に送信し、資源に関する応答を情報処理装置10に送信する。資源を保持する場合、参照ロック要求の資源の情報を保存し、未応答の参照ロック要求の場合に、応答を情報処理装置10に送信する。情報処理装置10が、通知の資源の情報を保存し、参照ロック要求の資源に関する情報が保存されている場合に、要求元に対応する応答を送信してから、応答済みを示す参照ロック要求を排他制御装置40に送信し、参照ロック要求の資源に関する情報が保存されていない場合に、未応答を示す情報を含む参照ロック要求を排他制御装置40に送信する。

概要

背景

情報処理システムに含まれる情報処理装置は、情報処理システムに含まれる資源リソース)を用いて動作する。資源には、複数の情報処理装置から共有して使用される資源がある。

複数の情報処理装置が、データを保存する共有資源ファイル又はデータベースなど)を同時に更新した場合、共有資源のデータにおいて、一貫性が失われる。あるいは、いずれかの情報処理装置が共有資源を参照している最中に、他の情報処理装置がデータを更新した場合、データの一貫性が失われる。このように、共有資源におけるデータの更新を管理しない場合、共有資源においてデータの一貫性が損なわれる。

そこで、共有資源のデータを保護するため、一般的に、情報処理システムは、共有資源の管理として、排他制御装置を用いる(例えば、特許文献1を参照)。

情報処理装置は、共有資源を使用する場合、資源にアクセスする前に、排他制御装置から資源に対するアクセス権を取得する。そして、情報処理装置は、アクセス権を取得した資源を利用する。

一般的に、資源に対するアクセス権には、2種類のアクセス権がある。

第1のアクセス権は、資源のデータを参照する場合(データを更新しない場合)のアクセス権である。第1のアクセス権は、「参照権」と呼ばれる。参照権を取得した情報処理装置は、共有資源のデータを更新できない。

第2のアクセス権は、資源のデータを更新する場合のアクセス権である。第2のアクセス権は、「更新権」と呼ばれる。更新権を取得した情報処理装置は、共有資源のデータを更新できる。

情報処理装置は、資源の使用目的に合わせてアクセス権を取得し、アクセス権の取得後に、目的の資源のデータにアクセスする。

このように、情報処理装置が、共有資源にアクセスする場合、実際に資源のデータをアクセスする時間に加え、アクセス権を取得するための時間が必要となる。

概要

情報処理装置と排他制御装置との通信時間を削減する。情報処理システム100は、排他制御装置40が、参照ロック要求の資源の情報を保持せず、資源が所定の資源の場合に、所定の資源を示す情報を保存し、資源に対応する通知を複数の情報処理装置10に送信し、資源に関する応答を情報処理装置10に送信する。資源を保持する場合、参照ロック要求の資源の情報を保存し、未応答の参照ロック要求の場合に、応答を情報処理装置10に送信する。情報処理装置10が、通知の資源の情報を保存し、参照ロック要求の資源に関する情報が保存されている場合に、要求元に対応する応答を送信してから、応答済みを示す参照ロック要求を排他制御装置40に送信し、参照ロック要求の資源に関する情報が保存されていない場合に、未応答を示す情報を含む参照ロック要求を排他制御装置40に送信する。

目的

本発明の目的は、上記問題点を解決し、情報処理装置と排他制御装置との通信に掛かる時間を削減する情報処理システム、情報処理装置、情報処理方法、及び、プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の情報処理装置と、前記情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、前記排他制御装置が、前記情報処理装置から前記資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、前記情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成する参照ロック処理手段と、前記第1の通知を複数の前記情報処理装置に送信し、前記第2の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する情報通信手段とを含み、前記情報処理装置が、所定の要求元より前記資源に関する前記参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する要求処理手段と、前記排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を前記排他制御装置に送信し、前記排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する資源情報処理手段とを含む情報処理システム。

請求項2

前記排他制御装置が、さらに、前記情報処理装置から前記資源を更新するための要求である更新ロック要求を受信し、前記更新ロック要求に対応する第2の通知を作成し、前記情報処理装置から前記第2の通知に対応する第1の応答を受信し、所定の前記資源に関する情報を削除し、前記資源に関する前記第1の情報を保存し、前記資源に関する第2の応答を作成する更新ロック処理手段を含み、前記情報通信手段が、前記第2の通知を複数の前記情報処理装置に送信し、前記資源情報処理手段が、前記第2の通知に対応した前記第2の情報を削除し、前記第1の応答を前記排他制御装置に送信する請求項1に記載の情報処理システム。

請求項3

前記排他制御装置が、さらに、前記情報処理装置からアンロック要求を受信し、前記アンロック要求に対応する前記第2の情報を削除するアンロック処理手段を含む請求項1又は2に記載の情報処理システム。

請求項4

情報処理装置から資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成し、前記第1の通知を複数の情報処理装置に送信し、前記第2の応答を、前記参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、所定の要求元より前記参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する要求処理手段と、前記排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を前記排他制御装置に送信し、前記排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する資源情報処理手段とを含むを含む情報処理装置。

請求項5

所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に応答済みを示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に未応答を示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を排他制御装置に送信し、排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、前記情報処理装置から前記参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、前記情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成する参照ロック処理手段と、前記第1の通知を複数の前記情報処理装置に送信し、前記第2の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する情報通信手段とを含む排他制御装置。

請求項6

複数の情報処理装置と、前記情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、前記排他制御装置が、前記情報処理装置から前記資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、前記情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成し、前記第1の通知を複数の前記情報処理装置に送信し、前記第2の応答を前記参照ロック要求を送信した前記情報処理装置に送信し、前記情報処理装置が、所定の要求元より前記資源に関する前記参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、前記排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を前記排他制御装置に送信し、前記排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する情報処理方法

請求項7

情報処理装置から資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成し、前記第1の通知を複数の情報処理装置に送信し、前記第2の応答を、前記参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、情報処理装置が、所定の要求元より前記参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信し、前記排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を前記排他制御装置に送信し、前記排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する情報処理方法。

請求項8

所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に応答済みを示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に未応答を示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を排他制御装置に送信し、排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、排他制御装置が、前記情報処理装置から前記参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、前記情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成し、前記第1の通知を複数の前記情報処理装置に送信し、前記第2の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する排他制御方法

請求項9

情報処理装置から資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成し、前記第1の通知を複数の情報処理装置に送信し、前記第2の応答を、前記参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、所定の要求元より前記参照ロック要求を受信する処理と、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に前記応答済みを示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する処理と、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に前記未応答を示す情報を含む前記参照ロック要求を作成して前記排他制御装置に送信する処理と、前記排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を前記排他制御装置に送信する処理と、前記排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する処理とをコンピュータに実行させるプログラム

請求項10

所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、前記参照ロック要求に対応する前記資源に関する第2の情報が保存されている場合に、前記要求元に前記参照ロック要求に対応する第3の応答を送信し、前記参照ロックを基に応答済みを示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、前記参照ロック要求に対応する前記資源に関する前記第2の情報が保存されていない場合に、前記参照ロック要求を基に未応答を示す情報を含む前記参照ロック要求を作成して排他制御装置に送信し、排他制御装置から前記第1の通知を受信した場合に、前記第1の通知に対応する前記第2の情報を保存し、前記第1の応答を排他制御装置に送信し、排他制御装置から前記第2の応答を受信した場合に、前記第2の応答を前記要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、前記情報処理装置から前記参照ロック要求を受信する処理と、前記参照ロック要求に対応する前記資源に関する情報を保持せず、前記資源が所定の前記資源の場合に、所定の前記資源に関する情報を保存し、所定の前記資源に対応する第1の通知を作成し、前記情報処理装置から前記第1の通知に対する第1の応答を受信し、前記資源のアクセスに関する第1の情報を保存し、前記資源に関する第2の応答を作成する処理と、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記応答済みを示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存する処理と、前記参照ロック要求に対応する前記資源に関する情報を保持し、前記資源が参照としてロックされ、前記参照ロック要求が前記未応答を示す情報を含む場合に、前記参照ロック要求に対応する前記第1の情報を保存し、前記資源に関する前記第2の応答を作成する処理と、前記第1の通知を複数の前記情報処理装置に送信する処理と、前記第2の応答を、前記参照ロック要求を送信した前記情報処理装置に送信する処理とをコンピュータに実行させるプログラム。

技術分野

0001

本発明は、情報の処理に関し、特に、資源を管理する情報処理システム情報処理装置情報処理方法、及び、プログラムに関する。

背景技術

0002

情報処理システムに含まれる情報処理装置は、情報処理システムに含まれる資源(リソース)を用いて動作する。資源には、複数の情報処理装置から共有して使用される資源がある。

0003

複数の情報処理装置が、データを保存する共有資源ファイル又はデータベースなど)を同時に更新した場合、共有資源のデータにおいて、一貫性が失われる。あるいは、いずれかの情報処理装置が共有資源を参照している最中に、他の情報処理装置がデータを更新した場合、データの一貫性が失われる。このように、共有資源におけるデータの更新を管理しない場合、共有資源においてデータの一貫性が損なわれる。

0004

そこで、共有資源のデータを保護するため、一般的に、情報処理システムは、共有資源の管理として、排他制御装置を用いる(例えば、特許文献1を参照)。

0005

情報処理装置は、共有資源を使用する場合、資源にアクセスする前に、排他制御装置から資源に対するアクセス権を取得する。そして、情報処理装置は、アクセス権を取得した資源を利用する。

0006

一般的に、資源に対するアクセス権には、2種類のアクセス権がある。

0007

第1のアクセス権は、資源のデータを参照する場合(データを更新しない場合)のアクセス権である。第1のアクセス権は、「参照権」と呼ばれる。参照権を取得した情報処理装置は、共有資源のデータを更新できない。

0008

第2のアクセス権は、資源のデータを更新する場合のアクセス権である。第2のアクセス権は、「更新権」と呼ばれる。更新権を取得した情報処理装置は、共有資源のデータを更新できる。

0009

情報処理装置は、資源の使用目的に合わせてアクセス権を取得し、アクセス権の取得後に、目的の資源のデータにアクセスする。

0010

このように、情報処理装置が、共有資源にアクセスする場合、実際に資源のデータをアクセスする時間に加え、アクセス権を取得するための時間が必要となる。

先行技術

0011

特開2000−215190号公報

発明が解決しようとする課題

0012

上記のとおり、情報処理装置は、共有資源を更新する場合に限らず、共有資源を参照する場合でも、排他制御装置に資源にアクセスするための要求を送信し、排他制御装置からはその要求に対するアクセス可否を判断した結果である応答を受信する。

0013

つまり、情報処理装置は、資源にアクセスする場合、資源にアクセスする時間に加え、排他制御装置のとの通信の時間が必要である。

0014

近年、共有資源であるディスク装置等の性能が、高速化している。つまり、データの転送時間が、短くなっている。その結果、情報処理システムの処理性能において、情報処理装置と排他制御装置との通信に必要となる時間の比率が、大きくなっている。そこで、この時間の削減が望まれている。しかし、特許文献1に記載の発明は、情報処理装置と排他制御装置との時間を削減するものではない。

0015

このように、特許文献1に記載の発明は、情報処理装置と排他制御装置との通信の時間が大きいという問題点があった。

0016

本発明の目的は、上記問題点を解決し、情報処理装置と排他制御装置との通信に掛かる時間を削減する情報処理システム、情報処理装置、情報処理方法、及び、プログラムを提供することにある。

課題を解決するための手段

0017

本発明の一形態における情報処理システムは、複数の情報処理装置と、情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、排他制御装置が、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成する参照ロック処理手段と、第1の通知を複数の情報処理装置に送信し、第2の応答を、参照ロック要求を送信した情報処理装置に送信する情報通信手段とを含み、情報処理装置が、所定の要求元より資源に関する参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信する要求処理手段と、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する資源情報処理手段とを含む。

0018

本発明の一形態における情報処理装置は、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成し、第1の通知を複数の情報処理装置に送信し、第2の応答を、参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、所定の要求元より参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信する要求処理手段と、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する資源情報処理手段とを含む。

0019

本発明の一形態における排他処理装置は、所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、情報処理装置から参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成する参照ロック処理手段と、第1の通知を複数の情報処理装置に送信し、第2の応答を、参照ロック要求を送信した情報処理装置に送信する情報通信手段とを含む。

0020

本発明の一形態における情報処理方法は、複数の情報処理装置と、情報処理装置がアクセスする資源における排他制御を実行する排他制御装置とを含む情報処理システムにおいて、排他制御装置が、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成し、第1の通知を複数の情報処理装置に送信し、第2の応答を参照ロック要求を送信した情報処理装置に送信し、情報処理装置が、所定の要求元より資源に関する参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する。

0021

本発明の一形態における第2の情報処理方法は、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成し、第1の通知を複数の情報処理装置に送信し、第2の応答を、参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、情報処理装置が、所定の要求元より参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する。

0022

本発明の一形態における排他処理方法は、所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、排他制御装置が、情報処理装置から参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成し、第1の通知を複数の情報処理装置に送信し、第2の応答を、参照ロック要求を送信した情報処理装置に送信する。

0023

本発明の一形態におけるプログラムは、情報処理装置から資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成し、第1の通知を複数の情報処理装置に送信し、第2の応答を、参照ロック要求を送信した情報処理装置に送信する排他制御装置を含む情報処理システムにおいて、所定の要求元より参照ロック要求を受信する処理と、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信する処理と、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信する処理と、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信する処理と、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する処理とをコンピュータに実行させる。

0024

本発明の一形態における第2のプログラムは、所定の要求元より資源に関する資源を参照するための要求である参照ロック要求を受信し、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信し、参照ロックを基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置に送信し、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置に送信し、排他制御装置から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置に送信し、排他制御装置から第2の応答を受信した場合に、第2の応答を要求元に送信する複数の情報処理装置を含む情報処理システムにおいて、情報処理装置から参照ロック要求を受信する処理と、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存し、所定の資源に対応する第1の通知を作成し、情報処理装置から第1の通知に対する第1の応答を受信し、資源のアクセスに関する第1の情報を保存し、資源に関する第2の応答を作成する処理と、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存する処理と、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する第1の情報を保存し、資源に関する第2の応答を作成する処理と、第1の通知を複数の情報処理装置に送信する処理と、第2の応答を、参照ロック要求を送信した情報処理装置に送信する処理とをコンピュータに実行させる。

発明の効果

0025

本発明に基づけば、情報処理装置と排他制御装置との通信に掛かる時間を削減するとの効果を奏することができる。

図面の簡単な説明

0026

図1は、本発明における第1の実施形態に係る情報処理システムの構成の一例を示すブロック図である。
図2は、第1の実施形態に係る情報処理装置のロック制御部の構成の一例を示すブロック図である。
図3は、第1の実施形態に係る排他制御装置の構成の一例を示すブロック図である。
図4は、第1の実施形態に係る要求の形式の一例を示す図である。
図5は、第1の実施形態に係る排他制御テーブルに記憶されているデータの一例を模式的に示す図である。
図6は、第1の実施形態における未登録の資源に対するSロック要求に関する動作の一例を示すシーケンス図である。
図7は、第1の実施形態における登録済みの資源に対するSロック要求に関する動作の一例を示すシーケンス図である。
図8は、第1の実施形態におけるアンロック要求に関する動作の一例を示すシーケンス図である。
図9は、第1の実施形態におけるSロックをアンロック後にXロックが発生していない資源に対するSロック要求に関する動作の一例を示すシーケンス図である。
図10は、第1の実施形態におけるSロックが存在する資源に対するXロック要求に関する動作の一例を示すシーケンス図である。
図11は、第1の実施形態におけるSロック及びXロックがない資源に対するXロック要求に関する動作の一例を示すシーケンス図である。
図12は、第1の実施形態に係る参照ロック処理部の動作の一例を示すフローチャートである。
図13は、第1の実施形態に係る更新ロック処理部の動作の一例を示すフローチャートである。
図14は、第1の実施形態に係るアンロック処理部の動作の一例を示すフローチャートである。
図15は、第1の実施形態に係るコマンド解析部の動作の一例を示すフローチャートである。
図16は、第1の実施形態に係る排他制御装置通信部の動作の一例を示すフローチャートである。
図17は、本発明における情報処理システムの概要の構成の一例を示すブロック図である。
図18は、本発明における変形例である情報処理装置の構成の一例を示すブロック図である。
図19は、第1の実施形態におけるXロックされている資源に対するXロック要求に関する動作の一例を示すシーケンス図である。
図20は、第1の実施形態におけるXロックされている資源に対するSロック要求に関する動作の一例を示すシーケンス図である。
図21は、第1の実施形態におけるXロックされた後にアンロックされた資源に対するSロック要求に関する動作の一例を示すシーケンス図である。
図22は、第1の実施形態における未登録の資源に対するXロック要求に関する動作の一例を示すシーケンス図である。

実施例

0027

次に、本発明の実施形態について図面を参照して説明する。

0028

なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。

0029

[用語の説明]
本発明における実施形態の説明に先立ち、説明に用いる用語について整理する。

0030

「資源(リソース)」とは、情報処理システムにおける情報処理装置が、動作において利用する要素である。例えば、資源は、CPUの処理能力及び処理時間、メモリの容量、ハードディスクの容量、又は、通信帯域である。

0031

「共有資源」とは、複数の情報処理装置において共有される資源である。例えば、共有資源は、ファイル、データベース、又は、共有装置である。以下の説明では、特に断らない限り、資源とは、共有資源である。

0032

ロック成功」とは、資源へのアクセスが許可された状態である。つまり、ロック成功とは、アクセス権が確保されたことである。

0033

ロック待ち」とは、資源のアクセスが不許可のため、アクセスの許可の状態(ロック成功)となることを待っている状態である。

0034

「ロック種別」とは、資源のアクセス時におけるアクセス権の種別である。ロック種別は、少なくとも、次に説明するSロックとXロックとを含む。

0035

「Sロック」とは、資源に対して、同時に複数の情報処理装置からアクセスが許可されるロック種別である。ただし、Sロックは、データの更新を許可しない。つまり、Sロックは、参照のアクセスを許可するロック種別である。そのため、Sロックは、「参照ロック」とも呼ばれる。さらに、Sロックは、同一の資源に対して、下記のXロックとは同時には設定されない。Sロックの一例が、上記の参照権である。Sロック要求は、情報処理装置が排他制御装置に所定の資源に対するSロックの確保を依頼する要求である。そのため、Sロック要求は、資源に関する情報を含む。

0036

「Xロック」とは、資源に対して、排他的にアクセスが許可されるロック種別である。Xロックは、資源のデータを更新するときなどに使用される。そのため、Xロックは、「更新ロック」とも呼ばれる。Xロックは、例えば、資源のデータを更新するとき、又は、1台の情報処理装置が資源を占有的に使用するときに用いられる。Xロックの一例が、上記の更新権である。Xロック要求は、情報処理装置が排他制御装置に所定の資源に対するXロックの確保を依頼する要求である。そのため、Xロック要求は、資源に関する情報を含む。

0037

「ロックする」とは、上記のように、資源に対するSロック又はXロックを取得することである。例えば、資源に対するSロック又はXロックを得ることは、「その資源をロックする」と表現される。

0038

「アンロック」とは、ロックした資源からロック(例えば、Sロック)を解除することである。アンロック要求は、情報処理装置が排他制御装置に所定の資源に対するアンロックを依頼する要求である。そのため、アンロック要求は、資源に関する情報を含む。

0039

「S資源」とは、Xロックの要求に対してSロックの要求頻度が高い資源である。S資源の設定元は、特に制限されない。例えば、予め、排他制御装置が、S資源となる資源に関する情報を保持してもよい。あるいは、情報処理装置が、排他制御装置に指定してもよい。

0040

<第1の実施形態>
次に、本発明における第1の実施形態について、図面を参照して説明する。

0041

以下の説明において、情報処理装置が、資源を利用する。詳細には、情報処理装置上で動作するソフトウェアが、その動作において、資源を利用する。ソフトウェアは、所定の処理単位を用いて管理されている。この処理単位として、処理系それぞれにおいて、いろいろな用語が用いられている。このような用語として、例えば、タスクモジュール、又は、スレッドなどがある。一般的なアプリケーション及びOS(Operating System)は、上記の処理単位の集合として動作する。本実施形態において、処理単位は、制限されない。そこで、以下の説明では、一例として、タスクを用いる。

0042

つまり、上記のように本発明における実施形態に係る情報処理装置は、資源を利用する。そして、詳細には、情報処理装置に含まれるタスクが、資源を利用する。ただし、本発明において、資源を用いる主体は、上記に限定されない。

0043

[構成と各構成の動作の説明]
まず、図面を参照して、第1の実施形態の構成及び各構成の動作を説明する。

0044

図1は、本発明における第1の実施形態に係る情報処理システム100の構成の一例を示すブロック図である。

0045

情報処理システム100は、複数の情報処理装置10と、排他制御装置40とを含む。

0046

情報処理装置10は、図示しない資源を用いて、処理を実行する。情報処理装置10は、資源を用いる場合、資源に対してSロック又はXロックを確保する。また、情報処理装置10は、資源に対するアンロックを依頼する。なお、既に説明しているように、詳細として情報処理装置10上で動作しているタスクが、資源を利用する。つまり、タスクは、Sロック要求、Xロック要求、及び、アンロック要求の要求元である。

0047

情報処理装置10は、ロック制御部20を含む。

0048

ロック制御部20は、情報処理装置10における資源をロックする動作を制御する。ロック制御部20は、ロックテーブル30を含む。

0049

ロックテーブル30は、Sロックを取得している資源に関する情報を保存する。

0050

ロック制御部20及びロックテーブル30については、後ほど詳細に説明する。

0051

排他制御装置40は、情報処理装置10からの要求に対して、資源に対するアクセス権を管理する。アクセス権の管理の一例は、排他制御である。そこで、以下の説明において、アクセス権の管理の一例として「排他制御」を用いて説明する。つまり、排他制御装置40は、資源の排他制御を実行する。詳細には、排他制御装置40は、情報処理装置10からの各種の要求に対して、資源の排他制御を実行し、情報処理装置10に結果である応答を送信する。排他制御装置40は、排他制御テーブル50を含む。

0052

排他制御テーブル50は、資源のロックに関連する情報を保存する。

0053

排他制御装置40及び排他制御テーブル50については、後ほど詳細に説明する。

0054

次に、図面を参照して、情報処理装置10のロック制御部20の構成の詳細について説明する。

0055

図2は、第1の実施形態に係る情報処理装置10のロック制御部20の構成の一例を示すブロック図である。図2に示されているようにロック制御部20は、コマンド解析部201と、排他制御装置通信部202と、ロックテーブル30とを含む。

0056

図2及び図15を参照して、コマンド解析部201について、動作を含め説明する。

0057

図15は、第1の実施形態に係るコマンド解析部201の動作の一例を示すフローチャートである。

0058

コマンド解析部201は、要求元から、資源に対する要求(Sロック要求、Xロック要求、又は、アンロック要求)の依頼を受け取る。例えば、ロック制御部20は、上位層となっているタスクから要求を受け取る。つまり、ロック制御部20は、上位層から資源に対する要求を受け取る。ただし、ロック制御部20の要求元は、上位層に限られない。

0059

コマンド解析部201は、要求が、Sロック要求であるか否かを判定する(ステップS401)。

0060

Sロック要求の場合(ステップS401でYes)、コマンド解析部201は、ロックテーブル30において、要求された資源に関する情報を検索する(ステップS402)。例えば、資源が識別子(Identifier(ID))を用いて管理されている場合、コマンド解析部201は、ロックテーブル30に、要求された資源の識別子(ID)が含まれているか否かを検索する。

0061

そして、コマンド解析部201は、検索結果を判定する。つまり、コマンド解析部201は、資源に関する情報がロックテーブル30に含まれているか否かを判定する(ステップS403)。

0062

資源に関する情報がロックテーブル30に含まれている場合(ステップS403でYes)、コマンド解析部201は、要求元(例えば、タスク)にロック成功の応答を送信する(ステップS404)。

0063

このように、ロック制御部20のコマンド解析部201は、ロックテーブル30に情報が含まれる資源に対するSロック要求に対して、排他制御装置40との通信の前に、ロック成功の応答を要求元に送信する。つまり、ロック制御部20は、Sロック要求における排他制御装置40との応答時間を削減して、要求元に応答を送信する。要求元は、この応答を用いて動作を継続する。そのため、情報処理装置10は、要求元の処理時間を削減することができる。

0064

要求元に応答を送信後、コマンド解析部201は、排他制御装置40に、「応答済み」の情報(例えば、フラグ)を付加したSロック要求を送信する(ステップS406)。以下、応答済みの情報を付加したSロック要求を「Sロック要求(応答済み)」とする。ロック制御部20のコマンド解析部201は、Sロック要求(応答済み)を用いて、排他制御装置40に、要求された資源に対するSロック要求を依頼する。

0065

そして、コマンド解析部201は、処理を終了する。

0066

資源に関する情報がロックテーブル30に含まれていない場合(ステップS403でNo)、コマンド解析部201は、排他制御装置40に、「未応答」を示す情報(例えば、フラグ)を付加してSロック要求を送信する(ステップS405)。以下、未応答の情報を付加したSロック要求を「Sロック要求(未応答)」とする。そして、コマンド解析部201は、処理を終了する。

0067

Sロック要求でない場合(ステップS401でNo)、つまりXロック要求又はアンロック要求の場合、コマンド解析部201は、Xロック要求又はアンロック要求を、排他制御装置40に送信する(ステップS407)。コマンド解析部201は、Xロック要求及びアンロック要求に「未対応」を示す情報を付加してもよい。例えば、排他制御装置40が、「未応答」が付加された要求に対して応答の送信する場合、情報処理装置10は、「未応答」を示す情報を付加して各要求を送信する。そして、コマンド解析部201は、処理を終了する。

0068

ここで、Sロックは、同時に複数の情報処理装置10からアクセスが許可されたロック種別である。また、ロックテーブル30は、Sロックが確保されている資源に関する情報(例えば、資源ID)を保存している。そのため、ロックテーブル30に情報が含まれる資源に対するSロック要求は、ロック成功となる。

0069

そこで、要求元から受信したSロック要求が、ロックテーブル30に情報が含まれる資源に対するSロック要求の場合、コマンド解析部201は、排他制御装置40との通信の前に、要求元にロック成功の応答を送信することができる。このため、要求元は、排他制御装置40からの応答を待たずに、処理を進めることができる。つまり、情報処理装置10は、排他制御装置40との通信に掛かる時間を削減することができる。

0070

なお、ステップS405及びS407の場合、排他制御装置40は、情報処理装置10に応答を送信する。ただし、コマンド解析部201は、排他制御装置40からの応答を受信しない。後ほど説明するように、排他制御装置通信部202が、これらの応答に関する動作を実行する。なお、応答は、後ほど説明するように、少なくとも、「ロック成功」、「ロック待ち」、又は、「アンロック完」を含む。

0071

コマンド解析部201が排他制御装置40に送信する要求の形式(フォーマット)は、特に制限されない。

0072

図4は、第1の実施形態に係る要求の形式(フォーマット)の一例を示す図である。

0073

図4の上部のフォーマットは、Sロック要求及びXロック要求(以下まとめて「ロック要求」と呼ぶ)に用いられるロック要求フォーマットの一例である。ロック要求フォーマットは、要求種別と、タスクIDと、資源IDと、ロック種別と、応答フラグとを含む。また、図4の下部のフォーマットは、アンロック要求に用いられるアンロック要求フォーマットの一例である。アンロック要求フォーマットは、要求種別と、タスクIDと、資源IDと、応答フラグとを含む。

0074

要求種別は、ロック要求、又は、アンロック要求のいずれであるかを示す情報である。

0075

タスクIDは、要求を依頼した要求元(タスク)を識別するための識別子(ID)である。

0076

資源IDは、要求された資源を示す識別子(ID)である。

0077

ロック種別は、既に説明しているロック種別、つまり、Sロック及びXロックを示す情報である。

0078

応答フラグは、既に説明した「応答済み」又は「未応答」を示す情報である。

0079

コマンド解析部201は、要求元から、ロック要求として、要求種別と、タスクIDと、資源IDと、ロック種別とのデータの組を受け取る。そして、コマンド解析部201は、要求元から受け取ったロック要求に、必要に応じて応答フラグ(「応答済み」又は「未応答」を示す情報)を付加してロック要求を作成し、排他制御装置40に送信する。

0080

また、コマンド解析部201は、要求元から、アンロック要求として、要求種別と、タスクIDと、資源IDとのデータの組を受け取る。そして、コマンド解析部201は、要求元から受け取ったアンロック要求に、必要に応じて応答フラグ(「応答済み」又は「未応答」を示す情報)を付加してアンロック要求を作成し、排他制御装置40に送信する。

0081

なお、ロック要求フォーマットは、資源属性を含んでもよい。資源属性は、資源IDに対応した資源に関する属性を示す情報である。資源属性は、例えば、S資源を示す情報である。

0082

次に、図2及び図16を参照して、排他制御装置通信部202について、動作を含め説明する。

0083

図16は、第1の実施形態に係る排他制御装置通信部202の動作の一例を示すフローチャートである。

0084

排他制御装置通信部202は、排他制御装置40から応答又は通知を受け取った場合、受け取った応答又は通知が、要求元宛か否かを判定する(ステップS501)。

0085

要求元宛の場合(ステップS501でYes)、排他制御装置通信部202は、受信した応答又は通知を要求元に送信する(ステップS502)。そして、排他制御装置通信部202は、処理を終了する。

0086

要求元宛ではない場合(ステップS501でNo)、排他制御装置通信部202は、ロックテーブル30に対する資源に関する情報の追加の通知か否かを判定する(ステップS503)。ロックテーブル30に対する資源に関する情報の追加の通知を、以下、「ロック登録通知」と呼ぶ。

0087

ロック登録通知の場合(ステップS503でYes)、排他制御装置通信部202は、通知された資源に関する情報をロックテーブル30に追加する(ステップS505)。そして、排他制御装置通信部202は、排他制御装置40に、ロックテーブル30の更新完了の応答を送信する。

0088

ロック登録通知でない場合、その通知は、資源に関する情報の削除の通知である。以下、この通知を「ロック削除通知」と呼ぶ。ロック削除通知を受け取った場合(ステップS503でNo)、排他制御装置通信部202は、ロックテーブル30から通知された資源に関する情報を削除する(ステップS504)。そして、排他制御装置通信部202は、排他制御装置40に、ロックテーブル30の更新完了の応答を送信する(ステップS506)。そして、排他制御装置通信部202は、処理を終了する。

0089

次に、図面を参照して、排他制御装置40の詳細な構成について説明する。

0090

図3は、第1の実施形態に係る排他制御装置40の構成の一例を示すブロック図である。排他制御装置40は、コマンド振り分け部401と、ロックテーブル制御部402と、参照ロック処理部403と、更新ロック処理部404と、アンロック処理部405と、排他制御テーブル50とを含む。

0091

コマンド振り分け部401は、情報処理装置10から受け取った要求(ロック要求及びアンロック要求)を、参照ロック処理部403、更新ロック処理部404、及び、アンロック処理部405のいずれかに振り分ける。具体的には、コマンド振り分け部401は、Sロック要求を、参照ロック処理部403に送信する。コマンド振り分け部401は、Xロック要求を、更新ロック処理部404に送信する。そして、コマンド振り分け部401は、アンロック要求を、アンロック処理部405に送信する。コマンド振り分け部401は、例えば、図4に示されているロック要求フォーマット及びアンロック要求フォーマットにおける要求種別及びロック種別を用いて、要求を振り分ければよい。

0092

ロックテーブル制御部402は、参照ロック処理部403、更新ロック処理部404、及び、アンロック処理部405から、情報処理装置10に対する通知の送信の依頼を受ける。この通知は、ロック登録通知及びロック削除通知である。そして、ロックテーブル制御部402は、全ての情報処理装置10に通知を送信する。そして、ロックテーブル制御部402は、情報処理装置10から、通知に対する応答を受信する。ロックテーブル制御部402は、全ての情報処理装置10から応答を受信すると、通知の送信を依頼した依頼元(参照ロック処理部403、更新ロック処理部404、又は、アンロック処理部405)に応答の完了を送信する。ただし、依頼元が、通知の完了を判断してもよい。この場合、ロックテーブル制御部402は、受信した応答を依頼元に送信する。

0093

さらに、ロックテーブル制御部402は、参照ロック処理部403、更新ロック処理部404、及び、アンロック処理部405から、情報処理装置10から要求されたロック要求及びアンロック要求の結果である応答を受信する。そして、ロックテーブル制御部402は、要求を送信した情報処理装置10に、その応答を送信する。

0094

排他制御テーブル50は、資源のロック状態を示すデータを記憶する記憶部である。

0095

図5は、第1の実施形態に係る排他制御テーブル50が記憶しているデータの一例を模式的に示す図である。図5は、例示として、1つの資源のデータを示している。排他制御テーブル50は、資源の数に対応する数の図5に示されているようなデータを保存する。

0096

また、一般的に、各エントリは、リンク形式の情報が用いて接続を管理されている。そのため、図5は、リンク関係を示す線を用いて、各エントリの接続を示している。ただし、資源に関するデータは、この形式に限られない。例えば、資源に関するデータとして、全てのタスクエントリが、資源エントリに接続される形式が用いられてもよい。あるいは、エントリは、表形式のデータを用いて管理されてもよい。なお、以下の説明において、複数のタスクエントリを介して資源エントリに接続されている場合においても、各タスクエントリは、資源エントリに接続されていると呼ぶ。

0097

資源エントリに接続されるタスクエントリの数は、図5の記載に限定されない。そこで、図5は、数が限定されていないことを示すため、破線を用いて、一部のタスクエントリを示している。

0098

資源エントリは、排他制御装置40の処理対象となる資源を示す情報の組である。資源エントリは、資源IDと、ロック列(L)と、待ち列(W)とを含む。

0099

資源IDは、資源エントリに対応する資源を一意に識別するための識別子(ID)である。

0100

ロック列(L)は、資源に対して、ロック成功となっているタスクエントリを示す情報である。ロック列(L)に接続されているタスクエントリ、及び、そのタスクエントリからリンクされているタスクエントリが、その資源に対するロック成功となっているタスクのタスクエントリである。ロック列(L)は、例えば、最初にロック成功となったタスクエントリのアドレスを示す情報である。

0101

待ち列(W)は、資源に対して、ロック待ちとなっているタスクエントリを示す情報である。待ち列(W)に接続されているタスクエントリ、及び、そのタスクエントリからリンクされているタスクエントリが、その資源に対するロック待ちのタスクエントリである。待ち列(W)は、例えば、最初にロック待ちとなったタスクエントリのアドレスを示す情報である。

0102

タスクエントリは、タスクを示す情報の組である。タスクエントリは、タスクIDと、ロック種別と、次タスクとを含む。

0103

タスクIDは、タスクを一意に識別するための識別子(ID)である。

0104

ロック種別は、タスクエントリに対応するタスクが要求したロック種別である。

0105

次タスクは、継続するタスクエントリを示す情報である。次タスクは、例えば、次のタスクエントリのアドレスを示す情報である。各列の最後のタスクエントリの次タスクは、終了を示す情報又は空欄を示す情報となっている。

0106

疑似エントリは、排他制御装置40を示す情報の組である。疑似エントリの形式は、タスクエントリの同様である。ただし、ロック種別は、Sロックである。排他制御装置40は、S資源である資源に対して、疑似エントリを登録する。そのため、疑似エントリは、ロック列(L)の最初に接続される。

0107

なお、ロック列(L)及び待ち列(W)に接続されるタスクの数は、情報処理システム100及び排他制御装置40の仕様として規定されている範囲において、制限はない。

0108

例えば、初期状態の場合、資源エントリは、タスクエントリに接続されていなくてもよい。

0109

また、全てのタスクエントリが、ロック列(L)に接続されてもよい。例えば、全てのタスクが、参照ロックを用いるタスクの場合、全てのタスクエントリは、ロック列(L)に接続される。つまり、待ち列(W)に接続されるタスクエントリは、なくてもよい。

0110

あるいは、全てのタスクエントリが、待ち列(W)に接続されてもよい。例えば、資源が、一時的に動作を停止している場合、全てのタスクエントリは、待ち列(W)に接続されてもよい。ただし、この場合でも、ロック成功となっているタスクエントリが、ロック列(L)接続されていてもよい。

0111

図3及び図12を参照して、参照ロック処理部403について、動作を含め説明する。

0112

図12は、第1の実施形態に係る参照ロック処理部403の動作の一例を示すフローチャートである。

0113

参照ロック処理部403は、コマンド振り分け部401からSロック要求を受信する。

0114

そして、参照ロック処理部403は、要求されているSロックの対象となる資源に関する情報が、排他制御テーブル50に含まれているか否かを判定する(ステップS101)。

0115

排他制御テーブル50に含まれていない場合(ステップS101でNo)、参照ロック処理部403は、その資源に関する情報(例えば、図5の資源エントリ)を、排他制御テーブル50に登録する(ステップS102)。

0116

参照ロック処理部403は、対象となる資源がS資源か否かを判定する(ステップS103)。

0117

S資源の場合(ステップS103でYes)、参照ロック処理部403は、排他制御テーブル50に疑似エントリを追加する(ステップS104)。

0118

そして、参照ロック処理部403は、ロックテーブル制御部402を介して、全ての情報処理装置10に対して、Sロック要求の対象となっている資源に関するロック登録通知を送信する(ステップS105)。つまり、参照ロック処理部403は、登録されていない資源に対するSロック要求に対して、ロック登録通知を送信する。排他制御テーブル50に情報が登録されていない資源は、アクセスが発生していない資源のため、ロックテーブル30に登録されていない。つまり、この動作は、参照ロック処理部403が、ロックテーブル30に情報が登録されていない資源のSロック要求に対して、ロック登録通知を送信する動作である。

0119

既に説明したように、この通知を受けた排他制御装置通信部202は、ロックテーブル30にその資源に関する情報を登録する。そして、登録後、排他制御装置通信部202は、更新完了の応答を送信する。

0120

参照ロック処理部403は、全ての情報処理装置10から更新完了の応答が送信されてくるのを待つ(ステップS115)。具体的には、参照ロック処理部403は、ロックテーブル制御部402から応答の完了が送信されるのを待つ。

0121

S資源でない場合(ステップS103でNo)、又は、全ての情報処理装置10において更新完了後、参照ロック処理部403は、Sロック要求を送信したタスクのタスクエントリを、排他制御テーブル50のロック列(L)に登録する(ステップS106)。

0122

そして、参照ロック処理部403は、ロック成功の応答をロックテーブル制御部402に送信する(ステップS107)。そして、参照ロック処理部403は、処理を終了する。

0123

この場合、ロックテーブル制御部402は、ロック成功の応答を情報処理装置10に送信する。

0124

排他制御テーブル50に資源に関する情報が含まれる場合(ステップS101でYes)、参照ロック処理部403は、資源エントリのロック列(L)にXロックが含まれるか否かを判定する(ステップS108)。

0125

Xロックが含まれない場合(ステップS108でNo)、参照ロック処理部403は、排他制御テーブル50のロック列(L)に、要求されたタスクのタスクエントリを追加する(ステップS109)。

0126

そして、参照ロック処理部403は、Sロック要求が応答済みか否かを判定する(ステップS110)。

0127

応答済みの場合(ステップS110でYes)、参照ロック処理部403は、処理を終了する。

0128

応答済みでない場合(ステップS110でNo)、参照ロック処理部403は、ロック成功の応答をロックテーブル制御部402に送信する(ステップS111)。そして、参照ロック処理部403は、処理を終了する。

0129

この場合、ロックテーブル制御部402は、ロック成功の応答を情報処理装置10に送信する。

0130

Xロックがある場合(ステップS108でYes)、参照ロック処理部403は、要求されたタスクのタスクエントリを待ち列(W)に追加する(ステップS112)。

0131

そして、参照ロック処理部403は、ロック待ちの応答を、ロックテーブル制御部402に送信する(ステップS113)。そして、参照ロック処理部403は、処理を終了する。

0132

この場合、ロックテーブル制御部402は、ロック待ちの応答を、Sロック要求を送信してきた情報処理装置10に送信する。

0133

図3及び図13を参照して、更新ロック処理部404について、動作を含め説明する。

0134

図13は、第1の実施形態に係る更新ロック処理部404の動作の一例を示すフローチャートである。

0135

更新ロック処理部404は、コマンド振り分け部401からXロック要求を受信する。

0136

そして、更新ロック処理部404は、要求されているXロックが、排他制御テーブル50に含まれるか否かを判定する(ステップS201)。

0137

排他制御テーブル50に資源に関する情報が含まれる場合(ステップSS201でYes)、更新ロック処理部404は、その資源をロックしているタスクのロック種別がXロックか否かを判定する(ステップS202)。

0138

Xロックでない場合(ステップS202でNo)、更新ロック処理部404は、情報処理装置10に対して、Xロック要求の対象となっている資源に関する情報をロックテーブル30から削除するロック削除通知を送信する(ステップS203)。なお、ここにおけるXロックでない場合は、Sロックもない場合、つまり、ロックしているタスクエントリがない場合を含む。

0139

そして、更新ロック処理部404は、全ての情報処理装置10での処理の終了を待つ(ステップS211)。

0140

全ての情報処理装置10が応答後、更新ロック処理部404は、疑似エントリを削除する(ステップS204)。

0141

そして、更新ロック処理部404は、資源エントリのロック列(L)にタスクエントリがあるか否かを確認する(ステップS212)。

0142

タスクがある場合(ステップS212でYes)及びXロック場合(ステップS202でYes)、更新ロック処理部404は、待ち列(W)に要求されたタスクのタスクエントリ(Xロック要求のタスクのタスクエントリ)を追加する(ステップS209)。

0143

そして、更新ロック処理部404は、ロック待ちの応答を、ロックテーブル制御部402に送信する(ステップS210)。そして、更新ロック処理部404は、処理を終了する。

0144

この場合、ロックテーブル制御部402は、ロック待ちの応答を、Xロック要求を送信してきた情報処理装置10に送信する。

0145

排他制御テーブル50に資源に関する情報が含まれない場合(ステップSS201でNo)、更新ロック処理部404は、その資源に関する情報を排他制御テーブル50に登録する(ステップS206)。

0146

ステップS206の後、及び、タスクがない場合(ステップS212でNo)、更新ロック処理部404は、ロック列(L)に要求されたタスクのタスクエントリ(Xロックのタスクエントリ)を登録する(ステップS207)。

0147

そして、更新ロック処理部404は、ロック成功の応答を、ロックテーブル制御部402に送信する(ステップS208)。そして、更新ロック処理部404は、処理を終了する。

0148

この場合、ロックテーブル制御部402は、ロック成功の応答を、Xロック要求を送信してきた情報処理装置10に送信する。

0149

図3及び図14を参照して、アンロック処理部405について、動作を含め説明する。

0150

図14は、第1の実施形態に係るアンロック処理部405の動作の一例を示すフローチャートである。

0151

アンロック処理部405は、コマンド振り分け部401からアンロック要求を受信する。

0152

そして、アンロック処理部405は、アンロック要求の対象であるタスクのタスクエントリを排他制御テーブル50から削除する(ステップS301)。タスクエントリは、ロック列(L)又は待ち列(W)のいずれに含まれ場合も、削除される。さらに、アンロック処理部405は、Xロック要求であるタスクエントリを削除した場合で、その資源に対応する資源エントリの待ち列(W)にタスクエントリがない場合、その資源エントリを削除する。

0153

そして、アンロック処理部405は、アンロック完了の応答をロックテーブル制御部402に送信する(ステップS302)。

0154

ロックテーブル制御部402は、アンロック完了の応答を、アンロック要求を送信してきた情報処理装置10に送信する。

0155

アンロック処理部405は、その資源エントリの待ち列(W)に、その資源をロック可能なタスク(タスクエントリ)があるか否かを確認する(ステップS303)。

0156

ロック可能なタスク(タスクエントリ)がない場合(ステップS303でNo)、アンロック処理部405は、処理を終了する。

0157

ロック可能なタスク(タスクエントリ)がある場合(ステップS303でYes)、アンロック処理部405は、そのタスクが要求した資源にXロックがあるか否かを判定する(ステップS304)。

0158

Xロックがない場合(ステップS304でNo)、アンロック処理部405は、その資源がS資源か否かを判定する(ステップS307)。

0159

S資源の場合(ステップS307でYes)、アンロック処理部405は、疑似エントリを登録する(ステップS308)。

0160

そして、アンロック処理部405は、ロックテーブル制御部402を介して、全ての情報処理装置10に対して、その資源がSロックとして登録されたこと示すロック登録通知を送信する(ステップS309)。既に説明したように、この通知を受けた排他制御装置通信部202は、ロックテーブル30にその資源に関する情報を登録する。そして、登録後、排他制御装置通信部202は、更新完了の応答を送信する。

0161

アンロック処理部405は、全ての情報処理装置10から更新完了の応答が送信されてくるのを待つ(ステップS310)。そして、アンロック処理部405は、ステップS305に進む。

0162

Xロックがある場合(ステップS304でYes)、及び、S資源でない場合(ステップS307でNo)、アンロック処理部405は、ステップS305に進む。

0163

そして、アンロック処理部405は、ロック可能なタスクエントリを、排他制御テーブル50のロック列(L)に追加する(ステップS305)。

0164

そして、アンロック処理部405は、ロック成功の応答をロックテーブル制御部402に送信する(ステップS306)。そして、参照ロック処理部403は、処理を終了する。

0165

ロックテーブル制御部402は、ロック成功の応答を、ロック列(L)に追加されたタスクエントリの要求を送信してきた情報処理装置10に送信する。

0166

[情報処理システム100の動作の説明]
次に、図面を参照して、情報処理システム100の動作について説明する。

0167

(1)Sロック要求(未登録の資源の場合)
図6は、第1の実施形態における未登録の資源に対するSロック要求に関する動作の一例を示すシーケンス図である。

0168

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のSロック要求を送信する。

0169

ロック制御部20は、ロックテーブル30における資源に関する情報の登録状態を確認する。

0170

すなわち、ロック制御部20は、要求がSロック要求のため(ステップS401でYes)、ロックテーブル30を検索する(ステップS402)。

0171

要求された資源に関する情報は、ロックテーブル30に登録されていないので(ステップS403でNo)、ロック制御部20は、未応答の情報を付加して、Sロック要求を、排他制御装置40に送信する(ステップS405)。つまり、ロック制御部20は、Sロック要求(未応答)を排他制御装置40に送信する。

0172

Sロック要求(未応答)を受け取った排他制御装置40のコマンド振り分け部401は、参照ロック処理部403に、Sロック要求を送信する。

0173

参照ロック処理部403は、Sロック要求の資源に関する情報が排他制御テーブル50に存在しないため(ステップS101でNo)、排他制御テーブル50に資源エントリを登録する(ステップS102)。

0174

参照ロック処理部403は、S資源か否かを確認する(ステップS103)。

0175

S資源の場合(ステップS103でYes)、参照ロック処理部403は、排他制御テーブル50に資源エントリを追加する(ステップS104)。

0176

そして、参照ロック処理部403は、ロック登録通知を作成し、ロックテーブル制御部402を介して、全ての情報処理装置10にロック登録通知を送信する(ステップS105)。

0177

そして、参照ロック処理部403は、全ての情報処理装置10での処理の終了を待つ(ステップS115)。

0178

排他制御装置通信部202は、受け取った通知がロック登録通知のため(ステップS503でYes)、ロックテーブル30に資源に関する情報を追加する(ステップS505)。

0179

そして、排他制御装置通信部202は、更新完了の応答を送信する(ステップS506)。

0180

全ての情報処理装置10での処理が完了した場合、又は、S資源でない場合(ステップS103でNo)、参照ロック処理部403は、要求元(タスク)のタスクエントリを、ロック列(L)に登録する(ステップS106)。

0181

そして、参照ロック処理部403は、ロックテーブル制御部402を介して、ロック成功の応答を、Sロック要求を送信してきた情報処理装置10に送信する(ステップS107)。

0182

情報処理装置10の排他制御装置通信部202は、受信した応答が要求元宛のため(ステップS501でYes)、応答を要求元に送信する(ステップS502)。

0183

(2)Sロック要求(登録済みの資源の場合)
図7は、第1の実施形態における登録済みの資源に対するSロック要求に関する動作の一例を示すシーケンス図である。

0184

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のSロック要求を送信する。

0185

ロック制御部20は、ロックテーブル30における資源に関する情報の登録状態を確認する。

0186

すなわち、ロック制御部20は、要求がSロック要求のため(ステップS401でYes)、ロックテーブル30を検索する(ステップS402)。

0187

資源に関する情報が、ロックテーブル30に登録されているので(ステップS403でYes)、ロック制御部20は、ロック成功の応答を要求元に送信する(ステップS404)。

0188

そして、ロック制御部200は、応答済みの情報を付加して、Sロック要求を、排他制御装置40に送信する(ステップS406)。つまり、ロック制御部200は、Sロック要求(応答済み)を排他制御装置40に送信する。

0189

Sロック要求(応答済み)を受け取った排他制御装置40のコマンド振り分け部401は、参照ロック処理部403に、Sロック要求を送信する。

0190

参照ロック処理部403は、要求された資源に関する情報が、排他制御テーブル50にあるため(ステップS101でYes)、資源をロックしているロック種別を調べる(ステップS108)。今の場合、ロック種別はSロックなので(ステップS108でNo)、参照ロック処理部403は、排他制御テーブル50のロック列(L)にタスクエントリを追加する(ステップS109)。

0191

そして、応答済みのため(ステップS110でYes)、参照ロック処理部403は、処理を終了する。

0192

(3)アンロック要求
図8は、第1の実施形態におけるアンロック要求に関する動作の一例を示すシーケンス図である。

0193

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のアンロック要求を送信する。

0194

ロック制御部20は、Sロック要求ではないので(ステップS401でNo)、アンロック要求を、排他制御装置40に送信する(ステップS407)。

0195

アンロック要求を受け取った排他制御装置40のコマンド振り分け部401は、アンロック要求をアンロック処理部405に送信する。

0196

アンロック処理部405は、排他制御テーブル50からタスクエントリを削除する(ステップS301)。

0197

そして、アンロック処理部405は、アンロック完了の応答を作成し、ロックテーブル制御部402を介して、アンロック要求を送信してきた情報処理装置10に送信する(ステップS302)。

0198

排他制御装置通信部202は、応答が要求元宛のため(ステップS501でYes)、応答を要求元に送信する(ステップS502)。

0199

ロック可能なタスクがない場合(ステップS303でNo)、アンロック処理部405は、処理を終了する。

0200

ここまでの動作が、アンロック要求に関する動作である。

0201

ただし、本実施形態のアンロック処理部405は、さらに次の動作を実行する。

0202

ロック可能なタスクがある場合(ステップS303でYes)、アンロック処理部405は、次のように動作する。

0203

Xロックがない場合(ステップS304でNo)、アンロック処理部405は、S資源か否かを判定する(ステップS307)。

0204

S資源の場合(ステップS307でYes)、アンロック処理部405は、疑似エントリを登録する(ステップS308)。

0205

そして、アンロック処理部405は、全ての情報処理装置10に、ロック登録通知を送信する(ステップS309)。

0206

排他制御装置通信部202は、ロックテーブル30にその資源に関する情報を登録する。そして、登録後、排他制御装置通信部202は、更新完了の応答を送信する。

0207

アンロック処理部405は、全ての情報処理装置10から更新完了の応答が送信されてくるのを待つ(ステップS310)。そして、アンロック処理部405は、ステップS305に進む。

0208

また、Xロックがある場合(ステップS304でYes)、又は、S資源でない場合(ステップS307でNo)、アンロック処理部405は、ステップS305に進む。

0209

そして、アンロック処理部405は、Sロック要求のタスクのタスクエントリを、排他制御テーブル50のロック列(L)に追加する(ステップS305)。

0210

そして、アンロック処理部405は、ロックテーブル制御部402を介して、ロック成功の応答を、ロック列(L)に追加された要求を送信してきた情報処理装置10に送信する(ステップS306)。

0211

(4)Sロック要求(Sロックをアンロック後で、Xロックが発生していない場合)
図9は、第1の実施形態におけるSロックをアンロック後にXロックが発生していない資源に対するSロック要求に関する動作の一例を示すシーケンス図である。

0212

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のSロック要求を送信する。

0213

ロック制御部20は、Sロック要求のため(ステップS401でYes)、ロックテーブル30を検索する(ステップS402)。

0214

ロック制御部20は、ロックテーブル30における資源に関する情報の登録状態を確認する。

0215

資源に関する情報が、ロックテーブル30に登録されているので(ステップS403でYes)、ロック制御部20は、ロック成功の応答を要求元に送信する(ステップS404)。

0216

そして、ロック制御部200は、応答済みの情報を付加して、Sロック要求を、排他制御装置40に送信する(ステップS406)。つまり、ロック制御部200は、Sロック要求(応答済み)を排他制御装置40に送信する。

0217

Sロック要求(応答済み)を受け取った排他制御装置40のコマンド振り分け部401は、参照ロック処理部403に、Sロック要求を送信する。

0218

参照ロック処理部403は、要求された資源に関する情報が、排他制御テーブル50にあるため(ステップS101でYes)、資源エントリのロック列(L)にXロックがあるか否かを調べる(ステップS108)。今の場合、ロック列(L)にはXロックがないため(ステップS108でNo)、参照ロック処理部403は、排他制御テーブル50のロック列(L)にタスクエントリを追加する(ステップS109)。

0219

そして、参照ロック処理部403は、応答済みか否かを確認する(ステップS110)。

0220

応答済みのため(ステップS110でYes)、参照ロック処理部403は、処理を終了する。

0221

(5)Xロック要求(Sロックが存在する場合)
図10は、第1の実施形態におけるSロックが存在する資源に対するXロック要求に関する動作の一例を示すシーケンス図である。

0222

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のXロック要求を送信する。

0223

ロック制御部20は、要求がSロック要求ではないため(ステップS401でNo)、Xロック要求を排他制御装置40へ送信する(ステップS407)。

0224

Xロック要求を受け取った排他制御装置40のコマンド振り分け部401は、更新ロック処理部404に、Xロック要求を送信する。

0225

更新ロック処理部404は、要求された資源に関する情報が排他制御テーブル50に存在するため(ステップS201でYes)、資源エントリのロック列(L)のタスクエントリのロック種別を確認する(ステップS202)。資源をロックしているタスクのロック種別がXロックではないため(ステップS202でNo)、更新ロック処理部404は、ロック削除通知を作成し、ロックテーブル制御部402を介して、全ての情報処理装置10に送信する(ステップS203)。そして、更新ロック処理部404は、情報処理装置10からの応答を待つ。

0226

排他制御装置通信部202は、受け取った通知が要求元宛か否かを判定する(ステップS501)。要求元宛でないため(ステップS501でNo)、排他制御装置通信部202は、通知が追加か否かを判定する(ステップS503)。ここでは、追加ではないため(ステップS503でNo)、排他制御装置通信部202は、ロックテーブル30から資源に関する情報を削除する(ステップS504)。そして、排他制御装置通信部202は、排他制御装置40に、更新完了を送信する(ステップS506)。

0227

全ての情報処理装置10から応答を受け取ると、更新ロック処理部404は、疑似エントリを削除する(ステップS204)。

0228

そして、更新ロック処理部404は、ロック列(L)にタスクがあるか否かを確認する(ステップS212)。

0229

タスクがあるため(ステップS212でYes)、更新ロック処理部404は、資源エントリの待ち列(W)にXロックを要求したタスクのタスクエントリを追加する(ステップS209)。

0230

そして、更新ロック処理部404は、ロックテーブル制御部402を介して、Xロック要求を送信してきた情報処理装置10に、ロック待ちの応答を送信する(ステップS210)。

0231

排他制御装置通信部202は、応答が要求元宛のため(ステップS501でYes、要求元に、応答を送信する(ステップS502)。

0232

(6)Xロック要求(Sロックをアンロック後でXロックされていない場合)
図11は、第1の実施形態におけるSロック及びXロックがない資源に対するXロック要求に関する動作の一例を示すシーケンス図である。具体的には、以下で説明する動作は、図8を用いて説明した「(3)Sロックのアンロック」後の状態から開始する動作である。

0233

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のXロック要求を送信する。

0234

ロック制御部20は、要求がSロック要求ではないため(ステップS401でNo)、Xロック要求を、排他制御装置40に送信する(ステップS407)。

0235

Xロック要求を受け取った排他制御装置40のコマンド振り分け部401は、更新ロック処理部404に、Xロック要求を送信する。

0236

更新ロック処理部404は、要求された資源に関する情報が排他制御テーブル50に存在するため(ステップS201でYes)、資源エントリのロック列(L)のタスクエントリのロック種別を確認する(ステップS202)。資源はXロックではないため(ステップS202でNo)、更新ロック処理部404は、ロック削除通知を作成し、ロックテーブル制御部402を介して、情報処理装置10に送信する(ステップS203)。そして、更新ロック処理部404は、情報処理装置10からの応答を待つ。

0237

排他制御装置通信部202は、受け取った通知が要求元宛か否かを判定する(ステップS501)。要求元宛ではないため(ステップS501でNo)、排他制御装置通信部202は、通知が追加か否かを判定する(ステップS503)。ここでは、追加ではないため(ステップS503でNo)、排他制御装置通信部202は、ロックテーブル30から資源に関する情報を削除する(ステップS504)。そして、排他制御装置通信部202は、排他制御装置40に、更新完了を送信する(ステップS506)。

0238

全ての情報処理装置10から応答を受け取ると、更新ロック処理部404は、疑似エントリを削除する(ステップS204)。

0239

そして、更新ロック処理部404は、ロック列(L)にタスクがあるか否かを確認する(ステップS212)。

0240

タスクがないため(ステップS212でNo)、更新ロック処理部404は、資源エントリのロック列(L)に、Xロックを要求したタスクのタスクエントリを追加する(ステップS207)。そして、更新ロック処理部404は、ロックテーブル制御部402を介して、ロック成功の応答を、Xロック要求を送信してきた情報処理装置10に送信する(ステップS208)。

0241

排他制御装置通信部202は、応答が要求元宛のため(ステップS501でYes)、応答を要求元に送信する(ステップS502)。

0242

(7)Xロック要求(Xロックされている場合)
図19は、第1の実施形態におけるXロックされている資源に対するXロック要求に関する動作の一例を示すシーケンス図である。

0243

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のXロック要求を送信する。

0244

ロック制御部20は、要求がSロック要求ではないため(ステップS401でNo)、Xロック要求を排他制御装置40へ送信する(ステップS407)。

0245

Xロック要求を受け取った排他制御装置40のコマンド振り分け部401は、更新ロック処理部404に、Xロック要求を送信する。

0246

更新ロック処理部404は、要求された資源に関する情報が排他制御テーブル50に存在するため(ステップS201でYes)、資源エントリのロック列(L)のタスクエントリのロック種別を確認する(ステップS202)。資源はXロックのため(ステップS202でYes)、更新ロック処理部404は、資源エントリの待ち列(W)にXロックを要求したタスクのタスクエントリを追加する(ステップS209)。

0247

そして、更新ロック処理部404は、ロックテーブル制御部402を介して、Xロック要求を送信してきた情報処理装置10に、ロック待ちの応答を送信する(ステップS210)。

0248

排他制御装置通信部202は、応答が要求元宛のため(ステップS501でYes)、要求元に、応答を送信する(ステップS502)。

0249

(8)Sロック要求(Xロックされている資源の場合)
図20は、第1の実施形態におけるXロックされている資源に対するSロック要求に関する動作の一例を示すシーケンス図である。

0250

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のSロック要求を送信する。

0251

ロック制御部20は、ロックテーブル30における資源に関する情報の登録状態を確認する。

0252

すなわち、ロック制御部20は、要求がSロック要求のため(ステップS401でYes)、ロックテーブル30を検索する(ステップS402)。

0253

要求された資源に関する情報は、ロックテーブル30に登録されていないので(ステップS403でNo)、ロック制御部20は、未応答の情報を付加して、Sロック要求を、排他制御装置40に送信する(ステップS405)。つまり、ロック制御部20は、Sロック要求(未応答)を排他制御装置40に送信する。

0254

Sロック要求(未応答)を受け取った排他制御装置40のコマンド振り分け部401は、参照ロック処理部403に、Sロック要求を送信する。

0255

参照ロック処理部403は、Sロック要求の資源に関する情報が排他制御テーブル50に存在するため(ステップS101でYes)、資源をロックしているロック種別を調べる(ステップS108)。

0256

今の場合、ロック種別はXロックなので(ステップS108でYes)、参照ロック処理部403は、要求されたタスクのタスクエントリを待ち列(W)に追加する(ステップS112)。

0257

そして、参照ロック処理部403は、ロックテーブル制御部402を介して、ロック待ちの応答を、Sロック要求を送信してきた情報処理装置10に送信する(ステップS113)。

0258

情報処理装置10の排他制御装置通信部202は、受信した応答が要求元宛のため(ステップS501でYes)、応答を要求元に送信する(ステップS502)。

0259

(9)Sロック要求(Xロックされた後、Xロックがアンロックされている場合)
図21は、第1の実施形態におけるXロックされた後にアンロックされた資源に対するSロック要求に関する動作の一例を示すシーケンス図である。

0260

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のSロック要求を送信する。

0261

ロック制御部20は、Sロック要求のため(ステップS401でYes)、ロックテーブル30を検索する(ステップS402)。

0262

ロック制御部20は、ロックテーブル30における資源に関する情報の登録状態を確認する。

0263

資源に関する情報が、ロックテーブル30に登録されていないので(ステップS403でNo)、ロック制御部20は、未応答の情報を付加して、Sロック要求を、排他制御装置40に送信する(ステップS406)。つまり、ロック制御部200は、Sロック要求(未応答)を排他制御装置40に送信する。

0264

Sロック要求(未応答)を受け取った排他制御装置40のコマンド振り分け部401は、参照ロック処理部403に、Sロック要求を送信する。

0265

参照ロック処理部403は、要求された資源に関する情報が、排他制御テーブル50にあるため(ステップS101でYes)、資源エントリのロック列(L)にXロックがあるか否かを調べる(ステップS108)。今の場合、ロック列(L)にはXロックがないため(ステップS108でNo)、参照ロック処理部403は、排他制御テーブル50のロック列(L)にタスクエントリを追加する(ステップS109)。

0266

そして、参照ロック処理部403は、応答済みか否かを確認する(ステップS110)。

0267

応答済みでないため(ステップS110でNo)、参照ロック処理部403は、ロックテーブル制御部402を介して、ロック成功の応答を、Sロック要求を送信してきた情報処理装置10に送信する(ステップS111)。そして、参照ロック処理部403は、処理を終了する。

0268

情報処理装置10の排他制御装置通信部202は、受信した応答が要求元宛のため(ステップS501でYes)、応答を要求元に送信する(ステップS502)。

0269

(10)Xロック要求(未登録の資源の場合)
図22は、第1の実施形態における未登録の資源に対するXロック要求に関する動作の一例を示すシーケンス図である。

0270

まず、要求元(例えば、タスク)が、ロック制御部20に、資源のXロック要求を送信する。

0271

ロック制御部20は、要求がSロック要求ではないため(ステップS401でNo)、Xロック要求を排他制御装置40へ送信する(ステップS407)。

0272

Xロック要求を受け取った排他制御装置40のコマンド振り分け部401は、更新ロック処理部404に、Xロック要求を送信する。

0273

更新ロック処理部404は、要求された資源に関する情報が排他制御テーブル50に存在しないため(ステップS201でNo)、その資源に関する情報を排他制御テーブル50に登録する(ステップS206)。

0274

そして、更新ロック処理部404は、ロック列(L)に、要求されたタスクのタスクエントリ(Xロックのタスクエントリ)を登録する(ステップS207)。

0275

そして、更新ロック処理部404は、ロックテーブル制御部402を介して、ロック成功の応答を、情報処理装置10に送信する。

0276

情報処理装置10の排他制御装置通信部202は、受信した応答が要求元宛のため(ステップS501でYes)、応答を要求元に送信する(ステップS502)。

0277

[効果の説明]
次に、第1の実施形態の効果について説明する。

0278

第1に実施形態に係る情報処理システム100は、情報処理装置10と排他制御装置40との通信に掛かる時間を削減するとの効果を奏する。

0279

その理由は、次のとおりである。

0280

排他制御装置40は、ロックテーブル30に情報が登録されていない資源に対するSロック要求を受信すると、全ての情報処理装置10に、ロック登録通知を送信する。排他制御装置40は、特に、S資源に対して、上記の処理を実行する。

0281

情報処理装置10のロック制御部20(排他制御装置通信部202)は、この通知を基に、ロックテーブル30にSロックとなった資源に関する情報を保存する。

0282

そして、情報処理装置10のロック制御部20(コマンド解析部201)が、要求元からロックテーブル30に情報が登録されている資源に対するSロック要求を受けたとき、排他制御装置40に要求を送信する前に、要求元にロック成功の応答を送信する。このように第1の実施形態に係るロック制御部20は、資源のSロックに関して、排他制御装置40との通信に掛かる時間を削減して、要求元にロック成功の応答を送信できるためである。

0283

この結果、情報処理装置10の要求元は、動作の時間を削減できる。

0284

このように、情報処理システム100は、情報処理装置10における動作の時間を削減できる。

0285

さらに、コマンド解析部201は、要求元に応答後、排他制御装置40に、「Sロックの要求(応答済み)」を送信する。排他制御装置40は、この要求を基に、排他制御テーブル50の資源に関する情報を修正する。ただし、排他制御装置40は、情報処理装置10には、応答しない。そのため、排他制御装置40は、応答の通信及び処理に必要な時間を削減できる。

0286

さらに、情報処理装置10は、排他制御装置40からの応答に対応する動作が不要となる。そのため、情報処理装置10は、応答の通信及び処理に必要な時間を削減できる。

0287

<その他の実施形態>
ここまでの説明において、情報処理システム100は、1台の排他制御装置40を含むとして説明した。しかし、情報処理システム100は、複数台の排他制御装置40を含んでもよい。この場合、排他制御装置40は、分担して資源の排他処理を制御してもよい。

0288

また、ここまでの説明において、ロック制御部20が、ロックテーブル30を含むとして説明した。しかし、情報処理装置10において、ロックテーブル30の位置は、ロック制御部20に限られない。例えば、ロックテーブル30は、他の構成、例えば、OSに含まれてもよい。この場合、OSが、ロック制御部20に相当する機能を含んでもよい。

0289

<実施形態の概要>
図17は、本発明における情報処理システム100の最小構成である情報処理システム101の構成の一例を示すブロック図である。

0290

情報処理システム101は、複数の情報処理装置11と、排他制御装置41とを含む。

0291

情報処理装置11は、要求処理部211と、資源情報処理部212とを含む。要求処理部211の一例は、コマンド解析部201である。資源情報処理部212の一例は、排他制御装置通信部202である。

0292

また、排他制御装置41は、情報通信部412と、参照ロック処理部413とを含む。情報通信部412の一例は、ロックテーブル制御部402である。参照ロック処理部413の一例は、参照ロック処理部403である。

0293

参照ロック処理部413は、情報処理装置11から資源を参照するための要求である参照ロック要求を受信する。参照ロック要求の一例は、参照ロック要求(未応答)及び参照ロック(応答済み)である。

0294

そして、参照ロック処理部413は、参照ロック要求に対応する資源に関する情報を保持せず、資源が所定の資源の場合に、所定の資源に関する情報を保存する。所定の資源の一例が、S資源である。また、所定の資源に関する情報の一例が、疑似エントリである。

0295

そして、参照ロック処理部413は、所定の資源に対応する第1の通知を作成する。第1の通知の一例が、ロック登録通知である。

0296

そして、参照ロック処理部413は、情報処理装置11から第1の通知に対する第1の応答を受信する。第1の応答の一例が、更新完了の応答である。

0297

そして、参照ロック処理部413は、資源のアクセスに関する第1の情報を保存する。第1の情報の一例が、タスクエントリである。

0298

そして、参照ロック処理部413は、資源に関する第2の応答を作成する。第2の応答の一例が、ロック成功の応答である。

0299

さらに、参照ロック処理部413は、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が応答済みを示す情報を含む場合に、参照ロック要求に対応する資源に関する第1の情報を保存する。応答済みを示す情報を含む参照ロック要求の一例が、参照ロック要求(応答済み)である。

0300

さらに、参照ロック処理部413は、参照ロック要求に対応する資源に関する情報を保持し、資源が参照としてロックされ、参照ロック要求が未応答を示す情報を含む場合に、参照ロック要求に対応する資源に関する第1の情報を保存する。そして、参照ロック処理部413は、資源に関する第2の応答を作成する。未応答を示す情報を含む参照ロック要求の一例が、参照ロック要求(未応答)である。

0301

情報通信部412は、第1の通知を複数の情報処理装置11に送信する。

0302

情報通信部412は、第2の応答を、参照ロック要求を送信した情報処理装置11に送信する。

0303

要求処理部211は、所定の要求元より資源に関する参照ロック要求を受信する。要求元の一例が、タスクである。

0304

要求処理部211は、参照ロック要求に対応する資源に関する第2の情報が保存されている場合に、要求元に参照ロック要求に対応する第3の応答を送信する。第2の情報の一例が、ロックテーブル30に保存されている資源IDである。また、第3の応答の一例は、タスクへの応答である。

0305

そして、要求処理部211は、参照ロック要求を基に応答済みを示す情報を含む参照ロック要求を作成して排他制御装置41に送信する。

0306

また、要求処理部211は、参照ロック要求に対応する資源に関する第2の情報が保存されていない場合に、参照ロック要求を基に未応答を示す情報を含む参照ロック要求を作成して排他制御装置41に送信する。

0307

資源情報処理部212は、排他制御装置41から第1の通知を受信した場合に、第1の通知に対応する第2の情報を保存し、第1の応答を排他制御装置41に送信する。

0308

さらに、資源情報処理部212は、排他制御装置41から第2の応答を受信した場合に、第2の応答を要求元に送信する。

0309

このように構成された情報処理システム101は、情報処理システム100と同様に、情報処理装置11と排他制御装置41との通信に掛かる時間を削減する効果を奏する。

0310

その理由は、情報処理システム101に含まれる情報処理装置11及び排他制御装置41が、上記の構成を用いて、第3の情報が保存されている資源に対する参照ロックにおける情報処理装置10及び排他制御装置40と同様の動作を実行するためである。

0311

<変形例>
以上の説明した情報処理装置10、情報処理装置11、排他制御装置40、及び/又は排他制御装置41の構成について、情報処理装置10及び排他制御装置40を用いて説明する。以下の説明において、情報処理装置10及び/又は排他制御装置40は、情報処理装置11、及び/又は、排他制御装置41と置き換え可能である。

0312

例えば、情報処理装置10及び/又は排他制御装置40の各構成部は、ハードウェア回路で構成されてもよい。

0313

また、情報処理装置10及び/又は排他制御装置40において、各構成部は、ネットワークを介して接続された複数の装置を用いて、構成されてもよい。

0314

また、情報処理装置10及び/又は排他制御装置40において、複数の構成部は、1つのハードウェアで構成されてもよい。

0315

また、情報処理装置10及び/又は排他制御装置40は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現されてもよい。情報処理装置10及び排他制御装置40は、上記構成に加え、さらに、入出力接続回路IOC:Input / OutputCircuit)と、ネットワークインターフェース回路(NIC:Network Interface Circuit)とを含むコンピュータ装置として実現されてもよい。

0316

図18は、本発明における情報処理装置10及び/又は排他制御装置40の変形例である情報処理装置600の構成の一例を示すブロック図である。

0317

情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータ装置を構成している。

0318

CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、情報処理装置10及び/又は排他制御装置40としての各機能を実現する。すなわち、CPU610を含むコンピュータは、図2に示されているコマンド解析部201及び排他制御装置通信部202としての機能を実現する。あるいは、CPU610を含むコンピュータは、図3に示されているコマンド振り分け部401、ロックテーブル制御部402、参照ロック処理部403、更新ロック処理部404、及び、アンロック処理部405としての機能を実現する。

0319

CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時記憶媒体として使用してもよい。

0320

また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体700が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630に保存して、保存したプログラムを基に動作してもよい。

0321

ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P−ROM(Programmable-ROM)又はフラッシュROMである。

0322

RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D−RAM(Dynamic-RAM)である。

0323

内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作してもよい。内部記憶装置640は、例えば、ハードディスク装置光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。内部記憶装置640は、ロックテーブル30及び/又は排他制御テーブル50として動作する。

0324

ここで、ROM620と内部記憶装置640は、不揮発性(non-transitory)の記憶媒体である。一方、RAM630は、揮発性(transitory)の記憶媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。

0325

IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。さらに、IOC650は、USBのような有線に限らず、無線を用いてもよい。

0326

入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボードマウス又はタッチパネルである。

0327

表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイである。

0328

NIC680は、ネットワークを介した図示しない他の装置(情報処理装置10又は排他制御装置40)とのデータのやり取りを中継する。NIC680は、例えば、LAN(Local Area Network)カードである。さらに、NIC680は、有線に限らず、無線を用いてもよい。NIC680は、コマンド解析部201及び排他制御装置通信部202の一部として動作する。あるいは、NIC680は、コマンド振り分け部401及びロックテーブル制御部402の一部として動作する。

0329

このように構成された情報処理装置600は、情報処理装置10及び/又は排他制御装置40と同様の効果を得ることができる。

0330

その理由は、情報処理装置600のCPU610が、プログラムに基づいて情報処理装置10及び/又は排他制御装置40と同様の機能を実現できるためである。

0331

なお、情報処理装置600は、情報処理装置10及び排他制御装置40として両方の機能を実現してもよい。例えば、情報処理装置600のCPU610は、情報処理装置10としての機能を実現するプログラムと排他制御装置40としての機能を実現するプログラムとの両方プログラムを並列に実行してもよい。

0332

さらに、情報処理装置600は、複数の情報処理装置10としての機能を実現してもよい。例えば、情報処理装置600のCPU610は、情報処理装置10としての機能を実現する複数のプログラムを並列に実行してもよい。

0333

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。

0334

本発明は、疎結合構成のコンピュータシステムに適用可能である。

0335

10情報処理装置
11 情報処理装置
20ロック制御部
30ロックテーブル
40排他制御装置
41 排他制御装置
50排他制御テーブル
100情報処理システム
101 情報処理システム
201コマンド解析部
202 排他制御装置通信部
211要求処理部
212資源情報処理部
401コマンド振り分け部
402 ロックテーブル制御部
403 参照ロック処理部
404更新ロック処理部
405アンロック処理部
412情報通信部
413 参照ロック処理部
600 情報処理装置
610 CPU
620 ROM
630 RAM
640内部記憶装置
650IOC
660入力機器
670表示機器
680 NIC
700 記憶媒体

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ