JP2011077922A - 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム - Google Patents

通信システム、通信制御装置、通信制御方法、及び通信制御プログラム Download PDF

Info

Publication number
JP2011077922A
JP2011077922A JP2009228522A JP2009228522A JP2011077922A JP 2011077922 A JP2011077922 A JP 2011077922A JP 2009228522 A JP2009228522 A JP 2009228522A JP 2009228522 A JP2009228522 A JP 2009228522A JP 2011077922 A JP2011077922 A JP 2011077922A
Authority
JP
Japan
Prior art keywords
nat
address
type
communication
communication control
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.)
Granted
Application number
JP2009228522A
Other languages
English (en)
Other versions
JP5273002B2 (ja
Inventor
Kiyoshi Matsushita
誉志 松下
Yasuhiro Kudo
康博 工藤
Makoto Nishida
誠 西田
Hirokazu Sato
弘和 佐藤
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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009228522A priority Critical patent/JP5273002B2/ja
Priority to US12/886,772 priority patent/US8606931B2/en
Publication of JP2011077922A publication Critical patent/JP2011077922A/ja
Application granted granted Critical
Publication of JP5273002B2 publication Critical patent/JP5273002B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]

Abstract

【課題】NAT装置の種別の情報を管理することによって、端末装置間で迅速に通信を行うことができる通信システム、通信制御装置、通信制御方法、通信制御プログラムを提供する。
【解決手段】通信制御装置は、NAT装置のNAT種別とIPアドレスとを対応付けてNATテーブルに記憶している。通信制御装置では、NAT装置を介して接続する端末装置から、NAT装置のNAT種別の取得を要求する種別要求パケットを受信した場合、パケットの送信元IPアドレスと一致するIPアドレスがNATテーブルに存在するかが判断される(S43)。一致するIPアドレスが存在する場合であって(S43:YES)、該当するNAT種別が利用可能な状態である場合には(S63:YES)、一致するとされたIPアドレスに対応付けられているNAT種別が選択され、端末装置に対して送信される(S67)。
【選択図】図8

Description

本発明は通信システム、通信制御装置、通信制御方法、通信制御プログラムに関する。より詳細には、NAT装置配下の端末装置間での通信が可能となる通信システム、通信制御装置、通信制御方法、及び通信制御プログラムに関する。
NAT(Network Address Translation)機能を備えた装置(NATルータなど。以下「NAT装置」という。)では、インターネット側からLAN側に向かう方向のパケットを受信した場合、NAT装置に記憶されているポート番号宛てのパケットのみLAN側に転送し、その他のポート番号宛てのパケットはブロックする。従って、異なるNAT装置の配下にある他の端末装置同士でP2P(Peer to Peer)通信を行う場合、端末装置は、NAT装置に記憶されているポート番号を特定し、特定したポート番号宛てにパケットを送信する必要がある。ポート番号を特定する方法として、例えば特許文献1に記載の通信システムのように、NAT装置に記憶されたポート番号をサーバが管理し、端末装置がポート番号をサーバ装置から取得することによって、ポート番号を特定する方法がある。
NAT装置に記憶されるポート番号は、NAT装置の種別(Cone Nat、Symmetric NATなど)毎に異なる規則に基づいて更新される可能性がある。端末装置同士がP2P通信を行うためには、更新後のポート番号が特定される必要がある。端末装置は、NAT装置の種別毎に適切な通信手順(UDP Hole Punching、UDP Multi Hole Punching等)を選択して実行することで、更新後のポート番号を特定できる。
特開2006−108899号公報
しかしながら特許文献1に記載の通信システムでは、サーバ装置はNAT装置の種別の情報を管理していないので、端末装置は、通信相手の端末装置に接続するNAT装置の種別を認識することができない。このため端末装置は、適切な通信手段を選択することができない。従って、更新後のポート番号を迅速に特定することができず、P2P通信の開始までに時間を要してしまうという問題があった。
本発明の目的は、NAT装置の種別の情報を管理することによって、端末装置間で迅速に通信を開始することができる通信システム、通信制御装置、通信制御方法、及び通信制御プログラムを提供することを目的とする。
本発明の第一態様に係る通信システムは、NAT(Network Address Translation)機能を備え、外部ネットワークに接続するNAT装置と、前記NAT装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムであって、前記通信制御装置は、前記NAT装置のグローバルIPアドレスであるNATアドレスと、前記NAT装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、前記端末装置を配下とする前記NAT装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段とを備え、前記端末装置は、前記種別要求信号を前記通信制御装置に対して送信する第二送信手段と、前記第二送信手段において送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信手段と、前記第二受信手段によって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記NAT装置とは異なる前記NAT装置の配下にある他の前記端末装置と通信を行う通信制御手段とを備えている。
第一態様に係る通信システムでは、端末装置は、自身を配下とするNAT装置の種別情報を通信制御装置から取得するので、迅速に種別情報を特定できる。端末装置は、短時間で他の端末装置とのP2P通信を開始させることができる。種別情報を特定する所定通信であって、NAT装置を介して通信制御装置との間で行われる所定通信が不要となるので、通信制御装置に処理負荷をかけることなく、端末装置は種別情報を特定できる。またネットワークのトラフィックの増大を抑制できる。
また、第一態様において、前記通信制御装置は、前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていないと判断された場合には、前記種別要求信号を送信した前記端末装置を配下とする前記NAT装置の前記種別情報の特定を要求する信号である特定要求信号を、前記種別要求信号を送信した前記端末装置に対して送信する第三送信手段と、前記第三送信手段によって送信された前記特定要求信号に対して前記端末装置から送信される前記種別情報を受信する第三受信手段と、前記第三受信手段によって受信された前記種別情報の送信元IPアドレスをNATアドレスとし、受信された前記種別情報に対応付けて前記第一記憶手段に記憶する第一記憶制御手段とを備え、前記端末装置は、前記通信制御装置から送信される前記特定要求信号を受信する第四受信手段と、前記第四受信手段において前記特定要求信号を受信した場合に、自身を配下とするNAT装置の前記種別情報を特定する第一特定手段と、前記第一特定手段によって前記種別情報が特定された場合に、特定された前記種別情報を前記通信制御装置に送信する第四送信手段とを備えていてもよい。端末装置が種別情報を判別して通信制御装置に通知することで、通信制御装置は種別情報を記憶することができる。通信制御装置が直接種別情報を特定しなくて済むので、通信制御装置の処理負荷を軽減できる。種別情報はIPアドレスに対応付けて記憶されるので、種別要求信号の送信元IPアドレスに基づいて種別情報を容易に検索できる。
また、第一態様において、前記第一特定手段は、自身を配下とする前記NAT装置と通信を行うことによって取得した前記種別情報を種別情報として特定してもよい。NAT装置から直接種別情報を取得するので、種別情報を容易且つ確実に特定できる。種別情報を特定するまでに要する時間を短縮できる。
また、第一態様において、前記第一特定手段は、前記外部ネットワークに接続された第一管理装置と前記NAT装置を介して通信を行うことによって、前記種別情報を特定してもよい。これによって、NAT装置から種別情報を直接取得できない場合であっても、NAT装置を介して第一管理装置と通信を行うことによって、NAT装置の種別情報を特定できる。
また、第一態様において、前記通信制御装置は、対応付けて記憶された前記NATアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記NATアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、前記第一送信手段は、前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されている場合であり、且つ、一致するとされた前記NATアドレスに、利用可能であることを示す前記利用可否情報が対応付けられている場合に、前記種別情報を送信してもよい。これによって通信制御装置は、NAT装置の設定(IPアドレスなど)が変更される可能性がある場合に、種別情報を利用不可に設定できる。設定変更後の情報に基づいて種別情報が特定されてしまい、誤った種別情報が端末装置に送信されてしまうことを防止できる。
また、第一態様において、前記通信制御装置は、対応付けて記憶された前記NATアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記NATアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、前記第三送信手段は、前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていないと判断された場合、又は、一致するとされた前記NATアドレスに、利用できないことを示す前記利用可否情報が対応付けられている場合に、前記特定要求信号を送信してもよい。これによって通信制御装置は、種別情報が利用できない状態である場合に、端末装置に種別情報を特定させることができる。通信制御装置は、最新の種別情報を記憶することができる。端末装置は、通信制御装置から通知された最新の種別情報に基づいて、他の端末装置とのP2P通信を開始させることができる。端末装置間で確実に通信を実行させることができる。
また、第一態様において、前記通信制御装置は、前記外部ネットワークに接続し、前記端末装置の前記通信制御手段によって実行される前記端末装置間の通信状態を記憶する第二管理装置から、前記通信状態を取得する取得手段と、前記取得手段によって取得された前記通信状態に基づいて、前記第一記憶手段に記憶されている前記利用可否情報を更新する第一更新処理であって、前記端末装置間の通信が継続中であると判断された場合に、前記第一記憶手段に記憶されている前記NATアドレスのうち、通信状態にある前記端末装置を配下とする前記NAT装置の前記NATアドレスに対応付けられた前記利用可否情報を利用可能とし、前記端末装置間の通信が終了したと判断された場合に、通信が終了した前記端末装置を配下とする前記NAT装置の前記NATアドレスに対応付けられた前記利用可否情報を利用不可とする第一更新手段とを備えていてもよい。端末装置間で通信が継続されている場合には、NAT装置の設定(IPアドレスなど)が変更される可能性が低いので、種別情報を利用可能な状態とする。一方、端末装置間の通信が終了した場合、NAT装置の設定が変更される可能性が高いので、種別情報を利用不可能な状態とする。このように、端末装置間の通信状態に応じてNAT装置の設定変更の有無を容易に判断することができる。設定変更後の情報に基づいて種別情報が特定されてしまうことを確実に防止できる。
また、第一態様において、前記通信制御装置は、前記第一記憶制御手段において、同一の前記NAT装置の配下にある前記端末装置を識別するための識別情報を、前記NATアドレスと前記種別情報とに対応づけて前記第一記憶手段に記憶し、前記第三受信手段において前記種別情報を受信した場合に、受信した前記種別情報に対応付けられた前記識別情報を、前記種別情報を送信した前記端末装置に対して送信する第五送信手段をさらに備え、前記端末装置は、前記通信制御装置から送信される前記識別情報を受信する第五受信手段と、前記第五受信手段において受信された前記識別情報を第二記憶手段に記憶する第二記憶制御手段とを備えていてもよい。これによって通信制御装置は、同一のNAT装置の配下にある端末装置を識別情報によって把握することができる。識別情報を検索キーとして用いることによって、種別情報を容易に検索することができる。端末装置の設定情報(IPアドレスなど)が変更された場合であっても、識別情報を検索キーとして種別情報を検索できる。
また、第一態様において、前記端末装置は、前記識別情報が前記第二記憶手段に記憶されている場合には、前記第二送信手段は、前記種別要求信号と前記識別情報とを前記通信制御装置に対して送信し、前記通信制御装置は、前記第一受信手段において、前記種別要求信号と前記識別情報とを受信し、前記第一送信手段は、前記第一受信手段において受信した前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と一致する識別情報が、前記送信元IPアドレスと一致する前記NATアドレスに対応付けて第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレス及び前記識別情報に対応付けられている前記種別情報を、前記種別要求信号と前記識別情報とを送信した前記端末装置に対して送信してもよい。これによって通信制御装置は、識別情報とIPアドレスとが一致した場合に、種別情報を端末装置に対して通知するので、種別情報を正確に特定することができる。端末装置では、通信制御装置から通知された種別情報に基づいて、他の端末とのP2P通信を確実に実行することができる。
また、第一態様において、前記通信制御装置は、前記第二受信手段において受信した前記種別要求信号の前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元IPアドレスと一致する前記NATアドレスに対応付けられた前記識別情報とが異なると判断された場合に、該当する前記NATアドレス及び前記識別情報を削除する第二更新手段と、前記種別要求信号と前記識別情報とを送信した前記端末装置に対して前記特定要求信号を送信する第六送信手段とを備えていてもよい。識別情報が相違する場合、NAT装置のIPアドレスが変更されている可能性が高い。このような場合に通信制御装置は、新たに種別情報を取得して第一記憶手段に記憶するために、端末装置に対して特定要求信号を送信する。通信制御装置は、第一記憶手段に記憶する情報を最新の状態に保持できる。端末装置は、通信制御装置に記憶された最新の情報に基づいて他の端末装置との間でP2P通信を行うことができる。端末装置は、より確実に他の端末装置との間で通信を行うことができる。
また、第一態様において、前記通信制御装置は、前記第二受信手段において受信した前記種別要求信号の前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元IPアドレスと一致する前記NATアドレスに対応付けられた前記識別情報とが一致すると判断された場合に、前記第一記憶手段に記憶されている前記識別情報のうち、受信した前記識別情報に対応づけられている前記利用可否情報を利用可能とする第三更新手段を備えていてもよい。IPアドレスと識別情報とが一致する場合、端末装置の設定情報(IPアドレス)が変更されている可能性が低い。このような場合には、第一記憶手段に記憶されている情報が利用可能とされる。これによって通信制御装置は、端末装置に対する種別情報の特定要求の回数を抑制できる。端末装置では、種別情報の取得工程を経ることなく種別情報を取得できるので、迅速に他の端末装置との通信を開始できる。また端末装置では、種別情報を特定するための処理を行わずに済むので、処理負荷が軽減される。種別情報を特定する為の通信回数が抑制されるので、ネットワークのトラフィックの増大を抑制できる。
また、第一態様において、前記通信制御装置は、特定の前記NAT装置である第一NAT装置の配下にある一の前記端末装置である第一端末と他の前記端末装置である第二端末との間の経路に、他の前記NAT装置である第二NAT装置が介在するかを特定するために、前記第一端末と前記第二端末との間で通信を行うように指示する通信指示信号を、前記第一端末及び前記第二端末に対して送信する第七送信手段と、前記第七送信手段において送信された前記通信指示信号に応じ、前記第一端末及び前記第二端末から送信される通信結果信号を受信する第六受信手段と、前記第六受信手段において受信された前記通信結果信号に基づいて、前記第二NAT装置が介在するかを解析する解析手段と、前記解析手段において、前記第二NAT装置が介在していると判断された場合に、前記第一端末及び前記第二端末のうち少なくとも一方に対して前記特定要求信号を送信する第八送信手段と、前記第八送信手段において送信された前記特定要求信号に応じて前記端末装置から返信される前記種別情報を受信する第七受信手段とを備え、前記第一記憶制御手段は、前記第七受信手段において受信された前記種別情報を、所定の識別情報である第一識別情報に対応付けて前記第一記憶手段に記憶してもよい。同一NAT装置の配下にある端末装置間に他のNAT装置が介在している場合、通信制御装置と端末装置との間に複数のNAT装置が介在していることになる。この場合には、再度端末装置に対して種別情報を送信するように要求される。複数のNAT装置が通信制御装置との間に介在している状態(多段状態)であっても、通信制御装置は正確な種別情報を登録できる。端末装置は、多段状態下であっても、正確な種別情報を取得できるので、他の端末装置と確実にP2P通信を行うことができる。
また、第一態様において、前記通信制御装置では、前記第一端末から受信した前記種別情報と前記第一識別情報とが対応付けられて前記第一記憶手段に記憶されている場合において、前記第七受信手段において前記第二端末から前記種別情報を受信した場合、前記第一記憶手段に記憶されている前記種別情報と、受信した前記種別情報とを比較する比較手段と、前記比較手段において前記種別情報が相違すると判断された場合に、受信した前記種別情報を、前記第一識別情報とは異なる第二識別情報に対応付けて前記第一記憶手段に記憶する第三記憶制御手段とを備えていてもよい。同一NAT装置の配下にある複数の端末装置において特定される種別情報が異なる場合、多段状態下にある端末装置にて特定される種別情報が新たな識別子キーに対応付けて登録される。多段状態である場合であっても、識別子キーを検索キーとして種別情報を検索できる。多段状態下にある端末装置は、短い時間で種別情報を取得できるので、P2P通信を迅速に開始させることができる。
本発明の第二態様に係る通信制御装置は、NAT(Network Address Translation)機能を備え、配下に端末装置を備えたNAT装置と、外部ネットワークを介して接続する通信制御装置であって、前記NAT装置のグローバルIPアドレスであるNATアドレスと、前記NAT装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、前記端末装置を配下とする前記NAT装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段とを備えている。
第二態様係る通信制御装置では、端末装置に対して種別情報を通知するので、短い時間で端末装置間のP2P通信を開始させることができる。種別情報を特定する所定通信であって、NAT装置を介して通信制御装置との間で行われる所定通信が不要となるので、ネットワークのトラフィックの増大を抑制できる。
本発明の第三態様に係る通信制御方法は、NAT(Network Address Translation)機能を備え、外部ネットワークに接続するNAT装置と、前記NAT装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムにおいて、前記端末装置間で通信を行う通信制御方法であって、前記通信制御装置において、前記端末装置を配下とする前記NAT装置を識別する識別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信ステップと、前記通信制御装置において、前記第一受信ステップによって前記種別要求信号を受信した場合において、前記NAT装置のグローバルIPアドレスであるNATアドレスと、前記NAT装置の前記種別情報とが対応付けて記憶された第一記憶手段を参照し、前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されているか判断する第一判断ステップと、前記通信制御装置において、前記第一判断ステップによって前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信ステップと、前記端末装置において、前記種別要求信号を前記通信制御装置に対して送信する第二送信ステップと、前記端末装置において、前記第二送信ステップによって送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信ステップと、前記端末装置において、前記第二受信ステップによって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記NAT装置とは異なる前記NAT装置の配下にある他の前記端末装置と通信を行う通信制御ステップとを備えている。
第三態様に係る通信制御方法では、端末装置は、自身を配下とするNAT装置の種別情報を通信制御装置から取得するので、迅速に種別情報を特定できる。端末装置は、短時間で他の端末装置とのP2P通信を開始させることができる。種別情報を特定するための所定通信であって、NAT装置を介して通信制御装置との間で行われる所定通信が不要となるので、通信制御装置に処理負荷をかけることなく、端末装置は種別情報を特定できる。またネットワークのトラフィックの増大を抑制できる。
本発明の第四態様に係る通信制御プログラムは、通信制御装置の各処理手段としてコンピュータを駆動させる。これによって第四態様に係る通信制御プログラムは、上述の通信制御装置を駆動させることができる。
通信システム1の概要を示す模式図である。 通信制御装置14の電気的構成を示すブロック図である。 NATテーブル2411を示す模式図である。 NAT装置3の電気的構成を示すブロック図である。 端末装置6の電気的構成を示すブロック図である。 通信制御処理を示すフローチャートである。 登録処理を示すフローチャートである。 種別応答処理を示すフローチャートである。 種別応答処理を示すフローチャートである。 第一多段処理を示すフローチャートである。 第二多段処理を示すフローチャートである。 更新処理を示すフローチャートである。 多段状態下にある端末間の通信を示す図である。 多段状態下にない端末間の通信を示す図である。 多段状態下にある端末間の通信を示す図である。 多段状態下にある端末間の通信を示す図である。 端末装置処理を示すフローチャートである。 端末装置処理を示すフローチャートである。 登録時判別処理を示すフローチャートである。 常時判別処理を示すフローチャートである。
以下、本発明に係る通信システム1について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている端末の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
図1を参照し、通信システム1の概要について説明する。通信システム1は、通信制御装置14、通信管理装置15、NAT装置3〜5、及び端末装置6〜9を少なくとも備えている。通信制御装置14、通信管理装置15、及びNAT装置3,4は、インターネット10に接続している。NAT装置5は、NAT装置4の配下のLAN12に接続している。端末装置6,7は、NAT装置3の配下のLAN11に接続している。端末装置8は、NAT装置4の配下のLAN12に接続している。端末装置9は、NAT装置5の配下のLAN13に接続している。
通信制御装置14は、端末装置6〜9間でのP2P(Peer to Peer)通信を可能とするために必要な情報を、端末装置6〜9に提供する。通信制御装置14としては、例えば呼制御サーバやSTUNサーバが使用できる。通信管理装置15は、端末装置6〜9において実行されているP2P通信の通信状態を記憶している。通信管理装置15としては、例えば、端末装置6〜9間でテレビ会議が行われている場合において、端末装置6〜9の通信状態を認識できるテレビ会議管理サーバが使用できる。
端末装置6〜9は、通信制御装置14から取得される情報に基づいて、他の端末装置との間でP2P通信を行うことができる。端末装置6〜9としては、例えばPC(パーソナルコンピュータ)が使用できる。NAT装置3〜5は、NAT(Network Address Translation)機能を備えた装置である。NAT装置3〜5としては、例えばNATルータが使用できる。
端末装置6〜9間でP2P通信を行う際、送受信されるパケットがNAT装置3〜5においてブロックされてしまう場合がある。NAT装置3〜5は、インターネット10側(NAT装置5の場合、LAN12側)からパケットを受信した場合、所定のパケットのみLAN11,12側(NAT装置5の場合、LAN13側)に転送し、それ以外のパケットは転送しないためである。
P2P通信の実行に際し、端末装置6〜9では、NAT装置3〜5の転送規則の種別であるNAT種別(Cone NAT、Symmetric NATなど)が取得される。P2P通信を開始するために必要な通信確立方法が、NAT種別ごとに特定される。通信確立方法としては、例えばUDP Hole PunchingやUDP Multi Hole Punchingが使用できる。端末装置6〜9は、NAT種別と通信確立方法とが対応付けられているリストを記憶しており、このリストを参照することによって、通信確立方法を特定できる。しかしながら例えば、他の制御機器(通信制御装置14や通信管理装置15等を含む)に問い合わせることによって、取得されたNAT種別に対応する通信確立方法を特定してもよい。特定された方法に基づいて通信が行われる。その後、端末装置6〜9間でP2P通信が可能となる。
本実施の形態では、NAT装置3〜5のNAT種別を通信制御装置14が管理する。端末装置6〜9は、P2P通信を開始する場合に、通信制御装置14と通信を行うことによってNAT種別を取得する。端末装置6〜9は、取得したNAT種別に基づき通信確立方法を決定して通信を行い、その後P2P通信を行う。NAT種別を迅速に取得することが可能となるので、端末装置6〜9はP2P通信を迅速に開始させることができる。
なお、図1におけるインターネット10が、本発明の「外部ネットワーク」に相当する。外部ネットワークとしてインターネット10の他に従来周知の様々なネットワーク(LAN、WAN、専用回線など)が使用できる。なお本発明は図1のシステム形態に限定されない。例えば図1におけるLAN11〜13は、インターネットやWAN、専用回線であってもよい。通信制御装置14と端末装置6〜9の間の経路途中には、3つ以上のNAT装置が介在していてもよい。
図2を参照し、通信制御装置14の電気的構成について説明する。通信制御装置14は、CPU21、ROM22、RAM23、HDD24を備えている。CPU21は、NAT装置3〜5や端末装置6〜9との通信を制御する。ROM22には、Bootプログラムや初期設定パラメータが少なくとも記憶される。RAM23には、CPU21の処理時に発生する一時的なデータが少なくとも記憶される。HDD24には、NATテーブル記憶領域241、プログラム記憶領域242、及びその他の情報記憶領域243を少なくとも備えている。NATテーブル記憶領域241には、NAT装置3〜5のNAT種別の情報が格納されたNATテーブルが記憶される。プログラム記憶領域242には、CPU21のプログラムが記憶される。CPU21は、ROM22、RAM23、及びHDD24と電気的に接続している。CPU21は、ROM22、RAM23、及びHDD24の記憶領域にアクセスできる。
通信制御装置14は、入力ドライバ25を備えている。入力ドライバ25は、キーボード251を介して入力された情報を検出する。CPU21は、入力ドライバ25と電気的に接続している。入力ドライバ25は、キーボード251と電気的に接続する。CPU21は、キーボード251を介して入力された情報を認識できる。通信制御装置14は、表示ドライバ26を備えている。表示ドライバ26は、ディスプレイ261に像を表示させるための制御を行う。CPU21は、表示ドライバ26と電気的に接続している。表示ドライバ26は、ディスプレイ261と電気的に接続する。CPU21は、ディスプレイ261に所望の像を表示させることができる。
通信制御装置14は、通信モジュール27を備えている。通信モジュール27は、インターネット10を介した通信を可能とする。CPU21は、通信モジュール27と電気的に接続している。CPU21は、インターネット10を介して通信を行うことができる。通信制御装置14は、ディスクドライブ28を備えている。ディスクドライブ28は、記憶媒体281に記憶された情報にアクセスする為の駆動装置である。CPU21は、ディスクドライブ28と電気的に接続している。CPU21は、ディスクドライブ28に記憶媒体281が挿入された状態で、記憶媒体281に記憶された情報にアクセスできる。記憶媒体281には、例えば、CPU21が実行するプログラムが記憶される。通信制御装置14の導入時には、プログラムが記憶媒体281からHDD24のプログラム記憶領域242にセットアップされる。
図3を参照し、HDD24に記憶されるNATテーブルの一例であるNATテーブル2411について説明する。NATテーブル2411には、通信システム1内にあるNAT装置3〜5のID、NAT種別、NAT装置3、4におけるインターネット10側(NAT装置5におけるLAN12側)に設定されたグローバルIPアドレス(「GIP」という。)及びグローバルポート番号(「GPort」という。)、NAT装置3、4におけるLAN11,12側(NAT装置5におけるLAN13側)に設定されたポート番号(「LPort」という。)が格納される。また、同一のNAT装置の配下にある端末装置を識別する識別情報(「識別子キー」という。)が格納される。また、テーブル内の情報の利用の可否を示す情報(「利用可否情報」という。)が格納される。
図3に示す例では、IDが「4」であるNAT装置に関する情報が記憶されている。このNAT装置は、図1におけるNAT装置4に該当する。NAT種別は「FC NAT」(Full Cone NAT)である。GIPは「G4」である。GPortは「GP4」である。LIPは「L4」である。LPortは「LP4」である。識別子キーは「AAAA」である。利用可能であることを示す情報(図3中「利用可能」)が利用可否情報として格納されている。
図4を参照し、NAT装置3の電気的構成について説明する。NAT装置4,5の電気的構成は、NAT装置3と同一である。NAT装置3は、CPU31、ROM32、RAM33、フラッシュメモリ34を備えている。CPU31は、通信制御装置14、通信管理装置15、及び端末装置6〜9との通信を制御する。ROM32には、CPU31のプログラムが少なくとも記憶される。RAM33には、CPU31の処理時に発生する一時的なデータが少なくとも記憶される。フラッシュメモリ34には、ポート番号が履歴情報として記憶される。CPU31は、ROM32、RAM33、及びフラッシュメモリ34と電気的に接続している。CPU31は、ROM32、RAM33、及びフラッシュメモリ34の記憶領域にアクセスできる。
NAT装置3は、表示部35を備えている。表示部35は、NAT装置3の状態等を表示することができる。CPU31は、表示部35と電気的に接続している。CPU31は、表示部35に所望の情報を表示させることができる。表示部35としては、例えばLEDが使用できる。NAT装置3は、入力部36を備えている。入力部36は、ユーザによるNAT装置3への入力操作を受け付ける。CPU31は、入力部36と電気的に接続している。CPU31は、入力部36を介して入力された情報を認識できる。入力部36としては、例えばスイッチやタッチセンサが使用できる。
NAT装置3は、通信モジュール37を備えている。通信モジュール37は、インターネット10(NAT装置5の場合、LAN12)を介した通信を可能とする。CPU31は、通信モジュール37と電気的に接続している。CPU31は、インターネット10やLAN12を介して通信を行うことができる。NAT装置3は、通信モジュール38を備えている。通信モジュール38は、LAN11、12(NAT装置5の場合、LAN13)を介した通信を可能とする。CPU31は、通信モジュール38と電気的に接続している。CPU31は、LAN11〜13を介して通信を行うことができる。
図5を参照し、端末装置6の電気的構成について説明する。端末装置7〜9の電気的構成は、端末装置6と同一である。端末装置6〜9は、CPU61、ROM62、RAM63、HDD64を備えている。CPU61は、NAT装置3〜5、通信制御装置14、及び通信管理装置15との通信を制御する。ROM62には、Bootプログラムや初期パラメータが少なくとも記憶される。RAM63は、CPU61の処理時に発生する一時的なデータが少なくとも記憶される。HDD64は、CPU61のプログラムが少なくとも記憶される。CPU61は、ROM62、RAM63、及びHDD64と電気的に接続している。CPU61は、ROM62、RAM63、及びHDD64の記憶領域にアクセスできる。
端末装置6〜9は、入力ドライバ65を備えている。入力ドライバ65は、キーボード651を介して入力された情報を検出する。CPU61は、入力ドライバ65と電気的に接続している。入力ドライバ65は、キーボード651と電気的に接続する。CPU61は、キーボード651を介して入力された情報を認識できる。端末装置6〜9は、表示ドライバ66を備えている。表示ドライバ66は、ディスプレイ661に像を表示させるための制御を行う。CPU61は、表示ドライバ66と電気的に接続している。表示ドライバ66は、ディスプレイ661と電気的に接続する。CPU61は、ディスプレイ661に所望の像を表示させることができる。
端末装置6〜9は、通信モジュール67を備えている。通信モジュール67は、LAN11〜13を介した通信を可能とする。CPU61は、通信モジュール67と電気的に接続している。CPU61は、LAN11〜13を介して通信を行うことができる。端末装置6〜9は、ディスクドライブ68を備えている。ディスクドライブ68は、記憶媒体681に記憶された情報にアクセスする為の駆動装置である。CPU61は、ディスクドライブ68と電気的に接続している。CPU61は、ディスクドライブ68に記憶媒体681が挿入された状態で、記憶媒体681に記憶された情報にアクセスできる。記憶媒体681には、例えば、CPU61が実行するプログラムが記憶される。端末装置6〜9の導入時には、プログラムが記憶媒体681からHDD64にセットアップされる。
図6〜12を参照し、通信制御装置14のCPU21において実行される通信制御処理及び更新処理について説明する。通信制御処理及び更新処理は、通信制御装置14の電源が投入された場合において、CPU21によって起動され実行される。なおこれらの処理は、OSが所定の周期で順次切り替えながら実行される。
図6〜11を参照し、通信制御処理について説明する。通信制御処理では、端末装置6〜9から送信される各種パケット(登録要求パケット、種別要求パケット、及び多段結果パケット)を受信し、受信したパケットの種類に基づいて各種処理が実行される。
以下、上述のパケットを送信した端末装置6〜9を「送信元端末」という。送信元端末から送信されたパケットがNAT装置3〜5を経由して通信制御装置14に到達する場合において、通信制御装置14に対して直接パケットを転送するNAT装置(図1の例では、NAT装置3又はNAT装置4:後述するGIPが設定されているNAT装置)を、以下「送信元NAT装置」という。
通信制御処理が起動されると、はじめに、NAT種別の登録を要求する登録要求パケットを、送信元端末から受信したかが判断される(S11)。なお登録要求パケットは、後述するS135(図17参照)やS155(図18参照)の処理によって、送信元端末から送信される。登録要求パケットを受信した場合(S11:YES)、受信したパケットのデータ部に含まれているNAT種別をNATテーブルに登録する為の処理(登録処理)が実行される(S13)。登録処理の終了後、S11に戻り、処理が繰り返される。
図7を参照し、登録処理について説明する。登録処理では、S11(図6参照)の処理において受信された登録要求パケットのデータ部に含まれているNAT種別が抽出され、NATテーブルに格納される(S81)。S11(図6参照)の処理において受信された登録要求パケットのヘッダ部から、送信元IPアドレス及び送信元ポート番号(登録要求パケットを転送した送信元NAT装置におけるインターネット10側のIPアドレス及びポート番号に相当)が抽出される。また、登録要求パケットのデータ部から、送信元NAT装置のID、中継された端末装置の端末IPアドレス及び端末ポート番号が抽出される。抽出された送信元IPアドレス、送信元ポート番号、ID、端末IPアドレス、及び端末ポート番号は、其々、GIP、GPort、ID、LIP、及びLPortとしてNATテーブルに格納される。利用可否情報として、利用可能であることを示す情報がNATテーブルに格納される。
次いで、任意の識別子キーを生成し、上述の処理によって格納された情報に対応付けて、NATテーブルに格納される(S83)。生成された識別子キーをデータ部に含むパケットであるキー通知パケットが、送信元端末に対して送信される(S85)。そして登録処理を終了し、通信制御処理(図6参照)に戻る。なお、詳細は図12のS123でも説明するが、識別子キーは、たとえば、同一のNAT装置を経由する送信元端末を識別可能なキーである。
図6に示すように、NAT種別の送信を要求する種別要求パケットを、送信元端末から受信したかが判断される(S11:NO→S15)。なお種別要求パケットは、後述するS125(図17参照)の処理によって、送信元端末から送信される。種別要求パケットを受信した場合(S15:YES)、HDD24に記憶されているNATテーブルからNAT種別を検索し、送信元端末にNAT種別を返信する処理(種別応答処理)が実行される(S17)。種別応答処理の後、S11に戻り、処理が繰り返される。
図8及び図9を参照し、種別応答処理について説明する。種別応答処理では、はじめに、種別要求パケットのデータ部に識別子キーが含まれているかが判断される(S31)。なお識別子キーは、端末装置6〜9が送信した登録要求パケットに応じ、図7に示したS85において通信制御装置14から端末装置6〜9に通知される構成である。端末装置6〜9では、識別子キーを通信制御装置14から通知済みである場合、図17のS125の処理によって、識別子キーを含む種別要求パケットが通信制御装置14に対して送信される。登録要求パケットに識別子キーが含まれているかを判断することによって、過去に同一のNAT装置を介して登録要求パケットを受信しているかが判断できる。
種別要求パケットに識別子キーが含まれている場合(S31:YES)、次いで、種別要求パケットのヘッダに含まれている送信元IPアドレスが抽出される。送信元IPアドレスは、種別要求パケットを直接自身に対して送信した送信元NAT装置のGIPに相当する。送信元NAT装置のGIPと同一のIPアドレスが、NATテーブルにGIPとして格納されているかが判断される(S43)。送信元NAT装置のGIPと同一のIPアドレスが、NATテーブルにGIPとして格納されている場合(S43:YES)、過去に送信元NAT装置を経由して送信元端末から登録要求パケットを受信したことがあるということになる。この場合S61の処理に進む。
S61の処理では、S43の処理において、種別要求パケットのヘッダから抽出された送信元IPアドレスと同一であると判断されたGIPに対応付けられている識別子キーが、受信した種別要求パケットのデータ部に格納されている識別子キーと同一であるかが判断される(S61)。同一であると判断されたGIPに対応付けられている識別子キーと、種別要求パケットのデータ部に格納されている識別子キーとが同一である場合(S61:YES)、同一と判断されたGIP及び識別子キーに対応付けられている利用可否情報が利用可能となっているかが判断される(S63)。同一と判断されたGIP及び識別子キーに対応付けられている利用可否情報が利用不可となっている場合(S63:NO)、利用可能であることを示す情報が利用可否情報としてNATテーブルに格納される(S65)。そしてS67の処理に進む。一方、同一と判断されたGIP及び識別子キーに対応付けられている利用可否情報が利用可能となっている場合(S63:YES)、そのままS67の処理に進む。
S67の処理では、同一とされたGIP及び識別子キーに対応付けられているNAT種別を含む種別応答パケットが、送信元端末に対して送信される(S67)。そして種別応答処理を終了し、通信制御処理(図6)に戻る。
このように本実施の形態では、受信した種別要求パケットのヘッダ部に含まれている送信元IPアドレス及び、データ部に含まれている識別子キーが、NATテーブルのGIP及び識別子キーと一致した場合、送信元端末に対してNAT種別が通知される。送信元端末では、通知されたNAT種別に基づいて、他の端末装置との間でP2P通信を行うことが可能となる。
一方、S15(図6参照)の処理において受信された種別要求パケットのデータ部に含まれている識別子キーが、NATテーブルのうち対象としている識別子キーと異なる場合(S61:NO)、送信元NAT装置のGIPと同一のIPアドレスが、送信元NAT装置とは異なるNAT装置に対して設定された可能性がある。NATテーブルに記憶されている情報のうち、対象としている情報が削除される(S69)。これによって、古くなった情報がNATテーブルから削除される。
NAT種別の判別を要求する判別要求パケットが、送信元端末に対して送信される(S71)。端末装置は、後述するS135(図17参照)の処理によって、判別要求パケットに応じてNAT種別をデータ部に含む登録要求パケットを返信する。通信制御装置14では、登録要求パケットを受信し、NAT種別を登録することによって、最新のNAT種別をNATテーブルに登録することが可能となる(図7参照)。そして種別応答処理を終了し、通信制御処理(図6参照)に戻る。
一方、S15(図6参照)の処理において受信された種別要求パケットのデータ部に識別子キーが含まれているが(S31:YES)、送信元NAT装置のGIPと同一のIPアドレスが、NATテーブルにGIPとして格納されていない場合(S43:NO)、送信元NAT装置のGIPの設定が変更された可能性がある。そこで次に、S15(図6参照)の処理において受信された種別要求パケットのデータ部に格納されている識別子キーと同一の識別子キーが、NATテーブルに格納されているかが判断される(S45)。種別要求パケットのデータ部に格納されている識別子キーと同一の識別子キーが、NATテーブルに記憶されていない場合(S45:NO)、NAT種別をNATテーブルから検索することができない。この場合、新たにNAT種別を登録するために、判別要求パケットが送信元端末に対して送信される(S55)。そして通信制御処理(図6参照)に戻る。
種別応答パケットのヘッダ部に含まれている識別子キーと同一の識別子キーが、NATテーブルに記憶されている場合(S45:YES)、識別子キーを参照することによって、NATテーブルに基づいてNAT種別を特定することができる。NATテーブルのうち、種別応答パケットのデータ部に格納されている識別子キーに対応付けられている利用可否情報が参照される(S47)。NATテーブルの利用可否情報が利用可能となっている場合(S47:YES)、利用可能な状態であるにもかかわらず送信元NAT装置のGIPが変更されたということになる。この場合、最新のNAT種別を送信元端末から取得してNATテーブルに登録するために、判別要求パケットが送信元端末に対して送信される(S49)。そして通信制御処理(図6参照)に戻る。
一方、NATテーブルの利用可否情報が利用不可となっている場合(S47:NO)、S15(図6参照)の処理において受信された種別要求パケットのヘッダ部に含まれている送信元IPアドレスが、NATテーブルのうち種別応答パケットのデータ部に格納されている識別子キーに対応付けられ、GIPとして格納される。また、利用可能であることを示す情報が利用可否情報として格納される(S51)。次いで、NATテーブルのうち種別応答パケットのデータ部に格納されている識別子キーに対応付けられているNAT種別をデータ部に含む種別応答パケットが、送信元端末に対して送信される(S53)。そして通信制御処理(図6)に戻る。
このように本実施の形態では、受信した種別要求パケットのデータ部に格納されている識別子キーが、NATテーブルの識別子キーと一致した場合、通信制御装置14は、送信元端末に対してNAT種別を通知することができる。これによって端末装置は、NAT装置のIPアドレスが変更された場合であっても、即座にNAT種別を取得して他の端末装置との間でP2P通信を開始することが可能となる。
一方、S15(図6参照)の処理において受信された種別要求パケットのデータ部に識別子キーが含まれていない場合(S31:NO)、過去に送信元端末から登録要求パケットを受信していないことになる。この場合、図9に示すように、種別要求パケットのヘッダ部に含まれている送信元IPアドレス(送信元NAT装置のGIP)と一致するGIPが、NATテーブル中に存在するかが判断される(S33)。送信元NAT装置のGIPと一致するGIPが、NATテーブル中に存在しない場合(S33:NO)、NAT種別をNATテーブルから検索することができない。新たにNAT種別を登録するために、判別要求パケットが送信元端末に対して送信される(S41)。そして種別応答処理を終了し、通信制御処理(図6参照)に戻る。
送信元NAT装置のGIPと一致するGIPがNATテーブル中に存在する場合(S33:YES)、通信制御装置14と端末装置との間に、送信元NAT装置以外のNAT装置が介在した状態である可能性がある(以下、このような状態を「多段状態」という。)。図13を参照し、多段状態下において種別要求パケットが転送される様子について説明する。端末装置8が既に通信制御装置14に対して登録要求パケットを送信しており、識別子キーを取得しているものとする。一方、端末装置9は通信制御装置に対して登録要求パケットを送信しておらず、識別子キーを取得していないものとする。
端末装置8から通信制御装置14に対して種別要求パケットが送信される(41)。送信された種別要求パケットのデータ部には、識別子キーが含まれている。なお、図中「G8」は、種別要求パケットのヘッダ部に格納されている送信元IPアドレスを示している。また「(有)」は、種別要求パケットのデータ部に識別子キーが含まれていることを示している。送信された種別要求パケットのヘッダ部に格納されている送信元IPアドレスが、NAT装置4において変換される(G8→G4)。送信元IPアドレスが変換された後の種別要求パケットが、NAT装置4において転送される(42)。通信制御装置14において、NAT装置4を介して転送された種別要求パケットが受信される(46)。
一方、端末装置9から通信制御装置14に対して種別要求パケットが送信される(43)。なお図中「(無)」は、識別要求パケットのデータ部に識別子キーが含まれていないことを示している。送信された種別要求パケットのデータ部には、識別子キーが含まれていない。送信された種別要求パケットのヘッダ部に格納されている送信元IPアドレスが、NAT装置5において変換され(G9→G5)、転送される(44)。さらにNAT装置4において送信元IPアドレスが変換され(G5→G4)、転送される(45)。通信制御装置14において、NAT装置4を介して転送された種別要求パケットが受信される(46)。
通信制御装置14では、事前に端末装置8から登録要求パケットを受信しており、NATテーブルに情報が登録されている(例えば図3参照)。この状態で、通信制御装置14が端末装置9から種別要求パケットを受信した場合、種別要求パケットのデータ部に識別子キーは含まれていないが(S31:NO(図7))、種別要求パケットのヘッダ部に格納されている送信元IPアドレスと同一のGIP(G4)が、NATテーブルに格納されていることになる(S33:YES(図7参照))。通信制御装置14では、このような場合に、端末装置9がNAT装置5を介してNAT装置4と接続している(多段状態下にある)と判断する。
図9に示すように、送信元端末が多段状態下にある可能性があると判断された場合(S33:YES)、S15(図6参照)の処理において受信された種別要求パケットのヘッダ部に格納されている送信元IPアドレスと同一とされたGIPに対応付けられている利用可否情報が参照される(S35)。利用可否情報が利用可能となっている場合(S35:YES)、同一NAT装置の配下にある他の端末装置(以下「相手端末」という。)との通信を要求する多段判別要求パケットが、送信元端末に対して送信される。同時に、相手端末に対して、多段判別要求パケットが送信される(S37)。例えば図13に示す例では、NAT装置4の配下にある端末装置8と端末装置9との両方に対して、多段判別要求パケットが送信されることになる。
通信制御装置14では、S37の処理によって送信された多段判別要求パケットに対する応答パケット(多段結果パケット)に含まれている情報に基づいて、後述する図6のS21において、送信元端末が多段状態下にあるかが判断される。そして種別応答処理を終了し、通信制御処理(図6参照)に戻る。
一方、利用可否情報が利用不可となっている場合(S35:NO)、最新のNAT種別を送信元端末から取得してNATテーブルに登録するために、判別要求パケットが送信元端末に対して送信される(S39)。そして通信制御処理(図6参照)に戻る。
図6に示すように、通信制御処理では、送信元端末及び相手端末から多段結果パケットを受信したかが判断される(S15:NO→S19)。送信元端末及び相手端末では、後述する図19のS177、及び図20のS189の処理において、通信制御装置14に対して多段結果パケットが送信される。送信元端末及び相手端末から送信された多段結果パケットを受信した場合(S19:YES)、多段結果パケットのデータ部に含まれている情報に基づいて、送信元端末に情報を返信する処理(第一多段処理)が実行される(S21)。
図10を参照し、第一多段処理について説明する。第一多段処理では、図6のS19の処理によって受信された多段結果パケットに含まれている情報が参照される。多段結果パケットのデータ部には、多段判別要求パケットを受信した端末装置間で行われた通信の結果情報(通信結果情報)が含まれている(図19、図20参照)。受信した多段結果パケットのデータ部に含まれている通信結果情報が、RAM33に記憶される。次いで、通信結果情報を総合的に解析することによって、送信元端末及び相手端末が多段状態下にあるかが解析される(S91)。例えば以下のようにして解析される。
例えば図14に示すように、NAT装置3の配下にある端末装置6,7間で通信が行われた場合を想定する。この場合、端末装置6と端末装置7との間にNAT装置が介在しない。従って、端末装置6から端末装置7に対してパケットAが送信された場合、パケットAは端末装置7に到達する(51)。同様に、端末装置7から端末装置6に対してパケットBが送信された場合、パケットBは端末装置6に到達する(52)。端末装置6は、パケットBを受信した旨を通信結果情報として多段結果パケットに付加し、通信制御装置14に送信する。同様に端末装置7は、パケットAを受信した旨を通信結果情報として多段結果パケットに付加し、通信制御装置14に送信する。通信制御装置14では、端末装置6及び7から受信された通信結果情報を解析することによって、端末装置6及び端末装置7が多段状態下にないと特定できる。
また例えば図15に示すように、NAT装置4の配下にある端末装置8,9間で通信が行われた場合を想定する。この場合、端末装置8と端末装置9との間にはNAT装置5が介在している。従って端末装置9から端末装置8に対してパケットCが送信された場合、パケットCは端末装置8に到達する(53)。これに対し、端末装置8から端末装置9に対してパケットDが送信された場合、パケットDはNAT装置5によってブロックされるので、端末装置9に到達しない(54)。端末装置8は、パケットCを受信した旨を通信結果情報として多段結果パケットに付加し、通信制御装置14に送信する。同様に端末装置9は、パケットDを受信できなかった旨を通信結果情報として多段結果パケットに付加し、通信制御装置14に送信する。通信制御装置14では、これらの情報を解析することによって、端末装置8は多段状態下になく、端末装置9は多段状態下にあると特定できる。
また例えば図16に示すように、NAT装置4と端末装置8との間にNAT装置16が挿入された状態で、端末装置8,9同士で通信が行われたことを想定する。この場合、端末装置9から端末装置8に対してパケットEが送信された場合、パケットEは端末装置8に到達しない(55)。同様に、端末装置8から端末装置9に対してパケットFが送信された場合、パケットFは端末装置9に到達しない(56)。端末装置8は、パケットEを受信できなかった旨を通信結果情報として多段結果パケットに付加し、通信制御装置14に送信する。同様に端末装置9は、パケットFを受信できなかった旨を通信結果情報として多段結果パケットに付加し、通信制御装置14に送信する。通信制御装置14では、これらの情報を解析することによって、端末装置8,9のいずれも多段状態下にあると特定できる。
図10に示すように、解析の結果、送信元端末及び相手端末が多段状態下にないと判断された場合(S93:NO)、多段結果パケットのヘッダ部に格納されている送信元IPアドレス(送信元NAT装置のGIP)が抽出される。NATテーブルのうち、抽出された送信元NAT装置のGIPと同一のGIPに対応付けられている識別子キーとNAT種別とが選択される。選択された識別子キー及びNAT種別をデータ部に含む種別応答パケットが、送信元端末に対して送信される(S97)。そして種別応答処理を終了し、通信制御処理(図6参照)に戻る。
一方、S93の処理による解析の結果、送信元端末及び相手端末のうち少なくとも一方が多段状態下にあると判断された場合(S93:YES)、NATテーブルに記憶されているNAT種別と、端末装置において判別されるNAT種別とが相違する可能性がある。端末装置は、自身と通信制御装置14との間の経路上に介在するNAT装置のNAT種別のうち最も転送制限の厳しいNAT種別を判別し、通信制御装置14に対して送信するためである(詳細後述)。この場合、多段状態下でのNAT種別を正確に認識するために、多段状態下にあるとされた側の端末装置に対して判別要求パケットが送信される(S95)。そして第一多段処理を終了し、通信制御処理(図6参照)に戻る。なお、判別要求パケットを受信した端末装置では、後述するS155(図18参照)の処理において、登録要求パケットが送信される。端末装置から送信された登録要求パケットは、後述する第二多段処理(図11参照)において処理される。
例えば図13に示す例のうち、NAT装置4のNAT種別がFull Cone NATであり、NAT装置5のNAT種別がSymmetric NATである場合を想定する。端末装置8において判別された結果のNAT種別はFull Cone NATとなるので、NATテーブルにはFull Cone NATが登録される。一方、多段状態下にある端末装置9において判別されるNAT種別は、Full Cone NATよりも転送制限の大きいSymmetric NATとなる。本実施の形態では、端末装置9において判別されるNAT種別をNATテーブルに追加して登録することによって、多段状態下にある端末装置が正確にNAT種別を認識できるようにしている。
図6に示すように、通信制御処理では、S21の処理によって多段状態の判断がされた後、送信元端末から登録要求パケットを受信したかが判断される(S19:NO→S23)。登録要求パケットは、後述するS155(図18)及びS135(図17)の処理によって、多段状態下にある端末装置から送信される。登録要求パケットのデータ部には、送信元端末において判別されたNAT種別が含まれている。多段状態下にある端末装置から登録要求パケットを受信した場合(S23:YES)、登録要求パケットのデータ部に含まれているNAT種別をNATテーブルに格納する処理(第二多段処理)が実行される(S25)。
図11を参照し、第二多段処理について説明する。第二多段処理では、はじめに、S23(図6参照)の処理によって受信された登録要求パケットのヘッダ部に格納されている送信元IPアドレス(送信元NAT装置のGIP)が抽出される。NATテーブルに格納されているNAT種別のうち、抽出された送信元NAT装置のGIPと同一のGIPに対応付けられているNAT種別が選択される。このNAT種別は、同一NAT装置の配下にある他の端末装置によって登録されたNAT種別ということになる。
選択されたNAT種別と、受信した登録要求パケットのデータ部に含まれているNAT種別とが比較される(S101)。双方が同一である場合(S103:YES)、送信元NAT装置のGIPに対応付けられている識別子キーをデータ部に含むキー通知パケットが、送信元端末に対して送信される(S105)。そして第二多段処理を終了して通信制御処理(図6参照)に戻る。
一方、NATテーブルのうち送信元NAT装置のGIPに対応付けられているNAT種別と、受信した登録要求パケットのデータ部に含まれているNAT種別とが相違する場合(S103:NO)、新たに識別子キーが生成される(S107)。登録要求パケットのデータ部に含まれているNAT種別と、生成された識別子キーとが対応付けられてNATテーブルに登録される(S109)。S23(図6参照)の処理によって受信された登録要求パケットのヘッダ部から、送信元IPアドレス及び送信元ポート番号(登録要求パケットを転送した送信元NAT装置におけるインターネット10側のIPアドレス及びポート番号に相当)が抽出される。S23(図6参照)の処理によって受信された登録要求パケットのデータ部から、送信元NAT装置のID、中継された端末装置の端末IPアドレス、及び端末ポート番号が抽出される。抽出された送信元IPアドレス、送信元ポート番号、ID、端末IPアドレス、及び端末ポート番号が、其々、ID、GIP、GPort、LIP、及びLPortとしてNATテーブルに格納される。利用可否情報として、利用可能であることを示す情報がNATテーブルに格納される。次いで、登録が完了したことを通知する登録通知パケットが送信元端末に対して送信される(S110)。登録通知パケットのデータ部には、生成された識別子キーが格納される。そして第二多段処理を終了して通信制御処理(図6参照)に戻る。
このように本実施の形態では、通信制御装置14は、多段状態下のNAT種別を正確に把握し、NATテーブルに登録できる。多段状態下にある端末装置は、通信制御装置14からNAT種別を取得することによって、NAT種別に対応する通信確立方法を正確に決定することができる。端末装置は、決定した通信確立方法によって通信を行うことができる。これによって、多段状態下にある端末装置であっても、他の端末装置との間でより確実にP2P通信を行うことが可能となる。
図12を参照し、更新処理について説明する。更新処理では、端末装置において所定の通信(テレビ会議通信など)が行われているかによって、NATテーブルの利用可否情報を更新する。通信管理装置15には、各端末装置の通信状態が記憶されているので、通信制御装置14は、更新処理によって通信管理装置15と通信を行い、通信管理装置15から各端末装置の通信状態の情報を取得する。
更新処理が起動されると、はじめに、NATテーブルに登録されているNAT装置の配下にある端末装置において、所定の通信が行われているかを問い合わせるために、通信管理装置15に対して問合せパケットが送信される(S111)。通信管理装置15は、問合せパケットを受信すると、記憶されている各端末装置の通信状態から、問合せのあった端末装置の通信状態を調査する。端末装置において所定の通信が行われているか否かの情報を含む応答パケットが、通信管理装置15から通信制御装置14に対して返信される。通信制御装置14では、通信管理装置15から受信された応答パケットに含まれている情報を参照することによって、端末装置において所定の通信が行われているかが特定される。
通信管理装置15から返信される応答パケットに基づいて、端末装置において所定の通信が終了していると判断された場合(S113:YES)、NATテーブルのうち、該当する端末装置を配下とするNAT装置のIDに対応付けられた利用可否情報に、利用不可であることを示す情報が格納される(S115)。そしてS117の処理に進む。一方、端末装置において所定の通信が継続して行われている場合(S113:NO)、そのままS117の処理に進む。
S117では、NATテーブルに登録されているNAT装置の全てについて、S111〜S115の処理が実行されたかが判断される(S117)。通信状態が確認されていない端末装置が残存する場合(S117:NO)、S111の処理に戻り、残存する端末装置の通信状態を確認するために上述の処理が繰り返される。一方、NATテーブルに登録されている全てのNAT装置について、配下にある全ての端末装置の通信状態の確認が終了した場合(S117:YES)、所定時間が経過するまで待機される(S119)。所定時間経過後、S111の処理に戻り、上述の処理が繰り返される。
このように本実施の形態では、端末装置において所定の通信が終了した場合、利用不可であることを示す情報が利用可否情報に格納される。所定の通信が終了した場合、NAT装置の設定が変更される可能性が高くなる。このような場合にNATテーブルを利用不可とすることによって、誤ったNAT種別が端末装置に通知されてしまうことを防止できる。
図17〜図20を参照し、端末装置6〜9のCPU61において実行される端末装置処理及び常時判別処理について説明する。これらの処理は、端末装置6〜9の電源が投入された場合において、CPU61において起動され実行される。なおこれらの処理は、OSが所定の周期で順次切り替えながら実行される。
図17を参照し、端末装置処理について説明する。端末装置処理が起動されると、はじめに、識別子キーがRAM63に記憶されているかが判断される(S121)。識別子キーは、通信制御装置14からキー通知パケットや種別応答パケットを受信した場合において、RAM63に記憶される(S139、S159(図18参照))。なおキー通知パケットは、図11のS105の処理によって通信制御装置14から送信される。種別応答パケットは、図8のS53、S67、及び図10のS97の処理によって通信制御装置14から送信される。識別子キーがRAM63に記憶されている場合(S121:YES)、種別要求パケットのデータ部にRAM63に記憶されている識別子キーが付加される(S123)。識別子キーをデータ部に含む状態の種別要求パケットが、通信制御装置14に対して送信される(S125)。そしてS127の処理に進む。一方、識別子キーがRAM63に記憶されていない場合(S121:NO)、識別子キーをデータ部に含まない状態の種別要求パケットが、通信制御装置14に対して送信される(S125)。そしてS127の処理に進む。
S127の処理では、S125の処理において通信制御装置14に対して送信された種別要求パケットに応じ、通信制御装置14から返信されるパケット(判別要求パケット、種別応答パケット、多段判別要求パケット)の受信が監視される(S127)。なお判別要求パケットは、図8のS49、S55、S71、図9のS39、S41、及び図10のS95の処理によって通信制御装置14から送信される。種別応答パケットは、図8のS53、S67、及び図10のS97の処理によって通信制御装置14から送信される。多段判別要求パケットは、図9のS37の処理によって通信制御装置14から送信される。いずれのパケットも受信していない場合(S127:NO)、S127の処理に戻り、パケットの受信が継続して監視される。
いずれかのパケットを受信した場合(S127:YES)、受信したパケットの種類に応じた処理が実行される。受信したパケットが判別要求パケットであるかが判断される(S131)。判別要求パケットを受信した場合(S131:YES)、NAT種別を判別する処理が実行される(S133)。NAT種別の判別は、端末装置と通信制御装置14との間でパケットの送受信を行うことによって実行される。このため、端末装置と通信制御装置14との間の経路上に介在するNAT装置のNAT種別のうち最も転送制限の厳しいNAT種別が判別される。ここで、NAT種別がFull Cone NATであるNAT装置は、パケットの送信元IPアドレス及び送信元ポート番号に依存せず、インターネット側からLAN側にパケットを転送することができる。NAT種別がAddress Restricted Cone NATであるNAT装置は、LAN側からインターネット側に転送したパケットの送信先IPアドレスと同一のIPアドレスが送信元IPアドレスとして設定されたパケットのみ、インターネット側からLAN側に転送する。NAT種別がPort Restricted Cone NATであるNAT装置は、LAN側からインターネット側に転送したパケットの送信先IPアドレス及び送信先ポート番号と同一のIPアドレス及びポート番号が、送信元IPアドレス及び送信元ポート番号として設定されたパケットのみ、インターネット側からLAN側に転送する。NAT種別がSymmetric NATであるNAT装置は、NAT種別がPort Restricted Cone NATであるNAT装置の制約に加え、NAT装置におけるLAN側のポート番号とインターネット側のポート番号とが1対1で対応付けられる。このため、LAN側にある端末装置から送信されたパケットを、NAT装置を介して受信したインターネット側の端末装置において送信されたパケットのみ、NAT装置はインターネット側からLAN側に転送する。従って転送制限は、NAT種別が「Full Cone Nat」「Address Restricted Cone NAT」「Port Restricted Cone NAT」「Symmetric NAT」の順で厳しくなる。加えて、ポート変更のパターンによっても制限が生じる。具体的には、所定のパターンで変更するよりもランダムにパターンを変更する方が厳しい制限となる。
S133の処理によってNAT装置のNAT種別が判別された後、判別されたNAT種別をデータ部に含む登録要求パケットが、通信制御装置14に対して送信される(S135)。次いで、S135の処理によって送信された登録要求パケットに応じ、通信制御装置14から送信されるキー通知パケットの受信が監視される(S137)。なおキー通知パケットは、図11のS105の処理によって通信制御装置14から送信される。所定時間経過した後も通信制御装置14からキー通知パケットを受信しない場合(S137:NO)、S168(図18参照)の処理に進む。
通信制御装置14から送信されるキー通知パケットを受信した場合(S137:YES)、受信したキー通知パケットのデータ部に含まれている識別子キーがRAM63に記憶される(S139)。以後、種別要求パケットを送信する場合には、RAM63に記憶されている識別子キーが種別要求パケットのデータ部に格納される(S123参照)。
次いで、常時判別処理を開始させるために、開始フラグがONされる(S141)。そしてS168(図18参照)の処理に進む。常時判別処理(図20参照、後述)では、通信制御装置14から送信される多段判別要求パケットに応じ、共通のNAT装置の配下にある端末装置間で通信が行われる。詳細は後述する。
一方、S131の処理において、通信制御装置14から受信したパケットが多段判別要求パケットであった場合(S131:NO、S147:YES(図18参照))図18に示すように、共通のNAT装置の配下にある端末装置間で通信を行い、通信結果情報を通信制御装置14に対して返信する処理(登録時判別処理)が実行される(S149)。
図19を参照し、登録時判別処理について説明する。はじめに、同一NAT装置配下にある他の端末装置宛てにパケットが送信される(S171)。そして、パケットを送信した相手方の端末装置から返信される応答パケットの受信が監視される(S173)。相手方の端末装置から応答パケットを受信しない場合(S173:NO)、S171の処理で相手方の端末装置に対してパケットを送信してからの経過時間が監視される(S175)。経過時間が所定時間未満である場合(S175:NO)、S173の処理に戻り、相手方の端末装置から送信される応答パケットの受信が継続して監視される。所定時間内に相手方の端末装置から応答パケットを受信した場合(S173:YES)、S177の処理に進む。一方、経過時間が所定以上となった場合(S175:YES)、S177の処理に進む。
S177の処理では、S171〜S175の処理による相手方の端末装置との通信の結果、応答パケットを受信したか否かを示す情報が、通信結果情報として多段結果パケットのデータ部に格納される。通信結果情報をデータ部に含む多段結果パケットが、通信制御装置14に対して送信される(S177)。そして登録時判別処理を終了し、端末装置処理(図18)に戻る。なお通信制御装置14では、図10のS91の処理によって、送信した多段結果パケットに基づいて多段状態下にあるかが判断される。多段状態下にあると判断された場合、通信制御装置14では、図10のS95の処理によって判別要求パケットが送信される。多段状態下にないと判断された場合、通信制御装置14では、図10のS97の処理によって、種別応答パケットが送信される。
図18に示すように、登録時判別処理(S149)の後、通信制御装置14から送信されるパケットに基づいて、自身が多段状態下にあるか否かが判断される。通信制御装置14から種別応答パケットを受信した場合、自身は多段状態下にないと判断される(S151:NO)。この場合、種別応答パケットのデータ部に含まれているNAT種別がRAM63に記憶される(S167)。そしてS168の処理に進む。
一方、通信制御装置14から判別要求パケットを受信した場合、自身が多段状態下にあると判断される(S151:YES)。この場合、NAT種別を判別する処理が実行される(S153)。NAT種別の判別は、例えばS133(図17参照)と同様の方法によって実行される。これによって、端末装置と通信制御装置14との間の経路上に介在するNAT装置のNAT種別のうち最も転送制限の厳しいNAT種別が判別される。次いで、判別されたNAT種別を通信制御装置14に対して通知するための登録要求パケットが、通信制御装置14に対して送信される(S155)。登録要求パケットのデータ部には、S153において判別されたNAT種別が格納される。
S155において登録要求パケットが送信された後、通信制御装置14から送信されるキー通知パケットか、又は登録通知パケットの受信が監視される(S157)。なおキー通知パケットは、図11のS105の処理によって通信制御装置14から送信される。登録通知パケットは、図11のS110の処理によって通信制御装置14から送信される。通信制御装置14からキー通知パケットを受信した場合、既に同一NAT装置の配下にある他の端末装置によってNAT種別が通信制御装置14のNATテーブルに登録されているということになる。また、NATテーブルに登録されているNAT種別は、自身がS153の処理において判別したNAT装置と同一であるということになる。これに対し登録通知パケットを受信した場合、同一NAT装置の配下にある他の端末装置によってNAT種別が通信制御装置14のNATテーブルに登録されているが、NATテーブルに登録されているNAT種別と、自身がS153の処理において判別したNAT種別とが異なるということになる。この場合、S155の処理によって送信された登録要求パケットに基づき、通信制御装置14において新たにNAT種別が登録されたことになる。
キー通知パケット又は登録通知パケットを受信した場合(S157:YES)、パケットのデータ部に含まれている識別子キーがRAM63に記憶される(S159)。以後、通信制御装置14に対して種別要求パケットを送信する場合には、RAM63に記憶した識別子キーが種別要求パケットのデータ部に付加される(S123:図17)。そしてS161の処理に進む。一方、所定時間以上経過しても、キー通知パケット及び登録通知パケットのいずれも受信できない場合(S157:NO)、S161の処理に進む。
S161の処理では、S157の処理で登録通知パケットを通信制御装置14から受信したかが判断される(S161)。通信制御装置14から登録通知パケットを受信している場合(S161:YES)、通信制御装置14において新たにNAT種別が登録されているので、常時判別処理を開始させるために、開始フラグがONされる(S163)。そしてS168の処理に進む。一方、通信制御装置14から登録通知パケットを受信していない場合(S161:NO)、そのままS168の処理に進む。
一方、S147の処理において、S127(図17参照)の処理によって通信制御装置14から受信されたパケットが多段判別要求パケットでないと判断され(S147:NO)、種別応答パケットであったと判断された場合(S165:YES)、通信制御装置14から受信した種別応答パケットのデータ部に含まれているNAT種別が、RAM63に記憶される(S167)。そしてS168の処理に進む。他方、通信制御装置14から受信したパケットが、判別要求パケット、多段判別要求パケット、及び種別応答パケットのいずれにも該当しない場合(S165:NO)、S127(図17参照)の処理に戻り、上述の処理が繰り返される。
S168の処理では、RAM63にNAT種別が記憶されているかが判断される(S168)。RAM63にNAT種別が記憶されている場合(S168:YES)、記憶されているNAT種別に基づき、P2P通信を開始させるために必要な通信確立方法が選択される。NAT種別に対応する通信確立方法は、NAT種別と通信確立方法とが対応付けられたリストを参照することによって選択される。該リストは、端末装置のHDD64に記憶されている。通信確立方法としては、例えばUDP Hole PunchingやUDP Multi Hole Punching等が選択される。リストを参照して選択された方法に基づいて、NAT装置を介し通信相手の端末装置との間で通信が実行される(S169)。これによって通信相手の端末装置との間でP2P通信が可能な状態となるので、P2P通信が実行される(S170)。そして端末装置処理を終了する。
図20を参照し、常時判別処理について説明する。常時判別処理では、共通のNAT装置の配下にある端末装置間で通信を行い、通信結果情報を通信制御装置14に対して返信する処理が実行される。常時判別処理が起動されると、はじめに、開始フラグが参照される(S180)。開始フラグがOFFとなっている場合(S180:NO)、S180の処理に戻り、開始フラグが継続して監視される。なお開始フラグは、図17のS141及び図18のS163の処理によってONされる。
開始フラグがONとなった場合(S180:YES)、多段判別要求パケットを受信したかが判断される(S181)。受信していない場合(S181:NO)、S181の処理に戻り、継続して多段判別要求パケットの受信が監視される。
通信制御装置14から送信される多段判別要求パケット(S37:図9)を受信した場合(S181:YES)、同一NAT装置配下にある他の端末装置宛てにパケットが送信される(S183)。そして、相手方の端末装置から返信される応答パケットの受信が監視される(S185)。応答パケットを受信しない場合(S185:NO)、S183の処理でパケットを送信してからの経過時間が監視される(S187)。パケットを送信してからの経過時間が所定時間未満である場合(S187:NO)、S185の処理に戻り、応答パケットの受信が継続して監視される。所定時間内に相手方の端末装置から応答パケットを受信した場合(S185:YES)、S189の処理に進む。一方、経過時間が所定以上となった場合(S187:YES)、S189の処理に進む。
S189の処理では、S181〜S187の処理よる相手方の端末装置との通信の結果、応答パケットを受信したか否かを示す情報が、通信結果情報として多段結果パケットのデータ部に格納される。通信結果情報をデータ部に含む多段結果パケットが、通信制御装置14に対して送信される(S189)。そしてS180の処理に戻り、上述の処理が繰り返される。なお通信制御装置14では、図10のS91の処理によって、送信した多段結果パケットに基づいて多段状態下にあるかが判断される。
以上説明したように、端末装置6〜9は、NAT種別を通信制御装置14から取得するので、迅速にNAT種別を特定できる。端末装置6〜9は、短い時間で他の端末装置6〜9とのP2P通信を開始させることができる。NAT種別を特定する為の処理が不要となるので、通信制御装置14に処理負荷をかけることなく、端末装置6〜9はNAT種別を特定できる。またLAN11〜13やインターネット10のトラフィックの増大を抑制できる。
また、端末装置6〜9がNAT種別を判別して通信制御装置14に通知することで、通信制御装置14はNAT種別を記憶することができる。通信制御装置14が直接NAT種別を特定しなくて済むので、通信制御装置14の処理負荷を軽減できる。NAT種別はIPアドレスに対応付けて記憶されるので、種別要求パケットの送信元IPアドレスに基づいてNAT種別を容易に検索できる。
また通信制御装置14は、同一のNAT装置配下にある端末装置を識別子キーによって把握することができる。識別子キーを検索キーとして用いることによって、NAT種別を容易に検索することができる。端末装置6〜9の設定情報(IPアドレスなど)が変更された場合であっても、識別子キーを検索キーとしてNAT種別を検索できる。
通信制御装置14は、多段状態下にある端末装置を検出することができる。また、多段状態下であっても正確にNAT種別を判別できるので、端末装置6〜9間で確実にP2P通信を行うことができる。
なお、上述の実施の形態における「NAT種別」が、本発明の「種別情報」に該当し、「判別要求パケット」が本発明の「特定要求信号」に相当し、「登録要求パケット」が本発明の「種別情報信号」に相当し、「多段判別要求パケット」が本発明の「通信指示信号」に相当し、「多段結果パケット」が本発明の「通信結果信号」に相当する。
図2のNATテーブル記憶領域241を備えたHDD24が本発明の「第一記憶手段」に相当する。図5のRAM63が本発明の「第二記憶手段」に相当する。図6のS15の処理を行うCPU21が本発明の「第一受信手段」に相当する。図8のS43の処理を行うCPU21が本発明の「第一判断手段」に相当し、S67の処理を行うCPU21が本発明の「第一送信手段」に相当する。図17のS125の処理を行うCPU61が本発明の「第二送信手段」に相当する。図18のS165の処理を行うCPU61が本発明の「第二受信手段」に相当する。図18のS170の処理を行うCPU21が本発明の「通信制御手段」に相当する。
図8のS49、S55の処理を行うCPU21が本発明の「第三送信手段」に相当する。図6のS11の処理を行うCPU21が本発明の「第三受信手段」に相当する。図7のS81の処理を行うCPU21が本発明の「第一記憶制御手段」に相当する。図17のS131の処理を行うCPU61が本発明の「第四受信手段」に相当し、S133の処理を行うCPU61が本発明の「第一特定手段」に相当し、S135の処理を行うCPU61が本発明の「第四送信手段」に相当する。
図1に示す通信制御装置14が本発明の「通信制御装置」「第一管理装置」に相当する。図12のS111の処理を行うCPU21が本発明の「取得手段」に相当する。図1の通信管理装置15が本発明の「第二管理装置」に相当する。図12のS115の処理を行うCPU21が本発明の「第一更新手段」に相当する。図7のS85の処理を行うCPU21が本発明の「第五送信手段」に相当する。図17のS137、及び図18のS157の処理を行うCPU61が本発明の「第五受信手段」に相当する。図17のS139、及び図18のS159の処理を行うCPU61が本発明の「第二記憶制御手段」に相当する。図8のS69の処理を行うCPU21が本発明の「第二更新手段」に相当し、S71の処理を行うCPU21が本発明の「第六送信手段」に相当する。図8のS65の処理を行うCPU21が本発明の「第三更新手段」に相当する。図9のS37の処理を行うCPU21が本発明の「第七送信手段」に相当する。図6のS19の処理を行うCPU61が本発明の「第六受信手段」に相当する。図10のS91の処理を行うCPU21が本発明の「解析手段」に相当する。図10のS95の処理を行うCPU21が本発明の「第八送信手段」に相当する。図6のS23の処理を行うCPU21が本発明の「第七受信手段」に相当する。図11のS103の処理を行うCPU21が本発明の「比較手段」に相当し、S107、S109の処理を行うCPU21が本発明の「第三記憶制御手段」に相当する。
図6のS15の処理が本発明の「第一受信ステップ」に相当する。図8のS43の処理が本発明の「第一判断ステップ」に相当し、S67の処理が本発明の「第一送信ステップ」に相当する。図17のS125の処理が本発明の「第二送信ステップ」に相当する。図18のS165の処理が本発明の「第二受信ステップ」に相当する。
なお、本発明は上述の実施の形態に限定されることなく、種々の変更が可能である。本実施の形態では、端末装置6〜9はNAT装置3〜5を介して通信制御装置14と通信を行うことによって、NAT種別を特定していた。しかしながら本発明はこの方法に限定されない。NAT装置3〜5に直接問い合わせることによってNAT種別を取得できる場合には、NAT装置3〜5に直接問い合わせることによってNAT種別を判別してもよい。NAT装置3〜5から直接NAT種別を取得できるので、NAT種別を容易且つ確実に特定できる。NAT種別を特定するまでに要する時間を短縮できる。
上述の実施の形態では、通信制御装置14は通信管理装置15に問い合わせることによって端末装置の通信状態を取得した。しかしながら本発明はこの方法に限定されない。通信制御装置14が端末装置と直接通信を行うことによって端末装置の通信状態を把握し、HDD24に結果を記憶していてもよい。
端末装置がNAT種別を判別する場合の判別方法は上述の方法に限定されない。システム内に別途管理サーバを設け、端末装置は、この管理サーバとNAT装置を介して通信を行うことによって、NAT種別を判別してもよい。
同一NAT装置の配下にある複数の端末装置間で通信が実行される場合の通信は、例えばPINGコマンドによって実行されてもよい。
1 通信システム
3,4,5 NAT装置
6,7,8,9 端末装置
14 通信制御装置
15 通信管理装置
21 CPU
24 HDD
241 テーブル記憶領域
61 CPU

Claims (16)

  1. NAT(Network Address Translation)機能を備え、外部ネットワークに接続するNAT装置と、前記NAT装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムであって、
    前記通信制御装置は、
    前記NAT装置のグローバルIPアドレスであるNATアドレスと、前記NAT装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、
    前記端末装置を配下とする前記NAT装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、
    前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、
    前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段と
    を備え、
    前記端末装置は、
    前記種別要求信号を前記通信制御装置に対して送信する第二送信手段と、
    前記第二送信手段において送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信手段と、
    前記第二受信手段によって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記NAT装置とは異なる前記NAT装置の配下にある他の前記端末装置と通信を行う通信制御手段と
    を備えたことを特徴とする通信システム。
  2. 前記通信制御装置は、
    前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていないと判断された場合には、前記種別要求信号を送信した前記端末装置を配下とする前記NAT装置の前記種別情報の特定を要求する信号である特定要求信号を、前記種別要求信号を送信した前記端末装置に対して送信する第三送信手段と、
    前記第三送信手段によって送信された前記特定要求信号に対して前記端末装置から送信される前記種別情報を受信する第三受信手段と、
    前記第三受信手段によって受信された前記種別情報の送信元IPアドレスをNATアドレスとし、受信された前記種別情報に対応付けて前記第一記憶手段に記憶する第一記憶制御手段と
    を備え、
    前記端末装置は、
    前記通信制御装置から送信される前記特定要求信号を受信する第四受信手段と、
    前記第四受信手段において前記特定要求信号を受信した場合に、自身を配下とするNAT装置の前記種別情報を特定する第一特定手段と、
    前記第一特定手段によって前記種別情報が特定された場合に、特定された前記種別情報を前記通信制御装置に送信する第四送信手段と
    を備えたことを特徴とする請求項1に記載の通信システム。
  3. 前記第一特定手段は、
    自身を配下とする前記NAT装置と通信を行うことによって取得した前記種別情報を種別情報として特定することを特徴とする請求項2に記載の通信システム。
  4. 前記第一特定手段は、
    前記外部ネットワークに接続された第一管理装置と前記NAT装置を介して通信を行うことによって、前記種別情報を特定することを特徴とする請求項2に記載の通信システム。
  5. 前記通信制御装置は、
    対応付けて記憶された前記NATアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記NATアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、
    前記第一送信手段は、
    前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されている場合であり、且つ、一致するとされた前記NATアドレスに、利用可能であることを示す前記利用可否情報が対応付けられている場合に、前記種別情報を送信することを特徴とする請求項1に記載の通信システム。
  6. 前記通信制御装置は、
    対応付けて記憶された前記NATアドレスと前記種別情報とが利用可能な情報であるか否かを示す情報である利用可否情報を、前記NATアドレス及び前記種別情報に対応付けて前記第一記憶手段に記憶しており、
    前記第三送信手段は、
    前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていないと判断された場合、又は、一致するとされた前記NATアドレスに、利用できないことを示す前記利用可否情報が対応付けられている場合に、前記特定要求信号を送信することを特徴とする請求項2から4のいずれかに記載の通信システム。
  7. 前記通信制御装置は、
    前記外部ネットワークに接続し、前記端末装置の前記通信制御手段によって実行される前記端末装置間の通信状態を記憶する第二管理装置から、前記通信状態を取得する取得手段と、
    前記取得手段によって取得された前記通信状態に基づいて、前記第一記憶手段に記憶されている前記利用可否情報を更新する第一更新処理であって、前記端末装置間の通信が継続中であると判断された場合に、前記第一記憶手段に記憶されている前記NATアドレスのうち、通信状態にある前記端末装置を配下とする前記NAT装置の前記NATアドレスに対応付けられた前記利用可否情報を利用可能とし、前記端末装置間の通信が終了したと判断された場合に、通信が終了した前記端末装置を配下とする前記NAT装置の前記NATアドレスに対応付けられた前記利用可否情報を利用不可とする第一更新手段と
    を備えたことを特徴とする請求項5又は6に記載の通信システム。
  8. 前記通信制御装置は、
    前記第一記憶制御手段において、同一の前記NAT装置の配下にある前記端末装置を識別するための識別情報を、前記NATアドレスと前記種別情報とに対応づけて前記第一記憶手段に記憶し、
    前記第三受信手段において前記種別情報を受信した場合に、受信した前記種別情報に対応付けられた前記識別情報を、前記種別情報を送信した前記端末装置に対して送信する第五送信手段をさらに備え、
    前記端末装置は、
    前記通信制御装置から送信される前記識別情報を受信する第五受信手段と、
    前記第五受信手段において受信された前記識別情報を第二記憶手段に記憶する第二記憶制御手段と
    を備えたことを特徴とする請求項2、3、4、6のいずれかに記載の通信システム。
  9. 前記端末装置は、
    前記識別情報が前記第二記憶手段に記憶されている場合には、前記第二送信手段は、前記種別要求信号と前記識別情報とを前記通信制御装置に対して送信し、
    前記通信制御装置は、
    前記第一受信手段において、前記種別要求信号と前記識別情報とを受信し、
    前記第一送信手段は、
    前記第一受信手段において受信した前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と一致する識別情報が、前記送信元IPアドレスと一致する前記NATアドレスに対応付けて第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレス及び前記識別情報に対応付けられている前記種別情報を、前記種別要求信号と前記識別情報とを送信した前記端末装置に対して送信することを特徴とする請求項8に記載の通信システム。
  10. 前記通信制御装置は、
    前記第二受信手段において受信した前記種別要求信号の前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元IPアドレスと一致する前記NATアドレスに対応付けられた前記識別情報とが異なると判断された場合に、該当する前記NATアドレス及び前記識別情報を削除する第二更新手段と、
    前記種別要求信号と前記識別情報とを送信した前記端末装置に対して前記特定要求信号を送信する第六送信手段と
    を備えたことを特徴とする請求項9に記載の通信システム。
  11. 前記通信制御装置は、
    前記第二受信手段において受信した前記種別要求信号の前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されており、且つ、受信した前記識別情報と、前記送信元IPアドレスと一致する前記NATアドレスに対応付けられた前記識別情報とが一致すると判断された場合に、前記第一記憶手段に記憶されている前記識別情報のうち、受信した前記識別情報に対応づけられている前記利用可否情報を利用可能とする第三更新手段を備えたことを特徴とする請求項9に記載の通信システム。
  12. 前記通信制御装置は、
    特定の前記NAT装置である第一NAT装置の配下にある一の前記端末装置である第一端末と他の前記端末装置である第二端末との間の経路に、他の前記NAT装置である第二NAT装置が介在するかを特定するために、前記第一端末と前記第二端末との間で通信を行うように指示する通信指示信号を、前記第一端末及び前記第二端末に対して送信する第七送信手段と、
    前記第七送信手段において送信された前記通信指示信号に応じ、前記第一端末及び前記第二端末から送信される通信結果信号を受信する第六受信手段と、
    前記第六受信手段において受信された前記通信結果信号に基づいて、前記第二NAT装置が介在するかを解析する解析手段と、
    前記解析手段において、前記第二NAT装置が介在していると判断された場合に、前記第一端末及び前記第二端末のうち少なくとも一方に対して前記特定要求信号を送信する第八送信手段と、
    前記第八送信手段において送信された前記特定要求信号に応じて前記端末装置から返信される前記種別情報を受信する第七受信手段と、
    を備え、
    前記第一記憶制御手段は、
    前記第七受信手段において受信された前記種別情報を、所定の識別情報である第一識別情報に対応付けて前記第一記憶手段に記憶することを特徴とする請求項8から11のいずれかに記載の通信システム。
  13. 前記通信制御装置では、
    前記第一端末から受信した前記種別情報と前記第一識別情報とが対応付けられて前記第一記憶手段に記憶されている場合において、
    前記第七受信手段において前記第二端末から前記種別情報を受信した場合、前記第一記憶手段に記憶されている前記種別情報と、受信した前記種別情報とを比較する比較手段と、
    前記比較手段において前記種別情報が相違すると判断された場合に、受信した前記種別情報を、前記第一識別情報とは異なる第二識別情報に対応付けて前記第一記憶手段に記憶する第三記憶制御手段と
    を備えたことを特徴とする請求項12に記載の通信システム。
  14. NAT(Network Address Translation)機能を備え、配下に端末装置を備えたNAT装置と、外部ネットワークを介して接続する通信制御装置であって、
    前記NAT装置のグローバルIPアドレスであるNATアドレスと、前記NAT装置を種別した種別情報とを対応付けて記憶する第一記憶手段と、
    前記端末装置を配下とする前記NAT装置の前記種別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信手段と、
    前記第一受信手段によって前記種別要求信号を受信した場合において、前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されているか判断する第一判断手段と、
    前記第一判断手段において、前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信手段と
    を備えたことを特徴とする通信制御装置。
  15. NAT(Network Address Translation)機能を備え、外部ネットワークに接続するNAT装置と、前記NAT装置の配下にある端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも備えた通信システムにおいて、前記端末装置間で通信を行う通信制御方法であって、
    前記通信制御装置において、前記端末装置を配下とする前記NAT装置を識別する識別情報の取得を要求する種別要求信号を、前記端末装置から受信する第一受信ステップと、
    前記通信制御装置において、前記第一受信ステップによって前記種別要求信号を受信した場合において、前記NAT装置のグローバルIPアドレスであるNATアドレスと、前記NAT装置の前記種別情報とが対応付けて記憶された第一記憶手段を参照し、前記種別要求信号の送信元IPアドレスと一致するIPアドレスが、前記NATアドレスとして前記第一記憶手段に記憶されているか判断する第一判断ステップと、
    前記通信制御装置において、前記第一判断ステップによって前記送信元IPアドレスと一致する前記NATアドレスが前記第一記憶手段に記憶されていると判断された場合に、一致するとされた前記NATアドレスに対応付けられている前記種別情報を、前記種別要求信号を送信した前記端末装置に対して送信する第一送信ステップと、
    前記端末装置において、前記種別要求信号を前記通信制御装置に対して送信する第二送信ステップと、
    前記端末装置において、前記第二送信ステップによって送信された前記種別要求信号に応じ、前記通信制御装置から送信される前記種別情報を受信する第二受信ステップと、
    前記端末装置において、前記第二受信ステップによって前記種別情報を受信した場合に、受信された前記種別情報に基づいて決定される通信確立方法による通信を行うことによって、自身を配下とする前記NAT装置とは異なる前記NAT装置の配下にある他の前記端末装置と通信を行う通信制御ステップと
    を備えたことを特徴とする通信制御方法。
  16. 請求項14に記載の通信制御装置の各処理手段としてコンピュータを駆動させるための通信制御プログラム。
JP2009228522A 2009-09-30 2009-09-30 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム Expired - Fee Related JP5273002B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009228522A JP5273002B2 (ja) 2009-09-30 2009-09-30 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム
US12/886,772 US8606931B2 (en) 2009-09-30 2010-09-21 Communication system, communication control device and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228522A JP5273002B2 (ja) 2009-09-30 2009-09-30 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2011077922A true JP2011077922A (ja) 2011-04-14
JP5273002B2 JP5273002B2 (ja) 2013-08-28

Family

ID=43781540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228522A Expired - Fee Related JP5273002B2 (ja) 2009-09-30 2009-09-30 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム

Country Status (2)

Country Link
US (1) US8606931B2 (ja)
JP (1) JP5273002B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8805926B2 (en) 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US8929373B2 (en) 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8713234B2 (en) 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8711875B2 (en) * 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10812897B1 (en) * 2017-03-17 2020-10-20 Human, Incorporated Audio system
CN117579525A (zh) * 2023-11-20 2024-02-20 北京思存通信技术有限公司 一种网络协议特征识别系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236297A (ja) * 2007-03-20 2008-10-02 Matsushita Electric Ind Co Ltd Ip通信装置及びip通信システム並びにこれらのip通信方法
WO2009018004A1 (en) * 2007-07-27 2009-02-05 Sony Computer Entertainment Inc. Cooperative nat behavior discovery

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418522B2 (en) * 2000-12-21 2008-08-26 Noatak Software Llc Method and system for communicating an information packet through multiple networks
JP3963690B2 (ja) * 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
JP2005108899A (ja) 2003-09-26 2005-04-21 Aisin Seiki Co Ltd 電力供給装置、構造体、及び電力半導体素子の放熱組立て構造
US7483437B1 (en) * 2003-11-20 2009-01-27 Juniper Networks, Inc. Method of communicating packet multimedia to restricted endpoints
JP4377786B2 (ja) * 2004-09-22 2009-12-02 パナソニック株式会社 電化機器、サーバ装置、携帯端末、通信システム、通信方法、及びプログラム
JP4473695B2 (ja) * 2004-10-01 2010-06-02 パナソニック株式会社 通信端末装置、電化機器及び通信方法
WO2008082441A1 (en) * 2006-12-29 2008-07-10 Prodea Systems, Inc. Display inserts, overlays, and graphical user interfaces for multimedia systems
US8656017B2 (en) * 2007-05-16 2014-02-18 Microsoft Corporation Peer-to-peer collaboration system with edge routing
US8386942B2 (en) * 2008-04-14 2013-02-26 Disney Enterprises, Inc. System and method for providing digital multimedia presentations
JP4623177B2 (ja) * 2008-09-17 2011-02-02 富士ゼロックス株式会社 情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236297A (ja) * 2007-03-20 2008-10-02 Matsushita Electric Ind Co Ltd Ip通信装置及びip通信システム並びにこれらのip通信方法
WO2009018004A1 (en) * 2007-07-27 2009-02-05 Sony Computer Entertainment Inc. Cooperative nat behavior discovery
JP2010535004A (ja) * 2007-07-27 2010-11-11 株式会社ソニー・コンピュータエンタテインメント 協調的nat振る舞いディスカバリ

Also Published As

Publication number Publication date
JP5273002B2 (ja) 2013-08-28
US20110078315A1 (en) 2011-03-31
US8606931B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
JP5273002B2 (ja) 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム
EP1469654B1 (en) Network device, system and method for providing list of controlled devices
JP5889525B2 (ja) 認証システム
KR20050046632A (ko) 정보 통신 시스템 및 방법, 정보 처리 장치 및 방법,프로그램 및 기록 매체
JP5273001B2 (ja) 通信システム、端末装置、通信方法、及び通信プログラム
CN105807618A (zh) 一种控制方法及第一中控设备
US9729428B2 (en) Peer-to-peer connection system with capability of peer-to-peer connection path routing, path routing method of peer-to-peer connection and computer application program thereof
KR100533667B1 (ko) 효율적인 홈 네트워크 관리 시스템 및 방법
KR102009810B1 (ko) 무선 통신 시스템에서 서비스 송수신 방법 및 장치
EP2739016A1 (en) Communication system and server
JP2011071745A (ja) 通信方法、通信システム、端末装置
KR20140125223A (ko) 정보 중심 네트워킹 기반의 콘텐츠 네트워크에서 관리 인터페이스를 이용한 정보 수집 방법, 콘텐츠 네트워크 관리 시스템 및 노드 장치
JP5321396B2 (ja) 通信システム
JP6119187B2 (ja) 管理装置、アドレス情報管理プログラム及びアドレス情報管理システム
JP6411262B2 (ja) 制御装置およびシステム
JP2006020157A (ja) ノード情報収集装置
JP2005101918A (ja) 無線ネットワークアダプタ装置
CN113452545B (zh) 网络装置以及网络构成辨别方法
KR100654464B1 (ko) 네트워크 상에 존재하는 호스트들 간의 정보를 공유하는장치 및 그 방법
JP6899741B2 (ja) 電力線通信システム、端末装置、プログラムおよび電力線通信システムのメンテナンス方法
CN113206862B (zh) 物联网设备的配网方法及装置
JP5803525B2 (ja) 通信装置、通信方法、および通信プログラム
JP2008022385A (ja) ファクシミリ装置、サーバおよびネットワークファクシミリシステム
JP2011095895A (ja) デバイス情報取得方法および装置
JP2005011124A (ja) 処理装置、その装置の制御コマンドを提供するコマンド提供装置、およびそれらの装置を有する機器制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130429

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5273002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees