JPH1049459A - 複数プロセスへの受信pdu配信方式 - Google Patents

複数プロセスへの受信pdu配信方式

Info

Publication number
JPH1049459A
JPH1049459A JP8220338A JP22033896A JPH1049459A JP H1049459 A JPH1049459 A JP H1049459A JP 8220338 A JP8220338 A JP 8220338A JP 22033896 A JP22033896 A JP 22033896A JP H1049459 A JPH1049459 A JP H1049459A
Authority
JP
Japan
Prior art keywords
pdu
user
reception
processes
receiving
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
JP8220338A
Other languages
English (en)
Inventor
Masashi Nakasaki
正史 中崎
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 JP8220338A priority Critical patent/JPH1049459A/ja
Publication of JPH1049459A publication Critical patent/JPH1049459A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】同種のユーザAPを同時に起動する場合、他ホ
ストからの電文の受信を行うために利用するポート番号
に競合が発生を回避する配信方式の提供。 【解決手段】PDUの受信と各プロセスに対して配信を
行う常駐プロセス(PDU受信デーモン)を起動する。
本プロセスは、ユーザ側プロセスに対してPDUの受信
待機と配信依頼を行うためのインタフェース(共通AP
I)を提供し、ユーザ側プロセスから依頼されたポート
の受信待機を行い、受信したPDUを依頼されたユーザ
側プロセスの数だけコピーしてそれぞれに個別のメッセ
ージキューファイルに書き込む。これにより、ユーザ側
プロセスが直接ポートをバインドする必要がなくなり、
同一ポートからPDUの受信を待機するプロセスを実装
したユーザAPを複数起動することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークデー
タ配信方式に関し、特に、オペレーティングシステムU
NIX上に実装し、IP(Internet Protocol)パケ
ットを送受信するコネクションレス型プロトコルを下位
層として運用される、ネットワーク管理や通信基盤に属
する各種アプリケーション、例えばSNMP(Simple
NetworkManagement Protocol)を用いたネットワ
ーク管理ステーション、POP(Post Office Pro
tocol)サーバを用いたインタネットメール配信システ
ムなどに適用される、複数プロセスへの受信データの配
信方式に関する。
【0002】
【従来の技術】従来、UNIX等のネットワークシステ
ムにおいて、同一ホストの同一ポート番号に受信したデ
ータグラム型PDU(Protocol Data Unit;プロ
トコルデータ単位)を、異なったユーザアプリケーショ
ン(ユーザAP)上に実装された異なるプロセスに対し
て配信する機能は、実現されていない。
【0003】なお、複数プロセスのメッセージキューに
対して電文の着信を通知する方式にセマフォを用いた方
式としては、例えば特開6−250910号公報等の記
載が参照される。
【0004】
【発明が解決しようとする課題】上記したように、従来
のUNIXシステム等のネットワークシステムにおい
て、同一ホスト上で同種のサービスを提供するユーザA
Pを実装してシステム運用を行う場合に、ユーザAP内
のプロセスが、ネットワーク接続された他ホストからの
電文の受信を行うために利用するポート番号に、競合が
発生することに起因して、ユーザAPの構成の仕方によ
って異なるが、後から起動したユーザAPが待ち状態も
しくはダウンするといった事態が発生する可能性があ
る、という問題点を有している。
【0005】その理由は、UNIXシステムにおいて
は、IPパケット送信の際に、同一ホスト・同一ポート
番号に複数プロセスが同時にバインドを行うことは、基
本的に不可能である、ことによる。
【0006】したがって、本発明は、上記事情に鑑みて
なされたものであって、その目的は、同一のプロトコル
を実装したユーザAPを、同一ホスト上に複数実装して
運用を行う場合に、従来問題のあった、システムの資源
(ポート番号)に対する競合の発生を抑制し、複数のユ
ーザAPを同時に運用することを可能とする方式を提供
することにある。
【0007】
【課題を解決するための手段】前記目的を達成するた
め、本発明の複数プロセスへの受信PDU配信方式は、
PDU(プロトコル・データ単位)の受信と各プロセス
に対して配信を行う常駐プロセス(「PDU受信デーモ
ン」という)を備えるとともに、ユーザ側アプリケーシ
ョンのプロセス(「ユーザ側プロセス」という)に対し
てPDUの受信待機と配信依頼を行うための共通インタ
フェースを備え、前記PDU受信デーモンは、前記ユー
ザ側プロセスから依頼されたポートの受信依頼に対して
待機を行い、該ポートからPDUを受信した際、該PD
Uを依頼された前記ユーザ側プロセスに対するバッファ
に書き込み、前記ユーザ側プロセスが前記バッファから
前記PDUを読み出す、ようにしたことを特徴とする。
【0008】本発明においては、前記バッファが、先入
れ先出し型のメッセージキューとして構成されたことを
特徴とする。
【0009】本発明の概要を以下に説明する。本発明に
おいては、PDUの受信と各プロセスに対して配信を行
う常駐プロセス(「PDU受信デーモン」という)を起
動する。そして、ユーザ側プロセスがこのPDU受信デ
ーモンに対して、PDUの受信待機と配信依頼を行うた
めのインタフェース(共通API)を提供するPDU受
信依頼の手段と、実際にユーザ側プロセスから依頼され
たポートの受信待機を行うPDU受信手段と、受信した
PDUを依頼されたユーザ側プロセスの数だけコピーし
てそれぞれに個別のメッセージキューファイルに書き込
むプロセス配信手段と、を有する。
【0010】本発明においては、PDU受信デーモンを
起動し、PDUの受信依頼にはこのプロセスと通信を行
うためのインタフェースである共通APIを用い、各プ
ロセスへのPDUの配信には各プロセスに固有のメッセ
ージファイルを用いることによって、ユーザ側プロセス
が直接ポートをバインドする必要がなくなるため、同一
ポートからPDUの受信を待機するプロセスを実装した
ユーザAPを複数起動することができるようになる。
【0011】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明の実
施の形態の構成を示す図である。
【0012】図1を参照して、第1ユーザプロセス11
および第2ユーザプロセス12は、異なるユーザAP内
のプロセスであり、双方とも同一ポート番号から、デー
タグラム型PDU(プロトコルデータ単位)の受信を待
機する機能を有するものとする。なお、図1において、
第1ユーザプロセス、第2ユーザプロセスは、それぞれ
「ユーザプロセス1」、「ユーザプロセス2」として示
されている。
【0013】従来の方式では、ポート番号に競合が発生
するため、同一ホスト内で同一ポートに対して複数プロ
セスからバインドを行うことが不可能であるため、実際
には、後から起動したプロセスが起動不可となり、異常
終了していた。
【0014】共通API(アプリケーションプログラム
インタフェース)13は、ユーザプロセス11、12
と、PDU受信デーモン16と、のインタフェースを提
供する一連の関数群からなり、PDU受信依頼関数、P
DU受信キャンセル関数を備えて構成される。
【0015】PDU受信デーモン16は、各ユーザプロ
セスに代わって特定の番号のポートをバインドし、PD
Uの受信待機、および各ユーザプロセスに対する受信P
DUの送信を行う常駐プロセスである。このプロセス
は、オペレーティングシステム(OS)の起動時に、起
動され、メモリ上に常駐する。
【0016】第1メッセージキュー14および第2メッ
セージキュー15は、各ユーザプロセス11、12が、
PDU受信依頼関数を呼出す(コールする)際に作成さ
れ、PDU受信デーモン16が、各ユーザプロセス1
1、12に対して受信したPDUを送信する際に用いら
れるキューファイルであり、FIFO(先入れ先出し)
方式を用いて実装される。
【0017】テーブル18は、PDU受信デーモン16
が各ユーザプロセスからPDU受信依頼を受信したとき
に作成され、各ポート番号と、そこからのPDU受信を
依頼したプロセスID、及びメッセージキューファイル
名とのマッピングをとるために使用する。
【0018】図2は、本発明の実施の形態の処理フロー
を模式的に示すシーケンス図である。本発明の実施の形
態の動作について、図2を参照して説明する。
【0019】まず、オペレーティングシステム(OS)
を起動した時点(ステップ31)で、PDU受信デーモ
ンは常駐プロセスとして起動され(ステップ32)、各
プロセスからの電文受信を待機する(ステップS3
3)。
【0020】次に、プロセス1が起動され(ステップS
11)、共通APIをコールすることで、各プロセス専
用のメッセージキューファイル(FIFO方式により実
装される)を作成すると同時に、パケット受信デーモン
に対してポートn番に対する受信依頼を行う(ステップ
S12)。これにより、PDU受信デーモンに対してポ
ートn番に対する受信依頼の電文が送信される。
【0021】PDU受信デーモンは、この電文を受信す
ると(ステップS34)、ポートn番をバインドし、こ
のポートに対して他ホストより送信されるPDUの受信
の待機を開始する(ステップS35)とともに、新たに
テーブル(図1の18参照)を作成し、要求元のプロセ
スID・受信を依頼されたポート番号・メッセージキュ
ーファイルのパス名を格納する。
【0022】これ以降、新たに他プロセスから受信依頼
があるならば、PDU受信デーモンは順次テーブルを追
加していく。例えば図2では、新たにプロセス2が起動
され(ステップS21)、共通APIをコールし、PD
U受信デーモンに対しPDU受信依頼を行い(ステップ
S22)、PDU受信デーモンはこの受信依頼を受け付
け、テーブルにレコードを追加する(ステップS36、
S37)。
【0023】ポートn番にPDDの受信が確認されると
(ステップS38)、PDU受信デーモンはこのPDU
を受信した後、ポート番号をキーとして作成済みのテー
ブルをサーチし、電文受信を依頼したプロセス番号・お
よびキューファイル名を検索する(ステップS39)。
【0024】該当プロセスが起動中である場合、受信し
たPDUを依頼元プロセスのメッセージキューファイル
に対して書き込む(ステップS40)。
【0025】各プロセスは、このメッセージキューファ
イルからPDUを読み出す(ステップS14、S2
4)。
【0026】これによって、同一ポート番号(n)へ受
信したPDUが複数のプロセスに対し配信される。
【0027】
【実施例】上記した本発明の実施の形態について、具体
例を例示した実施例を以てさらに詳細に説明する。
【0028】図3は、本発明の一実施例を説明するため
の図である。図3において、ユーザプロセス1、ユーザ
プロセス2は、それぞれSNMP(Simple Network
Management Protocol)プロトコルを使用してネッ
トワーク管理を行うユーザAP1、ユーザAP2を構成
するプロセスであり、双方ともポート162番をバイン
ドして、SNMPエージェントからのTRAP(トラッ
プ)通知を受信する機能を有する。
【0029】従来の実装方式によれば、ユーザAP1、
ユーザAP2のうち、既に述べたポート162番に対す
る競合発生が原因して、先に起動されたAPのみが使用
可能となり、後に起動されたユーザAPは、待ち状態・
あるいは異常終了となっていたが、本発明による実装方
式を用いると、これらのAPを競合なくして同時に動作
させることが可能となる。
【0030】図4は、本発明の一実施例の処理フローを
説明するためのシーケンス図である。本発明の実施例の
動作について、図4を参照して説明を行う。
【0031】まず、オペレーティングシステム(OS)
を起動した時点(ステップS61)で、PDU受信デー
モンは常駐プロセスとして起動され(ステップS6
2)、各プロセスからの電文受信を待機する(ステップ
S63)。
【0032】次に、プロセス1が、共通APIをコール
することで、各プロセス専用のメッセージキューファイ
ル(FIFO方式により実装される)を作成すると同時
に、PDU受信デーモンに対してポート162番に対す
る受信依頼を行う(ステップS42)。これにより、P
DU受信デーモンに対してポート162番に対する受信
依頼の電文が送信される。
【0033】電文を受信すると(ステップS64)、P
DU受信デーモンはポート162番をバインドし、この
ポートに対して他ホストより送信されるPDUの受信を
待機しはじめると同時に、新たにテーブルを作成し、要
求元のプロセスID・受信を依頼されたポート番号・メ
ッセージキューファイルのパス名を格納する(ステップ
S65)。
【0034】これ以降、新たに他プロセス(図1におい
てはプロセス2)から受信依頼があるならば、PDU受
信デーモンは順次テーブルを追加していく(ステップS
66、S67)。
【0035】ポート162番にPDU(この例ではTR
AP通知)の受信が確認されると(ステップS68)、
PDU受信デーモンはこのPDUを受信した後、ポート
番号をキーに作成済みのテーブルをサーチし、電文受信
を依頼したプロセス番号・およびキューファイル名を検
索する(ステップS69)。
【0036】該当プロセスが起動中である場合、受信し
たPDUを依頼元プロセスのキューファイルに対して書
き込む(ステップS70)。
【0037】各プロセスは、このキューファイルからP
DUを受信する(ステップS44、S54)。これによ
って、同一ポート番号(162)に受信したPDUが、
複数のプロセスに対し配信される。
【0038】次に、本発明の別の実施例について説明す
る。
【0039】本発明においては、共通APIを用いて、
ユーザプロセスと、PDU受信デーモンと、のインタフ
ェースを実装しているため、PDU受信デーモンが起動
されており、ユーザプロセスが、UDP(User Data
gram Protocol)プロトコルの上位レイヤで動作する
プロトコルのPDUの受信を待機する方式であるなら
ば、本発明を適用することが可能である。一例をあげる
と、SNMPプロトコルを用いてネットワーク管理を行
うネットワーク管理ステーションに実装されるTRAP
(トラップ)通知の受信プロセス、インタネットメール
のPOPプロトコルを実装するサーバプロセスなどに適
用可能とされる。
【0040】
【発明の効果】以上説明したように、本発明によれば、
下記記載の効果を奏する。
【0041】(1)第1の効果は、同一ホストで同種の
サービスを使用するユーザプロセスを複数起動して運用
する場合、同一ポート番号の使用による競合の発生を回
避することができる、ということである。
【0042】その理由は、本発明においては、各ユーザ
APは直接ポートをバインドするのではなく、PDU受
信プロセスにより、各ポートからPDUを一括受信し、
各プロセス専用のメッセージキューに投入する、ように
構成したことによる。
【0043】(2)第2の効果は、受信したPDUが、
自ホスト内で喪失されることを最小限に抑制することが
できる、ということである。
【0044】その理由は、本発明においては、PDU受
信デーモンから各プロセスに対して送信する手段に、F
IFOを実装したメッセージキューファイルを使用する
ことによって、電文送信の信頼性を高めた、ことによ
る。
【図面の簡単な説明】
【図1】本発明の実施の形態のシステム構成を示す図で
ある。
【図2】本発明の実施の形態の処理フローを説明するた
めのシーケンス図である。
【図3】本発明の一実施例のシステム構成を示す図であ
り、TRAP受信プロセスの例によるシステム構成図で
ある。
【図4】本発明の一実施例の処理フローを説明するため
のシーケンス図である。
【符号の説明】
11 第1ユーザプロセス 12 第2ユーザプロセス 13 共通API 14 第1メッセージキューファイル 15 第2メッセージキューファイル 16 PDU受信デーモン 17 ポートn 18 テーブル

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】PDU(プロトコル・データ単位)の受信
    と各プロセスに対して配信を行う常駐プロセス(「PD
    U受信デーモン」という)を備えるとともに、 ユーザ側アプリケーションのプロセス(「ユーザ側プロ
    セス」という)に対してPDUの受信待機と配信依頼を
    行うための共通インタフェースを備え、 前記PDU受信デーモンは、前記ユーザ側プロセスから
    依頼されたポートの受信依頼に対して待機を行い、該ポ
    ートからPDUを受信した際、該PDUを依頼された前
    記ユーザ側プロセスに対するバッファに書き込み、 前記ユーザ側プロセスが前記バッファから前記PDUを
    読み出す、ようにしたことを特徴とする複数プロセスへ
    の受信PDU配信方式。
  2. 【請求項2】前記バッファが、先入れ先出し型のメッセ
    ージキューとして構成されたことを特徴とする請求項1
    記載の複数プロセスへの受信PDU配信方式。
  3. 【請求項3】前記PDU受信デーモンが、前記共通イン
    タフェースを介して前記ユーザ側プロセスからPDU受
    信依頼を受け付けた際に、ポート番号、プロセス識別
    子、前記メッセージーキューの対応関係をテーブルに記
    録し、前記ポートからPDUを受信した際、該テーブル
    を検索して前記プロセス対するメッセージキューを取得
    する、ことを特徴とする請求項2記載の複数プロセスへ
    の受信PDU配信方式。
  4. 【請求項4】PDUの受信と各プロセスに対して配信を
    行う常駐プロセス(「PDU受信デーモン」という)を
    起動し、 ユーザ側プロセスが前記PDU受信デーモンに対して、
    PDUの受信待機と配信依頼を行うためのインタフェー
    スを提供するPDU受信依頼手段と、 実際にユーザ側プロセスから依頼されたポートの受信待
    機を行うPDU受信手段と、 受信したPDUを依頼されたユーザ側プロセスの数だけ
    コピーしてそれぞれに個別のメッセージキューファイル
    に書き込むプロセス配信手段と、 を備えたことを特徴とする複数プロセスへの受信PDU
    配信方式。
  5. 【請求項5】IPアドレスとポート番号でパケットの配
    信先を一意に識別して配信を行う機能を持つプロトコル
    (IP)を用い、コネクションレス型の電文送受信機能
    を提供するプロトコル(UDP)の上位レイヤにて動作
    するプロトコルによって送信され、同一のポート番号か
    らを受信する機能を有するプロセスが複数存在し、該プ
    ロセスがそれぞれ異なったユーザアプリケーションプロ
    グラムに実装されたモジュールとして動作する場合に、 これらの異なるプロセスを実装した複数の異なるユーザ
    ユーザアプリケーションプログラムを同一ホスト内で同
    時に起動可能とされ、かつ、該ホストの同一ポート番号
    に対して送信された同一のPDUを、等しくこれらのプ
    ロセスが受信することを可能としたことを特徴とする、
    複数プロセスへの受信PDU配信方式。
JP8220338A 1996-08-02 1996-08-02 複数プロセスへの受信pdu配信方式 Pending JPH1049459A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8220338A JPH1049459A (ja) 1996-08-02 1996-08-02 複数プロセスへの受信pdu配信方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8220338A JPH1049459A (ja) 1996-08-02 1996-08-02 複数プロセスへの受信pdu配信方式

Publications (1)

Publication Number Publication Date
JPH1049459A true JPH1049459A (ja) 1998-02-20

Family

ID=16749592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8220338A Pending JPH1049459A (ja) 1996-08-02 1996-08-02 複数プロセスへの受信pdu配信方式

Country Status (1)

Country Link
JP (1) JPH1049459A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604112B1 (en) 1999-03-25 2003-08-05 International Business Machines Corporation Method and system for managing an AIX UNIX server using an SNMP interface
US20110106882A1 (en) * 2008-07-28 2011-05-05 Sony Corporation Client device, information processing system and associated methodology of accessing networked services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02171846A (ja) * 1988-12-24 1990-07-03 Mitsubishi Electric Corp トランザクション処理方式
JPH0425956A (ja) * 1990-05-22 1992-01-29 Nec Corp データ受信方法
JPH0477024A (ja) * 1990-07-16 1992-03-11 Nec Corp 宛先アドレス変更ルーティング制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02171846A (ja) * 1988-12-24 1990-07-03 Mitsubishi Electric Corp トランザクション処理方式
JPH0425956A (ja) * 1990-05-22 1992-01-29 Nec Corp データ受信方法
JPH0477024A (ja) * 1990-07-16 1992-03-11 Nec Corp 宛先アドレス変更ルーティング制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6604112B1 (en) 1999-03-25 2003-08-05 International Business Machines Corporation Method and system for managing an AIX UNIX server using an SNMP interface
US20110106882A1 (en) * 2008-07-28 2011-05-05 Sony Corporation Client device, information processing system and associated methodology of accessing networked services
US8682963B2 (en) * 2008-07-28 2014-03-25 Sony Corporation Client device, information processing system and associated methodology of accessing networked services

Similar Documents

Publication Publication Date Title
US6510478B1 (en) Method and apparatus for coordination of a shared object in a distributed system
US6665304B2 (en) Method and apparatus for providing an integrated cluster alias address
US6393581B1 (en) Reliable time delay-constrained cluster computing
US6216173B1 (en) Method and apparatus for content processing and routing
US6345291B2 (en) Multiplexing of clients and applications among multiple servers
JP2698336B2 (ja) デジタルデータ処理システムのためのローカルエリアネットワークに用いるノード
US8555295B2 (en) Cluster system, server cluster, cluster member, method for making cluster member redundant and load distributing method
US7254617B2 (en) Distributed cache between servers of a network
US6665729B2 (en) Data transmission utilizing pre-emptive acknowledgements with transaction-oriented protocols
US6370583B1 (en) Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
WO1998003912A1 (en) Method and apparatus for coordination of a shared object in a distributed system
US8677169B2 (en) Session redundancy using a replay model
US6226673B1 (en) Data distribution method and apparatus and computer program
US7343432B1 (en) Message based global distributed locks with automatic expiration for indicating that said locks is expired
JP3077607B2 (ja) サーバコンピュータにおけるipアドレス多重化方法
JPH11234326A (ja) 情報流通システム
JPH1049459A (ja) 複数プロセスへの受信pdu配信方式
US20020065918A1 (en) Method and apparatus for efficient and accountable distribution of streaming media content to multiple destination servers in a data packet network (DPN)
CN1608363A (zh) 用于拦截网络访问的系统及其方法
JPH1023005A (ja) マルチキャスト配信方法及びシステム
JP2000341329A (ja) 衛星リンクを動的に割り当てるための方法及び装置
US7228562B2 (en) Stream server apparatus, program, and NAS device
JPH1168816A (ja) 管理機能拡張方法及びネットワーク管理システム
WO1993018464A1 (en) Distributed processing system
JP2000172654A (ja) 分散オブジェクト管理システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000208