説明

通信システム、通信方法、および通信プログラム

【課題】 通信のリアルタイム性を高める。
【解決手段】 通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信システムにおいて、前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てるコネクション制御部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は通信システム、通信方法、および通信プログラムに関し、例えば、ITU−T勧告T.38のファクシミリ通信を実現するためのゲートウエイ装置などに適用して好適なものである。
【背景技術】
【0002】
コネクション型の通信に関する技術として下記の非特許文献1に記載されたものがある。
【0003】
この非特許文献1は、IPネットワーク上でG3ファクシミリ通信を行うための規格を定めたものである。当該非特許文献1には、ゲートウエイ装置間に2本のTCPセッション(TCPコネクション)を確立した上でファクシミリ通信を行うケースについて記載されている。
【0004】
2本のコネクションを確立した場合、1つのコネクションを送信用とし、もう1つのコネクションを受信用とすることができる。
【非特許文献1】ITU−T勧告T.38
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、上述した非特許文献1に比較的忠実な実装を行ったゲートウエイ装置では、1つのコネクションのみが確立され、もう1つのコネクションがタイムアウトによって確立に失敗したことが確定した場合、確立された1つのコネクションを用いて送信と受信を行うことができる。しかしながら、例えば、確立されたものが受信用のコネクションで、確立に失敗したものが送信用のコネクションである場合、確立に失敗したことが確定する前に、収容しているG3ファクシミリ装置から送信すべき情報が届くと、ゲートウエイ装置はこの情報を正常に送信することができないため、G3ファクシミリ装置を使用するユーザは、確立に失敗したことが確定するまでの時間(前記タイムアウトが判定されるまでの時間)、ファクシミリ通信の開始を待たされることになり、通信のリアルタイム性が低かった。
【課題を解決するための手段】
【0006】
かかる課題を解決するために、第1の本発明では、通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信システムにおいて、前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てるコネクション制御部を備えたことを特徴とする。
【0007】
また、第2の本発明では、通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信方法において、前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てることを特徴とする。
【0008】
さらに、第3の本発明では、通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信プログラムにおいて、コンピュータに、前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てるコネクション制御機能を実現させることを特徴とする。
【発明の効果】
【0009】
本発明によれば、通信のリアルタイム性を高めることができる。
【発明を実施するための最良の形態】
【0010】
(A)実施形態
以下、本発明にかかる通信システム、通信方法、および通信プログラムをIPネットワークを用いるファクシミリ通信システムに適用した場合を例に、実施形態について説明する。
【0011】
(A−1)実施形態の構成
本実施形態にかかるファクシミリ通信システム10の全体構成例を図3に示す。なお、当該ファクシミリ通信システム10中に、図示しないサーバ類(例えば、DNSサーバやDHCPサーバなど)やネットワーク機器(ハブやルータなど)が存在していてもよいことは当然である。
【0012】
図3において、当該ファクシミリ通信システム10は、ネットワーク11と、ゲートウエイ装置12,13と、ファクシミリ装置14,15とを備えている。
【0013】
このうちネットワーク11は、例えば、ある企業の内部で使用されるLAN(ローカルエリアネットワーク)などであってもよく、インターネットなどであってもよいが、当該ネットワーク11はOSI参照モデルのネットワーク層でIPプロトコルが通用するものである。
【0014】
ファクシミリ装置14は通常のG3ファクシミリ装置である。したがって、当該ファクシミリ装置14自体はIPプロトコルを処理する機能などを持たないため、直接、ネットワーク11に接続することはできず、ゲートウエイ装置12経由で接続されることになる。
【0015】
この点は、ファクシミリ装置15も同様で、ゲートウエイ装置13経由でネットワーク11に接続される。ゲートウエイ装置12,13はVoIPゲートウエイを構成する。
【0016】
ファクシミリ装置14はユーザU1によって使用され、ファクシミリ装置15はユーザU2によって使用されるものとする。
【0017】
ゲートウエイ装置12は前記非特許文献1のITU−T勧告T.38に準拠した構成を備えているが、従来とは異なる特徴も有する。以下では、主として、当該ゲートウエイ装置12側からみて、相手のゲートウエイ装置13とのあいだの送信、受信を説明する。相手のゲートウエイ装置13が取り得る構成については、大きく3つのタイプに分けることができる。
【0018】
その第1は、前記ゲートウエイ装置12と同じ構成を持つタイプ、第2は、従来と同様の2コネクション型のゲートウエイ装置であるタイプ、第3は、1コネクション型のゲートウエイ装置であるタイプである。ここで、コネクションとはOSI参照モデルのトランスポート層の通信プロトコルであるTCPのコネクション(TCPセッション)を指す。コネクションは論理的な通信路であって、そのほぼ両端に、ゲートウエイ装置12のTCPポート(ソケット)とゲートウエイ装置13のTCPポート(ソケット)が位置する形になる。
【0019】
第2のタイプに対応する2コネクション型のゲートウエイ装置13は、[発明が解決しようとする課題]の項で説明したゲートウエイ装置にあたる。すなわち、当該ゲートウエイ装置13で、1つのコネクションのみが確立され、もう1つのコネクションがタイムアウトによって確立に失敗したことが確定した場合、確立された1つのコネクションを用いて送信と受信を行うことができるものの、例えば、確立されたものが受信用のコネクションで、確立に失敗したものが送信用のコネクションである場合、確立に失敗したことが確定する前に、収容しているG3ファクシミリ装置(ここでは、15)から送信すべき情報が届くと、ゲートウエイ装置13はこの情報を正常に送信することができないため、G3ファクシミリ装置を使用するユーザ(ここでは、U2)は、確立に失敗したことが確定するまでの時間、ファクシミリ通信の開始を待たされることになる。
【0020】
第1のタイプに対応する本実施形態に特徴的なゲートウエイ装置も2コネクション型のゲートウエイ装置の一種であるとみることができるが、タイムアウトの前であっても、確立された1つのコネクションを送信と受信に利用できる点が異なる。その詳細については後述する。
【0021】
第3のタイプに対応するゲートウエイ装置は、元々、1つのコネクションを確立する機能しか持たないもので、確立された1つのコネクションを利用して送信と受信を行う。
【0022】
前記ゲートウエイ装置12の内部構成は例えば図2に示す通りである。前記第1のタイプの場合、相手のゲートウエイ装置13の内部構成もこれと同じになる。
【0023】
(A−1−1)ゲートウエイ装置の内部構成例
図2において、当該ゲートウエイ装置12は、ネットワークインタフェース部20と、制御部21と、アナログインタフェース部22と、ソケット管理部23と、タイムアウト判定部24と、ゲートウエイ部25と、記憶部26とを備えている。
【0024】
このうちネットワークインタフェース部20は、前記ネットワーク11に接続されるインタフェースで、OSI参照モデルの物理層やデータリンク層などを処理する機能を有する。
【0025】
アナログインタフェース部22は、前記ファクシミリ装置14を接続するためのインタフェースである。
【0026】
制御部21はハードウエア的には当該ゲートウエイ装置12のCPU(中央処理装置)などに相当し得る部分であり、ソフトウエア的には当該ゲートウエイ装置12のOS(オペレーティングシステム)などに相当し得る部分である。
【0027】
記憶部26はハードウエア的には揮発性または不揮発性の各種記憶手段(例えば、RAMやハードディスクなど)に相当する部分であり、ソフトウエア的には各種のファイルに相当する。前記OSなどを収容したプログラムファイルもこのようなファイルの1つであるから、物理的には、前記OSも当該記憶部26に位置することになる。
【0028】
ゲートウエイ部25は、ゲートウエイ(VoIPゲートウエイ)の機能を提供する部分である。すなわち、ファクシミリ装置14から15へ送信される情報は、当該ゲートウエイ部25で必要な各種の処理(例えば、符号化など)を経たあと、IPパケットに収容されてネットワーク11に送出されることになる。反対に、ファクシミリ装置15から14に届けられる情報は当該ゲートウエイ部25でIPパケットから抽出されたあと、必要な各種の処理(例えば、復号化など)を経たあとで、前記アナログインタフェース部22を介してファクシミリ装置14に届けられることになる。
【0029】
なお、ネットワーク11では宛先を識別するための識別子として有効な識別子はIPアドレスだけであるが、その一方で、ユーザU1が宛先を指定するために入力するのは、通常、宛先となるファクシミリ装置15のファクシミリ番号FN15である。
【0030】
したがって、ファクシミリ番号とIPアドレスの対応関係を調べ、入力されたファクシミリ番号FN15から宛先のゲートウエイ装置13のIPアドレスIA13を特定するためのアドレス解決の過程が必要となる。ゲートウエイ装置12内でこのアドレス解決を分担するのも、当該ゲートウエイ部25である。ITU−T勧告T.38では、呼制御プロトコルとしてH.323を用いるため、ファクシミリ番号とIPアドレスの対応関係を蓄積しているのは図示しないH.323ゲートキーパであり、ゲートウエイ部25は当該ゲートキーパと通信することによってアドレス解決を行い、その結果として宛先IPアドレスにIA13を持つIPパケットを送信することになる。
【0031】
ソケット管理部23は前記ソケットを管理する部分である。ソケットが前記TCPポートを備えている。ソケットは例えばAPI(アプリケーション・プログラミング・インタフェース)などの形式で実現され得るプログラムである。OSI参照モデルやTCP/IPプロトコル体系に忠実なモジュール分けを行う場合、トランスポート層に位置付けられる当該ソケット(TCPポート)は、それ自体、独立した1つのプログラムとして実現される。必要に応じて、当該ソケットはOSI参照モデルのセッション層に属する機能も有する。
【0032】
同じトランスポート層のなかでさらにモジュール分けを行うか否かは自由であるが、ここでは、2つのソケットST1,ST2を別個のモジュールとして構成するものとする。
【0033】
また、プログラムとしてのソケットST1,ST2に送信用の機能と受信用の機能をどのように持たせるかについてはいくつかのケースがあり、例えば、送信用の機能のみしか持たないソケットと、受信用の機能のみしか持たないソケットを用意することも考えられるが、ここでは、各ソケットST1,ST2が送信用の機能と受信用の機能を備えており、必要なときにいずれか一方または双方の機能を発揮するものとする。ただし、当初、送信用のポート(送信用ソケット)として機能するほうをST1とし、受信用のポート(受信用ソケット)として機能するほうをST2とする。
【0034】
ソケット管理部23は、当該ソケットST1,ST2の状態遷移(例えば、実行可能状態、実行状態、待ち状態のあいだの遷移)などを管理する。この状態遷移のタイミングの違いに本実施形態の特徴の本質がある。
【0035】
タイムアウト判定部24は、タイムアウトの判定を行う部分で、所定の手順を実行しタイムアウト時間MT1が経過してもそのコネクションの確立が検知できない場合にタイムアウトであると判定する。この手順には様々なものが考えられるが、相手のゲートウエイ装置13に対して送信用コネクション(このコネクションは、ゲートウエイ装置13からみると受信用コネクション)の確立を要求するためのコネクション確立制御信号であるConnect信号を所定時間置きに所定回数送信しても、応答信号(必ずしも応答のために予め定められた信号である必要はない)が返送されてこない場合には、タイムアウトと判定するものであってよい。これは、例えば、ネットワーク11上でのパケット損失や相手のゲートウエイ装置13の一時的な障害発生などが起きてもコネクションを確立するための手順である。具体的なタイムアウト時間MT1がどの程度の時間になるかは、この手順の内容によるが、その性質上、かなり長時間になることが避けられない。一例としては、最初にConnect 信号を送信してから30秒程度の時間になる可能性がある。
【0036】
受信用コネクション(このコネクションは相手のゲートウエイ装置13からみると送信用コネクション)の確立は相手のゲートウエイ装置13がConnect 信号を送信してきたときに行われる受動的な処理であるが、相手のゲートウエイ装置13も2コネクション型であり、ゲートウエイ装置12からConnect 信号を先に送信する場合を想定すると、ゲートウエイ装置12がConnect 信号を送信し、それに応えて相手のゲートウエイ装置13もConnect 信号を送信し、このConnect 信号がゲートウエイ装置12まで届いたときに当該受信用コネクションの確立が行われる。したがって、受信用コネクションの確立に関するタイムアウトは、ゲートウエイ装置12がConnect 信号の送信を開始した時刻から所定のタイムアウト時間MT2(MT2は必要に応じて、前記MT1と同じ値としてもよい)が経過しても相手のゲートウエイ装置13からConnect 信号が届かない場合に、受信用コネクションの確立がタイムアウトによって失敗したものと確定的に判定するものであってよい。
【0037】
以上の説明からも明らかなように、本実施形態で特徴的な構成要素23,24の機能は、通常、OSの一部として実装され得るものであるが、図2では、制御部21の外部に図示している。
【0038】
図2に示したゲートウエイ装置12のソフトウエア的な構成は別な観点から図4に示す形にまとめることができる。
【0039】
図4において、当該ゲートウエイ装置12は、OS40と、ネットワーク管理部41と、呼制御部42と、電話回線管理部43と、T.38FAX管理部44と、タイマ45とを備えている。
【0040】
このうちOS40は上述したOSに対応する。ネットワーク管理部41はネットワーク機能を管理する部分で、タイマ45は前記タイムアウトを判定するとき等に必要な時間の計測を行う部分である。OS40の構成にも依存するが、当該ネットワーク管理部41やタイマ45等はOS40の一部として実装される可能性が高い。その他の構成要素42〜44は、OS40上で動作する通信アプリケーションである。
【0041】
構成要素42〜44のうち電話回線管理部43は、ゲートウエイ装置12に収容されているファクシミリ装置14(一般電話機などでも同じ)などVoIP機能を持たない通信装置を接続する部分である。
【0042】
また、T.38FAX管理部44は、IPプロトコル上でファクシミリ通信を実現するための伝送制御プロトコルであるT.38を処理する部分である。
【0043】
呼制御部42は、ファクシミリ通信のための呼制御を実行する部分である。
【0044】
電話回線管理部43は前記アナログインタフェース部22に対応し、呼制御部42およびT.38FAX管理部44は、前記ゲートウエイ部25に対応する。また、ネットワーク管理部41の一部として、前記ソケット管理部23が含まれ得る。
【0045】
以下、上記のような構成を有する本実施形態の動作について図1、図5,図6を用いて説明する。
【0046】
図1は前記ソケットST1,ST2に関連する動作を示すフローチャートで、S10〜S24の各ステップから構成されている。
【0047】
図5(A)〜(D)は、典型的な4つのケースごとに、ソケットST1、ST2に関連する動作を示すシーケンス図で、S30〜S34、S40〜S42,S50〜S54,S60〜S61の各ステップを備えている。
【0048】
図6(A)〜(D)は、ソケットST1、ST2に関連する動作を示す概念図である。図6(A)〜(D)上で1つのソケット(例えば、ST1)を示すブロック内に「送・受」とあるのは、そのソケットが送信機能と受信機能を備えていることを示している。また、「送」および/または「受」を括弧で括って「(送)」などと記述したものは、その時点で、その機能が使用されない状態にあることを示している。逆に、括弧で括っていないものはその機能が使用される状態にあることを示している。したがって、例えば、図6(B)のソケットST1のように「送・(受)」とあれば、そのとき当該ソケットST1の送信機能は使用される状態にあるが、受信機能は使用されない状態にあることを示している。
【0049】
(A−2)実施形態の動作
所定の開始イベントが発生したとき、それに応じて、前記ゲートウエイ装置12内のソケット管理部23がソケットST1と、ST2に対応するプロセス(タスク)を生成する。このとき、2つのソケットST1,ST2に対応する2つのプロセスを生成するのは、当該ゲートウエイ装置12が2コネクション型のゲートウエイ装置だからである。
【0050】
また、開始イベントとしては様々なものがあり得るが、例えば、ユーザU1がファクシミリ装置14でファクシミリ送信を行うために相手のファクシミリ装置15のファクシミリ番号FN15の最初の1桁を入力し、それを前記アナログインタフェース部22や制御部21が検知したときに生成するものであってもよいし、逆に、相手のゲートウエイ装置13から呼設定を要求する呼設定メッセージを含むIPパケットが届いたことを検知したとき等に生成するものであってもよい。前者は、ユーザU1がユーザU2へファクシミリ送信を行う場合であり、後者は、ユーザU2がユーザU1へファクシミリ送信を行う場合であるものとする。以下では、主として、ユーザU1からユーザU2へファクシミリ送信を行う場合を前提に説明を進める。
【0051】
上述したように、2つのソケットST1,ST2はともに送信機能と受信機能を持つが、最初にそのプロセスが生成された直後には、ソケットST1は受信機能のみ用いられてConnect 信号の到着を待つものの、送信機能は用いられない。これと反対に、ソケットST2のほうは、最初にそのプロセスが生成された直後には、送信機能のみ用いられてConnect 信号を送信するが、受信機能は用いられない。
【0052】
これは図6(B)に示すゲートウエイ装置12内の状態にあたる。
【0053】
したがって当初は、図1のステップS10に示すように、ソケットST1が相手のゲートウエイ装置13から届くConnect 信号を待ち受け、ソケットST2は相手のゲートウエイ装置13へConnect 信号を送信する。
【0054】
ステップS10のあと、4つのイベントのうちいずれが検知されるかに応じて4つの分岐先に分岐する。
【0055】
第1のイベントは相手側からConnect 信号が到来してListen側の接続(受信用コネクション)が確立することであり、このイベントは前記ソケットST1がそのConnect信号を受信することによってステップS11で検知される。第2のイベントはソケットST2が送信したConnect信号が相手のゲートウエイ装置13内の該当するソケット(例えば、ST11やST21)に受信されたことによってConnect側の接続(送信用コネクション)が確立することである。図5(A)〜(D)に示したシーケンスにしたがう限り、Connect 信号の送信元であるゲートウエイ装置12内のソケットST2自身が直接、このイベントの発生を検知する方法はない。ただし、例えばConnect信号にソケットST2が持つポート(または、ソケットST1が持つポート)のポート番号を記述しておき、相手のゲートウエイ装置13が当該ポート番号宛てに何らかの信号(前記応答信号に対応)を返送してきた場合には、その信号を受信したことをもって、ステップS14で送信用コネクションの確立を検知することができる。
【0056】
相手のゲートウエイ装置13が上述した第1または第2のタイプに属する2コネクション型である場合には、ゲートウエイ装置12からConnect 信号が届いたことによって確立された1本目のコネクション(ゲートウエイ装置12からみると送信用コネクション)のほかに、2本目のコネクション(ゲートウエイ装置12からみると受信用コネクション)を確立しようとしてConnect 信号を送信するが、そのConnect 信号をゲートウエイ装置12が受信したことをもって、ゲートウエイ装置12からみた前記送信用コネクションが確立されたことを検知するようにしてもよい。
【0057】
第3のイベントはConnect 側の接続に失敗(送信用コネクションの確立に失敗)したことが確定したことである。このイベントの発生は、前記タイムアウト判定部24が上述した方法によって判定を行うことで、前記ステップS17で検知することができる。
【0058】
第4のイベントはListen側の接続に失敗したことが確定したことである。このイベントの発生は、前記タイプアウト判定部が上述した方法によって判定を行うことで、ステップS20で検知することができる。
【0059】
前記ステップS11につづくステップS12では、すでに送信用コネクションが確立されているか否かを検査する。確立されていない場合、ステップS12はNo側に分岐して処理はステップS13に進む。ステップS13では、ソケットST1を送信用および受信用として用いるための設定を行う。
【0060】
ステップS12がNo側に分岐したということは相手のゲートウエイ装置13には、ゲートウエイ装置12内のソケットST2の存在が認められていない可能性が高いが、前記ステップS11が処理されたことにより、相手側のゲートウエイ装置13にゲートウエイ装置12内のソケットST1の存在が認められていることは明らかであるためである。このとき、前記タイムアウト時間MT1またはMT2を経過することによるタイムアウトが発生している必要はないため、ゲートウエイ装置12はタイムアウト時間MT1,MT2の経過より早いタイミングで、ユーザU1の望むファクシミリ送信を開始することが可能となる。
【0061】
相手のゲートウエイ装置13が上述した第2のタイプである場合には、ゲートウエイ装置12がファクシミリ送信を行っても、相手のゲートウエイ装置13内でタイムアウト時間(MT1,MT2に相当)が経過するまでは、図6(C)に示すようにソケットST21内の受信機能のみが用いられて送信機能は用いられないため、正常な通信が行えない可能性があるが、信頼性の高いTCPプロトコルを用いているから、TCPプロトコルの機能により、最終的には、ユーザU1が望む情報が相手のゲートウエイ装置13およびファクシミリ装置15まで送達される。ソケットST21やST22自体の機能は、前記ソケットST2などと同じである。なお、図6(C)上、実線で示したコネクションCN11はすでに確立されたコネクションであり、一点鎖線で示したコネクションCN12はまだ確立されていないコネクションである。この点は、図6(D)も同様である。
【0062】
相手ゲートウエイ装置13が第2のタイプであっても、ゲートウエイ装置13内でタイムアウト時間MT1が経過しタイムアウト判定が行われれば、図6(D)に示すように、それまで用いられていなかったソケットST21内の送信機能が用いられるようになるため、正常な通信を行うことが可能となる。
【0063】
これに対し相手のゲートウエイ装置13が上述した第1または第3のタイプである場合には、すでに相手のゲートウエイ装置13内でソケットの受信機能および送信機能が有効になっていて、タイムアウト時間MT1,MT2の経過より早いタイミングで、ユーザU1の望む情報を、相手のゲートウエイ装置13およびファクシミリ装置15まで送達できる可能性が高い。
【0064】
相手のゲートウエイ装置13が前記第3のタイプに対応する1コネクション型である場合、図6(A)に示すように、ゲートウエイ装置12内の前記ソケットST2と、ゲートウエイ装置13内のソケットST11のあいだに確立された1つのコネクションCN1を用いて情報が双方向にやり取りされ得る。
【0065】
ソケットST11は基本的にソケットST2と同じものであるが、ゲートウエイ装置13が1コネクション型なので、ゲートウエイ装置13内にソケットは1つしか存在しない。
【0066】
相手のゲートウエイ装置13のタイプやネットワーク11の状態などにも依存するが、ゲートウエイ装置12側からファクシミリ送信を行おうとする場合、相手ゲートウエイ装置13は、ゲートウエイ装置12が送信したConnect信号を受信したからこそConnect信号を返送したものである可能性が高いから、ゲートウエイ装置12からみた送信用のコネクションが確立されず、受信用のコネクションのみが確立されるという現象(これは、ステップS12がNo側に分岐することに対応)は、確率的に起こりにくいものと考えられる。
【0067】
ゲートウエイ装置12と13のあいだに1本のコネクションが確立し、そのコネクションを用いて情報の送受が行えることが確認された時点で、2本目のコネクションを確立するための試みを中止するようにしてもかまわないが、図1の例では、前記ステップS10が実行され、前記ソケットST1がConnect 信号を送ることによって、2本目のコネクションの確立のための試みを繰り返している。
【0068】
この試みは、図5(A)のステップS31〜S33に対応する。この試みが繰り返されている間、図1上では、ステップS10,S11,S12、S13によって構成されるループが繰り返し処理される。なお、図5(D)の例では、Connect 信号の送信が繰り返されることなく、ゲートウエイ装置12が送信したConnect 信号も、ゲートウエイ装置13が送信したConnect 信号も1度で宛先に届いている(S60、S61)。これは、例えば、ステップS60でConnect 信号を受信した相手のゲートウエイ装置13が、その応答として送信したConnect 信号がゲートウエイ装置12に受信されたものであってよい。
【0069】
一方、図1に示す前記ステップS12がYes側に分岐する場合、前記ステップS10の内部ですでに、ゲートウエイ装置12からみた送信用コネクションの確立は完了しており、ステップS11で受信用コネクションが確立されたことによって、2本のコネクションが確立されたことになるため、今回、ステップS23でソケットST1を受信用に設定して接続処理を終了する(S24)。
【0070】
送信用コネクションはすでに確立済みなので、相手のゲートウエイ装置13において、当該ソケットST2はゲートウエイ装置12における送信用ソケットであるものとしてすでに認められている可能性が高いが、今回、ステップS11が処理されたことにより、ソケットST1がゲートウエイ装置12における受信用ソケットとして認められることになる。したがって、ステップS12のYes側の分岐につづくステップS23では、ソケットST1を受信用として設定している。
【0071】
この場合、ゲートウエイ装置13がゲートウエイ装置12側に届けたい情報があるなら、ソケットST1のポートを示すポート番号宛てに送信する可能性が高いと考えられるが、ソケットST2のポート番号宛てに送信してくる可能性に備えて、ソケットST2の受信機能も有効にしておいてもよい。
【0072】
このように、ゲートウエイ装置12と13のあいだに2本のコネクションCN11,CN12が確立された状態は、図6(B)の形に示すことができる。ただし、図6(B)の例では、ソケットST2の受信機能は用いないものとし、受信はソケットST1で行い、送信はソケットST2で行うものとしている。図6(B)の状態となり得るのは、相手のゲートウエイ装置13が前記第1または第2のタイプに属する場合である。
【0073】
ステップS14〜S17は、このステップS11〜S13およびS23の部分と対応する処理となっている。
【0074】
すなわち、ステップS14は前記ステップS11に対応し、ステップS15は前記ステップS12に対応し、ステップS16は前記ステップS13に対応し、ステップS17は前記ステップS23に対応するので、その詳しい説明は省略する。
【0075】
ただし、ステップS14は、ゲートウエイ装置12からみたConnect 側の接続(送信用コネクション)の確立を検知するものであり、ステップS15は、受信用コネクションがすでに確立済みであるか否かを検査するものであり、ステップS16は1本だけ確立されているコネクションを用いて送信と受信を行うため、ソケットST2を送信用および受信用として設定するものであり、ステップS17はソケットST2が2本目のコネクションを確立できたときソケットST1を送信用として設定するものである。
【0076】
なお、相手のゲートウエイ装置13のタイプやネットワーク11の状態などにも依存するが、ゲートウエイ装置12側からファクシミリ送信を行おうとする場合、ステップS15がNo側に分岐する可能性は、前記ステップS12がNo側に分岐する可能性よりも、はるかに高いものと考えられる。
【0077】
例えば、相手のゲートウエイ装置13が前記第3のタイプに属する1コネクション型である場合には、1本目のコネクションが確立されたとき、(もし送信すべき情報があれば)そのコネクションを用いて情報を送信してくるため、ゲートウエイ装置13によって2本目のコネクションの確立が試みられることもない。
【0078】
前記ステップS17で送信用コネクションの確立のための試みに関してタイムアウトが判定された場合には、その事実を示す情報を保存したうえで(S18)、受信用コネクションを確立するための試みに関してもタイムアウトが判定されているか否かを検査し(S19)、判定されている場合には、送信用コネクションも受信用コネクションも確立できないことが確定して接続処理が終了する(S24)。例えば、ネットワーク11に障害や輻輳状態が発生している場合や、相手のゲートウエイ装置13に障害が発生している場合などに、送信用コネクションも受信用コネクションも確立できないことが確定する。この場合には、ファクシミリ装置14を介して前記ユーザU1にその旨のメッセージを伝え、ファクシミリ送信ができないことを知らせるようにするとよい。
【0079】
ただし、受信用コネクションの確立のための試みに関してタイムアウトが判定されていない場合には、ステップS19がNo側に分岐して、前記ステップS10,S17,S18、S19によって構成されるループが繰り返し処理される。これは例えば図5(B)に対応する処理である。図5(B)の例では、受信用コネクションの確立のための試みに関してタイムアウトが判定されている(Listen TimeOut)が、実際には、タイムアウトが判定される前に相手のゲートウエイ装置13からConnect 信号が到来して受信用コネクションが確立できる可能性もある。
【0080】
ステップS20〜S22は、このステップS17〜S19と対応する処理となっている。すなわち、ステップS20は前記ステップS17に対応し、ステップS21は前記ステップS18と対応し、ステップS22は前記ステップS19と対応するので、その詳しい説明は省略する。
【0081】
ただし、ステップS21は受信用コネクションを確立するための試みに関してタイムアウトの判定がなされたときに処理され、ステップS22は、送信用コネクションを確立するための試みに関してもすでにタイムアウトが判定されているか否かが検査される。
【0082】
このステップS20〜S22およびS10によって構成されるループが繰り返し処理されるとき、図5(C)のステップS50〜S52に示すように、ゲートウエイ装置12のソケットST2からConnect 信号が繰り返し送信される。図5(C)の例では、ゲートウエイ装置12送信するConnect 信号が届くより先に、相手のゲートウエイ装置13が送信したConnect 信号がゲートウエイ装置12へ届いている(S53)。このステップS53により、ゲートウエイ装置12からみた受信用のコネクションが確立される。つづいて、ステップS54で、ゲートウエイ装置12が送信したConnect 信号が相手のゲートウエイ装置13まで届いて送信用のコネクションの確立が行われている。
【0083】
(A−3)実施形態の効果
本実施形態によれば、送信用コネクションおよび受信用コネクションの確立に失敗したことが確定するまでの時間(前記タイムアウト時間MT1,MT2が経過するまでの時間)であっても、ユーザ(U1)が、ファクシミリ通信を開始することができるため、リアルタイム性が高まる。
【0084】
(B)他の実施形態
上記実施形態にかかわらず、本発明はファクシミリ通信以外に適用することが可能である。
【0085】
なお、図1に示すフローチャートを変更できる点は、以上の説明から明らかである。
【0086】
例えば、上述したように、ゲートウエイ装置12と13のあいだに1本のコネクションが確立し、そのコネクションを用いて情報の送受が行えることが確認された時点で、2本目のコネクションを確立するための試みを中止するようにした場合には、フローチャートは図1とまったく異なるものとなる。
【0087】
また、前記アドレス解決は、呼制御サーバ側で実行してもよいことは当然である。
【0088】
さらに、本発明は、上記実施形態で用いた以外の通信プロトコルに適用できることは当然である。
【0089】
一例として、ネットワーク層の通信プロトコルとしてIPプロトコルの代わりにIPXプロトコルなどを用いることができる可能性がある。また、トランスポート層の通信プロトコルとしてTCPプロトコル以外のコネクション型通信プロトコルを用いることができる可能性もある。さらに、呼制御プロトコルとしては、SIPやMGCPなどを用いることもできる。
【0090】
以上の説明でハードウエア的に実現した機能の大部分はソフトウエア的に実現することができ、ソフトウエア的に実現した機能のほとんど全てはハードウエア的に実現することが可能である。
【図面の簡単な説明】
【0091】
【図1】実施形態にかかるファクシミリ通信システムの動作例を示すフローチャートである。
【図2】実施形態で使用するゲートウエイ装置の内部構成例である。
【図3】実施形態にかかるファクシミリ通信システムの全体構成例を示す概略図である。
【図4】実施形態で使用するゲートウエイ装置に関する主としてソフトウエア的な内部構成例を示す概略図である。
【図5】実施形態の動作例を示すシーケンス図である。
【図6】実施形態の動作例を示す概念図である。
【符号の説明】
【0092】
10…ファクシミリ通信システム、11…ネットワーク、12,13…ゲートウエイ装置、14,15…ファクシミリ装置、20…ネットワークインタフェース部、21…制御部、22…アナログインタフェース部、23…ソケット管理部、24…タイムアウト判定部、25…ゲートウエイ部、26…記憶部、40…OS、41…ネットワーク管理部、42…呼制御部、43…電話回線管理部、44…T.38FAX管理部、45…タイマ、ST1,ST2,ST11,ST21、ST22…ソケット。

【特許請求の範囲】
【請求項1】
通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信システムにおいて、
前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てるコネクション制御部を備えたことを特徴とする通信システム。
【請求項2】
通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信方法において、
前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てることを特徴とする通信方法。
【請求項3】
通信時に、1つの通信装置が送信用と受信用に1つずつ、合計2つのコネクションを確立し、当該通信装置内でトランスポート層の通信プロトコルを処理するトランスポート層エンティティとして、当該通信装置から情報を送信するときに機能する送信用ポートと受信するときに機能する受信用ポートを用いるコネクション型の通信プログラムにおいて、コンピュータに、
前記2つのコネクションうちの1つしか確立されない場合、所定のタイムアウト時間が経過する前であっても、その1つのコネクションに送信用ポートと受信用ポートを対応付けて、当該コネクションを送信用および受信用に割り当てるコネクション制御機能を実現させることを特徴とする通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−261958(P2006−261958A)
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願番号】特願2005−75458(P2005−75458)
【出願日】平成17年3月16日(2005.3.16)
【出願人】(503334150)株式会社沖テクノクリエーション (52)
【Fターム(参考)】