JP5270603B2 - Virtual environment data transfer system and virtual environment data transfer device - Google Patents

Virtual environment data transfer system and virtual environment data transfer device Download PDF

Info

Publication number
JP5270603B2
JP5270603B2 JP2010069093A JP2010069093A JP5270603B2 JP 5270603 B2 JP5270603 B2 JP 5270603B2 JP 2010069093 A JP2010069093 A JP 2010069093A JP 2010069093 A JP2010069093 A JP 2010069093A JP 5270603 B2 JP5270603 B2 JP 5270603B2
Authority
JP
Japan
Prior art keywords
data transfer
server
address
virtual machine
data
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.)
Expired - Fee Related
Application number
JP2010069093A
Other languages
Japanese (ja)
Other versions
JP2011203887A (en
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2010069093A priority Critical patent/JP5270603B2/en
Publication of JP2011203887A publication Critical patent/JP2011203887A/en
Application granted granted Critical
Publication of JP5270603B2 publication Critical patent/JP5270603B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、仮想化環境のセキュリティ管理技術に関連し、特に、仮想化環境においてデータを転送するための仮想環境データ転送システムおよび仮想環境データ転送装置に関する。   The present invention relates to a security management technique for a virtual environment, and more particularly to a virtual environment data transfer system and a virtual environment data transfer apparatus for transferring data in a virtual environment.

コンピュータシステムを構成するプロセッサ、メモリなどの資源を、物理的構成とは別に、柔軟に分割したり統合したりして利用する仮想化技術が注目を集めている。
たとえばサーバを仮想化することにより、利用率が低くサーバ性能を活かしきれていないサーバを1台の物理サーバに集約するなど、物理的なサーバ台数を減らすことができ、資源の有効利用や、スペース削減、メンテナンスコストの削減が期待される。また、仮想化によりシステムの拡張や構成変更が容易になるため、利用可能なハードウェア資源の構成を動的に最適化することができ、パフォーマンス向上が期待される。このため、近年、仮想化技術を導入する企業が急速に増えている。
このような状況において、仮想化環境において構築した仮想マシンに、外部からアクセスしたいという要請がある(例えば、非特許文献1参照)。
A virtualization technique that uses resources such as a processor and a memory constituting a computer system in a manner that is flexibly divided and integrated separately from a physical configuration has attracted attention.
For example, by virtualizing servers, you can reduce the number of physical servers, such as consolidating servers that have low utilization and low server performance into a single physical server, making effective use of resources and space available. Reductions and maintenance costs are expected. In addition, system expansion and configuration change are facilitated by virtualization, so that the configuration of available hardware resources can be dynamically optimized, and performance improvement is expected. For this reason, in recent years, companies that introduce virtualization technology are rapidly increasing.
In such a situation, there is a request to access a virtual machine constructed in a virtual environment from the outside (for example, see Non-Patent Document 1).

harada、VMWare Server 上の仮想マシンに外部からアクセスする方法、[online]、2008/09/19/19、株式会社ニジモ、nijimo Blog、[2010/3/24検索]、インターネット<URL:http://blog.nijimo.jp/2008/09/19/19/>harada, How to access a virtual machine on VMWare Server from outside, [online], 2008/09/19/19, Nijimo Co., Ltd., nijimo Blog, [Search 2010/3/24], Internet <URL: http: / /blog.nijimo.jp/2008/09/19/19/ >

仮想化環境において、あるサーバと、そのサーバ上で仮想的に稼働する仮想マシンの所属するセグメントを分けたいことがある。たとえば、ユーザに公開されていないLAN(Local Area Network)に所属するサーバと、そのサーバ上で稼働し、ユーザから利用可能である仮想マシンとは、セキュリティ上、分離して管理することが望ましい。   In a virtual environment, you may want to separate a segment from a server and a virtual machine that runs virtually on that server. For example, for security reasons, it is desirable to separately manage a server belonging to a LAN (Local Area Network) that is not open to the user and a virtual machine that operates on the server and can be used by the user.

しかしながら、従来の仮想化環境用のサーバの機能では、公開されていないサーバ上で稼働する仮想マシンの画面を、非公開LAN外部のユーザ端末に表示させるような場合、非公開LAN内のサーバと、外部のユーザ端末とを直接接続せざるを得なかった。これは、ユーザの不正行為や不注意に起因する事故を誘発する恐れがあり、セキュリティの観点から望ましくない。
とくに、非公開LAN内のサーバに重要な影響をおよぼしうる管理情報を通信するための管理用ポートと画面などのデータを通信するためのデータ用ポートとが分離されておらず、一のポートで管理情報もデータも通信するタイプのサーバを用いる場合において、この問題は顕著であった。すなわちこの場合、画面転送のみのために、外部の端末から非公開サーバの管理ポートにアクセスできる状態にしておく必要があったため、セキュリティ上、深刻な問題であった。
However, in the server function for the conventional virtualization environment, when displaying a screen of a virtual machine running on an unpublished server on a user terminal outside the private LAN, the server in the private LAN The external user terminal must be directly connected. This may cause an accident caused by a user's fraud or carelessness, which is not desirable from the viewpoint of security.
In particular, the management port for communicating management information that can have an important effect on servers in the private LAN is not separated from the data port for communicating data such as screens. This problem is significant when using a server that communicates both management information and data. That is, in this case, it is necessary to make the management port of the private server accessible from an external terminal for screen transfer only, which is a serious problem in terms of security.

本発明は、上記課題に基づいて完成された発明であり、その主たる目的は、仮想化環境において、装置間の直接のアクセスを制限しつつ、データの転送を可能とするための技術を提供することにある。   The present invention has been completed based on the above problems, and its main object is to provide a technique for enabling data transfer while restricting direct access between devices in a virtual environment. There is.

上記課題を解決するために、本発明のある態様の仮想環境データ転送システムは、ホストサーバと、ホストサーバ上で稼働する仮想マシンと、ホストサーバに接続されているデータ転送サーバと、データ転送サーバに接続されており、仮想マシンが作成したデータの転送を要求するデータ転送要求をデータ転送サーバに送信するユーザ端末とを備える。データ転送サーバは、データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、第2取得部において取得した識別情報に対応したデータの種類が、データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、データの種類が転送条件を満たす場合に、データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求をホストサーバに転送する要求転送部とを備える。   In order to solve the above problems, a virtual environment data transfer system according to an aspect of the present invention includes a host server, a virtual machine operating on the host server, a data transfer server connected to the host server, and a data transfer server And a user terminal that transmits a data transfer request for requesting transfer of data created by the virtual machine to the data transfer server. The data transfer server acquires a first combination of an IP address and a port number from the header of the data transfer request, and acquires a header of a layer higher than the layer to which the header belongs from the payload of the data transfer request. Of the first combination acquired by the acquisition unit and the first acquisition unit, at least an IP address is converted into another IP address, so that a second combination of a fixed port number and another IP address is obtained For identifying one of a plurality of types of data that is included in the header of the upper layer acquired by the conversion unit that generates the data and that is included in the data transfer request The second acquisition unit that acquires the identification information of the data and the type of data corresponding to the identification information acquired in the second acquisition unit A transfer condition determination unit that determines whether or not a transfer condition for enabling is satisfied, and when the data type satisfies the transfer condition, the first combination included in the data transfer request is replaced with the second combination; A request transfer unit that transfers the data transfer request to the host server.

本発明の別の態様は、仮想環境データ転送装置である。この装置は、ユーザ端末と、仮想マシンが稼働するホストサーバとに接続されるデータ転送装置であって、仮想マシンが作成したデータの転送を要求するデータ転送要求をユーザ端末から受け付ける要求受付部と、データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、第2取得部において取得した識別情報に対応したデータの種類が、データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、データの種類が転送条件を満たす場合に、データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求をホストサーバに転送する要求転送部とを備える。   Another aspect of the present invention is a virtual environment data transfer apparatus. This apparatus is a data transfer apparatus connected to a user terminal and a host server on which the virtual machine operates, and a request reception unit that receives a data transfer request for requesting transfer of data created by the virtual machine from the user terminal; A first acquisition unit that acquires a first combination of an IP address and a port number from a header of a data transfer request, and acquires a header of a layer higher than a layer to which the header belongs from a payload of the data transfer request; Conversion that generates a second combination of a fixed port number and another IP address by converting at least an IP address of the first combination acquired by the first acquisition unit to another IP address And the identification information included in the header of the upper layer acquired in the first acquisition unit, and in the data transfer request A second acquisition unit that acquires identification information for specifying any of a plurality of types of data that may be rare, and a data type corresponding to the identification information acquired in the second acquisition unit is configured to transfer a data transfer request. A transfer condition determination unit that determines whether or not a transfer condition for permitting is satisfied, and when the data type satisfies the transfer condition, the first combination included in the data transfer request is replaced with the second combination; A request transfer unit that transfers the data transfer request to the host server.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

本発明によると、仮想化を導入したシステムにおいて、セキュリティ保護された環境で、データを転送するための技術を提供することが可能となる。   According to the present invention, it is possible to provide a technique for transferring data in a security-protected environment in a system in which virtualization is introduced.

実施の形態にかかる仮想環境データ転送システムのブロック図である。It is a block diagram of the virtual environment data transfer system concerning an embodiment. 実施の形態にかかるデータ転送サーバのブロック図である。It is a block diagram of the data transfer server concerning an embodiment. 実施の形態にかかる環境管理サーバの仮想マシン情報記憶部に格納された仮想マシン情報テーブルを示す図である。It is a figure which shows the virtual machine information table stored in the virtual machine information storage part of the environment management server concerning embodiment. 実施の形態にかかるユーザLANの仮アドレス記憶部に格納された仮アドレス対応テーブルを示す図である。It is a figure which shows the temporary address corresponding | compatible table stored in the temporary address memory | storage part of user LAN concerning embodiment. 図2のデータ転送サーバの実アドレス記憶部に格納されたホストサーバ実アドレステーブルを示す図である。It is a figure which shows the host server real address table stored in the real address memory | storage part of the data transfer server of FIG. ユーザ端末から仮想マシンへと画面クエリが送信され、仮想マシンからユーザ端末へと画面が転送される手順を示すフローチャートである。It is a flowchart which shows the procedure in which a screen query is transmitted from a user terminal to a virtual machine, and a screen is transferred from a virtual machine to a user terminal. 図6の要求転送処理を示すフローチャートである。It is a flowchart which shows the request transfer process of FIG.

はじめに、実施の形態にかかる仮想環境データ転送システムの概要を説明する。
仮想環境データ転送システムにおいては、ユーザに公開しない管理LAN内のサーバと、そのサーバ上で稼働し、ユーザ端末から利用可能である仮想マシンとを分離して管理する。ユーザ端末に対しては、管理LAN内のサーバの実際のアドレス(以下、「実アドレス」ともいう)や、そのサーバ上で稼働する仮想マシンの実アドレスは公開されない。したがって、ユーザ端末が、管理LAN内のサーバや、そのサーバ上で稼働する仮想マシンに直接アクセスすることはできない。ユーザ端末とホストサーバとの間の通信は、データ転送サーバが中継する。
First, an outline of the virtual environment data transfer system according to the embodiment will be described.
In the virtual environment data transfer system, a server in the management LAN that is not disclosed to the user and a virtual machine that runs on the server and is available from the user terminal are managed separately. For the user terminal, the actual address of the server in the management LAN (hereinafter also referred to as “real address”) and the real address of the virtual machine running on the server are not disclosed. Therefore, the user terminal cannot directly access a server in the management LAN or a virtual machine running on the server. Communication between the user terminal and the host server is relayed by the data transfer server.

ユーザ端末には、利用可能な仮想マシンのホスト名が公開されている。
ユーザがユーザ端末に対して、ある仮想マシンからデータを取得することを指示すると、ユーザ端末は、その仮想マシンのホスト名にもとづいて、その仮想マシンが稼働するホストサーバのホスト名を問い合わせ、取得する。そして、取得したホスト名にもとづいて、ホストサーバにそれぞれ割り当てられた仮のアドレス(以下、「仮アドレス」ともいう)を取得し、仮想マシンからのデータの転送を要求するデータ転送要求を、仮アドレスに宛てて、送信する。
仮アドレスは、実際には、データ転送サーバのアドレスであり、ユーザ端末が、仮アドレスを用いてデータ転送要求を送信すると、データ転送要求はデータ転送サーバに送信される。
The host name of the available virtual machine is disclosed on the user terminal.
When the user instructs the user terminal to acquire data from a certain virtual machine, the user terminal inquires and acquires the host name of the host server on which the virtual machine operates based on the host name of the virtual machine. To do. Based on the acquired host name, a temporary address (hereinafter also referred to as “temporary address”) assigned to each host server is acquired, and a data transfer request for requesting data transfer from the virtual machine is received. Send to address.
The temporary address is actually the address of the data transfer server, and when the user terminal transmits a data transfer request using the temporary address, the data transfer request is transmitted to the data transfer server.

データ転送サーバは、ユーザ端末から受け取ったパケットについて、ヘッダからデータの種類を読み取り、ホストサーバに転送してよいデータであると判定した場合には、そのパケットをホストサーバに転送する。
データ転送サーバはまた、応答として仮想マシンから送られたデータを、ユーザ端末に転送する。
When the data transfer server reads the type of data from the header of the packet received from the user terminal and determines that the data can be transferred to the host server, the data transfer server transfers the packet to the host server.
The data transfer server also transfers data sent from the virtual machine as a response to the user terminal.

本明細書において、送信先を特定することができる情報を、「アドレス」とよぶ。たとえばIPアドレスがアドレスとして用いられてもよく、IPアドレスとポート番号の組み合わせがアドレスとして用いられてもよい。
また、本明細書において、仮想マシンにハードウェア資源などを提供しており、仮想マシンがその上で稼働しているサーバのことを、「ホストサーバ」とよぶ。
In this specification, information that can specify a transmission destination is referred to as an “address”. For example, an IP address may be used as an address, and a combination of an IP address and a port number may be used as an address.
Further, in this specification, a server that provides hardware resources and the like to a virtual machine and on which the virtual machine is operating is referred to as a “host server”.

図1は、実施の形態にかかる仮想環境データ転送システム10のブロック図である。
仮想環境データ転送システム10は、ユーザLAN100、中継LAN120および管理LAN130を備える。ユーザLAN100は、たとえば開発者チームなど、仮想マシンを利用するユーザが使用するユーザ端末が所属するローカルエリアネットワークであり、管理LAN130とは分離されている。中継LAN120には、ユーザLAN100と管理LAN130との間の通信を中継するためのサーバが所属する。管理LAN130はユーザLAN100には公開されず、管理LAN130に所属するサーバ等のアドレスも公開されないが、管理LAN130に所属するサーバ上で稼働する仮想マシンは、ユーザLAN100から利用可能であるよう、システムが構成される。
FIG. 1 is a block diagram of a virtual environment data transfer system 10 according to an embodiment.
The virtual environment data transfer system 10 includes a user LAN 100, a relay LAN 120, and a management LAN 130. The user LAN 100 is a local area network to which a user terminal used by a user who uses a virtual machine such as a developer team belongs, and is separated from the management LAN 130. A server for relaying communication between the user LAN 100 and the management LAN 130 belongs to the relay LAN 120. The management LAN 130 is not disclosed to the user LAN 100 and the address of a server or the like belonging to the management LAN 130 is not disclosed. Composed.

ユーザLAN100と中継LAN120の間、および中継LAN120と管理LAN130の間は、イントラネット、LAN、広域ネットワーク(WAN)、仮想プライベートネットワーク(VPN)、インターネットなどのネットワークにより通信可能に接続される。   The user LAN 100 and the relay LAN 120 and the relay LAN 120 and the management LAN 130 are communicably connected via a network such as an intranet, a LAN, a wide area network (WAN), a virtual private network (VPN), and the Internet.

ユーザLAN100は、ユーザ端末102および仮アドレス記憶部104を備える。仮アドレス記憶部104は、ユーザ端末102がアクセスする仮想マシンが稼働するホストサーバに割り当てられた仮アドレスを格納する。仮アドレスについて、詳細は後述する。図1において、仮アドレス記憶部104は、ユーザ端末102の外部記憶装置として示されているが、ユーザ端末102の内部記憶装置として構成されてもよい。なお、図1においては一のユーザ端末102を示しているが、ユーザLAN100は複数のユーザ端末102を含んでもよい。   The user LAN 100 includes a user terminal 102 and a temporary address storage unit 104. The temporary address storage unit 104 stores a temporary address assigned to a host server on which a virtual machine accessed by the user terminal 102 operates. Details of the temporary address will be described later. In FIG. 1, the temporary address storage unit 104 is shown as an external storage device of the user terminal 102, but may be configured as an internal storage device of the user terminal 102. Although one user terminal 102 is shown in FIG. 1, the user LAN 100 may include a plurality of user terminals 102.

中継LAN120は、データ転送サーバ122および環境管理サーバ124を備える。
データ転送サーバ122は、ユーザ端末102から送られた仮想マシンに対する画面転送要求(以下、「画面クエリ」ともいう)などのデータ転送要求を仮想マシンに転送し、また、仮想マシンから送られた画面データなどをユーザ端末102に転送する。データ転送サーバ122の構造については、図2に関連して後述する。
The relay LAN 120 includes a data transfer server 122 and an environment management server 124.
The data transfer server 122 transfers a data transfer request such as a screen transfer request (hereinafter also referred to as “screen query”) to the virtual machine sent from the user terminal 102 to the virtual machine, and the screen sent from the virtual machine. Data and the like are transferred to the user terminal 102. The structure of the data transfer server 122 will be described later with reference to FIG.

環境管理サーバ124は、ユーザLAN100等のシステム環境を管理する。環境管理サーバ124は、管理LAN130内のサーバや、管理LAN130内のサーバ上で稼働する仮想マシンに関する情報を格納する仮想マシン情報記憶部128を備える。   The environment management server 124 manages the system environment such as the user LAN 100. The environment management server 124 includes a server in the management LAN 130 and a virtual machine information storage unit 128 that stores information regarding virtual machines running on the server in the management LAN 130.

管理LAN130は、第1ホストサーバ132a、第2ホストサーバ132b(以下、総称して、単に「ホストサーバ132」ともいう)および統合管理サーバ136を備える。図1においては2台のホストサーバ132を示しているが、ホストサーバ132の数はこれに限られず、任意の数で構成されてよく、用途や負荷、物理マシンの性能などに応じて、適宜定めてよい。ホストサーバ132は、仮想環境を構築可能な任意のサーバであり、例えば、VMware ESX Server(登録商標)であってもよい。   The management LAN 130 includes a first host server 132a, a second host server 132b (hereinafter collectively referred to simply as “host server 132”), and an integrated management server 136. In FIG. 1, two host servers 132 are shown. However, the number of host servers 132 is not limited to this. The number of host servers 132 may be an arbitrary number, and may be appropriately set according to the use, load, physical machine performance, and the like. You may decide. The host server 132 is an arbitrary server capable of constructing a virtual environment, and may be a VMware ESX Server (registered trademark), for example.

第1ホストサーバ132a上では、第1仮想マシン134aおよび第2仮想マシン134bが仮想的に構築されており、第2ホストサーバ132b上では、第3仮想マシン134cおよび第4仮想マシン134dが仮想的に構築されている。以下、これらの仮想マシンを総称して、単に「仮想マシン134」ともいう。図1においては例示として、ホストサーバ132上でそれぞれ2台の仮想マシン134が稼働している構成を示しているが、仮想マシン134の数はこれに限られず、用途や負荷、物理マシンの性能などに応じて、適宜定めてよい。   The first virtual machine 134a and the second virtual machine 134b are virtually constructed on the first host server 132a, and the third virtual machine 134c and the fourth virtual machine 134d are virtually constructed on the second host server 132b. Has been built. Hereinafter, these virtual machines are collectively referred to as “virtual machine 134”. In FIG. 1, as an example, a configuration in which two virtual machines 134 are running on the host server 132 is shown, but the number of virtual machines 134 is not limited to this, and usage, load, and physical machine performance Depending on the above, it may be determined appropriately.

統合管理サーバ136は、LAN130内の、ホストサーバ132および仮想マシン134を統合的に管理する。統合管理サーバ136は、ホストサーバ132および仮想マシン134に関する情報を蓄積し、格納する管理情報記憶部138を備える。   The integrated management server 136 manages the host server 132 and the virtual machine 134 in the LAN 130 in an integrated manner. The integrated management server 136 includes a management information storage unit 138 that accumulates and stores information regarding the host server 132 and the virtual machine 134.

図2は、データ転送サーバ122のブロック図である。データ転送サーバ122は、ユーザ端末102から送られた仮想マシン134に対する要求などのパケットを処理する要求処理部50、ホストサーバ132の実アドレスを格納する実アドレス記憶部56、およびホストサーバ132から送信されたデータをユーザ端末102に転送する応答転送部58を備える。要求処理部50は、要求受付部60、第1取得部62、第2取得部64、転送条件判定部66、変換部68、および要求転送部70を備える。   FIG. 2 is a block diagram of the data transfer server 122. The data transfer server 122 transmits a request processing unit 50 that processes a packet such as a request for the virtual machine 134 sent from the user terminal 102, a real address storage unit 56 that stores a real address of the host server 132, and a transmission from the host server 132. A response transfer unit 58 for transferring the received data to the user terminal 102. The request processing unit 50 includes a request receiving unit 60, a first acquisition unit 62, a second acquisition unit 64, a transfer condition determination unit 66, a conversion unit 68, and a request transfer unit 70.

要求受付部60は、仮想マシン134からのデータ転送を要求するデータ転送要求などのパケットを、ユーザ端末102から受け付ける。第1取得部62は、受け付けたパケットのヘッダから、例えばIPアドレスとポート番号の組み合わせで構成されるアドレスを取得し、また、ペイロードから、より上位の層のヘッダを取得する。IPアドレスが第3レイヤのヘッダに含まれ、ポート番号が第4レイヤのヘッダに含まれるので、より上位の層のヘッダは、第5レイヤ以上のヘッダに相当する。第2取得部64は、第1取得部62が取得した、より上位の層のヘッダから、データ転送要求に含まれうるデータ種類を特定する識別情報を取得する。   The request receiving unit 60 receives a packet such as a data transfer request for requesting data transfer from the virtual machine 134 from the user terminal 102. The first acquisition unit 62 acquires, for example, an address composed of a combination of an IP address and a port number from the received packet header, and acquires a higher layer header from the payload. Since the IP address is included in the header of the third layer and the port number is included in the header of the fourth layer, the header of the higher layer corresponds to the header of the fifth layer and higher. The second acquisition unit 64 acquires identification information that identifies the data type that can be included in the data transfer request from the header of the higher layer acquired by the first acquisition unit 62.

転送条件判定部66は、第2取得部64が取得した識別情報に対応したデータの種類にもとづいて、ホストサーバ132に転送してもよいデータであるか否か判定する。判定するための条件については後述する。変換部68は、第1取得部が取得したアドレスを、ホストサーバ132に送信するためのアドレスに変換する。要求転送部70は、転送条件判定部66がホストサーバ132に転送してもよいデータであると判定した場合に、パケットに含まれていたアドレスを、変換部68が変換したアドレスに置換し、ホストサーバ132に転送する。転送条件を充たさない場合、要求転送部70は、受信したパケットを廃棄する。   The transfer condition determination unit 66 determines whether the data may be transferred to the host server 132 based on the type of data corresponding to the identification information acquired by the second acquisition unit 64. Conditions for determination will be described later. The conversion unit 68 converts the address acquired by the first acquisition unit into an address for transmission to the host server 132. When the transfer condition determination unit 66 determines that the data may be transferred to the host server 132, the request transfer unit 70 replaces the address included in the packet with the address converted by the conversion unit 68, Transfer to the host server 132. When the transfer condition is not satisfied, the request transfer unit 70 discards the received packet.

図1および図2に示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。   Each block shown in FIG. 1 and FIG. 2 can be realized in hardware by an element such as a CPU of a computer or a mechanical device, and in software by a computer program or the like. Describes functional blocks realized through collaboration. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software.

図3は、環境管理サーバ124の仮想マシン情報記憶部128に格納された仮想マシン情報テーブル200を示す図である。仮想マシン情報テーブル200は、仮想マシンホスト名欄202と、ホストサーバホスト名欄204とを含む。仮想マシンホスト名欄202は、各仮想マシン134のホスト名を記録する。ホストサーバホスト名欄204は、それぞれの仮想マシン134がその上で稼働しているホストサーバ132のホスト名を記録する。   FIG. 3 is a diagram showing a virtual machine information table 200 stored in the virtual machine information storage unit 128 of the environment management server 124. The virtual machine information table 200 includes a virtual machine host name column 202 and a host server host name column 204. The virtual machine host name column 202 records the host name of each virtual machine 134. The host server host name column 204 records the host name of the host server 132 on which each virtual machine 134 is operating.

ここでは、図1に示した第1仮想マシン134a〜134dのホスト名は、それぞれvm1〜vm4であり、図1に示した第1ホストサーバ132a、132bのホスト名は、それぞれ、hsa、hsbであるとしている。仮想マシン情報テーブル200を参照することにより、各仮想マシン134がその上で稼働しているホストサーバ132のホスト名を取得することができる。たとえば、仮想マシン情報テーブル200から、ホスト名がvm1である第1仮想マシン134aは、ホスト名がhsaである第1ホストサーバ132a上に構築された仮想マシンであることが読み取れる。   Here, the host names of the first virtual machines 134a to 134d shown in FIG. 1 are vm1 to vm4, respectively, and the host names of the first host servers 132a and 132b shown in FIG. 1 are hsa and hsb, respectively. There is. By referring to the virtual machine information table 200, the host name of the host server 132 on which each virtual machine 134 is operating can be acquired. For example, it can be read from the virtual machine information table 200 that the first virtual machine 134a whose host name is vm1 is a virtual machine constructed on the first host server 132a whose host name is hsa.

なお、仮想マシン情報テーブル200は、この他にも、例えば、ホストサーバ132のホスト名に関連づけて、ホストサーバ132の仮アドレスを格納してもよい。仮想マシン情報テーブル200に記録される情報は、統合管理サーバ136の管理情報記憶部138に格納されるホストサーバ132および仮想マシン134に関する情報の更新と同期して、最新の情報に更新される。   In addition, the virtual machine information table 200 may store a temporary address of the host server 132 in association with the host name of the host server 132, for example. The information recorded in the virtual machine information table 200 is updated to the latest information in synchronization with the update of the information regarding the host server 132 and the virtual machine 134 stored in the management information storage unit 138 of the integrated management server 136.

図4は、ユーザLAN100の仮アドレス記憶部104に格納された仮アドレス対応テーブル210を示す図である。仮アドレス対応テーブル210は、ホストサーバホスト名欄212と、ホストサーバ仮アドレス欄214とを含む。ホストサーバホスト名欄212は、ホストサーバ132のホスト名を記録する。ホストサーバ仮アドレス欄214は、それぞれのホストサーバ132に割り当てられた仮アドレスを記録する。   FIG. 4 is a diagram showing a temporary address correspondence table 210 stored in the temporary address storage unit 104 of the user LAN 100. The temporary address correspondence table 210 includes a host server host name column 212 and a host server temporary address column 214. The host server host name column 212 records the host name of the host server 132. The host server temporary address column 214 records a temporary address assigned to each host server 132.

仮想環境データ転送システム10においては、ユーザ端末102に対して、ホストサーバ132や仮想マシン134の実アドレスは公開されない。ユーザ端末102は、ホストサーバ132の実アドレスに代えて、各ホストサーバ132に割り当てられた仮アドレスを、ホストサーバ132に送信する際の宛先として用いる。   In the virtual environment data transfer system 10, the real addresses of the host server 132 and the virtual machine 134 are not disclosed to the user terminal 102. Instead of the real address of the host server 132, the user terminal 102 uses a temporary address assigned to each host server 132 as a destination when transmitting to the host server 132.

図4の例において、ホスト名がそれぞれhsa、hsbである第1ホストサーバ132a、132bに対して、仮アドレスとしてIPアドレス「X.1.1.1」とポート番号「XX11」の組み合わせが割り当てられている。この仮アドレスは、実際にはデータ転送サーバ122のアドレスである。
ユーザ端末102が第1ホストサーバ132aと通信するときには、実際にはデータ転送サーバ122のアドレスである仮アドレスを送信先のアドレスとして用いる。したがって、ユーザ端末102は、まずデータ転送サーバ122と通信することになる。
In the example of FIG. 4, a combination of the IP address “X.1.1.1.1” and the port number “XX11” is assigned as a temporary address to the first host servers 132a and 132b having host names hsa and hsb, respectively. It has been. This temporary address is actually the address of the data transfer server 122.
When the user terminal 102 communicates with the first host server 132a, the temporary address that is actually the address of the data transfer server 122 is used as the destination address. Therefore, the user terminal 102 first communicates with the data transfer server 122.

図4において、ホスト名がhscである図示しないホストサーバに対しては、仮アドレスとしてIPアドレス「X.10.10.10」とポート番号「XX10」との組み合わせが割り当てられている。この仮アドレスは、別のデータ転送サーバ(図示せず)のアドレスであり、ユーザ端末102は、ホスト名がhscであるホストサーバと通信するときには、そのデータ転送サーバを介して通信することになる。   In FIG. 4, a combination of an IP address “X.10.10.10” and a port number “XX10” is assigned as a temporary address to a host server (not shown) whose host name is hsc. This temporary address is an address of another data transfer server (not shown). When the user terminal 102 communicates with a host server whose host name is hsc, the user terminal 102 communicates via the data transfer server. .

なお、図4の例においては、ホストサーバに対して割り当てられた仮アドレスとして、IPアドレスとポート番号の両方が、仮アドレス対応テーブル210に記録されていることとしたが、ポート番号は、必ずしも固定された値として仮アドレス対応テーブル210に記録されていなくてもよい。たとえば、通信する都度、データ転送サーバ122が定めたポート番号が、データ転送サーバ122から、ユーザ端末102に通知されてもよい。   In the example of FIG. 4, both the IP address and the port number are recorded in the temporary address correspondence table 210 as the temporary address assigned to the host server. It may not be recorded in the temporary address correspondence table 210 as a fixed value. For example, the port number determined by the data transfer server 122 may be notified from the data transfer server 122 to the user terminal 102 every time communication is performed.

図5は、データ転送サーバ122の実アドレス記憶部56に格納されたホストサーバ実アドレステーブル230を示す図である。ホストサーバ実アドレステーブル230は、ホストサーバホスト名欄232と、ホストサーバ実アドレス欄234とを含む。ホストサーバホスト名欄232は、各ホストサーバのホスト名を記録する。ホストサーバ実アドレス欄234は、それぞれのホストサーバの実アドレスを記録する。   FIG. 5 is a diagram showing the host server real address table 230 stored in the real address storage unit 56 of the data transfer server 122. The host server real address table 230 includes a host server host name column 232 and a host server real address column 234. The host server host name column 232 records the host name of each host server. The host server real address column 234 records the real address of each host server.

図5の例においては、ホスト名がhsaである第1ホストサーバ132aの実アドレスとしてIPアドレス「X.2.2.2」とポート番号「443」との組み合わせが記録されている。また、ホスト名がhsbである第2ホストサーバ132bの実アドレスとしてIPアドレス「X.2.2.3」とポート番号「443」の組み合わせが記録されている。   In the example of FIG. 5, the combination of the IP address “X.2.2.2.2” and the port number “443” is recorded as the real address of the first host server 132a whose host name is hsa. Further, a combination of the IP address “X.2.2.3” and the port number “443” is recorded as the real address of the second host server 132b whose host name is hsb.

データ転送サーバ122は、ユーザ端末102から受信したパケットを、ホストサーバ132に転送する際には、ホストサーバ実アドレステーブル230を参照して、受信したパケットのアドレスをホストサーバ132の実アドレスに置換して、送信する。   When transferring the packet received from the user terminal 102 to the host server 132, the data transfer server 122 refers to the host server real address table 230 and replaces the address of the received packet with the real address of the host server 132. And send.

以上の構成による動作は以下のとおりである。
図6は、ユーザ端末102から第1ホストサーバ132aへと画面クエリが転送され、第1ホストサーバ132aからユーザ端末102へと、第1仮想マシン134aの画面が転送される手順を示すフローチャートである。
The operation according to the above configuration is as follows.
FIG. 6 is a flowchart illustrating a procedure in which a screen query is transferred from the user terminal 102 to the first host server 132a, and a screen of the first virtual machine 134a is transferred from the first host server 132a to the user terminal 102. .

ユーザ端末102は、例えば図示しない入力装置を介してユーザから第1仮想マシン134aの画面を表示するよう指示されたときに、第1仮想マシン134aの画面を転送することを要求する画面クエリを生成する(S10)。ユーザ端末102は、生成した画面クエリに、仮想マシンのホスト名である「vm1」を含めて、環境管理サーバ124に送信する(S12)。   For example, when the user terminal 102 is instructed to display the screen of the first virtual machine 134a via an input device (not shown), the user terminal 102 generates a screen query that requests to transfer the screen of the first virtual machine 134a. (S10). The user terminal 102 includes “vm1” that is the host name of the virtual machine in the generated screen query, and transmits it to the environment management server 124 (S12).

環境管理サーバ124は、仮想マシン情報記憶部128に格納された仮想マシン情報テーブル200を参照し、第1仮想マシン134aのホスト名である「vm1」に対応づけられたホスト名「hsa」を読み出す(S14)。「hsa」は、第1ホストサーバ132aのホスト名である。環境管理サーバ124は、読み出したホスト名「hsa」をユーザ端末102に送信する(S16)。   The environment management server 124 refers to the virtual machine information table 200 stored in the virtual machine information storage unit 128 and reads the host name “hsa” associated with “vm1” that is the host name of the first virtual machine 134a. (S14). “Hsa” is the host name of the first host server 132a. The environment management server 124 transmits the read host name “hsa” to the user terminal 102 (S16).

ユーザ端末102は、仮アドレス記憶部104に格納された仮アドレス対応テーブル210を参照し、第1ホストサーバ132aに割り当てられている仮アドレスを取得する(S18)。図4の例では、ユーザ端末102は、環境管理サーバ124から取得したホスト名「hsa」に対応づけられたIPアドレス「X.1.1.1」とポート番号「XX11」との組み合わせを、第1ホストサーバ132aの仮アドレスとして取得する。ユーザ端末102は、読み取った仮アドレスを、第1ホストサーバ132aのアドレスとして扱う。すなわち、ユーザ端末102は、第1ホストサーバ132aに第1仮想マシン134aの画面クエリを送信するときには、IPアドレス「X.1.1.1」およびポート番号「XX11」に宛てて送信する。   The user terminal 102 refers to the temporary address correspondence table 210 stored in the temporary address storage unit 104, and acquires the temporary address assigned to the first host server 132a (S18). In the example of FIG. 4, the user terminal 102 uses a combination of the IP address “X.1.1.1.1” and the port number “XX11” associated with the host name “hsa” acquired from the environment management server 124. Obtained as a temporary address of the first host server 132a. The user terminal 102 treats the read temporary address as the address of the first host server 132a. That is, when transmitting the screen query of the first virtual machine 134a to the first host server 132a, the user terminal 102 transmits it to the IP address “X.1.1.1.1” and the port number “XX11”.

ここで、ユーザ端末102が送信する画面クエリには、第1仮想マシン134aのホスト名である「vm1」と、仮想マシン134が稼働する第1ホストサーバ132aのホスト名「hsa」が含まれる。仮アドレスであるIPアドレス「X.1.1.1」とポート番号「XX11」は、実際にはデータ転送サーバ122のアドレスであるため、ユーザ端末102は、画面クエリを、データ転送サーバ122に宛てて送信することになる(S20)。   Here, the screen query transmitted by the user terminal 102 includes “vm1” that is the host name of the first virtual machine 134a and the host name “hsa” of the first host server 132a on which the virtual machine 134 is operating. Since the IP address “X.1.1.1.1” and the port number “XX11” which are temporary addresses are actually addresses of the data transfer server 122, the user terminal 102 sends a screen query to the data transfer server 122. It is transmitted to the address (S20).

データ転送サーバ122において、要求転送処理がなされる(S22)。要求転送処理については、図7に関連して後述する。データ転送サーバ122は、画面クエリを、第1ホストサーバ132aに送信する(S24)。第1ホストサーバ132aに送られる画面クエリには、第1仮想マシン134aのホスト名「vm1」が含まれる。   In the data transfer server 122, a request transfer process is performed (S22). The request transfer process will be described later with reference to FIG. The data transfer server 122 transmits a screen query to the first host server 132a (S24). The screen query sent to the first host server 132a includes the host name “vm1” of the first virtual machine 134a.

第1ホストサーバ132aは、データ転送サーバ122から画面クエリを受信すると、要求された第1仮想マシン134aの画面データを取得する(S26)。例えば、第1ホストサーバ132aは、あらかじめ、第1仮想マシン134aの画面データを取得して、図示しない記憶部に格納しておき、画面クエリを受信した際に、記憶部から画面データを取得する。そして、第1ホストサーバ132aは、取得した画面データをデータ転送サーバ122に送信する(S28)。   When receiving the screen query from the data transfer server 122, the first host server 132a acquires the requested screen data of the first virtual machine 134a (S26). For example, the first host server 132a acquires screen data of the first virtual machine 134a in advance, stores it in a storage unit (not shown), and acquires screen data from the storage unit when a screen query is received. . Then, the first host server 132a transmits the acquired screen data to the data transfer server 122 (S28).

データ転送サーバ122の応答転送部58は、第1仮想マシン134aから画面データを受信し、ユーザ端末102に転送する(S30)。ユーザ端末102は、データ転送サーバ122から画面データを受信し、受信した画面データをもとにして、図示しない表示装置に第1仮想マシン134aの画面を表示する(S32)。   The response transfer unit 58 of the data transfer server 122 receives the screen data from the first virtual machine 134a and transfers it to the user terminal 102 (S30). The user terminal 102 receives the screen data from the data transfer server 122, and displays the screen of the first virtual machine 134a on a display device (not shown) based on the received screen data (S32).

図7は、図6のステップ22の要求転送処理手順を示すフローチャートである。
まず、データ転送サーバ122の要求受付部60は、ユーザ端末102からのパケットを受け付ける(S40)。第1取得部62は、受信したパケットのヘッダからアドレスを取得する(S42)。アドレスは、例えば、第3層のIPヘッダに含まれるIPアドレスと第4層のTCPヘッダに含まれるポート番号の組み合わせで構成される。ここでは、ヘッダに含まれるIPアドレスは、「X.1.1.1」であり、ヘッダに含まれるポート番号は、「XX11」であるとする。
FIG. 7 is a flowchart showing the request transfer processing procedure of step 22 of FIG.
First, the request receiving unit 60 of the data transfer server 122 receives a packet from the user terminal 102 (S40). The first acquisition unit 62 acquires an address from the header of the received packet (S42). The address is composed of, for example, a combination of an IP address included in the third layer IP header and a port number included in the fourth layer TCP header. Here, it is assumed that the IP address included in the header is “X.1.1.1” and the port number included in the header is “XX11”.

第1取得部62はまた、受信したパケットのペイロードから、アドレスを取得したヘッダの属する層より上位の層のヘッダを取得する(S44)。たとえば、アドレスを取得したヘッダの属する層が第3層および第4層であれば、これより上位の層である第5層以上の層のヘッダを取得する。   The first acquisition unit 62 also acquires a header of a layer higher than the layer to which the header from which the address has been acquired belongs from the payload of the received packet (S44). For example, if the layer to which the header from which the address is acquired belongs is the third layer and the fourth layer, the headers of the fifth and higher layers, which are higher layers than this, are acquired.

第2取得部64は、第1取得部62がペイロードから取得したヘッダから、パケットに含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する(S46)。パケットに含まれうる複数種類のデータの例としては、画面クエリ、画面データ自体などの画面転送に関するデータや、ホストサーバ132を操作するための命令などがある。複数種類のデータのうちのいずれかを特定するための識別情報は、例えば、画面転送に関するデータであるか、それともそれ以外のデータであるのか識別可能である情報である。この識別情報は、あらかじめデータ転送サーバ122が定めて、ユーザ端末102に通知しておいてもよい。   The second acquisition unit 64 acquires identification information for specifying any of a plurality of types of data that can be included in the packet, from the header acquired by the first acquisition unit 62 from the payload (S46). Examples of a plurality of types of data that can be included in a packet include data related to screen transfer such as a screen query and screen data itself, and a command for operating the host server 132. The identification information for specifying any of the plurality of types of data is, for example, information that can identify whether the data is related to screen transfer or other data. This identification information may be determined in advance by the data transfer server 122 and notified to the user terminal 102.

転送条件判定部66は、第2取得部64が取得した識別情報にもとづいて、受信したパケットに含まれうるデータの種類が、パケットの転送を許可するための転送条件を満たすか否か判定する(S48)。この転送条件は、例えば、受信したパケットに含まれるデータが、画面クエリや画面転送に関連するデータであることを、そのパケットをホストサーバ132に転送することを許可するための条件として定める。すなわち、受信したパケットに含まれるデータの種類が、画面に関連しないホストサーバ132への命令を含む管理情報等である場合には、転送は許可されない。転送条件を満たさない場合、受信したパケットは、廃棄される(S50)。   Based on the identification information acquired by the second acquisition unit 64, the transfer condition determination unit 66 determines whether the type of data that can be included in the received packet satisfies a transfer condition for permitting packet transfer. (S48). For example, this transfer condition defines that the data included in the received packet is data related to a screen query or screen transfer as a condition for permitting transfer of the packet to the host server 132. That is, when the type of data included in the received packet is management information including an instruction to the host server 132 not related to the screen, transfer is not permitted. If the transfer condition is not satisfied, the received packet is discarded (S50).

変換部68は、第1取得部が取得したアドレスを、ホストサーバ132に送信するためのアドレスに変換する(S52)。例えば、第1取得部62が取得したIPアドレスとポート番号の組み合わせからなるアドレスのうち、少なくともIPアドレスを他のIPアドレスに変換する。具体的には、変換部68は、ホストサーバ実アドレステーブル230を参照し、第1ホストサーバ132aのホスト名「hsa」にもとづいて、第1ホストサーバ132aの実アドレスであるIPアドレス「X.2.2.2」とポート番号「443」の組み合わせを読み出す。そして、第1取得部62が画面クエリのヘッダから抽出した「X.1.1.1」を、第1ホストサーバ132aの実アドレス「X.2.2.2」に変換する。   The conversion unit 68 converts the address acquired by the first acquisition unit into an address for transmission to the host server 132 (S52). For example, at least an IP address is converted into another IP address among addresses composed of a combination of an IP address and a port number acquired by the first acquisition unit 62. Specifically, the conversion unit 68 refers to the host server real address table 230 and based on the host name “hsa” of the first host server 132a, the IP address “X. A combination of “2.2.2” and port number “443” is read. Then, “X.1.1.1.1” extracted from the header of the screen query by the first acquisition unit 62 is converted into a real address “X.2.2.2” of the first host server 132a.

変換部68は、第1取得部62が取得したポート番号がデータ転送サーバ122とホストサーバ132との間の通信に用いるポート番号と異なるときには、ポート番号をデータ転送サーバ122とホストサーバ132との間の通信に用いるポート番号に変換する。データ転送サーバ122とホストサーバ132との間の通信に用いるポート番号は、ひとつに固定されている。例えば、https通信用の443ポートに固定されている。この例においては、データ転送サーバ122は、第1取得部62が取得したポート番号「XX11」が443と一致しないため、ポート番号を443に変換する。   When the port number acquired by the first acquisition unit 62 is different from the port number used for communication between the data transfer server 122 and the host server 132, the conversion unit 68 converts the port number between the data transfer server 122 and the host server 132. It is converted into a port number used for communication between. The port number used for communication between the data transfer server 122 and the host server 132 is fixed to one. For example, it is fixed to 443 port for https communication. In this example, since the port number “XX11” acquired by the first acquisition unit 62 does not match 443, the data transfer server 122 converts the port number to 443.

要求転送部70は、パケットに含まれるデータの種類が転送条件を満たす場合に、前記画面クエリに含まれたIPアドレスとポート番号の組み合わせを、変換部68が変換したIPアドレスとポート番号の組み合わせに置換する(S54)。本実施例においては、IPアドレス「X.1.1.1」とポート番号「XX11」の組み合わせを、IPアドレス「X.2.2.2」とポート番号「443」の組み合わせに置換する。
そして、要求転送部70は、置換したアドレスにしたがって、画面クエリをホストサーバ132に転送し(S56)、要求転送処理は終了する。
When the type of data included in the packet satisfies the transfer condition, the request transfer unit 70 converts the combination of the IP address and the port number included in the screen query into the combination of the IP address and the port number converted by the conversion unit 68. (S54). In this embodiment, the combination of the IP address “X.1.1.1.1” and the port number “XX11” is replaced with the combination of the IP address “X.2.2.2” and the port number “443”.
Then, the request transfer unit 70 transfers the screen query to the host server 132 according to the replaced address (S56), and the request transfer process ends.

このように、本発明にかかる仮想環境データ転送システム10によれば、ユーザ端末102を、直接ホストサーバ132に接続させることなく、ユーザ端末102から仮想マシン134へと、画面クエリを送信することができ、仮想マシン134の画面をユーザ端末102に転送することが可能となる。
ユーザ端末には、仮想マシン134やホストサーバ132の実アドレスは記録されておらず、また通知もされない。したがって、仮に悪意あるユーザが、ユーザ端末102から公開されていない管理LAN130へのアクセスを試みようとしても、仮想マシン134やホストサーバ132の実アドレスを知ることができず、管理LAN130にアクセスすることができない。
As described above, according to the virtual environment data transfer system 10 according to the present invention, it is possible to transmit a screen query from the user terminal 102 to the virtual machine 134 without connecting the user terminal 102 directly to the host server 132. It is possible to transfer the screen of the virtual machine 134 to the user terminal 102.
In the user terminal, the real addresses of the virtual machine 134 and the host server 132 are not recorded and are not notified. Therefore, even if a malicious user tries to access the management LAN 130 that is not disclosed from the user terminal 102, the malicious user cannot know the real addresses of the virtual machine 134 or the host server 132 and accesses the management LAN 130. I can't.

また、データ転送サーバ122において、ユーザ端末102から送信されたパケットのデータの種類をチェックすることが可能であるため、画面クエリや、転送画面など、画面に関連する所定のデータ以外のデータであると判断されたパケットは、通過させないフィルタリング処理が可能となる。
したがって、よりセキュリティ保護された環境で、仮想化されたリソースを利用可能と
In addition, since the data transfer server 122 can check the data type of the packet transmitted from the user terminal 102, it is data other than the predetermined data related to the screen, such as a screen query or a transfer screen. It is possible to perform a filtering process that does not allow a packet determined to pass through.
Therefore, virtualized resources can be used in a more secure environment.

また、統合管理サーバ136の管理情報記憶部138に接続可能な環境管理サーバ124が仮想マシン情報テーブル200を更新保持し、管理するため、常に最新の情報をユーザ端末102に提供することができる。例えば、管理LAN130においてシステム構成が変更され、仮想マシン134が他のホストサーバ132上に移されたような場合にも、最新の情報を提供することができる。   Further, since the environment management server 124 that can be connected to the management information storage unit 138 of the integrated management server 136 updates and manages the virtual machine information table 200, the latest information can always be provided to the user terminal 102. For example, even when the system configuration is changed in the management LAN 130 and the virtual machine 134 is moved to another host server 132, the latest information can be provided.

以上、本発明について実施例をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

例えば、実施例においては、ユーザ端末102が仮想マシン134からの画面転送を要求し、その応答である画面データをデータ転送サーバ122がユーザ端末102に転送した。しかし、ユーザ端末102が要求する情報は、画面データに限られず、例えば音声など画面以外のデータや、画面データとそれ以外のデータの組み合わせであってもよく、ユーザ端末102から仮想マシン134を利用するにあたって必要となる任意のデータであってよい。例えば、HTML文書や、文書に関連付けられている画像、音声、動画などの組み合わせであってもよい。   For example, in the embodiment, the user terminal 102 requests screen transfer from the virtual machine 134 and the data transfer server 122 transfers screen data as a response to the user terminal 102. However, the information requested by the user terminal 102 is not limited to screen data, and may be data other than the screen, such as voice, or a combination of screen data and other data. The user terminal 102 uses the virtual machine 134. It may be any data that is necessary for the operation. For example, it may be a combination of an HTML document, an image associated with the document, sound, a moving image, or the like.

また、図6のフローチャートのステップ18においては、ユーザ端末102は仮アドレス対応テーブル210から仮アドレスを読み出したが、これに代えて、ユーザ端末102は環境管理サーバ124から仮アドレスを取得することとしてもよい。   In step 18 of the flowchart of FIG. 6, the user terminal 102 reads the temporary address from the temporary address correspondence table 210, but instead, the user terminal 102 acquires the temporary address from the environment management server 124. Also good.

この場合、環境管理サーバ124の仮想マシン情報テーブル200はさらに、ホストサーバのホスト名と、その仮アドレスとを関連づけて記録する。環境管理サーバ124は、ステップ14において、第1ホストサーバ132aのホスト名「hsa」に加えて、第1ホストサーバ132aに割り当てられた仮アドレスも読み出す。そして、ステップ16において、環境管理サーバ124は、第1ホストサーバ132aのホスト名と共に、第1ホストサーバ132aに割り当てられた仮アドレスをユーザ端末102に送信する。   In this case, the virtual machine information table 200 of the environment management server 124 further records the host name of the host server and its temporary address in association with each other. In step 14, the environment management server 124 reads the temporary address assigned to the first host server 132a in addition to the host name “hsa” of the first host server 132a. In step 16, the environment management server 124 transmits the temporary address assigned to the first host server 132a to the user terminal 102 together with the host name of the first host server 132a.

この場合、ユーザ端末102は、ステップ18の読み出しを行う必要はない。そして、ステップ20において、ユーザ端末102は、環境管理サーバ124から取得した仮アドレスに従って、第1仮想マシン134aの画面クエリをデータ転送サーバ122に宛てて送信する。以降、図6と同じ手順で画面クエリが第1仮想マシン134aに転送され、第1ホストサーバ132aから、第1仮想マシン134aの画面データがユーザ端末102に転送される。   In this case, the user terminal 102 does not need to perform the reading in step 18. In step 20, the user terminal 102 transmits the screen query of the first virtual machine 134 a to the data transfer server 122 according to the temporary address acquired from the environment management server 124. Thereafter, the screen query is transferred to the first virtual machine 134a in the same procedure as in FIG. 6, and the screen data of the first virtual machine 134a is transferred from the first host server 132a to the user terminal 102.

この変形例によると、環境管理サーバ124から第1ホストサーバ132aの仮アドレスが取得されるため、ユーザ端末102は、仮アドレス対応テーブル210を保持する必要がなく、仮アドレス対応テーブル210の更新などの管理をする必要がない。   According to this modification, since the temporary address of the first host server 132a is acquired from the environment management server 124, the user terminal 102 does not need to hold the temporary address correspondence table 210, and updates the temporary address correspondence table 210. There is no need to manage.

また、図6のフローチャートのステップ12からステップ16においては、ユーザ端末102は、環境管理サーバ124から第1ホストサーバ132aのホスト名を取得しているが、第1ホストサーバ132aのホスト名は、ユーザ端末102自身が、あらかじめ取得しておき、必要に応じて読み出すこととしてもよい。この場合、環境管理サーバ124へ問い合わせて、第1ホストサーバ132aのホスト名を取得する処理(図6のS12〜S16)は不要である。   Further, in steps 12 to 16 of the flowchart of FIG. 6, the user terminal 102 acquires the host name of the first host server 132a from the environment management server 124, but the host name of the first host server 132a is The user terminal 102 may acquire the information in advance and read it out as necessary. In this case, the process (S12 to S16 in FIG. 6) for making an inquiry to the environment management server 124 and acquiring the host name of the first host server 132a is unnecessary.

この場合、ユーザ端末102の仮アドレス記憶部104が、仮アドレス対応テーブル210に加えて、仮想マシン情報テーブル200を保持する。ユーザ端末102は、まず、アクセスしたい第1仮想マシン134aのホスト名に基づいて、仮想マシン情報テーブル200を参照して第1仮想マシン134aが稼働する第1ホストサーバ132aのホスト名を読み出す。ユーザ端末102は、次に、第1ホストサーバ132aのホスト名にもとづいて仮アドレス対応テーブル210を参照して、第1ホストサーバ132aの仮アドレスを読み出す(S18)。そして、ステップ20以降、図6と同じ手順で、画面クエリが第1仮想マシン134aに送信され、第1仮想マシン134aの画面データがユーザ端末102に転送される。   In this case, the temporary address storage unit 104 of the user terminal 102 holds the virtual machine information table 200 in addition to the temporary address correspondence table 210. First, the user terminal 102 reads the host name of the first host server 132a on which the first virtual machine 134a operates by referring to the virtual machine information table 200 based on the host name of the first virtual machine 134a to be accessed. Next, the user terminal 102 refers to the temporary address correspondence table 210 based on the host name of the first host server 132a, and reads the temporary address of the first host server 132a (S18). After step 20, the screen query is transmitted to the first virtual machine 134a and the screen data of the first virtual machine 134a is transferred to the user terminal 102 in the same procedure as in FIG.

この変形例によると、環境管理サーバ124なしで仮想環境データ転送システム10を構築することができるため、より簡単に、セキュリティ保護された環境で、仮想化されたリソースを利用することができる。   According to this modification, since the virtual environment data transfer system 10 can be constructed without the environment management server 124, virtualized resources can be used more easily in a secure environment.

10 仮想環境データ転送システム、 50 要求処理部、 58 応答転送部、 60 要求受付部、 62 第1取得部、 64 第2取得部、 66 転送条件判定部、 68 変換部、 70 要求転送部、 100 ユーザLAN、 102 ユーザ端末、 104 仮アドレス記憶部、 120 中継LAN、 122 データ転送サーバ、 124 環境管理サーバ、 128 仮想マシン情報記憶部、 130 管理LAN、 132 ホストサーバ、 134,136 統合管理サーバ、 138 管理情報記憶部。   10 virtual environment data transfer system, 50 request processing unit, 58 response transfer unit, 60 request reception unit, 62 first acquisition unit, 64 second acquisition unit, 66 transfer condition determination unit, 68 conversion unit, 70 request transfer unit, 100 User LAN, 102 User terminal, 104 Temporary address storage unit, 120 Relay LAN, 122 Data transfer server, 124 Environment management server, 128 Virtual machine information storage unit, 130 Management LAN, 132 Host server, 134, 136 Integrated management server, 138 Management information storage unit.

Claims (5)

ホストサーバと、
前記ホストサーバ上で稼働する仮想マシンと、
前記ホストサーバに接続されているデータ転送サーバと、
前記データ転送サーバに接続されており、前記仮想マシンが作成したデータの転送を要求するデータ転送要求を前記データ転送サーバに送信するユーザ端末とを備え、
前記データ転送サーバは、
前記データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、前記ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、
前記第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、
前記第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、
前記第2取得部において取得した識別情報に対応したデータの種類が、前記データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、
前記データの種類が前記転送条件を満たす場合に、前記データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求を前記ホストサーバに転送する要求転送部とを備えることを特徴とする仮想環境データ転送システム。
A host server,
A virtual machine running on the host server;
A data transfer server connected to the host server;
A user terminal connected to the data transfer server and transmitting a data transfer request for requesting transfer of data created by the virtual machine to the data transfer server;
The data transfer server is
A first acquisition unit that acquires a first combination of an IP address and a port number from a header of the data transfer request, and acquires a header of a layer higher than a layer to which the header belongs from a payload of the data transfer request; ,
A second combination of a fixed port number and another IP address is generated by converting at least an IP address of the first combination acquired by the first acquisition unit into another IP address. A conversion unit;
Acquire identification information included in the header of the upper layer acquired in the first acquisition unit and for identifying any of a plurality of types of data that can be included in the data transfer request A second acquisition unit;
A transfer condition determination unit that determines whether the type of data corresponding to the identification information acquired in the second acquisition unit satisfies a transfer condition for permitting transfer of the data transfer request;
A request transfer unit that replaces the first combination included in the data transfer request with the second combination and transfers the data transfer request to the host server when the data type satisfies the transfer condition; A virtual environment data transfer system characterized by the above.
前記仮想マシンのホスト名と前記ホストサーバのホスト名とを対応づけて記憶する仮想マシン情報記憶部を含む環境管理サーバをさらに備え、
前記ユーザ端末は、前記データ転送サーバのIPアドレスとポート番号との第1の組み合わせであるアドレスと、前記ホストサーバのホスト名とを対応づけて記憶した仮アドレス記憶部を備え、前記仮想マシンが作成したデータの転送指示がユーザにより入力された際、前記仮想マシンのホスト名を前記環境管理サーバに送信して前記ホストサーバのホスト名を取得し、前記仮アドレス記憶部から前記データ転送サーバのアドレスを読み出し、前記データ転送サーバに前記データ転送要求を送信することを特徴とする請求項1に記載の仮想環境データ転送システム。
An environment management server including a virtual machine information storage unit that stores the host name of the virtual machine and the host name of the host server in association with each other;
The user terminal includes a temporary address storage unit that stores an address that is a first combination of an IP address and a port number of the data transfer server and a host name of the host server, and the virtual machine includes When an instruction to transfer the created data is input by the user, the host name of the virtual machine is acquired by transmitting the host name of the virtual machine to the environment management server, and the host name of the host server is acquired from the temporary address storage unit. 2. The virtual environment data transfer system according to claim 1, wherein an address is read and the data transfer request is transmitted to the data transfer server.
前記データ転送サーバのIPアドレスとポート番号との第1の組み合わせであるアドレスと、前記仮想マシンのホスト名とを対応づけて記憶した仮想マシン情報記憶部を含む環境管理サーバをさらに備え、
前記ユーザ端末は、前記仮想マシンが作成したデータの転送指示がユーザにより入力された際、前記仮想マシンのホスト名を前記環境管理サーバに送信して、前記データ転送サーバのアドレスを取得し、前記データ転送サーバに前記データ転送要求を送信することを特徴とする請求項1に記載の仮想環境データ転送システム。
An environment management server including a virtual machine information storage unit that stores an address that is a first combination of an IP address and a port number of the data transfer server and a host name of the virtual machine;
When the user inputs an instruction to transfer data created by the virtual machine, the user terminal sends the host name of the virtual machine to the environment management server, acquires the address of the data transfer server, The virtual environment data transfer system according to claim 1, wherein the data transfer request is transmitted to a data transfer server.
前記データ転送要求は、前記ホストサーバに対して前記仮想マシンの画面の転送を要求する画面転送要求であることを特徴とする請求項1から3のいずれかに記載の仮想環境データ転送システム。   4. The virtual environment data transfer system according to claim 1, wherein the data transfer request is a screen transfer request for requesting the host server to transfer a screen of the virtual machine. ユーザ端末と、仮想マシンが稼働するホストサーバとに接続されるデータ転送装置であって、
前記仮想マシンが作成したデータの転送を要求するデータ転送要求を前記ユーザ端末から受け付ける要求受付部と、
前記データ転送要求のヘッダから、IPアドレスとポート番号との第1の組み合わせを取得するとともに、データ転送要求のペイロードから、前記ヘッダの属する層より上位の層のヘッダを取得する第1取得部と、
前記第1取得部において取得した第1の組み合わせのうち、少なくともIPアドレスを他のIPアドレスに変換することによって、ひとつに固定されたポート番号と他のIPアドレスとの第2の組み合わせを生成する変換部と、
前記第1取得部において取得した上位の層のヘッダに含まれた識別情報であって、かつデータ転送要求に含まれうる複数種類のデータのうちのいずれかを特定するための識別情報を取得する第2取得部と、
前記第2取得部において取得した識別情報に対応したデータの種類が、前記データ転送要求の転送を許可するための転送条件を満たすか否か判定する転送条件判定部と、
前記データの種類が前記転送条件を満たす場合に、前記データ転送要求に含まれた第1の組み合わせを第2の組み合わせに置換し、データ転送要求を前記ホストサーバに転送する要求転送部とを備えることを特徴とする仮想環境データ転送装置。
A data transfer device connected to a user terminal and a host server on which a virtual machine runs,
A request receiving unit that receives a data transfer request for requesting transfer of data created by the virtual machine from the user terminal;
A first acquisition unit that acquires a first combination of an IP address and a port number from a header of the data transfer request, and acquires a header of a layer higher than a layer to which the header belongs from a payload of the data transfer request; ,
A second combination of a fixed port number and another IP address is generated by converting at least an IP address of the first combination acquired by the first acquisition unit into another IP address. A conversion unit;
Acquire identification information included in the header of the upper layer acquired in the first acquisition unit and for identifying any of a plurality of types of data that can be included in the data transfer request A second acquisition unit;
A transfer condition determination unit that determines whether the type of data corresponding to the identification information acquired in the second acquisition unit satisfies a transfer condition for permitting transfer of the data transfer request;
A request transfer unit that replaces the first combination included in the data transfer request with the second combination and transfers the data transfer request to the host server when the data type satisfies the transfer condition; A virtual environment data transfer device.
JP2010069093A 2010-03-25 2010-03-25 Virtual environment data transfer system and virtual environment data transfer device Expired - Fee Related JP5270603B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010069093A JP5270603B2 (en) 2010-03-25 2010-03-25 Virtual environment data transfer system and virtual environment data transfer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010069093A JP5270603B2 (en) 2010-03-25 2010-03-25 Virtual environment data transfer system and virtual environment data transfer device

Publications (2)

Publication Number Publication Date
JP2011203887A JP2011203887A (en) 2011-10-13
JP5270603B2 true JP5270603B2 (en) 2013-08-21

Family

ID=44880485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010069093A Expired - Fee Related JP5270603B2 (en) 2010-03-25 2010-03-25 Virtual environment data transfer system and virtual environment data transfer device

Country Status (1)

Country Link
JP (1) JP5270603B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201416980A (en) * 2012-10-30 2014-05-01 Hon Hai Prec Ind Co Ltd System and method for sharing virtual machines
JP6056607B2 (en) * 2013-03-28 2017-01-11 富士通株式会社 Information processing system and control method of information processing system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05344122A (en) * 1992-06-10 1993-12-24 Fujitsu Ltd Router
JP2911431B2 (en) * 1997-09-17 1999-06-23 三菱電機株式会社 Local area network system and address translator in local area network system
JP4077351B2 (en) * 2003-03-28 2008-04-16 富士通株式会社 Name / address converter
JP2010239591A (en) * 2009-03-31 2010-10-21 Nec Corp Network system, relay device, and method of controlling network
JP5530759B2 (en) * 2010-03-05 2014-06-25 株式会社エヌ・ティ・ティ・データ Resource linkage system and resource linkage method

Also Published As

Publication number Publication date
JP2011203887A (en) 2011-10-13

Similar Documents

Publication Publication Date Title
EP2158546B1 (en) Providing enhanced data retrieval from remote locations
JP3963690B2 (en) Packet relay processor
US9137210B1 (en) Remote browsing session management
US11689631B2 (en) Transparent network service migration across service devices
US8307058B2 (en) Apparatus, method, and computer program product for processing information
CN107690800A (en) Manage dynamic IP addressing distribution
JP2009539167A (en) Distributed local web server architecture for storage devices
JP2007066161A (en) Cache system
CN106462611A (en) Web access performance enhancement
JP2017513151A (en) Private cloud connection device cluster architecture
JP2014171211A (en) Information processing system
JP5911448B2 (en) Migration support apparatus, migration support method, and program
JP2014060615A (en) Information processing device, monitoring device, information processing method, and monitoring program
JP2017524314A (en) Provision of router information according to programmatic interface
JP5457916B2 (en) Memory sharing device
JP6181881B2 (en) Control device, control system, control method, and control program
CN107249038A (en) Business datum retransmission method and system
JP5270603B2 (en) Virtual environment data transfer system and virtual environment data transfer device
US20120297158A1 (en) Mass storage device capable of accessing a network storage
JP2016144186A (en) Communication information controller, relay system, communication information control method, and communication information control program
JP6021651B2 (en) Management system, management method, and computer program
JP5229109B2 (en) Packet relay processor
CN115516842A (en) Orchestration broker service
JP6359260B2 (en) Information processing system and firewall device for realizing a secure credit card system in a cloud environment
CN113966604A (en) Web application wrapper

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130426

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: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130509

R150 Certificate of patent or registration of utility model

Ref document number: 5270603

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

LAPS Cancellation because of no payment of annual fees