JP5565153B2 - プログラム、情報処理装置、及び情報処理装置の制御方法 - Google Patents
プログラム、情報処理装置、及び情報処理装置の制御方法 Download PDFInfo
- Publication number
- JP5565153B2 JP5565153B2 JP2010154788A JP2010154788A JP5565153B2 JP 5565153 B2 JP5565153 B2 JP 5565153B2 JP 2010154788 A JP2010154788 A JP 2010154788A JP 2010154788 A JP2010154788 A JP 2010154788A JP 5565153 B2 JP5565153 B2 JP 5565153B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- request
- response
- arithmetic processing
- information processing
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
図1は、情報処理装置が適用されるシステムの一例を示す図である。図1に示すシステムは、クライアント300、Webサーバ400、及び、APサーバ500を有する。AP(APplication:アプリケーション)サーバ500は、例えば、クライアント300に対するサービスを提供する情報処理装置としてのサーバコンピュータである。APサーバ500のハードウェア構成は、図2を用いて後述し、APサーバ500が提供するサービスや機能は、図5〜図13を用いて後述する。
図2は、APサーバのハードウェア構成の一例を示す図である。図2に示すように、APサーバ500は、演算処理装置510、主記憶装置520、通信部530、2次記憶装置540、及びI/Oコントローラ560を有する。また、ドライブ装置550を有していてもよい。
演算処理装置510は、主記憶装置520に記憶されたプログラムを実行することで、主記憶装置520からデータをロードし、ロードしたデータを演算して、主記憶装置520に演算結果をストアする。演算処理装置510は、例えば、CPUである。
I/Oコントローラ560は、演算処理装置510と、他の接続装置との接続を制御する装置である。I/Oコントローラ560は、例えば、AGP(Accelerated Graphics Port)又はPCI Express(Peripheral Component Interconnect Express)などの規格に従って動作する。
主記憶装置520は、データやプログラムを記憶する装置である。演算処理装置510は、I/Oコントローラ560を介することなく、主記憶装置520にアクセスすることができる。主記憶装置520は、例えば、DRAM(Dynamic Random Access Memory)である。なお、図3を用いて、主記憶装置520のメモリマップの一例を後述する。
2次記憶装置540は、電源供給が無くても情報を保持可能であり、主記憶装置520に格納されるプログラム及びデータを記憶する装置である。2次記憶装置540は、磁気ディスクを用いたディスクアレイ、又は、フラッシュメモリを用いたSSD(Solid State Drive)等である。
通信部530は、通信経路としてのネットワーク450と接続し、ネットワーク450に接続された他の情報処理装置との間でデータを送受信する装置である。通信部530は、例えば、NIC(Network Interface Controller)である。
ドライブ装置550は、例えば、フロッピー(登録商標)ディスクやCD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)などの記憶媒体590を読み書きする装置である。ドライブ装置550は、記憶媒体590を回転させるモータや記憶媒体590上でデータを読み書きするヘッド等を含む。なお、記憶媒体590は、プログラムを格納することができる。ドライブ装置550は、ドライブ装置550にセットされた記憶媒体590からプログラムを読み出す。演算処理装置510は、ドライブ装置550により読み出されたプログラムを、主記憶装置520又は2次記憶装置540に格納する。なお、記憶媒体590に記憶されるプログラム又はデータとは、例えば、図3を用いて後述するプログラム又はデータである。
図3は、主記憶装置のメモリマップの一例を示す図である。主記憶装置520は、OS(Operating System)910、プロセス940A及び940B、要求ディスパッチプログラム950、プロセス管理テーブル960、及びログファイル970を格納する。
OS910は、キーボード入力や画面出力といった入出力機能やディスクやメモリの管理など、多くのアプリケーションから共通して利用される基本的な機能を提供し、ハードウェア資源全体を管理するソフトウェアである。OS910は、例えば、Microsoft Windows(登録商標) Serverである。
プロセス940Aは、クライアント300からの要求に対する応答処理を実行するアプリケーションプログラムであり、例えば、業務サービスに関するアプリケーションプログラムである。
変換プログラム949A及び949Bは、中間コード946A及び946Bを、演算処理装置510が実行可能なネイティブコード944A又は944Bに変換するためのプログラムである。演算処理装置510が中間コード946A及び946Bの実行直前に、変換プログラム949A及び949Bを実行して、中間コード946A及び946Bを、ネイティブコード944A又は944Bに変換する。なお、このように、実行時に、演算処理装置に実行可能な形式にコンパイルする方式を、「動的コンパイル」という。中間コード946A及び946B、及び、ネイティブコード944A又は944Bは、クライアントからの要求に応じた所定の処理を実行して、応答結果を算出するためのプログラムである。
プロセス940Bは、プロセス940Aのプロセス管理プログラム945Aによって複製されたプロセスである。プロセス940Aは、要求942Aを受け取ると、要求942Aをデータとして自プロセス内に含める。その後、プロセス940Aは、プロセス管理プログラム945Aによって自プロセスの複製であるプロセス940Bを生成するので、プロセス940Bは要求942Aの複製である要求942Bを含む。
図5は、要求ディスパッチプログラムの情報処理の一例を示す図である。図6は、プロセス管理テーブルの一例を示す図である。図5及び図6を用いて、要求ディスパッチプログラムの情報処理を説明する。
図7は、プロセス管理プログラムの正常処理の一例を示す図である。図7には、要求ディスパッチプログラム950、プロセス940A及び940Bと、プロセス管理テーブル960とが示される。S71〜S80は、要求ディスパッチプログラム950、プロセス940A及び940B、及びプロセス管理プログラム945A及び945Bによる通信処理又は情報処理を示す。
図8は、プロセス異常終了時におけるプロセス管理プログラムの情報処理の第1例を示す図である。図8には、要求ディスパッチプログラム、プロセス、プロセス管理プログラムと、プロセス管理テーブル960が示される。S81〜S92は、図7に示す要求に対する処理(S71〜S75)の後の情報処理であり、プロセス異常終了時の情報処理を示す。
図9に示されるように、プロセス940Aは、まず、初期値を設定する(S1101)。図11に示すように、プロセス940Aは、初期値として、デバッグフラグ(debug_flg)を「false(0)」に、ログレベル(log_level)を「1」に設定する。なお、これらの初期値は、例えばグローバル変数であり、プロセス管理プログラム945からアクセス可能な変数である。他のプロセス管理プログラム945B及び945Cからは、プロセス940B、及びプロセス940Cにそれぞれコピーされた領域がアクセス可能になる。
プロセス940Bは、プロセス管理プログラム945AのS1103により生成され、プロセス管理プログラム945BのS1103直後から実行される。なお、プロセス管理プログラム945BにおいてS1103で得られるpidは、「0」になる。
実行中のプロセスが複製プロセスである場合(S1104 Yes)とは、子プロセスであるプロセス940Bが実行する場合である。実行中のプロセスが複製プロセスである場合(S1104 Yes)、プロセス管理プログラム945Bは、自プロセスのデバッグフラグ(debug_flg)を、親プロセスと逆のデバッグフラグにする(S1105)。例えば、プロセス管理プログラム945Bは、S1101で設定されたデバッグフラグ(debug_flg)は「0(false)」であるので、S1105で、デバッグフラグ(debug_flg)は「1(True)」になる。
S1008により再度プロセス管理プログラムの処理が実行される。図10に示すように、プロセス管理プログラム945Bは、親プロセスとしてのPPID(Parent Process IDentifier)を取得する(S1102)。なお、ここで親プロセスは、子プロセスであるプロセス940Bである。
図12は、プロセス異常終了時におけるプロセス管理プログラムの情報処理の第2例を示す図である。図12には、要求ディスパッチプログラム、プロセス、プロセス管理プログラムと、プロセス管理テーブル960が示される。S81A〜S102は、図7に示す要求に対する処理(S71〜S75)の後の情報処理であり、プロセス異常終了時のプロセス管理プログラムによる情報処理を示す。また、S81A〜S88Aは、図8に示すS81〜S88と同じ情報処理であるので、説明を省略する。
[付記1]
クライアントコンピュータから出力される要求に対して応答処理を実行する情報処理装置であって、
前記情報処理装置に、前記クライアントコンピュータから出力される要求に対する応答処理を実行させるための第1プログラムを格納する記憶装置と、
前記クライアントコンピュータから第1要求を受け取ると、前記第1プログラム及び前記第1要求を複製し、前記第1プログラムの複製である第2プログラムを実行して、前記第1要求に対する前記第1プログラムの応答処理を監視し、前記第1プログラムの応答処理の障害を検出した場合、前記第2プログラムを実行して、前記第1要求の複製である第2要求に対する応答処理を行う、演算処理装置と、
を備えることを特徴とする情報処理装置。
[付記2]
前記演算処理装置による前記第1プログラムの複製は、前記第1プログラムに含まれるネイティブコードの複製を含む、付記1に記載の情報処理装置。
[付記3]
前記演算処理装置は、前記第1プログラム及び第2プログラムの実行とともに、前記第1プログラム又は前記第2プログラムの実行に対する経過情報の量や出力対象となるデータの数を少なくとも特定するログレベルに従ってログファイルを生成し、
前記第2プログラムのログレベルは、前記第1プログラムのログレベルより高い、付記1又は2に記載の情報処理装置。
[付記4]
前記演算処理装置は、前記第2要求に対する前記第2プログラムの応答処理が終了すると、前記第2プログラムを複製し、
前記演算処理装置は、前記第2プログラムの複製の後に、前記第2プログラムを前記記憶装置から削除し、
前記第2プログラムの複製である第3プログラムの前記ログレベルは、前記第1プログラムのログレベルと同じである、付記3に記載の情報処理装置。
[付記5]
前記演算処理装置は、前記第2要求に対する前記第2プログラムの応答が終了すると、前記第2プログラムの前記ログレベルを、前記第1プログラムのログレベルと同じにする、付記3に記載の情報処理装置。
[付記6]
要求に対する応答処理を実行する情報処理装置を制御する方法であって、
前記情報処理装置が第1要求を受け取ると、前記情報処理装置の演算処理装置が、前記第1要求に対する応答処理を行う第1プログラム、及び前記第1要求を複製し、
前記演算処理装置が、前記第1プログラムの複製である第2プログラムを実行して、前記第1要求に対する前記第1プログラムの応答処理を監視し、
前記第1プログラムの応答処理の障害を検出した場合、前記演算処理装置が、前記第2プログラムを実行して、前記第1要求の複製である第2要求に対する応答処理を行うこと、を有することを特徴とする制御方法。
[付記7]
前記演算処理装置による前記第1プログラムの複製は、前記第1プログラムに含まれるネイティブコードの複製を含む、付記6に記載の制御方法。
[付記8]
前記演算処理装置は、前記第1プログラム及び第2プログラムの実行とともに、前記第1プログラム又は前記第2プログラムの実行に対する経過情報の量や出力対象となるデータの数を少なくとも特定するログレベルに従ってログファイルを生成することをさらに有し、
前記第2プログラムのログレベルは、前記第1プログラムのログレベルより高い、付記6又は7に記載の制御方法。
[付記9]
前記演算処理装置は、前記第2要求に対する前記第2プログラムの応答処理が終了すると、前記第2プログラムを複製し、
前記演算処理装置は、前記第2プログラムの複製の後に、前記第2プログラムを前記記憶装置から削除することをさらに有し、
前記第2プログラムの複製である第3プログラムの前記ログレベルは、前記第1プログラムのログレベルと同じである、付記8に記載の制御方法。
[付記10]
前記演算処理装置は、前記第2要求に対する前記第2プログラムの応答が終了すると、前記第2プログラムの前記ログレベルを、前記第1プログラムのログレベルと同じにすることをさらに有する、付記8に記載の制御方法。
[付記11]
要求に対する応答処理を行うとともに、前記応答処理の異常を監視するプログラムであって、情報処理装置の演算処理装置に、
第1要求を受け取ると、前記演算処理装置が前記プログラムの複製元のプログラムを実行して行う前記第1要求に対する応答処理を監視する手順と、
前記複製元のプログラムの応答処理に障害が生じたことを検出した場合、前記第1要求の複製である第2要求に対する応答処理を行う手順と、を実行させるためのプログラム。
[付記12]
前記プログラムは、前記複製元のプログラムに含まれるネイティブコードの複製を含む、付記11に記載のプログラム。
[付記13]
前記演算処理装置に、前記第1プログラム及び第2プログラムの実行とともに、前記第1プログラム又は前記第2プログラムの実行に対する経過情報の量や出力対象となるデータの数を少なくとも特定するログレベルに従ってログファイルを生成する手順をさらに実行させ、
前記第2プログラムのログレベルは、前記第1プログラムのログレベルより高い、付記11又は12に記載のプログラム。
[付記14]
前記演算処理装置に、前記第2要求に対する前記第2プログラムの応答処理が終了すると、前記第2プログラムを複製する手順と、
前記第2プログラムの複製の後に、前記第2プログラムを前記記憶装置から削除する手順とをさらに実行させ、
前記第2プログラムの複製である第3プログラムの前記ログレベルは、前記第1プログラムのログレベルと同じである、付記13に記載のプログラム。
[付記15]
前記演算処理装置に、前記第2要求に対する前記第2プログラムの応答が終了すると、前記第2プログラムの前記ログレベルを、前記第1プログラムのログレベルと同じにする手順をさらに実行させる、付記13に記載のプログラム。
300 クライアント
400 Webサーバ
500 APサーバ
510 演算処理装置
520 主記憶装置
530 通信部
540 2次記憶装置
550 ドライブ装置
560 I/Oコントローラ
590 記憶媒体
940A、940B プロセス
942A、942B 要求
944A、944B ネイティブコード
946A、946B 中間コード
948A、948B データ
949A、949B 変換プログラム
950 要求ディスパッチプログラム
960 プロセス管理テーブル
970 ログファイル
Claims (8)
- クライアントコンピュータから出力される要求に対して応答処理を実行する情報処理装置であって、
前記情報処理装置に、前記クライアントコンピュータから出力される要求に対する応答処理を実行させるための第1プログラムを格納する記憶装置と、
前記クライアントコンピュータから第1要求を受け取ると、前記第1プログラム及び前記第1要求を複製し、前記第1プログラムの複製である第2プログラムを実行して、前記第1要求に対する前記第1プログラムの応答処理を監視し、前記第1プログラムの応答処理の障害を検出した場合、前記第2プログラムを実行して、前記第1要求の複製である第2要求に対する応答処理を行う、演算処理装置と、
を備え、
前記演算処理装置は、前記第2要求に対する前記第2プログラムの応答処理が終了すると、前記第2プログラムを複製して第3プログラムを生成し、
前記演算処理装置は、前記第2プログラムの複製の後に、前記第2プログラムを前記記憶装置から削除する、
ことを特徴とする情報処理装置。 - 前記演算処理装置による前記第1プログラムの複製は、前記第1プログラムに含まれるネイティブコードの複製を含む、請求項1に記載の情報処理装置。
- 前記演算処理装置は、前記第1プログラム及び第2プログラムの実行とともに、前記第1プログラム又は前記第2プログラムの実行に対する経過情報の量や出力対象となるデータの数を少なくとも特定するログレベルに従ってログファイルを生成し、
前記第2プログラムのログレベルは、前記第1プログラムのログレベルより高い、請求項1又は2に記載の情報処理装置。 - 前記第2プログラムの複製である第3プログラムの前記ログレベルは、前記第1プログラムのログレベルと同じである、請求項3に記載の情報処理装置。
- 前記演算処理装置は、前記第2要求に対する前記第2プログラムの応答が終了すると、前記第2プログラムの前記ログレベルを、前記第1プログラムのログレベルと同じにする、請求項3に記載の情報処理装置。
- 要求に対する応答処理を実行する情報処理装置を制御する方法であって、
前記情報処理装置が第1要求を受け取ると、前記情報処理装置の演算処理装置が、前記第1要求に対する応答処理を行う第1プログラム、及び前記第1要求を複製し、
前記演算処理装置が、前記第1プログラムの複製である第2プログラムを実行して、前記第1要求に対する前記第1プログラムの応答処理を監視し、
前記第1プログラムの応答処理の障害を検出した場合、前記演算処理装置が、前記第2プログラムを実行して、前記第1要求の複製である第2要求に対する応答処理を行い、
前記第2要求に対する前記第2プログラムの応答処理が終了すると、前記演算処理装置が前記第2プログラムを複製して第3プログラムを生成し、
前記第2プログラムの複製の後に、前記演算処理装置が前記第2プログラムを前記記憶装置から削除する、
ことを特徴とする制御方法。 - 要求に対する応答処理を行うとともに、前記応答処理の異常を監視するプログラムであって、情報処理装置の演算処理装置に、
第1要求を受け取ると、前記演算処理装置が前記プログラムの複製元のプログラムを実行して行う前記第1要求に対する応答処理を監視する手順と、
前記複製元のプログラムの応答処理に障害が生じたことを検出した場合、前記第1要求の複製である第2要求に対する応答処理を行う手順と、
前記第2要求に対する前記第2プログラムの応答処理が終了すると、前記第2プログラムを複製して第3プログラムを生成する手順と、
前記第2プログラムの複製の後に、前記第2プログラムを前記記憶装置から削除する手順、
を実行させるためのプログラム。 - 前記プログラムは、前記複製元のプログラムに含まれるネイティブコードの複製を含む、請求項7に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010154788A JP5565153B2 (ja) | 2010-07-07 | 2010-07-07 | プログラム、情報処理装置、及び情報処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010154788A JP5565153B2 (ja) | 2010-07-07 | 2010-07-07 | プログラム、情報処理装置、及び情報処理装置の制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012018512A JP2012018512A (ja) | 2012-01-26 |
JP2012018512A5 JP2012018512A5 (ja) | 2013-06-06 |
JP5565153B2 true JP5565153B2 (ja) | 2014-08-06 |
Family
ID=45603724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010154788A Expired - Fee Related JP5565153B2 (ja) | 2010-07-07 | 2010-07-07 | プログラム、情報処理装置、及び情報処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5565153B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6179331B2 (ja) | 2013-10-09 | 2017-08-16 | 富士通株式会社 | ログ出力条件設定プログラム、装置、および方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01224846A (ja) * | 1988-03-04 | 1989-09-07 | Fujitsu Ltd | プロセス空間切り換え制御方式 |
JP2846047B2 (ja) * | 1990-03-29 | 1999-01-13 | 株式会社東芝 | シャドウプロセス生成方式 |
JP2612385B2 (ja) * | 1991-07-02 | 1997-05-21 | 富士通株式会社 | 多重化サブシステム間処理引継ぎ処理方式 |
JP2762816B2 (ja) * | 1992-02-14 | 1998-06-04 | 日本電気株式会社 | トランザクション実行トレース情報採取方式 |
JP2000215074A (ja) * | 1999-01-26 | 2000-08-04 | Fujitsu Ltd | システムの運用方式及び障害自動復旧方式 |
JP5341317B2 (ja) * | 2007-01-30 | 2013-11-13 | セイコーエプソン株式会社 | アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム |
-
2010
- 2010-07-07 JP JP2010154788A patent/JP5565153B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012018512A (ja) | 2012-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US20050240931A1 (en) | System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller | |
US9124669B2 (en) | Cooperative client and server logging | |
JP2005018774A (ja) | アンドゥインフラストラクチャ | |
JP4023803B2 (ja) | ウェブアプリケーション開発支援装置、データ処理方法及びプログラム | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
US11531526B1 (en) | Creating portable serverless applications | |
JP6163707B2 (ja) | 組み込み機器、プログラム作成装置、プログラム | |
CN115934471A (zh) | 基于大数据的数据采集方法及大数据系统 | |
US11494184B1 (en) | Creation of transportability container files for serverless applications | |
JP5565153B2 (ja) | プログラム、情報処理装置、及び情報処理装置の制御方法 | |
CN109445966B (zh) | 事件处理方法、装置、介质和计算设备 | |
US10462234B2 (en) | Application resilience system and method thereof for applications deployed on platform | |
CN116700779A (zh) | 代码动态调整方法、装置、设备、介质和程序产品 | |
US11513833B1 (en) | Event listener interface for container-based execution of serverless functions | |
CN114116326A (zh) | 一种数据存储容灾方法及系统 | |
CN114661420A (zh) | 基于Kubernetes容器平台的应用保护方法、装置及系统 | |
CN112416698B (zh) | 监控系统的扩展方法及装置、存储介质及电子设备 | |
CN114371888A (zh) | 日志采集插件的热更新方法、装置、电子设备和可读介质 | |
CN109358972B (zh) | 中间件客户端的日志管理方法、装置及计算机系统 | |
JP2012128581A (ja) | 通信コード生成装置および関数利用コンピュータおよび関数公開コンピュータおよびコンピュータシステムおよび通信コード生成方法およびプログラム | |
CN112350921A (zh) | 消息处理方法、终端及存储介质 | |
CN113760693A (zh) | 用于微服务系统的本地调试的方法和装置 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN112783834B (zh) | 一种业务资源在线转存方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130422 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130422 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140407 |
|
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: 20140520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140602 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5565153 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |