(57)【特許請求の範囲】
【請求項１】
コンピュータを、
外部の通信装置が通信対象装置と通信する際に送信する第１の情報を受信する受信手段と、
前記通信対象装置に対して自装置が送信する第２の情報を生成する生成手段と、
前記第１の情報と前記第２の情報との差分に基づいて前記自装置が前記通信対象装置と通信する際に前記通信対象装置に対して送信する第２の情報を修正する修正手段と、
前記自装置と同一種類の他の外部の通信装置に対して、修正された前記第２の情報を共有する手段として機能させる通信プログラム。
【請求項２】
前記第１の情報と前記第２の情報との差分がない場合、前記第１の情報に対応する第３の情報を前記外部の通信装置に送信して応答する応答手段としてさらに機能させ、
前記受信手段は、前記第３の情報に対応して前記外部の通信装置が送信する新たな第１の情報を受信し、
前記生成手段は、前記第３の情報に対応して前記自装置が送信する新たな第２の情報を生成し、
前記修正手段は、前記新たな第１の情報と前記新たな第２の情報との差分に基づいて前記自装置が前記通信対象装置と通信する際に前記通信対象装置に対して送信する情報を修正する請求項１に記載の通信プログラム。
【請求項３】
外部の通信装置が通信対象装置と通信する際に送信する第１の情報を受信する受信手段と、
前記通信対象装置に対して自装置が送信する第２の情報を生成する生成手段と、
前記第１の情報と前記第２の情報との差分に基づいて前記自装置が前記通信対象装置と通信する際に前記通信対象装置に対して送信する第２の情報を修正する修正手段と、
前記自装置と同一種類の他の外部の通信装置に対して、修正された前記第２の情報を共有する手段とを有する通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信プログラム及び通信装置に関する。
【背景技術】
【０００２】
従来の技術として、通信において受信したパケットからエラーに関係する異常通信を抽出する通信装置が提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１に開示された通信装置は、受信したパケットを印刷ジョブ単位でファイルとして一時的に保存するとともに、異常通信情報をログとして保存し、保存したファイルの中でアプリケーションでエラーが発生しないデータについては削除するとともに、任意の印刷ジョブの処理中にエラーが発生した場合、受信したパケットを保存し、エラーが発生したジョブパケットに含まれる異常通信と、受信した全ての印刷ジョブに関するパケットに含まれる異常通信とを比較して、エラーが発生したジョブパケットにのみ含まれる異常通信を抽出し、抽出した結果がわかるようにログ化する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１８１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、通信装置と自装置との間で通信のエラーが発生した場合、通信対象装置との通信でエラーが発生していない通信装置を参照して、通信対象装置に送信する情報を修正する通信プログラム及び通信装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、上記目的を達成するため、以下の通信プログラム及び通信装置を提供する。
【０００７】
［１］コンピュータを、
外部の通信装置が通信対象装置と通信する際に送信する第１の情報を受信する受信手段と、
前記通信対象装置に対して自装置が送信する第２の情報を生成する生成手段と、
前記第１の情報と前記第２の情報との差分に基づいて前記自装置が前記通信対象装置と
通信する際に前記通信対象装置に対して送信する第２の情報を修正する修正手段と、
前記自装置と同一種類の他の外部の通信装置に対して、修正された前記第２の情報を共有する手段として機能させる通信プログラム。
［２］前記第１の情報と前記第２の情報との差分がない場合、前記第１の情報に対応する
第３の情報を前記外部の通信装置に送信して応答する応答手段としてさらに機能させ、
前記受信手段は、前記第３の情報に対応して前記外部の通信装置が送信する新たな第１
の情報を受信し、
前記生成手段は、前記第３の情報に対応して前記自装置が送信する新たな第２の情報を生成し、
前記修正手段は、前記新たな第１の情報と前記新たな第２の情報との差分に基づいて前記自装置が前記通信対象装置と通信する際に前記通信対象装置に対して送信する情報を修正する前記［１］に記載の通信プログラム。
［３］外部の通信装置が通信対象装置と通信する際に送信する第１の情報を受信する受信
手段と、
前記通信対象装置に対して自装置が送信する第２の情報を生成する生成手段と、
前記第１の情報と前記第２の情報との差分に基づいて前記自装置が前記通信対象装置と通信する際に前記通信対象装置に対して送信する第２の情報を修正する修正手段と、
前記自装置と同一種類の他の外部の通信装置に対して、修正された前記第２の情報を共有する手段を有する通信装置。
【発明の効果】
【０００８】
請求項１又は３に係る発明によれば、通信装置と自装置との間で通信のエラーが発生した場合、通信対象装置との通信でエラーが発生していない通信装置を参照して、通信対象装置に送信する情報を修正することができる。
請求項２に係る発明によれば、新たな第１の情報と新たな第２の情報との差分に基づいて自装置が前記通信対象装置と通信する際に通信対象装置に対して送信する情報を修正することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態に係る通信システムの構成の一例を示す概略図である。
【図２】図２は、実施の形態に係る通信装置の構成例を示すブロック図である。
【図３】図３は、受信パケットの構成の一例を示す概略図である。
【図４】図４は、生成パケットの構成の一例を示す概略図である。
【図５】図５は、通信装置の動作の一例を示すフローチャートである。
【図６】図６は、受信パケットの構成の他の例を示す概略図である。
【図７】図７は、生成パケットの構成の他の例を示す概略図である。
【図８】図８は、応答パケットの構成の一例を示す概略図である。
【図９】図９は、受信パケットの構成の他の例を示す概略図である。
【図１０】図１０は、生成パケットの構成の他の例を示す概略図である。
【発明を実施するための形態】
【００１０】
［実施の形態］
（通信システムの構成）
図１は、実施の形態に係る通信システムの構成の一例を示す概略図である。
【００１１】
この通信システム５は、通信装置１と、通信装置２と、通信対象装置３とをネットワーク４によって互いに通信可能に接続することで構成される。
【００１２】
通信装置１は、一例として印刷、スキャン、ＦＡＸ等の機能を備えた複合機であり、当該機能を実行するために通信対象装置３と通信する通信装置であって、本体内に情報を処理するための機能を有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やフラッシュメモリ等の電子部品を備える。
【００１３】
通信装置２は、通信装置１と同様に、一例として印刷、スキャン、ＦＡＸ等の機能を備えた複合機であり、当該機能を実行するために通信対象装置３と通信する通信装置であるが、通信装置１全く同じ構成である必要はなく、本実施の形態では他の製品であるものとする。
【００１４】
通信対象装置３は、サーバ等の通信機能を有する装置であって、本体内に情報を処理するための機能を有するＣＰＵやフラッシュメモリ等の電子部品を備える。
【００１５】
ネットワーク４は、高速通信が可能な通信ネットワークであり、例えば、イントラネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線又は無線の通信網である。
【００１６】
通信装置１及び通信装置２は、一例として、所謂「Ｓｃａｎ  ｔｏ  ＳＭＢ」により、原稿をスキャンして画像情報を生成し、ネットワーク４を介して通信対象装置３の記憶部に作成された共有フォルダに送信するものとする。通信装置１と通信対象装置３との間では、認証失敗や文字化け等のエラーが生じており、通信装置２と通信対象装置３との間では、エラーが生じていないことを前提とし、通信装置１が通信装置２と通信対象装置３との通信を参照して、通信対象装置３との間で生じるエラーを解決するよう試みるものである。
【００１７】
なお、上記「通信の設定」とは、通信装置１と通信対象装置３との通信プロトコルの上でのやりとりで自動的に設定される設定項目ではなく、自動的に設定されない項目を指すものとする。
【００１８】
（通信装置の構成）
図２は、実施の形態に係る通信装置１の構成例を示すブロック図である。
【００１９】
通信装置１は、ＣＰＵ等から構成され、各部を制御するとともに、各種のプログラムを実行する制御部１０と、フラッシュメモリ等の記憶媒体から構成され情報を記憶する記憶部１１と、ネットワークを介して外部と通信する通信部１２と、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等から構成され文字や画像を表示する表示部１３と、ボタンやタッチパッド等から構成され入力操作を受け付ける操作部１４と、印刷、スキャン、ＦＡＸ等の機能を実行する機能部１５とを備える。
【００２０】
制御部１０は、後述する通信プログラム１１０を実行することで、機能実行手段１００、調査受付手段１０１、パケット受信手段１０２、パケット生成手段１０３、パケット差分抽出手段１０４、パケット修正手段１０５及びパケット応答手段１０６等として機能する。
【００２１】
機能実行手段１００は、機能部１５に印刷、スキャン、ＦＡＸ等の機能を実行させる。機能の一例としての「Ｓｃａｎ  ｔｏ  ＳＭＢ」は、機能実行手段１００によって実行され、通信は通信部１２を介して行われる。
【００２２】
調査受付手段１０１は、機能部１５が「Ｓｃａｎ  ｔｏ  ＳＭＢ」の機能を実行し、エラーが生じた場合、表示部１３に調査するか否かを確認する画像及び文字を表示し、操作部１４を介して利用者の調査依頼を受け付ける。また、調査受付手段１０１は、調査依頼を受け付けた場合、通信装置１を調査モードにし、元々機能していたＳＭＢクライアントモードに加えて、機能部１５においてＳＭＢサーバモードを機能させ、次に説明するパケット受信手段１０２によってネットワーク４を介して通信装置２からのパケットを受信可能とする。
【００２３】
パケット受信手段１０２は、ネットワーク４を介して通信装置２からのパケットを受信し、受信パケット１１１として記憶部１１に格納する。なお、受信パケット１１１は、利用者が通信装置２から通信装置１にＳＭＢプロトコルで接続を行うことで受信される。通信装置２にＳＭＢサーバとしての通信対象装置３のアドレスが予め設定されている場合は、当該アドレスを通信装置１のアドレスに変更してから行う。
【００２４】
パケット生成手段１０３は、通信装置１がＳＭＢサーバである通信対象装置３に接続する際に送信するパケットを生成し、生成パケット１１２として記憶部１１に格納する。この際、ループバック通信を行い、通信装置１自信に生成パケット１１２を送信してパケット受信手段１０２により受信して格納するようにしてもよい。
【００２５】
パケット差分抽出手段１０４は、受信パケット１１１と生成パケット１１２とを比較し、差分を抽出するとともに、抽出した差分に基づいてパケット生成手段１０３が生成する生成パケット１１２を受信パケット１１１と同じ内容となるように修正するパケット修正フィルタを作成し、パケット修正情報１１３として記憶部１１に格納する。
【００２６】
パケット修正手段１０５は、機能実行手段１００が通信対象装置３との通信のために生成するパケットをパケット修正情報１１３に基づいて修正し、通信部１２を介して通信対象装置３に送信する。
【００２７】
パケット応答手段１０６は、パケット差分抽出手段１０４が最初に受信した受信パケット１１１と、最初に生成した生成パケット１１２とから差分を抽出できなかった場合、受信パケット１１１に対する応答パケットを生成して通信装置２に送信することで応答する。
【００２８】
その後、パケット受信手段１０２は、通信装置２から応答パケットにさらに応答するパケットを受信して新たな受信パケット１１１として記憶部に格納する。また、パケット生成手段１０３は、応答パケットにさらに応答するパケットを生成して新たな生成パケット１１２として記憶部１１に格納する。
【００２９】
記憶部１１は、制御部１０を上述した各手段１００−１０６として動作させる通信プログラム１１０、受信パケット１１１、生成パケット１１２及びパケット修正情報１１３等を記憶する。
【００３０】
（通信装置の動作）
次に、本実施の形態の作用を、説明する。
【００３１】
まず、機能実行手段１００は、操作部１４が操作を受け付けると、機能部１５に「Ｓｃａｎ  ｔｏ  ＳＭＢ」を実行させる。機能部１５は、原稿をスキャンして画像情報を生成し、当該画像情報を通信対象装置３の共有フォルダに送信するために通信対象装置３と通信する。
【００３２】
機能部１５は、通信対象装置３と通信するが、通信上のエラーが生じるものとする。また、通信装置２と通信対象装置３との間では、エラーが生じていないものとする。
【００３３】
図５は、通信装置１の動作の一例を示すフローチャートである。
【００３４】
まず、調査受付手段１０１は、機能部１５が「Ｓｃａｎ  ｔｏ  ＳＭＢ」の機能を実行し、エラーが生じた場合、表示部１３に調査するか否かを確認する画像及び文字を表示し、操作部１４を介して利用者の調査依頼を受け付ける（Ｓ１）。
【００３５】
次に、調査受付手段１０１は、調査依頼を受け付けた場合（Ｓ１；Ｙｅｓ）通信装置１を調査モードにし、機能部１５において元々機能していたＳＭＢクライアントモードに加えて、ＳＭＢサーバモードを機能させる（Ｓ２）。ＳＭＢサーバモードを機能させることにより、パケット受信手段１０２がネットワーク４を介して通信装置２からのパケットを受信可能な状態となる。
【００３６】
次に、利用者は、通信装置２から通信装置１にＳＭＢプロトコルで接続を行う。通信装置２にＳＭＢサーバとしての通信対象装置３のアドレスが予め設定されている場合は、当該アドレスを通信装置１のアドレスに変更してから行う。
【００３７】
次に、パケット受信手段１０２は、ネットワーク４を介して通信装置２からのパケットを受信し、受信パケット１１１として記憶部１１に格納する（Ｓ３）。
【００３８】
図３は、受信パケット１１１の構成の一例を示す概略図である。
【００３９】
受信パケット１１１ａは、受信パケット１１１の一例を示すものであり、「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」が「…０…」となっており、フラグのうちの１つが立っていない。
【００４０】
次に、パケット生成手段１０３は、通信装置１がＳＭＢサーバである通信対象装置３に接続する際に送信するパケットを生成し、生成パケット１１２として記憶部１１に格納する（Ｓ４）。
【００４１】
図４は、生成パケット１１２の構成の一例を示す概略図である。
【００４２】
生成パケット１１２ａは、生成パケット１１２の一例を示すものであり、「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」が「…１…」となっており、フラグのうちの１つが立っている。
【００４３】
次に、パケット差分抽出手段１０４は、受信パケット１１１ａと生成パケット１１２ａとを比較し、差分を抽出する（Ｓ５）。つまり、「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」のフラグのうちの１つが立っているかいないかが差分である。
【００４４】
ステップＳ５において差分が抽出された場合（Ｓ５；Ｙｅｓ）、抽出した差分に基づいて、パケット生成手段１０３が生成する生成パケット１１２ａを受信パケット１１１ａと同じ内容となるように修正するパケット修正フィルタを作成し（Ｓ６）、通信対象装置３のアドレスと関連付けてパケット修正情報１１３として記憶部１１に格納する。つまり、生成パケット１１２の「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」の「…１…」が「…０…」となるように、フラグのうちの１つを変更するパケット修正フィルタをパケット修正情報１１３とする。
【００４５】
次に、パケット修正手段１０５は、機能実行手段１００が通信対象装置３との通信のために生成するパケットをパケット修正情報１１３に基づいて修正（リコンパイル）し、通信部１２を介して通信対象装置３に送信し、通信上のエラーが生じなければ検証結果は成功したものとし（Ｓ７；Ｙｅｓ）、当該パケット修正情報１１３を今後の通信において適用する（Ｓ８）。また、抽出された差分についての情報や生成された修正フィルタの情報を管理者に報告するようにしてもよい。
【００４６】
また、ステップＳ７において、通信上のエラーが生じた場合は、検証結果は失敗したものとし、通信部１２を介して外部の管理者が使用する端末に通信エラーが生じている旨を報告する（Ｓ１０）。なお、成功した場合にも、パケット修正情報１１３に基づいて通信が成功した旨を報告するようにしてもよい。
【００４７】
また、ステップＳ５において、受信パケット１１１と生成パケット１１２とを比較し、差分が抽出されなかった場合（Ｓ５；Ｎｏ）について説明する。
【００４８】
図６は、受信パケット１１１の構成の他の例を示す概略図である。
【００４９】
受信パケット１１１ｂは、受信パケット１１１の一例を示すものであり、「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」が「…１…」となっており、フラグのうちの１つが立っている。
【００５０】
図７は、生成パケット１１２の構成の他の例を示す概略図である。
【００５１】
生成パケット１１２ｂは、生成パケット１１２の一例を示すものであり、「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」が「…１…」となっており、フラグのうちの１つが同様に立っている。つまり、「Ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」のフラグには差分がなく、他の箇所にも差分がない。
【００５２】
図８は、応答パケットの構成の一例を示す概略図である。
【００５３】
この場合、パケット応答手段１０６は、受信パケット１１１ｂに対する応答パケット１１４ｂを生成して通信装置２に送信することで応答する（Ｓ９）。
【００５４】
その後、パケット受信手段１０２は、通信装置２から応答パケット１１４ｂにさらに応答するパケットを受信して新たな受信パケット１１１として記憶部に格納する（Ｓ３）。また、パケット生成手段１０３は、応答パケットにさらに応答するパケットを生成して新たな生成パケット１１２として記憶部１１に格納する（Ｓ４）。
【００５５】
図９は、受信パケット１１１の構成の他の例を示す概略図である。また、図１０は、生成パケット１１２の構成の他の例を示す概略図である。
【００５６】
受信パケット１１１ｃと生成パケット１１２ｃの差分は、「Ｒｅｑｕｅｓｔｓ  ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」１１２ｃ１のフラグが生成パケット１１２ｃには存在するが、受信パケット１１１ｃには存在しないことである。
【００５７】
従って、パケット差分抽出手段１０４は、生成パケット１１２ｃの「Ｒｅｑｕｅｓｔｓ  ｅｘｔｅｎｄｅｄ  ｓｅｃｕｒｉｔｙ」１１２ｃ１のフラグを削除するパケット修正フィルタをパケット修正情報１１３とする。
【００５８】
（実施の形態の効果）
上記した実施の形態によれば、通信対象装置３との通信でエラーが発生していない通信装置２が通信対象装置３に送信していたパケットを受信して受信パケット１１１とし、自装置の生成する生成パケット１１２と比較して差分から修正フィルタを生成するようにしたため、管理者に報告することなく、自装置に生じている通信対象装置３とのエラーを解決することができる。つまり、パケットやログを外部に持ち出して解析する必要がなくなる。
【００５９】
また、修正フィルタによってパケットを修正するようにしたため、機能部１５を動作させているソフトウエア自体を修正する必要がない。また、通信対象装置３のアドレスに対応付けて修正フィルタを登録し、問題が生じていない他の通信対象装置に送信するパケットには修正フィルタが適用されないため、問題が生じていない他の通信対象装置との通信に影響を与えずに通信対象装置３とのエラーを解消することができる。
【００６０】
また、抽出された差分についての情報や生成された修正フィルタの情報を管理者に報告するようにすれば、管理者が修正フィルタの内容に問題がないか確認したり、今後のファームウエアの改善に役立てたりすることができる。
【００６１】
［他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で種々な変形が可能である。例えば、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）マルチキャストを使用して通信を行うプロトコルであれば、通信装置１にサーバ機能を持たせることなく、通信装置２と通信対象装置３との間でやりとりされるマルチキャストパケットを取得して自装置のパケットと比較するようにしてもよい。
【００６２】
また、通信装置１にパケットキャプチャ機能を実装し、通信装置２と通信対象装置３との間でやりとりされるパケットをキャプチャするようにしてもよい。
【００６３】
また、同一ネットワーク４内に接続された同一種類の他の通信装置が存在する場合は、他の通信装置とパケット修正情報１１３を共有するようにしてもよい。これにより、他の通信装置ではパケット修正情報１１３の生成動作を実行することなく通信対象装置３との通信エラーを解決することができる。
【００６４】
上記実施の形態では制御部１０の各手段１００〜１０６の機能をプログラムで実現したが、各手段の全て又は一部をＡＳＩＣ等のハードウエアによって実現してもよい。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等の記録媒体に記憶して提供することもできる。また、上記実施の形態で説明した上記ステップの入れ替え、削除、追加等は本発明の要旨を変更しない範囲内で可能である。
【符号の説明】
【００６５】
１     通信装置
２     通信装置
３     通信対象装置
４     ネットワーク
５     通信システム
１０   制御部
１１   記憶部
１２   通信部
１３   表示部
１４   操作部
１５   機能部
１００ 機能実行手段
１０１ 調査受付手段
１０２ パケット受信手段
１０３ パケット生成手段
１０４ パケット差分抽出手段
１０５ パケット修正手段
１０６ パケット応答手段
１１０ 通信プログラム
１１１ 受信パケット
１１２ 生成パケット
１１３ パケット修正情報
【図１】
0006672925.tif 000002
【図２】
0006672925.tif 000003
【図３】
0006672925.tif 000004
【図４】
0006672925.tif 000005
【図５】
0006672925.tif 000006
【図６】
0006672925.tif 000007
【図７】
0006672925.tif 000008
【図８】
0006672925.tif 000009
【図９】
0006672925.tif 000010
【図１０】
0006672925.tif 000011