JP7577580B2 - Ssl通信処理装置及びssl通信処理方法 - Google Patents
Ssl通信処理装置及びssl通信処理方法 Download PDFInfo
- Publication number
- JP7577580B2 JP7577580B2 JP2021045850A JP2021045850A JP7577580B2 JP 7577580 B2 JP7577580 B2 JP 7577580B2 JP 2021045850 A JP2021045850 A JP 2021045850A JP 2021045850 A JP2021045850 A JP 2021045850A JP 7577580 B2 JP7577580 B2 JP 7577580B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- queues
- ssl
- queue
- issuing
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 40
- 230000006854 communication Effects 0.000 title claims description 21
- 238000004891 communication Methods 0.000 title claims description 19
- 238000003672 processing method Methods 0.000 title description 3
- 241001522296 Erithacus rubecula Species 0.000 claims description 3
- 238000000034 method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000000052 comparative effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000000593 degrading effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 101100011367 Arabidopsis thaliana BHLH2 gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
図1は、ネットワーク装置1のハードウェア構成を例示する図である。
図1に例示するように、ネットワーク装置1は、リクエスト発行コア10と、リクエストキュー集合体12と、SSL処理デバイス14とを有する。
リクエスト発行コア10は、SSL(Secure Sockets Layer)通信の暗号化処理又は復号化処理のリクエストを発行する。例えば、リクエスト発行コア10は、複数のリクエスト発行コアを含み、これらのコアが並行してリクエストを発行する。
リクエストキュー集合体12は、複数のリクエストキュー120を含み、リクエスト発行コア10から発行されたリクエストをキューイングする。キューイングとは、先入れ先出し方式で、リクエストを保持することである。
SSL処理デバイス14は、SSL通信の暗号化処理又は復号化処理を行うエンジンを複数含むエンジン集合体であり、リクエストキュー集合体12にキューイングされたリクエストを順に処理する。
上記構成において、ネットワーク装置1のリクエスト発行コア10から、APIを介して、SSLアクセラレータのリクエストキュー(リクエストキュー120)に対して、暗号処理又は復号処理などのリクエストが発行される。
リクエストキュー120にキューイングされたリクエストは、SSLアクセラレータのエンジン(SSL処理デバイス14のエンジン)を使って処理され、リクエストが完了する。
リクエストの発行と完了は非同期であり、ネットワーク装置1が受けたデータを暗号化又は復号化する度に、リクエストを発行する。
図5に示される比較例1のように、リクエスト発行コアと、リクエストキューが1対1で対応する設計とすることも考えられる。このような設計の場合、リクエストキューの数が エンジンの数以上であるときは、問題ないが、リクエストキューの数がエンジンの数よりも少ないと、エンジンが余り、有効活用されない。
また、リクエストキューはその時点で空いている1つのエンジンを使用して、1リクエストを処理する。使用する空きエンジンは自動的に割り当てられ、ソフトウェアでは制御できない。
すなわち、図5に示すように、使用可能なリクエストキュー数がエンジン数より少ないため、空きエンジンが発生する。エンジンをフル活用できないため、SSLアクセラレータは本来の性能を発揮できない。図5の例では、リクエスト発行コア数が6個、リクエストキュー数が30個(そのうち6個使用可能)であり、エンジンのEN7~EN30は使えない。
なお、リクエストキューの番号と、エンジンの番号に関連性はなく、空いているエンジンが自動的に割り当てられる。
図2に例示するように、ネットワーク装置1は、複数のリクエスト発行コア10と、グループ化されたリクエストキュー120と、複数のエンジン140が含まれたSSL処理デバイス14とを有し、リクエスト発行コア10それぞれに、グループ化されたリクエストキュー120が割り当てられている。
より具体的には、複数のリクエストキュー120をまとめたグループをノードとし、リクエスト発行コア10と同数のノードを作成する。1つのノードにつき、1つの代表リクエストキュー122が設定される。
図3に例示するように、ステップ100(S100)において、リクエスト発行コア10は、割り当てられたリクエストキューのグループ(ノード)の代表リクエストキュー122に対してリクエストを発行する。
ステップ110(S110)において、代表リクエストキュー122は、自身が属するグループ(ノード)内に割り当てられているリクエストキュー120を選んでリクエストを発行する。選び方はラウンドロビンとする。
ステップ130(S130)において、SSL処理デバイス14のエンジン140は、リクエストキュー120にキューイングされたリクエストを、処理する。
これにより、図2の通り、リクエスト発行コア10がリクエストキュー120又はエンジン140の数より少なくとも、複数のリクエストキュー120から、リクエストを発行することができる。例えば、1番の代表リクエストキュー122にキューイングされた場合は、代表リクエストキューを含む、1番,7番,13番,19番,25番の5つのリクエストキュー120の内から1つを選択し、リクエストを発行する。図2では、1番のリクエスト発行コア10から発行されるリクエストについて、リクエストキュー120からエンジンに矢印を引いたが、他のリクエスト発行コア10から発行されるリクエストについても同様に、リクエストキュー120からエンジン140に対して矢印を引ける。これより、エンジンを余すことなく有効活用できる。なお、リクエストキュー120の番号と、エンジン140の番号に関連性はなく、空いているエンジン140が自動的に割り当てられる。
次に、上記実施形態の変形例として、SSLアクセラレータが、物理的には1つのデバイスだが、内部的に3つの子デバイスを持つ構造となっている場合を説明する。
この場合、図6に示すように、通信時、使用されるリクエスト発行コアに偏りが出た場合には、使用される子デバイスに偏りが生じる。より具体的には、図6において、3つの子デバイスA、B、Cに対し、リクエスト発行コアを均等に2つずつ割り当てた場合を比較例2として説明する。
各子デバイスのエンジンについては、A1~A10、B11~B20、C21~C30で示す。ここで、リクエスト発行コア1~4に偏った場合を考えると、リクエスト発行コア1及び2については、子デバイスAのみに割り当てられている。この時、A1~A10のエンジンのうち、空いているエンジンが自動的に割り当てられ、使用される。また、リクエスト発行コア3及び4については、子デバイスBのみに割り当てられている。ここで、B11~B20のエンジンのうち、空いているエンジンが使用される。その結果、子デバイスA、子デバイスBに偏って使用され、子デバイスCは、ほぼ使用されず、SSLアクセラレータとして、本来の3分の2程度の性能しか発揮されない。
・エンジンに対する負荷が高い場合に性能発揮できない
例えば、30個全てのエンジンでの処理を必要とするほどに、リクエスト量が多い且つ計算量が重いリクエストが集中した場合、子デバイスA及びBにリクエストが偏ってしまうと、使用できるエンジンは、A1~A10及びB11~B20の20個となってしまう。30個全てのエンジンを使用できないため、SSLアクセラレータ本来の性能を発揮できない。
・各子デバイスが持つ固有機能をフル活用できない
各子デバイスにはエンジン以外にも、固有の機能が存在している。例えば、特定の暗号種別について処理時、エンジンとは別に各子デバイスが持つ固有の回路を使用して計算されることが考えられる。そのため、全デバイスでは3回路使用できるが、2デバイスでは2回路しか使用されず、性能が発揮できない。この問題は上記のような高負荷時に限らず発生する。
本変形例では、リクエスト発行コア10の数が6個、子デバイスの数が3個、子デバイスAのリクエストキュー120が1~10、子デバイスAのエンジン群15AがA1~A10、子デバイスBのリクエストキュー120が11~20、子デバイスBのエンジン群15BがB11~B20、子デバイスCのリクエストキューが21~30、子デバイスCのエンジン群15CがC21~C30である場合を説明する。なお、代表リクエストキュー122はキュー番号を丸で囲んで示す。また、リクエストキュー120の番号と、エンジン140の番号に関連性はなく、リクエストキュー120にキューイングされたリクエストは、そのリクエストキュー120と同じハッチングパターンで示されるエンジン140の中から、空いているエンジン140が自動的に割り当てられる。
・使用されるリクエスト発行コア10に偏りが出ても、子デバイスを分散して処理できるため、SSL処理デバイス14側の性能を落とさずに処理ができる。例えば、リクエスト発行コアが1番~4番に偏った場合でも、本変形例では、各リクエスト発行コア10に対応するリクエストキュー120から、子デバイスA~Cの3つ全てを使用できるため、全ての子デバイスの固有機能を使用できる。また、全ての子デバイスの全エンジン140を使用できる。よって、全ての子デバイスを使わない場合と比べて、性能劣化を軽減できる。
・1つの子デバイスにエラーが起こり、一時的に処理不可状態となる時でも、他の子デバイスがリクエスト処理可能となるので、処理を継続できる。例えば、子デバイスAが処理不可能となった場合には、リクエストキュー120の1番~10番が使用不可能となるが、11番~30番のリクエストキュー120については使用できるため、全てのリクエスト発行コア10について、リクエストの発行と処理を継続できる。
さらに、1つの子デバイスにエラーが起こり、一時的に処理不可状態になる場合でも、他の子デバイスがリクエスト処理を実行できるため、処理を継続できる。
10…リクエスト発行コア
12…リクエストキュー集合体
120…リクエストキュー
122…代表リクエストキュー
14…SSL処理デバイス
140…エンジン
15…エンジン群
Claims (5)
- SSL通信の暗号化処理又は復号化処理のリクエストを発行するリクエスト発行コアと、
前記リクエスト発行コアにより発行されたリクエストをキューイングするリクエストキューを複数含むリクエストキュー集合体と、
前記リクエストキューにキューイングされたリクエストを処理するデバイスと
を有し、
一つの前記リクエスト発行コアに対して、グループ化された複数のリクエストキューが割り当てられている
SSL通信処理装置。 - 前記リクエスト発行コアは、グループ化された複数のリクエストキューのうち、代表のリクエストキューに対してリクエストを発行し、
このグループ化されたリクエストキューのうち、ラウンドロビンで選択されたリクエストキューが、前記代表のリクエストキューに対して発行されたリクエストをキューイングする
請求項1に記載のSSL通信処理装置。 - 前記デバイスは、互いに独立して並列処理できる複数の子デバイスを含み、
グループ化された複数のリクエストキューは、互いに異なる子デバイスに割り当てられている
請求項1に記載のSSL通信処理装置。 - 前記デバイスは、前記リクエストキューよりも多いエンジンを含む
請求項2に記載のSSL通信処理装置。 - リクエスト発行コアが、SSL通信の暗号化処理又は復号化処理のリクエストを、このリクエスト発行コアに割り当てられたリクエストキューのグループに対して発行するステップと、
前記グループに属するいずれかのリクエストキューが、前記リクエスト発行コアにより発行されたリクエストをキューイングするステップと、
SSL通信の暗号化処理又は復号化処理を行うデバイスが、前記リクエストキューにキューイングされたリクエストを処理するステップと
を有するSSL通信処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021045850A JP7577580B2 (ja) | 2021-03-19 | 2021-03-19 | Ssl通信処理装置及びssl通信処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021045850A JP7577580B2 (ja) | 2021-03-19 | 2021-03-19 | Ssl通信処理装置及びssl通信処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022144714A JP2022144714A (ja) | 2022-10-03 |
| JP7577580B2 true JP7577580B2 (ja) | 2024-11-05 |
Family
ID=83455084
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021045850A Active JP7577580B2 (ja) | 2021-03-19 | 2021-03-19 | Ssl通信処理装置及びssl通信処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7577580B2 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001292172A (ja) | 2000-03-02 | 2001-10-19 | Alcatel Internetworking Inc | 限定優先度キュースケジューラ |
| JP2017521806A (ja) | 2014-06-26 | 2017-08-03 | グバーネット インコーポレイテッドGubernet Inc. | 多重プロセッシング環境でのスケジューリングの方法及びその装置 |
-
2021
- 2021-03-19 JP JP2021045850A patent/JP7577580B2/ja active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001292172A (ja) | 2000-03-02 | 2001-10-19 | Alcatel Internetworking Inc | 限定優先度キュースケジューラ |
| JP2017521806A (ja) | 2014-06-26 | 2017-08-03 | グバーネット インコーポレイテッドGubernet Inc. | 多重プロセッシング環境でのスケジューリングの方法及びその装置 |
Non-Patent Citations (2)
| Title |
|---|
| 山下 克司,つなぐだけではもう通用しない 理論派ネットワーキング 第3部 ネットワークとアプリケーション(2),日経コミュニケーション 第460号,日本,日経BP社,2006年04月15日,第460号,pp.114-119,技術雑誌(国内) 2006-01125-005 |
| 山下 克司,困ったときの現場ノウハウ,日経コミュニケーション 第392号,日本,日経BP社,2003年06月09日,第392号,pp.126-129,技術雑誌(国内) 2004-00524-007 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022144714A (ja) | 2022-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7401154B2 (en) | Pipelined high speed data transfer mechanism | |
| CN108363615B (zh) | 用于可重构处理系统的任务分配方法和系统 | |
| CN100533387C (zh) | 执行作业步的系统和方法 | |
| CN108762896B (zh) | 一种基于Hadoop集群任务调度方法及计算机设备 | |
| CN102546402B (zh) | 支持基于关键项的分布式进程的方法和计算实体 | |
| EP2240852B1 (en) | Scalable sockets | |
| CN113691611B (zh) | 一种区块链的分布式高并发事务处理方法及系统、设备、存储介质 | |
| US20050081208A1 (en) | Framework for pluggable schedulers | |
| US20070283355A1 (en) | Computer System, Servers Constituting the Same, and Job Execution Control Method and Program | |
| WO2012037760A1 (zh) | 提升告警处理效率的方法、服务器及系统 | |
| CN106776008A (zh) | 一种基于zookeeper实现负载均衡的方法及系统 | |
| US20180335957A1 (en) | Lock-free datapath design for efficient parallel processing storage array implementation | |
| CN110300188A (zh) | 数据传输系统、方法和设备 | |
| Chen et al. | Optimizing network transfers for data analytic jobs across geo-distributed datacenters | |
| CN108605017A (zh) | 查询计划和操作感知通信缓冲区管理 | |
| JP2005521945A (ja) | 共通作業キュー環境における最適格サーバ | |
| US8775637B2 (en) | Recording medium storing communication program, information processing apparatus, and communication procedure | |
| WO2008085324A1 (en) | Assigning tasks to threads requiring limited resources using programmable queues | |
| CA2399186C (en) | Data transfer apparatus and data transfer method | |
| CN107977232A (zh) | 一种数据处理方法、数据处理电路和网络设备 | |
| JP7577580B2 (ja) | Ssl通信処理装置及びssl通信処理方法 | |
| CN107291638A (zh) | 并行处理装置和控制通信的方法 | |
| JP4183712B2 (ja) | マルチプロセッサシステムにおいてプロセッサタスクを移動するデータ処理方法、システムおよび装置 | |
| CN115580583A (zh) | 微服务架构下的服务分流方法及装置 | |
| JP2002140201A (ja) | データベース更新方法及びそれを用いたデータベース管理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20221118 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221227 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231215 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20231225 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240820 |
|
| 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: 20241008 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241023 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7577580 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |