(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムにより実行される方法であって、
前記コンピュータ・システムが、テキスト通信プロトコルを用いて送信された第１のメッセージを受信するステップと、
前記コンピュータ・システムが、リクエストをもって前記第１のメッセージの情報をサーバに送信するステップであって、前記情報は、前記第１のメッセージのダイジェストと、前記第１のメッセージの送信者の第１の電話番号と、前記第１のメッセージの受信者の第２の電話番号と、前記第１のメッセージが受信された時間と、を含み、前記リクエストは、前記サーバが前記第１のメッセージに対応する第２のメッセージを有するかの判定を前記情報に基づいて前記サーバが行うことを求めるものである、ステップと、
前記コンピュータ・システムが、前記サーバから前記第２のメッセージを受信するステップであって、前記第２のメッセージは、テキスト及びエンティティを含み、前記第１のメッセージは、前記テキスト及び前記エンティティのテキスト表現を含む、ステップと、
前記判定が、前記サーバが前記第２のメッセージを有するということである場合、前記コンピュータ・システムが、前記第１のメッセージを表示することなく、前記第２のメッセージの前記テキスト及び前記エンティティをユーザに表示する表示ステップと、
を含む、方法。
【請求項２】
前記テキスト通信プロトコルは、ショート・メッセージ・サービス（ＳＭＳ）プロトコルである、請求項１記載の方法。
【請求項３】
前記判定は、前記第１のメッセージが受信された前記時間が、前記第２のメッセージが前記送信者から前記サーバにより受信された時間に前記サーバが前記第２のメッセージに関連付けたタイムスタンプの範囲内にあるという発見に基づいてなされる、請求項１又は２記載の方法。
【請求項４】
前記エンティティは日付及び時間を含み、前記表示ステップは、前記テキストとは分離して、前記日付及び前記時間を表示するステップを含む、請求項１乃至３いずれか一項記載の方法。
【請求項５】
前記エンティティは場所を含み、前記表示ステップは、前記テキストとは分離して、前記場所の場所ページ又は前記場所のロケーションの地図を表示するステップを含む、請求項１乃至４いずれか一項記載の方法。
【請求項６】
メモリと、
１以上のプロセッサと、
ディスプレイと、
前記メモリに記憶されているコンポーネントであって、前記コンポーネントは、前記１以上のプロセッサにより実行されたときに、
テキスト通信プロトコルを用いて送信された第１のメッセージを受信する動作と、
前記第１のメッセージの情報をサーバに送信する動作であって、前記情報は、前記第１のメッセージのダイジェストと、前記第１のメッセージの送信者の第１の電話番号と、前記第１のメッセージの受信者の第２の電話番号と、前記第１のメッセージが受信された時間と、を含む、動作と、
前記サーバが前記第１のメッセージに対応する第２のメッセージを有するかの判定を前記情報に基づいて前記サーバが行うことをリクエストする動作と、
前記サーバから前記第２のメッセージを受信する動作であって、前記第２のメッセージは、テキスト及びエンティティを含み、前記第１のメッセージは、前記テキスト及び前記エンティティのテキスト表現を含む、動作と、
前記判定が、前記サーバが前記第２のメッセージを有するということである場合、前記ディスプレイ上で、前記第１のメッセージを表示することなく、前記第２のメッセージの前記テキスト及び前記エンティティをユーザに表示する表示動作と、
を実行する、コンポーネントと、
を備えた、デバイス。
【請求項７】
前記テキスト通信プロトコルは、ショート・メッセージ・サービス（ＳＭＳ）プロトコルである、請求項６記載のデバイス。
【請求項８】
前記判定は、前記第１のメッセージが受信された前記時間が、前記第２のメッセージが前記送信者から前記サーバにより受信された時間に前記サーバが前記第２のメッセージに関連付けたタイムスタンプの範囲内にあるという発見に基づいてなされる、請求項６又は７記載のデバイス。
【請求項９】
前記エンティティは人物を含み、前記表示動作は、前記テキストとは分離して、前記人物の連絡先情報を表示する動作を含む、請求項６乃至８いずれか一項記載のデバイス。
【請求項１０】
コンピュータ・システムに請求項１乃至５いずれか一項記載の方法を実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
人々は、しばしば、メッセージにより、例えば、通常は電話機に関連付けられたショート・メッセージ・サービス（ＳＭＳ）を介して、又は様々なインスタント・メッセージング（ＩＭ）システムを介して、互いと通信する。過去において、ＳＭＳは、実際上、携帯電話機からテキスト・メッセージを送信する唯一の方法であった。ＳＭＳメッセージは、一般に、電話番号を有するデバイス間で送信される。そのようなメッセージは、厳格なサイズ制限を受け、そのようなメッセージの送信は、ＳＭＳ固有のレートで、電話キャリアにより代金を請求される。しかしながら、多くの現在の携帯電話機は、インターネット接続性と、ハイパーテキスト転送プロトコル（ＨＴＴＰ）等の多様な通信プロトコルに関与する能力と、を有する。ＨＴＴＰは、多様な特徴（例えば、リンク、写真、オーディオ等）及び任意の長さを有する送信コンテンツを送信する能力を有する。さらに、ＨＴＴＰメッセージは、インターネット上でアドレス指定可能な任意のデバイス間で送信され得る。そのようなメッセージは、デバイスの通常のインターネット・サービスを用いて送信される（それにより、ＳＭＳ固有の価格の使用を回避し、ＩＭシステムに関連する制限を回避する）。
【０００２】
ＨＴＴＰを介して送信されるメッセージは、しばしば、より便利であり、よりリッチなコンテンツを提供し、送信するのにより経済的であるが、ＳＭＳ及びＩＭは、レガシな影響を持ち続けている。多くの電話機は、インターネット・サービスを有し、ＨＴＴＰにより通信することができるが、ほとんど全ての電話機は、ＳＭＳを有している。１人の人が、別の人にメッセージを送信することを望むとき、そのユーザは、しばしば、受信者の電話機上でどのような機能が利用可能かを知らないことがあるので、送信者は、受信者が有するデバイスがどのようなタイプであるかを気にせずに受信者に届けることができるように、しばしば、ＳＭＳメッセージを送信する。しかしながら、ＳＭＳを使用するという決定は、メッセージにＳＭＳの制限を受けさせる。
【発明の概要】
【０００３】
リッチな構造化コンテンツ（rich,  structured  content）を有するメッセージが作成され得る。このメッセージが、ＳＭＳ又はＩＭ等の既存のテキスト・メッセージング・システムの使用を導入することにより、広範囲の機能を有するデバイスに送信され得る。一例において、人がそのようなメッセージを作成するとき、そのユーザは、メッセージが送信されることになる人の電話番号を特定する。完全な構造化メッセージがサーバに送信され、サーバにおいて、完全な構造化メッセージが、後の検索のために記憶される。さらに、その完全なメッセージのＳＭＳ表現が作成され、ＳＭＳ表現が、ＳＭＳを介して受信者に送信される。ＳＭＳ表現は、サーバに記憶されている元となるメッセージへのリンクとともに、そのメッセージのコンテンツのテキスト表現を含む。
【０００４】
受信者のデバイスがＳＭＳメッセージを受信したとき、そのデバイス上のソフトウェアは、ＳＭＳメッセージがサーバ上に記憶されているよりリッチなコンテンツを参照するかどうかをチェックするよう構成され得る。そのようなソフトウェアが、受信デバイスにインストールされている場合、そのソフトウェアは、サーバから元となるコンテンツを取得することができ、受信者のためにリッチ・エクスペリエンスのそのコンテンツをレンダリングすることができる。そのような場合、ＳＭＳメッセージ自体は、表示されないかもしれない。というのは、ＳＭＳメッセージは、実際上、送信デバイスが伝達しようと試みている「真の」コンテンツのレガシ表現に過ぎないからである。しかしながら、受信者のデバイスが、ＳＭＳメッセージがよりリッチなコンテンツの代理（stand-in）であるかどうかを判定することできるインストールされたソフトウェアを有していない場合、ＳＭＳメッセージは、そのメッセージの要旨を伝達するのに十分なテキストを含むことができる。さらに、上述したように、ＳＭＳメッセージは、サーバ上の元となるコンテンツへのリンクを含み、受信者は、よりリッチなコンテンツを見るために、例えば、モバイル・デバイスのウェブ・ブラウザ上でそのコンテンツを見ることにより、そのリンクを手動で検索することができる。
【０００５】
よりリッチなコンテンツの作成は、様々な方法で、例えば、メニュー又はエスケープ文字を介して実行され得る。例えば、エスケープ文字としてハッシュ文字（＃）が使用される場合、メッセージが作成されている間に「＃Ｊｏｈｎ」等のテキストを含めることにより、「Ｊｏｈｎの」連絡先情報を表す構造化エンティティ（structured  entity）が作成され得る。同様に、「＃６：１５ｐｍ」により、現在の日にちの６：１５ｐｍへのカレンダ・エントリが作成され得る。これらのエンティティの表現は、記憶されてもよいし、このメッセージのリッチ・バージョンにより参照されてもよく、これらのエンティティの表現は、そのリッチ・コンテンツが受信者により見られるときに、様々な方法でレンダリングされ得る。
【０００６】
この概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。
【図面の簡単な説明】
【０００７】
【図１】例示的なメッセージ作成アプリケーションのビューのブロック図。
【図２】例示的なメッセージ作成アプリケーションのビューのブロック図。
【図３】例示的なメッセージ作成アプリケーションのビューのブロック図。
【図４】例示的なメッセージ作成アプリケーションのビューのブロック図。
【図５】メッセージを送信する際に使用することができる例示的なコンポーネントのブロック図。
【図６】メッセージを受信したデバイスのブロック図。
【図７】メッセージを受信したデバイスのブロック図。
【図８】エンティティ・コンテンツを含むメッセージを作成する例示的なプロセスのフロー図。
【図９】デバイスがテキスト・メッセージを受信し、このテキスト・メッセージを使用してリッチ・コンテンツを取得する例示的なプロセスを示す図。
【図１０】本明細書で説明する主題の実施例に関連して使用することができる例示的なコンポーネントのブロック図。
【発明を実施するための形態】
【０００８】
ショート・メッセージ・サービス（ＳＭＳ）メッセージは、情報を伝達するために使用される。ＳＭＳは、しばしば、携帯電話機間で通信するために使用される。通常、メッセージの送信者は、メッセージを作成し、メッセージを受信者の電話番号に送る。メッセージが、受信者の電話機に送信される。受信者の電話機上のＳＭＳソフトウェアは、メッセージが利用可能であることを受信者に通知し、メッセージを表示する。
【０００９】
情報は、複数の方法によりデバイス間で送信され得る。ＳＭＳは、そのような方法のうちの１つに過ぎない。多くの無線電話機は、完全なインターネット対応デバイスとして機能する。そのようなデバイスは、ＳＭＳ以外の方法でメッセージを受信することができる。例えば、スマートフォンは、電子メール、プッシュ通知（push  notification）、又はインターネット接続リクエストを受信することができる。プッシュ通知を、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を介して任意のハイパーテキスト・マークアップ言語（ＨＴＭＬ）コンテンツをダウンロードする機能と組み合わせることにより、インターネット対応電話機は、ＳＭＳの使用を完全にバイパスすることにより、メッセージを互いに送信することが可能である。
【００１０】
実際、ＳＭＳは、レガシ技術であり、その使用は、主にその普及性を理由として、存続している。１人の人が、メッセージを別の人に送信するとき、送信者は、しばしば、受信者がどのようなタイプの電話機を有するかを知らない。ほとんど全ての携帯電話機が、ＳＭＳメッセージを受信することができるが、特定の種類の電話機のみが、他の方法でメッセージを受信することができる。例えば、Ａｐｐｌｅ（登録商標）デバイスは、ｉＭｅｓｓａｇｅ（登録商標）と呼ばれるプロトコルを介して、メッセージを互いに送信することができる。しかしながら、人々は、しばしば、連絡先リストにおいて、どのブランドの電話機が人々により所有されているかを追跡しなければならないことを望まないので、１つのブランドの専用メッセージング・システムを用いる代わりに、人々は、単に、ＳＭＳをデフォルト設定する。さらに、多くのデバイスは、高品質ユーザ・エクスペリエンスの一部として、ＳＭＳをサポートし、例えば、プッシュ通知及びロック・スクリーン上のアラートを提供する。他のメッセージング・システムは、例えば、構造化エンティティをメッセージに組み込むことを可能にすることにより、よりリッチなエクスペリエンスを提供することができるが、この種のエクスペリエンスは、ＳＭＳメッセージに組み込むことが難しい。
【００１１】
本明細書における主題は、既存のＳＭＳシステムを利用して、メッセージ作成側及びメッセージング・レンダリング側の両方によりリッチなメッセージング・エクスペリエンスを提供する方法を提供する。メッセージング・エクスペリエンスは、メッセージ内での構造化エンティティの使用を含み得る。ユーザがメッセージを作成するとき、ユーザは、エンティティを参照する特定のタイプの情報を含めることができる。例えば、メッセージは、「Ｊｏｈｎ」というテキストを含み得るが、このテキストは、実際には、特定の連絡先情報、特定のソーシャル・リレーションシップ等を有する人物を参照する。したがって、メッセージを作成するとき、作成者は、「＃」等のエスケープ文字を使用して、「＃Ｊｏｈｎ」と書くことができる。適切な決定メカニズム（resolution  mechanism）を使用して、エンティティの曖昧さを除去することができる。例えば、テキスト「＃Ｊｏｈｎ」に応答して（あるいは、ユーザがそのテキストをタイプするにつれて増加的に）、作成システムは、ユーザがＪｏｈｎという名前の様々な人の間で選択することを可能にするドロップ・ダウン・メニューを提供することができる。人物は、メッセージに付加することができるエンティティの一例に過ぎない。他の例は、日付及び時間（例えば、「＃６１５ｐｍ」を用いて、現在の日にちの６：１５ｐ．ｍ．を参照する）と、場所（例えば、「＃ｂａｍｂｏｏ−ｇａｒｄｅｎ」を用いて、「Ｂａｍｂｏｏ  Ｇａｒｄｅｎ」という名前の近くのレストランを参照する）と、を含む。これらの「エンティティ」のいずれも、例えば、人物のための連絡先カード、日付及び時間のためのカレンダ・エントリ、レストランのための場所ページ（place  page）、又は任意の他の名前付きエンティティ等、適切な構造化形式で表現され得る。
【００１２】
メッセージが作成されると、メッセージの作成者は、メッセージが送信されることになる場所を示す。メッセージの宛先は、電話番号であり得る。電話番号は、メッセージが送信されることになる特定の電話機を特定し得る。エンティティ・コンテンツ（entity  content）を含む完全なメッセージが、次いで、サーバに送信され、完全なメッセージが、サーバに記憶される。サーバへのメッセージの送信は、ＨＴＴＰ等の任意の適切なメカニズムにより行われ得る。さらに、完全なメッセージの元となるコンテンツを表すＳＭＳメッセージが、送信者が特定した宛先に送信される。ＳＭＳメッセージは、作成されたコンテンツのテキスト表現を含み得る。ＳＭＳメッセージはまた、サーバ上の完全なメッセージを取得するためのリンクを含み得る。
【００１３】
ＳＭＳメッセージが、受信者のデバイス上で受信されたとき、そのデバイス上のソフトウェアは、受信されたＳＭＳメッセージがサーバ上のよりリッチなコンテンツを含むメッセージに対応するかどうかを判定するために、サーバに問い合わせることができる。例えば、ソフトウェアは、送信者の電話番号及び受信者の電話番号と、メッセージのダイジェストと、受信時間と、をサーバに送信することができ、サーバは、この情報を使用して、それがＳＭＳメッセージに対応するリッチ・メッセージを有するかどうかを判定することができる。ＳＭＳメッセージが、よりリッチなコンテンツに対応すると判定された場合、ソフトウェアは、サーバからそのコンテンツを取得し、そのコンテンツをレンダリングする。受信者のデバイスにおけるソフトウェアが、ＳＭＳメッセージがサーバ上で利用可能なリッチ・コンテンツを参照すると判定できるとき、ソフトウェアは、ＳＭＳメッセージ自体を表示することを回避することができる。というのは、ＳＭＳメッセージは、実際上、サーバから取得されたコンテンツのレガシ表現に過ぎないからである。しかしながら、受信者のデバイスが、ＳＭＳメッセージがサーバ上のコンテンツを参照することを認識するためのソフトウェアを有していない場合、ＳＭＳメッセージが、受信者の既存のＳＭＳソフトウェアを用いて、受信者に表示され得る。上述したように、そのＳＭＳメッセージは、サーバ上のコンテンツへのリンクを含み得るので、受信者のデバイスがインターネット対応である場合、受信者は、そのリンクを手動で辿って、よりリッチなコンテンツを取得することができる。（受信者のデバイスが、サーバ・コンテンツをダウンロードする方法を有していない場合、受信者は、メッセージのＳＭＳ表現に含まれている、送信者のメッセージの基本的なテキストを、それでも見ることができる。）
【００１４】
本明細書における説明は、一例としてＳＭＳを使用することに留意されたい。しかしながら、以下の説明において、任意のテキスト・メッセージング技術（インスタント・メッセージング、すなわちＩＭ等）が、ＳＭＳの代わりに使用されてもよい。
【００１５】
次に図面に移ると、図１〜図４は、メッセージ作成アプリケーションの例示的なインタフェースを示している。図１において、デバイス１０２は、何らかの通信機能及び計算機能を有する任意のタイプのデバイスである。例えば、デバイス１０２は、スマートフォン、タブレット、又は任意の他のタイプのデバイスとすることができる。（図１〜図４の例において、デバイス１０２は、スマートフォンの非限定的な例として示されている。）デバイス１０２は、デバイス１０２の入力及び出力コンポーネントとして機能するタッチ・スクリーン１０４を有することができる。デバイス１０２は、ボタン１０６等、入力及び出力に関連する他のコンポーネントを有してもよい。そのような他のコンポーネントを使用して、デバイス１０２上のデスクトップ又はホーム・スクリーンに戻ることができる、あるいはデバイス１０２上でコンテンツをナビゲートすることができる。
【００１６】
デバイス１０２は、ソフトウェアを実行することができる。デバイス１０２上で実行することができるソフトウェアの１つは、メッセージ・アプリケーション（図面においては、「メッセージ・アプリ」）である。メッセージ・アプリケーションは、タッチ・スクリーン１０４を介してユーザ・インタフェースを提供する。（図１〜図４において、メッセージ・アプリケーションのインタフェース１０８の異なるビューが示されている。）図１において、メッセージ・アプリケーションのインタフェースは、ユーザがメッセージを作成することを可能にするボックス１１０と、メッセージの宛先を入力することができるスペース１１２と、メッセージが送信されることになることを示すために使用される送信ボタン１１４と、を含む。
【００１７】
図２において、メッセージを作成するためのインタフェース１０８が、デバイス１０２上で使用されている。図示するように、ユーザは、メッセージ「Ｌｅｔ’ｓ  ｍｅｅｔ  ａｔ  ＃ｂａｍｂ  ．．．．」とタイプすることを開始している。この例において、「＃」文字（番号記号又はハッシュ・マーク）は、エスケープ文字２０２であり、この文字に続くテキストがあるエンティティを参照することを示す。そのような文字に遭遇すると、ユーザがメッセージを作成するために使用しているソフトウェアは、エンティティの様々な提案を提供することができる。図示した例において、これらの提案は、ドロップ・ダウン・メニュー２０４の形態で提供されている。ドロップ・ダウン・メニュー２０４は、エスケープ文字２０２の後にタイプされている文字列に合致し得るエンティティのいくつかの選択肢を提供する。これらの選択肢は、「Ｂａｍｂｏｏ  Ｇａｒｄｅｎ」及び「Ｂａｍｂａｓｔｉｃ  Ｂｉｚ」を含む。ドロップ・ダウン・メニュー２０４はまた、例えば、レストランの横のフォーク及びナイフ・アイコン、人物の横の人物の頭部のシルエット等、メニュー上のアイテムの各々についての画像を含んでもよい。さらに、ドロップ・ダウン・メニューは、「ｉｇｎｏｒｅ」選択肢を含む。「ｉｇｎｏｒｅ」選択肢が選択された場合、「ｉｇｎｏｒｅ」選択肢は、シーケンス「＃ｂａｍｂ」が、エンティティのインジケーションとして扱われるのではなく、メッセージに含まれるべき文字通りのテキスト文字列として扱われることを可能にする。
【００１８】
メニュー内のエンティティの選択、及び曖昧なエンティティが決定される方法は、様々な文脈情報（contextual  information）から決定され得ることに留意されたい。例えば、ドロップ・ダウン・メニュー内のエンティティの選択（又は、これらのエンティティが提示される順番）は、以前にユーザにより選択されたエンティティの履歴に基づいて決定され得る（ユーザは、ユーザが過去に選択したエンティティを選択する可能性がより高い）；あるいは、ユーザのロケーションにより決定され得る（例えば、ユーザは、現在Ｂａｍｂｏｏ  Ｇａｒｄｅｎの近くにいる場合、Ｂａｍｂｏｏ  Ｇａｒｄｅｎを選択する可能性がより高い）；あるいは、ソーシャル・グラフ（social  graph）等のパーソナライズ情報（personalization  information）に基づいて決定され得る（例えば、人は、ソーシャル・グラフにおいて書き込み者から非常に離れている人々について書くより、テキスト・メッセージにおいて自分の「友人」について書き込む可能性が高い）。したがって、履歴、ロケーション、及びソーシャル・グラフにおける位置は全て、エンティティを決定する際又はドロップ・ダウン・メニューに何を含めるべきかを判定する際に使用することができる文脈（context）の例である。メニューに何を含めるべきかを判定するために使用される情報又はエンティティ名をどのように決定するかを判定するために使用される情報は、メッセージが作成されているデバイス（例えば、ユーザのスマートフォン）内からもたらされてもよいし、デバイスが通信する外部ソースからもたらされてもよい。
【００１９】
図３は、メッセージのさらなる作成を示している。先の２つの図と同様、インタフェース１０８が、デバイス１０２上に表示されている。テキスト文字列「＃ｂａｍｂ」は、レストラン・エンティティ「Ｂａｍｂｏｏ  Ｇａｒｄｅｎ」に決定されている。メッセージの作成中、ユーザは、「＃ｔｏｎｉｇｈｔ」とタイプする。ソフトウェアは、時間エンティティ（time  entity）を参照するものとして、この文字列を認識し得る。メッセージの作成を容易にするために、ソフトウェアは、ダイアログ・ボックス３０２を提示することができる。ダイアログ・ボックス３０２は、例えば、スライダを提供することにより、あるいは、ユーザが時間を指定することを可能にする他のユーザ・インタフェース要素を提供することにより、ユーザが、「ｔｏｎｉｇｈｔ」をより正確に指定することを可能にする。図示した例において、ユーザは、時間として、６：３０ｐ．ｍ．を選択する。（別の例として、ユーザは、「＃ｔｈｉｓ  ｗｅｅｋ」とタイプするかもしれないが、この場合、ダイアログ・ボックスは、ユーザが日にちを選択することを可能にするカレンダを提示することができる。）
【００２０】
図４は、メッセージのさらなる作成を示している。先の２つの図と同様、インタフェース１０８が、デバイス１０２上に表示されている。ユーザは、「＃Ａｌ」と書くことにより、人物エンティティを示している。ソフトウェアは、ドロップ・ダウン・メニュー４０２を提供する。ドロップ・ダウン・メニュー４０２は、いくつかの名前の選択肢を提供し、ユーザは、そこから選択して、文字列「＃Ａｌ」を特定のエンティティに決定することができる。後続の図に示す例において、ユーザは、メニューから名前を選択することにより、エンティティを「Ａｌａｎ  Ｓｍｉｔｈｅｅ」に決定したと仮定している。
【００２１】
メッセージが作成されると、メッセージが受信者に送信され得る。送信者は、（例えば、電話番号又は連絡先リストからの名前を、図１に示したスペース１１２に入力することにより）受信者を選択する。メッセージを送信する際に関わるコンポーネントが図５に示されている。
【００２２】
図５の例において、デバイス１０２は送信者のデバイスであり、デバイス５０２は受信者のデバイスである。（送信者が送信することを望むコンテンツを作成するために使用された同じソフトウェアとすることができる）送信者のデバイス１０２上のソフトウェア５０４は、コンテンツの２つの表現を作成する。すなわち、その２つの表現は、ＳＭＳメッセージ５０６、及び、作成されたテキストと、そのテキストにおいて参照されるエンティティと、を表す「リッチ」メッセージである。ＳＭＳメッセージは、テキスト５０８及びリンク５１０を含む。テキスト５０８は、送信者により作成されたテキスト・コンテンツである。リンク５１０は、サーバ５１２に記憶されることになるリッチ・メッセージへのリンクである。図５の例において、リンク５１０は、（ユニフォーム・リソース・ロケータ（「ＵＲＬ」）短縮サービス「ｂｉｔ．ｌｙ」又は任意の他の短縮サービスを用いた）「ショート」リンクとして示されているが、リンク５１０は、任意の形態を取ってもよい。ＳＭＳメッセージ５０６は、テキスト・メッセージ・ネットワーク５１４（例えば、ＳＭＳメッセージを配信するために使用される携帯電話システム）により提供される通常のＳＭＳ配信メカニズムを用いて、受信者のデバイス５０２に送信される。
【００２３】
元となるコンテンツのＳＭＳメッセージ表現に加えて、「リッチ」メッセージ５１６も作成される。リッチ・メッセージ５１６は、メッセージのテキスト・コンテンツであるテキスト５１８を含む。リッチ・メッセージ５１６はまた、エンティティ５２０も含み得る。エンティティ５２０は、任意の適切な形式で表現され得る。例えば、場所エンティティ（place  entity）は、Ｙｅｌｐ等のサービス上の「場所ページ」により表現されてもよいし、別の例として、場所エンティティは、ロケーション及び開店する時間を含む地図上に表現されてもよい。日付／時間エンティティ（date/time  entity）は、ｉＣａｌｅｎｄａｒ（「．ｉｃｓ」）ファイルとして表現されてもよいし、人物のカレンダ上のアイテムへのリンクとして表現されてもよい。人物エンティティ（person  entity）は、ディレクトリ又は連絡先リスト内のその人物のエントリとして表現され得る。表現は、エンティティに関する情報のコピー（例えば、ディレクトリ内の人物のエントリのコピー）を含んでもよいし、どこかで記憶され保持されるオブジェクトへの参照（例えば、オンライン・ディレクトリ内の人物のリストへのリンク）であってもよい。任意の適切なエンティティ表現が使用されてよい。リッチ・メッセージ５１６は、ＨＴＴＰ等の任意の適切な通信プロトコルを用いて、サーバ５１２に送信され得る。
【００２４】
メッセージがサーバ５１２に到達すると、メッセージが記憶される。メッセージ５１６は、識別データの様々な部分に関連付けられて記憶され得る。そのようなデータは、送信者ＩＤ５２２（例えば、送信者の電話番号）、受信者ＩＤ５２４（例えば、受信者の電話番号）、メッセージ・ダイジェスト５２６（例えば、ＳＭＳメッセージのハッシュ）、及びタイムスタンプ５２８（メッセージが送信及び／又は受信された時間を示す）を含み得る。
【００２５】
サーバ５１２とデバイス５０２との間の破線により示されるように、メッセージ５１６は、図９を参照して以下で説明するプロセスの一部として、デバイス５０２に送信され得る。
【００２６】
図６は、ＳＭＳメッセージが通常のＳＭＳソフトウェアを有するデバイスにより受信されたときに何が起こり得るかを示している。すなわち、そのソフトウェアは、ＳＭＳメッセージを、元となるよりリッチなメッセージに関連付けることができない。デバイス６０２（例えば、携帯電話機）は、ＳＭＳメッセージを受信するデバイスである。デバイス６０２上のソフトウェアは、ＳＭＳメッセージ５０６を通常のＳＭＳメッセージとして扱うので、単にメッセージを表示するだけである。上述したように、メッセージはリンク５１０を含み、リンク５１０は、（図５に示した）サーバ５１２に記憶されている元となるメッセージを示す。デバイス６０２が、ウェブ・サイトを訪問する機能を有する場合（例えば、デバイス６０２が、ウェブ・ブラウザを有する場合）、ユーザは、元となるコンテンツを見るために、リンク５１０を検索することができる。
【００２７】
図７は、ＳＭＳメッセージがＳＭＳメッセージを元となるリッチ・メッセージに関連付けることができるソフトウェアを有するデバイスにより受信されたときに何が起こり得るかを示している。デバイス７０２が、ＳＭＳメッセージを受信したとき、デバイス７０２は、ＳＭＳメッセージが（図５に示した）サーバ５１２に記憶されているコンテンツに関連付けられているかどうかを判定するために、サーバ５１２にコンタクトすることができる。一例において、デバイス７０２上のソフトウェアは、メッセージのダイジェスト（例えば、ハッシュ）を算出し、次いで、サーバが、（ａ）計算されたハッシュ、（ｂ）ＳＭＳメッセージの送信者、（ｃ）ＳＭＳメッセージの受信者、及び（ｄ）ＳＭＳメッセージが受信された時の何らかの範囲内にあるタイムスタンプ、に関連付けられたメッセージを有するかどうかについて、サーバに問い合わせる。図５に関連して上述したように、サーバは、各メッセージをデータのアイテム（図５のアイテム５２２〜５２８参照）に関連付けることができる。したがって、サーバは、ＳＭＳメッセージに対応するコンテンツがサーバ上に存在するかどうかについて検索することができる。そのようなコンテンツが存在する場合、コンテンツが、（例えば、ＨＴＴＰ又は何らかの他の非ＳＭＳプロトコルを介して）デバイス７０２に送信される。デバイス７０２は、次いで、例えば、テキスト７０４及び任意のエンティティ情報７０６を含むそのコンテンツを表示することができる。図７の例において、そのようなエンティティ情報が、テキストから分離されたエリアに表示されている。この例は、テキストの下にエンティティを表示しているが、エンティティは、テキストの上に表示されてもよいし、テキストの横に表示されてもよいし、テキストとは異なるスクリーン上に表示されてもよい。これらの全ては、テキストから分離してエンティティを表示する例である。上述したように、ＳＭＳメッセージが、（図５に示した）サーバ５１２に記憶されているコンテンツと対応すると判定されたとき、ＳＭＳメッセージは、実際上、そのコンテンツのレガシ表現として理解されるので、デバイス７０２は、ＳＭＳメッセージ自体を実際に表示することを回避することができる。
【００２８】
図８は、エンティティ・コンテンツを含むメッセージを作成する例示的なプロセスを示している。８０２において、ユーザは、図１〜図４に示したようなエンティティ・コンテンツを含むメッセージを作成する。８０４において、ユーザは、例えば、受信者の電話番号を指定することにより、あるいは連絡先リストから受信者を選択することにより、メッセージの受信者を示す。８０６において、メッセージのＳＭＳ表現が作成され、ＳＭＳを介して受信者に送信される。８０８において、（メッセージ内にエンティティの表現を含む）メッセージのリッチ表現が作成され、リッチ表現がサーバに送信される。８１０において、サーバは、メッセージのリッチ表現を記憶する。サーバは、メッセージを、様々な識別情報（例えば、上述したような、送信者の電話番号及び受信者の電話番号、タイムスタンプ、並びにＳＭＳメッセージのダイジェスト）と関連付けることができる。
【００２９】
図９は、デバイスがＳＭＳメッセージを受信し、ＳＭＳメッセージを使用してリッチ・コンテンツを取得する例示的なプロセスを示している。９０２において、ＳＭＳメッセージが、拡張型ＳＭＳソフトウェアを有するデバイスにおいて受信される。このＳＭＳソフトウェアは、この例において、このソフトウェアが、ＳＭＳメッセージがどこかに記憶されているよりリッチなコンテンツに対応するかどうかを判定できるという意味で、「拡張型」である。この判定を行うために、（９０４において）ソフトウェアは、ＳＭＳメッセージから送信者及び受信者を抽出し、ＳＭＳメッセージのダイジェストを算出し、受信時間を記録することができる。９０６において、この識別情報が、リッチ・メッセージが記憶されているサーバに送信される。
【００３０】
９０８において、サーバは、識別情報に対応するメッセージが存在するかどうかを判定する。例えば、識別情報が、送信者の電話番号及び受信者の電話番号、ＳＭＳメッセージのダイジェスト、並びに受信時間を含む場合、サーバは、どのメッセージが合致する電話番号及びＳＭＳメッセージのダイジェストを有し、且つメッセージが受信された時間に近いタイムスタンプを有するかを判定するために、記憶されているメッセージを調べることができる。
【００３１】
サーバが、ＳＭＳメッセージに対応するリッチ・メッセージが存在すると判定した場合、（９１０において）サーバは、リッチ・メッセージの表現を受信者のデバイスに送信する。リッチ・メッセージ・コンテンツの送信は、ＨＴＴＰ等の任意の通信プロトコルを用いて実行され得る。受信者のデバイスがコンテンツを受信すると、（９１２において）デバイスは、コンテンツを適切なフォーマットでレンダリングする。例えば、クライアントは、メッセージのテキストを表示することができ、また、（場所エンティティのための）地図、（人物エンティティのための）連絡先カード、（日付／時間エンティティのための）カレンダ・ページ等の任意のエンティティ・コンテンツをレンダリングすることができる。上述したように、図７は、適切なフォーマットで表示されているリッチ・コンテンツの一例を示している。エンティティ・コンテンツが、どこかに記憶されているコンテンツへの参照を含む場合、受信者のデバイス上のソフトウェアは、適切なコンテンツを取得及び／又は生成する。どこかに記憶されているコンテンツを取得する一例は、場所エンティティがエンティティの場所ページへのリンクにより表現されている場合である。この場合、コンテンツの取得は、リンクをリクエストすることにより実行され得る。コンテンツを生成する一例は、場所エンティティが地図に関連付けられている場合である。この場合、適切なマッピング・ソフトウェアを使用して、地図データを取得し、且つ／あるいは地図を生成することができる。
【００３２】
図１０は、本明細書で説明した主題の態様を展開することができる例示的な環境を示している。
【００３３】
デバイス１０００は、１以上のプロセッサ１００２及び１以上のデータ記憶コンポーネント１００４を含む。デバイス１０００は、何らかの計算パワーを備えた任意のタイプのデバイスとすることができる。スマートフォンがデバイス１０００の一例であるが、デバイス１０００は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、セット・トップ・ボックス、又は任意の他の適切なタイプのデバイスであってもよい。１以上のプロセッサ１００２は、通常、パーソナル・デスクトップ・コンピュータ若しくはパーソナル・ラップトップ・コンピュータ、サーバ、ハンドヘルド・コンピュータ、又は別の種類のコンピューティング・デバイスにおいて見られるようなマイクロプロセッサである。１以上のデータ記憶コンポーネント１００４は、短期間又は長期間の間データを記憶することができるコンポーネントである。１以上のデータ記憶コンポーネント１００４の例は、ハード・ディスク、（光ディスク及び磁気ディスクを含む）取り外し可能なディスク、揮発性及び不揮発性ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュ・メモリ、磁気テープ等を含む。１以上のデータ記憶コンポーネントは、コンピュータ読み取り可能記憶媒体（又は、デバイス読み取り可能記憶媒体）の例である。デバイス１００は、ディスプレイ１００２を備えることができる、あるいはディスプレイ１０１２に関連付けられ得る。ディスプレイ１０１２は、陰極線管（ＣＲＴ）モニタ、液晶ディスプレイ（ＬＣＤ）モニタ、又は任意の他のタイプのモニタとすることができる。ディスプレイ１０１２は、出力専用型のディスプレイであってもよい。しかしながら、別の非限定的な例において、ディスプレイ１０１２は、情報を表示及び受信することができるタッチ・スクリーンであってもよい（あるいは、そのようなタッチ・スクリーンを備えてもよい）。
【００３４】
ソフトウェアは、１以上のデータ記憶コンポーネント１００４に記憶され得る。ソフトウェアは、１以上のプロセッサ１００２上で実行され得る。そのようなソフトウェアの一例は、テキスト・メッセージ拡張ソフトウェア１００６である。テキスト・メッセージ拡張ソフトウェア１００６は、図１〜図９に関連して上述した機能の一部又は全てを実装することができるが、任意のタイプのソフトウェアが使用されてもよい。ソフトウェア１００６は、例えば、１以上のコンポーネントを介して実装され得る。そのような１以上のコンポーネントは、分散システムにおけるコンポーネントであってもよいし、別々のファイルであってもよいし、別々のファンクションであってもよいし、別々のオブジェクトであってもよいし、別々のコードのラインであってもよい、等である。プログラムがハード・ディスクに記憶され、ＲＡＭにロードされ、デバイスの１以上のプロセッサ上で実行されるデバイス（例えば、スマートフォン、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・コンピュータ、タブレット・コンピュータ、セット・トップ・ボックス等）は、図１０に示すシナリオを具現化するものであるが、本明細書で説明した主題は、この例に限定されるものではない。
【００３５】
本明細書で説明した主題は、１以上のデータ記憶コンポーネント１００４のうちの１以上に記憶され、１以上のプロセッサ１００２のうちの１以上で実行されるソフトウェアとして実装され得る。別の例として、主題は、１以上のデバイス読み取り可能媒体に記憶される命令として実装され得る。そのような命令は、電話機、コンピュータ、又は別の機械により実行されたとき、その電話機、コンピュータ、又は別の機械に、方法の１以上の動作を実行させ得る。動作を実行するための命令は、１つの媒体に記憶されてもよいし、複数の媒体にわたって分散されてもよいので、命令は、命令の全てが同じ媒体上に存在するかどうかにかかわらず、１以上のコンピュータ読み取り可能媒体（又は、デバイス読み取り可能媒体）上に集合的に存在するかのように見えるかもしれない。
【００３６】
コンピュータ読み取り可能媒体は、少なくとも２つのタイプのコンピュータ読み取り可能媒体、すなわち、コンピュータ記憶媒体及び通信媒体を含む。同様に、デバイス読み取り可能媒体は、少なくとも２つのタイプのデバイス読み取り可能媒体、すなわち、デバイス記憶媒体及び通信媒体を含む。
【００３７】
コンピュータ記憶媒体（又は、デバイス記憶媒体）は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータ等の情報を記憶するために任意の方法又は技術により実装された、揮発性及び不揮発性の取り外し可能な媒体及び取り外し不可能な媒体を含む。コンピュータ記憶媒体（及び、デバイス記憶媒体）は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気記憶デバイス、又は、コンピュータ又は他のタイプのデバイスによるアクセスのために、情報を記憶するために使用することができる任意の他の非伝送媒体を含むが、これらに限定されるものではない。
【００３８】
反対に、通信媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、又は他のデータを、搬送波又は他の伝送メカニズム等の変調されたデータ信号内に具現化することができる。本明細書において定義されるように、コンピュータ記憶媒体は、通信媒体を含まない。同様に、デバイス記憶媒体は、通信媒体を含まない。
【００３９】
さらに、（図面に示されたものであっても示されたものでなくとも）本明細書で説明した任意の動作は、方法の一部として、プロセッサ（例えば、プロセッサ１００２のうちの１以上）により実行され得る。したがって、動作Ａ、動作Ｂ、及び動作Ｃが本明細書において記載されている場合、動作Ａ、動作Ｂ、及び動作Ｃを含む方法が実行され得る。さらに、動作Ａ、動作Ｂ、及び動作Ｃが本明細書において開示されている場合、プロセッサを用いて動作Ａ、動作Ｂ、及び動作Ｃを実行することを含む方法が実行され得る。
【００４０】
１つの例示的な環境において、デバイス１０００は、ネットワーク１００８を介して、１以上の他のデバイスに通信可能に接続され得る。構造上デバイス１０００と同様のものであり得るデバイス１０１０は、デバイス１０００に接続され得るデバイスの一例であるが、他のタイプのデバイスがまた、そのように接続されてもよい。
【００４１】
構造的特徴及び／又は方法論的動作に特有の言葉で主題を説明したが、添付の請求項において定められる主題は、上述した特定の特徴又は動作に必ずしも限定されないことを理解すべきである。むしろ、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示されたものである。
【図１】
0006324407.tif 000002
【図２】
0006324407.tif 000003
【図３】
0006324407.tif 000004
【図４】
0006324407.tif 000005
【図５】
0006324407.tif 000006
【図６】
0006324407.tif 000007
【図７】
0006324407.tif 000008
【図８】
0006324407.tif 000009
【図９】
0006324407.tif 000010
【図１０】
0006324407.tif 000011