特表2019-537778(P2019-537778A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ウェイカリー, マイケル ジョンの特許一覧 ▶ サマーズ, ショーン ジョーイの特許一覧

特表2019-537778ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ
<>
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000003
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000004
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000005
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000006
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000007
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000008
  • 特表2019537778-ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2019-537778(P2019-537778A)
(43)【公表日】2019年12月26日
(54)【発明の名称】ウェブページコンテンツに基づいてコンテキストアクションを提供するモバイルウェブブラウザ
(51)【国際特許分類】
   G06F 13/00 20060101AFI20191129BHJP
   G06F 16/957 20190101ALI20191129BHJP
【FI】
   G06F13/00 510A
   G06F16/957
【審査請求】有
【予備審査請求】未請求
【全頁数】32
(21)【出願番号】特願2019-517916(P2019-517916)
(86)(22)【出願日】2017年9月28日
(85)【翻訳文提出日】2019年5月16日
(86)【国際出願番号】US2017053944
(87)【国際公開番号】WO2018064294
(87)【国際公開日】20180405
(31)【優先権主張番号】62/401,137
(32)【優先日】2016年9月28日
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】519111936
【氏名又は名称】ウェイカリー, マイケル ジョン
(71)【出願人】
【識別番号】519111947
【氏名又は名称】サマーズ, ショーン ジョーイ
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】ウェイカリー, マイケル ジョン
(72)【発明者】
【氏名】サマーズ, ショーン ジョーイ
【テーマコード(参考)】
5B084
【Fターム(参考)】
5B084AA01
5B084AA11
5B084AB04
5B084AB30
5B084AB39
5B084BA01
5B084BB01
5B084DC02
5B084DC03
(57)【要約】
ユニフォームリソースロケータ(URL)が、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから受信される。少なくとも1つのコンテキストアクションが、少なくともURLと関連付けられるウェブページのコンテンツに基づいて、識別される。少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダが、識別される。少なくとも1つのサービスプロバイダは、少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して通信される。少なくとも1つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも1つのデータオブジェクトが、モバイルウェブブラウザに送信される。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、前記コンピュータ実装方法は、
サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ(URL)を受信することと、
少なくとも前記URLと関連付けられるウェブページのコンテンツに基づいて、少なくとも1つのコンテキストアクションを識別することと、
前記少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダを識別することと、
前記少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して前記少なくとも1つのサービスプロバイダと通信することと、
前記少なくとも1つのコンテキストアクションと関連付けられる情報と、前記インベントリ情報とを含む、少なくとも1つのデータオブジェクトを前記モバイルウェブブラウザに送信することと
を含む、コンピュータ実装方法。
【請求項2】
前記URLからコンテキストデータを抽出することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記抽出されたコンテキストデータに基づいて、少なくとも1つのコンテキストアクションを列挙することをさらに含み、前記少なくとも1つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す文字列または識別子を備える、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記少なくとも1つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよび前記URLに関連するアクションおよびプロバイダペアを識別することをさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
所定の閾値に基づいて、前記URLへのコンテキスト関連性の測定値を伴うアクションのみを考慮することをさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記モバイルウェブブラウザに送信される前記少なくとも1つのデータオブジェクトは、前記受信されたURLにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記モバイルウェブブラウザ内でレンダリングされる前記少なくとも1つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、前記インベントリ情報をプレビューすることをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項8】
1つ以上の命令を記憶する非一過性のコンピュータ可読媒体であって、前記1つ以上の命令は、
サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ(URL)を受信することと、
少なくとも前記URLと関連付けられるウェブページのコンテンツに基づいて、少なくとも1つのコンテキストアクションを識別することと、
前記少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダを識別することと、
前記少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して前記少なくとも1つのサービスプロバイダと通信することと、
前記少なくとも1つのコンテキストアクションと関連付けられる情報と、前記インベントリ情報とを含む、少なくとも1つのデータオブジェクトを前記モバイルウェブブラウザに送信することと
を含む動作を実施するようにコンピュータシステムによって実行可能である、非一過性のコンピュータ可読媒体。
【請求項9】
前記URLからコンテキストデータを抽出するための1つ以上の命令をさらに備える、請求項8に記載の非一過性のコンピュータ可読媒体。
【請求項10】
前記抽出されたコンテキストデータに基づいて、少なくとも1つのコンテキストアクションを列挙するための1つ以上の命令をさらに備え、前記少なくとも1つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、請求項9に記載の非一過性のコンピュータ可読媒体。
【請求項11】
前記少なくとも1つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよび前記URLに関連するアクションおよびプロバイダペアを識別するための1つ以上の命令をさらに備える、請求項10に記載の非一過性のコンピュータ可読媒体。
【請求項12】
所定の閾値に基づいて、前記URLへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための1つ以上の命令をさらに備える、請求項11に記載の非一過性のコンピュータ可読媒体。
【請求項13】
前記モバイルウェブブラウザに送信される前記少なくとも1つのデータオブジェクトは、前記受信されたURLにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、請求項11に記載の非一過性のコンピュータ可読媒体。
【請求項14】
前記モバイルウェブブラウザ内でレンダリングされる前記少なくとも1つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、前記インベントリ情報をプレビューするための1つ以上の命令をさらに備える、請求項8に記載の非一過性のコンピュータ可読媒体。
【請求項15】
コンピュータ実装システムであって、前記コンピュータ実装システムは、
1つ以上のコンピュータと、
前記1つ以上のコンピュータと相互運用可能に結合された1つ以上のコンピュータメモリデバイスであって、前記1つ以上のコンピュータメモリデバイスは、1つ以上の命令を記憶する有形の非一過性機械可読媒体を有し、前記1つ以上の命令は、前記1つ以上のコンピュータによって実行されると、
サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ(URL)を受信することと、
少なくとも前記URLと関連付けられるウェブページのコンテンツに基づいて、少なくとも1つのコンテキストアクションを識別することと、
前記少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダを識別することと、
前記少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して前記少なくとも1つのサービスプロバイダと通信することと、
前記少なくとも1つのコンテキストアクションと関連付けられる情報と、前記インベントリ情報とを含む、少なくとも1つのデータオブジェクトを前記モバイルウェブブラウザに送信することと
を含む1つ以上の動作を実施する、1つ以上のコンピュータメモリデバイスと
を備える、コンピュータ実装システム。
【請求項16】
前記URLからコンテキストデータを抽出するための1つ以上の動作を実施することをさらに含む、請求項15に記載のコンピュータ実装システム。
【請求項17】
前記抽出されたコンテキストデータに基づいて、少なくとも1つのコンテキストアクションを列挙することであって、前記少なくとも1つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、ことと、
前記少なくとも1つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよび前記URLに関連するアクションおよびプロバイダペアを識別することと
を行うための1つ以上の動作を実施することをさらに含む、請求項16に記載のコンピュータ実装システム。
【請求項18】
所定の閾値に基づいて、前記URLへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための1つ以上の動作を実施することをさらに含む、請求項17に記載のコンピュータ実装システム。
【請求項19】
前記モバイルウェブブラウザに送信される前記少なくとも1つのデータオブジェクトは、前記受信されたURLにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、請求項17に記載のコンピュータ実装システム。
【請求項20】
前記モバイルウェブブラウザ内でレンダリングされる前記少なくとも1つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、前記インベントリ情報をプレビューするための1つ以上の動作を実施することをさらに含む、請求項15に記載のコンピュータ実装システム。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本願は、2016年9月28日に出願された米国特許出願第62/401,137号に対する優先権を主張するものであり、該出願の全体の内容は、参照により本明細書中に援用される。
【背景技術】
【0002】
モバイルコンピューティングデバイス(MCD)ブラウザは、通常、ネットワーク内のコンテンツリソースの場所を規定し、ネットワーク(例えば、インターネット)を発見およびユーティリティのネットワークに変換する接続を形成する、ユニフォームリソースロケータ(URL)を通して、コンテンツを発見する。例えば、ユーザがブラウザドキュメント(例えば、ウェブページまたはコンテンツリソース)内のハイパーリンクをクリックするとき、ハイパーリンク内に含有されるURLは、ウェブ内の1つのウェブページまたはコンテンツリソースからウェブ内の別のウェブページまたはコンテンツリソースへユーザを連れて行く。典型的には、URLは、コンテンツリソースに明示的に追加される。手動で挿入されたURLは、ソフトウェア開発者によってコード化され、またはウェブページ作成ソフトウェアアプリケーションによって挿入されることができ、本質的に静的と見なされる(URLによって参照されるコンテンツは、変更が参照コンテンツに行われない限り同一のままであることを意味する)。比較すると、動的URLは、例えば、コンテンツを生成するためのスクリプトを実行するデータベースによって駆動されるコンテンツサーバ上の検索の結果として、動的に生成され得るコンテンツを参照することができる。
【0003】
ウェブコンテンツ内で定義されるURLは、主に、プラットフォーム非依存性であり、MCD上で実行されるモバイルブラウザの境界を越えて利用可能であるネイティブモバイルアプリケーションの存在の知識が欠けている。結果として、ハイパーリンクの選択後に、より良好な次のアクションユーティリティをユーザに提供し得る、ネイティブモバイルアプリケーションは、ユーザの全体的なブラウジング体験を改良するために利用されない。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、ウェブページコンテンツに基づいてコンテキストアクションを提供することを説明する。
【0005】
ある実装では、ユニフォームリソースロケータ(URL)が、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから受信される。少なくとも1つのコンテキストアクションが、少なくともURLと関連付けられるウェブページのコンテンツに基づいて、識別される。少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダが、識別される。少なくとも1つのサービスプロバイダは、少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して通信される。少なくとも1つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも1つのデータオブジェクトが、モバイルウェブブラウザに送信される。
【0006】
前述で説明された実装を含む、説明される主題の実装は、コンピュータ実装方法と、コンピュータ実装方法を実施するためのコンピュータ可読命令を記憶する非一過性のコンピュータ可読媒体と、1つ以上のコンピュータと相互運用可能に結合された1つ以上のコンピュータメモリデバイスを備えるコンピュータ実装システムであって、該1つ以上のコンピュータメモリデバイスは、命令を記憶する有形の非一過性機械可読媒体を有し、該命令は、1つ以上のコンピュータによって実行されると、コンピュータ実装方法/非一過性のコンピュータ可読媒体上に記憶されたコンピュータ可読命令を実施する、コンピュータ実装システムとを使用して、実装されることができる。
【0007】
本明細書に説明される主題は、以下のうちの1つ以上の利点を実現するように、特定の実装で実装されることができる。第1に、説明される主題は、ユーザが現在使用中であるモバイルアプリケーションから離れることなく、ユーザが第三者モバイルアプリケーションからインベントリ情報を閲覧することを可能にすることによって、モバイルアプリケーションを用いたユーザの体験を向上させることができる。第2に、説明されるアプローチは、ウェブページのコンテンツに関連するアクションを予測し、モバイルアプリケーション内でアクションをユーザに提示する(すなわち、モバイルアプリケーション内で自然にアクションをレンダリングする)ことによって、モバイルアプリケーションのウェブページのユーティリティを改良する。第3に、説明されるアプローチは、自然にモバイルアプリケーションレベルにおけるアクションのレンダリング、および第三者アプリケーションとの帰属を改良すること(例えば、商取引アクティビティを発信モバイルアプリケーションおよび/またはウェブパブリッシャに帰属させること)を可能にする。他の利点も、当業者に明白であろう。
【0008】
本明細書の主題の1つ以上の実装の詳細は、詳細な説明、特許請求の範囲、および付随する図面に記載される。本主題の他の特徴、側面、および利点が、詳細な説明、特許請求の範囲、および付随する図面から明白となるであろう。
【図面の簡単な説明】
【0009】
図1図1は、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供する、分散コンピューティングシステムの実施例を図示するブロック図である。
図2A図2Aおよび2Bは、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法の実施例を図示するフローチャートである。
図2B図2Aおよび2Bは、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法の実施例を図示するフローチャートである。
図3図3は、ある実装による、バックエンドサーバがコンテキスト関連アクションを識別するための方法の実施例を図示するフローチャートである。
図4図4は、ある実装による、バックエンドサーバがコンテキストアクションを優先順位決定するための方法の実施例を図示するフローチャートである。
図5図5は、本開示のある実装による、説明されるアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャと関連付けられる計算機能性を提供するために使用される、コンピュータ実装システムの実施例を図示するブロック図である。
図6図6は、ある実装による、モバイルコンピューティングデバイスの実施例を図示するブロック図である。
【発明を実施するための形態】
【0010】
種々の図面内の同様の参照番号および指定は、同様の要素を示す。
【0011】
以下の発明を実施するための形態は、ウェブページコンテンツに基づいてコンテキストアクションを提供し、任意の当業者が、1つ以上の特定の実装との関連で開示される主題を作製および使用することを可能にするように提示される、モバイルウェブブラウザを説明する。開示される実装の種々の修正、改変、および順列が、行われることができ、当業者に容易に明白となり、定義される一般的原理は、本開示の範囲から逸脱することなく、他の実装および用途に適用されることができる。ある事例では、説明される主題の理解を得るために不必要な詳細は、不必要な詳細で1つ以上の説明される実装を曖昧にしないように、かつそのような詳細が当業者の技能内である程度まで、省略されることができる。本開示は、説明または図示される実装に限定されることを意図していないが、説明される原理および特徴と一致する最も広い範囲を与えられることを意図している。
【0012】
モバイルコンピューティングデバイス(MCD)(例えば、スマートフォン、タブレットコンピュータ等)ブラウザは、通常、ネットワーク内のコンテンツリソースの場所を規定し、ネットワーク(例えば、インターネット)を発見およびユーティリティのネットワークに変換する接続を形成する、ユニフォームリソースロケータ(URL)を通して、コンテンツを発見する。例えば、ユーザがブラウザドキュメント(例えば、ウェブページまたはコンテンツリソース)内のハイパーリンクをクリックするとき、ハイパーリンク内に含有されるURLは、ウェブ内の1つのウェブページまたはコンテンツリソースからウェブ内の別のウェブページまたはコンテンツリソースへユーザを連れて行く。典型的には、URLは、コンテンツリソースに明示的に追加される。手動で挿入されたURLは、ソフトウェア開発者によってコード化され、またはウェブページ作成ソフトウェアアプリケーションによって挿入されることができ、本質的に静的と見なされる(URLによって参照されるコンテンツは、変更が参照コンテンツに行われない限り同一のままであることを意味する)。比較すると、動的URLは、例えば、コンテンツを生成するためのスクリプトを実行するデータベースによって駆動されるコンテンツサーバ上の検索の結果として、動的に生成され得る、コンテンツを参照することができる。
【0013】
ウェブコンテンツ内で定義されるURLは、主に、プラットフォーム非依存性であり、MCD上で実行されるモバイルブラウザの境界を越えて利用可能であるネイティブモバイルアプリケーションの存在の知識が欠けている。結果として、ハイパーリンクの選択後に、より良好な次のアクションユーティリティをユーザに提供し得る、ネイティブモバイルアプリケーションは、ユーザの全体的なブラウジング体験を改良するために利用されない。
【0014】
ネイティブモバイルブラウザレベルでレンダリングされる関連およびコンテキスト商取引アクションを用いて(例えば、ボタンまたは他のグラフィカルユーザインターフェース(GUI)要素を用いて)ウェブページ上で見出される次のアクションURLを増補するように構成される、モバイルウェブブラウザが説明される。モバイルウェブブラウザは、使用中のウェブページのURLをバックエンドサーバまたはサービスに送信する。加えて、商取引プロバイダアプリケーションプログラミングインターフェース(API)のネットワークによって提供される利用可能な商取引アクションのリアルタイムインベントリの知識および送信されたURLと関連付けられるウェブページとともに含まれる情報から推測される次のアクション意図が、推奨されるコンテキストブラウジングアクションをユーザに提供するために使用される。
【0015】
換言すると、バックエンドサーバは、ユーザのウェブページのコンテンツに基づいて、ユーザに関心がある次のアクションを予測し、予測される次のアクションを遂行し得るサービスプロバイダを識別し、サービスプロバイダAPIからインベントリ情報を収集し、レンダリングのために次のアクションおよびインベントリ情報をモバイルウェブブラウザに送信することができる。モバイルウェブブラウザは、(例えば、上記で説明されるようなボタンを使用して)次のアクションをユーザに提示し、ユーザは、モバイルウェブブラウザから特定のサービスプロバイダのネイティブアプリケーションに切り替えることなく、関連インベントリ情報を閲覧することができる。提供される次のアクションGUI要素または(例えば、食事の予約を設定するため、または購入するための)関連付けられるリアルタイムインベントリとの相互作用は、商取引プロバイダの関連ネイティブモバイルアプリケーションの中へのディープリンクアクションまたは商取引プロバイダのモバイルウェブサイトへのリンクをもたらす。いくつかの実装では、相互作用は、ユーザがモバイルブラウザ環境から離れる必要がないように、完全にモバイルブラウザのネイティブ機能性内で完了されるように構成されることができる。
【0016】
高レベルでは、説明される機能性は、以下である。
1)ユーザのモバイルブラウザは、ネイティブ独立型アプリケーションである、またはMCD内で実行されるモバイルアプリケーションA(例えば、モバイルGOOGLE CHROME、MOZILLA FIREFOX、APPLE SAFARI等)内でレンダリングされるブラウザである。ウェブページAは、モバイルブラウザ内でレンダリングされる。モバイルブラウザがユーザによって閲覧されるウェブページAをレンダリングすることと同時に(例えば、並行して)、モバイルブラウザは、関連するユーザ特有の情報(例えば、ユーザ場所、サービスプロバイダと関連付けられるユーザ識別子、MCDのタイプおよびオペレーティングシステム)とともにウェブページAのURLを伴って、要求をバックエンドサービスに送信する。モバイルブラウザは、バックエンドサービスが、コンテキスト上関連する商取引アクションのリストと、コンテキスト上関連する商取引アクションを遂行する態勢が整っているサービスプロバイダとを備える、データオブジェクトを返すことを要求する。
2)バックエンドサービスは、潜在的な次のアクションユーザケースのリストとして、URLと関連付けられる高度に関連する次のアクション商取引ユースケースを識別する。これらのユースケースは、ウェブページのコンテンツ(例えば、メタデータ、テキスト、リンク、画像等)を評価し、次のアクションコンテキストユーティリティの測定値(「アクションインデックス」)を算出することによって、識別される。ある場合には、ユースケースはまた、ユーザ特有の情報または導出された意図の強さに基づいて、識別されることもできる。特定の閾値を満たす(例えば、所定の下位閾値を上回る、またはそこにある/それを上回る)ユースケースが、考慮される。
3)潜在的な次のアクションユースケースの識別されたリストを考慮すると、バックエンドサービスは、潜在的ユースケースのうちの少なくとも1つを遂行することが公知であるサービスプロバイダのためのプロバイダAPIを使用して、リアルタイムインベントリを決定する。
4)潜在的な次のアクションユースケースのリスト、問い合わせられたリアルタイムインベントリ、および任意の付加的(随意の)情報(例えば、ユーザ場所)に基づいて、バックエンドサービスは、返す特定の次のアクションを識別する。バックエンドサービスは、モバイルブラウザからの並行要求への応答とともに含むデータオブジェクトをコンパイルする。データオブジェクトの受信に応じて、モバイルブラウザは、次のアクションをユーザに可視的であるようにレンダリングする。レンダリングされた次のアクションとの相互作用は、ユーザがインベントリをプレビューし、(例えば、ネイティブアプリケーションまたはモバイルウェブブラウザアプリケーションを使用して)所望される次のアクションを遂行する態勢が整っているサービスプロバイダにリンクし、ある事例では、モバイルブラウザのネイティブ機能性内で所望される次のアクションを完了することを可能にする。
【0017】
以前および以降の説明の付加的視点および理解を提供するための特定の実施例として、MCD上のモバイルブラウザを使用して、ウェブをブラウズするユーザを考慮されたい。ユーザは、自分に推奨されており、他者が話題にしているのを聞いたレストランを検索する。ユーザは、営業時間、場所、電話番号、およびメニュー情報を提供する、レストランの公式ホームページにナビゲートする。しかしながら、公式ホームページは、継続的発見またはユーザの次の意図されたアクション(例えば、配達のために食物を注文する、レストランへのタクシーの乗車を設定する、予約をする等)の遂行のためのいかなるURLも提供しない。
【0018】
ユーザが公式ホームページウェブページにブラウザした時間に、モバイルブラウザは、バックエンドサービスと並行して通信し、現在のウェブロケーション(すなわち、レストランの公式ホームページ)と関連付けられるコンテキスト商取引アクションのリストを要求した。バックエンドサービスは、(ユーザ関連情報を含む)入力としてURLを使用して、輸送、食物の配達、およびレストランの予約が、現在のウェブページおよびユーザと関連付けられる、潜在的に起こり得る高度にコンテキスト的な商取引の次のアクションであることを推測することができる。バックエンドサービスは、モバイルブラウザへの並行要求に応答して、次のアクションのリストを返す。応答に含まれる次のアクションは、例えば、とりわけ、インベントリの可用性(レストランが食物を配達するか?、食物配達サービスがレストランから配達するために利用可能かつ営業中であるか?、タクシーまたは第三者輸送サービスが営業しており、輸送のために利用可能な車両があるか?等)およびユーザのための導出された意図の強さを考慮することによって、策定される。意図の強さは、ウェブページから導出されるコンテキスト、ユーザ場所等のユーザ特有の情報、または時刻等のユーザ特有ではない情報、または本開示と一致する他のデータ(またはこれらまたは他のデータタイプの組み合わせ)によって、決定されることができる。
【0019】
バックエンドサービスから応答を受信することに応じて、モバイルブラウザは、目立たない様式で(例えば、レンダリングされたウェブページに統合されたボタンとして、またはユーザがアクセスまたは無視し得る特定の場所で)ユーザに可視であるコンテキスト上関連する商取引(次の)アクションをレンダリングする。ユーザに提示される商取引アクション(次のアクションオプション)は、ユーザのためのウェブページのユーティリティを増補する。例えば、(本実施例との関連で)浮上する次のアクションは、以下を含むことができる。
・輸送:ユーザが(例えば、MCD上の場所サービスまたは他の場所決定方法を使用して決定されるような)自分の現在の場所からレストランの場所までの送迎オプションをプレビューすることを可能にする、オプションおよびアクションが返される。利用可能なサービスプロバイダに加えて、ユーザは、予期される移動時間、ユーザを搬送するであろう車のタイプ、およびサービスの推定費用を提供されることができる。
・食物配達:ユーザがレストランからの食物配達オプションをプレビューすることを可能にする、オプションおよびアクションが返される。利用可能なサービスプロバイダに加えて、ユーザは、予期される配達時間および注文に利用可能であるメニューアイテムを提供されることができる。
・予約:ユーザがレストランを予約することを可能にする、オプションおよびアクションが返される。サービスプロバイダに加えて、ユーザは、レストランでの利用可能な予約時間および団体サイズを提供される。
【0020】
本実施例では、ユーザは、その晩にレストランで食事をすることに関心がある。予約オプションを追求した後、ユーザは、自分の必要性に適合する時間および団体サイズを選択する。ユーザは、ユーザの地理的地域のための予約機能性を提供して予約アクションを完了し得る、サービスプロバイダのネイティブアプリケーション(例えば、OPENTABLE、WEBERVATIONS、PLANYO等)の中へディープリンクされる。
【0021】
図1は、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供する、分散コンピューティングシステム(EDCS)100の実施例を図示するブロック図である。例示的EDCS100は、モバイルウェブブラウザ110を伴うMCD102(例えば、上記に説明されるMCD)を含む。MCD102は、ネットワーク104を通して(例えば、上記で説明されるような「バックエンドサービス」を提供する)バックエンドサーバ106に接続することができる。ネットワーク104およびバックエンドサーバ106はさらに、1つ以上のサービスプロバイダと関連付けられる、1つ以上のサービスプロバイダサーバ108に接続することができる。いくつかの実装では、モバイルウェブブラウザ110は、MCD102上のネイティブ独立型アプリケーション、例えば、GOOGLE CHROME、MOZILLA FIREFOX、またはAPPLE SAFARIウェブブラウザに類似する、MCD102上にインストールされた独立型ウェブブラウザであることができる。いくつかの実装では、モバイルウェブブラウザ110は、モバイルアプリケーション内にレンダリングされるウェブブラウザであることができる。ユーザがモバイルアプリケーションを使用するとき、モバイルアプリケーションのウェブページが、モバイルウェブブラウザ110上にレンダリングされるであろう。
【0022】
モバイルウェブブラウザ110は、ユーザが現在アクセスしているウェブページのURLをバックエンドサーバ106に送信することができる。例えば、モバイルウェブブラウザ110がMCD102上の独立型アプリケーションである場合、ユーザがモバイルウェブブラウザ110を使用してウェブ上でナビゲートするとき、モバイルウェブブラウザ110は、URLにアクセスし、バックエンドサーバ106に送信することができる。モバイルウェブブラウザ110がモバイルアプリケーション内でレンダリングされる場合、ユーザがモバイルアプリケーションを使用し、モバイルウェブブラウザ110がモバイルアプリケーションのウェブページをレンダリングするとき、モバイルウェブブラウザ110は、ウェブページのURLをバックエンドサーバ106に送信することができる。いくつかの実装では、モバイルウェブブラウザ110は、ウェブページと関連付けられるアクションのリストを要求する、要求をバックエンドサーバ106に送信し、要求の中にウェブページのURLを含むことができる。
【0023】
いくつかの実装では、モバイルウェブブラウザ110はまた、URLとともにユーザ特有の情報をバックエンドサーバ106に送信することもできる。例えば、ユーザ特有の情報は、ユーザ場所情報、サービスプロバイダと関連付けられるユーザ識別子またはアカウント情報(すなわち、ユーザのUBERアカウント情報等の第三者ユーザ識別子またはアカウント情報)、MCD102のデバイスタイプおよびオペレーティングシステム、および本開示と一致する他のデータを含むことができる。モバイルウェブブラウザ110は、ユーザ場所をバックエンドサーバ106に送信し(ユーザが、例えば、MCD/オペレーティングシステムからユーザ場所へのモバイルブラウザ/アプリケーションアクセスを可能にすることによって、場所共有をオプトインするように要求され得ることに留意されたい)、場所ベースのインベントリの読出および表示を可能にすることができる。ユーザは、ロイヤルティ(例えば、ポイントまたはキャッシュバック)提供および機能性を促進するために、モバイルウェブブラウザ110がユーザの第三者識別子またはアカウント情報をバックエンドサーバ106と共有することを可能にし得る。ユーザはまた、バックエンドサービスがMCDのデバイスタイプおよびオペレーティングシステムに合致する適切なサービスプロバイダのアプリケーションを見出し得るように、モバイルウェブブラウザ110がMCD102のデバイスタイプおよびオペレーティングシステムをバックエンドサーバ106と共有することを可能にし得る。ユーザ特有の情報は、標準HTTP POST要求データとして要求(コンテキストアクションのリストを要求するモバイルウェブブラウザ110によって送信される要求)に添付されることができる。モバイルウェブブラウザ110は、ユーザがURLまたはユーザ特有の情報をバックエンドサービスと共有することを所望するかどうかというユーザオプションを提供してもよい。ユーザが場所共有および第三者識別子/アカウント共有をオプトアウトすることを選定する場合、低減されたロイヤルティ提供および他の機能性等の低減された機能性が提供されることができる。ユーザがURL共有およびデバイス/オペレーティングシステム共有をオプトアウトすることを選定する場合、コンテキストアクションを提供するモバイルウェブブラウザ110の機能性はまた、完全に無効にされることもできる。いくつかの実装では、URLおよびバックエンドサービスと共有されている他の情報は、短い期間(例えば、静的に事前定義された、または動的に生成された期間)後に自動的に消去されることができる、またはユーザの要求に応じて即時に削除されることができる。
【0024】
いくつかの実装では、モバイルウェブブラウザ110は、バックエンドサーバ106が、URLのウェブページのコンテンツにコンテキスト上関連するアクションのリストと、これらのアクションを遂行する態勢が整っているサービスプロバイダのリストとを含む、1つ以上のデータオブジェクトを返すことを要求することができる。
【0025】
URL(およびユーザ特有の情報)を受信することに応じて、バックエンドサーバ106は、URLと関連付けられる、関連する次のアクションユースケース(すなわち、ユーザが次に実施し得る、URLに関連するアクション)を識別することができる。いくつかの実装では、バックエンドサーバ106は、URLのウェブページのコンテンツ(例えば、ウェブページのメタデータ、テキスト、リンク、ウェブページ内の画像等)を評価し、ユースケース毎にコンテキストユーティリティの測定値を算出することによって、関連する次のアクションユースケースを識別することができる。コンテキストユーティリティの測定値は、ユースケースとURLのコンテキストとの間の関連性を示すことができる。いくつかの実装では、バックエンドサーバ106は、所定の閾値を上回るコンテキストユーティリティの測定値を有するユースケースのみを考慮してもよい。識別された次のアクションユースケースを考慮すると、バックエンドサーバ106は、識別された次のアクションユースケースを遂行し、リアルタイムインベントリ等のインベントリ情報に関してサービスプロバイダにクエリを行い得る、サービスプロバイダを識別することができる。いくつかの実装では、バックエンドサーバ106は、インベントリ可用性に基づいてサービスを提供することができる、サービスプロバイダのみを考慮してもよい。いくつかの実装では、バックエンドサーバ106は、インベントリ情報および可用性確認データに関して、サービスプロバイダのAPIを通してサービスプロバイダサーバ108にクエリを行うことができる。例えば、バックエンドサーバ106は、ウェブページから推測されるコンテキストデータおよびAPIサービスの知識に基づいて、適切なAPIクエリを構築することができる。ある場合には、ユーザの現在の場所情報が提供されない場合、バックエンドサーバ116は、宛先についてのインベントリ情報にクエリを行ってもよい。
【0026】
識別された次のアクションユースケース、問い合わせられたインベントリ、および他の情報(例えば、ユーザ場所情報等のユーザ特有の情報、ユーザの第三者識別子またはアカウント情報、デバイスタイプ、およびオペレーティングシステム)に基づいて、バックエンドサーバ106は、次のアクションのリストをコンパイルし、モバイルウェブブラウザ110に返すことができる。例えば、バックエンドサーバ106は、決定されたインベントリ可用性に基づいて少なくとも1つのサービスプロバイダによって遂行され得る、次のアクションのみを含んでもよい。バックエンドサーバ106は、データオブジェクトの中のアクションをコンパイルし、モバイルウェブブラウザ110に返すことができる。いくつかの実装では、データオブジェクトはまた、サービスおよび関連付けられるインベントリ情報を提供し得る、サービスプロバイダを含むこともできる。なおも他の実装では、コンパイルされたデータは、モバイルブラウザ110によってアセンブルされる複数のデータオブジェクトの中でモバイルブラウザ110に返されることができる。
【0027】
いくつかの実装では、バックエンドサーバ106は、次のアクションの優先順位リストをモバイルウェブブラウザ110に返すことができる。例えば、識別されている次のアクションユースケース毎に、バックエンドサーバ106は、ユースケースを遂行できることが決定されるサービスプロバイダを通して反復することができる。バックエンドサーバ106は、サービスプロバイダのAPIと通信してリアルタイムインベントリを取得し、利用可能なインベントリの理解に基づいて、サービスプロバイダが特定のユースケースを遂行し得るかどうかを決定することができる。インベントリに基づくアクションランキングは、ウェブページから推測されているコンテンツおよび意図に主に関連する、データパラメータに基づくことができる。例えば、ウェブページがNew York City(NYC)のレストランAで食事することに関連する場合、バックエンドサーバ106は、1)NYCで夕食の予約をすることと、2)レストランAでの夕食の予約をすることとの2つの潜在的な次のアクションユースケースがあることを決定してもよい。サービスプロバイダのAPIへのクエリを使用して、サービスプロバイダを通して反復することによって、バックエンドサーバ106は、ユースケースのうちの少なくとも1つを遂行し得る2つのプロバイダ、すなわち、1)プロバイダAがNYCで利用可能な予約/レストランを有することと、2)プロバイダBがNYCでレストランAにおいて予約/レストランを有することとを識別してもよい。本情報に基づいて、正確なレストランに関してプロバイダBによって返されるアクション/インベントリは、現在のウェブページから推測されるコンテキストへのより良好な合致に起因して、プロバイダAを上回ってランク付けされるであろう。換言すると、バックエンドサーバ106は、アクション「プロバイダAで予約する」よりもアクション「プロバイダBで予約する」を優先させるであろう。ここで、異なるシナリオを考慮されたい。プロバイダBが、数ヶ月にわたってレストランAで利用可能な予約を有しておらず、また、NYCで利用可能なレストランの限定された供給を有する場合、プロバイダAと関連付けられるアクション/インベントリは、プロバイダBよりも高くランク付けされてもよい。
【0028】
ある場合には、バックエンドサーバ106は、ユーザ特有の情報に基づいて、次のアクションを優先順位決定することができる。例えば、レストランがユーザの現在の場所から遠く離れている場合、食物配達およびタクシー乗車のアクションは、予約をするアクションよりも低くランク付けされてもよい。モバイルウェブブラウザ110がユーザの第三者識別子またはアカウント情報を提供する場合、バックエンドサーバ106は、キャッシュバック/報酬を提供しないものよりも報酬/ロイヤルティプログラムの一部であるサービスプロバイダおよびインベントリを優先することができる。ある場合には、バックエンドサーバ106は、即時値引および割引を提供する、サービスプロバイダを優先してもよい。
【0029】
データオブジェクトの受信に応じて、モバイルウェブブラウザ110は、例えば、ユーザが現在見ているウェブページ内で、アクションをレンダリングすることができる。例えば、モバイルウェブブラウザ110は、アクション毎にGUI要素(アイコン、ボタン、または他のGUI要素)を表示することができる。いくつかの実装では、レンダリングされたアクションとのユーザの相互作用は、ユーザが、インベントリ情報またはアクションを遂行し得るサービスプロバイダへのリンクをプレビューすることを可能にする。例えば、ユーザは、アクションと関連付けられるアイコンをタップまたはクリックすることができ、ウィンドウが、ポップアップし、利用可能なインベントリまたはサービスプロバイダへのリンクを表示することができる。ポップアップウィンドウ内で、ユーザは、インベントリアイテム、またはユーザをサービスプロバイダのアプリケーションへ運び得るサービスプロバイダへのリンクをタップまたはクリックし、ユーザは、サービスプロバイダのアプリケーション内でアクションを遂行することができる。いくつかの実装では、ユーザは、サービスプロバイダのアプリケーションに切り替えることなく、モバイルウェブブラウザ110のネイティブ機能性内でアクションを遂行することができる。
【0030】
上記で提供される具体的実施例と一致して、ユーザがレストランウェブページを見ているとき、モバイルウェブブラウザ110は、レストランURLをバックエンドサーバ106に送信し、レストランウェブページと関連付けられるコンテキストアクションのリストを要求することができる。バックエンドサーバ106は、URLに基づいて、レストランウェブページに高度に関連する、コンテキストの次のアクションが、レストランで予約すること、レストランへの乗車を要求すること、およびレストランからの食物配達を含み得ることを識別してもよい。バックエンドサーバ106は、これらのアクションのためのサービスプロバイダを識別し、インベントリ情報を収集することができる。例えば、バックエンドサーバ106は、輸送サービスプロバイダサーバ108(例えば、UBER、LYFT等)と通信し、現在利用可能である車の数、各利用可能な車のタイプ、推定迎車時間、推定移動時間、および費用等のユーザの現在の場所からレストランまでの輸送のためのオプションを取得することができる。バックエンドサーバ106はまた、予約サービスプロバイダサーバ108(例えば、OPENTABLE、WEBERVATIONS、PLANYO等)と通信し、レストランでの利用可能な予約時間および団体サイズ等の予約のためのオプションを取得することもできる。
【0031】
バックエンドサーバ106は、識別された次のアクションおよび関連付けられるインベントリ情報をMCD102に送信することができる。受信に応じて、モバイルウェブブラウザ110は、レストランウェブページ内で次のアクションのアイコンを提示することができ、例えば、モバイルウェブブラウザ110は、「Uberで乗車する」を示す1つのアイコン、および「OpenTableで予約する」を示す別のアイコンを表示することができる。いくつかの実装では、モバイルウェブブラウザ110が次のアクションのアイコンを提示する方法は、自然に見え、ユーザのブラウジング体験を侵害しないように設計される。例えば、ユーザがアイコン「OpenTableで予約する」をクリックまたはタップする場合、ウィンドウは、ポップアップし、レストランでの利用可能な予約時間および団体サイズを示す複数のエントリ、例えば、「午後6時30分、人数4人」という1つのエントリおよび「午後7時、人数2人」という別のエントリを示すことができる。ユーザは、予約時間および団体サイズを選定し、ユーザが予約を完了するために、ユーザをMCD102上のOPENTABLEのネイティブアプリケーションに切り替える、対応するエントリをクリックまたはタップすることができる。いくつかの実装では、サービスプロバイダのネイティブアプリケーションに切り替わるとき、モバイルウェブブラウザ110は、あるコンテキスト情報をサービスプロバイダのネイティブアプリケーションに送信することができる。例えば、ユーザがインベントリエントリ「午後7時、人数2人」を選択した場合、モバイルウェブブラウザ110は、コンテキスト情報が、OPENTABLEにおいて具体的予約を行うためにユーザによって使用するためのネイティブアプリケーションに投入され得るように、本情報をOPENTABLEのネイティブアプリケーションに送信することができる。いくつかの実装では、モバイルウェブブラウザ110は、サービスプロバイダのネイティブアプリケーションに切り替わることなく、モバイルウェブブラウザ110のネイティブ機能性内で予約を完了することができる。
【0032】
モバイルウェブブラウザ110は、種々の方法で次のアクションをユーザに提示することができる。第1の実施例では、アイコンは、常に、ブラウザツールバー内で可視であり得、アクションが利用可能であるときに色を変化させる。アイコンをタップすることは、次いで、次のアクションを提示する。第2の実施例では、ブラウザツールバーは、アクションが利用可能であるときに、色を変化させることができる。ツールバーをタップすることは、識別された次のアクションを表示する。第3の実施例では、ボタンが、ブラウザフッタツールバーの直上またはブラウザヘッダツールバーの直下の小さい空間内でレンダリングされるが、スクロール中に消滅する。当業者によって理解されるであろうように、本開示と一致する他のGUI提示オプションも可能である。これらの他の提示オプションもまた、本開示の範囲内と見なされる。
【0033】
いくつかの実装では、アクションは、アクションの完了に関連する割引または値引の有無別にユーザに提示されることができる。値引および/または割引は、トランザクション時にサービスプロバイダにおいて適用されることができる、またはユーザが関連付けられるロイヤルティサービス(第一者または第三者のいずれか)に、そのロイヤルティサービスに特有である、採用される通貨の形態で適用されることができる。例えば、第1の購入のX%割引が、アクションボタン(すなわち、アクションのGUI要素)において提供されることができ、購入時にプロバイダアプリケーションにおいて自動的に割り引かれ、Y%キャッシュバックが、アクションボタンにおいて提供されることができ、ブラウザロイヤルティ提供内でユーザに授与され、Z%キャッシュバックが、アクションボタンにおいて提供されることができ、ユーザが属する第三者キャッシュバックロイヤルティサービスと連携して授与される、またはいくつかのボーナスマイルが、アクションボタンにおいて提供されることができ、ユーザが属する航空会社ロイヤルティサービスを使用して、ユーザに授与される。
【0034】
図2A−2Bおよび3−4は、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法の実施例を図示するフローチャートである。提示を明確にするために、本説明は、概して、本開示と関連付けられる全ての他の図のうちのいくつかとの関連で、関連付けられる方法を説明する。しかしながら、図2A−2Bおよび3−4に図示される方法(それぞれ、200および300−400)は、例えば、適宜、任意の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって、実施され得ることを理解されたい。ある実装では、図2A−2Bおよび3−4に図示される方法の種々のステップは、並行して、組み合わせて、ループで、または任意の順序で、起動されることができる。
【0035】
図2Aおよび2Bは、ある実装による、ウェブページコンテンツに基づいてコンテキストアクションを提供するための方法200の実施例を図示するフローチャートである。
【0036】
方法200は、202から始まる。202から、方法200は、204に進む。
【0037】
204では、ユーザは、モバイルウェブブラウザ内でURLにナビゲートする。204から、方法200は、206に進む。
【0038】
206では、モバイルウェブブラウザは、コンテキスト分析、および現在のURLのコンテキストに関連する次のアクションおよびサービスプロバイダの決定のために、現在のURLをバックエンドサーバに送信する。206から、方法200は、208に進む。
【0039】
208では(図3でさらに詳細に議論されるであろうように)、バックエンドサーバは、現在のURLコンテキストを分析し、URLに基づいて次のアクションおよびサービスプロバイダを識別する。バックエンドサーバは、アクションおよびサービスプロバイダを優先順位決定することができる。例えば、バックエンドサーバは、所定の閾値を上回る現在のURLへのコンテキスト関連性の測定値を有するアクション、およびインベントリの可用性に基づいてサービスを提供することができるサービスプロバイダのみを考慮することができる。バックエンドサーバは、リストの中に優先順位決定されたアクションおよびサービスプロバイダを含むことができる。208から、方法200は、210に進む。
【0040】
210では、モバイルウェブブラウザは、バックエンドサーバからコンテキストアクションおよびサービスプロバイダの優先順位リストを受信し、リストをユーザに提示する。例えば、モバイルウェブブラウザは、サービスプロバイダと関連付けられるアクションを表す、アイコンまたは他のグラフィカルユーザインターフェース要素を表示することができる。210から、方法200は、212に進む。
【0041】
212では、ユーザは、モバイルウェブブラウザによって提示されているコンテキストアクションを実施する意図を表現する。ユーザ表現は、モバイルウェブブラウザによって自然に提示されるようなアクションアイコンのタップ、スワイプ、またはクリックであることができる。ユーザ表現に応答して、モバイルウェブブラウザは、リアルタイムインベントリ等の選択されたサービスプロバイダのインベントリ情報をユーザに提示することができる。いくつかの実装では、ユーザは、インベントリの中の1つ以上のアイテムを選択することができる。212から、方法200は、図2Bの214に進む。
【0042】
ここで図2Bを参照すると、214では、モバイルウェブブラウザは、ユーザが選択したアクション(例えば、購入または予約)がネイティブモバイルウェブブラウザ環境内で完了され得るかどうかを決定する。いくつかの実装では、バックエンドサーバは、アクションがネイティブモバイルウェブブラウザ内で完了され得るかどうかを決定し、インジケーションをモバイルウェブブラウザに送信することができる。例えば、バックエンドサーバがアクションのリストをモバイルウェブブラウザに返すとき、バックエンドサーバは、各アクションがネイティブモバイルウェブブラウザ内で完了され得るかどうかを示すことができる。バックエンドサーバは、プロバイダAPIから返される情報、バックエンドデータベースの中に記憶されるプロバイダに関連するデータ、ユーザデバイスおよびオペレーティングシステム情報、および潜在的に付加的なユーザ情報に基づいて、決定を行ってもよい。例えば、IOSデバイス上のユーザは、テニスラケットを表示しているページにナビゲートし、ユーザに提示されるアクションは、「jet.comからラケットを購入する」である。バックエンドサーバは、JET.COMと関連付けられるプロバイダ情報およびユーザデバイスおよびオペレーティングシステムの知識を使用し、JET.COMでの購入がAPPLE PAYを使用してモバイルウェブブラウザ内で可能であることを識別することができる。ユーザがバックエンドサーバからのインジケーションに基づいてアクション「jet.comからラケットを購入する」のためのアイコンをタップするとき、モバイルウェブブラウザは、ボタン「Apple Payで支払う」を伴うポップアップカードまたはウィンドウを自動的に表示することができる。ユーザは、ボタン「Apple Payで支払う」をタップして、支払いを有効にし、トランザクションを完了することができる。いくつかの実装では、バックエンドサーバがインジケーションをブラウザに送信する代わりに、ユーザがアクション「jet.comからラケットを購入する」のためのアイコンをタップするとき、ブラウザは、バックエンドサーバと通信することができ、バックエンドサーバは、ボタン「Apple Payで支払う」を伴うポップアップカードを表示するようにモバイルウェブブラウザに命令することができる。
【0043】
アクションがネイティブモバイルウェブブラウザ内で完了され得ることが決定される場合、方法200は、222に進む。別様に、アクションの完了がサービスプロバイダのネイティブアプリケーションへのナビゲーションを要求することが決定される場合、方法200は、216に進む。
【0044】
216では、サービスプロバイダのネイティブアプリケーションがMCD上にインストールされているかどうかの決定が行われる。サービスプロバイダのネイティブアプリケーションがMCD上にインストールされていないことが決定される場合、方法200は、220に進む。サービスプロバイダのネイティブアプリケーションがMCD上にインストールされていることが決定される場合、方法200は、218に進む。
【0045】
220では、MCDは、コンテキストアクションを完了するための必須条件として、サービスプロバイダのネイティブアプリケーションをインストールするように命令される。これは、いくつかの実装では、手動ユーザプロンプトおよびアクション、完全自動プロセス、または2つの組み合わせによって達成され得ることに留意されたい。220から、方法200は、218に進む。
【0046】
218では、モバイルウェブブラウザは、ユーザをサービスプロバイダのネイティブアプリケーションに切り替える。いくつかの実装では、モバイルウェブを切り替えるステップは、モバイルウェブブラウザが関連コンテキスト情報をサービスプロバイダのネイティブアプリケーションに送信するステップを含む。例えば、モバイルウェブブラウザは、サービスプロバイダのネイティブアプリケーションが、ユーザによる使用のために(例えば、ユーザが選択したインベントリアイテムを予約または購入するために)サービスプロバイダのネイティブアプリケーションインターフェースに適切なデータを事前投入し得るように、ユーザが選択したインベントリアイテムをサービスプロバイダのネイティブアプリケーションに送信することができる。218の後に、方法200は、222に進む。
【0047】
222では、ユーザは、(モバイルウェブブラウザ内で自然に、またはサービスプロバイダのネイティブアプリケーション内のいずれかで)コンテキストアクションを実施する。222の後に、方法200は、224に進む。224では、方法200は、停止する。
【0048】
図3は、ある実装による、バックエンドサーバがコンテキスト関連アクションを識別するための方法300の実施例を図示するフローチャートである。図3は、208における図2Aから302において参入される。
【0049】
302では、バックエンドサーバは、モバイルウェブブラウザから要求を受信し、要求は、URL(および他のユーザ関連情報)を含む。302から、方法300は、304に進む。
【0050】
304では、バックエンドサーバは、例えば、URL解析、URLコンテンツ評価、または他の方法を使用して、URLからコンテキストデータを抽出する。採用される方法は、1)自然言語処理(非構造化テキスト(URLコンテンツから抽出される)を構造化アクション/意図コンテキストにマップする数学関数に基づく、アクション意図推論)、2)自然エンティティ認識および曖昧性解消(非構造化テキスト(URLコンテンツから抽出される)および解析されたURLハイパーリンク(URLコンテンツから抽出される)をマップする数学関数に基づく、エンティティ識別(場所、製品、会場、アーティスト、映画))、3)エンティティ調和(1つのサービスにおいて識別されるエンティティを全ての他のサービスにおける同一のエンティティにマップする(例えば、それらが同一のレストランを表す場合、FOURSQUAREレストラン識別子をOPENTABLEレストラン識別子に合致させる)数学関数に基づく、サービス間エンティティ識別)、および4)複数のページ「ジャンプ」にわたるマルチ−ページURLトラバース(リンクされたウェブURL(URLコンテンツから抽出される)への1および2および3の適用)を含むことができるが、それに限定されない。バックエンドサーバは、抽出されたコンテキストデータを使用し、関連アクションおよびサービスプロバイダを識別することができる。例えば、抽出された(構造化)コンテキストデータに基づいて、数学関数は、コンテキストを、アクションおよび(APIを使用して)インベントリに関してクエリを行う、関連付けられる(潜在的)プロバイダのリストにマップするために、使用されることができる。304から、方法300は、306に進む。
【0051】
306では、バックエンドサーバは、全てのコンテキストアクションを列挙する。例えば、コンピュータプログラムまたはコードは、コンテキストアクションのリストを通してループすることができ、コンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの内部(またはバックエンド)定義または記憶を指し示す、文字列または識別子を備える。306から、方法300は、308に進む。
【0052】
308(図4でさらに詳細に議論される)では、列挙されたコンテキストアクション毎に、バックエンドサーバは、そのアクションのための全ての潜在的サービスプロバイダにわたって反復し、ユーザおよびURLに関連するアクションおよびプロバイダペアを識別する。例えば、アクションが「レストランAでテーブルを予約する」である場合、バックエンドサーバは、テーブル予約を提供するためのバックエンドサービスに公知である全てのプロバイダにわたって反復することができる(例えば、バックエンドサーバは、バックエンドサービスが認識しているサービスプロバイダを含む、データベースを有することができる)。潜在的プロバイダ毎に、バックエンドサーバは、最初に、バックエンドサービスが把握している情報(例えば、バックエンドデータベースからの情報)が本プロバイダを考慮から排除し得る(例えば、プロバイダがユーザのいる国内のレストランにサービス提供しない)かどうかをチェックする。バックエンドサーバは、次いで、抽出されたコンテキストデータが本プロバイダを考慮から排除し得る(例えば、本レストランのためのプロバイダ会場識別子が抽出されたコンテキストの一部ではない)ことを決定することができる。プロバイダが最後の2つのステップから排除されない場合、バックエンドサーバは、インベントリに関してプロバイダAPIにクエリを行い、APIからのインベントリが利用可能である場合に、一対のアクションおよびプロバイダを返すことができる。308から、方法300は、310に進む。
【0053】
310では、バックエンドサーバは、アクションおよびプロバイダの優先順位リストをモバイルウェブブラウザに返す。310から、方法300は、図2Aの208に戻る。
【0054】
図4は、ある実装による、バックエンドサーバがコンテキストアクションを優先順位決定するための方法400の実施例を図示するフローチャートである。図4は、図3の308から402において参入される。
【0055】
402では、バックエンドサーバは、調査される必要がある、さらなるアクションがあるかどうかを決定する。全てのアクションが調査されている場合、方法400は、412に進む。調査される必要がある、さらなるアクションがある場合、方法400は、404に進む。
【0056】
404では、バックエンドサーバは、モバイルウェブブラウザ内で自然に、またはサービスプロバイダのネイティブアプリケーション内のいずれかで、現在のアクション(すなわち、現在調査されているアクション)を完了することが可能である全てのサービスプロバイダを列挙する。404から、方法400は、406に進む。
【0057】
406では、バックエンドサーバは、現在のアクションのために残存している、さらなるプロバイダがあるかどうかを決定する。現在のアクションと関連付けられる全てのプロバイダが調査されている(すなわち、これ以上のプロバイダがない)ことが決定される場合、方法400は、402に戻り、次のアクションを調査する。現在のアクションのために残存している、さらなるプロバイダがあることが決定される場合、方法400は、408に進み、次のプロバイダを調査する。
【0058】
408では、バックエンドサーバは、例えば、インベントリ可用性に基づいて、次のプロバイダが現在のアクションを完了し得るかどうかを決定する。ある場合には、リアルタイムインベントリが利用可能ではない場合、バックエンドサーバは、決定のためにバックエンドデータベースに記憶されたデータ(例えば、プロバイダが前もって果たしたアクションのリスト)を使用してもよい。プロバイダがアクションを完了することができないことが決定される場合、方法400は、406に戻り、次のプロバイダを調査する。次のプロバイダがアクションを完了し得ることが決定される場合、方法400は、410に進む。
【0059】
410では、バックエンドサーバは、アクションおよびアクションを完了し得るプロバイダを、ユーザに返されるであろうアクションおよびプロバイダのリストに追加する。いくつかの実装では、アクションおよびプロバイダのリストは、新しいアクションおよびプロバイダペアが追加される度に、再優先順位決定されることができる。優先順位決定は、限定されないが、インベントリ可用性、およびアクションとプロバイダとの間の関連性を示す関連性スコアに基づくことができる。いくつかの実装では、優先順位リストにおいて、より多くのインベントリを有するプロバイダは、より少ないインベントリを有するプロバイダに先立って記載されることができる。410から、方法400は、412に進む。代替的フローでは、410の後に、412に進む代わりに、方法400は、406に戻ることができる(参照「A」を参照)。
【0060】
412では、バックエンドサーバは、アクションおよびプロバイダの優先順位リストをモバイルウェブブラウザに返す。412から、方法400は、308における図3に戻る。
【0061】
図5は、本開示のある実装による、説明されるアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャと関連付けられる計算機能性を提供するために使用される、コンピュータ実装システム500の実施例を図示するブロック図である。図示される実装では、システム500は、コンピュータ502と、ネットワーク530とを含む。
【0062】
図示されるコンピュータ502は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、無線データポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピューティングデバイス、これらのデバイス内の1つ以上のプロセッサ、別のコンピューティングデバイス、またはコンピューティングデバイスの物理または仮想インスタンス、またはコンピューティングデバイスの物理または仮想インスタンスの組み合わせを含む、コンピューティングデバイスの組み合わせ等の任意のコンピューティングデバイスを包含することを意図している。加えて、コンピュータ502は、キーパッド、キーボード、タッチスクリーン、別の入力デバイス、またはユーザ情報を受け入れ得る入力デバイスの組み合わせ等の入力デバイスと、デジタルデータ、視覚、オーディオ、別のタイプの情報、または情報のタイプの組み合わせを含む、コンピュータ502の動作と関連付けられる情報を、グラフィカルタイプユーザインターフェース(UI)(またはGUI)または他のUI上で伝える、出力デバイスとを含むことができる。
【0063】
コンピュータ502は、クライアント、ネットワークコンポーネント、サーバ、データベース、または別の持続性、別の役割、または本開示に説明される主題を実施するための役割の組み合わせとして、分散コンピューティングシステム内の役割を果たすことができる。図示されるコンピュータ502は、ネットワーク530と通信可能に結合される。いくつかの実装では、コンピュータ502の1つ以上のコンポーネントは、クラウドコンピューティングベース、ローカル、グローバル、別の環境、または環境の組み合わせを含む、環境内で動作するように構成されることができる。
【0064】
高レベルでは、コンピュータ502は、説明される主題と関連付けられるデータおよび情報を受信、伝送、処理、記憶、または管理するために動作可能な電子コンピューティングデバイスである。いくつかの実装によると、コンピュータ502はまた、アプリケーションサーバ、Eメールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組み合わせを含む、サーバを含む、またはそれと通信可能に結合されることもできる。
【0065】
コンピュータ502は、(例えば、別のコンピュータ502上で実行されるクライアントソフトウェアアプリケーションから)ネットワーク530を経由して要求を受信し、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組み合わせを使用して、受信された要求を処理することによって、受信された要求に応答することができる。加えて、要求はまた、内部ユーザ(例えば、コマンドコンソールから、または別の内部アクセス方法によって)、外部または第三者、または他のエンティティ、個人、システム、またはコンピュータから、コンピュータ502に送信されることもできる。
【0066】
コンピュータ502のコンポーネントはそれぞれ、システムバス503を使用して、通信することができる。いくつかの実装では、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを含む、コンピュータ502のコンポーネントのうちのいずれかまたは全ては、アプリケーションプログラミングインターフェース(API)512、サービス層513、またはAPI512およびサービス層513の組み合わせを使用して、システムバス503を経由してインターフェースをとることができる。API512は、ルーチン、データ構造、およびオブジェクトクラスのための仕様を含むことができる。API512は、コンピュータ言語非依存性または依存性のいずれかであり、完全インターフェース、単一機能、またはAPIのセットさえも指すことができる。サービス層513は、ソフトウェアサービスをコンピュータ502またはコンピュータ502に通信可能に結合される他のコンポーネント(図示されるかどうかにかかわらず)に提供する。コンピュータ502の機能性は、本サービス層を使用する全てのサービス消費者のためにアクセス可能であり得る。サービス層513によって提供されるもの等のソフトウェアサービスは、定義されたインターフェースを通して、再利用可能な定義された機能性を提供する。例えば、インターフェースは、JAVA(登録商標)、C++、別のコンピューティング言語、または拡張マークアップ言語(XML)フォーマット、別のフォーマット、またはフォーマットの組み合わせでデータを提供するコンピューティング言語の組み合わせで書かれた、ソフトウェアであることができる。コンピュータ502の統合コンポーネントとして図示されているが、代替的実装は、コンピュータ502の他のコンポーネントに関連する独立型コンポーネント、またはコンピュータ502に通信可能に結合される他のコンポーネント(図示されるかどうかにかかわらず)として、API512またはサービス層513を図示することができる。また、API512またはサービス層513のいずれかまたは全ての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、企業アプリケーション、またはハードウェアモジュールの子またはサブモジュールとして、実装されることができる。
【0067】
コンピュータ502は、インターフェース504を含む。図5に単一のインターフェース504として図示されているが、2つ以上のインターフェース504が、特定の必要性、所望、またはコンピュータ502の特定の実装に従って、使用されることができる。インターフェース504は、分散環境内のネットワーク530に通信可能にリンクされる別のコンピューティングシステム(図示されるかどうかにかかわらず)と通信するために、コンピュータ502によって使用される。概して、インターフェース504は、ネットワーク530と通信するように動作可能であり、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組み合わせでエンコードされる論理を含む。より具体的には、インターフェース504は、ネットワーク530またはインターフェースのハードウェアが、図示されるコンピュータ502内およびその外側で物理的信号を通信するように動作可能であるように、通信と関連付けられる1つ以上の通信プロトコルをサポートするソフトウェアを含むことができる。
【0068】
コンピュータ502は、プロセッサ505を含む。図5に単一のプロセッサ505として図示されているが、2つ以上のプロセッサが、特定の必要性、所望、またはコンピュータ502の特定の実装に従って、使用されることができる。概して、プロセッサ505は、命令を実行し、データを操作して、コンピュータ502の動作および本開示に説明されるような任意のアルゴリズム、方法、機能、プロセス、フロー、およびプロシージャを実施する。
【0069】
コンピュータ502はまた、コンピュータ502のためのデータを保持し得るデータベース506、ネットワーク530に通信可能にリンクされる別のコンポーネント(図示されるかどうかにかかわらず)、またはコンピュータ502および別のコンポーネントの組み合わせも含む。例えば、データベース506は、本開示に一致するデータを記憶するインメモリ、従来、または別のタイプのデータベースであることができる。いくつかの実装では、データベース506は、特定の必要性、所望、またはコンピュータ502および説明される機能性の特定の実装による、2つ以上の異なるデータベースタイプ(例えば、ハイブリッドインメモリおよび従来のデータベース)の組み合わせであることができる。図5に単一のデータベース506として図示されているが、類似または異なるタイプの2つ以上のデータベースが、特定の必要性、所望、またはコンピュータ502および説明される機能性の特定の実装に従って、使用されることができる。データベース506は、コンピュータ502の一体コンポーネントとして図示されているが、代替的実装では、データベース506は、コンピュータ502の外部にあり得る。
【0070】
コンピュータ502はまた、コンピュータ502のためのデータを保持し得るメモリ507、ネットワーク530に通信可能にリンクされる別のコンポーネントまたは複数のコンポーネント(図示されるかどうかにかかわらず)、またはコンピュータ502および別のコンポーネントの組み合わせも含む。メモリ507は、本開示に一致する任意のデータを記憶することができる。いくつかの実装では、メモリ507は、特定の必要性、所望、またはコンピュータ502および説明される機能性の特定の実装による、2つ以上の異なるタイプのメモリの組み合わせ(例えば、半導体および磁気記憶装置の組み合わせ)であることができる。図5に単一のメモリ507として図示されているが、類似または異なるタイプの2つ以上のメモリ507が、特定の必要性、所望、またはコンピュータ502および説明される機能性の特定の実装に従って、使用されることができる。メモリ507は、コンピュータ502の一体コンポーネントとして図示されているが、代替的実装では、メモリ507は、コンピュータ502の外部にあり得る。
【0071】
アプリケーション508は、特に、本開示に説明される機能性に関して、特定の必要性、所望、またはコンピュータ502の特定の実装による、機能性を提供する、アルゴリズムソフトウェアエンジンである。例えば、アプリケーション508は、1つ以上のコンポーネント、モジュール、またはアプリケーションとしての役割を果たすことができる。さらに、単一のアプリケーション508として図示されているが、アプリケーション508は、コンピュータ502上の複数のアプリケーション508として実装されることができる。加えて、コンピュータ502に対して一体的に図示されているが、代替的実装では、アプリケーション508は、コンピュータ502の外部にあり得る。
【0072】
コンピュータ502はまた、電力供給源514を含むこともできる。電力供給源514は、ユーザまたは非ユーザ交換可能のいずれかであるように構成され得る、再充電可能または非再充電可能バッテリを含むことができる。いくつかの実装では、電力供給源514は、電力変換または管理回路(再充電、スタンバイ、または別の電力管理機能性を含む)を含むことができる。いくつかの実装では、電力供給源514は、コンピュータ502が壁コンセントまたは別の電源に差し込まれることを可能にし、例えば、コンピュータ502に給電する、または再充電可能バッテリを再充電するための電源プラグを含むことができる。
【0073】
各コンピュータ502がネットワーク530を経由して通信する、コンピュータ502を含有するコンピュータシステムと関連付けられる、またはその外部にある、任意の数のコンピュータ502が存在し得る。さらに、用語「クライアント」、「ユーザ」、または他の適切な用語が、本開示の範囲から逸脱することなく、適宜、同義的に使用されることができる。また、本開示は、多くのユーザが1つのコンピュータ502を使用し得ること、または1人のユーザが複数のコンピュータ502を使用し得ることを考慮する。
【0074】
図6は、ある実装による、MCD600の実施例を図示するブロック図である。例示的MCD600は、処理ユニット602と、コンピュータ可読記憶媒体604(例えば、ROMまたはフラッシュタイプメモリ)と、無線通信サブシステム606と、インターフェース608と、I/Oインターフェース610とを含む。処理ユニット602は、本明細書に開示される実装のうちの1つ以上のものに関連して上記に説明されるプロセス、ステップ、またはアクションのうちの1つ以上のものに関連する命令を実行するように構成される、1つ以上の処理コンポーネント(代替として、「プロセッサ」または「中央処理ユニット」(CPU)と称される)を含むことができる。処理ユニット602はまた、ランダムアクセスメモリ(RAM)および読取専用メモリ(ROM)等の他の補助コンポーネントを含むこともできる。コンピュータ可読記憶媒体604は、デバイス600のオペレーティングシステム(OS)、および上記に説明されるプロセス、ステップ、またはアクションのうちの1つ以上のものを実施するための種々の他のコンピュータ実行可能ソフトウェアプログラムを記憶するように構成される、非一過性の媒体によって具現化されることができる。
【0075】
無線通信サブシステム606は、処理ユニット602によって提供されるデータ情報または制御情報のための無線通信を提供するように構成されてもよい。無線通信サブシステム606は、例えば、1つ以上のアンテナと、受信機と、伝送機と、局所発振器と、ミキサと、デジタル信号処理(DSP)ユニットとを含むことができる。いくつかの実装では、サブシステム606は、多重入出力(MIMO)伝送をサポートすることができる。いくつかの実装では、無線通信サブシステム606内の受信機は、アドバンスト受信機または基準受信機であることができる。2つの受信機は、同じ、類似、または異なる受信機処理アルゴリズムを用いて実装されることができる。
【0076】
ユーザインターフェース608は、例えば、スクリーンまたはタッチスクリーン(例えば、液晶ディスプレイ(LCD)、発光ディスプレイ(LED)、有機発光ディスプレイ(OLED)、微小電気機械システム(MEMS)ディスプレイ)、キーボードまたはキーパッド、トラックボール、スピーカ、およびマイクロホンのうちの1つ以上のものを含むことができる。I/Oインターフェース610は、例えば、ユニバーサルシリアルバス(USB)インターフェースを含むことができる。当業者は、種々の他のコンポーネントも例示的MCD600に含まれ得ることを容易に理解するであろう。
【0077】
本主題の説明される実装は、単独で、または組み合わせて、1つ以上の特徴を含むことができる。
【0078】
例えば、第1の実装では、コンピュータ実装方法であって、該コンピュータ実装方法は、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ(URL)を受信するステップと、少なくともURLと関連付けられるウェブページのコンテンツに基づいて、少なくとも1つのコンテキストアクションを識別するステップと、少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダを識別するステップと、少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して少なくとも1つのサービスプロバイダと通信するステップと、少なくとも1つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも1つのデータオブジェクトをモバイルウェブブラウザに送信するステップとを含む、コンピュータ実装方法。
【0079】
前述および他の説明される実装はそれぞれ、随意に、以下の特徴のうちの1つ以上のものを含むことができる。
【0080】
URLからコンテキストデータを抽出するステップをさらに含む、以下の特徴のうちのいずれかと組み合わせ可能である、第1の特徴。
【0081】
抽出されたコンテキストデータに基づいて、少なくとも1つのコンテキストアクションを列挙するステップをさらに含み、少なくとも1つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第2の特徴。
【0082】
少なくとも1つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよびURLに関連するアクションおよびプロバイダペアを識別するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第3の特徴。
【0083】
所定の閾値に基づいて、URLへのコンテキスト関連性の測定値を伴うアクションのみを考慮するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第4の特徴。
【0084】
モバイルウェブブラウザに送信される少なくとも1つのデータオブジェクトは、受信されたURLにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第5の特徴。
【0085】
モバイルウェブブラウザ内でレンダリングされる少なくとも1つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、インベントリ情報をプレビューするステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第6の特徴。
【0086】
第2の実装では、1つ以上の命令を記憶する非一過性のコンピュータ可読媒体であって、該1つ以上の命令は、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ(URL)を受信するステップと、少なくともURLと関連付けられるウェブページのコンテンツに基づいて、少なくとも1つのコンテキストアクションを識別するステップと、少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダを識別するステップと、少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して少なくとも1つのサービスプロバイダと通信するステップと、少なくとも1つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも1つのデータオブジェクトをモバイルウェブブラウザに送信するステップとを含む、動作を実施するようにコンピュータシステムによって実行可能である、非一過性のコンピュータ可読媒体。
【0087】
前述および他の説明される実装はそれぞれ、随意に、以下の特徴のうちの1つ以上のものを含むことができる。
【0088】
URLからコンテキストデータを抽出するための1つ以上の命令をさらに備える、以下の特徴のうちのいずれかと組み合わせ可能である、第1の特徴。
【0089】
抽出されたコンテキストデータに基づいて、少なくとも1つのコンテキストアクションを列挙するための1つ以上の命令をさらに備え、少なくとも1つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第2の特徴。
【0090】
少なくとも1つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよびURLに関連するアクションおよびプロバイダペアを識別するための1つ以上の命令をさらに備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第3の特徴。
【0091】
所定の閾値に基づいて、URLへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための1つ以上の命令をさらに備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第4の特徴。
【0092】
モバイルウェブブラウザに送信される少なくとも1つのデータオブジェクトは、受信されたURLにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第5の特徴。
【0093】
モバイルウェブブラウザ内でレンダリングされる少なくとも1つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、インベントリ情報をプレビューするための1つ以上の命令をさらに備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第6の特徴。
【0094】
第3の実装では、コンピュータ実装システムであって、該コンピュータ実装システムは、1つ以上のコンピュータと、1つ以上のコンピュータと相互運用可能に結合された1つ以上のコンピュータメモリデバイスであって、該1つ以上のコンピュータメモリデバイスは、1つ以上の命令を記憶する有形の非一過性機械可読媒体を有し、該1つ以上の命令は、1つ以上のコンピュータによって実行されると、サーバにおいて、モバイルコンピューティングデバイス上で実行されるモバイルウェブブラウザから、ユニフォームリソースロケータ(URL)を受信するステップと、少なくともURLと関連付けられるウェブページのコンテンツに基づいて、少なくとも1つのコンテキストアクションを識別するステップと、少なくとも1つのコンテキストアクションと関連付けられる少なくとも1つのサービスプロバイダを識別するステップと、少なくとも1つのコンテキストアクションと関連付けられるインベントリ情報に関して少なくとも1つのサービスプロバイダと通信するステップと、少なくとも1つのコンテキストアクションと関連付けられる情報と、インベントリ情報とを含む、少なくとも1つのデータオブジェクトをモバイルウェブブラウザに送信するステップとを含む1つ以上の動作を実施する、1つ以上のコンピュータメモリデバイスとを備える、コンピュータ実装システム。
【0095】
前述および他の説明される実装はそれぞれ、随意に、以下の特徴のうちの1つ以上のものを含むことができる。
【0096】
URLからコンテキストデータを抽出するための1つ以上の動作を実施するステップをさらに含む、以下の特徴のうちのいずれかと組み合わせ可能である、第1の特徴。
【0097】
抽出されたコンテキストデータに基づいて、少なくとも1つのコンテキストアクションを列挙するための1つ以上の動作を実施するステップをさらに含み、少なくとも1つのコンテキストアクションは、コンテキストアクションおよび対応する抽出されたコンテキストデータの定義または記憶を指し示す、文字列または識別子を備える、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第2の特徴。
【0098】
少なくとも1つのコンテキストアクションのための潜在的サービスプロバイダにわたって反復し、ユーザおよびURLに関連するアクションおよびプロバイダペアを識別するための1つ以上の動作を実施するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第3の特徴。
【0099】
所定の閾値に基づいて、URLへのコンテキスト関連性の測定値を伴うアクションのみを考慮するための1つ以上の動作を実施するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第4の特徴。
【0100】
モバイルウェブブラウザに送信される少なくとも1つのデータオブジェクトは、受信されたURLにコンテキスト上関連するアクションおよびサービスプロバイダの優先順位リストを含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第5の特徴。
【0101】
モバイルウェブブラウザ内でレンダリングされる少なくとも1つのコンテキストアクションを表すグラフィカルユーザインターフェース要素との相互作用に応答して、インベントリ情報をプレビューするための1つ以上の動作を実施するステップをさらに含む、以前または以下の特徴のうちのいずれかと組み合わせ可能である、第6の特徴。
【0102】
本主題および本明細書に説明される機能的動作の実装は、デジタル電子回路で、有形に具現化されたコンピュータソフトウェアまたはファームウェアで、本明細書に開示される構造およびそれらの構造均等物を含む、コンピュータハードウェアで、またはそれらのうちの1つ以上のものの組み合わせで、実装されることができる。説明される主題のソフトウェア実装は、1つ以上のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために、有形の非一過性コンピュータ可読コンピュータ記憶媒体上でエンコードされるコンピュータプログラム命令の1つ以上のモジュールとして、実装されることができる。代替として、または加えて、プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために、受信機装置への伝送のための情報をエンコードするように生成される、機械で生成された電気、光学、または電磁信号内/上でエンコードされることができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組み合わせであることができる。1つ以上のコンピュータを構成することは、ソフトウェアが1つ以上のコンピュータによって実行されると、特定のコンピューティング動作が実施されるように、1つ以上のコンピュータが、ハードウェア、ファームウェア、またはソフトウェア(またはハードウェア、ファームウェア、およびソフトウェアの組み合わせ)をインストールしていることを意味する。
【0103】
用語「リアルタイム(real−time、real time、realtime」、「リアル(高速)タイム(RFT)」、「近リアルタイム(NRT)」、「準リアルタイム」、または(当業者によって理解されるような)類似用語は、個人が実質的に同時に起こるアクションおよび応答を知覚するように、アクションおよび応答が時間的に近接することを意味する。例えば、データにアクセスする個人のアクション後のデータの表示への応答のための(または表示の開始のための)時間差は、1ミリ秒(ms)未満、1秒(s)未満、または5秒未満であり得る。要求されたデータは、瞬時に表示される(または表示のために開始される)必要はないが、説明されるコンピューティングシステムの処理限界、および例えば、データを収集する、正確に測定する、分析する、処理する、記憶する、または伝送するために要求される時間を考慮して、いかなる意図的な遅延も伴わずに表示される(または表示のために開始される)。
【0104】
用語「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」(または当業者によって理解されるような均等物)は、データ処理ハードウェアを指し、一例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するための全ての種類の装置、デバイス、および機械を包含する。本装置はまた、特殊用途論理回路、例えば、中央処理ユニット(CPU)、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)である、またはそれをさらに含むことができる。いくつかの実装では、データ処理装置または特殊用途論理回路(またはデータ処理装置または特殊用途論理回路の組み合わせ)は、ハードウェアまたはソフトウェアベース(またはハードウェアまたはソフトウェアベースの組み合わせ)であることができる。本装置は、随意に、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組み合わせを構成する、コードを含むことができる。本開示は、あるタイプのオペレーティングシステム、例えば、LINUX(登録商標)、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、IOS、別のオペレーティングシステム、またはオペレーティングシステムの組み合わせとともにデータ処理装置の使用を考慮する。
【0105】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他のコンポーネントとも称される、または表され得る、コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、または宣言型または手続型言語を含む、任意の形態のプログラミング言語で書かれることができ、例えば、コンピューティング環境で使用するために、独立型プログラム、モジュール、コンポーネント、またはサブルーチンとしてを含む、任意の形態で展開されることができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、その必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメント内に記憶された1つ以上のスクリプト、問題になっているプログラム専用の単一のファイル、または複数の協調ファイル、例えば、1つ以上のモジュール、サブプログラム、またはコードの部分を記憶するファイル内に、記憶されることができる。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に位置する、または複数の場所を横断して分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように、展開されることができる。
【0106】
種々の図に図示されるプログラムの部分は、種々のオブジェクト、方法、または他のプロセスを使用して、説明される特徴および機能性を実装する、ユニットまたはモジュール等の個々のコンポーネントとして図示されることができるが、プログラムは、代わりに、適宜、いくつかのサブユニット、サブモジュール、第三者サービス、コンポーネント、ライブラリ、および他のコンポーネントを含むことができる。逆に、種々のコンポーネントの特徴および機能性は、適宜、単一コンポーネントに合体されることができる。計算による決定を行うために使用される閾値は、静的に、動的に、または静的および動的の両方で、決定されることができる。
【0107】
説明される方法、プロセス、または論理フローは、本開示に一致する機能性の1つ以上の実施例を表し、本開示を説明または図示される実装に限定することを意図していないが、説明される原理および特徴に一致する最も広い範囲を与えられることを意図している。説明される方法、プロセス、または論理フローは、入力データに対して動作し、出力データを生成することによって機能を果たすように、1つ以上のコンピュータプログラムを実行する、1つ以上のプログラマブルコンピュータによって、実施されることができる。方法、プロセス、または論理フローはまた、特殊用途論理回路、例えば、CPU、FPGA、またはASICによって実施されることもでき、装置はまた、それとして実装されることもできる。
【0108】
コンピュータプログラムの実行のためのコンピュータは、汎用または専用マイクロプロセッサ、両方、または別のタイプのCPUに基づくことができる。概して、CPUは、メモリから命令およびデータを受信し、かつそこに書き込むであろう。コンピュータの必須要素は、命令を実施または実行するためのCPU、および命令およびデータを記憶するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含む、またはそれに動作可能に結合され、そこからデータを受信する、またはそこにデータを転送する、またはそれらの両方を行うであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。また、コンピュータは、別のデバイス、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、または携帯用メモリ記憶デバイスに組み込まれることができる。
【0109】
コンピュータプログラム命令およびデータを記憶するための非一過性のコンピュータ可読媒体は、一例として、半導体メモリデバイス、例えば、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブル読取専用メモリ(EPROM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM)、およびフラッシュメモリデバイス、磁気デバイス、例えば、テープ、カートリッジ、カセット、内部/リムーバブルディスク、光磁気ディスク、および光学メモリデバイス、例えば、デジタルビデオディスク(DVD)、CD−ROM、DVD+/−R、DVD−RAM、DVD−ROM、HD−DVD、およびBLURAY、および他の光学メモリ技術を含む、全ての形態の恒久/非恒久的または揮発性/不揮発性メモリ、媒体、およびメモリデバイスを含むことができる。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的情報を記憶するリポジトリ、または任意のパラメータ、変数、アルゴリズム、命令、規則、制約、または参照を含む、他の適切な情報を含む、種々のオブジェクトまたはデータを記憶することができる。加えて、メモリは、ログ、ポリシ、セキュリティまたはアクセスデータ、または報告ファイル等の他の適切なデータを含むことができる。プロセッサおよびメモリは、特殊用途論理回路によって補完される、またはそれに組み込まれることができる。
【0110】
ユーザとの相互作用を提供するために、本明細書に説明される主題の実装は、情報をユーザに表示するために、表示デバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)、LED(発光ダイオード)、またはプラズマモニタと、それによってユーザが入力をコンピュータに提供し得る、キーボードおよびポインティングデバイス、例えば、マウス、トラックボール、またはトラックパッドとを有する、コンピュータ上で実装されることができる。入力はまた、感圧性を伴うタブレットコンピュータ表面、容量または電気感知を使用するマルチタッチスクリーン、または別のタイプのタッチスクリーン等のタッチスクリーンを使用して、コンピュータに提供されることもできる。他のタイプのデバイスも、ユーザと相互作用するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(視覚、聴覚、触覚、またはフィードバックタイプの組み合わせ等)であることができる。ユーザからの入力は、音響、発話、または触覚入力を含む、任意の形態で受信されることができる。加えて、コンピュータは、ユーザによって使用されるクライアントコンピューティングデバイスにドキュメントを送信し、かつそこからドキュメントを受信することによって(例えば、ウェブブラウザから受信される要求に応答して、ウェブページをユーザのモバイルコンピューティングデバイス上のウェブブラウザに送信することによって)、ユーザと相互作用することができる。
【0111】
用語「グラフィカルユーザインターフェース」または「GUI」は、1つ以上のグラフィカルユーザインターフェースおよび特定のグラフィカルユーザインターフェースの表示のそれぞれを表すために、単数系または複数形で使用されることができる。したがって、GUIは、限定されないが、ウェブブラウザ、タッチスクリーン、または情報を処理し、情報結果をユーザに効率的に提示する、コマンドラインインターフェース(CLI)を含む、任意のグラフィカルユーザインターフェースを表すことができる。一般に、GUIは、双方向フィールド、プルダウンリスト、およびボタン等の、いくつかまたは全てがウェブブラウザと関連付けられる、いくつかのユーザインターフェース(UI)要素を含むことができる。これらおよび他のUI要素は、ウェブブラウザの機能に関連する、またはそれを表すことができる。
【0112】
本明細書に説明される主題の実装は、例えば、データサーバとして、バックエンドコンポーネントを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントコンポーネント、例えば、それを通してユーザが本明細書に説明される主題の実装と相互作用し得る、グラフィカルユーザインターフェースまたはウェブブラウザを有する、クライアントコンピュータ、またはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネント等の1つ以上のものの任意の組み合わせを含む、コンピューティングシステムで実装されることができる。システムのコンポーネントは、任意の形態または媒体の有線または無線デジタルデータ通信(またはデータ通信の組み合わせ)、例えば、通信ネットワークによって、相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、Worldwide Interoperability for Microwave Access(WIMAX)、例えば、802.11a/b/g/nまたは802.20(または802.11xおよび802.20の組み合わせ、または本開示と一致する他のプロトコル)を使用する、無線ローカルエリアネットワーク(WLAN)、インターネットの全体または一部、別の通信ネットワーク、または通信ネットワークの組み合わせを含む。通信ネットワークは、例えば、ネットワークノード間で、インターネットプロトコル(IP)パケット、フレームリレーフレーム、非同期転送モード(ATM)セル、音声、ビデオ、データ、または他の情報と通信することができる。
【0113】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、概して、相互から遠隔にあり、典型的には、通信ネットワークを通して相互作用する。クライアントおよびサーバの関係は、個別のコンピュータ上で起動し、相互にクライアント・サーバ関係を有するコンピュータプログラムにより、生じる。
【0114】
本明細書は、多くの具体的実装詳細を含有するが、これらは、任意の発明の範囲または請求され得るものの範囲への限定としてではなく、むしろ、特定の発明の特定の実装に特有であり得る特徴の説明として解釈されるべきである。別個の実装との関連で本明細書に説明される、ある特徴もまた、組み合わせて、単一の実装で実装されることができる。逆に、単一の実装との関連で説明される種々の特徴もまた、複数の実装で、別個に、または任意の副次的組み合わせで、実装されることができる。また、前述で説明された特徴は、ある組み合わせで作用するものとして説明され、さらには最初にそのようなものとして請求され得るが、請求される組み合わせからの1つ以上の特徴は、ある場合には、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。
【0115】
本主題の特定の実装が、説明されている。他の実装、説明される実装の改変、および順列は、当業者に明白であろうように、以下の請求項の範囲内である。動作が特定の順序で図面または請求項に描写されるが、これは、所望の望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続順序で実施されること、または全ての図示される動作が実施される(いくつかの動作は随意と見なされ得る)ことを要求するものとして理解されるべきではない。ある状況では、マルチタスキングまたは並列処理(またはマルチタスキングおよび並列処理の組み合わせ)が、有利であり、適切と見なされると実施されることができる。
【0116】
また、前述で説明された実装における種々のシステムモジュールおよびコンポーネントの分離または統合は、全ての実装においてそのような分離または統合を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムが、概して、単一のソフトウェア製品にともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0117】
故に、前述で説明された例示的実装は、本開示を定義または制約しない。他の変更、代用、および改変もまた、本開示の精神および範囲から逸脱することなく可能である。
【0118】
さらに、任意の請求される実装は、少なくとも、コンピュータ実装方法、コンピュータ実装方法を実施するためのコンピュータ可読命令を記憶する、非一過性のコンピュータ可読媒体、およびコンピュータ実装方法または非一過性のコンピュータ可読媒体上に記憶された命令を実施するように構成される、ハードウェアプロセッサと相互運用可能に結合されるコンピュータメモリデバイスを備える、コンピュータシステムに適用可能と見なされる。
図1
図2A
図2B
図3
図4
図5
図6
【国際調査報告】