JP2006333034A - 通信方法、通信システム、通信装置、プログラム - Google Patents
通信方法、通信システム、通信装置、プログラム Download PDFInfo
- Publication number
- JP2006333034A JP2006333034A JP2005153335A JP2005153335A JP2006333034A JP 2006333034 A JP2006333034 A JP 2006333034A JP 2005153335 A JP2005153335 A JP 2005153335A JP 2005153335 A JP2005153335 A JP 2005153335A JP 2006333034 A JP2006333034 A JP 2006333034A
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication
- communication device
- transmission
- reception
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 500
- 238000004891 communication Methods 0.000 title claims abstract description 499
- 238000000034 method Methods 0.000 title claims description 283
- 238000012545 processing Methods 0.000 claims description 234
- 230000005540 biological transmission Effects 0.000 claims description 231
- 230000004044 response Effects 0.000 claims description 122
- 238000013500 data storage Methods 0.000 claims description 96
- 230000006870 function Effects 0.000 claims description 52
- 230000000903 blocking effect Effects 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 27
- 208000033748 Device issues Diseases 0.000 claims 1
- 238000012546 transfer Methods 0.000 abstract description 138
- 230000000977 initiatory effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 26
- 238000007630 basic procedure Methods 0.000 description 21
- 238000013507 mapping Methods 0.000 description 21
- 230000006872 improvement Effects 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 13
- 238000012790 confirmation Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 239000000470 constituent Substances 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004886 process control Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/253—Telephone sets using digital voice transmission
- H04M1/2535—Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】データ容量やネットワーク環境の影響を受けることなく、SIPの呼制御を利用してデータ転送ができるようにする。
【解決手段】送信端末と受信端末との間では、呼制御機能とデータ転送用の通信機能とをそれぞれ独立したプロトコルで行なうが、それぞれのプロトコルを組み合わせることによりデータ転送を実現する。この際、複数の通信方式のうちの一方の通信方式に従ってデータ通信を試行し、この試行に失敗したときには他方の通信方式に従ってデータ通信を試行する。複数の通信方式のうちの何れかを種々試行することで、データ容量やネットワーク環境などの影響を受けることなく、実環境に応じた適正な通信方式を決定して、その決定した通信方式に従って、端末間で直接にあるいはデータ保存手段を利用してデータ転送ができるようになる。
【選択図】図19
【解決手段】送信端末と受信端末との間では、呼制御機能とデータ転送用の通信機能とをそれぞれ独立したプロトコルで行なうが、それぞれのプロトコルを組み合わせることによりデータ転送を実現する。この際、複数の通信方式のうちの一方の通信方式に従ってデータ通信を試行し、この試行に失敗したときには他方の通信方式に従ってデータ通信を試行する。複数の通信方式のうちの何れかを種々試行することで、データ容量やネットワーク環境などの影響を受けることなく、実環境に応じた適正な通信方式を決定して、その決定した通信方式に従って、端末間で直接にあるいはデータ保存手段を利用してデータ転送ができるようになる。
【選択図】図19
Description
本発明は、通信方法、この通信方法を実行する通信システムおよび通信装置、並びに通信装置を制御するプログラムに関する。
複数の端末間での通信が可能なネットワークにおいては様々な形態のネットワークがある。伝送プロトコルとしてIP(Internet Protocol )を利用するIPネットワークが広く知られている。
また、IPネットワークでは、たとえば、IP電話やテレビ会議システムなどのように、音声や映像などのメディア通信を端末間で行なう仕組みも考えられており、企業ネットワークの構築など、近年、注目されている。
ここで、音声や映像などのメディア通信を行なうときには、たとえば、IP網に接続された端末間でメディア通信用のセッションの設定、変更、開放、完了応答などの呼制御をする必要があり、セッション制御用のプロトコルとして、SIP(Session Initiation Protocol )が注目されている。このSIPは、たとえば、IPネットワーク上で、電話の呼設定を実現するためのアプリケーション層プロトコルであり、IETF(Internet Engineering Task Force )で標準化されている。SIPは、アプリケーション層でセッションの設定に必要なIPアドレス情報や、発着端末間で使用するRTP(Real-time Transport Protocol)のIPアドレス情報の送受信に用いられる。RTPは、たとえば、IPパケットで音声を送るVoIP(Voice over IP )サービスや動画を送るサービスなどで使用される実時間データ転送プロトコルであり、IETF(Internet Engineering Task Force )で標準化されている。
たとえば、近年では、呼制御プロトコルとしてのSIPは、VoIP(インターネット電話)などを中心に広く用いられるようになり、SIPサーバを中心とするサービス基盤も整えられてきた。現在では、IM(インスタントメッセージング)サービスなどもSIPを用いて実現されることが多いが、SIPは端末間で音声ファイルや画像ファイルなどの実データの転送(ファイル転送ともいう)を実現する機能は有していない。このため、SIP以外の標準プロトコルや独自プロトコルを組み合わせることにより、このファイル転送機能を実現するいくつかの方式が提案されている(特許文献1,2を参照)。
しかしながら、特許文献1,2に記載の仕組みを始めとする従来の仕組みは、一般的なVoIPの呼制御では用いないSIPメッセージを利用するため、SIPサーバの種類によっては通信処理がデータ転送の完了前に遮断される、あるいはNAT(Network Address Translation )やファイアウォールを透過できない、などの問題があり、環境によらず通信を確実に行なうことのできる標準的な方法は存在しないのが現状である。
たとえば、SIPの呼制御における応答処理は通常直ちに行なわれる必要がある一方で、実データの転送(送受信)に要する時間はデータ容量に関わるのである程度の時間を要するので、SIPメッセージに直接にデータを添付して受信側に送信すると、要求される呼制御の応答処理期間内に実データの転送処理が完了しない場合が起こり得る。
また、通常、SIP端末においては、端末相互間で通信を行なう際、データ転送を行なうために双方向で1つずつのデータチャネルを開設する必要がある。また、データチャネルを開設するために呼接続を行なう必要があり、1つの呼接続チャネルと2つのデータチャネルを開設することになる。呼接続チャネルは通常、既知のポートが割り当てられているが、データチャネルは呼制御手順において動的に決定されるためファイアウォール越しに通信する場合や、ネットワーク通信装置がNATを介して通信を行なっている場合には、決定されたデータチャネルのポートがファイアウォールやNATを通過できず、通信ができなくなるという不具合を生じる。
本発明は、上記事情に鑑みてなされたものであり、データ容量やネットワーク環境の影響を受けることなく、データ通信を確実に行なうことのできる仕組みを提供することを目的とする。
本発明に係る仕組みにおいては、先ず、通信装置には、呼制御処理を行なう呼制御処理部と、データ転送処理を行なうデータ転送処理部と、通信処理に関わる動作を制御する制御部とを設ける。なお、データ転送処理部は、送信側の通信装置にあってはデータ送信処理部であり、受信側の通信装置にあってはデータ受信処理部である。呼制御処理部は、たとえばSIPに従った呼制御処理を行なうものであるのがよい。
データ通信処理に際しては、送信側と受信側の各通信装置間では、呼制御機能とデータ転送用の通信機能とをそれぞれ独立したプロトコルで行なうが、それぞれのプロトコルを組み合わせることにより、直接にまたはデータ保存手段(装置外部のものであってもよいし、自装置に内蔵のデータ保存部であってもよい)を介してデータ転送を実現する。
ここで、制御部は、複数の通信方式のうちの一方の通信方式に従ってデータ通信を試行し、この試行に失敗したときには他方の通信方式に従ってデータ通信を試行する点に大きな特徴を有する。
複数の通信方式のうちの何れかを種々試行することで、データ容量やネットワーク環境などの影響を受けることなく、実環境に応じた適正な通信方式を決定して、その決定した通信方式に従って、端末間で直接にあるいはデータ保存手段を利用してデータ転送ができるようになる。
また従属項に記載された発明は、本発明の仕組みのさらなる有利な具体例を規定する。さらに、本発明に係るプログラムは、本発明に係る通信処理を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なものである。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介した配信により提供されてもよい。
たとえば、データ容量および/または通信処理の面において低度の通信方式からより高度の通信方式の順に試行を行なうのがよい。たとえば、メッセージサイズやファイルデータサイズなどの取り扱い得る送信データ容量がより小容量である低度の通信方式から、扱い得る送信データ容量がより大容量である高度の通信方式の順に試行を行なうとよい。また、通信処理制御の側面においては、手順が少なく処理制御がより簡易である低度の通信方式から、手順が増え処理制御が複雑になるより高度の通信方式の順に試行を行なうとよい。より低度の通信方式からより高度の通信方式の順に試行を繰り返すようにすることで、その時点の環境に即した好適な通信方式を用いてデータ転送を効率よく行なうことができる。
また送信するデータを保存するデータ保存手段を設けておけば、データ送信の際にはデータ送信要求通知に直接にデータを添付するのではなく、送信するデータをデータ保存部に保存しておくことができる。この場合、送信側の通信装置の呼制御処理部は、データ保存部に保存したデータに対応する受信側の通信装置に公開可能なアドレスを受信側の通信装置に通知する。この通知を受けた受信側の通信装置は、送信側の通信装置からのデータ送信要求に対応する受信完了応答通知を何時行なうかに関わりなく、その公開可能なアドレスにアクセスすることで送信側の通信装置が公開するデータを取得することができる。
なお、データ保存手段は、送信側の通信装置に内蔵のものであってもよいし、外部に用意されたものを使用することもできる。ここで、送信側の通信装置に対しての外部からのアクセスを遮断するNATやファイアウォールなどの遮断手段が設けられているシステムの場合、送信側の通信装置の呼制御処理部は、送信するデータに対応した受信側の通信装置に公開可能なアドレスをNATなどの遮断手段から取得し、この取得したアドレスを受信側の通信装置に通知すればよい。
また、送信側の通信装置が、送信するデータに対応した受信側の通信装置に公開可能なアドレスをNATなどの遮断手段から取得する機能を備えていない場合には、送信側の通信装置に対して遮断手段の外側に配されている外部のデータ保存手段を利用することもできる。この場合にも、送信側の通信装置の呼制御処理部は、送信するデータに対応した受信側の通信装置に公開可能なアドレスをNATなどの遮断手段から取得し、この取得したアドレスを受信側の通信装置に通知すればよい。
何れの場合も、送信データに対応した公開アドレスを受信側に通知し、受信側では通知されたアドレスにアクセスするので、ファイアウォール越しに通信する場合や通信装置がNATを介して通信する場合でも、適切にデータ転送を行なうことができる。
また、受信側でのデータ受信処理を完了した時点で送信側に完了通知を行ない、送信側では、完了通知を受信した時点で、保存手段に保存しておいたデータを削除するのが望ましい。
本発明によれば、送信側と受信側の各通信装置間で、呼制御機能とデータ転送用の通信機能とをそれぞれ独立したプロトコルを組み合わせてデータ通信処理を行なうに際して、複数の通信方式のうちの何れか一方の通信方式に従ってデータ通信を試行し、この試行に失敗したときには他の通信方式に従ってデータ通信を試行するようにしたので、データ容量やネットワーク環境などの影響を受けることなく、データ通信を確実に行なうことができるようになる。
以下、図面を参照して本発明の実施形態について詳細に説明する。
なお、最初に、本実施形態で適用する各種通信方式についてその概要を説明し、その後に、これらの各種通信方式の中から実情に沿う最適なものを選択して、実際に通信を行なう手順について説明する。
<第1方式および第2方式を実現するシステム構成>
図1は、第1の通信方式や第2の通信方式(以下第1/第2方式ともいう)を実現するネットワークシステム構成の一例を示す図である。図示するように、この第1/第2方式用のネットワークシステム1は、送信側のデータ転送装置である送信端末22と、受信側のデータ転送装置である受信端末24と、WWW(HTTP;Hypertext Transfer Protocol )サーバやFTP(File Transfer Protocol)サーバ機能を持つSIP(Session Initiation Protocol)サーバ装置40とが、インターネットなどの通信網90に相互接続されて構成されている。
図1は、第1の通信方式や第2の通信方式(以下第1/第2方式ともいう)を実現するネットワークシステム構成の一例を示す図である。図示するように、この第1/第2方式用のネットワークシステム1は、送信側のデータ転送装置である送信端末22と、受信側のデータ転送装置である受信端末24と、WWW(HTTP;Hypertext Transfer Protocol )サーバやFTP(File Transfer Protocol)サーバ機能を持つSIP(Session Initiation Protocol)サーバ装置40とが、インターネットなどの通信網90に相互接続されて構成されている。
SIPサーバ装置40は、通信網90に接続された端末間でデータ通信用のセッションの設定、変更、開放、完了応答などの呼制御処理を行なう際の代行処理を行なうもので、プロキシ(proxy ;代理)機能を持つSIPプロキシサーバである。
受信端末24は、たとえばHTTP準拠のデータ送受信プロトコルを用いるWWWサーバのデータに対するブラウズ、他リンクへのジャンプ、記録出力、転送などの処理を行なうためのWWW通信機能を有する。送信端末22と受信端末24とを纏めてデータ通信装置20と呼ぶ。図では、送信端末22から受信端末24にデータを送信する点に着目して示しているが、アプリケーションによっては双方向通信を行なう場合もあり、この場合には、各データ通信装置20には、送信端末22と受信端末24の双方の機能が組み込まれることになる。
データ通信装置20としては、たとえばテレビ会議システムなどに用いられる画像通信装置が適用される。もちろん、画像通信装置に限らず、IP電話用の通信装置など、インターネット網などを利用する通信に適したその他の一般的な情報通信装置にも適用可能である。
これらデータ通信装置20(送信端末22および受信端末24)やSIPサーバ装置40には、たとえばCSMA/CD方式などによる通信機能を実現する機能部が設けられ、またそれらを認識するためのプライベートIPアドレスが割り当てられている。
ネットワークシステム1では、SIPサーバ装置40を介することで、データ通信装置20(送信端末22および受信端末24)間でSIPを利用して呼制御を行ない、また所定のデータを送信端末22から受信端末24に転送する。これにより、SIPサービス基盤上で呼接続が可能な端末間(本例では送信端末22と受信端末24との間)で、音声ファイルや画像ファイルなどの任意のデータファイルを転送することが可能となる。
これらの仕組みは、たとえば、インターネット電話(VoIP;Voice over IP)、インターネットテレビ電話、テレビ会議システム、あるいはインスタントメッセージング(IM;Instant Message)などの機能を有するデータ通信装置20を構成する機能部により実現される場合もあれば、これらに実装されるアプリケーションソフトウエアに搭載されることで実現される場合もある。
何れにしても、このようなネットワークシステム1においては、送信側のデータ通信装置20(送信端末22)はSIPサーバ装置40を介して受信側のデータ通信装置20(受信端末24)にデータ通信処理を要求し、また受信側のデータ通信装置20(受信端末24)は、SIPサーバ装置40を介して送信端末22にデータ通信処理の要求に対応した応答処理を発するが、送信端末22と受信端末24との間での実データの通信処理(データ転送処理)はSIPサーバ装置40を介することなく両端末間で直接に行なう。
<データ通信装置の構成例>
図2は、データ通信装置20の一構成例を示すブロック図である。図示するように、データ通信装置20は、画像処理や通信処理などに関わる処理を行なうアプリケーション部210と、データ通信装置20の各部を制御するコントローラ部220と、HTTPプロトコルに従ってデータ転送のための通信処理を行なうHTTPプロトコル処理部232およびFTPプロトコルに従ってデータ転送のための通信処理を行なうFTPプロトコル処理部234などの各種のプロトコル処理部を有するデータ転送プロトコル処理部230と、SIPプロトコルに従ってデータ転送のための通信処理(特に呼制御処理)を行なうSIPプロトコル処理部(SIP_UA)250と、データ転送プロトコル処理部230が送信するデータを一時保管するデータ保存手段としての一時データ保存部260とを備えている。つまり、送信するデータを一時保管するデータ保存手段の一例であるデータ保存部を、送信端末22が内蔵している。
図2は、データ通信装置20の一構成例を示すブロック図である。図示するように、データ通信装置20は、画像処理や通信処理などに関わる処理を行なうアプリケーション部210と、データ通信装置20の各部を制御するコントローラ部220と、HTTPプロトコルに従ってデータ転送のための通信処理を行なうHTTPプロトコル処理部232およびFTPプロトコルに従ってデータ転送のための通信処理を行なうFTPプロトコル処理部234などの各種のプロトコル処理部を有するデータ転送プロトコル処理部230と、SIPプロトコルに従ってデータ転送のための通信処理(特に呼制御処理)を行なうSIPプロトコル処理部(SIP_UA)250と、データ転送プロトコル処理部230が送信するデータを一時保管するデータ保存手段としての一時データ保存部260とを備えている。つまり、送信するデータを一時保管するデータ保存手段の一例であるデータ保存部を、送信端末22が内蔵している。
アプリケーション部210は、コントローラ部220と接続されており、データ転送相手装置の発見およびデータ転送を実現する機能を持つ。コントローラ部220は、少なくとも、通信処理に関わる動作を制御する機能を持ち、アプリケーション部210やデータ転送プロトコル処理部230やSIPプロトコル処理部250や一時データ保存部260を適宜制御する。
データ転送プロトコル処理部230は、実データの通信処理(データ転送処理)を行なうデータ転送処理部の一例であって、送信端末22にあってはデータ送信処理部、受信端末24にあってはデータ受信処理部となる。これに対して、SIPプロトコル処理部250は、呼制御処理部の一例であって、SIPおよびSDP(Session Description Protocol:詳細はRFC2327を参照)を用いて、通信網90に接続された端末間でデータ通信用のセッションの設定、変更、開放、受信完了応答通知などの呼制御処理を行なう。
一時データ保存部260は、データ転送プロトコル処理部230のHTTPプロトコル処理部232およびFTPプロトコル処理部234と内部接続され、送受信されるデータの処理領域として利用されるもので、このデータ通信装置20に内蔵のデータ保存手段である。なお、第1の通信方式を実行するに当たっては、この一時データ保存部260は不要である。
<第1の通信方式>
図3は、図1に示したネットワークシステム1における第1の通信方式の手順を説明するシーケンス図である。また、図4は、第1の通信方式で用いられるリクエストメッセージ(データ送信要求通知)の一例を示す図である。ここでは、SIPのリクエストメッセージがデータ転送に用いられていることを示すために、リクエストURI(Uniform Resource Identifier )にパラメータ(user=data)を付加するものとする。後述する他の通信方式においても同様である。
図3は、図1に示したネットワークシステム1における第1の通信方式の手順を説明するシーケンス図である。また、図4は、第1の通信方式で用いられるリクエストメッセージ(データ送信要求通知)の一例を示す図である。ここでは、SIPのリクエストメッセージがデータ転送に用いられていることを示すために、リクエストURI(Uniform Resource Identifier )にパラメータ(user=data)を付加するものとする。後述する他の通信方式においても同様である。
この第1の通信方式は、送信端末22と受信端末24との間に外部からのリクエストを遮断するネットワークアドレス変換装置(NAT;Network Address Translation )装置やファイアウォール(FW;FireWall)装置が存在せず、送信側のデータ通信装置20(送信端末22;グローバルIP=“1.2.3.4”)が外部から接続可能な場合であって、またデータ容量が少ない場合に用いて好適な通信方式である。なお、この第1の通信方式の処理手順は、特開2005−051445号公報の図1に示されているものと基本的には同じである。
先ず送信端末22(T1)は、FTPなどのデータ転送用の標準プロトコルを利用して接続可能な状態にし、呼制御用信号(INVITE信号やその他の信号)を送信メッセージ中に記述する。たとえば、自端末アドレスや受信端末アドレスやサーバアドレスなどの必要な情報をINVITEメソッドやMESSAGEメソッドなどの、SIPリクエストメッセージ中に記述する。
また、送信端末22は、第1の通信方式の特徴部分として、SIPのリクエストメッセージのボディ部に、転送するデータを直接付加して、SIPサーバ装置40(SIP Server)に送信する。図では、INVITEメソッドを採用し、INVITEリクエストメッセージにJPEG画像データを付加した場合を示している。
INVITEリクエストメッセージを受信したSIPサーバ装置40は、INVITEリクエストメッセージ中のINVITE sipヘッダに付加されているデータ転送先の受信端末24(T2)に、そのINVITEリクエストメッセージの必要部分を転送する。このINVITEリクエストメッセージが転送された受信端末24は、受信応答を示す応答メッセージ“200 OK”を、SIPサーバ装置40を介して送信端末22に返す。この応答メッセージ“200 OK”を受信した送信端末22は、その確認応答を示す応答メッセージ“ACK ”を、SIPサーバ装置40を介して受信端末24に返す。
ここで、第1の通信方式においては、図4に示すように、INVITEリクエストメッセージ(A)中のContent-Typeヘッダに付加するデータの種類(図ではimage/jpeg)を記述するとともに、Content-Lengthヘッダに付加するデータのサイズ(図中ではxxx)を記述する。
このように、第1の通信方式では、送信側から受信側に送るデータ送信要求通知に送信するデータを添付するようにしたので、後述する第2〜第4の通信方式と比べると低レベルの通信方式ではあるもの、応答処理期間内で完結できる程度にデータ容量が少ない場合には、複雑な処理を伴うことなく、データ通信を確実に行なうことができる。
ただし、図3から明らかなように、SIPの呼制御における応答処理が直ちに行なわれるので、実データの容量が大きい場合には、転送(送受信)処理の完了以前に受信完了応答通知が発せられることも起こり得る。その最大の理由は、SIPのプロトコル仕様上メッセージサイズに制約があることであり、送信データ容量の面においては、後述する第2の通信方式などよりは低度の通信方式である。
この場合、既存のSIPサーバ(本実施形態のSIPサーバ装置40に相当)はサイズの大きいSIPメッセージを遮断するものが多く、受信完了応答通知を受信端末24から受信した送信端末22において通信処理を終了させてしまうと、実際には、実データの転送処理が適正に完了しない場合が起こり得る。この問題を解消する仕組みが、より大容量のデータを扱い得る、送信データ容量の面においてより高度な通信方式である、次の第2の通信方式などである。
<第2の通信方式>
図5は、図1に示したネットワークシステム1における第2の通信方式の基本手順を説明するシーケンス図である。また、図6は、第2の通信方式の基本手順で用いられるリクエストメッセージ(A)、ゲットメッセージ(B)、およびデータ送信時の応答メッセージ(C)の一例を示す図である。また、図7は、第2の通信方式の改良手順を説明するシーケンス図である。
図5は、図1に示したネットワークシステム1における第2の通信方式の基本手順を説明するシーケンス図である。また、図6は、第2の通信方式の基本手順で用いられるリクエストメッセージ(A)、ゲットメッセージ(B)、およびデータ送信時の応答メッセージ(C)の一例を示す図である。また、図7は、第2の通信方式の改良手順を説明するシーケンス図である。
この第2の通信方式は、送信端末22と受信端末24との間に外部からのリクエストを遮断するNAT装置やFirewall装置が存在しない点で第1の通信方式と共通するが、データ容量が所定値よりも大きい場合に用いて好適な通信方式であり、送信側のデータ通信装置20においては、送信するデータを一時データ保存部260に格納するとともに、データ転送プロトコル処理部230から外部に公開するHTTPやFTPのURLを取得してSIPのINVITEリクエストメッセージ中に記述し、受信側のデータ通信装置20からそのURLに対しHTTPやFTPなどでデータの取得を実行する点に特徴を有する。なお、この第2の通信方式の処理手順は、特開2004−147128号公報の図4に示されているものと基本的には同じである。
先ず図5に示す基本手順においては、送信端末22(T1)は、送信するデータを一時データ保存部260(T1−work)に格納し(図中のPut [Data] )、HTTPなどのデータ転送用の標準プロトコルを利用して接続可能な状態にし、アドレスやパスなどの必要な情報をINVITEメソッドやMESSAGEメソッドなどの、SIPリクエストメッセージ中に記述する。また、送信端末22は、第2の通信方式の特徴部分として、SIPのINVITEリクエストメッセージ中に、送信するデータに対応する受信端末24に公開可能なアドレス、たとえばHTTPのURLを記述して、データ送信要求を、SIPサーバ装置40(SIP Server)を介して受信端末24に発する。
この際には、送信端末22は、一時データ保存部260に送信するデータを格納しておき、データ転送プロトコル処理部230(HTTPプロトコル処理部232やFTPプロトコル処理部234)から外部に公開するURL(Uniform Resource Locators )を取得し、これを図6(A)に示すように、INVITEリクエストメッセージ(A)中のContent-Typeヘッダに記述する。この例では、URLを“http://1.2.3.4/someimage.jpeg”としている(図中の*3印行を参照)。
なお、このとき、図6(A)に示すように、INVITEリクエストメッセージ(A)中のContent-Typeヘッダに付加するデータの種類(図ではmessage/external−body;)を記述するとともに、ACCESS−TYPEヘッダにアクセスの種類(図中ではURL)を記述する。
INVITEリクエストメッセージを受信したSIPサーバ装置40は、INVITEリクエストメッセージ中のINVITE sipヘッダに付加されているデータ転送先の受信端末24(T2)に、そのINVITEリクエストメッセージの必要部分を転送する。このINVITEリクエストメッセージが転送された受信端末24は、受信応答を示す応答メッセージ“200 OK”を、SIPサーバ装置40を介して送信端末22に返す。この応答メッセージ“200 OK”を受信した送信端末22は、その確認応答を示す応答メッセージ“ACK ”を、SIPサーバ装置40を介して受信端末24に返す。
応答メッセージ“ACK ”を受信した受信端末24は、INVITEリクエスト中のContent-Typeヘッダに記述されたデータ転送プロトコルの種類やアドレス情報に基づいて、WWW通信機能を用いて送信側のデータ通信装置20から通信データを受信する。たとえば、図6(B)に示すようなゲットメッセージ(B)を送信端末22に発してデータの取得を試みる。ここでは、“http://1.2.3.4/someimage.jpeg HTTP/1.0”を送信端末22に発する。このゲットメッセージ(B)を受信した送信端末22は、図6(C)に示すような、データ付きの応答メッセージ(C)“200 OK”を受信端末24に送信する。
このように、第2の通信方式では、送信端末22と受信端末24との間で、呼制御機能とデータ転送用の通信機能とをそれぞれ独立したプロトコルを組み合わせてデータ通信処理を行なうようにしたので、送信端末22からのデータ送信要求に対応する受信完了応答通知を受信端末24において何時行なうかに関わりなく、データ保存手段に保存しておいたデータを受信側に確実に転送することができる。実データの転送処理が完了していない時点で受信端末24のSIPプロトコル処理部250から受信完了応答通知が発せられ送信端末22のSIPプロトコル処理部250がそれを受信しても、双方のデータ転送プロトコル処理部230間でデータ転送処理を継続することができるからである。
<第2の通信方式の改良手順>
ここで、第2の通信方式の基本手順では、データ送信の初期段階で送信データを一時データ保存部260に格納するが、その後、この一時保存した送信データ(一時データの一例)を削除可能であるかどうかを送信端末22自身で適切かつ効率的に判断することができないという問題がある。
ここで、第2の通信方式の基本手順では、データ送信の初期段階で送信データを一時データ保存部260に格納するが、その後、この一時保存した送信データ(一時データの一例)を削除可能であるかどうかを送信端末22自身で適切かつ効率的に判断することができないという問題がある。
たとえば、受信端末24からの受信完了応答通知を受信したことをもってデータを削除することが考えられるが、図5から明らかなように、SIPの呼制御における応答処理は直ちに行なわれるので、実データの転送(送受信)処理以前にデータを削除することになるので採用できない。また、一時データ保存部260の容量は有限であるから、無限に保存すると、容量オーバーになった段階で第2の通信方式を実現できなくなる。あるいは、容量オーバーになった段階で古いものから順次削除することも考えられるが、この場合、本当に削除してよいものであったのかどうかの確認ができない。
そこで、本実施形態では、この第2の通信方式が持つ問題を解消するべく、以下のような仕組みを採る。すなわち、この問題を解決するためには、HTTPなどのデータ転送プロトコルによるデータ転送の処理結果を、送信側のデータ通信装置20である送信端末22に通知されなければならない。SIPサーバ装置40との接続性やネットワークトラフィックなどの観点から、この通知は拡張などを含まない通常のSIPレスポンスにより行なわれるべきである。多くのSIPリクエストは、プロトコル仕様上直ちにレスポンスが送信されなければならず、一定時間(t0)以内にレスポンスが返されない場合リクエストは失敗したと扱われてしまう。しかしながら、HTTPなどのデータ転送プロトコルによるデータ送信にはt0以上の時間を要することが大半である。
この問題は、一旦、受信端末24から送信端末22に暫定レスポンスを送信することで対処し得る。本例の場合、最終レスポンスの送信を延期できる唯一のリクエストである、INVITEリクエストを暫定レスポンスに利用するのが好適であり、これにより、前述の問題を解決することができる。
つまり、HTTPなどのデータ転送プロトコルを利用して送信端末22と受信端末24との間で実際のデータ転送を行なう第2の通信方式では、図7に示す改良手順のように、送信側のデータ通信装置20(送信端末22;T1)はINVITEリクエストによりURLなどの情報を、SIPサーバ装置40を介して、受信側のデータ通信装置20(受信端末24;T2)に通知する。INVITEリクエストメッセージが転送された受信端末24は、受信完了応答通知である受信完了応答を示す応答メッセージ“200 OK”を即時に返さずに、一旦、たとえば“183 Session Progress”などの暫定レスポンスをSIPサーバ装置40を介して送信端末22に送信することで、最終応答の送信を延期する。
そして、受信端末24は、HTTPなどのデータ転送プロトコルによるデータの取得を行なう。つまり、INVITEリクエスト中のContent-Typeヘッダに記述されたデータ転送プロトコルの種類やアドレス情報に基づいて、図6(B)に示すようなゲットメッセージ(B)を送信端末22に発してデータの取得を試みる。このゲットメッセージ(B)を受信した送信端末22は、図6(C)に示すような、データ付きの応答メッセージ“200 OK”を受信端末24に送信する。
受信端末24は、このデータ受信が完了した時点で、受信完了応答(ここでは特に最終レスポンス)を示す応答メッセージ“200 OK”を、SIPサーバ装置40を介して送信端末22に返す。
この応答メッセージ(最終レスポンス)“200 OK”を受信した送信端末22は、その確認応答を示す応答メッセージ“ACK ”を、SIPサーバ装置40を介して受信端末24に返す。また、応答メッセージ(最終レスポンス)“200 OK”を受信することにより、一時データ保存部260は、一時保存した送信データを削除する。受信端末24側でのデータ受信処理が完了しているので、一時データ保存部260は、安全かつ確実にデータを削除することができる。
なお、図7に点線で示すように、受信端末24がデータ転送プロトコルによるデータの取得に失敗した場合には、“404 Not Found ”などの失敗応答をSIPサーバ装置40を介して送信端末22に送信する。この失敗応答を受信した送信端末22は、この第2の通信方式によるデータ転送に失敗したことを判断することができる。この場合、送信端末22は、一時データ保存部260からの一時保存した送信データの削除を行なわず、同じ第2の通信方式もしくはさらに高度な通信方式での通信を試みる。
<第3方式を実現するシステム構成>
図8は、第3の通信方式(以下第3方式ともいう)を実現するネットワークシステム構成の一例を示す図である。この第3方式のネットワークシステム1は、送信端末22がNAT装置やファイアウォール装置などの外部からのアクセスを遮断する遮断手段の配下に存在し、第2の通信方式と同一の方法では受信端末24からデータ転送プロトコルでの接続を行なうことができない、つまり送信側のデータ通信装置20(送信端末22)が外部から接続不可能な場合であって、プラグ・アンド・プレイ仕様のUPnP(Universal Plug and Play )などのNAT装置やファイアウォールを制御するための手段が提供されている場合に用いて好適な通信方式である。
図8は、第3の通信方式(以下第3方式ともいう)を実現するネットワークシステム構成の一例を示す図である。この第3方式のネットワークシステム1は、送信端末22がNAT装置やファイアウォール装置などの外部からのアクセスを遮断する遮断手段の配下に存在し、第2の通信方式と同一の方法では受信端末24からデータ転送プロトコルでの接続を行なうことができない、つまり送信側のデータ通信装置20(送信端末22)が外部から接続不可能な場合であって、プラグ・アンド・プレイ仕様のUPnP(Universal Plug and Play )などのNAT装置やファイアウォールを制御するための手段が提供されている場合に用いて好適な通信方式である。
通信処理制御の面においては、第2方式よりは手順が多くより複雑な処理制御が必要となり、より高度の通信方式にはなるが、NAT装置やファイアウォールが存在することで第2方式(通信処理制御の面で第3方式よりも低度の通信方式)では対処できない環境下においても、この第3方式を適用することで対処可能となる。
具体的には、図示するように、この第3方式用のネットワークシステム1は、第1/第2方式用のネットワークシステム1に対して、データ通信装置20と通信網90との間に、外部からのアクセスを遮断するネットワークアドレス変換(NAT)装置やファイアウォール(FW)装置などの遮断装置70が設けられている点に特徴を有する。
ここで、NAT装置は、閉域網であるLAN(Local Area Network)内のプライベートアドレスを有する通信端末と、インターネット内のグローバルアドレスを有する通信端末との間で通信を行なうためにアドレス変換を行なうものである。通常、インターネットに接続されるLANは、セキュリティ上の理由などから、プライベートIP(Internet Protocol )と呼ばれるローカルな環境のみで利用されるIPアドレスを振るのが一般的であるが、この場合には、LAN内の端末からインターネットにアクセスをするには、外のネットワークとの接合点で接続要求端末のプライベートIPアドレスをインターネットで利用されるグローバルIPアドレスに変換する必要があり、NATによりこれを実現するようになっている。
FW装置は、インターネットとLANとの間に置かれ、データ通信を管理し、外部からの攻撃や不正アクセスから内部ネットワークを守るものである。一例として、マルチホームのホスト(複数のネットワークに接続されている装置)がある規則に従ってパケットを転送したりブロックしたりするパケット・フィルタリング・ルータ型のものや、マルチホームのホスト上でカーネルによるパケット転送を禁止しデーモンにより認証とパケット転送を行なうプロキシサーバ型のものや、この両者を組み合わせたものなどを用いることができる。
<第3の通信方式>
図9は、図8に示したネットワークシステム1における第3の通信方式の基本手順を説明するシーケンス図である。また、図10〜図12は、第3の通信方式の基本手順で用いられる各種のメッセージの一例を示す図である。また、図13は、第3の通信方式の改良手順を説明するシーケンス図である。
図9は、図8に示したネットワークシステム1における第3の通信方式の基本手順を説明するシーケンス図である。また、図10〜図12は、第3の通信方式の基本手順で用いられる各種のメッセージの一例を示す図である。また、図13は、第3の通信方式の改良手順を説明するシーケンス図である。
この第3の通信方式は、送信側のデータ通信装置20(送信端末22;プライベートIP=“1.2.3.100 ”)においては、送信するデータを一時データ保存部260に格納するとともに、データ転送プロトコル処理部230から外部に公開するHTTPやFTPのURLを取得する点で第2の通信方式と共通するが、UPnPを利用してNAT装置やFW装置などの遮断装置70においてこのURLに対応する外部アドレスポートを作成・取得し、これをINVITEリクエストメッセージ中に記述し、受信側のデータ通信装置20(受信端末24)からそのURLに対しHTTPやFTPなどでデータの取得を実行する点に特徴を有する。
具体的には、先ず図9に示す基本手順においては、第2の通信方式と同様に、送信端末22(T1)は、送信するデータを一時データ保存部260(T1−work)に格納し(図中のPut [Data] )、HTTPなどのデータ転送用の標準プロトコルを利用して接続可能な状態にする。また、送信端末22は、第3の通信方式の特徴部分として、UPnPを利用してNAT装置やFW装置などの遮断装置70からHTTPのURLに対応する外部アドレスポートを取得する。
この際には、送信端末22は、一時データ保存部260に送信するデータを格納しておき、データ転送プロトコル処理部230(HTTPプロトコル処理部232やFTPプロトコル処理部234)から外部に公開するURL(Uniform Resource Locators )を取得すると、先ずUPnPを利用してNAT装置やFW装置などの遮断装置70に対して、図10(A)に示すような、アドレス変換を要求する外部IPアドレス要求メッセージ(Get External IP Address (A))を発する。外部IPアドレス要求メッセージを受信した遮断装置70は、URLの対応する外部公開用のIPアドレスを生成し、図10(B)に示すように、その外部IPアドレスを含む応答メッセージ(Get External IP Address Response(B))を送信端末22に返す。この例では、新しい外部IPアドレス(グローバルアドレス)として“10.20.30.40”を設定している(図中の*印行を参照)。
この応答メッセージを受信した送信端末22は、外部公開用のポートと、公開用のプロトコルと、公開用の内部ポートと、その内部ポートを開放するクライアント(送信端末22自身)とを対応付け、そのポートマッピング情報を含む図11(A)に示すようなポートマッピングメッセージ(Add Port Mapping(C))を遮断装置70に発する。このポートマッピングメッセージを受信した遮断装置70は、図11(B)に示すような応答メッセージ(Add Port Mapping Response(D) )を送信端末22に返す。この例では、外部公開用のポートを“10080 ”、公開用の内部ポートを“80”、公開用のプロトコルを“TCP ”に設定している(図中の*印行を参照)。遮断装置70は、自身が備えるポートマッピング用のデータ保持部にこのポートマッピングの情報を記憶しておき、送信端末22と受信端末24との間でのこのポートマッピングに従った通信を許可するようにする。
応答メッセージを受信した送信端末22は、NAT装置やFW装置などの遮断装置70を利用して取得した情報を反映させて、図12(A)に示すように、外部IPアドレスやパスとともに外部に公開するURL(図では“http://10.20.30.40:10080/someimage.jpeg ”などの必要な情報をINVITEリクエストメッセージ(E)中のContent-Typeヘッダに記述して(図中の*1,*2,*3印行を参照)、SIPサーバ装置40(SIP Server)に送信する。
INVITEリクエストメッセージを受信したSIPサーバ装置40は、INVITEリクエストメッセージ中のINVITE sipヘッダに付加されているデータ転送先の受信端末24(T2)に、そのINVITEリクエストメッセージの必要部分を転送する。このINVITEリクエストメッセージが転送された受信端末24は、受信応答を示す応答メッセージ“200 OK”を、SIPサーバ装置40を介して送信端末22に返す。この応答メッセージ“200 OK”を受信した送信端末22は、その確認応答を示す応答メッセージ“ACK ”を、SIPサーバ装置40を介して受信端末24に返す。
応答メッセージ“ACK ”を受信した受信端末24は、INVITEリクエスト中のContent-Typeヘッダに記述されたデータ転送プロトコルの種類やアドレス情報に基づいて、図12(B)に示すようなゲットメッセージ(F)を送信端末22に発してデータの取得を試みる。ここでは、“http://10.20.30.40:10080/someimage.jpeg ”を送信端末22に発する。図8に示すネットワークシステム1では、受信端末24からの送信端末22への要求メッセージが遮断装置70を通ることになるので、通常であればその要求メッセージは遮断されるのであるが、予め、外部アクセスを許可するためのポートマッピングが設定されているので、送信端末22と受信端末24との間でのそのポートマッピングに従った通信が許可されることになる。このゲットメッセージ(F)を受信した送信端末22は、図12(C)に示すような、データ付きの応答メッセージ(G)“200 OK”を受信端末24に送信する。
つまり、第3の通信方式では、送信側のデータ通信装置20(送信端末22)における処理は第2の通信方式と異なるが、受信側のデータ通信装置20(受信端末24)では、アクセスするURLが異なるだけで、第2の通信方式と同じ手順でデータを取得することができる。
このように、第3の通信方式では、送信側の通信装置に対しての外部からのアクセスを遮断するNATやファイアウォールなどの遮断手段が設けられているシステムの場合に、送信端末22のSIPプロトコル処理部250が、送信するデータに対応した受信端末24に公開可能なアドレスをNATなどの遮断装置70から取得し、この取得したアドレスを受信端末24に通知するようにしたので、受信端末24側では、通知されたアドレスにアクセスすることで、ファイアウォール越しであっても適切にデータを受信することができる。
<第3の通信方式の改良手順>
ここで、第3の通信方式の基本手順では、データ送信の初期段階で、第2の通信方式と同様に送信データを一時データ保存部260に格納するし、さらにUPnPなどによりアドレス変換処理やポートマッピング作成処理などを行なうが、その後、一時保存した送信データ(一時データの一例)を削除可能であるかどうかを送信端末22自身で適切かつ効率的に判断することができないし、ポートマッピング情報(一時データの他の一例)を削除可能であるかどうかを遮断装置70自身で適切かつ効率的に判断することができないという問題がある。
ここで、第3の通信方式の基本手順では、データ送信の初期段階で、第2の通信方式と同様に送信データを一時データ保存部260に格納するし、さらにUPnPなどによりアドレス変換処理やポートマッピング作成処理などを行なうが、その後、一時保存した送信データ(一時データの一例)を削除可能であるかどうかを送信端末22自身で適切かつ効率的に判断することができないし、ポートマッピング情報(一時データの他の一例)を削除可能であるかどうかを遮断装置70自身で適切かつ効率的に判断することができないという問題がある。
一時データ保存部260や遮断装置70が備えるポートマッピング用のデータ保持部の容量は有限であるから、無限に保存すると、容量オーバーになった段階で第3の通信方式を実現できなくなる。あるいは、容量オーバーになった段階で古いものから順次削除することも考えられるが、この場合、本当に削除してよいものであったのかどうかの確認ができない。
そこで、本実施形態では、この第3の通信方式が持つ問題を解消するべく、以下のような仕組みを採る。すなわち、この問題を解決するためには、第2の通信方式の改良手順と同様に、一旦、受信端末24から送信端末22に暫定レスポンスを送信することで対処することができ、本例の場合にも、最終レスポンスの送信を延期できる唯一のリクエストである、INVITEリクエストを暫定レスポンスに利用するのが好適であり、これにより、前述の問題を解決することができる。
つまり、NAT装置やFW装置などの遮断装置70においてURLに対応する外部アドレスポートを作成・取得するとともに、HTTPなどのデータ転送プロトコルを利用して送信端末22と受信端末24との間で実際のデータ転送を行なう第3の通信方式では、図13に示す改良手順のように、第2の通信方式と同様に、INVITEリクエストメッセージが転送された受信端末24は、受信完了応答を示す応答メッセージ“200 OK”を即時に返さずに、一旦、たとえば“183 Session Progress”などの暫定レスポンスをSIPサーバ装置40を介して送信端末22に送信することで、最終応答の送信を延期する。
また、応答メッセージ(最終レスポンス)“200 OK”を受信した送信端末22は、UPnPを利用してNAT装置やFW装置などの遮断装置70に対して、ポートマッピングの削除指示(Delete Port Mapping )を発する。この削除指示を受信した遮断装置70は、保存しておいたポートマッピング情報を削除するとともに、その応答メッセージ(Delete Port Mapping Response)を送信端末22に返す。この応答メッセージを受信した送信端末22は、ポートマッピングが削除された後に、一時保存した送信データを一時データ保存部260から安全かつ確実に削除することができる。なお、ここでは、ポートマッピングの削除指示とその応答確認の後に一時保存した送信データを削除するようにしているが、先に一時保存した送信データを削除してからポートマッピングの削除指示を発するようにしてもよい。
なお、図13に点線で示すように、受信端末24がデータ転送プロトコルによるデータの取得に失敗した場合には、“404 Not Found ”などの失敗応答をSIPサーバ装置40を介して送信端末22に送信する。この失敗応答を受信した送信端末22は、この第3の通信方式によるデータ転送に失敗したことを判断することができる。この場合、送信端末22は、遮断装置70に対するポートマッピング情報の削除指示や一時データ保存部260からの一時保存した送信データの削除を行なわず、同じ第3の通信方式もしくはさらに高度な通信方式での通信を試みる。
<第4方式を実現するシステム構成>
図14は、第4の通信方式(以下第4方式ともいう)を実現するネットワークシステム構成の一例を示す図である。この第4方式のネットワークシステム1は、送信端末22がNAT装置やFW装置の配下に存在し、第2の通信方式と同一の方法では受信端末24からデータ転送プロトコルでの接続を行なうことができない、つまり送信側のデータ通信装置20(送信端末22)が外部から接続不可能な場合であって、さらにNAT装置やFW装置を制御するための手段も提供されていないが、NAT装置やFW装置の外部(つまりインターネットなどの通信網90側)に存在する一時データ保存装置を利用できる場合に用いて好適な通信方式である。
図14は、第4の通信方式(以下第4方式ともいう)を実現するネットワークシステム構成の一例を示す図である。この第4方式のネットワークシステム1は、送信端末22がNAT装置やFW装置の配下に存在し、第2の通信方式と同一の方法では受信端末24からデータ転送プロトコルでの接続を行なうことができない、つまり送信側のデータ通信装置20(送信端末22)が外部から接続不可能な場合であって、さらにNAT装置やFW装置を制御するための手段も提供されていないが、NAT装置やFW装置の外部(つまりインターネットなどの通信網90側)に存在する一時データ保存装置を利用できる場合に用いて好適な通信方式である。
通信処理制御の面においては、第3方式よりはさらに手順が増え複雑な処理制御が必要となり、さらに高度の通信方式にはなるが、NAT装置やファイアウォールが存在しかつ自装置にはその制御手段が存在しないことで第3の通信方式(通信処理制御の面で第4方式よりも低度の通信方式)では対処できない環境下においても、この第4方式を適用することで対処可能となる。
具体的には、図示するように、この第4方式用のネットワークシステム1は、第3方式用のネットワークシステム1に対して、送信端末22のデータ転送プロトコル処理部230が送信するデータを一時保管するデータ保存手段としての一時データ保存装置80(グローバルIP=“10.20.30.100)”が遮断装置70に接続されている。なお、図中点線で示すように、一時データ保存装置80は、通信網90に直接に接続されていてもよい。
一時データ保存装置80は、遮断装置70の送信端末22に対して外側(つまり通信網90側)の外部機器(本例では特に受信端末24)から自由に接続可能なデータ転送装置の一例であるとともに、送信端末22が備える一時データ保存部260と同様に、送信端末22のデータ転送プロトコル処理部230のHTTPプロトコル処理部232およびFTPプロトコル処理部234とネットワーク接続され、送受信されるデータの処理領域として利用される装置である。
<一時データ保存装置の構成例>
図15は、第4方式用のネットワークシステム1にて用いられる一時データ保存装置80の一構成例を示すブロック図である。図示するように、一時データ保存装置80は、HTTPプロトコルに従ってデータ転送のための通信処理を行なうHTTPプロトコル処理部832およびFTPプロトコルに従ってデータ転送のための通信処理を行なうFTPプロトコル処理部834などの各種のプロトコル処理部を有するデータ転送プロトコル処理部830と、データを一時保管する一時データ保存部860とを備えている。なお、図示を割愛するが、一時データ保存装置80の各部を制御するコントローラ部も必要に応じて設けられてもよいし、コントローラ部を設けない場合には、外部のデータ通信装置20が直接にリモートで一時データ保存装置80の各部を制御するようにしてもよい。
図15は、第4方式用のネットワークシステム1にて用いられる一時データ保存装置80の一構成例を示すブロック図である。図示するように、一時データ保存装置80は、HTTPプロトコルに従ってデータ転送のための通信処理を行なうHTTPプロトコル処理部832およびFTPプロトコルに従ってデータ転送のための通信処理を行なうFTPプロトコル処理部834などの各種のプロトコル処理部を有するデータ転送プロトコル処理部830と、データを一時保管する一時データ保存部860とを備えている。なお、図示を割愛するが、一時データ保存装置80の各部を制御するコントローラ部も必要に応じて設けられてもよいし、コントローラ部を設けない場合には、外部のデータ通信装置20が直接にリモートで一時データ保存装置80の各部を制御するようにしてもよい。
データ転送プロトコル処理部830やその内部の各種のプロトコル処理部は、データ転送プロトコル処理部230などと同様の機能を備えたものである。一時データ保存部860は、一時データ保存部260と同様の機能を備えたものであり、データ転送プロトコル処理部230のHTTPプロトコル処理部232およびFTPプロトコル処理部234と内部接続され、送受信されるデータの処理領域として利用される。
<第4の通信方式>
図16は、図14に示したネットワークシステム1における第4の通信方式の基本手順を説明するシーケンス図である。また、図17は、第4の通信方式の基本手順で用いられる各種のメッセージの一例を示す図である。また、図18は、第4の通信方式の改良手順を説明するシーケンス図である。
図16は、図14に示したネットワークシステム1における第4の通信方式の基本手順を説明するシーケンス図である。また、図17は、第4の通信方式の基本手順で用いられる各種のメッセージの一例を示す図である。また、図18は、第4の通信方式の改良手順を説明するシーケンス図である。
第1の通信方式では、一時データ保存部260が送信端末22内に内蔵されているのに対して、この第4の通信方式では、一時データ保存装置80が送信端末22外においてNAT装置やFW装置の外部から接続可能な状態で配置されているが、基本的な手順は第2の通信方式と同様である。
なお、送信端末22と一時データ保存装置80との間には、NAT装置やFW装置などの遮断装置70が介在しているので、送信端末22は、送信するデータを一時データ保存装置80に格納するとともに、第3の通信方式と同様に、UPnPを利用してNAT装置やFW装置などの遮断装置70から外部アドレスポート(グローバルIPアドレス)を取得し、これをINVITEリクエストメッセージ中に公開用のURLとともに記述し、受信側のデータ通信装置20から一時データ保存装置80にアクセスして、公開用のURLに対しHTTPやFTPなどでデータの取得を実行する。
具体的には、先ず図16に示す基本手順においては、送信端末22(T1)は、HTTPなどのデータ転送用の標準プロトコルを利用して接続可能な状態にする。また、送信端末22は、インターネット内のグローバルアドレスを有する通信端末(本例では受信端末24や一時データ保存装置80)との間で通信を行なうためにプライベートIPアドレスに対応するグローバルIPアドレスを遮断装置70から取得しておく。この例では、新しい外部IPアドレス(グローバルアドレス)として“10.20.30.40”が設定されている。
送信端末22は、FTPなどのデータ転送プロトコルを用いて送信するデータを一時データ保存装置80(Temporary Storage )に送信・格納するとともに(図中のPut [Data] )、データ転送プロトコル処理部230(HTTPプロトコル処理部232やFTPプロトコル処理部234)から外部に公開するURLを取得し、図17(A)に示すように、NAT装置やFW装置などの遮断装置70を利用して取得したグローバルアドレス情報を反映させた外部IPアドレスやパスやURLなどの必要な情報をINVITEリクエストメッセージ(A)中のContent-Typeヘッダに記述して(図中の*1,*2,*3印行を参照)、SIPサーバ装置40(SIP Server)に送信する。この例では、URLを“http://10.20.30.100/tmp/T1/someimage.jpeg ”としている。
INVITEリクエストメッセージを受信したSIPサーバ装置40は、INVITEリクエストメッセージ中のINVITE sipヘッダに付加されているデータ転送先の受信端末24(T2)に、そのINVITEリクエストメッセージの必要部分を転送する。このINVITEリクエストメッセージが転送された受信端末24は、受信応答を示す応答メッセージ“200 OK”を、SIPサーバ装置40を介して送信端末22に返す。この応答メッセージ“200 OK”を受信した送信端末22は、その確認応答を示す応答メッセージ“ACK ”を、SIPサーバ装置40を介して受信端末24に返す。
応答メッセージ“ACK ”を受信した受信端末24は、INVITEリクエスト中のContent-Typeヘッダに記述されたデータ転送プロトコルの種類やアドレス情報に基づいて、図17(B)に示すようなゲットメッセージ(B)を一時データ保存装置80に発してデータの取得を試みる。ここでは、“http://10.20.30.100/tmp/T1/someimage.jpeg HTTP/1.0”を一時データ保存装置80に発する。このゲットメッセージ(B)を受信した一時データ保存装置80は、図17(C)に示すような、データ付きの応答メッセージ(C)“200 OK”を受信端末24に送信する。
つまり、第4の通信方式では、送信側のデータ通信装置20(送信端末22)における処理は第2や第3の通信方式と異なるが、受信側のデータ通信装置20(受信端末24)では、アクセスするURLおよびアクセス先が異なるだけで、第2の通信方式と同じ手順でデータを取得することができる。
また、送信端末22が、送信するデータに対応した受信端末24に公開可能なアドレスをNATなどの遮断手段から取得する機能を備えていない場合であっても、送信端末22に対して遮断装置70の外側に配されている一時データ保存装置80を利用することができる場合には、送信端末22のSIPプロトコル処理部250が、送信するデータに対応した受信端末24に公開可能なアドレスを受信端末24に通知するようにしたので、受信端末24側では、通知されたアドレスにアクセスすることで、送信端末22に対して遮断装置70の外側に配された一時データ保存装置80から適切にデータを受信することができる。
<第4の通信方式の改良手順>
ここで、第4の通信方式の基本手順では、第2の通信方式と略同様に、データ送信の初期段階で送信データを一時データ保存装置80に格納するが、その後、この一時保存した送信データを削除可能であるかどうかを送信端末22自身や一時データ保存装置80自身で適切かつ効率的に判断することができないという問題がある。一時データ保存装置80の容量は有限であるから、無限に保存すると、容量オーバーになった段階で第4の通信方式を実現できなくなる。あるいは、容量オーバーになった段階で古いものから順次削除することも考えられるが、この場合、本当に削除してよいものであったのかどうかの確認ができない。
ここで、第4の通信方式の基本手順では、第2の通信方式と略同様に、データ送信の初期段階で送信データを一時データ保存装置80に格納するが、その後、この一時保存した送信データを削除可能であるかどうかを送信端末22自身や一時データ保存装置80自身で適切かつ効率的に判断することができないという問題がある。一時データ保存装置80の容量は有限であるから、無限に保存すると、容量オーバーになった段階で第4の通信方式を実現できなくなる。あるいは、容量オーバーになった段階で古いものから順次削除することも考えられるが、この場合、本当に削除してよいものであったのかどうかの確認ができない。
そこで、本実施形態では、この第4の通信方式が持つ問題を解消するべく、以下のような仕組みを採る。すなわち、この問題を解決するためには、第2の通信方式の改良手順と同様に、一旦、受信端末24から送信端末22に暫定レスポンスを送信することで対処することができ、本例の場合にも、最終レスポンスの送信を延期できる唯一のリクエストである、INVITEリクエストを暫定レスポンスに利用するのが好適であり、これにより、前述の問題を解決することができる。
つまり、送信端末22側にNAT装置やFW装置などの遮断装置70が存在するが、その外部に外部のデータ通信装置20(本例では受信端末24)からアクセス可能な一時データ保存装置80が存在する場合に、HTTPなどのデータ転送プロトコルを利用して送信端末22と受信端末24との間で実際のデータ転送を一時データ保存装置80を介在させて間接的に行なう第4の通信方式では、図18に示す改良手順のように、第2の通信方式と同様に、INVITEリクエストメッセージが転送された受信端末24は、受信完了応答を示す応答メッセージ“200 OK”を即時に返さずに、一旦、たとえば“183 Session Progress”などの暫定レスポンスをSIPサーバ装置40を介して送信端末22に送信することで、最終応答の送信を延期する。
また、応答メッセージ(最終レスポンス)“200 OK”を受信した送信端末22は、一時保存させた送信データの削除指示(Delete Port Mapping )を発する。この削除指示を受信した一時データ保存装置80は、保存しておいた送信データを削除する。これにより、送信端末22は、一時データ保存装置80から安全かつ確実に送信データを削除することができる。
なお、図18に点線で示すように、受信端末24がデータ転送プロトコルによるデータの取得に失敗した場合には、“404 Not Found ”などの失敗応答をSIPサーバ装置40を介して送信端末22に送信する。この失敗応答を受信した送信端末22は、この第4の通信方式によるデータ転送に失敗したことを判断することができる。この場合、送信端末22は、一時データ保存装置80に対する送信データの削除指示を行なわず、同じ第4の通信方式もしくはさらに高度な通信方式での通信を試みる。
<送信側のデータ転送方式選択アルゴリズム>
図19は、上述した第1〜第4の通信方式(第2〜第4の通信方式においては改良手順のもの)を利用して、SIPサービス基盤上で端末間での任意のデータ転送を実現するための送信側の処理手順を説明するフローチャートである。ここで、図19は、送信側のデータ通信装置20(送信端末22)のコントローラ部220における処理アルゴリズム、特にデータ転送方式選択アルゴリズムを示す。
図19は、上述した第1〜第4の通信方式(第2〜第4の通信方式においては改良手順のもの)を利用して、SIPサービス基盤上で端末間での任意のデータ転送を実現するための送信側の処理手順を説明するフローチャートである。ここで、図19は、送信側のデータ通信装置20(送信端末22)のコントローラ部220における処理アルゴリズム、特にデータ転送方式選択アルゴリズムを示す。
送信端末22において、コントローラ部220は、第1〜第4の複数の通信方式の中から、受信端末24との間のネットワーク環境や転送データの容量などを考慮して、その時点の状況に最適な通信方式を決定・選択してから実際のデータ転送を開始する。
具体的には、図19に示すように、送信端末22のコントローラ部220は先ず、アプリケーション部210からデータ転送要求を受け取ると(S10)、送信データサイズがSIPの仕様に基づき算出される最大値MAXSIZE以下であるか否かを検査する(12;判定1)。
送信データサイズがSIPの仕様に基づき算出される最大値MAXSIZE以下である場合には、コントローラ部220は、第1の通信方式に従った送信処理を試行するとともに(S12−Yes,S14)、第1の通信方式に従った送信処理が問題ないか否かを判断する(S15)。コントローラ部220は、第1の通信方式に従った送信処理を試行して成功したときには、データ転送が完了すると、その旨をアプリケーション部210に通知する(S15−成功,S29)。この場合、事実上、ステップS14での第1の通信方式に従った送信処理の試行が、実際のデータ転送処理となる。
一方、データサイズがMAXSIZEより大きい場合(S12−No)、または“200 OK;成功レスポンス”を受信端末24から所定時間内に受信できないなど第1の通信方式に従った送信に失敗した場合には(S15−失敗)、コントローラ部220は、さらに高度な通信方式である第2の通信方式が適用可能であるかを判断する。具体的には、先ず、コントローラ部220は、アプリケーションに設定された情報や他の方法を用いることで、HTTPやFTPなどのファイル転送プロトコルによる外部からの接続が可能であるネットワーク構成(図8)であるか否かを判断する(S16;判定2)。
コントローラ部220は、このようなネットワーク構成(図8)であることが明確な場合、もしくはこのようなネットワーク構成(図8)でないことの判断が不可能である場合には(S16−Yes or Unknown)、第2の通信方式(改良手順)に従った送信処理を試行するとともに(S18)、第2の通信方式(改良手順)に従った送信処理が問題ないか否かを判断する(S19)。コントローラ部220は、第2の通信方式(改良手順)に従った送信処理を試行して成功したときには、データ転送が完了すると、その旨をアプリケーション部210に通知する(S19−成功,S29)。この場合、事実上、ステップS18での第2の通信方式に従った送信処理の試行が、実際のデータ転送処理となる。
一方、ネットワーク構成(図8)でないことの判断が可能である場合には(S16−No)、または“404 Not Found ;失敗レスポンス”を受信端末24から受信するなど第2の通信方式(改良手順)に従った送信に失敗した場合には(S19−失敗)、コントローラ部220は、さらに高度な通信方式である第3の通信方式が適用可能であるかを判断する。具体的には、コントローラ部220は、先ず、アプリケーションに設定された情報や他の方法を用いることで、ファイル転送プロトコルによる外部からの接続が不可能となっている要因(図8でのNAT装置やFW装置などの遮断装置70)がUPnPなどを用いて制御可能であるネットワーク構成(図8)であるか否かを判断する(S20;判定3)。
コントローラ部220は、NAT装置やFW装置をUPnPなどを用いて制御可能であることが明確な場合、もしくは制御不可能であることの判断が不可能である場合には(S20−Yes or Unknown)、第3の通信方式(改良手順)に従った送信処理を試行するとともに(S22)、第3の通信方式(改良手順)に従った送信処理が問題ないか否かを判断する(S23)。コントローラ部220は、第3の通信方式(改良手順)に従った送信処理を試行して成功したときには、データ転送が完了すると、その旨をアプリケーション部210に通知する(S23−成功,S29)。この場合、事実上、ステップS22での第3の通信方式に従った送信処理の試行が、実際のデータ転送処理となる。
一方、NAT装置やFW装置をUPnPなどを用いて制御不可能であることの判断が可能である場合には(S20−No)、または“404 Not Found ;失敗レスポンス”を受信端末24から受信するなど第3の通信方式(改良手順)に従った送信に失敗した場合には(S23−失敗)、コントローラ部220は、さらに高度な通信方式である第4の通信方式が適用可能であるかを判断する。具体的には、コントローラ部220は、先ず、アプリケーションに設定された情報や他の方法を用いることで、データ転送プロトコルにより外部から接続可能な一時データ保存装置80が存在するネットワーク構成(図14)であるか否かを判断する(S24;判定4)。
コントローラ部220は、このようなネットワーク構成(図14)であることが明確な場合、もしくはこのようなネットワーク構成(図14)でないことの判断が不可能である場合には(S24−Yes or Unknown)、第4の通信方式(改良手順)に従った送信処理を試行するとともに(S26)、第4の通信方式(改良手順)に従った送信処理が問題ないか否かを判断する(S27)。コントローラ部220は、第4の通信方式(改良手順)に従った送信処理を試行して成功したときには、データ転送が完了すると、その旨をアプリケーション部210に通知する(S27−成功,S29)。この場合、事実上、ステップS26での第4の通信方式に従った送信処理の試行が、実際のデータ転送処理となる。
一方、ネットワーク構成(図14)でないことの判断が可能である場合には(S24−No)、または“404 Not Found ;失敗レスポンス”を受信端末24から受信するなど第4の通信方式(改良手順)に従った送信に失敗した場合には(S27−失敗)、コントローラ部220は、データ送信は失敗したものとして、その旨をアプリケーション部210に通知する(S28)。
なお、この例では、複数の通信方式を、第1から第4へと、低レベルのものから高レベルのものに、段階的に試行するようにしていたが、このことは必須ではない。ただし、最初に低レベルの通信方式で試行し、失敗したらより高度の通信方式で試行するようにすることで、システム全体(端末の処理負荷だけでなくネットワーク負荷や通信コストなども含む)として、無駄のない効率的な通信処理が実現できる。
<受信側の応答処理アルゴリズム>
図20は、上述した第1〜第4の通信方式(第2〜第4の通信方式においては改良手順のもの)を利用して、SIPサービス基盤上で端末間での任意のデータ転送を実現するための受信側の処理手順を説明するフローチャートである。ここで、図20は、受信側のデータ通信装置20(送信端末24)のコントローラ部220における、受信したデータ転送用INVITEリクエストに対する処理アルゴリズムを示す。
図20は、上述した第1〜第4の通信方式(第2〜第4の通信方式においては改良手順のもの)を利用して、SIPサービス基盤上で端末間での任意のデータ転送を実現するための受信側の処理手順を説明するフローチャートである。ここで、図20は、受信側のデータ通信装置20(送信端末24)のコントローラ部220における、受信したデータ転送用INVITEリクエストに対する処理アルゴリズムを示す。
受信端末24においては、コントローラ部220は、受信したデータのINVITEリクエストメッセージ中のContent-Typeヘッダを検査し、その検査結果に基づいて、所定の受信処理を行なう。
具体的には、図20に示すように、受信端末24のコントローラ部220は、先ず待ち状態にある(S50−No)。待機状態中に、SIPプロトコル処理部250がリクエストURIにパラメータ“user=data”が付加されているデータ転送用のINVITEリクエストを受信すると(S50−Yes)、コントローラ部220は、リクエストメッセージ中のContent-Typeヘッダを検査する(S54)。たとえば、“image/jpeg”と表記されJPEGデータが付加されている場合のように、リクエストメッセージのContent-Typeヘッダのボディ部に転送データが直接付加されている表記がされている場合には、コントローラ部220は、送信端末22に対して“200 OK;成功レスポンス”を直ちに送信する(S54−A,S60)。そして、ボディ部に付加されていた受信データを一時データ保存部260に格納し、アプリケーションに対してデータを受信した旨を通知し(S62)、待ち状態(S50)に戻る。なお、一時データ保存部260に一時的に保存しておいた受信データ(一時データの一例)は、アプリケーション部210により一時データ保存部260からデータ取得された段階で削除する。
一方、Content-Typeヘッダに、データ転送プロトコルでの接続先(URLなど)が記述されているなど他のデータ転送プロトコルを利用してデータの取得を行なう旨や接続先に関する情報が記述されている場合には(S54−B)、コントローラ部220は、送信端末22に対して“183 Session Progress;暫定レスポンス”を送信した後(S56)、記述に基づくデータ転送プロトコル(HTTPやFTPなど)を用いてデータ取得を試行する(S58)。たとえば、Content-Typeヘッダの値が、“message/external-body; ACCESS-TYPE=URL; URL="http://10.20.30.40:10080/someimage.jpeg”であった場合は、HTTPプロトコルを利用して、“http://10.20.30.40:10080/someimage.jpeg ”というURLに対しデータの取得を試行する。
データ取得に成功した場合には、コントローラ部220は、送信端末22に対して“200 OK;成功レスポンス”を送信する(S58−成功,S60)。そして、ボディ部に付加されていた受信データを一時データ保存部260に格納し、アプリケーションに対してデータを受信した旨を通知し(S62)、待ち状態(S50)に戻る。なお、一時データ保存部260に一時的に保存しておいた受信データ(一時データの一例)は、アプリケーション部210により一時データ保存部260からデータ取得された段階で削除する。
一方、データ取得に失敗した場合には、コントローラ部220は、送信端末22に対して“404 Not Found ;失敗レスポンス”を送信端末22に送信した後に、待ち状態(S50)に戻る(S58−失敗,S64)。
なお、受信端末24は、データ受信に成功したときには、アプリケーション部210において、受信したデータに基づく所定のデータ処理を行なう。たとえば、IP電話のアプリケーションであれば、音声データに基づく音声情報をヘッドセット(音声情報入出力手段の一例)にてユーザに提供する。また、テレビ電話やテレビ会議のアプリケーションであれば、音声データに基づく音声情報をスピーカなどの音声情報出力手段にてユーザに提供するとともに、画像データに基づく画像をLCD(Liquid Crystal Display;液晶表示装置)やCRT(Cathode Ray Tube;陰極線管)などのモニタ装置(画像情報出力手段の一例)にてユーザに提供する。また、画像通信のアプリケーションであれば、たとえばJPEGデータを受信すると、復号処理部にて伸張(復号)した後、画像処理部において色材(たとえばトナーやインク)に応じた出力色(典型例はCMKYの4色)データに変換し、画像形成部において所定の出力媒体(典型例は出力用紙)上に画像を記録出力する。
このように、送信端末22と受信端末24とが、SIPサーバ装置40を利用しつつ、連携した通信処理を行なうことにより、SIPプロトコルを拡張することなく、試行されたデータ転送方式の転送結果を送信側のデータ通信装置20(送信端末22)に通知を行なうことができる。複数の通信方式を順次試行する(好ましくは低レベルのものから高レベルのものに段階的に試行する)ことで、実環境に応じた適正な通信方式を使用して、端末間で直接にあるいは一時データ保存装置80を利用して、データ転送ができる。また、受信端末24がデータ受信を完了した時点で受信端末24から送信端末22に完了通知を行なうことで、送信端末22側では、不要な一時データを安全かつ確実に削除することもできる。
以上説明したように、上記実施形態の通信処理によれば、データ容量や通信環境の影響を受けることなく、SIPサービス基盤上で呼接続が可能なデータ通信装置20や、このデータ通信装置20に組み込まれたソフトウエアアプリケーション同士で、音声や画像などのデータファイルなどの任意のデータを直接に転送することが、確実に実現できるようになる。
また、NATやFWの内部に存在し、既存のデータ転送プロトコルのみでは直接にデータ転送を行なうことができない端末間の場合でも、第4の通信方式のように、NATやFWの外部に存在する一時データ保存装置80を利用するようにすることで、データ転送が可能になる。
また、SIPプロトコルの中で、通常の呼制御において必ず使用される部分(上記実施形態でのINVITEリクエスト)のみを使用して実現されるため、MESSAGEリクエストやNOTIFYリクエストなどを用いる方法と比べると、既に運用されているSIP基盤上での使用に当たり、接続性の問題が生じ難い。
さらに、受信側のデータ通信装置20(受信端末24)がデータ転送試行結果をSIPレスポンスにより送信側のデータ通信装置20(送信端末22)に通知することにより、送信端末22は、複数のデータ転送方式を順次試行することができる。これにより、ネットワーク環境が未知の場合であっても、実環境に応じた適正な通信方式を使用して、データ転送を確実に実現することができるし、受信端末24から送信端末22にデータ転送の完了通知を行なうことで、不要な一時データを削除することもできる。
<電子計算機を利用した構成に関して>
なお、上記実施形態において、通信処理を行なう仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機(コンピュータ)を用いてソフトウェア的に実現することも可能である。
なお、上記実施形態において、通信処理を行なう仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機(コンピュータ)を用いてソフトウェア的に実現することも可能である。
よって、本発明に係る通信処理方法や通信装置を、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。
電子計算機に一連の通信処理機能をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ(組込マイコンなど)、あるいは、CPU(Central Processing Unit )、論理回路、記憶装置などの機能を1つのチップ上に搭載して所望のシステムを実現するSOC(System On a Chip:システムオンチップ)、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
記録媒体は、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。
たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクFDを含む)、光ディスク(CD−ROM(Compact Disc-Read Only Memory )、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc )を含む)、または半導体メモリなどよりなるパッケージメディア(可搬型の記憶媒体)により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMやハードディスクなどで構成されてもよい。
また、ソフトウェアを構成するプログラムは、記録媒体を用いずに、記録媒体を介して提供されることに限らず、有線あるいは無線などの通信網を介して提供されてもよい。
たとえば、通信処理機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ハードウェア処理回路にて構成する場合と同様の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体が通信処理の機能を実現する。
また、コンピュータが読み出したプログラムコードを実行することで、通信処理を行なう機能が実現されるだけでなく、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(Operating Systems ;基本ソフト)などが実際の処理の一部または全部を行ない、その処理により通信処理を行なう機能が実現される場合であってもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって通信処理を行なう機能が実現される場合であってもよい。
なお、通信処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
たとえば図21は、CPUやメモリを利用してソフトウェア的に通信処理を行なう機能を持つデータ通信装置20を構成する、すなわちパーソナルコンピュータなどのコンピュータ(電子計算機)の機能を利用して通信処理をソフトウェア的に実現する場合のハードウェア構成の一例を示すブロック図である。
もちろん、このようなコンピュータを用いた構成に限らず、図2を用いて示したデータ通信装置20の各機能部の処理をなす専用のハードウェアの組合せにより通信処理を行なう構成にすることもできる。ただし、ソフトウェアにより処理を実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。
なお、通信処理機能をソフトウェアで実現する機能をデータ通信装置20に組み込む形態の場合、図21に示す電子計算機には、たとえば、IP電話やテレビ電話など従来の通信装置におけるものに準じたネットワークを介して外部とのデータを送受信するための制御プログラムなどのソフトウェアが組み込まれるが、そのソフトウェアには、少なくとも、上述した実施形態の通信処理を行なうプログラムモジュールが存在することとなる。
たとえば、コンピュータシステム900は、コントローラ部901と、ハードディスク装置、フレキシブルディスク(FD)ドライブ、あるいはCD−ROM(Compact Disk ROM)ドライブ、半導体メモリコントローラなどの、所定の記憶媒体からデータを読み出したり記録したりするための記録・読取制御部902とを有する。
コントローラ部901は、CPU(Central Processing Unit )912、読出専用の記憶部であるROM(Read Only Memory)913、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例であるRAM(Random Access Memory)915、および不揮発性の記憶部の一例であるRAM(NVRAMと記述する)916を有している。NVRAM916には、たとえば、一時データなどを格納することができる。この場合、NVRAM916は、一時データ保存部260として機能することとなる。
上記において“揮発性の記憶部”とは、データ通信装置20の電源がオフされた場合には、記憶内容を消滅してしまう形態の記憶部を意味する。一方、“不揮発性の記憶部”とは、データ通信装置20のメイン電源がオフされた場合でも、記憶内容を保持し続ける形態の記憶部を意味する。記憶内容を保持し続けることができるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。また、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して構成してもよい。たとえば、ハードディスク装置を不揮発性の記憶部として利用できる。
また、コンピュータシステム900は、ユーザインタフェースをなす機能部として、キーボードやマウスなどを有する指示入力部903と、操作時のガイダンス画面や処理結果などの所定の情報をユーザに提示する表示出力部904と、各機能部との間のインタフェース機能をなすインタフェース部(IF部)909とを有する。
表示出力部904は、表示制御部942と表示装置とを備える。表示装置としては、たとえば、データ通信装置20に備えられる操作パネル部941を利用することができる。あるいは、CRTやLCDなどでなるその他のディスプレイ部944を利用することもできる。
たとえば、表示制御部942が、表示パネル部941aやテンキーやその他の操作キー941bなどからなる操作パネル部941やディスプレイ部944上に、ガイダンス情報や画像などを表示させる。また、各種の情報をユーザに通知する際の表示デバイスとしても利用される。なお、表示面上にタッチパネル932を有するディスプレイ部944とすることで、指先やペンなどで所定の情報を入力する指示入力部903を構成することもできる。
なお、コンピュータシステム900には、通信処理に供されるデータに対する所定のデータ処理を行なう機能部分も設けられる。たとえば、画像通信のアプリケーションであれば、たとえば送信用の画像データを取得する機能部分として処理対象の画像を読み取る画像読取部(スキャナユニット)905と、処理済みの画像を所定の出力媒体(たとえば印刷用紙)に出力する画像形成部906とが設けられる。
画像読取部905は、画像入力端末の機能を備えており、たとえばCCD固体撮像素子の全幅アレイを使用して、読取位置へ送られた原稿に光を照射することで、原稿上の画像を読み取り、この読み取った画像を表す赤R、緑G、青Bのアナログビデオ信号をデジタル信号へ変換する。
画像形成部906は、たとえば画像読取部905にて得られた画像信号により表される画像や受信した画像データに基づき、電子写真式、感熱式、熱転写式、インクジェット式、あるいは同様な従来の画像形成処理を利用して、普通紙や感熱紙上に可視画像を形成する(印刷する)。
このため、画像形成部906は、たとえばイエローY,マゼンタM,シアンC,ブラックKの2値化信号などの印刷出力用データを生成する画像処理部962と、たとえばラスタ出力スキャンベースやインクジェット方式などのプリントエンジン964とを備える。
また、テレビ電話やテレビ会議のアプリケーションであれば、音声データを取得するマイク952や画像情報を取得するカメラ954などの音声・画像情報入力手段と、音声情報を出力するスピーカ956などの音声情報出力手段や画像を出力するLCDやCRTなどの画像情報出力手段が設けられる。なお、画像情報出力手段は、表示出力部904を利用することができる。
また、IP電話のアプリケーションであれば、送信用の音声データを取得したり受信した音声データに基づく音声情報を出力する音声情報入出力手段の一例として、ヘッドセット958が設けられる。
インタフェース部909としては、処理データ(画像データを含む)や制御データの転送経路であるシステムバス991の他、たとえば、画像読取部905とのインタフェース機能をなすスキャナIF部995、画像形成部906や他のプリンタとのインタフェース機能をなすプリンタIF部996、およびインターネットなどのネットワークとの間の通信データの受け渡しを仲介する通信IF部999を有している。
なお、通信処理のための各機能部分の全ての処理をソフトウェアで行なうのではなく、これら機能部分の一部を専用のハードウェアにて行なう処理回路908を設けてもよい。ソフトウェアで行なう仕組みは、並列処理や連続処理に柔軟に対処し得るものの、その処理が複雑になるに連れ、処理時間が長くなるため、処理速度の低下が問題となる。これに対して、ハードウェア処理回路で行なうことで、高速化を図ったアクセラレータシステムを構築することができるようになる。アクセラレータシステムは、処理が複雑であっても、処理速度の低下を防ぐことができ、高いスループットを得ることができる。
たとえば、通信処理機能をデータ通信装置20に適用した本実施形態の場合であれば、処理回路908としては、画像読取処理をなす読取処理部982や圧縮された画像情報を元の画像情報に復号(伸長)する機能をなす復号処理部984、あるいは印刷出力用の画像データを生成する画像処理機能をなす画像処理部988を個別に設けてもよい。
このような構成において、CPU912は、システムバス991を介してシステム全体の制御を行なうものであり、図2に示したコントローラ部220に対応する。ROM913は、CPU912の制御プログラムなどを格納する。RAM915は、SRAM(Static Random Access Memory )などで構成され、プログラム制御変数や各種処理のためのデータなどを格納する。また、RAM915は、所定のアプリケーションプログラムによって取得した電子ドキュメント(文字データのみに限らず画像データを含んでよい)や自装置に備えられている画像読取部905で取得した画像データ、さらには外部から取得した電子データなどを一時的に格納する領域を含んでいる。
たとえば、通信処理機能をコンピュータに実行させるプログラムは、CD−ROMなどの記録媒体を通じて配布される。あるいは、このプログラムは、CD−ROMではなくFDに格納されてもよい。また、MOドライブを設け、MOに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカードなど、その他の記録媒体にプログラムを格納してもよい。さらに、他のサーバなどからインターネットなどのネットワークを経由してプログラムをダウンロードして取得したり、あるいは更新したりしてもよい。
なお、プログラムを提供するための記録媒体としては、FDやCD−ROMなどの他にも、DVDなどの光学記録媒体、MDなどの磁気記録媒体、PDなどの光磁気記録媒体、テープ媒体、磁気記録媒体、ICカードやミニチュアカードなどの半導体メモリを用いることができる。記録媒体の一例としてのFDやCD−ROMなどには、通信処理機能を実現する際の、一部または全ての機能を格納することができる。
また、ハードディスク装置は、制御プログラムによる各種処理のためのデータを格納したり、画像読取部905で取得した画像データや外部から受信した画像データなどを大量に一時的に格納したりする領域を含んでいる。また、ハードディスク装置、FDドライブ、あるいはCD−ROMドライブは、たとえば、CPU912にコンテンツ取得やアドレス取得あるいはアドレス設定などの処理をソフトウェアにて実行させるためのプログラムデータを登録するなどのために利用される。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
また、上記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
たとえば、上記実施形態では呼制御処理にSIPを利用したが、SIPに限らず、その他の呼制御処理を行なうプロトコル(現在規格化されているものに限らず、今後規格化されるであろう規格のものも含む)を使用してもよい。
また、第2,第3の通信方式においては、一時データ保存部260に送信するデータを一時的に保存していたが、このことは必須ではない。たとえば、送信する予定のデータに対応したアドレスを受信端末24に通知し、受信端末24からそのアドレスにアクセスがあったときに、送信するべき実データを取得してから受信端末24側にそのデータをHTTPやFTPにて送信するようにしてもよい。
また、図19に示した送信側のデータ転送方式の選択アルゴリズムにおいては、第1〜第4の通信方式をこの順に(より低度のものからより高度の順に)試行するようにしていたが、どのような方式を試行するかは自由であるし、その順序も自由である。たとえば、第4の通信方式を実現するには、送信端末22に対して遮断装置70の外側に一時データ保存装置80が配されていることが条件となるので、一時データ保存装置80を用意するためのシステムコストがアップする。この点では、一時データ保存装置80を備えないシステム構成を採ることが多いとも考えられる。このような場合には、第4の通信方式での試行を割愛して、第3の通信方式での試行に失敗したら直ちにその旨をアプリケーション部210に通知してもよい。
また、第1〜第4の通信方式において、応答メッセージ“200 OK”を受信した送信端末22は、その確認応答を示す応答メッセージ“ACK ”を、SIPサーバ装置40を介して受信端末24に返す例で説明したが、確認応答を示す応答メッセージ“ACK ”は、SIPサーバ装置40を介さずに受信端末24に返す方法もあり、そのようにしてもよい。
1…ネットワークシステム、20…データ通信装置、22…送信端末、24…受信端末、40…SIPサーバ装置、70…遮断装置、80…一時データ保存装置、90…通信網、210…アプリケーション部、220…コントローラ部、230…データ転送プロトコル処理部、232…HTTPプロトコル処理部、234…FTPプロトコル処理部、250…SIPプロトコル処理部、260…一時データ保存部、830…データ転送プロトコル処理部、832…HTTPプロトコル処理部、834…FTPプロトコル処理部、860…一時データ保存部
Claims (19)
- 通信装置間においてネットワークを介して所定の方式に従ってデータ通信を行なう通信方法であって、
複数の通信方式のうちの一方の通信方式に従って前記データ通信を試行し、当該試行に失敗したときには他方の通信方式に従って前記データ通信を試行する
ことを特徴とする通信方法。 - 送信側の通信装置と受信側の通信装置とがネットワーク接続されており、これら通信装置間において所定の方式に従ってデータ通信を行なう通信システムであって、
前記送信側の通信装置は、複数の通信方式のうちの一方の通信方式に従って前記受信側の通信装置との間でデータ通信処理を試行し、当該試行に失敗したときには他方の通信方式に従って前記受信側の通信装置との間でデータ通信処理を試行する
ことを特徴とする通信システム。 - 前記送信側の通信装置は、複数の通信方式のうちのデータ容量および/または通信処理の面において低度の通信方式からより高度の通信方式の順に前記試行を行なう
ことを特徴とする請求項2に記載の通信システム。 - 前記通信処理を代行するサーバ装置をさらに備え、
前記送信側の通信装置は、前記サーバ装置を介して前記受信側の通信装置に前記データ通信処理を要求し、
前記受信側の通信装置は、前記サーバ装置を介して前記送信側の通信装置に前記データ通信処理の要求に対応した応答処理を発し、
前記送信側の通信装置と前記受信側の通信装置との間での実データの通信処理は、前記サーバ装置を介することなく両者間で直接に行なう
ことを特徴とする請求項2に記載の通信システム。 - 前記サーバ装置は、前記送信側の通信装置と前記受信側の通信装置との間のSIPに従った呼制御処理を代行する
ことを特徴とする請求項4に記載の通信システム。 - 前記送信側の通信装置は、SIPに従った呼制御処理により、前記受信側の通信装置に前記データ通信処理を要求し、
前記受信側の通信装置は、SIPに従った呼制御処理により、前記送信側の通信装置に前記データ通信処理の要求に対応した応答処理を行なう
ことを特徴とする請求項2に記載の通信システム。 - 前記送信側の通信装置に対しての外部からのアクセスを遮断する遮断手段をさらに備えており、
前記複数の通信方式は、
前記遮断手段が、前記送信側の通信装置からの要求により前記送信側の通信装置が送信するデータに対応した前記受信側の通信装置に公開可能なアドレスを生成し、
前記送信側の通信装置が、送信するデータに対応した前記受信側の通信装置に公開可能なアドレスを前記遮断手段から取得し、この取得したアドレスを前記受信側の通信装置に通知し、
前記受信側の通信装置が、通知された前記アドレスにアクセスして前記送信側の通信装置が公開する前記データを取得する
ものを含む
ことを特徴とする請求項2に記載の通信システム。 - 前記送信側の通信装置に対しての外部からのアクセスを遮断する遮断手段をさらに備えており、
前記複数の通信方式は、
前記遮断手段が、前記送信側の通信装置からの要求により前記送信側の通信装置が送信するデータに対応した前記受信側の通信装置に公開可能なアドレスを生成し、
前記送信側の通信装置が、送信するデータに対応した前記受信側の通信装置に公開可能なアドレスを前記遮断手段から取得し、この取得した公開可能なアドレスを前記受信側の通信装置に通知し、
前記受信側の通信装置が、前記公開可能なアドレスにアクセスして前記送信側の通信装置が公開する前記データを取得する
ものを含む
ことを特徴とする請求項2に記載の通信システム。 - 前記複数の通信方式は、
前記データ送信処理部が送信するデータを所定のデータ保存手段に保存し、
前記呼制御処理部が、前記データ保存手段に保存したデータに対応する前記受信側の通信装置に公開可能なアドレスを前記受信側の通信装置に通知し、
前記受信側の通信装置が、前記公開可能なアドレスにアクセスして前記送信側の通信装置が公開する前記データを取得する
ものを含む
ことを特徴とする請求項2に記載の通信システム。 - 前記送信側の通信装置に対しての外部からのアクセスを遮断する遮断手段をさらに備えており、
前記データ保存手段が、前記送信側の通信装置に対して前記遮断手段の外側に配されている
ことを特徴とする請求項9に記載の通信システム。 - 前記受信側の通信装置は、データの受信処理が完了する前には、前記送信側の通信装置からのデータ送信要求に対応する受信完了応答通知に代えて代用通知を前記送信側の通信装置に発し、前記データの受信処理が完了した時点で受信完了応答通知を前記送信側の通信装置に発し、
前記送信側の通信装置は、送信するデータを所定のデータ保存手段に保持しておき、前記受信完了応答通知を受信した時点で、前記データ保存手段に保存しておいた前記データを削除する
ことを特徴とする請求項2に記載の通信システム。 - 送信側の通信装置と受信側の通信装置とがネットワーク接続されており、これら通信装置間において所定の方式に従ってデータ通信を行なう通信システムに用いられる通信装置であって、
呼制御処理を行なう呼制御処理部と、
データ送信処理を行なうデータ送信処理部と、
通信処理に関わる動作を制御する制御部と
を備え、
前記制御部は、前記呼制御処理部とデータ送信処理部とを制御して、複数の通信方式のうちの一方の通信方式に従って前記受信側の通信装置との間でデータ通信処理を試行し、当該試行に失敗したときには他方の通信方式に従って前記受信側の通信装置との間でデータ通信処理を試行する
ことを特徴とする通信装置。 - 送信するデータを保存するデータ保存部をさらに備え、
前記データ送信処理部は、送信するデータを前記データ保存部に保存し、
前記呼制御処理部は、当該通信装置に対しての外部からのアクセスを遮断する遮断手段から、前記データ送信処理部が前記データ保存部に保存したデータに対応する前記受信側の通信装置に公開可能なアドレスを取得し、この取得した公開可能なアドレスを前記受信側の通信装置に通知する
ことを特徴とする請求項12に記載の通信装置。 - 前記データ送信処理部は、送信するデータを所定のデータ保存手段に保存しつつ、前記データ保存手段に保存したデータに対応する前記受信側の通信装置に公開可能なアドレスとともにデータ送信要求を前記受信側の通信装置に発し、このデータ送信要求に対応する受信完了応答通知を前記受信側の通信装置から受信した時点で、前記データ保存手段に保存しておいた前記データを削除する
ことを特徴とする請求項12に記載の通信装置。 - 前記データ保存手段としてのデータ保存部を自装置内にさらに備えている
ことを特徴とする請求項14に記載の通信装置。 - 前記呼制御処理部は、SIPに従った呼制御処理を行なう
ことを特徴とする請求項12に記載の通信装置。 - 送信側の通信装置と受信側の通信装置とがネットワーク接続されており、これら通信装置間において所定の方式に従ってデータ通信を行なう通信システムに用いられる通信装置であって、
呼制御処理を行なう呼制御処理部と、
データ受信処理を行なうデータ受信処理部と、
通信処理に関わる動作を制御する制御部と
を備え、
前記制御部は、前記データ受信処理部におけるデータの受信処理が完了する前には、前記送信側の通信装置からのデータ送信要求に対応する受信完了応答通知に代えて代用通知を前記送信側の通信装置に発し、前記データの受信処理が完了した時点で受信完了応答通知を前記送信側の通信装置に発するように前記呼制御処理部を制御する
ことを特徴とする通信装置。 - ネットワーク接続された複数の通信装置間において所定の方式に従って、コンピュータを用いてデータ通信を行なうためのプログラムであって、
前記コンピュータを、
呼制御処理を行なう呼制御処理部と、
データ送信処理を行なうデータ送信処理部と、
前記呼制御処理部とデータ送信処理部とを制御して、複数の通信方式のうちの一方の通信方式に従って他方の通信装置との間でデータ通信処理を試行し、当該試行に失敗したときには他方の通信方式に従って前記他方の通信装置との間でデータ通信処理を試行する制御部と
して機能させることを特徴とするプログラム。 - ネットワーク接続された複数の通信装置間において所定の方式に従って、コンピュータを用いてデータ通信を行なうためのプログラムであって、
前記コンピュータを、
呼制御処理を行なう呼制御処理部と、
データ受信処理を行なうデータ受信処理部と、
前記データ受信処理部におけるデータの受信処理が完了する前には、他方の通信装置からのデータ送信要求に対応する受信完了応答通知に代えて代用通知を前記他方の通信装置に発し、前記データの受信処理が完了した時点で受信完了応答通知を前記他方の通信装置に発するように前記呼制御処理部を制御する制御部と
して機能させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005153335A JP2006333034A (ja) | 2005-05-26 | 2005-05-26 | 通信方法、通信システム、通信装置、プログラム |
US11/419,590 US7933261B2 (en) | 2005-05-26 | 2006-05-22 | Communication method, communication system, communication device, and program using multiple communication modes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005153335A JP2006333034A (ja) | 2005-05-26 | 2005-05-26 | 通信方法、通信システム、通信装置、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006333034A true JP2006333034A (ja) | 2006-12-07 |
Family
ID=37463266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005153335A Pending JP2006333034A (ja) | 2005-05-26 | 2005-05-26 | 通信方法、通信システム、通信装置、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7933261B2 (ja) |
JP (1) | JP2006333034A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008283611A (ja) * | 2007-05-14 | 2008-11-20 | Panasonic Corp | Ip通信装置及びそのデータ送信方法 |
JP2009140090A (ja) * | 2007-12-04 | 2009-06-25 | Softbank Mobile Corp | 通信端末 |
JP2010056632A (ja) * | 2008-08-26 | 2010-03-11 | Nippon Telegr & Teleph Corp <Ntt> | Sipアプリケーションサーバ、sipサービス処理方法及びプログラム |
JP2010527536A (ja) * | 2007-04-23 | 2010-08-12 | エムフォーメイション テクノロジーズ インコーポレイテッド | セッション開始プロトコル(sip)及びip−プッシュを使用して移動局に通知メッセージを送信するためのシステム及び方法 |
JP2016167293A (ja) * | 2016-04-26 | 2016-09-15 | 船井電機株式会社 | 通信方法、及び情報装置 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4154615B2 (ja) * | 2005-12-08 | 2008-09-24 | 日本電気株式会社 | Sipサーバ共有モジュール装置、sipメッセージ中継方法、及びプログラム |
US20090129301A1 (en) * | 2007-11-15 | 2009-05-21 | Nokia Corporation And Recordation | Configuring a user device to remotely access a private network |
US8571524B2 (en) * | 2008-02-06 | 2013-10-29 | Qualcomm Incorporated | Method and apparatus for delivery confirmation of a message |
ES2373357T3 (es) * | 2008-02-29 | 2012-02-02 | Telefonaktiebolaget L M Ericsson (Publ) | Técnica para realizar la conversión de señalización entre los dominios http y sip. |
WO2009144862A1 (ja) * | 2008-05-28 | 2009-12-03 | パナソニック株式会社 | 通信端末装置及び通信制御方法並びに通信制御プログラム |
EP2335394B1 (en) * | 2008-09-05 | 2016-07-20 | Telefonaktiebolaget LM Ericsson (publ) | End-to-end address transfer |
CN101841458B (zh) * | 2009-03-20 | 2012-07-18 | 鸿富锦精密工业(深圳)有限公司 | 宽带网络终端及其动态分配系统资源的方法 |
EP3576352A1 (en) * | 2011-05-09 | 2019-12-04 | Samsung Electronics Co., Ltd. | Method and system for managing telephony services in a universal plug and play home network environment |
CN102984418A (zh) * | 2011-09-06 | 2013-03-20 | 株式会社东芝 | 图像形成装置以及数据管理方法 |
US9047288B2 (en) | 2012-01-06 | 2015-06-02 | Apple Inc. | Intelligent data delivery and storage based on data characteristics |
US10666691B2 (en) * | 2016-04-07 | 2020-05-26 | Avaya Inc. | Dynamic session classification |
US10045186B2 (en) | 2016-04-08 | 2018-08-07 | Orion Labs | Low energy audio streaming |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6011978A (en) * | 1997-03-07 | 2000-01-04 | Qualcomm Incorporated | Automatic system switching in a multiple-mode wireless communication device |
US6304578B1 (en) * | 1998-05-01 | 2001-10-16 | Lucent Technologies Inc. | Packet routing and queuing at the headend of shared data channel |
GB9901036D0 (en) * | 1999-01-18 | 1999-03-10 | Pathfinder Tech Resources Ltd | Apparatus and method for routing communications |
EP1495583A1 (en) * | 2002-04-16 | 2005-01-12 | Nokia Corporation | Handling a request to establish a packet switched session |
US20040133668A1 (en) * | 2002-09-12 | 2004-07-08 | Broadcom Corporation | Seamlessly networked end user device |
JP2004147128A (ja) | 2002-10-25 | 2004-05-20 | Canon Inc | 通信方法、通信装置、および通信装置の制御プログラム |
WO2004034657A1 (ja) * | 2002-10-10 | 2004-04-22 | Canon Kabushiki Kaisha | 通信装置、通信装置の制御方法、および通信装置の制御プログラム |
JP2004214948A (ja) | 2002-12-27 | 2004-07-29 | Ntt Comware Corp | パケット通信方法、パケット通信装置、パケット通信プログラム、およびパケット通信プログラム記録媒体 |
US7394761B2 (en) * | 2003-04-29 | 2008-07-01 | Avocent Huntsville Corporation | System and method for delivering messages using alternate modes of communication |
JP2005051445A (ja) | 2003-07-31 | 2005-02-24 | Ricoh Co Ltd | 通信端末装置、プログラム及びコンピュータ読み取り可能な記録媒体 |
JP4343626B2 (ja) | 2003-09-02 | 2009-10-14 | キヤノン株式会社 | 画像通信制御方法、画像通信制御プログラム、および画像通信装置 |
-
2005
- 2005-05-26 JP JP2005153335A patent/JP2006333034A/ja active Pending
-
2006
- 2006-05-22 US US11/419,590 patent/US7933261B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010527536A (ja) * | 2007-04-23 | 2010-08-12 | エムフォーメイション テクノロジーズ インコーポレイテッド | セッション開始プロトコル(sip)及びip−プッシュを使用して移動局に通知メッセージを送信するためのシステム及び方法 |
US9462060B2 (en) | 2007-04-23 | 2016-10-04 | Alcatel Lucent | System and method for sending notification message to a mobile station using session initiation protocol (SIP) |
JP2008283611A (ja) * | 2007-05-14 | 2008-11-20 | Panasonic Corp | Ip通信装置及びそのデータ送信方法 |
JP2009140090A (ja) * | 2007-12-04 | 2009-06-25 | Softbank Mobile Corp | 通信端末 |
JP2010056632A (ja) * | 2008-08-26 | 2010-03-11 | Nippon Telegr & Teleph Corp <Ntt> | Sipアプリケーションサーバ、sipサービス処理方法及びプログラム |
JP2016167293A (ja) * | 2016-04-26 | 2016-09-15 | 船井電機株式会社 | 通信方法、及び情報装置 |
Also Published As
Publication number | Publication date |
---|---|
US7933261B2 (en) | 2011-04-26 |
US20060268839A1 (en) | 2006-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006333034A (ja) | 通信方法、通信システム、通信装置、プログラム | |
US8127340B2 (en) | Communication apparatus | |
US7283273B2 (en) | Image communication apparatus using IP addresses and control method thereof, program, and storage medium | |
US20090201535A1 (en) | Posting server, sending terminal, posting server control method, and sending terminal control method | |
US20080117477A1 (en) | Facsimile apparatus and control method therefor | |
US7801160B2 (en) | Communication apparatus and data transmission method thereof | |
JP4341628B2 (ja) | データ通信装置及びデータ通信処理プログラム | |
EP3029921B1 (en) | Image-forming apparatus remote system | |
US8966244B2 (en) | Embedded apparatus, remote-processing method, and computer program product | |
US9203935B2 (en) | Communication apparatus, communication systems, methods, and non-transitory computer-readable media for processing data according to different protocols in response to packets received using different interface standards | |
JP5455495B2 (ja) | 通信装置、通信方法及びプログラム | |
JP2003348282A (ja) | Httpサーバ | |
JP4869100B2 (ja) | 通信方法及び画像通信装置 | |
US8958098B2 (en) | Communication device allowing proxy reception of data directed thereto, and control method and storage medium therefor | |
JP2006211533A (ja) | ネットワークファクシミリ装置 | |
JP2008204052A (ja) | ネットワーク通信システム | |
JP2005094414A (ja) | ネットワーク端末装置 | |
JP2007251568A (ja) | ネットワーク機器 | |
JP4301202B2 (ja) | Sipプロキシサーバ | |
US10230868B2 (en) | Facsimile apparatus, control method thereof, and storage medium | |
JP2005173839A (ja) | データ格納システムおよび方法 | |
JP2000165587A (ja) | ネットワークファクシミリ装置 | |
JP2007221709A (ja) | ネットワーク画像入出力システムおよび画像形成装置 | |
JP3817468B2 (ja) | ファクシミリ装置、ファクシミリ装置の制御方法、およびファクシミリ装置の制御プログラム | |
JP2008022461A (ja) | 通信端末装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061030 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081021 |