JP5236367B2 - 共用型ジャバjarファイル - Google Patents
共用型ジャバjarファイル Download PDFInfo
- Publication number
- JP5236367B2 JP5236367B2 JP2008173812A JP2008173812A JP5236367B2 JP 5236367 B2 JP5236367 B2 JP 5236367B2 JP 2008173812 A JP2008173812 A JP 2008173812A JP 2008173812 A JP2008173812 A JP 2008173812A JP 5236367 B2 JP5236367 B2 JP 5236367B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory area
- area
- virtual
- private memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
- G06F9/44563—Sharing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明の1実施例においては、例えマスターJVMプロセスが別個のジャバJARファイルからそのデータの異なる部分をロードした場合であっても、マスターJVMプロセスが共用可能な領域内に配置されるデータの全ては同一の共用可能な領域内へ配置される。このことの結果として、別個のジャバJARファイルからのデータは、マスターJVMプロセスがそのデータを共用可能な領域のリード/ライトエリア内にコピーする場合にJARファイルにより隔離されることはなく、共用可能な領域のリード/ライトエリアからどのデータがどのジャバJARファイルから来たものであるかを告げることが可能でない場合がある。その結果、本発明のこのような実施例においては、その他のJVMプロセスが共用可能な領域のリード/ライトエリアからのデータをそれら自身のプライベートなリード/ライト領域内にコピーする場合には、これらのその他のJVMプロセスはその他のジャバJARファイルから来たデータではなく選択されたジャバJARファイルから来たデータのみをコピーすることのオプションを有するものではない。その他のJVMプロセスがマスターJVMプロセスがロードしたデータの全てを必要とするものではない条件下においては、その他のJVMプロセスはそれらが実際にコピーすることが必要であったものよりもより多くのデータをコピーすることとなる場合がある。
クラスパスはクラスがロードされるコンテキストを表示する。時々、これらのコンテキストの幾つかは、これらのコンテキスト内にロードされたクラスが互いに「気が付いている」ように相互にリンクされている。その他の時において、これらのコンテキストの幾つかは相互にリンクされておらず、従って1つのコンテキスト内にロードされたクラスは別のコンテキスト内にロードされているクラスに「気が付いて」いない。
上述したように、本発明の1実施例においては、マスターJVMプロセス104は、共用可能な領域102のリード/ライトエリア114内に、変更可能なエンティティに対応するデータを格納する。然しながら、本発明の代替的実施例においては、マスターJVMプロセス104は、共用可能な領域102の代わりに、又はそれに加えて、永続的な非揮発性格納部上のファイル内にこのようなデータを格納し、且つその他のJVMプロセス106はこのファイルからのそのデータをそれら自身のプライベートなリード/ライト領域110内に読込む。従って、その他のJVMプロセス106がコピーすることが必要な「プロトタイプ」変更可能データは永続的なものとさせることが可能である。
図2は本発明の1実施例を実現することが可能なコンピュータシステム200を例示したブロック図である。コンピュータシステム200は、情報交換を容易とするためのバス202、情報を処理するためにバス202と結合されている1個又はそれ以上のプロセッサ204を包含している。コンピュータシステム200は、又、プロセッサ204によって実行されるべき情報及び命令を格納するためにバス202へ結合されているランダムアクセスメモリ(RAM)又はその他のダイナミック記憶装置等のメインメモリ206を包含している。メインメモリ206は、又、プロセッサ204による命令の実行期間中に一時的な変数又はその他の中間的な情報を格納するために使用することが可能である。コンピュータシステム200は、更に、プロセッサ204に対するスタチックな情報及び命令を格納するためにバス202に結合されているリードオンリメモリ(ROM)208又はその他のスタチック記憶装置を包含することが可能である。磁気ディスク又は光学的ディスク等の記憶装置210が情報及び命令を格納するために設けられており且つバス202へ結合されている。
104 マスターJVMプロセス
106 その他のJVMプロセス
108,110 プライベートリード/ライト領域
112 リードオンリエリア
114 リード/ライトエリア
116 ジャバ(JAVA)JARファイル
120,122 リードオンリエリアに対してマッピングされており且つ固定されたバーチャルアドレス「X」に位置されているメモリ
200 コンピュータシステム
202 バス
204 プロセッサ
206 メインメモリ
208 ROM
210 記憶装置
212 ディスプレイ
214 入力装置
216 カーソル制御部
218 通信インターフェース
220 ネットワークリンク
222 ローカルネットワーク
224 ホスト
226 ISP
228 インターネット
230 サーバー
Claims (13)
- 複数の孤立したバーチャルマシンの間でプログラムモジュールを共用するための機械により実行される方法であって、
第一バーチャルマシンのマスタープロセスによって、プログラムモジュールから第一データをロードするステップと、
前記第一データが変更可能であることに基づいて、前記マスタープロセスによって、前記第一バーチャルマシンに割り当てられた第一プライベートメモリ領域内に前記第一データを格納するステップであり、前記第一データは前記第一プライベートメモリ領域内の或る仮想アドレスで始まるよう格納される、ステップと、
前記第一データが変更可能であることに基づいて、前記マスタープロセスによって、前記第一プライベートメモリ領域から共用可能なメモリ領域の第一区域に前記第一データをコピーするステップであり、
前記共用可能なメモリ領域は、複数の孤立したバーチャルマシンによって読取可能であり、且つ
前記共用可能なメモリ領域は、変更可能なデータ用の前記第一区域と、前記第一区域とは別の、変更不可能なデータ用の第二区域とを有する、
ステップと、
前記第一データが変更可能であることに基づいて、前記共用可能なメモリ領域の前記第一区域から、第二バーチャルマシンの第二プライベートメモリ領域内へ、前記第一データをコピーするステップであり、前記第一データは、前記第二プライベートメモリ領域内に前記仮想アドレスで始まるよう格納される、ステップと、
前記マスタープロセスによって、前記プログラムモジュールから第二データをロードするステップと、
前記第二データが変更不可能であることに基づいて、前記マスタープロセスによって、前記共用可能なメモリ領域の前記第二区域内に前記第二データを格納するステップと、
前記第二データが変更不可能であることに基づいて、前記第二バーチャルマシンと、前記第二データを有する前記共用可能なメモリ領域の前記第二区域と、の間のマッピングを確立するステップと、
を有し、
前記マッピングは、前記第二バーチャルマシンの如何なるプライベートメモリ領域内にも前記第二データのコピーを作成することなく、前記第二バーチャルマシンが前記第二データを読取ることを可能にし、且つ
前記第一プライベートメモリ領域及び前記第二プライベートメモリ領域の双方が同一の仮想アドレスで開始する、
方法。 - 前記第一データは、ランタイムにおいて前記第二バーチャルマシンにより使用可能でない第一フォームから、ランタイムにおいて前記第一バーチャルマシン及び前記第二バーチャルマシンの双方によって使用可能な第二フォームへと、前記第一バーチャルマシンが処理したデータを有する、請求項1に記載の方法。
- 前記プログラムモジュールはジャバJARファイルであり、且つ前記第一データは少なくとも1個のジャバクラスに対応している、請求項1に記載の方法。
- 前記第一データが前記第二プライベートメモリ領域内にコピーされた後、前記第二データは、(a)前記第一プライベートメモリ領域内の第一の仮想アドレス及び(b)前記第二プライベートメモリ領域内の第二の仮想アドレスの双方を参照する少なくとも1個の参照を包含し、前記第一の仮想アドレスは前記第二の仮想アドレスと同一である、請求項1に記載の方法。
- 前記プログラムモジュールから直接的に如何なるデータもロードすることなく、前記第二バーチャルマシンが前記第一データ及び前記第二データを使用してプログラムを実行するステップ、を更に有する請求項1に記載の方法。
- 前記第一データが前記共用可能なメモリ領域内に存在する時間の前、前記第二データにおける参照は、前記第一プライベートメモリ領域内の前記第一データのコピー内の特定の仮想メモリアドレスを参照し、
前記第一データが前記第二プライベートメモリ領域内に存在する時間の後、前記第二データにおける前記参照は、前記第二プライベートメモリ領域内の前記第一データのコピー内の同一の特定の仮想メモリアドレスを参照する、
請求項1に記載の方法。 - 1つ以上の命令シーケンスを格納した機械読取可能な記憶媒体であって、該命令シーケンスは、1つ以上のプロセッサによって実行されるとき、該1つ以上のプロセッサに:
第一バーチャルマシンのマスタープロセスによって、プログラムモジュールから第一データをロードするステップと、
前記第一データが変更可能であることに基づいて、前記マスタープロセスによって、前記第一バーチャルマシンに割り当てられた第一プライベートメモリ領域内に前記第一データを格納するステップであり、前記第一データは前記第一プライベートメモリ領域内の或る仮想アドレスで始まるよう格納される、ステップと、
前記第一データが変更可能であることに基づいて、前記マスタープロセスによって、前記第一プライベートメモリ領域から共用可能なメモリ領域の第一区域に前記第一データをコピーするステップであり、
前記共用可能なメモリ領域は、複数の孤立したバーチャルマシンによって読取可能であり、且つ
前記共用可能なメモリ領域は、変更可能なデータ用の前記第一区域と、前記第一区域とは別の、変更不可能なデータ用の第二区域とを有する、
ステップと、
前記第一データが変更可能であることに基づいて、前記共用可能なメモリ領域の前記第一区域から、第二バーチャルマシンの第二プライベートメモリ領域内へ、前記第一データをコピーするステップであり、前記第一データは、前記第二プライベートメモリ領域内に前記仮想アドレスで始まるよう格納される、ステップと、
前記マスタープロセスによって、前記プログラムモジュールから第二データをロードするステップと、
前記第二データが変更不可能であることに基づいて、前記マスタープロセスによって、前記共用可能なメモリ領域の前記第二区域内に前記第二データを格納するステップと、
前記第二データが変更不可能であることに基づいて、前記第二バーチャルマシンと、前記第二データを有する前記共用可能なメモリ領域の前記第二区域と、の間のマッピングを確立するステップであり、前記第二データは、前記仮想アドレスを用いた前記第一データへの参照を有する、ステップと、
を実行させ、
前記マッピングは、前記第二バーチャルマシンの如何なるプライベートメモリ領域内にも前記第二データのコピーを作成することなく、前記第二バーチャルマシンが前記第二データを読取ることを可能とし、
前記第一プライベートメモリ領域及び前記第二プライベートメモリ領域の双方が同一の仮想アドレスで開始する、
機械読取可能な記憶媒体。 - 前記第一データは、ランタイムにおいて前記第二バーチャルマシンによって使用可能でない第一フォームから、ランタイムにおいて前記第一バーチャルマシン及び前記第二バーチャルマシンの双方によって使用可能な第二フォームへと、前記第一バーチャルマシンが処理したデータを有する、請求項7に記載の機械読取可能な記憶媒体。
- 前記プログラムモジュールはジャバJARファイルであり、且つ前記第一データは少なくとも1個のジャバクラスに対応している、請求項7に記載の機械読取可能な記憶媒体。
- 前記第一データが前記第二プライベートメモリ領域内にコピーされた後、前記第二データは、(a)前記第一プライベートメモリ領域内の第一の仮想アドレス及び(b)前記第二プライベートメモリ領域内の第二の仮想アドレスの双方を参照する少なくとも1個の参照を包含し、前記第一の仮想アドレスは前記第二の仮想アドレスと同一である、請求項7に記載の機械読取可能な記憶媒体。
- 前記命令シーケンスは、前記1つ以上のプロセッサに更に、
前記プログラムモジュールから直接的に如何なるデータもロードすることなく、前記第二バーチャルマシンが前記第一データ及び前記第二データを使用してプログラムを実行するステップ、
を実行させる、請求項7に記載の機械読取可能な記憶媒体。 - 前記第一データが前記共用可能なメモリ領域内に存在する時間の前、前記第二データにおける参照は、前記第一プライベートメモリ領域内の前記第一データのコピー内の特定の仮想メモリアドレスを参照し、且つ
前記第一データが前記第二プライベートメモリ領域内に存在する時間の後、前記第二データにおける前記参照は、前記第二プライベートメモリ領域内の前記第一データのコピー内の同一の特定の仮想メモリアドレスを参照する、
請求項7に記載の機械読取可能な記憶媒体。 - 複数の孤立したバーチャルマシンの間でプログラムモジュールを共用するためのコンピュータプログラムであって、1つ以上のプロセッサによって実行されるとき、該1つ以上のプロセッサに:
第一バーチャルマシンのマスタープロセスによって、プログラムモジュールから第一データをロードするステップと、
前記第一データが変更可能であることに基づいて、前記マスタープロセスによって、前記第一バーチャルマシンに割り当てられた第一プライベートメモリ領域内に前記第一データを格納するステップであり、前記第一データは前記第一プライベートメモリ領域内の或る仮想アドレスで始まるよう格納される、ステップと、
前記第一データが変更可能であることに基づいて、前記マスタープロセスによって、前記第一プライベートメモリ領域から共用可能なメモリ領域の第一区域に前記第一データをコピーするステップであり、
前記共用可能なメモリ領域は、複数の孤立したバーチャルマシンによって読取可能であり、且つ
前記共用可能なメモリ領域は、変更可能なデータ用の前記第一区域と、前記第一区域とは別の、変更不可能なデータ用の第二区域とを有する、
ステップと、
前記第一データが変更可能であることに基づいて、前記共用可能なメモリ領域の前記第一区域から、第二バーチャルマシンの第二プライベートメモリ領域内へ、前記第一データをコピーするステップであり、前記第一データは、前記第二プライベートメモリ領域内に前記仮想アドレスで始まるよう格納される、ステップと、
前記マスタープロセスによって、前記プログラムモジュールから第二データをロードするステップと、
前記第二データが変更不可能であることに基づいて、前記マスタープロセスによって、前記共用可能なメモリ領域の前記第二区域内に前記第二データを格納するステップと、
前記第二データが変更不可能であることに基づいて、前記第二バーチャルマシンと、前記第二データを有する前記共用可能なメモリ領域の前記第二区域と、の間のマッピングを確立するステップと、
を実行させ、
前記マッピングは、前記第二バーチャルマシンの如何なるプライベートメモリ領域内にも前記第二データのコピーを作成することなく、前記第二バーチャルマシンが前記第二データを読取ることを可能にし、且つ
前記第一プライベートメモリ領域及び前記第二プライベートメモリ領域の双方が同一の仮想アドレスで開始する、
コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/824,850 | 2007-07-02 | ||
US11/824,850 US7882198B2 (en) | 2007-07-02 | 2007-07-02 | Shared JAVA JAR files |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009059349A JP2009059349A (ja) | 2009-03-19 |
JP2009059349A5 JP2009059349A5 (ja) | 2011-06-02 |
JP5236367B2 true JP5236367B2 (ja) | 2013-07-17 |
Family
ID=39639646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008173812A Expired - Fee Related JP5236367B2 (ja) | 2007-07-02 | 2008-07-02 | 共用型ジャバjarファイル |
Country Status (3)
Country | Link |
---|---|
US (2) | US7882198B2 (ja) |
EP (1) | EP2017730A1 (ja) |
JP (1) | JP5236367B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4930010B2 (ja) * | 2006-11-24 | 2012-05-09 | 株式会社日立製作所 | シンクライアントシステムへの移行方法 |
US7882198B2 (en) * | 2007-07-02 | 2011-02-01 | Oracle America, Inc. | Shared JAVA JAR files |
US7930328B2 (en) * | 2008-03-31 | 2011-04-19 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for file system sharing |
WO2011148447A1 (ja) * | 2010-05-24 | 2011-12-01 | パナソニック株式会社 | 仮想計算機システム、領域管理方法、及びプログラム |
US9009386B2 (en) | 2010-12-13 | 2015-04-14 | International Business Machines Corporation | Systems and methods for managing read-only memory |
US9507613B2 (en) * | 2012-03-30 | 2016-11-29 | Oracle International Corporation | Methods and apparatus for dynamically preloading classes |
CN102722370B (zh) * | 2012-05-24 | 2016-05-25 | 南京华设科技股份有限公司 | Android模块化开发方法 |
CN103870312B (zh) * | 2012-12-12 | 2018-01-23 | 华为技术有限公司 | 建立虚拟机共享存储缓存的方法及装置 |
JP6103994B2 (ja) * | 2013-03-13 | 2017-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 文字列データ処理方法、プログラム及びシステム |
US20140283116A1 (en) * | 2013-03-18 | 2014-09-18 | Protection Technologies Research, Llc | Method for protected execution of code and protection of executable code and data against modifications |
CN104216771B (zh) * | 2013-05-30 | 2018-01-23 | 华为技术有限公司 | 软件程序的重启方法及装置 |
US9923726B2 (en) * | 2014-12-03 | 2018-03-20 | International Business Machines Corporation | RDMA transfers in mapreduce frameworks |
US10261703B2 (en) * | 2015-12-10 | 2019-04-16 | International Business Machines Corporation | Sharing read-only data among virtual machines using coherent accelerator processor interface (CAPI) enabled flash |
US10394528B2 (en) | 2016-03-30 | 2019-08-27 | Oracle International Corporation | Returning a runtime type loaded from an archive in a module system |
US10191753B2 (en) | 2016-03-30 | 2019-01-29 | Oracle International Corporation | Generating verification metadata and verifying a runtime type based on verification metadata |
GB202019527D0 (en) * | 2020-12-10 | 2021-01-27 | Imagination Tech Ltd | Processing tasks in a processing system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815718A (en) | 1996-05-30 | 1998-09-29 | Sun Microsystems, Inc. | Method and system for loading classes in read-only memory |
US6738977B1 (en) | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | Class sharing between multiple virtual machines |
US7689986B2 (en) * | 2003-10-21 | 2010-03-30 | Gemstone Systems, Inc. | Shared listeners in shared object space |
US7587721B2 (en) * | 2004-05-20 | 2009-09-08 | Sap Ag | Sharing objects in runtime systems |
US7512769B1 (en) * | 2004-10-06 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Process migration |
US7694065B2 (en) * | 2004-12-28 | 2010-04-06 | Sap Ag | Distributed cache architecture |
US7734892B1 (en) * | 2005-03-31 | 2010-06-08 | Rozas Guillermo J | Memory protection and address translation hardware support for virtual machines |
US8024566B2 (en) * | 2005-04-29 | 2011-09-20 | Sap Ag | Persistent storage implementations for session data within a multi-tiered enterprise network |
US20060271510A1 (en) * | 2005-05-25 | 2006-11-30 | Terracotta, Inc. | Database Caching and Invalidation using Database Provided Facilities for Query Dependency Analysis |
US7882198B2 (en) * | 2007-07-02 | 2011-02-01 | Oracle America, Inc. | Shared JAVA JAR files |
-
2007
- 2007-07-02 US US11/824,850 patent/US7882198B2/en active Active
-
2008
- 2008-06-20 EP EP08252141A patent/EP2017730A1/en not_active Ceased
- 2008-07-02 JP JP2008173812A patent/JP5236367B2/ja not_active Expired - Fee Related
-
2010
- 2010-12-21 US US12/974,748 patent/US8176142B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2017730A1 (en) | 2009-01-21 |
JP2009059349A (ja) | 2009-03-19 |
US7882198B2 (en) | 2011-02-01 |
US8176142B2 (en) | 2012-05-08 |
US20100023702A1 (en) | 2010-01-28 |
US20110145358A1 (en) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5236367B2 (ja) | 共用型ジャバjarファイル | |
US10698845B2 (en) | Set buffer state instruction | |
US7203941B2 (en) | Associating a native resource with an application | |
US6460126B1 (en) | Computer resource management system | |
US7584473B2 (en) | Highly componentized system architecture with loadable virtual memory manager | |
US7143421B2 (en) | Highly componentized system architecture with a demand-loading namespace and programming model | |
US8434099B2 (en) | Efficient linking and loading for late binding and platform retargeting | |
US7565665B2 (en) | Efficient linking and loading for late binding and platform retargeting | |
US9176713B2 (en) | Method, apparatus and program storage device that provides a user mode device interface | |
US6330709B1 (en) | Virtual machine implementation for shared persistent objects | |
US6154878A (en) | System and method for on-line replacement of software | |
US6484309B2 (en) | Enabling software designed for one operating system to operate on another operating system | |
US20060095483A1 (en) | Modified computer architecture with finalization of objects | |
US5526523A (en) | Interface between operating system and operating system extension | |
US6301582B1 (en) | System and method for storage of shared persistent objects | |
US8255922B1 (en) | Mechanism for enabling multiple processes to share physical memory | |
US6996590B2 (en) | Method and system for the garbage collection of shared data | |
JPH0644085A (ja) | アクセスを実行する方法及び装置並びにコンピュータシステム | |
EP1763771A1 (en) | Modified computer architecture with finalization of objects | |
US20080184195A1 (en) | Code generation in the presence of paged memory | |
US20090133042A1 (en) | Efficient linking and loading for late binding and platform retargeting | |
US7665075B1 (en) | Methods for sharing of dynamically compiled code across class loaders by making the compiled code loader reentrant | |
US6223344B1 (en) | Apparatus and method for versioning persistent objects | |
US20110185129A1 (en) | Secondary java heaps in shared memory | |
JP5845221B2 (ja) | 高速パッチベースメソッドコール |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110418 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120807 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130205 |
|
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: 20130226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130327 |
|
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: 20160405 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |