(57)【特許請求の範囲】
【請求項１】
関係チェーン処理方法であって、
関係チェーン修復サーバによって、現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出するステップであって、前記順方向関係の集合が、対応する現在検出されているユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、逆方向関係の集合が、前記現在検出されているユーザ識別子をソーシャルな友達として追加するユーザ識別子を含み、前記反転逆方向関係の集合が、前記現在検出されているユーザ識別子を含む前記逆方向関係の集合に対応する前記ユーザ識別子を含む、ステップと、
前記現在検出されているユーザ識別子に対応する前記順方向関係の集合が、前記対応する反転逆方向関係の集合と一貫性がない場合、関係チェーン修復サーバによって、一貫性のない前記順方向関係の集合および／または対応する逆方向関係の集合に対して一貫性の修復を実行するステップと
を含む、方法。
【請求項２】
いずれかのインターネットデータセンターの順方向関係の集合および／もしくは逆方向関係の集合が変化するときに、同期プロキシサーバによって、複数のインターネットデータセンターの間で変更された関係チェーンデータを同期するステップ、ならびに／または
前記同期プロキシサーバによって、前記複数のインターネットデータセンターの間で修復された前記順方向関係の集合および／もしくは逆方向関係の集合を同期するステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出する前記ステップが、
前記現在検出されているユーザ識別子に対応する前記順方向関係の集合内の前記ユーザ識別子の間の第１のＸＯＲ値、および前記対応する反転逆方向関係の集合内の前記ユーザ識別子の間の第２のＸＯＲ値を、各インターネットデータセンターから取得するステップと、
各インターネットデータセンターからの前記第１のＸＯＲ値に対してＸＯＲ演算を実行して、第１の比較値を取得するステップと、
各インターネットデータセンターからの前記第２のＸＯＲ値に対してＸＯＲ演算を実行して、第２の比較値を取得するステップと、
前記第１の比較値が前記第２の比較値と一貫性があるかどうかを判定するステップと、
前記第１の比較値が前記第２の比較値と一貫性がない場合、一貫性のない前記順方向関係の集合および／または前記対応する逆方向関係の集合に対して一貫性の修復を実行するステップと
を含む、請求項１に記載の方法。
【請求項４】
前記現在検出されているユーザ識別子に対応する前記順方向関係の集合内の前記ユーザ識別子の間の第１のＸＯＲ値、および前記対応する反転逆方向関係の集合内の前記ユーザ識別子の間の第２のＸＯＲ値を、各インターネットデータセンターから取得するステップが、
各インターネットデータセンター内の関係チェーン修復サーバによって、前記現在検出されているユーザ識別子に対応し、前記インターネットデータセンターに記憶された前記順方向関係の集合および前記反転逆方向関係の集合を収集し、前記インターネットデータセンターにおいて収集された前記順方向関係の集合内の前記ユーザ識別子の間の前記第１のＸＯＲ値を計算し、前記インターネットデータセンターにおいて収集された前記反転逆方向関係の集合内の前記ユーザ識別子の間の前記第２のＸＯＲ値を計算するステップと、
指定されたインターネットデータセンター内の関係チェーン修復サーバによって、別のインターネットデータセンター内の関係チェーン修復サーバから前記第１のＸＯＲ値および前記第２のＸＯＲ値を引き出すステップと
を含む、請求項３に記載の方法。
【請求項５】
前記第１の比較値が前記第２の比較値と一貫性がない場合、一貫性のない前記順方向関係の集合および／または前記対応する逆方向関係の集合に対して一貫性の修復を実行する前記ステップが、
前記第１の比較値が前記第２の比較値と一貫性がない場合、前記現在検出されているユーザ識別子に対応する前記順方向関係の集合および前記反転逆方向関係の集合を各インターネットデータセンターから引き出すステップと、
引き出された前記順方向関係の集合を引き出された前記反転逆方向関係の集合と比較して、一貫性のない関係チェーンのペアを探し出すステップと、
一貫性の修復を実行するために、前記一貫性のない関係チェーンのペアに関して、２人の関係者が属するインターネットデータセンターから前記２人の関係者の前記順方向関係の集合および前記逆方向関係の集合を引き出すステップと
を含む、請求項３に記載の方法。
【請求項６】
前記インターネットデータセンターが、インターフェースサーバ、関係チェーン論理サーバ、および関係チェーン記憶サーバを備え、前記方法が、
前記インターフェースサーバによって、ソーシャルアプリケーションクライアントに接続し、ユーザ識別子に対応し、前記ソーシャルアプリケーションクライアントによって送信された関係編集命令を受信し、前記関係編集命令を前記関係チェーン論理サーバに送信するステップと、
前記関係チェーン論理サーバによって、前記対応するユーザ識別子に対応する順方向関係の集合および／または逆方向関係の集合を操作するために、前記関係編集命令に従って前記関係チェーン記憶サーバにアクセスするステップと、
前記関係チェーン記憶サーバによって、記憶された順方向関係の集合および／または逆方向関係の集合に関する前記関係チェーン論理サーバのアクセスおよび操作を受け付けるステップと
をさらに含む、請求項１に記載の方法。
【請求項７】
前記インターネットデータセンターが、アクセスプロキシサーバをさらに備え、前記方法が、
前記アクセスプロキシサーバが前記関係チェーン論理サーバのアクセス頻度およびアクセス許可を制御し、アクセス記録を生成するように、前記対応するユーザ識別子に対応する順方向関係の集合および／または逆方向関係の集合を操作するために、前記関係編集命令に従って前記アクセスプロキシサーバを使用することによって、前記関係チェーン論理サーバにより前記関係チェーン記憶サーバにアクセスするステップ
をさらに含む、請求項６に記載の方法。
【請求項８】
前記ユーザ識別子が、公的アカウントおよび個人ユーザ識別子を含み、前記順方向関係の集合または前記逆方向関係の集合内の前記ユーザ識別子が、指定された数のユーザ識別子を単位として使用するグループによってインデックス付けされる、請求項１に記載の方法。
【請求項９】
ユーザ識別子に対応する順方向関係の集合および逆方向関係の集合を記憶するように別々に構成された複数のインターネットデータセンターであって、前記順方向関係の集合が、対応するユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、前記逆方向関係の集合が、前記逆方向関係の集合に対応する前記ユーザ識別子をソーシャルな友達として追加するユーザ識別子を含む、複数のインターネットデータセンターと、
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出し、前記現在検出されているユーザ識別子に対応する前記順方向関係の集合が、前記対応する反転逆方向関係の集合と一貫性がない場合、一貫性のない前記順方向関係の集合および／または前記対応する逆方向関係の集合に対して一貫性の修復を実行するように構成された関係チェーン修復サーバとを備え、
前記反転逆方向関係の集合が、前記現在検出されているユーザ識別子を含む前記逆方向関係の集合に対応する前記ユーザ識別子を含む、関係チェーン処理システム。
【請求項１０】
同期プロキシサーバをさらに備え、
前記同期プロキシサーバが、いずれかのインターネットデータセンターの順方向関係の集合および／または逆方向関係の集合が変化するときに、前記複数のインターネットデータセンターの間で変更された関係チェーンデータを同期するように構成され、
前記同期プロキシサーバが、前記複数のインターネットデータセンターの間で修復された順方向関係の集合および／または逆方向関係の集合を同期するように構成される、請求項９に記載のシステム。
【請求項１１】
各インターネットデータセンターが、前記現在検出されているユーザ識別子に対応するローカルに記憶された順方向関係の集合内の前記ユーザ識別子に対してＸＯＲ演算を実行して、第１のＸＯＲ値を取得し、前記現在検出されているユーザ識別子に対応する前記反転逆方向関係の集合内の前記ユーザ識別子に対してＸＯＲ演算を実行して、第２のＸＯＲ値を取得するようにさらに構成され、
前記関係チェーン修復サーバが、各インターネットデータセンターから前記第１のＸＯＲ値および前記第２のＸＯＲ値を取得し、各インターネットデータセンターからの前記第１のＸＯＲ値に対してＸＯＲ演算を実行して、第１の比較値を取得し、各インターネットデータセンターからの前記第２のＸＯＲ値に対してＸＯＲ演算を実行して、第２の比較値を取得し、前記第１の比較値が前記第２の比較値と一貫性があるかどうかを判定し、前記第１の比較値が前記第２の比較値と一貫性がない場合、前記一貫性のない前記順方向関係の集合および／または前記対応する逆方向関係の集合に対して一貫性の修復を実行するように特に構成される、請求項９に記載のシステム。
【請求項１２】
各インターネットデータセンターが、前記現在検出されているユーザ識別子に対応する前記ローカルに記憶された順方向関係の集合および前記反転逆方向関係の集合を前記インターネットデータセンター内の前記関係チェーン修復サーバに収集するように構成され、
各インターネットデータセンター内の前記関係チェーン修復サーバが、前記インターネットデータセンターにおいて収集された前記順方向関係の集合内の前記ユーザ識別子の間の前記第１のＸＯＲ値を計算し、前記インターネットデータセンターにおいて収集された前記反転逆方向関係の集合内の前記ユーザ識別子の間の前記第２のＸＯＲ値を計算するように構成され、
指定されたインターネットデータセンター内の関係チェーン修復サーバが、別のインターネットデータセンター内の関係チェーン修復サーバから前記第１のＸＯＲ値および前記第２のＸＯＲ値を引き出し、各インターネットデータセンターからの前記第１のＸＯＲ値に対してＸＯＲ演算を実行して、第１の比較値を取得し、各インターネットデータセンターからの前記第２のＸＯＲ値に対してＸＯＲ演算を実行して、第２の比較値を取得し、前記第１の比較値が前記第２の比較値と一貫性があるかどうかを判定し、前記第１の比較値が前記第２の比較値と一貫性がない場合、前記一貫性のない前記順方向関係の集合および／または前記対応する逆方向関係の集合に対して一貫性の修復を実行するように構成される、請求項１１に記載のシステム。
【請求項１３】
前記関係チェーン修復サーバが、前記第１の比較値が前記第２の比較値と一貫性がない場合、前記現在検出されているユーザ識別子に対応する前記順方向関係の集合および前記反転逆方向関係の集合を各インターネットデータセンターから引き出し、引き出された前記順方向関係の集合を引き出された前記反転逆方向関係の集合と比較して一貫性のない関係チェーンのペアを探し出し、一貫性の修復を実行するために、前記一貫性のない関係チェーンのペアに関して、２人の関係者が属するインターネットデータセンターから前記２人の関係者の前記順方向関係の集合および前記逆方向関係の集合を引き出すように特に構成される、請求項１１に記載のシステム。
【請求項１４】
前記インターネットデータセンターが、
ソーシャルアプリケーションクライアントに接続し、ユーザ識別子に対応し、前記ソーシャルアプリケーションクライアントによって送信された関係編集命令を受信し、前記関係編集命令を関係チェーン論理サーバに送信するように構成されたインターフェースサーバと、
前記対応するユーザ識別子に対応する順方向関係の集合および／または逆方向関係の集合を操作するために、前記関係編集命令に従って関係チェーン記憶サーバにアクセスするように構成された前記関係チェーン論理サーバと、
前記ユーザ識別子に対応する前記順方向関係の集合および前記逆方向関係の集合を記憶し、記憶された順方向関係の集合および／または逆方向関係の集合に関する前記関係チェーン論理サーバのアクセスおよび操作を受け付けるように構成された前記関係チェーン記憶サーバと
を備える、請求項９に記載のシステム。
【請求項１５】
前記インターネットデータセンターが、アクセスプロキシサーバをさらに備え、
前記関係チェーン論理サーバが、前記対応するユーザ識別子に対応する順方向関係の集合および／または逆方向関係の集合を操作するために、前記関係編集命令に従って前記アクセスプロキシサーバを使用することによって前記関係チェーン記憶サーバにアクセスするようにさらに構成され、
前記アクセスプロキシサーバが、前記関係チェーン論理サーバのアクセス頻度およびアクセス許可を制御し、アクセス記録を生成するように構成される、請求項１４に記載のシステム。
【請求項１６】
前記ユーザ識別子が、公的アカウントおよび個人ユーザ識別子を含み、前記順方向関係の集合または前記逆方向関係の集合内の前記ユーザ識別子が、指定された数のユーザ識別子を単位として使用するグループによってインデックス付けされる、請求項９に記載のシステム。
【請求項１７】
コンピュータ可読命令を記憶する１以上の不揮発性コンピュータ可読記憶媒体であって、前記コンピュータ可読命令が、１つまたは複数のプロセッサによって実行されるときに、前記１つまたは複数のプロセッサに、
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出するステップであって、前記順方向関係の集合が、対応する現在検出されているユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、逆方向関係の集合が、前記現在検出されているユーザ識別子をソーシャルな友達として追加するユーザ識別子を含み、前記反転逆方向関係の集合が、前記現在検出されているユーザ識別子を含む前記逆方向関係の集合に対応する前記ユーザ識別子を含む、ステップと、
前記現在検出されているユーザ識別子に対応する前記順方向関係の集合が、対応する反転逆方向関係の集合と一貫性がない場合、一貫性のない前記順方向関係の集合および／または対応する逆方向関係の集合に対して一貫性の修復を実行するステップとを実行させる、１つ以上の不揮発性コンピュータ可読記憶媒体。
【請求項１８】
前記命令が、前記プロセッサによって実行されるときに、前記プロセッサに、
いずれかのインターネットデータセンターの順方向関係の集合および／もしくは逆方向関係の集合が変化するときに、同期プロキシサーバによって、複数のインターネットデータセンターの間で変更された関係チェーンデータを同期するステップ、ならびに／または
前記同期プロキシサーバによって、前記複数のインターネットデータセンターの間で修復された前記順方向関係の集合および／もしくは逆方向関係の集合を同期するステップをさらに実行させる、請求項１７に記載の記憶媒体。
【請求項１９】
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出する前記ステップが、
前記現在検出されているユーザ識別子に対応する前記順方向関係の集合内の前記ユーザ識別子の間の第１のＸＯＲ値、および前記対応する反転逆方向関係の集合内の前記ユーザ識別子の間の第２のＸＯＲ値を、各インターネットデータセンターから取得するステップと、
各インターネットデータセンターからの前記第１のＸＯＲ値に対してＸＯＲ演算を実行して、第１の比較値を取得するステップと、
各インターネットデータセンターからの前記第２のＸＯＲ値に対してＸＯＲ演算を実行して、第２の比較値を取得するステップと、
前記第１の比較値が前記第２の比較値と一貫性があるかどうかを判定するステップと、
前記第１の比較値が前記第２の比較値と一貫性がない場合、一貫性のない前記順方向関係の集合および／または前記対応する逆方向関係の集合に対して一貫性の修復を実行するステップと
を含む、請求項１７に記載の記憶媒体。
【請求項２０】
前記現在検出されているユーザ識別子に対応する前記順方向関係の集合内の前記ユーザ識別子の間の第１のＸＯＲ値、および前記対応する反転逆方向関係の集合内の前記ユーザ識別子の間の第２のＸＯＲ値を、各インターネットデータセンターから取得するステップが、
各インターネットデータセンター内の関係チェーン修復サーバによって、前記現在検出されているユーザ識別子に対応し、前記インターネットデータセンターに記憶された前記順方向関係の集合および前記反転逆方向関係の集合を収集し、前記インターネットデータセンターにおいて収集された前記順方向関係の集合内の前記ユーザ識別子の間の前記第１のＸＯＲ値を計算し、前記インターネットデータセンターにおいて収集された前記反転逆方向関係の集合内の前記ユーザ識別子の間の前記第２のＸＯＲ値を計算するステップと、
指定されたインターネットデータセンター内の関係チェーン修復サーバによって、別のインターネットデータセンター内の関係チェーン修復サーバから前記第１のＸＯＲ値および前記第２のＸＯＲ値を引き出すステップと
を含む、請求項１９に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、2015年9月9日に出願された「RELATION CHAIN PROCESSING SYSTEM, METHOD, AND APPARATUS」と題された中国特許出願第201510572404.2号の優先権を主張するものであり、この特許出願は、参照によりその全体が組み込まれる。
【０００２】
本開示は、ソーシャルネットワーキング技術の分野に関し、特に、関係チェーン処理方法およびシステム、ならびに記憶媒体に関する。
【背景技術】
【０００３】
端末ハードウェア技術の発達および進歩、ならびにネットワークへの需要により、ユーザは、パーソナルコンピュータまたは携帯電話などの端末を使用することによってソーシャルアプリケーションクライアントにログインし、そのソーシャルアプリケーションクライアントにログインするその他のユーザとのソーシャルインタラクションを実行することができる。ソーシャルインタラクションは、インスタントメッセージング、コンテンツの共有などを含む。
【０００４】
関係チェーンは、ユーザがソーシャルネットワーキングを実行するための基礎であり、概して、ユーザ識別子の間のマッピング関係によって表され得る。たとえば、ユーザAとユーザBとの間のマッピング関係は、記憶されることが可能であり、ユーザAおよびユーザBは、互いの情報を取得するためにマッピング関係を引き出し、互いにソーシャルインタラクションを実行することができる。
【０００５】
現在、関係チェーンの誤りに起因して、関係チェーンに基づくソーシャルインタラクションの障害を避けるために、関係チェーンは、集中的に、たとえば、インターネットデータセンター(IDC)に記憶される必要がある。しかし、関係チェーンを集中的に記憶することに関しては大きなクラッシュの危険性があり、ユーザが近隣アクセス(close-by access)を実行することができず、端末のアクセス性能を保証することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本出願のさまざまな実施形態によれば、関係チェーン処理方法およびシステム、ならびに記憶媒体が提供される。
【課題を解決するための手段】
【０００７】
関係チェーン処理方法は、
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合(forward-relationships set)が、対応する反転逆方向関係の集合(inverted-reverse-relationships set)と一貫性があるかどうかを検出するステップであって、順方向関係の集合が、対応する現在検出されているユーザ識別子によって追加されたソーシャルな友達(social friend)のユーザ識別子を含み、逆方向関係の集合(reverse-relationships set)が、現在検出されているユーザ識別子をソーシャルな友達として追加するユーザ識別子を含み、反転逆方向関係の集合が、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するユーザ識別子を含む、ステップと、
現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するステップとを含む。
【０００８】
関係チェーン処理システムは、
ユーザ識別子に対応する順方向関係の集合および逆方向関係の集合を記憶するように別々に構成された複数のインターネットデータセンターであって、順方向関係の集合が、対応するユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、逆方向関係の集合が、逆方向関係の集合に対応するユーザ識別子をソーシャルな友達として追加するユーザ識別子を含む、複数のインターネットデータセンターと、
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出し、現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するように構成された関係チェーン修復サーバとを備え、
反転逆方向関係の集合は、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するユーザ識別子を含む。
【０００９】
コンピュータ可読命令を記憶する1つまたは複数の不揮発性コンピュータ可読記憶媒体が提供され、コンピュータ可読命令は、1つまたは複数のプロセッサによって実行されるときに、1つまたは複数のプロセッサに、
現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出するステップであって、順方向関係の集合が、対応する現在検出されているユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、逆方向関係の集合が、現在検出されているユーザ識別子をソーシャルな友達として追加するユーザ識別子を含み、反転逆方向関係の集合が、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するユーザ識別子を含む、ステップと、
現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するステップとを実行させる。
【００１０】
本開示の1つまたは複数の実施形態の詳細が、以下の添付の図面および説明において与えられる。本開示の他の特徴、目的、および利点は、本明細書、添付の図面、および特許請求の範囲から、より明らかになる。
【００１１】
本発明の実施形態または既存の技術の技術的な解決策をより明瞭に説明するために、以下、実施形態または既存の技術を説明するために必要とされる添付の図面を簡単に紹介する。明らかに、以下の説明の添付の図面は、本発明の一部の実施形態のみを示しており、当業者は、創造的な努力なしに、これらの添付の図面から他の図面を導き出すことが依然として可能である。
【図面の簡単な説明】
【００１２】
【図１】一実施形態の関係チェーン処理システムの応用環境の図である。
【図２】別の実施形態の関係チェーン処理システムの応用環境の図である。
【図３】さらに別の実施形態の関係チェーン処理システムの応用環境の図である。
【図４】一実施形態のインターネットデータセンターの応用環境の図である。
【図５】別の実施形態の関係チェーン処理システムの応用環境の図である。
【図６】一実施形態の関係チェーン処理方法の概略的な流れ図である。
【図７】一実施形態において、現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する逆方向関係の集合と一貫性があるかどうかを検出する概略的な流れ図である。
【図８】一実施形態において、現在検出されているユーザ識別子に対応する順方向関係の集合の中のユーザ識別子の間の第1のXOR値、および対応する逆方向関係の集合の中のユーザ識別子の間の第2のXOR値を、各インターネットデータセンターから取得する概略的な流れ図である。
【図９】一実施形態において、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行する概略的な流れ図である。
【図１０】一実施形態のインターネットデータセンター内の実行の概略的な流れ図である。
【図１１】一実施形態のインターネットデータセンター内のサーバの概略的な構造図である。
【図１２】一実施形態のサーバの構造ブロック図である。
【図１３】別の実施形態のサーバの構造ブロック図である。
【発明を実施するための形態】
【００１３】
本開示の目的、技術的な解決策、および利点をより明瞭にするために、以下で、添付の図面および実施形態を参照して、本開示をさらに詳細に説明する。本明細書において説明される特定の実施形態は、本開示を説明するために使用されるに過ぎず、本開示を限定するために使用されないことを理解されたい。
【００１４】
図1に示されるように、一実施形態においては、関係チェーン処理システムが提供され、複数のインターネットデータセンター102(図1の102(0)および102(1)を含む)と、関係チェーン修復サーバ104とを含む。関係チェーン修復サーバ104は、各インターネットデータセンター102に接続され、インターネットデータセンター102は、ユーザ端末200のためのアクセスインターフェースを提供する。ユーザ端末200は、アクセスするために任意のインターネットデータセンター102を選択してもよく、概して、ネットワーク構造に応じてインターネットデータセンター102への近隣アクセスを実行し得る。ユーザ端末200は、デスクトップコンピュータまたはモバイル端末であってよく、モバイル端末は、携帯電話、タブレットコンピュータ、スマートウォッチ、および携帯情報端末(PDA)のうちの少なくとも1つを含む。
【００１５】
複数のインターネットデータセンター102は、ユーザ識別子に対応する順方向関係の集合および逆方向関係の集合を記憶するように別々に構成され、順方向関係の集合は、対応するユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、逆方向関係の集合は、逆方向関係の集合に対応するユーザ識別子をソーシャルな友達として追加するユーザ識別子を含む。
【００１６】
特に、インターネットデータセンター102は、サーバクラスタであり、インターネットに基づいており、集中的にデータを収集し、記憶し、処理し、送信するデバイスに管理保守を行う設備である。複数のインターネットデータセンター102の数は、知られている。1つのインターネットデータセンター102内のサーバクラスタは、地理的に集中化される。ソーシャルな友達は、ソーシャルネットワークに基づく友達を指し、友達は、オフラインの友達に限定されず、同僚、親戚、または恋人などのさまざまな知り合い関係のユーザである可能性もある。関係チェーンは、ソーシャルネットワーク内のソーシャルな友達の間のマッピング関係である。
【００１７】
正の関係チェーン(positive relation chain)は、ユーザが別のユーザを友達として能動的に追加する関係チェーンであり、順方向関係の集合は、ユーザによって追加された友達の組であり、順方向関係の集合に一意に対応するユーザ識別子は、友達を能動的に追加するユーザの一意識別子であり、順方向関係の集合に含まれるユーザ識別子は、ユーザによって能動的に追加された友達の一意識別子である。順方向関係の集合は、データベーステーブルに記憶され得、正方向テーブル(positive direction table)と呼ばれ得る。
【００１８】
逆方向関係チェーンは、ユーザが別のユーザによって友達として受動的に追加される関係チェーンであり、逆方向関係の集合に一意に対応するユーザ識別子は、別のユーザによって友達として受動的に追加されたユーザの一意識別子であり、逆方向関係の集合に含まれるユーザ識別子は、逆方向関係の集合に対応するユーザ識別子を友達として追加するユーザの一意識別子である。逆方向関係の集合は、データベーステーブルに記憶され得、逆方向テーブル(reverse direction table)と呼ばれ得る。順方向関係の集合、逆方向関係の集合、ならびに順方向関係の集合および逆方向関係の集合に対応するユーザ識別子の間の対応は、集合的に関係チェーンデータと呼ばれ得る。
【００１９】
ユーザ識別子に対応する順方向関係の集合および逆方向関係の集合は、1つのインターネットデータセンター102に記憶され、複数のインターネットデータセンター102の別のインターネットデータセンター102が、順方向関係の集合および逆方向関係の集合のコピーを記憶する。
【００２０】
たとえば、ユーザUserAおよびユーザUserBが互いの友達であり、その他の友達を持たないと仮定すると、UserAに対応する順方向関係の集合は、{UserB}であり、UserAに対応する逆方向関係の集合は、{UserB}であり、UserAに対応する順方向関係の集合および逆方向関係の集合は、UserAが属するインターネットデータセンターに記憶される。UserBに対応する順方向関係の集合は、{UserA}であり、UserBに対応する逆方向関係の集合は、{UserA}であり、UserBに対応する順方向関係の集合および逆方向関係の集合は、UserBが属するインターネットデータセンターに記憶される。
【００２１】
時間が経つにつれて、UserAとUserBとの間の関係チェーンは、変化し得る。たとえば、UserBが最初に友達UserAを削除する場合、UserAに対応する順方向関係の集合は、まだ{UserB}であり、UserAに対応する逆方向関係の集合は、{}に変わり、一方、UserBに対応する順方向関係の集合は、{}に変わり、UserBに対応する逆方向関係の集合は、まだ{UserA}である。
【００２２】
さらに、ユーザUserBがUserAを削除するとき、2人のユーザのユーザ集合内のデータは、操作される必要があり、つまり、UserBに対応する順方向関係の集合内のUserAを削除し、UserAに対応する逆方向関係の集合内のUserBを削除する必要がある。したがって、これら2つのユーザ集合を同時に操作するために、修正は、インターネットデータセンターにまたがって実行される必要がある。この場合、1つの修正中に一方のユーザ集合が成功裏に修正され、他方のユーザ集合が修正され損ねる場合、インターネットデータセンター102の間の関係チェーンは一貫性がなく、したがって、関係チェーン修復サーバ104が、複数のインターネットデータセンター102の間の関係チェーンの一貫性を保つために必要とされる。
【００２３】
関係チェーン修復サーバ104は、現在検出されているユーザ識別子に対応し、各インターネットデータセンター102に記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一どうかを検出するように構成される。現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する反転逆方向関係の集合と一貫性がない場合、関係チェーン修復サーバ104は、一貫性のない順方向関係の集合および/または対応する反転逆方向関係の集合に対して一貫性の修復を実行する。反転逆方向関係の集合は、現在検出されているユーザ識別子を含むすべての逆方向関係の集合に対応するユーザ識別子によって形成される。
【００２４】
特に、関係チェーン修復サーバ104は、各インターネットデータセンター102に記憶されたユーザ関係チェーンが何らかの不整合を有するかどうかを検出し、関係チェーンの不整合が存在する場合、対応する順方向関係の集合および/または逆方向関係の集合に対して一貫性の修復を実行するように構成される。本明細書における一貫性の修復は、一貫性のない順方向関係の集合および対応する逆方向関係の集合を一貫性があるように修復し、複数のインターネットデータセンター102にまたがって一貫性を保つことである。現在検出されているユーザ識別子は、ユーザの関係チェーンが一貫性がないかどうかに関して現在不整合の検出中であるユーザのユーザ識別子である。
【００２５】
反転逆方向関係の集合は、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するすべてのユーザ識別子によって形成される。このようにして、正常な状況では、現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がある。順方向関係の集合が、対応する逆方向関係の集合と一貫性がある場合、修復は実行されない。現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する反転逆方向関係の集合と一貫性がない場合、そのことは、現在検出されているユーザ識別子に対応する順方向関係の集合および逆方向関係の集合のうちの少なくとも1つが問題を有し、一貫性の修復が実行される必要があることを示す。
【００２６】
たとえば、インターネットデータセンター内の現在検出されているユーザ識別子Uに対応する順方向関係の集合は、f(U):{A, B, C}と表されると仮定される。同じインターネットデータセンターから、その他のユーザ識別子に対応し、現在検出されているユーザ識別子Uを含むその他の逆方向関係の集合は、r(A):{..., U, ...}, r(B):{..., U, ...}, および r(C):{..., U, ...}、すなわち、ユーザ識別子A、B、およびCにそれぞれ対応する逆方向関係の集合である。したがって、反転逆方向関係の集合は、現在検出されているユーザ識別子Uを含むその他の逆方向関係の集合に対応するその他のユーザ識別子A、B、およびCをrr(U):{A, B, C}または現在検出されているユーザ識別子に対応する反転逆方向関係の集合として含む。したがって、正常な状況においては、f(U) = rr(U)である。現在検出されているユーザ識別子のいずれかの関係チェーンが一貫性がない場合、f(U)≠rr(U)が存在する。
【００２７】
さらに、関係チェーン修復サーバ104は、順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかをさらに判定するために、各インターネットデータセンター102内の現在検出されているユーザ識別子に対応する順方向関係の集合および対応する反転逆方向関係の集合を関係チェーン修復サーバ104に引き出すように構成され得る。
【００２８】
一貫性のない順方向関係の集合および/または任意の対応する逆方向関係の集合に対して一貫性の修復が実行されるとき、一貫性のない順方向関係の集合が、対応する逆方向関係の集合と一貫性があるように修復される可能性があり、または逆方向関係の集合が、対応する逆方向関係の集合が順方向関係の集合と一貫性があるように修復される可能性があり、または対応する順方向関係の集合および逆方向関係の集合が、修正された順方向関係の集合が対応する反転逆方向関係の集合と一貫性があるように同時に修正され得る。
【００２９】
一実施形態において、関係チェーン修復サーバ104が一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するとき、不整合が欠けたユーザ識別子が原因である場合、欠けたユーザ識別子が、順方向関係の集合または対応する逆方向関係の集合において特に追加され得る。このようにして、一貫性の修復が実行されるとき、関係チェーンは、システムのリスクに起因してユーザ関係チェーンが欠けることを防止するために、できる限り残され得る。
【００３０】
たとえば、f(U):{A, B, C}、rr(U):{A, B}であり、この場合、f(U)≠rr(U)であると仮定すると、ユーザ識別子Uとユーザ識別子Cとの間の関係チェーンが保たれ得るように、ユーザ識別子Uが、ユーザ識別子Cに対応する逆方向関係の集合において追加されることが好ましいことがある。確かに、順方向関係の集合と対応する逆方向関係の集合とが一貫性があるようにされ得るように、ユーザ識別子Cが、ユーザ識別子Uに対応する順方向関係の集合において削除されてもよいが、これは、ユーザ識別子Uとユーザ識別子Cとの間の関係チェーンが欠ける原因となる可能性がある。
【００３１】
一実施形態においては、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行する前に、関係チェーン修復サーバ104は、一貫性の問題を有する関係チェーンのペアの少なくとも1人の関係者に一貫性修復フォーマット選択要求を送信してもよく、一貫性修復フォーマット選択要求に応答してフィードバックされた一貫性修復フォーマット確認命令を受信した後、一貫性修復フォーマット確認命令に従って一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行する。
【００３２】
たとえば、f(U):{A, B, C}、rr(U):{A, B}であり、この場合、f(U)≠rr(U)であると仮定すると、関係チェーン修復サーバ104は、ユーザ識別子Uおよび/またはCに対応する端末に一貫性修復フォーマット選択要求を送信し得、したがって、対応する端末は、一貫性修復フォーマットを決定するためのユーザ入力を受け取るためのインターフェースを提供し、さらに、どの一貫性修復フォーマットが使用されるかを示す一貫性修復フォーマット確認命令を関係チェーン修復サーバ104に返す。本明細書の修復フォーマットは、一貫性のない関係チェーンを削除し、一貫性のない関係チェーンを改善することを含む。このようにして、関係チェーン修復サーバ104は、一貫性修復フォーマット確認命令に従って、ユーザ識別子Cに対応する逆方向関係の集合においてユーザ識別子Uを追加するか、またはユーザ識別子Uに対応する順方向関係の集合においてユーザ識別子Cを削除し得る。
【００３３】
関係チェーン処理システムにおいては、たとえ1つのインターネットデータセンターに障害があるとしても関係チェーンの可用性が引き続き保証され得るように、関係チェーンが複数のインターネットデータセンターに記憶される。関係チェーンは、各インターネットデータセンターに順方向関係の集合および逆方向関係の集合の形式で記憶され、関係チェーンに従ってより厳密なソーシャルインタラクションを実行するために、ユーザの間の双方向の関係チェーンが決定され得るように、ユーザがどの友達を追加するかおよびどのその他のユーザがユーザを友達として追加するかが判定され得る。順方向関係の集合および/または逆方向関係の集合を修復することによって関係チェーンの一貫性および可用性を保証するために、ユーザの順方向関係の集合が反転逆方向関係の集合と一貫性があるかどうかを検出することによって、各インターネットデータセンターに記憶された関係チェーンが一貫性がないかどうかが検出され得る。
【００３４】
図2に示されるように、実施形態において、関係チェーン処理システムは、同期プロキシサーバ106をさらに含む。同期プロキシサーバ106は、各インターネットデータセンター102に接続され、関係チェーン修復サーバ104にさらに接続され得る。
【００３５】
実施形態において、同期プロキシサーバ106は、いずれかのインターネットデータセンター102の順方向関係の集合および/または逆方向関係の集合が変化するときに、複数のインターネットデータセンター102の間で変化した関係チェーンデータを同期するように構成される。
【００３６】
特に、本明細書の同期プロキシサーバ106は、プロキシサーバであり、代理として複数のインターネットデータセンター102の間で関係チェーンデータを同期するように構成される。いずれかのインターネットデータセンター102の順方向関係の集合および/または逆方向関係の集合が変わるとき、変化したインターネットデータセンター102は、変化した関係チェーンデータを同期プロキシサーバ106に送信する。同期プロキシサーバ106は、変化した関係チェーンデータをその他のインターネットデータセンター102に同期するように構成される。複数のインターネットデータセンター102の間のコアデータが、同期プロキシサーバ106を使用することによってやりとりされる可能性もある。
【００３７】
実施形態において、同期プロキシサーバ106は、複数のインターネットデータセンター102の間で修復された順方向関係の集合および/または逆方向関係の集合を同期するように構成される。
【００３８】
特に、同期プロキシサーバ106は、関係チェーン修復サーバ104と接続通信し、変化したデータを各インターネットデータセンター102に同期するために、関係チェーン修復サーバ104が関係チェーンを修復するときに変化したデータを取得する。
【００３９】
この実施形態において、関係チェーン処理システムは、同期プロキシサーバ106を含む。同期プロキシサーバ106は、順方向関係の集合および/または逆方向関係の集合が変更されるときに各インターネットデータセンター102に記憶された順方向関係の集合および/または逆方向関係の集合がその他のインターネットデータセンター102に同期され得ることを保証し、関係チェーンの動的な一貫性を保証し得る。
【００４０】
実施形態において、各インターネットデータセンター102は、現在検出されているユーザ識別子に対応するローカルに記憶された順方向関係の集合内のユーザ識別子に対してXOR演算を実行して第1のXOR値を取得し、現在検出されているユーザ識別子に対応する反転逆方向関係の集合内のユーザ識別子に対してXOR演算を実行して第2のXOR値を取得するようにさらに構成される。
【００４１】
特に、関係チェーン修復サーバ104は、1つのインターネットデータセンター102への各インターネットデータセンター102の関係チェーンデータを収集し得るが、インターネットデータセンターにまたがるデータ転送は、大量のネットワーク帯域幅を占有し、ネットワーク帯域幅リソースの消費が極めて多く、コストが高い。
【００４２】
ネットワーク帯域幅の占有を減らすために、本明細書の各インターネットデータセンター102は、現在検出されているユーザ識別子に対応するローカルに記憶された順方向関係の集合に対してXOR演算をまず別々にローカルで実行し、つまり、順方向関係の集合内の各ユーザ識別子に対してXOR演算を実行して第1のXOR値を取得するように構成される。各インターネットデータセンター102は、現在検出されているユーザ識別子に対応する反転逆方向関係の集合に対してXOR演算を別々にローカルで実行し、つまり、反転逆方向関係の集合内の各ユーザ識別子に対してXOR演算を実行して第2のXOR値を取得するように構成される。
【００４３】
たとえば、現在検出されているユーザ識別子Uに対応する順方向関係の集合がf(U):{A, B, C}と表されると仮定すると、対応する反転逆方向関係の集合は、rr(U):{A, B, C}と表される。このように、第1のXOR値は、XOR(f(U))=A xor B xor Cであり、第2のXOR値は、XOR(rr(U)) = A xor B xor Cであり、ここで、XOR()は、XOR値を探すための関数を表し、xorは、XOR演算子である。2つの異なる値のXOR演算の結果は1であり、2つの同じ値のXOR演算の結果は0である。したがって、正常な場合、XOR(f(U)) = XOR(rr(U))が存在するはずである。XOR(f(U))≠XOR(rr(U))が存在する場合、そのことは、f(U)が明らかにrr(U)と一貫性がないことを示す。
【００４４】
関係チェーン修復サーバ104は、各インターネットデータセンター102から第1のXOR値および第2のXOR値を取得し、各インターネットデータセンター102からの第1のXOR値に対してXOR演算を実行して第1の比較値を取得し、各インターネットデータセンター102からの第2のXOR値に対してXOR演算を実行して第2の比較値を取得し、第1の比較値が第2の比較値と一貫性があるかどうかを判定し、第1の比較値が第2の比較値と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するように特に構成される。
【００４５】
特に、インターネットデータセンター102が0、1、2...を使用することによって付番されると仮定すると、対応するインターネットデータセンター102上の現在検出されているユーザ識別子に対応する順方向関係の集合は、fi(U)と表されてもよく、対応するインターネットデータセンター102上の現在検出されているユーザ識別子に対応する反転逆方向関係の集合は、rri(U)と表されてもよく、ここで、i=0、1、2...は、対応するインターネットデータセンター102の番号を表す。各インターネットデータセンター102からの第1のXOR値はXOR(fi(U))であり、第2の比較値XOR(rri(U))を取得するために、各インターネットデータセンター102からの第2のXOR値に対してXOR演算が実行される。
【００４６】
したがって、第1の比較値は、XOR(f(U)) = XOR(f0(U)) xor XOR(f1(U)) xor XOR(f2(U))...と表され、第2の比較値は、XOR(rr(U)) = XOR(rr0(U)) xor XOR(rr1(U)) xor XOR(rr2(U))...と表される。
【００４７】
それから、第1の比較値XOR(f(U))が第2の比較値XOR(rr(U))に等しいかどうかが、判定される。XOR(f(U))がXOR(rr(U))に等しい場合、そのことは、一貫性の問題が検出されないことを示し、この場合、修復は実行されない。XOR(f(U))がXOR(rr(U))に等しくない場合、そのことは、一貫性の問題が検出されることを示し、この場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復が実行される。
【００４８】
この実施形態において、各インターネットデータセンター102は、一貫性の分析を実行するためにローカルに記憶された順方向関係の集合および逆方向関係の集合を収集する必要がなく、その代わりに、内部演算が実行された後に取得された第1のXOR値および第2のXOR値を関係チェーン修復サーバ104に収集しさえすればよく、それから、関係チェーン修復サーバ104が、後続の検出を実行する。このようにして、インターネットデータセンターにまたがって送信される必要があるデータが劇的に減り、ネットワーク帯域幅の占有が減らされ、リソースが節約され、効率が高められる。
【００４９】
図3に示されるように、実施形態において、各インターネットデータセンター102は、現在検出されているユーザ識別子に対応するローカルに記憶された順方向関係の集合および逆方向関係の集合をインターネットデータセンター102内の関係チェーン修復サーバ104に収集するように構成される。
【００５０】
各インターネットデータセンター102内の関係チェーン修復サーバ104は、インターネットデータセンター102において収集された順方向関係の集合内のユーザ識別子の間の第1のXOR値を計算し、インターネットデータセンター102において収集された反転逆方向関係の集合内のユーザ識別子の間の第2のXOR値を計算するように構成される。
【００５１】
指定されたインターネットデータセンター102内の関係チェーン修復サーバ104は、別のインターネットデータセンター102内の関係チェーン修復サーバ104から第1のXOR値および第2のXOR値を引き出し、各インターネットデータセンター102からの第1のXOR値に対してXOR演算を実行して第1の比較値を取得し、各インターネットデータセンター102からの第2のXOR値に対してXOR演算を実行して第2の比較値を取得し、第1の比較値が第2の比較値と一貫性があるかどうかを判定し、第1の比較値が第2の比較値と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するように構成される。
【００５２】
特に、この実施形態において、関係チェーン修復サーバ104は、各インターネットデータセンター102内に配置される。このようにして、各インターネットデータセンター102は、現在検出されているユーザ識別子に対応するインターネットデータセンター102に記憶された順方向関係の集合fi(U)および反転逆方向関係の集合rri(U)を取得し、インターネットデータセンター102内の関係チェーン修復サーバ104において順方向関係の集合fi(U)および反転逆方向関係の集合rri(U)を収集するようにまず構成され、iは、対応するインターネットデータセンター102の番号を表す。
【００５３】
そして、各インターネットデータセンター102内の関係チェーン修復サーバ104は、収集された順方向関係の集合fi(U)に対してXOR演算を実行して第1のXOR値XOR(fi(U))を取得し、収集された反転逆方向関係の集合rri(U)に対してXOR演算を実行して第2のXOR値XOR(rri(U))を取得するように構成される。
【００５４】
さらに、インターネットデータセンター102のうちの1つの指定されたインターネットデータセンター102内の関係チェーン修復サーバ104は、第1の比較値XOR(f(U)) = XOR(f0(U)) xor XOR(f1(U)) xor XOR(f2(U))...および第2の比較値XOR(rr(U)) = XOR(rr0(U)) xor XOR(rr1(U)) xor XOR(rr2(U))...を計算するために、別のインターネットデータセンター102内の関係チェーン修復サーバ104から第1のXOR値XOR(fi(U))および第2のXOR値XOR(rri(U))を引き出すように構成される。
【００５５】
指定されたインターネットデータセンター102内の関係チェーン修復サーバ104は、第1の比較値XOR(f(U))が第2の比較値XOR(rr(U))に等しいかどうかを判定するように構成される。XOR(f(U))がXOR(rr(U))に等しい場合、そのことは、一貫性の問題が検出されないことを示し、この場合、修復は実行されない。XOR(f(U))がXOR(rr(U))に等しくない場合、そのことは、一貫性の問題が検出されることを示し、この場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復が実行される。
【００５６】
実施形態において、関係チェーン修復サーバ104は、第1の比較値が第2の比較値と一貫性がない場合、現在検出されているユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンター102から引き出し、引き出された順方向関係の集合を引き出された反転逆方向関係の集合と比較して一貫性のない関係チェーンのペアを探し出し、一貫性の修復を実行するために、一貫性のない関係チェーンのペアに関して、2人の関係者が属するインターネットデータセンター102から2人の関係者の順方向関係の集合および逆方向関係の集合を引き出すように特に構成される。
【００５７】
特に、第1の比較値が第2の比較値と一貫性がないことが検出されるとき、そのことは、一貫性の問題が検出されることを示し、この場合、関係チェーン修復サーバ104は、現在検出されているユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンター102から引き出すように構成される。このようにして、問題がある可能性がある順方向関係の集合および反転逆方向関係の集合だけが引き出され、ネットワーク帯域幅の占有はまだ許容可能である。
【００５８】
関係チェーン修復サーバ104は、引き出された順方向関係の集合を引き出された反転逆方向関係の集合と比較するように構成され、特に、順方向関係の集合および反転逆方向関係の集合を別々にソートし、それから、比較を実行して問題がある関係チェーンのペアを発見し得る。関係チェーンのペアは、1つの関係チェーン上の2人の関係者のユーザ識別子である。
【００５９】
一貫性の修復を実行するために、問題のある関係チェーンのペアに関して、2人の関係者が属するインターネットデータセンター102から2人の関係者の順方向関係の集合および逆方向関係の集合が引き出される。そして、同期プロキシサーバ104が、各インターネットデータセンター102において修復された順方向関係の集合および逆方向関係の集合を同期する。
【００６０】
実施形態において、関係チェーン修復サーバ104は、一貫性の問題があるユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンター102から定期的におよび定量的に引き出し、引き出された順方向関係の集合を引き出された反転逆方向関係の集合と比較して一貫性のない関係チェーンのペアを探し出し、一貫性の修復を実行するために、一貫性のない関係チェーンのペアに関して、2人の関係者が属するインターネットデータセンター102から2人の関係者の順方向関係の集合および逆方向関係の集合を引き出すように構成される。
【００６１】
たとえば、一貫性の問題があるユーザの割合が0.1%よりも高いと仮定すると、関係チェーンの0.1%のみが、毎日1回修復される。このようにして、複数回の反復の後に一貫性の問題があるユーザの割合はより少なくなり、ついには、毎日修復される量が毎日生成される量と等しくなり、その結果、釣り合いが達成される。この実施形態においては、一貫性の修復を定期的におよび定量的に実行することによって、ネットワーク帯域幅の占有の均等化が達成される。
【００６２】
図4および図5を参照すると、実施形態において、インターネットデータセンター102は、インターフェースサーバ102a、関係チェーン論理サーバ102b、および関係チェーン記憶サーバ102cを含む。
【００６３】
インターフェースサーバ102aは、ソーシャルアプリケーションクライアントに接続し、ユーザ識別子に対応し、ソーシャルアプリケーションクライアントによって送信された関係編集命令を受信し、関係の編集を関係チェーン論理サーバ102bに送信するように構成される。
【００６４】
特に、ソーシャルアプリケーションクライアントは、インスタントメッセージングアプリケーションクライアント、ソーシャルネットワークサイト(SNS)アプリケーションクライアント、またはコンテンツ共有アプリケーションクライアントであり得る。クライアントは、特別に製造されたアプリケーションソフトウェアであってもよく、または対応するアプリケーションサーバにアクセスするサードパーティアプリケーションであってもよい。サードパーティアプリケーションは、ウェブページブラウザ、ウェブページ閲覧機能を有するアプリケーションなどである。ソーシャルアプリケーションクライアントは、関係チェーンに従ってメッセージを受信および送信し得る。本明細書におけるメッセージは、テキスト、写真、動画、および音声のうちの少なくとも1つを含む。
【００６５】
関係編集命令は、関係チェーンを操作するための命令であり、友達を追加すること、友達を削除すること、フォローすること、フォローをやめること、ブラックリストに追加すること、およびブロックすることなどの関係チェーンの変更に関連する操作命令を含む。
【００６６】
関係チェーン論理サーバ102bは、対応するユーザ識別子に対応する順方向関係の集合および/または逆方向関係の集合を操作するために、関係編集命令に従って関係チェーン記憶サーバ102cにアクセスするように構成される。
【００６７】
特に、関係チェーン論理サーバ102bは、関係チェーンに関連するさまざまなサービス論理を処理するように構成され、特に、インターフェースサーバ102aによって送信された関係編集命令を解析し、実行し得る。関係チェーン論理サーバ102bは、同期プロキシサーバ106に接続され得、同期プロキシサーバ106は、複数のインターネットデータセンター102の間で関係チェーンの変化したデータを直接同期する。関係チェーン論理サーバ102bは、関係チェーン修復サーバ104に接続され、インターネットデータセンター102に関する関係チェーン修復サーバ104の読み取り操作および/または書き込み操作を受け付け得る。
【００６８】
関係チェーン記憶サーバ102bは、ユーザ識別子に対応する順方向関係の集合および逆方向関係の集合を記憶し、記憶された順方向関係の集合および/または逆方向関係の集合に関する関係チェーン論理サーバ102cのアクセスおよび操作を受け付けるように構成される。
【００６９】
特に、関係チェーン記憶サーバ102cは、分散型キー-値ストレージシステムを使用して、データの欠けががないことおよび信頼性ならびに関係チェーンデータの最終的な保存を保証し得る。関係チェーン記憶サーバ102cは、関係チェーン論理サーバ102bのさまざまな操作、たとえば、フォローをやめる操作、フォローする操作、およびブロックする操作を受け付けるようにさらに構成され得る。
【００７０】
この実施形態においては、インターネットデータセンター102内で、インターフェースサーバ102aは、インターネットデータセンター102のアクセスを一様に管理し、関係チェーン論理サーバ102bは、さまざまなサービス論理を処理し、関係チェーン記憶サーバ102cは、順方向関係の集合および逆方向関係の集合を記憶する。このようにして、インターネットデータセンター102内のサーバ機能は明瞭であり、管理および保守が容易である。
【００７１】
図4および図5を参照すると、実施形態において、インターネットデータセンター102は、アクセスプロキシサーバ102dをさらに含む。
【００７２】
関係チェーン論理サーバ102bは、対応するユーザ識別子に対応する順方向関係の集合および/または逆方向関係の集合を操作するために、関係編集命令に従ってアクセスプロキシサーバを使用することによって関係チェーン記憶サーバにアクセスするようにさらに構成される。
【００７３】
アクセスプロキシサーバ102dは、関係チェーン論理サーバのアクセス頻度およびアクセス許可を制御し、アクセス記録を生成するように構成される。
【００７４】
この実施形態において、アクセスプロキシサーバ102dは、関係チェーン論理サーバ102bを関係チェーン記憶サーバ102cから隔離し、アクセスプロキシサーバ102dは、関係チェーン論理サーバのアクセス頻度およびアクセス許可を制御し得る。生成されたアクセス記録は、履歴的な行動の記録を調べるために使用されることが可能であり、一貫性の修復の基礎としてさらに使用され得る。アクセスプロキシサーバ102dは、さらに、機密の関係チェーンデータを保護する役割を果たし得る。
【００７５】
実施形態において、ユーザ識別子は、公的アカウント(public account)または個人ユーザ識別子として分類され得る。順方向関係の集合または逆方向関係の集合内のユーザ識別子は、指定された数のユーザ識別子を単位として使用するグループによってインデックス付けされる。
【００７６】
公的アカウントは、アプリケーション開発者または売買業者によって申請されるアプリケーションアカウントである。公的アカウントを使用することによって、アプリケーション開発者または売買業者は、公的アカウントをフォローするユーザグループとの1対1および1対多の情報のインタラクション、たとえば、テキスト、写真、音声、または動画の情報のインタラクションを実行し得る。個人ユーザ識別子は、普通の個人(natural person)によって申請されるアプリケーションアカウントである。個人ユーザ識別子および公的アカウントが関係チェーンを有するとき、個人ユーザ識別子は、公的アカウントのファンと呼ばれ得る。公的アカウントとの関係チェーンを有する個人ユーザ識別子の総数は、概して膨大であり、関係チェーンは、長い関係チェーンと呼ばれ得る。
【００７７】
公的アカウントと個人ユーザとの間の関係チェーンの複雑さのために、順方向関係の集合または逆方向関係の集合内のユーザ識別子は、関係チェーンデータの問い合わせを容易にするためにグループ化され、インデックス付けされる。指定された数を単位として使用するグループ化は、グループ化の後に得られた各グループが指定された数のユーザ識別子を含むことを言う。
【００７８】
図6に示されるように、実施形態において、関係チェーン処理方法が提供される。この実施形態が、方法を図1から図5の関係チェーン処理システムに適用することによって説明される。方法は、特に、以下のステップを含む。
【００７９】
ステップ602.  現在検出されているユーザ識別子に対応し、各インターネットデータセンター102に記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出する。現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する反転逆方向関係の集合と一貫性がない場合、ステップ604が実行される。順方向関係の集合が、対応する反転逆方向関係の集合と一貫性がある場合、さらなる行為は実行されない。順方向関係の集合は、対応する現在検出されているユーザ識別子によって追加されたソーシャルネットワークの友達のユーザ識別子を含み、逆方向関係の集合は、現在検出されているユーザ識別子をソーシャルな友達として追加するユーザ識別子を含み、反転逆方向関係の集合は、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するユーザ識別子によって形成される。
【００８０】
特に、インターネットデータセンターは、サーバクラスタであり、インターネットに基づいており、集中的にデータを収集し、記憶し、処理し、送信するデバイスに管理保守を行う設備である。1つのインターネットデータセンター内のサーバクラスタは、地理的に集中化される。ソーシャルな友達は、ソーシャルネットワークに基づく友達を指し、友達は、オフラインの友達に限定されず、同僚、親戚、または恋人などのさまざまな知り合い関係のユーザである可能性もある。
【００８１】
正の関係チェーンは、ユーザが別のユーザを友達として能動的に追加する関係チェーンであり、順方向関係の集合は、ユーザによって追加された友達の組であり、順方向関係の集合に一意に対応するユーザ識別子は、友達を能動的に追加するユーザの一意識別子であり、順方向関係の集合に含まれるユーザ識別子は、ユーザによって能動的に追加された友達の一意識別子である。順方向関係の集合は、データベーステーブルに記憶され得、正方向テーブルと呼ばれ得る。
【００８２】
逆方向関係チェーンは、ユーザが別のユーザによって友達として受動的に追加される関係チェーンであり、逆方向関係の集合に一意に対応するユーザ識別子は、別のユーザによって友達として受動的に追加されたユーザの一意識別子であり、逆方向関係の集合に含まれるユーザ識別子は、逆方向関係の集合に対応するユーザ識別子を友達として追加するユーザの一意識別子である。逆方向関係の集合は、データベーステーブルに記憶され得、逆方向テーブルと呼ばれ得る。
【００８３】
ユーザ識別子に対応する順方向関係の集合および逆方向関係の集合は、1つのインターネットデータセンターに記憶され、複数のインターネットデータセンターの別のインターネットデータセンターが、順方向関係の集合および逆方向関係の集合のコピーを記憶する。
【００８４】
たとえば、ユーザUserAおよびユーザUserBが互いの友達であり、その他の友達を持たないと仮定すると、UserAに対応する順方向関係の集合は、{UserB}であり、UserAに対応する逆方向関係の集合は、{UserB}であり、UserAに対応する順方向関係の集合および逆方向関係の集合は、UserAが属するインターネットデータセンターに記憶される。UserBに対応する順方向関係の集合は、{UserA}であり、UserBに対応する逆方向関係の集合は、{UserA}であり、UserBに対応する順方向関係の集合および逆方向関係の集合は、UserBが属するインターネットデータセンターに記憶される。
【００８５】
時間が経つにつれて、UserAとUserBとの間の関係チェーンは、変化し得る。たとえば、UserBが最初に友達UserAを削除する場合、UserAに対応する順方向関係の集合は、まだ{UserB}であり、UserAに対応する逆方向関係の集合は、{}に変わり、一方、UserBに対応する順方向関係の集合は、{}に変わり、UserBに対応する逆方向関係の集合は、まだ{UserA}である。
【００８６】
さらに、ユーザUserBがUserAを削除するとき、2つのユーザ集合内のデータは操作される必要があり、つまり、UserBに対応する順方向関係の集合内のUserAが削除され、UserAに対応する逆方向関係の集合内のUserBが削除される。2つのユーザ集合を同時に操作するために、修正は、インターネットデータセンターにまたがって実行される必要がある。この場合、1つの修正中に一方のユーザ集合が成功裏に修正され、他方のユーザ集合が修正され損ねる場合、インターネットデータセンターの間の関係チェーンは一貫性がなく、したがって、関係チェーン修復サーバが、複数のインターネットデータセンターの間の関係チェーンの一貫性を保つために必要とされる。
【００８７】
ステップ604.  一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行する。
【００８８】
特に、関係チェーン修復サーバは、各インターネットデータセンターに記憶されたユーザ関係チェーンが一貫性の問題を有するかどうかを検出し、関係チェーンが一貫性の問題を有する場合、対応する順方向関係の集合および/または逆方向関係の集合に対して一貫性の修復を実行する。本明細書における一貫性の修復は、一貫性のない順方向関係の集合および対応する逆方向関係の集合を一貫性があるように修復し、複数のインターネットデータセンターの一貫性を保つことである。現在検出されているユーザ識別子は、ユーザの関係チェーンが一貫性がないかどうかに関して現在不整合の検出中であるユーザのユーザ識別子である。
【００８９】
反転逆方向関係の集合は、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するすべてのユーザ識別子によって形成される。このようにして、正常な状況では、現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がある。現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がある場合、修復は実行されない。現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がない場合、そのことは、現在検出されているユーザ識別子に対応する順方向関係の集合および逆方向関係の集合のうちの少なくとも1つが問題を有し、一貫性の修復が実行される必要があることを示す。
【００９０】
たとえば、現在検出されているユーザ識別子Uに対応する順方向関係の集合がf(U):{A, B, C}と表され、別のユーザ識別子に対応する逆方向関係の集合が、現在検出されているユーザ識別子Uの逆方向関係の集合、すなわち、ユーザ識別子A、B、およびCにそれぞれ対応する逆方向関係の集合であるr(A):{..., U, ...}、r(B):{..., U, ...}、およびr(C):{..., U, ...}を含むと仮定される。したがって、反転逆方向関係の集合は、現在検出されているユーザ識別子Uを含むその他の逆方向関係の集合に対応するその他のユーザ識別子A、B、およびCをrr(U):{A, B, C}または現在検出されているユーザ識別子に対応する反転逆方向関係の集合として含む。したがって、正常な状況においては、f(U) = rr(U)である。現在検出されているユーザ識別子のいずれかの関係チェーンが一貫性がない場合、f(U)≠rr(U)が存在する。
【００９１】
さらに、関係チェーン修復サーバは、順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかをさらに判定するために、各インターネットデータセンター内の現在検出されているユーザ識別子に対応する順方向関係の集合および対応する反転逆方向関係の集合を関係チェーン修復サーバに引き出す可能性がある。
【００９２】
一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復が実行されるとき、一貫性のない順方向関係の集合が、対応する逆方向関係の集合と一貫性があるように修復され得、または逆方向関係の集合が、対応する逆方向関係の集合が順方向関係の集合と一貫性があるように修復される可能性があり、または対応する順方向関係の集合および逆方向関係の集合が、修正された順方向関係の集合が対応する逆方向関係の集合と一貫性があるように同時に修正され得る。
【００９３】
一貫性の修復が、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して実行されるとき、関係チェーンを好ましいオプションとして維持することによって修復が実行され得る。たとえば、f(U):{A, B, C}、rr(U):{A, B}であり、この場合、f(U)≠rr(U)であると仮定すると、ユーザ識別子Uおよびユーザ識別子Cの関係チェーンができる限り保たれ得るように、ユーザ識別子Uが、ユーザ識別子Cに対応する逆方向関係の集合において追加されることが好ましいことがある。確かに、ユーザ識別子Cは、ユーザ識別子Uに対応する順方向関係の集合において削除されてもよく、または順方向関係の集合および対応する逆方向関係の集合が、一貫性があるまま保たれてもよい。
【００９４】
関係チェーン処理方法においては、たとえ1つのインターネットデータセンターに障害があるとしても関係チェーンの可用性が引き続き保証され得るように、関係チェーンが複数のインターネットデータセンターに記憶される。関係チェーンは、各インターネットデータセンターに順方向関係の集合および逆方向関係の集合の形式で記憶され、関係チェーンに従ってより厳密なソーシャルインタラクションを実行するために、ユーザの間の双方向の関係チェーンが決定され得るように、ユーザがどの友達を追加するかおよびどのその他のユーザがユーザを友達として追加するかが判定され得る。順方向関係の集合および/または逆方向関係の集合を修復することによって関係チェーンの一貫性および可用性を保証するために、ユーザの順方向関係の集合が反転逆方向関係の集合と一貫性があるかどうかを検出することによって、各インターネットデータセンターに記憶された関係チェーンが問題を有するかどうかが検出され得る。
【００９５】
実施形態において、関係チェーン処理方法は、いずれかのインターネットデータセンターの順方向関係の集合および/または逆方向関係の集合が変化するときに、同期プロキシサーバを使用することによって複数のインターネットデータセンターの間で変更された関係チェーンデータを同期することをさらに含む。
【００９６】
特に、本明細書の同期プロキシサーバは、プロキシサーバであり、代理として複数のインターネットデータセンターの間で関係チェーンデータを同期するように構成される。いずれかのインターネットデータセンターの順方向関係の集合および/または逆方向関係の集合が変わるとき、変化したインターネットデータセンターは、変化した関係チェーンデータを同期プロキシサーバに送信する。同期プロキシサーバは、変化した関係チェーンデータをその他のインターネットデータセンターに同期するように構成される。複数のインターネットデータセンターの間のコアデータが、同期プロキシサーバを使用することによってやりとりされる可能性もある。
【００９７】
実施形態において、関係チェーン処理方法は、複数のインターネットデータセンターの間で修復された順方向関係の集合および/または逆方向関係の集合を同期することをさらに含む。
【００９８】
特に、同期プロキシサーバは、関係チェーン修復サーバと接続通信し、変化したデータを各インターネットデータセンターに同期するために、関係チェーン修復サーバが関係チェーンを修復するときに変化したデータを取得する。
【００９９】
この実施形態において、関係チェーン処理システムは、同期プロキシサーバを含む。同期プロキシサーバは、順方向関係の集合および/または逆方向関係の集合が変更されるときに各インターネットデータセンターに記憶された順方向関係の集合および/または逆方向関係の集合がその他のインターネットデータセンターに同期され得ることを保証し、関係チェーンの動的な一貫性を保証し得る。
【０１００】
図7に示されるように、実施形態において、ステップ602は、以下をさらに含む。
【０１０１】
ステップ702.  現在検出されているユーザ識別子に対応する順方向関係の集合内のユーザ識別子の間の第1のXOR値および対応する反転逆方向関係の集合内のユーザ識別子の間の第2のXOR値を各インターネットデータセンターから取得する。
【０１０２】
特に、関係チェーン修復サーバは、1つのインターネットデータセンターへの各インターネットデータセンターの関係チェーンデータを収集し得るが、インターネットデータセンターにまたがるデータ転送は、大量のネットワーク帯域幅を占有し、ネットワーク帯域幅リソースの消費が極めて多く、コストが高い。
【０１０３】
ネットワーク帯域幅の占有を減らすために、本明細書の各インターネットデータセンターは、現在検出されているユーザ識別子に対応するローカルに記憶された順方向関係の集合に対してXOR演算をまず別々にローカルで実行し、つまり、順方向関係の集合内の各ユーザ識別子に対してXOR演算を実行して第1のXOR値を取得するように構成される。各インターネットデータセンターは、現在検出されているユーザ識別子に対応する反転逆方向関係の集合に対してXOR演算を別々にローカルで実行し、つまり、逆方向関係の集合内の各ユーザ識別子に対してXOR演算を実行して第2のXOR値を取得するように構成される。
【０１０４】
たとえば、現在検出されているユーザ識別子Uに対応する順方向関係の集合がf(U):{A, B, C}と表されると仮定すると、対応する反転逆方向関係の集合は、rr(U):{A, B, C}と表される。このように、第1のXOR値は、XOR(f(U))=A xor B xor Cであり、第2のXOR値は、XOR(rr(U))= A xor B xor Cであり、ここで、XOR()は、XOR値を探すための関数を表し、xorは、XOR演算子である。2つの異なる値のXOR演算の結果は1であり、2つの同じ値のXOR演算の結果は0である。したがって、正常な場合、XOR(f(U)) = XOR(rr(U))が存在するはずである。XOR(f(U))≠XOR(rr(U))が存在する場合、そのことは、f(U)が明らかにrr(U)と一貫性がないことを示す。
【０１０５】
インターネットデータセンターが0、1、2...を使用することによって付番されると仮定すると、対応するインターネットデータセンター上の現在検出されているユーザ識別子に対応する順方向関係の集合は、fi(U)と表され得、対応するインターネットデータセンター上の現在検出されているユーザ識別子に対応する反転逆方向関係の集合は、rri(U)と表され得、ここで、i=0、1、2...は、対応するインターネットデータセンターの番号を表す。各インターネットデータセンターからの第1のXOR値はXOR(fi(U))であり、第2の比較値XOR(rri(U))を取得するために、各インターネットデータセンターからの第2のXOR値に対してXOR演算が実行される。
【０１０６】
ステップ704.  各インターネットデータセンターからの第1のXOR値に対してXOR演算を実行して第1の比較値を取得する。
【０１０７】
特に、第1の比較値は、XOR(f(U)) = XOR(f0(U)) xor XOR(f1(U)) xor XOR(f2(U))...と表される。
【０１０８】
ステップ706.  各インターネットデータセンターからの第2のXOR値に対してXOR演算を実行して第2の比較値を取得する。
【０１０９】
特に、第2の比較値は、XOR(rr(U)) = XOR(rr0(U)) xor XOR(rr1(U)) xor XOR(rr2(U))...と表される。
【０１１０】
ステップ708.  第1の比較値が第2の比較値と一貫性があるかどうかを判定する。第1の比較値が第2の比較値と一貫性がない場合、ステップ604が実行される。
【０１１１】
特に、第1の比較値XOR(f(U))が第2の比較値XOR(rr(U))に等しいかどうかが、判定される。XOR(f(U))がXOR(rr(U))に等しい場合、そのことは、一貫性の問題が検出されないことを示し、この場合、修復は実行されない。XOR(f(U))がXOR(rr(U))に等しくない場合、そのことは、一貫性の問題が検出されることを示し、この場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復が実行される。
【０１１２】
この実施形態において、各インターネットデータセンターは、一貫性の分析を実行するためにローカルに記憶された順方向関係の集合および逆方向関係の集合を収集する必要がなく、その代わりに、内部演算が実行された後に取得された第1のXOR値および第2のXOR値を関係チェーン修復サーバに収集しさえすればよく、それから、関係チェーン修復サーバが、後続の検出を実行する。このようにして、インターネットデータセンターにまたがって送信される必要があるデータが劇的に減り、ネットワーク帯域幅の占有が減らされ、リソースが節約され、効率が高められる。
【０１１３】
図8に示されるように、実施形態において、ステップ702は、以下をさらに含み得る。
【０１１４】
ステップ802.  各インターネットデータセンター内の関係チェーン修復サーバが、現在検出されているユーザ識別子に対応し、インターネットデータセンターに記憶された順方向関係の集合および反転逆方向関係の集合を収集し、インターネットデータセンターにおいて収集された順方向関係の集合内のユーザ識別子の間の第1のXOR値を計算し、インターネットデータセンターにおいて収集された反転逆方向関係の集合内のユーザ識別子の間の第2のXOR値を計算する。
【０１１５】
特に、この実施形態において、関係チェーン修復サーバは、各インターネットデータセンター内に配置される。このようにして、各インターネットデータセンターは、現在検出されているユーザ識別子に対応するインターネットデータセンターに記憶された順方向関係の集合fi(U)および反転逆方向関係の集合rri(U)を取得し、インターネットデータセンター内の関係チェーン修復サーバにおいて順方向関係の集合fi(U)および反転逆方向関係の集合rri(U)を収集するようにまず構成される。iは、対応するインターネットデータセンターの番号を表す。
【０１１６】
そして、各インターネットデータセンター内の関係チェーン修復サーバは、収集された順方向関係の集合fi(U)に対してXOR演算を実行して第1のXOR値XOR(fi(U))を取得し、収集された反転逆方向関係の集合rri(U)に対してXOR演算を実行して第2のXOR値XOR(rri(U))を取得するように構成される。
【０１１７】
ステップ804.  指定されたインターネットデータセンター内の関係チェーン修復サーバが、別のインターネットデータセンター内の関係チェーン修復サーバから第1のXOR値および第2のXOR値を引き出し、各インターネットデータセンターからの第1のXOR値に対してXOR演算を実行して第1の比較値を取得し、各インターネットデータセンターからの第2のXOR値に対してXOR演算を実行して第2の比較値を取得し、第1の比較値が第2の比較値と一貫性があるかどうかを判定し、第1の比較値が第2の比較値と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行する。
【０１１８】
特に、インターネットデータセンターのうちの1つの指定されたインターネットデータセンター内の関係チェーン修復サーバは、第1の比較値XOR(f(U)) = XOR(f0(U)) xor XOR(f1(U)) xor XOR(f2(U))...および第2の比較値XOR(rr(U)) = XOR(rr0(U)) xor XOR(rr1(U)) xor XOR(rr2(U))...を計算するために、別のインターネットデータセンター内の関係チェーン修復サーバから第1のXOR値XOR(fi(U))および第2のXOR値XOR(rri(U))を引き出すように構成される。
【０１１９】
指定されたインターネットデータセンター内の関係チェーン修復サーバは、第1の比較値XOR(f(U))が第2の比較値XOR(rr(U))に等しいかどうかを判定するように構成される。XOR(f(U))がXOR(rr(U))に等しい場合、そのことは、一貫性の問題が検出されないことを示し、この場合、修復は実行されない。XOR(f(U))がXOR(rr(U))に等しくない場合、そのことは、一貫性の問題が検出されることを示し、この場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復が実行される。
【０１２０】
図9に示されるように、実施形態において、ステップ604は、以下をさらに含み得る。
【０１２１】
ステップ902.  現在検出されているユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンターから引き出す。
【０１２２】
特に、第1の比較値が第2の比較値と一貫性がないことが検出されるとき、そのことは、一貫性の問題が検出されることを示し、この場合、関係チェーン修復サーバは、現在検出されているユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンターから引き出す。このようにして、問題がある可能性がある順方向関係の集合および反転逆方向関係の集合だけが引き出され、ネットワーク帯域幅の占有はまだ許容可能である。
【０１２３】
ステップ904.  引き出された順方向関係の集合を引き出された反転逆方向関係の集合と比較して一貫性のない関係チェーンのペアを探し出す。
【０１２４】
特に、関係チェーン修復サーバは、引き出された順方向関係の集合を引き出された反転逆方向関係の集合と比較し、特に、順方向関係の集合および反転逆方向関係の集合を別々にソートし、それから、比較を実行して問題がある関係チェーンのペアを発見する可能性がある。関係チェーンのペアは、1つの関係チェーン上の2つの側のユーザ識別子である。
【０１２５】
ステップ906.  一貫性の修復を実行するために、一貫性のない関係チェーンのペアに関して、2つの側が属するインターネットデータセンターから2人の関係者の順方向関係の集合および反転逆方向関係の集合を引き出す。
【０１２６】
特に、一貫性の修復を実行するために、問題のある関係チェーンのペアに関して、2つの側が属するインターネットデータセンターから2つの側の順方向関係の集合および反転逆方向関係の集合が引き出される。そして、同期プロキシサーバが、各インターネットデータセンターにおいて修復された順方向関係の集合および反転逆方向関係の集合を同期する。
【０１２７】
実施形態において、関係チェーン処理方法は、一貫性の問題があるユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンターから定期的におよび定量的に引き出すことと、引き出された順方向関係の集合を引き出された反転逆方向関係の集合と比較して一貫性のない関係チェーンのペアを探し出すことと、一貫性の修復を実行するために、一貫性のない関係チェーンのペアに関して、2人の関係者が属するインターネットデータセンターから2人の関係者の順方向関係の集合および反転逆方向関係の集合を引き出すこととをさらに含む。
【０１２８】
たとえば、一貫性の問題があるユーザの割合が0.1%よりも高いと仮定すると、関係チェーンの0.1%のみが、毎日1回修復される。このようにして、複数回の反復の後に一貫性の問題があるユーザの割合はより少なくなり、ついには、毎日修復される量が毎日生成される量と等しくなり、その結果、釣り合いが達成される。この実施形態においては、一貫性の修復を定期的におよび定量的に実行することによって、ネットワーク帯域幅の占有の釣り合いが達成される。
【０１２９】
図10に示されるように、実施形態において、インターネットデータセンターは、インターフェースサーバ、関係チェーン論理サーバ、および関係チェーン記憶サーバを含む。関係チェーン処理方法は、インターネットデータセンター内の操作のステップをさらに含み、以下を特に含む。
【０１３０】
ステップ1002.  インターフェースサーバが、ソーシャルアプリケーションクライアントに接続し、ユーザ識別子に対応し、ソーシャルアプリケーションクライアントによって送信された関係編集命令を受信し、関係編集命令を関係チェーン論理サーバに送信する。
【０１３１】
特に、ソーシャルアプリケーションクライアントは、インスタントメッセージングアプリケーションクライアント、SNSアプリケーションクライアント、またはコンテンツ共有アプリケーションクライアントであってもよい。クライアントは、特別に開発されたアプリケーションソフトウェアであってもよく、または対応するアプリケーションサーバにアクセスするサードパーティアプリケーションであってもよい。サードパーティアプリケーションは、ウェブページブラウザ、ウェブページ閲覧機能を有するアプリケーションなどである。ソーシャルアプリケーションクライアントは、関係チェーンに従ってメッセージを受信および送信し得る。本明細書におけるメッセージは、テキスト、写真、動画、および音声のうちの少なくとも1つを含む。
【０１３２】
関係編集命令は、関係チェーンを操作するための命令であり、友達を追加すること、友達を削除すること、フォローすること、フォローをやめること、ブラックリストに追加すること、およびブロックすることなどの関係チェーンの変更に関連する操作命令を含む。
【０１３３】
ステップ1004.  関係チェーン論理サーバが、対応するユーザ識別子に対応する順方向関係の集合および/または逆方向関係の集合を操作するために、関係編集命令に従って関係チェーン記憶サーバにアクセスする。
【０１３４】
特に、関係チェーン論理サーバは、関係チェーンに関連するさまざまなサービス論理を処理することが可能であり、特に、インターフェースサーバによって送信された関係編集命令を解析し、実行し得る。関係チェーン論理サーバは、同期プロキシサーバに接続され得、同期プロキシサーバは、複数のインターネットデータセンターの間で関係チェーンの変化したデータを直接同期する。関係チェーン論理サーバは、関係チェーン修復サーバに接続され、インターネットデータセンターのための関係チェーン修復サーバの読み取り操作および/または書き込み操作を受け付け得る。
【０１３５】
ステップ1006.  関係チェーン記憶サーバが、記憶された順方向関係の集合および/または逆方向関係の集合に関する関係チェーン論理サーバのアクセスおよび操作を受け付ける。
【０１３６】
特に、関係チェーン記憶サーバは、分散型キー-値ストレージシステムを使用して、データの欠けががないことおよび信頼性ならびに関係チェーンデータの最終的な保存を保証し得る。関係チェーン記憶サーバは、関係チェーン論理サーバのさまざまな操作、たとえば、フォローをやめる操作、フォローする操作、およびブロックする操作を受け付けるようにさらに構成され得る。
【０１３７】
この実施形態においては、インターネットデータセンター内で、インターフェースサーバは、インターネットデータセンターのアクセスを一様に管理し、関係チェーン論理サーバは、さまざまなサービス論理を処理し、関係チェーン記憶サーバは、順方向関係の集合および逆方向関係の集合を記憶する。このようにして、インターネットデータセンター内のサーバ機能は明瞭であり、管理および保守が容易である。
【０１３８】
実施形態において、インターネットデータセンターは、アクセスプロキシサーバをさらに含む。関係チェーン処理方法は、アクセスプロキシサーバが関係チェーン論理サーバのアクセス頻度およびアクセス許可を制御し、アクセス記録を生成するように、対応するユーザ識別子に対応する順方向関係の集合および/または逆方向関係の集合を操作するために、関係編集命令に従ってアクセスプロキシサーバを使用することによって、関係チェーン論理サーバにより関係チェーン記憶サーバにアクセスすることをさらに含む。
【０１３９】
この実施形態において、アクセスプロキシサーバは、関係チェーン論理サーバを関係チェーン記憶サーバから隔離し、アクセスプロキシサーバは、関係チェーン論理サーバのアクセス頻度およびアクセス許可を制御し得る。生成されたアクセス記録は、履歴的な行動の記録を調べるために使用され得、一貫性の修復の基礎としてさらに使用され得る。アクセスプロキシサーバは、さらに、機密の関係チェーンデータを保護する役割を果たし得る。
【０１４０】
実施形態において、ユーザ識別子は、公的アカウントまたは個人ユーザ識別子として分類され得る。順方向関係の集合または逆方向関係の集合内のユーザ識別子は、指定された数のユーザ識別子を単位として使用するグループによってインデックス付けされる。
【０１４１】
公的アカウントは、アプリケーション開発者または売買業者によって申請されるアプリケーションアカウントである。公的アカウントを使用することによって、アプリケーション開発者または売買業者は、公的アカウントをフォローするユーザグループとの1対1および1対多の情報のインタラクション、たとえば、テキスト、写真、音声、または動画の情報のインタラクションを実行し得る。個人ユーザ識別子は、普通の個人によって申請されるアプリケーションアカウントである。
【０１４２】
公的アカウントと個人ユーザとの間の関係チェーンの複雑さのために、順方向関係の集合または逆方向関係の集合内のユーザ識別子は、関係チェーンデータの問い合わせを容易にするためにグループ化され、インデックス付けされる。指定された数を単位として使用するグループ化は、グループ化の後に得られた各グループが指定された数のユーザ識別子を含むことを言う。
【０１４３】
図11に示されるように、実施形態において、インターネットデータセンター内のサーバは、システムバスを使用することによって接続されるプロセッサ、不揮発性記憶媒体、内部メモリ、およびネットワークインターフェースを含む。プロセッサは、計算機能、および働くようにサーバを制御する機能を有する。プロセッサは、関係チェーン処理方法を実行するように構成される。不揮発性記憶媒体は、磁気記憶媒体、光記憶媒体、およびフラッシュ記憶媒体のうちの少なくとも1つを含む。不揮発性記憶媒体は、オペレーティングシステムを記憶する。不揮発性記憶媒体および内部メモリは、コンピュータ可読命令を記憶し、コンピュータ可読命令は、プロセッサによって実行されるとき、プロセッサに関係チェーン処理方法を実行させる。ネットワークインターフェースは、ネットワークに接続するように構成される。
【０１４４】
図12に示されるように、実施形態においては、サーバ1200が提供される。サーバ1200の内部構造は、図11に示されたサーバの構造に対応し得、以下のモジュールのすべてまたは一部は、ソフトウェア、ハードウェア、またはこれらの組合せによって実装され得る。サーバ1200は、一貫性検出モジュール1201および修復モジュール1202を含む。
【０１４５】
一貫性検出モジュール1201は、現在検出されているユーザ識別子に対応し、各インターネットデータセンターに記憶された順方向関係の集合が、対応する反転逆方向関係の集合と一貫性があるかどうかを検出するように構成され、順方向関係の集合は、対応する現在検出されているユーザ識別子によって追加されたソーシャルな友達のユーザ識別子を含み、逆方向関係の集合は、現在検出されているユーザ識別子をソーシャルな友達として追加するユーザ識別子を含み、反転逆方向関係の集合は、現在検出されているユーザ識別子を含む逆方向関係の集合に対応するユーザ識別子によって形成される。
【０１４６】
修復モジュール1202は、現在検出されているユーザ識別子に対応する順方向関係の集合が、対応する逆方向関係の集合と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するように構成される。
【０１４７】
図13に示されるように、実施形態において、サーバ1200は、いずれかのインターネットデータセンターの順方向関係の集合および/または逆方向関係の集合が変わるときに、複数のインターネットデータセンターの間で変化した関係チェーンデータを同期するように構成された同期プロキシモジュール1203をさらに含む。
【０１４８】
実施形態において、同期プロキシモジュール1203は、複数のインターネットデータセンターの間で修復された順方向関係の集合および/または逆方向関係の集合を同期するようにさらに構成される。
【０１４９】
実施形態において、一貫性検出モジュール1201は、取得モジュール1201a、演算モジュール1201b、および判定モジュール1201cを含む。
【０１５０】
取得モジュール1201aは、現在検出されているユーザ識別子に対応する順方向関係の集合内のユーザ識別子の間の第1のXOR値および対応する反転逆方向関係の集合内のユーザ識別子の間の第2のXOR値を各インターネットデータセンターから取得するように構成される。
【０１５１】
演算モジュール1201bは、各インターネットデータセンターからの第1のXOR値に対してXOR演算を実行して第1の比較値を取得し、各インターネットデータセンターからの第2のXOR値に対してXOR演算を実行して第2の比較値を取得するように構成される。
【０１５２】
判定モジュール1201cは、第1の比較値が第2の比較値と一貫性があるかどうかを判定するように構成される。
【０１５３】
実施形態において、取得モジュール1201aは、各インターネットデータセンター内で実行される内部取得モジュールを含む。
【０１５４】
各インターネットデータセンター内で実行される内部取得モジュールは、現在検出されているユーザ識別子に対応し、インターネットデータセンターに記憶された順方向関係の集合および逆方向関係の集合を収集し、インターネットデータセンターにおいて収集された順方向関係の集合内のユーザ識別子の間の第1のXOR値を計算し、インターネットデータセンターにおいて収集された反転逆方向関係の集合内のユーザ識別子の間の第2のXOR値を計算するように構成される。
【０１５５】
指定されたインターネットデータセンター内で実行される内部取得モジュールは、別のインターネットデータセンター内で実行される内部取得モジュールから第1のXOR値および第2のXOR値を引き出し、各インターネットデータセンターからの第1のXOR値に対してXOR演算を実行して第1の比較値を取得し、各インターネットデータセンターからの第2のXOR値に対してXOR演算を実行して第2の比較値を取得し、第1の比較値が第2の比較値と一貫性があるかどうかを判定し、第1の比較値が第2の比較値と一貫性がない場合、一貫性のない順方向関係の集合および/または対応する逆方向関係の集合に対して一貫性の修復を実行するように構成される。
【０１５６】
実施形態において、修復モジュール1202は、引き出しモジュール1202a、比較モジュール1202b、および修復実行モジュール1202cを含む。
【０１５７】
引き出しモジュール1202aは、第1の比較値が第2の比較値と一貫性がない場合、現在検出されているユーザ識別子に対応する順方向関係の集合および反転逆方向関係の集合を各インターネットデータセンターから引き出すように構成される。
【０１５８】
比較モジュール1202bは、引き出された順方向関係の集合を引き出された逆方向関係の集合と比較して一貫性のない関係チェーンのペアを探し出すように構成される。
【０１５９】
修復実行モジュール1202cは、一貫性の修復を実行するために、一貫性のない関係チェーンのペアに関して、2人の関係者が属するインターネットデータセンターから2人の関係者の順方向関係の集合および逆方向関係の集合を引き出すように構成される。
【０１６０】
実施形態において、ユーザ識別子は、公的アカウントまたは個人ユーザ識別子として分類され得る。順方向関係の集合または逆方向関係の集合内のユーザ識別子は、指定された数のユーザ識別子を単位として使用するグループによってインデックス付けされる。
【０１６１】
サーバ1200においては、たとえ1つのインターネットデータセンターに障害があるとしても関係チェーンの可用性が引き続き保証され得るように、関係チェーンが複数のインターネットデータセンターに記憶される。関係チェーンは、各インターネットデータセンターに順方向関係の集合および逆方向関係の集合の形式で記憶され、関係チェーンに従ってより厳密なソーシャルインタラクションを実行するために、ユーザの間の双方向の関係チェーンが決定され得るように、ユーザがどの友達を追加するかおよびどのその他のユーザがユーザを友達として追加するかが判定され得る。順方向関係の集合および/または逆方向関係の集合を修復することによって関係チェーンの一貫性および可用性を保証するために、ユーザの順方向関係の集合が反転逆方向関係の集合と一貫性があるかどうかを検出することによって、各インターネットデータセンターに記憶された関係チェーンが問題を有するかどうかが検出され得る。
【０１６２】
当業者は、上述の実施形態の方法を実施するためのすべてのまたは一部のプロセスが、関連するハードウェアに命令するコンピュータプログラムによって完成され得ることを理解するであろう。プログラムは、コンピュータ可読記憶媒体に記憶され得る。プログラムが実行されているとき、上述の方法の実施形態のプロセスが含まれ得る。記憶媒体は、磁気ディスク、光ディスク、読み出し専用メモリ(ROM)などの不揮発性記憶媒体、またはランダムアクセスメモリ(Random Access Memory、RAM)であってもよい。
【０１６３】
実施形態の上述の技術的特徴は、無作為に組み合わされ得る。説明を容易にするために、上述の実施形態の技術的特徴の一部のあり得る組合せが説明されている。しかし、技術的特徴のこれらの組合せが矛盾しない限り、組合せは、本明細書に記録された範囲と考えられる。
【０１６４】
上述の実施形態は、本開示のいくつかの実装を示すに過ぎず、説明は、比較的具体的および詳細であるが、本開示の特許の範囲に対する限定と理解され得ない。当業者が本開示の概念を逸脱することなく変更および改善をさらに行い得ること、およびこれらがすべて本開示の保護範囲内に入ることに留意されたい。したがって、本開示の特許の保護範囲は、添付の請求項に従うべきである。
【符号の説明】
【０１６５】
102  インターネットデータセンター
102a  インターフェースサーバ
102b  関係チェーン論理サーバ
102c  関係チェーン記憶サーバ
102d  アクセスプロキシサーバ
104  関係チェーン修復サーバ
106  同期プロキシサーバ
200  ユーザ端末
1200  サーバ
1201  一貫性検出モジュール
1201a  取得モジュール
1201b  演算モジュール
1201c  判定モジュール
1202  修復モジュール
1202a  引き出しモジュール
1202b  比較モジュール
1202c  修復実行モジュール
1203  同期プロキシモジュール
【図１】
0006577604.tif 000002
【図２】
0006577604.tif 000003
【図３】
0006577604.tif 000004
【図４】
0006577604.tif 000005
【図５】
0006577604.tif 000006
【図６】
0006577604.tif 000007
【図７】
0006577604.tif 000008
【図８】
0006577604.tif 000009
【図９】
0006577604.tif 000010
【図１０】
0006577604.tif 000011
【図１１】
0006577604.tif 000012
【図１２】
0006577604.tif 000013
【図１３】
0006577604.tif 000014