第一の組の要素を備えるユーザインターフェースを表示するステップであって、前記第一の組の要素が、a複数のユーザによって以前に生成されたメッセージにおいて特定されたフレーズを示すデータ、またはb前記インターフェースが提示されつつある間、または前記インターフェースが提示される直前に、前記ユーザが関与している活動に関連するメタデータ、の内の1つに少なくとも部分的に基づいて、選択されていた一組の要素である、ステップと、第一の入力をユーザから受信するステップであって、前記第一の入力が、メッセージに挿入するために、前記第一の組の要素内の第一の要素を選択する、ステップと、前記ユーザから1つ以上の付加される入力を受信するステップであって、前記1つ以上の付加される入力が、前記メッセージの1つ以上の付加される要素を特定するステップと、第一のフレーズおよび1つ以上の前記付加される要素を少なくとも組み合わせることに基づいてメッセージを作成するステップとを備える方法。前記インターフェースが提示されつつある間、または前記インターフェースが提示される直前に、前記第一の組の要素が、前記ユーザが関与している活動に、少なくとも部分的に、関連している前記メタデータに基づいて、選択されている、請求項1に記載の方法。前記方法が、デジタルビデオテープレコーダによって実行され、前記活動が、特定のコンテンツを見ること、または特定のコンテンツに関する情報にアクセスすること、の内の1つであり、前記メタデータが、前記特定のコンテンツに関係している、請求項2に記載の方法。電子番組ガイドのためにデータリポジトリから前記メタデータを検索するステップをさらに備える、請求項3に記載の方法。前記複数のユーザによって以前に生成されたメッセージにおいて今までに特定されていたフレーズを示す前記データに、少なくとも部分的に基づいて、前記第一の組の要素が選択されている、請求項1~4の何れか1項に記載の方法。前記複数のユーザによるそれらの使用頻度に少なくとも部分的に基づいて、前記第一の組の要素が順位付けされている、請求項1~5の何れか1項に記載の方法。前記第一の組の要素が、特定のコンテクスト内でのそれらの使用頻度に少なくとも部分的に基づいて順位付けされていて、前記特定のコンテクストが、前記インターフェースが提示されつつある間、または前記インターフェースが提示される直前に、ユーザが関与している活動に関連している、請求項1~6の何れか1項に記載の方法。前記1つ以上の付加される要素が、前記第一の組の要素からの少なくとも1つの要素を含む、請求項1~7の何れか1項に記載の方法。前記方法がクライアントデバイスによって実行され、更に、前記クライアントデバイスが、前記第一の組の要素をサーバから受信する、請求項1~8の何れか1項に記載の方法。メッセージングインターフェースの要素として使用するために複数のフレーズを、複数のクライアントに送信するステップと、当該複数のクライアントの1つで、少なくとも1人の受信者にアドレスされているメッセージを、ユーザから受信するステップと、前記メッセージを、前記少なくとも1人の受信者に送信させるステップと、前記メッセージの分析に基づいて、前記複数のフレーズに存在していない前記メッセージ内のフレーズを特定するステップと、前記メッセージングインターフェースの要素として使用するために、前記複数のクライアントに前記フレーズを送信するステップと、を備える方法。前記メッセージの前記分析に基づいて、前記複数のフレーズに対する人気度データを更に更新するステップと、前記更新された人気度データに基づいて、前記複数のクライアントに前記更新された人気度データを送信するステップ、または、前記複数のクライアントに改定された複数のフレーズを送信するステップであって、前記改定された複数のフレーズが、前記更新された人気度データに基づいて選択されまたは順序付けされている、ステップの1つ以上を実行するステップとを、更に、備える、請求項10に記載の方法。前記メッセージが、前記ユーザによって送信された第一のコンテクストを特定するステップであって、前記人気度データが、第二のコンテクストではなく、前記第一のコンテクストに関連している、ステップを更に備える、請求項11に記載の方法。1つ以上のプロセッサと、メッセージを送信するように構成されているネットワークインターフェースと、入力メカニズムから入力を受信するように構成されている入力インターフェースと、を備える装置であって、前記1つ以上のプロセッサが、前記装置に結合されている表示メカニズムに、ビデオコンテンツまたは当該ビデオコンテンツに関する情報をユーザに提示させるように構成されていて、前記入力インターフェースが、メッセージを生成するためのグラフィックインターフェースを提示することを前記装置に要求する入力を受信するように構成されていて、前記1つ以上のプロセッサが、前記表示メカニズムに前記グラフィックインターフェースを提示させるように構成されていて、前記グラフィックインターフェースが、第一の組の要素を備え、前記第一の組の要素が、a当該ビデオコンテンツに関する情報を見ているまたはそれにアクセスしている間に、複数のユーザによって以前に生成されたメッセージにおいて特定されたフレーズを示すデータ、またはb当該ビデオコンテンツに関連しているメタデータ、の内の1つに少なくとも部分的に基づいて、選択された一組の要素であり、前記入力インターフェースが、前記入力メカニズムを介して前記ユーザからの第一の入力を受信するように構成されていて、前記第一の入力が、メッセージに挿入するための前記第一の組の要素内の第一の要素を選択し、前記入力インターフェースが、更に、前記入力メカニズムを介して前記ユーザから1つ以上の付加的な入力を受信するように構成されていて、前記1つ以上の付加される入力が、前記メッセージの1つ以上の付加される要素を特定し、前記1つ以上のプロセッサが、更に、前記第一のフレーズと前記1つ以上の付加される要素とを少なくとも結合することに基づいて、前記メッセージを作成するように構成されていて、前記ネットワークインターフェースが、前記メッセージを送信するように構成されている、装置。1つ以上のコンピューティングデバイスによって実行されるときに、請求項1~12に記載の前記方法の何れか1つを実行させる命令を格納している1つ以上のコンピュータ可読媒体。請求項1~12に記載の前記方法の何れか1つを実行するコンピューティングデバイスの使用。請求項1~12に記載の前記方法の何れか1つを実行するためのコンピュータプログラム製品。請求項1~12に記載の前記方法の何れか1つを実行するように構成されている装置。以下の説明では、本発明の説明のために、多数の具体的な詳細が、本発明を完全に理解できるように記載されている。しかしながら、本発明が、これらの具体的な詳細なしに実施することができることは、明らかであろう。本発明を不必要に不明瞭にすることを避けるために、周知の構成及びデバイスは、ブロック図で示してある。実施態様は、本願明細書において、以下の概略に従って記述される:1.0全体の概観2.0構成の概観3.0機能の概要4.0インターフェースの具体例4.1ワードに基づく要素およびアイコンに基づく要素を有するインターフェースの具体例4.2インターフェースコントロールのスクローリングモード/入力モードのスイッチング4.3コントロールを選択するための技術の具体例4.4メッセージ表示フィールドの具体例4.5フレーズに基づく要素を有するインターフェースの具体例4.6メタデータに基づく要素を有するインターフェースの具体例4.7番組ガイドが集積されたインターフェースの具体例5.0実施の詳細の具体例5.1コンテクストの認識5.2メッセージからのフレーズデータの収集5.3フレーズに基づく要素として包含するためのフレーズの選択5.4コンテクストに依存するメタデータ5.5次に予測される要素に基づく動的なインターフェースレイアウト5.6メッセージ作成インターフェース内のユーザによる活動の選択5.7集中化されていない環境における実行6.0実施メカニズム-ハードウェアの概観7.0拡張および変形例1.0全体の概観フレーズの選択を可能にする動的メッセージングインターフェースをユーザに提供する、フレーズに基づく通信システムのアプローチ、技術およびメカニズムが、開示される。一実施態様によれば、フレーズは、特定のユーザおよび/またはユーザがメッセージを作成しつつあるコンテクストに有用である可能性が高いフレーズを特定するアルゴリズムを使用して、選択される。このようにして、ユーザは、新鮮でなくなってかつ固定された定型メッセージに限定されること無く、即座に役立つメッセージを作成することが出来る。一実施態様では、メッセージングインターフェースのフレーズは、他のユーザが以前に送信したメッセージから学習される。例えば、中央サーバシステムは、前述した技術に従って作成されたメッセージをリレーすることができる。中央サーバシステムは、広く使用されるフレーズを検出するためにメッセージが送信される際に、メッセージを分析することができる。中央サーバシステムは、次で、これらの広く使用されるフレーズをメッセージングインターフェースに提供することができる。メッセージングインターフェースは、次で、これらの広く使用されるフレーズを選択可能なフレーズのリスト内に提示して、インターフェースのユーザが、所望のフレーズを選択するのみで、これらの広く使用されるフレーズの何れかをメッセージに挿入することを可能にすることができる。広く使用されるフレーズは、中央サーバシステムの全てのユーザに対して、またはユーザの個々の地域に関連させて、選択させることができる。広く使用されるフレーズは、更に、年日時またはメッセージングインターフェースのユーザが関与している活動のような、コンテクストとの関係で、選択することもできる。一実施態様では、メッセージングインターフェースのためのフレーズは、ユーザがメッセージを作成しつつある間にユーザが関与している活動によって示されるユーザの現在のコンテクストに関連しているメタデータから選択される。例えば、この活動は、視聴可能なコンテンツについての情報を見ること、および/またはその情報にアクセスすることとすることができるし、かつこのメタデータは、そのコンテンツについての情報とすることができる。例えば、ユーザがデバイスにより特定のビデオを見ている間に、メッセージングインターフェースを開始することもできる。または、ユーザは、メッセージングインターフェースを利用してメッセージを作成する間に、媒体ガイドをナビゲートしかつその中の特定の番組の情報のリストを選択することができる。何れの具体例においても、メッセージングインターフェースに、特定のビデオまたは番組のためのメタデータを配置することができる。このメタデータは、例えば、題名、エピソード名、男優または女優の名前、放送日等を含むことができる。メタデータそのものは、これらに限定されるものではなく、コンテンツプロバイダ、サービスプロバイダ、イベント主催者、ディストリビュータ、批評家および/または他のユーザを含む、様々なソースから収集することができる。一実施態様では、メタデータは、ユーザおよび/または一群の他のユーザが送信したメッセージ内において、どのメタデータが最も広く使用されているかに、少なくとも部分的に基づいて、フィルタリングされまたは選別される。一実施態様では、システムは、さらにまたはこれに代えて、広告または市場の調査のような目的のために、メッセージングインターフェースに含ませる要素を選択することができる。一実施態様では、メッセージングインターフェースは、ユーザが、画像、音楽、ビデオ、リンク、アニメーション、カレンダアイテム等の、フレーズ以外の要素を選択しかつ挿入することを可能にする。これらの要素のいくつかまたは全ては、上述した技術を使用して選択することができる。したがって、本願明細書でフレーズについてのステップおよびプロセスが論ぜられるときには、ステップおよびプロセスは、ほとんどまたは全く修正せずに、他の様々な要素にも適用することができることを、理解すべきである。一実施態様では、メッセージングインターフェースは、中央サーバに接続されているデジタルビデオレコーダによって実行される。ビデオ番組またはテレビジョン番組を見る間、またはビデオ番組またはテレビジョン番組に関する情報をリストしている番組ガイドをナビゲートする間に、ユーザは、デジタルビデオレコーダにメッセージングインターフェースを提供するようにリクエストすることができる。例えば、ユーザは、リモコンのボタンをクリックして、電子メール、テキストメッセージ、インスタントメッセージまたはソーシャルネットワーキングサービスステータスメッセージを、作成することが出来る。このリクエストに応答して、デジタルビデオレコーダは、中央サーバと通信して、ビデオ番組またはテレビジョン番組に基づいて、広く使用されるフレーズおよびメタデータの1つ以上のリストを取得する。デジタルビデオレコーダは、デジタルビデオレコーダに接続されているディスプレイ上にメッセージングインターフェースを表示する。デジタルビデオレコーダは、ASCII文字、アイコン、定型メッセージおよび友人リストのようなコントロールを使用してインターフェースを作成する。デジタルビデオレコーダは、更に、中央サーバによって選択されたメタデータと広く使用されるフレーズとに対応するコントロールをインターフェースに含める。ユーザは、インターフェースをナビゲートして、メッセージに挿入する要素を選択し、かつ一人以上の予定受信者を選択する。ユーザがメッセーの作成を終了すると、デジタルビデオレコーダは、配布のためにメッセージを中央サーバに送信する。中央サーバは、メッセージをその1つ以上の意図された目的地に送る。中央サーバは、また、将来のメッセージングインターフェース用に、フレーズデータとメタデータを収集する目的で、メッセージを分析する。他の実施態様として、本発明は、前述のステップを実行するように構成されているコンピュータ装置およびコンピュータ可読媒体を含む。2.0構成の概観図1は、本願明細書において記述される技術を実行することができるシステム100のブロック図である。システム100は、ネットワーク120を介して中央サーバシステム130に接続されているクライアントデバイス110を備える。ユーザ105は、とりわけ、入力メカニズム112によりクライアントデバイス110を作動させ、メッセージを作成し、かつそれを受信者160に送信する。入力メカニズム112は、例えば、入力をクライアントデバイス110に送信することができる、リモコン、ゲームパッド、タッチパッド、タッチスクリーン、キーボード、ポインティングデバイス、モバイルフォンまたは他の任意の適切な入力デバイスである。メッセージの作成を容易にするために、クライアントデバイス110は、ユーザ105のためにグラフィカルユーザインターフェースGUI114を実行する。クライアントデバイス110は、出力メカニズム116にGUI114を表示する。出力メカニズム116は、例えば、GUI114をユーザ105に表示することによりクライアントデバイス110からの命令に応答することができる、テレビジョン、モニタ、タッチパッド、タブレットコンピューティングデバイス、タッチスクリーンディスプレイを有するリモコン、ブルートゥース通信が可能なパーソナル携帯情報機器、無線が可能なスマートフォン、スマートフォン、または他の任意のデバイスである。出力メカニズム116は、有線または無線とし、かつ、さらに、直接リンクとし、または1つ以上のネットワーク化されたスイッチまたはルータとすることができる通信リンク117を介して、GUI114から命令を受信する。一実施態様では、出力メカニズム116およびクライアントデバイス110は、一般的なデバイス例えば、タブレットコンピューティングデバイス、スマートフォン等に収容することができる。中央サーバシステム130は、ネットワーク120によりクライアントデバイス110と通信することができる1つ以上のサーバデバイス132を備えることができる。中央サーバシステム130は、一当事者から他の当事者へメッセージをリレーすることができるいかなるシステムとすることができる。ネットワーク120は、インターネット、電話回線および/または無線接続を含む通信リンクの任意の適切な組合せにより実行することができる。一実施態様では、中央サーバシステム130は、メタデータ190のプロバイダ例えば、TiVo社のような電子番組ガイドのプロバイダによって稼働させることもできる。しかしながら、他の実施例では、クライアントデバイス110は、このような情報を中央サーバシステム130以外のソースから取得することができるので、中央サーバシステム130は、メタデータ190を提供しない。一実施態様では、ユーザ105は、活動に関与する間、クライアントデバイス110を利用する。活動の具体例は、テレビジョンエピソード、映画、曲、オンラインビデオ、ウェブサイト、コンサート等のようなコンテンツを視聴するまたはこれに関する情報にアクセスすることを含むが、これらに限定されるものではない。活動の具体例は、更に、ビデオゲームを行うこと、および他のライブイベントに参加するまたはそれに関する情報にアクセスすることを含むが、これらに限定されるものではない。テレビジョンの生放送を見ること、ダウンロードされた曲を聞くこと、ブログをすること、ヴィログをすること、そしてソーシャルイベントに参加することは、全て、本願明細書の記載の意味の範囲内でユーザが関与することができる活動である。一実施態様では、ユーザ105は、クライアントデバイス110を利用してこの活動に関与する。例えば、クライアントデバイス110は、マルチメディアコンテンツを体験するために使用される、テレビジョン、メディアセンタ、セットトップボックス、ゲームデバイス、ハンドヘルドデバイス、タブレットコンピューティングデバイス、デジタルビデオレコーダ等とすることができる。ユーザ105は、マルチメディアコンテンツを体験する間、いつでもGUI114をトリガすることができる。また、別の具体例では、ユーザ105は、番組ガイド内のマルチメディア情報を閲覧しかつクライアントデバイス110を使用する間に、GUI114をトリガすることができる。クライアントデバイス110は、出力デバイス116で、または1つ以上の他の出力デバイスで、このようなマルチメディアコンテンツまたは情報を提示することができる。一実施態様では、クライアントデバイス110がGUI114を提示する間、マルチメディアコンテンツまたは情報は、目にみえる状態または目に見えない状態でバックグラウンドに残存するので、ユーザ105がGUI114との対話を終えると、マルチメディアコンテンツまたは情報はユーザ105に戻る。活動への参加を容易にするために、クライアントデバイス110は、1つ以上のコンテンツプロバイダ140および/または中央サーバシステム130と対話することができる。例えば、コンテンツプロバイダ140は、テレビジョン放送局、ケーブルプロバイダ、衛星ビデオプロバイダ、音楽プロバイダ、インターネットコンテンツプロバイダ等を含むことができる。コンテンツプロバイダ140は、様々な送信手段の何れかにより、様々なコンテンツ180およびコンテンツ180についてのメタデータ190を、クライアントデバイス110に送信することができる。別の具体例では、中央サーバシステム130は、例えば、電子番組ガイドによりコンテンツ180についてのメタデータ190を、クライアントデバイスに提供することができる。一実施態様では、中央サーバシステム130とコンテンツプロバイダ140は、同じエンティティである。GUI114により、クライアントデバイス110は、選択可能なインターフェースコントロール118の1つ以上の組をユーザ105に提示する。インターフェースコントロール118の各々は、クライアントデバイス110によって作成されるメッセージ160に挿入することができる1つ以上の要素を表す。要素は、文字、フレーズ、画像またはマルチメディアオブジェクトを含むことが出来るが、これらに限定されるものではない。特定のコントロールを選択することによって、ユーザ105は、特定のコントロールによって表される要素をメッセージ160に挿入することができる。上述したように、コントロール118のいくつかは、スクリーン上のキーボードインターフェースを実行するために用いることができる。すなわち、コントロール118のいくつかは、典型的なコンピュータキーボードに見出されるであろうASCII文字を表す。ユーザ105は、入力メカニズム112でのあるボタン例えば、スクロールボタンを選択する、またはGUI114内のある指定されたコントロールを選択することによって、個々のコントロール118とコントロール118の組をGUI114で交換することができる。したがって、何時でも、GUI114により利用可能となるコントロール118は、一部しか、ユーザ105には表示されない。コントロール118の少なくともいくつかによって表される要素は、中央サーバシステム130によって動的に選択される。例えば、中央サーバシステム130は、メッセージ160を作成する際にユーザにとって有用となる可能性が高い要素を特定する様々なデータに基づいて、様々なアルゴリズムを用いることができる。このようにして、システム100は、ユーザ105が、新鮮でなくかつ固定された定型メッセージに限定されずに、役立つメッセージを瞬時に作成することを可能にする。中央サーバシステム130は、さらに、またはこれに代えて、広告または市場の試験のような目的のために、要素を選択することもできる。中央サーバシステム130は、1つ以上のデータリポジトリ134を含む。データリポジトリ134は、ファイル、データベース等を含むデータのいかなるソースとすることもできる。一実施態様では、データリポジトリ134は、一群のユーザ106これらも中央サーバシステム130に接続されているの内のユーザによって送信されたメッセージ170から収集されたフレーズを示すデータを含む。データリポジトリ134は、更に、これらのフレーズの使用傾向を示すデータを含むこともできる。少なくともこのデータに基づいて、中央サーバシステム130は、GUI114がコントロール118を提示すべき、あるフレーズに基づく要素175を特定する。ユーザ105は、次で、コントロール118を使用して、フレーズに基づく要素175のいくつか又は全部をメッセージ160に挿入することができる。一実施態様では、データリポジトリ134は、活動に関連付けることが可能なメタデータ190を含む。メタデータの具体例は、セクション5.4に記述されている。中央サーバシステム130は、このメタデータを利用して、GUI114に追加する、コンテクストに基づくメタデータ要素を特定する。この目的のために、中央サーバシステム130は、クライアントデバイス110または他の任意の適切なソースからコンテクストデータを受信する。コンテクストデータは、ユーザ105が現在関与している活動の少なく幾つかの態様を示す。中央サーバシステム130は、次で、適切なコンテクストに関連するメタデータ190を検索することができる。例えば、活動が、イベントまたはコンテンツを見ることに関係している場合、クライアントデバイス110は、イベント識別子またはコンテンツ識別子を中央サーバシステムと共有することができる。イベント識別子またはコンテンツ識別子に基づいて、中央サーバシステム130は、イベントまたはコンテンツに対するメタデータを検索することができる。中央サーバシステム130は、次で、検索されたメタデータの一部もしくは全部を、このメタデータに対しGUI114がコントロール118を提示すべきメタデータに基づく要素190と、特定する。ユーザ105は、次いで、コントロール118を使用して、メタデータに基づくある要素190をメッセージ160に挿入することができる。メッセージ160は、作成されると、多様な手段により、ユーザ105によって指定された1つ以上の他のユーザ106にリレーさせることができる。例えば、図示されるように、クライアントデバイス110は中央サーバシステム130にメッセージ160を転送する。そして、それはその次に指定された一人以上の他のユーザ106にメッセージ160を転送する。一実施態様では、中央サーバシステム130は、更に、ユーザ105によって選択されたフレーズに対し更新された人気度データまたはコンテクストのデータを含む、データリポジトリ134に含める付加情報に対するメッセージ160、およびユーザ105および/または他のユーザ106によって、続くメッセージ作成インターフェース内の要素として使用される新規なフレーズ165を取り出すことができる。図1は、本願明細書において記述される技術を実施することができるシステムの一具体例である。本願明細書において記述される技術を実施することができる他のシステムは、構成が異なるより多くのまたはより少い構成要素を含むことができる。代替構成の具体例は、本明細書全体にわたって論じられている。また、構成要素間への作業の分担は、実施態様ごとに異ならせることができる。例えば、中央サーバシステム130とコンテンツプロバイダ140によって実行されるものとして記述されている機能の一部もしくは全部は、データリポジトリ134のローカルバージョンに基づいてクライアントデバイス110によって実行させることもできる。単純化のために、本願明細書全体にわたって挙げられる多くの具体例は、ユーザが、コンテンツプロバイダ140からのビデオコンテンツについての、中央サーバシステム130によって提供される情報にアクセスする娯楽デバイスとして、少なくとも部分的に機能する、クライアントデバイス100によって提供されるGUI114のような、メッセージングインターフェースについて記述されるであろう。しかしながら、このような条件の下で記述される技術は、いかなるクライアントデバイスによって提供されるいかなるメッセージングインターフェースにも、等しく適用することができる。3.0機能の概要図2は、メッセージングインターフェースによりメッセージを作成するためのプロセスの具体例を示すフロー図200である。ブロック210で、クライアントデバイス110のようなクライアントデバイスが、メッセージを作成すると言うユーザによるリクエストを示す入力を受信する。入力は、例えば、入力メカニズム112のような入力メカニズムのボタンにより、受信することができる。また、別の具体例では、入力は、ユーザが、スクリーン上のインターフェースをナビゲートしかつメッセージの作成に関連するインターフェースコントロールを選択することにより、受信することもできる。このようなボタンまたはコントロールは、例えば、封筒アイコン、インスタントメッセージングアイコン、TXT、IM、Twitter、フェイスブック、電子メール等によりテキストをラベル付けすることができる。ブロック220で、クライアントデバイスは、中央サーバシステム130のようなサーバから、広く使用されるフレーズをリストするデータを受信する。広く使用されるフレーズのリストは、他のユーザによって以前にサーバに送信されたメッセージを少なくとも部分的に使用することに基づいて、作成することができる。広く使用されるフレーズのリストを作成する技術の具体例は、以下のセクション5.3と本明細書の他のセクションにおいて論じられる。一実施態様では、リストは、ブロック210の入力に応答して検索される。一実施態様では、クライアントデバイスは、メッセージを作成すると言うユーザによるあるリクエストのみに応答して、リストを検索する。例えば、ユーザがメッセージを作成する10回目のリクエストごとに、またはユーザが最後にメッセージを作成してから一定時間が経過した場合にのみ、クライアントデバイスは、新規なリストを更新することができる。一実施態様では、クライアントデバイスは、周期的に例えば、毎時または毎日、新規なリストを検索しまたは受信する。クライアントデバイスがブロック210の入力に応答して新規なリストを検索しない場合には、クライアントデバイスは、以前に検索されたリストを再使用する。しかしながら、クライアントは、クライアントデバイスに知られているコンテクストデータと使用傾向に基づいて、再使用されたリストを再順序付けしまたはフィルタリングすることができる。一実施態様では、クライアントデバイスは、受信された各リストを、広く使用されるフレーズのローカルデータリポジトリに追加する。クライアントデバイスは、更に、クライアントが、ローカルリポジトリからのフレーズを選択し、フィルタリングし、かつ並び替えることに基づいて、このステップの一部として、更新された使用履歴データを受信することができる。ブロック230で、クライアントデバイスは、中央サーバシステム130に属するサーバのようなサーバ、コンテンツプロバイダ140、イベント主催者、コンテンツプロデューサおよび/またはコンテンツディストリビュータから、1つ以上の活動に関連する、コンテクストに依存するメタデータを受信する。これらの1つ以上の活動は、ユーザが現在関与している1つ以上の活動、またはユーザが、メッセージ作成インターフェースを使用している間またはメッセージ作成インターフェースを使用する直前に、情報にアクセスしようとしている1つ以上の活動である。クライアントデバイスによって受信されたメタデータは、例えば、以下のセクション5.4においておよび本願明細書全体に記載されているメタデータを含むことができる。一実施態様では、メタデータは、ブロック210の入力に応答して受信される。クライアントデバイスは、コンテクスト情報を、1つ以上の活動のイベントまたはコンテンツ識別子のような1つ以上の態様を示すサーバに送信する。クライアントデバイスは、後述のセクション5.1と本明細書の他のセクションにおいて論じられているような様々な手段によって、これらの活動を知ることができる。一実施態様では、クライアントデバイスは、ユーザが関与しているいかなる活動も、全く知らなくても良い。この場合、サーバは、本願明細書において記述されているような技術に基づいて、適切なコンテクストを知るまたは学習することができる。このような実施態様では、クライアントデバイスは、すでにサーバが知っている1つ以上の活動に対するメタデータを提供することをサーバにリクエストするのみで良い。一実施態様では、クライアントデバイスは、ブロック210の入力の前の、電子番組ガイドのような1つ以上の活動に関連させることができるメタデータを受信する。クライアントデバイスは、次で、1つ以上のメタデータリポジトリにメタデータをローカルに格納する。クライアントデバイスは、次で、ブロック210の入力に応答して、適切ないかなるコンテクストに対するメタデータについてもローカル格納デバイスを検索することができる。クライアントデバイスは、更に、使用尤度によってメタデータを順序付けるために、メタデータの一部もしくは全部に関連する人気度データを受信することができる。ブロック240で、クライアントデバイスは、GUI114のようなメッセージ作成インターフェースを、出力デバイス116のような表示デバイスに生成する。メッセージ作成インターフェースは、コントロール118のような、ユーザが選択可能な複数のコントロールを備え、各コントロールは、メッセージに挿入することができる種々の要素または構成ブロックに対応している。コントロールの少なくともいくつかは、広く使用されるフレーズ、および/またはブロック230および240で受信されるメタデータに対応する。他のコントロールは、標準のASCII文字と、定型メッセージとアイコンを含む、ユーザまたは製造業者によって選択された予め設定された要素とに対応させることができる。コントロールは、いかなる形状、サイズおよび/または配置とすることができ、かつ、更に、コントロールが対応する要素を示すテキストラベルまたはグラフィックラベルを備えることができる。コントロールとインターフェースのいくつかの具体例は、以下のセクション4.0に記載されている。ブロック250で、クライアントデバイスは、メッセージに追加することができる要素に対応するコントロールをユーザが選択したことを示す入力を受信する。この入力に応答して、クライアントデバイスは、選択されたコントロールに対応する要素を、作成されつつあるメッセージに追加する。ユーザは、ユーザが利用できる入力メカニズムに基づいて、様々な手段を使用してコントロールを選択することができる。例えば、ある入力メカニズムは、ユーザが、通常のポイントクリックまたはタッチスクリーン技術を使用してコントロールを選択することを可能にする。別の具体例では、入力メカニズムが従来のリモコンである場合には、クライアントデバイスは、あるコントロールが関心の対象であることを示すためにそのコントロールを強調表示することができる。ユーザは、矢印ボタンまたは数字ボタンのようなリモコンでのボタンを利用して、関心の対象であるコントロールを変更することによってインターフェースをナビゲートすることができる。所望のコントロールが関心の対象になると、ユーザは、エンタボタンまたはOKボタンのようなリモコンの予め規定されているボタンを押して、所望のコントロールの選択を示すクライアントデバイスに入力を送信することができる。ブロック260で、クライアントデバイスは、ユーザがメッセージの一人以上の受信者を選択したことを示す入力を受信する。このような入力は、例えば、受信者アドレスに対応するメッセージングインターフェース内の1つ以上のコントロールを選択することを備えることができる。例えば、クライアントデバイスは、ユーザが通常メッセージを送信する受信者のアドレス、ユーザの友人リストのユーザのアドレス、および/またはユーザが属するソーシャルネットワークのユーザのアドレスに対応するメッセージングインターフェースコントロールを含むことができる。クライアントデバイスは、事前に、ユーザからこれらのアドレスを収集しておくことができ、および/または中央サーバシステム130またはユーザが属するソーシャルネットワークのサーバのようなサーバから、これらのアドレスをダウンロードしておくこともできる。ブロック260の入力は、これに加えてまたはこれに代えて、前述したような手段を使用して、Toコントロールを選択し、次に、受信者のアドレスの英数字に対応するコントロールを選択することを備えることができる。インターフェースは、toコントロールの選択に応答して、ツイッタ、フェイスブック、Gメール等のような種々のメッセージサービスのリストをユーザに提示することにより、受信者のアドレスを生成するプロセスを合理化するウィザードを含むことができる。これにより、ユーザは、ユーザ名を入力しかつ適切なサービスを選択することによって、受信者のアドレスを作成することができる。一実施態様では、メッセージ作成インターフェースは、クライアントデバイスが、このようにして作成されたメッセージと予定受信者の1つまたは両方を表示する、1つまたは複数のフィールドを含む。このようにして、ブロック250および260が実行されると、クライアントデバイスは、選択された要素と受信者を含むようにフィールドを更新することができる。しかしながら、メッセージングインターフェースは、必ずしもこのようなフィールドを表示する必要はない。ブロック250および260を何度も繰返すことにより、ユーザが、複数の要素を備えるメッセージを作成することを可能にすることもできる。ブロック250および260の繰返しは、ブロック270が発生するまで、いつでも行うことができる。ブロック270で、クライアントデバイスは、ユーザがメッセージを終了させたことを示す端末入力を受信する。この入力は、更に、クライアントデバイスが、メッセージを特定された受信者に送信することをリクエストする。この入力は、例えば、メッセージ作成インターフェース内のOKコントロールの選択、または入力メカニズムの送信ボタンの選択のような多くの形態をとることができる。ブロック280で、クライアントデバイスは、作成されたメッセージを指定された受信者に送信させる。クライアントデバイスは、メッセージと受信者のリストをブロック220のサーバにリレーすること、および予定受信者の各々にメッセージを直接送信することを含む、数多くの方法でこのステップを実行することができる。ブロック290で、ブロック220のサーバは、フレーズに対して送信されたメッセージを利用して、新規なフレーズを見いだし、そのフレーズリポジトリにそれを追加し、そしてすでにそのリポジトリ単数および複数に存在するフレーズとメタデータに対する人気度スコアを調整する。送信されたメッセージがサーバにリレーされなかった実施態様では、クライアントデバイスは、送信されたメッセージをサーバに報告することができる。フロー200は、本願明細書において記述される技術の実施態様の一具体例を示す。他の実施態様は、種々の順序で、より多くのまたはより少ないステップを含むことができる。例えば、クライアントデバイスは、ブロック220またはブロック230を省略して、広く使用されるフレーズまたは活動に関連しているメタデータのみを含むインターフェースを提供することができる。別の具体例では、ブロック220および/または230は、ブロック210の入力の前、またはステップ250または260の入力の後に、実行することができる。別の具体例では、ブロック260は、ブロック220250に関連させていつでも実行することができる。4.0インターフェースの具体例4.1ワードに基づく要素およびアイコンに基づく要素を有するインターフェースの具体例図3Aは、一実施態様のメッセージングインターフェース300の一具体例のサンプル図である。メッセージングインターフェース300は、クライアントデバイス110が、メッセージ160を作成するためにGUI114を実行することができる多くの可能な技術の1つを示す。他のメッセージングインターフェースは、様々な配置で構成されているより多くのまたはより少ないコントロールとフィールドを含むことができる。メッセージングインターフェース300は、複数の選択可能なコントロール311314、318319、321324、328329、331334、338339、341344、348349、379、381、382および391394を備える。ユーザは、タッチスクリーンによる入力、ポイントクリックによる入力、指定されたコントロールに既にマップされているボタンによる入力等を含む、様々な選択技術の何れかを使用して、これらのコントロールを選択することができるが、選択はこれらに限定されるものではない。このような技術の1つは、以下のセクション4.3に記述されている。メッセージングインターフェース300は、更に、メッセージを作成するための構成ブロックフォーム301を備える。構成ブロックフォーム301は、各々が、メッセージに追加することができる種々の要素を表すコントロール311314、321324および331334を備える。構成ブロックフォーム301のコントロールの各々は、例えば、テキストまたはそれに対応する要素の映像を視覚的に示すことにより表示される。例えば、コントロール313には、今夜と言うテキストがラベル付けされていて、これによって、コントロール313が今夜と言うワードを表すことが示される。別の具体例では、コントロール331には、ハートに似ているグラフィックがラベル付けされている。したがって、コントロール331は、例えば、ハートアイコン、ロマンチックスマイリまたは愛のような語さえ表すことができる。コントロール311314、321324および331334は、3つの異なるコントロール群310、320および330にグループ分けされる。各コントロール群は、メッセージに挿入することができる種々のタイプの要素を表す。コントロール群310は、名詞要素の代表的なコントロールを含む。コントロール群320は、動詞要素の代表的なコントロールを含む。コントロール群330は、アイコン要素の代表的なコントロールを含む。一実施態様では、コントロール311314、321324および331334は、クライアントデバイス110の1つ以上のデータソースにローカルに格納されている要素を表す。各要素は、その要素のタイプを示すデータと共に格納されている。コントロール311314、321324および331334は、事前に定義された要素および/またはユーザが定義した要素を表すことができる。一実施態様では、これに代えて、コントロール311314、321324および331334のいくつか又は全部は、本願明細書において記述される技術を使用して既に収集されているフレーズおよび/またはメタデータのリポジトリから選択される。ユーザがコントロール311314、321324および331334の内の特定の1つを選択すると、ユーザは、この特定のコントロールに対応する要素を彼または彼女が選択したことを示す。この選択に基づいて、対応する要素を、作成されつつあるメッセージに追加することができる。メッセージングインターフェース300は、更に、それが作成されつつある際にユーザにメッセージのコンテンツを示すためのメッセージ表示フィールド370を備える。ユーザがコントロール311314、321324および331334を選択すると、これに対応する、表された要素が、メッセージ表示フィールド370に追加される。メッセージ表示フィールド370は、更に、以下のセクション44において記述される。メッセージングインターフェース300は、さらに、受信者ブロックフォーム340と受信者表示フィールド380とを備えている。受信者ブロックフォーム340は、それぞれが、種々の潜在的な受信者または受信者のグループを表すコントロール341344を備える。潜在的な受信者または表されている受信者のグループは、コンタクトデータベースから選択することができる。このコンタクトデータベースは、クライアントデバイス110にローカルにまたは他のいかなる適切な位置にも格納することができる。コンタクトデータベースは、ユーザによる直接入力、ユーザが送信した以前のメッセージからの受信者の収集および/または電子メールサービスまたはソーシャルネットワークからのインポートのような、様々な手段の何れかを使用して、編集することができる。ユーザは、いつでも、1つ以上のコントロール341344を選択することができる。応答において、選択されたコントロールによって表された受信者は、予定受信者のリストに追加される。予定受信者のこのリストは、受信者表示フィールド380を介してユーザに表示される。一実施態様では、ユーザは、受信者表示フィールド380を選択することができる。この選択に応答して、ユーザには、受信者を削除するおよび/または受信者のアドレスを手動で入力するためのメカニズムを提供することができる。ユーザがメッセージを完了させると、ユーザは、このメッセージが完全であることを示す送信コントロール382を選択することができる。送信コントロール382の選択を示す入力を受信すると、即座に、クライアントデバイス110は、作成されたメッセージを選択された受信者に送信させるいかなる適切なアクションもとることができる。これに代えて、ユーザが、作成されたメッセージを送信しないと決定した場合には、ユーザは、取消コントロール381を選択することができる。4.2インターフェースコントロールのスクローリングモード/入力モードのスイッチング一実施態様では、何時でも、表示されたインターフェースで利用可能なコントロールの内、一部しか表示デバイスでは見えないであろう。例えば、図3Aに示されるように、インターフェース300は、限定された数の構成ブロックコントロール311314、321324及び331334並びに受信者ブロックコントロール341344しか、ユーザに表示しない。しかしながら、より多くの要素または受信者を、選択のために利用することが可能である。インターフェースの簡略化のために、インターフェース300は、何時でも、利用可能なメッセージ要素と受信者の一部に対してしかコントロールを表示していない。残りの要素と受信者のためのコントロールは、表示されていない。従って、インターフェース300は、隠れたコントロールを動的に循環表示するように構成されている。例えば、コントロール318319、328329、338339および348349を、それぞれ、スクローリングして、コントロール群310、コントロール群320、コントロール群330および受信者ブロックフォーム340に対し、新規なコントロールを循環表示させることができる。コントロールは、使用頻度、ランダム状態および予測された有用性に基づく順序を含む任意の順序に従って、循環表示させることができる。インターフェース300内で最初に表示されるコントロールは、これらおよび他のファクタに基づいて選択することもできるし、または、当初のコントロールを、インターフェース300の直前のインスタンス作成の間、最後に表示されたコントロールに対応させることもできる。さらに、インターフェース300は、コントロール391394を順番に備えるモードスイッチングフォーム390を備える。コントロール391394は、各々、インターフェース300に対する種々の入力モードを表す。各入力モードに対し、インターフェース300は、種々のタイプ、配置および/またはコントロールの数を提示する。例えば、コントロール391は、インターフェース300が、作成されたメッセージを選択しかつ作成されたメッセージへの挿入のためのキーボードのようなコントロールを提供する英数字入力モードを表す。現在の入力モードを表すコントロールは、強調表示することができる。したがって、図3Aに図示されているように、インターフェース300は、そのモードがコントロール392によって強調表示されているワード単語モードで作動している。便宜のために、インターフェース300とのユーザ対話処理によって、インターフェース300内に表示させることができるいかなるコントロールも、例え、そのコントロールが、ユーザに必ずしも表示されていなくても、本願明細書においては、インターフェース300の一部分であり、またはインターフェース300に含まれているものとされる。コントロールを表示させる適切なユーザ対話処理は、上述したような、スクローリング、モードスイッチングまたはこれらと同様なコントロールの選択を含む、いかなる適切なユーザ入力も含むことができる。4.3コントロールを選択するための技術の具体例一実施態様によれば、ユーザは、コントロールを関心の対象にし、その後、現在関心の対象となっているコントロールの選択を示す入力が続くナビゲーション入力により、インターフェース300内のコントロールの一部もしくは全部を選択することができる。何時でも、選択可能な複数のコントロールの1つが、強調表示される、つまり関心の対象にされる。例えば、図3Aに図示されるように、コントロール313が、関心の対象になっている。一実施態様では、関心の対象になっているコントロールは、他のコントロールとは異なる態様で表示することができ、これにより、このコントロールが関心の対象になっていることがユーザに示される。例えば、コントロール313は、ボールドの文字とボールドの境界線によって表示されている。しかしながら、他の実施態様では、色の変化、形状の変化および/または発光効果のような、任意の適切な視覚的効果を使用して、コントロールが、関心の対象であることを示すことができる。特定のコントロールが関心の対象である間に、ユーザは、指定された入力を提出することによって、強調表示されたコントロールを選択したことを示すことができる。例えば、ユーザは、エンタ、OKまたはこれらと同様なボタンを押すことができる。この入力に応答して、強調表示されたコントロールによって表される要素が、メッセージに追加される。4.4メッセージ表示フィールドの具体例図3Aにおいて表されるように、メッセージ表示フィールド370は、それぞれが、既に追加されているまたはメッセージに追加することができる要素に対応するブロック371375に再分割される。しかしながら、メッセージ表示フィールド370は、必ずしも、再分割する必要はない。一実施態様では、メッセージ表示フィールド370のブロックの数は、予め固定されている。一実施態様では、ユーザが、メッセージに追加する要素を選択する時はいつでも、新規なブロックが、メッセージ表示フィールド370に追加される。一実施態様では、ブロックは、コントロール379の選択により、動的にメッセージ表示フィールド370に追加することができる。一実施態様では、次に選択される要素が挿入されるべきブロックは、関心の対象として表示される。例えば、ブロック374は、関心の対象であることを示すために強調表示されている。一実施態様では、任意の適切なコントロール選択の技術を使用して異なるブロックを選択することによって、ユーザは、どのブロックが関心の対象であるかを変化させることができる。このようにして、現在割り当てられた要素を有するブロックを、上書きすることができる。メッセージが、メッセージ表示フィールド370に対し大き過ぎる場合には、ある要素は、フィールド370から隠すことができる。一実施態様では、インターフェース300は、ユーザが隠れた要素を見ることを可能にするコントロールを更に含むことができる。一実施態様では、隠された要素は、メッセージ表示フィールド370が関心の対象である間に、ユーザによって提出されたナビゲーション入力に応答する、またはティカ効果を与えるような時間の経過に応答するの何れかにより、自動的に、見えるようにすることができる。4.5フレーズに基づく要素を有するインターフェースの具体例図3Bは、一実施態様による、メッセージングインターフェース300の具体例の別のサンプル図である。図3Bは、ほとんど、図3Aと類似しているが、インターフェース300が、強調表示された入力モードコントロール393によって示されるフレーズ入力モードで作動する点が相違している。図3Bに表されるように、インターフェース300の構成ブロックフォーム301は、フレーズ要素のタイプに対応するコントロール群350を備える。コントロール群350は、それぞれが、作成されつつあるメッセージに挿入することができる種々のフレーズ要素を表す、コントロール351357を備える。コントロール353は、関心の対象となっている。コントロール351357は、以下の要素、1予め規定された定型フレーズ、2ユーザ定義の定型フレーズ、3コンテクストに依存するメタデータから導出されたフレーズ、および4以前のメッセージから学習されたフレーズ、のいずれの組合せも表すことができる。これらの要素の各々は、ローカルなデータリポジトリまたは中央サーバシステムから検索することができる。コントロール351355および357には、それらのそれぞれに表されているフレーズの全テキストがラベル付けされている。しかしながら、コントロール356によって表されているように長いフレーズに対しては、コントロールには、フレーズのテキストの一部しかラベル付けされていない。一実施態様では、コントロール356のテキストラベルは、経時的な自動スクロールにより、ユーザが全フレーズを読むことを可能にする。自動スクローリングは、常に、発生させることもできるが、コントロール356が関心の対象になった場合のみ、発生させることもできる。コントロール群350は、更に、フィルタリングコントロール306309を備えるフィルタリングフォーム305を備える。フィルタリングフォーム305は、ユーザが、構成ブロックフォーム301内に含まれるフレーズの種々のカテゴリを選択することを可能にする。フィルタリングコントロール306が選択されていると、例えば、構成ブロックフォーム301は、ユーザが送信するメッセージ、またはユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。フィルタリングコントロール307が選択されていると、構成ブロックフォーム301は、ユーザの友人であると既に特定されているユーザが送信するメッセージ、またはそのようなユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。フィルタリングコントロール308が選択されていると、構成ブロックフォーム301は、ユーザが現在関与している活動のファンまたはユーザが現在視聴しているコンテンツのファンであると既に特定されているユーザが送信するメッセージ、またはそのようなユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。フィルタリングコントロール309が選択されていると、構成ブロックフォーム301は、ユーザがメッセージをリレイする中央サーバシステムの全てのユーザが送信するメッセージ、またはそのようなユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。一実施態様では、上記のフィルタリング条件の一部または全部は、更に、ユーザが現在関与しているある活動のコンテクストに、フレーズを限定させる、またはフレーズの優先順位をそのコンテクストに関係付けることができる。例えば、ユーザは、あるテレビ番組を見続けることができる。他のユーザが、このテレビ番組を見ていた間に、このテレビ番組から有名な引用を含んだメッセージをすでに送信していたとする。これらの引用は、それらのメッセージから自動的に収集することができ、そしてインターフェース300内の要素として利用することができる。これらの引用には、活動のコンテクスト以外で使用されるフレーズから収集された他のフレーズに対し、優先度を与えることができるし、また、これらの引用を排他的に選択することさえできる。このようなコンテクストに基づく限定または優先順位は、暗黙的にすることができ、または1つ以上の付加されたコントロールにより選択することができることに注意されたい。いくつかの実施態様では、フィルタリングフォーム305は、より多くのまたはより少ないフィルタリングコントロールを備えているが、他の実施態様では、フィルタリングフォーム305がインターフェース300には全く存在しない。コントロール群350は、更に、隠れているコントロールをスクローリングするための上述したセクション4.2において論じられたスクローリングコントロールのようなコントロール358359を備えている。図3Aと図3Bが更に相違する点は、ブロック374が、もはや強調表示されていないが、テキスト必見を含む点と、ブロック375が、強調表示されている点である。これらの変化は、例えば、ブロック374が強調表示されている間に、ユーザがコントロール353を選択する結果により生じる。この選択に応答して、クライアントデバイス110は、ブロック374の位置のメッセージにフレーズ要素必見必見必見MustSeeMustSeeMustSeeを追加することができる。ブロック374内に表示されるテキストは、サイズが制限されているために略記されていることが、注記される。一実施態様では、このテキストは、要素のテキスト全体を現すために、周期的にスクロールさせることができる。更に、ブロック374が強調表示されている間にコントロール353が選択されると、クライアントデバイスは、自動的に、メッセージ表示フィールド390の関心の対象を次の空のブロックこの場合ブロック375にシフトすることができる。4.6メタデータに基づく要素を有するインターフェースの具体例図3Cは、一実施態様による、メッセージングインターフェース300の具体例の別のサンプル図である。図3Cは、大部分、図3Aと類似している。しかしながら、インターフェース300は、強調表示された入力モードコントロール394によって示されるように、メタデータ入力モードで作動するように描かれている。図3Cに図示されているように、インターフェース300の構成ブロックフォーム301は、メタデータ要素タイプに対応するコントロール群360を備える。コントロール群360は、選択可能なコントロール361367を備え、各コントロールは、作成されつつあるメッセージに挿入することができる種々のメタデータ要素を表す。現在、コントロール363が、関心の対象になっている。コントロール361367は、ユーザが現在関与している活動に関連しているいかなるメタデータ要素も表すことができる。メタデータは、活動のいかなる態様にも関係させることができる。例えば、図3Cの活動は、あるテレビ番組の一エピソードに関係するものである。メタデータ要素の他の具体例は、セクション5.4に記述されている。一実施態様では、メタデータ要素の一部もしくは全部は、コンテンツまたはメタデータプロバイダによって提供される情報を収容するローカルなデータリポジトリから選択される。例えば、クライアントデバイス110は、コンテンツプロバイダおよび/またはシステム130のような中央サーバシステムによって提供されるデータが取込まれている電子番組ガイドから、メタデータ要素を選択することができる。一実施態様では、活動に関与している間に、ユーザがインターフェース300を開始すると、クライアントデバイス110は、この活動に関連するメタデータ要素の一部もしくは全部を、コンテンツプロバイダまたはメタデータプロバイダに自動的にリクエストする。図3Aおよび3Bと同様に、インターフェース300は、少数の利用できるメタデータ要素のコントロールしか表示しない。コントロール368および369は、他のメタデータ要素のためのコントロールのスクロールに使用することができる。一実施態様では、インターフェース300は、コントロール366および367のような非テキスト要素を表すコントロールを、多くの技術を使用して、拡張することができる。例えば、ユーザが、コントロール366のような画像を表すコントロールを関心の対象にすると、インターフェース300は、一時的に画像を拡大することができる。または、コントロール366に画像のトリミングされたバージョンがラベル付けされている場合には、インターフェース300は、ユーザがコントロール366を関心の対象にすると、拡大形式の全画像を表示することができる。別の具体例では、ユーザが、コントロール367のようなオーディオまたはビデオ要素を表すコントロールを関心の対象にすると、インターフェース300は、オーディオまたはビデオ要素を再生することができる。例えば、コントロール367は、ユーザがコントロール367を強調表示すると、インターフェース300が再生することができる、テレビジョンエピソードのビデオプレビューまたは要約を表すことができる。図3Bと図3Cの更なる相違点は、受信者ブロック340のコントロール341343の代わりに、新規なコントロール345347が含まれている点である。コントロール345は、FAMILYとラベル付けされている受信者のユーザ定義のグループに対応する要素を表す。コントロール346は、Twitterとラベル付けされている一群の受信者に対応する要素を表す。例えば、このコントロールの選択は、ユーザが、作成されたメッセージを彼または彼女のTwitterアカウント登録した受信者のグループがこのアカウントにアクセスすることができるに送信することを望むことを示すことができる。コントロール347は、FANSとラベル付けされている一群の受信者に対応する要素を表す。例えば、このコントロールの選択は、ユーザが、作成されたメッセージを、検索されたメタデータ要素が記述するテレビ番組のファンであることを既に示している他のユーザに、送信したいことを示すことができる。4.7番組ガイドが集積されたインターフェースの具体例図4は、一実施態様による、番組ガイドが集積されたメッセージ作成インターフェース400の一具体例である。メッセージングインターフェース400は、クライアントデバイス110がメッセージ160を作成するためのGUI114を実行することができる多くの可能な技術の1つを示す。他のメッセージングインターフェースは、様々な配置で編成されるより多くのまたはより少ないコントロールとフィールドを含むことができる。メッセージングインターフェース400は、ユーザがメッセージを作成することを援助するために、情報パネル460を備える。情報パネル460は、イベントこの場合、テレビジョンシリーズのエピソードに関する情報を表示する。ユーザは、即座に、この情報の何れかを指定しかつ作成されたメッセージにそれを追加することができる。一実施態様では、情報パネル460は、インターフェース400内に常に現れている。一実施態様では、情報パネル460は、デフォルトでは、この開示全体にわたって記述される他のコントロールのためのスペースを作るために、インターフェース400から隠されている。しかしながら、このような実施態様でも、情報パネル460は、例えば、インターフェース400内のインターフェースコントロールまたは入力メカニズム112のガイドボタンを選択することにより、いつでも、出現させることができる情報パネル460は、多くのコントロールとフィールド461469を備えている。コントロール461は、テレビジョンシリーズの名前に対応するメタデータ要素を表す。コントロール462は、エピソードの題名に対応するメタデータ要素を表す。コントロール463aおよび463bは、テレビジョンシリーズの出演者に対応するメタデータ要素を表す。コントロール464は、エピソードの放送日と時間に対応するメタデータ要素を表す。コントロール465は、エピソードが放送されるであろうチャンネル番号に対応するメタデータ要素を表す。コントロール466は、エピソードが放送されであろう放送局ネットワークの名前に対応するメタデータ要素を表す。ユーザが、コントロール461、462、463a、463b、464、465および466の内の何れかを選択すると、インターフェース400は、それぞれに表されている要素を作成されたメッセージに追加する。フィールド467は、エピソードの記述を含む。この記述のさまざまな要素には、下線が引かれ、下線が引かれた部分それ自体が、選択可能なコントロールであることが示される。例えば、ユーザは、この記述からJim、Pam、Michael、kayakinglessons、Dwight、revolt、ScrantonBranchまたはfoiledの要素の何れかをメッセージに選択することができる。クライアントデバイス110は、フィールド467内のこれらの要素を様々な理由から選択可能となるように決めておくこともできる。例えば、メタデータ自体は、この記述内で上に列挙された要素が、強調表示されなければならないことを示すマークアップを含むことができる。別の具体例では、クライアントデバイス110または中央サーバシステム130は、テキストの記述において強調表示されなければならない用語の、1つ以上のグローバルなまたはコンテクストに依存するデータベースを含むことができる。このようなデータベースは、静的とすることもできるし、またはユーザによって送信されるメッセージの分析に基づいて時間と共に変化させることもできる。さらにもう1つの具体例では、クライアントデバイス110は、重要なマーカを特定するために、テキストの記述を文法的、意味論的、および/または構文的に分析するロジックを含むことができる。いくつかの実施態様では、フィールド467は、それ自体が選択可能なコントロールである。このような実施態様では、フィールド467の選択に応答して、記述の全てを、メッセージに挿入することができる。コントロール463cおよび467aは、それぞれ、ユーザが、追加の出演者と記述のテキストをスクロールすることを可能にする。コントロール469は、ユーザが、同じチャンネルで隣接する時間帯の別のテレビ番組を探すことを可能にする。コントロール468は、ユーザが、他のチャンネルで同じ時間帯の別のテレビ番組を探すことを可能にする。情報パネル460は、他のイベントを探すためにより多くのまたはより少ないコントロールを含むことができる。さらに、図4において表される情報とコントロールのタイプは、単に、多くの情報のタイプと、情報パネル460に含むことができる選択可能な多くのコントロールのタイプとを、例示的に図示したものに過ぎない。一実施態様では、例えば、情報パネル460は、示された番組を見ている間に、他のユーザによって広く使用されるフレーズを表すコントロールを含むことができる。インターフェース400は、英数字のコントロールフォーム410を備え、これによりユーザは、メッセージに挿入する英数字の文字を選択することができる。一実施態様では、各英数字の文字は、メッセージの別々の要素とみなされる。一実施態様では、逐次的に選択された英数字の文字は、メッセージから収集されかつその後フレーズに基づくコントロールの根拠として利用することができる1つの要素として、グループ化される。インターフェース400は、更に、図3A~3Cのモードスイッチングフォーム390と類似のモードスイッチングフォーム490を備えている。モードスイッチングフォームは、それぞれが、インターフェース400に対し種々の入力モードを表すコントロール491494を備える。各入力モードに対し、インターフェース400は、コントロールの種々のタイプ、配置および/または数を提示する。例えば、強調表示されたコントロール491は、インターフェース400が、キーボードのような英数字コントロールフォーム410を提示する英数字入力モードを表す。他のコントロール492494に対応する他のモードでは、英数字コントロールフォーム410が、それぞれ、メッセージにアイコンを挿入するためのフォーム、他のユーザから収集されたスラングのフレーズを挿入するためのフォーム、および受信者を選択するためのフォームによって、置換される。モードは、付加することも可能である。インターフェース400は、更に、受信者表示フィールド380と類似の受信者表示フィールド480、送信コントロール382に類似の送信コントロール482、キャンセルコントロール381に類似のキャンセルコントロール481、および図3A~3Cのメッセージ表示フィールド370と類似のメッセージ表示フィールド470を、備える。メッセージ表示フィールド470は、また、メッセージに挿入するためにユーザによって選択された要素に対応するブロック471476を備える。5.0実施の詳細の具体例5.1コンテクストの認識一実施態様では、クライアントデバイス110と中央サーバシステム130の1つまたは両方は、メッセージングインターフェース114が使用されつつあるコンテクストを識別する様々な技術の何れかを用いる。このコンテクストに基づいて、インターフェースは、コンテクストに基づくメタデータ要素に対するコントロールを含むようにカスタマイズさせることができる。さらに、またはこれに代えて、コントロールは、コンテクストに基づいて順位付けし、これによりコンテクスト内で最も役立つと思われるフレーズが、最小のスクローリングによってまたはスクローリングなしに現れるようにすることができる。一実施態様では、コンテクストは、ユーザがインターフェースへのアクセスをリクエストした時にユーザが関与している1つ以上の活動を決定することによって、特定される。これらの活動が決定されると、これらの活動の様々な態様の何れかが、前述したように、インターフェース制御のためのメタデータを生成することができる。加えて、またはこれに代えて、活動の様々な態様の何れかを記述するデータは、どのフレーズが、現在のコンテクストに最も関連しているかを決定するために使用される広く使用されるフレーズに対して収集された使用履歴データと、比較することができる。一実施態様では、中央サーバシステム130のコンテクスト認識は、クライアントデバイス110でのコンテクスト認識によって容易になる。クライアントデバイス110が、その活動において有用であると言う理由のみで、クライアントデバイス110は、ユーザが関与している活動の少なくいくつの態様を知ることになる。例えば、クライアントデバイスが媒体デバイスまたは娯楽デバイスである場合には、この活動は、クライアントデバイス110それ自体によりあるコンテンツに関する情報を見ることまたはそれにアクセスすることに、関係付けることができる。クライアントデバイス110は、そのコンテンツを特定する情報を、中央サーバシステム130にリレーすることができる。中央サーバシステム130は、次で、このコンテンツを特定する情報を使用して、適切なメタデータを検索し、および/またはクライアントデバイス110に戻すためにフレーズを順位付けすることができる。同じトークンによって、クライアントデバイス110が、コンテンツを特定する情報をすでに認識している場合には、クライアントデバイス110は、それ自体で、その情報を利用して、適切なメタデータを検索し、および/またはローカルデータリポジトリ内のフレーズを順位付けすることができる。クライアントデバイス110は、コンテンツプロバイダ140または中央サーバシステム130から周期的に受信されるメタデータおよび/またはフレーズを、このローカルデータリポジトリから検索することができる。さらにまた、ローカルデータリポジトリへのメタデータおよび/またはフレーズの各エントリは、コンテンツ識別子または活動識別子のようなコンテクストデータに関連させて、格納させることができる。フレーズの場合、例えば、コンテクストデータは、各フレーズの使用頻度を複数のコンテクスト識別子の各々に関連付けることができる。クライアントデバイス110は、この格納されたコンテクストデータを使用して、メタデータとフレーズのそれによる選択と順位付けを容易にすることができる。一実施態様では、ユーザ105が、活動に関与するまたは活動に関する情報にアクセスするクライアントデバイス110を明示的に使用することなく、クライアントデバイス110は、活動を認識する。例えば、クライアントデバイス110は、タッチスクリーンコントロールパネルまたはスマートフォンとすることができる。クライアントデバイス110は、ブルートゥース、WiFiまたは類似の技術により、デジタルビデオレコーダのような別のデバイスから現在の活動を示す情報を検索することができる。または、別の具体例では、クライアントデバイス110は、ユーザ入力、カレンダアイテム、センサおよび/またはデータベース内の適切な活動を検索する位置サービスからのデータを、使用することができる。これに代えて、クライアントデバイス110は、中央サーバシステム130に依存して、それ自身についての活動を決定することができる。例えば、中央サーバシステム130は、オーディオストリームまたはビデオストリームをクライアントデバイス110に送信し続けることができるので、そのストリーム内で共有されているコンテンツを認識することができる。このような一実施態様では、中央サーバシステム130は、クライアントデバイス110からの情報を必要とせずに、メタデータを選択しまたは当該コンテンツに基づいてフレーズを順位付けすることが可能である。実際、このような実施態様では、中央サーバシステム130は、クライアントデバイス110がコンテクスト認識タスクを遂行するために必要であるコンテンツ識別子を、クライアントデバイス110と共有する必要がある。または、中央サーバシステム130には知られている情報を特定するコンテクストを、クライアントデバイス110が完全に認識しない状態にすることもできる。中央サーバシステム130は、前述のデータ、とりわけ、ユーザ入力、カレンダアイテム、センサおよび/または位置サービスから、コンテクストを決定することもできる。5.2メッセージからのフレーズデータの収集一実施態様では、メッセージを送信し、受信しまたはリレーするいかなるデバイスも、フレーズに対するそれらのメッセージを収集し、それらをフレーズリポジトリに追加することができる。フレーズは、メッセージ全体の長さの一部とすることも、メッセージ全体の長さとすることもできる。デバイスは、文法の、意味論の、統語論の、または他の任意の適切な手掛かりを使用して、フレーズを特定するように構成することができる。例えば、デバイスは、各ワードを別々のフレーズとして特定することができる。別の具体例では、デバイスは、あらゆる文節をフレーズと特定することができる。デバイスは、更に、メッセージの同じ部分を、いくつかのフレーズの一部であると特定することができる。例えば、あなたは、それを信じるためには、それを見なければならないYouhavetoseeittobelieveitというフレーズから、デバイスは、とりわけ、以下のフレーズの一部もしくは全部、youhavetoseeitbelieveitseeittobelieveityouhavetoseeitそしてYouhavetoseeittobelieveitを特定することができる。デバイスは、関連するフレーズリポジトリにはまだ存在していない特定された各フレーズについては、この特定されたフレーズをこのリポジトリに加える。一実施態様では、メッセージ内で特定された各フレーズに対し、デバイスは、更に、このフレーズが、フレーズリポジトリに新規であるか否かにかかわらず、フレーズリポジトリに関連する使用履歴を更新することができる。例えば、デバイスは、各フレーズの今までの使用回数を示す使用履歴を保持することができる。一実施態様では、デバイスは、これに加えまたはこれに代えて、フレーズのより最近の使用が、フレーズのより古い使用よりもスコアが高くなるように、回数で重み付けされる人気度スコアを維持することもできる。使用履歴は、更に、上述した技術によって特定される、1つ以上のコンテクスト内での各フレーズの今までの使用回数を示すデータを含むこともできる。これに代えて、別々のフレーズリポジトリを、各コンテクストごとに維持することもできる。一実施態様では、上で記述されるように、フレーズデータを集めるいかなるデバイスも、そのデータのいくつか又はすべてを、メッセージネットワーク内の他のデバイスと共有して、これらのデバイスが、メッセージングインターフェースを作成するためにそれら自身のデータリポジトリを構築することを容易にすることができる。例えば、中央サーバシステム130は、クライアントデバイス110での格納のために、更新されたフレーズデータを周期的に送信することができる。別の具体例では、クライアントデバイス110は、更新されたフレーズデータを、周期的に、中央サーバシステム130および/または他のユーザによって作動されている他のクライアントデバイスと共有することができる。5.3フレーズに基づく要素として包含するためのフレーズの選択クライアントデバイス110または中央サーバ132のようなデバイスが、メッセージングインターフェース内のフレーズに基づく要素としての使用に対して、広く使用されるフレーズのリストを生成する場合には、このデバイスは、ユーザに最も関連すると思われるフレーズが、インターフェース内でより容易に例えば、最小のスクローリングによってアクセス可能となることを確実にするために、フレーズをフィルタリングまたは順位付けすることができる。したがって、ある実施態様では、中央サーバ132は、データリポジトリ134から全てのフレーズを検索することによって、広く使用されるフレーズのリストを生成するのに対し、他の実施態様では、中央サーバ132は、その使用履歴がある基準とマッチするフレーズしか選択しない。例えば、選択は、ある人気度スコア以上のスコアを有するフレーズのみに限定することができる。別の具体例では、選択は、あるコンテクストにおいて使用されたフレーズのみに限定することができる。多数のデータリポジトリを備え、複数のコンテクストの各コンテクスト毎に種々のフレーズリポジトリを有する実施態様では、選択は、現在のコンテクストに関連するリポジトリに現れるフレーズのみに、限定することができる。一実施態様では、選択されたフレーズは、人気度またはコンテクストデータに少なくとも部分的に基づいて順序付けられる。例えば、一群のユーザは、戦術Warcraftと言う名のビデオゲームをプレイする間、フレーズBwrDrgnを備えるメッセージを頻繁に交換するが、このフレーズを他で使用することはまれである。中央サーバシステム130は、上術した技術を使用してこのフレーズを収集し、かつ更にこのフレーズの使用履歴をコンパイルすることができる。ユーザAが、ニュース放送を見る間にメッセージングインターフェースを開始しようとする場合、中央サーバシステム130は、このフレーズの順位付けを非常に低くするか、またはこのフレーズを全く選択しないであろう。したがって、例えこのフレーズを探そうとしても、ユーザAには、多くのスクローリングをした後しか、フレーズBwrDrgnに対応する選択可能なコントロールは提示されないであろう。これに対して、ユーザBが、戦術またはこれに類似のビデオゲームをプレイする間に、メッセージングインターフェースを開始しようとする場合には、中央サーバシステム130は、このフレーズの順位付けを高くするであろう。したがって、ユーザBには、僅かなスクローリングの後で、このフレーズに対応する選択可能なコントロールが提示されるであろう。5.4コンテクストに依存するメタデータ本明細書で記載されるメタデータが、活動のいかなる態様も記述または示すデータまたは他のタイプの情報である場合、メタデータは、活動に関係しているものとして記述することが出来る。活動の態様は、イベント、活動に関係する視聴可能なコンテンツ、時間、日付、参加者、位置、スポンサ、料金等を含むことができるが、これらに限定されるものではない。メタデータの要素は、英数字の文字、シンボル、語、フレーズ、画像、ビデオ、オーディオおよび/またはカレンダのオブジェクトという形態をとることができる。例えば、テレビ番組の活動を見る活動に関連したメタデータの要素は、テレビ番組に対するメタデータから導出することができる。このメタデータは、シリーズ名例えば、コントロール361、エピソード名例えば、コントロール364、エピソード番号、放送日および/または時間例えば、コントロール365、最初の放送日、文字名例えば、コントロール362および363、画像例えば、コントロール366、音声またはビデオクリップ例えば、コントロール367、男優、女優、脚本家、ディレクタおよび/またはプロデューサの名前等を含むが、これらに限定されるものではない。類似のメタデータ要素を、映画を見ることまたは音楽を聞くことに関係させてもよい。5.5次に予測される要素に基づく動的なインターフェースレイアウト一実施態様では、構文規則および/または使用パターンのようなフィルタに基づいて、ある要素がメッセージに挿入された後には、クライアントデバイスは、メッセージ送信インターフェースのレイアウトを自動的に変えることができる。規則またはフィルタは、どの要素またはどの要素のタイプが、以前にエントリされた要素の1つ以上の後に続く可能性が高いかを予測するために、用いることができる。したがって、インターフェースは、各要素が選択された後に、カスタマイズすることができ、その結果、次に来ると予測される要素のタイプの選択が、より容易にアクセス可能となる。単純な具体例では、最後に選択されたコントロールは、このコントロールが、続けて二回選択されることはないであろうとの仮定に基づいて、インターフェース300のビューから自動的にスクロールさせることができる。別の例では、名詞の後には動詞が選択される可能性が高いであろうという仮定に基づいて、ユーザが、インターフェース300のコントロール群310から名詞コントロールを選択した後には、コントロール群320動詞の代表を、コントロール群310の場所に循環表示させることができる。実際、一実施態様では、何時でも、1つのコントロール群しか示されないが、このコントロール群は、前述の予測に基づいてインターフェースに回転される。予測が誤っている場合に所望のコントロールを循環表示するために、コントロール391394に類似するモードスイッチングコントロールを用いることもできる。一実施態様では、メッセージ送信インターフェースの実際のレイアウトを同じもののままにしておくことはできるが、関心の対象となっているコントロールを、種々のコントロール群に自動的に変更させることもできる。一実施態様では、以前の一個以上の要素の後に、対応する各要素が発生する可能性を予測するスコアまたは規則に基づいて、コントロールを、各選択の後に、再順序付けすることができる。この再順序付は、しばしば、完全に新規な組のコントロールが循環表示される結果をもたらす。いくつかの実施態様では、各メッセージは、一個以上のメッセージテンプレートの1つに従って作成される。例えば、あるメッセージテンプレートは、要素のどのタイプが、メッセージのどの位置に挿入することができるかを決めることができる。1つのテンプレートは、例えば、代名詞-動詞-主語の単純なパターンを決めることができる。他の多くのテンプレートも、可能である。このような実施態様では、レイアウトは、テンプレートで要素の次のタイプを表すこれらのコントロールに優先順位をつけるように1つの要素を挿入した後、変更することができる。一実施態様では、メッセージを書く間、ユーザは、いつでも多数のテンプレートから1つを選択することができる。5.6メッセージ作成インターフェース内のユーザによる活動の選択一実施態様では、クライアントがメッセージ作成インターフェースを表示した後に受信された入力に応答して、クライアントデバイスは、コンテクストに依存するメタデータに基づく要素を検索する。このような実施例では、ユーザは、メッセージングインターフェースを開始した後に、コンテクストを特定することができる。例えば、インターフェース400の情報パネル460は、ユーザが、メッセージングインターフェースの中から種々のコンテクスト例えば、種々のテレビジョン番組を選択することを可能にする。別の具体例では、メッセージングインターフェースは、ユーザがカレンダの日付を選択することを可能にすることができる。カレンダ日付の選択に応答して、その日付に関連するメタデータを表すコントロールを、インターフェースに挿入することができる。ユーザが、新規なコンテクストを選択する時にはいつでも、新規なメタデータを追加しかつフレーズに基づく要素をフィルタリングまたは順序付けして、インターフェースを、更新することができる。5.7集中化されていない環境における実行いくつかの実施態様では、中央サーバシステム130によって実行される本願明細書において記述される機能の一部または全部は、メッセージを送信することおよびフレーズを収集することを含め、中央サーバシステム130によってではなくクライアントデバイス110によって実行させることができる。例えば、クライアントデバイス110は、クライアントデバイス110が他のユーザから以前に受信したメッセージに少なくとも部分的に基づいて、それ自身のフレーズリポジトリと使用履歴を構築することができる。クライアントデバイス110は、更に、コンテクストに依存するメタデータこのメタデータは、コンテンツプロバイダ140から受信されたデータに基づいて周期的に更新されまたは更新されないをそれ自身のリポジトリに含むことができる。従って、クライアントデバイス110は、これらのリポジトリのフレーズとメタデータに基づいて、本願明細書において記述される要素を選択しかつ順序付けする技術の一部もしくは全部を、完全に実行することができる。このような実施態様では、ローカルに格納されたフレーズリポジトリと使用履歴の有用性は、各クライアントデバイスが、そのフレーズリポジトリ単数または複数と使用履歴単数または複数を他のクライアントデバイスと共有することにより、更に、改善させることができる。この共有は、様々な同期技術または分散された共有技術によって達成することができる。6.0実行メカニズム-ハードウェアの概観一実施態様によれば、本願明細書において記述される技術は、1つ以上の特別目的計算デバイスによって実行される。特別目的計算デバイスは、これらの技術を実行するように配線することもでき、またはこれらの技術を実行するように持続的にプログラムされている1つ以上の特定用途向け集積回路ASICまたはフィールドプログラマブルゲートアレイFPGAのようなデジタル電子デバイスを含むことができ、またはファームウェア、メモリ、他の格納デバイスまたはこれらの組合せ内のプログラム命令に従ってこれらの技術を実行するようにプログラムされている1つ以上の汎用ハードウェアプロセッサを含むこともできる。このような特別目的計算デバイスは、これらの技術を達成するために、カスタムハードワイヤードロジック、ASICまたはFPGAをカスタムメイドのプログラミングに結合することもできる。特別目的計算デバイスは、デスクトップコンピュータシステム、携帯コンピュータシステム、ハンドヘルドデバイス、ネットワーキングデバイスまたはこれらの技術を実行するためにハードワイヤードおよび/またはプログラムロジックを組み込んだ他のいかなるデバイスとすることもできる。例えば、図5は、本発明の一実施態様を実行することができるコンピュータシステム500を示すブロック図である。コンピュータシステム500は、情報を通信するためのバス502または他の通信メカニズム、およびバス502に結合されている情報処理のためのハードウェアプロセッサ504を含む。ハードウェアプロセッサ504は、例えば、汎用マイクロプロセッサとすることができる。コンピュータシステム500は、ランダムアクセスメモリRAMまたはプロセッサ504によって実行されるべき情報および命令を格納するためのバス502に結合されている他の動的格納デバイスのようなメインメモリ506も含む。メインメモリ506は、プロセッサ504が命令を実行している間に一時変数または他の中間情報を格納するために使用することもできる。このような命令は、プロセッサ504にアクセス可能な固定格納媒体に格納されると、コンピュータシステム500を、命令で指定されたオペレーションを実行するようにカスタマイズされている特別目的マシンに、変えることができる。コンピュータシステム500は、更に、プロセッサ504のために静的情報および命令を格納するための、バス502に結合されている読出し専用メモリROM508または他の静的格納デバイスを含む。磁気ディスクまたは光学ディスクのような格納デバイス510が、情報および命令を格納するために、設けられかつバス502に結合されている。コンピュータシステム500は、コンピュータユーザに対し情報を表示するために、バス502を介して陰極線管CRTのようなディスプレイ512に結合することができる。英数字キーおよび他のキーを含む入力デバイス514は、プロセッサ504と情報を通信しかつコマンドを選択するために、バス502に結合されている。別のタイプのユーザ入力デバイスは、プロセッサ504と方向情報とコマンド選択を通信しかつディスプレイ512上のカーソル移動をコントロールするためのマウス、トラックボールまたはカーソル方向キーのようなカーソルコントロール516である。この入力デバイスは、典型的には、デバイスが面内の位置を指定することを可能にする、第一の軸例えば、x軸と第二の軸例えば、y軸からなる2本の軸に2つの自由度を有する。コンピュータシステム500は、カスタマイズされたハードワイヤードロジック、1つ以上のASICまたはFPGA、コンピュータシステムと協働して、コンピュータシステム500を特別目的マシンにするファームウェアおよび/またはプログラムロジックを使用して、本願明細書において記述される技術を実行することができる。一実施態様によれば、プロセッサ504が、メインメモリ506に含まれる1つ以上の命令の1つ以上のシーケンスを実行することに応答して、コンピュータシステム500は、本願明細書における技術を実行する。このような命令は、格納デバイス510のような別の格納媒体からメインメモリ506に読み込ませることができる。メインメモリ506に含まれる命令のシーケンスの実行は、プロセッサ504に、本願明細書において記述されるプロセスのステップを実行させる。別の実施態様では、ハードワイヤード回路を、ソフトウェア命令の代わりにまたはそれと組合わせて使用することができる。本願明細書において使用される格納媒体という用語は、マシンに特定な動作をさせるデータおよび/または命令を格納する任意の固定媒体を意味する。このような格納媒体は、不揮発性媒体および/または揮発性媒体を備えることができる。不揮発性媒体は、例えば、格納デバイス510のような光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ506のような、動的メモリを含む。格納媒体の一般のフォームは、例えば、フロッピディスク、フレキシブルディスク、ハードディスクは、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ格納媒体、CDROM、他の任意の光学データ格納媒体も、穴のパターンを有する任意の物理媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリチップまたはカートリッジを含む。格納媒体は、転送媒体とは異なるが、転送媒体と共に使用することもできる。転送媒体は、格納媒体間に情報を転送するものである。例えば、転送媒体は、バス502を備えるワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。転送媒体は、電波通信および赤外データ通信の間に生成されるもののような、電波または光波の形態をとることも可能である。媒体の様々な形態は、プロセッサ504の実行のために、1つ以上の命令の1つ以上のシーケンスを担持することに関係させることができる。例えば、命令は、最初、リモートコンピュータの磁気ディスクまたはソリッドステートドライブに担持させることができる。リモートコンピュータは、命令をその動的メモリにロードし、そしてモデムを使用して電話回線により命令を送信することができる。コンピュータシステム500にローカルに接続されているモデムは、電話回線上のデータを受信し、かつ赤外送信器を使用してデータを赤外信号に変換することが可能である。赤外検出器は、赤外信号に担持されているデータを受信し、かつ適切な回路が、データをバス502に配置することが出来る。バス502は、メインメモリ506へのデータを担持し、プロセッサ504は、メインメモリ506で命令を検索しかつ命令を実行する。メインメモリ506によって受信された命令は、オプションとして、プロセッサ504による実行の前または後に格納デバイス510に格納することもできる。コンピュータシステム500は、バス502に結合されている通信インターフェース518も含む。通信インターフェース518は、ローカルネットワーク522に接続されているネットワークリンク520に結合されている双方向データ通信を提供する。例えば、通信インターフェース518は、総合サービスデジタルネットワークISDNカード、ケーブルモデム、衛星モデム、または電話回線に対応するタイプへのデータ通信接続を提供するモデムとすることができる。別の具体例では、通信インターフェース518は、互換のLANへのデータ通信接続を提供するローカルエリアネットワークLANカードとすることができる。無線リンクを、実行することもできる。この種の実行の何れにおいても、通信インターフェース518は、様々なタイプの情報を表すデジタルデータストリームを担持する電気信号、電磁信号または光学信号を送信しかつ受信する。ネットワークリンク520は、典型的には、1つ以上のネットワークを介して他のデータデバイスにデータ通信を提供する。例えば、ネットワークリンク520は、ホストコンピュータ524またはインターネットサービスプロバイダISP526によって作動されるデータ機器に、ローカルネットワーク522を介して、接続を提供することができる。ISP526は、今や広くインターネット528と呼ばれるワールドワイドパケットデータ通信ネットワークによりデータ通信サービスを提供する。ローカルネットワーク522およびインターネット528は、両者とも、デジタルデータストリームを担持する、電気信号、電磁信号または光学信号を使用する。転送媒体の形態の具体例は、さまざまなネットワークを介する信号及びネットワークリンク520上の信号並びにコンピュータシステム500への/からのデジタルデータを担持する通信インターフェース518を介する信号である。コンピュータシステム500は、ネットワーク、ネットワークリンク520および通信インターフェース518を介して、メッセージを送信し、かつプログラムコードを含むデータを受信することが出来る。インターネットの具体例では、サーバ530は、インターネット528、ISP526、ローカルネットワーク522および通信インターフェース518を介して、アプリケーションプログラムに対してリクエストされたコードを送信するかもしれない。プロセッサ504は、受信コードを、それが受信されると同時に実行し、および/または後の実行のために、格納デバイス510または他の不揮発性格納デバイスに格納することができる。7.0拡張および変形例前述の明細書において、本発明の実施態様は、実行ごとに異なる多数の具体的な詳細を参照して記述されて来た。したがって、何が本発明であるのか、かつ何が本出願人が意図する発明であるのかを示す唯一のものは、後における如何なる訂正をも含む、本出願から発行される請求項の組である。このような請求項に含まれる用語に対する本願明細書において明確に記載されている定義が、請求項において用いられているそのような用語の意味を決めるべきである。それ故、請求項において明白に詳述されていない限定、要素、属性、特長、利点または属性は、いかなる形であれこのような請求項の範囲を限定してはならない。したがって、明細書および図面は、限定するものではなく、例示的なものであるとみなすべきである。