IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECパーソナルコンピュータ株式会社の特許一覧

特開2023-140162情報処理方法、情報処理装置、プログラム及び記録媒体
<>
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図1
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図2
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図3
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図4
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図5
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図6
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図7
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図8
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図9
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図10
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図11
  • 特開-情報処理方法、情報処理装置、プログラム及び記録媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023140162
(43)【公開日】2023-10-04
(54)【発明の名称】情報処理方法、情報処理装置、プログラム及び記録媒体
(51)【国際特許分類】
   G06F 11/07 20060101AFI20230927BHJP
   G06F 11/30 20060101ALI20230927BHJP
【FI】
G06F11/07 190
G06F11/30 165
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022046055
(22)【出願日】2022-03-22
(71)【出願人】
【識別番号】311012169
【氏名又は名称】NECパーソナルコンピュータ株式会社
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】佐藤 隆士
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ02
5B042JJ03
5B042JJ29
5B042KK15
5B042MA08
5B042MA14
5B042MC22
(57)【要約】
【課題】障害や不具合が発生している情報処理端末の具体的な動作環境を特定可能な情報処理方法、情報処理装置、プログラム及び記録媒体を提供する。
【解決手段】情報処理方法は、基準となる端末に含まれる構成要素 を示す情報を表す第1のデータセットと、監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離 を算出するステップと、前記テレメトリ値と前記第1距離とを出力するステップとを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、
監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、
前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、
前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、
前記テレメトリ値と前記第1距離とを出力するステップと
を備える情報処理方法。
【請求項2】
前記第1距離を算出するステップは、前記第2のデータセットと前記第1のデータセットとのハミング距離を算出するステップをさらに備える
請求項1に記載の情報処理方法。
【請求項3】
前記第1距離を算出するステップは、前記第2のデータセットと前記第1のデータセットとのシティブロック距離を算出するステップをさらに備える
請求項1に記載の情報処理方法。
【請求項4】
前記第1のデータセットを少なくとも第1のプライマリデータセット及び第1のセカンダリデータセットに分類するステップと、
前記第2のデータセットを少なくとも第2のプライマリデータセット及び第2のセカンダリデータセットに分類するステップと、をさらに備え、
前記第1距離を算出するステップは、
前記第2のプライマリデータセットと前記第1のプライマリデータセットとの間の距離としてプライマリ距離を算出し、
前記第2のセカンダリデータセットと前記第1のセカンダリデータセットとの間の距離としてセカンダリ距離を算出するステップをさらに備える
請求項1から3のいずれか一項に記載の情報処理方法。
【請求項5】
前記プライマリ距離及び前記第1のプライマリデータセットを要素とするプライマリベクトルと、前記セカンダリ距離及び前記第1のセカンダリデータセットを要素とするセカンダリベクトルと、を生成するステップと、
前記プライマリベクトル及び前記セカンダリベクトルを出力するステップと、をさらに備える
請求項4に記載の情報処理方法。
【請求項6】
前記基準となる端末の販売数量が所定数以上の場合、前記第1のデータセットを前記第1のプライマリデータセット及び前記第1のセカンダリデータセットに分類するステップをさらに備える
請求項4又は5に記載の情報処理方法。
【請求項7】
基準となる端末に含まれる構成要素 を示す情報を表す第1のデータセットと、
監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、
前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得する取得部と、
前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離の算出処理を実行する処理部と、
前記テレメトリ値と前記第1距離とを出力する出力部と
を備える情報処理装置。
【請求項8】
コンピュータに、
基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、
監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、
前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、
前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、
前記テレメトリ値と前記第1距離とを出力するステップと
を実行させるためのプログラム。
【請求項9】
コンピュータに、
基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、
監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、
前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、
前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、
前記テレメトリ値と前記第1距離とを出力するステップと
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置、プログラム及び記録媒体に関する。
【背景技術】
【0002】
情報処理端末上において、様々なハードウェアが搭載され、様々なソフトウェアが動作している。それらハードウェアやソフトウェアの動作状態を遠隔でモニタする技術として、テレメトリが挙げられる。テレメトリは情報処理端末上でソフトウェアとして動作する。テレメトリが動作する情報処理端末において、テレメトリは、ハードウェアやソフトウェアの動作について何らかの情報を取得する。テレメトリは、取得した情報を管理者端末に送信する。
【0003】
管理者端末は、テレメトリにより集計した値が何らかの異常を示していると判定した場合、障害や不具合が情報処理端末に発生していることを検出することは出来ても、その詳細を特定することが出来ない場合がある。また、情報処理端末が複数ある場合、全ての情報処理端末において障害や不具合が発生しておらず、特定のユーザや特定の端末環境においてのみ障害や不具合が発生しているということもある。
【0004】
特許文献1において、複数のノードから構成されるネットワークシステムにおいて異常が発生したノードと関連のある関連ノードを抽出し、抽出された関連ノードと当該関連ノードの稼働データとの各組み合わせをそれぞれ目的変数とし、当該目的変数以外の組み合わせのうち、当該目的変数についての予測モデルとして使用できる組み合わせを、当該目的変数の説明変数としてそれぞれ選択し、選択された説明変数を用いておこなわれた異常検出において、異常が検出された異常検出目的変数と、当該異常検出目的変数の説明変数を抽出し、抽出された異常検出目的変数の説明変数に共通する目的変数の数を算出し、算出された目的変数の数に基づいて、障害原因箇所の優先順位を設定する、制御部を有する障害原因特定システムが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2021-149849号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、障害や不具合が発生している情報処理端末の具体的な動作環境を特定可能な方法は開示されていない。
【0007】
本発明は、障害や不具合が発生している情報処理端末の具体的な動作環境を特定可能な情報処理方法、情報処理装置、プログラム及び記録媒体を提供することを目的の一つとする。
【課題を解決するための手段】
【0008】
この発明に係る情報処理方法、情報処理装置、プログラム及び記録媒体は、以下の構成を採用した。
(1)この発明の一態様に係る情報処理方法は、基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、前記テレメトリ値と前記第1距離とを出力するステップと、を備える。
【0009】
(2)上記(1)の態様において、前記第1距離を算出するステップは、前記第2のデータセットと前記第1のデータセットとのハミング距離を算出するステップをさらに備える。
【0010】
(3)上記(1)の態様において、前記第1距離を算出するステップは、前記第2のデータセットと前記第1のデータセットとのシティブロック距離を算出するステップをさらに備える。
【0011】
(4)上記(1)から(3)のいずれかの態様において、情報処理方法は、前記第1のデータセットを少なくとも第1のプライマリデータセット及び第1のセカンダリデータセットに分類するステップと、前記第2のデータセットを少なくとも第2のプライマリデータセット及び第2のセカンダリデータセットに分類するステップと、をさらに備え、前記第1距離を算出するステップは、前記第2のプライマリデータセットと前記第1のプライマリデータセットとの間の距離としてプライマリ距離を算出し、前記第2のセカンダリデータセットと前記第1のセカンダリデータセットとの間の距離としてセカンダリ距離を算出するステップをさらに備える。
【0012】
(5)上記(4)の態様において、情報処理方法は、前記プライマリ距離及び前記第1のプライマリデータセットを要素とするプライマリベクトルと、前記セカンダリ距離及び前記第1のセカンダリデータセットを要素とするセカンダリベクトルと、を生成するステップと、前記プライマリベクトル及び前記セカンダリベクトルを出力するステップと、をさらに備える。
【0013】
(6)上記(4)又は(5)の態様において、情報処理方法は、前記プライマリ距離及び前記第1プライマリデータセットを要素とするプライマリベクトルと、前記セカンダリ距離及び前記第1セカンダリデータセットを要素とするセカンダリベクトルと、を生成するステップと、前記プライマリベクトル及び前記セカンダリベクトルを出力するステップと、をさらに備える。
【0014】
(7)この発明の一態様に係る情報処理装置は、基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得する取得部と、前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離の算出処理を実行する処理部と、前記テレメトリ値と前記第1距離とを出力する出力部とを備える。
【0015】
(8)この発明の一態様に係るプログラムは、コンピュータに、基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、前記テレメトリ値と前記第1距離とを出力するステップとを実行させる。
【0016】
(9)この発明の一態様に係る記録媒体は、コンピュータに、基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、前記監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、前記第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、前記テレメトリ値と前記第1距離とを出力するステップとを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0017】
(1)から(9)によれば、障害や不具合が発生している情報処理端末の具体的な動作環境を特定することができる。
【図面の簡単な説明】
【0018】
図1】本発明の第1実施形態における情報処理方法が使用される情報処理装置を含む情報処理システムSの構成例を示す図である。
図2】本発明の第1実施形態における情報処理装置10の機能構成図である。
図3】本実施形態に係る各装置のハードウェア構成を説明する説明図である。
図4】本発明の第1実施形態における第1のデータセット、第2のデータセット及びそれらの距離の一例を示す表である。
図5】本発明の第1実施形態における情報処理方法のシーケンスを示すフローチャートである。
図6】本発明の第1実施形態における異常な動作の環境を特定するシーケンスを示すフローチャートである。
図7】本発明の第2実施形態における第1のデータセット、第2のデータセット及びそれらの距離の一例を示す表である。
図8】本発明の第3実施形態における情報処理方法が生成する動作環境の類似度の一例である。
図9】本発明の第3実施形態における情報処理方法のシーケンスを示すフローチャートである。
図10】本発明の第3実施形態における第1のデータセット、第2のデータセット、それらの距離及び余弦値の一例を示す表である
図11】本発明の第3実施形態において異常な動作の環境を特定する際に用いるデータセットの一例である。
図12】本発明の第3実施形態における異常な動作の環境を特定するシーケンスを示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、図面を参照し、本発明の情報処理方法、情報処理装置、プログラム及び記録媒体の実施形態について説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0020】
(第1実施形態)
図1は、本発明の第1実施形態における情報処理方法が使用される情報処理装置を含む情報処理システムSの構成例を示す図である。情報処理システムSは、情報処理装置10-1~10-4を含む。情報処理システムSは、デベロッパ側に情報処理装置10-5~情報処理装置10-7及び情報処理装置10-Mを含む。情報処理システムSは、解析サイトとしての “Analytics site” を備える。“Analytics site” には情報処理装置10-Aが設置される。
【0021】
情報処理装置10-1~情報処理装置10-7、情報処理装置10-A及び情報処理装置10-Mは、例えばパーソナルコンピュータ(PC)である。情報処理装置10-1~情報処理装置10-7は、スマートフォンでもよいし、タブレットコンピュータでもよいし、ワークステーションでもよいし、サーバ装置でもよい。情報処理装置10-1~情報処理装置10-7、情報処理装置10-A及び情報処理装置10-Mを総称して情報処理装置10とも表記する。
【0022】
情報処理装置10-1~情報処理装置10-7及び情報処理装置10-Mと、解析サイトにおける情報処理装置10-Aとは、ネットワークを介して直接的又は間接的に接続される。情報処理装置10-1~情報処理装置10-4は、情報処理システムSにおいて動作状態の監視対象となる装置である。情報処理装置10-5~情報処理装置10-7は、デベロッパ側において用いられる検証用端末装置である。情報処理装置10-Mは、情報処理装置10~情報処理装置10-7の管理に用いられる。情報処理装置10-5~情報処理装置10-7は、情報処理システムSにおいて、情報処理装置10-1~情報処理装置10-4に不具合や障害が発生した際に、不具合や障害の発生原因となる動作環境を特定するために用いられる。
【0023】
解析サイトにおける情報処理装置10-Aは、情報処理装置10-1~情報処理装置10-4において取得されたテレメトリ値を集計し、デベロッパ側に配置される管理端末としての情報処理装置10-Mに送信する。テレメトリについては後述する。
【0024】
情報処理装置10には、テレメトリを実行するためのソフトウェア(テレメトリソフト)がインストールされている。情報処理装置10には、本実施形態に係る情報処理方法を実行するためのプログラム(アプリケーション)もインストールされている。本実施形態に係る情報処理方法を実行するためのプログラム(アプリケーション)を、端末環境情報取得アプリとも称する。
【0025】
テレメトリとは、情報処理装置10に含まれる構成要素の動作状態を常時、定期的又は不定期に監視する機能である。構成要素とは、情報処理装置10に含まれるハードウェア及びソフトウェアである。構成要素の例は、ハードウェアであれば、情報処理装置10そのもの、情報処理装置10を構成するCPU、メモリ、ハードディスクドライブ(Hard disc drive: HDD)、グラフィックカード及びネットワークインターフェースカード(Network interface card: NIC)である。
【0026】
構成要素の例は、ソフトウェアであれば、情報処理装置10上で動作するソフトウェア及び基本動作システム(Operating system: OS)である。
【0027】
テレメトリソフトは、インストールされた情報処理装置10の動作状態を監視し、テレメトリ値として定期的又は不定期に解析サイトの情報処理装置10-Aに、通信部15を用いて送信する。端末環境情報取得アプリは、情報処理装置10のうち、基準となる所定の端末装置に含まれる構成要素を示す情報を、第1のデータセットとして取得する。基準となる所定の端末装置を、基準端末とも称する。端末環境情報取得アプリは、動作監視対象としての情報処理装置10に含まれる構成要素を示す情報を第2のデータセットとして取得する。検証に用いる端末である検証用端末に含まれる構成要素を示す情報を、第3のデータセットと称してもよい。
【0028】
構成要素を示す情報は、例えば情報処理装置10そのものの型番、CPUの型番と、メモリの型番及び容量の少なくともいずれかと、HDDの型番及び容量の少なくともいずれかと、ビデオカードの型番と、NICの型番と、のうちの少なくともいずれかを含む。構成要素を示す情報は、情報処理装置10における所定のアプリケーションのインストールパス、OSのバージョン及び所定のアプリのバージョンの少なくともいずれかを含む。
【0029】
端末環境情報取得アプリは、第1のデータセットと第2のデータセットとの間の距離を計算する。テレメトリ値、第1のデータセット、第2のデータセット及び計算した距離は情報処理装置10-1及び情報処理装置10-4によって、解析サイトの収容器10-A及びデベロッパ側の情報処理装置10-Mの少なくともいずれかに送信される。情報処理装置10-A及び情報処理装置10-Mの少なくともいずれかは、テレメトリ値を解析し、情報処理装置10-1~情報処理装置10-4の少なくともいずれかに何らかの不具合又は障害が起こっていないかを判定する。
【0030】
情報処理装置10-1~情報処理装置10-4のいずれかに何らかの不具合又は障害が発生していることが判定されると、取得したテレメトリ値、第1のデータセット、第2のデータセット及び計算した距離に基づき、不具合又は障害が発生した情報処理装置10の構成要素と同一又は類似した構成要素を備える装置が情報処理装置10-5~情報処理装置10-7から特定される。その後、特定された情報処理装置10において、不具合又は障害の原因となる動作環境が特定される。
【0031】
図2は、本発明の第1実施形態における情報処理装置10の機能構成図である。情報処理装置10は、入力部11、処理部12、記憶部13、出力部14及び通信部15を備える。
【0032】
入力部11は、情報や命令の入力を外部から受け付ける。処理部12は、各種情報処理及び命令を実行する。記憶部13は、各種情報やデータを記憶する。出力部14は、各種情報やデータを外部に出力する。通信部15は、情報やデータを他の装置から受信し、他の装置に対して送信する。
【0033】
図3は、本実施形態に係る各装置のハードウェア構成を説明する説明図である。各装置とは、情報処理装置10-1~情報処理装置10-7、情報処理装置10-A及び情報処理装置10-Mを含む。各装置は、入出力モジュールI、記憶モジュールM、及び制御モジュールPを含んで構成される。入出力モジュールIは、通信モジュールH11、接続モジュールH12、ポインティングデバイスH21、キーボードH22、ディスプレイH23、ボタンH3、マイクH41、スピーカH42、カメラH51、又はセンサH52の一部或いは全部を含んで実現される。
【0034】
記憶モジュールMは、ドライブH7を含んで実現される。記憶モジュールMは、さらに、メモリH8の一部或いは全部を含んで構成されてもよい。制御モジュールPは、メモリH8及びプロセッサH9を含んで実現される。これらのハードウェア構成要素は、バス(Bus)を介して、相互に通信可能に接続されるとともに、電源H6から電力を供給されている。
【0035】
接続モジュールH12は、USB(Universal Seriul Bus)等のデジタル入出力ポートである。携帯機器の場合、ポインティングデバイスH21、キーボードH22、及びディスプレイH23は、タッチパネルである。センサH52は、加速度センサ、ジャイロセンサ、GPS受信モジュール、近接センサ等である。電源H6は、各装置を動かすために必要な電気を供給する電源ユニットである。携帯機器の場合、電源H6は、バッテリーである。
【0036】
ドライブH7は、ハードディスクドライブやソリッドステートドライブ等の補助記憶媒体である。ドライブH7は、EEPROMやフラッシュメモリ等の不揮発性メモリ、又は、光磁気ディスクドライブやフレキシブルディスクドライブであってもよい。また、ドライブH7は、例えば、各装置に内蔵されるものに限らず、IFモジュールH12のコネクタに接続された外付け型の記憶装置でもよい。
【0037】
メモリH8は、ランダムアクセスメモリ等の主記憶媒体である。なお、メモリH8は、キャッシュメモリであってもよい。メモリH8は、一又は複数のプロセッサH9によって命令が実行されるときに、これらの命令を格納する。プロセッサH9は、CPU(中央演算装置)である。プロセッサH9は、MPU(マイクロプロセッシングユニット)又はGPU(グラフィックスプロセッシングユニット)であってもよい。プロセッサH9は、メモリH8を介してドライブH7から、プログラム及び各種データを読み出して演算を行うことで、一又は複数のメモリH8に格納した命令を実行する。
【0038】
入出力モジュールIは、入力部11及び出力部14を実現する。記憶モジュールMは、記憶部13を実現する。通信モジュールH11は、通信部15を実現する。
【0039】
制御モジュールPは、処理部12を実現する。なお、本明細書等において、情報処理装置10との記載は、それぞれ、制御部P30、P50又はP70との記載に置き換えられてもよいし、これらの各装置との記載は、制御モジュールPとの記載に置き換えられてもよい。
【0040】
図4は、本発明の第1実施形態における、第2のデータセット及びそれらの距離の一例を示す表である。「基準端末」の列において、基準端末の構成要素を示す情報が8ビットで表されている。図4において、基準端末のCPUの機種、メモリの機種、基準端末にインストールされたOSのバージョン及び基準端末に搭載されたHDDの型番がそれぞれ「0101010101」と表現されている。これを結合した32ビットのビット列を第1のデータセットと称する。第1のデータセットを構成するビット列の長さは32ビットに限られない。
【0041】
図4において、監視対象端末の1つに含まれるCPUの機種、メモリの機種、監視対象端末1つに含まれるにインストールされたOSのバージョン及び監視対象端末1つに含まれるに搭載されたHDDの型番がそれぞれ、「10011110」、「01110110」、「10101010」及び「10101010」として表現されている。これらを結合した32ビットのビット列を第2のデータセットと称する。第2のデータセットを構成するビット列の長さは32ビットに限られない。
【0042】
なお、第1のデータセット及び第2のデータセットとして用いるための構成要素から、全てのユーザ端末環境において異なる値になるようなパラメータは排除されてもよい。例えばグローバル一意識別子(Globally unique identifier: GUID)、NICに割り振られたMACアドレス、その他、各構成要素のシリアルナンバーを示す値は、第1のデータセット及び第2のデータセットとして用いられなくてもよい。
【0043】
図4の最も下の列は、第1のデータセットと第2のデータセットとの間の距離としてのハミング距離を示す。ハミング距離は、第1のデータセット及び第2のデータセットの各位のビットの値を比較し、値が異なるビットの数を表す。2つのビット列の間の類似性を表す指標として、ハミング距離を用いることが出来る。第1のデータセットと第2のデータセットとの間の距離を第1距離とも称する。
【0044】
なお、各構成要素のビット列を結合せず、各構成要素に分けることによってビット列間のハミング距離を求めてもよい。この場合、基準端末について、CPUの機種、メモリの機種、基準端末にインストールされたOSのバージョン及び基準端末に搭載されたHDDの型番を示すビット列を、第1のプライマリデータセット、第1のセカンダリデータセット、第1のターシャリデータセット及び第1のクォータナリデータセットと称してもよい。「プライマリ」、「セカンダリ」、「ターシャリ」及び「クォータナリ」は、それぞれ「1番目の」、「2番目の」、「3番目の」及び「4番目の」ということを示す。
【0045】
同様に、検証に用いる情報処理装置10-5~情報処理装置10-7(検証端末)について、CPUの機種、メモリの機種、検証端末にインストールされたOSのバージョン及び検証端末に搭載されたHDDの型番を示すビット列をそれぞれ、第2のプライマリデータセット、第2のセカンダリデータセット、第3のターシャリデータセット及び第4のクォータナリデータセットと称してもよい。
【0046】
図5は、本発明の第1実施形態における情報処理方法のシーケンスを示すフローチャートである。
【0047】
ステップS100において、処理部12は、テレメトリソフトを記憶部13にロードする。処理部12は、入力部11を用いて、基準端末の第1のデータセットを取得する。第1のデータセットは、テレメトリソフトに事前にプリセットされていてもよい。処理部12は、通信部15を用いて、基準端末の第1のデータセットを取得してもよい。処理はステップS101に進む。
【0048】
ステップS101において、処理部12は、監視対象端末から第2のデータセットを取得する。処理はステップS102に進む。
【0049】
ステップS102において、処理部12は、監視対象端末からテレメトリ値を取得する。処理はステップS103に進む。
【0050】
ステップS103において、処理部12は、第1距離を計算する。第1距離は、第1のデータセットと第2のデータセットとの間のハミング距離でもよいし、後述するシティブロック距離(マンハッタン距離)でもよい。処理はステップS104に進む。
【0051】
ステップS104において、処理部12は、出力部14を介して、取得したテレメトリ値及び第1距離を出力する。出力部14は、これらに加えて、第1のデータセット及び第2のデータセットを出力してもよい。その後、処理は終了する。
【0052】
ステップS101-ステップS104の処理を、監視対象端末としての情報処理装置10-1~情報処理装置10-4は実施する。
【0053】
検証端末としての情報処理装置10-5~情報処理装置10-7も同様に、ステップS101-ステップS104の処理を実施する。この場合、情報処理装置10-5~情報処理装置10-7の処理部12がS101において取得するデータセットを、第2のデータセットに代えて第3のデータセットと読み替える。また、ステップS103において処理部12が計算する距離を、第1距離に代えて第3距離と読み替える。第3のデータセットがビット列によって表される場合、ビット列の長さは特定の長さに限られない。
【0054】
図6は、本発明の第1実施形態における異常な動作の環境を特定するシーケンスを示すフローチャートである。このフローチャートの各処理は、デベロッパ側における情報処理装置10-Mによって実行される。
【0055】
ステップS1100において、処理部12は、入力部11又は通信部15を用いて、情報処理装置10-1~情報処理装置10-4それぞれの第1距離及びテレメトリ値を、情報処理装置10-Aを介して取得する。第1距離及びテレメトリ値の少なくともいずれかを、入力部11又は通信部15は、情報処理装置10-1~情報処理装置10-4から取得してもよい。
【0056】
処理部12は、入力部11を用いて、第1のデータセット及び第2のデータセットを取得してもよい。第1のデータセットは、テレメトリソフトに事前にプリセットされていてもよい。処理はステップS1101に進む。
【0057】
ステップS1101において、処理部12は、入力部11又は通信部15を用いて、検証用端末から第3距離を取得する。処理部12は、第3のデータセットを取得してもよい。処理はステップS1102に進む。
【0058】
ステップS1102において、処理部12は、情報処理装置10-1~情報処理装置10-4において収集されたテレメトリ値が何らかの不具合、異常又は障害の発生を示しているか否かを判定する。収集したテレメトリ値が何らかの不具合、異常又は障害の発生を示していると処理部12が判定した場合、処理はステップS1103に進む。そうでない場合、処理は終了する。
【0059】
ステップS1103において、処理部12は、異常なテレメトリ値を示した端末の第1距離と、各検証用端末についての第3距離とを比較する。図4に示す監視対象端末についての第1のデータセットは、テレメトリ値が何らかの異常又は障害を示した監視対象端末のものであるとする。処理部12は、異常なテレメトリ値を示した端末の第1距離と同じ又は最も近い第3距離の検証用端末を特定する。各検証用端末の第3のデータセット及び第3距離は、図4に例示する通りである。この場合、監視対象端末についてハミング距離は16なので、基準端末の第1のデータセットとのハミング距離が16である検証用端末3を、処理部12は特定する。処理はステップS1104に進む。
【0060】
ステップS1104において、処理部12は、特定した検証用端末に対してテレメトリ値に基づく動作検証を実行することを命令する命令情報を生成する。処理はステップS1105に進む。
【0061】
ステップS1105において、処理部12は、通信部15を用いて、生成した命令情報を、特定した検証用端末に対して送信する。処理部12は、生成した命令情報を、出力部14を用いて出力してもよい。処理はステップS1106に進む。
【0062】
ステップS1106において、検証用端末の処理部12は、命令情報に基づいて、不具合、異常又は障害との原因となる動作環境を特定する。この処理は、デベロッパ側のエンジニアによって実行されてもよい。なお、ステップS1105及びステップS1106において、情報処理装置10-Mの処理部12は、検証用端末に通信部15を用いてリモートアクセスすることによって、不具合、異常又は障害の原因となる動作環境の特定を、生成した命令情報に基づいて実行してもよい。
【0063】
以上説明したように、本実施形態に係る情報処理方法は、基準となる端末に含まれる構成要素を示す情報を表す第1のデータセットと、監視対象端末に含まれる構成要素を示す情報を表す第2のデータセットと、監視対象端末の状態監視結果を示すテレメトリ値と、を取得するステップと、第2のデータセットと前記第1のデータセットとの間の距離である第1距離を算出するステップと、テレメトリ値と第1距離とを出力するステップとを備える。
【0064】
これにより、障害や不具合が発生している情報処理端末の具体的な動作環境を特定することができる。
【0065】
また、処理部12は、図4に示す第1のデータセット及び第2のデータセットのビット列を全て用いることなく、例えば下位の数ビットを用いなくてもよい。
【0066】
これにより、検証に用いるビット数を削減し、障害や不具合が発生している情報処理端末の具体的な動作環境を少ない情報量によって特定することができる。
【0067】
(第2実施形態)
図7は、本発明の第2実施形態における第1のデータセット、第2のデータセット及びそれらの距離の一例を示す表である。
【0068】
図7において、第1のデータセット及び第2のデータセットはそれぞれ10進数で表現されている。第2実施形態において、第1距離としてシティブロック距離を用いる。第1のデータセット及び第2のデータセットを、各構成要素を示す値を要素として持つベクトルとして表す場合、シティブロック距離において、各構成要素を示す値の差の絶対値の和を計算し、その和の合計がどれだけ離れているかによって、第1のデータセットと第2のデータセットとの類似度が評価される。
【0069】
例えば、図7において、第1のデータセットと、監視対象端末の第2のデータセットとの間のシティブロック距離は、2+6+10+5の結果として23となる。なお、図7に示す監視対象端末は、テレメトリ値が何らかの異常又は障害の発生を示す端末であるとする。
【0070】
このように、第1距離としてシティブロック距離を用い、図5及び6に記載のフローチャートに則り、情報処理装置10-1~情報処理装置10-4、情報処理装置10-5~情報処理装置10-7及び情報処理装置10-Mを用いて、障害や不具合が発生している情報処理端末の具体的な動作環境を、異なる指標の信号間距離によって特定することができる。
【0071】
(第3実施形態)
図8は、本発明の第3実施形態における情報処理方法が生成する動作環境の類似度の一例である。図8において、横軸は、基準端末の構成要素を示す値(第1のデータセット)のそれぞれを示す。縦軸は、基準端末の構成要素を示す値に対応する監視対象端末のデータセット(第2のデータセット)の距離を示す。
【0072】
例えば、図7において、CPUについては、基準端末のパラメータ値は3であり、それに対して監視対象端末のシティブロック距離は2となる。そこで、本実施形態においては、第1のデータセットと第2のデータセットとの類似度の指標として、コサイン類似度を用いる。第2のデータセットをv2とし、第1のデータセットをv1とし、データセット間の距離をdとする。本実施形態においては、距離の代わりに、dを分母とし、v1を分子とする分数を引数とするコサイン値(cos(d/v1))を用いる。
【0073】
図9は、本発明の第3実施形態における情報処理方法のシーケンスを示すフローチャートである。このフローチャートにおける各処理は、監視対象端末としての少なくとも情報処理装置10-1~情報処理装置10-4によって実行される。
【0074】
ステップS2100についてはステップS100と同様である。処理はステップS2101に進む。
【0075】
ステップS2101において、処理部12は、第1のデータセットを第1のプライマリデータセット、第1のセカンダリデータセット、第1のターシャリデータセット及び第1のクォータナリデータセットに分割する。なお、ステップS2100の段階で、これら分割されたデータセットを処理部12は取得していてもよい。処理はステップS2102に進む。
【0076】
ステップS2102において、処理部12は、監視対象端末から第2のデータセットを取得する。処理はステップS2103に進む。
【0077】
ステップS2103において、処理部12は、第2のデータセットを第2のプライマリデータセット、第2のセカンダリデータセット、第2のターシャリデータセット及び第2のクォータナリデータセットに分割する。なお、ステップS2102の段階で、これら分割されたデータセットを処理部12は取得していてもよい。処理はステップS2104に進む。
【0078】
ステップS2104において、処理部12は、監視対象端末からテレメトリ値を取得する。処理はステップS2105に進む。
【0079】
ステップS2105において、処理部12は、第2のプライマリデータセットと第1のプライマリデータセットとの間の距離としてプライマリ距離を算出する。このプライマリ距離を第1プライマリ距離とも称する。処理はステップS2106に進む。
【0080】
ステップS2106において、処理部12は、第2のセカンダリデータセットと第1のセカンダリデータセットとの間の距離としてセカンダリ距離を算出する。このセカンダリ距離を第1セカンダリ距離とも称する。処理はステップS2107に進む。
【0081】
ステップS2107において、処理部12は、第2のターシャリデータセットと第1のターシャリデータセットとの間の距離としてターシャリ距離を算出する。このターシャリ距離を第1ターシャリ距離とも称する。処理はステップS2108に進む。
【0082】
ステップS2108において、処理部12は、第2のクォータナリデータセットと第1のクォータナリデータセットとの間の距離としてこのクォータリ距離を第1クォータナリ距離とも称する。クォータナリ距離を算出する。ステップS2105-ステップS2108において、処理部12は、データセット間の距離としてハミング距離を用いてもよいし、シティブロック距離を用いてもよい。処理はステップS2109に進む。
【0083】
ステップS2109において、処理部12は、第1のプライマリデータセット(v1_p)を分母、第1プライマリ距離(d_p)を分子とする分数を引数とする余弦の値(cos(d_p/v1_p))を、プライマリ余弦値として算出する。このプライマリ余弦値を第1プライマリ余弦値とも称する。処理はステップS2110に進む。
【0084】
ステップS2110において、処理部12は、第1のセカンダリデータセット(v1_s)を分母、セカンダリ距離(d_s)を分子とする分数を引数とする余弦の値(cos(d_s/v1_s))を、セカンダリ余弦値として算出する。このセカンダリ余弦値を第1セカンダリ余弦値とも称する。処理はステップS2111に進む。
【0085】
ステップS2111において、処理部12は、第1のターシャリデータセット(v1_t)を分母、ターシャリ距離(d_t)を分子とする分数を引数とする余弦の値(cos(d_t/v1_t))を、ターシャリ余弦値として算出する。このターシャリ余弦値を第1ターシャリ余弦値とも称する。処理はステップS2112に進む。
【0086】
ステップS2112において、処理部12は、第1のクォータナリデータセット(v1_q)を分母、クォータナリ距離(d_q)を分子とする分数を引数とする余弦の値(cos(d_q/v1_q))を、クォータナリ余弦値として算出する。このクォータナリ余弦値を第1クォータナリ余弦値とも称する。処理はステップS2113に進む。
【0087】
ステップS2113において、処理部12は、第1プライマリ余弦値、第1セカンダリ余弦値、第1ターシャリ余弦値及び第1クォータナリ余弦値を出力部14又は通信部15を用いて出力する。その後、処理は終了する。
【0088】
ステップS2100からステップS2113の処理は、検証端末としての情報処理装置10-5~情報処理装置10-7によっても実行される。この場合、第1プライマリ距離~第1クォータナリ距離及び第1プライマリ余弦値~第1クォータナリ余弦値を、第3プライマリ距離~第3クォータナリ距離及び第3プライマリ余弦値~第3クォータナリ余弦値とそれぞれ読み替える。
【0089】
図10は、本発明の第3実施形態における第1のデータセット、第2のデータセット、それらの距離及び余弦値の一例を示す表である。図10に示した値は、図7に示した値に対して図9に示したフローチャートに基づいて距離及び余弦値を計算した結果の一覧である。図10では距離の計算にシティブロック距離が用いられている。類似度の指標として余弦値を用いると、探索空間を狭くできるというメリットがある。
【0090】
図11は、本発明の第3実施形態において異常な動作の環境を特定する際に用いるデータセットの一例である。図11に記載された監視対象端末は、そのテレメトリ値が、不具合又は異常な動作の発生を示しているものとする。図11の2-5行目において、図10に示したプライマリ~クォータナリ距離が、監視対象端末及び検証端末1~3について示されている。図11の6-9行目において、2-5行目に示した各距離を要素とするベクトルを、大きさ1となるように、各要素の2乗和の平方根で乗じた値が正規化ベクトルとして示されている。
【0091】
図11の10行目において、6-9行目において示した正規化ベクトルに基づき、監視対象端末と各検証端末との類似度をコサイン類似度として計算した結果が示されている。これらのコサイン類似度の計算について以下説明する。
【0092】
コサイン類似度は一般に下記数式1によって表される。
【0093】
【数1】
【0094】
ベクトルq及びdは、類似度の検証対象である2つのベクトルを示す。数式1において、最右辺は、ベクトルq及びベクトルdをそれぞれの大きさで除算し、大きさ1の単位ベクトルに正規化したうえで、各々の内積を計算することを示す。図11における6-10行目の値は上記数式1を用いて求めたものである。図11において、監視対象端末の正規化ベクトルは、基準端末の第1のデータセットと監視対象端末の第2のデータセットとの間の距離(第1プライマリ距離~第1クォータナリ距離)を、既述のように正規化したものである。
【0095】
図11において、検証端末1~3の正規化ベクトルは、基準端末の第1のデータセットと検証端末1~3の第3のデータセットとの間の距離(第3プライマリ距離~第3クォータナリ距離)を、既述のように正規化したものである。図11の最も下の行に示す類似度は、監視対象端末についての正規化ベクトルと、検証端末1~3の正規化ベクトルのいずれかとの内積を、数式1に基づき処理部12が計算したものである。図11において、内積値が1に最も近い値は0.997であり、この値は検証端末3についてである。したがって、監視対象端末と最も類似した動作環境を備えているのは検証端末3であると推定することが出来る。
【0096】
図12は、本発明の第3実施形態における異常な動作の環境を特定するシーケンスを示すフローチャートである。このフローチャートの各処理は、デベロッパ側に設置された情報処理装置10-Mによって実行される。
【0097】
ステップS3100及びステップS3101の処理は、それぞれステップS1100及びステップS1101の処理に対応する。処理はステップS3102に進む。
【0098】
ステップS3102において、処理部12は、収集したテレメトリ値が何らかの不具合、異常又は障害の発生を示しているか否かを判定する。収集したテレメトリ値が何らかの不具合、異常又は障害の発生を示していると処理部12が判定した場合、処理はステップS3103に進む。そうでない場合、処理は終了する。
【0099】
ステップS3103において、処理部12は、検証用端末のプライマリ~クォータナリ距離それぞれを要素とするベクトルの正規化ベクトルと、監視対象端末のプライマリ~クォータナリ距離それぞれを要素とするベクトルの正規化ベクトルとの間で内積値を計算し、コサイン類似度が最も高い検証端末を特定する。処理はステップS3104に進む。
【0100】
ステップS3104-ステップS3106の処理は、ステップS1104-ステップS1106の処理に対応する。その後、処理は終了する。
【0101】
以上説明したように、本実施形態に係る情報処理方法は、記第1のデータセットを少なくとも第1のプライマリデータセット及び第1のセカンダリデータセットに分類するステップと、第2のデータセットを少なくとも第2のプライマリデータセット及び第2のセカンダリデータセットに分類するステップと、をさらに備え、第1距離を算出するステップは、第2のプライマリデータセットと第1のプライマリデータセットとの間の距離としてプライマリ距離を算出し、第2のセカンダリデータセットと第1のセカンダリデータセットとの間の距離としてセカンダリ距離を算出するステップをさらに備える。
【0102】
また、本実施形態に係る情報処理方法は、プライマリ距離及び第1プライマリデータセットを要素とするプライマリベクトルと、セカンダリ距離及び第1セカンダリデータセットを要素とするセカンダリベクトルと、を生成するステップと、プライマリベクトル及びセカンダリベクトルを出力するステップと、をさらに備える。
【0103】
これにより、障害や不具合が発生している情報処理端末の具体的な動作環境を、異なる指標の信号間距離によって特定することができる。
【0104】
また、本実施形態に係る情報処理方法は、基準となる端末の販売数量が所定数以上の場合、第1のデータセットを第1のプライマリデータセット及び第1のセカンダリデータセットに分類するステップをさらに備えてもよい。
【0105】
これにより、稼働台数の多いシステムに近いほど距離(もしくは距離ベクトルの該当要素の距離)が0に近くなる。つまり、距離が大きいほど探査空間が広くなるため、監視対象端末のユーザ特定性を低下させることが可能になるので、ユーザのプライバシーに配慮することによって、テレメトリソフトの起動を無効化すること(オプトアウト)を抑制し、より多くの動作環境情報をテレメトリによって取得することができる。
【0106】
以上、この発明の一態様として各実施形態や変形例に関して図面を参照して詳述してきたが、具体的な構成は各実施形態や変形例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【0107】
例えば、上記各実施形態の一部又は全部を組み合わせることで本発明の一態様を実現してもよい。
【符号の説明】
【0108】
10…情報処理装置、11…入力部、12…処理部、13…記憶部、14…出力部、15…通信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12