特許第6404154号(P6404154)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルプス電気株式会社の特許一覧

特許6404154リクエスト処理装置、その方法およびプログラム
<>
  • 特許6404154-リクエスト処理装置、その方法およびプログラム 図000002
  • 特許6404154-リクエスト処理装置、その方法およびプログラム 図000003
  • 特許6404154-リクエスト処理装置、その方法およびプログラム 図000004
  • 特許6404154-リクエスト処理装置、その方法およびプログラム 図000005
  • 特許6404154-リクエスト処理装置、その方法およびプログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6404154
(24)【登録日】2018年9月21日
(45)【発行日】2018年10月10日
(54)【発明の名称】リクエスト処理装置、その方法およびプログラム
(51)【国際特許分類】
   G06F 9/54 20060101AFI20181001BHJP
   G06F 13/00 20060101ALI20181001BHJP
【FI】
   G06F9/54 B
   G06F13/00 353R
【請求項の数】9
【全頁数】12
(21)【出願番号】特願2015-57963(P2015-57963)
(22)【出願日】2015年3月20日
(65)【公開番号】特開2016-177602(P2016-177602A)
(43)【公開日】2016年10月6日
【審査請求日】2017年11月22日
(73)【特許権者】
【識別番号】000010098
【氏名又は名称】アルプス電気株式会社
(74)【代理人】
【識別番号】100108006
【弁理士】
【氏名又は名称】松下 昌弘
(74)【代理人】
【識別番号】100085453
【弁理士】
【氏名又は名称】野▲崎▼ 照夫
(74)【代理人】
【識別番号】100135183
【弁理士】
【氏名又は名称】大窪 克之
(74)【代理人】
【識別番号】100120204
【弁理士】
【氏名又は名称】平山 巌
(72)【発明者】
【氏名】兼國 雄介
(72)【発明者】
【氏名】村田 淳
(72)【発明者】
【氏名】高橋 将長
【審査官】 大桃 由紀雄
(56)【参考文献】
【文献】 特開平09−198347(JP,A)
【文献】 特開2011−227639(JP,A)
【文献】 特開平03−237540(JP,A)
【文献】 国際公開第2008/105099(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/54
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
アプリケーションプログラムからのリクエストを一時的に保存するキューと、
前記キューを管理する管理部と
を有するリクエスト処理装置であって、
前記管理部は、
前記キューに保存された前記リクエストがデキューされて当該リクエストを処理するファームウェアに送られると、その旨を示すデキュー通知を前記アプリケーションプログラムに送り、
前記ファームウェアからのリクエストに応じてハードウェアモジュールが処理を行い、当該ハードウェアモジュールに複数のプロファイルが規定されている場合に、
前記複数のプロファイル毎に前記キューが設けられ、
前記管理部は、前記複数のプロファイル毎に、当該プロファイルに対応した前記キューを管理することを特徴とするリクエスト処理装置。
【請求項2】
前記管理部は、
前記ファームウェアから前記リクエストに応じた処理が終了した旨の通知を受けると、その旨を示す処理終了通知を前記アプリケーションプログラムに提供することを特徴とする請求項1に記載のリクエスト処理装置。
【請求項3】
前記管理部は、APIであり、
前記アプリケーションプログラムと、前記管理部の処理を記述した管理プログラムと、前記キューとが保存されるメモリと、
前記アプリケーションプログラムおよび前記管理プログラムを実行する処理部とを備えることを特徴とする請求項1または請求項2に記載のリクエスト処理装置。
【請求項4】
前記アプリケーションプログラムは、前記キューに前記リクエストを提供してから第1の所定時間以内に前記デキュー通知を受けない場合に、第1のタイムアウト処理を行うことを特徴とする請求項1〜3のいずれかに記載のリクエスト処理装置
【請求項5】
前記管理部は、前記ファームウェアから前記リクエストに応じた処理が終了した旨の通知を受けると、その旨を示す処理終了通知を前記アプリケーションプログラムに提供し、
前記アプリケーションプログラムは、前記デキュー通知を受けてから第2の所定時間以内に前記処理終了通知を受けない場合に、第2のタイムアウト処理を行うことを特徴とする請求項1〜4のいずれかに記載のリクエスト処理装置。
【請求項6】
前記管理部は、前記デキュー通知を複数の前記アプリケーションプログラムにブロードキャストすることを特徴とする請求項1〜のいずれかに記載のリクエスト処理装置。
【請求項7】
前記管理部は、前記ファームウェアから前記リクエストに応じた処理が終了した旨の通知を受けると、その旨を示す処理終了通知を複数の前記アプリケーションプログラムにブロードキャストすることを特徴とする請求項1〜のいずれかに記載のリクエスト処理装置。
【請求項8】
処理部が、アプリケーションプログラムからのリクエストを一時的にキューに保存する第1の工程と、
前記処理部が、前記第1の工程で前記キューに保存された前記リクエストをデキューして、当該リクエストを処理するファームウェアに送る第2の工程と、
前記処理部が、前記第2の工程で前記デキューされたリクエストが前記ファームウェアに送られたことを示すデキュー通知を前記アプリケーションプログラムに送る第3の工程とを有し、
前記ファームウェアからのリクエストに応じて処理を行うハードウェアモジュールに複数のプロファイルが規定されており、
前記複数のプロファイル毎に前記キューが設けられており、
前記処理部が、前記複数のプロファイル毎に、当該プロファイルに対応した前記キューを管理する処理として、前記第1の工程、前記第2の工程及び前記第3の工程を実行する、
リクエスト処理方法。
【請求項9】
請求項8に記載のリクエスト処理方法を前記処理部に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リクエスト(処理要求)を処理するリクエスト処理装置、その方法およびプログラムに関するものである。
【背景技術】
【0002】
アプリケーションプログラムが、ソフトウェアやハードウェアのリソースを使う場合に、当該アプリケーションプログラムが出した複数のリクエストをキューに保存し、リソースが使用可能になった場合に、キューに保存されたリクエストをAPI(Application Programming Interface)が順に読みだしてリソースに提供するシステムがある。
このようなシステムでは、リクエストがキューに保存されるエンキュー時刻を管理し、エンキュー時刻と現在時刻との比較し、エンキューから所定時間経過しても、そのリクエストに対応した処理終了通知を受けない場合には、タイムアウトが発生したことを判断して所定のタイムアウト処理を行う。これにより、トランザクションに依存しない独立性の高いプログラム開発を可能とした。
当該システムでは、同じプロファイルにおいて、一つのリクエストにリソースを使用中に、次のリクエストが発行された場合に、エラーメッセージを発行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−195360号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のシステムでは、キューにリクエストをエンキューするアプリケーションプログラムと、デキューするAPIとが独立していると、アプリケーションプログラムは、リクエストがデキューされた時刻を把握できない。そのため、アプリケーションプログラムが、リクエストがキューに留まっている時間を基にしたタイムアウト処理と、リクエストがAPIによってデキューされて実行後の時間を基にしたタイムアウト処理とを区別して行うことができない。すなわち、タイムアウトの原因を特定できず、その原因に応じた適切なタイムアウト処理ができないという問題がある。
【0005】
本発明はかかる事情に鑑みてなされたものであり、その目的は、タイムアウトの原因に応じた適切なタイムアウト処理をアプリケーションプログラムが行うことができるリクエスト処理装置、その方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上述した従来技術の問題点を解決し、上述した目的を達成するために、本発明のリクエスト処理装置は、アプリケーションプログラムからのリクエストを一時的に保存するキューと、前記キューを管理する管理部とを有するリクエスト処理装置であって、前記管理部は、前記キューに保存された前記リクエストがデキューされて当該リクエストを処理するファームウェアに送られると、その旨を示すデキュー通知を前記アプリケーションプログラムに送る。
【0007】
この構成によれば、アプリケーションプログラムは、管理部から受けたデキュー通知を基に、自らが出したリクエストがキューからデキューされた時刻を把握できる。これにより、アプリケーションプログラムは、リクエストがキューに留まった状態の第1のタイムアウト処理と、当該リクエストがデキューされた後にモジュールで処理完了されるまでの第2のタイムアウト処理とを個別に行うことができる。リクエスト処理システムでは、個々のアプリケーションプログラムは管理部からのデキュー通知を管理すればよく、キューを直接調べる必要がなくなるので、全体としての負荷を軽減できる。
【0008】
好適には本発明のリクエスト処理装置の前記管理部は、前記ファームウェアから前記リクエストに応じた処理が終了した旨の通知を受けると、その旨を示す処理終了通知を前記アプリケーションプログラムに提供する。
この構成によれば、アプリケーションブログラムは、自らが出したリクエストの処理終了通知を基に、当該リクエストがデキューされた後に処理終了通知が一定時間以上ない場合に、それに対応したタイムアウト処理を行うことができる。
【0009】
好適には本発明のリクエスト処理装置の前記管理部は、APIであり、前記アプリケーションプログラムと、前記管理部の処理を記述した管理プログラムと、前記キューとが保存されるメモリと、前記アプリケーションプログラムおよび前記管理プログラムを実行する処理部とを備える。
この構成によれば、ソフトウェア階層のAPIの機能として管理部を実現できる。
【0010】
好適には本発明のリクエスト処理装置の前記アプリケーションプログラムは、前記キューに前記リクエストを提供してから第1の所定時間以内に前記デキュー通知を受けない場合に、第1のタイムアウト処理を行う。
この構成によれば、アプリケーションプログラムは、自らが出したリクエストがキューに第1の所定時間を超えて留まった場合に対応した適切な第1のタイムアウト処理を行うことができる。
【0011】
好適には、本発明のリクエスト処理装置の前記アプリケーションプログラムは、前記デキュー通知を受けてから第2の所定時間以内に前記処理終了通知を受けない場合に、第2のタイムアウト処理を行う。
この構成によれば、アプリケーションプログラムは、自らが出したリクエストがキューから出された処理された場合に、その処理終了が第2の所定時間を超えた場合に対応した適切な第2のタイムアウト処理を行うことができる。
【0012】
好適には本発明のリクエスト処理装置は、前記ファームウェアからのリクエストに応じてハードウェアモジュールが処理を行い、当該ハードウェアモジュールに複数のプロファイルが規定されている場合に、前記複数のプロファイル毎に前記キューが設けられ、前記管理部は、前記複数のプロファイル毎に、当該プロファイルに対応した前記キューを管理する。
この構成によれば、複数のプロファイル毎にキューの管理を行うことができる。
【0013】
好適には本発明のリクエスト処理装置の前記管理部は、前記デキュー通知を複数の前記アプリケーションプログラムにブロードキャストする。これより、管理部の処理負担を軽減できる。
好適には本発明のリクエスト処理装置の前記管理部は、前記処理終了通知を複数の前記アプリケーションプログラムにブロードキャストする。これより、管理部の処理負担を軽減できる。
【0014】
本発明のリクエスト処理方法は、処理部が、アプリケーションプログラムからのリクエストを一時的にキューに保存する第1の工程と、処理部が、前記第1の工程で前記キューに保存された前記リクエストをデキューして、当該リクエストを処理するファームウェアに送る第2の工程と、処理部が、前記第2の工程で前記デキューされたリクエストが前記ファームウェアに送られたことを示すデキュー通知を前記アプリケーションプログラムに送る第3の工程とを有し、前記ファームウェアからのリクエストに応じて処理を行うハードウェアモジュールに複数のプロファイルが規定されており、前記複数のプロファイル毎に前記キューが設けられており、前記処理部が、前記複数のプロファイル毎に、当該プロファイルに対応した前記キューを管理する処理として、前記第1の工程、前記第2の工程及び前記第3の工程を実行する、リクエスト処理方法である。
【0015】
本発明のプログラムは、上記リクエスト処理方法を前記処理部に実行させるためのプログラムである。
【発明の効果】
【0016】
本発明によれば、タイムアウトの原因に応じた適切なタイムアウト処理をアプリケーションプログラムが行うことができるリクエスト処理装置、その方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0017】
図1】本発明の実施形態に係るリクエスト処理システムの機能ブロック図である。
図2】メモリに記憶され、処理部で実行されるプログラムPRG等の階層を説明するための図である。
図3】APIの管理部の処理を説明するためのフローチャートである。
図4図1および図2に示すリクエスト処理システムにおけるリクエストREQおよび通知の流れを説明するための機能ブロック図である。
図5】複数のリクエストREQが発生した場合におけるリクエスト処理システムの処理の流れを説明するためのフロー図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態に係るリクエスト処理システムについて説明する。
図1は、本発明の実施形態に係るリクエスト処理システム1の機能ブロック図である。
図1に示すように、リクエスト処理システム1は、例えば、通信部11、インタフェース13、メモリ15および処理部17を有する。
通信部11は、例えば、Bluetooth(登録商標)等の通信用のハードウェアである。
インタフェース13は、外部装置との間でデータの入出力を行う。
メモリ15は、処理部17が実行するプログラムPRG、並びに処理部17の処理に使われるデータや処理結果のデータを記憶する。
処理部17は、プログラムPRGを実行し、本実施形態で説明する各種の処理を実行する。プログラムPRGには、アプリケーションプログラム31、管理部53を実現する管理プログラム等が含まれる。
【0019】
図2は、メモリ15に記憶され、処理部17で実行されるプログラムPRG等の階層(オペレーティングシステムの構造)を説明するための図である。
図2に示すように、当該プログラム階層では、例えば、アプリケーションプログラム31、アプリケーションフレームワーク33、ライブラリ35、ランタイム37、API39、ファームウェア41およびハードウェアモジュール43が上位から下位に向けて順に設けられている。
【0020】
アプリケーションプログラム31は、利用者がリクエスト処理システム1で実行したい作業を実施する機能を直接的に有するソフトウェアである。
アプリケーションフレームワーク33は、プログラミングにおいて、特定のオペレーティングシステムのためのアプリケーションの標準構造を実装するのに使われるクラスやライブラリの集まりである。
リクエスト処理システム1では、アプリケーションプログラム31として、複数のアプリケーションプログラムAPを有し、これらがアプリケーションフレームワーク33およびライブラリ35を介してAPI39に対して、並列に(同時期に)にリクエスト(メッセージ)REQを送ることを想定している。リクエストREQには、命令やオペランド等が含まれる。
【0021】
ライブラリ35は、汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたものである。
ランタイム37は、コンピュータプログラムの実行時に必要となるソフトウェア部品(モジュール)である。
【0022】
API39は、リクエスト処理システム1(コンピュータ)のハードウェアとそのコンピュータ上で動作するソフトウェアの間に存在するソフトウェアで実装した抽象化レイヤーである。 オペレーティングシステムのカーネルからハードウェア毎に異なる差異を隠蔽する機能を持ち、それによってカーネルコードは異なるハードウェアのシステム上で動作してもほとんど変更する必要がなくなる。
API39としては、例えば、Android(登録商標)では、HAL(Hardware Abstract Layer)が用いられる。
API39は、キュー51を管理する管理部53を有する。
【0023】
ファームウェア41は、例えば、API39からのリクエストREQに応じて、ハードウェアモジュール43に直接アクセスするコンポーネントである。
【0024】
ハードウェアモジュール43は、例えば、図1に示す通信部11である。ハードウェアモジュール43は、ファームウェア41からのリクエストREQに応じた処理を行う。
ハードウェアモジュール43は、例えば、様々なデバイスでの通信に使用され、機器の種類ごとに策定されたプロトコルがある。本実施形態では、これらの使用方法をプロファイル (Profile)と呼び、通信しようとする機器同士が同じプロファイルを持っている場合に限り、そのプロファイルの機能を利用した通信を行うことができる。
ハードウェアモジュール43は、例えば、Bluetooth等の通信モジュールである。
Bluetooth対応機種であっても利用する機器の双方が適切なプロファイルに対応している必要がある。本実施形態では、ハードウェアモジュール43に複数のプロファイルPRFが規定されている。
【0025】
キュー51は、図2に示す階層のアプリケーションフレームワークで実現される。
キュー51は、アプリケーションプログラム31からのリクエストREQを一時的に保存する。リクエスト処理システム1では、キュー51にリクエストREQが保存されるエンキュー時刻と、キュー51からリクエストREQがファームウェア41に出されるデキュー時刻とが管理される。
キュー51は、上記複数のプロファイルPRF毎に設けられている。管理部53は、上記複数のプロファイルPRF毎に、当該プロファイルPRFに対応したキュー51を管理する。
【0026】
以下、API39の処理について詳細に説明する。
図3は、API39の管理部53の処理を説明するためのフローチャートである。
ステップST1:
管理部53は、キュー51にリクエストREQが保存されているか否かを判定し、肯定判定である場合にはステップST2の進み、否定判定である場合にはステップST1に戻る。
【0027】
ステップST2:
管理部53あるいはその他のプログラムは、キュー51からリクエストREQをデキューしてファームウェア41に出力する。
【0028】
ステップST3:
管理部53は、キュー51からリクエストREQがデキューされると、その旨を示すデキュー通知SMをアプリケーションプログラム31に出す。当該デキュー通知SMには、リクエストREQの識別情報(例えば、プロセス識別子)が含まれる。なお、デキュー通知SMに、デキューされた時刻情報を含めてもよい。
【0029】
ステップST4:
API39は、ファームウェア41から処理終了通知CFMを受けたか否かを判定し、肯定判定の場合には、ステップST5に進み、否定判定の場合は当該判定を繰り返す
【0030】
ステップST5:
API39は、処理終了通知ACTIONを、アプリケーションプログラム31に出す。処理終了通知ACTIONには、リクエストREQの識別情報(例えば、プロセス識別子)が含まれる。処理終了通知ACTIONには処理終了時刻を含めてもよい。
【0031】
以上説明したように、管理部53は、アプリケーションプログラム31に対してリクエストREQの処理終了通知ACTIONの他に、キュー51からリクエストREQがデキューされたことを示すデキュー通知SMをアプリケーションプログラム31に送る。
【0032】
図4は、図1および図2に示すリクエスト処理システム1におけるリクエストREQおよび通知の流れを説明するための機能ブロック図である。
図4に示す処理は、プロファイルPRF毎に行われる。
アプリケーションプログラム31が、リクエストREQを図2に示すアプリケーションフレームワーク33に出すと、それがキュー51にエンキューされて一時的に保存される。
そして、キュー51に保存されたリクエストREQがデキューされて、当該リクエストREQを処理するファームウェア41に提供される。ファームウェア41は、キュー51からデキューされたリクエストREQをハードウェアモジュール43に実行させる。
【0033】
管理部53は、キュー51からリクエストREQがデキューされると、その旨を示すデキュー通知SMをアプリケーションプログラム31に出す。
【0034】
ハードウェアモジュール43は、ファームウェア41からのリクエストREQに応じて処理を実行し、その処理が終了すると、その旨あるいは処理結果を含む処理終了通知CFMをファームウェア41に出す。
ファームウェア41は、ハードウェアモジュール43においてリクエストREQに応じた処理が終了すると、その旨を示す処理終了通知CFMをAPI39に出す。
【0035】
管理部53は、ファームウェア41から処理終了通知CFMを受けると、その旨を示す処理終了通知ACTIONを、アプリケーションプログラム31に出す。
【0036】
アプリケーションプログラム31は、上述したように管理部53から受けたデキュー通知SMおよび処理終了通知ACTIONを基に処理を行う。
例えば、アプリケーションプログラム31は、キュー51にリクエストREQを提供してから第1の所定時間以内にデキュー通知SMを受けなけない場合に、第1のタイムアウト処理を行う。
また、アプリケーションプログラム31は、デキュー通知SMを受けてから第2の所定時間以内に処理終了通知ACTIONを受けなけない場合に、第2のタイムアウト処理を行う。
【0037】
このように、リクエスト処理システム1では、アプリケーションプログラムは、キュー51のエンキューからデキューまでのタイムアウト管理と、デキューから処理終了までのタイムアウト管理を別々に行うことができる。
すなわち、アプリケーションプログラム31は、管理部53から受けたデキュー通知SMおよび処理終了通知ACTIONを基に、自らが出したリクエストREQがキュー51にエンキューされた時刻(自らがアプリケーションフレームワーク33にリクエストREQを送った時刻)と、当該リクエストREQがキュー51からデキューされた時刻(デキュー通知受信時刻)と、リクエストREQに応じた処理が終了した処理終了時刻(処理終了通知受信時刻)とを把握できる。
【0038】
そのため、アプリケーションプログラム31は、リクエストREQがキュー51に留まった状態の第1のタイムアウト処理と、当該リクエストREQがデキューされた後にハードウェアモジュール43で処理完了されるまでの第2のタイムアウト処理とを個別に行うことができる。
リクエスト処理システム1では、個々のアプリケーションプログラムAPはAPI39からのデキュー通知SMと処理終了通知ACTIONを管理すればよく、キュー51を直接調べる必要がなくなるので、システム全体としての負荷を軽減できる。
【0039】
図5は、複数のリクエストREQが発生した場合におけるリクエスト処理システム1の処理の流れを説明するためのフロー図である。
図5に示す例では、アプリケーションプログラム31として、アプリケーションプログラムAP(1)とAP(2)とが動作している。
なお、アプリケーションプログラムAP(1),AP(2)とAPI39との処理はアプリケーションフレームワーク33およびライブラリ35を介して行われるが、その記載は省略する。
【0040】
アプリケーションプログラムAP(1)が、リクエストREQ(1)をAPI39に出すと、それがキュー51にエンキューされて一時的に保存される(ステップST11)。
そして、キュー51に保存されたリクエストREQ(1)がデキューされて、当該リクエストREQ(1)を処理するファームウェア41に提供される(ステップST12)。
管理部53は、キュー51からリクエストREQ(1)がデキューされると、その旨を示すデキュー通知SM(1)をアプリケーションプログラム31にブロードキャストし、アプリケーションプログラムAP(1)がそれを受け取る(ステップST13)。
【0041】
ファームウェア41は、キュー51からデキューされたリクエストREQ(1)をハードウェアモジュール43に実行させる(ステップST14)。
【0042】
次に、アプリケーションプログラムAP(2)は、リクエストREQ(2)をアプリケーションフレームワーク33に出すと、それがキュー51にエンキューされて一時的に保存される(ステップST15)。
また、ハードウェアモジュール43が、リクエストREQ(1)の処理を終了し、その旨を示す処理終了通知CFM(1)をファームウェア41に出す(ステップST16)。そして、当該処理終了通知CFM(1)が、ファームウェア41から管理部53に送られ、管理部53からアプリケーションプログラム31に処理終了通知ACTION(1)がブロードキャストされる(ステップST17,ST18)。そして、アプリケーションプログラムAP(1)が処理終了通知ACTION(1)を受け取る。
【0043】
その後、ステップST15でキュー51に保存されたリクエストREQ(2)がデキューされて、当該リクエストREQ(2)を処理するファームウェア41に提供される(ステップST19)。
管理部53は、キュー51からリクエストREQ(2)がデキューされると、その旨を示すデキュー通知SM(2)をアプリケーションプログラム31にブロードキャストする(ステップST20)。アプリケーションプログラムAP2がデキュー通知SM(2)を受け取る。
【0044】
ファームウェア41は、キュー51からデキューされたリクエストREQ(2)をハードウェアモジュール43に実行させる(ステップST21)。
そして、ハードウェアモジュール43が、リクエストREQ(2)の処理を終了し、その旨を示す処理終了通知CFM(2)をファームウェア41に出す(ステップST22)。そして、当該処理終了通知CFM(2)が、ファームウェア41から管理部53に送られ、管理部53からアプリケーションプログラム31に処理終了通知ACTION(2)がブロードキャストされる。そして、アプリケーションプログラムAP(2)が処理終了通知ACTION(2)を受け取る。
【0045】
以上説明したように、リクエスト処理システム1では、キュー51からリクエストREQがデキューされると、キュー51からアプリケーションプログラム31にデキュー通知SMが出される。また、ハードウェアモジュール43においてリクエストREQの処理が終了すると、管理部53からアプリケーションプログラム31に処理終了通知ACTIONが出される。これにより、アプリケーションプログラム31は、デキュー通知SMを基に、自らが出したリクエストREQがキュー51からデキューされた時刻を把握できる。そのため、アプリケーションプログラム31は、リクエストREQがキューに留まった状態の第1のタイムアウト処理と、当該リクエストがデキューされた後にモジュールで処理完了されるまでの第2のタイムアウト処理とを個別に行うことができる。例えば、アプリケーションプログラムAPは、デキュー通知SMを受けるまではタイムアウト処理を行わないということもできる。リクエスト処理システム1では、個々のアプリケーションプログラムAPは管理部53からのデキュー通知SMを管理すればよく、キューを直接調べる必要がなくなるので、全体としての負荷を軽減できる。
【0046】
また、リクエスト処理システム1によれば、プロファイルPRF毎にキュー51を設けてキュー51で管理することで、異なるプロファイルの競合しないリクエストREQを並列に処理でき、リソースの有効活用を図れる。
【0047】
また、リクエスト処理システム1によれば、デキュー通知SMおよび処理終了通知ACTIONは管理部53からアプリケーションプログラム31にブロードキャストされる。そのため、管理部53の監視に伴う処理負担を軽減できる。
【0048】
本発明は上述した実施形態には限定されない。
すなわち、当業者は、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し、様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
例えば、上述した実施形態では、図2に示すプログラム階層のAPI39として管理部53を実現する場合を例示したが、アプリケーションプログラム31からのリクエストREQを一括して受けるその他の機能モジュールとして実現してもよい。
また、上述した図5の例では、異なるアプリケーションプログラムAP(1),(2)が競合するリクエストREQ(1),REQ(2)を出す場合を例示したが、一つのアプリケーションプログラムAPが競合するリクエストREQを出してもよい。
【産業上の利用可能性】
【0049】
本発明は、複数のリクエストを処理するシステムに適用可能である。
【符号の説明】
【0050】
1…リクエスト処理システム
11…通信部
13…インタフェース
15…メモリ
17…処理部
31…アプリケーションプログラム
33…アプリケーションフレームワーク
37…ランタイム
39…API
41…ファームウェア
43…ハードウェアモジュール
51…キュー
53…管理部
PRG…プログラム
AP…アプリケーションプログラム
PRF…プロファイル

図1
図2
図3
図4
図5