JP6944170B2 - 境界上ウェブ・コンポジタの装置、方法、およびシステム - Google Patents

境界上ウェブ・コンポジタの装置、方法、およびシステム Download PDF

Info

Publication number
JP6944170B2
JP6944170B2 JP2019537022A JP2019537022A JP6944170B2 JP 6944170 B2 JP6944170 B2 JP 6944170B2 JP 2019537022 A JP2019537022 A JP 2019537022A JP 2019537022 A JP2019537022 A JP 2019537022A JP 6944170 B2 JP6944170 B2 JP 6944170B2
Authority
JP
Japan
Prior art keywords
frame
component
processor
level
message
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.)
Active
Application number
JP2019537022A
Other languages
English (en)
Other versions
JP2020516975A (ja
Inventor
ドナルド ロス,ティモシー
ドナルド ロス,ティモシー
アンソニー シッドマン,デイビッド
アンソニー シッドマン,デイビッド
Original Assignee
コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム
コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム
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 コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム, コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム filed Critical コンテンツ ディレクションズ,インコーポレイテッド ディービーエー リンクストーム
Publication of JP2020516975A publication Critical patent/JP2020516975A/ja
Application granted granted Critical
Publication of JP6944170B2 publication Critical patent/JP6944170B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Absorbent Articles And Supports Therefor (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

本特許出願の開示文書は、様々な新規の革新を含む発明的諸態様(以下では「開示」)を説明し、著作権、マスクワーク、および/または他の知的財産保護の対象である材料を含む。そのような知的財産のそれぞれの所有者は、これが刊行される特許局ファイル/レコードに現れる時に何人による開示の複製にも異議を唱えないが、それ以外の点では全権利を留保する。
優先権の主張
本出願人は、これによって、2016年9月19日に出願した米国特許仮出願第62/396796号、名称「Supra Boundary Web Compositor Apparatuses, Methods and Systems」(弁理士整理番号第LINKSTORM0100PV号)および2016年9月19日に出願した米国特許仮出願第62/396799号、名称「Supra Boundary Web Compositor Apparatuses, Methods and Systems」(弁理士整理番号第LINKSTORM0100PV1号)の非仮変更として米国特許法第119条の下での優先権の利益を主張するものである。
前述の特許出願の内容全体が、参照によって本明細書に特に組み込まれている。
本発明は、全般的にはウェブ・フレームおよびグラフィック合成に対処し、より具体的には、境界上ウェブ・コンポジタ(Supra Boundary Web Compositor)の装置、方法、およびシステムを含む。
しかし、読者による革新の理解を発達させるために、開示は、これらの革新の態様がどのようにして独立に動作し、個々の革新の間で相互作用し、かつ/または集合的に協力するのかを示し、明白にするために、単一の説明に編集された。本願は、次に、様々な革新の間にあるものとして相互関係および協同作用をさらに説明し、そのすべてが、米国特許法第112条の遵守を促進する。
ウェブ技術は、グラフィック表示を可能にする。ウェブ・サーバは、ユーザによって操作されるウェブ・ブラウザに転送されるウェブ・ページ・データをホスティングする。ウェブ・ブラウザは、グラフィックスとテキストとの両方をレンダリングするためにウェブ・ページ・データを解釈する。
境界上ウェブ・コンポジタの装置、方法、およびシステム(以下では「SBWC」)開示の様々な非限定的な例の革新的態様を示す付録および/または図面は、以下を含む。
SBWCのデータ・フローの実施形態を示すデータグラフ図である。 SBWCのデータ・フローの実施形態を示すデータグラフ図である。 SBWCのフレーム・エスケーピング(frame escaping、FE)コンポーネントの実施形態を示す論理流れ図である。 SBWCのフレーム・バスティング(frame busting、FB)コンポーネントの実施形態を示す論理流れ図である。 SBWCのトップ・レベル・リスニング(top level listening、TLL)コンポーネントの実施形態を示す論理流れ図である。 SBWCのフレーム照会(frame querying、FQ)コンポーネントの実施形態を示す論理流れ図である。 SBWCの拡張可能なペイロード再構築(expandable payload rebuilding、EPR)コンポーネントの実施形態を示す論理流れ図である。 SBWCの実施形態を示すスクリーンショット図である。 SBWCの実施形態を示すスクリーンショット図である。 SBWCコントローラの実施形態を示すブロック図である。
一般に、図内の各引用番号の先頭の数字は、その引用番号が導入され、かつ/または詳細に説明される図面を示す。したがって、引用番号101の詳細な議論は、図1内に見出され、かつ/または導入されるはずである。引用番号201は、図2で導入されるなどである。任意の引用番号および/または参照番号は、必ずしも連続ではなく、むしろ、再配置され得る例の順序に過ぎず、他の順序が企図されている。
境界上ウェブ・コンポジタの装置、方法、およびシステム(以下では「SBWC」)は、SBWCコンポーネント(たとえば、FEコンポーネント、FBコンポーネント、TLLコンポーネント、FQコンポーネント、EPRコンポーネントなど)を介してウェブページ要求入力を合成された拡張可能な要素出力に変換する。様々な実施形態のSBWCコンポーネントは、下で示される有利な特徴を実施する。
概論
インターネット上の広告主は、彼らが使用可能な広告フォーマットの多数の選択のうちの1つとして「リッチ・メディア拡張可能広告(Rich Media Expandable Ad)」を利用してきた。産業組合IAB(Interactive Advertising Bureau)によれば、「リッチ・メディア」は、「ユーザがウェブ・ページ・フォーマット内で対話できる(単にアニメートするのではなく)広告」と定義される。さらに、「拡張可能な」広告は、マウス・オーバー、クリック、またはタップを介して選択された時に元の寸法を超えてサイズを増加させ、その結果、追加情報または追加の対話機能性を有するより大きいフットプリントを提示できるようになる広告である。
拡張可能な広告は、より大きく、より注意を引き、より魅力があり、より対話的になり得る広告プレゼンスを提供するので広告主にとって非常に望ましく、SBWCの場合には、カスケーディング・ナビゲーション・メニュー(たとえば、数百個のクリック可能な選択の)を提示でき、これが、通常は顧客のエンゲージメント、クリックスルー、およびコンバージョン(たとえば、オンライン販売またはリードジェネレーション)に関してより高い性能を促進するので、顧客にとってより有用である。SBWCの場合に、これらの改善は、多数の厳格なABテスト(たとえば、同一のウェブサイト、同一のページ配置、同一時刻などでのSBWC広告対競合者の広告の50/50交番ローテーション)による測定でクリックスルーおよびコンバージョンにおいて2倍から17倍までの範囲にわたった。ナビゲート可能メニューがウェブ・ページ上の事前にセットされた広告ブロックからどのように拡張され得るのかの例に関しては、図7および図8を参照されたい。
しかし、拡張可能な広告の広く行き渡った使用に対する1つの主要な障害は、多くの「パブリッシャ・ウェブサイト」(たとえば、その上に広告が現れることを許すウェブサイト)が、iframeと称する広告をホスティングする技法を使用し、これが、広告がその元々の境界内に残るように広告を制限し、すべての拡張を妨げることである。拡張可能な(たとえば、JavaScript)広告が、iframe内で供給される時に、その広告は、セキュリティのためにブラウザが設置するcross origin restrictionの対象になる。JavaScript広告は、供給される時に、親パブリッシャ・ウェブページ(たとえば、www.B.com)とは異なるドメイン(たとえば、www.A.com)上の子iframe内に配置される。この2つの一致しないドメインは、JavaScriptベースの広告が親パブリッシャ・ウェブページと通信するのを妨げる。ブラウザのこのセキュリティ特徴は、親パブリッシャ・ウェブページ上でのJavaScript広告コードの実行を妨げる。多くのパブリッシャがiframeを使用する理由は、広告がページの残りと技術的に通信することを制限し、したがって、広告がパブリッシャのページに悪影響する(たとえば、パブリッシャのコンテンツを許可されないコンテンツに置換することによって)ことを防ぐことによって、彼らのウェブサイトでのユーザ経験を保護するためである。しかし、これの意図されない結果は、ユーザが広告にマウス・オーバーし、広告をクリックし、または広告をタップすることによって拡張を開始することを故意に試みる場合であっても、広告が拡張できないことである。
多くのウェブサイトは、拡張可能な広告を受け入れることを望んでいる。というのは、彼らのビジネス・モデルが広告によって支持され、多数の広告主が拡張可能な広告を利用したがっていることがわかっており、その結果、彼らが受け入れることのできる広告タイプが多ければ多いほど、彼らの使用可能な広告インベントリに関する広告入札の間で彼らの有する競争がより多くなり、稼げる金額がより多くなるからである。たとえば、GoogleのAd Exchange(「AdX」)に契約した非常に多数のパブリッシャ・サイトは、彼らが拡張可能な広告を受け入れるとGoogleに宣言したが、残念ながら、彼らは、彼らのサイトがiframeを使用する場合であっても拡張可能な広告が機能することを可能にする、Googleが提供するソフトウェア・キットを実際にはインストールしなかった。いくつかの推定によれば、Googleのパブリッシャの80%もが、実際には拡張可能な広告をサポートしていない。
SBWCは、拡張可能な広告をサポートするためのより的確な解決策を提供する。一実施形態では、SBWCは、ローカルに何かを(たとえば、パブリッシャのサーバ上にファイルを)インストールする必要なしにパブリッシャが拡張可能な広告をサポートすることを可能にし、彼らのiframeが拡張機能性を妨害するかどうかを心配する必要なしに拡張可能な広告(たとえば、AdX、OpenX、Index Exchange、AppNexusなどのad exchangeによって配信される)をホスティングすることを容易にする機構を提供する。また、これは、現実問題として100%のコンプライアンスを達成することがほぼ不可能である(たとえば、すべてのパブリッシャが、そこからウェブページを供給するすべてのドメイン(たとえば、www.B.com)およびサブドメイン(たとえば、subdomain1.B.com、subdomain2.B.com、subdomain3.B.com)にファイルをインストールしなければならないはずである)ことはさておき、すべてのパブリッシャに督促状を大量にメールで送ることによってコンプライアンスを実施するための時間および労力をad exchangeから減ずる。
パブリッシャがプログラム的広告環境(別名、「リアルタイム入札」環境または「RTB」環境)内の彼らのサーバ上にファイルをインストールすることに頼ることが実用的ではない(たとえば、リッチ・メディア・ベンダにとって、広告主にとって、広告配信者/ad exchangeにとって)1つの理由は、その環境内で、広告主が、その広告がどこに現れるのかを前もって知ることがほとんどなく、その代わりに、広告が、「exchange(取引所)」環境(たとえば、株式取引所のような)を介して配置され、この環境が、多数の異なるソースからの入札および申し出を自動的に突き合わせ、その後、入札および申し出がお互いと一致する(たとえば、かつ、一致が、他の点で関係する当事者によって前もって指定されたターゲティング・パラメータに適合する)任意のウェブサイト上に広告を自動的に配置することである。したがって、すべてのパブリッシャが彼らのサーバ上にファイルをインストールしない限り、広告主は、その拡張可能な広告が拡張できるようになると確信することができない。したがって、すべてのパブリッシャ側での意図的なアクションを全く要求せずに拡張可能な広告のサポートをあまねく可能にする機構を考案することは、重大なブレークスルーである。
一実施態様では、この機構は、広告がパブリッシャのページの残りと通信し、したがってiframeにロックされるのではなく元の境界を超えて拡張することを可能にするので広告が拡張することを可能にする、集中化された機構である。たとえば、この機構は、1つまたは複数の既存の機構を介してad exchangeによって集中的に供給され得(たとえば、iframeエスケーピング解決策コードは、パブリッシャがGoogle広告を供給したい時に彼らのページ上にインストールするGoogleのAdXスクリプトのいずれかに追加され得、iframeエスケーピング解決策コードは、彼らのパブリッシャ・コンソール内でGoogleが作成する広告タグ・スクリプトに追加され得る)、パブリッシャのウェブページのトップ・レベル・フレームに追加され得る(たとえば、JavaScriptコードの短い断片)。この機構は、iframeエスケープを可能にするために専用のフレーム・バスタ・ドメインまたはad exchangeドメイン(たとえば、ad exchangeがコードをホスティングしている場合)のいずれかと通信できるので、安全である。これは、通信を信頼されるドメイン内に留める。
一実施形態では、iframeエスケーピング解決策は、postメッセージング(post messaging)と呼ばれる、親パブリッシャ・ページとの通信を確立する技法を使用する。メッセージは、postメッセージを使用して、異なるドメイン名上のiframeの間で送られ得る。一実施態様では、パブリッシャ・ページは、その子iframeからのpostメッセージをリスンしている場合がある(たとえば、JavaScriptコードの短い断片を介して)。パブリッシャ・ページは、それが受信しているpostメッセージを信頼することができる。というのは、それらのメッセージが信頼されるドメイン名からのものである場合に、それらが受け入れられるからである。信頼されるドメイン名からではないすべてのpostメッセージを、無視することができる。postメッセージは、広告iframeが親パブリッシャ・ページ上で突き止められるまで、子iframeと親トップ・レベル・フレームとの間で往復して送られる。広告iframeが識別された後に、その広告iframeは、信頼され得るのでパブリッシャ・ページ上でJavaScriptコードを実行することができる。一実施態様では、広告は、トップ・レベル・フレーム内で、パブリッシャのウェブページ上のiframeの真上で再構築され得る(たとえば、CSS z−indexプロパティを介して)。iframeの内部ではなくiframeの上にあることが、広告が拡張することを可能にする。
SBWCの域外合成機構の重要性は、広告配信者/ad exchange(たとえば、AppNexus、Google、Index Exchange、OpenX)をはるかに超える。この手法は、拡張可能な広告のベンダだけではなく、情報ポータルおよびウィジェット作成者または最初に割り振られたものより大きい面積へのデータ合成を提供することを望むすべての人によっても利用され得る。
SBWC
図1A〜図1Bは、SBWCのデータ・フローの実施形態を示すデータグラフ図を示す。図1A〜図1Bでは、破線は、オプションである可能性がより高い可能性があるデータ・フロー要素を示す。図1A〜図1Bでは、クライアント102は、コンテンツ・ページ(たとえば、天気予報、ニュース・ストーリ)を入手するためにパブリッシャ・サーバ107にウェブページ要求121を送ることができる。たとえば、クライアントは、デスクトップ、ラップトップ、タブレット、スマートフォン、および/またはクライアント・アプリケーションを実行している類似物とすることができる。一実施態様では、ウェブページ要求は、要求識別子、コンテンツ・ページ識別子、および/または類似物などのデータを含むことができる。一実施形態では、クライアントは、下で提供される、実質的にeXtensible Markup Language(「XML」)フォーマットされたデータを含む(セキュア)ハイパーテキスト転送プロトコル(「HTTP(S)」)POSTメッセージの形の、以下の例のウェブページ要求を供給することができる。
Figure 0006944170
Figure 0006944170
Figure 0006944170
パブリッシャ・サーバは、要求されたコンテンツ・ページを有するウェブページ応答125をクライアントに送ることができる。たとえば、クライアントは、クライアントのユーザにコンテンツ・ページを表示することができる。コンテンツ・ページは、親ウェブページ・トップ・レベル(たとえば、トップ・レベル・フレーム)103および子フレーム(たとえば、iframe)104を含む複数の要素を含むことができる。一実施態様では、ウェブページ・トップ・レベルは、トップ・レベル・リスニング(TLL)コンポーネント(たとえば、JavaScriptコードの短い断片)を含むことができる。
フレームは、拡張可能なペイロード要求129を広告サーバ108に送ることができる。たとえば、このiframeは、そのsrc属性で指定されたURLから拡張可能な表示ペイロード(たとえば、拡張可能な広告)を要求することができる(たとえば、https://www.ads.com/ad.php?adID=12345)。
広告サーバは、要求された拡張可能な広告ページを有する拡張可能なペイロード応答133をクライアントに送ることができる。たとえば、クライアントは、クライアントのユーザにフレーム内で拡張可能な広告ページを表示することができる。拡張可能な広告ページは、iframeの境界内に留まるように制限され得、拡張できない可能性がある。
フレーム・エスケーピング(FE)コンポーネント135(たとえば、拡張可能なペイロード応答を介して供給される)は、iframeエスケーピング解決策を容易にするために、フレーム・バスタ(たとえば、フレームの子iframe)要素105をインスタンス化し、ウェブページ・トップ・レベルからのpostメッセージを処理し、フレーム・バッファにpostメッセージを送り、かつ/または類似物を行うことができる。FEコンポーネントに関する追加の詳細に関しては、図2を参照されたい。
フレーム・バスタは、バスタ・サーバ109にフレーム・バスタ・ペイロード要求137を送ることができる。たとえば、このiframeは、そのsrc属性で指定されたURLからフレーム・バスタ・ペイロード(たとえば、信頼されるフレーム・バスタ・ドメインからの)を要求することができる(たとえば、https://www.FrameBuster.com/buster.html?adID=12345)。バスタ・サーバは、要求されたフレーム・バスタ・ページを有するフレーム・バスタ・ペイロード応答141をクライアントに送ることができる。
フレーム・バスティング(FB)コンポーネント145(たとえば、フレーム・バスタ・ペイロード応答を介して供給される)は、iframeエスケーピング解決策を容易にするために、フレームからのpostメッセージを処理し、ウェブページ・トップ・レベルにpostメッセージを送り、かつ/または類似物を行うことができる。FBコンポーネントに関する追加の詳細に関しては、図3を参照されたい。
フレーム・バスタは、どのフレームが拡張可能な広告を含むのかを判定するためのフレームの照会を容易にするために、ウェブページ・トップ・レベルに拡張可能なペイロード識別メッセージ149を送ることができる。一実施態様では、拡張可能なペイロード識別メッセージは、起点(たとえば、postメッセージを送るフレームに関連するドメイン)、ターゲット起点(たとえば、postメッセージを受信しなければならないフレームに関連するドメイン)、データ(たとえば、ターゲット・フレームに送られるべきデータ)、および/または類似物などのデータを含むpostメッセージとすることができる。たとえば、データ・フィールドは、フレーム照会(FQ)コンポーネント(たとえば、一意フレーム識別子、ソース、および/または類似物などのフレームに関するデータを含むことができる)を含むことができる。FQコンポーネントに関する追加の詳細に関しては、図5を参照されたい。一実施形態では、フレーム・バスタは、下で提供される、XMLフォーマットされたデータを含む以下の例の拡張可能なペイロード識別メッセージを供給することができる。
Figure 0006944170
TLLコンポーネント153は、フレーム・バスタからのpostメッセージをリスンし、かつ/またはpostメッセージを介して供給されたコンポーネントを実行することができる。TLLコンポーネントの追加の詳細に関しては、図4を参照されたい。
ウェブページ・トップ・レベルは、どのフレームが拡張可能な広告を含むのかを判定するのを容易にするために、フレーム照会メッセージ157をフレームに送ることができる。一実施態様では、フレーム照会メッセージは、起点(たとえば、postメッセージを送るフレームに関連するドメイン)、ターゲット起点(たとえば、postメッセージを受信しなければならないフレームに関連するドメイン)、データ(たとえば、ターゲット・フレームに送られるべきデータ)、および/または類似物などのデータを含むpostメッセージとすることができる。たとえば、データ・フィールドは、NodeList識別子、一意フレーム識別子、および/または類似物を含むことができる。一実施形態では、ウェブページ・トップ・レベルは、下で提供される、XMLフォーマットされたデータを含む以下の例のフレーム照会メッセージを供給することができる。
Figure 0006944170
フレームは、フレームの一致するNodeList識別子をフレーム・バスタに供給するために、フレーム識別メッセージ161をフレーム・バスタに送ることができる。一実施態様では、フレーム識別メッセージは、起点(たとえば、postメッセージを送るフレームに関連するドメイン)、ターゲット起点(たとえば、postメッセージを受信しなければならないフレームに関連するドメイン)、データ(たとえば、ターゲット・フレームに送られるべきデータ)、および/または類似物などのデータを含むpostメッセージとすることができる。たとえば、データ・フィールドは、NodeList識別子および/または類似物を含むことができる。一実施形態では、フレームは、下で提供される、XMLフォーマットされたデータを含む以下の例のフレーム識別メッセージを供給することができる。
Figure 0006944170
フレーム・バスタは、ユーザへの拡張可能な表示ペイロードの供給を容易にするために、拡張可能なペイロード・データ・メッセージ165をウェブページ・トップ・レベルに送ることができる。一実施態様では、拡張可能なペイロード・データ・メッセージは、起点(たとえば、postメッセージを送るフレームに関連するドメイン)、ターゲット起点(たとえば、postメッセージを受信しなければならないフレームに関連するドメイン)、データ(たとえば、ターゲット・フレームに送られるべきデータ)、および/または類似物などのデータを含むpostメッセージとすることができる。たとえば、データ・フィールドは、拡張可能なペイロード再構築(EPR)コンポーネント(たとえば、フレームに関するデータを含むことができる)を含むことができる。EPRコンポーネントに関する追加の詳細に関しては、図6を参照されたい。一実施形態では、フレーム・バスタは、下で提供される、XMLフォーマットされたデータを含む以下の例の拡張可能なペイロード・データを供給することができる。
Figure 0006944170
ウェブページ・トップ・レベルは、ウェブページ・トップ・レベル内での拡張可能な広告の再構築(たとえば、フレームの上での)を容易にするために広告サーバに拡張可能なペイロード要求169を送ることができる。たとえば、拡張可能な広告ページがキャッシングされなかった場合に、これを広告サーバから取り出すことができる。別の例では、追加の広告を取り出すことができる。
広告サーバは、要求されたデータを有する拡張可能なペイロード応答173をクライアントに送ることができる。たとえば、クライアントは、ウェブページ・トップ・レベルで拡張可能な広告ページをクライアントのユーザに表示することができる。拡張可能な広告ページは、拡張することができる(たとえば、ユーザが、拡張可能な広告にマウス・オーバーし、拡張可能な広告をクリックし、または拡張可能な広告をタップすることによって拡張を開始することを試みる場合に)。
図2は、SBWCのフレーム・エスケーピング(FE)コンポーネントの実施形態を示す論理流れ図を示す。図2では、201で、フレーム・エスケーピング要求が入手され得る。たとえば、フレーム・エスケーピング要求は、拡張可能な表示ペイロード(たとえば、拡張可能な広告(たとえば、JavaScriptオブジェクト)の)初期化機能が、iframeエスケーピング解決策を容易にするためにFEコンポーネントを呼び出す時に入手され得る。
205で、フレームからのエスケープを試みるべきかどうかの判定を行うことができる。たとえば、エスケープする試みは、拡張可能な広告がiframe内にあると判定される場合に行われ得る。一実施態様では、フレームからのエスケープを試みるべきかどうかの判定は、次のように実施され得る。
Figure 0006944170
Figure 0006944170
エスケープを試みなければならないと判定される場合には、209で、フレーム(たとえば、拡張可能な広告を含むiframe)の一意フレーム識別子が生成され得る。たとえば、一意フレーム識別子は、乱数とすることができる。一実施態様では、一意フレーム識別子は、以下のように生成され得る。
Figure 0006944170
213で、フレーム・バスタ(たとえば、拡張可能な広告iframeの子iframe)をインスタンス化することができる。たとえば、フレーム・バスタは、FBコンポーネントの利用を容易にするためにインスタンス化され得る。フレーム・バスタは、一意フレーム識別子、第1レベル拡張可能な広告iframeのソース、ウェブページ・トップ・レベルのドメイン、拡張可能な広告オブジェクトの初期化関数のソース、および/または類似物などのデータを(たとえば、window.name属性を介して)供給され得る。フレーム・バスタのsrc属性は、FBコンポーネントのコードを含む信頼されるフレーム・バスタ・ドメインにあるウェブページに送られ得る。一実施態様では、フレーム・バスタは、以下のように初期化され得る。
Figure 0006944170
217で、ウェブページ・トップ・レベルpostメッセージのイベント・リスナを追加する(たとえば、第1レベルの拡張可能な広告のiframeに)ことができる。たとえば、イベント・リスナは、ウェブページ・トップ・レベルから受信されたメッセージを処理することができる。一実施態様では、イベント・リスナは、以下のように追加され得る。
Figure 0006944170
221で、postメッセージがウェブページ・トップ・レベルから受信されたかどうかの判定を行うことができる。たとえば、イベント・リスナは、受信されたpostメッセージ(たとえば、上の例に示されたもの)を処理するように構成され得る。postメッセージが受信されなかった場合には、FEコンポーネントは、postメッセージが受信されるまで、225で待つことができる。
postメッセージが受信された場合には、229で、postメッセージ内で指定された一意フレーム識別子を判定することができる。一実施態様では、postメッセージ内で供給されるデータは、一意フレーム識別子を判定するために解析され得る(たとえば、JavaScriptコマンドを使用して)。
233で、指定された一意フレーム識別子が、拡張可能な広告を含むiframeの一意フレーム識別子と一致するかどうかの判定を行うことができる。フレーム識別子が一致する場合には、237で、第1レベルの拡張可能な広告iframeのNodeList識別子を判定することができる。一実施態様では、postメッセージ内で供給されるデータは、NodeList識別子を判定するために解析され得る(たとえば、JavaScriptコマンドを使用して)。
判定されたNodeList識別子を有するpostメッセージは、241でフレーム・バスタに送られ得る。一実施態様では、postメッセージは、window.postMessage() JavaScript関数を使用して送られ得る。
図3は、SBWCのフレーム・バスティング(FB)コンポーネントの実施形態を示す論理流れ図を示す。図3では、301でフレーム・バスティング要求を入手することができる。たとえば、フレーム・バスティング要求は、フレーム・バスタ・ペイロードのスクリプトが実行される時(たとえば、フレーム・バスタ・ページが、拡張可能な広告に関連するフレーム・バスタiframeにロードされる時)に入手され得る。
305で、親フレーム(たとえば、拡張可能な広告iframe)の一意フレーム識別子を判定することができる。たとえば、window.name属性を解析して(たとえば、JavaScriptコマンドを使用して)、一意フレーム識別子を判定することができる。一実施態様では、一意フレーム識別子を、次のように判定することができる。
Figure 0006944170
309で、親フレーム(たとえば、第1レベルの拡張可能な広告iframe)のソースを判定することができる。たとえば、window.name属性を解析して(たとえば、JavaScriptコマンドを使用して)、ソースを判定することができる。一実施態様では、ソースを、次のように判定することができる。
Figure 0006944170
313で、ウェブページ・トップ・レベル・ドメインを判定することができる。たとえば、window.name属性を解析して(たとえば、JavaScriptコマンドを使用して)、ウェブページ・トップ・レベルのドメインを判定することができる。一実施態様では、ウェブページ・トップ・レベル・ドメインを、次のように判定することができる。
Figure 0006944170
317で、実行可能なフレーム照会(FQ)コンポーネントを生成することができる。たとえば、FQコンポーネントは、どのフレームが拡張可能な広告を含むのかを判定するためのフレームの照会を容易にすることができる。一実施態様では、FQコンポーネントを、次のように生成することができる。
Figure 0006944170
321で、生成されたFQコンポーネントを有するpostメッセージをウェブページ・トップ・レベルに送ることができる。一実施態様では、postメッセージは、次のようにwindow.postMessage() JavaScript関数を使用して送られ得る。
Figure 0006944170
325で、フレームpostメッセージのイベント・リスナを追加する(たとえば、バスタiframeに)ことができる。たとえば、イベント・リスナは、親フレームから受信されたメッセージを処理することができる。一実施態様では、イベント・リスナを次のように追加することができる。
Figure 0006944170
Figure 0006944170
329で、postメッセージが親フレームから受信されたかどうかの判定を行うことができる。たとえば、イベント・リスナは、受信されたpostメッセージを処理するように構成され得る(たとえば、上の例に示されているように)。postメッセージが受信されなかった場合には、FBコンポーネントは、333で、postメッセージが受信されるまで待つことができる。
postメッセージが受信された場合には、337で、postメッセージ内で指定された親フレームのNodeList識別子を判定することができる。一実施態様では、postメッセージ内で供給されるデータを解析して(たとえば、JavaScriptコマンドを使用して)、親フレームのNodeList識別子を判定することができる。
341で、拡張可能なペイロード・データを判定することができる。一実施態様では、拡張可能な広告の初期化スクリプトのソースを判定することができる。たとえば、window.name属性を解析して(たとえば、JavaScriptコマンドを使用して)、拡張可能な広告の初期化スクリプトのソースを判定することができる。別の実施態様では、他の拡張可能な広告の属性(たとえば、親フレームから渡され、クリック追跡に利用される)を判定することができる。
345で、実行可能な拡張可能なペイロード再構築(EPR)コンポーネントを生成することができる。たとえば、EPRコンポーネントは、ウェブページ・トップ・レベル内(たとえば、親フレームの上)での拡張可能な広告の再構築を容易にすることができる。
349で、生成されたEPRコンポーネントを有するpostメッセージをウェブページ・トップ・レベルに送ることができる。一実施態様では、postメッセージは、window.postMessage() JavaScript関数を使用して送られ得る。
図4は、SBWCのトップ・レベル・リスニング(TLL)コンポーネントの実施形態を示す論理流れ図を示す。図4では、401で、トップ・レベル・リスニング要求を入手することができる。たとえば、トップ・レベル・リスニング要求は、ウェブページ・トップ・レベルのスクリプトが実行される時(たとえば、ウェブページ・トップ・レベルがロードされる時)に入手され得る。
405で、第1レベル・フレームのNodeListオブジェクトを作成することができる。たとえば、NodeListオブジェクトは、ウェブページ・トップ・レベルに配置された第1レベルiframeを含む場合がある。一実施態様では、NodeListオブジェクトを次のように作成することができる。
Figure 0006944170
409で、フレーム・バスタpostメッセージ(たとえば、バスタ・ドメインからの)のイベント・リスナを追加することができる(たとえば、ウェブページ・トップ・レベルに)。たとえば、イベント・リスナは、フレーム・バスタから受信されたメッセージを処理することができる。一実施態様では、イベント・リスナを次のように追加することができる。
Figure 0006944170
413で、postメッセージがフレーム・バスタから受信されたかどうかの判定を行うことができる。たとえば、イベント・リスナは、受信されたpostメッセージを処理するように構成され得る(たとえば、上の例に示されているように)。postメッセージが受信されなかった場合には、TLLコンポーネントは、417で、postメッセージが受信されるまで待つことができる。
postメッセージが受信された場合には、421で、その起点をチェックして、それがバスタ・ドメインから発したことを検証することができる。一実施態様では、postメッセージ内で供給される起点データを、指定されたバスタ・ドメイン名(たとえば、www.FrameBuster.com)に対してチェックして、postメッセージの起点を検証することができる。
425で、postメッセージ内で供給された実行可能コンポーネント(たとえば、FQコンポーネント、EPRコンポーネント)を実行することができる。一実施態様では、実行可能コンポーネントは、Function() JavaScript関数を使用して実行可能JavaScript関数に変更され得、結果の実行可能JavaScript関数が、実行され得る。FQコンポーネントの追加の詳細に関しては、図5を参照されたい。EPRコンポーネントの追加の詳細に関しては、図6を参照されたい。
図5は、SBWCのフレーム照会(FQ)コンポーネントの実施形態を示す論理流れ図を示す。図5では、501で、postメッセージを送ったフレーム・バスタに関連する第1レベル拡張可能な広告iframeのソースを判定することができる。一実施態様では、第1レベル拡張可能な広告iframeのソースは、postメッセージ内で指定され得る。
505で、処理すべき第1レベル・フレームが残っているかどうかの判定を行うことができる。一実施態様では、NodeListオブジェクト内の第1レベルiframeのそれぞれを処理することができる。処理すべき第1レベルiframeが残っている場合には、509で、NodeListオブジェクト内の次の第1レベルiframeを選択することができる。
513で、選択された第1レベルiframeのソースが第1レベル拡張可能な広告iframeのソースと一致するかどうかの判定を行うことができる。フレーム・ソースが一致すると判定される場合には、選択された第1レベルiframeのNodeList識別子(たとえば、itemインデックス)と第1レベル拡張可能な広告iframeに関連する一意フレーム識別子(たとえば、postメッセージ内で指定される)とを有する新しいpostメッセージを、選択された第1レベルiframeに送ることができる。一実施態様では、postメッセージは、window.postMessage() JavaScript関数を使用して送られ得る。
図6は、SBWCの拡張可能なペイロード再構築(EPR)コンポーネントの実施形態を示す論理流れ図を示す。図6では、601で、postメッセージを送ったバスタ・フレームに関連する拡張可能な表示ペイロード(たとえば、拡張可能な広告)の要素(たとえば、JavaScript HTMLスクリプト・タグ)を作成することができる。一実施態様では、要素は、document.createElement() JavaScript関数を使用して作成され得る。
605で、エスケープされた要素として要素を構成することができる。たとえば、エスケープされた要素としての要素の構成は、拡張可能な広告(たとえば、関連する広告データおよび/または関数を含む拡張可能な広告JavaScriptオブジェクト)に、それがそのiframeをエスケープし、ウェブページ・トップ・レベル上で作成されつつあることを知らせることができる。一実施態様では、要素は、クラス名(たとえば、ls_escaped)に基づいて、エスケープされた要素として構成され得る。別の実施態様では、要素は、属性値(たとえば、escaped=true)に基づいて、エスケープされた要素として構成され得る。
609で、拡張可能な表示ペイロード(たとえば、拡張可能な広告に関連するデータ)がキャッシングされているかどうかの判定を行うことができる。データがキャッシングされている場合には、613で、キャッシングされているデータを判定することができる。たとえば、関連する広告データおよび/または関数を含む拡張可能な広告オブジェクトを識別することができる。データがキャッシングされていない場合には、617で、拡張可能な広告データを広告サーバから入手することができる。たとえば、拡張可能な広告オブジェクトを、拡張可能なペイロード要求を介して入手することができる。
621で、拡張可能な広告をユーザに供給することができる。一実施態様では、要素のソースに、拡張可能な広告オブジェクト初期化スクリプトの位置をセットすることができ、かつ/または要素をウェブページ・トップ・レベルに追加することができる。拡張可能な広告は、ウェブページ・トップ・レベルにある要素を使用してレンダリングされ得、拡張可能な広告は、拡張することができる(たとえば、ユーザが、拡張可能な広告にマウス・オーバーし、拡張可能な広告をクリックし、または拡張可能な広告をタップすることによって拡張を開始することを試みる場合に)。
図7は、SBWCの実施形態を示すスクリーンショット図を示す。図7では、スクリーン701は、拡張の前の、weather.com上のHome Depotの拡張可能な広告の例を示す。スクリーン710は、拡張の後の同一の広告を示す。ウィジェット712は、拡張された広告が、ユーザが製品をブラウズし、購入を行い、店舗ファインダを利用し、かつ/または類似物を行うことを可能にするマルチレベル・メニューをユーザに提供できることを示す。
図8は、SBWCの実施形態を示すスクリーンショット図を示す。図8では、スクリーン801は、拡張の前の、nytimes.com上のKinky Bootsの拡張可能な広告の例を示す。スクリーン810は、拡張の後の同一の広告を示す。ウィジェット812は、拡張された広告が、ユーザが関連するメディアを一時停止し、再生し、巻き戻し、早送りし、全画面表示にし、消音し、かつ/または類似物を行うことを可能にする、関連するメディア(たとえば、プレビュー・ビデオ)のメディア・プレイヤ・コントロールのセットをユーザに提供できることを示す。
SBWCコントローラ
図9は、SBWCコントローラの実施形態を示すブロック図を示す。この実施形態では、SBWCコントローラ901は、ウェブ・フレームおよびグラフィック合成技術を介するコンピュータとの相互作用および/または他の関連するデータを集計し、処理し、記憶し、検索し、供給し、識別し、指示し、生成し、照合し、かつ/または容易にするように働くことができる。
通常、人および/または他のシステムとすることのできるユーザは、情報処理を容易にするために情報技術システム(たとえば、コンピュータ)にかかわることができる。コンピュータは、情報を処理するのにプロセッサを使用し、そのようなプロセッサ903は、中央処理装置(CPU)と呼ばれる場合がある。プロセッサの1つの形は、マイクロプロセッサと呼ばれる。CPUは、様々な動作を可能にするための命令として働く2進符号化された信号を渡すのに通信回路を使用する。これらの命令は、メモリ929の様々なプロセッサ・アクセス可能エリアおよびプロセッサ操作可能エリア(たとえば、レジスタ、キャッシュ・メモリ、ランダム・アクセス・メモリなど)内の他の命令およびデータを含み、かつ/またはこれを参照する動作命令および/またはデータ命令とすることができる。そのような通信命令は、所望の動作を容易にするためにプログラムおよび/またはデータ・コンポーネントとしてバッチ(たとえば、命令のバッチ)で記憶され、かつ/または送信され得る。これらの記憶された命令コード、たとえばプログラムは、所望の動作を実行するためにCPU回路コンポーネントならびに他のマザーボード・コンポーネントおよび/またはシステム・コンポーネントにかかわることができる。プログラムの1タイプが、コンピュータ・オペレーティング・システムであり、これは、コンピュータ上のCPUによって実行され得、オペレーティング・システムは、ユーザがコンピュータ情報技術およびリソースにアクセスし、操作することを可能にし、容易にする。情報技術システム内で使用され得るいくつかのリソースは、データがそれを介してコンピュータに出入りすることのできる入力機構および出力機構と、データをその中に保存することのできるメモリ・ストレージと、情報をそれによって処理できるプロセッサとを含む。これらの情報技術システムは、その後の取出し、分析、および操作のためにデータを収集するのに使用され得、この取出し、分析、および操作は、データベース・プログラムを介して容易にされ得る。これらの情報技術システムは、ユーザが様々なシステム・コンポーネントにアクセスし、これを操作することを可能にするインターフェースを提供する。
一実施形態では、SBWCコントローラ901は、周辺デバイス912(たとえば、ユーザ入力デバイス911)、オプションの暗号プロセッサ・デバイス928、および/または通信ネットワーク913からの1つまたは複数のユーザなどであるがこれに限定されないエンティティに接続され、かつ/またはこれと通信することができる。
ネットワークは、グラフ・トポロジ内のクライアント、サーバ、および中間ノードの相互接続および相互動作を含むと一般に考えられる。本願全体を通じて使用される用語「サーバ」が、通信ネットワークにまたがるリモート・ユーザの要求を処理し、これに応答する、コンピュータ、他のデバイス、プログラム、またはその組合せを全体的に指すことに留意されたい。サーバは、要求する「クライアント」にその情報を供給する。本明細書で使用される用語「クライアント」は、要求を処理し、要求を行い、通信ネットワークにまたがってサーバからすべての応答を入手し、処理することのできるコンピュータ、プログラム、他のデバイス、ユーザ、および/またはその組合せを全体的に指す。情報および要求を容易にし、処理し、かつ/またはソース・ユーザから宛先ユーザへの情報の移動を促進するコンピュータ、他のデバイス、プログラム、またはその組合せは、一般に「ノード」と呼ばれる。ネットワークは、ソース点から宛先への情報の転送を容易にすると一般に考えられる。ソースから宛先への情報の移動を促進する仕事を具体的に割り当てられたノードは、一般に「ルータ」と呼ばれる。ローカル・エリア・ネットワーク(LAN)、ピコ・ネットワーク、広域ネットワーク(WAN)、無線ネットワーク(WLAN)、その他など、多数の形のネットワークがある。たとえば、インターネットは、リモート・クライアントおよびサーバがこれによってお互いにアクセスし、お互いと相互動作することのできる、多数のネットワークの相互接続であるものとして一般に受け入れられている。
SBWCコントローラ901は、メモリ929に接続されたコンピュータ・システム化902などのコンポーネントを含むことができるがこれに限定されないコンピュータ・システムに基づくものとすることができる。
コンピュータ・システム化
コンピュータ・システム化902は、クロック930、中央処理装置(「CPU(1つまたは複数)」および/または「プロセッサ(1つまたは複数)」(これらの用語は、そうではないと注記されない限り、本開示全体を通じて交換可能に使用される))903、メモリ929(たとえば、読取専用メモリ(ROM)906、ランダム・アクセス・メモリ(RAM)905など)、および/またはインターフェース・バス907を含むことができ、必ずではないが最も頻繁に、命令(たとえば、2進符号化された信号)が通信、動作、記憶などを実現するためにそれを介して移動することのできる導電性のおよび/または他の形で輸送的な回路経路を有する1つまたは複数の(マザー)ボード902上のシステム・バス904を介してすべて相互接続され、かつ/または通信している。コンピュータ・システム化は、電源986に接続され得、たとえば、オプションで、電源は、内蔵とすることができる。オプションで、暗号プロセッサ926をシステム・バスに接続することができる。別の実施形態では、暗号プロセッサ、トランシーバ(たとえば、IC)974、および/またはセンサ・アレイ(たとえば、加速度計、高度計、環境光、気圧計、全地球測位システム(GPS)(これによって、SBWCコントローラがその位置を判定することを可能にする)、ジャイロスコープ、磁力計、歩数計、近接、紫外線センサなど)973は、インターフェース・バスI/O 908(図示せず)を介してまたは直接にインターフェース・バス907を介して、内部および/または外部のいずれかの周辺デバイス912として接続され得る。トランシーバは、アンテナ(1つまたは複数)975に接続され得、これによって、様々な通信プロトコルおよび/またはセンサ・プロトコルの無線送信および無線受信を実現し、たとえば、アンテナ(1つまたは複数)は、Broadcom BCM4329FKUBGトランシーバ・チップ(たとえば、802.11n、Bluetooth 2.1+EDR、FM、その他を提供する)、加速度計、高度計、GPS、ジャイロスコープ、磁力計を有するBroadcom BCM4752 GPS受信器、Broadcom BCM4335トランシーバ・チップ(たとえば2G、3G、および4G long−term evolution(LTE)セルラ通信、802.11ac、Bluetooth 4.0 low energy(LE)(たとえば、ビーコン機能)を提供する)、Broadcom BCM43341トランシーバ・チップ(たとえば、2G、3G、および4G LTEセルラ通信、802.11 g/、Bluetooth 4.0、近距離無線通信(NFC)、FMラジオを提供する)、Infineon Technologies X−Gold 618−PMB9800トランシーバ・チップ(たとえば、2G/3G HSDPA/HSUPA通信を提供する)、MediaTek MT6620トランシーバ・チップ(たとえば、802.11a/ac/b/g/n、Bluetooth 4.0 LE、FM、GPSを提供する)、Lapis Semiconductor ML8511 UVセンサ、maxim integrated MAX44000環境光および赤外線近接センサ、Texas Instruments WiLink WL1283トランシーバ・チップ(たとえば、802.11n、Bluetooth 3.0、FM、GPSを提供する)、および/または類似物を含む様々なトランシーバ・チップセット(展開の必要に依存する)に接続することができる。システム・クロックは、通常、水晶発振器を有し、コンピュータ・システム化の回路経路を介してベース信号を生成する。クロックは、通常、システム・バスおよび様々なクロック・マルチプライヤに結合され、このクロック・マルチプライヤは、コンピュータ・システム化内で相互接続された他のコンポーネントのためにベース動作周波数を増減させる。コンピュータ・システム化内のクロックおよび様々なコンポーネントは、システム全体を通じて、情報を実施する信号を駆動する。コンピュータ・システム化全体を通じた情報を実施する命令のそのような送信および受信は、一般に通信と呼ばれ得る。これらの通信命令は、さらに送信され、受信され得、通信ネットワーク、入力デバイス、他のコンピュータ・システム化、周辺デバイス、および/または類似物への本コンピュータ・システム化を超える戻り通信および/または応答通信の原因であり得る。代替実施形態では、上記コンポーネントのいずれをも、様々なコンピュータ・システムによって例示されるように、お互いに直接に接続し、CPUに接続し、かつ/または多数の変形形態で編成することができることを理解されたい。
CPUは、ユーザ要求および/またはシステムの生成した要求を実行するプログラム・コンポーネントを実行するのに適当な少なくとも1つの高速データ・プロセッサを含む。CPUは、しばしば、大型のスーパーコンピュータ(1つまたは複数)およびメインフレーム(1つまたは複数)コンピュータから、ミニ・コンピュータ、サーバ、デスクトップ・コンピュータ、ラップトップ、シン・クライアント(たとえば、Chromebook)、ネットブック、タブレット(たとえば、Android、iPad、およびWindowsタブレットなど)、モバイル・スマートフォン(たとえば、Android、iPhone、Nokia、Palm、およびWindowsフォンなど)、ウェアラブル・デバイス(1つまたは複数)(たとえば、腕時計、眼鏡、ゴーグル(たとえば、Google Glass)、その他)、および/または類似物まで変化する複数のフォーマットでパッケージ化される。しばしば、プロセッサ自体が、統合されたシステム(バス)コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、ならびに、グラフィックス処理ユニット、デジタル信号処理ユニット、および/または類似物などの特殊化された処理サブユニットなどであるがこれに限定されない様々な特殊化された処理ユニットを組み込む。さらに、プロセッサは、内蔵高速アクセス・アドレス可能メモリを含む場合があり、プロセッサ自体以外のメモリ929をマッピングし、アドレッシングすることができ、内蔵メモリは、高速レジスタ、様々なレベルのキャッシュ・メモリ(たとえば、レベル1、2、3など)、RAM、その他を含むことができるが、これに限定されない。プロセッサは、命令アドレスを介してアクセス可能なメモリ・アドレス空間の使用を介してこのメモリにアクセスすることができ、この命令アドレスを、プロセッサが構成し、復号することができ、プロセッサが、メモリ状態を有する特定のメモリ・アドレス空間への回路経路にアクセスすることを可能にする。CPUは、AMDのAthlon、Duron、および/またはOpteron、AppleのAシリーズのプロセッサ(たとえば、A5、A6、A7、A8など)、ARMのアプリケーション・プロセッサ、組込みプロセッサ、およびセキュア・プロセッサ、IBMおよび/またはMotorolaのDragonBallおよびPowerPC、IBMおよびSonyのCellプロセッサ、Intelの80X86シリーズ(たとえば、80386、80486)、Pentium、Celeron、Core(2)Duo、iシリーズ(たとえば、i3、i5、i7など)、Itanium、Xeon、および/またはXScale、Motorolaの680X0シリーズ(たとえば、68020、68030、68040など)、ならびに/あるいは同様のプロセッサ(1つまたは複数)などのマイクロプロセッサとすることができる。CPUは、従来のデータ処理技法に従って記憶された命令(すなわち、プログラム・コード)を実行するために、導電性のおよび/または輸送的な導管(たとえば、(プリント)電子回路および/または光回路)を通過する命令を介してメモリと相互作用する。そのような命令通過は、SBWCコントローラ内および様々なインターフェースを介するSBWCコントローラ以外との通信を容易にする。処理要件が、より高い速度および/またはより多い容量の分散プロセッサ(たとえば、下の分散SBWC参照)を規定する場合には、メインフレーム・アーキテクチャ、マルチコア・アーキテクチャ、並列アーキテクチャ、および/またはスーパーコンピュータ・アーキテクチャを同様に使用することができる。その代わりに、展開が、より高い移植性を規定する場合には、より小さいモバイル・デバイス(たとえば、携帯情報端末(PDA))を使用することができる。
特定の実施態様に依存して、SBWCの特徴を、CASTのR8051XC2マイクロコントローラ、IntelのMCS 51(すなわち、8051マイクロコントローラ)、および/または類似物などのマイクロコントローラを実施することによって達成することができる。また、SBWCのある種の特徴を実施するために、いくつかの特徴実施態様は、特定用途向け集積回路(「ASIC」)、デジタル信号処理(「DSP」)、フィールド・プログラマブル・ゲート・アレイ(「FPGA」)、および/または同様の組込み技術などの組込みコンポーネントに頼ることができる。たとえば、SBWCコンポーネント・コレクション(分散式または他の形)および/または特徴のいずれをも、マイクロプロセッサを介してならびに/または組込みコンポーネントを介して、たとえば、ASIC、コプロセッサ、DSP、FPGA、および/もしくは類似物を介して実施することができる。代替案では、SBWCのいくつかの実施態様を、様々な特徴または信号処理を達成するように構成され、これに使用される組込みコンポーネントを用いて実施することができる。
特定の実施態様に依存して、組込みコンポーネントは、ソフトウェア解決策、ハードウェア解決策、および/またはソフトウェア解決策/ハードウェア解決策の両方の何らかの組合せを含む場合がある。たとえば、本明細書で議論されるSBWC特徴は、FPGAの実施を介して達成され得、FPGAは、Xilinxが製造する高性能FPGA Virtexシリーズおよび/または低コストSpartanシリーズなど、「論理ブロック」と呼ばれるプログラム可能な論理コンポーネントとプログラム可能な相互接続とを含む半導体デバイスである。論理ブロックおよび相互接続は、FPGAが製造された後に、SBWC特徴のいずれかを実施するために、顧客または設計者によってプログラムされ得る。プログラム可能な相互接続の階層は、1チップ・プログラム可能ブレッドボードに多少似て、SBWCシステム設計者/管理者によって必要に応じて論理ブロックが相互接続されることを可能にする。FPGAの論理ブロックは、ANDおよびXORなどの基本的な論理ゲートの動作または復号器もしくは数学演算などのより複雑な組合せ演算子の動作を実行するようにプログラムされ得る。ほとんどのFPGAでは、論理ブロックは、メモリ要素をも含み、このメモリ要素は、回路フリップフロップまたはメモリのより完全なブロックとすることができる。いくつかの状況で、SBWCは、通常のFPGA上で開発され、その後、ASIC実施態様により類似する固定されたバージョンに移植され得る。代替実施態様または調整する実施態様は、SBWCコントローラ特徴を、FPGAの代わりにまたはこれに加えて最終的なASICに移植することができる。実施態様に依存して、前述の組込みコンポーネントおよびマイクロプロセッサのすべてを、SBWCに関して「CPU」および/または「プロセッサ」と考えることができる。
電源
電源986は、以下のパワー・セルすなわち、アルカリ、リチウム水素、リチウム・イオン、リチウム・ポリマ、ニッケル・カドミウム、太陽電池、および/または類似物など、小型電子回路基板デバイスに電力を供給するための任意の標準的な形態のものとすることができる。他のタイプの交流電源または直流電源を使用することもできる。太陽電池の場合に、一実施形態では、ケースは、太陽電池がそれを介して光子エネルギを取り込めるアパーチャを提供する。パワー・セル986は、SBWCの相互接続された後続コンポーネントのうちの少なくとも1つに接続され、これによって、すべての後続コンポーネントに電流を供給する。一例では、電源986は、システム・バス・コンポーネント904に接続される。代替実施態様では、外部の電源986が、I/O 908インターフェースにまたがる接続を介して提供される。たとえば、USB接続および/またはIEEE 1394接続は、接続にまたがってデータと電力との両方を搬送し、したがって、電力の適切な源である。
インターフェース・アダプタ
インターフェース・バス(1つまたは複数)907は、必ずではないが通常は、入出力インターフェース(I/O)908、ストレージ・インターフェース909、ネットワーク・インターフェース910、および/または類似物などであるがこれに限定されないアダプタ・カードの形の、複数のインターフェース・アダプタを受け入れ、これに接続し、かつ/またはこれと通信することができる。オプションで、暗号プロセッサ・インターフェース927が、同様にインターフェース・バスに接続され得る。インターフェース・バスは、インターフェース・アダプタの、お互いとのならびにコンピュータ・システム化の他のコンポーネントとの通信を提供する。インターフェース・アダプタは、互換インターフェース・バスに適合される。インターフェース・アダプタは、通常、スロット・アーキテクチャを介してインターフェース・バスに接続する。Accelerated Graphics Port(AGP)、Card Bus、(Extended)Industry Standard Architecture((E)ISA)、マイクロ・チャネル・アーキテクチャ(MCA)、NuBus、Peripheral Component Interconnect(Extended)(PCI(X))、PCI Express、Personal Computer Memory Card International Association(PCMCIA)、および/または類似物などであるがこれに限定されない従来のスロット・アーキテクチャを使用することができる。
ストレージ・インターフェース909は、ストレージ・デバイス914、リムーバブル・ディスク・デバイス、および/または類似物などであるがこれに限定されない複数のストレージ・デバイスを受け入れ、これと通信し、かつ/またはこれに接続することができる。ストレージ・インターフェースは、(Ultra)(Serial)Advanced Technology Attachment(Packet Interface)((Ultra)(Serial)ATA(PI))、(Enhanced)Integrated Drive Electronics((E)IDE)、米国電気電子技術者協会(IEEE)1394、fiber channel、Small Computer Systems Interface(SCSI)、Universal Serial Bus(USB)、および/または類似物などであるがこれに限定されない接続プロトコルを使用することができる。
ネットワーク・インターフェース910は、通信ネットワーク913を受け入れ、これと通信し、かつ/またはこれに接続することができる。通信ネットワーク913を介して、SBWCコントローラは、リモート・クライアント933b(たとえば、ウェブ・ブラウザを有するコンピュータ)を介してユーザ933aによってアクセス可能である。ネットワーク・インターフェースは、直接接続、イーサネット(シック、シン、より対線10/100/1000/10000 Base T、および/または類似物)、トークン・リング、IEEE 802.11a〜xなどの無線接続、および/または類似物などであるがこれに限定されない接続プロトコルを使用することができる。処理要件が、より高い速度および/またはより多い容量の分散ネットワーク・コントローラ(たとえば、下の分散SBWC参照)を規定する場合には、SBWCコントローラによって要求される通信帯域幅をプールし、負荷平衡化し、かつ/または他の形で増減するために、アーキテクチャを同様に使用することができる。通信ネットワークは、直接相互接続、インターネット、惑星間インターネット(たとえば、Coherent File Distribution Protocol(CFDP)、Space Communications Protocol Specifications(SCPS)など)、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、Operating Missions as Nodes on the Internet(OMNI)、保護されたカスタム接続、広域ネットワーク(WAN)、無線ネットワーク(たとえば、セルラ、WiFi、Wireless Application Protocol(WAP)、iモード、および/または類似物などのプロトコルを使用する)、および/または類似物のいずれかおよび/または組合せとすることができる。ネットワーク・インターフェースを、入出力インターフェースの特殊化された形態と見なすことができる。さらに、複数のネットワーク・インターフェース910を使用して、様々な通信ネットワーク・タイプ913とかかわることができる。たとえば、複数のネットワーク・インターフェースを使用して、ブロードキャスト・ネットワーク、マルチキャスト・ネットワーク、および/またはユニキャスト・ネットワークを介する通信を可能にすることができる。
入出力インターフェース(I/O)908は、ユーザ、周辺デバイス912(たとえば、入力デバイス911)、暗号プロセッサ・デバイス928、および/または類似物を受け入れ、これと通信し、かつ/またはこれに接続することができる。I/Oは、オーディオ(アナログ、デジタル、モノラル、RCA、ステレオ、および/または類似物)、データ(Apple Desktop Bus(ADB)、IEEE 1394a〜b、シリアル、universal serial bus(USB))、赤外線、ジョイスティック、キーボード、midi、光、PC AT、PS/2、パラレル、ラジオ、タッチ・インターフェース(容量性、光、抵抗性、その他)、ディスプレイ、ビデオ・インターフェース(Apple Desktop Connector(ADC)、BNC、同軸、コンポーネント、コンポジット、デジタル、Digital Visual Interface(DVI)、(ミニ)ディスプレイポート、high−definition multimedia interface(HDMI)、RCA、RFアンテナ、S−Video、VGA、および/または類似物)、無線トランシーバ(802.11a/ac/b/g/n/x)、Bluetooth、セルラ(たとえば、符号分割多元接続(CDMA)、high speed packet access(HSPA(+))、high−speed downlink packet access(HSDPA)、global system for mobile communications(GSM)、long term evolution(LTE)、WiMaxなど)、および/または類似物などであるがこれに限定されない接続プロトコルを使用することができる。1つの通常の出力デバイスは、ビデオ・ディスプレイを含むことができ、このビデオ・ディスプレイは、通常、陰極線管(CRT)を含み、あるいは、ビデオ・インターフェースからの信号を受け入れるインターフェース(たとえば、DVI回路網およびケーブル)を有する液晶ディスプレイ(LCD)ベースのモニタを使用することができる。ビデオ・インターフェースは、コンピュータ・システム化によって生成された情報を合成し、ビデオ・メモリ・フレーム内の合成された情報に基づいてビデオ信号を生成する。もう1つの出力デバイスは、ビデオ・インターフェースからの信号を受け入れるテレビジョン・セットである。通常、ビデオ・インターフェースは、ビデオ・ディスプレイ・インターフェースを受け入れるビデオ接続インターフェース(たとえば、RCAコンポジット・ビデオ・ケーブルを受け入れるRCAコンポジット・ビデオ・コネクタ、DVIディスプレイ・ケーブルを受け入れるDVIコネクタなど)を介して合成されたビデオ情報を供給する。
周辺デバイス912は、I/Oおよび/またはネットワーク・インターフェース、ストレージ・インターフェースなどの他のファシリティに、インターフェース・バス、システム・バス、CPU、および/または類似物に直接に、接続されかつ/または通信することができる。周辺デバイスは、外付け、内蔵、および/またはSBWCコントローラの一部とすることができる。周辺デバイスは、アンテナ、オーディオ・デバイス(たとえば、ラインイン、ラインアウト、マイクロホン入力、スピーカなど)、カメラ(たとえば、ジェスチャ(たとえば、Microsoft Kinect)検出、動き検出、スチール、ビデオ、ウェブカムなど)、ドングル(たとえば、コピー・プロテクション、デジタル署名を用いるセキュア・トランザクションの保証、および/または類似物のための)、外部プロセッサ(追加能力のための、たとえば暗号デバイス528)、フォースフィードバック・デバイス(たとえば、振動モータ)、赤外線(IR)トランシーバ、ネットワーク・インターフェース、プリンタ、スキャナ、センサ/センサ・アレイおよび周辺機器拡張(たとえば、環境光、GPS、ジャイロスコープ、近接、温度など)、ストレージ・デバイス、トランシーバ(たとえば、セルラ、GPSなど)、ビデオ・デバイス(たとえば、ゴーグル、モニタなど)、ビデオ・ソース、バイザ、および/または類似物を含むことができる。周辺デバイスは、しばしば、諸タイプの入力デバイス(たとえば、カメラ)を含む。
ユーザ入力デバイス911は、しばしば、あるタイプの周辺デバイス512(上を参照)であり、カード・リーダー、ドングル、指紋リーダー、グローブ、グラフィックス・タブレット、ジョイスティック、キーボード、マイクロホン、マウス(1つまたは複数)、リモート・コントロール、セキュリティ/バイオメトリック・デバイス(たとえば、指紋リーダー、虹彩リーダー、網膜リーダーなど)、タッチ・スクリーン(たとえば、容量性、抵抗性など)、トラックボール、トラックパッド、スタイラス、および/または類似物を含むことができる。
ユーザ入力デバイスおよび周辺デバイスを使用することができるが、SBWCコントローラが、組込みデバイス、専用デバイス、および/またはモニタレス(すなわち、ヘッドレス)デバイスとして実施され得、この場合に、アクセスが、ネットワーク・インターフェース接続を介して提供されることに留意されたい。
マイクロコントローラ、プロセッサ926、インターフェース927、および/またはデバイス928などであるがこれに限定されない暗号ユニットが、SBWCコントローラに取り付けられ、かつ/またはこれと通信することができる。Motorola Inc.が製造するMC68HC16マイクロコントローラが、暗号ユニットのためにおよび/または暗号ユニット内で使用され得る。MC68HC16マイクロコントローラは、16MHz構成で16ビット積和命令を利用し、512ビットRSA秘密鍵演算を実行するのに1秒未満を要する。暗号ユニットは、相互作用するエージェントからの通信の認証をサポートすると同時に、匿名トランザクションを可能にする。暗号ユニットは、CPUの一部として構成される場合もある。同等のマイクロコントローラおよび/またはプロセッサを使用することもできる。他の市販の特殊化された暗号プロセッサは、BroadcomのCryptoNetXおよび他のセキュリティ・プロセッサ、nCipherのnShield、SafeNetのLuna PCI(たとえば、7100)シリーズ、Semaphore Communicationsの40MHz Roadrunner 184、SunのCryptographic Accelerator(たとえば、Accelerator 6000 PCIe Board、Accelerator 500 Daughtercard)、Via Nano Processor(たとえば、L2100、L2200、U2400)系列(500MB/s超の暗号命令を実行することができる)、VLSI Technologyの33 MHz 6868、および/または類似物を含む。
メモリ
一般に、プロセッサが情報の記憶および/または取出に影響することを可能にするすべての機械化および/または実施形態は、メモリ929と見なされる。しかし、メモリは、代替可能な技術およびリソースであり、したがって、任意の個数のメモリ実施形態が、お互いの代わりにまたはお互いと共同して使用され得る。SBWCコントローラおよび/またはコンピュータ・システム化が、様々な形態のメモリ929を使用できることを理解されたい。たとえば、オンチップCPUメモリ(たとえば、レジスタ)、RAM、ROM、および任意の他のストレージ・デバイスの動作が、紙パンチ・テープ機構または紙パンチ・カード機構によって提供されるコンピュータ・システム化が構成され得るが、そのような実施形態は、極端に低い動作速度をもたらすはずである。通常の構成では、メモリ929は、ROM 906、RAM 905、およびストレージ・デバイス914を含む。ストレージ・デバイス914は、任意の従来のコンピュータ・システム・ストレージとすることができる。ストレージ・デバイスは、デバイスのアレイ(たとえば、Redundant Array of Independent Disks(RAID))、ドラム、(固定のおよび/または取り外し可能な)磁気ディスク・ドライブ、光磁気ドライブ、光ドライブ(すなわち、ブルーレイ、CD ROM/RAM/Recordable(R)/ReWritable(RW)、DVD R/RW、HD DVD R/RWなど)、RAMドライブ、ソリッド・ステート・メモリ・デバイス(USBメモリ、ソリッド・ステート・ドライブ(SSD)など)、他のプロセッサ可読記憶媒体、および/または同様の他のデバイスを含むことができる。したがって、コンピュータ・システム化は、一般に、メモリを必要とし、利用する。
コンポーネント・コレクション
メモリ929は、オペレーティング・システム・コンポーネント(1つまたは複数)915(オペレーティング・システム)、情報サーバ・コンポーネント(1つまたは複数)916(情報サーバ)、ユーザ・インターフェース・コンポーネント(1つまたは複数)917(ユーザ・インターフェース)、ウェブ・ブラウザ・コンポーネント(1つまたは複数)918(ウェブ・ブラウザ)、データベース(1つまたは複数)919、メール・サーバ・コンポーネント(1つまたは複数)921、メール・クライアント・コンポーネント(1つまたは複数)922、暗号サーバ・コンポーネント(1つまたは複数)920(暗号サーバ)、SBWCコンポーネント(1つまたは複数)935、および/または類似物(すなわち、集合的にコンポーネント・コレクション)などであるがこれに限定されないプログラム・コンポーネントおよび/またはデータベース・コンポーネントおよび/またはデータのコレクションを含むことができる。これらのコンポーネントは、記憶され、ストレージ・デバイスからおよび/またはインターフェース・バスを介してアクセス可能なストレージ・デバイスからアクセスされ得る。コンポーネント・コレクション内のコンポーネントなど、非従来のプログラム・コンポーネントは、通常はローカル・ストレージ・デバイス914内に記憶されるが、これらは、周辺デバイス、RAM、通信ネットワークを介するリモート・ストレージ・ファシリティ、ROM、様々な形態のメモリ、および/または類似物などのメモリ内にロードされ、かつ/または記憶される場合もある。
オペレーティング・システム
オペレーティング・システム・コンポーネント915は、SBWCコントローラの動作を容易にする実行可能プログラム・コンポーネントである。通常、オペレーティング・システムは、I/O、ネットワーク・インターフェース、周辺デバイス、ストレージ・デバイス、および/または類似物のアクセスを容易にする。オペレーティング・システムは、AppleのMacintosh OS X(Server)、AT&T Plan 9、Be OS、BlackberryのQNX、GoogleのChrome、MicrosoftのWindows 7/8、UnixおよびUnix様システム・ディストリビューション(AT&TのUNIX、FreeBSD、NetBSD、OpenBSD、および/または類似物などのBerkley Software Distribution(BSD)変形形態、Red Hat、Ubuntu、および/または類似物などのLinuxディストリビューションなど)、および/または同様のオペレーティング・システムなどの、非常にフォールト・トレラント、スケーラブル、かつセキュアなシステムとすることができる。しかし、Apple Macintosh OS、IBM OS/2、Microsoft DOS、Microsoft Windows 2000/2003/3.1/95/98/CE/Millenium/Mobile/NT/Vista/XP(Server)、Palm OS、および/または類似物など、より制限されたかつ/またはより非セキュアなオペレーティング・システムを使用することもできる。さらに、頑健なモバイル展開応用例に関して、AppleのiOS、China Operating System COS、GoogleのAndroid、Microsoft Windows RT/Phone、PalmのWebOS、Samsung/IntelのTizen、および/または類似物などのモバイル・オペレーティング・システムを使用することができる。オペレーティング・システムは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または類似物におよび/またはこれと通信することができる。最も頻繁に、オペレーティング・システムは、他のプログラム・コンポーネント、ユーザ・インターフェース、および/または類似物と通信する。たとえば、オペレーティング・システムは、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、および/または応答を含み、通信し、生成し、入手し、かつ/または提供することができる。オペレーティング・システムは、CPUによって実行された後に、通信ネットワーク、データ、I/O、周辺デバイス、プログラム・コンポーネント、メモリ、ユーザ入力デバイス、および/または類似物との相互作用を可能にすることができる。オペレーティング・システムは、SBWCコントローラが通信ネットワーク913を介して他のエンティティと通信することを可能にする通信プロトコルを提供することができる。マルチキャスト、TCP/IP、UDP、ユニキャスト、および/または類似物などであるがこれに限定されない様々な通信プロトコルが、相互作用のための副搬送波トランスポート機構としてSBWCコントローラによって使用され得る。
情報サーバ
情報サーバ・コンポーネント916は、CPUによって実行される記憶されたプログラム・コンポーネントである。情報サーバは、Apache Software FoundationのApache、MicrosoftのInternet Information Server、および/または類似物などであるがこれに限定されない従来のインターネット情報サーバとすることができる。情報サーバは、Active Server Page(ASP)、ActiveX、(ANSI)(Objective−)C(++)、C#および/もしくは.NET、Common Gateway Interface(CGI)スクリプト、dynamic(D)ハイパーテキスト・マークアップ言語(HTML)、FLASH、Java、JavaScript、Practical Extraction Report Language(PERL)、Hypertext Pre−Processor(PHP)、pipes、Python、wireless application protocol(WAP)、WebObjects、ならびに/または類似物などのファシリティを介するプログラム・コンポーネントの実行を可能にすることができる。情報サーバは、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)、Secure Hypertext Transfer Protocol(HTTPS)、Secure Socket Layer(SSL)、メッセージング・プロトコル(たとえば、America Online(AOL)Instant Messenger(AIM)、Application Exchange(APEX)、ICQ、Internet Relay Chat(IRC)、Microsoft Network(MSN)Messenger Service、Presence and Instant Messaging Protocol(PRIM)、Internet Engineering Task Force(IETF)のSession Initiation Protocol(SIP)、SIP for Instant Messaging and Presence Leveraging Extensions(SIMPLE)、オープンXMLベースのExtensible Messaging and Presence Protocol(XMPP)(すなわち、JabberまたはOpen Mobile Alliance(OMA)のInstant Messaging and Presence Service(IMPS))、Yahoo! Instant Messenger Service、および/または類似物などであるがこれに限定されないセキュア通信プロトコルをサポートすることができる。情報サーバは、結果をウェブ・ページの形でウェブ・ブラウザに供給し、他のプログラム・コンポーネントとの相互作用を介するウェブ・ページの操作された生成を可能にする。HTTP要求のドメイン名システム(DNS)解決部分が、特定の情報サーバに対して解決された後に、情報サーバは、HTTP要求の残りに基づいて、SBWCコントローラ上の指定された位置で情報の要求を解決する。たとえば、http://123.124.125.126/myInformation.htmlなどの要求は、そのIPアドレスにある情報サーバに対してDNSサーバによって解決される要求のIP部分「123.124.125.126」を有することができ、その情報サーバは、さらに、要求の「/myInformation.html」部分に関してhttp要求を解析し、これを、情報「myInformation.html」を含むメモリ内の位置に解決することができる。さらに、他の情報供給プロトコルが、様々なポート、たとえばポート21を介するFTP通信および/または類似物にまたがって使用され得る。情報サーバは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。最も頻繁に、情報サーバは、SBWCデータベース919、オペレーティング・システム、他のプログラム・コンポーネント、ユーザ・インターフェース、ウェブ・ブラウザ、および/または類似物と通信する。
SBWCデータベースへのアクセスは、下で列挙されるスクリプティング言語(たとえば、CGI)を介しておよび下で列挙されるアプリケーション間通信チャネル(たとえば、CORBA、WebObjectsなど)を介してなど、複数のデータベース・ブリッジ機構を介して達成され得る。ウェブ・ブラウザを介するすべてのデータ要求は、ブリッジ機構を介して、SBWCによって要求される適当な文法に解析される。一実施形態では、情報サーバは、ウェブ・ブラウザによってアクセス可能なウェブ・フォームを供給する。ウェブ・フォーム内で供給されるフィールドに対して行われた入力は、特定のフィールドに入力されたものとしてタグを付けられ、しかるべく解析される。その後、入力された項目は、フィールド・タグと一緒に渡され、このフィールド・タグは、適当なテーブルおよび/またはフィールドに向けられた照会を生成するようにパーサに指示するように働く。一実施形態では、パーサは、タグ付けされたテキスト・エントリに基づいて適当なjoin/selectコマンドを有する検索文字列をインスタンス化することによって、標準SQLの照会を生成することができ、ここで、結果のコマンドは、ブリッジ機構を介して照会としてSBWCに供給される。照会から照会結果を生成する際に、結果は、ブリッジ機構を介して渡され、ブリッジ機構による新しい結果ウェブ・ページのフォーマットおよび生成のために解析され得る。その後、そのような新しい結果ウェブ・ページは、情報サーバに供給され、情報サーバは、要求するウェブ・ブラウザにそのページを供給することができる。
また、情報サーバは、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。
ユーザ・インターフェース
コンピュータ・インターフェースは、ある点で、自動車操縦インターフェースに似ている。ステアリング・ホイール、ギアシフト、および速度計などの自動車操縦インターフェース要素は、自動車リソースおよび状況のアクセス、操作、および表示を容易にする。ボタン、チェック・ボックス、カーソル、メニュー、スクローラ、およびウィンドウなどのコンピュータ対話インターフェース要素(集合的に一般にウィジェットと呼ばれる)は、データ、コンピュータ・ハードウェア、オペレーティング・システム・リソース、および状況のアクセス、能力、操作、および表示を同様に容易にする。操作インターフェースは、一般にユーザ・インターフェースと呼ばれる。AppleのiOS、Macintosh Operating SystemのAqua、IBMのOS/2、GoogleのChrome(たとえば、および他のウェブブラウザ/クラウド・ベースのクライアントOS)、MicrosoftのWindowsの様々なUI 2000/2003/3.1/95/98/CE/Millenium/Mobile/NT/Vista/XP(Server)(すなわち、Aero、Surfaceなど)、UnixのX−Windows(これは、たとえば、K Desktop Environment(KDE)、mythTV、およびGNU Network Object Model Environment(GNOME)などの追加のUnixグラフィック・インターフェース・ライブラリおよびレイヤを含むことができる)、ウェブ・インターフェース・ライブラリ(たとえば、Dojo、jQuery(UI)、MooTools、Prototype、script.aculo.us、SWFObject、Yahoo! User Interfaceなどであるがこれに限定されない、ActiveX、AJAX、(D)HTML、FLASH、Java、JavaScriptなどのインターフェース・ライブラリ(いずれをも使用することができる))などのグラフィカル・ユーザ・インターフェース(GUI)は、情報へのアクセスと、これをユーザにグラフィカルに表示することとのベースラインおよび手段を提供する。
ユーザ・インターフェース・コンポーネント917は、CPUによって実行される記憶されたプログラム・コンポーネントである。ユーザ・インターフェースは、既に議論したものなどのオペレーティング・システムおよび/またはオペレーティング環境によって、これと共に、および/またはこれの上に提供される従来のグラフィック・ユーザ・インターフェースとすることができる。ユーザ・インターフェースは、テキスト・ファシリティおよび/またはグラフィカル・ファシリティを介するプログラム・コンポーネントおよび/またはシステム・ファシリティの表示、実行、対話、操作、および/または運用を可能にすることができる。ユーザ・インターフェースは、ユーザがそれを介してコンピュータ・システムに影響し、これと対話し、かつ/またはこれを操作するファシリティを提供する。ユーザ・インターフェースは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。最も頻繁に、ユーザ・インターフェースは、オペレーティング・システム、他のプログラム・コンポーネント、および/または類似物と通信する。ユーザ・インターフェースは、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。
ウェブ・ブラウザ
ウェブ・ブラウザ・コンポーネント918は、CPUによって実行される記憶されたプログラム・コンポーネントである。ウェブ・ブラウザは、Appleの(mobile)Safari、GoogleのChrome、Microsoft Internet Explorer、MozillaのFirefox、Netscape Navigator、および/または類似物などの従来のハイパーテキスト・ビューイング・アプリケーションとすることができる。セキュア・ウェブ・ブラウジングは、HTTPS、SSL、および/または類似物によって、128ビット(以上)の暗号化と共に供給され得る。ウェブ・ブラウザは、ActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript、ウェブ・ブラウザ・プラグインAPI(たとえば、FireFox、Safari Plug−in、および/または同様のAPI)、および/または類似物などのファシリティを介するプログラム・コンポーネントの実行を可能にする。ウェブ・ブラウザおよび同様の情報アクセス・ツールは、PDA、セル電話機、および/または他のモバイル・デバイスに統合され得る。ウェブ・ブラウザは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。最も頻繁に、ウェブ・ブラウザは、情報サーバ、オペレーティング・システム、統合されたプログラム・コンポーネント(たとえば、プラグイン)、および/または類似物と通信し、たとえば、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。また、ウェブ・ブラウザおよび情報サーバの代わりに、組み合わされたアプリケーションが、この両方と同様の動作を実行するように開発され得る。組み合わされたアプリケーションは、SBWC対応ノードからの情報の入手ならびにユーザ、ユーザ・エージェント、および/または類似物への情報の提供に同様に影響するはずである。組み合わされたアプリケーションは、標準的なウェブ・ブラウザを使用するシステム上では無価値になる可能性がある。
メール・サーバ
メール・サーバ・コンポーネント921は、CPU903によって実行される記憶されたプログラム・コンポーネントである。メール・サーバは、dovecot、Courier IMAP、Cyrus IMAP、Maildir、Microsoft Exchange、sendmail、および/または類似物などであるがこれに限定されない従来のインターネット・メール・サーバとすることができる。メール・サーバは、ASP、ActiveX、(ANSI)(Objective−)C(++)、C#および/もしくは.NET、CGIスクリプト、Java、JavaScript、PERL、PHP、pipes、Python、WebObjects、ならびに/または類似物などのファシリティを介するプログラム・コンポーネントの実行を可能にすることができる。メール・サーバは、Internet message access protocol(IMAP)、Messaging Application Programming Interface(MAPI)/Microsoft Exchange、post office protocol(POP3)、simple mail transfer protocol(SMTP)、および/または類似物などであるがこれに限定されない通信プロトコルをサポートすることができる。メール・サーバは、SBWCを介しかつ/またはSBWCに送られ、中継され、かつ/または他の形でトラバースした着信メール・メッセージおよび発信メール・メッセージをルーティングし、転送し、処理することができる。代替案では、メール・サーバ・コンポーネントは、Googleのクラウド・サービスなどのメール・サービス提供エンティティに分散され得る(たとえば、Gmailおよび通知は、その代わりに、AOLのInstant Messenger、AppleのiMessage、Google Messenger、SnapChat、その他などのメッセンジャ・サービスを介して提供され得る)。
SBWCメールへのアクセスは、個々のウェブ・サーバ・コンポーネントおよび/またはオペレーティング・システムによって提供される複数のAPIを介して達成され得る。
また、メール・サーバは、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、情報、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。
メール・クライアント
メール・クライアント・コンポーネント922は、CPU903によって実行される記憶されたプログラム・コンポーネントである。メール・クライアントは、Apple Mail、Microsoft Entourage、Microsoft Outlook、Microsoft Outlook Express、Mozilla、Thunderbird、および/または類似物などの従来のメール・ビューイング・アプリケーションとすることができる。メール・クライアントは、IMAP、Microsoft Exchange、POP3、SMTP、および/または類似物などの複数の転送プロトコルをサポートすることができる。メール・クライアントは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。最も頻繁に、メール・クライアントは、メール・サーバ、オペレーティング・システム、他のメール・クライアント、および/または類似物と通信し、たとえば、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、情報、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。一般に、メール・クライアントは、電子メール・メッセージを構成し、送信するファシリティを提供する。
暗号サーバ
暗号サーバ・コンポーネント920は、CPU903、暗号プロセッサ926、暗号プロセッサ・インターフェース927、暗号プロセッサ・デバイス928、および/または類似物によって実行される記憶されたプログラム・コンポーネントである。暗号プロセッサ・インターフェースは、暗号コンポーネントによる暗号化要求および/または暗号化解除要求の迅速さを可能にするが、暗号コンポーネントが、その代わりに従来のCPU上で走行することができる。暗号コンポーネントは、供給されたデータの暗号化および/または暗号化解除を可能にする。暗号コンポーネントは、対称と非対称との両方の(たとえば、Pretty Good Protection(PGP))暗号化および/または暗号化解除を可能にする。暗号コンポーネントは、デジタル証明書(たとえば、X.509認証フレームワーク)、デジタル署名、デュアル署名、enveloping、パスワード・アクセス保護、公開鍵管理、および/または類似物などであるがこれに限定されない暗号技法を使用することができる。暗号コンポーネントは、チェックサム、Data Encryption Standard(DES)、楕円曲線暗号化(ECC)、International Data Encryption Algorithm(IDEA)、Message Digest 5(MD5、一方向ハッシュ演算である)、パスワード、Rivest Cipher(RC5)、Rijndael、RSA(1977年にRon Rivest、Adi Shamir、およびLeonard Adlemanによって開発されたアルゴリズムを使用するインターネット暗号化および認証システムである)、Secure Hash Algorithm(SHA)、Secure Socket Layer(SSL)、Secure Hypertext Transfer Protocol(HTTPS)、Transport Layer Security(TLS)、および類似物などであるがこれに限定されない多数の(暗号化および/または暗号化解除)セキュリティ・プロトコルを容易にする。そのような暗号化セキュリティ・プロトコルを使用して、SBWCは、すべての着信通信および/または発信通信を暗号化することができ、より幅広い通信ネットワークを有する仮想プライベート・ネットワーク(VPN)内のノードとして働くことができる。暗号コンポーネントは、これによってセキュリティ・プロトコルによってリソースへのアクセスが禁止される「セキュリティ認証」のプロセスを容易にし、暗号コンポーネントは、保護されたリソースへの許可されたアクセスをもたらす。さらに、暗号コンポーネントは、たとえばデジタル・オーディオ・ファイルの一意署名を入手するためにMD5ハッシュを使用して、コンテンツの一意識別子を供給することができる。暗号コンポーネントは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。暗号コンポーネントは、SBWCコンポーネントがセキュア・トランザクションにかかわることが望まれる場合にこれを可能にするために、通信ネットワークにまたがる情報のセキュア伝送を可能にする暗号化方式をサポートする。暗号コンポーネントは、SBWC上のリソースのセキュア・アクセスを容易にし、リモート・システム上の保護されたリソースのアクセスを容易にする、すなわち、保護されたリソースのクライアントおよび/またはサーバとして働くことができる。最も頻繁に、暗号コンポーネントは、情報サーバ、オペレーティング・システム、他のプログラム・コンポーネント、および/または類似物と通信する。暗号コンポーネントは、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。
SBWCデータベース
SBWCデータベース・コンポーネント919は、データベースおよびその記憶されたデータにおいて実施され得る。データベースは、CPUによって実行される記憶されたプログラム・コンポーネントであり、記憶されたプログラム・コンポーネント部分は、記憶されたデータを処理するようにCPUを構成する。データベースは、MySQL、Oracle、Sybase、その他などの従来の、フォールト・トレラントの、リレーショナル、スケーラブル、セキュア・データベースとすることができる。さらに、IBMのNetezza、MongoDBのMongoDB、オープンソースHadoop、オープンソースVoltDB、SAPのHana、その他などの最適化された高速メモリおよび分散データベース。リレーショナル・データベースは、フラット・ファイルの拡張である。リレーショナル・データベースは、一連の関係するテーブルからなる。テーブルは、キー・フィールドを介して相互接続される。キー・フィールドの使用は、キー・フィールドに対してインデクシングすることによるテーブルの組合せを可能にする、すなわち、キー・フィールドは、様々なテーブルからの情報を組み合わせるための次元ピボット点として働く。関係は、一般に、主キーを照合することによってテーブルの間で維持されるリンクを識別する。主キーは、リレーショナル・データベース内のテーブルの行を一意に識別するフィールドを表す。代替キー・フィールドは、一意の値セットを有するフィールドのいずれからも使用され得、いくつかの代替案では、他のフィールドと組み合わされた非一意値を有するフィールドからさえ使用され得る。より正確には、これらは、1対多関係の「1」側でテーブルの行を一意に識別する。
代替案では、SBWCデータベースは、配列、ハッシュ、(リンク)リスト、構造体、構造化テキスト・ファイル(たとえば、XML)、テーブル、および/または類似物などの様々な標準データ構造を使用して実施され得る。そのようなデータ構造は、メモリ内および/または(構造化)ファイル内に記憶され得る。別の代替案では、Frontier、ObjectStore、Poet、Zope、および/または類似物などのオブジェクト指向データベースを使用することができる。オブジェクト・データベースは、共通の属性によってグループ化されかつ/または一緒にリンクされる複数のオブジェクト・コレクションを含むことができ、これらのオブジェクト・コレクションは、ある共通の属性によって他のオブジェクト・コレクションに関係付けられ得る。オブジェクト指向データベースは、オブジェクトが単なるデータであるのではなく、所与のオブジェクト内にカプセル化された他のタイプの能力を有することができることを除いて、リレーショナル・データベースと同様に機能する。SBWCデータベースがデータ構造として実施される場合に、SBWCデータベース919の使用は、SBWCコンポーネント935などの別のコンポーネントに一体化され得る。また、データベースは、データ構造、オブジェクト、およびリレーショナル構造の混合物として実施され得る。データベースは、無数の変形形態で合併され、かつ/または分散され得る(たとえば、下の分散SBWC参照)。データベースの諸部分、たとえばテーブルは、エクスポートされかつ/またはインポートされ得、したがって、集中排除されかつ/または統合され得る。
一実施形態では、データベース・コンポーネント919は、複数のテーブル919a〜iを含む。
accountsテーブル919aは、accountID、accountOwnerID、accountContactID、assetIDs、deviceIDs、paymentIDs、transactionIDs、userIDs、accountType(たとえば、エージェント、エンティティ(たとえば、会社、非営利、パートナーシップなど)、個人など)、accountCreationDate、accountUpdateDate、accountName、accountNumber、routingNumber、linkWalletsID、accountPrioritAccaountRatio、accountAddress、accountState、accountZIPcode、accountCountry、accountEmail、accountPhone、accountAuthKey、accountIPaddress、accountURLAccessCode、accountPortNo、accountAuthorizationCode、accountAccessPrivileges、accountPreferences、accountRestrictions、および/または類似物などであるがこれに限定されないフィールドを含む。
usersテーブル919bは、userID、userSSN、taxID、userContactID、accountID、assetIDs、deviceIDs、paymentIDs、transactionIDs、userType(たとえば、エージェント、エンティティ(たとえば、会社、非営利、パートナーシップなど)、個人など)、namePrefix、firstName、middleName、lastName、nameSuffix、DateOfBirth、userAge、userName、userEmail、userSocialAccountID、contactType、contactRelationship、userPhone、userAddress、userCity、userState、userZIPCode、userCountry、userAuthorizationCode、userAccessPrivilges、userPreferences、userRestrictions、および/または類似物などであるがこれに限定されないフィールドを含む(userテーブルは、SBWC上の複数のエンティティ・アカウントをサポートし、かつ/または追跡することができる)。
devicesテーブル919cは、deviceID、sensorIDs、accountID、assetIDs、paymentIDs、deviceType、deviceName、deviceManufacturer、deviceModel、deviceVersion、deviceSerialNo、deviceIPaddress、deviceMACaddress、device_ECID、deviceUUID、deviceLocation、deviceCertificate、deviceOS、appIDs、deviceResources、deviceSession、authKey、deviceSecureKey、walletAppInstalledFlag、deviceAccessPrivileges、devicePreferences、deviceRestrictions、hardware_config、software_config、storage_location、sensor_value、pin_reading、data_length、channel_requirement、sensor_name、sensor_model_no、sensor_manufacturer、sensor_type、sensor_serial_number、sensor_power_requirement、device_power_requirement、location、sensor_associated_tool、sensor_dimensions、device_dimensions、sensor_communications_type、device_communications_type、power_percentage、power_condition、temperature_setting、speed_adjust、hold_duration、part_actuation、および/または類似物などであるがこれに限定されないフィールドを含む。deviceテーブルは、いくつかの実施形態で、https://www.bluetooth.org/en−us/specification/adopted−specificationsおよび/もしくは他のデバイス仕様書で公表されたものなどの1つもしくは複数のBluetoothプロファイル、ならびに/または類似物に対応するフィールドを含む。
appsテーブル919dは、appID、appName、appType、appDependencies、accountID、deviceIDs、transactionID、userID、appStoreAuthKey、appStoreAccountID、appStoreIPaddress、appStoreURLaccessCode、appStorePortNo、appAccessPrivileges、appPreferences、appRestrictions、portNum、access_API_call、linked_wallets_list、および/または類似物などであるがこれに限定されないフィールドを含む。
assetsテーブル919eは、assetID、accountID、userID、distributorAccountID、distributorPaymentID、distributorOnwerID、assetOwnerID、assetType、assetSourceDeviceID、assetSourceDeviceType、assetSourceDeviceName、assetSourceDistributionChannelID、assetSourceDistributionChannelType、assetSourceDistributionChannelName、assetTargetChannelID、assetTargetChannelType、assetTargetChannelName、assetName、assetSeriesName、assetSeriesSeason、assetSeriesEpisode、assetCode、assetQuantity、assetCost、assetPrice、assetValue、assetManufactuer、assetModelNo、assetSerialNo、assetLocation、assetAddress、assetState、assetZIPcode、assetState、assetCountry、assetEmail、assetIPaddress、assetURLaccessCode、assetOwnerAccountID、subscriptionIDs、assetAuthroizationCode、assetAccessPrivileges、assetPreferences、assetRestrictions、assetAPI、assetAPIconnectionAddress、および/または類似物などであるがこれに限定されないフィールドを含む。
paymentsテーブル919fは、paymentID、accountID、userID、couponID、couponValue、couponConditions、couponExpiration、paymentType、paymentAccountNo、paymentAccountName、paymentAccountAuthorizationCodes、paymentExpirationDate、paymentCCV、paymentRoutingNo、paymentRoutingType、paymentAddress、paymentState、paymentZIPcode、paymentCountry、paymentEmail、paymentAuthKey、paymentIPaddress、paymentURLaccessCode、paymentPortNo、paymentAccessPrivileges、paymentPreferences、payementRestrictions、および/または類似物などであるがこれに限定されないフィールドを含む。
transactionsテーブル919gは、transactionID、accountID、assetIDs、deviceIDs、paymentIDs、transactionIDs、userID、merchantID、transactionType、transactionDate、transactionTime、transactionAmount、transactionQuantity、transactionDetails、productsList、productType、productTitle、productsSummary、productParamsList、transactionNo、transactionAccessPrivileges、transactionPreferences、transactionRestrictions、merchantAuthKey、merchantAuthCode、および/または類似物などであるがこれに限定されないフィールドを含む。
merchantsテーブル919hは、merchantID、merchantTaxID、merchanteName、merchantContactUserID、accountID、issuerID、acquirerID、merchantEmail、merchantAddress、merchantState、merchantZIPcode、merchantCountry、merchantAuthKey、merchantIPaddress、portNum、merchantURLaccessCode、merchantPortNo、merchantAccessPrivileges、merchantPreferences、merchantRestrictions、および/または類似物などであるがこれに限定されないフィールドを含む。
adsテーブル919iは、adID、advertiserID、adMerchantID、adNetworkID、adName、adTags、advertiserName、adSponsor、adTime、adGeo、adAttributes、adFormat、adProduct、adText、adMedia、adMediaID、adChannelID、adTagTime、adAudioSignature、adHash、adTemplateID、adTemplateData、adSourceID、adSourceName、adSourceServerIP、adSourceURL、adSourceSecurityProtocol、adSourceFTP、adAuthKey、adAccessPrivileges、adPreferences、adRestrictions、adNetworkXchangeID、adNetworkXchangeName、adNetworkXchangeCost、adNetworkXchangeMetricType(たとえば、CPA、CPC、CPM、CTRなど)、adNetworkXchangeMetricValue、adNetworkXchangeServer、adNetworkXchangePortNumber、publisherID、publisherAddress、publisherURL、publisherTag、publisherIndustry、publisherName、publisherDescription、siteDomain、siteURL、siteContent、siteTag、siteContext、siteImpression、siteVisits、siteHeadline、sitePage、siteAdPrice、sitePlacement、sitePosition、bidID、bidExchange、bidOS、bidTarget、bidTimestamp、bidPrice、bidImpressionID、bidType、bidScore、adType(たとえば、モバイル、デスクトップ、ウェアラブル、大画面、インタースティシャルなど)、assetID、merchantID、deviceID、userID、accountID、impressionID、impressionOS、impressionTimeStamp、impressionGeo、impressionAction、impressionType、impressionPublisherID、impressionPublisherURL、および/または類似物などであるがこれに限定されないフィールドを含む。
一実施形態では、SBWCデータベースは、他のデータベース・システムと相互作用することができる。たとえば、分散データベース・システムを使用して、検索SBWCコンポーネントによる照会およびデータ・アクセスは、SWBCデータベース、統合されたデータ・セキュリティ層データベースの組合せを単一のデータベース・エンティティとして扱うことができる(たとえば、下の分散SBWC参照)。
一実施形態では、ユーザ・プログラムは、SBWCを更新するように働くことのできる様々なユーザ・インターフェース・プリミティブを含むことができる。また、様々なアカウントは、環境とSBWCがそれのために働く必要がある可能性があるクライアントのタイプとに依存して、カスタム・データベース・テーブルを必要とする場合がある。任意の一意のフィールドを、至る所でキー・フィールドとして指定できることに留意されたい。代替実施形態では、これらのテーブルは、それら自体のデータベースおよびそれらのそれぞれのデータベース・コントローラ(すなわち、上記テーブルのそれぞれのための個々のデータベース・コントローラ)に集中排除されている。標準的なデータ処理技法を使用して、複数のコンピュータ・システム化および/またはストレージ・デバイスの間でデータベースをさらに分散させることができる。同様に、集中排除されたデータベース・コントローラの構成は、様々なデータベース・コンポーネント919a〜iを合併し、かつ/または分散させることによって変更され得る。SBWCは、データベース・コントローラを介して様々なセッティング、入力、およびパラメータを記録するように構成され得る。
SBWCデータベースは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。最も頻繁に、SBWCデータベースは、SBWCコンポーネント、他のプログラム・コンポーネント、および/または類似物と通信する。データベースは、他のノードに関する情報およびデータを含み、保持し、供給することができる。
SBWC
SBWCコンポーネント935は、CPUによって実行される記憶されたプログラム・コンポーネントである。一実施形態では、SBWCコンポーネントは、前の図面で議論されたSBWCの態様の任意のおよび/またはすべての組合せを組み込む。したがって、SBWCは、様々な通信ネットワークにまたがる情報、サービス、トランザクション、および/または類似物のアクセス、入手、および提供に影響する。本明細書で議論されるSBWCの特徴および実施形態は、データ転送要件を減らすこととより効率的なデータ構造とその転送および記憶のためのより効率的な機構の使用によってネットワーク効率を高める。その結果、より多くのデータをより短い時間で転送でき、トランザクションに関する待ち時間も減らされる。多くの場合に、記憶、転送時間、帯域幅要件、待ち時間などのそのような減少は、SBWCの特徴およびファシリティをサポートするための容量および構造的インフラストラクチャ要件を低減し、多くの場合にコスト、エネルギ消費/要件を下げ、SBWCの基礎になるインフラストラクチャの寿命を延ばし、これは、SBWCをより信頼できるものにするという追加の利益を有する。同様に、特徴および機構の多くは、ユーザが使用しアクセスするのがより簡単になるように設計され、これによって、SBWCの特徴セットを享受/使用し、活用することのできる聴衆の幅を広げ、そのような使い易さは、SBWCの信頼性を高めるのを助けもする。さらに、特徴セットは、暗号コンポーネント920、926、928および全体を介して注記された高められたセキュリティを含み、特徴およびデータへのアクセスを、より信頼でき安全なものにする。
SBWCは、SBWCコンポーネント(たとえば、FE、FB、TLL、FQ、EPR)を介して、ウェブページ要求入力を合成された拡張可能な要素出力に変換する。
ノードの間での情報のアクセスを可能にするSBWCコンポーネントは、Apacheコンポーネント、アセンブリ、ActiveX、バイナリ実行可能ファイル、(ANSI)(Objective−)C(++)、C#および/もしくは.NET、データベース・アダプタ、CGIスクリプト、Java、JavaScript、マッピング・ツール、手続き指向およびオブジェクト指向の開発ツール、PERL、PHP、Python、シェル・スクリプト、SQLコマンド、ウェブ・アプリケーション・サーバ拡張、ウェブ開発環境およびウェブ開発ライブラリ(たとえば、MicrosoftのActiveX、Adobe AIR、FLEX & FLASH、AJAX、(D)HTML、Dojo、Java、JavaScript、jQuery(UI)、MooTools、Prototype、script.aculo.us、Simple Object Access Protocol(SOAP)、SWFObject、Yahoo!ユーザ・インターフェース、および/または類似物)、WebObjects、ならびに/または類似物などであるがこれに限定されない標準的な開発ツールおよび言語を使用することによって開発され得る。一実施形態では、SBWCサーバは、通信を暗号化し、暗号化解除するのに暗号サーバを使用する。SBWCコンポーネントは、それ自体を含むコンポーネント・コレクション内の他のコンポーネントおよび/または同様のファシリティにおよび/またはこれと通信することができる。より頻繁に、SBWCコンポーネントは、SBWCデータベース、オペレーティング・システム、他のプログラム・コンポーネント、および/または類似物と通信する。SBWCは、プログラム・コンポーネント、システム、ユーザ、および/またはデータの通信、要求、および/または応答を含み、通信し、生成し、入手し、かつ/または供給することができる。
分散SBWC
SBWCノード・コントローラ・コンポーネントのいずれかの構造および/または動作は、開発および/または展開を容易にする任意の個数の形で組み合わされ、合併され、かつ/または分散され得る。同様に、コンポーネント・コレクションは、展開および/または開発を容易にする任意の個数の形で組み合わされ得る。これを達成するために、コンポーネントを、共通のコード・ベースに、または統合された形でオン・デマンドでコンポーネントを動的にロードできるファシリティ内に統合することができる。したがって、ハードウェアの組合せは、1つの位置内、一地域内、および/または全世界に分散され得、コントローラへの論理アクセスが単一のノードとして抽象化され得、それでも多数のプライベート、半プライベート、および公にアクセス可能なノード・コントローラ(たとえば、散らばったデータ・センタを介する)が、要求にサービスするように調整され(たとえば、プライベート・クラウド、半プライベート・クラウド、およびパブリック・クラウドのコンピューティング・リソースを提供することによって)、別個の地域でのそのような要求のサービスを可能にする(たとえば、分離された、ローカルな、地域の、国の、全世界のクラウド・アクセス)。
コンポーネント・コレクションは、標準的なデータ処理技法および/または開発技法を介して無数の変形形態で合併され、かつ/または分散され得る。プログラム・コンポーネント・コレクション内のプログラム・コンポーネントのいずれか1つの複数のインスタンスは、負荷平衡化技法および/またはデータ処理技法を介して性能を改善するために単一のノード上でおよび/または多数のノードにまたがってインスタンス化され得る。さらに、単一のインスタンスが、複数のコントローラおよび/またはストレージ・デバイス、たとえばデータベースにまたがって分散されることも可能である。協調して働くすべてのプログラム・コンポーネント・インスタンスおよびコントローラは、標準的なデータ処理通信技法を介してそれを行うことができる。
SBWCコントローラの構成は、システム展開のコンテキストに依存する。予算、容量、位置、および/または基礎になるハードウェア・リソースの使用などであるがこれに限定されない要因が、展開要件および構成に影響する可能性がある。構成が、より合併され、かつ/または統合されたプログラム・コンポーネントをもたらし、より分散された一連のプログラム・コンポーネントをもたらし、かつ/または合併された構成と分散された構成との間のなんらかの組合せをもたらすかどうかにかかわりなく、データを通信し、入手し、かつ/または供給することができる。プログラム・コンポーネント・コレクションから共通のコード・ベースに合併されたコンポーネントのインスタンスは、データを通信し、入手し、かつ/または供給することができる。これは、データ参照(たとえば、ポインタ)、内部メッセージング、オブジェクト・インスタンス変数通信、共有メモリ空間、変数渡し、および/または類似物などであるがこれに限定されない、アプリケーション内データ処理通信技法を介して達成され得る。たとえば、Amazon Data Services、Microsoft Azure、Hewlett Packard Helion、IBM Cloud servicesなどのクラウド・サービスは、変化する度合のスケールに関してSBWCコントローラおよび/またはSBWCコンポーネント・コレクションを全体的にまたは部分的にホスティングすることを可能にする。
コンポーネント・コレクション・コンポーネントが、お互いに対して別個、別々、および/または外部である場合に、他のコンポーネント・コンポーネントとのおよび/またはこれへのデータの通信、入手、および/または供給は、アプリケーション・プログラム・インターフェース(API)情報移動、(distributed)Component Object Model((D)COM)、(Distributed)Object Linking and Embedding((D)OLE)、および/または類似物)、Common Object Request Broker Architecture(CORBA)、Jiniのローカルおよびリモートのアプリケーション・プログラム・インターフェース、JavaScript Object Notation(JSON)、Remote Method Invocation(RMI)、SOAP、プロセス・パイプ、共有ファイル、および/または類似物などであるがこれに限定されない、アプリケーション間データ処理通信技法を介して達成され得る。アプリケーション間通信のために別個のコンポーネント・コンポーネントの間でまたはアプリケーション内通信のために単一のコンポーネントのメモリ空間内で送られるメッセージは、文法の作成および解析を介して容易にされ得る。文法は、コンポーネント内およびコンポーネント間の通信メッセージの基礎を形成することのできる、文法生成能力および文法解析能力を可能にする、lex、yacc、XML、および/または類似物などの開発ツールを使用することによって開発され得る。
たとえば、文法は、HTTP postコマンドのトークンを認識するように配置され得、たとえば、
Figure 0006944170
ここで、「http://」が文法構文の一部であり、それに続くものがpost値の一部と考えられるので、Value1は、パラメータであるものとして認識される。同様に、そのような文法を用いると、変数「Value1」を「http://」postコマンドに挿入し、その後に送ることができる。文法構文自体は、解釈され、かつ/または解析機構を生成するのに他の形で使用される構造化データ(たとえば、lex、yaccなどによって処理される構文記述テキスト・ファイル)として提示され得る。また、解析機構が生成され、かつ/またはインスタンス化された後に、解析機構自体は、文字(たとえば、タブ)によって区切られたテキスト、HTML、構造化テキスト・ストリーム、XML、および/または同様の構造化データなどであるがこれに限定されない構造化データを処理し、かつ/または解析することができる。別の実施形態では、アプリケーション間データ処理プロトコル自体が、(たとえば通信)データを解析するのに使用され得る統合されたおよび/またはたやすく使用可能なパーサ(たとえば、JSON、SOAP、および/または同様のパーサ)を有することができる。さらに、文法の解析は、メッセージ解析を超えて使用され得るが、データベース、データ・コレクション、データ・ストア、構造化データ、および/または類似物を解析するのにも使用され得る。やはり、所望の構成は、システム展開のコンテキスト、環境、および要件に依存する。
たとえば、いくつかの実施態様では、SBWCコントローラは、情報サーバを介して、Secure Sockets Layer(「SSL」)ソケット・サーバを実施するPHPスクリプトを実行している場合があり、このPHPスクリプトは、クライアントがデータ、たとえばJSONフォーマットで符号化されたデータを送る可能性があるサーバ・ポート上で着信通信をリスンする。着信通信を識別した時に、PHPスクリプトは、クライアント・デバイスからの着信メッセージを読み取り、JSON符号化されたテキスト・データからの情報をPHPスクリプト変数に抽出するために受信されたJSON符号化されたテキスト・データを解析し、データ(たとえば、クライアントを識別する情報など)および/または抽出された情報を、構造化照会言語(「SQL」)を使用してアクセス可能なリレーショナル・データベースに記憶することができる。SSL接続を介するクライアント・デバイスからのJSON符号化された入力データを受け入れ、変数を抽出するためにデータを解析し、データをデータベースに記憶するための、実質的にPHP/SQLコマンドの形で記述された例示的なリスティングを、下に提供する。
Figure 0006944170
また、以下のリソースを使用して、SOAPパーサ実施態様
Figure 0006944170

および他のパーサ実施態様
Figure 0006944170

に関する例の実施形態を提供することができ、これらのすべてが、これによって参照によって特に組み込まれている。
追加の実施形態は、以下を含む。
1.メモリと、
メモリ内のコンポーネント・コレクションと、
メモリと通信して配置され、メモリ内に記憶されたコンポーネント・コレクションから複数の処理命令を発行するように構成されたプロセッサと
を含むウェブページ・フレーム拡張表示装置であって、
プロセッサは、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、トップ・レベル・リスニング・コンポーネントは、ウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するようにウェブページ内の第1のフレームを構成することと
のために、メモリ内に記憶されたコンポーネント・コレクションから命令を発行し、
フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
ように構成され、
トップ・レベル・イベント・リスナは、トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子が、生成された一意フレーム識別子と一致することを検証し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定されるウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、判定されたノード・リスト識別子を有するメッセージをフレーム・バスティング・コンポーネントに送る
ように構成され、
フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を使用して、どの第1レベル・フレームが拡張可能な表示ペイロードを含むのかを判定するために、ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能なフレーム照会コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送り、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
ように構成され、
フレーム・イベント・リスナは、フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を使用してウェブページのトップ・レベルでの拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送る
ように構成され、
トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
ようにさらに構成され、
バスタ・イベント・リスナは、フレーム・バスティング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージ内で提供される実行可能コンポーネントを実行する
ように構成される
ウェブページ・フレーム拡張表示装置。
2.フレームは、iframeである、実施形態1に記載の装置。
3.メッセージは、postメッセージである、実施形態1に記載の装置。
4.ノード・リスト識別子は、ノード・リスト内のitemインデックスである、実施形態1に記載の装置。
5.拡張可能な表示ペイロードは、拡張可能な広告である、実施形態1に記載の装置。
6.フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、第1のフレームからのエスケープを試みなければならないかどうかを判定する
ようにさらに構成される、実施形態1に記載の装置。
7.拡張可能な表示ペイロードに関連する一意フレーム識別子は、ランダムに生成される数である、実施形態1に記載の装置。
8.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、name属性を解析することによって拡張可能な表示ペイロードに関連する一意フレーム識別子を判定する
ようにさらに構成される、実施形態1に記載の装置。
9.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントは、
少なくとも1つのプロセッサを介して、ノード・リストから第1レベル・フレームを選択し、
少なくとも1つのプロセッサを介して、第1レベル・フレームのソースが、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースと一致することを判定し、
少なくとも1つのプロセッサを介して、選択された第1レベル・フレームのノード・リスト識別子および拡張可能な表示ペイロードに関連する一意フレーム識別子を有するメッセージを選択された第1レベル・フレームに送る
ようにさらに構成される
実施形態1に記載の装置。
10.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに関連するドメインを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントを有するトップ・レベル・リスニング・コンポーネントへのメッセージは、判定されたドメインをセットされたターゲット起点を有するpostメッセージである
実施形態1に記載の装置。
11.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを判定する
ようにさらに構成され、
生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードの要素を作成し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを要素のソースにセットし、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに要素を追加する
ようにさらに構成される
実施形態1に記載の装置。
12.生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、エスケープされた要素として要素を構成する
ようにさらに構成される
実施形態11に記載の装置。
13.トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、バスタ・ドメインを識別する
ようにさらに構成され、
バスタ・イベント・リスナは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点を判定し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点が識別されたバスタ・ドメインと一致することを検証する
ようにさらに構成される
実施形態1に記載の装置。
14.拡張可能な表示ペイロードは、ウェブページ内で第1のフレームの境界を超えて表示するように構成される、実施形態1に記載の装置。
15.拡張可能な表示ペイロードは、マルチレベル・メニュー、メディア・プレイヤ・コントロールのセットのうちの1つを表示するために拡張するように構成される、実施形態1に記載の装置。
16.プロセッサ実行可能なコンポーネントを記憶するウェブページ・フレーム拡張表示非一時的物理媒体であって、コンポーネントは、
媒体内に記憶されたコンポーネント・コレクション
を含み、
媒体内に記憶されたコンポーネント・コレクションは、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、トップ・レベル・リスニング・コンポーネントはウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するようにウェブページ内の第1のフレームを構成することと
のためのプロセッサ発行可能命令を含み、
フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
ように構成され、
トップ・レベル・イベント・リスナは、トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子が、生成された一意フレーム識別子と一致することを検証し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定されるウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、判定されたノード・リスト識別子を有するメッセージをフレーム・バスティング・コンポーネントに送る
ように構成され、
フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を使用して、どの第1レベル・フレームが拡張可能な表示ペイロードを含むのかを判定するために、ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能なフレーム照会コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送り、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
ように構成され、
フレーム・イベント・リスナは、フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を使用してウェブページのトップ・レベルでの拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送る
ように構成され、
トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
ようにさらに構成され、
バスタ・イベント・リスナは、フレーム・バスティング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージ内で提供される実行可能コンポーネントを実行する
ように構成される
ウェブページ・フレーム拡張表示非一時的物理媒体。
17.フレームは、iframeである、実施形態16に記載の媒体。
18.メッセージは、postメッセージである、実施形態16に記載の媒体。
19.ノード・リスト識別子は、ノード・リスト内のitemインデックスである、実施形態16に記載の媒体。
20.拡張可能な表示ペイロードは、拡張可能な広告である、実施形態16に記載の媒体。
21.フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、第1のフレームからのエスケープを試みなければならないかどうかを判定する
ようにさらに構成される、実施形態16に記載の媒体。
22.拡張可能な表示ペイロードに関連する一意フレーム識別子は、ランダムに生成される数である、実施形態16に記載の媒体。
23.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、name属性を解析することによって拡張可能な表示ペイロードに関連する一意フレーム識別子を判定する
ようにさらに構成される、実施形態16に記載の媒体。
24.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントは、
少なくとも1つのプロセッサを介して、ノード・リストから第1レベル・フレームを選択し、
少なくとも1つのプロセッサを介して、第1レベル・フレームのソースが、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースと一致することを判定し、
少なくとも1つのプロセッサを介して、選択された第1レベル・フレームのノード・リスト識別子および拡張可能な表示ペイロードに関連する一意フレーム識別子を有するメッセージを選択された第1レベル・フレームに送る
ようにさらに構成される
実施形態16に記載の媒体。
25.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに関連するドメインを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントを有するトップ・レベル・リスニング・コンポーネントへのメッセージは、判定されたドメインをセットされたターゲット起点を有するpostメッセージである
実施形態16に記載の媒体。
26.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを判定する
ようにさらに構成され、
生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードの要素を作成し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを要素のソースにセットし、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに要素を追加する
ようにさらに構成される
実施形態16に記載の媒体。
27.生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、エスケープされた要素として要素を構成する
ようにさらに構成される
実施形態26に記載の媒体。
28.トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、バスタ・ドメインを識別する
ようにさらに構成され、
バスタ・イベント・リスナは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点を判定し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点が識別されたバスタ・ドメインと一致することを検証する
ようにさらに構成される
実施形態16に記載の媒体。
29.拡張可能な表示ペイロードは、ウェブページ内で第1のフレームの境界を超えて表示するように構成される、実施形態16に記載の媒体。
30.拡張可能な表示ペイロードは、マルチレベル・メニュー、メディア・プレイヤ・コントロールのセットのうちの1つを表示するために拡張するように構成される、実施形態16に記載の媒体。
31. 少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、トップ・レベル・リスニング・コンポーネントはウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するようにウェブページ内の第1のフレームを構成することと
のためのコンポーネント・コレクション手段
を含む、プロセッサ実施されるウェブページ・フレーム拡張表示システムであって、
フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
ように構成され、
トップ・レベル・イベント・リスナは、トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子が、生成された一意フレーム識別子と一致することを検証し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定されるウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、判定されたノード・リスト識別子を有するメッセージをフレーム・バスティング・コンポーネントに送る
ように構成され、
フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を使用して、どの第1レベル・フレームが拡張可能な表示ペイロードを含むのかを判定するために、ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能なフレーム照会コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送り、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
ように構成され、
フレーム・イベント・リスナは、フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を使用してウェブページのトップ・レベルでの拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送る
ように構成され、
トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
ようにさらに構成され、
バスタ・イベント・リスナは、フレーム・バスティング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージ内で提供される実行可能コンポーネントを実行する
ように構成される
プロセッサ実施されるウェブページ・フレーム拡張表示システム。
32.フレームは、iframeである、実施形態31に記載のシステム。
33.メッセージは、postメッセージである、実施形態31に記載のシステム。
34.ノード・リスト識別子は、ノード・リスト内のitemインデックスである、実施形態31に記載のシステム。
35.拡張可能な表示ペイロードは、拡張可能な広告である、実施形態31に記載のシステム。
36.フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、第1のフレームからのエスケープを試みなければならないかどうかを判定する
ようにさらに構成される、実施形態31に記載のシステム。
37.拡張可能な表示ペイロードに関連する一意フレーム識別子は、ランダムに生成される数である、実施形態31に記載のシステム。
38.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、name属性を解析することによって拡張可能な表示ペイロードに関連する一意フレーム識別子を判定する
ようにさらに構成される、実施形態31に記載のシステム。
39.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントは、
少なくとも1つのプロセッサを介して、ノード・リストから第1レベル・フレームを選択し、
少なくとも1つのプロセッサを介して、第1レベル・フレームのソースが、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースと一致することを判定し、
少なくとも1つのプロセッサを介して、選択された第1レベル・フレームのノード・リスト識別子および拡張可能な表示ペイロードに関連する一意フレーム識別子を有するメッセージを選択された第1レベル・フレームに送る
ようにさらに構成される
実施形態31に記載のシステム。
40.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに関連するドメインを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントを有するトップ・レベル・リスニング・コンポーネントへのメッセージは、判定されたドメインをセットされたターゲット起点を有するpostメッセージである
実施形態31に記載のシステム。
41.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを判定する
ようにさらに構成され、
生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードの要素を作成し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを要素のソースにセットし、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに要素を追加する
ようにさらに構成される
実施形態31に記載のシステム。
42.生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、エスケープされた要素として要素を構成する
ようにさらに構成される
実施形態41に記載のシステム。
43.トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、バスタ・ドメインを識別する
ようにさらに構成され、
バスタ・イベント・リスナは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点を判定し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点が識別されたバスタ・ドメインと一致することを検証する
ようにさらに構成される
実施形態31に記載のシステム。
44.拡張可能な表示ペイロードは、ウェブページ内で第1のフレームの境界を超えて表示するように構成される、実施形態31に記載のシステム。
45.拡張可能な表示ペイロードは、マルチレベル・メニュー、メディア・プレイヤ・コントロールのセットのうちの1つを表示するために拡張するように構成される、
実施形態31に記載のシステム。
46. 少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、トップ・レベル・リスニング・コンポーネントはウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するようにウェブページ内の第1のフレームを構成することと
のために、プロセッサ実施されるコンポーネント・コレクション命令を実行すること
を含む、プロセッサ実施されるウェブページ・フレーム拡張表示方法であって、
フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
ように構成され、
トップ・レベル・イベント・リスナは、トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定される一意フレーム識別子が、生成された一意フレーム識別子と一致することを検証し、
少なくとも1つのプロセッサを介して、トップ・レベル・リスニング・コンポーネントからのメッセージ内で指定されるウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、判定されたノード・リスト識別子を有するメッセージをフレーム・バスティング・コンポーネントに送る
ように構成され、
フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を判定し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する一意フレーム識別子を使用して、どの第1レベル・フレームが拡張可能な表示ペイロードを含むのかを判定するために、ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能なフレーム照会コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送り、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
ように構成され、
フレーム・イベント・リスナは、フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を判定し、
少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントからのメッセージ内で指定されるノード・リスト識別子を使用してウェブページのトップ・レベルでの拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
少なくとも1つのプロセッサを介して、生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージをトップ・レベル・リスニング・コンポーネントに送る
ように構成され、
トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
ようにさらに構成され、
バスタ・イベント・リスナは、フレーム・バスティング・コンポーネントからメッセージを受信する時に、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージ内で提供される実行可能コンポーネントを実行する
ように構成される
プロセッサ実施されるウェブページ・フレーム拡張表示方法。
47.フレームは、iframeである、実施形態46に記載の方法。
48.メッセージは、postメッセージである、実施形態46に記載の方法。
49.ノード・リスト識別子は、ノード・リスト内のitemインデックスである、実施形態46に記載の方法。
50.拡張可能な表示ペイロードは、拡張可能な広告である、実施形態46に記載の方法。
51.フレーム・エスケーピング・コンポーネントは、
少なくとも1つのプロセッサを介して、第1のフレームからのエスケープを試みなければならないかどうかを判定する
ようにさらに構成される、実施形態46に記載の方法。
52.拡張可能な表示ペイロードに関連する一意フレーム識別子は、ランダムに生成される数である、実施形態46に記載の方法。
53.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、name属性を解析することによって拡張可能な表示ペイロードに関連する一意フレーム識別子を判定する
ようにさらに構成される、実施形態46に記載の方法。
54.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントは、
少なくとも1つのプロセッサを介して、ノード・リストから第1レベル・フレームを選択し、
少なくとも1つのプロセッサを介して、第1レベル・フレームのソースが、拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースと一致することを判定し、
少なくとも1つのプロセッサを介して、選択された第1レベル・フレームのノード・リスト識別子および拡張可能な表示ペイロードに関連する一意フレーム識別子を有するメッセージを選択された第1レベル・フレームに送る
ようにさらに構成される
実施形態46に記載の方法。
55.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに関連するドメインを判定する
ようにさらに構成され、
生成された実行可能なフレーム照会コンポーネントを有するトップ・レベル・リスニング・コンポーネントへのメッセージは、判定されたドメインをセットされたターゲット起点を有するpostメッセージである
実施形態46に記載の方法。
56.フレーム・バスティング・コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを判定する
ようにさらに構成され、
生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードの要素を作成し、
少なくとも1つのプロセッサを介して、拡張可能な表示ペイロードに関連する初期化スクリプトのソースを要素のソースにセットし、
少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルに要素を追加する
ようにさらに構成される
実施形態46に記載の方法。
57.生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
少なくとも1つのプロセッサを介して、エスケープされた要素として要素を構成する
ようにさらに構成される
実施形態56に記載の方法。
58.トップ・レベル・リスニング・コンポーネントは、
少なくとも1つのプロセッサを介して、バスタ・ドメインを識別する
ようにさらに構成され、
バスタ・イベント・リスナは、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点を判定し、
少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントからのメッセージの起点が識別されたバスタ・ドメインと一致することを検証する
ようにさらに構成される
実施形態46に記載の方法。
59.拡張可能な表示ペイロードは、ウェブページ内で第1のフレームの境界を超えて表示するように構成される、実施形態46に記載の方法。
60.拡張可能な表示ペイロードは、マルチレベル・メニュー、メディア・プレイヤ・コントロールのセットのうちの1つを表示するために拡張するように構成される、実施形態46に記載の方法。
様々な問題に対処し、当技術を進歩させるために、境界上ウェブ・コンポジタの装置、方法、およびシステムに関する本願の全体(カバー・ページ、名称、表題、技術分野、背景技術、発明の概要、図面の簡単な説明、発明を実施するための形態、特許請求の範囲、要約、図面、付録、その他を含む)は、実例として、請求される革新をその中で実践できる様々な実施形態を示す。本願の利点および特徴は、実施形態の代表的なサンプルのもののみであり、網羅的および/または排他的ではない。それらは、理解を助け、請求される原理を教示するためにのみ提示される。それらが、すべての請求される革新の代表ではないことを理解されたい。したがって、本開示のある種の態様は、本明細書では議論されなかった。その代理の実施形態が、本革新の特定の部分に関して提示されなかった場合があり、さらなる説明されない代理の実施形態が、ある部分に関して使用可能である可能性があることを、これらの代理の実施形態の否認と考えてはならない。これらの説明されない実施形態の多くが、本革新の同一の原理を組込み、他の実施形態が同等であることを了解されたい。したがって、本開示の範囲および/または趣旨から逸脱せずに、他の実施形態を利用することができ、機能的変更、論理的変更、動作的変更、組織的変更、構造的変更、および/またはトポロジ的変更を行うことができることを理解されたい。したがって、すべての例および/または実施形態は、本開示全体を通じて非限定的と考えられる。さらに、金融および/または投資の例が含まれる範囲で、そのような例は、例示のみのためのものであって、投資助言ではなく、これらを投資助言と解釈してはならない。また、本明細書で議論されない実施形態は、スペースおよび繰返しを減らすためのものであり、それ以外の点で、それらの実施形態に関して本明細書で議論される実施形態に関する推論を引き出してはならない。たとえば、プログラム・コンポーネント(コンポーネント・コレクション)、他のコンポーネント、データ・フロー順序、論理フロー順序、ならびに/または図面および/もしくは本明細書全体で説明されるすべての現在の特徴セットの任意の組合せの論理構造および/またはトポロジ的構造が、固定された動作順序および/または配置に限定されるのではなく、すべての開示される順序が、例示的であり、すべての同等物が、順序に関わりなく本開示によって企図されることを理解されたい。同様に、本開示全体を通じて開示される実施形態の説明において、方向または方位へのすべての言及は、単に、説明の便宜上のものであって、いかなる形であれ説明される実施形態の範囲を限定することは意図されていない。「より下の」、「より上の」、「水平」、「垂直」、「〜の上」、「〜の下」、「上」、「下」、「最上部」、および「最下部」などの相対的な用語ならびにその派生形(たとえば、「水平に」、「下向きに」、「上向きに」など)は、実施形態を限定すると解釈されてはならず、その代わりに、やはり、方位の説明の便宜のために提供される。これらの相対的な記述子は、説明の便宜のみのためのものであり、そうであると明示的に示されない限り、任意の実施形態が特定の方位で構成されまたは動作させられることを要求しない。「取り付けられ」、「固定され」、「接続され」、「結合され」、「相互接続され」、および類似物などの用語は、そうではないと特に説明されない限り、構造が直接にまたは介在する構造を介して間接にのいずれかでお互いに固定されまたは取り付けられる関係、ならびに可動または剛体の取付けまたは関係の両方を指す可能性がある。さらに、そのような特徴が、直列実行に限定されず、むしろ、任意の個数のスレッド、プロセス、サービス、サーバ、および/または非同期に、並列に、並行に、同時に、同期式に、および/または類似する形で実行できる類似物が、本開示によって企図されていることを理解されたい。したがって、これらの特徴の一部は、それらが単一の実施形態内に同時に存在できないという点で、相互に両立しない場合がある。同様に、一部の特徴は、本改革の1つの態様に適用可能であり、他の態様には適用不能である。さらに、本開示は、現在は請求されていない他の革新を含む。本出願人は、そのような革新を請求し、追加の出願、その継続出願、部分継続出願、分割出願、および/または類似物を出願する権利を含む、これらの現在は請求されていない革新におけるすべての権利を留保する。したがって、本開示の利点、実施形態、例、機能的態様、特徴態様、論理態様、動作態様、組織態様、構造的態様、トポロジ的態様、および/または他の態様を、特許請求の範囲によって定義される本開示に対する限定または特許請求の範囲に対する同等物に対する限定と考えてはならないことを理解されたい。SBWCの個人ユーザおよび/または企業ユーザの特定の必要および/または特性に依存して、大量の柔軟性およびカスタマイゼーションを可能にする、データベース構成および/もしくはリレーショナル・モデル、データ型、データ伝送フレームワークおよび/もしくはネットワーク・フレームワーク、構文構造、ならびに/またはSBWCの同様の様々な実施形態が実施され得ることを理解されたい。たとえば、SBWCの諸態様は、任意のウェブ・フレーム拡張(たとえば、初期フレーム境界を超えるダッシュボード/ウィジェット拡張)のために適合され得る。SBWCの様々な実施形態および議論が、ウェブ・フレームおよびグラフィック合成を含んだが、本明細書で説明される実施形態が、様々な他の応用例および/または実施態様のためにたやすく構成され、かつ/またはカスタマイズされ得ることを理解されたい。

Claims (18)

  1. メモリと、
    前記メモリ内のコンポーネント・コレクションと、
    前記メモリと通信して配置され、前記メモリ内に記憶された前記コンポーネント・コレクションから複数の処理命令を発行するように構成されたプロセッサと
    を含むウェブページ・フレーム拡張表示装置であって、
    前記プロセッサは、
    少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、前記トップ・レベル・リスニング・コンポーネントは、前記ウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
    少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するように前記ウェブページ内の第1のフレームを構成することと
    のために、前記メモリ内に記憶された前記コンポーネント・コレクションから命令を発行し、
    前記フレーム・エスケーピング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
    少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
    ように構成され、
    前記トップ・レベル・イベント・リスナは、前記トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記一意フレーム識別子が、前記生成された一意フレーム識別子と一致することを検証し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記ウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記判定されたノード・リスト識別子を有するメッセージを前記フレーム・バスティング・コンポーネントに送る
    ように構成され、
    前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を使用して、どの第1レベル・フレームが前記拡張可能な表示ペイロードを含むのかを判定するために、前記ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能なフレーム照会コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送り、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
    ように構成され、
    前記フレーム・イベント・リスナは、前記フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を使用して前記ウェブページの前記トップ・レベルでの前記拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送る
    ように構成され、
    前記トップ・レベル・リスニング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
    ようにさらに構成され、
    前記バスタ・イベント・リスナは、前記フレーム・バスティング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからの前記メッセージ内で提供される実行可能コンポーネントを実行する
    ように構成される
    ウェブページ・フレーム拡張表示装置。
  2. フレームは、iframeである、請求項1に記載の装置。
  3. メッセージは、postメッセージである、請求項1に記載の装置。
  4. ノード・リスト識別子は、前記ノード・リスト内のitemインデックスである、請求項1に記載の装置。
  5. 前記拡張可能な表示ペイロードは、拡張可能な広告である、請求項1に記載の装置。
  6. 前記フレーム・エスケーピング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記第1のフレームからのエスケープを試みなければならないかどうかを判定する
    ようにさらに構成される、請求項1に記載の装置。
  7. 前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子は、ランダムに生成される数である、請求項1に記載の装置。
  8. 前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、name属性を解析することによって前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を判定する
    ようにさらに構成される、請求項1に記載の装置。
  9. 前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードを含む第1レベル・フレームに関連するソースを判定する
    ようにさらに構成され、
    前記生成された実行可能なフレーム照会コンポーネントは、
    少なくとも1つのプロセッサを介して、前記ノード・リストから第1レベル・フレームを選択し、
    少なくとも1つのプロセッサを介して、前記第1レベル・フレームのソースが、前記拡張可能な表示ペイロードを含む前記第1レベル・フレームに関連する前記ソースと一致することを判定し、
    少なくとも1つのプロセッサを介して、前記選択された第1レベル・フレームのノード・リスト識別子および前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を有するメッセージを前記選択された第1レベル・フレームに送る
    ようにさらに構成される
    請求項1に記載の装置。
  10. 前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記ウェブページの前記トップ・レベルに関連するドメインを判定する
    ようにさらに構成され、
    前記生成された実行可能なフレーム照会コンポーネントを有する前記トップ・レベル・リスニング・コンポーネントへの前記メッセージは、前記判定されたドメインをセットされたターゲット起点を有するpostメッセージである
    請求項1に記載の装置。
  11. 前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する初期化スクリプトのソースを判定する
    ようにさらに構成され、
    前記生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードの要素を作成し、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記初期化スクリプトの前記ソースを前記要素のソースにセットし、
    少なくとも1つのプロセッサを介して、前記ウェブページの前記トップ・レベルに前記要素を追加する
    ようにさらに構成される
    請求項1に記載の装置。
  12. 前記生成された実行可能な拡張可能なペイロード再構築コンポーネントは、
    少なくとも1つのプロセッサを介して、エスケープされた要素として前記要素を構成する
    ようにさらに構成される
    請求項11に記載の装置。
  13. 前記トップ・レベル・リスニング・コンポーネントは、
    少なくとも1つのプロセッサを介して、バスタ・ドメインを識別する
    ようにさらに構成され、
    前記バスタ・イベント・リスナは、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからの前記メッセージの起点を判定し、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからの前記メッセージの前記起点が前記識別されたバスタ・ドメインと一致することを検証する
    ようにさらに構成される
    請求項1に記載の装置。
  14. 前記拡張可能な表示ペイロードは、前記ウェブページ内で前記第1のフレームの境界を超えて表示するように構成される、請求項1に記載の装置。
  15. 前記拡張可能な表示ペイロードは、マルチレベル・メニュー、メディア・プレイヤ・コントロールのセットのうちの1つを表示するために拡張するように構成される、請求項1に記載の装置。
  16. プロセッサ実行可能なコンポーネントを記憶するウェブページ・フレーム拡張表示非一時的物理媒体であって、前記コンポーネントは、
    前記媒体内に記憶されたコンポーネント・コレクション
    を含み、
    前記媒体内に記憶された前記コンポーネント・コレクションは、
    少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、前記トップ・レベル・リスニング・コンポーネントは前記ウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
    少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するように前記ウェブページ内の第1のフレームを構成することと
    のためのプロセッサ発行可能命令を含み、
    前記フレーム・エスケーピング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
    少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
    ように構成され、
    前記トップ・レベル・イベント・リスナは、前記トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記一意フレーム識別子が、前記生成された一意フレーム識別子と一致することを検証し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記ウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記判定されたノード・リスト識別子を有するメッセージを前記フレーム・バスティング・コンポーネントに送る
    ように構成され、
    前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を使用して、どの第1レベル・フレームが前記拡張可能な表示ペイロードを含むのかを判定するために、前記ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能なフレーム照会コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送り、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
    ように構成され、
    前記フレーム・イベント・リスナは、前記フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を使用して前記ウェブページの前記トップ・レベルでの前記拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送る
    ように構成され、
    前記トップ・レベル・リスニング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
    ようにさらに構成され、
    前記バスタ・イベント・リスナは、前記フレーム・バスティング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからの前記メッセージ内で提供される実行可能コンポーネントを実行する
    ように構成される
    ウェブページ・フレーム拡張表示非一時的物理媒体。
  17. 少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、前記トップ・レベル・リスニング・コンポーネントは前記ウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
    少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するように前記ウェブページ内の第1のフレームを構成することと
    のためのコンポーネント・コレクション手段
    を含む、プロセッサ実施されるウェブページ・フレーム拡張表示システムであって、
    前記フレーム・エスケーピング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
    少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
    ように構成され、
    前記トップ・レベル・イベント・リスナは、前記トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記一意フレーム識別子が、前記生成された一意フレーム識別子と一致することを検証し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記ウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記判定されたノード・リスト識別子を有するメッセージを前記フレーム・バスティング・コンポーネントに送る
    ように構成され、
    前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を使用して、どの第1レベル・フレームが前記拡張可能な表示ペイロードを含むのかを判定するために、前記ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能なフレーム照会コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送り、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
    ように構成され、
    前記フレーム・イベント・リスナは、前記フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を使用して前記ウェブページの前記トップ・レベルでの前記拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送る
    ように構成され、
    前記トップ・レベル・リスニング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
    ようにさらに構成され、
    前記バスタ・イベント・リスナは、前記フレーム・バスティング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからの前記メッセージ内で提供される実行可能コンポーネントを実行する
    ように構成される
    プロセッサ実施されるウェブページ・フレーム拡張表示システム。
  18. 少なくとも1つのプロセッサを介して、ウェブページのトップ・レベルにトップ・レベル・リスニング・コンポーネントを提供することであって、ウェブページがロードする時に、前記トップ・レベル・リスニング・コンポーネントは前記ウェブページ内の第1レベル・フレームのノード・リストを作成するように構成される、提供することと、
    少なくとも1つのプロセッサを介して、フレーム・エスケーピング・コンポーネントを含む拡張可能な表示ペイロードを入手するように前記ウェブページ内の第1のフレームを構成することと
    のために、プロセッサ実施されるコンポーネント・コレクション命令を実行すること
    を含む、プロセッサ実施されるウェブページ・フレーム拡張表示方法であって、
    前記フレーム・エスケーピング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する一意フレーム識別子を生成し、
    少なくとも1つのプロセッサを介して、フレーム・バスティング・コンポーネントを含むフレーム・バスタ・ペイロードを入手するように構成された第2のフレームを作成し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからのメッセージのトップ・レベル・イベント・リスナを追加する
    ように構成され、
    前記トップ・レベル・イベント・リスナは、前記トップ・レベル・リスニング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記一意フレーム識別子が、前記生成された一意フレーム識別子と一致することを検証し、
    少なくとも1つのプロセッサを介して、前記トップ・レベル・リスニング・コンポーネントからの前記メッセージ内で指定される前記ウェブページ内の第1レベル・フレームのノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記判定されたノード・リスト識別子を有するメッセージを前記フレーム・バスティング・コンポーネントに送る
    ように構成され、
    前記フレーム・バスティング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を判定し、
    少なくとも1つのプロセッサを介して、前記拡張可能な表示ペイロードに関連する前記一意フレーム識別子を使用して、どの第1レベル・フレームが前記拡張可能な表示ペイロードを含むのかを判定するために、前記ウェブページ内の第1レベル・フレームを照会することを容易にするように構成された実行可能なフレーム照会コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能なフレーム照会コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送り、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからのメッセージのフレーム・イベント・リスナを追加する
    ように構成され、
    前記フレーム・イベント・リスナは、前記フレーム・エスケーピング・コンポーネントからメッセージを受信する時に
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を判定し、
    少なくとも1つのプロセッサを介して、前記フレーム・エスケーピング・コンポーネントからの前記メッセージ内で指定される前記ノード・リスト識別子を使用して前記ウェブページの前記トップ・レベルでの前記拡張可能な表示ペイロードの再構築を容易にするように構成された実行可能な拡張可能なペイロード再構築コンポーネントを生成し、
    少なくとも1つのプロセッサを介して、前記生成された実行可能な拡張可能なペイロード再構築コンポーネントを有するメッセージを前記トップ・レベル・リスニング・コンポーネントに送る
    ように構成され、
    前記トップ・レベル・リスニング・コンポーネントは、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからのメッセージのバスタ・イベント・リスナを追加する
    ようにさらに構成され、
    前記バスタ・イベント・リスナは、前記フレーム・バスティング・コンポーネントからメッセージを受信する時に、
    少なくとも1つのプロセッサを介して、前記フレーム・バスティング・コンポーネントからの前記メッセージ内で提供される実行可能コンポーネントを実行する
    ように構成される
    プロセッサ実施されるウェブページ・フレーム拡張表示方法。
JP2019537022A 2016-09-19 2017-09-19 境界上ウェブ・コンポジタの装置、方法、およびシステム Active JP6944170B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662396799P 2016-09-19 2016-09-19
US201662396796P 2016-09-19 2016-09-19
US62/396,799 2016-09-19
US62/396,796 2016-09-19
PCT/US2017/052260 WO2018053505A1 (en) 2016-09-19 2017-09-19 Supra boundary web compositor apparatuses, methods and systems

Publications (2)

Publication Number Publication Date
JP2020516975A JP2020516975A (ja) 2020-06-11
JP6944170B2 true JP6944170B2 (ja) 2021-10-06

Family

ID=61618942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019537022A Active JP6944170B2 (ja) 2016-09-19 2017-09-19 境界上ウェブ・コンポジタの装置、方法、およびシステム

Country Status (5)

Country Link
US (2) US20180081980A1 (ja)
JP (1) JP6944170B2 (ja)
CA (1) CA3037501A1 (ja)
IL (1) IL265367B (ja)
WO (1) WO2018053505A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452738B1 (en) * 2017-02-21 2019-10-22 United Services Automobile Association (Usaa) Coordinating in-frame content with page content in applications
US10452762B1 (en) 2017-02-21 2019-10-22 United Services Automobile Association (Usaa) Coordinating in-frame content with page content in applications
US11283807B1 (en) * 2019-12-11 2022-03-22 Indeed, Inc. Multiple pane web display with dynamic content

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG158874A1 (en) * 2005-01-11 2010-02-26 Content Directions Inc Apparatuses, methods and sytems for integrated, information-engineered and self-improving advertising, e-commerce and online customer interactions
US20090299862A1 (en) * 2008-06-03 2009-12-03 Microsoft Corporation Online ad serving
US8209706B2 (en) * 2008-06-27 2012-06-26 Microsoft Corporation Inter-frame messaging between different domains
US8452710B2 (en) * 2009-12-31 2013-05-28 Ebay Inc. Secure expandable advertisements using an API and cross-domain communications
US8423901B2 (en) * 2010-03-15 2013-04-16 International Business Machines Corporation Displaying content outside IFRAME container
US9558289B2 (en) * 2010-09-30 2017-01-31 Microsoft Technology Licensing, Llc Securely rendering online ads in a host page
US9443257B2 (en) * 2010-10-21 2016-09-13 Yahoo! Inc. Securing expandable display advertisements in a display advertising environment
US9495461B2 (en) * 2011-03-22 2016-11-15 Excalibur Ip, Llc Search assistant system and method
US20120317486A1 (en) * 2011-06-07 2012-12-13 Microsoft Corporation Embedded web viewer for presentation applications
US8694632B1 (en) * 2012-07-17 2014-04-08 Google Inc. Determining content item expansion prediction accuracy

Also Published As

Publication number Publication date
IL265367A (en) 2019-05-30
US20200019584A1 (en) 2020-01-16
US20180081980A1 (en) 2018-03-22
IL265367B (en) 2022-07-01
WO2018053505A1 (en) 2018-03-22
CA3037501A1 (en) 2018-03-22
JP2020516975A (ja) 2020-06-11

Similar Documents

Publication Publication Date Title
US11436598B2 (en) Social data tracking datastructures, apparatuses, methods and systems
US11636471B2 (en) Social data tracking datastructures, apparatuses, methods and systems
US10659547B2 (en) Actionable notifications apparatuses, methods and systems
US20190188700A1 (en) Social Data Tracking Datastructures, Apparatuses, Methods and Systems
US10262148B2 (en) Secure dynamic page content and layouts apparatuses, methods and systems
US20190005469A1 (en) Collateral Management With Blockchain and Smart Contracts Apparatuses, Methods and Systems
US20180262341A1 (en) Secure Firmware Transaction Signing Platform Apparatuses, Methods and Systems
US20200111080A1 (en) Security Secret Interface and Token Wrap Structure Apparatuses, Methods and Systems
US11763294B2 (en) Remote decoupled application persistent state apparatuses, methods and systems
US20150356610A1 (en) Realtime Realworld and Online Activity Correlation and Inventory Management Apparatuses, Methods and Systems
US20220005108A1 (en) Ad Hoc Item Geo Temporal Location and Allocation Apparatuses, Methods and Systems
WO2013090611A2 (en) Dynamic widget generator apparatuses, methods and systems
US10909005B2 (en) Object-level metadata-preserving cross heterogeneous operating systems backup and restore apparatuses, methods and systems
US20190347540A1 (en) AI-Based Context Evaluation Engine Apparatuses, Methods and Systems
US10922060B1 (en) Application source code reuse apparatuses, methods and systems
US11308227B2 (en) Secure dynamic page content and layouts apparatuses, methods and systems
US11455541B2 (en) AI-based neighbor discovery search engine apparatuses, methods and systems
JP6944170B2 (ja) 境界上ウェブ・コンポジタの装置、方法、およびシステム
US10037364B1 (en) User interface portlet data cascade actuator apparatuses, methods and systems
JP2017528789A (ja) ダイナミックチェックアウトボタン装置、方法及びシステム
US20230064392A1 (en) Antifraud Resilient Transaction Identifier Datastructure Apparatuses, Methods and Systems
AU2011240754A1 (en) Apparatuses, methods and systems for using a personalized data repository
US20150100417A1 (en) Dynamic Checkout Button Apparatuses, Methods and Systems
US20200021429A1 (en) Peer-to-Peer Decentralized Distributed Datastructure and Token Exchange Apparatuses, Methods and Systems
US20230087672A1 (en) AI-Based Real-Time Prediction Engine Apparatuses, Methods and Systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200330

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210902

R150 Certificate of patent or registration of utility model

Ref document number: 6944170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150