(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-06
(54)【発明の名称】動的なウェブコンテンツによるクロスドメイン双方向通信のための方法およびシステム
(51)【国際特許分類】
H04L 67/02 20220101AFI20230929BHJP
G06Q 30/0601 20230101ALI20230929BHJP
【FI】
H04L67/02
G06Q30/0601 340
G06Q30/0601
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023518105
(86)(22)【出願日】2021-09-20
(85)【翻訳文提出日】2023-05-16
(86)【国際出願番号】 US2021051111
(87)【国際公開番号】W WO2022061237
(87)【国際公開日】2022-03-24
(32)【優先日】2020-09-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519096183
【氏名又は名称】コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(74)【代理人】
【識別番号】100191086
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】ロス,ティモシー
(72)【発明者】
【氏名】シャハト,クリストファー
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB47
5L049BB66
(57)【要約】
クロスドメイン双方向通信を可能にするために、第1のドメインからの第1のウェブページを変更する方法が開示される。本方法は、ウェブブラウザに、UIを含む動的コンテンツを、第1のウェブページの一部として、ロードさせること;第1のドメインとは異なる第2のドメインからの第2のウェブページを含むiFrameを第1のウェブページに埋め込ませること;iFrame内からスクリプトファイルをロードさせること;スクリプトファイルによって定義された1つ以上の関数をUIに結合させること;UIとやり取りするユーザーに応答して、1つ以上の関数を使用してメッセージを第2のドメインに送信させること;および第2のドメインにおけるサーバーからの応答の受信後、受信した応答に対応して、UIを更新させることを含む。本方法は、異なるドメイン上のウェブページ間で同期化を維持するシームレスなクロスドメインユーザーインタフェースも可能にする。
【選択図】
図3
【特許請求の範囲】
【請求項1】
クロスドメイン双方向通信を可能にするために、第1のドメインからの第1のウェブページを変更する方法であって、
ウェブブラウザに、前記第1のウェブページの一部として、1つ以上のユーザーインタフェース要素を含む動的コンテンツをロードさせることと、
前記ウェブブラウザに、前記第1のドメインとは異なる第2のドメインからの第2のウェブページを含むiFrameを前記第1のウェブページに埋め込ませることと、
前記ウェブブラウザに、前記iFrame内からスクリプトファイルをロードさせることと、
前記iFrameの前記埋込みおよび前記iFrame内の前記スクリプトファイルのロードの後、前記ウェブブラウザに、前記スクリプトファイルによって定義された1つ以上の関数を前記1つ以上のユーザーインタフェース要素に結合させることであって、前記1つ以上の関数は、前記ウェブブラウザのWindow.postMessage()機能を含むことと、
前記ウェブブラウザに、前記1つ以上のユーザーインタフェース要素とやり取りする前記ユーザーに応答して、前記1つ以上の関数を使用してポストメッセージを前記第2のドメインに送信させることと、
前記ウェブブラウザに、前記ウェブブラウザのWindow.postMessage()機能を使用して前記第2のドメインにおけるサーバーからの応答の受信後、前記受信した応答に対応して前記1つ以上のユーザーインタフェース要素を更新させることと
を含む、方法。
【請求項2】
前記1つ以上のユーザーインタフェース要素は、前記第2のドメインにおけるウェブページのユーザーインタフェース要素と同一の外観を有する、請求項1に記載の方法。
【請求項3】
前記第2のドメインからの前記第2のウェブページは、カートに入れられている品目を示すオンラインショッピングカートページである、請求項2に記載の方法。
【請求項4】
前記第2のドメインに送信された前記ポストメッセージは、前記第2のドメインにおける前記サーバーが、それが前記第1のドメインによって提供されたウェブページ内から送信されたと判断できないように構築される、請求項1に記載の方法。
【請求項5】
前記ウェブブラウザに、前記第2のドメインから、第3のウェブページをロードさせて、ユーザーが前記第3のウェブページのユーザーインタフェースとやり取りして、前記第3のウェブページの前記ユーザーインタフェースに対して持続的な変更を引き起こすのを可能にすることと、
前記ウェブブラウザに、続いて前記第1のウェブページをロードする場合、前記第3のウェブページの前記ユーザーインタフェースに対して行われた前記持続的な変更を反映するように前記1つ以上のユーザーインタフェース要素を更新させることと
をさらに含む、請求項1に記載の方法。
【請求項6】
前記第3のウェブページの前記ユーザーインタフェースはオンラインショッピングカートであり、前記ユーザーインタフェースに対する前記持続的な変更は、1つ以上の品目が前記オンラインショッピングカートに入れられているという表示を含む、請求項5に記載の方法。
【請求項7】
前記ウェブブラウザに、ユーザー入力に応答して、前記第1のウェブページ上の前記1つ以上のユーザーインタフェース要素を、それらのユーザーインタフェース要素に対する持続的な変更で更新させることと、
前記ウェブブラウザに、続いて前記第3のウェブページをロードする場合、前記1つ以上のユーザーインタフェース要素に対して行われた前記持続的な変更を反映するように前記第3のウェブページの前記ユーザーインタフェースを更新させることと
をさらに含む、請求項5に記載の方法。
【請求項8】
ユーザーインタフェース要素の2つの同一のセットが、それぞれ、前記第3のウェブページの前記ユーザーインタフェースおよび前記第1のウェブページの前記1つ以上のユーザーインタフェース要素内で維持されていて、かつ、変更が1つのセットに適用されて、他方のセットを含むウェブページがロードされるときはいつでも、クロスドメインユーザーインタフェースが前記2つの同一のセット間の同期化を介して維持される、請求項5に記載の方法。
【請求項9】
前記iFrameは前記第1のウェブページに埋め込まれていて、前記ユーザーには見えない、請求項1に記載の方法。
【請求項10】
前記iFrameは、前記iFrameのサイズまたは位置の結果として、前記第1のウェブページの他の要素の間に隠されている、請求項1に記載の方法。
【請求項11】
クロスドメイン双方向通信を可能にするために第1のドメインからの第1のウェブページの変更を引き起こすためのシステムであって、
1つ以上のプロセッサと、
命令を格納する持続性メモリであって、前記命令は、前記1つ以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、
ウェブブラウザに、前記第1のウェブページの一部として、1つ以上のユーザーインタフェース要素を含む動的コンテンツをロードさせることと、
前記ウェブブラウザに、前記第1のドメインとは異なる第2のドメインからの第2のウェブページを含むiFrameを前記第1のウェブページに埋め込ませることと、
前記ウェブブラウザに、前記iFrame内からスクリプトファイルをロードさせることと、
前記iFrameの前記埋込みおよび前記スクリプトファイルの前記iFrameへのロードの後、前記ウェブブラウザに、前記スクリプトファイルによって定義された1つ以上の関数を前記1つ以上のユーザーインタフェース要素に結合させることであって、前記1つ以上の関数は、前記ウェブブラウザのWindow.postMessage()機能を含むことと、
前記ウェブブラウザに、前記1つ以上のユーザーインタフェース要素とやり取りする前記ユーザーに応答して、前記1つ以上の関数を使用してポストメッセージを前記第2のドメインに送信させることと、
前記ウェブブラウザに、前記ウェブブラウザのWindow.postMessage()機能を使用して前記第2のドメインにおけるサーバーからの応答の受信後、前記受信した応答に対応して前記1つ以上のユーザーインタフェース要素を更新させることと
を行わせる、持続性メモリと
を備える、システム。
【請求項12】
前記1つ以上のユーザーインタフェース要素は、前記第2のドメインにおけるウェブページのユーザーインタフェース要素と同一の外観を有する、請求項11に記載のシステム。
【請求項13】
前記第2のドメインからの前記第2のウェブページは、カートに入れられている品目を示すオンラインショッピングカートページである、請求項12に記載のシステム。
【請求項14】
前記第2のドメインに送信された前記ポストメッセージは、前記第2のドメインにおける前記サーバーが、それが前記第1のドメインによって提供されたウェブページ内から送信されたと判断できないように構築される、請求項11に記載のシステム。
【請求項15】
前記命令は、前記1つ以上のプロセスによって実行される場合に、前記1つ以上のプロセッサに、
前記ウェブブラウザに、前記第2のドメインから、第3のウェブページをロードさせて、ユーザーが前記第3のウェブページのユーザーインタフェースとやり取りして、前記第3のウェブページの前記ユーザーインタフェースに対して持続的な変更を引き起こすのを可能にすることと、
前記ウェブブラウザに、続いて前記第1のウェブページをロードする場合、前記第3のウェブページの前記ユーザーインタフェースに対して行われた前記持続的な変更を反映するように前記1つ以上のユーザーインタフェース要素を更新させることと
をさらに行わせる、
請求項11に記載のシステム。
【請求項16】
前記第3のウェブページの前記ユーザーインタフェースはオンラインショッピングカートであり、前記ユーザーインタフェースに対する前記持続的な変更は、1つ以上の品目が前記オンラインショッピングカートに入れられているという表示を含む、請求項15に記載のシステム。
【請求項17】
前記命令は、前記1つ以上のプロセスによって実行される場合に、前記1つ以上のプロセッサに、
前記ウェブブラウザに、ユーザー入力に応答して、前記第1のウェブページ上の前記1つ以上のユーザーインタフェース要素を、それらのユーザーインタフェース要素に対する持続的な変更で更新させることと、
前記ウェブブラウザに、続いて前記第3のウェブページをロードする場合、前記1つ以上のユーザーインタフェース要素に対して行われた前記持続的な変更を反映するように前記第3のウェブページの前記ユーザーインタフェースを更新させることと
をさらに行わせる、請求項15に記載のシステム。
【請求項18】
ユーザーインタフェース要素の2つの同一のセットが、それぞれ、前記第3のウェブページの前記ユーザーインタフェースおよび前記第1のウェブページの前記1つ以上のユーザーインタフェース要素内で維持されていて、かつ、変更が1つのセットに適用されて、他方のセットを含むウェブページがロードされるときはいつでも、クロスドメインユーザーインタフェースが前記2つの同一のセット間の同期化を介して維持される、請求項15に記載のシステム。
【請求項19】
前記iFrameは前記第1のウェブページに埋め込まれていて、前記ユーザーには見えない、請求項11に記載のシステム。
【請求項20】
前記iFrameは、前記iFrameのサイズまたは位置の結果として、前記第1のウェブページの他の要素の間に隠されている、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本革新は一般に、ウェブフレームおよびグラフィック合成に対応し、より詳細には、双方向通信を介して、第1のウェブサイト上に表示されたデジタル広告または他のインポートされたコンテンツを、そのウェブサイトのショッピングカートなどの、第2のウェブサイトのサーバー側機能に直接リンクする、Supra Boundary Web Compositorのためのシステムおよび方法に対応する。
【背景技術】
【0002】
広告業界の「聖杯」は、広告と購入との間の直接的な関係を証明する能力を常に有していた。しかし、この目標は広告主の手をすり抜けていった。ジョン・ワナメーカーによる、その業界の最も有名な引用句は、「私は、私の広告予算の半分は無駄であることを知っている:問題は、どの半分かが分からないことだ!(I know that half my advertising budget is wasted;the problem is I don‘t know which half!)」である。
【0003】
その後インターネットが到来してさえ、デジタル広告が、デジタル広告に関連した多過ぎるタイプの消費者挙動の測定、インターネット上の他の消費者挙動の最新式の測定、ならびにより効果的な広告で消費者を標的とするためのオンラインおよびオフラインデータの両方の極めて巧妙な使用を-全て広告と消費者のその後の行動との間の直接的な関係の立証を期待して-可能にしたとき、消費者の広告への暴露と、その消費者のその後の挙動との間の、間接的な、推測される関係を描くことしか可能になっていない。
【0004】
さらに、間接的な関係が推測できる場合でさえ、功績を、見られた特定の広告だけに帰することはほとんど不可能であり、それに対して、他の/異なる広告を見ること、オンラインおよびオフライン両方の他のマーケティング機構(リニアテレビから道端の広告板まで)への暴露などの、多くの他の誘因源が作用し得る可能性を認める。
【0005】
追加として、広告の対話式方法は多くの場合、ユーザーのウェブブラウザ内のセキュリティ設定によって阻止され、それは1つのドメインから別のドメインへのAJAX(非同期JavaScript(登録商標)とXML)関数呼び出しを阻む。これらの関数呼び出しは、対話式ウェブ閲覧のバックボーンであり、ウェブページが外部ソースからコンテンツを動的にロードするのを可能にする。任意のソースからのコンテンツのロードは著しいセキュリティリスクであり得るので、多くの最新のブラウザは同じドメインへのAJAX呼び出しだけを許可する。従って、全てのデータソースは、単一のドメイン内に格納される(または少なくとも格納されているように見える)必要があり、動的コンテンツに関して任意の制約を設けて、その制限に対処するためのサーバー側の回避方法などの不必要なアーキテクチャ設計決定を強制し、消費者にとって役立つために最も良く使用され得る複数のデータソースから連携/統合を妨げる。代替として、複数のデータソースから取り込もうとするウェブサイトにアクセスしたいユーザーは、超低セキュリティ設定を容認するブラウザを使用して、インターネットの閲覧中にクロスドメインスクリプティング攻撃への暴露という不都合および危険に対処するする必要があろう。
【0006】
従って、広告を購入にもっと直接的に結び付ける広告を作成できるシステムを有すること、およびより機能的な広告のためにクロスドメイン通信を容易にするシステムに対する利点がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
広告からカート(「A2C」)への通信は、文字通りに広告をウェブサイトのショッピングカートへ、およびその逆へ結び付けることにより(双方向通信の作成およびデータ渡し)、デジタル広告を直接的に小売商のウェブサイト上での購入に結び付けるための洗練されたソリューションを提供し、それにより消費者は、広告自体内で直接、その小売商のオンラインストアで買い物することができ、購入のために製品を選択し、それらを、実際は小売商のウェブサイト上のショッピングカートの直接のインスタンス化である、広告内のショッピングカートに直接入れる。デジタル広告内のショッピングカートは、カート内の品目数を示す自動インクリメントカウンタの表示などの、ウェブサイト自体上のカートの全ての機能および挙動を含み、消費者がカートアイコンをクリックまたはタップしてレジに進む場合、消費者は、まだカートに入っている選択された全ての製品とともに、小売商のウェブサイト上のショッピングカートに直接連れて行かれる。
【0008】
広告とカートとの間の直接通信は双方向であり、そのため消費者が小売商のウェブサイト上のカートを更に変更し、その後広告に戻る場合、全てのかかる変更は広告内のカートに反映されたままである。広告内でさらなる変更が行われる場合、それらもウェブサイト上のカートに反映される。
【0009】
このように、広告は購入と直接/文字通りに結び付けられており、広告が購入を直接駆り立てていることに疑いの余地がない。
【0010】
さらに、本発明は、広告の有効性における桁違いの跳躍を表しており、消費者に即座の満足感をもたらし、広告主には、広告曝露から購入への短くて直接的なファンネル(funnel)をもたらす。
【課題を解決するための手段】
【0011】
ここで説明されるシステムおよび方法は、消費者が、広告内でカートに継続的に追加し、次いで、単一のクリックまたはタップで一度にチェックアウトするのを可能にする。広告とカートとの間のこの双方向通信は、小売商のウェブサイト上に配置された、iFrame(「インラインフレーム」)によって可能にされ、それは、実際の消費者がショッピングカートと直接/手動で通信するのを可能にするのと同じ方法で、ウェブサイトのショッピングカートアプリケーションと直接通信するのを可能にする。
【0012】
本開示の一態様では、クロスドメイン双方向通信を可能にするために第1のウェブページを変更するための方法が開示される。本方法は、第1のウェブページ内で、1つ以上のユーザーインタフェース要素を含む動的コンテンツをロードすることを含む。iFrameは、そのソースが第2のウェブページに設定される第1のウェブページに埋め込まれる。JavaScript(登録商標)ファイルなどの(しかしそれに制限されない)、実行可能プログラムを含むスクリプトファイルが、iFrameを使用してロードされて、そのスクリプトファイルによって定義される1つ以上の関数が1つ以上のユーザーインタフェース要素に結合される。ユーザーが1つ以上のユーザーインタフェース要素とやり取りする場合、1つ以上の関数が使用されてメッセージを第2のウェブページに送信し、応答が第2のウェブページから受信され、受信した応答に対応して1つ以上のユーザーインタフェース要素を更新する。
【0013】
他の態様、特徴および利点は、いかなる実施形態の範囲も制限することなく、単に例示目的で提供される、以下の詳細な説明、添付のクレーム、および付随の図面からさらに十分に明らかになるであろう。
【図面の簡単な説明】
【0014】
【
図1】双方向のクロスドメイン通信機能を備えた対話式コンテンツを含むウェブページを提供するためにシステム内で使用されるコンピューティング装置のネットワークを示す。
【
図2】本明細書で説明される方法およびシステムを用いて変更して組み合わされる一対のユーザーインタフェースを示す。
【
図3】ウェブベースのユーザーインタフェースを補強して、補強されているものとは異なるウェブサイトとの双方向のクロスドメイン通信を追加するための方法を示す。
【
図4】
図4A~
図4G。ここで説明される技術を使用して達成され得る具体的なユーザー経験を示す。
【
図5】本明細書で説明される様々な特徴およびプロセスを実装するために利用され得る代表的なコンピューティング装置の高レベルブロック図である。
【発明を実施するための形態】
【0015】
前述した問題に対処するために、第1のウェブサイト内に動的にロードされる広告または他のコンテンツと、ユーザーがその広告または他のコンテンツを介してやり取りすることを望むユーザーインタフェースを提供する第2のウェブページとの間の双方向通信を容易にするための方法およびシステムが提供される。
【0016】
図1は、双方向のクロスドメイン通信機能を備えた対話式コンテンツを含むウェブページを提供するためにシステム内で使用されるコンピューティング装置のネットワークを示す。
【0017】
ウェブブラウザを含むソフトウェアを備えたユーザーコンピューティング装置100は、インターネット120または別の類似のネットワークに接続するために使用される。ユーザーコンピューティング装置100は、PC、携帯電話、ゲーム機、またはウェブページを人間のユーザーに対して表示するためにウェブブラウザを実行可能な任意の他の装置であり得る。
【0018】
ブラウザは、第1のウェブサーバー105によって提供される第1のドメインにおけるURLにナビゲートされ得る。第1のドメインにおけるウェブページ(
図2の200)は、広告サーバー110または他のコンテンツサーバーによって供給される広告または他の動的コンテンツをロードするためのユーザーのブラウザに対する命令を組み込み得る。
【0019】
最後に、第2のウェブサーバー115は、ユーザーがやり取りするのに興味がある第2のウェブページまたは他のユーザーインタフェース(
図2の220)を提供し得る。好ましい実施形態では、第2のウェブページは、小売商のウェブサイト/ショッピングカートであるが、それがウェブベース電子メールクライアント、検索エンジン、ソーシャルメディアページ、オンラインバンキング、またはアポイントもしくは予約を取るためのインタフェースであるかどうかに関わらず、任意の対話式のウェブベースユーザーインタフェースが関与し得る。
【0020】
最も典型的な使用事例では、サーバー105、110、および115は、異なる装置である可能性があるが、各装置の主な役割は、ユーザーのコンピューティング装置100上のブラウザが情報を要求する場合にそれを提供することであるので、単一の装置が、2つまたは3つの装置の機能ですら果たせない理由はない。
【0021】
図2は、本明細書で説明される方法およびシステムを用いて変更して組み合わされる一対のユーザーインタフェースを示す。
【0022】
第1のウェブページ200は、コンテンツ205のための通常領域、および、好ましい実施形態では、広告もしくは他の動的コンテンツ210を表示するためのトップバナーまたはサイドバナー領域を含む。
【0023】
第2のウェブサーバー115によって提供される第2のウェブページまたはユーザーインタフェース220は、いくつかのボタンまたは他のユーザーインタフェース要素225を含む。好ましい実施形態では、広告または他の動的コンテンツ210は、同一のセットのボタンもしくはユーザーインタフェース要素215を組み込んでおり、そのためその広告または他のコンテンツは、同じルックアンドフィールで、第2のウェブページまたはユーザーインタフェース220内に直接入っているウィンドウのように略見える。
【0024】
図3は、第1のウェブページを補強して、補強されているものとは異なるサイトおよびドメイン上の第2のウェブページとの双方向のクロスドメイン通信を追加するための方法を示す。
【0025】
ユーザーが、ユーザーのコンピュータ100上のブラウザ内のウェブページ200を訪問すると、ウェブページ200のコードに従い、ブラウザは、広告サーバー110から広告または他のコンテンツ210をダウンロードして、それをウェブページ内に表示する(ステップ300)。
【0026】
コンテンツがロードされた後、隠しiFrameがウェブページ220に追加される(ステップ305)。好ましい実施形態では、iFrameは、ユーザーから完全に隠されていて見えない。他の実施形態では、ブラウザまたはセキュリティ設定で、見えない要素が作成されるか、またはコンテンツをロードするのを防ぐ場合、iFrameは代わりに、任意で見るのが困難である(例えば、1ピクセル×1ピクセルのサイズ)か、もしくは見られる可能性が低い位置(ウェブページの下側の隅など)に置かれ得る。隠しiFrameは、第2のドメインにおけるURLから、ウェブページを第2のウェブサーバー115からロードする。
【0027】
例えば、実装はJavaScript(登録商標)の使用に制限されないが、これは以下のようなJavaScript(登録商標)コードで達成され得る:
【0028】
【0029】
新しく作成されたiFrameは次いで、クロスドメイン通信を容易にするためのカスタムコードを含むJavaScript(登録商標)ファイル(ステップ310)など(しかしそれに制限されない)の、実行可能プログラムを含むスクリプトファイルをロードするために使用される。
【0030】
例えば、JavaScript(登録商標)ファイル内にあって、デジタル広告210にアクセス可能になる関数は次のように読める:
【0031】
【0032】
カスタムコード内で提供される関数(複数可)は、広告210の1つ以上の要素に結合されており(ステップ315)、そのため、クリック、マウスオーバー、タイプ、ドラッグなどを含む、広告とのやり取りは、関数(複数可)を呼び出す。
【0033】
例えば:
【0034】
【0035】
追加として、広告または他の動的コンテンツ210は、第2のウェブページへの以前の訪問から既にショッピングカート内にある品目などの、第2のウェブページからの情報を含むように更新され得る。
【0036】
【0037】
iFrame内の第2のウェブページ220内で、「メッセージリスナー」が設定される(ステップ320)。メッセージリスナーは、具体的に動的コンテンツ210およびそのソースだけからメッセージを受信するのを待機する。別のソースからメッセージリスナーに送信されるメッセージは無視される。
【0038】
【0039】
ユーザーが動的コンテンツ210とやり取りする(例えば、「カートに入れる」ラベルを有する広告内の製品上をクリックする)場合、メッセージが動的コンテンツ210からメッセージリスナーに送信される(ステップ325)。メッセージは、カートに入れられる製品の製品id、ユーザーからの認証情報もしくは追跡情報、または他の関連データなどの、作用させるべき情報を含み得る。
【0040】
メッセージがメッセージリスナーで受信される場合、第2のウェブページ220を含むiFrameは、ユーザーによって要求された何らかのコマンドまたはクエリーを実行する(例えば、実際に品目を第2のウェブサイト上のユーザーのカートに入れる)ためにサーバー側コードを実行させる(ステップ330)AJAX呼び出しまたは他の関数呼び出しを行う。第2のウェブサーバー115の観点からすれば、動作を実行するために第2のウェブサイトに直接ナビゲートするユーザーと、広告または動的コンテンツ210とやり取りするユーザーとの間に違いはない。
【0041】
【0042】
iFrame内で実行するコードは要求を受信して処理する:
【数7】
【0043】
サーバー側コードが実行された後、応答が、要求の処理の成功または失敗、および応答内の任意の他の関連情報を示すために提供される(ステップ335)。例えば、ショッピングカートに入れるための要求に対する応答は、成功の指標ならびにカート内の品目の現在数および/またはカート内の購入の総額の両方を含み得る。
【0044】
応答が受信されると、受信された情報を反映するために広告または動的コンテンツ210が更新される(ステップ340)。例えば、ユーザーが品目を買い求めるために第2のウェブページに直接ナビゲートしていた場合に現れるようなショッピングカートとそっくりに見えるショッピングカートが表示され得る。更新は、第2のウェブページに似せることに加えて、成功もしくはエラーメッセージまたは他の情報も含み得る。
【0045】
これらの特徴の結果として、第1のウェブページを訪問するユーザーは、第2のウェブページの「ルックアンドフィール」を有するだけでなく、ユーザーがブラウザを第2のウェブページにナビゲートする必要なく、第2のウェブページ上のユーザーのカートまたは他のセッションを実際に更新する、広告または他の動的コンテンツとやり取りできる。
【0046】
図4A~
図4Gは、現在、説明されている技術を使用して達成され得る代表的な具体的なユーザー経験を示す。
【0047】
図4Aでは、デジタル広告が、「ハンバーガー」メニューアイコン400を含む、ウェブページ上にロードされる。
【0048】
図4Bでは、アイコン400をクリックまたはタップすると、複数の製品カテゴリが、終了アイコン405およびカートアイコン410と共に、表示される。
【0049】
図4Cでは、製品カテゴリをクリックすると、要素415の第2の行が追加されて、カートに入れることができる一連の品目を示す。
【0050】
図4Dでは、「カートに入れる」ボタンのいずれかをクリックすると、実際にカートアイコン410が更新されて、入れられている品目を示す。
【0051】
図4Eでは、ユーザーがカートアイコン410をクリックすると、ブラウザは第2のウェブサイト(下に図示されている)へナビゲートして、ユーザーが広告を通して入れた品目を含む、従来型のカートを表示する。
【0052】
図4Fでは、ユーザーは、増加または減少ボタン420を使用して、カート内の品目数を変更し得る。
【0053】
図4Gでは、ユーザーが元のウェブページに戻って広告を再度見る場合、たとえ広告が、最後に変更された品目を追加または削除するために使用されていなくても、カートアイコン410は、カート内の現在の品目数を反映するように更新されている。
【0054】
いずれかのインタフェース内で行われる任意の変更は、他方内で自動的に反映されて、2つの異なるドメイン上のウェブページであるにもかかわらず、シームレスなユーザー経験となる。
【0055】
現在説明されている技術の他の可能な用途は、対話型ポーリング(ユーザーは、政治/スポーツ/娯楽オプションに投票して、他者の投票をリアルタイムで見ることができる)、他のプレーヤーとの対話型ゲーム、およびインスタントメッセージまたはソーシャルメディアなどの最新式の通信インタフェースを含み得る。
【0056】
図1は、前述のソフトウェア実装方法を達成するためのコンピューティング装置の好ましい構成を示しているが、それらの方法は、標準的なデスクトップコンピュータおよび/またはウェブサーバーの対語として、任意の特定の専用コンピューティング装置の使用に本質的に依存しない。可能なかかるコンピューティング装置を例示する目的で、
図5は、本明細書で説明される様々な特徴およびプロセスを実装するためのコンピューティング装置および/またはシステムの各々に対して利用され得る代表的なコンピューティング装置の高レベルブロック図である。本コンピューティング装置は、コンピュータシステムによって実行される、プログラムモジュールなどの、コンピュータシステム実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、論理、データ構造などを含み得る。
【0057】
図5に示されるように、コンピューティング装置の構成要素は、1つ以上のプロセッサまたは処理装置500、システムメモリ510、およびメモリ510を含む様々なシステム構成要素をプロセッサ500に結合するバス515を含み得る(しかし、それらに制限されない)。
【0058】
バス515は、メモリバスまたはメモリコントローラ、周辺機器用バス、アクセラレイティッドグラフィックスポート、および様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のいずれかの1つ以上を表す。例として、制限ではなく、かかるアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、およびPeripheral Component Interconnect(PCI)バスを含む。
【0059】
処理装置(複数可)500は、メモリ510内に格納されたコンピュータプログラムを実行し得る。特定の実施形態のルーチンを実装するために、C、C++、Java(登録商標)、アセンブリ言語などを含む、任意の適切なプログラム言語が使用できる。手続き型またはオブジェクト指向などの、異なるプログラミング技術が採用できる。ルーチンは、単一のコンピューティング装置または複数のコンピューティング装置上で実行できる。さらに、複数のプロセッサ500が使用され得る。
【0060】
コンピューティング装置は典型的には、様々なコンピュータシステム可読媒体を含む。かかる媒体は、コンピューティング装置によってアクセス可能な任意の利用可能な媒体であり得、それは、揮発性および不揮発性両方の、取外し可能および固定型媒体を含む。
【0061】
システムメモリ510は、コンピュータシステム可読媒体を、ランダムアクセスメモリ(RAM)520および/またはキャッシュメモリ530などの、揮発性メモリの形で含むことができる。コンピューティング装置は、他の取外し可能/固定型、揮発性/不揮発性コンピュータシステム記憶媒体をさらに含み得る。ほんの一例として、記憶システム540は、固定型、不揮発性記憶媒体(図示されておらず、典型的には、「ハードドライブ」と呼ばれる)からの読み取りおよび、それに対する書き込みのために提供できる。図示されていないが、取外し可能、不揮発性磁気ディスク(例えば、「フロッピィディスク」)からの読み取りおよび、それに対する書き込みのための磁気ディスクドライブ、ならびにCD-ROM、DVD-ROMまたは他の光媒体などの、取外し可能、不揮発性光ディスクからの読み取りまたは、それに対する書き込みのための光ディスクドライブが提供できる。かかる事例では、各々は、1つ以上のデータ媒体インタフェースによってバス515に接続できる。以下でさらに示されて説明されるように、メモリ510は、本開示で説明される実施形態の機能を実行するように構成されるプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0062】
プログラムモジュール555のセット(少なくとも1つ)を有するプログラム/ユーティリティ550は、例として、制限なく、メモリ510、ならびにオペレーティングシステム、1つ以上のアプリケーションソフトウェア、他のプログラムモジュール、およびプログラムデータ内に格納され得る。オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータの各々またはそれらの何らかの組合せは、ネットワーキング環境の実装を含み得る。
【0063】
コンピューティング装置は、キーボード、ポインティングディバイス、ディスプレイなどの、1つ以上の外部装置570、ユーザーがコンピューティング装置とやり取りするのを可能にする1つ以上装置、および/またはコンピューティング装置が1つ以上の他のコンピューティング装置と通信するのを可能にする任意の装置(例えば、ネットワークカード、モデムなど)とも通信し得る。かかる通信は、入力/出力(I/O)インタフェース(複数可)560を介して生じ得る。
【0064】
加えて、前述のとおり、コンピューティング装置は、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)および/または公衆ネットワーク(例えば、インターネット)などの、1つ以上のネットワークと、ネットワークアダプタ580を介して通信できる。図示のとおり、ネットワークアダプタ580は、コンピューティング装置の他の構成要素とバス515を介して通信する。図示されていないが、他のハードウェアおよび/またはソフトウェア構成要素がコンピューティング装置と共に使用できることが理解されるべきである。例は、マイクロコード、デバイスドライバ、冗長処理装置、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイブ記憶システムなど、を含む(が、それらに制限されない)。
【0065】
本発明は、システム、方法、および/または任意の可能な技術詳細集積レベルにおけるコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数)を含み得る。
【0066】
コンピュータ可読記憶媒体は、命令実行装置による使用のための命令を保持および格納できる有形的装置であり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学式記憶装置、電磁記憶装置、半導体記憶装置、または前述の任意の適切な組合せであり得るが、それらに制限されない。コンピュータ可読記憶媒体のより具体的な例の包括的でないリストは、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型読取り専用コンパクトディスク(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピィディスク、パンチカードまたはその上に記録された命令を有する溝内の隆起構造などの機械的に符号化された装置、および前述の任意の適切な組合せを含む。コンピュータ可読記憶媒体は本明細書では、それ自体が、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバーケーブルを通過する光パルス)、またはワイヤーを通って伝送される電気信号などの、一時的信号と見なされるべきではない。
【0067】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、または外部コンピュータもしくは外部記憶装置にネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/または無線ネットワークを介して、ダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバーを使用し得る。各コンピューティング/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、コンピュータ可読プログラム命令をネットワークから受信して、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体内に格納のために転送する。
【0068】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ(state-setting data)、集積回路のための構成データ、あるいは、スモールトーク、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザーのコンピュータ上で、部分的にユーザーのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザーのコンピュータ上で、かつ部分的に遠隔コンピュータ上で、または完全に遠隔コンピュータもしくはサーバー上で実行され得る。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザーのコンピュータに接続され得るか、または接続は外部コンピュータに対して行われ得る(例えば、インターネットサービスプロバイダを使用してインターネットを通して)。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む、電子回路は、本発明の態様を実行するためにコンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することによってコンピュータ可読プログラム命令を実行し得る。
【0069】
本発明の態様は、本発明の実施形態に従った方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して、本明細書で説明されている。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実行できることが理解される。
【0070】
コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図のブロックに指定されている関数/動作を実装するための手段を作成するように、これらのコンピュータ可読プログラム命令は、機械を作製するために汎用コンピュータ、専用コンピュータまたは他のプログラム可能データ処理装置のプロセッサに提供され得る。また命令がその中に格納されているコンピュータ可読記憶媒体がフローチャートおよび/またはブロック図のブロック(または複数)に指定された関数/動作の態様を実装する命令を含む製造品を含むように、これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能データ処理装置、および/または特定の方法で機能するための他の装置に指示することができるコンピュータ可読記憶媒体内に格納され得る。
【0071】
また、コンピュータ、他のプログラム可能装置、または他の装置上で実行される命令がフローチャートおよび/またはブロック図のブロック(または複数)に指定された関数/動作を実装するように、コンピュータ可読プログラム命令は、一連の動作ステップを、コンピュータ、他のプログラム可能データ処理装置、または他の装置上で実行させてコンピュータ実装プロセスを生成するために、コンピュータ、他のプログラム可能な装置、または他の装置上にロードされ得る。
【0072】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性および動作を示す。これに関しては、フローチャートまたはブロック図内の各ブロックは、指定された論理関数(複数可)を実装するための1つ以上の実行可能命令を含む、命令のモジュール、セグメントまたは一部を表し得る。いくつかの代替実施態様では、ブロック内に記載されている関数は図に記載されている順序以外で生じ得る。例えば、連続して示されている2つのブロックは、実際には実質的に同時に実行され得るか、または、ブロックは時として関与する機能性に応じて、逆の順序で実行され得る。ブロック図および/またはフローチャート図の各ブロックならびにブロック図および/またはフローチャート図のブロックの組合せは、指定された関数もしくは動作を実行するか、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装できることにも留意されたい。
【0073】
本発明の様々な実施形態の説明は、例示のために提示されているが、それらは網羅的であることを意図するものでも開示されている実施形態に限定されることを意図するものではない。多くの修正および変形が、説明されている実施形態の範囲および精神から逸脱することなく、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用または市場で見出される技術を凌ぐ技術改良を最も良く説明したり、他の当業者が本明細書で開示されている実施形態を理解することができるようにしたりするために選択された。
【国際調査報告】