JP5062979B2 - 分散コンピュータ・システムをトラブルシューティングするため、またはアプリケーション・データフローを見出すためのシステム、方法、およびコンピュータ・プログラム - Google Patents

分散コンピュータ・システムをトラブルシューティングするため、またはアプリケーション・データフローを見出すためのシステム、方法、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP5062979B2
JP5062979B2 JP2005259922A JP2005259922A JP5062979B2 JP 5062979 B2 JP5062979 B2 JP 5062979B2 JP 2005259922 A JP2005259922 A JP 2005259922A JP 2005259922 A JP2005259922 A JP 2005259922A JP 5062979 B2 JP5062979 B2 JP 5062979B2
Authority
JP
Japan
Prior art keywords
server
active
connection
connections
active connections
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
JP2005259922A
Other languages
English (en)
Other versions
JP2006085700A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006085700A publication Critical patent/JP2006085700A/ja
Application granted granted Critical
Publication of JP5062979B2 publication Critical patent/JP5062979B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、一般に、分散コンピュータ・システムに関する。より具体的には、本発明は、分散コンピュータ・システムにおいて問題をトラブルシューティングするため、またはアプリケーション・データフローを判定するためのシステム、方法、およびコンピュータ・プログラムに関する。
今日では、分散コンピュータ・システムは公知である。分散コンピュータ・システムは、クライアント・ワークステーションの処理をするために、ネットワークを介して相互接続された多数のサーバを含む。例えば、クライアント・ワークステーションがウェブ・サービスをリクエストし、そのリクエストは、分散コンピュータ・システム内でプロキシサーバからウェブサーバに送られる。ウェブサーバ自体は、全てのアプリケーションまたはデータを保有し、クライアント・リクエストに完全に応答することができない。こうした場合には、ウェブサーバは、クライアント・リクエストの一部または全てを別のサーバに送信するか、または他のサーバについての別のリクエストを生成し、必要なサービスまたはデータを得ることができる。例えば、クライアント・リクエストが、飛行機のチケットの手配、ホテルの予約、レンタカーの手配などの複数の旅行の予約に関する場合、フロントエンドのウェブサーバは、クライアントへのインターフェースとして働く。飛行機のチケットについてクライアントからリクエストを受信すると、フロントエンド・ウェブサーバは、そのリクエストを飛行機予約アプリケーションが動作している別のサーバにネットワークを介して送信する。同様に、ホテルの予約についてクライアントからリクエストを受信すると、フロントエンド・ウェブサーバは、リクエストをホテル予約アプリケーションが動作している別のサーバにネットワークを介して送信する。同様に、レンタカーについてクライアントからリクエストを受信すると、フロントエンド・ウェブサーバは、リクエストをレンタカー・アプリケーションが動作している別のサーバにネットワークを介して送信する。この例においては、これらの他のサービスの各々自体が、対応するデータベースを管理するわけではないので、これらの他のサービスの各々は、それぞれのネットワークを介して、それぞれのデータベースから対応するデータ(すなわち、予約状況、価格など)をリクエストする。したがって、この例においては、複合的な旅行予約についての顧客リクエストに応答するために、多数のサーバを必要とすることになる。同様に、クライアント・リクエストの処理時にアプリケーション・サーバを助けるために、メッセージング・サーバ、認証サーバ、バッチ・サーバ、またはレポーティング(reporting)サーバのような他のタイプのサーバ・アプリケーションを必要とすることもある。
複合的な旅行予約についての顧客リクエスト(または他のタイプのサーバ・アプリケーションからの助けを必要とする別のサービスについての顧客リクエスト)に適切に応答するためには、必要なサーバの全てを作動させなければならず、それらのサーバ間のネットワーク接続の全てが活動状態でなければならない。(いずれかのサーバがクラスタ内にある場合には、そのクラスタ内の少なくとも1つのサーバが動作していなければならない。)しかしながら、場合によっては、サーバ(またはサーバ・クラスタ)、あるいはサーバ(またはサーバ・クラスタ)間のネットワーク接続に障害が生じることがある。問題のトラブルシューティングを担当するシステム管理者には、障害箇所またはその障害の性質さえも明らかではない。サーバ間に同時に多数の活動状態のポートおよびネットワーク接続があり得るという事実により、タスクのトラブルシューティングが複雑なものになっている。また、分散コンピュータ・システムの構成を変えることができるが、このことをトラブルシューティングの文書化に反映させることができない。したがって、どのサーバをトラブルシューティングすべきかを判定することは困難である。
したがって、本発明の目的は、障害が生じたネットワーク接続または関連するサーバの識別を容易にすることである。
本発明は、クライアント・リクエストを処理するために必要とされる可能性がある活動状態の接続(active connection)を判定(determine)するためのシステム、方法、およびコンピュータ・プログラムを提供する。コンピュータ・プログラムは、第1のサーバと複数の他のサーバとの間の活動状態の接続を繰り返し検知するステップと、第1のサーバと複数のサーバそれぞれの間の活動状態の接続が検知された頻度を判定するステップをコンピュータに実行させる。好ましくは、コンピュータ・プログラムは、活動状態の接続それぞれが最後に検知されたときを判定するステップをコンピュータに実行させる。さらに、コンピュータ・プログラムは、活動状態の接続、活動状態の接続が検知された頻度、および活動状態の接続が最後に検知されたときをリストするテーブルを形成するステップをコンピュータに実行させる。テーブルを形成するステップにおいては、検出するステップにおいて最新の繰り返し周期に活動状態として検知されなかった活動状態の接続をテーブルにおいて強調表示することが好ましい。
好ましくは、コンピュータ・プログラムは、システム機能のために使用されるポート、またはユーザ・クライアントからのリクエストを受信するため使用されるポートを使用しない複数の活動状態の接続を識別する。また、コンピュータ・プログラムが、活動状態の接続のうち第1のサーバ上のリスニング・ポートを使用するものを識別するステップをさらにコンピュータに実行させるようにすることもできる。さらに、コンピュータ・プログラムが、システム機能のために使用されるポートまたはユーザ・クライアントからリクエストを受信するために使用されるポートを使用しない活動状態の接続を識別するステップをさらにコンピュータに実行させるようにすることもできる。
本発明が、図面に関連して詳細に説明される。図1は、プロキシサーバ11−13、(バックアップの負荷平衡サーバ15を有する)負荷平衡サーバ14、関連したアプリケーション・サーバ16−18、データベース・サーバ19、メッセージング・サーバ20、認証サーバ21、バッチ・サーバ22、レポーティング・サーバ23、および別のアプリケーション・サーバ24を含む分散コンピュータ・システム10を示す。イントラネット43上のクライアント・コンピュータ40、42は、ファイアウォール44および(インターネットのような)ネットワーク50を介して、プロキシサーバ11、12、13にアクセスする。TCP/IPネットワーク、LAN、またはWANのようなネットワーク52は、プロキシサーバ11、12、13を負荷平衡サーバ14、15に接続する。プロキシサーバは、ウェブサイトのホームページURLに常駐し、そのURL内の修飾子として指定されるアプリケーションに、クライアント・リクエストを送信することができる。図示される例においては、アプリケーション・サーバ16−18は、クラスタ状に構成される。アプリケーション・サーバ16−18の性質は、本発明にとって重要ではないが、そのアプリケーション・サーバ16−18は、クライアント・リクエストを処理するために、サービスのための他のサーバ19−23に依存するようにすることができる。TCP/IPネットワーク、LAN、またはWANのようなネットワーク54が、アプリケーション・サーバ16−18をサーバ19−24に接続する。データベース・サーバ19は、アプリケーション・サーバ16−18が必要とされるデータを格納できるデータベースを管理し、クライアント・リクエストに応答することができる。メッセージング・サーバ20はデータのメッセージをキューに入れ、IBM MQシリーズ・ソフトウェアのようなアプリケーションの間に送信する。認証サーバ21は、アプリケーションおよびユーザからの認証/ログインリクエストを処理する。バッチ・サーバ22は、連続化されたリクエストのバッチ処理を行う。レポーティング・サーバ23は、アクセス率や使用方法といった種々のアプリケーション統計データを集める。アプリケーション・サーバ24は、アプリケーション・サーバ16−18が必要とされる付加的なサービスを提供し、クライアント・リクエストに応答する。他のタイプのサーバは、アプリケーション・サーバ16−18と協働して、クライアント・リクエストを処理することができる。
以下に詳細に説明されるように、活動状態のネットワーク接続を確立することによって、種々のサーバが互いに通信する。各々のネットワーク接続は、ソケットの対すなわちローカル・ソケットおよび外部ソケットによって表すことができる。「ソケット」は、ネットワーク・アドレスおよびポートの組み合わせであり、接続の一方の端を表す。各々の「接続」は、指向性を有する。一方のソケットは、「サーバ」ソケット、すなわちリクエストを受信(供給)するソケットである。他方のソケットは、「クライアント」ソケット、すなわちリクエストの開始/送信をするソケットである。各々の「サーバ」ソケットのポートは、常に固定され、アプリケーションによって予め決定される。多くのサーバ・ソケット・ポートの各々の識別(一般的には、数)は、「クライアント」が知っているので、クライアントは、そのクライアントのリクエストを適切なサーバ・ポートにアドレス指定する。サーバ・ポートの例は、httpリクエストに対する「80」およびhttpリクエストに対する「443」である。「クライアント」ソケットのポートは、クライアント・オペレーティング・システムによって、ランダムに割り当てられる。
ネットワーク接続分析プログラム130が、トラブルシューティング用コンピュータ120上で動作する。ネットワーク接続エージェント・プログラム71−84が、それぞれサーバ11−24上で動作する。以下に詳細に説明されるように、エージェント・プログラムは、それぞれのサーバに質問し、サーバが現在どのポートを使用しているかを識別し、他の開始パートナーからの通信、およびその開始パートナーの識別をリッスン(listen)する。これらは、2つのコンピュータ間の「活動状態の」接続である。エージェント・プログラムは、これらのポート、そのポートの状態、およびそのポートの開始パートナーを分析プログラム130に報告する。次に、分析プログラム130は、ポート、そのポートの状態、およびパートナー・サーバ、並びにポート・サンプリング時間を中央データベース140に記録する。このことにより、およそある時点で、活動状態の接続のスナップショット、すなわちポート、そのポートの状態、およびそのポートのパートナーが形成される。次に、分析プログラム130は、サーバ間の接続のために、これらのポートのどれを使用し、種々のクライアントからのリクエストを処理できるかを判定する。これらは、「持続的接続(persistent connection)」と考えられ、クライアント・リクエストを処理するために何度も必要だと考えられるので、トラブルシューティングのためのベースラインとして働く。クライアントとサーバとの間のような、他の低頻度の/一時的な接続は、「持続的」と考えられないかまたはベースライン内に含まれる。分散コンピュータ・システム内のどこかにその後の障害がある場合には、管理者は、現在の活動状態の接続をベースライン、持続的接続と比較し、ベースライン、持続的接続のいずれかが欠落しているかどうかを判定する。欠落している場合には、このことにより、問題の原因、すなわち過去に持続的接続がなされたが、現在は活動状態にない2つのサーバの1つを識別することができる。管理者によるリクエスト時に、分析プログラム130は、指定のサーバについての全ての接続をテーブル示し、そのサーバへの接続の多くが活動状態にないものの、ベースラインから予想されるかどうかを判定する。この場合、このことが、このサーバが有する問題を示す傾向がある。
図2は、前述のプロセスをより詳細に示す。ステップ200において、エージェント・プログラム71−84が、周知の「netstat−an」コマンドまたは同等コマンドを用いて、それぞれのサーバ内のオペレーティング・システムに質問して、このサーバについての全ての空きポートを識別し、これらのポートを通してなされる接続/セッションについての情報を獲得する。(「netstat−an」コマンドは、Unix(商標)オペレーティング・システムにおいて周知のものである。「Netstat」は、Microsoft社のWindows(商標)オペレーティング・システムにおいて周知の同等コマンドである。)netstat−anコマンドへの応答は、サーバについての全ての空きポートのリスト、接続のために用いられるプロトコル・タイプ(例えば、TCPまたはUDP)、ローカルIPアドレスおよびポート番号、外部IPアドレスおよびポート番号、並びに接続/セッションの状態を含む。接続「状態」は、接続についてのそれぞれのソケットの組み合わせの状態を表す。状態の例は、LISTEN、ESTABLISHED、CLOSE_WAIT、およびTIME_WAITである。LISTEN状態は、ソケットが、ユーザまたはサーバ・アプリケーションからのリクエストを受信するために、リスニング/サービス・モードにあることを示す。図示される例においては、アプリケーション・サーバ16、17、または18は、(リスニング)サーバ19−24にそれぞれのサービスをリクエストすることができる。LISTEN状態は、リクエストを受信し、リクエストされたサービスを与えることができるコンピュータ(サーバ19−24のような)の特性である。同様に、プロキシサーバ11−13の1つが(負荷平衡サーバ14を介して)サーバ16−18の1つにユーザリクエストを送信するとき、1つのプロキシサーバ11−13と1つのサーバ16−18との間に接続があり、その1つのサーバ16−18は、この接続におけるリスナーであると考えられる。
各々のサーバ上のエージェント・プログラムは、状態がLISTENである場合に、netstat−anコマンドへの応答から記録を選択し、これらの選択された記録からポート番号を取り出すことによって、そのサーバについてのリスニング(ソケット)ポートのリストを構築する。サーバがリクエストされたサービスを与える役割を果たしている場合、これらがポートの記録である。各々のサーバ上のエージェント・プログラムはまた、状態がESTABLISHED、CLOSE_WAITである場合に、netstat−anコマンドへの応答から記録を選択し、これらの選択された記録からポート番号を取り出すことによって、そのサーバについての非リスニング(ソケット)ポートのリストも構築する。サーバがリクエストを行うかまたはリクエストを送信する役割を果たしている場合、これらがポートの記録である。次のものは、コマンド「netstat−an」が、IPアドレス9.17.100.10を有するローカル・サーバ上で実行される時の例である。以下の応答:

プロトコル ローカル・アドレス 外部アドレス 状態
tcp *.50504 *.* LISTEN
tcp 9.17.100.10.50504 9.100.20.100.1111 ESTABLISHED
tcp 9.17.100.10.1112 9.100.20.101.2000 ESTABLISHED

状態「LISTEN」を含む行は、ローカル・サーバがポート50504をリッスンすることを示す。状態「ESTABLISHED」を有する次の行は、ローカル・サーバとIPアドレス9.100.20.100を有する別の遠隔サーバとの間の接続を示す。この接続のためのローカル・ソケットは、ポート50504を示す。遠隔ソケット・ポートは、1111である。ローカル・ポートは、この接続についてのローカル・サーバのリスナー・ポート・リストに属するので、このローカル・サーバは、サービスを遠隔サーバに提供する。状態「ESTABLISHED」を有する次の行は、このサーバとIPアドレス9.100.20.101を有する別の遠隔サーバとの間の接続を示す。この接続のための遠隔ソケットは、ポート1112を示す。遠隔ソケット・ポートは2000である。ローカル・ポートは、この接続についてのローカル・サーバのリスナー・ポート・リストに属さないので、このローカル・サーバは、遠隔サーバからサービスをリクエストし、その遠隔サーバは、ポート2000をリッスンする。
ローカル・サーバと2つの遠隔サーバとの間のデータフローを判定するためには、ローカル・サーバ上のデータを分析するだけで十分である。遠隔サーバは、ローカル・サーバに対して反対の接続性を有する。しかしながら、遠隔サーバ上で動作しているエージェント・プログラムは、その遠隔サーバとさらに他のサーバとの間の接続性の発見を可能にする。
2つのコンピュータ間に多数の空き接続があることが多い。接続の一部は長時間持続し、他のものは現れてはすぐ消えるが、両方のタイプとも「持続的」と考えられる。リクエスト中のコンピュータが、同じタイプのサービスのための保守用コンピュータと多数の接続を有する場合には、全てのリクエストがその保守用コンピュータにおいて同じソケットを用いるが、リクエスト中のコンピュータにおいては異なるソケットがある。本発明の一実施形態においては、各々の(ローカル)サーバ上のエージェント・プログラムが、共通の外部サーバに基づいて接続/セッションをひとまとめにし、リンクの最終テーブル(すなわち、サーバ・アドレス、クライアント・アドレス、およびサーバ・ポート)を示す。「サーバ・アドレス」は、ローカル・サーバに対して局所的にも遠隔にもすることができる。次に、トラブルシューティング用コンピュータ120において、エージェント・プログラムは、それぞれのリストを分析プログラム130に送信する(ステップ204)。代替的に、エージェント・プログラムの各々は、netstat−anコマンドを介して得られた情報を分析プログラム130に送り、その分析プログラム130は、各々のサーバについて前述のリストを構築する。
受信後(または前述のリストの構築後)、分析プログラム130は、ベースライン内に含ませるべきでない、持続的なサーバ・アプリケーション間の接続である可能性が高くない活動状態の接続を、次の方法でフィルタをかけて除去/削除する(ステップ210)。したがって、分析プログラム130は、他のシステム機能、すなわちクライアント/顧客リクエストのアプリケーション処理に関連しない機能を処理することになる、その分析プログラム130により推測されるこれらの活動状態の接続を、フィルタをかけて除去する。システム機能の例は、タイム・サービス、管理者によるログオン、データ・バックアップ、遠隔設定およびサービスを可能にするネットワーク・インストール管理、保守ファイルのFTP送信またはプログラム更新、管理者の有効ユーザID/パスワードの組み合わせのリストの伝送、システム管理者のログオンのための非暗号化情報の通信などである。分析プログラム130は、一般にこれらの他のシステム機能を処理するために用いられる特定のタイプおよび範囲のポート番号のリストを有する。例えば、システム機能は、一般に、システム管理者のログオンのための暗号化通信用SSHポート、システム管理者のログオンのための非暗号化通信用Telnetポート、ファイルを保守し、プログラムを更新するためのFTPポートを用いる。同様に、一般に、ポート番号1−1024が一般的なシステム機能のために使用されるので、分析プログラム130は、これらのポートについての活動状態の接続の記録を、フィルタをかけて除去する。分析プログラム130はまた、ポート80および443といった、クライアント(図示される例においては、クライアント・コンピュータ42)からのリクエストを直接受信するために、一般にサーバによって使用されるこれらのポートについての記録もフィルタをかけて除去する。
活動状態の接続のデータベース140から、これらのシステム機能のポートおよびクライアント・ポートを削除した後、残りのポート(活動状態の接続を有する)は、(付加的な接続はリスト内に残ることができるが)クライアント・リクエストに従って、サーバ・アプリケーション間の接続のために使用されると考えられる。この時点で、トラブルシューティング用コンピュータ120の何らかの停止に誰も気づかなかったと仮定すると、分析プログラム130は、活動状態の接続ポートのフィルタがかけられたリストを、クライアント・リクエストを処理するために、通常のサーバ・アプリケーション間の機能を処理することが必要だと考えられる活動状態の接続の「ベースライン」すなわち基準リストとして扱う。
次に、分析プログラム130は、1つの列は、活動状態のポートがリスニング・モードにあるサーバについてのものであり、別の列は、活動状態のポートがリスニング・モードにないパートナー・サーバについてのものである、サーバ間活動状態接続テーブルを形成する(ステップ220)。このテーブルは、中央データベース140内に格納される。分析プログラム130は、データベース内の記録の固有性を保証する。一般的に、1つのサーバは、同時に数百の活動状態の接続を有することができるが、それらを、ごくわずかのサーバ間のものにすることができる。したがって、本発明の一実施形態においては、分析プログラム130は、2つのサーバ間の異なるポート上の多数の接続を1つの指向性接続として扱い、これらの全ての接続をテーブル内の1行の入力としてひとまとめにする。サーバ間活動状態接続テーブルは、リスニング・モードのサーバとそれぞれのパートナー・サーバとの間に少なくとも1つの活動状態の接続が検知された時の多数のサンプル時間を示す列と、同じ2つのサーバ間にこうした接続が検知された時の最後のサンプル時間を示す別の列とを含む。本発明のこの実施形態においては、サーバ間活動状態接続テーブルは、次のカテゴリー、すなわち、
リスニング・サーバのIPアドレス、パートナー・サーバのIPアドレス、接続数、最後の接続時間
を含む。
本発明の別の実施形態において、分析プログラム130は、各々のサーバおよび各々のパートナー・サーバの各々のリスニング・ポートについて別個の行入力を有するサーバ間活動状態接続テーブルを作成する。この行入力は、このリスニング・ポートと同じパートナー・サーバとの間の接続数と、このリスニング・ポートとパートナー・サーバとの間の最後の接続時間とを示す(リスニング・サーバのIPアドレスおよびパートナー・サーバのIPアドレスに加えて)。この付加された情報を用いる場合、ポート80(HTTP)またはポート386(LDAP)のような特定のポートだけについて接続を分析し、トラブルシューティングをさらに助けることができる。一部の接続は1方向に機能するが他のものは機能しないので、このことは有用であり、ポートの仕様が、障害の局所化を助長する。
ステップ200−220の第1の反復(iteration)、すなわち繰り返し周期の間、対応する2つのサーバ間に少なくとも1つの接続が検知される場合、「サンプル数」が、各々の入力について1に設定される。前述のステップ200―220は、例えば、10分毎といった次のエージェント・プログラム・サンプリング時間で繰り返される。この次のステップ200―220の反復後、サーバ間活動状態接続入力の現在のリストが、既存のサーバ間活動状態接続テーブルのものと比較される(ステップ234)。リスニング・サーバおよびパートナー・サーバの対についての現在のリストに、既存のテーブル内に現れない何らかの検知された接続がある場合には、それらが、サーバ間活動状態接続テーブルに付加され、サンプル数が1に設定され、時間列が現在のサンプル時間に設定される(ステップ236)。既存のテーブル内に既に現れた、リスニング・サーバおよびパートナー・サーバの対についての現在のリスト内に、検知された何らかの接続がある場合には、サンプル数がインクリメントされ、時間列は現在のサンプル時間に設定される(ステップ238)。このように、サンプル数の値は、これらの2つのサーバ間の接続の持続性、すなわちクライアント・リクエストを処理するために使用される可能性が高い接続を示す。サンプル時間の入力は、この接続が現在活動状態かどうかを示し、現在活動状態にない場合には、対応するサーバを停止させることができる。
高い値のサンプル数を有する接続は、2つのサーバ・アプリケーション間(異なるサーバにおける)、アプリケーション・サーバとデータベース・マネージャーとの間、またはアプリケーション・サーバとサーバ20−24のいずれかとの間の接続のような、クライアント・リクエストの通常の処理のために必要とされる可能性が高い接続を示す。フロントエンド・サーバが顧客へのインターフェースである場合の複合的な旅行予約を必要とされるクライアント/顧客の例においては、アプリケーション・サーバ16−18と、飛行機予約アプリケーション、ホテル予約アプリケーション、およびレンタカー予約アプリケーションのホストとして働くアプリケーション・サーバ24(または図2に図示されていない他の関連したサーバ)との間の接続についてのサンプル数が高い値になる可能性がある。飛行機予約アプリケーションと飛行機データベース・サーバとの間、ホテル予約アプリケーションとホテル・データベース・サーバとの間、およびレンタカー予約アプリケーションとレンタカー・データベース・サーバとの間の接続についても高い値になる可能性がある(図2に図示されていない)。
ステップ240において、例えば、通常のクライアント・リクエストの処理と関連しない低頻度または不規則な接続を示す、1週間に1度以下程度の間隔のようなサンプル数が少ない場合には、分析プログラム130は、それらの入力(列)をサーバ間活動状態接続テーブルから削除する。例えば、管理者は、たまにプローブを動作させるときなど、サーバ・アプリケーション・ポートに対してサーバ・アプリケーションを用いるサーバを試験することができる。こうした試験は、ほとんど行われず、通常のクライアント・リクエストと関連したものではない。また、特定の接続が1ヶ月のような所定の期間活動状態になかった場合、分析プログラム130は、この接続をサーバ間テーブルから削除する。このように、ステップ240は、更なるフィルタ操作を行い、「持続的」である可能性が高くない活動状態の接続を削除するステップを表す。
分散ネットワークに関連した問題がある場合、システム管理者は、サーバ間活動状態接続テーブルを見るようにリクエストすることができる(決定244)。これに応答して、分析プログラム130は、テーブルを表示し、最新のサンプリングが活動状態のものとして示さなかった(履歴的に持続的な)接続を強調表示する(ステップ250)。強調表示された入力接続の1以上が高い値のサンプル数を有する場合、こうすることによって、顧客の遭遇した問題の原因(たとえば、リッスン・サーバ、パートナー・サーバ、またはその間のネットワークがダウンしたこと、あるいは他の理由のためにこの接続が失われたこと)が分離(isolate)される。逆に、サンプル番号の値が大きいが、顧客のクレームの前にかなりの時間活動状態になかった場合、この接続の喪失が、顧客の問題の原因ではないことを示す傾向がある。また、ある状況においては、履歴テーブル内に低いサンプル数を有する現在の接続がないことが、依然として、顧客が遭遇した問題の原因を示すことがある。例えば、システム管理者が、最近、あるデータベース・サーバから別のデータベース・サーバにアプリケーション・サーバを切り換えた場合には、新しいデータベースへの接続についてのサンプル数は低くなるが、それにもかかわらず、これは重要な接続である。
同様に、場合によっては、サンプリング時に2つのサーバ間に活動状態の接続が存在しないが、これはサーバのいずれかの故障によるものではない。むしろ、通常の作動中、接続は、頻繁に始まったり終わったりする。それにもかかわらず、統計的には、この状況は、通常クライアント・リクエストを処理するために協働する2つのサーバ間で頻繁に生じるものではない。
以上のことに基づいて、持続的なサーバ間の活動状態の接続を識別し、こうした識別を用いて分散コンピュータ・システム内の障害をトラブルシューティングするためのシステム、方法、およびコンピュータ・プログラムが開示された。しかしながら、本発明の範囲から逸脱することなく、多数の修正および代替をなすことができる。したがって、本発明の実施の形態は例示であり、本発明を制限するものとして解釈されるべきではない。本発明の範囲は、特許請求の範囲を記載により決定すべきである。
本発明の実施形態における分散コンピュータ・システムのブロック図である。 図1の分散コンピュータ・システムのトラブルシューティング用コンピュータ内のネットワーク接続分析プログラムの作動を示すフローチャートである。
10:分散コンピュータ・システム
11、12、13:プロキシサーバ
16、17、18:アプリケーション・サーバ
19:データベース・サーバ
20:メッセージング・サーバ
21:認証サーバ
22:バッチ・サーバ
23:レポーティング・サーバ
24:アプリケーション・サーバ
120:トラブルシューティング用コンピュータ
130:ネットワーク接続分析プログラム
140:データベース

Claims (13)

  1. クライアント・リクエストを処理するために必要とされる可能性がある活動状態の接続を判定する方法であって、
    第1のサーバと複数の他のサーバとの間の活動状態の接続を繰り返し検知するステップと、
    前記第1のサーバと前記複数の他のサーバそれぞれの間の活動状態の接続が検知された頻度を判定するステップと
    前記活動状態の接続のそれぞれが最後に検知されたときを判定するステップと、
    前記活動状態の接続、前記活動状態の接続が検知された頻度、および前記活動状態の接続のそれぞれが最後に検知されたとき、をリストするテーブルを形成するステップと
    含み、
    前記繰り返し検知するステップが、前記第1のサーバ上で活動状態の複数の接続を検知し、そして、システム機能のために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去することによって、前記第1のサーバと前記複数の他のサーバとの間の前記活動状態の接続を識別するステップを含む、前記方法
  2. クライアント・リクエストを処理するために必要とされる可能性がある活動状態の接続を判定する方法であって、
    第1のサーバと複数の他のサーバとの間の活動状態の接続を繰り返し検知するステップと、
    前記第1のサーバと前記複数の他のサーバそれぞれの間の活動状態の接続が検知された頻度を判定するステップと
    前記活動状態の接続のそれぞれが最後に検知されたときを判定するステップと、
    前記活動状態の接続、前記活動状態の接続が検知された頻度、および前記活動状態の接続のそれぞれが最後に検知されたとき、をリストするテーブルを形成するステップと
    含み、
    前記繰り返し検知するステップが、前記第1のサーバ上で活動状態の複数の接続を検知するステップと、システム機能のために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去するステップとを含む、前記方法
  3. 前記テーブルを形成するステップは、前記検知するステップにおいて最新の繰り返し周期に活動状態として検知されなかった前記活動状態の接続を前記テーブルにおいて強調表示するステップを含む、請求項1又は2に記載の方法
  4. 前記活動状態の接続のうち前記第1のサーバ上のリスニング・ポートを使用するものを識別するステップをさらに含む、請求項1〜3のいずれか一項に記載の方法
  5. 前記検知するステップが、ユーザ・クライアントからリクエストを受信するために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去する識別するステップを含む、請求項1〜4のいずれか一項に記載の方法
  6. 前記検知するステップが、ユーザ・クライアントからリクエストを受信するために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去する識別することによって、前記第1のサーバと前記複数の他のサーバとの間の前記活動状態の接続を識別するステップを含む、請求項1〜4のいずれか一項に記載の方法
  7. クライアント・リクエストを処理するために必要とされる可能性がある活動状態の接続を見出すためのコンピュータ・システムであって、
    第1のサーバと複数の他のサーバとの間の活動状態の接続を繰り返し検知するための手段と、
    前記第1のサーバと前記複数の他のサーバのそれぞれの間の活動状態の接続が検知された頻度を判定するための手段と、
    前記活動状態の接続のそれぞれが最後に検知されたときを判定するための手段と、
    前記活動状態の接続、前記活動状態の接続が検知された頻度、および前記活動状態の接続のそれぞれが最後に検知されたとき、をリストするテーブルを形成するための手段と、
    を備えており、
    前記繰り返し検知するための手段が、前記第1のサーバ上で活動状態の複数の接続を検知し、そして、システム機能のために使用されるポートを利用する1以上の活動状態の接続をフィルタをかけて除去することによって、前記第1のサーバと前記複数の他のサーバとの間の前記活動状態の接続を識別する、前記コンピュータ・システム。
  8. クライアント・リクエストを処理するために必要とされる可能性がある活動状態の接続を見出すためのコンピュータ・システムであって、
    第1のサーバと複数の他のサーバとの間の活動状態の接続を繰り返し検知するための手段と、
    前記第1のサーバと前記複数の他のサーバのそれぞれの間の活動状態の接続が検知された頻度を判定するための手段と、
    前記活動状態の接続のそれぞれが最後に検知されたときを判定するための手段と、
    前記活動状態の接続、前記活動状態の接続が検知された頻度、および前記活動状態の接続のそれぞれが最後に検知されたとき、をリストするテーブルを形成するための手段と、
    を備えており、
    前記繰り返し検知するための手段が、前記第1のサーバ上で活動状態の複数の接続を検知するステップと、システム機能のために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去する、前記コンピュータ・システム。
  9. 前記テーブルを形成するための手段は、前記検知するための手段において最新の繰り返し周期に活動状態として検知されなかった前記活動状態の接続を前記テーブルにおいて強調表示する、請求項7又は8に記載のコンピュータ・システム。
  10. 前記活動状態の接続のうち前記第1のサーバ上のリスニング・ポートを使用するものを識別するための手段をさらに備えている、請求項7〜9に記載のコンピュータ・システム。
  11. 前記検知するための手段が、ユーザ・クライアントからリクエストを受信するために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去する識別する、請求項7〜10のいずれか一項に記載のコンピュータ・システム。
  12. 前記検知するための手段が、ユーザ・クライアントからリクエストを受信するために使用されるポートを利用する1以上の活動状態の接続を、フィルタをかけて除去する識別することによって、前記第1のサーバと前記複数の他のサーバとの間の前記活動状態の接続を識別する、請求項7〜10のいずれか一項に記載のコンピュータ・システム。
  13. クライアント・リクエストを処理するために必要とされる可能性がある活動状態の接続を判定するためのコンピュータ・プログラムであって、コンピュータに請求項1〜6のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
JP2005259922A 2004-09-14 2005-09-07 分散コンピュータ・システムをトラブルシューティングするため、またはアプリケーション・データフローを見出すためのシステム、方法、およびコンピュータ・プログラム Expired - Fee Related JP5062979B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/940,471 2004-09-14
US10/940,471 US7603459B2 (en) 2004-09-14 2004-09-14 System, method and program to troubleshoot a distributed computer system or determine application data flows

Publications (2)

Publication Number Publication Date
JP2006085700A JP2006085700A (ja) 2006-03-30
JP5062979B2 true JP5062979B2 (ja) 2012-10-31

Family

ID=36126946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005259922A Expired - Fee Related JP5062979B2 (ja) 2004-09-14 2005-09-07 分散コンピュータ・システムをトラブルシューティングするため、またはアプリケーション・データフローを見出すためのシステム、方法、およびコンピュータ・プログラム

Country Status (3)

Country Link
US (1) US7603459B2 (ja)
JP (1) JP5062979B2 (ja)
CN (1) CN100369420C (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657744B2 (en) * 2004-08-10 2010-02-02 Cisco Technology, Inc. System and method for dynamically determining the role of a network device in a link authentication protocol exchange
US7457871B2 (en) * 2004-10-07 2008-11-25 International Business Machines Corporation System, method and program to identify failed components in storage area network
KR100806487B1 (ko) * 2006-10-11 2008-02-21 삼성에스디에스 주식회사 대외채널통합 환경에서의 통신장애 처리시스템 및 그 방법
CN101296176B (zh) * 2007-04-25 2010-12-22 阿里巴巴集团控股有限公司 一种基于群集的数据处理方法和装置
US20090019160A1 (en) * 2007-07-12 2009-01-15 International Business Machines Corporation Method and system for workload management utilizing tcp/ip and operating system data
US8478847B2 (en) * 2010-02-04 2013-07-02 International Business Machines Corporation Blocking a selected port prior to installation of an application
US9043920B2 (en) * 2012-06-27 2015-05-26 Tenable Network Security, Inc. System and method for identifying exploitable weak points in a network
GB2520976A (en) * 2013-12-05 2015-06-10 Ibm Correct port identification in a network host connection
WO2021163825A1 (en) * 2020-02-17 2021-08-26 Arris Enterprises Llc Method and system for obtaining listening ports of a device under test

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430709A (en) * 1992-06-17 1995-07-04 Hewlett-Packard Company Network monitoring method and apparatus
US5699511A (en) * 1995-10-10 1997-12-16 International Business Machines Corporation System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth
US6233542B1 (en) 1996-04-01 2001-05-15 Openconnect Systems Incorporated Server and terminal emulator for persistent connection to a legacy host system with response time monitoring
US6031978A (en) * 1996-06-28 2000-02-29 International Business Machines Corporation System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address
US6510151B1 (en) * 1996-09-19 2003-01-21 Enterasys Networks, Inc. Packet filtering in connection-based switching networks
US6070243A (en) * 1997-06-13 2000-05-30 Xylan Corporation Deterministic user authentication service for communication network
US6363391B1 (en) * 1998-05-29 2002-03-26 Bull Hn Information Systems Inc. Application programming interface for monitoring data warehouse activity occurring through a client/server open database connectivity interface
US6314512B1 (en) * 1998-07-09 2001-11-06 International Business Machines Corporation Automatic notification of connection or system failure in asynchronous multi-tiered system by monitoring connection status using connection objects
DE19831929C1 (de) * 1998-07-16 1999-11-25 Wandel & Goltermann Management Testeinrichtung und -verfahren zur laufenden Überprüfung der Dienste in GSM-Netzen
US6212565B1 (en) * 1998-08-26 2001-04-03 Sun Microsystems, Inc. Apparatus and method for improving performance of proxy server arrays that use persistent connections
US6397253B1 (en) 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
US6341312B1 (en) 1998-12-16 2002-01-22 International Business Machines Corporation Creating and managing persistent connections
US6421688B1 (en) * 1999-10-20 2002-07-16 Parallel Computers Technology, Inc. Method and apparatus for database fault tolerance with instant transaction replication using off-the-shelf database servers and low bandwidth networks
US6901051B1 (en) * 1999-11-15 2005-05-31 Fujitsu Limited Server-based network performance metrics generation system and method
JP2001160024A (ja) * 1999-12-02 2001-06-12 Nec Corp サーバアプリケーションの管理選択方式
US6625648B1 (en) * 2000-01-07 2003-09-23 Netiq Corporation Methods, systems and computer program products for network performance testing through active endpoint pair based testing and passive application monitoring
US6785713B1 (en) * 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6996615B1 (en) * 2000-09-29 2006-02-07 Cisco Technology, Inc. Highly scalable least connections load balancing
US20020055982A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Controlled server loading using L4 dispatching
US6988140B2 (en) * 2001-02-23 2006-01-17 Sun Microsystems, Inc. Mechanism for servicing connections by disassociating processing resources from idle connections and monitoring the idle connections for activity
US6938076B2 (en) * 2001-03-30 2005-08-30 01 Communique Laboratory Inc. System, computer product and method for interfacing with a private communication portal from a wireless device
US7065566B2 (en) * 2001-03-30 2006-06-20 Tonic Software, Inc. System and method for business systems transactions and infrastructure management
CN1150464C (zh) * 2001-07-26 2004-05-19 华为技术有限公司 一种在应用层交换中提高服务器响应速度的系统及方法
US20030140251A1 (en) * 2002-01-23 2003-07-24 Securenet Technologies, Ltd. Method and system for securing a computer having one or more network interfaces connected to an insecure network
US20030154269A1 (en) * 2002-02-14 2003-08-14 Nyanchama Matunda G. Method and system for quantitatively assessing computer network vulnerability
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
US7152111B2 (en) * 2002-08-15 2006-12-19 Digi International Inc. Method and apparatus for a client connection manager
US7124211B2 (en) * 2002-10-23 2006-10-17 Src Computers, Inc. System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system
US8051144B2 (en) * 2003-07-29 2011-11-01 At&T Intellectual Property I, L.P. J2EE enterprise information system (EIS) common object request broker architecture (CORBA) connector
US20050198314A1 (en) * 2004-02-06 2005-09-08 Coon Tony T. Method and apparatus for characterizing a network connection

Also Published As

Publication number Publication date
CN100369420C (zh) 2008-02-13
CN1750479A (zh) 2006-03-22
US7603459B2 (en) 2009-10-13
JP2006085700A (ja) 2006-03-30
US20060075089A1 (en) 2006-04-06

Similar Documents

Publication Publication Date Title
JP5062979B2 (ja) 分散コンピュータ・システムをトラブルシューティングするため、またはアプリケーション・データフローを見出すためのシステム、方法、およびコンピュータ・プログラム
US7487384B2 (en) Analysis of pipelined networks
US6314512B1 (en) Automatic notification of connection or system failure in asynchronous multi-tiered system by monitoring connection status using connection objects
US8208381B2 (en) Root-cause approach to problem diagnosis in data networks
US8271632B2 (en) Remote access providing computer system and method for managing same
US8020045B2 (en) Root cause analysis method, apparatus, and program for IT apparatuses from which event information is not obtained
US6687748B1 (en) Network management system and method of operation
US7016955B2 (en) Network management apparatus and method for processing events associated with device reboot
US20080033966A1 (en) System and method for recovery detection in a distributed directory service
EP1667360A1 (en) Generic discovery for computer networks
JP2003263349A (ja) ストレージネットワークにおける構成不整合の検出方法
US20050038889A1 (en) Network server and method of discovery of a network node
US20140068040A1 (en) System for Enabling Server Maintenance Using Snapshots
JP2001519942A (ja) 分散アプリケーションを監視するシステムおよび方法
US20080127322A1 (en) Solicited remote control in an interactive management system
WO2005071560A1 (en) Method and system for application performance management
US7890616B2 (en) System and method for validation of middleware failover behavior
WO2006094909A1 (en) Method for communication between an application and a client
CN110737639A (zh) 审计日志方法、装置、计算机设备及存储介质
US20050038888A1 (en) Method of and apparatus for monitoring event logs
US6839708B1 (en) Computer system having an authentication and/or authorization routing service and a CORBA-compliant interceptor for monitoring the same
US8489727B2 (en) Active storage area network discovery system and method
US20060095561A1 (en) Method and apparatus to correlate system management information using instant messaging facilities
US20020078182A1 (en) Failover service method and system
Cisco Network Management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111219

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20111219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111222

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120719

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120719

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees