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

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

▶ キンドリル・インクの特許一覧

特許7116778ユーザ・インターフェースの音発生活動の分類
<>
  • 特許-ユーザ・インターフェースの音発生活動の分類 図1
  • 特許-ユーザ・インターフェースの音発生活動の分類 図2
  • 特許-ユーザ・インターフェースの音発生活動の分類 図3
  • 特許-ユーザ・インターフェースの音発生活動の分類 図4
  • 特許-ユーザ・インターフェースの音発生活動の分類 図5
  • 特許-ユーザ・インターフェースの音発生活動の分類 図6
  • 特許-ユーザ・インターフェースの音発生活動の分類 図7
  • 特許-ユーザ・インターフェースの音発生活動の分類 図8
  • 特許-ユーザ・インターフェースの音発生活動の分類 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-02
(45)【発行日】2022-08-10
(54)【発明の名称】ユーザ・インターフェースの音発生活動の分類
(51)【国際特許分類】
   G06F 3/16 20060101AFI20220803BHJP
   G10L 25/51 20130101ALI20220803BHJP
【FI】
G06F3/16 600
G10L25/51
【請求項の数】 18
(21)【出願番号】P 2020500855
(86)(22)【出願日】2018-07-06
(65)【公表番号】
(43)【公表日】2020-08-31
(86)【国際出願番号】 IB2018055002
(87)【国際公開番号】W WO2019012395
(87)【国際公開日】2019-01-17
【審査請求日】2020-12-22
(31)【優先権主張番号】15/648,628
(32)【優先日】2017-07-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/820,823
(32)【優先日】2017-11-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】特許業務法人エム・アイ・ピー
(72)【発明者】
【氏名】アブエルサアド、テイマー
(72)【発明者】
【氏名】ボス、グレゴリー
(72)【発明者】
【氏名】ムーア、ジュニア、ジョン
(72)【発明者】
【氏名】レンダール、ランディー
【審査官】木村 慎太郎
(56)【参考文献】
【文献】米国特許第08938394(US,B1)
【文献】Andrew Kelly,Cracking Passwords using Keyboard Acoustics and Language Modeling,University of Edingburgh, (2010),英国,2010年
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/16
G10L 25/51
(57)【特許請求の範囲】
【請求項1】
プロセッサが、
キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、
前記音声入力に基づいて、キー押下のシーケンス情報とタイミング情報とを含むコンテキスト・パターンを生成することと、
前記コンテキスト・パターンを、それぞれユーザまたはユーザのグループが従事している活動の種別を規定する複数のシグネチャ・パターン種別のいずれかに属するものとして分類するために前記コンテキスト・パターンの分類を実行することと、
前記分類を実行することに基づいて出力を提供することと、
を実行する方法。
【請求項2】
前記シグネチャ・パターン種別は、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲームまたはワード・プロセッシングで特定される種別である、請求項1に記載の方法。
【請求項3】
前記シグネチャ・パターン種別は、管理者ユーザにより特定の種別の活動において使用されるものとして前記特定の種別に関連付けて指定された特定文字列によって定義された種別である、請求項1記載の方法。
【請求項4】
前記方法は、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンを前記文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、前記分類を実行することは、前記コンテキスト・パターンを前記シグネチャ・パターンと突き合わせることを含む、請求項3に記載の方法。
【請求項5】
前記出力を提供することは、外部システムに通知を提供することを含む、請求項1~請求項4のいずれか一項に記載の方法。
【請求項6】
前記出力を提供することは、ネットワーク・ハードウェア・コンポーネントを構成するための出力を提供することを含む、請求項1~請求項4のいずれか一項に記載の方法。
【請求項7】
前記出力を提供することは、コンピュータ・デバイス上でのソフトウェアのインストールを開始するための出力を提供することを含む、請求項1~請求項4のいずれか一項に記載の方法。
【請求項8】
前記方法は、前記分類を実行することの結果が分類不能であったことに応答してユーザに活動情報を入力するように促すことを含む、請求項1~請求項7のいずれか一項に記載の方法。
【請求項9】
前記取得することは、コンピュータ・デバイスから前記音声入力を取得することを含み、前記分類を実行することが前記コンテキスト・パターンを分類できなかったことに応答して、前記コンピュータ・デバイスのユーザに前記コンテキスト・パターンに関連付けられた活動を規定するラベル付け情報を入力するように促す指示が前記コンピュータ・デバイス上に提供される、請求項1~請求項のいずれか一項に記載の方法。
【請求項10】
前記方法は、管理者ユーザがトレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を実行することができるようにするユーザ・インターフェース機能を提供することと、前記トレーニング期間中に前記管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、前記管理者ユーザが、前記トレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、前記特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶された前記ラベル付け情報でラベル付けされたシグネチャ・パターンとして登録することと、入って来るコンテキスト・パターンを前記シグネチャ・パターンと突き合わせることとを含む、請求項1~請求項のいずれか一項に記載の方法。
【請求項11】
プロセッサに、請求項1~請求項10のいずれか一項に記載の方法の各ステップを実行させるための、コンピュータ・プログラム。
【請求項12】
前記取得することと、前記生成することと、前記分類を実行することとが、第1ないし第6の音声入力のそれぞれについて実行され、前記第1の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第2の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、前記第3の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、前記第4の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となり、前記第5の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、前記第6の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果が特定文字列シグネチャ・パターン種別と合致する種別となる、請求項11に記載のコンピュータ・プログラム。
【請求項13】
前記取得することと、前記生成することと、前記分類を実行することとが、第1および第2の音声入力のそれぞれについて実行され、前記第1の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第2の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、請求項11に記載のコンピュータ・プログラム。
【請求項14】
メモリと、
前記メモリと通信する少なくとも1つのプロセッサと、を含むシステムであって、
前記メモリが、請求項1~請求項1のいずれか一項に記載の方法の各ステップを前記プロセッサに実行させるためのプログラム命令を記憶する、システム。
【請求項15】
前記取得することと、前記生成することと、前記分類を実行することとが、第1ないし第6の音声入力のそれぞれについて実行され、前記第1の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第2の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、前記第3の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、前記第4の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となり、前記第5の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、前記第6の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果が特定文字列シグネチャ・パターン種別と合致する種別となる、請求項14に記載のシステム。
【請求項16】
前記取得することと、前記生成することと、前記分類を実行することとが、第1および第2の音声入力のそれぞれについて実行され、前記第1の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第2の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、請求項14に記載のシステム。
【請求項17】
請求項11~請求項13のいずれか一項に記載のコンピュータ・プログラムを記憶したコンピュータ可読記憶媒体。
【請求項18】
メモリと、
前記メモリと通信する少なくとも1つのプロセッサと、
を含むシステムであって、
前記メモリが、
キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、
前記音声入力に基づいてコンテキスト・パターンを生成することと、
前記コンテキスト・パターンを、ユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために前記コンテキスト・パターンの分類を実行することと、
前記分類を実行することに基づいて出力を提供することと
を前記プロセッサに実行させるためのプログラム命令を記憶し、
前記取得することと、前記生成することと、前記分類を実行することとが、第1および第2の音声入力のそれぞれについて実行され、前記第1の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、前記第2の音声入力に関連付けられたコンテキスト・パターンの前記分類を実行することの結果がゲーム・シグネチャ・パターン種別と合致する種別となる、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ・デバイスに関し、特に、コンピュータ・デバイスのユーザの活動の判別に関する。
【背景技術】
【0002】
コンピュータ・セキュリティ脅威という背景において、コンピュータ・キーボードからの音の発生が研究されてきた。異なるキーの打音は人間の耳には同じように聞こえるが、打音はキーごとにわずかに異なることがわかっている。PCのキーボードの音発生が研究され、処理を行ってキーボードのキー押下を区別することができることが実験によりわかっている。また、タイピング・スタイルは、トレーニング済みニューラル・ネットワークのキー押下認識能力にはほとんど影響がないことがわかっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明は、ユーザ・インターフェースの音発生活動を分類することを目的とする。
【課題を解決するための手段】
【0004】
一態様では、方法の提供によって従来技術の欠点が克服され、さらなる利点が与えられる。この方法は、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、上記音声入力に基づいてコンテキスト・パターンを生成することと、上記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために上記コンテキスト・パターンの分類を行うことと、上記分類の実行に基づいて出力を提供することとを含み得る。
【0005】
好ましくは、本発明は、上記シグネチャ・パターン種別が、ウェブ閲覧と、ソーシャル・メディアと、マス・メッセージングと、ゲームと、ワード・プロセッシングと、特定文字列とからなるグループから選択された種別である方法を提供する。
【0006】
好ましくは、本発明は、上記シグネチャ・パターン種別が特定の文字列によって定義された種別である方法を提供する。
【0007】
好ましくは、本発明は、上記方法が、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンを上記文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、上記分類の実行は、上記コンテキスト・パターンを上記シグネチャ・パターンと突き合わせることを含む方法を提供する。
【0008】
好ましくは、本発明は、上記出力を提供することが外部システムに通知を提供することを含む方法を提供する。
【0009】
好ましくは、本発明は、上記出力を提供することがネットワーク・ハードウェア・コンポーネントを構成するための出力を提供することを含む方法を提供する。
【0010】
好ましくは、本発明は、上記出力を提供することが、コンピュータ・デバイス上でのソフトウェアのインストールを開始するための出力を提供することを含む方法を提供する。
【0011】
好ましくは、本発明は、上記分類の実行の結果が分類不能となり、上記方法が上記分類不能に応答してユーザに活動情報を入力するように促すことを含む方法を提供する。
【0012】
好ましくは、本発明は、上記コンテキスト・パターンがキー押下シーケンス情報とタイミング情報とを含む方法を提供する。
【0013】
好ましくは、本発明は、上記取得がコンピュータ・デバイスから上記音声入力を取得することを含み、上記分類の実行が上記コンテキスト・パターンを分類できなかったことに応答して、上記コンピュータ・デバイスのユーザに上記コンテキスト・パターンに関連付けられた活動を規定するラベル付け情報を入力するように促す指示が上記コンピュータ・デバイス上に提供される方法を提供する。
【0014】
好ましくは、本発明は、上記方法が、管理者ユーザがトレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を実行することができるようにするユーザ・インターフェース機能を提供することと、上記トレーニング期間中に上記管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、上記管理者ユーザが、上記トレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、上記特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶された上記ラベル付け情報でラベル付けされたシグネチャ・パターンとして登録することと、入って来るコンテキスト・パターンを上記シグネチャ・パターンと突き合わせることとを含む方法を提供する。
【0015】
好ましくは、本発明は、上記シグネチャ・パターン種別がウェブ閲覧種別である方法を提供する。
【0016】
好ましくは、本発明は、上記シグネチャ・パターン種別がゲーム種別である方法を提供する。
【0017】
好ましくは、本発明は、上記シグネチャ・パターン種別がワード・プロセッシング種別である方法を提供する。
【0018】
別の態様では、コンピュータ・プログラム製品を提供することができる。コンピュータ・プログラム製品は、1つまたは複数の処理ユニットによって読み取り可能であり、方法を実行するために1つまたは複数のプロセッサによる実行のための命令を記憶するコンピュータ可読記憶媒体を含み得る。この方法は、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、上記音声入力に基づいてコンテキスト・パターンを生成することと、上記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために上記コンテキスト・パターンの分類を実行することと、上記分類の実行に基づいて出力を提供することとを含み得る。
【0019】
好ましくは、本発明は、コンピュータ・プログラム製品であって、上記取得と、上記生成と、上記分類の実行とが、第1ないし第6の音声入力のそれぞれについて実行され、上記第1の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第2の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、上記第3の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、上記第4の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となり、上記第5の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、上記第6の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果が特定文字列シグネチャ・パターン種別と合致する種別となるコンピュータ・プログラム製品を提供する。
【0020】
好ましくは、本発明は、上記取得と、上記生成と、上記分類の実行とが、第1および第2の音声入力のそれぞれについて実行され、上記第1の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第2の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となるコンピュータ・プログラム製品を提供する。
【0021】
他の態様では、システムを提供することができる。システムは、例えば、メモリを含み得る。さらに、システムは、上記メモリと通信する1つまたは複数のプロセッサを含み得る。さらに、システムは、方法を実行するために上記メモリを介して1つまたは複数のプロセッサによって実行可能なプログラム命令を含み得る。方法は、例えば、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、上記音声入力に基づいてコンテキスト・パターンを生成することと、上記コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するために上記コンテキスト・パターンの分類を実行することと、上記分類の実行に基づいて出力を提供することとを含み得る。
【0022】
好ましくは、本発明は、上記取得と、上記生成と、上記分類の実行とが、第1ないし第6の音声入力のそれぞれについて実行され、上記第1の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第2の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、上記第3の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、上記第4の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となり、上記第5の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、上記第6の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果が特定文字列シグネチャ・パターン種別と合致する種別となるシステムを提供する。
【0023】
好ましくは、本発明は、上記取得と、上記生成と、上記分類の実行とが、第1および第2の音声入力のそれぞれについて実行され、上記第1の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、上記第2の音声入力に関連付けられたコンテキスト・パターンの上記分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となるコンピュータ・プログラム製品を提供する。
【0024】
本明細書に記載の技術によりその他の特徴も実現される。方法、コンピュータ・プログラム製品、およびシステムを含むがこれらには限定されない他の実施形態および態様についても、本明細書で詳細に説明され、特許請求される本発明の一部とみなされる。
【0025】
本発明の1つまたは複数の態様について具体的に示し、本明細書の末尾の特許請求の範囲で実施例として明確に特許請求される。本発明の上記およびその他の目的、特徴および利点は、添付図面とともに以下の詳細な説明を読めば明らかである。
【図面の簡単な説明】
【0026】
図1】マネージャ・システムと1つまたは複数のコンピュータ・デバイスとを有するシステムを示す図である。
図2】一実施形態によるマネージャ・システムによる実行のための連係方法を示すフローチャートである。
図3】一実施形態によるマネージャ・システムによる実行のための方法を示すフローチャートである。
図4】一実施形態によるマネージャ・システムを有するシステムによる実行のための方法を示すフローチャートである。
図5】管理者ユーザ・コンピュータ・デバイスのディスプレイ上に表示可能な管理者ユーザ・インターフェースを示す図である。
図6】ユーザ・コンピュータ・デバイス上に配置可能なユーザ・インターフェースを示す図である。
図7】一実施形態によるコンピューティング・ノードを示す図である。
図8】一実施形態によるクラウド・コンピューティング環境を示す図である。
図9】一実施形態による抽象モデル層を示す図である。
【発明を実施するための形態】
【0027】
図1は、本明細書に記載の実施形態によるシステム100を示すブロック図である。図1の実施形態では、システム100は、ネットワーク160によって接続されたコンピュータ・ノード・ベースのデバイスなどの多くのデバイスを含むことができる。例えば、ネットワーク160は、物理ネットワークまたは仮想ネットワークとすることができる。物理ネットワークは、例えば、コンピュータ・サーバとコンピュータ・クライアントによって設けることができるものなど、多くのコンピュータ・ノードまたはシステムを接続する物理通信ネットワークとすることができる。それに対して、仮想ネットワークは、例えば、多くの物理ネットワークまたはその一部を結合して1つの論理仮想ネットワークとすることができる。別の例では、単一の物理ネットワーク上に多くの仮想ネットワークを定義することができる。
【0028】
説明のために、図1に例示の環境を示す。一実施形態では、システム100は、マネージャ・システム110を含み、関連付けられたデータ・リポジトリ112と、1つまたは複数の管理ユーザ・コンピュータ・デバイス120と、ユーザ・コンピュータ・デバイス130Aないし130Zとを有していてもよい。マネージャ・システム110とコンピュータ・デバイス130Aないし130Zとは、ネットワーク160を介して通信することができる。コンピュータ・デバイス130Aないし130Zについては、コンピュータ・デバイス130Aないし130Zは、例えばキーボードまたはポインタ・コントローラあるいはその両方を含む、コンピュータ・キー押下式ユーザ・インターフェースから発せられる音を表す音声情報を生成するように動作可能である。したがって、コンピュータ・デバイス130Aないし130Zの代表的コンピュータ・デバイスは、音声入力デバイス、例えばマイクロフォンを含むことができる。コンピュータ・デバイス130Aないし130Z、例えばコンピュータ・デバイス130Aの特定の音声入力デバイスは、コンピュータ・デバイス130Aのキー押下式ユーザ・インターフェースから発せられる音を表す音声入力、または、コンピュータ・デバイス130Aの近傍にあるコンピュータ・デバイスなどの、コンピュータ・デバイス130A以外のコンピュータ・デバイスのキー押下式ユーザ・インターフェースの音を表す音声入力、あるいはその両方を提供することができる。一実施形態では、マネージャ・システム110は、システム100の各デバイスまたは各システムの外部にあってもよい。一実施形態では、マネージャ・システム110は、システム100の1つまたは複数の他のデバイスまたはシステムと同じ場所にあってもよい。
【0029】
本明細書に記載の実施形態は、ユーザがどのような種類の活動に従事しているかを推定するために、1つまたは複数のコンピュータ・キー押下式ユーザ・インターフェースの監視と、キー押下音、例えばクリック音の記録とを提供する。本明細書に記載の「コンピュータ・キー式インターフェース」とは、キーを有するユーザ・インターフェース装置、例えば、コンピュータ・キーボードまたは、グラフィカル・ユーザ・インターフェースをナビゲートするためのポインタ・コントローラ、例えばマウス・デバイス、あるいはその両方を広く指す。本明細書において、キー押下とは、コンピュータ・キーボードのキー押下と、「マウス・クリック」などのポインタ・コントローラのクリックとを指す。コンピュータ・キー押下は、例えば、アルファベット文字キー押下、数字キー押下、記号キー押下、例えば矢印キー押下、またはスペース・バー・キー押下あるいはその組合せを含み得る。本明細書における実施形態は、キーボード・キー押下音を入力とし、タイピングしている可能性がある特定の人物のコグニティブ解析または人物が従事している活動の種類の匿名解析を出力として生成する、コグニティブ・サービスを提供することができる。提供可能な一般的種別の中には、例えば、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシング、および特定文字列がある。
【0030】
一実施形態では、キーボードを含むユーザのキー押下式ユーザ・インターフェースによって発せられる音を聴取するだけでユーザ(またはユーザの集団)がどのような種類の活動に従事しているかを判断するためにシステム100を設けることができる。個人の身元へのアクセスの必要なしに、また個人の身元を露出することなしに、群衆がどのような一般的種類の活動を行っているかを判断するためにシステム100を設けることができる。
【0031】
マネージャ・システム110は、準備および維持プロセス111、コンテキスト・パターン生成プロセス113、分類プロセス114、および機械学習プロセス115などの様々なプロセスを実行することができる。準備および維持プロセス111は、マネージャ・システム110によって実行される他のプロセス、例えばコンテキスト・パターン生成プロセス113、分類プロセス114、および機械学習プロセス115による使用のためのデータを準備し、データ・リポジトリ112内で維持することができる。準備および維持プロセス111の実行によってデータ・リポジトリ112に記憶されるデータは、様々なデータを含み得る。例えば、データ・リポジトリ112はコンテキスト・パターン領域2121にコンテキスト・パターンのレコードを記憶することができ、シグネチャ・パターン領域2122には、データ・リポジトリ112はシグネチャ・コンテキスト・パターンのレコードを記憶することができる。分類履歴領域2123には、データ・リポジトリ112は、マネージャ・システム110によって行われたパターン分離のレコードを記憶することができる。ソフトウェア領域2124には、データ・リポジトリ112は、例えば、システム100の1つまたは複数のコンピュータ・デバイスまたはシステムの機能の変更のための様々なソフトウェア・モジュールを記憶することができる。
【0032】
コンテキスト・パターン領域2121に記憶されるコンテキスト・パターンのレコードは、コンピュータ・デバイス130Aないし130Zから様々な時点で受信した音声入力を表すことができる。このようなレコードは、例えば、各コンテキスト・パターンのシリアル番号、特定の音声入力を生成している特定のコンピュータ・デバイスを識別する識別子と、例えば各音声入力の開始時刻、停止時刻および存続時間を示すタイムスタンプ情報とを含むことができる。領域2122ないし2124内のレコードも識別子とタイムスタンプ情報とを含むことができる。
【0033】
マネージャ・システム110は、コンピュータ・デバイス130Aないし130Zから受信した受信音声入力に基づいてコンテキスト・パターンを生成するために、コンテキスト・パターン生成プロセス113を実行することができる。一実施例では、コンピュータ・デバイス130Aないし130Zの各コンピュータ・デバイス、例えばコンピュータ・デバイス130Aが、例えば音声信号の形態の音声入力を提供することができ、そのような音声信号をマネージャ・システム110が受信することができる。コンピュータ・デバイス130Aないし130Zは、それぞれの音声入力デバイスを有するコンピュータ・デバイスとすることができ、PC、ラップトップ、タブレット、携帯電話、専用のプロセッサ・ベースのマイクロフォン、カムコーダ、またはこのようなデバイスの任意の組合せなどの種類のデバイスによって提供可能である。
【0034】
コンテキスト・パターン生成プロセス113を実行すると、マネージャ・システム110は、受信し、処理された音声入力に基づいてコンテキスト・パターンを決定することができる。コンテキスト・パターンは、例えば文字列情報とタイミング情報とを含み得る。分類プロセス114を実行して、マネージャ・システム110は、コンテキスト・パターン生成プロセス113を使用して生成されたコンテキスト・パターンを分類することができる。分類プロセス114を実行して、マネージャ・システム110は、生成されたコンテキスト・パターンをシグネチャ・コンテキスト・パターン種別に属するものとして分類することができる。シグネチャ・パターン種別の例としては、例えば、ウェブ閲覧シグネチャ・パターン種別、ソーシャル・メディア・シグネチャ・パターン種別、マス・メッセージング・シグネチャ・パターン種別、ゲーム・シグネチャ・パターン種別、ワード・プロセッシング・シグネチャ・パターン種別、および特定文字列シグネチャ・パターン種別がある。
【0035】
一実施形態では、マネージャ・システム110は機械学習プロセス115を実行することができる。機械学習プロセス115は、後で傾向解析で使用するために、コンテキスト・パターンおよび種別のレコードをデータ・リポジトリ112に記憶するなどの様々なバックグラウンド・プロセスを実行することができる。マネージャ・システム110は、分類プロセス114によってコンテキスト・パターンを分類することができないことに応答して機械学習プロセス115の特定のプロセスが起動されるように構成することができる。例えば、一実施形態では、マネージャ・システム110は、分類プロセス114が現在のコンテキスト・パターンの分類に成功することができないことに基づいて機械学習プロセス115の特定のプロセスを実行することができ、その結果、マネージャ・システム110は、現在の判断された分類不能コンテキスト・パターンをデータ・リポジトリ112のシグネチャ・パターン領域2122に記憶される新たなシグネチャ・パターンとして登録する。一実施形態では、現在のコンテキスト・パターンの分類不能に基づいて、マネージャ・システム110は、現在のコンテキスト・パターンの生成をトリガした特定のコンピュータ、例えばコンピュータ・デバイス130Aの表示ユーザ・インターフェースを起動することができる。表示ユーザ・インターフェースは、コンピュータ・デバイス130Aのユーザに、コンピュータ・デバイス130Aによって行われている活動に関する情報の入力を促すことができる。マネージャ・システム110は、この入力に応答して、現在のコンテキスト・パターンを、現在のコンテキスト・パターンに関連付けられた活動を規定する戻り情報によってパターンにラベル付けしてシグネチャ・パターン領域2122に記憶することができる。これにより、入力されるコンテキスト・パターンを、記憶したシグネチャ・パターンのシグネチャ・パターン種別に属するものとして分類するようにマネージャ・システム110をトレーニングすることができる。
【0036】
図2は、マネージャ・システム110によって実行可能な方法200を示すフローチャートである。ブロック210で、マネージャ・システム110は、例えば、コンテキスト・パターン領域2121、シグネチャ・パターン領域2122、分類履歴領域2123、およびソフトウェア領域2124のデータを含むデータ・リポジトリ112の様々なデータの格納、準備、または維持あるいはその組合せを行うために、準備および維持プロセス111を実行することができる。マネージャ・システム110は、ブロック212で準備および維持プロセス111が終了させられるまで、準備および維持プロセス111を実行することができる。ブロック220で、マネージャ・システム110は、音声入力から生成された、入って来るコンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類するために分類プロセス114を実行することができる。マネージャ・システム110は、ブロック222で分類プロセス114が終了させられるまで分類プロセス114を実行することができる。分類プロセス114の実行のために、コンテキスト・パターン生成プロセス113を反復的に実行することができる。
【0037】
準備および維持プロセス111の実行のために、マネージャ・システム110は、コンピュータ・デバイス130Aないし130Zから受信した音声入力を自動的に処理するように構成することができる。準備および維持プロセス111の実行のために、マネージャ・システム110は、例えばソフトウェア領域2124内のソフトウェア・モジュールの格納内容の増強のために、1つまたは複数の外部システム140からデータを自動的に受信するように構成することができる。マネージャ・システム110は、準備および維持プロセス111の実行のために、自然言語処理(NLP)プロセスを実行することができる。
【0038】
本明細書における実施形態は、コンピュータ・キー押下式ユーザ・インターフェースから発せられる記録された音に基づいてキー押下が判断されることを可能にする。判断されるキー押下は、特定の押下キーを含むことができる。本明細書における実施形態では、コンピュータ・キー押下式ユーザ・インターフェースの打音の記録が文字列または単語あるいはその組合せに変換可能である。本明細書における実施形態は、例えばニューラル・ネットワーク処理を含む、例えば機械学習処理を含み得る様々なプロセスの使用などにより、特定の音を特定のキーにマッピングすることができる。キー押下の判断には、低信頼度で判断されたキー押下を解決するために、スペルおよび文法分析を採用することができる。
【0039】
本明細書における実施形態では、キー押下分類器が、トレーニング段階でトレーニングされ、認識段階でキー押下を認識するために使用されてもよい。キー押下分類器は、ニューラル・ネットワークに基づくかまたは非ニューラル・ネットワークに基づく機械学習アルゴリズムを採用することができる。一実施形態では、キー押下分類器のトレーニングは、例えば特徴抽出、教師ありまたは教師なしキー認識、スペルおよび文法チェック、およびフィードバックに基づくトレーニングを含み得る。特徴抽出は、例えばケプストラム特徴抽出および/またはFFT特徴抽出を含み得る。キー認識は、一実施形態ではラベルなしトレーニング・データを含み得る。例えば、クラスタリング手法を使用してキー・ストロークをN個のクラスのうちの1つのクラスにクラスタ化することができ、Nはキーボードのキーの数より多い数とすることができる。クラスタリングと隠れマルコフ・モデル(HMM)を使用して条件付き分布クラスを求めることができ、予測を強化するために使用することができる。HMMアルゴリズムを使用して、キー分布およびキー-クラス間マッピング分布を推定することができる。辞書ベースのスペル訂正を文法訂正処理とともに使用することができる。精度を向上させるために、隠れマルコフ・モデルにスペルおよび文法訂正を組み込むことができる。スペル・チェックまたは文法チェック・プロセスへの依存を減らすかまたはなくすために、フィードバックに基づくトレーニング・プロセスを使用することができる。一実施形態では、前に取得した訂正済み結果に、トレーニング・サンプルとしてラベル付けし、正しい単語である可能性がより高い単語を選択するためにヒューリスティクスを使用することができる。様々な分類アルゴリズム、例えば線形分類アルゴリズムまたはガウス分類アルゴリズムあるいはその両方を使用することができる。
【0040】
図3は、一実施形態でマネージャ・システム110によって実行可能な方法300を示すフローチャートである。ブロック310で、マネージャ・システム110は、キー押下式ユーザ・インターフェースから発せられた音を表す音声入力の取得を実行することができる。ブロック310で、マネージャ・システム110は、音声入力に基づいてコンテキスト・パターンの生成を実行することができる。方法300は、ブロック330でマネージャ・システム110がコンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を実行することを含み得る。ブロック340で、マネージャ・システム110は、分類の実行に基づいて出力の提供を実行することができる。
【0041】
システム100は、ユーザまたはユーザのグループがどのような種類の活動に従事しているかを推定するために、1つまたは複数のコンピュータ・キー押下式ユーザ・インターフェースを監視し、キーボード音を含むキー押下式ユーザ・インターフェースの音を記録するように動作可能とすることができる。これらのキー押下式ユーザ・インターフェースの音響は、「ユーザ・インターフェースの言語」となり、新たなコグニティブ・インターフェースへの新たな入力を定義づける。システム100は、キー押下式ユーザ・インターフェース音(例えば新しい種類の言語)を入力とし、タイピングしている可能性のある特定の人物のコグニティブ解析、またはその人物が従事している活動の種類の匿名解析を出力として生成することができる、コグニティブ・サービスを提供することができる。導出可能な大別カテゴリの中には、ウェブ閲覧、ソーシャル・メディア・ウェブサイトの使用、ゲーム、ワード・プロセッシングなどがある。システム100は、キー押下式ユーザ・インターフェース特有の音声パターンがないか聴取するために、1個から数千個、数百万個、数十億個までの音声入力聴取装置、例えば携帯電話を備えることができる。音声パターンは、音声入力に基づいてコンテキスト・パターンを生成し、生成されたコンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類することによって聴取することができる。システム100は、音声入力のタイミング情報を解析することができる。マネージャ・システム110は、タイミング情報を監視するために、キー押下間の休止期間を表すデータを含むコンテキスト・パターンを生成することができる。システム100は、例えば、休止の前にどれだけ多くのキー入力がなされたかを監視することができ、複数の単語を結合して句とし、次にその句を探すことができる。
【0042】
システム100は、ユーザの活動を判断するために、キー押下式ユーザ・インターフェースの音に基づいてキー押下を解析し、その音をコンテキスト・パターン・データに変換することができる。システム100は、キー押下式ユーザ・インターフェースの音響パターンを使用して、活動コンテキスト(例えば、ユーザ活動の種別である、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシング、特定文字列など)を特定することができる。ユーザ活動種別のそれぞれが、データ・リポジトリ112のシグネチャ・パターン領域2122に記憶された、関連付けられた1つまたは複数のシグネチャ・パターン種別を有することができる。それぞれの異なるシグネチャ・パターン種別が、異なるユーザ活動、例えば、ウェブ閲覧、ソーシャル・メディア、マス・メッセージング、ゲーム、ワード・プロセッシング、または特定文字列あるいはその組合せを規定することができる。マネージャ・システム110は、コンピュータ・キー押下式ユーザ・インターフェースの音響パターンの解析によってコンテキスト・パターンを生成し、入力されている単語または句を特定することができる。
【0043】
図4は、マネージャ・システム110とそれに関連付けられたデータ・リポジトリ112と、コンピュータ・デバイス130Aないし130Zと、ネットワーク160のハードウェア・コンポーネント162との観点から見た、システム100の使用により実行される方法300の一例を示すフローチャートである。
【0044】
ブロック1301および2301で、コンピュータ・デバイス130Aとコンピュータ・デバイス130Zとがそれぞれ、ブロック1101およびブロック1102でマネージャ・システム110によってそれぞれ受信されるための音声入力を送信することができる。
【0045】
コンピュータ・デバイス130Aおよびコンピュータ・デバイス130Zは、異なる構成とすることができることに留意されたい。一実施形態では、例えば、ブロック1301でコンピュータ・デバイス130Aによって送信されるキー押下の音を表す音声入力が、例えばコンピュータ・キーボード、またはマウス等のポインタ・コントローラのうちの1つまたは複数を含む、コンピュータ・デバイス130Aのキー押下式ユーザ・インターフェースから発せられているキー押下の音を表す音声入力であるように特定のコンピュータ・デバイス130Aを構成することができる。一方、コンピュータ・デバイス130Zは、一実施形態では、コンピュータ・デバイス130Zの外部のコンピュータ・デバイスのキー押下式ユーザ・インターフェースから発せられる音を表す音声入力を送信するコンピュータ・デバイスとして構成することができる。
【0046】
ブロック1101および1102でデータを受信すると、マネージャ・システム110はブロック1103に進んでコンテキスト・パターン生成プロセス113を実行することができる。ブロック1103で、マネージャ・システム110は、ブロック1101またはブロック1102で受信した受信音声入力のうちの1つまたは複数の音声入力に基づいてコンテキスト・パターンを生成することができる。
【0047】
このような生成を実行するために、マネージャ・システム110は、特定の形式を有するコンテキスト・パターンを出力することができる。複数の選択可能な有効形式があってよく、または、一実施形態では単一の有効な形式が存在し得る。一実施形態によると、生成されるコンテキスト・パターンの特定の形式は、一連のキー押下を含むことができる。一連のキー押下は、例えばテキスト文字列、例えば文字、数字、または記号文字あるいはその組合せ、または追加のキー押下(例えばポインタ・デバイスのクリック、スペース・バー押下など)あるいはその組合せを含むことができる。一実施形態では、コンテキスト・パターンは(特定のまたは一般的な)一連のキー・プロセスとタイミング情報、例えばキー押下間の1組の休止のタイミング情報を規定するタイミング情報を含むことができる。本明細書における実施形態では、キー押下間の休止によって実質的な識別情報を組み込むことができる。例えば、片手キー押下(QWERTYキーボードの「E」、「R」)は、一般に、両手キー押下(「E」、「P」)よりも長い時間を要し、本明細書における実施形態は、一連のキー押下を判断する際にタイミング情報を使用することができることを認める。また、タイミング情報は、キー・シーケンスを導出するために使用された後も保持することができ、キー押下シーケンスとタイミング情報とを含むコンテキスト・パターンの一部として含めることができる。
【0048】
特定のキー押下を含むコンテキスト・パターンは、特定の文字列を含む一連のキー押下と、キー押下間の休止を表す時間の形式のタイミング情報とを含むことができる。マネージャ・システム110は、分類をキー押下シーケンス(例えば文字列を含む)またはタイミング情報あるいはその両方に基づかせることができ、一実施形態では、マネージャ・システム110によって判断された予想種別間の競合を解決するためにタイミング情報を使用することができる。ブロック1103で生成された各パターンについて、マネージャ・システム110は、生成されたコンテキスト・パターンを、受信ブロック1121でデータ・リポジトリ112が受け取るように、データ・リポジトリ112に記憶することができる。1つまたは複数のコンテキスト・パターンの生成が完了すると、マネージャ・システム110は、ブロック1104で分類プロセス114(図1)を実行することができる。コンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類する分類の実行のために、マネージャ・システム110は、現在のコンテキスト・パターンをデータ・リポジトリ112に記憶されている記憶シグネチャ・パターンと比較することができ、現在のコンテキスト・パターンと記憶シグネチャ・パターンとの突き合わせを行うことができる。突き合わせを実行するために、マネージャ・システム110は、1つまたは複数のパターン認識プロセスを採用することができ、例えば分類アルゴリズム、および/またはクラスタリング・アルゴリズム、および/または類似度値または相違度値の計算を含む方式を採用する。
【0049】
この突き合わせに基づいて、マネージャ・システム110はブロック1104で、コンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類するために、ブロック1103で生成された1つまたは複数のコンテキスト・パターンの分類を実行することができる。ブロック1104でこのような突き合わせに基づく分類を実行するために、マネージャ・システム110は、データ・リポジトリ112によって実行される照会受信および応答ブロック1122(図4)で示すようにデータ・リポジトリ112によって受け取られる複数の照会を行うことができる。
【0050】
一実施形態では、ブロック1104でマネージャ・システム110は、本明細書に記載されているような様々な代替の分類を行うことができる。候補シグネチャ・パターン種別ごとに、データ・リポジトリ112は1つまたは複数のシグネチャ・パターンを記憶することができる。マネージャ・システム110は、現在のコンテキスト・パターンを、そのコンテキスト・パターンが特定のシグネチャ・パターン種別に関連付けられた1つまたは複数のシグネチャ・パターンと合致することに基づいてそのシグネチャ・パターン種別に属するものとして分類することができる。データ・リポジトリ112に記憶されるシグネチャ・パターンは、例えばパターンのリストによって定義するか、または数学演算子および/または論理演算子を含む関数によって表すことができる。一実施形態では、突き合わせを実行するために、突き合わせは厳密な合致を要求しない合致基準に基づくことができる。突き合わせは、一実施形態では最良適合基準に基づくことができ、一実施形態では類似度および相違度の評価を含むことができる。
【0051】
マネージャ・システム110は、コンテキスト・パターン生成および分類処理を使用して、キーボード音を含むキー押下式ユーザ・インターフェース音を解析することができ、例えば以下のパターンを含むパターンを特定することができる。すなわち、ウェブ閲覧コンテキスト:「www.」+「.com」+ページ・ダウンおよびページ・アップおよびスクロールのパターン、マス・メッセージング・コンテキスト:M個の文字の後に「Enter」キー、ソーシャル・メディア・コンテキスト:「[特定ドメイン].com」または「クリック」+短い応答+「Enter」または数クリックのパターン、ゲーム・コンテキスト:上下左右の矢印キーの使用、および、ウィンドウを変えない大量のタイピングにより特徴づけられるワード・プロセッシング・コンテキストである。マネージャ・システム110は、キー押下式ユーザ・インターフェース音を解析することができ、特定の種類の活動を示すパターンを探すことができる。特定の種類の活動は、共通して繰り返される属性を有する。例えば、ウェブを閲覧しているときは、キー「www.」の後に平均して2文字ないし8文字が続き、その後に「.com」が続くのが一般的に見られるパターンであることがわかる。マネージャ・システム110がこのようなパターンを、ページ・ダウン・ボタンの周期的な打鍵(ウェブ・ページを読んでいることを示す)のような他のキーボード音とともに特定した場合、マネージャ・システム110は、そのユーザの活動コンテキストを「ウェブ閲覧」として適正に関連付けることができる。マネージャ・システム110は、コンテキスト・パターンをシグネチャ・パターン種別に属するものとして分類することができる。それぞれの異なるシグネチャ・パターン種別が異なるユーザ活動を規定し得る。ユーザ活動種別とも呼ぶことがあるシグネチャ・パターン種別の例を表1にまとめる。
【0052】
【表1】
【0053】
表1を参照すると、1つの種別は特定文字列の種別である。一実施例では、管理者ユーザが管理者ユーザ・インターフェースを使用して特定の文字列を定義することができる。例示の管理者ユーザ・インターフェースを、図5に示すようなユーザ・インターフェース1500によって示す。ユーザ・インターフェース1500は、管理者コンピュータ・デバイス、例えば図1に示すようなコンピュータ・デバイス120のディスプレイに表示することができる。管理者ユーザは、ユーザ・インターフェース1500の領域1502を使用して文字列を入力することができる。文字列は、例えば、1組のアルファベット文字、数字、記号またはスペースあるいはその組合せを含むことができる。マネージャ・システム110は、領域1502を使用して特定の文字列が入力されると、管理者ユーザが定義したその文字列を検索し、その特定の文字列に従って関連付けられたシグネチャ・パターン種別に属するものとして入来コンテキスト・パターンを分類するように構成される。本明細書では、一実施形態では、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、音声入力に基づいてコンテキスト・パターンを生成することと、コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を行うことと、分類の実行に基づいて出力を提供することとが記載されており、この方法は、管理者ユーザが文字列を入力することができるようにするユーザ・インターフェース機能を提供することと、コンテキスト・パターンをその文字列に関連付けられたシグネチャ・パターンとして登録することとを含み、分類の実行は、コンテキスト・パターンをシグネチャ・パターンと突き合わせることを含む。したがって、マネージャ・システム110は、任意の目的で管理者ユーザによって定義可能な任意の定義された特定文字列を検索するように構成することができる。定義された特定文字列は、音声入力情報以外の情報を送信しないコンピュータ・デバイスまたは1組のコンピュータ・デバイスから受信可能な1つまたは複数の音声入力を使用して検索することができる。したがって、マネージャ・システム110は、特定のユーザのコンピュータ・デバイスのネットワーク・アダプタを介してデータを受信しない場合でも特定のユーザの活動の分類を実行することができる。マネージャ・システム110が特定のユーザの活動を分類するのに、ユーザのキー押下を表す音声入力にのみに基づくか、または、そのような音声入力と、その特定のユーザによって定義され、その特定のユーザのコンピュータ・デバイスのネットワーク・アダプタを介して受信した追加のユーザ定義データとの組合せに基づくかを問わず、分類を実行するのにユーザ情報へのいかなるアクセスも露出も必要としない。一実施形態では、処理される音声入力は、1つまたは複数の外部コンピュータ・デバイス(例えば音声入力を提供する特定の1つまたは複数のコンピュータ・デバイスの外部の1つまたは複数のコンピュータ・デバイス)から発せられるキー押下式ユーザ・インターフェース音を表す音声入力を提供する特定の1つまたは複数のコンピュータ・デバイスからの音声入力を含むことができる。
【0054】
一実施形態ではマネージャ・システム110は、キー押下シーケンス情報またはタイミング情報あるいはその両方を含み得る音声入力のコンテキスト・パターンを生成することができる。表1を参照すると、マネージャ・システム110は、コンテキスト・パターンのキー押下シーケンスに基づいて、活動分類およびシグネチャ・パターン分類を実行することができる。一実施形態では、コンテキスト・パターンは、キー押下シーケンス情報とタイミング情報とを含むことができる。一実施形態では、マネージャ・システム110は、コンテキスト・パターンのタイミング情報に基づいて活動分類およびシグネチャ・パターン分類を実行することができる。例えば、マネージャ・システム110は、タイミング情報を初期分類の基礎として、または種別間の競合を解決するため、あるいはその両方のために使用することができる。一実施例によると、ウェブ閲覧種別は、キー押下間の長い(例えば閾値期間より長い)休止によって特徴づけられることができる。したがって、マネージャ・システム110は、この必要条件タイミング・パターンを有するシグネチャ・パターンと合致する特定のコンテキスト・パターンをウェブ閲覧種別に属するものとして分類することができるか、またはマネージャ・システム110がキー・シーケンスに基づいて特定のコンテキスト・パターンを、ウェブ閲覧種別、マス・メッセージング種別、特定文字列種別のいずれに属するものか解決することができず、その特定のパターンが長い休止によって特徴づけられる場合、マネージャ・システム110はウェブ閲覧種別を選択してこの競合を解決することができる。別の実施例によると、ゲーム種別は、キー押下間の短い(例えば閾値期間を下回る)休止によって特徴づけられ得る。したがって、マネージャ・システム110は、この必要条件タイミング・パターンを有するシグネチャ・パターンにする特定のコンテキスト・パターンをゲーム種別に属するものとして分類することができるか、またはマネージャ・システム110が特定のコンテキスト・パターンをキー・シーケンスに基づいて、ゲーム種別、ソーシャル・メディア種別、特定文字列のいずれに属するものか解決することができず、その特定のパターンが短い休止によって特徴づけられる場合、マネージャ・システム110はゲーム種別を選択してその競合を解決することができる。
【0055】
マネージャ・システム110は、異なる音声入力から生成された異なる入来コンテキスト・パターンを異なるように分類することができる。表1を参照すると、本明細書では、一実施形態において、キー押下式ユーザ・インターフェースから発せられる音を表す音声入力を取得することと、音声入力に基づいてコンテキスト・パターンを生成することと、コンテキスト・パターンをユーザ活動を規定するシグネチャ・パターン種別に属するものとして分類するためにコンテキスト・パターンの分類を実行することと、分類の実行に基づいて出力を提供することとが記載され、上記取得、生成、および分類の実行が第1ないし第6の音声入力のそれぞれについて行われ、第1の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がウェブ閲覧シグネチャ・パターン種別と合致する種別となり、第2の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がソーシャル・メディア・シグネチャ・パターン種別と合致する種別となり、第3の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がマス・メッセージング・シグネチャ・パターン種別と合致する種別となり、第4の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がゲーム・シグネチャ・パターン種別と合致する種別となり、第5の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果がワード・プロセッシング・シグネチャ・パターン種別と合致する種別となり、第6の音声入力に関連付けられたコンテキスト・パターンの分類の実行の結果が特定文字列シグネチャ・パターン種別と合致する種別となる。マネージャ・システム110は、任意のN組の音声入力を、M個の候補種別の任意の組に分類するように構成することができ、ここで、N≧1であり、M≧1である。候補種別は、表1で詳述されている種別のうちの1ないし6通りの種別またはその他の種別あるいはその両方を含むことができる。
【0056】
管理者ユーザは、ユーザ・インターフェース1500を使用して、様々な管理者定義シグネチャ・パターンを登録するようにマネージャ・システム110を構成することができる。管理者ユーザは、領域1506をアクティブにして、管理者ユーザがトレーニング期間中にキー押下式ユーザ・インターフェースのトレーニング使用を行うモードであって、マネージャ・システム110がそれに応答して管理者ユーザのキー押下によってトリガされたキー押下音の配列を表す音声入力を提供するモードを開始することができる。マネージャ・システム110は、それに応答して音声入力から管理者定義コンテキスト・パターンを生成することができる。領域1506がアクティブな状態で、管理者ユーザは、マネージャ・システム110によって監視可能な関連付けられたシグネチャ・パターンを有する活動種別として管理者が登録したい任意の活動を行うことができる。管理者定義コンテキスト・パターンの生成時、マネージャ・システム110はそれに応答して、管理者定義コンテキスト・パターンの活動種別を規定するラベル付け情報を入力するように管理者に促すユーザ・インターフェース・プロンプトを提示することができる。マネージャ・システム110は、管理者定義コンテキスト・パターンを、ユーザ活動種別を規定する関連付けられた管理者定義ラベル付け情報ととともに、シグネチャ・パターン領域2122にシグネチャ・パターン種別を定義するシグネチャ・パターンとして記憶することができる。マネージャ・システム110は、分類プロセス114を実行することによって、管理者ユーザによって定義された活動およびシグネチャ・パターン種別に従って入来コンテキスト・パターンの分類を行うために、入来コンテキスト・パターンをその新たに記憶されたシグネチャ・パターンと突き合わせることができる。したがって、本明細書では、管理者ユーザが、トレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースのトレーニング使用を行うことができるようにするユーザ・インターフェース機能を提供することと、トレーニング期間中に管理者ユーザ・キー押下式ユーザ・インターフェースから発せられる音を表す特定の音声入力を提供することと、管理者ユーザがトレーニング使用に関連付けられた活動を規定するラベル付け情報を入力することができるようにするユーザ・インターフェース機能を提供することと、その特定の音声入力を使用して生成されたコンテキスト・パターンを、データ・リポジトリに記憶されたラベル付け情報によってラベル付けされたシグネチャ・パターンとして登録することと、入来コンテキスト・パターンをそのシグネチャ・パターンと突き合わせることとを含む方法が記載されている。
【0057】
ブロック1105で、マネージャ・システム110は、ブロック1104で実行された分類の実行の結果に基づく出力の提供を行うことができる。出力の提供を実行するために、マネージャ・システム110は、ブロック1104での分類の実行に基づいて出力の提供を実行することができる。出力は、1つまたは複数の出力先に提供することができ、例えば出力は、ブロック1302でのコンピュータ・デバイス130Aによる受信のためにコンピュータ・デバイス130Aに提供することができ、マネージャ・システム110は、受信ブロック2302でのコンピュータ・デバイス130Zによる受信のためにブロック1106でコンピュータ・デバイス130Zに出力を提供することができる。マネージャ・システム110は、ブロック1621でのハードウェア・コンポーネント162による受信のために、ブロック1106でネットワーク160のハードウェア・コンポーネント162への出力の提供を実行することができる。
【0058】
ブロック1106で、マネージャ・システム110は、機械学習処理を実行することができる。一実施例では、マネージャ・システム110は、ブロック1106で、ブロック1104で実行された分類の結果を分類履歴領域2123に記憶することができ、それをマネージャ・システム110は後で履歴による傾向分析に使用することができる。このデータは、システム100によって定義されたコグニティブ・サービスによって使用されるコーパスの一部となる。分類履歴領域2123は、リッチ・データ、例えばコンテキストが適用される時間窓とともに導き出されるコンテキストを記憶することができる(例えば最近の20分間、コンテキスト:例えばウェブ閲覧、デバイスABCI信頼スコア:X)。ブロック1106での機械学習プロセスの実行は、データ・リポジトリ112によって実行される照会受信および応答ブロック1123(図4)で示すように、マネージャ・システム110がデータ・リポジトリ112の複数の照会を行うことを含み得る。
【0059】
一実施形態では、マネージャ・システム110は、ブロック1104でマネージャ・システム110が現在のコンテキスト・パターンを分類することができないことに基づいてトレーニング・モードに移ることができる。ある実施形態では、システム100は、オプトイン手法によって、または人間による解析によってユーザのキー押下式ユーザ・インターフェース定義入力をより正確に監視し、特徴づけるための許可を得ることができる。
【0060】
一実施形態では、分類プロセス114の実行により現在のコンテキスト・パターンを分類することができないことに応答して、マネージャ・システム110は図6に示すようなユーザ・インターフェース1600の表示を起動することができる。ユーザ・インターフェース1600は、特定のコンピュータ・デバイス、例えばコンピュータ・デバイス130Aが音声入力を提供することに応答してユーザ・コンピュータ・デバイス130Aないし130Zのディスプレイに表示することができ、その入力によるコンテキスト・パターンが分類されないことに基づいてユーザ・インターフェース1600を特定のコンピュータ・デバイス130Aに表示することができる。ユーザ・インターフェース1600は、コンピュータ・デバイス130Aのユーザに、現在の音声入力を生成している活動に関する情報を入力するように促すことができる。次に、コンピュータ・デバイス130Aは、マネージャ・システム110に、(ユーザ・インターフェース1600を使用してコンピュータ・デバイス130Aのユーザによって定義された)活動の記載を送信することができる。複数の類似した音声入力を受信した場合、マネージャ・システム110は、その複数の音声入力を提供している複数のコンピュータ・デバイス上でユーザ・インターフェース1600の表示を起動することができる。それらの異なるコンピュータ・デバイスのユーザは、領域1602を使用してそれぞれの活動の記載を送信することができる。マネージャ・システム110は、自然言語処理(NLP)を使用してラベル付け規定子を特定し、受信した活動の記載を、ユーザ活動の記載を規定する限定された数の種別に分類することができる。マネージャ・システム110は、ユーザが入力した記載を使用して共通の活動として共通して分類される、共通分類活動のコンテキスト・パターンを処理することができる。マネージャ・システム110は、この分類情報に基づいて1つまたは複数のシグネチャ・パターンを特定することができ、この処理に基づいて表1に示すように1つまたは複数の新たなシグネチャ・パターン種別を登録することができる。
【0061】
ブロック1107で、マネージャ・システム110は、ブロック1101に戻ってコンピュータ・デバイス130Aないし130Zのうちの1つまたは複数のコンピュータ・デバイスから1つまたは複数のさらなる音声入力を受信することができる。
【0062】
実施例1ないし実施例5に、システム100の様々な使用事例を示す。一実施形態では、実施例1によって示すように、システム100を法執行用途で使用することができ、ブロック1105(図4)での出力の提供は、警察システムによって提供される通知を外部システム140に出力することを含むことができる。
【0063】
実施例1
警察官が、計画された犯罪活動を突き止め、その作戦が「night eagle」というコード・ネームで呼ばれていることを知る。警察機関はマネージャ・システム110を運用し、維持することができ、管理者ユーザがユーザ・インターフェース1500を使用して「night eagle」をマネージャ・システム110によって検索される特定文字列シグネチャ・パターンとして登録することができる。周辺区域からキー押下式ユーザ・インターフェースの音響サンプルを収集するようにオプトインしているユーザを有するすべてのコンピュータ・デバイス130Aないし130Zにアラートが出される。マネージャ・システム110は、管理者ユーザが定義した特定文字列種別の記憶されている1つまたは複数のシグネチャ・パターンと合致すると判断された入来コンテキスト・パターンを分類することができる。この分類のためのシグネチャ・パターンは、キー押下シーケンス情報(例えば文字列情報を含む)とタイミング情報とを規定することができ、タイミング情報は、例えば(同じ手でタイプされたために)「N」と「i」の間には、別々の手でタイプされて、その打鍵リズムが示す文字間の時間が通常はより短い「g」と「h」の間よりも30%多くの時間がある可能性があることを含む。スペース・キーは特有の音を有することが多いため、上記の特定文字列の記憶シグネチャ・パターンは一実施形態では以下のように与えられる。
N[10]i[8]g[6]h[12]t[12][スペース]e[20]a[15]g[8]l[11]e
N[~]i[-2]g[-4]h[+2]t[+2][スペース]e[+10]a[+5]g[-2]l[+1]e
ここで、括弧内の数字はストローク間の何らかの単位時間であるか、または各文字間の相対時間である。記憶シグネチャ・パターンのキー・シーケンス情報は、例えば名前、コード・ネーム、位置座標、1つまたは複数の時間形式で表された特定時刻などを定義することができる。マネージャ・システム110は、例えば入来コンテキスト・パターンの文字列情報を含むキー・シーケンス情報または入来コンテキスト・パターンのタイミング情報あるいはその両方を使用して、音声入力を使用して生成された入来コンテキスト・パターンを記憶シグネチャ・パターンと突き合わせることができる。マネージャ・システム110は、種別を設定するため、または予測種別間の競合を解決するため、あるいはその両方のために、タイミング情報を使用することができる。例えば、マネージャ・システム110が閾値数の入来コンテキスト・パターンを定義された特定文字列シグネチャ・パターン種別に属するものとして分類することに基づいて、マネージャ・システム110は、例えば警察官と車両とを派遣するための外部システム140へのメッセージ出力と、シグネチャ・パターンと合致した関連付けられたコンテキスト・パターンを有する音声入力を提供しているコンピュータ・デバイスの位置を判断するための位置特定サービス・プロセスを開始するためのコマンド出力と、位置検出サービス・プロセスからの結果の戻りに基づく交通規制信号または道路閉鎖あるいはその両方を起動するためのマシン・プロセス・コントロールとを含む、1つまたは複数の出力を提供することができる。
[実施例1の終わり]
【0064】
一実施形態では、実施例2によって示すように、システム100をネットワーク構成用途で使用することができ、ブロック1105(図4)での出力の提供は、ネットワークのハードウェア・コンポーネントを構成するための出力を提供することを含むことができる。
【0065】
実施例2
一実施形態では、マネージャ・システム110は、例えば、ルータなどのネットワーク160のハードウェア・コンポーネント162を構成する際に使用するために、ネットワーク160の構成を決定するために分類プロセス114を実行することができる。一実施形態では、分類プロセス114は、単一のコンピュータ・デバイス、例えばコンピュータ・デバイス130Aによって提供された音声入力を処理するために実行することができ、コンピュータ・デバイス130Aは、ルータによって提供されるハードウェア・コンポーネント162を介してマネージャ・システム110と通信するローカル・エリア・ネットワーク(LAN)の環境に配置することができる。マネージャ・システム110は、ルータによって提供されるハードウェア・コンポーネント162によって提供される接続を介してコンピュータ・デバイス130Aを使用するユーザの活動を分類するために、分類プロセス114を実行することができる。マネージャ・システム110は、ユーザの活動を分類するために分類プロセス114を実行することができ、分類に基づいて、ルータによって提供されるハードウェア・コンポーネント162の構成を調整することができる。ルータは、ルータを通るトラフィックに基づいて最適化することができる代替ポート構成を備えることができる。マネージャ・システム110は、一実施形態では、コンピュータ・デバイス130Aを使用するユーザの判断された活動に基づいてハードウェア・コンポーネント162を構成するように動作可能とすることでき、例えば、第1の活動、例えばゲームが検出されたことに基づく第1のポート構成と、コンピュータ・デバイス130Aの検出された活動、例えばウェブ閲覧に基づく第2のポート構成とを備えるように、ハードウェア・コンポーネント162を構成することができる。
[実施例2の終わり]
【0066】
一実施形態では、実施例3によって示すように、システム100がネットワーク構成用途で使用され、ブロック1105(図4)での出力の提供は、ネットワークのハードウェア・コンポーネントを構成するための出力を提供することを含むことができる。
【0067】
実施例3
上記の実施形態において、複数のユーザ・コンピュータ・デバイス130Aないし130Zによって検出された活動に基づいて、ルータによって提供されるハードウェア・コンポーネント162を構成するためにマネージャ・システム110を設けることができる。特定の環境、例えばローカル環境または広域環境に、複数のコンピュータ・デバイス、例えばコンピュータ・デバイス130Aないし130Zを配置することができる。一実施形態では、コンピュータ・デバイス130Aないし130Zを、ローカル・エリア・ネットワーク(LAN)を介してマネージャ・システム110と通信するインターネット・カフェに配置することができる。コンピュータ・デバイス130Aないし130Zとマネージャ・システム110との間のトラフィックは、ルータによって提供されるハードウェア・コンポーネント162によって提供され得る。マネージャ・システム110は、コンピュータ・デバイス130Aないし130Zを使用して検出されたユーザの活動に基づいて、ルータによって提供されるハードウェア・コンポーネント162を構成するように動作可能とすることできる。コンピュータ・デバイス130Aないし130Zは、マネージャ・システム110によって受信され、コンテキスト・パターン生成プロセス113と分類プロセス114の実行によって処理される音声入力を送信することができる。マネージャ・システム110は、分類プロセス114を反復的に実行していることができ、上記の環境においてコンピュータ・デバイスを使用して実行されている活動を規定する優先リストを反復的に生成することができる。例えば、時刻1で、マネージャ・システム110は、環境内の活動の以下のような優先順位を決定することができる。
1.ゲーム、2.ソーシャル・メディア、3.マス・メッセージング
その後、時刻2で、マネージャ・システム110は、環境内の活動の以下のような優先順位を決定することができる。
1.マス・メッセージング、2.ウェブ閲覧、3.ソーシャル・メディア
マネージャ・システム110は、分類プロセス114によって提供された結果に基づいて、マネージャ・システム110によって生成された優先リストに基づいてルータによって提供されるハードウェア・コンポーネント162を反復的に構成することができる。時刻1で、マネージャ・システム110は、ルータによって提供されるハードウェア・コンポーネント162を、時刻1で決定された活動の優先順位に基づく第1のポート構成を有するように制御するように構成することができる。時刻2において、マネージャ・システム110は、ルータによって提供されるハードウェア・コンポーネント162を、時刻2において環境内のユーザの判断された活動に基づく第2のポート構成を有するように制御するように構成することができる。
[実施例3の終わり]
【0068】
一実施形態では、実施例4によって示すように、システム100をソフトウェア構成用途で使用することができ、ブロック1105(図4)での出力の提供は、コンピュータ・デバイスの機能を変更するための出力を提供することを含み得る。
【0069】
実施例4
単一のコンピュータ・デバイス、例えば130Aによって送信された音声入力を受信し、処理するためにマネージャ・システム110を設けることができる。コンピュータ・デバイス130Aのユーザは活動を行っていることができ、その活動の種別をマネージャ・システム110が分類プロセス114を実行することによって判断することができる。コンピュータ・デバイス130Aは、コンピュータ・デバイス130Aのキーボードを含むキー押下式ユーザ・インターフェースの音発生を表す音声入力情報を、処理のためにマネージャ・システム110に送信し続けていることができる。マネージャ・システム110は、コンテキスト・パターン生成プロセス113と分類プロセス114とを実行して、ユーザの現在の活動を判断することができる。分類プロセス114の実行によって行われた分類に応答して、マネージャ・システム110は、コンピュータ・デバイス130Aでのインストールのために、コンピュータ・デバイス130Aを使用しているユーザによって行われている現在の活動に応じてコンピュータ・デバイス130Aのパフォーマンスを最適化するように、データ・リポジトリ112のソフトウェア領域2124からダウンロードされる特定のソフトウェアを提示することができる。例えば、分類プロセス114の実行により現在の活動種別がワード・プロセッシングであると判断することに基づき、マネージャ・システム110はそれに応答して、判断されたワード・プロセッシング種別に従ってワード・プロセッシングの最適化のためのソフトウェアをコンピュータ・デバイス130Aにインストールするために、ソフトウェア領域2124からのダウンロードを開始することができる。このようなソフトウェアは、例えば、追加のフォントまたは追加のワード・プロセッシング機能を提供するためのソフトウェアを含み得る。分類プロセス114の実行により現在の活動種別がゲームであると判断されることに基づき、マネージャ・システム110はそれに応答して、判断されたゲーム種別に応じたゲームの最適化のためのソフトウェア、例えば追加のキーボード入力をゲーム・コントロールとして使用する、例えば追加のゲーム機能を実装するためのソフトウェアをコンピュータ・デバイス130Aにインストールするために、ソフトウェア領域2124からのダウンロードを開始することができる。
[実施例4の終わり]
【0070】
一実施形態では、実施例5によって示すように、ユーザ・インターフェース用途でシステム100を使用することができ、ブロック1105(図4)での出力の提供は、ユーザ・インターフェース機能の増強のためにコンピュータ・デバイスのユーザにリアルタイム・フィードバックを提供するための出力を提供することを含むことができる。
【0071】
実施例5
この実施例では、コンピュータ・デバイス130Aは、ライブ講堂での発表者によって使用されるコンピュータ・デバイスであり、分類プロセス114の実行によって、コンピュータ・デバイス130Aを使用する発表者に聴衆の注目度に関するリアルタイム・フィードバックを提供するように構成される。コンピュータ・デバイス130Aは、例えば、講堂において別個に投影もされる現在のスライド・プレゼンテーションのスライドを表示していることができ、分類プロセス114の結果に応答して、例えばマネージャ・システム110によってコンピュータ・デバイス130Aのディスプレイ上に表示するために送信されるテキスト・メッセージも表示することができる。記載の事例では、コンピュータ・デバイス130Aは、発表者によって使用されるコンピュータ・デバイスとすることができ、一方、コンピュータ・デバイス130Bないし130Zは、音声入力を提供することができる講堂内の他のコンピュータ・デバイスである。コンピュータ・デバイス130Bないし130Zは、コンテキスト・パターン生成プロセス113と分類プロセス114を使用するマネージャ・システム110による処理のために音声入力を提供する。記載の事例では、コンピュータ・デバイス130Bないし130Zのユーザの活動を判断するために分類プロセス114を設けることができる。より詳細には、分類プロセス114を実行するマネージャ・システム110を、プレゼンテーションに出席しているコンピュータ・デバイス130Bないし130Zのユーザが、コンピュータ・デバイス130Aを使用している発表者によって発表されているプレゼンテーションに注目しているか否かを判断するように構成することができる。例えば、コンピュータ・デバイス130Aを使用して発表されているプレゼンテーションは、プレゼンテーション中に聴衆が発表者によって見るように求められている文字列を含むかまたは文字列によって指定されているウェブサイト・ドメインを表示していることがある。コンピュータ・デバイス130Bないし130Zは、コンテキスト・パターン生成プロセス114を使用した処理のためにマネージャ・システムに音声入力を送信しており、分類プロセス114は、コンピュータ・デバイス130Aによって実行されているプレゼンテーションによって指定されたドメインを聴衆が実際に見ているか否かを判断するために使用することができる。キーボード音を含むキー押下式ユーザ・インターフェースの音を監視し、コンテキスト・パターン生成プロセス113と分類プロセス114とを使用して、マネージャ・システム110は、聴衆およびコンピュータ・デバイス130Bないし130Zのユーザが指示されたドメインを実際に見ているか否か、または反対に、聴衆が指示されたのとは異なる、例えばプレゼンテーション中に指定された指定ドメインとは異なるドメインを見ているか、またはウェブ閲覧以外の種別の活動を行っているかを判断するために、講堂においてキーボードが生成する音を監視することができる。ブロック1106で出力を提供するために、このような事例によると、マネージャ・システム110は、コンピュータ・デバイス130Aを使用しているプレゼンテーションの発表者に、プレゼンテーションに対する聴衆の注目に関する生のリアルタイム・フィードバックが与えられるように、分類プロセス114の結果に基づいてテキスト・ベースのメッセージをコンピュータ・デバイス130Aに送信することができる。例えば、マネージャ・システム110は、コンピュータ・デバイス130Aのディスプレイ上での表示のために、例えば、マネージャ・システム110が閾値数より多くの聴衆が指示されたドメインを見たと判断することに基づいて、「多くの聴衆が指定されたドメインを見た」というテキスト・ベースのメッセージ、あるいは、マネージャ・システム110が閾値未満の聴衆が指示されたドメインを見たと判断することに基づいて、「きわめて少数の聴衆が指定されたドメインを見た」というテキスト・ベースのメッセージを送信することができる。発表者は、マネージャ・システム110によって送信された指示メッセージに基づいてプレゼンテーションの進行を変更することに決めることができ、例えば指示したドメインに対する反応が少ない場合に、発表者はドメインを指定したときのプレゼンテーションのうちの前の部分に戻って、指定ドメインを見るよう求める要求を繰り返すことができる。
[実施例5の終わり]
【0072】
本明細書における特定の実施形態は、コンピュータ・デバイス130Aないし130Zのユーザの現在の活動を判断するなど、コンピュータ・ネットワークの分野で生じる問題に対処するためのコンピューティング上の利点を含む、様々な技術的コンピューティング上の利点を提供することができる。本明細書における実施形態は、ユーザの身元にアクセスせず、ユーザの身元を露出させずに、コンピュータ・ユーザの活動の分類を提供する。本明細書における実施形態は、様々な音源から音声入力を受け取り、そのような入力を、さらなるプロセスに役立ち得るコンテキスト・パターンに変換する。本明細書における実施形態は、ユーザの活動の分類のために音声入力を処理する。分類に基づく出力を提供して、様々な自動プロセス、例えばネットワーク・ハードウェア・コンポーネントの制御、ソフトウェアのダウンロードを開始する制御、ユーザ・インターフェースの制御、通知を送信するための制御を行わせることができる。機械学習プロセスを実装してもよい。例えば、一実施形態では、分類不能によって、記憶および入来コンテキスト・パターンとの比較のために分類不能パターンの新たなシグネチャ・パターンとしての登録をトリガすることができる。
【0073】
図7ないし図9に、本明細書に記載の1つまたは複数の態様による、コンピュータ・システムとクラウド・コンピューティングとを含むコンピューティングの様々な態様を示す。
【0074】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを前もって理解されたい。むしろ、本発明の実施形態は、現在知られている、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。
【0075】
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互連絡で迅速にプロビジョニングすることができ、解放することができる、構成可能コンピューティング資源(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンドのネットワーク・アクセスのためのサービス配布のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つのディプロイ・モデルとを含み得る。
【0076】
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広帯域ネットワーク・アクセス:ネットワークを介して機能が利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を介してアクセスすることができる。
資源プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について制御することができないかまたは知らないが、より高い抽象レベルの場所(例えば、国、州、またはデータセンター)を指定することが可能な場合があるという点で、位置独立感がある。
迅速な伸縮性:迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス:クラウド・システムが、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に応じて適切な何らかの抽象化レベルの計量(メータリング)機能を活用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用されたサービスの透明性をプロバイダと消費者の両方に与えることができる。
【0077】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である(例えばウェブ・ベースのEメール)。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(Platform as a Service:PaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上に、消費者作成アプリケーション、またはプロバイダによってサポートされるプログラミング言語およびツールを使用して作成された取得アプリケーションをディプロイすることである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、ディプロイされたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS):消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアをディプロイし、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システムと、ストレージと、ディプロイされたアプリケーションとを制御することができ、場合によっては選択されたネットワーク・コンポーネント(例えばホスト・ファイアウォール)の限定的な制御を行うことができる。
【0078】
ディプロイ・モデルは以下の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、ある組織のためにのみ運用される。その組織または第三者によって管理されることができ、オンプレミスまたはオフプレミスに存在可能である。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス事項)を有する特定のコミュニティをサポートする。組織または第三者によって管理されてよく、オンプレミスまたはオフプレミスに存在可能である。
パブリック・クラウド:このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、独自の実体のままであるが、データ可搬性またはアプリケーション可搬性を可能にする標準化技術または専有技術(例えば、クラウド間の負荷バランシングのためのクラウド・バースティング)によって結合された、2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の複合体である。
【0079】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0080】
次に図7を参照すると、コンピューティング・ノードの一例の概略図が示されている。コンピューティング・ノード10は、クラウド・コンピューティング・ノードとして使用するのに適合するコンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲に関するいかなる限定も示唆することを意図していない。いずれにしても、コンピューティング・ノード10は、上述の機能のいずれでも実装または実行あるいはその両方が可能である。コンピューティング・ノード10は、クラウド・コンピューティング環境におけるクラウド・コンピューティング・ノードとして実装可能であるか、またはクラウド・コンピューティング環境以外のコンピューティング環境におけるコンピューティング・ノードとして実装可能である。
【0081】
コンピューティング・ノード10には、多くの他の汎用または特殊目的コンピューティング・システム環境または構成とともに動作可能なコンピュータ・システム12がある。コンピュータ・システム12とともに使用するのに適合し得る周知のコンピュータ・システム、環境および/または構成の例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家庭用電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、上記のシステムまたはデバイスのうちのいずれかを含む分散クラウド・コンピューティング環境などがあるが、これらには限定されない。
【0082】
コンピュータ・システム12について、コンピュータ・システムによって実行されるプログラム・プロセスなどのコンピュータ・システム実行可能命令の一般的な文脈で説明している場合がある。一般には、プログラム・プロセスは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム12は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施されてもよい。分散クラウド・コンピューティング環境では、プログラム・プロセスを、メモリ・ストレージ・デバイスを含むローカルとリモートの両方のコンピュータ・システム記憶媒体に格納することができる。
【0083】
図7に示すように、コンピュータ・ノード10におけるコンピュータ・システム12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム12の構成要素は、1つまたは複数のプロセッサ16と、システム・メモリ28と、システム・メモリ28を含む様々なシステム構成要素をプロセッサ16に接続するバス18とを含み得るがこれらには限定されない。一実施形態では、コンピューティング・ノード10は、非クラウド・コンピューティング環境のコンピューティング・ノードである。一実施形態では、コンピューティング・ノード10は、図8および図9に関連して本明細書に記載されているクラウド・コンピューティング環境のコンピューティング・ノードである。
【0084】
バス18は、様々なバス・アーキテクチャのうちのいずれかのアーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィクス・ポート、およびプロセッサ・バスまたはローカル・バスを含む、数種類のバス構造のうちのいずれかの1つまたは複数に相当する。例として、そのようなアーキテクチャとしては、これらには限定されないが、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture:MCA)バス、拡張(Enhanced)ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(Video Electronics Standards Association:VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnects:PCI)バスがある。
【0085】
コンピュータ・システム12は、典型的には様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム12がアクセスすることができる任意の利用可能な媒体であってよく、揮発性媒体と不揮発性媒体の両方と、取り外し可能媒体と取り外し不能媒体とを含む。
【0086】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム12は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。一例に過ぎないが、ストレージ・システム34を、取り外し不能な不揮発性磁気媒体(図示されておらず、一般に「ハード・ドライブ」と呼ばれる)の読み書きのために設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば「フロッピィ・ディスク」)の読み書きのための磁気ディスク・ドライブと、CD-ROM、DVD-ROMまたはその他の光学媒体などの、取り外し可能な不揮発性光ディスクの読み書きのための光ディスク・ドライブとを備えることができる。そのような場合、それぞれが1つまたは複数のデータ・メディア・インターフェースによってバス18に接続することができる。以下でさらに図示し、説明するように、メモリ28は、本発明の実施形態の機能を実施するように構成された1組の(例えば少なくとも1つの)プログラム・プロセスを有する少なくとも1つのプログラム製品を含み得る。
【0087】
一例として、これには限らないが、1組の(例えば少なくとも1つの)プログラム・プロセス42を有する1つまたは複数のプログラム40のほか、オペレーティング・システムと、1つまたは複数のアプリケーション・プログラムと、その他のプログラム・プロセスと、プログラム・データとがメモリ28に記憶されてよい。プログラム・プロセス42を含む1つまたは複数のプログラム40は、一般に本明細書に記載の機能を実施することができる。一実施形態では、マネージャ・システム110は、1つまたは複数のコンピューティング・ノード10を含むことができ、図2の方法200を参照しながら説明した機能を実行するためと、図3の方法300を参照しながら説明した機能と図4のフローチャートに記載のマネージャ・システム110を参照しながら説明した機能とを実行するための、1つまたは複数のプログラム40を含むことができる。一実施形態では、1つまたは複数のユーザ・コンピュータ・デバイス130Aないし130Zが1つまたは複数のコンピューティング・ノード10を含むことができ、図4のフローチャートに記載されているように1つまたは複数のユーザ・コンピュータ・デバイス130Aないし130Zを参照しながら説明した機能を実行するための1つまたは複数のプログラム40を含むことができる。
【0088】
コンピュータ・システム12は、キーボード、例えばマウスなどのポインタ・コントローラ、ディスプレイ24など、または、ユーザがコンピュータ・システム12と対話することができるようにする1つまたは複数のデバイス、または、コンピュータ・システム12が1つまたは複数の他のコンピューティング・デバイスと通信することができるようにする任意のデバイス(例えばネットワーク・カード、モデムなど)、あるいはこれらの組合せなどの、1つまたは複数の外部デバイス14とも通信することができる。このような通信は、入出力(I/O)インターフェース22を介して行うことができる。さらに、コンピュータ・システム12は、ローカル・エリア・ネットワーク(LAN)、または汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えばインターネット)、あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図のように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム12の他の構成要素と通信する。なお、図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方もコンピュータ・システム12とともに使用することができることを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらには限定されない。ユーザ・インターフェース機能を提供するように構成可能な外部デバイス14およびディスプレイ24を有することに加え、またはそれに代えて、一実施形態におけるコンピューティング・ノード10はバス18に接続されたディスプレイ25を含むことができる。一実施形態では、ディスプレイ25は、タッチ・スクリーン・ディスプレイとして構成可能であり、ユーザ・インターフェース機能を提供するように構成可能であり、例えば仮想キーボード機能とデータ全般の入力とを容易にすることができる。一実施形態では、コンピュータ・システム12は、バス18に接続された1つまたは複数のセンサ・デバイス27も含むことができる。あるいは、1つまたは複数のセンサ・デバイス27を入出力インターフェース22を介して接続することができる。1つまたは複数のセンサ・デバイス27は、一実施形態では、グローバル・ポジショニング・センサ(GPS)デバイスを含むことができ、コンピューティング・ノード10の位置を提供するように構成可能である。これに代えて、またはこれに加えて、一実施形態では1つまたは複数のセンサ・デバイス27は、例えばカメラ、ジャイロスコープ、温度センサ、湿度センサ、心拍センサ、血圧(bp)センサ、または音声入力デバイスのうちの1つまたは複数を含むことができる。そのような音声入力デバイスは、コンピュータ・デバイス12、またはコンピュータ・デバイス12の外部のコンピュータ・デバイスあるいはその両方のキー押下式ユーザ・インターフェースから発せられる音を表す音声入力を提供するために使用することができる。コンピュータ・システム12は、1つまたは複数のネットワーク・アダプタ20を含むことができる。一実施形態では、キー押下式ユーザ・インターフェースはキーボードとポインタ・コントローラとを含むことができる。図8では、コンピューティング・ノード10はクラウド・コンピューティング環境で実装されているものとして記載されており、したがって、図8の文脈ではクラウド・コンピューティング・ノードと呼ぶ。
【0089】
図8を参照すると、例示のクラウド・コンピューティング環境50が図示されている。図のように、クラウド・コンピューティング環境50は、例えばパーソナル・デジタル・アシスタント(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10が互いに通信してもよい。これらは、上述のプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの1つまたは複数のネットワークにおいて物理的または仮想的にグループ化(図示せず)されてもよい。これによって、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。なお、図8に示すコンピューティング・デバイス54Aないし54Nの種類は、例示のみを意図したものであり、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、(例えばウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワーク・アドレス指定可能接続あるいはその組合せを介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【0090】
次に、図9を参照すると、クラウド・コンピューティング環境50(図8)によって提供される1組の機能抽象化層が示されている。なお、図9に示す構成要素、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
【0091】
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、縮小命令セットコンピュータ(Reduced Instruction Set Computer:RISC)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、およびネットワークおよびネットワーキング・コンポーネント66がある。実施形態によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0092】
仮想化層70は、以下のような仮想実体の例を与えることができる抽象化層を提供する。すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、および仮想クライアント75である。
【0093】
一実施形態では管理層80は、以下に記載の機能を提供することができる。資源プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシング82は、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一実施形態ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータル83は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。サービス・レベル・アグリーメント(Service Level Agreement:SLA)計画および履行85は、SLAに従って将来の要求が予想されるクラウド・コンピューティング資源のための事前取り決めおよび調達を行う。
【0094】
ワークロード層90は、クラウド・コンピューティング環境をそのために利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、および本明細書に記載の音声入力の処理に基づく活動分類のための処理構成要素96がある。処理構成要素96は、図7に記載の1つまたは複数のプログラム40の使用により実装可能である。
【0095】
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0096】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適合する組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものが含まれる。すなわち、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適合する組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(例えば光ファイバ・ケーブルを通る光パルス)、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【0097】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含んでよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【0098】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語、または同様のプログラム言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は外部コンピュータ(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)に対して行ってもよい。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0099】
本発明の態様について、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら本明細書で説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることはわかるであろう。
【0100】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作を実装する手段を形成するようなマシンを実現するために、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給することができる。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラマブル・データ処理装置、またはその他の装置あるいはこれらの組合せに対して特定の方式で機能するように指示することができるコンピュータ可読媒体に記憶することもできる。
【0101】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方のブロックで規定されている機能/動作を実装するように、コンピュータ実装プロセスを実現するためにコンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップが実行されるようにするために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされてもよい。
【0102】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。他の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装可能であるか、または特殊目的ハードウェアとコンピュータ命令との組合せを実施することができることもわかるであろう。
【0103】
本明細書で使用されている用語は、特定の実施形態を説明することのみを目的としたものであり、限定的であることを意図したものではない。本明細書で使用されている単数形の「a」、「an」および「the」は、文脈が明確に他の解釈を示していない限り複数形も含むことを意図している。また、「含んでいる(comprise)」(および「含んでいる(comprises)」および「含む(comprising)」などのcompriseの任意の語形)、「有している(have)」(および「有している(has)」および「有する(having)」などのhaveの任意の語形)、「含んでいる(include)」(および「含んでいる(includes)」および「含む(including)」などのincludeの任意の語形)、および「含んでいる(contain)」(および「含んでいる(contains)」および「含む(containing)」などのcontainの任意の語形)は、オープンエンドな連結動詞であることはわかるであろう。その結果、1つまたは複数のステップまたは要素を「含んでいる(comprises)」、「有している(has)」、「含んでいる(includes)」または「含んでいる(contains)」方法またはデバイスは、それらの1つまたは複数のステップまたは要素を保有しているが、それらの1つまたは複数のステップまたは要素のみを保有していることには限定されない。同様に、1つまたは複数の特徴を「含んでいる(comprises)」、「有している(has)」、「含んでいる(includes)」または「含んでいる(contains)」方法のステップまたはデバイスの要素は、それらの1つまたは複数の特徴を保有しているが、それらの1つまたは複数の特徴を保有していることには限定されない。本明細書の「基づく」という用語の形態は、要素が部分的に基づく関係と、要素が完全に基づく関係とを包含する。特定の数の要素を有しているものとして記載されている方法、製品およびシステムは、その特定の数より少ないかまたは多い数の要素を備えて実施することもできる。また、特定の方式で構成されたデバイスまたは構造は、少なくともその方式で構成されるが、記載されていない方式でも構成可能である。
【0104】
以下の特許請求の範囲のすべての手段またはステップと機能要素の、対応する構造、材料、動作および均等物は、もしある場合、具体的に特許請求されている他の特許請求対象要素と組み合わせて機能を実行するための任意の構造、材料または動作を含むことを意図している。本明細書に記載の説明は、例示および説明を目的として示したものであり、網羅的であること、または、開示されている形態に限定されることを意図したものではない。本開示の範囲および思想から逸脱することなく、当業者には多くの修正および変形が明らかであろう。実施形態は、本明細書に記載の1つまたは複数の態様の原理と実際の適用とを最もよく説明するためと、当業者が、企図された特定の用途に適合するように様々な修正を加えた様々な実施形態のために本明細書に記載の1つまたは複数の態様を理解することができるようにするために選択し、説明した。
図1
図2
図3
図4
図5
図6
図7
図8
図9