【手続補正書】
【提出日】平成28年9月5日(2016.9.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のサーバノードを含む物理的セキュリティシステムにおいてデータを共有する方法であって、
（ａ）前記サーバノードのうちの１つのサーバノード（「第１ノード」）を使用して、前記サーバノードのうちの別のサーバノード（「第２ノード」）を識別するノード識別子にアクセスするステップを含み、
前記第１及び第２ノードがサーバクラスタの少なくとも一部を含み、前記ノード識別子が、前記サーバクラスタにおける全てのサーバノードを識別し且つ該全てのサーバノードによってアクセス可能なクラスタメンバーシップ情報の少なくとも一部を含み、
更に、
（ｂ）前記第１ノードからのデータを前記第２ノードに送信するステップと、
（ｃ）新しいサーバノードを前記サーバクラスタに追加するステップと、を含み、
前記追加するステップは、
（i）前記新しいサーバノード上に格納されたクラスタメンバーシップ情報のバージョンを、既に前記サーバクラスタの一部である前記サーバノードの１つ（「メンバーシップ制御ノード」）上に格納されたクラスタメンバーシップ情報のバージョンと交換すること、
（ii）前記新しいサーバノード上に格納されたクラスタメンバーシップ情報のバージョンを、前記新しいサーバノードが前記クラスタに加入する前に前記クラスタにおけるサーバノードの全て上に格納されたクラスタメンバーシップ情報のバージョンに同期すること、
を含む、方法。
【請求項２】
（ａ）前記サーバクラスタが、少なくとも３つのサーバノードを含む、又は
（ｂ）前記方法が、
(i)前記第２ノードを使用して、前記第１ノードを識別するノード識別子にアクセスするステップと、
(ii)前記第２ノードからの付加的なデータを前記第１ノードに送信するステップと
を含む、請求項１に記載の方法。
【請求項３】
前記サーバノードが、カメラ、ネットワークビデオレコーダ、及びアクセス制御サーバを含む、請求項１に記載の方法。
【請求項４】
前記クラスタメンバーシップ情報が、
（ａ）前記サーバクラスタにおける前記サーバノードの各々を一意的に識別するノード識別子と、
（ｂ）前記サーバノードが属するサーバクラスタを一意的に識別するクラスタ識別子と、
を含む、請求項１に記載の方法。
【請求項５】
前記サーバクラスタにおける前記サーバノードの各々が、前記クラスタメンバーシップ情報の固有のバージョンを永続的にローカルに格納する、請求項４に記載の方法。
【請求項６】
（ａ）前記サーバクラスタにおける前記サーバノードの１つ（「リブートサーバノード」）をリブートするステップと、
（ｂ）前記リブートされたサーバノードがオンラインに戻ると、前記リブートされたサーバノードを使用して、
（ｉ）前記サーバクラスタを識別する前記クラスタ識別子にアクセスしと、
（ｉｉ）前記サーバクラスタに自動的に再加入する、
ことを含む方法を実行するステップと、
を含む、請求項５に記載の方法。
【請求項７】
前記データを送信するステップが、
（ａ）前記第１ノードを使用して、前記ノード識別子から前記第２ノードの通信エンドポイントを探すステップと、
（ｂ）前記第１ノードからのデータを前記通信エンドポイントに送信するステップと、を含み、
前記通信エンドポイント及び前記ノード識別子が、前記サーバクラスタにおけるサーバノードの全てに対するノード識別子を対応する通信エンドポイントに関係付けるネットワークマップへのエントリを含み、前記サーバクラスタにおける前記サーバノードの各々が、前記ネットワークマップの固有のバージョンを永続的にローカルに格納する、請求項５に記載の方法。
【請求項８】
前記ネットワークマップにより、前記サーバクラスタにおける前記サーバノードの各々が、中央サーバを使用することなく前記サーバクラスタにおけるサーバノードの何れかの他のノードに前記データを送信できるようになる、請求項７に記載の方法。
【請求項９】
前記データが前記第１ノード上にローカルに格納され、本方法が更に、前記第１ノードを使用して前記データを修正するステップを含み、前記第１ノードからのデータを前記第２ノードに送信するステップが、前記第１ノードが前記データを修正した後に前記第１ノード及び第２ノード上のデータを同期するステップの一部を構成し、
前記データが、カジュアリティバージョニング機構を使用して生成されたバージョン情報を含み、前記データの異なるバージョンが、前記第１及び第２ノード上に格納され、前記データを同期するステップが、前記第１及び第２ノード上に格納されたバージョン情報を比較して、前記第１及び第２ノードの双方に対してバージョン情報が最新であることを示すデータを採用することを含む、
請求項５に記載の方法。
【請求項１０】
前記データが、前記第１ノードのノード識別子、前記第１ノードのハートビート状態情報、前記第１ノードのアプリケーション状態情報、及びバージョン情報を含み、前記データを送信するステップが、前記クラスタにおける前記サーバノードのペア間でデータ交換を実行するゴシッププロトコルを使用して、前記サーバクラスタにおけるサーバノードの全てに前記データを配布することを含む、請求項５に記載の方法。
【請求項１１】
（ａ）前記データが、前記サーバクラスタにおけるサーバノードの全てに定期的に配布される、又は
（ｂ）前記データが、前記第１ノードが前記クラスタに加入した時に前記第２ノードに送信される、
請求項１０に記載の方法。
【請求項１２】
前記サーバクラスタにおけるサーバノードの何れかによって修正することができるエントリが追加されたドメインが、前記サーバクラスタにおけるノードの各々にローカルに格納され、本方法が更に、前記サーバノードのどれが前記エントリのうちの最新の修正されたエントリを有するかを前記バージョン情報が示すように、カジュアリティバージョニング機構を使用して前記バージョン情報を生成するステップを含む、請求項１０に記載の方法。
【請求項１３】
前記アプリケーション状態情報が、前記ドメインにおけるエントリの全てをハッシュすることによって生成されたトップレベルハッシュを含み、さらに、
（ａ）前記第２ノードを使用して、前記トップレベルハッシュを、前記第２ノード上にローカルに格納された対応するドメインのバージョンをハッシュすることによって生成されたトップレベルハッシュと比較するステップと、
（ｂ）前記トップレベルハッシュが異なる場合、前記バージョン情報を使用して前記第１及び第２ノードの双方で前記ドメインを同期するステップと、
を含む、請求項１２に記載の方法。
【請求項１４】
前記第１ノードによってのみ修正することができるステータスエントリが、前記第１ノード上にローカルに格納され、前記バージョン情報が、前記ステータスエントリを修正する時は必ず前記第１ノードが増分するバージョン番号を含み、及び
前記アプリケーション状態情報が、前記ステータスエントリを識別するステータスエンティティ識別子及び前記バージョン番号を有するステータスエンティティペアを含む、
請求項１０に記載の方法。
【請求項１５】
（ａ）前記第２ノードを使用して、前記第１ノードから受信されたバージョン番号を、前記第２ノード上にローカルに格納された対応するステータスエントリのバージョン番号と比較するステップと、及び
（ｂ）前記バージョン番号が異なる場合、前記第２ノード上にローカルに格納されたステータスエントリを、前記第１ノード上にローカルに格納されたステータスエントリによって更新するステップと、
を更に含む、請求項１４に記載の方法。
【請求項１６】
前記ステータスエントリを更新するステップが、前記ステータスエントリと同時に修正された前記第１ノード上にローカルに格納された付加的なステータスエントリを前記第１ノードから前記第２ノードに送信するステップを含む、請求項１５に記載の方法。
【請求項１７】
（ａ）前記第１及び第２ノードが、前記第１ノードが前記データを全体的に順序付けられた方式で前記グループにおけるサーバノードの全てに送信できる前記クラスタにおけるサーバノードのグループの少なくとも一部を含み、前記データを送信するステップが、前記第１ノードが前記グループにおけるサーバノードの全てに前記データを送信することを含む、又は
（ｂ）前記データが、前記サーバクラスタにおけるサーバノードのうちの別のサーバノードから前記第１ノードを介して前記第２ノードにストリーミングされるストリーミングビデオを含む、
請求項５に記載の方法。
【請求項１８】
前記データが、前記物理的セキュリティシステムのランタイム中に生成された非永続的データを含む、請求項１７に記載の方法。
【請求項１９】
第１ノード及び第２ノードを有する複数のサーバノードを備えた物理的セキュリティシステムであって、前記第１ノードが、コンピュータ可読媒体に通信可能に接続されたプロセッサを含み、前記コンピュータ可読媒体は、請求項１〜１８の何れか１項に記載の方法を前記プロセッサに実行させるようにするステートメント及び命令を符号化している、物理的セキュリティシステム。
【請求項２０】
複数のサーバノードを含む物理的セキュリティシステムにおいてデータを共有する請求項１〜１８の何れか１項に記載の方法をプロセッサに実行させるためのステートメント及び命令を符号化した非一時的コンピュータ可読媒体。