(57)【要約】  ハイブリッドリモートクライアントアプリケーションをモバイルデバイスのユーザーのためにおよびユーザーに対してビルドし提示するシステムおよび技法が提示される。ユーザーがリモートクライアントアプリケーションにアクセスすると、モバイルデバイスが、リモートクライアントアプリケーションに関連付けられた許容操作のリストをユーザーに提供する、統一されたユーザーインターフェース（ＵＩ）を起動することができる。このような許容操作は、例えばＨＴＭＬｗｅｂページを介して、リモートクライアントアプリケーションによって供給されるＪａｖａＳｃｒｉｐｔ操作を含むことができる。さらに、許容操作は、モバイルデバイスのネイティブＳＤＫによって供給されるネイティブ操作を含むことができる。
2016507101.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデバイス上でハイブリッドクライアントアプリケーションをホストするためのシステムであって、
プロセッサと、
リモートクライアントアプリケーションと通信することができる通信モジュールと、
アプリケーションコントローラーとを備えるシステムであって、前記アプリケーションコントローラーが、前記プロセッサによって実行することができ、さらに、前記アプリケーションコントローラーが、前記通信モジュールを介してリモートクライアントアプリケーションと通信することができ、
さらに、前記アプリケーションコントローラーが、前記リモートクライアントアプリケーションに前記リモートクライアントアプリケーションが少なくとも１つのネイティブ操作(native operation)を備えているかどうか問い合わせを行うことができる、システム。
【請求項２】
前記アプリケーションコントローラーが、群の１つにさらに対応可能であり、前記群が、前記リモートクライアントアプリケーションの機能にアクセスすることと、前記リモートクライアントアプリケーションからＪａｖａＳｃｒｉｐｔ機能を呼び出すことと、ネイティブＳＤＫで実装された操作を呼び出すこととを含む、請求項１に記載のシステム。
【請求項３】
前記アプリケーションコントローラーが、操作コンテナー(operation container)をさらに備え、前記操作コンテナーが、操作ボタンをさらに備え、前記操作ボタンが、ユーザーが前記リモートクラインアントアプリケーションに関連付けられた操作を起動する(launch)ことを可能にすることができる、請求項１に記載のシステム。
【請求項４】
モバイルデバイス上でハイブリッドモバイルアプリケーションを実行するための方法であって、前記モバイルデバイスが、前記モバイルデバイスのネイティブＳＤＫから作成されたネイティブ操作を実行することができ、前記方法のステップが、
ユーザーがモバイルアプリケーションを開始すると、アプリケーションコントローラーを読み込むステップを含み、前記アプリケーションコントローラーが、リモートクライアントアプリケーションの機能およびネイティブ操作にアクセスすることを可能にするユーザーインターフェース（ＵＩ）を前記ユーザーに提供することができる、方法。
【請求項５】
前記方法のステップが、前記アプリケーションコントローラーを有する前記リモートクライアントアプリケーションにコールバックを登録するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記方法のステップが、操作ボタンの組を前記ユーザーに提供するステップをさらに含み、前記操作ボタンが、前記ユーザーが前記リモートクラインアントアプリケーションに関連付けられた操作を開始することを可能にする、請求項４に記載の方法。
【請求項７】
前記方法のステップが、前記ユーザーが前記操作ボタンの１つを作動させると、操作の群の１つを開始するステップをさらに含み、前記操作の群が、前記リモートクライアントアプリケーションに関連付けられたＨＴＭＬページ上にＪａｖａＳｃｒｉｐｔを呼び出すステップと、前記モバイルデバイスのネイティブＳＤＫで実装されたネイティブ操作を呼び出すステップとを含む、請求項６に記載の方法。
【請求項８】
ユーザーインターフェース（ＵＩ）をモバイルデバイスのユーザーに提供するための方法であって、前記ＵＩが、前記ユーザーがリモートクライアントアプリケーションに関連付けられた機能にアクセスすることを可能にし、前記方法のステップが、
ＵＩを前記ユーザーに提供するステップであって、前記ＵＩが、前記リモートクライアントアプリケーションに関連付けられた操作を作動させるためのボタンをさらに含む、提供するステップと、
ユーザーが選択をすると、前記リモートクライアントアプリケーションに関連付けられた前記操作の１つを呼び出すステップであって、前記操作が群の１つをさらに含み、前記群が、前記リモートクライアントアプリケーションによって実行されるリモート操作および前記モバイルデバイスによって実行されるネイティブ操作を含む、呼び出すステップとを含む、方法。
【請求項９】
前記操作の１つを呼び出すステップが、
前記リモートクライアントアプリケーションに許容された操作を決定するステップと、
各前記操作のパラメーターを決定するステップと、
前記ユーザーによって呼び出された前記操作の前記パラメーターに前記ＵＩに戻る通信を呼び出すステップとをさらに含む、請求項８に記載の方法。
【請求項１０】
通信を呼び出すステップが、
前記ユーザーによって呼び出された前記操作が群の１つであるかどうかの指示を戻すステップであって、前記群が、前記リモートクライアントアプリケーションによって提供されるＪａｖａＳｃｒｉｐｔ操作および前記モバイルデバイスによって提供されるネイティブ操作を含む、戻すステップをさらに含む、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、ハイブリッドモバイルアプリケーションをビルドし使用するためのシステムおよび方法に関する。
【背景技術】
【０００２】
[0001]モバイルおよび／または他のコンピューティングプラットフォーム用にクライアントアプリケーションをビルドする領域において、クライアントアプリケーションをビルドするには、現在、２つの主な選択肢がある。（１）ＨＴＭＬ＋ＪａｖａＳｃｒｉｐｔ（登録商標）を使用する、または（２）クライアント固有のネイティブソフトウェア開発キット（ＳＤＫ）を使用する。
【０００３】
[0002]ＨＴＭＬアプローチを使用することの１つの可能な利点は、それが基本的に一度だけ書き込みの、どこでも実行される（すなわち、どのプラットフォームでも）ソリューションであり、更新するのがかなり簡単であることである。しかし、プラットフォームによっては、特にモバイルプラットフォームでは、ローカルリソース、例えば、ローカルアルバムおよび連絡先リストにアクセスするには、いくつか制限があることがあり、それは純粋なＨＴＭＬアプリ（例えば、Ｍｉｃｒｏｓｏｆｔ  ＳｋｙＤｒｉｖｅ（登録商標）ストレージアプリ）をビルドしようとするとき望ましくないことがある。
【０００４】
[0003]他方、ネイティブＳＤＫアプローチを使用することの１つの可能な利点は、アプリがプラットフォーム上でリソースのほとんどをローカルで利用できることである。しかし、このアプローチは、異なるプラットフォーム間でスケーラブルでない可能性があり、例えば、各プラットフォームが、通常、異なるＳＤＫを有する。また、単一のアプリに異なるバージョンを開発することが必要なことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願発明の一実施例は、例えば、ハイブリッドモバイルアプリケーションをビルドし使用するためのシステムおよび方法に関する。
【課題を解決するための手段】
【０００６】
[0004]以下は、本明細書に説明するいくつかの態様の基本的理解を提供するために本イノベーションの簡略化された概要を提示するものである。この概要は、特許請求される主題の広範な概要ではない。この概要は、特許請求される主題の主要なまたは重要な要素を識別することも、主題のイノベーションの範囲を画定することも意図されていない。その唯一の目的は、後で提示される、より詳細な説明の前置きとして特許請求される主題のいくつかの概念を簡略化された形で提示することである。
【０００７】
[0005]モバイルデバイスのユーザーのためにおよびユーザーに対してハイブリッドリモートクライアントアプリケーションをビルドし提示するシステムおよび技法が提示される。ユーザーがリモートクライアントアプリケーションにアクセスすると、モバイルデバイスは、リモートクライアントアプリケーションに関連付けされた許容操作のリストをユーザーに提供する、統一されたユーザーインターフェース（ＵＩ）を起動することができる。このような許容操作は、例えば、ＨＴＭＬｗｅｂページを介して、リモートクライアントアプリケーションによって供給されるＪａｖａＳｃｒｉｐｔ（登録商標）操作を含むことができる。さらに、許容操作は、モバイルデバイスのネイティブＳＤＫを使用して実装されるネイティブ操作を含むことができる。
【０００８】
[0006]一実施形態において、プロセッサと、リモートクライアントアプリケーションと通信することができる通信モジュールと、前記プロセッサによって実行することができるアプリケーションコントローラーとを備えるシステムが提供され、その場合、前記アプリケーションコントローラーが、前記通信モジュールを介してリモートクライアントアプリケーションと通信することもできる。アプリケーションコントローラーは、前記リモートクライアントアプリケーションが少なくとも１つのネイティブ操作を備える場合、前記リモートクライアントアプリケーションに問い合わせを行うこともでき得る。
【０００９】
[0007]他の実施形態においては、前記モバイルデバイスのネイティブＳＤＫから作成されたネイティブ操作を実行することができる、モバイルデバイス上のハイブリッドモバイルアプリケーションを実行するための方法であって、前記方法のステップは、ユーザーがモバイルアプリケーションを開始すると、アプリケーションコントローラーを読み込むステップを含み、前記アプリケーションコントローラーは、リモートクライアントアプリケーションの機能およびネイティブ操作にアクセスすることを可能にするユーザーインターフェース（ＵＩ）を前記ユーザーに提供することができる、方法が提供される。
【００１０】
[0008]別の実施形態においては、ユーザーインターフェース（ＵＩ）をモバイルデバイスのユーザーに提供する方法が開示される。ＵＩは、ユーザーがリモートクライアントアプリケーションに関連付けられた機能にアクセスすることを可能とし、前記方法のステップは、ＵＩを前記ユーザーに提供するステップであて、前記ＵＩは、前記リモートクライアントアプリケーションに関連付けられた操作を作動させるためのボタンをさらに備える、提供するステップと、ユーザーが選択すると、前記リモートクライアントアプリケーションに関連付けられた前記操作の１つを呼び出すステップとを含み、前記操作は、群の１つをさらに備え、前記群は、前記リモートクライアントアプリケーションによって実行されるリモート操作および前記モバイルデバイスによって実行されるネイティブ操作を含む。
【００１１】
[0009]本システムの他の特徴および態様は、本出願内に提示される図面に関連して読んだとき、以下に、発明を実施するための形態において提示される。
[0010]例示的な実施形態を図面の参照される図に示す。本明細書に開示する実施形態および図は、制限的であるよりも例示的であるとみなすべきであることが意図されている。
【図面の簡単な説明】
【００１２】
【図１】[0011]本出願の原理により製作された、ハイブリッドモバイルアプリケーションを使用するためのシステムの一実施形態を示す図である。
【図２】[0012]本出願の原理により製作された、ハイブリッドモバイルアプリケーションを始動させるためのフローチャートの一実施形態を示す図である。
【図３】[0013]ハイブリッドモバイルアプリケーションを最初に読み込むためのフローチャートの一実施形態を示す図である。
【図４】[0014]モバイルデバイス上に最後に読み込んだときの、ハイブリッドモバイルアプリケーションを操作するためのフローチャートの一実施形態を示す図である。
【図５】[0015]モバイルデバイス上へのハイブリッドモバイルアプリケーションの読み込みエラーを処理するためのフローチャートの一実施形態を示す図である。
【図６】[0016]ハイブリッドモバイルアプリケーションの文脈内でユーザーが可能な操作を選択するときの、モバイルデバイスの操作のためのフローチャートの一実施形態を示す図である。
【発明を実施するための形態】
【００１３】
[0017]本明細書では、「構成要素」、「システム」、「インターフェース」などの用語は、ハードウェア、ソフトウェア（例えば、実行時）、および／またはファームウェアのいずれかである、コンピュータ関連の実体を表すことが意図されている。例えば、構成要素は、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム、および／またはコンピュータであり得る。例示として、サーバー上で実行中のアプリケーションおよびサーバーの両方は、構成要素であり得る。１つまたは複数の構成要素は、プロセス内に存在することができ、構成要素は、１つのコンピュータ上でローカライズし、および／または２つ以上のコンピュータ間に配布することができる。
【００１４】
[0018]特許請求される主題は、図面を参照して説明され、全体にわたって同じ参照番号が同じ要素を表すのに使用される。以下の説明では、説明のために、数多くの具体的な詳細が、本イノベーションの完全な理解を提供するために記載される。しかし、特許請求される主題をこれらの具体的な詳細なしで実施できることは明らかであり得る。他の場合、よく知られた構造およびデバイスは、本イノベーションを説明するのを容易にするために構成図の形で表示される。
【００１５】
[0019]
序章
前述したように、ハイパーテキストマークアップ言語（ＨＴＭＬ）およびＪａｖａＳｃｒｉｐｔ（登録商標）を使用してビルドされた従来のクライアントアプリケーションは、プラットフォーム固有のリソースにアクセスする際に、制限があることがある。しかし、ソフトウェア開発キット（ＳＤＫ）を使用してクライアントアプリケーションをビルドすることは、プラットフォーム依存関係の問題があることがある。
【００１６】
[0020]本出願の多くの実施形態は、ＨＴＭＬおよびネイティブＳＤＫを使用してアプリケーションをビルドしおよび／または使用することへのハイブリッドアプローチを提供するシステムおよび方法を開示する。本実施形態の少なくとも１つにおいては、システムおよび方法は、（ａ）アプリケーションがプラットフォーム固有のリソースにアクセスすることを可能にし、（ｂ）ネイティブＳＤＫおよびＪａｖａＳｃｒｉｐｔ（登録商標）の両方で実装された操作を提供する、統一されたＵＩ体験を含み、および／または（ｃ）提供された操作およびこれらの操作のパラメーターに関する情報をＨＴＭＬが含むことを可能にすることができる。
【００１７】
[0021]図１は、一般的な環境１００で操作することができるときの、本出願のシステムおよび／または方法の一実施形態を示す。モバイルデバイス１０２は、一般にプロセッサと、メモリと、通信モジュール（例えば、ワイヤレスおよび／またはワイヤード）と、オペレーティングシステムとを備える任意の数のデバイス（例えば、ラップトップ、タブレット、スマートフォンなど）の１つであり得る。今日のモバイル空間では、ユーザーが選択することができる、いくつかの異なる、競合するオペレーティングシステムがある。
【００１８】
[0022]しばしば、アプリケーション開発者（例えば、サーバー１０８の開発に取り組む）は、モバイルおよび／またはクライアントアプリケーション１１２をビルドし、それらをインターネット１１０（および／または他の商業／通信のチャネル）上に入れて、モバイルデバイスユーザーにアクセス可能となるようにすることができる。アプリケーション１１２は、当業界で知られているように、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）およびＣＳＳを使用して構築することができる。しかし、述べたように、そのようなアプリケーションは、モバイルデバイス自体のローカルリソースの全部にアクセスすることはできない可能性があり、したがって、ユーザーにとってそれほど強力ではない可能性がある。
【００１９】
[0023]アプリケーションコントローラー１０４は、統一された（および／または単一の）ユーザーインターフェース（ＵＩ）としてモバイルユーザーに提示されて、アプリケーション１１２が操作コンテナー１０６を介してローカルリソースにアクセスすることが可能になり得る。操作コンテナーは、ユーザーがアプリケーションに関連付けられた操作を起動することを可能にする操作ボタン（例えば、１０６ａ、１０６ｂ、１０６ｃ）を備えることができる。操作コンテナー１０６は、例えば、ツールバーなどとしてユーザーに見えるように実装することができる。
【００２０】
[0024]図１に示すように、ユーザーがモバイルアプリケーション１１２と相互作用しているとき、本明細書に、より詳細に論じるように、アプリコントローラー１０４が複数のやり方のうちの１つ、（１）ＨＴＭＬページ（１１４ａ）上にＪａｖａＳｃｒｉｐｔ（登録商標）を呼び出すこと、または（２）ネイティブＳＤＫで実装された操作を呼び出すことのいずれかを採用して、アプリケーションの機能にアクセスすることができる。どのやり方でアプリケーションにアクセスするかの選択は、ユーザーには透過性があり得る。本明細書に開示するように、「ＧｅｔＯｐｅｒａｔｉｏｎ」の呼び出し（例えば、ネイティブＳＤＫで実装された操作を呼び出すために）は、モバイルアプリケーションがモバイルデバイスに対してよりネイティブ操作として操作し、機能しおよび／または動作することができるやり方であり得る。アクション１１４ｂは、ＨＴＭＬページが読み込んだとき起きることができ、アプリコントローラーがＧｅｔＯｐｅｒａｔｉｏｎを呼び出して、サポートされている操作のリストを取得することができる。一実施形態においては、本システムは、モバイルアプリケーションのＨＴＭＬ（リモートでアクセスすることができる）およびモバイルデバイスのネイティブＳＤＫの両方を使用することによりモバイルアプリをビルドすることができる。このようなシステムは、ＨＴＭＬとネイティブＳＤＫとの両方の能力を組み合わせる傾向がある。
【００２１】
[0025]この実施形態では、メインコンテンツビュー（アプリコントローラーで提供することができる）は、ＨＴＭＬ＋ＪａｖａＳｃｒｉｐｔ（登録商標）（アプリの「ＨＴＭＬ部分」と呼ばれる）およびアプリコントローラーでホストされる操作（アプリの「ネイティブ部分」と呼ばれる）であり得る。操作は、実際の機能ロジック（すなわち、ＪａｖａＳｃｒｉｐｔ（登録商標）またはネイティブＳＤＫのいずれかで実装された）とロジックにアクセスするＵＩ要素（例えば、操作コンテナー内のボタン）との組合せであり得る。
【００２２】
[0026]アプリコントローラーでユーザーに表示されるＵＩは、統一されたＵＩ（例えば、「操作コンテナー」と呼ばれるメニューまたはツールバー）を、ユーザーがそのページ上で行うことができる操作に提供することができる。一実施形態においては、操作コンテナーは、ネイティブＳＤＫによって実装されるコントロール（したがって、それはネイティブＳＤＫによって実装される他のロジックを呼び出すことができる）を含むことができる。例えば、操作は、Ｊａｖａ（登録商標）によってアクセス可能でないリソースにアクセスすることができるネイティブＳＤＫで実装されたロジックであり得る。あるいは、それは、アプリコントローラーでホストされるＪａｖａＳｃｒｉｐｔ（登録商標）によって実装されたロジックであり得る。
【００２３】
[0027]図２は、ネットワークまたはインターネットなどに存在するリモートクライアントアプリケーションに関連付けることができるモバイルアプリケーションとの関係でどのようにアプリコントローラーが機能するかの一実施形態（２００）を示す。２０２では、モバイルユーザーが、例えば、ユーザーコマンドのある一定のやり方（例えば、タッチスクリーン、アクティブにされた音声、タイプ入力されたテキストなど）により、モバイルアプリケーションを開始しようとすることができる。２０４では、モバイルデバイスまたはモバイルアプリケーションが、アプリコントローラーを開始することができる。アプリコントローラーは、ＨＴＭＬページを読み込み、表示し、または他の方法でユーザーに対して示し、ページ上にＪＳメソッドを呼び出す機能を提供することができるｗｅｂ表示コントローラーを開始することができる。２０６では、アプリコントローラーは、複数のコールバックをｗｅｂ表示コントローラーおよび／または前記リモートクライアントアプリケーションに登録することができる。最後に、２０８では、ＨＴＭＬのメインコンテンツをアプリコントローラーに読み込むことができる。
【００２４】
[0028]一実施形態においては、アプリコントローラーは、図３の３０２において「読み込み開始」ルーチン／モジュールを開始することができる。モバイルアプリケーションが完全に読み込まれる（および首尾よく読み込まれる）前に、アプリコントローラーは、３０４において、操作コンテナーを無効にすることができる。ＨＴＭＬのモバイルアプリケーションがアプリコントローラーに読み込まれる時間中、３０６において、モバイルデバイスのユーザーに対して読み込みインジケーターを表示し、および／または他の方法で提供することができる。
【００２５】
[0029]
操作コンテナー
一実施形態においては、統一された外観をもつ操作コンテナーを構築することができ得る。このような実施形態では、いくつかのもの、例えば、（１）現在のページ上ではどんな操作が可能であるか、および（２）各操作のパラメーターについて、ネイティブ部分をＨＴＭＬ部分と通信させることができ得る。
【００２６】
[0030]ＨＴＭＬページにこのような上記の情報をホストさせることが可能である。さらに、ネイティブ部分と通信、例えば「ｇｅｔＯｐｅｒａｔｉｏｎｓ」を呼び出させることが可能であり得るが、それは、ある一定のフォーマット、例えば操作データ構造のリストで情報を戻すことができる。このような操作データ構造の一実施形態は、以下のように見え得る。
【００２７】
【数１】
2016507101.tif 000003
【００２８】
[0031]この実施形態では、「ネイティブ」フラグは、操作がネイティブ実装ロジックであるかまたはＪａｖａＳｃｒｉｐｔ（登録商標）呼び出しであるかを指示し得る。「ネイティブ」が真であるなら、ネイティブ部分に操作がサポートされているかどうかをチェックさせることが可能である。ＩＤおよびバージョンが操作を識別することができ、例えば、「複数のファイルを選びアップロードする」のような操作であり得る。このような想定される操作は、ユーザーがデバイスのカメラロールに複数の写真を選択し、クラウドストレージにアップロードすることを可能にすることができる。このような操作は、いくつかのプラットフォーム上でネイティブＳＤＫだけで行うことができる。
【００２９】
[0032]操作がサポートされている場合、ネイティブ部分は、タイトル（例えば、操作コンテナー内のボタンまたはメニュー上で）およびｉｃｏｎＵｒｌ（例えば、メニューまたはボタンのアイコンファイルのＵＲＬ）によって提供される追加情報を使用して操作コンテナーの操作を表示することができる。操作がサポートされていない場合、操作は無視されおよび／または無効にされ得る。操作がユーザーによって選択されたとき、アプリコントローラーは、その操作によって必要とされるパラメーター、例えば、この例では、アップロード先のフォルダを含むｉｎｖｏｋｅＰａｒａｍｅｔｅｒを選ぶことができ、ネイティブロジックを呼び出すことができる。
【００３０】
[0033]「ネイティブ」が偽である場合、操作はＪａｖａＳｃｒｉｐｔ（登録商標）メソッドをＨＴＭＬページに呼び出すことができる。そのような場合、操作は操作コンテナーに表示することができる。ユーザーが操作を選ぶと、モバイルデバイス（例えば、アプリコントローラーを介して）は、直接ｉｎｖｏｋｅＰａｒａｍｅｔｅｒｓにエンコードされたＪａｖａＳｃｒｉｐｔ（登録商標）メソッドを呼び出すことができる。
【００３１】
[0034]
他の実施形態
図４は、モバイルアプリケーションの読み込みが成功したときのアプリコントローラーのフローチャートの一実施形態を示す。このフローチャート４００では、アプリコントローラーが、４０２において読み込みの成功を決定することができる。読み込みインジケーターは、４０４において解除されおよび／または削除されて、読み込みが終わるまたは終わったことをユーザーに指示することができる。４０６では、アプリコントローラーが、現在のモバイルアプリケーションページ上にＧｅｔＯｐｅｒａｔｉｏｎｓを呼び出すことができる。アプリコントローラーは、４０８においてＧｅｔＯｐｅｒａｔｉｏｎからの有効な戻りを監視することができる。戻りが有効である場合、操作コンテナーは、４０１において指定されたサポートされている操作を設定することができる。戻りが有効でない場合、アプリコントローラーは、４１２において操作コンテナーを無効にすることができる。
【００３２】
[0035]図５は、５０２において、読み込みの失敗を処理するためのフローチャートの一実施形態を示す。アプリコントローラーは、５０４において、操作コンテナーを無効にし、５０６において読み込みインジケーターを解除し、５０８においてユーザーにエラーメッセージを表示することができる。
【００３３】
[0036]図６は、ユーザーおよび／またはシステムが選択し得る、操作コンテナーに示すまたは表示することができる操作を実行するためのフローチャートの一実施形態を示す。６０２では、操作（例えば、操作コンテナーにおける）は、ユーザーまたはシステムによって選ばれおよび／または選択され得る。次いで、アプリコントローラーは、選ばれた操作が「ネイティブ」操作であるかどうかを６０４において識別することができる。操作が「ネイティブ」である場合、アプリコントローラーは、ネイティブロジックを呼び出すことができる。それ以外の場合、アプリコントローラーは、６０８においてＪａｖａＳｃｒｉｐｔ（登録商標）メソッドを呼び出すことができる。
【００３４】
[0037]上に説明してきたことは、本イノベーションの例を含む。もちろん、特許請求される主題を説明するために構成要素または方法論の考えられることごとくの組み合わせを説明することは可能でないが、本イノベーションの多くの他の組み合わせおよび順列が可能であることを当業者は理解することができる。したがって、特許請求される主題は、添付の特許請求の範囲の精神および範囲に含まれるそのような改変、変更、および変形をすべて包含することが意図されている。
【００３５】
[0038]具体的には、および上に説明した構成要素、デバイス、回路、システムなどによって実施される様々な機能に関して、そのような構成要素を説明するのに使用された用語（「手段」への参照を含む）は、他の指示がない限り、開示される構造に構造的に同等でなくても、特許請求される主題の本明細書に例示される例示的な態様における機能を実施する、説明された構成要素の指定された機能（例えば、機能的均等物）を実施する任意の構成要素に対応することが意図されている。この点において、本イノベーションは、特許請求される主題の様々な方法の動作および／または事象を実施するためのコンピュータ実行命令を有するシステムならびにコンピュータ可読媒体を含むことも理解されよう。
【００３６】
[0039]さらに、本イノベーションの特定の特徴は、いくつかの実装の１つだけに関して開示された可能性があるが、そのような特徴は、任意の所与のまたは特定の用途に所望され利点があり得るように、他の実装の１つまたは複数の他の特徴と組み合わせることができる。さらに、「含む（ｉｎｃｌｕｄｅｓ）」および「含む（ｉｎｃｌｕｄｉｎｇ）」という用語およびそれらの変形は、詳細な説明または特許請求の範囲のいずれかに使用される限り、これらの用語は、「備える」という用語と同様に包含的であることが意図されている。
【図１】
2016507101.tif 000004
【図２】
2016507101.tif 000005
【図３】
2016507101.tif 000006
【図４】
2016507101.tif 000007
【図５】
2016507101.tif 000008
【図６】
2016507101.tif 000009
【国際調査報告】
2016507101.tif 000010
2016507101.tif 000011