JP4056465B2 - マルチスレッド・アプリケーションにおけるスレッド実行を管理するための方法及び装置 - Google Patents
マルチスレッド・アプリケーションにおけるスレッド実行を管理するための方法及び装置 Download PDFInfo
- Publication number
- JP4056465B2 JP4056465B2 JP2003413982A JP2003413982A JP4056465B2 JP 4056465 B2 JP4056465 B2 JP 4056465B2 JP 2003413982 A JP2003413982 A JP 2003413982A JP 2003413982 A JP2003413982 A JP 2003413982A JP 4056465 B2 JP4056465 B2 JP 4056465B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- execution
- kernel
- request
- threads
- 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
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Description
W.R.Stevens 著「UNIX Network Programming(1990)」の43−53ページ IBM刊行物「z/OS UNIX System Services Programming : Assembler Callable Services Reference, SA22-7803-02(March 2002)」 IBM刊行物「z/OS C/C++ Run-Time Library Reference, SA22-7821-02(March 2002)」
pthread_kill(thread_id, sigthstop)
である。但し、thread_id は、(プロセス内の)ターゲット・スレッドの一意的な識別子であり、sigthstop は、SIGTHSTOP信号と一意的に関連付けられた値である。同様に、スレッド継続信号に関して、シンタックスは:
pthread_kill(thread_id, sigthcont)
である。但し、thread_id は、ターゲット・スレッドの一意的な識別子であり、sigthcont は、SIGTHCONT信号と一意的に関連付けられた値である。
前記ユーザ・プロセスの指定されたターゲット・スレッドの実行状態を変更するためのリクエストを前記スレッドの1つから受け取るステップと、
前記リクエストを受け取ったことに応答して、前記ユーザ・プロセスにおけるいずれの未指定スレッドの実行状態をも変更することなく、
前記指定されたターゲット・スレッドの実行状態を変更するための信号を前記ユーザ・プロセスの前記指定されたターゲット・スレッドに送るステップと、
を含む、方法。
(2)前記スレッドの1つからの前記リクエストが、前記指定されたターゲット・スレッドの実行を中断するためのリクエストである、上記(1)に記載の方法。
(3)前記スレッドの1つからの前記リクエストが、前記指定されたターゲット・スレッドの実行を再開するためのリクエストである、上記(1)に記載の方法。
(4)前記リクエストが、ターゲット・スレッド及び該ターゲット・スレッドに送られるべき信号のタイプを指定する、上記(1)に記載の方法。
(5)前記リクエストが、前記指定されたターゲット・スレッドの実行状態における所望の変更を指定する、上記(1)に記載の方法。
(6)前記スレッドの1つが、指定された信号を前記指定されたターゲット・スレッドに送るためのコマンドを前記カーネルに送出することによって前記リクエストを行い、
前記カーネルは、前記コマンドを受け取るとき、前記指定された信号を前記ユーザ・プロセスのいずれの未指定スレッドにも送ることなく、前記指定された信号を前記指定されたターゲット・スレッドに送る、
上記(1)に記載の方法。
(7)前記カーネルは、前記指定されたターゲット・スレッドの実行を中断するためのリクエストを前記スレッドの1つから受け取ったとき、前記指定されたターゲット・スレッドの実行のコントロールを、正常に実行しているプログラム部分から割り込みルーチンに移す、上記(1)に記載の方法。
(8)前記割り込みルーチンは、実行のコントロールを得たとき、該割り込みルーチンの実行を中断するためのサービス・リクエストを前記カーネルに送出する、上記(7)に記載の方法。
(9)前記カーネルは、前記指定されたターゲット・スレッドの実行を再開するためのリクエストを前記スレッドの1つから受け取ったとき、前記割り込みルーチンの実行を再開する、上記(8)に記載の方法。
(10)前記割り込みルーチンは、実行を再開したとき、前記正常に実行しているプログラム部分に実行のコントロールを戻す、上記(9)に記載の方法。
(11)オペレーティング・システム・カーネル及び複数の実行スレッドを有するユーザ・プロセスを含む情報処理システムにおいて、前記スレッドの実行を管理するための装置であって、
前記ユーザ・プロセスの指定されたターゲット・スレッドの実行を中断するためのリクエストを前記スレッドの1つから受け取ったことに応答して、前記ユーザ・プロセスにおけるいずれの未指定スレッドをも中断することなく、前記指定されたターゲット・スレッドを中断するためのスレッド停止信号を前記ユーザ・プロセスの前記指定されたターゲット・スレッドに送るためのスレッド停止ロジックと、
前記ユーザ・プロセスの指定されたターゲット・スレッドの実行を再開するためのリクエストを前記スレッドの1つから受け取ったことに応答して、前記ユーザ・プロセスのいずれの未指定スレッドをも再開することなく、前記指定されたターゲット・スレッドを再開するためのスレッド継続信号を前記ユーザ・プロセスの前記指定されたターゲット・スレッドに送るためのスレッド継続ロジックと、
を含む、装置。
(12)前記スレッドの1つが、指定された信号を前記指定されたターゲット・スレッドに送るためのコマンドを前記カーネルに送出することによってリクエストを行い、
前記カーネルは、前記コマンドを受け取ったとき、前記指定された信号を前記ユーザ・プロセスのいずれの未指定スレッドにも送ることなく、前記指定された信号を前記指定されたターゲット・スレッドに送る、
上記(11)に記載の装置。
(13)前記スレッド停止ロジックは、前記指定されたターゲット・スレッドの実行を中断するためのリクエストを受け取ったとき、前記指定されたターゲット・スレッドの実行のコントロールを正常に実行しているプログラム部分から割り込みルーチンに移す、上記(11)に記載の装置。
(14)前記割り込みルーチンは、実行のコントロールを得たとき、該割り込みルーチンの実行を中断するためのサービス・リクエストを前記カーネルに送出する、上記(13)に記載の装置。
(15)前記スレッド継続ロジックは、前記指定されたターゲット・スレッドの実行を再開するためのリクエストを受け取ったとき、前記割り込みルーチンの実行を再開する、上記(14)に記載の装置。
(16)オペレーティング・システム・カーネルと複数の実行スレッドを有するユーザ・プロセスとを含む情報処理システムにおいて、スレッドの実行を管理するための方法ステップを遂行するためにマシン実行可能な命令のプログラムを具現化したマシン読み取り可能なプログラム・ストレージ・デバイスであって、前記方法ステップが前記カーネルによって実行され、
前記ユーザ・プロセスの指定されたターゲット・スレッドの実行状態を変更するためのリクエストを前記スレッドの1つから受け取ること、
前記リクエストを受け取ったことに応答して、前記ユーザ・プロセスにおけるいずれの未指定スレッドの実行状態をも変更することなく、前記指定されたターゲット・スレッドの実行状態を変更するための信号を前記ユーザ・プロセスの前記指定されたターゲット・スレッドに送ること
を含む、プログラム・ストレージ・デバイス。
(17)前記スレッドの1つが、指定された信号を前記指定されたターゲット・スレッドに送るためのコマンドを前記カーネルに送出することによって前記リクエストを行い、
前記カーネルは、前記コマンドを受け取るとき、前記指定された信号を前記ユーザ・プロセスのいずれの未指定スレッドにも送ることなく、前記指定された信号を前記指定されたターゲット・スレッドに送る、
上記(16)に記載のプログラム・ストレージ・デバイス。
(18)前記カーネルは、前記指定されたターゲット・スレッドの実行を中断するためのリクエストを前記スレッドの1つから受け取ったとき、前記指定されたターゲット・スレッドの実行のコントロールを正常に実行しているプログラム部分から割り込みルーチンに移す、上記(16)に記載のプログラム・ストレージ・デバイス。
(19)前記割り込みルーチンは、実行のコントロールを得たとき、該割り込みルーチンの実行を中断するためのサービス・リクエストを前記カーネルに送出する、上記(18)に記載のプログラム・ストレージ・デバイス。
(20)前記カーネルは、前記指定されたターゲット・スレッドの実行を再開するためのリクエストを前記スレッドの1つから受け取ったとき、前記割り込みルーチンの実行を再開する、上記(19)に記載のプログラム・ストレージ・デバイス。
Claims (6)
- オペレーティング・システム・カーネルと複数の実行スレッドを有するユーザ・プロセスとを含む情報処理システムにおいて、前記スレッドの実行を管理するために前記カーネルによって遂行される方法であって、
前記ユーザ・プロセスの指定されたターゲット・スレッドの実行状態を変更するためのリクエストであって、前記カーネルが前記スレッドの1つから前記リクエストを受け取るステップと、
前記カーネルが前記リクエストを受け取ったことに応答して、前記ユーザ・プロセスにおけるいずれの未指定スレッドの実行状態をも変更することなく、前記指定されたターゲット・スレッドの実行状態を変更するための信号を前記ユーザ・プロセスの前記指定されたターゲット・スレッドに送るステップと、
前記カーネルは、前記指定されたターゲット・スレッドの実行を中断するためのリクエストを前記スレッドの1つから受け取ったとき、前記指定されたターゲット・スレッドの実行のコントロールを、ターゲット・スレッドの正常に実行しているプログラム部分からターゲット・スレッドの割り込みルーチンに移すステップと、
前記割り込みルーチンは、実行のコントロールを得たとき、該割り込みルーチンの実行を中断するためのサービス・リクエストを前記カーネルに送出するステップと、
を含む
方法。 - 前記スレッドの1つからの前記リクエストが、前記指定されたターゲット・スレッドの実行を中断するためのリクエストである、請求項1に記載の方法。
- 前記スレッドの1つからの前記リクエストが、前記指定されたターゲット・スレッドの実行を再開するためのリクエストである、請求項1に記載の方法。
- 前記スレッドの1つが、指定された信号を前記指定されたターゲット・スレッドに送るためのコマンドを前記カーネルに送出することによって前記リクエストを行い、
前記カーネルは、前記コマンドを受け取るとき、前記指定された信号を前記ユーザ・プロセスのいずれの未指定スレッドにも送ることなく、前記指定された信号を前記指定されたターゲット・スレッドに送る、請求項1に記載の方法。 - 前記カーネルは、前記指定されたターゲット・スレッドの実行を再開するためのリクエストを前記スレッドの1つから受け取ったとき、ターゲット・スレッドの前記割り込みルーチンの実行を再開する、請求項1に記載の方法。
- 前記割り込みルーチンは、実行を再開したとき、ターゲット・スレッドの前記正常に実行しているプログラム部分に実行のコントロールを戻す、請求項5に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/334,214 US7216346B2 (en) | 2002-12-31 | 2002-12-31 | Method and apparatus for managing thread execution in a multithread application |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004213637A JP2004213637A (ja) | 2004-07-29 |
JP4056465B2 true JP4056465B2 (ja) | 2008-03-05 |
Family
ID=32710869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003413982A Expired - Fee Related JP4056465B2 (ja) | 2002-12-31 | 2003-12-11 | マルチスレッド・アプリケーションにおけるスレッド実行を管理するための方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7216346B2 (ja) |
JP (1) | JP4056465B2 (ja) |
KR (1) | KR100791437B1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006146678A (ja) * | 2004-11-22 | 2006-06-08 | Hitachi Ltd | 情報処理装置におけるプログラム制御方法、情報処理装置、及びプログラム |
US20060136916A1 (en) * | 2004-12-17 | 2006-06-22 | Rowland John R | Method and apparatus for transaction performance and availability management based on program component monitor plugins and transaction performance monitors |
US7315910B2 (en) * | 2005-06-16 | 2008-01-01 | Oracle International Corporation | Techniques for handling lock-related inconsistencies |
US7698691B2 (en) * | 2005-09-20 | 2010-04-13 | Microsoft Corporation | Server application state |
US8028295B2 (en) * | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
KR100714710B1 (ko) * | 2006-02-22 | 2007-05-04 | 삼성전자주식회사 | 입출력 작업에 의해 블로킹된 스레드를 강제 종료하는 장치및 방법 |
KR100763200B1 (ko) | 2006-02-24 | 2007-10-04 | 삼성전자주식회사 | 인터럽트 가능한 스레드 동기화 방법 및 장치 |
US7784059B2 (en) * | 2006-08-22 | 2010-08-24 | Microsoft Corporation | Stateless asynchronous message transmission |
JP4757175B2 (ja) * | 2006-11-24 | 2011-08-24 | キヤノン株式会社 | 情報処理装置及びアプリケーション管理方法 |
US8024739B2 (en) * | 2007-01-09 | 2011-09-20 | International Business Machines Corporation | System for indicating and scheduling additional execution time based on determining whether the execution unit has yielded previously within a predetermined period of time |
US8051417B2 (en) * | 2007-01-30 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Target thread selection in a multi-threaded process |
US7941788B2 (en) * | 2007-03-21 | 2011-05-10 | International Business Machines Corporation | Operating system support for thread-level breakpoints |
KR101505519B1 (ko) * | 2007-10-16 | 2015-03-25 | 삼성전자 주식회사 | 컨텐츠 출력 장치 및 방법 |
KR100985047B1 (ko) * | 2007-10-25 | 2010-10-04 | 주식회사 안철수연구소 | 쓰레드 스케줄링 시스템 및 그 방법 |
US8255451B2 (en) * | 2008-09-17 | 2012-08-28 | Microsoft Corporation | Technologies for detecting erroneous resumptions in a continuation based runtime |
KR101396781B1 (ko) * | 2013-01-08 | 2014-05-20 | 주식회사 한올테크놀로지 | 응용프로그램 관리장치 및 관리방법 |
US20180203813A1 (en) * | 2015-09-29 | 2018-07-19 | Shannon Systems Ltd. | Methods for processing return entities associated with multiple requests in single interrupt service routine thread and apparatuses using the same |
CN106845170B (zh) * | 2017-01-20 | 2019-11-15 | 武汉斗鱼网络科技有限公司 | 一种反调试方法和系统 |
KR101805462B1 (ko) | 2017-06-29 | 2018-01-10 | 주식회사 티맥스소프트 | 스레드에서 처리되는 서비스 처리량을 증가시키기 위한 방법 및 컴퓨팅 장치 |
US10552081B1 (en) * | 2018-10-02 | 2020-02-04 | International Business Machines Corporation | Managing recall delays within hierarchical storage |
CN111104183B (zh) * | 2019-12-17 | 2023-09-12 | 北京小米移动软件有限公司 | 应用程序运行方法、装置、电子设备及存储介质 |
CN111078325B (zh) * | 2019-12-17 | 2024-01-30 | 北京小米移动软件有限公司 | 应用程序运行方法、装置、电子设备及存储介质 |
CN113449172B (zh) * | 2021-06-03 | 2024-03-29 | 阿波罗智联(北京)科技有限公司 | 异步数据上报方法、装置、电子设备及存储介质 |
CN113791888A (zh) * | 2021-11-17 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | Linux应用进程管理方法及装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430850A (en) | 1991-07-22 | 1995-07-04 | Massachusetts Institute Of Technology | Data processing system with synchronization coprocessor for multiple threads |
JP2520543B2 (ja) | 1991-09-06 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | プログラムの実行を管理する方法及びシステム |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
JP3585510B2 (ja) * | 1993-07-20 | 2004-11-04 | 株式会社東芝 | プログラム実行管理装置及びプログラム実行管理方法 |
US5632032A (en) * | 1994-02-07 | 1997-05-20 | International Business Machines Corporation | Cross address space thread control in a multithreaded environment |
EP0667574A3 (en) * | 1994-02-14 | 1997-02-12 | Ibm | Computer system. |
JP3169779B2 (ja) | 1994-12-19 | 2001-05-28 | 日本電気株式会社 | マルチスレッドプロセッサ |
US5706515A (en) | 1996-03-25 | 1998-01-06 | Sun Microsystems, Inc. | System and method for implementing an atomic wait for notification operation |
US6292820B1 (en) * | 1996-07-29 | 2001-09-18 | At& T Corp. | Porting POSIX-conforming operating systems to Win32 API-conforming operating systems |
US6128640A (en) | 1996-10-03 | 2000-10-03 | Sun Microsystems, Inc. | Method and apparatus for user-level support for multiple event synchronization |
US6119145A (en) | 1997-02-28 | 2000-09-12 | Oracle Corporation | Multithreaded client application storing a separate context for each transaction thus allowing threads to resume transactions started by other client threads |
US6697935B1 (en) * | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
JP3546694B2 (ja) | 1998-03-31 | 2004-07-28 | 日本電気株式会社 | マルチスレッド計算機システム及びマルチスレッド実行制御方法 |
US6457064B1 (en) * | 1998-04-27 | 2002-09-24 | Sun Microsystems, Inc. | Method and apparatus for detecting input directed to a thread in a multi-threaded process |
US6401137B1 (en) | 1998-06-30 | 2002-06-04 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program |
JP2000047887A (ja) | 1998-07-30 | 2000-02-18 | Toshiba Corp | 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置 |
US6205414B1 (en) | 1998-10-02 | 2001-03-20 | International Business Machines Corporation | Methodology for emulation of multi-threaded processes in a single-threaded operating system |
US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
JP3571976B2 (ja) | 1999-11-08 | 2004-09-29 | 富士通株式会社 | デバッグ装置及び方法並びにプログラム記録媒体 |
US6496925B1 (en) * | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
US6934950B1 (en) * | 2000-06-06 | 2005-08-23 | International Business Machines Corporation | Thread dispatcher for multi-threaded communication library |
US20030126416A1 (en) * | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
-
2002
- 2002-12-31 US US10/334,214 patent/US7216346B2/en not_active Expired - Fee Related
-
2003
- 2003-12-01 KR KR1020030086317A patent/KR100791437B1/ko not_active IP Right Cessation
- 2003-12-11 JP JP2003413982A patent/JP4056465B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20040062394A (ko) | 2004-07-07 |
KR100791437B1 (ko) | 2008-01-04 |
US7216346B2 (en) | 2007-05-08 |
US20040139432A1 (en) | 2004-07-15 |
JP2004213637A (ja) | 2004-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4056465B2 (ja) | マルチスレッド・アプリケーションにおけるスレッド実行を管理するための方法及び装置 | |
US6560626B1 (en) | Thread interruption with minimal resource usage using an asynchronous procedure call | |
US5991790A (en) | Generation and delivery of signals in a two-level, multithreaded system | |
US8612986B2 (en) | Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value | |
US7386864B2 (en) | Automatic serialization for event driven multi-threaded programs in an object structured system | |
US5951653A (en) | Method and system for coordinating access to objects of different thread types in a shared memory space | |
US5666523A (en) | Method and system for distributing asynchronous input from a system input queue to reduce context switches | |
EP2316091B1 (en) | Protected mode scheduling of operations | |
US6324684B1 (en) | Processor having real-time execution control for debug functions without a debug monitor | |
US20060150194A1 (en) | Methods and apparatuses to maintain multiple execution contexts | |
JP2003518286A (ja) | キューイングされた作業アイテムを実施するための再利用可能スレッドのプールを提供するためのシステムおよび方法 | |
US6738846B1 (en) | Cooperative processing of tasks in a multi-threaded computing system | |
JPH1063523A (ja) | マルチスレッド環境においてサーバの活動化を制御する方法および装置 | |
US7784057B2 (en) | Single-stack model for high performance parallelism | |
US7437606B2 (en) | Method of checkpointing parallel processes in execution within plurality of process domains | |
JP2000215072A (ja) | プログラム実行装置及びそのプロセス移動方法並びにプロセス移動制御プログラムを格納した記憶媒体 | |
US7451454B2 (en) | Event handling mechanism | |
EP0614139A2 (en) | External procedure call for distributed processing environment | |
US7080374B2 (en) | System and method for using native code interpretation to move threads to a safe state in a run-time environment | |
JP2007517328A (ja) | 動作モデルベースマルチスレッドアーキテクチャ | |
JP2001282558A (ja) | マルチオペレーティング計算機システム | |
JPS58181149A (ja) | 計算機システムの制御方式 | |
Rothberg | Interrupt handling in Linux | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム | |
US20210240528A1 (en) | Apparatus and method for deferral scheduling of tasks for operating system on multi-core processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060524 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070327 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070724 |
|
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: 20071204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071211 |
|
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: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |