(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-07
(54)【発明の名称】アプリケーションへの影響が少ないユーザインターフェースをデプロイするためのシステムおよび方法
(51)【国際特許分類】
G06F 8/38 20180101AFI20230731BHJP
H04L 67/01 20220101ALI20230731BHJP
【FI】
G06F8/38
H04L67/01
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021531916
(86)(22)【出願日】2021-01-10
(85)【翻訳文提出日】2022-12-26
(86)【国際出願番号】 IB2021050145
(87)【国際公開番号】W WO2022008979
(87)【国際公開日】2022-01-13
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520244544
【氏名又は名称】クーパン コーポレイション
(74)【代理人】
【識別番号】230104019
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】100131451
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100167933
【氏名又は名称】松野 知紘
(74)【代理人】
【識別番号】100174137
【氏名又は名称】酒谷 誠一
(74)【代理人】
【識別番号】100184181
【氏名又は名称】野本 裕史
(72)【発明者】
【氏名】キム,テ ホ
(72)【発明者】
【氏名】キム,サン リュル
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC16
5B376BC21
5B376BC32
5B376BC43
5B376FA16
(57)【要約】
本明細書では、ユーザインターフェース層を展開するためのモバイルデバイスのためのシステムおよび方法が開示される。モバイルデバイスは、命令を記憶するメモリ、および命令を実行して動作を実行するように構成された少なくとも1つのプロセッサを備えることができる。これらの動作は、ユーザインターフェースビュー要求を受信することと、ユーザインターフェースビュー要求に応答してビュー構成データにアクセスすることと、ビュー構成データに基づいてユーザインターフェースビューを生成することと、表現データへアクセスすることと、表現データをビュー構成データに結合して、結合データを作成することと、結合データを使用してユーザインターフェースを生成することとを含むことができる。
【特許請求の範囲】
【請求項1】
ユーザインターフェース層をデプロイするためのモバイルデバイスであって、前記システムは、
少なくとも1つのプロセッサと、
1組の命令を含む非一時的コンピュータ可読媒体とを備え、前記少なくとも1つのプロセッサが前記1組の命令を実行すると、前記1組の命令が、
ユーザインターフェースビュー要求を受信することと、
前記ユーザインターフェースビュー要求に応答してビュー構成データにアクセスすることと、
前記ビュー構成データに基づいてユーザインターフェースビューを生成することと、
表現データにアクセスすることと、
前記表現データを前記ビュー構成データに結合して結合データを作成することと、
前記結合データを使用してユーザインターフェースを生成することと
を含む動作を、前記少なくとも1つのプロセッサに実行させる、モバイルデバイス。
【請求項2】
前記動作が、前記生成されたユーザインターフェースを前記モバイルデバイスに表示することをさらに含む、請求項1に記載のモバイルデバイス。
【請求項3】
前記生成されたユーザインターフェースが、前記モバイルデバイス上で動作し、動作コードを有するアプリケーション内に表示され、
前記少なくとも1つのプロセッサが前記動作を実行している間、前記アプリケーションの前記動作コードが、同一バージョンの動作コードである、
請求項2に記載のモバイルデバイス。
【請求項4】
前記ユーザインターフェースビュー要求が、前記モバイルデバイス上で動作するアプリケーション内のユーザ入力に応答して、受信される、請求項1に記載のモバイルデバイス。
【請求項5】
前記モバイルデバイスが、ネットワークインターフェースを備え、
前記アクセスされたビュー構成データが、前記ユーザデバイスにあるキャッシュからアクセスされ、
前記キャッシュが、前記ユーザデバイスのネットワークインターフェースによって受信されたビュー構成更新データを使用して、更新される、
請求項1に記載のモバイルデバイス。
【請求項6】
前記ビュー構成データの少なくとも一部が、拡張マークアップ言語(XML)を使用して表現される、請求項1に記載のモバイルデバイス。
【請求項7】
前記表現データが、複数の表現データ要素を備え、
前記表現データを前記ビュー構成データに結合することが、
前記ビュー構成データから表現を抽出することと、
表現データ要素を、抽出された表現に対応付けることと、
前記対応付けることに基づき、前記結合データの一部として、ユーザインターフェース要素を生成することとを含む、
請求項6に記載のモバイルデバイス。
【請求項8】
前記生成されたユーザインターフェースが、前記生成されたユーザインターフェース要素を備える、請求項7に記載のモバイルデバイス。
【請求項9】
前記ビュー構成データが、ユーザインターフェース要素位置データ、ユーザインターフェース要素寸法データ、または条件付きユーザインターフェース要素表示データのうちの少なくとも1つを含む、請求項8に記載のモバイルデバイス。
【請求項10】
各表現データ要素が、テキスト文字列、フォント情報、色情報のうちの少なくとも1つを備える、請求項9に記載のモバイルデバイス。
【請求項11】
前記生成されたユーザインターフェース要素が、前記モバイルデバイスにおける入力を含むユーザ対話を可能にするように構成されている、請求項10に記載のモバイルデバイス。
【請求項12】
前記モバイルデバイスがネットワークインターフェースを備え、
前記ビュー構成データにアクセスすることが、
前記ネットワークインターフェースを介して、リモートサーバが前記ビュー構成データを格納していると判定することと、
前記モバイルデバイスに前記ビュー構成データが無いと判定することと、
前記ネットワークインターフェースを介して、前記ビュー構成データを要求することと、
前記ネットワークインターフェースを介して、かつ前記要求に応答して、前記リモートサーバから前記ビュー構成データを受信することと
を含む、請求項1に記載のモバイルデバイス。
【請求項13】
ユーザインターフェース層をデプロイするための方法であって、
ユーザインターフェースビュー要求を受信することと、
前記ユーザインターフェースビュー要求に応答してビュー構成データにアクセスすることと、
前記ビュー構成データに基づいてユーザインターフェースビューを生成することと、
表現データにアクセスすることと、
前記表現データを前記ビュー構成データに結合して、ユーザインターフェースの前記表示を調整するための結合データを作成することと、
前記結合データを使用して前記ユーザインターフェースを生成することとを含む方法。
【請求項14】
前記生成されたユーザインターフェースを表示することをさらに含む、請求項13に記載の方法。
【請求項15】
前記生成されたユーザインターフェースが、動作コードを有するアプリケーション内に表示され、
前記アプリケーションの前記動作コードが、前記ビューリクエストが受信されたとき、および前記生成されたユーザインターフェースが表示されたときに同じバージョンの動作コードである、
請求項14に記載の方法。
【請求項16】
前記ビュー構成データの少なくとも一部が、拡張マークアップ言語(XML)を使用して表現される、請求項13に記載の方法。
【請求項17】
前記表現データが、複数の表現データ要素を備え、
前記表現データを前記ビュー構成データに結合することが、
前記ビュー構成データから表現を抽出することと、
表現データ要素を、抽出された表現に対応付けることと、
前記対応付けることに基づき、前記結合データの一部として、ユーザインターフェース要素を生成することとを含む、
請求項16に記載の方法。
【請求項18】
前記生成されたユーザインターフェースが、前記生成されたユーザインターフェース要素を備える、請求項17に記載の方法。
【請求項19】
前記生成されたユーザインターフェース要素が、ユーザ対話を可能にするように構成されている、請求項18に記載の方法。
【請求項20】
ユーザインターフェース層をデプロイするためのモバイルデバイスであって、前記システムは、
ネットワークインターフェースと、
ディスプレイデバイスと、
少なくとも1つのプロセッサと、
1組の命令を含む非一時的コンピュータ可読媒体とを備え、前記少なくとも1つのプロセッサが前記1組の命令を実行すると、前記1組の命令が、
前記ディスプレイデバイスにおいてユーザインターフェースビュー要求を受信することと、
前記ネットワークインターフェースを介して、リモートサーバが前記ビュー構成データを格納していると判定することと、
前記モバイルデバイスに前記ビュー構成データが無いと判定することと、
前記ネットワークインターフェースを介して、前記ビュー構成データを要求することと、
前記ネットワークインターフェースを介して、および前記要求に応答して、前記リモートサーバから前記ビュー構成データを受信することと、
複数の表現データ要素を備えており、前記モバイルデバイスに格納されている表現データにアクセスすることと、
前記ビュー構成データから表現を抽出することと、
表現データ要素を、抽出した表現に対応付けることと、
対応付けた表現データ要素を、対応付けた抽出した表現に結合することによって、前記対応付けることに基づいて対話型ユーザインターフェース要素を生成することと、
前記結合データを使用して、前記対話型ユーザインターフェース要素を有するユーザインターフェースを生成することと、
前記ディスプレイデバイスに前記ユーザインターフェースを表示することと
を含む動作を、前記少なくとも1つのプロセッサに実行させるモバイルデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
[001] 例示的な実施形態は、一般に、ユーザインターフェース層をデプロイするためのシステムおよび方法に関する。例えば、開示された技術は、表現データをビュー構成データに結合して、ユーザインターフェース層を生成することを含んでもよい。その他の技術は、リモートデバイスからビュー構成データにアクセスすることを含んでもよい。
【背景技術】
【0002】
[002] 従来のユーザインターフェースシステムは、通常、ソフトウェア更新に依存して、アプリケーション内の要素の視覚的外観を変更している。ユーザは、新しい機能を確かめたり体験したりするために、アプリケーション更新のダウンロードおよびインストールを開始しなければならない場合が多い。多くの場合、アプリケーションがソフトウェアを更新している間、アプリケーションの一部またはすべての機能がユーザに対して無効になり得る。場合によっては、古くて更新をサポートすることができないハードウェアおよび/またはソフトウェアを有しているために、ユーザがアプリケーション更新を実行できないことがある。したがって、ユーザは、新しい視覚的要素を含み得るアプリケーションの新しい機能を確かめることも体験することもできない場合がある。ソフトウェア更新はまた、アプリケーションの視覚的態様に対する変更が小さい場合でも、デプロイメントに時間がかかり、相当な帯域幅を必要とする可能性がある。さらに、アプリケーション更新は、アプリケーションストアの管理者による、ある程度の承認を必要とすることが多く、ユーザへのデプロイメントがさらに遅くなる。
【0003】
[003] 従来のユーザインターフェースシステムのこれらの欠点を考慮して、ユーザインターフェース層をデプロイするための改良されたシステムおよび方法が必要とされている。開示されたシステムおよび方法は、1つ以上の上記の問題および/または従来技術におけるその他の問題に対処する。
【発明の概要】
【0004】
[004] 本実施形態と一致して、本開示の一態様は、ユーザインターフェース層をデプロイするためのモバイルデバイスを対象とする。モバイルデバイスは、命令を記憶するメモリ、および命令を実行して動作を実行するように構成された少なくとも1つのプロセッサを備えることができる。これらの動作は、ユーザインターフェースビュー要求を受信することと、ユーザインターフェースビュー要求に応答してビュー構成データにアクセスすることと、ビュー構成データに基づいてユーザインターフェースビューを生成することと、表現データへアクセスすることと、表現データをビュー構成データに結合して、結合データを作成することと、結合データを使用してユーザインターフェースを生成することとを含むことができる。
【0005】
[005] 別の実施形態では、動作は、生成されたユーザインターフェースをモバイルデバイスに表示することを含んでもよい。
【0006】
[006] 別の実施形態では、生成されたユーザインターフェースは、モバイルデバイス上で動作し、動作コードを有するアプリケーション内に表示され、少なくとも1つのプロセッサが動作を実行している間、アプリケーションの動作コードは、同一バージョンの動作コードであってもよい。
【0007】
[007] 別の実施形態では、ユーザインターフェースビュー要求は、モバイルデバイス上で動作するアプリケーション内のユーザ入力に応答して、受信されてもよい。
【0008】
[008] 別の実施形態では、モバイルデバイスは、ネットワークインターフェースを備えてもよく、アクセスされたビュー構成データは、ユーザデバイスにあるキャッシュからアクセスされ、このキャッシュは、ユーザデバイスのネットワークインターフェースによって受信されたビュー構成更新データを使用して、更新されてもよい。
【0009】
[009] 別の実施形態では、ビュー構成データの少なくとも一部は、拡張マークアップ言語(XML)を使用して表現されてもよい。
【0010】
[010] 別の実施形態では、表現データは、複数の表現データ要素を備えてもよく、表現データをビュー構成データに結合することは、ビュー構成データから表現を抽出することと、表現データ要素を、抽出された表現に対応付けることと、対応付けることに基づき、結合データの一部として、ユーザインターフェース要素を生成することとを含んでもよい。
【0011】
[011] 別の実施形態では、生成されたユーザインターフェースは、生成されたユーザインターフェース要素を備えてもよい。
【0012】
[012] 別の実施形態では、ビュー構成データは、ユーザインターフェース要素位置データ、ユーザインターフェース要素寸法データ、または条件付きユーザインターフェース要素表示データのうちの少なくとも1つを備えてもよい。
【0013】
[013] 別の実施形態では、各表現データ要素は、テキスト文字列、フォント情報、色情報のうちの少なくとも1つを備えてもよい。
【0014】
[014] 別の実施形態では、生成されたユーザインターフェース要素は、モバイルデバイスにおける入力を含むユーザ対話を可能にするように構成されてもよい。
【0015】
[015] 別の実施形態では、モバイルデバイスは、ネットワークインターフェースを備えてもよく、ビュー構成データにアクセスすることは、ネットワークインターフェースを介して、リモートサーバがビュー構成データを格納していると判定することと、モバイルデバイスにビュー構成データが無いと判定することと、ネットワークインターフェースを介して、ビュー構成データを要求することと、ネットワークインターフェースを介して、および要求に応答して、リモートサーバからビュー構成データを受信することとを含んでもよい。
【0016】
[016] 本開示のさらに別の態様は、ユーザインターフェース層を生成するための方法を対象とする。本方法は、ユーザインターフェースビュー要求を受信することと、ユーザインターフェースビュー要求に応答してビュー構成データにアクセスすることと、ビュー構成データに基づいてユーザインターフェースビューを生成することと、表現データへアクセスすることと、表現データをビュー構成データに結合して、ユーザインターフェースの表示を調整するための結合データを作成することと、結合データを使用してユーザインターフェースを生成することとを含むことができる。
【0017】
[017] 別の実施形態では、本方法は、生成されたユーザインターフェースを表示することを含んでもよい。
【0018】
[018] 別の実施形態では、生成されたユーザインターフェースは、動作コードを有するアプリケーション内に表示されてもよく、前記アプリケーションの前記動作コードは、前記ビューリクエストが受信されたとき、および前記生成されたユーザインターフェースが表示されたときに同じバージョンの動作コードであってもよい。
【0019】
[019] 別の実施形態では、ビュー構成データの少なくとも一部は、拡張マークアップ言語(XML)を使用して表現されてもよい。
【0020】
[020] 別の実施形態では、表現データは、複数の表現データ要素を備えてもよく、表現データをビュー構成データに結合することは、ビュー構成データから表現を抽出することと、表現データ要素を、抽出された表現に対応付けることと、対応付けることに基づき、結合データの一部として、ユーザインターフェース要素を生成することとを含んでもよい。
【0021】
[021] 別の実施形態では、生成されたユーザインターフェースは、生成されたユーザインターフェース要素を備えてもよい。
【0022】
[022] 別の実施形態では、生成されたユーザインターフェース要素は、ユーザ対話を可能にするように構成されてもよい。
【0023】
[023] 本開示のさらに別の態様は、ユーザインターフェース層をデプロイするためのモバイルデバイスを対象とする。システムは、ネットワークインターフェースと、ディスプレイデバイスと、少なくとも1つのプロセッサと、1組の命令を含む非一時的コンピュータ可読媒体とを備え、少なくとも1つのプロセッサが1組の命令を実行すると、1組の命令が、少なくとも1つのプロセッサに動作を実行させることができる。動作は、ディスプレイデバイスにおいてユーザインターフェースビュー要求を受信することと、ネットワークインターフェースを介して、リモートサーバがビュー構成データを格納していると判定することと、モバイルデバイスにビュー構成データが無いと判定することと、ネットワークインターフェースを介して、ビュー構成データを要求することと、ネットワークインターフェースを介して、および要求に応答して、リモートサーバからビュー構成データを受信することと、複数の表現データ要素を備えており、モバイルデバイスに格納されている表現データにアクセスすることと、ビュー構成データから表現を抽出することと、表現データ要素を、抽出した表現に対応付けることと、対応付けた表現データ要素と対応付けた抽出表現を結合することによって、対応付けることに基づいて対話型ユーザインターフェース要素を生成することと、結合データを使用して、対話型ユーザインターフェース要素を有するユーザインターフェースを生成することと、ディスプレイデバイスにユーザインターフェースを表示することとを含むことができる。
【0024】
[024] 他の開示された実施形態と一致して、非一時的コンピュータ可読記憶媒体の例示的な実施形態は、少なくとも1つのプロセッサデバイスによって実行され、本明細書で説明された方法のいずれかを実行することができるプログラム命令を格納することができる。
【0025】
[025] 前述の一般的な説明および以下の詳細な説明は、例示的な実施形態を提供し、特許請求の範囲を限定するものではない。
【0026】
[026] 本明細書に組み込まれて本明細書の一部を構成する添付の図面は、いくつかの実施形態を例示し、説明と共に、開示された原理を説明するのに役立つ。
【図面の簡単な説明】
【0027】
【
図1】[027]
図1は、開示された実施形態と一致する、ユーザインターフェースデータをデプロイするためのシステムを例示的に図説する図である。
【
図2】[028]
図2は、開示された実施形態と一致する、ユーザインターフェースデータを構成するためのユーザデバイスを例示的に図説する図である。
【
図3】[029]
図3は、開示された実施形態と一致する、データを結合してユーザインターフェースを生成するプロセスを例示的に図説する図である。
【
図4】[030]
図4は、開示された実施形態と一致する、モバイルアプリケーション環境内のユーザインターフェースを例示的に図説する図である。
【
図5】[031]
図5は、開示された実施形態と一致する、ユーザインターフェース層をデプロイするための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【0028】
[032] 本開示は、一般に、紛争データの分析、送信、および管理を調整するための自動化されたシステムおよびプロセスを対象とする。
【0029】
[033] ここで、例示的な実施形態について詳細に言及する。実施形態の例は、添付の図面に示され、本明細書に開示される。開示された実施形態は、当業者が開示された実施形態を実施することができる程度に十分詳細に説明されている。その他の実施形態を利用することができ、開示された実施形態の範囲から逸脱することなく、変更を加えることができることを理解すべきである。したがって、材料、方法、および例は例示にすぎず、必ずしも限定することを意図するものではない。
【0030】
[034]
図1は、本明細書で説明するプロセスを実行するように構成されたコンピュータデバイス100を含むことができるシステム10を例示的に図説している。いくつかの実施形態では、コンピュータデバイス100は、ユーザインターフェースの作成に携わるソフトウェア開発者、会社、および/またはその他の組織に関連付けられていてもよい。いくつかの実施形態では、システム10は、(例えば、ネットワークインターフェース120を介して、)ローカルネットワーク内で互いに通信可能に接続された複数のコンピュータデバイス100を含んでもよい。コンピュータデバイス100は、メモリ104に接続された、1つ以上の専用処理ユニット、特定用途向け集積回路(ASICs)、フィールドプログラマブルゲートアレイ(FPGAs)、グラフィック処理ユニット、または様々な他のタイプのプロセッサもしくは処理ユニットを含むことができるプロセッサ102を含んでもよい。プロセッサ102は、シングルコア、または並列する複数の処理を同時に実行するマルチコアのプロセッサを構成してもよい。例えば、プロセッサ102は、仮想処理技術によって構成されたシングルコアプロセッサであってもよい。いくつかの実施形態では、プロセッサ102は、論理プロセッサを使用して、同時に複数のプロセスを実行し、制御してもよい。プロセッサ102は、仮想マシン技術、またはその他の既知の技術を実装して、複数のソフトウェア処理、アプリケーション、プログラムなどの、実行、制御、動作、操作、格納などをする能力を提供してもよい。別の実施形態では、プロセッサ102は、並列処理機能を提供するように構成されたマルチコアプロセッサ構成(例えば、デュアルコア、クワッドコアなど)を含み、複数処理の同時実行を可能にしてもよい。当業者は、本明細書に開示された性能を提供するその他のタイプのプロセッサ構成が実装され得ることを理解するであろう。開示された実施形態は、いかなるタイプのプロセッサにも限定されない。プロセッサ102は、メモリ104に格納された様々な命令を実行して、以下に、より詳細に説明する、開示された実施形態の様々な機能を実行してもよい。プロセッサ102は、1つ以上の既知のプログラミング言語で書かれた機能を実行するように構成されてもよい。
【0031】
[035] コンピュータデバイス100はまた、メモリ104を含んでもよく、そのメモリ104は、単一のメモリ構成要素または複数のメモリ構成要素であってもよい。そのようなメモリ構成要素は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組合せを含んでもよい。例えば、メモリ104は、任意の数のハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)などを含んでもよい。メモリ104は、プロセッサ102によって使用可能な命令を格納して、開示された実施形態に関係する機能を実行するように構成された1つ以上の記憶デバイスを含んでもよい。メモリ104はまた、開示された実施形態と一致する、任意の数のプログラム、アプリケーション、アプリケーションプログラムインターフェース(API))、または任意のその他のデータを含んでもよい。
【0032】
[036] いくつかの実施形態では、メモリ104は、いくつかのアプリケーションプログラムインターフェース(API)を含んでもよく、アプリケーションプログラムインターフェースの例を
図1に示す。メモリ104は、開示された実施形態と一致する方法を実行するために使用される1つ以上のプログラム(例えば、API、プロセス、モジュール、コード、スクリプト、または関数)を含むことができるプログラム106を格納してもよい。プログラム106は、1つ以上のプログラミング言語またはスクリプト言語で書かれていてもよい。メモリ104はまた、ユーザインターフェース層の生成に関係する、ユーザアカウント、アプリケーション、特定のデバイス、モデル、通信、または任意のその他のデータに関連付けられたデータを含むことができるデータ108を維持してもよい。データは、XML、REST、SOAP、JSON、GraphQLなどを含む任意の数のフォーマットまたはプロトコルに従って、コンピュータデバイス100と、または複数のデバイス間(例えば、複数のコンピュータデバイス100の間、コンピュータデバイス100とユーザデバイス150との間など)で、交換されてもよい。
【0033】
[037] メモリ104はまた、開示された実施形態と一致する、ビュー構成データ110であって、ユーザインターフェース層の生成に使用されるビュー構成データ110を含んでもよい。いくつかの実施形態では、ビュー構成データ110は、ユーザによって構成されても、(例えば、モデルに従って)コンピュータによって構成されても、または部分的にユーザによって構成され、部分的にコンピュータによって構成されてもよい。ビュー構成データ110は、開示された実施形態と一致する、ユーザインターフェース層を表示するように構成されてもよい(例えば、インフレート(inflate)、表現抽出、モデル結合用に書式設定してもよい)。
【0034】
[038] メモリ104はまた、開示された実施形態と一致する、モデル(図示せず)を含んでもよく、そのモデルは、ユーザインターフェース層を生成するための人工知能(AI)モデルであってもよい。モデルは、限定はしないが、開示された実施形態と一致する、コンピュータソフトウェアモジュール、アルゴリズム、機械学習モデル、データモデル、統計モデル、再帰型ニューラルネットワーク(RNN)モデル、長・短期記憶(LSTM)モデル、または別のニューラルネットワークモデルのいずれか1つであってもよい。いくつかの実施形態では、モデルは、学習段階のモデルであってもよく、または(例えば、開発者、機械、もしくは両方の組合せによって、)ある程度訓練されていてもよい。いくつかの実施形態では、開発者は、モデルと対話して、モデルまたはモデルのパラメータに対して提案された(例えば、機械によって提案された)変更を承認または否認してもよい。この対話の後、モデルは、ユーザ対話および/または機械入力を反映するために、更新されてもよい。
【0035】
[039] コンピュータデバイス100はまた、入出力デバイス(I/O)112であって、ディスプレイ(例えば、グラフィカルディスプレイ、テキストディスプレイ、ディスプレイ164など)、LED、ルータ、タッチスクリーン、キーボード、マイクロフォン、スピーカ、触覚デバイス、カメラ、ボタン、ダイヤル、スイッチ、ノブ、タッチパッド、ボタン、マイクロフォン、位置センサ、加速度計、カメラ、指紋スキャナ、網膜スキャナ、バイオメトリック入力デバイス、超音波スキャナ、トランシーバ、入力デバイス、出力デバイス、またはその他のI/Oデバイスのうちの少なくとも1つを含んで、開示された実施形態の方法を実行することができる入出力デバイス(I/O)112を含んでもよい。I/O112は、インターフェース(例えば、ユーザインターフェース)の構成要素を含んでもよい。I/O112はまた、有線または無線ネットワークカード/チップセットの少なくとも1つを含むことができるネットワークインターフェース(図示せず)を含んでもよい。
【0036】
[040] システム10はまた、複数のデバイス(例えば、コンピュータデバイス100およびユーザデバイス150)が、互いに接続するために、(例えば、通信を送信および/または受信するために、)使用することができるネットワーク170を含んでもよい。ネットワーク170は、パブリックネットワークまたはプライベートネットワークであってもよく、例えば、限定はしないが、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク、IEEE802.11無線ネットワーク(例えば、「Wi-Fi」)、ネットワークのネットワーク(例えば、インターネット)、固定電話網などを含む有線または無線ネットワークを含んでもよい。ネットワーク170は、様々なシステム構成要素を、互いに、および/または外部のシステムもしくはデバイスに接続するために、(
図1には示されていない)その他のネットワークに接続されてもよい。いくつかの実施形態では、ネットワーク170は安全なネットワークであり、ネットワークにアクセスするためのパスワードを必要としてもよい。
【0037】
[041] システム10はまた、ユーザデバイス150を含んでもよく、
図2に関連してさらに説明される。いくつかの実施形態では、システム10は、開示された実施形態と一致する、システム10が使用するデータを格納するように構成された1つ以上のデータベース160を含んでもよい。いくつかの実施形態では、データベース160は、開示された実施形態と一致する、データセットおよび/または1つ以上のデータセットインデックスを格納するように構成されてもよい。データベース160は、クラウドベースのデータベース(例えば、Amazon Relational Database Service(RDS))、または自社運用データベースを含んでもよい。データベース160は、開示された実施形態と一致する、ビュー構成データ、表現データ、データセット、モデルデータ(例えば、モデルパラメータ、訓練基準、性能評価尺度など)、および/またはその他のデータを含んでもよい。データベース160は、(例えば、ネットワーク170を介して、)システム10の1つ以上の構成要素および/またはシステム10の外部のコンピュータ構成要素から受信されたデータを含んでもよい。
【0038】
[042]
図2は、本明細書で説明されるプロセスを実行することができるユーザデバイス150を例示的に図説している。ユーザデバイス150は、開示された実施形態と一致する、プロセッサ102の態様のいずれかまたはすべてを含むことができるプロセッサ152を含んでもよい。いくつかの実施形態では、ユーザデバイス150は、例えば加速度計、光センサ、音声センサ、赤外線センサ、動きセンサ、圧電センサ、レーザセンサ、ソナーセンサ、GPSセンサ、電磁センサなどのセンサ154を含んでもよい。
【0039】
[043] ユーザデバイス150はまた、入力デバイス158を含むことができる入力/出力デバイス(I/O)156を含んでもよく、入力デバイス158は、ルータ、タッチスクリーン、キーボード、マイクロフォン、スピーカ、触覚デバイス、カメラ、ボタン、ダイヤル、スイッチ、ノブ、タッチパッド、ボタン、マイクロフォン、位置センサ、加速度計、カメラ、指紋スキャナ、網膜スキャナ、生体入力デバイス、超音波スキャナなどのうちの少なくとも1つを含んでもよい。当業者には理解されるように、入力デバイス158は、ユーザ入力を含む入力を受信して、開示された実施形態と一致する方法の実行、または実行の支援をすることができる任意のデバイスであってもよい。
【0040】
[044] I/O156はまた、例えば視覚ディスプレイ、LED、スピーカ、触覚フィードバックデバイスなどのユーザフィードバックを返すように構成された任意のデバイスを含むことができる出力デバイス160を含んでもよい。
【0041】
[045] I/O156は、任意のタイプのデータネットワークの少なくとも1つと接続するように構成されることができるトランシーバ162を含んでもよい。例えば、トランシーバ162は、モバイルネットワークトランシーバ、Wi-Fiトランシーバ、LiFiトランシーバ、近距離無線通信(NFC)トランシーバ、無線トランシーバ、超高周波(UHF)トランシーバ、Bluetoothトランシーバ、赤外線トランシーバ、またはその他の無線トランシーバのうちの少なくとも1つであってもよい。
【0042】
[046] I/O156は、本明細書で説明されたプロセスに関連するデータまたはその他の情報を表示することができるディスプレイ164を含んでもよい。例えば、ディスプレイ164は、液晶ディスプレイ(LCD)、面内スイッチング液晶ディスプレイ(IPS-LCD)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス式有機発光ダイオード(AMOLED)ディスプレイ、陰極線管(CRT)ディスプレイ、プラズマディスプレイパネル(PDP)、デジタル光処理(DLP)ディスプレイ、またはユーザデバイスに接続でき、ユーザに情報を描写できる任意のその他のディスプレイを含んでもよい。ディスプレイ164は、グラフィカルインターフェース、対話可能なグラフィック要素、アニメーション、動的グラフィック要素、および任意のその他の視覚要素を表示してもよい。
【0043】
[047] ユーザデバイス150はまた、メモリ166であって、メモリ104の態様のいずれかまたはすべてを含むことができ、プロセッサ152が使用できる命令を格納して、開示された実施形態に関係する機能を実行することができるメモリ166を含んでもよい。例えば、メモリ166は、動作コード(例えば、オペレーティングシステムコード、アプリケーション動作コードなど)を含んでもよく、アプリケーションは、その動作コードに従って、ユーザデバイス150上で動作することができる。いくつかの実施形態では、動作コードは、アプリケーションストアを使用して更新されてもよい。別の例として、メモリ166は、開示された実施形態と一致する、プログラム106の態様のいずれかまたはすべてを有することができるプログラム168を格納してもよい。例えば、プログラム168は、ユーザインターフェース層を表示するように構成されたアプリケーションを含んでもよい。メモリ166はまた、ビュー構成データ172、表現データ174、アプリケーションデータ、ユーザデータ、デバイスデータ、ユーザデバイス150においてユーザが入力したデータ、または本明細書に説明されたプロセスで使用するための任意のその他のデータを含むことができるデータ170を含んでもよい。いくつかの実施形態では、データ160は、(例えば、プログラム168によって、)ユーザデバイス150において追跡されたデータを含んでもよい。例えば、プログラム168は、ユーザデバイス150において行われた操作(マウスクリック、ボタン押下、タッチスクリーン対話、トランザクションの開始、購入、ウェブページの閲覧、ダウンロードなど)を追跡してもよい。さらなる例として、プログラム168は、ユーザインターフェース層の閲覧、および/またはユーザインターフェース層との対話のためにインターネットブラウザで行ったユーザ操作を、(例えば、ブラウザ拡張、クッキーなどを使用して)追跡してもよく、閲覧および/または対話の詳細を含むデータをデータ160に格納してもよい。
【0044】
[048]
図3は、開示された実施形態と一致する、データを結合してユーザインターフェースを生成するためのプロセスを例示的に図説している。
図3は、ビュー構成データ(例えば、ビュー構成データ172)を使用してユーザインターフェース層を生成することができる方法を示し、その方法は、
図5に関連してさらに説明する。いくつかの実施形態では、ビュー構成データは、ビューをインフレートするために使用されてもよい。例えば、ビューデータ(例えば、ユーザインターフェース層を構成するためのデータ)は、デバイス(例えば、コンピュータデバイス100)において展開されて、データ要素(例えば、ネストされたデータ要素、階層ツリーの一部であるデータ要素、シーケンスを形成するデータ要素など)との相互作用を可能にしてもよい。いくつかの実施形態では、表現(例えば、層の内容、層要素の寸法、層要素の色など)は、(例えば、ユーザデバイス150によって、)ビュー構成データ、および/または展開されたビューデータから抽出されてもよい。いくつかの実施形態では、(例えば、データをモデルに適用する前に、抽出された表現および/またはその他のデータに対して)アクション(例えば、「ActionBinder」)が実行されてもよい。いくつかの実施形態では、抽出された表現、ビュー構成データ、および/または展開したビューデータは、デバイス(例えば、ユーザデバイス150)においてユーザインターフェース層を生成するために、(例えば、コンピュータデバイス100において)事前に生成されていてもよいモデルに適用されてもよい。いくつかの実施形態では、(例えば、コンピュータデバイス100および/またはユーザデバイス150において、)モデル結合を行ってもよく、そのモデル結合によって、抽出された表現、ビュー構成データ、および/または展開したビューデータは、モデルの少なくとも1つのパラメータにリンクされるか、または他の方法で関連付けられてもよい。
【0045】
[049] いくつかの実施形態では、ユーザインターフェース302などのユーザインターフェース内に表示されることができるユーザインターフェース要素を生成するために、結合データを有するモデルがユーザデバイス150(またはその他の処理デバイス)に実装されてもよい。例えば、少なくとも1つのユーザインターフェース要素および/またはユーザインターフェース層は、説明領域304などのユーザインターフェース302内に配置されてもよい。いくつかの実施形態では、説明領域304は、テキスト、グラフィック、アニメーション、対話可能要素(例えば、リンク、スクロール可能領域、ボタン、スライドバー、可動要素、展開可能要素など)などを含んでもよい。いくつかの実施形態では、要素は特定のサブ領域308内に配置されてもよく、各要素の配置、サイズ、色、表示時間、許可されるユーザ対話のタイプなど、ならびに要素自体の組合せは、モデル、ビュー構成データ、および/またはビュー構成データからの表現によって制御されてもよい。例として、要素または要素構成は、特定の製品に関連付けられてもよい。いくつかの実施形態では、処理を改善し、帯域幅輻輳を低減するために、モデル、モデルデータ、ビュー構成データ、および/または表現などのデータは、プロセス500に関連してさらに説明するように、デバイス(例えば、ユーザデバイス150)においてキャッシュされてもよい。
【0046】
[050] いくつかの実施形態では、ユーザインターフェース302はまた、画像を含むことができる可視化領域306を含んでもよい。例えば、可視化領域306は、製品の画像を含んでもよい。いくつかの実施形態では、可視化領域306内の画像、または可視化領域306内でのその他の可視化は、ユーザによる対話が可能であってもよい。例えば、ユーザは、(例えば、入力デバイス158においてコマンドを入力することによって、)可視化領域306に表示された画像の回転、ズームイン、ズームアウト、選択などをしてもよい。いくつかの実施形態では、ビデオまたはその他のアニメーションは、可視化領域306内で再生されてもよい。
【0047】
[051] いくつかの実施形態では、ユーザインターフェース302の要素は、ユーザインターフェース層の一部であってもよい。例えば、ユーザインターフェース302は、複数のユーザインターフェース層であって、モデル、ビュー構成データ、および/またはビュー構成データからの表現によって制御され得る表示用に、複数のユーザインターフェース層のすべてまたは一部が構成され得る複数のユーザインターフェース層を有してもよい。ユーザインターフェース層は、論理層、および/またはオペレーティングシステムのフレームワーク(例えば、Android(商標))によって決定されるユーザインターフェース層であってもよい。いくつかの実施形態では、(例えば、モデルおよび/またはビュー構成データの更新に従った)1つの相互依存層に対する修正が、(モデルによって生成され得る)別の相互依存層における変更のトリガとなり得るように、1つの層は、別の層と相互依存していてもよい(例えば、ビュー構成データ、モデル、およびユーザインターフェースの任意の組合せの間の相互依存性)。
【0048】
[052]
図4は、開示された実施形態と一致する、モバイルアプリケーション環境内のユーザインターフェースを例示的に図説している。例えば、ユーザインターフェース302は、ユーザデバイス150に表示されることができる。いくつかの実施形態では、ユーザインターフェース302は、ユーザデバイス150であって、アプリケーションインターフェースを表示するように指定され得るユーザデバイス150の表示領域400内に表示されてもよい。いくつかの実施形態では、ユーザインターフェース302は、ユーザデバイス150におけるユーザ入力、および/またはリモートソース(例えば、コンピュータデバイス100)から受信されたデータに応答して、事前に生成されていてもよい。
【0049】
[053]
図5は、ユーザインターフェース層をデプロイするための例示的なプロセス500であって、開示された実施形態に従って、プロセッサによって実行され得るプロセス500のフローチャートを示す。例えば、プロセス500は、(例えば、プロセッサ152を使用して、)ユーザデバイス150によって全体的または部分的に実行されてもよい。代替的に、または付加的に、プロセス500のいくつかのステップは、ユーザデバイス150によって実行されてもよく、その他のステップは、コンピュータデバイス100などの別のデバイスによって実行されてもよい。プロセス500は、ユーザデバイス150に関連して説明されているが、当業者であれば、
図5に例示されるステップは例示的なものであり、いくつかの実施形態では、ステップが追加、マージ、分割、複製、反復、修正、および/または削除されてもよいことを理解するであろう。
【0050】
[054] ステップ502において、ユーザデバイス150は、ユーザインターフェース要求を受信してもよく、ユーザインターフェース要求は、特定のユーザインターフェースおよび/またはユーザインターフェース要素が(例えば、ユーザデバイス150において)生成および/または表示されることを求める要求であってもよい。いくつかの実施形態では、ユーザインターフェース要求は、ユーザデバイス150において、(例えば、ユーザデバイス150上で動作するアプリケーション内で、)受信された入力に応答して、ユーザデバイス150において受信されてもよい。例えば、ユーザデバイス150においてアプリケーションが起動するとき、および/またはユーザがインターフェース要素と対話するとき、それに応答して、プロセッサ152は、ユーザインターフェース要求を受信してもよい。
【0051】
[055] ステップ504において、ユーザデバイス150は、ビュー構成データのソースを判定することができる。例えば、ユーザデバイス150は、ユーザデバイス150自体がユーザインターフェース要求に関係するビュー構成データを(例えば、メモリ166に)格納していると判定することができる。別の例として、ユーザデバイス150は、ユーザインターフェース要求に関係するビュー構成データを有することができるソフトウェア開発者、アプリケーション作成者などに関連付けられたシステムおよび/またはデバイスを識別してもよい。さらにこの例では、ユーザデバイス150は、リモートデバイス(例えば、サーバ)がビュー構成データを格納していると(例えば、ネットワークインターフェースを介して)判定してもよく、および/または、ユーザデバイス150自体にビュー構成データが無いと判定してもよい。それに応答して、ユーザデバイス150は、(例えば、ネットワークインターフェースを介して、)リモートデバイスにあるビュー構成データを要求してもよい。要求に応答して、ユーザデバイス150は、(例えば、ネットワークインターフェースを介して、および/または要求に応答して、)リモートデバイスからビュー構成データを受信してもよい。いくつかの実施形態では、より新しいバージョンのビュー構成データがリモートデバイスに存在しているとユーザデバイス150が判定し、この判定に応答して(例えば、前述したように)リモートデバイスに問い合わせすることができるように、ビュー構成データは、対応するバージョンを有してもよい。
【0052】
[056] さらに別の例として、ユーザデバイス150は、ユーザデバイス150がビュー構成データの第1の部分のソースであり、別のデバイス(例えば、コンピュータデバイス100)がビュー構成データの第2の部分のソースであると判定してもよい。ビュー構成データは、関数、テーブル、フィールド、オブジェクト、ユーザインターフェース要素位置データ、ユーザインターフェース要素寸法データ、条件付きユーザインターフェース要素表示データ、および/またはユーザインターフェース要素を生成するために使用され得るその他のデータを含んでもよい。いくつかの実施形態では、ビュー構成データの少なくとも一部は、拡張マークアップ言語(XML)を使用して表現されてもよい。
【0053】
[057] ステップ506において、ユーザデバイス150は、ビュー構成データを要求することができる。ビュー構成データを要求することによって、ユーザデバイス150は、ユーザインターフェースビュー要求(例えば、ステップ502)に応答してビュー構成データにアクセスすることができる。例えば、プロセッサ152は、要求を受信し、ユーザデバイス150にある(例えば、メモリ166内の)キャッシュからビュー構成データを読み出してもよい。いくつかの実施形態では、ユーザデバイス150にあるキャッシュは、ビュー構成データおよび/または表現データを求めて指定されてもよく、ユーザデバイス150のネットワークインターフェース(例えば、トランシーバ162)によって受信されたビュー構成更新データを使用して、更新されてもよい。付加的に、または代替的に、ステップ504において、ビュー構成データのソースとして判定されていてもよいコンピュータデバイス100に、ユーザデバイス150が、ビュー構成データの要求を送信してもよい。いくつかの実施形態では、コンピュータデバイス100は、(例えば、所定の間隔に従って、ネットワーク帯域幅が閾値を下回っていると判定したとき、ユーザデバイス150にあるビュー構成データおよび/またはアプリケーションデータが古くなっていると判定したとき、など)所定の更新計画の一環としてビュー構成データ要求を受信してもよい。
【0054】
[058] ステップ508において、ユーザデバイス150は、ビュー構成データを受信することができる。例えば、ユーザデバイス150は、コンピュータデバイス100から、ステップ506において要求したビュー構成データを受信してもよい。いくつかの実施形態では、ユーザデバイス150は、ビュー構成データに基づいてユーザインターフェースビューを生成してもよい。例として、ユーザデバイス150は、表現データを使用して増強され得るデータ構造を、(例えば、モデルに従って)生成してもよい。
【0055】
[059] ステップ510において、ユーザデバイス150は、表現データにアクセスすることができる。いくつかの実施形態では、表現データにアクセスすることは、表現データをユーザデバイス150の記憶装置(例えば、メモリ166)から読み出すことであってもよい。付加的に、または代替的に、表現データにアクセスすることは、表現データを要求してリモートデバイス(例えば、コンピュータデバイス100)から受信することであってもよい。
【0056】
[060] ステップ512において、ユーザデバイス150は、表現データ(例えば、ステップ510で受信された表現データ)から表現を抽出することができる。例えば、表現データは、複数の表現を含むことができ、その全部または一部が、モデルに従うことなどによって抽出され得る。いくつかの実施形態では、表現は、テキスト文字列、フォント情報、色情報、またはビュー構成データと結合され得るその他のデータ要素のうちの少なくとも1つを含んでもよい。いくつかの実施形態では、(例えば、データを結合する前に、抽出された表現および/またはその他のデータに対して)アクション(例えば、「ActionBinder」)が実行されてもよい。
【0057】
[061] ステップ514において、ユーザデバイス150は、データを結合することができる。いくつかの実施形態では、データを結合することは、表現データをビュー構成データと結合することを含んでもよく、データを結合した結果、ユーザインターフェース要素および/またはユーザインターフェース層を生成するように構成された新しい表現を含み得る結合データを生成することができる。表現データが複数の表現データ要素を備える場合などのいくつかの実施形態では、データを結合することは、ビュー構成データから表現を抽出すること、および表現データ要素を、抽出した表現に対応付けることであってもよい。
【0058】
[062] ステップ516において、ユーザデバイス150は、少なくとも1つのユーザインターフェース要素を生成することができる。例えば、ユーザデバイス150は、ステップ514で作成した結合データに基づいてユーザインターフェース要素を生成してもよい。ユーザインターフェース要素は、説明領域304、可視化領域306、サブ領域308、またはユーザデバイス150に表示可能なその他の要素の任意の部分を含んでもよい。いくつかの実施形態では、生成されたユーザインターフェース要素は、ユーザデバイス150における入力などのユーザ対話を可能にするように構成されてもよい(その例は、
図3に関連して説明されている)。上述したように、ユーザインターフェース要素の組合せは、ユーザインターフェース層に対応してもよい。いくつかの実施形態では、ユーザデバイス150は、ステップ514で実行された対応付けることに基づいてユーザインターフェース要素を生成してもよい。いくつかの実施形態では、生成されたユーザインターフェース要素は、結合データの一部であってもよい。
【0059】
[063] ステップ518において、ユーザデバイス150は、ユーザインターフェース(例えば、ユーザインターフェース302)を生成することができる。いくつかの実施形態では、生成されたユーザインターフェースは、ステップ516で生成されたユーザインターフェース要素および/またはユーザインターフェース層を含んでもよい。いくつかの実施形態では、ユーザインターフェースは、モデル、ビュー構成データ、および/またはビュー構成データからの表現に従って構成され得る複数の異なるユーザインターフェース層の組合せを含んでもよい。
【0060】
[064] ステップ520において、ユーザデバイス150は、(例えば、ディスプレイ164に、)ユーザインターフェースを表示することができる。例えば、ユーザデバイス150は、ステップ518で生成されたユーザインターフェースを表示してもよい。いくつかの実施形態では、生成されたユーザインターフェースは、ユーザデバイス150(例えば、モバイルデバイス)上で動作するアプリケーション内に表示されてもよい。また、上述したように、アプリケーションは、ユーザデバイス150上でアプリケーションに動作を実行させる動作コードを有してもよい。いくつかの実施形態では、アプリケーション(例えば、ユーザインターフェースを表示するアプリケーション)の動作コードは、プロセッサ(例えば、プロセッサ152)がプロセス500のステップを実行するなどの動作を実行している間、同一バージョンの動作コードであってもよい。このようにして、デバイスは、追加の帯域幅および/またはデータ記憶領域を必要とし得る、アプリケーションの命令コードの更新なしに、更新された情報(例えば、ユーザインターフェース要素、ユーザインターフェース層など)を表示することができる。いくつかの実施形態では、アプリケーションの動作コードは、プロセス500の全部または一部の実行の後、動作コードの第1のバージョンのままであってもよい。
【0061】
[065] 前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された詳細な形態または実施形態に限定されない。明細書および開示された実施形態の実施を考慮することによって、実施形態の修正形態および適応形態が明らかになるであろう。
【0062】
[066] コンピュータ可読記憶媒体は、命令実行デバイスが使用する命令を保持および格納することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体の、より具体的な例の非網羅的なリストには、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカードまたは溝内の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくはその他の自由に伝搬する電磁波、導波管もしくはその他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または有線で伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0063】
[067] 本明細書に記載された説明および方法に基づくコンピュータプログラムは、ソフトウェア開発者の技能範囲内にある。様々な関数、スクリプト、プログラム、またはモジュールは、多様なプログラミング技術を使用して作成され得る。例えば、本開示の動作を実行するためのコンピュータ可読なプログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk、C++、JAVASCRIPT、C、C++、JAVA、PHP、PYTHON、RUBY、PERL、BASH、またはその他のプログラミング言語もしくはスクリプト言語など、(オブジェクト指向プログラミング言語および/または従来の手続き型プログラミング言語を含む)1つ以上のプログラミング言語の任意の組合せで書かれたソースコードもしくはオブジェクトコードのいずれか、であってもよい。1つ以上のそのようなソフトウェアセクションまたはモジュールは、コンピュータシステム、非一時的コンピュータ可読媒体、または既存の通信ソフトウェアに統合され得る。プログラム、モジュール、またはコードは、ファームウェアまたは回路ロジックとして実装または複製されることもできる。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、および部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または(例えば、インターネットサービスプロバイダを使用してインターネットを介して、)外部コンピュータに接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行してもよい。
【0064】
[068] コンピュータまたはその他のプログラマブルデータ処理装置のプロセッサを介して実行する、コンピュータ可読プログラム命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実装するための手段を生成するように、これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能なデータ処理装置のプロセッサに提供されてもよい。コンピュータ可読記憶媒体に格納された命令を有するコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作の態様を実装する命令を含む製品を備えるように、これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置、および/またはその他のデバイスに、特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に格納されてもよい。
【0065】
[069] コンピュータ、その他のプログラム可能な装置、またはその他のデバイス上で実行するコンピュータ可読プログラム命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実装するように、コンピュータ可読プログラム命令はまた、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスにロードされ、一連の動作可能なステップを、コンピュータ、その他のプログラム可能な装置、またはその他のデバイス上で実行させて、コンピュータで実装されるプロセスを生成してもよい。
【0066】
[070] 本開示の態様は、本開示の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して本明細書で説明される。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
【0067】
[071] 図のフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品のアーキテクチャ、機能、および動作の可能な実装形態を例示する。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能な命令を備える、ソフトウェアプログラム、セグメント、またはコードの一部を表すことができる。いくつかの別の実装形態では、ブロックに記載された機能は、図に記載された順序とは異なる順序で発生してもよいことにも留意されたい。例えば、連続して示されている2つのブロックは、実際には、関連する機能に応じて、実質的に同時に実行されてもよく、またはその2つのブロックは、時には逆の順序で実行されてもよい。さらに、いくつかのブロックは、任意の反復回数にわたって反復的に実行されてもよく、いくつかのブロックは、まったく実行されなくてもよい。ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図の複数のブロックの組合せは、指定された機能または動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令の組合せによって実装され得ることにも留意されたい。
【0068】
[072] 本開示の一定の特徴は、明確にするために、別々の複数の実施形態の文脈で説明されているが、単一の実施形態において、組み合わせて提供されてもよいことが理解される。逆に、本開示の様々な特徴は、簡潔にするために、単一の実施形態の文脈で説明されているが、別個に、もしくは任意の適切な部分的組合せで、または任意のその他の本開示で説明された実施形態に適しているとして提供されてもよい。様々な実施形態の文脈で説明されている一定の特徴は、実施形態がそれらの要素なしでは動作不能となる場合を除き、それらの実施形態の本質的な特徴とみなされるべきではない。
【0069】
[073] さらに、本明細書には例示的な実施形態が説明されているが、これらは例示の目的で提示されたものであり、網羅的であることも、開示された実施形態に限定されることも意図したものではなく、その結果、実施形態の範囲は、説明された実施形態の範囲および精神から逸脱することなく、同等の要素、修正、変形、省略、(例えば、様々な実施形態にわたる態様の)組合せ、適応または変更を有する任意のおよびすべての実施形態を含む。本明細書で使用される用語は、実施形態の原理、実際の応用または市場で見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示されている実施形態を理解できるように選択されている。クレームの要素はクレームに用いられている文言に基づいて広く解釈されるものとし、本明細書または出願手続中に説明される例に限定されるものではなく、例は非排他的なものとして解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、またはステップを挿入もしくは削除することを含む、任意の方法で修正されてもよい。したがって、本明細書および例は単に例示的なものとみなされ、真の範囲および精神は以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図されている。
【国際調査報告】