JPH08305668A - コネクション型サーバ・クライアントシステム - Google Patents

コネクション型サーバ・クライアントシステム

Info

Publication number
JPH08305668A
JPH08305668A JP10593195A JP10593195A JPH08305668A JP H08305668 A JPH08305668 A JP H08305668A JP 10593195 A JP10593195 A JP 10593195A JP 10593195 A JP10593195 A JP 10593195A JP H08305668 A JPH08305668 A JP H08305668A
Authority
JP
Japan
Prior art keywords
client
processing process
communication processing
connection
communication
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.)
Pending
Application number
JP10593195A
Other languages
English (en)
Inventor
Takeshi Chiba
猛 千葉
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP10593195A priority Critical patent/JPH08305668A/ja
Publication of JPH08305668A publication Critical patent/JPH08305668A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 プロセス生成のオーバヘッドがなく、特定の
OSに依存せず、通信可能なクライアントの数をシステ
ムの上限とすることが可能になり、マルチプロセッサの
利点を生かしたスループットの高いサーバを実現する。 【構成】 サーバプログラムは、マルチプロセッサシス
テム1上の一つのクライアント接続処理プロセス2とN
個の通信処理プロセス3から構成される。各プロセス
2,3は、サーバのサービス開始時に全て起動され、ク
ライアント接続処理プロセス2とN個の通信処理プロセ
ス3はそれぞれファイル記述子引き継ぎ用パイプ(プロ
セス間の通信チャネル)4で接続される。サービス提供
中はその状態が続き、サービス終了時に全てのプロセス
が終了する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサシステ
ム上のコネクション型のサーバ・クライアントシステム
のサーバプログラムに関する。
【0002】
【従来の技術】コネクション型のサーバ・クライアント
システムにおいて、サーバの処理を行う場合、 1.1実行単位(以下プロセスと表記する)で全ての処
理を行う。
【0003】2.クライアントからの着呼接続完了時/
クライアントへの発呼接続完了時に、プロセスを生成
し、実際の処理はそのプロセスで行う。方法が考えられ
る。
【0004】マルチプロセッサシステムにおいては、2
の方法をと取る方が、各プロセスが別CPU上で同時に
動作するため、マルチプロセッサの利点を生かし、より
高いスループットを得ることができる。
【0005】1の方法を取った場合でも、OSがスレッ
ド機構(プロセス内でマルチプロセッサを用いた並列処
理ができる機構)を提供していれば、それを利用して、
クライアントからの着呼接続完了時/クライアントへの
発呼接続完了時に、LWP(Light Weight Process:プ
ロセス内の1実行単位)を生成し、各スレッドを別CP
U上で同時に動作させることにより、マルチプロセッサ
の利点を生かすことが可能になる。
【0006】また、『電子情報通信学会論文誌D−1 V
ol. J77-D-1 』にみられるように、プロセス生成の高速
化を図る試みがある。
【0007】
【発明が解決しようとする課題】従来技術の方法では、
『電子情報通信学会論文誌D−1 Vol.J77-D-1』のよう
にプロセス生成の高速化の試みはあるものの、クライア
ントとの接続時のプロセス生成にかかるオーバヘッドは
大きい。また、OSが同時実行可能なプロセス数の制限
により、同時処理可能なクライアントの数が制限される
場合もある。
【0008】従来技術1の方法を用い、OSが提供する
スレッド機構を用いた場合、システムに依存した実装と
なってしまうこと、1プロセス当たりの同時オープン可
能なファイル記述子の数に制限があるため、その数以上
のクライアントを処理できない等の問題がある。
【0009】本発明の目的は、プロセス生成のオーバヘ
ッドがなく、特定のOSに依存せず、通信可能なクライ
アントの数が同時に実行可能なプロセスの数や、1プロ
セス当たりのファイル記述子の数に依存しない、マルチ
プロセッサの利点を生かしたスループットの高いサーバ
を実現することが可能なコネクション型のサーバ・クラ
イアントシステムを提供することにある。
【0010】
【課題を解決するための手段】本発明のコネクション型
サーバ・クライアントシステムは、1つのクライアント
接続処理プロセスとN個のクライアント通信処理プロセ
スから構成され、前記クライアント接続処理プロセスは
前記クライアント通信処理プロセスの負荷状態を管理
し、クライアントとの接続完了後、N個の前記クライア
ント通信処理プロセスの中から負荷の最も軽いプロセス
に、クライアントと接続したファイル記述子を引き継
ぎ、前記クライアント通信処理プロセスは前記クライア
ント接続処理プロセスから複数のファイル記述子を引き
継ぎ、複数のCPU上で並列にクライアントと通信す
る。
【0011】
【作用】単一のサービスを複数のプロセスに分散して行
うことにより、各プロセスが別CPU上で同時に動作
し、マルチプロセッサの利点を生かすことができる。そ
の際、予めクライアントとの通信処理をするためのプロ
セスは起動しておくので、プロセス生成のオーバーヘッ
ドはない。
【0012】このようなプロセス生成のオーバーヘッド
がなく、複数のCPU上で同時動作するシステムは、ス
レッドのような特定のOSで提供されている機能を用い
れば実現可能であるが、本発明によれば特定のOSに依
存した機能を用いずに実現可能となる。
【0013】また、同時に通信可能なクライアントの数
が、理論的には1プロセスあたりの同時オープン可能な
ファイル記述子の数×(1システムあたりのプロセス数
−1)である大規模な構成が可能となるのは、スレッド
機構が提供されているOSを用いた1プロセス・複数ス
レッドによるサーバシステムが、1プロセスあたりの同
時オープン可能なファイル記述子数しか同時に通信でき
ないことと比較しても優れている。
【0014】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0015】本発明の対象は、図1に示すように、数百
〜数万のクライアントを相手に処理を行うことが可能な
サーバプログラムである。
【0016】本実施例のサーバプログラムは、マルチプ
ロセッサシステム1上の一つのクライアント接続処理プ
ロセス2とN個の通信処理のプロセス3から構成され
る。各プロセス2,3は、サーバのサ−ビス開始時に全
て起動され、クライアント接続処理プロセス2とN個の
通信処理プロセス3はそれぞれファイル記述子引き継ぎ
用パイプ(プロセス間の通信チャネル)4で接続され
る。サービス提供中はその状態が引き続き、サービス終
了時に全てのプロセスが終了する。Nの数は、サービス
するクライアント5の数を元に決定し、当該計算機にお
ける、1プロセス当たり接続可能なファイル記述子の数
より算定する。
【0017】計算式は、以下のようになる。
【0018】N=サービスするクライアント5の数/
(1プロセス当たり接続可能なファイル記述子の数−
1) したがって、本サーバプログラムにより処理可能なクラ
イアントの論理的な数は、 (1プロセスあたり接続可能なファイル記述子の数−
1)×(OSで同時実行可能なプロセス数−1) となる。実際には、メモリ等の制限により、その値より
は小さくなってしまうが、システムの制限を最大限に使
用することができる。
【0019】次に、クライアント接続処理プロセス2と
クライアント通信処理プロセス3の各々について詳細に
説明する。
【0020】クライアント接続処理プロセス2は、図2
に示すように、通信処理プロセス負荷状態管理部6とク
ライアントとの接続処理部7より構成される。通信処理
プロセス負荷状態管理部6はN個存在し、それぞれ、ク
ライアント通信処理プロセス3との間にファイル記述子
引き継ぎと負荷情報の受信に用いるパイプ4を備え、ク
ライアント通信処理プロセス3の負荷情報管理用のテー
ブルを持っている。一定時間毎にクライアント通信処理
プロセス3と通信し、プロセス負荷状態のテーブルを更
新する。クライアントとの接続処理部7では、クライア
ント5への発呼および着呼を行い、クライアント5との
接続が完了すると、接続したファイル記述子をクライア
ント通信処理プロセス3へ引き継ぐ。その際、N個のク
ライアント通信処理プロセス3の中から負荷の軽いもの
を選択するために、通信処理プロセス負荷状態管理部6
の情報を用いる。
【0021】クライアント通信処理プロセス3は、図3
に示すように、クライアント接続処理プロセスとの通信
部8と、クライアントとの通信処理部9から構成され
る。クライアント接続処理プロセスとの通信部8では、
クライアント接続処理プロセス2からのファイル記述子
の受信、自プロセスの単位時間当たりのCPU使用時間
の通知、クライアント切断時の通知を行う。クライアン
トとの通信処理部9では、クライアント5と通信し、ト
ランザクション処理等実際の通信を行う。
【0022】
【発明の効果】以上説明したように本発明によれば、プ
ロセス生成のオーバヘッドがなく、特定のOSに依存せ
ず、通信可能なクライアントの数をシステムの上限とす
ることが可能になり、マルチプロセッサの利点を生かし
たスループットの高いサーバを実現することが可能にな
る。
【図面の簡単な説明】
【図1】本発明の一実施例のシステムの構成図である。
【図2】クライアント接続処理プロセス2の構成図であ
る。
【図3】クライアント通信処理プロセス3の構成図であ
る。
【符号の説明】
1 マルチプロセッサシステム 2 クライアント接続処理プロセス 3 クライアント通信処理プロセス 4 ファイル記述子引き継ぎ用パイプ 5 クライアント 6 通信処理プロセス負荷状態管理部 7 クライアントとの接続処理部 8 クライアント接続処理プロセスとの通信部 9 クライアントとの通信処理部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 マルチプロセッサシステム上の、コネク
    ション型サーバ・クライアントシステムであって、 1つのクライアント接続処理プロセスとN個のクライア
    ント通信処理プロセスから構成され、 前記クライアント接続処理プロセスは前記クライアント
    通信処理プロセスの負荷状態を管理し、クライアントと
    の接続完了後、N個の前記クライアント通信処理プロセ
    スの中から負荷の最も軽いプロセスに、クライアントと
    接続したファイル記述子を引き継ぎ、 前記クライアント通信処理プロセスは前記クライアント
    接続処理プロセスから複数のファイル記述子を引き継
    ぎ、複数のCPU上で並列にクライアントと通信するコ
    ネクション型サーバ・クライアントシステム。
  2. 【請求項2】 前記クライアント接続処理プロセスは、
    N個の通信処理プロセス負荷状態管理部と、1個の、ク
    ライアントとの接続処理部より構成され、 前記各通信処理プロセス負荷状態管理部は、前記クライ
    アント通信処理プロセスとの間にファイル記述子引き継
    ぎと負荷情報の受信に用いるパイプと、前記クライアン
    ト通信処理プロセスの負荷情報管理用のテーブルを有
    し、一定時間毎に前記クライアント通信処理プロセスと
    通信し、前記負荷情報管理用テーブルを更新し、前記ク
    ライアントとの接続処理部は、クライアントへの発呼お
    よび着呼を行い、クライアントとの接続が完了すると、
    接続したファイル記述子を前記クライアント通信処理プ
    ロセスへ引き継ぎ、その際、N個のクライアント通信処
    理プロセスの中から負荷の軽いものを選択するために、
    前記通信処理プロセス負荷状態管理部の情報を用い、 前記クライアント通信処理プロセスは、クライアント接
    続処理プロセスとの通信部と、クライアントとの通信処
    理部から構成され、 前記クライアント接続処理プロセスとの通信部は、前記
    クライアント接続処理プロセスからのファイル記述子の
    受信、自プロセスの単位時間当たりのCPU使用時間の
    通知、クライアント切断時の通知を行い、前記クライア
    ントとの通信処理部はクライアントと通信し、トランザ
    クション管理等実際の通信を行う、請求項1記載のコネ
    クション型サーバ・クライアントシステム。
JP10593195A 1995-04-28 1995-04-28 コネクション型サーバ・クライアントシステム Pending JPH08305668A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10593195A JPH08305668A (ja) 1995-04-28 1995-04-28 コネクション型サーバ・クライアントシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10593195A JPH08305668A (ja) 1995-04-28 1995-04-28 コネクション型サーバ・クライアントシステム

Publications (1)

Publication Number Publication Date
JPH08305668A true JPH08305668A (ja) 1996-11-22

Family

ID=14420607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10593195A Pending JPH08305668A (ja) 1995-04-28 1995-04-28 コネクション型サーバ・クライアントシステム

Country Status (1)

Country Link
JP (1) JPH08305668A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334064A (ja) * 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk 負荷分散方式
JP2001331391A (ja) * 2000-05-22 2001-11-30 Nec Miyagi Ltd Osiエージェントにおけるcmip要求の並列処理方式

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63137356A (ja) * 1986-11-29 1988-06-09 Hitachi Ltd 計算機ネツトワ−クにおける資源情報の分散管理方法
JPH05173990A (ja) * 1991-12-24 1993-07-13 Mitsubishi Electric Corp データ処理システム
JPH06309260A (ja) * 1993-04-20 1994-11-04 Fujitsu Ltd プロセス間通信方式
JPH07152590A (ja) * 1993-11-29 1995-06-16 Nippon Telegr & Teleph Corp <Ntt> サーバ型プロセス動作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63137356A (ja) * 1986-11-29 1988-06-09 Hitachi Ltd 計算機ネツトワ−クにおける資源情報の分散管理方法
JPH05173990A (ja) * 1991-12-24 1993-07-13 Mitsubishi Electric Corp データ処理システム
JPH06309260A (ja) * 1993-04-20 1994-11-04 Fujitsu Ltd プロセス間通信方式
JPH07152590A (ja) * 1993-11-29 1995-06-16 Nippon Telegr & Teleph Corp <Ntt> サーバ型プロセス動作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10334064A (ja) * 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk 負荷分散方式
JP2001331391A (ja) * 2000-05-22 2001-11-30 Nec Miyagi Ltd Osiエージェントにおけるcmip要求の並列処理方式

Similar Documents

Publication Publication Date Title
CN115913952B (zh) 基于cpu+dpu平台的多目标服务功能链的高效并行化和部署方法
CN101689158B (zh) 用于多核处理器的数据分组处理方法
US7274706B1 (en) Methods and systems for processing network data
US5612865A (en) Dynamic hashing method for optimal distribution of locks within a clustered system
US8326915B2 (en) Pipeline systems and method for transferring data in a network environment
US7415522B2 (en) Extensible framework for transferring session state
US8346928B2 (en) Administering an epoch initiated for remote memory access
US7487504B2 (en) Thread dispatch for multiprocessor computer systems
JP2000507428A (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
US7536688B2 (en) Segmented virtual machine
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
JPH10320220A (ja) 記述子を転送する方法および装置
CN118353597B (zh) 一种区块链数据管理系统、方法、装置以及存储介质
US10673983B2 (en) Processing a unit of work
US7539995B2 (en) Method and apparatus for managing an event processing system
JPH03273352A (ja) オンライン情報処理装置
US20040243578A1 (en) Techniques for achieving higher availability of resources during reconfiguration of a cluster
CN109889406A (zh) 用于管理网络连接的方法、装置、设备和存储介质
CN109491768A (zh) 一种基于子事务流的分布式事务动态处理方法和系统
JP3628577B2 (ja) サーバ・データ処理装置、操作方法および記憶装置
US6839732B1 (en) Efficient use of domain socket pairs in communication for tightly coupled transactions
US11716678B2 (en) Distributed ledger directory service for wireless communication networks
US8856347B2 (en) Efficient selection of a messaging multiplexed channel instance
JPH08305668A (ja) コネクション型サーバ・クライアントシステム
US20250365252A1 (en) Efficient high availability within a network device