(57)【要約】【課題】単一の装置内に搭載されたプライベートネットワーク内の装置同士が同一のポート番号を使用したアプリケーションを実行している場合でも、通信データを容易に振り分けること。【解決手段】アプリケーションに対する要求データを、グローバルネットワークを介して受信する受信部と、要求データに基づいて、要求データで指定されたアプリケーションが、プライベートネットワークで接続され、プライベートアドレスが割り当てられた第２情報処理装置で実行されるか否かを判断する判断部と、要求データで指定されたアプリケーションが、第２情報処理装置で実行されると判断された場合に、要求データの宛先アドレスを、情報処理装置のグローバルアドレスから第２情報処理装置のプライベートアドレスに変更する変更部と、宛先アドレスが第２情報処理装置のプライベートアドレスに変更された要求データを、第２情報処理装置に転送する送信部と、を備えた。【選択図】図２
2014183323.tif 000002
【特許請求の範囲】
【請求項１】
グローバルネットワークに接続される情報処理装置であって、
前記情報処理装置に割り当てられたグローバルアドレスが宛先アドレスとして指定され、アプリケーションに対する要求データを、前記グローバルネットワークを介して受信する受信部と、
前記要求データに基づいて、前記要求データで指定されたアプリケーションが、プライベートネットワークで接続され、プライベートアドレスが割り当てられた第２情報処理装置で実行されるか否かを判断する判断部と、
前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されると判断された場合に、前記要求データの前記宛先アドレスを、前記情報処理装置の前記グローバルアドレスから前記第２情報処理装置の前記プライベートアドレスに変更する変更部と、
前記宛先アドレスが前記第２情報処理装置の前記プライベートアドレスに変更された要求データを、前記第２情報処理装置に転送する送信部と、
を備えた情報処理装置。
【請求項２】
前記アプリケーションごとに、中継先ポート番号と、中継先アドレスと、前記アプリケーションで使用するためのアプリデータとが登録された中継データを記憶する記憶部をさらに備え、
前記要求データは、さらに、ポート番号と指定されたアプリケーションで使用するアプリデータとが指定され、
前記判断部は、前記記憶部から、前記要求データで指定されたポート番号に一致する前記中継先ポート番号の中継データを選択し、選択された中継データに登録された前記中継先アドレスが前記第２情報処理装置のプライベートアドレスである場合に、前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されると判断し、前記要求データで指定されたポート番号に一致する前記中継先ポート番号の中継データが複数選択された場合に、選択された複数の中継データの中で、前記要求データで指定されたアプリデータに一致するアプリデータを含む中継データを選択し、選択された中継データの前記中継先アドレスが前記第２情報処理装置のプライベートアドレスである場合に、前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されると判断する、
請求項１に記載の情報処理装置。
【請求項３】
前記変更部は、前記要求データで指定されたアプリケーションが、前記情報処理装置で実行されると判断された場合に、前記要求データの前記宛先アドレスを変更せず、
前記送信部は、前記要求データを、前記情報処理装置のアプリケーションに転送する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記受信部は、さらに、前記第２情報処理装置から、前記第２情報処理装置で実行されたアプリケーションによる応答データを受信し、
前記変更部は、記第２情報処理装置から受信した応答データの送信元アドレスを、前記第２情報処理装置のプライベートアドレスから、前記情報処理装置のグローバルアドレスに変更し、
前記送信部は、さらに、前記送信元アドレスが前記情報処理装置のグローバルアドレスに変更された応答データを、前記グローバルネットワークに送信する、
請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記送信部は、前記情報処理装置で実行されたアプリケーションによる応答データを、そのまま前記グローバルネットワークに送信する、
請求項４に記載の情報処理装置。
【請求項６】
グローバルネットワークに接続され、グローバルアドレスが割り当てられた第１情報処理装置と、前記第１情報処理装置とプライベートネットワークで接続され、プライベートアドレスが割り当てられた第２情報処理装置とを備えた情報処理システムであって、
前記第１情報処理装置は、
前記第１情報処理装置に割り当てられたグローバルアドレスが宛先アドレスとして指定され、アプリケーションに対する要求データを、前記グローバルネットワークを介して受信する受信部と、
前記要求データに基づいて、前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されるか否かを判断する判断部と、
前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されると判断された場合に、前記要求データの前記宛先アドレスを、前記第１情報処理装置の前記グローバルアドレスから前記第２情報処理装置の前記プライベートアドレスに変更する変更部と、
前記宛先アドレスが前記第２情報処理装置の前記プライベートアドレスに変更された要求データを、前記第２情報処理装置に転送する送信部と、
を備えた情報処理システム。
【請求項７】
グローバルネットワークに接続される情報処理装置で実行される中継方法であって、
前記情報処理装置に割り当てられたグローバルアドレスが宛先アドレスとして指定され、アプリケーションに対する要求データを、前記グローバルネットワークを介して受信する受信ステップと、
前記要求データに基づいて、前記要求データで指定されたアプリケーションが、プライベートネットワークで接続され、プライベートアドレスが割り当てられた第２情報処理装置で実行されるか否かを判断する判断ステップと、
前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されると判断された場合に、前記要求データの前記宛先アドレスを、前記情報処理装置の前記グローバルアドレスから前記第２情報処理装置の前記プライベートアドレスに変更する変更ステップと、
前記宛先アドレスが前記第２情報処理装置の前記プライベートアドレスに変更された要求データを、前記第２情報処理装置に転送する送信ステップと、
を含む中継方法。
【請求項８】
グローバルネットワークに接続されるコンピュータに実行させるためのプログラムであって、
前記コンピュータに割り当てられたグローバルアドレスが宛先アドレスとして指定され、アプリケーションに対する要求データを、前記グローバルネットワークを介して受信する受信ステップと、
前記要求データに基づいて、前記要求データで指定されたアプリケーションが、プライベートネットワークで接続され、プライベートアドレスが割り当てられた第２コンピュータで実行されるか否かを判断する判断ステップと、
前記要求データで指定されたアプリケーションが、前記第２コンピュータで実行されると判断された場合に、前記要求データの前記宛先アドレスを、前記コンピュータの前記グローバルアドレスから前記第２コンピュータの前記プライベートアドレスに変更する変更ステップと、
前記宛先アドレスが前記第２コンピュータの前記プライベートアドレスに変更された要求データを、前記第２情報処理装置に転送する送信ステップと、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、中継方法およびプログラムに関する。
【背景技術】
【０００２】
印刷装置等の構成の形態の中は、一台の印刷装置が複数のコンピュータを搭載し、各コンピュータには個別にＩＰアドレスが割り当てられている形態がある。このような形態の印刷装置では一台で複数のＩＰアドレスを保持しているため、ネットワーク上で一台のデバイスとして管理することが困難であり、管理が煩雑となる。このため、印刷装置を構成する複数のコンピュータのＩＰアドレスを、単一のＩＰアドレスに統合したいというニーズがある。
【０００３】
このように、単一の装置を構成する複数のコンピュータのＩＰアドレスを１つのＩＰアドレスに統合するために、ＮＡＰＴ（Network  Address  Port  Translation）ルータにより、ＩＰアドレスとポート番号を書き換えて転送することで、一台の印刷装置に搭載されている複数のコンピュータ同士がネットワークで接続されているプライベートなネットワーク空間とグローバル空間との間で多対１の通信を実現する技術が従来から知られている。
【０００４】
例えば、特許文献１には、端末の管理を容易にする目的で、グローバルネットワーク領域とプライベートネットワーク領域の通信を中継するアドレス変換装置の技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これらの従来技術のアドレス変換装置では、印刷装置などの単一の装置内に搭載されたプライベートネットワーク内の装置同士が、同一のポート番号を使用したＷｅｂサービス等のアプリケーションを実行している場合には、通信データを振り分けることが困難であるという問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、単一の装置内に搭載されたプライベートネットワーク内の装置同士が同一のポート番号を使用したアプリケーションを実行している場合でも、通信データを容易に振り分けることができる情報処理装置、情報処理システム、中継方法およびプログラムを提供することを主な目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、グローバルネットワークに接続される情報処理装置であって、前記情報処理装置に割り当てられたグローバルアドレスが宛先アドレスとして指定され、アプリケーションに対する要求データを、前記グローバルネットワークを介して受信する受信部と、前記要求データに基づいて、前記要求データで指定されたアプリケーションが、プライベートネットワークで接続され、プライベートアドレスが割り当てられた第２情報処理装置で実行されるか否かを判断する判断部と、前記要求データで指定されたアプリケーションが、前記第２情報処理装置で実行されると判断された場合に、前記要求データの前記宛先アドレスを、前記情報処理装置の前記グローバルアドレスから前記第２情報処理装置の前記プライベートアドレスに変更する変更部と、前記宛先アドレスが前記第２情報処理装置の前記プライベートアドレスに変更された要求データを、前記第２情報処理装置に転送する送信部と、を備えた。
【発明の効果】
【０００８】
本発明によれば、単一の装置内に搭載されたプライベートネットワーク内の装置同士が同一のポート番号を使用したアプリケーションを実行している場合でも、通信データを容易に振り分けることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態の情報処理システムを含むシステムのネットワーク構成を示す図である。
【図２】図２は、本実施の形態の情報処理システムの機能的構成を示すブロック図である。
【図３】図３は、中継部の機能的構成を示すブロック図である。
【図４】図４は、中継データの構造の一例を示す図である。
【図５】図５は、中継処理の流れを示すシーケンス図である。
【図６】図６は、中継処理の流れ（その２）を示すシーケンス図である。
【図７】図７は、中継処理の詳細な手順を示すフローチャートである。
【図８】図８は、中継処理の詳細な手順を示すフローチャート（図７の続き）である。
【図９】図９は、複数の装置からなるプリンタ装置に単一のグローバルＩＰアドレスが割り当てられた場合のネットワーク構成を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理システム、中継方法およびプログラムの実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態の情報処理システムを含むシステムのネットワーク構成を示す図である。図１に示すように、本実施の形態では、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と情報処理システム１００とがインターネットやＬＡＮ等のグローバルネットワーク１５０で接続されている。このため、情報処理システム１００は、アドレスとしてグローバルＩＰアドレスが割り当てられている。
【００１２】
ＰＣ５００は、情報処理システム１００をサーバとして動作し、情報処理システム１００に対して各種要求を行う要求データを送信し、情報処理システム１００から、要求に対する応答としての応答データを受信する。ここで、ＰＣ５００は、要求データを送信する際に、宛先アドレスに情報処理システム１００のグローバルＩＰアドレスを指定する。
【００１３】
情報処理システム１００は、図１に示すように、情報処理装置２００と情報処理装置３００とを備えており、情報処理装置２００と情報処理装置３００とは、プライベートネットワーク１６０で接続されている。情報処理装置２００は、グローバルネットワーク１５０に接続されているため、情報処理システム１００のグローバルＩＰアドレスがそのまま情報処理装置２００のＩＰアドレスとなる。
【００１４】
一方、情報処理装置３００は、プライベートネットワーク１６０で情報処理装置２００と接続されているだけであり、グローバルネットワーク１５０には接続されていない。このため、情報処理装置３００はプライベートＩＰアドレスが割り当てられているのみであり、ＰＣ５００からＩＰアドレスを宛先として指定することができないようになっている。
【００１５】
図２は、本実施の形態の情報処理システム１００の機能的構成を示すブロック図である。情報処理装置２００は、通信Ｉ／Ｆ２２０，２２１と、中継部４００と、中継データベース４３０（以下、「中継ＤＢ４３０」という。）と、アプリケーションとしてのＷｅｂサービス２１０ａ，２１０ｂとを主に備えている。Ｗｅｂサービス２１０ａ，２１０ｂはプロセスとして動作している。図２において、実線の矢印は要求データの流れを示し、点線の矢印は応答データの流れを示している。
【００１６】
通信Ｉ／Ｆ２２０は、グローバルネットワーク１５０と接続するためのインタフェイスである。通信Ｉ／Ｆ２２１は、プライベートネットワーク１６０と接続するためのインタフェイスである。情報処理装置２００は、この通信Ｉ／Ｆ２２１でプライベートネットワーク１６０を介して情報処理装置３００と接続される。
【００１７】
中継部４００は、ＰＣ５００から受信した要求データを、情報処理装置２００のＷｅｂサービス２１０ａ，２１０ｂあるいは情報処理装置３００のＷｅｂサービス３１０ａ，３１０ｂ，３１０ｃへの転送を中継する。また、中継部４００は情報処理装置３００のＷｅｂサービス３１０ａ，３１０ｂ，３１０ｃからの応答データをグローバルネットワーク１５０へ送信する。中継ＤＢ４３０は、中継部４００による要求データのＷｅｂサービス２１０ａ，２１０ｂ，３１０ａ，３１０ｂ，３１０ｃへの転送時に参照される中継データを記憶するＨＤＤ（ハードディスクドライブ装置）やメモリ等の記憶媒体である。中継部４００および中継データの詳細については後述する。
【００１８】
Ｗｅｂサービス２１０ａ，２１０ｂは、ＰＣ５００からの要求データに応じた処理を行って処理結果として応答データを生成するアプリケーションである。
【００１９】
情報処理装置３００は、図２に示すように、通信Ｉ／Ｆ３２０と、Ｗｅｂサービス３１０ａ，３１０ｂ、３１０ｃとを備えている。Ｗｅｂサービス３１０ａ，３１０ｂ、３１０ｃは、プロセスとして動作している。
【００２０】
通信Ｉ／Ｆ３２０は、プライベートネットワーク１６０と接続するためのインタフェイスである。情報処理装置３００は、この通信Ｉ／Ｆ３２０でプライベートネットワークを介して情報処理装置２００と接続される。
【００２１】
Ｗｅｂサービス３１０ａ，３１０ｂ，３１０ｃは、ＰＣ５００からの要求データに応じた処理を行って処理結果として応答データを生成するアプリケーションである。
【００２２】
ここで、Ｗｅｂサービス２１０ａ，２１０ｂ，３１０ａ，３１０ｂ，３１０ｃは、必ずしも互いに異なるポート番号が割り当てられていなくてもよく、競合するポート番号を有している場合もある。特に、情報処理装置２００のＷｅｂサービス２１０ａ，２１０ｂと情報処理装置３００上のＷｅｂサービス３１０ａ，３１０ｂ，３１０ｃとの間で競合するポート番号が割り当てられる場合もある。
【００２３】
次に、情報処理装置２００の中継部４００の詳細について説明する。図３は、中継部４００の機能的構成を示すブロック図である。中継部４００は、図３に示すように、通信制御部４１１と、判断部４１２と、変更部４１３と、管理部４１４とを主に備えている。また、図３には中継ＤＢ４３０も示している。
【００２４】
通信制御部４１１は、受信部として機能し、要求データを、グローバルネットワーク１５０を介してＰＣ５００から受信する。ここで、要求データは、情報処理装置２００に割り当てられたグローバルＩＰアドレスが宛先アドレスとして指定され、Ｗｅｂサービスに対する処理要求のデータである。
【００２５】
より具体的には、要求データは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、アプリデータを含んでいる。ここで、ＰＣ５００から情報処理システム１００に対する要求データの場合には、送信元アドレスにＰＣ５００のＩＰアドレス、送信元ポート番号にＰＣ５００で要求データを生成したアプリケーションのポート番号がそれぞれ設定される。また、宛先アドレスには、情報処理システム１００のグローバルＩＰアドレス、宛先ポート番号には要求するサービスのＷｅｂサービスのポート番号が指定される。アプリデータは、Ｗｅｂサービスで使用されるデータである。
【００２６】
また、Ｗｅｂサービスで生成される応答データは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、応答処理結果を含んでいる。
【００２７】
また、通信制御部４１１は、送信部として機能し、要求データを、要求データで指定された宛先ＩＰアドレスの装置のポート番号のＷｅｂサービスに転送する。ここで、後述するように、宛先ポート番号で指定されるＷｅｂサービスが情報処理装置３００で実行される場合には、宛先ＩＰアドレスは、変更部４１３によって、情報処理装置３００のプライベートＩＰアドレスに変更される。
【００２８】
さらに、通信制御部４１１は、情報処理装置３００のＷｅｂサービス３１０ａ，３１０ｂ，３１０ｃから応答データを受信し、応答データで指定された宛先ＩＰアドレスに送信する。なお、情報処理装置２００上のＷｅｂサービスからの応答データは、中継部４００、すなわち通信制御部４１１を介さずに、Ｗｅｂサービス２１０ａ，２１０ｂから直接、応答データで指定された宛先ＩＰアドレスに送信される。
【００２９】
中継ＤＢ４３０は、Ｗｅｂサービスに対応する数の中継データが登録されている。中継データは、Ｗｅｂサービスに関連する情報が登録されたデータである。図４は、中継データの構造の一例を示す図である。中継データは、図４に示すように、Ｗｅｂサービスごとに、中継先ＩＰアドレスと、中継先ポート番号と、アプリデータとが対応付けられている。
【００３０】
中継先ＩＰアドレスは、Ｗｅｂサービスが実行される情報処理装置のＩＰアドレスである。Ｗｅｂサービス２１０ａ，２１０ｂの中継データの場合には、中継先ＩＰアドレスには情報処理装置２００のグローバルＩＰアドレスが登録されている。一方、Ｗｅｂサービス３１０ａ，３１０ｂ，３１０ｃの中継データの場合には、中継先ＩＰアドレスには情報処理装置３００のプライベートＩＰアドレスが登録されている。
【００３１】
中継先ポート番号は、Ｗｅｂサービスを指定するためのポート番号である。なお、上述したとおり、Ｗｅｂサービスのポート番号は競合する場合もある。
【００３２】
アプリデータはＷｅｂサービスで使用するデータである。例えば、ＷｅｂサービスがＸＭＬ（ｅＸｔｅｎｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）データを送信するサービスアプリケーションの場合には、アプリデータは、ＸＭＬヘッダ（＜ＸＭＬ＞・・・＜／ＸＭＬ＞）等が該当する。また、Ｗｅｂサービスが印刷装置の遠隔診断のサービスを行うものであれば、アプリデータはインク残量の問い合わせメッセージ等が該当する。ただし、これらのアプリデータは一例であり、任意のデータをアプリデータとして用いることができる。
【００３３】
図３に戻り、管理部４１４は、中継ＤＢ４３０の中継データの読み出しや書き込みを制御する。Ｗｅｂサービスの内容が変更された場合には、システム管理者は管理部４１４を介して該当するＷｅｂサービスの中継データの内容を変更したり、情報処理システム１００内に新たなＷｅｂサービスが追加された場合には、システム管理者は管理部４１４を介して、新たなＷｅｂサービスに対応する中継データを中継ＤＢ４３０に追加登録する。
【００３４】
判断部４１２は、通信制御部４１１で受信した要求データの内容と中継データとに基づいて、要求データのポート番号で指定されたＷｅｂサービスが、情報処理装置２００で実行されるか、情報処理装置３００で実行されるかを判断する。具体的には、判断部４１２は、中継ＤＢ４３０の中継データの中から、要求データで指定されたポート番号に一致する中継先ポート番号の中継データを検索し、検索された中継データに登録された中継先ＩＰアドレスが情報処理装置２００のＩＰアドレスか情報処理装置３００のＩＰアドレスかにより、情報処理装置２００、３００のいずれで実行されるかを判断する。
【００３５】
ここで、Ｗｅｂサービス間でポート番号が競合する場合があるため、要求データで指定されたポート番号と一致する中継データが複数検索される場合がある。この場合には、判断部４１２は、検索された複数の中継データの中で、要求データで指定されたアプリデータに一致するアプリデータを含む中継データを検索して、中継データを一つに絞り込んで選択する。そして、判断部４１２は、選択された中継データに登録された中継先ＩＰアドレスが情報処理装置２００のアドレスか情報処理装置３００のＩＰアドレスかにより、情報処理装置２００、３００のいずれで実行されるかを判断する。
【００３６】
変更部４１３は、判断部４１２によって、要求データのポート番号等で指定されたＷｅｂサービスが、情報処理装置３００で実行されると判断された場合に、要求データの宛先ＩＰアドレスを、情報処理システム１００（すなわち、情報処理装置２００）のグローバルＩＰアドレスから情報処理装置３００のプライベートＩＰアドレスに変更する書き換え処理を行う。一方、変更部４１３は、判断部４１２によって、要求データのポート番号等で指定されたＷｅｂサービスが情報処理装置２００で実行されると判断された場合に、要求データの宛先ＩＰアドレスを変更せず、情報処理システム１００のグローバルＩＰアドレスのままとする。通信制御部４１１は、要求データを、要求データで指定された宛先ＩＰアドレスに転送するため、Ｗｅｂサービスが実行される情報処理装置に転送されることになる。
【００３７】
また、変更部４１３は、通信制御部４１１で情報処理装置３００から応答データを受信した場合、受信した応答データの送信元アドレスを、情報処理装置３００のプライベートＩＰアドレスから、情報処理装置２００（すなわち、情報処理システム１００）のグローバルＩＰアドレスに変更する書き換え処理を行う。これにより、応答データにはプライベートＩＰアドレスが設定されたままになることを回避することができる。
【００３８】
次に、以上のように構成された本実施形態の情報処理システムによる中継処理について説明する。図５は、要求データが情報処理装置２００上のＷｅｂサービス２１０a，２１０ｂに対して送信される場合の中継処理の流れを示すシーケンス図である。
【００３９】
ＰＣ５００から要求データが情報処理システム１００に送信されると（ステップＳ１１）、情報処理装置２００の中継部４００の通信制御部４１１がこの要求データを受信する。そして、中継部４００の判断部４１２が受信した要求データの内容を解析し（ステップＳ１２）、要求データから宛先ポート番号とアプリデータを取得する。そして、判断部４１２は、取得した宛先ポート番号とアプリデータに基づき、中継ＤＢ４３０から中継データを検索し（ステップＳ１３）、検索された中継データの中継先ＩＰアドレスからＷｅｂサービスが実行される送信先の情報処理装置２００，３００を判別する（ステップＳ１４）。
【００４０】
図５の例の場合、送信先は情報処理装置２００であるため、通信制御部４１１は、要求データを変更せずに、情報処理装置２００における、ポート番号に対応するＷｅｂサービス２１０ａ，２１０ｂのいずれかに送信する（ステップＳ１５）。
【００４１】
情報処理装置２００上のＷｅｂサービスは、要求データに基づき処理を実行する（ステップＳ１６）。そして、情報処理装置２００上のＷｅｂサービスは、処理結果として応答データを生成する。ここで、情報処理装置２００上のＷｅｂサービスは、応答データの送信元ＩＰアドレスに情報処理装置２００のグローバルＩＰアドレスを設定し、宛先ＩＰアドレスにＰＣ５００のＩＰアドレスを設定する。そして、情報処理装置２００上のＷｅｂサービスは、要求データの送信元であるＰＣ５００に応答データを送信する（ステップＳ１７）。
【００４２】
図６は、要求データが情報処理装置３００上のＷｅｂサービス２１０ａ，３１０ｂ，３１０ｃに対して送信される場合の中継処理の流れを示すシーケンス図である。ＰＣ５００から要求データが情報処理システム１００への送信から送信先の判別までの処理（ステップＳ１１〜Ｓ１４）については図５で説明した処理と同様に行われる。
【００４３】
ステップＳ１４で、Ｗｅｂサービスが実行される送信先が情報処理装置３００であると判別された場合、変更部４１３は、要求データの宛先ＩＰアドレスを情報処理装置３００のプライベートＩＰアドレスに変更する（ステップＳ２１）。そして、通信制御部４１１は、要求データを、情報処理装置３００における、ポート番号に対応するＷｅｂサービス３１０ａ，３１０ｂ，３１０ｃのいずれかに送信する（ステップＳ２２）。
【００４４】
情報処理装置３００上のＷｅｂサービスは、要求データに基づき処理を実行する（ステップＳ２３）。そして、情報処理装置３００上のＷｅｂサービスは、処理結果として応答データを生成する。ここで、情報処理装置３００上のＷｅｂサービスは、応答データの送信元ＩＰアドレスに情報処理装置３００のプライベートＩＰアドレスを設定し、宛先ＩＰアドレスにＰＣ５００のＩＰアドレスを設定する。そして、情報処理装置３００上のＷｅｂサービスは、情報処理装置２００に応答データを送信する（ステップＳ２４）。
【００４５】
情報処理装置２００の中継部４００は通信制御部４１１で応答データを受信し、変更部４１３は、応答データで設定された送信元ＩＰアドレスを、情報処理装置２００のグローバルＩＰアドレスに変更する（ステップＳ２５）。そして、通信制御部４１１は、要求データの送信元であるＰＣ５００に応答データを送信する（ステップＳ２６）。
【００４６】
次に、情報処理装置２００の中継部４００によるステップＳ１２からＳ２５までの中継処理の詳細について説明する。図７、８は、情報処理装置２００の中継部４００によるステップＳ１２からＳ２５までの中継処理の詳細な手順を示すフローチャートである。
【００４７】
通信制御部４１１は、要求データの受信待ち状態であり（ステップＳ３１，Ｓ３１：Ｎｏ）、グローバルネットワーク１５０から要求データを受信すると（ステップＳ３１：Ｙｅｓ）、判断部４１２は、受信した要求データを解析して、要求データから宛先ポート番号とアプリデータとを取得する（ステップＳ３２）。
【００４８】
そして、判断部４１２は、宛先ポート番号をキーにして中継ＤＢ４３０から中継データを検索する（ステップＳ３３）。そして、判断部４１２は、中継データが検索されたか否かを判断し（ステップＳ３４）、中継データが検索されたかった場合には（ステップＳ３４：Ｎｏ）、処理を終了する。
【００４９】
一方、中継データが検索された場合には（ステップＳ３４：Ｙｅｓ）、検索された中継データが複数存在するか否かを判断する（ステップＳ３５）。ここで、複数の中継データが検索される場合は、ポート番号が競合する場合である。
【００５０】
そして、検索された中継データが複数存在する場合には（ステップＳ３５：Ｙｅｓ）、判断部４１２は、複数の中継データの中から、要求データから取得されたアプリデータが一致するアプリデータを有する中継データを選択する（ステップＳ３６）。一方、ステップＳ３５において、検索された中継データが一つである場合には（ステップＳ３５：Ｎｏ）、判断部４１２は、当該中継データを選択し、ステップＳ３６の処理は行わない。
【００５１】
次に、判断部４１２は、選択された中継データの中継ＩＰアドレスが情報処理装置２００のグローバルＩＰアドレスか情報処理装置３００のプライベートＩＰアドレスかにより、要求データの宛先ポート番号で指定されたＷｅｂサービスが、情報処理装置２００で実行されるものか、情報処理装置３００で実行されるものかを判断する（ステップＳ３７）。
【００５２】
そして、要求データの宛先ポート番号で指定されたＷｅｂサービスが、情報処理装置３００で実行されると判断された場合には（ステップＳ３７：情報処理装置３００のＷｅｂサービス）、変更部４１３は、要求データの宛先ＩＰアドレスを、情報処理装置２００のグローバルＩＰアドレスから情報処理装置３００のプライベートＩＰアドレスに変更する（ステップＳ３８）。
【００５３】
一方、ステップＳ３７で、要求データの宛先ポート番号で指定されたＷｅｂサービスが、情報処理装置２００で実行されると判断された場合には（ステップＳ３７：情報処理装置２００のＷｅｂサービス）、変更部４１３は、要求データの宛先ＩＰアドレスを、情報処理装置２００のグローバルＩＰアドレスのままで変更しない。
【００５４】
次に、通信制御部４１１は、要求データを、要求データの宛先ＩＰアドレスの宛先ポート番号のＷｅｂサービスに転送する（ステップＳ３９）。
【００５５】
要求データが情報処理装置２００のＷｅｂサービスに転送された場合には中継部４００による処理は終了する。一方、要求データが情報処理装置３００のＷｅｂサービスに転送された場合には、中継部４００の通信制御部４１１は、情報処理装置３００のＷｅｂサービスから応答データの受信待ち状態となる（ステップＳ４０、Ｓ４０：Ｎｏ）。
【００５６】
そして、通信制御部４１１は、情報処理装置３００のＷｅｂサービスから応答データを受信した場合には（ステップＳ４０：Ｙｅｓ）、変更部４１３は、応答データの送信元ＩＰアドレスに指定されている情報処理装置３００のプライベートＩＰアドレスを、情報処理装置２００のグローバルＩＰアドレスに変更する（ステップＳ４１）。そして、通信制御部４１１は、送信元ＩＰアドレスが変更された応答データを、宛先ＩＰアドレスで指定されたＰＣ５００にグローバルネットワーク１５０を介して送信する（ステップＳ４２）。
【００５７】
このように本実施の形態では、ＰＣ５００から受信した要求データの内容、すなわち、ポート番号だけでなくアプリデータも用いて、ポート番号で指定されたＷｅｂサービスが実行される送信先の情報処理装置２００、３００を判別して、要求データを判別された情報処理装置２００，３００のＷｅｂサービスに転送している。このため、本実施の形態によれば、単一の情報処理システム１００装置内に搭載されたプライベートネットワーク内の装置同士が同一のポート番号を使用したＷｅｂサービスを実行している場合でも、要求データを容易に振り分けることができる。
【００５８】
また、本実施の形態では、情報処理装置３００のＷｅｂサービスからの応答データの場合には、応答データの送信元アドレスを、情報処理装置３００のプライベートＩＰアドレスから、情報処理装置２００のグローバルＩＰアドレスに変更するので、応答データにプライベートＩＰアドレスが設定されたままになることを回避することができる。
【００５９】
本実施の形態の情報処理装置２００，３００は、ＣＰＵなどの制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００６０】
本実施形態の情報処理装置２００で実行される中継プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００６１】
また、本実施形態の情報処理装置２００で実行される中継プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の情報処理装置２００で実行される中継プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００６２】
また、本実施形態の情報処理装置２００で実行される中継プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００６３】
本実施形態の情報処理装置２００で実行される中継プログラムは、上述した各部（通信制御部４１１、判断部４１２、変更部４１３）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵが上記記憶媒体から中継プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、通信制御部４１１、判断部４１２、変更部４１３が主記憶装置上に生成されるようになっている。
【００６４】
上記実施の形態では、二つの情報処理装置２００と情報処理装置３００とからなる情報処理システム１００が単一のグローバルＩＰアドレスを割り当てられた例を説明したが、これに限定されるものではない。例えば、複数の装置からなるプリンタ装置に単一のグローバルＩＰアドレスが割り当てられた場合にも適用することができる。
【００６５】
図９は、複数の装置からなるプリンタ装置に単一のグローバルＩＰアドレスが割り当てられた場合のネットワーク構成を示す図である。本変形例では、プリンタ装置９００は、ＤＦＥ（Ｄｉｇｉｔａｌ  Ｆｒｏｎｔ  Ｅｎｄ）９１０とプリンタエンジン９２０とから構成され、ＤＦＥ９１０がインターネットやＬＡＮ等のグローバルネットワークでＰＣ５００と接続されている。このため、プリンタ装置９００は単一のグローバルＰアドレスが割り当てられている。
【００６６】
また、ＤＦＥ９１０とプリンタエンジン９２０とがプライベートネットワーク１６０で接続され、プリンタエンジン９２０にはプライベートＩＰアドレスが割り当てられている。
【００６７】
本変形例では、ＤＦＥ９１０が図１、２の情報処理装置２００と同様の機能を有し、プリンタエンジン９２０が図１、２の情報処理装置３００と同様の機能を有している。ここで、ＤＦＥ９１０は、ＰＣ５００から印刷対象データを受信し、印刷対象データに対してＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理を施して、ラスタデータを生成し、プリンタエンジン９２０に送出する。プリンタエンジン９２０は、ＤＦＥ９１０から受信したラスタデータを記録媒体に印刷するエンジンである。
【００６８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１００  情報処理システム
１５０  グローバルネットワーク
１６０  プライベートネットワーク
２００，３００  情報処理装置
２１０ａ，２１０ｂ，３１０ａ，３１０ｂ，３１０ｂ  Ｗｅｂサービス
４００  中継部
４１１  通信制御部
４１２  判断部
４１３  変更部
９００  プリンタ装置
９１０  ＤＦＥ
９２０  プリンタエンジン
【先行技術文献】
【特許文献】
【００７０】
【特許文献１】特開２０１０−１９９７３８号公報
【図１】
2014183323.tif 000003
【図２】
2014183323.tif 000004
【図３】
2014183323.tif 000005
【図４】
2014183323.tif 000006
【図５】
2014183323.tif 000007
【図６】
2014183323.tif 000008
【図７】
2014183323.tif 000009
【図８】
2014183323.tif 000010
【図９】
2014183323.tif 000011