(57)【要約】【課題】リクエストに対する誤ったレスポンスがなされたとしても通信装置間での通信のエラー中断の発生を可能な限り防ぐ。【解決手段】  リクエスト変更部５１は判定制御部５４に制御されてコマンドをリクエストとして出力し、レスポンス条件決定部５２はリクエスト変更部５１から出力されたコマンドに対して通信相手の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める。照合部５３はリクエストに対するレスポンスを条件と照合し、照合の結果、レスポンスが条件に合致せず、レスポンスを条件に合致するように修正可能であれば、レスポンス修正部５５は判定制御部５４に制御されてレスポンスが条件に合致するように当該レスポンスの修正を行う。【選択図】図４
2008035481.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置において行われる通信方法であって、
リクエストのコマンドを他の通信装置へ送信する送信ステップと、
前記送信ステップにおいて送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定ステップと、
前記送信ステップにおいて送信された前記コマンドに対するレスポンスを前記決定ステップにおいて定めた前記条件と照合する照合ステップと、
前記照合ステップにおける照合の結果、前記レスポンスが前記条件に合致しなければ、当該レスポンスを当該条件に合致するように修正する修正ステップと、
を有することを特徴とする通信方法。
【請求項２】
レスポンスの修正の実行レベルが予め定められており、
レスポンスの修正の実行に制限をかけるための制限レベルを受け付けるレベル受付ステップを更に有し、
前記レスポンスの修正の実行レベルが前記制限レベルを超えていれば、前記修正ステップを実行する
ことを特徴とする請求項１記載の通信方法。
【請求項３】
他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置において行われる通信方法であって、
リクエストのコマンドを他の通信装置へ送信する送信ステップと、
前記送信ステップにおいて送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定ステップと、
前記送信ステップにおいて送信された前記コマンドに対するレスポンスを前記決定ステップにおいて定めた前記条件と照合する照合ステップと、
前記照合ステップにおける照合の結果、前記レスポンスが前記条件に合致しなければ、１または複数の代替コマンドで前記送信ステップにおいて送信した前記コマンドの代わりとなる当該１又は複数の代替コマンドを定め、前記１又は複数の代替コマンドの全てを順次用いて前記他の通信装置との通信を行う代替ステップと、
前記代替ステップにおける各前記代替コマンドに対するレスポンスを基に前記コマンドに対する前記条件に合致するレスポンスを作成する作成ステップと、
を有することを特徴とする通信方法。
【請求項４】
前記照合ステップにおける照合の結果、前記レスポンスが前記条件に合致していない場合、前記レスポンスを前記条件に合致するように修正可能であるかを判断する判断ステップを更に有し、
前記判断ステップにおける判断の結果、前記レスポンスを前記条件に合致するように修正可能でなければ、前記代替ステップを実行し、
前記レスポンスを前記条件に合致するように修正可能であれば、当該レスポンスを当該条件に合致するように修正する
ことを特徴とする請求項３記載の通信方法。
【請求項５】
各々の前記代替コマンドに対して前記他の通信装置がプロトコルに準拠して動作していれば返信されるはずのレスポンスが合致すべき代替条件を定める代替決定ステップと、
各々の前記代替コマンドに対するレスポンスを前記代替決定ステップで定めた当該代替コマンドの代替条件に照合する代替照合ステップと、
を更に有し、
前記代替照合ステップにおける照合の結果、前記代替コマンドの全てにおいて、前記レスポンスが前記代替条件に合致しているか、前記レスポンスを前記代替条件に合致するように修正可能であれば、以降の通信において、前記コマンドの代わりに前記１又は複数の代替コマンドを用いる
ことを特徴とする請求項３記載の通信方法。
【請求項６】
各々の前記代替コマンドに対して前記他の通信装置がプロトコルに準拠して動作していれば返信されるはずのレスポンスが合致すべき代替条件を定める代替決定ステップと、
各々の前記代替コマンドに対するレスポンスを前記代替決定ステップで定めた当該代替コマンドの代替条件に照合する代替照合ステップと、
を更に有し、
前記代替照合ステップにおける照合の結果、前記代替コマンドの何れかにおいて、前記レスポンスが前記代替条件に合致せず、かつ、前記レスポンスを前記代替条件に合致するように修正可能でなければ、前記代替ステップを再実行する
ことを特徴とする請求項３記載の通信方法。
【請求項７】
１又は複数の代替コマンドに対して当該１又は複数の代替コマンドによる通信の実行レベルが予め定められており、
前記代替ステップでの他の通信装置との通信に制限をかけるための制限レベルを受け付けるレベル受付ステップを更に有し、
前記代替ステップで定められた前記１又は複数の代替コマンドに対する前記実行レベルが前記制限レベルを超えていれば、前記代替ステップにおいて他の通信装置との通信を実行する
ことを特徴とする請求項３記載の通信方法。
【請求項８】
他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置であって、
リクエストのコマンドを他の通信装置へ送信する送信手段と、
前記送信手段において送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定手段と、
前記送信手段によって送信された前記コマンドに対するレスポンスを前記決定手段によって定めた前記条件と照合する照合手段と、
前記照合手段による照合の結果、前記レスポンスが前記条件に合致しなければ、当該レスポンスを当該条件に合致するように修正する修正手段と、
を備えたことを特徴とする通信装置。
【請求項９】
他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置であって、
リクエストのコマンドを他の通信装置へ送信する送信手段と、
前記送信手段において送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定手段と、
前記送信手段によって送信された前記コマンドに対するレスポンスを前記決定手段によって定めた前記条件と照合する照合手段と、
前記照合手段による照合の結果、前記レスポンスが前記条件に合致しなければ、１または複数の代替コマンドで前記送信手段において送信した前記コマンドの代わりとなる当該１又は複数の代替コマンドを定め、前記１又は複数の代替コマンドの全てを順次用いて前記他の通信装置との通信を行う代替手段と、
前記代替手段による前記代替コマンドに対するレスポンスを基に前記コマンドに対する前記条件に合致するレスポンスを作成する作成手段と、
を備えたことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置間でリクエスト及びレスポンスを行う通信技術に関する。
【背景技術】
【０００２】
現在、パーソナルコンピュータやネットワーク家電などの通信装置は、他の通信装置との間で様々なプロトコルに基づいた通信を行う。なお、通信装置間の通信は、例えば、インターネットやＬＡＮ（Local Area Network）などの各種ネットワーク、或いは、各種ハードウェア間のインタフェースを利用して行われる。
通信装置間の通信に用いられるプロトコルとして、ＰＯＰ３（Post Office Protocol version 3, RFC1939）が知られている（非特許文献１参照。）。
【０００３】
ＰＯＰ３などのプロトコルに基づく通信装置間の通信は、一方の通信装置がリクエストを送信し、他方の通信装置がリクエストに対するレスポンスを返信することにより行われる。
【非特許文献１】Ｊ．Ｍｙｅｒｓ、”RFC 1939 - Post Office Protocol (POP) Version 3”、［online］、１９９６年５月、ＩＡＢ(Internet Architecture Board)標準勧告文書ＲＦＣ(Request for Comments)、［平成１８年４月３日検索］、インターネット＜URL : http://www.ietf.org/rfc/rfc1939.txt＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ＰＯＰ３などのプロトコルに基づく通信装置間の通信では、リクエストに対するレスポンスに誤りがあると、言い換えると、プロトコルに定められた手順やフォーマット以外のデータがレスポンスとして送られてくると、リクエストを行った通信装置はエラーが発生したとして通信処理を中断する。
このため、例えば、リクエスト先の通信装置で厳密にプロトコルに準拠した実装が行われていない場合やプロトコルの一部の実装にバグがある場合には、リクエスト先の通信装置はリクエストに対して誤ったレスポンスを行ってしまい、通信装置間の通信にエラー中断が発生するという問題がある。
【０００５】
そこで、本発明は、リクエストに対して誤ったレスポンスがなされたとしても通信装置間での通信のエラー中断の発生を可能な限り防ぐことが可能な通信方法及び通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の通信方法は、他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置において行われる通信方法であって、リクエストのコマンドを他の通信装置へ送信する送信ステップと、前記送信ステップにおいて送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定ステップと、前記送信ステップにおいて送信された前記コマンドに対するレスポンスを前記決定ステップにおいて定めた前記条件と照合する照合ステップと、前記照合ステップにおける照合の結果、前記レスポンスが前記条件に合致しなければ、当該レスポンスを当該条件に合致するように修正する修正ステップと、を有する。
【０００７】
本発明の通信装置は、他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置であって、リクエストのコマンドを他の通信装置へ送信する送信手段と、前記送信手段において送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定手段と、前記送信手段によって送信された前記コマンドに対するレスポンスを前記決定手段によって定めた前記条件と照合する照合手段と、前記照合手段による照合の結果、前記レスポンスが前記条件に合致しなければ、当該レスポンスを当該条件に合致するように修正する修正手段と、を備える。
【発明の効果】
【０００８】
上記通信方法及び通信装置の夫々によれば、リクエストのコマンドに対して返信されてきたレスポンスを、他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件に照合する。そして、レスポンスが条件に合致していなければ、レスポンスが条件に合致するように修正される。このように、リクエストのコマンドに対するレスポンスに誤りがあればレスポンスの修正を行うため、リクエストのコマンドに対するレスポンスの誤りによる通信のエラー中断の発生を抑えることができる。
【０００９】
上記の通信方法において、レスポンスの修正の実行レベルが予め定められており、レスポンスの修正の実行に制限をかけるための制限レベルを受け付けるレベル受付ステップを更に有し、前記レスポンスの修正の実行レベルが前記制限レベルを超えていれば、前記修正ステップを実行するようにしてもよい。
これによれば、例えば、セキュリティ上で危険度の高い修正を行うか否かをユーザの判断に委ねることが可能になる。
【００１０】
本発明の通信方法は、他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置において行われる通信方法であって、リクエストのコマンドを他の通信装置へ送信する送信ステップと、前記送信ステップにおいて送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定ステップと、前記送信ステップにおいて送信された前記コマンドに対するレスポンスを前記決定ステップにおいて定めた前記条件と照合する照合ステップと、前記照合ステップにおける照合の結果、前記レスポンスが前記条件に合致しなければ、１または複数の代替コマンドで前記送信ステップにおいて送信した前記コマンドの代わりとなる当該１又は複数の代替コマンドを定め、前記１又は複数の代替コマンドの全てを順次用いて前記他の通信装置との通信を行う代替ステップと、前記代替ステップにおける各前記代替コマンドに対するレスポンスを基に前記コマンドに対する前記条件に合致するレスポンスを作成する作成ステップと、を有する。
【００１１】
本発明の通信装置は、他の通信装置に対してリクエストを送信し、当該他の通信装置から当該リクエストに対するレスポンスを受信する通信装置であって、リクエストのコマンドを他の通信装置へ送信する送信手段と、前記送信手段において送信されるコマンドに対して前記他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件を定める決定手段と、前記送信手段によって送信された前記コマンドに対するレスポンスを前記決定手段によって定めた前記条件と照合する照合手段と、前記照合手段による照合の結果、前記レスポンスが前記条件に合致しなければ、１または複数の代替コマンドで前記送信手段において送信した前記コマンドの代わりとなる当該１又は複数の代替コマンドを定め、前記１又は複数の代替コマンドの全てを順次用いて前記他の通信装置との通信を行う代替手段と、前記代替手段による前記代替コマンドに対するレスポンスを基に前記コマンドに対する前記条件に合致するレスポンスを作成する作成手段と、を備える。
【００１２】
上記通信方法及び通信装置の夫々によれば、リクエストのコマンドに対して返信されてきたレスポンスを、他の通信装置がプロトコルの規格に準拠して動作していれば返信されるはずのレスポンスが合致すべき条件に照合する。そして、レスポンスが条件に合致していなければ、リクエストしたコマンドの代わりとなる１又は複数の代替コマンドを用いて他の通信装置と通信を行い、コマンドに対するレスポンスの条件に合致するレスポンスを各代替コマンドに対するレスポンスを基に作成する。このように、リクエストのコマンドに対するレスポンスに誤りがあれば代替コマンドを用いて通信相手の通信装置と通信を行い、各代替コマンドに対するレスポンスを基にコマンドに対するレスポンスの作成を行う。このため、リクエストのコマンドに対するレスポンスの誤りによる通信のエラー中断の発生を抑えることができる。
【００１３】
上記の通信方法において、前記照合ステップにおける照合の結果、前記レスポンスが前記条件に合致していない場合、前記レスポンスを前記条件に合致するように修正可能であるかを判断する判断ステップを更に有し、前記判断ステップにおける判断の結果、前記レスポンスを前記条件に合致するように修正可能でなければ、前記代替ステップを実行し、前記レスポンスを前記条件に合致するように修正可能であれば、当該レスポンスを当該条件に合致するように修正するようにしてもよい。
【００１４】
これによれば、リクエストしたコマンドに対するレスポンスを条件に合致するように修正可能であればレスポンスの修正を行い、そうでなければ代替コマンドを用いた通信を行う。これにより、通信装置間の通信の負荷を抑えながら、リクエストのコマンドに対するレスポンスの誤りによる通信のエラー中断の発生を抑えることができる。
上記の通信方法において、各々の前記代替コマンドに対して前記他の通信装置がプロトコルに準拠して動作していれば返信されるはずのレスポンスが合致すべき代替条件を定める代替決定ステップと、各々の前記代替コマンドに対するレスポンスを前記代替決定ステップで定めた当該代替コマンドの代替条件に照合する代替照合ステップと、を更に有し、前記代替照合ステップにおける照合の結果、前記代替コマンドの全てにおいて、前記レスポンスが前記代替条件に合致しているか、前記レスポンスを前記代替条件に合致するように修正可能であれば、以降の通信において、前記コマンドの代わりに前記１又は複数の代替コマンドを用いるようにしてもよい。
【００１５】
これによれば、以前の通信でコマンドに対するレスポンスが条件に合致しなかったコマンドに対しては、代替コマンドが優先して用いられるので通信装置間の通信の負荷を抑えることができる。
上記の通信方法において、各々の前記代替コマンドに対して前記他の通信装置がプロトコルに準拠して動作していれば返信されるはずのレスポンスが合致すべき代替条件を定める代替決定ステップと、各々の前記代替コマンドに対するレスポンスを前記代替決定ステップで定めた当該代替コマンドの代替条件に照合する代替照合ステップと、を更に有し、前記代替照合ステップにおける照合の結果、前記代替コマンドの何れかにおいて、前記レスポンスが前記代替条件に合致せず、かつ、前記レスポンスを前記代替条件に合致するように修正可能でなければ、前記代替ステップを再実行するようにしてもよい。
【００１６】
これによれば、代替ステップを再実行することによって、通信のエラー中断の発生をより抑えることができるようになる。
上記の通信方法において、１又は複数の代替コマンドに対して当該１又は複数の代替コマンドによる通信の実行レベルが予め定められており、前記代替ステップでの他の通信装置との通信に制限をかけるための制限レベルを受け付けるレベル受付ステップを更に有し、前記代替ステップで定められた前記１又は複数の代替コマンドに対する前記実行レベルが前記制限レベルを超えていれば、前記代替ステップにおいて他の通信装置との通信を実行するようにしてもよい。
【００１７】
これによれば、例えば、セキュリティ上で危険度の高い１又は複数の代替コマンドによる通信の継続をどの程度まで行うかをユーザの判断に委ねることが可能になる。
【発明を実施するための最良の形態】
【００１８】
≪第１の実施の形態≫
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。
＜システム構成＞
本実施の形態の通信システムの構成について図１を参照しつつ説明する。図１は本実施の形態の通信システムのシステム構成図である。
【００１９】
通信システムは、通信装置１，２を含み、通信装置１，２はネットワーク３に接続されている。ただし、ネットワーク３は、１つの同一ネットワークであってもよく、インターネットのような広域ネットワークであってもよい。また、ネットワーク３は、有線ネットワークであってもよいし、無線ネットワークであってもよい。
通信装置１は、本発明の通信方法を実行する機能を有する装置であって、他の通信装置との間でリクエスト及びリクエストに対するレスポンスの送受信を行う。
【００２０】
例えば、通信装置１は、通信相手の装置に対してリクエストのコマンドを送信し、通信相手の装置から当該リクエストに対するレスポンスを受信する。リクエストに対するレスポンスに誤りがあった場合に、通信装置１はレスポンスの誤りに応じてレスポンスの修正を行う。または、通信装置１は、リクエストしたコマンドの代わりとなる１又は複数の代替コマンドを用いて通信相手の装置との間で通信を行う。
【００２１】
ただし、コマンドの代わりとなる１又は複数の代替コマンド（一つの代替コマンド又は複数の代替コマンドを含む代替コマンド群）は、リクエスト側の通信装置が各代替コマンドに対して誤りがないレスポンスを受信したときに、各代替コマンドに対して受信した誤りがないレスポンスからコマンドに対して誤りがないレスポンスの作成を可能にするものである。
【００２２】
なお、誤りがないレスポンスとは、通信相手の装置がプロトコルの規格に準拠した動作を行っている場合にリクエストしたコマンド又は代替コマンドに対して返信されるはずのレスポンスのことである。
通信装置２は、他の通信装置との間でリクエスト及びリクエストに対するレスポンスの送受信を行う。なお、通信装置２は、本発明の通信方法を実行する機能を有する通信装置であってもよく、当該機能を有しない通信装置であってもよい。
【００２３】
なお、本発明は、リクエストを行った通信装置でリクエストに対するレスポンスに誤りがあった場合にレスポンスの誤りに応じてレスポンスの修正などを行うものであることから、以下における通信装置１の機能及び動作の説明では通信装置１がリクエストする場合のみ説明する。
＜通信装置の装置構成＞
図１の通信装置１の装置構成について図２を参照しつつ説明する。図２は図１の通信装置１の装置構成図である。
【００２４】
通信装置１は、ＣＰＵ（Central Processing Unit）１１、メモリ１２、ＤＳＰ（Digital Signal Processor）１３、アシスト回路１４、通信インタフェース（通信ＩＦ）１５、表示制御回路１６、表示デバイス１７、入力インタフェース（入力ＩＦ）１８、キーボード１８ａ、マウス１８ｂ、及びタブレッド１８ｃを備える。ＣＰＵ１１、メモリ１２、ＤＳＰ１３、アシスト回路１４、通信ＩＦ１５、表示制御回路１６、入力ＩＦ１８は、夫々、バス１９に接続されている。
【００２５】
ＣＰＵ１１は通信装置１全体の各種制御や各種演算を行うものである。
メモリ１２は記憶素子であり、メモリ１２には、例えば、通信装置１を制御するための各種制御プログラムや各種アプリケーションソフトが格納されている。
ＤＳＰ１３は音声や画像などの処理に特化されたマイクロプロセッサである。
アシスト回路１４はハードウェアにより構成され、ＣＰＵ１１などの処理をアシストする回路である。
【００２６】
通信ＩＦ１５は、通信装置１が外部の装置と通信を行うためのものであり、本実施の形態では、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）のパケットの送受信可能なものである。通信ＩＦ１５は、例えば、イーサネット（登録商標）、無線ネットワーク、ＵＳＢ（Universal Serial Bus）、ＵＷＢ（Ultra Wide Band）、Bluetooth（登録商標）などの規格に基づくものである。
【００２７】
表示制御回路１６は、表示デバイス１７の表示制御を行う。
表示デバイス１７は、例えば、ＣＲＴ（Cathode Ray Tube）、液晶ディスプレイ、プラズマディスプレイなどの表示機器、ＬＥＤ（Light Emitting Diode）などの発光素子である。
入力ＩＦ１８は、キーボード１８ａ、マウス１８ｂ、タブレット１８ｃなどの入力デバイスを通信装置１に接続するためのものである。なお、入力デバイスには、キーパッド、タッチパネルなどもある。
【００２８】
＜階層構造＞
本実施の形態において本発明の通信方法の処理（以下、適応通信処理という。）を実行する階層について図３を参照しつつ説明する。図３は図１の通信装置１の階層構造を示す図である。
図３には、通信装置間のデータ通信を実現するための通信装置の持つべき通信機能を階層構造に分割した、ＩＳＯ（国際標準化機構：International Organization for Standardization）により策定されたＯＳＩ参照モデルを図示するとともに、ＴＣＰ／ＩＰ階層モデルを図示している。
【００２９】
ＯＳＩ参照モデルでは、アプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データリンク層、及び物理層の７層に分割されている。
ＴＣＰ／ＩＰ階層モデルでは、アプリケーション層、トランスポート層、インターネット層、及びネットワークインターフェース層に分割されている。
【００３０】
本実施の形態の適応通信処理は、ＰＯＰ３とＴＣＰ（Transmission Control Protocol）或いはＵＤＰ（User Datagram Protocol）との間に位置し、ＰＯＰ３とＴＣＰ或いはＵＤＰとの間の通信を中継する。ただし、ＰＯＰ３が処理対象のプロトコルである。
なお、処理対象のプロトコルとして、ＰＯＰ３以外に、ＩＭＡＰ４（Internet Message Access version 4）、ＨＴＴＰ（Hyper Text Transfer Protocol）、ＦＴＰ（File Transfer Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）、ＵＰｎＰ（Universal Plug and Play）、ＳＩＰ（Session Initiation Protocol）、ＲＴＰ（Real-Time Transfer Protocol）、ＲＴＣＰ（RTP Control Protocol）などが挙げられる。
【００３１】
＜通信装置の機能構成＞
図１の通信装置１の機能構成について図４を参照しつつ説明する。図４は図１の通信装置１の機能構成図である。
通信装置１は、通信処理部３１、３２、適応通信処理部３３、レスポンス条件データベース（レスポンス条件ＤＢ）３４、コマンドデータベース（コマンドＤＢ）３５、修正データベース（修正ＤＢ）３６、代替データベース（代替ＤＢ）３７、及びレスポンス蓄積部３８を有する。
【００３２】
通信処理部３１は、適応通信処理部３３の上位層に位置し、ＰＯＰ３などのプロトコルの規格に則った処理を行い、適応通信処理部３３とコマンドやデータの受け渡しなどを行う。通信処理部３１から適応通信処理部３３にリクエストのコマンドが入力されるときリクエスト先の通信装置の装置名がコマンドに付随して通信処理部３１から適応通信処理部３３に入力される。
【００３３】
通信処理部３２は、適応通信処理部３３の下位層に位置し、ＴＣＰ或いはＵＤＰの規格に則った処理を行い、適応通信処理部３３とコマンドやデータの受け渡しなどを行う。
適応通信処理部３３は、通信処理部３１と通信処理部３２との間に位置し、通信処理部３１と通信処理部３２との間の通信の中継を行う。なお、適応通信処理部３３の機能の詳細は後述する。
【００３４】
レスポンス条件ＤＢ３４には、ＰＯＰ３やＩＭＡＰ４などの各プロトコルの各コマンドに対するレスポンス条件が格納されており、例えば、ＰＯＰ３の場合の各コマンドに対するレスポンス条件の一例を図５に示す。
レスポンス条件は、対応するコマンドがリクエストされた場合にリクエスト先の通信装置がプロトコルの規格に準拠した動作を行っていれば返信されてくるはずのレスポンスが合致すべき条件である。レスポンスがレスポンス条件に合致していれば上位層のＰＯＰ３などのプロトコルで通信のエラー中断が発生しない。
【００３５】
なお、リクエストのコマンドに対するレスポンスが当該コマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件に合致していれば、誤りがないレスポンスである。また、リクエストのコマンドに対してレスポンスが当該コマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件に合致していなければ誤りがあるレスポンスである。
【００３６】
コマンドＤＢ３５には、各コマンドに対応して当該コマンドの代わりとなる代替コマンド又は複数の代替コマンドからなる代替コマンド群が格納されており、その一例を図６に示す。図６の例では、フィールド「コマンド」に格納されているコマンドの代わりとなる代替コマンド又は代替コマンド群がフィールド「代替コマンド（群）（１）」、「代替コマンド（群）（２）」、「代替コマンド（群）（３）」に格納される。なお、１つのコマンドに対して、代わりとなる代替コマンドが複数あったり、代替コマンド群が複数あったりする。
【００３７】
修正ＤＢ３６には、以前の通信でレスポンスの修正が行われたリクエストのコマンド又は代替コマンドがリクエスト先の通信装置に対応付けて格納されており、その一例を図７に示す。図７では、以前の通信で、フィールド「リクエスト先」に格納されている装置名の通信装置へ送信したコマンド又は代替コマンドに対するレスポンスの修正が行われた場合の当該コマンド又は代替コマンドがフィールド「コマンド」に格納されている。
【００３８】
なお、修正ＤＢ３６の記憶内容を参照することで、他の通信装置が正常な処理動作を行うことができていないコマンドを把握することができる。
代替ＤＢ３７には、以前の通信でコマンドの代わりに用いられた代替コマンド又は代替コマンド群がリクエスト先の通信装置とコマンドとに対応付けて格納されており、その一例を図８に示す。但し、代替ＤＢ３７の内容は他の通信装置との間で通信が行われている際に適宜変更される。図８では、以前の通信でフィールド「リクエスト先」に格納されている装置名の通信装置に対してフィールド「コマンド」に格納されているコマンドの代わりに用いられた代替コマンド又は代替コマンド群がフィールド「代替コマンド（群）」に格納されている。
【００３９】
なお、代替ＤＢ３７の記憶内容を参照することで、他の通信装置が正常な処理動作を行うことができていないコマンドを把握することができる。
レスポンス蓄積部３８には、各代替コマンドに対するレスポンス又は修正されたレスポンスが蓄積される。
＜適応通信処理部の機能構成＞
適応通信処理部３３は、リクエスト変更部５１、レスポンス条件決定部５２、照合部５３、判定制御部５４及びレスポンス修正部５５として機能する。
【００４０】
リクエスト変更部５１は、判定制御部５４に制御され、通信処理部３１から入力されるリクエストのコマンドを通信処理部３２及びレスポンス条件決定部５２へ出力し、或いは、代替ＤＢ３７に格納されている代替コマンド又は代替コマンド群に含まれる代替コマンドを順次通信処理部３２及びレスポンス条件決定部５２へ出力する。
レスポンス条件決定部５２は、リクエスト変更部５１から入力されるコマンド又は代替コマンドに対応したレスポンス条件をレスポンス条件ＤＢ３４から取り出してレスポンス条件の決定を行い、決定したレスポンス条件を照合部５３へ出力する。
【００４１】
照合部５３は、通信処理部３２から入力されるレスポンスをレスポンス条件決定部５２から入力されるレスポンス条件と照合し、照合結果を判定制御部５４へ出力する。
判定制御部５４は、修正ＤＢ３６及び代替ＤＢ３７の記憶内容を基にリクエスト変更部５１の制御を行い、修正ＤＢ３６、代替ＤＢ３７及び照合部５３による照合結果を基にレスポンス修正部５５の制御を行う。
【００４２】
判定制御部５４は、照合部５３から照合結果に応じて、コマンドＤＢ３５において代替コマンド又は代替コマンド群の検索を行い、検索の結果見つかった代替コマンド又は代替コマンド群を、リクエスト先の通信装置と通信処理部３１から適応通信処理部３３に入力されたコマンドとに対応させて代替ＤＢ３７に格納する。
レスポンス修正部５５は、判定制御部５４に制御されて、通信処理部３２から入力されるレスポンスをそのまま或いはレスポンス条件に合致するように修正して通信処理部３１へ出力する。
【００４３】
また、レスポンス修正部５５は、判定制御部５４に制御されて、通信処理部３２から入力されるレスポンスをそのまま或いはレスポンス条件に合致するように修正してレスポンス蓄積部３８に格納する。そして、レスポンス修正部５５は、レスポンス蓄積部３８に蓄積されているレスポンスを基に通信処理部３１から適応通信処理部３３に入力されるコマンドのレスポンス条件に合致したレスポンスを作成して、通信処理部３１へ出力する。  
【００４４】
＜適応通信処理部の動作：メインフロー＞
図４の適応通信処理部３３の動作につい図９を参照しつつ説明する。図９は図４の適応通信処理部３３により行われる処理動作のメインフローのフローチャートである。
リクエスト変更部５１は、通信処理部３１からリクエストのコマンドが入力されるのを待つ。そして、リクエスト変更部５１は、リクエストのコマンドの入力を受け付けると、受け付けたコマンドを判定制御部５４へ出力する（ステップＳ１０１）。
【００４５】
判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応してリクエストするコマンドが登録されているかを判定する（ステップＳ１０２）。リクエストするコマンドが修正ＤＢ３６に登録されていれば（Ｓ１０２：ＹＥＳ）、判定制御部５４は修正フラグをセットし（ステップＳ１０３）、ステップＳ１０５の処理へ進む。一方、リクエストするコマンドが修正ＤＢ３６に登録されていなければ（Ｓ１０２：ＮＯ）、判定制御部５４は修正フラグをリセットし（ステップＳ１０４）、ステップＳ１０５の処理へ進む。
【００４６】
判定制御部５４は、代替ＤＢ３７にリクエスト先の通信装置に対応してリクエストするコマンドがフィールド「コマンド」に登録されているかを判定する（ステップＳ１０５）。リクエストするコマンドが代替ＤＢ３７に登録されていれば（Ｓ１０５：ＹＥＳ）、判定制御部５４は代替フラグをセットし（ステップＳ１０６）、ステップＳ１０８の処理へ進む。一方、リクエストするコマンドが代替ＤＢ３７に登録されていなければ（Ｓ１０５：ＮＯ）、判定制御部５４は代替フラグをリセットし（ステップＳ１０７）、ステップＳ１０８の処理へ進む。
【００４７】
判定制御部５４は判定制御処理（図１０）を呼び出し（ステップＳ１０８）、その後ステップＳ１０１に戻ってコマンドの入力を待つ。
＜適応通信処理部の動作：判定制御処理＞
図４の適応通信処理部３３が行う図９の判定制御処理（ステップＳ１０８）及び後述する図１６の判定制御処理（ステップＳ６０６）について図１０を参照しつつ説明する。図１０は図９の判定制御処理（ステップＳ１０８）及び後述する図１６の判定制御処理（ステップＳ６０６）のフローチャートである。
【００４８】
判定制御部５４は代替フラグがセットされているかを判定する（ステップＳ２０１）。
代替フラグがセットされていれば（Ｓ２０１：ＹＥＳ）、判定制御部５４は代替コマンド処理（図１１）を呼び出し（ステップＳ２０３）、その後呼び出し元に戻る。
一方、代替フラグがセットされていなければ（Ｓ２０１：ＮＯ）、判定制御部５４は修正フラグがセットされているかを判定する（ステップＳ２０２）。
【００４９】
修正フラグがセットされていれば（Ｓ２０２：ＹＥＳ）、判定制御部５４は修正コマンド処理（図１２）を呼び出し（ステップＳ２０４）、その後呼び出し元に戻る。
一方、修正フラグがセットされていなければ（Ｓ２０２：ＮＯ）、判定制御部５４は修正コマンド処理（図１３）を呼び出し（ステップＳ２０５）、その後呼び出し元に戻る。
＜適応通信処理部の動作：代替コマンド処理＞
図４の適応通信処理部３３が行う図１０の代替コマンド処理（ステップＳ２０３）について図１１を参照しつつ説明する。図１１は図１０の代替コマンド処理（ステップＳ２０３）のフローチャートである。
【００５０】
リクエスト変更部５１は、代替ＤＢ３７からリクエスト先の機器と通信処理部３１から入力されたコマンドとに対応づけて登録されている代替コマンド又は代替コマンド群を取得する（ステップＳ３０１）。そして、リクエスト変更部５１は、取得した代替コマンド又は代替コマンド群のコマンド数Ｎを取得する（ステップＳ３０２）。
リクエスト変更部５１は、変数ｎの値を１にセットする（ステップＳ３０３）。
【００５１】
リクエスト変更部５１は、ｎ番目の代替コマンドをリクエストとして通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ３０４）。
レスポンス条件決定部５２は、リクエスト変更部５１から入力された代替コマンドに対応してレスポンス条件ＤＢ３４に格納されているレスポンス条件を取り出し、当該代替コマンドに対するレスポンス条件の決定を行う（ステップＳ３０５）。
【００５２】
適応通信処理部３３は、通信処理部３２からレスポンス（通信相手の装置からのレスポンス）が入力されるのを待つ（ステップＳ３０６）。
適応通信処理部３３は通信処理部３２からレスポンスの入力があると、照合部５３は、当該レスポンスをレスポンス条件と照合する（ステップＳ３０７）。
判定制御部５４は、照合部５３による照合結果を基に、レスポンスがレスポンス条件に合致するかを判定する（ステップＳ３０８）。
【００５３】
レスポンスがレスポンス条件に合致していれば（Ｓ３０８：ＹＥＳ）、レスポンス修正部５５は、ｎ番目の代替コマンドに対応したレスポンスとして入力されたレスポンスをそのままレスポンス蓄積部３８に記録し（ステップＳ３０９）、ステップＳ３１７の処理へ進む。
レスポンスがレスポンス条件に合致していなければ（Ｓ３０８：ＮＯ）、判定制御部５４は、照合部５３による照合結果を基に、レスポンスがレスポンス条件に包含されているか、つまり、レスポンスをレスポンス条件に合致するように修正可能であるかを判定する（ステップＳ３１０）。
【００５４】
なお、レスポンスがレスポンス条件に包含されている（レスポンスがレスポンス条件に合致するように修正可能）とは、リクエストしたコマンドに対して受信したレスポンスがレスポンス条件に合致していないが、リクエストしたコマンドに対して受信したレスポンスからレスポンス条件に合致するレスポンスを作成することができることを意味する。
レスポンスがレスポンス条件に包含されていなければ（Ｓ３１０：ＮＯ）、判定制御部５４は代替コマンド検索処理（図１４）を呼び出し（ステップＳ３２１）、その後呼び出し元に戻る。
【００５５】
なお、レスポンスがレスポンス条件に包含されていないとは、リクエストしたコマンドに対して受信したレスポンスがレスポンス条件に合致しておらず、リクエストしたコマンドに対して受信したレスポンスからレスポンス条件に合致するレスポンスを作成することができないことを意味する。
レスポンスがレスポンス条件に包含されていれば（Ｓ３１０：ＹＥＳ）、判定制御部５４はリクエスト先の機器に対応してｎ番目の代替コマンドが修正ＤＢ３６のフィールド「コマンド」に登録されているかを判定する（ステップＳ３１１）。
【００５６】
ｎ番目の代替コマンドが修正ＤＢ３６に登録されていれば（Ｓ３１１：ＹＥＳ）、レスポンス修正部５５はレスポンスをレスポンス条件に合致するように修正する（ステップＳ３１２）。そして、レスポンス修正部５５は、ｎ番目の代替コマンドに対応したレスポンスとして修正したレスポンスをレスポンス蓄積部３８に記録し（ステップＳ３１３）、ステップＳ３１７の処理へ進む。
【００５７】
ｎ番目の代替コマンドが修正ＤＢ３６に登録されていなければ（Ｓ３１１：ＮＯ）、判定制御部５４は修正ＤＢ３６のフィールド「リクエスト先」にリクエスト先の通信装置の装置名を、フィールド「コマンド」にｎ番目の代替コマンドを格納する（ステップＳ３１４）。レスポンス修正部５５は、レスポンスをレスポンス条件に合致するように修正し（ステップＳ３１５）、ｎ番目の代替コマンドに対応したレスポンスとして修正したレスポンスをレスポンス蓄積部３８に記録し（ステップＳ３１６）、ステップＳ３１７の処理へ進む。
【００５８】
リクエスト変更部５１は、変数ｎの値を１インクリメントし（ステップＳ３１７）、変数ｎの値がコマンド数Ｎより大きいかを判定する（ステップＳ３１８）。変数ｎの値がコマンド数Ｎより大きくなければ（Ｓ３１８：ＮＯ）、ステップＳ３０４の処理に戻る。
変数ｎの値がコマンド数Ｎより大きければ（Ｓ３１８：ＹＥＳ）、レスポンス修正部５５は、レスポンス蓄積部３８に格納した代替コマンドに対するレスポンス又は代替コマンド群に含まれる各代替コマンドに対するレスポンスからなるレスポンス群を基に、通信処理部３１から適応通信処理部３２に入力されたコマンドに対するレスポンスのレスポンス条件に合致するレスポンスを作成する（ステップＳ３１９）。そして、レスポンス修正部５５は、作成したレスポンスを通信処理部３１へ出力し（ステップＳ３２０）、呼び出し元に戻る。
【００５９】
＜適応通信処理部の動作：修正コマンド処理＞
図４の適応通信処理部３３が行う図１０の修正コマンド処理（ステップＳ２０４）について図１２を参照しつつ説明する。図１２は図１０の修正コマンド処理（ステップＳ２０４）のフローチャートである。
リクエスト変更部５１は、通信処理部３１から入力されるコマンドをそのままリクエストとして通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ４０１）。
【００６０】
レスポンス条件決定部５２は、リクエスト変更部５１から入力されたコマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ４０２）。
適応通信処理部３３は、通信処理部３２からレスポンス（通信相手の装置からのレスポンス）が入力されるのを待つ（ステップＳ４０３）。
【００６１】
適応通信処理部３３は通信処理部３２からレスポンスの入力があると、照合部５３は通信処理部３２から入力されたレスポンスをレスポンス条件と照合する（ステップＳ４０４）。
判定制御部５４は、照合部５３による照合結果を基に、レスポンスがレスポンス条件に合致するかを判定する（ステップＳ４０５）。
【００６２】
レスポンスがレスポンス条件に合致していれば（Ｓ４０５：ＹＥＳ）、レスポンス修正部５５は通信処理部３２から入力されたレスポンスをそのまま通信処理部３１へ出力し（ステップＳ４０６）、呼び出し元に戻る。
レスポンスがレスポンス条件に合致していなければ（Ｓ４０５：ＮＯ）、判定制御部５４は、照合部５３による照合結果を基に、レスポンスがレスポンス条件に包含されているか、つまり、レスポンスをレスポンス条件に合致するように修正可能であるかを判定する（ステップＳ４０７）。
【００６３】
レスポンスがレスポンス条件に包含されていなければ（Ｓ４０７：ＮＯ）、判定制御部５４は代替コマンド検索処理（図１４）を呼び出し（ステップＳ４１０）、その後呼び出し元に戻る。
レスポンスがレスポンス条件に包含されていれば（Ｓ４０７：ＹＥＳ）、レスポンス修正部５５は、レスポンスがレスポンス条件に合致するように当該レスポンスを修正し（ステップＳ４０８）、修正したレスポンスを通信処理部３１へ出力する（ステップＳ４０９）。そして、呼び出し元に戻る。
【００６４】
＜適応通信処理部の動作：通常コマンド処理＞
図４の適応通信処理部３３が行う図１０の通常コマンド処理（ステップＳ２０５）について図１３を参照しつつ説明する。図１３は図１０の通常コマンド処理（ステップＳ２０５）のフローチャートである。
リクエスト変更部５１は、通信処理部３１から入力されるコマンドをそのままリクエストとして通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ５０１）。
【００６５】
レスポンス条件決定部５２は、リクエスト変更部５１から入力されたコマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ５０２）。
適応通信処理部３３は、通信処理部３２からレスポンス（通信相手の装置からのレスポンス）が入力されるのを待つ（ステップＳ５０３）。
【００６６】
適応通信処理部３３は通信処理部３２からレスポンスの入力があると、照合部５３は通信処理部３２から入力されたレスポンスをレスポンス条件と照合する（ステップＳ５０４）。
判定制御部５４は、照合部５３による照合結果を基に、レスポンスがレスポンス条件に合致するかを判定する（ステップＳ５０５）。
【００６７】
レスポンスがレスポンス条件に合致していれば（Ｓ５０５：ＹＥＳ）、レスポンス修正部５５は通信処理部３２から入力されたレスポンスをそのまま通信処理部３１へ出力し（ステップＳ５０６）、呼び出し元に戻る。
レスポンスがレスポンス条件に合致していなければ（Ｓ５０５：ＮＯ）、判定制御部５４は、照合部５３による照合結果を基に、レスポンスがレスポンス条件に包含されているか、つまり、レスポンスをレスポンス条件に合致するように修正可能であるかを判定する（ステップＳ５０７）。
【００６８】
レスポンスがレスポンス条件に包含されていなければ（Ｓ５０７：ＮＯ）、判定制御部５４は代替コマンド検索処理（図１４）を呼び出し（ステップＳ５１１）、その後呼び出し元に戻る。
レスポンスがレスポンス条件に包含されていれば（Ｓ５０７：ＹＥＳ）、判定制御部５４は修正ＤＢ３６にリクエスト先の通信装置に対応付けてリクエストされたコマンドを登録する（ステップＳ５０８）。レスポンス修正部５５は、レスポンスがレスポンス条件に合致するように当該レスポンスを修正し（ステップＳ５０９）、修正したレスポンスを通信処理部３１へ出力する（ステップＳ５１０）。そして、呼び出し元に戻る。
【００６９】
＜適応通信処理部の動作：代替コマンド検索処理＞
図４の適応通信処理部３３が行う図１１、１２、１３の代替コマンド検索処理（ステップＳ３２１、Ｓ４１０、Ｓ５１１）について図１４を参照しつつ説明する。図１４は図１１、１２、１３の代替コマンド検索処理（ステップＳ３２１、Ｓ４１０、Ｓ５１１）のフローチャートである。
【００７０】
判定制御部５４は代替フラグがセットされているかを判定する（ステップＳ６０１）。代替フラグがセットされていなければ（Ｓ６０１：ＮＯ）、ステップＳ６０２の処理へ進み、代替フラグがセットされていれば（Ｓ６０１：ＹＥＳ）、ステップＳ６０８の処理へ進む。
判定制御部５４は、コマンドＤＢ３５において通信処理部３１から入力されたコマンドに対応する代替コマンド又は複数の代替コマンドからなる代替コマンド群を検索する（ステップＳ６０２）。判定制御部５４は、検索の結果、代替コマンド及び代替コマンド群の何れかがコマンドＤＢ３５にあったかを判定する（ステップＳ６０３）。
【００７１】
代替コマンド及び代替コマンド群の何れもがコマンドＤＢ３５になければ（Ｓ６０３：ＮＯ）、レスポンス修正部５５は通信処理部３１へエラー出力し（ステップＳ６０７）、呼び出し元に戻る。
代替コマンド及び代替コマンド群の何れかがコマンドＤＢ３５にあれば（Ｓ６０３：ＹＥＳ）、判定制御部５４は、リクエスト先の機器と通信処理部３１から入力されるコマンドとに対応させて検索の結果見つかった代替コマンド又は代替コマンド群を代替ＤＢ３７に登録する（ステップＳ６０４）。判定制御部５４は代替フラグをセットする（ステップＳ６０５）。そして、判定制御部５４は判定制御処理（図１０）を呼び出し（ステップＳ６０６）、その後呼び出し元に戻る。
【００７２】
判定制御部５４は、コマンドＤＢ３５において通信処理部３１から入力されるコマンドに対応した別の代替コマンド又は複数のコマンドからなる代替コマンド群を検索する（ステップＳ６０８）。なお、別の代替コマンド又は代替コマンド群は、リクエスト先の通信装置に対して通信処理部３１から入力されるコマンドに関してこれまでに対象となっていないコマンドＤＢ３５に記憶されている代替コマンド又は代替コマンド群である。そして、判定制御部５４は、検索の結果、コマンドＤＢ３５に別の代替コマンド及び代替コマンド群の何れかがコマンドＤＢ３５にあったかを判定する（ステップＳ６０９）。
【００７３】
別の代替コマンド及び代替コマンド群の何れもがコマンドＤＢ３５になければ（Ｓ６０９：ＮＯ）、レスポンス修正部５５は通信処理部３１へエラー出力し（ステップＳ６１１）、呼び出し元に戻る。
別の代替コマンド及び代替コマンド群の何れかがコマンドＤＢ３５にあれば（Ｓ６０９：ＹＥＳ）、判定制御部５４は、リクエスト先の通信装置と通信処理部３１から入力されたコマンドとに対応して代替ＤＢ３７に登録されている代替コマンド又は代替コマンド群を、検索の結果見つかった別の代替コマンド又は代替コマンド群に更新する（ステップＳ６１０）。判定制御部５４は代替フラグをセットする（ステップＳ６０５）。そして、判定制御部５４は判定制御処理（図１０）を呼び出し（ステップＳ６０６）、その後呼び出し元に戻る。
【００７４】
＜具体例：ＰＯＰ３＞
（通信装置の動作：レスポンスの修正）
図４の通信装置１がリクエストに対するレスポンスを修正する場合の通信装置１の動作について図１５を参照しつつ説明する。図１５は図４の通信装置１がリクエストに対するレスポンスの修正を行う場合の動作シーケンスである。
【００７５】
通信処理部３１から適応通信処理部３３にＴＯＰコマンドが入力される（ステップＳ１）。適応通信処理部３３の判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応してＴＯＰコマンドが登録されていないので修正フラグをリセットし、代替ＤＢ３７にリクエスト先の機器に対応してフィールド「コマンド」にＴＯＰコマンドが登録されていないので代替フラグをリセットする。判定制御部５４は、代替フラグがセットされておらず、修正フラグがセットされていないので、通常コマンド処理を呼び出す（ステップＳ２）。
【００７６】
リクエスト変更部５１は、通信処理部３１から入力されたＴＯＰコマンドをそのまま通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ３）。このＴＯＰコマンドが通信装置１から通信相手の装置へリクエストとして送信され、通信装置１は通信相手の装置からＴＯＰコマンドに対するレスポンスを受信することになる。
レスポンス条件決定部５２は、ＴＯＰコマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ４）。
【００７７】
通信装置１は通信相手の装置からＴＯＰコマンドに対するレスポンスを受け取り、通信処理部３２から適応通信処理部３３にレスポンスが入力される（ステップＳ５）。照合部５３はレスポンスをレスポンス条件と照合する（ステップＳ６）。
ここで、レスポンス条件のメール本文の行数が５行で、通信処理部３２から入力されるレスポンスに含まれるメール本文の行数が７行であったとすると、判定制御部５４は、レスポンスがレスポンス条件に合致せず（ステップＳ７）、包含されていると判断する（ステップＳ８）。判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応付けてＴＯＰコマンドを登録する（ステップＳ９）。
【００７８】
レスポンス修正部５５は、通信処理部３２から入力されるレスポンスをレスポンス条件に合致するように修正し（ステップＳ１０）、修正したレスポンスを通信処理部３１へ出力する（ステップＳ１１）。レスポンス条件が指定したメール本文の行数が５行で、レスポンスに含まれるメール本文の行数が７行であれば、メール本文から２行分削除して５行にすることによってレスポンスの修正が行われる。
【００７９】
再び、ステップＳ１からステップＳ１１と同じ通信相手の通信装置に対してＴＯＰコマンドがリクエストされるとする。
通信処理部３１から適応通信処理部３３にＴＯＰコマンドが入力される（ステップＳ３１）。適応通信処理部３３の判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応してＴＯＰコマンドが登録されているので修正フラグをセットし、代替ＤＢ３７にリクエスト先の機器に対応してＴＯＰコマンドが登録されていないので代替フラグをリセットする。判定制御部５４は、代替フラグがセットされておらず、修正フラグがセットされているので、修正コマンド処理を呼び出す（ステップＳ３２）。
【００８０】
リクエスト変更部５１は、通信処理部３１から入力されたＴＯＰコマンドをそのまま通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ３３）。このＴＯＰコマンドが通信装置１から通信相手の装置へリクエストとして送信され、通信装置１は通信相手の装置からＴＯＰコマンドに対するレスポンスを受信することになる。
レスポンス条件決定部５２は、ＴＯＰコマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ３４）。
【００８１】
通信装置１は通信相手の装置からＴＯＰコマンドに対するレスポンスを受け取り、通信処理部３２から適応通信処理部３３にレスポンスが入力される（ステップＳ３５）。照合部５３はレスポンスをレスポンス条件と照合する（ステップＳ３６）。
ここで、レスポンス条件のメール本文の行数が５行で、通信処理部３２から入力されるレスポンスに含まれるメール本文の行数が７行であったとすると、判定制御部５４は、レスポンスがレスポンス条件に合致せず（ステップＳ３７）、包含されていると判断する（ステップＳ３８）。
【００８２】
レスポンス修正部５５は、通信処理部３２から入力されるレスポンスをレスポンス条件に合致するように修正し（ステップＳ３９）、修正したレスポンスを通信処理部３１へ出力する（ステップＳ４０）。
（通信装置の動作：コマンドの代替）
図４の通信装置１が代替コマンドを用いて通信を継続する場合の通信装置１の動作について図１６及び図１７を参照しつつ説明する。図１６及び図１７は図４の通信装置１が代替コマンドを用いて通信を継続する場合の動作シーケンスである。
【００８３】
通信処理部３１から適応通信処理部３３にＴＯＰコマンドが入力される（ステップＳ５１）。適応通信処理部３３の判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応してＴＯＰコマンドが登録されていないので修正フラグをリセットし、代替ＤＢ３７にリクエスト先の機器に対応してフィールド「コマンド」にＴＯＰコマンドが登録されていないので代替フラグをリセットする。判定制御部５４は、代替フラグがセットされておらず、修正フラグがセットされていないので、通常コマンド処理を呼び出す（ステップＳ５２）。
【００８４】
リクエスト変更部５１は、通信処理部３１から入力されたＴＯＰコマンドをそのまま通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ５３）。このＴＯＰコマンドが通信装置１から通信相手の装置へリクエストとして送信され、通信装置１は通信相手の装置からＴＯＰコマンドに対するレスポンスを受信することになる。
レスポンス条件決定部５２は、ＴＯＰコマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ５４）。
【００８５】
通信装置１は通信相手の装置からＴＯＰコマンドに対するレスポンスを受け取り、通信処理部３２から適応通信処理部３３にレスポンスが入力される（ステップＳ５５）。照合部５３はレスポンスをレスポンス条件と照合する（ステップＳ５６）。
ここで、レスポンス条件のメール本文の行数が１０行で、通信処理部３２から入力されるレスポンスに含まれるメール本文の行数が７行であったとすると、判定制御部５４は、レスポンスがレスポンス条件に合致せず（ステップＳ５７）、包含されていないと判断し、代替コマンド検索処理を呼び出す（ステップＳ５８）。
【００８６】
判定制御部５４は、コマンドＤＢ３５にＴＯＰコマンドに対応して記憶されている代替コマンド又は代替コマンド群を検索し（ステップＳ５９）、検索の結果見つかったＲＥＴＲ代替コマンドをリクエスト先の通信機器とＴＯＰコマンドとに対応付けて代替ＤＢ３７に登録する（ステップＳ６０）。
判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応してＴＯＰコマンドが登録されていないので修正フラグをリセットし、代替ＤＢ３７にリクエスト先の機器に対応してフィールド「コマンド」にＴＯＰコマンドが登録されているので代替フラグをセットする。判定制御部５４は、代替フラグがセットされているので、代替コマンド処理を呼び出す。
【００８７】
リクエスト変更部５１は、リクエスト先の通信装置と通信処理部３１から入力されたＴＯＰコマンドに対応して代替ＤＢ３５に記憶されているＲＥＴＲ代替コマンドを取り出し、ＲＥＴＲ代替コマンドを通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ６１）。このＲＥＴＲ代替コマンドが通信装置１から通信相手の装置へリクエストとして送信され、通信装置１は通信相手の装置からＲＥＴＲ代替コマンドに対するレスポンスを受信することになる。
【００８８】
レスポンス条件決定部５２は、ＲＥＴＲ代替コマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ６２）。
通信装置１は通信相手の装置からＲＥＴＲ代替コマンドに対するレスポンスを受け取り、通信処理部３２から適応通信処理部３３にレスポンスが入力される（ステップＳ６３）。照合部５３はレスポンスをレスポンス条件と照合する（ステップＳ６４）。
【００８９】
ここで、レスポンスにメール本文全てが含まれているとすると、判定制御部５４は、レスポンスがレスポンス条件に合致すると判断し（ステップＳ６５）、レスポンス修正部５５は入力されたレスポンスをレスポンス蓄積部３８に格納する（ステップＳ６６）。
レスポンス修正部５５は、ＲＥＴＲ代替コマンドに対するレスポンスを利用して、通信処理部３１から入力されたＴＯＰコマンドのレスポンス条件に合致したレスポンスを作成し（ステップＳ６７）、作成したレスポンスを通信処理部３１へ出力する（ステップＳ６８）。
【００９０】
再び、ステップＳ５１からステップＳ６８と同じ通信相手の通信装置に対してＴＯＰコマンドがリクエストされるとする。
通信処理部３１から適応通信処理部３３にＴＯＰコマンドが入力される（ステップＳ８１）。適応通信処理部３３の判定制御部５４は、修正ＤＢ３６にリクエスト先の通信装置に対応してＴＯＰコマンドが登録されていないので修正フラグをリセットし、代替ＤＢ３７にリクエスト先の機器に対応してフィールド「コマンド」にＴＯＰコマンドが登録されているので代替フラグをセットする。判定制御部５４は、代替フラグがセットされているので、代替コマンド処理を呼び出す（ステップＳ８２）。
【００９１】
リクエスト変更部５１は、リクエスト先の通信装置と通信処理部３１から入力されたＴＯＰコマンドに対応して代替ＤＢ３７に記憶されているＲＥＴＲ代替コマンドを取り出し（ステップＳ８３）、ＲＥＴＲ代替コマンドを通信処理部３２及びレスポンス条件決定部５２へ出力する（ステップＳ８４）。このＲＥＴＲ代替コマンドが通信装置１から通信相手の装置へリクエストとして送信され、通信装置１は通信相手の装置からＲＥＴＲ代替コマンドに対するレスポンスを受信することになる。
【００９２】
レスポンス条件決定部５２は、ＲＥＴＲ代替コマンドに対応してレスポンス条件ＤＢ３４に記憶されているレスポンス条件を取り出し、レスポンス条件の決定を行う（ステップＳ８５）。
通信装置１は通信相手の装置からＲＥＴＲ代替コマンドに対するレスポンスを受け取り、通信処理部３２から適応通信処理部３３にレスポンスが入力される（ステップＳ８６）。照合部５３はレスポンスをレスポンス条件と照合する（ステップＳ８７）。
【００９３】
ここで、レスポンスにメール本文全てが含まれているとすると、判定制御部５４は、レスポンスがレスポンス条件に合致すると判断し（ステップＳ８８）、レスポンス修正部５５は入力されたレスポンスをレスポンス蓄積部３８に格納する（ステップＳ８９）。
レスポンス修正部５５は、ＲＥＴＲ代替コマンドに対するレスポンスを利用して、通信処理部３１から入力されたＴＯＰコマンドのレスポンス条件に合致したレスポンスを作成し（ステップＳ９０）、作成したレスポンスを通信処理部３１へ出力する（ステップＳ９１）。
【００９４】
≪第２の実施の形態≫
以下、本発明の第２の実施の形態について図面を参照しつつ説明する。
第２の実施の形態は、第１の実施の形態にレスポンスの修正、及び代替コマンド又は代替コマンド群を用いた継続通信、の夫々の実行に制限を加える機能を付加したものである。
【００９５】
なお、本実施の形態において、第１の実施の形態と同じ機能を有する構成要素及び処理を行う処理ステップには同じ符号を付し、第１の実施の形態の説明が適用できるため、本実施の形態ではその説明を省略する。
＜通信装置の装置構成＞
本実施の形態の通信装置１ａの装置構成について図１８を参照しつつ説明する。図１８は本実施の形態の通信装置１ａの装置構成図である。
【００９６】
通信装置１ａは、ＣＰＵ１１ａ、メモリ１２ａ、ＤＳＰ１３、アシスト回路１４、通信インタフェース（通信ＩＦ）１５、表示制御回路１６、表示デバイス１７ａ、入力インタフェース（入力ＩＦ）１８、キーボード１８ａ、マウス１８ｂ、及びタブレッド１８ｃを備える。ＣＰＵ１１ａ、メモリ１２ａ、ＤＳＰ１３、アシスト回路１４、通信ＩＦ１５、表示制御回路１６、入力ＩＦ１８は、夫々、バス１９に接続されている。
【００９７】
表示デバイス１７ａには制限レベル設定画面が表示されるとともに、ＣＰＵ１１ａの処理によりメモリ１２ａには制限レベル設定画面でユーザによって指定される制限レベルが格納される。
＜制限レベル設定画面＞
図１８の表示デバイス１７ａに表示される制限レベル設定画面について図１９を参照しつつ説明する。図１９は図１８の表示デバイス１７ａに表示される制限レベル設定画面の一例である。
【００９８】
制限レベル設定画面には、「スライダのつまみを移動して、レスポンスの修正の実行、及び代替コマンド又は代替コマンド群を用いた継続通信の実行に、制限をかけるための制限レベルを設定します。」のメッセージ１７Ａが表示される。
また、制限レベル設定画面には、スライダ１７Ｂが表示され、ユーザはマウス１８ｂなどを利用してつまみ１７Ｃを移動させることによって制限レベルを指定することができる。制限レベルは、レスポンスの修正の実行、及び代替コマンド又は代替コマンド群を用いた継続通信の実行に、制限をかけるためのものである。
【００９９】
スライダ１７Ｂ及びつまみ１７Ｃにより、制限レベルとして６段階の制限レベルが指定できるようになっており、画面上から画面下に向かって制限レベルが低くなる。但し、制限レベルの数値として、高い制限レベルから低い制限レベルに向かって、“５”、“４”、・・・、“１”、“０”が割り当てられている。
例えば、制限レベルを危険度とした場合は、制限レベル“５”は最も安全度の高い（危険度の低い）レベルを示しており、制限レベル“０”は最も安全度の低い（危険度の高い）レベルを示している。
【０１００】
さらに、制限レベル設定画面には、制限レベル決定用の“ＯＫ”ボタン１７Ｄと、キャンセル用の“キャンセル”ボタン１７Ｅとが表示される。
＜ＣＰＵの動作：制限レベル受付処理＞
図１８のＣＰＵ１１ａが行う制限レベル格納処理について図２０を参照しつつ説明する。図２０は図１８のＣＰＵ１１ａにより行われる制限レベル受付処理のフローチャートである。
【０１０１】
ＣＰＵ１１ａは、キーボード１８ａやマウス１８ｂなどから入力ＩＦ１８を介して入力される入力信号に基づいて、ユーザの入力操作を監視する（ステップＳ７０１）。
ＣＰＵ１１ａは、入力信号に基づいて、ユーザの入力操作が制限レベル設定画面の呼び出し操作であるかを判定する（ステップＳ７０２）。制限レベル設定画面の呼び出し操作が行われていなければ（Ｓ７０２：ＮＯ）、ステップＳ７０１の処理に戻る。
【０１０２】
制限レベル設定画面の呼び出し操作が行われていれば（Ｓ７０２：ＹＥＳ）、ＣＰＵ１１ａは表示制御回路１６を制御して図１９に一例を示した制限レベル設定画面を表示デバイス１７ａに表示する（ステップＳ７０３）。
ユーザは、制限レベル設定画面を利用して、マウス１８ｂなどを用いてつまみ１７Ｃを移動させたり、“ＯＫ”ボタン１７Ｄや“キャンセル”ボタン１７Ｅを押下したりする。
【０１０３】
ＣＰＵ１１ａは、マウス１８ｂなどから入力ＩＦ１８を介して入力される入力信号に基づいて、ユーザによる押下ボタンが“ＯＫ”ボタン１７Ｄであるか、“キャンセル”ボタン１７Ｅであるかを判定する（ステップＳ７０４）。
“ＯＫ”ボタン１７Ｄが押下されていれば（Ｓ７０４：ＯＫ）、ＣＰＵ１１ａは、つまみの位置に基づいて制限レベルを特定し、特定した制限レベルをメモリ１２ａの後述する制限レベル記憶部３９に格納する（ステップＳ７０５）。そして、ＣＰＵ１１ａは表示制御回路１６を制御して制限レベル設定画面の非表示処理を行い（ステップＳ７０６）、ステップＳ７０１に戻る。
【０１０４】
“キャンセル”ボタン１７Ｅが押下されていれば（Ｓ７０４：キャンセル）、ＣＰＵ１１ａは表示制御回路１６を制御して制限レベル設定画面の非表示処理を行い（ステップＳ７０６）、ステップＳ７０１に戻る。
＜通信装置の機能構成＞
図１８の通信装置１ａの機能構成について図２１を参照しつつ説明する。図２１は図１８の通信装置１ａの機能構成図である。
【０１０５】
通信装置１ａは、通信処理部３１、３２、適応通信処理部３３ａ、レスポンス条件データベース（レスポンス条件ＤＢ）３４、コマンドデータベース（コマンドＤＢ）３５ａ、修正データベース（修正ＤＢ３６）、代替データベース（代替ＤＢ）３７、レスポンス蓄積部３８、及び閾値記憶部３９を有する。
適応通信処理部３３ａは、通信処理部３１と通信処理部３２との間に位置し、通信処理部３１と通信処理部３２との間の通信の中継を行う。なお、適応通信処理部３３ａの機能の詳細は後述する。
【０１０６】
コマンドＤＢ３５ａは、各コマンドに対応して、当該コマンドの代わりとなる代替コマンド又は複数の代替コマンドからなる代替コマンド群とその代替動作レベルとの対が格納されており、その一例を図２２に示す。代替コマンド又は代替コマンド群と対になった代替動作レベルが制限レベルを超えていれば場合に、代替コマンド又は代替コマンド群を用いた継続通信が行われる。
【０１０７】
図２２の例では、フィールド「コマンド」に格納されているコマンドの代わりとなる代替コマンド又は代替コマンド群及び代替動作レベルの対が、フィールド「代替（１）」、「代替（２）」、「代替（３）」に格納される。フィールド「代替（１）」、「代替（２）」、代替（３）」には、代替コマンド又は代替コマンドが格納される領域と、その代替動作レベルが格納される領域とがある。
【０１０８】
制限レベル記憶部３９は、図２０の制限レベル受付処理の実行により決められた制限レベルを記憶する記憶部である。
＜適応通信処理部の機能構成＞
適応通信処理部３３ａは、リクエスト変更部５１、レスポンス条件決定部５２、照合部５３、判定制御部５４ａ及びレスポンス修正部５５ａとして機能する。
【０１０９】
判定制御部５４ａは、修正ＤＢ３６及び代替ＤＢ３７の記憶内容を基にリクエスト変更部５１の制御を行い、修正ＤＢ３６、代替ＤＢ３７及び照合部５３による照合結果を基にレスポンス修正部５５ａの制御を行う。
判定制御部５４ａは、照合部５３から照合結果に応じて、コマンドＤＢ３５において代替コマンド又は代替コマンド群の検索を行い、検索の結果見つかった代替コマンド又は代替コマンド群の代替動作レベルが制限レベル記憶部３９に記憶されている制限レベル以上であれば、リクエスト先の通信装置と通信処理部３１から適応通信処理部３３ａに入力されたコマンドとに対応させて代替ＤＢ３７に格納する。
【０１１０】
レスポンス修正部５５ａは、判定制御部５４に制御されて、通信処理部３２から入力されるレスポンスをそのまま、或いは、修正動作レベルが制限レベル記憶部３９に記憶されている制限レベル以上である場合にはレスポンス条件に合致するように修正して通信処理部３１へ出力する。
また、レスポンス修正部５５ａは、判定制御部５４に制御されて、通信処理部３２から入力されるレスポンスをそのまま、或いは、修正動作レベルが制限レベル記憶部３９に記憶されている制限レベル以上である場合にはレスポンス条件に合致するように修正してレスポンス蓄積部３８に格納する。そして、レスポンス修正部５５ａは、レスポンス蓄積部３８に蓄積されているレスポンスを基に通信処理部３１から適応通信処理部３３ａに入力されるコマンドのレスポンス条件に合致したレスポンスを作成して、通信処理部３１へ出力する。
【０１１１】
＜適応通信処理部の動作＞
以下、適応通信処理部３３ａの動作を説明する。
但し、適応通信処理部３３ａは、図９及び図１０に示すフローと実質的に同じ処理により、リクエスト入力処理及び判定制御処理を行う。
なお、本実施の形態では、図９の判定制御処理（ステップＳ１０８）において図１０の判定制御処理フローが呼び出される。
【０１１２】
また、図１０の代替コマンド処理（ステップＳ２０３）において図２３の代替コマンド処理フローが呼び出され、修正コマンド処理（ステップＳ２０４）において図２４の修正コマンド処理フローが呼び出され、通常コマンド処理（ステップＳ２０５）において図２５の通常コマンド処理フローが呼び出される。
＜適応通信処理部の動作：代替コマンド処理＞
図２１の適応通信処理部３３ａが行う図１０の代替コマンド処理（ステップＳ２０３）について図２３を参照しつつ説明する。図２３は図１０の代替コマンド処理（ステップＳ２０３）のフローチャートである。
【０１１３】
図２３の代替コマンド処理フローは、図１１の代替コマンド処理フローに、レスポンスがレスポンス条件に包含されているかの判定ステップ（ステップＳ３１０）を行う前に、レスポンスの修正を実行するかの判定ステップを加えたものである。
なお、代替コマンド検索処理（ステップＳ３２１）において図２６の代替コマンド検索処理フローが呼び出される。
【０１１４】
ステップＳ３０８の判定ステップにおいて、判定制御部５４ａによってレスポンスがレスポンス条件に合致していないと判定された場合（Ｓ３０８：ＮＯ）、レスポンス修正部５５ａは、予め設定されている修正動作レベルが制限レベル記憶部３９に記憶されている制限レベルを超えているかを判定する（ステップＳ３０８Ａ）。
修正動作レベルが制限レベルを超えていれば（Ｓ３０８Ａ：ＹＥＳ）、ステップＳ３１０以降の処理が行われる。修正動作レベルが制限レベル以下であれば（Ｓ３０８Ａ：ＮＯ）、ステップＳ３２１以降の処理が行われる。
【０１１５】
＜適応通信処理部の動作：修正コマンド処理＞
図２１の適応通信処理部３３ａが行う図１０の修正コマンド処理（ステップＳ２０４）について図２４を参照しつつ説明する。図２４は図１０の修正コマンド処理（ステップＳ２０４）のフローチャートである。
図２４の修正コマンド処理フローは、図１２の修正コマンド処理フローに、レスポンスがレスポンス条件に包含されているかの判定ステップ（ステップＳ４０７）を行う前に、レスポンスの修正を実行するかの判定ステップを加えたものである。
【０１１６】
なお、代替コマンド検索処理（ステップＳ４１０）において図２６の代替コマンド検索処理フローが呼び出される。
ステップＳ４０５の判定ステップにおいて、判定制御部５４ａによってレスポンスがレスポンス条件に合致していないと判定された場合（Ｓ４０５：ＮＯ）、レスポンス修正部５５ａは、予め設定されている修正動作レベルが制限レベル記憶部３９に記憶されている制限レベルを超えているかを判定する（ステップＳ４０５Ａ）。
【０１１７】
修正動作レベルが制限レベルを超えていれば（Ｓ４０５Ａ：ＹＥＳ）、ステップＳ４０７以降の処理が行われる。修正動作レベルが制限レベル以下であれば（Ｓ４０５Ａ：ＮＯ）、ステップＳ４１０以降の処理が行われる。
＜適応通信処理部の動作：通常コマンド処理＞
図２１の適応通信処理部３３ａが行う図１０の通常コマンド処理（ステップＳ２０５）について図２５を参照しつつ説明する。図２５は図１０の通常コマンド処理（ステップＳ２０５）のフローチャートである。
【０１１８】
図２５の通常コマンド処理フローは、図１３の通常コマンド処理フローに、レスポンスがレスポンス条件に包含されているかの判定ステップ（ステップＳ５０７）を行う前に、レスポンスの修正を実行するかの判定ステップを加えたものである。
なお、代替コマンド検索処理（ステップＳ５１１）において図２６の代替コマンド検索処理フローが呼び出される。
【０１１９】
ステップＳ５０５の判定ステップにおいて、判定制御部５４ａによってレスポンスがレスポンス条件に合致していないと判定された場合（Ｓ５０５：ＮＯ）、レスポンス修正部５５ａは、予め設定されている修正動作レベルが制限レベル記憶部３９に記憶されている制限レベルを超えているかを判定する（ステップＳ５０５Ａ）。
修正動作レベルが制限レベルを超えていれば（Ｓ５０５Ａ：ＹＥＳ）、ステップＳ５０７以降の処理が行われる。修正動作レベルが制限レベル以下であれば（Ｓ４０５Ａ：ＮＯ）、ステップＳ５１１以降の処理が行われる。
＜適応通信処理部の動作：代替コマンド検索処理＞
図２１の適応通信処理部３３ａが行う図２３、２４、２５の代替コマンド検索処理（ステップＳ３２１、Ｓ４１０、Ｓ５１１）について図２６を参照しつつ説明する。図２６は図２３、２４、２５の代替コマンド検索処理（ステップＳ３２１、Ｓ４１０、Ｓ５１１）のフローチャートである。
【０１２０】
図２６の代替コマンド検索処理フローは、図１４の代替コマンド検索処理フローに、次の２つの判定ステップを加えたものである。
１つ目の判定ステップは、代替コマンド及び代替コマンド群の何れかがあったと判定された（ステップＳ６０３：ＹＥＳ）後、検索の結果見つかった代替コマンド又は代替コマンド群を用いた通信の実行を行うかを決めるための判定ステップである。
【０１２１】
２つ目の判定ステップは、別の代替コマンド及び代替コマンド群の何れかがあったと判定された（ステップＳ６０９：ＹＥＳ）後、検索の結果見つかった別の代替コマンド又は代替コマンド群を用いた通信の実行を行うかを決めるための判定ステップである。
ステップＳ６０３の判定ステップにおいて、判定制御部５４ａによって代替コマンド及び代替コマンド群の何れかがあったと判定された場合（Ｓ６０３：ＹＥＳ）、判定制御部５４ａは、コマンドＤＢ３５ａを参照して、検索の結果見つかった代替コマンド又は代替コマンド群の代替動作レベルを取得する。そして、判定制御部５４ａは、取得した代替動作レベルが制限レベル記憶部３９に記憶されている制限レベルを超えているかを判定する（ステップＳ６０３Ａ）。
【０１２２】
代替動作レベルが制限レベルを超えていれば（Ｓ６０３Ａ：ＹＥＳ）、ステップＳ６０４以降の処理が行われる。代替動作レベルが制限レベル以下であれば（Ｓ６０３Ａ：ＮＯ）、ステップＳ６０２以降の処理が行われる。
なお、代替動作レベルが制限レベルを超えていれば（Ｓ６０３Ａ：ＹＥＳ）、検索の結果見つかった代替コマンド又は代替コマンド群が代替ＤＢ３７に格納され、図１０の判定制御フローを経て図２３の代替コマンド処理フローが実行される。つまり、ステップＳ６０３Ａの判定ステップは、検索の結果見つかった代替コマンド又は代替コマンド群を用いた通信の実行を行うかを決めるための判定ステップと等価である。
【０１２３】
ステップＳ６０９の判定ステップにおいて、判定制御部５４ａによって別の代替コマンド及び代替コマンド群の何れかがあったと判定された場合（Ｓ６０９：ＹＥＳ）、判定制御部５４ａは、コマンドＤＢ３５ａを参照して、検索の結果見つかった別の代替コマンド又は代替コマンド群の代替動作レベルを取得する。そして、判定制御部５４ａは、取得した代替動作レベルが制限レベル記憶部３９に記憶されている制限レベルを超えているかを判定する（ステップＳ６０９Ａ）。
【０１２４】
代替動作レベルが制限レベルを超えていれば（Ｓ６０９Ａ：ＹＥＳ）、ステップＳ６１０以降の処理が行われる。代替動作レベルが制限レベル未満であれば（Ｓ６０９Ａ：ＮＯ）、ステップＳ６０８以降の処理が行われる。
なお、代替動作レベルが制限レベルを超えていれば（Ｓ６０９Ａ：ＹＥＳ）、検索の結果見つかった別の代替コマンド又は代替コマンド群が代替ＤＢ３７に格納され、図１０の判定制御フローを経て図２３の代替コマンド処理フローが実行される。つまり、ステップＳ６０９Ａの判定ステップは、検索の結果見つかった別の代替コマンド又は代替コマンド群を用いた通信の実行を行うかを決めるための判定ステップと等価である。
【０１２５】
＜具体例＞
以下、具体例を挙げて説明する。
修正動作レベルが“１”に設定されている。また、コマンドａに対して代替コマンドａ１と代替コマンドａ２とがあり、代替コマンドａ１の代替動作レベルが“２”に、代替コマンドａ２の代替コマンド動作レベルが“４”であるとする。そして、通信処理部３１から適応通信処理部３３ａへコマンドａ１が入力されたとする。
【０１２６】
（１）ユーザによって制限レベルが“０”に設定されている場合、以下の通りである。
修正動作レベル“１”は制限レベル“０”を超えているので、必要な場合にはレスポンスの修正が行われる。また、代替コマンドａ１の代替動作レベル“２”と代替コマンドａ２の代替動作レベル“４”とは制限レベル“０”を超えているので、必要な場合には代替コマンドａ１を用いた通信が行われ、必要な場合には代替コマンドａ２を用いた通信が行われる。
【０１２７】
（２）ユーザによって制限レベルが“１”に設定されている場合、以下の通りである。
修正動作レベル“１”は制限レベル“１”を超えていないので、レスポンスの修正の実行は行われない。これに対して、代替コマンドａ１の代替動作レベル“２”と代替コマンドａ２の代替動作レベル“４”とは制限レベル“１”を超えているので、必要な場合には代替コマンドａ１を用いた通信が行われ、必要な場合には代替コマンドａ２を用いた通信が行われる。
【０１２８】
（３）ユーザによって制限レベルが“２”に設定されている場合、以下の通りである。
修正動作レベル“１”は制限レベル“２”を超えていないので、レスポンスの修正の実行は行われない。また、代替コマンドａ１の代替動作レベル“２”は制限レベル“２”を超えていないので、代替コマンドａ１を用いた通信は行われない。これに対して、代替コマンドａ２の代替動作レベル“４”は制限レベル“２”を超えているので、必要な場合には代替コマンドａ２を用いた通信が行われる。
【０１２９】
（４）ユーザによって制限レベルが“５”に設定されている場合、以下の通りである。
修正動作レベル“１”は制限レベル“５”を超えていないので、レスポンスの修正の実行は行われない。また、代替コマンドａ１の代替動作レベル“２”と代替コマンドａ２の代替動作レベル“４”は制限レベル“５”を超えていないので、代替コマンドａ１を用いた通信と代替コマンドａ２を用いた通信は行われない。
【０１３０】
このように、レスポンスの修正を行うか、代替コマンド又は代替コマンド群を用いた通信をどの程度行うかを、ユーザ側の判断で決定することができる。
＜補足＞
本発明は上記の実施の形態に限られるものではなく、例えば、以下のようなものも含まれる。
【０１３１】
（１）上記の実施の形態ではＴＣＰ／ＩＰ階層モデルを例に挙げて説明したが、これに限らず、本発明は他のモデルに対しても適用することができる。
（２）上記の実施の形態では処理対象のプロトコルをＰＯＰ３などとし、ＰＯＰ３などのプロトコルとＴＣＰ或いはＵＤＰとの間に本発明の機能を設けた場合を例に挙げて説明したが、これに限らず、任意の処理対象のプロトコルとその下位層に位置するプロトコルとの間に本発明の機能を設けることができる。
【０１３２】
（３）上記の実施の形態では、ＰＯＰ３などのプロトコルとＴＣＰ或いはＵＤＰとの間に本発明の機能を設けた場合を例に挙げて説明したが、これに限らず、処理対象のプロトコルに本発明の機能を組み込んでもよく、また、処理対象のプロトコルの下位層に位置するプロトコルに本発明の機能を組み込んでもよい。
（４）上記の第１の実施の形態では、コマンドＤＢ３５は予め作成されている場合を例に挙げて説明したがこれに限らず、コマンドＤＢを例えば推論機構を用いて自動生成するようにしてもよい。
【０１３３】
全ての通信コマンドの集合をＡとし、通信コマンドｘの機能をｆｕｎｃ（ｘ）とし、通信コマンドｘ，ｙ，・・・を組み合わせた場合の機能をＦＵＮＣ（ｘ，ｙ，・・・）とする。
コマンドａ（ａ∈Ａ）は、ｆｕｎｃ（ａ）⊆ｆｕｎｃ（ｂ）となるコマンドｂ（ｂ∈Ｂ）で代替可能である。また、コマンドａ（ａ∈Ａ）は、ｆｕｎｃ（ａ）⊆ｆｕｎｃ（ｘ，ｙ，・・・）となるコマンド群ｘ，ｙ，・・・（ｘ，ｙ，・・・∈Ｂ）で代替可能である。
【０１３４】
上記のルールを利用して、レスポンス条件ＤＢ３４を検索することによって、コマンドａの代わりとなる一つの代替コマンド又は複数の代替コマンドを含む代替コマンド群を生成することができる。
例えば、ＰＯＰを例にすれば、ｆｕｎｃ（ＴＯＰ）⊆ｆｕｎｃ（ＲＥＴＲ）とｆｕｎｃ（ＬＩＳＴ）⊆ｆｕｎｃ（ＳＴＡＴ）の関係を述語理論を利用した推論機構によって発見できる。これにより、ＴＯＰはＲＥＴＲで、ＬＩＳＴはＳＴＡＴで代替することが可能なことが分かる。
【０１３５】
（５）パーソナルコンピュータなどの機器とサーバ装置などの機器との間の通信、パーソナルコンピュータと周辺デバイスとの間の通信、ＬＳＩ（large Scale Integration）間の通信、チップ内の通信などの様々な通信において、リクエストと当該リクエストに対するレスポンスの送受信を行うものであれば本発明の機能を適用することができる。
例えば、本発明の機能は、ＡＴＡＰＩ（AT Attachment Interface）やシリアルＡＴＰＩなどのＨＤＤインタフェースでの通信、ＵＳＢやＢｌｕｅｔｏｏｔｈ上の通信、Ｉ２Ｃ（Inter-Integrated Circuit）といったシリアルバスのプロトコルなどによるチップ内通信などに適用できる。
【０１３６】
（６）上記の実施の形態では、修正ＤＢ３６と代替ＤＢ３７の記憶を通信装置単位で行っている場合を例に挙げて説明したが、これに限らず、例えば、機種名の取得が可能な状況においては修正ＤＢ３６と代替ＤＢ３７の記憶を通信装置の機種単位で行うようにしてもよい。
（７）上記の実施の形態では、レスポンスがレスポンス条件に合致せず、レスポンス条件に包含されている場合はレスポンスがレスポンス条件に合致するように当該レスポンスを修正する場合を例に挙げて説明したが、これに限らず、レスポンスがレスポンス条件に合致せず、レスポンス条件に包含されている場合も代替コマンド又は代替コマンド群を用いて通信相手の装置にリクエストするようにしてもよい。
【０１３７】
（８）リクエストとして送信されるコマンドの形式として、コマンド名と複数の引数と各引数の範囲を有するとする。また、各コマンドに対するレスポンスは複数のタイプを持ち、夫々のタイプに対して値の範囲や制約条件が定義されているとする。これらを使用してレスポンス条件の生成、代替コマンド又は代替コマンド群の検索を行うようにしてもよい。
【０１３８】
また、リクエストとして送信されるコマンドの形式として、コマンド名と現在の通信状態と次の通信状態と複数の引数と各引数の範囲を有する。また、各コマンドに対するレスポンスは現在の通信状態を有し、複数のタイプを持ち、夫々のタイプに対して値の範囲や制約条件が定義されているとする。これらを使用して、現在の通信状態や次の通信状態も含めてレスポンス条件の生成、代替コマンド又は代替コマンド群の検索を行うようにしてもよい。
【０１３９】
（９）上記の実施の形態において説明した処理と等価な処理手順を記述したプログラムを作成して、当該プログラムをコンピュータ等で読み取り可能なＣＤ−ＲＯＭなどの記録媒体に記録するようにしてもよい。
【産業上の利用可能性】
【０１４０】
本発明は、リクエストと当該リクエストに対するレスポンスの受け渡しを行う通信装置間の通信に利用することができる。
【図面の簡単な説明】
【０１４１】
【図１】第１の実施の形態の通信システムのシステム構成図。
【図２】図１の通信装置の装置構成図。
【図３】図１の通信装置の階層構造を示す図。
【図４】図１の通信装置の機能構成図。
【図５】図４のレスポンス条件データベース（レスポンス条件ＤＢ）の一例を示す図。
【図６】図４のコマンドデータベース（コマンドＤＢ）の一例を示す図。
【図７】図４の修正データベース（修正ＤＢ）の一例を示す図。
【図８】図４の代替データベース（代替ＤＢ）の一例を示す図。
【図９】図４の適応通信処理部により行われる処理動作のメインフローのフローチャート。
【図１０】図４の適応通信処理部により行われる判定制御処理のフローチャート。
【図１１】図４の適応通信処理部により行われる代替コマンド処理のフローチャート。
【図１２】図４の適応通信処理部により行われる修正コマンド処理のフローチャート。
【図１３】図４の適応通信処理部により行われる通常コマンド処理のフローチャート。
【図１４】図４の適応通信処理部により行われる代替コマンド検索処理のフローチャート。
【図１５】図４の通信装置がリクエストに対するレスポンスの修正を行う場合の動作シーケンス。
【図１６】図４の通信装置が代替コマンドを用いて通信を継続する場合の動作シーケンス。
【図１７】図４の通信装置が代替コマンドを用いて通信を継続する場合の動作シーケンス。
【図１８】第２の実施の形態の通信装置の装置構成図。
【図１９】図１８の表示デバイスに表示される制限レベル設定画面の一例を示す図。
【図２０】図１８のＣＰＵにより行われる制限レベル受付処理のフローチャート。
【図２１】図１８の通信装置の機能構成図。
【図２２】図２１のコマンドデータベース（コマンドＤＢ）の一例を示す図。
【図２３】図２１の適応通信処理部により行われる代替コマンド処理のフローチャート。
【図２４】図２１の適応通信処理部により行われる修正コマンド処理のフローチャート。
【図２５】図２１の適応通信処理部により行われる通常コマンド処理のフローチャート。
【図２６】図２１の適応通信処理部により行われる代替コマンド検索処理のフローチャート。
【符号の説明】
【０１４２】
１、２  通信装置
３１、３２  通信処理部
３３  適応通信処理部
３４  レスポンス条件データベース
３５  コマンドデータベース
３６  修正データベース
３７  代替データベース
３８  レスポンス蓄積部
５１  リクエスト変更部
５２  レスポンス条件決定部
５３  照合部
５４  判定制御部
５５  レスポンス修正部
【図１】
2008035481.tif 000003
【図２】
2008035481.tif 000004
【図３】
2008035481.tif 000005
【図４】
2008035481.tif 000006
【図５】
2008035481.tif 000007
【図６】
2008035481.tif 000008
【図７】
2008035481.tif 000009
【図８】
2008035481.tif 000010
【図９】
2008035481.tif 000011
【図１０】
2008035481.tif 000012
【図１１】
2008035481.tif 000013
【図１２】
2008035481.tif 000014
【図１３】
2008035481.tif 000015
【図１４】
2008035481.tif 000016
【図１５】
2008035481.tif 000017
【図１６】
2008035481.tif 000018
【図１７】
2008035481.tif 000019
【図１８】
2008035481.tif 000020
【図１９】
2008035481.tif 000021
【図２０】
2008035481.tif 000022
【図２１】
2008035481.tif 000023
【図２２】
2008035481.tif 000024
【図２３】
2008035481.tif 000025
【図２４】
2008035481.tif 000026
【図２５】
2008035481.tif 000027
【図２６】
2008035481.tif 000028