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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7663293タッチスクリーンのエラーを自動的に補正すること
<>
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図1
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図2
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図3
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図4
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図5
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図6A
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図6B
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図6C
  • 特許-タッチスクリーンのエラーを自動的に補正すること 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-08
(45)【発行日】2025-04-16
(54)【発明の名称】タッチスクリーンのエラーを自動的に補正すること
(51)【国際特許分類】
   G06F 3/041 20060101AFI20250409BHJP
   G06F 3/01 20060101ALI20250409BHJP
【FI】
G06F3/041 520
G06F3/01 510
【請求項の数】 20
(21)【出願番号】P 2022573659
(86)(22)【出願日】2021-05-18
(65)【公表番号】
(43)【公表日】2023-07-03
(86)【国際出願番号】 IB2021054237
(87)【国際公開番号】W WO2021245490
(87)【国際公開日】2021-12-09
【審査請求日】2023-10-26
(31)【優先権主張番号】16/894,616
(32)【優先日】2020-06-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ロザティ,レオナルド
(72)【発明者】
【氏名】ラッフォ,ロベルト
(72)【発明者】
【氏名】ギドッティ,アリス
(72)【発明者】
【氏名】セリ,ファビオ
【審査官】槙 俊秋
(56)【参考文献】
【文献】米国特許出願公開第2017/0364207(US,A1)
【文献】特開2017-199345(JP,A)
【文献】韓国公開特許第10-2015-0130819(KR,A)
【文献】米国特許出願公開第2017/0228095(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01- 3/04895
B60K 35/00- 37/20
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
1または複数のローカル・デバイスを発見する動作と、
ユーザがグローバル・デバイスのグローバル・タッチスクリーンにタッチす第1の位置入力を受け取る動作であって、前記第1の位置入力は、前記グローバル・タッチスクリーンの表示面に相対する位置であり、かつ、ユーザマークを示す情報を含む、前記受け取る動作と、
前記1または複数のローカル・デバイスのうちの前記ユーザマークに関連付けられるローカル・デバイスを識別する動作と、
識別された前記ローカル・デバイスの動きとは異なるグローバル・デバイスの動きを決定する動作と、
識別された前記ローカル・デバイスが、モーション・センサを有するとして、識別された前記ローカル・デバイスの前記モーション・センサからの動き情報を取得する動作と、
前記動き情報に基づいて前記第1の位置入力を第2の位置入力に補正する動作と、
前記第2の位置入力に基づいて、前記グローバル・デバイスでの動作を実行する動作と
を含む、コンピュータ実装方法。
【請求項2】
前記複数のローカル・デバイスの各ローカル・デバイスからユーザマークを受信する動作と、
前記複数のローカル・デバイスの各ローカル・デバイスについて前記ユーザマークを格納する動作と
を含み、前記第1の位置入力にかかる前記ユーザマークは、前記複数のローカル・デバイスのひとつについて格納されたユーザマークに一致する、請求項1に記載のコンピュータ実装方法
【請求項3】
前記ローカル・デバイスは前記グローバル・デバイスからリモートである、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記1または複数のローカル・デバイスを前記グローバル・デバイスに登録する動
を含む、請求項1~3のいずれか1項に記載のコンピュータ実装方法。
【請求項5】
前記ユーザマークは、指紋を含む、請求項1~4のいずれか1項に記載のコンピュータ実装方法。
【請求項6】
前記動き情報は、加速度を含む、請求項1~5のいずれか1項に記載のコンピュータ実装方法。
【請求項7】
前記グローバル・タッチスクリーンは、移動車両または航空機のユーザインタフェース・デバイスを含む、請求項1~6のいずれか1項に記載のコンピュータ実装方法。
【請求項8】
コンピュータ・プログラムであって、コンピュータに、
1または複数のローカル・デバイスを発見する動作と、
ユーザグローバル・デバイスのグローバル・タッチスクリーンにタッチす第1の位置入力を受け取る動作であって、前記第1の位置入力は、前記グローバル・タッチスクリーンの表示面に相対する位置であり、かつ、ユーザマークを示す情報を含む、前記受け取る動作と、
前記1または複数のローカル・デバイスのうちの前記ユーザマークに関連付けられるローカル・デバイスを識別する動作と、
識別された前記ローカル・デバイスの動きとは異なるグローバル・デバイスの動きを決定する動作と、
識別された前記ローカル・デバイスが、モーション・センサを有するとして、識別された前記ローカル・デバイスの前記モーション・センサからの動き情報を取得する動作と、
前記動き情報に基づいて前記第1の位置入力を第2の位置入力に補正する動作と、
前記第2の位置入力に基づいて、前記グローバル・デバイスでの動作を実行する動作と
を実行させるためのコンピュータ・プログラム。
【請求項9】
前記コンピュータに、
前記複数のローカル・デバイスの各ローカル・デバイスからユーザマークを受信する動作と、
前記複数のローカル・デバイスの各ローカル・デバイスについて前記ユーザマークを格納する動作と
をさらに実行させ、前記第1の位置入力にかかる前記ユーザマークは、前記複数のローカル・デバイスのひとつについて格納されたユーザマークに一致する、請求項8に記載のコンピュータ・プログラム。
【請求項10】
前記ローカル・デバイスは、前記グローバル・デバイスからリモートである、請求項8または9に記載のコンピュータ・プログラム。
【請求項11】
前記コンピュータに、
前記1または複数のローカル・デバイスを前記グローバル・デバイスに登録する動
をさらに実行させる、請求項8~10のいずれか1項に記載のコンピュータ・プログラム。
【請求項12】
前記ユーザマークは、指紋を含む、請求項8~11のいずれか1項に記載のコンピュータ・プログラム。
【請求項13】
前記動き情報は、加速度を含む、請求項8~12のいずれか1項に記載のコンピュータ・プログラム。
【請求項14】
前記グローバル・タッチスクリーンは、移動車両または航空機のユーザインタフェース・デバイスを含む、請求項8~13のいずれか1項に記載のコンピュータ・プログラム。
【請求項15】
コンピュータ・システムであって、
1または複数のプロセッサと、
1または複数のコンピュータ可読メモリと、
1または複数のコンピュータ可読有形ストレージ・デバイスと、
前記1または複数のコンピュータ可読メモリの少なくとも1つを介して前記1または複数のプロセッサの少なくとも1つによる実行のために、前記1または複数のコンピュータ可読有形ストレージ・デバイスの少なくとも1つに格納されて、動作を実行するプログラム命令と
を含み、前記動作は、
1または複数のローカル・デバイスを発見する動作と、
ユーザがグローバル・デバイスのグローバル・タッチスクリーンにタッチす第1の位置入力を受け取る動作であって、前記第1の位置入力は、前記グローバル・タッチスクリーンの表示面に相対する位置であり、かつ、ユーザマークを示す情報を含む、前記受け取る動作と、
前記1または複数のローカル・デバイスのうちの前記ユーザマークに関連付けられるローカル・デバイスを識別する動作と、
識別された前記ローカル・デバイスの動きとは異なるグローバル・デバイスの動きを決定する動作と、
識別された前記ローカル・デバイスが、モーション・センサを有するとして、識別された前記ローカル・デバイスの前記モーション・センサからの動き情報を取得する動作と、
前記動き情報に基づいて前記第1の位置入力を第2の位置入力に補正する動作と、
前記第2の位置入力に基づいて、前記グローバル・デバイスでの動作を実行する動作と
を含む、コンピュータ・システム。
【請求項16】
前記複数のローカル・デバイスの各ローカル・デバイスからユーザマークを受信する動作と、
前記複数のローカル・デバイスの各ローカル・デバイスについて前記ユーザマークを格納する動作と
を含む、前記第1の位置入力にかかるユーザマークは、格納された前記複数のローカル・デバイスいずれかについて格納されたユーザマークに一致する、請求項15に記載のコンピュータ・システム。
【請求項17】
前記ローカル・デバイスは前記グローバル・デバイスからリモートである、請求項15または16に記載のコンピュータ・システム。
【請求項18】
前記1または複数のローカル・デバイスを前記グローバル・デバイスに登録する動
を含む、請求項15~17のいずれか1項に記載のコンピュータ・システム。
【請求項19】
前記ユーザマークは、指紋を含む、請求項15~18のいずれか1項に記載のコンピュータ・システム。
【請求項20】
前記動き情報は、加速度を含む、請求項15~19のいずれか1項に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、タッチスクリーンのエラーを自動的に補正することに関する。より具体的には、本発明の実施形態は、外部または非着用の情報源を介してデバイスのタッチスクリーンのエラーを自動的に補正することに関する。
【背景技術】
【0002】
デバイスのタッチスクリーンを使用する場合に誤ったタイピングを検出し、補正するための戦略およびシステムがある。いくつかの戦略は、人間の挙動、および、タッチスクリーン、特にそのキーボードとの一般的な相互作用に基づき、一方で、他の戦略は、モーションセンサ(例えば、加速度計)に基づく。
【0003】
これらの戦略は、タッチスクリーンを露出させているデバイス内のモーションセンサを活用することによって、状況的な障害を検出する際に有用である。これらの戦略は、指とタッチスクリーンとの相対的な動きが同一であるとの仮定に基づくものであり、歩行による振動もしくは注意力の欠如またはこれらの両方に起因するエラーを、デバイスの内部モーションセンサによって補正し得るようにする。
【0004】
例えば、人がタッチパネル付きのスマートフォンを保持して歩いている。スマートフォン内部のモーションセンサは、スマートフォンと人とが1つの一意の剛体であると仮定して人の加速度を計測する。よって、タッチスクリーン上の指の相対的なデルタ運動を引き起こす慣性は、スマートフォンのモーションセンサによって測定される加速度に比例する。
【発明の概要】
【0005】
ある実施形態によれば、タッチスクリーンのエラーを自動的に補正するためのコンピュータ実装方法が提供される。コンピュータ実装方法は、動作を含む。第1の位置入力が、グローバル・デバイスのグローバル・タッチスクリーンにタッチするユーザから受け取られ、ここで、第1の位置入力は、グローバル・タッチスクリーンの表示面に相対する位置である。グローバル・デバイスの動きがローカル・デバイスの動きとは異なることが決定される。ローカル・デバイスの動き情報が検索される。動き情報に基づいて第1の位置入力が第2の位置入力に補正される。第2の位置入力に応答して、動作が実行される。
【0006】
他の実施形態によれば、タッチスクリーンのエラーを自動的に補正するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、そこに具現化されたプログラムコードを有するコンピュータ可読ストレージ媒体を含み、プログラムコードは、少なくとも1つのプロセッサによって実行可能であり、動作を実行する。第1の位置入力がグローバル・デバイスのグローバル・タッチスクリーンにタッチするユーザから受け取られ、ここで、第1の位置入力は、グローバル・タッチスクリーンの表示面に相対する位置である。グローバル・デバイスの動きがローカル・デバイスの動きとは異なることが決定される。ローカル・デバイスの動き情報が検索される。動き情報に基づいて第1の位置入力が第2の位置入力に補正される。第2の位置入力に応答して、動作が実行される。
【0007】
さらに他の実施形態によれば、タッチスクリーンのエラーを自動的に補正するためのコンピュータ・システムが提供される。コンピュータ・システムは、1または複数のプロセッサと、1または複数のコンピュータ可読メモリと、1または複数のコンピュータ可読有形ストレージ・デバイスと、1または複数のコンピュータ・メモリの少なくとも1つを介して1または複数のプロセッサの少なくとも1つによる実行のために、1または複数のコンピュータ可読有形ストレージ・デバイスの少なくとも1つに格納されて動作を実行するプログラム命令とを含む。第1の位置入力がグローバル・デバイスのグローバル・タッチスクリーンにタッチするユーザから受け取られ、ここで、第1の位置入力は、グローバル・タッチスクリーンの表示面に相対する位置である。グローバル・デバイスの動きがローカル・デバイスの動きとは異なることが決定される。ローカル・デバイスの動き情報が検索される。動き情報に基づいて第1の位置入力が第2の位置入力に補正される。第2の位置入力に応答して、動作が実行される。
【0008】
以下、全体を通して同様の参照番号が対応する部分を表す図面を参照する。
【図面の簡単な説明】
【0009】
図1図1は、ある実施形態によるコンピューティング環境をブロック図で示す。
図2図2は、ある実施形態による自動車内のデバイスを示す。
図3図3は、ある実施形態による自動車内のデバイスの動きを示す図である。
図4図4は、ある実施形態によるグローバル・デバイスおよびローカル・デバイスを示す。
図5図5は、ある実施形態によるデバイス登録のための動作をフローチャートで示す。
図6A図6Aは、ある実施形態による登録、監視および補正を示す。
図6B図6Bは、ある実施形態による登録、監視および補正を示す。
図6C図6Cは、ある実施形態による登録、監視および補正を示す。
図7図7は、ある実施形態によるコンピューティング環境を示す。
【発明を実施するための形態】
【0010】
本発明の種々の実施形態の説明は、例示のために提示されたが、網羅的であることあるいは開示される実施形態に限定することを意図するものではない。当業者には、開示される実施形態の範囲および精神から逸脱することなく、多数の修正および変形が明らかであろう。本明細書において使用される用語は、実施形態の原理、実際的な応用、市場に見られる技術に対する技術的改善を説明するために、または、当業者が本明細書に開示された実施形態を理解することが可能となるように選択されたものである。
【0011】
実施形態は、モーションセンサ(例えば、加速度計)を有さないか、または、デバイスの内部モーションセンサがユーザの動きと直接因果関係にないデバイスのタッチスクリーン上でのタイピングのエラーを自動的に補正する。例えば、実施形態は、以下のシナリオにおいてタッチスクリーンのエラーを自動的に補正する:
タッチスクリーンとタッチスクリーンを使用するユーザとが一つの剛体ではなく、よって、ユーザの指とタッチスクリーンとの相対的な動きが同一ではない、
デバイスが、導入されたモーションセンサを有さない、
1より多いユーザが、同一のタッチスクリーンを同時に使用する可能性がある。
【0012】
図1は、ある実施形態によるコンピューティング環境をブロック図で示す。車両100は、グローバル・デバイス110と、1または複数のローカル・デバイス150a,…,150nとを含む。車両100は、自動車、電動自転車、飛行機、トラック、バイクなどであってもよい。例えば、グローバル・デバイス110は、自動車のコンソールの一部であるデバイスであってもよいし、航空機のシートバックのデバイスであってもよい。グローバル・デバイス110は、外部または非着用(グローバル・デバイス110は、ユーザ(すなわち、人)によって着用されない)のデバイスとして説明され得る。
【0013】
グローバル・デバイス110は、車両に組み込まれたデバイスであってもよく、グローバル・タッチスクリーン122が、種々のサービス(例えば、ナビゲーション、音楽、電話発信など)を選択するために使用されてもよい。グローバル・デバイス110は、データストア140に結合されるか、またはデータストア140を含む。グローバル・デバイス110は、グローバル補正エンジン120、グローバル・タッチスクリーン122を含み、および、任意選択でグローバル・モーションセンサ124を含んでもよい。よって、いくつかの実施形態においては、グローバル・デバイス110は、グローバル・モーションセンサ124を含み、他の実施形態においては、グローバル・デバイス110は、グローバル・モーションセンサ124を含まない。グローバル・タッチスクリーン122は、インタラクティブ・キーボードまたは他のユーザ・インタフェースであってもよい。
【0014】
各ローカル・デバイス150a,…,150nは、スマートフォン、ウェアラブル・デバイス(例えば、スマートウォッチ)、タブレット・コンピュータ、ラップトップ・コンピュータ、またはタッチスクリーンを有する任意の他のデバイスであってもよい。各ローカル・デバイス150a,…,150nは、ローカル補正エンジン160a,…,160n、ローカル・タッチスクリーン162a,…162n、ローカル・モーションセンサ164a,…,164n、および、ローカル・デバイスおよびユーザ情報166a,…,166nを含む。ローカル・デバイスおよびユーザ情報166a,…,166nは、ローカル・デバイス150a,…,150nに関する1または複数の属性およびローカル・デバイス150a,…,150nを使用する各ユーザおよび提供されるユーザマークについての1または複数の属性を含む。ローカル・デバイス情報は、ローカル・デバイス150a,…,150nを識別するローカル・デバイス識別子を含み、ローカル・デバイス150a,…,150nに関する他の属性(例えば、デバイスのタイプ(スマートフォンまたはスマートウォッチ)、デバイスのブランドなど)を含んでもよい。ユーザに関するユーザ情報は、ユーザ識別子(例えば、ユーザ名)、ユーザマーク(例えば、指紋、語、記号など)を含み、ユーザに関する他の属性を含んでもよい。
【0015】
データストア140は、ローカル・デバイスおよびユーザ情報166a,…,166nに対応するローカル・デバイスおよびユーザ情報142a,…,142nを含む。グローバル補正エンジン120が、ユーザマークを受信すると、グローバル補正エンジン120は、ローカル・デバイスおよびユーザ情報142a,…,142nを使用して、ユーザマークを特定し、ユーザマークを提供したユーザを識別し、そのユーザのローカル・デバイス150a,…,150nを識別する。ある実施形態においては、データストア140は、(1または複数のローカル・デバイス150a,…,150nが、グローバル・デバイス110と通信しないような設定を有することから)ローカル・デバイス150a,…,150nのサブセットについてのローカル・デバイスおよびユーザ情報142a,…,142nを含む。
【0016】
ある実施形態においては、各モーションセンサ124、164a,…,164nは、加速度計である。ある実施形態においては、デバイスの動き(例えば加速度)を提供するか、または、デバイスの動き(例えば加速度)を計算するために使用される任意のモーションセンサ124、164a,…,164nが使用されてもよい。
【0017】
グローバル補正エンジン120は、ローカル補正エンジン160a,…,160nと通信して、グローバル・タッチスクリーン122上の位置入力(location input)(例えば、位置(position))を調整する。例えば、自動車内のユーザが、「発信」ボタンを選択するためにグローバル・タッチスクリーン122上の位置X50,Y20に指を置くことを意図しているが、自動車の動きに起因して、指が誤って位置X40,Y15に置かれる場合、次いで、グローバル補正エンジン120は、グローバル・タッチスクリーン122に対する入力位置として、X50,Y20の正しい位置を特定し、いくつかの実施形態においては、ローカル補正エンジン160a,…,160nに通知して、ローカル補正エンジン160a,…,160nが位置入力に基づいてある処理を実行するためものである場合にX50,Y20の入力を受け入れる。特に、グローバル補正エンジン120は、補正をなすためにローカル・デバイス150a,…,150nのローカル・モーションセンサ164a,…,164nを活用する。
【0018】
実施形態では、グローバル補正エンジン120は、グローバル・タッチスクリーン122上でタイピングしながら自動車(すなわち、車両100の一種)の運転者によってなされたエラーを補正し、ここで、エラーは、自動車の動きが、バンプ、道路のコンディション、ブレーキング、振動などによって影響されて運転者に伝達される突然の衝撃から生じる。本実施形態では、グローバル補正エンジン120は、乱気流中にグローバル・タッチスクリーン122を使用する航空機(車両100の一種)の乗客によるエラーを補正する。これらの例においては、加速度計(モーションセンサの一種)に依存する従来の解決策は、自動車または航空機に導入されるタッチスクリーンセンサが典型的には加速度計を有していないので、うまく機能しない。
【0019】
自動車または航空機にグローバル・タッチスクリーン122とともに加速度計が導入される場合でさえも、乗客/運転者およびグローバル・タッチスクリーン122は一意の剛体ではない。代わりに、(自動車または飛行機の)座席または車両内に導入されたダンパーまたはショック・アブソーバは、より複雑な物理的条件を生じさせ、ここでは、グローバル・タッチスクリーン122が、動いている可能性のあるユーザによって保持されておらず、これは、ユーザおよびグローバル・タッチスクリーン122が一意の剛体ではないことを意味する。
【0020】
本明細書の実施例は、自動車を参照し得るが、実施形態は、また、他の車両(例えば、航空機)にも適用される。
【0021】
図2は、ある実施形態による自動車内のデバイスを示す。図2において、自動車200は、グローバル補正エンジン212およびグローバル・タッチスクリーン214を有するグローバル・デバイス210(すなわち、車両デバイス)を含む。自動車は、また、2つのスマートフォン230,240(すなわち、ローカル・デバイス)を含む。運転者(一人のユーザ)は、ローカル補正エンジン232およびローカル・モーションセンサ234を有する1つのスマートフォン230を有し、乗員(別のユーザ)は、ローカル補正エンジン242およびローカル・モーションセンサ234を有する別のスマートフォン240を有する。
【0022】
自動車200が(例えば、道路におけるバンプ、道路コンディション、ブレーキング、振動などに起因して)衝撃を受けた場合、自動車のコンソールに導入されたグローバル・タッチスクリーン214の相対的な動きは、各ユーザの動きとは異なる(衝撃の一部の吸収する座席、グローバル・タッチスクリーン214からの距離、ユーザの属性などの多数の要因のため)。これは、ユーザがグローバル・タッチスクリーン214にタッチする際に、グローバル・タッチスクリーン214の動き(例えば、加速度)とユーザの動き(例えば、加速度)との差に比例したエラーにつながる。この例では、ユーザおよびグローバル・タッチスクリーン214は、一意の剛体ではなく、これは、自動車200内に存在する任意のモーションセンサ(例えば、加速度計)の(潜在的)使用を効果がないものにする。
【0023】
ユーザおよびスマートフォン230または240が1つの剛体を形成すると仮定すると、エラーは、2つのオブジェクトの動き(例えば、加速度)の差、グローバル・タッチスクリーン214(オブジェクト1)対スマートフォン230、240(オブジェクト2)に比例する。実施形態では、車両デバイスのグローバル補正エンジン212は、ローカル・モーションセンサ234,244からスマートフォン230,240の動きを取得するために、スマートフォン230,240のローカル補正エンジン232、242と通信することができる。次いで、グローバル補正エンジン212は、ユーザのスマートフォン230,240の実の動きに基づいて、グローバル・タッチスクリーン214上でのユーザの指の位置入力を調整する(ここで、ユーザの指は、スマートフォン230,240と同じ動きをするように指定される)。
【0024】
図3は、ある実施形態による自動車内のデバイスの動き(例えば、加速度)を示す。図3において、ユーザは、スマートフォン230を有し、グローバル・タッチスクリーン214を使用している。自動車200が移動しているときに道路にバンプがある場合、ユーザの座席は、より良好にバンプを吸収するために、より長い垂直方向の動き310をユーザに生じさせる。しかしながら、グローバル・タッチスクリーン214は、自動車の動きに追従し、より短い垂直方向の動き320を有する。ユーザの指の動きは、ユーザのスマートフォン230上のモーションセンサによってDp’300として測定される。グローバル・タッチスクリーン214は、スマートフォン230のモーションセンサからの測定(Dp’)を入力として使用し、グローバル・タッチスクリーン214上のユーザの指の位置入力を補正する。
【0025】
図4は、ある実施形態によるグローバル・デバイスおよびローカル・デバイスを示す。グローバル・デバイス400は、ローカル・デバイス情報およびユーザ情報を格納するためのデータベース410(すなわち、データストアの一種)に結合される。ある実施形態においては、グローバル・デバイス400のグローバル補正エンジンは、プラグインである。グローバル・デバイス400は、また、ローカル・デバイス420,430,440を認識し、通信することができる。グローバル・デバイス400は、表示面404を有するグローバル・タッチスクリーン402を有する。グローバル・デバイス400のグローバル補正エンジンは、タッチスクリーン402の表示面404に相対する位置情報を示すグローバル・タッチスクリーン402のタッチセンサからセンサ入力データを受信する。
【0026】
最初、グローバル・デバイス400のグローバル補正エンジンは、ローカル・デバイス420,430,440を発見し、登録する。グローバル・デバイス400のグローバル補正エンジンは、また、ローカル・デバイス420,430,440のローカル・タッチスクリーン上に提供されるユーザマーク(例えば、指紋、語、記号など)に基づいてローカル・デバイスをユーザに関連付ける。次いで、グローバル・デバイス400のグローバル補正エンジンは、ローカル・デバイス420,430,440のモーションセンサによって決定された動きに基づいて、グローバル・タッチスクリーン上の指の動きに補正係数を適用する。
【0027】
図5は、ある実施形態によるデバイス登録のための動作をフローチャートで示す。制御は、ブロック500で開始し、グローバル・デバイス110のグローバル補正エンジン120が、車両100内の各ローカル・デバイス150a,…,150nの各ローカル補正エンジン160a,…,160nと通信し、ローカル・デバイス情報142を要求する。ある実施形態において、デバイス情報は、デバイス識別子である。他の実施形態においては、通信用プロトコルなど他のデバイス情報が提供されてもよい。
【0028】
ブロック502においては、車両内の各ローカル・デバイス150a,…,150nのローカル補正エンジン160a,…,160nは、ローカル・デバイスおよびユーザ情報142a,…,142nをグローバル補正エンジン120に送信する。ブロック504においては、グローバル補正エンジン120は、各ローカル補正エンジン160a,…,160nからローカル・デバイスおよびユーザ情報142a,…,142nを受信する。ブロック506においては、グローバル補正エンジン120は、ローカル・デバイスおよびユーザ情報142a,…,142nをデータストア140内に格納する。
【0029】
よって、図5の処理は、グローバル・デバイス110および各ローカル・デバイス150a,…,150nを結合することを可能にする。種々の実施形態においては、それらを結合し、情報を交換するためのデバイスの識別は、異なる方法で起こってもよい。
【0030】
図6A図6Bおよび図6Cは、ある実施形態による、登録、監視および補正を示す。制御は、ブロック600から開始し、グローバル補正エンジン120が、移動車両100のグローバル・デバイス110のグローバル・タッチスクリーン122にタッチするユーザからの第1の位置入力を受け取り、ここで、位置入力は、グローバル・タッチスクリーン122の表示面に相対する位置であり、ユーザマークを示す。すなわち、ある実施形態においては、ユーザは、指を使用して、第1の位置入力の位置で指紋などのユーザマークを提供する。ブロック600の処理は、グローバル・タッチスクリーン122のタッチセンサからのセンサ入力データを受信するものとして説明されてもよく、ここで、センサ入力データは、タッチスクリーンの表示面に相対する位置入力を提供する。
【0031】
ブロック602においては、グローバル補正エンジン120は、ユーザについてのユーザマークがデータストア140に格納されているかどうかを判定する。そうであれば、処理は、ブロック604に進み、そうでなければ、処理は、(図6Cの)ブロック620に進む。
【0032】
ブロック604においては、グローバル補正エンジン120は、データストア140から、ユーザマークに関連付けられたローカル・デバイスおよびユーザ情報142a,…,142nを検索し、そのユーザのローカル・デバイス150a,…,150nを識別する。ある実施形態においては、ユーザマークは指紋であり、グローバル補正エンジン120は、ユーザの指紋を受信し、ユーザの指紋を使用してローカル・デバイス150a,…,150nを識別する。ある実施形態においては、複数のユーザが、同じグローバル・タッチスクリーン122にアクセスする可能性があり、検索されるローカル・デバイスおよびユーザ情報142a,…,142nは、そのユーザマークを受信したユーザ特有のものである。
【0033】
ブロック606においては、監視に基づいて、グローバル補正エンジン120は、グローバル・デバイス110の動きがローカル・デバイス150a,…,150nの動きとは異なると決定する。ブロック608においては、グローバル補正エンジン120は、動きに基づいて第1の位置入力を調整する必要があるか否かを判定する。そうであれば、処理は、(図6Bの)ブロック610に進み、そうでなければ、処理は、(図6Aの)ブロック600に続く。
【0034】
エラーを補正するかどうかを判定する場合、グローバル補正エンジン120は、動き情報を提供するローカル・デバイス150a,…,150nがユーザとの1つの剛体であるかどうかを考慮する。時としてローカル・デバイス150a,…,150nは、ユーザとの剛体ではない。例えば、これは、ローカル・デバイス150a,…,150nがバッグ上にある場合、または、車両の棚の上にある場合(ローカル・デバイス150a,…,150nが車両との、ひいては、グローバル・タッチスクリーン122と一つの剛体である場合)に起こり得る。別の例として、これは、ユーザが(例えば他方の手でローカル・デバイス150a,…,150nを使用しながら一方の手で)ローカル・デバイス150a,…,150nを動かしている場合に起こり得る。よって、グローバル補正エンジン120は、補正係数を適用するか否かを決定する。ローカル・デバイス150a,…,150nがグローバル・タッチスクリーン122との1つの剛体である場合、補正係数は、ゼロまたはゼロ近傍であってもよく、これは、まったく補正が適用されないかまたは小さな補正が適用されることをもたらす。ローカル・デバイス150a,…,150nが動いている場合、補正係数は、高いか、または、短い時間フレームで変動しているかのどちらかであり、これは、グローバル補正エンジン120によって補正を実行するか否かを決定するためにチェックされる2つの条件であってもよい。
【0035】
ブロック610においては、グローバル補正エンジン120は、ローカル・デバイス150a,…,150nのローカル補正エンジン160a,…,160nから動き情報(例えば、加速度情報)を要求する。これは、ローカル・デバイス150a,…,150nに関連付けられたユーザの動きを示す。ブロック612においては、ローカル・デバイス150a,…,150nのローカル補正エンジン160a,…,160nは、ローカル・モーションセンサ164a,…,164nから動き情報を取得し、動き情報をグローバル補正エンジン120に送信する。ブロック614においては、グローバル補正エンジン120は、この動き情報を受信する。これは、ローカル・デバイス150a,…,150nのモーションセンサ164a,…,164nからの動き情報を受信として説明され得る。
【0036】
ブロック616においては、グローバル補正エンジン120は、動き情報に基づいて、第1の位置入力を、グローバル・タッチスクリーンへの入力として用いられる第2の位置入力に補正する。例えば、自動車がバンプ上を進んだときにユーザが指をグローバル・タッチスクリーン122上に置いた場合、次いで、ユーザは、グローバル・タッチスクリーン122とは異なる動きを有し、ユーザの指は、ユーザにより所望されるものとは異なるグローバル・タッチスクリーン122の表示面上の位置に着地する(例えば、グローバル・タッチスクリーン122上の「発信終了」ボタン上に)。これを補正するためには、グローバル補正エンジン120は、ユーザの動き情報を考慮して、グローバル・タッチスクリーン122上の所望の位置(例えば、グローバル・タッチスクリーン122上の「ミュート」ボタン上)とみなされるグローバル・タッチスクリーン122の表示面上の第2の位置入力を決定する。ブロック618においては、第2の位置入力に応答して、グローバル・デバイス110は、動作を実行する(例えば、第2の位置入力は、「ミュート」ボタンを選択し、グローバル・デバイス110は、ミュート機能を実行する)。よって、第1の位置入力を第2の位置入力に補正することで、この例では、グローバル・デバイス110は、「発信終了」ボタンの選択の代わりに「ミュート」ボタンの選択を処理する。(図6Bの)ブロック618から、処理は、(図6Aの)ブロック600に続く。
【0037】
図6Cの)ブロック620においては、グローバル補正エンジン120は、ユーザのローカル・デバイス150a,…,150nのローカル補正エンジン160a,…,160nから、ユーザマークを含むユーザ情報を要求する。ブロック622においては、ローカル補正エンジン160a,…,160nは、ユーザマークに関連付けられ、ローカル・デバイスに関連付けられたユーザについてのユーザ情報を送信する。種々の実施形態においては、応答されるユーザ情報は、ローカル・デバイスおよびユーザ情報166a,…,166nの一部(すなわち、ユーザ情報部分)であってもよいし、または、全部であってもよい。ブロック624においては、グローバル補正エンジン120は、ユーザマークを含むユーザ情報を、データストアに格納する。(図6Cの)ブロック624から、処理は、(図6A)ブロック604に続く。よって、ユーザの登録は、ユーザが、ローカル・デバイス150a,…,150nを制御するために使用されるユーザマークを提供することによって生じる。このような実施形態においては、グローバル補正エンジン120およびローカル補正エンジン160a,…,160nの両方が、ユーザマークを検出することができ、ローカル補正エンジン160a,…,160nの各々は、ユーザマークをグローバル補正エンジン120に送信することができる。
【0038】
ローカル・デバイス150a,…,150nのグローバル・デバイス110との結合は、種々のやり方で行うことができる。例えば、自動車の運転者の場合、現代的な自動車が、ローカル・デバイス150a,…,150n(例えば、スマートフォン)をいくつかの機能について登録することを既に可能としているので、新たなロジックは、必要がない。これはまた、航空機により提供される音楽を聴くためにローカル・デバイス150a,…,150nを使用することを可能にする、いくつかの場合において、航空機にも当てはまる可能性がある。加えて、乗客または航空機タッチスクリーンのユーザは、ローカル・デバイス150a,…,150nをBluetooth(登録商標)コードまたは他の技術を介して結合することによって、車両に乗る際に、またはグローバル・タッチスクリーン自身の上で登録することができる。
【0039】
特定の実施形態においては、ローカル・デバイス150a,…,150nおよびグローバル・デバイス110との/からの通信のネットワーク遅延は、2つの(車両およびユーザの)動きの即時の適用ほど早くない可能性がある。ある実施形態では、グローバル補正エンジン120によって適用される補正は、エラーがタイプされた後の短時間で起こる可能性がある。しかしながら、そのような実施形態では、このようなリアルタイムに近い補正は、ユーザがエラーに気づくかまたはエラーがユーザの次の決断に影響を与える前にエラーが補正されるので充分である。
【0040】
ある実施形態においては、グローバル補正エンジン120は、どれだけのローカル・デバイス150a,…,150nがグローバル・タッチスクリーン122と相互作用することができるか、ローカル・デバイス150a,…,150nの各々のユーザ(例えば所有者)がだれであるかを発見する。そして、グローバル・タッチスクリーン122が指のタッチの入力を受信すると、グローバル補正エンジン120は、指をユーザおよびローカル・デバイス150a,…,150nに関連付けて、(ユーザのローカル・デバイス150a,…,150nのローカル・モーションセンサ情報に基づいて)そのユーザに対して補正を適用することができる。
【0041】
いくつかの実施形態においては、ユーザは、複数の理由で(例えば、音楽をダウンロードするため、集中型システムから電話をかけるためなど)、ローカル・デバイス150a,…,150nを能動的に登録する。加えて、グローバル補正エンジン120は、ユーザがグローバル・タッチスクリーン122にユーザマークを用いてタッチした場合にユーザおよびローカル・デバイス150a,…,150nが登録されたかを検出することができる。ユーザマークが認識されない(つまり、データストア140内で見つからなかった)場合、グローバル補正エンジン120は、そのユーザの登録を要求する。
【0042】
いくつかの実施形態においては、すべてのタッチスクリーンがユーザマークを認識するわけではなく、すべてのユーザマークが登録されるわけではない。そのような実施形態においては、ユーザは、ユーザマークを登録するために、タッチスクリーン(グローバルまたはローカル・タッチスクリーン)の限定された領域にタッチするように求められる。複数のユーザが同一のグローバル・タッチスクリーン122を使用するある実施形態においては、グローバル補正エンジン120は、ユーザマークを登録した最後のユーザに関連付けられるローカル・デバイス150a,…,150nに基づいて補正を決定する。
【0043】
また、いくつかの実施形態においては、タッチスクリーンの全てで指認識が可能なデバイスが存在する。グローバル・タッチスクリーン122に接触している指紋が認識されていない場合、グローバル補正エンジン120は、そのような登録が過去の合理的な時間窓内で生じた場合、最後に接続されたユーザ(例えば、これを良好な近似として取り扱う)を使用して位置入力を補正してもよい。
【0044】
ある実施形態においては、グローバル補正エンジン120は、ユーザがグローバル・タッチスクリーン122を指でタッチしたことに応答して、補正を実行する。次いで、グローバル補正エンジン120は、データストア内で指紋を検索し、指紋が見つからない場合は、指紋を取得するためにユーザの登録を開始する。
【0045】
他の実施形態においては、ユーザは、(例えば、グローバル・タッチスクリーン122上での入力に使用されるペンまたは他のデバイスを用いて)ユーザマークを提供する。次いで、グローバル補正エンジン120は、データストア内でユーザマークを検索し、指紋が見つからない場合は、ユーザマークを取得するためにユーザの登録を開始する。
【0046】
次いで、ユーザがグローバル・タッチスクリーン122を指でタッチする都度、グローバル補正エンジン120は、ローカル・デバイス150a,…,150nの相対的な動きを取得し、補正係数を適用して、グローバル・タッチスクリーン122上の指の位置入力を補正する。
【0047】
ある実施形態においては、グローバル補正エンジン120は、以下の式を使用して位置入力に対する変化量を決定する:
(数1)
位置入力における変化 Δp=1/2αlocal device Δt
【0048】
すなわち、位置入力(すなわち、位置)における変化は、ローカル・デバイス150a,…,150nの加速度(α)に、ユーザがグローバル・タッチスクリーンに作用した時間の単位(Δt)を掛けたものの半分に等しい。ある実施形態においては、時間の単位は、推定された時間の単位である。
【0049】
実施形態では、ローカル・モーションセンサ164a,…,164nは、強度および方向(緯度x、経度yおよび高さz)の両方を提供してもよい。種々の実施形態においては、グローバル補正エンジン120は、緯度x、経度yおよび高さzのうちの1または複数を考慮する(例えば、ある実施形態は、緯度xを考慮してもよい)。実施形態では、グローバル補正エンジン120は、極短時間について、ローカル・モーションセンサ164a,…,164nによって登録された加速度のイベントと、ユーザがグローバル・タッチスクリーン122を押した時間との間の時間差として、位置入力における変化を推定する。
【0050】
ローカル・デバイス150a,…,150nおよびグローバル・タッチスクリーン122間の通信の際のレイテンシの場合、補正は、いくらかの遅延とともに適用され、これは、ラジオ局をスイッチする、電話番号を構成する、アドレス帳内のコンタクトを検索するなど種々のユースケースで機能する。この場合、グローバル補正エンジン120は、以下の式を用いて位置入力に対する変化量を決定する:
(数2)
位置入力の変化 Δp=1/2(αlocal device-αglobal device)Δt
【0051】
すなわち、位置入力(すなわち、位置)の変化は、ローカル・デバイス150a,…,150nについての加速度(α)からグローバル・タッチスクリーン122についての加速度(α)を引いた値にユーザがタッチスクリーン上で作用する時間の単位(Δt)を掛けたものの半分に等しい。ある実施形態においては、時間の単位は、推定された時間の単位である。
【0052】
実施形態は、ユーザに関連するローカル・モーションセンサ164a,…,164nを有するローカル・デバイス150a,…,150nから入来する加速度情報を使用して、グローバル・タッチスクリーン122と相互作用する際のエラーを計算し、緩和する。1つの単一のグローバル・タッチスクリーン122の複数の潜在的ユーザの場合、実施形態は、グローバル・タッチスクリーン122への位置入力に対する正しい修正を適用するために、どのユーザがグローバル・タッチスクリーン122と相互作用しているかを識別し、動き情報の正しいソース(ローカル・デバイス150a,…,150n)を選択する。
【0053】
ある実施形態においては、動きは、加速度であり、実施形態は、相対加速度を計算し、他の加速度情報が、複数のローカル・デバイス150a,…,150nのうちのいずれのローカル・デバイス150a,…,150nから入来しているかを理解する。実施形態は、ユーザの自身の加速度を、ローカル・デバイス150a,…,150nを介して、車両100の加速度とリンクする。
【0054】
実施形態は、グローバル・デバイス110のグローバル・タッチスクリーン122のタッチセンサから受信されるユーザの位置入力を処理する。実施形態は、センサ入力データが、グローバル・タッチスクリーン122の表示面に相対する位置情報を提供する位置入力を含むとして、タッチセンサからセンサ入力データを受信し、ローカル・デバイス150a,…,150nのローカル・モーションセンサ164a,…,164nから動き情報を受信して、動き情報に基づいて位置入力を補正する。実施形態においては、動き情報は、グローバル・デバイス110に対してリモートにローカル・デバイス150a,…,150nに配置されるローカル・モーションセンサ164a,…,164nから受信される。
【0055】
実施形態では、グローバル・デバイス110およびローカル・デバイス150a,…,150nは、互いに対して移動可能である。動き情報は、ユーザが携帯するモバイル・コンピューティング・デバイスであるローカル・デバイス150a,…,150nから受信される。ローカル・デバイス150a,…,150nは、グローバル・デバイス110に登録される。グローバル・デバイス110は、登録されたユーザを識別するローカル・デバイスおよびユーザ情報142a,…,142nを受信し、識別されたユーザに関連付けられるローカル・デバイス150a,…,150nのローカル・モーションセンサ164a,…,164nを選択する。グローバル・デバイス110は、選択されたローカル・モーションセンサ164a,…,164nから動き情報を受信し、センサ入力データの位置入力を補正する。
【0056】
実施形態では、ローカル・デバイスおよびユーザ情報142a,…,142nは、グローバル・タッチスクリーン122を使用して登録されたユーザの指紋を含む。ローカル・モーションセンサ164a,…,164nは、加速度などの動きを記述する動き情報を生成するように動作可能である。グローバル・デバイス110は、車両ユーザインタフェース・デバイスであってもよい。
【0057】
図7は、ある実施形態によるコンピューティング環境を示す。図7を参照すると、コンピュータ・システム712は、適切なコンピュータ・システムの単なる一例であり、本明細書に記載される本開示の実施形態の使用または機能性の範囲に関する限定を示唆することを意図するものではない。これにかかわらず、コンピュータ・システム712は、上述した機能のいずれかが、実装されること、もしくは実行すること、またはその両方がなされることが可能である。
【0058】
コンピューティング・システム712は、多数の他の汎用または特定用途のコンピューティング・システム環境または構成を用いて動作可能であるコンピュータ・システムである。コンピュータ・システム712と使用するのに適した周知のコンピューティング・システム、環境もしくは構成またはこれらの組み合わせの例は、これらに限定されないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベース・システム、セットトップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、上述したシステムまたは装置などの任意のものを含む分散型クラウド・コンピューティング環境などを含む。
【0059】
コンピュータ・システム712は、コンピュータ・システムによって実行される、プログラム・モジュールのようなコンピュータ・システム実行可能命令の一般的な文脈で記述され得る。概して、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象的なデータタイプを実装するかする、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含む。コンピュータ・システム712は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境で実装することができる。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置される可能性がある。
【0060】
図7に示すように、コンピュータ・システム712は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム712のコンポーネントは、これらに限定されるものではないが、例えばプロセッサまたは処理ユニット716と、システム・メモリ728と、システム・メモリ728から1または複数のプロセッサまたは処理ユニット716を含む種々のシステム・コンポーネントを結合するバス718とを含んでもよい。
【0061】
バス718は、種々のバス・アーキテクチャの任意のものを使用する、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、プロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のうちの1または複数を表す。例として、このようなアーキテクチャには、限定されるものではないが、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バスおよびペリフェラル・コンポーネント・インターコネクト(PCI)バスが含まれる。
【0062】
コンピュータ・システム712は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム712によってアクセス可能な任意の利用可能な媒体とすることができ、揮発性媒体と不揮発性媒体の両方、リムーバブル媒体と非リムーバブル媒体の両方を含む。
【0063】
システム・メモリ728は、ランダム・アクセス・メモリ(RAM)730もしくはキャッシュ・メモリ732またはこれらの両方などの揮発性メモリの形式のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム712は、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、ストレージ・システム734が、非リムーバブル、不揮発性の磁気媒体(図示しないが、通常「ハード・ドライブ」と呼ばれる)に対する読み取りと書込みを行うために提供されてもよい。図示しないが、リムーバブル、不揮発性の磁気ディスク(たとえば、「フロッピー(登録商標)ディスク」)に対する読み取りと書込みを行うための磁気ディスク・ドライブおよびCD-ROM、DVD-ROMまたは他の光媒体などの、リムーバブル、不揮発性の光ディスクに対する読み取りと書込みを行うための光ディスク・ドライブが提供されてもよい。そのような例において、各々は、1または複数のデータ媒体インターフェースによってバス718に接続されてもよい。以下でさらに詳細に示され、説明されるように、システム・メモリ728は、本開示の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(たとえば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでよい。
【0064】
プログラム・モジュール742のセット(少なくとも1つ)を有するプログラム/ユーティリティ740が、限定ではなく例として、システム・メモリ728に記憶されてもよく、オペレーティング・システム、1または複数のアプリケーション・プログラム、他のプログラム・モジュールおよびプログラム・データも同様である。オペレーティング・システム、1または複数のアプリケーション・プログラム、他のプログラム・モジュールおよびプログラム・データの各々またはこれらの任意の組み合せは、ネットワーク環境の実装を含んでよい。プログラム・モジュール742は、概して、本明細書に記載の実施形態の機能もしくは方法論またはこれらの両方を実行する。
【0065】
コンピュータ・システム712は、キーボード、ポインティング・デバイス、ディスプレイ724などの1または複数の外部デバイス714;ユーザがコンピュータ・システム712と対話できるようにする1または複数のデバイス;もしくはコンピュータ・システム712が1または複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(たとえば、ネットワーク・カード、モデムなど)またはこれらの組み合わせと通信してもよい。このような通信は、入力/出力(I/O)インターフェース722を介して行うことができる。さらに、コンピュータ・システム712は、ネットワーク・アダプタ720を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)もしくはパブリック・ネットワーク(たとえば、インターネット)またはこれらの組み合わせなどの1または複数のネットワークと通信することができる。図示されるように、ネットワーク・アダプタ720は、バス718を介してコンピュータ・システム712の他の構成要素と通信する。図示されていないが、他のハードウェア・コンポーネントもしくはソフトウェア・コンポーネントまたはこれらの両方がコンピュータ・システム712とともに使用されてもよいことを理解されたい。具体例には、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブおよびデータ・アーカイブ・ストレージ・システムなどが含まれるが、これらに限定されない。
【0066】
ある実施形態においては、グローバル・コンピューティング・デバイス110および各ローカル・コンピューティング・デバイス150…150nは、コンピュータ・システム712のアーキテクチャを有する。
【0067】
追加の実施形態
本発明は、任意の可能な技術的詳細レベルでのシステム、方法もしくはコンピュータ・プログラム製品またはその組み合わせであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の側面を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含んでもよい。
【0068】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持し格納する有形のデバイスであってよい。コンピュータ可読ストレージ媒体は、例えば、これに限定されるものではないが、電子的ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは上記の任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のより具体的な例示の非網羅的リストとしては、ポータブルなコンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能プログラマブル・リード・オンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブルなコンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリースティック、フロッピー(登録商標)ディスク、パンチカードまたは記録された命令を有する溝内の隆起構造のような機械的エンコードされたデバイス、および上記の任意の適切な組み合わせが含まれる。コンピュータ可読ストレージ媒体は、本明細書で使用されるように、電波、自由伝搬する電磁波、導波路または他の伝送媒体を伝搬する電磁波(たとえば、ファイバ光ケーブルを通過する光パルス)または、ワイヤを通して伝送される電気信号のような、それ自体が一時的な信号として解釈されるものではない。
【0069】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピュータ/処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはこれらの組み合わせといったネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジサーバまたはこれらの組み合わせを含んでもよい。各コンピュータ/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0070】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または、1または複数のプログラミング言語の任意の組み合わせで書かれたソース・コードあるいはオブジェクト・コードであってよく、1または複数のプログラミング言語は、Smalltalk(登録商標)、C++またはこれらに類するもなどのオブジェクト指向言語、Cプログラミング言語または類似のプログラミング言語などの手続型言語を含む。コンピュータ可読プログラム命令は、スタンド・アローンのソフトウェア・パッケージとして、全体としてユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上かつ部分的に遠隔のコンピュータ上で、または、完全に遠隔のコンピュータまたはサーバ上で実行されてもよい。後者のシナリオでは、遠隔のコンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じて接続されてもよく、あるいは接続は、(例えば、インターネット・サービス・プロバイダを用いてインターネットを通じて)外部コンピュータになされてもよい。いくつかの実施形態においては、電気的回路は、本発明の側面を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電気的回路を個別化することによって、コンピュータ可読プログラム命令を実行してもよく、この電気的回路は、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む。
【0071】
本発明の側面は、本明細書において、本発明の実施形態に従った方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはこれらの両方を参照しながら、説明される。フローチャート図もしくはブロック図またはこれらの両方の各ブロック、および、フローチャート図もしくはブロック図またはこれらの両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装されてもよいことが理解されよう。
【0072】
これらのコンピュータ可読プログラム命令は、コンピュータのプロセッサまたは他のプログラマブル・データ処理装置に提供され、コンピュータのプロセッサまたは他のプログラマブル・データ処理装置を介して実行される命令が、フローチャート図もしくはブロック図またはこれらの両方のブロックまたは複数のブロックにおいて特定される機能/作用を実装するための手段を作成するように、マシンを生成する。これらのコンピュータ可読プログラム命令は、また、コンピュータ、プログラマブル・データ処理装置もしくは他のデバイスまたはこれらの組み合わせに特定のやり方で機能するよう指示できるコンピュータ可読ストレージ媒体に格納され、それに格納された命令を有するコンピュータ可読ストレージ媒体に、フローチャート図もしくはブロック図またはこれらの両方ブロックまたは複数のブロックで特定される機能/作用の側面を実装する命令を含む製品が含まれるようにする。
【0073】
コンピュータ可読プログラム命令は、また、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータ、他のプログラマブル・データ処理装置または他のデバイス上で実行される命令が、フローチャート図もしくはブロック図またはこれらの両方のブロックまたは複数のブロックで特定される機能/作用の側面を実装するように、コンピュータ実装処理を生成することもできる。
【0074】
図面におけるフローチャート図およびブロック図は、本発明の種々の実施形態に従ったシステム、方法およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能性および動作を示す。この点に関して、フローチャート図またはブロック図の各ブロックは、特定の論理機能を実装するための1または複数の実行可能な命令を含む、モジュール、セグメントまたは命令の部分を表す可能性がある。いくつかの代替の実装では、ブロックにおいて言及された機能は、図面に示された順序から外れて生じる可能性がある。例えば、連続して示される2つのブロックは、実際には、1つのステップとして実現されてもよいし、同時に、実質的に同時に、部分的にまたは全体的に一時的に重複したやり方で、実行されてもよいし、あるいは、複数のブロックは、関与する機能性に応じて逆の順序で実行されてもよい。ブロック図もしくはフローチャート図またはこれらの両方の各ブロックおよびブロック図もしくはフローチャート図またはこれらの両方の複数のブロックの組み合わせが、特定の機能または作用を実行し、または、特別な目的のハードウェアおよびコンピュータ命令の組み合わせを実施する、特定目的ハードウェアベースのシステムによって実装されてもよいことに留意されたい。
【0075】
「一つの実施形態(a embodiment)」、「実施形態(embodiment)」、「複数の実施形態(embodiments)」、「本実施形態(the embodiment)」、「本複数の実施形態(the embodiments)」、「1または複数の実施形態(one or more embodiments)」、「いくつかの実施形態(some embodiment)」、および「一実施形態(one embodiment)」は、特に明示的に特定されない限り、本発明の「1または複数(ただし、全てではない)実施形態」を意味する。
【0076】
用語「含む(including)」、「含む(comprising)」、「有する(having)」、およびその変例の用語は、特に明示的に特定されない限り、「を含むが、これに限定されない」ことを意味する。
【0077】
列挙された項目のリストは、特に明示的に特定されない限り、項目のいずれかまたはすべてが相互排他的であることを意味しない。
【0078】
「一つの(a)」、「一つの(an)」および「本(the)」という用語は、特に明示的に特定されない限り、「1または複数」を意味する。
【0079】
相互に通信しているデバイスは、特に明示的に特定されない限り、連続的に相互に通信する必要はない。加えて、相互に通信するデバイスは、直接的または1または複数の中間段階を介して間接的に通信してもよい。
【0080】
相互に通信するいくつかのコンポーネントを用いた実施形態の説明は、すべてのそのようなコンポーネントが必要であることを意味しない。反対に、本発明の種々の潜在的な実施形態を説明するために、種々の任意のコンポーネントが説明される。
【0081】
単一のデバイスまたは製品が本明細書で説明される場合、1または複数のデバイス/製品(協働するか否か)が、単一のデバイス/製品の代わりに使用されてもよいことは容易に明らかになるであろう。同様に、1つより多いデバイスまたは製品が本明細書で説明される(協働するか否か)場合、単一のデバイス/製品が、1つより多いデバイスまたは製品の代わりに使用されてもよく、あるいは、図示された数のデバイスまたはプログラムの代わりに異なる数のデバイス/製品が使用されてもよいことは容易に明らかであろう。デバイスの機能もしくは特徴またはその両方は、代替的に、そのような機能/特徴を有するものとして明示的に記載されていない1または複数の他のデバイスによって具現化されてもよい。したがって、本発明の他の実施形態は、デバイス自体を含まなくてもよい。
【0082】
本発明の種々の実施形態の上記の説明は、例示および説明の目的のために提示された。これは、網羅的であること、または本発明を開示された正確な形態に限定することを意図するものではない。上記の教示に照らして、多数の変更および変形が可能である。本発明の範囲は、この詳細な説明ではなく、添付の特許請求の範囲によって限定されることが意図される。上記の明細書、実施例およびデータは、本発明の構成の製造および使用の完全な説明を提供する。本発明の多くの実施形態が本発明の精神および範囲から逸脱することなく行うことができるため、本発明の実施形態は、本明細書における後に添付された特許請求の範囲に存在する。以上の説明は、本発明の実施形態の例を提供し、他の実施形態において変形および置換を行ってもよい。
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7