JP4994580B2 - 動的ランタイム環境でタグ付き型を用いるシステム及び方法 - Google Patents
動的ランタイム環境でタグ付き型を用いるシステム及び方法 Download PDFInfo
- Publication number
- JP4994580B2 JP4994580B2 JP2004148158A JP2004148158A JP4994580B2 JP 4994580 B2 JP4994580 B2 JP 4994580B2 JP 2004148158 A JP2004148158 A JP 2004148158A JP 2004148158 A JP2004148158 A JP 2004148158A JP 4994580 B2 JP4994580 B2 JP 4994580B2
- Authority
- JP
- Japan
- Prior art keywords
- tagged
- class
- type
- language
- computer
- 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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4492—Inheritance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
パーティション I:アーキテクチャ
パーティション II:メタデータ定義及びセマンティックス
パーティション III:CIL命令セット
パーティション IV:プロファイル及びライブラリー
パーティション V:付録
である。
共通型システム(CTS)は、多くのプログラミング言語の中に見出される型及びオペレーションを支援するリッチ型システムを提供する。共通型システムは、広範囲のプログラミング言語を完全に実行することをサポートすることを目的とする。
CLIは、メタデータを用いて、共通型システムによって定義される型を記述し、参照する。メタデータは、特定のプログラミング言語とは独立して記憶(「持続」)される。メタデータは、プログラムを操るツール(コンパイラー、デバッカー等)間及びこれらツールと仮想実行システムとの間で使用される共通的な交換機構を提供する。
共通言語仕様は、言語設計者とフレームワーク(クラスライブラリー)設計者との間の取り決めである。それは、CTS型システムのサブセットとユーセージ取り決めのセットを指定する。言語は、CLSの一部であるCTSのこれらの部分を少なくとも実行することによってフレームワークにアクセスする最大能力をこれらのユーザに提供する。同様に、フレームワークは、公表された態様(クラス、インタフェース、方法、フィールド等)がCLSの一部である型を用いて、そして、CLS取り決めに従う場合に、最も広く用いられるであろう。
仮想実行システムは、CTSモデルを実装し、実行する。VESは、CLIのために書かれたプログラムをロードし走せる役割を担う。それは、メタデータを使用して別々に生成されたモジュールをランタイム(遅い結合)に一緒に結合して、マネージドコード及びデータを実行するために必要とされるサービスを提供する。
スタック遷移図は、命令が実行される前後の評価スタックの状態を示す。以下は、代表的なスタック遷移図である。
1. 配列は、システム配列(System Array)から継承される。
2. FooをBarにキャストできる場合、Foo[ ]をBar[ ]にキャストできる。
3. 上記2の目的のために、enumsは、それらの内在する型として扱われる。したがって、E1とE2が、内在する型を共有するならば、E1[ ]を、E2[ ]にキャストできる。
オブジェクトがクラスにキャストできない場合には、無効キャスト例外が投じられる。
1. 配列は、システム配列から継承する。
2. FooをBarにキャストできる場合、Foo[]をBarにキャストできる。
3. 2の目的のため、enumsは、内在する型として扱われる。したがって、E1とE2が、内在する型を共有する場合、E1[]を、E2[]にキャストできる。
クラスを発見できない場合は、型ロード例外(Type Load Exception)が投じられる。通常、これは、ランタイムにおいてではなく、CILがネイティブコードに変換されるときに検出される。
コレクトCILは、クラスが、クラスを示す有効なTypeRef又はTypeDefトークンであること、及び、objは常に、ヌルまたは、オブジェクト参照のいずれか一方であることを保証する。
タグ命令は、タグなし数値i(ネイティブ整数)を(型Oの)型トップのインスタンスに変換する。これは、特別タグビットをiにセットすることによって達成される。
数値タグビットが既にセットされている場合に、オーバーフロー例外(Overflow Exception)が投じられる。
コレクトCILは、iが型ネイティブintから出ていることを保証する。
尚、opcodes OPCODE_TAGとOPCODE_UNTAGは、有効なCLI opcodesの範囲から割り当てられるであろう(ECMAパーティションIII、セクション1.2.1を参照)。
タグなし(untag)命令は、タグ付きオブジェクト参照をネイティブ整数に変換する。これは、特別タグビットをobjにアンセット(un−setting)することによって達成される。
objがタグ付き数値でない場合に、無効キャスト例外が投じられる。
objがヌルの場合に、ヌル参照例外が投じられる。
コレクトCILは、objが型トップのオブジェクト参照等であり、タグ付き整数を表すことを保証する。
120 コンパイラー
124 CIL命令
130 仮想マシン
134 アプリケーション
140 タグ付き型
150 検証ルール
160 スタック例外ハンドラー
210 トップ
220 システムオブジェクト
230 タグ付き型
240 これらの型への継承を却下するランタイムルール
500 実行ルール
520 キャストクラス
524 テストクラス
530 整数をオブジェクト参照に変換
534 オブジェクト参照を整数に変換
1028 オペレーティングシステム
1030 アプリケーション
1032 モジュール
1034 データ
1014 処理ユニット
1016 システムメモリ
1020 揮発性
1022 不揮発性
1026 インタフェース
1024 ディスクストレージ
1042 出力アダプター
1038 インタフェースポート
1050 通信接続
1040 出力デバイス
1036 入力デバイス
1048 ネットワークインタフェース
1044 リモートコンピュータ
1046 メモリストレージ
1110 クライアント
1130 サーバ
1140 サーバデータ格納部
1150 通信フレームワーク
1160 クライアントデータ格納部
Claims (11)
- 実行時に動的に型付けされる動的プログラミング言語を実行するコンピュータシステムであって、
前記動的プログラミング言語によって宣言され、ポインター数値とその他の数値とを区別する1又は2以上のタグ付き数値の継承階層を宣言するクラスコンポーネントであって、前記継承階層が、分岐ツリーの一方に非タグ付き型のシステムオブジェクト階層を含み、もう一方に前記タグ付き数値を表すシールドされた型であるタグ付き型を含む、抽象ルート型を有し、前記タグ付き数値が、算術演算を実行するために変換されるクラスコンポーネントと、
ランタイム拡張を含む1つまたは複数の実行ルールを提供し、前記システムオブジェクト階層に含まれるユーザ定義の型が、前記抽象ルート型または前記タグ付き数値からプロパティを継承しないようにする少なくとも1つのメタデータ検証ルールを備えるルールコンポーネントと
を備え、
前記コンピュータシステムの記憶装置に記憶されたコンピュータ可読命令が、該コンピュータシステムの処理装置によって実行されると、
前記クラスコンポーネントおよび前記ルールコンポーネントを使用して、前記ユーザ定義の型が前記抽象ルート型または前記タグ付き数値からはプロパティを継承しないようにして、実行時に動的に型付けされる前記動的プログラミング言語を実行することを特徴とするシステム。 - 前記動的プログラミング言語は、仮想マシンによって実行される中間言語命令を生成するコンパイラーに供給されることを特徴とする請求項1記載のシステム。
- 前記動的プログラミング言語は、パール(Perl)、スキーム(Scheme)、ラビー(Ruby)、ピーソン(Python)及びスモールトーク(Smalltalk)のうちの一つを少なくとも含むことを特徴とする請求項1記載のシステム。
- 前記仮想マシンは、仮想実行システム(VES)、共通言語ランライム(CLR)及びジャバ仮想マシンのうちの一つを少なくとも含むことを特徴とする請求項2記載のシステム。
- 前記タグ付き数値は、共通言語インフラストラクチャ(CLI)を定義する「ECMA標準」にしたがうことを特徴とする請求項1記載のシステム。
- 前記ECMA標準は、少なくとも5つのパーティションを含み、前記パーティションは、パーティションI:アーキテクチャ、パーティションII:メタデータ定義及びセマンティクス、パーティションIII:CIL命令セット、パーティションIV:プロファイル及びライブラリー及びパーティションV:アネックスを含むことを特徴とする請求項5記載のシステム。
- 前記共通言語インフラストラクチャ(CLI)は、共通型システム、メタデータ記述、共通言語仕様及び仮想実行システムのうちの少なくとも一つを含むことを特徴とする請求項5記載のシステム。
- 前記抽象ルート型は、ECMAパーティションIIIで提供される型Oのオブジェクト参照に対応することを特徴とする請求項1記載のシステム。
- 前記抽象ルート型と関連する数値を「.ref」接尾辞を備える命令バリアントのスタックにロードするコンポーネントを更に備えることを特徴とする請求項1記載のシステム。
- 前記タグ付き数値を操作する少なくとも1つの命令をさらに備え、前記命令は、キャストクラス、テストクラス、整数値をオブジェクト参照に変換するタグ命令、及びオブジェクト参照を整数値に変換するアンタグ命令を少なくとも一つ含むことを特徴とする請求項1記載のシステム。
- 請求項1記載の前記クラスコンポーネントと前記ルールコンポーネントとを使用して、コンピュータ上で、実行時に動的に型付けされる動的プログラミング言語を実行するための前記コンピュータ可読命令を格納したことを特徴とするコンピュータ記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/458,460 | 2003-06-10 | ||
US10/458,460 US7168063B2 (en) | 2003-06-10 | 2003-06-10 | Systems and methods for employing tagged types in a dynamic runtime environment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005004737A JP2005004737A (ja) | 2005-01-06 |
JP4994580B2 true JP4994580B2 (ja) | 2012-08-08 |
Family
ID=33299639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004148158A Expired - Fee Related JP4994580B2 (ja) | 2003-06-10 | 2004-05-18 | 動的ランタイム環境でタグ付き型を用いるシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7168063B2 (ja) |
EP (1) | EP1486870B1 (ja) |
JP (1) | JP4994580B2 (ja) |
KR (1) | KR101046035B1 (ja) |
CN (1) | CN100507837C (ja) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050165837A1 (en) * | 2004-01-22 | 2005-07-28 | International Business Machines Corporation | System and method for embedded java memory footprint performance improvement |
US8566806B2 (en) * | 2005-03-04 | 2013-10-22 | Microsoft Corporation | Command-line data-type discovery and conversion |
US7571153B2 (en) * | 2005-03-28 | 2009-08-04 | Microsoft Corporation | Systems and methods for performing streaming checks on data format for UDTs |
US8701095B2 (en) * | 2005-07-25 | 2014-04-15 | Microsoft Corporation | Add/remove memory pressure per object |
US8176469B2 (en) * | 2006-05-04 | 2012-05-08 | Oracle International Corporation | Inter language interoperability using a variant type |
CN100403260C (zh) * | 2006-08-24 | 2008-07-16 | 上海科泰世纪科技有限公司 | 一种构件的继承方法 |
US8190661B2 (en) * | 2007-01-24 | 2012-05-29 | Microsoft Corporation | Using virtual repository items for customized display |
US8850414B2 (en) * | 2007-02-02 | 2014-09-30 | Microsoft Corporation | Direct access of language metadata |
US8145673B2 (en) | 2007-02-16 | 2012-03-27 | Microsoft Corporation | Easily queriable software repositories |
US20080201330A1 (en) * | 2007-02-16 | 2008-08-21 | Microsoft Corporation | Software repositories |
US8490051B2 (en) * | 2007-02-28 | 2013-07-16 | Microsoft Corporation | Generic interface for numeric types |
US20080250325A1 (en) * | 2007-04-03 | 2008-10-09 | Feigenbaum Barry A | Integrated Development Environment with Object-Oriented GUI Rendering Feature |
US20080282238A1 (en) * | 2007-05-10 | 2008-11-13 | Microsoft Corporation | Static type for late binding |
US7831625B2 (en) * | 2007-05-16 | 2010-11-09 | Microsoft Corporation | Data model for a common language |
US8387020B1 (en) * | 2007-07-25 | 2013-02-26 | Google Inc. | Verifying that a method has been implemented for a program written in a dynamic programming language |
US8918772B1 (en) | 2007-07-25 | 2014-12-23 | Google Inc. | Statically analyzing program correctness for a dynamic programming language |
US8261248B2 (en) * | 2007-11-05 | 2012-09-04 | Sap Ag | System and method of executing a dynamic program in a structured environment |
US8011008B2 (en) * | 2007-11-13 | 2011-08-30 | Microsoft Corporation | Application security model |
US8601448B2 (en) * | 2007-12-05 | 2013-12-03 | Microsoft Corporation | Representing pointers and boxing in environments using only reference types |
US8140963B2 (en) * | 2007-12-19 | 2012-03-20 | Yahoo! Inc. | Tag aggregator |
US8250524B2 (en) * | 2007-12-21 | 2012-08-21 | Microsoft Corporation | Contract programming for code error reduction |
US9032374B2 (en) * | 2008-04-03 | 2015-05-12 | International Business Machines Corporation | Metadata-integrated debugger |
US20090271765A1 (en) * | 2008-04-29 | 2009-10-29 | Microsoft Corporation | Consumer and producer specific semantics of shared object protocols |
US8095963B2 (en) | 2008-04-30 | 2012-01-10 | Microsoft Corporation | Securing resource stores with claims-based security |
US9164737B2 (en) * | 2008-05-16 | 2015-10-20 | Microsoft Technology Licensing, Llc | Augmenting programming languages with a type system |
US8336035B2 (en) * | 2008-12-16 | 2012-12-18 | Microsoft Corporation | Customizable dynamic language expression interpreter |
US8782607B2 (en) | 2009-02-20 | 2014-07-15 | Microsoft Corporation | Contract failure behavior with escalation policy |
US8095571B2 (en) * | 2009-06-22 | 2012-01-10 | Microsoft Corporation | Partitioning modeling platform data |
GB2486965B (en) * | 2009-10-21 | 2016-08-03 | Ibm | Method and system for improving software execution time by optimizing a performance model |
US8417800B2 (en) * | 2010-07-16 | 2013-04-09 | Broadcom Corporation | Method and system for network configuration and/or provisioning based on open virtualization format (OVF) metadata |
US8572574B2 (en) * | 2010-07-16 | 2013-10-29 | Fujitsu Limited | Solving hybrid constraints to validate specification requirements of a software module |
US8862640B2 (en) * | 2011-04-25 | 2014-10-14 | Microsoft Corporation | Conservative garbage collecting and tagged integers for memory management |
US8978007B2 (en) | 2011-06-30 | 2015-03-10 | Microsoft Technology Licensing, Llc | Static metadata in dynamic programs |
US9342450B2 (en) * | 2011-11-29 | 2016-05-17 | Red Hat Israel, Ltd. | On-demand hypervisor memory mapping |
KR20140052459A (ko) * | 2012-10-24 | 2014-05-07 | 삼성에스디에스 주식회사 | Odbc프로그램 자동 코딩 방법 |
CN103605543B (zh) * | 2013-11-19 | 2017-06-06 | 北京国双科技有限公司 | 验证属性转换方法和装置 |
US10642903B2 (en) | 2014-09-29 | 2020-05-05 | International Business Machines Corporation | Tagging and querying system objects |
US10235176B2 (en) | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
US10936713B2 (en) * | 2015-12-17 | 2021-03-02 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
CN107748749A (zh) * | 2017-08-18 | 2018-03-02 | 平安科技(深圳)有限公司 | 一种内存数据的更新方法、终端、设备以及可读存储介质 |
US11360976B2 (en) | 2017-08-31 | 2022-06-14 | Oracle International Corporation | Deployment of javascript and typescript stored procedures and user-defined functions into database management systems |
WO2019152795A1 (en) | 2018-02-02 | 2019-08-08 | Dover Microsystems, Inc. | Systems and methods for transforming instructions for metadata processing |
TW201935306A (zh) | 2018-02-02 | 2019-09-01 | 美商多佛微系統公司 | 用於安全初始化的策略連結及/或載入之系統和方法 |
SG11202007272QA (en) | 2018-02-02 | 2020-08-28 | Charles Stark Draper Laboratory Inc | Systems and methods for policy execution processing |
EP3788488A1 (en) | 2018-04-30 | 2021-03-10 | Dover Microsystems, Inc. | Systems and methods for checking safety properties |
US10684873B2 (en) * | 2018-06-12 | 2020-06-16 | Oracle International Corporation | Efficient data decoding using runtime specialization |
EP3877874A1 (en) | 2018-11-06 | 2021-09-15 | Dover Microsystems, Inc. | Systems and methods for stalling host processor |
EP3881190A1 (en) | 2018-11-12 | 2021-09-22 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
US11841956B2 (en) | 2018-12-18 | 2023-12-12 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
CN112114862B (zh) * | 2019-06-20 | 2023-12-22 | 普天信息技术有限公司 | spring boot实例并发处理方法及装置 |
WO2021076871A1 (en) | 2019-10-18 | 2021-04-22 | Dover Microsystems, Inc. | Systems and methods for updating metadata |
US12253944B2 (en) | 2020-03-03 | 2025-03-18 | Dover Microsystems, Inc. | Systems and methods for caching metadata |
US11307837B2 (en) | 2020-08-24 | 2022-04-19 | International Business Machines Corporation | Runtime type identification of an object utilizing class inheritance relationships |
CN112333256B (zh) * | 2020-10-28 | 2022-02-08 | 常州微亿智造科技有限公司 | 一种工业物联网下网络传输时数据转化框架系统及其方法 |
US12124576B2 (en) | 2020-12-23 | 2024-10-22 | Dover Microsystems, Inc. | Systems and methods for policy violation processing |
CN114741084A (zh) * | 2021-01-08 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 一种类型转换方法、装置以及计算机设备 |
CN113377638B (zh) * | 2021-06-11 | 2023-10-27 | 北京百度网讯科技有限公司 | 性能测试工具的生成方法和装置 |
CN115686888B (zh) * | 2022-12-30 | 2023-03-21 | 浙江城云数字科技有限公司 | 一种基于规则的处置行为流程编排方法、装置及应用 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5519868A (en) * | 1993-12-30 | 1996-05-21 | International Business Machines Corporation | Compilation of information contained in GDMO name bindings |
GB2351370A (en) * | 1999-06-25 | 2000-12-27 | Ibm | Data processing with policed object union |
GB0023570D0 (en) * | 2000-09-26 | 2000-11-08 | Volantis Systems Ltd | Web server |
US6834301B1 (en) * | 2000-11-08 | 2004-12-21 | Networks Associates Technology, Inc. | System and method for configuration, management, and monitoring of a computer network using inheritance |
US7496892B2 (en) * | 2003-05-06 | 2009-02-24 | Andrew Nuss | Polymorphic regular expressions |
-
2003
- 2003-06-10 US US10/458,460 patent/US7168063B2/en not_active Expired - Lifetime
-
2004
- 2004-05-18 JP JP2004148158A patent/JP4994580B2/ja not_active Expired - Fee Related
- 2004-05-24 EP EP04102258.3A patent/EP1486870B1/en not_active Expired - Lifetime
- 2004-06-09 CN CNB2004100489029A patent/CN100507837C/zh not_active Expired - Fee Related
- 2004-06-09 KR KR1020040042322A patent/KR101046035B1/ko active IP Right Grant
-
2006
- 2006-08-31 US US11/469,087 patent/US8024704B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN100507837C (zh) | 2009-07-01 |
US20040255267A1 (en) | 2004-12-16 |
JP2005004737A (ja) | 2005-01-06 |
US7168063B2 (en) | 2007-01-23 |
KR20040111020A (ko) | 2004-12-31 |
EP1486870A3 (en) | 2005-05-25 |
EP1486870B1 (en) | 2016-04-13 |
CN1573688A (zh) | 2005-02-02 |
US20070067372A1 (en) | 2007-03-22 |
EP1486870A2 (en) | 2004-12-15 |
US8024704B2 (en) | 2011-09-20 |
KR101046035B1 (ko) | 2011-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4994580B2 (ja) | 動的ランタイム環境でタグ付き型を用いるシステム及び方法 | |
US9690554B2 (en) | Unified data type system and method | |
US6738968B1 (en) | Unified data type system and method | |
US6381737B1 (en) | Automatic adapter/stub generator | |
US7536682B2 (en) | Method and apparatus for performing interpreter optimizations during program code conversion | |
KR101150003B1 (ko) | 소프트웨어 개발 툴 생성 방법 | |
JP4562918B2 (ja) | インタプリティブ・ランタイム環境のためのコンパイル・プログラムの生成 | |
US7627594B2 (en) | Runtime support for nullable types | |
US20060101032A1 (en) | Mixed types | |
US20070028210A1 (en) | Dynamically typed unsafe variance | |
Pichler et al. | Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation | |
US7496889B2 (en) | Whitespace keywords | |
Lee et al. | Object-Oriented Programming | |
Turas | Gradual C Programming for Typed Lua | |
Mascarenhas et al. | Running Lua Scripts on the CLR through Bytecode Translation. | |
Kastinger | Piero Ploner (pploner@ cosy. sbg. ac. at), Michael Wallner (mwallner@ cosy. sbg. ac. at) University of Salzburg, Department of Computer Sciences | |
Cook et al. | Java and C/C++ Language Features in Terms of Network Programming | |
Schmidt | An Overview of C+ | |
WO2006059248A2 (en) | Mixed-mode code generation and execution | |
Back | Parallelization of General Purpose Programs Using Optimistic Techniques from Parallel Discrete Event Simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100514 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100812 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110104 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20110105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110105 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110131 |
|
RD15 | Notification of revocation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7435 Effective date: 20111201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120405 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120509 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4994580 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |