(57)【要約】システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、第１のコンテンツアイテムがソーシャルネットワーキングシステムを介して公開のために提供されたと判定する。第２のコンテンツアイテムに含まれるコンテンツとマッチングする第１のコンテンツアイテムの幾つかの部分が決定される。第２のコンテンツアイテムは、ソーシャルネットワーキングシステムを介してアクセス可能である。第１のコンテンツアイテムの幾つかの部分が第２のコンテンツアイテムからの著作権により保護された幾つかのコンテンツを含むと判定される。第２のコンテンツアイテムのパブリッシャに少なくとも１つの通知が提供される。通知は、第１のコンテンツアイテムのパブリッシャによる潜在的な著作権違反を示し、通知は、第２のコンテンツアイテムの著作権により保護されたコンテンツとマッチングする第１のコンテンツアイテムの幾つかの部分を特定する。
2019509577.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
ソーシャルネットワーキングシステムが、第１のコンテンツアイテムは前記ソーシャルネットワーキングシステムを介して公開のために提供されたと判定すること、
前記ソーシャルネットワーキングシステムが、第２のコンテンツアイテムに含まれるコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を決定することであって、前記第２のコンテンツアイテムは、前記ソーシャルネットワーキングシステムを介してアクセス可能である、前記決定すること、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムの少なくとも幾つかの部分は前記第２のコンテンツアイテムからの著作権により保護された少なくとも幾つかのコンテンツを含むと判定すること、
前記ソーシャルネットワーキングシステムが、前記第２のコンテンツアイテムのパブリッシャに少なくとも１つの通知を提供することであって、前記通知は、前記第１のコンテンツアイテムのパブリッシャによる潜在的な著作権違反を示し、前記通知は、前記第２のコンテンツアイテムの著作権により保護されたコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を特定する、前記提供すること、
を備える方法。
【請求項２】
前記第２のコンテンツアイテムに含まれるコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を決定することは、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することであって、前記１組の候補コンテンツアイテムは、前記第２のコンテンツアイテムを含む、前記決定すること、
前記ソーシャルネットワーキングシステムが、前記第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする前記第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定すること、をさらに含む、請求項１に記載の方法。
【請求項３】
前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することは、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムのフレームのフィンガープリントを決定すること、
前記ソーシャルネットワーキングシステムが、任意のフレームに対して、該任意のフレームとマッチングする他の複数のコンテンツアイテムの１つまたは複数のフレームを特定する検索インデックスに少なくとも部分的に基づいて、前記フレームのフィンガープリントと関連付けられた１つまたは複数のフィンガープリントを決定することであって、前記検索インデックスの各フィンガープリントは、前記ソーシャルネットワーキングシステムを介して利用可能な少なくとも１つのコンテンツアイテムを示す、前記決定すること、
前記ソーシャルネットワーキングシステムが、前記１つまたは複数のフィンガープリントにより示される複数のコンテンツアイテムに少なくとも部分的に基づいて、前記１組の候補コンテンツアイテムを決定すること、をさらに含む、請求項２に記載の方法。
【請求項４】
前記第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定することは、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムの少なくとも１つの第１のフレームは前記第２のコンテンツアイテムの少なくとも第１のフレームとマッチングすると判定すること、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムの少なくとも１つの第２のフレームは前記第２のコンテンツアイテムの少なくとも１つの第２のフレームとマッチングすると判定すること、をさらに含み、
前記第１のコンテンツアイテムの第１のフレームは、前記第１のコンテンツアイテムの第２のフレームと隣接し、前記第２のコンテンツアイテムの第１のフレームは、前記第２のコンテンツアイテムの第２のフレームと隣接する、請求項２に記載の方法。
【請求項５】
前記第１のコンテンツアイテムの少なくとも１つの第１のフレームは前記第２のコンテンツアイテムの少なくとも１つの第１のフレームとマッチングすると判定することは、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムの第１のフレームのフィンガープリントと、前記第２のコンテンツアイテムの第１のフレームのフィンガープリントとの間のハミング距離が、閾値を満たすと判定することをさらに含む、請求項４に記載の方法。
【請求項６】
前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することは、
前記ソーシャルネットワーキングシステムが、前記１組の候補コンテンツアイテムのランク付けを決定することであって、前記ランク付けは、前記第１のコンテンツアイテムの複数のフレームとマッチングする候補コンテンツアイテムの少なくともセグメント内のフレームの数に少なくとも部分的に基づいている、前記決定すること、
前記ソーシャルネットワーキングシステムが、前記第１のコンテンツアイテムの少なくとも閾値数のフレームとマッチングしない前記１組の候補コンテンツアイテムにおける複数の候補コンテンツアイテムを除去すること、をさらに含む、請求項２に記載の方法。
【請求項７】
前記第１のコンテンツアイテムの少なくとも幾つかの部分は前記第２のコンテンツアイテムからの著作権により保護された少なくとも幾つかのコンテンツを含むと判定することは、
前記ソーシャルネットワーキングシステムが、前記第２のコンテンツアイテムのパブリッシャは前記第２のコンテンツアイテムの１つまたは複数の部分を著作権により保護された１つまたは複数の部分として特定すると判定すること、をさらに含む、請求項１に記載の方法。
【請求項８】
前記第２のコンテンツアイテムのパブリッシャに前記少なくとも１つの通知を提供することは、
前記ソーシャルネットワーキングシステムが、少なくとも前記第１のコンテンツアイテムおよび前記第２のコンテンツアイテムをレビューするためのインタフェースを提供すること、をさらに含む、請求項１に記載の方法。
【請求項９】
前記インタフェースは、
マッチングすると決定された前記第１のコンテンツアイテムおよび前記第２のコンテンツアイテムの両方の対応する部分を再生するための少なくとも１つのオプションを含み、
前記対応する部分の再生は、同時に実行される、請求項８に記載の方法。
【請求項１０】
前記インタフェースは、前記第２のコンテンツアイテムからのコンテンツとマッチングするコンテンツを含む第１のコンテンツアイテムの再生時間の全てを示す、請求項８に記載の方法。
【請求項１１】
システムであって、
少なくとも１つのプロセッサと、
複数の命令を記憶するメモリと、を備え、
前記複数の命令は、前記少なくとも１つのプロセッサにより実行されると、
第１のコンテンツアイテムはソーシャルネットワーキングシステムを介して公開のために提供されたと判定すること、
第２のコンテンツアイテムに含まれるコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を決定することであって、前記第２のコンテンツアイテムは、前記ソーシャルネットワーキングシステムを介してアクセス可能である、前記決定すること、
前記第１のコンテンツアイテムの少なくとも幾つかの部分は前記第２のコンテンツアイテムからの著作権により保護された少なくとも幾つかのコンテンツを含むと判定すること、
前記第２のコンテンツアイテムのパブリッシャに少なくとも１つの通知を提供することであって、前記通知は、前記第１のコンテンツアイテムのパブリッシャによる潜在的な著作権違反を示し、前記通知は、前記第２のコンテンツアイテムの著作権により保護されたコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を特定する、前記提供すること、を前記システムに行わせる、システム。
【請求項１２】
前記第２のコンテンツアイテムに含まれるコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を決定することは、
前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することであって、前記１組の候補コンテンツアイテムは、前記第２のコンテンツアイテムを含む、前記決定すること、
前記第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする前記第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定すること、を前記システムにさらに行わせる、請求項１１に記載のシステム。
【請求項１３】
前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することは、
前記第１のコンテンツアイテムのフレームのフィンガープリントを決定すること、
任意のフレームに対して、該任意のフレームとマッチングする他の複数のコンテンツアイテムの１つまたは複数のフレームを特定する検索インデックスに少なくとも部分的に基づいて、前記フレームのフィンガープリントと関連付けられた１つまたは複数のフィンガープリントを決定することであって、前記検索インデックスの各フィンガープリントは、前記ソーシャルネットワーキングシステムを介して利用可能な少なくとも１つのコンテンツアイテムを示す、前記決定すること、
前記１つまたは複数のフィンガープリントにより示される複数のコンテンツアイテムに少なくとも部分的に基づいて、前記１組の候補コンテンツアイテムを決定すること、を前記システムにさらに行わせる、請求項１２に記載のシステム。
【請求項１４】
前記第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定することは、
前記第１のコンテンツアイテムの少なくとも１つの第１のフレームは前記第２のコンテンツアイテムの少なくとも第１のフレームとマッチングすると判定すること、
前記第１のコンテンツアイテムの少なくとも１つの第２のフレームは前記第２のコンテンツアイテムの少なくとも１つの第２のフレームとマッチングすると判定すること、を前記システムにさらに行わせ、
前記第１のコンテンツアイテムの第１のフレームは、前記第１のコンテンツアイテムの第２のフレームと隣接し、前記第２のコンテンツアイテムの第１のフレームは、前記第２のコンテンツアイテムの第２のフレームと隣接する、請求項１２に記載のシステム。
【請求項１５】
前記第１のコンテンツアイテムの少なくとも１つの第１のフレームは前記第２のコンテンツアイテムの少なくとも１つの第１のフレームとマッチングすると判定することは、
前記第１のコンテンツアイテムの第１のフレームのフィンガープリントと、前記第２のコンテンツアイテムの第１のフレームのフィンガープリントとの間のハミング距離が、閾値を満たすと判定することを前記システムにさらに行わせる、請求項１４に記載のシステム。
【請求項１６】
複数の命令を含む非一時的なコンピュータ読み取り可能な記録媒体であって、
前記複数の命令は、コンピューティングシステムの少なくとも１つのプロセッサによって実行されると、
第１のコンテンツアイテムはソーシャルネットワーキングシステムを介して公開のために提供されたと判定すること、
第２のコンテンツアイテムに含まれるコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を決定することであって、前記第２のコンテンツアイテムは、前記ソーシャルネットワーキングシステムを介してアクセス可能である、前記決定すること、
前記第１のコンテンツアイテムの少なくとも幾つかの部分は前記第２のコンテンツアイテムからの著作権により保護された少なくとも幾つかのコンテンツを含むと判定すること、
前記第２のコンテンツアイテムのパブリッシャに少なくとも１つの通知を提供することであって、前記通知は、前記第１のコンテンツアイテムのパブリッシャによる潜在的な著作権違反を示し、前記通知は、前記第２のコンテンツアイテムの著作権により保護されたコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を特定する、前記提供すること、を備える方法を前記コンピューティングシステムに行わせる、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記第２のコンテンツアイテムに含まれるコンテンツとマッチングする前記第１のコンテンツアイテムの少なくとも幾つかの部分を決定することは、
前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することであって、前記１組の候補コンテンツアイテムは、前記第２のコンテンツアイテムを含む、前記決定すること、
前記第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする前記第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定すること、を前記コンピューティングシステムにさらに行わせる、請求項１６に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することは、
前記第１のコンテンツアイテムのフレームのフィンガープリントを決定すること、
任意のフレームに対して、該任意のフレームとマッチングする他の複数のコンテンツアイテムの１つまたは複数のフレームを特定する検索インデックスに少なくとも部分的に基づいて、前記フレームのフィンガープリントと関連付けられた１つまたは複数のフィンガープリントを決定することであって、前記検索インデックスの各フィンガープリントは、前記ソーシャルネットワーキングシステムを介して利用可能な少なくとも１つのコンテンツアイテムを示す、前記決定すること、
前記１つまたは複数のフィンガープリントにより示される複数のコンテンツアイテムに少なくとも部分的に基づいて、前記１組の候補コンテンツアイテムを決定すること、を前記コンピューティングシステムにさらに行わせる、請求項１７に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定することは、
前記第１のコンテンツアイテムの少なくとも１つの第１のフレームは前記第２のコンテンツアイテムの少なくとも第１のフレームとマッチングすると判定すること、
前記第１のコンテンツアイテムの少なくとも１つの第２のフレームは前記第２のコンテンツアイテムの少なくとも１つの第２のフレームとマッチングすると判定すること、を前記コンピューティングシステムにさらに行わせ、
前記第１のコンテンツアイテムの第１のフレームは、前記第１のコンテンツアイテムの第２のフレームと隣接し、前記第２のコンテンツアイテムの第１のフレームは、前記第２のコンテンツアイテムの第２のフレームと隣接する、請求項１７に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記第１のコンテンツアイテムの少なくとも１つの第１のフレームが、前記第２のコンテンツアイテムの少なくとも１つの第１のフレームとマッチングすると判定することは、
前記第１のコンテンツアイテムの第１のフレームのフィンガープリントと、前記第２のコンテンツアイテムの第１のフレームのフィンガープリントとの間のハミング距離が、閾値を満たすと判定することを前記コンピューティングシステムにさらに行わせる、請求項１９に記載の非一時的なコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツマッチングの分野に関する。より詳細には、本技術は、マッチングコンテンツアイテムを特定する技術に関する。
【背景技術】
【０００２】
今日、人々は、多種多様な目的のためにコンピューティングデバイス（またはシステム）を利用している。ユーザーは、コンピューティングデバイスを使用して、例えば、相互に対話したり、コンテンツにアクセスしたり、コンテンツを共有したり、コンテンツを作成することができる。場合によっては、複数のコンテンツアイテムは、ソーシャルネットワークの複数のメンバーからの投稿を含み得る。投稿は、テキストおよび画像、動画、およびオーディオなどのメディアコンテンツアイテムを含み得る。投稿は、他人によって消費されるためにソーシャルネットワークに公開することができる。
【発明の概要】
【０００３】
本開示の種々の実施形態は、第１のコンテンツアイテムがソーシャルネットワーキングシステムを介して公開のために提供されたと判定するように構成されたシステム、方法、非一時的なコンピュータ読み取り可能な記憶媒体を含む。第２のコンテンツアイテムに含まれるコンテンツとマッチングする第１のコンテンツアイテムの少なくとも幾つかの部分が決定される。第２のコンテンツアイテムは、ソーシャルネットワーキングシステムを介してアクセス可能である。第１のコンテンツアイテムの少なくとも幾つかの部分が第２のコンテンツアイテムからの著作権により保護された少なくとも幾つかのコンテンツを含むと判定される。第２のコンテンツアイテムのパブリッシャに少なくとも１つの通知が提供される。通知は、第１のコンテンツアイテムのパブリッシャによる潜在的な著作権違反を示し、通知は、第２のコンテンツアイテムの著作権により保護されたコンテンツとマッチングする第１のコンテンツアイテムの少なくとも幾つかの部分を特定する。
【０００４】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、第１のコンテンツアイテムのフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組の候補コンテンツアイテムを決定することであって、１組の候補コンテンツアイテムは、第２のコンテンツアイテムを含む、決定すること、第２のコンテンツアイテムの複数のフレームの連続したシーケンスとマッチングする第１のコンテンツアイテムの複数のフレームの少なくとも１つの連続したシーケンスを決定すること、を行うように構成される。
【０００５】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、第１のコンテンツアイテムのフレームのフィンガープリントを決定すること、任意のフレームに対して、該任意のフレームとマッチングする他の複数のコンテンツアイテムの１つまたは複数のフレームを特定する検索インデックスに少なくとも部分的に基づいて、フレームのフィンガープリントと関連付けられた１つまたは複数のフィンガープリントを決定することであって、検索インデックスの各フィンガープリントは、ソーシャルネットワーキングシステムを介して利用可能な少なくとも１つのコンテンツアイテムを示す、決定すること、１つまたは複数のフィンガープリントにより示される複数のコンテンツアイテムに少なくとも部分的に基づいて、１組の候補コンテンツアイテムを決定すること、を行うように構成される。
【０００６】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、第１のコンテンツアイテムの少なくとも１つの第１のフレームが、第２のコンテンツアイテムの少なくとも第１のフレームとマッチングすると判定すること、第１のコンテンツアイテムの少なくとも１つの第２のフレームが第２のコンテンツアイテムの少なくとも１つの第２のフレームとマッチングすると判定すること、を行うように構成され、第１のコンテンツアイテムの第１のフレームは、第１のコンテンツアイテムの第２のフレームと隣接し、第２のコンテンツアイテムの第１のフレームは、第２のコンテンツアイテムの第２のフレームと隣接する。
【０００７】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、第１のコンテンツアイテムの第１のフレームのフィンガープリントと、第２のコンテンツアイテムの第１のフレームのフィンガープリントとの間のハミング距離が、閾値を満たすと判定することを行うように構成される。
【０００８】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、１組の候補コンテンツアイテムのランク付けを決定することであって、ランク付けは、第１のコンテンツアイテムの複数のフレームとマッチングする候補コンテンツアイテムの少なくともセグメント内のフレームの数に少なくとも部分的に基づいている、決定すること、第１のコンテンツアイテムの少なくとも閾値数のフレームとマッチングしない１組の候補コンテンツアイテムにおける複数の候補コンテンツアイテムを除去すること、を行うように構成される。
【０００９】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、第２のコンテンツアイテムのパブリッシャが、第２のコンテンツアイテムの１つまたは複数の部分を著作権により保護された１つまたは複数の部分として特定すると判定すること、を行うように構成される。
【００１０】
一実施形態では、システム、方法、非一時的なコンピュータ読み取り可能な記憶媒体は、少なくとも第１のコンテンツアイテムおよび第２のコンテンツアイテムをレビューするためのインタフェースを提供すること、を行うように構成される。
【００１１】
一実施形態では、インタフェースは、マッチングすると決定された第１のコンテンツアイテムおよび第２のコンテンツアイテムの両方の対応する部分を再生するための少なくとも１つのオプションを含み、対応する部分の再生は、同時に実行される。
【００１２】
一実施形態では、インタフェースは、第２のコンテンツアイテムからのコンテンツとマッチングするコンテンツを含む第１のコンテンツアイテムの再生時間の全てを示す。
開示された技術の多くの他の特徴、応用、実施形態、および／または変形は、添付の図面および以下の詳細な説明から明らかとなることを理解されたい。開示された技術の原理から逸脱することなく、本明細書に記載の構造、システム、非一時的なコンピュータ可読媒体、および方法の追加の実施態様および代替の実施態様の両方または一方を採用することができる。
【図面の簡単な説明】
【００１３】
【図１】本開示の一実施形態による、様々なコンテンツアイテムへのアクセスを提供するように構成された例示的なコンテンツプロバイダモジュールを含む例示的なシステムを示す。
【図２】本開示の一実施形態による、コンテンツマッチングモジュールの一例を示す。
【図３】本開示の一実施形態による、インタフェースの例示的な図を示す。
【図４】本開示の様々な実施形態による、ソーシャルネットワーキングシステムへの公開のための複数のコンテンツアイテムを提出するための例示的なプロセスを示す。
【図５】本開示の様々な実施形態による、複数のコンテンツアイテム間のマッチングを判定する例示的なプロセスを示す。
【図６】本開示の実施形態による、多様なシナリオで利用することができる例示的なソーシャルネットワーキングシステムを含む例示的なシステムのネットワーク図である。
【図７】本開示の実施形態による、多様なシナリオで利用可能なコンピュータシステムまたはコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【００１４】
図面は、説明の目的のためだけに、開示された技術の多様な実施形態を示しており、図面は、同様の要素を識別するために同じ参照番号を使用している。当業者は、以下の説明から、本明細書に記載された開示技術の原理から逸脱することなく、図面に示された構造および方法の代替の実施形態を用いることができることを認識するであろう。
【００１５】
マッチングコンテンツ（MATCHING CONTENT）を特定するためのアプローチ
今日、人々は、多種多様な目的のためにコンピューティングデバイス（またはシステム）を利用している。ユーザーは、コンピューティングデバイスを使用して、例えば、相互に対話したり、コンテンツにアクセスしたり、コンテンツを共有したり、コンテンツを作成することができる。場合によっては、複数のコンテンツアイテムは、ソーシャルネットワークの複数のメンバーからの投稿（posting）を含み得る。投稿は、テキストおよび画像、動画、およびオーディオなどのメディアコンテンツアイテムを含み得る。投稿は、他人によって消費されるためにソーシャルネットワークに公開することができる。
【００１６】
従来のアプローチでは、ユーザーは、様々なコンテンツアイテムをソーシャルネットワーキングシステムに投稿することができる。幾つかの例では、そのようなコンテンツアイテム、例えば、動画は、ソーシャルネットワーキングシステムを介して公開される著作権により保護されるコンテンツアイテム（copyrighted content items）からコピーまたは再生されるコンテンツを含み得る。たとえば、ソーシャルネットワーキングシステムにアップロードされた動画は、著作権により保護される動画の複製である可能性がある。この例では、アップロードされた動画にフラグが立てられ、適切な処置が実行され得る。幾つかの例では、アップロードされた動画のうちの一部分は、著作権により保護された動画から複製されたコンテンツを含み得る。例えば、アップロードされた動画は、映画予告編のうちの一部分を含む映画評論家の動画である可能性がある。従来のアプローチでは、アップロードされた動画全体には、著作権違反としてフラグが立てられ、動画の複製部分の著作権者が、動画全体をレビューして著作権違反が起きたかどうかを判断する必要がある。したがって、このような従来のアプローチは、これらの問題およびコンピュータ技術で生じる他の問題に対処するには効果的でない可能性がある。
【００１７】
コンピュータ技術に基づく改良されたアプローチは、コンピュータ技術の分野において特に生じる従来のアプローチに関連する前述の欠点および他の欠点を克服する。様々な実施形態において、ソーシャルネットワーキングシステムにアップロードされた複数のコンテンツアイテムは、フィンガープリントされ（fingerprinted）、記憶される。ソーシャルネットワーキングシステムは、ソーシャルネットワーキングシステムを介して公開される他のコンテンツアイテムがアップロードされたコンテンツアイテムの全体または一部分とマッチングするか否かを判定することができる。公開されたコンテンツアイテムとマッチングしたアップロードされたコンテンツアイテムのうちの任意の部分は、著作権侵害の可能性がある。様々な実施形態では、ソーシャルネットワーキングシステムは、任意の公開されたコンテンツアイテムおよび／または著作権により保護されたコンテンツアイテムとマッチングする、アップロードされたコンテンツアイテムのそれぞれの部分を特定することができる。これらのコンテンツアイテムのパブリッシャ（publisher）（たとえば、著作権者）は、可能性のある著作権侵害について通知することができる。幾つかの実施形態では、そのようなパブリッシャは、パブリッシャのコンテンツアイテムとマッチングするアップロードされた動画の部分を特定するインタフェースにアクセスすることができる。パブリッシャは、インタフェースにアクセスして、パブリッシャの著作権侵害の可能性があると特定されたアップロードされた動画の部分を再生することができる。またパブリッシャは、インタフェースにアクセスして、例えば、アップロードされた動画に著作権侵害としてフラグを立てるか、（例えば、コンテンツアイテムを公正に使用するなどの理由で）何もしないか、著作権により保護された部分の使用を許可することができる。
【００１８】
図１は、本開示の実施形態による、種々のコンテンツアイテムに対するアクセスを提供するように構成された例示的なコンテンツプロバイダモジュール１０２を含む例示的なシステム１００を示す。図１の例に示されるように、コンテンツプロバイダモジュール１０２は、コンテンツアップロードモジュール１０４と、コンテンツモジュール１０６と、コンテンツマッチングモジュール１０８と、を含み得る。幾つかの例では、例示的なシステム１００は、少なくとも１つのデータストア１１０を含み得る。この図および本明細書におけるすべての図に示される構成要素（例えば、モジュール、要素など）は、単なる例示にすぎず、任意の他の実施態様は、追加の、より少ない、統合された、または異なる構成要素を含むことができる。幾つかの構成要素は、関連する詳細が不明瞭とならないように図示されない場合がある。
【００１９】
幾つかの実施形態では、コンテンツプロバイダモジュール１０２は、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせとして、部分的にまたは全体的に実装することができる。概して、本明細書で考察されるモジュールは、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせと関連付けることができる。幾つかの実施態様において、モジュールの１つもしくは複数の機能、タスク、および／または動作を、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および／またはこれらの任意の組み合わせによって実行または行うことができる。幾つかの例では、コンテンツプロバイダモジュール１０２は、ユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上などの、１つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行しているソフトウェアとして、部分的にまたは全体的に実装することができる。一例では、コンテンツプロバイダモジュール１０２またはその少なくとも一部分は、図６のユーザデバイス６１０などのユーザーまたはクライアントコンピューティングデバイス上で稼動するアプリケーション（例えば、ａｐｐ）、プログラム、またはアプレットなどとして実装するか、またはこれらの中に実装することができる。他の例では、コンテンツプロバイダモジュール１０２またはその少なくとも一部分は、ネットワークサーバまたはクラウドサーバなどの１つもしくは複数のサーバを含む１つもしくは複数のコンピューティングデバイスまたはコンピューティングシステムを使用して実装することができる。幾つかの例では、コンテンツプロバイダモジュール１０２は、図６のソーシャルネットワーキングシステム６３０などのソーシャルネットワーキングシステム（またはソーシャルネットワーキングサービス）内で部分的にまたは全体的に実装されるか、またはこれと連結して部分的にまたは全体的に動作するように構成することができる。
【００２０】
コンテンツプロバイダモジュール１０２は、例示的なシステム１００に示すような少なくとも１つのデータストア１１０と通信および動作または通信もしくは動作するように構成することができる。少なくとも１つのデータストア１１０は、多様なタイプのデータを記憶および維持するように構成することができる。例えば、データストア１１０は、そのようなコンテンツアイテムに対応するフィンガープリント（例えば、ハッシュコード（hash code））などを含むソーシャルネットワーキングシステムの複数のユーザーによって投稿された種々のコンテンツアイテムを記載する情報を記憶し得る。幾つかの実施態様において、少なくとも１つのデータストア１１０は、ソーシャルネットワーキングシステム（例えば、図６のソーシャルネットワーキングシステム６３０）に関連付けられた情報を格納することができる。ソーシャルネットワーキングシステムに関連付けられた情報としては、ユーザー、社会的なつながり、ソーシャル対話（social interaction）、位置、ジオフェンスエリア（geo-fenced area）、地図、場所、イベント、ページ、グループ、投稿、通信、コンテンツ、フィード、アカウント設定、プライバシー設定、ソーシャルグラフについてのデータ、および多様な他のタイプのデータが挙げられる。幾つかの実施態様において、少なくとも１つのデータストア１１０は、ユーザー識別子、ユーザー情報、プロファイル情報、ユーザー指定の設定、ユーザーによって生成または投稿されたコンテンツ、多様な他のタイプのユーザデータなどの、ユーザーに関連付けられた情報を格納することができる。
【００２１】
コンテンツプロバイダモジュール１０２は、ソーシャルネットワーキングシステムを介して投稿されるコンテンツアイテムへのアクセスをユーザーに提供するように構成され得る。例えば、ユーザーは、ユーザーのコンピューティングデバイス上で動作するソフトウェアアプリケーション（例えば、ソーシャルネットワーキングアプリケーション）によって提供されるインタフェースと対話することができる。このインタフェースは、コンテンツアイテムをソーシャルネットワーキングシステムに投稿するかまたはアップロードするためのオプションを含み得る。コンテンツアイテムを投稿するとき、コンテンツアップロードモジュール１０４は、コンテンツアイテムを記載するデータをコンピューティングデバイスからソーシャルネットワーキングシステムに通信するように用いられる。そのようなコンテンツアイテムは、例えば、テキスト、画像、オーディオ、および動画を含み得る。次いで、ソーシャルネットワーキングシステムは、例えば、１つまたは複数のニュースフィードを含むソーシャルネットワーキングシステムを介してコンテンツアイテムを投稿することができる。ソフトウェアアプリケーションによって提供されるインタフェースは、例えば、コンテンツモジュール１０６を使用して投稿されたコンテンツアイテムにアクセスするために用いられる。例えば、コンテンツモジュール１０６は、ユーザーのニュースフィードに投稿されたコンテンツアイテムを含み得る。この例では、ユーザーは、ニュースフィードをブラウズしながら、投稿されたコンテンツアイテムにアクセスすることができる。他の例では、ユーザーは、インタフェースを介してコンテンツアイテムを検索し、インタフェースを介してコンテンツアイテムを投稿したユーザーを検索し、および／またはコンテンツアイテムに対応する検索語を使用して、投稿されたコンテンツアイテムにアクセスすることができる。コンテンツマッチングモジュール１０８は、ソーシャルネットワーキングシステムに投稿されたか、または進行中であるマッチングコンテンツアイテムを特定するように構成され得る。コンテンツマッチングモジュール１０８に関するさらなる詳細は、図２を参照して以下に提供される。
【００２２】
図２は、本開示の一実施形態による、コンテンツマッチングモジュール２０２の一例を示す。幾つかの実施形態では、図１のコンテンツマッチングモジュール１０８は、コンテンツマッチングモジュール２０２として具体化され得る。図２に示すように、コンテンツマッチングモジュール２０２は、フィンガープリンティングモジュール２０４、マッチングモジュール２０６、セグメントマッチングモジュール２０８、および通知モジュール２１０を含み得る。
【００２３】
様々な実施形態では、フィンガープリンティングモジュール（fingerprinting module）２０４は、複数のコンテンツアイテムの各々のフィンガープリントを決定するように構成される。例えば、コンテンツアイテムのフィンガープリントは、コンテンツアイテムが最初にソーシャルネットワーキングシステムにアップロードされたときに決定されてもよい。幾つかの実施形態では、フィンガープリンティングモジュール２０４は、以下に説明するように、１つまたは複数の技術を使用して複数のコンテンツアイテムのフィンガープリントを決定するようにそれぞれ構成された１つまたは複数のフィンガープリントサービスから複数のコンテンツアイテムのフィンガープリントを取得することもできる。幾つかの例では、コンテンツアイテムをアップロードするユーザーまたはエンティティは、コンテンツアイテムを必ずしもソーシャルネットワーキングシステムに投稿することなく、著作権により保護されたコンテンツを保護するようにコンテンツアイテムがアップロードされていることを示すオプションを選択することができる。
【００２４】
幾つかの実施形態では、フィンガープリンティングモジュール２０４は、コンテンツアイテムの複数のフレーム（または複数の画像）のいくつかまたはすべてのフィンガープリントを決定するように構成される。一例では、フィンガープリンティングモジュール２０４は、コンテンツアイテム内の各フレームのフィンガープリントを決定することができる。他の例では、フィンガープリンティングモジュール２０４は、指定されたレート（例えば、毎秒１フレーム）で複数のフレームの各々のフィンガープリントを決定することができる。複数のフィンガープリントを決定するとき、フィンガープリンティングモジュール２０４は、フレームによってキャプチャされたコンテンツまたは特定事項（subject matter）に基づいて対応するフィンガープリントを生成するように訓練されたモデルまたは分類器（classifier）を利用することができる。幾つかの実施形態では、フィンガープリントは、フレームのコンパクトな表現を提供する類似性保存ハッシュコード（similarity-preserving hash code）である。分類器は、深い畳み込みニューラルネットワークを含むがこれに限定されない任意の機械学習技術に基づくことができる。そのような実施形態では、第１のコンテンツアイテムからのフレームと第２のコンテンツアイテムからのフレームとの間のマッチング（match）は、２つのフレームのそれぞれのフィンガープリントを比較することによって判定され得る。幾つかの実施形態では、比較は、第１のコンテンツアイテムからのフレームのフィンガープリントと第２のコンテンツアイテムからのフレームのフィンガープリントとの間のハミング距離を計算することによって実行され得る。同様のフレームは、閾値ハミング距離が満たされたときに特定され得る。コンテンツアイテムについて決定された複数のフィンガープリントは、例えば、図１のデータストア１１０に格納され、複数の類似コンテンツアイテムを特定するために検索される。
【００２５】
様々な実施形態では、マッチングモジュール２０６は、複数のコンテンツアイテム間の関連性の尺度（measure）を決定するように構成される。一例では、このような尺度はスコアの形式で提供され得る。例えば、幾つかの実施形態では、マッチングモジュール２０６は、アップロードされたコンテンツアイテムについて、アップロードされたコンテンツアイテム内のフレームとマッチングする少なくとも１つのフレームをそれぞれ含む１組のコンテンツアイテムを決定することができる。幾つかの実施形態では、１組のコンテンツアイテムは、コンテンツアイテム内の任意のフレームについて、任意のフレームとマッチングする他のコンテンツアイテム内の１つ以上のフレームを特定する検索インデックスを使用して決定されてもよい。
【００２６】
幾つかの実施形態では、マッチングモジュール２０６は、コンテンツアイテムがアップロードされたコンテンツアイテムにどの程度厳密にマッチングするかに基づいて、１組のコンテンツアイテム内の複数のコンテンツアイテムをランク付けすることができる。このランク付けは、例えば、コンテンツアイテムとアップロードされたコンテンツアイテムとの間のマッチングフレームの数に基づいて行われてもよい。幾つかの実施形態では、コンテンツアイテムをランク付けするとき、マッチングモジュール２０６は、１組のコンテンツアイテムに含まれる複数のコンテンツアイテムの複数のフレームとマッチングしたアップロードされたコンテンツアイテムの少なくとも１つのセグメント（例えば、複数のフレームの部分）に含まれるフレームの数を決定する。セグメントは、（例えば、フレーム数または期間に基づく）一定の長さであってもよい。例えば、マッチングモジュール２０６は、アップロードされたコンテンツアイテムの２０秒セグメント（毎秒１フレーム）に含まれる複数のフレームのうち、これらフレームのうちの８個のフレームが１組のコンテンツアイテムにおける第１のコンテンツアイテム内の複数のフレームとマッチングすること、およびこれらフレームのうちの１５個のフレームが１組のコンテンツアイテムにおける第２のコンテンツアイテム内の複数のフレームとマッチングすることを決定し得る。１組のコンテンツアイテムに含まれる各コンテンツアイテムは、コンテンツアイテム内のマッチングしたフレームの数に基づいてそれぞれのスコアを割り当てることができる。この例では、第１のコンテンツアイテムが、評価されている２０個のフレームのうちのマッチングした８個のフレームを含むため、第１のコンテンツアイテムに割り当てられたスコアは、「８」である。さらに、第２のコンテンツアイテムは、評価されている２０個のフレームのうちのマッチングした１５個のフレームを含むため、第２のコンテンツアイテムに割り当てられたスコアは、「１５」である。そのようなスコアは、１組のコンテンツアイテムをランク付けするように使用され得る。第１のコンテンツアイテムおよび第２のコンテンツアイテムにおいてマッチングした複数のフレームは、連続していても、または連続していなくてもよい。少なくとも閾値スコア（例えば、少なくとも６つのマッチングフレーム）が割り当てられた１組のコンテンツアイテムにおける複数のコンテンツアイテムは、複数の候補コンテンツアイテムとして特定され得る。セグメントマッチングモジュール２０８は、複数の候補コンテンツアイテムに対する後処理を実行するように用いられ、アップロードされたコンテンツアイテムのうちの少なくとも幾つかの部分が複数の候補コンテンツアイテムでもあるコンテンツを含むことを判定することができる。
【００２７】
幾つかの実施形態では、１組のコンテンツアイテムのうちの複数のコンテンツアイテムをスコア付けするように使用される複数のセグメントは、他のフィンガープリントサービスから取得され得る。例えば、幾つかの実施形態では、オーディオフィンガープリンティングサービス（audio fingerprinting service）は、アップロードされたコンテンツアイテムまたはアップロードされたコンテンツアイテムの部分に対する１つまたは複数のオーディオフィンガープリントを決定するように用いられ得る。通常、オーディオフィンガープリントは、（複数の）オーディオ信号の任意の知覚特性（perceptual characteristics）を考慮しながら、コンテンツアイテムに対応する１つ以上のオーディオ信号に基づいて決定され得る。オーディオフィンガープリントを生成するための１例のアプローチは、本明細書中にその全体が参考として援用される２０１４年１月１３日に出願された米国特許出願第１４／１５３，４０４号「オーディオフィンガープリンティングに基づく歪みオーディオ信号の検出（Detecting distorted audio signals based on audio fingerprinting）」に記載されている離散コサイン変換（DCT : discrete cosine transform）に基づいている。そのような実施形態では、マッチングモジュール２０６は、１組のコンテンツアイテムの１つまたは複数のコンテンツアイテムのオーディオコンテンツとマッチングするオーディオコンテンツを含むアップロードされたコンテンツアイテムの少なくとも１つのセグメントをオーディオフィンガープリントサービスから取得することができる。そのような複数のセグメントは、上述のように、１組のコンテンツアイテムをランク付けし、複数の候補コンテンツアイテムを決定するように用いられる。同様に、幾つかの実施形態では、動画フィンガープリンティングサービスは、アップロードされたコンテンツアイテムまたはアップロードされたコンテンツアイテムの複数の部分（例えば、各フレームまたはコンテンツアイテムの１組のフレーム）に対する１つまたは複数の動画フィンガープリントを決定するように用いられ得る。一例では、アップロードされたコンテンツアイテムの動画フィンガープリントは、コンテンツアイテムに対応する１つまたは複数の動画信号に基づいて決定され得る。動画フィンガープリントは、例えば、キーフレーム解析、色、複数のフレームにわたる動画の変化、および複数の動画シーケンス中の動きの変化（例えば、オプティカルフロー（optical flow））を含むコンテンツアイテム内の複数の視覚的特徴を分析することによって決定され得る。そのような実施形態では、マッチングモジュール２０６は、１組のコンテンツアイテムのうちの１つまたは複数のコンテンツアイテムのコンテンツとマッチングするコンテンツ（たとえば、動画または動き（motion））を含むアップロードされたコンテンツアイテムの少なくとも１つのセグメントを動画フィンガープリントサービスから取得することができる。そのようなセグメントは、上述のように、１組のコンテンツアイテムをランク付けし、複数の候補コンテンツアイテムを決定するように用いられ得る。
【００２８】
上述したように、少なくとも閾値スコア（例えば、少なくとも６つのマッチングフレーム）が割り当てられた１組のコンテンツアイテムにおける複数のコンテンツアイテムは、複数の候補コンテンツアイテムとして識別され得る。セグメントマッチングモジュール２０８は、複数の候補コンテンツアイテムに対する後処理を実行して、複数の候補コンテンツアイテムにも存在するコンテンツを含むアップロードされたコンテンツアイテムの少なくとも幾つかの部分（またはすべて）を決定するように使用され得る。幾つかの実施形態では、セグメントマッチングモジュール２０８は、アップロードされたコンテンツアイテム内の各フレームについての対応するフィンガープリントと、候補コンテンツアイテム内の各フレームについての対応するフィンガープリントを取得することによって幾つかの部分を決定する。そのような実施形態では、セグメントマッチングモジュール２０８は、対応するフィンガープリントを使用して、アップロードされたコンテンツアイテムと候補コンテンツアイテムの各フレームとの比較を実行し、マッチングした複数のフレームの１つ以上の最長シーケンス（longest sequence）を決定する。各シーケンスは、マッチングしたフレームが始まる開始時間と、マッチングしたフレームが終了する終了時間とに関連付けられる。上述したように、このような比較は、２つのフレームのフィンガープリント間のハミング距離が閾値を満たすかどうかを判定することによって実行され得る。例えば、セグメントマッチングモジュール２０８は、アップロードされたコンテンツアイテムのフレーム１〜５０が、候補コンテンツアイテムのフレーム５０〜１００とマッチングすると判定し得る。幾つかの例では、複数のマッチングフレームの２つ以上のシーケンスの間にマッチングしない多数のフレームが存在してもよい。そのような場合、セグメントマッチングモジュール２０８は、マッチングした複数のフレームの２つ以上のシーケンスが、マッチングした複数のフレームの連続したシーケンスとしてインタフェースに表示されるように平滑化技術（smoothing technique）を適用することができる。例えば、セグメントマッチングモジュール２０８は、アップロードされたコンテンツアイテムのフレーム１〜５０および５５〜１００が候補コンテンツアイテムのフレーム５０〜１００および１０５〜１５０にそれぞれマッチングすると判定することができる。この例では、セグメントマッチングモジュール２０８は、アップロードされたコンテンツアイテムのフレーム１〜１００のすべてが、候補コンテンツアイテムのフレーム５０〜１５０とマッチングする複数のフレームの連続したシーケンスとしてインタフェースに表示されるように、平滑化技術を適用することができる。
【００２９】
マッチングした複数のフレームのシーケンスの全てが各候補コンテンツアイテムについて判定されると、通知モジュール２１０は、潜在的な著作権侵害をパブリッシャに通知することができる。例えば、通知モジュール２１０は、アップロードされたコンテンツアイテムが著作権により保護されたコンテンツであり、第１の候補コンテンツアイテムの複数の部分および第２の候補コンテンツアイテムの複数の部分がアップロードされたコンテンツアイテムのコンテンツとマッチングすると判定することができる。この例では、通知モジュール２１０は、第１の候補コンテンツアイテムのパブリッシャおよび第２の候補コンテンツアイテムのパブリッシャによる潜在的な著作権違反のアップロードされたコンテンツアイテムをパブリッシャに通知することができる。別例では、通知モジュール２１０は、アップロードされたコンテンツアイテムが第１候補コンテンツアイテムのコンテンツとマッチングし、第１候補コンテンツアイテムがそのパブリッシャによって著作権により保護されたコンテンツとして特定されたと判定することができる。この例では、通知モジュール２１０は、アップロードされたコンテンツアイテムのパブリッシャによる潜在的な著作権侵害の第１候補コンテンツアイテムをパブリッシャに通知することができる。幾つかの実施形態では、通知されたパブリッシャは、図３の例に示すように、潜在的な著作権侵害が決定されたコンテンツアイテムのそれぞれの部分を特定する通知モジュール２１０によって提供されるインタフェースにアクセスすることができる。パブリッシャは、インタフェースにアクセスして、複数のコンテンツアイテムのマッチングした複数の部分を再生することができる。パブリッシャは、特定のコンテンツアイテムに著作権違反としてフラグを立てるか、（例えば、コンテンツアイテムの公正使用のために）何も行動しないか、著作権により保護された幾つか部分の使用の許可を与えるなど、インタフェースにアクセスすることもできる。
【００３０】
図３は、本開示の一実施形態による、インタフェース３００の例示的な図を示す。前述のように、複数のコンテンツアイテムのパブリッシャは、著作権により保護されたコンテンツが侵害された可能性があるときに通知を受け取ることができる。幾つかの実施形態では、そのような複数のパブリッシャは、例えば、コンピューティングデバイス上で動作するソフトウェアアプリケーション（例えば、ソーシャルネットワーキングアプリケーションおよび／またはウェブブラウザ）を介して、インタフェース３００にアクセスすることができる。
【００３１】
インタフェース３００は、パブリッシャの著作権により保護されたコンテンツアイテム３０２およびパブリッシャの著作権を潜在的に侵害する可能性のある任意の複数のコンテンツアイテム３０４へのアクセスを提供することができる。パブリッシャは、インタフェース３００を介して複数のコンテンツアイテム３０２，３０４の任意の複数の部分を再生することができる。また、インタフェース３００は、コンテンツアイテム３０４のどの部分がパブリッシャのコンテンツアイテム３０２とマッチングするかを示す視覚情報３０６を含む。例えば、視覚情報３０６は、コンテンツアイテム３０４のどの部分３０７がパブリッシャのコンテンツアイテム３０２とマッチングするかを示す動画再生ステータスバー３０６の形式で表されてもよい。このような複数の部分３０７は、例えば、ステータスバー３０６内のマッチングしていない部分とは異なる陰影または色を使用して示すことができる。幾つかの実施形態では、ステータスバー３０６の長さは、著作権を潜在的に侵害しているコンテンツアイテム３０４の長さに対応する。また、インタフェース３００は、どのような量のコンテンツアイテム３０４がパブリッシャのコンテンツアイテム３０２とマッチングするかを示す情報３０８を提供することができる（例えば、「２：１８のうちの０：５８があなたの動画とマッチングする」）。様々な実施形態では、パブリッシャは、インタフェース３００を介してオプション３１０を選択して、マッチングすると判定されたパブリッシャのコンテンツアイテム３０２およびコンテンツアイテム３０４のそれぞれの部分を再生することができる。それぞれの部分の再生は、インタフェース３００を介して実行され、かつ同期して実行され得る。再生を見ると、パブリッシャは、著作権侵害のため、オプション３１２を選択してマッチングしたコンテンツアイテム３０４を報告することができる。報告されると、コンテンツアイテム３０４は、ソーシャルネットワーキングシステムから除去されてもよい（または、コンテンツアイテム３０４へのアクセスが防止されてもよい）。さらに、コンテンツアイテム３０４のパブリッシャは、著作権違反を通知されてもよい。幾つかの実施形態では、閾値数の著作権侵害について報告されたパブリッシャは、ソーシャルネットワーキングシステムにアクセスすることができない、および／またはソーシャルネットワーキングシステムにコンテンツアイテムを投稿することを妨げられる。幾つかの実施形態では、パブリッシャは、（例えば、公正使用のために）コンテンツアイテム３０４に対して何の措置も取らないか、または著作権により保護された複数の部分の使用のための許可を与えるオプションを選択することができる。
【００３２】
図４は、本開示の様々な実施形態による、ソーシャルネットワーキングシステムへの公開のための複数のコンテンツアイテムを提出するための例示的なプロセス４００を示す。別段の記載がない限り、本明細書で説明された様々な実施形態の範囲内で、同様のまたは代替の順序で、または並行して実行される追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００３３】
ブロック４０２において、コンテンツアイテムが、ソーシャルネットワーキングシステムにアップロードされる。ブロック４０４において、アップロードされたコンテンツアイテムは、１つまたは複数のフィンガープリンティング技術および／またはサービスを使用してフィンガープリントを作成される。ブロック４０６において、コンテンツアイテムをアップロードしたユーザーまたはエンティティが、コンテンツアイテムが著作権により保護されていることを特定したかどうかの判定が行われる。コンテンツアイテムが著作権により保護されていると特定された場合、ブロック４０７において、コンテンツアイテムを記載する情報が著作権データベースに記憶される。この著作権データベースは、マッチングした複数のコンテンツアイテム間で著作権違反が発生したかどうかを判定する際に参照され得る。ブロック４０８において、アップロードされたコンテンツアイテムと、ソーシャルネットワーキングシステムを介して利用可能な他の複数のコンテンツアイテムとの間に潜在的な著作権違反が存在するかどうかの判定が行われる。ブロック４１０において、ソーシャルネットワーキングシステムを介して利用可能な任意の複数のコンテンツアイテムがアップロードされたコンテンツアイテムとマッチングするかどうかの判定が行われる。上記で説明したように、マッチングが判定された場合、ブロック４１２において、適切な複数のコンテンツアイテムのそれぞれのパブリッシャ（または著作権者）に通知される。幾つかの例では、アップロードされたコンテンツアイテムが公開されなくてもよい。例えば、アップロードされたコンテンツアイテムは、ニュースフィードまたはソーシャルネットワーキングシステムの１人以上のユーザーに個人的に投稿することができる。そのような場合、ソーシャルネットワーキングシステムは、アップロードされたコンテンツアイテムのパブリッシャに、著作権により保護されたコンテンツの不正使用を警告するメッセージを送ることができる。メッセージは、さらに、アップロードされたコンテンツアイテムを削除するか、著作権者の使用の承認を求めるようにパブリッシャに依頼することができる。パブリッシャが承認を求めることに同意すると、コンテンツアイテム（またはコンテンツアイテムの複数の部分）の著作権を保持するソーシャルネットワーキングシステムのユーザーに通知され、アップロードされたコンテンツアイテムを閲覧することができる。場合によっては、アップロードされたコンテンツアイテムのパブリッシャは匿名化されているため、パブリッシャを特定する情報を持たないアップロードされたコンテンツアイテムのみが著作権者に表示される。著作権者は、アップロードされたコンテンツアイテムの投稿を承認するか、コンテンツアイテムをソーシャルネットワーキングシステムから削除するかを選択できる。ブロック４１４において、マッチングが決定されない場合、アップロードされたコンテンツアイテムは、ソーシャルネットワーキングシステムを介して公開されるか、または投稿されることが許可される。
【００３４】
図５は、本開示の種々の実施形態による複数のコンテンツアイテム間のマッチングを判定する例示的な処理５００を示す。別段の記載がない限り、本明細書で説明する様々な実施形態の範囲内で、同様の、または代替の順序で、または並行して実行される追加の、より少ない、または代替のステップが存在し得ることを理解されたい。
【００３５】
ブロック５０２において、第１のコンテンツアイテムがソーシャルネットワーキングシステムを介した公開のために提供されたという決定がなされる。ブロック５０４において、第２のコンテンツアイテムに含まれるコンテンツとマッチングする第１のコンテンツアイテムの少なくとも幾つかの部分が決定され、第２のコンテンツアイテムは、ソーシャルネットワーキングシステムを介してアクセス可能である。ブロック５０６において、第１のコンテンツアイテムの幾つかの部分が、第２のコンテンツアイテムからの著作権により保護された少なくとも幾つかのコンテンツを含むという判定がなされる。ブロック５０８において、少なくとも１つの通知が第２のコンテンツアイテムのパブリッシャに提供され、少なくとも１つの通知は、第１のコンテンツアイテムのパブリッシャによる潜在的な著作権違反を示し、少なくとも１つの通知は、第２のコンテンツアイテム内の著作権により保護されたコンテンツとマッチングする第１のコンテンツアイテムの少なくとも幾つかの複数の部分を特定する。
【００３６】
本開示の様々な実施形態に関連する多くの他の使用、用途、および／または変形があり得ることが企図される。例えば、場合によっては、ユーザーは、開示された技術を利用するか否かを選択することができる。また、開示された技術は、様々なプライバシー設定および嗜好が維持され、個人情報が漏洩するのを防止することを保証することもできる。別の例では、本開示の様々な実施形態は、学習、改善、および／または経時的に改良され得る。
【００３７】
ソーシャルネットワーキングシステム−例示的な実装形態
図６は、本開示の一実施形態による、向上したビデオ符号化のための様々な実施形態で利用され得る例示的なシステム６００のネットワーク図を示す。システム６００は、１つまたは複数のユーザデバイス６１０と、１つまたは複数の外部システム６２０と、ソーシャルネットワーキングシステム（ソーシャルネットワーキングサービス）６３０と、ネットワーク６５０とを含む。一実施形態では、前述の実施形態との関連で論じられたソーシャルネットワーキングサービス、プロバイダ、および／またはシステムは、ソーシャルネットワーキングシステム６３０として実装されてよい。例示の目的のために、図６によって示される、システム６００の実施形態は、単一の外部システム６２０と、単一のユーザデバイス６１０とを含む。ただし、他の実施形態において、システム６００は、より多くのユーザデバイス６１０、および／または、より多くの外部システム６２０を含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム６３０は、ソーシャルネットワークプロバイダによって運営されるのに対して、外部システム６２０は、異なるエンティティによって運営され得るという点で、ソーシャルネットワーキングシステム６３０とは別個のものである。しかしながら、様々な実施形態において、ソーシャルネットワーキングシステム６３０および外部システム６２０は、共に動作して、ソーシャルネットワーキングシステム６３０のユーザ（またはメンバー）に対してソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキングシステム６３０は、外部システム６２０などの他のシステムがインターネット上のユーザーに対してソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
【００３８】
ユーザデバイス６１０は、ユーザーから入力を受信し、ネットワーク６５０を通じてデータを送受信することができる１つまたは複数のコンピューティングデバイス（またはコンピューティングシステム）を備える。一実施形態において、ユーザデバイス６１０は、例えば、マイクロソフトウィンドウズ（登録商標）と互換性のあるオペレーティングシステム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘ（登録商標）ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス６１０は、スマートフォン、タブレット、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯電話、ラップトップコンピュータ、ウェアラブルデバイス（例えば、眼鏡、腕時計、ブレスレット、その他）、カメラ、機器、その他などのコンピュータ機能を有するコンピューティングデバイスまたはデバイスであってもよい。ユーザデバイス６１０は、ネットワーク６５０を通じて通信するように構成される。ユーザデバイス６１０は、アプリケーション、例えば、ユーザデバイス６１０のユーザーがソーシャルネットワーキングシステム６３０と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス６１０は、ｉＯＳおよびＡＮＤＲＯＩＤ（登録商標）などの、ユーザデバイス６１０のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース（ＡＰＩ）を通じてソーシャルネットワーキングシステム６３０を対話する。ユーザデバイス６１０は、ネットワーク６５０を通じて外部システム６２０およびソーシャルネットワーキングシステム６３０と通信するように構成される。ネットワーク６５０は、有線通信システムおよび／または無線通信システムを使用する、ローカルエリアネットワークおよび／または広域ネットワークの任意の組み合わせを備え得る。
【００３９】
１つの実施形態において、ネットワーク６５０は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク６５０は、イーサネット（登録商標）、８０２．１１、マイクロ波アクセスのための世界的相互運用性（ＷｉＭＡＸ：ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、３Ｇ、４Ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＬＴＥ、デジタル加入者線（ＤＳＬ：ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ）等などの技術を使用するリンクを含み得る。同様に、ネットワーク６５０上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング（ＭＰＬＳ：ｍｕｌｔｉｐｒｏｔｏｃｏｌ  ｌａｂｅｌ  ｓｗｉｔｃｈｉｎｇ）、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ：ｓｉｍｐｌｅ  ｍａｉｌ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）、ファイル転送プロトコル（ＦＴＰ）などを含み得る。ネットワーク６５０上で交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ）および拡張マークアップ言語（ＸＭＬ）を含む技術および／またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、およびインターネットプロトコルセキュリティ（ＩＰｓｅｃ）などの従来の暗号化技術を使用して暗号化され得る。
【００４０】
１つの実施形態において、ユーザデバイス６１０は、外部システム６２０から、およびソーシャルネットワーキングシステム６３０から受信されるマークアップ言語文書６１４を、ブラウザアプリケーション６１２を使用して処理することによって、外部システム６２０からのコンテンツおよび／またはソーシャルネットワーキングシステム６３０からのコンテンツを表示し得る。マークアップ言語文書６１４は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する１つまたは複数の命令とを識別する。マークアップ言語文書６１４内に含まれる命令を実行することによって、ブラウザアプリケーション６１２は、マークアップ言語文書６１４によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書６１４は、外部システム６２０およびソーシャルネットワーキングシステム６３０から得られたテキストおよび／または画像データを含む複数のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書６１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパーテキストマークアップ言語（ＸＨＴＭＬ）データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書６１４は、外部システム６２０とユーザデバイス６１０との間のデータ交換を容易にするためのジャバスクリプトオブジェクトノーテーション（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ（登録商標）Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）データ、パディング付きのＪＳＯＮ（ＪＳＯＮＰ：ＪＳＯＮ  ｗｉｔｈ  ｐａｄｄｉｎｇ）データ、およびジャバスクリプトデータを含み得る。ユーザデバイス６１０上のブラウザアプリケーション６１２は、ジャバスクリプトコンパイラを使用して、マークアップ言語文書６１４を復号し得る。
【００４１】
マークアップ言語文書６１４は、ＦＬＡＳＨ（商標）アプリケーションまたはＵｎｉｔｙ（商標）アプリケーション、ＳｉｌｖｅｒＬｉｇｈｔ（商標）アプリケーションフレームワーク等などの、アプリケーションまたはアプリケーションフレームワークも含み、または、これらに対してもリンクし得る。
【００４２】
１つの実施形態において、ユーザデバイス６１０は、ユーザデバイス６１０のユーザーがソーシャルネットワーキングシステム６３０へログインしたかを示すデータを含む、１つまたは複数のクッキー６１６も含む。クッキー６１６は、ソーシャルネットワーキングシステム６３０からユーザデバイス６１０へ通信されるデータのカスタム化を可能にし得る。
【００４３】
外部システム６２０は、１つまたは複数のウェブページ６２２ａ、６２２ｂを含む、１つまたは複数のウェブサーバを含む。１つまたは複数のウェブページ６２２ａ、６２２ｂは、ネットワーク６５０を使用して、ユーザデバイス６１０へ通信される。外部システム６２０は、ソーシャルネットワーキングシステム６３０とは別個である。例えば、外部システム６２０は、第１のドメインに対して関連付けられるが、ソーシャルネットワーキングシステム６３０は、別個のソーシャルネットワーキングドメインに対して関連付けられる。外部システム６２０に含まれるウェブページ６２２ａ、６２２ｂは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書６１４を備える。前述したように、多くのバリエーションまたは他の可能性があり得ることを理解されたい。
【００４４】
ソーシャルネットワーキングシステム６３０は、複数のユーザーを含み、ソーシャルネットワークのユーザーに対して、ソーシャルネットワークの他のユーザーと通信および対話するための能力を提供する、ソーシャルネットワークのための１つまたは複数のコンピューティングデバイスを含む。さらに詳細に説明されるように、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャルネットワークを表現するために使用され得る。ソーシャルネットワーキングシステム６３０は、オペレータによって監督、管理、または制御されてよい。ソーシャルネットワーキングシステム６３０のオペレータは、ソーシャルネットワーキングシステム６３０内でコンテンツを管理し、ポリシを統制し、使用メトリクスを収集するための、人間、自動化されたアプリケーション、または一連のアプリケーションであってよい。任意のタイプのオペレータが使用されてよい。
【００４５】
ユーザーは、ソーシャルネットワーキングシステム６３０に加入し、次いで、そのユーザーがつなげられることを望む、ソーシャルネットワーキングシステム６３０の任意の数の他のユーザーへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザーがソーシャルネットワーキングシステム６３０を通じてつながり、関連、または関係を形成した、ソーシャルネットワーキングシステム６３０の任意の他のユーザーに及ぶ。例えば、一実施形態において、ソーシャルネットワーキングシステム６３０内のユーザーが、ソーシャルグラフ内のノードとして表現される場合、「友達」という用語は、２つのユーザノード間に形成され、かつ、２つのユーザノードを直接的に接続するエッジを指し得る。
【００４６】
つながりは、ユーザーによって明示的に追加されても、または、ユーザーの共通の特性（例えば、同じ教育機関の卒業生であるユーザー）に基づいて、ソーシャルネットワーキングシステム６３０によって自動的に作成されてもよい。例えば、第１のユーザーは、友達になりたい特定の他のユーザーを具体的に選択する。ソーシャルネットワーキングシステム６３０におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザー」および「友達」という用語は、枠組みに依存する。ソーシャルネットワーキングシステム６３０のユーザー間のつながりは、通常は、双務的（「二方向」）または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャルネットワーキングシステム６３０のユーザーであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャルネットワーキングシステム６３０へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザー間のつながりは、直接的なつながりであり得る。ただし、ソーシャルネットワーキングシステム６３０のいくつかの実施形態は、つながりが、１つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。
【００４７】
ユーザー間のつながりを確立および維持し、ユーザー間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム６３０は、ソーシャルネットワーキングシステム６３０によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザーに対して提供する。こうしたアイテムは、ソーシャルネットワーキングシステム６３０のユーザーが所属し得るグループまたはネットワーク（すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク）、ユーザーが興味を持ち得るイベントまたはカレンダー入力、ユーザーがソーシャルネットワーキングシステム６３０を通じて使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム６３０によって提供されるサービスを通じてまたはソーシャルネットワーキングシステム６３０を通じてユーザーがアイテムを購入または販売することを可能にする取引、ならびにユーザーがソーシャルネットワーキングシステム６３０内外で実行し得る広告との対話を含み得る。これらは、ユーザーがソーシャルネットワーキングシステム６３０上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザーは、ソーシャルネットワーキングシステム６３０において、または、ソーシャルネットワーキングシステム６３０とは別個の外部システム６２０もしくはネットワーク６５０を通じてソーシャルネットワーキングシステム６３０に対して結合される外部システム６２０において表現されることが可能なありとあらゆるものと対話し得る。
【００４８】
ソーシャルネットワーキングシステム６３０は、多様なエンティティとリンクすることも可能である。例えば、ソーシャルネットワーキングシステム６３０は、ユーザーが互いに対話すること、および、ＡＰＩ、ウェブサービス、または他の通信チャネルを通じて外部システム６２０または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム６３０は、複数のエッジによって相互接続された複数のノードを備える「ソーシャルグラフ」を生成および維持する。ソーシャルグラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび／または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザー、人間以外のエンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム６３０内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ内の２つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、２つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかのケースでは、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられている属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザーが別のユーザーに対して「いいね」を表明するときに作成されるエッジには、ある重みが与えられてよく、ユーザーが別のユーザーと友達になるときに作成されるエッジには、異なる重みが与えられてよい。
【００４９】
例として、第１のユーザーが第２のユーザーを友達として識別した場合、第１のユーザーを表すノードと、第２のユーザーを表す第２のノードとを接続するソーシャルグラフ中のエッジが生成される。様々なノードが互いに関係するかまたは対話するのに伴い、ソーシャルネットワーキングシステム６３０は、関係および対話を反映するように、様々なノードを接続するエッジを修正する。
【００５０】
ソーシャルネットワーキングシステム６３０は、ユーザーによるソーシャルネットワーキングシステム６３０との対話を高める、ユーザーにより生成されたコンテンツも含む。ユーザーにより生成されたコンテンツは、ユーザーがソーシャルネットワーキングシステム６３０に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザーは、ユーザデバイス６１０からソーシャルネットワーキングシステム６３０への投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび／もしくはメディアを含み得る。コンテンツも、第三者によってソーシャルネットワーキングシステム６３０に対して追加され得る。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム６３０においてオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム６３０のユーザーは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザー同士の対話を増加させ、ユーザーがソーシャルネットワーキングシステム６３０と対話する頻度を増加させる。
【００５１】
ソーシャルネットワーキングシステム６３０は、ウェブサーバ６３２と、ＡＰＩ要求サーバ６３４と、ユーザプロファイルストア６３６と、つながりストア６３８と、アクションロガー６４０と、アクティビティログ６４２と、認証サーバ６４４とを含む。本発明の一実施形態において、ソーシャルネットワーキングシステム６３０は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインタフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。
【００５２】
ユーザプロファイルストア６３６は、ユーザーによって申告され、またはソーシャルネットワーキングシステム６３０によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザーが一意に識別されるように、ユーザプロファイルストア６３６内に記憶される。ソーシャルネットワーキングシステム６３０は、異なるユーザー間の１つまたは複数のつながりを記述するデータも、つながりストア６３８内に記憶する。つながり情報は、同様または共通の職歴、グループメンバーシップ、趣味、または学歴を有するユーザーを示し得る。また、ソーシャルネットワーキングシステム６３０は、ユーザーの他のユーザーとの関係をユーザーが特定することを可能にする、異なるユーザー間におけるユーザーによって定義されたつながりを含む。例えば、ユーザーによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザーの実生活の関係と並行する、他のユーザーとの関係をユーザーが生成することを可能にする。ユーザーは、予め定義されたタイプのつながりから選択しても、またはユーザー自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャルネットワーキングシステム６３０内の他のノードとのつながりも、つながりストア６３８内に記憶される。
【００５３】
ソーシャルネットワーキングシステム６３０は、ユーザーが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロファイルストア６３６およびつながりストア６３８は、ソーシャルネットワーキングシステム６３０によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロファイルストア６３６は、ユーザーのアカウントおよびユーザーのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャルネットワーキングシステム６３０は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザーがソーシャルネットワーキングシステム６３０のユーザーになった場合に発生し、ソーシャルネットワーキングシステム６３０は、ユーザプロファイルストア６３６内にユーザプロファイルの新たなインスタンスを生成し、ユーザアカウントに対して一意の識別子を割り当て、ユーザーによって提供される情報をユーザアカウントのフィールドへ投入し始める。
【００５４】
つながりストア６３８は、他のユーザーに対するユーザーのつながり、外部システム６２０に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア６３８は、つながりタイプもユーザーのつながりと関連付け得る。つながりタイプは、ユーザーのプライバシー設定と共に使用されて、ユーザーに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザプロファイルストア６３６およびつながりストア６３８は、連合データベースとして実装され得る。
【００５５】
つながりストア６３８、ユーザプロファイルストア６３６、およびアクティビティログ６４２内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャルグラフをソーシャルネットワーキングシステム６３０が生成することを可能にする。例えば、第１のユーザーが、ソーシャルネットワーキングシステム６３０内で第２のユーザーとのつながりを確立する場合、ユーザプロファイルストア６３６からの第１のユーザーおよび第２のユーザーのユーザアカウントは、ソーシャルグラフ内のノードとして動作し得る。つながりストア６３８によって記憶される、第１のユーザーと第２のユーザーとの間のつながりは、第１のユーザーおよび第２のユーザーに対して関連付けられるノード間のエッジである。この例を続けると、第２のユーザーは、次いで、第１のユーザーに対して、ソーシャルネットワーキングシステム６３０内でメッセージを送信し得る。メッセージを送信するアクションは、第１のユーザーおよび第２のユーザーを表現する、ソーシャルグラフ内の２つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第１のユーザーを表現するノードおよび第２のユーザーを表現するノードに対して接続される別のノードとして、ソーシャルグラフにおいて識別され、ソーシャルグラフに含まれ得る。
【００５６】
別の例において、第１のユーザーは、ソーシャルネットワーキングシステム６３０によって維持される画像において（または、代替的に、ソーシャルネットワーキングシステム６３０の外部の別のシステムによって維持される画像において）第２のユーザーをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム６３０内のノードとして表現され得る。このタグ付けアクションは、ユーザーの各々と画像との間にエッジを作成するだけでなく、第１のユーザーと第２のユーザーとの間のエッジも作成し得る。画像もソーシャルグラフ内のノードである。また別の例において、ユーザーが、イベントへ参加することを確かめる場合、そのユーザーおよびそのイベントは、ユーザプロファイルストア６３６から取得されるノードであり、そのイベントへの参加は、アクティビティログ６４２から得られ得るノード間のエッジである。ソーシャルグラフを生成および維持することによって、ソーシャルネットワーキングシステム６３０は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。
【００５７】
ウェブサーバ６３２は、ソーシャルネットワーキングシステム６３０を、ネットワーク６５０を通じて、１つもしくは複数のユーザデバイス６１０および／または１つもしくは複数の外部システム６２０に対してリンクする。ウェブサーバ６３２は、ウェブページ、およびＪａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ、Ｆｌａｓｈ、ＸＭＬなどの他のウェブ関連コンテンツを供給する。ウェブサーバ６３２は、メールサーバを含み、または、ソーシャルネットワーキングシステム６３０と１つもしくは複数のユーザデバイス６１０との間のメッセージを受信およびルーティングするための他のメッセージング機能を含み得る。メッセージは、インスタントメッセージ、キューメッセージ（例えば、電子メール）、テキストおよびＳＭＳメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
【００５８】
ＡＰＩ要求サーバ６３４は、１つまたは複数の外部システム６２０およびユーザデバイス６１０が、１つまたは複数のＡＰＩ関数を呼び出すことによって、ソーシャルネットワーキングシステム６３０からのアクセス情報を呼び出すことを可能にする。ＡＰＩ要求サーバ６３４は、外部システム６２０が、ＡＰＩを呼び出すことによって、ソーシャルネットワーキングシステム６３０に対して情報を送信することも可能にし得る。外部システム６２０は、１つの実施形態において、ネットワーク６５０を通じてソーシャルネットワーキングシステム６３０へＡＰＩ要求を送信し、ＡＰＩ要求サーバ６３４は、そのＡＰＩ要求を受信する。ＡＰＩ要求サーバ６３４は、ＡＰＩ要求に対して関連付けられているＡＰＩを呼び出すことによって要求を処理して、適当な応答を生成する。ＡＰＩ要求サーバ６３４は、その適当な応答を、ネットワーク６５０を通じて外部システム６２０へ通信する。例えば、ＡＰＩ要求に応答して、ＡＰＩ要求サーバ６３４は、外部システム６２０に対してログインしたユーザーのつながりなどの、ユーザーに対して関連付けられているデータを収集し、収集されたデータを外部システム６２０へ通信する。別の実施形態において、ユーザデバイス６１０は、外部システム６２０と同じ手法で、ＡＰＩを通じてソーシャルネットワーキングシステム６３０と通信する。
【００５９】
アクションロガー６４０は、ソーシャルネットワーキングシステム６３０内での、および／またはソーシャルネットワーキングシステム６３０外でのユーザアクションに関する通信をウェブサーバ６３２から受信することが可能である。アクションロガー６４０は、ユーザアクションに関する情報をアクティビティログ６４２へ投入し、ソーシャルネットワーキングシステム６３０の内部で、およびソーシャルネットワーキングシステム６３０の外部で、そのユーザーによって行われた様々なアクションをソーシャルネットワーキングシステム６３０が発見することを可能にする。特定のユーザーが、ソーシャルネットワーキングシステム６３０上の別のノードに関して行う任意のアクションは、アクティビティログ６４２内または同様のデータベースもしくは他のデータレポジトリ内で維持される情報を通じて、各ユーザーのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャルネットワーキングシステム６３０内でユーザーによって行われるアクションの例は、例えば、別のユーザーに対するつながりを追加すること、別のユーザーへメッセージを送信すること、別のユーザーからのメッセージを読むこと、別のユーザーに対して関連付けられるコンテンツを視聴すること、別のユーザーによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザーもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザーが、ソーシャルネットワーキングシステム６３０内でアクションを行う場合、そのアクションは、アクティビティログ６４２内に記録される。一実施形態において、ソーシャルネットワーキングシステム６３０は、アクティビティログ６４２をエントリのデータベースとして維持する。アクションが、ソーシャルネットワーキングシステム６３０内で行われる場合、そのアクションについてのエントリが、アクティビティログ６４２に対して追加される。アクティビティログ６４２は、アクションログと称され得る。
【００６０】
また、ユーザアクションは、ソーシャルネットワーキングシステム６３０とは別個の外部システム６２０などの、ソーシャルネットワーキングシステム６３０の外部のエンティティ内で発生するコンセプトおよびアクションに対して関連付けられ得る。例えば、アクションロガー６４０は、ユーザーによる外部システム６２０との対話を記述するデータを、ウェブサーバ６３２から受信し得る。この例において、外部システム６２０は、ソーシャルグラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザーによる対話を報告する。
【００６１】
ユーザーが外部システム６２０と対話するアクションの他の例は、ユーザーが外部システム６２０もしくは別のエンティティにおいて興味を表現すること、外部システム６２０もしくは外部システム６２０内のウェブページ６２２ａと議論するソーシャルネットワーキングシステム６３０に対してユーザーがコメントを投稿すること、ユーザーがソーシャルネットワーキングシステム６３０に対してユニフォームリソースロケータ（ＵＲＬ）もしくは外部システム６２０に対して関連付けられる他の識別子を投稿すること、ユーザーが外部システム６２０に対して関連付けられるイベントへ参加すること、または、外部システム６２０に関連する、ユーザーによる任意の他のアクションを含む。したがって、アクティビティログ６４２は、ソーシャルネットワーキングシステム６３０のユーザーと、ソーシャルネットワーキングシステム６３０とは別個の外部システム６２０との間の対話を記述するアクションを含み得る。
【００６２】
認証サーバ６４４は、ソーシャルネットワーキングシステム６３０のユーザーの１つまたは複数のプライバシー設定を強化する。ユーザーのプライバシー設定は、ユーザーに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザーに対して関連付けられる特定の情報の仕様、および情報が共有され得る１つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザー、アプリケーション、外部システム６２０、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザーによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザーに対して関連付けられる電話番号、ユーザーのつながり、つながりを追加すること、ユーザプロフィール情報を変更することなどのユーザーによって行われるアクション等を備える。
【００６３】
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザーと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザーに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザーの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム６２０を含み得る。１つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザーは、一定の情報に対してアクセスすることを許可される外部システム６２０のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザーは、全ての外部システム６２０がユーザーの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム６２０のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロックリスト」と呼ぶ。ユーザーによって特定されるブロックリストに所属する外部システム６２０は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。
【００６４】
認証サーバ６４４は、ユーザーに対して関連付けられる一定の情報がユーザーの友達、外部システム６２０、ならびに／または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム６２０は、ユーザーの職場電話番号などの、ユーザーのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ６４４からの認証を必要とし得る。ユーザーのプライバシー設定に基づいて、認証サーバ６４４は、別のユーザー、外部システム６２０、アプリケーション、または別のエンティティが、ユーザーによって行われるアクションに関する情報を含む、ユーザーに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
【００６５】
いくつかの実施形態では、ソーシャルネットワーキングシステム６３０は、コンテンツプロバイダモジュール６４６を備えることができる。コンテンツプロバイダモジュール６４６は、例えば、図１のコンテンツプロバイダモジュール１０２として実装されてもよい。上述したように、多くの変形または他の可能性が存在し得ることを理解されたい。
【００６６】
ハードウェア実装形態
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図７は、本発明に応じて本明細書に記載された１つまたは複数の実施形態を実装するために使用され得るコンピュータシステム７００の例を例示する。コンピュータシステム７００は、コンピュータシステム７００に対して、本明細書において議論されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータシステム７００は、他のマシンへ接続され（例えば、ネットワーク化され）得る。ネットワーク化された配置において、コンピュータシステム７００は、クライアント／サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格において動作し、または、ピアツーピア（もしくは分散）ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態において、コンピュータシステム７００は、ソーシャルネットワーキングシステム６３０、ユーザデバイス６１０、外部システム７２０、またはこれらの構成要素であってもよい。本発明の一実施形態において、コンピュータシステム７００は、ソーシャルネットワーキングシステム６３０の全てまたは部分を構成する多くのサー間のうちの１つのサーバであってもよい。
【００６７】
コンピュータシステム７００は、プロセッサ７０２と、キャッシュ７０４と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、１つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム７００は、高性能入出力（Ｉ／Ｏ）バス７０６と、標準Ｉ／Ｏバス７０８とを含む。ホストブリッジ７１０は、プロセッサ７０２を高性能Ｉ／Ｏバス７０６に対して結合する一方で、Ｉ／Ｏバスブリッジ７１２は、２つのバス７０６および７０８を互いに結合する。システムメモリ７１４および１つまたは複数のネットワークインタフェース７１６は、高性能Ｉ／Ｏバス７０６へ結合される。コンピュータシステム７００は、ビデオメモリと、ビデオメモリに対して結合される表示デバイスとをさらに含んでもよい（図示せず）。マスストレージ７１８およびＩ／Ｏポート７２０は、標準Ｉ／Ｏバス７０８へ結合される。コンピュータシステム７００は、バス７０８に対して結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス（図示せず）を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）によって製造されるｘ８６互換性のあるプロセッサ、カリフォルニア州サニーベルのアドバンストマイクロデバイス社（ＡＭＤ：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，Ｉｎｃ）によって製造されるｘ８６互換性のあるプロセッサ、および任意の他の適切なプロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
【００６８】
オペレーティングシステムは、ソフトウェアアプリケーション（図示せず）へのデータの入力およびソフトウェアアプリケーションからのデータの出力を含む、コンピュータシステム７００の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインタフェースを提供する。任意の適切なオペレーティングシステム、例えば、ＬＩＮＵＸオペレーティングシステム、カリフォルニア州クパチーノのアップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．）から市販されているアップルマッキントッシュオペレーティングシステム、ＵＮＩＸ（登録商標）オペレーティングシステム、マイクロソフト（登録商標）ウィンドウズ（登録商標）オペレーティングシステム、ＢＳＤオペレーティングシステム等などが使用され得る。他の実装も可能である。
【００６９】
コンピュータシステム７００の要素は、下記においてより詳細に説明される。具体的には、ネットワークインタフェース７１６は、コンピュータシステム７００と、幅広いネットワークのうちの任意のもの、例えば、イーサネット（例えば、ＩＥＥＥ８０２．３）ネットワーク、バックプレーン等などとの間の通信を提供する。マスストレージ７１８は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ７１４（例えば、ＤＲＡＭ）は、プロセッサ７０２によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。Ｉ／Ｏポート７２０は、コンピュータシステム７００へ結合され得る付加的な周辺デバイス間の通信を提供する、１つまたは複数のシリアル通信ポートおよび／またはパラレル通信ポートであり得る。
【００７０】
コンピュータシステム７００は、多様なシステムアーキテクチャを含むことができ、コンピュータシステム７００の様々な構成要素は、再配置されてもよい。例えば、キャッシュ７０４は、プロセッサ７０２と共にチップ上に実装されてもよい。代替的に、キャッシュ７０４およびプロセッサ７０２は、「プロセッサモジュール」としてまとめられて、プロセッサ７０２が「プロセッサコア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準Ｉ／Ｏバス７０８へ結合される周辺デバイスは、高性能Ｉ／Ｏバス７０６へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータシステム７００の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータシステム７００は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。
【００７１】
一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティングシステムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、１つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、１つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータシステム７００に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、１つまたは複数の命令を、コンピュータシステム７００内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア（例えば、特定用途向け集積回路）、または、これらの任意の組み合わせにおいて実装され得る。
【００７２】
１つの実施形態において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム７００によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体（もしくはマシン読取可能な媒体）上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ７０２などの、ハードウェアシステム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ７１８などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインタフェース７１６を通じて受信されてもよい。命令は、マスストレージ７１８などの記憶デバイスからシステムメモリ７１４内へコピーされ、次いで、プロセッサ７０２によってアクセスされ、実行される。様々な実施形態において、１つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、１つまたは複数の位置における、１つまたは複数のプロセッサによって実行され得る。
【００７３】
コンピュータ読取可能な媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピー（登録商標）ディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク（例えば、コンパクトディスク読取専用メモリ（ＣＤ  ＲＯＭＳ）、デジタル多用途ディスク（ＤＶＤ））、他の同様の非一時的で（もしくは一時的で）、有形の（もしくは無形の）記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の１つもしくは複数を実行すべく、コンピュータシステム7００による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
【００７４】
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素（例えば、モジュール、ブロック、構造、デバイス、特徴等）は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
【００７５】
この明細書における、「１つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な部分における「１つの実施形態において」または「別の実施形態」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。
【００７６】
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。
【図１】
2019509577.tif 000003
【図２】
2019509577.tif 000004
【図３】
2019509577.tif 000005
【図４】
2019509577.tif 000006
【図５】
2019509577.tif 000007
【図６】
2019509577.tif 000008
【図７】
2019509577.tif 000009
【国際調査報告】
2019509577.tif 000010
2019509577.tif 000011