本発明の一実施形態について、図面を参照して説明する。本実施形態では、本発明の通信システムを、携帯端末3などの外部にあるXMPPクライアント(XMPPクライアント装置)から家庭内に設置された宅内XMPPサーバ2(プライベートXMPPサーバ)にデータを直接に転送するデータ転送システム1に適用している。図1は、本発明の一実施形態に係るデータ転送システムの全体的な構成を示す図である。また、図1(a)は、本実施形態に係るデータ転送システムの通信方法の概略を説明するための概念図である。また、図1(b)は、本実施形態に係るデータ転送システムの各構成部の関わりを示す概念図である。
データ転送システム1(通信システム)は、後述するXMPP(eXtensible Messaging and Presence Protocol)を利用して構築されており、携帯端末3(XMPPクライアント装置)と、宅内XMPPサーバ2(プライベートXMPPサーバ)と、公開XMPPサーバ4と、を有している。宅内XMPPサーバ2は、任意のタイミングで、第1ネットワーク61(第1通信経路)を介して公開XMPPサーバ4に接続される。また、携帯端末3は、任意のタイミングで、第2ネットワーク62(第2通信経路)を介して公開XMPPサーバ4に接続される。
公開XMPPサーバ4は、不特定多数のユーザが利用するサーバであって、携帯端末3や宅内XMPPサーバ2と、XMPPに規定された応用プロトコル(通信規約)に準拠する通信を行う公開されたXMPPサーバである。なお、公開XMPPサーバ4としては、クラウド41のようなサーバ群や、複数のユーザが参加する仮想のコミュニティに様々な情報サービス(たとえば、チャットルームなど)を提供するサーバなどを挙げることができるが、特にこれらに限定するものではなく、携帯端末3や宅内XMPPサーバ2とXMPPに準拠する通信を行うことができるXMPPサーバであればよい。
宅内XMPPサーバ2は、任意のタイミングで、第1ネットワーク61を介して公開XMPPサーバ4と接続されることにより、XMPPに規定された応用プロトコル(通信規約)に準拠する通信機能が提供される。すなわち、宅内XMPPサーバ2は、公開XMPPサーバ4に対してクライアントとして機能する。また、宅内XMPPサーバ2は、公開XMPPサーバ4を経由して、公開XMPPサーバ4に接続されている他のXMPPクライアント装置(たとえば、携帯端末3など)や他のサーバとも通信を行うことができる。
携帯端末3は、任意のタイミングで、第2ネットワーク62を介して公開XMPPサーバ4と接続されることにより、XMPPに規定された応用プロトコル(通信規約)に準拠する通信機能が提供される。すなわち、携帯端末3は、公開XMPPサーバ4に対してクライアントとして機能する。また、携帯端末3は、公開XMPPサーバ4を経由して、公開XMPPサーバ4に接続されている他のXMPPクライアント装置や他のサーバ(たとえば、宅内XMPPサーバ2など)とも通信を行うことができる。
また、宅内XMPPサーバ2と携帯端末3との間には、公開XMPPサーバ4が提供するXMPPに規定された応用プロトコル(通信規約)に準拠する通信機能によって、後述するように、データが直接に転送される直通の通信経路であるプライベートデータ回線7(プライベート通信経路)を開設することができる。よって、携帯端末3を使用するユーザは、公開XMPPサーバ4を経由することなく、安全且つ確実に、このプライベートデータ回線7を介して宅内XMPPサーバ2に、データを直接に転送することができる。
宅内XMPPサーバ2は、このプライベートデータ回線7を介して携帯端末3から受信したデータを蓄積する。また、宅内XMPPサーバ2は、受信したデータを、アーカイブ、すなわち他のデータと統合して、データログ情報として蓄積することもできる。また、宅内XMPPサーバ2は、このプライベートデータ回線7を介して、自身が有する様々なデータや情報サービスを携帯端末3に提供することもできる。このように、このプライベートデータ回線7を介した通信では、宅内XMPPサーバ2はサーバとして機能し、携帯端末3はクライアントとして機能する。
ここで、データ転送システム1にて利用されるXMPPについて説明しておく。XMPPとは、IETF(Internet Engineering Task Force)のXMPPワーキンググループから独立したXSF(XMPP Standards Foundation)により規格・標準化が進められているXML(eXtensible Markup Language)ベースのプロトコル(通信規約)である。XMPPは、インスタントメッセージ、プレゼンス(「相手が今どういう状態にあるのか」)、多人数チャット、音声またはテレビ電話、協調作業、コンテンツ・シンジケーション、XMLデータの一般化ルーティングなどを含む広範囲のアプリケーションを動的に制御し、インターネットなどの通信システムにおいてリアルタイムなコミュニケーションを行うために、それぞれの目的に応じて規格化された複数の拡張プロトコル(XEP:XMPP Extension Protocol)からなっている。
データ転送システム1は、このXMPPに規定されている様々なプロトコル(通信規約)を利用している。ここで、データ転送システム1を理解する上で重要なプロトコルであるXEP−0030(Service Discovery)、XEP−0060(Publish−Subscribe)、XEP−0163(Personal Event Protocol)、及びXEP−0166(Jingle)などについて説明しておく。
XEP−0030(Service Discovery)は、情報を検出する機能を規定したプロトコル(通信規約)である。以下では、DISCOと呼ぶこととする。データ転送システム1では、後述するように、宅内XMPPサーバ2及び携帯端末3は、このDISCOを利用して、公開XMPPを検索している。
また、XEP−0060(Publish−Subscribe)は、情報の発信側の端末装置において情報に変更が加えられたときに、受信側の端末装置が、その情報の発信側の端末装置に、その情報に変更が加えられたことの通知を発信側の端末装置から受信側の端末装置に送信する旨の契約を予め結ぶ(すなわち、サブスクライブ(Subscribe)する)機能と、発信側の端末装置において受信側の端末装置からサブスクライブされた情報に変更が加えられたとき、発信側の端末装置が、その変更が加えられた情報をサブスクライブしている全ての受信側の端末装置に、その情報に変更が加えられたことの通知を送信する(すなわち、パブリッシュ(Publish)する)機能を規定したプロトコル(通信規約)である。以下では、pubsubと呼ぶ。
また、XEP−0163(Personal Event Protocol)は、pubsubの機能を利用して、ユーザのプレゼンス(ユーザが今どういう状態にあるのか)に関する情報を、サブスクライブしているXMPPクライアント装置に一斉送信する機能を規定したプロトコル(通信規約)である。以下では、pepと呼ぶ。
また、XEP−0166(Jingle)は、2つの通信可能な端末装置の間にデータを送受信する通信経路を確立する機能を規定したプロトコル(通信規約)である。また、このJingleに関連するプロトコルとして、XEP−0167(Jingle RTP Sessions)やXEP−0177(Jingle Raw UDP Transport Method)などがある。XEP−0167(Jingle Raw UDP Transport)は、RTP(Real−time Transport Protocol)を使って音声データや動画データなどをストリーミング方式で送受信する通信経路を確立する機能を規定したプロトコル(通信規約)である。また、XEP−0177(Jingle Raw UDP Transport Method)は、UDP(User Datagram Protpcol)を利用したデータの送受信を定義したプロトコル(通信規約)である。以下では、XEP−0166(Jingle)をJingleと呼ぶ。また、XEP−0167(Jingle RTP Sessions)をJingle−RTPと呼び、XEP−0177(Jingle Raw UDP Transport Method)をJingle−UDPと呼ぶこととする。
データ転送システム1では、後述するように、Jingle(XEP−0166)や、関連するプロトコル(通信規約)であるJingle−RTP(XEP−0167)、Jingle−UDP(XEP−0177)などの通信規約に準拠して、携帯端末3と宅内XMPPサーバ2との間に、データを直接に転送するための直通のプライベートデータ回線7が開設される。そして、携帯端末3は、このプライベートデータ回線7を介して宅内XMPPサーバ2に、データを直接に転送することができる。
次に、本実施形態におけるデータ転送システム1が有する宅内XMPPサーバ2の具体的な構成について、図を参照して詳細に説明する。図2は、本実施形態における宅内XMPPサーバの構成を示す構成図である。図2に示すように、宅内XMPPサーバ2は、通信部21と、記憶部22と、制御部23と、を備えている。また、宅内XMPPサーバ2は、ユーザが指示操作によって、宅内XMPPサーバ2に様々な指示を与えるための入力部24を備えている。入力部24は、ユーザによって入力される宅内XMPPサーバ2に与える指示を受け付ける。
通信部21は、任意のタイミングで、第1ネットワーク61を介して公開XMPPサーバ4と接続され、公開XMPPサーバ4と通信を行う。また、通信部21は、携帯端末3との間にデータが直接に転送される直通のプライベートデータ回線7が開設されたとき、このプライベートデータ回線7を介して携帯端末3と通信を行うことができる。さらに、通信部21は、公開XMPPサーバ4や携帯端末3に対して、XMPPに規定された応用プロトコル(通信規約)に準拠する通信を行うことができる。
記憶部22は、通信部21が送受信するデータや、ユーザの入力操作によって入力部24に入力されたデータ、携帯端末3からプライベートデータ回線7を介して受信したデータ、そのデータをアーカイブしたデータログ情報などを記憶する。
制御部23は、通信部21、記憶部22、入力部24を制御している。また、制御部23は、公開XMPPサーバ4と第1ネットワーク61を介して接続され、公開XMPPサーバ4からXMPPに規定された応用プロトコル(通信規約)に準拠する通信機能が提供される公開宅内クライアント機能部231(公開内部クライアント機能部)と、携帯端末3との間にデータが直接に転送されるプライベートデータ回線7(プライベート通信経路)が開設されるプライベート宅内サーバ機能部232(プライベートサーバ機能部)と、を有する。
公開宅内クライアント機能部231は、任意のタイミングで、第1ネットワーク61を介して公開XMPPサーバ4に接続され、第1ネットワーク61を介して公開XMPPサーバ4と通信を行う。なお、このタイミングは、特に限定しない。例えば、公開宅内クライアント機能部231は、入力部24がユーザから携帯端末3と公開XMPPサーバ4との接続を指示する旨の操作入力を受け付けたとき、第1ネットワーク61を介して公開XMPPサーバ4に接続されてもよい。
また、公開宅内クライアント機能部231には、第1ネットワーク61を介して、公開XMPPサーバ4からXMPPに規定された通信規約に準拠する通信機能が提供される。すなわち、公開宅内クライアント機能部231は、宅内XMPPサーバ2を、公開XMPPサーバ4に対してクライアントとして機能させている。また、公開宅内クライアント機能部231は、公開XMPPサーバ4から提供されるXMPPに規定された通信規約に準拠する通信機能により、プライベート宅内サーバ機能部232と携帯端末3との間に、プライベートデータ回線7を開設する。このように、宅内XMPPサーバ2は、XMPPに規定された様々な応用プロトコル(通信規約)を利用することができる。
このように、宅内XMPPサーバ2では、公開宅内クライアント機能部231が、公開XMPPサーバ4から提供されるXMPPに規定された通信規約に準拠する通信機能により、プライベート宅内サーバ機能部232と携帯端末3との間に、データが直接に転送される直通のプライベートデータ回線7を開設する。よって、宅内XMPPサーバ2は、XMPPに規定された様々な応用プロトコル(通信規約)を利用することができる。従って、宅内XMPPサーバ2は、NATやファイアウォール内に設置されていたとしても、公開XMPPサーバ4に接続された外部の携帯端末3との間にデータが直接に転送される直通のプライベートデータ回線7を簡便に開設することができる。また、宅内XMPPサーバ2と携帯端末3との間では、プライベートデータ回線7を介して、データが直接に転送されるので、NATやファイアウォールなどによって、データ転送が遮断されるなどの影響をうけることがない。
さらに宅内XMPPサーバ2の公開宅内クライアント機能部231とプライベート宅内サーバ機能部232とはそれぞれ独立している。よって、プライベート宅内サーバ機能部232やプライベートデータ回線7を介してこれに接続されているクライアント装置は、公開XMPPサーバ4が設置されているクラウド41などの公開されたネットワーク上から不可視とすることができる。よって、プライベート宅内サーバ機能部232や、プライベートデータ回線7のセキュリティ性が向上する。よって、携帯端末3を使用するユーザは、個人情報のようなセキュリティ性が重要な情報を、公開XMPPサーバ4を経由することなく、安全且つ確実に、プライベートデータ回線7を介してプライベート宅内サーバ機能部232に転送することができる。
なお、このプライベートデータ回線7は、論理的な通信経路である。論理的な通信経路とは、物理的に見た通信回線が有する論理的に見た仮想の通信回線(論理回線)である。たとえば、物理的には通信回線が1本であっても、複数の論理回線を設定することができる。各論理回線では異なったデータ通信を行うことができる。従って、宅内XMPPサーバ2と携帯端末3との間にデータが直接に転送される直通のプライベートデータ回線7を開設するとき、第1ネットワーク61や第2ネットワーク62とは別の物理的な通信回線を設ける必要がない。すなわち、第1ネットワーク61や第2ネットワーク62が通じている物理的な通信回線を利用して、プライベートデータ回線7を開設することができる。また、第1ネットワーク61や第2ネットワーク62とプライベートデータ回線7とは、別の論理回線となっているので、互いに干渉することがなく、データの転送速度やデータの受信間隔がばらつく転送揺らぎなどが発生するおそれはない。
また、プライベートデータ回線7として、暗号化された回線を利用できる。暗号化された回線を利用することにより、プライベートデータ回線7を介して転送されるデータは、暗号化で厳重に保護・管理することができるので、安全且つ確実にデータを転送する事ができるとともに、データのセキュリティ性をより向上させることができる。なお、プライベートデータ回線7を介して転送されるデータが、暗号化されていてもよい。データの暗号化には、例えば、SSLなどが利用できる。
また、プライベートデータ回線7として、VPN(Virtual Private Network)を利用した通信経路(VPN回線)を利用してもよい。VPN回線の利用により、一般に共用されている通信網を利用して、セキュリティ性の高いプライベートデータ回線7を開設することができる。
プライベート宅内サーバ機能部232は、携帯端末3との間に、データを直接に転送することができる直通のプライベートデータ回線7が開設されたとき、そのプライベートデータ回線7を介して携帯端末3に対して、データを直接に送受信することができる。さらに、プライベート宅内サーバ機能部232は、携帯端末3からプライベートデータ回線7を介して受信したデータをアーカイブし、データログ情報として、記憶部22に格納することができる。また、プライベート宅内サーバ機能部232は、プライベートデータ回線7を介して携帯端末3に、データの転送や情報サービスの提供を行うこともできる。このように、プライベート宅内サーバ機能部232は、宅内XMPPサーバ2を、携帯端末3に対してサーバとして機能させている。
また、公開宅内クライアント機能部231は、XMPPのXEP−0166(Jingle)、XEP−0167(Jingle RTP Sessions)、XEP−0177(Jingle Raw UDP Transport)のうちのすくなくともいずれかの通信規約に準拠して、プライベート宅内サーバ機能部232と携帯端末3との間に、プライベートデータ回線7を開設する。
従って、宅内XMPPサーバ2は、NATやファイアウォール内に設置されていたとしても、公開XMPPサーバ4に接続された外部の携帯端末3との間にデータが直接に転送される直通のプライベートデータ回線7を簡便に開設することができる。また、宅内XMPPサーバ2と携帯端末3との間では、プライベートデータ回線7を介して、データが直接に転送されるので、NATやファイアウォールなどによって、データ転送が遮断されるなどの影響をうけることがない。
次に、データ転送システム1が有する携帯端末3の具体的な構成について、図を参照して詳細に説明する。図3は、本実施形態における携帯端末の構成を示す構成図である。図3に示すように、携帯端末3は、端末通信部31と、端末記憶部32と、端末制御部33と、を備えている。また、携帯端末3は、ユーザが指示操作によって携帯端末3に様々な指示を与えるための端末入力部34と、データを表示する端末表示部35と、を備えている。ユーザは、端末入力部34に行う指示操作により、携帯端末3に様々な指示入力をすることができる。たとえば、携帯端末3と公開XMPPサーバ4との接続を指示したり、携帯端末3と宅内XMPPサーバ2との間にプライベートデータ回線7が開設されたとき、そのプライベートデータ回線7を介して転送させるデータを選択したりすることができる。
端末通信部31は、任意のタイミングで、第2ネットワーク62を介して公開XMPPサーバ4と接続され、公開XMPPサーバ4と通信を行う。また、端末通信部31は、宅内XMPPサーバ2との間にデータが直接に転送される直通のプライベートデータ回線7が開設されたとき、このプライベートデータ回線7を介して宅内XMPPサーバ2と通信を行うことができる。さらに、端末通信部31は、公開XMPPサーバ4や宅内XMPPサーバ2に対して、XMPPに規定された応用プロトコル(通信規約)に準拠する通信を行うことができる。
端末記憶部32は、端末通信部31が送受信するデータや、ユーザの入力操作によって端末入力部34に入力されたデータ、宅内XMPPサーバ2からプライベートデータ回線7を介して受信したデータなどを記憶する。
端末制御部33は、端末通信部31、端末記憶部32、端末入力部34、端末表示部35を制御している。また、端末制御部33は、公開XMPPサーバ4に第2ネットワーク62を介して接続され、公開XMPPサーバ4からXMPPに規定された通信規約に準拠する通信機能が提供される公開端末クライアント機能部331(公開外部クライアント機能部)と、公開XMPPサーバ4に第1ネットワーク61を介して接続される宅内XMPPサーバ2との間に、データが直接に転送されるプライベートデータ回線7が開設されるプライベート端末クライアント機能部332(プライベートクライアント機能部)と、を有する。
プライベート端末クライアント機能部332は、宅内XMPPサーバ2との間にデータを直接に転送することができる直通のプライベートデータ回線7が開設されたとき、公開XMPPサーバ4を経由することなく、そのプライベートデータ回線7を介して宅内XMPPサーバ2に対して、データを直接に送受信することができる。また、プライベート端末クライアント機能部332は、宅内XMPPサーバ2からプライベートデータ回線7を介して、情報サービスの提供をうけることもできる。このように、プライベート端末クライアント機能部332は、携帯端末3を、宅内XMPPサーバ2に対してクライアントとして機能させている。
公開端末クライアント機能部331は、任意のタイミングで、第2ネットワーク62を介して公開XMPPサーバ4に接続され、第2ネットワーク62を介して公開XMPPサーバ4と通信を行う。なお、このタイミングは、特に限定しない。例えば、公開端末クライアント機能部331は、端末入力部34がユーザから携帯端末3と公開XMPPサーバ4との接続を指示する旨の操作入力を受け付けたとき、第2ネットワーク62を介して公開XMPPサーバ4に接続されてもよい。
公開端末クライアント機能部331には、第2ネットワーク62を介して、公開XMPPサーバ4からXMPPに規定された通信規約に準拠する通信機能が提供される。すなわち、公開端末クライアント機能部331は、携帯端末3を、公開XMPPサーバ4に対してクライアントとして機能させている。また、公開端末クライアント機能部331は、公開XMPPサーバ4から提供されるXMPPに規定された通信規約に準拠する通信機能により、プライベート端末クライアント機能部332と宅内XMPPサーバ2との間に、プライベートデータ回線7を開設する。このように、宅内XMPPサーバ2は、XMPPに規定された様々な応用プロトコル(通信規約)を利用することができる。
このように、携帯端末3では、公開端末クライアント機能部331が、公開XMPPサーバ4から提供されるXMPPに規定された通信規約に準拠する通信機能により、携帯端末3のプライベート端末クライアント機能部332と宅内XMPPサーバ2との間に、データが直接に転送される直通のプライベートデータ回線7が開設される。よって、携帯端末3は、XMPPに規定された様々な応用プロトコル(通信規約)を利用することができる。従って、携帯端末3は、NATやファイアウォール内に設置されている宅内XMPPサーバ2との間に、データが直接に転送される直通のプライベートデータ回線7を簡便に開設することができる。また、携帯端末3のプライベート端末クライアント機能部332と宅内XMPPサーバ2との間では、プライベートデータ回線7を介して、データが直接に転送されるので、NATやファイアウォールなどによって、データ転送が遮断されるなどの影響をうけることがない。
さらに携帯端末3の公開端末クライアント機能部331とプライベート端末クライアント機能部332とはそれぞれ独立している。よって、携帯端末3のプライベート端末クライアント機能部332は、公開XMPPサーバ4が設置されている公開されたネットワーク上から不可視とすることができる。よって、携帯端末3のプライベート端末クライアント機能部332や、プライベートデータ回線7のセキュリティ性が向上する。よって、携帯端末3を使用するユーザは、個人情報のようなセキュリティ性が重要な情報を、公開XMPPサーバ4を経由することなく、安全且つ確実に、プライベートデータ回線7を介して宅内XMPPサーバ2に転送することができる。
また、公開端末クライアント機能部331は、XMPPのXEP−0166(Jingle)、XEP−0167(Jingle RTP Sessions)、XEP−0177(Jingle Raw UDP Transport)のうちのすくなくともいずれかの通信規約に準拠して、プライベート端末クライアント機能部332と宅内XMPPサーバ2との間に、プライベートデータ回線7を開設する。
従って、携帯端末3は、NATやファイアウォール内に設置されている宅内XMPPサーバ2との間に、データが直接に転送される直通のプライベートデータを簡便に開設することができる。また、携帯端末3のプライベート端末クライアント機能部332と宅内XMPPサーバ2との間では、プライベートデータ回線7を介して、データが直接に転送されるので、NATやファイアウォールなどによって、データ転送が遮断されるなどの影響をうけることがない。
次に、本実施形態のデータ転送システム1の具体的な動作について説明する。図4は、本発明の実施形態において宅内XMPPサーバと携帯端末との間で直通のプライベートデータ回線を開設するための設定を行う手順を説明するための動作図である。
ステップS101では、宅内XMPPサーバ2の公開宅内クライアント機能部231は、第1ネットワーク61を介してクラウド41などの公開XMPPサーバ4に接続され、公開XMPPサーバ4との間に、XMPPに準拠した通信が可能な第1公開セッションを確立する。この第1公開セッションでは、公開XMPPサーバ4がサーバとして機能し、宅内XMPPサーバ2の公開宅内クライアント機能部231がクライアントとして機能する。
ステップS102では、任意のタイミングで、携帯端末3の公開端末クライアント機能部331が公開XMPPサーバ4第2ネットワーク62を介して接続し、公開XMPPサーバ4との間に、XMPPに準拠した通信が可能な第2公開セッションを確立する。この第2公開セッションでは、公開XMPPサーバ4がサーバとして機能し、携帯端末3の公開端末クライアント機能部331がクライアントとして機能する。
ステップS103では、公開XMPPサーバ4は、第1公開セッションを通じて宅内XMPPサーバ2の公開宅内クライアント機能部231にプレゼンスリストを送信するとともに、第2公開セッションを通じて携帯端末3の公開端末クライアント機能部331にプレゼンスリストを送信する。なお、両者に送信されるプレゼンスリストは、公開XMPPサーバ4に接続されているクライアント装置(宅内XMPPサーバ2や携帯端末3を含む)の一覧を示すとともに、クライアント装置毎に現在の状態を示すプレゼンス情報を有している。各クライアント装置のプレゼンス情報には、各クライアント装置の現在の通信状態(たとえば、通信できる状態であるか否かなど)やアドレスなどの情報が含まれる。
また、宅内XMPPサーバ2及び携帯端末3は、このプレゼンスリストを受信することにより、第1公開セッション、公開XMPPサーバ4、第2公開セッションを経由して、互いに通信可能となったことを認識する。なお、以下では、宅内XMPPサーバ2の公開宅内クライアント機能部231と、携帯端末3の公開端末クライアント機能部331とが、第1公開セッション、公開XMPPサーバ4、第2公開セッションを経由して通信する通信経路を公開データ回線と呼ぶ。
次に、宅内XMPPサーバ2の公開宅内クライアント機能部231は、必要に応じて、宅内XMPPサーバ2のプライベート宅内サーバ機能部232と、携帯端末3のプライベート端末クライアント機能部332との間でデータが直接に送受信される直通のプライベートデータ回線7(プライベートデータ通信経路)を開設するための設定を開始する。
なお、このプライベートデータ回線7の設定及び開設は、XMPPの応用プロトコルであるXEP−0166(Jingle)、XEP−0167(Jingle RTP Sessions)、XEP−0177(Jingle Raw UDP Transport)などに準拠して行われる。このとき、宅内XMPPサーバ2の公開宅内クライアント機能部231は、プライベートデータ回線7の設定を提案する側、すなわち、Jingleのイニシエータとなり、携帯端末3の公開端末クライアント機能部331は、プライベートデータ回線7の設定の提案に対して同意又は拒否する側、すなわち、Jingleのレスポンダとなる。
ステップS104において、宅内XMPPサーバ2の公開宅内クライアント機能部231は、公開データ回線を介して携帯端末3の公開端末クライアント機能部331に、両者の間でデータが直接に送受信される直通のプライベートデータ回線7の開設を提案する旨を送信する。
また、宅内XMPPサーバ2がプライベートデータ回線7の開設を提案する旨の通知を携帯端末3に送信するタイミングは特に限定しない。例えば、携帯端末3から宅内XMPPサーバ2にデータを直接に送信する旨の通知を、携帯端末3から公開XMPPサーバ4を経由する公開データ回線を介して宅内XMPPサーバ2が受信したとき、宅内XMPPサーバ2がプライベートデータ回線7の開設を提案する旨の通知を携帯端末3に送信するようにしてもよい。
ステップ105では、携帯端末3の公開端末クライアント機能部331は、公開データ回線を介して宅内XMPPサーバ2の公開宅内クライアント機能部231に、その提案を確認した旨を送信する。
そして、ステップ106において、宅内XMPPサーバ2の公開宅内クライアント機能部231と携帯端末3の公開端末クライアント機能部331との間で、公開データ回線を介して、プライベートデータ回線7を開設するための設定内容についての交渉(ネゴシエーション)が、XMPPの応用プロトコルであるXEP−0166(Jingle)、XEP−0167(Jingle RTP Sessions)、XEP−0177(Jingle Raw UDP Transport)などに準拠して行われる。このネゴシエーションにより、たとえば、両者の間での通信可能なIPアドレスセットが検出される。なお、このネゴシエーションの結果に応じて、Jingleのレスポンダである携帯端末3の公開端末クライアント機能部331は、プライベートデータ回線7の開設の提案に対して、同意するか拒否するかを判断する。本実施形態では、ネゴシエーションの結果、携帯端末3の公開端末クライアント機能部331は、同意することを判断したものとする。
ステップS107では、携帯端末3の公開端末クライアント機能部331は、公開データ回線を介して宅内XMPPサーバ2の公開宅内クライアント機能部231に、プライベートデータ回線7の設定の提案に同意する旨を送信する。
ステップS108では、宅内XMPPサーバ2の公開宅内クライアント機能部231は、公開データ回線を介して携帯端末3の公開端末クライアント機能部331に、提案の同意を確認した旨を送信する。
以上によって、宅内XMPPサーバ2と携帯端末3との間でデータが直接に送受信される直通のプライベートデータ回線7を開設するための設定が完了する。
上述の手順で行われた設定に基づいて、宅内XMPPサーバ2と携帯端末3とを直接に接続するプライベートデータ回線7が開設される。開設されたこのプライベートデータ回線7を介して、携帯端末3は、公開XMPPサーバ4を経由することなく、宅内XMPPサーバ2にデータを直接送信することができる。図5は、本発明の実施形態において宅内XMPPサーバと携帯端末との間に開設されたプライベートデータ回線を介してデータが送信される手順を説明するための動作図である。
ステップS201では、宅内XMPPサーバ2において、公開宅内クライアント機能部231は、プライベート宅内サーバ機能部232に、ネゴシエーションにより設定されたプライベートデータ回線7の開設に必要なパラメータ(例えば、検出した携帯端末3のIPアドレスなど)などを有する回線設定情報を通知する。
ステップS202では、携帯端末3において、公開端末クライアント機能部331は、プライベート端末クライアント機能部332に、ネゴシエーションにより設定されたプライベートデータ回線7の開設に必要なパラメータ(例えば、検出した宅内XMPPサーバ2のIPアドレスなど)などを有する回線設定情報を通知する。
ステップS203では、宅内XMPPサーバ2のプライベート宅内サーバ機能部232と、携帯端末3のプライベート端末クライアント機能部332との間に、データが直接に送受信される直通のプライベートデータ回線7が開設される。なお、プライベートデータ回線7の開設は、XMPPの応用プロトコルであるXEP−0166(Jingle)、XEP−0167(Jingle RTP Sessions)、XEP−0177(Jingle Raw UDP Transport)などに準拠して行われる。また、ここで、開設されるプライベートデータ回線7は、公開XMPPサーバ4を経由しない通信経路である。
このプライベートデータ回線7は、宅内XMPPサーバ2のプライベート宅内サーバ機能部232と、携帯端末3のプライベート端末クライアント機能部332との間に開設される論理的な通信経路であるとともに、第1ネットワーク61及び第2ネットワーク62とは論理的に異なる通信経路である。なお、論理的な通信経路とは、物理的に見た通信回線が有する論理的に見た仮想の通信回線(論理回線)である。たとえば、物理的には通信回線が1本であっても、複数の論理回線を設定することができる。また、各論理回線では異なったデータ通信を行うことができる。
そのため、宅内XMPPサーバ2と携帯端末3との間にデータが直接に転送される直通のプライベートデータ回線7を開設するとき、新たに物理的な通信回線を設ける必要がない。すなわち、既存の物理的な通信回線を利用して、プライベートデータ回線7を開設することができる。また、第1ネットワーク61や第2ネットワーク62とプライベートデータ回線7とが物理的に同じ通信回線を利用する場合であっても、それらは、異なる論理回線となっているので、互いに干渉することがなく、データの転送速度やデータの受信間隔がばらつく転送揺らぎなどが発生するおそれはない。
また、このプライベートデータ回線7は、特に限定されない。プライベートデータ回線7は、XMPPの応用プロトコルに準拠した通信を行うことができる回線であれば利用できる。また、このプライベートデータ回線7は、暗号化された回線やVPNを利用した通信経路(VPN回線)などを利用することもでき、その中でプライベートXMPPセッションを実行するものであってもよい。暗号化された回線を利用することにより、プライベートデータ回線7を介して転送されるデータは、暗号化で厳重に保護・管理することができるので、安全且つ確実にデータを転送する事ができるとともに、データのセキュリティ性をより向上させることができる。また、VPN回線を利用することにより、一般に共用されている通信網を利用して、セキュリティ性の高いプライベートデータ回線7を開設することができる。なお、プライベートデータ回線7を介して転送されるデータが、暗号化されていてもよい。データの暗号化には、例えば、SSL(Secure Socket Layer)などが利用できる。
ステップS204では、携帯端末3のプライベート端末クライアント機能部332は、開設したプライベートデータ回線7を介して宅内XMPPサーバ2のプライベート宅内サーバ機能部232に、携帯端末3自身のプレゼンス情報を送信する。
ステップS205では、携帯端末3は、プライベート端末クライアント機能部332からプライベートデータ回線7を介して宅内XMPPサーバ2のプライベート宅内サーバ機能部232に転送するデータを準備する。ここでは、たとえば、ライフログ情報といった個人情報などのデータをXML(eXtensible Markup Language)形式のデータに変換する。なお、このとき、SSL(Secure Socket Layer)などのプロトコルを利用して、プライベートデータ回線7を介して転送するデータを暗号化してもよい。
ステップS206では、携帯端末3のプライベート端末クライアント機能部332は、プライベートデータ回線7を介して宅内XMPPサーバ2のプライベート宅内サーバ機能部232に、XMPPの応用プロトコルであるpep(XEP−0163)などに準拠して、S205にて用意したデータを転送する。なお、pep(XEP−0163)のほか、pubsub(XEP−0060)に準拠する手順で、データ転送を行ってもよい。
ステップS207では、宅内XMPPサーバ2のプライベート宅内サーバ機能部232は、携帯端末3のプライベート端末クライアント機能部332からプライベートデータ回線7を介して受信し、そのデータをアーカイブして蓄積する。
ステップS208において、データの転送が完了すると、携帯端末3のプライベート端末クライアント機能部332は、データの転送が完了した旨の通知を含むプレゼンス情報を、プライベートデータ回線7を介して宅内XMPPサーバ2のプライベート宅内サーバ機能部232に送信する。
ステップS209では、携帯端末3において、プライベート端末クライアント機能部332から公開端末クライアント機能部331に、プライベートデータ回線7を切断する旨が通知される。
ステップS210では、宅内XMPPサーバ2において、プライベート宅内サーバ機能部232から公開宅内クライアント機能部231に、プライベートデータ回線7を切断する旨が通知される。
ステップS211では、携帯端末3の公開端末クライアント機能部331は、プライベート端末クライアント機能部332からプライベートデータ回線7を切断する旨が通知されると、第2公開セッションを介して公開XMPPサーバ4に、プライベートデータ回線7を切断する旨の通知を送信する。また、その通知を受信した公開XMPPサーバ4は、第1公開セッションを介して宅内XMPPサーバ2の公開宅内クライアント機能部231に、プライベートデータ回線7を切断する旨の通知を送信する。そして、プライベートデータ回線7が、XMPPの応用プロトコルであるXEP−0166(Jingle)、XEP−0167(Jingle RTP Sessions)、XEP−0177(Jingle Raw UDP Transport)などの通信規約に準拠して、切断される。
ステップS212では、携帯端末3の公開端末クライアント機能部331は、第2ネットワーク62を介した公開XMPPサーバ4との接続を切断して、公開XMPPサーバ4との通信を終了する。
ステップS213では、宅内XMPPサーバ2の公開宅内クライアント機能部231は、第1ネットワーク61を介した公開XMPPサーバ4との接続を切断して、公開XMPPサーバ4との通信を終了する。
以上によって、宅内XMPPサーバ2の公開宅内クライアント機能部231、及び携帯端末3の公開端末クライアント機能部331が、公開XMPPサーバ4から提供されるXMPPに規定された通信規約に準拠する通信機能により、宅内XMPPサーバ2のプライベート宅内サーバ機能部232と携帯端末3のプライベート端末クライアント機能部332との間に、データが直接に転送される直通のプライベートデータ回線7を開設する。このように、宅内XMPPサーバ2の公開宅内クライアント機能部231、及び携帯端末3の公開端末クライアント機能部331は、公開XMPPサーバ4から提供される通信機能によって、XMPPに規定された様々な応用プロトコル(通信規約)を利用することができる。従って、宅内XMPPサーバ2は、NATやファイアウォール内に設置されていたとしても、公開XMPPサーバ4に接続された外部の携帯端末3との間にデータが直接に転送される直通のプライベートデータ回線7を簡便に開設することができる。また、宅内XMPPサーバ2と携帯端末3との間では、プライベートデータ回線7を介して、データが直接に転送されるので、NATやファイアウォールなどによって、データ転送が遮断されるなどの影響をうけることがない。
さらに宅内XMPPサーバ2の公開宅内クライアント機能部231とプライベート宅内サーバ機能部232とはそれぞれ独立している。また、さらに携帯端末3の公開端末クライアント機能部331とプライベート端末クライアント機能部332とはそれぞれ独立している。よって、宅内XMPPサーバ2のプライベート宅内サーバ機能部232やプライベートデータ回線7を介してこれに接続されている携帯端末3のプライベート端末クライアント機能部332は、公開XMPPサーバ4が設置されている公開されたネットワーク上から不可視となることができる。よって、宅内XMPPサーバ2のプライベート宅内サーバ機能部232や携帯端末3のプライベート端末クライアント機能部332、プライベートデータ回線7のセキュリティ性が向上する。よって、携帯端末3を使用するユーザは、個人情報のようなセキュリティ性が重要な情報を、公開XMPPサーバ4を経由することなく、安全且つ確実に、プライベートデータ回線7を介して宅内XMPPサーバ2のプライベート宅内サーバ機能部232に転送することができる。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせに色々な変形例は可能であることは、本発明の範囲にあることは当業者に理解されるところである。
たとえば、上述の実施形態においては、家庭内に設置された宅内XMPPサーバ2に、携帯端末3から、ライフログ情報のような個人情報などのセキュリティ性を要するデータが転送され、宅内XMPPサーバ2に蓄積されるデータ転送システム1について説明したが、本発明はこれに限定されるものではない。本発明は、公開XMPPサーバ4に接続されたクライアント装置と非公開サーバとの間で利用される、XMPPに規定された様々な応用プロトコル(通信規約)を利用した情報サービス全般に対して、適用可能である。
また、上述の実施形態において、データ転送システム1はXMPPを利用して構築され、公開XMPPサーバ4、宅内XMPPサーバ2、携帯端末3はそれぞれ、XMPPに準拠した通信を行う構成としたが、本発明はこれに限定されるものではない。XMPPに類似するプロトコル(通信規約)を利用するものとしてもよい。
また、上述の実施形態において、データ転送を行うプライベートデータ回線7の設定・開設やデータ転送などは、XMPPの応用プロトコルであるJingle(XEP−0166)や、Jingle−RTP(XEP−0167)、Jingle−UDP(XEP−0177)のうちの少なくともいずれかの規約に従うものとしたが、これに限定するものではない。2つの通信可能な端末装置の間にデータを送受信する通信経路を確立するためのプロトコル(通信規約)であれば利用できる。
また、上述の実施形態において、宅内XMPPサーバ2及び携帯端末3は、図4のS101及びS102において公開XMPPサーバ4と接続されてから、図5のS212及びS213において公開セッションが切断されるまで、常時接続されるものとして説明した。ここで、宅内XMPPサーバ2は常時接続されず、公開XMPPサーバ4と一時的に接続を持たない場合には、携帯端末3は公開XMPPサーバ4や宅内XMPPサーバ2との通信を一時保留し、任意のタイミングで公開XMPPサーバ4を介して、宅内XMPPサーバ2との通信を再試行するものとしてもよい。