JP7011271B1 - Information processing methods, information processing systems and computer programs - Google Patents
Information processing methods, information processing systems and computer programs Download PDFInfo
- Publication number
- JP7011271B1 JP7011271B1 JP2020181480A JP2020181480A JP7011271B1 JP 7011271 B1 JP7011271 B1 JP 7011271B1 JP 2020181480 A JP2020181480 A JP 2020181480A JP 2020181480 A JP2020181480 A JP 2020181480A JP 7011271 B1 JP7011271 B1 JP 7011271B1
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- communication
- server
- transfer device
- connection
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 59
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000004590 computer program Methods 0.000 title claims description 3
- 238000012546 transfer Methods 0.000 claims abstract description 673
- 238000004891 communication Methods 0.000 claims abstract description 306
- 230000004044 response Effects 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 abstract description 28
- 230000006870 function Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Abstract
【課題】容易な方法でグローバルネットワーク上の装置からプライベートネットワーク内の特定の装置に通信することができる情報処理方法等を提供する。【解決手段】情報処理方法は、第1転送装置は、第2転送装置からコネクションの確立要求を取得し、取得した前記コネクションの確立要求に応じて前記第1転送装置と前記第2転送装置との間のコネクションを確立し、確立された前記コネクションを用いて、第2通信装置の特定ポートを転送先として指定する転送要求を前記第2転送装置へ送信し、送信した前記転送要求に応じて、前記第1通信装置からの通信を受け付ける前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する通信トンネルを形成し、形成した前記通信トンネルを通じて、前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する。【選択図】図5PROBLEM TO BE SOLVED: To provide an information processing method or the like capable of communicating from a device on a global network to a specific device in a private network by an easy method. In an information processing method, a first transfer device acquires a connection establishment request from a second transfer device, and the first transfer device and the second transfer device respond to the acquired connection establishment request. A transfer request for specifying a specific port of the second communication device as a transfer destination is transmitted to the second transfer device by establishing a connection between the two, and using the established connection, in response to the transmitted transfer request. A communication tunnel is formed to transfer communication between the reception port of the first transfer device that receives communication from the first communication device and the specific port of the second communication device, and the first communication tunnel is formed. Transfers communication between the reception port of the transfer device and the specific port of the second communication device. [Selection diagram] FIG. 5
Description
本技術は、情報処理方法、情報処理システム及びコンピュータプログラムに関する。 The present technology relates to information processing methods, information processing systems and computer programs.
通常、インターネット等のグローバルネットワークと、オフィスや宅内等のプライベートネットワークとの間にはルータ等の中継機器が設置され、中継機器によりグローバルネットワークへ接続する際に用いられるグローバルIPアドレスからプライベートネットワーク側で用いられるプライベートIPアドレスへのネットワークアドレス変換(Network Address Translation :NAT)が行なわれている。このため、グローバルネットワーク上の装置がプライベートネットワーク内の装置に接続する場合においては、いわゆるNAT越えを行う必要がある。 Normally, a relay device such as a router is installed between a global network such as the Internet and a private network such as an office or a home, and the global IP address used when connecting to the global network by the relay device is on the private network side. Network Address Translation (NAT) is performed to the private IP address used. Therefore, when a device on the global network connects to a device in the private network, it is necessary to perform so-called NAT traversal.
NAT越えを行う技術として、従来、静的IPマスカレードによるポートフォワーディング(例えば、特許文献1参照)が使用されている。ポートフォワーディングでは、トンネル機能等を使う事により、グローバルネットワーク上のグローバルサーバの特定ポートと、プライベートネットワーク内のローカルサーバの特定ポートとをマッピングする。これにより、グローバルサーバのポートに届いたデータをトンネル経由でローカルサーバのマッピングされたポートに転送することができる。 Conventionally, port forwarding by static IP masquerading (see, for example, Patent Document 1) has been used as a technique for traversing NAT. In port forwarding, by using the tunnel function etc., the specific port of the global server on the global network and the specific port of the local server in the private network are mapped. This allows data arriving at the global server port to be forwarded through the tunnel to the local server's mapped port.
しかしながら、ポートフォワーディングでは、プライベートネットワーク側でポートマッピングの設定を行う必要があり、複雑な手順が必要とされるという問題がある。 However, in port forwarding, it is necessary to set the port mapping on the private network side, and there is a problem that a complicated procedure is required.
本開示の目的は、容易な方法でグローバルネットワーク上の装置からプライベートネットワーク内の特定の装置に通信することが可能な情報処理方法等を提供することにある。 An object of the present disclosure is to provide an information processing method or the like capable of communicating from a device on a global network to a specific device in a private network by an easy method.
本開示の一態様に係る情報処理方法は、グローバルネットワークに接続され、第1通信装置から受け付けた通信を転送する第1転送装置と、プライベートネットワークに接続される第2通信装置との通信を、前記プライベートネットワークに接続される第2転送装置を介して転送する情報処理方法であって、前記第1転送装置は、前記第2転送装置からコネクションの確立要求を取得し、取得した前記コネクションの確立要求に応じて前記第1転送装置と前記第2転送装置との間のコネクションを確立し、確立された前記コネクションを用いて、前記第2通信装置の特定ポートを転送先として指定する転送要求を前記第2転送装置へ送信し、送信した前記転送要求に応じて、前記第1通信装置からの通信を受け付ける前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する通信トンネルを形成し、形成した前記通信トンネルを通じて、前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する。 In the information processing method according to one aspect of the present disclosure, the communication between the first transfer device connected to the global network and transferring the communication received from the first communication device and the second communication device connected to the private network is performed. An information processing method for transferring via a second transfer device connected to the private network, wherein the first transfer device acquires a connection establishment request from the second transfer device and establishes the acquired connection. In response to the request, a transfer request is made by establishing a connection between the first transfer device and the second transfer device and using the established connection to specify a specific port of the second communication device as a transfer destination. Transfers communication between the reception port of the first transfer device and the specific port of the second communication device, which is transmitted to the second transfer device and receives communication from the first communication device in response to the transmitted transfer request. A communication tunnel is formed, and communication between the reception port of the first transfer device and the specific port of the second communication device is transferred through the formed communication tunnel.
本開示によれば、容易な方法でグローバルネットワーク上の装置からプライベートネットワーク内の特定の装置に通信することができる。 According to the present disclosure, a device on the global network can easily communicate with a specific device in the private network.
本発明をその実施の形態を示す図面を参照して具体的に説明する。 The present invention will be specifically described with reference to the drawings showing the embodiments thereof.
(第1実施形態)
図1は、第1実施形態における情報処理システム100の概要を示す図である。情報処理システム100は、転送サーバ1と転送クライアント2とを含む。転送サーバ1は、グローバルIPアドレスによる通信ネットワークであるグローバルネットワークN1に接続されるよう構成されている。グローバルネットワークN1は、例えばインターネットである。転送サーバ1は、当該グローバルネットワークN1に接続されるクライアント装置3と通信可能に接続され、クライアント装置3との間でデータの送受信が可能である。転送クライアント2は、プライベートIPアドレスによるLAN(Local Area Network)等のプライベートネットワークN2に接続されるよう構成されている。転送クライアント2は、プライベートネットワークN2に接続されるサーバ4と通信可能に接続され、サーバ4との間でデータの送受信が可能である。転送クライアント2及びサーバ4は、中継装置5を介してグローバルネットワークN1に接続される。
(First Embodiment)
FIG. 1 is a diagram showing an outline of the
転送サーバ1は、例えばサーバコンピュータである。転送サーバ1は、クライアント装置3から送信される通信データを受信し、受信した通信データをプライベートネットワークN2内の転送クライアント2を介してサーバ4へ転送する第1転送装置に相当する。クライアント装置3は、例えばサーバコンピュータ又はパーソナルコンピュータ等の情報処理装置である。クライアント装置3は、スマートフォン又はタブレット端末等であってもよい。クライアント装置3は、転送サーバ1及び転送クライアント2を介してサーバ4と通信する第1通信装置に相当する。
The
転送クライアント2は、中継装置5を介して転送サーバ1から通信データを受信し、受信した通信データをプライベートネットワークN2を介してサーバ4へ転送する第2転送装置に相当する。転送クライアント2は、例えばサーバコンピュータである。サーバ4は、クライアント装置3から送信される通信データを受信し、クライアント装置3の要求への応答を出力する。サーバ4は、転送サーバ1及び転送クライアント2を介してクライアント装置3と通信する第2通信装置に相当する。サーバ4は、例えばウェブサーバ、ファイルサーバ、APIサーバ、プロキシサーバ等であり、ウェブコンテンツ提供、ファイル転送、API提供、通信中継等のサービスを提供する。
The
中継装置5は、プライベートネットワークN2とグローバルネットワークN1との間の通信を中継する中継装置5であり、例えばルータ、ゲートウェイ等である。中継装置5は、プライベートネットワークN2でのみ通用するプライベートIPアドレスと、グローバルネットワークN1で使用されるグローバルIPアドレスとを相互に変換するNAT(Network Address Translation )又はNAPT(Network Address Port Translation)機能を備える。
The
なお、転送クライアント2とサーバ4とが接続されるプライベートネットワークN2は同一セグメント内であるものに限定されない。例えば、プライベートネットワークN2は、異なるセグメントのネットワークであってもよく、VPN(Virtual Private Network )で接続された別拠点のプライベートネットワークであってもよい。
The private network N2 to which the
第1実施形態における情報処理システム100の転送方法の概要を説明する。情報処理システム100では、初めに転送クライアント2からの要求に応じて、転送クライアント2と転送サーバ1との間での通信のためのコネクション6が確立される。転送サーバ1は、コネクション6を用いて、プライベートネットワークN2内のサーバ4の特定ポートを転送先として指定する転送要求を転送クライアント2へ送信する。転送要求に応じて、転送サーバ1の受付ポートと、指定されたサーバ4の特定ポートとをマッピングする通信回路、すなわち通信トンネルが確立される。以降、クライアント装置3から転送サーバ1の受付ポートへ送信された通信データは、通信トンネルを用いて、転送クライアント2を介してプライベートネットワークN2内のサーバ4の特定ポートへ転送される。グローバルネットワークN1上のクライアント装置3は、プライベートネットワークN2内の特定サーバ4に対して、任意のタイミングでアクセスすることができる。
The outline of the transfer method of the
このような情報処理システム100の構成及び詳細な処理内容について以下に説明する。
The configuration and detailed processing contents of the
図2は、第1実施形態における情報処理システム100の各装置の内部構成を示すブロック図である。転送サーバ1は、制御部10、記憶部11及び通信部12を備える。転送サーバ1は複数のコンピュータからなるマルチコンピュータであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。
FIG. 2 is a block diagram showing an internal configuration of each device of the
制御部10は、一又は複数のCPU(Central Processing Unit )又はGPU(Graphics Processing Unit)を用いたプロセッサであり、内蔵するROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリを用い、各構成部を制御して処理を実行する。記憶部11は、ハードディスク、SSD(Solid State Drive )等の記憶装置を含む。記憶部11には、プログラム1Pを含む制御部10が参照するプログラム及びデータが記憶されている。制御部10は、プログラム1Pに基づき、後述する通信データの転送に関する処理を実行する。通信部12は、グローバルネットワークN1を介した通信を実現する通信デバイスである。
The
記憶部11に記憶されるプログラム1Pは、当該プログラム1Pを読み取り可能に記録した非一時的な記録媒体1Aにより提供されてもよい。記録媒体1Aは、例えば、CD-ROM、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。この場合、制御部10は、不図示の読取装置を用いて記録媒体1Aからプログラム1Pを読み取り、読み取ったプログラム1Pを記憶部11に記憶する。また、記憶部11に記憶されるプログラム1Pは、通信部12を介した通信により提供されてもよい。この場合、制御部10は、通信部12を通じてプログラム1Pを取得し、取得したプログラム1Pを記憶部11に記憶する。なお記憶部11は、複数の記憶装置により構成されていてもよく、転送サーバ1に接続された外部記憶装置であってもよい。
The program 1P stored in the
また、記憶部11には、転送情報DB(Data Base :データベース)111が記憶されている。図3は、転送情報DB111のレコードレイアウトを示す概念図である。転送情報DB111は、通信データの転送を実行管理するための情報を格納するデータベースである。転送情報DB111は、例えばRDBMS(Relational DataBase Management System )、NoSQL(Not only SQL)等のデータストレージシステムにより構成されてよい。転送情報DB111は、キャッシュメモリ、ファイル保存、プログラム1Pのプロセス内メモリ領域に記憶されてもよい。
Further, the transfer information DB (Data Base: database) 111 is stored in the
例えば、転送情報DB111には、転送情報を識別するID、転送クライアント2のグローバルIPアドレス、識別情報、転送先情報、受付ポート番号等の情報が対応付けられて格納されている。転送クライアント2のグローバルIPアドレスとは、転送クライアント2のグローバルネットワークN1を介した通信の際に使用されるアドレスである。転送クライアント2のグローバルIPアドレスは、中継装置5によって転送クライアント2のプライベートIPアドレスから中継装置5の保持するグローバルIPアドレスに変換されたものである。
For example, the
識別情報とは、転送先となるサーバ4のサービスを識別(特定)するための情報であり、例えば識別キーが含まれる。識別キーとは、転送先となるサーバ4のサービス毎に発行される一意のデータであり、転送先を識別するデータである。識別情報には、サーバ4のサービスにアクセスするユーザを識別するユーザアカウントが含まれてもよい。ユーザアカウントには、例えばユーザID及びパスワードが含まれる。ユーザアカウントにはサーバ4の装置IDが含まれてもよい。
The identification information is information for identifying (identifying) the service of the
転送先情報とは、通信データの転送先となるサーバ4及び当該サーバ4の提供するサービスを指定する情報である。転送先情報には、例えばサーバ4のプライベートIPアドレス及びポート番号(特定ポート)が含まれる。プライベートIPアドレスは、サーバ4のプライベートネットワークN2における通信の際に使用されるアドレスであり、プライベートネットワークN2におけるサーバ4を特定する固定のIPアドレスである。ポート番号(特定ポート)とは、コンピュータが通信を行う際に通信先のプログラムを特定するための番号のことである。転送先情報は、プライベートIPアドレス及びポート番号に限定されない。転送先情報は、転送先のサーバ4を指定するためのホスト名、NetBIOS名、サーバ4のサービスを指定するためのプロトコル名等が含まれてもよい。なお、転送先情報は、上述のIPアドレス及びポート番号等を対応付けた転送先IDを用いて記憶されていてもよい。
The transfer destination information is information that specifies the
受付ポート番号とは、転送サーバ1がクライアント装置3から転送のための通信データを受け付ける際に使用するポート番号である。転送先の特定ポートと転送サーバ1のポート(受付ポート)との間で通信トンネルが確立された場合、通信トンネルの使用に割り当てられたポート番号が受付ポート番号列に格納される。
The reception port number is a port number used by the
転送クライアント2は、制御部20、記憶部21及び通信部22を備える。制御部20は、一又は複数のCPU又はGPUを用いたプロセッサであり、内蔵するROM及びRAM等のメモリを用い、各構成部を制御して処理を実行する。記憶部21は、ハードディスク、SSD等の記憶装置を含む。記憶部21には、プログラム2Pを含む制御部20が参照するプログラム及びデータが記憶されている。制御部20は、プログラム2Pに基づき、後述する通信データの転送に関する処理を実行する。通信部12は、プライベートネットワークN2を介した通信を実現する通信デバイスである。
The
また、記憶部21には、識別情報DB211が記憶されている。図4は、識別情報DB211のレコードレイアウトを示す概念図である。識別情報DB211は、転送先となるサーバ4のサービスを識別(特定)するための識別情報を格納するデータベースである。例えば、識別情報DB211には、識別キー、ユーザID及びパスワード等の情報が対応付けられて格納されている。識別情報にはサーバ4の装置IDが含まれてもよい。識別情報DB211に記憶されている識別情報の詳細は、転送情報DB111の識別情報を同様である。すなわち、識別情報は転送サーバ1と転送クライアント2との間で共有される。
Further, the
クライアント装置3は、制御部30、記憶部31及び通信部32を備える。制御部30は、一又は複数のCPU又はGPUを用いたプロセッサであり、内蔵するROM及びRAM等のメモリを用い、各構成部を制御して処理を実行する。記憶部31は、ハードディスク、SSD等の記憶装置を含む。記憶部31には、制御部30が参照するプログラム及びデータが記憶されている。通信部32は、グローバルネットワークN1を介した通信を実現する通信デバイスである。
The
サーバ4は、制御部40、記憶部41及び通信部42を備える。制御部40は、一又は複数のCPU又はGPUを用いたプロセッサであり、内蔵するROM及びRAM等のメモリを用い、各構成部を制御して処理を実行する。記憶部41は、ハードディスク、SSD等の記憶装置を含む。記憶部41には、制御部40が参照するプログラム及びデータが記憶されている。通信部42は、プライベートネットワークN2を介した通信を実現する通信デバイスである。
The
上記の各装置は、個別に構成されるものに限定されない。例えば転送クライアント2及びサーバ4を含む1個のデバイスとして構成されてもよい。上記の各装置は、ソフトウェアにより実現されてもよい。
The above devices are not limited to those individually configured. For example, it may be configured as one device including a
図5は、情報処理システム100において実行される操作処理の手順の一例を示すシーケンス図である。以下、ステップをSと略す。
FIG. 5 is a sequence diagram showing an example of a procedure of operation processing executed in the
転送サーバ1の制御部10は、識別情報及び転送先情報等を含む転送情報を取得し転送情報DB111に記憶する(S101)。また転送クライアント2の制御部20は、識別情報を取得し識別情報DB211に記憶する(S201)。転送先情報及び識別情報の取得方法はそれぞれ限定されるものではないが、一例として以下の手順を実行する。
The
転送クライアント2の制御部20は、プライベートネットワークN2を介してサーバ4のサービスにアクセスするためのサーバ4のプライベートIPアドレス及びポート番号を予め記憶している。制御部20は、転送サーバ1に通信要求を送信する。転送サーバ1の制御部10は、転送クライアント2から通信要求を受信し、サーバ4のサービス(転送先)を識別する識別キーを転送クライアント2に送信する。識別キーは、サーバ4のサービス毎に発行されるユニークキーである。
The
転送クライアント2の制御部20は、転送サーバ1から識別キーを受信し、識別情報DB211に記憶する。この場合において、制御部20は、識別キーに対応するユーザを識別するユーザID及びパスワード等のユーザアカウントを生成し、生成したユーザアカウントを識別キーに対応付けて登録してよい。制御部20は、識別キーに、ユーザアカウント、サーバ4のプライベートIPアドレス及びポート番号を関連付けて中継装置5を介して転送サーバ1へ送信する。転送サーバ1の制御部10は、中継装置5を介して転送クライアント2のグローバルIPアドレス、識別キー、ユーザアカウント、サーバ4のプライベートIPアドレス及びポート番号等を受信し、転送情報DB111に記憶する。以上の手順により転送先情報及び識別情報がそれぞれ記憶される。
The
転送クライアント2の制御部20は、グローバルネットワークN1を介して転送サーバ1にコネクション6の確立要求を送信する(S202)。転送クライアント2は、通信データを転送するサーバ4の識別キーを識別情報DB211から読み出し、確立要求に関連付けて送信する。グローバルネットワークN1を介する通信プロトコルは、例えばTCP(Transmission Control Protocol )/IP(Internet Protocol )及びHTTPSを使用する。
The
転送サーバ1の制御部10は、コネクション6の確立要求を受信し(S102)、応答を転送クライアント2へ送信する(S103)。
The
転送クライアント2の制御部20は、応答を受信する(S203)。制御部20が応答を受信することにより、転送サーバ1と転送クライアント2との間でコネクション6が確立される。以降、転送サーバ1と転送クライアント2とは、例えばポーリング、ロングポーリング等によりコネクション6を継続することで、転送サーバ1から転送クライアント2への通信が可能となる。例えば転送クライアント2は、ポーリングを用いることにより、所定間隔にて定期的又は定常的に転送サーバ1に問合せを行い、当該問合せに対し転送サーバ1からプッシュ送信される返答を取得する。
The
コネクション6の確立後、転送サーバ1の制御部10は、転送サーバ1のグローバルIPアドレスを含む転送要求を転送クライアント2へ送信する(S104)。転送サーバ1と転送クライアント2との間では、コネクション6が確立されているため、NATを超えた転送サーバ1からの転送クライアント2への情報の送信が可能である。転送要求には、転送先を指定(識別)するための転送先情報が関連付けられている。転送先情報には、転送先のサーバ4を指定するためのプライベートIPアドレスと、サーバ4におけるサービスを指定するためのポート番号とが含まれる。転送先情報は、上述のIPアドレス及びポート番号を対応付けた転送先ID等を用いてもよい。転送先情報には、転送先のサーバ4を識別するためのホスト名、又は、サーバ4のサービスを識別するためのプロトコル名等が含まれてもよい。制御部10は、コネクション6の確立要求に係る識別情報に基づき、転送情報DB111を参照して識別情報に対応する転送先であるサーバ4のサービスを特定し、特定した転送先のサーバ4のIPアドレス及びポート番号を含む転送先情報を取得する。
After establishing the
また、転送要求には、通信トンネル要求に関する情報が関連付けられている。通信トンネル要求に関する情報には、転送先のサーバ4のプライベートIPアドレス及びポート番号と、転送サーバ1のグローバルIPアドレス及び受付ポート番号とが含まれる。受付ポート番号は、任意のポート番号を指定してもよく、自動で割り当てられるものであってもよい。通信トンネル要求に関する情報には、ユーザアカウント及び認証キー等が含まれてよい。
Also, the forwarding request is associated with information about the communication tunnel request. The information regarding the communication tunnel request includes the private IP address and port number of the
転送クライアント2の制御部20は、転送サーバ1から転送要求を受信する(S204)。制御部20は、受信した転送要求に対する応答を転送サーバ1へ送信する(S205)。
The
転送サーバ1の制御部10は、応答を受信する(S105)。制御部10が応答を受信することにより、転送サーバ1の受付ポートと転送先として指定したサーバ4の特定ポートとがマッピングされ、転送サーバ1の受付ポートと転送先として指定したサーバ4との間で通信トンネルが形成(確立)される。制御部10は、通信トンネル要求時に指定した受付ポートを開放し(S106)、クライアント装置3からの通信を待ち受ける。
The
クライアント装置3の制御部30は、転送サーバ1の受付ポートに通信接続し、サーバ4の特定ポートにアクセスするための通信要求を送信する(S301)。通信要求には、例えばユーザアカウント等の識別情報が含まれる。転送サーバ1の制御部10は、受信した通信要求のユーザアカウントに基づき、クライアント装置3からの通信データの転送先となるサーバ4の特定ポートを特定する。
The
通信が開始され、通信トンネルを通して転送サーバ1の受付ポートとサーバ4の特定ポートとの間で通信が転送される。具体例には、クライアント装置3から転送サーバ1の受付ポートへ送信されるサーバ4宛の通信データは、転送サーバ1を介して転送クライアント2へ転送される。転送クライアント2は、転送サーバ1の受付ポートから受信した通信データを、サーバ4の特定ポートへ転送する。通信データには、例えば転送先のサーバ4のIPアドレス及びポート番号、総送信データサイズ、総受信データサイズ等が含まれる。同様に、サーバ4の指定ポートから送信されるクライアント装置3宛の通信データは、転送クライアント2を介して転送サーバ1の受付ポートへ転送される。転送サーバ1は、受信した通信データをクライアント装置3へ転送する。
Communication is started, and communication is transferred between the reception port of the
転送サーバ1の制御部10は、例えばクライアント装置3から終了通知を取得し通信を終了する。制御部10は、通信トンネルを切断し、一連の処理を終了する。サーバ4が起動している場合は常時クライアント装置3との情報の送受信を可能にするため、通信トンネルの切断以降もコネクション6は継続されてよい。
The
上述の処理において、制御部10は、外部から取得した要求に基づき転送要求を送信してもよい。例えば制御部10は、クライアント装置3からユーザアカウント等の識別情報を含む要求を受信する。制御部10は、識別情報に基づき、コネクション6を確立する転送クライアント2及び転送先情報を特定し、特定した転送クライアント2へ、コネクション6を用いて転送要求を送信する。
In the above process, the
上述の処理において、転送要求は転送サーバ1から転送クライアント2へ送信されるものに限定されず、転送クライアント2から転送サーバ1へ送信されてもよい。
In the above process, the transfer request is not limited to the one transmitted from the
本実施形態によれば、転送サーバ1と転送クライアント2との間に確立されるコネクション6を用いて、グローバルネットワークN1側の転送サーバ1からプライベートネットワークN2内の転送クライアント2に対して、サーバ4の特定ポートを指定して転送要求を送信することができる。転送サーバ1の転送情報及び転送クライアント2の識別情報を用いて容易に通信トンネルが確立されるため、プライベートネットワーク側でのポートマッピングのための複雑な設定等の負担を軽減することができる。通信データの転送はTCP/IPによりトランスポート層にて行われるため、通信転送時のセキュリティを向上し得る。
According to the present embodiment, the
上記では、ポーリングによるコネクション6が確立される例を説明したが、本実施形態における通信方法は限定されるものではない。コネクション6は、例えばWebsocketによるものであってもよい。転送クライアント2は、HTTPSプロトコルを用いた通信により、転送サーバ1へ確立要求を送信する。確立要求には、Websocketへのプロトコルのアップグレードを示す情報及びサーバ4に係る識別情報等が含まれる。転送サーバ1は受信したコネクション6の確立要求への応答を送信し、転送クライアント2が応答を受信することにより、転送サーバ1と転送クライアント2との間でWebsocketプロトコルによるコネクション6が確立される。以降、転送サーバ1と転送クライアント2との通信はコネクション6を用いてWebsocketプロトコルに準拠する電文を用いて行われる。これにより双方向通信、すなわちプッシュ型の相互通信が可能となる。
In the above, an example in which the
上述の処理によれば、Websocketにより、アプリケーション層にてコネクション6が確立されるため、通信時のセキュリティのさらなる向上を図ることが可能となる。また、サービスの提供を受けるユーザ側のネットワーク環境のセキュリティ設定条件により、グローバルネットワークN1上の装置からプライベートネットワークN2へのアクセスにおいて、HTTPSプロトコル以外のプロトコルは不正アクセスとして遮断される場合であっても、HTTPSプロトコルの拡張規格として規定されるWebsocketプロトコルを用いることでコネクション6の確立を容易に実現し得る。
According to the above-mentioned process, since the
コネクション6は、CONNECTメソッドによるものであってもよい。CONNECTメソッドはプロキシサーバを通してHTTPS通信を行う場合に使用するメソッドである。転送クライアント2は、HTTPSプロトコルを用いた通信により、転送サーバ1へ確立要求を送信する。確立要求には、CONNECTメソッドを用いたトンネル開始要求を示す情報が含まれる。転送サーバ1は受信したコネクション6の確立要求への応答を送信し、転送クライアント2が応答を受信することにより、転送サーバ1と転送クライアント2との間でCONNECTメソッドによるコネクション6が確立される。以降、転送サーバ1と転送クライアント2との通信はコネクション6を用いてTCPコネクションをトンネリングする事が可能となる。これにより双方向通信、すなわちプッシュ型の相互通信が可能となる。
The
本実施形態の具体的な適用例を説明する。サーバ4は、ウェブサーバである。クライアント装置3は、ウェブサーバにアクセスするブラウザを備え、ブラウザの操作処理を実行する。クライアント装置3は、ユーザからの実行指示を受けて、サーバ4に対するブラウザの操作処理を自動実行するクラウド型サービスを提供する。クライアント装置3は、手順DBを備える。手順DBは、手順データを記憶する。手順データは、クライアント装置3のブラウザにおける複数の操作処理の手順を含む。当該手順は、例えばブラウザ画面上におけるデータの入力操作、エレメントの選択操作、ブラウザのリサイズ操作、ブラウザのスクロール操作、タブの切替操作等を含む。手順データは、クライアント装置3に操作処理の自動実行を指示するユーザの外部装置によって予め生成され、生成された手順データがクライアント装置3の手順DBに記憶される。クライアント装置3は、手順DBから手順データを読み出し、読み出した手順データに従ってブラウザの操作処理を実行する。
A specific application example of this embodiment will be described. The
クライアント装置3は、例えばユーザ企業の販売管理システム、売上管理システム等へのデータ入力のためのブラウザの操作処理を実行する。クライアント装置3の制御部30は、ユーザから取得した実行指示に応じて手順DBから手順データを読み出し、ブラウザを起動する。制御部30は、転送サーバ1の受付ポートにアクセスし、サーバ4へのブラウザの操作処理を自動実行するためのHTTPSリクエストを送信する。HTTPSリクエストは、通信トンネルを通じてサーバ4へ転送される。クライアント装置3は、通信トンネルを通じてサーバ4から送信されるHTTPSレスポンスを取得する。クライアント装置3は、手順データに基づく一連の操作処理を自動実行し、サーバ4から受信した実行結果データをユーザの外部装置へ送信する。このように、クライアント装置3によるブラウザの操作処理の自動実行サービスが行われる。
The
(第2実施形態)
第2実施形態では、可否情報に基づき転送先への転送可否を判定する構成を説明する。以下では、第2実施形態について、第1実施形態と異なる点を説明する。後述する構成を除く他の構成については第1実施形態の情報処理システム100と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。
(Second Embodiment)
In the second embodiment, a configuration for determining whether or not to transfer to a transfer destination will be described based on the availability information. Hereinafter, the second embodiment will be described as different from the first embodiment. Since the other configurations except the configurations described later are the same as those of the
図6は、第2実施形態における情報処理システム200の各装置の内部構成を示すブロック図である。第2実施形態の転送クライアント2の記憶部21は、可否情報DB212をさらに記憶している。可否情報DB212は、可否情報を記録したデータベースである。可否情報とは、転送先として指定されるサーバ4の特定ポートへの転送の可否を判定するための情報であり、具体的には転送を許可する転送先のサーバ又はサービスを識別するデータが含まれる。
FIG. 6 is a block diagram showing an internal configuration of each device of the
図7は、可否情報DB212のレコードレイアウトを例示する説明図である。例えば、可否情報DB212には、可否情報を識別する識別ID、転送を許可するサーバを識別するためのサーバ4のプライベートIPアドレス、転送を許可するサーバ4のサービスを識別するためのポート番号等の情報が対応付けられて格納されている。IPアドレス又はポート番号は、単一のデータに限定されず、例えば転送を許可するIPアドレス帯又はポート番号帯など、転送を許可する範囲帯を示すデータであってよい。可否情報は、ホスト名、ドメイン名、プロトコル名等が記憶されていてもよい。可否情報は、IPアドレス及びポート番号等を対応付けた転送先IDにて管理されていてもよい。
FIG. 7 is an explanatory diagram illustrating the record layout of the
転送クライアント2は、可否情報に基づき、転送先として指定されるサーバ4への転送を許可するか否かを判定する。又は、転送クライアント2は、可否情報に基づき、転送先として指定されるサーバ4のサービスへの転送を許可するか否かを判定する。転送クライアント2は、可否情報DB212に記録されるサーバ4のサービスの範囲内に限定して、転送要求を許可する。なお、可否情報は転送を許可するサーバ4の範囲を記録するものに限定されず、転送を不許可、すなわち転送を拒否するサーバ4の範囲を記録するものであってもよい。この場合、転送クライアント2は、可否情報に基づき、転送先として指定されるサーバ4のサービスへの転送を拒否するか否かを判定する。可否情報には、さらにユーザアカウント等の識別情報が関連付けられていてもよい。すなわち、ユーザアカウント毎に転送を許可又は不許可する範囲が設定されていてもよい。
The
図8は、第2実施形態における情報処理システム200において実行される操作処理の手順の一例を示すシーケンス図である。第1実施形態の図5と共通する処理については同一の番号を付してその詳細な説明を省略する。
FIG. 8 is a sequence diagram showing an example of a procedure of operation processing executed in the
転送サーバ1の制御部10は、転送情報を取得し転送情報DB111に記憶する(S101)。転送クライアント2の制御部20は、識別情報を取得し識別情報DB211に記憶する(S201)。制御部20はまた、転送を許可するサーバ4のIPアドレス及びポート番号等を含む可否情報を取得し、取得した可否情報を可否情報DB212に記憶する(S211)。可否情報の取得方法は限定されるものではないが、例えば外部の管理サーバと通信することにより取得してよい。
The
転送クライアント2の制御部20は、転送サーバ1にコネクション6の確立要求を送信する(S202)。転送クライアント2は、サーバ4の識別情報を識別情報DB211から読み出し、確立要求に関連付けて送信する。転送サーバ1の制御部10は、コネクション6の確立要求を受信し(S102)、応答を転送クライアント2へ送信する(S103)。転送クライアント2の制御部20は、応答を受信する(S203)。制御部20が応答を受信することにより、転送サーバ1と転送クライアント2との間でコネクション6が確立される。
The
コネクション6の確立後、転送サーバ1の制御部10は、通信トンネルを形成するための転送要求を転送クライアント2へ送信する(S104)。転送要求には、転送先を指定するためのサーバ4のIPアドレス及びポート番号を含む転送先情報と、通信トンネル要求に関する情報とが関連付けられている。転送要求には、ユーザアカウント等の識別情報が関連付けられていてもよい。
After establishing the
転送クライアント2の制御部20は、転送要求を受信する(S204)。制御部20は、受信した転送要求に関連付けられる転送先情報の宛先IPアドレス及びポート番号と、可否情報のIPアドレス及びポート番号とを比較することにより、転送要求に係る転送先への転送を許可するか否かを判定する(S212)。制御部20は、転送要求時に取得するユーザアカウントに基づき、当該ユーザアカウントに対し許可される転送先であるか否かを判定してもよい。
The
転送先情報の宛先IPアドレス及びポート番号が可否情報に含まれないことにより、転送を許可しないと判定した場合(S212:NO)、制御部20は、転送不許可を示す応答を転送サーバ1へ送信し、処理を終了する。制御部20は、処理をS204に戻しコネクション6の確立状態を維持してもよい。
When it is determined that the forwarding is not permitted because the destination IP address and the port number of the forwarding destination information are not included in the pass / fail information (S212: NO), the
転送先情報の宛先IPアドレス及びポート番号が許可情報に含まれることにより、転送を許可すると判定した場合(S212:YES)、制御部20は、転送許可を示す応答を転送サーバ1へ送信する(S213)。
When it is determined that the transfer is permitted because the destination IP address and the port number of the transfer destination information are included in the permission information (S212: YES), the
転送サーバ1の制御部10は、転送許可を示す応答を受信する(S111)。制御部10が転送許可を示す応答を受信することにより、転送サーバ1の受付ポートと、転送クライアント2に接続するサーバ4の特定ポートとの間で通信トンネルが形成される。制御部10は、受付ポートを開放する(S106)。クライアント装置3の制御部30は、転送サーバ1の受付ポートにサーバ4の特定ポート宛先の通信要求を送信する(S301)。通信が開始され、通信トンネルを通して転送サーバ1の受付ポートとサーバ4の特定ポートとの間で通信データが転送される。
The
本実施形態によれば、転送を許可又は不許可する宛先の範囲を設定した可否情報に基づき、転送の可否が判定される。予め設定される範囲を超えたサーバ4又はサーバ4のポートへの通信は転送が拒否されるため、プライベートネットワークN2内のサーバ4に対する不正なアクセスを防止し、通信の安全性を向上させることができる。
According to the present embodiment, it is determined whether or not the transfer is possible based on the information on whether or not the range of the destinations that allow or disallow the transfer is set. Since the transfer to the
上記では、転送クライアント2が可否情報を保持し、転送可否を判定する例を説明したが本実施形態は限定されるものではなく、転送サーバ1が転送可否を判定する構成であってもよい。この場合、転送サーバ1は、例えばクライアント装置3等の外部装置から転送先のサーバ4のIPアドレス及びポート番号を含む転送要求を受信する。転送サーバ1は、記憶する可否情報に基づき、受信した転送要求のIPアドレス及びポート番号への転送を許可するか否かを判定する。転送を許可すると判定した場合にのみ、S104の転送要求の送信処理を実行する。転送サーバ1は、ユーザアカウント等の識別情報及び転送先を受信し、受信したユーザアカウントに許可される転送先であるか否かを判定してもよい。すなわち、転送サーバ1は、取得した転送要求を許可するか否かを判定する転送許可サーバとして機能する。
In the above, an example in which the
(第3実施形態)
第3実施形態では、転送サーバ1と転送クライアント2との間で複数のコネクションを確立する構成を説明する。以下では、第3実施形態について、第1実施形態と異なる点を説明する。後述する構成を除く他の構成については第1実施形態の情報処理システム100と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。
(Third Embodiment)
In the third embodiment, a configuration for establishing a plurality of connections between the
図9は、第3実施形態における情報処理システム300の概要を示す図である。第3実施形態では、転送サーバ1と転送クライアント2との間で、転送要求の通信に係る第1コネクション61と、通信データの転送に係る第2コネクション62とを確立する。
FIG. 9 is a diagram showing an outline of the
図10及び図11は、第3実施形態における情報処理システム300において実行される操作処理の手順の一例を示すシーケンス図である。
10 and 11 are sequence diagrams showing an example of a procedure of operation processing executed in the
転送サーバ1の制御部10は、転送情報を取得し転送情報DB111に記憶する(S121)。転送クライアント2の制御部20は、識別情報を取得し識別情報DB211に記憶する(S221)。制御部20はまた、可否情報を取得し可否情報DB212に記憶する(S222)。
The
転送クライアント2の制御部20は、グローバルネットワークN1を介して転送サーバ1に第1コネクション61の確立要求を送信する(S223)。転送クライアント2は、サーバ4の識別情報を識別情報DB211から読み出し、確立要求に関連付けて送信する。転送サーバ1の制御部10は、第1コネクション61の確立要求を受信し(S122)、応答を転送クライアント2へ送信する(S123)。転送クライアント2の制御部20は、応答を受信する(S224)。制御部20が応答を受信することにより、転送サーバ1と転送クライアント2との間で第1コネクション61が確立される。
The
第1コネクション61の確立後、転送サーバ1の制御部10は、転送要求を転送クライアント2へ送信する(S124)。転送要求には、転送先を指定するための転送先情報が関連付けられている。転送クライアント2の制御部20は、転送要求を受信する(S225)。
After establishing the
制御部20は、受信した転送要求を許可するか否かを判定する(S226)。転送を許可しないと判定した場合(S226:NO)、制御部20は処理を終了する。転送を許可すると判定した場合(S226:YES)、制御部20は転送許可を示す応答を転送サーバ1へ送信する(S227)。転送サーバ1の制御部10は、転送許可を示す応答を受信する(S125)。なお転送許可に係る判定処理は省略されてもよい。
The
転送クライアント2の制御部20は、グローバルネットワークN1を介して第1転送サーバ1aに第2コネクション62の確立要求を送信する(S228)。転送クライアント2は、サーバ4の識別情報を識別情報DB211から読み出し、確立要求に関連付けて送信する。転送サーバ1の制御部10は、第2コネクション62の確立要求を受信し(S126)、応答を転送クライアント2へ送信する(S127)。転送クライアント2の制御部20は、応答を受信する(S229)。制御部20が応答を受信することにより、転送サーバ1と転送クライアント2との間で第2コネクション62が確立される。
The
第2コネクション62の確立後、転送サーバ1の制御部10は、通信トンネル要求を転送クライアント2へ送信する(S128)。通信トンネル要求には、転送先のサーバ4のプライベートIPアドレス及びポート番号と、転送サーバ1のグローバルIPアドレス及び受付ポート番号とが含まれる。転送クライアント2の制御部20は、通信トンネル要求を受信する(S230)。制御部20は、受信した通信トンネル要求に対する応答を転送サーバ1へ送信する(S231)。転送サーバ1の制御部10は、応答を受信する(S129)。制御部10が応答を受信することにより、転送サーバ1の受付ポートと、転送先として指定したサーバ4の特定ポートとの間で通信トンネルが形成される。制御部10は、受付ポートを開放する(S130)。クライアント装置3の制御部30は、転送サーバ1の受付ポートにサーバ4の特定ポートを宛先とする通信要求を送信する(S321)。通信が開始され、通信トンネルを通して転送サーバ1の受付ポートとサーバ4の特定ポートとの間で通信データが転送される。第2コネクション62及び通信トンネルは、転送終了後切断されてよい。
After establishing the
本実施形態によれば、転送要求のための第1コネクション61と、通信データの転送のための第2コネクション62とを確立することにより、各コネクションを用いて効率的に通信が行われる。
According to the present embodiment, by establishing the
上記では、転送サーバ1と転送クライアント2との間で2個のコネクションが確立される例を説明したが、本実施形態は限定されるものではない。例えば、転送サーバ1は、第1転送サーバ及び第2転送サーバを含み、第1転送サーバと転送クライアント2との間で第1コネクション61が確立され、第2転送サーバと転送クライアント2との間で第2コネクション62が確立されてもよい。この場合、第1転送サーバは、転送要求を許可するか否かを判定する転送許可サーバとして機能し、第2転送サーバは通信データを転送する通信転送サーバとして機能する。プライベートネットワーク内の1個の転送クライアント2を介してグローバルネットワーク上の複数の転送サーバ1から効率的に通信することができ、各転送サーバ1で処理又は機能を分散することができる。
In the above, an example in which two connections are established between the
(第4実施形態)
第4実施形態では、複数の転送サーバ間で接続情報を共有する構成を説明する。以下では、第4実施形態について、第1実施形態と異なる点を説明する。後述する構成を除く他の構成については第1実施形態の情報処理システム100と同様であるので、共通する構成については同一の符号を付してその詳細な説明を省略する。
(Fourth Embodiment)
In the fourth embodiment, a configuration for sharing connection information among a plurality of transfer servers will be described. Hereinafter, the fourth embodiment will be described as different from the first embodiment. Since the other configurations except the configurations described later are the same as those of the
図12は、第4実施形態における情報処理システム400の概要を示す図である。図12では、中継装置5及びグローバルネットワークN1の図示を省略する。第4実施形態の転送サーバ1は、第1転送サーバ1a及び第2転送サーバ1bを含む。転送サーバ1は2個のサーバを含むものに限定されず、3個以上のサーバを含んでよい。第1転送サーバ1a及び第2転送サーバ1bはそれぞれ、グローバルネットワークN1及び中継装置5を介して、異なるプライベートネットワークN2に接続される転送クライアント2と通信接続されている。
FIG. 12 is a diagram showing an outline of the
例えば、プライベートネットワークN2はそれぞれユーザの家庭やオフィスに設置されるLANであり、サーバ4は、家庭やオフィスにて利用されるウェブカメラ又はネットワークストレージ(NAS:Network Attached Storage)である。サーバ4のユーザは、外部ネットワークに接続されるクライアント装置3を用いて転送サーバ1へ通信接続することにより、転送クライアント2を介して自宅外から自宅内のサーバ4へアクセス可能である。ユーザは、自宅外からウェブカメラへアクセスすることでウェブカメラが撮影した自宅内の画像を取得したり、自宅外からNASへアクセスすることで自宅内のNASに保存されるファイルを取得したりすることができる。本実施形態において、サーバ4は転送クライアント2の機能を含む1つのデバイスとして構成されてもよい。
For example, the private network N2 is a LAN installed in the user's home or office, and the
第1転送サーバ1aは、制御部10a、記憶部11a及び通信部12aを備える。第2転送サーバ1bは、制御部10b、記憶部11b及び通信部12bを備える。第1転送サーバ1a及び第2転送サーバ1bのハードウェア構成は第1実施形態の転送サーバ1と同様であるため図示及び詳細な説明を省略する。
The
第1転送サーバ1a及び第2転送サーバ1bはそれぞれ、接続情報DB112に対して情報を読み書きすることが可能である。接続情報DB112は、接続情報を記録したデータベースである。接続情報とは、第1転送サーバ1a及び第2転送サーバ1bそれぞれと転送クライアント2とのコネクションの接続(確立)状態に関する情報であり、各コネクションを確立する転送サーバと転送クライアント2との対応関係を示す情報である。
The
図13は、接続情報DB112のレコードレイアウトを示す概念図である。例えば、接続情報DB112には、識別ID、転送サーバのグローバルIPアドレス及びポート番号、転送サーバと第1コネクション61を確立している転送クライアント2のグローバルIPアドレス、転送クライアント2に接続するサーバ4の識別情報(図13の例ではPINコード)、サーバ4のIPアドレス及びポート番号を含む転送先情報等の情報が対応付けられて格納されている。第1転送サーバ1a及び第2転送サーバ1bは、転送クライアント2と第1コネクション61が確立される都度、当該第1コネクション61に関する接続情報を接続情報DB112に記録する。第1転送サーバ1a及び第2転送サーバ1bは、共有する接続情報に基づき、クライアント装置3から受信した通信データを他の転送サーバへリダイレクトする。なお接続情報DB112は、第1転送サーバ1aの記憶部11a及び第2転送サーバ1bの記憶部11bにそれぞれ記憶されており、第1転送サーバ1a及び第2転送サーバ1b間で接続情報を共有する構成であってもよい。
FIG. 13 is a conceptual diagram showing the record layout of the
図14及び図15は、第4実施形態における情報処理システム400において実行される操作処理の手順の一例を示すシーケンス図である。
14 and 15 are sequence diagrams showing an example of a procedure of operation processing executed in the
第1転送サーバ1aの制御部10aは、転送情報を取得し転送情報DB111に記憶する(S141)。転送クライアント2の制御部20は、識別情報を取得し識別情報DB211に記憶する(S241)。本実施形態では、識別情報として、各サーバ4に固有のPINコードが用いられる。なお、処理順序は限定されるものでなく、第1転送サーバ1aの制御部10aは、後述するS142においてサーバ4のIPアドレス及びポート番号を含む転送先情報を転送クライアント2から受信し、転送情報DB111に記憶してもよい。
The control unit 10a of the
転送クライアント2の制御部20は、グローバルネットワークN1を介して第1転送サーバ1aに第1コネクション61の確立要求を送信する(S242)。転送クライアント2は、サーバ4の識別情報(PINコード)を識別情報DB211から読み出し、確立要求に関連付けて送信する。第1転送サーバ1aの制御部10aは、第1コネクション61の確立要求を受信し(S142)、応答を転送クライアント2へ送信する(S143)。転送クライアント2の制御部20は、応答を受信する(S243)。制御部20が応答を受信することにより、第1転送サーバ1aと転送クライアント2との間で第1コネクション61が確立される。すなわち、プライベートネットワーク内の転送クライアント2を介して、ウェブカメラ又はNASと、グローバルネットワークの転送サーバ1とのセッションが確立される。制御部20は、所定のポート番号を開き、クライアント装置3からの通信を待ち受ける。
The
第1転送サーバ1aの制御部10aは、新たなコネクションの確立状態に関する接続情報を接続情報DB112に記憶する(S144)。接続情報には、例えば自装置とコネクションを確立する転送クライアント2のIPアドレス、コネクションの確立要求に関連付けられる識別情報、対応する転送先情報等が含まれる。
The control unit 10a of the
第2転送サーバ1bと第2の転送クライアント2との間でも上述の処理が実行され、第2転送サーバと第2の転送クライアント2との間で第1コネクション61が確立される。各転送サーバと転送クライアント2とのコネクションの確立状態は、随時、接続情報DB112に記録される。これにより、各転送サーバ間で他の転送サーバにおける接続状態を示す接続情報が共有される。
The above processing is also executed between the
第1コネクション61の確立後、ユーザはクライアント装置3を用いて、ウェブカメラの画像データや、NASのファイルを取得するため、転送サーバ1へアクセスする。クライアント装置3の制御部30は、転送サーバ1へ転送要求を送信する(S341)。クライアント装置3が転送要求を送信するサーバは、転送サーバ1の内のいずれのサーバであってもよく、すなわち第1転送サーバ1a又は第2転送サーバ1bのいずれかに転送要求を送信する。以下の処理は、一例として、クライアント装置3の転送要求に係る転送先とは接続されていない第2転送サーバ1bに転送要求が送信された場合の処理の手順である。
After establishing the
転送要求には、転送先のサーバ4及びサービスを指定するための情報が関連付けられており、例えば識別情報及び転送情報等が関連付けられている。クライアント装置3がブラウザを用いて第2転送サーバ1bへアクセスする場合には、例えば第2転送サーバ1bのホスト名及びポート番号、自装置のホスト名及びポート番号、パスにPINコード及びプロトコル名を含むURLにより、転送先のサーバ4及びサービスを指定して転送要求を行ってよい。
Information for designating the
第2転送サーバ1bの制御部10bは、転送要求を受信する(S441)。制御部10bは、接続情報DB112を参照して接続情報を取得する(S442)。制御部10bは、取得した接続情報に基づき、クライアント装置3の指定する転送先と第1コネクション61を確立している転送サーバを特定する(S443)。具体的には、制御部10bは、PINコードに基づき、当該PINコードにて識別されるサーバ4と接続する転送クライアント2と第1コネクション61を確立中の転送サーバ(第1転送サーバ1a)を特定する。制御部10bは、特定した第1転送サーバ1aにアクセスするためのURL又は第1転送サーバ1aのグローバルIPアドレス等のリダイレクト情報をクライアント装置3へ送信する(S444)。制御部10bは、転送先情報に基づき転送サーバを特定してもよい。
The control unit 10b of the
クライアント装置3の制御部30は、リダイレクト情報を受信する(S342)。制御部30は、リダイレクト情報に基づき、第1転送サーバ1aへ転送要求を送信する(S343)。このように、第1転送サーバ1a及び第2転送サーバ1bで接続情報を共有することで、クライアント装置3からコネクションを確立していない第2転送サーバ1bへ接続された場合であっても、クライアント装置3を第1転送サーバ1aへリダイレクトすることができる。なお、第2転送サーバ1bの制御部10bは、クライアント装置3を介することなく転送サーバ間で通信データを中継することにより、クライアント装置3から受信した転送要求を直接第1転送サーバ1aへ転送してもよい。
The
第1転送サーバ1aの制御部10aは、転送要求を受信する(S145)。制御部10aは、転送要求に関連付けられるPINコード及びプロトコルと、転送情報DB111に保持する情報とに基づき、転送先のIPアドレス及びポート番号等を含む転送先を特定し、特定した転送先の転送先情報を取得する。この場合において、制御部10aは、自装置の待ち受けポートにより、サーバ4のサービスを特定してもよい。制御部10aは、取得した転送先情報を関連付けた転送要求を転送クライアント2へ送信する(S146)。
The control unit 10a of the
転送クライアント2の制御部20は、転送要求を受信する(S244)。制御部20は、受信した転送要求に対する応答を第1転送サーバ1aへ送信する(S245)。転送クライアント2の制御部20は、転送要求を許可するか否かの判定処理を実行してもよい。第1転送サーバ1aの制御部10aは、応答を受信する(S147)。
The
転送クライアント2の制御部20は、転送要求に応じて、グローバルネットワークN1を介して第1転送サーバ1aに第2コネクション62の確立要求を送信する(S246)。転送クライアント2は、サーバ4の識別情報を識別情報DB211から読み出し、確立要求に関連付けて送信する。第1転送サーバ1aの制御部10aは、第2コネクション62の確立要求を受信し(S148)、応答を転送クライアント2へ送信する(S149)。転送クライアント2の制御部20は、応答を受信する(S247)。制御部20が応答を受信することにより、第1転送サーバ1aと転送クライアント2との間で第2コネクション62が確立される。
The
第2コネクション62の確立後、第1転送サーバ1aの制御部10aは、通信トンネル要求を転送クライアント2へ送信する(S150)。通信トンネル要求には、転送先のサーバ4のIPアドレス及びポート番号と、第1転送サーバ1aのグローバルIPアドレス及び受付ポート番号とが含まれている。転送クライアント2の制御部20は、通信トンネル要求を受信する(S248)。制御部20は、受信した通信トンネル要求に対する応答を第1転送サーバ1aへ送信する(S249)。第1転送サーバ1aの制御部10aは、応答を受信する(S151)。制御部10aが応答を受信することにより、第1転送サーバ1aの受付ポートと、転送先として指定したサーバ4の特定ポートとの間で通信トンネルが形成される。制御部10aは、受付ポートを開放する(S152)。
After establishing the
クライアント装置3の制御部30は、第1転送サーバ1aの受付ポートにサーバ4の特定ポートを宛先とする通信要求を送信する(S345)。通信が開始され、通信トンネルを通して第1転送サーバ1aの受付ポートとサーバ4の特定ポートとの間で通信データが転送される。例えばサーバ4がウェブカメラの場合、クライアント装置3の制御部30は、サーバ4からRTSP(Real Time Streaming Protocol)等のストリーム配信のプロトコルによるデータの配信を受ける。サーバ4がNASの場合、クライアント装置3の制御部30は、サーバ4からHTTPS等のプロトコルによるデータを受信する。なおサーバ4がファイル共有などのファイルサービスを提供する場合には、TCP/IPの上位プロトコルとしてSMBプロトコルを用いてよい。
The
上述の処理において、クライアント装置3の制御部30は、PINコードのみを関連付けた要求を転送サーバ1へ送信することで、サーバ4の特定ポートに対する通信経路をあらかじめ形成してもよい。制御部30は、転送サーバ1から例えば接続情報又は転送情報等を受信することにより、サーバ4のポートの接続状態を取得する。制御部30は、取得したサーバ4のポートの接続状態に応じて、各サーバ4のポートに対応する数の自装置のポートを待ち受け状態にする。その後、制御部30は、待ち受け状態のいずれか1つのポートを用いて転送サーバ1にアクセスし、PINコード及びプロトコルを指定して転送要求を送信する。この場合、制御部30は、例えばブラウザ等の汎用アプリケーションではなく、サービス専用のアプリケーションプログラムに基づき処理を実行することが好ましい。
In the above process, the
上記では、クライアント装置3から第2転送サーバ1bへの転送要求を第1転送サーバ1aにリダイレクトする処理を説明したが、本実施形態は限定されない。転送要求を受け付けた第2転送サーバ1bは、自サーバが転送要求に係る転送先と接続されている転送サーバであると特定した場合には、上述のリダイレクト処理を行わず、S145以降の転送処理を実行してよい。
In the above, the process of redirecting the transfer request from the
本実施形態によれば、第1転送サーバ1a及び第2転送サーバ1bを含む複数の転送サーバと複数の転送クライアント2とがそれぞれ異なるコネクションを確立している場合であっても、接続情報を共有することで、クライアント装置3から特定のサーバ4に対する通信が可能となる。転送サーバ1と転送クライアント2とは、転送要求に関する通信のための第1コネクションと、クライアント装置3からの転送要求に応じて確立されるデータ通信のための第2コネクションとを用いて、効率的に通信することができる。
According to the present embodiment, connection information is shared even when a plurality of transfer servers including the
(第5実施形態)
第5実施形態では、複数のクライアント装置3からの要求に応じて、単一のコネクション6を用いて複数の通信データが転送される。図16は、第5実施形態における情報処理システム500の概要を示す図である。図16では、中継装置5及びグローバルネットワークN1の図示を省略する。第5実施形態の転送サーバ1は、第1のクライアント装置3及び第2のクライアント装置3それぞれと通信接続されている。
(Fifth Embodiment)
In the fifth embodiment, a plurality of communication data are transferred using a
転送サーバ1は、第1のクライアント装置3及び第2のクライアント装置3それぞれから、受付ポートに対する通信を受信する。転送サーバ1の制御部10は、第1のクライアント装置3から受付ポートにアクセスされた場合、第1のクライアント装置3からのアクセスに応じてサーバ4の特定ポートを転送先とする転送要求をコネクション6を用いて転送クライアント2へ送信する。転送クライアント2からの応答に応じて、転送サーバ1の受付ポートとサーバ4の特定ポートとの間で通信トンネルが形成される。制御部10は、コネクション6を用いて形成された通信トンネルを通して、第1のクライアント装置3からの通信データを転送する。この場合において制御部10は、当該第1のクライアント装置3からの通信であることを示す情報を関連付けて、転送クライアント2へ通信データを転送する。転送クライアント2は、サーバ4の特定ポートへ通信データを転送する。サーバ4は、通信データを受信し、第1のクライアント装置3への通信であることを示す情報を関連付けて、転送クライアント2を介して転送サーバ1へHTTPSレスポンスを送信する。転送サーバ1は、HTTPSレスポンスに関連付けられた第1のクライアント装置3への通信であることを示す情報に基づき、当該HTTPSレスポンスを第1のクライアント装置3へ送信する。
The
転送サーバ1の制御部10は、第2のクライアント装置3から受付ポートにアクセスされた場合、同一の通信トンネルを通して通信データを転送する。この場合において、制御部10は、上記と同様に第2のクライアント装置3からの通信であることを示す情報を関連付けて、通信データを転送する。このように、宛先を示す情報を通信データにタグ付けすることで、1つの通信トンネルを通して複数の通信データを識別しながら転送することができる。本実施形態によれば、1つのコネクション及び通信トンネルを用いて、グローバルネットワーク側の異なる送信元からの複数の通信データを効率的にプライベートネットワーク内へ送信することができる。
When the
(第6実施形態)
第6実施形態では、複数のクライアント装置3からの要求に応じて、プライベートネットワーク内の複数のサーバ4への通信データが転送される。図17は、第6実施形態における情報処理システム600の概要を示す図である。図17では、中継装置5及びグローバルネットワークN1の図示を省略する。第6実施形態の転送サーバ1は、第1のクライアント装置3及び第2のクライアント装置3それぞれと通信接続されている。転送クライアント2は、第1のサーバ4及び第2のサーバ4それぞれと通信接続されている。
(Sixth Embodiment)
In the sixth embodiment, communication data is transferred to a plurality of
転送サーバ1は、第1のクライアント装置3及び第2のクライアント装置3それぞれから、自装置の異なる受付ポートに対する通信データを受信する。転送サーバ1は、転送クライアント2との間で確立される単一のコネクション6を用いて、各通信に応じた転送要求をそれぞれ送信することにより、自装置の複数の受付ポートと、サーバ4の複数の特定ポートとの間でそれぞれ通信トンネルを形成する。転送サーバ1は、第1の通信トンネルを用いて、第1のクライアント装置3から第1のサーバ4の特定ポートに対する通信データを転送する。転送サーバ1は、第2の通信トンネルを用いて、第2のクライアント装置3から第2のサーバ4の特定ポートに対する通信データを転送する。
The
本実施形態によれば、転送サーバ1は、転送クライアント2に接続する複数のサーバ4に対する複数の通信データを、単一のコネクション6を用いて形成された複数の通信トンネルを用いて効率的に転送することができる。本実施形態において、転送サーバ1にサーバ4が接続され、転送クライアント2にクライアント装置3が接続されるものであってもよい。すなわち、グローバルネットワーク側とプライベートネットワーク側の双方にクライアント及びサーバがそれぞれ設置されるものであってもよい。
According to the present embodiment, the
(第7実施形態)
第7実施形態では、サーバ4はプロキシサーバとして機能する。図18は、第7実施形態における情報処理システム700の概要を示す図である。図18では、中継装置5及びグローバルネットワークN1の図示を省略する。第7実施形態のサーバ4は、プライベートネットワークN2に接続される複数のウェブサーバと通信可能に接続されるよう構成されている。サーバ4は、各ウェブサーバへの通信を中継し各ウェブサーバに代理でアクセスするプロキシサーバである。クライアント装置3から送信される通信データは、転送サーバ1及び転送クライアント2を介してプロキシサーバ4の特定ポートへ転送される。通信データには、クライアント装置3のアクセス先であるウェブサーバのURLが含まれる。プロキシサーバ4は、受信した通信データに基づきアクセス先のウェブサーバを特定し、特定したウェブサーバへ通信データを送信する。なお、複数のウェブサーバはプライベートネットワークN2内に設けられるものに限定されない。各ウェブサーバは、プライベートネットワークN2を介して、グローバルネットワーク上に設けられてもよい。
(7th Embodiment)
In the seventh embodiment, the
本実施形態によれば、クライアント装置3は、ブラウザ上で、プライベートネットワーク内のウェブサーバのURLを直接指定して通信することができる。クライアント装置3から送信される通信データは、通信トンネルを介してプロキシサーバ4へ転送される。プロキシサーバ4は、通信データに基づきURLで指定される各ウェブサーバへアクセスする。プライベートネットワーク内の各ウェブサーバに対し個別の通信トンネルを形成することなく、転送サーバ1とプロキシサーバ4との間に形成される1つの通信トンネルを用いて、プロキシサーバ4の先にある各ウェブサーバ4に対する複数の通信データを転送することができるため、効率的な通信が可能となる。
According to the present embodiment, the
第1実施形態から第7実施形態に示した例は、各実施形態に示した構成の全部又は一部を組み合わせて他の実施の形態を実現することが可能である。各実施形態に示したシーケンスは限定されるものではなく、各処理手順はその順序を変更して実行されてもよく、また並行して複数の処理が実行されてもよい。 In the examples shown in the first to seventh embodiments, it is possible to realize other embodiments by combining all or a part of the configurations shown in each embodiment. The sequence shown in each embodiment is not limited, and each processing procedure may be executed in a different order, or a plurality of processes may be executed in parallel.
今回開示された実施の形態は全ての点で例示であって、制限的なものではない。本発明の範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれる。 The embodiments disclosed this time are exemplary in all respects and are not restrictive. The scope of the present invention is indicated by the scope of claims and includes all modifications within the meaning and scope equivalent to the scope of claims.
1 転送サーバ(第1転送装置)
10 制御部
11 記憶部
12 通信部
1Pプログラム
111 転送情報DB
112 接続情報DB
2 転送クライアント(第2転送装置)
20 制御部
21 記憶部
2P プログラム
211 識別情報DB
212 可否情報DB
3 クライアント装置(第1通信装置)
4 サーバ(第2通信装置)
5 中継装置
6 コネクション
61 第1コネクション
62 第2コネクション
100,200,300,400,500,600,700 情報処理システム
1 Transfer server (first transfer device)
10
112 Connection information DB
2 Transfer client (second transfer device)
20
212 Yes / No Information DB
3 Client device (first communication device)
4 Server (second communication device)
5
Claims (14)
前記第1転送装置は、
前記第2転送装置からコネクションの確立要求を取得し、
取得した前記コネクションの確立要求に応じて前記第1転送装置と前記第2転送装置との間のコネクションを確立し、
確立された前記コネクションを用いて、前記第2通信装置の特定ポートを転送先として指定するための転送先情報と、前記第1通信装置からの通信を受け付ける前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとのマッピングにより前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する通信トンネルを形成するための通信トンネル要求と、を含む転送要求を前記第2転送装置へ送信し、
送信した前記転送要求に応じて前記第2転送装置から送信される応答を受信することにより、前記第1転送装置の受付ポートと前記転送先情報にて指定される前記第2通信装置の特定ポートとをマッピングする前記通信トンネルを形成し、
形成した前記通信トンネルを通じて、前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送することにより、前記第1通信装置は、前記通信トンネルにより前記第2通信装置の特定ポートとマッピングされている前記第1転送装置の受付ポートにアクセスすることにより前記第1転送装置及び前記第2転送装置を介して前記第2通信装置の特定ポートにアクセスする
情報処理方法。 A second transfer device connected to the private network for communication between the first transfer device connected to the global network and transferring the communication received from the first communication device and the second communication device connected to the private network. It is an information processing method that is transferred via
The first transfer device is
Obtaining a connection establishment request from the second transfer device,
A connection between the first transfer device and the second transfer device is established in response to the acquired connection establishment request.
Using the established connection, transfer destination information for designating a specific port of the second communication device as a transfer destination, a reception port of the first transfer device that receives communication from the first communication device, and the above. A transfer request including a communication tunnel request for forming a communication tunnel for transferring communication between the reception port of the first transfer device and the specific port of the second communication device by mapping with a specific port of the second communication device. Is transmitted to the second transfer device,
By receiving the response transmitted from the second transfer device in response to the transmitted transfer request, the reception port of the first transfer device and the specific port of the second communication device specified by the transfer destination information. Form the communication tunnel that maps to
By transferring the communication between the reception port of the first transfer device and the specific port of the second communication device through the formed communication tunnel, the first communication device can be connected to the second communication device by the communication tunnel. By accessing the reception port of the first transfer device mapped to the specific port, the specific port of the second communication device is accessed via the first transfer device and the second transfer device.
Information processing method.
前記第1転送装置は、前記第2通信装置を識別するための前記識別情報と、前記第2通信装置の特定ポートを含む前記第2通信装置の特定ポートを転送先として指定するための転送先情報と、前記通信トンネルにより前記第2通信装置の特定ポートとマッピングされる前記第1転送装置の受付ポートとを関連付けて記憶しており、
前記第1転送装置は、前記第2転送装置から前記コネクションの確立要求と前記第2通信装置を識別するための前記識別情報とを関連付けて取得し、
取得した前記識別情報に関連付けられる前記転送先情報の前記第2通信装置の特定ポートと、前記第1転送装置の受付ポートとに基づき、前記通信トンネル要求を含む前記第2通信装置の特定ポートを転送先として指定する前記転送要求を前記第2転送装置へ送信し、
前記通信トンネルを確立する際前記第1転送装置の受付ポートを開放する
請求項1に記載の情報処理方法。 The second transfer device stores identification information for identifying the second communication device.
The first transfer device is a transfer destination for designating the identification information for identifying the second communication device and the specific port of the second communication device including the specific port of the second communication device as a transfer destination. The information is stored in association with the reception port of the first transfer device that is mapped to the specific port of the second communication device by the communication tunnel .
The first transfer device obtains the connection establishment request from the second transfer device in association with the identification information for identifying the second communication device.
Based on the specific port of the second communication device of the transfer destination information associated with the acquired identification information and the reception port of the first transfer device, the specific port of the second communication device including the communication tunnel request is assigned . The transfer request designated as the transfer destination is transmitted to the second transfer device, and the transfer request is transmitted.
When establishing the communication tunnel, the reception port of the first transfer device is opened.
The information processing method according to claim 1.
請求項2に記載の情報処理方法。 The information processing method according to claim 2 , wherein the identification information includes an identification key different for each service of the second communication device .
前記第2通信装置におけるサービスを指定するためのポート番号又はプロトコルとを含み、
前記転送先情報に基づき、転送先の前記第2通信装置及び前記第2通信装置におけるサービスを指定する前記転送要求を前記第2転送装置へ送信する
請求項2又は請求項3に記載の情報処理方法。 The transfer destination information includes an IP address or a host name for designating the second communication device, and the transfer destination information.
Includes a port number or protocol for designating a service in the second communication device.
The information processing according to claim 2 or 3 , wherein the transfer request for designating the service in the second communication device and the second communication device of the transfer destination is transmitted to the second transfer device based on the transfer destination information. Method.
記憶した前記可否情報による判定結果に基づき、前記転送要求に対する許可応答を出力し、
出力した前記許可応答に応じて前記通信トンネルを形成する
請求項1から請求項4のいずれか1項に記載の情報処理方法。 Stores availability information for determining whether transfer to a specific port in the second communication device or the second communication device designated as the transfer destination.
Based on the judgment result based on the stored possibility information, the permission response to the transfer request is output.
The information processing method according to any one of claims 1 to 4 , wherein the communication tunnel is formed according to the output permission response.
複数の前記第1通信装置から前記受付ポートに対する通信をそれぞれ受け付け、
単一の前記通信トンネルを通じて、複数の前記第1通信装置から受け付けた通信をそれぞれ転送する
請求項1から請求項5のいずれか1項に記載の情報処理方法。 The first transfer device is communicably connected to a plurality of the first communication devices.
Accepting communication from a plurality of the first communication devices to the reception port, respectively,
The information processing method according to any one of claims 1 to 5 , wherein the communication received from the plurality of first communication devices is transferred through the single communication tunnel.
複数の前記第1通信装置から前記受付ポートに対する通信をそれぞれ受け付け、
受け付けた複数の前記第1通信装置から前記受付ポートに対する通信それぞれに応じて、単一の前記コネクションを用いて複数の前記転送要求を前記第2転送装置へ送信し、
複数の前記転送要求に応じてそれぞれ形成される各通信トンネルを通じて、前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信をそれぞれ転送する
請求項1から請求項6のいずれか1項に記載の情報処理方法。 The first transfer device is communicably connected to a plurality of the first communication devices.
Accepting communication from a plurality of the first communication devices to the reception port, respectively,
In response to each communication from the plurality of received first communication devices to the reception port, the plurality of transfer requests are transmitted to the second transfer device using the single connection.
Any of claims 1 to 6 , respectively, for transferring communication between the reception port of the first transfer device and the specific port of the second communication device through each communication tunnel formed in response to the plurality of transfer requests. The information processing method according to item 1.
前記第1コネクションは、前記転送要求を送信する前記第1転送装置と前記第2転送装置との間で確立され、
前記第2コネクションは、前記通信トンネルを形成する前記第1転送装置と前記第2転送装置との間で確立され、
前記第1コネクションを用いて前記転送要求を送信する前記第1転送装置から前記第2転送装置へ前記転送要求を送信し、
前記第2コネクションを用いて、前記通信トンネルを形成する前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する前記通信トンネルを形成する
請求項1から請求項7のいずれか1項に記載の情報処理方法。 The connection includes a first connection and a second connection.
The first connection is established between the first transfer device and the second transfer device for transmitting the transfer request.
The second connection is established between the first transfer device and the second transfer device forming the communication tunnel.
The transfer request is transmitted from the first transfer device that transmits the transfer request to the second transfer device using the first connection.
Claims 1 to 7 form the communication tunnel for transferring communication between the reception port of the first transfer device forming the communication tunnel and the specific port of the second communication device using the second connection. The information processing method according to any one of the above.
前記第2通信装置はウェブサーバと通信可能に接続されるプロキシサーバであって、
前記第1転送装置は、前記ウェブサーバにアクセスする前記ブラウザの通信を受信し、
前記通信トンネルを通じて前記ブラウザの通信を前記プロキシサーバに転送し、前記プロキシサーバを介して前記ウェブサーバにアクセスする
請求項1から請求項8のいずれか1項に記載の情報処理方法。 The first transfer device is communicably connected to the first communication device including a browser.
The second communication device is a proxy server that is communicably connected to the web server.
The first transfer device receives the communication of the browser that accesses the web server, and receives the communication.
The information processing method according to any one of claims 1 to 8 , wherein the communication of the browser is transferred to the proxy server through the communication tunnel, and the web server is accessed via the proxy server.
請求項1から請求項9のいずれか1項に記載の情報処理方法。 The information processing method according to any one of claims 1 to 9 , wherein the connection is based on Websocket.
各コネクションを確立する前記第1転送装置と前記第2転送装置とを対応付けて記憶する接続情報を複数の前記第1転送装置間で共有し、
複数の前記第1転送装置の内いずれか1つの第1転送装置が、複数の前記第2転送装置の内いずれか1つの第2転送装置に接続される前記第2通信装置の特定ポートを宛先とする接続要求を前記第1通信装置から受け付け、
受け付けた前記接続要求に基づき、前記接続情報を参照して前記接続要求に係る第2通信装置と接続される前記いずれか1つの第2転送装置とコネクションを確立する他の第1転送装置を特定し、
特定した前記他の第1転送装置へ前記第1通信装置をリダイレクトする
請求項1から請求項10のいずれか1項に記載の情報処理方法。 A plurality of the above connections are established between the plurality of the first transfer devices and the plurality of the second transfer devices, respectively.
The connection information stored in association with the first transfer device and the second transfer device for establishing each connection is shared among the plurality of first transfer devices.
The first transfer device of any one of the plurality of first transfer devices is destined for a specific port of the second communication device connected to the second transfer device of any one of the plurality of second transfer devices. The connection request is received from the first communication device.
Based on the received connection request, the other first transfer device that establishes a connection with any one of the second transfer devices connected to the second communication device related to the connection request is specified by referring to the connection information. death,
The information processing method according to any one of claims 1 to 10 , wherein the first communication device is redirected to the specified other first transfer device.
請求項1から請求項11のいずれか1項に記載の情報処理方法。 The information processing method according to any one of claims 1 to 11 , wherein the second communication device is a network storage or a webcam.
前記第1転送装置は、
前記第2転送装置からコネクションの確立要求を取得する取得部と、
前記取得部が取得した前記コネクションの確立要求に応じて前記第1転送装置と前記第2転送装置との間のコネクションを確立する確立部と、
前記確立部が確立した前記コネクションを用いて、前記第2通信装置の特定ポートを転送先として指定するための転送先情報と、前記第1通信装置からの通信を受け付ける前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとのマッピングにより前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する通信トンネルを形成するための通信トンネル要求と、を含む転送要求を前記第2転送装置へ送信する送信部と、
前記送信部が送信した前記転送要求に応じて前記第2転送装置から送信される応答を受信することにより、前記第1転送装置の受付ポートと前記転送先情報にて指定される前記第2通信装置の特定ポートとをマッピングする前記通信トンネルを形成する形成部と、
前記形成部が形成した前記通信トンネルを通じて、前記第1転送装置の受付ポートと前記第2通信装置の特定ポートとの通信を転送する転送部とを備え、前記第1通信装置は、前記通信トンネルにより前記第2通信装置の特定ポートとマッピングされている前記第1転送装置の受付ポートにアクセスすることにより前記第1転送装置及び前記第2転送装置を介して前記第2通信装置の特定ポートにアクセスする
情報処理システム。 It includes a first transfer device connected to the global network and transferring the communication received from the first communication device, and a second transfer device connected to the private network, and is connected to the first transfer device and the private network. An information processing system that transfers communication with a second communication device via the second transfer device.
The first transfer device is
An acquisition unit that acquires a connection establishment request from the second transfer device, and
An establishment unit that establishes a connection between the first transfer device and the second transfer device in response to the connection establishment request acquired by the acquisition unit.
Using the connection established by the establishment unit, transfer destination information for designating a specific port of the second communication device as a transfer destination, and reception of the first transfer device that receives communication from the first communication device. A communication tunnel request for forming a communication tunnel for transferring communication between the reception port of the first transfer device and the specific port of the second communication device by mapping the port and the specific port of the second communication device. A transmission unit that transmits a transfer request including the transfer request to the second transfer device, and a transmission unit.
By receiving the response transmitted from the second transfer device in response to the transfer request transmitted by the transmission unit, the reception port of the first transfer device and the second communication designated by the transfer destination information. A forming unit forming the communication tunnel that maps to a specific port of the device,
The first communication device includes a transfer unit that transfers communication between a reception port of the first transfer device and a specific port of the second communication device through the communication tunnel formed by the formation unit, and the first communication device is the communication tunnel. By accessing the reception port of the first transfer device that is mapped to the specific port of the second communication device, the specific port of the second communication device is reached via the first transfer device and the second transfer device. to access
Information processing system.
プライベートネットワークに接続される転送装置からコネクションの確立要求を取得し、
取得した前記コネクションの確立要求に応じて前記コンピュータと前記転送装置との間のコネクションを確立し、
確立した前記コネクションを用いて、前記プライベートネットワークに接続される第2通信装置の特定ポートを転送先として指定するための転送先情報と、第1通信装置からの通信を受け付ける前記コンピュータの受付ポートと前記第2通信装置の特定ポートとのマッピングにより前記コンピュータの受付ポートと前記第2通信装置の特定ポートとの通信を転送する通信トンネルを形成するための通信トンネル要求と、を含む転送要求を前記転送装置へ送信し、
送信した前記転送要求に応じて前記転送装置から送信される応答を受信することにより、前記コンピュータの受付ポートと前記転送先情報にて指定される前記第2通信装置の特定ポートとをマッピングする前記通信トンネルを形成し、
形成した前記通信トンネルを通じて、前記コンピュータの受付ポートと前記第2通信装置の特定ポートとの通信を転送することにより、前記第1通信装置は、前記通信トンネルにより前記第2通信装置の特定ポートとマッピングされている前記コンピュータの受付ポートにアクセスすることにより前記コンピュータ及び前記転送装置を介して前記第2通信装置の特定ポートにアクセスする
処理を実行させるためのコンピュータプログラム。 For computers connected to the global network
Obtain a connection establishment request from a transfer device connected to a private network and
In response to the acquired connection establishment request, a connection between the computer and the transfer device is established, and the connection is established.
Using the established connection, transfer destination information for designating a specific port of the second communication device connected to the private network as a transfer destination, and a reception port of the computer that accepts communication from the first communication device. The transfer request including a communication tunnel request for forming a communication tunnel for transferring communication between the reception port of the computer and the specific port of the second communication device by mapping with the specific port of the second communication device. Send to the transfer device,
By receiving the response transmitted from the transfer device in response to the transmitted transfer request, the reception port of the computer and the specific port of the second communication device specified by the transfer destination information are mapped. Form a communication tunnel,
By transferring the communication between the reception port of the computer and the specific port of the second communication device through the formed communication tunnel, the first communication device becomes the specific port of the second communication device by the communication tunnel. By accessing the reception port of the mapped computer, the specific port of the second communication device is accessed via the computer and the transfer device.
A computer program to execute processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020181480A JP7011271B1 (en) | 2020-10-29 | 2020-10-29 | Information processing methods, information processing systems and computer programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020181480A JP7011271B1 (en) | 2020-10-29 | 2020-10-29 | Information processing methods, information processing systems and computer programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7011271B1 true JP7011271B1 (en) | 2022-01-26 |
JP2022072173A JP2022072173A (en) | 2022-05-17 |
Family
ID=80678894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020181480A Active JP7011271B1 (en) | 2020-10-29 | 2020-10-29 | Information processing methods, information processing systems and computer programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7011271B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009010606A (en) | 2007-06-27 | 2009-01-15 | Panasonic Corp | Tunnel connection system, tunnel control server, tunnel connecting device, and tunnel connection method |
WO2009093308A1 (en) | 2008-01-22 | 2009-07-30 | Ntt Pc Communications, Inc. | Connection control method, connection control server device, connection control client device, and program |
JP2015231225A (en) | 2014-06-06 | 2015-12-21 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Tunnel connection device, tunnel termination device, connection control method, and program |
WO2017150642A1 (en) | 2016-03-02 | 2017-09-08 | 日本電気株式会社 | Network system, control device, method and program for building virtual network function |
-
2020
- 2020-10-29 JP JP2020181480A patent/JP7011271B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009010606A (en) | 2007-06-27 | 2009-01-15 | Panasonic Corp | Tunnel connection system, tunnel control server, tunnel connecting device, and tunnel connection method |
WO2009093308A1 (en) | 2008-01-22 | 2009-07-30 | Ntt Pc Communications, Inc. | Connection control method, connection control server device, connection control client device, and program |
JP2015231225A (en) | 2014-06-06 | 2015-12-21 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Tunnel connection device, tunnel termination device, connection control method, and program |
WO2017150642A1 (en) | 2016-03-02 | 2017-09-08 | 日本電気株式会社 | Network system, control device, method and program for building virtual network function |
Also Published As
Publication number | Publication date |
---|---|
JP2022072173A (en) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690839B2 (en) | Computer architectures using shared storage | |
US8886714B2 (en) | Remote access service for cloud-enabled network devices | |
US9986033B2 (en) | Facilitating access to remote cloud services | |
US8346966B1 (en) | Transparent file system access for wide area network file system acceleration | |
CN103597471A (en) | Methods and systems for caching data communications over computer networks | |
TW201227335A (en) | Third party initiation of communications between remote parties | |
CN103973785B (en) | A kind of log read system and method based on P2P | |
US20150063161A1 (en) | Relay device, communication system, and method of acquiring node setting information | |
JP5122587B2 (en) | Connection control method, connection control server device, connection control client device, connection control system, and program | |
US8255550B1 (en) | Multi-protocol global namespace mechanism for network attached storage | |
KR100875964B1 (en) | Network storage systems | |
US10735514B2 (en) | Remote application configuration on network-attached storage | |
US20130054691A1 (en) | Flexible rule based multi-protocol peer-to-peer caching | |
JP7011271B1 (en) | Information processing methods, information processing systems and computer programs | |
CN110430478B (en) | Networking communication method, device, terminal equipment and storage medium | |
CN111092958A (en) | Node access method, device, system and storage medium | |
JP2017215745A (en) | Data processor, data processing method and program | |
US20080301305A1 (en) | Method and related system for building up a network connection between clients and servers through a stream fork by utilizing http protocol | |
JP6605149B2 (en) | Method and apparatus for detecting shared terminal | |
JPH1155327A (en) | Connection control server for substitute server and substitute server and network control method | |
RU2656739C1 (en) | Data storage method and system | |
US20080301215A1 (en) | NAT (Network Address Translation) traversal methods and systems | |
JP6225283B1 (en) | Closed network connection device, program, and method | |
EP2372978B1 (en) | Computer architectures using shared storage | |
JP7015498B2 (en) | Communication system, information providing device, program and information providing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201029 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201029 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210322 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210910 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210910 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20210910 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20211015 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20211019 |
|
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: 20211221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7011271 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |