JPH11112609A - 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体 - Google Patents

通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体

Info

Publication number
JPH11112609A
JPH11112609A JP9272670A JP27267097A JPH11112609A JP H11112609 A JPH11112609 A JP H11112609A JP 9272670 A JP9272670 A JP 9272670A JP 27267097 A JP27267097 A JP 27267097A JP H11112609 A JPH11112609 A JP H11112609A
Authority
JP
Japan
Prior art keywords
communication
socket
virtual
real
program
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
JP9272670A
Other languages
English (en)
Inventor
Tetsuya Iinuma
哲也 飯沼
Kuninori Tanaka
邦典 田中
Hideaki Hirayama
秀昭 平山
Toshio Shirokibara
敏雄 白木原
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9272670A priority Critical patent/JPH11112609A/ja
Priority to EP98308042A priority patent/EP0912025A3/en
Publication of JPH11112609A publication Critical patent/JPH11112609A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

(57)【要約】 【課題】 本発明は、障害回復前後の状態の差異を通信
プログラムから穏蔽し、通信プログラムに通信障害が発
生したことを認識させることなく、通信障害の回復、処
理の継続を行なうことのできる通信システムにおける通
信障害の回復方法ならびに同方法がプログラムされ記録
される記録媒体を提供することを過大とする。 【解決手段】 各々のコンピュータ11(12)は、自
身で持つ通信プログラム111(121)が通信ポート
として用いる仮想ソケット114(124)と、仮想ソ
ケットと1対1に対応し、実際の通信処理を行なうため
の通信ポートとして用いる実ソケット112(122)
を有し、通信プログラムが仮想ソケットに対しデータ通
信を指示したとき、それとペアをなす実ソケットを用い
て通信を行なうとともに、通信障害発生時、使用されて
いた実ソケットを破棄して新たな実ソケットを生成し、
障害発生前に使用されていた実ソケットとペアを組んで
いた仮想ソケットとの組み直しを行ない、新たに生成さ
れた実ソケットを使用してデータ通信の継続を行なう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信システムにお
ける通信障害回復方法ならびに同方法がプログラムされ
記録される記録媒体に関する。
【0002】
【従来の技術】図7に、クライアント、サーバから成る
通信システムの例を示す。この例は、クライアント・サ
ーバプログラム間でデータ交換を行なうもので、2つの
ホストを結ぶ回線は公衆回線であり、ホスト1からホス
ト2へダイヤルアップ接続を行ない、通信を行なう。
【0003】ホスト1(71)は、クライアントプログ
ラム711が動くコンピュータであり、ここではノート
パソコン等携帯情報機器を想定している。ホスト2(7
2)は、サーバプログラム721が動作するコンピュー
タであり、ここでは、高性能デスクトップパソコンを想
定している。
【0004】ここで示す通信システムは、大きく分け
て、通信プログラム(クライアント711、サーバ72
1)、ソケットモジュール712(722)、通信スタ
ック713(723)の3つの要素から構成される。通
信スタック713(723)では、公衆電話回線73の
物理的制御、通信プロトコルの制御を行なう。ここで例
示した通信システムは、TCP/IPを使用した通信を
行ない、ホスト1(71)からホスト2(72)へダイ
ヤルアップ接続を行なった場合、PPP(Point-to-Poi
nt Protocol)により回線を接続し、サーバ721から
接続毎にホスト1(71)のIPアドレスを取得する。
これらの制御は、通信スタック713(723)が行な
っている。
【0005】ソケットモジュール712(722)は、
通信プログラム711(721)と通信スタックを結び
付けるモジュールであり、通信プログラムが物理的な回
線の状態を意識することなくデータの送受を行なうため
のインタフェース(API)を提供する。例えば、通信
プログラム711(721)が通信相手のプログラム7
21(711)にデータを送るための接続を行なうと
き、通信プログラムは、CONNECTというソケット
モジュール713(723)のサービスを呼び出す。通
信プログラム711(721)とソケットモジュール7
13(723)の間は、ソケットというデータ受け渡し
用の口を使う。ソケットは、プログラム内で通信セッシ
ョンの開始時に生成される。ソケットモジュール712
(722)は、通信プログラム711(721)から受
け取った相手先の情報を基に通信スタック713(72
3)を呼び出して、相手先のホスト71(72)、通信
プログラム711(721)に接続を行なう。
【0006】この時、通信プログラムは、通信スタック
がどのように動作するかは意識する必要がなく、また、
物理的な回線が公衆電話回線73だということも意識し
なくてよい。従って、通信プログラム同士がデータ交換
を行なう場合のデータの流れは、以下に示す(またはこ
の逆方向)ようになる。
【0007】通信プログラム711(721)→ソケッ
トモジュール712(722)→通信スタック713
(723)→公衆電話回線73→相手先通信スタック7
23(713)→相手先ソケットモジュール722(7
12)→相手先通信プログラム721(711)
【0008】
【発明が解決しようとする課題】ところで、通信中に通
信障害が発生した場合、上述した従来技術に従えば、通
信プログラムが通信障害からの回復を行なうことはでき
なかった。例えば、上述した構成の通信環境を想定した
場合、通信障害発生の要因が公衆電話回線の不具合によ
る回線断だった場合、通信障害の回復のためには、再度
ダイヤルアップし、IPアドレスを取得し直し、ソケッ
トの再生成、通信プログラム間のソケットの再接続を行
い、通信障害によって中断したプログラムの実行再開を
しなければならない。
【0009】しかしながら、この場合、新たに取得した
IPアドレスやソケットの番号等は、障害発生前にプロ
グラムが持っていたものと異なってしまう場合がある。
そのため、通信障害で中断されたデータ転送等を通信プ
ログラム実行再開後に障害発生直前の状態から接続する
ことは容易にはできない。
【0010】本発明は上記事情に鑑みてなされたもので
あり、通信プログラムが仮想ソケットを介し実際の通信
処理を行なうための通信ポートとして用いられる実ソケ
ットとの間で交信することにより、通信障害の回復のた
めに行なわれる、再ダイヤルアップ、IPアドレスの再
取得、ソケットの再生成、通信プログラム間のソケット
の再接続等で起こる、回復前後の状態の差異を通信プロ
グラムから穏蔽し、通信プログラムに通信障害が発生し
たことを認識させることなく、通信障害の回復、処理の
継続を行なうことのできる通信障害の回復方法ならびに
装置、及び同方法がプログラムされ記録される記録媒体
を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明の通信システムに
おける通信障害回復方法は、コンピュータ間データ通信
において、各々のコンピュータは、自身で持つ通信プロ
グラムが通信ポートとして用いる仮想ソケットと、仮想
ソケットと1対1に対応し、実際の通信処理を行なうた
めの通信ポートとして用いる実ソケットを有し、通信プ
ログラムが仮想ソケットに対しデータ通信を指示したと
き、それとペアをなす実ソケットを用いて通信を行なう
とともに、通信障害発生時、使用されていた実ソケット
を破棄して新たな実ソケットを生成し、障害発生前に使
用されていた実ソケットとペアを組んでいた仮想ソケッ
トとの組み直しを行ない、新たに生成された実ソケット
を使用してデータ通信を継続することを特徴とする。
【0012】本発明の記録媒体は、コンピュータ間デー
タ通信において、各々のコンピュータは、自身で持つ通
信プログラムが通信ポートとして用いる仮想ソケット
と、仮想ソケットと1対1に対応し、実際の通信処理を
行なうための通信ポートとして用いる実ソケットを有
し、実ソケットにて通信障害を検知するステップと、プ
ログラム使用者に対して障害回復を行なうか否か意志表
示を促すステップと、否の場合、通信プログラムに対し
て障害を通知してエラー処理を起動するステップと、回
復を行なうとの意志表示があった場合、通信障害発生時
使用されていた実ソケットを破棄して新たな実ソケット
を生成し、障害発生前に使用されていた実ソケットとペ
アを組んでいた仮想ソケットとの組み直しを行ない、新
たに生成された実ソケットを使用してデータ通信を継続
するステップとがプログラムされ記録されることを特徴
とする。
【0013】このことにより、通信中に通信障害が発生
した場合であっても、通信プログラムが通信障害からの
回復を行なうことが可能となり、処理の継続が可能とな
る。
【0014】
【発明の実施の形態】図1は本発明の実施形態を示すブ
ロック図である。
【0015】図7に示す従来例の通信プログラムとソケ
ットモジュールの間に仮想ソケットモジュール114
(124)が追加される。仮想ソケットモジュール11
4(124)は、通信プログラム111(121)から
はソケットモジュール112(122)として見え、ソ
ケットモジュール112(122)からは通信プログラ
ム111(121)として見えるように作られ、通信プ
ログラム111(121)とソケットモジュール112
(122)の間に入る形で使用される、仮想ソケットを
管理するソフトウェアである。従って、本発明の実施形
態にて使用されている通信プログラム111(121)
とソケット112(122)は、それぞれ、図7に示す
通信システムにて用いられる通信プログラム711(7
21)及びソケットモジュール712(722)と何ら
かわるところはない。
【0016】まず、クライアントプログラム111の動
作から説明する。クライアントプログラム111は、サ
ーバ12との通信を行なうためにソケットを用いる。通
信プログラム111から呼び出すソケットは、本発明で
は仮想ソケットになる。仮想ソケットモジュール114
は、通信プログラム111に対して従来のソケットモジ
ュールとして振る舞うので、通信プログラム111が従
来のソケットを呼び出す動作で仮想ソケットが呼び出さ
れることになる。
【0017】通信プログラム111から仮想ソケットを
通して呼び出された仮想ソケットモジュール114は、
呼び出し時のパラメータに基づいて通常のソケットモジ
ュール112を呼び出す。図2は、クライアント通信プ
ログラム111がソケットを作成し、サーバに接続を行
ない、通信を開始するまでの手順を示すフローチャート
である。
【0018】クライアントプログラム111は、ソケッ
トモジュールのsocketエントリポイントを呼び出
しソケットを作成(ステップ1)する。実際には、クラ
イアントプログラム111から、仮想ソケットモジュー
ル114のsocketエントリポイントが呼び出され
る。仮想ソケットモジュール114は、呼び出し時のパ
ラメータを保存(ステップS2)し、通常のソケットモ
ジュールのsocketエントリポイントを呼び出し、
実際に通信を行なうための実ソケット112を生成(ス
テップS3)する。
【0019】実ソケット112の生成に成功したら、仮
想ソケット114と実ソケット112の対応づけ(ステ
ップS4)を行なう。クライアント通信プログラム11
1には貸そうソケット114のデスクリプタを返す。こ
の後、クライアントプログラム111は、この仮想ソケ
ット114のデスクリプタを用いソケット通信を行な
う。
【0020】次に、クライアントプログラム111は、
得られた仮想ソケット114を基にbind操作(ステップ
S5)を行なう。ここでは、socketエントリポイ
ントを呼び出した時と同様に仮想ソケットモジュール1
14のbindエントリポイントを呼び出す。仮想ソケ
ットモジュール114のbindエントリポイントは、
引き渡されるパラメータを保存(ステップS6)し、仮
想ソケット114に対応する実ソケット112に対し、
bind処理を行なう。bindに成功したら、呼び出
し元のクライアントプログラム111に、仮想ソケット
114のbindが成功した旨を伝える。
【0021】仮想ソケット114に対するbind処理
が成功したことを認識したクライアントプログラム11
1は、仮想ソケット114を用いて通信相手となるサー
バプログラム121に回線を接続するため、conne
ctを実行(ステップS8)する。connectのリ
クエストを受け取った仮想ソケットモジュール114
は、渡されたパラメータを保存(ステップS9)し、仮
想ソケット114に対応する実ソケット112を使いサ
ーバ12に回線の接続を行なう。
【0022】サーバ12との接続が成功したら、仮想ソ
ケットモジュール114は、サーバとクライアント通信
プログラムの接続を特定するための情報を保存(ステッ
プS11)する。この情報は、通信障害発生後の再接続
で、接続し直したサーバ12とクライアントが障害前に
本当に接続していたかを特定し、通信セッションを正し
く再開するために必要な、例えば、セッションID、プ
ロセスID等の情報である。実ソケットのconnec
tが正しくできれば、仮想ソケットモジュール114
は、connectの成功をクライアントプログラム1
11に伝え、クライアントプロクラム111は、仮想ソ
ケット114を用い今後のデータ送受信を行なう。
【0023】データの送受信には、send/rece
iveエントリポイントを使用する。上述したように、
クライアントプログラム111は、通常のソケットモジ
ュールのsend/receiveエントリポイントを
呼び出すつもりで、仮想ソケットモジュール114のs
end/receiveエントリポイントを仮想ソケッ
ト114を使って呼び出す。呼び出された仮想ソケット
モジュール114のsend/receiveエントリ
ポイントは内部で一旦送受信データを保存する。これ
は、通信障害によって送受信が完了できなかったデータ
を回線の再接続後に再送受を行ない、送受信を完了する
ためである。仮想ソケットモジュール114は、呼び出
した仮想ソケットモジュール114に対応する実ソケッ
ト112を用いてサーバ12とデータの送受信を行なう
(ステップS14)。
【0024】次に通信プログラム121の動作について
説明する。図3は、通信プログラム121がクライアン
ト11からの接続要求を受けて回線接続を行ない、デー
タの送受信を開始するまでの動作を示すフローチャート
である。クライアントプログラム111同様、ここで詳
述するサーバプログラム121も本発明を実現するため
に作られたものでなく、通常使用されるプログラムであ
る。
【0025】サーバプログラム121もクライアントプ
ログラム111同様、仮想ソケットモジュール124を
使い、仮想ソケット124と実際に通信を行なう実ソケ
ット122のペアを作成(ステップS24)する。
【0026】通信プログラム121は、作成した仮想ソ
ケット124を介してlistenエントリポイントを
呼び出す。仮想ソケットモジュール124のliste
nエントリポイントでは、通信プログラム111からの
接続要求を仮想ソケット124に対応する実ソケット1
22を使い接続要求を待つ(ステップS30)。
【0027】クライアント11からの接続要求を受信し
た実ソケット122は、その旨を仮想ソケットモジュー
ル124を通じて通信プログラム121に伝える。サー
バプログラム121がその接続要求を受け入れるならば
(ステップS31,32)、acceptエントリポイ
ントを呼び出す。サーバプログラム121から呼び出さ
れた仮想ソケットモジュール124のacceptエン
トリポイントは、渡されたパラメータを保存(ステップ
S33)し、接続要求の許可を行なう。サーバプログラ
ム121は、このとき渡されたパラメータを使い、クラ
イアント11と通信するための新しい実ソケット122
を生成(ステップS34)する。更に、接続先のクライ
アント11を特定する情報を保存(ステップS35)す
る。
【0028】仮想ソケットモジュール124は、acc
ept処理で作られた実ソケット122に対応する仮想
ソケット124を作り、サーバプログラム121に通知
する。その後、通信プログラム121は、クライアント
プログラム111と同様にsend/receiveエ
ントリポイントを使ってデータの送受信を行なう。
【0029】図4は、障害発生時におけるクライアント
側での回復処理をフローチャートで示した図である。
【0030】通信障害の検知は、実際に通信処理を行な
っている実ソケット122で検知(ステップS42)さ
れる。実ソケット122で検知された障害が例えば、公
衆回線の回線断だとすれば、通信障害は、仮想ソケット
モジュール124に通知される。仮想ソケットモジュー
ル124は、通信プログラム111の利用者に対して回
線の再接続を行ない、通信プログラムの処理を継続する
か否かを問い合わせる。
【0031】プログラムの利用者が処理の継続を望まな
い場合、仮想ソケットモジュール124は、通信障害の
発生を該当する仮想ソケット124を通じて通信プログ
ラム111に通知する。その後の通信障害に対する処理
は各通信プログラムが行なう。
【0032】プログラムの利用者が処理の継続を望む場
合、仮想ソケットモジュール124は、通信障害を起こ
した実ソケット122を破棄(ステップS45)する。
回線断が起きていたら、再ダイヤルアップを行ない、回
線の再接続を行なう。このとき、プログラムの動いてい
るプラットフォームがDHCP等のアドレス取得方式を
使用していた場合、ホストのIPアドレスが変わってし
まう可能性がある。
【0033】回線の再接続ができたら、仮想ソケットモ
ジュール124は、障害発生前に保存してあったソケッ
ト生成情報を基にして新たな実ソケット122を作る
(ステップS46)。このとき、新たに作られる実ソケ
ット122は、障害発生前と異なる実ソケットの管理番
号を持つ。新たに作られた実ソケット122は、通信相
手の通信プログラムに接続を行なう(ステップS4
7)。このとき、接続先と接続相手を特定する情報、即
ち、回線断前に接続通信していた通信プログラム同士が
本当に再接続されたかを確認するための情報を交換し、
お互いに相手の確認を行なう。正しいプログラム同士が
再接続できたら、仮想ソケット124は、通信障害発生
前に送受信中で処理を完了していないデータを、保存し
てあったバックアップデータから再送受を行ない、中断
していたデータの送受信を完了する。
【0034】新たに生成した実ソケット122で通信プ
ログラム間でのデータ交換が可能になったら、通信障害
を起こして破棄された実ソケットに対応していた仮想ソ
ケット、新たに生成した実ソケットを新しいペア(ステ
ップS50)として通信処理の継続(ステップS51)
を行なう。
【0035】通信回線の再接続に、ソケットの再生成に
よってプラットフォームのIPアドレスやソケット番号
が変わってしまうことがあるが、通信プログラムから
は、仮想ソケット124しか見えず、仮想ソケットモジ
ュール124内で化そうソケットと新しい実ソケットの
対応を管理するので、通信プログラムは、通信障害発生
前の情報で仮想ソケット124にアクセスすればよい。
これにより、通信障害の発生を通信プログラム111か
ら隠蔽して通信プログラム111に通信処理が継続して
いるように見せることができる。
【0036】図5は、通信障害発生時にサーバ通信プロ
グラムが如何に障害回復を行なうか示した動作の流れを
フローチャートで示した図である。
【0037】通信障害の検知は、実際に通信処理を行な
っている実ソケット122で検知(ステップS62)さ
れる。実ソケット122で検知された障害が例えば、公
衆回線の回線断だとすれば、通信障害は、仮想ソケット
モジュール124に通知される。仮想ソケットモジュー
ル124は、クライアントの仮想ソケットモジュール1
14と同様に障害を検出した実ソケット122を破棄
(ステップS63)する。仮想ソケットモジュール12
4は、listen用の実ソケット122を使い、クラ
イアント11による再接続を待つ(ステップS64)。
【0038】このとき、一定時間内にクライアント11
からの再接続が無かった場合は、その後もクライアント
11からの再接続はないものとみなし、障害を検知した
実ソケツトに対応する仮想ソケットを通じてサーバ12
の通信プログラム121に通信障害があったことを伝え
る。この後は、通信プログラム121側で通信障害に対
する処理を行なう。
【0039】クライアント11からの再接続が行なわれ
た場合、仮想ソケットモジュール124は、accep
t処理(ステップS66)を行ない、実ソケットを再生
成(ステップS67)する。新たに作られた実ソケット
122は、通信相手の通信プログラム111に接続を行
なう。このとき、接続先と接続相手を特定する情報、即
ち、回線断前に接続通信していた通信プログラム同士が
本当に再接続されたかを確認するための情報を交換し、
お互い相手の確認を行なう。
【0040】正しいプログラム同士が再接続できたら、
仮想ソケット124は、通信障害発生前に送受信中で処
理を完了していないデータを、保存してあったバックア
ップデータから再送受を行ない、中断していたデータの
送受信を完了する。
【0041】新たに生成した実ソケット122で通信プ
ログラム間でのデータ交換が可能になったら、通信障害
を起こして破棄された実ソケットに対応していた仮想ソ
ケット、新たに生成した実ソケットを新しいペア(ステ
ップS70)として通信処理の継続(ステップS71)
を行なう。
【0042】通信回線の再接続に、ソケットの再生によ
ってプラットフォームのIPアドレスやソケット番号が
変わってしまうことがあるが、通信プログラムからは、
仮想ソケット124しか見えず、仮想ソケットモジュー
ル124内で化そうソケットと新しい実ソケットの対応
を管理するので、通信プログラムは、通信障害発生前の
情報で仮想ソケット124にアクセスすればよい。これ
により、通信障害の発生を通信プログラム111から隠
蔽して通信プログラム111に通信処理が継続している
ように見せることができる。
【0043】仮想ソケットモジュール124は、再接続
先の通信相手プログラムが、通信障害発生以前の通信プ
ログラムと特定できなかった場合、または、通信障害発
生から一定時間に障害回復が実行されなかつた場合は、
通信障害の発生を化そうソケットモジュール124を呼
び出している通信プログラムに通知し、その後の通信障
害に対する処理は、各通信プログラムが行なう。
【0044】図6は、通信障害の回復処理を行なったと
きに、上述した仮想ソケツトと実ソケットの組み合わせ
が如何に変わるかを説明するために引用した動作概念図
である。
【0045】図は、通信障害発生前の互いに通信を行な
っている2つのプログラム状態を示している。ホスト1
上で動作しているプログラムAは、ホスト2上で動作し
ているプログラムBと通信を行なっている。プログラム
Aは、仮想ソケツトAを使い通信を行なう。仮想ソケッ
トAは、実際に通信を行なう実ソケットAとペアになっ
て動作する。同様に、プログラムBは、仮想ソケットB
とペアになる実ソケットBを使い通信を行なう。ホスト
1とホスト2の間は、公衆電話回線を使いダイヤルアッ
プにより接続されている。このとき、通信障害が起き、
公衆電話回線によるダイヤルアップ接続が切れ、上述し
た通信障害の回復処理が行なわれたとする。
【0046】通信障害発生時に使用されていた実ソケッ
トA,Bは、破棄されて、新たに実ソケットC,Dが作
られる。公衆電話回線も再ダイヤルアップし直すので新
たな回線となる。新たに生成された実ソケットC,D
は、通信障害前に使われていた実ソケットA,Bとペア
を組んでいた仮想ソケットA,Bとペアの組み直しを行
なう。通信プログラムA,Bからは、仮想ソケットA,
Bのみが見えるため、通信障害の回復処理のために実ソ
ケットが作り直されたことは隠蔽され、通信プログラム
は仮想ソケットA,Bを使い処理の続行が可能になる。
【0047】尚、本発明の実施形態として例示した、通
信プログラム111(121)、仮想ソケットモジュー
ル114(124)、ソケットモジュール112(12
2)、通信スタック113(123)ともに、ソフトウ
ェアにて実現され、特に、図4〜図5に示されるフロー
チャートは、本発明を実現する手段として上記ソフトウ
ェアにプログラムとしてインプリメントされるものであ
り、フロッピーディスク、磁気ティスク、CD−RO
M、MO等の記録媒体にて提供されるものである。
【0048】以上説明のように、本発明は、各々のコン
ピュータ11(12)は、自身で持つ通信プログラム1
11(121)が通信ポートとして用いる仮想ソケット
114(124)と、仮想ソケットと1対1に対応し、
実際の通信処理を行なうための通信ポートとして用いる
実ソケット112(122)を有し、通信プログラムが
仮想ソケットに対しデータ通信を指示したとき、それと
ペアをなす実ソケットを用いて通信を行なうとともに、
通信障害発生時、使用されていた実ソケットを破棄して
新たな実ソケットを生成し、障害発生前に使用されてい
た実ソケットとペアを組んでいた仮想ソケットとの組み
直しを行ない、新たに生成された実ソケットを使用して
データ通信の継続を行なうことを特徴とするものであ
り、このことにより、通信システムとしてのトータルス
ループットの向上がはかれるものである。
【0049】尚、以上の説明は、通信障害の回復処理に
ついてのみ述べたが、これに制限されるものでなく、暗
号通信への応用も考えられる。具体的に、仮想ソケット
を管理する仮想モジュールは、通信プログラムから通信
要求があったときに受信し、仮想ソケットモジュール内
に保存する送受信データに対して暗号化処理を施し、仮
想ソケットに1対1で対応する実ソケットを用いて通信
を行なうことによりなされる。このことにより、暗号通
信機能を持たない通信プログラムで暗号通信を行なわせ
ることも可能となる。
【0050】
【発明の効果】以上説明のように本発明によれば、通信
プログラムが仮想ソケットを介し実際の通信処理を行な
うための通信ポートとして用いられる実ソケットとの間
で交信することにより、通信障害の回復のために行なわ
れる、再ダイヤルアップ、IPアドレスの再取得、ソケ
ットの再生成、通信プログラム間のソケットの再接続等
で起こる、回復前後の状態の差異を通信プログラムから
穏蔽し、通信プログラムに通信障害が発生したことを認
識させることなく、通信障害の回復、処理の継続を行な
うことのできる。従って、信頼性の向上はもとより、通
信システムとしてのトータルスループットの向上がはか
れるものである。
【図面の簡単な説明】
【図1】本発明の実施形態を示すブロック図、
【図2】本発明の実施形態の動作を説明するために引用
した図であり、クライアントプログラムがソケットを作
成し、サーバに接続を行ない通信を介しするまでの手順
をフローチャートで示した図、
【図3】サーバプログラムがクライアントからの接続要
求を受けてデータの送受信を行なうまでの手順をフロー
チャートで示した図、
【図4】通信障害発生時にクライアントプログラムが如
何に障害回復を行なうかを示すフローチャート、
【図5】通信障害発生時にサーバプログラムが如何に障
害回復を行なうかを示したフローチャート、
【図6】通信障害の回復処理を行なったときの仮想ソケ
ットと実ソケットの組み合わせが変化する様子を示した
動作概念図、
【図7】従来の通信システムの構成例を示すブロック
図、
【符号の説明】
11…クライアント(ホスト1)、12…サーバ(ホス
ト2)、111…クライアントプログラム、112…ソ
ケットモジュール、113…通信スタック、114…仮
想ソケットモジュール、121…サーバプログラム、1
22…ソケットモジュール、123…通信スタック、1
24…仮想ソケットモジュール。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 白木原 敏雄 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ間データ通信において、各
    々のコンピュータは、自身で持つ通信プログラムが通信
    ポートとして用いる仮想ソケットと、仮想ソケットと1
    対1に対応し、実際の通信処理を行なうための通信ポー
    トとして用いる実ソケットを有し、通信プログラムが仮
    想ソケットに対しデータ通信を指示したとき、それとペ
    アをなす実ソケットを用いて通信を行なうとともに、通
    信障害発生時、使用されていた実ソケットを破棄して新
    たな実ソケットを生成し、障害発生前に使用されていた
    実ソケットとペアを組んでいた仮想ソケットとの組み直
    しを行ない、新たに生成された実ソケットを使用してデ
    ータ通信を継続することを特徴とする通信システムにお
    ける通信障害回復方法。
  2. 【請求項2】 仮想ソケットを管理する管理モジュール
    は、通信プログラムから通信要求を受けたとき、接続相
    手を特定する情報を含む送受信データを保存することを
    特徴とする請求項1記載の通信障害回復方法。
  3. 【請求項3】 接続相手を特定する情報は、アドレス、
    実ソケットのポート番号、送受信データのうちの少なく
    とも1以上であることを特徴とする請求項2記載の通信
    システムにおける通信障害回復方法。
  4. 【請求項4】 通信障害発生時、障害を発生した実ソケ
    ットの代わりに、仮想ソケットモジュールが保存してあ
    るアドレス、ポート番号に基づき新たな実ソケットを作
    るとともに仮想ソケットとのペアを作ってデータ通信を
    継続することにより、仮想ソケットを使用している通信
    プログラムに通信障害が発生し、実ソケットが変更され
    たことを隠蔽することを特徴とする請求項3記載の通信
    システムにおける通信障害回復方法。
  5. 【請求項5】 実ソケットを管理するソケットモジュー
    ルは、仮想ソケットモジュールが保存してあった接続相
    手を特定する情報を用いて、互いに通信し合うプログラ
    ムの対応する仮想ソケットを特定して、新しいソケット
    のペアを生成し、仮想ソケットモジュールが保存してい
    る送受信データを新たな実ソケットで再送受を行なうこ
    とにより、仮想ソケットを使用している通信プログラム
    に対し、通信障害が発生して実ソケットが変更されたこ
    とを穏蔽し、通信を継続することを特徴とする請求項2
    記載の通信システムにおける通信障害回復方法。
  6. 【請求項6】 通信障害発生時、障害が発生したことを
    プログラム使用者に伝え、プログラム使用者に通信障害
    の回復を行なうか否かの選択を促し、否の場合、通信プ
    ログラムに対して障害を通知してエラー処理を起動し、
    回復を行なうとの意志表示があった場合、通信障害の回
    復を行なって、通信プログラムに対し通信障害が発生、
    ならびに回復したことを穏蔽し、通信処理を継続するこ
    とを特徴とする請求項1記載の通信システムにおける通
    信障害回復方法。
  7. 【請求項7】 仮想ソケットを管理する仮想モジュール
    は、通信プログラムから通信要求があったときに受信
    し、仮想ソケットモジュール内に保存する送受信データ
    に対して暗号化処理を施し、仮想ソケットに1対1で対
    応する実ソケットを用いて通信を行なうことを特徴とす
    る請求項2記載の通信システムにおける通信障害回復方
    法。
  8. 【請求項8】 コンピュータ間データ通信において、各
    々のコンピュータは、自身で持つ通信プログラムが通信
    ポートとして用いる仮想ソケットと、仮想ソケットと1
    対1に対応し、実際の通信処理を行なうための通信ポー
    トとして用いる実ソケットを有し、上記通信プログラム
    として、仮想ソケットを生成するステップと、仮想ソケ
    ット生成時のパラメータの保存を行ない実際に通信を行
    なう実ソケットを生成するステップと、仮想ソケットと
    実ソケットの対応づけを行なうステップと、引き渡され
    るパラメータを保存して仮想ソケットに対応する実ソケ
    ットに対してバインド処理を行なうステップと、仮想ソ
    ケットを用いて通信相手とのコネクト処理を行ない接続
    を特定する情報を保存するステップと、仮想ソケットモ
    ジュールにて一旦送受信データを保存し、仮想ソケット
    に対応する実ソケットを用いて通信相手とのデータ送受
    信を行なうステップとがプログラムされ、記録される記
    録媒体。
  9. 【請求項9】 コンピュータ間データ通信において、各
    々のコンピュータは、自身で持つ通信プログラムが通信
    ポートとして用いる仮想ソケットと、仮想ソケットと1
    対1に対応し、実際の通信処理を行なうための通信ポー
    トとして用いる実ソケットを有し、上記通信プログラム
    として、仮想ソケットを生成するステップと、仮想ソケ
    ット生成時のパラメータの保存を行ない実際に通信を行
    なう実ソケットを生成するステップと、仮想ソケットと
    実ソケットの対応づけを行なうステップと、引き渡され
    るパラメータを保存して仮想ソケットに対応する実ソケ
    ットに対してバインド処理を行なうステップと、仮想ソ
    ケットに対応する実ソケットを用い相手からの接続要求
    を待つステップと、接続要求を受け入れたときに渡され
    たパラメータに基づき相手と通信するための新しい実ソ
    ケットを生成するとともに、接続相手を特定するための
    情報を保存するステップと、実ソケットに対応する仮想
    ソケットを生成してデータの送受信を行なうステップと
    がプログラムされ記録される記録媒体。
  10. 【請求項10】 コンピュータ間データ通信において、
    各々のコンピュータは、自身で持つ通信プログラムが通
    信ポートとして用いる仮想ソケットと、仮想ソケットと
    1対1に対応し、実際の通信処理を行なうための通信ポ
    ートとして用いる実ソケットを有し、実ソケットにて通
    信障害を検知するステップと、プログラム使用者に対し
    て障害回復を行なうか否か意志表示を促すステップと、
    否の場合、通信プログラムに対して障害を通知してエラ
    ー処理を起動するステップと、回復を行なうとの意志表
    示があった場合、通信障害発生時使用されていた実ソケ
    ットを破棄して新たな実ソケットを生成し、障害発生前
    に使用されていた実ソケットとペアを組んでいた仮想ソ
    ケットとの組み直しを行ない、新たに生成された実ソケ
    ットを使用してデータ通信を継続するステップとがプロ
    グラムされ記録される記録媒体。
  11. 【請求項11】 コンピュータ間データ通信において、
    各々のコンピュータは、自身で持つ通信プログラムが通
    信ポートとして用いる仮想ソケットと、仮想ソケットと
    1対1に対応し、実際の通信処理を行なうための通信ポ
    ートとして用いる実ソケットを有し、実ソケットにて通
    信障害を検知するステップと、通信障害発生時使用され
    ていた実ソケットを破棄するステップと、再接続を待っ
    て実ソケットを再度生成してコネクト処理を行ない、障
    害発生前に更新していた接続相手が再接続されたかを確
    認するステップと、通信障害発生前に処理を完了してい
    ないデータを保存してあったバックアップデータから再
    送受を行ない、中断していたデータの送受信を完了する
    ステップと、障害発生前に使用されていた実ソケットと
    ペアを組んでいた仮想ソケットとの組み直しを行ない、
    新たに生成された実ソケットを使用してデータ通信を継
    続するステップとがプログラムされ記録される記録媒
    体。
JP9272670A 1997-10-06 1997-10-06 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体 Pending JPH11112609A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9272670A JPH11112609A (ja) 1997-10-06 1997-10-06 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体
EP98308042A EP0912025A3 (en) 1997-10-06 1998-10-02 Data communications error recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9272670A JPH11112609A (ja) 1997-10-06 1997-10-06 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体

Publications (1)

Publication Number Publication Date
JPH11112609A true JPH11112609A (ja) 1999-04-23

Family

ID=17517161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9272670A Pending JPH11112609A (ja) 1997-10-06 1997-10-06 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体

Country Status (2)

Country Link
EP (1) EP0912025A3 (ja)
JP (1) JPH11112609A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451786B1 (ko) * 2000-11-30 2004-10-08 엘지전자 주식회사 이동통신 시스템의 소켓 자동 관리 방법
US6934247B2 (en) 2000-11-24 2005-08-23 International Business Machines Corporation Recovery following process or system failure
JP2010237977A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd マルチプロセッサ及び制御プログラム
JP4965562B2 (ja) * 2006-04-13 2012-07-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 組込機器による外部との通信を代行サーバにより制御させる技術

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002344774A1 (en) * 2001-05-14 2002-11-25 Telefonaktiebolaget Lm Ericsson (Publ) Application transparent redundancy in a protocol stack

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867661A (en) * 1996-02-15 1999-02-02 International Business Machines Corporation Method and apparatus of using virtual sockets for reducing data transmitted over a wireless communication link between a client web browser and a host web server using a standard TCP protocol

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934247B2 (en) 2000-11-24 2005-08-23 International Business Machines Corporation Recovery following process or system failure
KR100451786B1 (ko) * 2000-11-30 2004-10-08 엘지전자 주식회사 이동통신 시스템의 소켓 자동 관리 방법
JP4965562B2 (ja) * 2006-04-13 2012-07-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 組込機器による外部との通信を代行サーバにより制御させる技術
JP2010237977A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd マルチプロセッサ及び制御プログラム

Also Published As

Publication number Publication date
EP0912025A3 (en) 2004-02-11
EP0912025A2 (en) 1999-04-28

Similar Documents

Publication Publication Date Title
US5754752A (en) End-to-end session recovery
US6687817B1 (en) Configuration of a network device via the network
US20050086342A1 (en) Techniques for client-transparent TCP migration
US7107481B2 (en) Server takeover system and method
US7533178B2 (en) Resuming a computing session when rebooting a computing device
US5745685A (en) Protocol extension in NSPP using an acknowledgment bit
US7089311B2 (en) Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection
US20070041327A1 (en) Multicast heartbeat signaling
JPH1168873A (ja) データ通信方法及びデータ通信システム
US20080140846A1 (en) Virtualization and high availability of network connections
JP2006515733A (ja) 無線通信網を介したメディアメッセージアップロード制御方法
CN111614596B (zh) 一种基于IPv6隧道技术的远程设备控制方法及系统
US7254739B2 (en) Error recovery in a client/server application using two independent sockets for communication
CN101656712B (zh) 一种恢复ip会话的方法、网络系统和网络边缘设备
JP5039915B2 (ja) telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法
JP2007157148A6 (ja) telnetセッション、telnetエージェンシ、およびコンピュータ・ネットワーク・システムを維持する方法
JPH10112740A (ja) 情報処理装置、通信方法および記憶媒体
JPH11112609A (ja) 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体
US6697895B1 (en) Network attached tape storage system
JP3709319B2 (ja) 端末からホストコンピュータへの再接続方法
US7917633B1 (en) Method and apparatus for reconnecting to a remote viewing session
JP2001197058A (ja) 端末−保守サーバ間認証鍵共有方法及び端末リモートメンテナンス実施方法
CN111953742A (zh) 一种页面重定向方法、终端设备、中间设备及服务器
JP3645537B2 (ja) 通信制御システム
JP2002163122A (ja) 通信処理方法ならびに通信処理プログラムが記録される記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041004

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070508