(57)【要約】【課題】ＵＳＢ-ＬＡＮアダプタを用いてネットワーク接続を確立する情報処理装置を、ＳＮＭＰを用いて監視する場面において、ＵＳＢ-ＬＡＮアダプタが挿抜されても、監視に支障が生じるのを防止する。【解決手段】ＳＮＭＰを用いて監視を行う装置の監視対象となるＵＳＢ対応のインタフェースを備えた情報処理装置であって、認識したネットワークインタフェースに対し、ユニークなインデックスを設定する設定手段と、前記監視を行う装置からのリクエストに対し、ＳＮＭＰを用いてレスポンスを返す応答手段と、ＵＳＢ対応のネットワークカードが前記ＵＳＢ対応のインタフェースに接続されてネットワーク接続が確立された後に当該ネットワークカードの接続が再び検知されると、所定の条件に従って、前記情報処理装置の再起動を促す通知を行う通知手段とを備えることを特徴とする。【選択図】  図６
2020057314.tif 000002
【特許請求の範囲】
【請求項１】
ＳＮＭＰを用いて監視を行う装置の監視対象となる、ＵＳＢ対応のインタフェースを備えた情報処理装置であって、
認識したネットワークインタフェースに対し、ユニークなインデックスを設定する設定手段と、
前記監視を行う装置からのリクエストに対し、ＳＮＭＰを用いてレスポンスを返す応答手段と、
ＵＳＢ対応のネットワークカードが前記ＵＳＢ対応のインタフェースに接続されてネットワーク接続が確立された後に当該ネットワークカードの接続が再び検知されると、所定の条件に従って、前記情報処理装置の再起動を促す通知を行う通知手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記所定の条件は、前記ネットワークカードの利用が許可されており、かつ、前記ネットワークカードのタイプが前記情報処理装置で動作可能なタイプに該当することである、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の条件は、前記情報処理装置において前記ＳＮＭＰの動作設定が有効に設定されていることである、ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記ネットワークカードを介したネットワーク接続が確立された後にその切断が検知されると、当該ネットワーク接続を確立した時に設定された前記インデックスを保存する保存手段をさらに備え、
前記所定の条件は、前記ネットワークカードの接続が再び検知された場合において、当該検知に応じて前記設定手段が設定するインデックスと、前記保存手段に保存された前記インデックスとが一致しないことである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記所定の条件は、前記監視を行う装置からの要求が、前記情報処理装置のＭＩＢ情報へのアクセスを要するリクエストである、ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記所定の条件は、前記監視を行う装置からのリクエストで指定されたＩｆＩｎｄｅｘの値と、前記設定手段が設定した前記インデックスの値とが一致しないことである、ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記通知手段は、前記監視を行う装置における前記監視対象の再登録を促す通知をさらに行う、ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
ＳＮＭＰを用いてネットワーク機器の監視を行う監視装置と、当該監視装置の監視対象となるＵＳＢ対応のインタフェースを備えた情報処理装置と、を含むシステムであって、
前記情報処理装置において、ＵＳＢ対応のネットワークカードによるネットワーク接続が確立された後に当該ネットワークカードの接続が再び検知されると、所定の条件に従って、前記情報処理装置の再起動を促す通知を行う
ことを特徴とするシステム。
【請求項９】
ＳＮＭＰを用いて監視を行う装置の監視対象となるＵＳＢ対応のインタフェースを備えた情報処理装置の制御方法であって、
認識したネットワークインタフェースに対し、ユニークなインデックスを設定する設定ステップと、
前記監視を行う装置からのリクエストに対し、ＳＮＭＰを用いてレスポンスを返す応答ステップと、
ＵＳＢ対応のネットワークカードが前記ＵＳＢ対応のインタフェースに接続されてネットワーク接続が確立された後に当該ネットワークカードの接続が再び検知されると、所定の条件に従って、前記情報処理装置の再起動を促す通知を行う通知ステップと
を含むことを特徴とする制御方法。
【請求項１０】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ接続のＬＡＮアダプタを介したネットワークインタフェースの制御に関する。
【背景技術】
【０００２】
近年、ネットワークに求められるセキュリティ、機能性の複雑化に伴い、オフィスや商業施設などで複数のＬＡＮ(Local Area Network)を使い分ける構成が一般的になってきている。このようなネットワーク環境下において使用される情報処理装置に対しては、１台の情報処理装置で複数のＬＡＮに対応できることが求められる。１台の情報処理装置で複数のＬＡＮに対応するための一つの方法として、ＵＳＢ(Universal Serial Bus)インタフェースを持つＮＩＣ(Network Interface Card)を用いる方法がある。以下では、ＵＳＢインタフェースを持つＮＩＣを、「ＵＳＢ-ＬＡＮアダプタ」と呼ぶこととする。
【０００３】
情報処理装置が備えるＵＳＢホストインタフェースにＵＳＢ-ＬＡＮアダプタが接続されると、専用のドライバがロードされ、ＵＳＢホストインタフェースはネットワークインタフェースとして認識される。そして、情報処理装置のＯＳは、認識したネットワークインタフェースに対して、他のネットワークインタフェースと内部的に識別するためのインデックス（内部インデックス）を割り当てる。これにより、ＵＳＢ-ＬＡＮアダプタを利用したネットワーク通信が可能となる。この場合において、上記内部インデックスは、ＵＳＢ-ＬＡＮアダプタに対して一意に割り当てられるわけではない。例えば、同一のＵＳＢ-ＬＡＮアダプタを挿抜した場合、挿抜の度に新規の内部インデックスが発番され、それが認識したネットワークインタフェースに対して割り当てられる。ＵＳＢはホットプラグに対応しており、ＵＳＢ規格に準拠した周辺機器（ＵＳＢデバイス）や情報処理装置の電源を切らずに利用可能であるが、ＵＳＢホストインタフェースにＵＳＢ-ＬＡＮアダプタを挿抜する度に新規の内部インデックスが設定される。
【０００４】
一方、ネットワークに接続された上述のような情報処理装置の情報を取得する技術にＳＮＭＰ（Simple Network Management Protocol）がある。ＳＮＭＰは、ＵＤＰ／ＩＰ（User Datagram Protocol／Internet Protocol）上で動作する、ネットワーク機器の監視や制御を行なうためのプロトコルである。監視装置は、このＳＮＭＰを使ってＭＩＢ（Management Information Base）情報を定期的にポーリングすることで、ネットワーク機器の状態を監視し、異常の検出を行うことができる。ここで、ＭＩＢは、ＳＮＭＰで管理されるネットワーク機器が自身の状態を外部に知らせるために公開する情報を意味し、ＲＦＣ１２１３で規定されている。監視装置が要求するＭＩＢ情報を被監視装置が適切に返信するための技術としては、例えば特許文献１がある。
【０００５】
ネットワークと接続される情報処理装置が複数のネットワークインタフェースを備える場合、ＭＩＢ情報においては、ネットワークインタフェースそれぞれと対応付けられた「IfIndex」を利用して各ネットワークインタフェースを識別する。このときのIfIndexの値には、情報処理装置がネットワークインタフェースに割り当てる前述の内部インデックスの値が利用される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−８１４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のような監視装置によって監視される情報処理装置をユーザが利用する場合において、ネットワーク接続が確立中のＵＳＢ-ＬＡＮアダプタをユーザが誤って抜いてしまうことがある。その事実に気づいたユーザは、ＵＳＢ-ＬＡＮアダプタを接続し直し、再び通信できるように復旧させることが予想される。そして、ホットプラグ対応のＵＳＢ-ＬＡＮアダプタは、その再接続によって直ちにネットワーク接続が確立され、通信可能な状態となる。しかし、情報処理装置は、ＵＳＢ-ＬＡＮアダプタの再接続によって認識したネットワークインタフェースに対して新規の内部インデックスを割り当てる結果、ＵＳＢ-ＬＡＮアダプタの挿抜の前後で内部インデックスの値が変わってしまう。
【０００８】
一方、監視装置が情報処理装置の監視を開始する際には、上述のＭＩＢ情報を取得して、当該情報処理装置におけるネットワークインタフェースの構成を把握するのが一般的である。そして、ネットワークインタフェースの構成が監視中に変更されることは稀であるため、監視開始時に取得したＭＩＢ情報に含まれるIfIndexを使い続ける仕様となっているケースが多い。そうなると、ＵＳＢ-ＬＡＮアダプタの挿抜によりIfIndexの値が変更となった場合においても、監視装置は、変更前のIfIndexの値を利用してネットワークインタフェースの状態情報の取得を試みることになる。その結果、情報処理装置では、監視装置から受信した取得要求（ＳＮＭＰリクエスト）に対応するネットワークインタフェースが存在しないことから、エラー応答を行うことになる。すると、監視装置は、情報処理装置において異常が発生したと判断してエラー情報を通知し、これを受けて管理者は、情報処理装置で発生した異常の調査および復旧作業を行う手間が発生してしまう。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、ＳＮＭＰを用いて監視を行う装置の監視対象となる、ＵＳＢ対応のインタフェースを備えた情報処理装置であって、認識したネットワークインタフェースに対し、ユニークなインデックスを設定する設定手段と、前記監視を行う装置からのリクエストに対し、ＳＮＭＰを用いてレスポンスを返す応答手段と、ＵＳＢ対応のネットワークカードが前記ＵＳＢ対応のインタフェースに接続されてネットワーク接続が確立された後に当該ネットワークカードの接続が再び検知されると、所定の条件に従って、前記情報処理装置の再起動を促す通知を行う通知手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＵＳＢ-ＬＡＮアダプタを用いてネットワーク接続を確立する情報処理装置を、ＳＮＭＰを用いて監視する場面において、ＵＳＢ-ＬＡＮアダプタが挿抜されても、監視に支障が生じるのを防止することができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理システムの構成の一例を示す図
【図２】（ａ）はＭＦＰのハードウェア構成の一例を示すブロック図、（ｂ）はＰＣのハードウェア構成の一例を示すブロック図
【図３】（ａ）はＭＦＰのソフトウェア構成の一例を示すブロック図、（ｂ）はＰＣのハードウェア構成の一例を示すブロック図
【図４】ＵＳＢ-ＬＡＮ使用許可設定画面の一例を示す図
【図５】ネットワークインタフェースの状態監視処理の流れを示すフローチャート
【図６】実施形態１に係る、ＭＦＰがＵＳＢ-ＬＡＮアダプタの接続を検知した場合に実行する処理の流れを示すフローチャート
【図７】再起動指示画面の一例を示す図
【図８】実施形態２に係る、ＭＦＰがＵＳＢ-ＬＡＮアダプタの接続を検知した時に実行する処理の流れを示すフローチャート
【図９】ＭＦＰがＳＮＭＰリクエスト受信時に実行する処理の流れを示すフローチャート
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面及び表を用いて説明する。お、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施形態１】
【００１３】
（システム構成）
図１は、本実施形態に係る、情報処理システムの構成の一例を示す図である。本実施形態に係る情報処理システムは、ネットワーク機器を監視する装置としてのＰＣ１００と、監視対象のＭＦＰ１５０とで構成される。ＭＦＰ１５０は、プリント、コピー、ＦＡＸといった複数の機能を備えた情報処理装置である。ＭＦＰ１５０は、ＵＳＢ対応のネットワークカード（以下、「ＵＳＢ-ＬＡＮアダプタ」と表記）１２０にＵＳＢケーブル１４０経由で接続し、ネットワーク中継機器１１０にネットワークケーブル（ＬＡＮケーブル）１３０経由で接続している。ネットワーク中継機器１１０は例えば、スイッチ、ハブである。ネットワーク中継機器１１０には同じくネットワークケーブル１３０でＰＣ１００が接続されている。ＰＣ１００は、ネットワークケーブル１３０及びＵＳＢケーブル１４０を介して、ＭＦＰ１５０の状態を監視している。
【００１４】
（ＭＦＰのハードウェア構成）
図２（ａ）は、本実施形態に係る、ＭＦＰ１５０のハードウェア構成の一例を示すブロック図である。ＭＦＰ１５０は、制御部２００、操作部２０５、プリンタ部２０６、スキャナ部２０７及び外部Ｉ／Ｆ２０８で構成される。制御部２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３及びＨＤＤ２０４で構成され、ＭＦＰ１５０内の各部を制御する。ＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラムを読み出して通信制御などの各種制御を行う。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等の一時領域として用いられる。ＨＤＤ２０４は、データや各種プログラム、或いは各種情報テーブルを記憶する大容量記憶装置である。操作部２０５は、ＭＦＰ１５０を利用するユーザが各種の入力操作を行うためのユーザインタフェースであり、本実施形態ではタッチパネル方式を採用し、表示部の機能も兼ね備えている。プリンタ部２０６は、不図示のクライアントＰＣから受信した印刷ジョブに従って用紙等に画像を形成し出力する処理を行う。スキャナ部２０７は、不図示の原稿台にセットされた原稿を光学的に読み取って、画像データとして出力する処理を行う。外部Ｉ／Ｆ２０８には、通信手段としての有線ＬＡＮインタフェース（以下、「有線ＬＡＮＩ／Ｆ」と表記）２０９及びＵＳＢホストインタフェースとしての３つのＵＳＢインタフェース（以下、「ＵＳＢＩ／Ｆ」と表記）２１０ａ〜２１０ｃを含む。 本明細書においては、３つのＵＳＢＩ／Ｆ２１０ａ〜２１０ｃに共通の内容を説明する場合などにおいて、単に「ＵＳＢＩ／Ｆ２１０」と記すこともある。有線ＬＡＮＩ／Ｆ２０９は、イーサネット（登録商標）に代表される有線ＬＡＮに接続するためのネットワーク接続手段であって、同一ネットワーク上のＰＣ１００や不図示のクライアント端末との間で各種データの送受信を行う通信インタフェースである。ＵＳＢＩ／Ｆ２１０は、ＵＳＢ規格に準拠した周辺機器（以下、「ＵＳＢデバイス」と呼ぶ。）をＭＦＰ１５０に接続するためのシリアルインタフェースである。ＵＳＢデバイスには、キーボード、マウス、外付けＨＤＤなどの他、前述のＵＳＢ-ＬＡＮアダプタが含まれる。図２においては、ＵＳＢＩ／Ｆ２１０ａに対して、ＵＳＢ-ＬＡＮアダプタ１２０が接続されている。
【００１５】
ＵＳＢ-ＬＡＮアダプタ１２０は、ＵＳＢホストインタフェースとしてのＵＳＢＩ／Ｆ２１０に接続するためのＵＳＢＩ／Ｆ２１１と、有線ＬＡＮＩ／Ｆ２１２とで構成されている。ＭＦＰ１５０本体側のＵＳＢＩ／Ｆ２１０は、ＵＳＢ-ＬＡＮアダプタ１２０を接続することで、有線ＬＡＮＩ／Ｆ２０９と同様のネットワーク接続手段として利用することができるようになる。
【００１６】
図２（ｂ）は、本実施形態に係る、ＰＣ１００のハードウェア構成の一例を示すブロック図である。ＰＣ１００は一般的なコンピュータが備えるハードウェア構成を有している。すなわち、ＣＰＵ２２１、ＲＯＭ２２２、ＲＡＭ２２３、ＨＤＤ２２４、グラフィックコントローラ２２５、モニタ２２６、ＵＳＢＩ／Ｆ２２７及び有線ＬＡＮＩ／Ｆ２２８で構成され、各構成部はバスを介して通信可能に接続されている。ＣＰＵ２２１は、ＰＣ１００を統括制御するプロセッサである。ＣＰＵ２２１はＲＯＭ２２２またはＨＤＤ２２４に記憶されたプログラムをＲＡＭ２２３に読み出し、種々の処理を実行する。ＲＯＭ２２２は、システムプログラムなどを記憶する。ＲＡＭ２２３は、ＣＰＵ２２１のワークエリアとして使用される。グラフィックコントローラ２２５は、モニタ２２６に表示されるＵＩ画面を生成する。大容量記憶装置としてのＨＤＤ２２４は、種々のアプリケーションプログラムやデータなどを記憶する。なお、ＨＤＤに代えてＳＳＤ（Solid State Drive）などでもよい。ＵＳＢＩ／Ｆ２２７は、キーボードやマウスなどを接続する。ＬＡＮＩ／Ｆ２２８は、ネットワークケーブル１３０を介して通信するためのネットワーク接続手段である。
【００１７】
なお、本実施形態のＭＦＰ１５０及びＰＣ１００は、１つのＣＰＵが１つのメモリ（ＲＡＭ）を用いて後述の各種フローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のＣＰＵや複数のメモリを協働させて各処理を実行するようにすることもできる。
【００１８】
（ＭＦＰのソフトウェア構成）
図３（ａ）は、被監視装置としてのＭＦＰ１５０における通信処理に関わるソフトウェア構成の一例を示すブロック図である。図３（ａ）には、ネットワーク制御モジュール３０１、ＵＩ制御モジュール３０２、ＳＮＭＰ処理モジュールが示されており、各モジュールはＯＳ（Operating System）３００上で動作し、ＣＰＵ２０１がＲＯＭ２０２に格納された所定のプログラムをＲＡＭ２０３に読み出して実行することによって実現される。
【００１９】
ネットワーク制御モジュール３０１は、有線ＬＡＮＩ／Ｆ２０９の起動制御、および、ネットワーク接続手段として機能する場合のＵＳＢＩ／Ｆ２１０の起動制御を行い、ネットワーク接続を確立する。例えば、ＵＳＢＩ／Ｆ２１０へのＵＳＢ-ＬＡＮアダプタ１２０の接続を検知すると、ネットワーク接続を確立してデータ通信が可能な状態とする。この際、認識したネットワークインタフェースには、前述のとおり、内部的に識別するためのユニークなインデックス（以下、「内部インデックス」と表記）が割り当てられる。この内部インデックスの割り当てについては後述する。ネットワーク制御モジュール３０１はさらに、接続されたＵＳＢ-ＬＡＮアダプタ１２０に対応するネットワークドライバの設定や、ネットワーク接続の状況に応じた通知をＵＩ制御モジュール３０２に対して行う。また、対応可能なＵＳＢ-ＬＡＮアダプタに関する情報を格納したデータベース（ＵＳＢ-ＬＡＮ ＤＢ）３０５を参照して、接続されたＵＳＢ-ＬＡＮアダプタ１２０が動作可能なタイプか否かを判定するといった処理も行う。
【００２０】
ＵＩ制御モジュール３０２は、ＭＦＰ１５０のユーザが各種設定等を行うためのＵＩ画面の表示や入力指示の受け付け、エラー通知などを行う。設定値ＤＢ３０４は、ＭＦＰ１５０内部で動作する各モジュール（図３では図示されていない、例えば、プリンタ部２０６やスキャナ部２０７の動作制御を担うソフトウェアモジュールを含む）で利用する各種設定値を格納・管理するＤＢである。この各種設定値の中には、ＵＳＢ-ＬＡＮアダプタ１２０を利用したネットワーク接続を許可するかどうかの設定値も含まれる。この設定値が、禁止を表す値に設定されている場合、ユーザがＵＳＢ-ＬＡＮアダプタ１２０をＵＳＢＩ／Ｆ２１０に接続しても、ネットワーク接続手段としては利用できない。例えばこの設定値へのアクセスを一般ユーザに対して制限することで、ＭＦＰ１５０の管理者等は、その意図に反してＭＦＰ１５０がＵＳＢ-ＬＡＮアダプタ１２０を利用した通信可能状態に置かれてしまうことを防止することができる。図４は、管理者等がＵＳＢ-ＬＡＮアダプタ１２０の使用許可設定をするためのＵＩ画面（ＵＳＢ-ＬＡＮ使用許可設定画面）の一例である。図４のＵＳＢ-ＬＡＮ使用許可設定画面４００には、「許可する」ボタン４０１と「許可しない」ボタン４０２が存在している。ユーザが「許可する」ボタン４０１を選択して「ＯＫ」ボタン４０３を押下すると、ＵＳＢ-ＬＡＮアダプタ１２０を使用してネットワーク接続ができる状態（許可状態）に設定される。具体的には、前述の設定値ＤＢ３０４におけるＵＳＢ-ＬＡＮアダプタ１２０の使用に関する設定値に、許可状態を表す値が設定される。この許可状態において、ユーザがＵＳＢ-ＬＡＮアダプタ１２０をＵＳＢＩ／Ｆ２１０に挿入すると、有線ＬＡＮＩ／Ｆ２０９とＵＳＢ-ＬＡＮアダプタ１２０内の有線ＬＡＮＩ／Ｆ２１２が起動する。これにより、ＵＳＢ経由の有線ＬＡＮによるネットワーク接続（以下、「ｕｓｂＬＡＮネットワーク」と表記）が確立される。一方、不許可状態になっている場合には、ＭＦＰ１５０はＵＳＢ-ＬＡＮアダプタ１２０の接続が検知されても、ｕｓｂＬＡＮネットワークを確立しない。なお、図４はＵＳＢ-ＬＡＮアダプタの使用許可設定のみを行うＵＩ画面となっているが、これに限定されない。例えば、ＵＳＢメモリやキーボードなど他のＵＳＢデバイスと一括して使用許可を設定する画面でもよい。
【００２１】
ＳＮＭＰ処理モジュール３０３は、ＳＮＭＰによってＭＦＰ１５０に関する情報を、外部の監視装置に通知するモジュール（ＳＮＭＰエージェント）である。本明細書においては、監視装置が被監視装置に対して行う要求を「ＳＮＭＰリクエスト」と呼び、これに対して被監視装置が行う応答を「ＳＮＭＰレスポンス」と呼ぶこととする。ＳＮＭＰ処理モジュール３０３は、例えば、受信したＳＮＭＰリクエストが、ネットワークインタフェースの現在の状態を示すステータス情報の取得リクエストであれば、前述したＭＩＢ情報を参照して、ステータス情報をＳＮＭＰレスポンスとしてＰＣ１００に返す。
【００２２】
（ＰＣのソフトウェア構成）
図３（ｂ）は、監視装置としてのＰＣ１００における通信処理に関わるソフトウェア構成の一例を示すブロック図である。図３（ｂ）には、ＵＩ制御モジュール３１１、監視対象登録モジュール３１２、ＳＮＭＰ処理モジュール３１３、状態監視モジュール３１４及び異常通知モジュール３１５が示されている。各モジュールはＯＳ（Operating System）３１０上で動作し、ＣＰＵ２２１がＲＯＭ２２２に格納された所定のプログラムをＲＡＭ２２３に読み出して実行することによって実現される。
【００２３】
ＵＩ制御モジュール３１１は、ＰＣ１００のユーザが各種の入力操作を行うためのＵＩ画面の表示や入力指示の受け付けの他、監視対象となるネットワーク機器（ここではＭＦＰ１５０）のＩＰアドレスの指定なども行う。
【００２４】
監視対象登録モジュール３１２は、ＳＮＭＰ処理モジュール３１３を利用して、監視対象となるネットワーク機器におけるネットワークインタフェースの構成情報を取得し、監視対象ＤＢ３１６に登録する処理を行う。ＭＦＰ１５０を監視対象として登録する場合の大まかな流れは、以下の１）〜４のとおりである。
１）ＭＦＰ１５０を監視対象に登録する旨のユーザ指示を受け付け
２）ＭＦＰ１５０にアクセスし、ＭＩＢ情報を取得
３）ＭＩＢ情報からIfIndexを抽出
４）ＭＦＰ１５０を識別するＩＤとIfIndexとを対応付けて監視対象ＤＢ３１６に登録
【００２５】
以下に示すテーブルは、上記２）で取得するＭＩＢ情報のうち、本実施形態において重要な役割を果たす部分を抜き出したものである。
【００２６】
【表１】
2020057314.tif 000003
【００２７】
上記テーブルの場合、ＭＦＰ１５０において、有線ＬＡＮＩ／Ｆ２０９による有線ＬＡＮネットワークと、ＵＳＢ-ＬＡＮアダプタ２１０によるｕｓｂＬＡＮネットワークの２つが確立している状態である。そして、それぞれのネットワークインタフェースに対し、内部インデックス“１”と“２”が設定された結果、「IfIndex」の値は上記のようになる。「IfDescr」は、確立中のネットワークの名称に相当する。「ifAdminStatus」は、ネットワークインタフェースの死活（up／down）を示す情報である。“up(1)”は正常を表し、“down(2)”であれば異常を表すことになる。そして、ＭＩＢ情報から抽出された「IfIndex」の値（ここでは、“1”と“2”）が、ＭＦＰ１５０を特定するＩＤと対応付けられて、監視対象ＤＢ３１６に登録されることになる。この際、ＭＩＢ情報から抽出された「IfIndex」によって指定されるすべてのネットワークインタフェースを監視対象として登録してもよいし、予め定めた所定値（例えば“1”）に対応するネットワークインタフェースのみを監視対象として登録してもよい。
【００２８】
ＳＮＭＰ処理モジュール３１３は、ＳＮＭＰによってＭＦＰ１５０に対して種々の情報を要求するモジュール（ＳＮＭＰマネージャ）である。前述のとおり、本明細書においては、ＳＮＭＰ処理モジュール３１３がＭＦＰ１５０に対して行う要求を「ＳＮＭＰリクエスト」と呼ぶこととする。
【００２９】
状態監視モジュール３１４は、一定時間の経過もしくは一定時刻に、監視対象ＤＢ３１６に登録された監視対象機器（本実施形態ではＭＦＰ１５０）におけるネットワークインタフェースのステータス情報を、ＳＮＭＰ処理モジュール３１３を用いて取得する。そして、取得したステータス情報を解析し、ＭＦＰ１５０における異常の発生を検知する。検知した異常の内容は、異常通知モジュール３１５に伝えられる。
【００３０】
異常通知モジュール３１５は、状態監視モジュール３１４から受け取った異常の内容を、所定の通知態様、例えばモニタへの表示や指定されたＥ−ＭＡＩＬアドレスへの送信などの方法によって通知する。
【００３１】
（監視処理の流れ）
次に、ＰＣ１００が実行する、ＭＦＰ１５０におけるネットワークインタフェースの状態監視処理について、図５のフローチャートを参照して説明する。なお、各処理の冒頭における記号「Ｓ」はステップを意味する。
【００３２】
監視処理の実行が開始すると、まずＳ５０１において、状態監視モジュール３１４がＳＮＭＰ処理モジュール３１３を用いて、ネットワークインタフェースのステータス情報をＭＦＰ１５０から取得するためのＳＮＭＰリクエスト（取得リクエスト）を送信する。この際、監視対象ＤＢ３１６が参照され、監視対象として登録されている「IfIndex」の値に対応するネットワークインタフェースについてのステータス情報が、取得リクエストの対象となる。前述のテーブルの場合であれば、「IfIndex」の値が“1”と“2”に対応する有線ＬＡＮ２０９とＵＳＢ-ＬＡＮアダプタ２１０の２つのネットワークインタフェースについてのステータス情報が取得リクエストの対象となる。取得リクエストを受信したＭＦＰ１５０では、ネットワーク制御モジュール３０１が「IfIndex」対応する内部インデックスの有無をチェックし、ＳＮＭＰ処理モジュール３０３を用いて判定結果に応じたＳＮＭＰレスポンスを行う。具体的には、「IfIndex」の値と同じ内部インデックスが存在していれば当該内部インデックスのステータス情報を取得した上でＰＣ１００に返し、存在していなければエラー応答を返す。以下に、取得リクエストに対するＳＮＭＰレスポンスとして返されるステータス情報の一例を示す。下記に示すとおり、この際のステータス情報には、前述の「ifAdminStatus」の値が少なくとも含まれる。
Simple Network Management Protocol
version: version-1 (0)
community: public
data: get-response (2)
get-response
request-id: 184
error-status: noError (0)
error-index: 0
variable-bindings: 1 item
IF-MIB::ifAdminStatus.1 (1.3.6.1.2.1.2.2.1.7.1): 1
Object Name: 1.3.6.1.2.1.2.2.1.7.1 (IF-MIB::ifAdminStatus.1)
Value (Integer32): 1
【００３３】
そして、ＰＣ１００では、続くＳ５０２において、ＳＮＭＰ処理モジュール３１３が、ステータス情報の取得リクエストを行ってから所定時間内にステータス情報が取得できたかどうかを判定する。ステータス情報の取得に成功していればＳ５０３に進み、失敗していればＳ５０４に進む。この場合のＳ５０４では、状態監視モジュール３１４が、監視対象のネットワークインタフェースもしくはＭＦＰ１５０自体で異常が発生していると判断し、その事実を、異常通知モジュール３１５に伝える。そして、異常通知モジュール３１５において異常を通知するレポートが出力される。
【００３４】
一方、ステータス情報の取得に成功していた場合のＳ５０３では、状態監視モジュール３１４が、ステータス情報に含まれる「IfAdminStatus」の値に基づいて、正常かどうかが判定される。前述のとおり、“up(1)”であれば正常、“down(2)”であれば異常と判定されることになる。判定の結果、「IfAdminStatus」の値が“up(1)”である場合は、ＭＦＰ１５０のネットワークインタフェースに問題は発生していないため、本処理を終了する。一方、「IfAdminStatus」の値が“down(2)”であれば問題が発生していることになるため、Ｓ５０４に進んで、異常を通知するレポートが出力される。
【００３５】
以上が、ＰＣ１００による監視処理の内容である。ＰＣ１００は、この監視処理を定期的に行うように設定される。
【００３６】
（内部インデックスの割り当て）
ＭＦＰ１５０において、有線ＬＡＮＩ／Ｆ２０９に対するＬＡＮケーブルの接続や、ＵＳＢＩ／Ｆ２１０に対するＵＳＢ-ＬＡＮアダプタ１２０の接続が検知されると、認識されたネットワークインタフェースに対して、内部インデックスが割り当てられる。具体的には、ＯＳ３１０によって所定の値が決定され、当該決定された値が、認識されたネットワークインタフェースに対する内部インデックスとして設定される。内部インデックスとして決定される所定の値は、初期値“１”に対して、ネットワークインタフェースが認識されるたびに“１”ずつ増加していく。内部インデックスの発番においては、例えば、有線ＬＡＮがプライマリ（第１順位）、ＵＳＢ-ＬＡＮがセカンダリ（第２順位）といった具合に、ネットワークインタフェースの種類と優先順位が対応付けて予め設定されているのが通常である。例えば、ＭＦＰ１５０の起動時に、有線のＬＡＮケーブルとＵＳＢ-ＬＡＮアダプタ１２０の両方の接続を検知すると、前者に対して内部インデックス“１（＝初期値）”、後者に対して内部インデックス“２（＝初期値＋１）”が割り当てられることになる。こうして内部インデックスが設定されたＭＦＰ１５０が監視対象として登録され、上述の図５のフローによる監視処理が行われていたとする。その後、このＵＳＢ-ＬＡＮアダプタ１２０が一旦抜かれて再び接続が検知されると、当該再接続によって認識されたネットワークインタフェースには、新たな内部インデックス“３（＝初期値＋２）”が割り当てられることになる。つまり、ＵＳＢ-ＬＡＮアダプタ１２０によるネットワークインタフェースの内部インデックスが、最初に割り当てられた“２”から“３”へと変化する。その結果、最初に割り当てられた内部インタフェースの値“２”と同じ値を持つ「IfIndex」を用いてＭＦＰ１５０を監視するＰＣ１００では、それ以後、ｕｓｂＬＡＮネットワークの状態監視が不能になってしまう。そこで、本実施形態では後述のとおり、ユーザにＭＦＰ１５０を再起動させる。これにより、ＵＳＢ-ＬＡＮアダプタ１２０によるネットワークインタフェースに割り当てられる内部インデックスの値を元に戻し、上述の問題の発生を防止している。
【００３７】
（ＵＳＢ-ＬＡＮアダプタの接続検知時フロー）
続いて、ＵＳＢ-ＬＡＮアダプタ１２０の使用が許可状態に設定されたＭＦＰ１５０において、ネットワーク制御モジュール３０１がＵＳＢ-ＬＡＮアダプタ１２０の接続を検知した時に実行する処理について説明する。図６は、本実施形態に係る、ＵＳＢ-ＬＡＮアダプタ１２０の接続が検知された場合に実行される処理の流れを示すフローチャートである。なお、ＵＳＢ-ＬＡＮアダプタ１２０が接続された状態でＭＦＰ１５０が起動されて、ＵＳＢ-ＬＡＮアダプタ１２０の接続が検知された場合には、ＵＳＢ-ＬＡＮアダプタ１２０のドライバを用いた通常のネットワーク接続の確立処理が実行される。また、本明細書において、フローチャートが示す各処理の冒頭における記号「Ｓ」はステップを意味する。
【００３８】
Ｓ６０１では、設定値ＤＢ３０４が参照され、ＵＳＢ-ＬＡＮアダプタ１２０の使用が許可されているか否かが判定される。設定値ＤＢ３０４に前述した「許可状態」を示す値が設定されていればＳ６０２に進み、「不許可状態」を示す値が設定されていれば本処理を抜ける。この際、ＵＳＢ-ＬＡＮアダプタ１２０を使用したネットワーク接続が「不許可」に設定されている旨のメッセージを操作部２０５上に表示するなどの処理を併せて行ってもよい。
【００３９】
Ｓ６０２では、ＵＳＢＩ／Ｆ２１０への接続が検知されたＵＳＢ-ＬＡＮアダプタ１２０のＵＳＢデバイス情報が取得される。ここで、ＵＳＢデバイス情報には、例えばプロダクトＩＤやベンダーＩＤが含まれる。したがって、ＵＳＢデバイス情報から、接続されたＵＳＢ-ＬＡＮアダプタ１２０の製造者や製品名・モデル名を特定することができる。
【００４０】
続くＳ６０３では、接続検知されたＬＡＮアダプタ１２０がＭＦＰ１５０で動作可能なタイプかどうかが、Ｓ６０２で取得したＵＳＢデバイス情報を用いて判定される。具体的には、ＵＳＢ-ＬＡＮ ＤＢ３０５において、取得したＵＳＢデバイス情報で特定されるＵＳＢ-ＬＡＮアダプタ１２０が、動作可能なタイプとして登録されているかがチェックされる。接続検知されたＵＳＢ-ＬＡＮアダプタ１２０がＵＳＢ-ＬＡＮ ＤＢ３０５に登録されていればＳ６０４に進み、登録されていなければ本処理を抜ける。
【００４１】
Ｓ６０４では、ユーザにＭＦＰ１５０の再起動を促す指示画面が、操作部２０５上に表示される。図７は、この再起動指示画面の一例を示す図である。ＭＦＰ１５０のユーザは、この画面を確認することで、ＭＦＰ１５０の再起動が必要であることが分かる。
【００４２】
以上が、本実施形態におけるＵＳＢ-ＬＡＮアダプタの接続検知時における処理の内容である。
【００４３】
＜変形例＞
本実施形態では、認識したネットワークインタフェースへの内部インデックスの発番において、ネットワークインタフェースの種類に応じた優先順位が設定されていた。そして、このような前提条件を踏まえ、被監視装置を再起動して内部インデックスを元の状態に戻し、監視装置側が扱うIFIndexとの不一致が発生しないようにする構成を説明した。しかしながら、内部インデックスの発番に優先順位が設定されていない被監視装置の場合、再起動後の内部インデックスが再起動前と同じになる保証がない。つまり、被監視装置を再起動するだけでは、被監視装置が割り当てる内部インデックスと監視装置が扱うIFIndexとの不一致が発生してしまう可能性が残る。したがって、内部インデックスの発番に上記のような優先順位が設定されていないことが予想されるケースでは、監視対象の再登録を促すメールを管理者等に送信するなどの通知処理を、上述のＳ６０４において併せて行うようにすればよい。これにより、本実施形態の場合と同様、被監視装置が割り当てる内部インデックスと監視装置が扱うIFIndexとを一致させることができる。
【００４４】
また、本実施形態においてユーザに被監視装置の再起動を促す目的は、ＳＮＭＰを利用したステータス情報の取得が不可能になってしまうのを防ぐためである。裏を返せば、ＵＳＢ-ＬＡＮアダプタの挿抜によって被監視装置側で内部インデックスが変更になっても、一時的に監視対象から除外されている等、そもそもＳＮＭＰを利用しないシチュエーションに被監視装置が置かれている場合は、再起動させる必要はない。そこで、上述の図６のフローにＳＮＭＰ処理モジュール３０３の動作設定を確認するステップを加え、有効に設定されていれば再起動を促し、無効に設定されていれば再起動を促さずにそのままｕｓｂＬＡＮネットワークの確立処理を行うように構成してもよい。これにより、無駄な再起動を回避することができる。
【００４５】
以上のとおり、本実施形態によれば、ＵＳＢ-ＬＡＮアダプタ１２０が抜かれた後に再びその接続を検知すると、ＭＦＰ１５０の再起動をユーザに促す通知がなされる。再起動したＭＦＰ１５０では、認識されたネットワークインタフェースに対し内部インデックスを割り当て直すため、内部インデックスの値が抜去される以前の値に戻る。その結果、ＰＣ１００において監視対象として登録・管理されているIfIndexと内部インデックスとの不一致が解消されるので、引き続いてネットワークの状態監視が可能となる。
【実施形態２】
【００４６】
実施形態１では、ＵＳＢ-ＬＡＮアダプタ１２０の再接続が検知された場合に、ユーザに被監視装置の再起動を促し、内部インデックスとIFIndexとの不一致が起きないようにすることで監視装置による監視が正しく続行できるようにしていた。しかし、被監視装置のＯＳの仕様によっては、ＵＳＢ-ＬＡＮアダプタ１２０の挿抜があっても、その前後で内部インデックスが変化しない、というケースもあり得る。このようなケースの場合、再接続後の内部インデックスと監視装置側で登録・管理しているIFIndexとの不一致は生じないことになるので、ユーザに被監視装置の再起動を促す必要はなく、却って無駄な手間と時間を掛けさせることになってしまう。そこで、この点を考慮した態様を、実施形態２として説明する。なお、システムの基本構成など実施形態１と共通する内容については説明を省略し、以下では差異点を中心に説明を行うものとする。
【００４７】
図８は、本実施形態に係る、ＵＳＢ-ＬＡＮアダプタ１２０の使用が許可状態に設定されたＭＦＰ１５０が、ＵＳＢ-ＬＡＮアダプタ１２０の接続を検知した時に実行する処理の流れを示すフローチャートである。
【００４８】
Ｓ８０１では、ＵＳＢ-ＬＡＮアダプタ１２０の挿抜を検知する処理がネットワーク制御モジュール３０１によって所定の間隔で繰り返される。挿抜が検知されると、Ｓ８０２において、ＵＳＢ-ＬＡＮアダプタ１２０の抜去（接続中のｕｓｂＬＡＮネットワークの切断）であるか否かが判定される。ＵＳＢ-ＬＡＮアダプタ１２０の抜去によるネットワーク接続の切断を検知した場合はＳ８０３に進み、そうでない場合（ＵＳＢ-ＬＡＮアダプタ１２０の挿入を検知した場合）はＳ８０４に進む。そして、Ｓ８０３では、ＵＳＢ-ＬＡＮアダプタ１２０によるネットワークインタフェースに対して設定されていた内部インデックスの値が、ｕｓｂＬＡＮネットワークの接続履歴情報としてＲＡＭ２０３等に保存される。
【００４９】
Ｓ８０４では、ＵＳＢ-ＬＡＮアダプタ１２０の挿入によって認識されたネットワークインタフェースに対し、内部インデックスの割り当て・設定がなされる。続くＳ８０５では、ｕｓｂＬＡＮネットワークの接続履歴情報が存在するか否かが判定される。接続履歴情報が存在する（過去の内部インデックスの値が保存されている）場合は、Ｓ８０６に進む。一方、接続履歴情報が存在しない場合は、ＭＦＰ１５０の起動後における初めてのｕｓｂＬＡＮネットワークの接続であることを意味する。よって、ＰＣ１００側で登録・管理しているIFIndexとの不一致という問題は生じ得ないので、そのまま本処理を終了する。
【００５０】
接続履歴情報が存在する場合のＳ８０６では、Ｓ８０４で割り当てられた内部インデックスの値と、接続履歴情報として保存されていた過去の内部インデックスの値とが一致するか否かが判定される。判定の結果、双方のインデックスの値が一致しない場合は、Ｓ８０７に進む。双方の内部インデックスの値が一致する場合は、ＰＣ１００側で登録・管理しているIFIndexとも一致することになるので、そのまま監視の継続が可能である。したがって、この場合はＭＦＰ１５０の再起動は不要であるので、このまま本処理を終了する。
【００５１】
Ｓ８０７では、ＭＦＰ１５０の再起動を促すＵＩ画面が表示される。これにより、ユーザにＭＦＰ１５０を再起動させ、Ｓ８０１で挿入が検知されたＵＳＢ-ＬＡＮアダプタ１２０によるネットワークインタフェースの内部インデックスの値を、ネットワーク接続が切断される前の値に戻し、ＰＣ１００における監視が可能な状態にする。
【００５２】
以上が、本実施形態におけるＵＳＢ-ＬＡＮアダプタの接続検知時における処理の内容である。上述のような処理により、無駄な再起動をユーザに強いることなく、実施形態１と同様の効果を得ることができる。
【実施形態３】
【００５３】
実施形態１〜２は、被監視装置としてのＭＦＰ１５０においてＵＳＢ-ＬＡＮアダプタの再接続を検知した場合に一定条件下でユーザにＭＦＰ１５０の再起動を促す態様であった。これらの手法は、監視装置としてのＰＣ１００による監視が不能になってしまうことを回避する予防的効果があるが、ネットワーク上に存在するすべての装置が監視装置としての役割を持つとは限らない。例えば、大部分のネットワーク機器は、ＭＦＰ１５０に対し印刷指示（印刷ジョブの送信）を行うクラインアント端末で、監視装置としての機能を有していないということも十分に考えられる。したがって、ＭＦＰ１５０が受信したＳＮＭＰリクエストがIfIndexの使用を前提としない種類のリクエスト（例えば、印刷ジョブの進行状況を確認するためのリクエストなど）である場合は、ＭＦＰ１５０を再起動させる必要はない。
【００５４】
そこで、ＳＮＭＰリクエストの送信先が、ＭＦＰ１５０のネットワークインタフェースの状態監視を行う監視装置であることが判明したタイミングで、ユーザに再起動を促す態様を、実施形態３として説明する。なお、システムの基本構成など実施形態１及び２と共通する内容については説明を省略し、以下では差異点を中心に説明を行うものとする。
【００５５】
図９は、本実施形態に係る、ＭＦＰ１５０が、ＳＮＭＰリクエスト受信時に実行する処理の流れを示すフローチャートである。なお、この処理の実行には、ＭＦＰ１５０においてＵＳＢ-ＬＡＮアダプタ１２０の使用が許可状態に設定されており、かつ、ネットワーク制御モジュール３０１がＵＳＢ-ＬＡＮアダプタ１２０の接続を検知したことがその前提になっているものとする。
【００５６】
ＰＣ１００から送信されたＳＮＭＰリクエストをＳＮＭＰ処理モジュール３０３が受信すると、Ｓ９０１では、当該ＳＮＭＰリクエストがＭＩＢ情報へのアクセスを必要とする種類のリクエストか否かが判定される。ＭＩＢ情報へのアクセスを要しない場合は、内部インデックスの変更による悪影響は発生しない。よって、この場合はＳ９０６に進んで、受信したＳＮＭＰリクエストに対するＳＮＭＰレスポンスを送信して本処理を終了する。この際のＳＮＭＰレスポンスの一例を以下に示す。
Simple Network Management Protocol
version: version-1 (0)
community: public
data: get-response (2)
get-response
request-id: 184
error-status: noError (0)
error-index: 0
variable-bindings: 1 item
IF-MIB::ifAdminStatus.1 (1.3.6.1.2.1.2.2.1.7.1): 1
Object Name: 1.3.6.1.2.1.2.2.1.7.1 (IF-MIB::ifAdminStatus.1)
Value (Integer32): 1
【００５７】
一方、受信したＳＮＭＰリクエストがＭＩＢ情報へのアクセスを必要とする種類のリクエストである場合は、Ｓ９０２に進む。
【００５８】
Ｓ９０２では、受信したＳＮＭＰリクエストで指定されているIfIndexが確認され、当該IfIndexに対応する内部インデックスが設定されたネットワークインタフェースが存在するか否かが判定される。指定されたIfIndexに対応するネットワークインタフェースが存在する場合はＳ９０５に進んで、当該IfIndexの値がＲＡＭ２０３に保存される。保存後はＳ９０６に進んで、受信したＳＮＭＰリクエストに対するＳＮＭＰレスポンスが送信される。そして、送信完了後は、本処理を終了する。一方、指定されたIfIndexに対応するネットワークインタフェースが存在しない場合は、Ｓ９０３に進む。
【００５９】
Ｓ９０３では、受信したＳＮＭＰリクエストで指定されているIfIndexの値と同じ値がＲＡＭ２０３に保存されているか否かが判定される。指定されたIfIndexの値と同じ値が保存されていない場合は、ＰＣ１００が無効なIfIndex（指定されたIfIndexに対応するネットワークインタフェースがＭＦＰ１５０に存在しない）を用いてＳＮＭＰリクエストを行ったことを意味する。よって、この場合はＳ９０６に進んで、受信したＳＮＭＰリクエストに対するＳＮＭＰレスポンスとして、無効なIfIndexが指定されたというエラー応答が送信される。この際のＳＮＭＰレスポンスの一例を以下に示す。指定されたIfIndexに対応するＭＩＢ情報が存在しないため、“error-status: noSuchName (2)“という内容の応答になっている。
Simple Network Management Protocol
version: version-1 (0)
community: public
data: get-response (2)
get-response
request-id: 185
error-status: noSuchName (2)
error-index: 1
variable-bindings: 1 item
IF-MIB::ifAdminStatus.2 (1.3.6.1.2.1.2.2.1.7.2): Value (Null)
Object Name: 1.3.6.1.2.1.2.2.1.7.2 (IF-MIB::ifAdminStatus.2)
Value (Null)
【００６０】
そして、上記のようなＳＮＭＰレスポンスの送信後は、本処理を終了する。一方、指定されたIfIndexの値と同じ値が保存されている場合は、当該IfIndexに対応するネットワークインタフェースが過去に存在し、ＳＮＭＰを用いたネットワークインタフェースの状態監視に利用されていたことを意味する。そして、現在は、監視装置としてのＰＣ１００から送信されてくるＳＮＭＰリクエストに対して正常なＳＮＭＰレスポンスを返せない、すなわち、ＰＣ１００が正常にネットワークインタフェースの状態監視ができない状況になっていることを意味する。よって、この場合はＳ９０４に進んで、ＭＦＰ１５０の再起動を促すＵＩ画面が表示される。これにより、ユーザにＭＦＰ１５０を再起動させ、挿入が検知されたＵＳＢ-ＬＡＮアダプタ１２０によるネットワークインタフェースの内部インデックスの値を元に戻し、ＰＣ１００における監視が可能な状態にする。そして、再起動を促すＵＩ画面の表示後はＳ９０６に進み、受信したＳＮＭＰリクエストに対するＳＮＭＰレスポンスとして、Ｓ９０３でＮｏの場合と同様の、無効なIfIndexが指定されたことを示すエラー応答が送信されて、本処理を終える。
【００６１】
本実施形態によれば、ＭＦＰ１５０で利用されているネットワークインタフェースの内部インデックスが変化した場合であっても、実際にその影響を受けるＳＮＭＰ通信が発生しない限り、ユーザにＭＦＰ１５０の再起動を促す表示をしない。これにより、不要な再起動を減らすことができる。
【００６２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020057314.tif 000004
【図２】
2020057314.tif 000005
【図３】
2020057314.tif 000006
【図４】
2020057314.tif 000007
【図５】
2020057314.tif 000008
【図６】
2020057314.tif 000009
【図７】
2020057314.tif 000010
【図８】
2020057314.tif 000011
【図９】
2020057314.tif 000012