JP3817541B2 - プログラムに基づいた応答時間ベースの作業負荷分配技法 - Google Patents
プログラムに基づいた応答時間ベースの作業負荷分配技法 Download PDFInfo
- Publication number
- JP3817541B2 JP3817541B2 JP2003396290A JP2003396290A JP3817541B2 JP 3817541 B2 JP3817541 B2 JP 3817541B2 JP 2003396290 A JP2003396290 A JP 2003396290A JP 2003396290 A JP2003396290 A JP 2003396290A JP 3817541 B2 JP3817541 B2 JP 3817541B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- execution time
- server
- average execution
- pool
- 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
- 238000000034 method Methods 0.000 title claims description 169
- 230000004044 response Effects 0.000 title description 20
- 230000008569 process Effects 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 28
- 230000008859 change Effects 0.000 description 20
- 238000012360 testing method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004513 sizing Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 2
- 235000014552 Cassia tora Nutrition 0.000 description 2
- 244000201986 Cassia tora Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Public Health (AREA)
- Entrepreneurship & Innovation (AREA)
- Debugging And Monitoring (AREA)
Description
DE1:所与の要求タイプの実行時間は、それが使用し、コード・パスが取得されるリソースに依存して変更可能である。
DE2:新しい要求がシステムに入り、それらの実行時間に従って分類されなければならない。
DE3:プール・サイズは変更可能であり、プールに向けられた要求の実行時間に影響を与えることになる。
DE4:実行時間の分配は再計算可能であり、その結果、様々な要求タイプが帯域を変更する可能性がある。
DE5:帯域の数および対応するプールの数は変更可能である。
G1:定常作業負荷ミックスの準定常状態に、できる限り迅速に達するように試行する。
G2:過度の制御によって生じる可能性のある、実行時間の激しい変動を避ける。
G3:入ってくる要求の使用可能なスレッド・リソースと実行時間とのバランスがとれるようにする。
使用可能なスレッド・プール数を決定するステップと、
サーバ上の作業負荷の履歴統計から実行時間を取得するステップと、
取得された前記実行時間を、前記使用可能なスレッド・プール数全体にわたって、プログラムに基づいて分配するステップとを含む方法。
(2) 前記プログラムに基づいて分配するステップは、
前記実行時間をソートするステップと、
前記ソートされた実行時間を前記使用可能なスレッド・プール数全体にわたって割り振るステップとをさらに含む、請求項1に記載の方法。
(3) 前記ソートされた実行時間は前記使用可能なスレッド・プール数全体に均一に割り振られる、請求項2に記載の方法。
(4) 前記ソートされた実行時間の総数を決定するステップをさらに含み、前記割振りステップは、
ソートされた実行時間の前記総数を前記使用可能なスレッド・プール数で割り値「N」を見つけるステップと、
索引として「N」の整数倍を使用してアクセスされるときの前記ソートされた実行時間に従って、使用可能な各スレッド・プールの実行時間についての上限を割り当てるステップとをさらに含む、請求項2に記載の方法。
(5) 実行時に、インバウンド要求をサーバで受け取るステップと、
前記プログラムに基づいて分配された実行時間に従って、前記インバウンド要求を、前記使用可能なスレッド・プールに割り当てるステップとをさらに含む、請求項1に記載の方法。
(6) 前記インバウンド要求が前記サーバで実行されるときの実行時間を追跡するステップと、
前記追跡された実行時間を反映するように、前記サーバ上の作業負荷の前記実行時間を改訂するステップとをさらに含む、請求項5に記載の方法。
(7) 前記プログラムに基づいた分配を、改訂された前記実行時間を反映するように定期的に再計算するステップをさらに含む、請求項6に記載の方法。
(8) ソートされた実行時間は移動平均実行時間である、請求項1に記載の方法。
(9) 前記実行時間は要求タイプごとに維持される、請求項1に記載の方法。
(10) 前記実行時間は要求タイプおよびパラメータ値ごとに維持される、請求項1に記載の方法。
(11) 前記実行時間は方法名ごとに維持される、請求項1に記載の方法。
(12) 前記実行時間は方法名およびパラメータ値ごとに維持される、請求項1に記載の方法。
(13) 前記実行時間は方法名ならびにパラメータ名およびパラメータ値ごとに維持される、請求項1に記載の方法。
(14) 前記実行時間はUniform Resource Identifier(「URI」)名およびパラメータ値ごとに維持される、請求項1に記載の方法。
(15) 前記実行時間は処理宛先ごとに維持される、請求項1に記載の方法。
(16) 前記サーバでインバウンド要求を受け取るステップと、
前記受け取った要求の分類キーを決定するステップと、
前記決定された分類キーを使用して、前記受け取った要求の平均実行時間を突き止めるステップと、
前記突き止められた平均実行時間と前記割り当てられたそれぞれの上限とを、前記比較された割り当てられた上限が前記突き止められた平均実行時間よりも大きいかまたは等しくなるまで繰り返し比較することによって、前記受け取った要求が実行されることになる特定の使用可能なスレッド・プールを突き止めるステップとをさらに含む、請求項4に記載の方法。
(17) 前記スレッド・プールは論理スレッド・プールである、請求項1に記載の方法。
(18) マルチスレッド・サーバ内のスレッド・プール全体にわたって、インバウンド要求をプログラムに基づいて分配するためのシステムであって、
使用可能なスレッド・プール数を決定するための手段と、
サーバ上の作業負荷の履歴統計から実行時間を取得するための手段と、
前記取得された実行時間を、前記使用可能なスレッド・プール数全体にわたって、プログラムに基づいて分配するための手段と、
実行時に、インバウンド要求を前記サーバで受け取るための手段と、
前記プログラムに基づいて分配された実行時間に従って、前記インバウンド要求を、前記使用可能なスレッド・プールに割り当てるための手段とを含むシステム。
(19) 前記プログラムに基づいて分配するための手段は、
前記実行時間をソートするための手段と、
前記ソートされた実行時間を前記使用可能なスレッド・プール数全体にわたって割り振るための手段とをさらに含む、請求項18に記載のシステム。
(20) 前記ソートされた実行時間の総数を決定するための手段をさらに含み、前記割り振るための手段は、
前記ソートされた実行時間の総数を前記使用可能なスレッド・プール数で割り値「N」を見つけるための手段と、
索引として「N」の整数倍を使用してアクセスされるときの前記ソートされた実行時間に従って、使用可能な各スレッド・プールの実行時間についての上限を割り当てるための手段とをさらに含む、請求項19に記載のシステム。
(21) 前記インバウンド要求が前記サーバで実行されるときの実行時間を追跡するための手段と、
前記追跡された実行時間を反映するように、前記サーバ上の前記作業負荷の前記実行時間を改訂するための手段とをさらに含む、請求項18に記載のシステム。
(22) 前記プログラムに基づいた分配を、改訂された前記実行時間を反映するように定期的に再計算するための手段をさらに含む、請求項21に記載のシステム。
(23) 前記ソートされた実行時間は移動平均実行時間である、請求項18に記載のシステム。
(24) 前記実行時間は要求タイプごとに維持される、請求項18に記載のシステム。
(25) 前記実行時間は方法名ごとに維持される、請求項18に記載のシステム。
(26) 前記実行時間はUniform Resource Identifier(「URI」)名ごとに維持される、請求項18に記載のシステム。
(27) 前記実行時間は処理宛先ごとに維持される、請求項18に記載のシステム。
(28) 前記上限を割り当てるための手段は、
前記受け取った要求の分類キーを決定するための手段と、
前記決定された分類キーを使用して、前記受け取った要求の平均実行時間を突き止めるための手段と、
前記突き止められた平均実行時間と前記割り当てられたそれぞれの上限とを、前記比較された割り当てられた上限が前記突き止められた平均実行時間よりも大きいかまたは等しくなるまで繰り返し比較することによって、前記受け取った要求が実行されることになる特定の使用可能なスレッド・プールを突き止めるための手段とをさらに含む、請求項20に記載のシステム。
(29) サーバのリソース全体にわたって作業負荷をプログラムに基づいて分配するためのコンピュータ・プログラム製品であって、コンピュータ・プログラム製品は、コンピューティング環境内のコンピューティング・システムによって読取り可能な1つまたは複数のコンピュータ読取り可能媒体上で実施され、
使用可能なスレッド・プール数を決定するためのコンピュータ読取り可能プログラム・コード手段と、
サーバ上の作業負荷の履歴統計から実行時間を取得するためのコンピュータ読取り可能プログラム・コード手段と、
前記取得された実行時間を、前記使用可能なスレッド・プール数全体にわたって、プログラムに基づいて分配するためのコンピュータ読取り可能プログラム・コード手段とを含む、コンピュータ・プログラム製品。
(30) 前記プログラムに基づいて分配するためのコンピュータ読取り可能プログラム・コード手段は、
実行時間をソートするためのコンピュータ読取り可能プログラム・コード手段と、
前記ソートされた実行時間を前記使用可能なスレッド・プール数全体にわたって均一に割り振るためのコンピュータ読取り可能プログラム・コード手段とをさらに含む、請求項29に記載のコンピュータ・プログラム製品。
(31) 前記ソートされた実行時間の総数を決定するためのコンピュータ読取り可能プログラム・コード手段をさらに含み、割り振るためのコンピュータ読取り可能プログラム・コード手段は、
ソートされた実行時間の前記総数を前記使用可能なスレッド・プール数で割り値「N」を見つけるためのコンピュータ読取り可能プログラム・コード手段と、
索引として「N」の整数倍を使用してアクセスされるときの前記ソートされた実行時間に従って、使用可能な各スレッド・プールの実行時間についての上限を割り当てるためのコンピュータ読取り可能プログラム・コード手段とをさらに含む、請求項30に記載のコンピュータ・プログラム製品。
(32) 実行時に、インバウンド要求を前記サーバで受け取るためのコンピュータ読取り可能プログラム・コード手段と、
前記プログラムに基づいて分配された実行時間に従って、前記インバウンド要求を、使用可能なスレッド・プールに割り当てるためのコンピュータ読取り可能プログラム・コード手段とをさらに含む、請求項29に記載のコンピュータ・プログラム製品。
(33) 前記インバウンド要求が前記サーバで実行されるときの実行時間を追跡するためのコンピュータ読取り可能プログラム・コード手段と、
前記追跡された実行時間を反映するように、前記サーバ上の作業負荷の前記実行時間を改訂するためのコンピュータ読取り可能プログラム・コード手段とをさらに含む、請求項32に記載のコンピュータ・プログラム製品。
(34) 前記プログラムに基づいた分配を、改訂された前記実行時間を反映するように定期的に再計算するためのコンピュータ読取り可能プログラム・コード手段をさらに含む、請求項33に記載のコンピュータ・プログラム製品。
(35) 前記実行時間は要求タイプ、パラメータ名、およびパラメータ値ごとに維持される、請求項29に記載のコンピュータ・プログラム製品。
(36) 前記実行時間は方法名およびパラメータ値ごとに維持される、請求項29に記載のコンピュータ・プログラム製品。
(37) 前記実行時間はUniform Resource Identifier(「URI」)名およびパラメータ値ごとに維持される、請求項29に記載のコンピュータ・プログラム製品。
(38) 前記実行時間は処理宛先ごとに維持される、請求項29に記載のコンピュータ・プログラム製品。
(39) 前記サーバでインバウンド要求を受け取るためのコンピュータ読取り可能プログラム・コード手段と、
前記受け取った要求の分類キーを決定するためのコンピュータ読取り可能プログラム・コード手段と、
前記決定された分類キーを使用して、前記受け取った要求の平均実行時間を突き止めるためのコンピュータ読取り可能プログラム・コード手段と、
前記突き止められた平均実行時間と前記割り当てられたそれぞれの上限とを、前記比較された割り当てられた上限が前記突き止められた平均実行時間よりも大きいかまたは等しくなるまで繰り返し比較することによって、前記受け取った要求が実行されることになる特定の使用可能なスレッド・プールを突き止めるためのコンピュータ読取り可能プログラム・コード手段とをさらに含む、請求項31に記載のコンピュータ・プログラム製品。
(40) サーバのリソース全体にわたって作業負荷をプログラムに基づいて分配することにより、ビジネスを実行する方法であって、
前記サーバでの作業負荷の動作特徴をプログラムに基づいて監視するステップと、
前記サーバのリソース全体にわたって前記作業負荷をプログラムに基づいて分配するステップとを含み、このステップは、
使用可能なスレッド・プール数を決定するステップと、
前記作業負荷の履歴統計から実行時間を取得するステップと、
前記取得された実行時間を、前記使用可能なスレッド・プール数全体にわたって、プログラムに基づいて分配するステップと、
実行時に、インバウンド要求を前記サーバで受け取るステップと、
前記プログラムに基づいて分配された実行時間に従って、前記インバウンド要求を、前記使用可能なスレッド・プールに割り当てるステップとをさらに含み、
さらに前記方法は、前記プログラムに基づいて監視するステップおよび前記プログラムに基づいて分配するステップとを実行するための料金を課金するステップをさらに含む方法。
110 待機待ち行列要素
115 分類
120 待機待ち行列1
125 待機待ち行列2
130 待機待ち行列N
135 ラン可能プール
140 ラン可能プール
145 ラン可能プール
150 グローバル・スレッド・プール
155 統計待ち行列
160 統計/LRU/プール・ターゲット計算
165 解放リスト
Claims (34)
- サーバのリソース全体にわたってプログラムに基づいて作業負荷を分配する方法であって、
使用可能な複数のスレッド・プールを用意するステップと、
サーバ上の作業負荷の履歴統計から、前記サーバで処理された要求ごとの平均実行時間を複数取得するステップと、
前記複数の平均実行時間に基づいて、前記使用可能な複数のスレッド・プールの各々に対し、割り当てられる要求の平均実行時間の異なる上限値を決定するステップとを含み、
前記平均実行時間の上限値は、前記サーバにおいて受信される要求を前記複数のスレッド・プールのうちいずれのスレッド・プールに割当てるかを決定するために使用される、
方法。 - 前記上限値を決定するステップは、
前記複数の平均実行時間を配列内にコピーするステップと、
前記配列をその値に従ってソートするステップと、
前記配列の総数を前記使用可能な複数のスレッド・プールの数で割り、値「N」を見つけるステップと、
索引として「N」の整数倍を使用してアクセスされる前記配列の値を、前記各スレッド・プールの平均実行時間の異なる上限値とするステップとを含む、請求項1に記載の方法。 - 前記サーバにおいて受信される前記要求が前記サーバで実行されるときの実行時間を追跡するステップと、
前記追跡された実行時間を反映するように、前記複数の平均実行時間を更新するステップとをさらに含む、
請求項1に記載の方法。 - 前記更新された前記複数の平均実行時間を反映するように、前記各スレッド・プールの前記平均実行時間の異なる上限値を定期的に再計算するステップをさらに含む、請求項3に記載の方法。
- 前記サーバで処理された前記要求ごとの平均実行時間は、最近の所定間隔にわたって計算された、各要求の実行時間の移動平均値である、請求項1に記載の方法。
- 前記サーバで処理された要求はそのタイプによって識別され、前記複数の平均実行時間は前記要求のタイプごとに取得される、請求項1に記載の方法。
- 前記サーバで処理された要求はそのタイプ及び当該要求に含まれるパラメータ値によって識別され、前記複数の平均実行時間は前記要求のタイプおよび前記パラメータ値ごとに取得される、請求項1に記載の方法。
- 前記サーバで処理された要求は当該要求に基づいて呼び出される方法名によって識別され、前記複数の平均実行時間は方法名ごとに取得される、請求項1に記載の方法。
- 前記サーバで処理された要求は当該要求に基づいて呼び出される方法名及び当該方法に渡されるパラメータ値によって識別され、前記複数の平均実行時間は前記方法名および前記パラメータ値ごとに取得される、請求項1に記載の方法。
- 前記サーバで処理された要求は当該要求に基づいて呼び出される方法名、当該方法に渡されるパラメータ値および当該パラメータの名によって識別され、前記複数の平均実行時間は前記方法名、前記パラメータ名および前記パラメータ値ごとに取得される、請求項1に記載の方法。
- 前記サーバで処理された要求は当該要求に含まれるUniform Resource Identifier(「URI」)およびURIの一部としてのパラメータ値によって各々識別され、前記複数の平均実行時間は前記URIおよび前記パラメータ値ごとに取得される、請求項1に記載の方法。
- 前記サーバで処理された要求はその処理宛先によって識別され、前記複数の平均実行時間は処理宛先ごとに取得される、請求項1に記載の方法。
- 前記サーバでインバウンド要求を受け取るステップと、
前記受け取った要求の分類キーを決定するステップと、
前記決定された分類キーを使用して、前記受け取った要求の平均実行時間を突き止めるステップと、
前記突き止められた平均実行時間と前記決定された各スレッド・プールの平均実行時間の上限値とを、前記比較された平均実行時間の上限値が前記突き止められた平均実行時間よりも大きいかまたは等しくなるまで繰り返し比較することによって、前記受け取った要求が実行されることになる特定の使用可能なスレッド・プールを突き止めるステップとをさらに含む、
請求項1に記載の方法。 - 前記スレッド・プールは論理スレッド・プールである、請求項1に記載の方法。
- マルチスレッド・サーバ内のスレッド・プール全体にわたって、インバウンド要求をプログラムに基づいて分配するためのシステムであって、
使用可能な複数のスレッド・プールと、
サーバ上の作業負荷の履歴統計から、前記サーバで処理された要求ごとの平均実行時間を複数取得するための手段と、
前記複数の平均実行時間に基づいて、前記使用可能な複数のスレッド・プールの各々に対し、割り当てられる要求の平均実行時間の異なる上限値を決定するための手段と、
実行時に、インバウンド要求を前記サーバで受け取るための手段と、
前記平均実行時間の上限値に基づいて、前記インバウンド要求を、前記使用可能なスレッド・プールいずれかに割り当てるための手段とを含むシステム。 - 前記上限値を決定するための手段は、
前記複数の平均実行時間を配列内にコピーする手段と、
前記配列をその値に従ってソートする手段と、
前記配列の総数を前記使用可能な複数のスレッド・プールの数で割り、値「N」を見つけるための手段と、
索引として「N」の整数倍を使用してアクセスされる前記配列の値を、前記各スレッド・プールの平均実行時間の異なる上限値とするための手段とを含む、請求項15に記載のシステム。 - 前記サーバにおいて受信される前記要求が前記サーバで実行されるときの実行時間を追跡するための手段と、
前記追跡された実行時間を反映するように、前記複数の平均実行時間を更新するための手段とをさらに含む、請求項15に記載のシステム。 - 前記更新された前記複数の平均実行時間を反映するように、前記各スレッド・プールの前記平均実行時間の異なる上限値を定期的に再計算するための手段をさらに含む、請求項17に記載のシステム。
- 前記サーバで処理された前記要求ごとの平均実行時間は、最近の所定間隔にわたって計算された、各要求の実行時間の移動平均値である、請求項15に記載のシステム。
- 前記サーバで処理された要求はそのタイプによって識別され、前記複数の平均実行時間は前記要求のタイプごとに取得される、請求項15に記載のシステム。
- 前記サーバで処理された要求は当該要求に基づいて呼び出される方法名によって識別され、前記複数の平均実行時間は方法名ごとに取得される、請求項15に記載のシステム。
- 前記サーバで処理された要求は当該要求に含まれるUniform Resource Identifier(「URI」)によって各々識別され、前記複数の平均実行時間は前記URIごとに取得される、請求項15に記載のシステム。
- 前記サーバで処理された要求はその処理宛先によって識別され、前記複数の平均実行時間は処理宛先ごとに取得される、請求項15に記載のシステム。
- 前記割り当てるための手段は、
前記受け取った要求の分類キーを決定するための手段と、
前記決定された分類キーを使用して、前記受け取った要求の平均実行時間を突き止めるための手段と、
前記突き止められた平均実行時間と前記決定された各スレッド・プールの平均実行時間の上限値とを、前記比較された平均実行時間の上限値が前記突き止められた平均実行時間よりも大きいかまたは等しくなるまで繰り返し比較することによって、前記受け取った要求が実行されることになる特定の使用可能なスレッド・プールを突き止めるための手段とをさらに含む、請求項15に記載のシステム。 - サーバのリソース全体にわたって作業負荷をプログラムに基づいて分配するためのコンピュータ・プログラムであって、コンピュータを、
使用可能な複数のスレッド・プールを用意する手段と、
サーバ上の作業負荷の履歴統計から、前記サーバで処理された要求ごとの平均実行時間を複数取得する手段と、
前記複数の平均実行時間に基づいて、前記使用可能な複数のスレッド・プールの各々に対し、割当てられる要求の平均実行時間の異なる上限値を決定する手段として機能させるためのコンピュータ・プログラムであって、
、前記平均実行時間の上限値は、前記サーバにおいて受信される要求を前記複数のスレッド・プールのうちいずれのスレッド・プールに割当てるかを決定するために使用される、
コンピュータ・プログラム。 - 前記上限値を決定する手段は、
前記複数の平均実行時間を配列内にコピーする手段と、
前記配列をその値に従ってソートする手段と、
前記配列の総数を前記使用可能な複数のスレッド・プールの数で割り、値「N」を見つける手段と、
索引として「N」の整数倍を使用してアクセスされる前記配列の値を、前記各スレッド・プールの実行時間の異なる上限値とする手段とを含む、請求項25に記載のコンピュータ・プログラム。 - コンピュータを、さらに、
前記サーバにおいて受信される前記要求が前記サーバで実行されるときの実行時間を追跡する手段と、
前記追跡された実行時間を反映するように、前記複数の平均実行時間を更新する手段として機能させる、請求項25に記載のコンピュータ・プログラム。 - コンピュータを、さらに、
前記更新された前記複数の平均実行時間を反映するように、前記各スレッド・プールの前記平均実行時間の異なる上限値を定期的に再計算する手段として機能させる、請求項25に記載のコンピュータ・プログラム。 - 前記サーバで処理された要求はそのタイプ、当該要求に含まれるパラメータ名、およびパラメータ値によって識別され、前記複数の平均実行時間は前記要求タイプ、前記パラメータ名、および前記パラメータ値ごとに取得される、請求項25に記載のコンピュータ・プログラム。
- 前記サーバで処理された要求は当該要求に基づいて呼び出される方法名および当該方法に渡されるパラメータ値によって識別され、前記複数の実行時間は前記方法名および前記パラメータ値ごとに取得される、請求項25に記載のコンピュータ・プログラム。
- 前記サーバで処理された要求は当該要求に含まれるUniform Resource Identifier(「URI」)およびURIの一部としてのパラメータ値によって各々識別され、前記複数の平均実行時間は前記URIおよび前記パラメータ値ごとに取得される、請求項25に記載のコンピュータ・プログラム。
- 前記サーバで処理された要求は処理宛先によって識別され、前記複数の平均実行時間は前記処理宛先ごとに取得される、請求項25に記載のコンピュータ・プログラム。
- コンピュータを、さらに、
前記サーバでインバウンド要求を受け取るための手段と、
前記受け取った要求の分類キーを決定するための手段と、
前記決定された分類キーを使用して、前記受け取った要求の平均実行時間を突き止めるための手段と、
前記突き止められた平均実行時間と前記決定された各スレッド・プールの平均実行時間の上限値とを、前記比較された平均実行時間の上限値が前記突き止められた平均実行時間よりも大きいかまたは等しくなるまで繰り返し比較することによって、前記受け取った要求が実行されることになる特定の使用可能なスレッド・プールを突き止めるための手段として機能させる、請求項25に記載のコンピュータ・プログラム。 - サーバのリソース全体にわたって作業負荷をプログラムに基づいて分配することにより、ビジネスを実行する方法であって、
前記サーバでの作業負荷の動作特徴をプログラムに基づいて監視するステップと、
前記サーバのリソース全体にわたって前記作業負荷をプログラムに基づいて分配するステップとを含み、当該分配するステップは、
使用可能な複数のスレッド・プールの数を決定するステップと、
前記作業負荷の履歴統計から、前記サーバで処理された要求ごとの平均実行時間を複数取得するステップと、
前記複数の平均実行時間に基づいて、前記使用可能な複数のスレッド・プールの各々に対し、割当てられる要求の平均実行時間の異なる上限値を決定するステップと、
実行時に、インバウンド要求を前記サーバで受け取るステップと、
前記平均実行時間の上限値に基づいて、前記インバウンド要求を、前記複数の使用可能なスレッド・プールのいずれかにに割り当てるステップとを含み、
前記方法は、前記プログラムに基づいて監視するステップおよび前記プログラムに基づいて分配するステップとを実行するための料金を課金するステップをさらに含む方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/334,262 US7207043B2 (en) | 2002-12-31 | 2002-12-31 | Programmatic response-time based workload distribution techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004213625A JP2004213625A (ja) | 2004-07-29 |
JP3817541B2 true JP3817541B2 (ja) | 2006-09-06 |
Family
ID=32710874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003396290A Expired - Fee Related JP3817541B2 (ja) | 2002-12-31 | 2003-11-26 | プログラムに基づいた応答時間ベースの作業負荷分配技法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7207043B2 (ja) |
JP (1) | JP3817541B2 (ja) |
KR (1) | KR100628821B1 (ja) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051070B2 (en) * | 2000-12-18 | 2006-05-23 | Timothy Tuttle | Asynchronous messaging using a node specialization architecture in the dynamic routing network |
US8505024B2 (en) | 2000-12-18 | 2013-08-06 | Shaw Parsing Llc | Storing state in a dynamic content routing network |
US7454425B2 (en) * | 2003-07-01 | 2008-11-18 | Oracle International Corporation | System and method for assembling timing data in a multi-layer server environment |
US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7458078B2 (en) * | 2003-11-06 | 2008-11-25 | International Business Machines Corporation | Apparatus and method for autonomic hardware assisted thread stack tracking |
US7447710B2 (en) * | 2003-12-11 | 2008-11-04 | Sybase, Inc. | Database system providing self-tuned parallel database recovery |
US7448037B2 (en) * | 2004-01-13 | 2008-11-04 | International Business Machines Corporation | Method and data processing system having dynamic profile-directed feedback at runtime |
US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7895382B2 (en) | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US7703101B2 (en) * | 2004-02-13 | 2010-04-20 | International Business Machines Corporation | Autonomic workload classification using predictive assertion for wait queue and thread pool selection |
US7987453B2 (en) * | 2004-03-18 | 2011-07-26 | International Business Machines Corporation | Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data |
US7574439B2 (en) * | 2004-05-20 | 2009-08-11 | International Business Machines Corporation | Managing a nested request |
US20050278381A1 (en) | 2004-05-26 | 2005-12-15 | Yixin Diao | Method and apparatus for online sample interval determination |
CN101189852B (zh) * | 2004-08-17 | 2012-10-03 | 肖分析有限公司 | 用于上游故障检测和故障恢复的技术 |
WO2006023506A1 (en) * | 2004-08-17 | 2006-03-02 | Shaw Parsing Llc | Modular event-driven processing |
WO2006023459A1 (en) * | 2004-08-17 | 2006-03-02 | Shaw Parsing Llc | Techniques for delivering personalized content with a real-time routing network |
US7533139B2 (en) * | 2004-09-27 | 2009-05-12 | Microsoft Corporation | Method and system for multithread processing of spreadsheet chain calculations |
US7383470B2 (en) * | 2004-09-30 | 2008-06-03 | Microsoft Corporation | Method, system, and apparatus for identifying unresponsive portions of a computer program |
JP4791846B2 (ja) * | 2005-02-21 | 2011-10-12 | 財団法人電力中央研究所 | モバイルエージェント移動の高速化方法、モバイルエージェントの移動の高速化システム |
DE102005008975A1 (de) * | 2005-02-28 | 2006-08-31 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Überwachung einer Prozessausführung |
US7908606B2 (en) * | 2005-05-20 | 2011-03-15 | Unisys Corporation | Usage metering system |
US20070239718A1 (en) * | 2006-03-31 | 2007-10-11 | Baxter Robert A | Configuring communication systems based on performance metrics |
US20070233693A1 (en) * | 2006-03-31 | 2007-10-04 | Baxter Robert A | Configuring a communication protocol of an interactive media system |
US20070245028A1 (en) * | 2006-03-31 | 2007-10-18 | Baxter Robert A | Configuring content in an interactive media system |
US8136114B1 (en) * | 2006-04-21 | 2012-03-13 | Sprint Communications Company L.P. | Business process management system having dynamic task assignment |
US20070266391A1 (en) * | 2006-04-27 | 2007-11-15 | Hoffman Philip M | System and method for separating multi-workload processor utilization on a metered computer system |
US8032821B2 (en) | 2006-05-08 | 2011-10-04 | Microsoft Corporation | Multi-thread spreadsheet processing with dependency levels |
US8799918B2 (en) * | 2006-09-11 | 2014-08-05 | Microsoft Corporation | Dynamic network load balancing using roundtrip heuristic |
KR101286700B1 (ko) | 2006-11-06 | 2013-07-16 | 삼성전자주식회사 | 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법 |
US8356284B2 (en) * | 2006-12-28 | 2013-01-15 | International Business Machines Corporation | Threading model analysis system and method |
US8219845B2 (en) * | 2007-05-09 | 2012-07-10 | Microsoft Corporation | Timer service uses a single timer function to perform timing services for both relative and absolute timers |
US8611378B2 (en) | 2007-05-29 | 2013-12-17 | Red Hat, Inc. | Message handling multiplexer |
US7921227B2 (en) * | 2007-05-30 | 2011-04-05 | Red Hat, Inc. | Concurrent stack |
US8505028B2 (en) * | 2007-05-30 | 2013-08-06 | Red Hat, Inc. | Flow control protocol |
US7992153B2 (en) * | 2007-05-30 | 2011-08-02 | Red Hat, Inc. | Queuing for thread pools using number of bytes |
US7733863B2 (en) * | 2007-05-30 | 2010-06-08 | Red Hat, Inc. | Out of band messages |
KR100883517B1 (ko) * | 2007-06-13 | 2009-02-11 | 성균관대학교산학협력단 | 예측 기반 동적 쓰레드 풀 조정방법 및 이를 사용하는에이전트 플랫폼 |
KR100959898B1 (ko) | 2007-12-27 | 2010-05-27 | 주식회사 케이티 | 인터넷 서비스를 위한 부하 분산형 스케줄링 구조를 가지는서비스 서버 및 그 서비스 방법 |
US20090217280A1 (en) * | 2008-02-21 | 2009-08-27 | Honeywell International Inc. | Shared-Resource Time Partitioning in a Multi-Core System |
US7783797B2 (en) * | 2008-04-23 | 2010-08-24 | Autodesk, Inc. | Adaptive bandwidth distribution system for high-performance input/output devices with variable throughput |
US8024615B2 (en) * | 2008-04-28 | 2011-09-20 | Microsoft Corporation | Steady state computer testing |
KR101572879B1 (ko) * | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법 |
US8352953B2 (en) * | 2009-12-03 | 2013-01-08 | International Business Machines Corporation | Dynamically provisioning virtual machines |
US9378503B2 (en) * | 2010-06-30 | 2016-06-28 | Alcatel Lucent | Methods of routing for networks with feedback |
US8595732B2 (en) * | 2010-11-15 | 2013-11-26 | International Business Machines Corporation | Reducing the response time of flexible highly data parallel task by assigning task sets using dynamic combined longest processing time scheme |
US8954968B1 (en) * | 2011-08-03 | 2015-02-10 | Juniper Networks, Inc. | Measuring by the kernel the amount of time a monitored thread spends in a queue in order to monitor scheduler delays in a computing device |
US9092270B2 (en) | 2012-09-25 | 2015-07-28 | Oracle International Corporation | Method of SOA performance tuning |
KR101638797B1 (ko) * | 2013-05-15 | 2016-07-13 | 울산과학기술원 | 질의 할당 방법 |
CN103605568B (zh) * | 2013-10-29 | 2017-10-31 | 北京奇虎科技有限公司 | 一种多线程管理方法及装置 |
GB2528318A (en) | 2014-07-18 | 2016-01-20 | Ibm | Measuring delay |
JP6447217B2 (ja) * | 2015-02-17 | 2019-01-09 | 富士通株式会社 | 実行情報通知プログラム、情報処理装置および情報処理システム |
US9639286B2 (en) | 2015-05-14 | 2017-05-02 | Commvault Systems, Inc. | Restore of secondary data using thread pooling |
US9710305B2 (en) * | 2015-11-12 | 2017-07-18 | International Business Machines Corporation | Virtual machine migration management |
US10140066B2 (en) * | 2016-02-01 | 2018-11-27 | International Business Machines Corporation | Smart partitioning of storage access paths in shared storage services |
US10210020B2 (en) | 2016-06-29 | 2019-02-19 | International Business Machines Corporation | Scheduling requests in an execution environment |
US10318450B2 (en) * | 2016-07-01 | 2019-06-11 | Intel Corporation | Efficient context based input/output (I/O) classification |
DE102016222375A1 (de) * | 2016-11-15 | 2018-05-17 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Bearbeiten von Aufträgen |
US10620996B2 (en) * | 2017-04-26 | 2020-04-14 | Servicenow, Inc. | Batching asynchronous web requests |
CN109086194A (zh) * | 2018-06-11 | 2018-12-25 | 山东中创软件商用中间件股份有限公司 | 一种线程池容量调整方法、装置、设备及可读存储介质 |
KR101916799B1 (ko) | 2018-06-18 | 2018-11-08 | 주식회사 에프아이티 | 빅데이터 서버 부하 분산 제어 장치 및 방법 |
US11061896B2 (en) * | 2018-06-19 | 2021-07-13 | Salesforce.Com, Inc. | Maximizing operator parallelism |
CN109240878B (zh) * | 2018-08-20 | 2021-01-26 | 京东数字科技控股有限公司 | 数据处理方法和装置 |
US11422856B2 (en) | 2019-06-28 | 2022-08-23 | Paypal, Inc. | Adaptive program task scheduling to blocking and non-blocking queues |
US11151150B2 (en) * | 2019-09-13 | 2021-10-19 | Salesforce.Com, Inc. | Adjustable connection pool mechanism |
US11165857B2 (en) | 2019-10-23 | 2021-11-02 | Salesforce.Com, Inc. | Connection pool anomaly detection mechanism |
CN110737534B (zh) * | 2019-10-29 | 2021-05-25 | 京东数字科技控股有限公司 | 任务的处理方法、装置和服务器 |
US11265227B2 (en) * | 2019-12-26 | 2022-03-01 | Paypal, Inc. | System and method for dynamic time estimates |
JP7421165B2 (ja) | 2020-03-25 | 2024-01-24 | 京セラドキュメントソリューションズ株式会社 | データ連携システムおよびapiプラットフォーム |
US11886916B2 (en) | 2020-06-30 | 2024-01-30 | Microsoft Technology Licensing, Llc | System for adaptive multithreaded recalculation operations |
US20230116810A1 (en) * | 2021-09-30 | 2023-04-13 | Dell Products L.P. | Automated predictive infrastructure scaling |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664106A (en) * | 1993-06-04 | 1997-09-02 | Digital Equipment Corporation | Phase-space surface representation of server computer performance in a computer network |
US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
JP3946275B2 (ja) * | 1995-01-10 | 2007-07-18 | 富士通株式会社 | リモートインストールシステムおよび方法 |
US5675739A (en) * | 1995-02-03 | 1997-10-07 | International Business Machines Corporation | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
US6105053A (en) * | 1995-06-23 | 2000-08-15 | Emc Corporation | Operating system for a non-uniform memory access multiprocessor system |
US6182109B1 (en) * | 1996-03-08 | 2001-01-30 | International Business Machines Corporation | Dynamic execution unit management for high performance user level network server system |
US6535878B1 (en) * | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
US6397252B1 (en) * | 1997-12-19 | 2002-05-28 | Electronic Data Systems Corporation | Method and system for load balancing in a distributed object system |
US6477561B1 (en) * | 1998-06-11 | 2002-11-05 | Microsoft Corporation | Thread optimization |
US6427161B1 (en) * | 1998-06-12 | 2002-07-30 | International Business Machines Corporation | Thread scheduling techniques for multithreaded servers |
US6879995B1 (en) * | 1999-08-13 | 2005-04-12 | Sun Microsystems, Inc. | Application server message logging |
US6542920B1 (en) * | 1999-09-24 | 2003-04-01 | Sun Microsystems, Inc. | Mechanism for implementing multiple thread pools in a computer system to optimize system performance |
US6629142B1 (en) * | 1999-09-24 | 2003-09-30 | Sun Microsystems, Inc. | Mechanism for optimizing processing of client requests |
US6898617B2 (en) * | 1999-11-18 | 2005-05-24 | International Business Machines Corporation | Method, system and program products for managing thread pools of a computing environment to avoid deadlock situations by dynamically altering eligible thread pools |
US20020194251A1 (en) * | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
US7376729B2 (en) * | 2000-03-23 | 2008-05-20 | Freebit Co., Ltd. | System for internet connections, method for calculating connection fees for network connection services, billing system for network connection services, and system for network connection management |
US6816882B1 (en) * | 2000-05-31 | 2004-11-09 | International Business Machines Corporation | System and method for automatically negotiating license agreements and installing arbitrary user-specified applications on application service providers |
US7051330B1 (en) * | 2000-11-21 | 2006-05-23 | Microsoft Corporation | Generic application server and method of operation therefor |
US7177857B2 (en) * | 2000-11-24 | 2007-02-13 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for creating distribution content |
US20020147693A1 (en) * | 2001-04-05 | 2002-10-10 | International Business Machines Corporation | Method and system for dynamic accounting of service and equipment usage |
US7127716B2 (en) * | 2002-02-13 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Method of load balancing a distributed workflow management system |
US7080378B1 (en) | 2002-05-17 | 2006-07-18 | Storage Technology Corporation | Workload balancing using dynamically allocated virtual servers |
-
2002
- 2002-12-31 US US10/334,262 patent/US7207043B2/en not_active Expired - Fee Related
-
2003
- 2003-11-26 JP JP2003396290A patent/JP3817541B2/ja not_active Expired - Fee Related
- 2003-12-30 KR KR1020030100105A patent/KR100628821B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20040062410A (ko) | 2004-07-07 |
US7207043B2 (en) | 2007-04-17 |
KR100628821B1 (ko) | 2006-09-27 |
JP2004213625A (ja) | 2004-07-29 |
US20040139433A1 (en) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3817541B2 (ja) | プログラムに基づいた応答時間ベースの作業負荷分配技法 | |
JP3944154B2 (ja) | マルチスレッド・サーバ内のスレッド・プールを動的に調整する方法およびシステム | |
Gu et al. | Tiresias: A {GPU} cluster manager for distributed deep learning | |
Hadary et al. | Protean:{VM} allocation service at scale | |
US10713088B2 (en) | Event-driven scheduling using directed acyclic graphs | |
US11593404B2 (en) | Multi-cluster warehouse | |
US8015564B1 (en) | Method of dispatching tasks in multi-processor computing environment with dispatching rules and monitoring of system status | |
EP3468121B1 (en) | Adaptive resource allocation method and apparatus | |
US10430218B2 (en) | Management of demand for virtual computing resources | |
US20190347137A1 (en) | Task assignment in virtual gpu enabled systems | |
US20110119680A1 (en) | Policy-driven schema and system for managing data system pipelines in multi-tenant model | |
US20110023044A1 (en) | Scheduling highly parallel jobs having global interdependencies | |
Liu et al. | A survey of scheduling frameworks in big data systems | |
Jonathan et al. | Awan: Locality-aware resource manager for geo-distributed data-intensive applications | |
Zaouch et al. | Load balancing for improved quality of service in the cloud | |
Keerthika et al. | An efficient grid scheduling algorithm with fault tolerance and user satisfaction | |
EP2840513B1 (en) | Dynamic task prioritization for in-memory databases | |
Choi et al. | Gpsf: general-purpose scheduling framework for container based on cloud environment | |
Lin et al. | Two-tier project and job scheduling for SaaS cloud service providers | |
Ghazali et al. | CLQLMRS: improving cache locality in MapReduce job scheduling using Q-learning | |
Thamsen et al. | Hugo: a cluster scheduler that efficiently learns to select complementary data-parallel jobs | |
Hu et al. | Low latency big data processing without prior information | |
Khalil et al. | Multi-agent model for job scheduling in cloud computing | |
Hanif et al. | Jargon of Hadoop MapReduce scheduling techniques: a scientific categorization | |
US20230195743A1 (en) | Balancing time-constrained data transformation workflows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060125 |
|
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: 20060530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060612 |
|
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: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |