(57)【要約】【課題】好適にトランザクションを処理する。【解決手段】トランザクションを受信した場合（ステップＳ１０１；Ｙｅｓ）、ＣＰＵは、共有メモリ１４を参照することにより現在時刻を取得し（ステップＳ１０２）、起動時刻テーブル１５の対応する制御部の最終起動時刻と同一であるか否かを判別する（ステップＳ１０３）。判別結果に応じてステップＳ１０４又はＳ１０５で処理中トランザクション数テーブル１６を更新すると、総トランザクション数を合算し（ステップＳ１０６）、共有メモリ１４を参照して、合算したトランザクション数がしきい値以下であるか否かを判別する（ステップＳ１０７）。しきい値以下であると判別すると（ステップＳ１０７；Ｙｅｓ）、ステップＳ１０１で受信したトランザクションの処理を開始する（ステップＳ１０８）。【選択図】図５
2008233944.tif 000002
【特許請求の範囲】
【請求項１】
トランザクションを受け付ける受付手段と、
前記受付手段が受け付けたトランザクションを所定の条件に基づいて振り分ける振分手段と、
前記振分手段が振り分けたトランザクションを処理する複数の制御手段と、
前記複数の制御手段それぞれから参照される共有メモリと、
前記複数の制御手段それぞれが所定の単位時間当りに処理中のトランザクション数を記憶する処理数記憶手段と、
前記複数の制御手段それぞれの最終起動時刻を記憶する起動時刻記憶手段と、
を備え、
前記共有メモリは、前記所定の単位時間当りにシステム全体で処理できるトランザクション数の上限を示すしきい値と、前記所定の単位時間ごとに更新される現在時刻データと、を記憶し、
前記複数の制御手段はそれぞれ、
前記振分手段にトランザクションを振り分けられたときに、前記共有メモリの現在時刻データを参照することにより現在時刻を取得し、前記起動時刻記憶手段に記憶される自らの最終起動時刻と一致するか否かを判別する時刻一致判別手段と、
前記時刻一致判別手段が一致しないと判別した場合、自らの最終起動時刻を前記時刻一致判別手段が取得した現在時刻に更新し、さらに前記処理数記憶手段に記憶される自ら処理中のトランザクション数をクリアして１に更新し、また、前記時刻一致判別手段が一致すると判別した場合、前記処理数記憶手段に記憶される自ら処理中のトランザクション数に１を加算して更新する処理数更新手段と、
前記処理数更新手段がトランザクション数を更新した後に、前記処理数記憶手段が記憶するすべての制御手段が処理中のトランザクション数を合算する合算手段と、
前記合算手段が合算したトランザクション数が、前記共有メモリに記憶されるしきい値以下であるか否かを判別するしきい値判別手段と、をさらに備え、
前記しきい値判別手段がしきい値以下であると判別した場合、振り分けられたトランザクションを処理し、
前記しきい値判別手段がしきい値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信する
ことを特徴とする情報処理装置。
【請求項２】
前記複数の制御手段はそれぞれ、自ら処理できるトランザクション数の上限値を記憶する上限値記憶手段と、
前記処理数更新手段がトランザクション数を更新した後に、該トランザクション数が前記上限値以下であるか否かを判別する上限値判別手段と、をさらに備え、
前記上限値判別手段が上限値以下であると判別した場合、前記しきい値判別手段による判別を実行し、
前記上限値判別手段が上限値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記合算手段は、前記最終起動時刻記憶手段に記憶される最終起動時刻が自らの最終起動時刻と同一の制御手段が処理中のトランザクション数のみを合算する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記所定の単位時間は、前記複数の制御手段がトランザクションの処理を終了するのに充分な時間であることを特徴とする請求項１、２又は３に記載の情報処理装置。
【請求項５】
前記複数の制御手段はそれぞれ、トランザクションの処理が終了するごとに、前記処理数記憶手段が記憶する自らの処理中のトランザクション数を１減算する減算手段をさらに備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
トランザクションを受け付ける受付工程と、
前記受付工程で受け付けたトランザクションを複数の制御装置のいずかで処理するトランザクション処理工程と、を備える情報処理方法であって、
前記トランザクション処理工程は、
前記受付工程でトランザクションを受け付けたときに、現在時刻を取得する現在時刻取得工程と、
前記現在時刻取得工程で取得した現在時刻と前回受付工程でトランザクションを受け付けたときの時刻とが一致するか否かを判別する時刻一致判別工程と、
前記時刻一致判別工程で一致しないと判別した場合、制御装置と対応づけて記憶される処理中のトランザクション数を１に更新、また、前記時刻一致判別工程で一致すると判別した場合、前記処理中のトランザクション数に１を加算して更新する処理数更新工程と、
前記処理数更新工程でトランザクション数を更新した後に、前記複数の制御装置すべてで処理中のトランザクション数を合算する合算工程と、
前記合算工程で合算したトランザクション数が、所定のしきい値以下であるか否かを判別するしきい値判別工程と、
前記しきい値判別工程でしきい値以下であると判別した場合、前記受付工程で受け付けたトランザクションを処理する処理工程と、
前記しきい値判別工程でしきい値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信するエラー送信工程と、をさらに備える
ことを特徴とする情報処理方法。
【請求項７】
前記処理数更新工程でトランザクション数を更新した後に、該トランザクション数が所定の上限値以下であるか否かを判別する上限値判別工程と、
前記上限値判別工程で上限値以下であると判別した場合、前記しきい値判別工程を実行する工程と、
前記上限値判別工程で上限値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信する工程と、
をさらに備えることを特徴とする請求項６に記載の情報処理方法。
【請求項８】
前記受付工程でトランザクションを受け付けたときに、その時刻を該トランザクションを処理する制御装置と対応づけて記憶する時刻記憶工程をさらに備え、
前記合算工程では、前記時刻記憶工程で記憶された時刻が最新である制御装置のトランザクション数のみを合算する
ことを特徴とする請求項６又は７に記載の情報処理方法。
【請求項９】
前記処理工程でトランザクションの処理を終了するごとに、前記処理中のトランザクション数を１減算する減算工程をさらに備えることを特徴とする請求項６、７又は８に記載の情報処理装置。
【請求項１０】
複数の制御装置を備えるコンピュータに、
トランザクションを受け付ける受付工程と、
前記受付工程で受け付けたトランザクションを複数の制御装置のいずかで処理するトランザクション処理工程と、を実行させ、
前記トランザクション処理工程で、
前記受付工程でトランザクションを受け付けたときに、現在時刻を取得する現在時刻取得工程と、
前記現在時刻取得工程で取得した現在時刻と前回受付工程でトランザクションを受け付けたときの時刻とが一致するか否かを判別する時刻一致判別工程と、
前記時刻一致判別工程で一致しないと判別した場合、制御装置と対応づけて記憶される処理中のトランザクション数を１に更新、また、前記時刻一致判別工程で一致すると判別した場合、前記処理中のトランザクション数に１を加算して更新する処理数更新工程と、
前記処理数更新工程でトランザクション数を更新した後に、前記複数の制御装置すべてで処理中のトランザクション数を合算する合算工程と、
前記合算工程で合算したトランザクション数が、所定のしきい値以下であるか否かを判別するしきい値判別工程と、
前記しきい値判別工程でしきい値以下であると判別した場合、前記受付工程で受け付けたトランザクションを処理する処理工程と、
前記しきい値判別工程でしきい値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信するエラー送信工程と、をさらに実行させる
ことを特徴とするプログラム。
【請求項１１】
複数の制御装置を備えるコンピュータに、
前記処理数更新工程でトランザクション数を更新した後に、該トランザクション数が所定の上限値以下であるか否かを判別する上限値判別工程と、
前記上限値判別工程で上限値以下であると判別した場合、前記しきい値判別工程を実行する工程と、
前記上限値判別工程で上限値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信する工程と、
をさらに実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
複数の制御装置を備えるコンピュータに、
前記受付工程でトランザクションを受け付けたときに、その時刻を該トランザクションを処理する制御装置と対応づけて記憶する時刻記憶工程をさらに備え、
前記合算工程では、前記時刻記憶工程で記憶された時刻が最新である制御装置のトランザクション数のみを合算する
ことを特徴とする請求項１０又は１１に記載のプログラム。
【請求項１３】
複数の制御装置を備えるコンピュータに、
前記処理工程でトランザクションの処理を終了するごとに、前記処理中のトランザクション数を１減算する減算工程をさらに実行させることを特徴とする請求項１０、１１又は１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来から、複数のプロセッサ（中央処理装置）を備える情報処理装置が提案されている（例えば、特許文献１）。このような情報処理装置では、トランザクションを複数のプロセッサで処理している。
【０００３】
このような情報処理装置では、複数のプロセッサそれぞれからアクセス可能な共有メモリが設けられている。除法処理装置で同時に実行できるトランザクション処理の数（しきい値）や、現在処理している合計トランザクション数をこの共有メモリに記憶する。そして、合計のトランザクション数がしきい値を超えないように、トランザクションの処理数を制限する。
【０００４】
共有メモリに記憶される現在の合計トランザクション数は、それぞれのプロセッサから排他制御で更新される。しかし、この排他制御により、デッドロックが生じたり、データ矛盾が起きる可能性があった。
【０００５】
【特許文献１】特開平６−４４２６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記問題点に鑑みてなされたもので、好適にトランザクションを処理する情報処理装置、情報処理方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る情報処理装置は、
トランザクションを受け付ける受付手段と、
前記受付手段が受け付けたトランザクションを所定の条件に基づいて振り分ける振分手段と、
前記振分手段が振り分けたトランザクションを処理する複数の制御手段と、
前記複数の制御手段それぞれから参照される共有メモリと、
前記複数の制御手段それぞれが所定の単位時間当りに処理中のトランザクション数を記憶する処理数記憶手段と、
前記複数の制御手段それぞれの最終起動時刻を記憶する起動時刻記憶手段と、
を備え、
前記共有メモリは、前記所定の単位時間当りにシステム全体で処理できるトランザクション数の上限を示すしきい値と、前記所定の単位時間ごとに更新される現在時刻データと、を記憶し、
前記複数の制御手段はそれぞれ、
前記振分手段にトランザクションを振り分けられたときに、前記共有メモリの現在時刻データを参照することにより現在時刻を取得し、前記起動時刻記憶手段に記憶される自らの最終起動時刻と一致するか否かを判別する時刻一致判別手段と、
前記時刻一致判別手段が一致しないと判別した場合、自らの最終起動時刻を前記時刻一致判別手段が取得した現在時刻に更新し、さらに前記処理数記憶手段に記憶される自ら処理中のトランザクション数をクリアして１に更新し、また、前記時刻一致判別手段が一致すると判別した場合、前記処理数記憶手段に記憶される自ら処理中のトランザクション数に１を加算して更新する処理数更新手段と、
前記処理数更新手段がトランザクション数を更新した後に、前記処理数記憶手段が記憶するすべての制御手段が処理中のトランザクション数を合算する合算手段と、
前記合算手段が合算したトランザクション数が、前記共有メモリに記憶されるしきい値以下であるか否かを判別するしきい値判別手段と、をさらに備え、
前記しきい値判別手段がしきい値以下であると判別した場合、振り分けられたトランザクションを処理し、
前記しきい値判別手段がしきい値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信することを特徴とする。
【０００８】
また、前記複数の制御手段はそれぞれ、自ら処理できるトランザクション数の上限値を記憶する上限値記憶手段と、
前記処理数更新手段がトランザクション数を更新した後に、該トランザクション数が前記上限値以下であるか否かを判別する上限値判別手段と、をさらに備え、
前記上限値判別手段が上限値以下であると判別した場合、前記しきい値判別手段による判別を実行し、
前記上限値判別手段が上限値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信するようにしてもよい。
【０００９】
また、前記合算手段は、前記最終起動時刻記憶手段に記憶される最終起動時刻が自らの最終起動時刻と同一の制御手段が処理中のトランザクション数のみを合算するようにしてもよい。
【００１０】
また、前記所定の単位時間は、前記複数の制御手段がトランザクションの処理を終了するのに充分な時間であるようにしてもよい。
【００１１】
また、前記複数の制御手段はそれぞれ、トランザクションの処理が終了するごとに、前記処理数記憶手段が記憶する自らの処理中のトランザクション数を１減算する減算手段をさらに備えるようにしてもよい。
【００１２】
本発明の第２の観点に係る情報更新方法は、
トランザクションを受け付ける受付工程と、
前記受付工程で受け付けたトランザクションを複数の制御装置のいずかで処理するトランザクション処理工程と、を備える情報処理方法であって、
前記トランザクション処理工程は、
前記受付工程でトランザクションを受け付けたときに、現在時刻を取得する現在時刻取得工程と、
前記現在時刻取得工程で取得した現在時刻と前回受付工程でトランザクションを受け付けたときの時刻とが一致するか否かを判別する時刻一致判別工程と、
前記時刻一致判別工程で一致しないと判別した場合、制御装置と対応づけて記憶される処理中のトランザクション数を１に更新、また、前記時刻一致判別工程で一致すると判別した場合、前記処理中のトランザクション数に１を加算して更新する処理数更新工程と、
前記処理数更新工程でトランザクション数を更新した後に、前記複数の制御装置すべてで処理中のトランザクション数を合算する合算工程と、
前記合算工程で合算したトランザクション数が、所定のしきい値以下であるか否かを判別するしきい値判別工程と、
前記しきい値判別工程でしきい値以下であると判別した場合、前記受付工程で受け付けたトランザクションを処理する処理工程と、
前記しきい値判別工程でしきい値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信するエラー送信工程と、をさらに備える
ことを特徴とする。
【００１３】
また、前記処理数更新工程でトランザクション数を更新した後に、該トランザクション数が所定の上限値以下であるか否かを判別する上限値判別工程と、
前記上限値判別工程で上限値以下であると判別した場合、前記しきい値判別工程を実行する工程と、
前記上限値判別工程で上限値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信する工程と、
をさらに備えるようにしてもよい。
【００１４】
また、前記受付工程でトランザクションを受け付けたときに、その時刻を該トランザクションを処理する制御装置と対応づけて記憶する時刻記憶工程をさらに備え、
前記合算工程では、前記時刻記憶工程で記憶された時刻が最新である制御装置のトランザクション数のみを合算するようにしてもよい。
【００１５】
また、前記処理工程でトランザクションの処理を終了するごとに、前記処理中のトランザクション数を１減算する減算工程をさらに備えるようにしてもよい。
【００１６】
本発明の第３の観点に係るプログラムは、
複数の制御装置を備えるコンピュータに、
トランザクションを受け付ける受付工程と、
前記受付工程で受け付けたトランザクションを複数の制御装置のいずかで処理するトランザクション処理工程と、を実行させ、
前記トランザクション処理工程で、
前記受付工程でトランザクションを受け付けたときに、現在時刻を取得する現在時刻取得工程と、
前記現在時刻取得工程で取得した現在時刻と前回受付工程でトランザクションを受け付けたときの時刻とが一致するか否かを判別する時刻一致判別工程と、
前記時刻一致判別工程で一致しないと判別した場合、制御装置と対応づけて記憶される処理中のトランザクション数を１に更新、また、前記時刻一致判別工程で一致すると判別した場合、前記処理中のトランザクション数に１を加算して更新する処理数更新工程と、
前記処理数更新工程でトランザクション数を更新した後に、前記複数の制御装置すべてで処理中のトランザクション数を合算する合算工程と、
前記合算工程で合算したトランザクション数が、所定のしきい値以下であるか否かを判別するしきい値判別工程と、
前記しきい値判別工程でしきい値以下であると判別した場合、前記受付工程で受け付けたトランザクションを処理する処理工程と、
前記しきい値判別工程でしきい値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信するエラー送信工程と、をさらに実行させる
ことを特徴とする。
【００１７】
また、複数の制御装置を備えるコンピュータに、
前記処理数更新工程でトランザクション数を更新した後に、該トランザクション数が所定の上限値以下であるか否かを判別する上限値判別工程と、
前記上限値判別工程で上限値以下であると判別した場合、前記しきい値判別工程を実行する工程と、
前記上限値判別工程で上限値より大きいと判別した場合、トランザクションの受け付け元にエラーを送信する工程と、
をさらに実行させるようにしてもよい。
【００１８】
また、複数の制御装置を備えるコンピュータに、
前記受付工程でトランザクションを受け付けたときに、その時刻を該トランザクションを処理する制御装置と対応づけて記憶する時刻記憶工程をさらに備え、
前記合算工程では、前記時刻記憶工程で記憶された時刻が最新である制御装置のトランザクション数のみを合算するようにしてもよい。
【００１９】
また、複数の制御装置を備えるコンピュータに、
前記処理工程でトランザクションの処理を終了するごとに、前記処理中のトランザクション数を１減算する減算工程をさらに実行させるようにしてもよい。
【発明の効果】
【００２０】
本発明によれば、好適にトランザクションを処理する情報処理装置、情報処理方法、及び、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態に係る情報処理装置１０を説明する。図１は、情報処理装置１０の全体構成を示すブロック図である。図１に示すように、情報処理装置１０は、制御部Ａ１１と、制御部Ｂ１２と、制御部Ｃ１３と、時刻制御部１７と、通信制御部１８と、記憶装置２０と、から構成される。記憶装置２０は、共有メモリ１４と、起動時刻テーブル１５と、処理中トランザクション数テーブル１６と、を含む。
【００２２】
制御部Ａ１１、制御部Ｂ１２及び制御部Ｃ１３は、それぞれ動作を制御するＣＰＵ（Central Processing Unit）や、ＣＰＵの動作プログラムを記憶するＲＯＭ（Read Only Memory）や、ワークエリアとなるＲＡＭ（Random Access Memory）などで構成される。制御部１１〜１３（より具体的には各ＣＰＵ）は、情報処理装置１０が受信したトランザクションをそれぞれ処理する。この実施の形態では、トランザクションの種別により、受信したトランザクションはいずれかの制御部に割り振られる。この情報処理装置１０では、それぞれの制御部１１〜１３が独立して動作するので、トランザクションを並行処理することができる。
【００２３】
メモリ２０は、ハードディスク装置やフラッシュメモリ、ＲＡＭなどで構成される。
【００２４】
共有メモリ１４は、制御部１１〜１３から参照専用で読み出されるメモリである。図２は、共有メモリ１４の記憶内容を示す図である。図２に示すように、共有メモリ１４は、単位時間当りに情報処理装置１０全体で処理できるトランザクション数の上限を示すしきい値と、現在時刻と、を記憶している。しきい値は、この実施の形態では１３であって、制御部１１〜１３で単位時間当りに合計１３までのトランザクションを処理できることを示している。現在時刻は、情報処理装置のシステムクロックの現在時刻を示している。現在時刻は所定の周期（例えば１ミリ秒ごと）で時刻制御部１７により更新される。
【００２５】
起動時刻テーブル１５は、図３に示すように、各制御部１１〜１３が最後に起動した時刻（最終起動時刻）を記憶する。具体的には、情報処理装置１０においてトランザクションを受信すると、そのトランザクションに対応する制御部が共有メモリ１４の現在時刻を参照することにより取得し、その取得した現在時刻で起動時刻テーブル１５を更新する。
【００２６】
処理中トランザクション数テーブル１６は、図４に示すように、各制御部１１〜１３が単位時間当りに処理しているトランザクション数を記憶する。ここでいう単位時間は、時刻制御部１７が共有メモリ１４の現在時刻を更新する周期と同じである。また、この単位時間は各制御部１１〜１３がトランザクションを処理するために充分な時間である。即ち、時刻制御部１７が共有メモリ１４の現在時刻を更新するタイミングで各制御部１１〜１３は、トランザクションの処理を終えている。
【００２７】
即ち、情報処理装置１０においてトランザクションを受信したときに、制御部Ａ１１、制御部Ｂ１２または制御部Ｃ１３は、起動時刻テーブル１５を現在時刻で更新するが、起動時刻テーブル１５の最終起動時刻と現在時刻が一致した場合、単位時間内に新たなトランザクションを受信したと判別する。そして、処理中トランザクション数テーブル１６のトランザクション数に１を加算する。従って、処理中トランザクション数テーブル１６の全てのトランザクション数を合算すると、情報処理装置１０全体で単位時間当りに処理しているトランザクション数となる。この数を、共有メモリ１４に記憶されているしきい値と比較している。そして、しきい値以下であれば、新たに受信したトランザクションを処理し、しきい値より大きければ、情報処理装置１０の負荷が大きすぎるとして、新たに受信したトランザクションを処理しないでエラーを通知する。
【００２８】
通信制御部１８は、ネットワークを介してトランザクションを受信し、制御部１１〜１３により処理されたトランザクションを送信する。なお、ここで用いるネットワークは、インターネットやイントラネット、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）など、トランザクションを送受できるネットワークであればどのようなものであってもよい。
【００２９】
続いて、情報処理装置１０のトランザクションを処理する際の動作について説明する。図５は、各制御部１１〜１３が実行するトランザクション処理の動作を説明するためのフローチャートである。この動作プログラムは、各制御部１１〜１３のＲＯＭに記憶され、定期的に実行される。
【００３０】
トランザクション処理では、先ず、対応する制御部のＣＰＵは、対応するトランザクションを受信したか否かを判別する（ステップＳ１０１）。例えば、通信制御部１８が受信したトランザクションの種別や、トランザクションの送信元に応じて各制御部１１〜１３に振り分けるようにすればよい。
【００３１】
ステップＳ１０１にて、対応するトランザクションを受信していなかった場合（ステップＳ１０１；Ｎｏ）、この処理を終了する。
【００３２】
ステップＳ１０１にて、対応するトランザクションを受信した場合（ステップＳ１０１；Ｙｅｓ）、ＣＰＵは、共有メモリ１４を参照することにより現在時刻を取得する（ステップＳ１０２）。
【００３３】
ステップＳ１０２にて現在時刻を取得すると、ＣＰＵは、起動時刻テーブル１５の対応する制御部の最終起動時刻と同一であるか否かを判別する（ステップＳ１０３）。
【００３４】
ステップＳ１０３にて、ステップＳ１０２で取得した現在時刻と最終起動時刻とが同一であると判別すると（ステップＳ１０３；Ｙｅｓ）、ＣＰＵは、処理中トランザクション数テーブル１６の対応する制御部のトランザクション数に１を加算する（ステップＳ１０４）。ここでは、同一周期内（単位時間）にさらにトランザクションを受信したと判別して、単位時間当りに処理するトランザクション数に１加算している。
【００３５】
ステップＳ１０３にて、ステップＳ１０２で取得した現在時刻と最終起動時刻とが同一でないと判別すると（ステップＳ１０３；Ｎｏ）、ＣＰＵは、起動時刻テーブル１５の最終起動時刻を現在時刻で更新するとともに、処理中トランザクション数テーブル１６のトランザクション数をクリアし１（即ち、今回受信したトランザクション）に更新する（ステップＳ１０５）。ここでは、最終起動時刻から一周期以上経過した後に新たにトランザクションを受信したと判別している。そのため、トランザクション数を一旦クリアして１に更新している。
【００３６】
ステップＳ１０４またはステップＳ１０５にて処理中トランザクション数テーブル１６のトランザクション数を更新すると、ＣＰＵは、処理中トランザクション数テーブル１６の全ての制御部（制御部Ａ１１、制御部Ｂ１２及び制御部Ｃ１３）のトランザクション数を合算する（ステップＳ１０６）。図４に示す例では、合算値は「１２」となる。
【００３７】
ステップＳ１０６にて、トランザクション数を合算すると、ＣＰＵは、共有メモリ１４を参照して、合算したトランザクション数がしきい値以下であるか否かを判別する（ステップＳ１０７）。即ち、情報処理装置１０全体の負荷が上限値以内であるか否かを判別している。
【００３８】
ステップＳ１０７にて合算したトランザクション数がしきい値以下であると判別すると（ステップＳ１０７；Ｙｅｓ）、ＣＰＵは、ステップＳ１０１で受信したトランザクションの処理を開始する（ステップＳ１０８）。なお、図２及び図４の例では、しきい値が「１３」であって合算値が「１２」であるのでしきい値以下である。
【００３９】
ステップＳ１０７にて合算したトランザクション数がしきい値より大きいと判別すると（ステップＳ１０７；Ｙｅｓ）、ＣＰＵは、ステップＳ１０１で受信したトランザクションは処理せずに、通信制御部１８を介してそのトランザクションの送信元にエラーを通知する（ステップＳ１０９）。即ち、エラーの通知を受けた送信元では、再度のトランザクションの送信が必要となる。
【００４０】
以上説明したように、本発明の情報処理装置１０では、単位時間当りに情報処理装置１０全体で処理できるトランザクション数の上限を示すしきい値を、参照専用の共有メモリ１４に記憶した。これにより、トランザクションを処理する複数の制御部（ＣＰＵ）が存する情報処理装置１０であっても、各制御部が競合して衝突することがないため排他制御の必要がなく、排他制御により生じるデッドロックを回避することができ、システムの信頼性を高めることができる。
【００４１】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態や変形例を自由に組み合わせることも可能である。
【００４２】
上記実施の形態では、情報処理装置１０は、情報処理装置１０全体で処理できるトランザクション数の上限を示すしきい値を記憶し、各制御部１１〜１３が実行するトランザクション数を合算した値が当該しきい値以下であるかを判別することにより、情報処理装置１０の負荷が大きすぎるか否かを判別していた。これのみに限定されず、各制御部１１〜１３が実行するトランザクション数それぞれの上限を示す上限値を記憶するようにしてもよい。例えば、記憶装置２０の所定領域に当該上限値を記憶し、図６に示すように、ステップＳ１０６でトランザクション数を合算する前に、トランザクション数が上限値以下であるかを判別し（ステップＳ１１１）、上限値以下である場合は（ステップＳ１１１；Ｙｅｓ）、ステップＳ１０６に移行し、上限値より大きい場合（ステップＳ１１１；Ｎｏ）、はステップＳ１０９に移行するようにすればよい。
【００４３】
また、上記実施の形態では、図５に示すステップＳ１０６では処理中トランザクション数テーブル１６の全ての制御部のトランザクション数を合算していた。しかし、これに限定されず、ステップＳ１０６で、ＣＰＵが最終起動時刻テーブル１６を参照することで、最終起動時刻が一致する制御部の処理中トランザクション数を合算するようにしてもよい。図３及び図４に示す例では、制御部Ａ１１がトランザクション処理を実行した場合、最終起動時刻が一致する制御部Ｃ１３の処理中トランザクション数のみを合算することになる。即ち、ステップＳ１０６の合算値は上記実施の形態では「１２」であったが「７」になる。このようにすることで、すでに処理を終えているトランザクション数を合算することがなくなり、より正確に情報処理装置１０の負荷が大きすぎるか否かを判別することができるようになる。
【００４４】
また、それぞれの制御部１１〜１３が、トランザクションの処理を終えるごとに処理中トランザクション数テーブル１６のトランザクション数を減算するようにしてもよい。例えば、ステップＳ１０８で開始したトランザクションの処理が終了するごとに、処理中トランザクション数テーブル１６のトランザクション数を更新するようにすればよい。このようにすることでも、すでに処理を終えているトランザクション数を合算することがなくなり、より正確に情報処理装置１０の負荷が大きすぎるか否かを判別することができるようになる。
【００４５】
上記実施の形態では、トランザクションの具体的な内容については言及しなかったが、あらゆるトランザクションが対象になる。
【００４６】
また、情報処理装置１０が備える制御部は、制御部Ａ１１、制御部Ｂ１２及び制御部Ｃ１３の３つであったが、複数であればいくつであってもよい。
【００４７】
上記実施の形態では、各制御部１１〜１３のＣＰＵ実行するトランザクション処理のプログラムは、それぞれが備えるＲＯＭに予め記憶されているものとして説明した。しかし、このプログラムを、共通のＲＯＭに記憶して各制御部１１〜１３のＣＰＵが読み出して実行するようにしてもよい。また、メモリカード、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを情報処理装置１０に所定領域にインストールし、上述のように動作させてもよい。
【００４８】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、情報処理装置１０にダウンロード等するものとしてもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明の情報更新システムの全体構成を示すブロック図である。
【図２】共有メモリの記憶内容を示す図である。
【図３】起動時刻テーブルの構成例を示す図である。
【図４】処理中トランザクション数テーブルの構成例を示す図である。
【図５】トランザクション処理の動作を説明するためのフローチャートである。
【図６】トランザクション処理の動作を変形例を説明するためのフローチャートである。
【符号の説明】
【００５０】
１０    情報処理装置
１１、１２、１３    制御部
１４    共有メモリ
１５    起動時刻テーブル
１６    処理中トランザクション数テーブル
１７    時刻制御部
１８    通信制御部
２０    記憶装置
【図１】
2008233944.tif 000003
【図２】
2008233944.tif 000004
【図３】
2008233944.tif 000005
【図４】
2008233944.tif 000006
【図５】
2008233944.tif 000007
【図６】
2008233944.tif 000008