JP6899837B2 - リージョン間にわたるデータ送信 - Google Patents

リージョン間にわたるデータ送信 Download PDF

Info

Publication number
JP6899837B2
JP6899837B2 JP2018544353A JP2018544353A JP6899837B2 JP 6899837 B2 JP6899837 B2 JP 6899837B2 JP 2018544353 A JP2018544353 A JP 2018544353A JP 2018544353 A JP2018544353 A JP 2018544353A JP 6899837 B2 JP6899837 B2 JP 6899837B2
Authority
JP
Japan
Prior art keywords
metadata
information
node device
client
data
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
JP2018544353A
Other languages
English (en)
Other versions
JP2019510302A (ja
Inventor
ルー イージュン
ルー イージュン
タオ ユンフォン
タオ ユンフォン
タン ジーヤン
タン ジーヤン
ジュー ユンフォン
ジュー ユンフォン
チョン リン
チョン リン
アン カイゴー
アン カイゴー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2019510302A publication Critical patent/JP2019510302A/ja
Application granted granted Critical
Publication of JP6899837B2 publication Critical patent/JP6899837B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • 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/55Push-based network services
    • 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/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)

Description

関連出願の相互参照
本出願は、その全体が参照により本明細書に組み込まれる、2016年3月9日に出願された「Cross−Regional Data Transmission Method and Device」と題する中国特許出願第201610134307.X号の優先権を主張する。
本開示は、コンピュータの分野に関し、特に、リージョン間にわたるデータ送信技術に関する。
遠隔データレプリケーションは、インターネットの重要な部分であり、コンピュータネットワーク環境に幅広く適用されている。データの遠隔レプリケーションは、同期レプリケーション及び非同期レプリケーションを含む。
従来技術では、微小遅延のシナリオ(例えば、杭州から上海まで)において、同期レプリケーションの遅延は、無視されてもよく、それは、アプリケーションに対してほとんど影響がない。その場合、複数リージョンの同期レプリケーションの業界標準は、分散合意プロトコル(Paxosプロトコルなど)である。非同期レプリケーションでは、送信者は、受信者が受信を確認するのを待たずに、送信者のロジック(例えば、非リレーショナルデータベースサービス(AWS DynamoDBストリーミング))を再開し得る。さらに、移送サービス方式を採用する非同期レプリケーションは、結果整合性のデータ整合性維持を提供し、移送サービスモードにおいて、強い整合性を有する共有ログ機能が、アプリケーション内で構築されるデータレプリケーションメカニズムの代わりとなる。それは、リンクをレプリケートすること(例えば、AWS S3メタ整合性維持)または何らかのロジックをクライアント端末(例えば、Rawフラッシュユニットのクラスタ)にプッシュすることによって、データ信頼性自体の保証を提供し得る。
リージョン間にわたるシナリオでは、多様なリージョンの間のネットワーク遅延は、100ms以上に達し得る。リージョン間にわたるシナリオにおいて、同期レプリケーションの遅延が大きくなればなるほど、同期レプリケーションは、概して、長距離データ送信に採用されず、強い整合性サポート及び高いスループットレートを有する非同期レプリケーションが採用される。直接非同期レプリケーションの間、遅延が長くなればなるほど、送信者は、大量のデータをバッファする必要があり、それは、送信者のメモリに対する圧迫を生じ、その結果、さらなる拡張が不可能である。移送サービスモードにおいて強い整合性を有する共有ログ機能の場合、ログ上のノードが故障したときのログ上のデータの信頼性の問題を解決することが必要であるため、ロジックは、比較的複雑であり、遅延も、ローカルデータの非同期レプリケーションの遅延よりかなり大きくなることがあり、同時に、回復ポイント目標(RPO)が、サービスフェールオーバの場合において保証できない。
したがって、従来技術では、リージョン間にわたるシナリオにおいて、強い整合性サポート及び高いスループットレートを有する非同期レプリケーションを使用することは、データ同期の遅延がより長くなり、同時に、回復ポイント目標が、サービスフェールオーバの場合において保証できないという結果をもたらす。
本概要は、詳細な説明においてさらに後述する概念の抜粋を、簡潔な形式で導入するために提供される。本概要は、特許請求される主題の重要な特徴または本質的特徴の全てを特定することを意図するものではなく、特許請求される主題の範囲を判断する際の補助としてのみ使用されることを意図するものでもない。「技術(複数可)または技術的解決策(複数可)」という用語は、上記の文脈によって、かつ本開示全体を通して認められるように、例えば、装置(複数可)、システム(複数可)、方法(複数可)、及び/またはコンピュータ可読命令を示し得る。
本開示の目的は、リージョン間にわたるデータ送信方法及びデバイスを提供すること、リージョン間にわたるシナリオにおいて、強い整合性サポート及び高いスループットレートを有する非同期レプリケーションを使用することが、データ同期の遅延がより長くなり、同時に、回復ポイント目標が、サービスフェールオーバの場合において保証できないという結果をもたらすという、従来技術における問題を解決することである。
本開示の態様によれば、
対応するクライアントデバイスによって送信されるメタデータ情報を取得すること、及びメタデータ情報を対応するメタデータ送信ノードデバイスに送信することであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、送信することと、
対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得すること、及び転送対象データ情報を対応するクライアントデバイスにプッシュすることであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、プッシュすることと、
を含む、メタデータクライアントアクセスデバイス端末における、リージョン間にわたるデータ送信方法が提供される。
本開示の態様によれば、
対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報を受信すること、及びメタデータ情報を別のメタデータ送信ノードデバイスに送信することであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、送信することと、
対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報を受信すること、転送対象データ情報を処理すること、及び、次いで、処理済みの転送対象データ情報を対応する下位メタデータ送信ノードデバイスに送信することであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、送信することと、
対応するクライアントデバイスに関連する転送対象データ情報を、対応するメタデータクライアントアクセスデバイスに転送することと、
を含む、メタデータ送信ノードデバイス端末における、リージョン間にわたるデータ送信方法が提供される。
本開示の態様によれば、
対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求を受信することと、
下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求を受信することと、
第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスを更新することと、
メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態を取得することと、
を含む、グローバル分散合意端末のためのプロトコルを備えるデバイスにおける、リージョン間にわたるデータ送信方法が提供される。
本開示の態様によれば、
別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得することと、
対応するメタデータ情報をデータベースデータ情報に基づいて判断することであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、判断すること、及びメタデータ情報を対応するメタデータクライアントアクセスデバイスに送信することと、
対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報を受信することであって、転送対象データ情報が、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含む、受信すること、及び転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断することと、
を含む、クライアントデバイス端末における、リージョン間にわたるデータ送信方法が提供される。
本開示の別の態様によれば、
対応するクライアントデバイスによって送信されるメタデータ情報を取得し、メタデータ情報を対応するメタデータ送信ノードデバイスに送信するように構成される、取得ユニットであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、取得ユニットと、
対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得し、転送対象データ情報を対応するクライアントデバイスにプッシュするように構成される、プッシュユニットであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、プッシュユニットと、
を含む、リージョン間にわたるデータ送信のためのメタデータクライアントアクセスデバイスがさらに提供される。
本開示の態様によれば、
対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報を受信し、メタデータ情報を別のメタデータ送信ノードデバイスに送信するように構成される、第1の受信ユニットであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、第1の受信ユニットと、
対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報を受信し、転送対象データ情報を処理し、次いで、処理済みの転送対象データ情報を対応する下位メタデータ送信ノードデバイスに送信するように構成される、第1の転送ユニットであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、第1の転送ユニットと、
対応するクライアントデバイスに関連する転送対象データ情報を、対応するメタデータクライアントアクセスデバイスに転送するように構成される、第2の転送ユニットと、
を含む、メタデータ送信ノードデバイスにおける、リージョン間にわたるデータ送信方法が提供される。
本開示の態様によれば、
対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求を受信するように構成される、第2の受信ユニットと、
下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求を受信するように構成される、第3の受信ユニットと、
第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスを更新するように構成される、更新ユニットと、
メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態を取得するように構成される、取得ユニットと、
を含む、グローバル分散合意端末のためのプロトコルを備えるデバイスにおける、リージョン間にわたるデータ送信方法が提供される。
本開示の態様によれば、
別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得するように構成される、第3の取得ユニットと、
データベースデータ情報に基づいて対応するメタデータ情報を判断し、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報を対応するメタデータクライアントアクセスデバイスに送信するように構成される、送信ユニットと、
対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報を受信し、転送対象データ情報が、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断するように構成される、判断ユニットと、
を含む、クライアントデバイス端末における、リージョン間にわたるデータ送信方法が提供される。
本開示のさらなる態様によれば、システムが、メタデータクライアントアクセスデバイスと、メタデータ送信ノードデバイスと、クライアントデバイスと、を含み、
メタデータクライアントアクセスデバイスが、対応するクライアントデバイスによって送信されるメタデータ情報を取得し、メタデータ情報を対応するメタデータ送信ノードデバイスに送信するように構成される、第1の取得ユニットであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、第1の取得ユニットと、対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得し、転送対象データ情報を対応するクライアントデバイスにプッシュするように構成される、プッシュユニットであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、プッシュユニットと、を含み、
メタデータ送信ノードデバイスが、対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報を受信し、メタデータ情報を別のメタデータ送信ノードデバイスに送信するように構成される、第1の受信ユニットであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、第1の受信ユニットと、対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報を受信し、転送対象データ情報を処理し、次いで、処理済みの転送対象データ情報を対応する下位メタデータ送信ノードデバイスに送信するように構成される、第1の転送ユニットであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、第1の転送ユニットと、対応するクライアントデバイスに関連する転送対象データ情報を、対応するメタデータクライアントアクセスデバイスに転送するように構成される、第2の転送ユニットと、を含み、
クライアントデバイスが、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得するように構成される、第3の取得ユニットと、データベースデータ情報に基づいて対応するメタデータ情報を判断し、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報を対応するメタデータクライアントアクセスデバイスに送信するように構成される、送信ユニットと、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報を受信し、転送対象データ情報が、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断するように構成される、判断ユニットと、を含む、リージョン間にわたるデータ送信システムが提供される。
さらに、システムは、グローバル分散合意プロトコルを備えるデバイスをさらに含み、
第1の取得ユニットは、対応するメタデータ送信ノードデバイスが故障しているときに、第1のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応するメタデータ送信ノードデバイスを取得し、メタデータ情報を更新済みメタデータ送信ノードデバイスに送信するようにさらに構成され、第1の転送ユニットは、対応する下位メタデータ送信ノードデバイスが故障しているときに、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得するようにさらに構成され、メタデータ送信ノードデバイスは、カレントノード状態をグローバル分散合意プロトコルを備えるデバイスに周期的に送信するようにさらに構成され、
グローバル分散合意プロトコルを備えるデバイスは、対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求を受信するように構成される、第2の受信ユニットと、その中の下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求を受信するように構成される、第3の受信ユニットと、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスを更新するように構成される、更新ユニットと、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態を取得するように構成される、第2の取得ユニットと、を含む。
従来技術と比較すると、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、対応するクライアントデバイスによって送信されるメタデータ情報が取得され、メタデータ情報は、対応するメタデータ送信ノードデバイスに送信され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報が取得され、転送対象データ情報は、対応するクライアントデバイスにプッシュされ、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含み、それによって、対応するクライアントデバイスによって送信されるメタデータ情報が、対応するメタデータ送信ノードデバイスに効果的に送信される。対応するメタデータ送信ノードデバイスによって送信される、取得された転送対象データ情報は、対応するクライアントデバイスにプッシュされて、メタデータ情報の同期が実現される。
さらに、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報が受信され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、別のメタデータ送信ノードデバイスに送信される。さらに、対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報が受信され、転送対象データ情報は、処理され、次いで、対応する下位メタデータ送信ノードデバイスに送信され、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。対応するクライアントデバイスに関連する転送対象データ情報は、対応するメタデータクライアントアクセスデバイスに転送され、対応するメタデータクライアントアクセスデバイスから送信される対応するクライアントデバイスのメタデータ情報は、別のメタデータ送信ノードデバイスに効果的に送信される。対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報は、処理され、次いで、転送対象データ情報が全てのメタデータ送信ノードデバイスによって受信されるまで、下位メタデータ送信ノードデバイスに送信されて、メタデータ送信ノードデバイスが、対応するクライアントデバイスに関連する転送対象データ情報を対応するメタデータクライアントアクセスデバイスに転送することを保証し、したがって、リージョン間にわたるデータ送信においてメタデータ送信ノードデバイス間の高いスループットレートを保証する。
さらに、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信される。下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求が受信される。対応するメタデータ送信ノードデバイスは、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて更新され、それによって、メタデータ送信ノードデバイスは、グローバル分散合意プロトコルを備えるデバイスに、構成管理について問い合わせる必要がなく、サービスフェールオーバの場合における、頻度の低いリージョン間にわたるメタデータ送信ノードデバイスの構成管理の問題が、効果的に解決される。さらに、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態が取得され、それによって、グローバル分散合意プロトコルを備えるデバイスは、対応するメタデータ送信ノードデバイスを適時に更新して、リージョン間にわたるデータ送信の高いスループットレートを保証する。
さらに、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報が、取得される。対応するメタデータ情報は、データベースデータ情報に基づいて判断され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、対応するメタデータクライアントアクセスデバイスに送信され、それは、データベースデータ情報に対応するメタデータ情報の同期を効果的に保証する。さらに、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報が受信され、転送対象データ情報は、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかが判断され、それは、データベースデータ情報の同期遅延が影響を受けないことを効果的に保証する。
本開示の特徴、目的、及び利点は、以下の添付図面を参照して行われる、例としての実施形態を含む以下の詳細な説明においてより明らかとなるであろう。
本開示の態様による、リージョン間にわたるデータ送信のためのメタデータクライアントアクセスデバイスの概略構造図である。 本開示の態様による、リージョン間にわたるデータ送信のためのメタデータ送信ノードデバイスの概略構造図である。 本開示の態様による、リージョン間にわたるデータ送信のためのグローバル分散合意プロトコルを備えるデバイスの概略構造図である。 本開示の態様による、リージョン間にわたるデータ送信のためのメタデータ送信ノードデバイスの構成の概略構造図である。 本開示の態様による、リージョン間にわたるデータ送信のためのクライアントデバイスの概略構造図である。 本開示の別の態様による、メタデータクライアントアクセスデバイス端末におけるリージョン間にわたるデータ送信方法の概略的フローチャートである。 本開示の別の態様による、メタデータ送信ノードデバイス端末におけるリージョン間にわたるデータ送信方法の概略的フローチャートである。 本開示の別の態様による、グローバル分散合意端末のためのプロトコルを備えるデバイスにおけるリージョン間にわたるデータ送信方法の概略的フローチャートである。 本開示の別の態様による、クライアントデバイス端末におけるリージョン間にわたるデータ送信方法の概略的フローチャートである。 本開示のさらなる態様による、リージョン間にわたるデータ送信のためのシステムデバイス間の全体の対話方法の概略的フローチャートである。 本開示の態様による、例としての実施形態におけるリージョン間にわたるデータ送信の全体の方法の概略的フローチャートである。
添付図面中の同一または類似の参照符号は、同一または類似の構成要素を表す。
本開示は、添付の図面を参照して、以下で詳細にさらに説明される。
図1は、本開示の態様による、リージョン間にわたるデータ送信のためのメタデータクライアントアクセスデバイスの概略構造図である。メタデータクライアントアクセスデバイス100は、1つもしくは複数のプロセッサ(複数可)102、またはデータ処理ユニット(複数可)、及びメモリ104を含む。メタデータクライアントアクセスデバイス100は、1つまたは複数の入力/出力インタフェース(複数可)106、及びネットワークインタフェース(複数可)108をさらに含み得る。メモリ104は、コンピュータ可読媒体の実施例である。
コンピュータ可読媒体は、揮発性及び不揮発性、着脱可能及び着脱不可能媒体を含み、情報を記憶するための任意の方法または技術を使用し得る。情報は、コンピュータ可読命令、データ構造、及びプログラムのモジュールまたはその他のデータであってもよい。コンピュータ記憶媒体の実施例は、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他の種類のRAM、ROM、電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ、もしくはその他のメモリ技術、コンパクトディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、もしくはその他の光記憶装置、カセットテープ、テープディスク記憶装置、もしくはその他の磁気記憶デバイス、または計算デバイスにアクセス可能な情報を記憶するものであり得る、任意のその他の非伝送媒体を含むが、これらに限定されない。本明細書の定義によれば、コンピュータ可読媒体は、一時的コンピュータ可読媒体(一時的媒体)、例えば、変調データ信号及び搬送波を含まない。
メモリ104は、第1の取得ユニット110及びプッシュユニット112を含む複数のモジュールまたはユニットをその中に記憶し得る。
第1の取得ユニット110は、対応するクライアントデバイスによって送信されるメタデータ情報を取得し、メタデータ情報を対応するメタデータ送信ノードデバイスに送信し、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。プッシュユニット112は、対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得し、転送対象データ情報を対応するクライアントデバイスにプッシュし、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。
本明細書において、メタデータクライアントアクセスデバイス100(メタクライアントアクセスレイヤ)は、ネットワークを通して統合されたネットワークデバイスによって形成されるデバイスを含むが、これに限定されない。ネットワークデバイスは、事前設定または事前記憶された命令による数値計算及び情報処理を自動的に実行可能な電子デバイスと、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、組み込みデバイスなどを含むがこれらに限定されないその中のハードウェアと、を含む。ネットワークは、インターネット、広域ネットワーク、メトロポリタンエリアネットワーク、ローカルエリアネットワーク、VPNネットワーク、ワイヤレスアドホックネットワークなどを含むが、これらに限定されない。例えば、メタデータクライアントアクセスデバイス100は、また、ネットワークを通してネットワークデバイスと統合されるユーザ機器によって形成されるデバイス上で動作する、スクリプトプログラムであってもよい。確かに、メタデータクライアントアクセスデバイス100は、単なる実施例であり、他の既存の、または将来可能性のあるメタデータクライアントアクセスデバイス1もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
前述のユニットの動作は、連続的であり、本明細書において、「連続的」という言葉は、前述のユニットが、リアルタイムに、または、セットもしくはリアルタイム調整された動作モードの要件に従って、個別に動作すること意味すると、当業者は理解すべきである。例えば、第1の取得ユニット110は、連続的に、対応するクライアントデバイスによって送信されるメタデータ情報を取得し、メタデータ情報を対応するメタデータ送信ノードデバイスに送信し、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。プッシュユニット112は、連続的に、対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得し、転送対象データ情報を対応するクライアントデバイスにプッシュし、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。これによって、対応するクライアントデバイスによって送信されるメタデータ情報は、対応するメタデータ送信ノードデバイスに効果的に送信される。対応するメタデータ送信ノードデバイスによって送信される、取得された転送対象データ情報は、対応するクライアントデバイスにプッシュされて、メタデータ情報の同期が実現される。
本開示の例としての実施形態では、メタデータクライアントアクセスデバイス100(メタクライアントアクセスレイヤ)は、クライアントデバイスとメタデータ送信ノードデバイスとの間でデータ送信サービスを実行するためのインタフェースデバイスである。
本開示の例としての実施形態では、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、以下の、対応するクライアントデバイスのデバイスID、対応するクライアントデバイスのデータレプリケーション進捗情報、及びデータに対応するソースクライアントデバイスのデバイスIDのうちの少なくとも1つを含む。確かに、メタデータ情報は、単なる実施例であり、他の既存の、または将来可能性のあるメタデータ情報もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
例えば、ソースクライアントデバイスAは、データベースデータ情報を対応するクライアントデバイスBにリージョン間にわたって同期レプリケートする。対応するクライアントデバイスBは、それに対応するメタデータクライアントアクセスデバイスに、メタデータ情報の形式で通知し得る。第1の取得ユニット110によって取得されるメタデータ情報は、対応するクライアントデバイスBのデータレプリケーション進捗情報、同期レプリケートされるデータに対応するソースクライアントデバイスA、及び対応するクライアントデバイスBにおけるその同期レプリケーションを含む。メタデータ情報は、対応するメタデータ送信ノードデバイスに送信される。
本開示の例としての実施形態では、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報、及びその対応する同期レプリケーションのデータタイプ情報を含む。即ち、転送対象データ情報は、別のクライアントデバイスに対応するメタデータ情報、及びその対応する同期レプリケーションのデータタイプ情報を含む。そのとき、転送対象データ情報は、以下の、他のクライアントデバイスのデバイスID、他のクライアントデバイスのデータレプリケーション進捗情報、データに対応するソースクライアントデバイスのデバイスID、及び対応する同期レプリケーションのデータタイプ情報のうちの少なくとも1つを含む。確かに、メタデータ情報は、単なる実施例であり、他の既存の、または将来可能性のあるメタデータ情報もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
例えば、クライアントデバイスC、クライアントデバイスD、クライアントデバイスE、及びクライアントデバイスFは、ソースクライアントデバイスAのデータベースデータ情報をそれぞれリージョン間にわたって同期レプリケートする。転送対象データ情報は、ソースクライアントデバイスA及びそれに対応する別のクライアントデバイスCのデータレプリケーション進捗情報、それに対応する別のクライアントデバイスDのデータレプリケーション進捗情報、対応する別のクライアントデバイスE及び対応する別のクライアントデバイスFのデータレプリケーション進捗情報、ならびに対応する同期レプリケーションのデータタイプ情報を含む。プッシュユニット112に対応するクライアントデバイスが、クライアントデバイスD内に同期レプリケートされる転送対象データ情報の中のデータに関連するデータ情報を取得及び処理する場合、プッシュユニット112は、転送対象データ情報内のクライアントデバイスDのレプリケーション進捗情報を、メタデータクライアントアクセスデバイスの対応するクライアントデバイスにプッシュする。
さらに、第1の取得ユニット110は、メタデータ情報に対して永続性処理を実行し、次いで、永続性確認情報を対応するクライアントデバイスに送信するようにさらに構成される。
本開示における第1の取得ユニット110は、Paxosグループによるがこれに限定されない、メタデータ情報に対する永続性処理を実行し得ることに留意すべきである。本開示の例としての実施形態では、例えば、永続性処理は、Paxosグループによりメタデータ情報に対して実行される。確かに、Paxosグループによりメタデータ情報に対して永続性処理を実行することは、単に本開示の例としての実施形態であり、メタデータ情報に対して永続性処理を実行可能な、他の既存の、または将来可能性のある方式もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
例えば、第1の取得ユニット110は、Paxosグループによりメタデータ情報に対する永続性処理を実行し、メタデータ情報をPaxosリングに書き込んだ後、永続性確認情報を対応するクライアントデバイスに送信して、永続性確認情報の受信時に、メタデータ情報が維持されることをクライアントデバイスに確認させる。
さらに、第1の取得ユニット110は、対応するメタデータ送信ノードデバイスが故障しているときに、第1のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応するメタデータ送信ノードデバイスを取得し、メタデータ情報を更新済みのメタデータ送信ノードデバイスに送信するように構成される。
本開示の例としての実施形態では、第1のノードデバイス構成要求は、対応するメタデータ送信ノードデバイスが故障している場合に、メタデータクライアントアクセスデバイス100内の第1の取得ユニット110によってグローバル分散合意プロトコルを備えるデバイスに送信されて、更新済みの対応するメタデータ送信ノードデバイスを取得し、第1の取得ユニット110は、メタデータ情報を更新済みのメタデータ送信ノードデバイスに送信する。
図2は、本開示の態様による、リージョン間にわたるデータ送信のためのメタデータ送信ノードデバイス200の概略構造図である。メタデータ送信デバイス200は、1つもしくは複数のプロセッサ(複数可)202、またはデータ処理ユニット(複数可)、及びメモリ204を含む。メタデータ送信デバイス200は、1つまたは複数の入力/出力インタフェース(複数可)206、及びネットワークインタフェース(複数可)208をさらに含み得る。メモリ204は、コンピュータ可読媒体の実施例である。
メモリ204は、第1の受信ユニット210、第1の転送ユニット212、及び第2の転送ユニット214を含む複数のモジュールまたはユニットをその中に記憶し得る。
第1の受信ユニット210は、対応するメタデータクライアントアクセスデバイスによって送信される、対応するクライアントデバイスのメタデータ情報を受信し、メタデータ情報を別のメタデータ送信ノードデバイスに送信する。第1の転送ユニット212は、対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報を受信し、転送対象データ情報を処理し、次いで、処理済みの転送対象データ情報を対応する下位メタデータ送信ノードデバイスに送信し、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。第2の転送ユニット214は、対応するクライアントデバイスに関連する転送対象データ情報を、対応するメタデータクライアントアクセスデバイスに転送する。
2つ以上のメタデータ送信ノードデバイスが存在し、それらが、異なるリージョンに分散されることに留意すべきである。全てのメタデータ送信ノードデバイス間の接続構造は、リング構造及びトポロジ構造を含み得るが、これらに限定されない。本開示の例としての実施形態では、リング構造が、全てのメタデータ送信ノードデバイス間の接続構造である。確かに、リング構造は、単に、全てのメタデータ送信ノードデバイス間の接続構造の例としての実施形態であり、他の既存の、または将来可能性のあるメタデータ送信ノードデバイスもまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
メタデータ送信ノードデバイス200は、ノードスイッチ、ワイヤレスネットワークノードデバイス、及びリピータを含んでもよいが、これらに限定されないことに留意すべきである。本開示の例としての実施形態では、例えば、リピータが、メタデータ送信ノードデバイス200である。確かに、リピータは、単に、メタデータ送信ノードデバイス200の例としての実施形態であり、他の既存の、または将来可能性のあるメタデータ送信ノードデバイス200もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
本開示の例としての実施形態では、全てのリピータは、それぞれ多様なリージョンに配備され、リング構造でメタデータ送信チャネル(メタ送信チャネル)を共同して形成する。メタ送信チャネルにおけるメタデータ送信ノードデバイス200内の第1の受信ユニット210は、対応するメタデータクライアントアクセスデバイス100から送信される、多様なリージョンにおいて実行されるデータ同期レプリケーションに関するメタデータ情報を受信し、メタデータ情報を次回送信予定のバッチに追加して、メタデータ情報を別のメタデータ送信ノードデバイスに送信する。
第1の転送ユニット212において、上位メタデータ送信ノードデバイスは、メタデータ送信ノードデバイス200を制御する上位制御デバイスではなく、その代わりに、メタデータ送信チャネル(メタ送信チャネル)において、転送対象データ情報を送信するメタデータ送信ノードデバイスが、上位メタデータ送信ノードデバイスであり、転送対象データ情報を受信するメタデータ送信ノードデバイスが、下位メタデータ送信ノードデバイスであることに留意すべきである。本開示における上位及び下位は、いずれも転送対象データ情報の送信または受信に関係して判断され、それらは、従来技術における制御機能の態様における上位及び下位とは異なる。
本開示の例としての実施形態では、実リージョンにおけるリピータ内の第1の転送ユニット212は、上位リピータによって転送される転送対象データ情報を受信し、転送対象データ情報をバッチし、転送対象データ情報をバッチ形式で実リージョン間の下位リピータに送信する。
本開示の例としての実施形態では、実リージョンにおけるリピータ内の第2の転送ユニット214は、実リージョンのサービスによりリピータ内で構成される情報に従って、実リージョン内のリピータに対応するメタデータクライアントアクセスデバイス100が、転送対象データ情報を必要とするかどうかを判定する。例えば、転送対象データ情報が、クライアントデバイスA及び対応する別のクライアントデバイスCのデータレプリケーション進捗情報、対応する別のクライアントデバイスDのデータレプリケーション進捗情報、対応する別のクライアントデバイスE及び対応する別のクライアントデバイスFのデータレプリケーション進捗情報、ならびに対応する同期レプリケーションのデータタイプ情報であり、実リージョンにおけるリピータに対応するメタデータクライアントアクセスデバイス100が、リージョン間にわたって同期レプリケートされるソースクライアントデバイスAのデータベースデータ情報を記録する場合に、実リージョンにおけるリピータ内の第2の転送ユニット214が、転送対象データ情報を対応するメタデータクライアントデバイス100に転送する。
さらに、第1の転送ユニット212は、対応する下位メタデータ送信ノードデバイスが故障しているときに、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得し、転送対象データ情報を更新済みの対応する下位メタデータ送信ノードデバイスに送信するようにさらに構成される。
グローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)は、グローバル分散合意プロトコル(Paxosなど)を備えるデバイスを含み得るが、これに限定されないことに留意すべきである。グローバル分散合意プロトコル(Paxosなど)は、複数機械間の同期自動機械変換を実行するための標準Paxosであり、したがって、少数の機械が故障している場合に、データベースデータ情報が、別の機械上で回復され得ることを保証する。確かに、他の既存の、または将来可能性のあるグローバル分散合意プロトコルを備えるデバイスもまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
本開示の例としての実施形態では、全てのメタデータ送信ノードデバイスが、互いにリング構造で接続されているとき、対応する下位メタデータ送信ノードデバイスが故障している場合に、カレントメタデータ送信ノードデバイスは、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)に送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得し、転送対象データ情報を更新済みの対応する下位メタデータ送信ノードデバイスに送信する。
例えば、リング構造を有するメタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイスは、それぞれ、メタデータ送信ノードデバイス1、メタデータ送信ノードデバイス200、メタデータ送信ノードデバイス3、メタデータ送信ノードデバイス4、及びメタデータ送信ノードデバイス5である。カレントメタデータ送信ノードデバイスがメタデータ送信ノードデバイス3である場合に、そのうちの対応する下位メタデータ送信ノードデバイスがメタデータ送信ノードデバイス4であり、メタデータ送信ノードデバイス4が故障しているとき、カレントメタデータ送信ノードデバイス3は、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)に送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得し、転送対象データ情報を更新済みの対応する下位メタデータ送信ノードデバイスに送信する。
さらに、メタデータ送信ノードデバイスは、カレントノード状態をグローバル分散合意プロトコルを備えるデバイスに周期的に送信するようにさらに構成される。
本開示の例としての実施形態では、リング構造を有するメタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイスは、カレントノード状態をグローバル分散合意プロトコルを備えるデバイス(グローバスPaxosデバイス)に周期的に送信して、グローバル分散合意プロトコルを備えるデバイスが、更新済みの対応するメタデータ送信ノードデバイスをメタ送信チャネル内の各メタデータ送信ノードデバイスに適時に送信することを可能にし得る。これによって、カレントノード状態が正常であるメタデータ送信ノードデバイスは、グローバル分散合意プロトコルを備えるデバイスに、正常な下位メタデータ送信ノードデバイスについて能動的に問い合わせる必要がない。
本開示の別の例としての実施形態では、メタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイス間の接続構造は、また、メタデータ送信ノードデバイス間にデータ分散を実施することが可能なトポロジ構造であってもよい。例えば、マルチキャストツリーが、全てのメタデータ送信ノードデバイスに通知するためにメタデータ送信ノードデバイスのそれぞれの上に構築され、メタデータ送信ノードデバイスのそれぞれのブロードキャスト方式は、ダイレクトポイントツーポイントブロードキャストであってもよく、また、非同期ランダムアルゴリズム(ゴシップ)、ランダムウォークの法則などに基づく最適化後のブロードキャスト技術的解決策であってもよい。リピータ局のレイヤは、ブロードキャストを行うためにメタデータ送信ノードデバイス間で確立される。
本開示の別の態様によれば、システムが、メタデータクライアントアクセスデバイスと、メタデータ送信ノードデバイスと、クライアントデバイスと、を含む、リージョン間にわたるデータ送信システムが提供される。
メタデータクライアントアクセスデバイスは、1つもしくは複数のプロセッサ(複数可)、またはデータ処理ユニット(複数可)、及びメモリ、1つまたは複数の入力/出力インタフェース(複数可)、及びネットワークインタフェース(複数可)を含む。メモリは、コンピュータ可読媒体の実施例である。メモリは、対応するクライアントデバイスによって送信されるメタデータ情報を取得し、メタデータ情報を対応するメタデータ送信ノードデバイスに送信するように構成される、第1の取得ユニットであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、第1の取得ユニットと、対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得し、転送対象データ情報を対応するクライアントデバイスにプッシュするように構成されるプッシュユニットであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、プッシュユニットと、を含む複数のモジュールまたはユニットをその中に記憶し得る。
メタデータ送信ノードデバイスは、1つもしくは複数のプロセッサ(複数可)、またはデータ処理ユニット(複数可)、及びメモリ、1つまたは複数の入力/出力インタフェース(複数可)、及びネットワークインタフェース(複数可)を含む。メモリは、コンピュータ可読媒体の実施例である。メモリは、対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報を受信し、メタデータ情報を別のメタデータ送信ノードデバイスに送信するように構成される、第1の受信ユニットであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、第1の受信ユニットと、対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報を受信し、転送対象データ情報を処理し、次いで、処理済みの転送対象データ情報を対応する下位メタデータ送信ノードデバイスに送信するように構成される、第1の転送ユニットであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、第1の転送ユニットと、対応するクライアントデバイスに関連する転送対象データ情報を、対応するメタデータクライアントアクセスデバイスに転送するように構成される、第2の転送ユニット214と、を含む複数のモジュールまたはユニットをその中に記憶し得る。
クライアントデバイスは、1つもしくは複数のプロセッサ(複数可)、またはデータ処理ユニット(複数可)、及びメモリ、1つまたは複数の入力/出力インタフェース(複数可)、及びネットワークインタフェース(複数可)を含む。メモリは、コンピュータ可読媒体の実施例である。メモリは、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得するように構成される、第3の取得ユニットと、データベースデータ情報に基づいて対応するメタデータ情報を判断し、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報を対応するメタデータクライアントアクセスデバイスに送信するように構成される、送信ユニットと、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報を受信し、転送対象データ情報が、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断するように構成される、判断ユニットと、を含む複数のモジュールまたはユニットをその中に記憶し得る。
例えば、システムは、図3に示すように、グローバル分散合意プロトコルを備えるデバイス300をさらに含んでもよく、グローバル分散合意プロトコルを備えるデバイス300は、1つもしくは複数のプロセッサ(複数可)302、またはデータ処理ユニット(複数可)、及びメモリ304を含む。グローバル分散合意プロトコルを備えるデバイス300は、1つまたは複数の入力/出力インタフェース(複数可)306、及びネットワークインタフェース(複数可)308をさらに含み得る。メモリ304は、コンピュータ可読媒体の実施例である。
メモリ304は、第2の受信ユニット310、第3の受信ユニット312、更新ユニット314、及び第2の取得ユニット316を含む複数のモジュールまたはユニットをその中に記憶し得る。
第2の受信ユニット310は、対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求を受信する。第3の受信ユニット312は、その中の下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求を受信する。更新ユニット314は、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスを更新する。第2の取得ユニット316は、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態を取得する。本開示の例としての実施形態では、グローバル分散合意プロトコルを備えるデバイス3(グローバルPaxosデバイスなど)における第2の受信ユニット310は、メタデータ送信ノードデバイス200の故障に基づいてメタデータクライアントアクセスデバイス100によって送信される第1のノードデバイス構成要求を受信する。例えば、メタデータクライアントアクセスデバイス100に対応するメタデータ送信ノードデバイス200が故障しているとき、第2の受信ユニット310は、それに対応するメタデータ送信ノードデバイス200が故障しているときにメタデータクライアントアクセスデバイス100によって送信される第1のノードデバイス構成要求を受信する。グローバル分散合意プロトコルを備えるデバイス300における第3の受信ユニット312は、そのうちの下位メタデータ送信ノードデバイスの故障に基づいてメタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求を受信する。例えば、メタデータ送信チャネル(メタ送信チャネル)内のカレントメタデータ送信ノードデバイス200に対応する下位メタデータ送信ノードデバイスが故障しているとき、第3の受信ユニット312は、カレントメタデータ送信ノードデバイス200によって送信される第2のノードデバイス構成要求を受信する。グローバル分散合意プロトコルを備えるデバイス300における更新ユニット314は、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスを更新する。例えば、更新ユニット314は、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、メタデータ送信チャネル(メタ送信チャネル)内の対応するメタデータ送信ノードデバイス200を更新する。グローバル分散合意プロトコルを備えるデバイス3における第2の取得ユニット316は、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態を取得する。例えば、グローバル分散合意プロトコルを備えるデバイス3における第2の取得ユニット316は、メタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイス2によって送信されるカレントノード状態を周期的に取得して、グローバル分散合意プロトコルを備えるデバイス300が、更新済みの対応するメタデータ送信ノードデバイスをメタ送信チャネル内の各メタデータ送信ノードデバイスに適時に送信することを可能にし得る。これによって、カレントノード状態が正常であるメタデータ送信ノードデバイスは、グローバル分散合意プロトコルを備えるデバイスに、正常な下位メタデータ送信ノードデバイスについて能動的に問い合わせる必要がない。
本開示の例としての実施形態では、システムにおける第1の取得ユニット110は、対応するメタデータ送信ノードデバイスが故障しているときに、第1のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応するメタデータ送信ノードデバイスを取得し、メタデータ情報を更新済みのメタデータ送信ノードデバイスに送信するようにさらに構成される。第1の転送ユニット212は、対応する下位メタデータ送信ノードデバイスが故障しているときに、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得するようにさらに構成される。メタデータ送信ノードデバイス200は、カレントノード状態をグローバル分散合意プロトコルを備えるデバイスに周期的に送信するようにさらに構成される。
図4は、本開示の態様による、リージョン間にわたるデータ送信のためのメタデータ送信ノードデバイスの構成の概略構造図である。本開示の例示的な実施形態では、リング構造を有するメタデータ送信チャネル(メタ送信チャネル)内の全てのリピータ(即ち、メタデータ送信ノードデバイス)が、それぞれリピータ402、リピータ404、リピータ406、リピータ408、及びリピータ410である場合に、メタデータクライアントアクセスデバイス(メタクライアントアクセスレイヤ)100に対応するリピータ402が故障しているとき、メタデータクライアントアクセスデバイス100は、第1のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイス300(グローバルPaxosデバイスなど)に送信する。グローバル分散合意プロトコルを備えるデバイス300における更新ユニット314は、第1のノードデバイス構成要求に基づいて、故障状態に対応するリピータ402をメタ送信チャネルから削除し、カレントノード状態が正常状態であるリピータを追加し、メタ送信チャネル内の対応するリピータを適時に更新し、これによって、カレントリピータは、グローバル分散合意プロトコルを備えるデバイス300に下位リピータについて問い合わせする必要がなく、及び/または、リピータ406が、転送対象データ情報を転送するときに、リピータ406の下位リピータ408が故障している場合、リピータ406は、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイス300に送信する。グローバル分散合意プロトコルを備えるデバイス300における更新ユニット314は、第2のノードデバイス構成要求に基づいて、故障状態に対応するリピータ408をメタ送信チャネルから削除し、カレントノード状態が正常状態である別のリピータを追加し、メタ送信チャネル内の対応するリピータを適時に更新し、これによって、カレントリピータは、グローバル分散合意プロトコルを備えるデバイスに下位リピータについて問い合わせする必要がない。
図5は、本開示の態様による、リージョン間にわたるデータ送信のためのクライアントデバイス500の概略構造図である。クライアントデバイス500は、1つもしくは複数のプロセッサ(複数可)502、またはデータ処理ユニット(複数可)、及びメモリ504を含む。クライアントデバイス500は、1つまたは複数の入力/出力インタフェース(複数可)506、及びネットワークインタフェース(複数可)508をさらに含み得る。メモリ504は、コンピュータ可読媒体の実施例である。
メモリ504は、第3の取得ユニット510、送信ユニット512、及び判断ユニット514を含む複数のモジュールまたはユニットをその中に記憶し得る。
第3の取得ユニット510は、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得する。送信ユニット512は、データベースデータ情報に基づいて対応するメタデータ情報を判断し、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報を対応するメタデータクライアントアクセスデバイスに送信する。判断ユニット514は、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報を受信し、転送対象データ情報は、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断する。
クライアントデバイス500は、クライアント端末ライブラリ、またはネットワークを通して統合されたネットワークデバイスによって形成されるデバイスを含み得るが、これらに限定されないことに留意すべきである。ネットワークデバイスは、事前設定または事前記憶された命令による数値計算及び情報処理を自動的に実行可能な電子デバイスと、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、組み込みデバイスなどを含むがこれらに限定されないその中のハードウェアと、を含む。ネットワークは、インターネット、広域ネットワーク、メトロポリタンエリアネットワーク、ローカルエリアネットワーク、VPNネットワーク、ワイヤレスアドホックネットワークなどを含むが、これらに限定されない。例えば、クライアント端末ライブラリは、また、ネットワークを通してネットワークデバイスと統合されるユーザ機器によって形成されるデバイス上で動作する、スクリプトプログラムであってもよく、任意の言語で実装されてもよい。確かに、クライアントデバイス500は、単なる実施例であり、他の既存の、または将来可能性のあるクライアントデバイス4もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
本開示の例としての実施形態では、クライアントデバイス500(クライアント端末ライブラリA)内の第3の取得ユニット510は、別のクライアント端末ライブラリBによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得し、クライアント端末ライブラリA内の送信ユニット512は、データベースデータ情報に基づいて対応するメタデータ情報を判断し、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。即ち、クライアント端末ライブラリAとクライアント端末ライブラリBとの間で送信される必要があるデータベースデータ情報は、10分であり、クライアント端末ライブラリAによって取得されるクライアント端末ライブラリB内のデータベースデータ情報は、6分である。したがって、対応するメタデータ情報は、データベースデータ情報に基づいて判断され、メタデータ情報は、クライアント端末ライブラリBのデータレプリケーション進捗情報(即ち、6分/10分=60%)であり、クライアント端末ライブラリA内の送信ユニット512は、メタデータ情報を対応するメタデータクライアントアクセスデバイス100に送信する。
本開示の上記の例としての実施形態では、クライアントデバイス500内の判断ユニット514は、対応するメタデータクライアントアクセスデバイス100(メタクライアントアクセスレイヤ)によってプッシュされる転送対象データ情報を受信し、転送対象データ情報は、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含む。例えば、別の対応するクライアントデバイスCは、ソースクライアントデバイスAのデータベースデータ情報をリージョン間にわたって同期レプリケートし、リージョン間にわたって同期レプリケートされる必要があるソースクライアントデバイスAのデータベースデータ情報は、15分であり、別の対応するクライアントデバイスCによってリージョン間にわたって同期レプリケートされるソースクライアントデバイスAのデータベースデータ情報は、10分である。判断ユニット514によって受信される転送対象データ情報は、ソースクライアントデバイスA、及びそれに対応する別の対応するクライアントデバイスCのデータレプリケーション進捗情報を含み、それは、10分である。クライアントデバイス500内の判断ユニット514は、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断する。
さらに、判断ユニット514は、転送対象データ情報に基づいて、提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標を判断し、回復ポイント目標インデックスを取得し、リアルタイム回復ポイント目標及び回復ポイント目標インデックスに基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断するように構成される。
回復ポイント目標(RPO)は、コンピュータ、システム、またはネットワークが、ハードウェア、プログラム、または通信の故障に起因して機能しないときに、システムの正常動作を保証するためにバックアップ記憶から回復されなければならないファイルの年代を指すことに留意すべきである。回復ポイント目標は、故障の始まりから後方へ(即ち、過去へ)示され、それは、秒、分、時間、または日で示され得る。
本開示の上記の例としての実施形態では、判断ユニット514は、転送対象データ情報に基づいて、即ち、ソースクライアントデバイスA及びそれに対応する別の対応するクライアントデバイスCのデータレプリケーション進捗情報は10分であり、リージョン間にわたって同期レプリケートされる必要があるソースクライアントデバイスAのデータベースデータ情報は、15分であることに基づいて、提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標(RPO)が、15分−10分=5分であると判断し、回復ポイント目標インデックスを取得し、リアルタイム回復ポイント目標及び回復ポイント目標インデックスに基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断する。
さらに、判断ユニット514は、回復ポイント目標インデックスが、リアルタイム回復ポイント目標より高いか、もしくは等しい場合に、提出対象データベースデータ情報を提出し続けるように構成され、または回復ポイント目標インデックスが、リアルタイム回復ポイント目標より低い場合に、回復ポイント目標インデックスより高い、対応する提出対象データベースデータ情報の提出を止めるように構成される。
本開示の上記の例としての実施形態では、取得される回復ポイント目標(RPO)インデックスが6分である場合、6分である回復ポイント目標インデックスは、5分である提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標よりも高く、判断ユニット514は、提出対象データベースデータ情報を提出し続ける。取得された回復ポイント目標インデックスが3分である場合、3分である回復ポイント目標インデックスは、5分である提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標よりも低い。即ち、リアルタイム回復ポイント目標によれば、提出予定の5分のデータベースデータ情報が依然として存在するが、回復ポイント目標(RPO)インデックスは3分であることが分かる。5分であるリアルタイム回復ポイント目標に対応するデータベースデータ情報は、完全には提出されることができず、3分である回復ポイント目標(RPO)インデックスより高い対応する提出対象データベースデータ情報の提出が、回復ポイント目標(RPO)インデックスを保証するために停止される。
図6は、本開示の別の態様による、メタデータクライアントアクセスデバイス端末におけるリージョン間にわたるデータ送信方法の概略的フローチャートである。方法は、ステップS602、及びステップS604を含む。
ステップS602において、対応するクライアントデバイスによって送信されるメタデータ情報が取得され、メタデータ情報は、対応するメタデータ送信ノードデバイスに送信され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。ステップS604において、対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報が取得され、転送対象データ情報が、対応するクライアントデバイスにプッシュされ、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む。
本開示の例としての実施形態では、メタデータクライアントアクセスデバイス(メタクライアントアクセスレイヤ)は、クライアントデバイスとメタデータ送信ノードデバイスとの間でデータ送信サービスを実行するためのインタフェースデバイスである。
本開示の例としての実施形態では、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、以下の、対応するクライアントデバイスのデバイスID、対応するクライアントデバイスのデータレプリケーション進捗情報、及びデータに対応するソースクライアントデバイスのデバイスIDのうちの少なくとも1つを含む。確かに、メタデータ情報は、単なる実施例であり、他の既存の、または将来可能性のあるメタデータ情報もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
例えば、ソースクライアントデバイスAは、データベースデータ情報を対応するクライアントデバイスBにリージョン間にわたって同期レプリケートする。対応するクライアントデバイスBは、それに対応するメタデータクライアントアクセスデバイスに、メタデータ情報の形式で通知し得る。ステップS602において取得されるメタデータ情報は、対応するクライアントデバイスBのデータレプリケーション進捗情報、同期レプリケートされるデータに対応するソースクライアントデバイスA、及び対応するクライアントデバイスBにおけるその同期レプリケーションを含む。メタデータ情報は、対応するメタデータ送信ノードデバイスに送信される。
本開示の例としての実施形態では、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報、及びその対応する同期レプリケーションのデータタイプ情報を含む。即ち、転送対象データ情報は、他のクライアントデバイスに対応するメタデータ情報、及びその対応する同期レプリケーションのデータタイプ情報を含む。次いで、転送対象データ情報は、以下の、他のクライアントデバイスのデバイスID、別のクライアントデバイスのデータレプリケーション進捗情報、データに対応するソースクライアントデバイスのデバイスID、及び対応する同期レプリケーションのデータタイプ情報のうちの少なくとも1つを含む。確かに、メタデータ情報は、単なる実施例であり、他の既存の、または将来可能性のあるメタデータ情報もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
例えば、クライアントデバイスC、クライアントデバイスD、クライアントデバイスE、及びクライアントデバイスFは、それぞれ、ソースクライアントデバイスAのデータベースデータ情報をリージョン間にわたって同期レプリケートする。転送対象データ情報は、ソースクライアントデバイスA及びそれに対応する別のクライアントデバイスCのデータレプリケーション進捗情報、それに対応する別のクライアントデバイスDのデータレプリケーション進捗情報、対応する別のクライアントデバイスE及び対応する別のクライアントデバイスFのデータレプリケーション進捗情報、ならびに対応する同期レプリケーションのデータタイプ情報を含む。ステップS604に対応するクライアントデバイスが、クライアントデバイスD内に同期レプリケートされる転送対象データ情報の中のデータに関連するデータ情報を取得及び処理する場合、ステップS604において、転送対象データ情報内のクライアントデバイスDのレプリケーション進捗情報が、メタデータクライアントアクセスデバイスの対応するクライアントデバイスにプッシュされる。
さらに、ステップS602は、メタデータ情報に対して永続性処理を実行することと、次いで、永続性確認情報を対応するクライアントデバイスに送信することと、をさらに含む。
本開示のステップS602において、永続性処理は、Paxosグループによるがこれに限定されず、メタデータ情報に対して実行され得ることに留意すべきである。本開示の例としての実施形態では、永続性処理は、Paxosグループによりメタデータ情報に対して実行される。確かに、Paxosグループによりメタデータ情報に対して永続性処理を実行することは、単なる本開示の例としての実施形態であり、メタデータ情報に対して永続性処理を実行可能な、他の既存の、または将来可能性のある方式もまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
例えば、ステップS602において、永続性処理が、Paxosグループによりメタデータ情報に対して実行され、メタデータ情報がPaxosリングに書き込まれた後、永続性確認情報が、対応するクライアントデバイスに送信されて、永続性確認情報の受信時に、メタデータ情報が維持されることをクライアントデバイスに確認させる。
さらに、ステップS602は、対応するメタデータ送信ノードデバイスが故障しているときに、第1のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応するメタデータ送信ノードデバイスを取得することと、メタデータ情報を更新済みメタデータ送信ノードデバイスに送信することと、を含む。
本開示の例としての実施形態では、第1のノードデバイス構成要求は、対応するメタデータ送信ノードデバイスが故障している場合に、ステップS602を通してグローバル分散合意プロトコルを備えるデバイスに送信されて、更新済みの対応するメタデータ送信ノードデバイスが取得され、ステップS602において、メタデータ情報が、更新済みのメタデータ送信ノードデバイスに送信される。
図7は、本開示の別の態様による、メタデータ送信ノードデバイス端末におけるリージョン間にわたるデータ送信方法の概略的フローチャートである。方法は、ステップS702、ステップS704、及びステップS706を含む。
ステップS702において、対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報が受信され、メタデータ情報は、別のメタデータ送信ノードデバイスに送信され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。ステップS704において、対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報が受信され、転送対象データ情報は、処理され、次いで、対応する下位メタデータ送信ノードデバイスに送信され、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。ステップS706において、対応するクライアントデバイスに関連する転送対象データ情報が、対応するメタデータクライアントアクセスデバイスに転送される。
2つ以上のメタデータ送信ノードデバイスが存在し、それらが、異なるリージョンに分散されることに留意すべきである。全てのメタデータ送信ノードデバイス間の接続構造は、リング構造及びトポロジ構造を含み得るが、これらに限定されない。本開示の例としての実施形態では、リング構造が、全てのメタデータ送信ノードデバイス間の接続構造である。確かに、リング構造は、単に、全てのメタデータ送信ノードデバイス間の接続構造の例としての実施形態であり、他の既存の、または将来可能性のあるメタデータ送信ノードデバイスもまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
メタデータ送信ノードデバイスは、ノードスイッチ、ワイヤレスネットワークノードデバイス、及びリピータを含んでもよいが、これらに限定されないことに留意すべきである。本開示の例としての実施形態では、リピータが、メタデータ送信ノードデバイスである。確かに、リピータは、単に、メタデータ送信ノードデバイスの例としての実施形態であり、他の既存の、または将来可能性のあるメタデータ送信ノードデバイスもまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
本開示の例としての実施形態では、全てのリピータは、それぞれ多様なリージョンに配備され、リング構造でメタデータ送信チャネル(メタ送信チャネル)を共同して形成する。メタ送信チャネルでは、ステップS702において、対応するメタデータクライアントアクセスデバイスから送信される、多様なリージョンにおいて実行されるデータ同期レプリケーションに関するメタデータ情報が受信され、メタデータ情報が、次回送信予定のバッチに追加されて、メタデータ情報を別のメタデータ送信ノードデバイスに送信する。
ステップS704において、上位メタデータ送信ノードデバイスは、メタデータ送信ノードデバイスを制御する上位制御デバイスではなく、その代わりに、メタデータ送信チャネル(メタ送信チャネル)において、転送対象データ情報を送信するメタデータ送信ノードデバイスが、上位メタデータ送信ノードデバイスであり、転送対象データ情報を受信するメタデータ送信ノードデバイスが、下位メタデータ送信ノードデバイスであることに留意すべきである。本開示における上位及び下位は、いずれも転送対象データ情報の送信または受信に関係して判断され、それらは、従来技術における制御機能の態様における上位及び下位とは異なる。
本開示の例としての実施形態では、ステップS704において、上位リピータによって転送される転送対象データ情報が受信され、転送対象データ情報がバッチされ、転送対象データ情報が、バッチ形式で実リージョン間の下位リピータに送信される。
本開示の例としての実施形態では、ステップS706において、実リージョンにおけるリピータに対応するメタデータクライアントアクセスデバイスが、転送対象データ情報を必要とするかどうかが、実リージョンのサービスによりリピータにおいて構成される情報に従って判定される。例えば、転送対象データ情報が、クライアントデバイスA及び対応する別のクライアントデバイスCのデータレプリケーション進捗情報、対応する別のクライアントデバイスDのデータレプリケーション進捗情報、対応する別のクライアントデバイスE及び対応する別のクライアントデバイスFのデータレプリケーション進捗情報、ならびに対応する同期レプリケーションのデータタイプ情報であり、実リージョンにおけるリピータに対応するメタデータクライアントアクセスデバイスが、リージョン間にわたって同期レプリケートされるソースクライアントデバイスAのデータベースデータ情報を記録する場合に、ステップS706において、転送対象データ情報が、対応するメタデータクライアントデバイスに転送される。
さらに、ステップS704は、対応する下位メタデータ送信ノードデバイスが故障しているときに、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得することと、転送対象データ情報を更新済みの対応する下位メタデータ送信ノードデバイスに送信することと、をさらに含む。
グローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)は、Paxosを含むグローバル分散合意プロトコルを備えるデバイスを含み得るが、これに限定されないことに留意すべきである。例えば、グローバル分散合意プロトコルは、標準分散的であり、複数機械間の同期自動機械変換を実行するために使用され、したがって、少数の機械が故障している場合に、データベースデータ情報が、別の機械上で回復され得ることを保証する。確かに、他の既存の、または将来可能性のあるグローバル分散合意プロトコルを備えるデバイスもまた、本開示に適用可能であれば、本開示の保護範囲に含まれ、参照によって本明細書に組み込まれるべきであると、当業者は理解すべきである。
本開示の例としての実施形態では、全てのメタデータ送信ノードデバイスが、互いにリング構造で接続されているときに、対応する下位メタデータ送信ノードデバイスが故障している場合に、第2のノードデバイス構成要求が、ステップS704を通してグローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)に送信されて、更新済みの対応する下位メタデータ送信ノードデバイスが取得され、転送対象データ情報が、更新済みの対応する下位メタデータ送信ノードデバイスに送信される。
例えば、リング構造を有するメタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイスは、それぞれ、第1のメタデータ送信ノードデバイス、第2のメタデータ送信ノードデバイス、第3のメタデータ送信ノードデバイス、第4のメタデータ送信ノードデバイス、及び第5のメタデータ送信ノードデバイスである。カレントメタデータ送信ノードデバイスが第3のメタデータ送信ノードデバイスである場合に、そのうちの対応する下位メタデータ送信ノードデバイスが第4のメタデータ送信ノードデバイスであり、第4のメタデータ送信ノードデバイスが故障しているとき、ステップS704において、カレントメタデータ送信ノードデバイスは、第2のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)に送信して、更新済みの対応する下位メタデータ送信ノードデバイスを取得し、転送対象データ情報を更新済みの対応する下位メタデータ送信ノードデバイスに送信する。
さらに、方法は、別のステップ(図7には図示せず)、カレントノード状態をグローバル分散合意プロトコルを備えるデバイスに周期的に送信することをさらに含む。
本開示の例としての実施形態では、別のステップが、リング構造を有するメタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイスによって、カレントノード状態をグローバル分散合意プロトコルを備えるデバイス(グローバルPaxosデバイスなど)に周期的に送信して、グローバル分散合意プロトコルを備えるデバイスが、更新済みの対応するメタデータ送信ノードデバイスをメタデータ送信チャネル内の各メタデータ送信ノードデバイスに適時に送信することを可能にすることを含む。これによって、カレントノード状態が正常であるメタデータ送信ノードデバイスは、グローバル分散合意プロトコルを備えるデバイスに、正常な下位メタデータ送信ノードデバイスについて能動的に問い合わせる必要がない。
図8は、本開示の別の態様による、グローバル分散合意端末のためのプロトコルを備えるデバイスにおけるリージョン間にわたるデータ送信方法の概略的フローチャートである。方法は、ステップS802、ステップS804、ステップS806、及びステップS808を含む。
ステップS802において、対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信される。ステップS804において、その中の下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求が受信される。ステップS806において、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスが、更新される。ステップS808において、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態が、取得される。
本開示の例としての実施形態では、ステップS802において、対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信される。例えば、メタデータクライアントアクセスデバイスに対応するメタデータ送信ノードデバイスが故障しているとき、ステップS802において、それに対応するメタデータ送信ノードデバイスが故障しているときにメタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信される。ステップS804において、その中の下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求が受信される。例えば、メタデータ送信チャネル(メタ送信チャネル)内のカレントメタデータ送信ノードデバイスに対応する下位メタデータ送信ノードデバイスが故障しているとき、ステップS804において、カレントメタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求が受信される。ステップS806において、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイスが、更新される。例えば、ステップS806において、メタデータ送信チャネル(メタ送信チャネル)内の対応するメタデータ送信ノードデバイスが、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて更新される。ステップS808において、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態が、取得される。例えば、ステップS808において、メタデータ送信チャネル(メタ送信チャネル)内の全てのメタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態が取得されて、グローバル分散合意プロトコルを備えるデバイスが、更新済みの対応するメタデータ送信ノードデバイスをメタ送信チャネル内の各メタデータ送信ノードデバイスに適時に送信することを可能にし得る。これによって、カレントノード状態が正常であるメタデータ送信ノードデバイスは、グローバル分散合意プロトコルを備えるデバイスに、正常な下位メタデータ送信ノードデバイスについて能動的に問い合わせる必要がない。
図9は、本開示の別の態様による、クライアントデバイス端末におけるリージョン間にわたるデータ送信方法の概略的フローチャートである。方法は、ステップS902、ステップS904、及びステップS906を含む。
ステップS902において、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報が、取得される。ステップS904において、対応するメタデータ情報が、データベースデータ情報に基づいて判断され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、対応するメタデータクライアントアクセスデバイスに送信される。ステップS906において、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報が受信され、転送対象データ情報は、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、対応するデータベースデータ情報を提出し続けるかどうかが、転送対象データ情報に基づいて判断される。
本開示の例としての実施形態では、ステップS902において、別のクライアント端末ライブラリBによってデータ送信チャネルを通して送信されるデータベースデータ情報が取得される。ステップS904において、対応するメタデータ情報が、データベースデータ情報に基づいて判断され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。例えば、クライアント端末ライブラリAとクライアント端末ライブラリBとの間で送信される必要があるデータベースデータ情報は、10分であり、クライアント端末ライブラリAによって取得される、クライアント端末ライブラリBにおけるデータベースデータ情報は6分である。したがって、対応するメタデータ情報は、データベースデータ情報に基づいて判断され、メタデータ情報は、クライアント端末ライブラリBのデータレプリケーション進捗情報(即ち、6分/10分=60%)である。ステップS904において、メタデータ情報は、対応するメタデータクライアントアクセスデバイスに送信される。
本開示の上記の例としての実施形態では、ステップS906において、対応するメタデータクライアントアクセスデバイス(メタクライアントアクセスレイヤ)によってプッシュされる転送対象データ情報が受信され、転送対象データ情報は、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含む。例えば、別の対応するクライアントデバイスCは、ソースクライアントデバイスAのデータベースデータ情報をリージョン間にわたって同期レプリケートし、リージョン間にわたって同期レプリケートされる必要があるソースクライアントデバイスAのデータベースデータ情報は、15分であり、別の対応するクライアントデバイスCによってリージョン間にわたって同期レプリケートされるソースクライアントデバイスAのデータベースデータ情報は、10分である。ステップS906において受信される転送対象データ情報は、ソースクライアントデバイスA、及びそれに対応する別の対応するクライアントデバイスCのデータレプリケーション進捗情報を含み、それは、10分である。ステップS906において、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかが判断される。
さらに、ステップS906は、転送対象データ情報に基づいて、提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標を判断することと、回復ポイント目標インデックスを取得することと、リアルタイム回復ポイント目標及び回復ポイント目標インデックスに基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断することと、を含む。
回復ポイント目標(RPO)は、コンピュータ、システム、またはネットワークが、ハードウェア、プログラム、または通信の故障に起因して機能しないときに、システムの正常動作を保証するためにバックアップ記憶から回復されなければならないファイルの年代を指すことに留意すべきである。回復ポイント目標は、故障の始まりから後方へ(即ち、過去へ)示され、それは、秒、分、時間、または日で示され得る。
本開示の上記の例としての実施形態では、ステップS906において、転送対象データ情報に基づいて、即ち、ソースクライアントデバイスA及びそれに対応する別の対応するクライアントデバイスCのデータレプリケーション進捗情報が10分であり、リージョン間にわたって同期レプリケートされる必要があるソースクライアントデバイスAのデータベースデータ情報が15分であることに基づいて、提出対象データベースデータ情報に対応するリアルタイムRPOは、15分−10分=5分である。ステップS906において、回復ポイント目標インデックスが取得され、リアルタイム回復ポイント目標及び回復ポイント目標インデックスに基づいて、対応するデータベースデータ情報を提出し続けるかどうかが判断される。
さらに、ステップS906は、回復ポイント目標インデックスが、リアルタイム回復ポイント目標より高いか、もしくは等しい場合に、提出対象データベースデータ情報を提出し続けること、または回復ポイント目標インデックスが、リアルタイム回復ポイント目標より低い場合に、回復ポイント目標インデックスより高い、対応する提出対象データベースデータ情報の提出を止めることを含む。
本開示の上記の例としての実施形態では、取得される回復ポイント目標(RPO)インデックスが6分である場合、6分である回復ポイント目標インデックスは、5分である提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標よりも高く、ステップS906において提出対象データベースデータ情報は提出され続ける。取得された回復ポイント目標インデックスが3分である場合、3分である回復ポイント目標インデックスは、5分である提出対象データベースデータ情報に対応するリアルタイム回復ポイント目標よりも低い。即ち、リアルタイム回復ポイント目標によれば、提出予定の5分のデータベースデータ情報が依然として存在するが、回復ポイント目標(RPO)インデックスは3分であり、5分であるリアルタイム回復ポイント目標に対応するデータベースデータ情報は、完全には提出されることができず、ステップS906において、3分である回復ポイント目標(RPO)インデックスより高い、対応する提出対象データベースデータ情報の提出が、回復ポイント目標(RPO)インデックスを保証するために停止されることが分かる。
図10は、本開示のさらなる態様による、リージョン間にわたるデータ送信のためのシステムデバイス間の全体の対話方法の概略的フローチャートである。方法は、ステップS1002、ステップS1004、ステップS1006、ステップS1008、ステップS1010、ステップS1012、ステップS1014、ステップS1016、ステップS1018、ステップS1020、ステップS1022、ステップS1024、ステップS1026、及びステップS1028を含む。ステップS1002において、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報が、取得される。ステップS1004において、対応するメタデータ情報は、データベースデータ情報に基づいて判断され、対応するメタデータクライアントアクセスデバイスに送信される。ステップS1006において、対応するクライアントデバイスによって送信されるメタデータ情報が取得され、メタデータ情報が、対応するメタデータ送信ノードデバイスに送信される。ステップS1008において、対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報が受信され、メタデータ情報が、別のメタデータ送信ノードデバイスに送信される。ステップS1010において、対応するクライアントデバイスに関連する転送対象データ情報が、対応するメタデータクライアントアクセスデバイスに送信される。ステップS1012において、対応するクライアントデバイスに関連する転送対象データ情報が、対応するメタデータクライアントアクセスデバイスに送信される。ステップS1014において、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報が受信され、対応するデータベースデータ情報を提出し続けるかどうかが、転送対象データ情報に基づいて判断される。ステップS1016において、対応するメタデータ送信ノードデバイスが故障しているとき、第1のノードデバイス構成要求が、グローバル分散合意プロトコルを備えるデバイスに送信される。ステップS1018において、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信され、更新済みの対応するメタデータ送信ノードデバイスが、メタデータクライアントアクセスデバイスに送信される。ステップS1020において、更新済みの対応するメタデータ送信ノードデバイスが取得され、メタデータ情報が、更新済みのメタデータ送信ノードデバイスに送信される。ステップS1022において、対応する下位メタデータ送信ノードデバイスが故障しているときに、第2のノードデバイス構成要求が、グローバル分散合意プロトコルを備えるデバイスに送信されて、更新済みの対応する下位メタデータ送信ノードデバイスが取得される。ステップS1024において、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信され、更新済みの対応するメタデータ送信ノードデバイスが、メタデータクライアントアクセスデバイスに送信される。ステップS1026において、カレントノード状態が、グローバル分散合意プロトコルを備えるデバイスに周期的に送信される。ステップS1028において、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態が、取得される。
本開示の上記の例としての実施形態では、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報は、別の対応クライアントデバイスのデータレプリケーション進捗情報を含む。
図11は、本開示の態様による、例としての実施形態におけるリージョン間にわたるデータ送信の全体の方法の概略的フローチャートである。方法は、主に、ステップS1101、ステップS1102、ステップS1103、ステップS1104、ステップS1105、ステップS1106、及びステップS1107を含む。
ステップS1101は、別のクライアントデバイス(リージョンB内のクライアント端末ライブラリ)によってデータ送信チャネルを通して送信されるデータベースデータ情報を取得することと、データベースデータ情報に基づいて、対応するメタデータ情報を判断することであって、メタデータ情報が、対応するクライアントデバイス(リージョンA内のクライアント端末ライブラリ)のデータレプリケーション進捗情報を含む、判断することと、メタデータ情報を対応するメタデータクライアントアクセスデバイス(リージョンA内のメタクライアントアクセスレイヤ)に送信することと、を含む。ステップS1102は、対応するクライアントデバイス(リージョンA内のクライアント端末ライブラリ)によって送信されるメタデータ情報を取得することと、メタデータ情報を対応するメタデータ送信ノードデバイス(リピータ)に送信することであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、送信することと、を含む。ステップS1103は、対応するメタデータクライアントアクセスデバイス(リージョンA内のメタクライアントアクセスレイヤ)によって送信される、対応するクライアントデバイス(リージョンA内のクライアント端末ライブラリ)のメタデータ情報を受信することであって、メタデータ情報が、対応するクライアントデバイスのデータレプリケーション進捗情報を含む、受信することと、メタデータ情報を別のメタデータ送信ノードデバイス(リピータ)に送信することと、対応する上位メタデータ送信ノードデバイス(リピータ)によって送信される転送対象データ情報を受信することと、転送対象データ情報を処理することと、次いで、処理済みの転送対象データ情報を対応する下位メタデータ送信ノードデバイスに送信することであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、送信することと、を含む。ステップS1104は、対応するクライアントデバイス(リージョンB内のクライアント端末ライブラリ)に関連する転送対象データ情報を、対応するメタデータクライアントアクセスデバイス(リージョンB内のメタクライアントアクセスレイヤ)に転送することを含む。ステップS1105は、対応するメタデータ送信ノードデバイス(リピータ)によって送信される転送対象データ情報を取得することと、転送対象データ情報を対応するクライアントデバイス(リージョンB内のクライアント端末ライブラリ)にプッシュすることであって、転送対象データ情報が、別のクライアントデバイスのデータレプリケーション進捗情報を含む、プッシュすることと、を含む。ステップS1106は、対応するメタデータクライアントアクセスデバイス(リージョンB内のメタクライアントアクセスレイヤ)によってプッシュされる転送対象データ情報を受信することであって、転送対象データ情報が、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含む、受信することと、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかを判断することと、を含む。ステップS1107は、対応するメタデータ送信ノードデバイス(例えば、リピータ402)の故障に基づいて、メタデータクライアントアクセスデバイス(メタクライアントアクセスレイヤ)によって送信される第1のノードデバイス構成要求を受信することと、下位メタデータ送信ノードデバイス(例えば、リピータ408)の故障に基づいて、メタデータ送信ノードデバイス(例えば、リピータ406)によって送信される第2のノードデバイス構成要求を受信することと、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて、対応するメタデータ送信ノードデバイス(メタデータ送信チャネル内のリピータ)を更新することと、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態を取得することと、メタデータ送信チャネル内の正常状態にあるリピータの構成を、各リピータにプッシュすることと、を含む。
従来技術と比較すると、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、対応するクライアントデバイスによって送信されるメタデータ情報が取得され、メタデータ情報は、対応するメタデータ送信ノードデバイスに送信され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含む。対応するメタデータ送信ノードデバイスによって送信される転送対象データ情報が取得され、転送対象データ情報が、対応するクライアントデバイスにプッシュされ、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含み、それによって、対応するクライアントデバイスによって送信されるメタデータ情報が、対応するメタデータ送信ノードデバイスに効果的に送信される。対応するメタデータ送信ノードデバイスによって送信される、取得された転送対象データ情報は、対応するクライアントデバイスにプッシュされて、メタデータ情報の同期が実現される。
さらに、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、対応するメタデータクライアントアクセスデバイスによって送信される対応するクライアントデバイスのメタデータ情報が受信され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、別のメタデータ送信ノードデバイスに送信される。さらに、対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報が受信され、転送対象データ情報は、処理され、次いで、対応する下位メタデータ送信ノードデバイスに送信され、転送対象データ情報は、別のクライアントデバイスのデータレプリケーション進捗情報を含む。対応するクライアントデバイスに関連する転送対象データ情報は、対応するメタデータクライアントアクセスデバイスに転送され、対応するメタデータクライアントアクセスデバイスから送信される対応するクライアントデバイスのメタデータ情報は、別のメタデータ送信ノードデバイスに効果的に送信される。対応する上位メタデータ送信ノードデバイスによって送信される転送対象データ情報は、処理され、次いで、転送対象データ情報が全てのメタデータ送信ノードデバイスによって受信されるまで、下位メタデータ送信ノードデバイスに送信されて、メタデータ送信ノードデバイスが、対応するクライアントデバイスに関連する転送対象データ情報を対応するメタデータクライアントアクセスデバイスに転送することを保証し、したがって、リージョン間にわたるデータ送信においてメタデータ送信ノードデバイス間の高いスループットレートを保証する。
さらに、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、対応するメタデータ送信ノードデバイスの故障に基づいて、メタデータクライアントアクセスデバイスによって送信される第1のノードデバイス構成要求が受信される。下位メタデータ送信ノードデバイスの故障に基づいて、メタデータ送信ノードデバイスによって送信される第2のノードデバイス構成要求が受信される。対応するメタデータ送信ノードデバイスは、第1のノードデバイス構成要求及び/または第2のノードデバイス構成要求に基づいて更新され、それによって、メタデータ送信ノードデバイスは、グローバル分散合意プロトコルを備えるデバイスに構成管理について問い合わせる必要がなく、サービスフェールオーバの場合における、頻度の低いリージョン間にわたるメタデータ送信ノードデバイスの構成管理の問題が、効果的に解決される。さらに、メタデータ送信ノードデバイスによって周期的に送信されるカレントノード状態が取得され、それによって、グローバル分散合意プロトコルを備えるデバイスは、対応するメタデータ送信ノードデバイスを適時に更新して、リージョン間にわたるデータ送信の高いスループットレートを保証する。
さらに、本開示の例としての実施形態におけるリージョン間にわたるデータ送信方法及びデバイスによれば、別のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報が取得される。対応するメタデータ情報は、データベースデータ情報に基づいて判断され、メタデータ情報は、対応するクライアントデバイスのデータレプリケーション進捗情報を含み、メタデータ情報は、対応するメタデータクライアントアクセスデバイスに送信され、それは、データベースデータ情報に対応するメタデータ情報の同期を効果的に保証する。さらに、対応するメタデータクライアントアクセスデバイスによってプッシュされる転送対象データ情報が受信され、転送対象データ情報は、別の対応するクライアントデバイスのデータレプリケーション進捗情報を含み、転送対象データ情報に基づいて、対応するデータベースデータ情報を提出し続けるかどうかが判断され、それは、データベースデータ情報の同期遅延が影響を受けないことを効果的に保証する。
本開示は、ソフトウェア、ならびに/またはソフトウェア及びハードウェアの組み合わせにおいて実施されてもよく、例えば、特定用途向け集積回路(ASIC)、汎用コンピュータ、または任意の他の類似のハードウェアデバイスが、本開示の実施に使用され得ることに留意すべきである。1つの例としての実施形態では、本開示のソフトウェアプログラムは、上述したステップまたは機能を実現するためにプロセッサによって実行されてもよい。同様に、本開示のソフトウェアプログラム(関連するデータ構造を含む)は、コンピュータ可読記録媒体、例えば、RAMメモリ、磁気もしくは光ドライブ、またはフロッピーディスク、及び類似のデバイスに記憶され得る。さらに、本開示のいくつかのステップまたは機能は、ハードウェア、例えば、プロセッサと協働する多様なステップまたは機能を実行する回路を用いて実施されてもよい。
さらに、本開示の一部が、コンピュータプログラム製品、例えば、コンピュータプログラム命令として適用されてもよく、それがコンピュータによって実行されるとき、本開示による方法及び/または技術的解決策は、コンピュータの動作を通して呼び出され、または提供され得る。本開示の方法を呼び出すプログラム命令は、固定の、もしくは着脱可能な記録媒体に記憶されてもよく、及び/または他の信号搬送媒体においてブロードキャストもしくはデータストリームによって送信されてもよく、及び/またはプログラム命令に従って動作するコンピュータデバイスのワーキングメモリに記憶されてもよい。本明細書において、本開示による例としての実施形態は、装置を含み、装置は、コンピュータプログラム命令を記憶するように構成されるメモリと、プログラム命令を実行するように構成されるプロセッサとを含み、コンピュータプログラム命令がプロセッサによって実行されるときに、装置は、本開示の複数の例としての実施形態に基づく方法及び/または技術的解決策を実行するようにトリガされる。
当業者にとって、本開示が、前述の例示的な例としての実施形態の詳細に限定されないこと、及び本開示が、本開示の思想または基本的特徴から逸脱することなく他の特定の形式で実施され得ることは、明らかである。したがって、どの観点からも、例としての実施形態は、制限的ではなく例示的と見なされ、本開示の範囲は、上記説明ではなく添付の特許請求の範囲によって定義される。したがって、本開示は、均等な要素の意味及び範囲に入る全ての変更を包含するように意図される。請求項中の参照符号のいずれも、関係する請求項を限定するものと見なされるべきでない。さらに、「include(含む)」という言葉が、他のユニットまたはステップを除外しないこと、及び単数形が、複数形を除外しないことは明らかである。デバイスの請求項において述べられる複数のユニットまたはデバイスもまた、1つのユニットまたはデバイスによって、ソフトウェアまたはハードウェアを通して実施されてもよい。「第1の」及び「第2の」などの用語は、名前を表すために使用され、いかなる特定の順序も示していない。

Claims (17)

  1. 第1のクライアントデバイスによって送信されるメタデータ情報を取得することであって、前記第1のクライアントデバイスは、第2のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得するように構成され、前記メタデータ情報が、前記第1のクライアントデバイスの第1のデータレプリケーション進捗情報を含む、ことと、
    前記メタデータ情報を第1のメタデータ送信ノードデバイスに送信することと、
    前記第1のメタデータ送信ノードデバイスによって送信される転送対象データ情報を取得することであって、前記転送対象データ情報は、前記第1のクライアントデバイスの前記第1のデータレプリケーション進捗情報と、前記第2のクライアントデバイスの第2のデータレプリケーション進捗情報とを含む、ことと、
    前記転送対象データ情報内の前記第2のデータレプリケーション進捗情報を前記第1のクライアントデバイスにプッシュすることと、
    を含む、方法。
  2. 前記メタデータ情報に対して永続性処理を実行することをさらに含む、
    請求項1に記載の方法。
  3. 永続性確認情報を前記第1のクライアントデバイスに送信することをさらに含む、
    請求項2に記載の方法。
  4. 前記第1のメタデータ送信ノードデバイスが故障しているときに、第1のノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みのメタデータ送信ノードデバイスを取得することをさらに含む、
    請求項1に記載の方法。
  5. 前記メタデータ情報を前記更新済みのメタデータ送信ノードデバイスに送信することをさらに含む、
    請求項4に記載の方法。
  6. 前記グローバル分散合意プロトコルが、Paxosである、
    請求項4に記載の方法。
  7. メタデータクライアントアクセスデバイスによって送信される第1のクライアントデバイスのメタデータ情報を受信することであって、前記第1のクライアントデバイスは、第2のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得するように構成される、ことと、
    前記メタデータ情報をメタデータ送信ノードデバイスに送信することであって、前記メタデータ情報が、前記第1のクライアントデバイスの第1のデータレプリケーション進捗情報を含む、ことと、
    上位メタデータ送信ノードデバイスによって送信される転送対象データ情報を受信することと、
    前記転送対象データ情報を下位メタデータ送信ノードデバイスに送信することであって、前記転送対象データ情報が、前記第1のクライアントデバイスの前記第1のデータレプリケーション進捗情報と、前記第2のクライアントデバイスの第2のデータレプリケーション進捗情報とを含む、ことと、
    前記転送対象データ情報を前記メタデータクライアントアクセスデバイスに転送することと、を含む、方法。
  8. 前記下位メタデータ送信ノードデバイスが故障しているときに、ノードデバイス構成要求をグローバル分散合意プロトコルを備えるデバイスに送信して、更新済みの下位メタデータ送信ノードデバイスを取得すること
    をさらに含む、請求項7に記載の方法。
  9. 前記転送対象データ情報を、前記更新済みの下位メタデータ送信ノードデバイスに送信することをさらに含む、
    請求項8に記載の方法。
  10. 前記グローバル分散合意プロトコルが、Paxosである、
    請求項8に記載の方法。
  11. カレントノード状態をグローバル分散合意プロトコルを備えるデバイスに周期的に送信することをさらに含む、
    請求項7に記載の方法。
  12. メタデータクライアントアクセスデバイスと、
    メタデータ送信ノードデバイスと、
    第1及び第2のクライアントデバイスと、
    を備え、
    前記メタデータクライアントアクセスデバイスが、
    前記第1のクライアントデバイスによって送信されるメタデータ情報を取得し、前記メタデータ情報を前記メタデータ送信ノードデバイスに送信する、第1の取得ユニットであって、前記メタデータ情報が、前記第1のクライアントデバイスの第1のデータレプリケーション進捗情報を含む、前記第1の取得ユニットを含み、
    前記メタデータクライアントアクセスデバイスが、
    前記メタデータ送信ノードデバイスによって送信される転送対象データ情報を取得することであって、前記転送対象データ情報は、前記第1のクライアントデバイスの前記第1のデータレプリケーション進捗情報と、第2のクライアントデバイスの第2のデータレプリケーション進捗情報とを含む、ことと、前記転送対象データ情報内の前記第2のデータレプリケーション進捗情報を前記第1のクライアントデバイスにプッシュすることとを行う、プッシュユニットを含み、
    前記第1のクライアントデバイスは、
    前記第2のクライアントデバイスによってデータ送信チャネルを通して送信されるデータベースデータ情報を取得する、第3の取得ユニットを含む、システム。
  13. 前記メタデータ送信ノードデバイスが、
    前記メタデータクライアントアクセスデバイスによって送信される前記第1のクライアントデバイスの前記メタデータ情報を受信し、前記メタデータ情報を別のメタデータ送信ノードデバイスに送信する、第1の受信ユニットを含む、
    請求項12に記載のシステム。
  14. 前記メタデータ送信ノードデバイスが、
    上位メタデータ送信ノードデバイスによって送信される前記転送対象データ情報を受信し、前記転送対象データ情報を処理し、前記転送対象データ情報を下位メタデータ送信ノードデバイスに送信する、第1の転送ユニットをさらに含む、
    請求項13に記載のシステム。
  15. 前記メタデータ送信ノードデバイスが、
    前記転送対象データ情報を前記メタデータクライアントアクセスデバイスに転送する、第2の転送ユニットをさらに含む、
    請求項14に記載のシステム。
  16. 前記第1のクライアントデバイスが、
    前記メタデータ情報を、前記データベースデータ情報に基づいて判断し、前記メタデータ情報を前記メタデータクライアントアクセスデバイスに送信する、送信ユニットをさらに含む、
    請求項12に記載のシステム。
  17. 前記第1のクライアントデバイスが、
    前記メタデータクライアントアクセスデバイスによってプッシュされる前記転送対象データ情報内の前記第2のデータレプリケーション進捗情報を受信し、前記転送対象データ情報内の第2のデータレプリケーション進捗情報に基づいて、前記データベースデータ情報を提出し続けるかどうかを判断する、判断ユニットをさらに含む、
    請求項16に記載のシステム。
JP2018544353A 2016-03-09 2017-03-08 リージョン間にわたるデータ送信 Active JP6899837B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610134307.X 2016-03-09
CN201610134307 2016-03-09
PCT/US2017/021443 WO2017156184A1 (en) 2016-03-09 2017-03-08 Cross-regional data transmission

Publications (2)

Publication Number Publication Date
JP2019510302A JP2019510302A (ja) 2019-04-11
JP6899837B2 true JP6899837B2 (ja) 2021-07-07

Family

ID=59787504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018544353A Active JP6899837B2 (ja) 2016-03-09 2017-03-08 リージョン間にわたるデータ送信

Country Status (5)

Country Link
US (1) US10397125B2 (ja)
EP (1) EP3427157B1 (ja)
JP (1) JP6899837B2 (ja)
CN (1) CN107196988B (ja)
WO (1) WO2017156184A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11140221B2 (en) * 2016-06-22 2021-10-05 The Johns Hopkins University Network-attack-resilient intrusion-tolerant SCADA architecture
US11797569B2 (en) * 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11698914B1 (en) * 2021-12-10 2023-07-11 Amazon Technologies, Inc. Serverless managed bulk import on a global NoSQL database with selective back pressure
CN117171266B (zh) * 2023-08-28 2024-05-14 北京逐风科技有限公司 一种数据同步方法、装置、设备和存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728713B1 (en) 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
GB0424488D0 (en) * 2004-11-05 2004-12-08 Ibm A method apparatus computer program and computer program product for adjusting the frequency at which data is backed up
US7519633B2 (en) * 2005-09-08 2009-04-14 International Business Machines Corporation Asynchronous replication of data
US8144714B1 (en) * 2006-04-24 2012-03-27 Solace Systems Inc. Assured delivery message system and method
US7774329B1 (en) * 2006-12-22 2010-08-10 Amazon Technologies, Inc. Cross-region data access in partitioned framework
JP4814119B2 (ja) * 2007-02-16 2011-11-16 株式会社日立製作所 計算機システム、ストレージ管理サーバ、及びデータ移行方法
US8073922B2 (en) * 2007-07-27 2011-12-06 Twinstrata, Inc System and method for remote asynchronous data replication
US8301593B2 (en) * 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US8769048B2 (en) * 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8656392B2 (en) * 2009-06-10 2014-02-18 The Boeing Company Consensus based distributed task execution
US20110161294A1 (en) * 2009-12-30 2011-06-30 Sun Microsystems, Inc. Method for determining whether to dynamically replicate data
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8823536B2 (en) * 2010-04-21 2014-09-02 Microsoft Corporation Automated recovery and escalation in complex distributed applications
US8627024B2 (en) * 2010-11-30 2014-01-07 International Business Machines Corporation Snapshot based replication
US8572031B2 (en) * 2010-12-23 2013-10-29 Mongodb, Inc. Method and apparatus for maintaining replica sets
US8805940B2 (en) * 2012-02-28 2014-08-12 Microsoft Corporation Enhanced replication for message services
WO2013184712A2 (en) * 2012-06-04 2013-12-12 Google Inc. Systems and methods of increasing database access concurrency using granular timestamps
JP6011786B2 (ja) * 2012-08-06 2016-10-19 日本電気株式会社 分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラム
US9170891B1 (en) * 2012-09-10 2015-10-27 Amazon Technologies, Inc. Predictive upload of snapshot data
US9189510B2 (en) 2013-02-26 2015-11-17 Facebook, Inc. System and method for implementing cache consistent regional clusters
US9438670B2 (en) 2013-03-13 2016-09-06 International Business Machines Corporation Data replication for a virtual networking system
US9274863B1 (en) * 2013-03-20 2016-03-01 Google Inc. Latency reduction in distributed computing systems
US10311028B2 (en) * 2013-05-16 2019-06-04 Oracle International Corporation Method and apparatus for replication size estimation and progress monitoring
US9600774B1 (en) * 2013-09-25 2017-03-21 Amazon Technologies, Inc. Predictive instance suspension and resumption
WO2015085530A1 (zh) * 2013-12-12 2015-06-18 华为技术有限公司 数据复制方法及存储系统
WO2015085529A1 (zh) * 2013-12-12 2015-06-18 华为技术有限公司 数据复制方法、数据复制装置和存储设备
US9639589B1 (en) * 2013-12-20 2017-05-02 Amazon Technologies, Inc. Chained replication techniques for large-scale data streams
US9329950B2 (en) 2014-01-01 2016-05-03 International Business Machines Corporation Efficient fail-over in replicated systems
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9501379B2 (en) * 2014-04-11 2016-11-22 Nutanix, Inc. Mechanism for providing real time replication status information in a networked virtualization environment for storage management
US9641580B2 (en) * 2014-07-01 2017-05-02 Microsoft Technology Licensing, Llc Distributed stream processing in the cloud
US10003530B2 (en) * 2014-07-22 2018-06-19 Futurewei Technologies, Inc. Service chain header and metadata transport
US9749427B2 (en) * 2014-11-21 2017-08-29 International Business Machines Corporation Systems and methods for consensus protocol selection based on delay analysis
JP6602866B2 (ja) * 2014-12-01 2019-11-06 インフォマティカ エルエルシー 並列持続性を有するメッセージブローカシステム
CN104601687B (zh) * 2015-01-07 2019-04-19 曙光信息产业股份有限公司 一种分发跨地域高效存储内容的方法及系统
US9672264B2 (en) 2015-01-26 2017-06-06 Netapp, Inc. Method and system for backup verification
CN106161525B (zh) * 2015-04-03 2019-09-17 阿里巴巴集团控股有限公司 一种多集群管理方法与设备
US10126980B2 (en) * 2015-04-29 2018-11-13 International Business Machines Corporation Managing data operations in a quorum-based data replication system
US10650024B2 (en) 2015-07-30 2020-05-12 Google Llc System and method of replicating data in a distributed system
US10178168B2 (en) * 2015-08-19 2019-01-08 Facebook, Inc. Read-after-write consistency in data replication
US10015248B1 (en) * 2015-09-28 2018-07-03 Amazon Technologies, Inc. Syncronizing changes to stored data among multiple client devices
US9804940B2 (en) * 2015-10-30 2017-10-31 Netapp, Inc. Techniques for maintaining device coordination in a storage cluster system
US10366106B2 (en) * 2016-12-09 2019-07-30 Sap Se Quorum-based replication of data records
US20180268042A1 (en) * 2017-03-16 2018-09-20 Linkedln Corporation Entity-based dynamic database lockdown

Also Published As

Publication number Publication date
EP3427157A1 (en) 2019-01-16
US10397125B2 (en) 2019-08-27
CN107196988B (zh) 2020-10-27
EP3427157B1 (en) 2023-10-11
JP2019510302A (ja) 2019-04-11
CN107196988A (zh) 2017-09-22
EP3427157A4 (en) 2019-10-16
WO2017156184A1 (en) 2017-09-14
US20170264559A1 (en) 2017-09-14

Similar Documents

Publication Publication Date Title
JP6899837B2 (ja) リージョン間にわたるデータ送信
US10764369B2 (en) Data storage method and server applicable to distributed server cluster
US9934242B2 (en) Replication of data between mirrored data sites
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
US8379645B2 (en) Link data transmission method, node and system
CN103297268B (zh) 基于p2p技术的分布式数据一致性维护系统和方法
JP6164747B2 (ja) 協働環境におけるフロー制御のためのおよび信頼性のある通信のための方法
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
CN108345617B (zh) 一种数据同步方法、装置以及电子设备
US20190173596A1 (en) Method for fast reconfiguration of gm clocks in the tsn network by means of an explicit teardown message
CN109739435B (zh) 文件存储和更新方法及装置
CN105338095A (zh) 一种会话数据处理方法和装置
US20190104082A1 (en) Live resegmenting of partitions in distributed stream-processing platforms
WO2020001060A1 (zh) 分布式系统成员变更方法和分布式系统
JP2014175747A (ja) 自立分散型ネットワークシステム
EP3031172B1 (en) Managing data feeds
CN106855869B (zh) 一种实现数据库高可用的方法、装置和系统
CN113032477A (zh) 基于gtid的长距离数据同步方法、装置及计算设备
US9489269B2 (en) Global backup lock manager
CN112948179B (zh) 一种区块链节点的数据恢复方法、装置及电子设备
US20240121297A1 (en) Method and apparatus for distributed synchronization
KR101982416B1 (ko) 복수의 데이터 노드를 이용하여 tcp 통신을 통해 데이터를 분산하여 저장하는 시스템을 위한 소프트웨어 정의 네트워크와, 이에 포함되는 스위치 및 그 제어 방법
JP2016051256A (ja) Dbシステム及びデータ要求信号のプロキシ方法
KR20170007053A (ko) M2M/IoT 플랫폼에서 트랜잭션 방법 및 시스템
JP6100135B2 (ja) フォールトトレラントシステム及びフォールトトレラントシステム制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210408

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: 20210518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210615

R150 Certificate of patent or registration of utility model

Ref document number: 6899837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150