JP2021114285A - 埋め込みモバイルブラウザ - Google Patents

埋め込みモバイルブラウザ Download PDF

Info

Publication number
JP2021114285A
JP2021114285A JP2020218978A JP2020218978A JP2021114285A JP 2021114285 A JP2021114285 A JP 2021114285A JP 2020218978 A JP2020218978 A JP 2020218978A JP 2020218978 A JP2020218978 A JP 2020218978A JP 2021114285 A JP2021114285 A JP 2021114285A
Authority
JP
Japan
Prior art keywords
url
requested
information
action
activity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020218978A
Other languages
English (en)
Inventor
クリストファー・ジェイムズ・マッダーン
James Maddern Christopher
ウェスレー・ダンカン・スミス
Duncan Smith Wesley
ポール・アラン・フライナー
Alan Fleiner Paul
ギョーム・ルイ・オーギュスト・オライン
Louis Auguste Allyne Guillaume
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Button Inc
Original Assignee
Button Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Button Inc filed Critical Button Inc
Publication of JP2021114285A publication Critical patent/JP2021114285A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ユーザによるウェブブラウザの使用に基づいたテーラーメードの体験を提供する。【解決手段】分散型コンピューティングシステムにおいて、1つ以上のプロセッサは、要求されたURLを受け付けて、要求されたURLを或るアクティビティタイプに分類し、分類したアクティビティタイプに基づいて、要求されたURLに関連する別の情報を取得し、アクティビティタイプ及び取得された別の情報に基づいて、1つ以上のアクション促進処理を決定する。1つ以上のアクション促進処理のそれぞれは、ウェブブラウザに或るアクションを実行させるものである。さらに、1つ以上のプロセッサは、1つ以上のアクション促進処理と、分類されたアクティビティタイプと、別の情報と、をウェブブラウザに提供する。【選択図】図2

Description

[関連出願の相互参照]
本出願は、2019年12月31日に出願された米国仮特許出願第62/955,553号の出願日の利益を主張するものであり、この仮特許出願の開示内容は、引用することにより本明細書の一部をなすものとする。
ウェブブラウザは通常、コンテンツをウェブサーバから取得し、インタラクティブな方式でユーザに提示するようにプログラミングされる。通常、ウェブブラウザは、様々なフォーマット、規格、スクリプト、クッキー並びにウェブサイト及び他のそのようなコンテンツを実装するために一般に用いられる他の技術に対応できるように構成される。ウェブブラウザにより表示されるコンテンツの性質が様々なウェブブラウザ及び他のロケーションによって異なり得るため、大抵のウェブブラウザは、多くのコンテンツのサポートを保証するべく最も一般的な技術に対応できるようにプログラミングされ、特定のコンテンツに合わせて作られることはなく、また、ウェブサイト及び他のコンテンツがウェブブラウザによって指定される特定の規格に準拠したものである必要がないようにされる。したがって、ブラウザの大多数は、電子メール、ニュースを読むこと、ブラウジング、又はソーシャルネットワークへの投稿といった「一般的」な利用事例に合わせて作られた同じような機能を有する。
本開示の実施の形態は、ユニフォーム・リソース・ロケータ(URL)から受信された情報に補足をする方法に関する。本開示の一態様において、情報に補足をする方法は、1つ以上のプロセッサによって、要求されたURLを受信することと、1つ以上のプロセッサによって、要求されたURLを或るアクティビティタイプに分類することと、1つ以上のプロセッサによって、分類されたアクティビティタイプに基づいて、要求されたURLに関連する追加の情報を取得(抽出)することと、1つ以上のプロセッサによって、アクティビティタイプ及び取得された追加の情報に基づいて、1つ以上のアクション促進処理を判断することであって、該1つ以上のアクション促進処理のそれぞれは、ウェブブラウザに或るアクションを実行させるように構成されることと、1つ以上のプロセッサによって、ウェブブラウザに、1つ以上のアクション促進処理、分類されたアクティビティタイプ、及び追加の情報を提供することと、を含む。
1つの例において、要求されたURLは、ウェブブラウザから受信される。
いくつかの場合において、要求されたURLを或るアクティビティタイプに分類することは、要求されたURLに関連するウェブページ上で行われるアクティビティのタイプを判断することを含む。いくつかの場合において、ウェブページ上で行われるアクティビティのタイプを判断することは、要求されたURLを機械学習モデルに入力することを含み、機械学習モデルは、分類されたアクティビティタイプを出力するように構成される。
いくつかの場合において、追加の情報は、ブラウザのユーザに関連するユーザデータ、要求されたURLのウェブページ上の商品の商品レビュー、要求されたURLのウェブページのコンテキストに基づく精算が完了したという確認、要求されたURLのウェブページは精算ページであるという情報、要求されたURLに関連するオンライン小売業者のカートに商品が追加されたという情報、及び/又は商品が要求されたURL上にあるという情報を含む。
いくつかの場合において、1つ以上のアクション促進処理を判断することは、ユーザデータ及び分類されたアクティビティタイプを含むコンテキストに基づいて、1つ以上の既定のアクション促進処理を選択することと、選択された既定のアクション促進処理をランク付けすることと、上位ランクの既定のアクション促進処理のうちの1つ以上を、ウェブブラウザに提供する1つ以上のアクション促進処理として選択することと、を更に含む。
いくつかの場合において、ウェブブラウザのユーザ又はユーザアカウントを識別するトークンをウェブブラウザに提供することを更に含む。
本開示の別の態様は、ユニフォーム・リソース・ロケータ(URL)から受信された情報に補足をするシステムに関する。本システムは、1つ以上のプロセッサと、1つ以上のプロセッサと通信する1つ以上のストレージデバイスと、を備え、1つ以上のストレージデバイスは、要求されたURLを受信することと、要求されたURLを或るアクティビティタイプに分類することと、分類されたアクティビティタイプに基づいて、要求されたURLに関連する追加の情報を取得することと、アクティビティタイプ及び取得された追加の情報に基づいて、1つ以上のアクション促進処理を判断することであって、該1つ以上のアクション促進処理のそれぞれは、ウェブブラウザに或るアクションを実行させるように構成されることと、ウェブブラウザに、1つ以上のアクション促進処理、分類されたアクティビティタイプ、及び追加の情報を提供することと、を1つ以上のプロセッサに行わせるように構成された命令を含む。
本開示の別の態様は、命令を含む非一時的コンピュータ可読媒体であって、命令は、1つ以上のプロセッサによって実行されると、要求されたURLを受信することと、要求されたURLを或るアクティビティタイプに分類することと、分類されたアクティビティタイプに基づいて、要求されたURLに関連する追加の情報を取得することと、アクティビティタイプ及び取得された追加の情報に基づいて、1つ以上のアクション促進処理を判断することであって、該1つ以上のアクション促進処理のそれぞれは、ウェブブラウザに或るアクションを実行させるように構成されることと、ウェブブラウザに、1つ以上のアクション促進処理、分類されたアクティビティタイプ、及び追加の情報を提供することと、を1つ以上のプロセッサに行わせる、非一時的コンピュータ可読媒体に関する。
本開示の実施形態による一例としての分散型コンピューティングシステム100を示す図である。 本開示の態様による、ブラウザを立ち上げてページをロードするときにシステム100内の要素によって実行される処理の一例を示す図である。 本開示の態様による、あるURLのアクティビティタイプの分類を示すフロー図である。 本開示の態様による、ウェブページがロードされている間にシステム100内の要素によって実行される処理の一例を示す図である。 本開示の態様による、あるアクティビティのアクティビティタイプの分類を示すフロー図である。 本開示の態様による拡張機能の一例を示す図である。 本開示の態様によるカードの一例を示す図である。
[概要]
本開示は、広範囲のコンテンツに合わせて機能する改良型ショッピング機能の提供に関する。こうした機能として、本明細書においてより詳細に記載するように、データの補完、アクションの促進、及び購入に対するコミッション(手数料)の自動処理を挙げることができる。これらの機能は、サービス側から公開者(publisher)に提供されるカスタマイズされたウェブブラウザ内で実装することができる。公開者は、カスタマイズされたウェブブラウザを、モバイルアプリ等のアプリケーションに埋め込むことができる。公開者のアプリケーションは、ユーザ層が利用可能なものとすることができる。公開者のアプリケーションの使用時に、カスタマイズされたウェブブラウザを、別のブラウザ、例えば、システムのネイティブブラウザ、又は、他のそのようなブラウザ(例えば、Chrome、Safari、又はFirefox、Brave等の他のサードパーティブラウザ)の代わりに提供することができる。カスタマイズされたウェブブラウザは、公開者によってカスタマイズされたウェブブラウザを更にカスタマイズできるように、機能を追加、除去、又は他の方法で調整することができる開発者インタフェースを含むことができる。本明細書に記載する特徴を、カスタマイズされたウェブブラウザに関して説明するが、こうした特徴は、汎用ウェブブラウザの機能を向上させる1つ以上のウェブブラウザ拡張機能で実装することもできる。いくつかの事例では、カスタマイズされたウェブブラウザは、公開者のアプリケーション内に埋め込まれていないスタンドアロンなウェブブラウザとすることができる。
ショッピングのアクティビティは、一般的に、オンラインでのショッピング時に行われ得る任意のアクションとして定義することができる。典型的なオンラインショッピングの体験は、一般的に、いくつかのステージのアクティビティに分けることができる。いくつかのステージのアクティビティは、商品の検索、商品の閲覧、カートへの商品追加、カートの閲覧、精算の開始、購入の実行、及び他のそのようなアクティビティ又はそのバリエーションを含む。改良型のショッピング機能を提供するために、ユーザのウェブ上アクティビティのモニタリング及び関連データの収集を行って、いつユーザが1つ以上のショッピングステージに関わっているかを判断することができ、また、事例によっては、どのショッピングステージにユーザが関与しているのかを判断することができる。ユーザが関与するショッピングステージに応じて、そのショッピングステージのための改良型ショッピング機能を提供することができる。
本明細書に記載するシステム及び方法は、ユーザにとってより豊かでより魅力的なショッピング体験を提供することが可能な、商取引に特化したウェブブラウザを提供する。加えて、本明細書に記載する技術は、より良好なコンバージョン率をもたらし、カスタマイズされたウェブブラウザを自己のアプリケーションに埋め込んだ公開者に改良型のインテリジェンス機能及びデータ機能を提供する。
[システムの例]
図1に、本明細書に記載する機能を実装することができる一例としての分散コンピューティングシステム100を示す。この例において、システム100は、サービスサーバ101と、公開者のコンピューティングデバイス103と、ユーザのデバイス105とを有することができ、これらはそれぞれ、コンピューティングデバイスと呼ぶことができる。分散コンピューティングシステム100は、ストレージシステム120等の1つ以上のストレージデバイスも含むことができる。コンピューティングデバイス101〜105の間の通信、並びにコンピューティングデバイス101〜105とストレージデバイス120及び他のデバイスとの間の通信は、本明細書に記載するように、ネットワーク130を通じてネットワークデバイス119により行うことができる。図示はしないが、各コンピューティングデバイスのコンポーネント間の通信は、1つ以上の通信バスを通じて行うことができる。例えば、公開者のコンピューティングデバイス103内のプロセッサ110、メモリ111、及びネットワークデバイス119は、通信バスを介して通信することができる。
図1は、本開示の範囲又は本明細書に記載する機能の有用性を限定するものとして捉えるべきではない。この点に関して、本明細書に記載する機能は、パーソナルコンピュータ、ラップトップ、タブレット、モバイルフォン、仮想コンピュータ等、多くのタイプの汎用又は専用コンピューティングデバイスを用いて実装することができる。さらに、本明細書に記載する機能は、デバイスの多様な組み合わせを用いて実装することができる。さらに、図1にはコンピューティングデバイス101〜105のみが示しているが、典型的なシステムは、2つ以上のサービスサーバ、公開者コンピューティングデバイス、及び/又はユーザデバイス等、多数の接続されるコンピューティングデバイスを含むことができることを理解すべきである。
各コンピューティングデバイス101〜105は、1つ以上のプロセッサ110、1つ以上のメモリ111、及び/又は汎用コンピューティングデバイス及び専用コンピューティングデバイスにおいて一般的に見られる他のコンポーネントを含むことができる。例えば、サービスサーバ101は、1つ以上のプロセッサ110、メモリ111、及びネットワークインタフェース119を含む。他のサービスサーバ(図示せず)は、サービスサーバ101において示すコンポーネントのうちの一部又は全てを含むことができる。
1つ以上のプロセッサ110は、Intel(商標)、AMD(商標)、又はApple(商標)による市販のCPU等、任意の従来のプロセッサとすることができる。代替的に、又は市販のCPUに加えて、プロセッサは、特定用途向け集積回路(「ASIC」)等の専用コンポーネント、又は、ARMプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、若しくはシステムオンチップ(SoC)等の他のハードウェアベースのプロセッサとすることができる。
メモリ111は、プロセッサ110によって取得、実行、及び/又は操作することができる情報、例えば命令116及びデータ117を記憶することができる。メモリ111は、コンピューティングデバイス101〜105によって読み取り可能及び/又は書き込み可能な任意のタイプの非一時的コンピュータ可読媒体とすることができる。例えば、コンピュータ可読媒体としては、揮発性及び/又は不揮発性ディスクベースのハードドライブ、ソリッドステートドライブ、ハイブリッドハードドライブ、メモリカード、フラッシュリードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、NANDメモリ、DVD、CD−ROM、EEPROM、及び他の磁気又は光ストレージを挙げることができる。メモリ111は、ハードドライブ及びRAM等の非一時的コンピュータ可読媒体の任意の組み合わせを含むことができる。
命令116は、プロセッサが読み取り実行することができる任意のフォーマットで記憶することができる。この点に関して、命令としては、機械コード等の任意の実行可能コード、スクリプト、アプリケーション113等のアプリケーション等を挙げることができる。アプリケーション113としては、例えば、オペレーティングシステム(OS)、本明細書に記載するウェブブラウザ、ウェブブラウザ拡張機能、モバイルアプリケーション、コンピュータアプリケーション等を挙げることができる。いくつかの事例では、命令116は、より大きなアプリケーションの一部であるアプリケーションモジュール等の実行可能コードの一部、又はアプリケーション113のうちの1つ以上等のアプリケーション全体を含むことができる。
命令116は、本明細書に記載するように、API114、SDK118も含むことができる。例えば、図1に更に示すように、サービスサーバ101の命令116は、本明細書に記載するAPI等、1つ以上のAPI114を含むことができる。図1に更に示すように、公開者コンピューティングデバイス103及びユーザデバイス115の命令116は、サービスサーバ101のAPI114との通信を可能にすることができる1つ以上のSDK118を含むことができる。SDK118は、本明細書に記載するように、カスタマイズされたウェブブラウザ又は拡張機能等のアプリケーションを作成又は別様にカスタマイズするプログラミングツールも開発者に提供することができる。SDK118は、アプリケーション113内にあるものとして示されているが、スタンドアロンなアプリケーションとすることができる。同様に、API114はアプリケーション113の一部とすることができる。
命令116は、本明細書に記載する機能を提供するのに用いることができるモデル、ルール等を含むことができる。モデルとして、ブラウザ内で訪問されているURL(複数の場合もある)又はブラウザ内で行われているアクティビティが、1つ以上のショッピングステージにユーザが関与していることを示すか否かを判断することができるアクティビティモデルを挙げることができる。いくつかの事例では、ブラウザ内で訪問されている(複数の)URLが1つ以上のショッピングステージを示すか否かと、ブラウザ内で行われているアクティビティが、1つ以上のショッピングステージにユーザが関与していることを示すか否かとを判断するために、別個のモデルを用いることができる。別のモデルとして、ユーザデータに基づいてユーザにパーソナライズされた推奨、提案、広告、取引等を提供するように構成されたパーソナライゼーションモデルを挙げることができる。このモデルは、ユーザデータを用いてトレーニングすることができる機械学習モデルとすることができる。モデルの代わりに又はモデルと併せてルールを用いることができる。例えば、ルールは、いずれの推奨を提供すべきかを判断し、及び/又は、いずれのアクティビティタイプに要求された(複数の)URLが対応するか、又はウェブページ内のアクティビティが或るアクティビティタイプを示すか否かを判断するように構成することができる。さらに、ルールは、他のデータを補足する補足内容(enrichments)を得るために、いずれのデータベース又は他のそのような情報源にアクセスすればよいかを定めることができる。ルールは、再プログラミングされない限り変更されないよう静的なものとすることができる。いくつかの事例では、ルールは、自動で調整されるか又は定期的に調整することができるように動的なものとすることができる。
データ117は、命令116に基づいて1つ以上のプロセッサ110によって取得、記憶、又は変更することができる。例えば、本明細書に記載するシステム及び方法は、いかなる特定のデータ構造によっても限定されないが、データ117は、レジスタ、リレーショナルデータベース等のデータベース、表、又はXMLドキュメントに記憶することができる。データ117は、いかなる特定のデータ構造又はフォーマットにも限定されない。例えば、データ117は、個々のピース又はデータと、リレーショナルデータベース、表、XMLドキュメント等のより大きなデータ構造とを含むことができる。加えて、データは、限定はしないが、バイナリ値、ASCII又はUnicode等、多くのフォーマットにフォーマット化することができる。さらに、データ118は、数字、説明テキスト、所有者コード、ポインタ、他のネットワークロケーションにおける等の他のメモリに記憶されたデータの参照等の関連データ、又は関連データを計算する関数によって用いられる情報を識別及び/又は区別するのに十分な任意の情報を含むことができる。
データ117は、ユーザデータと、本明細書に記載する機能を提供するのに用いることができる他のそのようなデータとを含むことができる。ユーザデータとしては、非限定的な例として、過去の購入品及び過去の商品閲覧等の過去のユーザショッピング履歴等の履歴データ、過去のユーザブラウジング履歴、ユーザの好み、ユーザプロフィールデータ(例えば、名前、年齢、性別、住所、電話番号等)並びに他のそのようなデータを挙げることができる。データ117として、商品データも挙げることができる。
ストレージシステム120は、サービスサーバ101、公開者コンピューティングデバイス103、及び/又はユーザデバイス105がアクセス可能な情報を記憶することが可能な任意のタイプのストレージを含むことができる。図1に示すように、ストレージシステム120は、構成データ121を記憶することができる。構成データ121は、URLがサービスサーバ201に向けられるように、受信したURLをカスタマイズされたURLに変換するのに用いられるデータを含むことができる。いくつかの事例では、構成データをサービスサーバ101及び/又は公開者コンピューティングデバイス103のメモリ111に記憶することができる。ストレージシステム120は、ユーザ履歴データ、モデル、ルール等を含め、本明細書に記載する他のデータ又は命令も記憶することができる。
ストレージデバイス120は、ネットワーク接続ストレージ又は分散データウェアハウス等の、物理的に同じ又は異なる地理的ロケーションに位置し得る複数の異なるストレージデバイスにデータが記憶される分散ストレージシステムを含むことができる。ストレージデバイス150は、図1に示すようにネットワーク130を介してコンピューティングデバイスに接続することができ、及び/又は、コンピューティングデバイス101〜105のうちのいずれかに直接接続することができる。図1には単一のストレージシステム120のみを示しているが、任意の数のストレージシステムを例示の分散コンピューティングシステム100に含めることができる。いくつかの事例では、ストレージシステム120へのアクセスは、特定のコンピューティングデバイスに限定される場合がある。非限定的な例として、ストレージシステム120は、ユーザデバイス105及びサービスサーバ101とは通信するが、公開者コンピューティングデバイス103とは通信しないように構成することができる。いくつかの事例では、ストレージシステムは、コンピューティングデバイスごとに又はコンピューティングデバイスの群に設けることができる。
コンピューティングデバイス101〜105のそれぞれは、ネットワーク130の異なるロケーションにあり、ネットワーク130上の異なるロケーションにおける他のコンポーネントと直接的及び間接的に通信することが可能であり得る。図1にはコンピューティングデバイス101〜105のみが描かれているが、典型的なシステムは、多数の接続コンピューティングデバイスを含むことができ、様々なコンピューティングデバイスは、ネットワーク130上の同じ及び/又は異なるロケーションにあることが理解されるべきである。本明細書に記載するネットワーク130は、ネットワークが、インターネット、ワールドワイドウェブ、特定のイントラネット、ワイドエリアネットワーク、又はローカルネットワークの一部となり得るように、様々なプロトコル及びシステムを用いて相互接続することができる。ネットワークは、非限定的な例として、Ethernet、Wi−Fi、HTTP、3G、4G、5G、Bluetooth、及び1つ以上の企業に固有のUDPプロトコル、並びに上述のものの様々な組み合わせ等、標準的な通信プロトコル及び技術を利用することができる。情報の送受信が上述のように行われる場合、或る特定の利点を得ることができるが、本明細書に記載する本開示の他の態様は、いかなる特定の情報送信方法にも限定されない。
コンピューティングデバイス101〜105はそれぞれ、他のコンピューティングデバイス又はネットワーク接続システムとの通信を可能にするネットワークデバイス119を有することができる。例えば、ネットワークデバイス119としては、ネットワークインタフェースカード(NIC)、Wi−Fiカード、Bluetooth受信機/送信機、又は1つ以上の通信プロトコル及び技術を介してデータ通信が可能な他のそのようなデバイスを挙げることができる。一例として、サービスサーバ101は、ネットワークデバイス119を介してネットワーク130を通じてストレージシステム120並びにコンピューティングデバイス103及び105との通信が可能なウェブサーバとすることができる。サービスサーバ101のウェブサーバは、ネットワーク130を用いて、情報をユーザに送信し、ユーザデバイス105のディスプレイ115上等に提示することができる。
コンピューティングデバイス103及び105のそれぞれは、サービスサーバ101と同様に構成することができ、上述したような1つ以上のプロセッサ、メモリ、及び記憶媒体を有する。コンピューティングデバイス120及び130は、ユーザによる使用に向けたパーソナルコンピューティングデバイスとすることができ、パーソナルコンピューティングデバイスに関連して通常用いられるコンポーネントの全て、例えば、中央処理ユニット(CPU)と、データ及び命令を記憶するメモリ(例えば、RAM及び内部ハードドライブ)と、ディスプレイ115等のディスプレイ(例えば、スクリーンを有するモニタ、タッチスクリーン、プロジェクタ、テレビジョン、又は情報を表示するように動作可能な他のデバイス)と、入力デバイス107(例えば、マウス、キーボード、タッチスクリーン、又はマイクロフォン)とを有することができる。図示はしないが、サービスサーバ101も、ディスプレイ及びユーザ入力デバイスを備えることができる。
コンピューティングデバイス103及び105はそれぞれ、フルサイズのパーソナルコンピューティングデバイスを含み得るが、代替的には、インターネット等のネットワークを介してサービスサーバ101等のサーバとデータをワイヤレスで交換することが可能なモバイルコンピューティングデバイスを含むことができる。例に過ぎないが、ユーザデバイス105は、ワイヤレス対応PDA、タブレットPC、又はネットブック等のモバイルフォン又はデバイスとすることができる。別の例では、ユーザデバイス105は、ラップトップコンピュータとすることができる。
図1は、プロセッサ110、メモリ111、記憶媒体112、及びコンピューティングデバイス101〜105の他の要素が同じデバイス内にあるものとして示しているが、プロセッサ110、メモリ111、記憶媒体112、及びコンピューティングデバイス101〜105の他の要素は、異なるロケーション又はハウジングに格納することができる。例えば、サービスサーバ101を参照すると、プロセッサ110及びメモリ111は、記憶媒体112とは異なるハウジングに位置し得る。したがって、プロセッサ、コンピュータ、コンピューティングデバイス、メモリ、又は記憶媒体と言うとき、並行して動作し得る又はし得ないプロセッサ、コンピュータ、コンピューティングデバイス、メモリ、又は記憶媒体の集合体を指すことを含むものと理解される。例えば、サービスサーバ101は、サーバコンピューティングデバイスを含むことができる。サービスサーバ101は、ロードバランスサーバファーム、分散システム等として動作するように構成することができる。同様に、公開者コンピューティングデバイスをサーバとして構成することができる。更にまた、本明細書において後述するいくつかの機能は、単一のプロセッサを有する単一のコンピューティングデバイス上で行われるものとして示されているが、本明細書に記載する主題の様々な態様は、例えばネットワーク130を介して情報を通信する複数のコンピューティングデバイスによって実施することができる。
[方法の例]
上述及び図示した動作及びシステムに加えて、これらの種々な動作が説明される。以下の動作は、以下に説明される厳密な順序において実行される必要はない。むしろ、種々のステップを異なる順序において、又は同時に処理することができ、ステップを追加又は省略することもできる。
図2に、改良型ショッピング機能を提供するシステムの一般的な処理を概説したフロー図200を示す。図2に示すように、本システムのコンポーネントは、ユーザデバイス105と同様とすることができるユーザデバイス205と、サービスサーバ101と同様とすることができるサーバ201と、公開者コンピューティングデバイス103と同様とすることができる公開者サーバ203とを含むことができる。カスタマイズされたウェブブラウザ206を、公開者によって公開されユーザデバイス205にインストールされた公開者アプリ204に埋め込むことができる。本明細書に記載する例及び機能は、公開者アプリ204内に埋め込まれた、カスタマイズされたブラウザ206上で実行又は別様に実施されるものとして示されているが、カスタマイズされたブラウザ206は、カスタマイズされたブラウザ206内に埋め込まれていないスタンドアロンなブラウザとすることができる。加えて、本明細書に記載する例及び機能は、1つ以上のブラウザ拡張機能を介して実施することができる。
本システムの動作は、概して三部構成、すなわち、(1)カスタマイズされたブラウザの立ち上げと、(2)カスタマイズされたブラウザ内でのページのロードと、(3)ブラウザ上のページ内でのアクティビティの実行と、としてみなすことができる。図2は、最初の2部を示しており、カスタマイズされたブラウザの立ち上げという第1部の間のシステムの動作は、セクション290から符号299が付された破線の垂線の左側まで示されている。ページローディングの間のシステムの動作を示す第2部は、セクション291から破線の垂線299まで示されている。第3部については、本明細書における別の図を参照して述べる。
第1部、すなわち、カスタマイズされたブラウザの立ち上げ(290)を参照すると、ブロック211に示すように、ユーザデバイス205上でカスタマイズされたウェブブラウザ206を立ち上げることができる。公開者アプリ204がユーザによって開かれたとき、及び/又は、カスタマイズされたウェブブラウザ206の立ち上げをもたらす別のアクションが公開者アプリ204内で実行されたときに、カスタマイズされたウェブブラウザ206を立ち上げることができる。
立ち上げの後、ウェブブラウザ206は、ブロック213に示すように、ネットワーク130等のネットワークを介してサービスサーバ201にショッピングセッションを要求することができる。サービスサーバ201は、ブロック215に示すように、ショッピングセッショントークンを作成し、このトークンをブラウザ206に転送することができる。トークンは、ブロック217に示すように、ブラウザがユーザデバイス205上で使用中である間に、無期限で、又は何らかの既定の範囲の期間にわたってブラウザ206内で持続することができる。トークンは、サービス側にとって既知であるとともに、ショッピングセッションの開始時に有効だったコミッションのルールの組を有する小売業者(例えば、ショッピングウェブサイト)におけるユーザアカウントを表す不透明型の文字列(opaque string)とすることができる。この点に関して、トークンは、サービスサーバ201とブラウザ206との間で追跡可能な通信経路を提供することができる。
トークンは、サービスサーバ201上に保存することができ、サービスサーバ201において、トークンは、ユーザアカウント、小売業者、公開者、及び他のデータに結び付けることができる。トークンは、カスタマイズされたブラウザ及び/又はユーザデバイスにも保存することができる。この点に関して、カスタマイズされたブラウザ206は、ブラウザコードで及び/又は他のフォーマット/ロケーション、例えば、Javascript又は他のそのようなスクリプトで、クッキーで、及び/又はブラウザ内のウェブページの内部のローカルストレージ内にネイティブに記憶することができる。トークンは、サービスサーバ201とカスタマイズされたブラウザ206との間の全ての通信において提供することができるため、例えば、カスタマイズされたブラウザ内でのページロード、URL及びアクティビティ分類要求、分類結果(classification return)等の全てのアクティビティが、ユーザと、ユーザに適用されるコミッションルールとに戻るように結び付けられる。
通信経路を介して、ブラウザ206は、サービスサーバ201に、ブラウザが訪問したURL、ブラウザに送信されたコンテンツ及び/又はブラウザから送信されたコンテンツ、ブラウザ内でユーザが行ったアクション、ユーザ又はユーザデバイスに関する情報、閲覧しているウェブページの小売業者、カスタマイズされたブラウザが公開者アプリ内に埋め込まれている場合は公開者アプリ等のデータを転送することができる。サービスサーバ201は、通信経路を介してブラウザ206に、本明細書に記載するアクション促進等のデータも提供することができる。
ブラウザ206からサービスサーバ201に提供された情報は、ユーザアカウントに関連して記憶することができる。例えば、ユーザアカウントは、デバイスに対応するものとすることができ、その結果、ブラウザ206からサービスサーバ201に提供された情報は全て、ユーザを問わず、上記特定のデバイスに割り当てられた単一のユーザアカウントに記憶される。別の例では、ユーザアカウントは、単一のユーザ又はユーザの集合体に対応することができる。この点に関して、ブラウザ206及び/又は公開者アプリ204のユーザは、アカウントにログインすることができる。ログインしたアカウントに関連する識別情報は、サービスサーバ201に転送することができ、サービスサーバ201はその後、識別情報によって識別されたアカウントに関連してブラウザ206から提供された情報を記憶することができる。
第2部、すなわち、カスタマイズされたブラウザ内でのページのローディング(291)を参照すると、ブロック219に示すように、ユーザデバイス205が特定のURLの要求を行うことができる。URLの要求は、ユーザデバイス205によって行われ、ブラウザ206に送信されるものとして示されているが、ブラウザ206は、立ち上げられたとき等にURLを自動で要求することができる。さらに、システムの第2部の動作は、URL要求のローディングとして示されているが、ウェブページ又は他のウェブコンテンツの要求は、IPアドレス等の他のロケーション識別子を入力することによって行うことができる。
ブロック221に示すように、要求されたURLごとに、カスタマイズされたブラウザ206は、要求されたURLを、当該要求されたURLに関連するアクティビティタイプを判断する要求とともにサービスサーバ201に転送することができる。ブロック221に示すように、カスタマイズされたブラウザ206から受信した要求されたURLごとに、サービスサーバ201は、要求されたURLが或るアクティビティタイプを示すか否かを判断することができる。すなわち、サービスサーバ201は、カスタマイズされたブラウザ206から要求されたURLを受信し、この要求されたURLを或るアクティビティタイプとして分類することができるか否か、また、分類することができる場合はどのアクティビティタイプかを判断することができる。ショッピングアクティビティステージとも呼ぶことができるアクティビティタイプは、商品の検索、商品の閲覧、カートへの商品追加、カートの閲覧、精算の開始、購入の実行、及びショッピングに関連する他のそのようなアクティビティ及びそのバリエーション並びにその組み合わせを含むことができる。
サービスサーバ201は、静的なルール、トレーニングされたデータモデル、又は他のそのような技法を用いて、要求されたURLを或るアクティビティタイプとして分類することができるか否かを、要求されたURLの要素と、サービスサーバ201が取得できるか又はブラウザ206が提供できる、要求されたURLに関連するページのコンテンツと、他のそのようなデータとの少なくともいずれかに基づいて、判断することができる。アクティビティモデルは、観測されたユーザショッピングセッションに関連するトレーニングデータを用いてトレーニングすることができる。例えば、ユーザショッピングセクションを追跡し、各ウェブページ又は一連のウェブページを、ユーザがそれぞれのウェブページ又は一連のウェブページを訪れていた間に観測されたような或るアクティビティタイプへと手動でタグ付けすることができる。ウェブページ及び対応するタグに関連するURLのうちの一部又は全てを含むこのデータをトレーニングデータとして用いて、カスタマイズされたウェブブラウザ206から受信したURL又は一連のURLを自動で分類するアクティビティモデルを生成することができる。届いたURL又は一連のURLは、その後、トレーニングされたアクティビティモデルを用いて分類することができ、その結果、URLは或るアクティビティタイプへと分類される(あるいは或るアクティビティタイプに分類されない)。
同様に、集約されたデータを元にアクティビティモデルをトレーニングすることができる。例えば、注文と、注文をもたらしたセッションにおいて見られた全てのページビューを用いて、モデルをトレーニングすることができる。このデータを用いて、トレーニングされたアクティビティモデルは、或るページが精算確認ページである尤度を予測することができる。
静的なルールに関して、或るページタイプの識別情報(例えば、"^walmart.com\/product\/(.*)"という商品ページ)を提供することができる(キャプチャグループを有する)正規表現(regex)パターンが存在する場合がある。ここで、キャプチャグループは、サービスが所有する商品データベースにおける参照用の商品IDを表す。ページタイプに基づいて、アクティビティタイプを判断することができる。例えば、特定のページタイプは、特定のアクティビティタイプに関連付けることができる。
サービスサーバ201は、要求されたURLを或るアクティビティタイプとして分類することができると判断した場合、本明細書に更に記載するように、分類されたアクティビティタイプに基づいて、データ補完及びアクション促進などの改良型ショッピング機能を提供することができる。
図3に、要求されたURLが、カスタマイズされたブラウザ206から受信されたときに、サービスサーバ201が実行することができるステップのフロー図300を示す。前述のとおり、ブロック301に示すように、サービスサーバ201は、要求されたURLを受信したのち、要求されたURLを或るアクティビティタイプとして分類することができる。サービスサーバ201は、要求されたURLを或るアクティビティタイプとして分類することができないと判断した場合、それ以上の処理を中止し、次の要求されたURLが、カスタマイズされたブラウザ206から受信されるのを待機することができる。
要求されたURLの分類の際又は分類ののち、ブロック303に示すように、その結果をサービスサーバ201が取り込むことができる。例えば、要求されたURL及び要求されたURLのアクティビティタイプの分類を、ユーザデータとともに記憶することができる。いくつかの事例では、結果をユーザパーソナライゼーションモデルに入力することができる。この点に関して、ユーザパーソナライゼーションモデルは、ユーザデータに関連するパーソナライゼーションモデルを更に精緻化するために、要求されたURL及びアクティビティタイプ分類を用いて再トレーニングすることができる。
ブロック305に示すように、サービスサーバ201は、要求されたURLに関連するデータを、追加のデータを用いて補完することができる。この点に関して、判定されたアクティビティタイプ分類に基づいて、サービスサーバ201は、追加のデータソースから追加の情報を収集することができる。追加のデータソースは、サービス側によって保持することができ、サービスと提携したソース(例えば、公開者、小売業者等)から、及び/又はサービスがアクセスを有する他のソースから、提供することができる。
例えば、要求されたURLは、「商品の閲覧」というアクティビティタイプとして分類することができる一方、要求されたURLに関連するウェブページ上の商品は、要求されたURLから入手できない場合がある。むしろ、この所与の例では、商品は、要求されたURLに関連する小売業者によって割り当てられた「商品1234」等の任意の識別子によって識別することができる。サービス側は、小売業者と提携することができ、この提携には、小売業者の商品データベースへのアクセスを含むことができる。「商品の閲覧」というアクティビティタイプと、要求されたURLが小売業者に属するか又は別の方法で対応するとの判断とに基づいて、サービスサーバは、小売業者の商品データベースから「商品1234」に対応する情報を取得することができる。「商品1234」に関するこの追加の情報は、商品のタイプ、商品のブランド等、商品を特定する情報を含むことができる。例えば、小売業者のデータベースから得られた情報は、「商品1234」が32””テレビジョンというブランド名に対応するということを示すことができる。サービスサーバ201は、閲覧している商品がTVのカテゴリにあること、及びこのTVの価格、このTVのサイズ、このTVのブランド等の商品に関連する他のメタデータも判断することができる。
上述の例は、サービスサーバ201が小売業者データベースにアクセスすることを可能にする提携をサービスが小売業者と結んでいる状況を記載したが、サービスサーバ201は他のソースから追加の情報を取得することができる。例えば、サービスサーバ201は、ユニバーサル商品コード(UPC)データベースにアクセスして、要求されたURL内のUPCを、或る商品に合致させることができる。別の例では、サービスサーバ201は、パブリックのAPIを通じて他の当事者のデータベースにアクセスすることができる。更に別の例では、サービスサーバ201は、要求されたURLに関連するウェブページを取得し、構造化データの分析、自然言語処理、JSONタグ、又は他のそのような処理及びデータを用いて、追加の情報を判断することができる。例えば、要求されたURLは、「商品の閲覧」というアクティビティタイプとして分類することができる。閲覧している商品に関する追加の情報を判断するために、サービスサーバ201は、要求されたURLに関連するウェブページにアクセスし、このページからメタタグを収集することができる。こうしたメタタグに基づいて、ウェブページ上の商品に関する追加の情報を判断することができる。
要求されたURL(又は本明細書に記載したようなアクティビティ)に関連するデータを補完するのに用いることができる追加の情報としては、閲覧している商品の商品レビュー、小売業者のウェブサイト上の商品又は類似商品の検索結果、検索エンジンからの商品、類似商品、及び/又は小売業者の検索結果、現在閲覧しているウェブページのコンテキストに基づく精算が完了したという確認、ユーザが精算ページにいることを示す情報、ユーザがカートに商品を追加したという情報、ユーザが商品を閲覧しているという情報等を挙げることができる。
サービスサーバ201によって収集された追加の情報のうちの一部又は全てを用いて、要求されたURLに関連するデータを補完することができる。この補完されたデータは、ユーザデータとともに及び/又はユーザデータに関連して記憶することができる。さらに、補完されたデータを用いて、ユーザに関連するパーソナライゼーションモデルを更に精緻化及び/又はトレーニングすることができる。パーソナライゼーションモデルを用いて、ユーザに関連する履歴データに基づいてユーザに合わせたアクション促進を行うことができる。例えば、パーソナライゼーションモデルを用いて、ユーザが以前にオファー、割引、商品、又は他のそのようなアクション促進を見たことがあるか否かを判断することができ、過去のユーザアクションに基づいて、ユーザに提供されるアクション促進を調整するか又は同じアクション促進を示すことができる。さらに、パーソナライゼーションによって、本明細書に記載するように、過去のアクティビティ、買い物客の評価、小売業者のターゲティング等に基づいて、ユーザに提示されるアクション促進のカスタマイゼーションが可能になり得る。
ブロック307に示すように、ユーザデータは、サービスサーバ201が得ることができる。ユーザデータは、要求されたURLを要求したユーザのユーザデータに関連する任意の情報を含むことができる。ブロック309に示すように、得られたユーザデータ及び他のデータに基づいて、アクションの促進をサービスサーバ201によって選択することができる。アクション促進は、ユーザの商品購入を誘導するか又は別のやり方で影響し得る任意の商取引機能を含むことができる。1つの例では、アクション促進は、現在閲覧している商品及びユーザの過去の購入品に基づいた商品の推奨を含むことができる。他の例示のアクション促進としては、要求されたURL上で閲覧している同じ商品が別の小売業者においてより安価に入手できるという通知、要求されたURLに関連するウェブページ上で商品又は競合商品のボーナス又はオファーが利用可能であるという通知、よりハイエンド(又はローエンド)な商品がユーザの好みに合う可能性があるという通知等が挙げられる。
アクションの促進は、限定はしないが、コンテキスト及び期待値を含む、多くの要因に基づいて選択することができる。コンテキストは、ユーザ、訪問しているURL等の既知の詳細情報を所与として合理的なものとして定めることができる。例えば、ユーザが或る商品を閲覧している場合、価格の比較、謝礼、又は代替的な商品の推奨を行うことができる。別の例では、ユーザが商品をカートに追加した場合に、バスケットサイズを増加させるべく、一括(bundling)した商品の推奨、又は追加のボーナスを提供することができる。期待値は、特定のアクションがユーザに作用する期待の度合いとして定めることができる。換言すれば、選択されたアクション促進が生み出し得る価値がどの程度かということである。限定ではなく例として、期待値は、商品推奨の品質及び/又は信頼度、ボーナス又は謝礼オファーのサイズ、及び或るアクション促進に関連する商品/サービスをユーザが購入又は別の方法で選択する可能性を増加し得る他のそのような要因に基づいて求めることができる。コンテキストは、コンテキスト上、関連するアクション促進を提供するフィルターとして機能し、アクション促進の期待値は、ランキングとして用いることができる。アクション促進の選択は、高いランキング(すなわち期待値)を有するとともに、現在のコンテキストに適した1つ以上のアクション促進を含むことができる。事例によっては、アクション促進が選択されない場合がある。
いくつかの事例では、公開者はアクション促進を定めることができる。例えば、公開者は、1つ以上のアクション促進をサービス側に提供することができる。公開者は、アクション促進を提供すべきときの基準もサービス側に提供することができる。この点に関して、サービスサーバ201は、基準が満たされたときに、公開者から提供されたアクション促進を選択することができる。例えば、公開者は、競合者のウェブページを閲覧しているユーザを公開者のウェブページに誘導するために、このユーザに謝礼を提供するようにサービスサーバ201に指示することができる。
ブロック311に示すように、サービスサーバ201は、アクティビティタイプへの分類が正常に完了したことを通知するための受領者を決定することができる。この点に関して、特定のアクティビティタイプに関心がある当事者は、特定のアクティビティタイプ分類の通知についてサービス側と合意することができる。例えば、サービスサーバ201は、ブラウザ206等のカスタマイズされたブラウザ上で行われているアクティビティについてアクティビティタイプへの分類が正常に完了したと判断することができ、カスタマイズされたウェブブラウザは、公開者アプリ204等の公開者のアプリケーションに埋め込まれる。この判断に基づいて、サービスサーバ201は、公開者に通知することができる。公開者への通知は、ウェブフック(webhook)、アラート、又は図2のブロック225に示すように、サービスサーバ201から公開者サーバ203に送られる他のそのような通知を含むことができる。サービスサーバ201から受信した通知に基づいて、公開者サーバ203は、公開者アプリ204又はブラウザ206内でアクションを開始することができる。例えば、公開者サーバ203は、分類されたアクティビティタイプ、要求されたURLに関連する補完されたデータ、ユーザデータ、及び/又はサービスサーバ201によって公開者サーバ203に提供することができる他の任意の情報に基づいて、公開者のアプリケーション204又はカスタマイズされたブラウザ206内で広告を提供することができる。
図3を再び参照すると、サービスサーバ201は、ブロック313に示すように、要求されたURLのアクティビティタイプ分類についてカスタマイズされたブラウザの要求に応答することができる。この応答は、補完されたデータ、選択されたアクション促進、アクティビティタイプの分類、及び/又はブロック301〜311を参照して概説したようなサービスサーバ201が取得、判断、及び/又は受信した他の任意のデータ及び命令を含むことができる。応答により返されたデータ及び命令は、まとめて分類応答(分類結果)と呼ぶことができる。分類応答は、カスタマイズされたウェブブラウザ206によってロードすることができる構造化データ、スクリプト、命令等の形態とすることができる。
カスタマイズされたブラウザは、図2のブロック227に示すように、受信した分類応答に従って構成することができる。例えば、カスタマイズされたブラウザ206は、分類応答において受信した命令のうちの一部又は全てを実行し、分類応答において受信したデータを表示することができる。いくつかの事例では、カスタマイズされたブラウザ206は、特定の分類応答を受信すると特定のアクションを行うようにプログラミングすることができる。例えば、公開者は、特定の分類タイプを示す分類応答に応じて、広告、クーポン、謝礼、商品の推奨、価格の比較、ユーザレビュー等を表示するように、カスタマイズされたブラウザをプログラミングすることができる。別の例では、ブロック231に示すように、カスタマイズされたブラウザ206は、このブラウザが埋め込まれた公開者アプリケーション204に、特定のアクティビティ分類が分類応答において受信されたと通知することができる。公開者のアプリケーションは、ブロック233に示すように、この情報を受信することができ、これに応じて何らかのアクションを行うことができる。
ブロック229に示すように、カスタマイズされたブラウザは、要求されたURLに関連するウェブページをロードすることができる。図2に、カスタマイズされたブラウザ206が、要求されたURLに関連するウェブページをブロック221〜227の後にロードすることを示しているが、カスタマイズされたブラウザ206は、要求されたURLに関連するウェブページを、ブロック221〜227に関して概説したステップの実行と並行してロードすることができる。
図4のフロー図400に、カスタマイズされたブラウザ206上のページ内でアクションを実行する処理を示す第3部401を示す。ブロック417に示すように、サービスサーバ201が作成及び提供したトークンは、第3部401全体を通して持続し続けることができる。
ブロック229の完了後、及び必要に応じて図2に示すブロック231及び233の完了後、カスタマイズされたブラウザは、ロードされたウェブページ上で行われるアクティビティをモニタリング及び収集することができる。この点に関して、カスタマイズされたブラウザは、図4のブロック411に示すように、ウェブページ上のアクティビティをモニタリング及び収集することができる。そのようなアクティビティは、ブロック409に示すように、ユーザアクションの結果又はユーザデバイス205によってロードされたリソースとして受信することができる。他のアクションは、ウェブページ内でロードされたデータ及び命令の結果とすることができる。例えば、カスタマイズされたブラウザ206上にロードされたウェブページ上でモニタリングすることができるアクティビティとしては、ウェブページ上でのリソースローディング(例えば、ロードされたウェブをサービスするのに用いられる後続のリソースのURL、例えば、ウェブページ上にロードされたピクセルのURL)、動的なページ変化を観測するためにウェブページに投入することができるスクリプトの動作、ページを表示するためにロードされたJavaScript、ページ上のユーザアクティビティ(例えば、カートへの追加、商品の閲覧、商品の購入等)、及び他のそのようなアクティビティを挙げることができる。
ページ上の一部又は全てのアクティビティは、ブロック413に示すように、分類のためにサービスサーバ201に送ることができる。例えば、ユーザがオンライン上の衣料品店のウェブページ上で商品をブラウジングしていることは、「ブラウジング」というアクティビティとして分類することができる。
ページ上のアクティビティの分類は、本明細書における図2及び図3に関して記載した、要求されたURLに基づくアクティビティの分類と同様のものとすることができる。この点に関して、図5のフロー図500に示すように、サービスサーバ201は、ブロック501に示すように、モニタリングされたアクティビティを分類のために受信することができる。サービスサーバ201は、ウェブページの訪問又はウェブページとのインタラクションの結果として、カスタマイズされたブラウザ206によってロードされたURL、スクリプト等のうちの一部又は全てを見ることができる。
ウェブページ上のアクティビティの分類は、図3の少なくともブロック301を参照して記載したように、要求されたURLを分類することに関して本明細書に記載したものと同じ技法を用いて実行することができる。この点に関して、アクティビティモデルは、観測されたユーザショッピングセッションに関連するトレーニングデータを用いてトレーニングすることができる。例えば、ユーザショッピングセッションを追跡することができ、セッション内で行われる各アクティビティにタグ付けをすることができる。ウェブページに関連するURL、ウェブページ上のアクティビティのうちの一部又は全てを含むこのデータを用いて、ウェブページ上のアクティビティを自動で分類するアクティビティモデルを生成することができる。
届いたアクティビティデータは、その後、トレーニングされたアクティビティモデルを用いて分類することができ、その結果、当該アクティビティは或るアクティビティタイプに分類される(又は分類されない)。例えば、サービスサーバ201は、図3に関して述べたように、ページ自体のURLと、「example-website.com」のデフォルトのトラッキングピクセルのURLとすることができる或る既知のピクセルのURL(例えば、www.example-website.com/tr)とを受信することができる。トラッキングピクセルURLは、ウェブページ自体のアクティビティとしてみなすことができる。
例示のウェブサイトのトラッキングピクセルのURLへの呼び出しは、分類及び把握への入力をもたらすフィールドを含むことができる。例えば、トラッキングピクセルのURLは、「精算」アクティビティ及び「SKU 123456を有する商品をカートに追加する」アクティビティと呼ぶことができる、「?ev=Checkout」及び「?ev=AddToCart&content_id=123456」等のフィールドを含むことができる。これらのアクティビティの分類は、トレーニングされたアクティビティモデルを用いてサービスサーバ201によって行うことができる。さらに、これらのURL及びフィールドを用いて、アクティビティモデルを更に精緻化することができる。
トラッキングピクセルURL等のウェブページ上のアクティビティに関連するURLが、サービスサーバ201によって全て受信されるので、カスタマイズされたブラウザのアクティビティをサービスサーバ201が自由に観測することができる。そうした要求を受け、サービスされるネットワークレイヤに転送し、呼び出し側ページに応答を返すのは、サービスサーバ201の役割である。URL要求がウェブページのコンテキストで発生する間、URL要求は、ウェブページ上のアクティビティから生じたURL要求がロードされるウェブページ上にはないものとみなすことができる。
アクティビティタイプを分類すると、サービスサーバ201は、ブロック503に示すように結果を取り込み、ブロック509に示すようにデータを補完し、ブロック511に示すように受領者を決定し、ブロック513に示すように、カスタマイズされたウェブブラウザに応答することができる。これらのステップのそれぞれは、図3のステップ303〜313に関して上記で説明したようにサービスサーバ201によって実行することができる。
ブロック415に示すように、サービスサーバ201は、アクティビティタイプの分類が正常に完了したと通知する受領者を決定することができる。この決定に基づいて、サービスサーバ201は、公開者に通知することができる。公開者への通知は、ウェブフック、アラート、又は図2のブロック225に関して説明したように、サービスサーバ201から公開者サーバ203に送信される他のそのような通知を含むことができる。
ブロック419に示すように、カスタマイズされたブラウザ206は、サービスサーバ201からの応答において受信した分類応答に従って構成することができる。図2のブロック227に関して記載したカスタマイゼーションと同様のカスタマイゼーションとすることができる。フロー図200及び400は、例示を目的としているに過ぎない。ブロックに図示したステップの順序は、直線的でなくてもよい。例えば、ユーザは、第3部の動作後又はその最中に新たなURLを要求することができる。
上述の例は、或る特定のステップがサービスサーバ201によって実行されるものとして記載したが、これらのステップは、代替的には、カスタマイズされたブラウザ206によって実行することができる。例えば、カスタマイズされたブラウザは、図3及び図5に関して記載したアクティビティ分類を行うようにプログラミングすることができる。さらに、カスタマイズされたブラウザ及び/又はサービスサーバの機能は、拡張機能によって行うことができる。さらに、カスタマイズされたウェブブラウザの何らかの機能をサービスサーバによって実行することができる。
図6に、カスタマイゼーション拡張機能621の一例を示す。この拡張機能を通じて、公開者は、カスタマイズされたウェブブラウザを自己のアプリケーション601内に埋め込む必要なく、カスタマイズされたブラウザの機能を利用することができる。ブロック625に示すカスタマイゼーションは、非限定的な例として、表示される宛先622のタイトル626の設定、表示される宛先622のサブタイトル628の設定、ブラウザの配色の設定、タイトル626又はサブタイトル628等のブラウザの或る特定のロケーションが選択された場合にアクションの提供を含むことができる。
ユーザが公開者アプリ601内のウェブページをナビゲートする際、カスタマイゼーション拡張機能621は、ユーザアクティビティブロック623への応答によって示すように、ウェブブラウザ内のナビゲーション及びアクティビティを追跡することができる。この点に関して、カスタマイゼーション拡張機能621は、それぞれフロー図3及び5において概説したように、要求されたURLに関連するアクティビティ又はウェブページ上のアクティビティを分類するべく、サービスサーバ201との通信インタフェースを提供することができる。コンテンツの応答は、カスタマイゼーション拡張機能621が受信することができ、これにより、謝礼カード(報酬カード)624によって示すように、ユーザデバイスのディスプレイ上にブラウザカード627が表示されるようにトリガすることができる。この点に関して、カスタマイゼーション拡張機能621は、ブラウザ620内でカード又は他のそのような通知オブジェクトをオーバーレイ表示する機能も提供することができる。例えば、図6に更に示すように、カスタマイゼーション拡張機能621は、ディスプレイ上に「報酬」カード624をオーバーレイ表示することができる。カード624は、ウェブブラウザに表示されている商品に関して報酬が利用可能であること、又は、公開者に関連する報酬等の他の報酬をユーザが利用可能であることを、ユーザデバイスのユーザに知らせることができる。カスタマイゼーション拡張機能621は、カスタマイズされたウェブブラウザ内のカードを削除する、隠す、又はスクロールする機能も提供することができる。図7は、本明細書に記載したような分類応答に基づいて、ユーザデバイス705上で生成することができる例示のカード711、713を示している。
上述した技術を用いて、コミッション(手数料)の支払いを可能にすることができる。この点に関して、URL及びアクティビティのアクティビティタイプ分類に基づいて、サービスに購入アクティビティを通知することができる。こうした通知と、ユーザが訪問したウェブロケーション、ユーザが使用中の公開者アプリ、及び他のそのようなデータの情報とに基づいて、サービスは、コミッションを支払うべきか否か及び支払い対象は誰かを判断することができる。例えば、「購入処理実行済」というアクティビティタイプがユーザのアクティビティに基づいて分類されたことによって示されるように、アクション促進が購入を導いた場合、サービスは、商品販売元の小売業者及び/又は公開者がコミッションを支払うべきと判断することができる。トークンによって、小売業者及びサービスの双方が、コミッション付きの購入品を追跡することが可能になり得る。
別段の指示がない限り、上述の代替的な例は、互いに排他的ではなく、それぞれの利点を達成するために様々な組み合わせで実施することができる。上述したこれらの機能及び他の変形形態並びに組み合わせを、特許請求の範囲によって定められる主題から逸脱することなく利用することができ、上述の記載は、特許請求の範囲によって定められる主題を限定するのではなく、例示するものとして解釈されるべきである。加えて、本明細書に記載した例の提供、及び「等」、「を含む」等という言い回しの節は、特許請求の範囲の主題を特定の例に限定するものとして解釈されるべきではなく、むしろ、こうした例は、多くのあり得る実施形態のうちの1つのみを例示することを意図している。さらに、様々な図における同じ参照符号は、同じ又は類似の要素として特定することができる。

Claims (20)

  1. ユニフォーム・リソース・ロケータ(URL)から受け付けた情報に補足を行う方法であって、
    1つ以上のプロセッサが、要求されたURLを受け付けるステップと、
    1つ以上の前記プロセッサが、要求された前記URLを或るアクティビティタイプに分類するステップと、
    1つ以上の前記プロセッサが、分類された前記アクティビティタイプに基づいて、要求された前記URLに関連する別の情報を取得するステップと、
    1つ以上の前記プロセッサが、前記アクティビティタイプと取得した前記別の情報とに基づいて、1つ以上のアクション促進処理を決定するステップであって、1つ以上の前記アクション促進処理の各々は、ウェブブラウザに対して或るアクションを実行させるものである、ステップと、
    1つ以上の前記プロセッサが、1つ以上の前記アクション促進処理と、分類された前記アクティビティタイプと、前記別の情報とを前記ウェブブラウザに提供するステップと
    を含む方法。
  2. 要求されたURLが前記ウェブブラウザから受け付けられる、請求項1に記載の方法。
  3. 要求された前記URLを或るアクティビティタイプに分類するステップは、要求された前記URLに関連するウェブページ上で行われるアクティビティのタイプを判定するステップを含む、請求項1に記載の方法。
  4. 前記ウェブページ上で行われるアクティビティのタイプを判定するステップは、要求された前記URLを機械学習モデルに入力するステップを含み、前記機械学習モデルは、分類された前記アクティビティタイプを出力するものである、請求項3に記載の方法。
  5. 前記別の情報は、前記ブラウザのユーザに関連するユーザデータと、要求された前記URLのウェブページにある商品の商品レビューと、要求された前記URLの前記ウェブページのコンテキストに基づいて精算が完了したという確認と、要求された前記URLの前記ウェブページが精算ページであるという情報と、要求された前記URLに関連するオンライン小売業者のカートに商品が追加されたという情報と、要求された前記URLに商品があるという情報との少なくともいずれかを含む、請求項1に記載の方法。
  6. 1つ以上の前記アクション促進処理を決定するステップはさらに、
    ユーザデータと分類された前記アクティビティタイプとを含むコンテキストに基づいて、1つ以上の所定のアクション促進処理を選択するステップと、
    選択された複数の前記所定のアクション促進処理にランク付けをするステップと、
    上位のランクにある所定のアクション促進処理のうちの1つ以上を、前記ウェブブラウザに提供される1つ以上の前記アクション促進処理として選択するステップと
    を含む、請求項1に記載の方法。
  7. 前記ウェブブラウザのユーザ又はユーザアカウントを特定するトークンを前記ウェブブラウザに提供するステップを更に含む請求項1に記載の方法。
  8. ユニフォーム・リソース・ロケータ(URL)から受け付けた情報に補足を行うシステムであって、
    1つ以上のプロセッサと、
    1つ以上の前記プロセッサと通信を行う1つ以上の記憶デバイスと
    を備え、
    1つ以上の前記記憶デバイスは命令を有し、前記命令は、1つ以上の前記プロセッサに対し、
    要求されたURLを受け付けるステップと、
    要求された前記URLを或るアクティビティタイプに分類するステップと、
    分類された前記アクティビティタイプに基づいて、要求された前記URLに関連する別の情報を取得するステップと、
    前記アクティビティタイプと取得した前記別の情報とに基づいて、1つ以上のアクション促進処理を決定するステップであって、1つ以上の前記アクション促進処理の各々は、ウェブブラウザに対して或るアクションを実行させるものである、ステップと、
    1つ以上の前記アクション促進処理と、分類された前記アクティビティタイプと、前記別の情報とを前記ウェブブラウザに提供するステップと
    を実行させる、システム。
  9. 要求されたURLが前記ウェブブラウザから受け付けられる、請求項8に記載のシステム。
  10. 要求された前記URLを或るアクティビティタイプに分類するステップは、要求された前記URLに関連するウェブページ上で行われるアクティビティのタイプを判定するステップを含む、請求項8に記載のシステム。
  11. 前記ウェブページ上で行われるアクティビティのタイプを判定するステップは、要求された前記URLを機械学習モデルに入力するステップを含み、前記機械学習モデルは、分類された前記アクティビティタイプを出力するものである、請求項10に記載のシステム。
  12. 前記別の情報は、前記ブラウザのユーザに関連するユーザデータと、要求された前記URLのウェブページにある商品の商品レビューと、要求された前記URLの前記ウェブページのコンテキストに基づいて精算が完了したという確認と、要求された前記URLの前記ウェブページが精算ページであるという情報と、要求された前記URLに関連するオンライン小売業者のカートに商品が追加されたという情報と、要求された前記URLに商品があるという情報との少なくともいずれかを含む、請求項8に記載のシステム。
  13. 1つ以上の前記アクション促進処理を決定するステップはさらに、
    ユーザデータと分類された前記アクティビティタイプとを含むコンテキストに基づいて、1つ以上の所定のアクション促進処理を選択するステップと、
    選択された複数の前記所定のアクション促進処理にランク付けをするステップと、
    上位のランクにある所定のアクション促進処理のうちの1つ以上を、前記ウェブブラウザに提供される1つ以上の前記アクション促進処理として選択するステップと
    を含む、請求項8に記載のシステム。
  14. 前記命令は、1つ以上の前記プロセッサに対し、前記ウェブブラウザのユーザ又はユーザアカウントを特定するトークンを前記ウェブブラウザに提供するステップを更に実行させる、請求項1に記載のシステム。
  15. 命令を有する非一時的なコンピュータ可読媒体であって、
    前記命令は、1つ以上のプロセッサにより実行されると、1つ以上の前記プロセッサに対し、
    要求されたURLを受け付けるステップと、
    要求された前記URLを或るアクティビティタイプに分類するステップと、
    分類された前記アクティビティタイプに基づいて、要求された前記URLに関連する別の情報を取得するステップと、
    前記アクティビティタイプと取得した前記別の情報とに基づいて、1つ以上のアクション促進処理を決定するステップであって、1つ以上の前記アクション促進処理の各々は、ウェブブラウザに対して或るアクションを実行させるものである、ステップと、
    1つ以上の前記アクション促進処理と、分類された前記アクティビティタイプと、前記別の情報とを前記ウェブブラウザに提供するステップと
    を実行させる、非一時的なコンピュータ可読媒体。
  16. 要求されたURLが前記ウェブブラウザから受け付けられる、請求項15に記載の非一時的なコンピュータ可読媒体。
  17. 要求された前記URLを或るアクティビティタイプに分類するステップは、要求された前記URLに関連するウェブページ上で行われるアクティビティのタイプを判定するステップを含む、請求項15に記載の非一時的なコンピュータ可読媒体。
  18. 前記ウェブページ上で行われるアクティビティのタイプを判定するステップは、要求された前記URLを機械学習モデルに入力するステップを含み、前記機械学習モデルは、分類された前記アクティビティタイプを出力するものである、請求項17に記載の方法。
  19. 前記別の情報は、前記ブラウザのユーザに関連するユーザデータと、要求された前記URLのウェブページにある商品の商品レビューと、要求された前記URLの前記ウェブページのコンテキストに基づいて精算が完了したという確認と、要求された前記URLの前記ウェブページが精算ページであるという情報と、要求された前記URLに関連するオンライン小売業者のカートに商品が追加されたという情報と、要求された前記URLに商品があるという情報との少なくともいずれかを含む、請求項15に記載の非一時的なコンピュータ可読媒体。
  20. 1つ以上の前記アクション促進処理を決定するステップはさらに、
    ユーザデータと分類された前記アクティビティタイプとを含むコンテキストに基づいて、1つ以上の所定のアクション促進処理を選択するステップと、
    選択された複数の前記所定のアクション促進処理にランク付けをするステップと、
    上位のランクにある所定のアクション促進処理のうちの1つ以上を、前記ウェブブラウザに提供される1つ以上の前記アクション促進処理として選択するステップと
    を含む、請求項15に記載の非一時的なコンピュータ可読媒体。
JP2020218978A 2019-12-31 2020-12-28 埋め込みモバイルブラウザ Pending JP2021114285A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962955553P 2019-12-31 2019-12-31
US62/955,553 2019-12-31
US16/918,380 US20210203711A1 (en) 2019-12-31 2020-07-01 Embedded Mobile Browser
US16/918,380 2020-07-01

Publications (1)

Publication Number Publication Date
JP2021114285A true JP2021114285A (ja) 2021-08-05

Family

ID=76547789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020218978A Pending JP2021114285A (ja) 2019-12-31 2020-12-28 埋め込みモバイルブラウザ

Country Status (2)

Country Link
US (1) US20210203711A1 (ja)
JP (1) JP2021114285A (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079876B1 (en) * 2014-09-30 2018-09-18 Palo Alto Networks, Inc. Mobile URL categorization
US10218716B2 (en) * 2016-10-01 2019-02-26 Intel Corporation Technologies for analyzing uniform resource locators
US11195106B2 (en) * 2017-06-28 2021-12-07 Facebook, Inc. Systems and methods for scraping URLs based on viewport views
US10248306B1 (en) * 2017-12-20 2019-04-02 Motorola Mobility Llc Systems and methods for end-users to link objects from images with digital content
US10958683B2 (en) * 2018-04-26 2021-03-23 Wipro Limited Method and device for classifying uniform resource locators based on content in corresponding websites
US10944789B2 (en) * 2018-07-25 2021-03-09 Easy Solutions Enterprises Corp. Phishing detection enhanced through machine learning techniques
US11010446B2 (en) * 2018-08-29 2021-05-18 International Business Machines Corporation Intelligent feedback and context driven web navigation
US11368486B2 (en) * 2019-03-12 2022-06-21 Fortinet, Inc. Determining a risk probability of a URL using machine learning of URL segments
US20200311156A1 (en) * 2019-03-29 2020-10-01 Microsoft Technology Licensing, Llc Search-based url-inference model

Also Published As

Publication number Publication date
US20210203711A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
US20200351356A1 (en) Systems and methods for automatically saving a state of a communication session
US10303728B2 (en) Personalized landing pages
AU2012100880A4 (en) Systems and methods for behavioral modeling to optimize shopping cart conversion
US9852477B2 (en) Method and system for social media sales
US11488222B2 (en) Systems and methods for SMS e-commerce assistant
US20190019203A1 (en) Method for providing marketing management data for optimization of distribution and logistics and apparatus for the same
KR101847761B1 (ko) 거래를 용이하게 하는 방법 및 시스템
US9489461B2 (en) Search ranking diversity based on aspect affinity
CN105493119A (zh) 基于智能手机的互动广告输出***
US20160314494A1 (en) Interaction-Based Content Configuration
US20170169477A1 (en) Determining item of information, from content aggregation platform, to be transmitted to user device
WO2018089676A1 (en) Product tagging and purchasing method and system
US20140372220A1 (en) Social Media Integration for Offer Searching
KR102402551B1 (ko) 인플루언서 검색 서비스 제공방법, 장치 및 컴퓨터프로그램
JP2021114285A (ja) 埋め込みモバイルブラウザ
US11042904B1 (en) Method and system for detecting application programs on mobile computing device
US20210263988A1 (en) Embedded Mobile Browser
Zheng et al. Recommending What to Search: Sales Volume and Consumption Diversity Effects of a Query Recommender System
US20220114638A1 (en) Dynamically updating ecommerce basket
KR102504344B1 (ko) 자동 광고 대행 서버, 광고 대상, 사용자, 또는 매체 정보에 대응하여 랜딩 페이지를 생성하여 제공하는 방법 및 상기 방법을 실행하기 위한 컴퓨터 프로그램
US20220342940A1 (en) Method, apparatus, and computer program product for inferring device rendered object interaction behavior
US20230186376A1 (en) Systems and methods for user interface orchestration and presentation
WO2024119236A1 (en) System and method for facilitating searching and identification of products and services of interest in an online environment
KR102241401B1 (ko) 위시카드를 이용한 카드 추천 서비스 시스템 및 방법