(57)【要約】  第１のデバイス（１０２）を使用してアクセスされたコンテンツを、第２のデバイス（１０４）に転送するための方策について説明する。例えば、第１のデバイス（１０２）は、パーソナルコンピュータとすることができ、第２のデバイス（１０４）は、移動電話機とすることができる。この方策では、汎用コンテンツ転送（ＣＦ）機能が使用される。様々なコンテンツプロバイダは、同一の汎用ＣＦ機能に頼って、コンテンツを第２のデバイス（１０４）に転送することができ、アプリケーションごとにＣＦ機能に対する時間を多く費やす面倒な手作業の変更を必要としない。
2009522641.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットアドレスにコンテンツを送信するための方法であって、
ユーザがコンテンツ転送機能を呼び出しているコンテキストに関連付けられた少なくとも１つのパラメータを受信すること（８０２）と、
カスタマイズされたコンテンツ転送機能を提供するために、前記少なくとも１つのパラメータに基づいて、前記コンテンツ転送機能をカスタマイズすること（８０４）と、
前記カスタマイズされたコンテンツ転送機能を前記ユーザに提供すること（８０４）と
を備え、
前記カスタマイズされたコンテンツ転送機能は、前記ユーザが前記ターゲットアドレスにコンテンツを転送することを可能にする
ことを特徴とする方法。
【請求項２】
前記ユーザは、第１のデバイスを使用して前記コンテンツ転送機能を呼び出し、
前記ターゲットアドレスは、第２のデバイスに関連付けられている
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のデバイスはコンピュータであり、
前記第２のデバイスは移動電話機である
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記カスタマイズされたコンテンツ転送機能を使用して、前記ユーザから、少なくとも前記ターゲットアドレスを識別する要求情報を受信することと、
前記要求情報に基づいて、前記ターゲットアドレスに前記コンテンツを提供する際に使用するためのメッセージを構築することと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記要求情報は、前記ターゲットアドレスに関連付けられた電話番号を指定している
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記構築することは、
ＵＲＬおよびテキストコンテンツに基づいて前記メッセージを構築すること
を含むことを特徴とする請求項４に記載の方法。
【請求項７】
少なくとも前記ＵＲＬに関連付けられた参照情報を形成すること
をさらに備え、
前記参照情報は、前記ＵＲＬの代わりに前記ターゲットアドレスに送信される
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記ターゲットアドレスに前記メッセージを配信するための好ましい機構を決定することと、
前記好ましい機構を使用して、前記ターゲットアドレスに前記メッセージを転送することと
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項９】
前記ターゲットアドレスに前記メッセージを配信するための好ましいフォーマットを決定することと、
前記好ましいフォーマットを使用して、前記ターゲットアドレスに前記メッセージを転送することと
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項１０】
ベースユーザインタフェース表示において表示されるコンテンツ転送アイコンをアクティブ化することによって、前記コンテンツ転送機能を呼び出すことであって、前記コンテンツ転送アイコンは、前記ユーザが前記ターゲットアドレスに転送することを意図する前記ベースユーザインタフェース表示における識別された情報項目に関連付けられている、呼び出すこと
をさらに備え、
前記カスタマイズされたコンテンツ転送機能は、前記識別された情報項目を前記ターゲットアドレスに転送するために、前記ユーザが対話する少なくとも１つのコンテンツ転送ユーザインタフェース表示を含む
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記ベースユーザインタフェース表示は、第１のエンティティによって管理され、
前記カスタマイズすることは、第２のエンティティによって実行される
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記少なくとも１つのパラメータは、
前記ユーザによって使用されているベースユーザインタフェースアプリケーションを識別するアプリケーション情報と、該ベースユーザインタフェースアプリケーションにおけるシナリオを識別するアプリケーションシナリオ情報と、前記ターゲットアドレスに関連付けられた場所を識別するロケール情報と、前記ベースユーザインタフェースアプリケーションを提供するエンティティを識別するパートナ情報とのうちの１つまたは複数を含む
ことを特徴とする請求項１に記載の方法。
【請求項１３】
前記ターゲットデバイスに転送される前記コンテンツは、
検索結果と、地図と、イメージと、オーディオ情報と、構成情報とのうちの１つまたは複数を含む
ことを特徴とする請求項１に記載の方法。
【請求項１４】
請求項１に記載の方法を実行するためのマシン実行可能命令を含む
ことを特徴とする１つまたは複数のマシン読み取り可能な媒体。
【請求項１５】
ターゲットアドレスにコンテンツを送信するためのシステム（１００）であって、
第１のデバイス（１０２）と、
前記ターゲットアドレスに関連付けられている第２のデバイス（１０４）と、
ベースユーザインタフェース表示（５００）を提供するベースユーザインタフェースアプリケーション（１０６）と、
前記ベースユーザインタフェース表示（５００）とともに、前記第１のデバイス（１０２）にてユーザに表示するために、コンテンツ転送ユーザインタフェース表示（５１２）を提供するためのインタフェースプロバイダ（１０８）と、
前記コンテンツ転送ユーザインタフェース表示（５１２）を介して、前記第１のデバイス（１０２）にて前記ユーザによって入力される要求情報を処理するための要求処理機能（１１０）と
を備え、
前記要求情報は、前記要求処理機能（１１０）が前記第２のデバイス（１０４）にコンテンツを転送することを可能にする
ことを特徴とするシステム。
【請求項１６】
前記第１のデバイスはコンピュータであり、
前記第２のデバイスは移動電話機である
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記インタフェースプロバイダは、前記ユーザが前記コンテンツ転送ユーザインタフェース表示を呼び出すコンテキストを反映する少なくとも１つの受信されたパラメータに基づいて、前記コンテンツ転送ユーザインタフェース表示をカスタマイズするように構成されている
ことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記要求処理機能は、前記要求情報に基づいて、前記第２のデバイスに前記コンテンツを提供する際に使用するためのメッセージを構築することにより、前記要求情報を処理するように構成されている
ことを特徴とする請求項１５に記載のシステム。
【請求項１９】
ベースユーザインタフェース表示に少なくとも１つのコンテンツ転送アイコンを挿入するための方法であって、
ベースユーザインタフェース表示を識別することと、
少なくとも１つの選択基準に基づいて、前記ベースユーザインタフェース表示を解析して、ターゲットアドレスに送信することが望ましいと思われる少なくとも１つの情報項目を前記ベースユーザインタフェース表示が含むかどうかを判定すること（１３０２）と、
前記少なくとも１つのコンテンツ転送アイコンを用いて、前記少なくとも１つの情報項目に注釈を付けることであって、前記少なくとも１つのコンテンツ転送アイコンは、前記ターゲットアドレスに該少なくとも１つの情報項目を送信するために、ユーザによって呼び出すことができる、注釈を付けること（１３０４）と
を備えることを特徴とする方法。
【請求項２０】
請求項１９に記載の方法を実行するためのマシン実行可能命令を含む
ことを特徴とする１つまたは複数のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
状況によっては、ユーザは、第１のデバイスを使用してコンテンツにアクセスし、次にそのコンテンツを第２のデバイスに転送することを望む場合がある。例えば、ユーザが夕食のためにレストランを訪れることを計画しているものと想定されたい。ユーザは、オフィスで自分のパーソナルコンピュータを使用して、地図に関するウェブサイトにアクセスすることが可能である。そのサイトから、ユーザは、そのレストランへの道案内にアクセスすることが可能である。次にユーザは、その道案内を自分の移動電話機に転送することを望む場合がある。これにより、ユーザは、そのレストランに向かって車を運転しながら、その道案内にアクセスすることができるようになる。
【０００２】
転送機構を組み込むことによって前述の必要性に対処するいくつかのアプリケーションが開発されている。転送機構は、ＰＣによってアクセスされたコンテンツを移動電話機に転送するように構成されている。しかし、この種の転送機構は、アプリケーションに組み込まれ、そうしたアプリケーションのコードの一部を形成している。この手法は、潜在的な拡張性の問題を抱えている可能性がある。すなわち設計者は、第１のアプリケーションに対して動作する転送機構を開発し、その後、第２のアプリケーションにも同様の機構を適用することを望むものと想定されたい。そうすることによって、ユーザは、その転送機構を組み込むように第２のアプリケーションのコードを変更するという、時間を多く費やす可能性がある作業を実行するよう要求されるかもしれない。さらに、各アプリケーションは、独特の特性を有している。したがって、第２のアプリケーションに適切に転送機構を組み込めるようにするために、その転送機構を新たなアプリケーションに追加することは、その転送機構自体をカスタム変更するという、時間を多く費やす可能性がある作業を必然的に伴う可能性が高い。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、当技術分野においては、第１のデバイスから第２のデバイスにコンテンツを転送するためのより効率的な方策に対する一般的な必要性が存在する。
【課題を解決するための手段】
【０００４】
第１のデバイスを使用してアクセスされたコンテンツを、第２のデバイスに転送するための方策について説明する。例えば、この方策は、特定の種類のデバイスに限定されず、第１のデバイスは、パーソナルコンピュータとすることができ、第２のデバイスは、移動電話機とすることができる。この方策は、汎用コンテンツ転送（ＣＦ：Content-Forwarding）機能を使用する。様々なコンテンツプロバイダは、同一の汎用ＣＦ機能に頼って、コンテンツを第２のデバイスに転送することができ、アプリケーションごとにＣＦ機能に対する、時間を多く費やす面倒な手作業の変更を必要としない。
【０００５】
この要約のセクションに記載されている主題事項は、本発明を例示的に表す形態について説明するものであり、したがって、特許請求の範囲のセクションに示されている本発明の範囲を限定するものではない。
【発明を実施するための最良の形態】
【０００６】
本開示および図面のすべてにおいて、同一の符号を使用して、同様のコンポーネントおよび特徴が示される。１００番台の符号は、図１において最初に見られる特徴を示し、２００番台の符号は、図２において最初に見られる特徴を示し、３００番台の符号は、図３において最初に見られる特徴を示すといった具合である。
【０００７】
本明細書に記載される主題事項は、ターゲットアドレスにコンテンツを送信するための方策について説明するものである。例えば、コンテンツは、第１のデバイスを使用して識別することができ、次いで、（「ターゲットデバイス」としても呼ばれる）第２のデバイスに転送することができる。ここで、このターゲットデバイスは、このターゲットアドレスに関連付けられている。この方策では、コンテンツ転送（ＣＦ）機能に対する、時間を多く費やす手作業のカスタマイズを必要とすることなく、様々なアプリケーションに適用することが可能な柔軟性のあるＣＦ機能を使用する。
【０００８】
この説明において最もよく引き合いに出されるシナリオにおいて、第１のデバイスは、パーソナルコンピュータ（ＰＣ）に相当し、第２のデバイスは、移動電話機に相当する。しかし、このシナリオは、単に例示的なものに過ぎず、代表的なものであるに過ぎない。一般に、第１のデバイスおよび第２のデバイスは、パーソナルコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、移動電話機、ゲームコンソール、セットトップボックス、ページャ型デバイス、ウェアラブルコンピューティングデバイス、コンピュータ搭載型機器などの多種多様な電子デバイスから選択することが可能であるが、これらに限定されるものではない。例えば、別のシナリオにおいては、この方策を使用して、第１のパーソナルコンピュータを使用して識別されたコンテンツを、第２のパーソナルコンピュータに送信することができる。別のケースでは、この方策を使用して、小型の電子デバイス（移動電話機など）を使用して識別されたコンテンツを、大型のコンピューティングデバイス（パーソナルコンピュータなど）に送信することもできる。
【０００９】
本開示には、以下のセクションが含まれる。セクションＡは、ターゲットデバイスにコンテンツを転送するための例示的なシステムを提示するものである。セクションＢは、セクションＡのシステムと対話するのに使用可能な例示的なユーザインタフェース表示を提示するものである。セクションＣは、セクションＡのシステムにおける様々な態様の動作を説明する例示的なプロシージャを説明するものである。そして、セクションＤは、セクションＡのシステムの態様を実装するための例示的なコンピュータ環境を説明するものである。
【００１０】
Ａ．  例示的なシステム（図１〜図４）    
一般に、図面を参照して説明する機能のいずれも、ソフトウェア、ハードウェア（例えば、固定論理回路）、手動による処理、またはこれらの実装の組合せを用いて、実施することができる。本明細書で使用される「ロジック」、「モジュール」、または「機能」という用語は、一般に、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せを表す。例えば、ソフトウェアによる実装の場合、「ロジック」、「モジュール」、または「機能」という用語は、１つまたは複数の処理デバイス（例えば、１つまたは複数のＣＰＵ）上で実行されるときに指定されたタスクを実行するプログラムコード（または、宣言型コンテンツ）を表す。プログラムコードは、１つまたは複数のコンピュータ読み取り可能な媒体に記憶することができる。
【００１１】
より一般的には、別々のユニットにロジック、モジュール、および機能を分けて例示していることは、そのようなソフトウェアおよび／またはハードウェアの実際の物理的なグループ化および割り当てを反映している場合もあるし、または単一のソフトウェアプログラムおよび／またはハードウェアユニットによって実行される、様々なタスクの概念上の割り当てに対応している場合もある。例示されるロジック、モジュール、および機能は、（例えば、処理デバイスによって実装されるように）単一の場所に配置することもできるし、複数の場所にわたって分散させることもできる。任意の形態の情報を保持するための様々な種類の記憶デバイス（磁気、光、ソリッドステートなど）を含む。また、マシン読み取り可能な媒体という用語は、１つのポイントから別のポイントに情報を伝送するための様々な有線リンクおよび／または無線リンクを含め、情報を表す一時的な形態も包含するものである。
【００１２】
Ａ．１．  システムの概要    
図１は、ターゲットデバイスにコンテンツを転送するのに使用可能な１つの例示的なシステム１００を示している。すなわち、システム１００の１つの目的は、第１のデバイス１０２を使用してコンテンツを識別し、次いで、その識別したコンテンツを、（ターゲットデバイスとしても知られる）第２のデバイス１０４に関連付けられているターゲットアドレスに転送することにある。この説明において最もよく引き合いに出されるシナリオにおいて、第１のデバイス１０２は、パーソナルコンピュータに相当し、第２のデバイス１０４は、移動電話機に相当する。しかし、前述したように、第１のデバイスおよび第２のデバイス（１０２、１０４）は、任意の種類のデバイスとして具現化することができる。最も一般的に言うと、第１のデバイス１０２および第２のデバイス１０４は、それぞれ、単に第１のアドレスおよび第２の（ターゲット）アドレスと見なすことができる。一般に、第１のデバイス１０２は、処理特性および表示特性の第１のセットを有することができ、第２のデバイス１０４は、（第１のセットとは異なる）処理特性および表示特性の第２のセットを有することができる。このことにより、システム１００には、第１のデバイス１０２を使用して識別されたコンテンツを、第２のデバイス１０４によって使用される処理特性および／または表示特性に変換することが要求される。もちろん、システム１００は、実際の実施の際に、多数のデバイス（図示せず）を組み込み、それらのデバイスのいずれもが、コンテンツのソースを含むことが可能であり、さらに、それらのデバイスのいずれもが、そのコンテンツの受信側（ターゲット）となり得ることが理解されよう。
【００１３】
ユーザは、いくつもの理由から、ターゲットデバイス１０４にコンテンツを転送することを望む場合がある。以下は、限定的ではない例示的な使用シナリオを含む。
【００１４】
・１つのケースでは、ユーザは、第１のデバイス１０２を使用して、後の時点で、場合により、異なる状況において第２のデバイス１０４を使用してアクセスすることを望むコンテンツを識別することができる。例えば、背景技術のセクションで示したシナリオによれば、ユーザは、パーソナルコンピュータを使用して、運転の道案内、または旅行情報にアクセスし、次いで、この情報をユーザの移動電話機に転送することができる。こうすることにより、ユーザは、移動しながら、ユーザの移動電話機を使用して、この情報にアクセスすることができるようになる。
【００１５】
・より一般的なケースでは、ユーザは、第１のデバイス１０２を使用して、任意の種類の検索結果を第２のデバイス１０４に転送することができる。
【００１６】
・別のケースでは、ユーザは、第１のデバイス１０２を使用して、電子メールコンテンツ（または、ＩＭコンテンツなどの他のメッセージコンテンツ）を第２のデバイス１０４に転送することができる。
【００１７】
・別のケースでは、ユーザは、第１のデバイス１０２を使用して、イメージコンテンツを第２のデバイス１０４に転送することができる。一応用例によれば、ユーザは、受信したイメージを、第２のデバイス１０４のための「壁紙」（例えば、背景イメージ）として使用することができる。
【００１８】
・別のケースでは、ユーザは、第１のデバイス１０２を使用して、オーディオコンテンツを第２のデバイス１０２に転送することができる。一応用例によれば、ユーザは、受信したオーディオコンテンツを、移動電話機用の呼び出し音として使用することができる。
【００１９】
・別のケースでは、ユーザは、第１のデバイス１０２を使用して、構成情報を第２のデバイス１０４に転送することができる。構成情報は、ユーザインタフェース表示の構成およびレイアウトを制御することができるものである。したがって、ユーザは、この技術を使用して、第１のデバイス１０２を使用して作成したユーザインタフェース表示を、第２のデバイス１０４上で再現することができる。
【００２０】
・別のケースでは、ユーザは、第１のデバイス１０２を使用して、連絡先情報を第２のデバイス１０４に転送することができる。連絡先情報には、電話番号および住所のリストを含めることができる。あるいは、連絡先情報には、名刺の情報などを含めることができる。
【００２１】
・１つの一般論によれば、１人のユーザが、第１のデバイスと第２のデバイスとをともに所有すること、または、第１のデバイスと第２のデバイスとを関連付けることができる。例えば、ユーザは、ユーザの職場のパーソナルコンピュータを使用して、ユーザの自宅に配置されたユーザのパーソナルコンピュータにコンテンツを転送することができる。
【００２２】
・代替の一般論によれば、第１のユーザが、第１のデバイス１０２を使用して、任意の種類のコンテンツを、（第２のデバイス１０４に関連付けられている）第２のユーザに転送することができる。例えば、このシナリオでは、ユーザは、友人のパーソナルコンピュータにコンテンツを転送することができる。
【００２３】
さらに別の使用シナリオも可能である。一般に、本明細書で広く使用される「コンテンツ」とは、グラフィックコンテンツ、イメージコンテンツ、テキストコンテンツ、オーディオコンテンツ、コードを含むコンテンツ、マークアップ言語コンテンツなど、または、これらの任意の組合せを指すことができる。
【００２４】
以下の説明は、システム１００の例示的な構成の概要を示すのに対して、さらに後段のセクションは、システム１００内の選択されたコンポーネントに関するさらなる詳細を提供する。
【００２５】
一般に、システム１００がコンテンツをターゲットデバイス１０４に転送することを可能にする機能を、本明細書では、コンテンツ転送（ＣＦ）機能と呼ぶ。この機能は、ベースユーザインタフェースアプリケーション（ＢＵＩＡ：Base User Interface Application）１０６、インタフェースプロバイダ１０８、および要求処理機能（ＲＰＦ：Request Processing Functionality）１１０を含む、図１の様々なコンポーネント間で分散される。デバイス（１０２、１０４）はまた、オプションとして、ＣＦ機能の態様を組み込むこともできる。
【００２６】
大まかに言うと、ＣＦ機能は、いわゆるフロントエンド機能１１２とバックエンド機能１１４とに分けることができる。ＢＵＩＡ１０６およびインタフェースプロバイダ１０８は、フロントエンド機能１１２に関連付けられているのに対して、ＲＰＦ１１０は、バックエンド機能１１４に関連付けられている。フロントエンド機能１１２は、この機能１１２が、ユーザがシステム１００と対話することができるインタフェースを提供することによりユーザと「対面する」ことから、「フロントエンド」と呼ばれる。バックエンド機能１１４は、識別されたコンテンツをターゲットデバイス１０４に転送することに伴うバックグラウンドの処理動作を主に実行する。
【００２７】
システム１００の前述したコンポーネント（ＢＵＩＡ１０６、インタフェースプロバイダ１０８、およびＲＰＦ１１０）の各々について、以下で順に説明する。ＢＵＩＡから始めると、この機能は、任意の種類のアプリケーション領域における任意の種類の動作を実行するための、任意の種類のアプリケーションロジック、ツールなどを指す。１つのケースでは、サーバ側機能が、ＢＵＩＡ１０６を実装することができる。別のケースでは、デバイス１０２が、ＢＵＩＡ１０６をローカルで実装することができる。別のケースでは、サーバ側機能およびデバイス１０２の両方が、ＢＵＩＡ１０６を分散させて実装することができる。１つのケースでは、ＢＵＩＡ１０６は、ＣＦ機能を管理するエンティティと予め確立された関係を有する。このケースでは、ＢＵＩＡ１０６は、ＣＦ機能を管理するエンティティと正式に協働する「パートナ」エンティティである。別のケースでは、ＢＵＩＡ１０６は、任意のウェブサイトなどの、任意のあらゆるコンテンツを表すことができる。このケースでは、ＢＵＩＡ１０６をホストするエンティティは、ＣＦ機能を管理するエンティティとの予め確立された関係を必ずしも有する必要はない。
【００２８】
いずれにしても、ＢＵＩＡ１０６は、「ベースユーザインタフェース表示」を提供する。ベースユーザインタフェース表示は、ユーザがＢＵＩＡ１０６と対話することを可能にするインタフェースを含む。ベースユーザインタフェース表示は、本明細書で「情報項目」と呼ばれるいくつかのコンポーネントを含む。大まかな概要として、ＣＦ機能の目的は、第１のデバイス１０２を使用して識別された情報項目を、ターゲットデバイス１０４に転送することにある。
【００２９】
ある例が、この用語の用法を明確にする。１つのケースでは、ＢＵＩＡ１０６は、検索に関連するアプリケーションなどの、インターネットを介してアクセス可能な任意の種類のアプリケーションロジックを提供するウェブサイトを含む。このアプリケーションロジックは、ベースユーザインタフェース表示を、１つまたは複数のユーザインタフェースページの形態でユーザに提供する。例えば、１つのユーザインタフェースページは、ある検索の結果を特定する検索結果ページを含む。各ページには、１つまたは複数の情報項目を含めることができる。例えば、検索結果ページは、検索結果のリストを提供することができ、各検索結果は、情報項目として見なすことができる。前述の例において、情報項目は、ベースユーザインタフェース表示によって視覚的に提示される、または少なくとも視覚的に参照される情報に相当する。他のケースにおいては、選択可能な情報項目が、ＢＵＩＡ１０６において視覚的な対応情報を必ずしも有さない、ＢＵＩＡ１０６の他の態様に相当し得る。
【００３０】
システム１００は、ＣＦ（コンテンツ転送）アイコンを用いてベースユーザインタフェース表示に注釈を付けることができる。すなわち、システム１００は、情報項目の近くにＣＦアイコンを配置させるように追加することにより、ベースユーザインタフェース表示に注釈を付けることができる。各ＣＦアイコンを呼び出して、いわゆるＣＦ（コンテンツ転送）ユーザインタフェース表示を提供することができる。すなわち、ＣＦユーザインタフェース表示は、関連付けられたＣＦアイコンをクリックすることによって呼び出すことが可能なポップアップ（pop-up）である。ＣＦユーザインタフェース表示は、ユーザが識別された情報項目をターゲットデバイス１０４に転送できるようにする媒介の役割を果たす。
【００３１】
このように機能させるために、ＢＵＩＡ１０６には、図１においてＢＵＩＡ  ＣＦ機能１１６と呼ばれるコンテンツ転送ロジック（例えば、実行可能コード）を含めることができる。ＢＵＩＡ  ＣＦ機能１１６は、ＣＦアイコンを用いてベースユーザインタフェース表示に注釈を付ける方法を管理することができる。例えば、ＢＵＩＡ  ＣＦ１１６は、ＣＦアイコンをロードして、ＣＦアイコンがユーザインタフェース表示のコンテキストにおいてどこに配置されるかを管理することができる。ＢＵＩＡ  ＣＦ１１６はまた、オプションとして、ＣＦアイコンの挙動のいくつかの態様を管理することもできる。例えば、ＢＵＩＡ  ＣＦ１１６は、それぞれのＣＦアイコンがユーザによってアクティブ化されると、ＣＦユーザインタフェース表示のロードを調整することができる。ＢＵＩＡ  ＣＦ１１６は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードモジュールなどの、任意の技術を使用して実装することができる。
【００３２】
次に、インタフェースプロバイダ１０８に進むと、このコンポーネントは、ＣＦアイコンが呼び出されると、ＣＦユーザインタフェース表示を提供する。この点で、インタフェースプロバイダ１０８は、ＣＦユーザインタフェース表示を多くの異なるＢＵＩＡ１０６に提供する中央サーバと言うことができる。ＢＵＩＡは、様々な特性を有するので、インタフェースプロバイダ１０８は、当該インタフェースプロバイダ１０８が提供するＣＦユーザインタフェース表示を、ＢＵＩＡ１０６の独特の特性に合うようにカスタマイズするように構成されている。より具体的に説明すると、ユーザは、特定のコンテキストにおいてＣＦアイコンをアクティブ化する。インタフェースプロバイダ１０８は、当該インタフェースプロバイダ１０８がＢＵＩＡ１０６に提供するＣＦユーザインタフェース表示を、この独特のコンテキストに合うようにカスタマイズする。
【００３３】
コンテキストは、複数のコンポーネントまたはファクタ（factor）を有することができる。コンテキストの一部は、ユーザがＣＦアイコンをアクティブ化した際にユーザが対話していたＢＵＩＡ１０６の一般的な性質に関係する。例えば、ユーザは、例えば写真閲覧ＢＵＩＡではなく、検索に関連するＢＵＩＡと対話していることが可能である。コンテキストの別の部分は、ユーザが対話しているＢＵＩＡ１０６の特定の態様（「シナリオ」と呼ばれる）に関係する。例えば、ユーザは、検索に関連するＢＵＩＡ１０６のニュースモード（news mode）と対話していることが可能である。このため、このニュースモードが、検索に関連するＢＵＩＡ１０６のシナリオを定義する。コンテキストの別の部分は、ユーザがＢＵＩＡ１０６にアクセスを行っている場所（および／またはターゲットデバイス１０４が配置されていると想定される場所）に関係することが可能である。コンテキストの別の部分は、ＢＵＩＡ１０６をホストするエンティティの身元に関係することが可能である。さらに他のコンテキストファクタが、ＣＦアイコンのユーザによるアクティブ化に当てはまる。いずれにしても、インタフェースプロバイダ１０８は、コンテキストファクタに合うようにカスタマイズされたユーザインタフェース表示を提供することにより、こうしたコンテキストファクタのすべてを考慮に入れる。
【００３４】
１つの例示的な実装によれば、インタフェースプロバイダ１０８は、ＢＵＩＡ１０６から１つまたは複数のパラメータを受け入れることにより、前述した動作を実装することができる。これらのパラメータは、異なるコンテキストファクタをそれぞれ捕捉する。次に、インタフェースプロバイダ１０８は、受け取ったパラメータに合うようにカスタマイズされたＣＦユーザインタフェース表示を提供する。インタフェースプロバイダ１０８のカスタマイズ機能は、ＪａｖａＳｃｒｉｐｔ（登録商標）コードモジュールなどの、任意の技術を使用して実装することができる。
【００３５】
より詳細には、ユーザがＣＦアイコンを最初にクリックすると、インタフェースプロバイダ１０８は、初期ＣＦユーザインタフェース表示を提供する。初期ＣＦユーザインタフェース表示は、少なくとも、ターゲットデバイス１０４に関連付けられているターゲットアドレスを入力するようユーザに要求する。このアドレスは、電話番号、電子メールアドレス、または他の何らかの種類のアドレスとして表現することが可能である。初期ＣＦユーザインタフェース表示は、ＢＵＩＡ１０６によってインタフェースプロバイダ１０８に送られたコンテキストパラメータに合うようにカスタマイズされる。例えば、初期ＣＦユーザインタフェース表示は、ターゲットデバイス１０４の想定されるロケール（locale）にカスタマイズされるようにターゲットアドレスを提供するよう、ユーザに要求することができる。
【００３６】
インタフェースプロバイダ１０８によって収集される情報のすべてが、「要求情報」を構成するパッケージを形成する。この要求情報は一般に、ある識別されたコンテンツをターゲットデバイス１０４に転送すべきである、というユーザの要求を表現するものである。要求情報のすべてを収集すると、インタフェースプロバイダ１０８は、その要求情報をＲＰＦ１１０に転送する。次いで、インタフェースプロバイダ１０８は、要求のステータスに関してＲＰＦ１１０に問い合わせる役割を果たす。インタフェースプロバイダ１０８はまた、１つまたは複数の追加のＣＦユーザインタフェース表示も提供する。これらの追加のＣＦユーザインタフェース表示は、要求のステータスをユーザに通知するものである。
【００３７】
次に、ＲＰＦ１１０に進むと、このコンポーネントの１つの目的は、要求情報に基づいてメッセージを作成し、そのメッセージをターゲットデバイス１０４に配信することにある。このメッセージは、識別されたコンテンツを含み、かつ／またはユーザが所望のコンテンツにアクセスすることを可能にする。例えば、所望のコンテンツが、単に、ユーザがターゲットデバイス１０４用の壁紙として使用することを望むＪＰＥＧイメージである場合、メッセージには、コンテンツ自体、すなわちＪＰＥＧイメージを含めることができる。別のケースにおいては、所望のコンテンツは、検索結果に関係することが可能であり、メッセージは、その検索結果へのリンクを含むことが可能である。ユーザは、ターゲットデバイス１０４上のリンクをアクティブ化することにより、その検索結果にアクセスすることができる。ＲＰＦ１１０は、識別されたコンテンツをターゲットデバイス１０４に提供することにより、ターゲットデバイス１０４におけるユーザの動作を処理する。別のケースでは、所望のコンテンツのいくつかの部分が、メッセージとともに直接送信され得るのに対して、コンテンツの他の部分は、メッセージ内で特定される１つまたは複数のリンクを介して識別され得る。要約すると、ＲＦＰ１１０の１つの目的は、メッセージをターゲットデバイス１０４に送信することにあり、別の目的は、オプションとして、ユーザと対話し、ユーザがターゲットデバイス１０４を使用して、コンテンツを取り出すことができるようにすることにある。
【００３８】
インタフェースプロバイダ１０８およびＲＰＦ１１０は、異なる技術を使用して実装することができる。例えば、インタフェースプロバイダ１０８は、第１のサーバシステムであることが可能であり、ＲＦＰ１１０は、別個のサーバシステムであることが可能である。あるいは、インタフェースプロバイダ１０８およびＲＰＦ１１０は、同一のサーバシステムを用いて実装することもできる。
【００３９】
システム１００は、１つまたは複数の通信機構を使用して、前述した動作を実行することができる。一般に、それらの通信機構のいずれかには、ワイドエリアネットワーク（例えば、インターネット）、イントラネット、ＤＳＬネットワークインフラストラクチャ、ポイントツーポイント接続インフラストラクチャ、移動電話通信システムなどの、任意の種類のネットワーク（またはネットワークの組合せ）を含めることができる。接続機構は一般に、任意の種類のプロトコル、またはプロトコルの組合せを使用することもできるし、またはそれらを含むこともでき、様々な有線リンクおよび／または無線リンク、ルータ、ゲートウェイ、ネームサーバなど（図示せず）に依存し得る。
【００４０】
図１に示した特定の例示的なケースにおいて、システム１００は、接続機構Ａ１１８および接続機構Ｂ１２０を使用する。接続機構Ａ１１８は、インターネットなどのＷＡＮ（ワイドエリアネットワーク）に相当することが可能である。接続機構Ｂ１２０は、移動電話通信システムに相当することが可能である。例えば、１つのシナリオにおいて、ユーザは、接続機構Ａ１１８（例えば、インターネット）を介して、ＢＵＩＡ１０６を提供するウェブサイトにアクセスし、そのウェブサイトと対話することができる。この対話によって作成されたコンテンツ転送メッセージは、接続機構Ｂ１２０（例えば、移動電話通信システム）を使用して、最終的に配信することができる。図示されてはいないが、接続機構Ａ１１８および接続機構Ｂ１２０は統合することができるので、任意の方法で、これら２つの機構（１１８、１２０）の間で情報を交換することができる。
【００４１】
前述したアーキテクチャおよび汎用プロトコルは、例示的なものであって、限定的なものではない。要約すると、前述した手法において、ＣＦ機能は、ＣＦアイコンを使用して、ベースユーザインタフェース表示における予め定められた情報項目に注釈を付ける。こうしたＣＦアイコンのアクティブ化により、ＣＦ機能は、それぞれのＣＦユーザインタフェース表示を表示するように促される。こうしたＣＦユーザインタフェース表示には、要求情報を収集して様々なステータス情報を伝えるために使用される追加の表示が含まれる。別の例示的な手法において、ＣＦ機能は、ユーザが、ベースユーザインタフェース表示における個々の項目をクリックすることや、マウスデバイスを使用してベースユーザインタフェース表示のいくつかの部分にマークを付けることなどによって、自由な形式の任意の方法で、任意のベースユーザインタフェース表示における任意のコンテンツを指定することを可能にする。この自由な形式の方法で選択された項目には、必ずしも、ＣＦアイコンを用いて予め注釈が付けられているわけではない。ユーザが、この手法を使用して、ある項目を選択すると、ＣＦ機能が呼び出されて、前述した方法でＣＦユーザインタフェース表示が表示される。この技術の一応用例によれば、ユーザは、任意のウェブコンテンツを選択し、このコンテンツをターゲットデバイス１０４に転送することができる。ＣＦ機能は、ターゲットデバイス１０４、および／またはこのウェブコンテンツをターゲットデバイス１０４に配信する選択されたモードに最もよく適したフォーマットに、このウェブコンテンツを変換することができる。
【００４２】
別の可能な変形例は、ＣＦアイコンが実装される方法に関する。前述した手法を要約すると、ＢＵＩＡ１０６は、ローカルのＢＵＩＡ  ＣＦ機能１１６に頼って、ＣＦアイコンを描画することができる。より具体的には、この場合、ＢＵＩＡ  ＣＦ機能１１６は、ベースユーザインタフェース表示における予め定められた場所にＣＦアイコンを表示することができ、次いで、こうしたＣＦアイコンがアクティブ化されると、インタフェースプロバイダ１０８からＣＦユーザインタフェース表示をロードすることができる。しかし、この手法の可能な変形例において、ＢＵＩＡ１０６は、インタフェースプロバイダ１０８から、ＣＦアイコンおよびＣＦユーザインタフェース表示の両方をプルする（pull）ことができる。
【００４３】
別の可能な変形例は、ＣＦ機能を実装する（１つまたは複数の）ホスティングサイトに関する。前述した手法を要約すると、ＣＦ機能のフロントエンド態様が、ＢＵＩＡ１０６に配置されたＢＵＩＡ  ＣＦ機能１１６と、インタフェースプロバイダ１０８によって提供される機能との間で分割される。ＢＵＩＡ１０６は、パートナウェブサイトまたはローカルアプリケーションなどの、様々な種類のアプリケーションを表す。別の例示的な実装では、前述したＣＦ機能の態様は、個々のユーザコンピュータ上で実行される専用のＣＦコードを用いて実装することができる。例えば、第１のデバイス１０２は、第２のデバイス１０４に送信すべき情報項目をユーザが特定することを可能にする、ブラウザツールバーまたは他の種類のアプリケーションにおけるコードを組み込むことができる。この機能の呼び出しにより、第１のデバイス１０２は、前述した方法で中央インタフェースプロバイダ１０８からＣＦユーザインタフェース表示にアクセスするよう、促すことができる。代替の実装では、各コンピュータは、インタフェースプロバイダ１０８が果たす役割の１つまたは複数の態様をローカルに実装して、リモートのインタフェースプロバイダ１０８にアクセスする必要性をなくすか、または低減させることもできる。例えば、システム１００は、バックエンド（１１４）にＳＯＡＰインタフェース（または、他の種類のインタフェース）を提供することによって、フロントエンド機能（１１２）全体にかかる負荷を軽減させることができる。
【００４４】
前述したアーキテクチャおよびプロトコルのさらに他の変形例も可能である。しかし、説明を簡潔にするために、最初に説明したアーキテクチャおよびプロトコルが、以下の説明において強調される。
【００４５】
Ａ．２．  例示的なインタフェースプロバイダ    
図２に進むと、この図は、インタフェースプロバイダ１０８のさらなる詳細と他の特徴とを示している。
【００４６】
インタフェースプロバイダ１０８は、ＵＩ生成モジュール２０２、ターゲットへの送信要求モジュール２０４、およびステータス問い合わせモジュール２０６などの、いくつかのコンポーネントを含む。
【００４７】
ＵＩ生成モジュール２０２の１つの目的は、ＣＦユーザインタフェース表示を生成することにある。ＣＦユーザインタフェース表示は、ユーザが関連するＣＦアイコンを呼び出すコンテキストに基づくようにカスタマイズされる。より具体的には、ＢＵＩＡ１０６は、コンテキストを記述する１つまたは複数のパラメータを、ＵＩ生成モジュール２０２に提供し、ＵＩ生成モジュール２０２は、これに応答して、こうしたパラメータに合うように構成されたＣＦユーザインタフェース表示を提供する。前述したように、インタフェースプロバイダ１０８は、受け取ったパラメータを使用して、ＣＦ機能の視覚的なユーザインタフェース態様の他に、ＣＦ機能の他の態様をカスタマイズすることもできる。
【００４８】
ＵＩ生成モジュール２０２に送られるパラメータは、様々な技術環境およびビジネス環境におけるシステム１００の様々な用途に応じて様々である。一例において、パラメータには、以下のものを含めることができる。
【００４９】
・パートナＩＤ  この送られるパラメータは、ＢＵＩＡ１０６を管理するエンティティを示す。
【００５０】
・アプリケーションＩＤ  この送られるパラメータは、ＩＤ１＝検索アプリケーション、ＩＤ２＝電子メールアプリケーションなどの、ユーザが対話するＢＵＩＡ１０６の基本的な性質を示す。
【００５１】
・シナリオＩＤ  この送られるパラメータは、ユーザが、現在対話しているＢＵＩＡ１０６の態様を示す。
【００５２】
・ロケールＩＤ  この送られるパラメータは、場所、すなわち、おそらくは、ターゲットデバイス１０４の場所を示す。
【００５３】
・ユーザが、ＢＵＩＡ１０６または他の何らかのサービスにサインインする状況において、ＵＩ生成モジュール２０２は、ユーザの身元および／または他の特性を反映する資格証明情報を受け取ることもできる。
【００５４】
・（１つまたは複数の）名前−値ペア  これらの送られるパラメータは、ユーザがターゲットデバイス１０４に送信することを望む特定の情報を指定する。例えば、検索の場合、送られる名前−値ペアには、ＲｅｓｕｌｔＩＤ＝｛結果を表すＧＵＩＤ｝を含めることができる。イメージアプリケーションの場合、送られる名前−値ペアには、Ｉｍａｇｅ＝｛オリジナルのイメージへのＵＲＬ｝を含めることができる。ＢＵＩＡ１０６は、特定の呼び出し側アプリケーション、および他の要因に応じて、１つのパラメータペア、またはパラメータペアのグループを送ることができる。
【００５５】
ＵＩ生成モジュール２０２によって提供されるＣＦユーザインタフェース表示のいくつかは、要求情報を収集するために使用される。要求情報は、ターゲットデバイス１０４にコンテンツを転送するユーザの要求の顕著な態様を定義するものである。要求情報は、最小限として、ターゲットデバイス１０４のアドレスを指定する。
【００５６】
いくつかのケースにおいて、ユーザは、ターゲットデバイス１０４のアドレスなどの要求情報を以前に指定している場合がある。この要求情報は、ユーザのＩＤ情報と関連付けられて、プロファイルストア２０８に記憶することができる。あるいは、この要求情報は、クッキーの形態など、それほど形式的でない形態で記憶されてもよい。いずれにしても、ユーザの個人データは、暗号化することができるので、この情報は、ユーザ（または、他の任意のエンドユーザ）が容易に利用できないものである。同一のユーザが再びサインインした場合、ＵＩ生成モジュール２０２は、この情報を再び入力するようユーザに要求することなく、以前に記憶された要求情報にアクセスすることができる。この場合、ユーザは、単にＣＦアイコンをクリックして、識別された情報項目をターゲットデバイス１０４に自動的に転送することができる。
【００５７】
ターゲットへの送信要求モジュール２０４は、収集された要求情報をＲＰＦ１１０に送信するために使用される。ＲＰＦ１１０は、受信した要求情報を使用してメッセージを構築し、次いで、このメッセージが、ターゲットデバイス１０４に転送される。
【００５８】
ステータス問い合わせモジュール２０６は、ＲＰＦ１１０から参照情報（例えば、ハンドル）を受信する。ハンドルは、ＲＰＦ１１０によって作成されたメッセージに関連付けられる。ステータス問い合わせモジュール２０６は、このハンドルを使用して、ＲＰＦ１１０に定期的に問い合わせを行って、メッセージのステータスを判定する。このメッセージのステータスの判定には、例えば、ＲＰＦ１１０が、そのメッセージをターゲットデバイス１０４に正常に送信することができるかどうかを判定したかどうかの判定や、そのメッセージが、ターゲットデバイス１０４に実際に転送されたかどうかの判定がある。ステータス問い合わせモジュール２０６はまた、ステータス情報をＵＩ生成モジュール２０２に提供することもでき、次いで、ＵＩ生成モジュール２０２が、１つまたは複数のＣＦユーザインタフェース表示において、この情報をユーザに転送する。
【００５９】
Ａ．３．  自動アイコン挿入器    
図２は、ＢＵＩＡ１０６によって提供されるベースユーザインタフェース表示にＣＦアイコンを自動的に追加するために使用可能なオプションの自動アイコン挿入器２１０を示している。すなわち、基準系用に、一技術において、設計者は、ＣＦアイコンを用いて注釈が付けられるべき特定のベースユーザインタフェース表示における情報項目を手作業で選択して、ベースユーザインタフェース表示にＣＦアイコンを挿入するコード（例えば、ＢＵＩＡ  ＣＦ機能１１６）を作成することができる。これに対して、自動アイコン挿入器２１０は、ベースユーザインタフェース表示を自動的に走査して、ＣＦアイコンを用いて注釈を付けることが望ましいと思われる１つまたは複数の情報項目（なぜならば、これらの情報項目が、ターゲットデバイス１０４に送信されることが望ましいと思われるため）の存在を特定することにより、機能する。
【００６０】
このように機能させるために、自動アイコン挿入器２１０は、基準データストア２１２内に示されるルールに依拠し得る。これらのルールは、自動アイコン挿入器２１０が、ＣＦアイコンをベースユーザインタフェース表示に追加する状況を規定するものである。これらのルールは一般に、「特徴Ｘが、ベースユーザインタフェース表示において発見された場合、その特徴Ｘを識別するＣＦアイコンを追加する」という形態をとる。特定のルールには、以下のことが含まれる。
【００６１】
・ルールは、ユーザ連絡先情報を示すように思われるコンテンツを識別し、次いで、そのコンテンツに１つまたは複数のＣＦアイコンを用いて注釈を付けることができる。例えば、このルールは、テキストが、電話番号、電子メールアドレス、所在地住所などを表すことを示すなどの、明らかにそれと分かる徴候を有するテキストを識別することができる。
【００６２】
・ルールは、ターゲットデバイス１０４に関する背景イメージ（例えば、壁紙）として、またはターゲットデバイス１０４用の呼び出し音としてなどに、ユーザが適用することを望む可能性があるコンテンツを識別し、次いで、そのコンテンツに１つまたは複数のＣＦアイコンを用いて注釈を付けることができる。例えば、このルールは、予め定められたファイルサイズを有するイメージコンテンツまたはオーディオコンテンツを探すことができる。
【００６３】
・ルールは、規定された数の上位検索結果を識別し、次いで、それらの検索結果に１つまたは複数のＣＦアイコンを用いて注釈を付けることができる。
【００６４】
さらなるルールを適用して、ベースユーザインタフェースアプリケーションにＣＦアイコンを追加することができる。他のケースでは、自動アイコン挿入器２１０は、人工知能解析ツール、ニューラルネットワーク解析ツールなど、ＣＦアイコンを用いて注釈が付けられるべき情報項目を識別するための、より高度なツールに頼ることができる。さらに、自動アイコン挿入器２１０には、エンドユーザまたは他の個人が、自動アイコン挿入器２１０によって作成された注釈結果の望ましさを評価することを可能にするフィードバック機構を含めることができる。次いで、自動アイコン挿入器２１０は、このフィードバックから学習して、今後のパフォーマンスを向上させることができる。例えば、自動アイコン挿入器２１０は、満足いくものではないと識別された結果に負の重みを付け、満足いくものと識別された結果に正の重みを付けることができる。さらに他の種類の解析エンジンを使用することもできる。
【００６５】
自動アイコン挿入器２１０は、実用的な性質の様々なルールを組み込むこともできる。例えば、自動アイコン挿入器２１０は、ＣＦアイコンの数を、規定された数に制限することができる。そのようにする際に、自動アイコン挿入器２１０は、（データストア２１２内の基準に基づいて）様々な情報項目の重要度をランク付けし、次いで、アイコンを受け取る上位Ｎ個の項目を選択することができる。
【００６６】
１つのケースでは、自動アイコン挿入器２１０は、ウェブアクセス可能なサービスとして展開することができる。ウェブサービスは、ウェブページおよび他のコンテンツを解析し、ＣＦアイコンをこのコンテンツに追加することができる。別のケースでは、自動アイコン挿入器２１２は、ローカルクライアントサイトにおいて使用することもできる。この応用例では、自動アイコン挿入器２１２は、第１のデバイス１０２によってロードされたウェブページまたは他のコンテンツをローカルレベルで解析し、ＣＦアイコンをこのコンテンツに追加することができる。例えば、自動アイコン挿入器２１０は、ブラウザツールバー内のツールとして追加することができる。
【００６７】
いずれの実装においても、ユーザが、自動アイコン挿入器２１０のアクティブ化および非アクティブ化を行うことを可能にするための機能を含めることができる。自動アイコン挿入器２１０は、アクティブ化されると、ＣＦアイコンをそのままにして、ベースユーザインタフェース表示をリフレッシュする（refresh）ことができる。自動アイコン挿入器２１０は、非アクティブ化されると、ＣＦアイコンが除去されて、ベースユーザインタフェース表示をリフレッシュすることができる。
【００６８】
Ａ．４．  例示的な要求処理機能    
図３は、ＲＰＦ（要求処理機能）１１０の例示的なコンテンツを示している。ＲＰＦ１１０には、いくつかのコンポーネントを含めることができる。主なコンポーネントとして、ＲＰＦ１１０には、要求ハンドラモジュール３０２を含めることができる。要求ハンドラモジュール３０２の基本的な目的は、インタフェースプロバイダ１０８から要求情報を受信し、要求情報からメッセージを作成し、このメッセージをターゲットデバイス１０４に配信し、そして、この配信したメッセージに関連するターゲットデバイス１０４との対話を処理することにある。
【００６９】
最初に、要求ハンドラモジュール３０２は、要求許可モジュール３０４と対話することができる。要求許可モジュール３０４の１つの目的は、ユーザが、識別されたコンテンツをターゲットデバイス１０４に転送することを許可されるかどうかを判定することにある。この動作は、ユーザプロファイル情報の１つまたは複数のデータストア（図示せず）を調べることにより、サインインしたユーザに対して実行することができる。ユーザプロファイル情報は、（ユーザＩＤによって識別される）特定のユーザが、特定のターゲットデバイスにコンテンツを転送することを許可されるかどうかを示すことが可能である。要求許可モジュール３０４は、ユーザがＢＵＩＡ１０６にサインインした結果、またはユーザが他の何らかのアプリケーションもしくはサービスにサインインした結果、ユーザの身元を特定することができる。
【００７０】
ユーザが、コンテンツを転送することを許可される場合、メッセージ作成モジュール３０４を使用して、ターゲットデバイス３０４に送信すべきメッセージを作成する。前述したように、メッセージは、ターゲットデバイス１０４に送信すべきコンテンツを直接提供すること、および／またはターゲットデバイス１０４によって後にアクセスすることが可能なコンテンツを単に参照することができる。
【００７１】
メッセージ作成モジュール３０４がこのメッセージを構築することができる１つの方法は、プラグインアプリケーションフレームワーク３０６を使用することである。プラグインアプリケーションフレームワーク３０６は、様々なプラグインアプリケーションモジュール（３０８、３１０、．．．３１２）を含む。これらのアプリケーションモジュール（３０８、３１０、．．．３１２）の各々は、異なるＢＵＩＡ１０６に関係する。例えば、１つのアプリケーションモジュールは、検索アプリケーションに関係し得るのに対して、別のアプリケーションモジュールは、写真閲覧アプリケーションに関係し得るといった具合である。各アプリケーションモジュール（３０８、３１０、．．．３１２）の目的は、ユーザがターゲットデバイス３０８に転送することを望むコンテンツに関連付けられたＵＲＬおよび／またはメッセージコンテンツを提供することにある。様々なアプリケーションが、様々なルールをＵＲＬおよびメッセージコンテンツの選択に適用することができるので、様々なアプリケーションモジュール（３０８、３１０、．．．３１２）が使用される。１つのケースでは、メッセージコンテンツには、一般的な英数字コンテンツおよび／またはグラフィックコンテンツを含めることができる。コンテンツには、このメッセージコンテンツが、特定のコンテンツ転送シナリオに合うようにカスタマイズされることを可能にするワイルドカードエントリを含めることができる。
【００７２】
しかし、ターゲットデバイス１０４に送信されるメッセージは、プラグインアプリケーションフレームワーク３０６によって提供される特定のＵＲＬおよびメッセージコンテンツのすべてを含んでもよいし、含まなくてもよい。例えば、（単一のＳＭＳパケットによる伝送などの）一部の制限的なプロトコルは、ターゲットデバイス１０４へＵＲＬ情報を伝送するのに容易に対処することができない可能性がある。この問題に対処するのに、メッセージ作成モジュール３０４は、ミニガイドなどの簡略参照識別子（shorthand reference identifier）をメッセージに割り当てることができ、次いで、このミニガイドを、実際のＵＲＬの代わりにターゲットデバイス１０４に送信することができる。ユーザが、ターゲットデバイス１０４においてミニガイドをアクティブ化すると、要求ハンドラモジュール３０２は、このミニガイドを実際のＵＲＬにマッピングし直すことによって、実際のＵＲＬに関連付けられた所望のコンテンツにユーザをリダイレクトすることができる。
【００７３】
しかし、この初期段階では、メッセージ作成モジュール３０４は、このメッセージをメッセージストア３１４に単に記憶するだけである。より具体的には、メッセージストア３１４は、このメッセージを構築するのに使用された要求情報、プラグインアプリケーションフレームワーク３０６から取得された実際のＵＲＬおよびメッセージコンテンツ、ならびにメッセージ作成モジュール３０４によって割り当てられたミニガイドなどの、このメッセージに関連付けられた様々な情報を記憶することができる。このメッセージストア３１４は、ターゲットデバイス１０４から受信されたミニガイドに基づいて、所望のコンテンツの実際のＵＲＬを発見するためのマッピングテーブルの役割を果たすことができる。メッセージが、メッセージストア３１４に最初に記憶されると、そのメッセージには、「キャリアルックアップ待ち状態（pending carrier lookup）」というステータスのフラグが付けられる。
【００７４】
キャリアルックアップの話題に関して、要求ハンドラモジュール３０２は、配信選択モジュール３１６を含む。配信選択モジュール３１６の１つの目的は、ＣＦユーザインタフェース表示を介してユーザによって入力された（電話番号などの）アドレス情報を、そのメッセージと、そのメッセージのオプションのリンク付きコンテンツとをターゲットデバイス１０４に配信するのに使用可能なキャリアにマッピングすることにある。この機能を実行するために、配信選択モジュール３１６は、このマッピング機能を実行する様々な周知のサービスに頼ることができる。
【００７５】
さらに、配信選択モジュール３１６は、キャリアがサポートする可能な配信方法のリストを提供することができる。例示的な配信方法には、ＷＡＰ  Ｐｕｓｈプロトコル（ここで、ＷＡＰは、Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌを表す）、ＳＭＳ（ここで、ＳＭＳは、Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅを表す）、ＳＭＴＰ（ここで、ＳＭＴＰは、Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌを表す）、ＭＭＳ（Ｍｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）などが含まれる。配信選択モジュール３１６は、これらのプロトコルのそれぞれに、異なるプリファレンススコア（preference score）を割り当てることができる。これらのスコアは、使用されるキャリアの身元、転送されるコンテンツの性質、（知られている場合、）ターゲットデバイス１０４の性質などの、いくつかのコンテキストファクタに応じて異なり得る。次いで、配信選択モジュール３１６は、最高のスコアを有するプロトコルに対応する最も好ましい配信方法を選択することができる。１つのケースでは、選択された配信方法は、コンテンツがターゲットデバイス１０４に転送される基本的な方法を決定するものである。例えば、コンテンツがイメージに該当するものと想定されたい。第１の配信方法が選択された場合、そのイメージは、メッセージ自体とともに送信することができる。第２の配信方法が選択された場合、イメージ自体ではなく、リンクをそのイメージに送信することができる。
【００７６】
最後に、配信選択モジュール３１６（または、場合により、要求ハンドラモジュール３０２内の別のモジュール）は、オプションとして、メッセージおよび／またはメッセージのオプションのリンク付きコンテンツを、配信を実行するのに使用されるキャリアおよび選択された配信プロトコル、ならびに／または（知られている場合、）そのメッセージを受信するターゲットデバイス１０４に最もよく合うようにフォーマットすることができる。
【００７７】
１つのケースでは、配信選択モジュール３１６は、「キャリアルックアップ待ち状態」ステータスを有するエントリを確認するために、メッセージストア３１４を定期的に走査するように動作することができる。配信選択モジュール３１６は、これらのエントリに関するキャリアルックアップを実行することができる。
【００７８】
ステータス問い合わせモジュール３２０は、メッセージ配信のステータスに関するステータス情報をインタフェースプロバイダ１０８に提供するために使用される。インタフェースプロバイダ１０８は、１つまたは複数のＣＦユーザインタフェース表示を介して、このステータス情報をユーザに転送する。すなわち、メッセージが最初に作成されて記憶されると、ステータス問い合わせモジュール３２０は、そのメッセージに関連付けられたハンドルをインタフェースプロバイダ１０８に戻すことができる。次いで、インタフェースプロバイダ１０８は、このハンドルを使用してＲＰＦ１１０に問い合わせ、配信のステータスを判定することができる。インタフェースプロバイダ１０８が、そのような問い合わせを行うと、ステータス問い合わせモジュール３２０は、ステータス情報をインタフェースプロバイダ１０８に提供することによって応答する。
【００７９】
メッセージは、最初に作成されると、このメッセージには、「キャリアルックアップ待ち状態」というステータスが割り当てられる。キャリアの決定に成功すると、ステータスは、「配信待ち状態」に変化することができる。メッセージが実際に配信されると、ステータスは、「配信済み」に変化することができる。様々なエラーが、このプロセスにおいて生じる可能性がある。例えば、識別されたターゲットデバイス１０４にそのメッセージを配信する適切なキャリアが存在しない可能性がある。この場合、ステータス問い合わせモジュール３２０は、様々なエラーメッセージをインタフェースプロバイダ１０８に戻すことができ、インタフェースプロバイダ１０８は、これらのエラーメッセージを、様々なＣＦユーザインタフェース表示において、ユーザに転送することができる。
【００８０】
メッセージ配信モジュール３２２は、メッセージストア３１４内のメッセージをターゲットデバイス１０４に配信するタスクを実行する。メッセージ配信モジュール３２２は、メッセージストア３１４を定期的に走査して、ターゲットデバイス１０４に送信される準備のできたメッセージを識別し、次いで、そのようなメッセージを送信することにより、このタスクを実行することができる。キャリアルックアップ動作が、このメッセージに関して正常に実行されたことをメッセージのステータスにより反映されると、メッセージは、ターゲットデバイスに送信される準備ができている状態となっている。
【００８１】
要求ハンドラモジュール３０２の残りのコンポーネントは、ターゲット対話モジュール３２４である。ターゲット対話モジュール３２４の目的は、ターゲットデバイス３２４と対話することにある。例えば、ターゲットデバイス１０４によって受信されたメッセージには、１つまたは複数のリンクが含まれる場合がある。ユーザが、これらのリンクのうちの１つをアクティブ化すると、ターゲットデバイス１０４は、ターゲット対話モジュール３２４にこの情報を返送する。次いで、ターゲット対話モジュール３２４は、そのアクティブ化されたリンクに関連付けられたコンテンツがどのようなものであれ、そのコンテンツにアクセスし、そのコンテンツを提供することによって、ターゲットデバイス１０４の要求を処理する。
【００８２】
１つのケースでは、メッセージ配信モジュール３２２によってターゲットデバイス１０４に送信されるメッセージは、リンク付きコンテンツの実際のＵＲＬを提供することができる。この場合、ターゲット対話モジュール３２４は、ターゲットデバイス１０４からこのＵＲＬを返されて受信し、次いで、このＵＲＬを使用して、リンクに関連付けられたコンテンツを直接取得することができる。別のケースでは、メッセージは、実際のＵＲＬへの簡略参照であるミニガイドを提供することができる。実際のＵＲＬを取得するために、ターゲット対話モジュール３２４は、実際のＵＲＬを探し出すマッピング参照として、このミニガイドを使用することができる。メッセージストア３１４が、このマッピング機能を提供することができる。次いで、実際のＵＲＬに関連付けられたコンテンツを取得して、このコンテンツをターゲットデバイス１０４に送信することができる。
【００８３】
１つのケースでは、メッセージストア３１４は、３週間後などの、規定された時間の後、メッセージストア内の項目を廃棄する（例えば、削除する）。したがって、ユーザが、３週間の間隔の間にターゲットデバイス１０４において受信されたメッセージをアクティブ化した場合、マッピングを正常に実行することができる。ユーザが、３週間の間隔後にそのメッセージをアクティブ化した場合、マッピングは不成功となる。この場合、ターゲット対話モジュール３２４は、キャリアに関連付けられたデフォルトのページなどの、デフォルトのページにユーザを誘導することができる。キャリアは、様々な方法で識別することができる。１つのケースでは、ターゲットデバイス１０４に送信されるミニガイドには、キャリアへの参照とともに、他のパラメータ情報も含めることができる。このことにより、ターゲットデバイス１０４は、デフォルトのページにアクセスすることが可能になる。ユーザをデフォルトのページに誘導することは、マーケティングの観点から有用であると考えられる。例えば、デフォルトのページは、オプションとして、１つまたは複数のサービスにユーザが関心を持つようにしようと試みることが可能である。
【００８４】
ターゲットデバイス１０４からの要求に応答して、ターゲット対話モジュール３２４は、配信選択モジュール３１６を利用して、ターゲットデバイス１０４に送信されるコンテンツを、ターゲットデバイス１０４の特性（および／またはターゲットデバイス１０４にコンテンツを配信するのに使用されるプロトコル）に最もよく合うようにフォーマットすることができる。例えば、ターゲットデバイス１０４が、小さなユーザインタフェースを有する移動電話機などの小型デバイスであるものと想定されたい。配信選択モジュール３１６は、大規模の情報項目における情報を簡略化して、その情報が、ターゲットデバイス１０４のスクリーン上に「収まる」ようにすることができる。一般に、ターゲット対話モジュール３２４および配信選択モジュール３１６は、いくつかのユーザインタフェースフィーチャを再フォーマットすること、（例えば、いくつかのフィーチャをフィルタリングして省略することにより、）いくつかのユーザインタフェースフィーチャを簡略化すること、（例えば、いくつかのフィーチャを追加することにより、）いくつかのユーザインタフェースフィーチャを機能強化すること、（例えば、ＨＴＭＬの代わりに、ＷＭＬ、ＸＨＴＭＬ、ｃＨＴＭＬなどに変換することにより、）ユーザインタフェースフィーチャに関連付けられたマークアップ言語を変更することなどにより、そのような変換を協働して実行することができる。ターゲットデバイス１０４に関する情報は、例えば、ターゲットデバイス１０４がＲＰＦ１１０とコンタクトしてメッセージに関連付けられた特定のコンテンツを取得する際に伝えることができる。例えば、ターゲットデバイス１０４に関する情報は、ターゲットデバイス１０４の要求内に存在する様々なパラメータによって伝えることができる。
【００８５】
Ａ．５．  例示的なユーザデバイス    
図４は、代表的な第１のデバイス１０２または第２のデバイス１０４などの、例示的なユーザデバイス４０２の例示的なコンポーネントを示している。
【００８６】
ユーザデバイス４０２は、表示ユニット４０６に接続された処理ユニット４０４を備えている。処理ユニット４０４は、基本的な様々なタスクを実行するための任意のデータ処理機能を含む。表示ユニット４０６は、ユーザが処理ユニット４０４と対話できる任意の種類の出力機構を提供する。
【００８７】
本発明の文脈では、処理ユニット４０４には、オプションとして、クライアントＣＦ関連機能４０８を含めることができる。第１のデバイス１０２の場合、この機能４０８は、ターゲットモジュール４０８へのコンテンツの配信に関連する様々な動作を実行することができる。１つのケースでは、クライアントＣＦ関連機能４０８は、ＢＵＩＡ  ＣＦ機能１１６など、ＢＵＩＡ１０６の１つまたは複数の態様を実装することができる（しかし、他のケースでは、前述したように、ＢＵＩＡ１０６は、リモートのパートナウェブサイトなどによっても実装することができる）。
【００８８】
別のケースでは、前述したように、（ＢＵＩＡ  ＣＦ機能１１６などの）ＣＦ機能の１つまたは複数の態様は、ユーザデバイス４０２によってローカルで実装されるブラウザ機能に組み込むことができる。例えば、このブラウザ機能は、ＣＦ機能をアクティブ化するか、または非アクティブ化するように構成することができる。ＣＦ機能がアクティブ化されると、ＣＦ機能は、ベースユーザインタフェース表示において、ＣＦアイコンおよびＣＦユーザインタフェース表示を表示する。ＣＦ機能が非アクティブ化されると、ＣＦ機能は、このＣＦ情報を表示しない。様々なＣＦ関連コマンドを、ブラウザのツールバーに組み込むことができる。
【００８９】
別のケースでは、（図２の）自動アイコン挿入器２１０の態様は、ユーザデバイス４０２によってローカルレベルで実装することができる。この場合も、この機能は、ローカルのブラウザに組み込むことができる。この機能は、ユーザデバイス４０２によってロードされたベースユーザインタフェース表示を走査して、ＣＦアイコンを用いてこれらのベースユーザインタフェース表示に適切に注釈を付けることができる（しかし、前述したように、こうした自動アイコン挿入動作は、１つまたは複数のリモートサイトによって実行することも可能であり、この実装では、ユーザデバイス４０２は、ＣＦアイコンを用いて既に注釈が付けられたベースユーザインタフェース表示を受信することができる）。
【００９０】
表示ユニット４０６は、視覚的出力、オーディオ出力、触覚出力、これらの出力の任意の組合せなどを提供することができる。例えば、表示ユニット４０６は、視覚的出力を、（例えば、１つまたは複数のグラフィカルユーザインタフェース表示の形態で）ユーザに提供するユーザインタフェース４１０を提示することができる。ユーザインタフェース４１０を使用して、デバイスレベルで、リモートサーバレベルで、またはデバイスレベルとリモートサーバレベルとの組合せにおいて記憶されたロジックに基づいて、ユーザインタフェース表示を提示することができる。ユーザは、キーボード、マウスデバイス、タッチスクリーンなどの様々な入力機構を介して、ユーザインタフェース表示と対話することができる。代替として、ユーザインタフェース４１０は、例えば、口頭による情報の交換を介してユーザがシステム１００と対話することを可能にすることにより、オーディオ機構によって全体として、または部分的に実装することができる。
【００９１】
Ｂ．  例示的なユーザインタフェース表示（図５〜図７）    
図５〜図７は、ユーザがシステム１００と対話するために使用できる例示的なユーザインタフェース表示を提供している。これらのユーザインタフェース表示のスタイル、編成、および内容は、様々な技術環境およびビジネス環境に合うように変更することが可能であることが、読者には理解されよう。
【００９２】
Ｂ．１．  ＣＦアイコンを用いたベースユーザインタフェース表示への注釈付け、およびＣＦユーザインタフェース表示    
最初に、図５は、ＢＵＩＡ５０６によって提供することができる１つの例示的なユーザインタフェース表示５００を示している。ユーザインタフェース表示５００は、第１のユーザデバイス１０２のユーザインタフェース４１０上で表示することができる。大まかに見ると、このユーザインタフェース表示５００は、上記において「ベースユーザインタフェース表示」と呼ばれていたものに相当する。
【００９３】
図５のＢＵＩＡ１０６は、検索機能を提供する。この特定の例示的なシナリオでは、ユーザは、ユーザの現在の所在地であるバージニア州アレクサンドリアの近くのピザレストランの場所を探すことを望んでいる。したがって、ユーザは、「Ｐｉｚｚａ」および「Ａｌｅｘａｎｄｒｉａ，ＶＡ」などの様々な検索語を入力する。その結果として、ユーザは、その検索語と合致する検索結果のリスト５０２を受け取る。各検索結果は、情報項目を含んでいる。例えば、最初の２つの検索結果（５０４、５０６）は、それぞれの２つの情報項目を含んでいる。ユーザインタフェース表示はまた、検索結果５０２において識別されたレストランのうちの１つまたは複数のレストランの場所を示す地図５０８を提示することもできる。
【００９４】
検索結果５０２における情報項目の各々には、ＣＦアイコンを用いて注釈が付けられている。例えば、情報項目５０６には、ＣＦアイコン５１０を用いて注釈が付けられている。このＣＦアイコン５１０には、「Ｓｅｎｄ  ｔｏ  ｍｏｂｉｌｅ」というラベルが付けられていて、ユーザが、このアイコン５１０をアクティブ化して、情報項目５０４をターゲットデバイス１０４（例えば、移動電話機）に送信できることを、ユーザに通知している。ＣＦアイコン５１０の視覚的外観は、代表的なものであって、限定的なものではないことを意図している。すなわち、視覚的外観は、いくつかの環境上の考慮事項に応じて大幅に変更され得る。
【００９５】
ベースユーザインタフェース表示には、様々な手法を使用して、ＣＦアイコンを用いて注釈を付けることができる。１つの手法では、設計者が、ＣＦアイコンをそれぞれの検索結果に追加する固定コードを記述することができる。別の手法では、自動アイコン挿入器２１０を使用して、ベースユーザインタフェース表示のコンテンツを自動的に解析し、データストア２１２内の予め定められたルールと合致するＣＦアイコンを、それらの情報に追加することができる。したがって、第２の手法は、第１の手法よりも柔軟性がある。
【００９６】
図５に示した使用シナリオにおいて、ユーザは、第２の情報項目５０６をターゲットデバイス１０４に送信することを意図している。この動作を実行するために、ユーザは、第２の項目５０６に関連付けられたＣＦアイコンをクリックする。これにより、システム１００は、ＣＦユーザインタフェース表示５１２を表示するよう促される。前述したように、インタフェースプロバイダ１０８は、ＣＦユーザインタフェース表示５１２を提供する。したがって、ユーザに提供される結果のユーザインタフェース表示は、ベースユーザインタフェース表示とＣＦユーザインタフェース表示とを一体にしたものである。これら２つのユーザインタフェースコンポーネントは、前述した方法で、２つの異なるソースに由来し得るものである。
【００９７】
この初期ＣＦユーザインタフェース表示５１２の目的は、ユーザから要求情報を収集することにある。より具体的には、ＣＦユーザインタフェース表示５１２は、ユーザからアドレス情報を求めるように設計されたアドレスエントリフィールド５１４を含む。アドレス情報は、コンテンツを受信するターゲットデバイス１０４のアドレスを識別する。ＣＦユーザインタフェース表示５１２はまた、送信コマンドボタン５１６も含む。この送信コマンドボタン５１６は、収集された要求情報を処理のためにＲＰＦ１１０に転送するようインタフェースプロバイダ１１２に命令するものである。
【００９８】
前のセクションで詳細に説明したように、インタフェースプロバイダ１０８は、ユーザが対応するＣＦアイコンを呼び出すコンテキストに合うように、ＣＦユーザインタフェース表示５１２をカスタマイズする。コンテキストは、インタフェースプロバイダ１０８に提供される１つまたは複数のパラメータとして表現することができる。ＣＦインタフェース表示５１２は、例えば、ターゲットデバイス１０４のロケールを反映するパラメータに応答して、カスタマイズされる。例えば、アドレスエントリフィールド５１４のフォーマットは、米国内の配信地域に関する電話番号を受け入れるように構成される。
【００９９】
Ｂ．２．  例示的な他の種類のＣＦユーザインタフェース表示    
図６Ａ〜図６Ｅは、他の様々な種類のＣＦユーザインタフェース表示を提供している。これらの表示は、いくつかの条件が満たされるという条件付きで、図５のＣＦユーザインタフェース表示の提示の後にユーザに提供される。
【０１００】
図６Ａのケースでは、ユーザは、図５のＣＦユーザインタフェース表示における「Ｎｏｔ  ｉｎ  ｔｈｅ  Ｕｎｉｔｅｄ  Ｓｔａｔｅｓ」リンクをアクティブ化している。これにより、インタフェースプロバイダ１０８は、別のロケールを選択するオプションをユーザに与えるＣＦユーザインタフェース表示を表示するように促される。
【０１０１】
図６Ｂのケースでは、インタフェースプロバイダ１０８は、オプションとして、様々なセキュリティ動作を実施して、ユーザがシステム１００と対話することを許可されていることを確実にすることができる。図６Ｂのケースでは、インタフェースプロバイダ１０８は、ＨＩＰ（Human Interaction Proof）入力プロシージャを正常に完了するよう、ユーザに要求するユーザインタフェース表示を提示する。ＨＩＰとは、人間だけが理解して繰り返すことができる文字を表示するユーザインタフェース表示のことを指す。そのような表示の使用により、自動化されたアプリケーションが、不適切な目的でＣＦ機能を悪用し得るというリスクが低減される。
【０１０２】
図６Ｃのケースでは、インタフェースプロバイダ１０８は、ＲＰＦ１１０が、１つまたは複数の理由で、現時点でユーザのターゲットデバイス１０４に接続することができなかったことを、ユーザに通知している。例えば、ＲＰＦ１１０は、メッセージをターゲットデバイス１０４に配信することができるキャリアを発見することに失敗した可能性がある。この失敗が生じた場合、図６Ｃに示されるＣＦユーザインタフェース表示は、ＣＦ機能のスポンサであるエンティティ、または他の何らかのエンティティによって提供される他の移動体関連サービスにユーザを誘導することができる。そうすることにより、ＣＦスポンサエンティティは、その失敗をマーケティングの機会に活用できるようになる。
【０１０３】
図６Ｄのケースでは、インタフェースプロバイダ１０８は、要求が依然として待ち状態である、すなわち、メッセージが、ユーザのターゲットデバイス１０４にまだ配信されていないことを、ユーザに通知している。
【０１０４】
最後に、図６Ｅのケースでは、インタフェースプロバイダ１０８は、ユーザの要求が成功したこと、すなわち、メッセージが、ユーザのターゲットデバイス１０４に配信されたことを、ユーザに通知している。
【０１０５】
Ｂ．３．  例示的なターゲットデバイスのユーザインタフェース表示    
図７は、ターゲットデバイス１０４のユーザインタフェース上で表示される例示的なユーザインタフェース表示７００を示している。このケースにおけるターゲットデバイス１０４は、移動電話機などの小型デバイスに相当する。この例示的で、限定的ではないケースでは、ユーザインタフェース表示７００は、図５の検索結果のリスト５０２における情報項目５０６に相当するテキスト情報７０２を提供している。
【０１０６】
ユーザインタフェース表示にはまた、検索結果に関連付けられた１つまたは複数のリンク７０４を含めることもできる。これらのリンク７０４は、ユーザが、検索結果に関連付けられた地図にアクセスすること、検索結果に関連付けられた道案内を取得すること、および、オプションとして、新たな検索を実行することを可能にする。ユーザが、これらのリンク７０４のうちの１つをアクティブ化すると、ユーザのターゲットデバイス１０４は、メッセージパラメータをＲＰＦ１１０に返送する。これらのメッセージパラメータには、アクティブ化されたリンクに対応する少なくとも１つの識別子とともに、（ＲＰＦ１１０によってターゲットデバイス１０４に転送された）ミニガイド情報を含めることができる。次いで、ＲＰＦ１１０は、そのミニガイド情報を、そのリンクに関連付けられた実際のＵＲＬにマッピングし、ターゲットデバイス１０４のユーザに、要求されたコンテンツを提供することができる。
【０１０７】
Ｃ．  例示的なプロセス（図８〜図１４）    
図８〜図１４は、図１に示したシステム１００の例示的な動作の方法を説明するプロシージャを示している。説明を容易にするために、いくつかの動作が、ある順序で実行される別々のステップを構成するものとして説明する。そのような実装は、例示的なものであって、限定的なものではない。本明細書で説明するいくつかのステップは、まとめてグループ化して単一の動作として実行することもできるし、いくつかのステップは、本開示で示される例において使用される順序とは異なる順序で実行することもできる。システム１００の例示的な動作の方法は、前のセクションで既に説明したので、このセクションは、主に見直しの役割を果たすものである。
【０１０８】
Ｃ．１．  要求情報の収集    
図８は、要求を形成するためのプロシージャ８００を示している。この要求は、識別されたコンテンツをターゲットデバイス１０４に転送するよう、ＲＰＦ１１０に命令するものである。
【０１０９】
ステップ８０２で、システム１００は、ＢＵＩＡ１０６によって提供されるベースユーザインタフェース表示におけるＣＦアイコンのユーザによるアクティブ化を受信する。このＣＦアイコンは、ユーザがターゲットデバイス１０４に送信することを意図する情報項目に関連付けられている。このＣＦアイコンのアクティブ化により、ＢＵＩＡ１０６は、１つまたは複数のパラメータをインタフェースプロバイダ１０８に転送するよう促される。これらのパラメータは、アプリケーションＩＤ、シナリオＩＤ、ロケール、１つまたは複数の名前−値ペアなどの、ユーザがＣＦアイコンをアクティブ化したコンテキストを示すものである。
【０１１０】
ステップ８０４で、インタフェースプロバイダ１０８は、当該インタフェースプロバイダ１０８に転送されたパラメータにしたがって、ＣＦユーザインタフェース表示を描画する。
【０１１１】
ステップ８０６で、インタフェースプロバイダ１０８は、提供されたＣＦユーザインタフェース表示を使用して、ユーザから情報を受け取る。このような情報には、例えば、ターゲットデバイス１０４のアドレスが含まれる。この動作は、ユーザが以前の機会にユーザのアドレス情報を提供していた場合、およびユーザが現在サインインしている（または、そのユーザの身元を他の何らかの機構から推測することが可能である）場合、省略することができる。ユーザに関する情報は、クッキーベースの技術を使用して、または他の何らかの方法で、専用のユーザプロファイルストア２０８に記憶することができる。
【０１１２】
ステップ８０８で、インタフェースプロバイダ１０８は、収集された要求情報を処理のためにＲＰＦ１１０に提供する。
【０１１３】
Ｃ．２．  メッセージの作成    
図９は、インタフェースプロバイダ１０８から受信された要求情報に基づいてメッセージを作成するためのプロシージャ９００を示している。
【０１１４】
ステップ９０２で、ＲＰＦ１１０は、要求許可モジュール３０４を使用して、要求が許可されるかどうかを決定する。この動作は、ユーザがサインインすると、１つまたは複数のデータストアにアクセスして、ユーザが、識別されたターゲットデバイス１０４にコンテンツを送信する許可を与えられているかどうかを判定することにより、実行することができる。
【０１１５】
ステップ９０４で、ＲＰＦ１１０は、メッセージを構築する際に使用するためのＵＲＬおよびテキストコンテンツにアクセスする。ＲＰＦ１１０は、プラグインアプリケーションフレームワーク３０６に頼って、この情報を取得することができる。ＲＰＦ１１０は、使用されるＢＵＩＡ１０６の種類に関連付けられたフレームワーク３０６におけるアプリケーションモジュールを特に調べることができる。
【０１１６】
ステップ９０６で、ＲＰＦ１１０は、この構築されたメッセージをメッセージストア３１４に記憶することができる。さらに、ＲＰＦ１１０は、ミニガイドを作成して、このミニガイドをメッセージストア３１４に記憶することができる。このミニガイドは、実際のＵＲＬを取得することが可能な、メッセージに対する簡略参照の役割を果たす。実際のＵＲＬの代わりにこのミニガイドをターゲットデバイス１０４に送信して、様々な制限的なプロトコルの使用に対処することが好ましい。しかし、メッセージとともに実際のＵＲＬを送信することも可能であり、その場合、ミニガイドマッピングプロシージャは、省略することができる。
【０１１７】
ステップ９０８で、ＲＰＦ１１０は、インタフェースプロバイダ１０８にハンドルを送信する。このハンドルは、メッセージに関連付けられている。インタフェースプロバイダ１０８は、このハンドルを使用して、ユーザの要求のステータスを判定する。
【０１１８】
Ｃ．３．  ターゲットデバイスに対するメッセージの送信    
図１０は、メッセージストア３１４に記憶されたメッセージをターゲットデバイス１０４に送信するためのプロシージャ１０００を示している。
【０１１９】
ステップ１００２で、ＲＰＦ１１０は、キャリアルックアップ待ち状態であるメッセージストア３１４内のメッセージを調べる。ステップ９０６で作成されたメッセージには、まず「キャリアルックアップ待ち状態」ステータスが与えられる。
【０１２０】
ステップ１００４で、ＲＰＦ１１０は、ステップ９０６で作成されたメッセージに対してキャリアルックアップを実行する。メッセージを配信するために使用すべきキャリアを特定することに加えて、ＲＰＦ１１０は、ＳＭＳ、ＷＡＰ  Ｐｕｓｈ、ＳＭＴＰ、ＭＭＳなどのいずれか１つを含む、メッセージをターゲットデバイス１０４に送信するための好ましいプロトコルを決定することができる。さらに、ＲＰＦ１１０は、コンテンツの再フォーマットが、そのメッセージを配信するために実行される必要があるかどうかを判定することができる。
【０１２１】
ステップ１００６で、ＲＰＦ１１０は、メッセージがステップ１００４のキャリアルックアップ動作にパスした場合、そのメッセージのステータスを変更する。少なくとも１つのキャリアおよび少なくとも１つの配信プロトコルが、そのメッセージをターゲットデバイス１００４に送信する際に使用するのに利用可能である場合、ルックアップは成功である。
【０１２２】
ステップ１００８で、キャリアルックアップの成功に続き、ＲＰＦ１１０は、ターゲットデバイス１００８にそのメッセージを送信する。
【０１２３】
Ｃ．４．  ステータス問い合わせ    
図１１は、メッセージ配信のステータスを調べるためのプロシージャ１１００を示している。
【０１２４】
ステップ１１０２で、ＲＰＦ１１０は、インタフェースプロバイダ１０８からステータス要求を受信する。
【０１２５】
ステップ１１０４で、ＲＰＦ１１０は、メッセージデータストア１１０４に問い合わせて、識別されたメッセージのステータスを判定する。
【０１２６】
ステップ１１０６で、ＲＰＦ１１０は、ステータス情報をインタフェースプロバイダ１０８に提供する。
【０１２７】
ステップ１１０８で、インタフェースプロバイダ１０８がＲＰＦ１１０からメッセージ配信の成功の指示を受信することなく、規定された時間が経過した場合、エラーメッセージをユーザに提示することが可能であることを全体的に示す。
【０１２８】
Ｃ．５．  ターゲットデバイスに送信されたコンテンツのアクティブ化    
図１２は、ターゲットデバイス１０４が、受信したメッセージに基づいてコンテンツを取得することができるプロシージャ１２００を示している。
【０１２９】
ステップ１２０２で、ＲＰＦ１１０は、コンテンツを取得する要求をターゲットデバイス１０４から受信する。例えば、このステップは、ユーザが、ＲＰＦ１１０から受け取られたメッセージ内のリンクをアクティブ化し、その結果、ユーザが、このリンクに関連付けられたコンテンツを取得することを望んでいるということを反映している。
【０１３０】
ステップ１２０４で、ＲＰＦ１１０は、メッセージストア３１４を調べて、ターゲットデバイス１１０によって提供されたミニガイドを、所望のコンテンツの実際のＵＲＬにマッピングする。
【０１３１】
ステップ１２０６で、ＲＰＦ１１０は、そのＵＲＬに関連付けられた所望のコンテンツにユーザをリダイレクトする。他方、ミニガイドが期限切れになった場合、または別のエラーが生じた場合、ＲＰＦ１１０は、デフォルトのページにユーザをリダイレクトすることができる。１つのケースでは、ＲＰＦ１１０は、ターゲットデバイス１０４のキャリアに関連付けられたデフォルトのページにユーザをリダイレクトする。ミニガイド自体には、ターゲットデバイス１０４のキャリアを識別するアドレス情報を含めることができる。
【０１３２】
他のケースでは、ターゲットデバイス１０４に送信されるメッセージには、所望のコンテンツの実際のＵＲＬが含まれる。これらのケースでは、ターゲットデバイス１０４は、前述したメッセージ記憶プロシージャおよび（ミニガイドに基づく）マッピングプロシージャを実行することなく、コンテンツを取得することができる。また、このことは、ターゲットデバイス１０４に送信されるＵＲＬ情報が、（メッセージストア３１４内のミニガイド情報が期限切れになるのと同じように）必ずしも期限切れにはならないことも意味している。（実際のＵＲＬを送信するという）この手法の別の利点は、ＵＲＬが、（ミニガイドと比べて）ユーザにとってより分かりやすい可能性があるということである。
【０１３３】
Ｃ．６．  ＣＦアイコンを用いたベースユーザインタフェース表示への自動的な注釈付け    
図１３は、ベースユーザインタフェース表示にＣＦアイコンを自動的に挿入するためのプロシージャ１３００を示している。
【０１３４】
ステップ１３０２で、自動アイコン挿入器２１０は、ＣＦアイコンを用いて注釈を付けるべき情報項目に関して、ベースユーザインタフェース表示を調べる。自動アイコン挿入器２１０は、データストア２１２内のルールに依拠して、この判定を行うことができる。
【０１３５】
ステップ１３０４で、自動アイコン挿入器２１０は、ステップ１３０２の解析に基づいて、ベースユーザインタフェース表示にＣＦアイコンを挿入する。
【０１３６】
Ｃ．７．  ターゲットデバイスに対する構成情報の送信    
図１４は、第１のデバイス１０２を使用して作成された構成情報を第２のデバイス１０４に送信するためのプロシージャを示している。
【０１３７】
ステップ１４０２で、システム１００は、第１のユーザデバイス１０２にて表示するためにユーザインタフェース表示を構成するのに使用される、構成情報のユーザによる選択を受信する。
【０１３８】
ステップ１４０４で、システム１００は、第１のデバイス１０２に関して作成された構成情報を第２のデバイス１０４に転送するユーザ命令を受信する。
【０１３９】
ステップ１４０６で、システム１００は、この構成情報を第２のデバイス１０４に転送する。第２のデバイス１０４にて、この構成情報を使用して、第１のデバイス１０２によって使用されるように作成された構成と同様の方法で、第２のデバイス１０４に関するユーザインタフェース表示を構成することができる。
【０１４０】
図１４に示した構成プロシージャ１４００は、ユーザが、システム１００にサインインしていない場合であっても実行できることに留意されたい。
【０１４１】
Ｄ．  例示的なコンピュータ環境（図１５）    
図１５は、第１のデバイス１０２、第２のデバイス１０４、（ウェブサイトサーバシステムなどの）ＢＵＩＡ１０６の任意のプロバイダ、インタフェースプロバイダ１０８、ＲＰＦ１１０などの、前のセクションで説明した処理機能のいずれかを実装するのに使用可能な例示的なコンピュータ環境１５００に関する情報を提供するものである。
【０１４２】
コンピューティング環境１５００は、汎用型またはサーバ型のコンピュータ１５０２およびディスプレイデバイス１５０４を含む。しかし、コンピューティング環境１５００には、他の種類のコンピュータ機器を含めることもできる。例えば、図示されてはいないが、コンピュータ環境１５００には、ハンドヘルドデバイスまたはラップトップデバイス、セットトップボックス、ゲームコンソール、メインフレームコンピュータなどを含めることができる。さらに、図１５は、説明を容易にするように一緒にグループ化されたコンピュータ環境１５００の要素群を示すものでもある。しかし、コンピューティング環境１５００は、分散処理構成を利用することもできる。分散コンピューティング環境では、コンピューティングリソースは、環境全体にわたって物理的に分散させることができる。
【０１４３】
例示的なコンピュータ１５０２は、１つもしくは複数のプロセッサまたは処理ユニット１５０６、システムメモリ１５０８、およびバス１５１０を備えている。バス１５１０は、様々なシステムコンポーネントを一緒に接続する。例えば、バス１５１０は、プロセッサ１５０６をシステムメモリ１５０８に接続する。バス１５１０は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、および、プロセッサバスまたはローカルバスを含む、任意の種類のバス構造またはこれらバス構造の組合せを使用して実装することができる。
【０１４４】
コンピュータ１５０２はまた、様々なコンピュータ読み取り可能な媒体を備えることもできる。このようなコンピュータ読み取り可能な媒体には、様々な種類の揮発性媒体および不揮発性媒体が含まれ、その各々が取り外し可能であるか、または取り外し不可能なものである。例えば、システムメモリ１５０８は、ＲＡＭ１５１２などの揮発性メモリの形態をとるコンピュータ読み取り可能な媒体、およびＲＯＭ１５１４などの不揮発性メモリの形態をとるコンピュータ読み取り可能な媒体を含む。ＲＯＭ１５１４は、起動時中などに、コンピュータ１５０２内の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（基本入出力システム）１５１６を含む。ＲＡＭ１５１２は通常、処理ユニット１５０６が直ちにアクセスできる形態のデータおよび／またはプログラムモジュールを含む。
【０１４５】
他の種類のコンピュータ記憶媒体には、取り外し不可能な不揮発性の磁気媒体に対して読み書きを行うハードディスクドライブ１５１８、取り外し可能な不揮発性の磁気ディスク１５２２（例えば、「フロッピー（登録商標）ディスク」）に対して読み書きを行う磁気ディスクドライブ１５２０、および、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体などの取り外し可能な不揮発性の光ディスク１５２６に対して読み書きを行う光ディスクドライブ１５２４が含まれる。ハードディスクドライブ１５１８、磁気ディスクドライブ１５２０、および光ディスクドライブ１５２４はそれぞれ、１つまたは複数のデータ媒体インタフェース１５２８を介してシステムバス１５１０に接続される。代替として、ハードディスクドライブ１５１８、磁気ディスクドライブ１５２０、および光ディスクドライブ１５２４は、ＳＣＳＩインタフェース（図示せず）、または他の接続機構を介してシステムバス１５１０に接続されてもよい。図示されてはいないが、コンピュータ１５０２は、磁気カセットまたは他の磁気記憶デバイス、フラッシュメモリカード、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多用途ディスク）または他の光ストレージ、ＥＥＰＲＯＭなどの、他の種類のコンピュータ読み取り可能な媒体を含めることができる。
【０１４６】
一般に、前述したコンピュータ読み取り可能な媒体は、コンピュータ１５０２が使用するためのコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。例えば、コンピュータ読み取り可能な媒体は、オペレーティングシステム１５３０、アプリケーション特有の機能１５３２、他のプログラムモジュール１５３４、およびプログラムデータ１５３６を記憶することができる。
【０１４７】
コンピュータ環境１５００には、様々な入力デバイスを含めることができる。例えば、コンピュータ環境１５００には、コマンドおよび情報をコンピュータ１５０２に入力するためのキーボード１５３８およびポインティングデバイス１５４０（例えば、「マウス」）が含まれる。コンピュータ環境１５００には、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、シリアルポート、スキャナ、カード読み取りデバイス、デジタルカメラまたはビデオカメラなどの、他の入力デバイス（図示せず）を含めることもできる。入出力インタフェース１５４２が、これらの入力デバイスを処理ユニット１５０６に接続する。より一般的には、入力デバイスは、パラレルポート、シリアルポート、ゲームポート、ＵＳＢ（ユニバーサルシリアルバス）ポートなどの、任意の種類のインタフェースおよびバス構造を介して、コンピュータ１５０２に接続することができる。
【０１４８】
コンピュータ環境１５００にはまた、ディスプレイデバイス１５０４も含まれる。ビデオアダプタ１５４４が、ディスプレイデバイス１５０４をバス１５１０に接続する。コンピュータ環境１５００には、ディスプレイデバイス１５０４に加えて、スピーカ（図示せず）、プリンタ（図示せず）などの他の出力周辺デバイスも含めることができる。
【０１４９】
コンピュータ１５０２は、リモートコンピューティングデバイス１５４６などの１つまたは複数のリモートコンピュータに対する論理接続を使用して、ネットワーク環境において動作する。リモートコンピューティングデバイス１５４６は、汎用パーソナルコンピュータ、ポータブルコンピュータ、サーバなどを含む、任意の種類のコンピュータ機器とすることができる。リモートコンピューティングデバイス１５４６は、コンピュータ１５０２に関連して前述した特徴のすべて、またはそれらの特徴のサブセットを備えることができる。
【０１５０】
図４のＷＡＮ４０２、ＬＡＮなどの任意の種類のネットワーク１５４８を使用して、コンピュータ１５０２をリモートコンピューティングデバイス１５４６に接続することができる。コンピュータ１５０２は、ブロードバンド接続、モデム接続、ＤＳＬ接続、または他の接続方法を利用することができるネットワークインタフェース１５５０（例えば、図４に示したインタフェース）を介して、ネットワーク１５４８に接続される。図示されてはいないが、コンピュータ環境１５００は、コンピュータ１５０２をリモートコンピューティングデバイス１５４６に接続するために、（例えば、変調された無線信号、変調された赤外線信号などを介した）無線通信機能を提供することができる。
【０１５１】
構造的特徴および／または方法論的動作に固有の用語を用いて、本発明について説明したが、添付の特許請求の範囲において定義される本発明は、説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、それらの特定の特徴および動作は、特許請求する本発明を実施する例示的な形態として開示されたものである。
【図面の簡単な説明】
【０１５２】
【図１】ＣＦ機能を使用して第１のデバイスから第２のデバイスにコンテンツを転送するためのシステムを示す概略図である。
【図２】図１のシステムにおいて使用可能なインタフェースプロバイダの例示的なアーキテクチャを部分的に示す図である。
【図３】図１のシステムにおいて使用可能なＲＰＦの例示的なアーキテクチャを示す図である。
【図４】図１のシステムにおいて使用可能なユーザデバイスの例示的なアーキテクチャを示す図である。
【図５】図１のシステムにおいて使用される第１のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図６Ａ】図１のシステムにおいて使用される第１のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図６Ｂ】図１のシステムにおいて使用される第１のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図６Ｃ】図１のシステムにおいて使用される第１のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図６Ｄ】図１のシステムにおいて使用される第１のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図６Ｅ】図１のシステムにおいて使用される第１のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図７】図１のシステムにおいて使用される第２のデバイスによって提供されるユーザインタフェース表示を示す図である。
【図８】図１に示したシステムの例示的な動作の方法のうち、要求を形成するためのプロシージャを示す図である。
【図９】図１に示したシステムの例示的な動作の方法のうち、インタフェースプロバイダから受信された要求情報に基づいてメッセージを作成するためのプロシージャを示す図である。
【図１０】図１に示したシステムの例示的な動作の方法のうち、メッセージストアに記憶されたメッセージをターゲットデバイスに送信するためのプロシージャを示す図である。
【図１１】図１に示したシステムの例示的な動作の方法のうち、メッセージ配信のステータスを調べるためのプロシージャを示す図である。
【図１２】図１に示したシステムの例示的な動作の方法のうち、ターゲットデバイスが受信したメッセージに基づいてコンテンツを取得することができるプロシージャを示す図である。
【図１３】図１に示したシステムの例示的な動作の方法のうち、ベースユーザインタフェース表示にＣＦアイコンを自動的に挿入するためのプロシージャを示す図である。
【図１４】図１に示したシステムの例示的な動作の方法のうち、第１のデバイスを使用して作成された構成情報を第２のデバイスに送信するためのプロシージャを示す図である。
【図１５】図１のシステムの態様を実装するための例示的なコンピュータ環境を示す図である。
【図１】
2009522641.tif 000003
【図２】
2009522641.tif 000004
【図３】
2009522641.tif 000005
【図４】
2009522641.tif 000006
【図５】
2009522641.tif 000007
【図６Ａ】
2009522641.tif 000008
【図６Ｂ】
2009522641.tif 000009
【図６Ｃ】
2009522641.tif 000010
【図６Ｄ】
2009522641.tif 000011
【図６Ｅ】
2009522641.tif 000012
【図７】
2009522641.tif 000013
【図８】
2009522641.tif 000014
【図９】
2009522641.tif 000015
【図１０】
2009522641.tif 000016
【図１１】
2009522641.tif 000017
【図１２】
2009522641.tif 000018
【図１３】
2009522641.tif 000019
【図１４】
2009522641.tif 000020
【図１５】
2009522641.tif 000021
【国際調査報告】
2009522641.tif 000022
2009522641.tif 000023