JP2000148426A - ソケット管理装置およびソケット管理方法 - Google Patents

ソケット管理装置およびソケット管理方法

Info

Publication number
JP2000148426A
JP2000148426A JP10332006A JP33200698A JP2000148426A JP 2000148426 A JP2000148426 A JP 2000148426A JP 10332006 A JP10332006 A JP 10332006A JP 33200698 A JP33200698 A JP 33200698A JP 2000148426 A JP2000148426 A JP 2000148426A
Authority
JP
Japan
Prior art keywords
socket
data communication
communication processing
management
queue
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
JP10332006A
Other languages
English (en)
Other versions
JP3505412B2 (ja
Inventor
Tsutomu Yuki
力 結城
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP33200698A priority Critical patent/JP3505412B2/ja
Publication of JP2000148426A publication Critical patent/JP2000148426A/ja
Application granted granted Critical
Publication of JP3505412B2 publication Critical patent/JP3505412B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 指定数のソケットを確保および管理し、デー
タ通信処理発生時に空きソケットでデータ送受信を行
い、送受信終了後、使用したソケットを他のデータ送受
信のため開放するソケット管理装置およびソケット管理
方法を提供する。 【解決手段】 コンピュータシステムがプリンタ装置の
状態を監視するネットワークアプリケーション1におい
て、ソケットのテーブル管理をソケット管理が行い、検
索手段が空きソケットを検索し、受信手段がデータ通信
処理を受信し、制御手段がソケットを使ったデータ送受
信などをコントロールし、送信手段がデータ通信処理の
結果を送信する。コンピュータシステムにおけるソケッ
トの上限値を気にしないで、最小限のソケットで、多数
のプリンタ装置とアクセスできる。また、ソケットが、
データ送受信を行っていない時間を他のデータ通信で使
用できるので、資源を無駄にすることがない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムのネットワークでのデータ通信におけるソケット管
理装置およびソケット管理方法に関する。更に詳述する
と、本発明は、コンピュータシステムのソケットの上限
値を気にせず、ネットワークアプリケーションで使用す
るソケット数を決めておき、限られたソケットで効率よ
くデータ通信を行うソケット管理装置およびソケット管
理方法に関する。
【0002】
【従来の技術】従来のソケット管理装置およびソケット
管理方法は、例えば、コンピュータシステムがプリンタ
装置の状態を監視するネットワークアプリケーションに
おいて、コンピュータシステムとプリンタ装置間とでデ
ータ送受信を行う場合に適用される。
【0003】図15は、従来例1のネットワークアプリ
ケーションの構成を示すブロック図である。図15にお
いて、従来例1のネットワークアプリケーションは、コ
ンピュータシステム100とネットワークプリンタ20
0とがLAN400を介して接続されている。コンピュ
ータシステム100は、ネットワークアプリケーション
と、ソケットと、LAN I/Fとを備え、また、ネッ
トワークプリンタ200は、ネットワークI/Fと、プ
リンタコントローラとを備えて構成される。コンピュー
タシステム100は、共通ポート番号、例えば、「84
50」のソケットを使いデータ送受信を行う。また、ネ
ットワークプリンタが複数台接続される構成が図16に
示されている。
【0004】図16は、従来例2のネットワークアプリ
ケーションの構成を示すブロック図である。図16にお
いて、従来例2のネットワークアプリケーションは、コ
ンピュータシステム100とネットワークプリンタ20
0とネットワークプリンタ300とがLAN400を介
して接続されている。図示されるように、各ネットワー
クプリンタ200,300には、それぞれのネットワー
クI/Fにて管理される共通ポート番号、例えば、「8
450」のソケットを使用し、コンピュータシステム1
00では、各ネットワークプリンタ毎のポート番号、例
えば、「2000,2001」のソケットを使い、LA
N I/Fを介してデータ送受信が行われる。
【0005】また、従来例3として、アプリケーション
から下方のネットワーク構造を隠し、ソケットは、終
点、アプリケーションプログラムと、選択されたプロト
コルとを関連付けることのできる「通信システムとシス
テム」が特公平8−1622号公報に開示されている。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来例のコンピュータシステムにおけるソケットは、必ず
上限値が設けられており、上限値を超えると新たなソケ
ットを設けることができず、新たなデータ送受信ができ
なくなる。つまり、プリンタ装置の状態を監視できなく
なり、他のネットワークアプリケーション、例えば、メ
ールアプリケーションなどを起動することができなくな
るという問題がある。
【0007】また、ソケットを独占し、ポーリング方式
(監視間隔毎)でプリンタ装置の監視を行う場合、デー
タ送受信を行っていない無駄な時間(データ通信とデー
タ通信の間)が発生するという問題がある。
【0008】例えば、図17に示されるように、ネット
ワークアプリケーションが複数のプロセスでネットワー
クプリンタ200,300とアクセスする場合、同じソ
ケット数を用意しなければならない。これは、資源の無
駄になるものである。しかし、コンピュータシステム1
00におけるソケットは、必ず上限値が設けられてお
り、上限値を超えると、新たなソケットを設けることが
できず、データ通信が行えなくなるという問題を生じさ
せる。
【0009】また、ブロードキャストを使って、データ
送受信を行う場合、図18の冗談に示されるケースが普
通であるが、図18の下段に示される異常のケースの場
合、1回目のブロードキャストのデータ送受信で使った
ソケットが2回目のブロードキャストのデータ送受信で
使うソケットと同じである場合、ネットワークの遅延に
より、1回目のブロードキャストのデータを受信される
可能性があるという問題がある。
【0010】本発明は、コンピュータシステムがプリン
タ装置の状態を監視するネットワークアプリケーション
において、予め指定した数のソケットの確保と管理をし
ておき、データ通信処理が発生する度に管理されている
ソケット内の空きソケットを使ってデータ送受信を行
い、データ送受信終了後、使用したソケットを他のデー
タ送受信のために開放するソケット管理装置およびソケ
ット管理方法を提供することを目的とする。
【0011】
【課題を解決するための手段】前記課題を解決するため
に、請求項1記載の発明は、コンピュータシステムがプ
リンタの状態を監視するネットワークアプリケーション
におけるソケット管理装置であって、ソケットのテーブ
ル管理を行うテーブル管理手段と、空きソケットを検索
する検索手段と、データ通信処理を受信する受信手段
と、ソケットを使ったデータ送受信を制御する制御手段
と、データ通信処理の結果を送信する送信手段と、を有
することを特徴とする。
【0012】請求項2記載の発明は、コンピュータシス
テムがプリンタの状態を監視するネットワークアプリケ
ーションにおけるソケット管理装置であって、ソケット
のテーブル管理を行うテーブル管理手段と、空きソケッ
トを検索する検索手段と、データ通信処理を受信する受
信手段と、ソケットを使ったデータ送受信を制御する制
御手段と、データ通信処理の結果を送信する送信手段
と、データ通信処理の待ち行列を管理する待ち行列管理
手段と、データ通信処理を待ち行列に登録する登録手段
と、データ通信処理を待ち行列から取り出す取り出し手
段と、データ通信処理の管理を共有メモリ上で管理する
共有管理手段と、を有することを特徴とする。
【0013】請求項3記載の発明は、コンピュータシス
テムがプリンタの状態を監視するネットワークアプリケ
ーションにおけるソケット管理装置であって、ソケット
のテーブル管理を行うテーブル管理手段と、空きソケッ
トを管理する管理手段と、次回使用されるソケットを管
理する次回使用ソケット管理手段と、データ通信処理を
受信する受信手段と、ソケットを使ったデータ送受信を
制御する制御手段と、データ通信処理の結果を送信する
送信手段と、データ通信処理の待ち行列を管理する待ち
行列管理手段と、データ通信処理を待ち行列に登録する
登録手段と、データ通信処理を待ち行列から取り出す取
り出し手段と、データ通信処理の管理を共有メモリ上で
管理する共有管理手段と、を有することを特徴とする。
【0014】請求項4記載の発明は、請求項3記載の発
明において、ソケット管理装置は、データ通信処理の待
ち行列にデータ通信処理のタイムアウト及び処理状態を
監視する監視手段を有し、監視手段により設定されたタ
イムを超えた場合は、アプリケーションにエラーを返す
ことにより、ネットワークアプリケーションにおいてデ
ータ通信処理の処理状態を把握することを特徴とする。
【0015】請求項5記載の発明は、コンピュータシス
テムがプリンタの状態を監視するネットワークアプリケ
ーションにおけるソケット管理方法であって、ソケット
のテーブル管理を行うテーブル管理工程と、空きソケッ
トを検索する検索工程と、データ通信処理を受信する受
信工程と、ソケットを使ったデータ送受信を制御する制
御工程と、データ通信処理の結果を送信する送信工程
と、を有することを特徴とする。
【0016】請求項6記載の発明は、コンピュータシス
テムがプリンタの状態を監視するネットワークアプリケ
ーションにおけるソケット管理方法であって、ソケット
のテーブル管理を行うテーブル管理工程と、空きソケッ
トを検索する検索工程と、データ通信処理を受信する受
信工程と、ソケットを使ったデータ送受信を制御する制
御工程と、データ通信処理の結果を送信する送信工程
と、データ通信処理の待ち行列を管理する待ち行列管理
工程と、データ通信処理を待ち行列に登録する登録工程
と、データ通信処理を待ち行列から取り出す取り出し工
程と、データ通信処理の管理を共有メモリ上で管理する
共有管理工程と、を有することを特徴とする。
【0017】請求項7記載の発明は、コンピュータシス
テムがプリンタの状態を監視するネットワークアプリケ
ーションにおけるソケット管理方法であって、ソケット
のテーブル管理を行うテーブル管理工程と、空きソケッ
トを管理する管理工程と、次回使用されるソケットを管
理する次回使用ソケット管理工程と、データ通信処理を
受信する受信工程と、ソケットを使ったデータ送受信を
制御する制御工程と、データ通信処理の結果を送信する
送信工程と、データ通信処理の待ち行列を管理する待ち
行列管理工程と、データ通信処理を待ち行列に登録する
登録工程と、データ通信処理を待ち行列から取り出す取
り出し工程と、データ通信処理の管理を共有メモリ上で
管理する共有管理工程と、を有することを特徴とする。
【0018】請求項8記載の発明は、請求項7記載の発
明において、ソケット管理方法は、データ通信処理の待
ち行列にデータ通信処理のタイムアウト及び処理状態を
監視する監視工程を有し、監視工程により設定されたタ
イムを超えた場合は、アプリケーションにエラーを返す
ことにより、ネットワークアプリケーションにおいてデ
ータ通信処理の処理状態を把握することを特徴とする。
【0019】
【発明の実施の形態】次に、添付図面を参照して本発明
によるソケット管理装置およびソケット管理方法の実施
の形態を詳細に説明する。図1から図14を参照する
と、本発明のソケット管理装置およびソケット管理方法
の実施の形態が示されている。
【0020】図1は、本発明の実施形態であるソケット
管理装置の全体図である。図1において、ネットワーク
アプリケーション1は、データ通信処理の依頼や結果の
処理やデータ通信処理結果の画面表示処理などを行う。
【0021】プロトコルアプリケーション2は、データ
通信の依頼を参考に指定したプロトコルのパケットデー
タの作成、翻訳などを行う。
【0022】ソケット管理アプリケーション3は、本発
明の主要素となる部分で、ソケットを管理し、そのソケ
ットを使ってパケットデータの送受信をコントロールす
るなどを行う。
【0023】ソケットライブラリ4は、ソケットインタ
フェースであり、LANカードなどのドライバとのアク
セスをコントロールするライブラリである。
【0024】〈第1の実施形態〉本発明の第1の実施形
態を図2および図3に基づいて説明する。図2は、本発
明の第1の実施形態の構成を示す図であり、図3は、本
発明の第1の実施形態における動作例を示すフローチャ
ートである。
【0025】ネットワークアプリケーション1が起動し
た後、ソケット管理の初期化を行う。ソケット管理の初
期化は、ソケットテーブルのメモリ作成処理等を行う。
図2に示されるソケットテーブルにおいて、ソケットテ
ーブルNoは、各ソケットテーブルの識別番号で、図示
される1、2、・・・Nの部分である。
【0026】ポート番号とは、各ソケットに設けられた
番号である。このポート番号のソケットに相手からのデ
ータ受信がある場合、当該ソケットが用いられる。使用
中/未使用は、このソケットテーブルにおいて、データ
送受信を行っているか否かのチェックフラグである。
【0027】ネットワークアプリケーション1が終了し
た時、ソケット管理の後始末を行う。ソケット管理の後
始末とは、ソケットテーブルの後始末を行うものであ
る。例えば、使用中のソケットテーブルNoがあれば、
通信中断を行ったり、ソケットテーブルのメモリの開放
やソケットのクローズ処理などを行う。
【0028】ネットワークアプリケーション1からデー
タ通信処理の依頼が発生した時、プロトコルアプリケー
ション2にて、データ通信処理の内容に従って、パケッ
トデータを作成し、ソケット管理にデータ通信処理の依
頼を送信する。
【0029】データ通信処理におけるソケット種類は、
使用するプロトコルや通信タイムアウトなどを指定す
る。プロトコルに関しては、UDPとSNMPプロトコ
ルやIPXとSNMPプロトコルというように指定す
る。
【0030】相手情報は、データ通信を行う相手のアド
レスやポート番号などを指定する。アドレスに関して
は、TCP/IP場合であればIPアドレスのことであ
る。ポート番号に関しては、相手のポート番号である。
例としてSNMPプロトコルの場合は、161を指定す
る。
【0031】自分情報は、自分のアドレスやポート番号
などを指定する。パケットデータは、ソケット種類で指
定したプロトコルのデータフォーマットに従ったデータ
が入っている。ここは、プロトコルアプリケーション2
で作成される。
【0032】ソケット管理は、ソケットテーブルからソ
ケットテーブルNoの若い順に未使用のソケットテーブ
ルを探す。例えば、図2の例1の場合は、ソケットテー
ブルNo.2を使用する。図2の例2の場合は、ソケッ
トテーブルNo.1を使用する。
【0033】未使用のソケットテーブルがなかった場合
は、ネットワークアプリケーション1にエラーを返す。
未使用のソケットテーブルがあった場合は、そのソケッ
トテーブルを使用中にする。この時、ソケット情報およ
びポート番号が作られていない場合は、ソケットライブ
ラリ4からソケット情報やポート番号を作成する。
【0034】既にソケット情報及びポート番号が作られ
ていた場合は、このまま再利用する。条件(使用プロト
コルが違う等)が合わない場合は、作り直す。データ通
信処理の依頼に従って、そのソケットテーブルのソケッ
ト情報およびポート番号を使って、データ送受信を行
う。そのソケット情報およびポート番号にデータ受信が
発生した場合、受信したデータをデータ通信処理のパケ
ットデータに格納し、プロトコルアプリケーション2に
て、パケットデータの翻訳を行い、ネットワークアプリ
ケーション1にデータ通信処理の結果を返す。
【0035】ソケット管理は、データ送受信が終了した
ソケットテーブルに使用中から未使用に変更する。
【0036】以上の動作を図3のフローチャートに基づ
いて説明する。図3において、ソケット管理の初期化を
行う(ステップS1)。ステップS1における初期化の
プロセスが終了したか否かを確認し(ステップS2)、
終了していれば、ソケット管理の後始末を行う(ステッ
プS9)。
【0037】ステップS2において、初期化のプロセス
が終了していない場合は、データ通信処理の依頼が発生
したか否かを確認する(ステップS3)。データ通信処
理の依頼が発生した場合、ポート番号の若い順に空きソ
ケットがあるか否かを検索する(ステップ4)。空きソ
ケットが無い場合は、エラー処理を実行する(ステップ
S10)。
【0038】ステップS4において、空きソケットがあ
る場合は、その空きソケットをロックし(ステップS
5)、データ通信処理内容に従ってデータ送受信を行う
(ステップS6)。データ送受信が終了すると、データ
通信処理の結果を返送し(ステップS7)、ロックして
いたソケットを開放する(ステップS8)。
【0039】ステップS3において、データ通信処理が
発生していない場合、または、ステップS8におけるソ
ケット開放後、あるいは、ステップS10におけるエラ
ー処理後には、再びステップS2に戻り、初期化プロセ
スの終了を確認する。
【0040】本発明の第1の実施形態では、コンピュー
タシステムがプリンタ装置の状態を監視するネットワー
クアプリケーション1において、図4のように、予め指
定した数のソケットの確保と管理をしておき、データ通
信処理が発生する度に管理されているソケット内の空き
ソケットを使ってデータ送受信を行い、データ送受信終
了後、使用したソケットを他のデータ送受信のために開
放するものである。
【0041】〈第2の実施形態〉図5は、本発明の第2
の実施形態の構成を示す図であり、図6は、その動作例
を示すフローチャートである。
【0042】ネットワークアプリケーション1が起動し
た後、コンピュータシステム上に同じネットワークアプ
リケーション1が起動されていない場合は、ソケット管
理及びデータ通信処理待ち行列の初期化を行う。データ
通信処理待ち行列の初期化とは、共有メモリ上にデータ
通信処理待ち行列のテーブルの作成処理などを行う。デ
ータ通信処理待ち行列について、待ち行列No.とは、
待ち行列の識別である。データ通信待ち行列で、1、
2、・・・・、Nの部分である。その他は、データ通信処理
と同じである。データ通信処理については、図2のデー
タ通信処理にプロセスIDという項目を追加して構成さ
れる。
【0043】プロセスIDとは、データ通信処理を依頼
したアプリケーションプログラムのプロセスIDであ
る。データ通信処理が自アプリケーションプログラムの
依頼したものかどうかを調べるために使用される。ネッ
トワークアプリケーション1が終了した時、コンピュー
タシステム上に同じネットワークアプリケーション1が
いない場合は、ソケット管理及びデータ通信処理待ち行
列の後始末を行う。
【0044】データ通信待ち行列の後始末とは、共有メ
モリにあるデータ通信待ち行列の後始末を行う。例え
ば、データ通信待ち行列で待機中のデータ通信処理をエ
ラーとしてネットワークアプリケーション1に返した
り、共有メモリからデータ通信待ち行列のテーブルを削
除したりなどを行う。
【0045】ネットワークアプリケーション1からデー
タ通信処理の依頼が発生した時、プロトコルアプリケー
ション2にて、データ通信処理の内容に従って、パケッ
トデータを作成し、共有メモリにあるデータ通信処理待
ち行列に登録する。
【0046】ソケット管理は、共有メモリにあるデータ
通信処理待ち行列にデータ通信処理が入っていた場合、
ソケットテーブルからソケットテーブルNoの若い順に
未使用のソケットテーブルを探す。
【0047】未使用のソケットテーブルがなかった場合
は、ネットワークアプリケーション1にエラーを返す。
未使用のソケットテーブルがあった場合は、そのソケッ
トテーブルを使用中にする。この時、ソケット情報およ
びポート番号が作られていない場合は、ソケットライブ
ラリ4からソケット情報やポート番号を作成する。
【0048】既にソケット情報及びポート番号が作られ
ていた場合は、このまま再利用する。条件(使用プロト
コルが違う等)が合わない場合は、作り直す。データ通
信処理の依頼に従って、そのソケットテーブルのソケッ
ト情報およびポート番号を使って、データ送受信を行
う。
【0049】そのソケット情報およびポート番号にデー
タ受信が発生した場合、受信したデータをデータ通信処
理のパケットデータに格納し、プロトコルアプリケーシ
ョン2にて、パケットデータの翻訳を行い、データ通信
処理のプロセスIDに該当するネットワークアプリケー
ション1にデータ通信処理の結果を返す。
【0050】ソケット管理は、データ送受信が終了した
ソケットテーブルに使用中から未使用に変更する。
【0051】以上の動作を図6および図7のフローチャ
ートに基づいて説明する。図6は、ソケット管理におけ
る動作例を示し、図7は、データ通信処理の待ち行列に
おける動作例を示す。
【0052】図6において、ソケット管理の初期化を行
う(ステップS11)。ステップS11における初期化
のプロセスが終了したか否かを確認し(ステップS1
2)、終了していれば、ソケット管理の後始末を行う
(ステップS20)。
【0053】ステップS12において、初期化のプロセ
スが終了していない場合は、データ通信処理の待ち行列
にデータ通信処理が存在するか否かを確認する(ステッ
プS13)。ステップS13において、データ通信処理
が存在する場合、ポート番号の若い順に空きソケットが
あるか否かを検索する(ステップ14)。空きソケット
が無い場合は、エラー処理を実行する(ステップS2
1)。
【0054】ステップS14において、空きソケットが
ある場合は、その空きソケットをロックし(ステップS
15)、データ通信処理の待ち行列からデータ通信処理
を取り出す(ステップS16)。取り出した通信処理内
容に従ってデータ送受信を行う(ステップS17)。デ
ータ送受信が終了すると、データ通信処理の結果を返送
し(ステップS18)、ロックしていたソケットを開放
する(ステップS19)。
【0055】ステップS13において、データ通信処理
が発生していない場合、または、ステップS19におけ
るソケット開放後、あるいは、ステップS21における
エラー処理後には、再びステップS12に戻り、初期化
プロセスの終了を確認する。
【0056】図7において、データ通信処理の待ち行列
の初期化を行う(ステップS31)。ステップS31に
おける初期化のプロセスが終了したか否かを確認し(ス
テップS32)、終了していれば、ソケット管理の後始
末を行う(ステップS35)。
【0057】ステップS32において、初期化のプロセ
スが終了していない場合は、データ通信処理が発生して
いるか否かを確認する(ステップS33)。ステップS
33において、データ通信処理が発生した場合、データ
通信処理待ち行列にデータ通信処理を登録する(ステッ
プS34)。
【0058】本発明の第2の実施形態では、図8のよう
に、最初に始動したネットワークアプリケーションが予
め指定した数のソケットの確保と管理と、他のネットワ
ークアプリケーションでもアクセスできるように共有メ
モリにデータ通信処理の待ち行列を設け、後で始動した
ネットワークアプリケーションがソケットのデータ送受
信を行う場合、共有メモリにあるデータ通信処理待ち行
列にデータ通信処理を登録し、最初に始動したネットワ
ークアプリケーションが管理されているソケットに空き
ソケットがあれば、そのソケットを使用して、データ通
信待ち行列に待機中のデータ通信処理のデータ送受信を
行い、データ送受信後、使用したソケットを開放し、後
で始動したネットワークアプリケーションがその共有メ
モリからデータ通信処理の結果を取り出すようなソケッ
ト管理装置およびソケット管理方法を提供する。
【0059】〈第3の実施形態〉図9は、本発明の第3
の実施形態の構成を示す図である。なお、本発明の第3
の実施形態の動作例には、図7(第2の実施形態の動作
例)および図10のフローチャートが適用される。
【0060】ネットワークアプリケーション1が起動し
た後、コンピュータシステム上に同じネットワークアプ
リケーション1が起動されていない場合は、ソケット管
理及びデータ通信処理待ち行列の初期化を行う。この
時、ソケット管理の初期化で、空きソケット数を設定し
ておく。空きソケット数は、ソケットテーブルの数(N
個)である。
【0061】ネットワークアプリケーション1が終了し
た時、コンピュータシステム上に同じネットワークアプ
リケーション1がいない場合は、ソケット管理及びデー
タ通信処理待ち行列の後始末を行う。データ通信待ち行
列の後始末とは、共有メモリにあるデータ通信待ち行列
の後始末を行う。
【0062】ネットワークアプリケーション1からデー
タ通信処理の依頼が発生した時、プロトコルアプリケー
ション2にて、データ通信処理の内容に従って、パケッ
トデータを作成し、共有メモリにあるデータ通信処理待
ち行列に登録する。
【0063】ソケット管理は、共有メモリにあるデータ
通信処理待ち行列にデータ通信処理が入っていた場合、
空きソケット数が「0」である場合は、なにもしない。
【0064】空きソケット数が「0」でない場合は、空
きソケット数を1つ減らし、ソケットテーブルの次のソ
ケットテーブルNoから順に未使用のソケットテーブル
を検索する。例えば、図9の例1の場合は、ソケットテ
ーブルNo.3を使用する。
【0065】検索されたソケットテーブルは使用中とな
り、この時、ソケット情報およびポート番号が作られて
いない場合は、ソケットライブラリ4からソケット情報
やポート番号を作成する。既にソケット情報及びポート
番号が作られていた場合は、このまま再利用する。条件
(使用プロトコルが違う等)が合わない場合は、作り直
す。
【0066】データ通信処理の依頼に従って、そのソケ
ットテーブルのソケット情報およびポート番号を使っ
て、データ送受信を行う。
【0067】そのソケット情報およびポート番号にデー
タ受信が発生した場合、受信したデータをデータ通信処
理のパケットデータに格納し、プロトコルアプリケーシ
ョン2にて、パケットデータの翻訳を行い、データ通信
処理のプロセスIDに当するネットワークアプリケーシ
ョン1にデータ通信処理の結果を返す。
【0068】ソケット管理は、データ送受信が終了した
ソケットテーブルに使用中から未使用に変更し、空きソ
ケット数に1を足す。
【0069】以上の動作を図10のフローチャートに基
づいて説明する。図10は、ソケット管理における動作
例を示す。
【0070】図10において、ソケット管理の初期化を
行う(ステップS41)。ステップS41における初期
化のプロセスが終了したか否かを確認し(ステップS4
2)、終了していれば、ソケット管理の後始末を行う
(ステップS50)。
【0071】ステップS42において、初期化のプロセ
スが終了していない場合は、データ通信処理の待ち行列
にデータ通信処理が存在するか否かを確認する(ステッ
プS43)。ステップS43において、データ通信処理
が存在する場合、空きソケットがあるか否かを検索する
(ステップ44)。
【0072】ステップS44において、空きソケットが
ある場合は、次のポート番号のソケットをロックし(ス
テップS45)。データ通信処理の待ち行列からデータ
通信処理を取り出す(ステップS46)。取り出したデ
ータ通信処理内容に従ってデータ送受信を行う(ステッ
プS47)。データ送受信が終了すると、データ通信処
理の結果を返送し(ステップS48)、ロックしていた
ソケットを開放する(ステップS49)。
【0073】ステップS43において、データ通信処理
が存在しない場合、または、ステップS44において空
きソケットが無い場合、ステップS49においてロック
したソケットを開放した場合は、再びステップS42に
戻り、初期化プロセスの終了を確認する。
【0074】本発明の第3の実施形態では、図11、図
12のように前回データ送受信で使用したソケットを今
回データ送受信で使用するソケットと同じにならないよ
うなソケット管理装置およびソケット管理方法を提供す
るものである。
【0075】例えば、図11の上段に示されるように、
1回目のブロードキャストでソケット1を用いた場合、
2回目のブロードキャストは、下段に示されるように、
ソケット2を用いて受信するので、ネットワークの遅延
や前回受信した内容を再度受信するといった現象を回避
することができる。
【0076】また、図12に示されるように、前回のデ
ータ通信処理をソケット1で行い、今回のデータ通信処
理をソケット2で行うので、上述される現象を回避する
ことができる。
【0077】〈第4の実施形態〉図13は、本発明の第
4の実施形態の構成を示す図である。また、図10(第
3の実施形態の動作例)および図14は、本発明の第4
の実施形態の動作例を示すフローチャートである。
【0078】ネットワークアプリケーション1が起動し
た後、コンピュータシステム上に同じネットワークアプ
リケーション1が起動されていない場合は、ソケット管
理及びデータ通信処理待ち行列の初期化を行う。この
時、ソケット管理の初期化で、空きソケット数を設定し
ておく。データ通信処理待ち行列の初期化を行う。例え
ば、図13による共有メモリ上にデータ通信処理待ち行
列のテーブルの作成処理などを行う。データ通信処理待
ち行列について、次の3つの項目が追加されている。
【0079】処理状態とは、データ通信処理の処理状態
で、未処理/処理中/処理終了、の3つの処理状態があ
る。
【0080】キュー登録時間とは、データ通信処理をデ
ータ通信処理待ち行列に登録した時間である。キュータ
イムアウトとは、待機時間のタイムアウトである。
【0081】ネットワークアプリケーション1が終了し
た時、コンピュータシステム上に同じネットワークアプ
リケーション1がいない場合は、ソケット管理及びデー
タ通信処理待つ行列の後始末を行う。データ通信待ち行
列の後始末とは、共有メモリにあるデータ通信待ち行列
の後始末を行う。
【0082】ネットワークアプリケーション1からデー
タ通信処理の依頼が発生した時、プロトコルアプリケー
ション2にて、データ通信処理の内容に従って、パケッ
トデータを作成し、共有メモリにあるデータ通信処理待
ち行列に登録する。この時に、図13の例1のようにデ
ータ通信処理のプロセスID及び処理状態(未処理)お
よびキュー登録時間、キュータイムアウトが設定され
る。
【0083】次にデータ通信処理待ち行列のテーブルN
oの若い順に待機中のデータ通信処理のキュー登録時間
とキュータイムアウトを調べ、タイムアウトがあれば、
データ通信処理のプロセスIDに該当するネットワーク
アプリケーション1にデータ通信処理の結果(タイムア
ウトエラー)を返す。例えば、図13の例1の場合、現
在の時刻が1998/6/11:04:30である場
合、テーブルNo.1がタイムアウトになる。
【0084】次にネットワークアプリケーション1から
指定したデータ通信処理の処理状態を依頼された場合
は、データ通信処理待ち行列に該当するデータ通信処理
の処理状態を返す。
【0085】ソケット管理は、共有メモリにあるデータ
通信処理待ち行列にデータ通信処理が入っていた場合、
空きソケット数が「0」である場合は、なにもしない。
【0086】空きソケット数が「0」でない場合は、空
きソケット数に1減らし、ソケットテーブルから次のソ
ケットテーブルNoから順に未使用のソケットテーブル
を探す。例えば、図13の例1の場合は、ソケットテー
ブルNo.3を使用する。
【0087】そのソケットテーブルを使用中にする。こ
の時、ソケット情報およびポート番号が作られていない
場合は、ソケットライブラリ4からソケット情報やポー
ト番号を作成する。既にソケット情報及びポート番号が
作られていた場合は、このまま再利用する。条件(使用
プロトコルが違う等)が合わない場合は、作り直す。
【0088】データ通信処理待ち行列からデータ通信処
理を取り出し、データ通信処理の処理状態を処理中に変
更し、データ通信処理の依頼に従って、そのソケットテ
ーブルのソケット情報およびポート番号を使って、デー
タ送受信を行う。
【0089】そのソケット情報およびポート番号にデー
タ受信が発生した場合、受信したデータをデータ通信処
理のパケットデータに格納し、データ通信処理の処理状
態を処理終了に変更し、プロトコルアプリケーション2
にて、パケットデータの翻訳を行い、データ通信処理の
プロセスIDに該当するネットワークアプリケーション
1にデータ通信処理の結果を返す。
【0090】ソケット管理は、データ送受信が終了した
ソケットテーブルに使用中から未使用に変更し、空きソ
ケット数に「1」を足す。
【0091】以上の動作を図14のフローチャートに基
づいて説明する。図14は、データ通信処理待ち行列に
おける動作例を示す。
【0092】図14において、データ通信処理待ち行列
の初期化を行う(ステップS61)。ステップS61に
おける初期化のプロセスが終了したか否かを確認し(ス
テップS62)、終了していれば、ソケット管理の後始
末を行う(ステップS68)。
【0093】ステップS62において、初期化のプロセ
スが終了していない場合は、データ通信処理が発生した
か否かを確認し(ステップS63)、発生した場合は、
データ通信処理の待ち行列にデータ通信処理を登録する
(ステップS64)。ステップS63において、データ
通信処理が発生していない場合、および、ステップS6
4において、データ通信処理待ち行列にデータ通信処理
を登録した場合は、データ通信処理待ち行列にタイムア
ウトのデータ通信処理があるか否かを検索する(ステッ
プS65)。
【0094】ステップS65において、タイムアウトの
データ通信処理がある場合には、データ通信処理待ち行
列からタイムアウトのデータ通信処理を取り出し(ステ
ップS66)、取り出したデータ通信処理をタイムアウ
トとして返送する(ステップS67)。
【0095】ステップS67の処理が終わると、処理状
態管理依頼が発生したか否かが確認され(ステップS6
9)、発生している場合には、データ通信処理待ち行列
から指定のデータ通信処理の処理状態を取得して、その
状態を返送する(ステップS70)。
【0096】本発明の第4の実施形態では、データ通信
処理待ち行列にデータ通信処理のタイムアウト及び処理
状態を監視する機構を設け、指定したタイムを超えた場
合は、アプリケーションにエラー(例えば、データ通信
処理タイムアウトエラー)を返し、また、ネットワーク
アプリケーション1にデータ通信処理の処理状態を提供
するようなソケット管理装置およびソケット管理方法を
提供する。
【0097】
【発明の効果】以上の説明より明かなように、本発明の
ソケット管理装置およびソケット管理方法によれば、ネ
ットワークアプリケーションは、コンピュータシステム
におけるソケットの上限値を気にしないで、最小限のソ
ケットで、多数のプリンタ装置とアクセスできる。ま
た、ソケットが、データ送受信を行っていない時間を他
のデータ通信で使用できるので、資源を無駄にしなくて
もすむ。さらに、他のネットワークアプリケーションの
実行に影響することがない。
【0098】また、本発明のソケット管理装置およびソ
ケット管理方法によれば、ソケット管理およびデータ通
信処理を共有することにより、同じネットワークプログ
ラムを複数に起動されても、最小限のソケットで、多数
のプリンタ装置とアクセスすることが可能になる。よっ
て、資源の有効化が図れる。また、コンピュータシステ
ムのソケットに負担にかけないので、他のネットワーク
プログラムの実行に影響しない。
【0099】また、本発明のソケット管理装置およびソ
ケット管理方法によれば、前回使用したソケットと違う
ソケットを使用にすることにより、ネットワーク遅延に
よるデータの受信がなくなる。
【0100】さらに、本発明のソケット管理装置および
ソケット管理方法によれば、待ち行列管理で待機中のデ
ータ通信処理がタイムアウトができ、ネットワークアプ
リケーションがデータ通信処理の状態がわかるので長時
間待たされることを解消する。
【図面の簡単な説明】
【図1】本発明のソケット管理装置およびソケット管理
方法の実施形態の全体構成を示すブロック図である。
【図2】本発明の第1の実施形態の構成を説明するため
の図である。
【図3】本発明の第1の実施形態の動作例を示すフロー
チャートである。
【図4】本発明の第1の実施形態の動作を説明するため
の図である。
【図5】本発明の第2の実施形態の構成を説明するため
の図である。
【図6】本発明の第2の実施形態の動作例1を示すフロ
ーチャートである。
【図7】本発明の第2の実施形態の動作例2を示すフロ
ーチャートである。
【図8】本発明の第2の実施形態の動作を説明するため
の図である。
【図9】本発明の第3の実施形態の構成を説明するため
の図である。
【図10】本発明の第3の実施形態の動作例を示すフロ
ーチャートである。
【図11】本発明の第3の実施形態の動作を説明するた
めの図である。
【図12】本発明の第3の実施形態の動作を説明するた
めの図である。
【図13】本発明の第4の実施形態の構成を説明するた
めの図である。
【図14】本発明の第4の実施形態の動作例を示すフロ
ーチャートである。
【図15】従来例の動作例1を説明するための図であ
る。
【図16】従来例の動作例2を説明するための図であ
る。
【図17】従来例の問題点1を説明するための図であ
る。
【図18】従来例の問題点2を説明するための図であ
る。
【符号の説明】
1 ネットワークアプリケーション 2 プロトコルアプリケーション 3 ソケット管理アプリケーション 4 ソケットライブラリ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムがプリンタの状態
    を監視するネットワークアプリケーションにおけるソケ
    ット管理装置であって、 ソケットのテーブル管理を行うテーブル管理手段と、 空きソケットを検索する検索手段と、 データ通信処理を受信する受信手段と、 ソケットを使ったデータ送受信を制御する制御手段と、 データ通信処理の結果を送信する送信手段と、 を有することを特徴とするソケット管理装置。
  2. 【請求項2】 コンピュータシステムがプリンタの状態
    を監視するネットワークアプリケーションにおけるソケ
    ット管理装置であって、 ソケットのテーブル管理を行うテーブル管理手段と、 空きソケットを検索する検索手段と、 データ通信処理を受信する受信手段と、 ソケットを使ったデータ送受信を制御する制御手段と、 前記データ通信処理の結果を送信する送信手段と、 データ通信処理の待ち行列を管理する待ち行列管理手段
    と、 データ通信処理を前記待ち行列に登録する登録手段と、 データ通信処理を前記待ち行列から取り出す取り出し手
    段と、 データ通信処理の管理を共有メモリ上で管理する共有管
    理手段と、 を有することを特徴とするソケット管理装置。
  3. 【請求項3】 コンピュータシステムがプリンタの状態
    を監視するネットワークアプリケーションにおけるソケ
    ット管理装置であって、 ソケットのテーブル管理を行うテーブル管理手段と、 空きソケットを管理する管理手段と、 次回使用されるソケットを管理する次回使用ソケット管
    理手段と、 データ通信処理を受信する受信手段と、 ソケットを使ったデータ送受信を制御する制御手段と、 データ通信処理の結果を送信する送信手段と、 データ通信処理の待ち行列を管理する待ち行列管理手段
    と、 データ通信処理を前記待ち行列に登録する登録手段と、 データ通信処理を前記待ち行列から取り出す取り出し手
    段と、 データ通信処理の管理を共有メモリ上で管理する共有管
    理手段と、 を有することを特徴とするソケット管理装置。
  4. 【請求項4】 前記ソケット管理装置は、 前記データ通信処理の待ち行列にデータ通信処理のタイ
    ムアウト及び処理状態を監視する監視手段を有し、 前記監視手段により設定されたタイムを超えた場合は、
    アプリケーションにエラーを返すことにより、前記ネッ
    トワークアプリケーションにおいてデータ通信処理の処
    理状態を把握することを特徴とする請求項3記載のソケ
    ット管理装置。
  5. 【請求項5】 コンピュータシステムがプリンタの状態
    を監視するネットワークアプリケーションにおけるソケ
    ット管理方法であって、 ソケットのテーブル管理を行うテーブル管理工程と、 空きソケットを検索する検索工程と、 データ通信処理を受信する受信工程と、 ソケットを使ったデータ送受信を制御する制御工程と、 データ通信処理の結果を送信する送信工程と、 を有することを特徴とするソケット管理方法。
  6. 【請求項6】 コンピュータシステムがプリンタの状態
    を監視するネットワークアプリケーションにおけるソケ
    ット管理方法であって、 ソケットのテーブル管理を行うテーブル管理工程と、 空きソケットを検索する検索工程と、 データ通信処理を受信する受信工程と、 ソケットを使ったデータ送受信を制御する制御工程と、 前記データ通信処理の結果を送信する送信工程と、 データ通信処理の待ち行列を管理する待ち行列管理工程
    と、 データ通信処理を前記待ち行列に登録する登録工程と、 データ通信処理を前記待ち行列から取り出す取り出し工
    程と、 データ通信処理の管理を共有メモリ上で管理する共有管
    理工程と、 を有することを特徴とするソケット管理方法。
  7. 【請求項7】 コンピュータシステムがプリンタの状態
    を監視するネットワークアプリケーションにおけるソケ
    ット管理方法であって、 ソケットのテーブル管理を行うテーブル管理工程と、 空きソケットを管理する管理工程と、 次回使用されるソケットを管理する次回使用ソケット管
    理工程と、 データ通信処理を受信する受信工程と、 ソケットを使ったデータ送受信を制御する制御工程と、 データ通信処理の結果を送信する送信工程と、 データ通信処理の待ち行列を管理する待ち行列管理工程
    と、 データ通信処理を前記待ち行列に登録する登録工程と、 データ通信処理を前記待ち行列から取り出す取り出し工
    程と、 データ通信処理の管理を共有メモリ上で管理する共有管
    理工程と、 を有することを特徴とするソケット管理方法。
  8. 【請求項8】 前記ソケット管理方法は、 前記データ通信処理の待ち行列にデータ通信処理のタイ
    ムアウト及び処理状態を監視する監視工程を有し、 前記監視工程により設定されたタイムを超えた場合は、
    アプリケーションにエラーを返すことにより、前記ネッ
    トワークアプリケーションにおいてデータ通信処理の処
    理状態を把握することを特徴とする請求項7記載のソケ
    ット管理方法。
JP33200698A 1998-11-06 1998-11-06 ソケット管理装置およびソケット管理方法 Expired - Lifetime JP3505412B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33200698A JP3505412B2 (ja) 1998-11-06 1998-11-06 ソケット管理装置およびソケット管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33200698A JP3505412B2 (ja) 1998-11-06 1998-11-06 ソケット管理装置およびソケット管理方法

Publications (2)

Publication Number Publication Date
JP2000148426A true JP2000148426A (ja) 2000-05-30
JP3505412B2 JP3505412B2 (ja) 2004-03-08

Family

ID=18250094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33200698A Expired - Lifetime JP3505412B2 (ja) 1998-11-06 1998-11-06 ソケット管理装置およびソケット管理方法

Country Status (1)

Country Link
JP (1) JP3505412B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067014A (ja) * 2001-08-30 2003-03-07 Howa Mach Ltd モニタリングシステムにおける通信システム
JP2008129811A (ja) * 2006-11-20 2008-06-05 Ricoh Co Ltd 暗号処理管理方法、暗号処理管理装置及び暗号処理管理プログラム
JP2009238157A (ja) * 2008-03-28 2009-10-15 Seiko Epson Corp ソケット管理装置及び方法
US10582069B2 (en) 2018-03-19 2020-03-03 Ricoh Company, Ltd. Information processing device and device management apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067014A (ja) * 2001-08-30 2003-03-07 Howa Mach Ltd モニタリングシステムにおける通信システム
JP4492778B2 (ja) * 2001-08-30 2010-06-30 豊和工業株式会社 モニタリングシステムにおける通信システム
JP2008129811A (ja) * 2006-11-20 2008-06-05 Ricoh Co Ltd 暗号処理管理方法、暗号処理管理装置及び暗号処理管理プログラム
JP2009238157A (ja) * 2008-03-28 2009-10-15 Seiko Epson Corp ソケット管理装置及び方法
JP4586873B2 (ja) * 2008-03-28 2010-11-24 セイコーエプソン株式会社 ソケット管理装置及び方法
US8024445B2 (en) 2008-03-28 2011-09-20 Seiko Epson Corporation Socket management device and socket management method
US10582069B2 (en) 2018-03-19 2020-03-03 Ricoh Company, Ltd. Information processing device and device management apparatus

Also Published As

Publication number Publication date
JP3505412B2 (ja) 2004-03-08

Similar Documents

Publication Publication Date Title
EP0343820B1 (en) Temporary state preservation for a distributed file service
US5832191A (en) Method and apparatus for automatically enabling communication with a network printer
US6988140B2 (en) Mechanism for servicing connections by disassociating processing resources from idle connections and monitoring the idle connections for activity
US6401150B1 (en) Centralized queue in network printing systems
US7089335B2 (en) Bridging multiple network segments and exposing the multiple network segments as a single network to a higher level networking software on a bridging computing device
EP1059766B1 (en) Network device managing apparatus and method
US7519598B2 (en) Prioritizing network management traffic
US20030041134A1 (en) Network-device management apparatus and method, and recording medium
JP2003046569A (ja) 負荷テスト実行装置及びシステム、及びその方法、及びそのプログラム
US6718377B1 (en) Telecommunications network management system interface
JP2000172600A (ja) ネットワーク構成調査方法、ネットワーク機器制御方法及びその装置
US6775688B1 (en) Data processing apparatus and data processing method
JP2000148426A (ja) ソケット管理装置およびソケット管理方法
KR100325816B1 (ko) 네트워크 프린터의 인쇄방법
JP2004110375A (ja) デバイス一覧表示方法
JP2003015973A (ja) ネットワークデバイス管理装置、管理方法及び管理プログラム
JP2001282656A (ja) ネットワーク・デバイス制御装置および方法
JP2000357145A (ja) ネットワークデバイス管理装置および方法
WO1996039656A1 (en) Architecture for network printing systems
JP2000148631A (ja) ネットワークデバイス管理装置及び方法
JP2002232422A (ja) ネットワークステーションサブシステムをインターフェースさせるシステム及び方法
JPH11296467A (ja) ネットワークデバイス制御方法及び装置、記録媒体
KR100464498B1 (ko) 네트워크 엘리먼트의 알람관리 장치 및 그 방법
JPH0950417A (ja) クライアントipアドレス動的変更方式
JP3957408B2 (ja) データ通信システムおよび方法、記録媒体

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031215

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

Free format text: PAYMENT UNTIL: 20071219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 10

EXPY Cancellation because of completion of term