JP2011509004A - 複数の接続インターフェース間で通信するための方法および装置 - Google Patents

複数の接続インターフェース間で通信するための方法および装置 Download PDF

Info

Publication number
JP2011509004A
JP2011509004A JP2010538856A JP2010538856A JP2011509004A JP 2011509004 A JP2011509004 A JP 2011509004A JP 2010538856 A JP2010538856 A JP 2010538856A JP 2010538856 A JP2010538856 A JP 2010538856A JP 2011509004 A JP2011509004 A JP 2011509004A
Authority
JP
Japan
Prior art keywords
buffer memory
list
rxs
socket
data stream
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
Application number
JP2010538856A
Other languages
English (en)
Other versions
JP4938134B2 (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
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2011509004A publication Critical patent/JP2011509004A/ja
Application granted granted Critical
Publication of JP4938134B2 publication Critical patent/JP4938134B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

接続インターフェースSCのうちの1つSC3が、選択された処理に関連付けられるそれぞれの接続インターフェースによって受信されたデータのストリームを受信できるように指定される。このように指定された前記接続インターフェースSC3は、選択された処理に関与する接続インターフェースのセットによって受信されたデータのストリームを含むバッファメモリを載せる補助的な受信リストRXSをさらに備える。それぞれの接続インターフェースSC1、SC2、SC3のバッファメモリSKBは2つの受信リストRX、RXSに同時に属し、それぞれのバッファメモリが補助的な受信リストRXS内の現在のバッファメモリに先行するバッファメモリを示す補助的な先行ポインタと、補助的な受信リストRXS内の現在のバッファメモリに続くバッファメモリを示す補助的な後続ポインタとをさらに備え、それによって前記処理に関与する接続インターフェースのセットによって受信されたデータのストリームに、受信されたデータの前記ストリームの到着順序でアクセスできるようにする。

Description

本発明は通信ネットワーク内の複数のソケット間の通信に関する。
本発明は、TCP(「伝送制御プロトコル」)などのプロトコル、またはそれらの同等物を使用して作動するインターネット通信ネットワークを介して複数のソースからメッセージまたはデータを受信する、どのような処理にも適用できる。
一般にソケットは、受信データストリームを含むバッファメモリを列記する受信リストと、送信されるべきデータストリームを含むバッファメモリを列記する送信リストとを備える。
受信リストおよび送信リストは、それらを構成するバッファメモリが、それぞれ対応するリスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタと、対応するリスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを含む構造を保有する点で、「二重にリンクしている」と考えられる。
ソケットが1つしかない場合、処理はメッセージまたはデータが前記ソケットの受信リストに到着するのを待つ間にそれらを受信できる。
複数のソケットがある場合、読まれる予定の受信メッセージを有するソケットを見つけるために、まず受信リストの循環分析を実行する必要がある。
この分析を実装するために、複数の知られている解決策、特に「select」、「poll」、「kqueue」、および「epoll」として知られている解決策が提案された。
これらの知られている解決策は比較的十分なものではあるが、メッセージが到着する順序を考慮せず、またさらなるタスクを含む。
その結果、ネットワーク性能が著しく劣化し、この劣化が大きくなるにつれて、それだけ読まれる必要のあるソケットが多くなり、たとえば1000ソケット以上になる。
本発明はこの欠点を緩和する。
本発明は通信ネットワーク内の複数のソケット間で通信するための通信装置に関し、それぞれのソケットは受信データストリームを含むバッファメモリを列記する受信リストを備え、前記バッファメモリはそれぞれ対応する受信リスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタと、対応する受信リスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備える構造を有する。
本発明の一般的な一定義によれば、ソケットのうちの1つは、選択された処理に関連付けられるそれぞれのソケットによって受信されたデータストリームを受信できるように指定され、そのようにして指定された前記ソケットは、選択された処理に関与する全てのソケットによって受信されたデータストリームを含むバッファメモリを列記するさらなる受信リストをさらに備え、それぞれのソケットのバッファメモリは両方の受信リストに同時に属し、それぞれのバッファメモリはさらなる受信リスト内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタと、さらなる受信リスト内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタとをさらに備える。
このようにして、本発明の装置は、それによって指定されたソケットが、前記処理に関与する全てのソケットによって受信されたデータストリームにアクセスできるように、および前記受信データストリームが到着した順序でアクセスできるようにする。
その結果、従来の構造よりも優れたネットワーク性能がもたらされる。
本発明の他の目的は、本発明の装置によって実装された通信方法である。
本発明の他の特徴および諸利点は、以下の詳細な説明および図面によって明らかになるであろう。
本発明による指定されたソケットを備えた通信装置を概略的に示す図である。 本発明によるバッファメモリ構造を概略的に示す図である。
図1に、TCP/IPメッセージング処理が示されている。
このような処理は、TCPプロトコルを使用して作動する通信ネットワークを介して複数のソースからメッセージを受信する。
ソケットSCはそれぞれのソースに関連付けられ、それぞれSC1、SC2、およびSC3と表される。
それぞれのソケットSCは、受信データストリームを含むバッファメモリSKBを列記する受信リストRXを備える。
それぞれのソケットは、送信されるべきデータストリームを含むバッファメモリを列記する送信リスト(図示せず)をさらに備える。
図2では、受信リストRXの構造は、それぞれのバッファメモリSKBが、対応するリスト内の現在のバッファメモリに先行するバッファメモリSKBを示す「前の」ポインタPPと、対応するリスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備えるような構造である。
バッファメモリは、選択されたソケットのために相互にリンクされている。
それぞれのバッファメモリSKBは、データパケットが送信される、またはそこからデータパケットが受信される装置NDの構造を識別する。
バッファメモリSKBはそれぞれのパケットに関連付けられる。パケットのヘッダはポインタのセットTH、IPH、およびMACによって正確に位置付けられる。
バッファメモリは所与のソケットのためにリンクされており、プロトコルヘッダへのリンク、およびパケットに関連付けられる装置などの情報を含む。
再び図1を参照する。
ソケットSC3は、メッセージング処理などの選択された処理に関連付けられるそれぞれのソケットSC1、SC2、およびSC3から受信されたデータストリームをさらに受信するように指定される。
ソケットSC3は、前記処理に関与するソケットのセットによって受信されたデータストリームを含むバッファメモリSKBを列記するさらなる受信リストRXSを備える。
再び図2を参照する。
それぞれのソケットSC1、SC2、SC3のバッファメモリSKBは、両方の受信リストRXとRXSに同時に属する。
バッファメモリSKBは、それぞれさらなる受信リストRXS内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタPPSと、さらなる受信リストRXS内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタPPSとをさらに備える。
それによって指定されたソケットSC3内で、前記処理に関与するソケットのセットによって受信されたデータストリームに、前記受信データストリームが到着した順序でアクセスできる。
これは、さらなる受信リストRXSが、このデータが様々なソケットに到着した順序で受信データストリームを位置付けることができるようにするポインタ情報を含むからである。
たとえば、図1では、受信データストリームは以下の順序で到着する:
Skb3.1
Skb2.1
Skb1.1
Skb3.2
Skb1.2
Skb1.3
さらなる受信リストRXSを使用してこの順序でデータストリームにアクセスできるのに対して、さらなる受信リストがない場合、アクセスはソケットのランクに基づき、すなわちまずソケットSC1、次いでソケットSC2、そしてSC3となる。このような場合、データストリームが処理される順序は以下のようになる:
Skb1.1
Skb1.2
Skb1.3
Skb2.1
Skb3.1
Skb3.2

Claims (2)

  1. 通信ネットワーク内の複数のソケット(SC1、SC2、SC3)間で通信するための通信装置であって、それぞれのソケット(SC1、SC2、SC3)が受信データストリームを含むバッファメモリ(SKB)を列記する受信リスト(RX)を備え、前記受信リスト(RX)が、それぞれのバッファメモリ(SKB)が対応する受信リスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタ(PP)と、対応する受信リスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備える構造を有する、通信装置において、
    ソケット(SC)のうちの1つ(SC3)が、選択された処理に関連付けられるそれぞれのソケットによって受信されたデータストリームを受信できるように指定され、
    そのようにして指定された前記ソケット(SC3)が、選択された処理に関与する全てのソケットによって受信されたデータストリームを含むバッファメモリを列記するさらなる受信リスト(RXS)をさらに備え、
    それぞれのソケット(SC1、SC2、SC3)のバッファメモリ(SKB)が両方の受信リスト(RX、RXS)に同時に属し、それぞれのバッファメモリがさらなる受信リスト(RXS)内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタ(PPS)と、さらなる受信リスト(RXS)内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタ(PSS)とをさらに備え、
    前記処理に関与するソケットのセットによって受信されたデータストリームに前記受信データストリームが到着した順序でアクセスできるようにすることを特徴とする、通信装置。
  2. 通信ネットワーク内の複数のソケット(SC1、SC2、SC3)間で通信するための通信方法であって、それぞれのソケット(SC1、SC2、SC3)が受信データストリームを含むバッファメモリ(SKB)を列記する受信リスト(RX)を備え、前記受信リスト(RX)が、それぞれのバッファメモリ(SKB)が対応する受信リスト内の現在のバッファメモリに先行するバッファメモリを示す「前の」ポインタ(PP)と、対応する受信リスト内の現在のバッファメモリに続くバッファメモリを示す第2の「次の」ポインタとを備える構造を有する、通信方法において、
    ソケット(SC)のうちの1つ(SC3)が、選択された処理に関連付けられるそれぞれのソケットによって受信されたデータストリームを受信できるように指定され、
    そのようにして指定された前記ソケット(SC3)が、選択された処理に関与する全てのソケットによって受信されたデータストリームを含むバッファメモリを列記するさらなる受信リスト(RXS)をさらに備え、
    それぞれのソケット(SC1、SC2、SC3)のバッファメモリ(SKB)が両方の受信リスト(RX、RXS)に同時に属し、それぞれのバッファメモリがさらなる受信リスト(RXS)内の現在のバッファメモリに先行するバッファメモリを示すさらなる「前の」ポインタ(PPS)と、さらなる受信リスト(RXS)内の現在のバッファメモリに続くバッファメモリを示すさらなる「次の」ポインタ(PSS)とをさらに備え、
    前記処理に関与するソケットのセットによって受信されたデータストリームに前記受信データストリームが到着した順序でアクセスできるようにすることを特徴とする、通信方法。
JP2010538856A 2007-12-18 2008-12-11 複数の接続インターフェース間で通信するための方法および装置 Expired - Fee Related JP4938134B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0759931 2007-12-18
FR0759931A FR2925190B1 (fr) 2007-12-18 2007-12-18 Procede et dispositif de communication entre plusieurs interfaces de connexion
PCT/FR2008/052278 WO2009080997A1 (fr) 2007-12-18 2008-12-11 Procede et dispositif de communication entre plusieurs interfaces de connexion

Publications (2)

Publication Number Publication Date
JP2011509004A true JP2011509004A (ja) 2011-03-17
JP4938134B2 JP4938134B2 (ja) 2012-05-23

Family

ID=39577259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010538856A Expired - Fee Related JP4938134B2 (ja) 2007-12-18 2008-12-11 複数の接続インターフェース間で通信するための方法および装置

Country Status (8)

Country Link
US (1) US7852858B2 (ja)
EP (1) EP2073127B1 (ja)
JP (1) JP4938134B2 (ja)
KR (1) KR101428138B1 (ja)
CN (1) CN101488910B (ja)
AT (1) ATE534082T1 (ja)
FR (1) FR2925190B1 (ja)
WO (1) WO2009080997A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789959B (zh) * 2009-12-30 2013-05-08 北京天融信科技有限公司 一种多核系统中的skb重用方法及装置
CN101827026B (zh) * 2010-04-01 2012-04-18 东方电子股份有限公司 一种iec61850高层协议报文发送的管理方法
CN102316116B (zh) * 2011-09-29 2014-05-21 高新兴科技集团股份有限公司 一种支持多平台网络通讯处理系统及方法
CN102508783B (zh) * 2011-10-18 2014-04-09 深圳市共进电子股份有限公司 一种避免数据混乱的内存回收方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11317787A (ja) * 1997-10-27 1999-11-16 Sun Microsyst Inc 独立転送ネットワ―クのための方法及び装置
JP2000510659A (ja) * 1996-02-02 2000-08-15 ソニー エレクトロニクス インク バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス
JP2001067334A (ja) * 1999-08-30 2001-03-16 Toshiba Corp 分散監視制御システム及び方法並びに分散監視制御用ソフトウェアを記録した記録媒体

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181525B1 (en) * 1996-08-05 2007-02-20 Computer Associates Think, Inc. Dynamic method for connecting a client to a server application
US6073177A (en) * 1997-08-05 2000-06-06 Sterling Software, Inc. Dynamic method for connecting a client to a server application
US6138186A (en) * 1998-07-20 2000-10-24 Hewlett-Packard Company Burst transfer management system utilizing pointers to ensure that there is enough space in a buffer to receive burst transfers without corrupting data
US6609161B1 (en) * 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
US6922727B2 (en) * 2001-06-26 2005-07-26 International Business Machines Corporation Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US7269661B2 (en) * 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7957409B2 (en) * 2003-01-23 2011-06-07 Cisco Technology, Inc. Methods and devices for transmitting data between storage area networks
US7430623B2 (en) * 2003-02-08 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for buffering data received from a network
US20050010644A1 (en) * 2003-07-07 2005-01-13 Brown Scott T. High performance electronic message delivery engine
CN1860768A (zh) * 2003-09-30 2006-11-08 皇家飞利浦电子股份有限公司 客户请求的外部地址映射
JP4343760B2 (ja) * 2004-04-28 2009-10-14 株式会社日立製作所 ネットワークプロトコル処理装置
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US7769905B1 (en) * 2004-08-13 2010-08-03 Oracle America, Inc. Adapting network communication to asynchronous interfaces and methods
US7957379B2 (en) * 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
US7751346B2 (en) * 2005-12-01 2010-07-06 Electronics And Telecommunications Research Institute Apparatus for searching TCP and UDP sockets
US7616566B2 (en) * 2006-04-28 2009-11-10 Samsung Electroncis Co., Ltd Data flow control apparatus and method of mobile terminal for reverse communication from high speed communication device to wireless network
US7911948B2 (en) * 2007-10-17 2011-03-22 Viasat, Inc. Methods and systems for performing TCP throttle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000510659A (ja) * 1996-02-02 2000-08-15 ソニー エレクトロニクス インク バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス
JPH11317787A (ja) * 1997-10-27 1999-11-16 Sun Microsyst Inc 独立転送ネットワ―クのための方法及び装置
JP2001067334A (ja) * 1999-08-30 2001-03-16 Toshiba Corp 分散監視制御システム及び方法並びに分散監視制御用ソフトウェアを記録した記録媒体

Also Published As

Publication number Publication date
CN101488910B (zh) 2012-05-23
CN101488910A (zh) 2009-07-22
KR20100097705A (ko) 2010-09-03
EP2073127A1 (fr) 2009-06-24
KR101428138B1 (ko) 2014-08-07
US20090310611A1 (en) 2009-12-17
FR2925190B1 (fr) 2009-11-20
JP4938134B2 (ja) 2012-05-23
ATE534082T1 (de) 2011-12-15
EP2073127B1 (fr) 2011-11-16
US7852858B2 (en) 2010-12-14
FR2925190A1 (fr) 2009-06-19
WO2009080997A1 (fr) 2009-07-02

Similar Documents

Publication Publication Date Title
US10652147B2 (en) Packet coalescing
US9807134B2 (en) Method and device for filtering media packets
US7843919B2 (en) Ethernet virtualization using a network packet alteration
US8121148B2 (en) Protocol stack using shared memory
US7298745B2 (en) Method and apparatus to manage packet fragmentation with address translation
US20150229568A1 (en) Stateless Fibre Channel Sequence Acceleration for Fibre Channel Traffic Over Ethernet
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US6760304B2 (en) Apparatus and method for receive transport protocol termination
JP4938134B2 (ja) 複数の接続インターフェース間で通信するための方法および装置
US8179795B2 (en) Communication terminal apparatus, distribution apparatus, error notification method, and error notification program
CN107508828B (zh) 一种超远程数据交互系统及方法
US7327759B2 (en) Sequence-preserving deep-packet processing in a multiprocessor system
US20080313363A1 (en) Method and Device for Exchanging Data Using a Virtual Fifo Data Structure
JP2007259374A (ja) ネットワーク送受信装置
EP1355453A1 (fr) Dispositif d'aiguillage à commutation et routage centralisés
RU2768799C1 (ru) Телекоммуникационный программно-аппаратный комплекс и способ для обеспечения бесшовной интеграции сетей связи через ip сеть (варианты)
JP2003348107A (ja) 双方向リング形ネットワーク及びそれに用いる経路選択方法並びにそのプログラム
JP2004056759A (ja) パケット通信装置
US20080159332A1 (en) Methods and devices for using variable length subpackets in data transmissions
JP2004363681A (ja) パケットシェーピング方法、この方法を実施するパケットシェーピング装置及びコンピュータプログラム、並びにコンピュータプログラム記憶媒体
Held Windows Networking Tools: The Complete Guide to Management, Troubleshooting, and Security
CN117439994A (zh) 连接保持方法、客户端设备、服务器、路由器和通信系统
CN116996444A (zh) 基于dpdk的高速网络包处理系统及方法
JP2013046173A (ja) 制御装置、制御方法、及びプログラム
JP2006121593A (ja) サーバ装置、データ配信方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120112

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees