(57)【要約】ソーシャルネットワーキングシステムによって、第１のユーザは、ワイヤレスデータ接続を有するコンピューティングデバイスで、マルチメディアオブジェクトをキャプチャし、検出されたワイヤレス接続タイプに応じて品質の異なるマルチメディアオブジェクに対応するファイルのアップロードのためにマルチメディアオブジェクトをキューに自動的に追加できるようになる。キュー管理は、高品質のマルチメディアファイルの最終的なアップロードの保証を試行し、冗長なデータアップロードを低減する。【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングシステムによって、
アップロードされる予定のマルチメディアオブジェクトのキューにワイヤレス接続を通じてアクセスする工程であって、各マルチメディアオブジェクトは、少なくともアップロード進行値およびアップロード品質値を含むデータ構造エントリを有する、工程と、
前記キューの各マルチメディアオブジェクトであって、エントリが完全なアップロードを示さないマルチメディアオブジェクトに対して、
前記ワイヤレス接続のタイプを決定する工程と、
該オブジェクトに対応するマルチメディアファイルを自動的にアップロードする工程であって、該マルチメディアファイルの品質は、検出されたワイヤレス接続タイプの帯域幅に基づく、アップロードする工程と、
前記オブジェクトと関連付けられた前記エントリを更新する工程と、を含む、方法。
【請求項２】
マルチメディアオブジェクトのキャプチャに際し、アップロードのために該オブジェクトを前記キューに挿入する工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記データ構造エントリはプライバシー値を含む、請求項１に記載の方法。
【請求項４】
キャプチャに際する複数のプライバシー設定に応じて、キャプチャされたマルチメディアオブジェクトが共有されることを示す複数のプライバシーモードのうちの１つを示すために、カメラのグラフィカルユーザインタフェースの１つまたは複数の属性を調節する工程と、
マルチメディアオブジェクトのキャプチャに際し、キャプチャに際して示される前記プライバシーモードによるプライバシー値を用いて、前記オブジェクトを前記キューに挿入する工程と、をさらに含む、請求項３に記載の方法。
【請求項５】
前記アップロードする工程の前に前記マルチメディアファイルに前記プライバシーモードによってタグ付けを行うことをさらに含む、請求項４に記載の方法。
【請求項６】
前記マルチメディアファイルの品質は、低帯域幅タイプの接続に対して低解像度である、請求項１に記載の方法。
【請求項７】
前記マルチメディアファイルの品質は、高帯域幅タイプの接続に対して高解像度である、請求項１に記載の方法。
【請求項８】
高帯域幅ワイヤレス接続の利用可能性の検出に際し、前記キューの各マルチメディアオブジェクトと関連付けられた前記データ構造エントリを読み取る工程と、
前記キューの各マルチメディアオブジェクトについて、そのデータ構造エントリが完全にアップロードされた高品質のマルチメディアファイルを示さないマルチメディアオブジェクトに対しては、高品質のマルチメディアファイルをアップロードする工程と、をさらに含む、請求項１に記載の方法。
【請求項９】
高品質のマルチメディアファイルをアップロードする工程は、前記高品質のマルチメディアファイルが前記アップロード進行値と関連付けられた点において前記アップロードを開始する工程を含む、請求項８に記載の方法。
【請求項１０】
前記マルチメディアファイルは、プライバシー値に基づいて異なる場所にアップロードされる、請求項２に記載の方法。
【請求項１１】
非一時的なコンピュータ可読媒体であって、命令が実行されるとき、
アップロードされる予定のマルチメディアオブジェクトのキューにワイヤレス接続を通じてアクセスする工程であって、各マルチメディアオブジェクトは、少なくともアップロード進行値およびアップロード品質値を含むデータ構造エントリを有する、工程と、
前記キューの各マルチメディアオブジェクトのエントリが完全なアップロードを示さない該マルチメディアオブジェクトに対して、
前記ワイヤレス接続のタイプを決定する工程と、
前記オブジェクトに対応するマルチメディアファイルを自動的にアップロードする工程であって、前記マルチメディアファイルの品質は、前記検出されたワイヤレス接続タイプの帯域幅に基づく、工程と、
前記オブジェクトと関連付けられた前記エントリを更新する工程と、が実行されるよう動作可能な命令を含む、媒体。
【請求項１２】
実行されるとき、
マルチメディアオブジェクトのキャプチャに際し、アップロードのために前記オブジェクトを前記キューに挿入する工程が実行されるよう動作可能な命令をさらに含む、請求項１１に記載の媒体。
【請求項１３】
前記データ構造エントリはプライバシー値を含む、請求項１１に記載の媒体。
【請求項１４】
前記命令が実行されるとき、
キャプチャに際する複数のプライバシー設定に応じて、キャプチャされたマルチメディアオブジェクトが共有されることを示す複数のプライバシーモードのうちの１つを示すために、カメラのグラフィカルユーザインタフェースの１つまたは複数の属性を調節する工程と、
マルチメディアオブジェクトのキャプチャに際し、キャプチャに際して示される前記プライバシーモードによるプライバシー値を用いて、前記オブジェクトを前記キューに挿入する工程と、がさらに実行されるよう動作可能である、請求項１３に記載の媒体。
【請求項１５】
前記命令が実行されるとき、アップロードする前に前記マルチメディアファイルに前記プライバシーモードによってタグ付けを行う工程がさらに実行されるよう動作可能である、請求項１４に記載の媒体。
【請求項１６】
前記マルチメディアファイルの前記品質は、低帯域幅タイプの接続に対して低解像度である、請求項１１に記載の媒体。
【請求項１７】
前記マルチメディアファイルの前記品質は、高帯域幅タイプの接続に対して高解像度である、請求項１１に記載の媒体。
【請求項１８】
前記命令が実行されるとき、
高帯域幅ワイヤレス接続の利用可能性の検出に、前記キューの各マルチメディアオブジェクトと関連付けられた前記データ構造エントリを読み取る工程と、
前記キューの各マルチメディアオブジェクトについて、そのデータ構造エントリが完全にアップロードされた高品質のマルチメディアファイルを示さないマルチメディアオブジェクトに対しては、高品質のマルチメディアファイルをアップロードする工程と、がさらに実行されるよう動作可能である、請求項１１に記載の媒体。
【請求項１９】
高品質のマルチメディアファイルをアップロードする工程は、前記高品質のマルチメディアファイルが前記アップロード進行値と関連付けられた点において前記アップロードを開始することを含む、請求項１８に記載の媒体。
【請求項２０】
前記マルチメディアファイルは、プライバシー値に基づいて異なる場所にアップロードされる、請求項１２に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ソーシャルネットワーキングサービスに関し、より具体的には、ソーシャルネットワーキングサービスのメンバからマルチメディアオブジェクトを自動的にアップロードするためのシステムに関する。
【背景技術】
【０００２】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムにより、そのユーザがシステムと相互作用（対話）することや、システムを通じてユーザ同士が互いに相互作用することが可能になる。ユーザプロファイルは、ユーザの人口学的情報、連絡先および個人的な興味を含み得る。ユーザは、モバイルデータ接続を通じてユーザがソーシャルネットワークと遠隔に相互作用できるようにするソフトウェアアプリケーションまたはクライアントを携帯電話上にインストールすることができる。
【図面の簡単な説明】
【０００３】
【図１】ソーシャルネットワーキングシステムの一例を示す図。
【図２】クライアントデバイスインタフェースの一例を示す図。
【図３】マルチメディアオブジェクトをアップロードする方法の一例を示す図。
【図４】マルチメディアオブジェクトのキューを表すデータ構造の一例を示す図。
【図５】マルチメディアオブジェクトのキューを表すデータ構造の別の例を示す図。
【図６】本開示の実施形態によるマルチメディアオブジェクトの詳細なキューを示す図。
【図７】コンピュータシステムの一例を示す図。
【図８】モバイルデバイスプラットフォームの一例を示す図。
【発明を実施するための形態】
【０００４】
特定の実施形態は、ネットワークアプリケーションサービス（ソーシャルネットワーキングシステムなどの）のメンバのクライアントデバイスからネットワークアプリケーションサービスにマルチメディアオブジェクトを自動的にアップロードすることに関する。特定の実施形態は、検出されたワイヤレス接続性に基づいてアップロード品質を調整すること、および、マルチメディアオブジェクトの自動アップロードのためにクライアントデバイスにキューを維持することに関する。本開示のこれらの特徴および他の特徴、態様および利点については、以下で、詳細な説明において、以下の図面と併せて、より詳細に説明される。
【０００５】
ここで、本発明は、添付の図面に示されるように、そのいくつかの実施形態を参照して、詳細に説明される。以下の説明では、多数の具体的な詳細は、本開示を完全に理解するために記載される。しかし、当業者であれば、これらの具体的な詳細のいくつかまたはすべてがなくとも、本開示を実践できることは明らかである。他の例では、本開示を不要に不明瞭にしないために、周知の処理工程および／または構造については詳細には説明されていない。それに加えて、本開示は特定の実施形態と併せて説明されているが、本説明が説明されている実施形態に本開示を限定することを意図しないことを理解されたい。それとは反対に、説明は、添付の請求項によって定義されるように、本開示の精神および範囲内に含まれ得る代替形態、変更形態および均等物を包含することを意図する。
【０００６】
ソーシャルネットワーキングウェブサイトなどのソーシャルネットワーキングシステムにより、そのユーザがシステムと相互作用することや、システムを通じてユーザ同士が互いに相互作用することが可能になる。通常、ソーシャルネットワーキングシステムの登録
ユーザになるため、エンティティ（人間または人間以外のいずれか）は、ソーシャルネットワーキングシステムのアカウントに登録する。その後、登録ユーザは、例えば、正しいログインＩＤまたはユーザ名と、パスワードとを提供することによって、アカウントを通じてソーシャルネットワーキングシステムにログインすることができる。本明細書で使用される場合、「ユーザ」とは、個人（人間のユーザ）、エンティティ（例えば、企業、ビジネスもしくは第三者アプリケーション）またはグループ（例えば、個人もしくはエンティティの）であり、該ユーザはそのようなソーシャルネットワーク環境と相互作用もしくは通信するか、または、そのようなソーシャルネットワーク環境上で相互作用もしくは通信し得る。
【０００７】
ユーザがソーシャルネットワーキングシステムのアカウントに登録する際、ソーシャルネットワーキングシステムは、「ユーザプロファイル」と呼ばれる場合が多い、ユーザに関連する記録を、作成して記憶することができる。ユーザプロファイルは、ユーザによって提供される情報、および、ユーザの活動または動作に関連する情報であって、ソーシャルネットワーキングシステムを含む様々なシステムによって収集される情報を含み得る。例えば、ユーザは、ユーザ名、プロファイル画像、連絡先、生年月日、性別、婚姻歴、家族構成、職業、学歴、好み、関心、およびユーザプロファイルに含めるべき他の人口学的情報を提供することができる。ユーザは、ユーザが友達とみなす、ソーシャルネットワーキングシステムの他のユーザを特定することができる。ユーザの友達または最も重要な連絡先のリストは、ユーザのプロファイルに含められ得る。ソーシャルネットワーキングシステムにおける接続は、双方向でも単に一方向でもよい。例えば、ボブ（Ｂｏｂ）とジョー（Ｊｏｅ）は両者ともユーザであり、互いに接続された状態であれば、ボブとジョーは互いの接続先である。他方、ボブはサム（Ｓａｍ）に接続してサムにより投稿されているコンテンツアイテムを閲覧することを希望するが、サムがボブとの接続を選択しなければ、サムはボブの接続先であるがボブはサムの接続先ではないという一方向接続が形成され得る。ソーシャルネットワーキングシステムのいくつかの実施形態により、接続先の１つまたは複数のレベル（例えば、友達の友達）を通じて間接的に接続できるようになる。接続先は、ユーザ（例えば、友達とする他の特定のユーザを選択するユーザ）が明示的に追加することも、ユーザの共通の特性（例えば、同じ教育機関の卒業生であるユーザ）に基づいて、ソーシャルネットワーキングシステムが自動的に作成することもできる。ユーザは、自身が頻繁に訪れるウェブサイトまたはウェブページを特定することも、ブックマークすることもでき、これらのウェブサイトまたはウェブページは、ユーザのプロファイルに含められ得る。
【０００８】
ソーシャルネットワークシステムはソーシャルグラフ情報を維持することができ、ソーシャルグラフ情報は、一般に、個人のグループ間の関係をモデル化することができ、単なる知り合いから家族のような緊密な絆までの範囲の関係を含み得る。ソーシャルネットワークはグラフ構造を使用して表されることができる。グラフの各ノードは、ソーシャルネットワークのメンバに相当する。２つのノードを接続するエッジは、２人のユーザ間の関係を表す。それに加えて、任意の２つのノード間の分離度は、１つのノードから他のノードへのグラフの横断に必要な最小ホップ数として定義される。２人のユーザ間の分離度は、グラフ中のノードで表される２人のユーザ間の関連性の指標とみなされ得る。
【０００９】
また、ソーシャルネットワーキングシステムは、プライバシーモデルをサポートすることもできる。ユーザは、他のユーザもしくは第三者アプリケーションとユーザの情報を共有することを希望することも、希望しないことも可能であり、または、ユーザは、特定のユーザもしくは第三者アプリケーションとのみユーザの情報を共有することを希望することが可能である。ユーザは、自身のユーザプロファイルと関連付けられたプライバシー設定を通じて、他のユーザまたは第三者アプリケーションとユーザの情報を共有するか否かを制御することができる。例えば、ユーザは、自身に関連付けられた各ユーザデータに対
してプライバシー設定を選択すること、および／または、ユーザプロファイル情報のカテゴリもしくはタイプにグローバルに該当する設定を選択することができる。プライバシー設定は、ユーザデータにアクセスすることができるエンティティ（例えば、他のユーザ、ユーザの接続先、友達の友達または第三者アプリケーション）のセットを定義または特定する。プライバシー設定は、ソーシャルネットワークの特定のエンティティ（例えば、他のユーザ）、事前に定義されたユーザの接続先グループ、特定のタイプの接続先、ユーザの接続先のすべて、ユーザの接続先のうちのすべての最も重要な接続先、全ソーシャルネットワークまたは全インターネットでさえも（例えば、インターネット上で、投稿されているコンテンツアイテムをインデックス可能および検索可能にするため）指定することによって、様々な粒度レベルで指定することができる。ユーザは、投稿されるすべてのユーザデータに対してデフォルトのプライバシー設定を選択することができる。それに加えて、ユーザは、ユーザデータまたは特定のタイプのユーザデータの閲覧から、特定のエンティティを具体的に除外することができる。
【００１０】
ソーシャルネットワーキングシステムは、写真共有、オンラインカレンダおよびイベントなどの様々なアプリケーションをサポートすることができる。例えば、ソーシャルネットワーキングシステムは、メディア共有能力も含み得る。例えば、ソーシャルネットワーキングシステムは、ユーザが、ウォールポストまたはフォトアルバムにおいて、ユーザのプロファイルに写真および他のマルチメディアファイルを投稿できるようにすることができ、写真および他のマルチメディアファイルは両方とも、ソーシャルネットワーキングシステムの他のユーザによるアクセスが可能である。ソーシャルネットワークのメンバは、カメラまたは録音機が搭載された自身の携帯電話上にマルチメディア共有アプリケーションをインストールすることができ、携帯電話のカメラで取得してカメラ上にローカルに保存された写真、音声および映像を、ワイヤレスデータ接続を通じてソーシャルネットワーキングサイトに手動でアップロードすることができる。
【００１１】
図１は、ソーシャルネットワーキングシステムの一例を示す。特定の実施形態では、ソーシャルネットワーキングシステムは、ユーザプロファイルデータおよびソーシャルグラフ情報をユーザプロファイルデータベース１０１に記憶することができる。特定の実施形態では、ユーザによってアップロードされた写真は、写真／メディアデータベース１０５に記憶される。特定の実施形態では、ソーシャルネットワーキングシステムは、ユーザイベントデータをイベントデータベース１０２に記憶することができる。例えば、ユーザは、イベント名、時間および場所を定義するためにクライアントアプリケーションにアクセスすることによって新しいイベントを登録し、新たに作成されたイベントをイベントデータベース１０２に記憶させることができる。特定の実施形態では、ソーシャルネットワーキングシステムは、ユーザのプライバシーポリシーデータをプライバシーポリシーデータベース１０３に記憶することができる。特定の実施形態では、ソーシャルネットワーキングシステムは、地理的データおよび場所データを場所データベース１０４に記憶することができる。特定の実施形態では、ソーシャルネットワーキングシステムは、広告データを広告データベース１０５に記憶することができる。例えば、広告主は、広告コンテンツ（例えば、メッセージ、グラフィックアート、ビデオクリップ）および関連情報（例えば、場所、対象基準）を広告データベース１０５に記憶することができる。特定の実施形態では、データベース１０１、１０２、１０３、１０４および１０５は、ソーシャルネットワーキングシステムのフロントエンドに動作可能に接続することができる。特定の実施形態では、フロントエンド１２０は、ネットワーククラウド１２１を通じてクライアントデバイス１２２と相互作用することができる。クライアントデバイス１２２は、一般に、コンピュータネットワークを通じて通信するための（例えば、遠隔で）機能を含むコンピュータまたはコンピューティングデバイスである。クライアントデバイス１２２は、他の適切なコンピューティングデバイスの中でも、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、車内もしくは車外のナビゲーションシステム、スマ
ートフォンもしくは他のセルラフォンまたは携帯電話であってよい。クライアントデバイス１２２は、コンピュータネットワークを通じてアクセスしてコンテンツを閲覧するため、ウェブブラウザ（例えば、マイクロソフトウィンドウズ（登録商標）インターネットエクスプローラ（Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）、モジラファイアフォックス（Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ）、アップルサファリ（Ａｐｐｌｅ  Ｓａｆａｒｉ）、グーグルクローム（Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ）およびオペラ（Ｏｐｅｒａ）など）または特殊用途のクライアントアプリケーション（例えば、アイフォン（ｉＰｈｏｎｅ）用のフェイスブック（Ｆａｃｅｂｏｏｋ）など）などの１つまたは複数のクライアントアプリケーションを実行することができる。フロントエンド１２０は、ユーザによるソーシャルネットワーキングシステムへのアクセスを可能にするため、ウェブまたはＨＴＴＰサーバの機能や、他の機能を含み得る。ネットワーククラウド１２１は、一般に、ネットワークまたはネットワークの集合体（インターネット、企業イントラネットまたは両方の組合せなど）を表し、ネットワーククラウド１２１を通じて、クライアントデバイス１２２は、ソーシャルネットワークシステムにアクセスすることができる。
【００１２】
図２は、複数のワイヤレスデータ接続モードおよびオンボードカメラを含むクライアントデバイス１２２の一例を示す。教示を目的として、図２では、クライアントデバイス１２２は、カメラ撮影モードの携帯電話として描写される。クライアントデバイス１２２は、様々な電話機能およびアプリケーションにアクセスするための一連の制御２０１を含む。ディスプレイ２０６は、カメラ撮影モードにおいて、フラッシュ制御２０２、ズーム制御２０３、シャッタボタン２０４および共有アイコン２０５を含む一連のアイコンを含み得る。特定の実施形態では、これらの制御は、物理的なハードウェアボタン２０１にマッピングされることができる。特定の実施形態では、図示されるように、制御２０２〜２０５は、タッチスクリーンディスプレイ２０６の一部として表示される。共有アイコン２０５について、以下で、さらに詳細に論じる。特定の実施形態では、ディスプレイ２０６は、レンダーリングされたステータスバー２０７を含み得る。特定の実施形態では、ステータスバー２０７は、信号強度インジケータ２０７、接続タイプ２０８、バッテリの寿命２１０、呼び出し音モード２１１、現在時刻２１２などの重要な電話状態をユーザに示すアイコンを含み得る。接続タイプ２０８は、携帯電話で利用可能なまたは利用されるワイヤレス接続のタイプを示し得る。例えば、データネットワークが利用可能でない場合、接続タイプ２０８は、「音声のみ」モードを示し得る。制限ではなく、例示として、接続タイプ２０８は、ＥＤＧＥまたはＧＰＲＳなどの第二世代（２Ｇ）データネットワーク、ＣＤＭＡ２０００、ＥＶ−ＤＯ、ＨＳＰＡ、ＥＧＲＰＳおよびＧＳＭ（登録商標）ＵＭＴＳなどの第三世代（３Ｇ）データネットワーク、ＣＤＭＡ  ＬＴＥおよびＵＭＢなどの第四世代（４Ｇ）データネットワーク、ならびに、ＷｉＦｉ（ＩＥＥＥ７０２．１１）およびＷｉＭＡＸ（ＩＥＥＥ７０２．１６）などの他の高速ネットワークを示し得る。本開示は、任意のデータレートにおいて動作する適切な任意のワイヤレスデータ接続を企図する。
【００１３】
クライアントデバイス１２２は、図２では携帯電話として描写されているが、ワイヤレスデータ接続性とマルチメディアファイルへのアクセスの両方を有する任意のデバイスであり得る。例えば、クライアントデバイスは、ハードディスク、ＳＤ／ＭＭＣ／ＣＦ／ＸＤリムーバブルソリッドステートストレージまたは同様のものなどのローカルストレージからマルチメディアファイルの集合体にアクセスするワイヤレスデータモデムを備えたラップトップコンピュータまたはタブレットＰＣであり得る。ストレージは、クライアントデバイス１２２にローカルに存在する必要はない。特定の実施形態では、クライアントデバイス１２２は、ネットワーク接続されたストレージデバイスなどのリモートストレージ、または、（ヤフー（Ｙａｈｏｏ！）、フリッカ（Ｆｌｉｃｋｒ）またはグーグルピカサ（Ｇｏｏｇｌｅ  Ｐｉｃａｓａ））などのオンラインマルチメディアストレージウェブサイトからマルチメディアファイルにアクセスすることができる。特定の実施形態では、ク
ライアントデバイス１２２は、ワイヤレスデータネットワークとの直接接続を有する必要はない。例えば、クライアントデバイス１２２は、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））テザリングを通じてワイヤレスデータネットワークに接続することができる。本開示は、クライアントデバイス１２２によってアクセス可能な任意のタイプのワイヤレスデータ接続も企図する。本開示の目的のため、「マルチメディア」は、これらに限定されないが、デジタルスチル写真、デジタル映像ファイル、デジタルオーディオファイル、動画写真ファイル、フラッシュアニメーションおよび同様のものを含む広範囲にわたるファイルタイプを包含する。前述の例示的な方法は写真共有について開示するが、本開示は、任意の様式のマルチメディアを企図し、「写真」という用語は、任意のタイプのマルチメディアオブジェクトと置き換えることもできる。
【００１４】
図３は、ソーシャルネットワーキングサイトなどのネットワークアプリケーションサービスにマルチメディアファイルを自動的にアップロードすることを対象とする方法の一例のフローチャートを示す。図３は、ユーザがオプションとして連続動作を選択する際、または、１つもしくは複数のアプリケーション（カメラアプリケーションなど）が開始される際に、一般に、バックグラウンド処理としてクライアントデバイス１２２上で絶えず実行されているソフトウェア処理について詳述する。特定の実施形態では、ソフトウェア処理は、バッテリや無線リソースを節約するため、定期的に実行されるのみである。特定の実施形態では、ソフトウェア処理は、クライアントデバイス１２２のリソースを節約するため、ユーザが終了させることができる。図３のソフトウェア処理によってアクセス可能な写真は、図４および図５で開示されるように、キューデータ構造に記憶される。一実施形態では、クライアントデバイス１２２は、オンボードカメラデバイスを有し、オンボードカメラで撮影された写真は、速やかにクライアントデバイス１２２のローカルストレージに記憶される一方で、写真へのポインタは、クライアントデバイス１２２のメモリ（ダイナミックまたは固定のいずれか）で維持されるキューに押し込まれる。特定の実施形態では、写真は外部のデバイスで撮影されて、リムーバブルまたはリモート媒体に記憶される。そのような実施形態では、キューは、リムーバブルもしくはリモート媒体に、または、クライアントデバイス１２２にローカルに記憶されることができる。キューまたは写真ストレージの場所に関わらず、図３のソフトウェア処理は、処理が実行中の場合は常に、キューからの読取りおよびキューへの書込みを行うことができる。制限ではなく、教示を目的として、本開示は、クライアントデバイス１２２はオンボードカメラを含む携帯電話であり、保存された写真をローカルストレージに記憶して、写真へのポインタを携帯電話メモリのローカルなキュー上に記憶する実施形態について説明する。
【００１５】
工程３０１では、ソフトウェア処理は、写真のキューが空であるか否かを決定する。キューが空であり、キューに写真が記憶されていなければ、処理は、工程３０２において写真を待つ。工程３０２は、図３のソフトウェア処理の「アイドル」段階とみなされることができる。この処理は、ＣＰＵ、メモリ、バッテリの寿命または無線リンク使用状況の観点から非常に少ないリソースしか必要としない。処理は、工程３０３において写真を受信するまでこの状態を維持する。上記で説明される例では、写真は、クライアントデバイス１２２上に存在するカメラアプリケーションから受信される。しかし、本開示は、写真を受信する任意の手段を企図する。工程３０４では、ソフトウェア処理は、受信した写真へのポインタをキューに追加し、工程３０１に戻る。本開示は、任意のタイプのキュー構造を企図する。特定の実施形態では、キューは先入れ先出し（ＦＩＦＯ）キューである。特定の実施形態では、キューは先入れ後出し（ＦＩＬＯ）キューである。特定の実施形態では、アプリケーションは、サイズ、撮影時間、対象、コンテンツ、形式、撮影場所、特別なユーザタグおよび同様のものなどの写真の特性に基づいて、キューにおいて特定されたアップロード用の写真を選択する。特定の実施形態では、ソフトウェア処理は２つの別個のキュー、すなわち優先度の高いキューおよび優先度の低いキューを維持する。優先度の高いキューの写真は常に、優先度の低いキューの写真より先にアップロード用に選択され
、両方のキューはＦＩＦＯ様式で動作することができる。本開示は、任意のタイプのキュー構造および任意のタイプのアップロード用の写真の順番付けを企図する。
【００１６】
工程３０１において、ソフトウェア処理がキューが空でないことを決定する場合、ソフトウェア処理は工程３０５において、ワイヤレスデータ接続の検出を試行する。接続が利用可能でなければ、処理は工程３０５のまま、任意の適切なデータ接続の確立を試行する。特定の実施形態では、様々なタイプのデータ接続は、「低」と「高」の２つのカテゴリに大きくグループ化することができる。特定の実施形態では、３Ｇ以下のデータ接続など、データレートが既定の閾値未満のデータ接続は、低帯域幅カテゴリにグループ化される。特定の実施形態では、ワイファイ（ＷｉＦｉ）、４Ｇおよびワイマックス（ＷｉＭａｘ）など、データレートが既定の閾値を超えるデータ接続は、高帯域幅カテゴリにグループ化される。教示を目的として、本開示は、「低」（３Ｇ以下」と「高」（ワイファイ（ＷｉＦｉ）、４Ｇ、ワイマックス（ＷｉＭａｘ）およびそれ以上）の２つの接続性カテゴリを有するものとして説明される。しかし、本開示は、２つのカテゴリに限定されず、帯域幅、コストおよび他の要素に基づいて、任意の数のデータ接続カテゴリを企図する。
【００１７】
決定された接続タイプに基づいて、ソフトウェアアプリケーションは各写真に対してどのような写真ファイルをアップロードしたらよいかを決定する。上記の段落はデータ接続の２つの大きなカテゴリについて説明するため、図３は写真ファイルの２つの大きなカテゴリをそれぞれ描写する。しかし、当業者であれば、決定されたデータ接続カテゴリまたはタイプに応じて複数のタイプの写真ファイルを構想することも考えられる。写真ファイルのタイプの数は、１対１の割合で接続カテゴリの数と相関する必要はない。本開示は、任意の数の写真ファイルタイプを企図する。特定の実施形態では、ソフトウェア処理が低帯域幅データ接続（３Ｇ以下）のみが利用可能であることを決定すると、ソフトウェア処理はアップロード用の低品質の写真ファイルを生成する。低品質の写真は、低解像度の、低色深度の、圧縮率が増加され、圧縮率が増加されたファイル形式の、きっちりクロップされた写真、または、前述の要素の任意の組合せであり得る。例えば、７メガピクセル（７ＭＰ）でのＲＡＷ形式の写真ショットは、１０メガバイトを超える可能性があり、低帯域幅データ接続上でのアップロードに対して法外な帯域幅の大きさを要する恐れがある。そのような場合、ソフトウェア処理は、任意の数のサイズ削減処理を適用することができ、これらに限定されないが、別個の低品質の写真ファイルを生成するための解像度の低減、色深度の低減または圧縮の適用を含む。特定の実施形態では、低品質の写真ファイルは、写真がキューに保存され次第、生成される。特定の実施形態では、低品質の写真ファイルは、低品質の写真ファイルのアップロードに先行して速やかに生成される。本開示は、低品質の写真ファイルを生成するための適切な任意の様式およびタイミングを企図する。
【００１８】
同様に、高帯域幅接続タイプが検出される場合、ソフトウェア処理は、高品質の写真ファイルを生成することができる。特定の実施形態では、高品質の写真ファイルは、未修正のネイティブ形式の写真である。特定の実施形態では、高品質の写真ファイルは解像度が低減されるか、サイズが低減されるかまたは圧縮されるが、低品質の写真ファイルと比べてその程度は少ない。上記で開示されるように、解像度の低減、きっちりしたクロップ、色深度の低減、圧縮率の増加、圧縮率が増加されたファイル形式（ＪＰＥＧなど）への変換などの動作の任意の組合せを使用して、高品質のファイルを生成することができる。本開示は、その品質が低品質のファイルよりも比較的大きい限り、高品質の写真ファイルを生成するための動作の任意の数および組合せを構想する。特定の実施形態では、高品質の写真ファイルがネイティブの未修正形式の写真である場合は、別個の高品質の写真ファイルは生成されない。特定の実施形態では、高品質の写真ファイルは、撮影された時点で生成されてキューに保存される。特定の実施形態では、高品質の写真ファイルは高品質のアップロードに先行して速やかに生成される。本開示は、高品質の写真ファイルを生成するための適切な任意の様式およびタイミングを企図する。
【００１９】
低帯域幅データ接続を検出すると、工程３０７において、ソフトウェア処理は、写真のキューを分析し、不完全なアップロードを検索する。図４および図５に関してさらに論じられるように、写真のキューに対するデータ構造は、キューの各写真に対していくつかのステータスビットを含み、写真が適切にアップロードされているか否か、および、アップロードされたときの品質を含む。ソフトウェア処理が不完全なアップロードが存在しないことを見出した場合、処理は工程３０５に戻る。３０５と３０７との間のこのループは、高帯域幅データ接続が検出されるまで、バックグラウンド処理として継続する。
【００２０】
工程３０７において、ソフトウェア処理が特定の写真に不完全なアップロードが存在するという指標を見出せば、工程３１０において、処理はそれらの写真に対応する低品質の写真ファイルをアップロードする。特定の実施形態では、アップロードの再開が可能である。例えば、ユーザがアップロードの最中であり、クライアントデバイス１２２の電源が切れるか、または無線妨害（トンネルまたはエレベータに入るなど）が原因で自身のデータ接続を突然失った場合、ソフトウェア処理は、最近にアップロードされた写真ファイルのセグメントへのポインタを保存し、次の写真ファイルのセグメントでアップロードを再開する。アップロードの一時停止および再開は、当技術の分野において周知であり、一時停止／再開機能の技術的詳細については、本明細書では説明されない。したがって、完全にアップロードされていない任意の低品質の写真ファイルが、工程３１０でアップロードされる。工程３０７は、アップロードが不完全な写真を検索することのみを行う。ソフトウェア処理は、一般に、低品質の写真よりも高品質の写真を好み、実際には、ソフトウェア処理は、高品質の写真ファイルの最終的な配信／アップロードを保証する。したがって、キューにある写真であって、その写真が以前に高品質でアップロードされていることをその写真のデータ構造エントリが反映する写真は、工程３０７によって不完全なアップロードとしては取り上げられず、前述のファイルに対して低品質の写真はアップロードされない。
【００２１】
工程３１１では、キューの各ファイルに対応するデータ構造エントリが更新される。データ構造エントリは、アップロードが適切に完了したこと、および、低品質のファイルとして写真がアップロードされたことを反映するために更新される。次いで、処理は工程３０５に戻り、工程３０５では、処理は段落００２６に説明されるように、高帯域幅接続に対して連続スキャンを行う。
【００２２】
工程３０５において、ユーザが４Ｇサービスエリアまたはワイファイ（ＷｉＦｉ）ホットスポット（喫茶店または空港でよく見られるものなど）に入る際など、高帯域幅接続が検出されれば、処理は工程３０６に進行する。工程３０６では、ソフトウェア処理は、キューにある個々の写真に対するデータ構造エントリを分析し、不完全な高品質のアップロードを探す。前述のように、各写真に対するデータ構造エントリは各写真のアップロードステータスおよび品質を示すビットを含む。したがって、以前に低品質でアップロードされている写真は、「完全な」インジケータビットを有するが、「低品質」インジケータも有することになる。ソフトウェア処理は、一般に、高品質の写真ファイルの最終的なアップロードの保証を試行する。したがって、高帯域幅接続が利用可能であれば、ソフトウェア処理は、以前に低品質でアップロードされている写真に対して、高品質の写真ファイルをアップロードすることになる。低品質の写真ファイルは、サーバ上で、高品質のファイルに置き換えられる。
【００２３】
したがって、工程３０７では、高品質の写真ファイルは、高品質で完全にアップロードされていない任意の写真ファイルに対してアップロードされる。これは、ファイルが全くアップロードされていない写真（０％の進行度）、低品質のファイルの一部がアップロードされている写真、低品質のアップロードが完了している写真（１００％の進行度）、お
よび、高品質の写真の一部がアップロードされている写真を含む。上記で説明されるように、ソフトウェア処理が以前に、所定のファイルに対して高品質のアップロードを開始し、高帯域幅接続を失ったために中断された場合、ソフトウェア処理は、中断されたところからアップロードを再開し、高品質のファイルに対する残存データのみを送信する。
【００２４】
工程３０８では、ソフトウェア処理は「完全な」「高品質」インジケータを有する各アップロード写真に対するデータ構造エントリを更新する。高品質ですべての写真をアップロードすると、ソフトウェア処理は工程３０２においてアイドル処理に戻り、キューのさらなる写真を待つ。したがって、特定の実施形態では、起動された時点で、図３に描写されるソフトウェア処理は、クライアントデバイス１２２上で絶えず実行している状態である。積極的にアップロードしていない場合、ソフトウェア処理は、３つの状態のうちの１つでアイドル状態である。第１に、キューが空であるかまたはすべての写真が高品質でアップロードされている場合、処理は工程３０２においてアイドル状態であり、カメラアプリケーションまたは他のアプリケーションからキューに保存する写真を待つ。第２に、データ接続が利用可能でない場合、処理は３０５においてアイドル状態であり、何らかのタイプのワイヤレスデータ接続の確立を試行する。最後に、すべての写真が低品質でアップロードされているが、高品質のデータ接続が利用可能でない場合、ソフトウェア処理は、３０７と３０５との間でアイドル状態であり、高帯域幅データ接続を待つ。
【００２５】
図４は、写真のキュー４００およびその中に記憶される個々の写真データ構造エントリの一例を示す。写真のキュー４００は、各写真に対するエントリを含む。各エントリは、一意識別子または写真ＩＤ４０１を含む。写真ＩＤ４０１は、様々な形式の数値を取り込むことができる。特定の実施形態では、写真ＩＤ４０１はユーザＩＤ＿写真番号の形式のものであり、「ユーザＩＤ」はクライアントデバイス１２２と関連付けられたソーシャルネットワーク１００上のユーザアカウントの一意のメンバ識別子である。例えば、図４では、すべての写真が第１のセグメント「００１２３」を有する。このストリングは、ソーシャルネットワーク１００上の特定のメンバアカウントを一意に識別する。任意の時点で、専用ソーシャルネットワーキングアプリケーションをクライアントデバイス１２２上にインストールすることによって、または、手動設定手順を通じて、クライアントデバイス１２２のユーザは、デバイスをユーザＩＤ（ＵＩＤ）「００１２３」と関連付けし、したがって、クライアントデバイス１２２によるすべてのファイルアップロードおよび動作は、速やかにＵＩＤ「００１２３」にリンクされる。本開示は、写真を一意に識別する他のすべての形式を企図する。また、各写真に対するデータ構造エントリは、アップロードステータス４０２も含む。特定の実施形態では、アップロードステータスは、「完全な」に対しては「１」、そして、「不完全な」に対しては「０」など、１ビットで表される。特定の実施形態では、「不完全な」ステータスは、アップロードの一時停止も含む。また、各写真に対するデータ構造エントリは、写真がアップロードされた品質を示す品質ステータス４０３も含む。特定の実施形態では、品質ステータスは、「高品質」に対しては「１（高）」、そして、「低品質」に対しては「０（低）」など、１ビットで表すことができる。
【００２６】
同様に、図５は、アップロードステータス４０２および品質ステータス４０３を結合して１つの２ビットフィールド「アップロード」５０１にしたデータ構造エントリの一例を示す。そのような実施形態では、状態「００」は、「不完全なアップロード、任意の品質」を示し得る。状態「０１」は、「完全なアップロード、低品質」を示してもよく、状態「１０」は、「完全なアップロード、高品質」を示し得る。本開示は、図４および図５のデータ構造エントリにおけるアップロードおよび品質ステータスビットをコード化するための任意の様式を企図する。
【００２７】
さらに、キュー４００および５００は両方とも、共有コラム４０４および５０２をそれ
ぞれ含む。各写真に対するデータ構造エントリは、ユーザが自身の写真の共有を希望するかまたはプライベート用とすることを希望するかを示す共有ステータスビットを含み得る。特定の実施形態では、共有される写真はソーシャルネットワークの非メンバにより一般に閲覧されることができ、共有されない写真はソーシャルネットワークのメンバのみにより閲覧されることができる。特定の実施形態では、共有される写真は、クライアントデバイス１２２と関連付けられたユーザアカウントの友達のみが閲覧することができ、共有としてマーク付けされなかった写真は、ユーザ自身のみが閲覧することができる。特定の実施形態では、ユーザは、様々なユーザグループに対する共有許可を設定することができる。特定の実施形態では、３つ以上の共有状態を利用することができる。共有状態は、ユーザがソーシャルネットワーク上で既に設定したプライバシー設定と一致し得る。本開示によって企図される任意の様式では、他のユーザによるアクセスを制限するか、または、様々な共有ステータスビットでタグ付けされた写真を閲覧することができる特定のユーザを指定する。
【００２８】
図２に戻ると、共有アイコン２０５は、カメラが共有モードであるか否かを示す。共有モードでは、クライアントデバイス１２２にオンボードカメラによって撮影された写真は、デフォルト設定を通じて自動的に共有される。インジケータ２０５は、ディスプレイ２０６上のインジケータ２０５を押すことによって切り替えることができる。特定の実施形態では、ユーザが２つを超える共有モードを設定した場合、インジケータ２０５を押すことで、様々な共有モードを繰り返し表示する。特定の実施形態では、ディスプレイ２０６は、共有モードが使用可能になるとき色を変化させる。例えば、ディスプレイは、共有が使用可能になるとき青色を示し、共有が使用不可能になるとき赤色を示すことができる。特定の実施形態では、ステータスバー２０７は共有ステータスを示すために色を変化させることができる。特定の実施形態では、共有モードを示すためにディスプレイ２０６に境界を挿入することができる。本開示では、視覚的に、聴覚的に、または触覚フィードバックを通じて共有モードを示す様式のすべてを企図する。
【００２９】
カメラソフトウェアは、共有モードの間、写真ショットのデータ構造エントリへの「共有」のタグ付けを自動的に行う。「共有」ステータスは、データ構造エントリにおいて「共有」に対しては「１」、および「非共有」に対しては「０」であるような簡単なものであり得る。特定の実施形態では、ユーザはデフォルトの共有レベルを設定する。特定の実施形態では、ユーザによる異なるプライバシー設定と相関する複数の共有ステータスが存在する。例えば、ユーザは、３つのプライバシー設定「一般閲覧可能」、「友達のみ」および「プライベート」を設定することができる。所定の写真に対する各データ構造エントリは、これらの３つの共有状態のうちの１つを示すステータスを有する。特定の実施形態では、ソフトウェアアプリケーションはソーシャルネットワーキングシステムに送信されるメディアファイルヘッダに共有設定を埋め込む。特定の実施形態では、共有インジケータはカメラアプリケーション自体によって写真メディアファイルヘッダに挿入される。本開示は、ソーシャルネットワーキングシステムにメディアファイルのプライバシー設定を知らせるため、メディアファイルにマーク付けまたはタグ付けをするための任意の手段を企図する。
【００３０】
図６は、各写真に対するより詳細なデータ構造エントリを有する写真キューの一例を示す。図６の例では、各ファイルは、低品質アップロードステータス６０１ｂ、低品質ポインタ６０１ａ、高品質アップロードステータス６０２ｂ、高品質ポインタ６０２ａおよび共有設定を有する。ポインタ６０１ａおよび６０２ａは、アップロードされる予定の低品質および高品質のファイルの次のセグメントをそれぞれ示す。ポインタ６０１ａおよび６０２ｂは、ファイルのセグメントを正確に特定するために必要なアドレス空間を増加するように１６進形式であってもよい。本開示では、アップロードを再開する目的で、セグメント化してそのセグメントを特定する様式のすべてを企図する。また、図４および図５の
データ構造エントリは、ファイルのアップロードを再開する目的のためのポインタフィールドも含み得る。
【００３１】
アップロードステータスフィールド６０１ｂおよび６０２ｂは、低品質または高品質のファイルが完全にアップロードされたか否かを示す。低品質および高品質のファイルに対して別個のデータフィールドを維持することにより、低品質のファイルの不要なアップロードを阻止する。例えば、ユーザが低品質のアップロードを完全に完了し、その後同一の写真ファイルの高品質のアップロードが中断された場合、データ構造は低品質のファイルが以前にアップロードされていることを示すため、低帯域幅接続を有する領域に入るに際し、ソフトウェア処理が低品質のファイル全体を再度アップロードすることはない。数ビット余分なデータおよびポインタを記憶することで、無線およびバッテリリソースを有意に節約することができる。
【００３２】
特定の実施形態では、ユーザが共有モードをデフォルト値に設定することができる。特定の実施形態では、ユーザは共有を使用可能または使用不可能にする自動トリガを設定することができる。例えば、ユーザは午後１１時から午前４時までの間に撮影された写真は共有されないように、自身のクライアントデバイス１２２を設定することができる。特定の実施形態では、クライアントデバイス１２２のユーザはデフォルト共有モードに対して特定の領域にジオフェンス（ｇｅｏｆｅｎｃｅ）を設定することができる。例えば、ユーザは特定の場所または建物を選択することができ、それらに対してその建物に地理的に近い場所で撮影された写真は決して共有されることはない。それにも関わらず、共有としてマーク付けされていない写真は、依然としてソーシャルネットワーク１００のサーバにアップロードされるが、それらの写真はクライアントデバイス１２２のユーザのみが閲覧可能であるか、またはその代替としてユーザのプライバシー設定の確立が条件となる。
【００３３】
ソーシャルネットワーキングシステム１００は、ネットワーククラウド１２１およびシステムフロントエンド１２０を通じてアップロードされたメディアファイルを、１つまたは複数のサーバにおいて受信する。特定の実施形態では、ソーシャルネットワーキングシステム１００は専用アプリケーションプログラムインタフェース（ＡＰＩ）を通じてメディアファイルを受信する。本開示は、クライアントデバイス１２２からファイルアップロードを受信するための任意の様式を企図する。ソーシャルネットワーキングシステムは、アップロードされたファイルと関連付けられたメタデータを読み取り、クライアントデバイス１２２と関連付けられたソーシャルネットワーキングメンバアカウントを確認する。特定の実施形態では、クライアントデバイス１２２上のソフトウェア処理は、写真ファイルと関連付けられた図４〜図６などのデータ構造エントリを送信し、サーバが写真識別子のＵＩＤを読み取る。他の実施形態では、サーバとクライアントデバイス１２２との間のハンドシェイク処理は、受信アップロードと関連付けられたアカウントをサーバに知らせる。本開示は、ユーザアカウントを決定するための任意の様式を企図する。
【００３４】
サーバは、写真または他のマルチメディアファイルを受信するに際し、ファイルの共有設定を決定するため、メディアヘッダまたはデータ構造エントリのデータを読み取る。ファイルの共有設定に基づいて、サーバは公開用フォルダまたはプライベートフォルダなど、写真データベース１０５内の特定のフォルダにファイルを記憶することができる。特定の実施形態では、サーバはモバイルアップロードに対する単一フォルダにすべてのアップロードされたファイルを記憶するが、各写真に対するプライバシー設定は異なる。特定の実施形態では、サーバは受信したファイルが高品質の写真かまたは低品質の写真かを決定する。特定の実施形態では、低品質の写真を受信するに際し、サーバは最終的に高品質の写真を受信することを予想する。特定の実施形態では、高品質の写真を受信するに際し、サーバは表示のために低品質の写真を高品質の写真に置き換えることができる。特定の実施形態では、サーバは様々な目的のために低品質の写真の複製物を保持する。また、サー
バは、場所データ、チェックインデータ、および友達データなど、写真とともに送信された情報に基づいて、写真の自動タグ付けを行うこともできる。例えば、ユーザが特定の場所をチェックインし、自身がソーシャルネットワークの他のメンバと一緒の場所に存在することを示す場合、サーバは写真の自動タグ付けにその情報を使用することができる。例えば、顔認証アルゴリズムがアップロードユーザの４人の可能な友達に顔を絞り込めば、アルゴリズムは、上述したチェックイン時の友達も選択する。
【００３５】
前述の実装形態は、実質的にリアルタイムに、利用可能なワイヤレス接続の帯域幅に等しい品質レベルにおいて、シリアル化処理および他のプレアップロード処理が施される写真などのキャプチャされたマルチメディアオブジェクトをユーザが共有できるようにするシステムを提供する。さらに、そのような実装形態は、適切なワイヤレスデータ接続が利用可能である場合は、共有のためにソーシャルネットワーキングサイトに高品質の画像を自動的に配信する。したがって、ユーザは、事実上、自身のモバイルデバイスからキャプチャされたマルチメディアオブジェクトが、自動的にかつユーザの相互作用なしで、可能な限り速やかに共有され、最終的には高品質で共有されることが保証される。
【００３６】
図７は、本発明のいくつかの実施形態とともに使用することができるコンピュータシステム７００の一例を示す。本開示は、適切な任意の数のコンピュータシステム７００を企図する。本開示は、適切な任意の物理的形態を採用するコンピュータシステム７００を企図する。必要に応じて、コンピュータシステム７００は、１つまたは複数のコンピュータシステム７００を含んでもよく、すなわち集中型または分散型でもよく、複数の場所に広がっていてもよく、複数の機械に広がっていてもよく、クラウド内に存在してもよい（１つまたは複数のネットワークにおいて１つまたは複数のクラウドコンポーネントを含み得る）。必要に応じて、１つまたは複数のコンピュータシステム７００は、実質的な空間的または時間的制限を受けることなく、本明細書に記載されるかまたは示される１つまたは複数の方法の１つまたは複数の工程を実行することができる。制限ではなく、例示として、１つまたは複数のコンピュータシステム７００は、リアルタイムまたはバッチモードで、本明細書に記載されるかまたは示される１つまたは複数の方法の１つまたは複数の工程を実行することができる。１つまたは複数のコンピュータシステム７００は、必要に応じて、異なる時間または異なる場所で、本明細書に記載されるかまたは示される１つまたは複数の方法の１つまたは複数の工程を実行することができる。
【００３７】
特定の実施形態では、コンピュータシステム７００は、プロセッサ７０２、メモリ７０４、ストレージ７０６、入出力（Ｉ／Ｏ）インタフェース７０６、通信インタフェース７１０およびバス７１２を含む。本開示は、特定の構成における特定の数の特定のコンポーネントを有する特定のコンピュータシステムについて説明し示しているが、本開示は適切な任意の構成における適切な任意の数の適切な任意のコンポーネントを有する適切な任意のコンピュータシステムを企図する。
【００３８】
特定の実施形態では、プロセッサ７０２はコンピュータプログラムを構成するものなどの命令を実行するためのハードウェアを含む。制限ではなく、例示として、命令を実行するため、プロセッサ７０２は、内部レジスタ、内部キャッシュ、メモリ７０４またはストレージ７０６から命令を取り出し（またはフェッチし）、命令を解読して実行し、次いで、内部レジスタ、内部キャッシュ、メモリ７０４またはストレージ７０６に１つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ７０２は、データ、命令またはアドレス用の１つまたは複数の内部キャッシュを含み得る。本開示は、必要に応じて適切な任意の数の適切な任意の内部キャッシュを含むプロセッサ７０２を企図する。
【００３９】
特定の実施形態では、メモリ７０４は、プロセッサ７０２が実行するための命令または
プロセッサ７０２が操作するためのデータを記憶するためのメインメモリを含む。１つまたは複数のメモリバス（その各々は、アドレスバスおよびデータバスを含み得る）は、プロセッサ７０２とメモリ７０４とを結合することができる。本開示は、特定のメモリについて説明し示しているが、本開示は適切な任意のメモリを企図する。
【００４０】
特定の実施形態では、ストレージ７０６は、データまたは命令用のマスストレージを含む。本開示は、適切な任意の物理的形態を採用するマスストレージ７０６を企図する。本開示は、特定のストレージについて説明し示しているが、本開示は、適切な任意のストレージを企図する。
【００４１】
特定の実施形態では、Ｉ／Ｏインタフェース７０６は、コンピュータシステム７００と１つまたは複数のＩ／Ｏデバイスとの間の通信のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェアまたはその両方を含む。コンピュータシステム７００は、必要に応じてこれらのＩ／Ｏデバイスのうちの１つまたは複数を含み得る。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人とコンピュータシステム７００との間の通信を可能にすることができる。本開示は、タッチスクリーンなどの特定のＩ／Ｏインタフェースについて説明し示しているが、本開示は、適切な任意のＩ／Ｏインタフェースを企図する。
【００４２】
特定の実施形態では、通信インタフェース７１０はコンピュータシステム７００と１つもしくは複数の他のコンピュータシステム７００または１つもしくは複数のネットワークとの間の通信（例えば、パケットベースの通信など）のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェアまたはその両方を含む。本開示は、特定の通信インタフェースについて説明し示しているが、本開示は、適切な任意の通信インタフェースを企図する。
【００４３】
特定の実施形態では、バス７１２はコンピュータシステム７００のコンポーネントを互いに結合するハードウェア、ソフトウェアまたはその両方を含む。本開示は、特定のバスについて説明し示しているが、本開示は適切な任意のバスまたは相互接続を企図する。
【００４４】
本開示は、適切な任意のストレージを実装する１つまたは複数のコンピュータ可読記憶媒体を企図する。特定の実施形態では、コンピュータ可読記憶媒体は必要に応じて、プロセッサ７０２の１つもしくは複数の部分（例えば、１つもしくは複数の内部レジスタもしくはキャッシュなど）、メモリ７０４の１つもしくは複数の部分、ストレージ７０６の１つもしくは複数の部分、または、これらの組合せを実装する。特定の実施形態では、１つまたは複数のコンピュータ可読記憶媒体は、ソフトウェアを具体化する。本明細書では、必要に応じて、ソフトウェアへの言及は、１つもしくは複数のアプリケーション、バイトコード、１つもしくは複数のコンピュータプログラム、１つもしくは複数の実行可能なもの、１つもしくは複数の命令、論理、機械コード、１つもしくは複数のスクリプト、または、ソースコードを包含し、その逆も同様である。特定の実施形態では、ソフトウェアは、１つまたは複数のアプリケーションプログラミングインタフェース（ＡＰＩ）を含む。本開示は、適切な任意のプログラミング言語またはプログラミング言語の組合せで記載または表現される適切な任意のソフトウェアを企図する。
【００４５】
上述されるクライアント側の機能は、実行されるとき、プログラム可能プロセッサに上記で説明されるオペレーションを実施させるための命令であって、コンピュータ可読記憶媒体に記憶された一連の命令として実装されることができる。
【００４６】
クライアントデバイス１２２は、様々な異なるハードウェアおよびコンピューティングシステムで実装することができるが、図８は、様々な特定の実施形態によるコンピューテ
ィングプラットフォーム８０２の一例の主要コンポーネントの概略図を示す。マルチポイント検知デバイスは、一般に、コンピューティングプラットフォームと関連付けられた命令を実行してオペレーションを実行するよう構成されたマイクロコントローラまたは１つもしくは複数のプロセッサを備え得るコントローラ８０４を含む。様々な実施形態では、コントローラ８０４は、単一のチップ、複数のチップおよび／または他の電子部品として実装されることができ、１つまたは複数の集積回路およびプリント回路基板を含む。コントローラ８０４は、場合により、命令、データまたはコンピュータアドレスを一時的にローカルに記憶するためのキャッシュメモリユニットを含み得る。例示として、メモリから取り出された命令を使用することで、コントローラ８０４はコンピューティングプラットフォーム８０２のコンポーネント間で、入出力データの受信および操作を制御することができる。
【００４７】
コントローラ８０４は、適切なオペレーティングシステムと併せて、コンピュータコード形式の命令を実行し、データの生成および使用を行うように動作することができる。オペレーティングシステム、他のコンピュータコード（以下で説明されるコントロールクライアント８０７を含む）および／またはデータは、コントローラ８０４と動作可能に結合されたメモリブロック８０６内に物理的に記憶され得る。
【００４８】
メモリブロック８０６は、１つまたは複数の記憶媒体を包含し、一般に、コンピューティングプラットフォーム８０２によって使用されるコンピュータコード（例えば、ソフトウェアおよび／またはファームウェア）およびデータを記憶する場所を提供する。また、メモリブロック８０６は、コントローラ８０４と双方向で結合された適切な形式のメモリの中で特に、例示として、ソリッドステートハードディスクドライブ（ＨＤＤ）の形式の１つまたは複数の固定のストレージデバイスも含み得る。また、情報は、必要な場合、マルチポイント検知デバイスに搭載または設置されたリムーバブル記憶媒体にも存在し得る。
【００４９】
また、コントローラ８０４は、一般に、グラフィックスコントロール、ビデオインタフェース、入力インタフェース、出力インタフェース、ストレージインタフェースおよびネットワークインタフェースなどの様々なインタフェースとも結合され、これらのインタフェースは、順に、適切なデバイスと結合される。一実施形態では、コントローラ８０４は入力構造体８１４に接続することができ、ディスプレイ８１６も一緒に提供され、ディスプレイ８１６と併せてタッチセンサ式機構が提供されるタッチスクリーンの場合などが挙げられる。そのような実施形態では、ユーザはタッチセンサ式機構を通じて、表示されるインタフェース要素を選択することも、同要素と相互作用することもできる。このように、表示されるインタフェースは、相互作用型の機能を提供することができ、それにより、ユーザはディスプレイ８１６に触れることによって、表示されるインタフェースをナビゲートできるようになる。
【００５０】
電気信号（例えば、アナログ）は、マイクロフォン８１０によって生成し、イヤフォン８１２に供給することができる。コントローラ８０４は、入力構造体８１４から命令信号を受信し、ディスプレイ８１６のオペレーションを制御することができる。例示として、ディスプレイ８１６は、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、干渉変調器ディスプレイ（ＩＭＯＤ）または他の任意の適切なディスプレイ技術を組み込むことができる。オーディオ信号は、無線インタフェース８２０またはマイクロフォン８２４などのオーディオ入力インタフェースを通じて、コントローラ８０４の制御の下で信号を処理するよう構成されたコーデック８２２に接続され得るアンテナ８１７によって送受信されることができる。それに加えて、マルチポイント検知デバイスは、電源８３２から給電されることができる。
【００５１】
また、モバイルデバイスは、コントローラ８０４と動作可能に結合される１つまたは複数のユーザ入力デバイス８３４（入力構造体８１４以外に）も含み得る。一般に、入力デバイス８３４は、外部からマルチポイント検知デバイスにデータ、コマンドおよび応答を転送するよう構成される。例示として、モバイルデバイスは、キーボードまたはマウスを含み得る。また、入力デバイス８３４は、１つまたは複数のハードボタンも含み得る。
【００５２】
ディスプレイデバイス８１６は、一般に、コンピューティングプラットフォーム８０２のユーザとモバイルデバイス上で実行中のオペレーティングシステムまたはアプリケーションとの間に使い易い視覚インタフェースを提供するグラフィカルユーザインタフェース（ＧＵＩ）を表示するよう構成される。一般に、ＧＵＩは、グラフィカルな画像で、プログラム、ファイルおよびオペレーション上のオプションを提示する。オペレーションの間、ユーザは、オペレーションと関連付けられた機能およびタスクを開始するため、ディスプレイ８１６上に表示される様々なグラフィカルな画像を選択して起動することができる。
【００５３】
本明細書では、コンピュータ可読記憶媒体への言及は、構造を有する１つまたは複数の非一時的な有形のコンピュータ可読記憶媒体を包含する。本明細書では、コンピュータ可読記憶媒体への言及は、米国特許法第１０１条の下で特許権保護の対象とならない任意の媒体を除外する。本明細書では、コンピュータ可読記憶媒体への言及は、米国特許法第１０１条の下で特許権保護の対象とならない範囲の、一時的な形式の信号伝送（ある意味、電気または電磁信号の伝播など）を除外する。
【００５４】
本開示は、当業者であれば理解するであろう本明細書の例示的な実施形態に対するすべての変化形態、置換形態、変形形態、代替形態および変更形態を包含する。同様に、必要に応じて、添付の請求項は、当業者であれば理解するであろう本明細書の例示的な実施形態に対するすべての変化形態、置換形態、変形形態、代替形態および変更形態を包含する。
【図１】
2014531627.tif 000002
【図２】
2014531627.tif 000003
【図３】
2014531627.tif 000004
【図４】
2014531627.tif 000005
【図５】
2014531627.tif 000006
【図６】
2014531627.tif 000007
【図７】
2014531627.tif 000008
【図８】
2014531627.tif 000009
【手続補正書】
【提出日】平成26年5月9日(2014.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングシステムによって、
アップロードされる予定のマルチメディアオブジェクトのキューにワイヤレス接続を通じてアクセスする工程であって、各マルチメディアオブジェクトは、少なくともアップロード進行値およびアップロード品質値を含むデータ構造エントリを有する、工程と、
前記キューの各マルチメディアオブジェクトであって、前記データ構造エントリが完全なアップロードを示さないマルチメディアオブジェクトに対して、
前記ワイヤレス接続のタイプを決定する工程と、
該マルチメディアオブジェクトに対応するマルチメディアファイルを自動的にアップロードする工程であって、該マルチメディアファイルの品質は、前記決定されたワイヤレス接続タイプの帯域幅に基づく、アップロードする工程と、
前記マルチメディアオブジェクトと関連付けられた前記データ構造エントリを更新する工程と、を含む、方法。
【請求項２】
マルチメディアオブジェクトのキャプチャに際し、アップロードのために該マルチメディアオブジェクトを前記キューに挿入する工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記データ構造エントリはプライバシーモードと相関するプライバシー値を含む、請求項１または２に記載の方法。
【請求項４】
キャプチャに際する複数のプライバシー設定に応じて、キャプチャされたマルチメディアオブジェクトが共有されることを示す複数のプライバシーモードのうちの１つを示すために、カメラのグラフィカルユーザインタフェースの１つまたは複数の属性を調節する工程と、
マルチメディアオブジェクトのキャプチャに際し、キャプチャに際して示される前記プライバシーモードによるプライバシー値を用いて、前記オブジェクトを前記キューに挿入する工程と、をさらに含む、請求項３に記載の方法。
【請求項５】
前記アップロードする工程の前に前記マルチメディアファイルに前記プライバシーモードによってタグ付けを行うことをさらに含む、請求項３または４に記載の方法。
【請求項６】
前記マルチメディアファイルの品質は、低帯域幅タイプの接続に対して低解像度である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記マルチメディアファイルの品質は、高帯域幅タイプの接続に対して高解像度である、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
高帯域幅ワイヤレス接続の利用可能性の検出に際し、前記キューの各マルチメディアオブジェクトと関連付けられた前記データ構造エントリを読み取る工程と、
前記キューの各マルチメディアオブジェクトについて、そのデータ構造エントリが完全にアップロードされた高品質のマルチメディアファイルを示さないマルチメディアオブジェクトに対しては、高品質のマルチメディアファイルをアップロードする工程と、をさらに含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
高品質のマルチメディアファイルをアップロードする工程は、前記高品質のマルチメディアファイルが前記アップロード進行値と関連付けられた点において前記アップロードを開始する工程を含む、請求項８に記載の方法。
【請求項１０】
前記マルチメディアファイルは、プライバシー値に基づいて異なる場所にアップロードされる、請求項３〜５のいずれか一項に記載の方法。
【請求項１１】
ソフトウェアを具現する１つまたは複数の非一時的なコンピュータ可読記憶媒体であって、実行されるとき、前記ソフトウェアは、請求項１〜１０のいずれか一項に記載の方法を実行する、媒体。
【請求項１２】
１つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を備える該プロセッサに結合されるメモリと、を備えるシステムであって、前記プロセッサは、請求項１〜１０のいずれか一項に記載の方法を実行するための命令を実行するときに、動作可能である、システム。
【国際調査報告】
2014531627.tif 000010
2014531627.tif 000011