JP4713080B2 - 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 - Google Patents
単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 Download PDFInfo
- Publication number
- JP4713080B2 JP4713080B2 JP2003507716A JP2003507716A JP4713080B2 JP 4713080 B2 JP4713080 B2 JP 4713080B2 JP 2003507716 A JP2003507716 A JP 2003507716A JP 2003507716 A JP2003507716 A JP 2003507716A JP 4713080 B2 JP4713080 B2 JP 4713080B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- computer system
- memory
- array
- data
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Description
この発明は、一般的に、マルチアダプティブプロセッサ(「MAPTM」、左記は、コロラド州、コロラドスプリングスのエス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers, Inc.)の商標)等の複数の処理素子を組込むコンピュータアーキテクチャの分野に関する。より特定的には、この発明は、単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを組込むコンピュータシステムを利用して、ウェブサイトアクセスおよび処理を加速させるためのシステムおよび方法に関する。
この発明の譲受人である、SRC Computers, Inc.は、たとえば、プログラマブルMAP素子として機能するフィールドプログラマブルゲートアレイを利用するマルチアダプティブプロセッサ(「MAPTM」)とともに業界標準のプロセッサを用いるシステムを含む、マルチプロセッサコンピュータシステムの設計および開発における業界のリーダーである。
が、この明細書中に開示される。具体的な実施例では、ウェブサイトは、すべてのシステムのリソースを共有し、かつ単一のオペレーティングシステムイメージ下で動作する、業界標準のマイクロプロセッサおよび1つ以上の再構成可能なプロセッサをともに含むハイブリッドマルチプロセッサコンピュータシステムでもってサービスしてもよい(が、代替的な実施例では、クラスタ管理ソフトウェアを用いて、ユーザにはマイクロプロセッサのクラスタがオペレーティングシステムの単一のコピーとして見えるようにし得る)。このようなシステムでは、人口統計データ処理アルゴリズムは、特別に適応されたフィールドプログラマブルゲートアレイ(「FPGA」)の形で設けることのできる再構成可能なプロセッサにロードされ得る。この態様では、適切なアルゴリズムは、標準のマイクロプロセッサベースのサーバより最大1000倍まで速くデータを処理することのできる、(ソフトウェアとは反対に)ハードウェアゲートで実現され得る。
上述および他の特徴ならびに目的、およびそれらを達成する方法がより明らかとなり、この発明自体が最もよく理解されるだろう。
再構成可能な機能ユニットとして用いられる少なくとも1つの比較的大きなFPGA134を含む。加えて、制御ブロック132と、予めプログラムされたまたは動的にプログラム可能な構成ROMと(後により詳細に述べる)は、再構成可能なMAP素子112が必要とする情報を含み、これにより、特定のアルゴリズムを実行することが可能となる。また、ユーザがプログラム制御下で新しい構成をFPGA134に直接ダウンロードすることも可能であるが、場合によっては、これは複数のメモリアクセスを消費することがあり、アルゴリズムが短命である場合システム性能を全体的に低下させるおそれがある。
ていないオペランドに関して問題が生じる。この問題に対処するために、ソフトウェアとハードウェアとの組合せを含む解決法がこの明細書中に開示される。
ナリ表現を表示するよう構成された。最終オペランドコマンドを受取った後、制御ブロック132内のパイプラインカウンタ158は、そのカウントがその特定のアルゴリズムに対するパイプラインの深さと等しくなるまでクロックサイクルを数える。その時点で、制御ブロック132内の等化コンパレータ160は、ステータスレジスタ152の内部の群におけるライン164上でビジービットをデアサートする。最終オペランド信号を発行した後、プロセッサ108は、ステータスレジスタ152を繰返し読出し、バス166上のいかなる出力データも受入れるだろう。ビジーフラグがデアサートされると、このタスクを停止させ、MAP素子112を別のタスクのために利用することができる。MAP素子112を構成されたままにし、プログラムを異なるプロセッサ108に転送し、タスクを中断されたところから再開させることも可能であることに留意されたい。
能なアレイ42の出力は、出力FIFO74に供給されて、メモリ出力データをライン94(または読出トランク28)上およびチェーンポート24に与える。入力バッファ40、再構成可能なアレイ42および出力FIFO74は、制御ブロック46の制御下で動作する。
入力記憶部は、ホストシステムにおけるマイクロプロセッサ12のうち1つからのメモリ書込により、またはMAP DMAにより最初にロードされるメモリチップからなる。バッファ40は、特定の実施例では、72ビット幅および2Mエントリの深さであり得る。これにより、必要な場合、64のビットオペランドとデータ修正のための8つのエラー修正コード(「ECC」)ビットとの記憶が可能となる。ユーザアレイ42により、このバッファ40からオペランドまたは参照データを読出すことができる。データは使用後も破損されず、このためMAP素子112がオペランドを再利用することが可能となる。バッファ40がロードされた後にだけオペランドを読出すことにより、オペランドが時間順にMAP素子112に到達する必要がなくなる。MAP素子112が要求するのは、記憶順序を維持することだけであり、これにより、入力バッファ40に記憶される前にオペランドがばらばらの順序で到達することが可能となる。これはキャッシュライン転送を意味する。キャッシュライン転送とは、典型的には時間による順序で実行することはできないが、未キャッシュ転送の4倍の帯域幅を有し得るものであり、これを用いて入力バッファ40をロードすることができる。
入力バッファ40の内容は、これに対して、制御ブロック46からアドレスおよび読出イネーブル信号を与えることによりアクセスされる。これらのアドレスは、2つの方法のうち1つで生成され得る。第一に、プログラマブルユーザアレイ42によりアドレスビットをアドレス生成部制御ブロック46へ与えることができ、そこで、このアドレスビットは他の制御信号と組合わされ、入力バッファ40へ発行される。これにより、参照データへのアクセスに必要とされるような、バッファ40への極めてランダムなアクセスが可能となる。別のアドレスモードは、スタートアドレス、ストップアドレスおよびストライドを含むスタートコマンドを発行するようユーザに要求する。アドレス生成部制御ブロック46は、次いで、スタートアドレスにおいて入力バッファ40へのアクセスを開始し、ストップアドレスに到達するまで、送り出される最後のアドレスにストライド値を加えることにより、これにアクセスし続けるだろう。これは、同様の要素がアレイから抽出される、ベクトル処理を行なう場合に非常に有用な技術となる可能性がある。ストライドはスタートアドレスとストップアドレスとの間のデルタ未満のいかなる数字でもあり得るので、MAP素子112は、高性能の計算市場において非常に有用なデータ収集機能を極めて容易に行なうことができる。
アレイ42は、MAP素子112の実際の計算機能を実行する。これは、MAP素子112の他の要素に相互接続された1つ以上の高性能フィールドプログラマブルゲートアレイ(「FPGA」)を含み得る。後により詳細に開示されるこの発明の特定の実現例は、500,000を超える使用可能なゲートをもたらす4つのこのような装置を用い得る。これらの構成要素は、選択された構成ROMの内容をFPGAにロードするユーザコマン
ドにより構成される。構成後、ユーザアレイ42は、これが行うようプログラミングされたいかなる機能も実行することができる。ベクトル処理に対してその性能を最大限にするために、アレイ42は、2つのオペランドのストリームに同時にアクセス可能であるべきである。これは、1つの72ビット幅の入力ポートを入力オペランド記憶部に接続し、第2の72ビット幅のポートをチェーン入力コネクタポート24に接続することにより達成される。このコネクタにより、MAP素子112が、先のMAP素子112によって与えられたデータを用いることが可能となる。チェーンポート24により、単一のMAP素子112アセンブリの能力をはるかに超えるであろう機能を実現することが可能となる。加えて、示される特定の実現例では、オペランドのみがチェーンポート24を介して転送されるので、帯域幅はメインメモリの帯域幅を超え、結果として、固定命令マイクロプロセッサベースのプロセッサ12より性能が優れたものとなり得る。
ユーザアレイ42が結果を生成すると、これを72ビット幅の経路を介して出力結果記憶素子(たとえば、出力FIFO74)へ送り、次にこの出力結果記憶素子が、72ビット幅の読出ポートまたは72ビット幅のチェーンポート24へこのデータを送り、さらに次のMAP素子112に送ることができる。この記憶装置は複数の異なったメモリタイプから作られ得る。FIFO74記憶装置を用いることにより、直ちにホストマイクロプロセッサが読出すことのできない、または出力チェーンポート24を介して次の段階へ送ることのできない結果が一時的に保持されることとなる。この特徴により、チェーンにおけるMAP素子112は異なる周波数で実行することが可能となる。この場合、出力FIFO74は速度整合バッファと同様に機能する。非連鎖動作では、この結果を読出しているマイクロプロセッサを遅延し得る。この場合、FIFO74は、結果が読出されるのを待機する間にMAP素子112が「ストール」する(stalling)ことを防ぐ。この発明の特定の実施例では、72ビット幅および512Kエントリの深さであるFIFO74を用いてもよい。上述の特許出願に開示されるように、出力記憶部はまた、共通メモリに見出されるような真のメモリ装置であり得る。この場合、書込アドレスは、ユーザアレイ42またはアドレス生成部により与えられる必要があり、読出アドレスは、メモリから結果を読出すエンティティにより与えられる必要がある。これはいくらか電気的に複雑である可能性があるが、いかなる順序でも結果にアクセスし得るという利点を有する。
上述の特許出願では、共通メモリに対してDMAを実行するMAP素子112の能力が開示された。この能力を、主にオペランドの動きおよび結果に関して述べたが、同じ概念をコマンドに適用することも可能である。通常一連のコマンドを直接MAP素子112に書込むとされるマイクロプロセッサはまた、同じコマンドを共通メモリにも書込み得る。一連のコマンドの書込の後、マイクロプロセッサはMAP素子112に割込を送ることができる。次いで、MAP素子112は共通メモリからコマンドを読出し、企図されたとおりにこれらを実行し得る。このコマンドリストは、前述の特許出願において特定されるD
MA命令を含み得るので、MAP素子112は、さらなるプロセッサ12のいかなる介入もなしに、その入力オペランドをすべて検索し、その結果をすべて記憶し得る。MAP素子112の処理が完了すると、MAP素子112はマイクロプロセッサに割込んで、共通メモリにおいて結果が入手可能であるという信号を送り得る。この態様での動作により、MAP素子112とマイクロプロセッサとの間で要求される相互作用が減じられる。
当初開示されたように、電気的に消去可能なプログラマブルROM(「EEPROM」)または類似の装置を用いて、ユーザアレイ42のための機能のライブラリを保持することができる。MAP素子112自体のROMにこれらのアルゴリズムを配置することにより、ユーザアレイ42の機能を迅速に変更することができる。この態様では、ユーザプログラムは、ボードROMのうち1つに新しい機能をダウンロードし、これによりその内容を更新し、MAP素子112が新しい機能を実行できるようにし得る。特定の実現例では、これは、ライブラリ機能のうちの1つを予約して、EEPROMプログラマの機能を実行することにより達成され得る。ROMを更新するためのコマンドを受取ると、ユーザアレイ42はこの特別の機能を備えるよう構成され、データがMAP素子112入力記憶部(たとえば、入力バッファ40)から読出され、次いで、ROMにロードされて更新処理を完了し得る。
FPGAと、ユーザアレイ42を形成する4つのOR3T125 FPGAとを利用し得る。ユーザは、それに書込まれるデータを変更し、MAP素子112が読出されるとこの変更されたデータを与えるこれらのFPGAにおいて、アルゴリズムを実現することができる。加えて、各MAP素子112はまた、ボード上に4個の構成ROMを8組含み得る。これらのROMはユーザにより予めプログラミングされ、プログラム制御下でユーザアレイ42の4つのユーザFPGAを構成する。これらのROMは、外部で、またはシステム内に位置するMAP素子112上にある間のどちらかで、再プログラミングされ得る。
この明細書中に開示されるこの発明のコンピュータシステムの代表的な実現例では、プロセッサ12は、ペンティアム(R)(PentiumTM)(カリフォルニア州、サンタクララ、インテル・コーポレーション(Intel Corporation)の商標)プロセッサを含み得、これらの装置は、戻されたステータスワードを含むMAP素子112に対して送受信されるすべてのアドレスビットおよびデータワードに適用するアクティブな「ロー」論理規則を利用する。
前述のように、4つのユーザFPGA(202、204、206および208)は、一
連の水平、垂直および斜めのバスを介して相互接続され、これにより、ユーザアレイ42のための単一のFPGAの容量を超える設計に対して、既存の対称的な内部チップルーティングを最も容易に拡張することが可能となる。示される具体例では、バスのサイズは、少なくとも64ビットのバス幅を維持しつつ、可能な限り多くのピンを利用するよう選択された。
MAPはシステムのメモリアレイに配置され得、アドレスフィールドの一部をデコードするので、プロセッサ12により生成されるアドレスは正確にアセンブルされなければならない。以下の表1は、プロセッサ12およびMAP素子112ボードで見られるアドレスビットの割当を示す。プロセッサボードブリッジ素子は、システムの大きさに基づきMAP素子112に実際に伝送されるビット位置を再割当するだろう。
フィールド選択ビットは、ブリッジ素子から出る2つの最上位アドレスビットであり、これを用いて、メモリスタックにおける4つの可能なメザニン(mezzanine)カードのいずれがアクセスされているかを選択する。すべてのメザニンカードに対するフィールド選択ビットは、P6バスビットA[21:20]の状態により決定される。ビットA21がセットされる場合、MAP素子112動作は進行中であり、フィールド選択ビットは11にセットされる。MAP素子112は、1つのMAP素子112が各セグメントのバンク0になるまで、第1のMAP素子112はセグメント0バンク0にあり、第2の素子はセグメント1バンク0にあり、などとなるように、セマフォ(semaphore)レジスタのちょうど上方に常に配置される。これらは、次いで、セグメント0バンク1に配置され、すべてが配置されるまで同じパターンが続けられる。これにより、これら素子は連続したアドレスブロックに保持される。
次の3つの最上位ビットは、チップ選択ビットである。これらは、通常、メザニンボード上の8つの行のメモリチップのうちいずれが活性化されるかを選択する。MAP素子112については、チップ選択0および1が用いられる。チップ選択0を用いてESDRAMメモリ入力バッファ40に書込み、チップ選択1を用いて制御ブロック46とユーザアレイ42のユーザチップとにアクセスする。
P6バス上の次の19個の最上位ビットは、通常、使用の際にキャッシュラインのメモリチップ内の実際の位置を選択するメモリアドレスビットである。これらのビットのうち5つが、MAP素子112によって、後により詳細に述べられる種々のコマンドにデコードされる。
次の4つの最上位ビットはバンク選択ビットである。これらのビットを用いて、所望のメモリまたはMAP素子112が配置されるセグメント内の特定のバンクを選択する。
次の4つの最上位ビットはトランク選択ビットである。これらのビットの数は、システムにおけるセグメントの数に応じて0から4の範囲にわたる。これらのビットを用いて、所望のメモリまたはMAPを含むセグメントを選択する。未使用のビットは0にセットされる。
次の2つの最上位ビットはワード選択ビットである。これらのビットは、4ワードキャッシュラインの各ワードが用いられている順序を決定する。CS[1:0]が01にセットされる場合、これらのビットはデコードされたコマンドの一部である。
CMD[3:0]は、以下の表2に示されるように、CS[1:0]が01である場合、MAP制御ブロック46チップにより以下のコマンドへデコードされる。このデコードは、トランザクションがREADまたはWRITEのどちらであるかにも依存する。加えて、SEL[2:0]を、後に記載されるRECONおよびLDROMコマンドとともに用いて、8つのROMのいずれが用いられるかを選択する。
MAP素子112がコマンドを能動的に受取らない場合、すべての入力が1にセットされ、すべての内部回路はスタティックに保持される。したがって、「1111」という入来コマンドをどんなものとしてもデコードすることができず、使用することができない。
書込トランザクション中に発行されるこのコマンドにより、制御ブロック46チップがユーザアレイ42のユーザチップに対してグローバルセットリセット(「GSR」)を生成し、制御チップが再プログラミングされる。すべての内部ラッチはリセットされるが、ユーザチップの構成は変更されない。読出されるのを待機していたデータがすべて失われることとなる。
書込トランザクション中に発行されるこのコマンドにより、制御チップが、ユーザアレイ42の4つのユーザFPGAすべてに対するGSR信号を生成する。すべての内部ラッチがリセットされるが、構成は変更されない。いずれのオペランドも失われるが、制御ブロック46チップにおいて読出されるのを待機しているデータは失われることはない。
書込トランザクション中に発行されるこのコマンドにより、制御チップが、ユーザアレイ42の4つのユーザFPGAを、SEL[2:0]により選択されるROMとともに再構成する。依然として処理中のいずれのオペランドも失われるが、制御チップにおいて読出されるのを待機しているデータは失われることはない。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、これ以上オペランドを送らないこととパイプラインをフラッシュ(flush)すべきであることとを知らせる。制御チップはパイプラインカウンタを開始し、パイプラインの深さに達するまで読出データを与え続ける。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、それがユーザ回路に直接送られる有効オペランドを受取っていることを知らせる。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、プロセッサ12がMAP素子112の使用を終えたことを知らせる。制御チップはステータスワードにおけるビジービットをリセットし、新しいユーザを待つ。ユーザ回路に現在ロードされている構成は変更されない。
このコマンドは書込トランザクション中に発行されて、MAP素子112制御ブロック46チップに、SEL[2:0]により特定されるROMがアドレス0で開始する入力バッファ40の内容を再ロードされるべきことを知らせる。これにより、8つのオンボードアルゴリズムのうち1つに不揮発性変化がもたらされることとなる。
このコマンドは書込トランザクション中に発行され、スタートアドレス、ストップアドレス、自動/ユーザ選択およびストライドを入力コントローラに送る。次いで、この入力コントローラが入力バッファ40を制御し、ストップアドレスがヒットされるまで、これらのパラメータを用いてユーザアレイ42のユーザチップにオペランドを転送し始める。この命令に伴うデータワード0は、ビット0から20にスタートアドレス、ビット23から43にストップアドレス、ビット46から51にストライド、および、ビット位置54にユーザ/自動ビットを含む。すべての場合、各ビット群の最下位ビット(「LSB」)は、その値のLSBを含む。
このコマンドは読出トランザクション中に発行されて、ステータスワードをプロセッサ12に戻すようにする。このトランザクションは、LASTOPコマンドの後に続く場合、パイプラインカウンタを増分することはない。ステータスワードの詳細は、後の表4に
示される。
このコマンドは読出トランザクション中に発行されて、2つのデータワードをプロセッサ12に戻すようにする。このトランザクションは、LASTOPコマンドの後に続く場合、パイプラインカウンタを増分することとなる。ステータスワードの詳細も表4に示される。
このコマンドは読出トランザクション中に発行されて、ステータスワードおよびデータワードをプロセッサ12に戻すようにする。
SEL[2:0]ビットは2つの目的のために用いられる。RECONまたはLDROMコマンドとともに用いられる場合、これらは、8つのオンボードROMセットのうちいずれがその命令に対して用いられるのかを決定する。これは以下の表3に規定される。
読出トランザクションが発生するたびに、その読出を発行するプロセッサ12にステータスワードを戻す。この64ビットワードの構造は以下のとおりである。
MAP素子112の通常の動作は以下のとおりである。電源投入後、MAP素子112制御ブロック46チップは、それ自体を自動的に構成およびリセットする。ユーザアレイ42の4つのユーザチップにはいかなる構成も存在しない。MAP素子112を用いることを欲するプロセッサ12は、まず、RDSTATコマンドをMAP素子112に送る。
とにより、この計算に対するパイプラインの深さもまた示される。
MAP素子112は、ベクトル化されたモードまたはVMAPTMのモード(VMAPは
この発明の譲受人である、SRC Computers, Inc.の商標)で実行する能力を有する。このモードにより、プロセッサ12の介入なしに、1つのMAP素子112からの出力データを、次のMAP素子112のユーザアレイ42におけるユーザチップに直接送ることが可能となる。代表的な実施例では、このリンクまたはチェーンポート24は、最大で800MB/秒で動作し、システムにおけるすべてのMAP素子112を連鎖して接続する。1本のチェーンは、少なくとも2つの、および最大ではこのシステムが含む限りのMAP素子112の連続した群で構成されなければならない。複数の重なり合わないチェーンは共存し得る。
MAP素子112は、システムの動作中にオンボードROMの内容を外部から再ロードし、これによりアルゴリズムを変更することを可能にする能力を有する。ユーザアレイ42における4つのユーザチップすべてに対して同じROMが同時に更新されることに留意されたい。
MAP素子112ユーザアレイ42は、入力メモリバス、入力バッファ40またはチェーンポート24からデータを受けることができる。先に説明および図示されたこの発明の実施例では、これらのいずれかのソースからの64ビットすべてが、制御ブロック46から送られユーザアレイ42のユーザチップにおける入力クロックをイネーブルにする、ライン68上のVALID IN信号(図8)とともに、4つのユーザチップ(図9の202、204、206および208)すべてに送られる。
アルゴリズム動作が完了した後、出力データは、DOUT[00:63]ネットに接続されるピン上でユーザアレイ42のユーザチップにおける64ビットワードに形成される。これらのネットは、最終的にはメモリコントローラまたはチェーンにおける次のMAP素子112に読出データを与える、出力FIFO74(図8)に接続する。64ビットの結果を形成した後、ユーザ回路は「FULL」信号が確実に「ロー」であるようにしなければならない。信号が「ロー」である場合、ユーザアレイ42から制御ブロック46とFIFO74上のFIFO♯WE入力とに「ロー」を与えることにより転送を開始する。
「読出」が発生して「読出」帯域幅を最大限にする前に、3つの結果ワードをユーザアレイ42から転送することができる。出力FIFO74(図8)は、図示される実施例では512kワードを保持することができる。3つのワードが制御ブロック46に保持されると、ステータスワードにおけるワードカウンタはバイナリ「11」を示すこととなる。
システムレベル動作を補助するために、ユーザアレイ42はまた、制御ブロック46にアルゴリズムのパイプライン深さを与えなければならない。この発明の特定の実施例では、これは、データ入力ワードを受取り、このデータを処理し、この結果をFIFO74へ転送し始めるのに必要な100MHzクロックサイクルの数と等しくなるだろう。
レームされるのと同じ発明に関連しているか否か、および、この発明が直面するのと同じ技術的な問題のいずれかもしくはすべてを緩和するか否かにかかわらず、包含するものであることを理解されたい。本出願人はこれにより、本願またはこれより発生するさらなる出願すべての審査手続期間中にそのような特徴および/またはそのような特徴の組合せに対し、新しい請求項を作成する権利を留保する。
Claims (11)
- プログラム命令に基づいてユーザデータを処理する少なくとも1つのマイクロプロセッサと、
書込ラインおよび読込ラインによって前記少なくとも1つのマイクロプロセッサと結合された少なくとも1つのメモリアレイと、
前記書込ラインおよび前記読込ラインに結合された少なくとも1つの再構成可能なプロセッサと、
を含むコンピュータシステムであって、
前記少なくとも1つの再構成可能なプロセッサは、
少なくとも1つのアルゴリズムをオペランドに対して実行するユーザアレイと、
前記書込ラインおよび前記ユーザアレイに結合し、前記書込ライン上の入力データを記憶する入力記憶部と、
前記ユーザアレイおよび前記読込ラインに結合し、前記ユーザアレイからの出力データを記憶する出力記憶部と、
前記ユーザアレイ、前記入力記憶部および前記出力記憶部に結合し、前記少なくとも1つの再構成可能なプロセッサの機能を制御する制御部と、
前記ユーザアレイおよび前記出力記憶部に結合し、前記コンピュータシステムにおける他の再構成可能なプロセッサからの入力を受け取り可能にするとともに前記コンピュータシステムにおける他の再構成可能なプロセッサに対して出力を供給可能にするチェーンポートと、
を有する、
コンピュータシステム。 - 前記オペランドは、前記入力記憶部に記憶された後、前記ユーザアレイへ転送される、
請求項1に記載のコンピュータシステム。 - 前記ユーザアレイは、少なくとも1つのフィールドプログラマブルゲートアレイを有する、
請求項1または2に記載のコンピュータシステム。 - 前記少なくとも1つのマイクロプロセッサのうちの1つが前記出力データを直ちに読み出すことができない場合に、前記出力記憶部は当該出力データを保持し、前記少なくとも1つの再構成可能なプロセッサは処理を継続する、
請求項1から3のいずれか1項に記載のコンピュータシステム。 - 前記少なくとも1つの再構成可能なプロセッサに対応付けられ、前記少なくとも1つのアルゴリズムを記憶するメモリをさらに含む、
請求項1から4のいずれか1項に記載のコンピュータシステム。 - 前記メモリは、前記コンピュータシステムの動作中に更新可能である、
請求項5に記載のコンピュータシステム。 - プログラム命令に基づいてユーザデータを処理する少なくとも1つのマイクロプロセッサと、
複数のメモリコントローラであって、各メモリコントローラは複数の再構成可能なプロセッサおよび当該複数の再構成可能なプロセッサに関連付けられた複数のメモリアレイに結合された、複数のメモリコントローラと、
前記複数のメモリコントローラを選択的に前記少なくとも1つのマイクロプロセッサに結合するスイッチと、
を含むコンピュータシステムであって、
前記複数の再構成可能なプロセッサの各々は、
前記コンピュータシステムにおける他の再構成可能なプロセッサからの入力を受け取り可能にするとともに前記コンピュータシステムにおける他の再構成可能なプロセッサに対して出力を供給可能にするチェーンポートを有する、
コンピュータシステム。 - 前記複数の再構成可能なプロセッサの各々は、
少なくとも1つのアルゴリズムをオペランドに対して実行するユーザアレイと、
対応する前記メモリコントローラおよび前記ユーザアレイに結合し、当該メモリコントローラからの入力データを記憶する入力記憶部と、
前記ユーザアレイおよび対応する前記メモリコントローラに結合し、前記ユーザアレイからの出力データを記憶する出力記憶部と、
を有する、
請求項7に記載のコンピュータシステム。 - 前記複数のメモリコントローラの各々は、フィールドプログラマブルゲートアレイを有する、
請求項7または8に記載のコンピュータシステム。 - 前記スイッチは、フィールドプログラマブルゲートアレイを有する、
請求項7から9のいずれか1項に記載のコンピュータシステム。 - 請求項1から10のいずれか1項に記載のコンピュータシステムを具備する再構成可能なサーバ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/888,276 | 2001-06-22 | ||
US09/888,276 US6434687B1 (en) | 1997-12-17 | 2001-06-22 | System and method for accelerating web site access and processing utilizing a computer system incorporating reconfigurable processors operating under a single operating system image |
PCT/US2002/014401 WO2003001396A1 (en) | 2001-06-22 | 2002-05-06 | System and method for web server with a reconfigurable processor operating under single operation system image |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008212482A Division JP4990244B2 (ja) | 2001-06-22 | 2008-08-21 | インターネット処理加速システムおよびデータを処理するための方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004537106A JP2004537106A (ja) | 2004-12-09 |
JP2004537106A5 JP2004537106A5 (ja) | 2005-12-22 |
JP4713080B2 true JP4713080B2 (ja) | 2011-06-29 |
Family
ID=25392899
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003507716A Expired - Lifetime JP4713080B2 (ja) | 2001-06-22 | 2002-05-06 | 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 |
JP2008212482A Expired - Lifetime JP4990244B2 (ja) | 2001-06-22 | 2008-08-21 | インターネット処理加速システムおよびデータを処理するための方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008212482A Expired - Lifetime JP4990244B2 (ja) | 2001-06-22 | 2008-08-21 | インターネット処理加速システムおよびデータを処理するための方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6434687B1 (ja) |
EP (1) | EP1402392B1 (ja) |
JP (2) | JP4713080B2 (ja) |
AU (1) | AU2002303661B2 (ja) |
CA (1) | CA2448223C (ja) |
WO (1) | WO2003001396A1 (ja) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996656B2 (en) * | 2002-10-31 | 2006-02-07 | Src Computers, Inc. | System and method for providing an arbitrated memory bus in a hybrid computing system |
US7904951B1 (en) | 1999-03-16 | 2011-03-08 | Novell, Inc. | Techniques for securely accelerating external domains locally |
US8060926B1 (en) | 1999-03-16 | 2011-11-15 | Novell, Inc. | Techniques for securely managing and accelerating data delivery |
US6621804B1 (en) * | 1999-10-07 | 2003-09-16 | Qualcomm Incorporated | Method and apparatus for predicting favored supplemental channel transmission slots using transmission power measurements of a fundamental channel |
US20020047861A1 (en) * | 2000-06-23 | 2002-04-25 | Labrie David William | Site information system and method |
US7155602B2 (en) * | 2001-04-30 | 2006-12-26 | Src Computers, Inc. | Interface for integrating reconfigurable processors into a general purpose computing system |
US7149892B2 (en) * | 2001-07-06 | 2006-12-12 | Juniper Networks, Inc. | Secure sockets layer proxy architecture |
US7908472B2 (en) * | 2001-07-06 | 2011-03-15 | Juniper Networks, Inc. | Secure sockets layer cut through architecture |
US7853781B2 (en) * | 2001-07-06 | 2010-12-14 | Juniper Networks, Inc. | Load balancing secure sockets layer accelerator |
US7228412B2 (en) * | 2001-07-06 | 2007-06-05 | Juniper Networks, Inc. | Bufferless secure sockets layer architecture |
US8065720B1 (en) | 2004-01-06 | 2011-11-22 | Novell, Inc. | Techniques for managing secure communications |
US7580837B2 (en) | 2004-08-12 | 2009-08-25 | At&T Intellectual Property I, L.P. | System and method for targeted tuning module of a speech recognition system |
US7299339B2 (en) * | 2004-08-30 | 2007-11-20 | The Boeing Company | Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework |
US7472576B1 (en) | 2004-11-17 | 2009-01-06 | State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Portland State University | Nanometrology device standards for scanning probe microscopes and processes for their fabrication and use |
US7242751B2 (en) | 2004-12-06 | 2007-07-10 | Sbc Knowledge Ventures, L.P. | System and method for speech recognition-enabled automatic call routing |
US7751551B2 (en) | 2005-01-10 | 2010-07-06 | At&T Intellectual Property I, L.P. | System and method for speech-enabled call routing |
US7991984B2 (en) * | 2005-02-17 | 2011-08-02 | Samsung Electronics Co., Ltd. | System and method for executing loops in a processor |
US20070011019A1 (en) * | 2005-07-05 | 2007-01-11 | Netfire1 Pty Ltd | Managed e-commerce trading |
US20070011055A1 (en) * | 2005-07-05 | 2007-01-11 | Netfire 1 Pty Ltd | E-commerce with direct access to real-time inventory |
US8526577B2 (en) * | 2005-08-25 | 2013-09-03 | At&T Intellectual Property I, L.P. | System and method to access content from a speech-enabled automated system |
US7716100B2 (en) * | 2005-12-02 | 2010-05-11 | Kuberre Systems, Inc. | Methods and systems for computing platform |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US8145749B2 (en) * | 2008-08-11 | 2012-03-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US8141102B2 (en) * | 2008-09-04 | 2012-03-20 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US7984267B2 (en) * | 2008-09-04 | 2011-07-19 | International Business Machines Corporation | Message passing module in hybrid computing system starting and sending operation information to service program for accelerator to execute application program |
US8230442B2 (en) | 2008-09-05 | 2012-07-24 | International Business Machines Corporation | Executing an accelerator application program in a hybrid computing environment |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8205066B2 (en) | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US8527734B2 (en) * | 2009-01-23 | 2013-09-03 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system |
US9286232B2 (en) * | 2009-01-26 | 2016-03-15 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a cache of ranges of currently registered virtual addresses |
US8843880B2 (en) * | 2009-01-27 | 2014-09-23 | International Business Machines Corporation | Software development for a hybrid computing environment |
US8255909B2 (en) | 2009-01-28 | 2012-08-28 | International Business Machines Corporation | Synchronizing access to resources in a hybrid computing environment |
US9170864B2 (en) * | 2009-01-29 | 2015-10-27 | International Business Machines Corporation | Data processing in a hybrid computing environment |
US20100191923A1 (en) * | 2009-01-29 | 2010-07-29 | International Business Machines Corporation | Data Processing In A Computing Environment |
US8001206B2 (en) * | 2009-01-29 | 2011-08-16 | International Business Machines Corporation | Broadcasting data in a hybrid computing environment |
US8010718B2 (en) * | 2009-02-03 | 2011-08-30 | International Business Machines Corporation | Direct memory access in a hybrid computing environment |
US8037217B2 (en) * | 2009-04-23 | 2011-10-11 | International Business Machines Corporation | Direct memory access in a hybrid computing environment |
US8180972B2 (en) * | 2009-08-07 | 2012-05-15 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment by maintaining remote memory values locally |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US9417905B2 (en) * | 2010-02-03 | 2016-08-16 | International Business Machines Corporation | Terminating an accelerator application program in a hybrid computing environment |
US8578132B2 (en) * | 2010-03-29 | 2013-11-05 | International Business Machines Corporation | Direct injection of data to be transferred in a hybrid computing environment |
US9015443B2 (en) | 2010-04-30 | 2015-04-21 | International Business Machines Corporation | Reducing remote reads of memory in a hybrid computing environment |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
WO2012154612A1 (en) | 2011-05-06 | 2012-11-15 | Xcelemor, Inc. | Computing system with hardware scheduled reconfiguration mechanism and method of operation thereof |
US8745626B1 (en) | 2012-12-17 | 2014-06-03 | Throughputer, Inc. | Scheduling application instances to configurable processing cores based on application requirements and resource specification |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US20130157639A1 (en) | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
GB2499885B (en) * | 2012-01-17 | 2014-03-05 | Mark Henrik Sandstrom | Application load and type adaptive manycore processor architecture |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
US9842001B2 (en) | 2012-06-27 | 2017-12-12 | International Business Machines Corporation | System level acceleration server |
US9153311B1 (en) | 2014-05-27 | 2015-10-06 | SRC Computers, LLC | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers |
US9530483B2 (en) | 2014-05-27 | 2016-12-27 | Src Labs, Llc | System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |
US9411528B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Storage management systems and methods |
US9542244B2 (en) | 2015-04-22 | 2017-01-10 | Ryft Systems, Inc. | Systems and methods for performing primitive tasks using specialized processors |
US9411613B1 (en) | 2015-04-22 | 2016-08-09 | Ryft Systems, Inc. | Systems and methods for managing execution of specialized processors |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0814816B2 (ja) * | 1988-09-19 | 1996-02-14 | 富士通株式会社 | 並列計算機 |
US5671377A (en) * | 1994-07-19 | 1997-09-23 | David Sarnoff Research Center, Inc. | System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream |
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US5715453A (en) * | 1996-05-31 | 1998-02-03 | International Business Machines Corporation | Web server mechanism for processing function calls for dynamic data queries in a web page |
US5860146A (en) * | 1996-06-25 | 1999-01-12 | Sun Microsystems, Inc. | Auxiliary translation lookaside buffer for assisting in accessing data in remote address spaces |
US5987480A (en) * | 1996-07-25 | 1999-11-16 | Donohue; Michael | Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content |
US6128663A (en) * | 1997-02-11 | 2000-10-03 | Invention Depot, Inc. | Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
US6076152A (en) * | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
EP0926594B1 (en) * | 1997-12-17 | 2007-05-23 | Hewlett-Packard Company, A Delaware Corporation | Method of using primary and secondary processors |
US6185612B1 (en) * | 1998-10-29 | 2001-02-06 | Novell, Inc. | Secure distribution and use of weighted network topology information |
NO309169B1 (no) * | 1998-11-13 | 2000-12-18 | Interagon As | Sokeprosessor |
JP3587095B2 (ja) * | 1999-08-25 | 2004-11-10 | 富士ゼロックス株式会社 | 情報処理装置 |
-
2001
- 2001-06-22 US US09/888,276 patent/US6434687B1/en not_active Expired - Lifetime
-
2002
- 2002-05-06 EP EP02731698.3A patent/EP1402392B1/en not_active Expired - Lifetime
- 2002-05-06 AU AU2002303661A patent/AU2002303661B2/en not_active Expired
- 2002-05-06 CA CA002448223A patent/CA2448223C/en not_active Expired - Lifetime
- 2002-05-06 JP JP2003507716A patent/JP4713080B2/ja not_active Expired - Lifetime
- 2002-05-06 WO PCT/US2002/014401 patent/WO2003001396A1/en active Application Filing
-
2008
- 2008-08-21 JP JP2008212482A patent/JP4990244B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1402392A1 (en) | 2004-03-31 |
EP1402392B1 (en) | 2020-12-02 |
CA2448223A1 (en) | 2003-01-03 |
EP1402392A4 (en) | 2008-05-07 |
JP4990244B2 (ja) | 2012-08-01 |
US6434687B1 (en) | 2002-08-13 |
US20020056033A1 (en) | 2002-05-09 |
AU2002303661B2 (en) | 2008-04-03 |
CA2448223C (en) | 2007-06-12 |
JP2004537106A (ja) | 2004-12-09 |
JP2009080799A (ja) | 2009-04-16 |
WO2003001396A1 (en) | 2003-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4713080B2 (ja) | 単一のオペレーティングシステムイメージ下で動作する再構成可能なプロセッサを用いるウェブサーバのためのシステムおよび方法 | |
AU2002303661A1 (en) | System and method for web server with a reconfigurable processor operating under single operation system image | |
US6339819B1 (en) | Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer | |
JP5364543B2 (ja) | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ | |
US7209996B2 (en) | Multi-core multi-thread processor | |
US7421524B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
AU2001245761A1 (en) | Enhanced memory algorithmic processor architecture for multiprocessor computer systems | |
US7073004B2 (en) | Method and data processing system for microprocessor communication in a cluster-based multi-processor network | |
US20220044123A1 (en) | Embedded Programmable Logic Device for Acceleration in Deep Learning-Focused Processors | |
Dadda | The evolution of computer architectures | |
CA2515283C (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem | |
AU2002356010A1 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041222 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070123 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070420 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070427 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070518 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080821 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080827 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080827 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080902 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20081114 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100716 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100723 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4713080 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |