通信装置及びその制御方法とプログラム
【課題】 フィルタなしでは取得したパケットのサイズが大きくなり、フィルタありにすると自機に関連のあるパケットを取得できない。
【解決手段】 プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスをフィルタ条件に追加し(S705,S707,S709)、受信したデータが、そのフィルタ条件を満足するか否かを判定する。そしてフィルタ条件を満足すると判定した場合に、その受信したデータを保存領域に保存する。
【解決手段】 プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスをフィルタ条件に追加し(S705,S707,S709)、受信したデータが、そのフィルタ条件を満足するか否かを判定する。そしてフィルタ条件を満足すると判定した場合に、その受信したデータを保存領域に保存する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信したデータに対するフィルタ処理を行う通信装置とその制御方法とプログラムに関する。
【背景技術】
【0002】
近年、ネットワーク環境の複雑化やトラフィックの増加、新しいプロトコルの出現に伴い、ネットワークに関連する障害も増加している。このような障害として、例えば、ネットワークに接続できない、速度が遅い、瞬断が発生する等の障害が挙げられる。
【0003】
このようなネットワークの障害時には、PCでネットワークパケットを取得するアプリケーションツールを実行し、ネットワークパケットを監視して障害の原因を究明するのが一般的であった。しかし、ある機器で送受信しているネットワークパケットをPCが取得するためには、ネットワークの構成を変更したり、スイッチの設定を変更する必要があった。そのため手間がかかり、かつ操作ミスも発生しやすく、また、ネットワーク構成を変更した場合は障害の現象が変わってしまうこともあり、必ずしも障害の原因となるパケットを取得できるという保証がなかった。
【0004】
そこでPCだけではなく、複合機などの組込み機器にもパケット取得アプリを搭載してネットワークパケットを取得することで、この問題を解決する手法が考えられている(例えば、特許文献1)。この手法により、組込み機器が不正なパケットを送受信している等の情報は、PC等を使用せずに、組込み機器内で判断することが可能となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−152762号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、一般的な組込み機器はPCと異なり、保存できるパケットデータの保存領域が限定されている。そのため、「フィルタなしモード」でパケット取得を動作させた場合は、組込み機器が取得するネットワークパケットの全てを取得して保存してしまうため、直ぐに保存領域がフルになってしまうという問題があった。
【0007】
また「自機宛MACアドレスを含むパケットのみを取得するモード」でパケットを取得した場合は、マルチキャストパケット等はフィルタ条件に合致しないため破棄していた。つまり、このフィルタモードを使用すると、実際は受信して処理しているマルチキャストパケットを取得できなくなるという問題があった。つまり、「フィルタなしモード」では、取得したパケットのサイズが大きくなり、「フィルタありモード」にすると、自機に関連のあるパケットを取得できないという問題があった。
【0008】
本発明の目的は、上記従来技術の問題点を解決することにある。
【0009】
本願発明の特徴は、関連するマルチキャストアドレスを求めてフィルタ条件に反映することにより、フィルタモードであっても自機に関連のあるパケットを取得できる技術を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために本発明の一態様に係る通信装置は以下のような構成を備える。即ち、
ネットワークの機器との間でデータの送受信処理を行う通信装置であって、
フィルタ条件を記憶する記憶手段と、
プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件に追加する更新手段と、
受信したデータが前記記憶手段に記憶された前記フィルタ条件を満足するか否かを判定する判定手段と、
前記判定手段が前記フィルタ条件を満足すると判定した場合に、前記受信したデータを保存領域に保存する保存手段と、
を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、関連するマルチキャストアドレスを求めて、動的にフィルタ条件に反映することにより、フィルタモードであっても、自機に関連のあるパケットを取得できる。
【図面の簡単な説明】
【0012】
【図1】本実施形態に係る組込み機器である画像形成装置を使用したネットワークシステムの構成を示す図。
【図2】本実施形態に係るMFPのハードウェア構成を説明するブロック図。
【図3】MFPのソフトウェア構成を説明するブロック図。
【図4】実施形態に係るキャプチャフィルタテーブルの一例を示す図。
【図5】IPフィルタテーブルの一例を示す図。
【図6】WOLテーブルの一例を示す図。
【図7】本発明の実施形態1に係るパケットキャプチャ制御部による処理を説明するフローチャート。
【図8】プロトコルと、マルチキャストアドレスとの対応を示すテーブルの一例を示す図。
【図9】実施形態1に係るパケットキャプチャ処理部の処理を説明するフローチャート。
【図10】実施形態1に係るMFPのフィルタモードでのシーケンス例を説明する図。
【図11】実施形態2に係るパケットキャプチャ処理を説明するフローチャート。
【図12】実施形態2に係るMFPのフィルタモードにおける処理シーケンスの一例を説明する図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、組込み機器が設定値から取得するマルチキャストパケットを算出し、動的に反映する場合について説明する。
【0014】
図1は、本実施形態に係る組込み機器である画像形成装置101を使用したネットワークシステムの構成を示す図である。
【0015】
画像形成装置101とホストコンピュータ102とがネットワーク(NET)を介して接続され、相互に送受信処理が可能となっている。尚、この画像形成装置101は、コピー機能、ファクシミリ機能、印刷機能、ストレージ機能などを備えた多機能処理装置(以下、MFP)である。
【0016】
図2は、本実施形態に係るMFP101のハードウェア構成を説明するブロック図である。
【0017】
MFP101は、CPU209を有するユニット220と、CPU221を有するユニット221の2つを有している。尚、ここでは、ユニット220はMFP101のコントローラ、ユニット221はMFP101のNIC(Network Interface Card)として記載している。MFP201は省電力機能を保持し、「スリープ状態」の場合は、ユニット221のみに電源が供給され、それ以外への電源供給を停止することで、消費電力の低減を実現する。
【0018】
まず最初にユニット220について説明する。ROM203のプログラム用ROMは、CPU209が実行可能な制御プログラム等を記憶している。ROM203のデータ用ROMは、ユニット220で利用される情報等を記憶している。CPU209は、ROM203のプログラム用ROMに記憶された制御プログラムに従って、システムバス210に接続される各種のデバイスとのアクセスを総括的に制御する。また、プリンタI/F206を介して接続されるプリンタエンジン222に、出力情報としての画像信号を出力したり、スキャナI/F201を介して接続されるスキャナ218から入力される画像信号を制御する。RAM204は、主としてCPU209の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMにより、そのメモリ容量を拡張できるように構成されている。ハードディスク(HDD)205は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。また更に、スキャナ218から入力した画像データやプリントジョブの画像データをボックスデータとして保持し、ネットワークから参照したり、印刷を行うためのデータ格納領域としても使用される。不揮発性メモリ(NVRAM)207は、操作パネル219を使用して設定される各種設定情報を、パネル制御部208経由で受け取って記憶している。
【0019】
次にユニット221について説明する。ROM213のプログラム用ROMは、CPU211が実行可能な制御プログラム等を記憶している。ROM213のデータ用ROMは、ユニット221上で利用される情報等を記憶している。CPU211は、ROM213のプログラム用ROMに記憶された制御プログラムに従って、システムバス216に接続される各種のデバイスとのアクセスを総括的に制御する。RAM214は、主としてCPU211の主メモリ,ワークエリア等として機能する。CPU211は、ネットワークI/F215を介してネットワーク上のホストコンピュータや画像形成装置との通信処理が可能となっている。
【0020】
また、これらユニット220とユニット221は、拡張I/F217を介して接続されており、ユニット220上のCPU209は、拡張I/F217、拡張I/F制御部202を経由して、ユニット221とデータの送受信を行うことができる。同様に、ユニット221のCPU211は、拡張I/F217、拡張I/F制御部212を経由して、ユニット220とデータの送受信を行うことができる。
【0021】
図3は、MFP101のソフトウェア構成を説明するブロック図である。尚、図3に示すメインCPUファーム301の各処理部及び制御部は、CPU209がプログラムROMに記憶されたプログラムを実行することにより実現される。
【0022】
このMFP101のソフトウェア構成は、大きく非スリープ状態で動作するメインCPUファーム301と、スリープ状態で動作するサブCPUファーム302とに分けられる。まず、メインCPUファーム301について説明する。
【0023】
外部からネットワークパケットを受信した場合、まずパケットキャプチャ処理部305で、受信したデータが処理される。「フィルタなしモード」で動作している場合、パケットキャプチャ処理部305は、受信した全てのパケットデータをキャプチャデータ保存領域308に保存する。一方、「フィルタモード」で動作している場合、パケットキャプチャ処理部305は、キャプチャフィルタテーブル306を参照し、フィルタ条件を満足するパケットデータのみを保存領域に保存していく。いずれの動作モードでも、受信したパケットデータをそのままIPフィルタ処理部309に転送する。パケットキャプチャ制御部307は、UI部311を介してユーザが指示することにより、キャプチャフィルタテーブル306を更新するための処理を実行する。
【0024】
図4は、実施形態に係るキャプチャフィルタテーブル306の一例を示す図である。
【0025】
優先度が「1」のポリシーから条件を照合していき、条件を満足した時点で「挙動」に示されている動作(図4では「保存する」、「保存しない」)をする。
【0026】
IPフィルタ処理部309は、IPフィルタテーブル310を参照し、受信した全てのパケットデータに対してフィルタ条件に合致するかどうかを判別する。もし「破棄」のフィルタ条件に合致した場合は、受信したパケットデータを速やかに破棄し、その受信データをアプリケーション層まで転送しない。また「許可」のフィルタ条件に合致した場合は、受信したパケットデータをそのまま上位のアプリ層に転送する。
【0027】
図5は、IPフィルタテーブル310の一例を示す図である。
【0028】
優先度が「1」のポリシーから条件を照合していき、条件を満足した時点で「挙動」に示されている動作(図5では、「破棄」、「許可」)をする。
【0029】
アプリケーション312及び313は、このMFP101で動作するアプリケーションであり、受信したパケットに対して返送パケットを送信したり、自らパケットを送信したりする。尚、アプリケーションが自発的にパケットを送信する場合も、受信時と逆のシーケンスとなり、まずIPフィルタ処理部309でフィルタ処理され、次にパケットキャプチャ処理部305でキャプチャ処理される。
【0030】
UI部311により、ユーザは操作パネル219を介して、MFP101に対する各種設定を行うことができる。例えば、MFP101のWSD設定の有効、無効や、SLP設定の有効、無効が設定可能である。
【0031】
次にサブCPUファーム302について説明する。
【0032】
サブCPUファーム302は、メインCPUファーム301がスリープ状態の場合でのみ起動する。サブCPUファーム302は、受信したネットワークデータを2種に分類する。ここで2種とは、「破棄」と「メインCPUファームへ転送」である。「メインCPUファームへ転送」は、受信したネットワークデータに対して何らかの処理が必要であるが、電源が供給されているユニット221だけでは処理を行えないネットワークデータを受信した場合を示す。WOL(Wake On LAN)処理部314は、受信したパケットをWOLテーブル315を参照し、メインCPUファーム301を復帰させるパターンかどうかを判断する。復帰させる場合は復帰処理を行い、MFP101を「スリープ状態」から「非スリープ状態」へ移行し、受信したパケットをメインCPUファーム301へ転送する。また復帰させない場合は、受信したネットワークデータに対する処理は何も行わずに、受信したパケットを破棄し、メインCPUファーム301へ転送しない。
【0033】
CPU間通信部303,304はそれぞれ、メインCPUファーム301、サブCPUファーム302に設けられ、メインCPUファーム301とサブCPUファーム302との間の通信を制御する。
【0034】
図6は、WOLテーブル315の一例を示す図である。
【0035】
優先度が「1」のポリシーから条件を照合していき、条件を満足した時点で「挙動」に示されている動作(図6では、「WOLする」、「WOLしない」)をする。
【0036】
[実施形態1]
図7は、本発明の実施形態1に係るパケットキャプチャ制御部307による処理を説明するフローチャートである。尚、この処理は、CPU209がプログラムROMに記憶されているプログラムを実行することにより実現される。
【0037】
MFP101の電源が入れられるとまずS701で、パケットキャプチャ制御部307は、設定されているフィルタ設定モードを読み込む。フィルタ設定モードは、全ての受信パケットを保存する「フィルタなしモード」と、フィルタ条件に合致した受信パケットのみ保存する「フィルタありモード」に大別され、ユーザが任意の設定値を選択することができる。例えば、「フィルタありモード」は更に「自機MACアドレスを含むパケットのみ」や「自機に関連するパケットのみ」など、どのようなフィルタ条件で動作するかを詳細に設定できるようにしてもよい。本実施形態1では、「自機に関連するパケットのみ」を取得して保存するモードが設定できる場合で説明する。
【0038】
「フィルタなしモード」の場合はS710に進み、パケットキャプチャ制御部307は特に処理を行わずに、ユーザが設定値を変更するまで待機する。一方、「フィルタありモード」の場合はS702に進み、パケットキャプチャ制御部307は、各設定値を参照して、パケットキャプチャフィルタテーブル306を生成する。
【0039】
「自機に関連するパケットのみ」は、つまり自機MACアドレスを含むパケットと捉えられる。よってS702で、パケットキャプチャ制御部307は、自機のMACアドレスを取得する。そして「パケットの送信元MACアドレス、或いは送信先MACアドレスのフィールドが自機MACアドレスと一致する」という条件をパケットキャプチャフィルタテーブル306に追加する。次にS703に進み、ブロードキャストアドレスやサブネットブロードキャストアドレスも自機に関係のあるパケットの可能性が高いため、ここではフィルタ対象に追加する。ここで、サブネットブロードキャストアドレスは、自機のIPアドレス及びサブネットマスクから算出する。
【0040】
次に、各プロトコルの設定値を参照してパケットキャプチャフィルタテーブル306に条件を追加するかどうかを判断する。まずS704で、「WSD設定」を参照し、もし有効である場合はS705に進み、「送信先IPアドレスのフィールドが239.255.255.250と一致」という条件を追加する。この時、各プロトコルに対応するマルチキャストアドレスは、図8のような対応テーブルをデバイスに内部に保持しておき、このテーブルに基づき決定する。
【0041】
図8は、プロトコルと、マルチキャストアドレスとの対応を示すテーブルの一例を示す図である。
【0042】
このテーブルの内容はユーザがUIなどで変更可能としてもよい。
【0043】
次にS706で「SLP設定」を参照し、もし有効である場合はS707に進み、「送信先IPアドレスのフィールドが239.255.255.253と一致」という条件を追加する。次にS708で「IPv6設定」を参照し、もし有効である場合はS709に進んで、「送信先IPアドレスのフィールドがff02::1:ff00:0/104と一致」という条件を追加する。尚、図7、図8では、各プロトコル設定に対するIPv4マルチキャストアドレスしか記載していないが、対応するIPv6マルチキャストも同様に追加してもよい。
【0044】
このようにして、各プロトコルの参照が終了した時点で、例えば、図4に示すようなパケットキャプチャフィルタテーブル306が生成される。その後、パケットキャプチャ制御部307は、S710で、ユーザが設定値を変えるまで待機し、UI部311から設定値の変更が指示されるとS701に進み、前述した処理を実行する。
【0045】
図9は、本発明の実施形態1に係るパケットキャプチャ処理部305の処理を説明するフローチャートである。尚、この処理は、CPU209がプログラムROMに記憶されているプログラムを実行することにより実現される。
【0046】
まずS901で、パケットキャプチャ処理部305はパケットを受信するとS902に処理を進め、フィルタモードの設定値を読み込む。そして、フィルタモードの設定が「フィルタなしモード」である場合はS905に進み、受信データをキャプチャデータ保存領域(例えば、HDD205)に保存する。
【0047】
一方、フィルタモード設定が「フィルタありモード」の場合はS903に進み、パケットキャプチャフィルタテーブル306を参照する。ここでは優先度の数字が小さいポリシー内容から順番に(優先度1から順に)参照していき、S904で条件に一致するかどうかを判定する。そして条件に一致した場合はS905に進み、受信したパケットを保存領域(例えば、HDD205)に保存する。
【0048】
図10は、本発明の実施形態1に係るMFP101のフィルタモードでのシーケンス例を説明する図である。
【0049】
パケットキャプチャ機能を搭載しているMFP101のIPアドレスを「192.168.0.2」、外部ホスト1010のIPアドレスを「192.168.0.1」とする。例えば、MFP101が外部ホスト1010からSLPマルチキャストパケットを受信した場合、キャプチャフィルタテーブル306を参照する。パケットの送信先IPアドレスが「239.255.255.253」であること、プロトコルがSLPであることより、図4の優先度が「3」のポリシーの条件と一致する。これにより、その受信したパケットを保存領域に保存する(1020)。
【0050】
また、MFP101が外部ホスト1010からpingリクエストパケットを受信した場合は、パケットの送信先MACアドレスが自機MACアドレスである「00-00-44-33-22-11」と一致する。即ち図4の優先度が「2」のポリシーの条件と一致する。このため、その受信したパケットを保存する(1021)。
【0051】
またMFP101が外部ホスト1010からHSRPマルチキャストパケットを受信した場合、図4のキャプチャフィルタテーブル306のどのポリシーとも一致する条件がないため、最終的に受信パケットを保存しない(1022)。
【0052】
従来は、「フィルタなしモード」の場合、受信した全パケットを保存していたので、HSRPのような無関係のパケットも保存してしまい、無駄に保存領域を浪費していた。これに対して本実施形態1では、HSRPのような無関係のパケットを保存しない。また「フィルタありモード」の場合、MFP101に関連するパケットのみを保存するので、保存領域を効率的に活用でき、かつ保存後のキャプチャデータの解析なども行いやすくなるという効果がある。
【0053】
[実施形態2]
前述の実施形態1では、例えば図8に示すようなプロトコルと、マルチキャストアドレスの対応テーブルで管理していた。そのため、例えばMFP101に追加のアプリケーションをインストールした場合に、そのアプリケーションが、そのテーブルに存在しないマルチキャストアドレスを使用しているとする。このような場合は、そのマルチキャストパケットはフィルタ条件に一致しないため受信パケットを取得できない。そこで実施形態2では、図8のようなテーブルを参照せず、新規のマルチキャストパケットなどが現れても、もれなく取得できるような技術について説明する。尚、実施形態2に係るシステム構成及びMFPの構成は、前述の実施形態1と同様であるため、その説明を省略する。
【0054】
図11は、本発明の実施形態2に係るパケットキャプチャ処理を説明するフローチャートである。尚、この処理は、CPU209がプログラムROMに記憶されているプログラムを実行することにより実現される。
【0055】
フィルタモード設定の読み込み処理、フィルタモードが有効であれば自機MACアドレス、ブロードキャストアドレスをキャプチャフィルタテーブルに追加する処理(S1101〜S1103)は、前述の実施形態1(図7のS701〜S703)と同じである。
【0056】
そしてS1104で、パケット受信を監視する処理を開始する。パケットキャプチャ処理部305がパケットを受信した場合はS1105に進み、受信パケットの送信元IPアドレスフィールドの値が、自機のIPアドレスと一致するかどうかを判別する。つまり、自機が送信したパケットかどうかを判別する。一致した場合は自機が送信したパケットである。一致しないときはS1104に進むが、一致したと判別した場合はS1106に進み、受信したパケットのプロトコルフィールドを参照し、そのパケットがIGMPプロトコルかどうかを判別する。具体的には、そのパケットのプロトコルフィールドがIGMPを示す「0x02」の値になっているかどうかで判別する。IGMPは特定のマルチキャストパケットを受信するためにホストがルータに登録できる制御を示したプロトコルである。このプロトコルパケットを監視することにより、MFP101がいつマルチキャストグループにjoin(参加)したか、leave(離脱)したかを判別することができる。
【0057】
S1106で、そのパケットがIGMPパケットであると判別した場合はS1107に進み、次にそのIGMPパケットのタイプがjoinかleaveのいずれかと一致するか否かを識別する。IGMPは大きく3つのバージョンが存在し、各バージョンによって参照するフィールドが異なる。例えば、バージョンIGMPv3の場合、Record Typeフィールドが「0x04」(Change to Exclude Mode)の場合はjoinと判別する。またフィールドが「0x03(Change to Include Mode)の場合はleaveと判別する。
【0058】
またバージョンIGMPv2の場合は、Message Typeフィールドが「0x11」(メンバーシップクエリ)の場合はjoinと判別する。またフィールドが「0x17」(リーブレポート)の場合はleaveと判別する。IGMPの詳細はRFCを参照されたい。
【0059】
S1107で、joinパケットであると識別した場合はS1108に進み、joinするマルチキャストアドレスをキャプチャフィルタテーブル306に追加する。またS1109で、leaveパケットであると識別した場合はS1110に進み、leaveするマルチキャストアドレスをキャプチャフィルタテーブル306から削除する。
【0060】
図12は、実施形態2に係るMFP101のフィルタモードにおける処理シーケンスの一例を説明する図である。ここでは、パケットキャプチャ機能を搭載しているMFP101のIPアドレスを「192.168.0.2」、外部ホスト1200のIPアドレスを「192.168.0.1」とする。
【0061】
パケットキャプチャ処理部307は、常にMFP101が送受信するパケットを監視しているものとする。MFP101がIPアドレス「239.255.255.253」にjoinパケット1201を送信した場合、パケットキャプチャ処理部307は、そのパケットを検知できる。そして送信先IPアドレス「239.255.255.253」を、フィルタ対象としてキャプチャフィルタテーブル306に追加する(1202)。その後、送信先IPアドレスが「239.255.255.253」のSLPマルチキャストパケット1203を受信すると、キャプチャフィルタテーブル306の条件と一致する。このため、その受信したパケットを記憶領域(HDD205)に保存する(1204)。
【0062】
同様に、MFP101がIPアドレス「239.255.255.250」にjoinパケット1205を送信した場合、パケットキャプチャ処理部307は、そのパケットを検知することができる。そして、その送信先IPアドレス「239.255.255.250」をキャプチャフィルタテーブル306にフィルタ対象として追加する(1206)。その後、送信先IPアドレスが「239.255.255.250」のWSDマルチキャストパケット1207を受信した場合は、キャプチャフィルタテーブル306の条件と一致する。このため、その受信したパケットは記憶領域(HDD205)に保存される(1208)。
【0063】
また、MFP101がIPアドレス「239.255.255.253」に対するleaveパケット1209を送信した場合、パケットキャプチャ処理部305は、そのパケットを検知するができる。そして、そのIPアドレス「239.255.255.253」をキャプチャフィルタテーブル306のフィルタ対象から削除する(1210)。その後、送信先IPアドレスが「239.255.255.253」のSLPマルチキャストパケット1211を受信した場合は、キャプチャフィルタテーブル306の条件と一致しないので、その受信したパケットを保存しない(1212)。
【0064】
このようにMFP101が送信するIGMPパケットを常に監視し、joinとleaveに応じてフィルタ対象の追加及び削除を行うことにより、動的に最適なフィルタ条件を常に保持することができる。これにより、自機に関連のあるパケットのみを効率的に保存できるだけでなく、新規にMFP101にインストールされたアプリケーションなどが新しいマルチキャストパケットを扱っても、漏れなく対応することが可能となる。
【0065】
尚、本実施例では、IGMPパケットを監視することによってマルチキャストグループへの参加や離脱を検知した。しかし、マルチキャストグループへの参加や離脱を検知できるパケットであれば、IGMP以外のパケットを監視することによって同様の処理を行ってもよい。即ち、マルチキャストグループへの参加や離脱を検知するための特定のプロトコルはIGMPに限定されない。
【0066】
(その他の実施例)
上記実施形態の説明では、通信装置の一例としてMFPをあげて説明したが、本発明はMFPに限らず、ネットワークを介してデータを送受信可能なあらゆる通信装置に適用可能である。
【0067】
また、上記第1の実施形態と第2の実施形態とを適宜組み合わせて本発明を実施することも可能である。
【0068】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、受信したデータに対するフィルタ処理を行う通信装置とその制御方法とプログラムに関する。
【背景技術】
【0002】
近年、ネットワーク環境の複雑化やトラフィックの増加、新しいプロトコルの出現に伴い、ネットワークに関連する障害も増加している。このような障害として、例えば、ネットワークに接続できない、速度が遅い、瞬断が発生する等の障害が挙げられる。
【0003】
このようなネットワークの障害時には、PCでネットワークパケットを取得するアプリケーションツールを実行し、ネットワークパケットを監視して障害の原因を究明するのが一般的であった。しかし、ある機器で送受信しているネットワークパケットをPCが取得するためには、ネットワークの構成を変更したり、スイッチの設定を変更する必要があった。そのため手間がかかり、かつ操作ミスも発生しやすく、また、ネットワーク構成を変更した場合は障害の現象が変わってしまうこともあり、必ずしも障害の原因となるパケットを取得できるという保証がなかった。
【0004】
そこでPCだけではなく、複合機などの組込み機器にもパケット取得アプリを搭載してネットワークパケットを取得することで、この問題を解決する手法が考えられている(例えば、特許文献1)。この手法により、組込み機器が不正なパケットを送受信している等の情報は、PC等を使用せずに、組込み機器内で判断することが可能となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−152762号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、一般的な組込み機器はPCと異なり、保存できるパケットデータの保存領域が限定されている。そのため、「フィルタなしモード」でパケット取得を動作させた場合は、組込み機器が取得するネットワークパケットの全てを取得して保存してしまうため、直ぐに保存領域がフルになってしまうという問題があった。
【0007】
また「自機宛MACアドレスを含むパケットのみを取得するモード」でパケットを取得した場合は、マルチキャストパケット等はフィルタ条件に合致しないため破棄していた。つまり、このフィルタモードを使用すると、実際は受信して処理しているマルチキャストパケットを取得できなくなるという問題があった。つまり、「フィルタなしモード」では、取得したパケットのサイズが大きくなり、「フィルタありモード」にすると、自機に関連のあるパケットを取得できないという問題があった。
【0008】
本発明の目的は、上記従来技術の問題点を解決することにある。
【0009】
本願発明の特徴は、関連するマルチキャストアドレスを求めてフィルタ条件に反映することにより、フィルタモードであっても自機に関連のあるパケットを取得できる技術を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために本発明の一態様に係る通信装置は以下のような構成を備える。即ち、
ネットワークの機器との間でデータの送受信処理を行う通信装置であって、
フィルタ条件を記憶する記憶手段と、
プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件に追加する更新手段と、
受信したデータが前記記憶手段に記憶された前記フィルタ条件を満足するか否かを判定する判定手段と、
前記判定手段が前記フィルタ条件を満足すると判定した場合に、前記受信したデータを保存領域に保存する保存手段と、
を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、関連するマルチキャストアドレスを求めて、動的にフィルタ条件に反映することにより、フィルタモードであっても、自機に関連のあるパケットを取得できる。
【図面の簡単な説明】
【0012】
【図1】本実施形態に係る組込み機器である画像形成装置を使用したネットワークシステムの構成を示す図。
【図2】本実施形態に係るMFPのハードウェア構成を説明するブロック図。
【図3】MFPのソフトウェア構成を説明するブロック図。
【図4】実施形態に係るキャプチャフィルタテーブルの一例を示す図。
【図5】IPフィルタテーブルの一例を示す図。
【図6】WOLテーブルの一例を示す図。
【図7】本発明の実施形態1に係るパケットキャプチャ制御部による処理を説明するフローチャート。
【図8】プロトコルと、マルチキャストアドレスとの対応を示すテーブルの一例を示す図。
【図9】実施形態1に係るパケットキャプチャ処理部の処理を説明するフローチャート。
【図10】実施形態1に係るMFPのフィルタモードでのシーケンス例を説明する図。
【図11】実施形態2に係るパケットキャプチャ処理を説明するフローチャート。
【図12】実施形態2に係るMFPのフィルタモードにおける処理シーケンスの一例を説明する図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、組込み機器が設定値から取得するマルチキャストパケットを算出し、動的に反映する場合について説明する。
【0014】
図1は、本実施形態に係る組込み機器である画像形成装置101を使用したネットワークシステムの構成を示す図である。
【0015】
画像形成装置101とホストコンピュータ102とがネットワーク(NET)を介して接続され、相互に送受信処理が可能となっている。尚、この画像形成装置101は、コピー機能、ファクシミリ機能、印刷機能、ストレージ機能などを備えた多機能処理装置(以下、MFP)である。
【0016】
図2は、本実施形態に係るMFP101のハードウェア構成を説明するブロック図である。
【0017】
MFP101は、CPU209を有するユニット220と、CPU221を有するユニット221の2つを有している。尚、ここでは、ユニット220はMFP101のコントローラ、ユニット221はMFP101のNIC(Network Interface Card)として記載している。MFP201は省電力機能を保持し、「スリープ状態」の場合は、ユニット221のみに電源が供給され、それ以外への電源供給を停止することで、消費電力の低減を実現する。
【0018】
まず最初にユニット220について説明する。ROM203のプログラム用ROMは、CPU209が実行可能な制御プログラム等を記憶している。ROM203のデータ用ROMは、ユニット220で利用される情報等を記憶している。CPU209は、ROM203のプログラム用ROMに記憶された制御プログラムに従って、システムバス210に接続される各種のデバイスとのアクセスを総括的に制御する。また、プリンタI/F206を介して接続されるプリンタエンジン222に、出力情報としての画像信号を出力したり、スキャナI/F201を介して接続されるスキャナ218から入力される画像信号を制御する。RAM204は、主としてCPU209の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMにより、そのメモリ容量を拡張できるように構成されている。ハードディスク(HDD)205は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。また更に、スキャナ218から入力した画像データやプリントジョブの画像データをボックスデータとして保持し、ネットワークから参照したり、印刷を行うためのデータ格納領域としても使用される。不揮発性メモリ(NVRAM)207は、操作パネル219を使用して設定される各種設定情報を、パネル制御部208経由で受け取って記憶している。
【0019】
次にユニット221について説明する。ROM213のプログラム用ROMは、CPU211が実行可能な制御プログラム等を記憶している。ROM213のデータ用ROMは、ユニット221上で利用される情報等を記憶している。CPU211は、ROM213のプログラム用ROMに記憶された制御プログラムに従って、システムバス216に接続される各種のデバイスとのアクセスを総括的に制御する。RAM214は、主としてCPU211の主メモリ,ワークエリア等として機能する。CPU211は、ネットワークI/F215を介してネットワーク上のホストコンピュータや画像形成装置との通信処理が可能となっている。
【0020】
また、これらユニット220とユニット221は、拡張I/F217を介して接続されており、ユニット220上のCPU209は、拡張I/F217、拡張I/F制御部202を経由して、ユニット221とデータの送受信を行うことができる。同様に、ユニット221のCPU211は、拡張I/F217、拡張I/F制御部212を経由して、ユニット220とデータの送受信を行うことができる。
【0021】
図3は、MFP101のソフトウェア構成を説明するブロック図である。尚、図3に示すメインCPUファーム301の各処理部及び制御部は、CPU209がプログラムROMに記憶されたプログラムを実行することにより実現される。
【0022】
このMFP101のソフトウェア構成は、大きく非スリープ状態で動作するメインCPUファーム301と、スリープ状態で動作するサブCPUファーム302とに分けられる。まず、メインCPUファーム301について説明する。
【0023】
外部からネットワークパケットを受信した場合、まずパケットキャプチャ処理部305で、受信したデータが処理される。「フィルタなしモード」で動作している場合、パケットキャプチャ処理部305は、受信した全てのパケットデータをキャプチャデータ保存領域308に保存する。一方、「フィルタモード」で動作している場合、パケットキャプチャ処理部305は、キャプチャフィルタテーブル306を参照し、フィルタ条件を満足するパケットデータのみを保存領域に保存していく。いずれの動作モードでも、受信したパケットデータをそのままIPフィルタ処理部309に転送する。パケットキャプチャ制御部307は、UI部311を介してユーザが指示することにより、キャプチャフィルタテーブル306を更新するための処理を実行する。
【0024】
図4は、実施形態に係るキャプチャフィルタテーブル306の一例を示す図である。
【0025】
優先度が「1」のポリシーから条件を照合していき、条件を満足した時点で「挙動」に示されている動作(図4では「保存する」、「保存しない」)をする。
【0026】
IPフィルタ処理部309は、IPフィルタテーブル310を参照し、受信した全てのパケットデータに対してフィルタ条件に合致するかどうかを判別する。もし「破棄」のフィルタ条件に合致した場合は、受信したパケットデータを速やかに破棄し、その受信データをアプリケーション層まで転送しない。また「許可」のフィルタ条件に合致した場合は、受信したパケットデータをそのまま上位のアプリ層に転送する。
【0027】
図5は、IPフィルタテーブル310の一例を示す図である。
【0028】
優先度が「1」のポリシーから条件を照合していき、条件を満足した時点で「挙動」に示されている動作(図5では、「破棄」、「許可」)をする。
【0029】
アプリケーション312及び313は、このMFP101で動作するアプリケーションであり、受信したパケットに対して返送パケットを送信したり、自らパケットを送信したりする。尚、アプリケーションが自発的にパケットを送信する場合も、受信時と逆のシーケンスとなり、まずIPフィルタ処理部309でフィルタ処理され、次にパケットキャプチャ処理部305でキャプチャ処理される。
【0030】
UI部311により、ユーザは操作パネル219を介して、MFP101に対する各種設定を行うことができる。例えば、MFP101のWSD設定の有効、無効や、SLP設定の有効、無効が設定可能である。
【0031】
次にサブCPUファーム302について説明する。
【0032】
サブCPUファーム302は、メインCPUファーム301がスリープ状態の場合でのみ起動する。サブCPUファーム302は、受信したネットワークデータを2種に分類する。ここで2種とは、「破棄」と「メインCPUファームへ転送」である。「メインCPUファームへ転送」は、受信したネットワークデータに対して何らかの処理が必要であるが、電源が供給されているユニット221だけでは処理を行えないネットワークデータを受信した場合を示す。WOL(Wake On LAN)処理部314は、受信したパケットをWOLテーブル315を参照し、メインCPUファーム301を復帰させるパターンかどうかを判断する。復帰させる場合は復帰処理を行い、MFP101を「スリープ状態」から「非スリープ状態」へ移行し、受信したパケットをメインCPUファーム301へ転送する。また復帰させない場合は、受信したネットワークデータに対する処理は何も行わずに、受信したパケットを破棄し、メインCPUファーム301へ転送しない。
【0033】
CPU間通信部303,304はそれぞれ、メインCPUファーム301、サブCPUファーム302に設けられ、メインCPUファーム301とサブCPUファーム302との間の通信を制御する。
【0034】
図6は、WOLテーブル315の一例を示す図である。
【0035】
優先度が「1」のポリシーから条件を照合していき、条件を満足した時点で「挙動」に示されている動作(図6では、「WOLする」、「WOLしない」)をする。
【0036】
[実施形態1]
図7は、本発明の実施形態1に係るパケットキャプチャ制御部307による処理を説明するフローチャートである。尚、この処理は、CPU209がプログラムROMに記憶されているプログラムを実行することにより実現される。
【0037】
MFP101の電源が入れられるとまずS701で、パケットキャプチャ制御部307は、設定されているフィルタ設定モードを読み込む。フィルタ設定モードは、全ての受信パケットを保存する「フィルタなしモード」と、フィルタ条件に合致した受信パケットのみ保存する「フィルタありモード」に大別され、ユーザが任意の設定値を選択することができる。例えば、「フィルタありモード」は更に「自機MACアドレスを含むパケットのみ」や「自機に関連するパケットのみ」など、どのようなフィルタ条件で動作するかを詳細に設定できるようにしてもよい。本実施形態1では、「自機に関連するパケットのみ」を取得して保存するモードが設定できる場合で説明する。
【0038】
「フィルタなしモード」の場合はS710に進み、パケットキャプチャ制御部307は特に処理を行わずに、ユーザが設定値を変更するまで待機する。一方、「フィルタありモード」の場合はS702に進み、パケットキャプチャ制御部307は、各設定値を参照して、パケットキャプチャフィルタテーブル306を生成する。
【0039】
「自機に関連するパケットのみ」は、つまり自機MACアドレスを含むパケットと捉えられる。よってS702で、パケットキャプチャ制御部307は、自機のMACアドレスを取得する。そして「パケットの送信元MACアドレス、或いは送信先MACアドレスのフィールドが自機MACアドレスと一致する」という条件をパケットキャプチャフィルタテーブル306に追加する。次にS703に進み、ブロードキャストアドレスやサブネットブロードキャストアドレスも自機に関係のあるパケットの可能性が高いため、ここではフィルタ対象に追加する。ここで、サブネットブロードキャストアドレスは、自機のIPアドレス及びサブネットマスクから算出する。
【0040】
次に、各プロトコルの設定値を参照してパケットキャプチャフィルタテーブル306に条件を追加するかどうかを判断する。まずS704で、「WSD設定」を参照し、もし有効である場合はS705に進み、「送信先IPアドレスのフィールドが239.255.255.250と一致」という条件を追加する。この時、各プロトコルに対応するマルチキャストアドレスは、図8のような対応テーブルをデバイスに内部に保持しておき、このテーブルに基づき決定する。
【0041】
図8は、プロトコルと、マルチキャストアドレスとの対応を示すテーブルの一例を示す図である。
【0042】
このテーブルの内容はユーザがUIなどで変更可能としてもよい。
【0043】
次にS706で「SLP設定」を参照し、もし有効である場合はS707に進み、「送信先IPアドレスのフィールドが239.255.255.253と一致」という条件を追加する。次にS708で「IPv6設定」を参照し、もし有効である場合はS709に進んで、「送信先IPアドレスのフィールドがff02::1:ff00:0/104と一致」という条件を追加する。尚、図7、図8では、各プロトコル設定に対するIPv4マルチキャストアドレスしか記載していないが、対応するIPv6マルチキャストも同様に追加してもよい。
【0044】
このようにして、各プロトコルの参照が終了した時点で、例えば、図4に示すようなパケットキャプチャフィルタテーブル306が生成される。その後、パケットキャプチャ制御部307は、S710で、ユーザが設定値を変えるまで待機し、UI部311から設定値の変更が指示されるとS701に進み、前述した処理を実行する。
【0045】
図9は、本発明の実施形態1に係るパケットキャプチャ処理部305の処理を説明するフローチャートである。尚、この処理は、CPU209がプログラムROMに記憶されているプログラムを実行することにより実現される。
【0046】
まずS901で、パケットキャプチャ処理部305はパケットを受信するとS902に処理を進め、フィルタモードの設定値を読み込む。そして、フィルタモードの設定が「フィルタなしモード」である場合はS905に進み、受信データをキャプチャデータ保存領域(例えば、HDD205)に保存する。
【0047】
一方、フィルタモード設定が「フィルタありモード」の場合はS903に進み、パケットキャプチャフィルタテーブル306を参照する。ここでは優先度の数字が小さいポリシー内容から順番に(優先度1から順に)参照していき、S904で条件に一致するかどうかを判定する。そして条件に一致した場合はS905に進み、受信したパケットを保存領域(例えば、HDD205)に保存する。
【0048】
図10は、本発明の実施形態1に係るMFP101のフィルタモードでのシーケンス例を説明する図である。
【0049】
パケットキャプチャ機能を搭載しているMFP101のIPアドレスを「192.168.0.2」、外部ホスト1010のIPアドレスを「192.168.0.1」とする。例えば、MFP101が外部ホスト1010からSLPマルチキャストパケットを受信した場合、キャプチャフィルタテーブル306を参照する。パケットの送信先IPアドレスが「239.255.255.253」であること、プロトコルがSLPであることより、図4の優先度が「3」のポリシーの条件と一致する。これにより、その受信したパケットを保存領域に保存する(1020)。
【0050】
また、MFP101が外部ホスト1010からpingリクエストパケットを受信した場合は、パケットの送信先MACアドレスが自機MACアドレスである「00-00-44-33-22-11」と一致する。即ち図4の優先度が「2」のポリシーの条件と一致する。このため、その受信したパケットを保存する(1021)。
【0051】
またMFP101が外部ホスト1010からHSRPマルチキャストパケットを受信した場合、図4のキャプチャフィルタテーブル306のどのポリシーとも一致する条件がないため、最終的に受信パケットを保存しない(1022)。
【0052】
従来は、「フィルタなしモード」の場合、受信した全パケットを保存していたので、HSRPのような無関係のパケットも保存してしまい、無駄に保存領域を浪費していた。これに対して本実施形態1では、HSRPのような無関係のパケットを保存しない。また「フィルタありモード」の場合、MFP101に関連するパケットのみを保存するので、保存領域を効率的に活用でき、かつ保存後のキャプチャデータの解析なども行いやすくなるという効果がある。
【0053】
[実施形態2]
前述の実施形態1では、例えば図8に示すようなプロトコルと、マルチキャストアドレスの対応テーブルで管理していた。そのため、例えばMFP101に追加のアプリケーションをインストールした場合に、そのアプリケーションが、そのテーブルに存在しないマルチキャストアドレスを使用しているとする。このような場合は、そのマルチキャストパケットはフィルタ条件に一致しないため受信パケットを取得できない。そこで実施形態2では、図8のようなテーブルを参照せず、新規のマルチキャストパケットなどが現れても、もれなく取得できるような技術について説明する。尚、実施形態2に係るシステム構成及びMFPの構成は、前述の実施形態1と同様であるため、その説明を省略する。
【0054】
図11は、本発明の実施形態2に係るパケットキャプチャ処理を説明するフローチャートである。尚、この処理は、CPU209がプログラムROMに記憶されているプログラムを実行することにより実現される。
【0055】
フィルタモード設定の読み込み処理、フィルタモードが有効であれば自機MACアドレス、ブロードキャストアドレスをキャプチャフィルタテーブルに追加する処理(S1101〜S1103)は、前述の実施形態1(図7のS701〜S703)と同じである。
【0056】
そしてS1104で、パケット受信を監視する処理を開始する。パケットキャプチャ処理部305がパケットを受信した場合はS1105に進み、受信パケットの送信元IPアドレスフィールドの値が、自機のIPアドレスと一致するかどうかを判別する。つまり、自機が送信したパケットかどうかを判別する。一致した場合は自機が送信したパケットである。一致しないときはS1104に進むが、一致したと判別した場合はS1106に進み、受信したパケットのプロトコルフィールドを参照し、そのパケットがIGMPプロトコルかどうかを判別する。具体的には、そのパケットのプロトコルフィールドがIGMPを示す「0x02」の値になっているかどうかで判別する。IGMPは特定のマルチキャストパケットを受信するためにホストがルータに登録できる制御を示したプロトコルである。このプロトコルパケットを監視することにより、MFP101がいつマルチキャストグループにjoin(参加)したか、leave(離脱)したかを判別することができる。
【0057】
S1106で、そのパケットがIGMPパケットであると判別した場合はS1107に進み、次にそのIGMPパケットのタイプがjoinかleaveのいずれかと一致するか否かを識別する。IGMPは大きく3つのバージョンが存在し、各バージョンによって参照するフィールドが異なる。例えば、バージョンIGMPv3の場合、Record Typeフィールドが「0x04」(Change to Exclude Mode)の場合はjoinと判別する。またフィールドが「0x03(Change to Include Mode)の場合はleaveと判別する。
【0058】
またバージョンIGMPv2の場合は、Message Typeフィールドが「0x11」(メンバーシップクエリ)の場合はjoinと判別する。またフィールドが「0x17」(リーブレポート)の場合はleaveと判別する。IGMPの詳細はRFCを参照されたい。
【0059】
S1107で、joinパケットであると識別した場合はS1108に進み、joinするマルチキャストアドレスをキャプチャフィルタテーブル306に追加する。またS1109で、leaveパケットであると識別した場合はS1110に進み、leaveするマルチキャストアドレスをキャプチャフィルタテーブル306から削除する。
【0060】
図12は、実施形態2に係るMFP101のフィルタモードにおける処理シーケンスの一例を説明する図である。ここでは、パケットキャプチャ機能を搭載しているMFP101のIPアドレスを「192.168.0.2」、外部ホスト1200のIPアドレスを「192.168.0.1」とする。
【0061】
パケットキャプチャ処理部307は、常にMFP101が送受信するパケットを監視しているものとする。MFP101がIPアドレス「239.255.255.253」にjoinパケット1201を送信した場合、パケットキャプチャ処理部307は、そのパケットを検知できる。そして送信先IPアドレス「239.255.255.253」を、フィルタ対象としてキャプチャフィルタテーブル306に追加する(1202)。その後、送信先IPアドレスが「239.255.255.253」のSLPマルチキャストパケット1203を受信すると、キャプチャフィルタテーブル306の条件と一致する。このため、その受信したパケットを記憶領域(HDD205)に保存する(1204)。
【0062】
同様に、MFP101がIPアドレス「239.255.255.250」にjoinパケット1205を送信した場合、パケットキャプチャ処理部307は、そのパケットを検知することができる。そして、その送信先IPアドレス「239.255.255.250」をキャプチャフィルタテーブル306にフィルタ対象として追加する(1206)。その後、送信先IPアドレスが「239.255.255.250」のWSDマルチキャストパケット1207を受信した場合は、キャプチャフィルタテーブル306の条件と一致する。このため、その受信したパケットは記憶領域(HDD205)に保存される(1208)。
【0063】
また、MFP101がIPアドレス「239.255.255.253」に対するleaveパケット1209を送信した場合、パケットキャプチャ処理部305は、そのパケットを検知するができる。そして、そのIPアドレス「239.255.255.253」をキャプチャフィルタテーブル306のフィルタ対象から削除する(1210)。その後、送信先IPアドレスが「239.255.255.253」のSLPマルチキャストパケット1211を受信した場合は、キャプチャフィルタテーブル306の条件と一致しないので、その受信したパケットを保存しない(1212)。
【0064】
このようにMFP101が送信するIGMPパケットを常に監視し、joinとleaveに応じてフィルタ対象の追加及び削除を行うことにより、動的に最適なフィルタ条件を常に保持することができる。これにより、自機に関連のあるパケットのみを効率的に保存できるだけでなく、新規にMFP101にインストールされたアプリケーションなどが新しいマルチキャストパケットを扱っても、漏れなく対応することが可能となる。
【0065】
尚、本実施例では、IGMPパケットを監視することによってマルチキャストグループへの参加や離脱を検知した。しかし、マルチキャストグループへの参加や離脱を検知できるパケットであれば、IGMP以外のパケットを監視することによって同様の処理を行ってもよい。即ち、マルチキャストグループへの参加や離脱を検知するための特定のプロトコルはIGMPに限定されない。
【0066】
(その他の実施例)
上記実施形態の説明では、通信装置の一例としてMFPをあげて説明したが、本発明はMFPに限らず、ネットワークを介してデータを送受信可能なあらゆる通信装置に適用可能である。
【0067】
また、上記第1の実施形態と第2の実施形態とを適宜組み合わせて本発明を実施することも可能である。
【0068】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
ネットワークの機器との間でデータの送受信処理を行う通信装置であって、
フィルタ条件を記憶する記憶手段と、
プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件に追加する更新手段と、
受信したデータが前記記憶手段に記憶された前記フィルタ条件を満足するか否かを判定する判定手段と、
前記判定手段が前記フィルタ条件を満足すると判定した場合に、前記受信したデータを保存領域に保存する保存手段と、
を有することを特徴とする通信装置。
【請求項2】
前記フィルタ条件は優先度の情報を含み、前記判定手段は、当該優先度の順に、前記受信したデータのアドレスと、前記フィルタ条件に含まれるアドレスとを照合して前記フィルタ条件を満足するか否かを判定することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記プロトコルとマルチキャストアドレスとの対応は、ユーザが任意に設定可能であることを特徴とする請求項1に記載の通信装置。
【請求項4】
前記受信したデータが特定のプロトコルと一致するかどうかを判別する判別手段と、
前記判別手段によって前記特定のプロトコルと一致すると判別した場合、当該データがマルチキャストグループへの参加を示すデータか離脱を示すデータかを識別する識別手段と、
前記識別手段によって参加を示すデータであると識別されると、対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件に追加し、前記識別手段によって離脱を示すデータであると識別されると、対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件から削除する手段とを更に有することを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
【請求項5】
ネットワークの機器との間でデータの送受信処理を行う通信装置を制御する制御方法であって、
前記通信装置の更新手段が、プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスを、メモリに記憶されているフィルタ条件に追加する更新工程と、
前記通信装置の判定手段が、受信したデータが、前記メモリに記憶された前記フィルタ条件を満足するか否かを判定する判定工程と、
前記通信装置の保存手段が、前記判定工程で前記フィルタ条件を満足すると判定した場合に、前記受信したデータを保存領域に保存する保存工程と、
を有することを特徴とする通信装置の制御方法。
【請求項6】
前記通信装置の判別手段が、前記受信したデータが特定のプロトコルと一致するかどうかを判別する判別工程と、
前記通信装置の識別手段が、前記判別工程で前記特定のプロトコルと一致すると判別した場合、当該データがマルチキャストグループへの参加を示すデータか離脱を示すデータかを識別する識別工程と、
前記通信装置の削除手段が、前記識別工程で参加を示すデータであると識別されると、対応するマルチキャストアドレスを前記メモリの前記フィルタ条件に追加し、前記識別工程で離脱を示すデータであると識別されると、対応するマルチキャストアドレスを前記メモリの前記フィルタ条件から削除する削除工程とを更に有することを特徴とする請求項5に記載の通信装置の制御方法。
【請求項7】
請求項5又は6に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
ネットワークの機器との間でデータの送受信処理を行う通信装置であって、
フィルタ条件を記憶する記憶手段と、
プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件に追加する更新手段と、
受信したデータが前記記憶手段に記憶された前記フィルタ条件を満足するか否かを判定する判定手段と、
前記判定手段が前記フィルタ条件を満足すると判定した場合に、前記受信したデータを保存領域に保存する保存手段と、
を有することを特徴とする通信装置。
【請求項2】
前記フィルタ条件は優先度の情報を含み、前記判定手段は、当該優先度の順に、前記受信したデータのアドレスと、前記フィルタ条件に含まれるアドレスとを照合して前記フィルタ条件を満足するか否かを判定することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記プロトコルとマルチキャストアドレスとの対応は、ユーザが任意に設定可能であることを特徴とする請求項1に記載の通信装置。
【請求項4】
前記受信したデータが特定のプロトコルと一致するかどうかを判別する判別手段と、
前記判別手段によって前記特定のプロトコルと一致すると判別した場合、当該データがマルチキャストグループへの参加を示すデータか離脱を示すデータかを識別する識別手段と、
前記識別手段によって参加を示すデータであると識別されると、対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件に追加し、前記識別手段によって離脱を示すデータであると識別されると、対応するマルチキャストアドレスを前記記憶手段の前記フィルタ条件から削除する手段とを更に有することを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
【請求項5】
ネットワークの機器との間でデータの送受信処理を行う通信装置を制御する制御方法であって、
前記通信装置の更新手段が、プロトコルとマルチキャストアドレスとの対応に基づいて、有効なプロトコルに対応するマルチキャストアドレスを、メモリに記憶されているフィルタ条件に追加する更新工程と、
前記通信装置の判定手段が、受信したデータが、前記メモリに記憶された前記フィルタ条件を満足するか否かを判定する判定工程と、
前記通信装置の保存手段が、前記判定工程で前記フィルタ条件を満足すると判定した場合に、前記受信したデータを保存領域に保存する保存工程と、
を有することを特徴とする通信装置の制御方法。
【請求項6】
前記通信装置の判別手段が、前記受信したデータが特定のプロトコルと一致するかどうかを判別する判別工程と、
前記通信装置の識別手段が、前記判別工程で前記特定のプロトコルと一致すると判別した場合、当該データがマルチキャストグループへの参加を示すデータか離脱を示すデータかを識別する識別工程と、
前記通信装置の削除手段が、前記識別工程で参加を示すデータであると識別されると、対応するマルチキャストアドレスを前記メモリの前記フィルタ条件に追加し、前記識別工程で離脱を示すデータであると識別されると、対応するマルチキャストアドレスを前記メモリの前記フィルタ条件から削除する削除工程とを更に有することを特徴とする請求項5に記載の通信装置の制御方法。
【請求項7】
請求項5又は6に記載の制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−238924(P2012−238924A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−104741(P2011−104741)
【出願日】平成23年5月9日(2011.5.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願日】平成23年5月9日(2011.5.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]