JP7384952B2 - ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム - Google Patents

ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム Download PDF

Info

Publication number
JP7384952B2
JP7384952B2 JP2022050194A JP2022050194A JP7384952B2 JP 7384952 B2 JP7384952 B2 JP 7384952B2 JP 2022050194 A JP2022050194 A JP 2022050194A JP 2022050194 A JP2022050194 A JP 2022050194A JP 7384952 B2 JP7384952 B2 JP 7384952B2
Authority
JP
Japan
Prior art keywords
request message
connection information
intermediate chip
chip
connection
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
JP2022050194A
Other languages
English (en)
Other versions
JP2022088505A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022088505A publication Critical patent/JP2022088505A/ja
Application granted granted Critical
Publication of JP7384952B2 publication Critical patent/JP7384952B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は、コンピュータ技術におけるクラウドコンピューティング技術に関し、特に、ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステムに関する。
ネットワークロードバランサーは、クラウドコンピューティングデータセンターの基本的なネットワーク設備であり、大規模のネットワークリクエストを均等に複数のバックエンドサーバに分散する役目があり、それによって、バックエンドサーバクラスター全体の処理能力を向上させる。
伝統的なインターネットサービスシステムアーキテクチャでは、ネットワークロードバランサーは、ネットワークサービストラフィックの入口であり、すべてのネットワークサービスリクエストはネットワークロードバランサーを介して転送されるので、ネットワークロードバランサーのパフォーマンスに多大な負担を与えている。単一のネットワークロードバランサーのパフォーマンスで需要を満たされない場合、同時に複数のネットワークロードバランサーを配備して並列処理する必要がある。
ただし、複数のネットワークロードバランサーを配属すると、システムのコストが高くなるだけでなく、また、単一のネットワークロードバランサーの処理パフォーマンスが低いため、万が一そのうちの1台のネットワークロードバランサーの処理能力が飽和状態になる場合、パケット損失といった問題が発生しやすくなり、それによって、ネットワークサービス品質にも影響を及ぼす。
本開示は、ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステムを提供し、ネットワークロードバランサーの処理パフォーマンスを向上させる。
本開示の第1の態様によれば、ネットワークポート及びN個の中間チップを含むネットワークロードバランサーを提供し、前記N個の中間チップは順次接続され、前記ネットワークポートは前記N個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、
前記ネットワークポートは、リクエストメッセージを受信して、前記リクエストメッセージを前記第1個目の中間チップに転送するために用いられ、
各前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送し、前記リクエストメッセージにマッチする接続情報が照会された場合、前記接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するために用いられる。
本開示の第2の態様によれば、リクエストメッセージの割り当て方法を提供し、前記方法はネットワークロードバランサーに適用され、前記ネットワークロードバランサーは、ネットワークポート及びN個の中間チップを含み、前記N個の中間チップは順次接続され、前記ネットワークポートは前記N個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、前記方法は、
前記ネットワークポートがリクエストメッセージを受信して、前記リクエストメッセージを前記第1個目の中間チップに転送するステップと、
前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送するステップと、前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会された場合、前記接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するステップと、を含む。
本開示の第3の態様によれば、コンピュータ命令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、前記コンピュータに第2の態様に記載の方法を実行させるために用いられる。
本開示の第4の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムは読み取り可能な記憶媒体に記憶されており、ネットワークロードバランサーの少なくとも1つのプロセッサは、前記読み取り可能な記憶媒体から前記コンピュータプログラムを読み取ることができ、前記少なくとも1つのプロセッサは、ネットワークロードバランサーが第2の態様に記載の方法を実行するように、前記コンピュータプログラムを実行する。
本開示の第5の態様によれば、サービスシステムを提供し、第1の態様に記載のネットワークロードバランサー及びクラスターサーバを含み、前記クラスターサーバはバックグラウンドサーバを含み、
前記ネットワークロードバランサーは、ユーザ端末により送信されるリクエストメッセージを受信して、前記クラスターサーバにおいて前記リクエストメッセージを処理するためのターゲットバックグラウンドサーバを決定するために用いられ、
前記ネットワークロードバランサーは、さらに、前記ターゲットバックグラウンドサーバに前記リクエストメッセージを送信するために用いられる。
本開示により提供されるネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステムは、ネットワークポート及びN個の中間チップを含み、N個の中間チップは順次接続され、ネットワークポートはN個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、ネットワークポートは、リクエストメッセージを受信して、リクエストメッセージを第1個目の中間チップに転送するために用いられ、各中間チップは、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送し、リクエストメッセージにマッチする接続情報が照会された場合、接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信するために用いられる。本開示により提供される技術案において、リクエストメッセージの処理プロセスが、中間チップが処理するよう転移され、その結果、リクエストメッセージはハードウェアによって直接処理され、ネットワークロードバランサー全体のパフォーマンスの向上をはかる。
なお、ここに記載されている内容は、本開示の実施例の主要な又は重要な特徴を特定することを意図しておらず、本開示の範囲を限定するものでもない。本開示の他の特徴は、以下の説明を通じて容易に理解される。
添付の図面は、本技術案をよりよく理解するために使用され、本願を限定するものではない。
本開示の1つの例示的な実施例に示されるクラウドサービスシステムアーキテクチャ図である。 本開示の1つの例示的な実施例に示されるネットワークロードバランサーの概略構造図である。 本開示の1つの例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理するフローチャートである。 本開示の1つの例示的な実施例に示される中間チップによって接続情報を照会するフローチャートである。 本開示の他の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理するフローチャートである。 本開示の第1の例示的な実施例に示されるリクエストメッセージを処理する概略図である。 本開示の第2の例示的な実施例に示されるリクエストメッセージを処理する概略図である。 本開示の第3の例示的な実施例に示されるリクエストメッセージを処理する概略図である。 本開示の第4の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。 本開示の第5の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。 本開示の第6の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。 本開示の第7の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。
以下、図面を参照して本願の例示的な実施例を説明し、理解を容易にするために、その中には本願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本願の範囲から逸脱することなく、ここで説明される実施例に対して様々な変化と修正を行うことができる。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
図1は、本開示の1つの例示的な実施例に示されるクラウドサービスシステムアーキテクチャ図である。
図1に示すように、クラウドサービスシステムアーキテクチャでは、複数のバックグラウンドサーバ11が配置でき、それらのバックグラウンドサーバ11は、ユーザ端末12により送信されたリクエストを処理して、処理結果をフィードバックすることで、外界にサービスを提供することができる。
外界にサービスを提供する複数のサーバ11が配置されているため、ユーザ端末12がリクエストメッセージを送信した後、ネットワークロードバランサー13を介してリクエストメッセージを特定のバックグラウンドサーバ11に送信することにより、各バックグラウンドサーバ11により処理されるリクエストメッセージのバランスをとる必要がある。
現在、クラウドデータセンターは、通常のサーバをベースにしたソフトウェアロードバランサーが広く使用されており、単一のデバイスのパフォーマンスは10G~100Gであり、クラウドコンピューティングビジネスの発展につれ、クラウドデータセンター内及びデータセンター間のサービスアクセスによってもたらされるネットワークトラフィックはますます増加しており、トラフィック帯域幅は通常Tbps(メガ)レベルに達している。ただし、単一のネットワークロードバランサーでは明らかに帯域幅の需要を満たすことができないため、単一のサーバクラスターでは、数十、数百台ものネットワークロードバランサーを配置する必要があり、複数のサーバクラスターを配置すると、数千台のマシンが必要となる。
単にネットワークロードバランサーを追加するだけでトラフィック増加の問題を解決すると、さらに新しい問題を引き起こす。まずは、大量のマシンを占有するため、コストが高くつくコストの問題であり、次は、配置されるマシンの数が多いほど、運営とメンテナンスが難しくなる運営とメンテナンスの問題であり、最後は、単一のデバイス処理パフォーマンスが低いため、ネットワークでのバーストトラフィックが単一のデバイス処理能力を簡単に満たして、パケット損失を引き起こし、ネットワークサービス品質に影響を与えるサービス品質の問題である。したがって、単一のネットワークロードバランサーのパフォーマンスの向上は、ロードバランシングビジネスのコスト、運営とメンテナンス、サービス品質などの問題を解決するために重要な意義がある。
上記技術的問題を解決するために、本開示により提供される技術案において、ネットワークロードバランサーにはN個の中間チップが配置されており、それらの中間チップを介して、まずリクエストメッセージを処理し、中間チップがリクエストメッセージの接続情報を照会することに失敗した場合に、プロセッサにより、リクエストメッセージを処理し、プロセッサの処理圧力を軽減し、ネットワークロードバランサーの処理パフォーマンスを全体的に向上させる。
図2は、本開示の1つの例示的な実施例に示されるネットワークロードバランサーの概略構造図である。
図2に示すように、本開示により提供されるネットワークロードバランサーには、ネットワークポート21、N個の中間チップ221~22Nが含まれている。
ここで、各中間チップは順次接続される。ネットワークポート21はN個の中間チップのうちの第1個目の中間チップ221に接続され、Nは、1以上の整数である。
Nが1である場合に、第1個目の中間チップと最後の中間チップは同一の中間チップである。
図3は、本開示の1つの例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理するフローチャートである。
図3に示すように、本開示に基づいて提供されるネットワークロードバランサーがリクエストメッセージを処理するとき、具体的なプロセスは、以下ステップを含む。
ステップ301、ネットワークポートを介してリクエストメッセージを受信して、リクエストメッセージを第1個目の中間チップに転送する。
ネットワークロードバランサーのネットワークポートは、リクエストメッセージを受信するために用いられる。ユーザ端末は、ネットワークを介してリクエストメッセージを送信でき、当該リクエストメッセージはネットワークサービスにアクセスするために用いられる。当該ネットワークサービスを提供するサービスシステムには、本開示により提供されるネットワークロードバランサーが配置でき、それによって、当該ネットワークロードバランサーはユーザ端末のリクエストメッセージを受信でき、具体的に、ネットワークロードバランサーのネットワークポートにより、当該リクエストメッセージを受信する。
具体的に、ネットワークロードバランサーのネットワークポートは、さらに、リクエストメッセージをN個の中間チップのうちの第1個目の中間チップに転送するために用いられ、それによって、まず、第1個目の中間チップにより、リクエストメッセージを処理する。
ステップ302、中間チップは、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送し、中間チップは、リクエストメッセージにマッチする接続情報が照会された場合、接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信する。
各中間チップは、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送するために用いられる。
さらに、第1個目の中間チップは、リクエストメッセージを受信した後、当該リクエストメッセージにマッチする接続情報を照会することができ、照会されなかった場合、リクエストメッセージを次の中間チップに転送する。
実際の応用では、各中間チップには、いずれも接続情報が設定されていてもよく、各中間チップにおける接続情報は異なるものであってもよい。接続情報は、リクエストした端末のアドレス情報を含むことができ、中間チップは、それらの情報に基づいて自体に記憶されている接続情報からリクエストメッセージにマッチする接続情報を照会することができる。
ここで、中間チップは、さらに、リクエストメッセージにマッチする接続情報が照会された場合、接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信するために用いられる。
したがって、中間チップによりリクエストメッセージにマッチする接続情報が照会された場合、中間チップは、当該接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信することができる。
具体的に、ネットワークロードバランサーは、クラスターサーバに接続できる。中間チップにより決定された接続情報は、バックグラウンドサーバ識別子などのバックグラウンドサーバ情報を含むことができ、それによって、中間チップは、リクエストメッセージを当該バックグラウンドサーバ識別子に対応するバックグラウンドサーバに送信することができる。
例えば、中間チップは、リクエストメッセージに含まれたアドレスAddress1を抽出することができ、中間チップは、Address1に基づいてローカルに記憶されている接続情報からマッチする接続情報を照会することができ、例えば、マッチする接続情報は情報1であることを照会することができる。この場合、中間チップは、情報1に含まれているバックグラウンドサーバ識別子1を取得して、当該バックグラウンドサーバがリクエストメッセージを処理するように、識別子が1であるバックグラウンドサーバにリクエストメッセージを送信することができる。
図4は、本開示の1つの例示的な実施例に示される中間チップによって接続情報を照会するフローチャートである。
図4に示すように、第1個目の中間チップ221は、リクエストメッセージを受信した後、それにマッチする接続情報を照会することができ、照会に失敗した場合、リクエストメッセージを次の中間チップ222に転送することができ、中間チップ222により続いてリクエストメッセージを処理することができる。
中間チップ222は、記憶されている接続情報においてリクエストメッセージにマッチする接続情報が照会された場合、中間チップ222は、リクエストメッセージを当該接続情報により指示されるバックグラウンドサーバ23に転送することができる。
1つの選択的な実施形態において、ネットワークロードバランサーは、さらに、プロセッサを含むことができ、各中間チップのいずれもリクエストメッセージにマッチする接続情報が照会されなかった場合に、N個の中間チップのうちの第1個目の中間チップは、リクエストメッセージをプロセッサに転送し、プロセッサは、リクエストメッセージをバックグラウンドサーバに送信するために用いられる。
本開示により提供されるネットワークロードバランサーは、ネットワークポート及びN個の中間チップを含み、N個の中間チップは順次接続され、ネットワークポートはN個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、ネットワークポートは、リクエストメッセージを受信して、リクエストメッセージを第1個目の中間チップに転送するために用いられ、各中間チップは、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送し、リクエストメッセージにマッチする接続情報が照会された場合、接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信するために用いられる。本開示により提供されるネットワークロードバランサーは、リクエストメッセージの処理プロセスを中間チップが処理するよう転移し、その結果、リクエストメッセージはハードウェアによって直接処理され、ネットワークロードバランサー全体のパフォーマンスの向上をはかる。
図5は、本開示の他の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理するフローチャートである。
1つの選択的な実施形態において、ネットワークロードバランサーは、さらに、プロセッサを含むことができる。
図5に示すように、本開示により提供されるネットワークロードバランサーに基づいて、リクエストメッセージを処理するとき、具体的なプロセスは、以下のステップを含む。
ステップ501、複数の接続情報を含む完全接続テーブルが設定されているプロセッサが、完全接続テーブルにおける各接続情報のアクティビティ情報を取得する。
ここで、本開示により提供される技術案において、ネットワークロードバランサーには、さらに、プロセッサが配置でき、配置されたプロセッサには、完全接続テーブルが設定でき、当該完全接続テーブルには、複数の接続情報が含まれている。
具体的に、完全接続テーブルには、すべての接続情報が記憶されていてもよく、それには、各中間チップに記憶されている接続情報が含まれている。例えば、ユーザ端末が一つのリクエストメッセージを送信すると、プロセッサは、当該リクエストメッセージに対応する接続情報を作成し、接続が終了した後、プロセッサは、対応する接続情報を削除することができる。
さらに、プロセッサは、完全接続テーブルにおける各接続情報のアクティビティ情報を取得することができ、1つの実施形態において、特定の既知のサービスタイプの接続について、プロセッサは、それらをアクティブな接続又はセミアクティブな接続などの特定のタイプに直接分類することができる。他の実施形態において、接続が開始されたばかりのとき、プロセッサは、それを非アクティブな接続として決定することができ、プロセッサによって処理される当該接続のパケット数、バイト数、持続時間などの情報が設定されたセミアクティブな接続閾値に達すると、当該接続はセミアクティブな接続として決定される。接続がアクティブな接続の閾値を満たしている場合、プロセッサによってアクティブな接続として決定できる。
プロセッサは、各接続情報のアクティビティ情報を取得することができる。
ステップ502、プロセッサは、各接続情報のアクティビティ情報と各中間チップのレベルに応じて、接続情報を中間チップの接続テーブルに記憶する。
実際の応用では、各中間チップのレベルは異なってもよく、異なるレベルの各中間チップは、異なるタイプの接続情報を記憶するために用いられる。
相応的に、プロセッサは、具体的に、各接続情報のアクティビティ情報と各中間チップのレベルに応じて、接続情報を中間チップの接続テーブルに記憶するために用いられる。例えば、アクティビティ情報とチップレベルとの対応関係を予め設定することができ、例えば、アクティビティ1とレベル1が対応し、アクティビティ2とレベル2が対応するようにし、その場合、プロセッサは、当該対応関係に従って、接続情報を対応する中間チップに記憶することができる。
実際の応用では、2レベルの中間チップが配置されている場合、プロセッサは、アクティビティ情報がアクティブを表す接続情報を、第1のレベルの中間チップの接続テーブルに記憶し、アクティビティ情報がセミアクティブを表す接続情報を、第2のレベルの中間チップの接続テーブルに記憶することができる。このような実施形態において、第1のレベルの中間チップを使用してアクティブな接続を処理し、第2のレベルの中間チップを使用して非アクティブな接続を処理することができるため、ネットワークロードバランサーは、第1のレベルの中間チップでアクティブな接続に対応するリクエストメッセージを処理することができ、それによって、リクエストメッセージの処理速度を向上させる。
第1のレベルの中間チップは、N個の中間チップのうちの第1個目の中間チップにすることができ、第1のレベルの中間チップは、ネットワークポートに直接接続することができ、それによって、リクエストメッセージは、ネットワークポートから第1のレベルの中間チップに直接転送でき、それにより、リクエストメッセージに対応する接続がアクティブな接続である場合に、当該第1のレベルの中間チップは当該リクエストメッセージを直接処理することができる。
第1のレベルの中間チップは、アクティブな接続の接続情報を記憶するために用いられることができ、第2のレベルの中間チップは、セミアクティブな接続の接続情報を記憶するために用いられることができ、プロセッサは、非アクティブな接続情報を含むすべての接続情報を記憶することができる。
接続がアクティブである場合、プロセッサは、当該接続の接続情報を第1のレベルの中間チップに送信することができるため、第1のレベルの中間チップは、受信した接続情報を第1の接続テーブルに記憶し、接続がセミアクティブである場合、プロセッサは、当該接続の接続情報を第2のレベルの中間チップに送信することができるため、第2のレベルの中間チップは、受信した接続情報を第2の接続テーブルに記憶する。
このような実施形態において、接続のアクティビティ情報に基づいて各接続の情報を異なる中間チップに割り当てることができ、その後、異なる中間チップは、アクティビティが異なるリクエストメッセージを処理し、処理速度を向上させることができる。
このような実施形態において、プロセッサは、各中間チップに接続できる。
ステップ503、ネットワークポートを介してリクエストメッセージを受信して、リクエストメッセージを第1個目の中間チップに転送する。
ステップ503の実現形態及び原理は、ステップ301と類似するため、繰り返して説明しない。
ステップ504、中間チップリクエストメッセージからアドレス情報を取得して、アドレス情報に従って現在の中間チップに記憶されている接続テーブルにおいてリクエストメッセージにマッチする接続情報を照会する。
中間チップは、いずれも受信したリクエストメッセージを処理することができ、例えば、第1個目の中間チップは、このステップを実行することができる。
具体的に、各中間チップには、いずれも接続情報が記憶でき、例えば、各中間チップは、接続テーブルが設定でき、接続情報は接続テーブルを介して記憶される。
異なる中間チップに記憶されている接続情報も異なる。各中間チップに記憶されている接続テーブルは、各中間チップに1対1で対応し、中間チップに記憶されている接続テーブルは、アドレス情報と接続情報との対応関係を指示するために用いられる。
さらに、中間チップは、リクエストメッセージからアドレス情報を抽出し、そして、アドレス情報に従って記憶されている接続テーブルにおいてリクエストメッセージにマッチする接続情報を照会することができる。
前記リクエストメッセージにマッチする接続情報は、リクエストメッセージを受信するバックグラウンドサーバを指示するために用いられ、例えば、接続情報にサーバ識別子情報が含まれている場合、中間チップは、接続情報におけるサーバ識別子情報に従って、リクエストメッセージを当該サーバ識別子情報により指示されるサーバに転送することができる。
接続情報を設定することにより、中間チップとプロセッサは、接続情報に従ってリクエストメッセージを処理するためのバックグラウンドサーバを決定し、そして、接続情報に従ってリクエストメッセージを直接転送することができる。
このような実施形態において、中間チップは、リクエストメッセージにおけるアドレスを用いて、記憶されている接続テーブルにおいてマッチする接続情報を決定することができ、それによって、リクエストメッセージをプロセッサに送信する必要がなく、接続情報に従ってリクエストメッセージを処理してバックグラウンドサーバに転送し、中間チップを介してプロセッサの処理圧力を分担し、ネットワークロードバランサーのパフォーマンスを向上させる。
ステップ505、中間チップは、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送する。
ステップ505は、ステップ302のリクエストメッセージ転送の原理及び実現形態と類似するため、繰り返して説明しない。
ステップ506、中間チップは、リクエストメッセージにマッチする接続情報が照会された場合、接続情報に従ってリクエストメッセージに対して転送処理を行い、転送対象データパケットを得る。
中間チップによりマッチする接続情報が照会された場合に、中間チップは、接続情報に従ってリクエストメッセージに対して転送処理を行うことができる。例えば、リクエストメッセージにおけるターゲットIPアドレスをバックグラウンドサーバのアドレスに変更することができるほか、中間チップは、バックグラウンドサーバのタイプに応じて、他のデータパケット変更操作などの他の操作を行うこともでき、例えば、バックグラウンドサーバは、仮想マシンであれば、データパケットに対してVXLAN(Virtual eXtensible Local Area Network,仮想拡張可能ローカルエリアネットワーク)カプセル化する操作を行う。
具体的に、中間チップは、リクエストメッセージに対して転送処理を行った後、転送対象データパケットを得ることができる。
ステップ507、中間チップがN個の中間チップのうちの第1個目の中間チップである場合、中間チップはネットワークポートを介して転送対象データパケットを対応するバックグラウンドサーバに送信する。
さらに、N個の中間チップのうちの第1個目の中間チップにより、リクエストメッセージにマッチする接続情報が決定された場合、当該第1個目の中間チップはネットワークポートを介して転送対象データパケットをバックグラウンドサーバに直接転送することができる。
実際の応用では、N個の中間チップのうちの第1個目の中間チップは、ネットワークポートに直接接続できるため、当該第1個目の中間チップは、ネットワークポートを介して転送対象データパケットを直接送信することができる。ただし、転送対象データパケットの中の目的アドレスは、接続情報に基づいて決定されたバックグラウンドサーバのアドレスにすることができるため、当該転送対象データパケットは、接続情報により指示されるバックグラウンドサーバによって受信できる。
図6は、本開示の第1の例示的な実施例に示されるリクエストメッセージを処理する概略図である。
図6に示すように、ネットワークロードバランサーは、ネットワークポート21を介してユーザ端末61により送信されたリクエストメッセージを受信して、当該リクエストメッセージをN個の中間チップのうちの第1個目の中間チップ221に転送することができ、第1個目の中間チップ221により、リクエストメッセージにマッチする接続情報が決定される場合、第1個目の中間チップ221は、転送対象データパケットを生成して、ネットワークポート21を介して転送対象データパケットをバックグラウンドサーバ23に送信することができる。
ステップ508、中間チップがN個の中間チップのうちの第1個目の中間チップでない場合、中間チップは、転送対象データパケットをネットワークポートに接続されている中間チップに転送し、その後、ネットワークポートに接続されている中間チップは、ネットワークポートを介して転送対象データパケットをバックグラウンドサーバに送信する。
N個の中間チップのうちの第1個目以外の中間チップは、リクエストメッセージにマッチする接続情報を決定した場合、当該中間チップは、先に、転送対象データパケットをN個の中間チップのうちの第1個目の中間チップに送信することができる。当該第1個目の中間チップはネットワークポートに直接接続されているため、第1個目の中間チップは、ネットワークポートを介して転送対象データパケットをバックグラウンドサーバに送信することができる。
図7は、本開示の第2の例示的な実施例に示されるリクエストメッセージを処理する概略図である。
図7に示すように、ネットワークロードバランサーは、ネットワークポート21を介してユーザ端末61により送信されたリクエストメッセージを受信して、当該リクエストメッセージをN個の中間チップのうちの第1個目の中間チップ221に転送することができ、第1個目の中間チップ221は、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージを次の中間チップ222に転送することができ、第1個目の中間チップ221以外の任意の中間チップは、リクエストメッセージにマッチする接続情報を照会し、例えば、中間チップ222はマッチする接続情報を決定した場合、中間チップ222は、転送対象データパケットを生成して、転送対象データパケットを第1個目の中間チップ221に送信することができ、具体的に、N個の中間チップの接続方式に基づき、転送対象データパケットをレベル次第に送信することができ、それにより、転送対象データパケットは第1個目の中間チップ221に送信され、第1個目の中間チップ221は、ネットワークポート21を介して転送対象データパケットをバックグラウンドサーバ23に送信する。
このような実施形態において、ネットワークロードバランサーはネットワークポートを介して外界とインタラクションし、N個の中間チップのうちの第1個目の中間チップはネットワークポートに接続されているため、転送対象データパケットが第1個目の中間チップに送信されると、当該転送対象データパケットは、ネットワークポートを介して外部のバックグラウンドサーバに転送されることができる。
ステップ505の後、さらに、ステップ509を実行することができる。
ステップ509、N個の中間チップのうちのいずれの中間チップもリクエストメッセージにマッチする接続情報が照会されなかった場合、N個の中間チップのうちの第1個目の中間チップは、リクエストメッセージをプロセッサに転送する。
プロセッサは、リクエストメッセージをバックグラウンドサーバに送信するために用いられる。
中間チップがリクエストメッセージをレベル次第に転送している中、リクエストメッセージがN個の中間チップの最後の中間チップに転送された場合、当該最後の中間チップは、記憶されている接続情報において当該リクエストメッセージにマッチする接続情報を照会することができる。
各中間チップの最後の中間チップは、さらに、リクエストメッセージにマッチする接続情報が照会されなかった場合、各中間チップのいずれもリクエストメッセージにマッチする接続情報が照会されなかったことを意味し、この場合に、当該リクエストメッセージを第1個目の中間チップに戻して、第1個目の中間チップを介して、リクエストメッセージをプロセッサに転送し、プロセッサは、リクエストメッセージをバックグラウンドサーバに送信するために用いられる。
1つの実施形態において、最後の中間チップが、第1個目の中間チップに当該リクエストメッセージを直接送信することにより、第1個目の中間チップはプロセッサにリクエストメッセージを送信することができる。他の実施形態において、N個の中間チップの接続関係に基づき、レベル次第にリクエストメッセージを送信することができるため、リクエストメッセージは、N個の中間チップのうちの第1個目の中間チップに送信される。
具体的に、中間チップは、リクエストメッセージにマッチする接続情報が照会されなかった場合、中間チップは、次の中間チップにリクエストメッセージを転送するため、リクエストメッセージは最後の中間チップに転送される可能性がある。
さらに、リクエストメッセージが最後の中間チップに転送された場合、これまでの他の中間チップには、リクエストメッセージにマッチする接続情報がないと見なすことができる。
実際の応用では、最後の中間チップにもリクエストメッセージにマッチする接続情報が記憶されていない場合、各中間チップには、リクエストメッセージにマッチする接続情報がないと見なすことができる。したがって、第1個目の中間チップにより、リクエストメッセージをネットワークロードバランサーのプロセッサに転送することができる。
したがって、最後の中間チップも、マッチする接続情報が照会されなかった場合、当該最後の中間チップはリクエストメッセージを第1個目の中間チップに送信し、そして、第1個目の中間チップは当該リクエストメッセージをネットワークロードバランサーのプロセッサに送信することができ、プロセッサにより、当該リクエストメッセージを処理する。
例えば、ネットワークロードバランサーは、新しいリクエストメッセージを受信する場合に、当該リクエストメッセージの接続情報は各中間チップのいずれにも記憶されていないため、当該リクエストメッセージは、最終的にプロセッサに転送される結果となる。
図8は、本開示の第3の例示的な実施例に示されるリクエストメッセージを処理する概略図である。
図8に示すように、第1個目の中間チップ221は、リクエストメッセージを受信した後、それにマッチする接続情報を照会することができ、照会が失敗した場合、リクエストメッセージを次の中間チップ222に転送し、中間チップ222により、引き続きリクエストメッセージを処理することができる。
中間チップ222も、記憶されている接続情報においてリクエストメッセージにマッチする接続情報が照会されなかった場合、当該中間チップ222は、次の中間チップにリクエストメッセージを転送するが、リクエストメッセージにマッチする接続情報が各中間チップ221-(22N-1)にも記憶されていない場合、当該リクエストメッセージは各中間チップの最後の中間チップ22Nに転送される。
最後の中間チップ22Nは、接続情報を照会するステップを引き続き実行することができ、当該最後の中間チップ22Nにも、リクエストメッセージにマッチする接続情報が記憶されていない場合、中間チップ22Nはリクエストメッセージを第1個目の中間チップ221に戻して、そして、第1個目の中間チップ221はリクエストメッセージをプロセッサ24に転送することができ、それにより、プロセッサ24はリクエストメッセージを処理し、それをバックグラウンドサーバ23に送信する。
このような実施形態において、中間チップに、リクエストメッセージにマッチする接続情報が記憶されている場合、中間チップは、接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信することができるため、プロセッサによるリクエストメッセージの処理量を減らすことができ、それによって、プロセッサによるリクエストメッセージの処理圧力が軽減され、ネットワークロードバランサーの処理パフォーマンスは全体的に向上する。
ステップ510、プロセッサは、記憶されている完全接続テーブルにおいてリクエストメッセージにマッチする接続情報を照会する。
プロセッサには、完全接続テーブルが記憶でき、完全接続テーブルには、複数の接続情報を含むため、プロセッサは、完全接続テーブルにおいてリクエストメッセージにマッチする接続情報を照会することができる。具体的に、リクエストメッセージからアドレス情報を取得して、アドレス情報に従ってプロセッサに記憶されている完全接続テーブルにおいてリクエストメッセージにマッチする接続情報を照会することができる。
ステップ511、プロセッサは、照会された、リクエストメッセージにマッチする接続情報に従ってリクエストメッセージをバックグラウンドサーバに送信する。
具体的に、プロセッサはリクエストメッセージをバックグラウンドサーバに送信するとき、具体的に、接続情報に従ってリクエストメッセージに対して転送処理を行い、転送対象データパケットを得て、転送対象データパケットをネットワークポートに接続されている中間チップに送信し、そして、ネットワークポートに接続されている中間チップにより、ネットワークポートを介して転送対象データパケットをバックグラウンドサーバに送信することができる。
プロセッサにより、リクエストメッセージにマッチする接続情報を照会した場合、当該プロセッサは、接続情報に従ってリクエストメッセージをバックグラウンドサーバに転送することができるため、バックグラウンドサーバは、当該リクエストメッセージを処理することができる。
このような実施形態において、リクエストメッセージにマッチする接続情報が、各中間チップのいずれにも記憶されていない場合、プロセッサは、完全接続テーブルにおいてリクエストメッセージにマッチする接続情報を照会することができ、このような実施形態において、プロセッサによるリクエストメッセージの処理量が減らされ、それによって、プロセッサの処理パフォーマンスは向上する。
さらに、ネットワークロードバランサーはネットワークポートを介して外界とインタラクションし、N個の中間チップのうちの第1個目の中間チップはネットワークポートに接続されているため、転送対象データパケットが第1個目の中間チップに送信されると、当該転送対象データパケットは、ネットワークポートを介して外部のバックグラウンドサーバに転送されることができる。
ステップ512、プロセッサは、リクエストメッセージにマッチする接続情報が照会されなかった場合、リクエストメッセージに従って接続情報を作成して、予め設定されたバランススケジューリングルールに基づいて接続情報に含まれるバックグラウンドサーバ情報を決定する。
1つの選択的な実施形態において、プロセッサは、完全接続テーブルにおいても、リクエストメッセージにマッチする接続情報が照会されなかった場合、ネットワークロードバランサーにリクエストメッセージに対応する接続情報が記憶されていないことを意味するため、プロセッサは、当該リクエストメッセージに対応する接続情報を作成することができ、それによって、ネットワークロードバランサーは、対応するリクエストメッセージを再度受信すると、それに対応する接続情報に従って当該リクエストメッセージをバックグラウンドサーバに転送し、リクエストメッセージの処理速度を向上させることができる。
プロセッサは、さらに、予め設定されたバランススケジューリングルールに基づき、当該リクエストメッセージに対応するバックグラウンドサーバの情報を決定することにより、決定されたバックグラウンドサーバ情報を当該リクエストメッセージの接続情報に記憶することができ、バックグラウンドサーバ情報は、例えば、バックグラウンドサーバの識別子にすることができる。例えば、各バックグラウンドサーバで処理されれリクエストメッセージの数に応じて、現在のリクエストメッセージをバックグラウンドサーバに割り当てることができる。
ステップ513、新たに作成された接続情報を完全接続テーブルに記憶する。
さらに、プロセッサは、さらに、新たに作成された接続情報を完全接続テーブルに記憶することもできる。
1つの選択的な実施形態において、ネットワークロードバランサーには、2つの中間チップが配置されており、第1のレベルの中間チップはネットワークポートに接続され、第1のレベルの中間チップは、プログラマブルスイッチチップであり、第2のレベルの中間チップは、フィールドプログラマブルゲートアレイFPGAチップである。
このようなシステムアーキテクチャでは、接続情報をプログラマブルスイッチチップとFPGAの接続テーブルに記憶することにより、データパケットはハードウェアで接続とマッチングが完了した後、直接転送されるため、ネットワークロードバランサーの圧力は軽減され、システムの全体的なパフォーマンスは向上する。このような方法では、プログラマブルスイッチチップとFPGAチップで構成された2レベルの接続テーブルを使用して、迅速的にデータパケットを処理し、ネットワークロードバランサーの処理パフォーマンスを向上させることができる。
1つの選択的な実施形態において、新しい接続が作成された後、プロセッサは、さらに、当該新しい接続のアクティビティ情報を監視し続けることができ、それによって、新しい接続のアクティビティ情報に変化が生じるとき、新しい接続のアクティビティ情報に従って、それを中間チップに割り当てることができる。
以下、本技術案について、詳細な実施例を参照して説明するが、具体的に、ネットワークロードバランサーには、プログラマブルスイッチチップとFPGAチップが配置されていることを例として説明する。
図9は、本開示の第4の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。
図9に示すように、ネットワークロードバランサーには、リクエストメッセージに対応する接続情報が記憶されていない場合に、リクエストメッセージは、ネットワークポートからプログラマブルスイッチチップに入った後、プログラマブルスイッチチップに、当該リクエストメッセージにマッチする接続情報が存在しないため、プログラマブルスイッチチップは、リクエストメッセージをFPGAチップに送信するが、FPGAチップにも、当該リクエストメッセージにマッチする接続情報が存在しないため、FPGAチップは、リクエストメッセージをプログラマブルスイッチチップに戻して、プログラマブルスイッチチップによってプロセッサCPUにリクエストメッセージを送信することができるが、CPUにも、当該リクエストメッセージにマッチする接続情報が存在しないため、CPUは、当該リクエストメッセージにマッチする接続情報を生成して、当該接続情報に対応するバックグラウンドサーバを決定し、プログラマブルスイッチチップにより、ネットワークポートを介して当該リクエストメッセージをバックグラウンドサーバに送信することができる。
図10は、本開示の第5の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。
図10に示すように、CPUは、各接続情報のアクティビティ情報に応じて、接続情報をプログラマブルスイッチチップとFPGAチップにオフロードすることができる。具体的に、アクティブな接続をプログラマブルスイッチチップに、セミアクティブな接続をFPGAチップにオフロードすることができる。非アクティブな接続について、CPUは、オフロードしない。
図11は、本開示の第6の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。
図11に示すように、ネットワークロードバランサーにより受信されたリクエストメッセージに対応する接続情報はプログラマブルスイッチチップに記憶されていると仮定すると、ネットワークロードバランサーにより受信されたリクエストメッセージはネットワークポートからプログラマブルスイッチチップに転送され、そして、プログラマブルスイッチチップは、当該リクエストメッセージにマッチする接続情報に従ってリクエストメッセージをバックグラウンドサーバに転送することができる。
図12は、本開示の第7の例示的な実施例に示されるネットワークロードバランサーによってリクエストメッセージを処理する概略図である。
図12に示すように、ネットワークロードバランサーにより受信されたリクエストメッセージに対応する接続情報はFPGAチップに記憶されていると仮定すると、ネットワークロードバランサーにより受信されたリクエストメッセージはネットワークポートからプログラマブルスイッチチップに転送され、そして、プログラマブルスイッチチップによりFPGAチップに転送され、FPGAチップは、当該リクエストメッセージにマッチする接続情報に従ってリクエストメッセージをバックグラウンドサーバに転送することができる。具体的に、プログラマブルスイッチチップ及びネットワークポートによって、リクエストメッセージをバックグラウンドサーバに転送することができる。
本開示の1つの実施例において、さらに、ネットワークポート及びN個の中間チップを含むネットワークロードバランサーに適用されるリクエストメッセージの割り当て方法を提供し、前記N個の中間チップは順次接続され、前記ネットワークポートは前記N個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、前記方法は、
前記ネットワークポートがリクエストメッセージを受信して、前記リクエストメッセージを前記第1個目の中間チップに転送するステップと、
前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送し、前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会された場合、前記接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するステップと、を含む。
本開示の他の実施例において、前記ネットワークロードバランサーには、さらに、プロセッサが含まれており、前記方法は、さらに、
各中間チップのいずれも前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記N個の中間チップのうちの第1個目の中間チップは前記リクエストメッセージを前記プロセッサに転送し、前記プロセッサは前記リクエストメッセージをバックグラウンドサーバに送信するステップを含む。
本開示の他の実施例において、前記プロセッサは前記リクエストメッセージをバックグラウンドサーバに送信するステップは、
記憶されている完全接続テーブルにおいて前記リクエストメッセージにマッチする接続情報を照会するステップと、
照会された前記リクエストメッセージにマッチする接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するステップと、を含む。
本開示の他の実施例において、リクエストメッセージの割り当て方法は、さらに、
前記中間チップが前記リクエストメッセージからアドレス情報を取得して、前記アドレス情報に従って現在の中間チップに記憶されている接続テーブルにおいて前記リクエストメッセージにマッチする接続情報を照会するステップを含み、
各前記中間チップに記憶されている接続テーブルは、各前記中間チップに1対1で対応し、前記中間チップに記憶されている接続テーブルは、アドレス情報と接続情報との対応関係を指示するために用いられる。
前記ネットワークロードバランサーには、さらに、プロセッサが含まれており、前記プロセッサには、完全接続テーブルが設定されており、前記完全接続テーブルには、複数の接続情報が含まれており、前記方法は、さらに、
前記プロセッサが前記完全接続テーブルにおける各接続情報のアクティビティ情報を取得するステップと、
前記プロセッサが各接続情報のアクティビティ情報と各前記中間チップのレベルに応じて、接続情報を前記中間チップの接続テーブルに記憶するステップと、を含む。
前記プロセッサが各接続情報のアクティビティ情報と各前記中間チップのレベルに応じて、接続情報を前記中間チップの接続テーブルに記憶するステップは、
前記プロセッサが、アクティビティ情報がアクティブを表す接続情報を、第1のレベルの中間チップの接続テーブルに記憶するステップと、
前記プロセッサが、アクティビティ情報がセミアクティブを表す接続情報を、第2のレベルの中間チップの接続テーブルに記憶するステップと、を含む。
前記リクエストメッセージにマッチする接続情報は、リクエストメッセージを受信するバックグラウンドサーバを指示するために用いられる。
前記方法は、さらに、
前記プロセッサは前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージに従って接続情報を作成して、予め設定されたバランススケジューリングルールに基づいて前記接続情報に含まれるバックグラウンドサーバ情報を決定するステップと、
前記プロセッサは新たに作成された接続情報を完全接続テーブルに記憶するステップと、を含む。
前記中間チップが前記接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するステップは、
前記中間チップが、前記接続情報に従って、前記リクエストメッセージに対して転送処理を行い、転送対象データパケットを得るステップと、
前記中間チップがN個の中間チップのうちの第1個目の中間チップである場合、前記中間チップは前記ネットワークポートを介して前記転送対象データパケットをバックグラウンドサーバに送信するステップと、
前記中間チップはN個の中間チップのうちの第1個目の中間チップでない場合、前記中間チップは前記転送対象データパケットをN個の中間チップのうちの第1個目の中間チップに転送して、そして、第1個目の中間チップは前記ネットワークポートを介して前記転送対象データパケットをバックグラウンドサーバに送信するステップと、を含む。
前記リクエストメッセージをバックグラウンドサーバに送信する前記ステップは、
前記接続情報に従って、前記リクエストメッセージに対して転送処理を行い、転送対象データパケットを得るステップと、
前記転送対象データパケットを前記ネットワークポートに接続されている中間チップに送信して、そして、前記ネットワークポートに接続されている中間チップは前記ネットワークポートを介して前記転送対象データパケットをバックグラウンドサーバに送信するステップと、を含む。
本開示は、さらに、上記のいずれか1つの実施例におけるネットワークロードバランサー、及びバックグラウンドサーバを含むクラスターサーバを含む、サービスシステムを提供する。
前記ネットワークロードバランサーは、ユーザ端末により送信されたリクエストメッセージを受信して、前記クラスターサーバにおいて前記リクエストメッセージを処理するためのターゲットバックグラウンドサーバを決定するために用いられる。
前記ネットワークロードバランサーは、さらに、前記ターゲットバックグラウンドサーバに前記リクエストメッセージを送信するために用いられる。
本開示は、コンピュータ技術におけるクラウドコンピューティング技術に適用されるネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステムを提供する。
本開示に係る技術案において、関連するユーザの個人情報の取得、記憶、及び適用などは、関連する法律及び規制に準拠しており、公序良俗に違反しないものである。
本開示の実施例によれば、本開示は、さらに、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、前記コンピュータに上記に記載のいずれの方法を実行させるために用いられる。
本開示の実施例によれば、本開示は、さらに、コンピュータプログラムを提供し、コンピュータプログラムは、読み取り可能な記憶媒体に記憶されており、ネットワークロードバランサーの少なくとも1つのプロセッサは、読み取り可能な記憶媒体からコンピュータプログラムを読み取ることができ、少なくとも1つのプロセッサは、ネットワークロードバランサーが上記いずれか1つの実施例により提供される技術案を実行するように、コンピュータプログラムを実行する。
本明細書において、上記に記載のシステム及び技術的さまざまな実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップのシステム(SOC)、ロードプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにより実施されることができる。これらのさまざまな実施形態は、1つまたは複数のコンピュータプログラムに実施され、当該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサが含まれるプログラマブルシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、専用または汎用プログラマブルプロセッサであってもよく、記憶システムや、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータや命令を受信し、且つ、データや命令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に伝送することができる。
本開示に係る方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせを採用してプログラミングすることができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又はその他のプログラマブルデータ処理装置のプロセッサ又はコントローラーに提供されることができ、これにより、プログラムコードは、プロセッサ又はコントローラーにより実行されると、フロー図及び/又はブロック図に示される機能/操作が実施される。プログラムコードは、完全に機械で実行され、部分的に機械で実行されてもよく、独立したソフトウェアパッケージとして部分的に機械で実行され、且つ、部分的にリモートマシナリオで実行されるか、又は完全にリモートマシナリオ又はサーバで実行されることができる。
本開示のコンテキストでは、機械読み取り可能な媒体は、有形的な媒体であってもよく、命令実行システム、装置又は機器に使用されるプログラム、または、命令実行システム、装置又は機器と組み合わせて使用されるプログラムを含むか又は記憶することができる。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的なもの、磁気的なもの、光学的なもの、電磁気的なもの、赤外線的なもの、又は半導体システム、装置又は機器、または上記に記載の任意の適合な組み合わせを含むが、それらに限定されない。機械読み取り可能な記憶媒体のより具体的な例として、1つ又は複数の配線に基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学的記憶デバイス、磁気的記憶デバイス、又は上記に記載の任意の適合な組み合わせを含む。
ユーザとのインタラクションを提供するために、コンピュータ上で、ここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシナリオグフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含む計算システム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含む計算システム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含む計算システム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含む計算システムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント-サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。サーバは、クラウドサーバであってもよく、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおけるホスト製品であり、伝統的な物理ホスト及びVPSサービス(「VirtuaL Private Server」、又は略称「VPS」)に存在する管理が難しく、ビジネスのスケーラビリティが弱い欠点を解決する。サーバは、さらに、分散システムのサーバか、またはブロックチェーンと組み合わせたサーバであってもよい。
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解すべきである。例えば、本願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案が所望の結果を実現することができれば、本明細書では限定しない。
上記の発明を実施するための形態は、本開示の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本開示の原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。

Claims (14)

  1. ネットワークポート及びN個の中間チップを含むネットワークロードバランサーであって、前記N個の中間チップは順次接続され、前記ネットワークポートは前記N個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、
    前記ネットワークポートは、リクエストメッセージを受信して、前記リクエストメッセージを前記第1個目の中間チップに転送するために用いられ、
    各前記中間チップは、Nが1より大きい場合、前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送するために用いられ
    各前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会された場合、前記接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するために用いられ、
    前記ネットワークロードバランサーはさらに、プロセッサを含み、
    前記N個の中間チップのうちの第1個目の中間チップは、各中間チップのいずれも前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージを前記プロセッサに転送するために用いられ、前記プロセッサは、前記リクエストメッセージを前記バックグラウンドサーバに送信するために用いられ、
    前記ネットワークロードバランサーにおける各前記中間チップは、
    前記リクエストメッセージからアドレス情報を取得して、前記アドレス情報に従って現在の中間チップに記憶されている接続テーブルにおいて前記リクエストメッセージにマッチする接続情報を照会するために用いられ、
    各前記中間チップに記憶されている接続テーブルは、各前記中間チップに1対1で対応し、前記中間チップに記憶されている接続テーブルは、アドレス情報と接続情報との対応関係を指示するために用いられ、
    前記プロセッサには、完全接続テーブルが設定されており、前記完全接続テーブルには、複数の接続情報が含まれており、前記プロセッサは、
    前記完全接続テーブルの各接続情報のアクティビティ情報を取得することと、
    各接続情報のアクティビティ情報と各前記中間チップのレベルに応じて、接続情報を前記中間チップの接続テーブルに記憶することとのために用いられる、ネットワークロードバランサー。
  2. 前記プロセッサは、前記リクエストメッセージをバックグラウンドサーバに送信するとき、
    記憶されている完全接続テーブルにおいて前記リクエストメッセージにマッチする接続情報を照会することと、
    照会された前記リクエストメッセージにマッチする接続情報に従って、前記リクエストメッセージをバックグラウンドサーバに送信することとのために用いられる、請求項に記載のネットワークロードバランサー。
  3. 前記プロセッサは、
    アクティビティ情報がアクティブを表す接続情報を、第1のレベルの中間チップの接続テーブルに記憶することと、
    アクティビティ情報がセミアクティブを表す接続情報を、第2のレベルの中間チップの接続テーブルに記憶することとのために用いられる、請求項に記載のネットワークロードバランサー。
  4. 前記リクエストメッセージにマッチする接続情報は、リクエストメッセージを受信するバックグラウンドサーバを指示するために用いられる、請求項1~のいずれか1項に記載のネットワークロードバランサー。
  5. 前記プロセッサは、
    前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージに従って接続情報を作成して、予め設定されたバランススケジューリングルールに基づいて前記接続情報に含まれるバックグラウンドサーバ情報を決定することと、
    新たに作成された接続情報を完全接続テーブルに記憶することとのために用いられる、請求項に記載のネットワークロードバランサー。
  6. 2つの中間チップが配置されており、第1のレベルの中間チップは前記ネットワークポートに接続され、前記第1のレベルの中間チップはプログラマブルスイッチチップであり、第2のレベルの中間チップはフィールドプログラマブルゲートアレイチップである、請求項1~のいずれか1項に記載のネットワークロードバランサー。
  7. ネットワークロードバランサーに適用されるリクエストメッセージの割り当て方法であって、前記ネットワークロードバランサーは、ネットワークポート及びN個の中間チップを含み、前記N個の中間チップは順次接続され、前記ネットワークポートは前記N個の中間チップのうちの第1個目の中間チップに接続され、Nは、1以上の正の整数であり、前記方法は、
    前記ネットワークポートがリクエストメッセージを受信して、前記リクエストメッセージを前記第1個目の中間チップに転送するステップと、
    前記中間チップは、Nが1より大きい場合、前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージを現在の中間チップに接続されている次の中間チップに転送するステップと
    前記中間チップは、前記リクエストメッセージにマッチする接続情報が照会された場合、前記接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するステップと、を含
    前記ネットワークロードバランサーには、さらに、プロセッサが含まれており、前記方法は、さらに、
    各中間チップのいずれも前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記N個の中間チップのうちの第1個目の中間チップが前記リクエストメッセージを前記プロセッサに転送し、前記プロセッサが前記リクエストメッセージを前記バックグラウンドサーバに送信することを含み、
    前記方法は、さらに、
    前記中間チップが前記リクエストメッセージからアドレス情報を取得して、前記アドレス情報に従って現在の中間チップに記憶されている接続テーブルにおいて前記リクエストメッセージにマッチする接続情報を照会するステップをさらに含み、
    各前記中間チップに記憶されている接続テーブルは、各前記中間チップに1対1で対応し、前記中間チップに記憶されている接続テーブルは、アドレス情報と接続情報との対応関係を指示するために用いられ、
    前記プロセッサには、完全接続テーブルが設定されており、前記完全接続テーブルには、複数の接続情報が含まれており、前記方法は、さらに、
    前記プロセッサが前記完全接続テーブルの各接続情報のアクティビティ情報を取得するステップと、
    前記プロセッサが各接続情報のアクティビティ情報と各前記中間チップのレベルに応じて、接続情報を前記中間チップの接続テーブルに記憶するステップと、を含む、リクエストメッセージの割り当て方法。
  8. 前記プロセッサが前記リクエストメッセージをバックグラウンドサーバに送信するステップは、
    記憶されている完全接続テーブルにおいて前記リクエストメッセージにマッチする接続情報を照会するステップと、
    照会された前記リクエストメッセージにマッチする接続情報に従って前記リクエストメッセージをバックグラウンドサーバに送信するステップと、を含む、請求項に記載の方法。
  9. 前記プロセッサが各接続情報のアクティビティ情報と各前記中間チップのレベルに応じて、接続情報を前記中間チップの接続テーブルに記憶するステップは、
    前記プロセッサが、アクティビティ情報がアクティブを表す接続情報を、第1のレベルの中間チップの接続テーブルに記憶するステップと、
    前記プロセッサが、アクティビティ情報がセミアクティブを表す接続情報を、第2のレベルの中間チップの接続テーブルに記憶するステップと、を含む、請求項に記載の方法。
  10. 前記リクエストメッセージにマッチする接続情報は、リクエストメッセージを受信するバックグラウンドサーバを指示するために用いられる、請求項のいずれか1項に記載の方法。
  11. 前記プロセッサは前記リクエストメッセージにマッチする接続情報が照会されなかった場合、前記リクエストメッセージに従って接続情報を作成して、予め設定されたバランススケジューリングルールに基づいて前記接続情報に含まれるバックグラウンドサーバ情報を決定するステップと、
    前記プロセッサが新たに作成された接続情報を完全接続テーブルに記憶するステップと、を含む、請求項に記載の方法。
  12. コンピュータ命令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ命令は、ネットワークロードバランサーに請求項11のいずれか1項に記載の方法を実行させるために用いられる、記憶媒体。
  13. ネットワークロードバランサーにより実行されると、請求項11のいずれか1項に記載の方法を実現する、コンピュータプログラム。
  14. 請求項1~のいずれか1項に記載ネットワークロードバランサー、及びクラスターサーバを含み、前記クラスターサーバはバックグラウンドサーバを含み、
    前記ネットワークロードバランサーはユーザ端末により送信されるリクエストメッセージを受信して、前記クラスターサーバにおいて前記リクエストメッセージを処理するためのターゲットバックグラウンドサーバを決定するために用いられ、
    前記ネットワークロードバランサーは、さらに、前記ターゲットバックグラウンドサーバに前記リクエストメッセージを送信するために用いられる、サービスシステム。
JP2022050194A 2021-06-22 2022-03-25 ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム Active JP7384952B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110695011.6 2021-06-22
CN202110695011.6A CN113438301B (zh) 2021-06-22 2021-06-22 网络负载均衡器、请求消息分配方法、程序产品及系统

Publications (2)

Publication Number Publication Date
JP2022088505A JP2022088505A (ja) 2022-06-14
JP7384952B2 true JP7384952B2 (ja) 2023-11-21

Family

ID=77757299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022050194A Active JP7384952B2 (ja) 2021-06-22 2022-03-25 ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム

Country Status (5)

Country Link
US (1) US20220407916A1 (ja)
EP (1) EP3993366B1 (ja)
JP (1) JP7384952B2 (ja)
KR (1) KR20220046525A (ja)
CN (1) CN113438301B (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002232446A (ja) 2000-11-21 2002-08-16 Avaya Communication Israel Ltd ダイナミック・ロード・バランサ
US20030105903A1 (en) 2001-08-10 2003-06-05 Garnett Paul J. Load balancing
WO2017077613A1 (ja) 2015-11-05 2017-05-11 三菱電機株式会社 通信装置及び通信方法
JP2019510428A (ja) 2016-03-31 2019-04-11 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ソフトウェア改良型ステートフルスイッチングアーキテクチャ
CN111355674A (zh) 2020-02-24 2020-06-30 盛科网络(苏州)有限公司 路由报文的处理方法及装置、存储介质和电子装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
EP2297905B1 (en) * 2008-06-19 2018-08-22 Marvell World Trade Ltd. Cascaded memory tables for searching
CN101778050A (zh) * 2010-03-11 2010-07-14 浪潮(北京)电子信息产业有限公司 负载均衡方法、装置和系统
FR2979444A1 (fr) * 2011-08-23 2013-03-01 Kalray Reseau sur puce extensible
CN102387071A (zh) * 2011-10-12 2012-03-21 苏州阔地网络科技有限公司 一种网络负载均衡的方法、处理器及系统
US9379982B1 (en) * 2013-09-30 2016-06-28 Juniper Networks, Inc. Adaptive stateless load balancing
CN105162883B (zh) * 2015-09-25 2019-06-07 网宿科技股份有限公司 网络负载均衡处理系统及其方法和装置
US10642650B2 (en) * 2017-12-13 2020-05-05 Juniper Networks, Inc. Multi-threaded route processing
CN110198337B (zh) * 2019-03-04 2021-10-08 腾讯科技(深圳)有限公司 网络负载均衡方法、装置、计算机可读介质及电子设备
CN112600951B (zh) * 2020-12-08 2022-07-29 杭州迪普信息技术有限公司 一种报文转发的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002232446A (ja) 2000-11-21 2002-08-16 Avaya Communication Israel Ltd ダイナミック・ロード・バランサ
US20030105903A1 (en) 2001-08-10 2003-06-05 Garnett Paul J. Load balancing
WO2017077613A1 (ja) 2015-11-05 2017-05-11 三菱電機株式会社 通信装置及び通信方法
JP2019510428A (ja) 2016-03-31 2019-04-11 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ソフトウェア改良型ステートフルスイッチングアーキテクチャ
CN111355674A (zh) 2020-02-24 2020-06-30 盛科网络(苏州)有限公司 路由报文的处理方法及装置、存储介质和电子装置

Also Published As

Publication number Publication date
EP3993366A3 (en) 2022-08-24
EP3993366B1 (en) 2024-01-24
US20220407916A1 (en) 2022-12-22
JP2022088505A (ja) 2022-06-14
CN113438301A (zh) 2021-09-24
KR20220046525A (ko) 2022-04-14
EP3993366A2 (en) 2022-05-04
CN113438301B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
US10171567B2 (en) Load balancing computer device, system, and method
US20220107848A1 (en) Edge service providing method and apparatus, and device
CN111193773B (zh) 负载均衡方法、装置、设备及存储介质
CN105993161B (zh) 用于解析地址的元件、方法、系统和计算机可读存储设备
US9584481B2 (en) Host providing system and communication control method
CN103825975A (zh) Cdn节点分配服务器及系统
WO2019237594A1 (zh) 会话保持方法、装置、计算机设备及存储介质
CN108933829A (zh) 一种负载均衡方法及装置
JP2013090072A (ja) サービス提供システム
CN111064786B (zh) 账户标识管理方法及设备
CN111966502A (zh) 用于调整实例数的方法、装置、电子设备及可读存储介质
CN111212087A (zh) 一种登录服务器的确定方法、装置、设备及存储介质
CN112968965B (zh) Nfv网络节点的元数据服务方法、服务器及存储介质
US9401953B2 (en) Intelligent high-volume cloud application programming interface request caching
JP7384952B2 (ja) ネットワークロードバランサー、リクエストメッセージの割り当て方法、プログラム製品及びシステム
CN111294285B (zh) 一种网络数据的分发方法及负载均衡器
CN109614354B (zh) 接口分配方法、板卡、设备及存储介质
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
CN115883559A (zh) 无状态网络负载均衡方法、装置和存储介质
CN114900526A (zh) 负载均衡方法及系统、计算机存储介质、电子设备
CN112511440A (zh) 报文转发方法、系统、存储介质和电子设备
CN114793234B (zh) 消息处理方法、装置、设备和存储介质
CN108111329A (zh) 基于tcp长链接的海量用户接入方法及系统
WO2023232016A1 (zh) 一种云服务系统及基于云服务系统的业务处理方法
CN109731345B (zh) 语音处理方法及装置、电子设备、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231109

R150 Certificate of patent or registration of utility model

Ref document number: 7384952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150