(58)【調査した分野】(Int.Cl.,DB名)
ソーシャルネットワーク内の他のユーザに接続された特定のユーザによる閲覧のために、写真、ビデオと組み合わせられた写真、およびアニメーションを伴うハイブリッド写真のうちの1つ以上のストリームを提供するコンピュータ実装方法であって、
1つ以上のコンピューティングデバイスを使用して、1つ以上の写真を前記特定のユーザに関連付けられた1つ以上のソースから取得することと、
前記1つ以上のコンピューティングデバイスを使用して、前記特定のユーザに関連付けられたソーシャルグラフを読み出すことと、
前記1つ以上のコンピューティングデバイスを使用して、少なくとも部分的に、1つ以上の所定の基準に基づいて、前記1つ以上の写真のための1つ以上の関連信号を決定することと、
前記1つ以上のコンピューティングデバイスを使用して、少なくとも部分的に、前記特定のユーザのためのソーシャルグラフを含む前記所定の基準に基づいて、前記1つ以上の関連信号に変動する重みを割り当てることと、
前記1つ以上のコンピューティングデバイスを使用して、前記1つ以上の写真に割り当てられた変動する重みを考慮することによって、前記1つ以上の写真をランク付けすることと、
前記1つ以上のコンピューティングデバイスを使用して、前記ランク付けに基づいて、前記1つ以上の写真をフィルタリングし、前記特定のユーザが特に関心がある1つ以上の写真の選んだ一部を取得することと、
前記1つ以上のコンピューティングデバイスを使用して、前記特定のユーザによる閲覧のために、前記1つ以上の写真の前記選んだ一部において、単一ソースからの写真の数を制限することと、
前記1つ以上のコンピューティングデバイスを使用して、閲覧する前記特定のユーザへの表示のために、前記1つ以上の写真の前記選んだ一部を提供することと
を含む、コンピュータ実装方法。
ソーシャルネットワーク内の他のユーザに接続された特定のユーザによる閲覧のために、写真、ビデオと組み合わせられた写真、およびアニメーションを伴うハイブリッド写真のうちの1つ以上のストリームを提供するコンピュータ実装方法であって、
1つ以上のコンピューティングデバイスを使用して、前記特定のユーザによる閲覧のために1つ以上の写真を1つ以上のソースから取得することと、
前記1つ以上のコンピューティングデバイスを使用して、少なくとも部分的に、前記特定のユーザのための所定の基準を考慮することに基づいて、前記特定のユーザが関心がある1つ以上の写真を指定するための外部信号を生成することと、
前記1つ以上のコンピューティングデバイスを使用して、少なくとも部分的に、前記1つ以上の写真に関する前記外部信号を考慮することに基づいて、前記1つ以上の写真の選んだ一部をフィルタリングすることと、
前記1つ以上のコンピューティングデバイスを使用して、前記特定のユーザによる閲覧のために、前記1つ以上の写真の前記選んだ一部において、単一ソースからの写真の数を制限することと、
前記1つ以上のコンピューティングデバイスを使用して、前記特定のユーザによる閲覧のために、前記1つ以上の写真の前記選んだ一部のストリームを生成することと
を含む、コンピュータ実装方法。
前記1つ以上のコンピューティングデバイスを使用して、閲覧する前記特定のユーザへの表示のために、前記1つ以上の写真の前記選んだ一部を提供することをさらに含む、請求項2に記載のコンピュータ実装方法。
前記所定の基準は、1)どれくらい最近に前記1つ以上の写真のうちの少なくとも1つが撮影されたか、2)どれくらい最近に前記1つ以上の写真のうちの少なくとも1つにコメントされたか、および、3)どれくらい最近に前記写真が支持されたかのうちの少なくとも1つ以上を含む、請求項2に記載のコンピュータ実装方法。
前記所定の基準は、1)前記1つ以上の写真内にタグ付けされた他者のうちの1人以上との前記特定のユーザの親近度、または、2)前記1つ以上の写真を共有する別のユーザとの前記特定のユーザの親近度のうちの少なくとも1つ以上を決定する、請求項2に記載のコンピュータ実装方法。
前記外部信号は、前記1つ以上の写真の前記選んだ一部をフィルタリングするために考慮される、高から低の範囲の重みを割り当てられる、請求項2に記載のコンピュータ実装方法。
前記所定の基準は、1)前記写真が撮影された場所、2)前記1つ以上の写真に書き込まれたコメントの数、3)前記1つ以上の写真を支持した他者の数、および、4)前記1つ以上の写真の審美的レベルのうちの少なくとも1つ以上を決定する、請求項2に記載のコンピュータ実装方法。
ソーシャルネットワーク内の他のユーザに接続された特定のユーザによる閲覧のために、写真、ビデオと組み合わせられた写真、およびアニメーションを伴うハイブリッド写真のうちの1つ以上のストリームを提供するための1つ以上のコンピューティングデバイスを含むシステムであって、前記システムは、
1つ以上のプロセッサと、
メモリと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得る写真ストリーム読み出しモジュールであって、1つ以上の写真を前記特定のユーザに関連付けられた1つ以上のソースから取得するように構成されている写真ストリーム読み出しモジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得るソーシャルグラフ読み出しモジュールであって、前記写真ストリーム読み出しモジュールに結合され、かつ、前記特定のユーザに関連付けられたソーシャルグラフを読み出すように構成されているソーシャルグラフ読み出しモジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得る関連写真信号決定モジュールであって、前記ソーシャルグラフ読み出しモジュールに結合され、かつ、少なくとも部分的に、1つ以上の所定の基準に基づいて、前記特定のユーザに関連付けられた前記1つ以上のソースからの前記1つ以上の写真の各々に対して、1つ以上の関連信号を決定するように構成されている関連写真信号決定モジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得る重み割当モジュールであって、前記関連写真信号決定モジュールに結合され、かつ、少なくとも部分的に、前記特定のユーザに対するソーシャルグラフを含む前記1つ以上の所定の基準に基づいて、変動する重みを前記1つ以上の関連信号に割り当てるように構成されている重み割当モジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得る写真ランク付けモジュールであって、前記重み割当モジュールに結合され、かつ、前記1つ以上の写真に割り当てられた変動する重みを考慮することによって、前記1つ以上の写真をランク付けするように構成されている写真ランク付けモジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得る写真フィルタリングモジュールであって、前記写真ランク付けモジュールに結合され、かつ、少なくとも部分的に、前記所定の基準および前記ソーシャルグラフに基づいて、低ランクを伴う写真をフィルタリングし、前記特定のユーザが特に関心がある1つ以上の写真の選んだ一部を生成するように構成されている写真フィルタリングモジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得る写真制限モジュールであって、前記写真フィルタリングモジュールに結合され、かつ、前記特定のユーザによる閲覧のために、前記1つ以上の写真の前記選んだ一部において、単一ソースからの写真の数を制限するように構成されている写真制限モジュールと、
前記メモリに記憶されかつ前記1つ以上のプロセッサによって実行され得るユーザインターフェースモジュールであって、前記写真制限モジュールに結合され、かつ、閲覧する前記特定のユーザへの表示のために、前記1つ以上の写真の前記選んだ一部を提供するように構成されているユーザインターフェースモジュールと
を備えている、システム。
前記所定の基準は、1)どれくらい最近に前記1つ以上の写真のうちの少なくとも1つが撮影されたか、2)どれくらい最近に前記1つ以上の写真のうちの少なくとも1つにコメントされたか、および、3)どれくらい最近に前記写真が支持されたかのうちの少なくとも1つ以上を含む、請求項11に記載のシステム。
前記所定の基準は、1)前記1つ以上の写真内にタグ付けされた他者のうちの1人以上との前記特定のユーザの親近度、または、2)前記1つ以上の写真を共有する別のユーザとの前記特定のユーザの親近度のうちの少なくとも1つ以上を決定する、請求項11に記載のシステム。
前記所定の基準は、1)前記写真が撮影された場所、2)前記1つ以上の写真に書き込まれたコメントの数、3)前記1つ以上の写真を支持した他者の数、および、4)前記1つ以上の写真の審美的レベルのうちの少なくとも1つを決定する、請求項11に記載のシステム。
【発明を実施するための形態】
【0006】
いくつかの実施例では、本明細書は、オンラインコミュニティまたはサービスのユーザ、例えば、ソーシャルネットワークにおいて接続されたユーザによる写真(ビデオと組み合わせられたものまたはハイブリッドタイプ(アニメーションgif、アニメーションフォトバースト等)を含む)の閲覧のために、ストリームを提供するためのシステムおよび方法を説明する。本説明における写真といういずれの言及も、ビデオと組み合わせられた写真、またはアニメーションgif、アニメーションフォトバースト等を含むハイブリッドタイプを含むと認識されたい。以下の説明では、説明の目的のために、多数の具体的詳細が、説明される技術の完全な理解を提供するために示される。しかしながら、本技術が、これらの具体的詳細を伴わずに実践されることができることは、当業者に明白となるはずである。他の事例では、構造およびデバイスが、本技術を曖昧にすることを回避するために、ブロック図形態で示される。例えば、本技術は、ユーザインターフェースおよび特定のハードウェアを参照して以下で示されたいくつかの実施形態を用いて説明される。しかしながら、本技術は、データおよびコマンドを受信することができる、任意のタイプのコンピューティングデバイス、およびサービスを提供する任意のデバイスに適用される。さらに、本技術は、主に、特定のユーザが殆どまたは全く関心がない写真の連続ストリームではなく、選んだ写真を特定のユーザに提供する文脈において以下に説明される。しかしながら、当業者は、本技術が、ソーシャルグラフに基づく写真のフィルタリング、またはある所定の基準から外部信号を生成し、関心のある写真をフィルタリングすること以外の他の用途のために使用され得ることを理解するはずである。
【0007】
本明細書では、「一実施形態」、「ある実施形態」、または「いくつかの実施形態」という言及は、単に、1つ以上の実施形態と併せて説明される、1つ以上の特定の特徴、構造、または特性が、説明される少なくとも1つ以上の実施形態に含まれることを意味する。本明細書内の種々の場所における語句「一実施形態では」の表出は、必ずしもすべて、同一の実施形態を参照するわけではない。
【0008】
以下の発明を実施するための形態のいくつかの部分は、1つ以上のコンピューティングデバイスのいずれかのコンピュータメモリ内のデータビットに関して、動作のアルゴリズムおよび象徴的表現の観点で提示されている。これらのアルゴリズムの説明および表現は、他の当業者にその研究の実体を最も効果的に伝えるために、データ処理技術の当業者によって使用される手段である。アルゴリズムは、本明細書に示されるように、概して、所望の結果につながる自己矛盾のない、一連のステップと見なされる。ステップとは、ある物理的量の物理的操作を要求するものである。通常、必ずしもではないが、これらの量は、記憶、転送、組み合わせ、比較、および別様に操作されることが可能な電気または磁気信号の形態をとる。時として、主に、一般的使用の理由から、これらの信号をビット、値、要素、記号、文字、用語、数字、または同等物として参照することが便宜であることが証明されている。
【0009】
しかしながら、これらおよび類似用語はすべて、適切な物理的量に関連付けられるべきであり、単に、これらの量に適用された便宜的標識であることを理解されたい。具体的にそうでないことが記載されない限り、以下の議論から明白であるように、説明全体を通して、「処理」、「コンピューティング」、「計算」、「決定」、または「表示」、あるいは同等物等の用語を利用する議論は、コンピュータシステム、あるいはコンピュータシステムのレジスタおよびメモリ内の物理的(電子)量として表されるデータを操作し、コンピュータシステムメモリまたはレジスタあるいは他のそのような情報記憶、伝送、またはディスプレイデバイス内の物理的量として表される他のデータに変換する、同様の電子コンピューティングデバイスのアクションおよびプロセスを指すことを理解されたい。
【0010】
本技術はまた、本明細書に説明される動作を行なうための装置に関する。本装置は、要求される目的のために特別に構築され得、あるいは選択的に、コンピュータ内に記憶されたコンピュータプログラムによってアクティブ化または再構成される、汎用コンピュータを備え得る。そのようなコンピュータプログラムは、コンピュータ読み取り可能な記憶媒体、例えば、制限されないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、磁気ディスクを含む、任意のタイプのディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光学カード、各々がコンピュータシステムバスに結合される、不揮発性メモリまたは電子命令を記憶するために好適な任意のタイプの媒体を伴う、USBキーを含む、フラッシュメモリ内に記憶され得る。
【0011】
本技術は、全体的にハードウェア実施形態、全体的にソフトウェア実施形態、またはハードウェアおよびソフトウェア構成要素の両方を含む実施形態の形態をとることができる。いくつかの実施形態では、本技術は、制限ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む、ソフトウェア内に実装される。
【0012】
さらに、本技術は、コンピュータまたは任意の命令実行システムによって、あるいはそれと併せて、使用するためのプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能な媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。本説明の目的のために、コンピュータ使用可能またはコンピュータ読み取り可能な媒体は、命令実行システム、装置、またはデバイスによって、あるいはそれと併せて使用するために、プログラムを包含、記憶、通信、伝搬、またはトランスポートすることができる、任意の装置であり得る。
【0013】
プログラムコードを記憶および/または実行するために好適なデータ処理システムは、直接または間接的に、システムバスを通して、メモリ要素に結合される、少なくとも1つのプロセッサを含む。メモリ要素は、プログラムコードの実際の実行の際に採用されるローカルメモリ、バルク記憶、およびコードが、実行の間、バルク記憶から読み出されなければならない回数を減少させるために、少なくともいくつかのプログラムコードの一時的記憶を提供する、キャッシュメモリを含み得る。
【0014】
入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイス等を含むが、それらに制限されない)は、直接または介在I/Oコントローラを通してのいずれかにおいて、システムに結合されることができる。
【0015】
ネットワークアダプタを含む、通信ユニットもまた、介在するプライベートまたは公衆ネットワークのいずれかを通して、他のデータ処理システム、遠隔プリンタ、または記憶デバイスにそれらを結合させることが可能なシステムに結合され得る。モデム、ケーブルモデム、およびEthernet(登録商標)カードは、現在利用可能なタイプのネットワークアダプタのいくつかの実施例にすぎない。
【0016】
最後に、本願に提示されるアルゴリズムおよびディスプレイは、本質的に、任意の特定のコンピュータまたは他の装置に関連しない。種々の汎用システムが、本明細書における教示に従うプログラムと併用され得、または要求される方法ことを行なうために、より特殊な装置を構築することが便宜であることも証明され得る。種々のこれらのシステムのために要求される構造は、前述の説明に概略されている。加えて、本技術は、任意の特定のプログラミング言語を参照して説明されない。種々のプログラミング言語が、本明細書に説明されるような技術を実装するために使用され得ることを理解されたい。
【0017】
図1は、概して、参照番号100によって示される、オンラインサービスまたはコミュニティ、例えば、ソーシャルネットワークのユーザが、特定のユーザのソーシャルグラフまたは関心の様々なレベルの個々の写真を指定するための他の外部信号に基づいてフィルタリングされた「選んだ」写真を閲覧するために、写真ストリーム(ビデオと組み合わせられたものまたはハイブリッドタイプ(アニメーションgif、アニメーションフォトバースト等)を含む)を提供するためのシステムのいくつかの実施形態を図示する、高レベルブロック図である。外部信号は、所定の基準を適用し、特定のユーザが特に関心がある写真をフィルタリングすることに基づいて生成され得る。システム100は、ソーシャルネットワークサーバ101a、101b、・・・101nのうちの任意の1つに接続するために、ユーザ125a・・・125nによって使用される、ユーザデバイス115a・・・115nを介してアクセスされ得る、1つ以上のソーシャルネットワークサーバ101a、101b、・・・101nを含む。これらのエンティティは、ネットワーク105を介して通信可能に結合され、ユーザデバイス105a−nとソーシャルネットワークサーバ101a−nとの間の情報の交換を促進する。2つのユーザデバイス115a・・・115nのみ、図示されるが、当業者は、任意の数のユーザデバイス115nが任意の数のユーザ125nによって使用され得ることを認識するはずである。
【0018】
さらに、1つのみのネットワーク105が、ユーザデバイス115a・・・115n、ソーシャルネットワークサーバ101a−101n、ユーザプロファイルサーバ130、ウェブサーバ132、および1つ以上の第三者サーバ136a−136nに結合されるように図示されるが、実際は、任意の数のネットワーク105が、これらのエンティティに接続され得る。
【0019】
いくつかの実施形態では、ソーシャルネットワークサーバ101aは、信号ライン104を介して、ネットワーク105に結合される。ソーシャルネットワークサーバ101aは、ソーシャルネットワークサーバ101aならびにその機能および動作を動作させるためのソフトウェアルーチンおよび命令を備えている、ソーシャルネットワークアプリケーション102を含む。1つのみのソーシャルネットワークサーバ101aが、ここでは説明されるが、当業者は、各々がソーシャルネットワークサーバ101aと同様または異なる機能性を伴う、ソーシャルネットワークサーバ101b・・・101nによって図示されるように、複数のサーバが存在し得ることを認識するはずである。
【0020】
用語「ソーシャルネットワーク」は、本明細書で使用される場合、制限されないが、ユーザが共通特徴またはリンクによって接続される、任意のタイプのソーシャル構造を含む、その単純かつ通常の意味を包含する。共通特徴は、関係/接続、例えば、友人、家族、仕事、同様の関心等を含む。共通特徴は、その関係がソーシャルグラフ134を形成する、明示的に定義される関係および他のオンラインユーザとの社会的つながりによって暗示される関係を含む、システム100内に含まれるもの等、1つ以上のソーシャルネットワーキングシステムによって提供される。
【0021】
用語「ソーシャルグラフ」は、本明細書で使用される場合、制限されないが、その関係がソーシャルグラフを形成する、明示的に定義される関係および他のオンラインユーザとの社会的つながりによって暗示される関係を含む、ソーシャルネットワークシステム100等の1つ以上のソーシャルネットワーキングシステムによって提供される、ユーザ間の一組のオンライン関係を含む、その単純かつ通常の意味を包含する。いくつかの実施例では、ソーシャルグラフ134は、これらのユーザのマッピングおよび彼らがどのように関連するかを反映し得る。
【0022】
ソーシャルネットワークサーバ101aおよびソーシャルネットワークソフトウェア/アプリケーション102は、単一ソーシャルネットワークを表すことを理解されたい。複数のソーシャルネットワーク101a、101b・・・101nの各々は、ネットワーク105に結合され、各々がその独自のサーバ、アプリケーション、およびソーシャルグラフを有する。例えば、ソーシャルネットワークサーバ上にホストされた第1のソーシャルネットワークは、ビジネスネットワーキングを対象にし、第2のソーシャルネットワークは、学業を対象にする、またはそれに焦点が当てられ、第3のソーシャルネットワークは、ローカルビジネスを対象にし、第4のソーシャルネットワークは、交際関係を対象とし、さらに他のソーシャルネットワークは、他の一般的関心またはおそらくは具体的興味を対象とし得る。
【0023】
ユーザプロファイルサーバ130は、
図1では、独立型サーバとして図示される。システム100の他の実施形態では、ユーザプロファイルサーバ130の全部または一部は、ソーシャルネットワークサーバ101aの一部であり得る。ユーザプロファイルサーバ130は、ライン131を介して、ネットワーク105に接続される。ユーザプロファイルサーバ130は、ソーシャルネットワークに属する全ユーザのためのプロファイルを有する。第三者サーバ136aは、信号ライン137を介して、ネットワーク105に接続される。ウェブサーバ132は、ライン133を介して、ネットワーク105に接続される。
【0024】
ソーシャルネットワークサーバ101aは、フォト消費ユニット103aを含み、そこに、ユーザデバイス115a・・・115nが、ネットワーク105を介して結合される。特に、ユーザデバイス115aは、ライン108を介して、ネットワーク105に結合される。ユーザ125aは、ユーザデバイス115aを介して、ソーシャルネットワークサーバ101aにアクセスし、親近度を共有する他のユーザと通信し、例えば、書き込まれたコメントまたは写真を含む、更新をポストまたは閲覧し得る。これらの通信において、ユーザ125aは、他者によって提供される写真のストリームを提示される。フォト消費ユニット103aは、ユーザデバイス115aが関心がある写真またはフォトのみ、フィルタリングする役割を果たす。当業者は、フォト消費ストリームユニット103aが、任意の組み合わせ内、ソーシャルネットワークサーバ101a(参照番号103aによって図示される)内、またはユーザデバイス115a(参照番号103bによって図示される)内、あるいは
図1に図示されるもののすべての中、または図示されるデバイスもしくはサーバのうちの1つのみの中に格納され得ることを認識するはずである。
【0025】
フォト消費ストリームユニット103aは、ユーザのソーシャルグラフおよび写真のために生成された他の外部信号に基づいて、ソーシャルネットワーク内の特定のユーザが写真を閲覧するために、フォトストリームを生成するためのシステムである。一実施例として、フォト消費ストリームユニット103aは、単一ソースからの写真の数を制限することによって、写真ストリームが単一ソースによって占有されることを防止する。ストリームは、視覚的に関心を引くような不規則グリッドパターンでユーザ125aに提示される。したがって、フォト消費ストリームユニット103aは、ユーザの関心および優先順位に合わせたソーシャルネットワーク内の写真ストリームを提供するために、分散アーキテクチャ内で疎結合された多くの独立部分から成る、ウェブベースのアプリケーションであり得る。
【0026】
ユーザデバイス115a・・・115nは、コンピューティングデバイス、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、携帯情報端末(PDA)、モバイル電子メールデバイス、ポータブルゲームプレーヤ、ポータブル音楽プレーヤ、1つ以上のプロセッサがテレビの中に埋め込まれた、またはそこに結合されたテレビ、あるいはネットワークにアクセス可能な任意の他の電子デバイスであり得る。
【0027】
ネットワーク105は、有線または無線いずれかの従来のタイプであり、星形構成、トークンリング構成、または当業者に公知の他の構成等、任意の数の構成を有し得る。さらに、ネットワーク105は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN、例えば、インターネット)、および/または1つ以上のデバイスが通信し得る、任意の他の相互接続されたデータ経路を備え得る。
【0028】
別の実施形態では、ネットワーク105は、ピアツーピアネットワークであり得る。ネットワーク105はまた、データを種々の異なる通信プロトコルにおいて送信するために、1つ以上の電気通信ネットワークの部分に結合され、またはそれを含み得る。
【0029】
さらに別の実施形態では、ネットワーク105は、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、直接データ接続、WAP、電子メール等を介して、データを送受信するためのBluetooth(登録商標)通信ネットワークまたはセルラー通信ネットワークを含む。
【0030】
いくつかの実施形態では、ソーシャルネットワークサーバ101a、ユーザプロファイルサーバ130、ウェブサーバ132、および第三者サーバ136aは、プロセッサ、メモリ、およびネットワーク通信能力を含む、ハードウェアサーバである。ユーザ125a・・・125nのうちの1つ以上は、そのユーザデバイス内のブラウザを介して、およびウェブサーバ132を介して、サーバ101a・・・101nのいずれかにアクセスする。
【0031】
図2Aは、ソーシャルネットワークサーバ101aのハードウェアアーキテクチャのいくつかの実施形態を図示する、ブロック図である。
図2Aでは、類似参照番号が、
図1を参照して前述のものと同一のまたは同様の機能性を伴う、類似構成要素を参照するために使用される。それらの構成要素は、前述されているため、その説明は、ここでは繰り返されない。ソーシャルネットワークサーバ101aは、概して、1つ以上のプロセッサを備えているが、
図2Aには、1つのみのプロセッサ235、メモリ237、データ記憶装置231、通信ユニット245、およびユーザへの表示入力247が、図示される。プロセッサ235、メモリ237、データ記憶装置231、および通信ユニット245は、システムバス220を経由して、通信可能に結合される。ユーザへの表示入力247は、通信ユニット245に通信可能に結合され、ネットワーク105を経由して、書き込まれたコンテンツまたは写真をユーザデバイス、例えばユーザデバイス115a・・・115nに表示する。図示される実施形態では、フォト消費ストリームユニット103aは、ソーシャルネットワークサーバ101a内に常駐する。
【0032】
プロセッサ235は、メモリ237およびデータ記憶装置231から受信したデータ信号ならびにプログラム命令を処理する。プロセッサ235は、復号命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組み合わせを実装するアーキテクチャを含む、種々のコンピューティングアーキテクチャを備え得る。
【0033】
メモリ237は、非一過性記憶媒体であり得る。メモリ237は、プロセッサ235によって実行され得る、フォト消費ストリームユニットのための命令および/またはデータを記憶する。一実施形態では、メモリ237上に記憶された命令および/またはデータは、本明細書に説明される技法の一部および/または全部を行なうためのコードを備えている。メモリ237は、動的ランダムアクセスメモリ(DRAM)デバイス、静的ランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、または当技術分野において公知のいくつかの他のメモリデバイスであり得る。
【0034】
データ記憶装置231は、プロセッサ235によって実行され得る、データおよびプログラム命令を記憶する。データ記憶装置231は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイス、または当技術分野において公知のいくつかの他の不揮発性記憶デバイス等の種々の不揮発性メモリの恒久的記憶デバイスおよび媒体を含む。
【0035】
通信ユニット245は、ネットワーク105を経由して、ユーザデバイス115aとサーバ101aとの間の通信を促進する。ユーザ125aは、ユーザデバイス115aを介して、メッセージをサーバ101aにポストし、通信ユニット245を介して、サーバ101aから情報を受信する。
【0036】
ユーザへの表示入力247は、サーバ101aから受信した情報をユーザに表示する。一実施形態では、ユーザへの表示入力247は、ユーザによって閲覧されるために、写真ストリーム内の1つ以上の写真を表示する。これらの写真ストリームは、システムバス220に同様に結合されるフォト消費ストリームユニット103aによって生成される。
【0037】
図2Bは、フォト消費ストリームユニット103a(ソーシャルネットワークサーバ101a内に常駐する)またはフォト消費ストリームユニット103b(ユーザデバイス115a内に常駐し得る、構成要素)内の構成要素を図示する、ブロック図である。フォト消費ストリームユニット103a/103bは、写真ストリーム読み出しモジュール262、ソーシャルグラフ読み出しモジュール264、関連写真決定および外部信号生成モジュール266、関心グラフモジュール268、相互作用モジュール270、重み割当モジュール272、写真制限モジュール274、写真ランク付けモジュール276、写真フィルタリングモジュール278、およびユーザインターフェースモジュール280を含む、種々のモジュールを備え、それらはすべて、ソフトウェア通信機構282に通信可能に結合される。
【0038】
フォト消費ストリームユニット103a/103bは、ソフトウェア通信機構282を経由して通信するように構成される、1つ以上のアプリケーションまたはエンジンを含む。ソフトウェア通信機構282は、オブジェクトバス(CORBA等)、ソフトウェアモジュール間の直接ソケット通信(TCP/IPソケット等)、リモートプロシージャコール、UDPブロードキャストおよび受信、HTTP接続、機能、またはプロシージャコール等であり得る。さらに、通信の一部または全部は、セキュア(SSH、HTTPS等)であり得る。ソフトウェア通信は、ネットワーク、インターネット、システムバス220、それらの組み合わせ等、任意の下層ハードウェア上に実装され得る。
【0039】
写真ストリーム読み出しモジュール262は、ユーザのソーシャルネットワーク内の複数のソースから写真ストリームを読み出し、写真ストリームを関連写真決定および外部信号決定モジュール266に送信するように構成される。ソーシャルグラフ読み出しモジュール264は、特定のユーザに対するソーシャルグラフを読み出す。いくつかの実施形態では、各特定のユーザに対するソーシャルグラフは、特定のユーザが他のユーザと有する一組のオンライン関係を表す。これらの関係は、例えば、友人、家族関係、共通の学校、仕事上の関係、共通関心の共有等に基づく異なる基準の考慮に基づき得る。ソーシャルネットワークでは、ユーザは、通信を望み得る他者とのその独自のネットワークを作成する。通信は、ユーザのソーシャルネットワーク内の人々に伝えられる。
【0040】
関連写真決定および外部信号生成モジュール266は、写真ストリーム読み出しモジュール262から取得された個々の写真に対する「関連」要因を決定するように構成される。関連要因は、それらの個々の写真に対する外部信号を生成するために使用される。いくつかの実施形態では、写真に対する関連信号は、どれくらい最近に特定の写真が撮影されたかを反映し得る。関連信号はまた、他の要因、例えば、特定の写真内でタグ付けされた人々とのユーザの親近度、写真を共有するユーザとのユーザの親近度、および写真内に顔(または、複数の顔)が存在するかどうかのうちの任意の1つ以上を反映し得る。他の実施形態では、関連信号は、写真が撮影された場所を反映し得る。さらに、関連信号は、他の要因、例えば、写真上に他者によって書き込まれたコメントの数、写真を支持するユーザの数、どれくらい最近に写真にコメントされたか、どれくらい最近に写真が支持されたか、および写真の審美的レベルのうちの1つ以上を反映し得る。
【0041】
関心グラフモジュール268は、ソーシャルネットワーク内のユーザアクティビティに基づいて、ユーザに対する関心グラフを作成する。いくつかの実施形態では、関連信号は、ユーザの関心グラフ(ユーザの直接および/または間接ソーシャルネットワーク外の写真に寄与し得る)ならびにユーザ閲覧および/または相互作用履歴から導出された信号を含むことができる。
【0042】
相互作用履歴モジュール280は、ソーシャルネットワーク内のユーザの相互作用履歴を決定する。いくつかの実施形態では、関連信号は、ユーザ閲覧および/または相互作用履歴を含むことができる。ソーシャルネットワーク内の閲覧履歴および/または相互作用履歴は、特定の写真家、被写体(例えば、蝶、山等)、または写真のスタイルへの関心を示すことができる。閲覧および/または相互作用履歴は、特定の被写体(例えば、蝶に関する)等に関するグループに属する写真家の作品とユーザが相互作用すること(例えば、コメントを書く、共有する、承認する等)によって決定され得る。他の実施形態では、関心はまた、明示的に宣言され得る(例えば、山、蝶、サーフィン等を関心対象としてリスト化する)。
【0043】
重み割当モジュール272は、ソーシャルグラフデータ134から生成される信号に重みを割り当てるように構成される。一実施例として、人々は、典型的には、その家族構成員または友人を最も大切にする。したがって、その家族構成員がタグ付けされた写真に最も関心がある。故に、写真内でタグ付けされた人々との特定のユーザの親近度に基づいて、その特定の写真は、「高」重みを割り当てられ、外部信号が、その写真に対する重みを反映するために生成される。別の実施例として、ユーザは、どれくらい最近に特定の写真が他のユーザによって支持されたかどうかに関しては気にしない場合がある。故に、その特定の写真は、低重みを割り当てられ、その「低」重みを反映する外部信号が、生成される。
【0044】
写真制限モジュール274は、所与のアルバム、ソース、またはユーザからの写真の数を制限し、ストリームが単一ソースによって占有されることを防止するように構成される。写真ランク付けモジュール276は、写真に割り当てられる重みに基づいて、特定の写真をランク付けする。写真フィルタリングモジュール278は、最も関心がある写真のみユーザに提示するために、低ランク付けを伴う写真を除去するように構成される。
【0045】
ユーザインターフェースモジュール280は、最も関心がある写真のみをユーザに表示するように彼らに提供する。いくつかの実施形態では、写真は、視覚的に関心を引く不規則グリッドパターンで表示される。
【0046】
ここで
図3を参照すると、ユーザ親近度を図示する、例示的シナリオが、概して、参照番号300によって示されるように図示される。図示される実施例は、ユーザ125a−125gを示し、例えば、家族関係、友人、同僚、または単なる知人から生じる、4つの異なるタイプの関係を共有することを示す。ユーザ125a、ユーザ125b、およびユーザ125dによって共有される関係は、参照番号302によって示される実線によって図示される、家族関係、したがって、強固かつ密接な関係に基づく。ユーザ125d、ユーザ125e、およびユーザ125fによって共有される関係は、参照番号304によって示される破線によって図示されるように、友人に基づき、したがって、別の緊密な関係を反映する。ユーザ125fとユーザ125gとの間の関係は、その同僚であることから生じ、参照番号306によって示される、一点鎖線によって図示される。ユーザ125bとユーザ125cとの間の関係は、点線308によって図示される、単なる知人であるため、より離れている。
【0047】
ここで
図4を参照すると、グラフィカル表現は、概して、参照番号400によって示される、特定のユーザのいくつかのソーシャルグループの実施例を図示する。ソーシャルグループは、そのグループに参加するように他者を招待すること、または他者による招待に応答することのいずれかによって、ユーザによって作成されるネットワークである。ソーシャルグループは、家族構成員、友人、同僚、および知人のグループを含む。
図4に図示される一実施例として、ユーザ125a、ユーザ125b、およびユーザ125dは、家族に属し、グループ402を形成する。別の実施例として、ユーザ125d、ユーザ125f、およびユーザ125eは、友人であり、グループ404を形成する。ユーザ125bおよびユーザ125cは、知人であり、グループ406を形成する。ユーザ125fおよびユーザ125gは、同じ会社の同僚であり、グループ408を形成する。ユーザ125dは、ユーザ125dがその中に示される2つの共通部分によって図示されるように、特定の家族のグループ402および一組の友人のグループ404の両方に属する。同様に、ユーザ125fは、図示される一組の友人のグループ404および同僚のグループ408に属する。これは、ユーザ125fがその中に存在する2つのグループ404および408の共通部分によって図示される。再び、ユーザ125bは、グループ402および406の共通部分内に存在し、家族構成員のグループおよび知人のグループの両方に属することを示す。
【0048】
図5は、参照番号500によって示される、特定のユーザのソーシャルグラフおよび写真に対して生成される他の外部信号に基づいて、写真ストリームをユーザに提供するための例示的一般的方法を図示する、流れ図である。外部信号は、個々の写真における重要性または関心を分析するための所定の基準に基づいて生成される。
【0049】
方法は、開始し、フォトストリームを読み出すための1つ以上の動作を含む、ブロック502に進む。いくつかの実施形態では、写真ストリーム読み出しモジュール262(
図2B)は、フォトストリームを特定のユーザのソーシャルネットワーク(1つ以上のソース)から読み出す。方法は、次のブロック504(1つ以上の動作を含む)に進み、その段階で、ソーシャルグラフ読み出しモジュール264(
図2B)は、特定のユーザに対するソーシャルグラフデータ134(
図1)を読み出す。方法は、ブロック506に進み、その段階で、特定のユーザに対するソーシャルグラフおよび他の基準に基づいて、関連情報または信号が、読み出される写真に対して分析される。方法のいくつかの実施形態では、関連写真決定および外部信号生成モジュール266(
図2B、関連写真決定モジュールとも称される)が、最初に、特定の写真に対する関連信号を決定する。一実施例として、関連写真決定モジュール266は、特定の写真内でタグ付けされた人々とユーザとの間の関係を決定し得る。別の実施例として、関連写真決定モジュール266は、特定の写真に書き込まれたコメントの数および写真を支持する人々の数を決定し得る。
【0050】
方法は、次のブロック508(1つ以上の動作を含む)に進み、その段階で、関心グラフモジュール268(
図2B)が、ユーザに対する関心グラフを計算する。一実施例として、関心グラフモジュール268は、蝶の1つ以上の写真に関するユーザコメントに基づいて、ユーザが蝶の写真に関心を有することを計算する。方法は、次のブロック510に進み、その段階で、相互作用履歴モジュール270(
図2B)が、ユーザの相互作用履歴を決定する。例えば、相互作用履歴モジュール270は、ユーザが蝶の写真と頻繁に相互作用することを決定する。
【0051】
方法は、次のブロック512(1つ以上の動作を含む)に進み、その段階で、重み割当モジュール272(
図2B)が、特定の写真が特定のユーザにとって関心のあるものかどうかを評価するための所定の基準の分析に基づいて、個々の写真に対して生成される外部信号に重みを割り当てる。一実施例として、重み割当モジュール272は、ユーザの家族構成員がタグ付けされている写真、または他の家族構成員の間で共有されている写真に「高」重みを割り当てる。方法は、次のブロック514に進み、その段階で、写真制限モジュール274(
図2B)が、単一ソースからの写真の数を制限する。例えば、写真制限モジュール279は、所与のアルバムまたはユーザからの写真の数を制限し、ストリームが単一ソースによって占有されることを防止する。
【0052】
方法は、ブロック516に進み、その段階で、写真ランク付けモジュール276(
図2B)が、写真の重み付された信号に基づいて、写真をランク付けする。方法は、ブロック518に進み、その段階で、写真フィルタリングモジュール278(
図2B)が、低ランクが割り当てられた写真をフィルタリングする。方法は、ブロック520に進み、その段階で、ユーザインターフェースモジュール280(
図2B)が、最も関心がある写真をユーザに表示する。
【0053】
ここで
図6を参照すると、変動する重みを割り当てるために使用され得る、所定の基準の実施例が、参照番号602によって示される表に図示される。ここに示される所定の基準は、単に、実施例であり、他の基準が、ユーザが関心がある写真を評価するために置換または追加され得ることを認識されたい。加えて、基準は、ソーシャルネットワークの全ユーザに均一に適用され得、またはユーザのカテゴリまたはステータスレベルによって変化させられ得る。一実施例として、ユーザは、概して、彼らに最も近い人々を最も大切にするため、緊密な関係を指定する親近度信号は、ユーザにとって最愛かつ最も重要な人々を指定し得る。本実施例では、親近度信号は、本基準を表し、本親近度を表す関係に関連する写真は、特定のユーザが「特に関心がある」としてタグ付けされ得る。表に図示されるように、ユーザのソーシャルグラフに基づいて、ある親近度が、具体的写真が送信される特定のユーザと、写真内の他のユーザとの間で決定される場合、特定のユーザは、この特定の写真を見ることを所望し得る可能性が高い。したがって、この写真は、「10」の重みが与えられ得る。別の実施例として、特定のユーザのソーシャルグラフに基づいて、写真が共有される特定のユーザが、写真を共有するユーザとある親近度を有すると決定される場合、その特定の写真は、「9」の重みが与えられる。さらに別の実施例として、特定の写真内に顔または複数の顔が存在することが決定される場合、それは、無生物物体の写真より関心があるものである可能性が高い。本特定の写真は、「8」の重みが与えられるであろう。これらの重み、すなわち、「10」、「9」、または「8」のいずれも、「高」として見なされ得る。
【0054】
表に図示される他の実施例として、ユーザは、特定の写真が撮影された場所およびどれくらい最近に特定の写真が支持されたかにあまり関心がない場合がある。したがって、これらの2つの信号は、表に示されるように、評価方式における最低重みである、「3」の重みを割り当てられる。さらに別の実施例として、特定の写真に関して書き込まれたコメントの数および特定の写真を支持するユーザの数もまた、特定のユーザが関心があり得る、2つの重要な信号である。これらの2つの信号は、したがって、それぞれ、表に示されるように、高重み「7」および「6」が与えられる。
【0055】
ここで
図7を参照すると、概して、参照番号700によって示される、ソーシャルネットワークユーザインターフェースのいくつかの実施形態が、図示される。本ユーザインターフェース700は、ユーザデバイス115a・・・115nのうちの任意の1つ以上に表示のために提供され得る。参照番号702は、ソーシャルネットワーク、例えば、名称、またはソーシャルネットワークがユーザに表示されることを所望し得る任意の他の情報を示す。ユーザインターフェース700は、ソーシャルネットワークの特定のユーザが、参照番号704によって示されるテキストボックス内に写真に関連付けられた名称またはキーワードをタイプすることによって、ユーザの写真ストリーム内の写真を検索することを可能にする、制御特徴を提示し得る。参照番号706は、表示されるページ上の現在のユーザ名、本実施例では、ユーザ125aを示す。ユーザインターフェース700はまた、概して、参照番号708によって示される、ユーザへの写真の表示のための異なる選択肢を提供し得る。「すべて」と指定されるタブをクリックすることによって、ユーザインターフェース700は、特定のユーザが、その写真ストリームまたはアルバム内の全写真の表示を要求することを可能にする。ユーザインターフェース700内の「友人」と指定されるタブをクリックすることによって、特定のユーザは、その友人の写真のみの表示を要求し得る。ユーザインターフェース700内の「家族」と指定されるタブをクリックすることによって、ユーザは、特定のユーザの家族の写真の表示を要求し得る。ユーザインターフェース700は、タブ「その他」がクリックされると、多数の他の方法で写真を表示し得る。
【0056】
図示される実施例では、「すべて」として指定されるタブが、ハイライトされ、全写真に対する特定のユーザの要求を示す。「すべて」の選択肢を要求すると、ユーザインターフェース700は、ユーザのソーシャルグラフおよび写真に関連付けられた他の外部信号に基づいて、参照番号710−718によって示される写真を表示し得る。図示される実施例では、ユーザ125aの家族構成員であるユーザ125bは、参照番号710によって示される写真内にタグ付けされる。本写真は示されるように、ユーザ125aに関連する別の家族構成員125dによって共有される。本特定のユーザに対する写真ストリームでは、本写真は、最も関心がある可能性が高いため、写真の順番において、最初にユーザ125aに表示のために提供される。参照番号712によって示される写真は、ユーザ125aに関連する家族構成員125bによって共有され、同様に関心がある可能性が高いため、順番において、次にユーザ125aに提示される。
【0057】
図示されるさらに別の実施例として、参照番号714によって示される写真は、最も多いコメントを有し、参照番号716によって示される写真は、支持する人々の数が最も多い。したがって、これらの2つの写真は、続いて、ユーザ125aに提示される。参照番号718によって示される写真は、コメントが少なく、支持する人々の数が少ない。したがって、写真の順番において、最後にユーザ125aに提示され得る。
【0058】
本技術の実施形態の前述の説明は、例証および説明の目的のために提示されている。包括的であること、または本技術を開示される精密な形態に制限することを意図するものではない。多くの修正および変形例が、前述の教示に照らして、可能である。本技術の範囲は、本発明を実施するための形態によってではなく、本願の請求項によって制限されることが意図される。当業者によって理解されるはずであるように、本技術は、その精神または本質的特性から逸脱することなく、他の具体的形態において具現化され得る。同様に、モジュール、ルーチン、特徴、属性、方法論、および他の側面の特定の名称および分割は、必須または重要ではなく、本開示またはその特徴を実装する機構は、異なる名称、分割、および/または形式を有し得る。さらに、当業者に明白となるはずであるように、モジュール、ルーチン、特徴、属性、方法論、および本技術の他の側面は、ソフトウェア、ハードウェア、ファームウェア、またはそれら3つの任意の組み合わせとして実装されることができる。また、その実施例がモジュールである、本技術のどの構成要素が、ソフトウェアとして実装されようとも、構成要素は、独立型プログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的または動的にリンクされたライブラリとして、カーネルロード可能モジュールとして、デバイスドライバとして、および/またはコンピュータプログラミングの当業者に現在または将来公知となるあらゆる他の方法として実装されることができる。加えて、本技術は、任意の具体的プログラミング言語における、あるいは任意の具体的オペレーティングシステムまたは環境のための実装にいかようにも制限されない。故に、本技術の開示は、以下の請求項に記載される本開示の範囲の制限ではなく、例証であることが意図される。