JP2022112621A - 通信装置、通信システム、通知方法及びプログラム - Google Patents
通信装置、通信システム、通知方法及びプログラム Download PDFInfo
- Publication number
- JP2022112621A JP2022112621A JP2021008477A JP2021008477A JP2022112621A JP 2022112621 A JP2022112621 A JP 2022112621A JP 2021008477 A JP2021008477 A JP 2021008477A JP 2021008477 A JP2021008477 A JP 2021008477A JP 2022112621 A JP2022112621 A JP 2022112621A
- Authority
- JP
- Japan
- Prior art keywords
- notification
- virtual machine
- notification information
- communication device
- storage unit
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 211
- 238000012546 transfer Methods 0.000 claims abstract description 100
- 230000008569 process Effects 0.000 claims description 31
- 239000000872 buffer Substances 0.000 description 101
- 230000015654 memory Effects 0.000 description 82
- 230000005540 biological transmission Effects 0.000 description 77
- 238000010586 diagram Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/4555—Para-virtualisation, i.e. guest operating system has to be modified
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
はじめに、高いリアルタイム性が求められる産業用ネットワーク及び車載ネットワークなどの分野で利用されている規格の例について説明する。
次に、産業用システム及び車載システムなどに仮想化技術などのソフトウェア技術を適用する場合の例について説明する。例えば、仮想マシン間を接続するスイッチ(仮想スイッチ)をソフトウェアで実現することが考えられる。
IEEE 802.1Qbvのような各フレームの送信タイミングを厳密に制御する通信処理をソフトウェアスイッチで実現する場合について説明する。
(1)仮想マシン間の時刻同期
(2)ゲストOSの処理オーバーヘッド
図5は仮想マシン1l及び1m間のデータ受け渡しについて説明するための図である。
hypercallは、上記のデータ受け渡し以外にも、仮想マシンモニタ2へイベントを通知する際に利用される。例えば、フレームの転送処理の転送通知や完了通知などにもhypercallが利用される。具体的には、仮想マシン1から別の仮想マシン1へフレームが送信される場合、送信元の仮想マシン1が、宛先の仮想マシン1と共有している共有メモリ上にフレームを書き込み、hypercallを宛先の仮想マシン1へ発行する。これにより、宛先の仮想マシン1は、共有メモリにフレームを書き込まれたことを検知し、共有メモリからフレームを読み出すことができる。その後、宛先の仮想マシン1がフレームを読み出すと、フレーム読み出しが完了したことを送信元の仮想マシン1へhypercallを発行することで通知する。このように、仮想マシン1間で何らかのイベントを通知する際にもhypercallが利用される。
ここで、図11を参照して、hypercallによるイベント通知の課題について説明する。
図14は第1実施形態の通知情報DB306の例を示す図である。通知情報DB306では、hypercallのタイプ、通知先仮想マシンを示す情報、及び、各hypercallで通知される情報等を含む。
図15は第1実施形態の通知方法の例を示すフローチャートである。はじめに、各タスク(例えば入力処理部301及び出力処理部302等)が、処理(タスク毎に定めれた所定の処理)を実行する(ステップS1)。
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第2実施形態では、通知情報をまとめて通知するか否かを通知先毎に制御する場合について説明する。
次に第3実施形態について説明する。第3実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第3実施形態では、通知情報をまとめて通知するか否かを、通知される通知情報の数に基づいて制御する場合について説明する。
次に第4実施形態について説明する。第4実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第4実施形態では、IEEE802.1Qbvによる制御も含めた詳細な構成について説明する。
次に第5実施形態について説明する。第5実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。第5実施形態では、制御対象装置を含む通信システムの構成について説明する。
図20は第1乃至第5実施形態の通信装置100~100-3のハードウェア構成の例を示す図である。
2 仮想マシンモニタ
3 ソフトウェアスイッチ
4 ネットワークドライバ
5 フォワーディング処理部
6 FDB
7 バックエンド仮想ネットワークドライバ
8 フロントエンド仮想ネットワークドライバ
9 アプリ/スタック
10 ホストプロセッサ
21 ネットワークインタフェース
31 ノード
32 ネットワークインタフェース
61 書き込み部
62 記述子送信部
63 読み出し部
64 記述子受信部
91 フレーム出力部
92 フレーム入力部
93 仮想FDB
94 記述子送信バッファ
95 記述子受信バッファ
100 通信装置
101 転送処理部
102 記述子入力バッファ
103 送信制御部
104 転送先決定部
105 FDB更新部
106 転送部
107 記述子出力バッファ
108 送信制御部
109 記述子転送バッファ
110 スケジュール情報DB
111 入力処理部
112 出力処理部
120 FDB
150 ネットワーク
160 制御対象装置
200 ソフトウェアTSNスイッチ(転送制御部)
300 通信システム
301 入力処理部
302 出力処理部
303 入力バッファ
304 転送バッファ
305 出力バッファ
306 通知情報DB
307 選択部
308 タスクスケジュール情報DB
309 通知部
310 通知制御情報DB
401 制御装置
402 主記憶装置
403 補助記憶装置
404 表示装置
405 入力装置
406 通信IF
410 バス
Claims (11)
- 所定の処理を実行した後に、仮想マシンモニタを介して通知先の仮想マシンへ通知される通知情報を、記憶部に記憶するタスクと、
前記記憶部に記憶された複数の前記通知情報をまとめて、前記仮想マシンモニタへ通知する通知部と、
を備える通信装置。 - 前記通知部は、複数の前記通知情報をまとめて1つのhypercallで仮想マシンモニタへ通知する、
請求項1に記載の通信装置。 - 前記通信装置は、複数の前記タスクを備え、
前記複数のタスクは、前記複数のタスクの実行順序を示す第1のスケジュール情報に基づいて周期的に実行され、
前記通知部は、一周期内で実行された前記複数のタスクによって前記記憶部に記憶された前記複数の通知情報をまとめて、前記仮想マシンモニタへ通知する、
請求項1又は2に記載の通信装置。 - 前記タスクは、所定の期間内で発生する前記通知情報の数が閾値以下の場合、前記所定の処理を実行した後に、仮想マシンモニタを介して前記通知情報を前記仮想マシンに通知し、前記通知情報の数が前記閾値より大きい場合、前記所定の処理を実行した後に、前記通知情報を前記記憶部に記憶し、
前記通知部は、前記通知情報の数が閾値より大きい場合、前記記憶部に記憶された複数の前記通知情報をまとめて、前記仮想マシンモニタへ通知する、
請求項1乃至3のいずれか1項に記載の通信装置。 - 前記通信装置で動作する前記仮想マシンの数は変動し、
前記通知部は、前記仮想マシンの数に基づいて前記通知情報の数を見積もり、前記通知情報の数が閾値以下の場合、前記所定の処理を実行した後に、仮想マシンモニタを介して前記通知情報を前記仮想マシンに通知することを前記タスクに要求し、前記通知情報の数が前記閾値より大きい場合、前記所定の処理を実行した後に、前記通知情報を前記記憶部に記憶することを前記タスクに要求する、
請求項4に記載の通信装置。 - 前記通信装置は、
転送元の前記仮想マシンから転送されるフレームの読み出し処理を実行する入力処理タスクと、
転送先の前記仮想マシンへ転送されるフレームの書き込み処理を実行する出力処理タスクと、を備え、
前記入力処理タスクは、前記読み出し処理を実行した後に、前記通知情報として読み出し完了通知を前記記憶部に記憶し、
前記出力処理タスクは、前記書き込み処理を実行した後に、前記通知情報として書き込み完了通知を前記記憶部に記憶する、
請求項1乃至5のいずれか1項に記載の通信装置。 - 前記記憶部は、前記仮想マシン毎の前記通知情報の通知制御方法を更に記憶し、
前記入力処理タスクは、前記読み出し処理を実行した後に、前記通知制御方法が割り込みの場合、前記読み出し完了通知を前記記憶部へ記憶し、前記通知制御方法がポーリングの場合、前記読み出し完了通知を、前記記憶部へ記憶しない、
前記出力処理タスクは、前記書き込み処理を実行した後に、前記通知制御方法が割り込みの場合、前記書き込み完了通知を前記記憶部へ記憶し、前記通知制御方法がポーリングの場合、前記書き込み完了通知を、前記記憶部へ記憶しない、
請求項6に記載の通信装置。 - 前記入力処理タスクは、IEEE 802.1Qbvによって定義される第2のスケジュール情報に基づいて前記読み出し処理を実行し、
前記出力処理タスクは、前記第2のスケジュール情報に基づいて前記書き込み処理を実行する、
請求項6又は7に記載の通信装置。 - 通信装置と、
前記通信装置で動作する1以上の仮想マシンによって制御される1以上の制御対象装置と、を備え、
前記通信装置は、
所定の処理を実行した後に、仮想マシンモニタを介して通知先の前記仮想マシンへ通知される通知情報を、記憶部に記憶するタスクと、
前記記憶部に記憶された複数の前記通知情報をまとめて、前記仮想マシンモニタへ通知する通知部と、
を備える通信システム。 - タスクが、所定の処理を実行した後に、仮想マシンモニタを介して通知先の仮想マシンへ通知される通知情報を、記憶部に記憶するステップと、
通知部が、前記記憶部に記憶された複数の前記通知情報をまとめて、前記仮想マシンモニタへ通知するステップと、
を含む通知方法。 - コンピュータを、
所定の処理を実行した後に、仮想マシンモニタを介して通知先の仮想マシンへ通知される通知情報を、記憶部に記憶するタスクと、
前記記憶部に記憶された複数の前記通知情報をまとめて、前記仮想マシンモニタへ通知する通知部、
として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021008477A JP7451438B2 (ja) | 2021-01-22 | 2021-01-22 | 通信装置、通信システム、通知方法及びプログラム |
US17/412,701 US20220237009A1 (en) | 2021-01-22 | 2021-08-26 | Communication apparatus, communication system, notification method, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021008477A JP7451438B2 (ja) | 2021-01-22 | 2021-01-22 | 通信装置、通信システム、通知方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022112621A true JP2022112621A (ja) | 2022-08-03 |
JP7451438B2 JP7451438B2 (ja) | 2024-03-18 |
Family
ID=82495697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021008477A Active JP7451438B2 (ja) | 2021-01-22 | 2021-01-22 | 通信装置、通信システム、通知方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220237009A1 (ja) |
JP (1) | JP7451438B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022157750A1 (en) * | 2021-01-25 | 2022-07-28 | Marvell Israel (M.I.S.L) Ltd. | Centralized control of time gates for time sensitive networking (tsn) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495628B2 (en) * | 2009-08-23 | 2013-07-23 | International Business Machines Corporation | Para-virtualization in a nested virtualization environment using reduced number of nested VM exits |
JP5532793B2 (ja) | 2009-09-28 | 2014-06-25 | 富士通株式会社 | プログラム及び通信制御方法 |
US8635615B2 (en) * | 2011-05-14 | 2014-01-21 | Industrial Technology Research Institute | Apparatus and method for managing hypercalls in a hypervisor and the hypervisor thereof |
US9268591B2 (en) * | 2012-10-18 | 2016-02-23 | Vmware, Inc. | Systems and methods for detecting system exceptions in guest operating systems |
WO2014141854A1 (ja) | 2013-03-12 | 2014-09-18 | 日本電気株式会社 | 安定化システム、安定化方法、仮想マシン環境及びプログラム |
JP2017059897A (ja) * | 2015-09-14 | 2017-03-23 | 株式会社東芝 | 分類器、通信装置、及び通信方法 |
JP6453801B2 (ja) | 2016-03-31 | 2019-01-16 | 日本電信電話株式会社 | 監視システム、監視方法、監視装置、および、被監視装置 |
JP7000088B2 (ja) * | 2017-09-15 | 2022-01-19 | 株式会社東芝 | 通知制御装置、通知制御方法及びプログラム |
JP6914900B2 (ja) | 2018-09-18 | 2021-08-04 | 株式会社東芝 | スイッチ装置、スイッチング方法及びプログラム |
-
2021
- 2021-01-22 JP JP2021008477A patent/JP7451438B2/ja active Active
- 2021-08-26 US US17/412,701 patent/US20220237009A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220237009A1 (en) | 2022-07-28 |
JP7451438B2 (ja) | 2024-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884786B2 (en) | Switch device, switching method, and computer program product | |
US20020091826A1 (en) | Method and apparatus for interprocessor communication and peripheral sharing | |
CN107846443B (zh) | 网络中的分布式处理 | |
EP3461086B1 (en) | Communication apparatus, communication method and computer-readable medium | |
JP7310924B2 (ja) | サーバ内遅延制御装置、サーバ、サーバ内遅延制御方法およびプログラム | |
US11341087B2 (en) | Single-chip multi-processor communication | |
JP7000088B2 (ja) | 通知制御装置、通知制御方法及びプログラム | |
EP3823230B1 (en) | Communication apparatus, communication method, and computer-readable medium | |
JP7354361B2 (ja) | 処理装置、処理方法及びプログラム | |
JP7309579B2 (ja) | 通信装置、通信方法及びプログラム | |
CN114424507A (zh) | 用于发送数据分组的方法和实现该方法的装置 | |
JP7451438B2 (ja) | 通信装置、通信システム、通知方法及びプログラム | |
KR20210051325A (ko) | 비대칭 멀티프로세싱 시스템의 데이터 공유 장치 및 방법 | |
EP4310680A1 (en) | Intra-server delay control device, intra-server delay control method, and program | |
WO2023002547A1 (ja) | サーバ内データ転送装置、サーバ内データ転送方法およびプログラム | |
US20240129255A1 (en) | Server delay control device, server delay control method, and program | |
EP3182282A1 (en) | Method for operating a system in a control unit and system | |
CN113810167B (zh) | 一种分布式系统的时序控制与同步方法 | |
CN117978754A (zh) | 数据传输方法、装置、系统、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240122 |
|
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: 20240206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240306 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7451438 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |