IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-情報処理装置、情報処理方法 図1
  • 特許-情報処理装置、情報処理方法 図2
  • 特許-情報処理装置、情報処理方法 図3
  • 特許-情報処理装置、情報処理方法 図4
  • 特許-情報処理装置、情報処理方法 図5
  • 特許-情報処理装置、情報処理方法 図6
  • 特許-情報処理装置、情報処理方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-20
(45)【発行日】2022-12-28
(54)【発明の名称】情報処理装置、情報処理方法
(51)【国際特許分類】
   H04L 12/28 20060101AFI20221221BHJP
【FI】
H04L12/28 200Z
【請求項の数】 12
(21)【出願番号】P 2018039644
(22)【出願日】2018-03-06
(65)【公開番号】P2019154003
(43)【公開日】2019-09-12
【審査請求日】2021-02-10
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】藤沢 実
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2006-101344(JP,A)
【文献】国際公開第2007/129699(WO,A1)
【文献】特開2012-165167(JP,A)
【文献】特開2016-143100(JP,A)
【文献】特開2017-200178(JP,A)
【文献】特開2011-082651(JP,A)
【文献】特開2005-301670(JP,A)
【文献】特開2016-129986(JP,A)
【文献】特開2011-254556(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
経路が分からないIPアドレス宛のパケットを送信するデフォルトゲートウェイが設定された第1通信部と、
前記デフォルトゲートウェイが設定されていない第2通信部と、
前記第2通信部を介して特定プロトコルのパケットを送信する場合、生存期間として1を設定したパケットを、前記第2通信部を介して送信し、前記第1通信部を介して前記特定プロトコルのパケットを送信する場合、生存期間として2以上を設定したパケットを、前記第1通信部を介して送信する制御手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記制御手段が送信する前記特定プロトコルのパケットはマルチキャストパケットであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記特定プロトコルのパケットは、マルチキャスト通信を用いてデバイス検索を行う所定の検索プロトコルの検索パケットであることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記特定プロトコルは、SLP(Service Location Protocol)又はLLMNR(Link-Local Multicast Name Resolution)であり、前記特定プロトコルのパケットは検索パケットであることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項5】
前記情報処理装置は更に、
前記検索パケットに対する応答結果に基づき情報を表示する表示制御手段を備えることを特徴とする請求項またはに記載の情報処理装置。
【請求項6】
前記情報は、検索の結果見つかったデバイスを識別する情報と該検索に使用された通信部を示す情報を少なくとも含むことを特徴とする請求項に記載の情報処理装置。
【請求項7】
前記制御手段は、
前記第2通信部を介して受信したパケットに対する応答パケットであって、前記特定プロトコルのパケットとは異なる該応答パケットを送信すべき場合に、応答を送信すべき送信先IPアドレスに基づき、該送信先IPアドレスが割り当てられているデバイスが前記第2通信部が接続するサブネットワークとは異なるサブネットワークに属するデバイスであると判断した場合、前記受信したパケットに対する応答パケットを送信しないよう制御する
ことを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項8】
前記生存期間を示す値は、該パケットが破棄されず通過できる機器の上限を示すホップ数であることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項9】
前記生存期間を示す値は、IPプロトコルのTTL(Time to Live)であることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項10】
前記情報処理装置は、記録媒体に画像を記録する記録部を有する画像記録装置であることを特徴とする請求項1乃至の何れか1項に記載の情報処理装置。
【請求項11】
経路が分からないIPアドレス宛のパケットを送信するデフォルトゲートウェイが設定された第1通信部と、前記デフォルトゲートウェイが設定されていない第2通信部と、を有する情報処理装置が行う情報処理方法であって、
前記第2通信部を介して特定プロトコルのパケットを送信する場合、生存期間として1を設定したパケットを、前記第2通信部を介して送信し、前記第1通信部を介して前記特定プロトコルのパケットを送信する場合、生存期間として2以上を設定したパケットを、前記第1通信部を介して送信することを特徴とする情報処理方法。
【請求項12】
経路が分からないIPアドレス宛のパケットを送信するデフォルトゲートウェイが設定された第1通信部と、前記デフォルトゲートウェイが設定されていない第2通信部と、を有する情報処理装置のコンピュータを、請求項1乃至10の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のネットワークに対する通信制御に関するものである。
【背景技術】
【0002】
ネットワークに求められるセキュリティや機能性の複雑化に伴い、オフィスや商業施設などで複数のLAN(Local area network)を使い分ける構成が一般的になってきた。利用される情報処理装置は複数のLANに対してサービスを提供することが求められ、ひとつの情報処理装置に複数のネットワークインタフェースを搭載したものが製造されている。
【0003】
これに伴って、複数のネットワークインタフェースからネットワークアクセスを受け付けるケースが存在し、特定の判定処理によってそれぞれのネットワークインタフェースを使用して通信することが行われている(例えば特許文献1)。LANの種類としては、有線LAN、無線LANインフラストラクチャモード、無線LANアクセスポイントモードが存在する。
【0004】
装置が持つそれぞれのLANインタフェースには、一般的にそれぞれ異なるサブネットに従ったIPアドレスが設定されており、それぞれのサブネットに属する端末へ各種要求を行ったり、端末からの応答を受信して処理したりする。
【0005】
ネットワーク構成によっては、それぞれのサブネットにはルーターのようなゲートウェイが存在し、上記のサブネットとは異なるサブネットに属する端末と装置の間でゲートウェイを介した通信を行うケースもある。
【0006】
このゲートウェイに関して、一般的に装置毎でデフォルトゲートウェイの設定が存在し、通信先端末が装置と異なるサブネットの場合に設定済のデフォルトゲートウェイのIPアドレスに対して要求を行うことで、実際の通信先端末との通信を成立させている。デフォルトゲートウェイは、一般的にネットワークインタフェースの接続数に限らず1つである。したがって、複数のネットワークインタフェースをLANに接続している場合において、装置と異なるサブネットに対して通信を行う運用を行う場合にはいずれか1つのLAN内におけるゲートウェイをデフォルトゲートウェイとして設定する必要がある。
【先行技術文献】
【特許文献】
【0007】
【文献】特許第4720520号
【発明の概要】
【発明が解決しようとする課題】
【0008】
装置の運用方法、運用方針の例としては、インターネット接続を行うためのLANに接続しているインタフェースのゲートウェイをデフォルトゲートウェイとして設定するケースがある。別の運用方針として、情報漏洩等の問題を防ぐためにセキュリティ目的としてインターネット等の外部ネットワークとの通信を拒否し、装置と同じサブネット内での通信のみ行いたいケースを想定する。このようなLANに接続している装置のインタフェースには一般的にデフォルトゲートウェイ設定を行わない。
【0009】
しかしながら、装置と同じサブネットに属している他の端末の運用の都合等でLAN上にゲートウェイが存在し、これを経由して他のサブネットと接続可能なネットワーク構成になっている場合があり得る。このような場合、装置の運用方針としては同一サブネット内のみでの通信に限定させたくてもネットワークプロトコルの種類によっては通信要求がゲートウェイを越えて異なるサブネットとの間で通信を行ってしまうケースがある。具体的には、UDPマルチキャスト通信を使用した装置からの送信や、装置の属するサブネット外端末側から装置に対してのTCP/IP通信(UDP通信を含む)があげられる。
【0010】
本発明では、デフォルトゲートウェイが設定されているサブネットを含む複数のサブネットに本装置が接続されていても、該本装置が属するサブネット内のみの通信に限定するための技術を提供する。
【課題を解決するための手段】
【0011】
本発明の一様態は、情報処理装置であって、
経路が分からないIPアドレス宛のパケットを送信するデフォルトゲートウェイが設定された第1通信部と、
前記デフォルトゲートウェイが設定されていない第2通信部と、
前記第2通信部を介して特定プロトコルのパケットを送信する場合、生存期間として1を設定したパケットを、前記第2通信部を介して送信し、前記第1通信部を介して前記特定プロトコルのパケットを送信する場合、生存期間として2以上を設定したパケットを、前記第1通信部を介して送信する制御手段と
を備えることを特徴とする。
【発明の効果】
【0012】
本発明の構成によれば、デフォルトゲートウェイが設定されているサブネットを含む複数のサブネットに本装置が接続されていても、該本装置が属するサブネット内のみの通信に限定することができる。
【図面の簡単な説明】
【0013】
図1】システムの構成例を示すブロック図。
図2】コントローラ部101のハードウェア構成例を示すブロック図。
図3】CPU201が実行するソフトウェアの機能構成例を示すブロック図。
図4】IP通信プロトコルパケットの一部の構成例を示す図。
図5】MFP100が行う動作のフローチャート。
図6】操作部102が有する表示画面における表示例を示す図。
図7】MFP100の動作のフローチャート。
【発明を実施するための形態】
【0014】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の1つである。
【0015】
[第1の実施形態]
本実施形態では情報処理装置の一例である複合機(MFP:MultiFunction Peripheral)を例にとり説明する。しかし、情報処理装置はMFP以外の機器であっても良く、以下の説明はMFP以外の機器であっても同様に適用することができる。先ず、MFPを含む本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。
【0016】
MFP100は、LAN(Local Area Network)110を介してPC(Personal Computer)111及びゲートウェイ130と通信可能に接続されている。つまり、MFP100、PC111、ゲートウェイ130は、LAN110上で同一のサブネットに属していることになる。ゲートウェイ130は、LAN140を介してPC141に接続されている。つまり、ゲートウェイ130、PC141は、LAN140上で同一のサブネットに属していることになる。
【0017】
またMFP100は、LAN120を介してPC121及びゲートウェイ150と通信可能に接続されている。つまり、MFP100、PC121、ゲートウェイ150は、LAN120上で同一のサブネットに属していることになる。ゲートウェイ150は、LAN160を介してPC161と接続されている。つまり、ゲートウェイ150、PC161は、LAN160上で同一のサブネットに属していることになる。
【0018】
このように、MFP100は、LAN110に対応するサブネットと、LAN120に対応するサブネットと、の2つのサブネットに属していることになる。LAN110及びLAN120のそれぞれは有線LANであっても良いし、無線LANであっても良い。後者の場合、MFP100内の無線インタフェースがアクセスポイントを経由してそれぞれのLANに接続することになる。
【0019】
次にMFP100の構成例について説明する。操作部102は、ユーザが各種の指示をMFP100に入力するために使用するものであり、ボタン群や表示画面(例えば、タッチパネル画面)を有する。プリンタ部103は、外部から受信したプリントジョブやスキャナ部104から出力された電子データに基づいて紙などの印刷媒体に画像や文字を記録(形成)する。スキャナ部104は、紙などの印刷媒体に記録されている画像や文字を読み取り、該読み取りの結果を電子データとして出力する。コントローラ部101は、上記の操作部102、プリンタ部103、スキャナ部104を含むMFP100全体の動作制御を行うと共に、後述する各種のデータ通信を制御する。電源部105は、上記のコントローラ部101、操作部102、プリンタ部103、スキャナ部104を含めたMFP100全体に対して電力を供給する。
【0020】
次に、PC111,121,141,161について説明する。PC111は、LAN110を介してMFP100との間でデータ通信を行うことができ、例えば、LAN110を介してMFP100に対してプリントジョブを送信したり、MFP100からの各種通知を受信したりする。同様にPC121は、LAN120を介してMFP100との間でデータ通信を行うことができ、例えば、LAN120を介してMFP100に対してプリントジョブを送信したり、MFP100からの各種通知を受信したりする。PC141が接続されているLAN140とMFP100が接続されているLAN110とはゲートウェイ130を介して接続されていることから、PC141はゲートウェイ130を介してMFP100との間のデータ通信を行う。同様に、PC161が接続されているLAN160とMFP100が接続されているLAN120とはゲートウェイ150を介して接続されていることから、PC161はゲートウェイ150を介してMFP100との間のデータ通信を行う。
【0021】
PC111,121,141,161は、LAN上の機器との間のデータ通信が可能な機器の一例であり、スマートフォン、タブレット型端末装置などの様々な機器を適用することができる。
【0022】
次に、コントローラ部101のハードウェア構成例について、図2のブロック図を用いて説明する。
【0023】
CPU201は、DRAM202に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU201は、MFP100全体の動作制御を行うと共に、MFP100が行うものとして後述する各処理を実行若しくは制御する。
【0024】
DRAM202は、HDD(HardDiskDrive)204からロードされたコンピュータプログラムやデータ、LANデバイス209やLANデバイス210が外部から受信したデータ、を格納するためのエリアを有する。更にDRAM202は、スキャナ部104が画像や文字を読み取ることで生成した電子データを格納するためのエリアを有する。更にDRAM202は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。このようにDRAM202は、各種のエリアを適宜提供することができる。
【0025】
SATA(Serial Advanced Technology Attachment) I/F203にはHDD204が接続されている。CPU201は、SATA I/F203を介してHDD204からコンピュータプログラムやデータを読み出したり、SATA I/F203を介してHDD204に対してコンピュータプログラムやデータを書き込む。
【0026】
HDD204には、OS(オペレーティングシステム)、MFP100が行うものとして後述する各処理をCPU201に実行若しくは制御させるためのコンピュータプログラムやデータ、以下の説明において既知の情報として取り扱うもの、が保存されている。また、DRAM202に格納されるものとして説明したコンピュータプログラムやデータの一部若しくは全部をHDD204に保存しても良い。HDD204に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜DRAM202にロードされ、CPU201による処理対象となる。
【0027】
パネルI/F205は上記の操作部102に対するI/Fであり、CPU201はパネルI/F205を介して操作部102が有する表示画面の表示制御を行うと共に、操作部102に対するユーザからの操作入力をパネルI/F205を介して取得する。
【0028】
プリンタI/F206は上記のプリンタ部103に対するI/Fであり、CPU201は、プリンタI/F206を介してプリンタ部103に対してプリントジョブや上記の電子データを出力することでプリンタ部103に対して印刷指示を行う。
【0029】
スキャナI/F207は上記のスキャナ部104に対するI/Fであり、CPU201は、スキャナ部104が画像や文字を読み取ることで生成した電子データをスキャナI/F207を介してDRAM202やHDD204に格納する。
【0030】
ネットワークI/F208にはネットワークインターフェース(通信デバイス)の一例であるLANデバイス209及びLANデバイス210が接続されている。CPU201は、ネットワークI/F208を介してLANデバイス210を制御することで、LAN110上の機器との間のデータ通信を実現する。またCPU201は、ネットワークI/F208を介してLANデバイス209を制御することで、LAN120上の機器との間のデータ通信を実現する。LANデバイス209及びLANデバイス210は無線LANデバイスであっても良い。
【0031】
上記の構成においてMFP100がコピー機能を実現する場合、CPU201はSATA I/F203を介してHDD204からコピー機能用のコンピュータプログラムやデータをDRAM202にロードする。そしてCPU201は、該ロードしたコピー機能用のコンピュータプログラムやデータを用いて処理を実行することで、以下に説明するコピー機能を実現する。
【0032】
CPU201は、操作部102に対するユーザからのコピー指示をパネルI/F205を介して検知すると、スキャナ部104を制御し、紙などの印刷媒体に記録されている画像や文字を電子データとして読み取らせる。そしてCPU201は、該電子データをスキャナI/F207を介して取得し、該取得した電子データをDRAM202に格納する。そしてCPU201は、DRAM202に格納した電子データが表す画像(読み取り画像)に対して出力に適した色変換処理等の各種の画像処理を施す。そしてCPU201は、該画像処理済みの読み取り画像のデータをプリンタI/F206を介してプリンタ部103に対して出力することで、該画像処理済みの読み取り画像のデータに基づく印刷をプリンタ部103に指示する。
【0033】
また、MFP100がPDL印刷機能を実現する場合、CPU201はSATA I/F203を介してHDD204からPDL印刷用のコンピュータプログラムやデータをDRAM202にロードする。そしてCPU201は、該ロードしたPDL印刷用のコンピュータプログラムやデータを用いて処理を実行することで、以下に説明するPDL印刷機能を実現する。ここでは一例としてPC111からLAN110を介してPDLの印刷指示が送信されるケースについて説明する。
【0034】
先ずCPU201は、外部からのPDL送信指示を待機する。PC111からPDL送信指示がLAN110を介して送信された場合、LAN110に対応するLANデバイス210が該PDL送信指示を受信することになる。仮にPC121がPDL送信指示を送信した場合、PC121が接続されているLAN120に対応するLANデバイス209が該PDL送信指示を受信することになる。CPU201は、LANデバイス210が受信したPDL送信指示をネットワークI/F208を介して取得すると、LANデバイス210を制御し、該PDL送信指示に続いてPC111から送信されるPDL印刷データを受信する。そしてCPU201は、LANデバイス210が受信したPDL印刷データをネットワークI/F208を介して取得し、該取得したPDL印刷データをSATA I/F203を介してHDD204に保存する。CPU201は、HDD204へのPDL印刷データの保存が完了すると、該PDL印刷データを画像としてDRAM202内に展開し、該展開した画像に対して出力に適した色変換処理等の各種の画像処理を施す。そしてCPU201は、該画像処理済みの画像のデータをプリンタI/F206を介してプリンタ部103に対して出力することで、該画像処理済みの画像データに基づく印刷をプリンタ部103に指示する。
【0035】
電源管理部211は、上記のCPU201、DRAM202、SATA I/F203、HDD204、パネルI/F205、プリンタI/F206、スキャナI/F207、ネットワークI/F208、LANデバイス209、210の通電状態を管理する。このため、電源管理部211はこれらの機能部に対する通電を制御するための配電経路によって各機能部と接続している。電源管理部211はまた、上記の通電状態の管理のために電源部105を制御する。
【0036】
次に、CPU201によって実行されるコンピュータプログラム(ソフトウェア)の機能構成例について、図3のブロック図を用いて説明する。以下では、図3に示す各機能部を処理の主体として説明する場合があるが、実際には、CPU201が該機能部に対応するコンピュータプログラムを実行することで該機能部の機能が実現される。図3に示すコンピュータプログラムはHDD204に保存されており、必要に応じてCPU201によってDRAM202にロードされ、CPU201による処理対象となる。
【0037】
通信制御部302は、LANデバイス209やLANデバイス210によるデータ通信を制御するものであり、一般にTCP/IPのプロトコルスタックの役割を担うものである。
【0038】
処理部303は、PC111、121やゲートウェイ130、150との間で特定のネットワーク通信プロトコルを使用した通信セッションを管理したり、データグラム通信を行ったりする。具体的な通信プロトコルの例としては、LPD、IPP、RAW、WSDプリントのような印刷処理を行うものやSLP、LLMNR、WSD-Helloのような特定の情報を通知したり装置を検索したりするようなものがあげられる。
【0039】
通信制御部302は、LANデバイス209がLAN120を介してPC121から受け付けた要求や、LANデバイス210がLAN110を介してPC111から受け付けた要求を、ネットワークI/F208を介して取得する。処理部303は、通信制御部302が取得した要求毎の処理を、他の各機能部と連携して行う。そして処理部303は、通信制御部302を制御して、該処理の結果を要求の送信元に対して返信する。
【0040】
処理部303はまた、通信制御部302を制御して、PC111、121やゲートウェイ130、150に対してMFP100の現在の運用状態やホスト名等の各種情報を通知する。処理部303はさらに、MFP100の周辺ネットワークに接続している機器のうち特定機器への通信を開始するために対象の機器を検索したりする。
【0041】
操作処理部304は、操作部102に対するユーザからの操作入力を受け付け、該受け付けた操作入力を他の機能部に通知したり、該操作入力に応じて操作部102が有する表示画面の表示制御を行う。
【0042】
印刷処理部305は、プリンタI/F206を介してプリンタ部103の動作制御を行う。また印刷処理部305は、スキャナI/F207を介してスキャナ部104の動作制御を行う。例えば、コピー機能を実行する場合、印刷処理部305は、ユーザが操作部102を操作して入力したコピー指示をパネルI/F205を介して検知すると、スキャナ部104を制御して該スキャナ部104に設置されている原稿の読み取り動作を行わせる。そして印刷処理部305は、該読み取り動作により得られるスキャン画像をスキャナI/F207を介して取得し、該スキャン画像を印刷に適した形式に変換し、プリンタI/F206を介してプリンタ部103に出力する。
【0043】
電源制御部306は、MFP100の電源状態を管理し、省電力モードを含めたMFP100の運用状態を管理する。電源制御部306は、MFP100における各種の条件に応じて、MFP100を「使用電力を低減させるスリープモード」に遷移させたり、スリープモードから通常運用モードへ遷移させたりする。
【0044】
電源制御部306がMFP100をスリープモードに遷移させる条件の例としては、MFP100がコピー、印刷、スキャン等の動作を実行していない期間の長さが一定時間以上となった場合がある。また、他の例としては、操作部102や外部の機器からの入力がない期間の長さが一定時間以上となった場合、がある。ここで、外部の機器からの入力がない状態とは、例えば、PC111(PC121)からLAN110(LAN120)を介してMFP100に入力(例えば印刷指示)が行われていない状態を指す。電源制御部306は、MFP100をスリープモードに遷移させる上記の条件が満たされたと判断した場合、印刷処理部305や処理部303にスリープモードに遷移可能であるか否かの問い合わせを行う。印刷処理部305や処理部303は、この問い合わせに対して、現在アイドル状態であるのか、実行中の処理を中断しても問題ない状態であるのか、等を判断し、該判断の結果に基づいて、スリープモードに遷移可能であるか否かを電源制御部306に応答する。電源制御部306は、印刷処理部305や処理部303からスリープモードに遷移可能である旨の応答を受けたことに応じて、MFP100をスリープモードに遷移するように電源管理部211を制御する。
【0045】
一方、電源制御部306がスリープモードにおけるMFP100を通常運用モードに遷移させる条件の例としては、MFP100に対して操作部102からコピー、スキャン等を目的とした何らかの指示入力があった場合があげられる。また、他の例としては、PC111(PC121)からLAN110(LAN120)を介してMFP100に入力(例えば印刷指示)が行われた場合、がある。MFP100がスリープモード中にPC111(PC121)からLAN110(LAN120)を介して入力があったことを検知するためには、少なくともLANデバイス209やLANデバイス210に対して電源管理部211からスリープモード中であっても通電されていることが前提となる。例えば、PC111からの入力を検知するためには、LANデバイス210が通電されている必要があり、PC121からの入力を検知するためには、LANデバイス209が通電されている必要がある。LANデバイスからのスリープモードのみが必要で、LANデバイス以外の通電が不要である場合、それ以外のブロックへの通電は不要である。このような場合、電源制御部306は、通常運用モードからスリープモードへの遷移時に例えば操作部102、プリンタ部103、スキャナ部104、CPU201、DRAM202、HDD204に対しては通電を中断するように電源管理部211に指示を行う。
【0046】
USBデバイスからのスリープモード復帰等、LANデバイスからのスリープモード復帰以外のケースや、ハードウェアの構成によってはスリープモードであっても必要に応じてCPU201、DRAM202を含めた関連ブロックへの通電が必要となる。CPU201やDRAM202への通電が中断することはコントローラ部101へのほとんどの通電が中断することと同義であり、これによって図3のコンピュータプログラムが処理を中断することになる。ただしスリープモード中であってもPC111やPC121からの入力を受信するために必要なLANデバイス209やLANデバイス210においては通電を継続させるために電源制御部306が電源管理部211に指示を行う。
【0047】
実際にPC111やPC121が入力として印刷要求をMFP100に送信した場合、LANデバイス209やLANデバイス210は受信した要求が何の要求であるのかを判断する。PC111やPC121から受信した要求が印刷要求であると判断すれば、LANデバイス209やLANデバイス210は電源管理部211に対して通電の復帰を指示する。電源管理部211は指示された内容を電源制御部306に通知し、電源制御部306は、CPU201、DRAM202、HDD204、プリンタ部103への通電を開始する制御を行う。通電開始後は図3のコンピュータプログラムの動作が再開される。この時にLANデバイス209やLANデバイス210はPC111やPC121からの要求をネットワークI/F208を介して通信制御部302に送出する。これによって印刷要求をスリープモードから通常運用モードへの遷移を行いながら処理することが可能である。
【0048】
上記の如く、モードの遷移によって変わっていくMFP100の運用状態の変更毎に電源制御部306は処理部303へその運用状態を通知する。この通知を受けた処理部303は、SLP等の通信プロトコルを使用し、LANデバイス209やLANデバイス210を介して運用状態をマルチキャスト通信で周辺ネットワークの各装置へ通知する。
【0049】
設定管理部307は、MFP100のコンフィグレーションのための各種設定情報をHDD204にて管理する。ネットワークI/F208を介してLANデバイス209やLANデバイス210に対して設定されるIPアドレス、サブネットマスク、デフォルトゲートウェイ、等の設定情報についても設定管理部307がHDD204において管理する。電源制御部306がスリープモードに遷移するか否かを決定する際にはあらかじめ設定管理部307からスリープモードに関連する各種設定を取得し、その設定に伴って動作する。
【0050】
本実施形態に係るシステムにおけるMFP100の1つの運用形態の例として、インターネットへの通信を含む、MFP100が属しているサブネットを越えた通信は、LAN110が属しているサブネットからゲートウェイ130を介して行うことを想定する。このようなケースの場合、MFP100はゲートウェイ130をデフォルトゲートウェイとすることで、LAN110が属するサブネットとLAN140が属するサブネットとの間の通信が可能となる。
【0051】
これ対しMFP100はLAN120が属するサブネットにおいて、PC121からの印刷を含めた各種要求は受け付けるが、MFP100が属するサブネットとは異なるサブネットであるPC161からの要求を受け付けないような運用を行うことを想定する。合わせて、MFP100から通知する情報、特定端末の検索要求、をPC161側のサブネットに通知しないような運用を行うことを想定する。このようなケースの場合、MFP100からPC161へのユニキャスト通信においてはMFP100がLAN120側にARP送信を行わないため、PC161の通信ルートが特定できないことからPC161へ通信が行われることはない。具体的な理由として、PC161のIPアドレスとMFP100の全てのIPアドレスはサブネットが異なる。このため通信制御部302はLANデバイス209とLANデバイス210のどちら側に通信を開始すればいいか認識できない。このため通信制御部302は一般的なTCP/IPの通信方式に則り、ゲートウェイ130がデフォルトゲートウェイとして設定されているLAN110側に接続しているLANデバイス210に対し、PC161を検索するためのARP送信を行う。しかしながらPC161はゲートウェイ150を介したLAN160上に接続しているため、LAN110側のどの端末からもARP応答が行われない。これによってMFP100からPC161へのユニキャスト通信は回避可能である。しかしながらPC161がゲートウェイ150をデフォルトゲートウェイとして設定している場合、PC161からMFP100へのユニキャスト通信は行えてしまう。またMFP100がその運用状態やMFP100の各種情報を通知するためにLAN120側に対してマルチキャスト通信を行う場合、通信パケットの生成の仕方によってはゲートウェイ150を超える通信が可能となってしまう。この通信パケットの生成に関して図4の例を用いて説明する。
【0052】
図4は、一般的なTCP/IP通信プロトコルにおけるIP通信プロトコルパケットの一部の構成例を示す図である。ここでは一般的に代表的なブロック部分と本実施形態に関連するブロックについて説明する。
【0053】
400はIPプロトコルヘッダを示している。401はIPプロトコルのバージョン(Version)を示す。一般的にバージョン401よりIPv4やIPv6プロトコルを識別可能である。402はIPプロトコルヘッダ400のヘッダ長(Header Length)を示す。403はIPプロトコルヘッダ400を含み、それ以降のパケットペイロード全体のデータ長(Total Data Length)を示す。404はパケットの生存期間(Time to Live:以下、TTLと称する場合がある)を示す。ここで言及する生存期間404の例として、ルーター等のゲートウェイをいくつ越えられるかのホップ数があげられる。405はパケットの上位プロトコル(Protocol)を示す。具体例としては、TCPやUDP、ICMP等があり、それらの識別が可能となるブロックである。406はパケットの送信元を示すIPアドレス(Source Address)を格納するフィールドである。407はパケットの送信先を示すIPアドレス(Destination Address)を格納するフィールドである。
【0054】
本実施形態では、MFP100がその運用状態やMFP100の各種情報を通知するためにMFP100が接続しているLAN110とLAN120に対してマルチキャスト通信を行う場合を想定する。MFP100がマルチキャスト通信で上記の通知を行う場合、運用形態として通信可能対象であるPC141に対しても通知を行うためにはゲートウェイ130を越えるために生存期間404が2以上であるパケットである必要がある。しかしながら、このパケットをLAN120側に送ってしまうとゲートウェイ150を越えてPC161側に通知が届いてしまう。MFP100の運用形態は一般に情報漏洩を防ぐようなケースにおいて想定されることがあるため、これを鑑みるとLAN120側のMFP100が属するサブネット外にパケットが届いてしまうことは問題となる。他にもマルチキャスト通信を使用してMFP100がPC141のホスト名からIPアドレス解決するようなケースにおいても同様で、LAN120側に送ってしまうとPC161側に検索パケットが届いてしまう。
【0055】
このような問題を解消するためにMFP100が行う動作について、図5のフローチャートに従って説明する。図5(a)は、MFP100がLAN110に接続した時点でMFP100のホスト名等の各種情報を通知する処理のフローチャートである。
【0056】
ステップS501では、LANデバイス209はLAN120への接続の検知処理を割り込み処理として実行すると共に、LANデバイス210はLAN110への接続の検知処理を割り込み処理として実行する。LANデバイス209及びLANデバイス210はLANへの接続を検知すると、検知した旨を通信制御部302に通知する。通信制御部302がLANデバイス209及びLANデバイス210の何れかからLANへの接続を検知した旨の通知(接続検知通知)を受けると、処理はステップS502に進む。
【0057】
ステップS502では、通信制御部302は、LANデバイス209から接続検知通知を受けると、LANデバイス209の識別情報を処理部303に通知する。一方、通信制御部302は、LANデバイス210から接続検知通知を受けると、LANデバイス210の識別情報を処理部303に通知する。
【0058】
処理部303は、HDD204に保存されている「LANデバイス209及びLANデバイス210のそれぞれに対して設定されているIPアドレス、サブネットマスク、デフォルトゲートウェイ」をMFP100の電源投入時等に予め取得しておく。
【0059】
処理部303は、LANデバイス209及びLANデバイス210のそれぞれに対して設定されている「IPアドレス、サブネットマスク、デフォルトゲートウェイ」を参照する。そして通信制御部302は、通信制御部302から受けた識別情報に対応するLANデバイスが「デフォルトゲートウェイが設定されているLAN110側のLANデバイス」であるのか、「デフォルトゲートウェイが設定されていないLAN120側のLANデバイス」であるのか、を判断する。つまり処理部303は、通信制御部302から受けた識別情報に対応するLANデバイスがLANデバイス209であるのかLANデバイス210であるのか、を判断する。
【0060】
この判断の結果、通信制御部302から受けた識別情報に対応するLANデバイスが「デフォルトゲートウェイが設定されているLAN110側のLANデバイス」である場合には、処理はステップS551に進む。一方、通信制御部302から受けた識別情報に対応するLANデバイスが「デフォルトゲートウェイが設定されていないLAN120側のLANデバイス」である場合には、処理はステップS503に進む。
【0061】
ステップS551では、処理部303は、上記の生存期間(TTL)404を使用して、MFP100の各種情報を通知するマルチキャストパケットを生成する。ここで、生存期間404は、ユーザが操作部102を操作して変更しても良いし、MFP100内に固定的に定めている値であってもよい。本実施形態では、生存期間404の値は2以上を想定している。そして処理部303は、生成したマルチキャストパケットをネットワークI/F208を介してLANデバイス210に対して送出する。
【0062】
ステップS503では、処理部303は、固定的に1にセットされている生存期間(TTL)404を使用して、MFP100の各種情報を通知するマルチキャストパケットを生成する。生存期間404を1にセットすることによって、MFP100と同一サブネット内にのみマルチキャストパケットを送ることになる。そして処理部303は、生成したマルチキャストパケットをネットワークI/F208を介してLANデバイス209に対して送出する。
【0063】
ステップS551からステップS504に処理が進んだ場合、ステップS504では、LANデバイス210は、処理部303から送出されたマルチキャストパケットをLAN110上に送信する。一方、ステップS503からステップS504に処理が進んだ場合、ステップS504では、LANデバイス209は、処理部303から送出されたマルチキャストパケットをLAN120上に送信する。
【0064】
なお、この例ではLAN110やLAN120への接続検知に応じてステップS502以降の処理を行うようにしているが、MFP100が定期的に情報通知を行う場合には、ステップS502以降の処理を定期的に行うようにしても良い。その場合、ステップS501では、接続検知の代わりに「LANデバイス209及びLANデバイス210のそれぞれにおいて定期的に発生させる定期イベント」の発生タイミングの検知を行う。そしてLANデバイス209及びLANデバイス210の何れかにおいて定期イベントが発生した場合には、ステップS502では、LANデバイス209及びLANデバイス210の何れにおいて定期イベントが発生したのかを判断する。そしてLANデバイス209において定期イベントが発生した場合には、処理はステップS503に進み、LANデバイス210において定期イベントが発生した場合には、処理はステップS551に進む。
【0065】
図5(b)は、MFP100側から周辺ネットワーク上の端末へ通信するために通信先端末のホスト名を検索する際に使用するLLMNR等のマルチキャストパケットの生成処理のフローチャートである。図5(b)において図5(a)に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【0066】
周辺端末のホスト名検索を行う際にステップS505では、処理部303は、LANデバイス209及びLANデバイス210の何れも通信先端末の検索パケットを送信しているか否かをチェックする。このチェックの結果、LANデバイス209及びLANデバイス210の何れも通信先端末の検索パケットを送信している(全てのLANデバイスで端末検索が完了している)場合には、図5(b)のフローチャートに従った処理は完了する。一方、LANデバイス209及びLANデバイス210のうち何れかが通信先端末の検索パケットを未だ送信していない(何れかのLANデバイスで端末検索が完了していない)場合には、処理はステップS506に進む。
【0067】
ステップS506では、処理部303は、未だ検索パケットを送信していないLANデバイスが「デフォルトゲートウェイが設定されているLAN110側のLANデバイス」であるのか、「デフォルトゲートウェイが設定されていないLAN120側のLANデバイス」であるのか、を判断する。この判断の結果、未だ検索パケットを送信していないLANデバイスが「デフォルトゲートウェイが設定されているLAN110側のLANデバイス」である場合には、処理はステップS551に進む。一方、未だ検索パケットを送信していないLANデバイスが「デフォルトゲートウェイが設定されていないLAN120側のLANデバイス」である場合には、処理はステップS503に進む。
【0068】
ステップS507では、処理部303は、検索対象端末からの応答を待ち、応答があれば該応答を受信することで通信先端末の検索処理を終了する。
【0069】
なお、図5(b)のフローチャートは、特定の端末に対するホスト名を検索する処理を示したものである。しかし、図5(b)のフローチャートは、MFP100が接続しているネットワーク周辺に存在する複数の端末一覧をSLP等のマルチキャストパケットで検索する処理にも同様に適用できる。
【0070】
次に、MFP100が接続しているネットワーク周辺に存在する複数の端末を検索した結果の、操作部102が有する表示画面における表示例について、図6を用いて説明する。操作部102が有する表示画面600には、MFP100が接続しているネットワーク周辺に存在する複数の端末の一覧が表示されている。つまり、表示画面600には、図5(b)のフローチャートにおけるステップS507で受信した応答の送信元に係る情報(ホスト情報)の一覧が表示されている。
【0071】
601は、応答が返されたホストの名前である。602は、応答が返されたホストのIPアドレスである。603は、検索して応答が返されたホストがLANデバイス209、LANデバイス210の何れのネットワーク上の機器であるのかを示す情報である。「IF1」は、検索して応答が返されたホストがLANデバイス210が属するサブネット上の機器であることを示しており、「IF2」は、検索して応答が返されたホストがLANデバイス209が属するサブネット上の機器であることを示している。
【0072】
これらの情報のうち、特に情報603が取得可能となることによって、次回の個別端末への通信時にLANデバイス209、LANデバイス210のどちら側へ通信を行えば良いのかを判断することができる。
【0073】
604は、デフォルトゲートウェイを設定していない側のLANに対応するLANデバイスに対してMFP100と同一サブネット内のみで検索を行ったことをMFP100の操作者に対して表示するメッセージである。
【0074】
MFP100の仕様によっては、一般に生存期間に従ってマルチキャスト通信するケースがあり得る。この場合、MFP100の運用形態として、デフォルトゲートウェイを設定しないサブネット側からはサブネット外へ通信しないため、MFP100にセットされる生存期間の値に関わらず1を超えた生存期間でマルチキャストパケットは送らないことを示す。この例ではMFP100の周辺ネットワークの端末情報の検索時においてメッセージ604の表示を行うようにしている。
【0075】
また、図5(b)において、デフォルトゲートウェイを設定していない側のLAN120に対応するLANデバイス209によって検索パケットを送信する場合、ステップS503の前に表示画面600にゲートウェイ150を越えた通信を行うかの選択をユーザに促すようにしてもよい。また、ゲートウェイ150を越えた検索を行うのか、MFP100と同一サブネット内のみで検索を行うのか、またはLANデバイス209側への送信自体を中止するのか、等の選択を可能としてもよい。そしてステップS503以降はユーザによる選択の結果に従って処理が行われる。
【0076】
このように本実施形態によれば、MFP100からマルチキャストパケットを送信する場合、デフォルトゲートウェイ設定を行っていないLAN側に対して、MFP100が属するサブネットと異なるサブネット外へのパケット送信を防ぐことが可能となる。
【0077】
<変形例>
第1の実施形態では、MFP100は2つのLANに接続されており、それぞれのLANに対応するLANデバイスを有する(つまり2つのLANデバイスを有する)ケースについて説明した。しかし、MFP100に接続可能なLANの数は2に限らず、N(Nは3以上の整数)であっても良い。この場合、MFP100は、N個のLANのそれぞれに接続するべく、N個のLANデバイスを有する必要がある。
【0078】
[第2の実施形態]
以下では第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。第1の実施形態では、MFP100から周辺ネットワーク上の端末にマルチキャストパケットを送信したのに対し、本実施形態では、MFP100が端末側から各種ネットワークパケットを受信するケースについて説明する。なお、本実施形態でも第1の実施形態と同様に、デフォルトゲートウェイの設定をLANデバイス210側に接続しているゲートウェイ130としていることを前提とする。本実施形態に係るMFP100の動作について、図7のフローチャートに従って説明する。
【0079】
通信制御部302が、MFP100へのネットワークパケットを、LANデバイス209やLANデバイス210を介して受信した場合には、処理はステップS701からステップS702に進み、受信していない場合には、処理はステップS701で待機する。
【0080】
ステップS702では、処理部303は、通信制御部302がステップS701で受信したネットワークパケットを解析する。そして処理部303はこの解析により、該ネットワークパケットが、LANデバイス209が接続されているサブネット、LANデバイス210が接続されているサブネット、のいずれとも異なるサブネットから送信されたパケットなのか否かを判断する。この判断は、一般にMFP100が保持するIPアドレスとサブネットマスクから、同一サブネットで使用可能なIPアドレスの範囲が計算可能であるから、ネットワークパケットの送信元のIPアドレスがその範囲内か否かを判断すること実施可能である。
【0081】
このような判断の結果、ネットワークパケットの送信元のIPアドレスがMFP100と同一のサブネットの場合、処理はステップS704に進む。一方、ネットワークパケットの送信元のIPアドレスがMFP100と異なるサブネットの場合、処理はステップS703に進む。
【0082】
ステップS702からステップS704に処理が進んだ場合、該ステップS704では処理部303は次のような処理を行う。即ち処理部303は、ステップS701で通信制御部302が受信したネットワークパケットがLANデバイス209が受信したネットワークパケットであるのか、LANデバイス210が受信したネットワークパケットであるのか、を判断する。この判断の結果、ステップS701で通信制御部302が受信したネットワークパケットがLANデバイス209が受信したネットワークパケットである場合、処理部303は受信したネットワークパケットに対する応答パケットを生成する。そして処理部303は該生成したネットワークパケットをLANデバイス209を用いてLAN120上に送信する。一方、ステップS701で通信制御部302が受信したネットワークパケットがLANデバイス210が受信したネットワークパケットである場合、処理部303は受信したネットワークパケットに対する応答パケットを生成する。そして処理部303は該生成したネットワークパケットをLANデバイス210を用いてLAN110上に送信する。
【0083】
ステップS703では、処理部303は、ステップS701で通信制御部302が受信したネットワークパケットがLANデバイス209が受信したネットワークパケットであるのか、LANデバイス210が受信したネットワークパケットであるのか、を判断する。この判断の結果、ステップS701で通信制御部302が受信したネットワークパケットがLANデバイス209が受信したネットワークパケットである場合、MFP100の運用形態として、例えばPC161とゲートウェイ150を越えて通信することは行わないため、処理部303は応答パケットを生成することなく、図7のフローチャートに従った処理は終了する。一方、ステップS701で通信制御部302が受信したネットワークパケットがLANデバイス210が受信したネットワークパケットである場合、処理はステップS704に進む。
【0084】
ステップS703からステップS704に処理が進んだ場合、該ステップS704では処理部303は次のような処理を行う。MFP100の運用形態として、外部サブネットからの通信は受け付けてもよい。そのため、処理部303は、受信したネットワークパケットに対する応答パケットを生成し、該生成したネットワークパケットをLANデバイス210を用いてLAN110上に送信する。
【0085】
なお、本実施形態では、外部サブネットからのパケット受信の判断を処理部303が行っているが、通信制御部302が行うようにしても良い。これは、上記の説明でも同様で、通信制御部302が行うものとして説明した処理、処理部303が行うものとして説明した処理、のそれぞれを通信制御部302、処理部303が行うことに限らず、一部を他の機能部が実行しても良い。
【0086】
このように、本実施形態によれば、MFP100へのサブネット外からの通信要求において、デフォルトゲートウェイ設定を行っていないLANデバイス側に対してMFP100と異なるサブネット外端末との通信を遮断することが可能となる。
【0087】
なお、上記の実施形態や変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、上記の実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。
【0088】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0089】
201:CPU 202:DRAM 203:SATA I/F 204:HDD 205:パネルI/F 206:プリンタI/F 207:スキャナI/F 208:ネットワークI/F 209:LANデバイス 210:LANデバイス 211:電源管理部
図1
図2
図3
図4
図5
図6
図7