様々な図面における同様の参照番号および名称は、同様の要素を示す。
本開示は概して、ネットワークトラフィックデータ送信におけるレイテンシの削減を対象とする。電子メッセージは、電話番号、ユーザ名、または他のハンドルなどのメッセージング識別子を含むメッセージング拡張子を持つオンラインコンテンツアイテムを構成することによって、コンテンツプロバイダデバイスへ運ぶことができる。ただし、メッセージング識別子を含むオンラインコンテンツアイテムが、コンピューティングデバイス上でのレンダリングのために選択されるとき、コンテンツプロバイダへ送信される電子メッセージの数は、コンテンツプロバイダデバイスの容量を超える場合がある。さらに、コンテンツプロバイダ用のメッセージング識別子が変わると、メッセージング拡張子は、失効または同期外れになる場合もある。
本開示のシステムおよび方法は、コンテンツプロバイダのメッセージング識別子を識別するために、ウェブページまたは他のオンラインドキュメントを解析する1つまたは複数のコンポーネントを含むデータ処理システムを含むことができる。データ処理システムは、識別されたメッセージング識別子が、メッセージを受信するように動作可能なコンテンツプロバイダデバイスに対応することを検証するために、メッセージングシステムとインターフェースすることができる。データ処理システムは、検証されたメッセージング識別子をコンテンツアイテムのインスタンスに追加し、コンテンツアイテムをコンピューティングデバイス上でのレンダリングのために提供することができる。
コンテンツアイテムのインスタンスは、異なるコンピューティングデバイス上で数千、数万、または数十万回レンダリングすることができるので、コンテンツプロバイダはメッセージで充満する場合があり、これはネットワークトラフィックにおけるレイテンシをもたらすかまたは増大させ、メッセージ応答時間におけるレイテンシをもたらすかまたは増大させ、帯域幅使用を増大させ、ネットワークデータトラフィックを増大させ、コンテンツプロバイダデバイスに負担をかけすぎる場合がある。本ソリューションのシステムおよび方法は、複数の非同期ネットワークベース通信チャネルにわたるメッセージ応答時間における総レイテンシを削減し、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間におけるレイテンシを削減し、ネットワーク帯域幅使用を削減し、またはメッセージングサービスにおけるプロセッサ使用と負荷とを削減することができる。
データ処理システムは、非同期ネットワークベース通信チャネルを介してコンピューティングデバイスとコンテンツプロバイダデバイスとの間で送信される電子メッセージを含む、データ、ネットワークパケット、データパケットまたは他のデータ構造を傍受することができる。データ処理システムは、非同期ネットワークベース通信チャネルの品質を監視するために、傍受された電子メッセージを分析することができる。データ処理システムは、非同期ネットワークベース通信チャネルを介して送信される電子メッセージの特性を識別することによって品質を監視することができる。たとえば、データ処理システムは、コンテンツプロバイダが、コンピュータデバイスによって送信された初期電子メッセージに応答するのにかかる時間の量、コンテンツプロバイダによって送信された電子メッセージの数、コンピューティングデバイスが非同期ネットワークベース通信チャネルを放棄するのにかかる時間の量、電子メッセージのキーワード、またはコンピューティングデバイスのロケーションなどの特性を判断することができる。
いくつかのケースでは、データ処理システムは、複数の非同期ネットワークベース通信チャネルにわたるメッセージ応答時間における総レイテンシを削減し、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間におけるレイテンシを削減し、ネットワーク帯域幅使用を削減し、またはメッセージングサービスにおけるプロセッサ使用と負荷とを削減するために、品質に基づいて、コンテンツアイテムのレンダリングを減少させ、調節し、または阻止することができる。
たとえば、データ処理システムは、非同期ネットワークベースの通信の品質が低いと判断し、非同期ネットワークベース通信チャネルに関連付けられたコンテンツプロバイダデバイスに対応するメッセージング識別子が、他のコンピューティングデバイス上でのコンテンツアイテムの後続レンダリングに含まれるのからはずすことができる。低品質は、たとえば送信時間またはレンダリング時間が閾値時間制限を上回ることによって示すことができる。コンテンツアイテムの後続レンダリングからメッセージング識別子を取り除くことによって、追加コンピューティングデバイスが、メッセージング識別子を有するか、またはそれに関連付けられたコンテンツプロバイダデバイスへ電子メッセージを送信しなくてもよく、というのはコンピューティングデバイスは、メッセージング識別子へのアクセスを有していない場合があるからである。したがって、本ソリューションは、複数の非同期ネットワークベース通信チャネルにわたるメッセージ応答時間における総レイテンシを削減し、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間におけるレイテンシを削減し、ネットワーク帯域幅使用を削減し、またはメッセージングサービスにおけるプロセッサ使用と負荷とを削減するために、追加コンピューティングデバイスが、メッセージング識別子にアクセスするのと、コンテンツプロバイダへ電子メッセージを送信するのとを防止することができる。
総レイテンシは、メッセージング識別子に対応するコンテンツプロバイダデバイス、またはメッセージング識別子に対応する1つもしくは複数のコンテンツプロバイダデバイスに関連付けられた全体的レイテンシを指すことができる。総レイテンシは、コンテンツプロバイダデバイスにおいて、またはコンテンツプロバイダデバイスにネットワークトラフィックをルーティングするゲートウェイにおいて処理されるネットワークデータトラフィックを指すことができる。たとえば、コンテンツプロバイダデバイスは、複数のアクティブ非同期ネットワークベース通信チャネルを有する場合がある。ただし、コンテンツプロバイダデバイスは、ネットワークデータトラフィックを処理し、または電子メッセージに適時に応答するための限度または容量に達している場合がある。新たなコンピューティングデバイスがコンテンツプロバイダデバイスへ電子メッセージを送信するのを防止することによって、コンテンツプロバイダデバイスは、ネットワークデータトラフィックのバックログを処理し、定常状態に戻り、または定常状態に近づくことができる。したがって、本ソリューションは、コンテンツプロバイダデバイスに関連付けられたアクティブ非同期ネットワークベース通信チャネルの各々についてのレイテンシを削減し、それによりコンテンツプロバイダデバイスに関連付けられた総レイテンシまたは応答時間を削減することができる。
本ソリューションは、追加チャネルが開くのを防止し、それによりコンテンツプロバイダデバイスがアクティブまたは継続中の通信チャネルを処理できるようにすることによって、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間のレイテンシを削減することができる。たとえば、第1のコンピューティングデバイスが、コンテンツプロバイダデバイスとの通信チャネルを始動することができる。その後、追加コンピューティングデバイスが、コンテンツプロバイダデバイスとの通信チャネルを始動することができる。この時点で、第1のコンピューティングデバイスは、コンテンツプロバイダデバイスからの遅延応答時間を経る場合がある。したがって、本ソリューションは、新たな通信チャネルをさらに追加するのを阻止または防止することができる。こうすることにより、コンテンツプロバイダデバイスは、オープンな通信チャネルからの現在のネットワークデータトラフィックを処理することができるようになる。オープン通信チャネルのうちのいくつかが終了すると、第1のコンピューティングデバイス向けの応答時間またはレイテンシはなくなる可能性があり、というのはコンテンツプロバイダデバイスは、ネットワークデータトラフィックを処理するためのより多くの容量を有することができるからである。さらに、さらなる新たな通信チャネルがコンテンツプロバイダデバイスと始動するのを防止することによって、本ソリューションは、応答時間またはレイテンシが悪化するのを防止することができる。
本ソリューションは、ネットワーク帯域幅使用を削減し、メッセージングシステム上でのプロセッサ使用または負荷を削減することができるデータ処理システムを含む。本ソリューションは、アクティブである通信チャネルの数または送信される電子メッセージの数を制限しまたは抑えることによって、ネットワーク帯域幅使用を削減することができる。こうすることにより、データ処理システム、コンテンツプロバイダデバイス、またはメッセージングシステムにおいて、ネットワーク帯域幅使用を削減し、ならびにプロセッサ使用を削減することができる。
たとえば、コンピューティングデバイス上で実行するメッセージングアプリケーションまたはチャットアプリケーションは、ユーザインターフェースを介してメッセージを受信することができる。このメッセージは、たとえばテキスト、シンボル、単語、用語、フレーズ、文字、または文字列を含むことができる。メッセージングアプリケーションは、ネットワークを介して、メッセージを第2のデバイスへ送信することができる。いくつかのケースでは、メッセージングアプリケーションは、メッセージングシステムまたはメッセージングサーバを介して、第2のコンピューティングデバイスへメッセージを送信することができる。毎秒数千のメッセージが、メッセージングシステムを介して、あるコンピューティングデバイスから別のコンピューティングデバイスへ向けられる場合がある。さらに、広告などのコンテンツアイテムを選択し、サービスすることは、選択プロセスがいくつかの複雑な動作を含むので、データ処理システムの観点から計算リソース集約的である。したがって、選択プロセスは、コンテンツ選択およびサービングフローにおけるレイテンシをもたらし、これはあるクライアントコンピューティングデバイスから別のクライアントコンピューティングデバイスへのメッセージの送信に悪影響を与える。本ソリューションのデータ処理システムおよび他のコンポーネントは、容量に達しているか、またはそうでなければ低品質通信に関連付けられたコンテンツプロバイダデバイスに関連付けられたメッセージング識別子を有する広告を示さないことによって、レイテンシを悪化させるのを防止することができるデータ処理システムを含む。
図1は、ネットワークトラフィックデータ送信におけるレイテンシの削減のための例示的システム100を示す。システム100は、コンテンツ選択インフラストラクチャを含むことができる。システム100は、データ処理システム120を含むことができる。データ処理システム120は、コンテンツプロバイダコンピューティングデバイス125、メッセージングシステム115またはクライアントコンピューティングデバイス110のうちの1つまたは複数とネットワーク105を介して通信することができる。いくつかのケースでは、メッセージが第1のコンピューティングデバイス110からコンテンツプロバイダデバイス125または第2のコンピューティングデバイス110へ送信されるとき、データ処理システム120は、メッセージングシステム115と直接的には通信しない場合がある。ネットワーク105は、インターネット、ローカル、ワイド、メトロ、または他のエリアネットワーク、イントラネット、衛星ネットワークなどのコンピュータネットワークと、ボイスまたはデータモバイル電話ネットワークなどの他の通信ネットワークとを含むことができる。ネットワーク105により、メッセージングアプリケーションまたはオンラインチャットアプリケーションは、コンピューティングデバイス110およびコンテンツプロバイダデバイス125などの2つ以上のデバイスの間でデータまたは情報を通信することができる。ネットワーク105は、ラップトップ、デスクトップ、タブレット、携帯情報端末、スマートフォン、またはポータブルコンピュータなどの少なくとも1つのコンピューティングデバイス110上に表示することができるウェブページ、ウェブサイト、ドメイン名、またはユニフォームリソースロケータなどの情報リソースにアクセスするのに使用することができる。たとえば、ネットワーク105を介して、コンピューティングデバイス110のユーザは、メッセージングシステム115またはメッセージサービスプロバイダ115によって提供されるメッセージまたはデータにアクセスすることができる。コンピューティングデバイス110(またはコンテンツプロバイダデバイス125)のアプリケーション155(たとえば、メッセージングアプリケーションまたはチャットアプリケーション)は、メッセージまたはデータをコンピューティングデバイス110のモニタ上での表示用に取り出すために、メッセージングシステム115にアクセスすることができる。メッセージングシステム115は、メッセージまたはコンテンツをレンダリングするために、コンピューティングデバイス110上で実行しているアプリケーション155に命令を与えることができる。メッセージングシステム115は概して、メッセージまたはチャットプラットフォームを操作するエンティティを含む。メッセージングシステム115は、データ処理システム120を操作するエンティティとは異なるサードパーティエンティティによって操作されてもよい。メッセージングシステム115はデータ処理システム120とインターフェースすることができ、またはデータ処理システム120は、メッセージングシステム115のインターフェースにアクセスすることができる。メッセージングシステム115は、メッセージ、テキストまたは他のデータを1つまたは複数のコンピューティングデバイス110に通信するために、ネットワーク105と通信する少なくとも1つのサーバを含むことができる。データ処理システム120は、コンテンツをレンダリングするように、コンピューティングデバイス110上で実行しているアプリケーション155に命令を与えることができる。
ネットワーク105は、任意のタイプまたは形式のネットワークであってもよく、二地点間ネットワーク、ブロードキャストネットワーク、ワイドエリアネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ATM(非同期転送モード)ネットワーク、SONET(同期光ネットワーク)ネットワーク、SDH(同期デジタル階層)ネットワーク、ワイヤレスネットワークおよびワイヤーラインネットワークのうちのどれを含んでもよい。ネットワーク105は、赤外線チャネルまたは衛星帯域などのワイヤレスリンクを含んでもよい。ネットワーク105のトポロジーは、バス、スター、またはリングネットワークトポロジーを含んでもよい。ネットワークは、高度モバイルフォンプロトコル("AMPS")、時分割多元接続("TDMA")、符号分割多元接続("CDMA")、モバイル通信用グローバルシステム("GSM(登録商標)")、汎用パケット無線サービス("GPRS")またはユニバーサルモバイル通信システム("UMTS")を含むモバイルデバイスの間で通信するのに使用されるいずれか1つのプロトコルまたは複数のプロトコルを使用するモバイル電話ネットワークを含んでもよい。異なるタイプのデータが異なるプロトコルにより送信される場合があり、または同じタイプのデータが異なるプロトコルにより送信される場合がある。
システム100は、少なくとも1つのデータ処理システム120を含むことができる。データ処理システム120は、ネットワーク105を介して、たとえばコンピューティングデバイス110、コンテンツプロバイダデバイス125(またはプロバイダデバイス125もしくはコンテンツプロバイダ125)、あるいはメッセージングシステム115と通信するためのプロセッサを有するコンピューティングデバイスなどの少なくとも1つの論理デバイスを含むことができる。データ処理システム120は、少なくとも1つの計算リソース、サーバ、プロセッサまたはメモリを含むことができる。たとえば、データ処理システム120は、少なくとも1つのデータセンタ中に位置する複数の計算リソースまたはサーバを含むことができる。データ処理システム120は、複数の論理的にグループ化されたサーバを含み、分散型コンピューティング技法を容易にすることができる。サーバの論理グループは、データセンタ、サーバファームまたはマシンファームと呼ばれる場合がある。サーバはまた、地理的に散逸することが可能である。データセンタもしくはマシンファームは単一のエンティティとして運営されてもよく、またはマシンファームは複数のマシンファームを含むことができる。各マシンファーム内のサーバは異種であることが可能であり、すなわちサーバまたはマシンのうちの1つまたは複数が、1つまたは複数のタイプのオペレーティングシステムプラットフォームに従って動作することが可能である。
マシンファームの中のサーバは、関連付けられた記憶システムとともに高密度ラックシステム中に格納され企業データセンタ中に置くことができる。たとえば、このようにしてサーバを統合すると、サーバと高性能記憶システムとを局在高性能ネットワーク上に置くことによって、システム管理能力と、データセキュリティと、システムの物理的セキュリティと、システム性能とを向上させる場合がある。サーバと記憶システムとを中心にし、それらを高度システム管理ツールと結合することにより、サーバリソースのより効率的な使用が可能になる。
システム100は、少なくとも1つのメッセージングシステム115を含み、システム115にアクセスし、またはそうでなければシステム115と対話することができる。メッセージングシステム115は、ネットワーク105を介して、たとえばコンピューティングデバイス110、データ処理システム120、またはコンテンツプロバイダ125と通信するためのプロセッサを有するコンピューティングデバイスなどの少なくとも1つの論理デバイスを含むことができる。メッセージングシステム115は、少なくとも1つの計算リソース、サーバ、プロセッサまたはメモリを含むことができる。たとえば、メッセージングシステム115は、少なくとも1つのデータセンタ中に位置する複数の計算リソースまたはサーバを含むことができる。メッセージングシステム115は、データ処理システム120の1つまたは複数のコンポーネントまたは機能性を含むことができる。
データ処理システム120またはメッセージングシステム115は、メッセージング機能性またはオンラインチャット機能性を提供することができる。たとえば、メッセージングシステム115はインスタントメッセージング機能性を提供することができ、この機能性は、ネットワーク105を介してリアルタイムのテキスト送信をもたらすタイプのオンラインチャットを指すことができる。メッセージング機能性は、単一のローカルエリアネットワーク内での使用のために設計および構成されるローカルエリアネットワーク(LAN)メッセンジャーを含むことができる。コンピューティングデバイスのユーザが、メッセージを送信するための指示を与えた(たとえば、グラフィカルユーザインターフェース上のボタンまたは入力デバイス上のボタンを選択した)とき、メッセージングシステム115は、2つのデバイスの間で双方向にメッセージを送信することができる。メッセージングシステム115は、メッセージを送信するのにプッシュ技術を使用することができる。メッセージングシステム115は、ファイル転送、クリック可能ハイパーリンク、ボイスオーバーIP、またはビデオチャットを提供することができる。
メッセージングシステム115は、チャットルームまたはグループメッセージまたはグループテキストなどのマルチキャスト送信を提供することができる。メッセージングシステム115は、たとえばピアツーピア(たとえば、直接二地点間送信)、またはクライアントサーバ(たとえば、セントラルサーバが、送信元から通信デバイスへメッセージを再送信する)を含む1つまたは複数のプロトコルを、メッセージを送信するのに使用することができる。たとえば、プロトコルが、2つのコンピューティングデバイスの間の直接二地点間送信を含む場合、それぞれのコンピューティングデバイス110上で実行するチャットアプリケーションは、メッセージングシステム115をバイパスし、コンピューティングデバイス110の間でメッセージを直接送信することができる。たとえば、プロトコルは、2つのネットワークエンドポイントの間で、リアルタイムに近い状態で構造化データを交換するために拡張マークアップ言語("XML")要素をストリーミングすることができる拡張可能メッセージングおよびプレゼンスプロトコル("XMPP":eXtensible Messaging and Presence Protocol)を含むことができる。XMPPプロトコルは、2つのエンドポイントの間でいくつかのデータをトランスポートすることができる。いくつかのデータは、XMLなどの構造化フォーマットであることが可能である。
メッセージングシステム115は、第1のコンピューティングデバイス110、または第1のコンピューティングデバイス110上で実行しているメッセージングアプリケーション155からメッセージを受信することができる。メッセージまたはメッセージングアプリケーション155は、メッセージのソース識別子と、メッセージの宛先識別子と、メッセージの内容とを示すかまたは識別することができる。メッセージのソースは、たとえば第1のコンピューティングデバイス110または第1のコンピューティングデバイス上で実行しているメッセージングアプリケーション155に関連付けられたユーザ名または他の識別を含むことができる。宛先は、第2のコンピューティングデバイス110または第2のコンピューティングデバイス110上で実行しているメッセージングアプリケーション155に関連付けられたユーザ名を含むことができる。メッセージングシステム115およびメッセージングアプリケーション155は、メッセージを送信および配信するのにプッシュまたはプル技術を使用することができる。
データ処理システム120は、少なくとも1つの計算リソースまたはサーバを有するコンテンツ配置システムを含むことができる。データ処理システム120は、少なくとも1つのオンラインドキュメント分析コンポーネント130を含み、それとインターフェースし、またはそうでなければ通信することができる。データ処理システム120は、少なくとも1つのコンテンツジェネレータコンポーネント135を含み、それとインターフェースし、またはそうでなければ通信することができる。データ処理システム120は、少なくとも1つの仲介機器140を含み、それとインターフェースし、またはそうでなければ通信することができる。データ処理システム120は、少なくとも1つの品質センサコンポーネント145を含み、それとインターフェースし、またはそうでなければ通信することができる。データ処理システム120は、少なくとも1つのデータリポジトリ150を含み、それとインターフェースし、またはそうでなければ通信することができる。少なくとも1つのデータリポジトリ150は、1つまたは複数のデータ構造またはデータベース中に、コンテンツデータ155、識別子160、または閾値165を含むかまたは記憶することができる。コンテンツデータ155は、たとえばコンテンツ選択を容易にするために、コンテンツプロバイダ125によって提供された、またはデータ処理システムによって取得もしくは判断された、コンテンツキャンペーン情報、コンテンツグループ、コンテンツ選択基準、コンテンツアイテムオブジェクトまたは他の情報を含むことができる。コンテンツデータ155は、たとえばコンテンツキャンペーンの履歴性能を含むことができる。識別子データ構造160は、デバイスへ電子メッセージを送信するのを容易にすることができる、数字識別子、英数字識別子、シンボル、聴覚識別子、触覚識別子、電話番号、ユーザ名、タグ、ハンドル、または他の識別子などのメッセージング識別子を含むことができる。閾値データ構造165は、応答時間閾値、スパム閾値、または比の閾値などの品質閾値を含むことができる。
オンラインドキュメント分析コンポーネント130、コンテンツジェネレータコンポーネント135、仲介機器140、および品質センサコンポーネント145は各々、少なくとも1つの処理ユニット、あるいはプログラム可能論理アレイエンジン、またはデータベースリポジトリもしくはデータベース150と通信するように構成されるモジュールなどの他の論理デバイスを含むことができる。オンラインドキュメント分析コンポーネント130、コンテンツジェネレータコンポーネント135、仲介機器140、および品質センサコンポーネント145ならびにデータリポジトリ150は、別個のコンポーネント、単一のコンポーネント、またはデータ処理システム120の一部であることが可能である。システム100およびそのコンポーネント、たとえばデータ処理システム120は、1つまたは複数のプロセッサ、論理デバイス、または回路などのハードウェア要素を含むことができる。
データ処理システム120は、複数のコンピューティングデバイス110に関連付けられた匿名コンピュータネットワーク活動情報を取得することができる。コンピューティングデバイス110のユーザが、ユーザのコンピューティングデバイス110に対応するネットワーク活動情報を取得するために、データ処理システム120を肯定的に認可することができる。たとえば、データ処理システム120は、1つまたは複数のタイプのネットワーク活動情報を取得するための同意に向けて、コンピューティングデバイス110のユーザを促すことができる。コンピューティングデバイス110のユーザのアイデンティティは匿名のままであることが可能であり、コンピューティングデバイス110は、一意の識別子(たとえば、ユーザまたはデータ処理システムによって提供されたコンピューティングデバイスまたはコンピューティングデバイスのユーザについての一意の識別子)に関連付けることができる。データ処理システムは、各観察を対応する一意の識別子に関連付けることができる。
ここで論じられるシステムがユーザについての個人情報を収集するか、もしくは個人情報を利用する場合がある状況のために、ユーザには、プログラムもしくは特徴が個人情報(たとえば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、ユーザの嗜好、もしくはユーザの現在地についての情報)を収集してもよいかどうかを制御するためのまたはユーザにより関連する場合があるコンテンツをコンテンツサーバから受信するかどうか、もしくはどのようにして受信するかを制御するための機会が与えられてもよい。さらに、特定のデータが記憶されるかまたは使用される前に、パラメータ(たとえば、人口統計パラメータ)を生成するときにユーザについての特定の情報が削除されるように、1つまたは複数のやり方で扱われてもよい。たとえば、ユーザのアイデンティティが、ユーザについて識別情報を判断することができないように扱われてもよく、またはユーザの地理的ロケーションが、ユーザの特定のロケーションを判断することができないように、ロケーション情報が取得されるように(たとえば、市、郵便番号、または州レベルに)一般化されてもよい。したがって、ユーザは、情報がどのようにユーザについて収集され、コンテンツサーバによって使用されるかに対する制御を有してもよい。
コンテンツプロバイダ125は、電子コンテンツキャンペーンを確立することができる。電子コンテンツキャンペーンは、コンテンツデータ155としてデータリポジトリ150中に記憶することができる。電子コンテンツキャンペーンは、共通のテーマに対応する1つまたは複数のコンテンツグループを指すことができる。コンテンツキャンペーンは、コンテンツグループと、コンテンツアイテムデータオブジェクトと、コンテンツ選択基準とを含む階層型データ構造を含むことができる。コンテンツキャンペーンを作成するために、コンテンツプロバイダ125は、コンテンツキャンペーンのキャンペーンレベルパラメータについての値を指定することができる。キャンペーンレベルパラメータは、たとえばキャンペーン名、コンテンツアイテムオブジェクトを配置するための好ましいコンテンツネットワーク、コンテンツキャンペーンのための予算、コンテンツキャンペーンの開始および終了日、コンテンツキャンペーンについての持続時間、コンテンツアイテムオブジェクト配置のためのスケジュール、言語、地理的ロケーション、コンテンツアイテムオブジェクトをその上で提供するためのコンピューティングデバイスのタイプを含むことができる。他のキャンペーンレベルパラメータは、たとえばコストパークリック(CPC)、1000インプレッションあたりのコスト(CPM:cost per thousand impressions)、コストパーアクション(CPA)、コンバージョンあたりのコスト(cost per conversion)、または1000コンバージョンあたりのコスト(cost per thousand conversions)などの支払い技法を含むことができる。いくつかのケースでは、インプレッションは、コンテンツアイテムオブジェクトがそのソース(たとえば、データ処理システム120またはコンテンツプロバイダ125)からフェッチされたときを指すことができ、カウント可能である。いくつかのケースでは、クリック詐欺の可能性により、ロボット活動が、インプレッションとして、フィルタリングされ、除外されることが可能である。したがって、いくつかのケースでは、インプレッションは、ロボット活動およびエラーコードからフィルタリングされ、コンテンツアイテムオブジェクトをコンピューティングデバイス110上での表示のためにレンダリングする機会に可能な限り近い時点で記録される、ブラウザに対するウェブサーバからページ要求への応答の測定値を指すことができる。いくつかのケースでは、インプレッションは可視的インプレッションを指すことができ、たとえばコンテンツアイテムオブジェクトは、クライアントコンピューティングデバイス110のディスプレイデバイス上で、少なくとも部分的に(たとえば、20%、30%、30%、40%、50%、60%、70%、またはそれ以上)可視的である。クリックまたは選択は、マウスクリック、タッチ対話、ジェスチャ、シェイク、オーディオ対話、またはキーボードクリックなどのコンテンツアイテムオブジェクトとのユーザ対話を指すことができる。コンバージョンは、ユーザが、コンテンツアイテムオブジェクトに関して所望のアクションをとること、たとえば製品もしくはサービスを購入すること、調査を完了すること、コンテンツアイテムに対応する物理的店舗を訪問すること、または電子トランザクションを完了することを指すことができる。
コンテンツプロバイダ125は、コンテンツキャンペーンのための1つまたは複数のコンテンツグループをさらに確立することができる。コンテンツグループは、1つまたは複数のコンテンツアイテムオブジェクトと、キーワード、単語、用語、フレーズ、地理的ロケーション、コンピューティングデバイスのタイプ、時刻、興味、トピック、または垂直線(vertical)などの対応するコンテンツ選択基準とを含む。同じコンテンツキャンペーンの下のコンテンツグループは、同じキャンペーンレベルパラメータを共有することができるが、キーワード、否定キーワード(たとえば、メインコンテンツに否定キーワードが存在する場合のコンテンツアイテムのそのブロック配置)、キーワードに対するビッド、または予算などの特定のコンテンツグループレベルパラメータについての仕様をあつらえていてもよい。
新規コンテンツグループを作成するために、コンテンツプロバイダは、コンテンツグループのコンテンツグループレベルパラメータについての値を与えることができる。コンテンツグループレベルパラメータは、たとえばコンテンツグループ名またはコンテンツグループテーマと、異なるコンテンツ配置機会(たとえば、自動配置もしくは管理された配置)または成果(たとえば、クリック、インプレッション、もしくはコンバージョン)へのビッドとを含む。コンテンツグループ名またはコンテンツグループテーマは、コンテンツプロバイダ125がコンテンツグループのコンテンツアイテムオブジェクトが表示用にそれについて選択されるべきであるトピックまたは主題をキャプチャするのに使用することができる1つまたは複数の用語であることが可能である。たとえば、車販売店が、所有している車両の各ブランド向けの異なるコンテンツグループを作成することができ、所有している車両の各モデル向けの異なるコンテンツグループをさらに作成してもよい。車販売店が使用することができるコンテンツグループテーマの例は、たとえば「A型スポーツカー」「B型スポーツカー」、「C型セダン」、「C型トラック」、「C型ハイブリッド」、または「D型ハイブリッド」を含む。例示的コンテンツキャンペーンテーマは、「ハイブリッド」であり、たとえば「C型ハイブリッド」と「D型ハイブリッド」の両方のためのコンテンツグループを含むことができる。
コンテンツプロバイダ125は、1つまたは複数のキーワードとコンテンツアイテムオブジェクトとを各コンテンツグループに提供することができる。キーワードは、コンテンツアイテムオブジェクトに関連付けられるか、またはそれらによって識別される製品またはサービスに適した用語を含むことができる。キーワードは、1つまたは複数の用語またはフレーズを含むことができる。たとえば、車販売店は、「スポーツカー」、「V-6エンジン」、「4輪駆動」、「燃料効率」をコンテンツグループまたはコンテンツキャンペーンのためのキーワードとして含むことができる。いくつかのケースでは、いくつかの用語またはキーワードに対するコンテンツ配置を避け、防止し、阻止し、または不可能にするために、コンテンツプロバイダによって否定キーワードを指定することができる。コンテンツプロバイダは、コンテンツアイテムオブジェクトを選択するのに使用される、完全一致、フレーズ一致、または部分一致などのマッチングのタイプを指定することができる。
コンテンツプロバイダ125は、コンテンツプロバイダ125によって提供されるコンテンツアイテムオブジェクトを選択するためにデータ処理システム120によって使用されるべき1つまたは複数のキーワードを提供することができる。コンテンツプロバイダ125は、ビッドするべき1つまたは複数のキーワードを識別し、様々なキーワードについてのビッド量をさらに提供することができる。コンテンツプロバイダ125は、コンテンツアイテムオブジェクトを選択するためにデータ処理システム120によって使用されるべき追加コンテンツ選択基準を提供することができる。複数のコンテンツプロバイダ125は、同じまたは異なるキーワードをビッドすることができ、データ処理システム120は、電子メッセージのキーワードの指示を受信したことに応答して、コンテンツ選択プロセスまたは広告オークションを稼働することができる。
コンテンツプロバイダ125は、1つまたは複数のコンテンツアイテムオブジェクトをデータ処理システム120による選択のために提供することができる。データ処理システム120は、コンテンツグループ向けに指定された予算と、コンテンツスケジュールと、最大ビッドと、キーワードと、他の選択基準とに合致するコンテンツ配置機会が利用可能になったとき、コンテンツアイテムオブジェクトを選択することができる。テキストコンテンツアイテム、画像コンテンツアイテム、ビデオコンテンツアイテム、オーディオコンテンツアイテム、マルチメディアコンテンツアイテム、コールコンテンツアイテム、またはコンテンツアイテムリンクなどの異なるタイプのコンテンツアイテムオブジェクトが、コンテンツグループに含まれることが可能である。コンテンツアイテムを選択すると、データ処理システム120は、コンテンツアイテムオブジェクトをコンピューティングデバイス110またはコンピューティングデバイス110のディスプレイデバイス上でのレンダリングのために送信することができる。データ処理システム120は、コンテンツアイテムオブジェクトをレンダリングするための命令をコンピューティングデバイス110に与えることができる。
コンテンツアイテムオブジェクトは、メッセージング拡張子を含むことができる。メッセージング拡張子は、クリックツーメッセージ特徴を含むことができる。いくつかのケースでは、コンテンツプロバイダ125はメッセージング拡張子を提供または制定することができる。ただし、各コンテンツアイテムオブジェクト向けにメッセージング拡張子を構成し、維持することは、多数のコンテンツアイテムオブジェクト、メッセージング拡張子の変化する性質、またはコンテンツデータ155データ構造、セットアップユーザインターフェース、またはウェブページデータのナビゲートに関連した他の複雑さにより、難題である場合がある。
データ処理システム120は、非同期ネットワークベース通信チャネルを介してコンテンツプロバイダデバイス125と通信するのに使用されるメッセージング識別子を判断するためにオンラインドキュメントを解析するオンラインドキュメント分析コンポーネント130を含むことができる。オンラインドキュメント分析コンポーネント130は、ウェブページ、オンライン記事、オンラインブログ、オンライン画像、アイコン、マルチメディアコンテンツ、またはコンテンツプロバイダのアカウントにリンクされるか、もしくはそうでなければアカウントに関連付けられた他のオンラインドキュメントなどのオンラインドキュメントを識別するように構成される、ウェブクローラ、スパイダー、ボット、スクリプト、実行可能ファイル、または他のモジュールもしくはコンポーネントを含むことができる。たとえば、コンテンツプロバイダは、それらのドメイン名、ランディングページ、またはウェブサイトアドレスについての情報を提供することができる。オンラインドキュメント分析コンポーネント130は、ドメインまたはランディングページにアクセスし、ランディングページについての主題を解析することができる。
データ処理システム120は、主題の少なくとも一部分のプロミネンスを判断するためにオンラインドキュメント中で解析された主題に規則を適用することができる。データ処理システム120は、可能性としてはテキストメッセージ、チャット、テキストベース通信、電子メッセージ、または他の非同期通信を開始するのに使用することができるであろう電話番号、アイコン、ハンドル、ユーザ名、タグまたは他の識別子などの1つまたは複数の候補メッセージング識別子を識別することができる。たとえば、データ処理システム120は、第1のメッセージング識別子がオンラインドキュメントにおいて第2のメッセージング識別子よりも大きいプロミネンススコアを有すると判断し、次いで第1のメッセージング識別子をオンラインドキュメント用のメッセージング識別子として選択することができる。
データ処理システム120は、主題のインスタンスのレンダリング頻度を判断するために、サードパーティコンテンツプロバイダの情報リソース(オンラインドキュメントなど)に関連付けられたコンテンツを分析することができる。たとえば、データ処理システム120は、リソースのウェブページ(モバイルウェブページなど)の品質、リソースがサードパーティコンテンツプロバイダの電話番号を含むかどうか、リソースコンテンツの量もしくは品質またはウェブサイトの他の特徴を判断するために、リソースのドキュメントオブジェクトモデル(DOM)ツリー、リソースのカスケーディングスタイルシート(CSS)、リソースのロードされたテキストまたはソースの光学式文字認識(OCR)を解析し、分析することができる。データ処理システム120は、リソースへの訪問の回数、リソースに関連付けられたユーザ対話履歴(ダウンロードおよびナビゲーションアクションなど)またはリソースのオンライン履歴情報を示す他の情報を含む、リソースに関連付けられた他の情報(リソースサーバもしくはサーバをホストするウェブサイト中に記憶された情報など)をチェックすることができる。
データ処理システム120は、各電話番号についてのプロミネンススコアまたは情報リソースもしくはオンラインドキュメントの主題に現れるメッセージング識別子を判断することによって、中心的電話番号または他のメッセージング識別子を判断することができる。データ処理システム120は、メッセージング識別子がオンラインドキュメントの主題に現れる回数、リソース中の他のメッセージング識別子の数字、フォーマット、文字またはシンボル、メッセージング識別子のフォント特性(フォントサイズ、フォントスタイル、フォント色、下線スタイルまたは明滅、コントラストもしくはアニメーション効果などの任意の他の効果など)、リソース内でのメッセージング識別子のロケーション(たとえば、アバブザフォールド(above-the-fold)に位置決めされているヘッダ、フッター、左フレーム、右フレーム、またはフローティングコンテンツスロット)、オンラインドキュメント内のメッセージング識別子に近接したコンテンツ(グラフィックス、画像、テキスト、オーディオまたはビデオなど)、あるいはそれらの組合せを含む1つまたは複数の要因に基づいて、所与のメッセージング識別子(または、概して連絡先情報)についてのプロミネンススコアを計算することができる。データ処理システム120は、最も高いプロミネンススコアを有する1つまたは複数のメッセージング識別子をサードパーティコンテンツプロバイダデバイス125に連絡するためのメッセージング識別子として選択することができる。
オンラインドキュメントに関連付けられた情報を使用して、データ処理システム120は、サードパーティコンテンツアイテムにメッセージング拡張子を追加すると、コンテンツアイテムの性能(コンバージョンレートなど)を高めることになるかどうかを判断することができる。たとえば、リソースのコンテンツ中の中心的メッセージング識別子(たとえば、閾値よりも大きいプロミネンススコアを有するメッセージング識別子)の存在、リソースの乏しい品質もしくはそのレンダリング頻度(モバイルウェブページなど)、リソースに関連付けられた低オンライン活動、またはそれらの任意の組合せが、追加されたクリックツーメッセージ特徴がコンテンツアイテムの性能を向上させる場合があることを示すことができる。データ処理システム120は、コール機能性を有するレンダリングのためにコンテンツアイテムを提供するかどうかを判断するとき、サードパーティコンテンツプロバイダによって提供される他の情報(動作のタイプ、動作のサイズ、動作の物理的ロケーションまたはサードパーティコンテンツプロバイダが、コンテンツアイテムにクリックツーメッセージ機能を自動的に追加するサービスに加入したかどうかを示す情報など)を考慮することができる。
追加されたメッセージング特徴が、コンテンツアイテムの性能を向上させ、サードパーティコンテンツプロバイダを利する場合があると判断すると、データ処理システム120は、メッセージング拡張子(たとえば、図2に示すメッセージング拡張子220)を生成することができる。メッセージング拡張子は、メッセージアイコンと、メッセージアイコンの作動に応答してメッセージング識別子への電子メッセージを始動するためのコンピュータ実行可能命令とを含むことができる。
さらに詳細には、オンラインドキュメント分析コンポーネント130は、コンテンツアイテムと、コンテンツデータ155中でコンテンツプロバイダによって提供されるユニフォームリソースロケータ("URL")とを識別することができる。URLは、オンラインドキュメントなどのリソースを識別することができる。オンラインドキュメント分析コンポーネント130は、受信されたURLによって識別されるリソースをロードすることができる。オンラインドキュメント分析コンポーネント130は、メッセージング識別子などの複数の連絡先情報をロードされたリソースから検出することができる。オンラインドキュメント分析コンポーネントは、各連絡先情報についてのプロミネンススコアを判断し、計算し、または算出し、複数の連絡先情報のうちの1つを、算出されたプロミネンススコアに基づいて選択し、選択された連絡先情報をコンテンツアイテムに関連付けることができる。いくつかのケースでは、オンラインドキュメント分析コンポーネント130は、URLのドメインを判断し、ロードされたリソースの一部分をフィルタリングすることができる。
データ処理システム120は、電子メッセージを始動するように構成されるか、または動作可能なメッセージング識別子を識別するために、連絡先情報をフィルタ除去することができる。たとえば、データ処理システム120は、一部または全部の連絡先情報を識別し、次いで連絡先情報が電子メッセージを送信するように動作可能かどうかを判断するための検証手順を実施することができる。
コンテンツプロバイダについてのメッセージング識別子を識別するために、データ処理システム120はコンテンツアイテムとURLとをコンテンツプロバイダから受信することができる。URLはリソースを識別することができる。コンテンツアイテムは、URLに関連付けられる。URLによって識別されるリソースは、コンテンツアイテムのランディングページであってもよい。コンテンツアイテムおよびURLは、サードパーティコンテンツプロバイダ125から送信され、データ処理システム120において受信されてもよい。受信されたURLによって識別されるリソースからURLは受信されることが可能であり、コンテンツアイテムが生成される。たとえば、URLによって参照されるリソースはロードされてもよく、リソースからの様々な要素は、コンテンツアイテムを生成するように組み合わされてもよい。コンテンツアイテムは受信されることが可能であり、コンテンツアイテムはURLを含む。
URLは、ウェブサーバまたはサードパーティコンテンツプロバイダ125のサーバ上でホストされるリソースを参照することができる。受信されたURLは、受信されたコンテンツアイテム用のウェブページまたはランディングページであるリソースを識別してもよい。リソースは、サードパーティコンテンツプロバイダ125によって維持されてもよい。コンテンツアイテムは、サードパーティコンテンツプロバイダ125によってリソース上で提供される製品またはサービスの広告であってもよい。たとえば、サードパーティコンテンツプロバイダ125はオンライン小売店であってもよく、リソースはオンライン小売店のウェブページであってもよく、コンテンツアイテムは、ウェブページ用の広告であってもよい。
データ処理システム120は、URLのドメインを判断することができる。データ処理システム120は、URLをテキスト列として解析することによって、URLのドメインを識別することができる。データ処理システム120は、URLのドメインを識別するために、URLを解析することができる。データ処理システム120は、URLのドメインを識別するのに、正規表現、テキスト検索、またはパターン認識を使用する。
ドメインは、ルートドメインまたはサブドメインであることが可能である。たとえば、URLはhttps://sub.example.comであってもよく、ここで、"example"はルートドメインであり、"sub"はサブドメインである。いくつかのURLは、複数のレベルのサブドメインを有してもよい。各ドメインが異なるドメインレベルである複数のドメインが判断されてもよい。たとえば、URLのルートドメインおよびサブドメインが判断されてもよい。データ処理システム120は、リソース階層ツリーを使用するか、またはそうでなければルートドメインに関連付けられたリソースをクロールまたは検索して、ルートドメインにリンクされるかまたはそれに関連付けられた一部または全部のサブドメインを識別することができる。ドメインのうちの1つが、各ドメイン中で利用可能なリソースの数に基づいて選択されることが可能である。
データ処理システム120は、ルートドメインに関連付けられた1つまたは複数のドメインからメッセージング識別子を選択することができる。たとえば、データ処理システム120は、メッセージング識別子を識別するために、複数のサブドメインを解析することができる。データ処理システム120は、1つまたは複数の最低レベルドメインから始め、階層を上って行くことができる。最低レベルドメインからメッセージング識別子が抽出されない場合、または複数の連絡先情報からメッセージング識別子が選択されない場合、データ処理システム120は、より高いレベルドメインにアクセスすることができる。このプロセスは、ルートドメインに達するまで繰り返すことができる。
ドメインは、ドメインの下の複数のURLを見つけるのに使用することができ、各複数のURLは、受信されたURLによって識別されるリソースから所定の数のアーク未満のリソースを識別する。アークとは、あるリソースから別のリソースへのリンクまたは参照である。たとえば、ウェブページは、別のウェブページへのハイパーリンクを含むことができる。アークの所定の数は、受信されたURLによって識別されるリソースからのリンクにおける最大距離を制限するように設定されてもよく、それにより複数のURLによって参照される複数のリソースから検出される連絡先情報の数を制限する。たとえば、アークの所定の数が1に設定された場合、複数のURLは、受信されたURLと、受信されたURLによって識別されるリソースによって参照される1つまたは複数のURLとを含むことになる。受信されたURLによって識別されるリソースが最初にロードされることが可能であり、連絡先情報が検出されない場合、複数のURLによって識別される各リソースがロードされてもよく、各リソースから連絡先情報が検出されてもよい。1というリンクの距離を有する連絡先情報がリソース中で検出されない場合、2というリンクの距離を有する複数のリソースがロードされる。リンクの最大距離を指定する、アークの所定の数に達するまで、連絡先情報が検出されるまで、または閾値スコアを上回るプロミネンススコアを有する連絡先情報が検出されるまで距離が増大される。
ウェブクローラまたはボットが、受信されたURLまでクロールまたはナビゲートし、ドメインの下の複数のURLを見つけることができる。たとえば、ウェブクローラが、受信されたURLによって参照されるリソースをロードし、リソース中に1つまたは複数のURLを見つける場合がある。ウェブクローラは次いで1つまたは複数のURLによって参照される1つまたは複数のリソースをロードし、1つまたは複数のリソースの各々の中でURLの別のセットを見つける場合がある。これは、アークの所定の数に対応して所定の回数だけ繰り返す。
データベースまたはメモリ要素が、複数のURLを記憶することができる。データベースまたはメモリ要素は、検索エンジン、コンテンツアイテムデータ処理システム120またはサードパーティコンテンツサーバ125の一部であってもよい。データベースまたはメモリ要素は、複数のURLを取り出すために、ドメインおよび所定の数のアークを用いて照会されてもよい。たとえば、データベースは、ドメインの下の複数のURLの有向グラフと、ドメインの下のURLを表す、有向グラフ中のノードと、URLによって識別されるリソースの間のリンクを表すアークとを記憶することができる。
データ処理システム120は、オンラインドキュメントまたはリソースを、メモリ中へのテキスト列として、たとえばハイパーテキストマークアップ言語(HTML)ファイルとしてロードすることができる。データ処理システム120は、リソースを解析してオブジェクトツリーにし、ウェブページとしてレンダリングすることができる。
たとえば、リソースは、解析して、ドキュメントオブジェクトモデル(DOM)ツリーなどのオブジェクトツリーにすることができる。DOMツリーは、特定のリソースの階層型モデルであってもよい。DOMツリーは、リソースについての画像情報(たとえば、画像URL、表示位置、表示サイズ、またはaltテキスト)とフォント情報(たとえば、フォント名、サイズ、または効果)と色情報(たとえば、RGB色値または16進色コード)とテキスト情報とを含んでもよい。
いくつかのケースでは、データ処理システム120は、リソースのスナップショット画像を作成するためにリソースをレンダリングすることができる。スナップショット画像は、特定のリソースの視覚表現であることが可能である。スナップショット画像は、リソースをレンダリングした後にユーザインターフェースデバイス(たとえば、電子表示画面、コンピュータモニタ、またはタッチディスプレイ)上に提示されるリソースの視覚的出現を示す場合がある。スナップショット画像は、色情報(たとえば、ピクセル色、明るさ、または彩度)を含んでもよい。スナップショット画像はまた、任意の実現可能ファイル拡張子(たとえば、.jpg、.png、または.bmp)を有するピクチャファイルを含むことができる。
データ処理システム120は、ロードされたリソースからメッセージング識別子を検出することができる。データ処理システム120は、ウェブページのコメントセクションなどの部分からメッセージング識別子を選択しないように、リソースのいくつかの部分をフィルタ除去することができる。たとえば、リソースがテキストとしてメモリの中にロードされる場合、正規表現、パターン認識、および他のテキスト検索をメッセージング識別子を見つけるのに使用することができる。データ処理システム120がリソースを解析してオブジェクトツリーにし、レンダリングした場合、連絡先情報が、たとえば光学式文字認識により、レンダリングされたリソースから検出される場合がある。複数のリソースがロードされる場合、メッセージング識別子は、複数のリソースの各々の中で検出される一部または全部の連絡先情報のアグリゲーションであってもよい。
サードパーティコンテンツプロバイダ125のメッセージング識別子は、1つのリソースまたは複数のリソース中で検出することができる。メッセージング識別子は、電話番号、メッセージングシステム115のユーザ名、電子メールアドレス、タグ、ハンドル、シンボル、または英数字識別子を含むことができる。データ処理システムは、メッセージングシステム115のタイプに対応する一意のフォーマットを有するメッセージング識別子などの所定のタイプのメッセージング識別子を識別することができる。たとえば、電話番号のみがリソースから検出される場合がある。データ処理システム120は、連絡先情報のタイプに依存して、メッセージング識別子を検出するのに規則の異なるセットを使用することができる。たとえば、規則のあるセットが電話番号を検出するのに使用されてもよく、規則の別のセットがユーザ名を検出するのに使用されてもよい。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、メッセージング識別子についてのプロミネンススコアを判断することができる。データ処理システム120は、メッセージング識別子に関連付けられた1つまたは複数の信号を算出または検索することによって、メッセージング識別子のプロミネンススコアを判断することができる。データ処理システム120は、メッセージング識別子に関連付けられた各信号についての信号スコアを計算し、判断し、または算出することができる。信号は、異なるタイプである場合がある。データ処理システム120は、異なるタイプの信号についての信号スコアを判断し、または異なるタイプの信号に基づく信号スコアを判断することができる。データ処理システム120は、リソースのロードされたテキストの中を検索すること、オブジェクトツリーもしくはリソースのCSSを分析すること、またはレンダリングされたリソースのOCRを分析することのうちの1つまたは複数によって、異なるタイプの信号を識別することができる。たとえば、データ処理システム120は、1つまたは複数の信号を見つけ、信号スコアを算出するのに、ロードされたリソースのDOMまたはスナップショット画像を使用することができる。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、リソース上で連絡先情報が検出される回数を含むタイプの信号を識別することができる。たとえば、電話番号が、ウェブページ上で何回か示される場合がある。メッセージング識別子がリソース上に現れる回数は、信号スコアに比例する場合がある。複数のメッセージング識別子は、連絡先情報が複数記憶される回数が連絡先情報がリソース中に現れる回数に等しくなるように、複製を保持する。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、リソース上の他の連絡先情報の数を含むタイプの信号を識別することができる。たとえば、電話番号が、ウェブページ上の唯一の連絡先情報である場合がある。リソース上の他の連絡先情報の数は、信号スコアに反比例する場合がある。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、信号に関連付けられた連絡先情報と同じタイプの他のメッセージング識別子の数を含むタイプの信号を識別することができる。たとえば、ウェブページ中の電話番号の信号スコアは、ウェブページ中の他の電話番号の数である場合がある。信号に関連付けられたメッセージング識別子と同じタイプの他の連絡先情報の数は、信号スコアに反比例する場合がある。たとえば、ウェブページが電話番号とeメールアドレスとを有し、ウェブページ中に他の電話番号がない場合、信号スコアは、このタイプの信号についての最大信号スコア値であってもよい。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、リソース中のメッセージング識別子のテキスト強調を含むタイプの信号を識別することができる。テキスト強調は、たとえばフォントサイズ、太字、斜体、斜線、下線、色、コントラスト、または明滅を含むことができる。あるタイプの信号はまた、リソース中の周辺コンテンツと比較した連絡先情報の相対的テキスト強調であってもよい。たとえば、ウェブページはフォントサイズ16の電話番号を含んでもよく、電話番号の周りのテキストはフォントサイズ12であってもよい。別のインスタンスでは、ウェブページは、太字での電話番号と、太字ではない周辺テキストとを含んでもよい。ロードされたリソースのテキストから連絡先情報が検出される事例では、テキスト強調は、オブジェクトツリーのタグもしくはノードまたはCSSの対応する部分から検出される場合がある。レンダリングされたリソースから連絡先情報が検出される事例では、テキスト強調は、スナップショット画像に対してOCRを使用するなどで、レンダリングされたリソースを分析することによって検出される場合がある。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、リソース内のメッセージング識別子のロケーションを含むタイプの信号を識別することができる。リソース内のいくつかのロケーションは、リソース内の他のロケーションと比較してより高い信号スコアを有する。たとえば、ウェブページの最上位に位置する電話番号は、ウェブページの最下位に位置する別の電話番号よりも高い信号スコアを有する場合がある。連絡先情報のロケーションは、スナップショット画像などのレンダリングされたリソースを使用することによって、またはオブジェクトツリーを使用することによって判断されてもよい。
データ処理システム120は(たとえば、オンラインドキュメント分析コンポーネント130を介して)、リソース内でメッセージング識別子に近接したコンテンツを含むか、またはそれに基づくタイプの信号を識別することができる。メッセージング識別子に近接したコンテンツは、たとえばグラフィカル、テキスト、画像、オーディオ、またはビデオコンテンツであることが可能である。連絡先情報に近接したコンテンツは、オブジェクトツリーまたはレンダリングされたリソースを使用して見つけられる場合がある。オブジェクトツリーの場合、コンテンツが親、兄弟であるか、またはメッセージング識別子と同じノード中にある場合、コンテンツはメッセージング識別子に近接してもよい。レンダリングされたリソースの場合、コンテンツは、コンテンツがスナップショット画像中で所定の空間距離内にあるか、またはメッセージング識別子に隣接する場合、メッセージング識別子に近接してもよい。空間距離は、たとえば絶対距離またはスナップショット画像の寸法と比較した相対空間距離であってもよい。たとえば、コンテンツは、近接と見なされるためには、連絡先情報内の100ピクセル内にある必要がある場合がある。別のインスタンスでは、コンテンツは、レンダリングされたスナップショットの幅と比較した相対距離の10%以内である必要がある場合がある。連絡先情報に近接したコンテンツが見つけられた後、コンテンツは、信号スコアを判断するのに使用されてもよい。たとえば、「テキスト」または"SMS"というテキストが、ある電話番号に近接して見つけられる場合があり、「チャット」というテキストが、チャットアイコンまたはユーザ名に近接して見つけられる場合があり、「ファックス」というテキストが、第2の電話番号の隣に見つけられる場合がある。「ファックス」という単語の隣の第2の電話番号は、"SMS"という単語の隣の電話番号よりも低い信号スコアを有する場合がある。「ファックス」という単語は、コンテンツプロバイダが、対応する電話番号においてメッセージングされることを意図していないことを示す場合があり、"SMS"という単語は、コンテンツプロバイダが、対応する電話番号においてメッセージングされることを意図していることを示す場合がある。
データ処理システム120は、リソース内で連絡先情報に近接したコンテンツに基づいて信号スコアを判断する際にコンテンツアイテムを分析することができる。たとえば、リソースは、「サービス」という単語の隣の電話番号と、「販売」という単語の隣の別の電話番号とを含む場合がある。受信されたコンテンツアイテムが、「今日、当店の販売員にテキストメッセージを送ってください!」というテキストを含む場合、データ処理システム120は、「販売」という単語の隣の電話番号がより高い信号スコアを有すると判断することができる。受信されたコンテンツアイテムが、「サービスについてはテキストメッセージを送ってください」というテキストを含む場合、データ処理システム120は、「サービス」という単語の隣の電話番号がより高い信号スコアを有すると判断することができる。
データ処理システム120は、リソース内でメッセージング識別子に近接したコンテンツに基づいて信号スコアを判断する、受信されたコンテンツアイテムに関連付けられた1つまたは複数のキーワードを使用することができる。キーワードは、リソース内で連絡先情報に近接したコンテンツを選択するのに使用されてもよい。たとえば、コンテンツアイテムは、「花」というキーワードに関連付けられる場合がある。レンダリングされたリソース中の「花を注文する」という言葉の隣に、電話番号があってもよい。データ処理システム120は、キーワードと合致する(たとえば、完全一致、フレーズ一致または部分一致)コンテンツについて、および空間距離がより近いコンテンツについて、より高い信号スコアを判断することができる。
データ処理システム120は、リソース内で連絡先情報に近接したコンテンツのプロミネンスに基づいて、信号のタイプを識別することができる。連絡先情報に近接したコンテンツは、たとえばグラフィカル、テキスト、画像、オーディオ、またはビデオであってもよい。データ処理システム120は、たとえばロケーション、サイズ、リソースと比較した相対的サイズ、色、またはコントラストなどのコンテンツの他のタイプの信号によって、コンテンツのプロミネンスを判断することができる。連絡先情報に近接したコンテンツは、HTML imgタグによって指定された画像である可能性があり、電話番号は、imgタグのaltテキスト属性中にあってもよい。別のインスタンスでは、連絡先情報は、画像の一部であり、レンダリングされたリソースから検出されてもよい。
データ処理システム120は、1つまたは複数の信号スコアから連絡先情報(たとえば、メッセージング識別子)のプロミネンススコアを判断しまたは計算することができる。データ処理システム120は、信号のタイプ、コンテンツアイテムのタイプ、またはコンテンツプロバイダデータに基づいて、信号スコアを重み付けし、スケーリングし、または正規化することができる。たとえば、各信号スコアは、異なる信号タイプの信号スコアが同じ範囲の可能値を有する場合があるようにスケーリングされてもよい。1つまたは複数の信号スコアは、プロミネンススコアに組み合わされまたは合計されてもよい。たとえば、電話番号のプロミネンススコアは、ロケーション、テキスト強調、および電話番号に近接したコンテンツに基づく信号スコアを組み合わせることによって算出されてもよい。プロミネンススコアは信号スコアの加重和であってもよい。複数のリソースがロードされるいくつかの例では、連絡先情報に関連付けられたプロミネンススコアは、受信されたURLによって識別されるリソースから連絡先情報を含むリソースまでのアークの数に基づいて、データ処理システム120によって重み付けされてもよい。たとえば、第1の電話番号がランディングページ上で検出される場合があり、第2の電話番号が、ランディングページからリンクされているウェブページ上で検出される場合がある。データ処理システム120は、第1の電話番号についてのプロミネンススコアを1などのある重み値で乗算することができ、第2の電話番号は、0.5などの別の重み値で乗算されてもよい。プロミネンススコアの重み値は、受信されたURLによって識別されるリソースからのアークの数の減少関数であることが可能である。たとえば、関数は、指数関数的減衰または線形減少関数であってもよい。各連絡先情報のプロミネンススコアは、対応する連絡先情報に関連付けられてもよい。たとえば、メモリ要素が、各プロミネンススコアを、対応する連絡先情報とともに記憶してもよい。別のインスタンスでは、各プロミネンススコアは、関連付けられた連絡先情報への参照またはポインタを記憶してもよい。データ処理システム120は、ページの最上位に位置するメッセージング識別子、最も大きいフォントを選択するなどの規則またはヒューリスティック技法を使用することによって、または何らかの他の規則に基づいて、等しいプロミネンススコアを有するメッセージング識別子の間の均衡を破ることができる。
オンラインドキュメント分析コンポーネント130は、主題の少なくとも一部分のプロミネンスを判断するために、オンラインドキュメント中で解析された主題に機械学習技法を適用することができる。データ処理システム120は、プロミネンスに基づいて、メッセージング識別子を主題の少なくともその一部分を含むものと判断することができる。機械学習技法は、モデル、フィードバックモデル、確率的技法、意味的分析、もしくは回帰モデル、またはデータ処理システム120が動作可能メッセージング識別子を識別するのを容易にする他の技法を含むことができる。
たとえば、第1のオンラインドキュメントが、第2のオンラインドキュメントへの埋め込みハイパーリンクを含むことができる。データ処理システム120は、第2のオンラインドキュメントへの埋め込みハイパーリンクを識別するために、第1のオンラインドキュメントを解析することができる。データ処理システム120は、第2のオンラインドキュメントの主題を解析するために、埋め込みハイパーリンクを使用して第2のオンラインドキュメントにアクセスすることができる。データ処理システム120は、第2のオンラインドキュメント中で解析された主題に基づいて、第2のメッセージング識別子を判断することができる。データ処理システム120は、第1のプロミネンスを判断するために、第1のメッセージング識別子に規則を適用することができる。データ処理システム120は、第2のプロミネンスを判断するために、第2のメッセージング識別子に規則を適用することができる。データ処理システム120は、第1のプロミネンスと第2のプロミネンスの比較に基づいて、コンテンツアイテムの第1のインスタンスに挿入するための第1のメッセージング識別子を選択することができる。
したがって、データ処理システム120は、算出されたプロミネンススコアに基づいて複数のメッセージング識別子のうちの1つを選択することができる。データ処理システム120は、複数のメッセージング識別子の他のプロミネンススコアと比較して最も高いプロミネンススコアに関連付けられた複数のメッセージング識別子のうちの1つを選択することができる。選択されたプロミネンススコアによって参照されるか、またはそれに関連付けられたメッセージング識別子を複数のメッセージング識別子の間で選択することができる。
データ処理システム120は、データ処理システムに関連付けられたメッセージング識別子を、オンラインドキュメントから判断されたメッセージング識別子の代わりにプロキシまたは仮想メッセージング識別子として割り当てることができる。たとえば、データ処理システム120は、仲介機器140を含むことができる。データ処理システム120は、仲介機器140に関連付けられたプロキシまたは仮想メッセージング識別子を割り当てることができる。仲介機器140は、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアの組合せを含むことができる。仲介機器は、コンピューティングデバイス110から電子メッセージを受信し、それらの電子メッセージをコンテンツプロバイダへフォワードするブリッジサービスを含むか、または提供することができる。仲介機器140は、電子メッセージを、オンラインドキュメントから取り出された、サードパーティコンテンツプロバイダのメッセージング識別子へフォワードすることができる。フォワードされた電子メッセージは、サードパーティコンテンツプロバイダに関連付けられたコンテンツプロバイダデバイス125において受信することができる。コンテンツプロバイダデバイス125は、電話デバイス、モバイルフォン、タブレット、コンピュータデバイス、または電子メッセージを受信することが可能な他の電子デバイスを含むことができる。
データ処理システム120または仲介機器140は、仲介機器140用の静的電話番号をメッセージングアイコンに割り当てることができる。メッセージング識別子の静的割当ては、コンテンツアイテムの複数のインスタンスに、または様々なコンテンツアイテムに単一の電話番号を割り当てることを含むことができる。データ処理システム120は、仲介機器140に関連付けられたメッセージング識別子をメッセージングアイコンに動的に割り当てることができる。メッセージング識別子の動的割当ては、メッセージングアイコンに割り当てられた仲介機器140のメッセージング識別子に基づいて、コンテンツアイテムまたはそのインスタンスを判断できるようにする。たとえば、仲介機器140に関連付けられたメッセージング識別子の割当ては、メッセージング機能性を有するコンテンツアイテムのインスタンスがレンダリング用に提供されることになる度に、仲介機器140に関連付けられたメッセージング識別子のプールまたはリストからメッセージング識別子を動的に選択することを含むことができる。
データ処理システム120は(たとえば、品質センサコンポーネント145により)、メッセージング識別子が、電子メッセージを受信するように動作可能なデバイスまたはコンテンツプロバイダデバイス125に対応するかどうかを判断する。たとえば、データ処理システム120は、コンテンツアイテムの第1のインスタンス中へのメッセージング識別子の挿入に先立って、非同期ネットワークベース通信チャネルを介して、メッセージング識別子に対応するコンテンツプロバイダデバイス125をピングすることができる。データ処理システム120は、コンテンツプロバイダデバイス125からピングへの応答を受信することができる。データ処理システム120は、応答に基づいて、コンテンツプロバイダデバイスが、非同期ネットワークベース通信チャネルを介して電子メッセージを受信するように動作可能であることを検証することができる。応答は、適切なフォーマットでのテキストを含むかどうか、または「受信済み」もしくは「動作可能」もしくは"yes"などの所定のテキストもしくは指示を含むかどうかを検証されることが可能である。コンテンツプロバイダデバイス125の検証に応答して、データ処理システム120は、コンテンツジェネレータコンポーネント135が、コンテンツアイテムの1つまたは複数のインスタンスにメッセージング識別子を挿入することを認可することができる。
データ処理システム120は、メッセージング識別子がコンテンツデータ155中のコンテンツアイテムにすでに関連付けられているかどうかに基づいて、メッセージング識別子を追加するかどうかを判断することができる。たとえば、データ処理システム120は、メモリ中に記憶されたデータベース150からコンテンツプロバイダデバイス125またはコンテンツアイテムに関連付けられたオンラインアカウントにリンクされた複数のメッセージング識別子を取り出すことができる。これらのメッセージング識別子は、コンテンツプロバイダ125によってあらかじめ提供されているか、またはそうでなければデータ処理システム120によってあらかじめ追加されていてもよい。これらのメッセージング識別子は、データ処理システム120によってあらかじめ検証され、認可されていてもよい。データ処理システム120は次いで、追加されるべき新たなメッセージング識別子を、以前のメッセージング識別子と比較することができ、新たなメッセージング識別子が、あらかじめ追加されたメッセージング識別子にはない場合、データ処理システム120は、複数のメッセージング識別子を記憶しているデータベースをメッセージング識別子を含むように更新すると判断し、電子メッセージについてのメッセージング識別子を認可することができる。複製メッセージング識別子を追加しないことによって、データ処理システム120は、データベース150中でのメモリ記憶またはメモリ浪費を削減することができる。
データ処理システム120は、メモリを復元しメモリ浪費を削減し、ならびに応答がないか、または満了したメッセージング識別子への電子メッセージの送信に関連付けられた帯域幅浪費を削減するために、データベース150またはコンテンツデータ155データ構造からメッセージング識別子を削除することができる。たとえば、データ処理システム120は、オンラインドキュメントからメッセージング識別子が削除されていると判断することができる。データ処理システム120は、プロミネンススコアが、メッセージング識別子についてははるかに低いと、またはメッセージング識別子がオンラインドキュメント上には現れないと判断することができる。
オンラインドキュメントからのメッセージング識別子の削除という判断に応答して、データ処理システム120は、メッセージング識別子がコンテンツアイテムの後続インスタンスに挿入されるのを阻止するために、メッセージング識別子を削除するように複数のメッセージング識別子を記憶するデータベースを更新することができる。したがって、データ処理システム120は、データベース150中のメモリまたは記憶空間を復元し、浪費される帯域幅使用と、オンラインドキュメントのコンテンツプロバイダ125に対応する、満了した、非アクティブな、または関連のないメッセージング識別子への電子メッセージの送信に関連付けられた他のリソース使用とを削減することができる。
データ処理システム120は、コンテンツジェネレータコンポーネント135を含むことができる。コンテンツジェネレータコンポーネント135は、メッセージング識別子を差し込むか、またはコンテンツアイテムもしくはコンテンツアイテムのインスタンスに関連付けることができる。コンテンツジェネレータコンポーネント135は、コンテンツアイテムまたはコンテンツアイテムのインスタンスを、コンピューティングデバイス125上でのレンダリングのために提供しまたは送信することができる。
データ処理システム120は、コンテンツプロバイダにリンクされるオンラインコンテンツアイテム用のテンプレートを取得するためにメモリ中に記憶されたデータベースにアクセスすることができる。テンプレートは、コンテンツデータ155に記憶することができる。データ処理システム120は、テンプレート中の1つまたは複数のフィールドを識別することができる。データ処理システム120は、メッセージング識別子に対応するフィールド中に選択されたメッセージング識別子を挿入することができる。データ処理システム120は次いで、オンラインコンテンツアイテムの第1のインスタンスを組み立て、またはメッセージング識別子を有するコンテンツアイテムの第1のインスタンスを組み立てるか、もしくはレンダリングするための命令をコンピューティングデバイスに与えることができる。
データ処理システム120は、コンテンツアイテムの他の主題とは別個のメッセージング識別子をコンピューティングデバイス110に提供することができる。たとえば、データ処理システムは、メッセージング識別子なしのコンテンツアイテムを送信することができる。データ処理システム120は、メッセージングアイコンをコンテンツアイテムの中に含めることができる。コンピューティングデバイス110を介したメッセージングアイコンの作動(たとえば、選択、ロールオーバ、キーボード入力、またはタッチジェスチャ)に応答して、データ処理システム120は、コンピューティングデバイス110にメッセージングアプリケーション155を起動させるために、コンピューティングデバイス110にメッセージング識別子を与えることができる。
データ処理システム120は、コンピューティングデバイスに、メッセージング識別子を有するオンラインコンテンツアイテムのインスタンスを第1のコンピューティングデバイスのディスプレイ上でレンダリングさせるために、メッセージング識別子を有するオンラインコンテンツアイテムの第1のインスタンスをコンピューティングデバイスへ送信することができる。コンピューティングデバイス110のユーザは、メッセージングアプリケーション155をコンピューティングデバイス110上で起動または実行させるためのタグまたは他の命令を含むことができるメッセージング識別子をクリックするか、またはそうでなければ選択することができる。コンテンツアイテムは、メッセージングアプリケーション155によって送信される1つまたは複数の電子メッセージに所定のテキストもしくは文字を挿入するための命令をさらに含むことができる。たとえば、コンテンツアイテムは、コンピューティングデバイスがコンテンツアイテムをレンダリングしたことに応答して、コンピューティングデバイスによって送信される1つまたは複数の電子メッセージとともにコンテンツアイテムの一意の識別子を差し込むための命令を含むことができる。
コンピューティングデバイス110上で実行するメッセージングアプリケーション155は、データ処理システム120もしくはメッセージングシステム115または他のデバイスと非同期ネットワークベースの通信セッションまたは通信チャネルを確立することができる。メッセージングアプリケーション155は、メッセージングシステム115と異なる通信セッションまたは通信チャネルを確立することができる。メッセージングアプリケーション155は、データ処理システム120とセキュアな通信チャネルを確立することができる。メッセージングアプリケーション155は、メッセージングシステム115に対するのと、または宛先通信デバイス110に直接対するのと比較して、異なる情報をデータ処理システム120に提供することができる。
メッセージングアプリケーション155は、電子メッセージまたはリアルタイムのテキストを提供するのにプッシュ技術を使用することができ、この技術は、コンピューティングデバイス110のユーザによってメッセージングアプリケーション155中でメッセージが組み立てられると、メッセージを文字単位でまたは単語単位で送信することができる。たとえば、ユーザは、メッセージングアプリケーションの入力テキストボックス335にテキストを入力してもよく、またはメッセージングアプリケーション155にテキストを入力するためにボイスインターフェースを使用してもよい。メッセージングアプリケーション155は、入力されたテキストをテキストがメッセージングアプリケーション155に入力されているときにデータ処理システム120へストリーミングまたは送信することができる。メッセージングアプリケーション155は、コンピューティングデバイス110とデータ処理システム120との間に確立された接続または通信チャネルを介して、テキストをストリーミングすることができる。
データ処理システム120は、仲介機器140を含むことができる。仲介機器140は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含むことができる。仲介機器140は、ブリッジサービスまたは交換機を含むことができる。仲介機器140は、仮想サーバによって実行される交換機などの仮想交換機を提供することができる。仲介機器140は、データ処理システム120の一部であるか、またはデータ処理システム120とは別個であることが可能である。仲介機器140は、ネットワーク105を介してデータ処理システム120と対話することができる。
仲介機器140は、コンピューティングデバイス110とコンテンツプロバイダデバイス125との中間の非同期ネットワークベース通信チャネル上にあることができる。たとえば、非同期ネットワークベース通信チャネルは、コンピューティングデバイス110とコンテンツプロバイダデバイス125との間の電子メッセージによって横断されるネットワーク経路を指すことができる。電子メッセージは、コンピューティングデバイス110からインターネットサービスプロバイダシステムまたはセルフォンプロバイダシステムへ、次いでネットワークゲートウェイ、1つまたは複数のネットワークノード、コンテンツプロバイダ125サーバまたはシステムへ、次いでコンテンツプロバイダデバイス125へ移動する場合がある。仲介機器140は、電子メッセージが仲介機器140によって傍受されるように、チャネル上にあることが可能である。仲介機器140は、データ、ネットワークパケット、データパケット、または電子メッセージを含む他のデータ構造を傍受することができる。
仲介機器140は、メッセージング識別子にプロキシメッセージング識別子を割り当てることによって電子メッセージを傍受用に構成することができ、プロキシメッセージング識別子は、電子メッセージを、コンテンツプロバイダデバイス125の前に仲介機器140へルーティングまたはフォワードする。仲介機器140は次いで、プロキシメッセージング識別子に対応するコンテンツプロバイダ125へ電子メッセージをルーティングまたはフォワードすることができる。したがって、仲介機器140は、第1のコンピューティングデバイスとコンテンツプロバイダデバイスとの間の非同期ネットワークベース通信チャネルを介して送信される電子メッセージを傍受することができる。
データ処理システム120は、品質センサコンポーネント145を含むことができる。品質センサコンポーネント145は、仲介機器によって傍受された電子メッセージの特性に基づいて、非同期ネットワークベース通信チャネルの品質を判断することができる。この品質に基づいて、データ処理システム120は、コンテンツジェネレータコンポーネントに、コンテンツアイテムのパラメータを追加し、削除し、更新し、またはそうでなければ修正するよう命令することができる。たとえば、品質センサコンポーネント145は、コンテンツジェネレータコンポーネント135に、第2のコンピューティングデバイスへのオンラインコンテンツアイテムの第2のインスタンスの送信に先立って、オンラインコンテンツアイテムの後続または第2のインスタンスへのメッセージング識別子の挿入を阻止するよう命令することができる。したがって、品質センサコンポーネント145は、複数の非同期ネットワークベース通信チャネルにわたるメッセージ応答時間における総レイテンシを削減し、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間におけるレイテンシを削減し、ネットワーク帯域幅使用を削減し、またはメッセージングサービスにおけるプロセッサ使用と負荷とを削減するために、品質が低いかまたは閾値を下回る場合、追加コンピューティングデバイスが、メッセージング識別子にアクセスするのと、コンテンツプロバイダへ電子メッセージを送信するのとを防止することができる。
データ処理システム120は、電子メッセージ、(たとえば、コンピューティングデバイスとコンテンツプロバイダ、もしくは他のコンピューティングデバイスとコンテンツプロバイダとの間の)1つもしくは複数のあらかじめ送信された電子メッセージの、もしくはそれらに関連付けられた1つもしくは複数の特性、またはコンピューティングデバイスもしくはコンテンツプロバイダに関連付けられた特性を判断することができる。特性は、たとえば応答時間、不均衡メトリック、スパムメトリック、感情メトリック、または非同期ネットワークベース通信チャネルの品質もしくはコンテンツプロバイダデバイス125の状況を示す他の値もしくは特徴を含むことができる。
たとえば、データ処理システム120は、応答時間を含む特性を判断することができる。応答時間は、コンテンツプロバイダデバイス125が、コンピューティングデバイス110によって送信される電子メッセージに応答するのにかかる時間の量を示すことができる。応答時間は、初期応答時間、電子メッセージごとの応答時間、平均応答時間、最後のN個のメッセージのための平均応答時間(たとえば、Nは、3、4、5、6、10、もしくは15などの数である)、最大応答時間、最小応答時間、最大応答時間と最小応答時間との間の差、またはコンピューティングデバイス110とコンテンツプロバイダデバイス125との応答時間の差であることができる。データ処理システム120は、コンテンツプロバイダデバイス125がその容量に近づいていることを示すことができるレイテンシの増加などの応答時間の傾向を識別するために、応答時間に基づいてモデルを生成することができる。
応答時間を判断するために、データ処理システム120は、電子メッセージに関連付けられたタイムスタンプを受信することができる。タイムスタンプは、送信タイムスタンプ、受信タイムスタンプ、または電子メッセージがデバイス上で実際に閲覧され、レンダリングされ、表示され、もしくは読まれたときのタイムスタンプ(たとえば、メッセージングアプリケーション155のユーザが電子メッセージを閲覧しまたは読んだ可能性があることを示すメッセージングアプリケーション155との対話に基づく)であることが可能である。
データ処理システム120は、電子メッセージ、非同期ネットワークベース通信チャネル、コンピューティングデバイス110、またはコンテンツプロバイダデバイス125の品質または状況を判断するために、応答時間を閾値と比較することができる。閾値は、固定または動的であることが可能である。閾値は、閾値データ構造165に記憶することができる。閾値は、データ処理システム120、コンテンツプロバイダ125、またはコンピューティングデバイス110によって制定された所定の閾値であることが可能である。閾値は、動的であり、非同期ネットワークベースの通信、コンテンツプロバイダデバイス125またはコンピューティングデバイス110に関連付けられたパラメータに基づいて変わることができる。たとえば、データ処理システム120は、デバイスのロケーション、コンピューティングデバイス110とコンテンツプロバイダデバイス125との間の距離、コンピューティングデバイス110とコンテンツプロバイダ125の物理的施設との間の距離、またはコンピューティングデバイス110の移送のモードに基づいて閾値を選択することができる。データ処理システム120は、電子メッセージの感情または電子メッセージのトピックに基づいて閾値を選択することができる。たとえば、電子メッセージのトピックまたは性質が時間敏感である(たとえば、緊急サービス、医療サービス、タクシーサービス、車牽引会社、車修理、または配管)場合、データ処理システム120は、非時間敏感通信(たとえば、旅行手配の予約、花の注文、または靴もしくは衣類の購入)と比較して、より低い閾値を制定してもよい。応答時間閾値は、たとえば1分、2分、3分、4分、5分、10分、30分、60分、2時間、3時間、5時間、6時間、12時間、24時間、またはそれ以上を含むことができる。
応答時間(たとえば、単一の電子メッセージのためのまたはコンテンツプロバイダ125と単一のコンピューティングデバイス110との間の最後のN個のメッセージの平均応答時間、またはコンテンツプロバイダと複数のコンピューティングデバイス110との間の平均応答時間)が応答時間閾値よりも大きい場合、データ処理システム120は、品質が低いと判断することができる。データ処理システム120は、異なるカテゴリの品質を有することが可能である。カテゴリは、低、中、高、数値スコア、文字グレード、シンボル、または色(たとえば、緑、黄色、橙、もしくは赤)を含むことができる。応答時間が応答時間閾値よりも大きい場合、データ処理システム120は、品質が低いと判断することができる。品質が、閾値よりも大きい応答時間に基づくと判断したことに応答して、データ処理システム120は、メッセージング識別子がコンテンツアイテムの後続インスタンスに挿入されるのを阻止することができる。
データ処理システム120は、メッセージング識別子の挿入を、所定の時間間隔だけ阻止することができる。時間間隔により、コンテンツプロバイダデバイス125は、バックログをとられたネットワークトラフィックデータを処理し、定常状態に戻ることができる場合があり、その状態において、デバイスは、電子メッセージを応答時間閾値を満足する適時なやり方で処理することができる。
データ処理システム120は、品質が向上するまで、メッセージング識別子の挿入を阻止することができる。たとえば、データ処理システム120は、電子メッセージに関連付けられた特性を監視し続け、継続的または定期的に(たとえば、N個の電子メッセージごと、1分、5分、または10分おきに)品質または状況を判断することができる。品質が向上した場合、データ処理システム120は、コンテンツアイテムの後続インスタンスへのメッセージング識別子の挿入を可能にすることができる。
データ処理システム120は、不均衡メトリックを含むように、電子メッセージの特性を判断することができる。不均衡メトリックは、コンテンツプロバイダデバイス125と比較した、コンピューティングデバイス110によって送信された電子メッセージの数の差を指すかまたは示すことができる。たとえば、コンテンツプロバイダデバイス125によって送信される1つの電子メッセージに対して、コンピューティングデバイス110が、10個の電子メッセージを送信する場合、データ処理システム120は、不均衡メトリックを1〜10という比もしくは0.1という数、または10〜1という比もしくは10という数と判断することができる。データ処理システム120は、この不均衡メトリックを品質を判断するために閾値と比較することができる。たとえば、不均衡メトリックが10進の0.1(たとえば、1を10で除算したもの)であり、不均衡閾値が0.3である場合、データ処理システム120は、非同期ネットワークベース通信チャネルについての不均衡メトリックが閾値を下回ると判断することができ、これは低品質チャネルを示すことができる。このことは、コンピューティングデバイス110が多くのメッセージを送信しているが、コンテンツプロバイダデバイス125は、同じペースを保ち、各メッセージに適時に応答することができないことを示す場合があるであろう。
不均衡メトリックが10〜1の比である場合、不均衡閾値は3であることができ、データ処理システム120は、不均衡メトリックが閾値よりも大きい場合は低品質チャネルを判断することができる。
不均衡メトリックは、単一のコンテンツプロバイダデバイス125と複数のコンピューティングデバイス110との間で、(たとえば、単一のコンピューティングデバイス110とコンテンツプロバイダ125との間の)単一の非同期ネットワークベース通信チャネルについて判断され、またはコンテンツプロバイダもしくはメッセージング識別子に関連付けられた複数のコンテンツプロバイダデバイス125と複数のコンピューティングデバイス110との間でアグリゲートされることが可能である。
データ処理システム120は、不均衡メトリックと不均衡閾値との比較に基づく品質に応答して、メッセージング識別子が、コンテンツアイテムの後続インスタンスに挿入されるのを、一定の時間間隔だけ阻止することができる。
データ処理システム120は、スパムメトリックを含むように電子メッセージの特性を判断することができる。スパムメトリックは、コンテンツプロバイダデバイス125が、望まれないかまたは未承諾電子メッセージをコンピューティングデバイス110へ送信中であることを示すことができる。望まれないか、または不必要なメッセージを送信すると、帯域幅使用、プロセッサ使用を増大させ、他の望まれるメッセージに対するレイテンシ、またはコンピューティングデバイス110のドレインバッテリーに影響することが可能である。
データ処理システム120は、コンピューティングデバイスがコンテンツプロバイダデバイスへ電子メッセージを送信しない時間間隔にわたってコンテンツプロバイダデバイス125によって送信される電子メッセージの数に基づいて、スパムメトリックを判断することができる。たとえば、コンピューティングデバイス110によって送信された最後の電子メッセージが、2時間よりも前であり、コンテンツプロバイダ125が毎時5つのレートで電子メッセージを送信し続ける場合、データ処理システム120は、これはスパムであると判断することができる。
スパムメトリックは、コンピューティングデバイス110によって送信された最後の電子メッセージからの時間間隔、コンテンツプロバイダデバイス125によって送信される電子メッセージのレート、またはコンテンツプロバイダデバイス125によって送信される電子メッセージの数の組合せに基づいて判断することができる。データ処理システム120は、スパムメトリックとスパム閾値との比較に基づく品質に応答して、メッセージング識別子がコンテンツアイテムの後続インスタンスに挿入されるのを一定の時間間隔だけ阻止することができる。
データ処理システム120は、悪意のある活動を識別するために、電子メッセージの様相または特性をモデリングすることができる。データ処理システム120は、コンテンツプロバイダによって送信された電子メッセージ中で悪意のあるハイパーリンクを識別したことに基づいて、電子メッセージがスパムを含むと判断することができる。たとえば、コンテンツプロバイダデバイス125は、悪意のあるプログラム、マルウェア、スパイウェア、アプリケーション、ウェブサイト、またはフィッシング方式へのハイパーリンクを挿入する場合がある。データ処理システム120は、ハイパーリンクまたは他の識別子と、信頼されないかまたは無認可ハイパーリンクのリストとの比較に基づいて、ハイパーリンクを悪意のあるものとして識別することができる。データ処理システム120は、ハイパーリンクに対応するリソースをロードすること、リソースを解析すること、および悪意のあるリソースにおけるキーワードまたは他の主題に基づいて、リソースが悪意のあるものかまたはそうでなければ認可されないと判断することによって、ハイパーリンクを悪意のあるものとして識別することができる。悪意のあるハイパーリンクを識別すると、データ処理システム120は、ハイパーリンクがスパムを含むと判断し、チャネルまたはメッセージが低品質であると示すことができる。
データ処理システム120は、感情メトリックを含むように電子メッセージの特性を判断することができる。感情メトリックは、チャネルの感情を指すことができる。データ処理システム120は、電子メッセージ中のキーワード、フレーズ、トピック、または概念に基づいて、チャネルの感情を判断することができる。たとえば、コンピューティングデバイス110が、遅れていることを示す電子メッセージを送信した場合、データ処理システム120は、チャネルに低品質を割り当てることができる。データ処理システム120は、この感情を電子メッセージのキーワードを分析することによって判断することができる。たとえば、「なぜ応答にそんなに長くかかるのですか?」、「こんにちは??」、「まだ待っています」、「どこにいますか?」、「時間がかかりすぎ」、または「サービスが悪い」などのフレーズは、否定感情と低品質とを示すことができる。いくつかのケースでは、コンピューティングデバイス110は、メッセージングアプリケーション155、品質の指示またはスコアにより、肯定または否定フィードバックなどの他のフィードバックを提供したことに基づいて感情を示すことができる。
特性は、階層型カテゴリ化構造中のカテゴリと合致する可能性がある。階層型カテゴリ化構造は、低、中、または高カテゴリ(または他のレベル)を含むことができる。たとえば、「時間がかかりすぎ」は、低品質カテゴリに合致する長い応答時間を示すことができ、データ処理システムは、このカテゴリに合致する特性に基づいて品質を判断することができる。
データ処理システム120は、コンテンツプロバイダ125による適切なスペリング、コンテンツプロバイダ125の文法使用、または卑語などの低品質を識別するために、電子メッセージ中のキーワードをさらに識別することができる。データ処理システム120は、品質に応答して、メッセージング識別子がコンテンツアイテムの後続インスタンスに挿入されるのを一定の時間間隔だけ阻止することができる。
データ処理システム120は、高品質を識別するために電子メッセージ中のキーワードを識別することができる。たとえば、データ処理システム120は、「注文の処理」などの電子メッセージによる製品またはサービスの注文に関連したキーワードを識別することができる。高品質メッセージの指示により、データ処理システム120は、コンテンツアイテムオブジェクトの中にメッセージング識別子を挿入することができる。
したがって、品質センサコンポーネント145は、複数の非同期ネットワークベース通信チャネルにわたるメッセージ応答時間における総レイテンシを削減し、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間におけるレイテンシを削減し、ネットワーク帯域幅使用を削減し、またはメッセージングサービスにおけるプロセッサ使用と負荷とを削減するために、追加コンピューティングデバイスが、メッセージング識別子にアクセスするのと、コンテンツプロバイダへ電子メッセージを送信するのとを防止するようにコンテンツアイテムの後続インスタンスからのメッセージング識別子の挿入を阻止することができる。たとえば、コンテンツジェネレータコンポーネント135は、第2のコンピューティングデバイスが非同期ネットワークベース通信チャネルを介してコンテンツプロバイダデバイスへメッセージを送信するのを防止するために、第2のコンピューティングデバイスにメッセージング識別子を有さないオンラインコンテンツアイテムの第2のインスタンスをレンダリングさせるために、オンラインコンテンツアイテムの第2または後続のインスタンスを第2のコンピューティングデバイスへ送信することができる。
図2は、メッセージング拡張子220を有するコンテンツアイテムオブジェクト215を含む電子ドキュメント200を示す図である。コンテンツアイテムオブジェクト215は、検索結果225などの他のコンテンツと一緒に、または記事もしくはブログなどのコンテンツページ上で、表示用に提供し、またはレンダリングすることができる。コンテンツアイテムオブジェクト215は、検索エンジン205入力テキストインターフェース210に入れられたキーワードなどのウェブページのキーワードに基づいて、もしくは応答して、または検索結果225に応答して選択することができる。この場合、キーワードは「記念日用の花」であり、データ処理システム120は、花屋であるコンテンツプロバイダについての広告またはコンテンツアイテムオブジェクト215を選択した。データ処理システム120は、コンテンツプロバイダのランディングページへのハイパーリンク235を含むことができる。データ処理システム120は、メッセージング識別子230またはメッセージングアイコン220を含むことができる。データ処理システム120は、コンピューティングデバイス110上でレンダリングするため、または表示するためのメッセージング識別子230を含まなくてもよい。ただし、データ処理システム120は、メッセージング識別子を埋め込むか、またはそうでなければメッセージングアイコン220の作動または選択がメッセージング識別子230を表示し、もしくは与えるか、またはコンピューティングデバイスによって実行されるメッセージングアプリケーションにメッセージング識別子230を挿入するように、メッセージング識別子をメッセージングアイコン220に関連付けることができる。
図3Aは、ネットワークトラフィックデータ送信におけるレイテンシの削減のためのシステム300の例示的動作を示す流れ図である。システム300は、システム100中に示される1つまたは複数のコンポーネントまたは要素を含むことができる。第1のコンピューティングデバイス110は、メッセージングユーザインターフェース315を提供するメッセージングアプリケーション155を実行する。コンテンツプロバイダ125は、メッセージングユーザインターフェース315を提供するメッセージングアプリケーション155を実行する。データ処理システム120は、電子メッセージを傍受または受信し、コンピューティングデバイス110またはコンテンツプロバイダデバイス125へフォワードすることができる。
たとえば、コンピューティングデバイス110は、コンテンツアイテムオブジェクト中のメッセージングアイコンの作動に応答して、データ処理システム120からメッセージング識別子340を受信することができる。コンピューティングデバイス110は、メッセージングアプリケーション155のユーザインターフェース315を介して、「記念日用の花にはどれがお勧めですか」という入力テキストを受信することができる。コンピューティングデバイス110は、送信ボタン330の作動に応答して、メッセージング識別子に対応するコンテンツプロバイダデバイス125へ電子メッセージを送信することができる。
データ処理システム120は、電子メッセージを傍受することができる。たとえば、メッセージング識別子340は、プロキシメッセージング識別子としてデータ処理システム120に割り当てることができる。したがって、コンピューティングデバイス110は、送信305によりデータ処理システム120へメッセージ320を送信してもよい。データ処理システム120は次いで、電子メッセージを送信345によりコンテンツプロバイダデバイス125へフォワードすることができる。
コンテンツプロバイダデバイス125は、電子メッセージ320をメッセージングアプリケーション155のユーザインターフェース315による表示のためにレンダリングする。コンテンツプロバイダデバイス125は、ユーザインターフェース315により、コンピューティングデバイス110へ送信するべき電子メッセージ325(たとえば、「花束#1、花束#3、および花束#5がお勧めです)を受信することができる。コンテンツプロバイダデバイス125は、電子メッセージ325を送信350によりデータ処理システム120へ送信することができる。データ処理システム120は、電子メッセージ325を送信310によりコンピューティングデバイス110へフォワードすることができる。コンピューティングデバイス110は、コンピューティングデバイス110によって実行されるメッセージングアプリケーション155のユーザインターフェース315上で、電子メッセージ325をレンダリングすることができる。
非同期ネットワークベース通信チャネルは、送信またはネットワーク経路305、345、350、および310を含むか、またはそれらで形成することができる。これは、電話またはビデオコールではないので非同期であってもよい。これは、前の送信345が受信されるまでは次の送信350が送信されないので非同期であってもよい。たとえば、先行動作が完了されたという指示(信号)を受信すると、動作が始まる。
図3Bは、ネットワークトラフィックデータ送信におけるレイテンシの削減のためのシステム300の動作を示す流れ図である。システム300は、システム100の1つまたは複数のコンポーネントを含むことができる。システム300において、仲介機器140は、データ処理システム120とは別個である。仲介機器140は、ハードウェアもしくはソフトウェアまたはハードウェアとソフトウェアの組合せを含むことができる。仲介機器140は、ゲートウェイ、ブリッジ、ルーティングスイッチ、セルフォンプロバイダ、またはコンピューティングデバイス110とコンテンツプロバイダデバイス125との間にある通信経路中にある他の仲介サーバもしくはコンポーネントを含むことができる。仲介機器140は、データ処理システム120およびメッセージングシステム115とインターフェースするか、または通信することができる。たとえば、メッセージングシステム115は、チャネルまたは電子メッセージへのアクセスを仲介機器140と共有することができる。仲介機器140は、メッセージング識別子によって割り当てられたオリジナルメッセージング識別子についてのプロキシメッセージング数を挿入することができる。たとえば、コンテンツプロバイダ125は、(たとえば、オンラインチャットプラットフォーム用に)メッセージングシステム115とユーザ名を制定することができる。仲介機器140は、ユーザ名情報を受信し、ユーザ名にハッシュ関数を適用し、仲介機器140によって記憶されるハッシュテーブル中でユーザ名に対応するか、またはマップされる一意のハッシュ値を生成することができる。仲介機器140は、ハッシュ値用の仮想メッセージング識別子またはプロキシメッセージング識別子をさらに選択することができる。仲介機器140は、利用可能プロキシメッセージング識別子のプールへのアクセスを有することができる。これらのメッセージング識別子は、オリジナルメッセージング識別子に対応するコンテンツプロバイダデバイス125またはメッセージングシステム115へ直接的にとは反対に電子メッセージを仲介機器140へルーティングまたはフォワードするので、プロキシまたは仮想メッセージング識別子と呼ぶことができる。
データ処理システム120は、プロキシメッセージング識別子を、メッセージング識別子として、コンテンツアイテムオブジェクトまたはメッセージングアイコンに挿入することができる。コンピューティングデバイス110は、メッセージングアプリケーション155によりプロキシメッセージング識別子355へ電子メッセージ320を送信することができる。仲介機器140は、送信360により電子メッセージ320を受信することができる。仲介機器140は、電子メッセージ320を受信することができる。仲介機器140は、コンテンツプロバイダデバイス125のオリジナルメッセージング識別子を識別するために、プロキシメッセージ識別子についてのルックアップをハッシュテーブル中で実施することができる。仲介機器140は、電子メッセージ320を、送信365によりコンテンツプロバイダデバイス125へフォワードすることができる。コンテンツプロバイダデバイス125は、送信370により仲介機器140へ電子メッセージ325を返送することによって応答することができ、というのは仲介機器は、応答識別子として仲介機器140に対応するプロキシメッセージング識別子を挿入することができるからである。仲介機器140は、プロキシメッセージング識別子に対応するコンピューティングデバイス110のオリジナルメッセージング識別子を識別するために、ハッシュテーブル中でルックアップを実施することができる。仲介機器140は、電子メッセージ325を送信375によりコンピューティングデバイス110へフォワードすることができる。非同期ネットワークベース通信チャネルは、送信360、365、370および375に関連付けられた経路と電子メッセージとを含むか、またはそれらから形成することができる。
図3Cは、ネットワークトラフィックデータ送信におけるレイテンシの削減のためのシステム300の例示的動作を示す流れ図である。システム300は、ネットワーク105を介してデータ処理システム120とインターフェースするメッセージングシステム115を含む。メッセージングシステム115は、コンピューティングデバイス110とコンテンツプロバイダデバイス125との間の送信380、385、390および395により、電子メッセージ320および325を送信し、受信することができる。メッセージングシステム115は、電子メッセージへのアクセスと、送信380、385、390および395によって確立されるチャネルに関連付けられた他の特性とをデータ処理システム120に与えることができる。
メッセージングシステム115は、送信または経路380、385、390および395から形成されたチャネルに一意のハッシュ値を割り当てることができる。メッセージングシステム115は、たとえばコンピューティングデバイス110およびコンテンツプロバイダデバイス125のオリジナルメッセージング識別子にハッシュ関数を適用することによって、またはこれらの識別子を他のやり方で組み合わせることによってハッシュ値を判断することができる。データ処理システム120は、チャネルに割り当てられた一意の識別子を使用して、メッセージングシステム115に対して、チャネルの情報または特性を要求することができる。データ処理システム120は、メッセージングシステム115を介して電子メッセージを受信もしくは傍受し、または電子メッセージについての情報のためにメッセージングシステム115にアクセスすることができる。
図4は、ネットワークトラフィックデータ送信におけるレイテンシの削減のための例示的方法を示す図である。方法400は、システム100またはシステム300の1つまたは複数のコンポーネント、システムまたは要素によって実施することができる。方法400は、405において、データ処理システムがオンラインドキュメントを解析することを含むことができる。データ処理システムは、410において、テンプレートを取得するためにデータベースにアクセスすることができる。データ処理システムは、415において、メッセージング識別子を挿入することができる。データ処理システムは、420において、コンテンツアイテムの第1のインスタンスを送信することができる。データ処理システムは、425において、電子メッセージを傍受することができる。データ処理システムは、430において、メッセージまたはチャネルの品質を判断することができる。データ処理システムは、435において、品質に基づいてコンテンツジェネレータに命令することができる。データ処理システムは、440において、コンテンツアイテムの第2のインスタンスを送信することができる。
405において、データ処理システムはオンラインドキュメントを解析する。データ処理システムは、非同期ネットワークベース通信チャネルを介してコンテンツプロバイダデバイスと通信するのに使用されるメッセージング識別子を判断するためにオンラインドキュメントを解析することができる。データ処理システムは、メッセージング識別子を判断または識別するのに、1つまたは複数の規則を使用するか、または適用することができる。データ処理システムは、他のメッセージング識別子よりもコンテンツプロバイダデバイスに関連付けられている見込みがあるメッセージング識別子などの中心的メッセージング識別子を識別することができる。
410において、データ処理システムは、テンプレートを取得するためにデータベースにアクセスすることができる。コンテンツアイテムは、コンテンツプロバイダによって制定し、または提供することができる。テンプレートは、ハイパーリンク、テキスト、キーワード、画像、またはフィールドなどのコンテンツアイテムについての情報を含むことができる。データ処理システムは、コンテンツプロバイダにリンクされるオンラインコンテンツアイテム用のテンプレートを取得するために、メモリ中に記憶されたデータベースにアクセスすることができる。データ処理システムは、コンテンツアイテムまたはコンテンツプロバイダ用のテンプレートを識別するために、データ構造中でルックアップを実施することができる。データ処理システムは、コンテンツプロバイダの識別子を使用してルックアップを実施することができる。
テンプレート中のフィールドには、データ処理システムによって投入することができる。フィールドには、コンピューティングデバイス上でのレンダリング用にコンテンツアイテムを選択するか、またはコンテンツアイテムを送信するとき、データ処理システムによって投入することができる。データ処理システムは、値、テキスト、アイコン、または他のデータをフィールドに挿入することができる。
415において、データ処理システムは、テンプレートのフィールドにメッセージング識別子を挿入することができる。データ処理システムは、オンラインコンテンツアイテムの第1のインスタンスを組み立てるために、テンプレートのフィールドにオンラインドキュメント分析コンポーネントにより判断されたメッセージング識別子を挿入することができる。データ処理システムは、メッセージング識別子、またはメッセージング識別子を示すメタデータでタグ付けされているアイコンをフィールドに投入することができる。
データ処理システムは、420において、コンテンツアイテムの第1のインスタンスを送信することができる。データ処理システムは、第1のコンピューティングデバイスに、メッセージング識別子を有するオンラインコンテンツアイテムの第1のインスタンスを第1のコンピューティングデバイスのディスプレイ上でレンダリングさせるために、メッセージング識別子を有するオンラインコンテンツアイテムの第1のインスタンスを第1のコンピューティングデバイスへ送信することができる。
425において、データ処理システムは電子メッセージを傍受することができる。データ処理システムは、仲介機器により電子メッセージを傍受することができる。仲介機器は、第1のコンピューティングデバイスと、メッセージング識別子に関連付けられたコンテンツプロバイダデバイスとの間の非同期ネットワークベース通信チャネル上にあることができる。電子メッセージは、第1のコンピューティングデバイスとコンテンツプロバイダデバイスとの間の非同期ネットワークベース通信チャネルを介して送信することができる。
430において、データ処理システムは、メッセージまたはチャネルの品質を判断することができる。データ処理システムは、コンテンツプロバイダに関連付けられたメッセージの特性に基づいて品質を判断することができる。特性は、応答時間、レイテンシ、メッセージの数、不均衡、または感情を含むことができる。
データ処理システムは、435において、品質に基づいてコンテンツジェネレータに命令することができる。データ処理システムは、第2のコンピューティングデバイスへのオンラインコンテンツアイテムの第2のインスタンスの送信に先立って、コンテンツジェネレータコンポーネントに、オンラインコンテンツアイテムの第2のインスタンスへのメッセージング識別子の挿入を阻止するよう命令することができる。データ処理システムは、複数の非同期ネットワークベース通信チャネルにわたるメッセージ応答時間における総レイテンシを削減し、単一の非同期ネットワークベース通信チャネル向けのメッセージ応答時間におけるレイテンシを削減し、ネットワーク帯域幅使用を削減し、またはメッセージングサービスもしくはシステムにおけるプロセッサ使用と負荷とを削減するために、追加コンピューティングデバイスが、メッセージング識別子にアクセスするのと、コンテンツプロバイダに電子メッセージを送信するのとを防止するために、メッセージング識別子の挿入を阻止または防止することができる。
データ処理システムは、440において、コンテンツアイテムの第2のインスタンスを送信することができる。データ処理システムは、第2のコンピューティングデバイスが非同期ネットワークベース通信チャネルを介してコンテンツプロバイダデバイスへメッセージを送信するのを防止するために、第2のコンピューティングデバイスにメッセージング識別子を有さないオンラインコンテンツアイテムの第2のインスタンスをレンダリングさせるために、オンラインコンテンツアイテムの第2のインスタンスを第2のコンピューティングデバイスへ送信することができる。
図5は、メッセージング識別子を認可するための例示的方法を示す図である。方法500は、システム100またはシステム300の1つまたは複数のコンポーネント、モジュールまたはシステムによって実施することができる。505において、データ処理システムが、オンラインドキュメントまたはリソースを解析することができる。データ処理システムは、オンラインドキュメント中のメッセージング識別子を識別することができる。データ処理システムは、メッセージング識別子を識別するのに、プロミネンススコアを使用することができる。
510において、データ処理システムは、メッセージング識別子、またはメッセージング識別子に対応するデバイスをピングすることができる。たとえば、データ処理システムは、メッセージング識別子に電子メッセージを送信するのにメッセージングアプリケーションとインターフェースすることができる。
515において、データ処理システムは、メッセージング識別子を検証することができる。データ処理システムは、メッセージング識別子に対応するデバイスから応答を受信することができる。応答は、受諾可能応答または受諾できない応答であることが可能である。応答は、所定の応答であることが可能である。応答は、電子メッセージング規格に準拠するフォーマットであることができる。
データ処理システムは、品質チェックまたは他の基準に基づいて応答を検証することができる。データ処理システムは、応答が、電子メッセージまたは使用されるチャネルのタイプ用の規格に準拠することを検証することができる。データ処理システムは、応答が正しい所定のテキストを含むことを検証することができる。たとえば、データ処理システムは、「あなたのデバイスは、電子メッセージを受信し、応答することができますか?できる場合、「はい」で応答してください」というテキストを含む初期メッセージを、コンテンツプロバイダへ送信することができる。コンテンツプロバイダデバイスは、「はい」というテキストで応答することができる。データ処理システムは、応答が、期待される応答に合致すると判断し、次いでメッセージング識別子を検証することができる。
データ処理システムは、応答が、ボットなどのソフトウェアプログラムによって生成された自動化応答であるか、それとも人間によって生成された応答であるかを判断することができる。データ処理システムが、応答がチャットボットによって生成されるか、またはそうでなければ自動化応答であると判断した場合、データ処理システムは、メッセージング識別子を認可しないと判断することができる。データ処理システムは、様々な技法を使用して、応答が自動化されていると判断することができる。たとえば、データ処理システムは、初期テスト電子メッセージ中に、チューリングテストまたは完全自動化公開チューリング("CAPTCHA")テストを含むことができる。データ処理システム120は、コンテンツプロバイダデバイス125からの応答が検査を満足する場合、メッセージング識別子を認可することができる。データ処理システムは、メッセージング識別子を始動または認可すると、チューリングまたはCAPTCHAテストを実施することができる。ボットがそれ自体を送信の中に挿入したかどうかを判断するために、データ処理システムは、継続中の非同期ネットワークベース通信チャネル中に、チューリングまたはCAPTCHAテストを定期的に実施することができる。
520において、データ処理システムは、メッセージング識別子をコンテンツアイテムオブジェクトへの挿入のために認可することができる。データ処理システムは、コンテンツデータデータ構造中のメッセージング識別子の状況を記憶することができる。データ処理システムは、コンテンツプロバイダデバイスの検証に応答して、コンテンツジェネレータコンポーネントが、コンテンツアイテムの1つまたは複数のインスタンスにメッセージング識別子を挿入するのを認可することができる。
図6は、例示的コンピュータシステム600のブロック図である。コンピュータシステムまたはコンピューティングデバイス600は、システム100と、コンテンツプロバイダ125と、コンピューティングデバイス110と、メッセージングシステム115と、データ処理システム120と、オンラインドキュメント分析コンポーネント130と、コンテンツジェネレータコンポーネント135と、仲介機器140と、品質センサコンポーネント145と、データリポジトリ150とを含むか、またはそれらを実装するのに使用することができる。コンピューティングシステム600は、情報を通信するためのバス605または他の通信コンポーネントと、情報を処理するためのバス605に結合されるプロセッサ610または処理回路とを含む。コンピューティングシステム600は、情報を処理するためのバスに結合される1つまたは複数のプロセッサ610または処理回路も含むことができる。コンピューティングシステム600はまた、情報と、プロセッサ610によって実行されるべき命令とを記憶するためのバス605に結合されるランダムアクセスメモリ(RAM)などのメインメモリ615または他の動的記憶デバイスを含む。メインメモリ615は、データリポジトリ150であるか、またはそれを含むことができる。メインメモリ615はまた、プロセッサ610による命令の実行中の位置情報、一時変数、または他の中間情報を記憶するために使用することができる。コンピューティングシステム600は、プロセッサ610についての静的情報と命令とを記憶するためのバス605に結合される読出し専用メモリ(ROM)620または他の静的記憶デバイスをさらに含んでもよい。固体デバイス、磁気ディスクまたは光ディスクなどの記憶デバイス625が、情報と命令とを永続的に記憶するためにバス605に結合される。記憶デバイス625は、データリポジトリ150を含むか、またはその一部であることができる。
コンピューティングシステム600は、ユーザに対して情報を表示するために、液晶ディスプレイ、またはアクティブマトリクスディスプレイなどのディスプレイ635にバス605を介して結合されてもよい。英数字と他のキーとを含むキーボードなどの入力デバイス630が、情報とコマンド選択とをプロセッサ610へ通信するためにバス605に結合されてもよい。入力デバイス630は、タッチスクリーンディスプレイ635を含むことができる。入力デバイス630はまた、方向情報とコマンド選択とをプロセッサ610へ通信するためのおよびディスプレイ635上でのカーソル移動を制御するためのマウス、トラックボール、またはカーソル方向キーなどのカーソルコントロールを含むことができる。ディスプレイ635は、たとえばコンピューティングデバイス110の一部または図1の他のコンポーネントであることが可能である。
本明細書に記載するプロセス、システムおよび方法は、プロセッサ610が、メインメモリ615中に含まれる命令の配列を実行したことに応答して、コンピューティングシステム600によって実装することができる。このような命令は、記憶デバイス625などの別のコンピュータ可読媒体からメインメモリ615内に読み込まれることが可能である。メインメモリ615中に含まれる命令の配列の実行により、コンピューティングシステム600は、本明細書に記載する例示的プロセスを実施する。マルチ処理配置の中の1つまたは複数のプロセッサはまた、メインメモリ615中に含まれる命令を実行するのに利用されてもよい。配線接続された回路機構は、本明細書に記載するシステムおよび方法と一緒に、ソフトウェア命令の代わりに、またはそれらと組み合わせて使用することができる。本明細書に記載するシステムおよび方法は、ハードウェア回路機構とソフトウェアの任意の特定の組合せに限定されない。
図6では例示的コンピューティングシステムが記載されているが、本明細書に記載する主題および機能動作は、他のタイプのデジタル電子回路機構で、または本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、またはそれらのうちの1つもしくは複数の、組合せで実装されることが可能である。
本明細書に記載する主題および動作は、デジタル電子回路機構で、または本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアで、またはそれらのうちの1つもしくは複数の、組合せで実装されることが可能である。本明細書において説明される主題は、1つまたは複数のコンピュータプログラムとして、たとえばデータ処理装置によって実行するか、またはデータ処理装置の動作を制御するための1つまたは複数のコンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数の回路として実装されることが可能である。代替または追加として、プログラム命令は、データ処理装置による実行のために、適切なレシーバ装置への送信用の情報を符号化するように生成される、人工的に生成された伝搬信号、たとえば機械生成された電気、光学、または電磁信号上で符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せであるか、またはそれらに含めることができる。その上、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号の中で符号化されたコンピュータプログラム命令のソースまたは宛先であることが可能である。コンピュータ記憶媒体はまた、1つまたは複数の別個のコンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であることも、またはそれらに含まれることも可能である。
本明細書に記載した動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されるか、または他のソースから受信されたデータに対してデータ処理装置によって実施することができる。
「データ処理装置」または「コンピューティングデバイス」という用語は、例としてプログラム可能プロセッサ、コンピュータ、システムオンチップ、または上記の複数のもの、もしくは組合せを含む、データを処理するための様々な装置、デバイス、および機械を包含する。装置は、特殊目的論理回路機構、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加え、問題となっているコンピュータプログラムのための実行環境を作成するコード、たとえばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの1つまたは複数の組合せを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの異なる様々なコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル型もしくはインタープリタ型言語、宣言型もしくは手続き型言語を含む任意の形式のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、または回路、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他の単位としてを含む任意の形で展開することができる。コンピュータプログラムが、ファイルシステム内のファイルに対応してもよいが、そうする必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つもしくは複数のスクリプト)を保持するファイル部分に、問題になっているプログラムに専用の単一のファイルに、または複数の協調ファイル(たとえば、1つもしくは複数の回路、サブプログラム、もしくはコードの部分を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つの場所に置かれた1つのコンピュータ上または複数のコンピュータ上で実行されるように展開されても、複数の場所に分散され、通信ネットワークによって相互接続することができる。
コンピュータプログラムの実行に適したプロセッサは、例として汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読出し専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの本質的要素は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気、光磁気ディスク、または光ディスクも含み、あるいは大容量記憶デバイスからデータを受信し、もしくはデータを転送し、または両方を行うように大容量記憶デバイスに動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、たとえばほんのいくつかの例を挙げれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に埋め込むことができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含むあらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路要素によって補完することも、その中に組み込むこともできる。
ユーザとの対話を可能にするために、本明細書に記載する主題は、ユーザに情報を表示するための表示デバイス、たとえばCRT(陰極線管)やLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を与えることが可能なキーボードおよびポインティングデバイス、たとえばマウスやトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザとの対話を可能にするのに使用されることが可能であり、たとえばユーザに与えられるフィードバックは、任意の形式の感覚フィードバックで、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、発話、または触覚入力を含む任意の形式で受信されることが可能である。
本明細書は、多くの具体的な詳細を含むが、これらは、いかなる発明の、または請求され得るものの範囲に対する限定としても解釈されるべきでなく、特定の例に特有な特徴の記述として解釈されるべきである。本明細書において別個に記載されるいくつかの特徴は、組み合わせて実装することができる。逆に、一緒に記載されている様々な特徴が、別個に、または任意の適切な部分組合せで実装することができる。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように請求される場合さえあるが、請求される組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除することができ、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象としてもよい。
同様に、動作は、特定の順序において図面に示されているが、これはそのような動作が図示された特定の順序において、もしくは順次に実施されることを必要とするか、または、所望の結果を達成するためにすべての示された動作が実施されることを必要とするものと理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利な場合がある。その上、上述した例における様々なシステムコンポーネントの分離は、すべての事例においてそのような分離を必要とするものとして理解されるべきではなく、記載したプログラムコンポーネントおよびシステムは概して、単一のソフトウェア製品に統合されるか、または複数のソフトウェア製品にパッケージングすることができることを理解されたい。
「または」への言及は、「または」を使用して記載される任意の用語は、記載される用語の単数、複数、およびすべてのうちのどれを示してもよいように包含的として企図される場合がある。用語の接続的リストのうちの少なくとも1つへの言及は、記載される用語の単数、複数、およびすべてのうちのいずれも示すように、包含的ORとして企図される場合がある。たとえば、「'A'および'B'のうちの少なくとも1つ」への言及は、'A'のみ、'B'のみ、ならびに'A'と'B'の両方を含むことができる。
図面中の技術的特徴、詳細な説明または任意の請求項に参照識別子が続く場合、参照識別子は、図面、詳細な説明、または請求項の了解を増すために含まれている。したがって、参照識別子も、それらがないことも、任意の請求項要素の範囲に対していかなる限定的効果も有しない。
以上、主題の特定の実装形態について記載した。他の実装形態は、以下の特許請求の範囲内である。請求項に記載されるアクションは、異なる順序で実施され、依然として望ましい結果を達成することができる。添付の図面に示されるプロセスは、望ましい結果を達成するのに、図示される特定の順序、または順番を必ずしも求めない。たとえば、データ処理システム120または他のコンポーネントは、動作をマルチタスキングし、たとえば並列処理技法を実装している可能性がある。