JP5132339B2 - 情報処理装置及びその制御方法、及びコンピュータプログラム - Google Patents

情報処理装置及びその制御方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP5132339B2
JP5132339B2 JP2008021649A JP2008021649A JP5132339B2 JP 5132339 B2 JP5132339 B2 JP 5132339B2 JP 2008021649 A JP2008021649 A JP 2008021649A JP 2008021649 A JP2008021649 A JP 2008021649A JP 5132339 B2 JP5132339 B2 JP 5132339B2
Authority
JP
Japan
Prior art keywords
memory
application program
job
memory area
execution
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
Application number
JP2008021649A
Other languages
English (en)
Other versions
JP2009181466A (ja
JP2009181466A5 (ja
Inventor
秀之 矢作
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008021649A priority Critical patent/JP5132339B2/ja
Priority to US12/359,498 priority patent/US20090198943A1/en
Publication of JP2009181466A publication Critical patent/JP2009181466A/ja
Publication of JP2009181466A5 publication Critical patent/JP2009181466A5/ja
Application granted granted Critical
Publication of JP5132339B2 publication Critical patent/JP5132339B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70483Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
    • G03F7/70491Information management, e.g. software; Active and passive control, e.g. details of controlling exposure processes or exposure tool monitoring processes
    • G03F7/70508Data handling in all parts of the microlithographic apparatus, e.g. handling pattern data for addressable masks or data transfer to or from different components within the exposure apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Exposure Of Semiconductors, Excluding Electron Or Ion Beam Exposure (AREA)
  • Stored Programmes (AREA)
  • Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)

Description

本発明は、情報処理装置その制御方法、及びコンピュータプログラムに関し、特にシステムのメモリリークの検出によるシステム支援に関する。
半導体はシリコンのインゴットの切断、洗浄、成膜、レジストコーティング、露光、現像、エッチング、レジスト剥離、洗浄、組立、検査などの工程を経て作られる。この工程の中で半導体の集積度を決定付ける最も重要な技術が、微細な回路パターンをウェハに焼き込む露光技術であり、半導体露光装置がその役割を担う。そのため、半導体露光装置は、集積度の増加に伴い、装置上の各駆動機構や、電子制御部品等が複雑かつ高精度なものになっており、組み込まれるソフトウェアの規模が拡大している。
ソフトウェアプログラミングにおいて、一時的な作業領域やデータ保存領域としてメモリ領域を確保し、不要になった時点で再びメモリ領域を解放するといったことがしばしば行われる。アプリケーションプログラムが確保したメモリ領域の解放を忘れていると、そのメモリ領域はどこからも使用されることなく、システムのメモリ資源を無駄に占有し続けることになる。このメモリ領域の解放漏れをメモリリークと呼ぶ。メモリリークは、小規模もしくは、連続稼動時間が短いシステムにおいては、ほとんど大きな問題にはならない。
しかし、半導体露光装置においては、システムの規模が大きく、且つ、数週間程度連続で稼動し続けることが一般的である。そのため、メモリリークが発生すると、メモリ資源を次々と消費し続けシステムのパフォーマンスを落とすことになり、最悪の場合には、システムが停止する場合も有り得る。半導体露光装置が停止すると、半導体製造工程の全体に大きな影響を与えてしまう。そこで、メモリリークを解消する必要がある。
メモリリークを解消するため、プログラミング言語(Java(登録商標)やC#など)によってはメモリ解放をオペレーティングシステムに委ねるガベージコレクションが取り入れられている。また、C言語のようなガベージコレクションが組み込まれていないプログラミング言語においても、メモリリークを解消する様々な手法が提案されている。
例えば、特許文献1には、メモリリーク領域を判定しオペレータに提示する方法が提案されている。この方法ではまず、アプリケーションプログラムがメモリ領域を確保する際、確保したメモリ領域情報を保存する。そして、メモリ領域を解放する際には、該当するメモリ領域情報を削除し、アプリケーションプログラム終了時に、確保したメモリ領域情報が残っている場合は、そのメモリ領域をメモリリーク領域と判定する。
また、特許文献2では、アプリケーションプログラムが獲得したメモリ領域の最大生存時間を管理し、この時間を過ぎても解放されないメモリ領域をメモリリーク領域と判定し、その領域を解放することでメモリリークを防止する方法が提案されている。
特許第3735484号公報 特開2002−108698号公報
半導体露光装置においては、予めオペレータ等が露光処理の処理手順及び露光パラメータを記述したレシピ(Recipe)と呼ばれる設定ファイルとウェハ枚数などの情報とを用いてジョブを実行する。これにより、レチクルとウェハとが半導体露光装置内にロードされて処理が行われ、レシピ内に記述された処理が指定ウェハ枚数分終了した時点でジョブは完了する。レシピ内に記述された処理を実現するために、半導体露光装置では、複数のアプリケーションプログラムが協調して動作することが一般的である。
しかし、特許文献1に開示されている方法では、個別のアプリケーションプログラムのメモリリークを検出することができるが、複数のアプリケーションプログラム間で同一のメモリ領域を共有して使用する場合においては、メモリリークを解消できない。
例えば、アプリケーションプログラムAが確保したメモリ領域をアプリケーションプログラムBも参照して使用しているとする。先にアプリケーションプログラムAが終了する場合、このメモリ領域を解放してしまうと、アプリケーションプログラムBに影響を与えてしまう。そこで、アプリケーションプログラムAを終了しても半導体露光装置はこのメモリ領域を解放しないでおく。しかし、アプリケーションプログラムBが終了したときにもこのメモリ領域を解放しないと、このメモリ領域はメモリリークとして、どのアプリケーションプログラムも使用できなくなる。
このような場合にアプリケーションプログラムAにこの方法を適用すると、確かに解放していないメモリ領域を検出することはできる。しかし、いつメモリリーク領域を解放してよいかをこの方法だけでは判断できない。また、アプリケーションプログラムBにこの方法を適用しても、アプリケーションプログラムBにとって対象のメモリ領域は自ら確保した領域ではないため、メモリリーク領域としては検出されない。
以上の理由から、特許文献1に開示されている方法を、複数のアプリケーションプログラム間で同一のメモリ領域を共有して使用する場合がある半導体露光装置のメモリリークの解消に適用することは困難である。
一方、特許文献2に開示されている方法では、アプリケーションプログラムが獲得したメモリ領域の最大生存時間を管理し、この時間を過ぎても解放されないメモリ領域をメモリリーク領域と判定する。そのため、複数のアプリケーションプログラム間でメモリ領域を共有して使用する場合においても、メモリリークを検出し、そのメモリリーク領域を解放することができる。しかし、連続稼動時間が長い半導体露光装置において最大生存時間を見積もることは難しく、特許文献2に開示されている方法を半導体露光装置のメモリリークの解消に適用することは困難である。
本発明は、上記実状に鑑みてなされたもので、半導体露光装置におけるメモリリークを検出し、さらにそのメモリリーク領域を解放することを可能とする技術を提供することを目的とする。
本発明に係る情報処理装置は、複数のアプリケーションプログラムが属するジョブを実行する情報処理装置であって、前記アプリケーションプログラムの実行のために利用されるメモリと、前記ジョブに属するアプリケーションプログラムの実行を管理するアプリケーションプログラム実行管理手段と、前記アプリケーションプログラム毎に、前記アプリケーションプログラムのために割り当てるメモリ領域を、該アプリケーションプログラムが属するジョブと、割り当てた前記メモリ領域を特定するためのメモリ領域情報と関連付けて保持するテーブルを用いて管理するメモリアクセス管理手段とを備え、前記メモリアクセス管理手段は、前記ジョブが完了した際に、当該完了したジョブに属するアプリケーションプログラムのメモリ領域情報であって、前記テーブルで保持されている他のジョブに属していないメモリ領域情報前記テーブルから削除することを特徴とする。本発明に係る別の情報処理装置は、複数のアプリケーションプログラムが属するジョブを実行する情報処理装置であって、前記アプリケーションプログラムの実行のために利用されるメモリと、前記ジョブに属するアプリケーションプログラムの実行を管理するアプリケーションプログラム実行管理手段と、前記アプリケーションプログラム毎に、前記アプリケーションプログラムのために割り当てるメモリ領域を、該アプリケーションプログラムが属するジョブと、割り当てた前記メモリ領域を特定するためのメモリ領域情報とに関連付けて保持するテーブルを用いて管理するメモリアクセス管理手段とを備え、前記メモリアクセス管理手段は、前記ジョブが完了した際に、当該完了したジョブに属するアプリケーションプログラムのメモリ領域情報を前記テーブルから削除することでメモリ解放を実施することを特徴とする。
本発明により、メモリリークを確実に検出し、検出されたメモリリーク領域を解放することができるため、メモリリークが原因による半導体露光装置のシステムダウンを防止し、半導体製造の生産性を向上させることができる。また、個々のジョブのアプリケーションプログラムごとに、メモリリーク量とメモリ利用最大値とを保持するため、半導体製造装置ソフトウェアのメンテナンス性を向上させることができる。
以下、本発明の実施形態を添付の図面を参照しつつ説明する。しかし、実施形態は本発明の技術的範囲を限定するものではない。
<第1の実施形態>
まず、図1を用いて本発明に係る半導体露光装置の構成を説明する。図1は、本発明の実施形態に係る半導体露光装置の一例を示すブロック図である。
半導体露光装置メインアプリケーションプログラム130は、半導体露光装置10に対して複数のジョブを投入する。複数のジョブは、半導体露光装置に連続して投入されてもよいし、同時に投入されてもよい。ジョブは、一つ以上のアプリケーションプログラム110で構成される。アプリケーションプログラム110は、常駐型アプリケーションプログラム111と非常駐型アプリケーションプログラム112とに分類される。両者の違いは後述する。
本発明の実施形態に係るシステム支援装置100は、アプリケーションプログラム実行管理機構101、メモリアクセス管理テーブル102、メモリアクセス管理機構103、及びメモリ利用管理テーブル104から構成される。
アプリケーションプログラム実行管理機構101は、半導体露光装置メインアプリケーションプログラム130から与えられるジョブ管理情報に基づき、アプリケーションプログラム110を実行する。各アプリケーションプログラム110は、直列に実行されてもよいし、並列に実行されてもよい。また、アプリケーションプログラム110同士がメモリ120上の同一のメモリ領域を共有して使用してもよい。ただし、異なるジョブに属するアプリケーション同士がメモリ120上の同一のメモリ領域を共有して使用することはないものとする。異なるジョブに属するアプリケーション同士にメモリ120上の同一のメモリ領域を共有して使用させたい場合は、それらのジョブをまとめた一つのジョブを定義すればよい。
メモリアクセス管理テーブル102は、各アプリケーションプログラム110に対して割り当てられたメモリ領域を特定する情報を保持する。このメモリ領域を特定する情報を、以下ではメモリ領域情報をいう。
メモリアクセス管理機構103は、アプリケーションプログラム110に対するメモリ120のメモリ領域の割当てを管理し、メモリアクセス管理テーブル102をメモリ領域の割当て状況に応じて更新する。例えば、あるアプリケーションプログラム110に対して新規のメモリ領域を割り当てた場合に、メモリアクセス管理テーブル102に割り当てたメモリ領域情報を追加する。また、あるアプリケーションプログラム110に対して割り当てていたメモリ領域を解放する場合には、メモリアクセス管理テーブル102から、対応したメモリ領域情報を削除する。
メモリアクセス管理機構103はさらに、ジョブが完了した後もメモリアクセス管理テーブル102にそのジョブで実行したアプリケーションプログラム110に割り当てたメモリ領域情報が残存している場合は、そのメモリ領域をメモリリーク領域と判断する。すでにジョブは完了しているため、このメモリリーク領域を解放したとしても、そのジョブに含まれるアプリケーションプログラム110に影響をあたえることはない。また、他のジョブに含まれるアプリケーションプログラム110は、このメモリリーク領域を使用していることはないため、解放してもやはり影響を受けない。そこで、メモリリーク領域に相当するメモリ領域情報をメモリアクセス管理テーブル102から削除することにより、該メモリリーク領域を解放して、このジョブによるメモリリークを完全に解消する。
メモリ利用管理テーブル104は、ジョブごとに各アプリケーションプログラム110のメモリリーク量とメモリ最大使用量とを保持する。メモリ最大使用量を算出することで、例えば、現在のメモリ120の容量で、同時に何個までのジョブを実行できるかを求めることができる。また、アプリケーションに対して割り当てるべきメモリ領域のサイズを決定することができる。
図7は半導体露光装置10の構成例を示すブロック図である。なお、図7は、本発明の実施形態に対応する図1の構成を実現するための最小限の構成を示しており、半導体露光処理に係わるその他の機構については説明の簡単のために省略している。
マイクロプロセッサであるCPU701は、ROM703、ハードディスク(HD)712、外部メモリドライブ711にセットされた記憶メディアに記憶されたプログラムやデータなどに基づき、半導体露光装置10を制御する。
RAM702は、CPU701のワークエリアとして機能し、ROM703やHD712等に格納されたプログラムを保持する。RAM702は、図1のメモリ120としても機能する。
ROM703、外部メモリドライブ711にセットされた記憶メディア或いは、HD712には、後述するフローチャートに示されるような、CPU701により実行されるプログラムなどが記憶されている。また、アプリケーションプログラム110、半導体露光装置メインアプリケーションプログラム130、ジョブ管理テーブル等も格納する。
705はキーボードコントローラ(KBC)で、キーボード(KB)709や図示しないマウスなどのポインティングデバイスからの入力を制御する。706はディスプレイコントローラ(DPC)で、ディスプレイ710の表示を制御する。707はディスクコントローラ(DKC)で、HD712および外部メモリドライブ711のアクセスを制御し、それらの記憶メディアに対して各種プログラム、並びに、フォントデータ、ユーザファイルおよび編集ファイルなどの各種データを読み書きする。708はプリンタコントローラ(PRTC)で、所定の双方向性インタフェイス721を介してプリンタ722に接続され、プリンタ722との間の通信制御を実行する。
なお、CPU701は、例えばRAM702上に割り当てられた表示情報領域あるいは専用のビデオメモリ(VRAM)へのアウトラインフォントの展開(ラスタライズ)処理を実行し、ディスプレイ710上での表示を可能にする。また、CPU701は、ディスプレイ710上のマウスカーソルなどにより指示されるコマンドに基づいて、登録された種々のウィンドウを開き、種々のデータ処理を実行する。
図4を用いて、実行ID401、ジョブID402、及び各種パラメータの説明をする。図4は、本発明の実施形態における半導体露光装置10内のジョブ管理テーブル400の一例である。
一般的に半導体露光装置10では、図4のような、ジョブ実行時の実行条件値や装置状態値を含むジョブ管理情報を登録するジョブ管理テーブル400を保持しており、実行ID401ごとにそれらの値を管理している。
実行ID401は、実行するジョブごとに一意に与えられた番号である。半導体露光装置メインアプリケーションプログラム130はジョブ管理テーブル400にジョブを登録するたびに、ジョブに対して実行ID401を割り当てる。ジョブID402は、ジョブの種類ごとに一意に与えられた番号である。半導体露光装置10は同じジョブID402を持つジョブを何回も実行することがあるため、それぞれのジョブを区別するために実行ID401が用いられる。例えば、図4では、実行ID401が001のジョブと003のジョブと、ジョブID402が01の同じジョブを実行する。後述するが、メモリリーク領域を解放するときに、この実行ID401が必要となる。
レシピ名403とは、そのジョブで使用するレシピの名前である。ここで、レシピとは、予めオペレータ等が露光処理の処理手順及び露光パラメータを記述したファイルのことである。半導体露光装置10では、レシピとウェハ枚数などの情報とを入力とするジョブを実行することで、処理が行われる。また、レシピ内に記述された処理が指定ウェハ枚数分終了した時点でジョブは完了する。
ジョブ管理テーブル400に登録されるジョブ管理情報には、上記の他に、レシピに含まれる各パラメータや、レクチルID、ウェハ枚数、状態変数などを含むことができる。但し、これらはメモリリークを解消する本発明の本質的な技術的特徴とは直接には関係ないため、これ以上の説明は省略する。
次に、図2を用いて本実施形態におけるシステム支援装置100の主処理を説明する。図2は、発明の実施形態におけるジョブの主処理の一例を説明するフローチャートである。このフローチャートによって示される処理は、半導体露光装置10のCPU701がRAM702に格納されているプログラムを実行することにより実現される。
新規ジョブが開始される場合、ステップS201でアプリケーションプログラム実行管理機構101は、そのジョブの実行IDを半導体露光装置メインアプリケーションプログラム130から受信する。実行IDの受信方法は、例えば、メッセージ通信などで行えばよく、受信方法は特に規定しない。後述のステップにおいても同様に、受信方法は特に規定しない。
ステップS202で、アプリケーションプログラム実行管理機構101は、通知されたジョブの実行ID401に基づきジョブ管理テーブル400からジョブ管理情報を取得し、実行すべきアプリケーションを特定する。アプリケーションプログラム実行管理機構101は、特定したアプリケーションプログラム110ごとにアプリケーションプログラムを実行させる。このアプリケーションプログラムの実行処理は、ジョブの実行IDに対応するレシピの内容を満足するまで繰り返される。
ここで、図3に示すフローチャートを用いて、アプリケーションプログラム実行処理について説明する。図3は、本発明の実施形態におけるアプリケーションプログラム実行処理の一例を説明するためのフローチャートである。このフローチャートによって示される処理は、半導体露光装置10のCPU701がRAM702に格納されているプログラムを実行することにより実現される。
ステップS301で、アプリケーションプログラム実行管理機構101は各アプリケーションプログラム110を開始し、そのアプリケーションプログラム110を実行するジョブのジョブIDを、アプリケーションプログラム110に通知する。前述のとおり、レシピ名403や各パラメータ値などの実行に必要な情報が与えられるため、アプリケーションプログラム実行管理機構101は、どのアプリケーションプログラム110をどのような条件で実行すればよいかがわかる。
ここで、開始されるアプリケーションプログラム110には、常駐型アプリケーションプログラム111と非常駐型アプリケーションプログラム112とがある。常駐型アプリケーションプログラム111とは、半導体露光装置10の起動とともに起動させ、装置停止とともに終了させるアプリケーションプログラムのことである。常駐型アプリケーションプログラム111の処理実行は、時間の経過や他のアプリケーションプログラム110からのメッセージ受信などをトリガとして開始される。一方、非常駐型アプリケーションプログラム112とは、そのアプリケーションプログラムの処理実行開始時に起動され、処理実行終了時に終了するアプリケーションプログラム110のことである。非常駐型アプリケーションプログラム112の場合、処理を開始するためにアプリケーションプログラム110の起動が必要となる。
ステップS302で,アプリケーションプログラム実行管理機構101は、実行中のアプリケーションプログラム110の処理が終了するまでの間、メモリ使用状況を更新するための一連の処理(ステップS303〜S309)を繰り返す。アプリケーションプログラム110が常駐型の場合、処理終了メッセージを受け取ることで、アプリケーションプログラム110の処理終了が判断される。アプリケーションプログラム110が非常駐型の場合、それが終了することで、アプリケーションプログラム110の処理終了が判断される。
ステップS303では、メモリアクセス管理機構103が、アプリケーションプログラム110に対してメモリ120から新規にメモリ領域を割り当てたか否かを判定する。割り当てた場合(ステップS303で「Yes」)は、メモリ領域情報をメモリアクセス管理テーブル102に追加する一連の処理(ステップS304〜S307)を行う。
ここで、図5を用いてメモリアクセス管理テーブル102を説明する。図5は、本発明の実施形態におけるメモリアクセス管理テーブル102の一例である。メモリアクセス管理テーブル102には、実行ID501、アプリケーションプログラム名502、領域先頭アドレス503、及び領域サイズ504が登録される。
実行ID501は、実行しているジョブのIDである。この値はジョブ管理テーブル400で保持している実行ID401に対応する。アプリケーションプログラム名502は、メモリ領域を割り当てているアプリケーションプログラム110の名称である。例えば、実行ID501が001であるジョブは、「露光」と「ウェハ搬送」とにメモリ領域が割り当てられている。領域先頭アドレス503は、アプリケーションプログラム110が割り当てたメモリ領域の先頭アドレスである。領域サイズ504は、アプリケーションプログラム110が割り当てたメモリ領域のサイズである。本実施形態では、領域先頭アドレス503と領域サイズ504とでメモリ領域が特定されるため、これらがメモリ領域情報となる。なお、メモリ領域情報は、メモリ領域を特定できる情報であればどのようなものでもかまわない。
図3に戻り、メモリ領域情報をメモリアクセス管理テーブル102に追加する一連の処理を以下に説明する。
ステップS304でメモリアクセス管理機構103は、アプリケーションプログラム110に対して割り当てたメモリ領域を特定するための領域先頭アドレス503と領域サイズ504とを実行IDと共にメモリアクセス管理テーブル102に追加する。メモリ領域をアプリケーションプログラム110に割り当てるときは、メモリアクセス管理テーブル102を参照して、すでに割り当てられているメモリ領域と重複しない領域を割り当てる。ジョブの実行IDも同時に追加することにより、割り当てたメモリ領域のメモリ領域情報が実行IDと関連付けてメモリアクセス管理テーブル102に登録される。なお、アプリケーションプログラム110はステップS301でジョブIDの通知を受けているので、メモリアクセス管理機構103にメモリ領域の割り当てを要求するときは、必要なサイズとともにこのジョブIDもメモリアクセス管理機構103に通知する。
ステップS305で、メモリアクセス管理機構103は、メモリアクセス管理テーブル102を参照し、該当アプリケーションプログラム110が使用しているメモリ量を算出する。具体的には実行ID501及びアプリケーションプログラム名502が共通であるメモリ領域情報の領域サイズ504を足し合わせる。
ステップS306で、メモリアクセス管理機構103は、算出したメモリ使用量がメモリ利用管理テーブル104に保持されている該当アプリケーションプログラム110のメモリ最大使用量を上回っているかどうかを判定する。上回っている場合(ステップS306で「YES」)は、ステップS307で、メモリ利用管理テーブル104のメモリ最大使用量を更新する。また、まだメモリ最大使用量が何も保存されていない場合は、算出したメモリ使用量をメモリ最大使用量として保存する。メモリ利用管理テーブル104については後述する。
つぎに、ステップS308で、メモリアクセス管理機構103は、アプリケーションプログラム110が自己に割り当てられたメモリ領域を解放する要求をしたかどうかを判定する。なお、アプリケーションは、自身に割り当てられたメモリ領域を他のアプリケーションが参照している場合には、当該メモリ領域の解放要求をメモリアクセス管理機構103に送信しない。これは、当該メモリ領域の解放により他のアプリケーションにおける処理がエラー終了することを防止するためである。従って、メモリ領域の解放要求をメモリアクセス管理機構103に送信しないまま、アプリケーションの処理が終了してしまう場合もある。本実施形態では、このような状況下において発生するメモリリークを解消することが出来る。
もし、該メモリ領域を解放する場合(ステップS308でYES)は、ステップS309に移行する。ステップS309では、メモリアクセス管理テーブル102から、該処理の終了したアプリケーションプログラム110に対して割り当てたメモリ領域を示すメモリ領域情報を削除する。これにより、当該メモリ領域を、新たに割り当てを要求したアプリケーションプログラム110に割り当てることができるようになる。その後、アプリケーションにおける処理が終了している場合にはステップS310に移行する。アプリケーションにおける処理が終了していない場合には、ステップS303に戻って処理を継続する。
一方、メモリ領域を開放しない場合(ステップS308において「NO」)も、アプリケーションにおける処理が終了している場合にはステップS310に移行する。アプリケーションにおける処理が終了していない場合には、ステップS303に戻って処理を継続する。
ステップS310では、アプリケーションプログラム実行管理機構101は、アプリケーションプログラム110からの処理の終了メッセージを受信する。
図2に戻り、システム支援装置100の主処理について説明を続ける。アプリケーションプログラム実行管理機構101は、ステップS202のアプリケーションプログラム実行処理が一つ完了するたびに、アプリケーションの終了メッセージをアプリケーションプログラム110から受信する。そこで、ステップS203において受信した終了メッセージの数に基づいて、実行しているジョブが完了したか否かを判定する。ここでの判定は、受信した終了メッセージの数が、ジョブ管理情報のレシピで特定されるアプリケーションの実行数に一致したか否かに基づいて行うことができる。もし、ジョブが完了したと判定された場合には(ステップS203において「YES」)、ステップS204に移行する。一方、ジョブが完了していないと判定された場合には(ステップS203において「NO」)、ステップS202に戻って、アプリケーションの実行処理を継続する。
ジョブの完了が確認されると、ステップS204においてメモリアクセス管理機構103は、完了したジョブの実行ID501に基づきメモリアクセス管理テーブル102内の情報からメモリリーク量を算出する。前述の通り、ジョブが完了したにもかかわらず、解放されていないメモリ領域がメモリリーク領域となる。解放されたメモリ領域のメモリ領域情報はメモリアクセス管理テーブル102から削除されているので、残存している当該実行IDに関するメモリ領域情報がメモリリーク情報を表す。具体的には、完了したジョブの実行ID501について、アプリケーションプログラム110ごとに領域サイズ504を足し合わした値がメモリリーク量となる。
一方、メモリアクセス管理テーブル102に該当実行IDに関する情報が残存していない場合は、メモリリークが発生していないことになる。この場合、メモリリーク量は“0”となる。
例えば、図5に示す例において、実行ID501が001のジョブが完了しても、メモリ領域情報507が残存していた場合は、実行ID501が001のジョブで実行した「ウェハ搬送」はメモリリークを引き起こしたことになる。このメモリ領域情報507が表すメモリ領域がメモリリーク領域となる。一方、実行IDが002のジョブが完了したときに、実行IDが002でアプリケーションプログラム名が「ウェハ搬送」であるメモリ領域情報がすべて削除されていれば、このジョブで実行した「ウェハ搬送」はメモリリークを発生しなかったことになる。
図2に戻りステップS205で、メモリアクセス管理機構103は、算出した各アプリケーションプログラム110のメモリリーク量をメモリ利用管理テーブル104に追加する。
メモリ利用管理テーブル104について、図6を用いて説明する。図6は、本発明の実施形態におけるメモリ利用管理テーブルの一例である。メモリ利用管理テーブルには、実行ID601、アプリケーションプログラム名602、メモリリーク量603、及びメモリ最大使用量604が登録される。実行ID601は実行されたジョブのIDである。前述までのジョブIDに対応する値である。アプリケーションプログラム名602は、実行されたアプリケーションプログラム110の名称である。
メモリリーク量603は、アプリケーションのジョブ単位のメモリリーク領域の合計サイズである。先ほどの例では、実行IDが001のジョブで実行した「ウェハ搬送」はメモリリークが発生しなかったため、このジョブの「ウェハ搬送」のメモリリーク量605には0が追加される。一方、実行IDが002のジョブで実行した「ウェハ搬送」は960バイトのメモリリークが発生したため、このジョブの「ウェハ搬送」のメモリリーク量606には960が追加される。
メモリ最大使用量604は、対応するアプリケーションプログラム110のために割り当てたメモリ領域のサイズの最大値である。前述の通りメモリ最大使用量はステップS307で逐次更新されるため、ジョブ完了までにアプリケーションプログラム110が使用したメモリ領域の最大値が記録されている。図6の例では、実行ID601が001のジョブで実行した「ウェア搬送」の最大メモリ使用量607は59382バイトであったことがわかる。
このように、メモリ利用管理テーブル104は、実行ID601ごとに、各アプリケーションプログラムのメモリリーク量603とメモリ最大使用量604を管理できればよく、管理内容は特に規定しない。
図2に戻り、メモリアクセス管理機構103はステップS206において、メモリリークが発生したか否かを判定する。もし、メモリリークが発生していた場合(ステップS206で「YES」)は、ステップS207を行う。発生していなかった場合(ステップS206で「NO」)は、システム支援装置100の主処理を終了する。
ステップS207で、メモリアクセス管理機構103は、メモリアクセス管理テーブル102内のメモリ領域情報のうち、既に完了したジョブの実行IDを有する情報をテーブルから削除する。例えば、前述の図6の例では2行目の実行ID601が002の「ウェハ搬送」がメモリリークを起こしているので、メモリアクセス管理テーブル102における該当するメモリ領域情報をテーブルから削除する。その後、システム支援装置100の主処理を終了する。
このように、各アプリケーションプログラム110終了時にメモリ領域を解放するのではなく、ジョブ実行完了時にメモリ領域を解放するため、複数のアプリケーションプログラム110で共有して使用しているメモリ領域を誤って解放してしまう心配はない。また、ジョブの実行により生じたメモリリーク領域は完全に解消される。
さらに、メモリアクセス管理テーブル102はジョブの実行IDごとにメモリ領域情報を管理しているため、対象の実行IDのジョブだけをアプリケーションプログラムのメモリ領域を解放することができる。したがって、他のジョブが実行中のアプリケーションプログラムのメモリ領域を誤って解放してしまう心配はない。
以上のように、本実施形態ではジョブの完了時にメモリリークを検出し、メモリリーク領域を解放することができるため、メモリリークが原因による半導体露光装置10のシステムダウンを防止し、半導体製造の生産性を向上させることができる。また、個々のジョブのアプリケーションプログラムごとに、メモリリーク量とメモリ利用最大値とを保持するため、半導体製造装置ソフトウェアのメンテナンス性を向上させることができる。
<第2の実施形態>
第1の実施形態では、メモリアクセス管理機構103がメモリ120の割り当てを管理した。しかし、半導体露光装置10がジョブを識別する機能を有しない既存のメモリ管理機構を有しているときは、それと連携して本発明を実施することも可能である。
この場合、アプリケーションプログラム110からメモリ割り当て要求を受けたメモリアクセス管理機構103は、既存のメモリ管理機構に対してそのメモリ割り当て要求を転送する。その応答であるメモリ領域情報を当該アプリケーションプログラム110に返すとともに、メモリアクセス管理テーブル102にメモリ領域情報を追加する。
一方、アプリケーションプログラム110から割り当てられたメモリ領域の解放要求を受けたメモリアクセス管理機構103は、既存のメモリ管理機構に対してそのメモリ解放要求を転送する。それとともに、メモリアクセス管理テーブル102からメモリ領域情報を削除する。
ジョブが完了したときに、メモリアクセス管理機構103は、メモリアクセス管理テーブル102に残っている当該ジョブのメモリ領域をメモリリーク領域とみなして、そのメモリ領域の解除を既存のメモリ管理機構に対して要求する。
以上により、メモリアクセス管理機構103が直接にメモリ120の割り当てを管理しない場合でも、既存のメモリ管理機構と連携して、メモリリーク領域を解放できるようになる。その結果、メモリリークが原因による半導体露光装置10のシステムダウンを防止し、半導体製造の生産性を向上させることができる
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
本発明の第1の実施形態における構成の一例を示すブロック図である。 本発明の第1の実施形態におけるジョブの主処理の一例を説明するためのフローチャートである。 本発明の第1の実施形態におけるアプリケーションプログラム実行処理の一例を説明するためのフローチャートである。 本発明の第1の実施形態における半導体露光装置10内のジョブ管理テーブルの一例である 本発明の第1の実施形態におけるメモリアクセス管理テーブルの一例である。 本発明の第1の実施形態におけるメモリ利用管理テーブルの一例である。 本発明の第1の実施形態におけるシステム支援装置の構成例を示すブロック図である。
符号の説明
10:半導体露光装置
100:システム支援装置
101:アプリケーションプログラム実行管理機構
102:メモリアクセス管理テーブル
103:メモリアクセス管理機構
104:メモリ利用管理テーブル
110:アプリケーションプログラム
111:常駐型アプリケーションプログラム
112:非常駐型アプリケーションプログラム
120:メモリ
130:半導体露光装置メインアプリケーションプログラム

Claims (8)

  1. 複数のアプリケーションプログラムが属するジョブを実行する情報処理装置であって、
    前記アプリケーションプログラムの実行のために利用されるメモリと、
    前記ジョブに属するアプリケーションプログラムの実行を管理するアプリケーションプログラム実行管理手段と、
    前記アプリケーションプログラム毎に、前記アプリケーションプログラムのために割り当てるメモリ領域を、該アプリケーションプログラムが属するジョブと、割り当てた前記メモリ領域を特定するためのメモリ領域情報と関連付けて保持するテーブルを用いて管理するメモリアクセス管理手段とを備え、
    前記メモリアクセス管理手段は、前記ジョブが完了した際に、当該完了したジョブに属するアプリケーションプログラムのメモリ領域情報であって、前記テーブルで保持されている他のジョブに属していないメモリ領域情報前記テーブルから削除する
    ことを特徴とする情報処理装置。
  2. 前記メモリアクセス管理手段は、さらに、
    前記アプリケーションプログラムについて割り当てたメモリ領域を解放するか否かを判定し、
    該メモリ領域を解放する場合に前記メモリ領域情報を前記テーブルから削除し、解放しない場合に前記メモリ領域情報を前記テーブルに残す
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記メモリアクセス管理手段は、前記メモリ領域を解放するか否かを、該メモリ領域が割り当てられたアプリケーションプログラムからの解放要求を受信したか否かに基づいて判定することを特徴とする請求項2に記載の情報処理装置。
  4. 前記アプリケーションプログラムに対してメモリ領域の割当てを行うメモリ管理手段をさらに備え、
    前記メモリアクセス管理手段は、前記テーブルに登録されているメモリ領域情報を該テーブルから削除する場合に、削除しようとするメモリ領域情報に対応するメモリ領域の前記割当ての解除を前記メモリ管理手段に指示することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 複数のアプリケーションプログラムが属するジョブを実行し、前記アプリケーションプログラムの実行のために利用されるメモリを備える情報処理装置の制御方法であって、
    アプリケーションプログラム実行管理手段が、前記ジョブに属するアプリケーションプログラムの実行を管理するアプリケーションプログラム実行管理工程と、
    メモリアクセス管理手段が、前記アプリケーションプログラム毎に、前記アプリケーションプログラムのために割り当てるメモリ領域を、該アプリケーションプログラムが属するジョブと、割り当てた前記メモリ領域を特定するためのメモリ領域情報と関連付けて保持するテーブルを用いて管理するメモリアクセス管理工程とを有し
    前記メモリアクセス管理工程において、
    前記ジョブが完了した際に、当該完了したジョブに属するアプリケーションプログラムのメモリ領域情報であって、前記テーブルで保持されている他のジョブに属していないメモリ領域情報を、前記テーブルから削除する
    ことを特徴とする情報処理装置の制御方法。
  6. 複数のアプリケーションプログラムが属するジョブを実行する情報処理装置であって、
    前記アプリケーションプログラムの実行のために利用されるメモリと、
    前記ジョブに属するアプリケーションプログラムの実行を管理するアプリケーションプログラム実行管理手段と、
    前記アプリケーションプログラム毎に、前記アプリケーションプログラムのために割り当てるメモリ領域を、該アプリケーションプログラムが属するジョブと、割り当てた前記メモリ領域を特定するためのメモリ領域情報とに関連付けて保持するテーブルを用いて管理するメモリアクセス管理手段とを備え、
    前記メモリアクセス管理手段は、前記ジョブが完了した際に、当該完了したジョブに属するアプリケーションプログラムのメモリ領域情報を前記テーブルから削除することでメモリ解放を実施する
    ことを特徴とする情報処理装置。
  7. 複数のアプリケーションプログラムが属するジョブを実行し、前記アプリケーションプログラムの実行のために利用されるメモリを備える情報処理装置の制御方法であって、
    アプリケーションプログラム実行管理手段が、前記ジョブに属するアプリケーションプログラムの実行を管理するアプリケーションプログラム実行管理工程と、
    メモリアクセス管理手段が、前記アプリケーションプログラム毎に、前記アプリケーションプログラムのために割り当てるメモリ領域を、該アプリケーションプログラムが属するジョブと、割り当てた前記メモリ領域を特定するためのメモリ領域情報とに関連付けて保持するテーブルを用いて管理するメモリアクセス管理工程とを有し、
    前記メモリアクセス管理工程において、
    前記ジョブが完了した際に、当該完了したジョブに属するアプリケーションプログラムのメモリ領域情報を、前記テーブルから削除することでメモリ解放を実施する
    ことを特徴とする情報処理装置の制御方法。
  8. コンピュータに請求項5又は7に記載の制御方法を実行させるためのコンピュータプログラム。
JP2008021649A 2008-01-31 2008-01-31 情報処理装置及びその制御方法、及びコンピュータプログラム Expired - Fee Related JP5132339B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008021649A JP5132339B2 (ja) 2008-01-31 2008-01-31 情報処理装置及びその制御方法、及びコンピュータプログラム
US12/359,498 US20090198943A1 (en) 2008-01-31 2009-01-26 Semiconductor Exposure Apparatus, Control Method, and Computer-Readable Storage Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008021649A JP5132339B2 (ja) 2008-01-31 2008-01-31 情報処理装置及びその制御方法、及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2009181466A JP2009181466A (ja) 2009-08-13
JP2009181466A5 JP2009181466A5 (ja) 2011-02-03
JP5132339B2 true JP5132339B2 (ja) 2013-01-30

Family

ID=40932837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008021649A Expired - Fee Related JP5132339B2 (ja) 2008-01-31 2008-01-31 情報処理装置及びその制御方法、及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US20090198943A1 (ja)
JP (1) JP5132339B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5253030B2 (ja) * 2008-07-31 2013-07-31 キヤノン株式会社 管理装置、その制御方法及び制御プログラム
JP6163844B2 (ja) * 2013-04-12 2017-07-19 富士通株式会社 制御方法、制御装置、制御プログラム、および記録媒体
JP6971011B2 (ja) * 2018-04-19 2021-11-24 株式会社Pfu 情報処理システム、読取装置、情報処理方法、及びプログラム
US11221881B2 (en) * 2019-12-31 2022-01-11 Microsoft Technology Licensing, Llc Computer resource leak detection
US11755473B2 (en) 2022-01-03 2023-09-12 Samsung Electronics Co., Ltd. Method and system for managing memory leaks in a linear memory model

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3169624B2 (ja) * 1991-03-20 2001-05-28 株式会社日立製作所 プロセッサ間通信方法およびそのための並列プロセッサ
US5386566A (en) * 1991-03-20 1995-01-31 Hitachi, Ltd. Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
JP3375649B2 (ja) * 1991-09-20 2003-02-10 株式会社日立製作所 並列計算機
JPH0520168A (ja) * 1991-07-12 1993-01-29 Chubu Nippon Denki Software Kk メモリ管理方法
JPH05289892A (ja) * 1992-04-07 1993-11-05 Toshiba Corp 計算機システム
US6105147A (en) * 1997-04-16 2000-08-15 Compaq Computer Corporation Using process pairs as transaction-coordinated resource managers
US20020016891A1 (en) * 1998-06-10 2002-02-07 Karen L. Noel Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
JPH11203193A (ja) * 1998-01-14 1999-07-30 Hitachi Ltd 共有メモリ管理装置及び方法
US6470436B1 (en) * 1998-12-01 2002-10-22 Fast-Chip, Inc. Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory
US7769791B2 (en) * 2001-01-12 2010-08-03 Oracle America, Inc. Lightweight reference counting using single-target synchronization
US6842759B2 (en) * 2002-01-16 2005-01-11 International Business Machines Corporation Single-instance class objects across multiple JVM processes in a real-time system
JP2005047086A (ja) * 2003-07-31 2005-02-24 Kyocera Mita Corp メモリ管理装置、方法、プログラム及びプリンタ装置
EP1797510A2 (en) * 2004-10-06 2007-06-20 Permabit, Inc. A storage system for randomly named blocks of data
US7519867B2 (en) * 2004-12-21 2009-04-14 National Instruments Corporation Test executive which provides heap validity checking and memory leak detection for user code modules
US7500048B1 (en) * 2005-12-15 2009-03-03 Vmware, Inc. Transparent page sharing on commodity operating systems
JP2007188244A (ja) * 2006-01-12 2007-07-26 Nec Corp プロセス共有メモリ管理方式、プロセス共有メモリ管理方法及びプログラム

Also Published As

Publication number Publication date
JP2009181466A (ja) 2009-08-13
US20090198943A1 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
JP5215779B2 (ja) 情報処理装置及び情報処理方法
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP5104817B2 (ja) ストレージシステム、ストレージ制御装置及び方法
JP5132339B2 (ja) 情報処理装置及びその制御方法、及びコンピュータプログラム
TWI694330B (zh) 儲存裝置、電腦系統及儲存裝置之動作方法
JP4924645B2 (ja) ストレージ制御装置、ストレージシステム及びコピー方法。
JP2009241584A (ja) プリンタに提出された印刷ジョブの取消し方法
JP2008065445A (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2007249573A (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
JP2008299848A (ja) 不揮発性メモリのデータ処理装置及びその処理方法
JP6875808B2 (ja) 情報処理装置
JP2008009696A (ja) 画像処理装置及びプログラム
JP5250955B2 (ja) データ処理システムのバックアップ制御装置及びシステム
WO2011027626A1 (ja) メモリ管理方法、計算機システム及びコンピュータ可読媒体
JP2009146387A (ja) 情報処理装置、情報処理方法及びプログラム
JP2009230239A (ja) テープ装置のデータ移行方法およびテープ管理システム
JP2016206938A (ja) 情報処理システム、情報処理システムのメモリ制御方法、及びプログラム
JP2007323393A (ja) 画像処理装置及びプログラム
JP5091694B2 (ja) 情報処理システム及び情報処理プログラム
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP2012224035A (ja) 印刷装置、印刷装置の制御方法、及びプログラム
JP2001075748A (ja) 印刷システム及び印刷制御プログラムを記録したコンピュータ読取り可能な記録媒体
JP2008166899A (ja) 画像形成装置、制御方法、およびプログラム
JPWO2018230444A1 (ja) アクセラレータ制御装置、アクセラレータ制御方法、及び、アクセラレータ制御プログラム
JP2010102404A (ja) 情報処理装置及びその制御方法、並びに、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

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: 20121009

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: 20121106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees