(57)【要約】システム、方法、および非一時的コンピュータ可読媒体は、共有３次元コンピューティング環境を複数のユーザに提示することができる。現在のユーザに関連付けられているパーソナルスペースが現在のユーザに提示される。パーソナルスペースは、現在のユーザにのみに可視である１つまたは複数のコンテンツアイテムを含む。第１のコンテンツアイテムは、パーソナルスペースから共有３次元コンピューティング環境に移動される。第１のコンテンツアイテムをパーソナルスペースから共有３次元コンピューティング環境に移動することにより、第１のコンテンツアイテムが複数のユーザに可視となる。
2019531551.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、
コンピューティングシステムが、共有３次元コンピューティング環境を複数のユーザに提示するステップと、
前記コンピューティングシステムが、現在のユーザに関連付けられたパーソナルスペースを現在のユーザに提示するステップと、ここで、前記パーソナルスペースは、現在のユーザにのみ可視である１つまたは複数のコンテンツアイテムを含み、
前記コンピューティングシステムが、前記パーソナルスペースから前記共有３次元コンピューティング環境へ前記１つまたは複数のコンテンツアイテムのうちの第１のコンテンツアイテムを移動させるステップとを含み、
前記パーソナルスペースから前記共有３次元コンピューティング環境へ前記第１のコンテンツアイテムを移動させることによって、前記第１のコンテンツアイテムが複数のユーザに可視となる、コンピュータが実行する方法。
【請求項２】
前記パーソナルスペースを提示するステップは、
前記パーソナルスペースをユーザインタフェースのフォアグラウンドに提示すること、
前記共有３次元コンピューティング環境を前記ユーザインタフェースのバックグラウンドに提示することを含む、請求項１に記載のコンピュータが実行する方法。
【請求項３】
前記パーソナルスペースを提示するステップは、
前記共有３次元コンピューティング環境をぼかすことをさらに含む、請求項２に記載のコンピュータが実行する方法。
【請求項４】
前記共有３次元コンピューティング環境は、複数のユーザに可視である複数のコンテンツアイテムを含む、請求項１に記載のコンピュータが実行する方法。
【請求項５】
前記現在のユーザに対する通知の指示を受信するステップと、
前記パーソナルスペースに前記通知を提示するステップとをさらに含む、請求項１に記載のコンピュータが実行する方法。
【請求項６】
前記通知は、現在のユーザに対する新たなメッセージの通知を含む、請求項５に記載のコンピュータが実行する方法。
【請求項７】
共有３次元ユーザインタフェースは、ユーザが、ユーザのビューを任意の方向に３６０度回転させることを可能にする、請求項１に記載のコンピュータが実行する方法。
【請求項８】
前記パーソナルスペースを提示するステップは、カメラによってキャプチャされた第１のユーザ入力に応答して実行される、請求項１に記載のコンピュータが実行する方法。
【請求項９】
前記パーソナルスペースを提示するステップは、現在のユーザが着用しているウェアラブルデバイスによってキャプチャされた第１のユーザ入力に応答して実行される、請求項１に記載のコンピュータが実行する方法。
【請求項１０】
前記共有３次元コンピューティング環境から前記パーソナルスペースに第２のコンテンツアイテムをコピーするステップをさらに含む、請求項１に記載のコンピュータが実行する方法。
【請求項１１】
システムであって、
少なくとも１つのプロセッサと、
命令を格納するメモリとを備え、前記命令は、前記少なくとも１つのプロセッサによる実行時に前記システムに方法を実行させ、前記方法は、
共有３次元コンピューティング環境を複数のユーザに提示するステップと、
現在のユーザに関連付けられたパーソナルスペースを現在のユーザに提示するステップと、ここで、前記パーソナルスペースは、現在のユーザにのみ可視である１つまたは複数のコンテンツアイテムを含み、
前記パーソナルスペースから前記共有３次元コンピューティング環境へ前記１つまたは複数のコンテンツアイテムのうちの第１のコンテンツアイテムを移動させるステップとを含み、
前記パーソナルスペースから前記共有３次元コンピューティング環境へ前記第１のコンテンツアイテムを移動させることによって、前記第１のコンテンツアイテムが複数のユーザに可視となる、システム。
【請求項１２】
前記パーソナルスペースを提示するステップは、
前記パーソナルスペースをユーザインタフェースのフォアグラウンドに提示すること、
前記共有３次元コンピューティング環境を前記ユーザインタフェースのバックグラウンドに提示することを含む、請求項１１に記載のシステム。
【請求項１３】
前記パーソナルスペースを提示するステップは、
前記共有３次元コンピューティング環境をぼかすことをさらに含む、請求項１２に記載のシステム。
【請求項１４】
前記共有３次元コンピューティング環境は、複数のユーザに可視である複数のコンテンツアイテムを含む、請求項１１に記載のシステム。
【請求項１５】
前記方法は、
前記現在のユーザに対する通知の指示を受信するステップと、
前記パーソナルスペースに前記通知を提示するステップとをさらに含む、請求項１１に記載のシステム。
【請求項１６】
命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピューティングシステムの少なくとも１つのプロセッサによる実行時に、前記コンピューティングシステムに方法を実行させ、前記方法は、
共有３次元コンピューティング環境を複数のユーザに提示するステップと、
現在のユーザに関連付けられたパーソナルスペースを現在のユーザに提示するステップと、ここで、前記パーソナルスペースは、現在のユーザにのみ可視である１つまたは複数のコンテンツアイテムを含み、
前記パーソナルスペースから前記共有３次元コンピューティング環境へ前記１つまたは複数のコンテンツアイテムのうちの第１のコンテンツアイテムを移動させるステップとを含み、
前記パーソナルスペースから前記共有３次元コンピューティング環境へ前記第１のコンテンツアイテムを移動させることによって、前記第１のコンテンツアイテムが複数のユーザに可視となる、非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記パーソナルスペースを提示するステップは、
前記パーソナルスペースをユーザインタフェースのフォアグラウンドに提示すること、
前記共有３次元コンピューティング環境を前記ユーザインタフェースのバックグラウンドに提示することを含む、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記パーソナルスペースを提示するステップは、
前記共有３次元コンピューティング環境をぼかすことをさらに含む、請求項１７に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記共有３次元コンピューティング環境は、複数のユーザに可視である複数のコンテンツアイテムを含む、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記方法は、
前記現在のユーザに対する通知の指示を受信するステップと、
前記パーソナルスペースに前記通知を提示するステップとをさらに含む、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ソーシャルネットワーキングシステムの分野に関する。より具体的には、本技術は、パーソナルスペースを有する共有３次元ユーザインタフェースに関する。
【背景技術】
【０００２】
今日、人々は、多種多様な目的のためにコンピューティングデバイス（またはシステム）を利用することが多い。ユーザは、コンピューティングデバイスを使用して、例えば、互いにインタラクションしたり、コンテンツを作成したり、コンテンツを共有したり、コンテンツを視聴したりすることができる。いくつかの例では、ユーザは自身のコンピューティングデバイスを利用してソーシャルネットワーキングシステム（またはサービス）にアクセスすることができる。ユーザは、ソーシャルネットワーキングシステムを介して、ステータス更新、画像、ビデオ、記事、およびリンクなどの様々なコンテンツアイテムを提供、投稿、共有、およびアクセスすることができる。
【０００３】
ソーシャルネットワーキングシステムのユーザに、ソーシャルネットワーキングシステム上の他のユーザとインタラクションするためのユーザインタフェースを提供することができる。コンピューティング技術の変化によって、ユーザインタフェース設計の付随する変化が必要とされることが多い。例えば、ソーシャルネットワーキングシステムは当初ウェブブラウザベースのユーザインタフェースを用いて設計されていたが、タッチスクリーンモバイルデバイスの開発および普及によって、ユーザがズームまたはスワイプしてビューを変更するためにピンチすることを可能にするモバイルユーザインタフェースがもたらされている。このように、新たなユーザインタフェースによって、ユーザが新たなコンピューティング技術において提供される新たな機能を利用することが可能となる。
【発明の概要】
【０００４】
本開示のいくつかの実施形態は、共有３次元コンピューティング環境を複数のユーザに提示するように構成されたシステム、方法、および非一時的コンピュータ可読媒体を含むことができる。現在のユーザに関連付けられているパーソナルスペースが現在のユーザに提示される。パーソナルスペースは、現在のユーザにのみに可視である１つまたは複数のコンテンツアイテムを含む。第１のコンテンツアイテムは、パーソナルスペースから共有３次元コンピューティング環境に移動される。第１のコンテンツアイテムをパーソナルスペースから共有３次元コンピューティング環境に移動することにより、第１のコンテンツアイテムが複数のユーザに可視となる。
【０００５】
一実施形態において、パーソナルスペースを提示することは、パーソナルスペースをユーザインタフェースのフォアグラウンドに提示すること、および共有３次元コンピューティング環境をユーザインタフェースのバックグラウンドに提示することを含む。
【０００６】
一実施形態において、パーソナルスペースを提示することは、共有３次元コンピューティング環境をぼかすことをさらに含む。
一実施形態において、共有３次元コンピューティング環境は、複数のユーザに可視である複数のコンテンツアイテムを含む。
【０００７】
一実施形態において、現在のユーザに対する通知の指示が受信され、パーソナルスペースに通知が提示される。
一実施形態において、通知は、現在のユーザに対する新たなメッセージの通知を含む。
【０００８】
一実施形態において、共有３次元ユーザインタフェースは、ユーザが、ユーザのビューを任意の方向に３６０度回転させることを可能にする。
一実施形態において、パーソナルスペースを提示することは、カメラによってキャプチャされた第１のユーザ入力に応答して実行される。
【０００９】
一実施形態において、パーソナルスペースを提示することは、現在のユーザが着用しているウェアラブルデバイスによってキャプチャされた第１のユーザ入力に応答して実行される。
【００１０】
一実施形態において、共有３次元コンピューティング環境からパーソナルスペースに第２のコンテンツアイテムがコピーされる。
開示された技術の他の多くの特徴、用途、実施形態、および／または変形が添付の図面および以下の詳細な説明から明らかとなることを理解されたい。本明細書に記載の構造、システム、非一時的コンピュータ可読媒体、および方法の追加の実施形態および／または代替の実施形態は、開示された技術の原理から逸脱することなく採用することができる。
【図面の簡単な説明】
【００１１】
【図１】本開示の実施形態による、３次元ユーザインタフェースモジュールを含む例示的なシステムを示す。
【図２Ａ】本開示の一実施形態による、３次元ユーザインタフェース内でビューを変更することに関連する例示的なシナリオを示す。
【図２Ｂ】本開示の一実施形態による、３次元ユーザインタフェース内でビューを変更することに関連する例示的なシナリオを示す。
【図３Ａ】本開示の様々な実施形態による、３次元ユーザインタフェースとインタラクションすることに関連する例示的なシナリオを示す。
【図３Ｂ】本開示の様々な実施形態による、３次元ユーザインタフェースとインタラクションすることに関連する例示的なシナリオを示す。
【図３Ｃ】本開示の様々な実施形態による、３次元ユーザインタフェースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ａ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｂ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｃ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｄ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｅ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｆ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｇ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図４Ｈ】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオを示す。
【図５】本開示の実施形態による、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的な方法を示す。
【図６】本開示の一実施形態による、様々なシナリオで利用することができる例示的なソーシャルネットワーキングシステムを含む例示的なシステムのネットワークを示す。
【図７】本開示の一実施形態による、様々なシナリオで利用することができるコンピュータシステムまたはコンピューティングデバイスの一例を示す。
【発明を実施するための形態】
【００１２】
図面は、例示のみを目的として開示された技術の様々な実施形態を示しており、図面は、同じ構成要素を特定するために同じ参照番号を使用している。当業者は、以下の説明から、本明細書に記載の開示された技術の原理から逸脱することなく、図面に示された構造および方法の代替実施形態を採用できることを容易に認識するであろう。
【００１３】
共有３次元ユーザインタフェース
今日、人々は、多種多様な目的のためにコンピューティングデバイス（またはシステム）を利用することが多い。ユーザは、コンピューティングデバイスを使用して、例えば、互いにインタラクションしたり、コンテンツを作成したり、コンテンツを共有したり、コンテンツを視聴したりすることができる。いくつかの例では、ユーザは自身のコンピューティングデバイスを利用してソーシャルネットワーキングシステム（またはサービス）にアクセスすることができる。ユーザは、ソーシャルネットワーキングシステムを介して、ステータス更新、画像、ビデオ、記事、およびリンクなどの様々なコンテンツアイテムを提供、投稿、共有、およびアクセスすることができる。
【００１４】
ソーシャルネットワーキングシステムのユーザに、ソーシャルネットワーキングシステム上の他のユーザおよびコンテンツとインタラクションするためのユーザインタフェースを提供することができる。コンピューティング技術の変化によって、ユーザインタフェース設計の付随する変化が必要とされることが多い。例えば、ソーシャルネットワーキングシステムは当初ウェブブラウザベースのユーザインタフェースを用いて設計されていたが、タッチスクリーンモバイルデバイスの開発および普及によって、ユーザがズームまたはスワイプしてビューを変更するためにピンチすることを可能にするモバイルユーザインタフェースがもたらされている。このように、新たなユーザインタフェースによって、ユーザが新たなコンピューティング技術において提供される新たな機能を利用することが可能となる。３次元仮想現実コンピューティング環境の開発に伴い、これらの新たなコンピューティングデバイスを介してユーザに利用可能な新たなツールの利点を得るために新たなユーザインタフェースが必要とされている。
【００１５】
ユーザがソーシャルネットワーキングシステム上でインタラクションするときのユーザエクスペリエンスを改善することは、ソーシャルネットワーキングシステムにとって引き続き重要な関心事である。高品質のユーザインタフェースにより、ユーザはコンピューティングデバイスによって提供される機能を直感的に利用することが可能になる。しかしながら、新たなコンピューティング技術が開発されると、それらは一般に新たな能力を伴う。ほとんどの場合、ユーザはこれらの新たな機能に慣れていないため、ユーザが新たなコンピューティング技術を使用してソーシャルネットワーキングシステムとインタラクションするための最善の方法を決定するのは困難である。そのため、特に新たなユーザインタフェースがユーザに不慣れな新たなコンピューティング技術で使用されるように設計されている場合、ユーザが直感的で使いやすいと感じる新たなユーザインタフェースを実装することは課題である。３次元または仮想現実コンピューティング環境の例では、ユーザが今日利用可能な２次元インタフェースなどの２次元環境に慣れているときに、ユーザを３次元コンピューティング環境に慣れるようにすることは重要な課題である。
【００１６】
コンピュータ技術に根ざした改善された手法は、コンピュータ技術の分野で特に生じる従来の手法に関連する前述および他の不利点を克服する。コンピュータ技術に基づいて、開示された技術は３次元ユーザインタフェースを提供することができる。特定の実施形態では、３次元ユーザインタフェースは、ソーシャルネットワーキングシステム内の複数のユーザによって共有することができる共有３次元ユーザインタフェースとすることができる。例えば、一人または複数人のユーザは、互いにインタラクションするための３次元コンピューティング環境を共有し得る。所与のユーザに対して、ユーザには、３次元コンピューティング環境の一部のみを表す「現在のビュー」が提示され得る。ユーザが、例えばカーソルを移動させることによって、または仮想現実ヘッドセットを装着している間に自身の頭部を動かすことによって、自身の視点を変えると、３次元環境内の現在のビューを変化させることができる。例えば、ユーザは自身の頭部を左方または右方に向けることができ、ユーザに提示される現在のビューは、３次元コンピューティング環境において左方または右方に回転することができる。ユーザは、ソーシャルネットワーキングシステムの他のユーザと共有するために、３次元コンピューティング環境内の至る所にコンテンツを配置することができる。従って、単一の２次元ユーザインタフェースを有するのではなく、３次元コンピューティング環境内の至る所、即ちユーザの現在のビューの左方、右方、前方、後方、上方、および／または下方にコンテンツを配置することができる３次元ユーザインタフェースをユーザに提供することができる。さらに、ユーザは３次元コンピューティング環境内で互いにコンテンツを共有することができる一方で、パーソナルスペースに格納されたコンテンツが現在のユーザにのみ可視となり、そのようなコンテンツがパブリックの環境に移動したときにのみ他のユーザと共有されるように、パーソナルスペース内にコンテンツを保持するオプションもユーザに与えられ得る。これらの概念は、図面を参照して以下により詳細に説明される。
【００１７】
図１は、本開示の一実施形態による、３次元ユーザインタフェースを提供するように構成された例示的な３次元ユーザインタフェースモジュール１０２を含む一例のシステム１００を示す。上記にて簡単に説明したように、３次元ユーザインタフェースは、ソーシャルネットワーキングシステム上のユーザがコンテンツを共有し、互いにインタラクションすることを可能にするための共有３次元ユーザインタフェースとすることができる。特定の実施形態では、３次元ユーザインタフェースは３次元コンピューティング環境を含むことができる。共有コンテンツまたはコンテンツとのインタラクションを表すコンテンツアイテムは、３次元コンピューティング環境内の至る所に配置することができ、かつバックグラウンド環境に対して配置することができる。特定の実施形態では、３次元コンピューティング環境は、ユーザが自身のビューを任意の方向に３６０度回転させることを可能にすることができる。例えば、３次元コンピューティング環境は、４つの壁、１つの床、および１つの天井を有する仮想「部屋」として実施することができ、コンテンツアイテムは部屋内の至る所に配置することができる。コンピューティング環境は、ユーザのビューを整理するのを助けるために様々なバックグラウンド要素を含むことができる。例えば、仮想「部屋」の例では、部屋は机と棚を含むことができ、それによってユーザは特定のコンテンツアイテムを机の上または机の近くに配置し、特定のコンテンツアイテムを棚の上または棚の近くに配置することができる。これらのバックグラウンド要素は、ユーザが３次元コンピューティング環境のどの部分を現在見ているかに関して何らかの基準をユーザが有するように、ユーザに対するアンカーポイントまたは基準点として機能することができる。ユーザに、３次元コンピューティング環境をナビゲートし、３次元コンピューティング環境内のコンテンツアイテムまたは他の要素を操作するための様々なユーザ入力デバイスを提供することができる。例えば、ユーザが３次元コンピューティング環境内で（例えば、ユーザが自身の頭部を回すことによって）自身の現在のビューを変更することを可能にするヘッドセットを設けることができ、かつコンテンツアイテムを操作するためのキーボードおよびマウスまたは他のユーザ入力デバイスを使用することができる。
【００１８】
図１の例に示すように、３次元ユーザインタフェースモジュール１０２は、ビュー操作モジュール１０４、コンテンツアイテム操作モジュール１０６、タスクマネージャモジュール１０８、およびパーソナルスペースモジュール１１０を含むことができる。いくつかの例では、例示的なシステム１００は少なくとも１つのデータストア１１２を含むことができる。この図面および本明細書のすべての図面に示される構成要素（例えば、モジュール、要素など）は例示的なものにすぎず、他の実施形態は追加の、より少ない、統合された、または異なる構成要素を含み得る。関連する詳細が分かりにくくならないように、いくつかの構成要素は示されていない。
【００１９】
ビュー操作モジュール１０４は、３次元ユーザインタフェースまたは３次元コンピューティング環境内でユーザのビューを変更するためのユーザ入力を受信するように構成することができる。いかなる任意の時点においても、３次元コンピューティング環境の一部を表す現在のビューをユーザに提示することができる。ユーザに、ビューを変更するための、すなわち３次元コンピューティング環境内を移動するためのユーザ入力デバイスを提供することができる。例えば、ユーザは、ユーザの頭部の位置および／または方向の変化を判定することができるヘッドセットを備えることができる。ビュー操作モジュール１０４は、ユーザの頭部の方向の変化を示すユーザの頭部方向情報を受信すると、それに応じて、ユーザに提示されるビューを変更することができる。例えば、ユーザが自身の頭部を左方に回転させると、ビューは左方に回転することができ、あるいはユーザが見上げると、ビューは上向きに回転することができる。ユーザの動きに基づいてビューが回転すると、ユーザに３次元コンピューティング環境の別個の部分が提示される。特定の実施形態では、ヘッドセット、または独立した一対の視聴用眼鏡またはゴーグルを使用して、ユーザにユーザインタフェースを提示することができる。
【００２０】
特定の実施形態では、頭部方向情報に加えて、ビュー操作モジュール１０４は、ユーザの眼の動きを追跡する視線追跡情報を受信するように構成することができる。ユーザの眼球運動は、現在のビューを変更するために、および／または現在のビュー内でカーソルを移動するために利用することができる。例えば、現在のビューに４つのコンテンツアイテムがある場合、ユーザは４つのコンテンツアイテム間で自身の眼を動かして、４つのコンテンツアイテム間でカーソルを移動することができる。ユーザが特定のコンテンツアイテムを見ており、カーソルがその特定のコンテンツアイテム上にある場合、コンテンツアイテムは「焦点が合っている」と見なすことができ、その結果、ユーザはそのコンテンツアイテムとインタラクションすることができる。例えば、ユーザは特定のコンテンツアイテムを見てからスクロールホイールをスクロールしてコンテンツアイテムをスクロールすることができ、あるいはユーザはキーボードをタイピングしてコンテンツアイテムに入力することができる。例えば、自身の眼を動かして他のコンテンツアイテムを見ることによって、ユーザがカーソルを他のコンテンツアイテムに移動させると、他のコンテンツアイテムは、ユーザがそのコンテンツアイテムとインタラクションすることができるように焦点の合ったコンテンツアイテムになる。特定の実施形態では、視線追跡情報を使用してカーソルを移動させるのではなく、マウス、トラックパッド、またはトラックボールなどの別の入力デバイスを使用することができる。様々な実施形態では、別個の入力デバイスを互いに連携して使用することができる。
【００２１】
コンテンツアイテム操作モジュール１０６は、３次元ユーザインタフェース内で１つまたは複数のコンテンツアイテムを操作するためのユーザ入力を受信するように構成することができる。上述のように、１つまたは複数のコンテンツアイテムを３次元ユーザインタフェースまたはコンピューティング環境内で開くことができる。特定の実施形態では、各コンテンツアイテムは、現在のユーザによってソーシャルネットワーキングシステムに投稿されたコンテンツ、または他のユーザによってソーシャルネットワーキングシステムに投稿されたコンテンツを表し得る。特定の実施形態では、所与のコンテンツアイテムは、ユーザの好みに基づいて湾曲状であっても直線状であってもよい。湾曲状のコンテンツアイテムは、より立体的な効果、例えば、アイテムユーザを「包み込む」効果を提供することができる。しかしながら、視覚的な明瞭さのために、ユーザは直線状のコンテンツアイテムを好むかもしれない。各コンテンツアイテムについて、ユーザには、湾曲状のプレゼンテーションと直線状のプレゼンテーションとの間で切り替えるオプションが与えられてもよい。ユーザは、コンテンツアイテムに対して様々なアクションを起こすことによってコンテンツアイテムを「操作する」ことができる。例えば、ユーザは、（例えば、ユーザがソーシャルネットワーキングシステムに新たなコンテンツを共有することを所望する場合に）新たなコンテンツアイテムを作成し、コンテンツアイテムを閉じるか、または隠し、現在のビュー全体を満たすようにコンテンツアイテムを最大化し、コンテンツアイテム内の情報とインタラクションし（記事のスクロール、ビデオの再生、コメントの入力など）、またはコンテンツアイテムをサイズ変更し、並べ替え、かつ／または位置を変更することができる。
【００２２】
ユーザに、コンテンツアイテムを操作し、かつコンテンツアイテムとインタラクションするための１つまたは複数のユーザ入力デバイスを提供することが可能である。例えば、ユーザはキーボードやマウスを使用して、例えば、スクロール、入力、またはカーソルの移動などのさまざまなコマンドを入力することができる。特定の実施形態では、ユーザはジェスチャを使用して、特定のアクションを起こすことができる。例えば、ユーザがウェアラブルデバイスを自身の手に装着したり、カメラがユーザの手のジェスチャをキャプチャして、ユーザが自身の手でアイテムを「掴んで」位置変更したり、アイテムの端部を掴んで引き出すか、または押し込んでアイテムのサイズを変更したり、自身の手を使用してアイテム間またはアイテム内をスワイプしたり（例えば、スワイプまたはダウンによってコンテンツアイテムを上下にスクロールできる）、またはユーザがアイテムを「タップして」、特定のボタンまたはコマンドをクリックすることができる。
【００２３】
タスクマネージャモジュール１０８は、３次元ユーザインタフェースの様々な態様を管理するように構成することができる。例えば、タスクマネージャモジュール１０８は、ユーザが新たなコンテンツアイテムを作成することができるタスクバーをユーザに提供するように構成することができる。特定の実施形態では、タスクバーは、３次元コンピューティング環境の特定の領域内に配置することができる。例えば、３次元部屋のコンピューティング環境の例では、タスクバーは部屋の特定の領域内に配置することができる。別の実施形態では、ユーザは特定のジェスチャを実行してタスクバーを開くことができる。例えば、ユーザが真上を向くと、タスクバーが開いてもよく、あるいはユーザがユーザの手首の腕時計を見ることに似たジェスチャを実行すると、タスクバーがユーザの腕に現れてもよい。
【００２４】
タスクマネージャモジュール１０８はまた、コンテンツアイテム提示の様々な態様を自動的に管理するように構成することもできる。例えば、（例えば、現在のユーザが新たなコンテンツアイテムを作成することによって、または新たなコンテンツアイテムが別のユーザによって共有されていることによって）新たなコンテンツアイテムが開かれる場合、タスクマネージャモジュール１０８は、新たなコンテンツアイテムを開くためにユーザの現在のビュー内にオープンスペースを決定するように構成することができる。別の例では、タスクマネージャモジュール１０８は、例えば、現在開いているすべてのコンテンツアイテムをサイズ変更してそれらを現在のビューに合わせるか、またはアイテムを「タイリング」することによって、現在開いているすべてのコンテンツアイテムを自動的に編成するように構成することができる。別の例では、タスクマネージャモジュール１０８は、所与の時間に特定の数のコンテンツアイテム、例えば最大数のコンテンツアイテムのみを開くことを許可するように構成することができる。コンテンツアイテムの最大数を超えるように新たなコンテンツアイテムが開かれると、タスクマネージャモジュール１０８は、コンテンツアイテムのランク付け基準に基づいてコンテンツアイテムを自動的に閉じることができる。例えば、タスクマネージャモジュール１０８は、最もアクティブではないコンテンツアイテムを閉じるか、または最も古いコンテンツアイテムを閉じるなどのように構成することができる。タスクマネージャモジュール１０８は、コンピューティングリソースを管理するように構成することもできる。特定の実施形態では、複数のコンテンツアイテムが開いている場合、特定のコンテンツアイテムは低減されたリフレッシュレートで提示することができる。例えば、「現在の」または「焦点が合っている」コンテンツアイテムは、最大または理想的なリフレッシュレートを表すリフレッシュレートを有することができ、他のすべてのコンテンツアイテムは、焦点が合っているコンテンツアイテムのリフレッシュレートよりも低い低減されたリフレッシュレートを有することができる。
【００２５】
パーソナルスペースモジュール１１０は、３次元ユーザインタフェース内にパーソナルスペース機能を実装するように構成することができる。例えば、３次元ユーザインタフェースはパブリックスペースとパーソナルスペースの両方を含むことができる。特定の実施形態では、３次元ユーザインタフェースは、複数のユーザによってアクセス可能な共有３次元コンピューティング環境を含むことができる。この共有コンピューティング環境では、ソーシャルネットワーキングシステムのユーザは、共有コンピューティング環境内の他のユーザに対して可視であるコンテンツアイテムを共有することができる。本明細書で説明されているように、パブリックスペースは、複数のユーザがアクセス可能であるが、必ずしもすべてのユーザがアクセス可能なものではないことを理解されたい。例えば、パブリックスペースは、ソーシャルネットワーキングシステムの複数のユーザがアクセス可能であるが、必ずしもソーシャルネットワーキングシステムのすべてのユーザがアクセス可能ではない共有コンピューティング環境であり得る（ソーシャルネットワーキングシステムのすべてのユーザがアクセス可能であることは可能であるが）。しかしながら、各ユーザは、現在のユーザのみがアクセス可能かつ可視である情報を保持できるパーソナルスペースまたはプライベートスペースを持つことができる。この機能は、例えば、ユーザがコンテンツをパブリックスペースと共有したいが、ユーザが共有することを所望するコンテンツを探す必要がある場合に便利である。現在のユーザが、例えば、自身が共有することを所望するコンテンツを発見するために様々な写真またはビデオをスクロールするとき、的確なコンテンツを探すことを試みる間、現在のユーザは、自身がスクロールしている他のすべての写真またはビデオを他の人に見られることを所望しない場合があり得る。従って、現在のユーザは、自身が共有することを所望するのに的確なコンテンツを見つけるまで、自身のパーソナルスペース内のコンテンツをスクロールしてから、そのコンテンツを他のユーザと共有するためにパブリックスペースに移動することができる。特定の実施形態では、（例えば、ファイルに関連付けられたメタデータによって定義されるような）コンテンツ特性は、特定のコンテンツがパーソナルスペース内外に移動できるかどうかを決定することができる。例えば、コンテンツ投稿の時間、コンテンツ投稿の場所、コンテンツ投稿に関連付けられた任意のタグ、コンテンツ投稿に関連付けられたコメント情報などは、コンテンツ投稿がユーザのパーソナルスペースから共有／パブリックスペースに、またはその逆に移動されることができるかどうかを制限し得る。
【００２６】
ユーザは、自身のパーソナルスペースにアクセスするために特定のジェスチャを実行することができる。例えば、ユーザは自身の手首を時間をチェックするように見ることができ、これにより、自身のパーソナルスペースを開くためにユーザが選択することができるパーソナルスペースアイコンを開くことができる。パーソナルスペースを閉じるために同じアイコンを選択することができる。ユーザは、パブリックスペースから自身のパーソナルスペースに、またはその逆にものを移動することができる。例えば、ユーザは自身のパーソナルスペース内のものをパブリックスペースに移動して他のユーザと共有するか、またはユーザはパブリックコンテンツを取得してユーザのパーソナルスペースに移動するか、またはコピーすることができる。ユーザは自身のパーソナルスペースを再配置または編成することができ、そのような編成を、次回ユーザが自身のパーソナルスペースを開いたときに、そのパーソナルスペースが最後に閉じられたときのように見えるようにメモリに記憶することができる。特定の実施形態では、ユーザが自身のパーソナルスペースを開いたときに、パーソナルスペースがフォアグラウンドで提示されている間に、パーソナルスペースの外側のすべてのコンテンツをバックグラウンドに目立たないように移動させることができる。特定の実施形態では、バックグラウンドは、ユーザがユーザのパーソナルスペースを現在見ていることを示すために、ぼかしたり、彩度を低減したり、あるいは視覚的に強調を抑えることができる。
【００２７】
特定の実施形態において、パーソナルスペース機能は、ユーザのプライバシー設定に基づいて「中間」レベルのパーソナルスペースを可能にし得る。例えば、ユーザは、１つまたは複数のコンテンツ投稿に対するプライバシー設定を、それらのコンテンツ投稿が共有環境内の特定の一部のユーザのみと共有されるように指定することができる。プライバシー設定は、ユーザが現在いる共有環境の種類、共有されるコンテンツの種類、共有環境内の個々のユーザまたはユーザグループのユーザ特性などに基づいて定義され得る。例えば、ユーザがパブリック共有スペース（ある種類の共有環境）内に存在し、ユーザが写真（ある種類のコンテンツ）を投稿する場合、ユーザは、ソーシャルネットワーキングシステム上のつながりのあるユーザ（共有環境内のユーザのユーザ特性）のみがコンテンツ投稿を視聴することができるように指定することができる。
【００２８】
特定の実施形態では、パーソナルスペースモジュール１１０は、ユーザのパーソナルスペース内のユーザにパーソナル通知を提供するように構成することができる。例えば、ユーザが共有３次元コンピューティング環境にいる場合、ユーザは、新たな電子メール、新たなメッセージ、またはポップアップウェブブラウザウィンドウの通知など、別のアプリケーションから自身のコンピューティングデバイス上にポップアップ通知を受信することができる。ユーザはこれらの通知が提供されること所望するかもしれないが、共有コンピューティング環境内の誰もがこれらの通知を見ることができることを所望するわけではないかもしれない。従って、現在のユーザには通知を知らせるが、共有コンピューティング環境内の他のユーザには知らせないように、ユーザは、自身のパーソナルスペースで通知を受信することができる。
【００２９】
特定の実施形態では、パーソナルスペースモジュール１１０は、ユーザの会話理解（例えば、スピーチ、テキストなど）を提供して潜在的な会話関連コンテンツをユーザに提示するように構成することもできる。例えば、現在のユーザが共有環境で他のユーザと会話またはインタラクションしており、かつ特定のトピックがディスカッションで登場した場合（例えば、１つまたは複数のキーワードによって決定されるようなもの）、潜在的な会話関連コンテンツを現在のユーザのパーソナルスペース内の現在のユーザに提示することができる。例えば、現在の会話のトピックに関連し得る他のユーザのコンテンツ投稿、ニュース投稿または記事、イベント、ページ、人などの会話関連フィードを現在のユーザに提示することができる。会話関連フィードに関して選択されるコンテンツは、例えば、キーワード、現在のユーザに関連するユーザ特性、現在のユーザに関連するソーシャルネットワークエンゲージメント特性などに基づいて決定される現在の会話のトピックに基づいて決定することができる。特定の実施形態では、機械学習モデルを訓練して、現在のユーザおよび／または会話中の他のユーザが最も興味のある会話関連コンテンツを決定することができる。
【００３０】
３次元ユーザインタフェースモジュール１０２は、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせとして、部分的にまたは全体的に実施することができる。一般に、本明細書で説明されるモジュールは、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせと関連付けることができる。いくつかの実施形態では、モジュールの１つまたは複数の機能、タスク、および／または処理は、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および／またはそれらの任意の組合せによって実行または実施することができる。いくつかの例では、３次元ユーザインタフェースモジュール１０２は、サーバコンピューティングシステムまたはユーザ（またはクライアント）コンピューティングシステムなどの１つまたは複数のコンピューティングデバイスまたはシステム上で稼動するソフトウェアとして、部分的または全体的に実施することができる。例えば、３次元ユーザインタフェースモジュール１０２または３次元ユーザインタフェースモジュール１０２の少なくとも一部は、図６のユーザデバイス６１０などのユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上で稼動するアプリケーション（例えば、アプリ）、プログラム、またはアプレットなどとして実施するか、またはそれらの中で実施することができる。別の例では、３次元ユーザインタフェースモジュール１０２または３次元ユーザインタフェースモジュール１０２の少なくとも一部は、ネットワークサーバまたはクラウドサーバなどの１つまたは複数のサーバを含む１つまたは複数のコンピューティングデバイスまたはシステムを使用して実施することができる。いくつかの例では、３次元ユーザインタフェースモジュール１０２は、部分的にまたは全体として、図６のソーシャルネットワーキングシステム６３０などのソーシャルネットワーキングシステム（またはサービス）内で実施されるか、またはソーシャルネットワーキングシステム（またはサービス）と共に動作するように構成することができる。多くの変形形態または他の可能性があり得ることを理解されたい。
【００３１】
例示的なシステム１００に示すように、３次元ユーザインタフェースモジュール１０２は、少なくとも１つのデータストア１１２と通信し、かつ／または少なくとも１つのデータストア１１２と動作するように構成することができる。データストア１１２は、様々な種類のデータを格納し維持するように構成することができる。いくつかの実施形態では、データストア１１２は、ソーシャルネットワーキングシステム（例えば、図６のソーシャルネットワーキングシステム６３０）に関連する情報を格納することができる。ソーシャルネットワーキングシステムに関連する情報は、ユーザに関するデータ、ユーザ識別子、ソーシャルつながり、ソーシャルインタラクション、プロフィール情報、人口統計情報、位置、ジオフェンスエリア、地図、場所、イベント、ページ、グループ、投稿、通信、コンテンツ、フィード、アカウント設定、プライバシー設定、ソーシャルグラフ、および種々のその他の種類のデータを含むことができる。いくつかの実施形態において、データストア１１２は、３次元ユーザインタフェースモジュール１０２によって利用される情報を格納することができる。例えば、データストア１１２は、ユーザインタラクション情報、ユーザプリファレンス、アプリケーションデータなどを格納することができる。多くの変形または他の可能性があり得ることが企図される。
【００３２】
図２Ａ〜図２Ｂは、３次元ユーザインタフェース内でのユーザのビューを変更または操作することに関連する例示的なシナリオ２００を示す。例示的なシナリオ２００は、ユーザインタフェース２０２を含む。図２Ａにおいて、ユーザインタフェース２０２は、ユーザが４つのコンテンツアイテム２０４、２０６、２０８、２１０を見ることができる現在のビューを示す。コンテンツアイテム２０４、２０６、２０８、２１０は、ユーザがソーシャルネットワーキングシステムと共有したコンテンツ、またはソーシャルネットワーキングシステム上の他のユーザによって共有されたコンテンツであり得る。現在のビューは、３次元ユーザインタフェースによって定義された３次元コンピューティング環境の一部を表す。ユーザは、ユーザの現在のビューを変更するためのユーザ入力を提供することができる。例えば、ユーザはヘッドセットを装着した状態で自身の頭部を移動させるか、またはユーザは自身のマウスを画面の端部に移動させて、特定の方向にビューを「押す」ことができる。
【００３３】
図２Ｂでは、ユーザは、（例えば、頭部を左方に向けることによって）自身のビューを左方に移動させている。自身のビューを左方に回転させることによって、現時点で、図２Ａに以前に提示された部分とは異なる３次元コンピューティング環境の部分がユーザに提示される。以前はユーザのビューの左端にあったコンテンツアイテム２０４が中央に配置され、以前に中央に配置されていたコンテンツアイテム２０６および２１０がユーザのビューの右端に移動したことが分かる。新たなコンテンツアイテム２２０がビューに登場している。コンテンツアイテム２２０は、図２Ａでは以前は見えなかったが、ユーザの現在のビューの変更に基づいて登場している。
【００３４】
ユーザインタフェース２０２は、ユーザが所与の時間にインタラクションするために１つのコンテンツアイテムを選択することができるようにするカーソルを含むことができる。カーソルは、ユーザが操作することができる移動可能なカーソルとすることができる。例えば、ユーザの眼の動きに基づいてカーソルが移動するようにカーソルを視線追跡情報に基づいて移動させるか、あるいはマウス、トラックパッド、または同様の入力デバイスを用いてカーソルを移動させることができる。特定の実施形態では、ユーザがどのコンテンツアイテムとインタラクションしたいかをユーザがコンテンツアイテムを画面の中央に配置することによって選択するように、カーソルを画面の中央に固定することができる。
【００３５】
図３Ａ〜図３Ｃは、３次元ユーザインタフェースにおけるコンテンツアイテムとのインタラクションに関連する例示的なシナリオ３００を示す。例示的なシナリオ３００は、ユーザインタフェース３０２を含む。図３Ａにおいて、ユーザインタフェース３０２は、ユーザがバックグラウンド環境に設定された２つのコンテンツアイテム３１２、３１４を見ている現在のビューを示す。ユーザインタフェース３０２において、バックグラウンド環境は、机３０６と装飾ブロック３０８とを含む仮想部屋３０４である。バックグラウンド環境、すなわち仮想部屋３０４、机３０６、および装飾ブロック３０８は、ソーシャルネットワーキングシステムの１人または複数のユーザによってアクセス可能な共有スペースを表すことができる。バックグラウンド環境は、３次元コンピューティング環境内の異なるビューを区別し、かつ３次元コンピューティング環境内でコンテンツアイテムを編成する際にユーザを支援するためにアンカーポイントを提供することによってユーザを支援することができる。特定の実施形態では、バックグラウンド環境はインタラクション型要素を含み得る。例えば、ユーザは、机３０６上にコンテンツアイテムを平らに置くこと、または仮想部屋３０４の壁にコンテンツアイテムを「掛ける」こと、またはブロック３０８の上にコンテンツアイテムを置くこと、またはブロック３０８に対してコンテンツアイテムを傾けることなどを行い得る。
【００３６】
図３Ａにおいて、ユーザは仮想右手３１０を介してコンテンツアイテム３１２とインタラクションしている。仮想右手３１０は、ユーザが様々なユーザ入力を使用することによって操作することができる。例えば、ユーザは、ユーザの実際の手の動きを仮想右手３１０の動きに変換するウェアラブルデバイスを着用することができる。同様に、カメラを使用して、ユーザの手によって行われた動きを決定して、ユーザの動きを仮想右手３１０に変換することができる。別の例では、ユーザは、コントローラ、ジョイスティック、および／またはマウスを使用して、仮想右手３１０を制御することができる。図３Ａでは、ユーザはコンテンツアイテム３１２を掴んでコンテンツアイテム３１２を移動させて、さらにコンテンツアイテム３１２とインタラクションする。
【００３７】
図３Ｂでは、ユーザはコンテンツアイテム３１２を左方に移動しており、仮想左手３２０を使用してコンテンツアイテム３１２とインタラクションしている。仮想右手３１０の場合と同様に、仮想左手３２０は、ユーザ入力に基づいて制御することができる。ユーザのビューが図３Ａから図３Ｂに向かって下方かつ左方にシフトしていることも分かる。例えば、図２Ａ〜図２Ｂに関して上述したように、ビューの変化は、ユーザ入力によって、例えば、ユーザが自身の頭部を下方かつ左方に動かすことによって達成されてもよい。
【００３８】
図３Ｃでは、ユーザは、コンテンツアイテム３１２および３１４の両方を取り出し、それらを机３０６の上にホバリングするように配置した。ユーザは、例えば、コンテンツアイテム３１２を掴み、コンテンツアイテム３１２を机３０６の上方の新たな位置に移動させ、次にコンテンツアイテム３１４を掴み、コンテンツアイテム３１４をコンテンツアイテム３１２の隣の机３０６の上方の新たな位置に移動させることによってこれを行い得る。別の実施形態では、物理的な手のジェスチャを使用するのではなく、ユーザはキーボードおよびマウスなどの異なる入力デバイスを使用することによってコンテンツアイテムを操作することができる（例えば、ユーザはマウスを使用してコンテンツアイテムをクリックしてある場所から別の場所にドラッグすることができる）。図３Ｃに示されるビューが、図３Ｂから上方へ（そして図３Ａの上方かつ左方へ）移動したことが分かる。本明細書に記載された様々な機能に基づいて、ユーザは、（例えば、ヘッドセットによって決定されるようなユーザの頭部の位置に基づいて）３次元ユーザインタフェースを容易にナビゲートし、（例えば、手の動き、またはコントローラ、ジョイスティック、キーボード、マウスなどの入力デバイスの操作により）３次元仮想環境の全体にわたって配置されたコンテンツアイテムとインタラクションすることができる。例示的なシナリオ３００は、３次元ユーザインタフェース内でのコンテンツアイテムの再配置を示しているが、他の様々なインタラクションを実施することができることを理解されたい。例えば、ユーザは、コンテンツアイテムの角部または端部を掴んで引き出したり押し込んだりしてコンテンツアイテムのサイズを変更したり、ビデオをタップしてビデオを再生したり、コンテンツアイテムにタイピングして、コンテンツアイテムにコメントまたは応答を入力するなど、コンテンツアイテム内のコンテンツとインタラクションすることができる。３次元ユーザインタフェースの３次元性はまた、コンテンツアイテムが垂直である必要はないが任意の角度で配置されることができるように、ユーザが異なる方向にコンテンツアイテムを配置することを可能にする。
【００３９】
図４Ａ〜図４Ｈは、共有３次元ユーザインタフェース内のパーソナルスペースとインタラクションすることに関連する例示的なシナリオ４００を示す。図４Ａにおいて、例示的なシナリオ４００は、現在のビューが、机４０６、装飾球体４０８、ピラミッド４１０、および立方体４１２などの様々なバックグラウンド要素を有する（３次元部屋として表される）３次元コンピューティング環境４０４を示すユーザインタフェース４０２を含む。特定の実施形態では、３次元コンピューティング環境４０４は、複数のユーザがその環境に入り、かつコンピューティング環境４０４内の様々な要素を見ることができるようにする共有コンピューティング環境とすることができる。例えば、複数のユーザは、机４０６、球体４０８、ピラミッド４１０、および立方体４１２を有する部屋を見ることができる。複数のユーザはまた、共有３次元コンピューティング環境４０４に配置されている任意のコンテンツアイテムを見ることができる。
【００４０】
例示的なシナリオ４００では、現在のユーザは、ユーザがパーソナルスペースを開くために選択することができるパーソナルスペースアイコン４２５を含む仮想左手４２０によって表される。図４Ｂでは、ユーザは、パーソナルスペース４２８を開くためにパーソナルスペースアイコン４２５を選択している。パーソナルスペース４２８は、３つのコンテンツアイテム４３０、４３２、および４３４を含む。パーソナルスペース４２８内のすべてのコンテンツアイテムは、現在のユーザにのみ可視であり、共有コンピューティング環境４０４内の他のユーザには可視ではない。３つのパーソナルコンテンツアイテム４３０、４３２、４３４はフォアグラウンドに現れ、一方、共有３次元コンピューティング環境における他のすべての要素はバックグラウンドに現れる。特定の実施形態では、パーソナルスペース４２８がユーザによって開かれると、パーソナルスペース４２８の外側のすべての要素（例えば、コンピューティング環境およびコンピューティング環境内の任意のパブリックコンテンツアイテムを含む）は視覚的に強調されなくなる。例えば、パーソナルスペース４２８の外側の全ての要素をぼかすこと、および／又は彩度を落とすことができる。
【００４１】
ユーザは、パーソナルスペース４２８内でコンテンツアイテムを再編成することができる。例えば、図４Ｃでは、ユーザは、コンテンツアイテム４３４をパーソナルスペース４２８の上部からパーソナルスペース４２８の左側に移動させている。ユーザはまた、パーソナルスペース４２８の内外にコンテンツアイテムを移動することができる。例えば、ユーザは他のユーザとコンテンツアイテム４３４を共有することを所望し得る。図４Ｄでは、ユーザは、自身の右手（仮想右手４２２によって表される）を使用してコンテンツアイテム４３４を掴み、コンテンツアイテム４３４をパーソナルスペース４３４から共有３次元コンピューティング環境４０４内に移動させている。
【００４２】
図４Ｄでは、ユーザは自身のビューを右方にシフトして、机４０６上のモニタ４４０と投影スクリーン４４２を現している。これらは、共有３次元コンピューティング環境４０４内のインタラクション型要素であり得る。例えば、ユーザは、モニタ４４０または投影スクリーン４４２にコンテンツを表示することによって他のユーザとコンテンツを共有することができる。図４Ｅでは、ユーザは、モニタ４４０上にコンテンツアイテム４３４を表示しており、さらにコンテンツアイテム４３４を投影スクリーン４４２に向かって移動させて、コンテンツアイテム４３４を投影スクリーン４４２に投影している。例えば、ユーザは、コンテンツアイテム４３４をモニタ４４０または投影スクリーン４４２の近傍に一定期間保持することによって、コンテンツアイテム４３４をモニタ４４０または投影スクリーン４４２に提示することができる。図４Ｆでは、ユーザはモニタ４４０と投影スクリーン４４２の両方にコンテンツアイテム４３４を表示している。この例示的なシナリオ４００では、コンテンツアイテム４３４は、コンテンツアイテム４３４をタップしてビデオの再生を開始することによってユーザがモニタ４４０および投影スクリーン４４２上で再生することができるビデオを含む。
【００４３】
図４Ｇにおいて、ユーザは、ユーザの仮想右手４２２を使用してパーソナルスペースアイコン４２５をタップすることによってユーザのパーソナルスペース４２８を再び開いている。コンテンツアイテム４３４は以前にパーソナルスペース４２８から取り出され、共有３次元コンピューティング環境４０４に移動されたので、パーソナルスペース４２８は現時点では２つのコンテンツアイテム４３０、４３２のみを含む。従って、コンテンツアイテム４３４は現時点ではバックグラウンドに現れる。ユーザは、コンテンツアイテム４３４をパーソナルスペース４２８に戻すことを所望し得る。図４Ｈでは、ユーザは、共有３次元コンピューティング環境４０４からコンテンツアイテム４３４を掴み、コンテンツアイテム４３４を自身のパーソナルスペース４２８に戻している。特定の実施形態では、現在のユーザが自身のパーソナルスペースに格納することを所望する共有コンテンツを他のユーザが有する場合、現在のユーザは、その共有コンテンツに関連するコンテンツアイテムを掴み、そのコンテンツアイテムを自身のパーソナルスペースにコピーすることができる。例えば、現在のユーザは、現在のユーザが後で見るか、または現在のユーザが後で他のユーザと共有することを所望する、他のユーザによって共有されている画像またはビデオクリップを見ることができる。現在のユーザは、将来の参照のために自身のパーソナルスペースに共有コンテンツを保存することができる。
【００４４】
図５は、本開示の一実施形態による、共有３次元ユーザインタフェースにおいてパーソナルスペースとインタラクションすることに関連する例示的な方法５００を示す。特に明記しない限り、本明細書で説明する様々な特徴および実施形態に基づいて、類似のまたは代替の順序で、または並行して、追加の、より少ない、または代替のステップを実行できることを理解されたい。
【００４５】
ブロック５０２において、例示的な方法５００は、共有３次元コンピューティング環境を複数のユーザに提示する。ブロック５０４において、例示的な方法５００は、現在のユーザによる第１のユーザ入力に基づいて現在のユーザに関連付けられたパーソナルスペースを現在のユーザに提示する。パーソナルスペースは、現在のユーザのみに可視である１つまたは複数のコンテンツアイテムを含む。ブロック５０６において、例示的な方法５００は、現在のユーザによる第２のユーザ入力に基づいて、パーソナルスペースから共有３次元コンピューティング環境に１つまたは複数のコンテンツアイテムのうちの第１のコンテンツアイテムを移動させる。パーソナルスペースから共有３次元コンピューティング環境への第１のコンテンツアイテムの移動により、第１のコンテンツアイテムが複数のユーザに可視となる。本技術の様々な特徴および実施形態を組み込んだ他の適切な技術も可能である。
【００４６】
ソーシャルネットワーキングシステム  −  例示的な実施形態
図６は、本開示の一実施形態による、向上したビデオ符号化のための様々な実施形態で利用され得る例示的なシステム６００のネットワーク図を示す。システム６００は、１つまたは複数のユーザデバイス６１０と、１つまたは複数の外部システム６２０と、ソーシャルネットワーキングシステム（ソーシャルネットワーキングサービス）６３０と、ネットワーク６５０とを含む。一実施形態では、前述の実施形態との関連で論じられたソーシャルネットワーキングサービス、プロバイダ、および／またはシステムは、ソーシャルネットワーキングシステム６３０として実装されてよい。例示の目的のために、図６によって示される、システム６００の実施形態は、単一の外部システム６２０と、単一のユーザデバイス６１０とを含む。ただし、他の実施形態において、システム６００は、より多くのユーザデバイス６１０、および／または、より多くの外部システム６２０を含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム６３０は、ソーシャルネットワークプロバイダによって運営されるのに対して、外部システム６２０は、異なるエンティティによって運営され得るという点で、ソーシャルネットワーキングシステム６３０とは別個のものである。しかしながら、様々な実施形態において、ソーシャルネットワーキングシステム６３０および外部システム６２０は、共に動作して、ソーシャルネットワーキングシステム６３０のユーザ（またはメンバー）に対してソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキングシステム６３０は、外部システム６２０などの他のシステムがインターネット上のユーザに対してソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
【００４７】
ユーザデバイス６１０は、ユーザから入力を受信し、ネットワーク６５０を通じてデータを送受信することができる１つまたは複数のコンピューティングデバイス（またはコンピューティングシステム）を備える。一実施形態において、ユーザデバイス６１０は、例えば、マイクロソフトウィンドウズ（登録商標）と互換性のあるオペレーティングシステム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘ（登録商標）ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス６１０は、スマートフォン、タブレット、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯電話、その他などのコンピュータ機能を有するデバイスであってもよい。ユーザデバイス６１０は、ネットワーク６５０を通じて通信するように構成される。ユーザデバイス６１０は、アプリケーション、例えば、ユーザデバイス６１０のユーザがソーシャルネットワーキングシステム６３０と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス６１０は、ｉＯＳおよびＡＮＤＲＯＩＤ（登録商標）などの、ユーザデバイス６１０のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース（ＡＰＩ）を通じてソーシャルネットワーキングシステム６３０を対話する。ユーザデバイス６１０は、ネットワーク６５０を通じて外部システム６２０およびソーシャルネットワーキングシステム６３０と通信するように構成される。ネットワーク６５０は、有線通信システムおよび／または無線通信システムを使用する、ローカルエリアネットワークおよび／または広域ネットワークの任意の組み合わせを備え得る。
【００４８】
１つの実施形態において、ネットワーク６５０は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク６５０は、イーサネット（登録商標）、８０２．１１、マイクロ波アクセスのための世界的相互運用性（ＷｉＭＡＸ：ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、３Ｇ、４Ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＬＴＥ、デジタル加入者線（ＤＳＬ：ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ）等などの技術を使用するリンクを含み得る。同様に、ネットワーク６５０上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング（ＭＰＬＳ：ｍｕｌｔｉｐｒｏｔｏｃｏｌ  ｌａｂｅｌ  ｓｗｉｔｃｈｉｎｇ）、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ：ｓｉｍｐｌｅ  ｍａｉｌ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）、ファイル転送プロトコル（ＦＴＰ）などを含み得る。ネットワーク６５０上で交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ）および拡張マークアップ言語（ＸＭＬ）を含む技術および／またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、およびインターネットプロトコルセキュリティ（ＩＰｓｅｃ）などの従来の暗号化技術を使用して暗号化され得る。
【００４９】
１つの実施形態において、ユーザデバイス６１０は、外部システム６２０から、およびソーシャルネットワーキングシステム６３０から受信されるマークアップ言語文書６１４を、ブラウザアプリケーション６１２を使用して処理することによって、外部システム６２０からのコンテンツおよび／またはソーシャルネットワーキングシステム６３０からのコンテンツを表示し得る。マークアップ言語文書６１４は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する１つまたは複数の命令とを識別する。マークアップ言語文書６１４内に含まれる命令を実行することによって、ブラウザアプリケーション６１２は、マークアップ言語文書６１４によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書６１４は、外部システム６２０およびソーシャルネットワーキングシステム６３０から得られたテキストおよび／または画像データを含む複数のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書６１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパーテキストマークアップ言語（ＸＨＴＭＬ）データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書６１４は、外部システム６２０とユーザデバイス６１０との間のデータ交換を容易にするためのジャバスクリプトオブジェクトノーテーション（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ（登録商標）Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）データ、パディング付きのＪＳＯＮ（ＪＳＯＮＰ：ＪＳＯＮ  ｗｉｔｈ  ｐａｄｄｉｎｇ）データ、およびジャバスクリプトデータを含み得る。ユーザデバイス６１０上のブラウザアプリケーション６１２は、ジャバスクリプトコンパイラを使用して、マークアップ言語文書６１４を復号し得る。
【００５０】
マークアップ言語文書６１４は、ＦＬＡＳＨ（商標）アプリケーションまたはＵｎｉｔｙ（商標）アプリケーション、ＳｉｌｖｅｒＬｉｇｈｔ（商標）アプリケーションフレームワーク等などの、アプリケーションまたはアプリケーションフレームワークも含み、または、これらに対してもリンクし得る。
【００５１】
１つの実施形態において、ユーザデバイス６１０は、ユーザデバイス６１０のユーザがソーシャルネットワーキングシステム６３０へログインしたかを示すデータを含む、１つまたは複数のクッキー６１６も含む。クッキー６１６は、ソーシャルネットワーキングシステム６３０からユーザデバイス６１０へ通信されるデータのカスタム化を可能にし得る。
【００５２】
外部システム６２０は、１つまたは複数のウェブページ６２２ａ、６２２ｂを含む、１つまたは複数のウェブサーバを含む。１つまたは複数のウェブページ６２２ａ、６２２ｂは、ネットワーク６５０を使用して、ユーザデバイス６１０へ通信される。外部システム６２０は、ソーシャルネットワーキングシステム６３０とは別個である。例えば、外部システム６２０は、第１のドメインに対して関連付けられるが、ソーシャルネットワーキングシステム６３０は、別個のソーシャルネットワーキングドメインに対して関連付けられる。外部システム６２０に含まれるウェブページ６２２ａ、６２２ｂは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書６１４を備える。
【００５３】
ソーシャルネットワーキングシステム６３０は、複数のユーザを含み、ソーシャルネットワークのユーザに対して、ソーシャルネットワークの他のユーザと通信および対話するための能力を提供する、ソーシャルネットワークのための１つまたは複数のコンピューティングデバイスを含む。さらに詳細に説明されるように、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャルネットワークを表現するために使用され得る。ソーシャルネットワーキングシステム６３０は、オペレータによって監督、管理、または制御されてよい。ソーシャルネットワーキングシステム６３０のオペレータは、ソーシャルネットワーキングシステム６３０内でコンテンツを管理し、ポリシを統制し、使用メトリクスを収集するための、人間、自動化されたアプリケーション、または一連のアプリケーションであってよい。任意のタイプのオペレータが使用されてよい。
【００５４】
ユーザは、ソーシャルネットワーキングシステム６３０に加入し、次いで、そのユーザがつなげられることを望む、ソーシャルネットワーキングシステム６３０の任意の数の他のユーザへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザがソーシャルネットワーキングシステム６３０を通じてつながり、関連、または関係を形成した、ソーシャルネットワーキングシステム６３０の任意の他のユーザに及ぶ。例えば、一実施形態において、ソーシャルネットワーキングシステム６３０内のユーザが、ソーシャルグラフ内のノードとして表現される場合、「友達」という用語は、２つのユーザノード間に形成され、かつ、２つのユーザノードを直接的に接続するエッジを指し得る。
【００５５】
つながりは、ユーザによって明示的に追加されても、または、ユーザの共通の特性（例えば、同じ教育機関の卒業生であるユーザ）に基づいて、ソーシャルネットワーキングシステム６３０によって自動的に作成されてもよい。例えば、第１のユーザは、友達になりたい特定の他のユーザを具体的に選択する。ソーシャルネットワーキングシステム６３０におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザ」および「友達」という用語は、枠組みに依存する。ソーシャルネットワーキングシステム６３０のユーザ間のつながりは、通常は、双務的（「二方向」）または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャルネットワーキングシステム６３０のユーザであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャルネットワーキングシステム６３０へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザ間のつながりは、直接的なつながりであり得る。ただし、ソーシャルネットワーキングシステム６３０のいくつかの実施形態は、つながりが、１つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。
【００５６】
ユーザ間のつながりを確立および維持し、ユーザ間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム６３０は、ソーシャルネットワーキングシステム６３０によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザに対して提供する。こうしたアイテムは、ソーシャルネットワーキングシステム６３０のユーザが所属し得るグループまたはネットワーク（すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク）、ユーザが興味を持ち得るイベントまたはカレンダー入力、ユーザがソーシャルネットワーキングシステム６３０を通じて使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム６３０によって提供されるサービスを通じてまたはソーシャルネットワーキングシステム６３０を通じてユーザがアイテムを購入または販売することを可能にする取引、ならびにユーザがソーシャルネットワーキングシステム６３０内外で実行し得る広告との対話を含み得る。これらは、ユーザがソーシャルネットワーキングシステム６３０上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザは、ソーシャルネットワーキングシステム６３０において、または、ソーシャルネットワーキングシステム６３０とは別個の外部システム６２０もしくはネットワーク６５０を通じてソーシャルネットワーキングシステム６３０に対して結合される外部システム６２０において表現されることが可能なありとあらゆるものと対話し得る。
【００５７】
ソーシャルネットワーキングシステム６３０は、多様なエンティティとリンクすることも可能である。例えば、ソーシャルネットワーキングシステム６３０は、ユーザが互いに対話すること、および、ＡＰＩ、ウェブサービス、または他の通信チャネルを通じて外部システム６２０または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム６３０は、複数のエッジによって相互接続された複数のノードを備える「ソーシャルグラフ」を生成および維持する。ソーシャルグラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび／または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザ、人間以外のエンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム６３０内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ内の２つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、２つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかのケースでは、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられている属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザが別のユーザに対して「いいね」を表明するときに作成されるエッジには、ある重みが与えられてよく、ユーザが別のユーザと友達になるときに作成されるエッジには、異なる重みが与えられてよい。
【００５８】
例として、第１のユーザが第２のユーザを友達として識別した場合、第１のユーザを表すノードと、第２のユーザを表す第２のノードとを接続するソーシャルグラフ中のエッジが生成される。様々なノードが互いに関係するかまたは対話するのに伴い、ソーシャルネットワーキングシステム６３０は、関係および対話を反映するように、様々なノードを接続するエッジを修正する。
【００５９】
ソーシャルネットワーキングシステム６３０は、ユーザによるソーシャルネットワーキングシステム６３０との対話を高める、ユーザにより生成されたコンテンツも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム６３０に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザは、ユーザデバイス６１０からソーシャルネットワーキングシステム６３０への投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび／もしくはメディアを含み得る。コンテンツも、第三者によってソーシャルネットワーキングシステム６３０に対して追加され得る。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム６３０においてオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム６３０のユーザは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザ同士の対話を増加させ、ユーザがソーシャルネットワーキングシステム６３０と対話する頻度を増加させる。
【００６０】
ソーシャルネットワーキングシステム６３０は、ウェブサーバ６３２と、ＡＰＩ要求サーバ６３４と、ユーザプロファイルストア６３６と、つながりストア６３８と、アクションロガー６４０と、アクティビティログ６４２と、認証サーバ６４４とを含む。本発明の一実施形態において、ソーシャルネットワーキングシステム６３０は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインタフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。
【００６１】
ユーザプロファイルストア６３６は、ユーザによって申告され、またはソーシャルネットワーキングシステム６３０によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザプロファイルストア６３６内に記憶される。ソーシャルネットワーキングシステム６３０は、異なるユーザ間の１つまたは複数のつながりを記述するデータも、つながりストア６３８内に記憶する。つながり情報は、同様または共通の職歴、グループメンバーシップ、趣味、または学歴を有するユーザを示し得る。また、ソーシャルネットワーキングシステム６３０は、ユーザの他のユーザとの関係をユーザが特定することを可能にする、異なるユーザ間におけるユーザによって定義されたつながりを含む。例えば、ユーザによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザの実生活の関係と並行する、他のユーザとの関係をユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、またはユーザ自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャルネットワーキングシステム６３０内の他のノードとのつながりも、つながりストア６３８内に記憶される。
【００６２】
ソーシャルネットワーキングシステム６３０は、ユーザが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロファイルストア６３６およびつながりストア６３８は、ソーシャルネットワーキングシステム６３０によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロファイルストア６３６は、ユーザのアカウントおよびユーザのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャルネットワーキングシステム６３０は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザがソーシャルネットワーキングシステム６３０のユーザになった場合に発生し、ソーシャルネットワーキングシステム６３０は、ユーザプロファイルストア６３６内にユーザプロファイルの新たなインスタンスを生成し、ユーザアカウントに対して一意の識別子を割り当て、ユーザによって提供される情報をユーザアカウントのフィールドへ投入し始める。
【００６３】
つながりストア６３８は、他のユーザに対するユーザのつながり、外部システム６２０に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア６３８は、つながりタイプもユーザのつながりと関連付け得る。つながりタイプは、ユーザのプライバシー設定と共に使用されて、ユーザに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザプロファイルストア６３６およびつながりストア６３８は、連合データベースとして実装され得る。
【００６４】
つながりストア６３８、ユーザプロファイルストア６３６、およびアクティビティログ６４２内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャルグラフをソーシャルネットワーキングシステム６３０が生成することを可能にする。例えば、第１のユーザが、ソーシャルネットワーキングシステム６３０内で第２のユーザとのつながりを確立する場合、ユーザプロファイルストア６３６からの第１のユーザおよび第２のユーザのユーザアカウントは、ソーシャルグラフ内のノードとして動作し得る。つながりストア６３８によって記憶される、第１のユーザと第２のユーザとの間のつながりは、第１のユーザおよび第２のユーザに対して関連付けられるノード間のエッジである。この例を続けると、第２のユーザは、次いで、第１のユーザに対して、ソーシャルネットワーキングシステム６３０内でメッセージを送信し得る。メッセージを送信するアクションは、第１のユーザおよび第２のユーザを表現する、ソーシャルグラフ内の２つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第１のユーザを表現するノードおよび第２のユーザを表現するノードに対して接続される別のノードとして、ソーシャルグラフにおいて識別され、ソーシャルグラフに含まれ得る。
【００６５】
別の例において、第１のユーザは、ソーシャルネットワーキングシステム６３０によって維持される画像において（または、代替的に、ソーシャルネットワーキングシステム６３０の外部の別のシステムによって維持される画像において）第２のユーザをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム６３０内のノードとして表現され得る。このタグ付けアクションは、ユーザの各々と画像との間にエッジを作成するだけでなく、第１のユーザと第２のユーザとの間のエッジも作成し得る。画像もソーシャルグラフ内のノードである。また別の例において、ユーザが、イベントへ参加することを確かめる場合、そのユーザおよびそのイベントは、ユーザプロファイルストア６３６から取得されるノードであり、そのイベントへの参加は、アクティビティログ６４２から得られ得るノード間のエッジである。ソーシャルグラフを生成および維持することによって、ソーシャルネットワーキングシステム６３０は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。
【００６６】
ウェブサーバ６３２は、ソーシャルネットワーキングシステム６３０を、ネットワーク６５０を通じて、１つもしくは複数のユーザデバイス６１０および／または１つもしくは複数の外部システム６２０に対してリンクする。ウェブサーバ６３２は、ウェブページ、およびＪａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ、Ｆｌａｓｈ、ＸＭＬなどの他のウェブ関連コンテンツを供給する。ウェブサーバ６３２は、メールサーバを含み、または、ソーシャルネットワーキングシステム６３０と１つもしくは複数のユーザデバイス６１０との間のメッセージを受信およびルーティングするための他のメッセージング機能を含み得る。メッセージは、インスタントメッセージ、キューメッセージ（例えば、電子メール）、テキストおよびＳＭＳメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
【００６７】
ＡＰＩ要求サーバ６３４は、１つまたは複数の外部システム６２０およびユーザデバイス６１０が、１つまたは複数のＡＰＩ関数を呼び出すことによって、ソーシャルネットワーキングシステム６３０からのアクセス情報を呼び出すことを可能にする。ＡＰＩ要求サーバ６３４は、外部システム６２０が、ＡＰＩを呼び出すことによって、ソーシャルネットワーキングシステム６３０に対して情報を送信することも可能にし得る。外部システム６２０は、１つの実施形態において、ネットワーク６５０を通じてソーシャルネットワーキングシステム６３０へＡＰＩ要求を送信し、ＡＰＩ要求サーバ６３４は、そのＡＰＩ要求を受信する。ＡＰＩ要求サーバ６３４は、ＡＰＩ要求に対して関連付けられているＡＰＩを呼び出すことによって要求を処理して、適当な応答を生成する。ＡＰＩ要求サーバ６３４は、その適当な応答を、ネットワーク６５０を通じて外部システム６２０へ通信する。例えば、ＡＰＩ要求に応答して、ＡＰＩ要求サーバ６３４は、外部システム６２０に対してログインしたユーザのつながりなどの、ユーザに対して関連付けられているデータを収集し、収集されたデータを外部システム６２０へ通信する。別の実施形態において、ユーザデバイス６１０は、外部システム６２０と同じ手法で、ＡＰＩを通じてソーシャルネットワーキングシステム６３０と通信する。
【００６８】
アクションロガー６４０は、ソーシャルネットワーキングシステム６３０内での、および／またはソーシャルネットワーキングシステム６３０外でのユーザアクションに関する通信をウェブサーバ６３２から受信することが可能である。アクションロガー６４０は、ユーザアクションに関する情報をアクティビティログ６４２へ投入し、ソーシャルネットワーキングシステム６３０の内部で、およびソーシャルネットワーキングシステム６３０の外部で、そのユーザによって行われた様々なアクションをソーシャルネットワーキングシステム６３０が発見することを可能にする。特定のユーザが、ソーシャルネットワーキングシステム６３０上の別のノードに関して行う任意のアクションは、アクティビティログ６４２内または同様のデータベースもしくは他のデータレポジトリ内で維持される情報を通じて、各ユーザのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャルネットワーキングシステム６３０内でユーザによって行われるアクションの例は、例えば、別のユーザに対するつながりを追加すること、別のユーザへメッセージを送信すること、別のユーザからのメッセージを読むこと、別のユーザに対して関連付けられるコンテンツを視聴すること、別のユーザによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザが、ソーシャルネットワーキングシステム６３０内でアクションを行う場合、そのアクションは、アクティビティログ６４２内に記録される。一実施形態において、ソーシャルネットワーキングシステム６３０は、アクティビティログ６４２をエントリのデータベースとして維持する。アクションが、ソーシャルネットワーキングシステム６３０内で行われる場合、そのアクションについてのエントリが、アクティビティログ６４２に対して追加される。アクティビティログ６４２は、アクションログと称され得る。
【００６９】
また、ユーザアクションは、ソーシャルネットワーキングシステム６３０とは別個の外部システム６２０などの、ソーシャルネットワーキングシステム６３０の外部のエンティティ内で発生するコンセプトおよびアクションに対して関連付けられ得る。例えば、アクションロガー６４０は、ユーザによる外部システム６２０との対話を記述するデータを、ウェブサーバ６３２から受信し得る。この例において、外部システム６２０は、ソーシャルグラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザによる対話を報告する。
【００７０】
ユーザが外部システム６２０と対話するアクションの他の例は、ユーザが外部システム６２０もしくは別のエンティティにおいて興味を表現すること、外部システム６２０もしくは外部システム６２０内のウェブページ６２２ａと議論するソーシャルネットワーキングシステム６３０に対してユーザがコメントを投稿すること、ユーザがソーシャルネットワーキングシステム６３０に対してユニフォームリソースロケータ（ＵＲＬ）もしくは外部システム６２０に対して関連付けられる他の識別子を投稿すること、ユーザが外部システム６２０に対して関連付けられるイベントへ参加すること、または、外部システム６２０に関連する、ユーザによる任意の他のアクションを含む。したがって、アクティビティログ６４２は、ソーシャルネットワーキングシステム６３０のユーザと、ソーシャルネットワーキングシステム６３０とは別個の外部システム６２０との間の対話を記述するアクションを含み得る。
【００７１】
認証サーバ６４４は、ソーシャルネットワーキングシステム６３０のユーザの１つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザに対して関連付けられる特定の情報の仕様、および情報が共有され得る１つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム６２０、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザに対して関連付けられる電話番号、ユーザのつながり、つながりを追加すること、ユーザプロフィール情報を変更することなどのユーザによって行われるアクション等を備える。
【００７２】
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム６２０を含み得る。１つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザは、一定の情報に対してアクセスすることを許可される外部システム６２０のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザは、全ての外部システム６２０がユーザの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム６２０のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロックリスト」と呼ぶ。ユーザによって特定されるブロックリストに所属する外部システム６２０は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。
【００７３】
認証サーバ６４４は、ユーザに対して関連付けられる一定の情報がユーザの友達、外部システム６２０、ならびに／または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム６２０は、ユーザの職場電話番号などの、ユーザのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ６４４からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ６４４は、別のユーザ、外部システム６２０、アプリケーション、または別のエンティティが、ユーザによって行われるアクションに関する情報を含む、ユーザに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
【００７４】
いくつかの実施形態では、ソーシャルネットワーキングシステム６３０は、３次元ユーザインタフェースモジュール６４６を含むことができる。３次元ユーザインタフェースモジュール６４６は、本明細書でより詳細に説明するように、例えば、３次元ユーザインタフェースモジュール１０２として実施することができる。前述のように、多くの変形形態または他の可能性があり得ることを理解されたい。例えば、いくつかの実施形態では、３次元ユーザインタフェースモジュール６４６の１つまたは複数の機能をユーザデバイス６１０に実装することができる。
【００７５】
ハードウェア実施形態
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図７は、本発明の実施形態に応じて本明細書に記載された１つまたは複数の実施形態を実施するために使用され得るコンピュータシステム７００の例を例示する。コンピュータシステム７００は、コンピュータシステム７００に対して、本明細書において説明されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータシステム７００は、他のマシンへ接続され（例えば、ネットワーク化され）得る。ネットワーク化された配置において、コンピュータシステム７００は、クライアント／サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格において動作し、または、ピアツーピア（もしくは分散）ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態において、コンピュータシステム７００は、ソーシャルネットワーキングシステム６３０、ユーザデバイス６１０、外部システム６２０、またはこれらの構成要素であってもよい。本発明の一実施形態において、コンピュータシステム７００は、ソーシャルネットワーキングシステム６３０の全てまたは部分を構成する多くのサー間のうちの１つのサーバであってもよい。
【００７６】
コンピュータシステム７００は、プロセッサ７０２と、キャッシュ７０４と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、１つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム７００は、高性能入出力（Ｉ／Ｏ）バス７０６と、標準Ｉ／Ｏバス７０８とを含む。ホストブリッジ７１０は、プロセッサ７０２を高性能Ｉ／Ｏバス７０６に対して結合する一方で、Ｉ／Ｏバスブリッジ７１２は、２つのバス７０６および７０８を互いに結合する。システムメモリ７１４および１つまたは複数のネットワークインタフェース７１６は、高性能Ｉ／Ｏバス７０６へ結合される。コンピュータシステム７００は、ビデオメモリと、ビデオメモリに対して結合される表示デバイスとをさらに含んでもよい（図示せず）。マスストレージ７１８およびＩ／Ｏポート７２０は、標準Ｉ／Ｏバス７０８へ結合される。コンピュータシステム７００は、バス７０８に対して結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス（図示せず）を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）によって製造されるｘ８６互換性のあるプロセッサ、カリフォルニア州サニーベルのアドバンストマイクロデバイス社（ＡＭＤ：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，Ｉｎｃ）によって製造されるｘ８６互換性のあるプロセッサ、および任意の他の適切なプロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
【００７７】
オペレーティングシステムは、ソフトウェアアプリケーション（図示せず）へのデータの入力およびソフトウェアアプリケーションからのデータの出力を含む、コンピュータシステム７００の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインタフェースを提供する。任意の適切なオペレーティングシステム、例えば、ＬＩＮＵＸオペレーティングシステム、カリフォルニア州クパチーノのアップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．）から市販されているアップルマッキントッシュオペレーティングシステム、ＵＮＩＸ（登録商標）オペレーティングシステム、マイクロソフト（登録商標）ウィンドウズ（登録商標）オペレーティングシステム、ＢＳＤオペレーティングシステム等などが使用され得る。他の実装も可能である。
【００７８】
コンピュータシステム７００の要素は、下記においてより詳細に説明される。具体的には、ネットワークインタフェース７１６は、コンピュータシステム７００と、幅広いネットワークのうちの任意のもの、例えば、イーサネット（例えば、ＩＥＥＥ８０２．３）ネットワーク、バックプレーン等などとの間の通信を提供する。マスストレージ７１８は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ７１４（例えば、ＤＲＡＭ）は、プロセッサ７０２によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。Ｉ／Ｏポート７２０は、コンピュータシステム７００へ結合され得る付加的な周辺デバイス間の通信を提供する、１つまたは複数のシリアル通信ポートおよび／またはパラレル通信ポートであり得る。
【００７９】
コンピュータシステム７００は、多様なシステムアーキテクチャを含むことができ、コンピュータシステム７００の様々な構成要素は、再配置されてもよい。例えば、キャッシュ７０４は、プロセッサ７０２と共にチップ上に実装されてもよい。代替的に、キャッシュ７０４およびプロセッサ７０２は、「プロセッサモジュール」としてまとめられて、プロセッサ７０２が「プロセッサコア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準Ｉ／Ｏバス７０８へ結合される周辺デバイスは、高性能Ｉ／Ｏバス７０６へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータシステム７００の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータシステム７００は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。
【００８０】
一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティングシステムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、１つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、１つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータシステム７００に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、１つまたは複数の命令を、コンピュータシステム７００内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア（例えば、特定用途向け集積回路）、または、これらの任意の組み合わせにおいて実装され得る。
【００８１】
１つの実施形態において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム７００によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体（もしくはマシン読取可能な媒体）上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ７０２などの、ハードウェアシステム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ７１８などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインタフェース７１６を通じて受信されてもよい。命令は、マスストレージ７１８などの記憶デバイスからシステムメモリ７１４内へコピーされ、次いで、プロセッサ７０２によってアクセスされ、実行される。様々な実施形態において、１つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、１つまたは複数の位置における、１つまたは複数のプロセッサによって実行され得る。
【００８２】
コンピュータ読取可能な媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピー（登録商標）ディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク（例えば、コンパクトディスク読取専用メモリ（ＣＤ  ＲＯＭＳ）、デジタル多用途ディスク（ＤＶＤ））、他の同様の非一時的で（もしくは一時的で）、有形の（もしくは無形の）記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の１つもしくは複数を実行すべく、コンピュータシステム７００による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
【００８３】
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素（例えば、モジュール、ブロック、構造、デバイス、特徴等）は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
【００８４】
この明細書における、「１つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な部分における「１つの実施形態において」または「別の実施形態」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。
【００８５】
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。
【図１】
2019531551.tif 000003
【図２Ａ】
2019531551.tif 000004
【図２Ｂ】
2019531551.tif 000005
【図３Ａ】
2019531551.tif 000006
【図３Ｂ】
2019531551.tif 000007
【図３Ｃ】
2019531551.tif 000008
【図４Ａ】
2019531551.tif 000009
【図４Ｂ】
2019531551.tif 000010
【図４Ｃ】
2019531551.tif 000011
【図４Ｄ】
2019531551.tif 000012
【図４Ｅ】
2019531551.tif 000013
【図４Ｆ】
2019531551.tif 000014
【図４Ｇ】
2019531551.tif 000015
【図４Ｈ】
2019531551.tif 000016
【図５】
2019531551.tif 000017
【図６】
2019531551.tif 000018
【図７】
2019531551.tif 000019
【国際調査報告】
2019531551.tif 000020
2019531551.tif 000021