(57)【特許請求の範囲】
【請求項１】
複数のコアを有するマルチコアプロセッサーと、
前記複数のコアの間を接続する仮想ネットワークと、
ネットワークインターフェイスと、
前記複数のコアのうちの１つのコアにおいて、前記ネットワークインターフェイスの接続されるローカルネットワークと前記仮想ネットワークとの間のルーターとして機能するルーター機能部と、
前記ルーター機能部が存在する前記コアにおいて、前記仮想ネットワーク上のマルチキャストパケットまたはブロードキャストパケットを前記ローカルネットワークへ転送する転送処理部と、
を備え、
前記ローカルネットワークと前記仮想ネットワークは、互いに異なる２つのＩＰネットワークであり、
前記転送処理部は、（ａ）マルチキャストパケットである前記仮想ネットワーク上のＩＣＭＰｖ６の近隣要請のパケットを受信し、（ｂ１）受信した前記近隣要請のパケットにより指定されたＩＰアドレスのアドレス解決が可能ではない場合、前記近隣要請のパケットを前記ローカルネットワークへ送出し、（ｂ２）受信した前記近隣要請のパケットにより指定されたＩＰアドレスのアドレス解決が可能である場合、前記近隣要請のパケットを前記ローカルネットワークへ送出せずに受信処理を行い、（ｃ）前記近隣要請のパケットが前記ローカルネットワークへ送出された場合、前記近隣要請の応答パケットとして近隣広告のパケットを前記ローカルネットワークから受信し、
前記転送処理部は、（ｄ）前記マルチキャストパケットまたは前記ブロードキャストパケットを前記ローカルネットワークへ転送する際に、そのパケットの送信元のコアを特定し、（ｅ）そのパケットに対する応答パケットが前記ローカルネットワークから受信されると、（ｆ１）前記特定したコアが当該転送処理部の存在するコアではない場合、その特定したコアを宛先として前記応答パケットを前記仮想ネットワークに送出し、（ｆ２）前記特定したコアが当該転送処理部の存在するコアである場合、前記仮想ネットワークに前記応答パケットを送出せずに受信処理を行うこと、
を特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および画像形成装置に関するものである。
【背景技術】
【０００２】
近年、プロセッサーの性能向上に伴い仮想化技術が普及しつつある。仮想化技術によれば、マルチコアＣＰＵ（Central Processing Unit）の各コアにおいてオペレーティングシステムを稼動し、互いに異なる処理を並行して実行させることが可能である（例えば特許文献１参照）。その場合、コア間で通信を行うために仮想ネットワークが構築されることがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１６５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図３は、マルチコアＣＰＵを有する情報処理装置のソフトウェア構成およびネットワーク構成の一例を示すブロック図である。図３に示す構成では、ＣＰＵ１０１が４つのコア１１１〜１１４を有し、コア１１１〜１１４間が仮想ネットワーク１０２で接続されている。
【０００５】
それらのコア１１１〜１１４のうちの１つのコア（ここではコア１１４）が、ネットワークインターフェイス１０３を制御して外部のローカルネットワーク２０１に対する通信処理を行う。コア１１４は、所定のプログラムを実行することで、仮想ネットワーク１０２に対する通信処理を行う通信処理部１２１の他、ローカルネットワーク２０１に対する通信処理を行う通信処理部１２２を実現し、さらに、異なる２つのＩＰネットワークである仮想ネットワーク１０２とローカルネットワーク２０１との間のルーティングを行うルーター機能部１２３を実現する。
【０００６】
このように、ＣＰＵ１０１の１つのコア１１４にルーター機能部１２３が存在する場合、その他のコア１１１〜１１３（におけるプログラム）は、ルーター機能部１２３を介して、ローカルネットワーク２０１上の他の装置との通信を行う。
【０００７】
コア１１１〜１１３（におけるプログラム）が、ユニキャストのパケットを仮想ネットワーク１０２に送出して、ルーター機能部１２３を介してローカルネットワーク２０１上の他の装置との通信を行う場合、そのパケットは、ルーター機能部１２３を透過してローカルネットワーク２０１に送出され、宛先の装置に到達する。
【０００８】
しかしながら、コア１１１〜１１３（におけるプログラム）が、マルチキャストまたはブロードキャストのパケットを仮想ネットワーク１０２に送出した場合、ルーター機能部１２３は、そのパケットをローカルネットワーク２０１へ透過しないため、コア１１１〜１１３（におけるプログラム）が、マルチキャストまたはブロードキャストのパケットを、ローカルネットワーク２０１上の装置へ到達させることは困難である。
【０００９】
本発明は、上記の問題に鑑みてなされたものであり、プロセッサーにおけるいずれのコアからもマルチキャストまたはブロードキャストのパケットで外部のローカルネットワークとの通信を行うことができる情報処理装置および画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明では以下のようにした。
【００１１】
本発明に係る情報処理装置は、複数のコアを有するマルチコアプロセッサーと、複数のコアの間を接続する仮想ネットワークと、ネットワークインターフェイスと、複数のコアのうちの１つのコアにおいて、ネットワークインターフェイスの接続されるローカルネットワークと仮想ネットワークとの間のルーターとして機能するルーター機能部と、ルーター機能部が存在するコアにおいて、仮想ネットワーク上のマルチキャストパケットまたはブロードキャストパケットをローカルネットワークへ転送する転送処理部とを備える。ここで、ローカルネットワークと仮想ネットワークは、互いに異なる２つのＩＰネットワークである。そして、転送処理部は、（ａ）マルチキャストパケットである仮想ネットワーク上のＩＣＭＰｖ６の近隣要請のパケットを受信し、（ｂ１）受信した近隣要請のパケットにより指定されたＩＰアドレスのアドレス解決が可能ではない場合、近隣要請のパケットをローカルネットワークへ送出し、（ｂ２）受信した近隣要請のパケットにより指定されたＩＰアドレスのアドレス解決が可能である場合、近隣要請のパケットをローカルネットワークへ送出せずに受信処理を行い、（ｃ）近隣要請のパケットがローカルネットワークへ送出された場合、近隣要請の応答パケットとして近隣広告のパケットをローカルネットワークから受信する。さらに、転送処理部は、（ｄ）マルチキャストパケットまたはブロードキャストパケットをローカルネットワークへ転送する際に、そのパケットの送信元のコアを特定し、（ｅ）そのパケットに対する応答パケットがローカルネットワークから受信されると、（ｆ１）特定したコアが当該転送処理部の存在するコアではない場合、その特定したコアを宛先として応答パケットを仮想ネットワークに送出し、（ｆ２）特定したコアが当該転送処理部の存在するコアである場合、仮想ネットワークに応答パケットを送出せずに受信処理を行う。
【００１２】
これにより、ルーター機能部でマルチキャストパケットおよびブロードキャストパケットがブロックされても、転送処理部がローカルネットワークへそのパケットを代わりに送出するため、プロセッサーにおけるいずれのコアからもマルチキャストまたはブロードキャストのパケットで外部のローカルネットワークとの通信を行うことができる。
【００２２】
本発明に係る画像形成装置は、上記の情報処理装置を備える。
【００２３】
これにより、画像形成装置内のプロセッサーにおけるいずれのコアからもマルチキャストまたはブロードキャストのパケットで外部のローカルネットワークとの通信を行うことができる。
【発明の効果】
【００２４】
本発明によれば、複数のコアを有するプロセッサーにおけるいずれのコアからもマルチキャストまたはブロードキャストのパケットで外部のローカルネットワークとの通信を行うことができる。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の実施の形態に係る画像処理装置のハードウェア構成を示すブロック図である。
【図２】図２は、図１における情報処理装置のソフトウェア構成およびネットワーク構成を示すブロック図である。
【図３】図３は、マルチコアＣＰＵを有する情報処理装置のソフトウェア構成およびネットワーク構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２６】
以下、図に基づいて本発明の実施の形態を説明する。
【００２７】
図１は、本発明の実施の形態に係る画像処理装置１のハードウェア構成を示すブロック図である。
図１に示す画像形成装置１は、プリンター、複合機などといった装置であり、情報処理装置１０を有する。情報処理装置１０は、ＣＰＵ１１、ＲＡＭ（Random Access Memory）などのメモリー１２、およびネットワークインターフェイス１３を有する。
【００２８】
ＣＰＵ１１は、複数（ここでは、４個）のコア２１〜２４を有し、非対称の並列処理を行う。この実施の形態では、仮想化技術により、それぞれのコア２１〜２４においてオペレーティングシステムが稼動する。
【００２９】
メモリー１２は、ＣＰＵ１１により使用されるプログラムやデータを記憶するデバイスである。メモリー１２は、コア２１〜２４の共有メモリーとして使用される。
【００３０】
ネットワークインターフェイス１３は、外部のローカルネットワーク２に接続され、ローカルネットワーク２上の他の装置とのデータ通信を行う。
【００３１】
また、内部デバイス１４は、この情報処理装置１０により制御され、画像形成装置１の機能（印刷機能、画像読取機能など）を実現するデバイスである。
【００３２】
図２は、図１における情報処理装置１０のソフトウェア構成およびネットワーク構成を示すブロック図である。
【００３３】
図２に示すように、コア２１〜２４は、仮想化技術により仮想ネットワーク３１で互いに接続される。また、この実施の形態では、コア２４が、ネットワーク処理を担当している。
【００３４】
コア２４は、図示せぬプログラムを実行することで、通信処理部４１、通信処理部４２、ルーター機能部４３、および転送処理部４４を実現する。
【００３５】
通信処理部４１は、仮想ネットワーク３１を介して仮想的に他のコア２１〜２３とのネットワーク通信を行う。
【００３６】
通信処理部４２は、ネットワークインターフェイス１３を制御して、ローカルネットワーク２に接続された他の装置とのネットワーク通信を行う。
【００３７】
ルーター機能部４３は、互いに異なる２つのＩＰネットワークである仮想ネットワーク３１とローカルネットワーク２との間でルーティングを行う。ルーター機能部４３は、通信処理部４１，４２の一方により受信されたユニキャストのパケットに対して、アドレス変換などを行った後、通信処理部４１，４２の他方から送出させる。一方、ルーター機能部４３は、通信処理部４１，４２の一方により受信されたマルチキャストまたはブロードキャストのパケットについては、ルーティングせずに破棄する。ただし、そのマルチキャストまたはブロードキャストのパケットがこのコア２４を宛先とするものである場合には、通信処理部４１，４２または図示せぬ処理部により、そのパケットの受信処理（パケットの内容の解析、パケットにより指定された処理など）が実行される。
【００３８】
転送処理部４４は、通信処理部４１によりマルチキャストまたはブロードキャストのパケットが受信された場合、そのパケットをそのまま通信処理部４２でローカルネットワーク２に送出する。ただし、転送処理部４４は、そのパケットにより応答を要求されるノードが当該転送処理部４４の存在するコア（つまり、コア２４）である場合、そのパケットをローカルネットワーク２へ送出しない。
【００３９】
例えば、ＩＣＭＰｖ６（Internet Control Message Protocol for IPv6）の近隣要請（Neighbor solicitation）のパケットは、全ノード指定のマルチキャストパケットであり、そのパケットにおいて、アドレス解決の対象となるＩＰアドレスが指定される。そのＩＰアドレスに該当するノードがそのパケットを受信すると、そのノードのＭＡＣ（Media Access Control）アドレスを含むＩＣＭＰｖ６の近隣広告（Neighbor advertisement）のパケットを応答パケットとして送信する。
【００４０】
したがって、近隣要請のパケットにより要求されたアドレス解決がコア２４において可能である場合、つまり、指定されたＩＰアドレスが、仮想ネットワーク３１またはローカルネットワーク２におけるコア２４のＩＰアドレスである場合には、転送処理部４４は、その近隣要請のパケットをローカルネットワーク２に送出せずに受信処理を行う。
【００４１】
また、転送処理部４４は、通信処理部４１により受信されたマルチキャストまたはブロードキャストのパケットが応答を要求するパケットである場合、そのパケットをローカルネットワークへ転送する際に、そのパケットの送信元のコアを特定し（送信元のコアのＩＰアドレスなどの識別情報を特定し）、そのパケットに対する応答パケットがローカルネットワーク２から受信されると、その特定したコアを宛先として応答パケットを仮想ネットワーク３１に送出する。ただし、転送処理部４４は、送信元として特定したコアが当該転送処理部４４の存在するコア（つまり、コア２４）である場合、仮想ネットワーク３１に応答パケットを送出せずに受信処理を行う。
【００４２】
例えば、コア２４からＩＣＭＰｖ６の近隣要請のパケットが送出され、そのパケットの応答パケットである近隣広告のパケットがローカルネットワーク２から受信された場合、転送処理部４４は、その応答パケットを仮想ネットワーク３１に送出しない。
【００４３】
次に、上記画像形成装置の動作について説明する。
【００４４】
コア２４の通信処理部４１により仮想ネットワーク３１からパケットが受信されると、ルーター機能部４３は、そのパケットがユニキャストのパケットであり、宛先のＩＰアドレスが外部のＩＰアドレスであれば、アドレス変換などを行った後、そのパケットを通信処理部４２でローカルネットワーク２へ転送する。このとき、転送処理部４４は、特に何もしない。
【００４５】
一方、そのパケットがマルチキャストまたはブロードキャストのパケットである場合、ルーター機能部４３は、そのパケットを、送信元とは別のＩＰネットワークであるローカルネットワーク２へは送信せずブロックする。このとき、転送処理部４４は、そのパケットを通信処理部４２でローカルネットワーク２へ転送する。ただし、転送処理部４４は、そのパケットにより応答を要求されるノードが当該転送処理部４４の存在するコア（つまり、コア２４）である場合、そのパケットをローカルネットワーク２へ送出しない。
【００４６】
これにより、仮想ネットワーク３１上のコア２１〜２３から送出されたマルチキャストまたはブロードキャストのパケットが、別のＩＰネットワークであるローカルネットワーク２上の装置に到達する。なお、コア２４から仮想ネットワーク３１に送出されたマルチキャストまたはブロードキャストのパケットも、同様にローカルネットワーク２上の装置に到達する。
【００４７】
また、そのパケットが応答を要求するものである場合、ローカルネットワーク２上のいずれかの装置が応答パケットをローカルネットワーク２に送出する。その応答パケットは、ネットワークインターフェイス１３および通信処理部４２により受信される。マルチキャストまたはブロードキャストのパケットに対する応答パケットが受信されると、転送処理部４４は、その応答パケットを仮想ネットワーク３１に送出する。ただし、転送処理部４４は、マルチキャストまたはブロードキャストのパケットの送信元であるコアが当該転送処理部４４の存在するコア（つまり、コア２４）である場合、仮想ネットワーク３１に応答パケットを送出しない。
【００４８】
そして、仮想ネットワーク３１上のコア２１〜２３は、その応答パケットを受信するが、コア２１〜２３のうち、マルチキャストまたはブロードキャストのパケットを送信したコア以外のコア（つまり、応答パケットの宛先以外のコア）は、その応答パケットを破棄する。
【００４９】
以上のように、上記実施の形態によれば、ＣＰＵ１１における複数のコア２１〜２４のうちのルーター機能部４３が存在するコア２４において、転送処理部４４は、仮想ネットワーク３１上のマルチキャストパケットまたはブロードキャストパケットをローカルネットワーク２へ転送する。
【００５０】
異なるＩＰネットワークがルーターで接続されている場合、ルーターにおいて、マルチキャストパケットまたはブロードキャストパケットがブロックされるが、この転送処理部４４により、ＣＰＵ１１におけるいずれのコア２１〜２４からもマルチキャストまたはブロードキャストのパケットで外部のローカルネットワーク２との通信を行うことができる。
【００５１】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００５２】
例えば、上記実施の形態において、転送処理部４４は、特定のマルチキャストパケットまたはブロードキャストパケットをローカルネットワーク２へ転送し、それ以外のマルチキャストパケットまたはブロードキャストパケットをローカルネットワーク２へ転送しないようにしてもよい。これにより、ローカルネットワーク上の装置との通信に使用されることがないマルチキャストパケットまたはブロードキャストパケットをローカルネットワークへ転送しないようにすることができ、ローカルネットワークのトラフィックが増加せずに済む。この場合、転送するパケットの種別（プロトコルなど）を示す設定データを予めテーブル等に記憶しておき、転送処理部４４は、その設定データを参照して、パケットを転送するか否かを判定する。
【００５３】
また、上記実施の形態において、ＩＰｖ６のパケットを例示しているが、上記実施の形態をＩＰｖ４のパケットについても勿論適用可能である。
【産業上の利用可能性】
【００５４】
本発明は、例えば、マルチコアＣＰＵを有する画像形成装置に適用可能である。
【符号の説明】
【００５５】
１  画像形成装置
２  ローカルネットワーク
１０  情報処理装置
１１  ＣＰＵ（マルチコアプロセッサーの一例）
１３  ネットワークインターフェイス
２１〜２４  コア
３１  仮想ネットワーク
４３  ルーター機能部
４４  転送処理部
【図１】
0005680018.tif 000002
【図２】
0005680018.tif 000003
【図３】
0005680018.tif 000004