JP5198916B2 - インターネット接続システム - Google Patents

インターネット接続システム Download PDF

Info

Publication number
JP5198916B2
JP5198916B2 JP2008092250A JP2008092250A JP5198916B2 JP 5198916 B2 JP5198916 B2 JP 5198916B2 JP 2008092250 A JP2008092250 A JP 2008092250A JP 2008092250 A JP2008092250 A JP 2008092250A JP 5198916 B2 JP5198916 B2 JP 5198916B2
Authority
JP
Japan
Prior art keywords
application program
communication module
virtual network
server
client device
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.)
Active
Application number
JP2008092250A
Other languages
English (en)
Other versions
JP2009159587A (ja
Inventor
仁志 薗田
宏樹 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Freebit Co Ltd
Original Assignee
Freebit Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freebit Co Ltd filed Critical Freebit Co Ltd
Priority to JP2008092250A priority Critical patent/JP5198916B2/ja
Publication of JP2009159587A publication Critical patent/JP2009159587A/ja
Application granted granted Critical
Publication of JP5198916B2 publication Critical patent/JP5198916B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、IPv4(Internet Protocol version 4)が普及した現状のインフラ環境の下で、比較的簡易な手段により異なるLANに属する端末同士を、インターネットを通してかつセキュリティの高い方法で双方向の通信を可能とするための、前記端末にインストールされるコンピュータソフトウエアアプリケーションプログラムに関するものである。
一般に、インターネットを中心とした公衆ネットワークを通したサービス提供環境においては、全ての情報の価値は、クライアント側ではなく、サーバ側に集まるようになっている。
すなわち、各クライアントである端末機器は、基本的にインターネット上の情報を閲覧するための単なるビューワーにしか過ぎない。また、各クライアントはインターネット側に様々な情報の要求を発しており、インターネット側ではそのような各クライアントの情報を得ることができる。すなわち、全ての情報は、インターネット側に集められ、インターネット側からは定型的な情報が一方的に与えられるに過ぎない。このため、クライアント端末機を製造しているメーカーは付加価値が生み出しづらい状況となっている。
このような状況を変えるためには、アクセス方向を逆行させ、サーバとクライアントの立場を逆転させることが必要である。すなわち、インターネットに接続される家庭内ネットワークがある場合、インターネット側から家庭内ネットワークへのアクセスが開始され、家庭内ネットワーク側からインターネット側へサービスが提供されるような状態を作り出す必要がある。
このためには、ローカルネットワークに接続された機器のそれぞれが、インターネット側からユニークに特定できること、家庭内のルーティングの問題、セキュリティの問題を解決する必要がある。このような課題に対応し、ひとつの解決を見出せる技術として、IPv6(Internet Protocol version 6:第6世代インターネットプロトコル)がある。
しかしながら、現在の日本のキャリアやインターネットサービスプロバイダを取り巻く環境を鑑みると、IPv6の普及にはかなりの時間がかかるものと考えられる。例えば、現在使用しているIPv4の機材償却に最低2年〜3年は必要であり、テスト的なサービスが行われているのみである。
今すぐにメーカーがIPv6対応ネットワークを実現するには、ISPレベルのサービスにまで手を出すしかないが、非常にコストがかかることであり、多くのメーカーにとって現実的ではない。家庭内ネットワークの事情が様々で非常に大きく異なることや、キャリアやISPによって接続の仕組みが大きく異なることもあり、これらの差を吸収して画一的なアプローチでIPv6環境を実現するための仕組みが必要である。
従来のIPv4環境下で、IPv6ネットワークで実現されるような家庭内ネットワークとインターネットとの間の双方向のアクセスを実現しようとする場合、以下のような問題がある。
例えば、現在のIPv4環境下においては、自宅にネットワーク家電を設置する場合、自宅ネットワークを通して、インターネットに接続されたルータに繋げて使用する。このため、ネットワーク家電のIPアドレスは、プライベートアドレスになってしまい、自宅ネットワーク以外からはアクセスすることはできない。
そこで、従来は、自宅のネットワーク家電にアクセスするために、ネットワーク家電をコントロールする機能を有する専用のルータを使用したり、ネットワーク家電をコントロールするための情報を一度インターネット上に設置されたデータセンターに蓄積し、ネットワーク家電からポーリングを行って取りに行く必要があった。
しかし、専用のルータを使用した場合、汎用性が低くなりコストも嵩む。ポーリングを行ってコントロール情報を取りに行く場合、リアルタイムでのアクセスは行えず、ネットワークやサーバへの負荷も高くなる。
このような課題を解決するため、本出願人が2005年5月20日に提出した国際出願PCT/JP2005/9280号(WO2005/114926号公報)に開示されたネットワーク接続方法及び中継装置がある(WO2005/114926号公報は、この言及によりこの明細書に組み込まれる)。この発明によれば、プライベートネットワーク内のコンピュータシステムとインターネット上のInterServerとの間にトンネリング接続のセッションを確立することにより比較的簡易な手段により家庭内ネットワークとインターネット間の双方向の通信が可能になる。
特に、WO2005/114926号公報に開示された中継装置のうち、クライアント機器にプログラムとしてインストールされるものとして、仮想デバイスドライバとして見えるインタフェースを有するものがあり、このような構成によれば、比較的簡易な構成によって上記通信が可能になる。しかしながら、この公報に開示された技術では、クライアント機器にインストールされたOS(オペレーションシステム)を介して通信を行うため、特定のプロトコルスタックが存在しないOSの場合、そのプロトコルを使用した通信を行うアプリケーションを用いた通信が行えないということがある。
例えば、IPv6プロトコルが存在しないOS環境下においては、IPv6を使用して通信を行うアプリケーションは使用できないということが考えられる。
この発明はこのような事情に鑑みてなされたもので、OS等による特定ネットワーク環境に依存せずに、アプリケーションで特定の通信プロトコルを使用して仮想ネットワークを利用した双方向通信が行え、かつ、そのアプリケーションを外部から直接操作してそのコンピュータ上で所定の処理を行わせるコンピュータソフトウエアを提供することを目的とするものである。
上記目的を達成するため、この発明の主要な観点によれば、ローカルネットワーク上のクライアント機器にインストールされたコンピュータソフトウエアプログラムであって、このクライアント機器上で所定の処理を行うアプリケーションプログラムと、このアプリケーションをインターネット上のサーバを通した仮想ネットワークに接続するための通信モジュールとを有し、前記通信モジュールは、前記アプリケーションプログラムとこのコンピュータにインストールされたオペレーションシステムのローカル通信プロトコルスタック群との間に介在し、前記アプリケーションプログラム用の仮想ネットワーク上のアドレスを保持し、かつ前記アプリケーションからの仮想ネットワーク宛のパケットをトンネリング処理して前記ローカル通信プロトコルスタックを通じて前記サーバに渡すものであり、前記ローカル通信プロトコルスタック群とは独立した、前記アプリケーションプログラムが仮想ネットワーク通じた通信をするのに必要なプロトコルスタックを備えており、前記アプリケーションプログラムは、前記通信モジュールから、前記仮想ネットワークを通してこのアプリケーションプログラム宛に送信された命令を受け取るように構成されており、その命令に応じて前記クライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスして所定の処理を行い、その処理の結果を前記通信モジュールを介して上記仮想ネットワーク側に返すものであり、アプリケーションプログラム用の仮想ネットワーク上のアドレスは、このアプリケーションがインストールされた前記クライアント機器とは独立していることを特徴とするコンピュータソフトウエアプログラムが提供される。
ここで、このプログラムは、インターネット上のサーバのグローバルアドレスを記憶しており、このサーバのグローバルアドレスに基づき、この通信モジュールとサーバとの間にトンネリング接続を確立し、前記アプリケーションプログラムからの要求パケットを捕捉し、発信元アドレスとして前記アプリケーションプログラム用の仮想ネットワークアドレスを付したものをカプセリングし、前記トンネリング接続を介して前記サーバへ送出すると共に、前記ローカル通信プロトコルスタックを通して当該通信モジュール宛パケットをディカプセリングすると共に、このディカプセリングしたパケットを前記アプリケーションプログラムに渡すものであることが好ましい。
また、別の1の実施形態においては、この通信モジュールは、インターネット上に設けられたトンネル仲介サーバに接続してこの仲介サーバから前記サーバのグローバルアドレスを受け取るものであるである。
さらなる別の1の実施形態によれば、この通信モジュールは、前記インターネット上のサーバから前記アプリケーションプログラム用の仮想ネットワーク上のIPアドレスを受け取り保持するものである。
さらなる別の1の実施形態によれば、前記インターネット上のサーバから前記アプリケーションプログラム用の仮想ネットワーク接続用のMACアドレスとIPアドレスを受け取り保持するものである。
さらなる別の1の実施形態によれば、この通信モジュールは、前記アプリケーションプログラムによって呼び出し可能なライブラリプログラムとして提供されている。
さらなる別の1の実施形態によれば、このプログラムは、初期化部を有し、この初期化部は、サーバとレイヤ2接続する場合には、前記レイヤ2、3、4プロトコルスタックのすべてを生成し、前記サーバとレイヤ3接続する場合には、レイヤ3および4プロトコルスタックを生成し、レイヤ2プロコルスタックは生成しない
ように構成されている。
さらなる別の1の実施形態によれば、前記アプリケーションプログラムは、前記通信モジュールから、仮想ネットワークを通した前記ファイルの取得命令を受け取り、それに基づいて前記ファイルを取得し前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。この場合、前記アプリケーションプログラムは、前記取得したファイルを前記通信モジュールに渡す前に所定のサイズに変換するものであることが好ましい。
さらなる別の1の実施形態によれば、前記アプリケーションプログラムは、前記通信モジュールから、仮想ネットワークを通した前記ファイルの検索命令を受け取り、それに基づいて検索を行い、その検索結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。この場合、前記ファイル検索命令には、ファイルに含まれるべき文字列と、検索結果をどのようなフォーマットで出力するかが指定されており、その検索結果を上記所定の形式で送信するものである。また、前記アプリケーションプログラムは、クライアント機器上のあらかじめインデックス化された情報から、検索文字列がマッチするかどうか検索エンジンを使い検索するものであることがさらに好ましい。
さらなる別の1の実施形態によれば、前記アプリケーションプログラムは、
前記通信モジュールから、仮想ネットワークを通した前記ファイルのアップロード命令を受け取り、クライアント機器上のあらかじめ設定されたディレクトリにファイルを出力し、その処理結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。
さらなる別の1の実施形態によれば、前記アプリケーションプログラムは、仮想ネットワークを通してVoIPパケットにてDTMFトーン信号/音声データを受け取り、当該DTMFトーン/音声データを解析し、あらかじめ設定されている処理若しくはプログラムを実行し、その実効結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。
さらなる別の1の実施形態によれば、前記アプリケーションプログラムは、前記通信モジュールから、仮想ネットワーク通したメール検索、メール一覧取得、メール内容取得のいずれかの要求を受け取り、クライアント機器に対して当該命令を実行させ、その結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。
さらなる別の1の実施形態によれば、前記コンピュータソフトウエアプログラムにおいて、前記アプリケーションプログラムは、前記通信モジュールから、前記仮想ネットワークを通したローカルネットワーク上の他の機器に対するアクセス命令を受け取り、当該他の機器にアクセス命令を送信し、その処理の結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。
さらなる別の1の実施形態によれば、前記コンピュータソフトウエアプログラムにおいて、前記アプリケーションプログラムは、インターネット上のサーバを通した仮想ネットワークに接続するVoIPプログラムである。この場合、このアプリケーションプログラムは、クライアント機器をインターネット上のサーバを通した仮想ネットワークに接続させるプロキシであることがこのましい。また、この場合、VoIPアプリケーションプログラムであり、SIP等のアドレス管理を必要とするプロトコルを利用し、その際のアドレス管理をトンネリングプロトコルでのIPアドレス管理と共用するものであることが好ましい。
さらなる別の1の実施形態によれば、前記アプリケーションプログラムにおいて、前記サーバは、接続要求者から前記インターネットを介してURL要求を受け取り、このURL要求に含まれるアプリケーションプログラム名に基づいて、このアプリケーションプログラムに前記URL要求を送り、前記クライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスして所定の処理を行わせ、その処理の結果を前記インターネット側に返す接続プロキシ装置を有するものである。
この発明の第二の主要な側面によれば、アプリケーションプログラムがインストールされたローカルネットワーク上のクライアント機器と、前記クライアント機器がインターネットを介して接続されるサーバと、を有するインターネット接続サービスに使用される前記サーバであって、前記クライアント機器とは独立して前記アプリケーションプログラムに割当てられた仮想ネットワーク上のIPアドレスを使用して、このアプリケーションプログラムとの間でトンネリング接続によるTCP/IPセッションを確立するトンネリング確立部と、前記アプリケーションプログラムとの間のTCP/IPセッションを、前記アプリケーションプログラム名及びその仮想ネットワーク上のIPアドレスで管理するアプリケーションプログラム管理装置と、接続要求者から前記インターネットを介してURL要求を受け取り、このURL要求に含まれる前記アプリケーションプログラム名に基づいて、このアプリケーションプログラムに前記URL要求を送り、前記クライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスして所定の処理を行わせ、その処理の結果を前記インターネット側に返す接続プロキシ装置と、を有することを特徴とするサーバが提供される。
この発明の1の実施形態によれば、前記サーバにおいて、前記トンネリング確立部は、前記TCP/IPによるトンネリング接続を確立する際に、前記アプリケーションプログラム用の仮想ネットワーク上のIPアドレスを前記クライアント機器に送信するものである。
別の1の実施形態によれば、前記サーバにおいて、前記トンネリング確立部は、前記TCP/IPによるトンネリング接続を確立する際に、前記アプリケーションプログラム用の仮想ネットワーク上のMACアドレスを前記クライアント機器に送信するものである。
さらなる別の1の実施形態によれば、前記サーバにおいて、前記接続プロキシ装置は、前記接続要求者の接続認証を行う接続認証部を有するものであることを特徴とするものである。
さらなる別の1の実施形態によれば、前記サーバにおいて、前記接続プロキシ装置は、前記アプリケーションプログラムから受け取った処理の結果を前記接続要求者のインターネット接続端末の種類に応じて変換若しくは整形する出力適正化部を有することを特徴とするものである。
さらなる別の1の実施形態によれば、前記サーバにおいて、前記接続プロキシ装置は、接続要求者からURL要求を、前記アプリケーションプログラムに対する複数の異なる命令のうちの1つに変換する命令変換手段を有するものである。
なお、この発明の更なる他の特徴と顕著な効果は次の発明を実施するための最良の形態の項に記載された実施形態及び図面を参照することによって当業者にとって理解される。
以下、この発明の一実施形態を図面を参照して説明する。
図1は、この実施形態に係るネットワーク構成の例を示したものである。
図中1は、IPv4(第1の通信プロトコル)で通信を行う各種クライアント機器2が接続されてなるローカルネットワークである。このローカルネットワーク1は例えば各家庭に導入されたLANによって構成される。また、各クライアント機器2には、OS(オペレーションシステム)7と、この発明の通信モジュールとしての中継通信モジュール8と、通信を行うアプリケーションプログラム9(例えばインターネットブラウザ)とがインストールされている。
そして、このローカルネットワーク1は、図示しない通信キャリア/ISPを介してインターネット網4に接続されている。このインターネット網4では、IPv4を用いて通信が行なわれるようになっている。
そして、このインターネット網4には、前記ローカルネットワーク1上のネットワーク家電2の通信を制御するInterServer6(この発明の「サーバ」)が接続されている。このInterServer6は、後で詳しく説明するように、前記ネットワーク家電2にインストールされたアプリケーションプログラム9と、インターネット網4上若しくは他のホーム/グローバルネットワーク1a上の全てのネットワーク家電2a、パーソナルコンピュータ2b、サーバ2cとの間の接続を仲介する機能を有するものである。
ここで、少なくとも中継通信モジュール8とInterServer6は、同じメーカー若しくは統一された規格の下に提供若しくは製造されることが意図されており、予め連動するように設計されたものである。そして、中継通信モジュール8には、後で説明するように、InterServer6から前記アプリケーションプログラム9用のIPv4での仮想プライベートアドレス/グローバルアドレスが付与され、ISPやキャリアを問わず前記InterServer6にトンネリング接続によるTCP/IPセッションが確立されて通信ができるようになっている。
この発明の1つの特徴は、仮想ネットワーク(または実ネットワーク)を、クライアント機器のOSを介することなく、前記アプリケーションプログラム9と結びつけ、このアプリケーションプログラム9に、上記ネットワーク家電2に格納されたファイルやこのネットワーク家電が接続されたローカルネットワーク上の他のネットワーク家電に格納されたファイルにアクセスさせることである。このために、具体的には、前記アプリケーションプログラム9自体が仮想ネットワーク(または実ネットワーク)上のIPv4若しくはIPv6アドレス、MACアドレスを保持することができるようになっている。以下、これを可能にする構成及び動作の一実施例について説明する。
図2は、前記クライアント機器2にインストールされたOS7、中継通信モジュール8及びアプリケーション9を示す機能ブロック図である。なお、この説明においては、本発明の特徴に関する構成のみ図示し説明することとし、その他、当然備えられているべき他の構成については、その図示及び説明を省略する。
図2中、OS7の部分は、カーネルに含まれるローカル通信プロトコルスタック群を示したもので、ネットワークカードを制御する物理的ネットワークアダプタ(レイヤ1、2)11と、ルートテーブル12と、IPレイヤ(レイヤ3)13と、TCPレイヤ(レイヤ4)14とが階層的に構成されている状態を示されている。
一方、前記中継通信モジュール8は、レイヤ2(Ethernet(登録商標) Link)15、ルートテーブル16、レイヤ3(IPレイヤ(IPv4/v6))17、レイヤ4(TCP/UDPレイヤ)18の各プロトコルスタックを、RFCに準拠する形で前記OS7とは独立して備えることで、特定ネットワーク環境に依存しないアプリケーションプログラム9の作成を可能にするものである。そして、この中継通信モジュール8は、さらに、トンネリング・アプリケーション19を有する。このトンネリング・アプリケーション19の機能は、後で詳しく説明するが、イーサネット(登録商標)リンク層15から受け取ったパケットをTCP−Over−TCP問題による輻輳、通信帯域低下を防止する処理を行って、トンネリング接続により前記InterServer6に送信するものである。なお、図中にはSSLが示されているが、このSSLを備えない構成であってもかまわない。
これら中継通信モジュール8を構成するソフトウエア群はライブラリとして提供され、前記アプリケーションプログラム9により適宜読み出されて、このアプリケーションプログラム9の通信インタフェースとして利用されるようになっている。このようにライブラリ化することで、各アプリケーションプログラム9の改変を最小限にすることが可能になる。
次に図2及び図3を参照してこの通信モジュール8の動作について説明する。
前記アプリケーションプログラム9が立ち上がると、このアプリケーションプログラム9の命令により、前記中継通信モジュール8がメモリに読み込まれる。すると、この中継通信モジュール8は、図3のステップS1に示すように、まず、前記トンネリング・アプリケーション19が、トンネルブローカ20に接続する。このトンネルブローカ20は、図示しないアドレスデータベースからトンネル接続を確立する先のInterServer6を選択し、前記中継通信モジュール8にこのInterServer6のIPv4アドレスを通知する。このことで、この中継通信モジュール8はInterServer6を識別可能になり、ユーザ認証を行った後(ステップS2)、InterServer6から受け取った前記アプリケーション用MACアドレスやIPアドレスを用いてトンネリングセッションを確立し通信を行うことができる(ステップS3)。
すなわち、前記アプリケーション9が立ち上げられ、前記中継通信モジュール8がInterServer6に接続すると、接続確立のための認証が行われ、これに基づいてInterServer6からこの通信モジュール8に対して、前記アプリケーションプログラム9用の仮想プライベートネットワーク用のMACアドレスおよびIPアドレスの割り当てが行われる(このMACアドレス及びIP アドレスは前記トンネルブローカ20から割り当てられても良い)。このMACアドレス及びIPアドレスは、前記中継通信モジュール8によってメモリにデータとして保持される。
なお、一の実施形態によれば、InterServer6側のプログラムは、前記アプリケーションプログラム9から見た場合、仮想ネットワーク上の1つのハブ(HUB)のように見える。すなわち、InterServer6は、グループ毎にハブを割り当てるように構成されており、本発明では、この割り当てをグループ化と呼んでいる。なお、InterServer6が複数ある場合において、同じ仮想プライベートネットワークに属するべきアプリケーションプログラム9若しくはネットワーク端末2が別々のInterServer6に接続されることも考えられるが、この場合には、複数のInterServer6若しくは複数のサーバプログラム(ハブサーバ)をまとめて管理するハブ・ボーンサーバ21により、接続がルーティングされるようになっていることが好ましい。以下、このような接続をHUB接続(若しくは「レイヤ2接続」)と称する。
上記のレイヤ2接続に対して、この中継通信モジュール8は、前記InterServer6とPPP接続(若しくは「レイヤ3接続」)することもきるように構成されている。上記レイヤ2接続とレイヤ3接続の切り替えは、図2に23で示す初期化部によって実行される。この初期化部23は、前記アプリケーションプログラム9から渡されたレイヤ2接続かレイヤ3接続かを示す引数に基づき、初期化プロセスを実行する。この初期化プロセスでは、たとえば、この引数に応じて所定のトンネルブローカ20およびInterServer6が選択され、接続確立が行われる。また、上記初期化部23は、上記引数に応じて、レイヤ2接続の場合には、前記レイヤ2、3、4プロトコルスタックのすべてを生成し、レイヤ3接続の場合には、レイヤ3および4プロトコルスタックを生成してレイヤ2プロコルスタックは生成しないように動作する。
また、レイヤ2接続において、MACアドレスに関しては、本出願人が前に出願した国際出願PCT/JP2005/9280号(WO2005/114926号公報)に開示されたネットワーク接続方法及び中継装置では、擬似的に2つのMACアドレスを用い、MACアドレスの操作を行っていたが、本実施形態では、このような処理は不要である。
すなわち、国際出願PCT/JP2005/9280号では、仮想デバイスドライバとして見えるインタフェースを有するものであり、この仮想デバイスにはすべて同一のMACアドレスが割り当てられていたため、必要に応じてパケット上のMACアドレスの書き換えを行うことにより、MACアドレスのユニーク性を確保するようにしていた。これに対して、本実施形態の中継通信モジュール8は実インタフェースと同様の動作をするので、前記仮想イーサデバイスのようなMACアドレス書換えは不要である。つまり、中継通信モジュール8はInterServer6から取得したMACアドレスを自身にそのまま割当て、ARP要求・応答処理を実インタフェースと同じく行うものである。
すなわち、この発明によれば、前記ローカルネットワーク上のクライアント機器(ネットワーク家電2等)にインストールされたアプリケーションプログラム9を、インターネット上のサーバ(InterServer6)を通した仮想ネットワークに接続するために、前記クライアント機器にインストールされる中継通信モジュール8がまず提供される。この中継通信モジュール8は、前記アプリケーションプログラム9とこのコンピュータにインストールされたOS7のローカル通信プロトコルスタック群(11〜14)との間に介在し、前記アプリケーションプログラム9用の仮想ネットワーク上のアドレスを保持し、かつ前記アプリケーションプログラム9からの仮想ネットワーク宛のパケットをトンネリング処理して前記ローカル通信プロトコルスタック(11〜14)を通じて前記InterServer6に渡すものである。そして、この中継通信モジュール8は、前記ローカル通信プロトコルスタック群(11〜14)とは独立した、前記アプリケーションプログラム9が仮想ネットワーク通じた通信をするのに必要なレイヤ2、3、4プロトコルスタック(15〜18)を備えている。
このような構成によれば、OS7のローカル通信プロトコルスタック(11〜14)とは独立したレイヤ2、3、4のプロトコルスタックを保持しているから、OS等による特定ネットワーク環境に依存せずに通信できるネットワークアプリケーション(アプリケーションプログラム9)を作成できる。すなわち、特定のプロトコルスタックが存在しないOS上であっても、そのプロトコルを使用したアプリケーションソフトを実現することができる。例えば、IPv6プロトコルが存在しないOS環境下であっても、アプリケーションソフト単位でIPv6を使ったアプリケーションを作成することができるものである。
さらに言い換えると、前記アプリケーション9自体が本実施形態の中継通信モジュール8と一体となって、このクライアント機器(のインタフェース)とは独立した独自のIPアドレスを持つあたかも1つのデバイスとして実現できることになる。
次に、図4以下を参照して、この実施形態に示された通信モジュール8およびアプリケーションプログラム9の実施例を説明する。
この実施形態では、アプリケーションプログラムとして、「S−nodeサーバメインモジュール41」がインストールされている。このS−nodeサーバメインモジュール41は独自にVPNトンネリング接続を終端し、クライアント機器とは独立したIPアドレスを保持するようになっている。この能力は、上述したように、前記通信モジュール8によって実現される。そして、このS−Nodeサーバモジュール41は、このプログラムがインストールされているPCの内部のリソースや、PCの所属している家庭内LANに存在している様々なネットワークデバイスに、さまざまな形でアクセス可能になっている。
上記アクセス能力は図に42で示すAPIという形でHTTPプロトコルを仲介して達成される。すなわち、この実施形態ではクライアント機器上に存在しているファイル検索のためのAPI(ファイル検索モジュール)、PC上のファイルをアクセスしまた取得するためのAPI(ファイルアップロードモジュール)、PC上に存在する画像ファイルに対して、拡大縮小を行うAPI(画像拡大縮小モジュール)、VoIPソフトフォンを実現するAPI(VoIPモジュール)、VoIPモジュールと連携して音声信号等を認識するDTMF音声認識モジュールがインストールされている。また、家庭LAN上に存在するNASサーバへのアクセスをするためのAPI(家庭内のLANに所属しているネットワークデバイスに対するアクセスはS−Nodeサーバ自体がプロトコル変換などを行うPROXYのように動作することでこれを実現する。)、家庭LAN上に存在するDLNA対応などのマルチメディアデバイスにアクセスするためのAPI(マルチメディアデバイスアクセスモジュール)がインストールされていても良い。また、これらの機能は「プラグイン」として実装可能なため、新たな機能を随時追加することが可能となっている。そして、S−nodeサーバメインモジュールは、受け取った命令に応じてそれぞれのAPIを使用して命令に基づく処理を実行するようになっている。
例えば、前記S−nodeサーバメインモジュール41が前記通信モジュール8から、仮想ネットワークを通した前記ファイルの取得命令を受け取った場合、前記ファイル取得モジュールにより当該クライアント機器に格納された目的のファイルを取得し、前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。なお、ここで前記命令に、前記取得したファイルを前記通信モジュールに渡す前に所定のサイズに変換する命令が含まれている場合には、前期ファイル変換モジュールがこれを実行する。
前記S−nodeサーバメインモジュール41が前記通信モジュール8から仮想ネットワークを通した前記ファイルの検索命令を受け取った場合、前記ファイル検索モジュール9によりと検索が実行され、その検索結果を前記通信モジュールを介して前記仮想ネットワーク側に送信する。この場合、前記ファイル検索命令には、ファイルに含まれるべき文字列と、検索結果をどのようなフォーマットで出力するかが指定されており、その検索結果を上記所定の形式で送信するようになっている。また、検索は、クライアント機器上のあらかじめインデックス化された情報から、検索文字列がマッチするかどうか検索エンジンを使い検索するものである。
前記S−nodeサーバメインモジュール41が前記通信モジュール8から仮想ネットワークを通した前記ファイルのアップロード命令を受け取った場合、前記ファイルアップロードモジュールによりクライアント機器上のあらかじめ設定されたディレクトリにファイルを出力し、その処理結果を前記通信モジュール8を介して前記仮想ネットワーク側に送信する。
前記S−nodeサーバメインモジュール41が前記通信モジュール9から仮想ネットワークを通したVoIPパケットにてDTMFトーン信号/音声データを受け取った場合、前記VoIPモジュールは、当該DTMFトーン/音声データを解析し、あらかじめ設定されている処理若しくはプログラムを実行し、その実効結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
前記S−nodeサーバメインモジュール41が前記通信モジュール9から仮想ネットワークを通したメール検索、メール一覧取得、メール内容取得のいずれかの要求を受け取った場合、前記メールモジュールがクライアント機器に対して当該命令を実行させ、その結果を前記通信モジュール9を介して前記仮想ネットワーク側に送信するようになっている。
前記S−nodeサーバメインモジュール41が前記通信モジュール9から仮想ネットワークを通したローカルネットワーク上の他の機器に対するアクセス命令を受け取った場合、他機器アクセスモジュールが、当該他の機器にアクセス命令を送信し、その処理の結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである。
なお、前記VoIPモジュール及びDTMF音声認識モジュールによれば、通話だけでなく、外出先から家庭のクライアント機器に対して電話をかけ、音声またはDTMFトーン等を用いて、これら家庭のクライアント機器が制御可能になる。すなわち、この機能により、家庭のクライアント機器に対して電話を使っての制御が可能になる。つまり、インターネットが使えない状況でもクライアント機器の制御が可能になる。
また、図5に示すのは、この実施形態を利用したIPv4/IPv6アプリケーションの通信の形態である。すなわち、前述したように、中継通信モジュール8はクライアントコンピュータ2上にあり、TCP/IP(OS)を使用して、インターネット(IPv4)を通じてInterServer6に接続し、このInterServer6からIPv6アドレスを取得する。InterServer6は、インターネット(IPv4)ともう一方のインターネット(IPv6)の中継装置として動作し、中継通信モジュール8はInterServer6とトンネリングにより直接通信することでIPv6を使用することができるようになっている。したがって、クライアントコンピュータ2上にIPv6プロトコルが無い場合でも、アプリケーションプログラム9が中継通信モジュール8を使用することで、インターネット(IPv6)による通信が行える。
この図5は、アップリケ―ション9が、前記ファイルアクセスモジュール42を利用してNASストレージデバイスおよびDLNA対応ハードディスクレコーダ等のマルチメディアデバイスへアクセスしてファイルを取得する場合の例である。
すなわち、この例では、クライアント機器は、LAN等のローカルネットワーク(IPv4)に接続されたパーソナルコンピュータ2である。このパーソナルコンピュータ2には、上記中継通信モジュール8とファイルアクセスモジュール42を備えたアプリケーションプログラム9がインストールされている。
また、この実施形態では、InterServer6に、S−Nodeプロキシ51が接続されている。このS−Nodeプロキシ51は、前記クライアント機器2にインストールされたアプリケーション9をセキュアかつ適切に制御するためにインターネット側に設置されるサーバである。このS−Nodeプロキシ51は名前の通り、インターネット側からクライアント機器2のアプリケーション9へのアクセスをプロキシする役目を有する。
このS−Nodeプロキシ51は、図8に示すように構成されている。
先に説明したように、InterServer6は、トンネリング接続を終端しかつ仮想ネットワークのハブとして機能するように構成されている。このInterServer6には、このようなハブとしての機能を提供するサーバ側プログラム81がインストールされている。
このサーバー側プログラムは、前記クライアント機器とは独立して前記アプリケーションプログラム9に割当てられた仮想ネットワーク上のIPアドレスを使用して、このアプリケーションプログラム9との間でトンネリング接続によるTCP/IPセッションを確立するトンネリング確立部82と、前記アプリケーションプログラム9との間のTCP/IPセッションを、前記アプリケーションプログラム名及びその仮想ネットワーク上のIPアドレスで管理するアプリケーションプログラム管理装置83と、を有する。前述したように、このアプリケーションプログラム81は、各アプリケーション9に割り当てるべきIPアドレス若しくはMACアドレス、若しくはその両方を管理しており、前記トンネリング確立部82は、前記TCP/IPによるトンネリング接続を確立する際に、前記アプリケーションプログラム用の仮想ネットワーク上のIPアドレス若しくはMACアドレス、若しくはその両方を前記クライアント機器に送信するものである。
一方、携帯電話や出先のPC等から通常のIPv4プロトコルによりインターネットを介して前記S−Nodeサーバアプリケーション9にアクセスしようとする場合には、前記S−Nodeプロキシ51が必要となる。この実施形態では、このS−Nodeプロキシ51は、後で詳しく説明するように、上記アクセスがユーザ認証を要するものであるかを判断し、認証を要するものである場合には、独自のアカウントデータベース52によりユーザ認証を行い、クライアント機器2のアプリケーション9へのアクセスを制御するようになっている。
また、このプロキシ51は、接続要求者から前記インターネットを介してURL(Uniform Resource Locator)要求を受け取り、このURL要求に含まれる前記アプリケーションプログラム名に基づいて、この前記クライアント機器(2)上のアプリケーションプログラム9に前記URL要求(ファイルへのパス)を送り、前記プログラム9にクライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスさせるようになっている。
すなわち、この実施形態では、クライアント機器2のすべてのリソースを一意なURLで表現でき、このURLを用いて接続要求者の端末から前記クライアント機器2に対してhttpにてアクセスすることができる環境を提供するものである。
この実施形態で特定のリソースを表わすURLは、好ましくは、以下の要素で構成されている。
http//:(プロキシサーバ・ホスト名)/sn/(クライアント機器上のS−Nodeサーバアプリケーションプログラム/ホスト名)/(このプロキシから前記アプリケーションプログラムを介した所定のファイルへの接続を公開するかの識別子)/(クライアント機器上、若しくはこのクライアント機器が接続されたネットワーク上の目的ファイルへのパス)
これによれば、例えば、プロキシ名が、snproxy.dream.jp、S−Nodeアプリケーションプログラム・ホスト名がtaro_node、クライアント機器におけるリソースへのパスが、/photo/cat.jpgとすると、「http://snproxy.dream.jp/sn/taro_node/_pub/photo/cat.jpg」のように表現される。
ここで、「このプロキシから前記アプリケーションプログラムを介した所定のファイルへの接続を公開するための識別子」は、「_pub」であり、この識別子がある場合、前記ユーザ認証を経ることなく、この要求を、インターネット側から仮想ネットワーク側に通すように構成されている。
そして、前記プロキシ51は、前記アカウントDB52で、前記(クライアント機器上のS−Nodeサーバアプリケーションプログラム・ホスト名)と、このS−Nodeアプリケーションプログラムの仮想ネットワーク上の仮想アドレスとを管理しており、前記URLは、例えば、サーバのエイリアス定義により次の呼び出しに変換するようになっている。
http://(SNodeサーバアプリケーション名・ホスト名)/(クライアント機器上、若しくはこのクライアント機器が接続されたネットワーク上の目的ファイルへのパス);(セッションID)
この実施形態では、アカウントDB52から取得され、S−Nodeサーバアプリケーションプログラム9の仮想ネットワーク上の仮想IPアドレスに対するHTTPアクセスに変換される。
したがって、前記仮想ネットワーク上のIPアドレスを「2001:3e0:0:10::1」とした場合には、http://2001:3e0:0:10::1/_pub/photo/cat.jpg;SESSID=abc1234に変換される。
この実施形態では、これらの解析を高速化を実現するため、専用のURL解析部84を備えている。
また、この実施形態では、URLの表現方法として、命令を含めた形(APIとしての表現)でも可能となっている。
この場合の書式は、例えば、 http//:(プロキシサーバ・ホスト名)/sn/(クライアント機器上のS−Nodeサーバアプリケーションプログラム/ホスト名)/(このプロキシから前記アプリケーションプログラムを介した所定のファイルへの接続を公開するかの識別子)/(クライアント機器上、若しくはこのクライアント機器が接続されたネットワーク上の目的ファイルへのパス)(命令(API))
命令には、例えば、ファイルの取得、映像の閲覧、装置の起動、保存、再生、コピー、その他の具体的動作が、クライアント機器のS−Nodeアプリケーションプログラムに設けられた各種APIモジュールに応じて指定可能である。
図9は、このプロキシ51の動作を示したフローチャートである。
まず、接続要求者からのURL要求(エイリアス定義により変換済のもの)を受け取ると、まず、ステップ91でPub接続(認証不要の接続)かを、受け取ったURLに「Pub」の文字がふくまれているかで判断し、Pub接続の場合には、すでにセッションがあるかを判断し(ステップS92)、セッションが確立されていない場合にはセッションIDを付与してセッションを確立する(ステップS93)。
Pub接続でない場合で、セッションが確立されていない場合(ステップS94)には、前記認証IDを利用したユーザ認証を行わせ(ステップS95)、これによりセッションIDを与える。
以上により、セッションIDが確認されたならば、前記インターネットからの接続を仮想ネットワークに接続された前記S−nodeアプリケーションプログラム9にルーティングし、S−NodeアプリケーションへURLに含まれる命令を転送し、その応答を受け取る(ステップS96,S97)。
また、この実施形態では、S−Nodeプロキシ51は、携帯電話・MP3プレーヤ、モバイル端末(PDAやゲーム端末)等に内蔵されているインターネットブラウザへの表示画面の最適化などを行う表示最適化制御部(図8に85で示す)も搭載する。この場合、図9のステップS98に示すように、上記接続要求者の端末のための表示最適化の処理が実行されるようになっている(ステップS98)。
以上説明したようなS−Nodeプロキシサーバ51を経由することで、自宅外のインターネットに接続された端末A(IPv4端末)から、ユーザは自宅のクライアント機器2のリソースに対して、アクセスする元の端末が何であるかを意識することなく、アクセス可能になる。
なお、InterServer6の能力的には、外部末端はクライアント機器のアプリケーションへの直接のアクセスも可能である。すなわち、InterServer6が接続されたIPv6ネットワーク上の端末Bからは、IPv6アドレスを利用して直接前記アプリケーションを介してクライアント機器のリソースを直接利用することが可能になる。この場合、通常であれば、セキュリティの問題なども新たに考える必要が出てくるが、この発明では、前記クライアント機器のアプリケーションが各種リソースへのアクセスを一元的に制御するようになっているため、不用意なアクセスへの対処も比較的容易にできる。
なお、このInterServer6が、IPv6ネットワークに接続されている場合、前記クライアント機器Bは、このInterServer6を介してIpv6ネットワークに接続できるから、IPv6プロトコルが存在しないOS環境下であっても、アプリケーションソフト(この場合はプロキシ31)単位でIPv6アドレスを保持し、仮想ネットワークを通した通信を行うことができる。これにより、たとえばIPv6で動く外部機器からIPv6下でしか通信できない方法でクライアント機器に外部からアクセスすることができる。
一方、図6は、VoIPを経由してコンピュータ上のファイルにアクセスする例である。
図6中、IntereServer6は、レイヤ3接続をサポートし、センター側システムとの間にあって、SIPを利用したインターネット電話間、インスタントメッセンジャーシステム間の通信を制御するものである。すなわち、クライアント側のVoIPプログラム(アプリケーション9)は、SIP等のシグナリングプロトコルと、音声等を処理するRTPモジュールを持ち、前記センター側システムは、そのSIP等のシグナリングプロトコルを処理することが出来るようになっている。
2つのクライアントにそれぞれ設けられたVoIPプログラム間で音声通信を行う場合、RTP等の音声通信は、クライアントアプリケーションのRTPモジュール→クライアントの中継通信モジュール→クライアントのOSのTCPIP→InterServer→クライアントのOSのTCPIP→クライアントの中継通信モジュール→クライアントアプリケーションのRTPモジュール、のような経路で処理される。
また、InterServerに音声中継処理サーバを置き、音声中継処理サーバを経由する処理であっても良い。この場合の通信処理は、クライアントアプリケーションのRTPモジュール→クライアントの中継通信モジュール→クライアントのOSのTCPIP→InterServer→音声中継処理サーバ→InterServer→クライアントの中継通信モジュール→クライアントアプリケーションのRTPモジュールとなる。
SIP等のプロトコルでは、クライアント側アプリケーションが、電話番号等の識別番号とIPアドレスの登録により、ロケーション管理(IPアドレス)を行い、シグナリング時にアドレス解決をし、音声画像等のメディア通信する。よってSIP等のプロトコルでは、アドレス登録を含めたメソッドが用意される。
本発明では、この特徴を利用し、VoIPアプリケーション9が中継通信モジュール8を包含し、電話番号等の識別番号とIPアドレスの管理をInterServer6との間のトンネリングセッションの確立を利用して行う。
以下、この処理を、図6を参照して詳しく説明する。
まず、この例では、前記InterServer6は、トンネル終端としての接続サーバを備え、またセンター側システムとして、SIPプロキシサーバ、ユーザ情報管理サーバ、認証サーバ、プレゼンスサーバを備えている。また、このセンター側システムは、プライベートネットワークを介してIPアドレス管理DB及び外線発着信ゲートウェイ(及びこれを介して公衆回線網)に接続可能になっている。
すでに述べたように、クライアントコンピュータ2に設けられたVoIPアプリケーション9は、前記中継通信モジュール8により、OSを介さずに、直接InterServer6の接続サーバとトンネリング接続を実現する。このことで、このVoIPプログラム9に、仮想ネットワーク上のIPアドレスが割り当てられ、このVoIPプログラム9はこのIPアドレスを用い、前記トンネリングセッションを通して前記InterServer6のセンター側システムを介した音声通信が行える。
すなわち、VoIPアプリケーションが前記中継通信モジュールにトンネリング初期化依頼を発すると(ステップS1)、前記中継通信モジュールは所定のブローカーサーバに接続して(ステップS2)、VoIP通信に利用するInterServerのIPアドレス(若しくはドメイン名)を受け取る(ステップS3)。このことで、中継通信モジュールはInterServerのアドレスを知ることができるから、識別番号とパスワードなどのログイン情報をもって前記InterServerの接続サーバに接続し、認証サーバによる認証を受ける(ステップS5、S6)。認証が行われると、前記VoIPアプリケーション(クライアント)用のIPアドレスの選定が行われ、これが、前記クライアントの中継通信モジュールに返される(ステップS7)。
このことで、中継通信モジュールは、受け取ったIPアドレスとInterServer6のIPアドレスを用いて、このInterServerの接続サーバとの間に直接トンネリングセッションを確立する(ステップS8)。このトンネリングセッションが確立されると、前記InterServer6は、このクライアントのIPアドレスをクライアントの識別番号と関連付けて前記IPアドレス管理サーバに登録する(ステップS9)。
このことで、トンネリング接続が確立されると共に、前記VoIpアプリケーション9のIPアドレス及び識別番号が登録されて音声通信が可能になる。
すなわち、SIPプロキシサーバ等は、音声通信のINVITEを受けると(ステップS9)、InterServerが登録したIPアドレス管理DBを参照してシグナリング(ロケーション解決)を行うことが出来(ステップS10)、SIPによる音声通信を中継することができる(ステップS11)。
このような構成によれば、まず、前記VoIPアプリケーション自体が中継通信モジュールと一体となって、このクライアント機器のインタフェースとは独立した独自のIPアドレスを持つあたかも1つのデバイスとして実現できることになる。さらに、SIPプロトコルで行うロケーション管理を中継通信モジュールとサーバ間で利用する上述のIPアドレスを利用して行うことで、通信及び管理の効率化を行える。
そして、この例では、さらに、ユーザがクライアント機器上で実行されているアプリケーションプログラムを介して、既存の電話やIP電話を用いて特定の命令を与え、その命令をクライアント機器上で実行させることができる。
すなわち、仮想ネットワーク用のIPアドレスが付与されと、VoIPモジュールと音声・DTMF解析モジュールが起動され、前記通信モジュールを介した形で音声やDTMF信号による通信が可能な状態になる。
前記VoIPモジュール及び音声・DTMF解析モジュールはアプリケーションプログラム9の一部として実行され、VoIPモジュールを経由して得た音声、またはDTMF信号を解析し、アプリケーションプログラムにあらかじめ関連付けられている外部プログラムを起動するものである。ここでいう外部プログラムとは、コンピュータ上で実行可能なすべてのプログラム(ブラウザ、メーラー、文書作成プログラム等あらゆるプログラム)であり、この外部プログラムを実行した結果は一定ではない。
以上説明したが、図7は、この発明の実施形態によって実現される外部端末からの家庭内クライアント機器上のアプリケーションプログラムへの直接アクセスの概念を示したものである。これにより、このプログラムに対して、クライアント機器のOSにかかわらず直接命令を与えてあらゆる動作を実行させることができる。
なお、この発明は上記一実施形態に限定されるものではなく、発明の要旨を変更しない範囲で種々変形可能である。
例えば、上記一実施形態では、前記アプリケーションプログラムは、ブラウザ、インターネット電話プログラムおよびプロキシプログラムであったが、これに限定されるものではなく、双方向通信を必要とするあらゆるアプリケーションプログラムに適用可能である。
また、上記一実施形態では、前記トンネルブローカがInterServerを選択するようになっていたが、各通信中継モジュールにあらかじめセットされていても良い。
また、この実施形態の通信モジュールは、100%ユーザモードで動作する(普通ドライバのようなプログラムはカーネルモードで動く)ため、TCP/IPアプリケーションを作成することのできるOSなら非常に移植が簡単であり、上記一実施形態で挙げたOS以外であっても、例えば、家電メーカが自社で採用している独自のOSや、レジスター等の業務機器に採用されているOS等にも適用可能である。
さらに、上記一実施形態で、前記S−Nodeプロキシ51が扱うURLの例を述べたが、URLの書式は上記の物に限定されるものではなく、他の書式であっても良い。重要なことは、前記S−Nodeプロキシ51と、S−Nodeアプリケーション9とが互いに解釈できる書式のURLで通信することである。
この発明の一実施形態に係るネットワーク構成の例を示す図。 同じく通信中継モジュールを示す概略構成図。 同じく通信シーケンスを示すブロック図。 実施例の概略構成を示す図 実施例の動作状態を示すための画面図。 実施例のVoIPアプリケーション間の通信確立工程を示した工程図。 実施例の通信経路を示した概念図。 実施例のS−nodeプロキシサーバの概略構成図。 実施例のS−nodeプロキシサーバの動作工程を示す工程図。
符号の説明
1…ローカルネットワーク
2…クライアント機器
4…インターネット網
6…InterServer
7…OS
8…通信中継モジュール
9…アプリケーションプログラム
15…イーサネット(登録商標)リンク
17…IPレイヤ(IPv4/IPv6)
18…TCP/UDPレイヤ
19…トンネリング・アプリケーション
20…トンネルブローカ
31…プロキシアプリケーション
41…各種API
51…S−Nodeプロキシサーバ

Claims (24)

  1. アプリケーションプログラムがインストールされたローカルネットワーク上のクライアント機器と、前記クライアント機器がインターネットを介して接続されるサーバと、を有するインターネット接続サービスに使用されるシステムであって、
    前記サーバは、
    前記クライアント機器とは独立して前記アプリケーションプログラムに割当てられた仮想ネットワーク上のIPアドレスを使用して、このアプリケーションプログラムとの間でトンネリング接続によるTCP/IPセッションを確立するトンネリング確立部と、
    前記アプリケーションプログラムとの間のTCP/IPセッションを、前記アプリケーションプログラム名及びその仮想ネットワーク上のIPアドレスで管理するアプリケーションプログラム管理装置と、
    接続要求者から前記インターネット介して、クライアント機器のリソース及び該リソースに対する実行命令を一意に表現するURL要求を受け取った場合、このURL要求に含まれる前記アプリケーションプログラム名に基づいて、このアプリケーションプログラムに前記URL要求を送り、前記クライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスして所定の処理を行わせるとともに、前記実行命令に応じた処理の結果を前記クライアント機器から受信した場合、その処理の結果を前記接続要求者のインターネット接続端末の種類に応じて変換若しくは整形して前記接続要求者に返す接続プロキシ装置と
    を有し、
    前記クライアント機器には、
    このクライアント機器上で所定の処理を行うアプリケーションプログラムと、
    このアプリケーションプログラムをインターネット上のサーバを通した仮想ネットワークに接続するための通信モジュールとがインストールされ、
    前記通信モジュールは、前記アプリケーションプログラムとこのコンピュータにインストールされたオペレーションシステムのローカル通信プロトコルスタック群との間に介在し、前記アプリケーションプログラム用の仮想ネットワーク上のアドレスであって前記クライアント機器とは独立しているアドレスを保持し、かつ前記アプリケーションプログラムからの仮想ネットワーク宛のパケットをトンネリング処理して前記ローカル通信プロトコルスタックを通じて前記サーバに渡すものであり、前記ローカル通信プロトコルスタック群とは独立した、前記アプリケーションプログラムが仮想ネットワーク通じた通信をするのに必要なプロトコルスタックを備えており、
    前記アプリケーションプログラムは、前記通信モジュールから、前記仮想ネットワークを通してこのアプリケーションプログラム宛に送信された前記実行命令を受け取るように構成されており、その実行命令に応じて前記クライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスして所定の処理を行い、その処理の結果を前記通信モジュールを介して前記サーバに返すものであり、
    アプリケーションプログラム用の仮想ネットワーク上のアドレスは、このアプリケーションがインストールされた前記クライアント機器とは独立しているものである、
    ことを特徴とするシステム
  2. 請求項1記載のシステムにおいて、
    前記通信モジュールは、
    インターネット上のサーバのグローバルアドレスを記憶しており、
    このサーバのグローバルアドレスに基づき、この通信モジュールとサーバとの間にトンネリング接続を確立し、
    前記アプリケーションプログラムからの要求パケットを捕捉し、発信元アドレスとして前記アプリケーションプログラム用の仮想ネットワークアドレスを付したものをカプセリングし、前記トンネリング接続を介して前記サーバへ送出すると共に、
    前記ローカル通信プロトコルスタックを通して当該通信モジュール宛パケットをディカプセリングすると共に、このディカプセリングしたパケットを前記アプリケーションプログラムに渡す
    ものであることを特徴とするシステム
  3. 請求項1記載のシステムにおいて、
    前記通信モジュールは、インターネット上に設けられたトンネル仲介サーバに接続してこの仲介サーバから前記サーバのグローバルアドレスを受け取るものである
    ことを特徴とするシステム
  4. 請求項1記載のシステムにおいて、
    前記通信モジュールは、前記インターネット上のサーバから前記アプリケーションプログラム用の仮想ネットワーク上のIPアドレスを受け取り保持するものである
    ことを特徴とするシステム
  5. 請求項1記載のシステムにおいて、
    前記通信モジュールは、前記インターネット上のサーバから前記アプリケーションプログラム用の仮想ネットワーク接続用のMACアドレスとIPアドレスを受け取り保持するものである
    ことを特徴とするシステム
  6. 請求項1記載のシステムにおいて、
    前記通信モジュールは、前記アプリケーションプログラムによって呼び出し可能なライブラリプログラムとして提供されている
    ことを特徴とするシステム
  7. 請求項1記載のシステムにおいて、
    前記通信モジュールは、
    初期化部を有し、この初期化部は、
    サーバとレイヤ2接続する場合には、前記レイヤ2、3、4プロトコルスタックのすべてを生成し、
    前記サーバとレイヤ3接続する場合には、レイヤ3および4プロトコルスタックを生成し、レイヤ2プロコルスタックは生成しない
    ように構成されていることを特徴とするシステム
  8. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、
    前記通信モジュールから、仮想ネットワークを通した前記ファイルの取得命令を受け取り、それに基づいて前記ファイルを取得し前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
    ことを特徴とするシステム
  9. 請求項8記載のシステムにおいて、
    前記アプリケーションプログラムは、前記取得したファイルを前記通信モジュールに渡す前に所定のサイズに変換するものである
    ことを特徴とするシステム
  10. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、
    前記通信モジュールから、仮想ネットワークを通した前記ファイルの検索命令を受け取り、それに基づいて検索を行い、その検索結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
    ことを特徴とするシステム
  11. 請求項10記載のシステムにおいて、
    前記ファイル検索命令には、ファイルに含まれるべき文字列と、検索結果をどのようなフォーマットで出力するかが指定されており、その検索結果を上記所定の形式で送信するものである
    ことを特徴とするシステム
  12. 請求項10記載のシステムにおいて、
    前記アプリケーションプログラムは、クライアント機器上のあらかじめインデックス化された情報から、検索文字列がマッチするかどうか検索エンジンを使い検索するものである
    ことを特徴とするシステム
  13. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、
    前記通信モジュールから、仮想ネットワークを通した前記ファイルのアップロード命令を受け取り、クライアント機器上のあらかじめ設定されたディレクトリにファイルを出力し、その処理結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
    ことを特徴とするシステム
  14. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、仮想ネットワークを通してVoIPパケットにてDTMFトーン信号/音声データを受け取り、当該DTMFトーン/音声データを解析し、あらかじめ設定されている処理若しくはプログラムを実行し、その実効結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
    ことを特徴とするシステム
  15. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、前記通信モジュールから、仮想ネットワーク通したメール検索、メール一覧取得、メール内容取得のいずれかの要求を受け取り、クライアント機器に対して当該命令を実行させ、その結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
    ことを特徴とするシステム
  16. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、前記通信モジュールから、前記仮想ネットワークを通したローカルネットワーク上の他の機器に対するアクセス命令を受け取り、当該他の機器にアクセス命令を送信し、その処理の結果を前記通信モジュールを介して前記仮想ネットワーク側に送信するものである
    ことを特徴とするシステム
  17. 請求項1記載のシステムにおいて、
    前記アプリケーションプログラムは、インターネット上のサーバを通した仮想ネットワークに接続するVoIPプログラムである
    ことを特徴とするシステム
  18. 請求項8記載のシステムにおいて、
    前記アプリケーションプログラムは、クライアント機器をインターネット上のサーバを通した仮想ネットワークに接続させるプロキシである
    ことを特徴とするシステム
  19. 請求項8記載のシステムにおいて、
    前記アプリケーションプログラムは、VoIPアプリケーションプログラムであり、SIPのアドレス管理を必要とするプロトコルを利用し、その際のアドレス管理をトンネリングプロトコルでのIPアドレス管理と共用する
    ことを特徴とするシステム
  20. 請求項1記載のシステムにおいて、
    前記サーバは、接続要求者から前記インターネットを介してURL要求を受け取り、このURL要求に含まれるアプリケーションプログラム名に基づいて、このアプリケーションプログラムに前記URL要求を送り、前記クライアント機器若しくはこのクライアント機器が接続されたローカルネットワーク上の他の機器に格納されたファイルにアクセスして所定の処理を行わせ、その処理の結果を前記インターネット側に返す接続プロキシ装置を有するものである
    ことを特徴とするシステム
  21. 請求項記載のシステムにおいて、
    前記トンネリング確立部は、前記TCP/IPによるトンネリング接続を確立する際に、前記アプリケーションプログラム用の仮想ネットワーク上のIPアドレスを前記クライアント機器に送信するものである
    ことを特徴とするシステム
  22. 請求項記載のシステムにおいて、
    前記トンネリング確立部は、前記TCP/IPによるトンネリング接続を確立する際に、前記アプリケーションプログラム用の仮想ネットワーク上のMACアドレスを前記クライアント機器に送信するものである
    ことを特徴とするシステム
  23. 請求項記載のシステムにおいて、
    前記接続プロキシ装置は、前記接続要求者の接続認証を行う接続認証部を有するものである
    ことを特徴とするものであるシステム
  24. 請求項1記載のシステムにおいて、
    前記接続プロキシ装置は、接続要求者からURL要求を、前記アプリケーションプログラムに対する複数の異なる命令のうちの1つに変換する命令変換手段を有する
    ことを特徴とするシステム
JP2008092250A 2007-12-08 2008-03-31 インターネット接続システム Active JP5198916B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008092250A JP5198916B2 (ja) 2007-12-08 2008-03-31 インターネット接続システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007317775 2007-12-08
JP2007317775 2007-12-08
JP2008092250A JP5198916B2 (ja) 2007-12-08 2008-03-31 インターネット接続システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013022151A Division JP5438230B2 (ja) 2007-12-08 2013-02-07 インターネット接続システム

Publications (2)

Publication Number Publication Date
JP2009159587A JP2009159587A (ja) 2009-07-16
JP5198916B2 true JP5198916B2 (ja) 2013-05-15

Family

ID=40963027

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008092250A Active JP5198916B2 (ja) 2007-12-08 2008-03-31 インターネット接続システム
JP2013022151A Active JP5438230B2 (ja) 2007-12-08 2013-02-07 インターネット接続システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013022151A Active JP5438230B2 (ja) 2007-12-08 2013-02-07 インターネット接続システム

Country Status (1)

Country Link
JP (2) JP5198916B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5508810B2 (ja) * 2009-10-26 2014-06-04 学校法人慶應義塾 ネットワークシステム
EP2662775B1 (en) * 2011-01-05 2021-03-31 Freebit Co., Ltd. Memory card device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725449B2 (en) * 2004-12-02 2010-05-25 Microsoft Corporation System and method for customization of search results
EP2031834A4 (en) * 2006-05-23 2010-01-20 Freebit Co Ltd COMMUNICATION MODULE AND APPLICATION PROGRAM HAVING THE MODULE

Also Published As

Publication number Publication date
JP5438230B2 (ja) 2014-03-12
JP2013093908A (ja) 2013-05-16
JP2009159587A (ja) 2009-07-16

Similar Documents

Publication Publication Date Title
JP5301571B2 (ja) インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム
JP4146886B2 (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
US8996657B2 (en) Systems and methods for multiplexing network channels
US8194681B2 (en) Bridging between AD HOC local networks and internet-based peer-to-peer networks
EP1505774A2 (en) Network interconnection apparatus, network interconnection method, name sesolution apparatus and computer program
US20090129301A1 (en) Configuring a user device to remotely access a private network
US20080235358A1 (en) Proxy Device, Network System, and Communication Method
US20070233844A1 (en) Relay device and communication system
US20070189486A1 (en) Communication apparatus, system, method and computer readable medium
JP2005244408A (ja) ネットワーク・セグメントが互いに異なる複数のネットワークに接続されたゲートウェイ装置、およびipパケットを転送するためのプログラムおよび方法
US20050232273A1 (en) Communications system and a gateway device
JP2003110596A (ja) データ通信サービス提供方法
US20240089317A1 (en) Method and electronic device for accessing service device in local area network
JP5438230B2 (ja) インターネット接続システム
JP5142216B2 (ja) ホームネットワーク内の端末から広域ネットワークへコンテンツを送信するコンテンツ送信方法及びシステム
CN104168302B (zh) 设备操控实现方法、系统和代理网关
JP2023510707A (ja) 返信パケットを送信するための方法、経路広告メッセージを送信するための方法、ネットワークデバイス、および、コンピュータプログラム
JP3935823B2 (ja) Httpセッション・トンネリング・システム、その方法、及びそのプログラム
JP2013126219A (ja) 転送サーバおよび転送プログラム
JP4013967B2 (ja) 名前解決サーバおよびパケット転送装置
JP4269343B2 (ja) 名前解決サーバおよびパケット転送装置
JP2015201758A (ja) 中継装置、通信システム、情報処理方法及びプログラム
JP6539497B2 (ja) 通信中継システム、デバイス収容端末、サーバ側コンピュータ、プログラム、及び通信中継方法
CN108833434B (zh) 一种基于ip双向网络机顶盒的跨网视频通话系统的实现方法
JP6165948B1 (ja) イーサネットブリッジ装置及びこれを用いるインターネット通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130207

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

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5198916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250