JP6675490B2 - 通信ネットワークにおけるデータベースに基づく冗長化 - Google Patents

通信ネットワークにおけるデータベースに基づく冗長化 Download PDF

Info

Publication number
JP6675490B2
JP6675490B2 JP2018534121A JP2018534121A JP6675490B2 JP 6675490 B2 JP6675490 B2 JP 6675490B2 JP 2018534121 A JP2018534121 A JP 2018534121A JP 2018534121 A JP2018534121 A JP 2018534121A JP 6675490 B2 JP6675490 B2 JP 6675490B2
Authority
JP
Japan
Prior art keywords
instance
network element
data
database
computer
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
JP2018534121A
Other languages
English (en)
Other versions
JP2019507413A (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 JP2019507413A publication Critical patent/JP2019507413A/ja
Application granted granted Critical
Publication of JP6675490B2 publication Critical patent/JP6675490B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • 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
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Retry When Errors Occur (AREA)

Description

関連出願の相互参照
本出願は、2016年1月15日に出願された米国仮出願第62/279,240号「Database Based Redundancy in a Telecommunications Network」の優先権を主張するものであり、その内容は参照により本明細書に組み込まれる。
本開示は電気通信の分野に関連し、より具体的には通信ネットワークにおける冗長化のためにデータベースを使用する技術に関する。
高可用性の冗長通信アプリケーションを実現するための従来の手法では、第1の計算インスタンスから第2の計算インスタンスへの状態の同期を可能にするために、計算要素(例えば仮想マシン(VM)やホスト)の数は少なくともN+1であり、場合によっては2Nである。全ての重要な状態が2番目の場所のメモリに複製される必要があるため、必要なメモリは合計で2Nである。この解決策を実現するために、第1の計算インスタンスから状態をプッシュして第2の計算インスタンスにインストールするコードを記述してテストする必要がある。このプロセスではCPUサイクルが消費されるため、さもなければシステムがトランザクションを処理することができる最大速度が低下する。最終的には、冗長性を追加しようとする努力が原因で、より低速であまり利用することができないシステムとなる。
本発明の一態様では、通信ネットワークにおいてデータベースに基づく冗長性を提供する方法およびシステムが提供される。
本発明の別の態様では、通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータで実行される方法は、計算装置によって、第1の計算インスタンスからネットワーク要素データを計算し受信するステップを含む。第1の計算インスタンスは、ネットワーク要素インスタンスの少なくとも一部分をホストする。ネットワーク要素データは、ネットワーク要素インスタンスに関連付けられた識別情報および状態情報を含む。この方法はまた、計算装置によって、ネットワーク要素データに基づく複合キーを作成するステップを含む。複合キーは、ネットワーク要素識別子(ID)と、状態情報の分類に関連付けられたテーブルIDとを含む。ネットワーク要素IDは、識別情報に関連付けられている。この方法はまた、計算装置によって、複合キーおよび関連状態情報を計算装置に関連付けられたデータベース内のレコードとして記憶するステップと、計算装置によって、第1の計算インスタンスに関連付けられた障害を決定するステップとを含む。この方法は、計算装置によって、ネットワーク要素インスタンスに関連付けられたネットワーク要素IDに関連付けられた分散キーを決定するステップと、計算装置によって、アクティブ化データを第2の計算インスタンスに送信するステップとをさらに含む。アクティブ化データ(活性化データ)は、状態情報を含む第1のネットワークIDに関連付けられた分散キーに関連付けられたレコードをデータベースから検索して、第1のネットワーク要素インスタンスを第2の計算インスタンス上で再作成する命令に関連付けられている。
本発明の一実施形態では、この方法は、計算装置によって、書き込み要求データを計算インスタンスに送信するステップをさらに含む。書き込み要求データは、ネットワーク要素データをデータベースに書き込む命令に関連付けられている。
本発明の一実施形態では、複合キーは、テーブル行キーおよび/または計算インスタンスIDをさらに含む。テーブル行キーは、テーブルIDおよびネットワーク要素IDに対応する状態情報に関連付けられている。計算インスタンスIDは、ネットワーク要素インスタンスをホストしている計算インスタンスに関連付けられている。
本発明の一実施形態では、分散キーは、仮想マシンIDおよびテーブルIDのうちの少なくとも1つをさらに含む。
本発明の一実施形態では、計算装置および計算インスタンスは、第1のデータセンター(中央施設)に配置される。
本発明の一実施形態では、計算装置は第1のデータセンター(施設)に配置され、計算インスタンスは第2のデータセンターに配置される。第1のデータセンターは第2のデータセンターとは異なる。
本発明の一実施形態では、計算インスタンスは、仮想マシン、コンテナおよびベアメタル(bare metal:地金)サーバのうちの少なくとも1つである。
本発明の一実施形態の下では、この方法は、計算装置によって、ネットワーク要素データをデータベースに記憶するステップをさらに含む。
本発明の別の態様では、通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータシステムは、コンピュータシステム内のプロセッサと、プロセッサと通信するメモリとを含み、メモリは、プロセッサに、または上述した任意の動作および/または全ての動作を実行させるように構成された命令を含む。
上記の態様および実施形態のいずれも、本明細書に記載の他の態様および実施形態と組み合わせることができ、本発明の範囲内にとどまる。
開示の主題におけるこれらの機能および他の機能は、以下の図面、詳細な説明および請求項を検討することによって十分に理解されるであろう。本明細書で使用される表現および用語は、説明を目的としており、限定的であるとみなされるべきではないことを理解されたい。
開示の主題の様々な目的、特徴および利点は、同様の参照番号が同様の要素を示す以下の図面に関連して考慮する場合に、開示の主題における以下の詳細な説明を参照することにより、より十分に理解することができる。
本開示のいくつかの実施形態による、ネットワーク化されたシステムを示す系統図である。 通信ネットワーク全体に分散された仮想マシン間のネットワーク要素における冗長性を実現する従来の方法を示す系統図である。 通信ネットワーク全体に分散された仮想マシン間のネットワーク要素における冗長性を実現する従来の方法を示す系統図である。 本開示のいくつかの実施形態に記載の、単一のデータセンターにおけるデータベースに基づく冗長化システムを示す系統図である。 本開示のいくつかの実施形態に記載の、複数のデータセンターにわたるクラスタに使用されるデータベースに基づく冗長化システムを示す系統図である。 本開示のいくつかの実施形態による、データベースに提示される複合キーを示す図である。 本開示のいくつかの実施形態による、ネットワーク要素のデータベースに基づく冗長性を示すフローチャートである。 本開示のいくつかの実施形態による、オーケストレータおよびネットワーク機能仮想化インフラストラクチャを示すシステム図である。
現在、ゲートウェイGPRSサポートノード(GGSN)、サービングゲートウェイ(SGW)、パケットデータネットワークゲートウェイ(PGW)、信頼WLANアクセスゲートウェイ/信頼WLANアクセスプロキシ(TWAG/TWAP)、進化型パケットデータゲートウェイ(ePDG)などの通信事業者アプリケーションは、内部のステートフルな冗長機構で構築されている。これらの機構は、例えば2つの計算インスタンス(例えば仮想マシン(VM)、2つのコンテナ、2つのベアメタルサーバなど)に対する2つのプロセスなど、分散システム内の少なくとも2つの場所に記憶された加入者またはデータフローの処理中に、3GPP、IETF、ETSI、または他の機構によって定義された特定のプロトコルにおける現在の状態に関連する一般的に重要な動的情報をもたらす。本明細書で使用されるように、仮想マシンを説明する実施形態をコンテナおよびベアメタルサーバにも等しく適用することができる。このような動的状態には、モビリティの位置などの呼状態と、課金状態(例えば使用カウンタ)とが含まれる。動的状態は非常に急速に変化する可能性がある。例えば課金状態は、加入者に代わって処理される各パケットに更新することができる。従来のメモリ間冗長化手法であっても、この頻度で内部状態の更新をめったに実行せず、より一般的には、スナップショット更新の期間が複製データの不正確さに対する許容度に基づく時間ベースのスナップショット手法を用いる。いくつかの実施形態では、遅延による不完全な情報のために不正確さが生じる。
従来のメモリ間冗長機構は、一般的にアプリケーション開発者によって手作業でコーディングされており、したがって、冗長スキームを組み込む複雑性が増加するために全体的な障害発生率が上昇すると言えるほどにエラーが発生しやすい。
ネットワーク機能仮想化(NFV)の到来により、システムの作成および展開がより迅速になり、運用がより簡単になることが期待されている。仮想化インフラストラクチャ(ホスト、スイッチ、ストレージ)の適応性により、さらなる冗長性が追加され、それによって通信事業者アプリケーションの手法を簡略化する可能性がもたらされる。
従来のSQLデータベースおよびその他のnon−SQLデータベースは、比較的高いトランザクション速度および高い可用性を提供する。さらに、データベース複製による地理的冗長性が一般的に裏付けられている。特定のデータ損失(例えば課金関連カウンタの定期的な更新)に対する若干の許容度を含むこれらの特性を利用することにより、通信事業者アプリケーションの冗長性の複雑性が大幅に低減され、計算およびメモリの要件が減少する。
いくつかの実施形態では、メモリ間の同期を排除することは、データベース(例えばSQLデータベースまたはnon−SQLデータベース)を利用して冗長データを記憶することによって達成することができる。データベースは、イベント駆動(例えば呼設定またはハンドオーバ)ベースで更新することができ、または時間駆動ベースでそれほど重要ではない状態(例えばいくつかの増分の使用を表す課金状態)で更新することができる。特に、データセンターに既に大規模データベースが導入されている場合、この目的でデータベースを使用する増分コストは最小限に抑えられる。障害が発生した場合、システム内のエージェントは、オブジェクト所有権の責任をシステムクラスタの残存メンバに再割り当てし、これにより、残されたオブジェクトをデータベースから取得してサービスに戻すことができる。
データベースの段階で地理的冗長性を使用することにより、本明細書で説明する技術をマルチサイト冗長化に使用することもできる。例えば、3つのアクティブ状態(起動状態)のサイトと、3つのサイト全てに利益をもたらすように動作する1つのスタンバイ状態のサイトとが存在する場合、VMの3つの個別セットを前段階に置く必要はない。実際に、障害が認識されるまでは、全て予めインスタンス化することはできない。障害が認識されると、VMのクラスタが構築されるか、または予め構築されたクラスタがアクティブ化(活性化)され、障害が発生したサイトに代わって動作する責任が割り当てられる。完了すると、新規クラスタは適切な状態をデータベースから検索し、進行中のデューティを開始する。
いくつかの実施形態では、本明細書に記載の技術の重要な態様は、冗長状態がデータベースから読み取られる速度である。データベースは、高速の同時読み取りアクセスにおいて非常に優れているが、読み取るデータの正確なサブセットを識別するために広範囲に及ぶリレーショナル検索が必要とされる場合には、大幅に速度が落ちる可能性がある。いくつかの実施形態では、冗長状態をデータベースからより速く読み出す速度を維持するために、構造化スキーマ設計を含むデータベースが使用される。
いくつかの実施形態では、本明細書に記載の技術は、スキーマ設計に関する。本明細書で説明するように、スキーマ設計は、SQLデータベースと同様にno−SQLデータベースの実装に適している。No−SQLデータベースは高速書き込みと大量の読み出しのために最適化されている。典型的なno−SQLデータベース(例えばCassandra、Apache Geode)は、単一の均一分散キーのみを利用するクラスタ化された手段である。No−SQLデータベースには、インメモリデータベース(例えばApache Geode)およびディスクベースのデータベースまたは永続的データベース(例えばCassandra)が含まれる。同じ分散キーを含む全てのレコードは同じサーバに書き込まれる。例えば、本明細書で説明する技術は、3タプル(ソースVM−ID、IMSI、作成時間)によって各レコードを一意的に識別することができる携帯電話通信セッションレコードのデータベーステーブルを使用することを含む。複合キーの最も重要な部分のみがクラスタ分散の目的で使用されるので、クラスタ化ネットワーク要素内の同じVMによって管理される全てのセッションおよび関連データを、同じサーバ(例えばCassandraサーバ、Apacheサーバ)に記憶することができる。VMに障害が発生して再作成された場合、このVMの新規インスタンスは、先行するVMインスタンスによって保存された全ての状態データを迅速に検索することができる。
図1は、本開示のいくつかの実施形態による、ネットワーク化されたシステム100を示す系統図である。システム100は、ユーザ機器102と、サーバ104と、ネットワーク106とを含む。システム100は、ユーザ機器(UE)102、進化型ノードB(eNodeB)104、マルチメディアメッセージングサービス(MME)106、サービングゲートウェイ(SGW)モジュール108、パケットデータネットワークゲートウェイ(PGW)/ゲートウェイGPRSサポートノード(GGSN)110、ポリシーおよび課金ルール機能(PCRF)112、ギガビット無線(Gi)ネットワーク114、認証、許可および課金(AAA)116、オンライン課金システム(OCS)118、外部サーバ/サイト120、ネットワーク要素グループ130を含む。
UE102は、eNodeB104を介してネットワーク化されたシステム100に接続する。UE102は、モバイルデータネットワーク(例えば携帯電話、タブレット、ラップトップ)に接続するように構成された計算装置を含む。eNodeB104は、セルサイトの無線部分である。単一のeNodeB104は、いくつかの無線式の送信機、受信機、制御部および電源を含んでもよい。eNodeB104は、MME106およびSGW108にバックホールされてもよい。バックホールは、パケットまたは通信信号を、処理のために比較的長距離にわたって別の場所に転送するプロセスである。SGW108は、ユーザデータパケットをルーティングして転送する一方で、eNodeB間のハンドオーバ中にユーザプレーンのモビリティアンカとしても機能する。MME106は、ネットワーク化されたシステム100における制御ノードである。MME106は、LTE無線ネットワークに接続するUE102の移動性および安全性機能も含むLTE関連制御プレーンシグナリングを処理する。MME106はまた、トラッキングエリア管理およびページング手順のサポートを含む、休止モードにあるUEを処理する。
PGW/GGSN110は、モバイルネットワークと外部IPネットワークとの間の相互接続点であり、ポリシー施行、IPアドレス割当ておよび課金機能を処理する。PGWおよびGGSNは同様の機能を果たし、3Gネットワーク、4GネットワークおよびLTEネットワークのために、本開示では交換可能に使用される。PCRF112(ポリシーおよび課金ルール機能)はPGWとインタフェースをとって、各加入者に対して施行する適切なポリシーをPGWに提供する。Giネットワーク114は、PGWをパケットデータネットワークまたはインターネットに接続するインターネットプロトコル(IP)ベースのネットワークである。Giネットワーク114は、外部のサーバまたはサイト120に接続する。AAA116は、認証、許可および課金サーバであり、PGWに対する許可、ポリシー施行および課金/課金サービスを提供する。OCS118は、サービスプロバイダが顧客のモバイルサービスの実時間使用に基づいて顧客に課金することを可能にするオンライン課金システムである。
図1に示すように、ネットワーク要素グループ130は、サービングゲートウェイ(SGW)モジュール108およびパケットデータネットワークゲートウェイ(PGW)/ゲートウェイGPRSサポートノード(GGSN)110を含む。ネットワーク要素グループ130は、オペレータ(本明細書ではクラスタとも呼ぶ)によって決定されたネットワーク要素またはサービスグループのいずれかまたは組合せとすることができる。いくつかの実施形態では、ネットワーク要素グループ130は、地理的グループ(例えば、地理的に同じ場所に配置されたネットワークノードおよび/または機能のセット)である。サービスグループは、SGW、PGW、GGSN、および/またはePDGを含むことができる。サービスはまた、Webプロキシ、ビデオ/イメージトランスコーディング、パケット検査(DPI)、課金、QoS、VoLTEを含むこともできる。SGW/PGWはまた、音声およびデータのためのセッションサービスと見なすこともできる。ネットワーク要素グループ130はまた、例えばループバックIP、UE IPサブプール、Gxインタフェース、Gyインタフェース、Gzインタフェース、AAAインタフェース、GTPインタフェースなどのサービスに関連するサービス構築オブジェクトを含むことができる。以下でより詳細に説明するように、仮想マシン(VM)を、個々のサービスまたはサービスの一部またはサービスの集合に関連付けることができる。
本明細書で説明するように、データベースに基づく冗長性を使用する本明細書に記載の技術は、(本明細書では仮想化ネットワーク機能(VNF)とも呼ばれる)クラスタ化仮想ネットワーク要素または仮想ノードおよび非クラスタ化仮想ネットワーク要素または仮想ノードの両方に適用することができる。クラスタはネットワーク要素またはVMのグループを含み、これにより、要素メンバ間の内部調整が行われる。クラスタを使用すると、一般的に要素の内部動作または内部トポロジが非表示になる傾向がある。つまり、外部からは、クラスタは単一のネットワーク要素とみなされる。本明細書で使用されるように、クラスタ化は密結合クラスタ化とも呼ばれる。非クラスタ化VNFは、要素間のトポロジまたは内部接続が非表示になるようなネットワーク要素またはVMを含む。
図2は、通信ネットワーク全体に分散された仮想マシン間のネットワーク要素の冗長性を実現する従来の方法を示す系統図である。図2は、VM1 210およびVM2 220を示している。VM1は、第1のバンドル1 211と第2のバンドル2´212とを含む。VM2は、第2のバンドル1´221と第1のバンドル2 222とを含む。図2に示すように、各仮想マシンは、第1のバンドルおよび第2のバンドルの両方を有することができる。いくつかの実施形態では、第1のVMを第1のバンドルにのみ関連付けることができ、第2のVMを対応する第2のバンドルにのみ関連付けることができる。
VM1 210およびVM2 220の各々は、第1のバンドルおよび第2のバンドルを含む(第2のバンドルは(´)で示される)。本明細書で参照されるように、バンドルは、ネットワーク要素(通信セッションに関連するデータ)に関連付けられた状態の集合を指す。VM1 210に障害が発生すると、VM2 220はバンドル1に冗長性を提供し、バンドル1をホストする責任をVM1 210から引き継ぐ。
図3は、通信ネットワーク全体に分散された仮想マシン間のネットワーク要素をバックアップする従来の方法を示す系統図である。図3は、VM1 310、VM2 320およびVM3 330を示している。VM1は、バンドル1 311、バンドル2 312、バンドル3 313、バンドル4´314、バンドル7´317およびバンドル9´319を含む。VM2は、バンドル4 324、バンドル5 325、バンドル6 326、バンドル1´321、バンドル2´322およびバンドル8´328を含む。VM3 330は、バンドル7 337、バンドル8 338、バンドル9 339、バンドル3 ´333、バンドル5´335、およびバンドル6´336を含む。
VM1 310、VM2 320およびVM3 330の各々は、第1のバンドルおよび第2のバンドルを含む(第2のバンドルは(´)で示される)。上述したように、バンドルは、ネットワーク要素に関連付けられた状態の集合を参照することができる。例えば、VM1 310は、バンドル1 311、バンドル2 312およびバンドル3 313の第1のインスタンスと、バンドル4´314、バンドル7´317およびバンドル9´319の第2のインスタンスとを含む。いくつかの実施形態では、各バンドルはロールとランタイム状態とを有する。ロールは第1のロールまたは第2のロールとすることができ、ランタイムはアクティブ状態またはスタンバイ状態とすることができる。好ましい実施形態では、第1のバンドルはアクティブ状態に関連付けられ、第2のバンドルはスタンバイ状態に関連付けられる。第2のバンドルが常にアクティブであるとは限らないが、第1のバンドルから第2のバンドルに操作が転送された場合は、第2のバンドルのVMに領域が割り当てられる。図3に示すように、バンドルを互いに関連付けて、VM上にクラスタを形成することができる。例えば、VM1 310上のバンドル1 311、バンドル2 312、バンドル3 313、バンドル4´314、バンドル7´317、およびバンドル9´319は、クラスタを形成することができる。
図3に示すように、第1のバンドルの各々は、異なる仮想マシン上に配置された第2のバンドルに関連付けられている。VM内における第1のバンドルの各セットはまた、2つ以上の他のVMにバックアップされる。例えば、VM1 310上のバンドル1 311およびバンドル2 312は、VM2 320上のバンドル1´321およびバンドル2´322にそれぞれ関連付けられる一方で、VM1 310上のバンドル3 313はVM3 330上のバンドル3´333に関連付けられる。VM1 310、VM2 320およびVM3 330の各々を、同じ場所または異なる地理的場所に配置することができる。VM1 310、VM2 320およびVM3 330が異なる地理的場所に配置される場合、異なるVMにわたってバンドルをバックアップすることは、地理的冗長化と呼ばれる。
図4は、本開示のいくつかの実施形態に記載の、単一のデータセンターにおけるデータベースに基づく冗長化システムを示す系統図である。図4は、VM1 410、VM2 420、VM3 430、(再作成された)VM2 440およびデータベース450を含むデータセンター400を示している。VM1 410はバンドル1 411に関連付けられている。VM2 420は関連付けられたバンドル2 421である。VM3 430はバンドル3 431に関連付けられている。(再作成された)VM2 440は、バンドル2 441に関連付けられている。
図4に示すバンドルおよびVMは、図2および図3で説明したバンドルおよびVMと同様である。上述したように、データベース450は、構造化スキーマを使用する任意の型の非リレーショナルデータベースとすることができる。いくつかの実施形態では、データベース450を、no−SQLデータベースまたはSQLデータベースとして実装することができる。通常、no−SQLデータベースは高速書き込みと大量の読み出しのために最適化されている。典型的なno−SQLデータベース(例えばCassandra、Apache Geode)は、単一の均一分散キーのみを利用する水平方向に拡張可能な手段である。No−SQLデータベースには、インメモリデータベース(例えばApache Geode)およびディスクベースのデータベースまたは永続的データベース(例えばCassandra)が含まれる。以下でより詳細に説明するように、いくつかの実施形態では、データベース450は、セッションをセッションデータに関連付けられた(本明細書では複合キーとも呼ばれる)nタプルの文字列として記憶し、ここで、nは1より大きい。簡潔には、いくつかの実施形態では、文字列の最上位ビットに関連付けられた文字列の部分は、ソースVMまたは第1のVMの識別子情報を提供する一方で、残りの文字列は、状態情報または構成情報を提供する。例えば、バンドルID、VM IDまたはノードIDを、文字列の最上位ビットとして記憶することができる。いくつかの実施形態では、データベース450は、全てのバンドルを同じサーバにマッピングする。いくつかの実施形態では、VMは状態の1つ以上の「バンドル」を所有することができる。
いくつかの実施形態では、第1のバンドルからの書き込みは、データベース450にストリーミングされる。書き込みは、制御プレーンイベント(例えばPDN接続、モビリティ、ページングなど)および状態(例えば60秒ごとの課金状態)を含むことができ、周期的で詳細な状態情報とすることができる。いくつかの実施形態では、書き込みは、呼および/またはデータの接続を障害が発生する前の状態に再構成するために使用されるカウンタおよび課金のイベントなどの任意の他のイベントまたは情報を含むことができる。
データセンター400は、任意のサーバまたはコンピュータ処理装置とすることができる。いくつかの実施形態では、データセンター400は、データベース450と仮想マシン410、420、430および440との間の通信を容易にするオーケストレータを含むことができる。図8に付随する本文でより詳細に説明するように、オーケストレータは、ライフサイクル管理の責任を負うことができ、本明細書に記載の障害検出および回復プロセスの責任を負うことができる。
図4は、本明細書で説明する技術を使用して、新規VM、VM内の新規バンドルまたはアクティブVMへのバンドルの転送をインスタンス化することを示している。本明細書に記載のデータベース冗長化技術は、クラスタ化サービスおよび非クラスタ化のサービスにも等しく適用可能である。バンドル1 411、バンドル2 421およびバンドル3 431の各々は、関連する制御プレーンのイベントおよび状態、または、呼セッションまたはデータセッションを障害が発生する前の状態に再構成するために使用されるカウンタおよび課金のイベントなどの任意の他のイベントまたは情報を、データベース450に書き込む。書き込まれたイベントおよび状態の各々には、書き込まれた情報に関連付けられたソースバンドルまたはVMを示す識別情報も関連付けられている。VM2 420に障害が発生すると、バンドル2 421を含むVM2 420に関連付けられたデータベース450からの情報を使用して、VM2 440のバージョンを再度作成することができる。すなわち、VM2 420に障害が発生してVM2 420が再作成された場合、VM440の新規インスタンスは、先行するVMインスタンス420によって保存された全ての状態情報およびデータをデータベース450から迅速に検索することができる。データベース450からの読み取りは(障害が比較的頻度の低い性質であるために)頻度が低い傾向にあるが高速である。障害が発生すると、VMが再作成され、障害が発生したVMの状態に対する責任が割り当てられる。ハートビート機構または任意の他の障害検出技術を使用して、仮想化ネットワーク機能(VNF)によって障害を検出することができる。さらに、その仮想化層で使用されるハートビート機構または任意の他の障害検出技術を使用して、仮想化層によって障害を検出することができる。障害が検出されると、仮想化層はオーケストレーション層と通信して、回復動作を実行し、同じデータセンターにおいてVMを再作成するステップができる。いくつかの実施形態では、単純なスキーマ手法により、データベース450からの迅速な読み取りが可能になる。
図5は、本開示のいくつかの実施形態に記載の、複数のデータセンターにわたるクラスタに使用されるデータベースに基づく冗長化システムを示す系統図である。図5は、モバイルコンテンツクラウド(MCC)クラスタ1 510を含むデータセンター1 501、データベース450を含むデータセンター2 502、および(再作成された)MCCクラスタ1 530およびMCCクラスタ2 520を含むデータセンター3を示している。
いくつかの実施形態では、データセンター1 501、データセンター2,502およびデータセンター3 503を、異なる地理的場所に配置することができる。いくつかの実施形態では、データセンター1 501、データセンター2,502およびデータセンター3 503は、同じ場所に配置される。図4に付随する本文でより詳細に説明したように、データセンター1 501、データセンター2,502およびデータセンター3 503を、サーバまたは任意の他のコンピュータ処理装置とすることができる。MCCクラスタは、仮想マシンの集合(例えば、(データベース450を除く)図4の全ての仮想マシン)を指す。MCCは、複数のネットワーク要素機能(例えばPGW、SGWなど)を含むことができる仮想化ネットワーク要素であるモバイルコンテンツクラウドを指す。MCCクラスタ1 510およびMCCクラスタ2 520は、関連する制御プレーンイベントおよび状態をデータベース450に書き込む。書き込まれた制御プレーンイベントおよび状態の各々には、書き込まれた情報に関連付けられたソースクラスタを示す識別情報もまた関連付けられている。データセンター1 501においてMCCクラスタ1 510に障害が発生すると、データベース450からの情報は、データセンター3 503においてMCCクラスタ530を再作成する。以下でより詳細に説明するように、データベース450をホストするデータセンター2は、MCCクラスタ1 510の障害を検出するオーケストレーション層を含むことができ、かつ、障害が発生したMCCクラスタに関連付けられたデータを複製する別のデータセンターを識別することができる。いくつかの実施形態では、データベース450を、既知のデータベース冗長化技術を使用してバックアップすることもでき、このデータベースのバックアップを、同じ場所に配置するかまたは地理的に別の場所に配置することもできる。
図6は、本開示のいくつかの実施形態による、データベースに提示され、かつレコードとして記憶される複合キーおよび関連データを示す図である。図6は、第1の複合キーおよびデータ600と、第2の複合キーおよびデータ610とを示している。第1の複合キーおよびデータ600は、ネットワーク要素(NE)ID602、VM ID604、テーブルID606およびテーブル行キー608を含み、データ609に関連付けられる(例えば、状態データおよび情報は進行中の呼セッションおよび/またはデータセッションを維持する必要がある)。第2の複合キーは、NE ID602、テーブルID604およびテーブル行キー606を含み、かつデータ609に関連付けられている。
第1の複合キーおよびデータ600は、いくつかの実施形態によるクラスタ化ネットワーク要素の複合キーを表している。複合キーの左側最上位の部分は、ネットワーク要素ID602を含む。ネットワーク要素ID602は、図1に記載された任意のネットワーク要素(例えばマルチメディアメッセージングサービス(MME)106、サービングゲートウェイ(SGW)モジュール108、パケットデータネットワークゲートウェイ(PGW)/ゲートウェイGPRSサポートノード(GGSN)110、ポリシーおよび課金ルール機能(PCRF)112、認証、許可および課金(AAA)116、およびオンライン課金システム(OCS)118)などの特定のネットワーク要素に関連付けられたビット数を含むことができる。VM ID604は、特定のネットワーク要素をホストする特定のVMに関連付けられたネットワーク要素ID602に関連付けられたビットの数の次のビット数を含むことができる。例えば、1つの仮想マシンは複数のネットワーク要素をホストすることができる。ネットワーク要素は、複数の仮想マシン、または仮想マシンのクラスタをホストとすることもできる。ネットワーク内には、例えば図5に示すように複数のクラスタノードが存在してもよい。いくつかの実施形態では、クラスタID604はVMを識別する。VM ID604のビットの次の最上位ビット数は、テーブルID606に関連付けられる。テーブルID606は、イベント情報を保持するテーブルのIDを参照する。各テーブルIDは、異なる種類のイベント情報を保持することができる。例えば、テーブルID 1は、種類Aのイベントから生じた種類Aの状態を保持することができる一方で、テーブルID 2は、種類Bのイベントから生じた種類Bの状態を保持することができる。例えば、イベントはUEからのネットワーク接続要求とすることができる。システムがイベントを処理するとき、システムは、イベントに関連付けられた状態情報(すなわち、データ609)を生成することができる。例えばネットワーク接続のための処理の一部は、UEの許可、IPアドレスの割り当て、およびトラフィックに適用するためのポリシー設定識別子における検索などの状態データを含むことができる。これらの状態データ値の各々は、テーブルの1つの行に記憶することもでき、複数のテーブルにおける複数の行に記憶することもできる。テーブルID606の次の最上位ビット数は、テーブル行キー608に関連付けられている。テーブル行キー608は、(クラスタ化されている場合の)ネットワーク要素およびVMが所有する型の、任意の所与の行に対する固有の識別子である。例えば上述したように、テーブルID606によって表される各テーブルは、複数の行を含むことができる。テーブル行キー608は、テーブル内の行を識別するインデックスを提供することができる。例えば、各行は異なる加入者に対応することができ、テーブル行キー608は加入者を識別することができる。いくつかの実施形態では、行を複数のテーブル行キー608に関連付けることができる。いくつかの実施形態では、行は固有のテーブル行キー608に関連付けられる。例えば、テーブル行キー608をIMSIに関連付けることができ、ユーザを固有のIMSIまたは複数のIMSIのいずれかに関連付けることができる。別の例として、テーブル行キー608をIPアドレスに関連付けることができ、ユーザを一意のIPアドレスまたは複数のIPアドレスのいずれかに関連付けることができる。
610の第2の複合キー部分は、いくつかの実施形態による非クラスタ化ネットワーク要素の複合キーを表している。非クラスタ化ネットワーク要素は、例えば1つのネットワーク要素をホストする仮想マシンとすることができる。610における第2の複合キー部分のビットの配置は、610の第2の複合キー部分がVM ID604に関連するビット数を含まない点を除いて、600の第1の複合キー部分と同様である。
第1の複合キーおよび第2の複合キーを、分散キー622、632、642および652と、残りのキー624、634、644、654とにさらに分割することができ、各レコードはデータ部分609を含む。分散キー622、632、642および652は、複合キー内の最上位フィールド(すなわち、左側のフィールド)のサブセットを含む。分散キー622、632、642または652は、データベース内の内部平衡のために使用することができる。例えば同じ分散キーを共有する全ての行を、データベースを構成するサーバのクラスタ内の同じストレージノード(すなわち、サーバ)に記憶することができる。分散キーを選択することにより、通信システムの冗長化のために使用される場合に、データベースにおいて観察されたアクセスパターンを最大限に利用するようにすることができる。このようなデータベースでは、一定の一般的に高速の書き込み(すなわち作成、更新、削除)を観察することができ、障害が発生しない限り読み取りは行われない。VMに障害が発生すると、代替VMが構築され、次いで、先行VMが所有していた全ての行を検索するように指示される。検索された行に関連付けられたデータ609は、障害が発生したインスタンスを新規または既存の代替インスタンス上に構築するために使用される。以下でより詳細に説明するように、オーケストレーション層および仮想化層(本明細書では計算装置とも呼ばれる)は、仮想マシンおよびデータベースと通信することができ、仮想マシンの障害を検出することができ、障害が発生した仮想マシンの状態情報を引き継ぐように別の仮想マシンに命令を送信することができる。物理ドライブを使用してデータベースを操作する場合、この一連の読み取りは、データベースを構成するサーバ全体に行が分散されていない場合(例えば、それによってディスクのシーク時間と通信オーバーヘッドを回避する場合)よりもむしろ、分散データベース内の単一のサーバがレコードの全てを提供する場合に最速であることが示されている。分散キー622および642はこのような設計を示している。しかし、いくつかのデータベースでは、分散キー622の変形がより効果的であると考えられている。この変形例(例えば分散キー632および652)では、所与のテーブル形式における全てのレコードが単一のサーバから読み取られる一方で、他のテーブル形式が他のサーバから並行して読み取られる。このような設計は、データベース記憶装置が物理ドライブ(例えば、メモリ、固体記憶装置などに保持された記録)を使用しない場合に最もよく用いられる。
テーブルID606およびテーブル行キー608のレコード内に含まれるデータ609の一例は、呼の現在の状態である。この呼状態情報が、障害が発生した第1の仮想マシンに関連付けられている場合、呼状態情報を、呼を遮断することなく第2の仮想マシンに直ちに転送することができる。第1の仮想マシンがアクティブ(起動状態)である場合、ネットワークを管理する通信アプリケーションは状態情報データをデータベースに書き込む。状態情報データは、ネットワーク要素ID(および該当する場合はVM ID)に関連付けられる。第1の仮想マシンに障害が発生すると、状態情報データは、以下に詳細に説明するように、ネットワーク要素ID(および該当する場合はVM ID)に関連付けられたデータベース内の全てのデータを転送することによって、データベースから第2の仮想マシンへ、オーケストレーション層および仮想化層によって転送される。いくつかの実施形態では、データを第2の仮想マシンに転送するかまたは書き込みすることにより、第1の仮想マシンのVM ID604を含む第1の仮想マシンの同一の識別が第2の仮想マシンに有効に割り当ててられる。
図7は、本開示のいくつかの実施形態による、ネットワーク要素のデータベースに基づくバックアップを示すフローチャートである。
ステップ702を参照して、ネットワーク要素データは、複数の計算インスタンスから受信される。計算インスタンスは、仮想マシン、コンテナまたはベアメタルサーバを含むことができる。いくつかの実施形態では、ベアメタルサーバは物理サーバを指している。より詳細に上述したように、計算インスタンスの各々は、ネットワーク要素インスタンスまたはネットワーク要素インスタンスの一部分をホストすることができる。ネットワーク要素データは、ネットワーク要素識別情報およびネットワーク要素に関連付けられた状態情報を含むことができる。
ステップ704を参照して、ネットワーク要素データに基づいて複数の複合キーが作成される。いくつかの実施形態では、計算インスタンスから受信されたネットワーク要素データはデータベース(または別のデータ構造)に記憶され、複合キーは、記憶されたネットワーク要素データに基づいて作成される。各計算インスタンスを、ネットワーク要素識別情報および1つ以上のネットワーク要素の状態情報データに関連付けることができる。いくつかの実施形態では、ネットワーク要素識別情報および1つ以上のネットワーク要素の状態情報データに基づいて、複合キーを作成することができる。複合キーは、ネットワーク要素識別情報に基づくネットワーク要素識別子(ID)を含むことができる。例えば、ネットワーク要素PGW、SGW、GGSNおよび/またはPCRFの各々を、異なる計算インスタンス上で、または複数の計算インスタンスにわたって別個のインスタンスとしてホストすることができ、同一のネットワーク要素の各々は、異なるネットワーク要素IDに関連付けられてもよい。いくつかの実施形態では、ネットワーク要素の各々をテーブルIDと関連付けることもできる。上述したように、テーブルIDをネットワーク要素IDと関連付けることができる。テーブルIDは、ネットワーク要素インスタンスに関連付けられた状態情報の分類を示すことができる。いくつかの実施形態では、状態情報データの分類は、例えば接続されたユーザセッション、接続されたユーザセッションに関連付けられたアクセスベアラ、および無線アクセスベアラに関連付けられた5タプルのアクティブフローを含むことができる。いくつかの実施形態では、複合キーはまた、テーブル行キーおよびクラスタノードIDを含むことができる。
ステップ706を参照して、作成された複合キーおよび関連データは、レコード(例えば、複数の行)としてデータベースに記憶される。いくつかの実施形態では、各複合キーおよび関連データは、別個の行として記憶される。より詳細に上述したように、データセンターは、1つ以上の計算インスタンスおよびデータベースをホストすることができる。いくつかの実施形態では、データベースは計算インスタンスとは別にホストされる。いくつかの実施形態では、データセンターはデータベースおよび計算インスタンスの両方を含む。
ステップ708を参照して、計算インスタンスのうちの1つに関連付けられた障害が決定される。いくつかの実施形態では、障害が発生した計算インスタンスは、ネットワーク要素インスタンスの少なくとも一部分を含む。より詳細に上述したように、ハートビート機構または任意の他の障害検出技術を使用して、第1の計算インスタンスの障害を検出することができる。いくつかの実施形態では、データセンターまたは具体的にはオーケストレータ、およびデータセンター内のネットワーク機能仮想化インフラストラクチャは、計算インスタンスの障害を検出することができる。
ステップ710を参照して、少なくとも1つの分散キーは、障害が発生した計算インスタンスに基づいて決定される。上述したように、分散キーは、複合キー内の最上位フィールド(すなわち、左側のフィールド)のサブセットを含むことができる。いくつかの実施形態では、分散キーの各々は、障害が発生した計算インスタンスに関連付けられたネットワーク要素インスタンスに関連付けられたネットワーク要素IDを含む。
ステップ712を参照して、命令(例えば、活性化命令)は、別の計算インスタンスに送信されて、別の計算インスタンス上でネットワークインスタンスを再作成する。いくつかの実施形態では、ネットワークインスタンスが再作成される計算インスタンスは、ネットワーク内に既に存在する。いくつかの実施形態では、ネットワークインスタンスが再作成される計算インスタンスは、ネットワークインスタンスをホストするように作成される。いくつかの実施形態では、命令は、障害が発生した計算インスタンスに関連付けられた全てのテーブルにおける行の完全セットをデータベースから検索するように他の計算インスタンスに命令する、別の計算インスタンスに送信される。いくつかの実施形態では、行を分散キーによって識別することができる。より詳細に上述したように、第2の計算インスタンスは、第1の計算インスタンスによって保存された全ての状態データをデータベースから迅速に検索することができる。
図8は、本開示のいくつかの実施形態による、オーケストレータおよびネットワーク機能仮想化インフラストラクチャを示すシステム図である。図8は、オーケストレータ802と、ネットワーク機能仮想化インフラストラクチャ(NFVI)と、単一のVM812をホストとするネットワーク要素1と、単一のVM814をホストとするネットワーク要素2と、クラスタ820内の複数のVM822、824、826をホストとするネットワーク要素3とを示している。
NFVI804と連動するオーケストレータ802は、仮想マシンに関連付けられた障害を検出し、回復動作を行い、かつ、障害が発生したVMを環境内の別のVM上で再度作成することができる。オーケストレータ802およびNFVI804は、単一のVM(例えば812)を別の単一のVM(例えば814)に複製するか、またはVMクラスタ(例えば820)を複製することができる。より詳細に上述したように、VMは、障害が発生したVMに関連付けられた関連情報をデータベース450から取り出すことによって複製することができる。オーケストレータ802およびNFVI804は、サーバ、ストレージ、ネットワークスイッチおよびルータ上で動作するソフトウェア、および/またはこれらの組み合わせで動作するソフトウェアとして実装することができる。サーバ、ストレージおよびネットワーク要素から構成される非仮想化環境については、オーケストレーション機能(すなわち、障害を検出して反応する機能)の実施形態は、要素管理システム(EMS)、ネットワーク管理システム(NMS)、運用サポートシステム(OSS)またはネットワーク要素の監視に関連する他のソフトウェアシステムに含まれてもよい。
本明細書に記載の技術の利点は、アプリケーションの複雑さの低減、データセンターの複雑性の低減、設置面積の削減、マルチサイト冗長性および地理的冗長性を含む。アプリケーションは状態が少ない性質のため、アプリケーションの複雑性を軽減することができる。対照的に、従来の方法を使用する状態バックアップ方式では、広範なコード開発が必要となりかねず、バグが発生する可能性がある。VMの再起動はコールドリスタートであるため、データセンターの複雑性もまた軽減される。つまり、仮想化インフラストラクチャ(VIM)層の高可用性(VIM層HA)要件はなく、ストレージエリアネットワーク(SAN)の厳しい要件もない。VMは必要に応じて交換することができるため、設置面積もまた削減される。マルチサイト同期のため、または必要に応じてクラスタ全体を新しいデータセンターにおいて再作成するために、データベースの冗長性を活用することができるので、マルチサイト冗長性および地理的冗長性もまた使用可能である。
本明細書に記載の主題は、本明細書に開示の構造的手段およびその構造的等価物、またはそれらの組み合わせを含むデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実装することができる。本明細書に記載の主題は、(例えば、機械可読記憶装置内の)情報媒体において有形に実施されるか、または伝搬信号において実施される1つ以上のコンピュータプログラムなど、1つ以上のコンピュータプログラム製品として、データ処理装置(例えば、プログラマブルプロセッサ、コンピュータ、または複数のコンピュータ)が実行するために、またはこのデータ処理装置の動作を制御するために実装することができる。(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)コンピュータプログラムを、コンパイラ型言語またはインタプリタ型言語を含む任意の形式のプログラミング言語で書き込むことができ、スタンドアロン・プログラムとして、またはコンピューティング環境での使用に適したモジュール、構成要素、サブルーチン、または他のユニットとして展開することができる。コンピュータプログラムは必ずしもファイルに対応しているとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分に、当該プログラム専用の単一のファイルに、または複数の調整されたファイル(例えば1つ以上のモジュール、サブプログラム、またはコードの一部分を記憶するファイル)に記憶することができる。コンピュータプログラムを、1つのコンピュータまたは1つのサイトにおいて実行するか、または複数のサイトに分散されて通信ネットワークによって相互接続されるように展開することができる。
本明細書に記載の主題の方法ステップを含む、本明細書に記載のプロセスおよび論理フローは、入力データに対して動作して出力を生成することによって1つ以上のコンピュータプログラムを実行して本明細書に記載の主題の機能を実行する1つ以上のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することができ、本明細書に記載の主題の装置は、この専用論理回路として実装することができる。
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用および専用両方のマイクロプロセッサ、および任意の種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、読出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサ、および、命令およびデータを記憶するための1つ以上のメモリ装置である。一般的にコンピュータはまた、例えば磁気ディスク、光磁気ディスク、または光ディスクなどのデータを保存するための1つ以上の大容量記憶装置を含むかまたは動作可能に結合されて、この大容量記憶装置との間でデータを受信するかまたは転送するか、またはその両方を行う。コンピュータプログラム命令およびデータを具体化するのに適した情報媒体としては、一例として、半導体メモリ装置(例えば、EPROM、EEPROMおよびフラッシュメモリ装置)、磁気ディスク(例えば内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスクおよび光ディスク(例えばCDおよびDVDディスク)を含む、全ての形式の不揮発性メモリが挙げられる。プロセッサおよびメモリは、専用論理回路によって補完されるかまたはこの専用論理回路に組み込まれてもよい。
ユーザとの対話を行うために、本明細書に記載の主題は、ユーザに情報を表示するための例えばCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタなどの表示装置と、ユーザがコンピュータに入力を提供することができるようなキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)とを有するコンピュータ上で実施することができる。他の種類の装置を使用して、ユーザとの対話を行うこともできる。例えばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響、音声または触覚の入力を含む任意の形態で受け取ることができる。
本明細書に記載の主題は、バックエンド構成要素(例えばデータサーバ)、ミドルウェア構成要素(例えばアプリケーションサーバ)、またはフロントエンド構成要素(例えば、ユーザが本明細書に記載の主題の実施形態と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)、または、このようなバックエンド構成要素、ミドルウェア構成要素およびフロントエンド構成要素の任意の組み合わせを含む計算装置において実施することができる。システムの構成要素は、例えば通信ネットワークなどの任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、および例えばインターネットなどのワイドエリアネットワーク(「WAN」)が挙げられる。
開示の主題は、その適用において、構成の詳細および以下の説明に記載されるかまたは図面に示される構成要素の構成に限定されないことが理解されるべきである。開示の主題は、他の実施形態が可能であり、様々な方法で実施および実行することが可能である。また、本明細書で使用される表現および用語は、説明を目的としており、限定的であるとみなされるべきではないことを理解されたい。
このように、当業者であれば、本開示の基礎となる概念は、開示の主題のいくつかの目的を実行するための他の構造、方法およびシステムの設計の基礎として容易に利用することができることを理解するであろう。したがって、特許請求の範囲は、開示の主題の精神および範囲から逸脱しない限り、同等の構成を含むものとみなされることが重要である。
開示の主題について上述の例示的な実施形態で説明しかつ図示したが、本開示は単に一例としてなされたものであり、開示の主題の実装における多くの変更は、開示の主題の精神および範囲から逸脱することなく実施することができることを理解されたい。

Claims (16)

  1. 通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータで実行される方法であって、前記コンピュータで実行される方法は、
    計算装置によって、ネットワーク要素データを第1の計算インスタンスから受信するステップであって、前記第1の計算インスタンスが、第1のネットワーク要素インスタンスの少なくとも一部分をホストし、前記ネットワーク要素データが、前記第1のネットワーク要素インスタンスに関連付けられた識別情報および状態情報を含むステップと、
    前記計算装置によって、前記ネットワーク要素データに基づく複合キーを作成するステップであって、前記複合キーが、
    前記識別情報に関連付けられたネットワーク要素識別子(ID)と、
    前記状態情報の分類に関連付けられたテーブルIDとを含む、ステップと、
    前記計算装置によって、前記複合キーおよび関連状態情報を前記計算装置に関連付けられたデータベース内のレコードとして記憶するステップと、
    前記計算装置によって、前記第1の計算インスタンスに関連付けられた障害を決定するステップと、
    前記計算装置によって、前記第1のネットワーク要素インスタンスに関連付けられた前記ネットワーク要素IDに関連付けられた分散キーを決定するステップと、
    前記計算装置によって、アクティブ化データを第2の計算インスタンスに送信するステップであって、前記アクティブ化データが、状態情報を含む前記ネットワーク要素IDに関連付けられた前記分散キーに関連付けられたレコードを前記データベースから検索して、前記第1のネットワーク要素インスタンスを前記第2の計算インスタンス上で再作成する命令に関連付けられている、ステップと
    を含む、コンピュータで実行される方法。
  2. 前記計算装置によって、書き込み要求データを前記第1の計算インスタンスに送信するステップをさらに含み、前記書き込み要求データは、前記ネットワーク要素データをデータベースに書き込む命令に関連付けられている、請求項1に記載のコンピュータで実行される方法。
  3. 前記複合キーが、
    前記テーブルIDおよび前記ネットワーク要素IDに対応する前記状態情報に関連付けられたテーブル行キー、および
    前記第1のネットワーク要素インスタンスをホストする計算インスタンスに関連付けられた計算インスタンスIDのうちの少なくとも1つをさらに含む、請求項1に記載のコンピュータで実行される方法。
  4. 前記分散キーが、仮想マシンIDおよびテーブルIDのうちの少なくとも1つをさらに含む、請求項3に記載のコンピュータで実行される方法。
  5. 前記計算装置および前記第1の計算インスタンスが、第1のデータセンターに配置される、請求項1に記載のコンピュータで実行される方法。
  6. 前記計算装置が第1のデータセンターに配置され、前記第1の計算インスタンスが第2のデータセンターに配置され、前記第1のデータセンターが前記第2のデータセンターとは異なる、請求項1に記載のコンピュータで実行される方法。
  7. 前記第1の計算インスタンスが、仮想マシン、コンテナおよびベアメタルサーバのうちの少なくとも1つである、請求項1に記載のコンピュータで実行される方法。
  8. 前記計算装置によって、前記ネットワーク要素データを前記データベースに記憶するステップをさらに含む、請求項1に記載のコンピュータで実行される方法。
  9. 通信ネットワークにおいてデータベースに基づく冗長性を提供するコンピュータシステムであって、前記システムは、
    前記コンピュータシステム内のプロセッサと、
    前記プロセッサと通信するメモリとを含み、
    前記メモリは、前記プロセッサに、
    第1のネットワーク要素インスタンスに関連付けられた識別情報および状態情報を含むネットワーク要素データを、前記第1のネットワーク要素インスタンスの少なくとも一部分をホストする第1の計算インスタンスから受信させ、
    前記識別情報に関連付けられたネットワーク要素識別子(ID)と、前記状態情報の分類に関連付けられたテーブルIDとを含む、前記ネットワーク要素データに基づく複合キーを作成させ、
    前記複合キーおよび関連状態情報をデータベース内のレコードとして記憶させ、
    前記第1の計算インスタンスに関連付けられた障害を決定し、
    前記第1のネットワーク要素インスタンスに関連付けられた前記ネットワーク要素IDに関連付けられた分散キーを決定させ、
    状態情報を含む前記ネットワーク要素IDに関連付けられた前記分散キーに関連付けられたレコードを前記データベースから検索して、前記第1のネットワーク要素インスタンスを前記第2の計算インスタンス上で再作成する命令に関連付けられたアクティブ化データを、第2の計算インスタンスに送信させるように構成された命令を含む、システム。
  10. 前記メモリが、前記プロセッサに、書き込み要求データを前記第1の計算インスタンスに送信させるように構成された命令をさらに含み、前記書き込み要求データは、前記ネットワーク要素データをデータベースに書き込む命令に関連付けられている、請求項9に記載のシステム。
  11. 前記複合キーが、
    前記テーブルIDおよび前記ネットワーク要素IDに対応する前記状態情報に関連付けられたテーブル行キー、および
    前記第1のネットワーク要素インスタンスをホストする計算インスタンスに関連付けられた計算インスタンスIDのうちの少なくとも1つをさらに含む、請求項9に記載のシステム。
  12. 前記分散キーが、仮想マシンIDおよびテーブルIDのうちの少なくとも1つをさらに含む、請求項11に記載のシステム。
  13. 前記コンピュータシステムおよび前記第1の計算インスタンスが、第1のデータセンターに配置される、請求項9に記載のシステム。
  14. 前記コンピュータシステムが前記第1のデータセンターに配置され、前記第1の計算インスタンスが第2のデータセンターに配置され、前記第1のデータセンターが前記第2のデータセンターとは異なる、請求項9に記載のシステム。
  15. 前記第1の計算インスタンスが、仮想マシン、コンテナおよびベアメタルサーバのうちの少なくとも1つである、請求項9に記載のシステム。
  16. 前記コンピュータシステムによって、前記ネットワーク要素データを前記データベースに記憶することをさらに含む、請求項9に記載のシステム。
JP2018534121A 2016-01-15 2017-01-13 通信ネットワークにおけるデータベースに基づく冗長化 Active JP6675490B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662279240P 2016-01-15 2016-01-15
US62/279,240 2016-01-15
PCT/US2017/013303 WO2017123845A1 (en) 2016-01-15 2017-01-13 Database based redundancy in a telecommunications network

Publications (2)

Publication Number Publication Date
JP2019507413A JP2019507413A (ja) 2019-03-14
JP6675490B2 true JP6675490B2 (ja) 2020-04-01

Family

ID=59311537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018534121A Active JP6675490B2 (ja) 2016-01-15 2017-01-13 通信ネットワークにおけるデータベースに基づく冗長化

Country Status (6)

Country Link
US (1) US10154087B2 (ja)
EP (1) EP3403432B1 (ja)
JP (1) JP6675490B2 (ja)
KR (1) KR20180104639A (ja)
CN (1) CN108464031B (ja)
WO (1) WO2017123845A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681077B (zh) * 2015-12-31 2019-04-05 华为技术有限公司 故障处理方法、装置及***
GB2600089A (en) * 2020-10-07 2022-04-27 Metaswitch Networks Ltd Processing communication sessions

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872160A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Integrated packetized voice and data switching system
US4958341A (en) 1988-03-31 1990-09-18 At&T Bell Laboratories Integrated packetized voice and data switching system
US4922486A (en) 1988-03-31 1990-05-01 American Telephone And Telegraph Company User to network interface protocol for packet communications networks
US4977582A (en) 1988-03-31 1990-12-11 At&T Bell Laboratories Synchronization of non-continuous digital bit streams
US4942574A (en) 1988-03-31 1990-07-17 American Telephone And Telegraph Company, At&T Bell Laboratories Concurrent resource request resolution mechanism
US4897874A (en) 1988-03-31 1990-01-30 American Telephone And Telegraph Company At&T Bell Laboratories Metropolitan area network arrangement for serving virtual data networks
US4899333A (en) 1988-03-31 1990-02-06 American Telephone And Telegraph Company At&T Bell Laboratories Architecture of the control of a high performance packet switching distribution network
US4896319A (en) 1988-03-31 1990-01-23 American Telephone And Telegraph Company, At&T Bell Laboratories Identification and authentication of end user systems for packet communications network services
US4894824A (en) 1988-03-31 1990-01-16 American Telephone And Telegraph Company, At&T Bell Laboratories Control network for a rapid connection circuit switch
US4872159A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company At&T Bell Laboratories Packet network architecture for providing rapid response time
US4872157A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Architecture and organization of a high performance metropolitan area telecommunications packet network
US4875206A (en) 1988-03-31 1989-10-17 American Telephone And Telegraph Comopany, At&T Bell Laboratories High bandwidth interleaved buffer memory and control
JP3062155B2 (ja) * 1998-07-31 2000-07-10 三菱電機株式会社 計算機システム
DE10001875C2 (de) 2000-01-18 2002-01-24 Infineon Technologies Ag Optisches Sende-/Empfangsmodul mit internem Lichtwellenleiter
JP2003131900A (ja) * 2001-10-24 2003-05-09 Hitachi Ltd サーバシステム運用管理方式
US20030208609A1 (en) 2002-05-01 2003-11-06 Verizon Services, Corp. Automatic configuration of advanced services over DSL
JP4339763B2 (ja) * 2004-09-07 2009-10-07 株式会社日立製作所 フェイルオーバ方法及び計算機システム
US9332069B2 (en) 2012-12-28 2016-05-03 Wandisco, Inc. Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
US8364633B2 (en) 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
US20060183469A1 (en) 2005-02-16 2006-08-17 Gadson Gregory P Mobile communication device backup, disaster recovery, and migration scheme
US8085808B2 (en) 2005-05-12 2011-12-27 Verizon Services Corp. Automatic configuration of network devices for network services
US8799512B2 (en) 2005-10-19 2014-08-05 Qwest Communications International Inc. Cross-platform support for a variety of media types
CN1980230B (zh) 2005-11-30 2011-06-01 华为技术有限公司 对vrrp组进行管理的方法
US7596369B2 (en) 2006-04-05 2009-09-29 Qwest Communications International, Inc. Translation of messages between media types
US8102813B2 (en) 2006-04-28 2012-01-24 Microsoft Corporation Coordinating a transition of a roaming client between wireless access points using another client in physical proximity
CN100583783C (zh) 2007-11-06 2010-01-20 北京航空航天大学 基于配置策略的电信领域遗留***集成工具
US7916647B2 (en) 2007-11-07 2011-03-29 Brocade Communications Systems, Inc. Automatic adjustment of logical channels in a fibre channel network
US9172722B2 (en) 2008-04-30 2015-10-27 Telecom Italia S.P.A. Method for network access, related network and computer program product therefor
ES2807608T3 (es) 2009-10-29 2021-02-23 Nokia Solutions & Networks Oy Aparato y método con servidor que incluye datos replicados desde el dispositivo móvil
CN102118294B (zh) 2009-12-31 2013-06-26 杭州华三通信技术有限公司 堆叠环形拓扑下的负荷分担方法及设备
CN103098070B (zh) * 2010-09-23 2016-03-30 惠普发展公司,有限责任合伙企业 用于监视网络服务中数据位置的方法、装置和***
CN102202046B (zh) * 2011-03-15 2012-10-17 北京邮电大学 面向网络化操作***的可信任虚拟运行平台
US9984363B2 (en) 2011-06-20 2018-05-29 Mitel Networks Corporation System providing relevant services to transient devices in wireless networks and methods thereof
US8997107B2 (en) * 2011-06-28 2015-03-31 Microsoft Technology Licensing, Llc Elastic scaling for cloud-hosted batch applications
US8515488B2 (en) 2011-07-29 2013-08-20 Mitel Networks Corporation System for dynamic assignment of mobile subscriber identities and methods thereof
CN102567080B (zh) 2012-01-04 2015-03-04 北京航空航天大学 一种云计算环境中的面向负载均衡的虚拟机择位***
US9201704B2 (en) * 2012-04-05 2015-12-01 Cisco Technology, Inc. System and method for migrating application virtual machines in a network environment
US9264516B2 (en) 2012-12-28 2016-02-16 Wandisco, Inc. Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment
WO2014124558A1 (zh) 2013-02-18 2014-08-21 华为技术有限公司 一种用户设备组切换方法、设备和***
CN103346924A (zh) 2013-06-04 2013-10-09 广东电网公司电力调度控制中心 通信网络实时监视方法及***
US9276959B2 (en) * 2013-11-11 2016-03-01 Amazon Technologies, Inc. Client-configurable security options for data streams
CN103648088B (zh) 2013-11-18 2016-10-05 上海华为技术有限公司 一种网络资源控制方法和装置
JP2015103092A (ja) * 2013-11-26 2015-06-04 株式会社日立製作所 障害回復システム及び障害回復システムの構築方法
CN103986665A (zh) 2014-05-12 2014-08-13 浪潮电子信息产业股份有限公司 云海os中网络负载均衡的方法
US10678880B2 (en) * 2014-08-07 2020-06-09 Greenman Gaming Limited Digital key distribution mechanism
US9417897B1 (en) 2014-12-05 2016-08-16 Amazon Technologies, Inc. Approaches for managing virtual instance data
US9525672B2 (en) 2014-12-19 2016-12-20 Amazon Technologies, Inc. Multi-faceted compute instance identity

Also Published As

Publication number Publication date
KR20180104639A (ko) 2018-09-21
EP3403432B1 (en) 2020-11-18
WO2017123845A1 (en) 2017-07-20
CN108464031B (zh) 2019-11-08
CN108464031A (zh) 2018-08-28
US10154087B2 (en) 2018-12-11
EP3403432A4 (en) 2019-08-28
JP2019507413A (ja) 2019-03-14
EP3403432A1 (en) 2018-11-21
US20170208123A1 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
US10523545B2 (en) System and method for managing VoIP session continuity information using logical scalable units
US10630779B2 (en) System and method for using VoIP session continuity information using logical scalable units
US10089307B2 (en) Scalable distributed data store
US10069707B2 (en) System and method for seamless horizontal scaling using logical scalable units
US9450700B1 (en) Efficient network fleet monitoring
US9363177B2 (en) System and methods for communicating in a telecommunication network via independent key routing and proxies
EP3598877A1 (en) Automated self-healing database system and method for implementing the same
US20140344326A1 (en) Systems and methods for deploying a spotted virtual server in a cluster system
US10439917B2 (en) Recovering a replica in an operator in a data streaming processing system
US10459922B2 (en) Unique identification generation for records in a data streaming processing system
US9380018B2 (en) System and method for communicating in a telecommunication network via common key routing and proxies
JP6675490B2 (ja) 通信ネットワークにおけるデータベースに基づく冗長化
EP3065379A1 (en) System and method for volte session continuation using logical scalable units
US9338126B2 (en) System and method for communicating in a telecommunication network via independent key routing and data locality tables
CN112540827A (zh) 一种基于k8s平台的负载均衡***及实现方法
EP2670111A1 (en) System and Methods for Communicating in a Telecommunication Network Using Common Key Routing and Data Locality Tables
US10929250B2 (en) Method and system for reliably restoring virtual machines
US12007850B2 (en) Method and system for generating backup of a large file and optimizing resource utilization
US20220343007A1 (en) Method and system for limiting access of multiple data nodes to shared storage during the performance of data protection services through load balancing
JP2021197657A (ja) 通信制御システム、通信方法およびプログラム
EP4272413A1 (en) Synchronizing communication channel state information for high flow availability

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190829

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190829

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200310

R150 Certificate of patent or registration of utility model

Ref document number: 6675490

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250