JP2017529768A - ネットワークサービス認識ルータ及びそれらの応用 - Google Patents

ネットワークサービス認識ルータ及びそれらの応用 Download PDF

Info

Publication number
JP2017529768A
JP2017529768A JP2017510661A JP2017510661A JP2017529768A JP 2017529768 A JP2017529768 A JP 2017529768A JP 2017510661 A JP2017510661 A JP 2017510661A JP 2017510661 A JP2017510661 A JP 2017510661A JP 2017529768 A JP2017529768 A JP 2017529768A
Authority
JP
Japan
Prior art keywords
router
service
thread
network
instructions
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.)
Pending
Application number
JP2017510661A
Other languages
English (en)
Other versions
JP2017529768A5 (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
Priority claimed from US14/473,476 external-priority patent/US8964596B1/en
Application filed by レベル スリー コミュニケーションズ,エルエルシー, レベル スリー コミュニケーションズ,エルエルシー filed Critical レベル スリー コミュニケーションズ,エルエルシー
Publication of JP2017529768A publication Critical patent/JP2017529768A/ja
Publication of JP2017529768A5 publication Critical patent/JP2017529768A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/563Software download or update

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一実施形態において、コンピュータにより実施される方法により、ネットワーク上でサービスを提供する。当該方法は、(a)ルータ上で、遠隔サーバからの実行可能な複数の命令を要求する段階であって、実行可能な複数の命令は、ルータがどのようにネットワークのユーザのために要求されたサービスを提供するよう動作するかを特定する、段階と、(b)それらの命令を受信する段階と、(c)受信された命令を実行するよう、ルータ上でスレッドを初期化する段階と、(d)ルータの設定が変更されているかを判断する段階と、(e)ルータの設定が変更されていると判断された場合、ルータの設定における変更に従って、サービスを適用するよう、初期化されたスレッド上でそれらの命令を実行する段階とを備える。

Description

本分野は、概して、ネットワーク設定に関する。
通信ネットワークは、例えば、データが2つの地理的に遠く離れた場所の間で転送されることを可能にするネットワーク接続を提供し得る。ネットワーク接続は、ルータのような複数の通信デバイスを接続する複数のリンクに及び得る。ネットワークは、リンクがどのように、通信デバイスを介して相互接続するかに応じて異なるトポロジを有し得る。特定のネットワークのトポロジが与えられたとき、複数のルートが、送信元と宛先との間で利用可能であり得る。
サービスプロバイダが、接続サービスのようなネットワークサービスを提供する通信ネットワークを設定し得る。サービスプロバイダは、特定のレベルの帯域幅、待機時間、またはジッタなどの特定のサービスレベルで接続サービスを維持し得る。例えば、ユーザが、400Mビット/秒の帯域幅を有するその場所のうちの2つの間において、イーサネット(登録商標)接続を要求し得る。
ネットワークサービスを提供する通信ネットワークを設定するために、提供サーバが、ネットワーク接続のルートに沿って複数のルーティングデバイスに設定メッセージを送信し得る。設定メッセージは、例えば、特定のユーザからの、またはサービスを介する送信において提供するべく、データをどのようにルーティングするか、またはサービスレベルのデータをルーティングするよう複数のルーティングデバイスを命令し得る。
ネットワークサービスに対して変更を追加または実行するために、サービスプロバイダのネットワークは一般に、インベントリデータベースを用いる。インベントリデータベースは、異なるユーザ、それらの関連ネットワークサービス、及びネットワークサービスを提供するために用いられるルーティングデバイスを追跡する。新しいサービスがインベントリデータベースに追加された場合、提供サーバは、インベントリデータベースにおける関連ルーティングデバイスに、設定メッセージをプッシュする。例えば、サービスレベルを変更するよう既存サービスが修正された場合、提供サーバは、メッセージをどのルーティングデバイスに送信するかを判断するべく、インベントリデータベースを調べ得る。このように、中央提供サーバ及びインベントリデータベースは、一般に、どのルーティングデバイスを設定する必要があるかを判断する。
中央提供サーバにどのルーティングデバイスを設定するかを判断させることは、利点がある一方、ボトルネックも生じさせ得る。サービスの提供を遅延させ得る。また、ルーティングデバイスが異種な場合があり、提供サーバに様々な異なる種類の機器を設定させることが、さらなる複雑さをもたらし得る。
一実施形態において、コンピュータにより実施される方法により、ネットワーク上でサービスを提供する。方法は、(a)ルータ上で、遠隔サーバから実行可能な複数の命令を要求する段階であって、実行可能なそれらの命令は、ルータがどのようにネットワークのユーザのために要求されたサービスを提供するよう動作するかを特定する、段階と、(b)それらの命令を受信する段階と、(c)受信されたそれらの命令を実行するよう、スレッドをルータ上で初期化する段階と、(d)ルータの設定が変更されているかを判断する段階と、(e)ルータの設定が変更されていると判断された場合、ルータの設定における変更に従って、サービスを適用するよう、初期化されたスレッド上でそれらの命令を実行する段階とを備える。
システム及びコンピュータプログラム製品の実施形態も開示される。
本発明の複数のさらなる実施形態、特徴、及び利点、並びに様々な実施形態の構造及び操作が、以下にて複数の添付図面を参照して詳細に説明される。
本明細書に組み込まれ、本明細書の一部を形成する添付図面は、本開示を図示し、本説明と合わせて、本開示の複数の原理を説明し、当業者が本開示を作成及び使用することができるようにさらに役に立つ。
一実施形態に係る、複数のルーティングデバイスに、実行可能な複数のサービスを提供するためのシステムのダイアグラムである。
一実施形態に係る、図1のシステムのルーティングデバイスをより詳細に示すダイアグラムである。
一実施形態に係る、スイッチに新しいサービスを提供するための方法のフローチャートである。
一実施形態に係る、スイッチの設定を変更するための方法のフローチャートである。
概して、要素が初めて現れる図面は、対応する参照番号の左端の1桁または複数の桁の数字により示されている。それらの図面において、同様の参照番号は、同一または機能的に同様の要素を示し得る。
上述のように、中央提供サーバ及びインベントリデータベースに複数のネットワークサービスを統合させることで、遅延及び複雑さをもたらす場合がある。このことを対処するために、本明細書における複数の実施形態は、複数のルーティングデバイスが、オーケストレーションサーバ処理を行うことなく、サービス変更を動的に学習することを可能にする。
図1は、一実施形態に係る、複数のルーティングデバイスに、実行可能な複数のサービスを提供するためのシステム100のダイアグラムである。システム100は、2つのユーザサイト、ユーザサイト102及び104を接続するサービスプロバイダのネットワーク106を備える。
一例において、ユーザサイト102及び104のそれぞれは、顧客の場所であり得、顧客は、サービスプロバイダのネットワーク106がその2つの場所の間の接続を提供することを要求し得る。サービスプロバイダのネットワーク106は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、またはワイドエリアネットワーク(WAN)であり得る。サービスプロバイダのネットワーク106は、任意のポイント・ツー・ポイントまたはマルチポイント・ツー・マルチポイントのネットワーキングプロトコルを利用し得る。用いられる複数のネットワークアクセスプロトコルは、例えば、マルチプロトコルラベルスイッチング(MPLS)、イーサネット(登録商標)、非同期転送モード(ATM)、ハイレベルデータリンク制御(HDLC)、またはパケットリレーを含み得る。
サービスプロバイダのネットワーク106は、ルーティングデバイス120、122、及び124などの複数のルーティングデバイスを含む。ルーティングデバイス120、122、及び124は便宜上、本明細書において、場合によって、ルータとして称される。複数のルーティングデバイス、またはルータは、リンクにより相互接続される。例えば、ルーティングデバイス120及び122は、リンク130により接続される。ルーティングデバイスは、パケットを転送する機器であり、データリンク層(オープンシステム相互接続層2)及びネットワーク層(オープンシステム相互接続層3)における機器を含む。
パケットを受信次第、ルーティングデバイスは、例えば、ルータのルーティングテーブルなどのルータ自体の設定、及び、パケットの宛先アドレスなどのパケットの特性に基づき、どのリンクで転送するかを判断し得る。上述のように、典型的なシステムにおいて、この設定に対する変更は、中央オーケストレーションシステムを介して行われる。例えば、ユーザは、将来のある時間に対して帯域幅の増加を予定し得る。オーケストレーションサーバがスケジューリングされた時間になったと判断した場合、オーケストレーションサーバは、帯域幅の増加を可能にするよう、複数のルーティングデバイスに、それらの設定を変更するよう複数の命令を送信し得る。このように、オーケストレーションサーバは、ネットワークサービスの変更をどのように提供するかを説明する機能を実行し得る。
ここで開示されている複数の実施形態において、ネットワークサービスをどのように提供するかを判断するこの機能は、オーケストレーションサーバ上で発生しない場合があるが、ルーティングデバイス自体の上で発生し得る。特に、ルーティングデバイス120、122、及び124のそれぞれは、サービスをどのように実装するかを特定する処理140、142、及び144といった動作する処理をそれぞれ有する。処理、またはデーモンは、そのルーティングデバイス内における実行のそれ自体のスレッドを動作させ得る。処理、またはデーモンは、特定のユーザに属しているか、若しくはサービスに割り当てられている、新しいトラフィックが受信された場合、特定の機能を実行し得る。さらに、処理、またはデーモンは、設定変更がそのサーバ上で行われる場合に、特定の機能を実行し得る。まださらに、処理、またはデーモンは、受信されたトラフィックに関わらず、特定の機能を定期的に実行し得る。このように、複数の実施形態によれば、複数のルータ自体が複数のネットワークサービスを実装することが可能である。
しかし、複数のネットワークサービスを実装する機能を複数のルーティングデバイスに実行させることはまだ、特定の外部の遠隔サーバを必要とすることを除去していない場合がある。特に、システム100は、ルーティングデバイス120、122、及び124が、それらのそれぞれのサービス処理140、142、及び144をロードするように通信するネットワーク制御サーバ110を含む。ルーティングデバイス120、122、及び124と通信するために、ネットワーク制御サーバ110は、サービスプロバイダのネットワーク106に含まれ、または連結され得る。
ネットワーク制御サーバ110は、提供モジュール114と、サービスモジュール112とを含む。提供モジュール114は、サービスプロバイダのネットワーク106の加入したユーザ及び関連サービスのリストを維持する。ルーティングデバイスが新規ユーザに属するトラフィックを検出した場合、ルーティングデバイスは、ネットワーク制御サーバ110にメッセージを送信し得、ネットワーク制御サーバ110は次に、それを提供モジュール114に転送する。メッセージに応答して、提供モジュール114は、特定のユーザを識別するデータ(送信元アドレスまたはサブネットなど)を、関連サービスにマッピングするデータベース(示さず)などのメモリに照会し得る。次に、提供モジュール114は、その照会の結果を、その要求を行ったルーティングデバイスに送り返し得る。その応答は、ユーザが加入したサービスのそれぞれを識別し得る。
ルーティングデバイスがサービスのリストを受信した場合、ルーティングデバイスは、別のメッセージをネットワーク制御サーバ110に送信し得、ネットワーク制御サーバ110は、今回、その要求をサービスモジュール112に転送する。サービスモジュール112は、サービスプロバイダのネットワーク106により提供される全てのサービスを列挙するレポジトリを含み得る。各サービスに対して、レポジトリは、ルーティングデバイスがどのようにサービスを提供するよう動作するかの複数の命令を含む実行可能なファイルを含み得る。実行可能なファイルは、例えば、コンパイルの2進数の実行可能なファイル、または未コンパイルのスクリプトであり得る。その要求に応答して、サービスモジュール112は、要求されたサービスのために実行可能なファイルを引き出し得、それらをルーティングデバイスに戻し得る。明確さのために、サービスモジュール112及び提供モジュール114が本明細書において単一のサーバ上に示されている一方、それらは、別個のサーバ上にも実装され得る。
実行可能なファイルを受信次第、ルーティングデバイスは、各サービスに対するスレッドを初期化し得る。スレッドは、要求されたサービスの機能を提供する。
図1では、処理140、142、及び144が異なるルーティングデバイス上で動作しているので、異なる参照番号を用いて処理140、142、及び144を識別する。しかし、処理140、142、及び144のそれぞれは、サービスモジュール112から引き出された同じ実行可能なファイルの具体化であり得る。その実行可能なファイルは、サービス全体、及び、そのサービスを提供することに参加するルーティングデバイス120、122、及び124のそれぞれに対し、機能を特定し得る。しかし、処理140、142、及び144が同じサービス実行ファイルを実行している場合があったとしても、それらは、異なる機能を有し得る。特に、サービス実行ファイルは、異なるルーティングデバイスに対して異なる機能を特定し得る。起動時、処理は、デバイスを識別して実行可能なファイルが特定のデバイスのために特定した機能を実行するよう、ルーティングデバイスの設定をチェックし得る。
一例において、ユーザは、ユーザのネットワークのトラフィックに関する複数のメトリックを収集するサービスに加入し得る。従来、サービスを実装するために、オーケストレーションサーバは、ユーザのトラフィックに関わるルーティングデバイスのその情報を用いて、それらのメトリックについてそれらに照会するルーティングデバイスに、要求を定期的に送信する。しかしながら、ここで開示されている一実施形態において、処理140、142、及び144は、データを収集し、加入したサービスにより特定されると、そのデータを提供し得る。
別の例において、ユーザは、時間にわたって特定のサービスレベルを変更する動的容量サービスに加入し得る。変更は、スケジューリングされた時間におけるものであり得、または、変更は、ネットワーク状態に応答するものであり得る。例えば、特定の使用メトリック(帯域幅の利用など)が閾値を超えた場合、サービスは、接続のためにより大きい帯域幅を可能にするよう、ルータ上のポリサを変更し得る。従来、オーケストレーションサーバは、時間またはネットワーク状態を監視し、ルーティングデバイスに、いつスケジューリングされた時間またはネットワーク接続が合致するかの命令を送信し得る。しかしながら、ここで開示されている一実施形態において、ルーティングデバイス自体の上で動作する処理140、142、及び144は、ルータの設定情報(その設定された時間または利用情報など)を用いて、いつ適切な時間になるか、またはいつ状態がトリガするかを判断し得る。処理は、適切な時間になった、または状態がトリガしたと判断した場合、処理は、加入した動的容量サービスに従って、新しいサービスレベルを提供するよう、ルーティングデバイスの設定を変更する。
いくつかの実施形態において、複数の処理140、142、及び144は、それら自体のサービスネットワーク150を形成するように互いに通信し得、サービスネットワーク150は、サービスを提供するべく、協働して動作するルータのグループである。サービスネットワーク150を確立するために、処理140、142、及び144のうち少なくとも1つは、他のどのルータがサービスを提供することに参加するかを発見し得る。それらの処理のうちの1つは、先導的な役割を果たし、他のどのルータがサービスに参加しているかを識別するよう、ディスカバリメッセージをブロードキャストする。または、それらの処理は、互いを同等のものとして扱い、サービスを提供することに関わる近隣のルーティングデバイスを識別するパケットを交換し得る。
例えば、処理140、142、及び144は、データを、サービスネットワーク150を介してどのように転送するかを発見するよう、互いに通信し得る。各処理は、ルーティングデバイスの近隣を学習し、サービスネットワーク150における他のルータにその情報を通信し得る。例えば、処理144は、ルータ124の設定情報を調べることによって、ルータ124の近隣を学習し得る。設定情報から、処理144は、そのルータ124がポート162を介してユーザサイト104に接続されることを学習し得る。次に、処理144は、ルータ122及びそのサービス処理142に、その情報を通信し得る。次に、サービス処理142は、ルータ122及びサービス処理140に、ルータ124を介してユーザサイト104に到達し得ることを示すメッセージを送信し得る。その到達可能性情報を用いて、ルータは、サービスネットワークを介してデータを転送し得る。例えば、サービス処理140が、ユーザサイト104のために定められたユーザサイト102からトラフィックを受信した場合、サービス処理140は、そのトラフィックをルーティングデバイス122にルーティングし得、ルーティングデバイス122は次に、ルーティングデバイス124を介して、そのトラフィックをユーザサイト104にルーティングし得る。このようにサービスネットワークを発見することによって、処理140、142、及び144は、各ルーティングデバイスにルーティング命令を送信するオーケストレーションサーバを必要とすることなく、加入したサービスに従って、協働してトラフィックをルーティングし得る。
サービスネットワークを用いて送信元から宛先へトラフィックをルーティングすることに加えて、サービスネットワークはまた、送信元から宛先まで、異なるルートの間で負荷バランシングをし得る。例えば、図1のルーティングデバイス126がサービスネットワーク150の一部であることを仮定する。例えば、処理140は、(例えば、上述のようにディスカバリパケットをブロードキャストすることによって、)サービスネットワークのトポロジを発見し得る。そのトポロジから、処理140は、複数の経路がユーザサイト102とユーザサイト104とを接続させるかを判断し得る。特に、ルータ120が、ユーザサイト104のために定められたユーザサイト102からデータを受信した場合、処理140は、データをルータ122または126にルーティングするか否かを判断し得る。ルータ122及び126の両方とも、ルータ124を介してユーザサイト104へと導く。ネットワークにわたってトラフィックのバランスをとるために、処理140は、それぞれの経路上のルータからの利用情報に基づきその判断をし得、ことによると、他のサービス処理自体により収集され処理140に送信され得る。代替的には、処理140は、ラウンドロビンまたは当業者が認識し得る他の方式を用いて、経路の間でトラフィックのバランスをとり得る。
このように、複数の実施形態によれば、サービスを提供する機能が、オーケストレーションサーバからルーティングデバイスへ移動される。例示的なルーティングデバイスが、図2にてより詳細に示されている。
図2は、ルーティングデバイス120をより詳細に示すダイアグラム200である。ルーティングデバイス120は、カーネル204を含む。
カーネル204は、コンピューティング分野において既知のものであり、ルーティングデバイス120のオペレーティングシステムである。カーネル204は、ソフトウェアからの入力及び出力要求を管理し、ルーティングデバイスの中央処理ユニット及び他の電子設定要素のために、入力及び出力要求をデータ処理命令に変換するコンピュータプログラムである。カーネル204はまた、ルーティングデバイス120上で実行する様々な同時スレッドを管理する。
設定ファイル202が、ルーティングデバイス120上に格納される。設定ファイル202は、サービスプロバイダのネットワーク106に加入する全ての異なるユーザ、または、少なくとも、ルータ120を利用するサービスに加入する全ての異なるユーザの情報を有し得る。例えば、設定ファイル202は、ルータ120の特定のポートが特定のユーザに属することを示し得る。ダイアグラム200において、ルータ120は、例えば、複数のポート220、222、及び224を有する。ポート220は、ユーザサイト102でネットワークに接続される。なお、設定ファイル202は、ポート220を、ユーザサイト102でネットワークを有するユーザに関連付けさせ得る。複数の他の例において、ルーティングデバイス120は、データの送信元アドレスを検査することによって、そのデータが特定のユーザに属することを認識し得る。その例において、設定ファイル202は、送信元アドレス、または各ユーザに関連付けられる送信元アドレスの範囲(インターネットプロトコルサブネットなど)を有し得る。
一実施形態において、管理者が、設定ファイル202の態様を規定し得る。複数の他の例において、設定ファイル202、またはその一部は、例えば、ルータ120上のサービスローダ処理210により、ネットワーク制御サーバ110からロードされ得る。ルータ120またはカーネル204は、起動時にサービスローダ210を始動させるよう設定され得る。一旦始動させると、サービスローダ210は、現在のユーザのリストについてネットワーク制御サーバ110に照会する。サービスローダ210はまた、現在のユーザのリストにおける更新についてチェックするよう、ネットワーク制御サーバ110に定期的に照会し得る。図1に関連して上述したように、サービスローダ210が新規ユーザを検出した場合、サービスローダ210はまず、ユーザが加入するサービスのリストについてネットワーク制御サーバ110に照会し得、次に、サービスに対応する実行可能なファイルについて、ネットワーク制御サーバ110に再び照会し得る。
一旦、複数の実行可能なファイルがルータ120で受信されると、カーネル204またはサービスローダ210は、それらをサービスデーモン208として始動させ得る。サービスデーモン208のそれぞれは、図1に関連して説明したように、サービスを実行する機能を実装する処理である。サービスを実行するために、サービスデーモン208は、例えば、設定ファイル202に対する変更をリッスン(listen)し得る。変更に応答して、サービスデーモン208は、サービスを実装するよう、例えば、ルータのルーティングテーブル、または他の設定情報を更新するなど、設定ファイル202に対する追加の変更を書き込み得る。いくつかの実施形態において、サービスデーモン208はまた、着信トラフィックをリッスンし、特定のアドレスから起こるなどの特定の条件を満たすトラフィックがいつ受信されるかを通知され得る。
この設定は、サービスが自動的に更新され得るという点でフレキシブルである。サービスデーモン208は、いつ変更が必要とされるかを検出し、更新をアクセスするよう、ネットワーク制御サーバ110に報告し得る。例えば、サービスデーモン208は、そのルータ120がもはや、サービスネットワークにおける他のルータに接続されていないかを検出し、必要とされたインストールされたサービスを更新するよう、ネットワーク制御サーバ110に報告し得る。
加えて、サービスの機能が分散されているので、より回復力が高い。例えば、従来システムにおいて、単一の提供サーバが、ネットワークにわたってサービスを統合することを担当し得る。提供サーバがダウンすると、バックアップができるまで、サービスプロバイダのネットワーク上のかなりのサービスが操作不可能となり得るはずである。実際には、単一の提供サーバが、単一の点の故障を生じさせる。しかし、ルータがサービス自体を実装し、ルータがダウンする場合、その故障したルータにより提供されたサービスのみが影響を受け得る。このように、ルータは、より自律的であるように作られており、ネットワークは、より回復力が高いように作られている。
図3は、一実施形態に係る、スイッチに新しいサービスを提供するための方法300のフローチャートである。
方法300は、ルータ120が、ユーザがネットワークに新たに接続されたと判断した場合に、段階302から開始する。この段階は、例えば、ルータ120の設定ファイルが、新規ユーザがサービスプロバイダのネットワークに加入していることを反映するよう更新された場合に、起こり得る。設定ファイルは、オペレータにより、または、例えば、ユーザからのオーダに応答して作動する提供システムにより、更新され得る。
段階304では、ルータ120は、ユーザが加入したサービスのリストについて、遠隔サーバに、特にネットワーク制御サーバ110に照会する要求を送信する。その照会に応答して、段階306では、ネットワーク制御サーバ110は、サービスを調べ、ユーザが加入したサービスを識別する情報を、ルータ120に送り返す。
ユーザがどのサービスに加入したかを識別する情報を受信次第、ルータ120は、自体がどのサービス実行ファイルを必要としているかを判断する。サービスのうちのいくつかについて、ルータ120は実行可能なファイルのコピーを既に有している場合があり、動作するサービスデーモンをさらに既に有している場合がある。そうではない場合のそれらについて、段階308で、ルータ120は、別の要求をネットワーク制御サーバ110に送信する。この要求は、サービスを識別する。ネットワーク制御サーバ110は、このサービスをこのユーザに提供するためには、このルータは、いかなる実行可能なファイルも動作させる必要がないことを判断し得る。しかし、ネットワーク制御サーバ110は、ルータが実行可能なファイルを動作させる必要があると確かに判断した場合、ネットワーク制御サーバ110は、要求されたサービスのそれぞれに対して実行可能なファイルを戻す。
実行可能なファイルを受信次第、ルーティングデバイス120は、受信した実行可能なファイルのそれぞれに対する処理を初期化する。動作している処理を用いて、それらは、ネットワークサービスを提供することに参加し得る。ネットワークサービスを提供するために、図4に示されているように、それらの処理は、ルータの設定における変更をリッスンし得る。
図4は、一実施形態に係る、スイッチの設定を変更するための方法400のフローチャートである。
方法400は、カーネル204がルータ設定における変更を検出した場合に、段階402から開始する。カーネル204がルータ設定における変更を検出した場合、カーネル204は、段階404で、変更をリッスンしている任意のデーモンに、この場合はデーモン208に、通知する。通知は、例えば、特定の変更が発生した場合、カーネル204が呼び出すコールバック機能を介して、非同期的に発生し得る。別の例において、デーモン208は、変更についてルータ設定を定期的にチェックし得る。
通知を受信次第、デーモン208は、サービスを提供するよう、実行可能なファイルにおいて特定された機能を実行する。段階404で、例えば、動的容量の例において、ルータ設定は、ユーザの帯域幅の利用に対するデータを含み得、デーモン208は、その利用レベルにおける変更を通知され得る。段階406で、デーモン208は、利用レベルが閾値などの条件を満たすかを調べるようチェックし得、満たす場合、デーモン208は、ユーザに関連付けられる帯域幅の制限を変更するよう、ルータ設定を変更させ得る。
上述のように、デーモン208は、多岐にわたるサービスを提供し得る。上の複数の例において、デーモン208は、(イーサネット(登録商標)e−lineなどの)ネットワーク接続を提供し、複数のネットワークメトリックを収集し、動的容量を提供し、ルート判断及び負荷バランシングを提供し得る。他のサービスも、デーモン208により提供され得る。例えば、デーモン208は、人工ニューラルネットワーク、圧縮、ファイアウォール、侵入検出、またはワイドエリアネットワーク(WAN)アクセラレーションを提供し得る。
上述のように、異なる処理上で動作する様々なサービス処理が、サービスを提供することに共に参加するルータのグループを形成するよう、互いに通信し得る。上の複数の例において、ルータのグループは、ルート判断及び負荷バランシングを提供するよう、共に動作し得る。グループが提供し得る他のサービスは、トラフィック切り替え、(例えば、混雑または故障した設定要素に応答する)再ルーティング、及びルータグループ全体の利用を反映する集合された複数のメトリックの収集であり得る。
図1及び図2の機器及びモジュールのそれぞれは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせに実装され得る。
図1及び図2の機器及びモジュールのそれぞれは、同じまたは異なるコンピューティングデバイス上に実装され得る。そのようなコンピューティングデバイスは、パーソナルコンピュータ、携帯電話などのモバイルデバイス、ワークステーション、埋め込みシステム、ゲームコンソール、テレビ、セットトップボックス、または任意の他のコンピューティングデバイスを含み得るが、それらに限定されない。さらに、コンピューティングデバイスは、命令を実行し格納するためのプロセッサ及び非一時的メモリを含むメモリを有するデバイスを含み得るが、それに限定されない。メモリは、データ及びプログラム命令を有形に具体化し得る。ソフトウェアは、1つまたは複数のアプリケーションと、一オペレーティングシステムを含み得る。ハードウェアは、プロセッサ、メモリ、及びグラフィカル・ユーザ・インタフェース・ディスプレイを含み得るが、これらに限定されない。コンピューティングデバイスはまた、複数のプロセッサ及び複数の共有または別個のメモリ設定要素を有し得る。例えば、コンピューティングデバイスは、クラスタ型または分散型コンピューティング環境またはサーバファームの一部またはその全体であり得る。
「(a)」、「(b)」、「(i)」、「(ii)」などのような識別子は、場合によって、異なる要素または段階のために用いられる。これらの識別子は、明確さのために用いられ、必ずしも要素または段階の順序を指定するものではない。
本発明は、複数の特定機能及びそれらの関係の実装を示す複数の機能的設定単位を用いて上述されている。これらの機能的設定単位の境界は、説明の便宜上、本明細書において任意に画定されている。複数の特定機能及びそれらの関係が適切に実行される限り、代替の境界が画定され得る。
複数の具体的な実施形態についての前述の説明は、本発明の一般的性質を十分に明らかにしているので、当技術分野の技術内の情報を応用することで、過度の実験なしに、本発明の一般的概念から逸脱することなく、その他の人々がそのような複数の具体的な実施形態を容易に修正し得る、及び/または様々な用途に容易に改作し得る。従って、そのような改作及び修正は、本明細書に提供された教示及び指導に基づいて、開示された複数の実施形態の均等物の趣旨内及び範囲内であるよう意図されている。本明細書の語句または用語は、説明を目的とするものであって限定するものではなく、これにより本明細書の語句または用語は、教示及び指導を考慮して当業者により解釈されることになることが理解されるべきである。
本発明の広さ及び範囲は、上述された複数の例示的実施形態の何れによっても限定されるべきではなく、次の特許請求の範囲及びその均等物のみに基づいて画定されるべきである。

Claims (21)

  1. ネットワーク上でサービスを提供するための、コンピュータにより実施される方法であって、
    (a)ルータ上で、遠隔サーバから実行可能な複数の命令を要求する段階であって、実行可能な前記複数の命令は、前記ルータがどのように前記ネットワークのユーザのために要求されたサービスを提供するよう動作するかを特定する、段階と、
    (b)前記複数の命令を受信する段階と、
    (c)前記ルータ上で、受信された前記複数の命令を実行するよう、スレッドを初期化する段階と、
    (d)前記ルータの設定が変更されているかを判断する段階と、
    (e)前記ルータの前記設定が変更されていると判断された場合、前記ルータの設定における前記変更に従って前記サービスを適用するよう、初期化された前記スレッド上で前記複数の命令を実行する段階と
    を備える
    方法。
  2. (f)前記ルータ上で、前記ユーザが前記ネットワークに新たに接続されるかと判断する段階と、
    (g)前記ルータは前記ユーザが新たに接続されると判断した場合、前記ユーザが加入したサービスについて前記遠隔サーバに照会する段階と
    をさらに備える請求項1に記載の方法。
  3. 前記ネットワーク上の複数のルータは、前記サービスを提供し、実行可能な前記複数の命令は、前記複数のルータの全てがどのように特定された前記サービスを提供するよう動作するかを特定する、請求項1または2に記載の方法。
  4. (f)前記ルータでネットワークのトラフィックを評価し、前記トラフィックが前記ネットワークの前記ユーザに関連付けられるか否かを判断する段階と、
    (g)前記ルータは前記トラフィックが前記ネットワークの前記ユーザに関連付けられると判断した場合、前記スレッドに、前記トラフィック上にサービスを適用するよう通知する段階と
    をさらに備える請求項1に記載の方法。
  5. (f)前記サービスにおける変更について前記遠隔サーバを定期的にチェックする段階と、
    (g)前記サービスが変更した場合、前記ルータがどのように動作するかを特定する、更新された実行可能な複数の命令を前記ルータで受信する段階と
    をさらに備える請求項1に記載の方法。
  6. (f)第2ルータ上で動作する第2スレッドからパケットを前記スレッドで受信する段階であって、前記第2スレッドは、遠隔サーバからの前記複数の命令を実行する、段階と、
    (g)前記スレッドで、前記第2スレッドも前記サービスを提供することに参加するかを判断する段階と
    をさらに備える請求項1に記載の方法。
  7. (h)第3ルータ上で動作する第3スレッドからのパケットを前記スレッドで受信する段階であって、前記第3スレッドは、遠隔サーバからの前記複数の命令を実行する、段階と、
    (i)前記第3スレッドが前記サービスを提供することに参加するかを前記スレッドで判断する段階と、
    (j)前記第2ルータ及び前記第3ルータの両方を介して到達可能なアドレスのために定められたトラフィックを、前記ルータで受信する段階と、
    (k)前記複数の命令に従って、前記第2ルータまたは前記第3ルータ上で前記トラフィックを転送するか否かを判断する段階と
    をさらに備える請求項6に記載の方法。
  8. (d)判断する前記段階は、前記ユーザに関連付けられて前記ルータにより転送される、ネットワークのトラフィックに関する更新された複数のメトリックを受信する段階を含み、
    (e)実行する前記段階は、前記遠隔サーバに前記複数のメトリックを送信する段階を含む、請求項1に記載の方法。
  9. (d)判断する前記段階は、前記ユーザに関連付けられる帯域幅のトラフィックの量を記述する、更新された情報を受信する段階を含み、
    (e)実行する前記段階は、
    (i)更新された前記情報が条件を満たすか否かを判断する段階と、
    (ii)前記サービスが提供する前記ユーザに割り当てられた帯域幅の量を変更するよう、前記ルータの前記設定を更新する段階とを含む、請求項1に記載の方法。
  10. ネットワーク上でサービスを提供するための方法を実行するよう、少なくとも1つの機械により実行可能な複数の命令のプログラムであって、
    前記方法は、
    (a)ルータ上で、遠隔サーバから実行可能な複数の命令を要求する段階であって、実行可能な前記複数の命令は、前記ルータがどのように前記ネットワークのユーザのために要求されたサービスを提供するよう動作するかを特定する、段階と、
    (b)前記複数の命令を受信する段階と、
    (c)前記ルータ上で、受信された前記複数の命令を実行するよう、スレッドを初期化する段階と、
    (d)前記ルータの設定が変更されているかを判断する段階と、
    (e)前記ルータの前記設定が変更されていると判断された場合、前記ルータの設定における前記変更に従って、前記サービスを適用するよう、初期化された前記スレッド上で、前記複数の命令を実行する段階とを含む、
    プログラム。
  11. 前記方法は
    (f)前記ルータ上で、前記ユーザが前記ネットワークに新たに接続されるかを判断する段階と、
    (g)前記ルータは前記ユーザが新たに接続されると判断した場合、前記ユーザが加入した前記サービスについて前記遠隔サーバに照会する段階とをさらに含む、
    請求項10に記載のプログラム。
  12. 前記ネットワーク上における複数のルータは、前記サービスを提供し、実行可能な前記複数の命令は、前記複数のルータの全てがどのように特定された前記サービスを提供するよう動作するかを特定する、請求項10または11に記載のプログラム。
  13. 前記方法は、
    (f)前記ルータでネットワークのトラフィックを評価して前記トラフィックが前記ネットワークの前記ユーザに関連付けられるか否かを判断する段階と、
    (g)前記ルータは前記トラフィックが前記ネットワークの前記ユーザに関連付けられると判断した場合、前記スレッドに、前記トラフィック上にサービスを適用するよう通知する段階とをさらに含む、請求項10に記載のプログラム。
  14. 前記方法は、
    (f)前記サービスにおける変更について前記遠隔サーバを定期的にチェックする段階と、
    (g)前記サービスが変更した場合、前記ルータがどのように動作するかを特定する、更新された実行可能な複数の命令を、前記ルータで受信する段階とをさらに含む、請求項10に記載のプログラム。
  15. 前記方法は、
    (f)第2ルータ上で動作する第2スレッドからのパケットを前記スレッドで受信する段階であって、前記第2スレッドは、遠隔サーバからの前記複数の命令を実行する、段階と、
    (g)前記第2スレッドも前記サービスを提供することに参加するかを前記スレッドで判断する段階とをさらに含む、請求項10に記載のプログラム。
  16. 前記方法は、
    (h)第3ルータ上で動作する第3スレッドからのパケットを前記スレッドで受信する段階であって、前記第3スレッドは、遠隔サーバからの前記複数の命令を実行する、段階と、
    (i)前記第3スレッドが前記サービスを提供することに参加するかを前記スレッドで判断する段階と、
    (j)前記第2ルータ及び前記第3ルータの両方を介して到達可能なアドレスのために定められたトラフィックを前記ルータで受信する段階と、
    (k)前記複数の命令に従って、前記第2ルータまたは前記第3ルータ上で前記トラフィックを転送するか否かを判断する段階とをさらに含む、請求項15に記載のプログラム。
  17. (d)判断する前記段階は、前記ユーザに関連付けられて前記ルータにより転送される、ネットワークのトラフィックに関する更新された複数のメトリックを受信する段階を含み、
    (e)実行する前記段階は、前記遠隔サーバに前記複数のメトリックを送信する段階を含む、請求項10に記載のプログラム。
  18. (d)判断する前記段階は、前記ユーザに関連付けられる帯域幅のトラフィックの量を記述する更新された情報を受信する段階を含み、
    (e)実行する前記段階は、
    (i)更新された前記情報が条件を満たすか否かを判断する段階と、
    (ii)前記サービスが提供する前記ユーザに割り当てられた帯域幅の量を変更するよう、前記ルータの前記設定を更新する段階とを含む、請求項10に記載のプログラム。
  19. 請求項10から18の何れか一項に記載のプログラムを有形に具体化する非一時的なプログラム記憶デバイス。
  20. ネットワーク上でサービスを提供するためのシステムであって、
    ルーティングデバイスと、
    前記ルーティングデバイス上に実装されるサービスローダであって、(i)遠隔サーバからの実行可能な複数の命令を要求し、実行可能な前記複数の命令は、前記ルーティングデバイスがどのように前記ネットワークのユーザのために要求されたサービスを提供するよう動作するかを特定し、(ii)前記複数の命令を受信し、(iii)前記ルーティングデバイス上で、受信された前記複数の命令を実行するようスレッドを初期化するサービスローダと、
    前記ルーティングデバイス上で、前記ルーティングデバイスの設定が変更されているかを判断するカーネルと
    を備え、
    前記ルーティングデバイスの前記設定が変更されていると判断された場合、初期化された前記スレッドは、前記ルーティングデバイスの設定における前記変更に従って、前記サービスを適用するよう複数の命令を実行する、
    システム。
  21. ネットワーク上でサービスを提供するためのコンピュータにより実施される方法であって、
    (a)実行可能な複数の命令に対する、ルータからの要求をサーバで受信する段階であって、実行可能な前記複数の命令は、前記ルータがどのように前記ネットワークのユーザのために要求されたサービスを提供するよう動作するかを特定する、段階と、
    (b)要求された前記複数の命令を実行するスレッドとしての初期化のために前記複数の命令を前記ルータに送信する段階と
    を備え、
    前記ルータは、前記ルータの設定が変更されているかを判断し、かつ、前記ルータの前記設定が変更されていると判断された場合、前記ルータの設定における前記変更に従って、前記サービスを適用するよう、初期化された前記スレッド上で前記複数の命令を実行する、
    方法。
JP2017510661A 2014-08-29 2015-08-28 ネットワークサービス認識ルータ及びそれらの応用 Pending JP2017529768A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/473,476 US8964596B1 (en) 2014-08-29 2014-08-29 Network service aware routers, and applications thereof
US14/473,476 2014-08-29
US14/599,207 2015-01-16
US14/599,207 US9634894B2 (en) 2014-08-29 2015-01-16 Network service aware routers, and applications thereof
PCT/US2015/047496 WO2016033502A1 (en) 2014-08-29 2015-08-28 Network service aware routers, and applications thereof

Publications (2)

Publication Number Publication Date
JP2017529768A true JP2017529768A (ja) 2017-10-05
JP2017529768A5 JP2017529768A5 (ja) 2018-10-04

Family

ID=55400688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017510661A Pending JP2017529768A (ja) 2014-08-29 2015-08-28 ネットワークサービス認識ルータ及びそれらの応用

Country Status (6)

Country Link
US (4) US9634894B2 (ja)
EP (1) EP3186919B1 (ja)
JP (1) JP2017529768A (ja)
CN (1) CN106797319B (ja)
CA (1) CA2959511C (ja)
WO (1) WO2016033502A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634894B2 (en) 2014-08-29 2017-04-25 Level 3 Communications, Llc Network service aware routers, and applications thereof
US20170317901A1 (en) * 2016-04-29 2017-11-02 Cisco Technology, Inc. Integrated approach to monitor gbp health and adjust policy service level
US9785735B1 (en) 2016-10-11 2017-10-10 International Business Machines Corporation Parallel incremental global routing
US10977552B2 (en) 2017-09-20 2021-04-13 International Business Machines Corporation ISA-based compression in distributed training of neural networks
RU2702274C1 (ru) * 2018-12-28 2019-10-07 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Способ генерации универсального входного сигнала для нейросетевых детекторов компьютерных вторжений в межмашинных сетях
TWI719655B (zh) * 2019-09-27 2021-02-21 啟碁科技股份有限公司 自動設定路由器的方法和路由系統

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555100A (en) * 1993-10-07 1996-09-10 Audiofax, Inc. Facsimile store and forward system with local interface translating DTMF signals into store and forward system commands
US5915008A (en) * 1995-10-04 1999-06-22 Bell Atlantic Network Services, Inc. System and method for changing advanced intelligent network services from customer premises equipment
US6765864B1 (en) 1999-06-29 2004-07-20 Cisco Technology, Inc. Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network
US6493341B1 (en) 1999-12-31 2002-12-10 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US6904449B1 (en) * 2000-01-14 2005-06-07 Accenture Llp System and method for an application provider framework
JP4021841B2 (ja) * 2003-10-29 2007-12-12 富士通株式会社 スパニングツリープロトコルにおける制御パケット処理装置および方法
JP3924502B2 (ja) * 2002-07-04 2007-06-06 富士通株式会社 モバイル通信方法およびモバイル通信システム
JP4276568B2 (ja) * 2004-03-26 2009-06-10 株式会社日立コミュニケーションテクノロジー ルータ及びsipサーバ
US7360154B2 (en) 2004-11-17 2008-04-15 Cisco Technology, Inc. System and method for virtual router enabled electronic documents
US7904518B2 (en) 2005-02-15 2011-03-08 Gytheion Networks Llc Apparatus and method for analyzing and filtering email and for providing web related services
CN101669326B (zh) * 2007-02-27 2014-11-12 安移通网络公司 利用路径距离因数在网状网中进行射频管理的方法和系统
JP2009055327A (ja) 2007-08-27 2009-03-12 Hitachi Ltd ネットワークシステム
US9338083B2 (en) * 2007-12-28 2016-05-10 At&T Intellectual Property I, Lp ECMP path tracing in an MPLS enabled network
US9954975B2 (en) * 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US8040822B2 (en) * 2009-06-04 2011-10-18 Alcatel Lucent Configuring communication services using policy groups
JP5482453B2 (ja) * 2010-05-27 2014-05-07 富士通株式会社 ルータ、情報処理装置及びプログラム
US9025951B2 (en) 2010-10-18 2015-05-05 Calix, Inc. Provisioning network devices in Ethernet-based access networks
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US10104704B2 (en) * 2014-02-07 2018-10-16 Cisco Technology, Inc. Dynamic acceleration of prioritized mobile application traffic
US9549385B2 (en) * 2014-03-23 2017-01-17 Avaya Inc. Configuration of networks using client device access of remote server
US9430663B2 (en) * 2014-06-11 2016-08-30 Live Nation Entertainment, Inc. Dynamic filtering and precision alteration of query responses responsive to request load
US9351182B2 (en) * 2014-06-30 2016-05-24 At&T Intellectual Property I, Lp Method and apparatus for monitoring and adjusting multiple communication services at a venue
US8964596B1 (en) 2014-08-29 2015-02-24 Level 3 Communications, Llc Network service aware routers, and applications thereof
US9634894B2 (en) 2014-08-29 2017-04-25 Level 3 Communications, Llc Network service aware routers, and applications thereof
CA2998179A1 (en) * 2015-09-28 2017-04-06 Evenroute, Llc Automatic qos optimization in network equipment

Also Published As

Publication number Publication date
EP3186919A4 (en) 2018-02-21
US20180227196A1 (en) 2018-08-09
CN106797319B (zh) 2020-09-01
WO2016033502A1 (en) 2016-03-03
EP3186919B1 (en) 2019-03-27
US10530669B2 (en) 2020-01-07
EP3186919A1 (en) 2017-07-05
US9942108B2 (en) 2018-04-10
CA2959511C (en) 2021-08-17
US20170214586A1 (en) 2017-07-27
US9634894B2 (en) 2017-04-25
US20160065408A1 (en) 2016-03-03
CA2959511A1 (en) 2016-03-03
US20190123979A1 (en) 2019-04-25
US10164845B2 (en) 2018-12-25
CN106797319A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
US10530669B2 (en) Network service aware routers, and applications thereof
JP6576006B2 (ja) 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出
US9143439B2 (en) System and method for cluster link aggregation control in a network environment
US8825867B2 (en) Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group
US20180367458A1 (en) Flow-Based Load Balancing
CN110535760B (zh) 聚合接口的转发检测
US9584369B2 (en) Methods of representing software defined networking-based multiple layer network topology views
US8135771B2 (en) Digital signal processor clustering in integrated media-services gateways
CN110971441B (zh) 多级网络结构的简化配置
CN110278139B (zh) 在计算机网络内转发分组的方法、网络设备及存储介质
EP2401841A2 (en) Adaptive network with automatic scaling
US10050863B2 (en) Network communication system, software-defined network controller and routing method thereof
CN103825826A (zh) 一种动态路由的实现方法和装置
US20200186413A1 (en) Fast forwarding re-convergence of switch fabric multi-destination packets triggered by link failures
US8964596B1 (en) Network service aware routers, and applications thereof
RU2687215C1 (ru) Способ и устройство для передачи информации о функциях коммутатора openflow
US20050177572A1 (en) Method of organising servers
WO2015162619A1 (en) Managing link failures in software defined networks
Saifullah et al. Open flow-based server load balancing using improved server health reports
KR101802037B1 (ko) Sdn 환경에서 서비스 기능 체이닝을 위한 oam 메시지 전송 방법 및 시스템
WO2015106506A1 (zh) 设置控制信息、建立通信的方法及管理控制器及控制器
US9019964B2 (en) Methods and systems for routing application traffic
Achuthan et al. Load balanced telecommunication event consumption using pools

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200331