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

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

▶ グーグル インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024026146
(43)【公開日】2024-02-28
(54)【発明の名称】ユーザ機器のための自動記入
(51)【国際特許分類】
   G06F 21/45 20130101AFI20240220BHJP
   G06F 3/0484 20220101ALI20240220BHJP
   G06F 21/31 20130101ALI20240220BHJP
   G06F 15/00 20060101ALN20240220BHJP
【FI】
G06F21/45
G06F3/0484
G06F21/31
G06F15/00 410A
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023198065
(22)【出願日】2023-11-22
(62)【分割の表示】P 2022109127の分割
【原出願日】2017-10-31
(31)【優先権主張番号】62/468,011
(32)【優先日】2017-03-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/798,262
(32)【優先日】2017-10-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】レメ,フェリペ
(72)【発明者】
【氏名】ガノブ,スベトスラブ
(72)【発明者】
【氏名】ポイーズ,ベンジャミン
(72)【発明者】
【氏名】サン,アンジェラ
(57)【要約】      (修正有)
【課題】リモートプロバイダの助けを借りて、ユーザがユーザ機器のオペレーティングシステムを用いて複数のアプリケーションを横断して自動記入を円滑化するシステム、ユーザ機器及び方法を提供する。
【解決手段】方法は、ユーザ機器のユーザインターフェイス(UI)上に表示されたアプリケーションにおいて自動記入を行うための認証を、ユーザ機器が受信するステップ、アプリケーションがUI上に表示されている間に、自動記入トリガイベントを検出し、ユーザ固有の情報を含まない内容のサブセットを判定するステップ、自動記入に使用するための候補データを求めるために、上記サブセットを含む要求をリモートプロバイダに送信するステップ、自動記入に使用するための1つ以上の候補値を含む応答をリモートプロバイダから受信するステップ及びUI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を記入するステップを含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
方法であって、
ユーザ機器のユーザインターフェイス(UI)上に表示されたアプリケーションにおいて自動記入を行うための認証を、前記ユーザ機器が前記UIを介して受信するステップと、
前記アプリケーションが前記UI上に表示されている間に、自動記入トリガイベントを検出するステップと、
前記自動記入トリガイベントの検出に応答して、前記UI上に表示された内容のサブセットを判定するステップとを含み、前記サブセットはユーザ固有の情報を含まず、前記方法はさらに、
前記アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信するステップを含み、前記要求は、前記UI上に表示された内容のサブセットを含み、前記方法はさらに、
前記リモートプロバイダからの応答を受信するステップを含み、前記応答は、前記UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含むデータセットを含み、前記方法はさらに、
前記UI上に表示された1つ以上のテキスト入力フィールドに、前記対応する1つ以上の候補値を記入するステップを含む、方法。
【請求項2】
請求項1に記載の方法は、前記ユーザ機器のオペレーティングシステムによって行なわれ、
前記データセットはデータセット識別子をさらに含み、前記方法はさらに、
前記UIを介して前記データセット識別子を選択させるために表示するステップと、
前記データセット識別子の選択を示す入力データを受信するステップと、
前記入力データの受信に応答して、前記UI上に表示された1つ以上のテキスト入力フィールドに、前記対応する1つ以上の候補値を記入するステップとを含む、請求項1に記載の方法。
【請求項3】
前記データセット識別子の選択を示す前記入力データを受信するステップの前に、前記オペレーティングシステムが、前記1つ以上の候補値を記入可能な前記テキスト入力フィールドに記入インジケータを表示するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記オペレーティングシステムが前記記入インジケータを表示するステップは、前記記入インジケータに関連するグラフィックを表示するステップを含み、前記グラフィックは前記リモートプロバイダから受信される、請求項3に記載の方法。
【請求項5】
前記リモートプロバイダからの応答は複数のデータセットを含み、各データセットは、それぞれのデータセット識別子と、前記UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値とを含み、前記方法はさらに、
前記オペレーティングシステムが、前記UIを介して前記1つ以上のデータセット識別子を表示するステップと、
前記オペレーティングシステムが、前記表示された1つ以上のデータセット識別子の中からの前記データセット識別子の選択を示す入力データを受信するステップとを含む、請求項2~4のいずれか1項に記載の方法。
【請求項6】
前記オペレーティングシステムが、前記1つ以上のデータセット識別子の中からのデータセット識別子の予備選択を受信するステップと、
前記オペレーティングシステムが、前記予備選択されたデータセット識別子に対応する前記1つ以上の候補値を記入可能な前記テキスト入力フィールドに、前記UIを介して記
入インジケータを表示するステップとをさらに含む、請求項5に記載の方法。
【請求項7】
前記オペレーティングシステムが、前記データセット識別子のうちのいずれかに対応する前記1つ以上の候補値を記入可能な前記テキスト入力フィールドに、前記UIを介して記入インジケータを表示するステップをさらに含む、請求項5に記載の方法。
【請求項8】
前記データセット識別子の選択を示す入力データの受信に応答して、前記オペレーティングシステムがそれぞれのセキュアな認証プロンプトを生成するステップをさらに含み、前記それぞれのセキュアな認証プロンプトは前記ユーザ機器の前記UI上に表示され、前記方法はさらに、
前記オペレーティングシステムが、前記それぞれのセキュアな認証プロンプトへのそれぞれのセキュアな入力通信を受信するステップと、
前記それぞれのセキュアな認証プロンプトへの前記それぞれのセキュアな入力通信に応答して、前記オペレーティングシステムが、前記UI上に表示された1つ以上のテキスト入力フィールドに、前記選択されたデータセット識別子に対応する前記1つ以上の候補値を記入するステップとをさらに含む、請求項5~7のいずれか1項に記載の方法。
【請求項9】
前記オペレーティングシステムが前記UIを介して前記データセット識別子を表示するステップは、前記テキスト入力フィールドとは分離されたドロップダウンメニューで前記データセット識別子を表示するステップを含む、請求項2~8のいずれか1項に記載の方法。
【請求項10】
前記方法は前記ユーザ機器のオペレーティングシステムによって行なわれ、
前記ユーザ機器の前記アプリケーションにおいて自動記入を行うための認証を、前記デバイスの前記オペレーティングシステムが前記ユーザ機器の前記UIを介して受信するステップは、
前記ユーザ機器の前記オペレーティングシステムが、候補データのための複数のリモートプロバイダを判定するステップと、
前記ユーザ機器の前記オペレーティングシステムが、前記複数のリモートプロバイダのリストを生成し、前記デバイスの前記UI上に前記リストを表示するステップと、
前記ユーザ機器の前記オペレーティングシステムが、前記リストの中からのリモートプロバイダの選択を示す入力データを受信するステップとを含み、前記選択されたリモートプロバイダは、前記アプリケーションにおける自動記入の要求を受信することを認証される、前述の請求項のいずれか1項に記載の方法。
【請求項11】
前記方法は前記ユーザ機器のオペレーティングシステムによって行なわれ、
前記応答を受信するステップの前に、
前記オペレーティングシステムが、セキュアな認証を提供するためのプロンプトを含む予備通信信号を前記リモートプロバイダから受信するステップと、
前記オペレーティングシステムが、前記セキュアな認証プロンプトを表示するステップと、
前記オペレーティングシステムが、前記セキュアな認証プロンプトに基づくユーザ入力データを受信するステップと、
前記オペレーティングシステムが、前記ユーザ入力データを含む確認信号を前記リモートプロバイダに送信するステップとを行なう、前述の請求項のいずれか1項に記載の方法。
【請求項12】
前記セキュアな認証プロンプトは、生体入力の要求を含む、請求項11に記載の方法。
【請求項13】
前記方法は前記ユーザ機器のオペレーティングシステムによって行なわれ、
前記応答を受信するステップの前に、
データセット識別子を含む第1の予備通信信号を前記リモートプロバイダから受信するステップと、
前記オペレーティングシステムが、前記UIを介して前記データセット識別子を選択させるために表示するステップと、
前記オペレーティングシステムが、前記データセット識別子の選択を示す入力データを受信するステップと、
前記オペレーティングシステムが、前記データセット識別子の選択を示す入力データを前記リモートプロバイダに送信するステップと、
前記オペレーティングシステムが、セキュアな認証プロンプトを含む第2の予備通信信号を前記リモートプロバイダから受信するステップと、
前記オペレーティングシステムが、前記セキュアな認証プロンプトを表示するステップと、
前記オペレーティングシステムが、前記セキュアな認証プロンプトに基づくユーザ入力データを受信するステップと、
前記オペレーティングシステムが、前記ユーザ入力データを含む確認信号を前記リモートプロバイダに送信するステップとを行なう、前述の請求項のいずれか1項に記載の方法。
【請求項14】
前記セキュアな認証プロンプトは、カード照合コードもしくは個人識別番号の要求、またはカード照合コードおよび個人識別番号の両方の要求を含む、請求項13に記載の方法。
【請求項15】
前記方法は前記ユーザ機器のオペレーティングシステムによって行なわれ、
前記アプリケーションにおいて自動記入を行うための認証を受信するステップの前に、
前記オペレーティングシステムが、第2のアプリケーションに対応する前記UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の値を受信するステップと、
前記1つ以上の値を前記リモートプロバイダに送信することを前記オペレーティングシステムに認証する照合送信プロンプトを、前記オペレーティングシステムが生成するステップと、
前記オペレーティングシステムが、前記照合送信プロンプトを表示するステップと、
前記オペレーティングシステムが、前記1つ以上の値を前記リモートプロバイダに送信するための照合を受信するステップと、
前記オペレーティングシステムが、前記1つ以上の値を前記リモートプロバイダに送信するステップとを行なう、前述の請求項のいずれか1項に記載の方法。
【請求項16】
前記自動記入トリガイベントを検出するステップは、前記アプリケーションの起動を検出するステップを含む、前述の請求項のいずれか1項に記載の方法。
【請求項17】
前記自動記入トリガイベントを検出するステップは、前記アプリケーションのテキスト入力フィールドの選択を検出するステップを含む、前述の請求項のいずれか1項に記載の方法。
【請求項18】
前記自動記入トリガイベントは、テキスト入力フィールドがフォーカスを持つことを示す信号を受信し、その結果キーボードが前記UI上に表示されることを含む、前述の請求項のいずれか1項に記載の方法。
【請求項19】
ユーザ機器であって、
ユーザインターフェイス(UI)と、
オペレーティングシステムとを備え、
前記オペレーティングシステムは、
前記ユーザ機器のアプリケーションにおいて自動記入を行うための認証を受信し、
自動記入トリガイベントを検出し、
前記自動記入トリガイベントの検出に応答して、前記UI上に表示された内容のサブセットを判定するように構成され、前記サブセットはユーザ固有の情報を含まず、前記オペレーティングシステムはさらに、
前記アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信するように構成され、前記要求は、前記UI上に表示された内容のサブセットを含み、前記オペレーティングシステムはさらに、
前記リモートプロバイダからの応答を受信するように構成され、前記応答は、前記UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含み、前記オペレーティングシステムはさらに、
前記UI上に表示された1つ以上のテキスト入力フィールドに、前記対応する1つ以上の候補値を記入するように構成される、ユーザ機器。
【請求項20】
1つ以上のプロセッサによって実行されるとユーザ機器のオペレーティングシステムに機能を行なわせる命令を格納した非一時的なコンピュータ可読媒体であって、前記機能は、
前記ユーザ機器のユーザインターフェイス(UI)上に表示されたアプリケーションにおいて自動記入を行うための認証を、前記UIを介して受信することと、
自動記入トリガイベントを検出することと、
前記自動記入トリガイベントの検出に応答して、前記UI上に表示された内容のサブセットを判定することとを含み、前記サブセットはユーザ固有の情報を含まず、前記機能はさらに、
前記アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信することを含み、前記要求は、前記UI上に表示された内容のサブセットを含み、前記機能はさらに、
前記リモートプロバイダからの応答を受信することを含み、前記応答は、前記UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含み、前記機能はさらに、
前記UI上に表示された1つ以上のテキスト入力フィールドに、前記対応する1つ以上の候補値を記入することを含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2017年3月7日に出願された米国仮出願第62/468,011号、および2017年10月30日に出願された米国出願第15/798,262号に基づく優先権を主張する。これらの開示全体を本明細書に引用により援用する。
【背景技術】
【0002】
背景
携帯機器、携帯電話、パソコン、およびタブレットを含む現代の多くのコンピューティングデバイスは、ユーザによるコンピューティングデバイスとの対話を可能にするユーザインターフェイス(UI)を提供する。例えば、アプリケーションプログラムは、UIを用いて、画像、テキスト、およびグラフィック要素(例えば、ウィンドウ、ダイアログ、ポップアップ、画像、ボタン、スクロールバー、およびアイコン)によってユーザと通信することができる。UIは、タッチスクリーン、存在感知ディスプレイ、コンピュータマウス、キーボード、および、ユーザによるUI、さらにはアプリケーションプログラムの制御を可能にする他のデバイスからの入力も受け付ける。
【0003】
ある場合には、UIを用いて、オペレーティングシステムと対話し、コンピューティングデバイスを管理することが可能である。例えば、オペレーティングシステムは、コントロールパネルまたは設定アプリケーションを有し得る。このコントロールパネルまたは設定アプリケーションは、UIを用いて、コンピューティングデバイスの何らかの局面に関する制御設定(例えば、音声制御、動画出力、コンピュータメモリ、および、オペレーティングシステムによって使用される人間の言語など)に関係する1つ以上のウィンドウを出す(例えば、英語、フランス語、中国語、ヒンディー語、ロシア語などで情報を受信するように選択する)。コントロールパネル/設定アプリケーションは、UIを用いて、上記ウィンドウに関係する後続の入力を受け付けることができる。UIは、その入力をコントロールパネル/設定アプリケーションを介してオペレーティングシステムに提供することができる。これにより、コンピューティングデバイスを管理することができる。
【0004】
しかしながら、携帯機器のUIが小さい場合は特に、UIへのデータの手動入力は、ユーザにとって不便であり、時間がかかり、および/または面倒な場合があり、あるいは間違いを引き起こす恐れもある。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
例示的な実施形態は、リモートプロバイダの助けを借りて、ユーザがユーザ機器のオペレーティングシステムを用いて複数のアプリケーションを横断して自動記入を円滑化することを可能にするシステムに関する。より具体的には、オペレーティングシステムは、特定のアプリケーションにおいて自動記入を行うことが可能であると判定してもよい。次いで、オペレーティングシステムは、この自動記入に対するユーザの認証に基づいて、自動記入の円滑化を助けるリモートプロバイダに送信すべきユーザ機器上の表示内容を認識し、その内容を含む要求を当該リモートプロバイダに送信してもよい。上記要求の内容に関連するデータを含む応答をリモートプロバイダから受信した後、オペレーティングシステムは、アプリケーションに関連データを自動記入してもよい。
【0006】
一局面では、ユーザ機器のユーザインターフェイス(UI)上に表示されたアプリケー
ションにおいて自動記入を行うための認証を、ユーザ機器がUIを介して受信するステップを含む方法が提供される。上記方法はさらに、アプリケーションがUI上に表示されている間に、自動記入トリガイベントを検出するステップを含む。上記方法はさらに、自動記入トリガイベントの検出に応答して、UI上に表示された内容のサブセットを判定するステップを含む。上記サブセットは、ユーザ固有の情報を含まない。上記方法はさらに、アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信するステップを含む。上記要求は、UI上に表示された内容のサブセットを含む。上記方法はさらに、リモートプロバイダからの応答を受信するステップを含む。上記応答は、UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含む。上記方法はさらに、UI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を記入するステップを含む。
【0007】
したがって、UIの利便性を改善し、データ入力の正確性および効率性を向上させることができる。
【0008】
候補データは、リモートプロバイダまたはサーバから受信された、候補値(例えば、1つ以上のデータ項目)を含むデータのセットであってもよい。他の態様として、これらの(データセットの一部としての)データ項目は、UIにおけるフィールド内でユーザによって入力または選択された項目であってもよい。
【0009】
オプションとして、上記方法は、ユーザ機器のオペレーティングシステムによって行なわれてもよい。データセットは、データセット識別子をさらに含む。上記方法はさらに、UIを介してデータセット識別子を選択させるために表示するステップと、データセット識別子の選択を示す入力データを受信するステップと、入力データの受信に応答して、UI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を記入するステップとを含む。
【0010】
オプションとして、上記方法はさらに、データセット識別子の選択を示す入力データを受信するステップの前に、オペレーティングシステムが、1つ以上の候補値を記入可能なテキスト入力フィールドに記入インジケータを表示するステップを含んでもよい。
【0011】
オプションとして、オペレーティングシステムが記入インジケータを表示するステップは、記入インジケータに関連するグラフィックを表示するステップを含み、グラフィックはリモートプロバイダから受信される。
【0012】
オプションとして、リモートプロバイダからの応答は複数のデータセットを含み、各データセットは、それぞれのデータセット識別子と、UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値とを含む。上記方法はさらに、オペレーティングシステムが、UIを介して1つ以上のデータセット識別子を表示するステップと、オペレーティングシステムが、表示された1つ以上のデータセット識別子の中からのデータセット識別子の選択を示す入力データを受信するステップとを含む。
【0013】
オプションとして、上記方法はさらに、オペレーティングシステムが、1つ以上のデータセット識別子の中からのデータセット識別子の予備選択を受信するステップと、オペレーティングシステムが、予備選択されたデータセット識別子に対応する1つ以上の候補値を記入可能なテキスト入力フィールドに、UIを介して記入インジケータを表示するステップとを含んでもよい。
【0014】
オプションとして、上記方法はさらに、オペレーティングシステムが、データセット識別子のうちのいずれかに対応する1つ以上の候補値を記入可能なテキスト入力フィールド
に、UIを介して記入インジケータを表示するステップを含んでもよい。
【0015】
オプションとして、上記方法はさらに、データセット識別子の選択を示す入力データの受信に応答して、オペレーティングシステムがそれぞれのセキュアな認証プロンプトを生成するステップをさらに含んでもよく、それぞれのセキュアな認証プロンプトはユーザ機器のUI上に表示されてもよい。上記方法はさらに、オペレーティングシステムが、それぞれのセキュアな認証プロンプトへのそれぞれのセキュアな入力通信を受信するステップと、それぞれのセキュアな認証プロンプトへのそれぞれのセキュアな入力通信に応答して、オペレーティングシステムが、UI上に表示された1つ以上のテキスト入力フィールドに、選択されたデータセット識別子に対応する1つ以上の候補値を記入するステップとを含んでもよい。
【0016】
オプションとして、オペレーティングシステムがUIを介してデータセット識別子を表示するステップは、テキスト入力フィールドとは分離されたドロップダウンメニューでデータセット識別子を表示するステップを含む。
【0017】
オプションとして、上記方法はユーザ機器のオペレーティングシステムによって行なわれる。ユーザ機器のアプリケーションにおいて自動記入を行うための認証を、デバイスのオペレーティングシステムがユーザ機器のUIを介して受信するステップは、ユーザ機器のオペレーティングシステムが、候補データのための複数のリモートプロバイダを判定するステップと、ユーザ機器のオペレーティングシステムが、上記複数のリモートプロバイダのリストを生成し、デバイスのUI上にリストを表示するステップと、ユーザ機器のオペレーティングシステムが、リストの中からのリモートプロバイダの選択を示す入力データを受信するステップとを含み、選択されたリモートプロバイダは、アプリケーションにおける自動記入の要求を受信することを認証される。
【0018】
オプションとして、上記方法はユーザ機器のオペレーティングシステムによって行なわれる。上記応答を受信するステップの前に、オペレーティングシステムが、セキュアな認証を提供するためのプロンプトを含む予備通信信号をリモートプロバイダから受信するステップと、オペレーティングシステムが、セキュアな認証プロンプトを表示するステップと、オペレーティングシステムが、セキュアな認証プロンプトに基づくユーザ入力データを受信するステップと、オペレーティングシステムが、ユーザ入力データを含む確認信号をリモートプロバイダに送信するステップとを行なう。
【0019】
オプションとして、セキュアな認証プロンプトは、生体入力の要求を含む。
オプションとして、上記方法はユーザ機器のオペレーティングシステムによって行なわれる。上記応答を受信するステップの前に、データセット識別子を含む第1の予備通信信号をリモートプロバイダから受信するステップと、オペレーティングシステムが、UIを介してデータセット識別子を選択させるために表示するステップと、オペレーティングシステムが、データセット識別子の選択を示す入力データを受信するステップと、オペレーティングシステムが、データセット識別子の選択を示す入力データをリモートプロバイダに送信するステップと、オペレーティングシステムが、セキュアな認証プロンプトを含む第2の予備通信信号をリモートプロバイダから受信するステップと、オペレーティングシステムが、セキュアな認証プロンプトを表示するステップと、オペレーティングシステムが、セキュアな認証プロンプトに基づくユーザ入力データを受信するステップと、オペレーティングシステムが、ユーザ入力データを含む確認信号をリモートプロバイダに送信するステップとを行なう。
【0020】
オプションとして、セキュアな認証プロンプトは、カード照合コードもしくは個人識別番号の要求、またはカード照合コードおよび個人識別番号の両方の要求を含む。
【0021】
オプションとして、上記方法はユーザ機器のオペレーティングシステムによって行なわれる。アプリケーションにおいて自動記入を行うための認証を受信するステップの前に、オペレーティングシステムが、第2のアプリケーションに対応するUI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の値を受信するステップと、1つ以上の値をリモートプロバイダに送信することをオペレーティングシステムに認証する照合送信プロンプトを、オペレーティングシステムが生成するステップと、オペレーティングシステムが、照合送信プロンプトを表示するステップと、オペレーティングシステムが、1つ以上の値をリモートプロバイダに送信するための照合を受信するステップと、オペレーティングシステムが、1つ以上の値をリモートプロバイダに送信するステップとを行なう。
【0022】
オプションとして、自動記入トリガイベントを検出するステップは、アプリケーションの起動を検出するステップを含む。
【0023】
オプションとして、自動記入トリガイベントを検出するステップは、アプリケーションのテキスト入力フィールドの選択を検出するステップを含む。
【0024】
オプションとして、自動記入トリガイベントは、テキスト入力フィールドがフォーカスを持つことを示す信号を受信し、その結果キーボードがUI上に表示されることを含む。別の局面では、ユーザ機器が提供される。ユーザ機器は、UIと、ユーザ機器のアプリケーションにおいて自動記入を行うための認証を受信するように構成されたオペレーティングシステムとを備える。オペレーティングシステムはさらに、自動記入トリガイベントを検出するように構成される。オペレーティングシステムはさらに、自動記入トリガイベントの検出に応答して、UI上に表示された内容のサブセットを判定するように構成される。上記サブセットは、ユーザ固有の情報を含まない。オペレーティングシステムはさらに、アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信するように構成される。上記要求は、UI上に表示された内容のサブセットを含む。オペレーティングシステムはさらに、リモートプロバイダからの応答を受信するように構成される。上記応答は、UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含む。オペレーティングシステムはさらに、1つ以上の候補値を、UI上に表示された対応する1つ以上のテキスト入力フィールドに記入するように構成される。
【0025】
別の局面では、1つ以上のプロセッサによって実行されるとユーザ機器のオペレーティングシステムに機能を行なわせる命令を格納した非一時的なコンピュータ可読媒体が提供される。上記機能は、ユーザ機器のUI上に表示されたアプリケーションにおいて自動記入を行うための認証を、UIを介して受信することを含む。上記機能はさらに、自動記入トリガイベントを検出することを含む。上記機能はさらに、自動記入トリガイベントの検出に応答して、UI上に表示された内容のサブセットを判定することを含む。上記サブセットは、ユーザ固有の情報を含まない。上記機能はさらに、アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信することとを含む。上記要求は、UI上に表示された内容のサブセットを含む。上記機能はさらに、リモートプロバイダからの応答を受信することを含む。上記応答は、UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含む。上記機能はさらに、UI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を記入することを含む。
【0026】
別の局面では、UIと、少なくとも1つのプロセッサと、命令(上記少なくとも1つのプロセッサによって実行されると、当該少なくとも1つのプロセッサに機能を行なわせる
)を格納した非一時的なコンピュータ可読媒体とを備えるシステムが提供される。上記システムは、ユーザ機器のアプリケーションにおいて自動記入を行うための認証を受信する手段を備える。上記システムはさらに、自動記入トリガイベントを検出する手段を備える。上記システムはさらに、自動記入トリガイベントの検出に応答して、UI上に表示された内容のサブセットを判定する手段を備える。上記サブセットは、ユーザ固有の情報を含まない。上記システムはさらに、アプリケーションにおける自動記入に使用するための候補データの要求をリモートプロバイダに送信する手段を備える。上記要求は、UI上に表示された内容のサブセットを含む。上記システムはさらに、リモートプロバイダからの応答を受信する手段を備える。上記応答は、UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含むデータセットを含む。上記システムはさらに、UI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を記入する手段を備える。
【0027】
上述の概要は例示にすぎず、決して限定することを意図するものではない。図および以下の詳細な説明および添付の図面を参照することによって、上述の例示的な局面、実施形態、および特徴に加えて、さらなる局面、実施形態、および特徴が明らかになるであろう。
【0028】
なお、上述のいずれの特徴も、本発明のいずれの特定の局面または実施形態においても用いることが可能である。
【図面の簡単な説明】
【0029】
図1】例示的な実施形態に従って、分散コンピューティングアーキテクチャを示す図である。
図2】例示的な実施形態に従って、方法のフローチャートを示す図である。
図3A】例示的な実施形態に従って、自動記入を設定するようユーザに促すプロンプトを示す図である。
図3B】例示的な実施形態に従って、ユーザ機器のUIを介して選択されるように表示されたデータセット識別子を示す図である。
図3C】例示的な実施形態に従って、ユーザ機器のUIを介して選択されるように表示された複数のデータセット識別子を示す図である。
図3D】例示的な実施形態に従って、生体入力データを引き出すためのセキュアな認証プロンプトに関連するユーザインターフェイス機能を示す図である。
図3E】例示的な実施形態に従って、カード照合コードを引き出すためのセキュアな認証プロンプトに関連するユーザインターフェイス機能を示す図である。
図3F】例示的な実施形態に従って、ユーザ機器のUI上に表示された対応するテキスト入力フィールドに記入された値を示す図である。
図4A】例示的な実施形態に従って、UI上に表示されたアプリケーションのテキスト入力フィールドへのユーザによるデータ手入力に関連するユーザインターフェイス機能を示す図である。
図4B】例示的な実施形態に従って、図4Aに示すユーザによるデータ手入力に関連する確認メッセージおよびデータ保存プロンプトを示す図である。
図5】例示的な実施形態に従って例示的なコンピューティングデバイスを示す機能ブロック図である。
【発明を実施するための形態】
【0030】
詳細な説明
例示的な方法およびシステムを本明細書に記載する。本明細書に記載の例示的な実施形態または特徴はすべて、必ずしも他の実施形態または特徴よりも好ましい、または有利であると解釈すべきではない。本明細書に記載の例示的な実施形態は、限定することを意図
するものではない。開示されたシステムおよび方法のある局面が種々の異なる構成で配置および組み合わせ可能であることは、容易に理解されるであろう。本明細書ではそれらのすべてが企図されている。
【0031】
さらに、図示される特定の配置は、限定的であるとみなすべきではない。他の実施形態では、提示された図中の各要素の数を増減させることも可能であるということを理解すべきである。さらに、図示された要素のうちの一部を組み合わせること、または省略することも可能である。さらに、ある例示的な実施形態は、図示されていない要素を含む場合もある。
【0032】
本明細書で概括的に記載および図示される本開示の局面は、種々の異なる構成で配置、置換、組み合わせ、分離、および設計され得ることが容易に理解されるであろう。本明細書ではそれらのすべてが企図されている。
【0033】
I.概略
携帯機器、携帯電話、パソコン、およびタブレットなどのユーザ機器は、現代の通信ネットワーク内の至る所に存在する。これらのデバイスのうちの多くは、このようなネットワーク内の通信を円滑化しながら1つ以上のアプリケーションを実行することが可能である。さらに、これらのデバイスのうちの多くは、ユーザがユーザ機器と対話することを可能にする1つ以上のUIを提供する。
【0034】
例えば、ユーザはUIを用いて、画像、テキスト、および他のグラフィック要素の使用により、ユーザ機器上のアプリケーションで使用される情報を通信することが可能である。UIは、ユーザ機器に接続された多数のデバイスから入力を受け付けることも可能である。これらの多数のデバイスの例としては、タッチスクリーン、存在感知ディスプレイ、コンピュータマウス、キーボード、および、ユーザによるUI、さらにはアプリケーションの制御を可能にする他のデバイスなどがある。
【0035】
最適なシナリオであれば、ユーザは効果的かつ効率的にUIを用いて情報を通信することができるであろう。しかしながら、1つ以上の要因によって、ユーザのそのような能力が制限される場合がある。このような制限下で動作する場合、より多くの情報を通信する必要性が増すほど、その情報を効果的かつ効率的に通信する能力がますます制限される恐れがある。
【0036】
一例として、画面が小さいユーザ機器の場合、アプリケーションによって使用される情報を通信するために膨大な量のテキストをUIに打ち込むことは、非常に困難な場合がある。特に、ユーザにとってテキストが記憶しにくいものである場合はなおさらである。したがって、ユーザが当該アプリケーションを次回使用するときに情報を再度通信しなくてもよいように、アプリケーションが当該情報を記憶することができれば好都合である。しかしながら、当然のことながら、ユーザが通信しようとするするアプリケーション数が増加すると、UIを用いてそれらのアプリケーションの各々に膨大な量のテキストを通信することは、ユーザにとって大きな負担になり得る(初めての場合であっても、そうではない場合であっても)。このことは、たとえユーザによって入力された情報を個々のアプリケーションが記憶したとしても然りである。結果としてユーザは、そのような情報の入力を促されると、それらのアプリケーションへの関心が薄れる(または、それらの使用を完全に断念する)かもしれない。
【0037】
本明細書では、リモートプロバイダの助けを借りて、複数のアプリケーションを横断して自動記入を円滑化するための仲介役としてユーザ機器のオペレーティングシステムを機能させることにより、ユーザ機器のユーザが効果的かつ効率的にそれらのアプリケーショ
ンで使用される情報を通信することが可能になる方法、システム、およびデバイスに関する例示的な実施形態を開示する。具体的には、本明細書で開示する例示的な実施形態では、部分的には、自動記入を有効にし、いずれかの認証されたリモートプロバイダに自動記入用のデータ提供を許可し、自動記入データを検索し、後で使用するために自動記入データを保存することによって、ユーザはユーザ機器のオペレーティングシステムレベルで自動記入を使用することが可能になる。
【0038】
本開示に係る実施形態の一例では、ユーザ機器のオペレーティングシステムは、ユーザ機器のUI上に表示されたアプリケーションにおいて自動記入を行うためのユーザによる認証を受信してもよい。例えば、自動記入を有効にするために、オペレーティングシステムは、テキスト入力フィールドが共通の自動記入ディスクリプタに関連しているか否か(例えば、テキスト入力フィールドが「パスワード」または「ユーザ名」などの項目に関連しているか否か)を判定し、次いで、自動記入を設定するようユーザに促してもよい。さらなる一局面では、自動記入の円滑化を手助けするために指定されたリモートプロバイダをユーザが1つしか有しない場合は、そのリモートプロバイダの使用に同意するようユーザに促してもよい。一方、指定されたリモートプロバイダが複数ある場合は、1つ以上のリモートプロバイダを選択するようユーザに促してもよい。しかしながら、いずれのシナリオであっても、オペレーティングシステムを用いて自動記入機能を行なうためにはユーザ固有の機密情報および/または個人情報が必要となり得るので、オペレーティングシステムは、自動記入の認証に内在する詳細をユーザに通知してもよい。それらの詳細は、オペレーティングシステムに関する詳細な取り決め、および/または各リモートプロバイダに関する免責事項を受諾することを含み得る。これにより、それらのリモートプロバイダのうちの1つ以上を用いた自動記入の使用をユーザが認証する前に、ユーザに情報を与えて同意を確認することができる。
【0039】
さらなる一局面では、オペレーティングシステムは、当該オペレーティングシステムをトリガしてUI上に表示された内容を確認させるイベントを検出してもよい。例示的な実施形態では、このイベントは、アプリケーションの起動、アプリケーション上のテキスト入力フィールドの選択、または、テキスト入力フィールドがフォーカスを持つこと(例えば、特定のテキストフィールドがアクティブになり、キーボードがUI上に表示されること)を示す信号を含み得るが、他にも多数の例があり得る。
【0040】
そのようなイベントをオペレーティングシステムが検出し、UI上に表示された内容を確認すると、オペレーティングシステムは、当該内容のうちのどの部分がユーザ固有の機密情報を含んでいないかを判定してもよい。さらなる一局面では、内容のうちの当該部分を利用して、オペレーティングシステムは、アプリケーションで使用する候補データを提供することによって、当該アプリケーションにおける自動記入の円滑化の手助けを求める要求をリモートプロバイダに送信してもよい。この実施形態では、そのような要求は、オペレーティングシステムおよびユーザの両方にとって有益であり得る。なぜなら、それによってリモートプロバイダは、UI上に表示された内容を安全かつプライベートにパースし、アプリケーションにおける自動記入の円滑化にはいずれの情報が有用であるかを判定する(例えば、アプリケーション上のいずれのテキスト入力フィールドが自動記入可能であるかを判定する)ことが可能だからである。
【0041】
そのような要求がリモートプロバイダに送信されると、オペレーティングシステムは、UI上に表示されたアプリケーションの1つ以上のテキスト入力フィールドに対応する候補値のセットを含む、要求への応答を受信してもよい。また、さらなる実施形態では、オペレーティングシステムは、リモートプロバイダからそのような応答を実際に受信する前に、セキュアな認証プロンプトを表示し、このプロンプトに向けられたユーザ入力データを受信してもよい。このセキュアな認証プロンプトは生体入力情報の要求を含み得るが、
他にも多数の例があり得る。
【0042】
いずれにしても、この応答が受信されると、オペレーティングシステムは、UI上に表示されたアプリケーションのテキスト入力フィールドに、対応する1つ以上の候補値を記入してもよい。
【0043】
別の一実施形態では、上記応答は、候補値のセットに対応するデータセット識別子を含んでもよい。候補値のセットが上記応答の中に複数含まれている場合、その各々に識別子を付与することは、その中に含まれた情報をユーザおよびオペレーティングシステムが管理するのに好都合であり得る。また、さらなる実施形態では、オペレーティングシステムは、リモートプロバイダからの応答を受信する前に、セキュアな認証プロンプトを表示し、プロンプトに向けられたユーザ入力データを受信してもよい。このセキュアな認証プロンプトはカード照合コードまたは個人識別番号の要求を含み得るが、他にも多数の例があり得る。
【0044】
上記応答が受信されると、オペレーティングシステムは、この応答に含まれた1つまたは複数のデータセット識別子を表示してもよい。次いで、オペレーティングシステムは、アプリケーションのテキスト入力フィールドへの記入に使用する値に対応するデータセット識別子をユーザが選択したことを示す、ユーザからの入力データを受信してもよい。一実施形態では、リモートプロバイダから受信された候補値のセットに対応する識別子は、ユーザが選択できるように表示されてもよい。さらなる一局面では、この表示された情報は識別子のリスト(ドロップダウンメニューまたは他の形式)であり、各識別子は、リモートプロバイダから受信された候補値のセットに対応してもよい。さらなる一局面では、データセット識別子が選択されると、オペレーティングシステムは、UI上に表示されたアプリケーションのテキスト入力フィールドに、選択されたデータセット識別子に対応する候補値のセットを記入してもよい。
【0045】
別の一実施形態では、ユーザがデータセットを選択する前に、これらの候補値を記入可能なテキスト入力フィールドに記入インジケータ(リモートプロバイダから受信されたグラフィック形式、または他の形式)を表示してもよい。さらに別の一実施形態では、オペレーティングシステムは、識別子のリストの中からユーザが予備選択したデータセット識別子を受信し、予備選択されたデータセット識別子に関連する候補値を記入可能なアプリケーションのテキスト入力フィールドに記入インジケータを表示してもよい。
【0046】
別の一実施形態では、UI上に表示されたアプリケーションのテキスト入力フィールドに手動でデータが入力された後、ユーザデータを後で自動記入に使用するためにリモートプロバイダに提供してもよい。より具体的には、オペレーティングシステムは、データを受信した後、この入力データを後で使用するために保存するようユーザに促し、アプリケーションにおける自動記入の円滑化を手助けするようにユーザが選択したリモートプロバイダに、そのデータを送信する。一実施形態では、自動記入用のそのような入力データを保存するためには、入力データが入力されてキーボードが閉じられたときに、その入力データを後で自動記入に使用するために保存するようユーザに促してもよい。さらなる一局面では、このようなデータの保存は、オペレーティングシステムが入力データをリモートプロバイダに即座に送信することによって行なわれてもよい。あるいは、ユーザがプロンプトに応答するまでオペレーティングシステムが一時的にデータを保持し、応答した時点でオペレーティングシステムがデータをリモートプロバイダに送信することによって行なわれてもよい。
【0047】
II.分散コンピューティングアーキテクチャ
以下では、さまざまな実施形態に詳細に言及する。これらの実施形態の例が添付の図面
に示されている。以下の詳細な説明では、本開示および記載された実施形態の十分な理解を提供するために、多くの具体的詳細が説明されている。しかしながら、本開示は、それらの具体的詳細がなくても実践することが可能である。他の例では、実施形態の局面を不必要に不鮮明にしないようにするために、公知の方法、手順、構成要素、および回路を詳細には説明していない。
【0048】
図1は、例示的な実施形態に従って、ネットワーク106を介して、ユーザ機器104a、104b、104c、104d、104eおよびリモートプロバイダ112、114と通信するように構成されたサーバデバイス108、110を含む分散コンピューティングアーキテクチャ100を示す。ネットワーク106は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、企業のイントラネット、公衆インターネット、または、ネットワークで結ばれたコンピューティングデバイス間の通信経路を提供するように構成された他の如何なる種類のネットワークに対応するものであってもよい。ネットワーク106は、1つ以上のLAN、WAN、企業のイントラネット、および/または公衆インターネットの組み合わせに対応するものであってもよい。
【0049】
図1はユーザ機器の小さな集まりを示しているにすぎないが、分散アプリケーションアーキテクチャは、数十、数百、または数千のユーザ機器を提供してもよい。さらに、ユーザ機器104a、104b、104c、104d、104e(または任意の追加のプログラム可能なデバイス)は、リモートプロバイダの助けを借りて、ユーザがコンピューティングデバイスのオペレーティングシステムを用いて複数のアプリケーションを横断して自動記入を円滑化することが可能な、如何なる種類のコンピューティングデバイスであってもよい。例えば、一般的なラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルコンピューティングデバイス、携帯型コンピューティングデバイス、ヘッドマウントデバイス(HMD)、ネットワーク端末、無線通信デバイス(例えば、スマートフォンまたは携帯電話)などである。ある実施形態では、ユーザ機器104a、104b、および104cによって示されるように、ユーザ機器は、ネットワーク106に直接的に接続されてもよい。他の実施形態では、ユーザ機器104dおよび104eによって示されるように、ユーザ機器は、ユーザ機器104cなどの関連コンピューティングデバイスを介して、ネットワーク106に間接的に接続されてもよい。このような実施形態では、ユーザ機器104cは、ユーザ機器104dおよび104eとネットワーク106との間で電子情報を伝達する関連コンピューティングデバイスとして機能し得る。図1には示さないが、さらに他の実施形態では、1つのユーザ機器が直接的かつ間接的にネットワーク106に接続されてもよい。
【0050】
サーバデバイス108、110は、要求に応じてコンピュータおよび他のデバイスに対してコンピュータ処理リソースおよびデータを共有するクラウド型サーバシステムの一部として動作してもよい。特に、サーバデバイス108、110は、 ユーザ機器104a
~104eによって要求された1つ以上のサービスを行なうように構成されてもよい。例えば、サーバデバイス108および/または110は、ユーザ機器104a~104eにコンテンツを提供してもよい。さらなる一局面では、サーバデバイス108および/または110は、直接的に、または、第三者によって要求されたコンテンツの送信を促進することによって、ユーザ機器104a~104eにコンテンツを提供してもよい。コンテンツは、ウェブページ、ハイパーテキスト、スクリプト、バイナリデータ(例えば、コンパイルされたソフトウェア)、画像、音声、および/または動画を含み得るが、これらに限定されない。コンテンツは、圧縮されたコンテンツ、および/または圧縮されていないコンテンツを含み得る。コンテンツは、暗号化されたコンテンツ、および/または暗号化されていないコンテンツを含み得る。
【0051】
リモートプロバイダ112、114は、要求に応じてコンピュータおよび他のデバイス
に対してコンピュータ処理リソースおよびデータを共有するクラウド型サーバシステムの一部として動作してもよい。特に、リモートプロバイダ112、114は、例示的な実施形態に従って、ネットワーク106上のコンテンツを提供、受信、記憶、管理、および送信してもよい。例えば、リモートプロバイダ112および/または114は、ユーザ機器104a~104eによって使用されるコンテンツの要求を受信し、そのコンテンツを含む応答を生成するとともに、ネットワークに接続されたデバイスにその応答を送信してもよい。
【0052】
例として、サーバデバイス108および/または110は、リモートプロバイダ112および/または114の助けを借りて、ユーザ機器104a~104e上の複数のアプリケーションを横断して自動記入を円滑化するコンテンツを提供してもよい。さらに、サーバデバイス108および/または110は、データベース、検索、演算、グラフィック、音声、動画、ワールド・ワイド・ウェブ/インターネットの利用、および/または他の機能のためのソフトウェアへのアクセスをユーザ機器104a~104eに提供してもよい。他にも多数のコンテンツの例があり得る。
【0053】
III.方法フローチャートおよび例示的な実施形態
図2は、リモートプロバイダの助けを借りて、ユーザがユーザ機器のオペレーティングシステムを用いて複数のアプリケーションを横断して自動記入を円滑化することを可能にするために行なわれ得る方法200を示すフローチャートである。図1で図示および説明するように、方法200は、ユーザ機器104a~104eおよびリモートプロバイダ112および/または114などの1つ以上のコンピューティングデバイス(場合によっては、さらにサーバ108および/または110)によって実行されてもよい。さらなる例では、方法200は、クラウド型システムの一部として動作するユーザ機器104a~104eおよびリモートプロバイダ112および/または114(場合によっては、さらにサーバ108および/または110)によって実行されてもよい。さらに、方法200は、図1に具体的に示したコンピューティングデバイス以外の1つ以上の他の種類のコンピューティングデバイスによって行なわれてもよい。
【0054】
なお、以下では方法200のステップがオペレーティングシステムによって完結されるものとして説明しているが、ユーザ機器に関連する他の構成要素、アプリケーション、および/または技術が方法200のステップを行なってもよい。
【0055】
なお、本明細書でフローチャートに関連して記載される機能は、特殊機能および/または設定された一般的機能のハードウェアモジュールとして実現されてもよいし、図2に示すフローチャートに関連して記載される特定の論理機能、判定、および/またはステップを実現するためにプロセッサによって実行されるプログラムコードの一部として実現されてもよい。プログラムコードが用いられる場合は、プログラムコードは、例えばディスクまたはハードドライブを含む記憶装置など、任意の種類のコンピュータ可読媒体に格納されてもよい。
【0056】
さらに、図2に示されるフローチャートの各ブロックは、処理における特定の論理機能を行なうように配線された回路を表わしてもよい。特に断りのない限り、図2に示すフローチャートにおける機能は、図示または記載とは異なる順序で実行してもよい。記載される方法の全体としての機能が維持されるならば、関与する機能に応じて、例えば別々に記載された機能を実質的に同時に実行してもよいし、場合によっては逆の順序で実行してもよい。
【0057】
ブロック210において、方法200は、ユーザ機器のUI上に表示されたアプリケーションにおいて自動記入を行うための認証を、UIを介してユーザ機器のオペレーティン
グシステムが受信することを含んでもよい。具体的には、ユーザは、コンピューティングデバイスとの対話中に、そのデバイス上の、あるアプリケーションと対話することを決定し得る。しかしながら、ユーザがアプリケーションを選択した時、または選択する前に、ユーザは、そのアプリケーションおよび/または他アプリケーションにおける自動記入を円滑化するために携帯機器のオペレーティングシステムに認証を与えるよう促され得る。より具体的には、オペレーティングシステムは、ユーザがアプリケーションと対話中であること、および、オペレーティングシステムが把握している内容で、かつアプリケーションの自動記入に関係のある内容が存在することを認識し得る。次いで、このデータに従って、オペレーティングシステムは、アプリケーションにおいて自動記入を行うための認証をオペレーティングシステムに与えるようユーザに促してもよい。これにより、ユーザとユーザインターフェイス機能との対話、および/またはユーザインターフェイス機能の応答性が向上し得る。
【0058】
概して、オペレーティングシステムは、自動記入に共通に関連するある特定のデータを認識してもよい。一例では、オペレーティングシステムは、アプリケーションに関連するテキスト入力フィールドが共通の自動記入ディスクリプタ(例えば、「パスワード」または「ユーザ名」)を含む、またはそれに関連するということを認識してもよい。それに応答して、この例では、オペレーティングシステムは、自動記入を設定するようユーザに促してもよい。
【0059】
ある例では、このプロンプトへのユーザの応答の前、後、または最中に、オペレーティングシステムは、自動記入の円滑化をさらに手助けするために、1つ以上のリモートプロバイダのリストをコンパイルしてもよい。一局面では、自動記入の円滑化を手助けするために指定されたリモートプロバイダが1つしかない場合には、そのリモートプロバイダの使用に同意するようユーザに促してもよい。一方、別の一局面では、自動記入の円滑化を手助けするために指定されたリモートプロバイダが複数ある場合には、1つのリモートプロバイダを選択するようユーザに促し、さらに当該リモートプロバイダの使用に同意するようユーザに促してもよい。さらに別の一局面では、ユーザは2つ以上のリモートプロバイダを選択可能であってもよい。その場合もやはり、選択された各リモートプロバイダの使用に同意するようユーザに促してもよい。
【0060】
概して、いずれのシナリオにおいても、オペレーティングシステムは自動記入を行う際に、機密情報および/または個人情報を確認してもよい。この自動記入の使用に同意する前にその詳細を知ることは、ユーザにとって好都合であり得る。具体的には、オペレーティングシステムは機密情報および/または個人情報を含むデバイス上の内容を確認することが可能であるので、オペレーティングシステムは、自動記入を行う前に、当該自動記入の認証に内在する詳細をユーザに知らせることができる。
【0061】
さらなる一局面では、選択されたリモートプロバイダは、通常はユーザが提供しない何らかの情報を受信する可能性があるので、ユーザが選択した各自動記入プロバイダの使用に関する条件を含む取り決めを承諾するように、ユーザに促してもよい。ある例では、自動記入プロバイダの使用に関する詳細をユーザが十分に理解することを確実にするために、自動記入の使用を認証する前に、取り決めの承諾をユーザに促してもよい。この取り決めは、オペレーティングシステム、および/または自動記入のためにユーザが選択した各自動記入プロバイダの使用に関する免責事項を含み得る。
【0062】
さらに他の例では、自動記入の使用を認証する前に、照合送信プロンプトをユーザに示してもよい。この照合送信プロンプトは、UI上に表示された1つ以上のテキスト入力フィールドに入力された1つ以上の値をリモートプロバイダに送信することを、オペレーティングシステムに認証するものである。例えば、ユーザは、オペレーティングシステムが
自動記入の設定をユーザに促す基礎となったアプリケーションとは別のアプリケーション(「第2のアプリケーション」)に、1つ以上の値を入力した場合もある。さらなる一局面では、オペレーティングシステムは、ユーザによって認証されると、後で使用するために1つ以上の値をリモートプロバイダに送信してもよい。
【0063】
ブロック220において、方法200はさらに、アプリケーションがUI上に表示されている間に、自動記入トリガイベントをオペレーティングシステムが検出することを含む。自動記入トリガイベントは、ユーザ機器、またはユーザ機器上のアプリケーションの現在の状態(ユーザによる、デバイスとの対話の状態を含む)に関する情報を提供してもよい。自動記入トリガイベントを用いることにより、適切な時点で、認証された自動記入をいつ行うべきかをオペレーティングシステムが知るのを手助けすることも可能である。ある例では、自動記入トリガイベントは、デバイスとの直接的または間接的なユーザ対話であってもよい。ただし、概して、自動記入がユーザによって承諾されると、デバイスとのユーザ対話はオペレーティングシステムによって監視され得る。
【0064】
一実施形態では、例として、自動記入トリガイベントは、ユーザ機器との直接的なユーザ対話に関連するデータによって示されてもよい。例えば、ユーザによるアプリケーションの起動、ユーザによるアプリケーションのテキスト入力フィールドの選択、または、1つ以上のアプリケーションにおける自動記入の設定するためのユーザからの要求などがあるが、他にも多数のシナリオがあり得る。
【0065】
他の例では、自動記入トリガイベントは、ユーザ機器との間接的なユーザ対話に関連するデータを含み得る。例えば、アプリケーションが起動されたことを示す信号、または、アプリケーションのテキスト入力フィールドもしくはユーザ機器のUI上に表示された内容の他の何らかのパラメータがフォーカスを持つことを示す信号などがあるが、他にも多数のシナリオがあり得る。さらなる一局面では、ユーザによるユーザ機器との間接的な対話は、キーボードなどのグラフィックまたはGUIがUI上に表示されることによって反映されてもよい。
【0066】
ブロック230において、方法200はさらに、自動記入トリガイベントの検出に応答して、UI上に表示された内容のサブセットをオペレーティングシステムが判定することを含んでもよい。このサブセットは、ユーザ固有の情報を含まない。
【0067】
概して、UI上に表示された内容とは、オペレーティングシステムが把握することのできるアプリケーションに関連する任意の情報を指す。一例では、上記内容は、ユーザ機器のUI上に表示された内容の現在のビュー階層を含み得る。ただし、上記内容は機密および/またはプライベートな情報を含み得るので、オペレーティングシステムは、ユーザ固有の情報を含まない内容のサブセットのみを判定する。
【0068】
ある例では、ユーザ固有の情報は、個人識別情報、または、単独もしくは他の情報を伴って使用することによってある1人の人間を識別し、接触し、もしくは突き止めること、または、他の情報もしくはデータに照らして個人を識別することが可能な他の任意の情報を含み得る。さらなる例では、ユーザ固有の情報は、ユーザが機密および/またはプライベートな情報として指定した情報を含み得る。
【0069】
さらに他の例では、ユーザ固有の情報は、ユーザに関連する1つ以上の要素に基づいて機密および/またはプライベートな情報として指定された情報を含み得る。例えば、ユーザ固有の情報は、ユーザ、ユーザ機器、および/またはリモートプロバイダが位置する地理的領域に基づいて機密および/またはプライベートな情報として指定された情報を含み得るが、他にも多数の可能性があり得る。他の例では、ユーザ固有の情報は、ユーザの属
性(例えば、ユーザの年齢)に基づいて機密および/またはプライベートな情報として指定された情報を含み得る。
【0070】
ブロック240において、方法200はさらに、アプリケーションにおいて自動記入で使用するための候補データの要求を、オペレーティングシステムがリモートプロバイダに送信することを含んでもよい。この要求は、UI上に表示された内容のサブセットを含む。候補データの要求は、ユーザ機器での自動記入の使用の円滑化を手助けするために選択されたリモートプロバイダに送信される。具体的には、ユーザ固有の情報を含まない表示内容のサブセットに基づいて、オペレーティングシステムは、当該内容のサブセット内の情報またはそのセブセットに関連する情報を含む要求をリモートプロバイダに送信してもよい。これによって、特に、UI上に表示された記入可能なフィールドについてリモートプロバイダに注意喚起することができる。いずれにせよ、この要求は、オペレーティングシステムおよびユーザの両方にとって有益であり得る。なぜなら、それによってリモートプロバイダは、UI上に表示された内容を安全かつプライベートにパースし、アプリケーションにおける自動記入の円滑化にはいずれの情報が有用であるかを判定(例えば、アプリケーション上のいずれのテキスト入力フィールドが自動記入可能であるかを判定)することができるからである。
【0071】
ある例では、上記要求は、UI上に表示されたテキスト入力フィールドに関連する情報を含み得る。一局面では、この情報は、テキスト入力フィールドに関連する1つ以上のディスクリプタを含み得る。例えば、ディスクリプタは、「名前」、「ユーザ名」、「Eメール」、「パスワード」、「アドレス」、「市」、「状態」、「郵便番号」、「国」、「口座番号」、および/または「カード番号」などの項目を含み得るが、他にも多数の可能性があり得る。
【0072】
他の例では、上記要求は、ユーザ機器の現在のビュー階層に関連する情報を含み得る。一局面では、この情報は、UI上に表示された内容のサブセットをコンパイルまたは維持することに関連する情報(例えば、根底にあるスクリプトおよび/またはコード)を含み得る。別の一局面では、この情報は、UI上に表示された内容のサブセットの何らかの近似物に関連する情報(例えば、内容のサブセットのワイヤフレーム表示)を含み得る。さらに別の一局面では、この情報は、UI上に表示された内容のサブセットのアーキテクチャに関連する情報(例えば、相対レイアウト、線形レイアウト、ボタン、表のレイアウト、表の行、チェックボックス、および/または他の要素に関連する情報)を含み得る。
【0073】
ブロック250において、方法200はさらに、リモートプロバイダからの応答をオペレーティングシステムが受信することを含んでもよい。この応答は、UI上に表示された1つ以上のテキスト入力フィールドに対応する1つ以上の候補値を含む。概して、リモートプロバイダから受信された応答は、自動記入の円滑化においてオペレーティングシステムにとって役立つデータを提供し得る。
【0074】
一例では、上記応答は、第一に、自動記入の円滑化においてオペレーティングシステムにとって役立つデータを含み得る。例えば、上記応答は、UI上に表示されたアプリケーションの1つ以上のテキスト入力フィールドに対応する候補値のセットを含むデータセットを含んでもよい。
【0075】
別の一実施形態では、リモートプロバイダから受信された応答は、オペレーティングシステムによって要求された情報を開示する前に、ユーザからさらなる入力データを引き出してもよい。具体的には、ある実施形態では、上記応答は、オペレーティングシステムによって要求されたデータセットを送信する前に、ユーザに関連するデータの入力を引き出すための予備通信信号を含んでもよい。ある例では、この入力データは、ユーザの指紋ま
たは他の何らかの生体データに関連するデータを含んでもよい。さらなる一局面では、このような入力データの要求がオペレーティングシステムによって受信されると、オペレーティングシステムは、この要求をユーザに通知するためのセキュアな認証プロンプトを生成し、表示してもよい。さらに他の局面では、オペレーティングシステムは、入力データの受信を促進し、確認信号(入力データを含み得る)をリモートプロバイダに送信してもよい。例えば、要求されたデータがユーザの指紋データに関するものである場合、オペレーティングシステムは、ユーザの指紋データを引き出すためのセキュアな認証プロンプトを表示し、ユーザの指紋データを得るための1つ以上のセンサを制御し、それらのセンサのうちの1つ以上を介してユーザの指紋データを受信し、次いで確認信号(ユーザの指紋データを含み得る)を生成してリモートプロバイダに送信してもよい。当然のことながら、他の例も可能である。
【0076】
ブロック260において、方法200はさらに、オペレーティングシステムが、UI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を記入することを含んでもよい。概して、オペレーティングシステムは、UI上に表示された1つ以上のテキスト入力フィールドに、対応する1つ以上の候補値を正確かつ完全に記入することを保証することができる。
【0077】
一局面では、オペレーティングシステムは、対応する1つ以上の候補値をテキスト入力フィールドに記入する前に、UI上で候補値を記入すべきテキスト入力フィールドの位置および順序を決定し、それに応じて候補値を順に並べてもよい。
【0078】
別の一局面では、オペレーティングシステムは、自動記入に使用される1つ以上の候補値に対応する1つ以上のテキスト入力フィールドが実際にUI上に表示されているか否かを判定してもよい。例えば、自動記入に使用される候補値が「ユーザ名」、「パスワード」、および「アドレス」のテキスト入力フィールドに対応しているにもかかわらず、UI上には「ユーザ名」および「パスワード」のテキスト入力フィールドしか表示されていないとオペレーティングシステムが判定した場合、オペレーティングシステムはさらなる措置を講じてもよい。一例では、オペレーティングシステムは、無関係な候補値を単に無視してもよい。別の一例では、オペレーティングシステムは、無関係な候補値が間違って送信された旨をリモートプロバイダに通知するメッセージを送信してもよい。
【0079】
さらに別の一局面では、オペレーティングシステムは、対応する1つ以上の候補値が実際に1つ以上のテキスト入力フィールドに記入可能であるかを判定してもよい。例えば、自動記入に使用される候補値のうちの1つ以上が対応のテキスト入力フィールドのパラメータに適合しない場合には、オペレーティングシステムはさらなる措置を講じてもよい。一例では、対応するテキスト入力フィールドの1つ以上の必要条件に照らして、候補値は不適合な文字(例えば、多すぎる文字数、不適切な文字種など)を含む場合がある。例えば、テキスト入力フィールドが3桁の数字のカード照合コードを要求しており、かつ、対応する候補値が「Faulkner」という単語であった場合、この候補値は、少なくとも2つの理由により不適合な文字を含むことになり得る(不適合な長さ、および不適合な文字種)。それに応答して、一例では、オペレーティングシステムは、不適合な候補値を単に無視してもよい。別の一例では、オペレーティングシステムは、不適合な候補値が間違って送信された旨をリモートプロバイダに通知するメッセージを送信してもよい。さらに別に一例では、オペレーティングシステムは、不適合な候補値の一部(例えば、最初の3文字「Fau」)を用いて、テキスト入力フィールドの必要条件のうちの1つ以上に近似させてもよい。当然のことながら、他の例も可能である。
【0080】
IV.さらなる例示的な実施形態
他の実施形態では、本明細書に記載の方法は、リモートプロバイダからの応答をオペレ
ーティングシステムが受信することをさらに含んでもよい。この応答は、データセット識別子を含むデータセットを含んでもよい。
【0081】
一例では、上記応答は、UI上に表示されたアプリケーションの1つ以上のテキスト入力フィールドに対応する候補値のセットと、この候補値のセットに関連するデータセット識別子とを含むデータセットを含んでもよい。別の一例では、上記応答は複数のデータセットを含み、各データセットが、UI上に表示されたアプリケーションの1つ以上のテキスト入力フィールドに対応する候補値のセットと、その候補値のセットに関連するデータセット識別子とを個別的に含んでもよい。
【0082】
なお、候補値のセットに関連するデータセット識別子を受信することは、オペレーティングシステムおよびユーザの両方にとって好都合であり得る(というのは、自動記入に使用するデータを決定する際に、ユーザは候補データのうちのすべてのデータを検討する必要がないからである)が、上記応答に候補値のセットが複数含まれる場合には、それらの各々に関連する識別子を有することは、その中に含まれる情報を管理するのに役立ち得る。
【0083】
さらなる一局面では、本明細書に記載の方法は、オペレーティングシステムが、UIを介してデータセット識別子を選択させるために表示することを含んでもよい。概して、リモートプロバイダから受信されたデータセット識別子は、UI上に表示された記入可能なフィールドに対応する候補データのセットに関連付けられてもよい。
【0084】
一例では、上記応答は、自動記入に使用される関連候補データをユーザが特定するのに役立つデータセット識別子を含んでもよい。例えば、UI上に表示されたアプリケーションの1つ以上のテキスト入力フィールドに対応する候補値のセットと、この候補値のセットに関連するデータセット識別子とを含むデータセットを上記応答が含む場合、自動記入に使用される関連候補値をユーザが把握するのを手助けするために、このデータセット識別子がUI上に表示されてもよい。別の一例では、上記応答が複数のデータセットを含み、各データセットがUI上に表示されたアプリケーションの1つ以上のテキスト入力フィールドに対応する候補値のセットと、各候補値のセットに関連するデータセット識別子とを個別的に含む場合、各データセット識別子に関連する候補値をユーザが把握するのを手助けするために、それらのデータセット識別子がUI上に表示されてもよい。
【0085】
さらなる一局面では、1つまたは複数の候補値のセットに関連する1つまたは複数のデータセット識別子を表示することは、オペレーティングシステムおよびユーザの両方にとって好都合であり得る(というのは、オペレーティングシステムがいずれの候補値を自動記入に使用すべきかを決定する際に、ユーザはすべての候補データを検討するのではなく、表示されたデータセット識別子を選択し、その識別子に関連する候補値を使用することができるからである)。
【0086】
別の一例では、候補値のセットおよび関連する識別子が複数ある場合には、ユーザが選択できるように、それらの識別子は、その各々が候補値のセットに対応している識別子のリスト(ドロップダウンメニューまたは他の形式)として表示されてもよい。
【0087】
さらに別に一例では、候補値が記入され得るテキスト入力フィールドに記入インジケータが表示されてもよい。具体的には、記入インジケータは、いずれのテキスト入力フィールドに特定の候補値のセットが自動記入されるかを、自動記入を行う前にユーザに予め確認させることができる。さらに、記入インジケータは、オペレーティングシステムによって生成されたグラフィック(例えば、鉛筆の図形)の形式、またはリモートプロバイダから受信された特定のグラフィック(例えば、リモートプロバイダに関連する商標または図
形)の形式、または他の形式で表示されてもよい。一例では、オペレーティングシステムは、表示された識別子、または表示された識別子のリストの中からの識別子の予備選択を受信し、予備選択された識別子に関連する候補値が記入され得るアプリケーションのテキスト入力フィールドに記入インジケータを表示してもよい。別の一例では、オペレーティングシステムは、表示された識別子のリストの中の識別子のうちのいずれかに関連する候補値が記入され得るアプリケーションのテキスト入力フィールドに記入インジケータを表示してもよい。当然のことながら、他の例も可能である。
【0088】
本明細書に記載の方法はさらに、データセット識別子の選択を示す入力データをオペレーティングシステムが受信することを含んでもよい。概して、データセット識別子の選択を示す入力データを受信することは、ユーザがデータセット識別子およびその識別子に関連する候補値を自動記入に使用するために選択しているということを、オペレーティングシステムに示し得る。
【0089】
一例では、表示されたデータセット識別子の選択を示す入力データを受信することによって、オペレーティングシステムは、ユーザのさらなる行動を要することなく、選択された識別子に関連する候補値を自動記入に使用することができる。
【0090】
別の一例では、表示されたデータセット識別子は、選択されたリモートプロバイダから受信された予備通信信号を反映してもよい。この予備通信信号は、データセット識別子と、特に、要求されたデータを送信する前にさらなる入力データ(例えば、カード照合コード、個人識別番号など)をユーザから引き出し得るセキュアな認証プロンプトとを含み得る。
【0091】
さらなる一局面では、予備通信信号を受信すると、オペレーティングシステムは、入力データを引き出すためのセキュアな認証プロンプトを表示してもよい。さらに他の局面では、オペレーティングシステムは、入力データの受信を促進し、確認信号(入力データを含み得る)をリモートプロバイダに送信してもよい。一実施形態では、オペレーティングシステムは、この入力データを後で使用するために保存するようユーザに促してもよい。
【0092】
一方、別の一例では、表示されたデータセット識別子は、選択されたリモートプロバイダから受信された第1の予備通信信号(データセット識別子のみを含む)を反映してもよい。さらなる一局面では、それが受信されると、オペレーティングシステムはこのデータセット識別子の選択をリモートプロバイダに送信し、リモートプロバイダはそれに応答して第2の予備通信信号を送信してもよい。この第2の予備通信信号は、特に、要求されたデータを送信する前にさらなる入力データ(例えば、カード照合コード、個人識別番号など)をユーザから引き出し得るセキュアな認証プロンプトを含み得る。
【0093】
さらなる一局面では、この第2の予備通信信号を受信すると、オペレーティングシステムは、入力データを引き出すためのセキュアな認証プロンプトを表示してもよい。さらに他の局面では、オペレーティングシステムは、入力データの受信を促進し、確認信号(入力データを含み得る)をリモートプロバイダに送信してもよい。一実施形態では、オペレーティングシステムは、この入力データを後で使用するために保存するようユーザに促してもよい。
【0094】
V. さらなる説明のための図面および例示的な実施形態
図3Aは、例示的な実施形態に従って、自動記入の設定を促すプロンプトを示す図である。特に、携帯電話などのユーザ機器302は、当該ユーザ機器上にアプリケーション304の一部を表示し得る。アプリケーション304は、共通の自動記入ディスクリプタ306(例えば、「パスワード」)を含む、またはそれに関連するテキスト入力フィールド
を含んでもよい。この例では、ユーザ機器302のオペレーティングシステムが共通の自動記入ディスクリプタ306を認識すると、オペレーティングシステムは、自動記入を設定するように促すプロンプト308を表示する。さらなる例では、上述したように、ユーザが自動記入の設定を選択した後、自動記入の円滑化を手助けするための1つ以上のリモートプロバイダを選択するようユーザに促してもよい。また、選択されたプロバイダに関連する1つ以上の取り決めを確認し、承諾するようユーザに促してもよい。
【0095】
図3Bは、例示的な実施形態に従って、ユーザ機器のUIを介して選択されるように表示されたデータセット識別子を示す図である。特に、携帯電話などのユーザ機器302は、当該ユーザ機器上にアプリケーション304の一部を表示し得る。この例では、上述したように、アプリケーションのテキスト入力フィールドがフォーカス310を持つこと(ここでは、表示されたキーボードを介してフィールドにテキストを入力可能であることを示す縦線が、「Eメール」テキスト入力フィールドに置かれていること)に応答して、オペレーティングシステムはこのフォーカスを認識し、UI上に表示された、ユーザ固有の情報を含まない内容のサブセットを判定し、その内容のサブセットをリモートプロバイダに送信する。さらにオペレーティングシステムは、リモートプロバイダからの応答を受信すると、自動記入に使用される候補値に関連するデータセット識別子312を、ユーザが選択できるように表示する。さらなる例では、オペレーティングシステムは、候補値を記入すべきテキスト入力フィールドに記入インジケータ314(ここでは、鉛筆の図形)を表示してもよい。これは、表示された識別子の予備選択に影響されてもよい。
【0096】
図3Cは、例示的な実施形態に従って、ユーザ機器のUIを介して選択されるように表示された複数のデータセット識別子を示す図である。図3Bの例示的な実施形態とは異なり、ユーザ機器302のオペレーティングシステムは、リモートプロバイダからの応答を受信すると、自動記入に使用可能な候補値の各々に関連するデータセット識別子のリスト316を、ユーザが選択できるように表示する。さらなる例では、オペレーティングシステムは、候補値を記入すべきテキスト入力フィールドに記入インジケータ314(ここでは、鉛筆の図形)をさまざまな方法で表示してもよい。例えば、一局面では、オペレーティングシステムは、表示された識別子のリストの中からの識別子の予備選択を受信したことに基づいて、テキスト入力フィールドに記入インジケータ314を表示してもよい。一方、別の一例では、オペレーティングシステムは、表示された識別子のリストの中の識別子のうちのいずれかに関連する候補値が記入され得るテキスト入力フィールドに、記入インジケータ314を表示してもよい。当然のことながら、他の例も可能である。
【0097】
図3Dは、例示的な実施形態に従って、生体入力データを引き出すためのセキュアな認証プロンプトに関連するユーザインターフェイス機能を示す図である。この例では、前述の図面とは異なり、リモートプロバイダから受信された応答は、ユーザによって要求されたデータセットを送信する前に生体データの入力を引き出すための予備通信信号を含む。さらなる一局面では、オペレーティングシステムは、この要求をユーザに通知するためのセキュアな認証プロンプト318(ここでは、ユーザの指紋データを引き出すためのセキュアな認証プロンプト)を生成し、表示してもよい。さらに他の局面では、オペレーティングシステムは、入力データの受信を促進し、確認信号(入力データを含み得る)をリモートプロバイダに送信してもよい。
【0098】
図3Eは、例示的な実施形態に従って、カード照合コードを引き出すためのセキュアな認証プロンプトに関連するユーザインターフェイス機能を示す図である。特に、携帯電話などのユーザ機器302は、当該ユーザ機器上にアプリケーション304の一部を表示し得る。この例では、上述したように、リモートプロバイダから受信された応答は、自動記入に使用される候補値に関連する1つ以上のデータセット識別子を含む第1の予備通信信号を含む。次いで、自動記入に使用される候補値に関連する表示されたデータセット識別
子320の選択を示す入力データ(ここでは、表示されたデータセット識別子に対応するクレジットカード情報)を受信したことに応答して、オペレーティングシステムは、当該データセット識別子の選択をリモートプロバイダに送信し、セキュアな認証プロンプトを含む第2の予備通信信号を受信してもよい。この例では、オペレーティングシステムは、セキュアな認証プロンプト324(ここでは、選択されたデータセット識別子に関連するカード照合コードの要求)を表示してもよい。さらに他の局面では、オペレーティングシステムは、入力データの受信を促進し、確認信号(入力データを含み得る)をリモートプロバイダに送信してもよいし、および/または、この入力データを後で使用するために保存(326)するか否かをユーザに選択させてもよい。
【0099】
図3Fは、例示的な実施形態に従って、ユーザ機器のUI上に表示された対応する1つ以上のテキスト入力フィールドに記入される1つ以上の値を示す図である。特に、携帯電話などのユーザ機器302は、当該ユーザ機器上にアプリケーション304の一部を表示し得る。この例では、自動記入に使用される候補値に関連するデータセット識別子をユーザが選択したことを示す入力データを受信したことに応答して、オペレーティングシステムは、UI上に表示された対応する1つ以上のテキスト入力フィールドに1つ以上の候補値を入力(328)する。さらなる例では、オペレーティングシステムは、UI上に表示されたアプリケーションのテキスト入力フィールドが自動記入された旨をユーザに通知する確認メッセージ330を表示してもよい。さらなる一例では、オペレーティングシステムは、自動記入処理の間、当該オペレーティングシステムによって記入されたデータをアプリケーションのテキスト入力フィールドから消去可能であることをユーザに通知するための取消プロンプト332を表示してもよい。
【0100】
図4Aは、例示的な実施形態に従って、UI上に表示されたアプリケーションのテキスト入力フィールドへのユーザによるデータ手入力に関連するユーザインターフェイス機能を示す図である。より具体的には、携帯電話などのユーザ機器402は、当該ユーザ機器上にアプリケーション404の一部を表示し得る。この例では、ユーザは、携帯機器のオペレーティングシステムによる自動記入を認証したとしても、入力データを手動で第1のテキスト入力フィールド406(ここでは、「Eメール」テキスト入力フィールド)および第2のテキスト入力フィールド408(ここでは、「パスワード」テキスト入力フィールド)に入力し得る。さらなる一局面では、自動記入に使用される候補値に関連する1つ以上のデータセット識別子410が表示されていても、および/または、候補値を記入すべきテキスト入力フィールドに記入インジケータ412(ここでは、鉛筆の図形)が表示されていても、ユーザは入力データを手動で入力し得る。別の例示的な一実施形態では、ユーザがテキスト入力フィールドに手動で入力データを入力したことに応答して、オペレーティングシステムは、表示されたデータセット識別子、および/または自動記入に使用される関連候補値をフィルタにかけてもよい。それによって、表示されたデータセット識別子、および/または自動記入に使用される関連候補値を、ユーザが手動で入力した入力データに一致または対応するものに限定することができる。
【0101】
図4Bは、例示的な実施形態に従って、図4Aに示すUI上に表示されたアプリケーションのテキスト入力フィールドへのユーザによるデータ手入力に関連する、確認メッセージおよびデータ保存プロンプトを示す図である。具体的には、UI上に表示されたテキスト入力フィールドに関連する入力データをユーザが手動で入力すると、オペレーティングシステムは、UI上に表示されたアプリケーションのテキスト入力フィールドへの記入が行なわれた旨をユーザに通知するための確認メッセージ414を生成し、表示してもよい。さらなる一例では、オペレーティングシステムは、アプリケーションのテキスト入力フィールドに入力された入力データの保存をユーザに促すプロンプト416を表示してもよい。これは、選択されたリモートプロバイダに、後で自動記入に使用するために入力データを送信することを含んでもよい。さらなる一局面では、オペレーティングシステムは、
ユーザがプロンプトに応答するまでデータを一時的に保持し、応答した時点で当該データをリモートプロバイダに送信することによって、入力データを後で自動記入に使用するために保存してもよい。
【0102】
VI.コンピューティングデバイス
次に、図5を参照すると、図5は例示的な実施形態に従うコンピューティングデバイス500の機能ブロック図である。特に、図5に示すコンピューティングデバイス500は、前述のサーバデバイス108および/または110、および/またはリモートプロバイダ112および/または114、ユーザ機器104a~104eのうちのいずれか、方法200、ユーザ機器302、および/またはユーザ機器402の少なくとも1つの機能を行なうように構成されてもよい。
【0103】
コンピューティングデバイス500は、ユーザインターフェイスモジュール501、ネットワーク通信インターフェイスモジュール502、1つ以上のプロセッサ503、データストレージ504、および1つ以上のセンサ520を含んでもよく、これらのうちのすべてがシステムバス、ネットワーク、または他の接続メカニズム505を介して互いにリンクされてもよい。
【0104】
ユーザインターフェイスモジュール501は、外部のユーザ入力/出力デバイスとの間でデータを送信および/または受信するように動作可能であってもよい。例えば、ユーザインターフェイスモジュール501は、キーボード、キーパッド、タッチスクリーン、存在感知ディスプレイ、コンピュータマウス、トラックボール、ジョイスティック、カメラ、音声認識モジュールおよび/または他の同様のデバイスなどのユーザ入力デバイスとの間で、データを送信および/または受信するように構成されてもよい。ユーザインターフェイスモジュール501はさらに、1つ以上の陰極線管(CRT)、液晶ディスプレイ、発光ダイオード(LED)、デジタル光処理(DLP)技術を使用するディスプレイ、プリンタ、電球、および/または他の同様のデバイスなどの、現在公知であるかまたはこれから開発されるユーザ表示デバイスに出力を提供するように構成されてもよい。また、ユーザインターフェイスモジュール501は、スピーカー、スピーカージャック、音声出力ポート、音声出力デバイス、イヤホン、および/または他の同様のデバイスなどで、可聴出力を生成するように構成されてもよい。ユーザインターフェイスモジュール501はさらに、コンピューティングデバイス500におけるタッチおよび/または物理的接触によって検出可能な振動および/または他の出力などの触覚出力を生成可能な1つ以上の触覚デバイスを備えて構成されてもよい。ある実施形態では、ユーザインターフェイスモジュール501を用いて、コンピューティングデバイス500を利用するためのGUIを提供してもよい。
【0105】
ネットワーク通信インターフェイスモジュール502は、ネットワークを介して通信するように構成可能な1つ以上の無線インターフェイス507および/または1つ以上の有線インターフェイス508を含んでもよい。無線インターフェイス507は、1つ以上の無線送信機、受信機、および/または、送受信機(例えば、ブルートゥース(登録商標)送受信機、Zigbee(登録商標)送受信機、Wi-Fi送受信機、WiMAX(登録商標)送受信機および/もしくは無線ネットワークを介して通信するように構成可能な他の同様のタイプの無線送受信機など)を含み得る。有線インターフェイス508は、1つ以上の有線送信機、受信機、および/または、送受信機(例えば、イーサーネット(登録商標)送受信機、ユニバーサルシリアルバス(USB)送受信機、あるいは、ツイストペアワイヤー、同軸ケーブル、光ファイバーリンクもしくは有線ネットワークへの同様の物理接続を介して通信するように構成可能な同様の送受信機など)を含み得る。
【0106】
ある実施形態では、ネットワーク通信インターフェイスモジュール502は、信頼性が
あり、セキュアで、および/または認証された通信を提供するように構成され得る。各通信について、信頼性のある通信(すなわち保証されたメッセージの送達)を保証するための情報は、場合によってはメッセージヘッダおよび/またはフッタの一部(たとえばパケット/メッセージシーケンシング情報、カプセル化ヘッダおよび/またはフッタ、サイズ/時間情報、ならびに送信照合情報(例えば、CRCおよび/またはパリティーチェック値など))として提供され得る。通信は、1つ以上の暗号プロトコルおよび/またはアルゴリズムを使用して、セキュリティ保護(たとえばエンコードもしくは暗号化)することが可能であり、および/または、復号化/デコードすることが可能である。当該暗号プロトコルおよび/またはアルゴリズムの例としては、DES、AES、RSA、Diffie-Hellman、および/またはDSAなどがあるが、これらに限定されない。通信をセキュリティ保護する(その後復号化/デコードする)ために、他の暗号プロトコルおよび/またはアルゴリズムを同様に使用してもよいし、上記で列挙したものに加えて使用してもよい。
【0107】
1つ以上のプロセッサ503は、1つ以上の汎用プロセッサおよび/または1つ以上の特殊目的プロセッサ(たとえばデジタルシグナルプロセッサ、グラフィックス・プロセッシング・ユニット、特定用途向け集積回路など)を含み得る。1つ以上のプロセッサ503は、データストレージ504に含まれるコンピュータ可読プログラム命令506、および/または本明細書に記載の他の命令を実行するように構成されてもよい。
【0108】
データストレージ504は、1つ以上のプロセッサ503のうちの少なくとも1つによって読み出しおよび/またはアクセスすることのできる1つ以上のコンピュータ可読記憶媒体を含んでもよい。この1つ以上のコンピュータ可読記憶媒体は、光学、磁気、有機または他のメモリもしくはディスクストレージなどの揮発性および/または不揮発性ストレージコンポーネントを含み得る。これらのストレージコンポーネントは、全体的または部分的に、1つ以上のプロセッサ503のうちの少なくとも1つと統合されてもよい。ある実施形態では、データストレージ504は、単一の物理デバイス(たとえば1つの光学、磁気、有機または他のメモリまたはディスク記憶装置)を使用して実現され得る。一方、他の実施形態では、データストレージ504は2つ以上の物理デバイスを使用して実現され得る。
【0109】
データストレージ504は、コンピュータ可読プログラム命令506と、場合によってはその他のデータとを含んでもよい。ある実施形態では、データストレージ504は、本明細書に記載の方法、シナリオ、および技術のうちの少なくとも一部、および/または、本明細書に記載のデバイスおよびネットワークの機能のうちの少なくとも一部を行なうことが必要なストレージをさらに含んでもよい。
【0110】
ある実施形態では、コンピューティングデバイス500は、1つ以上のセンサ520を含んでもよい。センサ520は、コンピューティングデバイス500の環境での条件を測定し、その環境に関するデータを提供するように構成されてもよい。例えば、センサ520は、次のうちの1つ以上を含み得る。
【0111】
(i)他の物体および/またはデバイスを識別する識別センサ。例えば、RFIDリーダ、近接センサ、1次元バーコードリーダ、2次元バーコード(例えば、クイックレスポンス(QR)コード)リーダ、およびレーザトラッカーなどがあるが、これらに限定されない。識別センサは、RFIDタグ、バーコード、QRコード(登録商標)、および/または、読取可能に構成された他のデバイスおよび/または物体などの識別子を読み取り、少なくとも識別情報を提供するように構成されてもよい。
【0112】
(ii)コンピューティングデバイス500の位置および/または動きを測定するセン
サ。例えば、傾斜センサ、ジャイロスコープ、加速度計、ドップラーセンサ、グローバル・ポジショニング・システム(GPS)デバイス、ソーナーセンサ、レーダーデバイス、レーザー変位センサ、およびコンパスなどがあるが、これらに限定されない。
【0113】
(iii)コンピューティングデバイス500の環境を示すデータを取得する環境センサ。例えば、赤外線センサ、光学センサ、光センサ、カメラ、バイオセンサ、生体センサ、容量センサ、タッチセンサ、温度センサ、無線センサ、ラジオセンサ、動作センサ、マイクロフォン、音センサ、超音波センサ、および/または煙センサなどがあるが、これらに限定されない。
【0114】
(iv)コンピューティングデバイス500に関して作用する1つ以上の力を測定する力センサ(例えば、慣性力および/または重力)。例えば、1つ以上の寸法における力、トルク、グラウンドフォース、摩擦を測定する1つ以上のセンサ、および/または、ZMPのZMPおよび/もしくは位置を特定するゼロモーメントポイント(ZMP)センサなどがあるが、これらに限定されない。
【0115】
他にも多数のセンサ520の例があり得る。
本開示は、本適用例で記載された特定の実施形態に限定すべきではない。これらの特定の実施形態は、さまざまな局面の説明を目的としたものである。当業者には明らかであるように、本開示の精神および範囲から逸脱せずに、多数の変更および変形が可能である。本開示で列挙したものに加えて、本開示の範囲内で機能的に均等な方法および装置が、上述の記載から当業者には明らかであろう。そのような変更例および変形例も、添付の特許請求の範囲内であることが意図される。
【0116】
上述の詳細な説明では、添付の図面を参照して、開示されたシステム、デバイス、および方法のさまざまな特徴および機能を記載している。これらの図面において、文脈が他の態様を示していなければ、通常、同様の符号は同様の構成要素を特定する。詳細な説明に記載された例示的な実施形態、図面、および特許請求の範囲は、限定的であるよう意図されるものではない。本明細書で提示された主題の精神または範囲から逸脱せずに、他の実施形態を利用し、他の変更を行なうことも可能である。本明細書で概括的に記載し、図面に示した本開示の局面は、種々の異なる構成で配置、置換、合体、分離、および設計され得ることが容易に理解されるであろう。これらはすべて、本明細書で明示的に企図されるものである。
【0117】
図面に示されるとともに本明細書で説明されたラダー図、シナリオ、およびフローチャートのうちのいずれかまたはすべてに関して、各ブロックおよび/または通信は、例示的な実施形態に係る情報の処理および/または情報の送信を表わす場合がある。これらの例示的な実施形態の範囲内には、代替的な実施形態も含まれる。代替的な実施形態においては、例えば、ブロック、送信、通信、要求、応答、および/またはメッセージとして記載された機能が、関与する機能に応じて、図示または説明されたものとは異なる順序で実行されてもよい(実質的に同時、または逆の順序で実行されることを含む)。さらに、本明細書で説明されたラダー図、シナリオ、およびフローチャートのうちのいずれかで用いるブロックおよび/または機能は、より多くてもよいし、より少なくてもよい。また、これらのラダー図、シナリオ、およびフローチャートは、部分的または全体的に互いに組み合わせることも可能である。
【0118】
情報の処理を表わすブロックは、本明細書に記載した方法または手法の特定の論理機能を行なうように構成された回路に対応してもよい。代替的または追加的には、情報の処理を表わすブロックは、モジュール、セグメント、またはプログラムコード(関連データを含む)の一部に対応してもよい。プログラムコードは、上記方法または手法における特定
の論理機能または動作を実現するためにプロセッサによって実行され得る1つ以上の命令を含んでもよい。プログラムコードおよび/または関連データは、ディスク、ハードドライブ、または他の記憶媒体を含む記憶装置など、任意の種類のコンピュータ可読媒体に格納されてもよい。
【0119】
コンピュータ可読媒体は、非一時的なコンピュータ可読媒体、例えば、レジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ(RAM)といった、短期間データを格納する非一時的なコンピュータ可読媒体などを含み得る。コンピュータ可読媒体は、より長い期間プログラムコードおよび/またはデータを格納する非一時的なコンピュータ可読媒体、例えば、読み取り専用メモリ(ROM)、光学または磁気ディスク、コンパクトディスク読み取り専用メモリ(CD-ROM)といった二次的または永続的な長期記憶装置などを含み得る。コンピュータ可読媒体は、他の如何なる揮発性または非揮発性の記憶システムであってもよい。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、すなわち有形の記憶装置とみなしてもよい。
【0120】
さらに、1つ以上の情報送信を表わすブロックは、同一の物理デバイスのソフトウェアモジュール間および/またはハードウェアモジュール間の情報送信に対応してもよい。一方、他の情報送信は、異なる物理デバイスのソフトウェアモジュール間および/またはハードウェアモジュール間で行なわれてもよい。
【0121】
本明細書においてさまざまな局面および実施形態を開示したが、当業者には他の局面および実施形態も明らかであろう。本明細書において開示されたさまざまな局面および実施形態は説明の目的で提示されたものであり、限定するように意図されたものではない。その真の範囲は、以下の特許請求の範囲によって示される。
図1
図2
図3A
図3B
図3C
図3D
図3E
図3F
図4A
図4B
図5
【手続補正書】
【提出日】2023-12-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
リモート機器がユーザ機器から、前記ユーザ機器のユーザインターフェイス上に表示されるアプリケーションのための自動記入に使用するための候補データの要求を受信するステップを含み、前記要求は、前記ユーザインターフェイスに含まれる内容のサブセットを含み、前記方法はさらに、
前記リモート機器が、前記ユーザインターフェイスに含まれる前記内容のサブセットに基づいて、前記ユーザ機器の前記ユーザインターフェイスに含まれる1つ以上のテキスト入力フィールドの1つ以上の記入可能なフィールドを決定するステップと、
前記リモート機器が、前記ユーザインターフェイスに含まれる前記内容のサブセットと、前記1つ以上の記入可能なフィールドとに基づいて、データセットを決定するステップとを含み、前記データセットは、前記ユーザインターフェイスに含まれる前記1つ以上のテキスト入力フィールドの前記1つ以上の記入可能なフィールドに対応する1つ以上の候補値を含み、前記方法はさらに、
前記リモート機器から、ユーザ認証データを引き出すためのセキュアな許可プロンプトを含む予備通信信号を送信するステップと、
前記リモート機器が、前記ユーザ認証データを含む確認信号を受信するステップと、
受信された前記確認信号に基づいて、前記リモート機器が前記ユーザ機器に、前記候補データの要求に対する応答を送信するステップとを含み、前記応答は、前記ユーザインターフェイスに含まれる前記1つ以上のテキスト入力フィールドの前記1つ以上の記入可能なフィールドに入力するための前記1つ以上の候補値を含む、決定された前記データセットを含む、方法。
【請求項2】
前記データセットはデータセット識別子をさらに含み、前記データセット識別子は前記ユーザインターフェイスに含まれ、前記データセット識別子を選択すると、前記ユーザインターフェイスに含まれる前記1つ以上のテキスト入力フィールドに、前記対応する1つ以上の候補値が記入される、請求項1に記載の方法。
【請求項3】
前記リモート機器に関連付けられた記入インジケータを送信するステップをさらに含み、前記記入インジケータは前記ユーザ機器の前記ユーザインターフェイスに含まれる、請求項2に記載の方法。
【請求項4】
前記記入インジケータは、前記リモート機器に対応するグラフィックに関連付けられている、請求項3に記載の方法。
【請求項5】
前記リモート機器からの前記応答は複数のデータセットを含み、各データセットは、それぞれのデータセット識別子と、前記ユーザインターフェイスに含まれる1つ以上のテキスト入力フィールドに対応する1つ以上の候補値とを含み、前記それぞれのデータセット識別子は前記ユーザインターフェイスに含まれる、請求項2に記載の方法。
【請求項6】
前記それぞれのデータセット識別子の中からのデータセット識別子の予備選択に対応する1つ以上の候補値を記入可能な前記テキスト入力フィールドに、記入インジケータが表示される、請求項5に記載の方法。
【請求項7】
予備選択されたデータセット識別子に対応する前記1つ以上の候補値を記入可能な前記テキスト入力フィールド内の前記ユーザインターフェイスに、記入インジケータが含まれる、請求項5に記載の方法。
【請求項8】
それぞれのセキュアな許可プロンプトが前記データセット識別子の選択に基づいて生成され、前記それぞれのセキュアな許可プロンプトはそれぞれのセキュアな入力通信を引き出し、前記1つ以上のテキスト入力フィールドに、選択された前記データセット識別子に対応する前記1つ以上の候補値が記入される、請求項5に記載の方法。
【請求項9】
前記それぞれのデータセット識別子は、前記テキスト入力フィールドとは分離されたドロップダウンメニューで表示される、請求項5に記載の方法。
【請求項10】
前記リモート機器は複数のリモート機器のうちの1つであり、前記リモート機器は、前記ユーザインターフェイスを介して、前記アプリケーションのための自動記入の要求を受信することを許可される、請求項1~9のいずれかに記載の方法。
【請求項11】
前記セキュアな許可プロンプトは、生体入力の要求を含む、請求項1~10のいずれかに記載の方法。
【請求項12】
前記セキュアな許可プロンプトは、カード確認コードの要求を含む、請求項1~11のいずれかに記載の方法。
【請求項13】
前記セキュアな許可プロンプトは、個人識別番号の要求を含む、請求項1~12のいずれかに記載の方法。
【請求項14】
前記リモート機器から、データセット識別子を含む第1の予備通信信号を送信するステップと、
前記リモート機器が、前記データセット識別子の選択を示す入力データを受信するステップとをさらに含み、前記予備通信信号は第2の予備通信信号である、請求項1~13のいずれかに記載の方法。
【請求項15】
前記リモート機器が、第2のアプリケーションに対応する前記ユーザインターフェイスに含まれる1つ以上のテキスト入力フィールドに対応する1つ以上の値を受信するステップをさらに含み、前記1つ以上の値を前記リモート機器に送信する許可を受信するために、確認された送信プロンプトが前記ユーザインターフェイスに含まれる、請求項1~14のいずれかに記載の方法。
【請求項16】
前記候補データの要求を受信するステップは、前記ユーザ機器が前記アプリケーションの起動を検出することに基づく、請求項1~15のいずれかに記載の方法。
【請求項17】
前記候補データの要求を受信するステップは、前記ユーザ機器が前記アプリケーションのテキスト入力フィールドの選択を検出することに基づく、請求項1~15のいずれかに記載の方法。
【請求項18】
前記候補データの要求を受信するステップは、キーボードが前記ユーザインターフェイスに含まれるようにテキスト入力フィールドがフォーカスを持つことを示す、前記ユーザ機器における信号に基づく、請求項1~15のいずれかに記載の方法。
【請求項19】
リモート機器であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると前記リモート機器に機能を行なわせる命令を格納したデータストレージとを含み、前記機能は、
ユーザ機器から、前記ユーザ機器のユーザインターフェイスに含まれるアプリケーションのための自動記入に使用するための候補データの要求を受信するステップを含み、前記要求は、前記ユーザインターフェイスに含まれる内容のサブセットを含み、前記機能はさらに、
前記ユーザインターフェイスに含まれる前記内容のサブセットに基づいて、前記ユーザ機器の前記ユーザインターフェイスに含まれる1つ以上のテキスト入力フィールドの1つ以上の記入可能なフィールドを決定するステップと、
前記ユーザインターフェイスに含まれる前記内容のサブセットと、前記1つ以上の記入可能なフィールドとに基づいて、データセットを決定するステップとを含み、前記データセットは、前記ユーザインターフェイスに含まれる前記1つ以上のテキスト入力フィールドの前記1つ以上の記入可能なフィールドに対応する1つ以上の候補値を含み、前記機能はさらに、
ユーザ認証データを引き出すためのセキュアな許可プロンプトを含む予備通信信号を送信するステップと、
前記ユーザ認証データを含む確認信号を受信するステップと、
受信された前記確認信号に基づいて、前記ユーザ機器に、前記候補データの要求に対する応答を送信するステップとを含み、前記応答は、前記ユーザインターフェイスに含まれる前記1つ以上のテキスト入力フィールドの前記1つ以上の記入可能なフィールドに入力するための前記1つ以上の候補値を含む、決定された前記データセットを含む、リモート機器。
【請求項20】
1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項1~19のいずれかに記載の方法を実現させる命令を含む、コンピュータプログラム。
【請求項21】
1つ以上のプロセッサと、
請求項20に記載のコンピュータプログラムを格納している、装置。
【外国語明細書】