(57)【要約】ユニフォームリソースロケータ（ＵＲＬ）が、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから受信される。少なくとも１つのコンテキストアクションが、少なくともＵＲＬと関連付けられるウェブページのコンテンツに基づいて、識別される。少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダが、識別される。少なくとも１つのサービスプロバイダは、少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して通信される。少なくとも１つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも１つのデータオブジェクトが、モバイルウェブブラウザに送信される。
2019537778.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、前記コンピュータ実装方法は、
サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ（ＵＲＬ）を受信することと、
少なくとも前記ＵＲＬと関連付けられるウェブページのコンテンツに基づいて、少なくとも１つのコンテキストアクションを識別することと、
前記少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダを識別することと、
前記少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して前記少なくとも１つのサービスプロバイダと通信することと、
前記少なくとも１つのコンテキストアクションと関連付けられる情報と、前記インベントリ情報とを含む、少なくとも１つのデータオブジェクトを前記モバイルウェブブラウザに送信することと
を含む、コンピュータ実装方法。
【請求項２】
前記ＵＲＬからコンテキストデータを抽出することをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記抽出されたコンテキストデータに基づいて、少なくとも１つのコンテキストアクションを列挙することをさらに含み、前記少なくとも１つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す文字列または識別子を備える、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記少なくとも１つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよび前記ＵＲＬに関連するアクションおよびプロバイダペアを識別することをさらに含む、請求項３に記載のコンピュータ実装方法。
【請求項５】
所定の閾値に基づいて、前記ＵＲＬへのコンテキスト関連性の測定値を伴うアクションのみを考慮することをさらに含む、請求項４に記載のコンピュータ実装方法。
【請求項６】
前記モバイルウェブブラウザに送信される前記少なくとも１つのデータオブジェクトは、前記受信されたＵＲＬにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、請求項４に記載のコンピュータ実装方法。
【請求項７】
前記モバイルウェブブラウザ内でレンダリングされる前記少なくとも１つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、前記インベントリ情報をプレビューすることをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
１つ以上の命令を記憶する非一過性のコンピュータ可読媒体であって、前記１つ以上の命令は、
サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ（ＵＲＬ）を受信することと、
少なくとも前記ＵＲＬと関連付けられるウェブページのコンテンツに基づいて、少なくとも１つのコンテキストアクションを識別することと、
前記少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダを識別することと、
前記少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して前記少なくとも１つのサービスプロバイダと通信することと、
前記少なくとも１つのコンテキストアクションと関連付けられる情報と、前記インベントリ情報とを含む、少なくとも１つのデータオブジェクトを前記モバイルウェブブラウザに送信することと
を含む動作を実施するようにコンピュータシステムによって実行可能である、非一過性のコンピュータ可読媒体。
【請求項９】
前記ＵＲＬからコンテキストデータを抽出するための１つ以上の命令をさらに備える、請求項８に記載の非一過性のコンピュータ可読媒体。
【請求項１０】
前記抽出されたコンテキストデータに基づいて、少なくとも１つのコンテキストアクションを列挙するための１つ以上の命令をさらに備え、前記少なくとも１つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、請求項９に記載の非一過性のコンピュータ可読媒体。
【請求項１１】
前記少なくとも１つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよび前記ＵＲＬに関連するアクションおよびプロバイダペアを識別するための１つ以上の命令をさらに備える、請求項１０に記載の非一過性のコンピュータ可読媒体。
【請求項１２】
所定の閾値に基づいて、前記ＵＲＬへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための１つ以上の命令をさらに備える、請求項１１に記載の非一過性のコンピュータ可読媒体。
【請求項１３】
前記モバイルウェブブラウザに送信される前記少なくとも１つのデータオブジェクトは、前記受信されたＵＲＬにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、請求項１１に記載の非一過性のコンピュータ可読媒体。
【請求項１４】
前記モバイルウェブブラウザ内でレンダリングされる前記少なくとも１つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、前記インベントリ情報をプレビューするための１つ以上の命令をさらに備える、請求項８に記載の非一過性のコンピュータ可読媒体。
【請求項１５】
コンピュータ実装システムであって、前記コンピュータ実装システムは、
１つ以上のコンピュータと、
前記１つ以上のコンピュータと相互運用可能に結合された１つ以上のコンピュータメモリデバイスであって、前記１つ以上のコンピュータメモリデバイスは、１つ以上の命令を記憶する有形の非一過性機械可読媒体を有し、前記１つ以上の命令は、前記１つ以上のコンピュータによって実行されると、
サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ（ＵＲＬ）を受信することと、
少なくとも前記ＵＲＬと関連付けられるウェブページのコンテンツに基づいて、少なくとも１つのコンテキストアクションを識別することと、
前記少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダを識別することと、
前記少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して前記少なくとも１つのサービスプロバイダと通信することと、
前記少なくとも１つのコンテキストアクションと関連付けられる情報と、前記インベントリ情報とを含む、少なくとも１つのデータオブジェクトを前記モバイルウェブブラウザに送信することと
を含む１つ以上の動作を実施する、１つ以上のコンピュータメモリデバイスと
を備える、コンピュータ実装システム。
【請求項１６】
前記ＵＲＬからコンテキストデータを抽出するための１つ以上の動作を実施することをさらに含む、請求項１５に記載のコンピュータ実装システム。
【請求項１７】
前記抽出されたコンテキストデータに基づいて、少なくとも１つのコンテキストアクションを列挙することであって、前記少なくとも１つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、ことと、
前記少なくとも１つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよび前記ＵＲＬに関連するアクションおよびプロバイダペアを識別することと
を行うための１つ以上の動作を実施することをさらに含む、請求項１６に記載のコンピュータ実装システム。
【請求項１８】
所定の閾値に基づいて、前記ＵＲＬへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための１つ以上の動作を実施することをさらに含む、請求項１７に記載のコンピュータ実装システム。
【請求項１９】
前記モバイルウェブブラウザに送信される前記少なくとも１つのデータオブジェクトは、前記受信されたＵＲＬにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、請求項１７に記載のコンピュータ実装システム。
【請求項２０】
前記モバイルウェブブラウザ内でレンダリングされる前記少なくとも１つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、前記インベントリ情報をプレビューするための１つ以上の動作を実施することをさらに含む、請求項１５に記載のコンピュータ実装システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本願は、２０１６年９月２８日に出願された米国特許出願第６２／４０１，１３７号に対する優先権を主張するものであり、該出願の全体の内容は、参照により本明細書中に援用される。
【背景技術】
【０００２】
モバイルコンピューティングデバイス（ＭＣＤ）ブラウザは、通常、ネットワーク内のコンテンツリソースの場所を規定し、ネットワーク（例えば、インターネット）を発見およびユーティリティのネットワークに変換する接続を形成する、ユニフォームリソースロケータ（ＵＲＬ）を通して、コンテンツを発見する。例えば、ユーザがブラウザドキュメント（例えば、ウェブページまたはコンテンツリソース）内のハイパーリンクをクリックするとき、ハイパーリンク内に含有されるＵＲＬは、ウェブ内の１つのウェブページまたはコンテンツリソースからウェブ内の別のウェブページまたはコンテンツリソースへユーザを連れて行く。典型的には、ＵＲＬは、コンテンツリソースに明示的に追加される。手動で挿入されたＵＲＬは、ソフトウェア開発者によってコード化され、またはウェブページ作成ソフトウェアアプリケーションによって挿入されることができ、本質的に静的と見なされる（ＵＲＬによって参照されるコンテンツは、変更が参照コンテンツに行われない限り同一のままであることを意味する）。比較すると、動的ＵＲＬは、例えば、コンテンツを生成するためのスクリプトを実行するデータベースによって駆動されるコンテンツサーバ上の検索の結果として、動的に生成され得るコンテンツを参照することができる。
【０００３】
ウェブコンテンツ内で定義されるＵＲＬは、主に、プラットフォーム非依存性であり、ＭＣＤ上で実行されるモバイルブラウザの境界を越えて利用可能であるネイティブモバイルアプリケーションの存在の知識が欠けている。結果として、ハイパーリンクの選択後に、より良好な次のアクションユーティリティをユーザに提供し得る、ネイティブモバイルアプリケーションは、ユーザの全体的なブラウジング体験を改良するために利用されない。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、ウェブページコンテンツに基づいてコンテキストアクションを提供することを説明する。
【０００５】
ある実装では、ユニフォームリソースロケータ（ＵＲＬ）が、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから受信される。少なくとも１つのコンテキストアクションが、少なくともＵＲＬと関連付けられるウェブページのコンテンツに基づいて、識別される。少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダが、識別される。少なくとも１つのサービスプロバイダは、少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して通信される。少なくとも１つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも１つのデータオブジェクトが、モバイルウェブブラウザに送信される。
【０００６】
前述で説明された実装を含む、説明される主題の実装は、コンピュータ実装方法と、コンピュータ実装方法を実施するためのコンピュータ可読命令を記憶する非一過性のコンピュータ可読媒体と、１つ以上のコンピュータと相互運用可能に結合された１つ以上のコンピュータメモリデバイスを備えるコンピュータ実装システムであって、該１つ以上のコンピュータメモリデバイスは、命令を記憶する有形の非一過性機械可読媒体を有し、該命令は、１つ以上のコンピュータによって実行されると、コンピュータ実装方法／非一過性のコンピュータ可読媒体上に記憶されたコンピュータ可読命令を実施する、コンピュータ実装システムとを使用して、実装されることができる。
【０００７】
本明細書に説明される主題は、以下のうちの１つ以上の利点を実現するように、特定の実装で実装されることができる。第１に、説明される主題は、ユーザが現在使用中であるモバイルアプリケーションから離れることなく、ユーザが第三者モバイルアプリケーションからインベントリ情報を閲覧することを可能にすることによって、モバイルアプリケーションを用いたユーザの体験を向上させることができる。第２に、説明されるアプローチは、ウェブページのコンテンツに関連するアクションを予測し、モバイルアプリケーション内でアクションをユーザに提示する（すなわち、モバイルアプリケーション内で自然にアクションをレンダリングする）ことによって、モバイルアプリケーションのウェブページのユーティリティを改良する。第３に、説明されるアプローチは、自然にモバイルアプリケーションレベルにおけるアクションのレンダリング、および第三者アプリケーションとの帰属を改良すること（例えば、商取引アクティビティを発信モバイルアプリケーションおよび／またはウェブパブリッシャに帰属させること）を可能にする。他の利点も、当業者に明白であろう。
【０００８】
本明細書の主題の１つ以上の実装の詳細は、詳細な説明、特許請求の範囲、および付随する図面に記載される。本主題の他の特徴、側面、および利点が、詳細な説明、特許請求の範囲、および付随する図面から明白となるであろう。
【図面の簡単な説明】
【０００９】
【図１】図１は、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供する、分散コンピューティングシステムの実施例を図示するブロック図である。
【図２Ａ】図２Ａおよび２Ｂは、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法の実施例を図示するフローチャートである。
【図２Ｂ】図２Ａおよび２Ｂは、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法の実施例を図示するフローチャートである。
【図３】図３は、ある実装による、バックエンドサーバがコンテキスト関連アクションを識別するための方法の実施例を図示するフローチャートである。
【図４】図４は、ある実装による、バックエンドサーバがコンテキストアクションを優先順位決定するための方法の実施例を図示するフローチャートである。
【図５】図５は、本開示のある実装による、説明されるアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャと関連付けられる計算機能性を提供するために使用される、コンピュータ実装システムの実施例を図示するブロック図である。
【図６】図６は、ある実装による、モバイルコンピューティングデバイスの実施例を図示するブロック図である。
【発明を実施するための形態】
【００１０】
種々の図面内の同様の参照番号および指定は、同様の要素を示す。
【００１１】
以下の発明を実施するための形態は、ウェブページコンテンツに基づいてコンテキストアクションを提供し、任意の当業者が、１つ以上の特定の実装との関連で開示される主題を作製および使用することを可能にするように提示される、モバイルウェブブラウザを説明する。開示される実装の種々の修正、改変、および順列が、行われることができ、当業者に容易に明白となり、定義される一般的原理は、本開示の範囲から逸脱することなく、他の実装および用途に適用されることができる。ある事例では、説明される主題の理解を得るために不必要な詳細は、不必要な詳細で１つ以上の説明される実装を曖昧にしないように、かつそのような詳細が当業者の技能内である程度まで、省略されることができる。本開示は、説明または図示される実装に限定されることを意図していないが、説明される原理および特徴と一致する最も広い範囲を与えられることを意図している。
【００１２】
モバイルコンピューティングデバイス（ＭＣＤ）（例えば、スマートフォン、タブレットコンピュータ等）ブラウザは、通常、ネットワーク内のコンテンツリソースの場所を規定し、ネットワーク（例えば、インターネット）を発見およびユーティリティのネットワークに変換する接続を形成する、ユニフォームリソースロケータ（ＵＲＬ）を通して、コンテンツを発見する。例えば、ユーザがブラウザドキュメント（例えば、ウェブページまたはコンテンツリソース）内のハイパーリンクをクリックするとき、ハイパーリンク内に含有されるＵＲＬは、ウェブ内の１つのウェブページまたはコンテンツリソースからウェブ内の別のウェブページまたはコンテンツリソースへユーザを連れて行く。典型的には、ＵＲＬは、コンテンツリソースに明示的に追加される。手動で挿入されたＵＲＬは、ソフトウェア開発者によってコード化され、またはウェブページ作成ソフトウェアアプリケーションによって挿入されることができ、本質的に静的と見なされる（ＵＲＬによって参照されるコンテンツは、変更が参照コンテンツに行われない限り同一のままであることを意味する）。比較すると、動的ＵＲＬは、例えば、コンテンツを生成するためのスクリプトを実行するデータベースによって駆動されるコンテンツサーバ上の検索の結果として、動的に生成され得る、コンテンツを参照することができる。
【００１３】
ウェブコンテンツ内で定義されるＵＲＬは、主に、プラットフォーム非依存性であり、ＭＣＤ上で実行されるモバイルブラウザの境界を越えて利用可能であるネイティブモバイルアプリケーションの存在の知識が欠けている。結果として、ハイパーリンクの選択後に、より良好な次のアクションユーティリティをユーザに提供し得る、ネイティブモバイルアプリケーションは、ユーザの全体的なブラウジング体験を改良するために利用されない。
【００１４】
ネイティブモバイルブラウザレベルでレンダリングされる関連およびコンテキスト商取引アクションを用いて（例えば、ボタンまたは他のグラフィカルユーザインターフェース（ＧＵＩ）要素を用いて）ウェブページ上で見出される次のアクションＵＲＬを増補するように構成される、モバイルウェブブラウザが説明される。モバイルウェブブラウザは、使用中のウェブページのＵＲＬをバックエンドサーバまたはサービスに送信する。加えて、商取引プロバイダアプリケーションプログラミングインターフェース（ＡＰＩ）のネットワークによって提供される利用可能な商取引アクションのリアルタイムインベントリの知識および送信されたＵＲＬと関連付けられるウェブページとともに含まれる情報から推測される次のアクション意図が、推奨されるコンテキストブラウジングアクションをユーザに提供するために使用される。
【００１５】
換言すると、バックエンドサーバは、ユーザのウェブページのコンテンツに基づいて、ユーザに関心がある次のアクションを予測し、予測される次のアクションを遂行し得るサービスプロバイダを識別し、サービスプロバイダＡＰＩからインベントリ情報を収集し、レンダリングのために次のアクションおよびインベントリ情報をモバイルウェブブラウザに送信することができる。モバイルウェブブラウザは、（例えば、上記で説明されるようなボタンを使用して）次のアクションをユーザに提示し、ユーザは、モバイルウェブブラウザから特定のサービスプロバイダのネイティブアプリケーションに切り替えることなく、関連インベントリ情報を閲覧することができる。提供される次のアクションＧＵＩ要素または（例えば、食事の予約を設定するため、または購入するための）関連付けられるリアルタイムインベントリとの相互作用は、商取引プロバイダの関連ネイティブモバイルアプリケーションの中へのディープリンクアクションまたは商取引プロバイダのモバイルウェブサイトへのリンクをもたらす。いくつかの実装では、相互作用は、ユーザがモバイルブラウザ環境から離れる必要がないように、完全にモバイルブラウザのネイティブ機能性内で完了されるように構成されることができる。
【００１６】
高レベルでは、説明される機能性は、以下である。
１）ユーザのモバイルブラウザは、ネイティブ独立型アプリケーションである、またはＭＣＤ内で実行されるモバイルアプリケーションＡ（例えば、モバイルＧＯＯＧＬＥ  ＣＨＲＯＭＥ、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ、ＡＰＰＬＥ  ＳＡＦＡＲＩ等）内でレンダリングされるブラウザである。ウェブページＡは、モバイルブラウザ内でレンダリングされる。モバイルブラウザがユーザによって閲覧されるウェブページＡをレンダリングすることと同時に（例えば、並行して）、モバイルブラウザは、関連するユーザ特有の情報（例えば、ユーザ場所、サービスプロバイダと関連付けられるユーザ識別子、ＭＣＤのタイプおよびオペレーティングシステム）とともにウェブページＡのＵＲＬを伴って、要求をバックエンドサービスに送信する。モバイルブラウザは、バックエンドサービスが、コンテキスト上関連する商取引アクションのリストと、コンテキスト上関連する商取引アクションを遂行する態勢が整っているサービスプロバイダとを備える、データオブジェクトを返すことを要求する。
２）バックエンドサービスは、潜在的な次のアクションユーザケースのリストとして、ＵＲＬと関連付けられる高度に関連する次のアクション商取引ユースケースを識別する。これらのユースケースは、ウェブページのコンテンツ（例えば、メタデータ、テキスト、リンク、画像等）を評価し、次のアクションコンテキストユーティリティの測定値（「アクションインデックス」）を算出することによって、識別される。ある場合には、ユースケースはまた、ユーザ特有の情報または導出された意図の強さに基づいて、識別されることもできる。特定の閾値を満たす（例えば、所定の下位閾値を上回る、またはそこにある／それを上回る）ユースケースが、考慮される。
３）潜在的な次のアクションユースケースの識別されたリストを考慮すると、バックエンドサービスは、潜在的ユースケースのうちの少なくとも１つを遂行することが公知であるサービスプロバイダのためのプロバイダＡＰＩを使用して、リアルタイムインベントリを決定する。
４）潜在的な次のアクションユースケースのリスト、問い合わせられたリアルタイムインベントリ、および任意の付加的（随意の）情報（例えば、ユーザ場所）に基づいて、バックエンドサービスは、返す特定の次のアクションを識別する。バックエンドサービスは、モバイルブラウザからの並行要求への応答とともに含むデータオブジェクトをコンパイルする。データオブジェクトの受信に応じて、モバイルブラウザは、次のアクションをユーザに可視的であるようにレンダリングする。レンダリングされた次のアクションとの相互作用は、ユーザがインベントリをプレビューし、（例えば、ネイティブアプリケーションまたはモバイルウェブブラウザアプリケーションを使用して）所望される次のアクションを遂行する態勢が整っているサービスプロバイダにリンクし、ある事例では、モバイルブラウザのネイティブ機能性内で所望される次のアクションを完了することを可能にする。
【００１７】
以前および以降の説明の付加的視点および理解を提供するための特定の実施例として、ＭＣＤ上のモバイルブラウザを使用して、ウェブをブラウズするユーザを考慮されたい。ユーザは、自分に推奨されており、他者が話題にしているのを聞いたレストランを検索する。ユーザは、営業時間、場所、電話番号、およびメニュー情報を提供する、レストランの公式ホームページにナビゲートする。しかしながら、公式ホームページは、継続的発見またはユーザの次の意図されたアクション（例えば、配達のために食物を注文する、レストランへのタクシーの乗車を設定する、予約をする等）の遂行のためのいかなるＵＲＬも提供しない。
【００１８】
ユーザが公式ホームページウェブページにブラウザした時間に、モバイルブラウザは、バックエンドサービスと並行して通信し、現在のウェブロケーション（すなわち、レストランの公式ホームページ）と関連付けられるコンテキスト商取引アクションのリストを要求した。バックエンドサービスは、（ユーザ関連情報を含む）入力としてＵＲＬを使用して、輸送、食物の配達、およびレストランの予約が、現在のウェブページおよびユーザと関連付けられる、潜在的に起こり得る高度にコンテキスト的な商取引の次のアクションであることを推測することができる。バックエンドサービスは、モバイルブラウザへの並行要求に応答して、次のアクションのリストを返す。応答に含まれる次のアクションは、例えば、とりわけ、インベントリの可用性（レストランが食物を配達するか？、食物配達サービスがレストランから配達するために利用可能かつ営業中であるか？、タクシーまたは第三者輸送サービスが営業しており、輸送のために利用可能な車両があるか？等）およびユーザのための導出された意図の強さを考慮することによって、策定される。意図の強さは、ウェブページから導出されるコンテキスト、ユーザ場所等のユーザ特有の情報、または時刻等のユーザ特有ではない情報、または本開示と一致する他のデータ（またはこれらまたは他のデータタイプの組み合わせ）によって、決定されることができる。
【００１９】
バックエンドサービスから応答を受信することに応じて、モバイルブラウザは、目立たない様式で（例えば、レンダリングされたウェブページに統合されたボタンとして、またはユーザがアクセスまたは無視し得る特定の場所で）ユーザに可視であるコンテキスト上関連する商取引（次の）アクションをレンダリングする。ユーザに提示される商取引アクション（次のアクションオプション）は、ユーザのためのウェブページのユーティリティを増補する。例えば、（本実施例との関連で）浮上する次のアクションは、以下を含むことができる。
・輸送：ユーザが（例えば、ＭＣＤ上の場所サービスまたは他の場所決定方法を使用して決定されるような）自分の現在の場所からレストランの場所までの送迎オプションをプレビューすることを可能にする、オプションおよびアクションが返される。利用可能なサービスプロバイダに加えて、ユーザは、予期される移動時間、ユーザを搬送するであろう車のタイプ、およびサービスの推定費用を提供されることができる。
・食物配達：ユーザがレストランからの食物配達オプションをプレビューすることを可能にする、オプションおよびアクションが返される。利用可能なサービスプロバイダに加えて、ユーザは、予期される配達時間および注文に利用可能であるメニューアイテムを提供されることができる。
・予約：ユーザがレストランを予約することを可能にする、オプションおよびアクションが返される。サービスプロバイダに加えて、ユーザは、レストランでの利用可能な予約時間および団体サイズを提供される。
【００２０】
本実施例では、ユーザは、その晩にレストランで食事をすることに関心がある。予約オプションを追求した後、ユーザは、自分の必要性に適合する時間および団体サイズを選択する。ユーザは、ユーザの地理的地域のための予約機能性を提供して予約アクションを完了し得る、サービスプロバイダのネイティブアプリケーション（例えば、ＯＰＥＮＴＡＢＬＥ、ＷＥＢＥＲＶＡＴＩＯＮＳ、ＰＬＡＮＹＯ等）の中へディープリンクされる。
【００２１】
図１は、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供する、分散コンピューティングシステム（ＥＤＣＳ）１００の実施例を図示するブロック図である。例示的ＥＤＣＳ１００は、モバイルウェブブラウザ１１０を伴うＭＣＤ１０２（例えば、上記に説明されるＭＣＤ）を含む。ＭＣＤ１０２は、ネットワーク１０４を通して（例えば、上記で説明されるような「バックエンドサービス」を提供する）バックエンドサーバ１０６に接続することができる。ネットワーク１０４およびバックエンドサーバ１０６はさらに、１つ以上のサービスプロバイダと関連付けられる、１つ以上のサービスプロバイダサーバ１０８に接続することができる。いくつかの実装では、モバイルウェブブラウザ１１０は、ＭＣＤ１０２上のネイティブ独立型アプリケーション、例えば、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ、またはＡＰＰＬＥ  ＳＡＦＡＲＩウェブブラウザに類似する、ＭＣＤ１０２上にインストールされた独立型ウェブブラウザであることができる。いくつかの実装では、モバイルウェブブラウザ１１０は、モバイルアプリケーション内にレンダリングされるウェブブラウザであることができる。ユーザがモバイルアプリケーションを使用するとき、モバイルアプリケーションのウェブページが、モバイルウェブブラウザ１１０上にレンダリングされるであろう。
【００２２】
モバイルウェブブラウザ１１０は、ユーザが現在アクセスしているウェブページのＵＲＬをバックエンドサーバ１０６に送信することができる。例えば、モバイルウェブブラウザ１１０がＭＣＤ１０２上の独立型アプリケーションである場合、ユーザがモバイルウェブブラウザ１１０を使用してウェブ上でナビゲートするとき、モバイルウェブブラウザ１１０は、ＵＲＬにアクセスし、バックエンドサーバ１０６に送信することができる。モバイルウェブブラウザ１１０がモバイルアプリケーション内でレンダリングされる場合、ユーザがモバイルアプリケーションを使用し、モバイルウェブブラウザ１１０がモバイルアプリケーションのウェブページをレンダリングするとき、モバイルウェブブラウザ１１０は、ウェブページのＵＲＬをバックエンドサーバ１０６に送信することができる。いくつかの実装では、モバイルウェブブラウザ１１０は、ウェブページと関連付けられるアクションのリストを要求する、要求をバックエンドサーバ１０６に送信し、要求の中にウェブページのＵＲＬを含むことができる。
【００２３】
いくつかの実装では、モバイルウェブブラウザ１１０はまた、ＵＲＬとともにユーザ特有の情報をバックエンドサーバ１０６に送信することもできる。例えば、ユーザ特有の情報は、ユーザ場所情報、サービスプロバイダと関連付けられるユーザ識別子またはアカウント情報（すなわち、ユーザのＵＢＥＲアカウント情報等の第三者ユーザ識別子またはアカウント情報）、ＭＣＤ１０２のデバイスタイプおよびオペレーティングシステム、および本開示と一致する他のデータを含むことができる。モバイルウェブブラウザ１１０は、ユーザ場所をバックエンドサーバ１０６に送信し（ユーザが、例えば、ＭＣＤ／オペレーティングシステムからユーザ場所へのモバイルブラウザ／アプリケーションアクセスを可能にすることによって、場所共有をオプトインするように要求され得ることに留意されたい）、場所ベースのインベントリの読出および表示を可能にすることができる。ユーザは、ロイヤルティ（例えば、ポイントまたはキャッシュバック）提供および機能性を促進するために、モバイルウェブブラウザ１１０がユーザの第三者識別子またはアカウント情報をバックエンドサーバ１０６と共有することを可能にし得る。ユーザはまた、バックエンドサービスがＭＣＤのデバイスタイプおよびオペレーティングシステムに合致する適切なサービスプロバイダのアプリケーションを見出し得るように、モバイルウェブブラウザ１１０がＭＣＤ１０２のデバイスタイプおよびオペレーティングシステムをバックエンドサーバ１０６と共有することを可能にし得る。ユーザ特有の情報は、標準ＨＴＴＰ  ＰＯＳＴ要求データとして要求（コンテキストアクションのリストを要求するモバイルウェブブラウザ１１０によって送信される要求）に添付されることができる。モバイルウェブブラウザ１１０は、ユーザがＵＲＬまたはユーザ特有の情報をバックエンドサービスと共有することを所望するかどうかというユーザオプションを提供してもよい。ユーザが場所共有および第三者識別子／アカウント共有をオプトアウトすることを選定する場合、低減されたロイヤルティ提供および他の機能性等の低減された機能性が提供されることができる。ユーザがＵＲＬ共有およびデバイス／オペレーティングシステム共有をオプトアウトすることを選定する場合、コンテキストアクションを提供するモバイルウェブブラウザ１１０の機能性はまた、完全に無効にされることもできる。いくつかの実装では、ＵＲＬおよびバックエンドサービスと共有されている他の情報は、短い期間（例えば、静的に事前定義された、または動的に生成された期間）後に自動的に消去されることができる、またはユーザの要求に応じて即時に削除されることができる。
【００２４】
いくつかの実装では、モバイルウェブブラウザ１１０は、バックエンドサーバ１０６が、ＵＲＬのウェブページのコンテンツにコンテキスト上関連するアクションのリストと、これらのアクションを遂行する態勢が整っているサービスプロバイダのリストとを含む、１つ以上のデータオブジェクトを返すことを要求することができる。
【００２５】
ＵＲＬ（およびユーザ特有の情報）を受信することに応じて、バックエンドサーバ１０６は、ＵＲＬと関連付けられる、関連する次のアクションユースケース（すなわち、ユーザが次に実施し得る、ＵＲＬに関連するアクション）を識別することができる。いくつかの実装では、バックエンドサーバ１０６は、ＵＲＬのウェブページのコンテンツ（例えば、ウェブページのメタデータ、テキスト、リンク、ウェブページ内の画像等）を評価し、ユースケース毎にコンテキストユーティリティの測定値を算出することによって、関連する次のアクションユースケースを識別することができる。コンテキストユーティリティの測定値は、ユースケースとＵＲＬのコンテキストとの間の関連性を示すことができる。いくつかの実装では、バックエンドサーバ１０６は、所定の閾値を上回るコンテキストユーティリティの測定値を有するユースケースのみを考慮してもよい。識別された次のアクションユースケースを考慮すると、バックエンドサーバ１０６は、識別された次のアクションユースケースを遂行し、リアルタイムインベントリ等のインベントリ情報に関してサービスプロバイダにクエリを行い得る、サービスプロバイダを識別することができる。いくつかの実装では、バックエンドサーバ１０６は、インベントリ可用性に基づいてサービスを提供することができる、サービスプロバイダのみを考慮してもよい。いくつかの実装では、バックエンドサーバ１０６は、インベントリ情報および可用性確認データに関して、サービスプロバイダのＡＰＩを通してサービスプロバイダサーバ１０８にクエリを行うことができる。例えば、バックエンドサーバ１０６は、ウェブページから推測されるコンテキストデータおよびＡＰＩサービスの知識に基づいて、適切なＡＰＩクエリを構築することができる。ある場合には、ユーザの現在の場所情報が提供されない場合、バックエンドサーバ１１６は、宛先についてのインベントリ情報にクエリを行ってもよい。
【００２６】
識別された次のアクションユースケース、問い合わせられたインベントリ、および他の情報（例えば、ユーザ場所情報等のユーザ特有の情報、ユーザの第三者識別子またはアカウント情報、デバイスタイプ、およびオペレーティングシステム）に基づいて、バックエンドサーバ１０６は、次のアクションのリストをコンパイルし、モバイルウェブブラウザ１１０に返すことができる。例えば、バックエンドサーバ１０６は、決定されたインベントリ可用性に基づいて少なくとも１つのサービスプロバイダによって遂行され得る、次のアクションのみを含んでもよい。バックエンドサーバ１０６は、データオブジェクトの中のアクションをコンパイルし、モバイルウェブブラウザ１１０に返すことができる。いくつかの実装では、データオブジェクトはまた、サービスおよび関連付けられるインベントリ情報を提供し得る、サービスプロバイダを含むこともできる。なおも他の実装では、コンパイルされたデータは、モバイルブラウザ１１０によってアセンブルされる複数のデータオブジェクトの中でモバイルブラウザ１１０に返されることができる。
【００２７】
いくつかの実装では、バックエンドサーバ１０６は、次のアクションの優先順位リストをモバイルウェブブラウザ１１０に返すことができる。例えば、識別されている次のアクションユースケース毎に、バックエンドサーバ１０６は、ユースケースを遂行できることが決定されるサービスプロバイダを通して反復することができる。バックエンドサーバ１０６は、サービスプロバイダのＡＰＩと通信してリアルタイムインベントリを取得し、利用可能なインベントリの理解に基づいて、サービスプロバイダが特定のユースケースを遂行し得るかどうかを決定することができる。インベントリに基づくアクションランキングは、ウェブページから推測されているコンテンツおよび意図に主に関連する、データパラメータに基づくことができる。例えば、ウェブページがＮｅｗ  Ｙｏｒｋ  Ｃｉｔｙ（ＮＹＣ）のレストランＡで食事することに関連する場合、バックエンドサーバ１０６は、１）ＮＹＣで夕食の予約をすることと、２）レストランＡでの夕食の予約をすることとの２つの潜在的な次のアクションユースケースがあることを決定してもよい。サービスプロバイダのＡＰＩへのクエリを使用して、サービスプロバイダを通して反復することによって、バックエンドサーバ１０６は、ユースケースのうちの少なくとも１つを遂行し得る２つのプロバイダ、すなわち、１）プロバイダＡがＮＹＣで利用可能な予約／レストランを有することと、２）プロバイダＢがＮＹＣでレストランＡにおいて予約／レストランを有することとを識別してもよい。本情報に基づいて、正確なレストランに関してプロバイダＢによって返されるアクション／インベントリは、現在のウェブページから推測されるコンテキストへのより良好な合致に起因して、プロバイダＡを上回ってランク付けされるであろう。換言すると、バックエンドサーバ１０６は、アクション「プロバイダＡで予約する」よりもアクション「プロバイダＢで予約する」を優先させるであろう。ここで、異なるシナリオを考慮されたい。プロバイダＢが、数ヶ月にわたってレストランＡで利用可能な予約を有しておらず、また、ＮＹＣで利用可能なレストランの限定された供給を有する場合、プロバイダＡと関連付けられるアクション／インベントリは、プロバイダＢよりも高くランク付けされてもよい。
【００２８】
ある場合には、バックエンドサーバ１０６は、ユーザ特有の情報に基づいて、次のアクションを優先順位決定することができる。例えば、レストランがユーザの現在の場所から遠く離れている場合、食物配達およびタクシー乗車のアクションは、予約をするアクションよりも低くランク付けされてもよい。モバイルウェブブラウザ１１０がユーザの第三者識別子またはアカウント情報を提供する場合、バックエンドサーバ１０６は、キャッシュバック／報酬を提供しないものよりも報酬／ロイヤルティプログラムの一部であるサービスプロバイダおよびインベントリを優先することができる。ある場合には、バックエンドサーバ１０６は、即時値引および割引を提供する、サービスプロバイダを優先してもよい。
【００２９】
データオブジェクトの受信に応じて、モバイルウェブブラウザ１１０は、例えば、ユーザが現在見ているウェブページ内で、アクションをレンダリングすることができる。例えば、モバイルウェブブラウザ１１０は、アクション毎にＧＵＩ要素（アイコン、ボタン、または他のＧＵＩ要素）を表示することができる。いくつかの実装では、レンダリングされたアクションとのユーザの相互作用は、ユーザが、インベントリ情報またはアクションを遂行し得るサービスプロバイダへのリンクをプレビューすることを可能にする。例えば、ユーザは、アクションと関連付けられるアイコンをタップまたはクリックすることができ、ウィンドウが、ポップアップし、利用可能なインベントリまたはサービスプロバイダへのリンクを表示することができる。ポップアップウィンドウ内で、ユーザは、インベントリアイテム、またはユーザをサービスプロバイダのアプリケーションへ運び得るサービスプロバイダへのリンクをタップまたはクリックし、ユーザは、サービスプロバイダのアプリケーション内でアクションを遂行することができる。いくつかの実装では、ユーザは、サービスプロバイダのアプリケーションに切り替えることなく、モバイルウェブブラウザ１１０のネイティブ機能性内でアクションを遂行することができる。
【００３０】
上記で提供される具体的実施例と一致して、ユーザがレストランウェブページを見ているとき、モバイルウェブブラウザ１１０は、レストランＵＲＬをバックエンドサーバ１０６に送信し、レストランウェブページと関連付けられるコンテキストアクションのリストを要求することができる。バックエンドサーバ１０６は、ＵＲＬに基づいて、レストランウェブページに高度に関連する、コンテキストの次のアクションが、レストランで予約すること、レストランへの乗車を要求すること、およびレストランからの食物配達を含み得ることを識別してもよい。バックエンドサーバ１０６は、これらのアクションのためのサービスプロバイダを識別し、インベントリ情報を収集することができる。例えば、バックエンドサーバ１０６は、輸送サービスプロバイダサーバ１０８（例えば、ＵＢＥＲ、ＬＹＦＴ等）と通信し、現在利用可能である車の数、各利用可能な車のタイプ、推定迎車時間、推定移動時間、および費用等のユーザの現在の場所からレストランまでの輸送のためのオプションを取得することができる。バックエンドサーバ１０６はまた、予約サービスプロバイダサーバ１０８（例えば、ＯＰＥＮＴＡＢＬＥ、ＷＥＢＥＲＶＡＴＩＯＮＳ、ＰＬＡＮＹＯ等）と通信し、レストランでの利用可能な予約時間および団体サイズ等の予約のためのオプションを取得することもできる。
【００３１】
バックエンドサーバ１０６は、識別された次のアクションおよび関連付けられるインベントリ情報をＭＣＤ１０２に送信することができる。受信に応じて、モバイルウェブブラウザ１１０は、レストランウェブページ内で次のアクションのアイコンを提示することができ、例えば、モバイルウェブブラウザ１１０は、「Ｕｂｅｒで乗車する」を示す１つのアイコン、および「ＯｐｅｎＴａｂｌｅで予約する」を示す別のアイコンを表示することができる。いくつかの実装では、モバイルウェブブラウザ１１０が次のアクションのアイコンを提示する方法は、自然に見え、ユーザのブラウジング体験を侵害しないように設計される。例えば、ユーザがアイコン「ＯｐｅｎＴａｂｌｅで予約する」をクリックまたはタップする場合、ウィンドウは、ポップアップし、レストランでの利用可能な予約時間および団体サイズを示す複数のエントリ、例えば、「午後６時３０分、人数４人」という１つのエントリおよび「午後７時、人数２人」という別のエントリを示すことができる。ユーザは、予約時間および団体サイズを選定し、ユーザが予約を完了するために、ユーザをＭＣＤ１０２上のＯＰＥＮＴＡＢＬＥのネイティブアプリケーションに切り替える、対応するエントリをクリックまたはタップすることができる。いくつかの実装では、サービスプロバイダのネイティブアプリケーションに切り替わるとき、モバイルウェブブラウザ１１０は、あるコンテキスト情報をサービスプロバイダのネイティブアプリケーションに送信することができる。例えば、ユーザがインベントリエントリ「午後７時、人数２人」を選択した場合、モバイルウェブブラウザ１１０は、コンテキスト情報が、ＯＰＥＮＴＡＢＬＥにおいて具体的予約を行うためにユーザによって使用するためのネイティブアプリケーションに投入され得るように、本情報をＯＰＥＮＴＡＢＬＥのネイティブアプリケーションに送信することができる。いくつかの実装では、モバイルウェブブラウザ１１０は、サービスプロバイダのネイティブアプリケーションに切り替わることなく、モバイルウェブブラウザ１１０のネイティブ機能性内で予約を完了することができる。
【００３２】
モバイルウェブブラウザ１１０は、種々の方法で次のアクションをユーザに提示することができる。第１の実施例では、アイコンは、常に、ブラウザツールバー内で可視であり得、アクションが利用可能であるときに色を変化させる。アイコンをタップすることは、次いで、次のアクションを提示する。第２の実施例では、ブラウザツールバーは、アクションが利用可能であるときに、色を変化させることができる。ツールバーをタップすることは、識別された次のアクションを表示する。第３の実施例では、ボタンが、ブラウザフッタツールバーの直上またはブラウザヘッダツールバーの直下の小さい空間内でレンダリングされるが、スクロール中に消滅する。当業者によって理解されるであろうように、本開示と一致する他のＧＵＩ提示オプションも可能である。これらの他の提示オプションもまた、本開示の範囲内と見なされる。
【００３３】
いくつかの実装では、アクションは、アクションの完了に関連する割引または値引の有無別にユーザに提示されることができる。値引および／または割引は、トランザクション時にサービスプロバイダにおいて適用されることができる、またはユーザが関連付けられるロイヤルティサービス（第一者または第三者のいずれか）に、そのロイヤルティサービスに特有である、採用される通貨の形態で適用されることができる。例えば、第１の購入のＸ％割引が、アクションボタン（すなわち、アクションのＧＵＩ要素）において提供されることができ、購入時にプロバイダアプリケーションにおいて自動的に割り引かれ、Ｙ％キャッシュバックが、アクションボタンにおいて提供されることができ、ブラウザロイヤルティ提供内でユーザに授与され、Ｚ％キャッシュバックが、アクションボタンにおいて提供されることができ、ユーザが属する第三者キャッシュバックロイヤルティサービスと連携して授与される、またはいくつかのボーナスマイルが、アクションボタンにおいて提供されることができ、ユーザが属する航空会社ロイヤルティサービスを使用して、ユーザに授与される。
【００３４】
図２Ａ−２Ｂおよび３−４は、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法の実施例を図示するフローチャートである。提示を明確にするために、本説明は、概して、本開示と関連付けられる全ての他の図のうちのいくつかとの関連で、関連付けられる方法を説明する。しかしながら、図２Ａ−２Ｂおよび３−４に図示される方法（それぞれ、２００および３００−４００）は、例えば、適宜、任意の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって、実施され得ることを理解されたい。ある実装では、図２Ａ−２Ｂおよび３−４に図示される方法の種々のステップは、並行して、組み合わせて、ループで、または任意の順序で、起動されることができる。
【００３５】
図２Ａおよび２Ｂは、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法２００の実施例を図示するフローチャートである。
【００３６】
方法２００は、２０２から始まる。２０２から、方法２００は、２０４に進む。
【００３７】
２０４では、ユーザは、モバイルウェブブラウザ内でＵＲＬにナビゲートする。２０４から、方法２００は、２０６に進む。
【００３８】
２０６では、モバイルウェブブラウザは、コンテキスト分析、および現在のＵＲＬのコンテキストに関連する次のアクションおよびサービスプロバイダの決定のために、現在のＵＲＬをバックエンドサーバに送信する。２０６から、方法２００は、２０８に進む。
【００３９】
２０８では（図３でさらに詳細に議論されるであろうように）、バックエンドサーバは、現在のＵＲＬコンテキストを分析し、ＵＲＬに基づいて次のアクションおよびサービスプロバイダを識別する。バックエンドサーバは、アクションおよびサービスプロバイダを優先順位決定することができる。例えば、バックエンドサーバは、所定の閾値を上回る現在のＵＲＬへのコンテキスト関連性の測定値を有するアクション、およびインベントリの可用性に基づいてサービスを提供することができるサービスプロバイダのみを考慮することができる。バックエンドサーバは、リストの中に優先順位決定されたアクションおよびサービスプロバイダを含むことができる。２０８から、方法２００は、２１０に進む。
【００４０】
２１０では、モバイルウェブブラウザは、バックエンドサーバからコンテキストアクションおよびサービスプロバイダの優先順位リストを受信し、リストをユーザに提示する。例えば、モバイルウェブブラウザは、サービスプロバイダと関連付けられるアクションを表す、アイコンまたは他のグラフィカルユーザインターフェース要素を表示することができる。２１０から、方法２００は、２１２に進む。
【００４１】
２１２では、ユーザは、モバイルウェブブラウザによって提示されているコンテキストアクションを実施する意図を表現する。ユーザ表現は、モバイルウェブブラウザによって自然に提示されるようなアクションアイコンのタップ、スワイプ、またはクリックであることができる。ユーザ表現に応答して、モバイルウェブブラウザは、リアルタイムインベントリ等の選択されたサービスプロバイダのインベントリ情報をユーザに提示することができる。いくつかの実装では、ユーザは、インベントリの中の１つ以上のアイテムを選択することができる。２１２から、方法２００は、図２Ｂの２１４に進む。
【００４２】
ここで図２Ｂを参照すると、２１４では、モバイルウェブブラウザは、ユーザが選択したアクション（例えば、購入または予約）がネイティブモバイルウェブブラウザ環境内で完了され得るかどうかを決定する。いくつかの実装では、バックエンドサーバは、アクションがネイティブモバイルウェブブラウザ内で完了され得るかどうかを決定し、インジケーションをモバイルウェブブラウザに送信することができる。例えば、バックエンドサーバがアクションのリストをモバイルウェブブラウザに返すとき、バックエンドサーバは、各アクションがネイティブモバイルウェブブラウザ内で完了され得るかどうかを示すことができる。バックエンドサーバは、プロバイダＡＰＩから返される情報、バックエンドデータベースの中に記憶されるプロバイダに関連するデータ、ユーザデバイスおよびオペレーティングシステム情報、および潜在的に付加的なユーザ情報に基づいて、決定を行ってもよい。例えば、ＩＯＳデバイス上のユーザは、テニスラケットを表示しているページにナビゲートし、ユーザに提示されるアクションは、「ｊｅｔ．ｃｏｍからラケットを購入する」である。バックエンドサーバは、ＪＥＴ．ＣＯＭと関連付けられるプロバイダ情報およびユーザデバイスおよびオペレーティングシステムの知識を使用し、ＪＥＴ．ＣＯＭでの購入がＡＰＰＬＥ  ＰＡＹを使用してモバイルウェブブラウザ内で可能であることを識別することができる。ユーザがバックエンドサーバからのインジケーションに基づいてアクション「ｊｅｔ．ｃｏｍからラケットを購入する」のためのアイコンをタップするとき、モバイルウェブブラウザは、ボタン「Ａｐｐｌｅ  Ｐａｙで支払う」を伴うポップアップカードまたはウィンドウを自動的に表示することができる。ユーザは、ボタン「Ａｐｐｌｅ  Ｐａｙで支払う」をタップして、支払いを有効にし、トランザクションを完了することができる。いくつかの実装では、バックエンドサーバがインジケーションをブラウザに送信する代わりに、ユーザがアクション「ｊｅｔ．ｃｏｍからラケットを購入する」のためのアイコンをタップするとき、ブラウザは、バックエンドサーバと通信することができ、バックエンドサーバは、ボタン「Ａｐｐｌｅ  Ｐａｙで支払う」を伴うポップアップカードを表示するようにモバイルウェブブラウザに命令することができる。
【００４３】
アクションがネイティブモバイルウェブブラウザ内で完了され得ることが決定される場合、方法２００は、２２２に進む。別様に、アクションの完了がサービスプロバイダのネイティブアプリケーションへのナビゲーションを要求することが決定される場合、方法２００は、２１６に進む。
【００４４】
２１６では、サービスプロバイダのネイティブアプリケーションがＭＣＤ上にインストールされているかどうかの決定が行われる。サービスプロバイダのネイティブアプリケーションがＭＣＤ上にインストールされていないことが決定される場合、方法２００は、２２０に進む。サービスプロバイダのネイティブアプリケーションがＭＣＤ上にインストールされていることが決定される場合、方法２００は、２１８に進む。
【００４５】
２２０では、ＭＣＤは、コンテキストアクションを完了するための必須条件として、サービスプロバイダのネイティブアプリケーションをインストールするように命令される。これは、いくつかの実装では、手動ユーザプロンプトおよびアクション、完全自動プロセス、または２つの組み合わせによって達成され得ることに留意されたい。２２０から、方法２００は、２１８に進む。
【００４６】
２１８では、モバイルウェブブラウザは、ユーザをサービスプロバイダのネイティブアプリケーションに切り替える。いくつかの実装では、モバイルウェブを切り替えるステップは、モバイルウェブブラウザが関連コンテキスト情報をサービスプロバイダのネイティブアプリケーションに送信するステップを含む。例えば、モバイルウェブブラウザは、サービスプロバイダのネイティブアプリケーションが、ユーザによる使用のために（例えば、ユーザが選択したインベントリアイテムを予約または購入するために）サービスプロバイダのネイティブアプリケーションインターフェースに適切なデータを事前投入し得るように、ユーザが選択したインベントリアイテムをサービスプロバイダのネイティブアプリケーションに送信することができる。２１８の後に、方法２００は、２２２に進む。
【００４７】
２２２では、ユーザは、（モバイルウェブブラウザ内で自然に、またはサービスプロバイダのネイティブアプリケーション内のいずれかで）コンテキストアクションを実施する。２２２の後に、方法２００は、２２４に進む。２２４では、方法２００は、停止する。
【００４８】
図３は、ある実装による、バックエンドサーバがコンテキスト関連アクションを識別するための方法３００の実施例を図示するフローチャートである。図３は、２０８における図２Ａから３０２において参入される。
【００４９】
３０２では、バックエンドサーバは、モバイルウェブブラウザから要求を受信し、要求は、ＵＲＬ（および他のユーザ関連情報）を含む。３０２から、方法３００は、３０４に進む。
【００５０】
３０４では、バックエンドサーバは、例えば、ＵＲＬ解析、ＵＲＬコンテンツ評価、または他の方法を使用して、ＵＲＬからコンテキストデータを抽出する。採用される方法は、１）自然言語処理（非構造化テキスト（ＵＲＬコンテンツから抽出される）を構造化アクション／意図コンテキストにマップする数学関数に基づく、アクション意図推論）、２）自然エンティティ認識および曖昧性解消（非構造化テキスト（ＵＲＬコンテンツから抽出される）および解析されたＵＲＬハイパーリンク（ＵＲＬコンテンツから抽出される）をマップする数学関数に基づく、エンティティ識別（場所、製品、会場、アーティスト、映画））、３）エンティティ調和（１つのサービスにおいて識別されるエンティティを全ての他のサービスにおける同一のエンティティにマップする（例えば、それらが同一のレストランを表す場合、ＦＯＵＲＳＱＵＡＲＥレストラン識別子をＯＰＥＮＴＡＢＬＥレストラン識別子に合致させる）数学関数に基づく、サービス間エンティティ識別）、および４）複数のページ「ジャンプ」にわたるマルチ−ページＵＲＬトラバース（リンクされたウェブＵＲＬ（ＵＲＬコンテンツから抽出される）への１および２および３の適用）を含むことができるが、それに限定されない。バックエンドサーバは、抽出されたコンテキストデータを使用し、関連アクションおよびサービスプロバイダを識別することができる。例えば、抽出された（構造化）コンテキストデータに基づいて、数学関数は、コンテキストを、アクションおよび（ＡＰＩを使用して）インベントリに関してクエリを行う、関連付けられる（潜在的）プロバイダのリストにマップするために、使用されることができる。３０４から、方法３００は、３０６に進む。
【００５１】
３０６では、バックエンドサーバは、全てのコンテキストアクションを列挙する。例えば、コンピュータプログラムまたはコードは、コンテキストアクションのリストを通してループすることができ、コンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの内部（またはバックエンド）定義または記憶を指し示す、文字列または識別子を備える。３０６から、方法３００は、３０８に進む。
【００５２】
３０８（図４でさらに詳細に議論される）では、列挙されたコンテキストアクション毎に、バックエンドサーバは、そのアクションのための全ての潜在的サービスプロバイダにわたって反復し、ユーザおよびＵＲＬに関連するアクションおよびプロバイダペアを識別する。例えば、アクションが「レストランＡでテーブルを予約する」である場合、バックエンドサーバは、テーブル予約を提供するためのバックエンドサービスに公知である全てのプロバイダにわたって反復することができる（例えば、バックエンドサーバは、バックエンドサービスが認識しているサービスプロバイダを含む、データベースを有することができる）。潜在的プロバイダ毎に、バックエンドサーバは、最初に、バックエンドサービスが把握している情報（例えば、バックエンドデータベースからの情報）が本プロバイダを考慮から排除し得る（例えば、プロバイダがユーザのいる国内のレストランにサービス提供しない）かどうかをチェックする。バックエンドサーバは、次いで、抽出されたコンテキストデータが本プロバイダを考慮から排除し得る（例えば、本レストランのためのプロバイダ会場識別子が抽出されたコンテキストの一部ではない）ことを決定することができる。プロバイダが最後の２つのステップから排除されない場合、バックエンドサーバは、インベントリに関してプロバイダＡＰＩにクエリを行い、ＡＰＩからのインベントリが利用可能である場合に、一対のアクションおよびプロバイダを返すことができる。３０８から、方法３００は、３１０に進む。
【００５３】
３１０では、バックエンドサーバは、アクションおよびプロバイダの優先順位リストをモバイルウェブブラウザに返す。３１０から、方法３００は、図２Ａの２０８に戻る。
【００５４】
図４は、ある実装による、バックエンドサーバがコンテキストアクションを優先順位決定するための方法４００の実施例を図示するフローチャートである。図４は、図３の３０８から４０２において参入される。
【００５５】
４０２では、バックエンドサーバは、調査される必要がある、さらなるアクションがあるかどうかを決定する。全てのアクションが調査されている場合、方法４００は、４１２に進む。調査される必要がある、さらなるアクションがある場合、方法４００は、４０４に進む。
【００５６】
４０４では、バックエンドサーバは、モバイルウェブブラウザ内で自然に、またはサービスプロバイダのネイティブアプリケーション内のいずれかで、現在のアクション（すなわち、現在調査されているアクション）を完了することが可能である全てのサービスプロバイダを列挙する。４０４から、方法４００は、４０６に進む。
【００５７】
４０６では、バックエンドサーバは、現在のアクションのために残存している、さらなるプロバイダがあるかどうかを決定する。現在のアクションと関連付けられる全てのプロバイダが調査されている（すなわち、これ以上のプロバイダがない）ことが決定される場合、方法４００は、４０２に戻り、次のアクションを調査する。現在のアクションのために残存している、さらなるプロバイダがあることが決定される場合、方法４００は、４０８に進み、次のプロバイダを調査する。
【００５８】
４０８では、バックエンドサーバは、例えば、インベントリ可用性に基づいて、次のプロバイダが現在のアクションを完了し得るかどうかを決定する。ある場合には、リアルタイムインベントリが利用可能ではない場合、バックエンドサーバは、決定のためにバックエンドデータベースに記憶されたデータ（例えば、プロバイダが前もって果たしたアクションのリスト）を使用してもよい。プロバイダがアクションを完了することができないことが決定される場合、方法４００は、４０６に戻り、次のプロバイダを調査する。次のプロバイダがアクションを完了し得ることが決定される場合、方法４００は、４１０に進む。
【００５９】
４１０では、バックエンドサーバは、アクションおよびアクションを完了し得るプロバイダを、ユーザに返されるであろうアクションおよびプロバイダのリストに追加する。いくつかの実装では、アクションおよびプロバイダのリストは、新しいアクションおよびプロバイダペアが追加される度に、再優先順位決定されることができる。優先順位決定は、限定されないが、インベントリ可用性、およびアクションとプロバイダとの間の関連性を示す関連性スコアに基づくことができる。いくつかの実装では、優先順位リストにおいて、より多くのインベントリを有するプロバイダは、より少ないインベントリを有するプロバイダに先立って記載されることができる。４１０から、方法４００は、４１２に進む。代替的フローでは、４１０の後に、４１２に進む代わりに、方法４００は、４０６に戻ることができる（参照「Ａ」を参照）。
【００６０】
４１２では、バックエンドサーバは、アクションおよびプロバイダの優先順位リストをモバイルウェブブラウザに返す。４１２から、方法４００は、３０８における図３に戻る。
【００６１】
図５は、本開示のある実装による、説明されるアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャと関連付けられる計算機能性を提供するために使用される、コンピュータ実装システム５００の実施例を図示するブロック図である。図示される実装では、システム５００は、コンピュータ５０２と、ネットワーク５３０とを含む。
【００６２】
図示されるコンピュータ５０２は、サーバ、デスクトップコンピュータ、ラップトップ／ノートブックコンピュータ、無線データポート、スマートフォン、携帯情報端末（ＰＤＡ）、タブレットコンピューティングデバイス、これらのデバイス内の１つ以上のプロセッサ、別のコンピューティングデバイス、またはコンピューティングデバイスの物理または仮想インスタンス、またはコンピューティングデバイスの物理または仮想インスタンスの組み合わせを含む、コンピューティングデバイスの組み合わせ等の任意のコンピューティングデバイスを包含することを意図している。加えて、コンピュータ５０２は、キーパッド、キーボード、タッチスクリーン、別の入力デバイス、またはユーザ情報を受け入れ得る入力デバイスの組み合わせ等の入力デバイスと、デジタルデータ、視覚、オーディオ、別のタイプの情報、または情報のタイプの組み合わせを含む、コンピュータ５０２の動作と関連付けられる情報を、グラフィカルタイプユーザインターフェース（ＵＩ）（またはＧＵＩ）または他のＵＩ上で伝える、出力デバイスとを含むことができる。
【００６３】
コンピュータ５０２は、クライアント、ネットワークコンポーネント、サーバ、データベース、または別の持続性、別の役割、または本開示に説明される主題を実施するための役割の組み合わせとして、分散コンピューティングシステム内の役割を果たすことができる。図示されるコンピュータ５０２は、ネットワーク５３０と通信可能に結合される。いくつかの実装では、コンピュータ５０２の１つ以上のコンポーネントは、クラウドコンピューティングベース、ローカル、グローバル、別の環境、または環境の組み合わせを含む、環境内で動作するように構成されることができる。
【００６４】
高レベルでは、コンピュータ５０２は、説明される主題と関連付けられるデータおよび情報を受信、伝送、処理、記憶、または管理するために動作可能な電子コンピューティングデバイスである。いくつかの実装によると、コンピュータ５０２はまた、アプリケーションサーバ、Ｅメールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組み合わせを含む、サーバを含む、またはそれと通信可能に結合されることもできる。
【００６５】
コンピュータ５０２は、（例えば、別のコンピュータ５０２上で実行されるクライアントソフトウェアアプリケーションから）ネットワーク５３０を経由して要求を受信し、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組み合わせを使用して、受信された要求を処理することによって、受信された要求に応答することができる。加えて、要求はまた、内部ユーザ（例えば、コマンドコンソールから、または別の内部アクセス方法によって）、外部または第三者、または他のエンティティ、個人、システム、またはコンピュータから、コンピュータ５０２に送信されることもできる。
【００６６】
コンピュータ５０２のコンポーネントはそれぞれ、システムバス５０３を使用して、通信することができる。いくつかの実装では、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを含む、コンピュータ５０２のコンポーネントのうちのいずれかまたは全ては、アプリケーションプログラミングインターフェース（ＡＰＩ）５１２、サービス層５１３、またはＡＰＩ５１２およびサービス層５１３の組み合わせを使用して、システムバス５０３を経由してインターフェースをとることができる。ＡＰＩ５１２は、ルーチン、データ構造、およびオブジェクトクラスのための仕様を含むことができる。ＡＰＩ５１２は、コンピュータ言語非依存性または依存性のいずれかであり、完全インターフェース、単一機能、またはＡＰＩのセットさえも指すことができる。サービス層５１３は、ソフトウェアサービスをコンピュータ５０２またはコンピュータ５０２に通信可能に結合される他のコンポーネント（図示されるかどうかにかかわらず）に提供する。コンピュータ５０２の機能性は、本サービス層を使用する全てのサービス消費者のためにアクセス可能であり得る。サービス層５１３によって提供されるもの等のソフトウェアサービスは、定義されたインターフェースを通して、再利用可能な定義された機能性を提供する。例えば、インターフェースは、ＪＡＶＡ（登録商標）、Ｃ＋＋、別のコンピューティング言語、または拡張マークアップ言語（ＸＭＬ）フォーマット、別のフォーマット、またはフォーマットの組み合わせでデータを提供するコンピューティング言語の組み合わせで書かれた、ソフトウェアであることができる。コンピュータ５０２の統合コンポーネントとして図示されているが、代替的実装は、コンピュータ５０２の他のコンポーネントに関連する独立型コンポーネント、またはコンピュータ５０２に通信可能に結合される他のコンポーネント（図示されるかどうかにかかわらず）として、ＡＰＩ５１２またはサービス層５１３を図示することができる。また、ＡＰＩ５１２またはサービス層５１３のいずれかまたは全ての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、企業アプリケーション、またはハードウェアモジュールの子またはサブモジュールとして、実装されることができる。
【００６７】
コンピュータ５０２は、インターフェース５０４を含む。図５に単一のインターフェース５０４として図示されているが、２つ以上のインターフェース５０４が、特定の必要性、所望、またはコンピュータ５０２の特定の実装に従って、使用されることができる。インターフェース５０４は、分散環境内のネットワーク５３０に通信可能にリンクされる別のコンピューティングシステム（図示されるかどうかにかかわらず）と通信するために、コンピュータ５０２によって使用される。概して、インターフェース５０４は、ネットワーク５３０と通信するように動作可能であり、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組み合わせでエンコードされる論理を含む。より具体的には、インターフェース５０４は、ネットワーク５３０またはインターフェースのハードウェアが、図示されるコンピュータ５０２内およびその外側で物理的信号を通信するように動作可能であるように、通信と関連付けられる１つ以上の通信プロトコルをサポートするソフトウェアを含むことができる。
【００６８】
コンピュータ５０２は、プロセッサ５０５を含む。図５に単一のプロセッサ５０５として図示されているが、２つ以上のプロセッサが、特定の必要性、所望、またはコンピュータ５０２の特定の実装に従って、使用されることができる。概して、プロセッサ５０５は、命令を実行し、データを操作して、コンピュータ５０２の動作および本開示に説明されるような任意のアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャを実施する。
【００６９】
コンピュータ５０２はまた、コンピュータ５０２のためのデータを保持し得るデータベース５０６、ネットワーク５３０に通信可能にリンクされる別のコンポーネント（図示されるかどうかにかかわらず）、またはコンピュータ５０２および別のコンポーネントの組み合わせも含む。例えば、データベース５０６は、本開示に一致するデータを記憶するインメモリ、従来、または別のタイプのデータベースであることができる。いくつかの実装では、データベース５０６は、特定の必要性、所望、またはコンピュータ５０２および説明される機能性の特定の実装による、２つ以上の異なるデータベースタイプ（例えば、ハイブリッドインメモリおよび従来のデータベース）の組み合わせであることができる。図５に単一のデータベース５０６として図示されているが、類似または異なるタイプの２つ以上のデータベースが、特定の必要性、所望、またはコンピュータ５０２および説明される機能性の特定の実装に従って、使用されることができる。データベース５０６は、コンピュータ５０２の一体コンポーネントとして図示されているが、代替的実装では、データベース５０６は、コンピュータ５０２の外部にあり得る。
【００７０】
コンピュータ５０２はまた、コンピュータ５０２のためのデータを保持し得るメモリ５０７、ネットワーク５３０に通信可能にリンクされる別のコンポーネントまたは複数のコンポーネント（図示されるかどうかにかかわらず）、またはコンピュータ５０２および別のコンポーネントの組み合わせも含む。メモリ５０７は、本開示に一致する任意のデータを記憶することができる。いくつかの実装では、メモリ５０７は、特定の必要性、所望、またはコンピュータ５０２および説明される機能性の特定の実装による、２つ以上の異なるタイプのメモリの組み合わせ（例えば、半導体および磁気記憶装置の組み合わせ）であることができる。図５に単一のメモリ５０７として図示されているが、類似または異なるタイプの２つ以上のメモリ５０７が、特定の必要性、所望、またはコンピュータ５０２および説明される機能性の特定の実装に従って、使用されることができる。メモリ５０７は、コンピュータ５０２の一体コンポーネントとして図示されているが、代替的実装では、メモリ５０７は、コンピュータ５０２の外部にあり得る。
【００７１】
アプリケーション５０８は、特に、本開示に説明される機能性に関して、特定の必要性、所望、またはコンピュータ５０２の特定の実装による、機能性を提供する、アルゴリズムソフトウェアエンジンである。例えば、アプリケーション５０８は、１つ以上のコンポーネント、モジュール、またはアプリケーションとしての役割を果たすことができる。さらに、単一のアプリケーション５０８として図示されているが、アプリケーション５０８は、コンピュータ５０２上の複数のアプリケーション５０８として実装されることができる。加えて、コンピュータ５０２に対して一体的に図示されているが、代替的実装では、アプリケーション５０８は、コンピュータ５０２の外部にあり得る。
【００７２】
コンピュータ５０２はまた、電力供給源５１４を含むこともできる。電力供給源５１４は、ユーザまたは非ユーザ交換可能のいずれかであるように構成され得る、再充電可能または非再充電可能バッテリを含むことができる。いくつかの実装では、電力供給源５１４は、電力変換または管理回路（再充電、スタンバイ、または別の電力管理機能性を含む）を含むことができる。いくつかの実装では、電力供給源５１４は、コンピュータ５０２が壁コンセントまたは別の電源に差し込まれることを可能にし、例えば、コンピュータ５０２に給電する、または再充電可能バッテリを再充電するための電源プラグを含むことができる。
【００７３】
各コンピュータ５０２がネットワーク５３０を経由して通信する、コンピュータ５０２を含有するコンピュータシステムと関連付けられる、またはその外部にある、任意の数のコンピュータ５０２が存在し得る。さらに、用語「クライアント」、「ユーザ」、または他の適切な用語が、本開示の範囲から逸脱することなく、適宜、同義的に使用されることができる。また、本開示は、多くのユーザが１つのコンピュータ５０２を使用し得ること、または１人のユーザが複数のコンピュータ５０２を使用し得ることを考慮する。
【００７４】
図６は、ある実装による、ＭＣＤ６００の実施例を図示するブロック図である。例示的ＭＣＤ６００は、処理ユニット６０２と、コンピュータ可読記憶媒体６０４（例えば、ＲＯＭまたはフラッシュタイプメモリ）と、無線通信サブシステム６０６と、インターフェース６０８と、Ｉ／Ｏインターフェース６１０とを含む。処理ユニット６０２は、本明細書に開示される実装のうちの１つ以上のものに関連して上記に説明されるプロセス、ステップ、またはアクションのうちの１つ以上のものに関連する命令を実行するように構成される、１つ以上の処理コンポーネント（代替として、「プロセッサ」または「中央処理ユニット」（ＣＰＵ）と称される）を含むことができる。処理ユニット６０２はまた、ランダムアクセスメモリ（ＲＡＭ）および読取専用メモリ（ＲＯＭ）等の他の補助コンポーネントを含むこともできる。コンピュータ可読記憶媒体６０４は、デバイス６００のオペレーティングシステム（ＯＳ）、および上記に説明されるプロセス、ステップ、またはアクションのうちの１つ以上のものを実施するための種々の他のコンピュータ実行可能ソフトウェアプログラムを記憶するように構成される、非一過性の媒体によって具現化されることができる。
【００７５】
無線通信サブシステム６０６は、処理ユニット６０２によって提供されるデータ情報または制御情報のための無線通信を提供するように構成されてもよい。無線通信サブシステム６０６は、例えば、１つ以上のアンテナと、受信機と、伝送機と、局所発振器と、ミキサと、デジタル信号処理（ＤＳＰ）ユニットとを含むことができる。いくつかの実装では、サブシステム６０６は、多重入出力（ＭＩＭＯ）伝送をサポートすることができる。いくつかの実装では、無線通信サブシステム６０６内の受信機は、アドバンスト受信機または基準受信機であることができる。２つの受信機は、同じ、類似、または異なる受信機処理アルゴリズムを用いて実装されることができる。
【００７６】
ユーザインターフェース６０８は、例えば、スクリーンまたはタッチスクリーン（例えば、液晶ディスプレイ（ＬＣＤ）、発光ディスプレイ（ＬＥＤ）、有機発光ディスプレイ（ＯＬＥＤ）、微小電気機械システム（ＭＥＭＳ）ディスプレイ）、キーボードまたはキーパッド、トラックボール、スピーカ、およびマイクロホンのうちの１つ以上のものを含むことができる。Ｉ／Ｏインターフェース６１０は、例えば、ユニバーサルシリアルバス（ＵＳＢ）インターフェースを含むことができる。当業者は、種々の他のコンポーネントも例示的ＭＣＤ６００に含まれ得ることを容易に理解するであろう。
【００７７】
本主題の説明される実装は、単独で、または組み合わせて、１つ以上の特徴を含むことができる。
【００７８】
例えば、第１の実装では、コンピュータ実装方法であって、該コンピュータ実装方法は、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ（ＵＲＬ）を受信するステップと、少なくともＵＲＬと関連付けられるウェブページのコンテンツに基づいて、少なくとも１つのコンテキストアクションを識別するステップと、少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダを識別するステップと、少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して少なくとも１つのサービスプロバイダと通信するステップと、少なくとも１つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも１つのデータオブジェクトをモバイルウェブブラウザに送信するステップとを含む、コンピュータ実装方法。
【００７９】
前述および他の説明される実装はそれぞれ、随意に、以下の特徴のうちの１つ以上のものを含むことができる。
【００８０】
ＵＲＬからコンテキストデータを抽出するステップをさらに含む、以下の特徴のうちのいずれかと組み合わせ可能である、第１の特徴。
【００８１】
抽出されたコンテキストデータに基づいて、少なくとも１つのコンテキストアクションを列挙するステップをさらに含み、少なくとも１つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第２の特徴。
【００８２】
少なくとも１つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよびＵＲＬに関連するアクションおよびプロバイダペアを識別するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第３の特徴。
【００８３】
所定の閾値に基づいて、ＵＲＬへのコンテキスト関連性の測定値を伴うアクションのみを考慮するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第４の特徴。
【００８４】
モバイルウェブブラウザに送信される少なくとも１つのデータオブジェクトは、受信されたＵＲＬにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第５の特徴。
【００８５】
モバイルウェブブラウザ内でレンダリングされる少なくとも１つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、インベントリ情報をプレビューするステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第６の特徴。
【００８６】
第２の実装では、１つ以上の命令を記憶する非一過性のコンピュータ可読媒体であって、該１つ以上の命令は、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ（ＵＲＬ）を受信するステップと、少なくともＵＲＬと関連付けられるウェブページのコンテンツに基づいて、少なくとも１つのコンテキストアクションを識別するステップと、少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダを識別するステップと、少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して少なくとも１つのサービスプロバイダと通信するステップと、少なくとも１つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも１つのデータオブジェクトをモバイルウェブブラウザに送信するステップとを含む、動作を実施するようにコンピュータシステムによって実行可能である、非一過性のコンピュータ可読媒体。
【００８７】
前述および他の説明される実装はそれぞれ、随意に、以下の特徴のうちの１つ以上のものを含むことができる。
【００８８】
ＵＲＬからコンテキストデータを抽出するための１つ以上の命令をさらに備える、以下の特徴のうちのいずれかと組み合わせ可能である、第１の特徴。
【００８９】
抽出されたコンテキストデータに基づいて、少なくとも１つのコンテキストアクションを列挙するための１つ以上の命令をさらに備え、少なくとも１つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第２の特徴。
【００９０】
少なくとも１つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよびＵＲＬに関連するアクションおよびプロバイダペアを識別するための１つ以上の命令をさらに備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第３の特徴。
【００９１】
所定の閾値に基づいて、ＵＲＬへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための１つ以上の命令をさらに備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第４の特徴。
【００９２】
モバイルウェブブラウザに送信される少なくとも１つのデータオブジェクトは、受信されたＵＲＬにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第５の特徴。
【００９３】
モバイルウェブブラウザ内でレンダリングされる少なくとも１つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、インベントリ情報をプレビューするための１つ以上の命令をさらに備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第６の特徴。
【００９４】
第３の実装では、コンピュータ実装システムであって、該コンピュータ実装システムは、１つ以上のコンピュータと、１つ以上のコンピュータと相互運用可能に結合された１つ以上のコンピュータメモリデバイスであって、該１つ以上のコンピュータメモリデバイスは、１つ以上の命令を記憶する有形の非一過性機械可読媒体を有し、該１つ以上の命令は、１つ以上のコンピュータによって実行されると、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ（ＵＲＬ）を受信するステップと、少なくともＵＲＬと関連付けられるウェブページのコンテンツに基づいて、少なくとも１つのコンテキストアクションを識別するステップと、少なくとも１つのコンテキストアクションと関連付けられる少なくとも１つのサービスプロバイダを識別するステップと、少なくとも１つのコンテキストアクションと関連付けられるインベントリ情報に関して少なくとも１つのサービスプロバイダと通信するステップと、少なくとも１つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも１つのデータオブジェクトをモバイルウェブブラウザに送信するステップとを含む１つ以上の動作を実施する、１つ以上のコンピュータメモリデバイスとを備える、コンピュータ実装システム。
【００９５】
前述および他の説明される実装はそれぞれ、随意に、以下の特徴のうちの１つ以上のものを含むことができる。
【００９６】
ＵＲＬからコンテキストデータを抽出するための１つ以上の動作を実施するステップをさらに含む、以下の特徴のうちのいずれかと組み合わせ可能である、第１の特徴。
【００９７】
抽出されたコンテキストデータに基づいて、少なくとも１つのコンテキストアクションを列挙するための１つ以上の動作を実施するステップをさらに含み、少なくとも１つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第２の特徴。
【００９８】
少なくとも１つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよびＵＲＬに関連するアクションおよびプロバイダペアを識別するための１つ以上の動作を実施するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第３の特徴。
【００９９】
所定の閾値に基づいて、ＵＲＬへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための１つ以上の動作を実施するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第４の特徴。
【０１００】
モバイルウェブブラウザに送信される少なくとも１つのデータオブジェクトは、受信されたＵＲＬにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第５の特徴。
【０１０１】
モバイルウェブブラウザ内でレンダリングされる少なくとも１つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、インベントリ情報をプレビューするための１つ以上の動作を実施するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第６の特徴。
【０１０２】
本主題および本明細書に説明される機能的動作の実装は、デジタル電子回路で、有形に具現化されたコンピュータソフトウェアまたはファームウェアで、本明細書に開示される構造およびそれらの構造均等物を含む、コンピュータハードウェアで、またはそれらのうちの１つ以上のものの組み合わせで、実装されることができる。説明される主題のソフトウェア実装は、１つ以上のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一過性コンピュータ可読コンピュータ記憶媒体上でエンコードされるコンピュータプログラム命令の１つ以上のモジュールとして、実装されることができる。代替として、または加えて、プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために、受信機装置への伝送のための情報をエンコードするように生成される、機械で生成された電気、光学、または電磁信号内／上でエンコードされることができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組み合わせであることができる。１つ以上のコンピュータを構成することは、ソフトウェアが１つ以上のコンピュータによって実行されると、特定のコンピューティング動作が実施されるように、１つ以上のコンピュータが、ハードウェア、ファームウェア、またはソフトウェア（またはハードウェア、ファームウェア、およびソフトウェアの組み合わせ）をインストールしていることを意味する。
【０１０３】
用語「リアルタイム（ｒｅａｌ−ｔｉｍｅ、ｒｅａｌ  ｔｉｍｅ、ｒｅａｌｔｉｍｅ」、「リアル（高速）タイム（ＲＦＴ）」、「近リアルタイム（ＮＲＴ）」、「準リアルタイム」、または（当業者によって理解されるような）類似用語は、個人が実質的に同時に起こるアクションおよび応答を知覚するように、アクションおよび応答が時間的に近接することを意味する。例えば、データにアクセスする個人のアクション後のデータの表示への応答のための（または表示の開始のための）時間差は、１ミリ秒（ｍｓ）未満、１秒（ｓ）未満、または５秒未満であり得る。要求されたデータは、瞬時に表示される（または表示のために開始される）必要はないが、説明されるコンピューティングシステムの処理限界、および例えば、データを収集する、正確に測定する、分析する、処理する、記憶する、または伝送するために要求される時間を考慮して、いかなる意図的な遅延も伴わずに表示される（または表示のために開始される）。
【０１０４】
用語「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」（または当業者によって理解されるような均等物）は、データ処理ハードウェアを指し、一例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての種類の装置、デバイス、および機械を包含する。本装置はまた、特殊用途論理回路、例えば、中央処理ユニット（ＣＰＵ）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、またはＡＳＩＣ（特定用途向け集積回路）である、またはそれをさらに含むことができる。いくつかの実装では、データ処理装置または特殊用途論理回路（またはデータ処理装置または特殊用途論理回路の組み合わせ）は、ハードウェアまたはソフトウェアベース（またはハードウェアまたはソフトウェアベースの組み合わせ）であることができる。本装置は、随意に、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組み合わせを構成する、コードを含むことができる。本開示は、あるタイプのオペレーティングシステム、例えば、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣ  ＯＳ、ＡＮＤＲＯＩＤ（登録商標）、ＩＯＳ、別のオペレーティングシステム、またはオペレーティングシステムの組み合わせとともにデータ処理装置の使用を考慮する。
【０１０５】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他のコンポーネントとも称される、または表され得る、コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、または宣言型または手続型言語を含む、任意の形態のプログラミング言語で書かれることができ、例えば、コンピューティング環境で使用するために、独立型プログラム、モジュール、コンポーネント、またはサブルーチンとしてを含む、任意の形態で展開されることができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、その必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメント内に記憶された１つ以上のスクリプト、問題になっているプログラム専用の単一のファイル、または複数の協調ファイル、例えば、１つ以上のモジュール、サブプログラム、またはコードの部分を記憶するファイル内に、記憶されることができる。コンピュータプログラムは、１つのコンピュータ上で、または１つの場所に位置する、または複数の場所を横断して分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように、展開されることができる。
【０１０６】
種々の図に図示されるプログラムの部分は、種々のオブジェクト、方法、または他のプロセスを使用して、説明される特徴および機能性を実装する、ユニットまたはモジュール等の個々のコンポーネントとして図示されることができるが、プログラムは、代わりに、適宜、いくつかのサブユニット、サブモジュール、第三者サービス、コンポーネント、ライブラリ、および他のコンポーネントを含むことができる。逆に、種々のコンポーネントの特徴および機能性は、適宜、単一コンポーネントに合体されることができる。計算による決定を行うために使用される閾値は、静的に、動的に、または静的および動的の両方で、決定されることができる。
【０１０７】
説明される方法、プロセス、または論理フローは、本開示に一致する機能性の１つ以上の実施例を表し、本開示を説明または図示される実装に限定することを意図していないが、説明される原理および特徴に一致する最も広い範囲を与えられることを意図している。説明される方法、プロセス、または論理フローは、入力データに対して動作し、出力データを生成することによって機能を果たすように、１つ以上のコンピュータプログラムを実行する、１つ以上のプログラマブルコンピュータによって、実施されることができる。方法、プロセス、または論理フローはまた、特殊用途論理回路、例えば、ＣＰＵ、ＦＰＧＡ、またはＡＳＩＣによって実施されることもでき、装置はまた、それとして実装されることもできる。
【０１０８】
コンピュータプログラムの実行のためのコンピュータは、汎用または専用マイクロプロセッサ、両方、または別のタイプのＣＰＵに基づくことができる。概して、ＣＰＵは、メモリから命令およびデータを受信し、かつそこに書き込むであろう。コンピュータの必須要素は、命令を実施または実行するためのＣＰＵ、および命令およびデータを記憶するための１つ以上のメモリデバイスである。概して、コンピュータはまた、データを記憶するための１つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含む、またはそれに動作可能に結合され、そこからデータを受信する、またはそこにデータを転送する、またはそれらの両方を行うであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。また、コンピュータは、別のデバイス、例えば、携帯電話、携帯情報端末（ＰＤＡ）、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム（ＧＰＳ）受信機、または携帯用メモリ記憶デバイスに組み込まれることができる。
【０１０９】
コンピュータプログラム命令およびデータを記憶するための非一過性のコンピュータ可読媒体は、一例として、半導体メモリデバイス、例えば、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、およびフラッシュメモリデバイス、磁気デバイス、例えば、テープ、カートリッジ、カセット、内部／リムーバブルディスク、光磁気ディスク、および光学メモリデバイス、例えば、デジタルビデオディスク（ＤＶＤ）、ＣＤ−ＲＯＭ、ＤＶＤ＋／−Ｒ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、ＨＤ−ＤＶＤ、およびＢＬＵＲＡＹ、および他の光学メモリ技術を含む、全ての形態の恒久／非恒久的または揮発性／不揮発性メモリ、媒体、およびメモリデバイスを含むことができる。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的情報を記憶するリポジトリ、または任意のパラメータ、変数、アルゴリズム、命令、規則、制約、または参照を含む、他の適切な情報を含む、種々のオブジェクトまたはデータを記憶することができる。加えて、メモリは、ログ、ポリシ、セキュリティまたはアクセスデータ、または報告ファイル等の他の適切なデータを含むことができる。プロセッサおよびメモリは、特殊用途論理回路によって補完される、またはそれに組み込まれることができる。
【０１１０】
ユーザとの相互作用を提供するために、本明細書に説明される主題の実装は、情報をユーザに表示するために、表示デバイス、例えば、ＣＲＴ（陰極線管）、ＬＣＤ（液晶ディスプレイ）、ＬＥＤ（発光ダイオード）、またはプラズマモニタと、それによってユーザが入力をコンピュータに提供し得る、キーボードおよびポインティングデバイス、例えば、マウス、トラックボール、またはトラックパッドとを有する、コンピュータ上で実装されることができる。入力はまた、感圧性を伴うタブレットコンピュータ表面、容量または電気感知を使用するマルチタッチスクリーン、または別のタイプのタッチスクリーン等のタッチスクリーンを使用して、コンピュータに提供されることもできる。他のタイプのデバイスも、ユーザと相互作用するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（視覚、聴覚、触覚、またはフィードバックタイプの組み合わせ等）であることができる。ユーザからの入力は、音響、発話、または触覚入力を含む、任意の形態で受信されることができる。加えて、コンピュータは、ユーザによって使用されるクライアントコンピューティングデバイスにドキュメントを送信し、かつそこからドキュメントを受信することによって（例えば、ウェブブラウザから受信される要求に応答して、ウェブページをユーザのモバイルコンピューティングデバイス上のウェブブラウザに送信することによって）、ユーザと相互作用することができる。
【０１１１】
用語「グラフィカルユーザインターフェース」または「ＧＵＩ」は、１つ以上のグラフィカルユーザインターフェースおよび特定のグラフィカルユーザインターフェースの表示のそれぞれを表すために、単数系または複数形で使用されることができる。したがって、ＧＵＩは、限定されないが、ウェブブラウザ、タッチスクリーン、または情報を処理し、情報結果をユーザに効率的に提示する、コマンドラインインターフェース（ＣＬＩ）を含む、任意のグラフィカルユーザインターフェースを表すことができる。一般に、ＧＵＩは、双方向フィールド、プルダウンリスト、およびボタン等の、いくつかまたは全てがウェブブラウザと関連付けられる、いくつかのユーザインターフェース（ＵＩ）要素を含むことができる。これらおよび他のＵＩ要素は、ウェブブラウザの機能に関連する、またはそれを表すことができる。
【０１１２】
本明細書に説明される主題の実装は、例えば、データサーバとして、バックエンドコンポーネントを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントコンポーネント、例えば、それを通してユーザが本明細書に説明される主題の実装と相互作用し得る、グラフィカルユーザインターフェースまたはウェブブラウザを有する、クライアントコンピュータ、またはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネント等の１つ以上のものの任意の組み合わせを含む、コンピューティングシステムで実装されることができる。システムのコンポーネントは、任意の形態または媒体の有線または無線デジタルデータ通信（またはデータ通信の組み合わせ）、例えば、通信ネットワークによって、相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク（ＬＡＮ）、無線アクセスネットワーク（ＲＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷＩＭＡＸ）、例えば、８０２．１１ａ／ｂ／ｇ／ｎまたは８０２．２０（または８０２．１１ｘおよび８０２．２０の組み合わせ、または本開示と一致する他のプロトコル）を使用する、無線ローカルエリアネットワーク（ＷＬＡＮ）、インターネットの全体または一部、別の通信ネットワーク、または通信ネットワークの組み合わせを含む。通信ネットワークは、例えば、ネットワークノード間で、インターネットプロトコル（ＩＰ）パケット、フレームリレーフレーム、非同期転送モード（ＡＴＭ）セル、音声、ビデオ、データ、または他の情報と通信することができる。
【０１１３】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、概して、相互から遠隔にあり、典型的には、通信ネットワークを通して相互作用する。クライアントおよびサーバの関係は、個別のコンピュータ上で起動し、相互にクライアント・サーバ関係を有するコンピュータプログラムにより、生じる。
【０１１４】
本明細書は、多くの具体的実装詳細を含有するが、これらは、任意の発明の範囲または請求され得るものの範囲への限定としてではなく、むしろ、特定の発明の特定の実装に特有であり得る特徴の説明として解釈されるべきである。別個の実装との関連で本明細書に説明される、ある特徴もまた、組み合わせて、単一の実装で実装されることができる。逆に、単一の実装との関連で説明される種々の特徴もまた、複数の実装で、別個に、または任意の副次的組み合わせで、実装されることができる。また、前述で説明された特徴は、ある組み合わせで作用するものとして説明され、さらには最初にそのようなものとして請求され得るが、請求される組み合わせからの１つ以上の特徴は、ある場合には、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。
【０１１５】
本主題の特定の実装が、説明されている。他の実装、説明される実装の改変、および順列は、当業者に明白であろうように、以下の請求項の範囲内である。動作が特定の順序で図面または請求項に描写されるが、これは、所望の望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続順序で実施されること、または全ての図示される動作が実施される（いくつかの動作は随意と見なされ得る）ことを要求するものとして理解されるべきではない。ある状況では、マルチタスキングまたは並列処理（またはマルチタスキングおよび並列処理の組み合わせ）が、有利であり、適切と見なされると実施されることができる。
【０１１６】
また、前述で説明された実装における種々のシステムモジュールおよびコンポーネントの分離または統合は、全ての実装においてそのような分離または統合を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムが、概して、単一のソフトウェア製品にともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【０１１７】
故に、前述で説明された例示的実装は、本開示を定義または制約しない。他の変更、代用、および改変もまた、本開示の精神および範囲から逸脱することなく可能である。
【０１１８】
さらに、任意の請求される実装は、少なくとも、コンピュータ実装方法、コンピュータ実装方法を実施するためのコンピュータ可読命令を記憶する、非一過性のコンピュータ可読媒体、およびコンピュータ実装方法または非一過性のコンピュータ可読媒体上に記憶された命令を実施するように構成される、ハードウェアプロセッサと相互運用可能に結合されるコンピュータメモリデバイスを備える、コンピュータシステムに適用可能と見なされる。
【図１】
2019537778.tif 000003
【図２Ａ】
2019537778.tif 000004
【図２Ｂ】
2019537778.tif 000005
【図３】
2019537778.tif 000006
【図４】
2019537778.tif 000007
【図５】
2019537778.tif 000008
【図６】
2019537778.tif 000009
【国際調査報告】
2019537778.tif 000010