JP6642138B2 - 計算機システム、スレッド間通信方法およびプログラム - Google Patents
計算機システム、スレッド間通信方法およびプログラム Download PDFInfo
- Publication number
- JP6642138B2 JP6642138B2 JP2016047259A JP2016047259A JP6642138B2 JP 6642138 B2 JP6642138 B2 JP 6642138B2 JP 2016047259 A JP2016047259 A JP 2016047259A JP 2016047259 A JP2016047259 A JP 2016047259A JP 6642138 B2 JP6642138 B2 JP 6642138B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- identifier
- data
- computer
- reception
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
次に、第1の実施形態に係る計算機システムについて図面を参照して説明する 図2は、本実施形態に係る計算機システムに含まれる計算機2の構成を例示するブロック図である。
図2を参照すると、計算機2は、計算機2上で動作するオペレーティングシステム(OS:Operating System)5と、利用者に機能を提供する分散システムの一部を成すプロセス3と、履歴制御指示部6と、履歴保存部7と、を備えている。
次に、本実施形態の計算機システム1の動作について説明する。動作には、(1)通信履歴採取対象プロセスの指定、(2)初期化、(3)システムコールエラー履歴の保存、(4)通信履歴の保存、(5)通信履歴の永続的保存が含まれる。
履歴制御指示部6は、履歴採取プロセスを指定するため、その実行ファイルパスの情報を履歴制御部8に通知する。履歴制御部8は、通知されたファイルパス情報を保持する。
履歴制御指示部6は、履歴制御部8に対して初期化の要求を行う。履歴制御部8は、(2.1)プロセスの起動、(2.2)ソケットの作成、(2.3)データの送信、(2.4)データの受信、(2.5)スレッドのスリープに関するオペレーティングシステム5の動作に関して、通常のオペレーティングシステムの動作に加えて本実施形態に固有の処理を行うために、オペレーティングシステム5に対する設定を実施する。
システムコールゲートウェイ部13は、オペレーティングシステム5がプロセスにエラーを返却するか否かを判断する。エラーを返却する場合、システムコールゲートウェイ部13はプロセスを管理するデータ構造体を確認し、プロセスが履歴採取対象か否かを判断する。プロセスが履歴採取対象である場合、システムコールゲートウェイ部13は履歴制御部8に対してエラー履歴の保存を指示する。保存するデータには、時刻、プロセスID、スレッドID、スレッドを管理するデータ構造体が保持する送信用GUID、受信用GUID、ログのタイプ(エラー)が含まれる。
履歴制御部8は、他の要素からの指示により、時刻、プロセスID、スレッドID、スレッドを管理するデータ構造体に含まれる送信用GUID、受信用GUID、イベントの種類(データの送信、受信、システムコールのエラー)を保存する。
履歴保存部7は、履歴制御部8に対して、保存された通信履歴が存在するか否かを問い合わせる。通信履歴が存在する場合、履歴保存部7はその履歴を履歴制御部8から取得し、計算機2上のハードディスク等の永続的記録媒体に保存する。履歴保存部7は、永続的記録媒体に保存したデータに関しては履歴制御部8から削除するように、履歴制御部8に指示する。
本実施形態によると、対象となる分散システムに関する動作説明資料が存在しない場合であっても、プロセス間の協調関係を確認することができる。その理由は、各計算機2の履歴保存部7が保存した履歴を収集し、GUIDのマッチングを行うことで、どのプロセスがどのプロセスに対してデータを送信したのかを確認することができるからである。
次に、第2の実施形態に係る計算機システムについて図面を参照して説明する。第1の実施形態に係る計算機システム(図2、図3参照)では、スレッド間の通信がTCP通信の場合を想定している。一方、本実施形態では、図5に示すような同一計算機内のスレッド間の通信にも適用可能とする。
図6は、図5のような計算機システム1においても適用可能な計算機2の構成を例示するブロック図である。図6を参照すると、本実施形態の計算機2では、第1の実施形態における計算機2(図2)におけるソケット管理部11とTCPデータ送受信部12が、それぞれ、リソース管理部15とリソース処理部16に変更されている。
次に、本実施形態の計算機システム(図5、図6)の動作について説明する。動作には、(1)リソース履歴採取対象プロセスの指定、(2)初期化、(3)システムコールエラー履歴の保存、(4)リソース履歴の保存、(5)リソース履歴の永続的保存が含まれる。
履歴制御指示部6は、履歴採取プロセスを指定するため、その実行ファイルパスの情報を履歴制御部8に通知する。履歴制御部8は、通知されたファイルパス情報を保持する。
履歴制御指示部6は、履歴制御部8に対して初期化の要求を行う。履歴制御部8は、(2.1)プロセスの起動、(2.2)リソースの作成、(2.3)〜(2.4)リソースの状態変更、(2.5)スレッドのスリープに関するオペレーティングシステム5の動作に関して、通常のオペレーティングシステムの動作に加えて本実施形態に固有の処理を行うため、オペレーティングシステム5に対して設定を実施する。
システムコールゲートウェイ部13は、オペレーティングシステム5がプロセスにエラーを返却するか否かを判断する。エラーを返却する場合、システムコールゲートウェイ部13はプロセスを管理するデータ構造体を確認し、プロセスが履歴採取対象か否かを判断する。プロセスが履歴採取対象である場合、システムコールゲートウェイ部13は履歴制御部8に対してエラー履歴の保存を指示する。保存するデータには、時刻、プロセスID、スレッドID、スレッドを管理するデータ構造体が保持する送信用GUID、受信用GUID、ログのタイプ(エラー)が含まれる。
履歴制御部8は、他の要素からの指示により、時刻、プロセスID、スレッドID、スレッドを管理するデータ構造体に含まれる送信用GUID、受信用GUID、イベントの種類(データの送信、受信、システムコールのエラー)を保存する。
履歴保存部7は、履歴制御部8に対して、保存された通信履歴が存在するか否かを問い合わせる。存在する場合、履歴保存部7はその履歴を履歴制御部8から取得し、計算機上のハードディスク等の永続的記録媒体に保存する。履歴保存部7は、永続的記録媒体に保存したデータに関しては履歴制御部8から削除するように、履歴制御部8に指示する。
本実施形態によると、オペレーティングシステムのリソース状態の変化を捉え、関連するスレッドの情報を記録することにより、同一計算機内で動作するスレッド間の関連性を確認することができる。
次に、第3の実施形態の計算機システムについて説明する。
次に、第4の実施形態に係る計算機システムについて図面を参照して説明する。
図7は、本実施形態の計算機システムの構成を例示するブロック図である。図7を参照すると、本実施形態では、第1ないし第3実施形態の計算機システムに対してさらにログ解析部17が追加されている。
次に、本実施形態の計算機システムの動作について説明する。
Service: 1
User: Yamada
Option: Coffee
を有するものとする。また、入力値のルールは「"Service:" の次の数字」とする。この場合、TCPデータ送受信部12は入力データに入力値のルールを適用し、履歴制御部8に記録すべき部分として「1」を抽出する。
次に、第5の実施形態に係る計算機システムについて図面を参照して説明する。
図10は、本実施形態に係る計算機システム1の構成を例示するブロック図である。本実施形態では、第4の実施形態の計算機システム1(図7)に対して、さらに構成指示部19が追加されている。
本実施形態の計算機システムによると、スレッド間の協調がメモリを経由して行われる場合であっても、スレッド間の関連性を推測し、これに基づいてシステムの異常状態を検出することが可能となる。
[形態1]
上記第1の態様に係る計算機システムのとおりである。
[形態2]
前記第2のスレッドが前記データの受信に応じて第3のスレッドにデータを送信する場合、前記第2のスレッドが稼働する計算機は前記第2のスレッドの識別子と前記第1の受信用識別子と第2の送信用識別子を関連付けて保持する、
形態1に記載の計算機システム。
[形態3]
前記第1の送信用識別子、前記第1の受信用識別子、および、前記第2の送信用識別子は、GUID(Global Unique Identifier)である、
形態2に記載の計算機システム。
[形態4]
前記第1のスレッドが前記第2のスレッドに前記データを送信する場合、前記第1のスレッドが稼働する計算機は前記第1のスレッドの識別子と第1の送信用識別子と前記送信の時刻とを関連付けて保持し、
前記第2のスレッドが前記第1のスレッドから前記データを受信する場合、前記第2のスレッドが稼働する計算機は前記第2のスレッドの識別子と前記第1の送信用識別子と前記第1の受信用識別子と前記受信の時刻を関連付けて保持する、
形態1ないし3のいずれか一に記載の計算機システム。
[形態5]
前記第1のスレッドが稼働する計算機と前記第2のスレッドが稼働する計算機は、同一の計算機である、
形態4に記載の計算機システム。
[形態6]
前記複数のスレッドが稼働する計算機が保持する関連付けに基づいて、互いに関連するスレッド群を学習するログ解析手段を備え、
前記ログ解析手段は、前記学習によって得られた互いに関連するスレッド群と、前記複数のスレッドが稼働する計算機が蓄積した関連付けに基づいて抽出した互いに関連するスレッド群とを比較して、スレッド群に関連するプロセスが正常に動作しているか否かを判定する、
形態4または5に記載の計算機システム。
[形態7]
前記ログ解析手段は、送信用識別子に対して受信用識別子が関連付けられていないスレッドと、当該スレッドに対してデータを送信するスレッドとの関連の強さを、後者のスレッドがデータを受信した時刻と前者のスレッドがデータを送信した時刻の差に応じて算出し、算出した関連の強さに基づいて互いに関連するスレッド群を学習する、
形態6に記載の計算機システム。
[形態8]
上記第2の態様に係るスレッド間通信方法のとおりである。
[形態9]
前記第2のスレッドが前記データの受信に応じて第3のスレッドにデータを送信する場合、前記第2のスレッドの識別子と前記第1の受信用識別子と第2の送信用識別子を関連付けて保持するステップを含む、
形態8に記載のスレッド間通信方法。
[形態10]
前記第1の送信用識別子、前記第1の受信用識別子、および、前記第2の送信用識別子は、GUID(Global Unique Identifier)である、
形態9に記載のスレッド間通信方法。
[形態11]
前記第1のスレッドが前記第2のスレッドに前記データを送信する場合、前記第1のスレッドの識別子と第1の送信用識別子と前記送信の時刻とを関連付けて保持するステップと、
前記第2のスレッドが前記第1のスレッドから前記データを受信する場合、前記第2のスレッドが稼働する計算機は前記第2のスレッドの識別子と前記第1の送信用識別子と第1の受信用識別子と前記受の信時刻を関連付けて保持するステップと、を含む、
形態8ないし10のいずれか一に記載のスレッド間通信方法。
[形態12]
前記複数のスレッドが稼働する計算機が保持する関連付けに基づいて、互いに関連するスレッド群を学習するステップと、
前記学習によって得られた互いに関連するスレッド群と、前記複数のスレッドが稼働する計算機が蓄積した関連付けに基づいて抽出した互いに関連するスレッド群とを比較して、スレッド群に関連するプロセスが正常に動作しているか否かを判定するステップと、を含む、
形態11に記載のスレッド間通信方法。
[形態13]
前記ログ解析手段は、送信用識別子に対して受信用識別子が関連付けられていないスレッドと、当該スレッドに対してデータを送信するスレッドとの関連の強さを、後者のスレッドがデータを受信した時刻と前者のスレッドがデータを送信した時刻の差に応じて算出し、算出した関連の強さに基づいて互いに関連するスレッド群を学習するステップを含む、
形態12に記載のスレッド間通信方法。
[形態14]
上記第3の態様に係るプログラムのとおりである。
2、2A〜2C 計算機
3、3A〜3C プロセス
4A〜4E スレッド
5 オペレーティングシステム
6 履歴制御指示部
7、7A〜7C 履歴保存部
8 履歴制御部
9 プロセス管理部
10 スレッド管理部
11 ソケット管理部
12 TCPデータ送受信部
13 システムコールゲートウェイ部
14 機能利用部
15 リソース管理部
16 リソース処理部
17 ログ解析部
18 メモリキュー
19 構成指示部
Claims (10)
- 複数のスレッドが稼働する計算機を備え、
第1のスレッドが第2のスレッドにデータを送信する場合、前記第1のスレッドが稼働する計算機は前記第1のスレッドの識別子と第1の送信用識別子を関連付けて保持し、
前記第2のスレッドが前記第1のスレッドから前記データを受信する場合、前記第2のスレッドが稼働する計算機は前記第2のスレッドの識別子と前記第1の送信用識別子と第1の受信用識別子とを関連付けて保持する、
ことを特徴とする計算機システム。 - 前記第2のスレッドが前記データの受信に応じて第3のスレッドにデータを送信する場合、前記第2のスレッドが稼働する計算機は前記第2のスレッドの識別子と前記第1の受信用識別子と第2の送信用識別子を関連付けて保持する、
請求項1に記載の計算機システム。 - 前記第1の送信用識別子、前記第1の受信用識別子、および、前記第2の送信用識別子は、GUID(Global Unique Identifier)である、
請求項2に記載の計算機システム。 - 前記第1のスレッドが前記第2のスレッドに前記データを送信する場合、前記第1のスレッドが稼働する計算機は前記第1のスレッドの識別子と第1の送信用識別子と前記送信の時刻とを関連付けて保持し、
前記第2のスレッドが前記第1のスレッドから前記データを受信する場合、前記第2のスレッドが稼働する計算機は前記第2のスレッドの識別子と前記第1の送信用識別子と前記第1の受信用識別子と前記受信の時刻を関連付けて保持する、
請求項1ないし3のいずれか1項に記載の計算機システム。 - 前記第1のスレッドが稼働する計算機と前記第2のスレッドが稼働する計算機は、同一の計算機である、
請求項4に記載の計算機システム。 - 前記複数のスレッドが稼働する計算機が保持する関連付けに基づいて、互いに関連するスレッド群を学習するログ解析手段を備え、
前記ログ解析手段は、前記学習によって得られた互いに関連するスレッド群と、前記複数のスレッドが稼働する計算機が蓄積した関連付けに基づいて抽出した互いに関連するスレッド群とを比較して、スレッド群に関連するプロセスが正常に動作しているか否かを判定する、
請求項4または5に記載の計算機システム。 - 前記ログ解析手段は、送信用識別子に対して受信用識別子が関連付けられていないスレッドと、当該スレッドに対してデータを送信するスレッドとの関連の強さを、後者のスレッドがデータを受信した時刻と前者のスレッドがデータを送信した時刻の差に応じて算出し、算出した関連の強さに基づいて互いに関連するスレッド群を学習する、
請求項6に記載の計算機システム。 - 第1のスレッドが第2のスレッドにデータを送信する場合、前記第1のスレッドの識別子と第1の送信用識別子を関連付けて保持するステップと、
前記第2のスレッドが前記第1のスレッドから前記データを受信する場合、前記第2のスレッドの識別子と前記第1の送信用識別子と第1の受信用識別子とを関連付けて保持するステップと、を含む、
ことを特徴とするスレッド間通信方法。 - 前記第2のスレッドが前記データの受信に応じて第3のスレッドにデータを送信する場合、前記第2のスレッドの識別子と前記第1の受信用識別子と第2の送信用識別子を関連付けて保持するステップを含む、
請求項8に記載のスレッド間通信方法。 - 第1のスレッドが第2のスレッドにデータを送信する場合、前記第1のスレッドの識別子と第1の送信用識別子を関連付けて保持する処理と、
前記第2のスレッドが前記第1のスレッドから前記データを受信する場合、前記第2のスレッドの識別子と前記第1の送信用識別子と第1の受信用識別子とを関連付けて保持する処理と、をコンピュータに実行させる、
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016047259A JP6642138B2 (ja) | 2016-03-10 | 2016-03-10 | 計算機システム、スレッド間通信方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016047259A JP6642138B2 (ja) | 2016-03-10 | 2016-03-10 | 計算機システム、スレッド間通信方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017162284A JP2017162284A (ja) | 2017-09-14 |
JP6642138B2 true JP6642138B2 (ja) | 2020-02-05 |
Family
ID=59854078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016047259A Active JP6642138B2 (ja) | 2016-03-10 | 2016-03-10 | 計算機システム、スレッド間通信方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6642138B2 (ja) |
-
2016
- 2016-03-10 JP JP2016047259A patent/JP6642138B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017162284A (ja) | 2017-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10348809B2 (en) | Naming of distributed business transactions | |
US9838483B2 (en) | Methods, systems, and computer readable media for a network function virtualization information concentrator | |
CN111258627B (zh) | 一种接口文档生成方法和装置 | |
JP6742327B2 (ja) | アラーム情報を処理する方法、関連デバイス、およびシステム | |
CN109144813B (zh) | 一种云计算系统服务器节点故障监控系统及方法 | |
JP2011091464A (ja) | ネットワーク構成の想定のための装置、システム | |
JP6972796B2 (ja) | ソフトウェアサービス実行装置、システム、及び方法 | |
US8305908B2 (en) | System analysis method, system analysis apparatus, and computer readable storage medium storing system analysis program | |
CN112636942B (zh) | 业务主机节点的监测方法及装置 | |
US11349730B2 (en) | Operation device and operation method | |
CN108769118A (zh) | 一种分布式系统中主节点的选取方法及装置 | |
US11886939B2 (en) | System, device, method and datastack for managing applications that manage operation of assets | |
CN117579651A (zh) | 物联网系统 | |
JP6642138B2 (ja) | 計算機システム、スレッド間通信方法およびプログラム | |
US11595419B2 (en) | Communication monitoring system, communication monitoring apparatus, and communication monitoring method | |
JP2006330783A (ja) | オーバレイネットワーク生成アプリケーション起動ノード特定装置およびその方法 | |
KR101630088B1 (ko) | 가상머신의 라이프사이클 모니터링 방법 및 그 장치 | |
JP5686001B2 (ja) | 情報処理装置、メッセージ切分け方法およびメッセージ切分けプログラム | |
JP6775452B2 (ja) | 監視システム、プログラムおよび監視方法 | |
JP7389370B2 (ja) | 運用装置、保守管理システム、運用方法およびプログラム | |
JP6048555B1 (ja) | 分類情報作成装置、分類情報作成方法、分類情報作成プログラム、検索装置、検索方法、及び、検索プログラム | |
JP2020150335A (ja) | パケット解析プログラム、パケット解析装置およびパケット解析方法 | |
CN115150466B (zh) | 一种数据分发的实现方法、装置、电子设备及存储介质 | |
WO2022118427A1 (ja) | 異常検知支援装置、異常検知支援方法及びプログラム | |
TWI673610B (zh) | 遠端工作系統及其工作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191127 |
|
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: 20191203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191216 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6642138 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |