(57)【特許請求の範囲】
【請求項１】
位置情報を提供する第１のネットワークと複数の街灯の制御を行う第２のネットワークを含む複数のネットワークのいずれかからパケットを受信する受信部と、
前記第１のネットワークから受信したパケットを処理するとともに、処理したパケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定する第１のデータ処理部と、
前記第２のネットワークに送信するデータを含むパケットを生成する第２のデータ処理部と、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブルと、
前記ルーティングテーブル中で前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、送信対象のパケットを送信する送信部と、
を備え、
前記第１のデータ処理部は、
前記第１のネットワークから受信したパケットを処理することによりユーザの位置を特定し、
前記ユーザから所定の範囲に位置する街灯を制御する装置を、前記第２のネットワーク中の装置から通信先として特定し、
前記通信先に前記通信先が制御する街灯の点灯を要求する制御情報を生成し、
前記第２のデータ処理部は、前記制御情報と前記通信先を指定する情報を取得して、前記通信先を宛先に指定し、かつ、前記制御情報を含む送信パケットを生成し、
前記送信部は、前記第２のネットワークで使用されるアプリケーションに対応付けられた転送経路を用いて、前記送信パケットを前記通信先に送信する
ことを特徴とする通信装置。
【請求項２】
前記複数のネットワークのいずれかに接続された複数のインタフェースを備え、
前記複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信部は、前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記複数のネットワークは、第１のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第２のプライベートネットワークを含み、
前記ルーティングテーブルは、第１のアプリケーションを識別する第１の識別情報に前記第１のプライベートネットワークを対応付けるとともに、第２のアプリケーションを識別する第２の識別情報に前記第２のプライベートネットワークを対応付け、
前記送信部は、前記ルーティングテーブルを参照することにより、前記第１の識別情報に対応付けられたデータを、前記第１のプライベートネットワークに送信し、前記第２の識別情報に対応付けられたデータを、前記第２のプライベートネットワークに送信する
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
位置情報を提供する第１のネットワークと複数の街灯の制御を行う第２のネットワークを含む複数のネットワークに接続された通信装置が、
前記第１のネットワークから受信したパケットを処理することによりユーザの位置を特定し、
前記ユーザから所定の範囲に位置する街灯を制御する装置を、前記第２のネットワーク中の装置から通信先として特定し、
前記通信先に前記通信先が制御する街灯の点灯を要求する制御情報を生成し、
前記制御情報と前記通信先を指定する情報を用いて、前記通信先を宛先に指定し、かつ、前記制御情報を含む送信パケットを生成し、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記第２のネットワークで使用されるアプリケーションに対応付けられた転送経路を用いて、前記送信パケットを前記通信先に送信する
処理を行うことを特徴とする通信方法。
【請求項５】
位置情報を提供する第１のネットワークと複数の街灯の制御を行う第２のネットワークを含む複数のネットワークに接続された通信装置に、
前記第１のネットワークから受信したパケットを処理することによりユーザの位置を特定し、
前記ユーザから所定の範囲に位置する街灯を制御する装置を、前記第２のネットワーク中の装置から通信先として特定し、
前記通信先に前記通信先が制御する街灯の点灯を要求する制御情報を生成し、
前記制御情報と前記通信先を指定する情報を用いて、前記通信先を宛先に指定し、かつ、前記制御情報を含む送信パケットを生成し、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記第２のネットワークで使用されるアプリケーションに対応付けられた転送経路を用いて、前記送信パケットを前記通信先に送信する
処理を行わせることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置と通信装置で行われる通信に関する。
【背景技術】
【０００２】
通信機器の小型化や無線技術の発展に伴い、通信機器を搭載した機械やセンサを含むネットワークを用いて情報収集が行われることが増えてきている。また、このようなネットワークでは、プライベートネットワークが使用されることが多い。プライベートネットワーク中の装置は、ゲートウェイにデータを送信し、ゲートウェイが適宜、データをサーバなどに通知する。ゲートウェイがプライベートネットワークに存在しないサーバと通信する場合、ゲートウェイとサーバとの間の通信を中継するルータなどによって、適宜、ネットワークアドレス変換（ＮＡＰＴ、Network Address Port Translation）が行われる。また、あるプライベートネットワークで得られたデータを別のプライベートネットワークで使用する場合には、異なるプライベートネットワーク中の装置間での通信が発生しうる。異なるプライベートネットワーク中の装置間での通信の際も、適宜、プライベートネットワーク同士を接続するルータによってネットワークアドレス変換が行われる。
【０００３】
関連する技術として、常時接続用ゲートウェイと一時接続用ゲートウェイ装置を記憶する経路指定テーブルを備える端末装置が考案されている（例えば、特許文献１など）。この端末装置と通信先の間の通信は常時接続用ゲートウェイを経由して行われるが、常時接続用ゲートウェイを介した経路が使用できない場合に一時接続用ゲートウェイ装置を用いた経路が使用される。さらに、送信側の情報処理装置が、送信側から宛先へのネットワーク上のルータの経由順を指定した経路指定情報を付してデータを送信するネットワーク通信システムも考案されている（例えば、特許文献２など）。また、各ノードがノードの物理的な位置情報とノード上で動作するアプリケーションの識別子を対応付けて記憶する分散システムが提案されている（例えば、特許文献３など）。この分散システムでは、第１のノード上で動作するアプリケーションが第２のノード上で動作するアプリケーションと通信する際に、アプリケーションの識別情報に基づいてノードの位置情報を抽出し、位置情報から通信手段を判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１５８６６５号公報
【特許文献２】特開２００５−４５５３５号公報
【特許文献３】国際公開第２０１１／０４５９１９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
あるプライベートネットワークで得られたデータを別のプライベートネットワークで使用する場合、異なるプライベートネットワーク中の装置間でのデータの受け渡しが発生する。この場合、ネットワークアドレス変換を利用した通信が行われることが多いが、ネットワークアドレス変換を用いても通信が困難なケースも存在する。例えば、送信元装置に割り当てられたプライベートＩＰアドレスと宛先装置に割り当てられたプライベートＩＰアドレスが一致すると、送信されたパケットは、ネットワークアドレス変換の対象とならずに、送信元の装置に戻ってしまう。一方、ネットワークアドレス変換を行わずに、経路中の中継装置を個別に設定することにより異なるプライベートネットワーク中の装置間での通信を行うことも困難である。
【０００６】
本発明は、１つの側面では、異なるプライベートネットワーク中の装置間でのデータの送受信を簡便にすることを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、通信装置は、受信部、データ処理部、ルーティングテーブル、送信部を備える。受信部は、複数のネットワークのいずれかからパケットを受信する。データ処理部は、前記パケットを処理するとともに、前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定する。ルーティングテーブルは、前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付ける。送信部は、前記データを含む送信パケットを生成すると共に、前記ルーティングテーブル中で前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する。
【発明の効果】
【０００８】
１つの側面として、異なるネットワーク中の装置間で簡便にデータの送受信を行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態にかかる通信方法の例を説明する図である。
【図２】通信装置の構成の例を説明する図である。
【図３】通信装置のハードウェア構成の例を説明する図である。
【図４】通信装置とネットワークの接続の例を説明する図である。
【図５】管理情報の例を示す図である。
【図６】通信装置でのパケットの受信処理の例を説明するフローチャートである。
【図７】入出力されるデータ中の情報要素の例を説明する図である。
【図８】ルーティングテーブルの例を示す図である。
【図９】通信装置でのパケットの送信処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施形態にかかる通信方法の例を説明する図である。図１のケースＣ１に示すように、ネットワークＮ１〜Ｎ３の別個のプライベートネットワークが形成されているとする。各ネットワークでのプライベートＩＰアドレスの割り当ては、他のネットワークでのアドレスの割り当てを考慮して行われていないため、同じプライベートＩＰアドレスが複数の装置に割り当てられることがある。例えば、ネットワークＮ１中の通信装置５ａ、ネットワークＮ２の通信装置５ｂ、および、ネットワークＮ３中の通信装置５ｃに同一のプライベートＩＰアドレスが割り当てられているとする。以下、通信装置５ａ〜５ｃに割り当てられたアドレスをＰＡと記載する。さらに、ネットワークＮ１〜Ｎ３のネットワークアドレスはいずれも同じ値（ＩＰｎｅｔ）であるとする。
【００１１】
次に、通信装置５ａで得られたデータを通信装置５ｂと通信装置５ｃに通知するために、図１のケースＣ２に示すように、ネットワークＮ１〜Ｎ３が通信装置１０に接続されたとする。ケースＣ２の例では、通信装置１０は、インタフェースＩＦ１〜ＩＦ３を有し、ネットワークＮ１にはインタフェースＩＦ１、ネットワークＮ２にはインタフェースＩＦ２、ネットワークＮ３にはインタフェースＩＦ３を介して接続されている。また、ネットワークＮ１で送受信されるパケットはアプリケーションＡ１、ネットワークＮ２で送受信されるパケットはアプリケーションＡ２、ネットワークＮ３で送受信されるパケットはアプリケーションＡ３で処理されるものとする。通信装置１０では、アプリケーションＡ１〜Ａ３が動作可能であり、アプリケーションＡ１〜Ａ３は、それぞれのアプリケーションが、処理対象のパケットに対して行う処理の情報を含んでいる。
【００１２】
通信装置１０は、通信装置５ａからインタフェースＩＦ１を介して、パケットＰ１を受信したとする。パケットＰ１の送信元アドレスは、通信装置５ａのプライベートＩＰアドレス（ＰＡ）である。通信装置１０は、パケットＰ１を、ネットワークＮ１で送受信されるパケットを処理するためのアプリケーションＡ１により処理する。ここで、パケットＰ１に対する処理は、パケットの終端であっても良く、また、パケットの終端とパケットのペイロードに格納されたデータに対する処理であっても良い。
【００１３】
通信装置１０は、パケットＰ１に対する処理によって得られたデータの中継先のネットワークで使用されるアプリケーションを特定する。パケットＰ１に対する処理によって得られたデータが通信装置５ｂ、５ｃに中継される場合、中継先のネットワークはネットワークＮ２、Ｎ３である。通信装置１０は、中継対象のデータを含む送信パケットを、中継先の各ネットワークに対応した形式で生成する。図１の例では、ネットワークＮ２宛てにパケットＰ２、ネットワークＮ３宛てにパケットＰ３が生成されている。また、パケットＰ２の宛先である通信装置５ｂとパケットＰ３の宛先である通信装置５ｃには、プライベートＩＰアドレスとしてＰＡが割り当てられているので、パケットＰ２、Ｐ３のいずれでも宛先アドレスはＰＡとなる。
【００１４】
通信装置１０は、接続先の各ネットワークへの転送処理に使用する通信経路とインタフェースを、テーブルＴ１に示すように、各ネットワークで送受信されるパケットの処理に使用するアプリケーションの識別情報に対応付けて記憶している。ここで、ネットワークＮ１〜Ｎ３のネットワークアドレスはいずれも同じ値であるので、経路情報だけでは、いずれのエントリの情報が転送処理に使用可能であるかは分からない。
【００１５】
通信装置１０は、パケットＰ２がアプリケーションＡ２で処理されるネットワークＮ２宛てのパケットであるため、アプリケーションＡ２の識別情報に対応付けられた経路情報を用いて、パケットＰ２をインタフェースＩＦ２から送信する。一方、パケットＰ３がアプリケーションＡ３で処理されるネットワークＮ３宛てのパケットであるため、通信装置１０は、アプリケーションＡ３の識別情報に対応付けられた経路情報を用いて、パケットＰ３をインタフェースＩＦ３から送信する。このため、パケットＰ２、Ｐ３のいずれの宛先アドレスもＰＡであり、ネットワークＮ２、Ｎ３のいずれのネットワークアドレスもＩＰｎｅｔであるにもかかわらず、通信装置１０は、パケットＰ２を通信装置５ｂ、パケットＰ３を通信装置５ｃに送信できる。
【００１６】
このように、プライベートアドレスが同じ複数のプライベートネットワークが通信装置１０に接続されると、通信装置１０は、各々のネットワーク中のパケットを処理するアプリケーションの情報と経路情報の組み合わせから、経路を決定する。このため、プライベートネットワーク間を、通信装置１０を介して接続することにより、ＮＡＰＴによってもデータを中継することが困難であったプライベートネットワーク間の装置の間のテータ中継が簡単になる。
【００１７】
さらに、通信装置１０は、プライベートアドレス中の通信装置５から受信したパケットを処理して、他のネットワークへのデータの中継を行うかも判定している。このため、各プライベートネットワーク中の通信装置５は、他のプライベートアドレス中の装置にデータを通知するかを判定しなくてもよいため、通信装置５中の装置の処理負荷も軽減される。
【００１８】
＜装置構成＞
図２は、通信装置１０の構成の例を説明する図である。通信装置１０は、インタフェース１１（１１ａ、１１ｂ）、通信処理部２０（２０ａ、２０ｂ）、ルーティングテーブル２５（２５ａ、２５ｂ）、データ処理部３０（３０ａ、３０ｂ）、記憶部４０を備える。なお、図２は一例であり、通信装置１０が備えるインタフェース１１、通信処理部２０、ルーティングテーブル２５、データ処理部３０の数は任意である。例えば、図１で説明したように、通信処理部２０、ルーティングテーブル２５、データ処理部３０は、それぞれ１つずつ通信装置１０に備えられていても良い。
【００１９】
図２以降は、視覚的に分かりやすくするために、インタフェース１１、通信処理部２０、ルーティングテーブル２５、データ処理部３０がそれぞれ２つ以上の同数である場合を例として図示する。また、対応付けられているアプリケーションごとに、末尾のアルファベットが同じ符号になるように番号が振られている。例えば、アプリケーションＡ１で処理されるパケットは、インタフェース１１ａ、通信処理部２０ａ、ルーティングテーブル２５ａ、データ処理部３０ａを用いて処理される。一方、アプリケーションＡ２で処理されるパケットは、インタフェース１１ｂ、通信処理部２０ｂ、ルーティングテーブル２５ｂ、データ処理部３０ｂを用いて処理される。
【００２０】
インタフェース１１は、通信装置１０と通信装置１０の接続先の装置との間でパケットの送受信を行う。通信処理部２０は、送信処理部２２と受信処理部２３を備える。送信処理部２２は、データ処理部３０から入力されたデータを含む送信パケットを生成する。さらに、送信処理部２２は、ルーティングテーブル２５を参照して、インタフェース１１を介したパケットの送信処理を行う。なお、図２のように、アプリケーションごとに通信処理部２０等が設けられている場合、ルーティングテーブル２５は、送信処理部２２が送信するパケットを処理するアプリケーションに対応付けられた情報が含まれている。例えば、ルーティングテーブル２５ａには、インタフェース１１ａの接続先のネットワークに関する経路情報が含まれており、ルーティングテーブル２５ｂには、インタフェース１１ｂの接続先のネットワークに関する経路情報が含まれている。
【００２１】
データ処理部３０は、パケットを終端し、適宜、パケットに含まれているデータを処理する。例えば、あるアプリケーションのプログラムを用いて実現されているデータ処理部３０は、そのアプリケーションによって、パケットから得られたデータを処理する。さらに、データ処理部３０は、アプリケーションのプログラム等での設定に応じて、他のプログラム等にデータの引き渡しや他のプログラムの呼び出しを行う。他のプログラムの呼び出しに使用するＡＰＩ（Application Programming Interface）なども、適宜、データ処理部３０で実現される。データ処理部３０は、他のプログラムへのデータの引き渡しの際に、引き渡し先のアプリケーションの識別情報とともに、データを記憶部４０に格納する。また、データ処理部３０は、データ処理部３０を実現しているアプリケーションの識別情報に対応付けられたデータを、記憶部４０から取得し、送信処理の対象のデータとして送信処理部２２に出力する。
【００２２】
図３は、通信装置１０のハードウェア構成の例を説明する図である。通信装置１０は、プロセッサ１０１、メモリ１０２、バス１０３、ネットワーク接続装置１０４を備える。なお、図３の例では、図を見やすくするために、プロセッサ１０１、メモリ１０２、ネットワーク接続装置１０４を１つずつ図示しているが、プロセッサ１０１、メモリ１０２、ネットワーク接続装置１０４の数は任意である。例えば、通信装置１０が接続するプライベートネットワークごとに異なるネットワーク接続装置１０４が使用される場合、通信装置１０は、通信装置１０が接続可能なプライベートネットワークと同数のネットワーク接続装置１０４を備える。
【００２３】
プロセッサ１０１は、ＣＰＵ（Central Processing Unit）を含む任意の処理回路である。プロセッサ１０１は、メモリ１０２をワーキングメモリとして使用して、プログラムを実行することにより、様々な処理を実行する。メモリ１０２には、ＲＡＭ（Random Access Memory）が含まれ、さらに、ＲＯＭ（Read Only Memory）等の不揮発性のメモリも含まれる。ＲＯＭには、プログラムが格納される。さらに、メモリ１０２は、適宜、ハードディスクなどの外部記憶装置を含んでも良い。バス１０３は、プロセッサ１０１、メモリ１０２、ネットワーク接続装置１０４を、互いにデータの入出力が可能になるように接続する。通信装置１０において、プロセッサ１０１は、データ処理部３０として動作する。メモリ１０２は、記憶部４０として動作する。また、メモリ１０２は、ルーティングテーブル２５やプロセッサ１０１の処理に用いられるデータ、プロセッサ１０１に読み込まれるプログラムなどを保持する。さらに、ネットワーク接続装置１０４は、インタフェース１１として動作する。通信処理部２０は、プロセッサ１０１とネットワーク接続装置１０４により実現され得る。
【００２４】
＜実施形態＞
図４は、通信装置１０とネットワークの接続の例を説明する図である。図４に示す通信装置１０は、ＰＡＮ（Personal Area Network）６０、ＦＡＮ（Field Area Network）７０、ゲートウェイ８０、キャリア網９０に接続されているとする。通信装置１０は、ゲートウェイ８０を介してインターネット８５と接続されている。ゲートウェイ８０は、通信装置１０がインターネット８５と通信する場合のデフォルトゲートウェイとして動作する。通信装置１０に接続されているキャリア網９０では、キャリア側から各ユーザにプライベートＩＰアドレスが割り当てられ、各ユーザの端末は、割り振られたプライベートＩＰアドレスを用いて通信するものとする。
【００２５】
図４では、送信処理部２２と受信処理部２３が、各アプリケーションの通信に使用されるソケット２１により実現される場合の例を示す。通信部１２は、インタフェース１１（１１ｃ〜１１ｆ）と通信処理部２０を有する。また、図４の例では、データ処理部３０の各々は、ベース終端部３１、ＡＰＩ３２、アプリケーション処理部３３を有する。ベース終端部３１は、入力されたパケットを終端し、得られたデータをアプリケーション処理部３３に出力する。アプリケーション処理部３３は、適宜、データを処理し、他のアプリケーションで処理されるデータをＡＰＩ３２に出力する。ＡＰＩ３２は、入力されたデータを、そのデータの受け渡し先となるアプリケーションの識別情報に対応付けて記憶部４０に出力する。
【００２６】
ここで、アプリケーションの識別情報は、データが送受信されるプライベートネットワークと、データを処理するアプリケーションの組み合わせごとに一意に特定される値である。例えば、ＰＡＮ６０で送受信されるデータとＦＡＮ７０で送受信されるデータの処理に同じ種類のプログラムが使用されたとする。この場合でも、ＰＡＮ６０で送受信されるデータを処理するアプリケーションと、ＦＡＮ７０で送受信されるデータを処理するアプリケーションとに割り当てられるアプリケーション識別情報は互いに異なる。管理部５０は、通信装置１０が接続されているネットワークと、データの処理に使用されるアプリケーションの関係を管理する。管理部５０は、適宜、ソケット２１ｃ〜２１ｆが使用する管理情報（図５）を生成する。
【００２７】
図４の例では、データ処理部３０ｃとソケット２１ｃは、ＰＡＮ６０から得られたデータの処理に使用するアプリケーション（アプリケーションａ１）に関する処理を行う。ベース終端部３１ｃは、ＰＡＮ６０からインタフェース１１ｃを介して受信したパケットを終端する。ＡＰＩ３２ｃは、アプリケーションａ１が他のアプリケーションへデータを引き渡す際の処理を行う。アプリケーション処理部３３ｃはアプリケーションａ１での処理を実現する。ソケット２１ｃは、適宜、ルーティングテーブル２５ｃを用いてパケットの送信処理を行う。
【００２８】
同様に、データ処理部３０ｄ、ソケット２１ｄ、ルーティングテーブル２５ｄ、インタフェース１１ｄは、ＦＡＮ７０との間で送受信するパケットの処理や、ＦＡＮ７０から得られたデータの処理に使用される。ＦＡＮ７０から得られたデータの処理には、アプリケーションａ２が使用されるとする。データ処理部３０ｅ、ソケット２１ｅ、ルーティングテーブル２５ｅ、インタフェース１１ｅは、ゲートウェイ８０を介して送受信するパケットの処理や、受信パケット中のデータの処理に使用される。ゲートウェイ８０を介して受信したパケット中のデータの処理には、アプリケーションｂ１が使用されるとする。データ処理部３０ｆ、ソケット２１ｆ、ルーティングテーブル２５ｆ、インタフェース１１ｆは、キャリア網９０を介して送受信するパケットの処理や、キャリア網９０を介して得られたデータの処理に使用される。キャリア網９０を介して受信したパケット中のデータの処理には、アプリケーションｂ２が使用されるとする。
【００２９】
なお、図４では、４つのネットワークに接続されているときの通信装置１０の動作を説明しやすくするため、インタフェース１１ｃ〜１１ｆが通信装置１０に備えられている場合を示すが、通信装置１０中のインタフェース１１の数は任意に変更され得る。
【００３０】
以下、通信装置１０を介してプライベートネットワーク間でデータが中継される様子を、プライベートネットワークからのデータの受信と、通信装置１０からのパケットの送信処理に分けて説明する。以下の例では、ＰＡＮ６０はＢＬＴ（Bluetooth（登録商標) Low Energy）を利用した位置特定サービスのネットワーク、ＦＡＮ７０が特定小電力無線を利用して街灯の点灯を制御するアドホックネットワークであるとする。ＰＡＮ６０には、通信装置６１ａ〜６１ｃが含まれており、ＦＡＮ７０には、通信装置７１ａ〜７１ｃが含まれている。ＦＡＮ７０の処理対象の街灯は、位置特定サービスで特定されたユーザの位置に応じて点灯されるとする。また、通信装置１０は、位置特定サービスにより位置が特定されるユーザＡの位置を、キャリア網９０中でプライベートＩＰアドレスが割り当てられたスマートフォンのユーザＢに通知するものとする。
【００３１】
図４の例では、ＰＡＮ６０、ＦＡＮ７０、キャリア網９０のいずれのネットワークアドレスも１９２．１６８．０．０に設定されているとする。さらに、通信装置１０とゲートウェイ８０の間の接続を含むネットワークのアドレスも、１９２．１６８．０．０であるとする。すなわち、図４の例では、通信装置１０が備えるインタフェース１１ｃ〜１１ｆのいずれが含まれているネットワークのアドレスも１９２．１６８．０．０であるが、インタフェース１１ｃ〜１１ｆは互いに異なるネットワークに属している。また、通信装置６１ａと通信装置７１ａのいずれにも、１９２．１６８．０．２がプライベートＩＰアドレスとして割り当てられているとする。同様に、通信装置６１ｂと通信装置７１ｂには１９２．１６８．０．３が割り当てられ、通信装置６１ｃと通信装置７１ｃには、１９２．１６８．０．４が割り当てられているとする。
【００３２】
ＰＡＮ６０では、通信装置６１ａがゲートウェイとして動作し、ＦＡＮ７０では、通信装置７１ａがゲートウェイとして動作するとする。通信装置６１ａと通信装置１０の間と、通信装置７１ａと通信装置１０の間は、それぞれ、Ｅｔｈｅｒｎｅｔ（登録商標）で接続されている。また、図４の例では、ゲートウェイ８０と通信装置１０の間もＥｔｈｅｒｎｅｔ（登録商標）で接続されている。インタフェース１１ｆは、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）やＵＳＢ（Universal Serial Bus）を介して接続された３Ｇモジュールなどであり、キャリア網９０中の装置との間での無線通信に使用される。
【００３３】
（１）プライベートネットワークからのデータの受信
ユーザＡが端末を携帯しながら移動したことにより、ユーザＡの端末が通信装置６１ｂの通信エリアに入ったとする。すると、ユーザＡの端末は、通信装置６１ｂに通知信号を送信する。通信装置６１ｂは、通知信号を受信すると、ユーザＡが通信装置６１ｂの周辺にいることを通知するための通知パケットを生成し、通知パケットを通信装置６１ａに送信する。通知パケットのフォーマットやＰＡＮ６０内での通信手順は、ＰＡＮによる任意の既知の通信が適用され得る。通信装置６１ａは、通信装置６１ｂの通信エリアにユーザＡが位置することを通知するための通知パケットを通信装置１０に送信する。このとき、通信装置６１ａと通信装置１０のインタフェース１１ｃの間の通信は、プライベートネットワークでの通信である。
【００３４】
インタフェース１１ｃは、受信したパケットをソケット２１ｃに出力する。ソケット２１ｃは、管理部５０で生成された管理情報を用いて、入力されたパケットを処理するデータ処理部３０を特定する。
【００３５】
図５は、管理情報の例を示す図である。管理情報は、物理インタフェースの識別番号、ポート番号、アプリケーション識別情報を対応付けている。ここで、物理インタフェースはインタフェース１１であり、管理情報中のポート番号は受信パケットの論理ポート番号である。以下、インタフェース１１ｃにはＩＦ１、インタフェース１１ｄにはＩＦ２、インタフェース１１ｅにはＩＦ３、インタフェース１１ｆにはＩＦ４の識別情報が割り当てられているとする。
【００３６】
各ソケット２１は、パケットの受信に使用したインタフェース１１と論理ポート番号の組み合わせを用いて、受信パケット中のデータを処理するアプリケーションを特定する。例えば、通信装置１０がインタフェース１１ｃを介して通信装置６１ａから受信したパケットの宛先ポート番号が８０番であるとする。この場合、ソケット２１ｃは、パケットの受信に使用した物理インタフェースの識別情報がＩＦ１で宛先ポート番号が８０であることから、受信パケット中のデータはアプリケーションａ１で処理されると判定する。アプリケーションａ１で処理されるパケットは、データ処理部３０ｃで処理される。そこで、ソケット２１ｃは、受信パケットをベース終端部３１ｃに出力する。ベース終端部３１ｃは、入力されたパケットを終端し、ペイロードの情報をアプリケーション処理部３３ｃに出力する。アプリケーション処理部３３ｃは、入力されたデータを処理する。
【００３７】
図６は、通信装置１０でのパケットの受信処理の例を説明するフローチャートである。通信装置１０は、インタフェース１１でパケットを受信する（ステップＳ１）。ソケット２１は、パケットを受信した物理インタフェースとパケット中の宛先ポート番号の組み合わせを取得する（ステップＳ２）。ソケット２１は、組み合わせに対応するアプリケーションを特定し、特定したアプリケーションでの処理の際に使用するベース終端部３１にパケットを出力する（ステップＳ３）。ベース終端部３１は、パケットを処理し、ペイロードをアプリケーション処理部３３に出力する（ステップＳ４）。
【００３８】
（２）通信装置１０からのパケットの送信処理
図４を参照しながら説明したパケットの受信処理の例では、アプリケーション処理部３３ｃは、通信装置６１ａから受信した通知パケット中のデータを処理することにより、ユーザＡが通信装置６１ｂの周辺に位置していることを特定する。アプリケーション処理部３３ｃは、ＦＡＮ７０で制御されている街灯の位置を表す情報を予め記憶しており、ＰＡＮ６０中の装置から通知されたユーザの位置情報に応じて、点灯させる街灯の位置を特定する。アプリケーション処理部３３ｃは、各街灯について、その街灯の制御に使用可能な通信装置７１の情報も保持している。アプリケーション処理部３３ｃは、これらの情報を用いて、ユーザＡの位置の近傍の所定範囲に位置する街灯を点灯させるための制御情報を送信する対象の通信装置７１を特定する。図４の例では、アプリケーション処理部３３ｃは、ユーザＡの近傍の街灯を点灯させるために、通信装置７１ｂを通信先に選択したとする。すると、アプリケーション処理部３３ｃは、通信装置７１ｂに送信するデータを生成する。
【００３９】
アプリケーション処理部３３ｃは、さらに、ＰＡＮ６０から位置情報が通知される可能性のあるユーザの情報と、位置情報を通知する他の装置の情報とを対応付けたテーブルや、位置情報の通知に使用される情報も保持しているとする。図４の例では、ＰＡＮ６０からユーザＡの位置情報が通知されると、ユーザＡの位置情報を、キャリア網９０中でユーザＢが使用するスマートフォン９１（図示せず）に通知することが特定されたとする。アプリケーション処理部３３ｃは、スマートフォン９１に送信するデータを生成する。
【００４０】
図７は、入出力されるデータ中の情報要素の例を説明する図である。図７のＤ１は、通信装置１０から送信される送信パケット中のペイロードであり、アプリケーション処理部３３が他の装置に中継する対象としているデータである。図４を参照しながら説明した例では、アプリケーション処理部３３ｃは、通信装置７１ｂ、スマートフォン９１の各々に向けて送信するパケットのデータを各装置へのペイロードとして生成している。
【００４１】
中継対象のデータが得られると、アプリケーション処理部３３ｃは、各データがいずれのアプリケーションで処理されるかを特定する。なお、アプリケーション処理部３３ｃは、予め、通信先の装置に応じて、データの中継先となるアプリケーション処理部３３を特定するための情報を保持している。例えば、各アプリケーション処理部３３は、データの中継先がＰＡＮ６０中の装置の場合はデータ処理部３０ｃ、データの中継先がＦＡＮ７０の場合はデータ処理部３０ｄが処理を行うことを認識している。同様に、各アプリケーション処理部３３は、データの中継先がインターネット８５中の装置の場合はデータ処理部３０ｅ、データの中継先がキャリア網９０の場合はデータ処理部３０ｆが処理を行うことも認識している。このような情報を用いて、アプリケーション処理部３３ｃは、通信装置７１ｂ向けのペイロードをアプリケーション処理部３３ｄに出力することを決定する。同様に、アプリケーション処理部３３ｃは、スマートフォン９１宛てのペイロードをアプリケーション処理部３３ｆに出力することを決定する。
【００４２】
各アプリケーション処理部３３は、通信装置１０で動作しているアプリケーション処理部３３で実行されているアプリケーションの識別情報を予め記憶しており、ペイロードと中継先のアプリケーションの識別情報を対応付けて、ＡＰＩ３２に出力する。なお、アプリケーション処理部３３は、ペイロードと中継先のアプリケーションの識別情報の組み合わせに、さらに、宛先のアドレスなどの情報も対応付けてＡＰＩ３２に出力する。
【００４３】
図７のＤ２は、アプリケーション処理部３３がＡＰＩ３２に出力するデータの例を図示している。例えば、アプリケーション処理部３３ｃは、スマートフォン９１宛てのペイロードをアプリケーション処理部３３ｆに出力することを決定する。ここで、アプリケーション処理部３３ｆで実行されているアプリケーションの識別情報がｂ２であるとする。すると、アプリケーション処理部３３ｃは、スマートフォン９１宛てのパケットのペイロードとアプリケーション識別情報＝ｂ２という情報を対応付けて、ＡＰＩ３２ｃに出力する。同様に、通信装置７１ｂ宛ての情報も処理される。例えば、アプリケーション処理部３３ｂで実行されるアプリケーションの識別情報がａ２であるとする。この場合、アプリケーション処理部３３ｃは、通信装置７１ｂ宛てのパケットのペイロードとアプリケーション識別情報＝ａ２という情報の組み合わせをＡＰＩ３２ｃに出力する。ＡＰＩ３２ｃは、ペイロードとアプリケーション識別情報の組み合わせが入力されると、入力された情報を記憶部４０に出力する。なお、通信装置６１ｂ宛てのデータやスマートフォン９１宛てのデータには、データの宛先アドレスなどの情報も対応付けられている。
【００４４】
ベース終端部３１ｃ〜３１ｆは、各々の処理対象のアプリケーションの識別情報に対応付けられたデータが記憶部４０に格納されているかを、定期的に確認する。各ベース終端部３１は、処理対象のアプリケーションの識別情報に対応付けられたデータが記憶部４０に格納されている場合、そのデータを取得して、送信パケットを生成する。例えば、ＡＰＩ３２ｃの処理により、通信装置７１ｂ、スマートフォン９１の各々に宛てたデータが、各データの処理に使用されるアプリケーションの識別子とともに記憶部４０に記憶されている。すると、ベース終端部３１ｄは、アプリケーション識別情報＝ａ２に対応付けられたデータと、宛先アドレスなどの情報を取得する。ベース終端部３１ｄは、取得したデータや宛先アドレスの情報を用いて、通信装置７１ｂ宛ての送信パケットを生成する。
【００４５】
図７のＰ１１は、ベース終端部３１ｄによって生成される送信パケットの例である。ベース終端部３１ｄは、記憶部４０から取得した情報から、アプリケーション識別情報を除去し、送信対象のデータ（ペイロード）に送信処理に使用されるヘッダを付加する。Ｐ１１の例では、ＩＰヘッダがペイロードに付加されている。ＩＰヘッダには、バージョン情報、ヘッダ長、サービスタイプ、全データ長、パケット識別子、フラグ、フラグメントオフセット、生存時間、プロトコル、チェックサム、送信元ＩＰアドレス、宛先ＩＰアドレス、オプションが含まれる。通信装置７１ｂ宛てのパケットの送信元アドレスは、ＦＡＮ７０との通信に使用されるインタフェース１１ｄに割り当てられたアドレスである。このため、通信装置７１ｂ宛てのパケットのアドレス情報は、以下の通りになる。
送信元ＩＰアドレス：１９２．１６８．０．１（インタフェース１１ｄ）
宛先ＩＰアドレス  ：１９２．１６８．０．３（通信装置７１ｂ）
【００４６】
ベース終端部３１ｆも同様に記憶部４０にアクセスすることにより、アプリケーション識別情報＝ｂ２に対応付けられたデータと、宛先アドレスなどの情報を取得する。ベース終端部３１ｄは、取得したデータや宛先アドレスの情報を用いて、スマートフォン９１宛ての送信パケットを生成する。スマートフォン９１に割り当てられたアドレスが１９２．１６８．０．３であるとする。すると、スマートフォン９１宛てのパケットのアドレス情報は以下の通りになる。
送信元ＩＰアドレス：１９２．１６８．０．１（インタフェース１１ｆ）
宛先ＩＰアドレス  ：１９２．１６８．０．３（スマートフォン９１）
【００４７】
以上の説明では、アプリケーション処理部３３が他のアプリケーションにデータを引き渡す場合の処理を説明したが、アプリケーション処理部３３が生成したデータが他のアプリケーションに出力されないこともある。例えば、アプリケーション処理部３３は、中継対象のデータが送信パケットと同じネットワークに宛てて中継される場合、中継対象のデータを他のアプリケーションに引き渡さずに処理することを決定する。この場合、アプリケーション処理部３３は、中継対象のデータをベース終端部３１に出力する。従って、ベース終端部３１は、図７のＤ１に示すように、ペイロードとなる情報を取得する。アプリケーション処理部３３からデータを取得したベース終端部３１は、図７のＰ１１と同様のフォーマットの送信パケットを生成する。
【００４８】
ベース終端部３１は、送信パケットを生成すると、生成した送信パケットをベース終端部３１と同じアプリケーションの処理を行うソケット２１に出力する。例えば、ベース終端部３１ｄは、通信装置７１ｂ宛てに生成した送信パケットを、ソケット２１ｄに出力する。ソケット２１ｄは、ルーティングテーブル２５ｄを参照する。
【００４９】
図８は、ルーティングテーブル２５の例を示す図である。図４に示すように各アプリケーションに応じて異なるルーティングテーブル２５が生成されるシステムでは、図８のルーティングテーブル２５ｃ〜２５ｆが生成されている。ルーティングテーブル２５ｃはＰＡＮ６０へのルーティングに使用されるテーブルであり、ルーティングテーブル２５ｄはＦＡＮ７０へのルーティングに使用されるテーブルである。同様に、ルーティングテーブル２５ｅはゲートウェイ８０を介してインターネット８５に送信されるパケットの送信処理に使用され、ルーティングテーブル２５ｆはキャリア網９０への送信処理に使用される。各ルーティングテーブルには、転送先のネットワークのネットワークアドレスを特定する情報と転送先の情報が含まれている。図４に示すように、通信装置１０に、ネットワークアドレスが同じ４つのネットワークが接続している場合、通信装置１０は、ルーティングテーブル２５ｃ〜２５ｆに示すように、同じネットワークアドレスを用いた転送情報を記録している。しかし、図８に示すように、個々のネットワークの転送情報には、そのネットワークで送受信されるパケットを処理するアプリケーションの識別情報が対応付けられている。このため、ソケット２１は、同じプライベートアドレスを用いている複数のネットワークを、アプリケーション識別情報で区別することができる。
【００５０】
図８では、理解しやすくするために、宛先ＩＰアドレスの欄にカッコ書きで、アプリケーション識別情報を用いて特定される宛先のプライベートネットワークを示す。また、インタフェースやゲートウェイについても同様に、アプリケーション識別情報を用いて特定される装置に割り振られた符号を、カッコ書きで示す。以下、アプリケーション識別子を用いた各ルーティングテーブル２５の解釈の具体例を説明する。
【００５１】
例えば、ルーティングテーブル２５ｄは、ＦＡＮ７０で送受信されるパケットの処理に使用されるアプリケーション（アプリケーション識別情報＝ａ２）に対応付けられた経路情報を含む。ルーティングテーブル２５ｄは、宛先ＩＰアドレスとネットマスクを用いて、ネットワークアドレスが１９２．１６８．０．０のネットワークへの経路の情報を示している。アプリケーション識別情報＝ａ２で識別されるアプリケーションでパケットが処理され、ネットワークアドレスが１９２．１６８．０．０であるネットワークは、ＦＡＮ７０である。このため、ルーティングテーブル２５ｄは、ＦＡＮ７０への転送経路を示している。ルーティングテーブル２５ｄにおいて、ネットワークアドレス＝１９２．１６８．０．０のネットワークに送信する際のインタフェースのアドレスは１９２．１６８．０．１であり、ゲートウェイのアドレスは１９２．１６８．０．２である。ここで、ルーティングテーブル２５ｄ中の情報は、アプリケーション識別情報＝ａ２に対応付けられていることから、ＦＡＮ７０との通信の際の情報である。このため、ルーティングテーブル２５ｄ中のインタフェース（１９２．１６８．０．１）はインタフェース１１ｄを指し、ルーティングテーブル２５ｄ中のゲートウェイ（１９２．１６８．０．２）は、通信装置７１ａを意味する。
【００５２】
同様に、ルーティングテーブル２５ｆは、キャリア網９０の情報を処理するアプリケーション（アプリケーション識別情報＝ｂ２）に対応付けられているので、宛先ＩＰアドレスの１９２．１６８．０．０はキャリア網９０を示す。また、ルーティングテーブル２５ｆでは、インタフェース（１９２．１６８．０．１）はインタフェース１１ｆを指し、ゲートウェイ（１９２．１６８．０．２）は、キャリア網９０中のゲートウェイ装置（図示せず）を意味する。
【００５３】
ルーティングテーブル２５ｅは、インターネット８５宛ての情報を処理するアプリケーション（アプリケーション識別情報＝ｂ１）に対応付けられているので、宛先ＩＰアドレスの１９２．１６８．０．０はゲートウェイ８０を含むネットワークを示す。また、ルーティングテーブル２５ｅでは、インタフェース（１９２．１６８．０．１）はインタフェース１１ｅを指し、ゲートウェイ（１９２．１６８．０．２）は、ゲートウェイ８０を意味する。
【００５４】
ルーティングテーブル２５ｃは、ＰＡＮ６０宛ての情報を処理するアプリケーション（アプリケーション識別情報＝ａ１）に対応付けられているので、宛先ＩＰアドレスの１９２．１６８．０．０はＰＡＮ６０を示す。また、ルーティングテーブル２５ｃでは、インタフェース（１９２．１６８．０．１）はインタフェース１１ｃを指し、ゲートウェイ（１９２．１６８．０．２）は、通信装置６１ａを意味する。
【００５５】
通信装置７１ｂ宛ての送信パケットを処理するソケット２１ｄは、ソケット２１ｄが処理するパケットを、アプリケーション識別情報＝ａ２で識別されるアプリケーションが処理することを予め認識しているので、ルーティングテーブル２５ｄを参照する。なお、ソケット２１ｄには、予め、ソケット２１ｄからの送信パケットの出力先はインタフェース１１ｄであることが記憶されていてもよい。ソケット２１ｄは、ルーティングテーブル２５ｄを参照することにより、送信パケットをインタフェース１１ｄに出力する。なお、送信パケットの転送先とアドレスの情報は以下のようになる。
送信元ＩＰアドレス：１９２．１６８．０．１（インタフェース１１ｄ）
宛先ＩＰアドレス  ：１９２．１６８．０．３（通信装置７１ｂ）
転送先            ：１９２．１６８．０．２（通信装置７１ａ）
【００５６】
通信装置１０からパケットを受信した通信装置７１ａは、パケットを通信装置７１ｂに転送する。ここで、通信装置７１ｂ宛てのパケットは、通信装置７１ｂが管理する街灯の点灯を要求する制御パケットである。このため、通信装置７１ｂは、受信パケットを処理することにより、通信装置７１ｂが管理する街灯を点灯する。従って、ユーザＡの位置の周辺の街灯が点灯される。
【００５７】
次に、スマートフォン９１宛てのパケットの転送処理について説明する。スマートフォン９１宛ての送信パケットを処理するソケット２１ｆは、ソケット２１ｆが処理するパケットを、アプリケーション識別情報＝ｂ２で識別されるアプリケーションが処理することを予め認識しているので、ルーティングテーブル２５ｆを参照する。ソケット２１ｆは、ルーティングテーブル２５ｆを参照することにより、送信パケットをインタフェース１１ｆに出力する。なお、送信パケットの転送先とアドレスの情報は以下のようになる。
送信元ＩＰアドレス：１９２．１６８．０．１（インタフェース１１ｆ）
宛先ＩＰアドレス  ：１９２．１６８．０．３（スマートフォン９１）
転送先：１９２．１６８．０．２（キャリア網９０中のゲートウェイ）
【００５８】
通信装置１０からパケットを受信したキャリア網９０中のゲートウェイは、パケットをスマートフォン９１に転送する。ここで、スマートフォン９１宛てのパケットは、ユーザＡの位置情報を通知する情報である。スマートフォン９１は、受信したパケット中の情報を適宜、画面に表示するなどの処理を行うことにより、スマートフォン９１を使用しているユーザＢに、ユーザＡの位置を通知する。
【００５９】
以上の説明では、アプリケーション処理部３３がデータをＡＰＩ３２に引き渡す場合を例として説明したが、実装によっては、ベース終端部３１がデータをＡＰＩ３２に出力してもよい。この場合、送信データは、いずれのネットワーク宛ての場合も、アプリケーションの識別情報との組み合わせとして、ベース終端部３１に出力される。図９では、一例として、送信データがベース終端部３１で振り分けられる場合の処理の例を図示する。
【００６０】
図９は、通信装置１０でのパケットの送信処理の例を説明するフローチャートである。ベース終端部３１は、送信対象のデータに対応付けられたアプリケーションの識別情報が、処理対象のネットワークに対応付けられたアプリケーションの識別情報であるかを判定する（ステップＳ１１）。データに対応付けられた識別情報がベース終端部３１自身の処理対象のネットワークに対応付けられたアプリケーションの識別情報ではない場合、ベース終端部３１はＡＰＩ３２にデータと識別情報を出力する（ステップＳ１１でＮｏ）。ＡＰＩ３２は、入力されたデータを、複数のネットワークへの転送データを記憶する領域（記憶部４０）に、アプリケーションの識別情報に対応付けて記憶する（ステップＳ１２）。アプリケーションの識別情報に対応付けられたベース終端部３１は、記憶部４０から送信対象のデータを取得する（ステップＳ１３）。ベース終端部３１は、アプリケーションの識別情報に対応付けられたネットワーク用のパケットを生成し、ソケット２１に出力する（ステップＳ１４）。ソケット２１は、アプリケーションの識別情報に対応付けられたルーティングテーブル２５に従って送信処理を行う（ステップＳ１５）。
【００６１】
一方、データに対応付けられた識別情報がベース終端部３１自身の処理対象のネットワークに対応付けられたアプリケーションの識別情報である場合、ステップＳ１４以降の処理が行われる（ステップＳ１１でＹｅｓ）。
【００６２】
このように、プライベートアドレスが同じ複数のプライベートネットワークが通信装置１０に接続されると、通信装置１０は、各々のネットワーク中のパケットを処理するアプリケーションの情報と経路情報の組み合わせから、経路を決定する。このため、ＮＡＰＴによってもデータを中継することが困難であったプライベートネットワーク間の装置の間のテータ中継が、通信装置１０を用いることにより簡単に行われる。
【００６３】
さらに、通信装置１０では、アプリケーション処理部３３での処理の内容は、通信装置１０に読み込ませるプログラムに応じて任意に変更され得る。以上の例では、アプリケーション処理部３３ｃは、受信したデータを用いた処理を行って、受信パケットのペイロード中のデータとは異なるデータを生成しているが、アプリケーション処理部３３ではデータの処理が行われなくてもよい。この場合、アプリケーション処理部３３は、受信データを他のネットワークの処理に使用されているアプリケーション宛ての送信データとして扱うことにより、データを他のアプリケーションに引き渡す。すると、プライベートネットワーク間でのデータの転送処理が行われることになる。
【００６４】
なお、通信装置１０のベンダは、通信装置１０を用いたネットワークのサービスを提供するオペレータがアプリケーション処理部３３での処理を自由に設計できるように、設計することもできる。この場合、オペレータは、ユーザに提供しようとするサービスに応じたプログラムを通信装置１０に読み込ませることにより、所望のサービスを提供するアプリケーション処理部３３を通信装置１０中のプロセッサ１０１により実現できる。
【００６５】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【００６６】
図５の例では、物理インタフェースの各々に対して１つのアプリケーションが登録されている場合を図示しているが、各物理インタフェースに複数のアプリケーションが対応付けられても良い。この場合、図８に示す各ネットワークのルーティングテーブル２５には、そのネットワークで送受信されるパケットの処理を行う可能性のある全てのアプリケーションの識別情報に対応付けられる。例えば、ＰＡＮ６０において送受信されるパケットが、アプリケーション識別情報＝ａ１のアプリケーションの他に、アプリケーション識別情報＝ａ５のアプリケーションにも処理されるとする。この場合、図８のルーティングテーブル２５ｃのアプリケーション識別情報の欄には、ａ１とａ５が対応付けられる。
【００６７】
図４で示したネットワークの例は一例であり、通信装置１０に接続される一部のネットワークではネットワークアドレスが異なっていてもよい。また、図５の管理情報や図８に示したルーティングテーブル２５などのテーブル中に含まれる情報要素は、実装に応じて変更され得る。
【００６８】
図２や図４を参照した説明では、アプリケーションの識別子ごとに異なる複数のルーティングテーブル２５が使用される場合を例としたが通信装置１０が保持するルーティングテーブル２５は１つであっても良い。通信装置１０が１つのルーティングテーブル２５を保持する場合、送信処理部２２は、ルーティングテーブル２５のうち、送信対象のパケットを処理するアプリケーションの識別情報に対応付けられている情報を検索対象とする。
【００６９】
なお、以上の説明では、通信装置１０は、プライベートネットワーク間のデータの中継処理を行う場合について説明したが、通信装置１０は、通信装置１０で生成したデータをプライベートネットワーク中の装置に送信しても良い。
【００７０】
上述の実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数のネットワークのいずれかからパケットを受信する受信部と、
前記パケットを処理するとともに、前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定するデータ処理部と、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブルと、
前記データを含む送信パケットを生成すると共に、前記ルーティングテーブル中で前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する送信部と、
を備えることを特徴とする通信装置。
（付記２）
前記複数のネットワークのいずれかに接続された複数のインタフェースを備え、
前記複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信部は、前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
ことを特徴とする付記１に記載の通信装置。
（付記３）
前記複数のネットワークは、第１のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第２のプライベートネットワークを含み、
前記ルーティングテーブルは、第１のアプリケーションを識別する第１の識別情報に前記第１のプライベートネットワークを対応付けるとともに、第２のアプリケーションを識別する第２の識別情報に前記第２のプライベートネットワークを対応付け、
前記送信部は、前記ルーティングテーブルを参照することにより、前記第１の識別情報に対応付けられたデータを、前記第１のプライベートネットワークに送信し、前記第２の識別情報に対応付けられたデータを、前記第２のプライベートネットワークに送信する
ことを特徴とする付記１または２に記載の通信装置。
（付記４）
複数のネットワークに接続された通信装置が、
前記複数のネットワークのいずれかからパケットを受信し、
前記パケットを処理し、
前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定し、
前記データを含む送信パケットを生成し、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する
処理を行うことを特徴とする通信方法。
（付記５）
前記複数のネットワークのいずれかに接続された複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
処理を前記通信装置が行うことを特徴とする付記４に記載の通信方法。
（付記６）
前記複数のネットワークは、第１のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第２のプライベートネットワークを含み、
前記ルーティングテーブルは、第１のアプリケーションを識別する第１の識別情報に前記第１のプライベートネットワークを対応付けるとともに、第２のアプリケーションを識別する第２の識別情報に前記第２のプライベートネットワークを対応付け、
前記ルーティングテーブルを参照することにより、前記第１の識別情報に対応付けられたデータを、前記第１のプライベートネットワークに送信し、前記第２の識別情報に対応付けられたデータを、前記第２のプライベートネットワークに送信する
処理を前記通信装置が行うことを特徴とする付記４または５に記載の通信方法。
（付記７）
複数のネットワークに接続された通信装置に、
前記複数のネットワークのいずれかからパケットを受信し、
前記パケットを処理し、
前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定し、
前記データを含む送信パケットを生成し、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する
処理を行わせることを特徴とする通信プログラム。
（付記８）
前記複数のネットワークのいずれかに接続された複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
処理を前記通信装置に行わせることを特徴とする付記７に記載の通信プログラム。
（付記９）
前記複数のネットワークは、第１のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第２のプライベートネットワークを含み、
前記ルーティングテーブルは、第１のアプリケーションを識別する第１の識別情報に前記第１のプライベートネットワークを対応付けるとともに、第２のアプリケーションを識別する第２の識別情報に前記第２のプライベートネットワークを対応付け、
前記ルーティングテーブルを参照することにより、前記第１の識別情報に対応付けられたデータを、前記第１のプライベートネットワークに送信し、前記第２の識別情報に対応付けられたデータを、前記第２のプライベートネットワークに送信する
処理を前記通信装置に行わせることを特徴とする付記７または８に記載の通信プログラム。
【符号の説明】
【００７１】
５、６１、７１  通信装置
１０  通信装置
１１  インタフェース
１２  通信部
２０  通信処理部
２１  ソケット
２２  送信処理部
２３  受信処理部
２５  ルーティングテーブル
３０  データ処理部
３１  ベース終端部
３２  ＡＰＩ
３３  アプリケーション処理部
４０  記憶部
５０  管理部
８０  ゲートウェイ
８５  インターネット
９０  キャリア網
１０１  プロセッサ
１０２  メモリ
１０３  バス
１０４  ネットワーク接続装置
【図１】
0006540283.tif 000002
【図２】
0006540283.tif 000003
【図３】
0006540283.tif 000004
【図４】
0006540283.tif 000005
【図５】
0006540283.tif 000006
【図６】
0006540283.tif 000007
【図７】
0006540283.tif 000008
【図８】
0006540283.tif 000009
【図９】
0006540283.tif 000010