以下の説明は、いずれかの当業者が本開示を活用することができるように提示され、具体的な応用およびその要件の面から提供される。これら開示される実施形態に対する様々な修改は当業者には自明であろうし、本明細書で定義される一般的原理は、本開示の趣旨および範囲から逸脱することなく、他の実施形態および応用に適用することが可能である。しかして、本開示は、提示の実施形態に限定されるものでなく、特許請求の範囲と整合する最も広い範囲によるべきものである。
当然のことながら、本明細書で用いられる用語、「システム」、「デバイス」、「ユニット」、「ブロック」、および/または「モジュール」は、異なるレベルのコンポーネント、素子、部品、部分、またはアセンブリを昇順に区別するための1つの方法である。但し、これらの用語は、他の表現が同じ目的を達成できれば、それらの表現で置き換えられることがある。
当然のことながら、デバイス、装置、ユニット、モジュール、コンポーネント、またはブロックが、別のデバイス、ユニット、モジュール、またはブロックに、「上にある」、「接続されている」、または「連結されている」として述べられている場合、文脈が別途に明示している場合を除き、それが、存在し得る他のデバイス、ユニット、モジュール、ブロック、または介在するデバイス、ユニット、またはブロック「の直接上にある」、「に直接接続もしくは連結されている」、または、「と直接通信している」ことであり得る。本明細書で用いられる用語「および/または」は、関連する記載された項目の1つ以上の一切の組み合わせを含む。
本明細書中の用語は、特定の例および実施形態を説明するためだけのものであり、限定を意図するものではない。本明細書で用いられる、単数形「ある(a、an)」、および「該(the)」は、文脈上明確に別途に示されていなければ、複数形も同じように含むことが意図され得る。さらに当然のことながら、本開示で用いられる用語、「包含する(include)」および/または「含む(comprise)」は、完全体、デバイス、挙動、述べられた特徴、ステップ、要素、オペレーション、および/またはコンポーネントの存在を特定するが、一つ以上の他の完全体、デバイス、挙動、特徴、ステップ、要素、オペレーション、コンポーネント、および/またはこれらのグループの存在または追加を排除するものではない。さらに当然のことながら、本開示で用いられる用語、「エントリボックス」と「入力ボックス」、「入力指示」と「入力フォーカス」、「プロンプトメッセージ」と「促しメッセージ」、「入力情報」と「入力メッセージ」とは、同様な意味を表し得る。
本開示のこれらのおよび他の特徴と特性、ならびに、オペレーションの方法および関連する構造体の要素と部品の組み合わせとの機能、および製造の経済性は、添付の図面を参照しながら以下の説明を考察すればさらに明らかにすることができ、これらの図面の全ては本明細書の一部を形成する。但し、当然のことながら、該図面は例示と説明とのためだけのものであり、本開示の範囲を限定することは意図されていない。当然ながら、これらの図面は正確な縮尺率ではない。
図1は、本開示のいくつかの実施形態による、情報処理システム100のブロック図である。本明細書で用いられる情報は、例えば、数詞、テキスト、メッセージ、音声、画像、映像、パラメータ、符号、命令、数式、ファイル、アルゴリズム、プログラムなど、またはこれらの任意の組み合せを含め、任意のデータであってよい。単なる例であるが、このメッセージは、本開示のいくつかの実施形態による、注意喚起を提供するプロンプトメッセージであってよい。情報処理システム100は、サーバ110、ネットワーク120、電子端末130、およびデータベース140を含むことができる。
サーバ110は、サービス要求に関する情報を処理することによって、オンラインプラットフォームを実践することが可能である。例えば、サーバ110は、電子端末130からのサービス要求および1つ以上の状態に基づいて、フィードバックデータを判断することが可能である。いくつかの実施形態において、サーバ110は単一のサーバでもサーバのグループでもよい。このサーバのグループは、集中型でも分散型でもよい(例えば、サーバ110は分散型システムであってもよい)。いくつかの実施形態では、サーバ110はローカルでも遠隔でもよい。例えば、サーバ110は、ネットワーク120を介して、電子端末130および/またはデータベース140の中に格納された情報にアクセスすることができる。別の例として、サーバ110は、格納された情報にアクセスするため、電子端末130、および/またはデータベース140に直接接続されてもよい。いくつかの実施形態では、サーバ110をクラウドプラットフォーム上に実装することも可能である。単なる例であるが、このクラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、サーバ110は、本開示の図2Aもしくは図2Bまたはその両方に示された1つ以上のコンポーネントを有する電子端末130上に実装することが可能である。
ネットワーク120は、情報の交換を促進することができる。いくつかの実施形態において、情報処理システム100の1つ以上のコンポーネント(例えば、サーバ110、電子端末130、およびデータベース140)は、ネットワーク120を介して、情報処理システム100中の他のコンポーネントに情報を送信することができる。例えば、サーバ110は、ネットワーク120を介して電子端末130からサービス要求を得る/取得することが可能である。いくつかの実施形態では、ネットワーク120は、任意の種類の有線もしくは無線ネットワーク、またはそれらの任意の組み合せであってよい。単なる例であるが、ネットワーク120は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、ワイヤレスローカルエリアネットワーク(WLAN:wireless local area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network、)広域ネットワーク(WAN)、公衆交換電話ネットワーク(PSTN:public telephone switched network)、ブルートゥース(登録商標)ネットワーク、ジグビーネットワーク、近距離無線通信(NFC:near field communication)ネットワーク、など、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、サーバ110および/または電子端末130は、1つ以上のネットワークアクセスポイントを包含することができる。例えば、ネットワーク120は、基地局および/またはインターネット交換ポイント120−1、120−2、・・・、などの有線または無線アクセスポイントを含むことが可能で、これらを通して、情報処理システム100の1つ以上のコンポーネントがネットワーク120に接続し、データおよび/または情報を交換することができる。
電子端末130は、情報を受信、出力、表示、および/または処理するように構成された端末とすることができる。例えば、電子端末130は、サーバ110、ネットワーク120、データベース140、またはユーザなどから情報を受信することが可能である。別の例として、電子端末130は、ユーザに対し情報(例えばプロンプトメッセージ)を出力または表示することができる。さらに別の例として、電子端末130は、サーバ110、ネットワーク120、データベース140、またはユーザなどから受信した情報を処理することができる。
いくつかの実施形態において、電子端末130には、携帯デバイス130−1、タブレットコンピュータ130−2、ラップトップコンピュータ130−3、自動車両中の車載デバイス130−4など、またはこれらの任意の組み合せを含めてよい。いくつかの実施形態では、携帯デバイス130−1は、スマート家電デバイス、ウェアラブルデバイス、スマート携帯デバイス、バーチャルリアリティデバイス、拡張リアリティデバイスなど、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、このスマート家電デバイスは、スマート照明デバイス、スマートテレビジョン、スマートビデオカメラ、インターフォンなど、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、このウェアラブルデバイスは、スマートブレスレット、スマート履物、スマート眼鏡、スマート腕時計、スマートヘルメット、スマート衣服、スマートバックパック、スマートアクセサリなど、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、このスマート携帯デバイスは、スマートフォン、携帯情報端末(PDA:personal digital assistance)、ゲームデバイス、ナビゲーションデバイス、販売時点情報管理(POS:point of sale)デバイスなど、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、この自動車両中の車載デバイスは、車載コンピュータ、車載テレビジョンなどを含んでよい。
いくつかの実施形態において、電子端末130は、(図3に示されるような)処理エンジン300を含むことができる。この処理エンジンは、本開示に記載された1つ以上の機能を実行するため、サービス要求に関する情報および/またはデータを処理することが可能である。例えば、該処理エンジンは、電子端末130中の入力メッセージが適切であるかどうかを判断することができる。該処理エンジンは、1つ以上の処理エンジン(例えば、シングルコア処理エンジンまたはマルチコアプロセッサ)を含んでよい。単なる例であるが、該処理エンジンは、中央処理装置(CPU:central processing unit)、特定用途向け集積回路(ASIC:application−specific integrated circuit)、特定用途向け命令セットプロセッサ(ASIP:application−specific instruction−set processor)、グラフィックス処理装置(GPU:graphics processing unit)、物理処理装置(PPU:physics processing unit)、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、プログラマブルロジックデバイス(PLD:programmable logic device)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC:reduced instruction−set computer)、マイクロプロセッサなど、またはこれらの任意の組み合せを含んでよい。いくつかの実施形態では、該処理エンジンは、サーバ110中に組み込むことが可能である。
データベース140は、データおよび/または情報を格納することができる。いくつかの実施形態において、データベース140は、電子端末130から得られた/取得された情報を格納することが可能である。いくつかの実施形態では、データベース140は、本開示に記載の例示的な方法を遂行するために、サーバ110が実行または使用が可能な命令を格納することができる。いくつかの実施形態では、データベース140は、大容量ストレージ、着脱可能ストレージ、揮発性読み取り書き込みメモリ、読み取り専用メモリ(ROM:read−only memory)など、またはこれらの任意の組み合せを含んでよい。例示的な大容量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含んでよい。例示的な大容量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含んでよい。
いくつかの実施形態において、情報処理システム100中の1つ以上のコンポーネント(例えば、サーバ110、電子端末130など)は、データベース140への制御されたアクセスを備えることが可能である。いくつかの実施形態では、情報処理システム100中の1つ以上のコンポーネントは、1つ以上の条件が満たされたとき、ユーザおよび/または公衆に関する情報を読み取りおよび/または修正することができる。例えば、サーバ110は、一人以上のユーザに対するサービスを準備した後、1つ以上のユーザ情報を読み取りおよび/または修正することが可能である。
図2Aは、本開示のいくつかの実施形態による、サーバ110および/または電子端末130がその上に実装可能なコンピューティングデバイス200Aの例示的なハードウェアおよびソフトウェアコンポーネントのブロック図である。例えば、電子端末130をコンピューティングデバイス200A上に実装し、電子端末130の機能を遂行するように構成することが可能である。
コンピューティングデバイス200Aは、汎用コンピュータであってもまたは特定用途向けコンピュータでもよく、両方とも本開示のための情報処理システムを実装するために用いることができる。コンピューティングデバイス200Aは、本明細書に記載の情報処理機能の任意のコンポーネントを実装するため使用することが可能である。例えば、電子端末130は、コンピューティングデバイス200A上に、該デバイスのハードウェア、ソフトウェアプログラム、ファームウェア、またはこれらの任意の組み合せを使って実装することができる。
例えば、コンピューティングデバイス200Aは、データ通信を促進するために、ネットワークに往き来接続されたCOMポート205含んでよい。また、コンピューティングデバイス200Aは、プログラム命令を実行するために、1つ以上のプロセッサの形で中央処理装置(CPU)202を含んでよい。例示的なコンピュータプラットフォームは、該コンピュータによって処理および/または送信する対象の様々なデータファイルに対する、内部通信バス201、例えばディスク207などいろいろな形でのプログラムストレージおよびデータストレージ、および読み取り専用メモリ(ROM)203、またはランダムアクセスメモリ(RAM:random access memory)204を含むことができる。また、この例示的なコンピュータプラットフォームは、ROM203、RAM204、および/または他の種類の非一時的ストレージ媒体中に格納された、CPU202による実行対象のプログラム命令も含むことが可能である。本開示の方法および/またはプロセスは、プログラム命令として実装することができる。いくつかの実施形態において、CPU202はコンピューティングデバイス200Aの主コントローラであってよい。CPU202は、コンピューティングデバイス200A中のあらゆるコンポーネントを制御し、それらを相互に接続して相互調整することが可能なようにできる。いくつかの実施形態では、CPU202は、メッセージを入力または出力するためI/Oコンポーネント206を制御することが可能で、この制御には、電源制御、送信レート制御、入力/出力メッセージのサイズ制御などを含めることができる。いくつかの実施形態では、CPU202は、表示コンポーネント208を所定のモードで作動するように制御することが可能である。また、この表示コンポーネント208の制御は、表示品質制御、表示時間制御、表示レート制御、表示切り替え制御などを含んでよい。いくつかの実施形態では、CPU202は、所定のデータを保存するためRAM204および/またはROM203を制御することが可能である。RAM204および/またはROM203の制御は、格納モード制御、格納レート制御、保存フォーマット制御、保存期限制御を含んでよい。いくつかの実施形態では、CPU202は、サーバ110(または電子端末130)中の他の内部コンポーネントを制御することができ、各種コンポーネントの間で送信されるデータおよび/または命令を処理することができる。
表示コンポーネント208は、情報をユーザに表示するための対話インターフェースを備えることが可能である。表示コンポーネント208中に示される情報は、フォーム、エントリボックス、検索ボックスなど、またはこれらの任意の組み合せの内側および/または外側に配列することができる。いくつかの実施形態において、表示コンポーネント208は、ディスプレイ画面またはタッチ画面を含んでよい。表示コンポーネント208は、サーバ110(または電子端末130)の内部コンポーネント(例えばI/Oコンポーネント206)からの情報を表示することができる。いくつかの実施形態において、表示コンポーネント208は、サーバ110(または電子端末130)に接続している別のサーバ(または電子デバイス)中の外部の画面上に情報を表示することが可能である。
I/Oコンポーネント206は、コンピュータと、表示コンポーネント208などコンピュータ中の他のコンポーネントとの間の入力/出力をサポートすることができる。また、コンピューティングデバイス200Aは、ネットワーク通信を介してプログラミングおよびデータを受信することが可能である。I/Oコンポーネント206は、情報送信の入力および出力を制御することができる。いくつかの実施形態において、この情報入力は、メッセージを入力するユーザの操作、または外部環境(例えばユーザ)からの情報の取得を含んでよい。情報出力は、ユーザへの情報の配信であってよい。情報を送信する仕方は、有線でも無線でもよい。いくつかの実施形態では、I/Oコンポーネント206は、ユーザによって実装されてもよい。いくつかの実施形態では、I/Oコンポーネント206は、トランスミッタ、レシーバ、トランシーバ、キーボード、マウス、マイクロフォン、カメラ、光ペン、ディスプレイ、タッチ画面など、またはこれらの任意の組み合せによって実施することができる。いくつかの実施形態では、I/Oモジュールを制御するために、サーバ110(または電子端末130)中に制御ユニット(例えばスイッチ)があってよい。
単なる例示のため、コンピューティングデバイス200A中に、ただ1つのCPUおよび/またはプロセッサがあるとして説明する。但し、本開示中のコンピューティングデバイス200Aは、複数のCPUおよび/またはプロセッサを含むことができ、しかして、本開示中に説明される、1つのCPUおよび/またはプロセッサによって実行されるオペレーションおよび/または方法ステップは、これら複数のCPUおよび/またはプロセッサによって共同でまたは別々に実行することも可能である。例えば、本開示において、コンピューティングデバイス200AのCPUおよび/またはプロセッサがステップAおよびステップBの両方を実行する場合、当然のことながら、ステップAおよびステップBは、2つの相異なるCPUおよび/またはプロセッサによって、コンピューティングデバイス200A中で共同でまたは別々に実行することも可能である(例えば、第一プロセッサがステップAを実行し、第二プロセッサがステップBを実行する、あるいは第一および第二プロセッサが共同でステップAおよびステップBを実行する)。
図2Bは、本開示のいくつかの実施形態による、サーバ110および/または電子端末130がその上に実装可能なコンピューティングデバイス200Bの別の例示的なハードウェアおよびソフトウェアコンポーネントのブロック図である。例えば、電子端末130をコンピューティングデバイス200B上に実装し、電子端末130の機能を実施するようにすることができる。
図2B中のコンピューティングデバイス200Bは、本開示中の情報処理システムを実装するために使用が可能な携帯デバイスであってもよい。コンピューティングデバイス200Bは、本明細書に記載の情報処理機能の任意のコンポーネントを実装するために使用することが可能である。例えば、電子端末130は、コンピューティングデバイス200B上に、該デバイスのハードウェア、ソフトウェアプログラム、ファームウェア、またはこれらの任意の組み合せを使って実装することができる。コンピューティングデバイス200Bは、スマートフォン、ラップトップコンピュータ、音楽プレイヤー、ゲームデバイス、全地球測位システム(GPS:global positioning system)デバイス、ウェアラブルデバイス(例えばスマート眼鏡もしくはスマート眼鏡)、または本開示中の他の箇所に記載されているような他の電子端末であってよい。
コンピューティングデバイス200Bは、例えば、中央処理装置(CPU)214、グラフィックス処理装置(GPU)213、表示コンポーネント212、メモリ216、アンテナ211、ストレージユニット219、およびI/Oコンポーネント215を含むことができる。また、例えばバスまたはコントローラなど任意の適切なコンポーネントをコンピューティングデバイス200Bの中に組み込んでもよい。図2Bに示されるように、オペレーティングシステム(OS:operating system)217および/またはアプリケーション(App:application)をメモリ216中にロードし、CPU214によって実行することができる。OS217は、iOSシステム、アンドロイドシステム、ウィンドウズフォーンシステムなど、またはこれらの任意の組み合せを含んでよい。App208は、情報処理のためコンピューティングデバイス200B中に実装された、ブラウザまたはアプリケーションを含んでよい。
いくつかの実施形態において、図2B中のコンピューティングデバイス200Bの表示コンポーネント212および/またはI/Oコンポーネント215は、図2A中のコンピューティングデバイス200Aの表示コンポーネント208および/またはI/Oコンポーネント206についての記載と同じ構造、機能、および/または型を有してよい。
本開示の方法および/またはプロセスは、プログラム命令として実装することができる。いくつかの実施形態において、CPU214はコンピューティングデバイス200Bの主コントローラであってよい。CPU214は、コンピューティングデバイス200B中のあらゆるコンポーネントを制御し、それらを相互に接続して相互調整することが可能なようにできる。いくつかの実施形態では、CPU214は、メッセージ(例えばプロンプトメッセージ)を入力または出力するためI/Oコンポーネント215を制御することが可能で、この制御は、電源制御、送信レート制御、入力/出力メッセージのサイズ制御などを含んでよい。いくつかの実施形態では、CPU214は、ディスプレイ212を所定のモードで作動するように制御することが可能である。また、ディスプレイ212の制御は、表示品質制御、表示時間制御、表示レート制御、表示切り替え制御などを含んでよい。いくつかの実施形態では、CPU214は、所定のデータを保存するためメモリ216またはストレージユニット219を制御することが可能である。メモリ216またはストレージユニット219の制御は、格納モード制御、格納レート制御、保存フォーマット制御、保存期限制御を含んでよい。いくつかの実施形態では、CPU214は、コンピューティングデバイス200B中の他の内部コンポーネントを制御することができ、各種コンポーネントの間で送信されるデータおよび/または命令を処理することができる。
図3は、本開示のいくつかの実施形態による、例示的な処理エンジン300のブロック図である。処理エンジン300(または、本開示の他の箇所では短くプロセッサ300とも言う)は、コンピューティングデバイス200Aおよび/またはコンピューティングデバイス200B上に実装することが可能である。処理エンジン300は、取得モジュール310、判断モジュール320、および実行モジュール330を含むことができる。これらは、相互接続され、これらモジュールの間で情報を伝送することが可能である。いくつかの実施形態において、これらのモジュールの間での循環があってよい。例えば、判断モジュール320が取得済みの情報が不完全であると判断したとき、完全な情報が取得できるように、取得モジュール310にさらなる情報を取得させる命令を、該モジュール310に送信することが可能である。
取得モジュール310は、判断モジュール320のために用いられる情報を取得することができる。いくつかの実施形態において、取得モジュール310は、I/Oコンポーネント206または215、表示コンポーネント208または212、ディスク207、ROM203、RAM204、メモリ216、および/またはストレージユニット219から情報を取得することが可能である。例えば、取得モジュール310は、表示コンポーネント208または212中のフォーム、エントリボックス、および/または検索ボックスを検出し、それらの中にある関連情報を取得することができる。いくつかの実施形態では、取得された情報は、プロンプトメッセージ、プロンプトメッセージの画素長さ、ユーザの操作、入力指示、入力情報など、またはこれらの任意の組み合せを含み得る。単なる例であるが、入力指示は、マウスポインタのクリック、マウスポインタのタッチ、またはユーザの指のタッチであってよい。いくつかの実施形態では、取得モジュール310は、取得された情報を、さらなる実行のため判断モジュール320に送信すればよい。
判断モジュール320は、取得モジュール310から受信した情報に基づいて判断を下すことができる。例えば、判断モジュール320は、プロンプトメッセージの画素長さ値を比較し、さらなる処理または実行のため、実行モジュール330に命令を送信することが可能である。例えば、図6およびその説明を参照されたい。別の例として、判断モジュール320は、フォーム中またはエントリボックス中に入力指示があるかどうかを判断し、実行モジュール330にさらなる処理または実行のための命令を送信することができる。例えば、図10およびその説明を参照されたい。さらに別の例として、判断モジュール320は、入力情報を査定し、入力情報がルールに抵触するかどうかを判断し、実行モジュール330にさらなる処理または実行のための命令を送信することができる。例えば、図13Aもしくは図13Bまたはその両方、およびそれらの説明を参照されたい。いくつかの実施形態において、判断モジュール320は、上記の結果に照らして、取得モジュール310にフィードバックデータを送信することが可能である。取得モジュール310は、フィードバックデータに従って当該手順を繰り返すことができる。いくつかの実施形態では、判断モジュール320によって行われる判断も、外部の情報源から受信された情報に基づくことが可能である。この外部の情報源は、判断モジュール320に情報を供給することができる。いくつかの実施形態では、外部の情報源はユーザ、サーバ、または別のデバイスであってよい。単なる例であるが、eメールサーバは、判断モジュール320に対し、ユーザによる情報入力(例えば、アカウント名、電話番号、パスワードなど)の正確さを判断するためのルール(または証明書)を提供することができる。
実行モジュール330は、判断モジュール320から受信したデータまたは命令に従ってオペレーションを実行することができる。いくつかの実施形態において、実行されるオペレーションは、プロンプトメッセージを流動させること、プロンプトメッセージの色を変えること、プロンプトメッセージのフォントサイズを調整すること、プロンプトメッセージを消し去ること、入力情報を削除すること、オーディオクリップを再生すること、新規メッセージを表示すること、または別の電子端末をオン/オフすることなどを含んでよい。例えば、実行モジュール330は、判断モジュール320によって与えられた命令に従って、プロンプトメッセージを流動させる、またはプロンプトメッセージを静的に表示することができる。例えば、図6およびその説明を参照されたい。別の例として、実行モジュール330は判断モジュール320によって与えられた命令に従って、第一プロンプトメッセージを第二プロンプトメッセージに置き換え、第一プロンプトメッセージの表示状態を変更することができる。例えば、図10およびその説明を参照されたい。いくつかの実施形態では、実行モジュール330は、判断モジュール320によって与えられた判断結果に従って、第三プロンプトメッセージを表示する、または第二プロンプトメッセージを第一プロンプトメッセージに置き換えることができる。例えば、図13Aもしくは図13Bまたはその両方、およびそれらの説明を参照されたい。いくつかの実施形態では、実行の後、実行モジュール330は、最終結果を最適化すべく一回以上の繰り返しのため、取得モジュール310にフィードバックデータを送信することが可能である。
図4は、本開示のいくつかの実施形態による、プロンプトメッセージを表示するための例示的なプロセス400のフローチャートである。いくつかの実施形態において、メッセージを表示するためのプロセス400は、図2Aもしくは図2Bまたはその両方に示されたコンピューティングデバイス200Aおよび/またはコンピューティングデバイス200B中に実装されてよい。例えば、プロセス400は、ディスク207、ROM203、RAM204、メモリ216、および/またはストレージユニット219中に、命令の形で格納し、処理エンジン300によって呼び出しおよび/または実行することが可能である。いくつかの実施形態では、プロセス400は、図5に示されたフォーム中に実装されてよい。
410で、処理エンジン300は、第一プロンプトメッセージをフォームのエントリボックスに表示することができる。いくつかの実施形態において、フォーム500は、図5中に示されるように、電子端末130のインターフェース上にあってよい。エントリボックス512a、エントリボックス512b、および何らかの他のコンテンツ513をフォーム500中に配置することが可能である。第一プロンプトメッセージ511aは、エントリボックス512a中に表示することが可能である。第一プロンプトメッセージ511bは、エントリボックス512b中に表示することが可能である。いくつかの実施形態では、第一プロンプトメッセージを表示する方法は、いろいろな状態に応じて変えることができる。図6〜9に示された例を参照されたい。いくつかの実施形態では、第一プロンプトメッセージの表示は、静的にもまたは動的にもすることができる。いくつかの実施形態では、この第一プロンプトメッセージは、ユーザが第一プロンプトメッセージ全体を見ることが可能なように、エントリボックス中で前進後退流動させることができる。
420で、処理エンジン300は、エントリボックス中の入力指示を判断することができる。いくつかの実施形態において、この入力指示は、マウスポインタのクリック、マウスポインタのタッチ、またはエントリボックス上への指のタッチを含んでよい。例えば、図11Aもしくは図11Bまたはその両方、およびそれらの説明を参照されたい。入力指示が検出されたとき、エントリボックスは、入力指示の記号を表示することができる。入力指示がトリガされると、処理エンジン300は、430を実行することが可能である。
いくつかの実施形態において、入力指示の少なくとも部分が検出されるかまたは残存する場合、1つ以上の候補エントリを、例えばドロップダウンボックス中に表示することができる。この候補エントリまたは複数のエントリは、例えば、ユーザ、ユーザが属するグループなどの過去の入力情報に基づいて生成することが可能である。過去の情報は、ディスク207、ROM203、RAM204、メモリ216、ストレージユニット219など、またはこれらの任意の組み合せの中に格納されてよい。ユーザが属するグループは、例えば、ユーザが明示する身元確認、または少なくとも、ユーザが他のユーザと共有する共通の特色(例えば、職業、住所、性別、年齢または年齢範囲など、またはこれらの任意の組み合せ)に基づいて判断することができる。例えば、ユーザが初めてアカウント情報(例えば、eメールアドレス、電話番号など)を入力し、図5の513に示される「ログイン状態を保存する」を選択すると、そのアカウント情報を格納することができる。次回にユーザがそのアカウントを入力したいとき、格納されたアカウント情報を、選択が可能なドロップダウンボックス中に表示することができる。いくつかの実施形態では、ユーザの入力情報の履歴が追跡、格納され、その格納された情報を処理し、ユーザによるありそうな次の入力を予測することができる。この追跡され格納される情報は、ユーザが今までに入力した内容、ユーザによるいろいろな入力情報の頻度、ユーザが特定の情報を入力する時間間隔、最近選択された、またはある期間内の合計回数による候補情報、情報を入力した際のユーザの地理的位置など、またはこれらの任意の組み合せを含んでよい。単なる例であるが、18:00〜19:00の間に、或るユーザが、高頻度でホームアドレスを宛先として入力するなら、その情報を追跡し格納することができる。次に、そのユーザが、18:00〜19:00の間に宛先を選択するためのフォームを開いたとき、追跡され格納された情報を、ユーザに対し予測し、ユーザに提案し、および/または入力ボックスに自動的に記入することができる。
430で、処理エンジン300は、第一プロンプトメッセージを第二プロンプトメッセージに置き換えることができる。第二プロンプトメッセージは、第一プロンプトメッセージと異なっていてよい。いくつかの実施形態において、第二プロンプトメッセージフォントのサイズまたは位置は、いろいろなシナリオによって変化させることができる。例えば、第二プロンプトメッセージの画素長さがエントリボックスの画素長さよりも大きい場合、処理エンジン300は、第二プロンプトメッセージがエントリボックスの中に収まるように、第二プロンプトメッセージのフォントサイズを低減させる、あるいは第二プロンプトメッセージを2行以上で表示することが可能である。別の例として、第二プロンプトメッセージの画素長さがエントリボックスの画素長さよりも大きい場合、処理エンジン300は、第二プロンプトメッセージを流動させ、動的に表示することが可能である。例えば、第二プロンプトメッセージをエントリボックス中で前進後退流動させ、ユーザが第二プロンプトメッセージの全体を見ることが可能なようにすることができる。第一プロンプトメッセージが第二プロンプトメッセージによって置き換えられると、処理エンジン300は440を実行することが可能である。
440で、処理エンジン300は、第一プロンプトメッセージの表示状態を変更することができる。いくつかの実施形態において、処理エンジン300は、第一プロンプトメッセージを消し去る、第一プロンプトメッセージの位置を変える、第一プロンプトメッセージのフォントサイズを変更する、第一プロンプトメッセージの色を変える、または第一プロンプトメッセージに関連付けられたオーディオクリップを再生するなど、またはこれらの任意の組み合せを行うことが可能である。いくつかの実施形態では、処理エンジン300は、第一プロンプトメッセージを、エントリボックス内の場所、エントリボックスの境界上の場所、またはエントリボックス外側の場所に移動することができる。例えば、図12Aもしくは図12Bまたはその両方、およびそれらの説明を参照されたい。いくつかの実施形態では、エントリボックス内の場所は、エントリボックス内の左側、エントリボックス内の右側、エントリボックス内の上側、エントリボックス内の底部、エントリボックスの中央などであってよい。エントリボックス内の場所は、例えば、第二プロンプトメッセージとオーバラップしない位置とすることができる。エントリボックス境界上の場所は、エントリボックスの左側境界、エントリボックスの右側境界、エントリボックスの上側境界、エントリボックスの底部境界、エントリボックスのコーナーなどであってよい。エントリボックス外側の場所は、例えば、エントリボックスの近くのエントリボックス外側の位置であってよい。
いくつかの実施形態において、入力指示が検出され、ユーザがメッセージをエントリボックス中にタイプ入力しているとき、第一プロンプト情報および第二プロンプトメッセージを表示するための留保ボックスがあってよい。この留保ボックスは、ユーザが、情報を入力するプロセスの間、常にプロンプトメッセージを見ることができるように、入力指示と一緒に移動することが可能である。
図6は、本開示のいくつかの実施形態による、第一プロンプトメッセージを表示するための例示的なプロセス600のフローチャートである。いくつかの実施形態において、プロセス600は、図2Aもしくは図2Bまたはその両方に示されたコンピューティングデバイス200Aおよび/またはコンピューティングデバイス200B中に実装されてよい。例えば、プロセス600は、命令の形で、ROM203、RAM204、メモリ216、および/またはストレージユニット219中に格納し、処理エンジン300によって呼び出しおよび/または実行することができる。いくつかの実施形態では、プロセス600は、図4に示されたプロセス400のステップ410において使用が可能である。
610で、処理エンジン300は、ユーザの操作を検出することができる。いくつかの実施形態において、このユーザの操作は、単なる例であるが、図7Aもしくは図7Bまたはその両方のフォーム700に示されるようなフォームを開くこと、マウスのポインタをエントリボックス上に置くこと、指を使ってエントリボックスにタッチすることなどであってよい。図7Aに示されるように、フォーム710aのエントリボックス712中にユーザの操作が検出されないとき、フォーム710aの第一プロンプトメッセージ711は、エントリボックス中に静的に表示されてよい。図7Bに示されるように、処理エンジン300によって、フォーム710b中にユーザの操作(例えば、マウスのポインタ713)が検出されると、620および630が実行可能となる。
620で、処理エンジン300は、取得モジュール310を介して第一プロンプトメッセージの画素長さ(L1と呼ぶ)を取得することができる。630で、処理エンジン300は、取得モジュール310を介してエントリボックスの画素長さ(L2と呼ぶ)を取得することができる。L1およびL2が取得されると、640が実行できる。
640で、処理エンジン300は、判断モジュール320を介して、L1およびL2のいずれが他方より大きいかを判断することができる。いくつかの実施形態において、図8Aに示されるように、L2がL1より大きいとき、第一プロンプトメッセージ711はエントリボックス712の内側に表示が可能である。図8Bに示されるように、L1がL2より大きいと、第一プロンプトメッセージ711は、エントリボックス712を超えて表示され得る。上記判断に基づいて、L1がL2よりも大きい場合、650を実行することができ、L2がL1よりも大きい場合、660を実行することができる。
650で、処理エンジン300は、プロンプトメッセージ全体が表示可能なように、第一プロンプトメッセージ711を流動させることができる。いくつかの実施形態において、図9A〜9Cに示されるように、エントリボックス712中には、第一プロンプトメッセージ711の一部だけを表示させることができる。図9Aには、エントリボックス712中に、第一プロンプトメッセージ711の前の部分が表示され、表示された第一プロンプトメッセージの第一部分の画素長さは、エントリボックス712の画素長さに等しくできる。図9Bにおいて、第一プロンプトメッセージ711を流動させることが可能で、第一プロンプトメッセージ711の第二部分をエントリボックス712中に表示することができる。図9Cでは、第一プロンプトメッセージ711の第三部分をエントリボックス712中に表示することが可能である。いくつかの実施形態では、図9Aから図9Bへのプロセスと、図9Bから図9Cへのプロセスとは連続した動的な表示プロセスに組み合されてよい。例えば、第一プロンプトメッセージが図9Cに示された状態にあるとき、次の状態は図9Aに戻ってよい。660では、処理エンジン300は、第一プロンプトメッセージを図8Aに示されるように静的にエントリボックス712中に表示することができる。
また、いくつかの実施形態において、取得モジュール310は、第一プロンプトメッセージの画素の幅(W1と呼ぶ)およびエントリボックスの画素の幅(W2と呼ぶ)を取得することも可能である。判断モジュール320は、W1とW2とを比較、および/またはL1とL2とを比較することができる。W1<W2且つL1<L2の場合、第一プロンプトメッセージはエントリボックス中に静的に表示することが可能である。W1<W2且つL1>L2の場合、650に示されるように、第一プロンプトメッセージ全体が表示可能なように、表示されている間、第一プロンプトメッセージを流動させることができる。W1>W2且つL1<L2の場合、第一プロンプトメッセージの画素の幅がエントリボックスの画素の幅よりも大きくあり得て、処理エンジン300は、第一プロンプトメッセージ全体を表示できるように、第一プロンプトメッセージをエントリボックスの中で上下に動かすことが可能である。W1>W2且つL1>L2の場合、フォーム700は再設計されてよい。いくつかの実施形態では、処理エンジン300は、第一プロンプトメッセージのフォントサイズを、エントリボックスのサイズに適合するように低減することができる。また、処理エンジン300は、第一プロンプトメッセージを収容するためエントリボックスのサイズを増大することも可能である。
いくつかの実施形態において、第一プロンプトメッセージの表示は不規則であってよい。例えば、第一プロンプトメッセージは、美術的デザインのため円形に表示することも可能である。別の例として、第一プロンプトメッセージの少なくとも一部が様式化されてもよい。例えば、第一プロンプトメッセージのキーワードを、ユーザの注意を引くために、太字に、下線引きに、第一プロンプトメッセージの残りの部分より大きなフォントサイズに、斜字に、または色付けすることが可能である。いくつかの実施形態では、第一プロンプトメッセージがエントリボックス中で動的に表示される場合、該第一プロンプトメッセージのキーワードがエントリボックス中に現れたとき、ユーザが第一プロンプトメッセージのそのキーワードを明瞭に見ることができるように、第一プロンプトメッセージの動きを一時的に止めたり、遅くしたりすることができる。
図10は、本開示のいくつかの実施形態による、プロンプトメッセージを表示するための例示的なプロセス1000のフローチャートである。いくつかの実施形態において、プロセス1000は、図2Aもしくは図2Bまたはその両方に示されたコンピューティングデバイス200Aおよび/またはコンピューティングデバイス200B中に実装されてよい。例えば、プロセス1000は、データベース140、ディスク207、ROM203、RAM204、メモリ216、および/またはストレージユニット219中に、命令の形で格納し、処理エンジン300によって呼び出しおよび/または実行することが可能である。いくつかの実施形態では、プロセス1000は、図4に示されたプロセス400の420、430、および440において使用が可能である。
1010で、処理エンジン300は、エントリボックスを検出することが可能である。いくつかの実施形態において、該エントリボックスは、例えば、登録画面、メールボックスログイン画面、ショッピングウェブサイトログイン画面、アプリケーションログイン画面など、またはこれらの任意の組み合せを含め、電子端末のユーザインターフェース上にあるフォーム中に配置されてよい。例えば、図11Aもしくは図11Bまたはその両方に示されるように、エントリボックス1150をフォーム1100中に配置することが可能である。図11Aに示されるように、第一プロンプトメッセージ1110をエントリボックス1150中に表示することができる。
1020で、処理エンジン300は、エントリボックス1150中に入力指示1140が検出されたかどうかを判断することが可能である。いくつかの実施形態において、入力指示1140は、マウスポインタのクリック、マウスポインタのタッチ、または指のタッチなどであってよい。
エントリボックス1150中に入力指示1140が検出されると、ステップ1030で、処理エンジン300は、エントリボックス1150中の第一プロンプトメッセージ1110を第二プロンプトメッセージ1120に置き換えることができる。例えば、図11Aおよび図11B中に示されるように、フォーム1100a中のエントリボックス1150中に入力指示がないときは、第一プロンプトメッセージ1110「アカウント」がエントリボックス1150中に表示されてよい。フォーム1100b中でエントリボックス1150中に入力指示1140があるとき、処理エンジン300は、エントリボックス1150中の第一プロンプトメッセージ1110「アカウント」を第二プロンプトメッセージ1120「あなたのアカウントを入力してください。」に置き換えることができる。いくつかの実施形態において、第二プロンプトメッセージ1120がエントリボックス1150中に表示されたとき、該第二プロンプトメッセージ1120の表示状態は、図6に示された第一プロンプトメッセージの表示状態と同様であってよい。第二プロンプトメッセージ1120は、静的にもまたは動的にも表示が可能である。いくつかの実施形態では、ユーザがエントリボックス中にメッセージをタイプ入力しているとき、入力指示1140は、ユーザがタイプを完了するまでエントリボックス中に残存が可能である。入力指示1140は、入力指示1140とタイプされたメッセージとがエントリボックス中に見えるように、タイプされたメッセージとともに流動することができる。いくつかの実施形態では、第二プロンプトメッセージ1120は、ユーザがメッセージをタイプ入力しているとき、切れ目なく表示することが可能であり、第二プロンプトメッセージは入力情報とオーバラップしなくてよい。
1040で、処理エンジン300は、第一プロンプトメッセージ1110の表示状態を変更することができる。例えば、図11Aおよび図11Bに示されるように、エントリボックス1150中に入力指示1140が検出されたとき、第一プロンプトメッセージ1110「アカウント」の位置は変更されてよい。いくつかの実施形態において、第一プロンプトメッセージ1110は、エントリボックス1150の外側の場所に移動することが可能である。単なる例であるが、図11Bに示されるように、第一プロンプトメッセージ1110は、エントリボックス1150の上部左外側に移動されてよい。いくつかの実施形態では、第一プロンプトメッセージ1110は、エントリボックス1150内の場所に移動されてよい。単なる例であるが、図12Aに示されるように、第一プロンプトメッセージ1110は、エントリボックス1150の上部左コーナーに移動することができ、第二プロンプトメッセージ1120は、第一プロンプトメッセージ1110の下側に表示することが可能である。また、第一プロンプトメッセージ1110のフォントサイズ、および/またはエントリボックス1150のサイズも変更されてよい。いくつかの実施形態では、第一プロンプトメッセージ1110は、エントリボックス1150の境界周辺の場所に移動することも可能である。単なる例であるが、図12Bに示されるように、第一プロンプトメッセージ1110は、エントリボックス1150の上部左側境界上に移動されてもよい。
エントリボックス中に入力指示が検出されないとき、処理エンジン300は1050を実行することが可能である。
1050で、処理エンジン300は、エントリボックス中に入力情報があるかどうかを判断することができる。いくつかの実施形態において、この入力情報は、氏名、電話番号、eメールアドレス、またはアカウントなど、またはこれらの任意の組み合せであってよい。エントリボックス中に入力情報があるとき、1060を実行することが可能である。エントリボックス中に入力指示がないときは、1070を実行することが可能である。
いくつかの実施形態において、ユーザがエントリボックスに情報をタイプ入力しているときに、処理エンジン300は、それまでにユーザがエントリボックス中に入力した文字に基づいて、ユーザがタイプしようとしていることを予測することができる。さらに、処理エンジン300は、タイプされた入力情報の部分に基づいて、1つ以上の予測されるエントリ(または、候補エントリもしくは提案エントリとも言う)のセットを提示することが可能である。例えば、エントリボックス中に入力情報「XXXXXXX@」がタイプされたとき、例えば、「sina.com」、「163.com」、「gmail.com」、「qq.com」などを含め、一組の予測エントリを表示することができる。ユーザはこれら予測エントリの1つを選択すればよい。予測されるエントリは、エントリボックスの中に表示しても、またはエントリボックスの外側に表示してもよい。例えば、1つ以上の候補エントリを、エントリボックス中の入力情報の右側に表示することが可能である。別の例として、1つ以上の候補エントリを、エントリボックスの底部にリストとして表示してもよい。例えば、ユーザは、マウスのポインタを動かすことを介して1つの候補エントリを選ぶことができる。
いくつかの実施形態において、処理エンジン300は、ユーザ(またはユーザの属するグループ)の過去の入力情報を分析して、適切な入力情報を判断することができる。例えば、ユーザが或る特定のeメールアドレスに頻繁にアクセスする場合、そのeメールアドレスには、候補エントリのリスト中の高い位置、例えば、候補エントリのリストの一番目の位置が与えられてよい。ユーザが属するグループは、例えば、ユーザが明示する身元確認、または少なくとも、該ユーザが他のユーザと共有する共通の特色(例えば、職業、住所、性別、年齢または年齢範囲など、またはこれらの任意の組み合せ)に基づいて判断することができる。いくつかの実施形態では、この共通の特色は、処理エンジン300によって識別することが可能である。
1060で、処理エンジン300は、エントリボックス中の入力情報がルールに抵触するかどうかを判断することができる。このルールは、サーバ110、ネットワーク120、電子端末130、またはデータベース140などに格納することが可能である。いくつかの実施形態において、このルールは、入力情報が正確かどうかを判断するために使われてよい。単なる例であるが、正確さは、入力情報の内容、フォーマット、ユニークさ、一貫性、または文法を査定することによって判断することが可能である。
1070で、処理エンジン300は、エントリボックス1150中の第二プロンプトメッセージ1120を第一プロンプトメッセージ1110に置き換えることができる。例えば、図11Aに示されるように、エントリボックス1150中には入力指示も入力情報もなく、このとき、第一プロンプトメッセージ1110「アカウント」をエントリボックス1150中に再度表示することが可能である。エントリボックス中には入力指示も入力情報もないので、フォームの状態は初期の状態に戻る。したがって、図11Aに示された状態のように、第二プロンプトメッセージは消え去り、エントリボックス中には第一プロンプトメッセージが表示されてよい。いくつかの実施形態において、ユーザが全ての入力情報を削除し、マウスのポインタを別のインターフェースまたはいずれかの空白域に動かすと、第二プロンプトメッセージが第一プロンプトメッセージに置き換わり得る。
エントリボックス中の入力情報がルールに抵触する場合、1080で、処理エンジン300は第三プロンプトメッセージを表示することができる。第三プロンプトメッセージは、入力情報の中にエラーがあり得ることを伝えるために用いることが可能である。例えば、図13Aに示されるように、エントリボックス1150中の入力情報1160「XXXXXXX@XX」がフォーマットのルールに抵触する場合、第三プロンプトメッセージ1130「無効なアカウントフォーマット」を、フォーム1100c中のエントリボックス1150の外側に表示することが可能である。第三プロンプトメッセージ1130の位置は様々であってよく、例えば、エントリボックス1150の底部右の場所であってもよい。別の例として、第三プロンプトメッセージ1130が、第一プロンプトメッセージ1110に置き換わって図13Aのエントリボックス1150中に現れてもよい。いくつかの実施形態において、エントリボックス中の入力情報はルールに抵触しないが、データベース140中に格納された関連データと整合しない場合にあっても、同様に第三プロンプトメッセージ1130が該フォーム中に表示されてよい。第三プロンプトメッセージがフォーム中に表示されると、入力情報をチェックし訂正するようにユーザに促すことができる。
エントリボックス中の入力情報がルールに抵触しなければ、1090を実行することが可能である。1090で、処理エンジン300は、第一プロンプトメッセージを表示することができる。例えば、図13Bに示されるように、エントリボックス1150中の入力情報1160「XXXXXXX@XX.com」は有効であり、第一プロンプトメッセージ1110は、フォーム1110d中のエントリボックス1150中に留まることができる。
以上のように基本的構想を説明してきたが、当業者には、本詳細開示を読んだ後では、前述の詳細な開示が単なる例を提示することを意図されたもので、限定するものでないことが十分明らかであろう。本明細書中で明言はされていないが、様々な変形、改良、および修改を行うことが可能で、当業者に対してそう意図されている。これらの変形、改良、および修改は、本開示により暗示することが意図されており、本開示の典型的な実施形態の趣意および範囲内にある。
さらに、特定の用語が、本開示の実施形態を説明するために使われている。例えば、用語「1つの実施形態」、「或る実施形態」、および/または「いくつかの実施形態」は、当該実施形態に関連して説明された特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態中に含まれていることを意味する。したがって、ごく当然のことながら、本明細書中の様々な部分における「或る実施形態」、「1つの実施形態」、または「別の実施形態」への2つ以上の言及は、必ずしも全てが同じ実施形態に言及しているのではない。さらに、これら特定の特徴、構造、または特性は、適切な場合、本開示の1つ以上の実施形態の中で組み合わせることができる。
さらに、当業者には当然のことながら、本開示の態様は、任意の新規および有用なプロセス、マシン、製造、もしくは組成物、またはこれらの任意の新規および有用な改良を含め、多数の特許性のあるクラスまたはコンテキストの何れかでここに例証し説明することが可能である。したがって、本開示の態様は、全体がハードウェア、全体がソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、一般に本明細書では全て「ブロック」、「モジュール」、「エンジン」、「ユニット」、「コンポーネント」、または「システム」と称されることもあるソフトウェアおよびハードウェア実装を組み合わせて実装することができる。さらにまた、本開示の態様は、媒体に具体化されたコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体中に具現化されたコンピュータプログラム製品の形を取ることも可能である。
コンピュータ可読信号媒体は、例えばベースバンド中にまたは搬送波の一部として具現化されたコンピュータ可読プログラムコードを有する、伝播データ信号を含んでよい。かかる伝播信号は、電磁気的、光学的、もしくは類似の、またはこれらの任意の適切な組み合わせを含め、様々な形態の任意の形を取ることが可能である。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではないが、命令実行システム、装置、もしくはデバイスによって、またはこれらに関連させて使用するためのプログラムの通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であってよい。コンピュータ可読信号媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、または前述の任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。
本開示の態様のオペレーションを実行するためのコンピュータプログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB. NET、Pythonなどのオブジェクト指向プログラミング言語、“C”プログラミング言語、Visual Basic、Fortran 1703、Perl、COBOL 1702、PHP、ABAPなどの従来式手続き型プログラミング言語、Python、RubyおよびGroovyなどのダイナミックプログラミング言語、または他のプログラム言語を含め、一つ以上のプログラミング言語の任意の組み合わせで記述することができる。このプログラムコードは、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)、またはクラウドコンピューティング環境中の、またはサービスとしてのソフトウェア(SaaS:software as a service)などのサービスとして提供された、外部のコンピュータへの接続を行うことも可能である。
さらに、処理要素またはシーケンスの記載された順序、または数字、文字、または他の標示の使用は、したがって、特許請求の範囲に指定されていることがある場合を除き、請求対象のプロセスおよび方法を、いかなる順序に限定することも意図されていない。上記の開示は、現在、本開示の種々の有用な実施形態と考えられる様々な例を通して説明しているが、当然のことながら、かかる詳細は説明目的だけのためであり、添付の特許請求の範囲は開示された実施形態に限定されるものでなく、それとは逆に、開示された実施形態の趣旨と範囲内にある諸々の修改および等価の再配置を網羅することが意図されている。例えば、前述の様々なコンポーネントの実装は、ハードウェアデバイスで具現することが可能であるが、ソフトウェアだけの対処策、例えば、既存のサーバまたは携帯デバイスへのインストールとして実装することも可能である。
同様に、当然のことながら、本開示の実施形態の前述の説明では、本開示を簡素化し様々な実施形態の1つ以上の理解を助力するために、場合により、様々な特徴を一緒に1つの実施形態にまとめている。しかしながら、この開示の方法が、請求される主題が、各請求項に明示で記載されたものより多くの特徴を必要とするとの意図を反映していると解釈されるべきではない。むしろ、請求対象の主題は、単一の前述で開示の実施形態の全ての特徴より少ない中に存在し得る。
いくつかの実施形態において、本出願の特定の実施形態を説明し請求するために用いられる、成分、特性などの量を表す数字は、一部の例では、用語「約」、「おおよそ」、または「ほぼ」で修飾されていると理解すべきである。例えば、「約」、「おおよそ」、または「ほぼ」は、別途に記載のある場合を除き、これらが表す値の±20%のばらつきを表し得る。したがって、いくつかの実施形態では、記載の説明および添付の特許請求の範囲中に述べられる数値パラメータは、個々の実施形態によって取得が求められる所望の特性の如何により変わり得る近似値である。いくつかの実施形態では、数値パラメータは、知られた有効数字の数を考慮し、通常の四捨五入技法を適用して解釈されるべきである。本出願のいくつかの実施形態の広い範囲を示す数値の範囲およびパラメータは近似値ではあるが、特定の例で示される数値は、可能な限り正確に述べられている。
本明細書中で参照された、特許、特許出願、特許出願の公開、および、記事、書籍、明細書、出版物、文書、事物などの他の資料の各々は、それらの一切の出願審査履歴、それらのうちの本明細書と矛盾するまたは相いれないもの、または、現在もしくは後に、本明細書に関連する特許請求の最広の範囲を限定する影響を与え得るものを除き、当該参照によって、全ての目的のためその全体が本明細書に組み込まれる。例として、組み込まれた資料の何れかに関連する記述、定義、および/または用語の使用と、本明細書に関連するものとの間に何らかの矛盾または衝突がある場合、本明細書中の記述、定義、および/または当該用語の使用が優先するものとする。
終わるにあたり、当然のことながら、本明細書で開示された本出願の実施形態は、本出願のそれら実施形態の原理の例示である。採用が可能な他の修改も本出願の範囲内であり得る。しかして、例としてだが限定としてでなく、本出願の実施形態の別の構成を、本明細書中の教示に従って用いることが可能である。したがって、本出願の実施形態は、提示され説明された通りのものに限定されない。