JP5411346B2 - 分散されたバックアップおよび回復システム - Google Patents

分散されたバックアップおよび回復システム Download PDF

Info

Publication number
JP5411346B2
JP5411346B2 JP2012285581A JP2012285581A JP5411346B2 JP 5411346 B2 JP5411346 B2 JP 5411346B2 JP 2012285581 A JP2012285581 A JP 2012285581A JP 2012285581 A JP2012285581 A JP 2012285581A JP 5411346 B2 JP5411346 B2 JP 5411346B2
Authority
JP
Japan
Prior art keywords
data
client device
subset
user
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012285581A
Other languages
English (en)
Other versions
JP2013122772A (ja
Inventor
ジェームス バートン
ブライアン ビーチ
アダム フェーダー
Original Assignee
ティヴォ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ティヴォ インク filed Critical ティヴォ インク
Publication of JP2013122772A publication Critical patent/JP2013122772A/ja
Application granted granted Critical
Publication of JP5411346B2 publication Critical patent/JP5411346B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Description

本発明は、企業システムのデータをバックアップすること、より具体的には、複数のクライアント・デバイス全体のサーバ・データをバックアップすることに関する。
この背景技術に記載されるアプローチは、追求することができるアプローチであるが、必ずしも以前に想像されたかまたは追求されたアプローチではない。従って、特に明記しない限り、この背景技術に記載されている如何なるアプローチも、それがこの背景技術に含まれていると言う理由のみで、従来技術とみなすべきではない。
消費者分野へのDVRの導入は、ユーザがテレビ番組を見る、および、録画する方法に革命をもたらした。DVRは、多数のテレビ番組を格納することができるハード・ドライブにテレビ番組を録画する。DVRのユーザは、近い将来、放送されまたは転送されることになる特定コンテンツをDVRに録画することを予約するようにDVRに命令することができる。例えば、ユーザは、特定日時に開始しかつ他の特定時刻に終了する特定チャンネルで放送されるであろう不特定コンテンツを録画するように、DVRに命令することができる。別の例としては、ユーザは、特定映画、特定イベント、または、マルチ・エピソード・テレビ・シリーズの特定エピソードの(特定チャンネルで、特定日時に開始する)特定の放映を、録画するようDVRに命令することができる。
米国特許第6,233,389号
DVRサービスのサービス・プロバイダは、特有のサービスを提供するために、特定ユーザに関係のあるデータを中央化されたサーバに格納することができる。例えば、ユーザは、(例えば、ウェブサイトを通して)リモート・インターフェースで、特定チャンネルに関するマルチ・エピソード・テレビ・シリーズの全てのエピソードを、ユーザのDVRに録画するように命令することができる。このような状況で、録画の命令に関するデータは、中央サーバによって処理され、特定ユーザのために中央サーバに格納される。中央サーバは、要求されたコンテンツをDVRが録画するために、録画する命令についてのデータをユーザのDVRに送信する。
サービスを提供するための中央サーバの使用は、特にインターネットの使用と共に、はるかに拡がって来ている。例えば、DVRサービスに加えて、携帯電話のような他の個人的またはモバイル・デバイスによるサービスは、より一般的になっている。これらの中央化されたサービスが日々の生活に加わることにより、これらのサービスを提供するためにデータをバックアップすることは、ますます重要になって来ている。
本発明は、添付図面において、一例として示され、かつ、これに限定されるものではなく、また、類似する参照番号は、同種の要素を示す。
本発明の一実施例による分散バックアップおよび回復が実装されるシステム例を例示する。 本発明の一実施例によるデジタル・ビデオテープ・レコーダー(DVR)のコンポーネントの一般的な概要を例示するブロック図である。 本発明の一実施例による中央サーバに接続された複数のクライアント・デバイス/DVRを例示するダイアグラムである。 本発明の一実施例によるクライアント・デバイスにデータのバックアップを実行するためのステップを例示するフローチャートのダイアグラムである。 本発明の一実施例によるクライアント・デバイスがオンラインであるときのデータの回復を実行するためのステップを例示するフローチャートのダイアグラムである。 本発明の実施例が実装することができるシステムのブロック図である。
以下の説明では、説明の必要上、本発明の完全な理解を提供するために、多くの具体的な詳細が記載される。しかしながら、本発明がこれらの具体的な詳細なしで実行できることは、明らかである。その他の場合では、本発明を不必要に不明瞭にすることを避けるため、周知の構造及び装置は、ブロック図の形式で示される。
実施例は、本願明細書において以下の概要に従って記載される。
1.0 全体的な概要
2.0 構造的な概要
3.0 DVRサービス・プロバイダの分散バックアップ
3.1 データ競合およびポリシー
3.2 格納されるデータのタイプ
3.3 プライバシーおよび暗号化
3.3 データ回復
4.0 企業システムの分散バックアップ
5.0 実装メカニズム
6.0 実施例
1.0 全体的な概要
上記の背景において認識された必要性、および、以下の記載から明らかになるその他の必要性および目的は、分散されたバックアップおよび回復を実行する方法を備える本発明により達成される。
DVRサービスのある種の特徴を提供するために、サービス・プロバイダは、中央化された場所にデータを保持することができる。本明細書で用いられるデータを「保持すること」は、サービスを提供するために使用されるデータを処理すること、格納すること、回復することおよび修正することのいずれに関するものとすることができる。データは、特定ユーザから始まってもよくて、サービス・プロバイダが特定ユーザのために特別のサービスを実行することを可能にすることができる。例えば、ユーザは、映画が放送されるであろう日付または時間を特定することなく、特定されたチャンネルで最初に上映された映画をそのDVRに録画するように命令することができる。このような状況で、録画に関するデータは、少なくとも一つのサーバによって処理され、サービス・プロバイダの特定ユーザのために一つ以上のサーバによって保持される。
多数のサービスが何千ものユーザに提示される状況において、保持されるデータ量は、極めて大規模になる。データなしでDVRサービスを適切に提供することはできないので、データを保持することは重要である。したがって、突発故障または中央データが失われた場合に、データを回復できるように、バックアップ・システムを持つことは、如何なるデータ格納システムにとっても重要である。本明細書で用いられるデータの「破損」とは、完全若しくは部分的なデータの破損、データの読み込み、回復若しくは修正ができなくなるエラー、又は、データの正確な保守に影響を及ぼすイベントを意味する。
DVRサービスのプロバイダと同様に、大規模なデータ量を格納しかつバックアップすることは、多数の企業システムにより行われている。これらの大規模なデータ量は、一つ以上のサーバによって制御されるデータセンタの格納デバイス上のデータベースに格納させることができる。本明細書で用いられるデータセンタは、多数の異なるユーザに関する情報を保有する格納デバイスの大規模な数を収容する。格納デバイスは、ディスクドライブおよびテープドライブを含むことができる。データセンタは、単一の地理的な領域に位置させることができる。
一つのバックアップ・システムの場合、各々のデータベースは、スタンバイ・データベースに複製される。中央化されたデータのセットが何らかの方法で損なわれた場合、データは、スタンバイ・データベースから回復させることができる。このバックアップ・システムは、多くの態様でデータ破損を防止する。例えば、データベースが、電力サージまたはハードディスクの故障のために機能しなくなった場合、データベースに格納されたデータは、スタンバイ・データベースから使用することができ、かつサービスは、少ししか中断させないことができる。
しかしながら、ローカル・スタンバイ・システムは、破損がデータおよびスタンバイ・データベースのセントラル・セットで同時に生じる状況では使用できないかもしれない。例えば、中央データおよびスタンバイ・データベースが位置するデータセンタが、地震またはハリケーンのような大破を受けた場合、中央データおよびバックアップ・データベースは破損してしまう。このため、スタンバイまたはバックアップ・データベースは、データセンタから地理的に異なる領域に位置させることができる。
残念なことに、中央データをデータセンタに格納して、バックアップ・データベースを別の地理的に異なる場所に格納するには、高いコスト(例えば、経済的および総工数)が、発生することになる。バックアップ場所の土地のコスト、ユーティリティおよびオペレーションは、単一のデータセンタしか保持しない場合には発生しないコストである。加えて、リモート施設でバックアップ・データベースを格納することは、より多くの時間を必要とする。2つの場所における作業を調整してバックアップを正確に保持するためには、手順を、生成する必要がある。また、2つの施設を保持する場合、バックアップのエラーを検出することは、より難しくなるであろう。
中央データおよびリモート・バックアップ施設のデータセンタを保持することには、さらなる問題がある。機密に関わる顧客データが転送の間に傍受されるかもしれないとき、データを転送することは、プライバシーに対する懸念を発生させるかもしれない。同様に、データが2つの場所に格納されている場合、一つの場所はデータ侵入から適切に保全されるかもしれないが、もう一方の場所は侵入攻撃を受けやすいままにおかれるかもしれない。
データベースにバックアップを格納することは、データ量が飛躍的に増大するにつれてより高価となりかつ時間がかかるものとなり、リモート・バックアップ施設を保持することが複雑になることが認識されつつある。DVRサービス・プロバイダによって使用される分散ネットワークでは、中央サーバの処理データは、多数のクライアントから送信され、その処理されたデータはデータベースに格納することができる。一実施例の場合、中央サーバは、単一の大規模なバックアップ・データベースに処理されたデータのバックアップを格納するのではなく、中央サーバは、処理されたデータの部分またはサブセットをクライアント自体にバックアップさせて、分散方式でバックアップを格納することができる。
一実施例の場合、ユーザは、一つ以上のクライアントを所有しかつこれらのクライアントを彼らの自宅に置くことができる。ユーザが所有する一つ以上のクライアントにバックアップされる処理されたデータのサブセットは、ユーザまたはユーザの特別なクライアント・デバイスに関連する処理されたデータのサブセットである。
分散バックアップを実行することは、単一の大規模なデータベースのバックアップを格納することに勝る多くの効果を提供する。ユーザに関連する処理されたデータを彼ら自身のクライアントにバックアップすることは、コスト効率がより良くなり、保持するのがより容易になる。オンサイト、または、リモート施設で別々のバックアップを保持するためのコストは、避けられる。クライアント上にバックアップされたデータは、単一のデータベースになされるバックアップより最新のものとすることができる。例えば、クライアント・デバイスに格納されるデータは、一日に複数回中央サーバのデータにアップデートさせることができるが、単一のデータベースにバックアップされるデータは、1日に1回しかアップデートさせないようにすることもできる。同様に、ユーザまたはクライアントに関連するデータがバックアップされるユーザ自身のクライアントは、ユーザのデータが、多くの他のユーザの情報を有するリモートの場所には格納されずに、彼ら自身のデバイスにバックアップされるので、プライバシー問題が解消される。
2.0 構造的な概要
図1Aは、実施例による分散バックアップおよび回復が実施されるシステム例を例示する。このシステムは、イーサネット(登録商標)・インターフェースまたは無線通信ポートのような任意の通信インターフェースを通してネットワーク105に通信で接続されるDVR 102AおよびDVR 102Bを包含する。DVRの機能は、本出願人が所有する米国特許第6,233,389号において典型的に示され、これは、本願明細書に引用されているものとする。さらにこのシステムは、サービス・プロバイダ104、コンテンツ・プロバイダ106、パーソナル・コンピュータ108およびポータブル・デバイス110を含む。
パーソナル・コンピュータ108は、パーソナル・コンピューティング・デバイス(例えば、デスクトップ・コンピュータまたはラップトップ・コンピュータ) でもよく、また、無線を含む任意の通信インターフェースを通してネットワーク105に接続される。ポータブル・デバイス110は、任意の携帯コンピューティング・デ バイス、携帯電話、ポータブル・メディア・プレーヤ、または、マルチメディア・コンテンツを表示することが可能でかつ無線を含む任意の通信インターフェースを通してネットワーク105に接続される他の任意のポータブル・デバイスとすることができる。DVR 102Aおよび102B、パーソナル・コンピュータ108およびポータブル・デバイス110は、各々ネットワー ク105を通してサービス・プロバイダ104と通信する。他の実施例の場合、各々のパーソナル・コンピュータ108およびポータブル・デバイス110は、ネットワーク105を通してコンテンツ・プロバイダ110と通信する。
ネットワーク105は、通信システムの装置間のデータの交換を提供する任意の媒体またはメカニズムによって実施することができる。ネットワーク105の一例としては、ネットワーク(例えば、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、一つ以上の地上波、衛星、または、無線リンク、その他)が挙げられるが、これらに限定されるものではない。これらに代えて、または、加えて、ネットワーク105に接続されている多くのデバイスを、通信リンクを通して各々直接接続させることができる。
一実施例において、コンテンツ・プロバイダ106は、ケーブル、衛星、地上波の通信または他の転送方法を介してDVR 102Aおよび102Bに放送番組コンテンツを提供する。放送番組コンテンツは、任意のマルチメディア・コンテンツ(例えば、オーディオ、画像、または、ビデオのコンテンツ)を包含することができる。他の実施例の場合、コンテンツ・プロバイダ106は、DVR 102Aおよび102B、パーソナル・コンピュータ108またはポータブル・デバイス110にネットワーク105を通してマルチメディア・コンテンツ(例えば、任意のダウンロード可能なコンテンツ)を提供する。
一実施例の場合、DVR 102Aおよび102Bは、プログラム・ガイド・データ、グラフィック・リソース(例えば、フォント、画像、その他)、サービス情報、ソフトウェア、広告、イベント識別名およびデータの他の形式を提供するサービス・プロバイダ104と通信する。そのデータは、ユーザの興味を満たすためにDVR 102Aおよび102Bがサービス・プロバイダ104と独立して動作することを可能にする。
他の実施例の場合、コンテンツ・プロバイダ106は、サービス・プロバイダ104に、プロモーションのデータ、アイコン、ウェブ・データおよびその他の情報を包含するコンテンツ・データまたは任意のメタデータを提供することができる。サービス・プロバイダ104は、メタデータを解釈し、DVR 102Aおよび102B、パーソナル・コンピュータ108またはポータブル・デバイス110にコンテンツ・データおよびメタデータを提供することができる。
図1Bを参照すると、一実施例の場合、一般に、DVR 102A(DVR 102Bは、同じコンポーネントを含み、同じ機能を実行する)は、(アナログ・テレビ信号をデジタル化して、それをデジタル・データ・ストリームに変換、または、デジタル・データ・ストリームを受け入れるのに必要な)シグナル・コンバータ154によって示される複数のコンポーネントを備える。DVR 102Aは、入力152Aを介して、アンテナ、ケーブル・テレビ・システム、衛星受信機、その他から放送信号を受信する。入力152Aは、複数の信号を受信し、同時に録画できる複数のチューニング・モジュールを備えることができる。
録画モジュール160は、(デジタル・データ・ストリームのセグメントを保持するように設計されている格納装置164によって示される)少なくとも一つの格納装置にデジタル・データ・ストリームを格納することによって、着信データ・ストリームを録画する。格納装置164は、DVRのユーザに関連している処理されたデータのバックアップを格納するために使用することもできる。シグナル・コンバータ154は、データ・ストリームのセグメントを読み出して、データ・ストリームをアナログ信号に変換し、信号が標準のテレビ受像機または受信デバイスに配信される出力152Bを介して、RF搬送波上へ信号を変調する。これに代えて、出力152Bが、テレビ受像機または表示装置にデジタル信号を配信することもできる。例えば、DVR 102Aは、HDCP(High-bandwidth Digital Content Protection)ポートにHDMIケーブルを介してTVにデジタル信号を送信するために利用することができる。
また、DVR 102Aは、DVR 102Aがイーサネット(登録商標)、ワイヤレス・ネットワーク、モデム、USB、その他の通信の標準規格を介してネットワーク105に通信する通信インターフェース162を含む。さらに、DVR 102Aは、上記のコンポーネントがDVR 102Aの各々のコンポーネントの機能を実行することができるテレビ受像機に収容されるように、テレビ・システムに組み込むことができる。
他の実施例の場合、一般にDVR 102Aは、パソコン、DVR、サービス・プロバイダ、または、コンテンツ・サーバのような複数のソースから、デジタル・データ信号を受信、録画、格納、転送、表示、再生するのに必要な複数のコンポーネントを備える。DVR 102Aは、別のDVR、ポータブル・デバイスまたはパソコンにデジタル・データ信号を伝達することができる。これは、2つのDVRとの通信を可能にしているDVR 102AとDVR 102Bとの接続に関する図1Aに示すことができる。DVR 102Aは、再生、表示、格納または伝達のための複数のフォーマットに、エンコーダー156Aおよびデコーダー156Bを介してデジタル信号をエンコードまたはデコードすることができる。さらにDVR 102Aは、デジタル・データ信号の蓄積、伝達、表示または再生のためにエンコーダー/デコーダー158を用いてデジタル・データ信号をエンコードまたはデコードすることができる。
一実施例の場合、DVR 102Aは、番組ガイド・データ、ブランド・アイコンのようなグラフィック・リソースおよび画像、サービス情報、ソフトウェア・プログラム、広告、補助的プログラム・データ、および、DVR 102が自律的な録画機能を実行するためにサービス・プロバイダ104から独立して動作することを可能にするデータの他の形式を提供するサービス・プロバイダ103と通信する。DVR 102Aとサービス・プロバイダ104間の通信は、サービス・データおよびユーザのプライバシーが保護されるように、DVR 102Aとサービス・プロバイダ104間のデータを転送するのに安全な配布アーキテクチャーを利用する。
3.0 DVRサービス・プロバイダの分散バックアップ
一実施例の場合、DVRサービス・プロバイダのバックアップは、クライアント・デバイスに分散された方式で格納される。DVRサービスは、分散ネットワークのサービス・プロバイダによって提供される。中央サーバは、多数のクライアント・デバイスから送信されたデータを処理し、かつDVRサービスを提供するために、その処理されたデータを格納する。本明細書で用いられる「中央サーバ」は、データを処理する一つ以上のサーバとすることができる。中央サーバは、処理されたデータを主データベースに格納することができる。本明細書で用いられる「主データベース」は、中央サーバがデータを格納する、回復する、または、修正する一つ以上のデータベースとすることができる。本明細書で用いられる「クライアント・デバイス」は、DVR、モバイル・デバイスまたはパーソナル・コンピュータとすることができるが、これに制限されさるものではない。モバイル・デバイスは、携帯用に設計されたデバイスであって、バッテリを使用して駆動することができる。モバイル・デバイスは、携帯電話、PDA、ポータブル・ビデオプレーヤ、ポータブル・ミュージック・プレーヤ、ポータブル・メディア・プレーヤまたはポータブルDVRを含むが、これに限定されるものではない。
一実施例の場合、クライアント・デバイス自体にバックアップされる処理されたデータのサブセットに関して、中央サーバは、中央データベースのバックアップを分散された方式で格納する。ユーザは、一つ以上のクライアント・デバイスを所有しかつこれらのクライアントを彼らの自宅またはオフィスに置くこともできる。ユーザが所有する一つ以上のクライアントにバックアップされる処理されたデータのサブセットは、ユーザまたは特別のクライアント・デバイスに関連する処理されたデータのサブセットである。
クライアント・デバイスに接続される中央サーバおよび主データベースの例が、図2に例示される。図2において、主データベースを有する中央サーバ200は、ネットワーク202を介して複数のクライアント・デバイスに接続されている。ポータブル・デバイス204A、DVR 204BおよびDVR 204Cは、同じユーザによって所有される3つのクライアント・デバイスを表す。パーソナル・コンピュータ206AおよびDVR 206Bは、同じユーザによって所有され、ネットワーク202によって中央サーバ200に接続された2つのクライアント・デバイスを表す。DVR 208は、ネットワーク202によって中央サーバ200に接続された単一のクライアント・デバイスである。
一実施例の場合、処理されたデータのバックアップは、各々のクライアント・デバイスに対して、中央サーバ・データベースに格納されているどのデータのサブセットを特定クライアント・デバイスに格納すべきかを決定することによってなされる。データのサブセットの決定は、特定クライアント・デバイスを所有するユーザ、特定クライアント・デバイスに利用可能な暗号化または特定クライアント・デバイスに利用可能なスペースに基づいて行うことができるが、多数の要因のいずれかに基づいて行うこともできる。データのサブセットの決定は、実装ごとに異なる。一旦、データのサブセットの決定がなされると、このデータのサブセットは、特定クライアント・デバイスに送信されて、格納される。
バックアップ・データのバックアップおよびその後のアップデートを実行するために用いることができる一つの方法は、同期である。本明細書で用いられる「同期」は、2つの別々の場所に置かれた同じ状態のデータを保持することに関するものとすることができる。同期は、中央サーバまたはクライアント・デバイスのいずれからも開始させることができる。例えば、処理されたデータは、主データベース、さらにクライアント・デバイスに格納させることができる。同期は、クライアント・デバイスに格納されるデータのサブセットが、主データベースに格納されている対応するデータと同じ状態となるように実行される。
データの状態が主データベースおよびバックアップ内で整合した状態を維持するように、同期を使用することができる。このシナリオのバックアップの行先は、クライアント・デバイス自体である。一実施例の場合、バックアップ・システムには、任意の同期プロトコルを使用することができる。同期プロトコルは、バックアップ・データが正確に主データベースのデータを反映することを確保にするために適用される手順である。
一実施例の場合、バックアップは、終日にわたって多くの時間、中央サーバとクライアント・デバイスとの間で更新される。バックアップが、単一の、大規模なデータベースになされる場合、格納しかつ転送する必要があるデータの量によっては、バックアップは1日に1回しか行わなくてもよい。バックアップが分散されている実施例の場合、バックアップは、より小さいインクリメントで格納される。しかもバックアップが、クライアント・ベースごとに変わる情報に関連する非同期イベントであると言う理由から、このバックアップは、追加の作業なしでより頻繁に実行させることができる。アップデートがより頻繁に行われると、クライアントシステムにバックアップとして格納されるデータは、アップデートの頻度が低い場合に比較し、完全性が向上する(または、より最新となる)。他の実施例の場合、ユーザによる行動の結果としてデータの変化が検出されるたびに、アップデートが生じる。このような状況で、ユーザが大量の行動を実行すると、アップデートが多く生じるかもしれないが、ユーザがそれほど活動的でない場合には、アップデートはほとんど生じないかもしれない。他の実施例の場合、ユーザが大量の行動を実行しても、アップデートは、サービスとクライアントの通信時に定期的にしか行われない。如何なるシナリオにおいても、バックアップとして格納されるデータは、最後のアップデートに基づいて主データベースに格納される最新のデータとして残る。
一実施例の場合、クライアント・デバイスからサーバに送信される要求は、クライアント・デバイスに格納されているデータの状態を識別する昇順の識別番号を持つ。他の実施例の場合、サーバからクライアント・デバイスに送信される要求も、同様に、主データベースに格納されているデータの状態を識別する昇順の識別番号を持つ。例えば、クライアント・デバイスからサーバへの要求は、識別番号1005を持つかもしれない。サーバがこの要求を受信すると、サーバは、その特定ユーザに関連する格納されている情報を検査する。サーバが要求1004からの情報を含む場合、サーバは、主データベースに格納されている情報とは異なるクライアント・デバイスに関する特別の情報しか要求しないであろう。識別番号がシーケンシャルでかつ昇順であるので、識別番号が一つしか増加していないという事実は、クライアント・デバイスと主データベース上のデータの状態がそれほど異なっていない可能性を示すであろう。識別番号の相違がより大きい場合、データの状態の変化はより重要になる。
サーバまたはクライアント・デバイスからの要求が、要求を受取る側より低い番号を持つ場合、これは、要求しているサーバまたはクライアントが、その受取る側よりも古いデータを持つことを示す。このシナリオでは、データのアップデートは行う必要はなく、また、最新のデータを有する要求を受取る側は、古いデータを更新するために、更新されたデータをサーバまたはクライアント・デバイスに、転送することができる。要求を受取る側が、ユーザへの要求に適合することができない場合、これは、要求を受取る側がその特定データをまだ格納していない、または、データのこの特定サブセットが既に失われてしまっていることを示す。適合が発見できない場合、全てのデータ転送が、この要求をする特定ユーザのために、受取る側のサーバまたはクライアントに実行される。
一実施例の場合、データ転送は、完全転送または部分転送で行うことができる。完全転送の場合、特定ユーザの全てのデータが、クライアント・デバイスからデータベースに送信される。これは、サーバの故障または壊滅的なデータ破損の場合のように、その特定ユーザに対する情報が発見されない場合に、発生する可能性がある。同様に、データ・レコードを全て送信せずに、データの2つのソースの間の変化のみを転送する部分転送も可能である。
本発明の一実施例によるクライアント・デバイスにバックアップを格納するステップは、図3に例示される。ステップ300において、中央サーバは、バックアップとして特定クライアント・デバイスに格納するために、主データベースに格納されているデータの、データのサブセットを決定する。格納されるデータのサブセットは、クライアント・デバイスを所有する特定ユーザ、またはこのデバイスを共有する特定ユーザ(例えば、4家族が、このデバイスに関して異なる利用者プロファイルを持つ)に関連するサブセットとすることができる。次に、ステップ302で、中央サーバは、先に決定されたデータのサブセットを、バックアップのために特定クライアント・デバイスに送信する。ステップ304において、サーバは、バックアップで格納されたデータの状態を検査する。その状態は、低い番号より高い番号の方が最近のデータに関連している、増加する番号によって示すことができる。ステップ308において、サーバは、バックアップ・データをアップデートするために、データをクライアント・デバイスに送信する。サーバによって送信されるデータは、クライアント・デバイスのデータの状態に基づく。その状態が接近している場合、ほとんどデータは更新させなくてもよい。その状態が非常に異なる場合、バックアップ・データをアップデートするためにより多くのデータを送信させる。
3.1 データ競合およびポリシー
サーバとクライアントとのデータが競合する場合、ポリシーは、どの情報がデータベースに格納されるべきかを制御する。本明細書で用いられる「ポリシー」は、格納させることができるデータの二つ以上のセットがあるときに、どの特定データがデータベースに格納されるべきかを命ずる命令である。このポリシーは、ソースにかかわらず最新の情報のみをバックアップに格納させるべきであるとするものかもしれない。他のポリシーは、クライアント・デバイスから送信される情報が、最も最近に更新されたものであり、かつクライアントが、常に、データベースに格納されているデータをオーバーライトした情報であるとすることを含むが、これに限定されるものではない。
一実施例の場合、ポリシーは、サーバによってのみ制御される。サーバがポリシーにより制御されるので、バックアップ・システムの複雑さは、サーバ内に保たれる。これは、クライアント・デバイスにポリシーを実装する複雑さを発生させない。加えて、ポリシーを訂正する必要がある場合、サーバに依存している一つ一つのクライアント・デバイスではなく、サーバのみをアップデートさせれば良い。他の実施例の場合、クライアント・デバイスに、ポリシーを排他的に制御させてもよい。さらに別の実施例では、ポリシーは、サーバとクライアント・デバイスの両方によってかつコンフリクト情報のもとに制御され、そしてこのサーバとクライアント・デバイスは、どのデータが格納されるべきかを決定するために互に協議する。
3.2 格納されるデータのタイプ
一実施例の場合、バックアップに格納されるデータは、サーバを正確に動作させるために必要なデータのみである。したがって、サーバのオペレーションに関係があるデータと特定ユーザに関連するデータのみが、クライアント・デバイスのバックアップ・データとして格納される。
一実施例の場合、バックアップは、コンテンツ・データのメタデータのみを含むことができる。本明細書で用いられるメタデータは、録画されるリスト、録画時間、ロードショーを録画する命令またはテレビ・ショーのリピート・エピソード、ダウンロードまたは購入したコンテンツのリスト、クライアント・デバイスに再生されたゲームのハイ・スコア、ユーザが特定した好み、観察したユーザの好み、シーズン・パス、ユーザ個人情報(クレジット・カード情報、ホームアドレス、送り先住所、他のアカウント情報、その他)、および、特定の録画の評価に関するものとすることができるが、これに制限されさるものではない。このメタデータは、サービス・プロバイダがユーザに対してDVRサービスを実行することを可能にする。
他の実施例の場合、コンテンツとこのコンテンツに関連するメタデータについてバックアップを作成することができる。本明細書で用いられるコンテンツは、放送コンテンツ、ビデオ、ダウンロード可能なコンテンツ、ゲーム、ミュージック、および、クライアント・デバイスによってプレイ可能か表示可能であるユーザによって体験することが可能な任意のその他のメディアに関するものとすることができるが、これに制限されさるものではない。
一実施例の場合、ユーザによって所有される各々のクライアント・デバイスは、ユーザに関係しているデータのバックアップを格納するために使用される。一つのクライアント・デバイスが主データベースと同時に故障したとしても、このデータは、別のクライアント・デバイスに格納されていて、かつそのクライアント・デバイスからこのデータを回復することができるように、この冗長性は実行される。一つは、DVRクライアント・デバイスのみのバックアップを格納することに制限されない。バックアップは、ユーザによって所有されるパーソナル・コンピュータ・クライアント・デバイスまたはモバイル・クライアント・デバイスに格納させることができる。同様に、メタデータのみまたはコンテンツおよびメタデータのバックアップを、ユーザが所有する他のクライアント・デバイスにバックアップさせることもできる。
一実施例の場合、格納されるタイプおよびデータ量は、クライアント・デバイスとサーバとの間のデータ転送の形式に依存させることができる。例えば、電話回線によるクライアント・デバイスとサーバ間のデータ転送は、ハイ・スピード・ブロードバンド・ネットワークによる、または、ロウ・ビットレートによる方法とすることができる。クライアント・デバイスとサーバとの間の接続がロウ・スピードの電話回線によることをサーバが検出する場合、バックアップとして格納されるデータ量は、最小の量とすることができる。クライアント・デバイスとサーバとの間の接続がハイ・スピード・ブロードバンド・ネットワークによる場合、より多くのデータを、バックアップとして格納させることができ、コンテツンツのようなより多くのデータのタイプを含ませることができる。
3.3 プライバシーおよび暗号化
特定ユーザのクライアント・デバイスにバックアップされている情報は、その特定ユーザまたはクライアント・デバイスを共有するユーザに関連するデータであるので、ユーザのプライバシーの問題は減少する。例えば、一つがユーザAによって所有され、もう一方がユーザBによって所有される二つのクライアント・デバイスがある場合、ユーザA自身の情報は、ユーザA自身のクライアント・デバイスにバックアップされ、ユーザBの情報は、ユーザBのクライアント・デバイスのみにバックアップされる。この実施例の場合、一つのクライアント・デバイスに関連する一人のユーザの個人情報は、別のユーザのクライアント・デバイスに格納されない。他の実施例の場合、個人情報を有するデータは、別のユーザのクライアント・デバイスに安全な暗号化によって格納される。
一実施例の場合、クライアント・デバイスに格納されるデータは、アドレスまたは財務データを含んでいるユーザ情報のような機密に関わる情報を含むことができる。財務データは、購入するのに用いるクレジット・カード情報、アカウント情報および他の財務データを含むが、これに限定されるものではない。機密に関わるデータがクライアント・デバイスにバックアップされる場合、この情報は、暗号化されるとともに、格納されて、転送される。暗号化には任意の形式が使用可能で、情報がきわめて機密に関わる(例えば、社会保障番号)と考えられる場合には、暗号化のより安全な形式を、使用することができる。一実施例の場合、サーバのみが暗号化データを復号することができる。
3.4 データ回復
一実施例の場合、データは、ユーザによって所有されるクライアント・デバイスの各々に格納される。バックアップを複数のクライアント・デバイスに格納することによって、データが失われてしまう場合にも、これはデータを安全に保つ。例えば、サーバが、ユーザの一つのDVRまたはクライアント・デバイスと同時に、故障しかつデータを喪失してしまう場合がある。このような状況で、サーバは、別のユーザのクライアント・デバイスの一つからデータを回復させることができる。バックアップ・データの格納装置は、ユーザのDVRのデータを格納することのみに限定されず、ユーザの任意のクライアント・デバイスとすることができる。これは、ユーザがDVRサービスと対話することができる任意のクライアント・デバイスを含むことができる。これは、ポータブルDVR、パーソナル・コンピュータおよびモバイル・デバイス(例えば、PDAまたは携帯電話)を含むことができるが、これに限定されるものではない。データの完全性は、データを複数の場所に格納することによって確保される。また、複数のデバイスが故障したとしても、データは、別のクライアント・デバイスから回復させることができる。
中央データが損なわれた場合、中央データは、複数のクライアント・デバイスから損なわれた任意のデータを読み出すことによって回復される。したがって、中央データの、データの小さいサブセットが損なわれても構わないし、また、中央データ全体が損なわれて構わない。何れの状況においても、データは、クライアント・デバイスから回復される。一実施例の場合、中央データ全体が損なわれたことを中央サーバが検出すると、サーバはサーバと通信する任意のクライアント・デバイスによってアップデートを実行する。特定ユーザの情報が中央データ内で損なわれた場合、クライアント・デバイスは、特定ユーザの全ての情報を主データベースに転送する。これは、喪失した全ての中央データを素早く回復させることを可能にする。
他の実施例の場合、中央データが損なわれたことを中央サーバが検出すると、中央サーバは、破損したデータを読み出すためにクライアント・デバイスの各々からのアップデート要求を待つ。この処理は、サーバがアップデート要求を作成するより長くかかるが、中央サーバに対する負担が小さくなるように、中央サーバが制限された接続数しか処理しないようにさせることもできる。この実施例の利点は、各々のクライアント・デバイスがサーバと交信する際、サーバが、その特定クライアント・デバイスの必要なものを処理するので、中央サーバが、サーバが必要とするデータによってしか機能しないことである。
さらに別の実施例では、中央サーバが中央データの破損を検出すると、全てのクライアント・デバイスが交信されるまで、中央サーバは、特定された多数のクライアント・デバイスのアップデート要求を実行する。クライアント・デバイスのどのグループを最初にアップデートするかという選択は、各状況による。これは、地理的な領域によって、または、(その情報が利用可能である場合、どのクライアント・デバイスが最も活動的であったかを示す)記録によって、クライアント・デバイスを選択することを含むことができる。サーバとクライアント・デバイスとの接続数を制限することにより、アップデートおよび接続が、適切に処理されることが、確実になる。
一実施例の場合、クライアント・デバイスに格納されたデータが損なわれた場合、クライアント・デバイスに以前に格納されていたデータは、別のクライアント・デバイスから破損したデータに対応するデータを読み出すことによって回復される。これは、ユーザが二つ以上のクライアント・デバイスを所有することにより可能である。ユーザが二つ以上のクライアント・デバイスを所有する場合、処理されたデータのバックアップは、クライアント・デバイスの各々に格納される。データが損なわれたことをクライアント・デバイスが検出すると、クライアント・デバイスは、データのバックアップを格納する別のクライアント・デバイスに要求を送信することができる。この要求は、格納されたバックアップが特定ユーザに関連するデータのサブセットに制限されているので、同じユーザが所有するデバイスに限定される。一実施例の場合、クライアントには、サーバによって共有証明書が支給される。共有証明書は、各クライアント・デバイスに、クライアント・デバイスがデータを共有することを認証した他のクライアント・デバイスについて、通知する。
本発明の一実施例によるクライアントがオンラインであるときデータ回復のためにとるステップの実例は、図4に示される。ステップ400において、データは、主データベースの故障に起因して主データベースで損なわれる。ステップ402において、クライアント・デバイスの一つは、破損したデータの検出に、次のアップデート要求をする。中央サーバは、要求を受けて、主データベースのデータの状態とクライアント・デバイスに格納されるデータの状態を比較する。ステップ404に示されるように、この特定の状況において、ユーザに関連するデータは、破損のため、主データベースに発見されない。ステップ406で、クライアント・デバイスが、全てのバックアップ・データを主データベースに送信することによって、特定クライアント・デバイスに対し、データが、回復される。クライアント・デバイスが中央サーバのアップデート要求をすると、各々の特定ユーザの一つ以上のクライアント・デバイスに対し、これらのデータ回復ステップが、データ破損の検出に応じて、繰り返される。
4.0 企業システムの分散バックアップ
分散バックアップは、任意の社内ネットワーク・システムを使用することができるが、DVRサービス・プロバイダのシステムのみに限定されるものではない。多くのクライアントを有する中央サーバを持つ企業システムは、このバックアップ・システムを実装することができる。大量のデータ量を適切なバックアップ・システムにより格納しなければならないので、企業システムは同じ問題点を有する。バックアップに必要なものを単一の、大きなデータベースに移すことは、多くのコスト削減が得られる。
ネットワーク上の多くのクライアントを有する中央サーバを備える任意のタイプのシステムは、分散バックアップを使用することができる。例えば、ユーザが中央サービスを申し込む携帯電話ネットワークまたはパーソナルコンピュータネットワークの場合、中央データのバックアップは、重要になる。
分散バックアップの技術および方法は、中央サーバを利用している任意の企業システムまたはシステムに適用させることができる。中央サーバおよびデータベースによって格納されるデータのサブセットは、企業システムのクライアントのバックアップとして格納される。会社の記録、顧客データまたは人事管理情報を含むが、これに限らず、いかなるデータのタイプも、このようにしてバックアップさせることができる。アップデートは、バックアップとして格納されるデータが最新であることを確保するために、しばしば実行される。データが機密に関わるとみなされる場合、データおよびデータの転送はプライバシー保護のために暗号化される。主データベースのデータ破損の検出に応じて、データは、クライアントから回復させることができる。また、クライアント・デバイスの一つのデータ破損の検出に応じて、新しいバックアップは、主データベースからのデータにより修復されたクライアントに格納させることができる。
5.0 実装メカニズム
図5は、本発明の実施例を実行することができるコンピュータシステム500を例示するブロック図である。コンピュータシステム500は、バス502すなわち情報を通信するための他の通信手法と、情報を処理するためにバス502に結合されているプロセッサ504とを含む。コンピュータシステム500は、さらに、情報およびプロセッサ504によって実行される命令を格納するためにバス502に結合されている、ランダム・アクセス・メモリ(RAM)または他のダイナミックなメモリ・デバイスのようなメイン・メモリ506を含む。メイン・メモリ506は、さらに、プロセッサ504によって実行されるべき命令の実行中に、一時的な変数または他の中間の情報を格納するために用いることができる。コンピュータシステム500は、さらに、プロセッサ504に対するスタティックな情報および命令を格納するためにバス502に結合されている、読出し専用メモリ(ROM)508、すなわち他のスタティックな格納デバイスを含む。磁気ディスクまたは光ディスクのようなメモリ・デバイス510が、設けられていて、これは、情報および命令を格納するために、バス502に結合されている。
コンピュータシステム500は、コンピュータユーザに情報を表示するためのブラウン管(CRT)などのディスプレイ512に、バス502を介して結合することができる。英数字および他のキーを含む入力デバイス514は、プロセッサ504によって選択される情報および命令を通信するために、バス502に結合されている。他のタイプのユーザ入力デバイスとは、プロセッサ504によって選択される方向情報および命令を通信し、かつ、ディスプレイ512上のカーソル移動をコントロールするための、マウス、トラックボール、または、カーソル方向キーなどのカーソル・コントロール516である。この入力デバイスは、通常、デバイスによって平面の位置指定が可能となる、第1の軸(たとえば、x軸)および、第2の軸(たとえば、y軸)といった2軸の自由度を有する。
本発明は、本願明細書において記載されている技術を実行するコンピュータシステム500の使用に関する。本発明の一実施例によれば、これらの技術は、プロセッサ504がメイン・メモリ506に含まれている一つ以上の命令の一つ以上のシーケンスが実行されると、コンピュータシステム500によって実行される。この種の命令は、格納デバイス510などの他の機械読み取り可読媒体からメイン・メモリ506へ読み出すことができる。メイン・メモリ506に含まれている命令シーケンスの実行によって、プロセッサ504は、本願明細書において記載されているプロセスステップを実行する。これに代わる実施例では、ハードウェアに組み込まれている回路を、本発明を実行するために、ソフトウェア命令の代わりに、または、これとともに用いることができる。このように、本発明の実施形態は、ハードウェア回路とソフトウェアとの特有の組み合わせに限定されるものではない。
本明細書で用いられる用語「機械読み取り可読媒体」とは、機械に特有の方法の動作をさせるデータの提供に関与するいかなる媒体も指す。コンピュータシステム500を用いて実行される実施例では、様々な機械読み取り可読媒体は、たとえば、実行用のプロセッサ504に命令を提供するものも含まれる。この種の媒体は、これに限定されるものではないが、記憶媒体、および、転送媒体を含む、多様な形式を採用することができる。記憶媒体は、不揮発性媒体および揮発性媒体を含む。不揮発性媒体は、たとえば、格納デバイス510などの光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メイン・メモリ506などのダイナミック・メモリを含む。転送媒体は、バス502を備えるワイヤーを含む、同軸ケーブル、銅ワイヤー、および、ファイバー・オプティックスを含む。転送媒体は、さらに、電波および赤外線通信中に生成されるような音響または光波の形式とすることができる。この種のすべての媒体によって、媒体によって担持されている命令を、機械に命令を読み込ませる物理的機構で効果的に検出可能となる。
一般的な形式の機械読み取り可読媒体は、たとえば、フロッピー(登録商標)ディスク、フレキシブル・ディスク、ハードディスク、磁気テープ、または、他のいかなる磁気媒体、CD-ROM、他のいかなる光媒体、パンチカード、紙テープ、ホールパターンを有する他のいかなる物理的な媒体、RAMPROM、および、EPROM、フラッシュEPROM、他のいかなるメモリチップもまたはカートリッジ、後述するような搬送波、または、コンピュータが読み出し可能な他のいかなる媒体も含む。
様々な形式の機械読み取り可読媒体は、プロセッサ504が実行する一つ以上の命令の一つ以上のシーケンスを担持することができる。たとえば、命令は、まず、リモート・コンピュータの磁気ディスクに搬送される。リモート・コンピュータは、そのダイナミック・メモリに命令をロードし、かつ、モデムを用いている電話線を通じて、命令を送信することができる。コンピュータシステムに500に用いるモデムは、電話線上のデータを受信することができ、かつ、そのデータを赤外線信号に変換する赤外線送信器を用いる。赤外線検出器は、赤外線信号で搬送されるデータを受信することができ、かつ、適切な回路は、バス502にデータを配置することができる。バス502は、命令を検索し、かつ、実行するプロセッサ504から、メイン・メモリ506にデータを搬送する。メイン・メモリ506によって受信される命令は、オプションとして、プロセッサ504によって実行される前と実行された後とのいずれかに、格納デバイス510に格納することができる。
コンピュータシステム500は、さらに、バス502に結合されている通信インターフェース518を含む。通信インターフェース518は、ローカル・ネットワーク422に結合されているネットワーク・リンク420に、2つのデータ通信カップリングを提供する。たとえば、通信インターフェース518は、電話線に対応するタイプのデータ通信接続を提供する、総合デジタル通信網(ISDN)カードまたはモデムとすることができる。別の例として、通信インターフェース518は、互換性を有するLANにデータ通信接続を提供するローカル・エリア・ネットワーク(LAN)カードとすることができる。無線リンクも、実装することができる。いずれの種類の実施態様においても、通信インターフェース518は、様々なタイプの情報を示すデジタル・データ・ストリームを搬送する、電気信号、電磁信号、または、光学信号を送受信する。
ネットワーク・リンク420は、通常、他のデータ・デバイスに一つ以上のネットワークを通じてデータ通信を提供する。たとえば、ネットワーク・リンク420は、ローカル・ネットワーク422を介して、ホストコンピュータ424との、または、インターネットサービスプロバイダ(ISP)426によって動作されるデータ装置との、接続を提供することができる。ISP426は、結局、現在では、一般に「インターネット」428と呼ばれるワールドワイドなパケット・データ通信回路ネットワークを通じてデータ通信サービスを提供する。ローカル・ネットワーク422およびインターネット428は、両者とも、デジタル・データ・ストリームを搬送する、電気信号、電磁信号、または、光学信号を使用する。コンピュータシステム500に対するデジタル・データ、および、コンピュータシステム500からのデジタル・データを搬送する、様々なネットワークを通る信号、および、ネットワーク・リンク420上および通信インターフェース518を通る信号は、情報を運ぶ搬送波の例示的な形式である。
コンピュータシステム500は、ネットワーク、ネットワーク・リンク420、および、通信インターフェース518を通る、プログラムコードを含む、メッセージの送信およびデータを受信することができる。インターネットの例では、サーバ430は、インターネット428、ISP426、ローカル・ネットワーク422、および、通信インターフェース518を通る、アプリケーション・プログラム用のリクエストされたコードを伝達することができる。
受信されたコードは、それが受信されることにより、プロセッサ504によって実行され、および/または、格納デバイス510または後の実行のために他の不揮発性格納装置に格納される。このように、コンピュータシステム500は、搬送波の形式のアプリケーションコードを取得することができる。
上述した明細書において、本発明の実施例は、実装毎に異なる可能性がある、多数の特有の詳細を参照して記載されている。したがって、何が本発明であるか、かつ何が本願出願人が意図するものであるかを示す唯一のものは、将来の如何なる補正も含む、本出願の特許される特許請求の範囲である。請求項において用いられる用語の意味は、これらの請求項に含まれる用語に対する本願明細書に明確に記載される定義により決められる。これ故、請求項において明示的に詳述されない、制限、素子、特性、機能、利点または属性により、いかなる形であれかかる請求項の範囲は制限されるべきでない。したがって、明細書および図面は、限定的な意味ではなく例示と考えるべきである。
6.0 実施例
一実施例の場合、方法、または、コンピュータ可読媒体は、命令の一つ以上のシーケンスを備えまたは担持し、一つ以上のプロセッサによって実行されるときに、命令が、一つ以上のプロセッサに次のステップを実行させる。複数のクライアント・デバイスにサービスを提供する一つ以上のサーバを備えるサービスによってデータのセットを保持し、前記データのセットは、複数のデータのサブセットを含み、前記データのセットのサブセットを前記複数のクライアント・デバイスに格納し、前記データのセットの前記サブセットを前記複数のクライアント・デバイスに格納する前記ステップは、前記複数のクライアント・デバイスの各々の特定クライアント・デバイスのために、前記特定クライアント・デバイスに格納されるべきデータのサブセットを決定し、前記特定クライアント・デバイスの格納のために前記特定クライアント・デバイスに前記データのサブセットを送信することを含み、前記データのセットの破損を検出し、前記データのセットの破損を検出することに応答して、前記複数のクライアント・デバイスに格納される前記データのサブセットから前記データのセットを回復することを備える。
一実施例の場合、方法またはコンピュータ可読媒体において、前記データのセットを保持することは、前記特定クライアント・デバイスに格納される前記データのサブセットの状態の表示を受信し、前記表示に基づいて前記特定クライアント・デバイスの格納のためにデータを送信することをさらに備える。
一実施例の場合、方法またはコンピュータ可読媒体において、前記クライアント・デバイスの少なくとも一つは、DVR、モバイル・デバイスまたはパーソナル・コンピュータであることをさらに備える。
一実施例の場合、方法またはコンピュータ可読媒体において、データのサブセットの少なくとも一つは、暗号化された状態で前記複数のクライアント・デバイスに格納されることをさらに備える。
一実施例の場合、方法またはコンピュータ可読媒体において、データは、暗号化された転送を使用して送信されることをさらに備える。
一実施例の場合、方法またはコンピュータ可読媒体において、特定デバイスに格納される前記データのサブセットは、前記特定デバイスを制御するユーザに関連していることをさらに備える。
一実施例の場合、システムは、複数のクライアント・デバイスと、一つ以上のサーバを備えているサービスと、前記複数のクライアント・デバイスにサービスを提供するデータのセットを保持している前記サービスと、前記データのセットは、複数のデータのサブセットを含み、前記データのセットのサブセットを前記複数のクライアント・デバイスに格納し、前記データのセットの前記サブセットを前記複数のクライアント・デバイスに格納する前記ステップは、前記複数のクライアント・デバイスの各々の特定クライアント・デバイスのために、前記特定クライアント・デバイスに格納されるべきデータのサブセットを決定し、前記特定クライアント・デバイスの格納のために前記特定クライアント・デバイスに前記データのサブセットを送信することを含み、前記データのセットの破損を検出し、前記データのセットの破損を検出することに応答して、前記複数のクライアント・デバイスに格納される前記データのサブセットから前記データのセットを回復することを備える。
一実施例の場合、システムにおいて、前記特定クライアント・デバイスに格納される前記データのサブセットの状態の表示を受信し、前記表示に基づいて前記特定クライアント・デバイスの格納のためにデータを送信することをさらに備える。
一実施例の場合、システムにおいて、前記クライアント・デバイスの少なくとも一つは、DVR、モバイル・デバイスまたはパーソナル・コンピュータであることをさらに備える。
一実施例の場合、システムにおいて、データのサブセットの少なくとも一つは、暗号化された状態で前記複数のクライアント・デバイスに格納されることをさらに備える。
一実施例の場合、システムにおいて、データは、暗号化された転送を使用して送信されることをさらに備える。
一実施例の場合、システムにおいて、特定デバイスに格納される前記データのサブセットは、前記特定デデバイスを制御するユーザに関連していることをさらに備える。
102A DVR
102B DVR
104 サービス・プロバイダ
105 ネットワーク
108 コンテンツ・プロバイダ
110 パーソナル・コンピュータ
110 ポータブル・デバイス
152A 入力
152B 出力
154 シグナル・コンバータ
156A エンコーダー
156B デコーダー
158 暗号器/復号器
160 記録モジュール
162 通信インターフェース
164 格納装置
200 中央サーバ
202 ネットワーク
204A ポータブル・デバイス
204B DVR
204C DVR
206A パーソナル・コンピュータ
206B DVR
208 DVR
500 コンピュータシステム
502 バス
504 プロセッサ
506 主格納装置
508 ROM
510 格納装置
512 ディスプレイ
514 入力装置
516 カーソル・コントロール
518 通信インターフェース
520 ネットワーク・リンク
522 ローカル・ネットワーク
524 ホストコンピュータ
526 ISP
528 インターネット
530 サーバ

Claims (8)

  1. データの複数のサブセットを備えるデータのセットを一つ以上のサーバに保持するステップであって、データの各サブセットが、複数のクライアント・デバイスの内の特定クライアントに関連し、かつ特定クライアント・デバイスに関連するデータの各サブセットのバックアップ・コピーが、暗号化されかつ前記特定クライアント・デバイスに格納されている、ステップと、
    前記一つ以上のサーバが、前記複数のクライアント・デバイスの特定クライアント・デバイスに関連する前記データの複数のサブセットの内のデータのサブセットが、破損していると決定するステップと、
    前記一つ以上のサーバが、前記特定のクライアント・デバイスからのリクエストを受信するステップと、
    前記リクエストの受信に応答して、前記一つ以上のサーバが、前記クライアント・デバイスから前記データのサブセットの前記バックアップ・コピーを取得し、かつ前記取得された前記データのサブセットの前記バックアップ・コピーにより前記破損しているデータのサブセットを修理するステップと、
    を備える方法。
  2. 前記クライアント・デバイスから前記データのサブセットの前記バックアップ・コピーを取得することが、暗号化された送信を用いて行われる、請求項1に記載の方法。
  3. 前記特定のクライアント・デバイスが、前記特定のクライアント・デバイスに格納されている前記暗号化されたデータのサブセットを読み出すことが出来ない、請求項1に記載の方法。
  4. 前記特定のクライアント・デバイスからの前記リクエストが、前記クライアント・デバイスの前記データのサブステップを、前記一つ以上のサーバに格納されている前記データのセットに同期させる同期化リクエストである、請求項1に記載の方法。
  5. 特定のクライアント・デバイスに格納されている、特定のクライアント・デバイスに関連する前記複数のデータのサブセットの内の前記データのサブセットが、前記特定クライアント・デバイスを制御するユーザに関連している、請求項1に記載の方法。
  6. 前記複数のクライアント・デバイスの少なくとも一つが、DVR、モバイル・デバイスまたはパーソナル・コンピュータである、請求項1に記載の方法。
  7. 前記一つ以上のプロセッサに請求項1〜6の何れか1項に記載の方法を実行させる一つ以上の命令のシーケンスを格納するコンピュータ可読の格納媒体。
  8. プロセッサを備え、かつ請求項1〜6の何れか1項に記載の方法を実行するように構成されている装置。
JP2012285581A 2008-01-18 2012-12-27 分散されたバックアップおよび回復システム Active JP5411346B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/016,773 US9251012B2 (en) 2008-01-18 2008-01-18 Distributed backup and retrieval system
US12/016,773 2008-01-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010543175A Division JP5174187B2 (ja) 2008-01-18 2009-01-12 分散されたバックアップおよび回復システム

Publications (2)

Publication Number Publication Date
JP2013122772A JP2013122772A (ja) 2013-06-20
JP5411346B2 true JP5411346B2 (ja) 2014-02-12

Family

ID=40877287

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010543175A Active JP5174187B2 (ja) 2008-01-18 2009-01-12 分散されたバックアップおよび回復システム
JP2012285581A Active JP5411346B2 (ja) 2008-01-18 2012-12-27 分散されたバックアップおよび回復システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010543175A Active JP5174187B2 (ja) 2008-01-18 2009-01-12 分散されたバックアップおよび回復システム

Country Status (7)

Country Link
US (2) US9251012B2 (ja)
EP (1) EP2235635B1 (ja)
JP (2) JP5174187B2 (ja)
CN (1) CN101918927A (ja)
AU (1) AU2009205585A1 (ja)
CA (1) CA2710925A1 (ja)
WO (1) WO2009091699A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053019A2 (en) * 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US9251012B2 (en) 2008-01-18 2016-02-02 Tivo Inc. Distributed backup and retrieval system
US9032295B1 (en) 2008-03-19 2015-05-12 Dropbox, Inc. Method for displaying files from a plurality of devices in a multi-view interface and for enabling operations to be performed on such files through such interface
US8019900B1 (en) * 2008-03-25 2011-09-13 SugarSync, Inc. Opportunistic peer-to-peer synchronization in a synchronization system
US9141483B1 (en) 2008-03-27 2015-09-22 Dropbox, Inc. System and method for multi-tier synchronization
US8650498B1 (en) 2009-05-04 2014-02-11 SugarSync, Inc. User interface for managing and viewing synchronization settings in a synchronization system
FI126228B (fi) * 2009-09-16 2016-08-31 Varaani Works Oy Menetelmä ja tallennuspalvelin tiedon varmentamiseen
US9081735B2 (en) 2011-02-12 2015-07-14 International Business Machines Corporation Collaborative information source recovery
JP5445503B2 (ja) * 2011-03-31 2014-03-19 ブラザー工業株式会社 情報通信システム、情報通信方法
JP2012244463A (ja) * 2011-05-20 2012-12-10 Sony Corp 受信端末、情報処理方法、プログラム、サーバ、送信端末及び情報処理システム
US8930320B2 (en) * 2011-09-30 2015-01-06 Accenture Global Services Limited Distributed computing backup and recovery system
US9633125B1 (en) 2012-08-10 2017-04-25 Dropbox, Inc. System, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server
US10057318B1 (en) 2012-08-10 2018-08-21 Dropbox, Inc. System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients
US9619539B2 (en) * 2012-09-28 2017-04-11 Vmware, Inc. Automated document replication in a distributed computing system
US20140189063A1 (en) * 2012-12-27 2014-07-03 Dropbox, Inc. Content delivery via an online synchronized content management system
CN103927236B (zh) * 2013-01-11 2018-01-16 深圳市腾讯计算机系统有限公司 在线校验方法和装置
US9015527B2 (en) 2013-01-29 2015-04-21 Hewlett-Packard Development Company, L.P. Data backup and recovery
CN105338899B (zh) * 2013-06-23 2019-08-20 格鲁科威斯塔公司 使用具有吸热反应的冷却装置进行的物质浓度测量
US20180225179A1 (en) * 2015-08-07 2018-08-09 Hewlett Packard Enterprise Development Lp Encrypted data chunks
US9992175B2 (en) * 2016-01-08 2018-06-05 Moneygram International, Inc. Systems and method for providing a data security service
CN106095618A (zh) * 2016-06-06 2016-11-09 北京中油瑞飞信息技术有限责任公司 数据操作的方法和系统
US10255371B2 (en) * 2016-09-19 2019-04-09 Adobe Systems Incorporated Methods and systems for identifying multiple devices belonging to a single user by merging deterministic and probabilistic data to generate a cross device data structure
CN108153614B (zh) * 2016-12-02 2021-08-20 中科星图股份有限公司 一种数据库的备份及恢复方法
CN108243209A (zh) * 2016-12-23 2018-07-03 深圳市优朋普乐传媒发展有限公司 一种数据同步方法及装置
CN109698757A (zh) * 2017-10-20 2019-04-30 中兴通讯股份有限公司 切换主备设备、恢复用户数据的方法、服务器及网络设备
US10997065B2 (en) * 2017-11-13 2021-05-04 SK Hynix Inc. Memory system and operating method thereof
US11334596B2 (en) 2018-04-27 2022-05-17 Dropbox, Inc. Selectively identifying and recommending digital content items for synchronization
CN111629226A (zh) * 2020-05-15 2020-09-04 上海幕革科技有限公司 一种基于中心存储的数据处理设备及其处理方法
CN112214358A (zh) * 2020-10-30 2021-01-12 上海爱数信息技术股份有限公司 一种GaussDB分布式数据库的备份恢复系统及其方法
CN112506704B (zh) * 2020-12-05 2022-01-18 广州技象科技有限公司 一种物联网网关的配置信息备份方法及装置
CN114040019B (zh) * 2021-11-09 2023-10-27 合肥城市云数据中心股份有限公司 一种基于客户端代理的备份灾备装置数据采集传输方法
CN114374702B (zh) * 2021-12-27 2024-01-30 合肥城市云数据中心股份有限公司 一种容灾数据的分析呈现方法
CN115396386B (zh) * 2022-08-09 2023-11-17 伟志股份公司 一种数据共享系统、方法及其应用

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710870A (en) * 1985-07-10 1987-12-01 Bell Communications Research, Inc. Central computer backup system utilizing localized data bases
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US5740433A (en) * 1995-01-24 1998-04-14 Tandem Computers, Inc. Remote duplicate database facility with improved throughput and fault tolerance
US7080260B2 (en) * 1996-11-19 2006-07-18 Johnson R Brent System and computer based method to automatically archive and retrieve encrypted remote client data files
US6038665A (en) * 1996-12-03 2000-03-14 Fairbanks Systems Group System and method for backing up computer files over a wide area computer network
US6026414A (en) * 1998-03-05 2000-02-15 International Business Machines Corporation System including a proxy client to backup files in a distributed computing environment
US6757698B2 (en) * 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
US6981007B1 (en) * 1999-07-09 2005-12-27 Whitmyer Jr Wesley W Onsite backup for internet-based data processing
US6898603B1 (en) * 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US6629110B2 (en) * 2000-01-10 2003-09-30 Connected Corporation Administration of a differential backup system in a client-server environment
DE60036539T2 (de) * 2000-06-09 2008-05-08 Hewlett-Packard Development Co., L.P., Houston Verwendung von ungenutzter Speicherkapazität bei vernetzten Computern
JP4637382B2 (ja) 2001-02-13 2011-02-23 サイボウズ株式会社 データバックアップシステム
US6883110B1 (en) * 2001-06-18 2005-04-19 Gateway, Inc. System and method for providing a data backup of a server on client systems in a network
US6928580B2 (en) * 2001-07-09 2005-08-09 Hewlett-Packard Development Company, L.P. Distributed data center system protocol for continuity of service in the event of disaster failures
US7318095B2 (en) * 2001-11-21 2008-01-08 Clearcube Technology, Inc. Data fail-over for a multi-computer system
US7467167B2 (en) * 2002-03-19 2008-12-16 Network Appliance, Inc. System and method for coalescing a plurality of snapshots
US20030188153A1 (en) * 2002-04-02 2003-10-02 Demoff Jeff S. System and method for mirroring data using a server
JP4254178B2 (ja) * 2002-09-11 2009-04-15 富士ゼロックス株式会社 分散格納制御装置及び方法
WO2004027649A1 (en) * 2002-09-18 2004-04-01 Netezza Corporation Asymmetric streaming record data processor method and apparatus
US7634614B2 (en) * 2003-01-13 2009-12-15 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting
JP2005072772A (ja) * 2003-08-21 2005-03-17 Sony Ericsson Mobilecommunications Japan Inc データバックアップシステム、端末装置およびデータバックアッププログラム
US7496607B2 (en) * 2003-08-29 2009-02-24 Yahoo! Inc. Method and system for maintaining synchronization between a local data cache and a data store
JP2005107770A (ja) 2003-09-30 2005-04-21 Sony Corp バックアップ制御方法
CA2452251C (en) * 2003-12-04 2010-02-09 Timothy R. Jewell Data backup system and method
FR2878673B1 (fr) * 2004-11-26 2007-02-09 Univ Picardie Jules Verne Etab Systeme et procede de sauvegarde distribuee perenne
US20070157281A1 (en) * 2005-12-23 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
JP4296304B2 (ja) 2006-03-28 2009-07-15 学校法人東京電機大学 ディザスタリカバリ装置及びディザスタリカバリプログラム及びその記録媒体及びディザスタリカバリシステム
US8862841B2 (en) * 2006-04-25 2014-10-14 Hewlett-Packard Development Company, L.P. Method and system for scaleable, distributed, differential electronic-data backup and archiving
US7877765B2 (en) * 2006-10-26 2011-01-25 International Business Machines Corporation Viewing pattern data collection
JP2008250864A (ja) * 2007-03-30 2008-10-16 Fujitsu Ltd データ保存方法、データ保存システム及び情報処理装置
US9251012B2 (en) 2008-01-18 2016-02-02 Tivo Inc. Distributed backup and retrieval system

Also Published As

Publication number Publication date
CA2710925A1 (en) 2009-07-23
AU2009205585A1 (en) 2009-07-23
EP2235635A1 (en) 2010-10-06
US20090187609A1 (en) 2009-07-23
US20160156601A1 (en) 2016-06-02
EP2235635B1 (en) 2014-09-10
US9251012B2 (en) 2016-02-02
JP5174187B2 (ja) 2013-04-03
EP2235635A4 (en) 2012-03-14
WO2009091699A4 (en) 2009-09-11
JP2011511975A (ja) 2011-04-14
CN101918927A (zh) 2010-12-15
WO2009091699A1 (en) 2009-07-23
US9807064B2 (en) 2017-10-31
JP2013122772A (ja) 2013-06-20

Similar Documents

Publication Publication Date Title
JP5411346B2 (ja) 分散されたバックアップおよび回復システム
US20210165574A1 (en) Techniques for facilitating processing checkpoints between computing devices
US8090690B2 (en) Systems and methods for data upload and download
US8805787B2 (en) Network architecture for content backup, restoring, and sharing
TWI451760B (zh) 用於媒體內容之選擇性存檔的系統及方法
CN109522363B (zh) 基于区块链的云平台同步方法、系统、设备及存储介质
US8554735B1 (en) Systems and methods for data upload and download
US8732784B2 (en) Hierarchical storage management for data
CN105159795A (zh) 数据同步方法、装置和系统
US20080091970A1 (en) Information processing system and method
US7603335B2 (en) Acquisition of attribute and accounting information with communication interruption
US9113195B1 (en) Real-time DVR programming
US20140038650A1 (en) Short message backup method, mobile terminal, and server
US10051053B2 (en) System and method for transferring and synchronizing content between electronic devices
WO2013065135A1 (ja) データ共有システム
US11012488B2 (en) Content streaming redundancy architecture
US9971654B2 (en) Safe storing data for disaster recovery
JP2007086987A (ja) データベース二重化システム、センタサーバ、リモートサーバ、データベース二重化方法及びプログラム
AU2013200029A1 (en) Distributed backup and retrieval system
JP2007188377A (ja) 電子装置とそのバックアップシステム及びバックアップサービス提供方法
US10566028B1 (en) Digital video recorder failover
US20080148023A1 (en) Method and system for synchronous operation of an application by a purality of processing units
WO2013187034A1 (ja) コンテンツ管理装置およびコンテンツ管理方法
JP2006094405A (ja) 通信装置と通信方法
KR20080021449A (ko) 이동통신 단말기의 동기화 방법 및 이동통신 단말기

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131107

R150 Certificate of patent or registration of utility model

Ref document number: 5411346

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250