JP5215779B2 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP5215779B2
JP5215779B2 JP2008223918A JP2008223918A JP5215779B2 JP 5215779 B2 JP5215779 B2 JP 5215779B2 JP 2008223918 A JP2008223918 A JP 2008223918A JP 2008223918 A JP2008223918 A JP 2008223918A JP 5215779 B2 JP5215779 B2 JP 5215779B2
Authority
JP
Japan
Prior art keywords
system resource
job
management table
information
request
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
JP2008223918A
Other languages
English (en)
Other versions
JP2010061230A5 (ja
JP2010061230A (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 JP2008223918A priority Critical patent/JP5215779B2/ja
Priority to US12/509,758 priority patent/US20100058351A1/en
Publication of JP2010061230A publication Critical patent/JP2010061230A/ja
Publication of JP2010061230A5 publication Critical patent/JP2010061230A5/ja
Application granted granted Critical
Publication of JP5215779B2 publication Critical patent/JP5215779B2/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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、システムリソースリークによる情報処理装置の動作停止を回避するための情報処理技術に関するものである。
一般に、アプリケーションプログラムが実行されると、オペレーティングシステム(OS)が提供する機能を介して、ファイル、ポート、セマフォ、メモリ等のシステムリソースの確保及び解放といった処理が繰り返し行われる。
このとき、アプリケーションプログラムによって、システムリソースを解放する処理が行われないと、確保したシステムリソースは使用されることなく、無駄に占有され続けることとなる。このような状態を、一般に、システムリソースリーク(資源解放漏れ)と呼ぶ。
システムリソースリークは、OSを再起動することにより、正常な状態に戻すことができるため(つまり、システムリソースリークを解放することができるため)、連続稼動時間が短い装置においては、大きな問題とならない。
しかし、連続稼動時間が長い装置(例えば、工業用製造装置など)においては、システムリソースリークが発生すると、システムリソースが無駄に消費された状態が長時間続くため、場合によっては装置が動作停止することもある。
通常、アプリケーションプログラムは、出荷前のテスト工程においてシステムリソースリークの原因を抽出し、除去される。しかしながら、出荷前のテスト工程でシステムリソースリークの原因を完全に除去することが困難な場合もありえる。
例えば、半導体ウェハの焼き付けを行う半導体露光装置等では、露光条件と手順を記した露光レシピと、装置設定の組み合わせとによって動作が決定される。このため、多量のパラメータを持つうえ、これらのパラメータは、工場ラインの生産計画に基づいて顧客によって設定されるという特徴がある。このため、全てのパラメータの組み合わせをテスト工程にてチェックすることは実際には不可能である。
そこで、このような装置では、仮にシステムリソースリークが発生した場合であっても、動作停止が回避できるような構成としておくことが望ましい。
かかる構成を実現するための方法として、例えば特許文献1では、システムリソースの確保及び解放を検出するための管理プロセスを設けることで、単一プロセスにおけるシステムリソースリークを検出し、解放する方法が提案されている。
また、特許文献2では、各プロセスにおけるシステムリソースの確保及び解放を検出した場合に、検出結果を管理テーブルに登録しておき、所定のプロセス群が終了した時点で、解放されていないシステムリソースの有無を判定する方法が提案されている。
特開2002−358204号公報 特開2006−331213号公報
しかしながら、上記特許文献1に開示された方法の場合、単一プロセスで確保するシステムリソースに対するシステムリソースリークを検出することは可能であるが、複数プロセスで確保するシステムリソースに対しては、正確に検出することが困難である。
一方、上記特許文献2に開示された方法の場合、複数プロセスが協調して動作する場合でも、システムリソースリークを検出することは可能である。
しかし、管理テーブルに登録された全プロセスが終了した時点でシステムリソースリークの有無を判定する構成としているため、例えば、常駐型のプロセスが存在する場合には、システムリソースリークの有無を正確に判定することができない。
また、ユーザが予め全プロセスを管理テーブルに登録しておくことが必要であるため、アプリケーションプログラムの規模が大きくなり、実行されるプロセス数が膨大になった場合には、ユーザの作業負荷が増大するため、実用的な方法とはいえない。
本発明は、上記課題に鑑みてなされたもので、ユーザの作業負荷を増大させることなく、システムリソースリークを確実に検出し、解放することができる情報処理技術を提供することを目的とする。
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
複数のプロセスが属するジョブ順に実行し、前記プロセスからの要求に従って、システムリソースを管理する情報処理装置であって、
前記ジョブに属するプロセスからシステムリソースを確保する要求があった場合に、該要求に含まれる、該要求元のプロセスが属するジョブに割り当てられた識別子と、システムリソースに関する情報とを対応付けて管理テーブルに格納する第1の格納手段と、
前記ジョブに属するプロセスからシステムリソースを解放する要求があった場合に、該要求に対応するシステムリソースに関する情報を、対応付けられた識別子とともに、前記管理テーブルから削除する削除手段と、
前記ジョブが終了する毎に、前記管理テーブルを参照し、該終了したジョブに割り当てられた識別子が、前記管理テーブルに格納されている場合に、該格納されている識別子に対応付けられた前記システムリソースに関する情報により特定されるシステムリソースを解放する解放手段とを備える。
本発明によれば、ユーザの作業負荷を増大させることなく、システムリソースリークを確実に検出し、解放することができる情報処理技術を提供することが可能となる。
以下、図面を参照しながら、本発明の好適な実施の形態について説明する。
[第1の実施形態]
1.情報処理装置の構成
はじめに、本発明の一実施形態にかかる情報処理装置の構成について説明する。図1は、本発明の一実施形態にかかる情報処理装置100の構成を示す図である。
図1において、101はメモリ(ROM)、102は中央演算処理装置(CPU)、103はメモリ(RAM)、104は入力装置、105は出力装置、106は外部記憶装置、110はバスである。
外部記憶装置106には、システムリソースを確保する機能を提供するOS107と、システムリソースを管理するシステムリソース管理モジュール108と、複数のジョブから構成されるアプリケーションプログラム109が格納されている。
これらのプログラム等は、中央演算処理装置(CPU)102の制御のもと、バス110を通じて適宜メモリ(RAM)103に取り込まれ、中央演算処理装置102によって実行される。
2.システムリソース管理機能の機能構成
図2は、情報処理装置100において実現されるシステムリソース管理機能の機能構成を示す図である。図2に示すように、システムリソース管理機能は、システムリソース250と、システムリソース250の確保/解放を要求するアプリケーションプログラム109と、システムリソース250を管理するシステムリソース管理モジュール108により実現される。
アプリケーションプログラム109は、複数のジョブ240から構成され、それぞれのジョブ240は、常駐型プロセス241または非常駐型プロセス242の一方または両方を備える。なお、ここでいう「プロセス」とは、プログラムが実行されることにより生成される、システムリソースを使う処理における実行の最小単位であり、プログラムをCPU側から見た処理単位をいう。また、「ジョブ」とは、ユーザ側から見た、コンピュータで処理させる、ひとまとまりの仕事の単位をいう。
また、本実施形態において、常駐型プロセス241とは、情報処理装置100起動時に起動され、情報処理装置100停止時に消滅するプロセスのことをいい、他のプロセスからのメッセージ受信などをきっかけに処理が開始されるプロセスをいう。また、非常駐型プロセス242とは、処理開始時に起動し、処理終了時に消滅するプロセスのことをいう。
なお、本実施形態において、ジョブ240は、実行毎に実行ID(以下、ジョブ実行IDと呼ぶ)が割り当てられるものとする。ジョブ240内の常駐型プロセス241と非常駐型プロセス242は、該当処理実行時に、ジョブ実行IDが通知されることを特徴とする。
システムリソース250には、ジョブ240実行毎に常駐型プロセス241、もしくは、非常駐型プロセス242が確保するメモリ251、ポート252、ファイル253などが含まれる。
システムリソース管理モジュール108は、システムリソース管理プログラム220と、管理テーブル230から構成される。
管理テーブル230は、システムリソース250の確保/解放を登録する(つまり、管理対象を決定する)ための登録条件が規定されたシステムリソース管理対象外条件管理テーブル(条件テーブル)232を備える(第2の格納手段)。ここで、管理対象を決定するための登録条件とは、具体的には、システムリソース情報管理テーブル231に登録しないシステムリソース250に関する規定である。
また、管理テーブル230は、システムリソース情報管理テーブル231を備える(第1の格納手段)。システムリソース情報管理テーブル231には、管理対象のシステムリソース250に関する情報及びシステムリソース250を確保した箇所のファイル名(クラス名)、関数名などのソースコード情報が格納/削除される。これにより、管理対象のシステムリソース250の確保/解放がシステムリソース情報管理テーブル231に登録される。なお、管理テーブル230の詳細は後述する。
システムリソース管理プログラム220は、アプリケーションプログラム109からの指示に基づいて、不図示のOSが提供する機能を介して、システムリソース250の確保/解放を実行させるためのプログラムである。
具体的には、システムリソース管理機構223と、システムリソースリーク検出機構221と、システムリソースリーク情報通知機構222とから構成され、それぞれ、以下のような動作を実行する。
(1)システムリソース管理機構223
不図示のOSが提供する機能を介して、システムリソース250の確保/解放を行う。確保の際には、システムリソース管理対象外条件管理テーブル232を参照し、条件に一致しない場合のみ、該当するジョブ実行IDとシステムリソース250に関する情報とソースコード情報とを対応付けてシステムリソース情報管理テーブル231に格納する。また、解放の際は、該当するジョブ実行IDとシステムリソース250に関する情報とソースコード情報とをシステムリソース情報管理テーブル231から削除する。
(2)システムリソースリーク検出機構221
ジョブ240の実行が終了するごとに、システムリソース情報管理テーブル231を参照し、該ジョブ240内の常駐型プロセス241、もしくは、非常駐型プロセス242が確保したシステムリソース250に関する情報が格納されているか否かを判断する。そして、システムリソース250に関する情報が格納されていると判断した場合に、システムリソースリークと判断し、システムリソース管理機構223に対して、該システムリソース250を解放するよう指示する。また、システムリソースリーク情報通知機構222に対して、システムリソースリークが発生した旨を通知する。
(3)システムリソースリーク情報通知機構222
ジョブ240の実行が終了した際に、システムリソースリーク検出機構221より、システムリソースリークが発生した旨の通知を受けた場合に、該当するソースコード情報をユーザ(例えば、プログラム開発者)に通知する。
3.管理テーブルの構成
次に、管理テーブル230の詳細について説明する。
3.1 システムリソース情報管理テーブルの構成
図3は、システムリソース情報管理テーブル231の一例を示す図である。図3に示すように、システムリソース情報管理テーブル231には、ジョブ実行ID301とシステムリソースに関する情報302とソースコード情報303とがそれぞれ対応付けて登録される。
なお、システムリソースに関する情報302には、システムリソース種別302−1とシステムリソースID302−2とが含まれ、ソースコード情報303には、ファイル名303−1、関数名303−2とが含まれる。
なお、システムリソース情報管理テーブル231では、ジョブ実行ID毎に、システムリソース種別と、システムリソースIDと、システムリソースを確保した箇所を特定するソースコード情報(ファイル名や関数名等)が管理できるよう構成されていればよい。このため、図3に示すフォーマットに限定されるものではない。
なお、例えば、システムリソース管理機構223が、OSが提供するシステムコールを実行することでシステムリソースを確保した場合には、システムリソースID302−2には、システムコールの戻り値が格納されることとなる。具体的には、システムリソースがファイルの場合にはファイルディスクリプタが、メモリの場合には確保領域の先頭アドレスが格納されることとなる。
3.2 システムリソース管理対象外条件管理テーブルの構成
図4は、システムリソース管理対象外条件管理テーブル232の一例を示す図である。図4に示すように、システムリソース管理対象外条件管理テーブル232には、システムリソース情報管理テーブル231にて管理しないシステムリソース250の条件(管理対象外条件402)が、システムリソース種別401毎に規定されている。
なお、システムリソース管理対象外条件管理テーブル232のフォーマットは図4に示すフォーマットに限定されるものではない。
4.システムリソース管理プログラムによるシステムリソース管理処理の流れ
次に、システムリソース管理プログラム220によるシステムリソース管理処理の流れについて説明する。
3.1 全体処理の流れ
図5は、システムリソース管理プログラム220によるシステムリソース管理処理の流れを示すフローチャートである。
ステップS501では、システムリソースリーク検出機構221が、ジョブ240から処理終了要求が通知されているか否か判定する。ジョブ240は、処理終了後、処理終了通知をシステムリソースリーク検出機構221へ通知する。
処理終了要求が通知されていると判定した場合には、ステップS506へ進む。一方、通知されていないと判定された場合には、ステップS502へ進む。
なお、ジョブ240から通知される処理終了要求には、少なくともジョブ実行IDが含まれているものとする。また、通知は、例えば、メッセージ通信や、システムリソースリーク検出機構221が提供する関数(例えば、図9参照)などを利用して行われるものとする。ただし、本発明は、これに限定されるものではない。
ステップS502では、システムリソース管理機構223が、実行中のジョブ240内の常駐型プロセス241、もしくは、非常駐型プロセス242からシステムリソース確保要求が通知されているか否か判定する。
システムリソース確保要求が通知されていると判定した場合には、ステップS503へ進み、通知されていないと判定した場合には、ステップS504へ進む。
なお、システムリソース確保要求には、少なくともジョブ実行ID、常駐型プロセス241または非常駐型プロセス242に関する情報、確保するシステムリソース250に関する情報、ソースコード情報が含まれているものとする。また、通知は、例えば、メッセージ通信や、システムリソース種別毎にシステムリソース管理機構223が提供するシステムリソース確保関数(例えば、図10参照)などを利用して行われるものとする。ただし、本発明はこれに限定されるものではない。
なお、常駐型プロセス241または非常駐型プロセス242に関する情報は、システムリソース確保処理(処理内容詳細は後述)における判定において用いられる。このため、常駐型プロセス241または非常駐型プロセス242を一意に識別できる情報であればよい。本実施形態では、プログラム開発時に割り当てた識別子(OSが動的に割り当てるプロセスIDとは異なる)を利用するものとする。
また、システムリソース250に関する情報には、ファイル名、確保するメモリサイズ等、システムリソース管理機構223がシステムリソース確保処理(処理内容詳細は後述)にてシステムリソース250を確保する際に用いられる情報が含まれていればよい。
また、ソースコード情報には、システムリソース250を確保したソースコードの箇所が特定できる情報が含まれていればよい。本実施形態では、ファイル名、関数名が含まれているものとする。
ステップS503では、システムリソース管理機構223が、システムリソース確保処理(処理内容詳細は後述)を行う。システムリソース確保処理(ステップS503)が実行されることにより、常駐型プロセス241または非常駐型プロセス242では、確保されたシステムリソース250に関する情報(システムリソースID302−2)を取得する。
ステップS504では、システムリソース管理機構223が、常駐型プロセス241または非常駐型プロセス242プロセスからシステムリソース解放要求が通知されているか否かを判定する。
システムリソース250解放要求が通知されていると判定した場合には、ステップS505へ進み、通知されていないと判定した場合には、ステップS501へ進む。
なお、常駐型プロセス241または非常駐型プロセス242から通知されるシステムリソース解放要求には、少なくともシステムリソースIDが含まれているものとする。また、通知は、例えば、メッセージ通信や、システムリソース種別毎にシステムリソース管理機構223が提供するシステムリソース解放関数(例えば、図11参照)などを利用して行われるものとする。ただし、本発明はこれに限定されるものではない。
ステップS505では、システムリソース管理機構223が、システムリソース解放処理(処理内容詳細は後述)を行う。システムリソース解放処理(ステップS505)が実行されることにより、常駐型プロセス241または非常駐型プロセス242では、システムリソース250の解放結果を取得する。
一方、ステップS506では、システムリソースリーク検出機構221が、システムリソースリーク解放処理(処理内容詳細は後述)を行う。
4.2 システムリソース確保処理の流れ
次に、ステップS503のシステムリソース確保処理の詳細について説明する。図6は、システムリソース確保処理の詳細を示すフローチャートである。
ステップS601では、システムリソース管理機構223が、通知されたシステムリソース250に関する情報に基づき、対応するシステムリソース250を確保する。具体的には、OSが提供するシステムコールを実行するものとする。ただし、本発明はこれに限定されるものではない。
ステップS602では、システムリソース管理機構223が、システムリソース管理対象外条件管理テーブル232を参照し、通知された各種情報に一致する条件が規定されているか否か判定する。
一致する条件が規定されていると判定した場合には、ステップS604へ進み、一致する条件が規定されていないと判定した場合には、ステップS603へ進む。
例えば、システムリソース250に関する情報として、ファイル名=“LOG_001.log”が通知された場合は、図4に基づいて管理対象外条件402に一致する条件が規定されていると判定する。このため、確保したシステムリソース(この場合は、ファイル)は、システムリソース情報管理テーブル231による管理対象外となる。
ステップS603では、システムリソース管理機構223が、システムリソース情報管理テーブル231に、ジョブ実行ID、システムリソース250に関する情報、ソースコード情報を対応付けて登録する。
ステップS604では、システムリソース管理機構223が、システムリソースIDをシステムリソース確保処理の要求元へ通知し、システムリソース確保処理を終了する。なお、通知は、例えば、メッセージ通信や、システムリソース種別毎にシステムリソース管理機構223が提供するシステムリソース確保関数(例えば、図10参照)の戻り値などを利用して行われるものとする。ただし、本発明はこれに限定されるものでない。
4.3 システムリソース解放処理の流れ
次に、ステップS505におけるシステムリソース解放処理の詳細について説明する。図7は、システムリソース解放処理の詳細を示すフローチャートである。
ステップS701では、システムリソース管理機構223が、通知されたシステムリソースIDに基づき、該当するシステムリソース250を解放する。具体的には、OSが提供するシステムコールを実行するものとする。ただし、本発明はこれに限定されるものではない。
ステップS702では、システムリソース管理機構223が、通知されたシステムリソースIDが、システムリソース情報管理テーブル231に格納されているか否か判定する。格納されていると判定した場合には、ステップS703へ進み、格納されていないと判定した場合には、ステップS704へ進む。
ステップS703では、システムリソース管理機構223が、通知されたシステムリソースIDが格納されているレコードをシステムリソース情報管理テーブル231から削除する。
ステップS704では、システムリソース管理機構223が、システムリソース250の解放結果(解放成功、もしくは解放失敗)をシステムリソース解放処理の要求元へ通知し、システムリソース確保処理を終了する。
なお、通知は、例えば、メッセージ通信や、システムリソース種別毎にシステムリソース管理機構223が提供するシステムリソース解放関数(例えば、図11参照)の戻り値などを利用して行われるものとする。ただし、本発明はこれに限定されるものでない。
4.4 システムリソースリーク解放処理の流れ
次に、ステップS506におけるシステムリソースリーク解放処理の詳細について説明する。
図8は、システムリソースリーク解放処理の詳細を示すフローチャートである。
ステップS801では、システムリソースリーク検出機構221が、システムリソース情報管理テーブル231を参照する。そして、ステップS501で取得したジョブ実行ID(ジョブ終了要求があったジョブのジョブ実行ID)が格納されているレコードが存在するか否か判定する。
該当するレコードが存在すると判定した場合には、システムリソースリークが発生していると判定し、ステップS802へ進む。該当するレコードが存在しないと判定した場合には、システムリソースリークが発生していないと判定し、システムリソースリーク解放処理を終了する。
ステップS802では、システムリソースリーク情報通知機構222が、システムリソース情報管理テーブル231に格納されている各種情報をユーザ(例えば、プログラム開発者)へ通知する。なお、通知内容には、解放できていないシステムリソース250に関する情報(例えば、ファイル名、ポート番号等)が含まれているものとする。また、該当するシステムリソース250を確保したソースコードの箇所が特定できるソースコード情報(例えば、ファイル名、関数名など)が含まれているものとする。ただし、本発明は、これらに限定されるものではない。また、通知は、例えば、メールにより行われるものとするが、これに限定されるものではない。
ステップS803では、システムリソースリーク検出機構221が、ステップS501で取得したジョブ実行IDに関する全てシステムリソース250の解放が完了したか否か判定する。完了していないと判定した場合には、ステップS804へ進み、完了していると判定した場合には、システムリソースリーク解放処理を終了する。
ステップS804では、システムリソースリーク検出機構221が、システムリソース情報管理テーブル231に登録されているシステムリソースIDに基づき、システムリソースリークを解放する。処理内容は、図5のステップS505と同様であるため、詳細は省略する。
以上の説明から明らかなように、本実施形態では、プロセスからの要求に従って、確保/解放が行われるシステムリソースに関する情報を、管理テーブルに格納することで管理する構成とした。また、ジョブの実行が終了するごとに、当該管理テーブルにより管理されているシステムリソースについて、システムリソースリークの発生の有無を判断する構成とした。更に、システムリソースリークが発生していると判断した場合には、ジョブの実行が終了した際に、システムリソースリークを解放する処理を行う構成とした。
この結果、管理テーブルに予め全プロセスを登録しておく必要がなくなり、ユーザの作業負荷を低減させることが可能となった。また、複数プロセスで確保するシステムリソースが存在する場合であっても、システムリソースリークを正確に検出することが可能となった。更に、システムリソースリークが発生した場合であっても、ジョブの実行が完了するごとに、システムリソースリークの解放処理が行われるため、情報処理装置の動作停止を確実に回避することが可能となった。
[他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読取可能な記憶媒体を、システムあるいは装置に供給するよう構成することによっても達成されることはいうまでもない。この場合、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することにより、上記機能が実現されることとなる。なお、この場合、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される場合に限られない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、前述した実施形態の機能が実現される場合も含まれる。つまり、プログラムコードがメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって実現される場合も含まれる。
本発明の一実施形態にかかる情報処理装置100の構成を示す図である。 情報処理装置100において実現されるシステムリソース管理機能の機能構成を示す図である。 システムリソース情報管理テーブル231の一例を示す図である。 システムリソース管理対象外条件管理テーブル232の一例を示す図である。 システムリソース管理プログラム220によるシステムリソース管理処理の流れを示すフローチャートである。 システムリソース確保処理の詳細を示すフローチャートである。 システムリソース解放処理の詳細を示すフローチャートである。 システムリソースリーク解放処理の詳細を示すフローチャートである。 システムリソースリーク検出機構221が提供する関数の一例を示す図である。 システムリソース管理機構223が提供するシステムリソース250の確保関数の一例を示す図である。 システムリソース管理機構223が提供するシステムリソース250の解放関数の一例を示す図である。

Claims (6)

  1. 複数のプロセスが属するジョブ順に実行し、前記プロセスからの要求に従って、システムリソースを管理する情報処理装置であって、
    前記ジョブに属するプロセスからシステムリソースを確保する要求があった場合に、該要求に含まれる、該要求元のプロセスが属するジョブに割り当てられた識別子と、システムリソースに関する情報とを対応付けて管理テーブルに格納する第1の格納手段と、
    前記ジョブに属するプロセスからシステムリソースを解放する要求があった場合に、該要求に対応するシステムリソースに関する情報を、対応付けられた識別子とともに、前記管理テーブルから削除する削除手段と、
    前記ジョブが終了する毎に、前記管理テーブルを参照し、該終了したジョブに割り当てられた識別子が、前記管理テーブルに格納されている場合に、該格納されている識別子に対応付けられた前記システムリソースに関する情報により特定されるシステムリソースを解放する解放手段と
    を備えることを特徴とする情報処理装置。
  2. 前記管理テーブルへ格納するための条件を規定した条件テーブルを格納する第2の格納手段を更に備え、
    前記第1の格納手段は、前記システムリソースを確保する要求があった場合に、前記条件テーブルに規定された条件に基づいて、格納するか否かを決定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の格納手段は、前記識別子と対応付けて、前記システムリソースを確保した箇所を示すソースコード情報を格納することを特徴とする請求項1に記載の情報処理装置。
  4. 前記管理テーブルに格納されている場合に、該格納されている識別子に対応付けられた前記システムリソースに関する情報と前記ソースコード情報とを、ユーザに通知する通知手段を更に備えることを特徴とする請求項3に記載の情報処理装置。
  5. 複数のプロセスが属するジョブ順に実行し、前記プロセスからの要求に従って、システムリソースを管理する情報処理装置における情報処理方法であって、
    格納手段が、前記ジョブに属するプロセスからシステムリソースを確保する要求があった場合に、該要求に含まれる、該要求元のプロセスが属するジョブに割り当てられた識別子と、システムリソースに関する情報とを対応付けて管理テーブルに格納する格納工程と、
    削除手段が、前記ジョブに属するプロセスからシステムリソースを解放する要求があった場合に、該要求に対応するシステムリソースに関する情報を、対応付けられた識別子とともに、前記管理テーブルから削除する削除工程と、
    判断手段が、前記ジョブが終了する毎に、前記管理テーブルを参照し、該終了したジョブに割り当てられた識別子が、前記管理テーブルに格納されている場合に、該格納されている識別子に対応付けられた前記システムリソースに関する情報により特定されるシステムリソースを解放する解放工程と
    を備えることを特徴とする情報処理方法。
  6. コンピュータを、請求項1乃至4のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラムを格納したコンピュータ読取可能な記憶媒体。
JP2008223918A 2008-09-01 2008-09-01 情報処理装置及び情報処理方法 Expired - Fee Related JP5215779B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008223918A JP5215779B2 (ja) 2008-09-01 2008-09-01 情報処理装置及び情報処理方法
US12/509,758 US20100058351A1 (en) 2008-09-01 2009-07-27 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008223918A JP5215779B2 (ja) 2008-09-01 2008-09-01 情報処理装置及び情報処理方法

Publications (3)

Publication Number Publication Date
JP2010061230A JP2010061230A (ja) 2010-03-18
JP2010061230A5 JP2010061230A5 (ja) 2011-10-20
JP5215779B2 true JP5215779B2 (ja) 2013-06-19

Family

ID=41727243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008223918A Expired - Fee Related JP5215779B2 (ja) 2008-09-01 2008-09-01 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US20100058351A1 (ja)
JP (1) JP5215779B2 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607232B2 (en) * 2010-11-11 2013-12-10 International Business Machines Corporation Identifying a transient thread and excluding the transient thread from a processor load calculation
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
CN104468459B (zh) * 2013-09-12 2018-10-02 深圳市腾讯计算机系统有限公司 一种漏洞检测方法及装置
US9600312B2 (en) * 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
CN108984125B (zh) * 2018-07-17 2022-02-18 郑州云海信息技术有限公司 一种资源分配的方法、装置及存储介质
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11221881B2 (en) * 2019-12-31 2022-01-11 Microsoft Technology Licensing, Llc Computer resource leak detection
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612314A (ja) * 1992-06-26 1994-01-21 Nec Corp メモリ管理方式
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
JPH0997188A (ja) * 1995-09-29 1997-04-08 Mitsubishi Electric Corp ジョブのスケジュール方式
US5689707A (en) * 1995-12-04 1997-11-18 Ncr Corporation Method and apparatus for detecting memory leaks using expiration events and dependent pointers to indicate when a memory allocation should be de-allocated
US5680707A (en) * 1996-10-01 1997-10-28 Wy-Tech, Inc. Ladder inclinometer
WO1999045481A1 (en) * 1998-03-03 1999-09-10 Geodesic Systems, Inc. Transparent garbage collection of resources
US6738974B1 (en) * 1998-09-10 2004-05-18 International Business Machines Corporation Apparatus and method for system resource object deallocation in a multi-threaded environment
JP2000207229A (ja) * 1999-01-13 2000-07-28 Hitachi Ltd 資源占有の管理方式
JP2001306341A (ja) * 2000-04-26 2001-11-02 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
US7024668B2 (en) * 2000-05-15 2006-04-04 Matsushita Electric Industrial Co., Ltd. Application execution apparatus and method
JP2002358204A (ja) * 2001-05-31 2002-12-13 Matsushita Electric Ind Co Ltd タスクリソース管理プログラム
JP2005004350A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc リソース管理方法及び装置、リソース管理プログラム、記憶媒体
US7430741B2 (en) * 2004-01-20 2008-09-30 International Business Machines Corporation Application-aware system that dynamically partitions and allocates resources on demand

Also Published As

Publication number Publication date
US20100058351A1 (en) 2010-03-04
JP2010061230A (ja) 2010-03-18

Similar Documents

Publication Publication Date Title
JP5215779B2 (ja) 情報処理装置及び情報処理方法
US9542228B2 (en) Image processing apparatus, control method thereof and storage medium
EP2765525B1 (en) Apparatus, non-transitory computer readable information recording medium and information recording method
US9007641B2 (en) Information processing apparatus, control method, and storage medium
KR19990013514A (ko) 오퍼레이팅 시스템의 재기동 방법
CN111506386A (zh) 虚拟机在线迁移方法、装置、设备及计算机可读存储介质
US8443178B2 (en) Operating system image shrinking apparatus and method and computer readable tangible medium storing a program for operating system image shrinking
CN106537354B (zh) 虚拟化基础设施管理装置、系统、方法和记录介质
US20110289501A1 (en) Information processing device, information processing method, and storage medium storing computer program
JP6464288B2 (ja) クラウドコンピューティング環境においてクラウドホストを削除するプログラム、装置、サーバ及び記憶媒体
US20090307680A1 (en) Side-by-side driver installation
CN114564158B (zh) Linux系统下控制文档打印的方法、装置、设备及介质
US9160867B2 (en) Information processing system for preventing job process from being redundantly performed, information processing apparatus, and program
JP6599725B2 (ja) 情報処理装置およびログ管理方法、並びにコンピュータ・プログラム
JP3789062B2 (ja) 情報処理装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体
JP5381059B2 (ja) 機器、ログ記録制御方法、及びプログラム
CN113536320A (zh) 一种错误信息处理方法、装置及存储介质
JP5013999B2 (ja) 画像形成装置、プログラム制御方法、及び制御プログラム
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
US20090282150A1 (en) Service flow processing apparatus and method
US9727381B2 (en) Image forming apparatus and resource management method
CN111399999A (zh) 计算机资源处理方法、装置、可读存储介质和计算机设备
US20160044201A1 (en) Image forming apparatus and resource management method
WO2022206253A1 (zh) 一种异常处理方法、装置、设备及存储介质
JP5557612B2 (ja) 計算機及び転送プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130301

R151 Written notification of patent or utility model registration

Ref document number: 5215779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees