JP5864039B1 - 情報処理装置および情報処理システム - Google Patents

情報処理装置および情報処理システム Download PDF

Info

Publication number
JP5864039B1
JP5864039B1 JP2015536703A JP2015536703A JP5864039B1 JP 5864039 B1 JP5864039 B1 JP 5864039B1 JP 2015536703 A JP2015536703 A JP 2015536703A JP 2015536703 A JP2015536703 A JP 2015536703A JP 5864039 B1 JP5864039 B1 JP 5864039B1
Authority
JP
Japan
Prior art keywords
communication
unit
information processing
information
application
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
Application number
JP2015536703A
Other languages
English (en)
Other versions
JPWO2016143026A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5864039B1 publication Critical patent/JP5864039B1/ja
Publication of JPWO2016143026A1 publication Critical patent/JPWO2016143026A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • 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/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明は、特定の通信プロトコルを用いることなく容易に性能評価を行うことが可能な情報処理装置を提供することを目的とする。本発明による情報処理装置(1)は、複数のアプリケーション実行部(2,3,4)と、複数の通信ライブラリ実行部(5,6,7)とを備え、通信ライブラリ実行部(5)は、一のアプリケーション実行部(2)と他のアプリケーション実行部(3,4)とのデータ通信を監視し、当該監視した全てのデータ通信について、データ通信時に一のアプリケーション実行部(2)で用いられたAPIの種別を示すAPI種別を含む通信情報を生成する通信監視部(8)と、通信監視部(8)で生成された通信情報を記憶する通信情報記憶部(9)と、通信情報記憶部(9)に記憶された通信情報に基づいて、データ通信時に一のアプリケーション実行部(2)で用いられたAPI種別のペアを推定する通信情報解析部(10)とを備える。

Description

本発明は、複数のアプリケーションが通信によって連携して動作する情報処理装置および情報処理システムに関する。

従来、マイクロコンピュータ、またはプロセッサ等を搭載した情報処理装置がある。情報処理装置では、特定の機能を実行させるアプリケーションが実装されており、アプリケーションは機能ごとに情報処理装置に実装されることが一般的である。また、単一の情報処理装置において、複数のアプリケーション(アプリケーション群)が、アプリケーション間のデータ通信を媒介する通信ライブラリを用いて通信によって連携して動作することによって、より複雑な機能を使用者に提供することがある。さらに、複数の情報処理装置を、例えばシリアル通信ケーブル、ローカルエリアネットワーク、またはインターネット等の通信手段を介して相互に接続し、各情報処理装置間で通信することによって各情報処理装置で動作するアプリケーションを相互に提供する(アプリケーションが連携して動作する)ことが可能な構成を有する情報処理装置もある。
上記の単一の情報処理装置において複数のアプリケーションを連携して動作させる場合と、複数の情報処理装置間で複数のアプリケーションを連携して動作させる場合とのいずれも、複数のアプリケーションが通信によって連携して動作するという観点では同じである。このように、少なくとも1つ以上の情報処理装置で動作する複数のアプリケーションが、通信ライブラリまたは通信手段を用いて連携して動作する仕組みのことを情報処理分散システムという。
情報処理分散システムの性能の1つとして処理速度が挙げられる。処理速度は、例えば情報処理分散システムの仕様で規定されている処理速度を満たしているか否かの確認、あるいは使用者が良好な使用感を得るために処理速度が高い情報処理装置またはアプリケーションを選択する指標として用いることがある。
従来、処理速度の評価方法、および当該評価に基づく情報処理装置の選択に関する技術が開示されている(例えば、特許文献1参照)。特許文献1では、情報処理装置に、例えばCPU(Central Processing Unit)またはメモリ等の計算機資源の状態を計測する監視部を設け、当該監視部が処理速度を計測し、監視部が計測した処理速度に基づいて通信を行う情報処理装置を選択する技術が開示されている。
一方、処理速度の評価方法について、ラウンドトリップ(RT:Round Trip)時間を指標として用いる技術が開示されている(例えば、特許文献2参照)。ラウンドトリップ時間とは、あるアプリケーションが他のアプリケーションの機能を、例えば適当なAPIをコールするなどの方法で呼び出し、呼び出した他のアプリケーションの機能を受信用のAPIがコールされることなどによって受け取るまでに要する時間のことをいう。RT時間の評価を精度良く行うためには、送信時の通信と、当該送信に対する応答を受信した時の通信との対応を取ることが必要となる。特許文献2では、アプリケーション間における通信プロトコルとしてPCT/IPを採用している情報処理分散システムについて、TCPパケットのヘッダ情報を用いて監視する通信を決定し、RT時間を評価する技術が開示されている。
特開平4−223547号公報 特開2012−222692号公報
特許文献1,2の技術は、一般的な情報処理分散システムに適用する上で、以下の2つの問題がある。
第1に、一般的な情報処理分散システムでは、当該情報処理分散システムを構成する各情報処理装置が、計算機資源の監視を行う機能部を備えているとは限らない。従って、特許文献1の技術を適用することが可能な情報処理分散システムは限られている。また、計算機資源を監視する機能部を備えていない情報処理分散システムに特許文献1の技術を適用する場合において、情報処理装置に対してハードウェアの改造またはソフトウェアの書き換えを行う必要があり、手間がかかるという問題がある。
第2に、一般的な情報処理分散システムで用いられている通信手段および通信ライブラリは、様々な種類が存在している。従って、TCP/IPの使用を前提とした特許文献2の技術を適用することが可能な情報処理分散システムは限られる。
本発明は、このような問題を解決するためになされたものであり、特定の通信プロトコルを用いることなく容易に性能評価を行うことが可能な情報処理装置を提供することを目的とする。
上記の課題を解決するために、本発明による情報処理装置は、予め定められた機能を実現するアプリケーションを実行する複数のアプリケーション実行部と、各アプリケーション実行部に対応して設けられ、各アプリケーション実行部間におけるデータ通信を管理する複数の通信ライブラリ実行部とを備え、通信ライブラリ実行部は、通信ライブラリ実行部に対応して設けられた一のアプリケーション実行部と、他のアプリケーション実行部とのデータ通信を監視し、当該監視した全てのデータ通信について、データ通信時に一のアプリケーション実行部で用いられたAPIの種別を示すAPI種別を含む通信情報を生成する通信監視部と、通信監視部で生成された通信情報を記憶する通信情報記憶部と、通信情報記憶部に記憶された通信情報に基づいて、データ通信時に一のアプリケーション実行部で用いられたAPI種別のペアを推定する通信情報解析部とを備える。
本発明によると、情報処理装置は、予め定められた機能を実現するアプリケーションを実行する複数のアプリケーション実行部と、各アプリケーション実行部に対応して設けられ、各アプリケーション実行部間におけるデータ通信を管理する複数の通信ライブラリ実行部とを備え、通信ライブラリ実行部は、通信ライブラリ実行部に対応して設けられた一のアプリケーション実行部と、他のアプリケーション実行部とのデータ通信を監視し、当該監視した全てのデータ通信について、データ通信時に一のアプリケーション実行部で用いられたAPIの種別を示すAPI種別を含む通信情報を生成する通信監視部と、通信監視部で生成された通信情報を記憶する通信情報記憶部と、通信情報記憶部に記憶された通信情報に基づいて、データ通信時に一のアプリケーション実行部で用いられたAPI種別のペアを推定する通信情報解析部とを備えるため、特定の通信プロトコルを用いることなく容易に性能評価を行うことが可能となる。
本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施の形態1による情報処理装置の構成の一例を示すブロック図である。 本発明の実施の形態1による通信監視部で生成される通信情報の一例を示す図である。 本発明の実施の形態1による情報処理装置におけるソフトウェア機能に対応するハードウェア構成の一例を示す図である。 本発明の実施の形態1による通信情報解析部の動作の一例を示すフローチャートである。 本発明の実施の形態1による時間差の集合の算出を説明するための図である。 本発明の実施の形態1による時間差の頻度分布の一例を示す図である。 本発明の実施の形態1による時間差の頻度分布の一例を示す図である。 本発明の実施の形態2による情報処理装置の構成の一例を示すブロック図である。 本発明の実施の形態3による情報処理装置の構成の一例を示すブロック図である。 本発明の実施の形態3による性能変化トレンドの算出を説明するための図である。 本発明の実施の形態3による性能変化トレンドの評価を説明するための図である。 本発明の実施の形態4による情報処理装置の構成の一例を示すブロック図である。 本発明の実施の形態5による情報処理装置の構成の一例を示すブロック図である。 本発明の実施の形態5による通信監視部で生成される通信情報に含まれる項目の一例を示す図である。 本発明の実施の形態5による通信情報解析部の動作の一例を示すフローチャートである。
本発明の実施の形態について、図面に基づいて以下に説明する。
<実施の形態1>
まず、本発明の実施の形態1による情報処理装置の構成について説明する。
図1は、本実施の形態1による情報処理装置1の構成の一例を示すブロック図である。なお、本実施の形態1では、情報処理分散システムを単一の情報処理装置1で実現する場合について説明する。
図1に示すように、本実施の形態1による情報処理装置1は、アプリケーション実行部2,3,4と、通信ライブラリ実行部5,6,7と、アプリケーション間通信部14とを備えている。
アプリケーション実行部2は、情報処理装置1で動作するオペレーティングシステムまたはモニタプログラム等の機能を用いて、アプリケーションの動作を実行するためのソフトウェアおよびハードウェアである。ここで、アプリケーションとは、アプリケーション実行部2によって実行される、特定の機能を実現するソフトウェアのことをいう。なお、以下では、アプリケーション実行部2はアプリケーションAを実行するものとする。
アプリケーション実行部3,4は、アプリケーション実行部2と同様の機能を有する。なお、以下では、アプリケーション実行部3はアプリケーションBを実行し、アプリケーション実行部4はアプリケーションCを実行するものとする。
通信ライブラリ実行部5は、アプリケーション実行部2に対応して設けられ、アプリケーション実行部2とアプリケーション実行部3,4との間におけるデータ通信を管理する。通信ライブラリ実行部5は、通信監視部8と、通信情報記憶部9と、通信情報解析部10と、通信送受信部11とを備えている。なお、通信監視部8、通信情報記憶部9、および通信情報解析部10は、アプリケーション実行部2の性能評価を行う機能を有している。
通信監視部8は、アプリケーション実行部2と他のアプリケーション実行部3,4とのデータ通信を監視し、当該監視した全てのデータ通信について通信情報を生成する。具体的には、アプリケーション実行部2から発信されたデータ通信に係るデータが入力されるか、または他のアプリケーション実行部3,4から発信されたデータ通信に係るデータが通信送受信部11を介して入力されると、当該データ通信について通信情報を生成する。
図2は、通信監視部8で生成される通信情報の一例を示す図である。
図2に示すように、通信情報は、データ通信時にアプリケーション実行部2で用いられたAPIの種別を示すAPI種別と、データ通信の宛先となるアプリケーション実行部(アプリケーション実行部2,3,4のいずれか)が実行するアプリケーションの種別を示す宛先アプリケーション種別と、データ通信の送信元となるアプリケーション実行部(アプリケーション実行部2,3,4のいずれか)が実行するアプリケーションの種別を示す送信元アプリケーション種別と、データ通信に係るデータが通信監視部8に入力された時刻を示す入力時刻とを含んでいる。
API種別としては、当該API種別を一意に示す名称またはID番号(図2の例では、「#1」)が生成される。宛先アプリケーション種別としては、宛先となるアプリケーション実行部が実行するアプリケーションを一意に示す名称またはID番号(図2の例では、アプリケーション実行部3が実行する「アプリケーションB」)が生成される。送信元アプリケーション種別としては、送信元となるアプリケーション実行部が実行するアプリケーションを一意に示す名称またはID番号(図2の例では、アプリケーション実行部2が実行する「アプリケーションA」)が生成される。入力時刻としては、データ通信に係るデータが通信監視部8に入力された時刻(図2の例では、「1970−01−01T00:00:00.0」)が生成される。
図1に戻り、通信情報記憶部9は、通信監視部8で生成された通信情報を記憶する。
通信情報解析部10は、通信情報記憶部9に記憶された通信情報に基づいて、データ通信時にアプリケーション実行部2で用いられたAPI種別のペアを推定する。なお、通信情報解析部10は、通信情報記憶部9から通信情報を取得する際において、API種別ごと、宛先アプリケーション種別ごと、または送信元アプリケーション種別ごとに選択して取得することが可能である。
通信送受信部11は、アプリケーション実行部2から通信監視部8を介して入力されたデータ通信に係るデータをアプリケーション実行部2またはアプリケーション実行部3に送信する。また、通信送受信部11は、アプリケーション実行部2またはアプリケーション実行部3から送信されたデータ通信に係るデータを受信する。
通信ライブラリ実行部6は、アプリケーション実行部3に対応して設けられ、アプリケーション実行部3とアプリケーション実行部2,4との間におけるデータ通信を管理する。通信ライブラリ実行部6は、通信送受信部12を備えている。
通信送受信部12は、アプリケーション実行部3から入力されたデータ通信に係るデータをアプリケーション実行部2またはアプリケーション実行部4に送信する。また、通信送受信部12は、アプリケーション実行部2またはアプリケーション実行部4から送信されたデータ通信に係るデータを受信する。
通信ライブラリ実行部7は、アプリケーション実行部4に対応して設けられ、アプリケーション実行部4とアプリケーション実行部2,3との間におけるデータ通信を管理する。通信ライブラリ実行部7は、通信送受信部13を備えている。
通信送受信部13は、アプリケーション実行部4から入力されたデータ通信に係るデータをアプリケーション実行部2またはアプリケーション実行部3に送信する。また、通信送受信部13は、アプリケーション実行部2またはアプリケーション実行部3から送信されたデータ通信に係るデータを受信する。
アプリケーション間通信部14は、各アプリケーション実行部2,3,4間におけるデータ通信を媒介する。アプリケーション間通信部14としては、例えば共有メモリまたはソケット等を用いることによって実現される。
図3は、情報処理装置1におけるソフトウェア機能に対応するハードウェア構成の一例を示す図である。
図1に示す情報処理装置1において、アプリケーション実行部2,3,4、通信ライブラリ実行部5,6,7、通信監視部8、通信情報記憶部9、通信情報解析部10、通信送受信部11,12,13、およびアプリケーション間通信部14は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、これらは、例えば複数のプロセッサ15が連携して実現されてもよい。
次に、情報処理装置1の動作について説明する。
図4は、通信情報解析部10の動作の一例を示すフローチャートである。
ステップS101において、通信情報解析部10は、解析に必要な数の通信情報が通信情報記憶部9に蓄積されるまで、積分時間tintの間、待機する。ここで、積分時間tintは、アプリケーション実行部2に対する性能評価の内容に応じて変化させることが可能なパラメータである。例えば、積分時間tintを短くすると、時間分解能を高めることができ、アプリケーション実行部2に対する性能を短時間ごとに評価することが可能となる。しかし、解析に用いられる通信情報の数が少ないため、統計的な不確定性が高くなる。一方、積分時間tintを長くすると、統計的に優位な性能評価結果を得やすくなる。しかし、アプリケーション実行部2の時間変動に追従した評価を行うことが難しくなる。このように、性能評価を行う使用者は、積分時間tintの値を変更することによって、所望の性能評価を行うことができる。
ステップS102において、通信情報解析部10は、宛先となり得る一のアプリケーションを解析対象アプリケーションとして選択する。図1の例では、宛先となり得るアプリケーションB(アプリケーション実行部3)またはアプリケーションC(アプリケーション実行部4)が選択される。
ステップS102の処理は、後の処理で行われるAPI種別のペアの推定を精度良く行うために必要である。例えば、異なるアプリケーションにおいて、同じ名称およびシグネチャを有するAPIが存在することがある。このような異なるアプリケーションを後述の解析方法で一度に処理すると、明らかに因果関係がないアプリケーションだがAPIの名称が同じであるために、一緒に解析されてしまう可能性がある。このような問題を解消するために、本実施の形態1では、解析対象となるアプリケーションを選択(特定)している。
ステップS103において、通信情報解析部10は、ステップS102にて選択した解析対象アプリケーションを宛先とする通信情報を、通信情報記憶部9から取得する。ステップS103の処理によって、解析対象アプリケーションへの送信分の通信情報が取得される。
ステップS104において、通信情報解析部10は、ステップS102にて選択した解析対象アプリケーションを送信元とする通信情報を、通信情報記憶部9から取得する。ステップS104の処理によって、解析対象アプリケーションからの受信分の通信情報が取得される。
ステップS105において、通信情報解析部10は、ステップS103にて取得した通信情報から、一のAPI種別を選択する。
ステップS106において、通信情報解析部10は、ステップS105にて選択したAPI種別を含む通信情報に基づいて、時間差の集合を算出する。
図5は、時間差の集合の算出を説明するための図である。
図5において、ステップS105にて選択されたAPI種別を含む通信情報をXとする。なお、通信情報Xは、ステップS103にて取得した通信情報にn個含まれているものとし、n個分の通信情報Xを通信情報X,X,X,・・・,Xと各々区別している。
また、図5では、説明容易のために、ステップS104にて取得した通信情報に含まれるAPI種別は2種類存在するものとする。当該各API種別は、通信情報Y,Zとする。なお、通信情報Y,Zは、ステップS104に取得した通信情報にn個含まれているものとし、n個分の通信情報Yを通信情報Y,Y,Y,・・・,Yと各々区別し、n個分の通信情報Zを通信情報Z,Z,Z,・・・,Zと各々区別している。また、一般的に、ステップS104にて取得した通信情報には、2種類以上のAPI種別が存在することがあるが、以下で説明する時間差分布の算出方法は、任意の数のAPI種別が存在する場合に成り立つ。
まず、通信情報Xと通信情報Y〜Yとの入力時刻の時間差、および通信情報Xと通信情報Z〜Zとの入力時刻の時間差を各々算出する。このとき、算出された時間差が正かつ最も短い時間差の値を代表値とする。図5の例では、通信情報XとY〜Yとのn個の時間差が算出されるが、これらの時間差のうちの通信情報Xと通信情報Yとの時間差ΔtY1−X1が代表値となる。代表値の算出は、時刻が早い情報通信(図5の各通信情報X,Y,Zの下付き数字が小さい通信情報)から順に算出される。
また、時間差を算出する際において、既に代表値の算出に用いられた通信情報は使用しない。例えば、通信情報Xとの時間差が最も短い通信情報Zは通信情報Zであるが、通信情報Zは通信情報Xとの時間差の代表値の算出に用いられているため、通信情報Zは通信情報Xとの時間差の代表値の算出に用いることができない。この場合、通信情報Zの次に通信情報Xとの時間差が短い通信情報Zが、通信情報Xとの時間差の代表値の算出に用いられる。
上記の処理を通信情報X1〜Xnについて順に行うことによって、ステップS105にて選択したAPI種別を含む通信情報Xに対する通信情報Y,Zの時間差の集合が算出される。
なお、ステップS106にて算出された時間差の集合は、上記の算出方法に限るものではない。例えば、入力時刻の集合に対して、フーリエ変換またはウェーブレット解析等の周波数解析アルゴリズムを適用した算出方法であってもよい。
図4に戻り、ステップS107において、通信情報解析部10は、ステップS103にて取得した通信情報に含まれる全てのAPI種別について、ステップS106の処理を行ったか否かの判断を行う。ステップS103にて取得した通信情報に含まれる全てのAPI種別についてステップS106の処理を行った場合は、ステップS108に移行する。一方、ステップS103にて取得した通信情報に含まれる全てのAPI種別についてステップS106の処理を行っていない場合は、ステップS105に移行する。
ステップS108において、通信情報解析部10は、ステップS106にて得られた時間差の集合に基づいて、因果関係のあるAPI種別のペアを推定する。
まず、通信情報解析部10は、全ての時間差の集合について、時間差の頻度分布を作成する。図5の例では、通信情報Xおよび通信情報Yのペアと、通信情報Xおよび通信情報Zのペアとにおける時間差の頻度分布が作成される。
図6,7は、図5の例における時間差の頻度分布の一例を示す図である。
図5の例において、通信情報Yは、通信情報Xに対して周期的な時間差の分布となっている。従って、通信情報Xおよび通信情報Yのペアにおける時間差の頻度分布は、図6に示すような、最頻値<ΔtY−X>を中心とした、ピークが高く分散が少ない分布となる。
一方、図5の例において、通信情報Zは、通信情報Xに対して非周期的な時間差の分布となっている。従って、通信情報Xおよび通信情報Zのペアにおける時間差の頻度分布は、図7に示すような、最頻値<ΔtY−Z>のピークが低く分散が広い分布となる。
通信情報解析部10は、上記の性質を利用して、得られた時間差の頻度分布に対してピークを検出し、有意なピークが得られたAPI種別のペアを因果関係があるAPI種別のペアであると推定する。図5の例では、通信情報Xに含まれるAPI種別と、通信情報Yに含まれるAPI種別とのペアが、因果関係があるAPI種別のペアであると推定される。
なお、ピークの検出は、シグマクリッピング法、関数フィッティング法、微分フィルタ法等、既知の技術を用いることによって容易に求めることができる。例えば、関数フィッティング法を用いる場合は、ピークの幅の分散(すなわち時間差分散)に関連する量を求めることが可能であるため、ピークの有意性を判断するために時間差分散を用いて求めてもよい。
最後に、通信情報解析部10は、因果関係があるAPI種別のペアであると推定された各通信情報(図5の例では、通信情報X,Y)における時間差の頻度分布からピーク位置(図6の最頻値<ΔtY−X>)を求め、当該ピーク位置における時間差をRT時間と推定する。例えば、図4のステップS102において、アプリケーションBを解析対象アプリケーションとして選択した場合は、アプリケーションAを実行するアプリケーション実行部2と、アプリケーションBを実行するアプリケーション実行部3との間におけるRT時間が推定される。
図4に戻り、ステップS109において、通信情報解析部10は、宛先となり得る全てのアプリケーションを解析対象アプリケーションとして選択したか否かの判断を行う。宛先となり得る全てのアプリケーションを解析対象アプリケーションとして選択した場合は、ステップS101に移行する。一方、宛先となり得る全てのアプリケーションを解析対象アプリケーションとして選択していない場合は、ステップS102に移行する。
以上のことから、本実施の形態1によれば、性能評価を行う機能を情報処理分散システムに導入する際において、アプリケーションの書き換えを行う必要がなく、通信ライブラリ実行部の変更のみで済む。また、API種別、送信元アプリケーション種別、宛先アプリケーション種別、および入力時刻を含む通信情報に基づいて、送受信を行ったAPI種別のペアを推定しているため、任意の通信プロトコルを採用する情報処理分散システムにおいて、アプリケーション固有の情報であるAPI間の関連性を事前に知ることなく、通信の監視を行うだけでAPI種別のペアを推定することができる。これにより、アプリケーションと、性能評価を行う機能(通信監視部8、通信情報記憶部9、通信情報解析部10)との間における機能の独立性を確保することが可能となる。すなわち、特定の通信プロトコルを用いることなく容易に性能評価を行うことが可能となる。
なお、情報処理装置1は、API種別のペアの推定結果を直接使用する機能を有してもよい。例えば、アプリケーション実行部2で実行されるアプリケーションAは自社製であるが、アプリケーション実行部3で実行されるアプリケーションBは他社製である場合がある。他社製のアプリケーションは、内包する技術が明らかにならないようにするなどの目的で、ソースコードではなくバイナリ実行ファイルのみが提供されることがある。このような場合において、他社製のアプリケーションの振る舞いを外部から判断するためには、どのようなデータを送信すればどのような応答(返信)があるのかを調査する必要がある。当該要求に応えるために、情報処理装置1は、通信情報解析部10にて算出されたAPI種別のペアの推定結果を使用することによって前記調査を自動的に実施することが可能なアプリケーション調査ツールを構成してもよい。
図1では、通信監視部8、通信情報記憶部9、および通信情報解析部10が通信ライブラリ実行部5に備えられる場合について示しているが、これに限るものではない。例えば、アプリケーション実行部3,4のうちの少なくとも一方に対しても性能評価を行う必要がある場合は、当該性能評価が必要なアプリケーション実行部3,4のうちの少なくとも一方にも通信監視部8、通信情報記憶部9、および通信情報解析部10を備えるようにしてもよい。
図1に示す情報処理装置1は、3つのアプリケーション実行部(アプリケーション実行部2,3,4)を備える場合について示しているが、複数のアプリケーション実行部を備えていればよい。
<実施の形態2>
実施の形態1では、通信情報解析部10は、通信情報記憶部9に記憶(蓄積)された全ての通信情報を解析することによって、因果関係があるAPI種別のペアおよびRT時間の推定を行った。しかし、情報処理分散システムが多数のアプリケーション群によって構成されている場合、または情報処理分散システムに多数のAPI種別のペアが存在している場合は、通信情報解析部10で推定されるAPI種別のペアおよびRT時間の数が非常に多くなる。従って、例えば、RT時間の異常な振る舞いを発見するなどの性能評価が難しくなる。
また、実施の形態1では、通信情報解析部10で大量の通信情報を処理するため、通信情報解析部10に対して非常に大きな計算負荷が付され、当該計算負荷が通信情報分散システム機能全体に影響を及ぼすことがある。さらに、情報処理装置がメモリ領域を十分に確保していない組み込み機器などの装置である場合は、大量の通信情報を記憶するための領域を確保することが難しく、性能評価時に対象とならない通信情報が生じる可能性がある。
このような問題を解決するために、本発明の実施の形態2では、解析対象アプリケーションおよびAPI種別のうちの少なくとも1つを選択(限定)し、選択した解析対象アプリケーションまたはAPI種別に基づいてRT時間を推定することを特徴としている。以下、本実施の形態2による情報処理分散システムについて詳細に説明する。
図8は、本実施の形態2による情報処理装置1の構成の一例を示すブロック図である。なお、本実施の形態2では、情報処理分散システムを単一の情報処理装置1で実現する場合について説明する。
図8に示すように、本実施の形態2による情報処理装置1は、通信情報選択部17を備えることを特徴としている。通信情報選択部17は、入力装置18に接続されている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
入力装置18は、使用者による、API種別、宛先アプリケーション種別、送信元アプリケーション種別の入力を受け付ける。ここで、入力装置18としては、例えばキーボードまたはタッチパネル等、使用者が操作可能な入力機器であってもよい。また、入力装置18は、例えば設定ファイルに予め設定されたAPI種別、宛先アプリケーション種別、および送信元アプリケーション種別を外部から読み出して通信情報選択部17に入力する装置であってもよい。
通信監視部8で生成された通信情報は、通信情報選択部17に入力される。通信情報選択部17は、通信監視部8から入力された通信情報に含まれるAPI種別、宛先アプリケーション種別、および送信元アプリケーション種別と、入力装置18から入力されたAPI種別、宛先アプリケーション種別、および送信元アプリケーション種別とを比較する。そして、通信情報選択部17は、解析対象アプリケーションとAPI種別とのうちの少なくとも1つが一致する場合は、通信監視部8から入力された通信情報を通信情報記憶部9に記憶する。一方、通信情報選択部17は、解析対象アプリケーションとAPI種別とのいずれにも一致しない場合は、通信監視部8から入力された通信情報を破棄(消去)する。すなわち、通信情報選択部17は、予め定められたAPI種別、宛先アプリケーション種別、および送信元アプリケーション種別のうちの少なくとも1つに基づいて、通信監視部8にて生成された通信情報を選択する。
なお、通信情報選択部17は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、通信情報選択部17は、例えば複数のプロセッサ15が連携して実現されてもよい。
解析対象アプリケーションおよびAPI種別のうちの一方に基づいて通信情報を選択するのか、または解析対象アプリケーションおよびAPI種別の両方に基づいて通信情報を選択するのかは、使用者が入力装置18を用いて設定することができる。また、通信監視部8は、入力装置18から入力されたAPI種別、宛先アプリケーション種別、および送信元アプリケーション種別を保持しておいてもよい。
以上のことから、本実施の形態2によれば、大量の通信情報を処理することなく性能評価を行うことができ、通信情報解析部10における計算負荷が低減される。また、通信情報を記憶する領域を十分確保できない場合であっても、性能評価を行うことができる。
<実施の形態3>
実施の形態1では、積分時間tintごと(短時間ごと)に情報処理分散システムの性能評価を行う場合について説明した。一方、情報処理分散システムの性能は、より長時間に渡って変化することがある。長時間に渡る経時的な性能変化のトレンド(以下、性能変化トレンドという)は、アプリケーションの計算負荷の変動、または各アプリケーション実行部間の通信を媒介する装置(図1の例では、アプリケーション間通信部14)における通信トラフィックの混雑具合の変化によって生じる。従って、長時間に渡る性能変化トレンドを確認することによって、情報処理分散システムの管理または情報処理分散システムで生じる問題の把握など、短時間ごとの性能評価ではわからないような情報を得ることが可能となる。本発明の実施の形態3は、このような機能を実現するものであり、以下に詳細に説明する。
図9は、本実施の形態3による情報処理装置1の構成の一例を示すブロック図である。なお、本実施の形態3では、情報処理分散システムを単一の情報処理装置1で実現する場合について説明する。
図9に示すように、本実施の形態3による情報処理装置1は、トレンド算出部19および評価部20を備えることを特徴としている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
通信情報解析部10は、アプリケーションごと、およびAPI種別ごとに算出した時間差の分布をトレンド算出部19に入力する。すなわち、通信情報解析部10は、一のアプリケーション実行部と他のアプリケーション実行部との間におけるデータ通信に要する時間の分布を示す時間分布を、アプリケーションおよびAPI種別ごとに算出する。
トレンド算出部19は、まず、通信情報解析部10から時々刻々と入力される時間差の分布を内部に保持する。次に、トレンド算出部19は、保持した時間差の分布に基づいて性能変化トレンドを算出し、算出した性能変化トレンドを評価部20に入力する。
図10は、性能変化トレンドの算出を説明するための図である。
図10に示すように、トレンド算出部19は、各時間差の分布のピーク位置に基づいてRT時間を算出し、当該RT時間の時間変化(経時的な変化)を性能変化トレンドとして算出する(図10の破線矢印で示される曲線)。なお、トレンド算出部19は、各時間差の分布のピーク幅に基づく時間変化を算出し、当該時間変化をRT時間の変動(すなわち、情報処理分散システムの性能のばらつき)に関する性能変化トレンドとするなど、他の方法を用いて性能変化トレンドを算出してもよい。
図9に戻り、評価部20は、まず、トレンド算出部19から入力された性能変化トレンドを、API種別ペアごと、およびアプリケーションごとに分類して保持する。次に、保持している性能変化トレンドを比較して所望の評価を行う。
図11は、性能変化トレンドの評価を説明するための図である。
図11において、性能変化トレンド21は、あるアプリケーション(ここでは、アプリケーションAとする)を実行するアプリケーション実行部(ここでは、アプリケーション実行部2とする)と、他のアプリケーション(ここでは、アプリケーションBとする)を実行するアプリケーション実行部(ここでは、アプリケーション実行部3とする)との間におけるRT時間のトレンドを示す曲線である。また、性能変化トレンド22は、アプリケーションAを実行するアプリケーション実行部2と、他のアプリケーション(ここでは、アプリケーションCとする)を実行するアプリケーション実行部(ここでは、アプリケーション実行部4)との間におけるRT時間のトレンドを示す曲線である。なお、図11では、性能変化トレンド21と性能変化トレンド22との比較を容易にするために、性能変化トレンド22に一定の時刻オフセットを加算して、性能変化トレンド21と重ならないように示している。
図11に示すように、性能変化トレンド21および性能変化トレンド22は、概ね同じような振る舞い(トレンド)を示している。これは、アプリケーション実行部2からアプリケーション実行部3への通信負荷、およびアプリケーション実行部3での処理負荷と、アプリケーション実行部2からアプリケーション実行部4への通信負荷、およびアプリケーション実行部4での処理負荷とが概ね同様であることを意味している。
一方、図11のaで示される時間的に限られた箇所において、性能変化トレンド22には、性能変化トレンド21にはない盛り上がりが見出される。ここで、図9に示すように、本実施の形態3による情報処理装置1では、アプリケーション実行部2とアプリケーション実行部3との間の経路と、アプリケーション実行部2とアプリケーション実行部4との間の経路とは、共通のアプリケーション間通信部14を介して通信しているため、アプリケーション実行部2からアプリケーション実行部3への通信負荷と、アプリケーション実行部2からアプリケーション実行部3への通信負荷とは同じであると考えてよい。従って、図11のaで示される箇所における性能変化トレンド22の盛り上がりは、アプリケーション実行部3での処理負荷が局所的に増大したことを示していると理解することができる。
また、上記の他に、次の方法で性能変化トレンドを評価してもよい。図11の時刻bにおいて、性能変化トレンド21および性能変化トレンド22は、ともにRT時間が増大している。この時刻b周辺の時間帯において、通信情報解析部10で推定されるAPI種別のペアとの対応を取ることによって、情報処理分散システム全体の処理負荷を大きくしている要因となる機能を特定することができる。
なお、評価部20は、上記の各方法に限らず、複数の性能変化トレンドを比較することを基本として、評価者が要求する情報処理分散システム全体の性能の分析を行うために好適な方法で行うようにしてもよい。
図9において、トレンド算出部19および評価部20は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、これらは、例えば複数のプロセッサ15が連携して実現されてもよい。
以上のことから、本実施の形態3によれば、情報処理分散システムの性能について、長時間に渡る性能変化トレンドを得ることができる。従って、短時間における性能評価では見出せない情報処理分散システムの状態または問題の発生などを把握することができる。
<実施の形態4>
実施の形態1では、通信情報解析部10が性能評価の対象となる情報処理装置1に備えられている場合について説明した。例えば、実施の形態1による情報処理装置1が、情報を出力するディスプレイ等を備えたコンピュータ端末である場合は、通信情報解析部10によって解析された性能評価を確認することが容易である。しかし、実施の形態1による情報処理装置1を、組み込み機器など入出力手段が限られている情報処理分散システムに適用する場合において、通信情報解析部によって解析された性能評価を確認することは難しい。また、情報分散処理システムが組み込み機器である場合は、情報処理リソースが限られていることがあり、当該組み込み機器が提供する機能以外の他の機能(性能評価を表示する等の処理)を同時に実行することが好ましくないことがある。
このような問題を解決するために、本発明の実施の形態4では、通信情報解析部を性能評価の対象となる情報処理装置とは別個の他の情報処理装置に設け、解析処理および性能評価の表示等を当該他の情報処理装置で行うことを特徴としている。以下、本実施の形態4による情報処理分散システムについて詳細に説明する。
図12は、本実施の形態4による情報処理装置1,23の構成の一例を示すブロック図である。なお、本実施の形態4では、情報処理分散システムを単一の情報処理装置1で実現し、性能評価を行う機能を情報処理装置1,23で実現する場合について説明する。
図12に示すように、本実施の形態4では、情報処理装置1とは別個の情報処理装置23が設けられている。情報処理装置23は、通信情報解析部10を備えている。また、情報処理装置1と情報処理装置23とは、装置間通信装置24を介して互いに通信可能に接続されている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明は省略する。
通信情報記憶部9は、装置間通信装置24と通信可能に接続するためのインターフェイスまたは機能と、記憶した通信情報を装置間通信装置24を介して通信情報解析部10に送信する機能とを有している。なお、通信情報記憶部9は、例えば情報処理装置1に搭載されたメモリ上に確保された領域を用いることによって実現してもよい。また、通信情報記憶部9は、情報処理装置1が、例えばUSB(Universal Serial Bus)ポートまたはSDカードポートを備えている場合は、これらのポートに接続されたUSBメモリ装置またはSDカード(登録商標)の保存領域を用いることによって実現してもよい。このように、通信情報記憶部9は、情報処理装置1に対して着脱可能であり、かつ他の情報処理装置(図12の例では、情報処理装置23)に対しても着脱可能である場合は、装置間通信装置24に接続する機能を有さなくてもよい。
通信情報解析部10は、装置間通信装置24と通信可能に接続するためのインターフェイスまたは機能と、通信情報記憶部9から送信された通信情報を装置間通信装置24を介して受信する機能とを有している。なお、通信情報解析部10は、通信情報記憶部9がUSBメモリ装置またはSDカードで実現される場合は、装置間通信装置24に接続するためのインターフェイス等を備える代わりに、USBメモリ装置またはSDカードに記憶された情報を読み出す機能を備えてもよい。
装置間通信装置24は、情報処理装置1と情報処理装置23との間における通信を媒介する。装置間通信装置24は、例えばシリアル通信装置、LAN(Local Area Network)装置、またはインターネットを介した通信を実行する装置であってもよい。
なお、図12において、情報処理装置23における通信情報解析部10は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、これらは、例えば複数のプロセッサ15が連携して実現されてもよい。
次に、情報処理装置1,23の動作について説明する。
実施の形態1では、通信情報解析部10は、任意のタイミングで通信情報記憶部9から通信情報を取得して解析していた。一方、本実施の形態4では、情報処理装置1が情報処理分散システムとしての機能を実行している間、通信情報記憶部9は、通信監視部8で生成された通信情報を蓄積し続ける。このとき、通信情報解析部10は、通信情報記憶部9から通信情報を取得しない。そして、情報処理装置1が情報処理分散システムとしての機能を停止すると、情報処理装置23において性能評価に係る処理が実行される。当該処理が実行されると、通信情報解析部10は、装置間通信装置24を介して通信情報記憶部9に対して通信情報を要求することによって、通信情報記憶部9から通信情報を取得する。なお、通信情報解析部10における解析は、実施の形態1と同様である。
以上のことから、本実施の形態4によれば、性能評価に係る処理を、当該性能評価の対象となる情報処理装置とは別個の他の情報処理装置で実行させることが可能となる。従って、情報処理分散システムが十分な入出力手段を備えない組み込み機器で構成される場合であっても、性能評価の結果を容易に利用することができる。また、情報処理分散システムは、性能評価に係る処理を実行するための処理負荷が付されることなく動作することが可能となる。
<実施の形態5>
実施の形態1〜4では、情報処理分散システムが単一の情報処理装置で実現される場合について説明した。しかし、一般的には、複数の情報処理装置を互いに通信可能に接続することによって情報処理分散システムを実現する場合がある。
複数の情報処理装置を通信可能に接続する手段としては、例えば、USBまたはIEEE1394等のシリアルバス、NFC(近距離無線通信)、有線接続LANまたは無線接続LAN、インターネット等が挙げられる。しかし、例えばUSBを用いた接続を行っている情報処理装置は、使用者が任意のタイミングでコネクタを抜き差しする可能性がある。また、無線通信またはインターネットを用いて接続する方法では、周辺の電磁環境またはネットワークの状態によって通信の質が変化することがある。従って、一般的に、複数の情報処理装置で実現される情報処理分散システムでは、通信速度の低減、または通信接続の切断および復旧などが動作中に発生する可能性がある。
このような状況下でも情報処理分散システムとしての機能を安定して実行し続けるためには、通信状況の変化、または情報処理分散システムとしての機能を実現することが可能な情報処理装置の数の変化を検出し、適当な通信手段および情報処理装置を選択する必要がある。従って、複数の情報処理装置で実現される情報処理分散システムにおいても、性能評価を行うことが求められる。
複数の情報処理装置で実現される情報処理分散システムにおける性能評価を行うために、本発明の実施の形態5では、各情報処理装置間における通信を監視し、各情報処理装置との通信を行う通信手段ごとに因果関係があるAPI種別のペアを推定することを特徴としている。以下、本実施の形態5による情報処理分散システムについて詳細に説明する。
図13は、本実施の形態5による情報処理装置1,25,26の構成の一例を示すブロック図である。なお、本実施の形態5では、情報処理分散システムを複数の情報処理装置1,25,26で実現する場合について説明する。
図13に示すように、情報処理装置1は、通信手段選択部27および通信送受信部28,29を備えることを特徴としている。情報処理装置25は、アプリケーション実行部3および通信ライブラリ実行部6を備えている。情報処理装置26は、アプリケーション実行部4および通信ライブラリ実行部7を備えている。また、通信ライブラリ実行部5の通信送受信部28と、通信ライブラリ実行部6の通信送受信部12とは装置間通信装置30を介して通信可能に接続されている。通信ライブラリ実行部5の通信送受信部29と、通信ライブラリ実行部7の通信送受信部13とは装置間通信装置31を介して通信可能に接続されている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
情報処理装置25は、情報処理装置1と同じハードウェアおよびオペレーティングシステムで構成されてもよく、情報処理装置1とは異なるハードウェアおよびオペレーティングシステムで構成されてもよい。通信送受信部12は、装置間通信装置30の機能をアプリケーション実行部3が利用するための機能を有している。
情報処理装置26は、情報処理装置1と同じハードウェアおよびオペレーティングシステムで構成されてもよく、情報処理装置1とは異なるハードウェアおよびオペレーティングシステムで構成されてもよい。通信送受信部13は、装置間通信装置31の機能をアプリケーション実行部4が利用するための機能を有している。
装置間通信装置30,31は、同じ通信手段または互いに異なる通信手段によって各情報処理装置1,25,26間における通信を実現している。なお、通信手段は、例えばシリアル通信装置、LAN装置、またはインターネットを介した通信を実行する装置であってもよい。また、通信手段は、CAN(Controller Area Network)またはMOST(Media Oriented System Transport)といった車内LAN等、または組み込み用途に特化した通信装置であってもよい。
通信手段選択部27は、通信情報解析部10による解析結果、すなわち因果関係があるAPI種別のペアと、当該API種別のペアに基づくRT時間とが入力されると、これらの情報に基づいて、あるAPIを用いたデータ通信を行う情報処理装置(図13の例では、情報処理装置25,26のいずれか)および通信送受信部(図13の例では、通信送受信部28,29のいずれか)を選択し、通信監視部8から入力されたデータ通信に係るデータを通信送受信部28,29のいずれかに振り分ける機能を有している。
なお、図13において、情報処理装置1における通信手段選択部27、および通信送受信部28,29は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、これらは、例えば複数のプロセッサ15が連携して実現されてもよい。
また、情報処理装置25におけるアプリケーション実行部3、通信ライブラリ実行部6、および通信送受信部12は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、これらは、例えば複数のプロセッサ15が連携して実現されてもよい。
また、情報処理装置26におけるアプリケーション実行部4、通信ライブラリ実行部7、および通信送受信部13は、例えば図3のプロセッサ15がメモリ16等に記憶されたプログラムを実行することにより、当該プロセッサ15の機能として実現される。ただし、これらは、例えば複数のプロセッサ15が連携して実現されてもよい。
次に、情報処理装置1の動作について説明する。
アプリケーション実行部2を入出力するデータ通信は、通信監視部8で監視されている。通信監視部8は、当該データ通信に係るデータについて通信情報を生成する。
図14は、通信監視部8で生成される通信情報の一例を示す図である。
図14に示すように、本実施の形態5による通信監視部8は、実施の形態1による通信監視部8が生成した通信情報(図2参照)と比較して、通信手段(通信送受信部28,29のいずれか)の種別を示す通信手段種別をさらに含んだ通信情報を生成している。通信手段種別としては、通信手段を一意に示す名称またはID番号(図14の例では、「#1」)が生成される。
通信情報記憶部9は、通信監視部8で生成された通信情報を記憶する。なお、本実施の形態5による通信情報記憶部9では、記憶容量または記憶処理を行うAPIのプロトタイプ宣言などが、本実施の形態1による通信情報記憶部9と異なる。
通信情報解析部10は、実施の形態で説明した解析処理(図4参照)に加えて、通信手段種別ごとに解析処理を行う。
図15は、通信情報解析部10の動作の一例を示すフローチャートである。
ステップS201〜ステップS204では、図4のステップS101〜ステップS104と同様の処理を行うため、ここでは説明を省略する。
ステップS205において、ステップS203およびステップS204にて取得した通信情報から選択した一の通信手段を含む通信情報のセットを解析対象通信情報セットとする。
ステップS206〜ステップS209では、解析対象通信情報セットに対して、図4のステップS105〜ステップS108と同様の処理を行い、選択した通信手段を用いた場合において因果関係があるAPI種別のペアとRT時間とを各々推定する。ステップS209にて、アプリケーションごと、通信手段ごと、およびAPI種別ごとに推定されたRT時間の情報は、通信手段選択部27に入力される。
ステップS210において、解析対象通信情報セットの通信情報に含まれる全ての通信手段についてステップS206〜ステップS209の処理を行ったか否かの判断を行う。解析対象通信情報セットの通信情報に含まれる全ての通信手段についてステップS206〜ステップS209の処理を行った場合は、ステップS211に移行する。一方、解析対象通信情報セットの通信情報に含まれる全ての通信手段についてステップS206〜ステップS209の処理を行っていない場合は、ステップS205に移行する。
ステップS211では、図4のステップS109と同様の処理を行うため、ここでは説明を省略する。
通信手段選択部27は、通信情報解析部10から入力された、アプリケーションごと、通信手段ごと、およびAPI種別ごとに推定されたRT時間に基づいて、あるアプリケーションのあるAPI種別に対して、優先的に使用される通信送受信部28,29のいずれかを選択する。そして、通信監視部8から入力されたデータ通信に係るデータを、選択した通信送受信部28,29のいずれかに入力する。
なお、通信手段選択部27は、RT時間を用いて通信送受信部28,29のいずれかを選択する方法として、例えば、RT時間が最も短い通信送受信部28,29のいずれかを選択する方法、または、RT時間の分散が最も小さい、すなわち安定した性能を示す通信送受信部28,29のいずれかを選択する方法等、必要な振る舞いを実現するために好適な方法を採用すればよい。
以上のことから、本実施の形態5によれば、通信手段ごとにRT時間の推定を行うことができる。従って、複数の通信手段を同時に使用する情報処理分散システムにおいて、アプリケーションを書き換えることなく、通信ライブラリ実行部の変更のみで性能評価を行うことができる。また、通信状況が良好な通信手段を優先的に用いることができ、情報処理分散システム全体の性能の向上および最適化を実現することができる。
なお、図1,8,9,12,13において、アプリケーション実行部2,3,4、通信ライブラリ実行部5,6,7、通信監視部8、通信情報解析部10、通信送受信部11,12,13、アプリケーション間通信部14、通信情報選択部17、トレンド算出部19、評価部20、通信手段選択部27、および通信送受信部28,29の各々は、図3のプロセッサ15がメモリ16に記憶されたソフトウェアプログラムに従って動作することにより実現された。しかし、これに代えて、アプリケーション実行部2,3,4、通信ライブラリ実行部5,6,7、通信監視部8、通信情報解析部10、通信送受信部11,12,13、アプリケーション間通信部14、通信情報選択部17、トレンド算出部19、評価部20、通信手段選択部27、および通信送受信部28,29の各々は、ハードウェア(例えば、電気信号に対して特定の演算あるいは処理を行うように構成された演算/処理回路等)として構成するようにしてもよい。また、上記の両者を混在させてもよい。
また、ソフトウェアのアプリケーション実行部2,3,4、通信ライブラリ実行部5,6,7、通信監視部8、通信情報解析部10、通信送受信部11,12,13、アプリケーション間通信部14、通信情報選択部17、トレンド算出部19、評価部20、通信手段選択部27、および通信送受信部28,29の各々と、ハードウェアのアプリケーション実行部2,3,4、通信ライブラリ実行部5,6,7、通信監視部8、通信情報解析部10、通信送受信部11,12,13、アプリケーション間通信部14、通信情報選択部17、トレンド算出部19、評価部20、通信手段選択部27、および通信送受信部28,29の各々とを組み合わせた概念として、「部」という語に代えて「処理回路」という語を用いることもできる。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
1 情報処理装置、2,3,4 アプリケーション実行部、5,6,7 通信ライブラリ実行部、8 通信監視部、9 通信情報記憶部、10 通信情報解析部、11,12,13 通信送受信部、14 アプリケーション間通信部、15 プロセッサ、16 メモリ、17 通信情報選択部、18 入力装置、19 トレンド算出部、20 評価部、21,22 性能変化トレンド、23 情報処理装置、24 装置間通信装置、25,26 情報処理装置、27 通信手段選択部、28,29 通信送受信部、30,31 装置間通信装置。

Claims (9)

  1. 予め定められた機能を実現するアプリケーションを実行する複数のアプリケーション実行部と
    各前記アプリケーション実行部に対応して設けられ、各前記アプリケーション実行部間におけるデータ通信を管理する複数の通信ライブラリ実行部と
    を備え、
    前記通信ライブラリ実行部は
    前記通信ライブラリ実行部に対応して設けられた一の前記アプリケーション実行部と、他の前記アプリケーション実行部との前記データ通信を監視し、当該監視した全ての前記データ通信について、前記データ通信時に一の前記アプリケーション実行部で用いられたAPIの種別を示すAPI種別を含む通信情報を生成する通信監視部と
    前記通信監視部で生成された前記通信情報を記憶する通信情報記憶部と
    前記通信情報記憶部に記憶された前記通信情報に基づいて、前記データ通信時に一の前記アプリケーション実行部で用いられた前記API種別のペアを推定する通信情報解析部と
    を備える、情報処理装置。
  2. 前記通信情報は、前記データ通信の宛先となる前記アプリケーション実行部が実行する前記アプリケーションの種別を示す宛先アプリケーション種別と、前記データ通信の送信元となる前記アプリケーション実行部が実行する前記アプリケーションの種別を示す送信元アプリケーション種別と、前記データ通信に係るデータが前記通信監視部に入力された時刻を示す入力時刻とをも含むことを特徴とする、請求項1に記載の情報処理装置。
  3. 前記通信情報解析部は、推定した前記API種別のペアのいずれかを含む前記通信情報に含まれる前記入力時刻に基づいて、各前記アプリケーション実行部間におけるラウンドトリップ時間を算出することを特徴とする、請求項2に記載の情報処理装置。
  4. 予め定められた前記API種別、前記宛先アプリケーション種別、および前記送信元アプリケーション種別のうちの少なくとも1つに基づいて、前記通信監視部にて生成された前記通信情報を選択する通信情報選択部をさらに備えることを特徴とする、請求項2に記載の情報処理装置。
  5. 前記通信情報解析部は、一の前記アプリケーション実行部と他の前記アプリケーション実行部との間における前記データ通信に要する時間の分布を示す時間分布を、前記アプリケーションおよび前記API種別ごとに算出し、
    前記通信ライブラリ実行部は
    前記通信情報解析部にて解析された前記時間分布に基づいて、前記時間の経時的な変化のトレンドを算出するトレンド算出部と
    前記トレンド算出部にて算出された前記トレンドに基づいて、前記情報処理装置の評価を行う評価部と
    をさらに備えることを特徴とする、請求項1に記載の情報処理装置。
  6. 前記通信情報記憶部は、着脱可能であることを特徴とする、請求項1に記載の情報処理装置。
  7. 各前記アプリケーション実行部のうちの複数の前記アプリケーション実行部と、各前記通信ライブラリ実行部のうちの複数の前記通信ライブラリ実行部とは、前記情報処理装置とは別個の少なくとも1つ以上の他の情報処理装置に備えられ、
    前記通信ライブラリ実行部は、
    各前記アプリケーション実行部間ごとに、前記データ通信に係るデータの送受信を行う複数の通信送受信部と、
    前記データ通信を行う一の前記通信送受信部を選択する通信手段選択部と、
    をさらに備え、
    前記通信監視部は、前記データ通信に用いる前記通信送受信部の種別を示す通信手段種別を含む前記通信情報を生成し、
    前記通信情報解析部は、前記通信手段種別ごとに前記API種別のペアを推定し、
    前記通信手段選択部は、前記通信情報解析部にて推定された前記API種別のペアに基づいて、一の前記通信送受信部を選択することを特徴とする、請求項1に記載の情報処理装置。
  8. 予め定められた機能を実現するアプリケーションを実行する複数のアプリケーション実行部と、
    各前記アプリケーション実行部に対応して設けられ、各前記アプリケーション実行部間におけるデータ通信を管理する複数の通信ライブラリ実行部と、
    を備え、
    前記通信ライブラリ実行部は、
    前記通信ライブラリ実行部に対応して設けられた一の前記アプリケーション実行部と、他の前記アプリケーション実行部との前記データ通信を監視し、当該監視した全ての前記データ通信について、前記データ通信時に一の前記アプリケーション実行部で用いられたAPIの種別を示すAPI種別を含む通信情報を生成する通信監視部と、
    前記通信監視部で生成された前記通信情報を記憶する通信情報記憶部と、
    を備える情報処理装置と、
    前記通信情報記憶部に記憶された前記通信情報に基づいて、前記データ通信時に一の前記アプリケーション実行部で用いられた前記API種別のペアを推定する、前記情報処理装置と通信可能に接続された他の情報処理装置と、
    を備える、情報処理システム。
  9. 前記通信情報記憶部は、着脱可能であることを特徴とする、請求項8に記載の情報処理システム。
JP2015536703A 2015-03-09 2015-03-09 情報処理装置および情報処理システム Active JP5864039B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/056803 WO2016143026A1 (ja) 2015-03-09 2015-03-09 情報処理装置

Publications (2)

Publication Number Publication Date
JP5864039B1 true JP5864039B1 (ja) 2016-02-17
JPWO2016143026A1 JPWO2016143026A1 (ja) 2017-04-27

Family

ID=55346940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015536703A Active JP5864039B1 (ja) 2015-03-09 2015-03-09 情報処理装置および情報処理システム

Country Status (5)

Country Link
US (1) US10509714B2 (ja)
JP (1) JP5864039B1 (ja)
CN (1) CN107430544B (ja)
DE (1) DE112015006287B4 (ja)
WO (1) WO2016143026A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5864039B1 (ja) * 2015-03-09 2016-02-17 三菱電機株式会社 情報処理装置および情報処理システム
US10965444B2 (en) 2018-04-24 2021-03-30 Microsoft Technology Licensing, Llc Mitigating timing attacks via dynamically triggered time dilation
US10785017B2 (en) * 2018-04-24 2020-09-22 Microsoft Technology Licensing, Llc Mitigating timing attacks via dynamically scaled time dilation
US11017078B2 (en) 2018-04-24 2021-05-25 Microsoft Technology Licensing, Llc Environmentally-trained time dilation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561732A (ja) * 1991-08-30 1993-03-12 Sony Corp ソケツト通信ログ蓄積装置
JPH07129439A (ja) * 1993-11-02 1995-05-19 Nec Corp 応答時間測定方式
US20020165838A1 (en) * 2001-05-01 2002-11-07 The Regents Of The University Of California Performance analysis of distributed applications using automatic classification of communication inefficiencies
JP2007304647A (ja) * 2006-05-08 2007-11-22 Fujitsu Ltd リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法
JP2013171542A (ja) * 2012-02-22 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> 性能分析装置、性能分析方法及び性能分析プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04223547A (ja) 1990-12-25 1992-08-13 Kawasaki Steel Corp 分散処理装置
US6381628B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Summarized application profiling and quick network profiling
US20050018611A1 (en) * 1999-12-01 2005-01-27 International Business Machines Corporation System and method for monitoring performance, analyzing capacity and utilization, and planning capacity for networks and intelligent, network connected processes
US7406474B2 (en) * 2004-12-08 2008-07-29 International Business Machines Corporation Discovering object definition information in an integrated application environment
GB0616374D0 (en) * 2006-08-17 2006-09-27 Ibm An apparatus for managing outputs of applications
US8667156B2 (en) * 2007-05-02 2014-03-04 Elevate Technologies Pty Ltd. Application-independent service delivery
JP4506846B2 (ja) * 2008-02-05 2010-07-21 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
CN102063460A (zh) * 2010-10-19 2011-05-18 蔡亮华 信息处理方法和装置
JP2012222692A (ja) 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 監視点設定方法及び装置及びプログラム
US8615589B1 (en) * 2011-06-27 2013-12-24 Amazon Technologies, Inc. Resource optimization recommendations
US9003432B1 (en) * 2012-06-28 2015-04-07 Emc Corporation Efficient management of kernel driver performance data
US8630204B1 (en) * 2012-10-03 2014-01-14 LiveQoS Inc. System and method for a TCP mapper
US9398081B2 (en) * 2014-08-20 2016-07-19 Futurewei Technologies, Inc. Automating client development for network APIs
JP5864039B1 (ja) * 2015-03-09 2016-02-17 三菱電機株式会社 情報処理装置および情報処理システム
US10666534B2 (en) * 2015-06-29 2020-05-26 Citrix Systems, Inc. Systems and methods for measuring round trip time in network devices between the device and an endpoint

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561732A (ja) * 1991-08-30 1993-03-12 Sony Corp ソケツト通信ログ蓄積装置
JPH07129439A (ja) * 1993-11-02 1995-05-19 Nec Corp 応答時間測定方式
US20020165838A1 (en) * 2001-05-01 2002-11-07 The Regents Of The University Of California Performance analysis of distributed applications using automatic classification of communication inefficiencies
JP2007304647A (ja) * 2006-05-08 2007-11-22 Fujitsu Ltd リクエスト種別プログラム、リクエスト種別装置およびリクエスト種別方法
JP2013171542A (ja) * 2012-02-22 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> 性能分析装置、性能分析方法及び性能分析プログラム

Also Published As

Publication number Publication date
DE112015006287T5 (de) 2018-01-11
DE112015006287B4 (de) 2022-08-18
JPWO2016143026A1 (ja) 2017-04-27
US10509714B2 (en) 2019-12-17
CN107430544A (zh) 2017-12-01
CN107430544B (zh) 2020-06-26
US20180024906A1 (en) 2018-01-25
WO2016143026A1 (ja) 2016-09-15

Similar Documents

Publication Publication Date Title
JP5864039B1 (ja) 情報処理装置および情報処理システム
US9531614B1 (en) Network aware distributed business transaction anomaly detection
CN110198248B (zh) 检测ip地址的方法和装置
US20150067146A1 (en) Custom correlation of a distributed business transaction
JP6542096B2 (ja) 故障診断システム
CN112363879A (zh) 缓存服务器性能测试方法、装置、设备和介质
US20060287738A1 (en) Optimized performance counter monitoring
WO2016038857A1 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、記憶媒体
EP2853042A1 (en) Aircraft information management system
EP3274906B1 (en) Determination of sensor usage to detect malicious applications
KR101586587B1 (ko) 시스템 모니터링 방법 및 장치
US10445139B2 (en) Control system in which communication between devices is controlled based on execution condition being satisfied, gateway device used in the control system, and control method for the control system
US10616081B2 (en) Application aware cluster monitoring
CN113179317B (zh) 内容重写设备的测试系统及方法
CN110971697B (zh) Redis单实例保护处理方法、装置、计算机设备及存储介质
US9626330B2 (en) Information processing apparatus, and information processing method
CN112333045A (zh) 智能流量基线学习方法、设备和计算机可读存储介质
JP6412641B2 (ja) 通信リンクの送信方法、装置及び端末
CN113094002A (zh) 消息处理方法、装置、电子设备和计算机介质
JP2011257994A (ja) 更新api検出システム、更新api検出装置、更新api検出方法、および更新api検出プログラム
JP7235714B2 (ja) 情報処理装置、判定方法および判定プログラム
CN114374635B (zh) 路由检测方法、装置、设备及存储介质
CN114172946B (zh) 请求结果发送方法、装置、电子设备和计算机可读介质
JP7120310B2 (ja) 通信分析装置、通信分析方法、およびプログラム
US20220345381A1 (en) Systems and methods for presenting workspace experience indicator on user interface

Legal Events

Date Code Title Description
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: 20151124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151222

R150 Certificate of patent or registration of utility model

Ref document number: 5864039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250