JP4009192B2 - 効率的なタイマ管理システム - Google Patents
効率的なタイマ管理システム Download PDFInfo
- Publication number
- JP4009192B2 JP4009192B2 JP2002530979A JP2002530979A JP4009192B2 JP 4009192 B2 JP4009192 B2 JP 4009192B2 JP 2002530979 A JP2002530979 A JP 2002530979A JP 2002530979 A JP2002530979 A JP 2002530979A JP 4009192 B2 JP4009192 B2 JP 4009192B2
- Authority
- JP
- Japan
- Prior art keywords
- timer
- application
- state machine
- state
- asynchronous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Circuits Of Receivers In General (AREA)
- Paper (AREA)
- Control Of Motors That Do Not Use Commutators (AREA)
- Communication Control (AREA)
- Electric Clocks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、データ処理システムのタイマの管理の分野に関し、具体的には、同期式システムと非同期式システムの両方で使用されるタイマ管理システムに関する。
【0002】
【従来の技術】
タイマは、特定の時間の瞬間にまたは選択された時間間隔の後に、割込みまたはタイムアウト表示を提供するためにセットされることができるデバイスである。タイマは、非常に多数の同時に発生するタスクまたはイベントを監督して、それらが所定の遅延以内に発生したかどうかを検出することを通常のプロトコルが必要とするデータ処理システムに必要である。たとえば、アプリケーションが開始操作を送って、対応するイベントを監督するためにタイマを起動するすることができる。イベントの監視が、異なる理由のために割り込まれなければならない時には、対応するアプリケーションが、停止操作を生成することができる。少し後に、対応するイベントの監視を再び開始することが要求される可能性があり、その場合には、アプリケーションが開始操作を生成することができる。イベントに関連付けられたタイマが、まだ動作中である間に、アプリケーションが対応するイベントのタイミングを遅らせるために、再開始操作を要求する場合がある。
【0003】
データ処理システム内の、VxWorks(商標)、OSE、およびLynxなどのリアルタイム・オペレーティング・システム(RTOS)は、システムのハードウェアおよびソフトウェアのツール管理の基本ソフトウェアであり、たとえばメモリ管理、タスク管理、データ入出力管理、および、表示画面の処理およびマウスの操作のユーザ・インターフェースなどのハードウェア・リソース管理機能を提供する。オペレーティング・システムには、さらに、データ処理システム内のアプリケーション・プログラムによって起動された、停止された、アイドルである、などの複数のタイマを管理する、タイマ管理プログラムなどのモジュールすなわち、タイマ管理システムを含めることができる。たとえば、ワード・プロセッシング・ソフトウェア、データベース・ソフトウェア、表計算ソフトウェアなどのアプリケーション・プログラムが、OS上の階層ソフトウェア配置の最上層に常駐する。
【0004】
従来技術のタイマ管理システムは、同期式すなわち単一タスク、または非同期式すなわちマルチタスクのいずれかのデータ処理システムで使用される。同期式システムでは、タイマが満了する時に、アプリケーションすなわちタイマのユーザが、一般にタイマ・メッセージと称するメッセージによって通知される。非同期式システムでは、タイマが満了する時に、タイマ・メッセージが、アプリケーションすなわちタイマのユーザに送られる前に、キューに保管される可能性がある。アプリケーションがタイマ・メッセージを受け取る前にタイマを停止した場合には、タイマはアイドル状態に戻る。しかし、いくつかのオペレーティング・システムは、アプリケーションがタイマ・メッセージを受け取る前に満了したタイマに対する操作を実行した時に、タイマ・メッセージをキューから除去することを許可しない。その後、タイマ・メッセージ内の特殊な状態変数によって、それが不当タイムアウト・メッセージであるという事実が示される。同期式システムでは、この問題が発生しない。
【0005】
【発明が解決しようとする課題】
したがって、非同期式アプリケーションが非同期式システム内のタイマに同期式に作用する、同期式システムと非同期式システムの両方で使用されるタイマ管理システムを開発することが望ましい。アプリケーションに対して透過的な、これらの不当タイムアウト・メッセージをフィルタリングする機能を開発することが望ましい。さらに、新しいシステム・メモリの割振りなしにタイマを再初期化できるようにすることが望ましい。
【0006】
【課題を解決するための手段】
上で概要を示した問題は、少なくとも部分的に、いくつかの実施形態で、マルチタスク・システムすなわち非同期式システムの非同期式アプリケーションが同期式にタイマに作用できるようにするハンドル機能によって解決することができる。すなわち、非同期式システムのタイマがタイムアウトする時に、ハンドル機能が、非同期式アプリケーションが同期式にタイマに作用できるようにすることによって、不当タイムアウト・メッセージをフィルタリングする。
【0007】
一態様では、本発明は、アプリケーションがタイマを機能的に操作できるようにする同期式機能の組を提供するアプリケーション・プログラム・インターフェース(API)を含む、同期式システムと非同期式システムの両方でタイマを管理するタイマ管理システムを提供する。タイマ管理システムには、さらに、タイマ関連情報を保管するタイマ・データベースが含まれる。さらに、タイマ管理システムには、タイマの満了を検出するタイマ・サービスが含まれる。タイマ・サービスのハンドル機能を用いると、非同期式アプリケーションすなわち非同期式システム内のアプリケーションが同期式にタイマに作用できるようになる。タイマが満了した時に、タイマ・サービスのハンドル機能を用いると、非同期式アプリケーションが、不当タイムアウト・メッセージをこうむらずに、満了したタイマに作用できるようになる。
【0008】
第2の態様では、本発明は、同期式システムと非同期式システムの両方でタイマを管理する方法であって、アプリケーション・プログラム・インターフェース(API)を介してアプリケーションによってシステム・メモリの割り振られたブロックからタイマを作成するステップと、前記タイマを活動化するステップと、前記タイマが満了するステップと、前記タイマが満了する時に特定のキューにタイムアウト・メッセージを送るステップであって、前記タイマが非同期式状態機械の満了状態に移行され、ハンドル機能が、前記アプリケーションが不当タイムアウト・メッセージをこうむらずに前記満了したタイマに作用できるようにする、ステップとを含む方法を提供する。
【0009】
本発明の一実施形態では、タイマを、タイマを作成するのに使用されたものと同一のメモリの割り振られたブロックから再初期化することができる。本発明のもう1つの実施形態では、タイマを作成するのに使用されたものと同一のメモリの割り振られたブロックを使用して、タイムアウト・メッセージを送ることができる。
【0010】
本発明の好ましい実施形態を、例として、添付図面に関して詳細に説明する。
【0011】
【発明の実施の形態】
本発明には、非同期式システムと同期式システムの両方でタイマを管理するタイマ管理のシステムおよび方法が含まれる。本発明の一実施形態では、タイマ管理システムに、アプリケーションがタイマを機能的に操作できるようにする同期式機能の組を提供するアプリケーション・プログラム・インターフェース(API)が含まれる。タイマ管理システムには、さらに、タイマ関連情報を保管するタイマ・データベースが含まれる。さらに、タイマ管理システムに、タイマの満了を検出するタイマ・サービスが含まれる。タイマ・サービスのハンドル機能を用いると、非同期式アプリケーションすなわち、マルチタスク・システム内のアプリケーションが、同期式にタイマに作用できるようになる。すなわち、非同期式システムのタイマがタイムアウトする時に、ハンドル機能を用いると、非同期式アプリケーションが、不当タイムアウト・メッセージをこうむらずに、満了したタイマに作用できるようになる。本発明のもう1つの実施形態では、タイマの作成に使用されたものと同一のメモリの割り振られたブロックから、タイマを再初期化することができる。本発明のもう1つの実施形態では、タイマの作成に使用されたものと同一のメモリの割り振られたブロックを使用して、タイムアウト・メッセージを送ることができる。
【0012】
図1 コンピュータ・システム
図1に、本発明を実践するハードウェア環境を表すデータ処理システム13の通常のハードウェア構成を示す。データ処理システム13は、システム・バス12によってさまざまな他の構成要素に結合される、普通のマイクロプロセッサなどの中央処理装置(CPU)10を有する。VxWorks(商標)、OSE、Lynxなどのリアルタイム・オペレーティング・システム40が、CPU10上で稼動し、図1のさまざまな構成要素の制御を提供し、機能を調整する。「従来の技術」の節で述べたように、タイマ管理プログラムすなわちタイマ管理システムは、オペレーティング・システム40内のモジュールに常駐することができる。もう1つの実施形態では、たとえばタイマ管理システムなどのアプリケーション42がオペレーティング・システム40と共に稼動し、アプリケーション42によって実行されるさまざまな機能を実施するオペレーティング・システム40への出力呼出しを提供する。読取専用メモリ(ROM)16が、システム・バス12に結合され、ROM16には、データ処理システム13のある基本機能を制御する基本入出力システム(「BIOS」)が含まれる。ランダム・アクセス・メモリ(RAM)14、入出力アダプタ18、および通信アダプタ34も、システム・バス12に結合される。オペレーティング・システム40およびアプリケーション42を含むソフトウェア・コンポーネントが、コンピュータ・システムの主記憶であるRAM14にロードされることに留意されたい。入出力アダプタ18は、ディスク・ユニット20および磁気テープ・ドライブ41と通信するsmall computer system interface(「SCSI」)アダプタとすることができる。通信アダプタ34は、バス12を外部ネットワークに相互接続し、データ処理システム13が他のそのようなシステムと通信できるようにする。入出力装置も、ユーザ・インターフェース・アダプタ22およびディスプレイ・アダプタ36を介してシステム・バス12に接続される。ディスプレイ・モニタ38が、ディスプレイ・アダプタ36を介してシステム・バス12に接続される。この形で、ユーザがキーボード24またはマウス26を介してシステム13に入力でき、ディスプレイ38を介してシステム13から出力を受け取ることができる。
【0013】
本発明の好ましい実施形態には、本明細書に記載の1つまたは複数の方法を実行するようにプログラムされたコンピュータ・システムとしての実施形態と、計算機可読記録媒体に記録されたプログラム・コードを含むコンピュータ・プログラム製品としての実施形態とが含まれる。コンピュータ・システム実施形態によれば、1つまたは複数の方法を実行する命令の組が、全般的に上で説明したように構成された1つまたは複数のコンピュータ・システムのランダム・アクセス・メモリ14内に常駐する。コンピュータ・システムによって要求されるまで、命令の組を、たとえばディスク・ドライブ20(ディスク・ドライブ20内での最終的な使用のための光ディスクまたはフロッピ・ディスクなどの取外し可能メモリを含めることができる)などの、別のコンピュータ・メモリにコンピュータ・プログラム製品として保管することができる。さらに、コンピュータ・プログラム製品を、別のコンピュータに保管し、ネットワークまたはインターネットなどの外部ネットワークによってユーザのワーク・ステーションに所望の時に送信することができる。命令の組の物理的保管によって、それが保管される媒体が物理的に変更され、その結果、その媒体がコンピュータ可読情報を担持することを、当業者は諒解するであろう。この変更は、電子的、磁気的、化学的、または他の物理的変更とすることができる。
【0014】
図2 タイマ管理システム
図2に、タイマ管理システム200の実施形態を示す。「従来の技術」の節で述べたように、オペレーティング・システムに、タイマ管理システム200を含むモジュールを含めることができる。オペレーティング・システムは、通常は、データ処理システム13のカーネル内に常駐する。もう1つの実施形態では、タイマ管理システム200を、オペレーティング・システムから独立な通常の階層ソフトウェア配置の最上位層に常駐するアプリケーション・プログラムとすることができる。
【0015】
タイマ管理システム200には、アプリケーション・プログラム・インターフェース(API)220、タイマ・データベース230、およびタイマ・サービス・コンポーネント240が含まれる。API220を用いると、ソフトウェア・アプリケーション210がデータ処理システム13内のタイマを、たとえば起動、停止、再起動、削除など、機能的に操作できるようになる。説明を単純にするために、タイマ管理システム・サービスを使用するソフトウェア・アプリケーション210を、「ユーザ」と呼称する場合があることに留意されたい。API220は、タイマの作成、始動、停止、および削除の同期式機能の組を提供する。一実施形態では、API220を、ダイナミック・リンク・ライブラリ(DLL)ファイルとすることができる。DLLファイルは、それを使用するアプリケーション・プロセスとは別にコンパイルされ、リンクされ、保管される、アプリケーションの間で共用されることができるコードをエクスポートする1つまたは複数の機能を含むファイルである。さらに、API220によって提供される同期式機能の組を用いると、ユーザ・アプリケーション210が、タイマ・データベース230にアクセスできるようになる。タイマ・データベース230は、たとえば作成されたタイマのタイマ・レコードなど、タイマ関連情報のリポジトリとされることができる。タイマ・データベース230を、たとえばリンク・リスト、間隔リストなど、任意の形で構成できることに留意されたい。
【0016】
OSタスクであるタイマ・サービス240は、API220を介してタイマを開始したアプリケーション210のそれぞれに対応するタイマの満了を検出する。タイマ・サービス240は、タイマ・データベース230を維持すると同時に、満了したタイマについてタイマ・データベース230をスキャンする。タイマ・データベース230のスキャンは、規則的な時間間隔で実行されることができる。タイマが満了した場合には、タイマ・サービス240が、タイマ管理システムが単一タスク・システムまたはマルチタスク・システムのどちらで実施されるかに応じて、適当な処置を講じる。単一タスク・システムすなわち同期式システムでは、下で詳細に説明するように、タイマ・サービス240がタイムアウト機能を呼び出して、タイムアウト・メッセージをユーザ・アプリケーション210に送る。マルチタスク・システムすなわち非同期式システムでは、下で詳細に説明するように、タイマ・サービス240が、タイマが満了した場合にアプリケーションのタスクにタイムアウト・メッセージを送る。送られるタイムアウト・メッセージは、図3に関してさらに説明するように、タイマが作成された時に割り振られたメモリのブロックと同一のメモリのブロックである。「従来の技術」の節で述べたように、タイマ・メッセージは、マルチタスク・システムでアプリケーション210に送る前にキューに保管されることができる。アプリケーション210が、タイマ・メッセージを受け取る前にタイマを停止する場合に、タイマはアイドル状態に戻る。しかし、いくつかのオペレーティング・システムは、アプリケーション210が、タイマ・メッセージを受け取る前に満了したタイマに対する操作を実行する時に、タイマ・メッセージをキューから除去することを許可しない。その後、タイマ・メッセージ内の特殊な状態変数によって、それが不当タイムアウト・メッセージであるという事実が示される。非同期式アプリケーション210が非同期式システムでタイマに同期式に作用できるようにすることによって、不当タイムアウト・メッセージを防ぐタイマ管理システム200の詳細な説明を下で示す。さらに、新しいシステム・メモリを割り振らずにタイマを再初期化できるようにするタイマ管理システム200の詳細な説明を下で示す。
【0017】
図3 タイマ管理システムの状態機械の例示
図3に、タイマ管理システム200の動作に使用することができる状態機械300の本発明の実施形態を示す。状態機械300によって、単一タスク・システムすなわち同期式システムと、マルチタスク・システムすなわち非同期式システムの両方のタイマを並行して管理するタイマ管理システム200が示される。状態機械300には、単一タスク状態機械301およびマルチタスク状態機械302が含まれる。単一タスク状態機械301の状態には、状態303、304、および305が含まれる。マルチタスク状態機械302の状態には、状態306、307、308、および309が含まれる。
【0018】
図3を参照すると、状態機械300は、タイマが作成されるまで状態303の非存在(「NE」)にとどまる。すなわち、状態303は、タイマが存在しない状態を表す。タイマが作成(「C」)された時に、状態機械300は状態303から状態304に推移する。状態304は、タイマが作成され、初期化の準備ができている状態を表す。すなわち、タイマはアイドル(「I」)である。一実施形態では、タイマ・サービス240がメモリのブロックからタイマを作成する。タイマ作成のために割り振られるメモリのブロックを、その後、タイマ・データベース230に保管することができる。タイマ作成のために割り振られるメモリのブロックの説明を下でタイムアウト・メッセージのデータ構造に関して示す。
【0019】
タイマが状態304にある間に削除(「D」)される場合には、状態機械300は状態304から状態303に推移する。タイマが状態304にある間に活動化(「A」)される場合には、状態機械300は状態304から状態305に推移する。状態305は、前に作成されたタイマが稼働中(「R」)である状態を表す。タイマが状態305にある間に削除される場合には、状態機械は状態305から状態303に推移する。稼働中のタイマが停止(「O」)される場合には、状態機械300は状態305から状態304に推移する。タイマが状態304で削除されるのではなく活動化される場合には、タイマが新しいシステム・メモリの割振りなしにすなわち同一のシステム・メモリを使用して、再初期化すなわち再起動される。状態305でタイマが満了する場合には、タイムアウト・メッセージ(「Ts」)がアプリケーション210に同期式に通知され、状態機械300は状態305から状態303に推移する。
【0020】
上で述べたように、送られるタイムアウト・メッセージは、タイマが作成された時に割り振られたメモリのブロックと同一のメモリのブロックである。その理由は、タイマを作成するプロシージャがアプリケーション210によって見られない、タイマ・サービス240による使用のための余分なメモリ・スペースを作成するからである。タイムアウト・メッセージのデータ構造400の実施形態の図を図4に示す。タイムアウト・メッセージに、少なくとも2つの別個の部分を含めることができる。アプリケーション部分410に、アプリケーション210に関する情報を含めることができる。単一タスク・システムでは、アプリケーション部分410に、タイムアウト機能と、アプリケーション210によって所有されるコンテキスト・フィールドを含めることができる。マルチタスク・システムでは、アプリケーション部分410に、同一のコンテキスト・フィールドならびに、たとえばメッセージを送るキュー、アプリケーション・タスク識別子などの、アプリケーション210を識別するのに必要な情報を含めることができる。タイマ・サービス部分420には、たとえばタイマ・データベース230に保管されたタイマのメモリ・アドレスへのポインタなど、いくつかの追加フィールドを含めることができる。タイマ・サービス部分420は、アプリケーション210によって見られない。
【0021】
図3を参照すると、アプリケーション210は、タイマが、現在の状態と異なる状態で動作していると誤って信じる可能性がある。たとえば、アプリケーション210は、タイマが実際には状態304でアイドルである時に、タイマが稼働中であると誤って信じる可能性がある。その場合に、アプリケーション210は、アイドル状態のタイマを停止する可能性があり、これは、状態304のアーチ型の線によって表される。さらに、アプリケーション210は、タイマが実際には状態305で稼働中である時に、タイマがアイドルであると誤って信じる可能性がある。その場合に、アプリケーション210は、状態305のアーチ型の線によって示されるように、稼働中の状態のタイマを活動化する可能性がある。
【0022】
マルチタスク・システムすなわち非同期式システムでは、タイムアウト・メッセージが、アプリケーションのタスクに送られる。「従来の技術」の節で述べたように、タイマが、非同期式システムで満了する時には、タイマ・メッセージが、アプリケーション210に送られる前にキューに保管される可能性がある。アプリケーション210が、タイマ・メッセージを受け取る前にタイマを停止する場合に、タイマは、アイドル状態に戻る。しかし、いくつかのオペレーティング・システムは、アプリケーション210が、タイマ・メッセージを受け取る前に、満了したタイマに対する操作を実行する時に、タイマ・メッセージをキューから除去することを許可しない。その後、タイマ・メッセージ内の特殊な状態変数によって、それが不当タイムアウト・メッセージであるという事実が示される。ユーザ・アプリケーション210に透過的なこれらの不当タイムアウト・メッセージをフィルタリングする処理の説明を下で示す。
【0023】
非同期式システムでは、状態305のタイマが満了する時に、タイムアウト・メッセージ(「Tm」)が、キューに置かれる。一実施形態では、タイムアウト・メッセージTmが、アプリケーション210に付加されるシステム・キューに保管される。タイムアウト・メッセージTmを保管するキューを、システム・メモリ内のどこにでも配置することができることに留意されたい。状態305のタイマが非同期式システムで満了する時に、状態機械300は状態305から状態306に推移する。状態306は満了状態(「E」)であり、ここで、タイマは稼動しておらず、タイムアウト・メッセージTmがキューに置かれている。アプリケーション210が、タイムアウト・メッセージTmを受け取るとすぐに、アプリケーション210に透過的なタイマ・サービス240のハンドル機能(「H」)が、非同期式システムのアプリケーション210がタイマに同期式に作用できるようにする。すなわち、ハンドル機能は、状態機械300をマルチタスク状態機械302の状態から単一タスク状態機械301の状態に移行させる。たとえば、アプリケーション210が、状態機械が状態306である時にタイムアウト・メッセージTmを受け取る場合に、ハンドル機能は状態機械300をマルチタスク状態機械302の状態306から単一タスク状態機械301のアイドル状態304に移行させる。
【0024】
非同期式アプリケーション210すなわち非同期式システムのアプリケーションが、たとえばアプリケーション210に付加されたシステム・キューなどのキューに保管されたタイムアウト・メッセージTmを受け取っていない場合に、非同期式アプリケーション210は、タイマが満了したことを知らない可能性がある。非同期式アプリケーション210は、タイマが稼働中であると誤って信じてタイマを停止する可能性がある。非同期式アプリケーション210は、その後、状態306から状態307への推移によって表されるように、タイマがアイドル状態であると信じる可能性がある。状態307は、タイマがアイドル状態であり、タイムアウト・メッセージTmがまだキューにある状態(「IQ」)である。タイムアウト・メッセージがデキューされる時に、非同期式アプリケーション210に透過的なハンドル機能が状態機械300をマルチタスク状態機械302の状態307から単一タスク状態機械301のアイドル状態304に移行させる。状態306である間に、非同期式アプリケーション210がタイマを削除する場合には、状態機械300は状態306から状態308に推移する。状態308は、タイマが削除され、タイムアウト・メッセージTmがまだキューに置かれている状態(「DQ」)である。タイムアウト・メッセージがデキューされる時に、非同期式アプリケーション210に透過的なハンドル機能が状態機械300をマルチタスク状態機械302の状態308から単一タスク状態機械301の非存在状態303に移行させる。状態306である間に、非同期式アプリケーション210がタイマを活動化する場合には、状態機械300が状態306から状態309に推移する。状態309はタイマが稼動状態であり、タイムアウト・メッセージTmがまだキューに置かれている状態(「RQ」)である。タイムアウト・メッセージがデキューされる時に、非同期式アプリケーション210に透過的なハンドル機能が状態機械300をマルチタスク状態機械302の状態309から単一タスク状態機械301の稼働状態305に移行させる。
【0025】
状態307で、非同期式アプリケーション210がタイマを削除する場合には、状態機械300は状態307から状態308に推移する。タイムアウト・メッセージがデキューされる時に、ハンドル機能が状態機械300をマルチタスク状態機械302の状態308から単一タスク状態機械301の非存在状態303に移行させる。状態307にいる間に、非同期式アプリケーション210がタイマを活動化する場合には、状態機械300は状態307から状態309に推移する。タイムアウト・メッセージがデキューされる時に、非同期式アプリケーション210に透過的なハンドル機能が状態機械300をマルチタスク状態機械302の状態309から単一タスク状態機械301の稼動状態305に移行させる。タイマが状態309で再初期化すなわち再起動される時に、タイマが状態304で作成された時に割り振られたシステム・メモリと同一の割り振られたシステム・メモリを使用することに留意されたい。
【0026】
状態309にいる間に、非同期式アプリケーション210がタイマを停止する場合に、状態機械300は状態309から状態307に推移する。タイムアウト・メッセージがデキューされる時に、非同期式アプリケーション210に透過的なハンドル機能が状態機械300をマルチタスク状態機械302の状態307から単一タスク状態機械301のアイドル状態304に移行させる。状態309にいる間に、非同期式アプリケーション210がタイマを削除する場合には、状態機械300は状態309から状態308に推移する。タイムアウト・メッセージがデキューされる時に、非同期式アプリケーション210に透過的なハンドル機能が、状態機械300をマルチタスク状態機械302の状態308から単一タスク状態機械301の非存在状態303に移行させる。
【0027】
単一タスク状態機械301内と同様に、非同期式アプリケーション210が、タイマが実際にはそうでない状態で動作していると誤って信じる可能性がある。たとえば、非同期式アプリケーション210がタイマが実際には状態307でアイドルである時に、タイマが稼働中であると誤って信じる可能性がある。その場合に、非同期式アプリケーション210は状態307でタイマを停止する可能性があり、これは、状態307のアーチ型の線によって表される。さらに、非同期式アプリケーション210は、タイマが実際には状態309で稼働中である時に、タイマがアイドルであると誤って信じる可能性がある。その場合に、非同期式アプリケーション210は、稼動状態のタイマを活動化する可能性があるが、これは、状態309のアーチ型の線によって表される。
【0028】
本発明のタイマ管理のシステムおよび方法を、複数の実施形態に関して説明したが、本明細書に示された特定の形態に制限することは意図されておらず、逆に、請求項によって定義される本発明の趣旨および範囲に正当に含めることができる、代替形態、修正形態、および同等物を含むことが意図されている。見出しが編成のためのみに使用され、説明または請求項の範囲を制限することを意図されていないことに留意されたい。
【図面の簡単な説明】
【図1】 本発明に従って構成されたデータ処理システムを示す図である。
【図2】 タイマ管理システムの実施形態を示す図である。
【図3】 非同期式アプリケーションが非同期式システムで同期式にタイマに作用している、本発明のタイマ管理システムを示す状態機能を示す図である。
【図4】 タイムアウト・メッセージのデータ構造の実施形態を示す図である。
Claims (32)
- 同期式システムおよび非同期式システムの両方でタイマを管理するタイマ管理システムであって、
アプリケーションがタイマを機能的に操作できるようにする同期式機能の組を提供するアプリケーション・プログラム・インターフェース(API)であって、前記アプリケーションが、前記APIを介して前記タイマに対して、システム・メモリの割り振られたブロックから前記タイマを作成する動作と、前記タイマを活動化する動作とを実行する、前記APIと、
タイマ関連情報を保管するタイマ・データベースと、
前記タイマの満了を検出するタイマ・サービス・コンポーネントとを含み、
前記タイマ・サービス・コンポーネントは、前記タイマが満了した場合には、特定のキューにタイムアウト・メッセージを送り、前記タイム・サービス・コンポーネントのハンドル機能により、前記タイマを非同期式状態機械内で満了状態に移行させ、前記アプリケーションが不当タイムアウト・メッセージをこうむらずに満了したタイマに作用できるようにする、
タイマ管理システム。 - 前記特定のキューが前記アプリケーションに付加されるシステム・キューである、請求項1に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記アプリケーションが前記タイムアウト・メッセージを受け取ることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の前記満了状態から同期式状態機械のアイドル状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項1または2に記載のタイマ管理システム。
- 前記アプリケーションが前記タイマを停止することに応答して、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械のアイドル状態に移行される、請求項1ないし3のいずれか一項に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の前記アイドル状態から同期式状態機械のアイドル状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項4に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイマが前記アプリケーションによって削除されることに応答して、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた前記状態から同期式状態機械の非存在状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項4または5に記載のタイマ管理システム。
- 前記タイマが前記アプリケーションによって活動化されることに応答して、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械の稼働中状態に移行される、請求項4に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイマが前記アプリケーションによって削除されることに応答して、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能により、前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態から同期式状態機械の非存在状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項7に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイマが前記アプリケーションによって停止されることに応答して、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械の前記アイドル状態に移行され、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の前記アイドル状態から同期式状態機械のアイドル状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項7に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の前記稼働中状態から同期式状態機械の稼働中状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項7に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記アプリケーションが前記タイマを削除することに応答して、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態から同期式状態機械の非存在状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項1に記載のタイマ管理システム。
- 前記アプリケーションが前記タイマを活動化することに応答して、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械の稼働中状態に移行される、請求項1に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイマが前記アプリケーションによって削除されることに応答して、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態から同期式状態機械の非存在状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項12に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイマが前記アプリケーションによって停止されることに応答して、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械のアイドル状態に移行され、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の前記アイドル状態から同期式状態機械のアイドル状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項12に記載のタイマ管理システム。
- 前記タイマ・サービス・コンポーネントは、前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能により、前記タイマを前記非同期式状態機械の前記稼働中状態から同期式状態機械の稼働中状態に移行させて、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項12に記載のタイマ管理システム。
- 前記APIがDLLファイルである、請求項1ないし15のいずれかに記載のタイマ管理システム。
- 同期式システムおよび非同期式システムの両方でタイマを管理する方法であって、
アプリケーション・プログラム・インターフェース(API)を介してアプリケーションによってシステム・メモリの割り振られたブロックからタイマを作成するステップと、
前記タイマを活動化するステップと、
前記タイマが満了するステップと、
前記タイマが満了する時に特定のキューにタイムアウト・メッセージを送るステップとを含み、
前記タイマが非同期式状態機械の満了状態に移行され、ハンドル機能が、前記アプリケーションが不当タイムアウト・メッセージをこうむらずに前記満了したタイマに作用できるようにする、
方法。 - 前記特定のキューが前記アプリケーションに付加されたシステム・キューである、請求項17に記載の方法。
- 前記タイムアウト・メッセージが前記アプリケーションによって受け取られることに応答して、前記ハンドル機能が前記タイマを前記非同期式状態機械の前記満了状態から同期式状態機械のアイドル状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにするステップをさらに含む、請求項17または18に記載の方法。
- 前記アプリケーションが前記タイマを停止することに応答して、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械のアイドル状態に移行されるステップをさらに含む、請求項17ないし19のいずれか一項に記載の方法。
- 前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能が前記タイマを前記非同期式状態機械の前記アイドル状態から同期式状態機械のアイドル状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項20に記載の方法。
- 前記タイマを前記アプリケーションによって削除するステップであって、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能が前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた前記状態から、同期式状態機械の非存在状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、前記タイマを前記アプリケーションによって削除するステップをさらに含む、請求項20または21に記載の方法。
- 前記タイマを前記アプリケーションによって活動化するステップであって、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械の稼働中状態に移行される、前記タイマを前記アプリケーションによって活動化するステップをさらに含む、請求項20ないし22のいずれか一項に記載の方法。
- 前記タイマを前記アプリケーションによって削除するステップであって、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能が前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態から同期式状態機械の非存在状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、前記タイマを前記アプリケーションによって削除するステップをさらに含む、請求項23に記載の方法。
- 前記タイマを前記アプリケーションによって停止するステップであって、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械の前記アイドル状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能が前記タイマを前記非同期式状態機械の前記アイドル状態から同期式状態機械のアイドル状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、前記タイマを前記アプリケーションによって停止するステップをさらに含む、請求項23に記載の方法。
- 前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能が前記タイマを前記非同期式状態機械の前記稼働中状態から同期式状態機械の稼働中状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項23に記載の方法。
- 前記タイマを前記アプリケーションによって削除するステップであって、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能が前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態から同期式状態機械の非存在状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、前記タイマを前記アプリケーションによって削除するステップをさらに含む、請求項17に記載の方法。
- 前記タイマを前記アプリケーションによって活動化するステップであって、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械の稼働中状態に移行される、前記タイマを前記アプリケーションによって活動化するステップをさらに含む、請求項17に記載の方法。
- 前記タイマを前記アプリケーションによって削除するステップであって、前記タイマが前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能が前記タイマを前記非同期式状態機械の、前記タイマが削除され、前記タイムアウト・メッセージがキューに置かれた状態から同期式状態機械の非存在状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、前記タイマを前記アプリケーションによって削除するステップをさらに含む、請求項28に記載の方法。
- 前記タイマを前記アプリケーションによって停止するステップであって、前記タイマが、前記タイムアウト・メッセージがキューに置かれて、前記非同期式状態機械のアイドル状態に移行され、前記タイムアウト・メッセージがデキューされる時に、前記ハンドル機能が前記タイマを前記非同期式状態機械の前記アイドル状態から同期式状態機械のアイドル状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、前記タイマを前記アプリケーションによって停止するステップをさらに含む、請求項28に記載の方法。
- 前記タイムアウト・メッセージがデキューされることに応答して、前記ハンドル機能が前記タイマを前記非同期式状態機械の前記稼働中状態から同期式状態機械の稼働中状態に移行させ、前記ハンドル機能が、前記アプリケーションが前記タイマに同期式に作用できるようにする、請求項28に記載の方法。
- 同期式システムおよび非同期式システムの両方でタイマを管理する方法を実行するためにその上で稼動するデータ処理システムの動作を制御するコンピュータ・プログラムであって、
アプリケーション・プログラム・インターフェース(API)を介してアプリケーションによってシステム・メモリの割り振られたブロックからタイマを作成するステップと、
前記タイマを活動化するステップと、
前記タイマが満了するステップと、
前記タイマが満了する時に特定のキューにタイムアウト・メッセージを送るステップとを含み、
前記タイマが非同期式状態機械の満了状態に移行され、ハンドル機能が、前記アプリケーションが不当タイムアウト・メッセージをこうむらずに前記満了したタイマに作用できるようにする、
コンピュータ・プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/675,545 US6826761B1 (en) | 2000-09-28 | 2000-09-28 | Efficient timer management system |
PCT/GB2001/004322 WO2002027468A2 (en) | 2000-09-28 | 2001-09-27 | An efficient timer management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004523812A JP2004523812A (ja) | 2004-08-05 |
JP4009192B2 true JP4009192B2 (ja) | 2007-11-14 |
Family
ID=24710963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002530979A Expired - Fee Related JP4009192B2 (ja) | 2000-09-28 | 2001-09-27 | 効率的なタイマ管理システム |
Country Status (9)
Country | Link |
---|---|
US (1) | US6826761B1 (ja) |
EP (1) | EP1410168B1 (ja) |
JP (1) | JP4009192B2 (ja) |
KR (1) | KR100553144B1 (ja) |
AT (1) | ATE290236T1 (ja) |
AU (1) | AU2001290129A1 (ja) |
DE (1) | DE60109215T2 (ja) |
TW (1) | TW525050B (ja) |
WO (1) | WO2002027468A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7275250B1 (en) * | 2001-05-01 | 2007-09-25 | Microsoft Corporation | Method and apparatus for correlating events |
US7100167B2 (en) | 2001-05-01 | 2006-08-29 | Microsoft Corporation | Method and apparatus for creating templates |
US7080376B2 (en) | 2001-09-21 | 2006-07-18 | Intel Corporation | High performance synchronization of accesses by threads to shared resources |
US20050081216A1 (en) * | 2003-10-08 | 2005-04-14 | Sun Microsystems,Inc. | Method, system, and program for calling a target object from a caller object |
US7941688B2 (en) * | 2008-04-09 | 2011-05-10 | Microsoft Corporation | Managing timers in a multiprocessor environment |
US8976035B2 (en) | 2013-03-14 | 2015-03-10 | Freescale Semiconductor, Inc. | Methods and apparatus for sensing motion of a portable container and providing human perceptible indicia based on the sensed motion |
US9733664B1 (en) * | 2013-03-14 | 2017-08-15 | Gamesys Ltd. | Method for expiring fault-tolerant timers using distributed locks |
US9678531B2 (en) | 2014-02-14 | 2017-06-13 | Nxp Usa, Inc. | Methods and apparatus for adaptive time keeping for multiple timers |
US9841780B2 (en) | 2014-07-07 | 2017-12-12 | Nxp Usa, Inc. | Apparatus and method for producing a report including a subset of a plurality of active timers based on a query to accurate quality of service based on the report |
US10798146B2 (en) * | 2015-07-01 | 2020-10-06 | Oracle International Corporation | System and method for universal timeout in a distributed computing environment |
CN109032687B (zh) * | 2018-06-11 | 2021-09-03 | 北京奇艺世纪科技有限公司 | 屏蔽sdk危险调用的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621892A (en) | 1995-10-10 | 1997-04-15 | Intel Corporation | Method and apparatus for managing alerts and events in a networked computer system |
US5768572A (en) * | 1996-02-05 | 1998-06-16 | International Business Machines Corporation | Timer state control optimized for frequent cancel and reset operations |
US6012081A (en) * | 1996-07-03 | 2000-01-04 | Siemens Aktiengesellschaft | Service and event synchronous/asynchronous manager |
US6078747A (en) | 1998-01-05 | 2000-06-20 | Jewitt; James W. | Application program interface to physical devices |
US6349388B1 (en) * | 1999-05-07 | 2002-02-19 | Advanced Micro Devices, Inc. | Timer processing engine for supporting multiple virtual minimum time timers |
US6618805B1 (en) * | 2000-06-30 | 2003-09-09 | Sun Microsystems, Inc. | System and method for simplifying and managing complex transactions in a distributed high-availability computer system |
-
2000
- 2000-09-28 US US09/675,545 patent/US6826761B1/en not_active Expired - Fee Related
-
2001
- 2001-09-25 TW TW090123601A patent/TW525050B/zh not_active IP Right Cessation
- 2001-09-27 AT AT01970009T patent/ATE290236T1/de not_active IP Right Cessation
- 2001-09-27 JP JP2002530979A patent/JP4009192B2/ja not_active Expired - Fee Related
- 2001-09-27 EP EP01970009A patent/EP1410168B1/en not_active Expired - Lifetime
- 2001-09-27 AU AU2001290129A patent/AU2001290129A1/en not_active Abandoned
- 2001-09-27 DE DE60109215T patent/DE60109215T2/de not_active Expired - Lifetime
- 2001-09-27 KR KR1020037004568A patent/KR100553144B1/ko not_active IP Right Cessation
- 2001-09-27 WO PCT/GB2001/004322 patent/WO2002027468A2/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO2002027468A3 (en) | 2004-02-26 |
KR100553144B1 (ko) | 2006-02-22 |
KR20030040509A (ko) | 2003-05-22 |
WO2002027468A2 (en) | 2002-04-04 |
DE60109215T2 (de) | 2006-01-12 |
US6826761B1 (en) | 2004-11-30 |
DE60109215D1 (de) | 2005-04-07 |
TW525050B (en) | 2003-03-21 |
EP1410168B1 (en) | 2005-03-02 |
JP2004523812A (ja) | 2004-08-05 |
EP1410168A2 (en) | 2004-04-21 |
AU2001290129A1 (en) | 2002-04-08 |
ATE290236T1 (de) | 2005-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6694345B1 (en) | External job scheduling within a distributed processing system having a local job control system | |
EP1099164B1 (en) | Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment | |
TWI267782B (en) | Deallocation of computer data in a multithreaded computer | |
US7328213B2 (en) | Transaction processing method, transaction control apparatus and program thereof | |
EP1222529B1 (en) | Method and device for monitoring the creation and destruction of child processes within an application executing in a computer system | |
JP4009192B2 (ja) | 効率的なタイマ管理システム | |
US10908963B2 (en) | Deterministic real time business application processing in a service-oriented architecture | |
JP2002324155A (ja) | ワークフロー・システムおよびプログラム | |
JP2755437B2 (ja) | 通信制御プログラムの連続運転保証処理方法 | |
US7546604B2 (en) | Program reactivation using triggering | |
KR100403659B1 (ko) | 서버 프로세스 장치 및 서버 프로세스 방법 및 컴퓨터 판독가능한 기록 매체 | |
CN109313573B (zh) | 数据库服务中的冷数据库的动态解激活 | |
JP2007265137A (ja) | マルチタスク処理方法及びマルチタスク処理装置 | |
JPH06274354A (ja) | 破壊的なハードウェア動作を制御する方法及びシステム | |
JP2003345638A (ja) | 記憶制御装置の制御方法及び記憶制御装置及びプログラム | |
JP2004213122A (ja) | クライアント/サーバによる制御システムの安定稼働方法及びそのプログラム | |
JP3494788B2 (ja) | プログラム実行管理システム及びプログラム実行管理方法 | |
JP2002268899A (ja) | 情報処理装置及びプログラムの動作環境の動的変更方法並びにプログラム | |
JP2000112807A (ja) | ローカルデータベース遅延更新システム及びローカルデータベース遅延更新方法 | |
JP2000293426A (ja) | レコードロック方式 | |
JPH07168794A (ja) | 計算機システムのジョブ管理方法 | |
JP2555386B2 (ja) | 電子計算機システム | |
JPH07262026A (ja) | デ−タ処理装置及びメモリ情報取得方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20060228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070302 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070828 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20070828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070831 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100907 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110907 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120907 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |