(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、
前記メディア要素を含むメッセージパッケージを生成することであって、前記メッセージパッケージは、前記メディア要素に関する帰属レコードを含み、前記帰属レコードは、前記メディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含み、前記アプリケーション間リンクは、前記メディアアプリケーションに関連付けられたメディアサービスのコンテンツ空間内で前記メディア要素を識別し、前記帰属レコードは、前記メディアサービスのメディアサーバー上のメディア要素にネットワークアクセスするために前記メッセージングアプリケーションのネットワークコンポーネントを構成設定するように機能し、前記構成設定することは、前記メディアサービスのセキュリティ認証情報を前記メッセージングアプリケーションに提供することを含む、前記メッセージパッケージを生成すること、
前記メッセージパッケージをメッセージングサーバーに送信すること、を備える方法。
【請求項２】
前記メッセージングアプリケーションは、クライアントデバイス上にインストールされ、
前記メディアアプリケーションは、前記メッセージングアプリケーションとは別のアプリケーションとして、前記クライアントデバイス上にインストールされ、
前記クライアントデバイス上で、アプリケーション間通信によって、前記メディア要素と前記アプリケーション間リンクとを含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信すること、をさらに備える請求項１に記載の方法。
【請求項３】
受信されたメディアパッケージから前記メディア要素を抽出すること、
前記メッセージングアプリケーションにおいて前記メディア要素のプレビューを表示すること、
前記メッセージングアプリケーションにおいて前記メディア要素のユーザメディア選択を受け取ること、
前記メッセージングアプリケーション内で、前記メディア要素のユーザメディア選択に応じて、前記メディア要素を含むメッセージパッケージを生成すること、をさらに備える請求項２に記載の方法。
【請求項４】
前記メディアサーバーからプロモーションされたメディアリポジトリを受信することであって、前記プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、前記メディア要素は、前記プロモーションされた複数のメディア要素のうちの１つを含む、前記プロモーションされたメディアリポジトリを受信すること、
前記プロモーションされた複数のメディア要素のうちの１つ以上を表示することであって、前記プロモーションされた複数のメディア要素のうちの表示される１つ以上は、前記メディア要素を含む、前記プロモーションされた複数のメディア要素のうちの１つ以上を表示すること、
前記メディア要素のユーザメディア選択を受け取ること、
前記メディア要素のユーザメディア選択に応じて、前記メディア要素を含むメッセージパッケージを生成すること、をさらに備える請求項１に記載の方法。
【請求項５】
前記メッセージングアプリケーションのメディア要素ディスカバリ・セクションにおいて、前記メディア要素を表示すること、
前記メディア要素ディスカバリ・セクションにおいて、前記メディア要素のユーザメディア選択を受け取ること、
前記メディア要素のユーザメディア選択に応じて、前記メディア要素を含むメッセージパッケージを生成すること、をさらに備える請求項１に記載の方法。
【請求項６】
前記メッセージパッケージは、メッセージスレッドに関連付けられ、
前記メッセージングサーバーから、前記メッセージスレッドに関連付けられた前のメッセージパッケージを受信することであって、前記前のメッセージパッケージは、前記メディアアプリケーションに関連付けられた前のメディア要素を含み、前記前のメッセージパッケージは、前の帰属レコードを含み、前記前の帰属レコードは、前のアプリケーション間リンクを含み、前記前のアプリケーション間リンクは、前記メディアアプリケーション内で前記前のメディア要素を識別する、前記前のメッセージパッケージを受信すること、
前記メッセージスレッドにおいて、前記メディアアプリケーションに関する帰属表示要素に関連付けて、前記前のメディア要素を表示すること、
前記帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取ること、
前記ユーザアプリケーション起動コマンドに応答して、前記メディアアプリケーションを起動すること、
前記前のアプリケーション間リンクを前記メディアアプリケーションに送信すること、
前記前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクを前記メディアアプリケーションに送信すること、
前記メディア要素と、前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信すること、
前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、前記メディア要素を前記メッセージスレッドに取り込むプロンプトを提示すること、をさらに備える請求項１に記載の方法。
【請求項７】
前記メッセージングアプリケーションは、クライアントデバイス上で実行され、
前記方法は、
前記クライアントデバイス上に前記メディアアプリケーションがインストールされていないと判断すること、
前記ユーザアプリケーション起動コマンドに応答して、前記クライアントデバイス上で前記メディアアプリケーションのインストールを開始すること、をさらに備える、請求項６に記載の方法。
【請求項８】
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、前記メッセージングサーバーから受信すること、
前記前のメディア要素を表示すること、
表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、
前記ユーザリミックスコマンドに応答して、前記メディアアプリケーションを起動すること、
前記前のメディア要素を前記メディアアプリケーションに送信すること、
前記前のメディア要素の変更バージョンを含むメディア要素を、前記メディアアプリケーションから受信すること、をさらに備える請求項１に記載の方法。
【請求項９】
装置であって、
デバイスに搭載されたプロセッサ回路と、
メディアアプリケーションに関連付けられたメディア要素をメッセージングアプリケーションにおいて受信するように、前記プロセッサ回路上で動作するメディア管理コンポーネントと、
前記メディア要素を含むメッセージパッケージを生成し、前記メッセージパッケージをメッセージングサーバーに送信するように動作するメッセージングコンポーネントであって、前記メッセージパッケージは、前記メディア要素に関する帰属レコードを含み、前記帰属レコードは、前記メディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含み、前記アプリケーション間リンクは、前記メディアアプリケーションに関連付けられたメディアサービスのコンテンツ空間内で前記メディア要素を識別し、前記帰属レコードは、前記メディアサービスのメディアサーバー上のメディア要素にネットワークアクセスするために前記メッセージングアプリケーションのネットワークコンポーネントを構成設定するように機能し、前記構成設定することは、前記メディアサービスのセキュリティ認証情報を前記メッセージングアプリケーションに提供することを含む、前記メッセージングコンポーネントと、を備える装置。
【請求項１０】
前記メッセージングアプリケーションは、前記デバイス上にインストールされ、
前記メディアアプリケーションは、前記メッセージングアプリケーションとは別のアプリケーションとして、クライアントデバイス上にインストールされ、
前記装置は、
前記クライアントデバイス上で、アプリケーション間通信によって、前記メディア要素と前記アプリケーション間リンクとを含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信するように動作する前記メディア管理コンポーネントをさらに備える、請求項９に記載の装置。
【請求項１１】
プロモーションされたメディアリポジトリを前記メディアサーバーから受信し、前記プロモーションされたメディア要素のうちの１つ以上を表示し、前記メディア要素のユーザメディア選択を受け取るように動作する前記メディア管理コンポーネントであって、前記プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、前記メディア要素は、前記プロモーションされた複数のメディア要素のうちの１つを含み、前記プロモーションされたメディア要素のうちの表示される１つ以上は、前記メディア要素を含む、前記メディア管理コンポーネントと、
前記メディア要素のユーザメディア選択に応答して、前記メディア要素を含むメッセージパッケージを生成するように動作する前記メッセージングコンポーネントと、をさらに備える請求項９に記載の装置。
【請求項１２】
前記メッセージパッケージは、メッセージスレッドに関連付けられ、
前記メッセージスレッドに関連付けられた前のメッセージパッケージを、前記メッセージングサーバーから受信するように動作する前記メッセージングコンポーネントであって、前記前のメッセージパッケージは、前記メディアアプリケーションに関連付けられた前のメディア要素を含み、前記前のメッセージパッケージは、前の帰属レコードを含み、前記前の帰属レコードは、前のアプリケーション間リンクを含み、前記前のアプリケーション間リンクは、前記メディアアプリケーション内で前記前のメディア要素を識別する、前記メッセージングコンポーネントと、
前記メッセージスレッドにおいて、前記メディアアプリケーションに関する帰属表示要素に関連付けて、前記前のメディア要素を表示し、前記帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取り、前記ユーザアプリケーション起動コマンドに応答して、前記メディアアプリケーションを起動し、前記前のアプリケーション間リンクを前記メディアアプリケーションに送信し、前記前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクを前記メディアアプリケーションに送信し、前記メディア要素と、前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信し、前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、前記メディア要素を前記メッセージスレッドに取り込むプロンプトを提示するように動作する前記メディア管理コンポーネントと、をさらに備える請求項９に記載の装置。
【請求項１３】
前記デバイス上に前記メディアアプリケーションがインストールされていないと判断し、ユーザアプリケーション起動コマンドに応答して、前記デバイス上で前記メディアアプリケーションのインストールを開始するように動作する前記メディア管理コンポーネントをさらに備える請求項９に記載の装置。
【請求項１４】
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、前記メッセージングサーバーから受信するように動作する前記メッセージングコンポーネントと、
前記前のメディア要素を表示し、表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取り、前記ユーザリミックスコマンドに応答して、前記メディアアプリケーションを起動し、前記前のメディア要素を前記メディアアプリケーションに送信し、前記前のメディア要素の変更バージョンを含む前記メディア要素を、前記メディアアプリケーションから受信するように動作する前記メディア管理コンポーネントと、をさらに備える請求項９に記載の装置。
【請求項１５】
複数の命令を含む少なくとも１つのコンピュータ可読記憶媒体であって、前記複数の命令は、実行されると、
メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、
前記メディア要素を含むメッセージパッケージを生成することであって、前記メッセージパッケージは、前記メディア要素に関する帰属レコードを含み、前記帰属レコードは、前記メディア要素のための前記メディアアプリケーションとのアプリケーション間リンクを含み、前記アプリケーション間リンクは、前記メディアアプリケーションに関連付けられたメディアサービスのコンテンツ空間内で前記メディア要素を識別し、前記帰属レコードは、前記メディアサービスのメディアサーバー上のメディア要素にネットワークアクセスするために前記メッセージングアプリケーションのネットワークコンポーネントを構成設定するように機能し、前記構成設定することは、前記メディアサービスのセキュリティ認証情報を前記メッセージングアプリケーションに提供することを含む、前記メッセージパッケージを生成すること、
前記メッセージパッケージをメッセージングサーバーに送信すること、をシステムに実行させる、コンピュータ可読記憶媒体。
【請求項１６】
前記メッセージングアプリケーションはクライアントデバイス上にインストールされ、前記メディアアプリケーションは、前記メッセージングアプリケーションとは別のアプリケーションとして、前記クライアントデバイス上にインストールされ、
前記コンピュータ可読記憶媒体は、さらに複数の命令を含み、該複数の命令は、実行されると、
前記クライアントデバイス上で、アプリケーション間通信によって、前記メディア要素と前記アプリケーション間リンクとを含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信すること、をシステムに実行させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記コンピュータ可読記憶媒体は、
複数の命令をさらに備え、該複数の命令は、実行されると、
前記メディアサーバーからプロモーションされたメディアリポジトリを受信することであって、前記プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、前記メディア要素は、前記プロモーションされた複数のメディア要素のうちの１つを含む、前記プロモーションされたメディアリポジトリを受信すること、
前記プロモーションされたメディア要素のうちの１つ以上を表示することであって、前記プロモーションされたメディア要素のうちの表示される１つ以上は、前記メディア要素を含む、前記プロモーションされたメディア要素のうちの１つ以上を表示すること、
前記メディア要素のユーザメディア選択を受け取ること、
前記メディア要素のユーザメディア選択に応答して、前記メディア要素を含む前記メッセージパッケージを生成すること、をシステムに実行させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記メッセージパッケージは、メッセージスレッドに関連付けられ、
前記コンピュータ可読記憶媒体は、複数の命令をさらに備え、該複数の命令は、実行されると、
前記メッセージングサーバーから、前記メッセージスレッドに関連付けられた前のメッセージパッケージを受信することであって、前記前のメッセージパッケージは、前記メディアアプリケーションに関連付けられた前のメディア要素を含み、前記前のメッセージパッケージは、前の帰属レコードを含み、前記前の帰属レコードは、前のアプリケーション間リンクを含み、前記前のアプリケーション間リンクは、前記メディアアプリケーション内で前記前のメディア要素を識別する、前記前のメッセージパッケージを受信すること、
前記メッセージスレッドにおいて、前記メディアアプリケーションに関する帰属表示要素に関連付けて、前記前のメディア要素を表示すること、
前記帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取ること、
前記ユーザアプリケーション起動コマンドに応答して、前記メディアアプリケーションを起動すること、
前記前のアプリケーション間リンクを前記メディアアプリケーションに送信すること、
前記前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクを前記メディアアプリケーションに送信すること、
前記メディア要素と、前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信すること、
前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、前記メディア要素を前記メッセージスレッドに取り込むプロンプトを提示すること、をシステムに実行させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記メッセージングアプリケーションは、クライアントデバイス上で実行され、
前記コンピュータ可読記憶媒体は、複数の命令をさらに備え、該複数の命令は、実行されると、
前記クライアントデバイス上に前記メディアアプリケーションがインストールされていないと判断すること、
ユーザアプリケーション起動コマンドに応答して、前記クライアントデバイス上で前記メディアアプリケーションのインストールを開始すること、をシステムに実行させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記コンピュータ可読記憶媒体は、複数の命令をさらに備え、該複数の命令は、実行されると、
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、前記メッセージングサーバーから受信すること、
前記前のメディア要素を表示すること、
表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、
前記ユーザリミックスコマンドに応答して、前記メディアアプリケーションを起動すること、
前記前のメディア要素を前記メディアアプリケーションに送信すること、
前記前のメディア要素の変更バージョンを含む前記メディア要素を、前記メディアアプリケーションから受信すること、をシステムに実行させる、請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２１】
コンピュータにより実行される方法であって、
メッセージングアプリケーションにおいてメディアアプリケーションに関連付けられたメディアパッケージを受信することであって、前記メディアパッケージは、メディア要素とメディア要素メタデータとを含み、前記メディア要素メタデータは、参加者情報、話題情報、インタラクション頻度データ、話題頻度データ、話題人気度データ、ユーザプリファレンス、のうちの１つ以上を含む、前記メディアパッケージを受信すること、
前記メディア要素を含むメッセージパッケージを生成することであって、前記メッセージパッケージは、前記メディア要素に関する帰属レコードを含み、前記帰属レコードは、前記メディア要素のための前記メディアアプリケーションとのアプリケーション間リンクを含み、前記アプリケーション間リンクは、前記メディアアプリケーションに関連付けられたメディアサービスのコンテンツ空間内で前記メディア要素を識別し、前記帰属レコードは、前記メディアサービスのメディアサーバー上のメディア要素にネットワークアクセスするために前記メッセージングアプリケーションのネットワークコンポーネントを構成設定するように機能し、前記構成設定することは、前記メディアサービスのセキュリティ認証情報を前記メッセージングアプリケーションに提供することを含む、前記メッセージパッケージを生成すること、
前記メッセージパッケージをメッセージングサーバーに送信すること、を備える方法。
【請求項２２】
コンピュータにより実行される方法であって、
メディアメッセージングシステムのユーザのクライアントデバイス上で動作するメッセージングアプリケーションにおいて、メディアアプリケーションに関連付けられたメディア要素を受信することであって、前記メディアアプリケーションは、前記メッセージングアプリケーションとは別のアプリケーションとして、前記クライアントデバイス上にインストールされている、前記メディア要素を受信すること、
前記メディア要素を含むメッセージパッケージを生成することであって、
前記メディア要素は、コンピュータデータ表現およびリファレンスのうちの少なくとも一方として直接的に保存され、
前記メッセージパッケージは、前記メディア要素に関する帰属レコードを含み、
前記帰属レコードは、前記メディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含み、
前記アプリケーション間リンクは、前記メディアアプリケーションに関連付けられたメディアサービスのコンテンツ空間内で前記メディア要素を識別し、
前記帰属レコードは、前記メディアサービスのメディアサーバー上のメディア要素にネットワークアクセスするために前記メッセージングアプリケーションのネットワークコンポーネントを構成設定するように機能し、前記構成設定することは、前記メディアサービスのセキュリティ認証情報を前記メッセージングアプリケーションに提供することを含む、前記メッセージパッケージを生成すること、
前記メディアメッセージングシステムの他のユーザの１つ以上の他のクライアントデバイスへの配信のために、前記メッセージパッケージを、前記クライアントデバイスからメッセージングサーバーに送信すること、を備える方法。
【請求項２３】
前記メッセージングアプリケーションは、クライアントデバイス上にインストールされ、
前記メディアアプリケーションは、前記メッセージングアプリケーションとは別のアプリケーションとして、前記クライアントデバイス上にインストールされ、
前記方法は、
前記クライアントデバイス上で、アプリケーション間通信によって、前記メディア要素と前記アプリケーション間リンクとを含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信すること、をさらに備える、請求項２２に記載の方法。
【請求項２４】
受信したメディアパッケージから前記メディア要素を抽出すること、
前記メッセージングアプリケーションにおいて前記メディア要素のプレビューを表示すること、
前記メッセージングアプリケーションにおいて前記メディア要素のユーザメディア選択を受け取ること、
前記メッセージングアプリケーション内で、前記メディア要素の前記ユーザメディア選択に応答して、前記メディア要素を含むメッセージパッケージを生成すること、をさらに備える請求項２３に記載の方法。
【請求項２５】
前記メディアサーバーからプロモーションされたメディアリポジトリを受信することであって、前記プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、前記メディア要素は、前記プロモーションされた複数のメディア要素のうちの１つを含む、前記プロモーションされたメディアリポジトリを受信すること、
前記プロモーションされたメディア要素のうちの１つ以上を表示することであって、前記プロモーションされたメディア要素のうちの表示される１つ以上は、前記メディア要素を含む、前記プロモーションされたメディア要素のうちの１つ以上を表示すること、
前記メディア要素のユーザメディア選択を受け取ること、
前記メディア要素のユーザメディア選択に応答して、前記メディア要素を含むメッセージパッケージを生成すること、をさらに備える請求項２２〜２４のいずれか１項に記載の方法。
【請求項２６】
前記メッセージングアプリケーションのメディア要素ディスカバリ・セクションにおいて、前記メディア要素を表示すること、
前記メディア要素ディスカバリ・セクションにおいて、前記メディア要素のユーザメディア選択を受け取ること、
前記メディア要素のユーザメディア選択に応じて、前記メディア要素を含むメッセージパッケージを生成することと、をさらに備える請求項２２〜２５のいずれか１項に記載の方法。
【請求項２７】
前記メッセージパッケージは、メッセージスレッドに関連付けられ、
前記方法は、
前記メッセージングサーバーから、前記メッセージスレッドに関連付けられた前のメッセージパッケージを受信することであって、前記前のメッセージパッケージは、前記メディアアプリケーションに関連付けられた前のメディア要素を含み、前記前のメッセージパッケージは、前の帰属レコードを含み、前記前の帰属レコードは、前のアプリケーション間リンクを含み、前記前のアプリケーション間リンクは、前記メディアアプリケーション内で前記前のメディア要素を識別する、前記前のメッセージパッケージを受信すること、
前記メッセージスレッドにおいて、前記メディアアプリケーションに関する帰属表示要素に関連付けて、前記前のメディア要素を表示すること、
前記帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取ること、
前記ユーザアプリケーション起動コマンドに応答して、前記メディアアプリケーションを起動すること、
前記前のアプリケーション間リンクを前記メディアアプリケーションに送信すること、
前記前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクを前記メディアアプリケーションに送信すること、
前記メディア要素と、前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、前記メッセージングアプリケーションにおいて前記メディアアプリケーションから受信すること、
前記メッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、前記メディア要素を前記メッセージスレッドに取り込むプロンプトを提示すること、をさらに備える請求項２２〜２６のいずれか１項に記載の方法。
【請求項２８】
前記メッセージングアプリケーションは、クライアントデバイス上で実行され、
前記方法は、
前記クライアントデバイス上に前記メディアアプリケーションがインストールされていないと判断すること、
前記ユーザアプリケーション起動コマンドに応答して、前記クライアントデバイス上で前記メディアアプリケーションのインストールを開始すること、をさらに備える、請求項２７に記載の方法。
【請求項２９】
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、前記メッセージングサーバーから受信すること、
前記前のメディア要素を表示すること、
表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、
前記ユーザリミックスコマンドに応答して、前記メディアアプリケーションを起動すること、
前記前のメディア要素を前記メディアアプリケーションに送信すること、
前記前のメディア要素の変更バージョンを含む前記メディア要素を、前記メディアアプリケーションから受信すること、をさらに備える請求項２２〜２８のいずれか１項に記載の方法。
【請求項３０】
ソフトウェアを具現化する１つ以上の非一時的なコンピュータ可読記憶媒体であって、
前記ソフトウェアは、実行されると、請求項２２〜２９のいずれか１項に記載の方法を実施するように動作する、非一時的なコンピュータ可読記憶媒体。
【請求項３１】
システムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサで実行可能な複数の命令を含む少なくとも１つのメモリと、を備え、
前記１つ以上のプロセッサは、前記複数の命令を実行すると、請求項２２〜２９のいずれか１項に記載の方法を実施するように動作する、システム。
【請求項３２】
データ処理システム上で実行されると、請求項２２〜２９のいずれか１項に記載の方法を実施するように動作するコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザらは、メッセージングシステムにおいて、２人以上のユーザ間のテキストベースの会話で互いにメッセージをやりとりして、互いにインタラクションすることがある。ユーザは、メッセージングシステムにおいて、自身に関連付けられたユーザアカウントを有することができ、ユーザアカウントは、そのユーザのオンラインＩＤ、そのユーザ宛てのメッセージの送信先を提供するとともに、一般に、そのユーザによるメッセージングシステムへのアクセスおよびメッセージングシステムの使用を調整する。ユーザは、モバイルデバイス（例えば、携帯電話機）、デスクトップコンピュータ、ウェブブラウザ、専用のメッセージングアプリケーションなど、様々なエンドポイントからメッセージングシステムにアクセスすることができる。
【発明の概要】
【課題を解決するための手段】
【０００２】
本明細書で記載するいくつかの新規な実施形態についての基本的な理解を与えるため、簡単な概要を以下で提示する。本概要は、包括的概観ではなく、主要な／重要な要素を特定するものでも、その範囲を定めるものでもない。後ほど提示する、より詳細な説明への序章として、いくつかの概念を簡単な形で提示する。
【０００３】
種々の実施形態は、広くは、メッセージングシステムを介してメディアを共有およびリミックスする技術に関するものである。いくつかの実施形態は、特に、メディアコンテンツのサードパーティソースをプロモーションすることにより、メディアの共有およびリミックスを推進する技術に関する。一実施形態では、例えば、装置は、メディアアプリケーションに関連付けられたメディア要素をメッセージングアプリケーションにおいて受信するように動作するメディア管理コンポーネントと、そのメディア要素を含むメッセージパッケージを生成し、そのメッセージパッケージをメッセージングサーバーに送信するように動作するメッセージングコンポーネントであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、メッセージングコンポーネントと、を備え得る。他の実施形態について、記載されるとともに、特許請求される。
【０００４】
上記目的および関連した目的を達成するため、いくつかの例示的な態様について、以下の説明および添付の図面に関連付けて本明細書で記載する。これらの態様は、本明細書で開示する原理を実施することが可能な種々の形態を示すものであり、そのすべての態様および均等物は、特許請求の対象範囲内にあるものとする。他の効果および新規な特徴は、図面を併用して考察することで、以下の詳細な説明から明らかになるであろう。
【０００５】
本発明による実施形態は、具体的には、方法、記憶媒体、システム、およびコンピュータプログラムプロダクトに関する添付の請求項において開示しており、ある１つの請求項カテゴリである例えば方法で記載されている特徴はいずれも、他の請求項カテゴリである例えばシステムでも同様に特許請求の対象となり得る。添付の請求項における従属関係または後方参照は、単なる形式的な理由で選択されたものである。しかしながら、先行する請求項への（特に多項従属での）意図的な後方参照の結果として得られる主題がいずれも、同様に特許請求の対象となり得ることで、請求項およびその特徴の任意の組み合わせが開示されているかのように、それらは、添付の請求項で選択されている従属関係にかかわりなく特許請求の対象となり得る。特許請求の対象となり得る主題は、添付の請求項に記載の特徴の組み合わせだけではなく、請求項に記載の特徴の他の任意の組み合わせも含み、このとき、請求項に記載の特徴はそれぞれ、請求項に記載の他のいずれかの特徴または他の特徴の組み合わせと組み合わせることができる。さらに、本明細書に記載もしくは図示の実施形態および特徴はいずれも、単独の請求項において、かつ／または本明細書に記載もしくは図示のいずれかの実施形態もしくは特徴との、または添付の請求項の特徴のいずれかとの任意の組み合わせで、特許請求され得る。
【０００６】
本発明による実施形態では、コンピュータにより実行される方法は、
メディアアプリケーションに関連付けられたメディア要素を、メディアメッセージングシステムのユーザのクライアントデバイス上で動作するメッセージングアプリケーションにおいて受信することであって、メディアアプリケーションは、メッセージングアプリケーションとは別のアプリケーションとして、クライアントデバイス上にインストールされている、受信すること、
そのメディア要素を含むメッセージパッケージを生成することであって、
そのメディア要素は、コンピュータデータ表現として直接保存および／またはリファレンスとして保存され、
メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、
帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、生成すること、
メディアメッセージングシステムの他のユーザの１つ以上の他のクライアントデバイスへの配信のために、そのメッセージパッケージを、クライアントデバイスからメッセージングサーバーに送信すること、を含み得る。
【０００７】
同様に特許請求の対象となり得る、本発明による実施形態では、コンピュータにより実行される方法は、
メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、
そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、生成すること、
そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【０００８】
本発明による実施形態では、コンピュータにより実行される方法において、メッセージングアプリケーションはクライアントデバイス上にインストールされており、メディアアプリケーションは、メッセージングアプリケーションとは別のアプリケーションとして、クライアントデバイス上にインストールされており、コンピュータにより実行される方法は、さらに、
クライアントデバイス上で、アプリケーション間通信によって、メディア要素とアプリケーション間リンクとを含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信すること、を含み得る。
【０００９】
本発明による実施形態では、コンピュータにより実行される方法は、さらに、
受信したメディアパッケージからメディア要素を抽出すること、
メッセージングアプリケーションにおいてメディア要素のプレビューを表示すること、
メッセージングアプリケーションにおいてメディア要素のユーザメディア選択を受け取ること、
メッセージングアプリケーション内で、メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【００１０】
本発明による実施形態では、コンピュータにより実行される方法は、さらに、
プロモーションされたメディアリポジトリをメディアサーバーから受信することであって、プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、上記メディア要素は、プロモーションされた複数のメディア要素のうちの１つを含む、受信すること、
プロモーションされたメディア要素のうちの１つ以上を表示することであって、プロモーションされたメディア要素のうちの表示される１つ以上は、上記メディア要素を含む、表示すること、
メディア要素のユーザメディア選択を受け取ること、
メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【００１１】
本発明による実施形態では、コンピュータにより実行される方法は、さらに、
メッセージングアプリケーションのメディア要素ディスカバリ・セクションにおいて、上記メディア要素を表示すること、
メディア要素ディスカバリ・セクションにおいて、メディア要素のユーザメディア選択を受け取ること、
メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【００１２】
本発明による実施形態では、コンピュータにより実行される方法において、メッセージパッケージはメッセージスレッドに関連付けられており、コンピュータにより実行される方法は、さらに、
そのメッセージスレッドに関連付けられた前のメッセージパッケージを、メッセージングサーバーから受信することであって、前のメッセージパッケージは、メディアアプリケーションに関連付けられた前のメディア要素を含み、前のメッセージパッケージは、前の帰属レコードを含み、前の帰属レコードは、前のアプリケーション間リンクを含み、前のアプリケーション間リンクは、メディアアプリケーション内で前のメディア要素を識別する、受信すること、
そのメッセージスレッドにおいて、メディアアプリケーションに関する帰属表示要素に関連付けて、前のメディア要素を表示すること、
帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取ること、
ユーザアプリケーション起動コマンドに応じて、メディアアプリケーションを起動すること、
前のアプリケーション間リンクをメディアアプリケーションに送信すること、
前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクをメディアアプリケーションに送信すること、
上記メディア要素と、そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信すること、
そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、そのメディア要素をメッセージスレッドに取り込むプロンプトを提供すること、を含み得る。
【００１３】
本発明による実施形態では、コンピュータにより実行される方法において、メッセージングアプリケーションはクライアントデバイス上で実行されており、コンピュータにより実行される方法は、さらに、
クライアントデバイス上にメディアアプリケーションがインストールされていないと判断すること、
ユーザアプリケーション起動コマンドに応じて、クライアントデバイス上でメディアアプリケーションのインストールを開始すること、を含み得る。
【００１４】
本発明による実施形態では、コンピュータにより実行される方法は、さらに、
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、メッセージングサーバーから受信すること、
前のメディア要素を表示すること、
表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、
ユーザリミックスコマンドに応じて、メディアアプリケーションを起動すること、
前のメディア要素をメディアアプリケーションに送信すること、
前のメディア要素の変更バージョンを含む上記メディア要素を、メディアアプリケーションから受信すること、を含み得る。
【００１５】
同様に特許請求の対象となり得る、本発明による別の実施形態では、装置は、
デバイスに搭載されたプロセッサ回路と、
メディアアプリケーションに関連付けられたメディア要素をメッセージングアプリケーションにおいて受信するように、プロセッサ回路上で動作するメディア管理コンポーネントと、
そのメディア要素を含むメッセージパッケージを生成し、そのメッセージパッケージをメッセージングサーバーに送信するように動作するメッセージングコンポーネントであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、メッセージングコンポーネントと、を備え得る。
【００１６】
本発明による実施形態では、装置において、メッセージングアプリケーションはデバイス上にインストールされており、メディアアプリケーションは、メッセージングアプリケーションとは別のアプリケーションとして、クライアントデバイス上にインストールされており、装置は、さらに、
クライアントデバイス上で、アプリケーション間通信によって、メディア要素とアプリケーション間リンクとを含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信するように動作する上記メディア管理コンポーネントを備え得る。
【００１７】
本発明による実施形態では、装置は、さらに、
プロモーションされたメディアリポジトリをメディアサーバーから受信し、プロモーションされたメディア要素のうちの１つ以上を表示し、メディア要素のユーザメディア選択を受け取るように動作する上記メディア管理コンポーネントであって、プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、上記メディア要素は、プロモーションされた複数のメディア要素のうちの１つを含み、プロモーションされたメディア要素のうちの表示される１つ以上は、上記メディア要素を含む、上記メディア管理コンポーネントと、
メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成するように動作する上記メッセージングコンポーネントと、を備え得る。
【００１８】
本発明による実施形態では、装置において、メッセージパッケージはメッセージスレッドに関連付けられており、装置は、さらに、
そのメッセージスレッドに関連付けられた前のメッセージパッケージを、メッセージングサーバーから受信するように動作する上記メッセージングコンポーネントであって、前のメッセージパッケージは、メディアアプリケーションに関連付けられた前のメディア要素を含み、前のメッセージパッケージは、前の帰属レコードを含み、前の帰属レコードは、前のアプリケーション間リンクを含み、前のアプリケーション間リンクは、メディアアプリケーション内で前のメディア要素を識別する、上記メッセージングコンポーネントと、
そのメッセージスレッドにおいて、メディアアプリケーションに関する帰属表示要素に関連付けて、前のメディア要素を表示し、帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取り、ユーザアプリケーション起動コマンドに応じて、メディアアプリケーションを起動し、前のアプリケーション間リンクをメディアアプリケーションに送信し、前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクをメディアアプリケーションに送信し、上記メディア要素と、そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信し、そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、そのメディア要素をメッセージスレッドに取り込むプロンプトを提供するように動作する上記メディア管理コンポーネントと、を備え得る。
【００１９】
本発明による実施形態では、装置は、さらに、
デバイス上にメディアアプリケーションがインストールされていないと判断し、ユーザアプリケーション起動コマンドに応じて、デバイス上でメディアアプリケーションのインストールを開始するように動作する上記メディア管理コンポーネントを備え得る。
【００２０】
本発明による実施形態では、装置は、さらに、
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、メッセージングサーバーから受信するように動作する上記メッセージングコンポーネントと、
前のメディア要素を表示し、表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取り、ユーザリミックスコマンドに応じて、メディアアプリケーションを起動し、前のメディア要素をメディアアプリケーションに送信し、前のメディア要素の変更バージョンを含む上記メディア要素を、メディアアプリケーションから受信するように動作する上記メディア管理コンポーネントと、を備え得る。
【００２１】
同様に特許請求の対象となり得る、本発明による別の実施形態では、少なくとも１つのコンピュータ可読記憶媒体は、複数の命令を含むことができ、それらの命令は、実行されることで、
メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、
そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、生成すること、
そのメッセージパッケージをメッセージングサーバーに送信することと、をシステムに実行させる。
【００２２】
本発明による実施形態では、メッセージングアプリケーションは、クライアントデバイス上にインストールされており、メディアアプリケーションは、メッセージングアプリケーションとは別のアプリケーションとして、クライアントデバイス上にインストールされており、少なくとも１つのコンピュータ可読記憶媒体は、さらに複数の命令を含むことができ、それらの命令は、実行されることで、
クライアントデバイス上で、アプリケーション間通信によって、メディア要素とアプリケーション間リンクとを含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信すること、をシステムに実行させる。
【００２３】
本発明による実施形態では、少なくとも１つのコンピュータ可読記憶媒体は、さらに複数の命令を含むことができ、それらの命令は、実行されることで、
プロモーションされたメディアリポジトリをメディアサーバーから受信することであって、プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、上記メディア要素は、プロモーションされた複数のメディア要素のうちの１つを含む、受信すること、
プロモーションされたメディア要素のうちの１つ以上を表示することであって、プロモーションされたメディア要素のうちの表示される１つ以上は、上記メディア要素を含む、表示すること、
メディア要素のユーザメディア選択を受け取ること、
メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、をシステムに実行させる。
【００２４】
本発明による実施形態では、メッセージパッケージはメッセージスレッドに関連付けられており、少なくとも１つのコンピュータ可読記憶媒体は、さらに複数の命令を含むことができ、それらの命令は、実行されることで、
そのメッセージスレッドに関連付けられた前のメッセージパッケージを、メッセージングサーバーから受信することであって、前のメッセージパッケージは、メディアアプリケーションに関連付けられた前のメディア要素を含み、前のメッセージパッケージは、前の帰属レコードを含み、前の帰属レコードは、前のアプリケーション間リンクを含み、前のアプリケーション間リンクは、メディアアプリケーション内で前のメディア要素を識別する、受信すること、
そのメッセージスレッドにおいて、メディアアプリケーションに関する帰属表示要素に関連付けて、前のメディア要素を表示すること、
帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取ること、
ユーザアプリケーション起動コマンドに応じて、メディアアプリケーションを起動すること、
前のアプリケーション間リンクをメディアアプリケーションに送信すること、
前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクをメディアアプリケーションに送信すること、
上記メディア要素と、そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信すること、
そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、そのメディア要素をメッセージスレッドに取り込むプロンプトを提供すること、をシステムに実行させる。
【００２５】
本発明による実施形態では、メッセージングアプリケーションは、クライアントデバイス上で実行されており、少なくとも１つのコンピュータ可読記憶媒体は、さらに複数の命令を含むことができ、それらの命令は、実行されることで、
クライアントデバイス上にメディアアプリケーションがインストールされていないと判断すること、
ユーザアプリケーション起動コマンドに応じて、クライアントデバイス上でメディアアプリケーションのインストールを開始すること、をシステムに実行させる。
【００２６】
本発明による実施形態では、少なくとも１つのコンピュータ可読記憶媒体は、さらに複数の命令を含むことができ、それらの命令は、実行されることで、
第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、メッセージングサーバーから受信すること、
前のメディア要素を表示すること、
表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、
ユーザリミックスコマンドに応じて、メディアアプリケーションを起動すること、
前のメディア要素をメディアアプリケーションに送信すること、
前のメディア要素の変更バージョンを含む上記メディア要素を、メディアアプリケーションから受信すること、をシステムに実行させる。
【００２７】
同様に特許請求の対象となり得る本発明による別の実施形態では、コンピュータにより実行される方法は、
メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、
そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、メディアアプリケーションでメディアサーバー上のメディア要素にネットワークアクセスするためのネットワークコンポーネントを構成設定するように機能する、生成すること、
そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【００２８】
同様に特許請求の対象となり得る、本発明による別の実施形態では、コンピュータにより実行される方法は、
メディアアプリケーションに関連付けられたメディアパッケージを、メッセージングアプリケーションにおいて受信することであって、メディアパッケージは、メディア要素とメディアサービス帰属レコードとを含む、受信すること、
メディアサービス帰属レコードに基づいて、メッセージングアプリケーションでメディアサーバー上のメディア要素にネットワークアクセスするためのネットワークコンポーネントを構成設定すること、
そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関するメディアアプリケーション帰属レコードを含み、メディアアプリケーション帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、生成すること、
そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【００２９】
本発明による別の実施形態では、１つ以上の非一時的なコンピュータ可読記憶媒体で、ソフトウェアを具現化し、そのソフトウェアは、実行されることで、本発明または上記実施形態のいずれかによる方法を実施するように動作する。
【００３０】
本発明による別の実施形態では、システムは、１つ以上のプロセッサと、１つ以上のプロセッサに結合された少なくとも１つのメモリであって、１つ以上のプロセッサで実行可能な複数の命令を含む少なくとも１つのメモリと、を備えることができ、プロセッサは、複数の命令を実行することで、本発明または上記実施形態のいずれかによる方法を実施するように動作する。
【００３１】
本発明による別の実施形態では、好ましくは非一時的なコンピュータ可読記憶媒体を含む、コンピュータプログラムプロダクトは、データ処理システム上で実行されることで、本発明または上記実施形態のいずれかによる方法を実施するように動作する。
【図面の簡単な説明】
【００３２】
【図１】メディアメッセージングシステムの実施形態を示す。
【図２Ａ】共有コントロール群を有するメッセージングアプリケーションのユーザインタフェースの実施形態を示す。
【図２Ｂ】利用できるメディア要素群を表示しているメッセージングアプリケーションのユーザインタフェースの実施形態を示す。
【図３Ａ】帰属付きメディア要素をメッセージスレッド内に表示しているメッセージングアプリケーションのユーザインタフェースの実施形態を示す。
【図３Ｂ】ディープリンクされたメディア要素のページを表示しているメディアアプリケーションのユーザインタフェースの実施形態を示す。
【図３Ｃ】インポートされた第２のメディア要素の共有を承認するための共有コントロールを表示しているメッセージングアプリケーションのユーザインタフェースの実施形態を示す。
【図３Ｄ】インポートされた第２のメディア要素の承認された共有を表示しているメッセージングアプリケーションのユーザインタフェースの実施形態を示す。
【図４】同じクライアントデバイス上で実行されているメディアアプリケーションから受信したメディア要素を、メッセージングサーバーを介して共有するメッセージングアプリケーションの実施形態を示す。
【図５】メディアアプリケーションに関連付けられたメディアサーバーからメディアパッケージを受信するメッセージングアプリケーションの実施形態を示す。
【図６】アプリケーション間リンクを用いてメディアアプリケーションを起動するメッセージングアプリケーションの実施形態を示す。
【図７】図１のメディアメッセージングシステムのための論理フローの実施形態を示す。
【図８】図１のメディアメッセージングシステムについて、集中型システムの実施形態を示す。
【図９】図１のメディアメッセージングシステムについて、分散型システムの実施形態を示す。
【図１０】コンピューティングアーキテクチャの実施形態を示す。
【図１１】通信アーキテクチャの実施形態を示す。
【図１２】無線デバイスアーキテクチャの実施形態を示す。
【発明を実施するための形態】
【００３３】
人々は、コミュニケーションのための新たな表現方法を求めている。人々は、新たなメディアコンテンツへのアクセスを許可するメディアアプリケーション、ならびにコンテンツを作成および加工する新たな方法に期待している。メディア・ディスカバリ、作成、加工ツールがメッセージングアプリケーションに組み込まれることがあるが、より大規模なアプリケーション開発コミュニティによって開発されたメディアツールの創造性および幅広さに対抗するのは現実的でないかもしれない。これに代えて、ユーザらが自身で所有するコンテンツを、メディアのソースに関する帰属（attribution）を提供しつつ、メッセージング会話内で共有する権限をユーザに与えることによって、新たな刺激的なメディアアプリケーションがプロモーション（promoted）され発見されることがある。ユーザらは、友人らからのコンテンツの帰属付き共有によって暗に推奨された未知のメディアアプリケーションを探索することに特に興奮する場合がある。ユーザらは、自身の好きなメッセージングアプリケーションで発見および作成したコンテンツを容易に共有できる権限を与えられることによって、新たなメディアアプリケーションへの展開接続を体験することがある。
【００３４】
ユーザらは、インターネットを介して流通する膨大な量のメディアコンテンツに、モバイルデバイスでアクセスできる。ユーザらは、写真、アニメーション、動画クリップ、音楽、ゲーム、および情報コンテンツ（例えば、映画上映時間）のようなメディアを保存、探索、および発見するためには、多種多様なメディアアプリケーションを利用し、友人らとのコミュニケーションのためには、メッセージングアプリケーションを利用することができる。それらのメディアアプリケーションが共有をサポートし得る場合には、ユーザらは、自身の好きなメッセージングアプリケーションにメディアをインポートし、そのメディアをメッセージング会話の流れの中で共有する権限を与えられることによる恩恵を受けることがある。
【００３５】
同様に、メディアアプリケーションは、それらのメディアが、共有メディアのソースの帰属を提示するように構成されたメッセージングアプリケーション内で共有されることによる恩恵を受けることがある。帰属付きメディア要素を受信したユーザは、それに関連したメディアアプリケーションを、そのユーザが以前に使用したことがない場合にはインストールするように、また、関連したメディアアプリケーションを以前にインストールしたことがあるがしばらく使用しなかった場合には再訪するように、プロンプトを提供される（prompted）ことがあり、または、そのメディアアプリケーションをデバイスの標準アプリケーションランチャによって起動する必要なく、そのメディアに直接アクセス制御によってアクセスする利便性を享受するだけの場合がある。これによって、そのメディアアプリケーションは、露出の増加および使用の拡大を得ることがある。
【００３６】
ユーザがインスタントメッセージング会話に参加することは、ユーザが共有を望むコンテンツを確かに、最小限の中断を伴って簡単に利用できるようにすることを享受できる手早く簡単なコミュニケーション様式に合致し得る。メッセージング会話において写真、アニメーション、ビデオ、または楽曲を受信したユーザは、ユーザインタフェースの数回の操作だけで、自身が所有する写真、アニメーション、ビデオ、また楽曲で返答することを望む場合がある。ユーザは、メッセージングアプリケーションと、自身が望むメディアコンテンツへのアクセスを提供するメディアアプリケーションと、の間で手早く行き来することを享受できる場合がある。ユーザは、さらに、メディアアプリケーション用のメディアコンテンツの少なくとも一部をメッセージングアプリケーション自体のメディア・ディスカバリ領域内で見ることを享受できる場合がある。また、メディアアプリケーションの開発者は、コンテンツが共有されるときにはいずれも、それらが、適切な帰属と、既存のユーザと新たな潜在的ユーザの両方に対するそれらのサービスのプロモーション（promotion）と、を受けると分かっていることによる信頼によって、それらのコンテンツを容易に利用できるようにすることによる恩恵を受ける場合がある。
【００３７】
結果として、これらの技術により、ユーザらのメッセージング体験を向上させるとともに、実際に使用されるメディアアプリケーションをプロモーションすることが可能である。新たな刺激的なメディアアプリケーションが、帰属によるプロモーションを受けるとともに、さらなる新たなコンテンツを提供する新たなユーザからの認知度の向上を得ることによって、メッセージングユーザは、新たな優れたメディアを発見、加工、共有のために受信する一方、それらのコンテンツを人々が使用するように掻き立てる創造的なメディアアプリケーションは、より幅広い視聴者に届くことによる恩恵を受けるという、好循環を生み出すことが可能である。
【００３８】
以下では図面を参照し、図面では、類似の要素は、全体を通して同様の参照符号を用いて示している。以下の説明では、その完全な理解を与えるため、説明を目的として、様々な具体的詳細について記載している。しかしながら、これら特定の詳細を伴うことなく、新規な実施形態を実施できることは明らかであろう。一方で、周知の構造およびデバイスについては、その説明を容易とするために、ブロック図の形式で示している。その意図は、請求項に係る主題に矛盾しないあらゆる変更、均等物、および代替案を包括することである。
【００３９】
なお、本明細書で使用される場合の「ａ」および「ｂ」および「ｃ」および同様の記号は、任意の正の整数を表す変数であるということに留意すべきである。従って、例えば、あるインプリメンテーション（implementation）で、値をａ＝５と設定している場合は、コンポーネント１２２−１〜１２２−ａとして示されるコンポーネント１２２の完全なセットは、コンポーネント１２２−１、１２２−２、１２２−３、１２２−４、および１２２−５を含み得る。実施形態は、この文脈に限定されない。
【００４０】
図１は、メディアメッセージングシステム１００のブロック図を示している。一実施形態では、メディアメッセージングシステム１００は、１つ以上のコンポーネントを含むソフトウェアアプリケーションを有するコンピュータにより具体化されるシステムを含み得る。図１に示すメディアメッセージングシステム１００は、ある特定のトポロジで、限られた数の要素を備えているが、メディアメッセージングシステム１００は、所与のインプリメンテーションの要求に応じて、別のトポロジで、より多数またはより少数の要素を備えてよいことは理解されるであろう。
【００４１】
メディアメッセージングシステム１００にユーザがアクセスするのは、クライアントデバイス１２０上にユーザアプリケーションとしてインストールされてクライアントデバイス１２０上でローカルに実行されるメッセージングアプリケーション１４０であり得る。場合によっては、メッセージングアプリケーション１４０は、他の機能を伴うことがある。例えば、メッセージングアプリケーション１４０は、ソーシャルネットワーキングサービスに関連付けてメッセージングサービスを提供する、ソーシャルネットワーキングサービスのフロントエンドであってよい。多くの場合、このクライアントデバイス１２０は、スマートフォン、携帯電話機、または、Ｗｉ−Ｆｉとセルラデータネットワークの組み合わせを用いてインターネットおよびネットワーク資源にアクセスする他のモバイルデバイスであり得るが、任意のネットワークアクセス形式を用いるものであってよいことは理解されるであろう。例えば、インターネット対応デバイス（例えば、携帯電話機、パーソナルコンピュータ）にテザリングするスマートウォッチ、またはパーソナルコンピュータにテザリングする携帯電話機のように、あるデバイスは他のデバイスにテザリングするものであってよい。クライアントデバイス１２０は、メッセージングアプリケーション１４０、１つ以上のメディアアプリケーション１３０、および他のユーザアプリケーションを含む複数のアプリケーションを実行し得る。一方、他の実施形態では、クライアントデバイス１２０は、パーソナルコンピュータ装置、ポータブルデジタルアシスタント、タブレット装置、または他の任意の形態のコンピューティングデバイスを含み得る。同様に、状況によって一部の実施形態では、メッセージングアプリケーション１４０をウェブベースのアプリケーションとして実行して、ユーザは、ウェブポータルを介してメディアメッセージングシステム１００にアクセスしてよい。
【００４２】
クライアントデバイス１２０は、ネットワークトラフィックを交換するために無線伝送を用いて、他のデバイスと通信し得る。メッセージングトランザクションの交換に含まれ得るようなネットワークトラフィックの交換は、ネットワークインタフェースコントローラ（network interface controller : ＮＩＣ）１２５を介してネットワークトラフィックを送受信することを含み得る。ＮＩＣは、クライアントデバイス１２０のようなコンピュータデバイスをコンピュータネットワークに接続するハードウェアコンポーネントを有する。ＮＩＣは、ＮＩＣにアクセスして使用する権限をソフトウェアアプリケーションに与えるソフトウェアネットワークインタフェースに関連付けられることがある。ネットワークトラフィックは、データリンクを介して送信された信号として、コンピュータネットワークを介して受信されることがある。ネットワークトラフィックは、それらの信号をキャプチャして解釈することによって、受信されることがある。ＮＩＣは、コンピュータネットワークを介してネットワークトラフィックを受信して、そのネットワークトラフィックをメモリストレージに転送することがあり、そのメモリストレージには、ソフトウェアアプリケーションがネットワークインタフェース・アプリケーションプログラミングインタフェース（application programming interface : ＡＰＩ）を用いてアクセス可能である。メディアアプリケーション１３０、メディアサーバー、メッセージングアプリケーション１４０、メッセージングサーバー１８０の、ネットワーク通信を介した相互運用など、本明細書に記載の実施形態のネットワークアクティビティに、ネットワークインタフェースコントローラ１２５が使用されることがある。例えば、メッセージングサーバー１８０にメッセージパッケージ１７０を送信するメッセージングアプリケーション１４０は、メッセージパッケージ１７０の送信のための通信ネットワークへのネットワークアクセスのためにネットワークインタフェースコントローラ１２５を使用するものと解釈することができる。
【００４３】
メディアアプリケーション１３０は、メディアコンテンツの検索、メディアコンテンツの発見、メディアコンテンツの共有、メディアコンテンツの保存、メディアコンテンツへのアクセス、メディアコンテンツの加工、メディアコンテンツの合成、のうちの１つ以上のためのアプリケーション群を含み得る。それらのメディアアプリケーションの各々は、１つ以上のメディアサービスに関連したものであってよく、特定のメディアサービスのための専用メディアアプリケーションであるか、または複数のメディアサービスで相互運用するメディアアプリケーションであるか、いずれかである。それらのメディアサービスの各々は、メディアコンテンツの保存、検索のためと、そして主には交換のための１つ以上のメディアサーバー１３５を提供し得る。
【００４４】
メディアサーバー１３５は、メディアパッケージのバンドルを含む複数のメディアリポジトリ（media repositories）をローカルメディアアプリケーション１３０に配信することがあり、その場合、それらのメディアパッケージの各々は、メディア要素（メディアコンテンツの特定のインスタンス）および関連情報を含む。メディアパッケージ１０５内のメディア要素１１０に関する関連情報は、メディア要素１１０のメディアサービス、メディアアプリケーション、および他のソースに関する情報をカプセル化した帰属レコード１１５（attribution record）を含み得る。
【００４５】
帰属レコード１１５は、アプリケーション間リンク（inter-application link）を含むことができ、アプリケーション間リンクは、そのメディア要素１１０を、関連したメディアアプリケーションおよび／またはメディアサービスのコンテンツ空間内で識別するとともに、これにより、そのメディアアプリケーションおよび／またはメディアサービス内のメディア要素１１０へのディープリンク（deep link）として機能する。アプリケーション間リンクは、関連付けられたメディア要素１１０に関する情報の特定のページ、ビュー、または他のリポジトリにナビゲートする権限をメディアアプリケーションまたはメディアサーバーに与え得る。アプリケーション間リンクは、特定のメディアアプリケーション／メディアサービスに関して、様々なクライアントデバイス間で汎用的であり得る。従って、アプリケーション間リンクによって、ユーザは、その関連したメディアアプリケーション／メディアサービスの枠内でメディア要素１１０にアクセスする権限を受信ユーザに与えるのに十分なコンテキスト情報と共に、メディア要素１１０を共有することが可能となり得る。
【００４６】
従って、帰属レコード１１５は、複数のメディアサーバー１３５のうちのメディアサーバー上の関連したメディア要素１１０にアプリケーションがネットワークアクセスするために、ネットワークコンポーネントを構成設定するように機能し得る。帰属レコード１１５は、メッセージングアプリケーション１４０および１つ以上のメディアアプリケーション１３０をそのように構成設定するように機能し得る。帰属レコード１１５は、複数のメディアサーバー１３５のうちの１つ以上のメディアサーバー上で入手できる複数のメディア要素から特定のメディア要素１１０を識別するアプリケーション間リンクを含み得る。帰属レコード１１５は、認可されたユーザのみと共有されるものとしてメディア要素１１０が登録されている場合など、プライベートまたはその他の非公開のメディア要素にアクセスする権限をネットワークコンポーネントに与えるセキュリティ情報を含み得る。例えば、ユーザは、オンライン写真アルバムを保持して、そのオンライン写真アルバムに対するアクセスを、当該ユーザ、およびアルバムを閲覧するように招待された他のユーザに制限するセキュリティ設定を表明している場合がある。帰属レコード１１５は、メディアサービス上でメディア要素１１０へのアクセスを可能とするため、さらに場合によっては他の関連したメディア要素へのアクセスを可能とするための、セキュリティトークン、パスワード、または他のセキュリティ情報を含み得る。従って、メッセージングアプリケーション１４０は、メディアサービス帰属レコードを含むメディアパッケージを受信して、メディアサービス帰属レコードに基づいて、メッセージングアプリケーションがメディアサーバー上のメディア要素１１０にネットワークアクセスするためのネットワークコンポーネントを構成設定し得る。メッセージングアプリケーション１４０がメディア要素１１０を共有する場合には、メッセージングアプリケーション１４０は、メディアアプリケーション帰属レコードを有するメッセージパッケージを生成することができ、これは、メディアアプリケーションがメディアサーバー上のメディア要素１１０にネットワークアクセスするためのネットワークコンポーネントを構成設定するように機能する。
【００４７】
メッセージングアプリケーション１４０は、メディア管理コンポーネント１６０を有し得る。メディア管理コンポーネント１６０は、概して、メッセージングアプリケーション１４０の枠内でメディアコンテンツを管理するように構成することができる。メディア管理コンポーネント１６０によって、そのクライアントデバイス１２０のユーザは、メディアコンテンツを、メディアメッセージングシステム１００でのメッセージングのために、ひいては他のユーザとの交換のために利用できるようになり得る。メディア管理コンポーネント１６０は、複数のメディアアプリケーション１３０からのメディアのクロスロード（crossroad）として機能することができ、ユーザに対して、それらのメディアアプリケーション１３０のメディアコンテンツの統合されたビューを提示するとともに、一元管理を提供する。メディアアプリケーション１３０からメディアコンテンツを受信し、メディアアプリケーション１３０にメディアコンテンツをサブミットし、それらのメディアアプリケーション１３０内の既存のメディアコンテンツの表示を起動し、メディアアプリケーション１３０の１つから他のメディアアプリケーション１３０にメディアコンテンツを移行するなど、複数のメディアアプリケーション１３０と相互運用するための権限を、メディア管理コンポーネント１６０はメッセージングアプリケーション１４０に与え得る。
【００４８】
メッセージングアプリケーション１４０は、メッセージングコンポーネント１５０を有し得る。メッセージングコンポーネント１５０は、概して、そのクライアントデバイス１２０のユーザにメッセージングサービスを提供するように構成することができる。メッセージングサービスは、メッセージの受信、メッセージの送信、交換されたメッセージの履歴の維持、およびその他のメッセージング関連アクティビティを含み得る。メッセージングアプリケーション１４０のユーザは、プライベートな１対１のユーザ会話、３人以上のユーザ間でのプライベートなグループ会話と、メッセージングコミュニティに一般的に公開されている公開会話と、その両方で、他の複数のユーザとのメッセージング会話に参加する権限を与えられることがある。メッセージングコンポーネント１５０は、メディア管理コンポーネント１６０と相互運用することができ、これにより、これらのメッセージング会話をいずれも、メディア管理コンポーネント１６０によるメディアコンテンツ管理によって充実させる。
【００４９】
メディアメッセージングシステム１００は、複数のメッセージングサーバーの中からのメッセージングサーバー１８０を含み得る。メッセージングサーバー１８０は、メディアメッセージングシステム１００のユーザらのメッセージングエンドポイント間の仲介役として機能し得る。メッセージングサーバー１８０は、ユーザのアクティブな１つまたは複数のメッセージングエンドポイントの現在のネットワークポイントアドレスを、（例えば、モバイルクライアントデバイス１２０が、Ｗｉ−Ｆｉネットワーク間、セルラデータネットワーク間、Ｗｉ−Ｆｉネットワークとセルラデータネットワークとの間で移動して）それらがネットワークを切り替えるときなどに追跡し得る。メッセージングサーバー１８０は、メッセージングエンドポイントへのメッセージを、それらのメッセージングエンドポイントがオフラインであるとき、またはそれ以外で新たなメッセージを受け入れないときに、キューイングし（queue）得る。メッセージングサーバー１８０は、ユーザが使用する可能性のある複数のメッセージングエンドポイント間で、コミュニケーションの流れにおける整合性を提供するために、特定のユーザへのメッセージ群における順序付けを提供し得る。メッセージングサーバー１８０は、各ユーザについて、ユーザへの送信済みメッセージまたは受信メッセージへのアクセスを提供するために、メッセージング履歴を保存し得る。メッセージング履歴は、メディアメッセージングシステム１００を使用するユーザ間で交換されたメディアを含み得る。
【００５０】
メッセージングコンポーネント１５０は、メッセージパッケージ１７０を、メディアメッセージングシステム１００の１人以上の他のユーザへの配信のために、メッセージングサーバー１８０に送信し得る。メッセージパッケージ１７０は、このメッセージパッケージ１７０に関して１人以上のユーザを特定する１つ以上の配信ユーザ識別子のような配信情報を含み得る。メッセージパッケージ１７０は、メディア要素１１０と帰属レコード１１５とを含むメディアパッケージ１０５を含み得る。従って、メッセージパッケージ１７０は、メディア要素と、さらに場合によってはテキストメッセージコンポーネントと、を組み込んだリッチメッセージ（rich message）を含み得る。なお、場合によっては、テキストメッセージは、関連付けられたメディア要素を伴うことなく、メッセージングサーバー１８０を介して送信されてよいことは理解されるであろう。メッセージングサーバー１８０は、メッセージパッケージ１７０を受信して、それを、第２のクライアントデバイス１９０にインストールされたメッセージングアプリケーション１４０など、メッセージパッケージ１７０の配信ユーザ識別子で特定された配信ユーザアカウントに関連付けられたメッセージングエンドポイントに、配信することができる。
【００５１】
メディア要素１１０が、メッセージングサーバー１８０上またはメディアメッセージングシステム１００がアクセスできるメディアサーバー上に既に保存されている場合には、そのメディア要素１１０はクライアントデバイス１２０から送信されなくてもよい。メッセージングアプリケーション１４０は、メディア要素１１０のハッシュ（hash）を生成または取得して、そのハッシュを、そのメディア要素１１０がメディアメッセージングシステム１００内で既に入手可能であるかどうかを判断するためにメッセージングサーバー１８０に送信することができる。メッセージングサーバー１８０は、メディア要素１１０が既に入手可能であるかどうか、ひいては再アップロードすべきでないかどうか、を示すことができる。ハッシュに基づいて、そのメディア要素１１０が入手可能でないと判断される場合には、メッセージングサーバー１８０は、クライアントデバイス１２０からのメディア要素１１０のアップロードを要求してよい。同様に、メディア要素１１０が、ネットワークアクセス可能なソースへのユニフォームリソースロケータ（uniform resource locator : ＵＲＬ）として表現されている場合には、メディア要素１１０のアップロードを回避してよい。これらの技術は、メディア要素の共有で使用される帯域幅を削減する助けとなり得る。メディアメッセージングシステム１１０の統合プラットフォームを使用することにより、メディアメッセージングシステム１１０が、ネットワークアクセス可能メディア要素のネットワーク位置を見通せるとともに、ハッシングを用いることにより重複アップロードを排除して、複数のメディアアプリケーションソースからのメディア要素を保存し得ることで、メディア要素の共有での使用帯域幅を削減することができる。この使用帯域幅の削減によって、メディア共有の速度が向上する場合があり、携帯電話プロバイダからのユーザの帯域割り当ての使用が減少する場合があり、さらに、メディア要素１１０のアップロードの実行に伴い得るバッテリの使用が排除される場合があることで、メディア共有のための全体的なバッテリ使用が減少する。
【００５２】
メディアメッセージングシステム１００によって、メディア要素１１０は、種々の実施形態において様々な技術によって管理および操作され得る。場合によっては、メディア要素１１０は、メディアパッケージ１０５内のコンピュータデータ表現として直接保存されることがある。例えば、画像メディア要素は、メディアパッケージ１０５内のジョイントフォトグラフィックエキスパートグループ（JPEG : Joint Photographic Expert Group）デジタル画像ファイルとして保存されてよい。他の場合には、メディア要素１１０は、メディアパッケージ１０５内のリファレンスとして保存されてよく、リファレンスは、メディア要素１１０のネットワークアクセス可能アドレスを提供するＵＲＬのようなリソースロケータを含む。従って、メディア管理コンポーネント１６０は、メディア要素１１０のインスタンスを、ローカルアクセスのためにクライアントデバイス１２０上にキャッシュし得る一方、第２のクライアントデバイス１９０への伝送中にクライアントデバイス１２０がメディア要素１１０をアップロードすることを回避するために、メディア要素１１０は、リソースロケータを用いて共有され得る。代わりに、第２のクライアントデバイス１９０上のメッセージングアプリケーション１４０は、メディア要素１１０をリソースロケータとして受信することができ、リソースロケータの受信後にメディア要素１１０のインスタンスをフェッチする（fetch）ことができる。これによって、第２のクライアントデバイス１９０がメディア要素１１０をダウンロードするためにメディアサーバー１３５のストレージおよび帯域幅を利用する可能性を伴うことなく、クライアントデバイス１２０のアップロード帯域幅の使用が排除される。あるいは、メッセージングサーバー１８０は、メディア要素１１０をキャッシュまたは取得して、それを、第２のクライアントデバイス１９０にメッセージパッケージ１７０を配信するときにメッセージパッケージ１７０に含めてよい。なお、一般的に、メディアコンテンツをフォーマットおよび保存するための任意の周知の技術を用いてよいことは理解されるであろう。場合によっては、メディアメッセージングシステム１００は、宛先の第２のクライアントデバイス１９０へのアップロードまたは送信の前に、メディア要素１１０のサイズ変更、再コーディング、フォーマット変更、または品質レベル変更を実施することがある。これは、メディア要素１１０の保存に使用する記憶空間、またはメディア要素１１０のアップロードもしくはダウンロードに使用する帯域幅を削減するために、実施されることがある。
【００５３】
メディアメッセージングシステム１００は、ユーザ間のインタラクションから生成された知識を利用することがある。メディアメッセージングシステム１００は、ソーシャルネットワーキングサービスのコンポーネントを含むことがあり、そのソーシャルネットワーキングサービスのより広範なインタラクションから生成された知識を利用することがある。そこで、メディアメッセージングシステム１００およびより大規模なソーシャルネットワーキングサービスのユーザのプライバシーを保護するために、メディアメッセージングシステム１００は、ユーザが、例えば適切なプライバシー設定を行うことによって、自身のアクションをメディアメッセージングシステム１００によってログ記録されること、または他のシステム（例えば、サードパーティシステム）と共有されること、をオプトイン（opt in）またはオプトアウト（opt out）することを可能とする認証サーバー（または他の適切なコンポーネント（群））を備え得る。ユーザのプライバシー設定では、そのユーザに関連付けられたどのような情報をログ記録してよいか、ユーザに関連付けられた情報をいかにしてログ記録してよいか、ユーザに関連付けられた情報をいつログ記録してよいか、ユーザに関連付けられた情報を誰がログ記録してよいか、ユーザに関連付けられた情報を誰と共有してよいか、ユーザに関連付けられた情報を何の目的でログ記録または共有してよいか、を決めることができる。適宜、ブロック化、データハッシュ化、匿名化、または他の適切な技術によって、メディアメッセージングシステム１００およびソーシャルネットワーキングサービスの他の要素のユーザの１つ以上のプライバシー設定を実施するために、認証サーバー群または他の認証コンポーネント群を使用することができる。例えば、ソーシャルネットワーキングサービスのユーザ間のインタラクション中に、ソーシャルネットワーキングサービスを用いて、メディアコンテンツのプリファレンスおよびメディアコンテンツの異なるピースのプリファレンス間の関係を学習することができ、それらのインタラクションは、学習プロセスの前に、または学習プロセスの一環として、匿名化することができる。
【００５４】
図２Ａは、メッセージングアプリケーション共有コントロール群２２０を有する、メッセージングアプリケーション１４０のユーザインタフェースの実施形態を示している。
メッセージングアプリケーション１４０またはメディアアプリケーション内でメディア要素を共有または視聴するためのコントロールは、「コールトゥアクション（call to action）」ボタンに相当し得るものであり、このコントロールによって、対応するアプリケーションを用いたアクションを推奨する。例えば、アプリケーションをインストールするためのコントロールは、「インストールのコールトゥアクション（install call to action）」を含むことがあり、アプリケーションを起動するためのコントロールは、「起動のコールトゥアクション（launch call to action）」を含むことなどがある。
【００５５】
図２Ａに示す実施形態では、メッセージングアプリケーション１４０は、メッセージスレッド２１０を表示している。図示のメッセージスレッド２１０は、２人のユーザ間のプライベートなメッセージング会話に相当する。このクライアントデバイス１２０のユーザである第１のユーザは、メディアメッセージングシステム１００でのそのユーザアカウントに関連付けられたユーザアバタ２０５によって、メッセージスレッド２１０内で視覚的に表現される。第２のクライアントデバイス１９０のユーザである第２のユーザは、メディアメッセージングシステム１００でのその対応するユーザアカウントに関連付けられた第２のユーザアバタ２０７によって、メッセージスレッド２１０内で視覚的に表現される。
【００５６】
クライアントデバイス１２０およびメッセージングアプリケーション１４０のユーザは、第２のクライアントデバイス１９０の第２のユーザに送信するためのテキストメッセージなど、メッセージスレッド２１０のテキスト要素を入力するためにテキストコントロール２１５を用いてよい。なお、メッセージングアプリケーション１４０のテキストコントロール２１５および他のコントロールは、タッチスクリーン上のタッチコントロールとして図示しているが、他の実施形態では、ハードウェアキーボードおよびハードウェアポインタコントロールなど、他のコントロールを用いてよいことは理解されるであろう。
【００５７】
ユーザインタフェース２００は、メッセージングアプリケーション共有コントロール群２２０を含む。図示の実施形態では、メッセージングアプリケーション共有コントロール群２２０は、画像共有コントロール、ビデオ共有コントロール、およびオーディオ共有コントロールを含む。種々の実施形態において、追加の共有コントロールおよび別の共有コントロールを備えてよいことは理解されるであろう。例えば、図示の実施形態では、共有コントロール群は、コンテンツタイプ（すなわち、画像、アニメーション画像、ビデオ、オーディオ）で区分されているが、他の実施形態では、異なる区分を用いてよく、または区分を用いなくてもよい。場合によっては、あらゆるタイプのメディアコンテンツへのアクセスを提供するユニバーサル共有コントロールが、ユーザに提供されることがある。場合によっては、画像／ビデオ／オーディオ区分以外に、ステッカー（sticker）、楽曲、スマイリ、絵文字、ＧＩＦ（Graphics Interchange Format）、他のメディアコンテンツカテゴリなど、具体的な形式のコンテンツに関して共有コントロールが提供されることがある。
【００５８】
メッセージングアプリケーション１４０のユーザは、メッセージスレッド２１０において第２のユーザと共有するためのメディアコンテンツの選択を開始するために、メッセージングアプリケーション共有コントロール群２２０から１つを選択することができる。いくつかの実施形態では、メッセージングアプリケーション共有コントロール群２２０は、隣接したテキストコントロール２１５を伴うことなく表示されてよい。いくつかの実施形態では、各種コントロールは、メッセージングアプリケーション１４０のユーザインタフェース２００の下端に沿って表示されてよく、それらの各種コントロールのうちの１つは、テキストコントロール２１５を呼び出すものであり、その他は、様々に異なるタイプのメディアコンテンツに専用の各種共有コントロールのうちの１つ以上である。
【００５９】
図２Ｂは、利用できるメディア要素群を表示している、メッセージングアプリケーション１４０のユーザインタフェース２２５の実施形態を示している。
図２Ｂに示す実施形態では、ユーザインタフェース２２５は、メディア要素表示セクション２３５を表示している。メディア要素表示セクション２３５は、複数のメディア要素を含むメディアコンテンツを表示する。本例では、複数のメディア要素のそれぞれは写真を含む。一方、他の場合には、メディア要素のそれぞれは、ビデオ（例えば、フィルムクリップ、動画）、オーディオセグメント（例えば、楽曲、音声録音）、アニメーション画像（例えば、アニメーショングラフィックス交換フォーマット（ＧＩＦ）画像）、他の任意のタイプのメディア要素、または様々に異なるタイプのメディア要素の任意の組み合わせ、を含んでよい。メディア要素表示セクション２３５は、スクロールコマンドによるなど、さらなるコンテンツを表示させるためのユーザインタフェースコマンドによって、操作されるように機能し得る。
【００６０】
図示の実施形態では、メディア要素表示セクション２３５は、画像ホスティング共有サービス（image hosting and sharing service）の一例である特定のメディアアプリケーション「ＪＰＥＧＧＹ」に関連付けられた写真のコレクションを表示している。メディア要素表示セクション２３５に表示されるメディアコンテンツは、特定のメディアアプリケーションによってオンラインで保存された写真群の一部分のプレビューを含み得る。メディアメッセージングシステム１００は、複数のメディアアプリケーション１３０から、この特定のメディアアプリケーションを、ユーザのお気に入りのメディアアプリケーションとして、このメディアアプリケーションが目立つ位置に提示されるように、指定している場合がある。あるいは、ユーザが、メディア選択の前段階で、このメディアアプリケーションを選択した場合がある。
【００６１】
メディアコンテンツの他のカテゴリを、メッセージングアプリケーション１４０のユーザが利用できるようにしてもよい。例えば、図示のように、ユーザは、メディア要素表示セクション２３５の「人気」タブを選択することによって「人気メディア」セクションを選択可能な場合がある。メディアメッセージングシステム１００または特定のメディアアプリケーションが決めた、人気の、トレンドの、またはそれ以外の注目のメディア要素が、人気セクションに表示されることがある。
【００６２】
他の例では、図示のように、ユーザは、メディア要素表示セクション２３５の「履歴」タブを選択することによって、「履歴」セクションを選択可能な場合がある。特定のユーザに共有されたすべてのメディア要素が、履歴セクションに表示されることがある。メッセージスレッド２１０のような特定の会話内で、どちらのユーザに共有されたメディア要素もすべて、履歴セクションに表示されることがあり、これにより、どちらのユーザも（またはグループ会話のいずれのユーザも）、その共有された会話のメディア履歴を参照することが可能となる。
【００６３】
他の例では、ユーザは、メディア要素表示セクション２３５の「おすすめ」タブを選択することによって、「おすすめ」セクションを選択可能な場合がある。メディアメッセージングシステム１００によってユーザに推奨されるメディア要素が、おすすめセクションに表示されることがある。メディアは、メディアメッセージングシステム１００のすべてのユーザへの無差別なプロモーションに基づいて推奨されることがあり、そのユーザに特化したプロモーションに基づいて推奨されることがあり、さらに、そのメッセージスレッド２１０に関係する他のユーザ（群）と、メッセージスレッド２１０の内容の分析と、その一方または両方に基づくなど、特定のメッセージスレッド２１０に基づいて特化したプロモーションに基づいて推奨されることがある。
【００６４】
一般的に、メディア要素表示セクション２３５に表示されるメディア要素を決定するために、様々な基準を単独または組み合わせで用いてよい。ユーザの関心があると予測されるメディアコンテンツは、明示的な兆候と暗示的な兆候に基づいてプロモーションされることがある。明示的な兆候は、年齢／生年月日、性別、居住地、学歴、好き嫌い、および様々なユーザの関心の相関を示唆し得るカテゴリへの直接的関心または関連についての他のいずれかの明示のような、ユーザに関して明示的に入力された情報を含み得る。暗示的な兆候は、メッセージング会話、自動測位、アップロードされた写真、共有されたメディア、またはメディアメッセージングシステム１００もしくはソーシャルネットワーキングサービスの他の使用状況から収集された情報のような、ユーザに関して暗示的に特定された情報を含むことがあり、これらは、基本的に情報の登録を目的とするものではなく、特定の好き嫌いに相関し得るデータを提供しつつも、システムまたはサービスが使用することを目的とするものである。
【００６５】
さらに、メッセージスレッド２１０の特定のコンテキストを利用することがある。例えば、メディアメッセージングシステム１００は、スポーツの試合、ニュースとなる出来事、またはその他の出来事など、イベントに関連した会話であると特定されたことに応じて、イベント関連のメディア要素を提供することがある。メディアメッセージングシステム１００は、スポーツ、映画、食べ物、またはその他の会話の話題など、ある話題に関連した会話であると特定されたことに応じて、話題関連のメディア要素を提供することがある。メディアメッセージングシステム１００は、カップルでの参加者間のメッセージスレッド２１０において、最近アップロードされたカップルの写真をプロモーションするなど、特定の人々に関する会話または特定の人々の間の会話であることに応じて、個人的に関連のあるメディア要素を提供することがある。メディアメッセージングシステム１００は、最近共有されたメディア要素に類似した話題に関するメディア要素、類似したテーマのメディア要素、またはその他関係のあるメディア要素を見つけることなどによって、あるメッセージスレッド２１０において他のグループによって最近共有されたメディア要素に関連したメディア要素を特にプロモーションすることがある。
【００６６】
ユーザは、メディア要素表示セクション２３５に表示された複数のメディア要素から特定のメディア要素を選択して、その選択されたメディア要素をメッセージスレッド２１０に取り込む権限を与えられることがある。
【００６７】
図３Ａは、帰属付きメディア要素をメッセージスレッド２１０内に表示している、メッセージングアプリケーション１４０のユーザインタフェース３００の実施形態を示している。図２Ａおよび図２Ｂに示す実施形態とは異なり、ユーザインタフェース３００は、メッセージスレッド２１０における第２のユーザに属する第２のクライアントデバイス１９０のディスプレイを示している。
【００６８】
図３Ａに示す実施形態では、第１のユーザは、画像共有サービスＪＰＥＧＧＹで保存された２匹のネコの個人的写真に相当するメディア要素１１０を共有するために選択しており、この画像が、メッセージスレッド２１０の流れの中に組み込まれている。図３Ａに示す実施形態では、第１のユーザからのコメント「きのう撮った写真のうちのネコの写真見てよ：）」が、メッセージング会話において別のラインとして入力されているが、他の実施形態では、そのようなコメントを、メッセージングアプリケーション１４０によってそのような機能を提供できれば、オプションで、写真のキャプションとして含めてよいことは理解されるであろう。
【００６９】
ユーザインタフェース３００に示すように、メディア要素１１０は、帰属表示要素３１５に関連付けて表示される。帰属表示要素３１５は、メディア要素１１０の共有元である特定のメディアアプリケーションを視覚的に伝えている。帰属表示要素３１５は、さらに、メディア要素１１０が関連付けられている帰属メディアアプリケーション内のメディア要素１１０にアクセスするための、この場合は「開く」ボタンとして図示されているコントロールを含む。このメディアアプリケーションの識別子、帰属表示要素３１５をいかに構成するのかについての説明、メディア要素１１０に対応したアプリケーション間リンクはすべて、帰属レコード１１５の部分を構成し得る。この帰属レコード１１５は、メディア要素１１０のためのメディアパッケージ１０５の要素を構成し得る。
【００７０】
コントロールは、「インストール」または「入手」ラベルで表されることがあるような、帰属メディアアプリケーションをインストールするためのオプションを含み得る。コントロールは、「更新」ラベルで表されることがあるような、インストール済みの帰属メディアアプリケーションを更新するためのオプションを含み得る。インストール済みのメディアアプリケーションの更新は、帰属メディアアプリケーションの更新バージョンが、メディアアプリケーションのインストール済みバージョンにはない新たな機能としてディープリンクおよび／またはメッセージングスレッドリンク（messaging thread linking）をサポートしている場合に、勧められることがある。インストールおよび更新は、様々な技術を用いて実施してよい。１つの技術では、アプリケーションストアへのディープリンクを用いる高速アプリケーション切り替えを利用することがある。他の技術では、メッセージングアプリケーション１４０、およびアプリケーションストアの起動に関与したメッセージングアプリケーション１４０内の特定のメッセージングスレッド、への自動復帰と共に、アプリケーションストアへのディープリンクを用いる、復帰付き高速アプリケーション切り替えを利用することがある。他の技術では、ユーザがメッセージングアプリケーション１４０でインストールボタンを選択して、メッセージングアプリケーション１４０を離れることなく、メディアアプリケーションがインストールされる、アプリケーション内インストールを利用することがある。メッセージングアプリケーション１４０を離れることなくメディアアプリケーションがインストールされる場合には、メディアアプリケーションがインストール中であることを示すインディケーション（例えば、インストール進行状況グラフィック）、およびメディアアプリケーションのインストールをフライオーバグラフィック（fly over graphic）によって表示するなど、メディアアプリケーションが正常にインストールされたことを示すインディケーションがユーザに表示されることがある。メディアアプリケーションがインストールされると、インストールコントロールは、起動コントロールに移行し得る。
【００７１】
帰属付きメディア要素のそれぞれのビューは、帰属付きメディアビューレコードに記録されることがある。場合によっては、帰属付きメディアビューレコードは、メディアメッセージングシステム１００のプロバイダとメディアアプリケーションプロバイダとの間の取引を推進するために用いられることがある。例えば、メディアメッセージングシステム１００は、視聴された帰属付きメディア要素ごとに料金を受け取ることがある。他の例では、メディアメッセージングシステム１００は、そのメディアアプリケーションに帰属する１つ以上のメディア要素を視聴したユーザごとに料金を受け取ることがある。表示されている帰属付きメディア要素に基づいて、共有されている帰属付きメディア要素に基づいて、メッセージングアプリケーション１４０内での共有のため、メディアアプリケーションのインストールのため、メッセージングアプリケーション１４０内からメディアアプリケーションを起動するために、オファーされている帰属付きメディア要素に基づいて、または、メッセージングアプリケーション１４０と、メディアアプリケーションと、メディアアプリケーションに関連付けられたメディアコンテンツとの間の他の任意のインタラクションに基づいて、どのような取引形態をとってもよい。
【００７２】
ユーザインタフェース３００は、この場合は画像共有アプリケーションＪＰＥＧＧＹである関連付けられたメディアアプリケーションが第２のクライアントデバイス１９０にインストール済みである場合を含み得る。従って、メッセージングアプリケーション１４０は、ユーザが使用するためのメディアアプリケーションを直接実行することが可能な場合がある。しかしながら、多くの場合は、第１のユーザは、第２のユーザが現在インストールしていないメディアアプリケーションに関連付けられたメディア要素１１０を共有し得る。これは、第１のユーザの共有アクションによる暗示的推奨によって、第２のユーザが関心を持つかもしれない新たなメディアアプリケーションに触れることがあるという点で、有益なことであり得る。これらの場合、帰属表示要素３１５は、メディアアプリケーションにアクセスするためのコントロールを依然として含み得る。ただし、このコントロールは、メディア要素１１０の共有元のメディアアプリケーションをインストールするオプションをユーザに提示することによって、メディアアプリケーションのインストールを開始し得るものである。これらの場合、「開く」コントロールに代えて、新たなメディアアプリケーションをインストールして自身で試してみる機会をユーザにオファーする「試す」コントロールを用いることができる。メディアアプリケーションをインストールするためのオプションは、例えば、アプリケーションリポジトリ（例えば、「アプリケーションストア」）をロードして、アプリケーションインストールインタフェースを表示するようにアプリケーションリポジトリユーティリティに指示することによって提示することができ、アプリケーションインストールインタフェースは、ユーザがメディアアプリケーションのアプリケーションページ上でインストールコントロールを選択することなどによってメディアアプリケーションをインストールする権限を与える。
【００７３】
帰属表示要素３１５は、カスタムテキスト、カスタムロゴ、カスタム画像、カスタムアイコン、または他の任意のカスタム表示要素を含むことなどによって、それぞれの特定のメディアアプリケーション用にカスタマイズすることができる。カスタム表示要素は、そのメディア要素１１０を担当するメディアアプリケーションを、そのメディアアプリケーションに特有のアイコンなどによって特定し得る。オーディオミキシングアプリケーションが、アニメーション画像にオーディオトラックを「ＴｒａｃｋＳｍａｓｈ」するようにユーザを勧誘するなど、カスタムディスプレイ要素は、そのメディアアプリケーションを使用するためのアプリケーション特有の勧誘を含み得る。これは、メディアアプリケーションにアクセスする（インストール済みのアプリケーションを開くか、または現在インストールされていないアプリケーションのインストールを開始するか、いずれか）ためのコントロールのカスタマイズを伴い得る。いくつかの実施形態では、共有されるメディア要素１１０自体を選択することで、結果的に、関連付けられたメディアアプリケーションが起動されて、そのメディア要素１１０に対応したその内部ページに誘導されることになり得る。
【００７４】
図３Ｂは、ディープリンクされたメディア要素１１０のページを表示している、メディアアプリケーションのユーザインタフェース３２５の実施形態を示している。
図３Ｂに示す実施形態では、メディアアプリケーションインタフェースは、クライアントデバイス１２０のユーザから第２のクライアントデバイス１９０のユーザが受信したメディア要素１１０に固有のメディア要素固有ページ３３０を表示している。メディア要素固有ページ３３０に到達するために、第２のクライアントデバイス１９０のユーザは、帰属表示要素３１５の一部として表示される、メディアアプリケーションにおいてメディア要素１１０にアクセスするためのコントロールを選択した可能性がある。
【００７５】
図示のメディア要素固有ページ３３０は、メディア要素１１０、メディア要素１１０のタイトルである「うちのネコちゃん」、メディア要素１１０またはメディア要素１１０のこの特定の共有に関連付けられたメディアアプリケーション内のユーザアカウント「ＢＥＨ」、メディアアプリケーション内でメディア要素１１０に付与された複数のタグ、および、ファイルサイズ、アップロード日、画像サイズ、ビュー回数、共有回数など、メディア要素１１０に関する様々な情報、の表示を含む。メディア要素固有ページは、特定のメディア要素１１０に特に関連した何らかのページまたはアプリケーションビューに相当し得る。図示の実施形態では、メディア要素１１０は、そのページ上に表示されている唯一のメディア要素であるが、別の実施形態では、類似のメディア要素、関連したメディア要素などのような追加のメディア要素を表示してよい。同様に、リミックス、フィルタ適用、およびその他の加工用などの、追加のコントロールをメディア要素固有ページ３３０に含んでよい。
【００７６】
メディア要素固有ページ３３０は、メディア要素固有ページ３３０で紹介されたメディア要素１１０を共有する権限をメディアアプリケーションのユーザに与えるメディアアプリケーション共有コントロール３３５を含み得る。図示の例示的なメディアアプリケーション共有コントロール３３５は、特定のメッセージングアプリケーション１４０に明確に関連付けられたメッセージングアプリケーション限定メディアアプリケーション共有コントロールである。従って、メディアアプリケーション共有コントロール３３５を選択することで、メッセージングアプリケーション１４０を直接起動して（例えば、最前面に出す）、このメディア要素１１０の適切な帰属レコード１１５と共にメディア要素１１０をメッセージングアプリケーション１４０に転送することができる。従って、このメディア要素固有ページ３３０は、クライアントデバイス１２０のユーザがメディア要素１１０をメッセージスレッド２１０に取り込むために最初に選択したときに用いたものと類似または同等のビューに相当し得る。
【００７７】
他の実施形態では、アプリケーション限定メディアアプリケーション共有コントロールではない汎用メディアアプリケーション共有コントロールを、メディアアプリケーションにおいて用いてよい。この汎用メディアアプリケーション共有コントロールを選択することで、電子メール、ショートメッセージサービス（ＳＭＳ）システムのマルチメディアメッセージサービス（ＭＭＳ）拡張、メディアメッセージングシステム１００に関連付けられたメッセージングアプリケーション１４０などのメッセージングアプリケーション、その他のメディア共有方法など、メディア要素１１０を共有するための多様な方法をオファーするインタフェースを開始させることができる。
【００７８】
場合によっては、特定のメッセージングアプリケーション１４０に明確に関連付けられたメッセージングアプリケーション限定メディアアプリケーション共有コントロールを表示するメディアアプリケーションは、そのメディアアプリケーションのメッセージングアプリケーション限定バージョンに相当し得る。例えば、ＪＰＥＧＧＹメディアアプリケーションは、メディア共有システム１００のメッセージングアプリケーション１４０との統合用に特別に設計されたＪＰＥＧＧＹメディアアプリケーションのバージョンをリリースしている場合がある。メッセージングアプリケーション１４０は、メッセージングアプリケーション限定のメディアアプリケーションとメッセージングアプリケーション限定ではないメディアアプリケーションのどちらからのメディアコンテンツでも受け入れるように機能し得るが、メッセージングアプリケーションによって、メッセージングアプリケーション限定のメディアアプリケーションが優先される場合がある。
【００７９】
従って、ユーザが、メディアアプリケーションのメッセージングアプリケーション限定バージョンとメッセージングアプリケーション限定ではないバージョンの両方をインストールしている場合には、メッセージングアプリケーション１４０は、メディアアプリケーション内のメディア要素１１０を視聴するためのユーザ要求に応じて、メディアアプリケーションのメッセージングアプリケーション限定バージョンを起動することを選択し得る。他の実施形態では、使用されるアプリケーションバージョンを、帰属レコード１１５が指示することがあり、メッセージングアプリケーション１４０は、指示されたバージョンを起動し得る。同様に、メディアアプリケーションのいずれのバージョンも、クライアントデバイスに現在インストールされていない場合には、メッセージングアプリケーション１４０は、帰属表示要素３１５の一部として表示されるアプリケーションをインストールするためのユーザ要求に応じて、メディアアプリケーションのメッセージングアプリケーション限定バージョンを選択し得る。
【００８０】
いくつかの実施形態では、メディアアプリケーションのメッセージングアプリケーション限定ではないバージョンがクライアントデバイス上で検出された場合、またはメッセージングアプリケーション１４０と組み合わせて使用されている場合に、メディアアプリケーションのメッセージングアプリケーション限定バージョンが、バナー、インタスティシャル、ポップアップ、または他のユーザインタフェース要素によるなどして、プロモーションされることがある。例えば、メディアアプリケーションのメッセージングアプリケーション限定ではないバージョンからメディア要素１１０を受信すると、メッセージングアプリケーション１４０は、メディアアプリケーションのメッセージングアプリケーション限定バージョンを利用できることをクライアントデバイスのユーザに通知して、それのインストールを開始するようにユーザにオファーすることがある。これによって、ユーザは、汎用共有コントロールを経由して汎用共有インタフェースでメッセージングアプリケーション１４０を見つけることなく、メッセージングアプリケーション１４０へのワンコントロールアクセス（one-control access）を可能とする、メディアアプリケーションのバージョンへのアクセスが与えられることによる恩恵を受ける場合がある。
【００８１】
図３Ｃは、インポートされた第２のメディア要素３６０の共有を承認するための共有コントロール３７０を表示している、メッセージングアプリケーション１４０のユーザインタフェース３５０の実施形態を示している。
【００８２】
メディア要素３６０は、メディアアプリケーションにおいて第２のクライアントデバイス１９０のユーザが発見したメディア要素に相当し得る。本例では、どちらの画像も第１のユーザが撮影した共有対象の個人的写真であるので、第２のメディア要素３６０は、第１のメディア要素１１０を送信したユーザに関連付けられた他の画像の検索によって発見された可能性がある。しかしながら、他の場合には、類似のタグで画像を探索する、特定のタグで画像を探索する、キーワード検索、自然言語検索、またはメディアコンテンツの検索、探索、発見のための他の任意の技術など、様々な技術によって画像が発見されることがある。
【００８３】
メッセージングアプリケーション１４０は、一般的に、インポートされたメディアコンテンツを共有したいことを、それをメッセージスレッド２１０に取り込むために送信する前に、メッセージングアプリケーション１４０のユーザに確認するように構成することができる。これは、ユーザプロンプト（user prompting）を提供することなくメディア要素を取り込むために送信するメディアアプリケーションを悪用することによって受信されたメディア要素の悪意のある取り込みを防ぐことと、メッセージスレッド２１０内に表示されて視聴されるメディア要素として正しいメディア要素が選択されたことのユーザによる確認またはユーザによるその他の判断の確認を可能にすることと、その両方のために役立ち得る。
【００８４】
従って、メッセージングアプリケーション１４０は、受信したメディア要素３６０に関連付けて、共有コントロール３７０を表示することができる。共有コントロール３７０は、メッセージングアプリケーション１４０のユーザが、受信したメディア要素３６０をメッセージスレッド２１０に取り込むための権限を与えることができる。共有コントロール３７０を選択することで、第１のクライアントデバイス１２０上の第１のユーザのメッセージングアプリケーション１４０への配信のために、メディア要素３６０を含むメッセージパッケージをメッセージングサーバー１８０に送信するように、メッセージングアプリケーション１４０に促すことができる。
【００８５】
メディア要素３６０は、メディアアプリケーションがメッセージングアプリケーション１４０によって呼び出されることによって、メディアアプリケーションにおいて発見された可能性がある。メディアアプリケーションを呼び出すことの一環として、メッセージングアプリケーション１４０は、そのメッセージスレッド２１０のためのメッセージングアプリケーション１４０とのメッセージスレッド固有アプリケーション間リンク（an message-thread-specific inter-application link）を、メディアアプリケーションに渡すことがある。メッセージスレッド固有アプリケーション間リンクは、メディア要素固有アプリケーション間リンクとは逆の目的を果たし得る。前者は、共有するためのメディアコンテンツの検索のきっかけである特定のメッセージスレッド２１０を識別し得る一方、後者は、この同じ検索のきっかけである特定のメディア要素１１０を識別し得る。メディア要素固有アプリケーション間リンクは、メディアコンテンツの発見および／または加工のための開始点として機能するメディア要素固有ページにメディアアプリケーションを誘導するために、メッセージングアプリケーション１４０によって用いることができる一方、メッセージスレッド固有アプリケーション間リンクは、受信したメディア要素を特定のメッセージスレッド２１０内に取り込むためのプロンプトをメッセージングアプリケーション１４０のユーザに提示することをメッセージングアプリケーション１４０に指示するために、メディアアプリケーションによって用いることができる。これは、アプリケーション間の移行ごとにユーザを関連したコンテキスト内に位置付けることによって、メッセージングアプリケーション１４０とメディアアプリケーションの間の移行を容易とするために役立ち得る。
【００８６】
従って、メッセージスレッド固有アプリケーション間リンクは、メッセージングアプリケーション１４０によって生成されて、メディアアプリケーションを呼び出すことの一環として含まれることがある。メッセージスレッド固有アプリケーション間リンクは、メディアパッケージの一部として、メッセージングアプリケーション１４０で受信されて、受信したメディア要素を充実させることをユーザにオファーするための特定のメッセージスレッド２１０を決定するために、メッセージングアプリケーションによって用いられることがある。なお、ユーザは、異なるメッセージスレッドを選択するためのコントロールによるなどして、受信したメディア要素を異なるメッセージスレッドに誘導する機会をオファーされる場合もあることは理解されるであろう。
【００８７】
受信したメディア要素３６０のためのユーザインタフェース３５０は、破棄コントロール３６５を含み得る。破棄コントロール３６５は、ユーザが、受信したメディア要素３６０をいずれかのメッセージスレッドに取り込むことを控えるために用いることができる。破棄コントロール３６５は、悪意のあるメディア要素または意図せずに受信されたメディア要素を破棄する権限をユーザに与えることができる。
【００８８】
受信したメディア要素３６０のためのユーザインタフェース３５０は、インポート帰属３５５を含み得る。インポート帰属３５５は、メディア要素３６０のエクスポートを担当したメディアアプリケーションと、メディア要素３６０の取り込みにはいずれも帰属表示要素が添付されることと、その両方をユーザに再認識させることができる。いくつかの実施形態では、インポート帰属３５５は、メディアコンテンツの異なるピースを選択するなどの目的で、ユーザをメディアアプリケーションに戻すために、ユーザによって選択されることがある。
【００８９】
受信したメディア要素３６０のためのユーザインタフェース３５０は、リミックスコントロール（remix control）３７２を含み得る。リミックスコントロール３７２は、ユーザが、インポートされたメディア要素３６０のリミックス、加工、合成、およびその他の変更のためのオプションにアクセスすることを可能にし得る。リミックスコントロール３７２は、他のユーザによってメッセージスレッド２１０内で共有されたメディア要素のリミックス、加工、合成、およびその他の変更のためのオプションへの同様のアクセスを提供し得る。リミックスコントロール３７２は、メッセージングアプリケーション１４０内で実行されるメディア要素３６０の変更のための機能と、画像またはビデオにオーディオトラック（例えば、音楽トラック）を重ねることなどによりメディアコンテンツを変更する権限をユーザに与えるクライアントデバイス上の外部アプリケーションと、その両方へのアクセスを提供し得る。
【００９０】
図３Ｄは、インポートされた第２のメディア要素３６０の承認された共有を表示している、メッセージングアプリケーション１４０のユーザインタフェース３７５の実施形態を示している。
【００９１】
図３Ｄのユーザインタフェース３７５は、第２のクライアントデバイス１９０のユーザが、メッセージスレッド２１０内へのメディア要素３６０の取り込みを承認する共有コントロール３７０を選択した場合を示している。ユーザインタフェース３７５に示すように、第２のメディア要素３６０は、やはり、第１のメディア要素１１０で用いた帰属表示要素３１５と同様の帰属表示要素３８５と共に表示される。この第２の帰属表示要素３８５は、同様にして、メディアアプリケーション内の第２のメディア要素３６０にアクセスするため、さらに、メッセージスレッド２１０内へのメディアコンテンツの取り込み、およびメッセージスレッド２１０において参加者間でメディアコンテンツを共有するやりとりのために、用いることができる。
【００９２】
図４は、同じクライアントデバイス１２０上で実行されているメディアアプリケーション４３０から受信したメディア要素１１０を、メッセージングサーバー１８０を介して共有する、メッセージングアプリケーション１４０の実施形態を示している。
【００９３】
メディア管理コンポーネント１６０は、メディアアプリケーション４３０に関連付けられたメディア要素１１０を受信し得る。メディア管理コンポーネント１６０は、メディア要素１１０を保存することができ、クライアントデバイス１２０上のメディアストア４６０内に、メディア要素１１０を含むメディアパッケージ１０５全体を含むことができる。メディアストア４６０は、メッセージングアプリケーション１４０で使用するためのメディアコンテンツをキャッシュすることができる。
【００９４】
メッセージングアプリケーション１４０とメディアアプリケーション４３０の両方を、別個のユーザアプリケーションとしてクライアントデバイス１２０上にインストールすることができる。メディア管理コンポーネント１６０は、クライアントデバイス１２０上で、アプリケーション間通信によって、メディア要素１１０とアプリケーション間リンクとを含むメディアパッケージ１０５を、メッセージングアプリケーション１４０においてメディアアプリケーション４３０から受信することができる。
【００９５】
メディアパッケージ１０５の共有は、メディアアプリケーション４３０におけるユーザアクティビティによって促された可能性がある。メディアアプリケーション４３０は、メディアアプリケーションにおいてメディア要素１１０のユーザメディア選択を受け取り、メディアアプリケーションにおいてユーザメディア共有コマンドを受け取り、ユーザメディア選択およびユーザメディア共有コマンドに応じて、メディアパッケージ１０５をメディアアプリケーション４３０からメッセージングアプリケーション１４０に送信することができる。
【００９６】
場合によっては、メディア要素１１０は、メッセージングアプリケーション１４０のメディア要素ディスカバリ・セクションにおいてユーザが発見したものである可能性がある。メディア要素ディスカバリ・セクションは、メッセージングアプリケーション１４０のユーザの関心があると予測されるメディアコンテンツを表示するために用いられることがあり、そのメディアコンテンツは、メッセージングコンテキスト、メッセージスレッド２１０の他の参加者との関係コンテキスト、ソーシャルネットワーキングサービスに登録された明示的な兆候および暗示的な兆候、およびユーザに関する既知の他の任意の情報など、ユーザに関する既知の情報に基づくものなどであり得る。メディア管理コンポーネント１６０は、メッセージングアプリケーション１４０のメディア要素ディスカバリ・セクションにおいてメディア要素１１０を表示し、メディア要素ディスカバリ・セクションにおいてメディア要素１１０のユーザメディア選択を受け取り、メディア要素１１０のユーザメディア選択に応じて、メディア要素１１０を含むメッセージパッケージ１７０を生成するようメッセージングコンポーネント１５０に指示することができる。メディア要素ディスカバリ・セクションは、アプリケーションとメディア要素の両方を含み得る。それらのアプリケーションとして、デバイスにインストール済みのアプリケーションと、デバイスに未インストールの推奨アプリケーションと、が含まれることがある。それらのアプリケーションは、具体的なアプリケーションのプロモーションに基づくランク付けなどで、その提示においてランク付けされることがある。それらのメディア要素として、デバイスにインストール済みのメディアアプリケーションからのメディア要素と、デバイスに未インストールの推奨アプリケーションからのメディア要素と、が含まれることがある。
【００９７】
メディア要素は、具体的なアプリケーションのプロモーションに基づくランク付けなどで、その提示においてランク付けされることがある。メディアアプリケーションおよびそれに関連したメディア要素は、（例えば、ユーザによるランク付けに応じた）メディアアプリケーションの品質、メディアアプリケーションのバイラリティ（virality）（すなわち、それに接した新たなユーザに拡散する傾向）、ユーザのロケーション（これは、他のメトリクスと組み合わせて用いられることがあり、例えば、品質およびバイラリティは、ユーザの場所を用いることなく判断される）、（機械学習を用いて特定され得るような）ユーザが使用したいメディアアプリケーションおよびユーザが送信したいコンテンツについてのパーソナライズされたユーザモデル、または他の技術によって、ランク付けされることがある。これらの技術を、メディアアプリケーションディスカバリ・セクションにおいてどのメディアアプリケーションを目立たせるのか、どのメディア要素をコンポーザに表示するのか、いずれかにおけるメディアアプリケーションおよびメディア要素の順序、を決定するために用いてよい。メディアアプリケーションは、そのユーザが既に使用しているメディアアプリケーションとの類似度に基づいてプロモーションされることがある。メディアアプリケーションは、そのユーザに特徴（例えば、デモグラフィック情報）が類似した他のユーザに使用されていることに基づいてプロモーションされることがある。メディアアプリケーションは、メッセージングプラットフォームにおけるトラフィックを推進するようなメディアアプリケーションであることから、メディアメッセージングシステム１００のメンテナ（maintainer）によってプロモーション用に選択されることがある。
【００９８】
メディアアプリケーションは、それらがメディアメッセージングシステム１００とのより高度な統合が得られる場合にプロモーションされることがある。低い統合度は、メッセンジャ内でコンテンツ帰属による共有を可能とするにすぎないメディアアプリケーションに対応し得る。高い統合度は、メッセージングアプリケーション１４０を用いて応答するため、メッセージングアプリケーション１４０をインストールするため、またはそれ以外の方法でメッセージングアプリケーション１４０をユーザに積極的にプロモーションするためのコールトゥアクション（例えば、画面上コントロール）を提供するアプリケーションに対応し得る。高度な統合が得られるメディアアプリケーションは、メディアメッセージングシステム１００との統合について最適なエクスペリエンスが得られることに基づいて、ユーザが使用するために、メッセージングアプリケーション１４０のメディアアプリケーションディスカバリ・セクションにおいてプロモーションされることがある。そのようなメディアアプリケーションは、それらのメディアアプリケーションがインストール済みか否かに関わりなくプロモーションされることがあり、これにより、新たなメディアアプリケーションの発見と既存のメディアアプリケーションの使用の両方を推進する。
【００９９】
場合によっては、メディア要素１１０は、メッセージスレッド２１０の参加者の１人によってメッセージスレッド２１０内で既に共有されていることがある。メッセージングアプリケーション１４０は、メディア共有の共有履歴を参照する権限をメッセージスレッド２１０の参加者に与えることができる。メディア管理コンポーネント１６０は、メッセージングアプリケーション１４０の交換済みメディア要素セクションにおいてメディア要素１１０を表示し、メディア要素１１０のユーザメディア選択を受け取り、メディア要素１１０のユーザメディア選択に応じて、メディア要素１１０を含むメッセージパッケージ１７０を生成するようメッセージングコンポーネント１５０に指示することができる。交換済みメディア要素セクションは、どちらの参加者も熟知しているであろうメディアコンテンツを用いて新たなメディアアプリケーションのリミックス能力を誇示するなどの目的で、送信前にリミックスするためのメディア要素１１０を見つけるために用いることもできる。
【０１００】
場合によっては、メディアアプリケーション４３０は、メッセージングアプリケーション１４０内でプロモーションされることがある。メディアアプリケーション４３０は、メディアアプリケーション４３０のプロバイダとメッセージングアプリケーション１４０のプロバイダとの間の商業的報酬に基づいて、メディアアプリケーション４３０のプロバイダとメッセージングアプリケーション１４０のプロバイダとの間の相互プロモーション契約に基づいて、ユーザのメディアアプリケーション４３０への予測される関心に基づいて、メディアアプリケーション４３０のプロバイダによって提供されるターゲティング基準に基づくメディアアプリケーション４３０のプロモーションのためのメディアメッセージングシステム１００によるユーザのターゲティングに基づいて、またはこれらの任意の組み合わせに基づいて、プロモーションされることがある。メディア管理コンポーネント１６０は、メッセージングアプリケーション１４０内の、メディアアプリケーション４３０に関連付けられたアプリケーション固有メディア要素セクションにおいてメディア要素１１０を表示し、アプリケーション固有メディア要素セクションにおいてメディア要素１１０のユーザメディア選択を受け取り、メディア要素１１０のユーザメディア選択に応じて、メディア要素１１０を含むメッセージパッケージ１７０を生成することができる。
【０１０１】
メディアアプリケーションは、高品質メディアアプリケーションの推進と使用されるメディアアプリケーションの多様性の推進をバランスさせて、メディアアプリケーションエコシステムの健全性を促進するためにプロモーションされることがある。特定のメディアアプリケーションが、メディアメッセージングシステム１００のメンテナによって高品質として明示的にマークされることがあり、または挙動の自動分析もしくはメディアアプリケーションのユーザによる明示的格付けによって高品質として自動的にマークされることがある。新たなアプリケーション、様々に異なるアプリケーション、新たなメディアタイプもしくは異なるメディアタイプを提供するアプリケーションの試用を、より幅広いユーザベースまたは特定のユーザに勧めることによって、またはメディアメッセージングシステム１００のエコシステム内で提示不足のメディアまたはアプリケーションのカテゴリをプロモーションすることによって、多様性を推進することができる。特定のパーセンタイル順位（percentile rank）の平均より上に関わるメディアメッセージングシステム１００のユーザ、または他のメトリックによって高頻度のメディア共有者であるユーザを分析することで、高使用状況にある具体的なメディアアプリケーション、メディアアプリケーションの具体的なタイプ、メディアのパーツタイプまたは他の指標を特定することができ、そして、それらのメディアアプリケーションまたはそれらのタイプのメディアを、より高頻度での使用を促進するために他のユーザにプロモーションすることができる。このような分析は、機械学習法を用いて、メディアメッセージングシステム１００で自動的に実行することができる。
【０１０２】
望まないメディアコンテンツの共有を避けるために、メッセージングアプリケーション１４０は、外部のメディアアプリケーションまたはメディアサービスから受信したメディアコンテンツの共有を承認するためのプロンプトをユーザに提示することがある。メディア管理コンポーネント１６０は、受信したメディアパッケージ１０５からメディア要素１１０を抽出して、メッセージングアプリケーション１４０においてメディア要素１１０のプレビューを表示することができる。メディア管理コンポーネント１６０は、メッセージングアプリケーションにおいてメディア要素のユーザメディア選択を受け取り、メッセージングアプリケーション１４０内で、メディア要素１１０のユーザメディア選択に応じて、メディア要素１１０を含むメッセージパッケージ１７０を生成するようにメッセージングコンポーネント１５０に指示することができる。
【０１０３】
メッセージングコンポーネント１５０は、メディア要素１１０を含むメッセージパッケージ１７０を生成することができる。メッセージパッケージ１７０は、メディア要素１１０に関する帰属レコード１１５を含むことができ、帰属レコード１１５は、メディア要素１１０のためのメディアアプリケーション４３０とのアプリケーション間リンクを含む。メディア要素１１０と帰属レコード１１５は、まとめてメディアパッケージ１０５にメディアアプリケーション４３０によってバンドルされて（bundled）、メディアパッケージ１０５のコンポーネントとして受信され得る。
【０１０４】
メッセージパッケージ１７０は、メディア要素１１０の共有に関するコンテキスト情報を格納したメタデータブロックを含み得る。メッセージパッケージ１７０は、メッセージング会話の参加者に関する情報、メッセージング会話の話題、メディア要素１１０が応答であるメディア共有に関するメタデータ、インタラクション頻度データ（例えば、メッセージング参加者が、どのような頻度でインタラクションするか）、話題頻度データ（例えば、共有されるメディア要素１１０が関係し得る会話の現在の話題を、メッセージング参加者が、どのような頻度で話すか）、話題人気度データ（例えば、メディアメッセージングシステム１００またはメディアアプリケーション４３０内での会話の現在の話題またはメディア要素１１０の話題の人気度）、ユーザプリファレンス、適切な状況的またはカスタマイズされた応答を作成することに関連した他の任意の情報、を格納し得る。
【０１０５】
メッセージングコンポーネント１５０は、メッセージパッケージ１７０をメッセージングサーバー１８０に送信することができる。メッセージングサーバー１８０は、メッセージングサーバー装置４８０上で実行することができる。メッセージングサーバー装置４８０は、メディアメッセージングシステム１００で使用される複数のサーバー装置のうちの１つである専用サーバー装置を含み得る。メッセージパッケージ１７０は、メッセージパッケージ１７０の受信者のユーザアカウントを特定するアドレス情報を含み得る。
【０１０６】
図５は、メディアアプリケーションに関連付けられたメディアサーバーからメディアパッケージを受信する、メッセージングアプリケーションの実施形態を示している。
いくつかの実施形態では、メディア要素１１０は、メディアアプリケーション４３０に関連付けることができ、メディア要素１１０は、クライアントデバイス１２０上のメディアアプリケーション４３０からではなく、メディアサーバー５３５から受信され得る。メディアアプリケーション４３０内のメディア要素１１０にアクセスするために、メディア要素１１０は、さらに、アプリケーション間リンクと共に、または複数のメディア要素が受信される場合は複数のアプリケーション間リンクと共に、受信され得る。これは、複数のメディア要素がメッセージングアプリケーション１４０内でプロモーションされる場合に有効であり得る。
【０１０７】
場合によっては、メッセージングサーバー１８０および／またはメッセージングアプリケーション１４０が担当するメッセージングサービスのプロバイダによって維持されるメディアサーバー５３５から、メディアリポジトリ５０５を受信することがある。例えば、メディア共有サービスは、メディア共有サービスおよびそれに関連したメディアアプリケーションを使用するためのプロンプトをユーザに提示するメッセージングサービスでのプロモーションのために、メディアコンテンツを伴うメッセージングサービスを提供することがある。このメディアコンテンツは、メッセージングアプリケーション１４０内のメディア選択インタフェースにおいて、メディア共有サービスへの帰属と共に表示することができる。従って、このメディアコンテンツは、メディアメッセージングシステム１００を介して共有することができ、このメディアコンテンツの送信者および受信者には、メディア共有サービスおよびメディア共有サービスのメディアコンテンツの使用を推奨するメディアコンテンツの帰属表示要素が表示される。
【０１０８】
メディア管理コンポーネント１６０は、複数のメディア要素を含むメディアリポジトリ５０５をメディアサーバーから受信することができ、メディア要素１１０は、これらの複数のメディア要素のうちの１つを含む。メディア管理コンポーネント１６０は、これらの複数のメディア要素を、クライアントデバイス１２０上のメディアストア４６０に保存し、そして、プロモーションされたメディア要素の１つ以上を表示することができ、プロモーションされたメディア要素の表示された１つ以上には、メディア要素１１０が含まれる。メディア管理コンポーネント１６０は、メディア要素１１０のユーザメディア選択を受け取って、メディア要素１１０のユーザメディア選択に応じて、メディア要素１１０を含むメッセージパッケージ１７０を生成するようにメッセージングコンポーネント１５０に指示することができる。
【０１０９】
メディアリポジトリ５０５は、複数のプロモーションされたメディア要素を含むプロモーションメディアコンテンツを格納したプロモーションメディアリポジトリを含み得る。プロモーションメディアコンテンツは、特定のメディアサービスをプロモーションするため、特定のメディアアプリケーションをプロモーションするため、特定のイベントをプロモーションするため（例えば、感謝祭の直前の期間にリリースされる感謝祭メディアのようなイベント関連メディアコンテンツ）、または他の任意の想定されるエンティティもしくは事物をプロモーションするために使用されるメディアコンテンツに相当し得る。
【０１１０】
図６は、アプリケーション間リンクを用いてメディアアプリケーション４３０を起動する、メッセージングアプリケーション１４０の実施形態を示している。
場合によっては、メディア要素１１０は、メッセージスレッド２１０において、メディアアプリケーション４３０に関連付けられた前のメディア要素６１０を他の参加者から受信したことに応じて、メディアアプリケーション４３０において、メッセージングアプリケーション１４０のユーザによって選択された可能性がある。例えば、ユーザは、他のユーザのクライアントデバイス上のメディアアプリケーション４３０からメディアメッセージングシステム１００およびメッセージングアプリケーション１４０を介して前のメディア要素６１０を受信したことに応じて、メディアアプリケーション４３０のメディアコンテンツを探索するように促された可能性がある。
【０１１１】
メディア要素１１０を送信するために用いられるメッセージパッケージ１７０は、前のメディア要素６１０をクライアントデバイス１２０のユーザに送信したユーザに関連付けられた宛先ユーザアカウント宛てとされることがある。メディア要素１１０を送信するために用いられるメッセージパッケージ１７０は、メッセージスレッド２１０に関連付けることができる。メッセージングコンポーネント１５０は、メッセージパッケージ１７０が関連付けられるのと同じメッセージスレッドに関連付けられた前のメッセージパッケージ６７０をメッセージングサーバー１８０から受信していることがある。同じメッセージスレッドに関連付けられることは、同じメッセージスレッド識別子またはメディアメッセージングシステム１００によるユーザアカウントの同じセットに関連付けられることを含み得る。前のメッセージパッケージ６７０は、メディアアプリケーション４３０に関連付けられた前のメディア要素６１０を含み得る。前のメッセージパッケージ６７０は、メディアアプリケーション４３０への前のアプリケーション間リンク６１５を含む前の帰属レコードを含み得る。前のアプリケーション間リンク６１５は、メディアアプリケーション４３０内で前のメディア要素６１０を識別し得る。
【０１１２】
メディア管理コンポーネント１６０は、メッセージスレッド２１０において、メディアアプリケーション４３０に関する帰属表示要素に関連付けて、前のメディア要素６１０を表示することができる。メディア管理コンポーネント１６０は、帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取り、ユーザアプリケーション起動コマンドに応じて、メディアアプリケーション４３０を起動することができる。メディア管理コンポーネント１６０は、メディアアプリケーション４３０内で前のメディア要素６１０を識別するために、前のアプリケーション間リンク６１５をメディアアプリケーション４３０に送信することができる。メディア管理コンポーネントは、前のメディア要素６１０を調べるきっかけであるとともに発見されたメディアコンテンツを誘導すべき先であるメッセージスレッド２１０を識別する権限をメディアアプリケーション４３０に与えるために、前のアプリケーション間リンク６１５に関連付けて、メッセージスレッドアプリケーション間リンクをメディアアプリケーション４３０に送信することができる。
【０１１３】
メディア管理コンポーネント１６０は、メディアパッケージ１０５を、メッセージングアプリケーション１４０においてメディアアプリケーション４３０から受信することができる。このメディアパッケージ１０５は、メディア要素１１０と、メッセージスレッド２１０に関連付けられたメッセージスレッドアプリケーション間リンクと、を含み得る。メディア管理コンポーネント１６０は、メッセージスレッド２１０に関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、メディア要素１１０をメッセージスレッド２１０に取り込むプロンプトを提示することができる。このとき、ユーザは、メディアアプリケーション４３０で発見したメディア要素１１０を使用することを選択してよく、メディア要素１１０を破棄することを選択してよく、またはメッセージングアプリケーション１４０または他のメディアアプリケーションを使用してメディア要素１１０をリミックスまたは合成することを選択してよい。
【０１１４】
場合によっては、ユーザは、自身のクライアントデバイス１２０にメディアアプリケーション４３０をまだインストールしていないことがある。メディア管理コンポーネント１６０は、メッセージングアプリケーション１４０が実行されているクライアントデバイス１２０上にメディアアプリケーション４３０がインストールされていないと判断して、ユーザアプリケーション起動コマンドに応じて、クライアントデバイス１２０上でメディアアプリケーション４３０のインストールを開始することができる。メディアアプリケーション４３０のインストールを開始することは、クライアントデバイス１２０上でアプリケーションリポジトリユーティリティを起動することと、メディアアプリケーション４３０をインストールする権限を与えるアプリケーションインストールインタフェースを表示するようにアプリケーションリポジトリユーティリティに指示することと、を含み得る。いくつかの実施形態では、メディア管理コンポーネント１６０は、ユーザアプリケーション起動コマンドに応じたメディアアプリケーション４３０のインストールを、メディアアプリケーションインストール帰属レコードに記録することができる。メディアアプリケーションインストール帰属レコードは、メディアアプリケーション帰属によるメディアアプリケーション４３０のインストール推進の成功に関する統計を提供するのに役立ち得る。いくつかの実施形態では、ユーザアプリケーション起動コマンド用の視覚コントロールは、メディアアプリケーション４３０がインストールされるときと、クライアントデバイス１２０上でメディアアプリケーション４３０が既に使用可能であるか否かがユーザに示されないときとでは、異なり得る。従って、メッセージングアプリケーション１４０は、メディアアプリケーション４３０がインストール済みであるかどうか判断して、それに応じて、帰属表示要素３１５を構成設定することができる。
【０１１５】
場合によっては、メディアアプリケーション４３０は、受信した前のメディア要素６１０のリミックス、加工、合成、またはその他の変更のために使用されることがある。メディア管理コンポーネント１６０は、受信されるメディアパッケージ１０５の発信元となるメディアアプリケーション４３０とは別の第２のメディアアプリケーションに関連付けられた前のメディア要素６１０を含む前のメッセージパッケージ６７０を、メッセージングサーバー１８０から受信することがある。メディア管理コンポーネント１６０は、前のメディア要素６１０を表示することができる。メディア管理コンポーネント１６０は、複数のリミックスオプションを表示することができる。メディア管理コンポーネント１６０は、表示された前のメディア要素６１０に関連付けて、表示された複数のリミックスオプションの１つであるユーザリミックスコマンドを受け取ることができる。メディア管理コンポーネント１６０は、ユーザリミックスコマンドに応じて、メディアアプリケーション４３０を起動し、前のメディア要素６１０をメディアアプリケーション４３０に送信し、前のメディア要素６１０の変更バージョンを含むメディア要素１１０を、メディアアプリケーション４３０からメディアパッケージ１０５で受信することができる。
【０１１６】
複数のリミックスオプションは、多様なソースに基づくものであり得る。それらのリミックスオプションの１つ以上は、メッセージングアプリケーション１４０にネイティブなリミックス機能（例えば、フィルタ、オーバーレイなど）の使用を促すものであり得る。リミックスオプションの１つ以上は、メッセージングアプリケーション１４０の環境内で実行しながらメディアアプリケーション４３０からインポートされたリミックス機能の使用を促すものであり得る。例えば、メディアアプリケーション４３０は、フィルタ（例えば、カラーリバランスフィルタ（color rebalancing filter））、オーバレイ（例えば、ステッカー）、オーディオトラック（例えば、楽曲）、およびその他のリミックス要素を提供することができ、これらは、メッセージングアプリケーション１４０自体によって適用することができ、提供されたリミックス要素に関する帰属は依然としてソースメディアアプリケーション４３０が受ける。リミックスオプションの１つ以上は、外部のメディアアプリケーション４３０の直接的使用および外部のメディアアプリケーション４３０の起動を促すものであり得る。
【０１１７】
メディア管理コンポーネント１６０は、前のメディア要素６１０の１つ以上の属性に基づいて、複数のリミックスアプリケーションを決定することができ、それらの複数のリミックスアプリケーションには、メディアアプリケーション４３０が含まれる。そして、メディア管理コンポーネント１６０は、複数のリミックスアプリケーションの間で選択する権限を与えるリミックスアプリケーション選択インタフェースを表示することができ、ユーザリミックスコマンドは、それらの複数のリミックスアプリケーションからメディアアプリケーション４３０を選択することを含む。前のメディア要素６１０の属性は、メディア要素タイプ（例えば、画像、ビデオ、オーディオ）、コンテンツタイプ（例えば、楽曲、写真、動画クリップ）、および前のメディア要素６１０の他の記述、を含み得る。リミックスアプリケーションは、これらの属性の一部またはすべてを有するメディア要素をリミックスする際に、メッセージングアプリケーション１４０のユーザ間で一般的に人気のあるもの、またはこのユーザに限って人気のあるもの、のいずれかとして選択されてよい。リミックスアプリケーションは、この特定の前のメディア要素６１０をリミックスする際に他のユーザに人気のあるものとして選択されてよい。リミックスアプリケーション選択インタフェースは、複数のリミックスアプリケーションを、他にメッセージングアプリケーション１４０をインストールしている他のユーザから以前に受け取ったリミックスアプリケーション選択によって決定されたアプリケーション順序で、表示することができる。
【０１１８】
同様に、ユーザは、リミックスアプリケーションではなく、特定のリミックスオプション群を表示されることがある。メディア管理コンポーネント１６０は、第２のメディアアプリケーションに関連付けられた前のメディア要素６１０を含む前のメッセージパッケージ６７０を、メッセージングサーバー１８０から受信することがある。メディア管理コンポーネント１６０は、前のメディア要素６１０を表示することができる。メディア管理コンポーネント１６０は、表示された前のメディア要素６１０に関連付けて、ユーザリミックスコマンドを受け取り、ユーザリミックスコマンドに応じて、複数のリミックスオプションを表示し、このとき、リミックスオプションの各々は、前のメディア要素６１０に対する異なる加工に対応しており、さらに、複数のリミックスオプションのうちの１つのユーザリミックスオプション選択を受け取り、メディア要素１１０を作成するために、ユーザリミックスオプション選択に従って前のメディア要素６１０を加工することができる。これらのリミックスオプションのいくつかは、メッセージングアプリケーション１４０に単に関連付けることができ、さらにいくつかは、外部のメディアアプリケーションに関連付けて、これにより、それらの個々のメディアアプリケーションに帰属させることができる。外部のメディアアプリケーションに関連付けられたリミックスオプションが選択されると、それはメッセージングアプリケーション１４０によって内部で適用される場合があり、またはメッセージングアプリケーション１４０とメディアアプリケーション４３０とのアプリケーション間通信を介してメディアアプリケーション４３０によって適用される場合がある。いくつかの実施形態では、表示される複数のリミックスオプションのそれぞれは、それらの複数のリミックスオプションに従って前のメディア要素６１０を加工することのプレビューを含み得る。
【０１１９】
メディア要素がリミックスの結果である場合には、発信メッセージングアプリケーションによって、追加情報が受信メッセージングアプリケーションに渡されることがある。リミックスされたメディア要素のメディアパッケージは、元のメディア要素（そのまま伝送されるか、またはＵＲＬのようなリファレンスによるか、いずれか）、ステッカーおよびオーディオファイルのようなリミックス要素の識別情報（例えば、ＩＤ番号、名称）、ならびに直接共有されるメディア要素であるメディア要素リミックスの出力ファイル、を含み得る。従って、ユーザは、リミックスされたメディア要素を受信して、リミックスされたメディア要素の生成に使用された要素の１つ以上を用いて、自身の独自のリミックスを実施することができる。例えば、合成されたビデオとサウンドサンプルは、合成された要素の統一表現（例えば、オーディオトラックに組み込まれたサウンドサンプル付きビデオ）として送信することができ、またはメッセージングスレッドにおける即時実行のためには、合成された要素へのリファレンスとして送信することができるが、ただし、このとき、共有メディア要素を生成するために合成された元の要素を参照する。例えば、サウンドサンプルが追加されたビデオを共有するときには、元のビデオと元のサウンドサンプルの両方が含まれるか、または参照されてよく、受信ユーザは、同じビデオに異なるサウンドサンプルを乗せるか、このサウンドサンプルで加工するために別のビデオを選択するか、いずれかのための権限が与えられる。
【０１２０】
前のメッセージパッケージ６７０は、メッセージスレッド２１０を特定するメッセージスレッド識別子を含み得る。このメッセージスレッド識別子は、送信されるときの前のメディア要素６１０に関連付けて、メディアアプリケーション４３０に送信されることがあり、メッセージスレッド識別子は、メッセージスレッド２１０に関するアプリケーション間リンクに相当する。メディア管理コンポーネント１６０は、メディア要素１１０に関連付けて、メディアアプリケーション４３０からメッセージスレッド識別子をメディアパッケージ１０５で受信することができる。メディア管理コンポーネント１６０は、メディアアプリケーション４３０から受信したメッセージスレッド識別子からメッセージスレッド２１０を特定する権限をメッセージングコンポーネント１５０に与えるために、メッセージスレッド識別子をメッセージングコンポーネント１５０に転送し、メッセージスレッド識別子からメッセージスレッド２１０を特定したことに基づいて、メッセージスレッド２１０において、メディア要素１１０を取り込むために表示することができる。
【０１２１】
本明細書では、開示されるアーキテクチャの新規な態様を実施するための例示的な方法を示す一式のフローチャートを記載している。本明細書で示す１つ以上の方法は、説明を簡単にするために、例えばフローチャートまたはフロー図の形式で、一連の動作として図示および記載しているが、それらの方法は、その動作の順序に限定されるものではなく、本発明によるいくつかの動作は、本明細書で図示および記載しているのとは異なる順序で、かつ／または他の動作と同時に実施してよいことは、理解および認識されるべきである。例えば、方法は、代替的に、状態図のような一連の相関した状態または事象として表すことができることは、当業者であれば理解および認識できるであろう。また、新規な実施のために、方法に示すすべての動作が必要であるとは限らない。
【０１２２】
図７は、論理フロー７００の一実施形態を示している。論理フロー７００は、本明細書に記載の１つ以上の実施形態によって実行されるオペレーションの一部またはすべてを表し得る。
【０１２３】
図７に示す例示的な実施形態では、論理フロー７００は、ブロック７０２で、メディアアプリケーション４３０に関連付けられたメディア要素１１０を、メッセージングアプリケーション１４０において受信することができる。
【０１２４】
論理フロー７００は、ブロック７０４で、メディア要素１１０を含むメッセージパッケージ１７０を生成することができ、メッセージパッケージ１７０は、メディア要素に関する帰属レコード１１５を含み、帰属レコードは、メディア要素１１０のためのメディアアプリケーション４３０とのアプリケーション間リンクを含む。
【０１２５】
論理フロー７００は、ブロック７０６で、メッセージパッケージ１７０をメッセージングサーバー１８０に送信することができる。
実施形態は、本例に限定されない。
【０１２６】
図８は、集中型システム８００のブロック図を示す。集中型システム８００は、単一メッセージングサーバー装置４８０内のエンティティ等の、単一の計算エンティティ内のメディアメッセージングシステム１００のための構造および／または動作のうちのいくつかまたは全てを実施することができる。
【０１２７】
メッセージングサーバー装置４８０は、メディアメッセージングシステム１００のための情報を受信、処理および送信することが可能な任意の電子デバイスを含むことができる。電子デバイスの例は、限定ではないが、ウルトラモバイルデバイス、モバイルデバイス、携帯情報端末（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話、デジタル電話、携帯電話、電子書籍リーダ、ハンドセット、ワンウエイページャ（ｏｎｅ−ｗａｙ  ｐａｇｅｒ）、ツーウエイページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバー、サーバーレイもしくはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家庭用電子機器、プログラム可能な家庭用電子機器、ゲームデバイス、テレビ、デジタルテレビ、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せを含むことができる。実施形態はこれに限定されない。
【０１２８】
メッセージングサーバー装置４８０は、処理コンポーネント８３０を用いてメディアメッセージングシステム１００のための処理動作またはロジックを実行することができる。処理コンポーネント８３０は、様々なハードウェア要素、ソフトウェア要素、または双方の組合せを含むことができる。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、プログラマブルロジックデバイス（ＰＬＤ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅｓ）、デジタルシグナルプロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒｓ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含むことができる。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラミングインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、またはそれらの任意の組合せを含むことができる。実施形態がハードウェア要素を用いて実施されるか、かつ／またはソフトウェア要素を用いて実施されるかを判断することは、所望の計算速度、パワーレベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度および他の設計または性能の制約等の任意の数の要因に従って、所与の実施態様にとって望ましいとおりに変動することができる。
【０１２９】
メッセージングサーバー装置４８０は、通信コンポーネント８４０を用いてメディアメッセージングシステム１００の通信動作またはロジックを実行することができる。通信コンポーネント８４０は、パケット交換ネットワーク（例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベートネットワーク等）、回路交換網（例えば、公衆交換電話網）、またはパケット交換ネットワークおよび回路交換網の（適切なゲートウェイおよびトランスレータを用いた）組合せ等と共に用いるのに適した技法等の、任意のよく知られた通信技法およびプロトコルを実施することができる。通信コンポーネント８４０は、１つまたは複数の通信インタフェース、ネットワークインタフェース、ネットワークインタフェースカード（ＮＩＣ：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）、無線通信装置、ワイヤレストランスミッタ／ワイヤレスレシーバ（トランシーバ）、有線および／または無線通信媒体、物理的コネクタ等の様々なタイプの標準的な通信要素を含むことができる。限定ではないが、例として、通信媒体８１２、８４２は、有線通信媒体および無線通信媒体を含む。有線通信媒体の例は、有線、ケーブル、金属導線、プリント回路基盤（ＰＣＢ：ｐｒｉｎｔｅｄ  ｃｉｒｃｕｉｔ  ｂｏａｒｄｓ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペア線、同軸ケーブル、光ファイバ、伝搬信号等を含むことができる。無線通信媒体の例は、音響、無線周波数（ＲＦ）スペクトル、赤外線および他の無線媒体を含むことができる。
【０１３０】
メッセージングサーバー装置４８０は、通信コンポーネント８４０を介して、他のデバイス８１０、８５０と通信媒体８１２、８４２をそれぞれ通して通信信号８１４、８４４をそれぞれ用いて通信することができる。デバイス８１０、８５０は、所与のインプリメンテーションの要求に応じて、メッセージングサーバー装置４８０の内部または外部のものであってよい。
【０１３１】
集中型システム８００は、単一のメッセージングサーバー装置４８０上で実行される単一のメッセージングサーバー１８０を使用する実施形態に相当し得る。デバイス８１０、８５０は、メッセージングサービスのためのメッセージングサーバー１８０を利用するクライアントデバイス１２０および第２のクライアントデバイス１９０のようなクライアントデバイスに相当し得る。
【０１３２】
図９は、分散型システム９００のブロック図を示している。分散型システム９００は、メディアメッセージングシステム１００について、その構造および／またはオペレーションのいくつかの部分を複数のコンピューティングエンティティに分散させることができる。分散型システム９００の例として、限定するものではないが、クライアントサーバーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタースレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散型システムを含むことができる。実施形態は、これに限定されない。
【０１３３】
分散型システム９００は、複数のメッセージングサーバー装置９１０および複数のメディアサーバー装置９５０を備え得る。概して、複数のメッセージングサーバー装置９１０および複数のメディアサーバー装置９５０は、図８を参照して説明したようなクライアントメッセージングサーバー装置４８０と同じまたは類似したものであり得る。例えば、複数のメッセージングサーバー装置９１０および複数のメディアサーバー装置９５０は、それぞれ、処理コンポーネント９３０および通信コンポーネント９４０を有することができ、それらは、図８を参照して説明したような処理コンポーネント８３０および通信コンポーネント８４０とそれぞれ同じまたは類似したものである。他の例では、装置９１０、９５０は、通信コンポーネント９４０を介して、通信信号９１４を用いて通信媒体９１２を通して通信することができる。
【０１３４】
複数のメッセージングサーバー装置９１０は、記載の実施形態による様々な方法を実施するように機能する１つ以上のクライアントプログラムを具備または採用することができる。一実施形態では、例えば、複数のメッセージングサーバー装置９１０は、分散型メッセージングサーバー１８０としてメッセージングサーバー１８０を共同で実装し得る。メッセージングサーバー装置９１０の各々は、メディアメッセージングシステム１００のユーザに対してメッセージングサービスを共同で提供するために、メッセージングサーバー１８０を実行し得る。
【０１３５】
複数のメディアサーバー装置９５０は、記載の実施形態による様々な方法を実施するように機能する１つ以上のサーバープログラムを具備または採用することができる。一実施形態では、例えば、複数のメディアサーバー装置９５０は、メディアサーバー１３５を実装し得る。
【０１３６】
図１０は、上記に記載の様々な実施形態を実施するのに適した例示的なコンピューティングアーキテクチャ１０００の一実施形態を示す。１つの実施形態では、コンピューティングアーキテクチャ１０００は、電子デバイスを備えるか、電子デバイスの一部として実施されることが可能である。電子デバイスの例は、中でも、図８および図９を参照して説明したものを含むことができる。実施形態はこれに限定されない。
【０１３７】
本出願において用いられるとき、「システム」および「コンポーネント」という語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータに関係したエンティティを指すことを意図され、それらの例が、例示的なコンピューティングアーキテクチャ１０００によって提供される。例えば、コンポーネントは、限定ではないが、プロセッサにおいて実行されるプロセス、プロセッサ、ハードディスクドライブ、（光学および／または磁気記録媒体の）マルチ記録ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび／またはコンピュータであり得る。例示のために、サーバー上で実行されるアプリケーションおよびサーバーの双方がコンポーネントであり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に常駐することができ、コンポーネントは、１つのコンピュータ上に局在することができ、および／または２つ以上のコンピュータ間で分散され得る。更に、コンポーネントは、動作を協調させるように、様々なタイプの通信媒体によって互いに通信可能に結合され得る。協調は、情報の一方向または双方向の交換を含むことができる。例えば、コンポーネントは、通信媒体により通信される信号の形態で情報を通信することができる。情報は、様々な信号線に割り当てられる信号として実施され得る。そのような割り当てにおいて、各メッセージは信号である。一方、更なる実施形態は、代替的にデータメッセージを用いることができる。そのようなデータメッセージは、様々な接続にわたって送信され得る。例示的な接続は、パラレルインタフェース、シリアルインタフェースおよびバスインタフェースを含む。
【０１３８】
コンピューティングアーキテクチャ１０００は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、オシレータ、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力（Ｉ／Ｏ）コンポーネント、電源等の様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングアーキテクチャ１０００による実施に限定されない。
【０１３９】
図１０に示すように、コンピューティングアーキテクチャ１０００は、処理ユニット９０４、システムメモリ１００６およびシステムバス１００８を備える。処理ユニット１００４、限定ではないが、ＡＭＤ（登録商標）プロセッサ、Ａｔｈｌｏｎ（登録商標）プロセッサ、Ｄｕｒｏｎ（登録商標）プロセッサおよびＯｐｔｅｒｏｎ（登録商標）プロセッサ；ＡＲＭ（登録商標）のアプリケーションプロセッサ、組込み型プロセッサおよびセキュアプロセッサ；ＩＢＭ（登録商標）およびＭｏｔｏｒｏｌａ（登録商標）のＤｒａｇｏｎＢａｌｌ（登録商標）プロセッサおよびＰｏｗｅｒＰＣ（登録商標）プロセッサ；ＩＢＭおよびＳｏｎｙ（登録商標）のセルプロセッサ；Ｉｎｔｅｌ（登録商標）のＣｅｌｅｒｏｎ（登録商標）プロセッサ、Ｃｏｒｅ（２）Ｄｕｏ（登録商標）プロセッサ、Ｉｔａｎｉｕｍ（登録商標）プロセッサ、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｘｅｏｎ（登録商標）プロセッサおよびＸＳｃａｌｅ（登録商標）プロセッサ；ならびに同様なプロセッサを含む様々な市販のプロセッサのうちの任意のものであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット１００４として用いられることが可能である。
【０１４０】
システムバス１００８は、限定ではないがシステムメモリ１００６を含むシステムコンポーネントのためのインタフェースを処理ユニット１００４に提供する。システムバス１００８は、多岐にわたる市販のバスアーキテクチャのうちの任意のものを用いてメモリバス（メモリコントローラを有するかまたは有しない）、周辺バスおよびローカルバスに更に相互接続することができるいくつかのタイプのバス構造のうちの任意のものとすることができる。インタフェースアダプタは、スロットアーキテクチャを介してシステムバス１００８に接続することができる。例示的なスロットアーキテクチャは、限定ではないが、アクセラレーテッドグラフィックスポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、カードバス、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ：（Ｅｘｔｅｎｄｅｄ）Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＮｕＢｕｓ、周辺コンポーネント相互接続（拡張）（ＰＣＩ（Ｘ）：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（Ｅｘｔｅｎｄｅｄ））、ＰＣＩエクスプレス、パーソナルコンピュータメモリカード国際組織（ＰＣＭＣＩＡ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）等を含むことができる。
【０１４１】
コンピューティングアーキテクチャ１０００は、様々な製造品を含むかまたは実装することができる。製造品は、ロジックを記憶するためのコンピュータ可読記録媒体を含むことができる。コンピュータ可読記録媒体の例は、揮発性メモリまたは不揮発性メモリ、取外し可能または非取外し可能メモリ、消去可能または非消去可能メモリ、書き込み可能または書き換え可能メモリ等を含む、電子データを記憶することが可能な任意の有形媒体を含むことができる。ロジックの例は、ソースコード、コンパイルされたコード、解釈実行されたコード、実行可能コード、スタティックコード、ダイナミックコード、オブジェクト指向コード、視覚コード等の任意の適切なタイプのコードを用いて実施される実行可能なコンピュータプログラム命令を含むことができる。実施形態はまた、１つまたは複数のプロセッサによって読出しおよび実行されて、本明細書に記載の動作の実行を可能にすることができる、非一時的コンピュータ可読媒体に含まれるかまたは非一時的コンピュータ可読媒体上にある命令として少なくとも部分的に実施されることが可能である。
【０１４２】
システムメモリ１００６は、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ：Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ：ｓｔａｔｉｃ  ＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ：ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、強誘電性ポリマーメモリ等のポリマーメモリ、オーボニックメモリ（ｏｖｏｎｉｃ  ｍｅｍｏｒｙ）、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ：ｓｉｌｉｃｏｎ−ｏｘｉｄｅ−ｎｉｔｒｉｄｅ−ｏｘｉｄｅ−ｓｉｌｉｃｏｎ）メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ（ＲＡＩＤ：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブ等のデバイスのアレイ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）および情報を記憶するのに適した任意の他のタイプの記録媒体等の１つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読記録媒体を含むことができる。図１０に示す例示される実施形態では、システムメモリ１００６は、不揮発性メモリ１０１０および／または揮発性メモリ９１２を含むことができる。基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）を不揮発性メモリ１０１０に記憶することができる。
【０１４３】
コンピュータ１００２は、内部（または外部）ハードディスクドライブ（ＨＤＤ）１０１４、取外し可能な磁気ディスク１０１８に対し読出しまたは書き込みを行うための磁気フロッピーディスクドライブ（ＦＤＤ）１０１６、および取外し可能な光ディスク９２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）に対し読出しまたは書き込みを行うための光ディスクドライブ１０２０を含む１つまたは複数の低速メモリユニットの形態で様々なタイプのコンピュータ可読記録媒体を備えることができる。ＨＤＤ１０１４、ＦＤＤ１０１６および光ディスクドライブ１０２０は、それぞれＨＤＤインタフェース１０２４、ＦＤＤインタフェース１０２６、および光ドライブインタフェース１０２８によってシステムバス１００８に接続されることが可能である。外部ドライブ実装のためのＨＤＤインタフェース１０２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インタフェース技術の少なくとも一方または双方を含むことができる。
【０１４４】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の揮発性記録および／または不揮発性記録を提供する。例えば、オペレーティングシステム１０３０、１つまたは複数のアプリケーションプログラム１０３２、他のプログラムモジュール９３４およびプログラムデータ１０３６を含む複数のプログラムモジュールがドライブおよびメモリユニット１０１０、１０１２に記憶され得る。１つの実施形態では、１つまたは複数のアプリケーションプログラム１０３２、他のプログラムモジュール１０３４およびプログラムデータ１０３６は、例えば、選択的ゼロレーティングシステム１００の様々なアプリケーションおよび／またはコンポーネントを含むことができる。
【０１４５】
ユーザは、１つまたは複数の有線／無線入力デバイス、例えば、キーボード１０３８、およびマウス１０４０等のポインティングデバイスを通じてコンピュータ１００２にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線（ＩＲ）リモートコントロール、無線周波数（ＲＦ）リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン（例えば、容量型、抵抗型等）、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらのおよび他の入力デバイスは、多くの場合に、システムバス１００８に結合された入力デバイスインタフェース１０４２を通じて処理ユニット１００４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインタフェース等の他のインタフェースによって接続されてもよい。
【０１４６】
モニタ１０４４または他のタイプの表示デバイスも、ビデオアダプタ１０４６等のインタフェースを介してシステムバス１００８に接続される。モニタ１０４４は、コンピュータ１００２に対し内部または外部にあり得る。モニタ１０４４に加えて、コンピュータは通常、スピーカ、プリンタ等の他の周辺出力デバイスを備える。
【０１４７】
コンピュータ１００２は、リモートコンピュータ１０４８等の１つまたは複数のリモートコンピュータへの有線および／または無線通信を介して論理接続を用いてネットワーク化された環境において動作することができる。リモートコンピュータ１０４８は、ワークステーション、サーバーコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサに基づく娯楽機器、ピアデバイス、または他の共通ネットワークノードであり得、通常、コンピュータ１００２について記載した要素のうちの多くまたは全てを備えるが、簡潔にするために、メモリ／記録デバイス１０５０のみが示されている。描かれる論理接続は、ローカルエリアネットワーク（ＬＡＮ）１０５２および／またはより大きなネットワーク、例えば広域ネットワーク（ＷＡＮ）１０５４への有線／無線接続を含む。そのようなＬＡＮおよびＷＡＮネットワーキング環境は、事務所および会社において一般的であり、イントラネット等の、企業規模のコンピュータネットワークを容易にする。これらは全て、グローバル通信ネットワーク、例えばインターネットに接続することができる。
【０１４８】
ＬＡＮネットワーキング環境において用いられるとき、コンピュータ１００２は、有線および／または無線通信ネットワークインタフェースまたはアダプタ１０５６を通じてＬＡＮ１０５２に接続される。アダプタ１０５６は、ＬＡＮ１０５２への有線および／または無線通信を容易にすることができる。ＬＡＮ１０５２も、アダプタ１０５６の無線機能と通信するために配置された無線アクセスポイントを含むことができる。
【０１４９】
ＷＡＮネットワーキング環境において用いられるとき、コンピュータ１００２は、モデム１０５８を含むことができるか、またはＷＡＮ１０５４の通信サーバーに接続されるか、またはインターネット等によってＷＡＮ１０５４を介して、通信を確立する他の手段を有する。内部または外部の、有線および／または無線デバイスであり得るモデム１０５８は、入力デバイスインタフェース１０４２を介してシステムバス１００８に接続する。ネットワーク化された環境では、コンピュータ１００２について述べられたプログラムモジュールまたはその一部分をリモートメモリ／記録デバイス１０５０に記憶することができる。示されるネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段が用いられてもよいことが理解されよう。
【０１５０】
コンピュータ１００２は、ＩＥＥＥ８０２系規格を用いて、無線通信（例えば、ＩＥＥＥ８０２．９オーバーザエアー変調技法）において動作可能に配置される無線デバイス等の、有線および無線デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、中でも、Ｗｉ−Ｆｉ（または無線フィデリティ）、ＷｉＭａｘおよびＢｌｕｅｔｏｏｔｈ（商標）の無線通信技術を含む。このため、この通信は従来のネットワークと同じように予め定義された通信構造であり得るか、または、単に少なくとも２つの装置の間におけるアドホック通信であり得る。Ｗｉ−Ｆｉネットワークは、安全で信頼性が高く高速なワイヤレス接続を提供するＩＥＥＥ８０２．９ｘ（ａ、ｂ、ｇ、ｎ等）と称される無線技術を用いる。Ｗｉ−Ｆｉネットワークはコンピュータを互いに、インターネットに、および有線ネットワーク（ＩＥＥＥ８０２．３関連の媒体および機能を用いる）に接続するのに用いられ得る。
【０１５１】
図１１は上記の様々な実施形態を実施するのに適した例示的な通信アーキテクチャ１１００のブロック図を示す。この通信アーキテクチャ１１００は、トランスミッタ、レシーバ、トランシーバ、無線通信装置、ネットワークインタフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源等の様々な一般的な通信要素を含む。しかしながら、本発明の実施形態は通信アーキテクチャ１１００による実施に限定されない。
【０１５２】
図１１に示されるように、通信アーキテクチャ１１００は１つまたは複数のクライアント１１０２およびサーバー１１０４を含む。クライアント１１０２は、クライアントデバイス１２０、第２のクライアントデバイス１９０、デバイス８１０，８５０等の複数のクライアントデバイスを実装することができる。サーバー１１０４はサーバーデバイス９１０およびメディアサーバー装置９５０を実装することができる。クライアント１１０２およびサーバー１１０４は、１つまたは複数のそれぞれのクライアントデータストア１１０８およびサーバーデータストア１１１０に動作可能に接続されている。これらは、クッキーおよび／または関連付けられたコンテキスト情報等のそれぞれのクライアント１１０２およびサーバー１１０４にローカルな情報を記憶するために利用されることが可能である。
【０１５３】
クライアント１１０２およびサーバー１１０４は通信フレームワーク１１０６を用いて互いの間で情報を通信することができる。通信フレームワーク１１０６は任意の既知の通信技法およびプロトコルを実装することができる。通信フレームワーク１１０６は、パケット交換網（例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベートネットワーク等）、回線交換網（例えば、公衆交換電話網）、またはパケット交換網と回線交換網との組合せ（適切なゲートウェイおよびトランスレータを備える）として実装されることが可能である。
【０１５４】
通信フレームワーク１１０６は、通信ネットワークを受け入れ、通信ネットワークと通信し、通信ネットワークに接続するように構成される様々なネットワークインタフェースを実施することができる。ネットワークインタフェースは、特殊な形態の入出力インタフェースと見なされ得る。ネットワークインタフェースは、限定ではないが、直接接続、イーサネット（例えば、シック、シン、ツイストペア１０／１００／１０００ＢａｓｅＴ等）、トークンリング、無線ネットワークインタフェース、セルラーネットワークインタフェース、ＩＥＥＥ８０２．１１ａ−ｘネットワークインタフェース、ＩＥＥＥ８０２．１６ネットワークインタフェース、ＩＥＥＥ８０２．２０ネットワークインタフェース等を含む接続プロトコルを用いることができる。更に、様々な通信ネットワークタイプと関わるために複数のネットワークインタフェースが用いられ得る。例えば、ブロードキャスト、マルチキャストおよびユニキャストネットワークによる通信を可能にするために、複数のネットワークインタフェースが用いられることが可能である。処理要件がより高い速度およびより多くの容量を指示する場合、クライアント１１０２およびサーバー１１０４によって必要とされる通信帯域幅をプールし、負荷分散し、他の形で増大させるために、分散ネットワークコントローラアーキテクチャが同様に利用されることが可能である。通信ネットワークは、限定ではないが、直接相互接続、セキュア化されたカスタム接続、プライベートネットワーク（例えば、社内イントラネット）、公衆ネットワーク（例えば、インターネット）、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット上のノードとして動作しているミッション（ＯＭＮＩ：Ｏｐｅｒａｔｉｎｇ  Ｍｉｓｓｉｏｎｓ  ａｓ  Ｎｏｄｅｓ  ｏｎ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ）、広域ネットワーク（ＷＡＮ）、無線ネットワーク、セルラーネットワークおよび他の通信ネットワークを含む有線および／または無線ネットワークのうちの任意の１つまたはそれらの組合せであり得る。
【０１５５】
図１２は、選択的ゼロレーティングシステム１１０のようなマルチキャリアＯＦＤＭシステムで使用するためのデバイス１２００の実施形態を示している。デバイス１２００は、例えば、メディアメッセージングシステム１００を参照して説明したようなソフトウェアコンポーネント１２６０、および／または論理回路１２３０を実装することができる。論理回路１２３０は、メディアメッセージングシステム１００について説明したオペレーションを実行するための物理回路を含み得る。図１２に示すように、デバイス１２００は、無線インタフェース１２１０と、ベースバンド回路１２２０と、コンピューティングプラットフォーム１２３０とを備え得るが、ただし実施形態は、この構成に限定されない。
【０１５６】
デバイス１２００は、完全に単一のデバイス内にあるなどの単一のコンピューティングエンティティにおいて、メディアメッセージングシステム１００および／または論理回路１２３０について、その構造および／またはオペレーションの一部またはすべてを具体化することができる。あるいは、デバイス１２００は、クライアントサーバーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタースレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散型システムのような分散システムアーキテクチャを用いて、メディアメッセージングシステム１００および／または論理回路１２３０について、その構造および／またはオペレーションのいくつかの部分を複数のコンピューティングエンティティに分散させることができる。実施形態は、これに限定されない。
【０１５７】
一実施形態では、無線インタフェース１２１０は、（例えば、相補型符号変調（ＣＣＫ）および／または直交周波数分割多重（ＯＦＤＭ）シンボルを含む）シングルキャリアまたはマルチキャリア変調信号を送信および／または受信するように構成されたコンポーネントもしくはコンポーネントの組み合わせを有し得るが、ただし実施形態は、いずれかの特定の空中（ｏｖｅｒ−ｔｈｅ−ａｉｒ）インタフェースまたは変調方式に限定されない。無線インタフェース１２１０は、例えば、受信機１２１２、送信機１２１６、および／または周波数シンセサイザ１２１４を有し得る。無線インタフェース１２１０は、バイアスコントロール、水晶発振器、および／または１つ以上のアンテナ１２１８を有し得る。他の実施形態では、無線インタフェース１２１０は、必要に応じて、外部の電圧制御発振器（ＶＣＯ）、弾性表面波フィルタ、中間周波数（ＩＦ）フィルタ、および／またはＲＦフィルタを使用することができる。可能なＲＦインタフェース構成は多様であるため、その広範な説明は省略する。
【０１５８】
ベースバンド回路１２２０は、受信信号および／または送信信号を処理するために無線インタフェース１２１０と通信することができ、例えば、受信信号をダウンコンバートするためのアナログデジタル変換器１２２２、信号を送信用にアップコンバートするためのデジタルアナログ変換器１２２４を有し得る。さらに、ベースバンド回路１２２０は、個々の受信／送信信号のＰＨＹリンク層処理のためのベースバンドまたは物理層（ＰＨＹ）処理回路１２２６を有し得る。ベースバンド回路１２２０は、例えば、メディアアクセス制御（ＭＡＣ）／データリンク層処理のための処理回路１２２８を有し得る。ベースバンド回路１２２０は、例えば、１つ以上のインタフェース１２３４を介した処理回路１２２８および／またはコンピューティングプラットフォーム１２３０による通信のためのメモリコントローラ１２３２を有し得る。
【０１５９】
いくつかの実施形態では、ＰＨＹ処理回路１２２６は、無線フレームのような通信フレームを構築および／または分解するために、バッファメモリのような追加回路と組み合わせて、フレーム構築および／または検出モジュールを含み得る。代替的または追加的に、ＭＡＣ処理回路１２２８は、これらの機能のうちのいくつかの処理を共有するか、またはこれらのプロセスをＰＨＹ処理回路１２２６とは独立に実行することができる。
【０１６０】
コンピューティングプラットフォーム１２３０は、デバイス１２００にコンピューティング機能を提供し得る。図示のように、コンピューティングプラットフォーム１２３０は、処理コンポーネント１２４０を有し得る。デバイス１２００は、ベースバンド回路１２２０に対して追加的または代替的に、処理コンポーネント１２４０を用いて、メディアメッセージングシステム１００および／または論理回路１２３０について、その処理オペレーションまたはロジックを実行することができる。処理コンポーネント１２４０（および／またはＰＨＹ  １２２６および／またはＭＡＣ  １２２８）は、各種ハードウェア要素、ソフトウェア要素、またはその両方の組み合わせを含み得る。ハードウェア要素の例として、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子（例えば、トランジスタ、抵抗器、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含むことができる。ソフトウェア要素の例として、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはその任意の組み合わせを含むことができる。ハードウェア要素および／またはソフトウェア要素を用いて実施形態を実現するかどうかの判断は、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリ資源、データバス速度、および他の設計制約または性能制約など、所与のインプリメンテーションで要求される任意の数のファクタに応じて異なる判断となり得る。
【０１６１】
コンピューティングプラットフォーム１２３０は、さらに、他のプラットフォームコンポーネント１２５０を有し得る。他のプラットフォームコンポーネント１２５０は、１つ以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、発振器、タイミング装置、ビデオカード、オーディオカード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント（例えば、デジタルディスプレイ）、パワーサプライなどのような、一般的な計算要素を含む。メモリユニットの例として、限定するものではないが、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、強誘電性ポリマーメモリのようなポリマーメモリ、オーボニックメモリ、相変化または強誘電体メモリ、シリコン／酸化膜／窒化膜／酸化膜／シリコン（ＳＯＮＯＳ）メモリ、磁気または光カード、独立ディスクの冗長アレイ（ＲＡＩＤ）ドライブのようなデバイスアレイ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ））、および情報を保存するのに適した他の任意のタイプの記憶媒体のような、１つ以上のより高速のメモリユニットの形態の各種タイプのコンピュータ可読およびマシン可読記憶媒体を含むことができる。
【０１６２】
デバイス１２００は、例えば、ウルトラモバイルデバイス、モバイルデバイス、固定デバイス、マシンツーマシン（Ｍ２Ｍ）デバイス、パーソナルデジタルアシスタント（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話機、デジタル電話機、セルラー電話機、ユーザ装置、電子書籍リーダ、ハンドセット、一方向ページャ、双方向ページャ、メッセージング装置、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバー、サーバーレイまたはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワークアプライアンス、ウェブアプライアンス、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家電機器、プログラマブル家電機器、ゲーム機、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、ノードＢ、発展型ノードＢ（ｅＮＢ）、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはその組み合わせであり得る。従って、本明細書に記載のデバイス１２００の機能および／または具体的な構成は、要求に応じて適宜、デバイス１２００の種々の実施形態に含むことも、または省くこともできる。いくつかの実施形態では、デバイス１２００は、３ＧＰＰ  ＬＴＥ仕様および／またはＷＭＡＮ用のＩＥＥＥ１１０２．１６規格および／または本明細書で引用される他の広帯域ワイヤレスネットワークの１つ以上に関連したプロトコルおよび周波数に準拠するように構成することができるが、実施形態は、この点に関して限定されない。
【０１６３】
デバイス１２００の実施形態は、単入力単出力（ＳＩＳＯ）アーキテクチャを用いて実現することができる。一方、いくつかの実現形態では、ビームフォーミングまたは空間分割多重アクセス（ＳＤＭＡ）のための適応アンテナ技術、および／またはＭＩＭＯ通信技術を用いた送信および／または受信用のマルチアンテナ（例えば、アンテナ１２１８）を備えることができる。
【０１６４】
デバイス１２００のコンポーネントおよび機能は、ディスクリート回路、特定用途向け集積回路（ＡＳＩＣ）、論理ゲート、および／またはシングルチップアーキテクチャの任意の組み合わせを用いて実装することができる。さらに、デバイス１２００の機能は、必要に応じて適宜、マイクロコントローラ、プログラマブルロジックアレイ、および／またはマイクロプロセッサ、またはその任意の組み合わせを用いて実装することができる。なお、本明細書において、ハードウェア、ファームウェア、および／またはソフトウェア要素を、「ロジック」または「回路」と総称または個称する場合があるということに留意すべきである。
【０１６５】
図１２のブロック図に示す例示的なデバイス１２００は、多くの可能性のある実現形態の１つの機能的説明例を表し得るということは理解されるべきである。従って、添付の図面に示す機能ブロックの分割、欠落、または組み込みは、必ずしも、実施形態における、それらの機能を実装するためのハードウェアコンポーネント、回路、ソフトウェア、および／または要素の分割、欠落、または組み込みを推測させるものではない。
【０１６６】
コンピュータにより実行される方法は、メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、受信すること、そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【０１６７】
コンピュータにより実行される方法は、メディアアプリケーションに関連付けられたメディア要素を、メッセージングアプリケーションにおいて受信すること、そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、メディアアプリケーションでメディアサーバー上のメディア要素にネットワークアクセスするためのネットワークコンポーネントを構成設定するように機能する、生成すること、そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【０１６８】
コンピュータにより実行される方法は、メディアアプリケーションに関連付けられたメディアパッケージを、メッセージングアプリケーションにおいて受信することであって、メディアパッケージは、メディア要素に関するメディアサービス帰属レコードを含む、受信すること、メディアサービス帰属レコードに基づいて、メッセージングアプリケーションでメディアサーバー上のメディア要素にネットワークアクセスするためのネットワークコンポーネントを構成設定すること、そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関するメディアアプリケーション帰属レコードを含み、メディアアプリケーション帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、生成すること、そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【０１６９】
コンピュータにより実行される方法は、メディアアプリケーションに関連付けられたメディアパッケージを、メッセージングアプリケーションにおいて受信することであって、メディアパッケージは、メディア要素とメディア要素メタデータとを含み、メディア要素メタデータは、参加者情報、話題情報、インタラクション頻度データ、話題頻度データ、話題人気度データ、ユーザプリファレンス、のうちの１つ以上を含む、受信すること、そのメディア要素を含むメッセージパッケージを生成することであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、生成すること、そのメッセージパッケージをメッセージングサーバーに送信すること、を含み得る。
【０１７０】
コンピュータにより実行される方法は、さらに、メッセージングアプリケーションはクライアントデバイス上にインストールされていること、メディアアプリケーションは、メッセージングアプリケーションとは別のアプリケーションとして、クライアントデバイス上にインストールされていること、を伴い得るとともに、コンピュータにより実行される方法は、さらに、クライアントデバイス上で、アプリケーション間通信によって、メディア要素とアプリケーション間リンクとを含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信すること、を含む。
【０１７１】
コンピュータにより実行される方法は、さらに、メディアアプリケーションにおいてメディア要素のユーザメディア選択を受け取ること、メディアアプリケーションにおいてユーザメディア共有コマンドを受け取ること、ユーザメディア選択およびユーザメディア共有コマンドに応じて、そのメディアパッケージをメディアアプリケーションからメッセージングアプリケーションに送信すること、を含み得る。
【０１７２】
コンピュータにより実行される方法は、さらに、受信したメディアパッケージからメディア要素を抽出すること、メッセージングアプリケーションにおいてメディア要素のプレビューを表示すること、メッセージングアプリケーションにおいてメディア要素のユーザメディア選択を受け取ること、メッセージングアプリケーション内で、メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【０１７３】
コンピュータにより実行される方法は、さらに、プロモーションされたメディアリポジトリをメディアサーバーから受信することであって、プロモーションされたメディアリポジトリは、プロモーションされた複数のメディア要素を含み、上記メディア要素は、プロモーションされた複数のメディア要素のうちの１つを含む、受信すること、プロモーションされたメディア要素のうちの１つ以上を表示することであって、プロモーションされたメディア要素のうちの表示される１つ以上は、上記メディア要素を含む、表示すること、メディア要素のユーザメディア選択を受け取ること、メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【０１７４】
コンピュータにより実行される方法は、さらに、メッセージングアプリケーションのメディア要素ディスカバリ・セクションにおいて、上記メディア要素を表示すること、メディア要素ディスカバリ・セクションにおいて、メディア要素のユーザメディア選択を受け取ること、メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【０１７５】
コンピュータにより実行される方法は、さらに、メッセージングアプリケーションの交換済みメディア要素セクションにおいて、上記メディア要素を表示すること、交換済みメディア要素セクションにおいて、メディア要素のユーザメディア選択を受け取ること、メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【０１７６】
コンピュータにより実行される方法は、さらに、メッセージングアプリケーション内の、メディアアプリケーションに関連付けられたアプリケーション固有メディア要素セクションにおいて、上記メディア要素を表示すること、アプリケーション固有メディア要素セクションにおいて、メディア要素のユーザメディア選択を受け取ること、メディア要素のユーザメディア選択に応じて、そのメディア要素を含むメッセージパッケージを生成すること、を含み得る。
【０１７７】
コンピュータにより実行される方法は、さらに、メッセージパッケージはメッセージスレッドに関連付けられていること、を伴い得るとともに、コンピュータにより実行される方法は、さらに、そのメッセージスレッドに関連付けられた前のメッセージパッケージを、メッセージングサーバーから受信することであって、前のメッセージパッケージは、メディアアプリケーションに関連付けられた前のメディア要素を含み、前のメッセージパッケージは、前の帰属レコードを含み、前の帰属レコードは、前のアプリケーション間リンクを含み、前のアプリケーション間リンクは、メディアアプリケーション内で前のメディア要素を識別する、受信すること、そのメッセージスレッドにおいて、メディアアプリケーションに関する帰属表示要素に関連付けて、前のメディア要素を表示すること、帰属表示要素に関連付けて、ユーザアプリケーション起動コマンドを受け取ること、ユーザアプリケーション起動コマンドに応じて、メディアアプリケーションを起動すること、前のアプリケーション間リンクをメディアアプリケーションに送信すること、前のアプリケーション間リンクに関連付けて、メッセージスレッドアプリケーション間リンクをメディアアプリケーションに送信すること、上記メディア要素と、そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクと、を含むメディアパッケージを、メッセージングアプリケーションにおいてメディアアプリケーションから受信すること、そのメッセージスレッドに関連付けられたメッセージスレッドアプリケーション間リンクに基づいて、そのメディア要素をメッセージスレッドに取り込むプロンプトを提示すること、を含む。
【０１７８】
コンピュータにより実行される方法は、さらに、メッセージングアプリケーションはクライアントデバイス上で実行されていること、を伴い得るとともに、コンピュータにより実行される方法は、さらに、クライアントデバイス上にメディアアプリケーションがインストールされていないと判断すること、ユーザアプリケーション起動コマンドに応じて、クライアントデバイス上でメディアアプリケーションのインストールを開始すること、を含む。
【０１７９】
コンピュータにより実行される方法は、さらに、メディアアプリケーションのインストールを開始することが、クライアントデバイス上でアプリケーションリポジトリユーティリティを起動すること、メディアアプリケーションをインストールする権限を与えるアプリケーションインストールインタフェースを表示するようにアプリケーションリポジトリユーティリティに指示すること、を含むことを伴い得る。
【０１８０】
コンピュータにより実行される方法は、さらに、ユーザアプリケーション起動コマンドに応じたメディアアプリケーションのインストールを、メディアアプリケーションインストール帰属レコードに記録すること、を含み得る。
【０１８１】
コンピュータにより実行される方法は、さらに、第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、メッセージングサーバーから受信すること、前のメディア要素を表示すること、表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、ユーザリミックスコマンドに応じて、メディアアプリケーションを起動すること、前のメディア要素をメディアアプリケーションに送信すること、前のメディア要素の変更バージョンを含む上記メディア要素を、メディアアプリケーションから受信すること、を含み得る。
【０１８２】
コンピュータにより実行される方法は、さらに、前のメディア要素の１つ以上の属性に基づいて、複数のリミックスアプリケーションを決定することであって、複数のリミックスアプリケーションは、上記メディアアプリケーションを含む、決定すること、複数のリミックスアプリケーションの間で選択する権限を与えるリミックスアプリケーション選択インタフェースを表示することであって、上記ユーザリミックスコマンドは、これらの複数のリミックスアプリケーションから上記メディアアプリケーションを選択することを含む、表示すること、を含み得る。
【０１８３】
コンピュータにより実行される方法は、さらに、リミックスアプリケーション選択インタフェースは、複数のリミックスアプリケーションを、他に上記メッセージングアプリケーションをインストールしている他のユーザから以前に受け取ったリミックスアプリケーション選択によって決定されたアプリケーション順序で、表示すること、を伴い得る。
【０１８４】
コンピュータにより実行される方法は、さらに、第２のメディアアプリケーションに関連付けられた前のメディア要素を含む前のメッセージパッケージを、メッセージングサーバーから受信すること、前のメディア要素を表示すること、表示された前のメディア要素に関連付けて、ユーザリミックスコマンドを受け取ること、ユーザリミックスコマンドに応じて、複数のリミックスオプションを表示することであって、リミックスオプションの各々は、前のメディア要素に対する異なる加工に対応している、表示すること、複数のリミックスオプションのうちの１つのユーザリミックスオプション選択を受け取ること、上記メディア要素を作成するために、ユーザリミックスオプション選択に従って前のメディア要素を加工すること、を含み得る。
【０１８５】
コンピュータにより実行される方法は、さらに、表示される複数のリミックスオプションのそれぞれが、それらの複数のリミックスオプションに従って前のメディア要素を加工することのプレビューを含むことを伴い得る。
【０１８６】
コンピュータにより実行される方法は、さらに、前のメッセージパッケージが、メッセージスレッドを特定するメッセージスレッド識別子を含むこと、メッセージスレッド識別子が、送信されるときの前のメディア要素に関連付けて、メディアアプリケーションに送信されること、を伴い得るとともに、コンピュータにより実行される方法は、さらに、上記メディア要素に関連付けて、メディアアプリケーションからメッセージスレッド識別子を受信すること、メディアアプリケーションから受信したメッセージスレッド識別子からメッセージスレッドを特定すること、メッセージスレッド識別子からメッセージスレッドを特定したことに基づいて、そのメッセージスレッドにおいて、上記メディア要素を取り込むために表示すること、を含む。
【０１８７】
装置は、デバイスに搭載されたプロセッサ回路と、メディアアプリケーションに関連付けられたメディア要素をメッセージングアプリケーションにおいて受信するように、プロセッサ回路上で動作するメディア管理コンポーネントと、そのメディア要素を含むメッセージパッケージを生成し、そのメッセージパッケージをメッセージングサーバーに送信するように動作するメッセージングコンポーネントであって、メッセージパッケージは、そのメディア要素に関する帰属レコードを含み、帰属レコードは、そのメディア要素のためのメディアアプリケーションとのアプリケーション間リンクを含む、メッセージングコンポーネントと、を備え得る。この装置は、本明細書に記載のコンピュータにより実行される方法のいずれかを実施するように機能し得る。
【０１８８】
少なくとも１つのコンピュータ可読記憶媒体は、命令を含むことができ、それらの命令は、実行されることで、本明細書に記載のコンピュータにより実行される方法のいずれかをシステムに実行させる。
【０１８９】
いくつかの実施形態は、「１つの実施形態」または「実施形態」という表現と、それらの派生語とを用いて説明され得る。これらの用語は、実施形態に関して説明される特定の特徴、構造または特性が少なくとも１つの実施形態に含まれることを意味している。本明細書の様々な箇所に現れる「１つの実施形態において」というフレーズは、必ずしも全てが同じ実施形態を指しているわけではない。更に、いくつかの実施形態は、「結合された」および「接続された」という表現と、それらの派生語とを用いて説明され得る。これらの表現は必ずしも互いの同義語として意図されているわけではない。例えば、いくつかの実施形態は、「接続された」および／または「結合された」という表現を用いることにより、２つ以上の要素が直接物理的にまたは電気的に相互接触していることを示すように説明され得る。一方、「結合された」という用語は、２つ以上の要素が互いに直接接触していないが、それでも互いに協働またはインタラクトしていることを意味する場合もある。
【０１９０】
本明細書において用いられる表記および専門用語を全体的に参照すると、本明細書における詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラムプロシージャの観点で表され得る。これらの手続き的（ｐｒｏｃｅｄｕｒａｌ）記載および表現は、当業者によって、当該技術分野における他の当業者に自身の研究の本質を最も効果的に伝えるために用いられている。
【０１９１】
プロシージャとは、ここでは、また一般的に、所望の結果をもたらすオペレーションの首尾一貫したシーケンスであると考えられる。これらのオペレーションは、物理的量の物理的操作を必要とするものである。必須ではないが通例、これらの量は、記憶、転送、組合せ、比較および他の形で操作されることが可能な電気信号、磁気信号または光信号の形態をとる。場合によっては、主に一般的用法の理由から、これらの信号を、ビット、値、要素、シンボル、文字、語、数等と呼ぶことが好都合であることがわかっている。しかしながら、これらの用語および同様の用語は全て適切な物理的量に関連付けられ、これらの量に適用される好都合なラベルにすぎないことに留意されたい。
【０１９２】
更に、実行される操作は、多くの場合、人間のオペレータによって実行される知的オペレーションに一般的に関連付けられる、追加または比較等の用語で参照される。１つまたは複数の実施形態の一部を形成する、本明細書に説明されるオペレーションのいずれにおいても、人間のオペレータのそのような能力は必要でないか、ほとんどの場合に望ましくない。むしろ、オペレーションは機械オペレーションである。様々な実施形態のオペレーションを実行するための有用な機械は、汎用デジタルコンピュータまたは同様のデバイスを含む。
【０１９３】
様々な実施形態は、これらのオペレーションを実行するための装置またはシステムにも関する。この装置は、必要とされる目的のために特に構築されることが可能であるか、またはコンピュータに記憶されるコンピュータプログラムによって選択的にアクティベートまたは再構成される汎用コンピュータを含むことができる。本明細書において提示されるプロシージャは、特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用機械は、本明細書における教示に関連して書かれたプログラムと共に用いられ得るか、または、必要とされる方法ステップを実行する、より特殊な装置を構築することが好都合であるとわかる場合がある。様々なこれらの機械のために必要とされる構造は、与えられる説明から明らかとなるであろう。
【０１９４】
本開示の要約書は、読み手が技術的開示の本質を迅速に理解できるようにするために提供されていることを強調しておく。要約書は、特許請求の範囲の範囲または意味を解釈または限定することに用いられないという理解のもとに提出されている。更に、上記した「発明を実施するための形態」においては、開示を効率化するために様々な特徴がまとめて単一の実施形態にされていることを見てとることができる。このような開示方法は、特許請求される実施形態が各請求項に明示的に記された特徴以外のものを必要とする意図を表していると解釈されるべきではない。むしろ、以下の特許請求の範囲が表しているように、本発明の主題は、開示されている単一の実施形態の全特徴よりも少ない特徴にある。このため、以下の特許請求の範囲は本明細書において「発明を実施するための形態」に組み込まれ、各請求項は独立した１つの実施形態に基づく。「第１の」、「第２の」、「第３の」等の用語は単にラベルとして用いられており、それらの対象物に数的限定を課すことを意図したものではない。
【０１９５】
上記で説明したものは、開示されているアーキテクチャの例を含む。当然ながら、コンポーネントおよび／または方法の全ての考え得る組合せを記載することは不可能であるが、当業者であれば、多くの更なる組合せおよび置き換えが可能であることを認識することができる。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内にある全ての変化、変更および変形を包含することが意図される。
【図１】
0006677742.tif 000002
【図２Ａ】
0006677742.tif 000003
【図２Ｂ】
0006677742.tif 000004
【図３Ａ】
0006677742.tif 000005
【図３Ｂ】
0006677742.tif 000006
【図３Ｃ】
0006677742.tif 000007
【図３Ｄ】
0006677742.tif 000008
【図４】
0006677742.tif 000009
【図５】
0006677742.tif 000010
【図６】
0006677742.tif 000011
【図７】
0006677742.tif 000012
【図８】
0006677742.tif 000013
【図９】
0006677742.tif 000014
【図１０】
0006677742.tif 000015
【図１１】
0006677742.tif 000016
【図１２】
0006677742.tif 000017