JP6653230B2 - 通信管理装置、通信管理方法、および、通信管理プログラム - Google Patents
通信管理装置、通信管理方法、および、通信管理プログラム Download PDFInfo
- Publication number
- JP6653230B2 JP6653230B2 JP2016171114A JP2016171114A JP6653230B2 JP 6653230 B2 JP6653230 B2 JP 6653230B2 JP 2016171114 A JP2016171114 A JP 2016171114A JP 2016171114 A JP2016171114 A JP 2016171114A JP 6653230 B2 JP6653230 B2 JP 6653230B2
- Authority
- JP
- Japan
- Prior art keywords
- receiving
- memory area
- data
- communication
- memory
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
非特許文献1〜3には、NWシステムを構築する技術に関する記載がある。
非特許文献1〜3には、これらのデメリットを解消するための記載も示唆もない。
したがって、NWシステムの構築を簡略にすることができる。
また、従来のNWシステムのように多段構成を導入することがないため、送信側装置と受信側装置との通信は、1度の書き込みと1度の読み出しで済み、1つの通信に多くの装置が介在することによる伝送遅延は生じない。
また、新規の受信側装置を追加する場合には、メモリを増設するだけで済むので、NWシステムの拡大を簡略にすることができる。
本発明の実施形態について、図面を参照しながら詳細に説明する。
図1に示すように、本実施形態のNWシステムは、メモリサーバ1と、送信側装置2と、受信側装置3とを備える。送信側装置2および受信側装置3は複数存在するが、図1中では1つのみ示す。メモリサーバ1と、送信側装置2と、受信側装置3とはバスないしNWで通信可能に接続されている。
送信側装置2は、受信側装置3との間で通信を行う装置である。
受信側装置3は、送信側装置2との間で通信を行う装置である。
このコンピュータは、CPUが、記憶部上に読み込んだプログラム(通信管理プログラムを含む。)を実行することで、各機能部により構成される制御部(制御手段)を動作させる。
送信側装置2は、送信プロセス部21と、信号変換部22と、送受信部23とを備える。
送信プロセス部21は、送信側装置2内の各種プロセスを実行する。
具体的には、信号変換部22は、プロセスからソケットAPI(Application Programming Interface)を呼び出す。ソケットAPIは、送信側装置2と受信側装置3との間の通信を確立するためのAPIである。ソケットAPIを用いることで、既存の通信APIを流用できるように、送信側装置2および受信側装置3といった端末側の処理を階層化することができる。つまり、送信側装置2と受信側装置3とのプロセス間通信は、従来のTCP/IP通信と、本発明のKVSを用いた通信とを組み合わせることができる。
また、信号変換部22は、メモリサーバ1にアクセスする際のキーとバリュー格納部とを生成する。バリュー格納部は、KVSのデータ構造を持つデータのバリューを格納する格納用データとしてもよいし、バリューそのものとしてもよい。バリュー格納部の具体例については後記する。
また、信号変換部22は、送受信部23のキューに所定の情報を書き込む。
具体的には、送受信部23は、信号変換部22によって情報が書き込まれたキューを保存する。
また、送受信部23は、キューに書き込まれた情報をメモリサーバ1に送信する。
メモリサーバ1は、接続可否判定部11と、送受信部12と、通知部13と、メモリ14(記憶手段)とを備える。メモリ14は、メモリ領域14aを備える。
また、接続可否判定部11は、送信側装置2と受信側装置3との接続可否の判定について定めた判定ルールを保持する。
また、接続可否判定部11は、キーとバリュー格納部とに基づいて、送信側装置2と受信側装置3との接続可否を判定する。
また、接続可否判定部11は、外部からのメモリ領域14aへのアクセスを制御する。
具体的には、送受信部12は、送信側装置2から受信したバリュー格納部をメモリ14に書き込みできるか否かを、接続可否判定部11に確認する。
また、送受信部12は、接続可否判定部11による判定結果に応じて、受信側装置3が利用可能なメモリ領域14aにバリュー格納部を書き込んだり、メモリ領域14aからバリュー格納部を読み出したりする。
また、送受信部12は、PULL通信の場合には、受信側装置3からの要求に対して、対象のバリュー格納部をメモリ領域14aから受信側装置3に送信する。
また、送受信部12は、PUSH通信またはマルチキャスト通信の場合には、通知部13による通知後、対象のバリュー格納部をメモリ領域14aから受信側装置3に送信する。
また、メモリ14は、受信側装置3が取得完了した情報を、メモリ領域14aから削除する。
受信側装置3は、受信プロセス部31と、信号変換部32と、送受信部33とを備える。
受信プロセス部31は、受信側装置3内の各種プロセスを実行する。
具体的には、信号変換部32は、プロセスからソケットAPIを呼び出す。
また、信号変換部32は、メモリサーバ1にアクセスする際のキーとバリュー格納部とを生成する。
また、信号変換部32は、PULL通信の場合には、送受信部33に情報の取得要求をする。
また、信号変換部32は、送受信部33のキューから情報を取り出し、取り出した情報を受信プロセス部31に通知する。
具体的には、送受信部33は、PULL通信の場合には、信号変換部32からの情報の取得要求を受け、メモリサーバ1に対して該当の情報の有無を確認する。
また、送受信部33は、PUSH通信またはマルチキャスト通信の場合には、メモリサーバ1の通知部13からの到着通知を受信する。
また、送受信部33は、信号変換部32に対し、キーとバリュー格納部との生成を指示する。
また、送受信部33は、メモリサーバ1から情報を受信し、受信した情報をキューに書き込む。
次に、本実施形態の処理として、送信側装置2から受信側装置3へデータが送信されるときの処理を、図2〜図5を参照して説明する。この処理は、(工程1)メモリサーバ1における受信側メモリ領域の割当、(工程2)送信側装置2のデータ送信、(工程3)受信側装置3へメモリ情報の更新通知、(工程4)受信側装置3のデータ受信、の4工程に分類することができる。工程1,2,4は、PULL通信、PUSH通信、マルチキャスト通信の場合に実行される。工程3は、PUSH通信、マルチキャスト通信の場合に実行される。
図2,図3を参照して、PULL通信の場合におけるデータ送信の処理について説明する。この処理では、工程1としてステップA1〜A7が実行され、工程2としてステップB1〜B9が実行され、工程4としてステップD1〜D9が実行される。
上記で説明した受信側装置3の新規追加は、送信側装置2の新規追加にもあてはまる。
信号変換部22は、送信側装置2の送受信部23、および、メモリサーバ1の送受信部12を経由して、メモリサーバ1の接続可否判定部11に、KVSに対する書き込み要求を送信する(ステップB3)。この書き込み要求には、生成されたキーとバリュー格納部とが含まれている。
信号変換部22は、キーバリューからソケットAPIへの変換を実行する(ステップB8)。この変換処理により、送信側装置2は、KVSのデータ構造を持つデータに対して既存の通信APIを流用することができる。また、信号変換部22は、ソケットAPI経由で信号送信結果通知を(ソケットAPI経由による信号の送信(ステップB1)に対応して)、送信プロセス部21に送信する(ステップB9)。
図3に示すように、受信側装置3の受信プロセス部31は、信号変換部32にソケット刈り取り要求を送信する(ステップD1)。ソケット刈り取り要求は、受信側装置3自身の受信側メモリ領域14a1に格納されたデータの更新の有無を確認するための要求である。
信号変換部32は、キーバリューからソケットAPIへの変換を実行する(ステップD8)。また、信号変換部32は、ソケット刈り取り要求(ステップD1)に対するソケット刈り取り応答を受信プロセス部31に送信する(ステップD9)。
上記のようにPULL通信では、工程1,2,4が実行されることで、送信側装置2から受信側装置3へのデータ送信が実現される。
図4を参照して、PUSH通信の場合におけるデータ送信の処理について説明する。説明の際、図2,図3の処理と重複する説明は省略し、主に相違点について説明する。図4の処理では、工程1としてステップA1〜A7が実行され、工程2としてステップB1〜B9が実行され、工程3としてステップC1〜C6が実行され、工程4としてステップD1〜D9が実行される。工程1,2,4は、PULL通信の場合と同様である。工程1,2については図示を省略する。工程3は、工程2の後段、かつ、工程4の前段に実行される。
通知部13は、更新を通知するために、キーとバリュー格納部とを生成する(ステップC3)。
通知部13は、メモリサーバ1の送受信部12、および、受信側装置3の送受信部33を経由して、信号変換部32に、メモリ領域14aの更新があったことを示すKVS更新通知を送信する(ステップC4)。
上記のようにPUSH通信では、工程1〜4が実行されることで、送信側装置2から受信側装置3へのデータ送信が実現される。
図5を参照して、マルチキャスト通信の場合におけるデータ送信の処理について説明する。説明の際、図2〜図4の処理と重複する説明は省略し、主に相違点について説明する。
上記のようにマルチキャスト通信では、工程1〜4が実行されることで、送信側装置2から受信側装置3−1,3−2,・・・のすべてへのデータ送信が実現される。
本実施形態によれば、送信側装置2と受信側装置3との通信の管理を、KVSのデータ構造を持つデータの書き込みと読み出しとで実現することができる。よって、従来の煩雑な、装置ごとの物理設計および論理設計はもはや不要となる。また、従来のNW装置間の物理配線の接続も不要となる。
したがって、NWシステムの構築を簡略にすることができる。
また、従来のNWシステムのように多段構成を導入することがないため、送信側装置2と受信側装置3との通信は、1度の書き込みと1度の読み出しで済み、1つの通信に多くの装置が介在することによる伝送遅延は生じない。従来のような、DNSによる通信アドレスの解決や、TCPハンドシェークも不要であり、接続オーバヘッドが無くなることも伝送遅延の抑制に資する。
他の実施形態におけるNWシステムとして、メモリサーバ1のような大規模DBの代わりに、分散処理システムを用いることができる。具体的には、メモリサーバ1に代えて、図6に示すように、バランサ4と、ディスパッチャ5−1,5−2,5−3,・・・と、プロセッサ6−1,6−2,6−3,・・・と、ストレージ7−1,7−2,7−3,・・・、を導入する。
ストレージ7−1,7−2,7−3,・・・は、対応のプロセッサ6−1,6−2,6−3,・・・による演算処理の処理結果を記憶する。ストレージ7−1,7−2,7−3,・・・は、KVSのデータ構造をとるデータを記憶し、ストレージ7−1,7−2,7−3,・・・が備える受信側メモリ領域に格納されるバリュー内には、最初の実施形態と同様、送信側アドレスと送信データとが含まれる(図6の符号14b参照)。
(a):受信側装置3がメモリサーバ1から取得するデータが複数存在する場合、特定のデータを優先的に取得することを可能にする優先制御機能をメモリサーバ1に導入してもよい。具体的には、例えば、データの優先度の示すフラグをデータのキーまたはバリューに含ませる。そして、受信側装置3へのデータ送信の際(図2〜図5の処理の工程4参照)、当該フラグを読み出してデータ送信順番を決めるようにするとよい。
(b):図5で説明したマルチキャスト通信は、PUSH通信の方式に即して説明したが、PULL通信の方式に適用することもできる。
また、本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
その他、ハードウェア、ソフトウェア、処理手順などについて、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
2 送信側装置
3 受信側装置
11 接続可否判定部(制御部:制御手段、書き込み判定部、読み出し判定部)
12 送受信部
13 通知部
14 メモリ(記憶手段)
14a メモリ領域
14a1 受信側メモリ領域
Claims (7)
- 送信側装置と受信側装置との通信を管理する通信管理装置であって、
前記送信側装置から前記受信側装置に送信されるデータを、KVS(キーバリューストア)のデータ構造を持つデータとしてメモリ領域に格納するメモリと、
前記メモリ領域のうち、前記受信側装置のために確保された受信側メモリ領域を、前記データのキーに対応させ、前記受信側メモリ領域に前記データのバリューを格納する制御部と、を備え、
前記制御部は、新規の受信側装置が追加される場合、
当該新規の受信側装置の受信側アドレス、および、当該新規の受信側装置のポート番号に基づいて、当該新規の受信側装置の受信側メモリ領域のメモリ番地を決定する、
ことを特徴とする通信管理装置。 - 前記制御部は、
前記送信側装置から受信したデータのキーに対応する受信側メモリ領域が確保されているか否か判定し、確保されていれば前記データのバリューを前記受信側メモリ領域に書き込むことを許可する書き込み判定部を備える、
ことを特徴とする請求項1に記載の通信管理装置。 - 前記制御部は、
前記受信側装置から受信したデータのキーに対応する受信側メモリ領域が確保されているか否か判定し、確保されていれば前記データのバリューを前記受信側メモリ領域から読み出すことを許可する読み出し判定部を備える、
ことを特徴とする請求項1または請求項2に記載の通信管理装置。 - 前記キーは、前記受信側装置の受信側アドレス、および、前記受信側装置のポート番号を含み、
前記バリューは、前記送信側装置の送信側アドレス、および、前記データの本体を含む、
ことを特徴とする請求項1から請求項3のいずれか1項に記載の通信管理装置。 - 前記送信側装置と前記受信側装置との通信は、PULL通信、PUSH通信、または、マルチキャスト通信のいずれかである、
ことを特徴とする請求項1から請求項4のいずれか1項に記載の通信管理装置。 - 送信側装置と受信側装置との通信を管理する通信管理装置における通信管理方法であって、
前記通信管理装置は、
前記送信側装置から前記受信側装置に送信されるデータを、KVSのデータ構造を持つデータとしてメモリ領域に格納するメモリを備えており、
前記通信管理装置の制御部が、
前記メモリ領域のうち、前記受信側装置のために確保された受信側メモリ領域を、前記データのキーに対応させ、前記受信側メモリ領域に前記データのバリューを格納するステップ、を実行し、
新規の受信側装置が追加される場合、
当該新規の受信側装置の受信側アドレス、および、当該新規の受信側装置のポート番号に基づいて、当該新規の受信側装置の受信側メモリ領域のメモリ番地を決定するステップを実行する、
ことを特徴とする通信管理方法。 - 送信側装置と受信側装置との通信を管理する通信管理装置としてのコンピュータを、
前記送信側装置から前記受信側装置に送信されるデータを、KVSのデータ構造を持つデータとしてメモリ領域に格納する記憶手段、
前記メモリ領域のうち、前記受信側装置のために確保された受信側メモリ領域を、前記データのキーに対応させ、前記受信側メモリ領域に前記データのバリューを格納し、
新規の受信側装置が追加される場合、
当該新規の受信側装置の受信側アドレス、および、当該新規の受信側装置のポート番号に基づいて、当該新規の受信側装置の受信側メモリ領域のメモリ番地を決定する制御手段、
として機能させるための通信管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016171114A JP6653230B2 (ja) | 2016-09-01 | 2016-09-01 | 通信管理装置、通信管理方法、および、通信管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016171114A JP6653230B2 (ja) | 2016-09-01 | 2016-09-01 | 通信管理装置、通信管理方法、および、通信管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018036962A JP2018036962A (ja) | 2018-03-08 |
JP6653230B2 true JP6653230B2 (ja) | 2020-02-26 |
Family
ID=61565891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016171114A Active JP6653230B2 (ja) | 2016-09-01 | 2016-09-01 | 通信管理装置、通信管理方法、および、通信管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6653230B2 (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005301455A (ja) * | 2004-04-07 | 2005-10-27 | Ntt Docomo Inc | 通信装置、サーバ装置およびメモリ管理方法 |
JP4413121B2 (ja) * | 2004-10-05 | 2010-02-10 | ソフトバンクモバイル株式会社 | Tcp/ipソケットを用いたデータ通信装置及びデータ通信方法 |
JP2007189383A (ja) * | 2006-01-12 | 2007-07-26 | Matsushita Electric Ind Co Ltd | Tcp/ip通信中継方法及びtcp/ip通信中継装置 |
JP2007249829A (ja) * | 2006-03-17 | 2007-09-27 | Hitachi Electronics Service Co Ltd | 内部ネットワーク間通信システム及び情報処理装置及び中継情報処理装置及び通信制御プログラム及び内部ネットワーク間における通信制御方法及び遠隔障害管理システム及び被管理装置及び管理装置 |
KR20080006253A (ko) * | 2006-07-12 | 2008-01-16 | 삼성전자주식회사 | 전송 효율을 개선한 블루투스 마스터 및 이를 이용한데이터 전송 방법 |
US8111707B2 (en) * | 2007-12-20 | 2012-02-07 | Packeteer, Inc. | Compression mechanisms for control plane—data plane processing architectures |
US8171494B2 (en) * | 2007-12-05 | 2012-05-01 | Cisco Technology, Inc. | Providing identity to a portal with a redirect |
JP5811703B2 (ja) * | 2011-09-02 | 2015-11-11 | 富士通株式会社 | 分散制御プログラム、分散制御方法、および情報処理装置 |
JP6056453B2 (ja) * | 2012-12-20 | 2017-01-11 | 富士通株式会社 | プログラム、データ管理方法および情報処理装置 |
-
2016
- 2016-09-01 JP JP2016171114A patent/JP6653230B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018036962A (ja) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10148493B1 (en) | API gateway for network policy and configuration management with public cloud | |
CN109510846A (zh) | Api调用系统、方法、装置、电子设备及存储介质 | |
US9854045B2 (en) | Generic cloud enabling of stateful applications | |
CN114025021B (zh) | 一种跨Kubernetes集群的通信方法、系统、介质和电子设备 | |
CN103562882A (zh) | 用于提供消息传送应用程序接口的系统和方法 | |
CN112910685B (zh) | 实现对容器网络统一管理的方法及装置 | |
US20110228725A1 (en) | Field communication system and field communication method | |
WO2015196815A1 (zh) | Ip硬盘与存储系统,及其数据操作方法 | |
JP6749281B2 (ja) | IoTデバイス、シグナリングサーバ、メッセージバス管理サーバ、コネクション形成方法、及びプログラム | |
JP2015197874A (ja) | 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム | |
US20150063161A1 (en) | Relay device, communication system, and method of acquiring node setting information | |
CN108287894A (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN110430478B (zh) | 组网通信方法、装置、终端设备及存储介质 | |
JP2016208503A (ja) | Plcシステムのプロトコル自動設定方法 | |
WO2018188607A1 (zh) | 流处理方法及装置 | |
CN113760447A (zh) | 服务管理方法、装置、设备、存储介质及程序产品 | |
JP6653230B2 (ja) | 通信管理装置、通信管理方法、および、通信管理プログラム | |
WO2013111532A1 (ja) | 管理システム、管理方法およびプログラム | |
JP2017102777A (ja) | 負荷分散処理サーバ、負荷分散処理方法、及び、システム | |
US9823944B2 (en) | Deployment control device and deployment control method for deploying virtual machine for allowing access | |
JP2010146246A (ja) | マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法 | |
JP2007226822A (ja) | 情報処理装置の割り当て方法、及びこの方法を実行する管理サーバ | |
KR20200054838A (ko) | 모드버스 프로토콜 변환과 연동 방법, 및 이를 수행하는 장치들 | |
JP7011271B1 (ja) | 情報処理方法、情報処理システム及びコンピュータプログラム | |
JP7524563B2 (ja) | Ipアドレス割付方法、ipアドレス割付装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190723 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190823 |
|
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: 20200121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6653230 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |