(57)【特許請求の範囲】
【請求項１】
複数の計算機とそれらを接続する交換機とを有し、異なる計算機間の処理に対する排他制御を行う情報処理システムであって、
異なる計算機間のデータ転送を行う際の排他制御に必要な排他制御情報及び前記排他制御情報が他の計算機によって使用中の時の待合せを行うための待合せ情報を記憶する計算機を示す一意な情報を格納しかつ前記複数の計算機から等価・高速にアクセス可能な共有メモリを前記交換機に有し、
前記排他制御情報及び前記待合せ情報を記憶する記憶手段と、前記待合せを行う際に前記記憶手段の待合せ情報を監視する監視手段と、前記交換機上の共有メモリに問合せて目的の排他制御情報がどの計算機上にあるかを知って排他制御を行う排他制御手段とを前記複数の計算機各々に有することを特徴とする情報処理システム。
【請求項２】
前記排他制御手段は、前記交換機上の共有メモリに問合せた結果、前記共有メモリに未登録の場合に自計算機上に前記排他制御情報と前記待合せ情報とを作成し、前記共有メモリを当該排他制御情報が自計算機上にあるという意味に更新し、当該排他制御情報をロック中を意味する情報に更新してロックを取得するとともに、前記排他制御をアンロックする時に当該排他制御情報をもつ計算機上に前記交換機経由でアクセスし、前記アンロックを意味する情報に前記交換機経由で排他制御情報を更新することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記共有メモリに格納された前記一意な情報を保持する排他制御情報索引キャッシュを前記複数の計算機各々に含むことを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記排他制御情報の使用を解除する際に当該排他制御情報を記憶する計算機に前記交換機を介して接続して当該排他制御情報の使用を解除するとともに、当該交換機の前記待合せ情報を参照して得た当該排他制御情報の使用を待合せている計算機の情報を基にその計算機の待合せ情報を更新することを特徴とする請求項１から請求項３のいずれか記載の情報処理システム。
【請求項５】
複数の計算機とそれらを接続する交換機とを有し、異なる計算機間の処理に対する排他制御を行う情報処理システムのグローバルインターノードロック方法であって、
前記複数の計算機から等価・高速にアクセス可能な共有メモリを前記交換機に含み、前記共有メモリに異なる計算機間のデータ転送を行う際の排他制御に必要な排他制御情報及び前記排他制御情報が他の計算機によって使用中の時の待合せを行うための待合せ情報を記憶する計算機を示す一意な情報を格納し、
前記排他制御情報及び前記待合せ情報を記憶手段に構築するステップと、前記待合せを行う際に前記記憶手段の待合せ情報を監視するステップと、前記交換機上の共有メモリに問合せて目的の排他制御情報がどの計算機上にあるかを知って排他制御を行うステップとを前記複数の計算機各々に有することを特徴とするグローバルインターノードロック方法。
【請求項６】
前記排他制御を行うステップは、前記交換機上の共有メモリに問合せた結果、前記共有メモリに未登録の場合に自計算機上に前記排他制御情報と前記待合せ情報とを作成し、前記共有メモリを当該排他制御情報が自計算機上にあるという意味に更新し、当該排他制御情報をロック中を意味する情報に更新してロックを取得するとともに、前記排他制御をアンロックする時に当該排他制御情報をもつ計算機上に前記交換機経由でアクセスし、前記アンロックを意味する情報に前記交換機経由で排他制御情報を更新することを特徴とする請求項５記載のグローバルインターノードロック方法。
【請求項７】
前記共有メモリに格納された前記一意な情報を前記複数の計算機各々の排他制御情報索引キャッシュに保持することを特徴とする請求項６記載のグローバルインターノードロック方法。
【請求項８】
前記排他制御情報の使用を解除する際に当該排他制御情報を記憶する計算機に前記交換機を介して接続して当該排他制御情報の使用を解除するとともに、当該交換機の前記待合せ情報を参照して得た当該排他制御情報の使用を待合せている計算機の情報を基にその計算機の待合せ情報を更新することを特徴とする請求項５から請求項７のいずれか記載のグローバルインターノードロック方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理システム及びそれに用いるグローバルインターノードロック方法に関し、特に複数の計算機とそれらを接続する交換機とを有する情報処理システムにおける異なる計算機間の処理に対する排他制御に関する。
【０００２】
【従来の技術】
従来、複数の計算機とそれらを接続する交換機とを有する情報処理システムにおいては、複数の計算機が計算機間の処理を行う際に使用する共有メモリ（レジスタ）を交換機に備えている。
【０００３】
この情報処理システムにおいては、異なる計算機間のデータ転送を行う際にそのデータ転送のための排他制御を行う場合、排他制御に必要な排他制御情報や待合せを行うための待合せ情報のほとんどを交換機の共有メモリに構築するようにしている。
【０００４】
また、異なる計算機間での排他制御が行われている場合、その排他制御のために待合せている計算機は交換機へのアクセスを定期的に行って待合せ情報を監視している。
【０００５】
【発明が解決しようとする課題】
上述した従来の情報処理システムでは、排他制御情報や待合せ情報等の全ての情報を共有メモリ上に構築しているため、交換機上の共有メモリが大量に浪費されてしまうという問題がある。
【０００６】
また、従来の情報処理システムでは待合せ情報の監視において待っている全ての計算機から交換機へのアクセスが定期的に発生するため、交換機への負荷が非常に高くなり、異なる計算機間のデータ転送を妨げてしまうという問題がある。
【０００７】
そこで、本発明の目的は上記の問題点を解消し、高価な交換機上の共有メモリの浪費を抑えることができ、排他制御時の交換機への負荷を低下させることができる情報処理システム及びそれに用いるグローバルインターノードロック方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明による情報処理システムは、複数の計算機とそれらを接続する交換機とを有し、異なる計算機間の処理に対する排他制御を行う情報処理システムであって、
異なる計算機間のデータ転送を行う際の排他制御に必要な排他制御情報及び前記排他制御情報が他の計算機によって使用中の時の待合せを行うための待合せ情報を記憶する計算機を示す一意な情報を格納しかつ前記複数の計算機から等価・高速にアクセス可能な共有メモリを前記交換機に有し、
前記排他制御情報及び前記待合せ情報を記憶する記憶手段と、前記待合せを行う際に前記記憶手段の待合せ情報を監視する監視手段と、前記交換機上の共有メモリに問合せて目的の排他制御情報がどの計算機上にあるかを知って排他制御を行う排他制御手段とを前記複数の計算機各々に備えている。
【０００９】
本発明によるグローバルインターノードロック方法は、複数の計算機とそれらを接続する交換機とを有し、異なる計算機間の処理に対する排他制御を行う情報処理システムのグローバルインターノードロック方法であって、
前記複数の計算機から等価・高速にアクセス可能な共有メモリを前記交換機に含み、前記共有メモリに異なる計算機間のデータ転送を行う際の排他制御に必要な排他制御情報及び前記排他制御情報が他の計算機によって使用中の時の待合せを行うための待合せ情報を記憶する計算機を示す一意な情報を格納し、
前記排他制御情報及び前記待合せ情報を記憶手段に構築するステップと、前記待合せを行う際に前記記憶手段の待合せ情報を監視するステップと、前記交換機上の共有メモリに問合せて目的の排他制御情報がどの計算機上にあるかを知って排他制御を行うステップとを前記複数の計算機各々に備えている。
【００１０】
すなわち、本発明の情報処理システムは、複数の計算機とそれらを接続する交換機とを有するシステムにおいて、計算機間の処理を交換機に負荷をかけずに排他制御することが可能な構成を提供するものである。
【００１１】
より具体的に、本発明の情報処理システムでは、第１の計算機上にある排他制御機構が目的の排他制御情報がどの計算機上にあるかを知るために、交換機上にある排他制御情報索引に問合せを行っている。
【００１２】
その問合せの結果、排他制御情報索引に未登録の場合には第１の計算機上に排他制御情報と待合せ情報とを作成し、排他制御情報索引をその排他制御情報が第１の計算機上にあるという意味に更新する。その後、第１の計算機は排他制御情報をロック中を意味する情報に更新することによって、ロックを取得する。
【００１３】
逆に、問合せの結果、目的の排他制御情報が第２の計算機上に存在することが判った場合には、交換機経由で第２の計算機上の排他制御情報を調べる。その結果、排他制御情報がロック中でなければ、第１の計算機は排他制御情報をロック中を意味する情報に更新する。既にいずれかの計算機によってロック中であれば、第２の計算機上の待合せ情報を、その待合せ情報が意味する排他制御を第１の計算機が行いたいことを意味する情報に更新する。その後、第２の計算機からの通知を、第１の計算機上の待合せ情報を監視することによって待合せる。
【００１４】
第２の計算機上の排他制御情報が意味するロックを使用していた計算機は、アンロック時に当該排他制御情報を使用中でない状態に更新した後、第２の計算機上の待合せ情報を調べ、待合せしている計算機を調べる。その結果、第１の計算機が待合せていることがわかるので、第１の計算機上の待合せ情報を更新する。
【００１５】
自機の待合せ情報を監視することによって待合せていた第１の計算機は、それを契機に再度、交換機経由で第２の計算機上の排他制御情報を調べる。以上の処理によって、排他制御情報を複数の計算機上に分散させ、かつ交換機の集中参照を抑えながら、複数の計算機間の排他制御を実現することが可能となる。
【００１６】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態による情報処理システムの構成を示すブロック図である。図１において、本発明の実施の形態による情報処理システムは計算機１，３と、交換機２とから構成されている。計算機１，３はそれぞれ排他制御情報１１，３１と排他制御機構１２，３２と待合せ情報１３，３３とを備え、交換機２は排他制御情報索引２１を備えている。
【００１７】
計算機１上にある排他制御機構１２は目的の排他制御情報がどの計算機上にあるかを知るために、交換機２上にある排他制御情報索引２１に問合せる。問合せた結果、排他制御機構１２は排他制御情報索引２１に未登録の場合、自計算機上に排他制御情報１１と待合せ情報１３とを作成し、排他制御情報索引２１をその排他制御情報が計算機１上にあるという意味に更新する。その後、排他制御機構１２は排他制御情報１１をロック中を意味する情報に更新することによって、ロックを取得する。
【００１８】
逆に、問合せた結果、計算機３上に存在することが判った場合、排他制御機構１２は交換機２経由で計算機３上の排他制御情報３１を調べる。その結果、排他制御機構１２は排他制御情報３１がロック中でなければ、排他制御情報３１をロック中を意味する情報に更新する。排他制御機構１２は既にいずれかの計算機が排他制御情報３１をロック中であれば、計算機３上の待合せ情報３３を、その待合せ情報が意味する排他制御を計算機１が行いたいことを意味する情報に更新する。
【００１９】
その後、排他制御機構１２は待合せ情報１３を監視することによって計算機３からの通知を待合せる。排他制御情報３１が意味するロックを使用していた計算機はアンロック時に排他制御情報３１を使用中でない状態に更新した後、待合せ情報３３を調べ、待合せしている計算機を調べる。
【００２０】
その結果、当該計算機は計算機１が待合せていることがわかるので、計算機１上の待合せ情報１３を更新する。待合せ情報１３を監視することによって待合せていた計算機１はそれを契機に、交換機２経由で排他制御情報３１を再度調べる。以上の処理によって、排他制御情報を分散させ、かつ交換機２の集中参照を抑えながら、複数の計算機１，３間の排他制御を実現することができる。
【００２１】
図２は本発明の一実施例による情報処理システムの構成を示すブロック図である。図２において、本発明の一実施例による情報処理システムは計算機５，７と、交換機６とから構成されている。
【００２２】
計算機５，７はそれぞれ排他制御情報１１，３１と待合せ情報１３，３３とを保持するメモリ５１，７１と、プログラムによって実現される排他制御機構１２，３２とを備え、交換機６は排他制御情報索引２１を保持する共有レジスタ６１を備えている。尚、交換機６は計算機５，７を等価に接続し、共有レジスタ６１は交換機６に接続された全ての計算機５，７から参照あるいは更新可能となっている。
【００２３】
排他制御情報索引２１は共有レジスタ６１上に排他制御機構１２，３２によって必要に応じて構築され、共有レジスタ６１上の各レジスタは排他制御の種類毎に固定的に割当てられ、排他制御機構１２，３２が該当する共有レジスタ６１を参照することによって、排他制御情報１１，３１と待合せ情報１２，３２とが構築されている計算機５，７を知ることができる。
【００２４】
排他制御情報１１，３１と待合せ情報１２，３２とは排他制御機構１２，３２によって必要に応じて構築、そして更新／参照される。また、排他制御情報１１，３１は排他制御機構１２，３２が参照した時に、それらが意味するロックを使用中か否かを判断可能な情報を持っている。
【００２５】
さらに、待合せ情報１２，３２は排他制御機構１２，３２が参照した時に、それらが意味するロックの解放を待合せている計算機を意味する情報を持っているとともに、待合せ情報１２，３２それぞれが存在する計算機上の監視情報を持っている。
【００２６】
図３及び図４は本発明の一実施例による情報処理システムの動作を示すフローチャートである。これら図２〜図４を参照して本発明の一実施例による情報処理システムの動作について説明する。尚、図３及び図４に示す処理は排他制御機構１２，３２が図示せぬ制御メモリのプログラムを実行することで実現され、制御メモリとしてはＲＯＭ（リードオンリメモリ）やＩＣ（集積回路）メモリ等が使用可能である。
【００２７】
計算機５上にある排他制御機構１２はある排他制御情報をロックするために、その排他制御情報が既にいずれかの計算機上に構築されているかどうかを調べるために、交換機６の共有レジスタ６１上の機排他制御情報索引２１の検索を行う（図３ステップＳ１）。排他制御機構１２は該当する情報がない、すなわち未構築の場合（図３ステップＳ２）、ロックをしようとしている計算機５のメモリ５１上に排他制御情報１１及び待合せ情報１３を構築する（図３ステップＳ３）。
【００２８】
その後、排他制御機構１２は排他制御情報索引２１に自計算機５上に情報を構築したことを意味する情報を反映し（図３ステップＳ４）、自計算機５上の排他制御情報１１をロック中を意味する情報に更新する（図３ステップＳ５）。以上の作業で、ロック成功となる。
【００２９】
一方、排他制御機構１２は排他制御情報索引２１の検索の結果、該当する情報がある、すなわち構築済みの場合（図３ステップＳ２）、該当計算機７上の排他制御情報３１を交換機６経由で参照する（図３ステップＳ６）。その結果、排他制御機構１２はアンロック状態を意味する場合（図３ステップＳ７）、該当計算機７上の排他制御情報３１を、交換機６経由でロック中を意味する情報に更新する（図３ステップＳ８）、これによって、ロック成功となる。
【００３０】
逆に、排他制御機構１２はロック状態を意味する場合（図３ステップＳ７）、該当計算機７上の待合せ情報３３を、交換機６経由で自機が待合せていることを意味する情報に更新した後（図３ステップＳ９）、自計算機５上の待合せ情報１３を監視することによって待合せる（図３ステップＳ１０）。この待合せ情報１３の監視による待合せは、該当計算機７上の排他制御情報３１をロックしている計算機が、アンロック時にその待合せ情報を更新することによって解除してくれることを期待している。
【００３１】
排他制御機構１２はある排他制御をアンロックするために、その排他制御情報３１をもつ計算機７上に交換機６経由でアクセスする。この時、交換機６の排他制御情報索引２１を検索する必要はなく、ロック時に既に調べている。
【００３２】
そこで、排他制御機構１２はアンロックを意味する情報に、交換機６経由で排他制御情報３１を更新する（図４ステップＳ１１）。次に、排他制御機構１２はその計算機７上の待合せ情報３３を参照してその排他制御情報３１が意味するロックを行いたい計算機が存在するかどうかを調べる（図４ステップＳ１２）。
【００３３】
排他制御機構１２は待合せている計算機が存在しなければ（図４ステップＳ１３）、アンロックの処理を完了する。排他制御機構１２は待合せている計算機が存在する場合（図４ステップＳ１３）、待合せ計算機上の待合わ情報を交換機６経由で更新する（図４ステップＳ１４）。これによって、待合せが解除され、アンロックの処理が完了となる。
【００３４】
このように、待合せ情報１３，３３を各計算機５，７のメモリ５１，７１上に分散させ、それぞれの計算機５，７内の待合せ情報１３，３３を監視することによって、待合せを行うために交換機６経由で他の計算機へアクセスする必要がないため、排他制御時の交換機６への負荷を低下させることができる。
【００３５】
また、交換機６に接続される全ての計算機５，７から、等価にかつ高速にアクセスできる共有レジスタ（メモリ）６１に、情報を格納する計算機５，７を意味するシステムで一意な番号のみを格納し、排他制御に必要な他の情報、すなわち排他制御情報１１，３１と待合せ情報１３，３３を交換機６に接続される計算機５，７上に分散させているので、高価な交換機６上の共有レジスタ６１の浪費を抑えることができる。
【００３６】
図５は本発明の他の実施例による情報処理システムの構成を示すブロック図である。図５において、本発明の他の実施例による情報処理システムは各計算機８，９のメモリ８１，９１内に排他制御情報索引キャッシュ８１１，９１１を設けた以外は図２に示す本発明の一実施例による情報処理システムと同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の一実施例と同様である。
【００３７】
本発明の他の実施例による情報処理システムでは排他制御情報１１，３１、待合せ情報１２，３２に加えて、交換機６に等価に接続される複数の計算機８，９間の排他制御に必要な情報として排他制御情報索引キャッシュ８１１，９１１を有している。
【００３８】
排他制御情報索引キャッシュ８１１，９１１もまた排他制御機構１２，３２によって必要に応じて構築される。排他制御情報索引キャッシュ８１１，９１１は排他制御情報索引２１に初めてアクセスした時に各計算機８，９上で独自に構築されるため、最新の情報をいつも保持するとは限らない。そのため、排他制御情報索引キャッシュ８１１，９１１はある時点での排他制御情報索引２１と同等の情報を持っている。
【００３９】
図６は本発明の他の実施例による情報処理システムの動作を示すフローチャートである。これら図５及び図６を参照して本発明の他の実施例による情報処理システムの動作について説明する。尚、図６に示す処理は排他制御機構１２，３２が図示せぬ制御メモリのプログラムを実行することで実現され、制御メモリとしてはＲＯＭやＩＣメモリ等が使用可能である。
【００４０】
計算機８上にある排他制御機構１２は排他制御情報索引キャッシュ８１１を参照し（図６ステップＳ２１）、既に排他制御情報索引キャッシュ８１１が構築されているかどうかを調べる（図６ステップＳ２２）。
【００４１】
排他制御機構１２は排他制御情報索引キャッシュ８１１が構築されていない場合（図６ステップＳ２２）、交換機６の排他制御情報索引２１の情報を排他制御情報索引キャッシュ８１１に反映した後（図６ステップＳ２６）、排他制御情報索引キャッシュ８１１の検索を行い（図６ステップＳ２７）、目的の排他制御情報がいずれかの計算機上に構築済みか否かを判断し（図６ステップＳ２８）、図３に示す排他制御情報索引の検索処理を行う。
【００４２】
ここで、未構築の場合、図３のステップＳ４における排他制御情報索引２１に自計算機８の登録を行うと同時に、排他制御情報索引キャッシュ８１１にも自計算機８の登録を行う必要がある。
【００４３】
排他制御機構１２は排他制御情報索引キャッシュ８１１が構築済みの場合（図６ステップＳ２２）、排他制御情報索引キャッシュ８１１の検索を行う（図６ステップＳ２３）。目的の排他制御情報がある計算機上で構築済みの場合（図６ステップＳ２４）、排他制御機構１２は図３に示す排他制御情報索引の検索処理に移行する。
【００４４】
目的の排他制御情報がある計算機上で未構築の場合（図６ステップＳ２４）、排他制御機構１２は本当に未構築なのか、それとも排他制御情報索引キャッシュ８１１が最新の排他制御情報索引２１を反映していないのかどうかを調べるために排他制御情報索引２１の検索を行う（図６ステップＳ２５）。
【００４５】
その結果、未構築の場合、排他制御機構１２は図３に示す排他制御情報索引の検索処理に移行する。ここで、未構築の場合、図３のステップＳ４における排他制御情報索引２１に自計算機８の登録を行うと同時に、排他制御情報索引キャッシュ８１１にも自計算機８の登録を行う必要がある。
【００４６】
構築済み、すなわち最新の情報が反映されていなかった場合、排他制御機構１２は排他制御情報索引２１を排他制御情報索引キャッシュ８１１に反映した後（図６ステップＳ２６）、上述した処理と同様に、排他制御情報索引キャッシュ８１１の検索を行い（図６ステップＳ２７）、目的の排他制御情報がいずれかの計算機上に構築済みか否かを判断し（図６ステップＳ２８）、図３に示す排他制御情報索引の検索処理を行う。
【００４７】
本発明の他の実施例による情報処理システムでは、排他制御情報索引キャッシュ８１１，９１１を持つことによって、既に構築済みの排他制御情報１１，３１が構築された計算機８，９を知るために、交換機６にアクセスする必要がないので、排他制御時の交換機６への負荷をさらに低下させることができる。確かに、システム運用開始時には冗長な処理が多発するが、それ以後の交換機６へのアクセスの抑制によってメリットの方がデメリットよりも大きい。
【００４８】
【発明の効果】
以上説明したように本発明によれば、複数の計算機とそれらを接続する交換機とを有し、異なる計算機間の処理に対する排他制御を行う情報処理システムにおいて、複数の計算機各々に、異なる計算機間のデータ転送を行う際の排他制御に必要な排他制御情報及び排他制御情報が他の計算機によって使用中の時の待合せを行うための待合せ情報を記憶手段に構築させ、待合せを行う際に記憶手段の待合せ情報を監視させることによって、高価な交換機上の共有メモリの浪費を抑えることができ、排他制御時の交換機への負荷を低下させることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態による情報処理システムの構成を示すブロック図である。
【図２】本発明の一実施例による情報処理システムの構成を示すブロック図である。
【図３】本発明の一実施例による情報処理システムの動作を示すフローチャートである。
【図４】本発明の一実施例による情報処理システムの動作を示すフローチャートである。
【図５】本発明の他の実施例による情報処理システムの構成を示すブロック図である。
【図６】本発明の他の実施例による情報処理システムの動作を示すフローチャートである。
【符号の説明】
１，３，５，７〜９  計算機
２  交換機
１１，３１  排他制御情報
１２，３２  排他制御機構
１３，３３  待合せ情報
２１  排他制御情報索引
５１，７１，８１，９１  メモリ
６１  共有レジスタ
８１１，９１１  排他制御情報索引キャッシュ
【図１】
0003546790.tif 000002
【図２】
0003546790.tif 000003
【図３】
0003546790.tif 000004
【図４】
0003546790.tif 000005
【図５】
0003546790.tif 000006
【図６】
0003546790.tif 000007