(57)【特許請求の範囲】
【請求項１】
全体として一定範囲の回数制限を有するクライアント処理を行う複数プロセス処理装置であって、
データベースが保持する項目の内容についてクライアントプログラムからの当該一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセスを発生させるプロセス発生手段と、
前記プロセス発生手段が発生させた前記複数のレスポンスプロセスの各々が、
それぞれクライアントプログラムから前記一定範囲の回数制限に係る判断要求を受け付けたことに応じて、前記項目の内容を参照して当該一定範囲の回数制限に係る判断を行う際に、前記レスポンスプロセスの各々が独立して、他の前記レスポンスプロセスの処理結果を考慮しないで当該一定範囲の回数制限に係る判断を行って、前記クライアントプログラムに応答を返す応答手段と、
さらに、前記項目の内容を更新するための差分情報を作成して前記レスポンスプロセスの各々が管理するメモリ上に保持する更新用差分情報作成手段と、
前記差分情報について所定の更新条件を満たしたか否かを判断する更新条件判断手段と、
前記更新条件判断手段が前記所定の更新条件を満たしたと判断したことに応じて、前記レスポンスプロセスの各々が保持している前記差分情報を用いて前記項目の内容を更新する項目更新手段と、
を備える複数プロセス処理装置。
【請求項２】
前記所定の更新条件は、前記項目更新手段による前記項目の内容の更新から所定の期間が経過したことである、請求項１に記載の複数プロセス処理装置。
【請求項３】
前記所定の更新条件は、前記差分情報が所定以上蓄積されたことである、請求項１又は２に記載の複数プロセス処理装置。
【請求項４】
前記所定の更新条件は、前記差分情報が示す差分が所定以上大きくなったことである、請求項１から３のいずれかに記載の複数プロセス処理装置。
【請求項５】
全体として一定範囲の回数制限を有するクライアント処理を行う複数プロセス処理装置が、データベースが保持する項目の内容についてクライアントプログラムからの当該一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセスを発生させるプロセス発生ステップと、
前記プロセス発生ステップが発生させた前記複数のレスポンスプロセスの各々が、
それぞれクライアントプログラムから前記一定範囲の回数制限に係る判断要求を受け付けたことに応じて、前記項目の内容を参照して当該一定範囲の回数制限に係る判断を行う際に、前記レスポンスプロセスの各々が独立して、他の前記レスポンスプロセスの処理結果を考慮しないで当該一定範囲の回数制限に係る判断を行って、前記クライアントプログラムに応答を返す応答ステップと、
さらに、前記項目の内容を更新するための差分情報を作成して前記レスポンスプロセスの各々が管理するメモリ上に保持する更新用差分情報作成ステップと、
前記差分情報について所定の更新条件を満たしたか否かを判断する更新条件判断ステップと、
前記更新条件判断ステップが前記所定の更新条件を満たしたと判断したことに応じて、前記レスポンスプロセスの各々が保持している前記差分情報を用いて前記項目の内容を更新する項目更新ステップと、
を実行する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数プロセス処理装置及び方法に関する。
【背景技術】
【０００２】
従来より、コンピュータシステムは、マルチタスクオペレーティングシステムの管理下において、複数のプロセスが並列処理を行い、迅速な処理や、速やかな応答等を行う。このマルチタスクオペレーティングシステムの管理下でデータを共有する複数のプロセス同士は、共有するデータを更新するために互いに排他制御を行い、安全に更新する。このような排他制御について、ロック解除待ちによるデッドロックの発生を回避し、アクセスするたびにロックやロック解除を行うことによる応答性の低下等を防止するための対策が行われている。
【０００３】
例えば、必要とされるデータページのみを占有するきめ細かな排他制御を可能とし、デッドロックを減少させることを目的とした特許文献１が知られている。
【０００４】
特許文献１のデッドロック削減方式は、複数のプロセスからのデータベースへのアクセス要求を参照ロックと更新ロックにより制御するロック制御において、データベース操作記述中に更新可能表の指定が明示的に規定されている場合は、データベース検索時に対象となるページにのみ予め更新ロックをかけ、明示的に規定されていない場合には、データベース検索時に対象となるページに参照ロックをかける。
一方、例えば、クライアントプログラムからのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の利用を許可するＡＣＬ（Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ）サーバにおいて、秒間数万回の要求を受ける場合等の極めて高頻度の要求に応えるために、ロックをかけずに複数の応答プロセスに処理を実行させると、データに不整合が生じることになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３３３８７５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
すなわち、このような極めて高頻度の要求に応えるためには、特許文献１のデッドロック削減方式では、十分なパフォーマンスを提供することはできず、他方、ロックを伴わない処理方式では、データの不整合が生じた場合に当該不整合を適切に制御することができない。
【０００７】
そこで、全体として一定範囲の回数制限を有するクライアント処理を行う際に、ある程度のデータの不整合を許容しつつもこれを適切に制御し、応答速度を向上させることができる複数プロセス処理装置及び方法が望まれている。
【０００８】
本発明は、全体として一定範囲の回数制限を有するクライアント処理を行う際に、複数のプロセスによってある程度のデータの不整合を許容して逐次応答を行いつつもこれを適切に制御し、応答速度を向上させることができる複数プロセス処理装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、以下のような解決手段を提供する。
【００１０】
（１）  全体として一定範囲の回数制限を有するクライアント処理を行う複数プロセス処理装置であって、データベースが保持する項目の内容についてクライアントプログラムからの当該一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセスを発生させるプロセス発生手段と、前記プロセス発生手段が発生させた前記複数のレスポンスプロセスの各々が、それぞれクライアントプログラムから前記一定範囲の回数制限に係る判断要求を受け付けたことに応じて、前記項目の内容を参照して当該一定範囲の回数制限に係る判断を行う際に、前記レスポンスプロセスの各々が独立して、他の前記レスポンスプロセスの処理結果を考慮しないで当該一定範囲の回数制限に係る判断を行って、前記クライアントプログラムに応答を返す応答手段と、さらに、前記項目の内容を更新するための差分情報を作成して前記レスポンスプロセスの各々が管理するメモリ上に保持する更新用差分情報作成手段と、前記差分情報について所定の更新条件を満たしたか否かを判断する更新条件判断手段と、前記更新条件判断手段が前記所定の更新条件を満たしたと判断したことに応じて、前記レスポンスプロセスの各々が保持している前記差分情報を用いて前記項目の内容を更新する項目更新手段と、を備える複数プロセス処理装置。
【００１１】
（１）の構成によれば、本発明に係る複数プロセス処理装置は、全体として一定範囲の回数制限を有するクライアント処理を行う際に、データベースが保持する項目の内容についてクライアントプログラムからの当該一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセスを発生させる。そして、当該複数プロセス処理装置は、発生させた複数のレスポンスプロセスの各々が、それぞれクライアントプログラムから当該一定範囲の回数制限に係る判断要求を受け付けたことに応じて、独立して、他のレスポンスプロセスの処理結果を考慮しないで当該一定範囲の回数制限に係る判断を行い、クライアントプログラムに応答を返す。さらに、当該複数プロセス処理装置は、項目の内容を更新するための差分情報を作成してレスポンスプロセスの各々が管理するメモリ上に保持する。そして、当該複数プロセス処理装置は、差分情報について所定の更新条件を満たしたか否かを判断し、所定の更新条件を満たしたと判断したことに応じて、レスポンスプロセスの各々が保持している差分情報を用いて項目の内容を更新する。
【００１２】
すなわち、本発明に係る複数プロセス処理装置において、クライアントプログラムからの全体として一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセスは、各々が他のレスポンスプロセスの処理結果を考慮しないで、項目の内容を参照して当該一定範囲の回数制限に係る判断を行って、クライアントプログラムに応答を返す。そして、各レスポンスプロセスは、各々が保持している差分情報について所定の更新条件を満たしたと判断したことに応じて、各々が保持している差分情報を用いて項目の内容を更新する。よって、本発明に係る複数プロセス処理装置において、複数のプロセスの各々は、逐次応答を行う際の判断において互いのアクションを所定期間考慮しないで判断しつつ、所定の更新条件ごとに当該各々の差分情報が当該項目の内容に反映することになる。
したがって、本発明に係る複数プロセス処理装置は、複数のプロセスによって応答を行う際の判断において互いのプロセスのアクションを所定期間考慮しないで逐次応答することにより、ある程度の不整合を許容しつつもそれが際限なく大きくなることがないように制御し、応答速度を向上させることができる。
【００１３】
（２）  前記所定の更新条件は、前記項目更新手段による前記項目の内容の更新から所定の期間が経過したことである、（１）に記載の複数プロセス処理装置。
【００１４】
よって、（２）に係る複数プロセス処理装置において、複数のプロセスの各々は、項目の内容の更新から所定の期間が経過するまでの判断において互いのアクションを考慮しないで判断する。したがって、（２）に係る複数プロセス処理装置は、複数のプロセスによって所定の期間が経過するまでの判断においてある程度の不整合を許容して逐次応答を行いつつ、当該所定の期間ごとに不整合を解消して当該不整合が際限なく大きくなることがないように制御し、応答速度を向上させることができる。
【００１５】
（３）  前記所定の更新条件は、前記差分情報が所定以上蓄積されたことである、（１）又は（２）に記載の複数プロセス処理装置。
【００１６】
よって、（３）に係る複数プロセス処理装置において、複数のプロセスの各々は、差分情報が所定以上蓄積されるまでの判断において互いのアクションを考慮しないで判断する。したがって、（３）に係る複数プロセス処理装置は、複数のプロセスによって差分情報が所定以上蓄積されるまでの判断においてある程度の不整合を許容して逐次応答を行いつつ、当該差分情報が所定以上蓄積するごとに不整合を解消して当該不整合が際限なく大きくなることがないように制御し、応答速度を向上させることができる。
【００１７】
（４）  前記所定の更新条件は、前記差分情報が示す差分が所定以上大きくなったことである、（１）から（３）のいずれかに記載の複数プロセス処理装置。
【００１８】
よって、（４）に係る複数プロセス処理装置において、複数のプロセスの各々は、差分情報が示す差分が所定以上大きくなるまでの判断において互いのアクションを考慮しないで判断する。したがって、（４）に係る複数プロセス処理装置は、複数のプロセスによって差分情報が示す差分が所定以上大きくなるまでの判断においてある程度の不整合を許容して逐次応答を行いつつ、当該差分情報が示す差分が所定以上になるごとに不整合を解消して当該不整合が際限なく大きくなることがないように制御し、応答速度を向上させることができる。
【００１９】
（５）  全体として一定範囲の回数制限を有するクライアント処理を行う複数プロセス処理装置が、データベースが保持する前記項目の内容についてクライアントプログラムからの当該一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセスを発生させるプロセス発生ステップと、前記プロセス発生ステップが発生させた前記複数のレスポンスプロセスの各々が、それぞれクライアントプログラムから前記一定範囲の回数制限に係る判断要求を受け付けたことに応じて、前記項目の内容を参照して当該一定範囲の回数制限に係る判断を行う際に、前記レスポンスプロセスの各々が独立して、他の前記レスポンスプロセスの処理結果を考慮しないで当該一定範囲の回数制限に係る判断を行って、前記クライアントプログラムに応答を返す応答ステップと、さらに、前記項目の内容を更新するための差分情報を作成して前記レスポンスプロセスの各々が管理するメモリ上に保持する更新用差分情報作成ステップと、前記差分情報について所定の更新条件を満たしたか否かを判断する更新条件判断ステップと、前記更新条件判断ステップが前記所定の更新条件を満たしたと判断したことに応じて、前記レスポンスプロセスの各々が保持している前記差分情報を用いて前記項目の内容を更新する項目更新ステップと、を実行する方法。
【００２０】
したがって、（５）に係る方法は、（１）と同様に、全体として一定範囲の回数制限を有するクライアント処理を行う複数プロセス処理装置が、複数のプロセスによって応答を行う際の判断において互いのプロセスのアクションを所定期間考慮しないで逐次応答することにより、ある程度の不整合を許容しつつもそれが際限なく大きくなることがないように制御し、応答速度を向上させることができる。
【発明の効果】
【００２１】
本発明によれば、全体として一定範囲の回数制限を有するクライアント処理を行う際に、複数のプロセスによってある程度のデータの不整合を許容して逐次応答を行いつつもこれを適切に制御し、応答速度を向上させることができる複数プロセス処理装置及び方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る複数プロセス処理装置の機能構成を示す機能ブロック図である。
【図２】本発明の一実施形態に係る複数プロセス処理装置の項目の一例を示す図である。
【図３】本発明の一実施形態に係る複数プロセス処理装置の差分情報の一例を示す図である。
【図４】本発明の一実施形態に係る複数プロセス処理装置の複数のレスポンスプロセスの各々の応答処理を示すフローチャートである。
【図５】本発明の一実施形態に係る複数プロセス処理装置の複数のレスポンスプロセスの各々の更新条件判断処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について図を参照しながら説明する。
【００２４】
本実施形態の複数プロセス処理装置１０は、コンピュータ及びその周辺装置に適用される。本実施形態における各部及び各手段は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成される。
【００２５】
上記ハードウェアには、制御部としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の他、記憶部、通信装置、表示装置及び入力装置が含まれる。記憶部としては、例えば、メモリ５０（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ等）、ディスク装置３１（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及び光ディスク（ＣＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ、ＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ等）ドライブが挙げられる。通信装置としては、例えば、クライアント装置６０と通信するための各種有線及び無線インターフェース装置が挙げられる。表示装置としては、例えば、液晶ディスプレイやプラズマディスプレイ等の各種ディスプレイが挙げられる。入力装置としては、例えば、キーボード及びポインティング・デバイス（マウス、トラッキングボール等）が挙げられる。
【００２６】
上記ソフトウェアには、上記ハードウェアを制御するコンピュータ・プログラムやデータが含まれる。コンピュータ・プログラムやデータは、記憶部により記憶され、制御部により適宜実行、参照される。また、コンピュータ・プログラムやデータは、通信回線を介して配布されることも可能であり、ＣＤ−ＲＯＭ等のコンピュータ可読媒体に記録して配布されることも可能である。
【００２７】
図１は、本発明の一実施形態に係る複数プロセス処理装置１０の機能構成を示す機能ブロック図である。図２は、本発明の一実施形態に係る複数プロセス処理装置１０の項目の一例を示す図である。図３は、本発明の一実施形態に係る複数プロセス処理装置１０の差分情報２１の一例を示す図である。図１において、図２及び図３を参照して複数プロセス処理装置１０の機能を説明する。
【００２８】
複数プロセス処理装置１０では、マルチタスクオペレーティングシステムの管理下で、プロセスがメモリ５０上で並列実行する。このようなマルチタスクオペレーティングシステムにおいて、プロセス発生手段１１は、項目ＤＢ３２（ＤＢ：データベース）が保持する項目の内容について、クライアント装置６０で動作するクライアントプログラム６１からの一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセス４１ａ，４１ｂ，４１ｎ（以下、レスポンスプロセスを区別しない場合、レスポンスプロセス４１という）を発生させる。
【００２９】
ディスク装置３１に記憶された項目ＤＢ３２には、クライアントプログラム６１からの一定範囲の回数制限に係る判断要求に対し、可能か否かを判断するための項目が記憶されている。項目は、例えば、図２のように、クライアントプログラム６１のアプリケーションＩＤごとのＡＰＩ利用許可回数及びＡＰＩ利用許可上限回数である。ＡＰＩ利用許可回数には、アプリケーションＩＤごとにＡＰＩの利用を許可した回数が記憶され、ＡＰＩ利用許可上限回数には、ＡＰＩ利用許可回数の上限が記憶されている。ＡＰＩ利用許可回数は、所定の更新条件（後述の項目更新手段１５において詳述する）によって更新される。
【００３０】
プロセス発生部によって発生したレスポンスプロセス４１は、応答手段１２と、更新用差分情報作成手段１３と、更新条件判断手段１４と、項目更新手段１５とを備える。
【００３１】
プロセス発生手段１１によって発生した複数のレスポンスプロセス４１の各々において、応答手段１２は、項目受付手段１２１によって、クライアントプログラム６１からの一定範囲の回数制限に係る判断要求を受け付ける。一定範囲の回数制限に係る判断要求は、例えば、クライアントプログラム６１のアプリケーションＩＤごとに所定回数までＡＰＩの利用を許可するＡＣＬ処理において、クライアントプログラム６１がＡＰＩの利用の許可を要求するＡＰＩ利用許可要求である。
【００３２】
次に、応答手段１２は、項目参照手段１２２によって、一定範囲の回数制限に係る判断要求（例えば、ＡＰＩ利用許可要求）に対して判断するために項目の内容（例えば、ＡＰＩ利用許可回数）を参照する。
【００３３】
次に、応答手段１２は、判断処理実行手段１２３によって、参照した項目の内容（例えば、ＡＰＩ利用許可回数）によって一定範囲の回数制限に係る判断を行う際に、レスポンスプロセス４１の各々が独立して、他のレスポンスプロセス４１の処理結果を考慮しないで判断を行う。
一定範囲の回数制限に係る判断は、例えば、上述のＡＣＬ処理において、クライアントプログラム６１のアプリケーションＩＤごとにＡＰＩの利用を許可するか否か（例えば、ＡＰＩ利用許可上限回数以内であるか否か）の判断である。
具体的には、応答手段１２は、判断処理実行手段１２３によって、参照したＡＰＩ利用許可回数がＡＰＩ利用許可上限回数以内であるか否かを判断する際に、マルチタスクオペレーティングシステムの管理下で、項目ＤＢ３２へのアクセス制限（例えば、レスポンスプロセス４１同士の排他制御）を行うことなく、ＡＰＩ利用許可回数を参照し、判断する。
【００３４】
そして、応答手段１２は、要求応答手段１２４によって、クライアントプログラム６１に応答（例えば、ＡＰＩの利用許可又は利用不許可）を返す。
【００３５】
更新用差分情報作成手段１３は、項目の内容を更新するための差分情報２１ａ，２１ｂ，２１ｎ（以下、差分情報を区別しない場合、差分情報２１という）を作成してレスポンスプロセス４１の各々が管理するメモリ５０上に保持する。
差分情報２１は、例えば、上述のＡＣＬ処理において、クライアントプログラム６１のアプリケーションＩＤごとのＡＰＩ利用許可回数の差分である。図３のように、レスポンスプロセス４１の各々が、アプリケーションＩＤごとのＡＰＩ利用許可回数の差分をメモリ５０の差分情報２１に記憶している。さらに、差分情報２１は、ＡＰＩ利用許可回数の差分によって項目ＤＢ３２を更新するたびに、更新した時刻である更新時刻を記憶する。
具体的には、更新用差分情報作成手段１３は、マルチタスクオペレーティングシステムによってレスポンスプロセス４１に割り当てられたメモリ５０上に、アプリケーションＩＤごとのＡＰＩ利用許可回数の差分を作成し、例えば、応答手段１２によってＡＰＩの利用の許可を返すごとにカウントし、記憶する。
【００３６】
更新条件判断手段１４は、差分情報２１について所定の更新条件を満たしたか否かを判断する。そして、項目更新手段１５は、更新条件判断手段１４が所定の更新条件を満たしたと判断したことに応じて、レスポンスプロセス４１の各々が保持している差分情報２１を用いて項目の内容を更新する。
具体的には、更新条件判断手段１４は、項目更新手段１５による項目の内容の更新から所定の期間（例えば、１０分）が経過したか否かを判断する。そして、項目更新手段１５は、更新条件判断手段１４が、例えば、項目の内容の直近の更新から所定の期間（例えば、１０分）が経過したと判断したことに応じて、メモリ５０に記憶しているＡＰＩ利用許可回数の差分を用いて項目の内容を更新する。そして、項目更新手段１５は、差分情報２１の更新時刻を更新する。
例えば、項目更新手段１５は、項目ＤＢ３２の項目を安全に更新する項目保持プロセス２２に対してプロセス間通信によって、更新情報（例えば、アプリケーションＩＤ及びＡＰＩ利用許可回数の差分）をキューイングする。項目保持プロセス２２は、レスポンスプロセス４１の各々からキューイングされた更新情報によって、項目の内容を逐次、安全に更新する（例えば、アプリケーションＩＤのＡＰＩ利用許可回数の差分を、対応するアプリケーションＩＤのＡＰＩ利用許可回数に加算する）。
【００３７】
このように、項目の内容は、所定期間ごとに更新される。例えば、ＡＰＩ利用許可上限回数が１００００回、直近のＡＰＩ利用許可回数が９９９９回であった場合に、複数プロセス処理装置１０は、一のレスポンスプロセス４１にＡＰＩの利用許可の応答をすることによって実際にはＡＰＩ利用許可回数が１００００回に達するが、ＡＰＩ利用許可回数を更新するのが所定期間後なので、次の同じアプリケーションＩＤのＡＰＩ利用許可要求に対してもＡＰＩの利用許可の応答をする。
よって、所定期間、項目の内容に所定の誤差が生じるが、複数プロセス処理装置１０は、所定期間ごとに差分情報によってＡＰＩ利用許可回数を更新することによって、誤差が際限なく大きくなることがないように制御したうえで、応答速度を向上させることができる。
【００３８】
上述の所定の更新条件は、差分情報２１が所定以上蓄積されたこと、例えば、項目を更新するための情報がメモリ５０に所定以上（例えば、１００ｋバイト以上）蓄積されたことであってもよい。また、所定の更新条件は、差分情報２１が示す差分が所定以上大きくなったこと、例えば、差分の値が１０以上であることであってもよい。
【００３９】
図４は、本発明の一実施形態に係る複数プロセス処理装置１０の複数のレスポンスプロセス４１の各々の応答処理を示すフローチャートである。なお、レスポンスプロセス４１は、マルチタスクオペレーティングシステムの管理下で生成される。
【００４０】
ステップＳ１０１において、複数プロセス処理装置１０のＣＰＵ（以下、単にＣＰＵという）は、一定範囲の回数制限に係る判断要求を受け付ける。より具体的には、ＣＰＵは、クライアントプログラム６１からの一定範囲の回数制限に係る判断要求（例えば、ＡＰＩ利用許可要求）とアプリケーションＩＤとを受信する。その後、ＣＰＵは、処理をステップＳ１０２に移す。
【００４１】
ステップＳ１０２において、ＣＰＵは、項目の内容を参照する。より具体的には、ＣＰＵは、一定範囲の回数制限に係る判断要求（例えば、ＡＰＩ利用許可要求）を判断するために、項目の内容（例えば、受信したアプリケーションＩＤに対応するＡＰＩ利用許可回数）を参照する。その後、ＣＰＵは、処理をステップＳ１０３に移す。
【００４２】
ステップＳ１０３において、ＣＰＵは、ステップＳ１０２において参照した項目の内容によって一定範囲の回数制限に係る判断を行い、一定範囲の回数制限に係る判断要求に対して許可するか否かを判断する。より具体的には、ＣＰＵは、ステップＳ１０２において参照したＡＰＩ利用許可回数が、受信したアプリケーションＩＤに対応するＡＰＩ利用許可上限回数以内であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ１０４に移し、この判断がＮＯの場合、ＣＰＵは、処理をステップＳ１０６に移す。
【００４３】
ステップＳ１０４において、ＣＰＵは、許可を応答する。より具体的には、ＣＰＵは、ＡＰＩの利用許可をクライアントプログラム６１に送信する。その後、ＣＰＵは、処理をステップＳ１０５に移す。
【００４４】
ステップＳ１０５において、ＣＰＵは、差分情報２１を作成する。より具体的には、ＣＰＵは、受信したアプリケーションＩＤに対応した差分情報２１の差分をカウント（＋１）し、記憶する。その後、ＣＰＵは、処理を終了する。
【００４５】
ステップＳ１０６において、ＣＰＵは、不許可を応答する。より具体的には、ＣＰＵは、ＡＰＩの利用不許可をクライアントプログラム６１に送信する。その後、ＣＰＵは、処理を終了する。
【００４６】
図５は、本発明の一実施形態に係る複数プロセス処理装置１０の複数のレスポンスプロセス４１の各々の更新条件判断処理を示すフローチャートである。
【００４７】
ステップＳ２０１において、ＣＰＵは、差分情報２１を参照する。より具体的には、ＣＰＵは、マルチタスクオペレーティングシステムによって割り当てられたメモリ５０上に記憶している差分情報２１を参照する。その後、ＣＰＵは、処理をステップＳ２０２に移す。
【００４８】
ステップＳ２０２において、ＣＰＵは、ステップＳ２０１において参照した差分情報２１の更新時刻について所定期間が経過か否かを判断する。より具体的には、ＣＰＵは、ステップＳ２０１において参照した更新時刻と、現在の時刻とを比較し、所定の期間（例えば、１０分）が経過しているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０５に移し、この判断がＮＯの場合、ＣＰＵは、処理をステップＳ２０３に移す。
【００４９】
ステップＳ２０３において、ＣＰＵは、差分情報２１が所定以上蓄積か否かを判断する。より具体的には、ＣＰＵは、差分情報２１がメモリ５０に所定以上（例えば、１００ｋバイト以上）蓄積しているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０５に移し、この判断がＮＯの場合、ＣＰＵは、処理をステップＳ２０４に移す。
【００５０】
ステップＳ２０４において、ＣＰＵは、差分情報２１が所定以上大きいか否かを判断する。より具体的には、ＣＰＵは、差分情報２１の差分が所定以上大きい（例えば、１０以上）か否かを判断する。この判断がＹＥＳの場合、ＣＰＵは、処理をステップＳ２０５に移し、この判断がＮＯの場合、ＣＰＵは、処理を終了する。
【００５１】
ステップＳ２０５において、ＣＰＵは、項目の内容を更新する。より具体的には、ＣＰＵは、差分情報２１をプロセス間通信に従って項目保持プロセス２２に送信する。そして、ＣＰＵは、差分情報２１の差分（例えば、ＡＰＩ利用許可回数の差分）をクリアし、更新時刻を更新する。その後、ＣＰＵは、処理を終了する。なお、項目保持プロセス２２は、受信した差分情報２１に基づいて、アプリケーションＩＤに対応する項目の内容を更新する（例えば、アプリケーションＩＤに対応するＡＰＩ利用許可回数に、受信した差分情報２１の差分を加算し、記憶する）。
【００５２】
本実施形態によれば、複数プロセス処理装置１０は、項目ＤＢ３２が保持する項目の内容についてクライアントプログラム６１からの一定範囲の回数制限に係る判断要求に対応する複数のレスポンスプロセス４１を発生させる。そして、複数プロセス処理装置１０は、発生させた複数のレスポンスプロセス４１の各々が、それぞれクライアントプログラム６１から一定範囲の回数制限に係る判断要求を受け付けたことに応じて独立して、他のレスポンスプロセス４１の処理結果を考慮しないで当該判断を行い、クライアントプログラム６１に応答を返す。さらに、複数プロセス処理装置１０は、項目の内容を更新するための差分情報２１を作成してレスポンスプロセス４１の各々が管理するメモリ５０上に保持する。そして、複数プロセス処理装置１０は、差分情報２１について所定の更新条件（例えば、項目の内容の更新から所定期間が経過したこと、差分情報２１が所定以上蓄積されたこと、又は差分情報２１が示す差分が所定以上大きくなったこと）を満たしたか否かを判断し、所定の更新条件を満たしたと判断したことに応じて、レスポンスプロセス４１の各々が保持している差分情報２１を用いて項目の内容を更新する。したがって、複数プロセス処理装置１０は、複数のプロセスによって応答を行う際の判断において互いのプロセスのアクションを所定期間考慮しないで逐次応答することにより、ある程度の不整合を許容しつつもそれが際限なく大きくなることがないように制御し、応答速度を向上させることができる。
【００５３】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００５４】
１０    複数プロセス処理装置
１１    プロセス発生手段
１２    応答手段
１２１  項目受付手段
１２２  項目参照手段
１２３  判断処理実行手段
１２４  要求応答手段
１３    更新用差分情報作成手段
１４    更新条件判断手段
１５    項目更新手段
２１ａ、２１ｂ、２１ｎ  差分情報
２２    項目保持プロセス
３１    ディスク装置
３２    項目ＤＢ
４１ａ、４１ｂ、４１ｎ  レスポンスプロセス
５０    メモリ
６０    クライアント装置
６１    クライアントプログラム
【図１】
0005138026.tif 000002
【図２】
0005138026.tif 000003
【図３】
0005138026.tif 000004
【図４】
0005138026.tif 000005
【図５】
0005138026.tif 000006