(57)【要約】  ネットワーク系インスタント・メッセージング・システムのためのデーター・パッケージの一例は、インスタント・メッセージング・システムのユーザーについての記述データーと、この記述データーをレンダリングするためのガジェットのネットワーク位置を示すデーターとを含む。この位置は、インスタント・メッセージング・システムの１人又は複数の他のユーザーによってアクセスすることができる。種々のその他の方法、システム、デバイス等の例についても記載する。【選択図】      図１
2011513840.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも部分的にコンピューティング・デバイスによって実施する方法であって、
インスタント・メッセージング・システムのユーザーからデーターを受信するステップと、
前記ユーザーについての記述データーを特定するため、更にガジェットの位置を特定するために、前記データーを解析するステップと、
前記ガジェットの位置にアクセスし、前記ガジェットをダウンロードするステップと、
前記記述データーをレンダリングするために前記ガジェットを実行するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記ガジェットを実行するステップは、前記記述データーを視覚的にレンダリングする、方法。
【請求項３】
請求項１記載の方法において、前記ガジェットを実行するステップは、前記記述データーを聴覚的にレンダリングする、方法。
【請求項４】
請求項１記載の方法において、前記ユーザーについての記述データーは、地理的位置データーを含む、方法。
【請求項５】
請求項１記載の方法において、前記ユーザーについての記述データーは、オーディオ・ファイルまたはビデオ・ファイルについての情報を含む、方法。
【請求項６】
少なくとも部分的にコンピューティング・デバイスによって実施する方法であって、
インスタント・メッセージング・システムのユーザーについての記述データーを発生するステップと、
前記発生した記述データーをレンダリングするように構成されているガジェットのネットワーク位置を特定するステップと、
前記記述データーおよび前記ガジェットのネットワーク位置を、前記インスタント・メッセージング・システムのインスタント・メッセージング・サーバーに送信することによって、前記ガジェットの読み出し、および該ガジェットを実行することによる前記記述データーのレンダリングの準備をするステップと、
を備えている、方法。
【請求項７】
請求項６記載の方法であって、更に、
前記インスタント・メッセージング・サーバーにアクセスするステップと、
前記記述データーおよび前記ガジェットのネットワーク位置をダウンロードするステップと、
を備えている、方法。
【請求項８】
請求項７記載の方法であって、更に、
前記ガジェットを前記ネットワーク位置からダウンロードするステップと、
前記記述情報をレンダリングするために、前記ガジェットを実行するステップと、
を備えている、方法。
【請求項９】
請求項６記載の方法において、前記記述データーは、前記インスタント・メッセージング・システムのユーザーのプレゼンス情報を拡張する拡張情報を含む、方法。
【請求項１０】
請求項６記載の方法であって、更に、前記記述データーおよび前記ガジェットのネットワーク位置を前記インスタント・メッセージング・システムのインスタント・メッセージング・サーバーに送信することを実行するために、１つ又は複数のアプリケーション・プログラミング・インターフェースをコールするステップを備えている、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  インターネットは、地球規模のコンピューター・ネットワークであり、インスタント・メッセージングのような種々のアプリケーションを通じて、ユーザーが互いに通信し合うことを可能にする。電子メール、ショート・メッセージング・サービス（ＳＭＳ）等のような、時間遅延通信と比較すると、本当の会話に更に近い会話を可能にする種々のインスタント・メッセージング（ＩＭ）システムが入手可能である。加えて、多くのＩＭシステムは、ユーザーに「プレゼンス」(presence)ステータス（例えば、オンライン、オフライン、不在(away)等）を表示させるメカニズムを含む。
【０００２】
[0002]  WINDOWS（登録商標）LIVE（商標）Messenger（ワシントン州、RedmondのMicrosoft Corporation）として知られているＩＭシステムは、プレゼンス・アプリケーション・プログラミング・インターフェース（WINDOWS（登録商標）LIVE（商標）プレゼンスＡＰＩ）を含む。このＨＴＴＰ系ＡＰＩは、JavaScript（商標）Object Notation（ＪＳＯＮ）（カリフォルニア州、SunnyvaleのSun Microsystems, Inc.,)を用いた  WINDOWS（登録商標）LIVE（商標）Messengerユーザーのプレゼンス、または画像を返す。WINDOWS（登録商標）LIVE（商標）プレゼンスＡＰＩは、  WINDOWS（登録商標）LIVE（商標）Messenger IM Controlとして知られている制御と共に用いることができる。ウェブ・サイトは、  WINDOWS（登録商標）LIVE（商標）プレゼンスＡＰＩを用いてユーザーのプレゼンスを示すことができ、WINDOWS（登録商標）LIVE（商標）Messenger IM Controlを用いて、訪問者にメッセージをユーザーに送らせることができる。
【０００３】
[0003]  WINDOWS（登録商標）LIVE（商標）PresenceＡＰＩでは、一人のＩＭユーザーが、他のユーザーに、彼らのオンライン・プレゼンスを表示する許可を与えるように促すことができる。これは、サインアップ・ページにリンクを追加することによって行われる。ユーザーがサインアップ・リンクをクリックすると、ユーザーはWINDOWS（登録商標）LIVE（商標）Messenger 設定ページに連れて行かれる。一旦サインアップが完了すると、そのサインアップ・リンクにおいて指定されているＵＲＬに再度導かれる。こうして、このユーザーのＩＤを用いて、ユーザーのオンライン・プレゼンスについて問い合わせることができるようになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]  ユーザー「プレゼンス」は、ユーザーがより多くの情報を共有することを望むにつれて、殆どのＩＭシステムの基本的な機構になってきているが、一部のＩＭシステムは、いわゆる「プレゼンス拡張」(presence extensions)によってプレゼンスを拡張するメカニズムを開発している。プレゼンス拡張は、ユーザーに、位置または活動のような追加情報をプレゼンス・ステータスに提供させることができる。例えば、ユーザー「ジョー」について、プレゼンス・ステータスおよびプレゼンス拡張は、「忙しい」および「ジェームス・ブラウンを聞いている」ことを示すこともできる。しかしながら、今日まで、拡張情報を容易に共有できる場合は限られていた。本明細書において記載するように、種々の方法、システム、デバイス等の例は、ＩＭ環境において種々の情報のいずれでも、人々が共有することを可能にする。
【課題を解決するための手段】
【０００５】
[0005]  この摘要は、データーの自己記述レンダリングに関する概念を簡略化して紹介するために設けられている。その概念については、詳細な説明において以下で更に説明する。この摘要は、特許請求する主題の必須の特徴を特定することを意図しているのではなく、特許請求する主題の範囲を判断する際に用いることを意図しているのでもない。
【０００６】
[0006]  ネットワーク系インスタント・メッセージング・システム用のデーター・パケットの一例は、インスタント・メッセージング・システムのユーザーについての記述データーと、この記述データーをレンダリングするためのガジェット(gadget)のネットワーク位置を示すデーターとを含み、この位置は、インスタント・メッセージング・システムの１人又は複数の他のユーザーによってアクセス可能である。また、種々のその他の方法、システム、デバイス等の例についても記載する。
【図面の簡単な説明】
【０００７】
[0007]  添付図面を参照しながら、詳細な説明を記載する。図面において、参照番号の一番左側の数字（１つまたは複数）は、その参照番号が最初に出てくる図を特定する。異なる図面において同じ参照番号が用いられている場合、同様または同一の項目を示すこととする。
【図１】図１は、データーの自己記述レンダリングを実現するためのネットワーク環境の一例を示す。
【図２】図２は、データーの自己記述レンダリングを実現するためのコンピューティング・デバイスの一例を示す。
【図３】図３は、データーの自己記述レンダリングに合わせた体系と共に用いるためのアプリケーション・プログラム・インターフェース（ＡＰＩ）の一例を示す。
【図４】図４は、データーの自己記述レンダリングに合わせた体系と共に用いるためのアプリケーション・プログラム・インターフェース（ＡＰＩ）の一例を示す。
【図５】図５は、データーの自己記述レンダリングに合わせた体系と共に用いるためのアプリケーション・プログラム・インターフェース（ＡＰＩ）の一例を示す。
【図６】図６は、職務用設定におけるデーターの自己記述レンダリングの実施態様例を示す。
【図７】図７は、個人用設定におけるデーターの自己記述レンダリングの実施態様例を示す。
【図８】図８は、広告の自己記述レンダリングの実施態様例を示す。
【図９】図９は、地理的位置の自己記述レンダリングの実施態様例を示す。
【図１０】図１０は、ガジェット作成プロセスの一例を示す。
【図１１】図１１は、ガジェットを用いてユーザー情報をレンダリングするプロセス例を示す。
【図１２】図１２は、データーの自己記述レンダリングを実現するプロセス例を示す。
【図１３】図１３は、コンピューティング・デバイスの一例を示す。
【発明を実施するための形態】
【０００８】
[0021]  本明細書に記載する種々の方法、システム、デバイス等の例は、ユーザーがＩＭ環境において情報を容易に共有することを可能にする。例えば、ＩＭ拡張メカニズムの一例は、拡張のコンテンツをレンダリングするガジェットを指定する。このような例では、ガジェットは、加入終点(subscribed endpoint)によって、発行元終点からピア・ツー・ピアで読み出すことまたはウェブ・サーバーから読み出すことができる。ガジェットがレンダリングする情報は、プレゼンス文書に収容することができ、全ての加入者に発行することができる。ユーザーが地理的位置を示すことを可能にする位置拡張(location extension)の一例について検討する。このような拡張は、マッピング・アプリケーション（例えば、VIRTUAL EARTH（登録商標））とのマッシュアップ(mush-up)であり、地図上にユーザーの位置をレンダリングすることができるガジェットを指定することができる。一旦レンダリングされると、ＩＭの連絡先は、近隣の会社の検索、位置を突き止めたユーザーまでの経路の計画等のようなタスクを実行することができる。単純な形態では、ガジェットはＨＴＭＬファイルおよびＸＭＬ定義ファイルである。多くの場合、ガジェットは、画像ファイル（例えば、ＰＮＧ、ＪＰＧ等）、スタイル・シート（例えば、ＣＳＳ等）、およびスクリプティング（例えば、JavaScriptソース・ファイル、VBScriptソース・ファイル等）のような、その他のファイルを含む。ガジェットは、圧縮ファイル（例えば、zipファイル等）として配信することもできる。
【０００９】
[0022]  また、プレゼンス拡張および付随するガジェットの一例は、全体的にウェブ・サーバーによって注入する(inject)することもできる。例えば、マーチャンダイザーによって運営されるウェブ・サーバーは、（例えば、ウェブ・サービスを用いて）ＩＭサーバーにウィッシュ・リストをユーザーのプレゼンスに、望まれる品目を表示するためのガジェットと共に（例えば、ユーザーの許可を得て）、注入することを命令することができる。この例では、ユーザーの連絡先の全てが、ユーザーの祝日（例えば、クリスマス、誕生日、ハヌカー、灯明の祭り(Diwali)、カンザ(Kwanzaa)等）の際にユーザーが欲しいものを見て、最初にマーチャンダイザーのウェブ・サイトに行って、ユーザーのウィッシュ・リストを調べるという段階を踏むことなく、贈り物を購入することができる。
【００１０】
[0023]  本明細書において記載するように、プレゼンス拡張の一例は、情報の表示のために、豊富なレンダリング・フォーマットを指定することができ、その拡張をレンダリング終点においてインストールする必要はない。方法の一例は、プレエンス情報をガジェットにおいて消費するステップを含むことができる。方法の一例は、ガジェットをピア・ツー・ピアで送るステップを含むことができる。
【００１１】
[0024]  記載するデーターの自己記述レンダリングのための種々の技法は、ＩＭ環境において追加情報の共有を可能にする。ユーザーは、彼／彼女の追加情報を提供して、自己記述レンダリング・メカニズム（ＳＤＲ）の一部としてＩＭシステムを通じてユーザーに接続されている連絡先と共有することができる。ＳＤＲメカニズムの一例は、コンテンツ、およびこのコンテンツをレンダリングするガジェットについての情報を提供することを含む。こうして、他のユーザーまたは連絡先は、コンテンツ（例えば、単なるプレゼンス・ステータス以外の何か）だけでなく、どのようにそのコンテンツをレンダリングすることができるかに関する情報も受け取る。
【００１２】
[0025]  本明細書において記載するように、プレゼンス拡張は、プレゼンス情報のプレゼンス文書への追加に備える（例えば、ユーザーについてのプレゼンス情報を含む文書）。プレゼンス情報は、通例、ユーザーの情報またはユーザーに関する情報であり、ユーザーがＩＭ環境において１つ又は複数の連絡先に公表することができる情報である。ＩＭシステムの命令またはコードは、ファースト・パーティと呼ぶことができ、前述のように、殆どのＩＭシステムはプレゼンス情報の通信および表示のコードを含む。拡張情報の通信および表示のコードは、第二当事者(2nd party)および第三者(3rdparty)からのコードとすることができる。
【００１３】
[0026]  方法の一例では、プレゼンス拡張は、拡張可能な言語（例えば、ＸＭＬ）で書かれたペイロードによって記述することができる。例えば、ＰＧＳプレゼンス拡張では、<presence_extension name="GPS" gadget="http://foo.com/gps.gadget"> <locationlatitude="39" longitude="147"/></presence_extension>を収容することができる。この例における拡張プレゼンス・データーは、緯度および経度情報であり、ユーザーの連絡先の全てはこれを受け取ることができる。しかし、彼らのコンピューティング・デバイスにある種のカスタム・コードがなければ、連絡先は単にＸＭＬを表示することだけに限定される場合ある。これでは、ユーザーのＩＭ体験を特に改良することにはならない。しかしながら、このプレゼンス拡張の例は、連絡先（例えば、加入ユーザー）が（例えば、遥かに豊富なデーターを表示することによって）より豊富なユーザー体験を有することを可能にするガジェットを指定する。
【００１４】
[0027]  前述の例では、「gps.gadget」が、WINDOWS（登録商標）VISTA（登録商標）オペレーティング・システムのサイドバー・ガジェットに類似したzipまたはcabアーカイブとなることができるファイルを指定する。このようファイルは、既定のフォーマットにしたがって配置されたＨＴＭＬ、ＣＳＳ、およびJavaScriptコードを収容することができる。受信端において、連絡先のコンピューティング・デバイスはそのガジェットをダウンロードし、例えば、MSHTML、WebKit等にそれをホストすることができる。次いで、連絡先のコンピューティング・デバイスは、オブジェクト・モデルを、拡張情報（例えば、ＸＭＬにおける位置情報）を収容するこのホスティング環境に注入することができる。実行時に、ＨＴＭＬは、例えば、関連のあるユーザーの位置のVIRTUAL EARTH（登録商標）地図を、ユーザーが位置する正確な地点に画鋲の絵を付けて、表示することができる。
【００１５】
[0028]  本明細書において記載するように、ユーザーが発生することができるプレゼンス拡張の一例は、拡張情報をレンダリングするために用いることができるガジェット（例えば、コード）についての記載を含む。したがって、このプレゼンス拡張は「自己レンダリング」となる。消費する側では、連絡先のコンピューティング・デバイスが、指定されたガジェット（例えば、MSHTML）をホストし、拡張プレゼンス情報を、ホストしたガジェットに注入して、発信元ユーザーの具体的な拡張プレゼンス情報をレンダリングする。以下に続く説明では、全体を通じて、前述のプロセスを、例えば、ＩＭ環境におけるデーターの自己記述レンダリングと呼ぶこととする。
ネットワーク環境例
[0029]  図１は、データーの自己記述レンダリングのためのコンピューティング環境１００の一例を示す。コンピューティング環境１００は、本明細書において記載する技法を実現することができ、本明細書において記載するエレメントを全体的または部分的に表すこともできる。コンピューティング環境１００は、コンピューティング環境の一例であり、用いられるコンピューターおよびネットワーク・アーキテクチャの使用範囲および／または機能性に対して限定を示唆する意図は全くない。
【００１６】
[0030]  コンピューティング環境１００は、複数のクライアント・デバイス１０２−１、１０２−２、１０２−３、．．．、１０２−Ｎ（纏めてクライアント１０２と呼ぶ）を含む。クライアント１０２は、ネットワーク１０４を通じて、インスタント・メッセージング・サーバー１０６と通信状態で接続されている。クライアント１０２は、例えば、デスクトップＰＣ、ノートブックまたは携帯用コンピューター、パーソナル・ディジタル・アシスタント（ＰＤＡ）、しかるべきソフトウェア／ハードウェアを有するセル・フォン、ワークステーション、移動コンピューティング・デバイス、あるいはインターネット機器等、種々の従来のコンピューティング・デバイスのいずれとしてでも実現することができる。
【００１７】
[0031]  ネットワーク１０４は、ワイヤレス・ネットワークまたは有線ネットワーク、あるいはその組み合わせでもよい。また、ネットワーク１０４は、互いに相互接続されており１つの大きなネットワーク（例えば、インターネットまたはイントラネット）として機能する、個々のネットワークの集合体とすることもできる。このような個々のネットワークの例には、限定ではなく、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、および都市エリア・ネットワーク（ＭＡＮ）が含まれる。更に、個々のネットワークは、ワイヤレス・ネットワークまたは有線ネットワーク、あるいはその組み合わせでもよい。
【００１８】
[0032]  インスタント・メッセージング（ＩＭ）サーバー１０６は、例えば、汎用コンピューティング・デバイス、サーバー、一団のサーバー、およびメインフレームとすることができる。ＩＭサーバー１０６は、クライアント１０２からのクエリーをネットワーク１０４を通じて受信することができる。ＩＭサーバー１０６は、当技術分野では周知の種々のインスタント・メッセージング・プロトコルに基づいて、クライアント１０２の２つ以上の間において通信を可能にするメカニズムを提供する。種々のクライアント１０２間における通信の交換は、書き込まれるテキストに基づくメカニズムによって実現することができる。
【００１９】
[0033]  また、通信の交換は、ユーザーと関連のある追加情報の交換を伴うこともできる。このような追加情報または拡張情報は、自己記述レンダリング（ＳＤＲ）データー１０８としてパッケージングされる。前述のように、このようなデーターは、拡張情報、およびこの拡張情報をどのようにしてレンダリングするのかについての情報を含む。拡張情報は、互いに通信しているクライアント１０２の地理的位置に関する情報、クライアント１０２が再生しているマルチメディア・コンテンツに関する情報、およびクライアント１０２に特定的なこともあるその他の情報を含むことができる。このような情報は、インスタント・メッセージング（ＩＭ）システムにおけるメッセンジャー・ウィンドウ１１０のような、グラフィカル・ユーザー・インターフェース（ＧＵＩ）において表示することができる。
【００２０】
[0034]  ＳＤＲデーター１０８に含まれるレンダリング情報は、他のクライアント１０２のコンピューティング・デバイスにおいてユーザーの拡張情報をレンダリングするために利用することができる。一実施態様では、拡張情報は、クライアント１０２の１つ又は複数においてまたはＩＭサーバー１０６において内部に維持することができ、更に拡張可能マークアップ言語（ＸＭＬ）を用いて記録し実装することができる。
【００２１】
[0035]  本明細書において記載する場合、ＳＤＲデーター１０８は、データー・パケットと呼ぶこともできる。例えば、ＳＤＲデーター１０８は、ネットワーク系インスタント・メッセージング・システム用のデーター・パッケージとすることができ、このデーター・パッケージは、インスタント・メッセージング・システムのユーザーについての記述データー（例えば、拡張情報）、およびこの記述データーをレンダリングするためのガジェットのネットワーク位置を示すデーターを含み、この位置には、インスタント・メッセージング・システムの１人又は複数の他のユーザーがアクセスすることができる。ネットワーク位置に関して、このような位置は、ＨＴＴＰ、ドメイン名、インターネット・プロトコル（ＩＰ）アドレス、あるいはその他の技法または凡例を用いて指定することができる。一般に、ガジェットは、ネットワーク上にあるリソース（例えば、ＩＭサーバー）を通じて、またはそのリソースとして入手可能である。
【００２２】
[0036]  種々の例において、インスタント・メッセージング・システムのユーザーについての記述データーは、商品に関するデーターを含む。同様に、ガジェットのネットワーク位置を示すデーターは、マーチャンダイザーのドメイン名またはインターネット・プロトコル・アドレスを含むことができる。
【００２３】
[0037]  タイムライン１１２の一例は、クライアント１０２の１つ又は複数におけるデーターの自己記述レンダリングの種々のステップを示す。一実施形態では、クライアント１０２−Ｎのユーザーは、ＩＭクライアントＺと呼ばれており、拡張情報を他のユーザー、例えば、クライアント１０２−１（ＩＭクライアントＡ）、クライアント１０２−２（ＩＭクライアントＢ）、およびクライアント１０２−３（ＩＭクライアントＣ）と共有しても構わない場合がある。このような拡張情報の例には、ＩＭクライアントＺが再生した１つ又は複数のマルチメディア・ファイルに関する情報が含まれ、タイムライン１１２において時点Ｔ１で示されている。ＩＭクライアントＺに関する一般的な情報、例えば、可用性またはプレゼンス・ステータス等は、他のクライアント１０２、即ち、ＩＭクライアントＡ、Ｂ、およびＣにこれらのメッセンジャー・ウィンドウ１１０を介して明示することができる。また、メッセンジャー・ウィンドウ１１０は、ＩＭクライアントＡ、Ｂ、およびＣのプレゼンスおよび／または可用性ステータスを、ＩＭクライアントＺに対して示すこともできる。尚、ＩＭクライアントＺには見ることができるのは、ＩＭクライアントＺに知られているクライアントの可用性情報だけであることは認められよう。これは、タイムライン１１２において時点Ｔ２によって示されている。
【００２４】
[0038]  データーの自己記述レンダリングを実現するために、ＩＭクライアントＺは、拡張情報をＳＤＲデーター１０８としてＩＭクライアントＡ、Ｂ、およびＣに送る。ＩＭクライアントＺと関連のあるＳＤＲデーター１０８は、ＩＭサーバー１０６を通じて、ＩＭクライアントＡ、Ｂ、およびＣによって受信される。これは、タイムライン１１２上において時点Ｔ３によって示されている。既に示したように、ＳＤＲデーター１０８は拡張情報およびレンダリング情報を含む。この場合、拡張情報は、ＩＭクライアントＺと関連のある情報を指定し、レンダリング情報は、拡張情報をＩＭクライアントＡ、Ｂ、およびＣにおいてレンダリングすることができる方法を判断するためのデーターを含む。タイムライン１１２上の時点Ｔ４において、１つ又は複数のエージェントが、付随するレンダリング情報にしたがって拡張情報をレンダリングするための命令コード（例えば、ガジェット）を取得することができる。この命令コードは、ＩＭクライアントＡ、Ｂ、およびＣによって、ディスク・ドライブのような外部記憶媒体から、またはネットワークから、例えば、インターネットを通じて取得することができる。
【００２５】
[0039]  一旦命令コードがＩＭクライアントＡ、Ｂ、およびＣによって取得されたなら、ＩＭクライアントＺと関連のある拡張情報が、ＳＤＲデーター１０８の中に含まれるレンダリング情報にしたがってレンダリングされる。拡張情報がデーターの自己記述レンダリングに利用できる態様については、図２と関連付けて更に詳しく説明する。
コンピューティング・デバイス例
[0040]  図２は、データーの自己記述レンダリングのための種々の技法を実現するコンピューティング・デバイスの一例である。このコンピューティング・デバイスは、プロセッサ２０２、ネットワーク・インターフェース２０４、入力／出力インターフェース２０６、およびシステム・メモリー２０８を含むクライアント１０２とすることができる。ネットワーク・インターフェース２０４は、ネットワーク１０４を通じて接続されているクライアント１０２同士の間における通信をし易くする。更に、ネットワーク・インターフェース２０４は、クライアント１０２のような多数のコンピューティング・デバイスを互いに接続するため、またはＩＭサーバー１０６のようなサーバーに接続するために、１つ又は複数のポートを含むこともできる。ネットワーク・インターフェース２０４は、有線ネットワーク（例えば、ＬＡＮ、ケーブル等）およびワイヤレス・ネットワーク（例えば、ＷＬＡＮ、セルラ、衛星等）を含む、多種多様のネットワークおよびプロトコル・タイプにおける通信を容易にすることができる。
【００２６】
[0041]  入力／出力インターフェース２０６は、クライアント１０２の１つ又は複数からの入力を受け取ることを可能にする論理ポートを含むことができる。入力／出力インターフェース２０６の例には、限定ではなく、スキャナー・ポート、マウス・ポート、キーボード・ポート等が含まれる。本実施態様では、入力／出力インターフェース２０６は、クライアント１０２の２つ以上の間におけるステータスおよびその他の追加情報というような、情報の交換を可能にする。
【００２７】
[0042]  システム・メモリー２０８は、ランダム・アクセス・メモリー（ＲＡＭ）のような揮発性メモリー、および／またはリード・オンリー・メモリー（ＲＯＭ）またはフラッシュＲＡＭのような不揮発性メモリーの双方の形態としたコンピューター読み取り可能媒体であればいずれでも可能である。システム・メモリー２０８（相互交換可能にメモリー２０８と呼ぶ）は、通例、データーおよび／またはプログラム・モジュールを含む。プログラム・モジュールは、プロセッサ２０２に直接アクセス可能であり、および／または現在プロセッサ２０２によって動作中である。本実施態様では、メモリー２０８は、データーの自己記述レンダリングのための技法を実現するプログラム・モジュール２１０およびプログラム・データー２１２を含む。プログラム・モジュール２１０は、ガジェット作成モジュール２１４、ガジェット・レンダリング・フレームワーク２１６、ガジェット（１つまたは複数）２１８、およびその他のモジュール２２０を含むことができる。プログラム・データー２１２は、ＳＤＲデーター１０８、ガジェット・データー２２２、およびその他のプログラム／フレームワーク・データー２２４を含むデーターを格納することができる。その他のプログラム／フレームワーク・データー２２４は、１つ又は複数のプログラム・モジュール２１０の実行の結果発生することができるデーターを含むことができる。
【００２８】
[0043]  一実施態様では、ガジェット作成モジュール２１４は、公表元終点（例えば、クライアント１０２の１つ又は複数）においてガジェット・データー２２２を取得する。別の実施態様では、ガジェット作成モジュール２１４は、１つ又は複数のガジェットが既に作成され格納されている公表元終点からガジェット・データー２２２を読み出すように構成することができる。ＳＤＲデーター１０８は、クライアント１０２の１つ又は複数についての拡張情報と、ユーザー情報のレンダリングを実行する際の方法を指示する。本実施形態では、ガジェット・データー２２２は、ハイパー・テキスト・マークアップ言語（ＨＴＬＭ）、JavaScript（ＪＳ）、およびカスケーディング・スタイル・シート（ＣＳＳ）を用いて実装するとよく、ＩＭサーバー１０６およびクライアント１０２−Ｎを含む種々のデーター源において格納することができる。
【００２９】
[0044]  また、レンダリング情報は、ガジェット・データー２２２に含まれるユーザー関係情報をレンダリングするために、ガジェットを指定し、ガジェット（１つまたは複数）２１８を検討することができる。ガジェット（１つまたは複数）２１８は、種々のソースから得ることができる。例えば、ガジェット（１つまたは複数）２１８は、ネットワーク施設からまたはコンピューター読み取り可能媒体からダウンロードすることができる。一実施態様では、ガジェット（１つまたは複数）２１８は、クライアント１０２の１つ又は複数において作成することができる。このような実施態様では、ガジェット作成モジュール２１４は、ＳＤＲデーター１０８に基づいて、１つ又は複数のガジェット２１８を作成することができる。ＳＤＲデーター１０８は、友人リストに含まれる他のクライアント１０２と彼らの関連情報を共有しても構わない、クライアント１０２の１つ又は複数から入手可能である。
【００３０】
[0045]  既に示したように、クライアント１０２の内の１つが、彼／彼女の友人または連絡先リストに含まれる他のクライアントにＳＤＲデーター１０８を送る。この例では、「友人」または連絡先リストにしたがってクライアントに送るが、このような情報は種々のエンティティ（例えば、１つまたは複数の何らかの規準を満たすあらゆるクライアント）のいずれに送ってもよい。ＳＤＲデーター１０８は、通例、クライアント１０２の１つ又は複数に関する情報を、ユーザー関連情報をレンダリングするためのレンダリング情報と共に含む。前述の例に戻って、図１に示すように、ＩＭクライアントＺはＳＤＲデーター１０８を１つ又は複数のクライアント（例えば、ＩＭクライアントＡ、Ｂ、およびＣ）にネットワーク１０４を通じて送る。ＩＭクライアントＺにおけるメッセンジャー・ウィンドウ１１０は、通常、ＩＭクライアントＡ、Ｂ、およびＣのプレゼンス・ステータスを示す。更に、ＩＭクライアントＺのＳＤＲデーター１０８は、ＩＭクライアントＡ、Ｂ、およびＣの１つ又は複数によって受信される。
【００３１】
[0046]  ガジェット作成モジュール２１４は、ガジェット・データー２２２を、ＩＭクライアントＺから受信したＳＤＲデーター１０８から取得する。この例では、ガジェット・データー２２２は、ＩＭクライアントＺに特定的な拡張情報、例えば、ＩＭクライアントＺが再生したマルチメディア・ファイル、ＩＭクライアントＺの地理的位置等を含む。また、ガジェット作成モジュール２１４は、ＳＤＲデーター１０８に含まれるレンダリング情報も取得する。このレンダリング情報は、１つ又は複数のアプリケーション（例えば、ガジェット（１つまたは複数）２１８）の種々の属性を示す関連詳細を含む。このような属性は、例えば、ＩＭクライアントＡ、Ｂ、およびＣのデバイスにおいてガジェット・データー２２２をレンダリングするために必要となる可能性があるガジェット（１つまたは複数）２１８のタイプを特定するプロパティ、ガジェット（１つまたは複数）２１８を得ることができる場所等を含むことができる。これらの属性に基づいて、ガジェット作成モジュール２１４は、外部または内部で入手可能な記憶媒体から、ガジェット（１つまたは複数）２１８を取得することができる。一実施態様では、ガジェット作成モジュール２１４は、ガジェット・データー２２２と関連のある属性に基づいてガジェット（１つまたは複数）２１８を作成することができる。
【００３２】
[0047]  ＩＭクライアントＺについての拡張情報を含むガジェット・データー２２２のレンダリングは、ＳＤＲデーター１０８の中に含まれるレンダリング情報に基づくことができる。ガジェット（１つまたは複数）２１８は、ガジェット・レンダリング・フレームワーク２１６に基づいて、ガジェット・データー２２２をレンダリングすることができる。ガジェット・レンダリング・フレームワーク２１６は、ガジェット（１つまたは複数）２１８を実行するための基本構造を規定する１組のプログラム（１つまたは複数）またはルーチン（１つまたは複数）を含むことができる。したがって、ガジェット・レンダリング・フレームワーク２１６は、ＳＤＲデーター１０８の中に含まれるレンダリング情報にしたがって、ガジェット（１つまたは複数）２１８を用いてガジェット・データー２２２をレンダリングするためのプラットフォームおよび種々のインターフェースを設けることができる。本明細書において記載するように、ガジェット・レンダリング・フレームワークの一例は、一般的な計算基板(computing substrate)だけではなく、情報をレンダリングするための安全面(secure surface)を提供することができる。一旦ガジェット・データー２２２のレンダリングが実行されたなら、関連出力を表示することができる。レンダリングされた拡張情報は、ＩＭクライアントＡ、Ｂ、およびＣのメッセンジャー・アプリケーションのユーザー・インターフェース（ＵＩ）を通じて、他のユーザーに表示することができる。
【００３３】
[0048]  拡張情報の本質に応じて、ガジェットは音響、グラフィック等を発生することができる。多くの場合、拡張情報は、図を用いて、例えば、ＧＵＩのようにレンダリングされる。更に、ＧＵＩは、カレンダー、計算器、相場受信機、およびＶｏＩＰフォン・ダイアラー(phone dialer)のような、個人向けアプリケーションを編成することもできる。ＧＵＩは、このようなアプリケーションにユーザーがアクセスするように、「デスクトップ」の側枠に表示することができる。１つ又は複数のその他のモジュール２２０は、プレゼンス情報および／または拡張情報を用いるための命令を与えることができる。
ＡＰＩ例
[0049]  図３は、データーの自己記述レンダリングに合わせたＡＰＩ体系３００の一例を示す。体系３００は、種々のＡＰＩ例３１０を含む。これらのＡＰＩは、メッセンジャー・アプリケーション３３０およびガジェット３４０が、オペレーティング・システム３５０に特定の行為を実行させることを可能にする。これらのＡＰＩには、認証ＡＰＩ３１１、メッセージおよびファイル転送ＡＰＩ３１２、バディ・リスト（または連絡先）およびステータスＡＰＩ３１３、メッセンジャー・ウィンドウＡＰＩ３１４、ならびにガジェット・インターフェースＡＰＩ３１５が含まれる。
【００３４】
[0050]  図４は、データーの自己記述レンダリングに用いるためのＡＰＩ３１０の例を示す。これらのＡＰＩ３１０は、ＩＭ環境においてユーザーが拡張情報をバディまたは連絡先に伝達するための豊富な種々の機能を提供する。
【００３５】
[0051]  図５は、図３のガジェット・インターフェースＡＰＩ３１５の一例を示す。ガジェット・インターフェースＡＰＩ３１５は、ＩＭ環境においてデーターの自己記述レンダリングを容易にするための種々のプロパティ、メソッド、およびイベントを指定する。
実施態様例
[0052]  図６は、職務用設定におけるデーターの自己記述レンダリングの実施態様例６００を示す。実施態様例６００は、本明細書において記載する技法を実現するために用いることができ、本明細書において記載するエレメントを全体的または部分的に表すこともできる。コンピューティング環境６００は、コンピューティング環境の一例であり、用いられるコンピューターおよびネットワーク・アーキテクチャの使用範囲および／または機能性に対して限定を示唆する意図は全くない。
【００３６】
[0053]  コンピューティング環境６００は、複数のクライアント・デバイス６０２−１、６０２−２、６０２−３、．．．、６０２−Ｎ（纏めてクライアント６０２と呼ぶ）を含む。クライアント６０２は、ネットワーク６０４を通じて、互いに通信状態で接続されている。また、クライアント６０２はインスタント・メッセージング・サーバー６０４にも接続することができる。コンピューティング環境６００およびそのエレメントの各々は、図１に関して広義に説明したように実現することができる。
【００３７】
[0054]  一実施形態では、クライアント６０２は、各クライアント６０２にインストールされているインスタント・メッセージング（即ち、ＩＭ）プロトコルに基づくアプリケーションを通じて、テキスト系メッセージを交換することによって、互いに通信することができる。交換されるメッセージ（受信および送信双方のメッセージ）は、それぞれ、クライアント６０２−１、２、．．．、Ｎ上におけるメッセンジャー・ウィンドウ６０８−１、２、．．．、Ｎのような、グラフィカル・ユーザー・インターフェースを通じて表示することができる。一実施態様では、コンピューティング環境６００は、職務用設定とすることができ、ユーザーは、同僚、部下、管理者、チーム／グループ・リーダー等として、したがって職務用設定の一部として、クライアント６０２と関連付けられる。
【００３８】
[0055]  本実施態様では、クライアント６０２−１、６０２−２、６０２−３、および６０２−Ｎを、それぞれ、ユーザーＺ、Ａ１、Ａ２、およびＢ１と呼ぶ。ユーザーＺ、Ａ１、Ａ２、およびＢ１の各々は、１つ又は複数のＩＭ系アプリケーションを通じて互いに通信することができるとよい。例えば、ユーザーＺは、ユーザー、即ち、ユーザーＡ１、Ａ２、およびＢ１が関与する２つのプロジェクト、例えば、ＡおよびＢを監督する管理者Ｚとすることができる。本例では、プロジェクトＡにはユーザーＡ１およびＡ２が関与し、プロジェクトＢにはユーザーＢ１が関与する場合もある。ＩＭ系アプリケーションは、管理者ＺならびにプロジェクトＡおよびＢに関与するユーザーがログ・インしてオンラインに現れたときに、管理者Ｚがユーザーと通信することを可能にする。
【００３９】
[0056]  管理者Ｚは、オンラインにいるユーザーＡ１、Ａ２、およびＢ１と通信し、職務用設定におけるユーザーの予定の各々に関する追加情報を見ることもできる。このような追加情報の例には、限定ではなく、ユーザーの各々に既に割り当てられていると思われる作業のリスト、ユーザーが完成させた作業、出席した会議の詳細等が含まれる。ユーザーの各々は、ＳＤＲデーター６１０と関連付けられている。ＳＤＲデーター６１０は、同じプロジェクトで作業している他のユーザーに利用可能にすることができ、場合によっては、異なるプロジェクトで作業しているかもしれない全てのユーザーにも利用可能にすることができる。
【００４０】
[0057]  図６の例では、ユーザーＡ１と関連付けられているＳＤＲデーター６１０は、ユーザーＡ２に利用可能にすることができ、そしてその逆も可能である。しかし、ユーザーＡ１およびＡ２のいずれかに関連のあるＳＤＲデーター６１０も、ユーザーＢ１には利用可能ではない。しかしながら、ユーザーＡ１、Ａ２、およびＢ１と関連のあるＳＤＲデーター６１０は、管理者Ｚには利用可能にすることができる。既に示したように、ＳＤＲデーター６１０は、ユーザーＡ１と関連のあるガジェット・データー（例えば、図２のガジェット・データー２２２）、および情報をレンダリングする１つ又は複数のアプリケーション（例えば、図２のガジェット（１つまたは複数）２１８）の詳細を規定するレンダリング情報を含む。
【００４１】
[0058]  管理者Ｚは、ユーザーＡ１、Ａ２、およびＢ１の１人又は複数からＳＤＲデーター６１０を受信する。モジュール（例えば、図２のガジェット作成モジュール２１４）が、ユーザー・ガジェット・データーをＳＤＲデーター６１０から取得する。ガジェット作成モジュールは、関連するガジェット（１つまたは複数）を外部ソースから取得することができるか、またはＳＤＲデーター６１０に基づいてガジェット（１つ又は複数）を作成してもよい。しかるべく指定されたガジェット（１つまたは複数）は、レンダリング・フレームワーク（例えば、図２のガジェット・レンダリング・フレームワーク２１６）に基づいてガジェット・データーをレンダリングする。ガジェット・レンダリング・フレームワークは、ＳＤＲデーター６１０の中に含まれるレンダリング情報にしたがって、ガジェット（１つまたは複数）を用いてガジェット・データーをレンダリングするためのプラットフォームおよび種々のインターフェースを設ける。
【００４２】
[0059]  ＳＤＲデーター６１０のガジェット・データーをレンダリングすると、関連する出力（即ち、ユーザーの１人又は複数についての拡張情報）を管理者Ｚおよび／またはメンバーＡ２に対して、例えば、彼らのメッセンジャー・ウィンドウ６０８−１および６０８−３をそれぞれ通じて、可視化（または可聴化等）する。このような体系では、管理者Ｚが、ユーザーＡ１が作業しているかもしれない作業というような、ユーザーＡ１と関連のある情報、完了している作業のリスト等を見ることができる。これによって、管理者Ｚは、ユーザーＡ１、Ａ２、およびＢ１のいずれの１人又は複数によって進められた仕事でも、制御および均一化することが可能になると考えられる。
【００４３】
[0060]  図７は、本明細書において記載した技法による、個人用設定におけるデーターの自己記述レンダリングの実施態様例を示し、更に本明細書において記載したエレメントを全体的または部分的に表すこともできる。コンピューティング環境７００は、コンピューティング環境の一例であり、コンピューターおよびネットワーク・アーキテクチャの使用範囲および／または機能性に対して限定を示唆する意図は全くない。
【００４４】
[0061]  コンピューティング環境７００は、複数のクライアント・デバイス７０２−１、７０２−２、７０２−３、．．．、７０２−Ｎ（纏めてクライアント７０２と呼ぶ）を含む。クライアント７０２は、ネットワーク７０４を通じて、互いに通信状態で接続されている。また、クライアント７０２はインスタント・メッセージング・サーバー７０６にも接続することができる。コンピューティング環境７００およびそのエレメントの各々は、図１に関して広義に説明したように実現することができる。
【００４５】
[0062]  一実施形態では、クライアント７０２は、各クライアント７０２にインストールされているインスタント・メッセージング（即ち、ＩＭ）プロトコルに基づくアプリケーションを通じて、テキスト系メッセージを交換することによって、互いに通信することができる。交換されるメッセージは、それぞれ、クライアント７０２−１、２、．．．、Ｎ上におけるメッセンジャー・ウィンドウ７０８−１、２、．．．、Ｎのような、グラフィカル・ユーザー・インターフェースを通じて表示することができる。一実施態様では、コンピューティング環境７００は、個人用設定とすることができ、ユーザーは、家族構成員、友人、親戚等として、クライアント７０２と関連付けられる。
【００４６】
[0063]  図７の例では、クライアント７０２−１、７０２−２、７０２−３、および７０２−Ｎは、それぞれ、ユーザーＤ、Ｓ１、Ｓ２、およびＢ１として示されている。ユーザーＤ、Ｓ１、Ｓ２、およびＢ１の各々は、１つ又は複数のＩＭ系アプリケーションを通じて互いに通信可能であるとよい。例えば、ユーザーＤは、彼／彼女の子供、友人、親戚等、即ち、ユーザーＳ１、Ｓ２、およびＢ１と通信している親であることができる。本例では、ユーザーＳ１およびＳ２は、親の兄弟および子供であってもよく、ユーザーＢ１は親の知り合いである。ＩＭ系アプリケーションによって、親およびユーザーＳ１、Ｓ２、およびＢ２がログ・インしてオンラインに現れたときに、親は彼らと通信することが可能になる。
【００４７】
[0064]  親は、ユーザーＳ１、Ｓ２、およびＢ１と通信することができ、更に彼らの個人用設定におけるユーザーの活動の各々に関する追加情報を見ることもできる。このような追加情報の例には、限定ではなく、ユーザーが再生したマルチメディア・コンテンツのリスト、ユーザーの地理的位置、およびユーザーが最近訪問したウェブ・ページのリスト等が含まれる。ユーザーの各々には、ＳＤＲデーター７１０と関連付けることができる。ＳＤＲデーター７１０は、同じ家族に属する他のユーザーに利用可能にすることができ、また場合によっては、彼らに知られてもよいユーザーにも利用可能にすることができる。例えば、兄弟（即ち、ユーザーＳ１およびＳ２）と関連のあるＳＤＲデーター７１０は、互いに利用可能にすることができるが、ユーザーＢ１には利用可能にすることはできない。しかしながら、兄弟およびユーザーＢ１は、双方共親には知られてもよいので、彼らのそれぞれのＳＤＲデーター７１０を親に利用可能にすることができる。
【００４８】
[0065]  既に示したように、ＳＤＲデーター７１０は、ガジェット（例えば、ユーザーＳ１、Ｓ２、およびＢ１のいずれかに関連付けられている）によって消費されるガジェット・データー（例えば、図２のガジェット・データー２２２）、およびユーザー情報をレンダリングすることができるかもしれない１つ又は複数のガジェット（例えば、図２のガジェット（１つまたは複数）２１８）の詳細を規定するレンダリング情報を含む。親は、ＳＤＲデーター７１０をユーザーＳ１、Ｓ２、およびＢ１の１つ又は複数から受信する。モジュール（例えば、図２のガジェット作成モジュール２１４）が、ユーザー関連情報および拡張情報をＳＤＲデーター７１０から抽出することができる。一実施態様では、ガジェット作成モジュールが関連ガジェット（１つまたは複数）を外部ソースから取得することができ、あるいはガジェット（１つまたは複数）の作成に（例えば、ユーザー入力を通じて）備えることもできる。ガジェット（１つまたは複数）は、例えば、ガジェット・レンダリング・フレームワーク（例えば、図２のガジェット・レンダリング・フレームワーク２１６）に基づいて、ガジェット・データーをレンダリングする。
【００４９】
[0066]  ガジェット・レンダリング・フレームワークは、ＳＤＲデーター７１０の中に含まれるレンダリング情報にしたがって、ガジェット（１つまたは複数）を用いてガジェット・データーをレンダリングするためのプラットフォームおよび種々のインターフェースを設ける。ガジェット・データーをレンダリングすると、関連する出力（即ち、ユーザーの１人又は複数についての拡張情報）を親および／またはユーザーＳ２に対して、彼らのメッセンジャー・ウィンドウ７０８−１および７０８−３をそれぞれ通じて、可視化（または可聴化等）する。このような体系では、親が、ユーザーＳ１が再生したマルチメディア・コンテンツ、ユーザーの地理的位置の記述、およびユーザーが最近訪問したウェブ・ページのリストというような、ユーザーＳ１と関連のある情報を見ることまたは聞くことが可能になる。これによって、親Ｄが、ＩＭシステムにおいて彼らが得た追加情報を通じて、彼／彼女の子供の活動および居所を監視して、把握することを可能にするとよい。
【００５０】
[0067]  図８は、本明細書において記載した技法による、広告のようなデーターの自己記述レンダリングの実施態様例を示し、本明細書において記載するエレメントを全体的または部分的に表すこともできる。図示するコンピューティング環境８００は、コンピューティング環境の一例であり、コンピューターおよびネットワーク・アーキテクチャの使用範囲および／または機能性に対して限定を示唆する意図は全くない。
【００５１】
[0068]  コンピューティング環境８００は、複数のクライアント・デバイス８０２−１、８０２−２、８０２−３、．．．、８０２−Ｎ（纏めてクライアント８０２と呼ぶ）、ネットワーク８０４、インスタント・メッセージング（ＩＭ）サーバー８０６、およびウェブ・サーバー８０８を含む。クライアント８０２、インスタント・メッセージング（ＩＭ）サーバー８０６、およびウェブ・サーバー８０８は、ネットワーク８０４を通じて、互いに通信状態で接続されている。コンピューティング環境８００は、図１に関して広義に説明したように実現することができる。
【００５２】
[0069]  ウェブ・サーバー８０８は、例えば、汎用コンピューティング・デバイス、サーバー、一団のサーバー、およびメインフレームとすることができる。ウェブ・サーバー８０８は、ウェブ系クエリー(web-based queries)のような１つ又は複数のクエリーを、１つ又は複数のクライアントからネットワーク８０４を通じて受信するように構成することができる。ウェブ・サーバー８０８とクライアント８０２との間における通信は、ＨＴＴＰのような、既知のウェブ系通信プロトコルの１つ又は複数に基づくことができる。一実施形態では、ウェブ・サーバー８０８は、ウェブ系アプリケーションまたは広告のようなサービスの１つ又は複数を管理し、クライアント８０２と共有するように構成することができる。更に、クライアント８０２は、テキスト系メッセージを通じて、インスタント・メッセージング・アプリケーションを用いて互いに通信することもできる。
【００５３】
[0070]  一実施形態では、ウェブ・サーバー８０８は、商品／品目(goods/items)のオンライン購入を提供するウェブ・サーバーとすることができる。このようなウェブ・サーバーに付随するウェブサイトは、当該ウェブサイトを訪問する１つ又は複数のクライアントが購入するかもしれない１つ又は複数の異なる製品を広告する。このようなサイトは、クライアントにウィッシュ・リストを作成させることができる種々の機構を提供する。クライアントは、彼らが購入したい種々の消費者製品を、ウィッシュ・リストに含めることができる。彼らの必要性またはその他の考慮事項に応じて、ユーザーは、ウィッシュ・リストに含まれている１つ又は複数の製品を購入することを選択することができる。一実施態様では、クライアントによって作成されたウィッシュ・リストは、ウェブ・サーバー８０８上に格納することができる。
【００５４】
[0071]  既に示したように、クライアント８０２の１つのような、いずれのユーザーと関連のある追加情報または拡張情報でも、例えば、ＩＭアプリケーションにおいてメッセンジャー・ウィンドウ８１０を通じて、クライアントに知られている他のクライアント８０２に利用可能にすることができる。一実施態様では、追加情報は、クライアント８０２の１つ又は複数によって作成され、ウェブ・サーバー８０８上に格納されているウィッシュ・リストであってもよい。例えば、ＳＤＲデーター８１２に含まれる追加情報は、クライアント８０２−１と関連付けられており、クライアント８０２−１のウィッシュ・リストに含まれているかもしれない１つ又は複数の製品を示す。また、クライアント８０２−１は、クライアント８０２−２、３、．．．、Ｎのような他のクライアントと、彼／彼女のウィッシュ・リストを共有しても構わないと思うこともある。
【００５５】
[0072]  既に示したように、ＳＤＲデーター８１２は、クライアント８０２−１のウィッシュ・リストを記述するガジェット・データーを含み、更にガジェット・データーをレンダリングしそして表示するためのレンダリング情報も含む。一実施態様では、ウェブ・サーバー８０８は、ＩＭサーバー８０６に、ウィッシュ・リストをＳＤＲデーター８１２のデーター・ガジェットとして追加するように命令することもできる。
【００５６】
[0073]  クライアント８０２−１と関連のあるＳＤＲデーター８１２は、ネットワーク８０４を通じて、他のクライアント８０２に利用可能にすることができる。モジュールがガジェット・データーをＳＤＲデーター８１２から抽出することができる。一実施態様では、ガジェット作成モジュールが、ガジェット・データーに基づいて外部ソースからしかるべきガジェット（１つまたは複数）を取得することができ、またはＳＤＲデーター８１２に基づいて１つ又は複数のガジェットを作成することもできる。ガジェット（１つまたは複数）は、フレームワークに基づいて、ガジェット・データーをレンダリングすることができる。ガジェット・レンダリング・フレームワークは、ＳＤＲデーター８１２の中に含まれるレンダリング情報にしたがって、ガジェット（１つまたは複数）を用いてガジェット・データーをレンダリングするためのプラットフォームおよび種々のインターフェースを設ける。
【００５７】
[0074]  ＳＤＲデーター８１２の中にあるガジェット・データーをレンダリングすると、クライアント８０２−１と関連のあるウィッシュ・リストを他のクライアント８０２に、それらのそれぞれのメッセンジャー・ウィンドウ８１０を通じて表示することができる。これによって、クライアント８０２は、オンライン・トランザクション・サービスをホストするウェブ・サーバー８０８のウェブ・サイトを訪問することなく、クライアント８０２−１と関連のあるウィッシュ・リストを見ることができる。
【００５８】
[0075]  一実施態様では、ＳＤＲデーター８１２のガジェット・データーは、ウェブ・サーバー８０８によってホストされている広告８１４のような種々の広告と関連のある情報を含むことができる。ガジェット・データーに含まれる情報は、既に説明した技法に基づいて、クライアント８０２のメッセンジャー・ウィンドウ８１０上にレンダリングすることができる。
【００５９】
[0076]  図９は、本明細書において記載した１つ又は複数の技法によって、ユーザーの地理的位置の形態とした、データーの自己記述レンダリングの実施態様例を示し、更に本明細書において記載するエレメントを全体的または部分的に表すこともできる。コンピューティング環境９００は、コンピューティング環境の一例であり、用いられるコンピューターおよびネットワーク・アーキテクチャの使用範囲および／または機能性に対して限定を示唆する意図は全くない。
【００６０】
[0077]  コンピューティング環境９００は、複数のクライアント・デバイス９０２−１、９０２−２、９０２−３、．．．、９０２−Ｎ（纏めてクライアント９０２と呼ぶ）、ネットワーク９０４、インスタント・メッセージング（ＩＭ）サーバー９０６、および測地サーバー９０８を含む。クライアント９０２は、ＩＭサーバー９０６を経由してネットワーク９０４を通じて通信状態で接続されている。クライアント９０２は、測地サーバー９０８と接続することができる。コンピューティング環境９００およびそのエレメントの各々は、図１に関して広義に説明したように実現することができる。ＩＭサーバー９０６は、ＩＭアプリケーションをホストし、クライアント９０２がテキスト系メッセージを用いて互いに通信することを可能にする。
【００６１】
[0078]  クライアント９０２は、これらがログ・インしてオンラインに現れたときに、互いに通信する。一実施態様では、クライアント９０２−１、９０２−２、９０２−３、および９０２−４を、ユーザー、即ち、スーザン、シルビア、コンパル、およびジョーとそれぞれ呼ぶことにする。ユーザーであるスーザン、シルビア、コンパル、およびジョーの各々は、１つ又は複数のＩＭ系アプリケーションを通じて互いに通信することができ、更にこれらのユーザーの各々に関する追加情報を見ることもできる。このような追加情報または拡張情報の例には、限定ではなく、ＧＳＭまたはＧＰＳを指定する座標のような地理的位置、あるいはそれぞれのクライアント９０２と関連のあるＩＰ属性等が含まれる。クライアント９０２のプレゼンスは、ＩＭアプリケーションにおけるグラフィカル・インターフェース、例えば、プレゼンスＵＩ９１０に表示することができる。例えば、ユーザーであるスーザンのプレゼンスＵＩ９１０は、他のユーザー、即ち、シルビア、コンパルのプレゼンス・ステータスをオンラインとして示し、更にジョーのプレゼンス・ステータスをオフラインとして示す。
【００６２】
[0079]  測地サーバー９０８は、例えば、汎用コンピューティング・デバイス、サーバー、一団のサーバー、およびメインフレームとすることができる。測地サーバー９０８は、１つ又は複数のクライアント９０２の地理的位置および関係する詳細を管理および指示して、それぞれのクライアント９０２を突き止められる場所を特定し、位置情報を他のクライアント９０２と共有する。
【００６３】
[0080]  図９の例では、追加情報、例えば、ユーザーであるシルビア９０２−２と関連のある位置の地理的記述は、ＳＤＲ位置データー９１２またはＳＤＲデーター９１２として、他のユーザーであるスーザン、コンパル、およびジョーと共有することができる。尚、この図は、他のユーザーの観点から提示できることも認められると考えられる。既に示したように、ＳＤＲデーター９１２は、ユーザーであるシルビア９０２−２と関連のある情報を、この関連情報をレンダリングするためのレンダリング情報と共に含む。レンダリング情報は、ユーザーであるシルビア９０２−２と関連のある下ジェット・データーをレンダリングするための１つ又は複数のガジェットの詳細を規定することができる。図９の例では、LIVE EARTHサーバー９０８から入手可能なガジェット９１４は、ＳＤＲデーター９１２の中にある関連情報をレンダリングする備えがある。
【００６４】
[0081]  追加情報を共有するために、ユーザーであるスーザン、コンパル、およびジョーは、ユーザーであるシルビアと関連のあるＳＤＲデーター９１２を受信する。既に示したように、ガジェット作成モジュールは、ガジェット・データーに含まれる情報に基づいて、例えば、測地サーバー９０８のような外部ソースから関連ガジェット９１４を取得することができ、あるいはＳＤＲデーター９１２に基づいてガジェット９１４を作成することもできる。ガジェット９１４は、レンダリング・フレームワークを用いて、ガジェット・データーをレンダリングすることができ、レンダリング・フレームワークは、ＳＤＲデーター９１２の中に含まれるレンダリング情報にしたがって、ガジェットを用いてガジェット・データーをレンダリングするためのプラットフォームおよび種々のインターフェースを設ける。
【００６５】
[0082]  ガジェット・データーをレンダリングすることによって、関連出力（即ち、ユーザーであるシルビアと関連のある地理的位置）を発生し、他のユーザーに、彼らのそれぞれのガジェット・ユーザー・インターフェース９１６を通じて表示する。ガジェットＵＩ９１６は、種々の視覚様式でプレゼンスを描写することができる。例えば、位置は、動画化した地球上における画鋲として描写して、地球上の地理的存在(presence)を描写すること、または経路地図のような二次元面上で描写すること等が可能である。これによって、オンラインのユーザーが、彼／彼女の友人、親戚、同僚、およびガジェットＵＩ９１６上に表示されるその他の知り合いを突き止めることができることもある。
【００６６】
[0083]  図１０は、データーの自己記述レンダリングのための方法１０００の一例を示す。作成ブロック１００２において、ガジェットを作成するか、そうでなければガジェットの場所を突き止める。格納ブロック１００４において、ピア・ツー・ピア・ネットワークにおいてピアがアクセスするために、このガジェットを格納する。別の作成ブロック１００６では、格納されたガジェットを、ピア・ツー・ピア・ネットワークにおけるピアについての何らかのデーターをレンダリングすることができるものとして指定する、自己記述レンダリング・データーを作成する。送出ブロック１００８では、ＳＤＲデーターをピア・ツー・ピア・ネットワークにおけるピアに送る。
【００６７】
[0084]  図１１は、データーの自己記述レンダリングのための方法１１００の一例を示す。方法１１００は、受信ブロック１１０２において開始して、自己記述レンダリング・データーを受信する。このデーターは、何らかの記述情報と、この記述情報をレンダリングすることができるガジェットについての情報とを含む。例えば、記述情報は、ネットワークに接続されているユーザーの位置を記述することができ、ガジェットについての情報は、ガジェットにアクセスするためのアドレスまたはドメイン名を示すことができ、ガジェットは記述情報をレンダリングすることができる。したがって、方法１１００は、受信したＳＤＲデーター毎にガジェットにアクセスするアクセス・ブロック１１０４と、アクセスしたガジェットを用いて、受信したＳＤＲデーターの中にある記述情報をレンダリングするレンダリング・ブロック１１０６とを含む。
【００６８】
[0085]  方法の一例では、インスタント・メッセージング・システムのユーザーからデーターを受信するステップと、このデーターを解析してユーザーについての記述データーを特定し、更にガジェットの位置を特定するステップと、このガジェットの位置にアクセスするステップと、ガジェットをダウンロードし、ガジェットを実行して記述データーをレンダリングするステップとを含む。このような方法は、ガジェットを実行して記述データーを視覚的にレンダリングするステップ、および／またはガジェットを実行して記述データーを聴覚的にレンダリングするステップを含むことができる。ユーザーについての記述データーは、オーディオ・ファイルまたはビデオ・ファイルについての情報を含むことができる。
【００６９】
[0086]  図１２は、データーの自己記述レンダリングのための方法１２００の一例を示す。特定ブロック１２０２において、ＩＭ環境におけるユーザーがガジェットを特定または構築する。発生ブロック１２０４において、ユーザーはデーターを発生し、更にガジェットを、発生したデーターをレンダリングすることができるものとして指定するＳＤＲ情報を提供する。例えば、発生したデーターは、ユーザーのコンピューティング・デバイス上で実行するＧＰＳアプリケーションが発生した位置データーでもよいし、またはユーザーのコンピューティング・デバイス上で実行するインターネット・ラジオまたはビデオ・アプリケーションが発生するデーターでもよい。したがって、ガジェットは、このような情報をレンダリングするための特殊な第三者のガジェットであってもよく、あるいはＧＰＳアプリケーションあるいはインターネット・ラジオまたはビデオ・アプリケーションによって供給される第二当事者(2nd party)のガジェットであってもよい。
【００７０】
[0087]  コール・ブロック１２０６において、方法１２００は１つ又は複数のＡＰＩをコールして、ＳＤＲデーターをＩＭシステム・プレゼンスに統合する（例えば、ＩＭサーバーにロードする、またそうでなければＩＭサーバーに利用可能にするため）。一旦統合されると、読み出しブロック１２０８において、ＩＭ「近隣」における連絡先が、ＳＤＲデーターをしかるべきソース（例えば、ＩＭサーバー）から読み出すことができる。一方、ダウンロード・ブロック１２１０によって、連絡先のコンピューティング・デバイスが、読み出したＳＤＲデーターを解析して、しかるべきガジェットにアクセスしこれをダウンロードする命令を発見する。次いで、レンダリング・ブロック１２１２において、ダウンロードしたガジェットを用いて、データーをレンダリングする。このようなレンダリングによって、データーをＩＭ環境における連絡先に可視化または可聴化することができる。
【００７１】
[0088]  方法の一例では、インスタント・メッセージング・システムのユーザーについての記述データーを発生するステップと、発生した記述データーをレンダリングするように構成されているガジェットのネットワーク位置を特定するステップと、記述データーおよびガジェットのネットワーク位置を、インスタント・メッセージング・システムのインスタント・メッセージング・サーバーに送信するステップとを含む。このような方法は、更に、インスタント・メッセージング・サーバーにアクセスするステップと、記述データーとガジェットのネットワーク位置とをダウンロードするステップとを含むこともできる。更にまた、このような方法は、ガジェットをそのネットワーク位置からダウンロードするステップと、ガジェットを実行して記述情報をレンダリングするステップとを含むこともできる。種々の方法において、記述データーは、インスタント・メッセージング・システムのユーザーのプレゼンス情報を拡張する拡張情報とすることができる。
【００７２】
[0089]  前述のように、データーの自己記述レンダリングの種々の態様を実現するまたは容易にするために、ＡＰＩコールを用いることができる。例えば、ある方法は、１つ又は複数のＡＰＩをコールして記述データーおよびガジェットのネットワーク位置を、インスタント・メッセージング・システムのインスタント・メッセージング・サーバーに送信することを実行するステップを含むことができる。
コンピューティング・デバイス例
[0090]  図１３は、種々のコンポーネント例を実装し、システム例を形成する際に用いることができるコンピューティング・デバイス１３００の一例を示す。例えば、図１のシステムのサーバーは、デバイス１３００の種々の機構を含むことができる。
【００７３】
[0091]  種々の基本構成において、コンピューティング・デバイス１３００は、通例、少なくとも１つの演算装置１３０２とシステム・メモリー１３０４とを含む。コンピューティング・デバイスの正確な構成および種類にもよるが、システム・メモリー１３０４は、揮発性（ＲＡＭのような）、不揮発性（ＲＯＭ、フラッシュ・メモリー等のような）、またはこれら２つの何らかの組み合わせとすることができる。システム・メモリー１３０４は、通例、オペレーティング・システム１３０５、１つ又は複数のプログラム・モジュール１３０６を含み、更にプログラム・データー１３０７を含むこともできる。オペレーティング・システム１３０５は、コンポーネント主体のフレームワーク１３２０を含む。フレームワーク１３２０は、コンポーネント（プロパティおよびイベントを含む）、オブジェクト、インヘリタンス(inheritance)、ポリモルフィズム(polymorphism)、リフレクション(reflection)をサポートし、ワシントン州、RedmondのMicrosoft Corporationが製造する.NET（商標）フレームワークのアプリケーション・プログラミング・インターフェース（ＡＰＩ）のような、オブジェクト指向、コンポーネント主体のアプリケーション・プログラミング・インターフェース（ＡＰＩ）を設ける。デバイス１３００は、破線１３０８で境界を定めるように、非常に基本的な構成となっている。更に、端末が有するコンポーネントはもっと少なくてもよいが、このような基本構成を有することができるコンピューティング・デバイスと相互作用することになる。
【００７４】
[0092]  コンピューティング・デバイス１３００は、追加の機構または機能を有することもできる。例えば、コンピューティング・デバイス１３００は、例えば、磁気ディスク、光ディスク、またはテープというような、追加のデーター記憶デバイス（リムーバブルおよび／または非リムーバブル）を含んでもよい。このような追加のストレージは、図１３では、リムーバブル・ストレージ１３０９および非リムーバブル・ストレージ１３１０によって例示されている。コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含むことができ、これらの媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターのような、情報の記憶方法または技術のいずれでも実現することができる。システム・メモリー１３０４、リムーバブル・ストレージ１３０９、および非リムーバブル・ストレージ１３１０は、全て、コンピューター記憶媒体の例である。コンピューター記憶媒体は、限定ではなく、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたはその他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ストレージ、磁気カセット、磁気テープ、磁気記憶ディスクまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピューティング・デバイス１３００によってアクセスすることができる媒体であればその他のいずれでも含む。このようなコンピューター記憶媒体は、いずれもがデバイス１３００の一部となることができる。また、コンピューティング・デバイス１３００は、キーボード、マウス、ペン、音声入力デバイス、接触入力デバイス等のような入力デバイス（１つまたは複数）１３１２も含むことができる。また、ディスプレイ、スピーカ、プリンタ等のような出力デバイス（１つまたは複数）１３１４も含むことができる。これらのデバイスは、当技術分野では周知であり、ここで長々と論ずる必要はない。
【００７５】
[0093]  また、コンピューティング・デバイス１３００は通信接続１３１６も内蔵することができる。通信接続１３１６は、コンピューティング・デバイス１３００が他のコンピューティング・デバイス１３１８と、ネットワークを通じてというようにして、通信することを可能にする。通信接続１３１６は、通信媒体の一例である。通信媒体は、通例、コンピューター読み取り命令、データー構造、プログラム・モジュール、またはその他のデーター様式によって具体化することができる。限定ではない一例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体と、音響、ＲＦ、およびその他のワイヤレス媒体のような、ワイヤレス媒体とを含む。
【００７６】
[0094]  以上、構造的特徴および／または方法論的行為に特定的な文言で、主題について説明したが、添付した特許請求の範囲において定義されている主題は、必ずしも前述の具体的な機構や行為には限定されないことは言うまでもない。むしろ、前述した具体的な機構や行為は、特許請求の範囲を実施する形態例として開示したまでである。
【図１】
2011513840.tif 000003
【図２】
2011513840.tif 000004
【図３】
2011513840.tif 000005
【図４】
2011513840.tif 000006
【図５】
2011513840.tif 000007
【図６】
2011513840.tif 000008
【図７】
2011513840.tif 000009
【図８】
2011513840.tif 000010
【図９】
2011513840.tif 000011
【図１０】
2011513840.tif 000012
【図１１】
2011513840.tif 000013
【図１２】
2011513840.tif 000014
【図１３】
2011513840.tif 000015
【国際調査報告】
2011513840.tif 000016
2011513840.tif 000017