JP4708818B2 - ネットワーク装置及びその制御方法 - Google Patents

ネットワーク装置及びその制御方法 Download PDF

Info

Publication number
JP4708818B2
JP4708818B2 JP2005071072A JP2005071072A JP4708818B2 JP 4708818 B2 JP4708818 B2 JP 4708818B2 JP 2005071072 A JP2005071072 A JP 2005071072A JP 2005071072 A JP2005071072 A JP 2005071072A JP 4708818 B2 JP4708818 B2 JP 4708818B2
Authority
JP
Japan
Prior art keywords
operation mode
data
cpu
storage means
data input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005071072A
Other languages
English (en)
Other versions
JP2005302002A (ja
Inventor
朋宏 秋庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005071072A priority Critical patent/JP4708818B2/ja
Publication of JP2005302002A publication Critical patent/JP2005302002A/ja
Application granted granted Critical
Publication of JP4708818B2 publication Critical patent/JP4708818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワーク機能をもつ装置においてそのネットワーク機能を実現するに際し、スリープ動作と通常動作の2つのバッファを切り替えることができるネットワーク装置、ネットワーク装置の制御方法、プログラム、及び記録媒体に関する。
近年、機器が動作していない時(所謂、スリープ中)に消費する待機電力を削減したいという要求が強まってきている。それに伴い、スリープ中に必要な処理をするためのCPU(central processing unit)やコントローラと、通常動作に必要な処理をするメインCPUとを別にして、スリープ中には後者のメインCPUに電源を供給しないようにすることで、待機電力の削減を行う機器が出てきている(特許文献1)。
このような機器においてCPUを分離する際に、外部からの入力のある処理(いわゆるI/O(input/output)処理)を一つのCPU(またはコントローラ)に集めるという方法がある。これによりスリープ中はI/O処理用のCPU(I/O CPU) (またはコントローラ)のみが動作し、そこに何かしらの入力があった場合に、機器は通常動作に必要なメインCPUを駆動させて通常状態に戻れるようになる(特許文献2)。
このような分離方法をとった場合、機器のメインCPUには高速なものが使用され、それに付随して高速なメモリが機器に採用される場合が多い。当然のことながら消費電力が多くなるので、スリープ時には機器はメインCPUとその付随したメモリごと電源供給を止めることで待機電力を落とすことができる。
一方で、I/O CPUにはスリープ中に必要な処理が行なえる程度のCPUが使用され、それに付随して容量が少なく低速で消費電力の少ないメモリが採用される場合が多い。
上述のようなCPUの構成を採用した機器のネットワーク処理について述べる。このような機器のネットワーク処理は比較的CPUパワーを消費し、かつ高速処理を求められる。一方で機器は、スリープ中でもネットワークからアクセスできるようにしなくてはならないため、常に動作している必要がある。
機器がこの条件を満たすためには、機器は、動作中はメインCPUとメインCPU側のメモリとを使用してパケットの処理を行ない、スリープ中にはI/O CPU側に動作を切り替えてスリープ状態に入り、特定の動作や特定の受信パケットによりI/O CPU側の動作からメインCPU側の元の動作に戻れるようにする必要がある(特許文献3)。
この構成を実現するためには、機器は、通常、ネットワークアダプタ(ネットワークコントローラ、LAN(local area network)コントローラ等とも呼ばれる)が受信したパケットを保持するバッファ領域を切り替え可能であることが必要である。より詳細には、機器は、通常動作時にはメインCPUのメモリにパケットを格納するようにし、スリープ時にはI/O CPUのメモリにパケットを格納することができる必要がある。
特開2000−261515号公報 特開平11−110089号公報 特開2004−34488号公報
しかしながら、上述のようなスリープ動作と通常動作の2つのバッファを切り替えることができるネットワークコントローラを使用する機器が、ネットワーク処理を高速に行う一方でスリープ中でもネットワークからアクセスできなくてはならないという要件を満たしながら、スリープ動作と通常動作との切り替えをパケットを取りこぼすことなく行うことは非常に難しいという点において、上記従来技術には未だ改善の余地があった。
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、スリープ動作と通常動作の2つのバッファを切り替える機能を有すると共に、パケットの取りこぼしをおこさないネットワーク装置及びその制御方法を提供することにある。
このような目的を達成するために、本発明のネットワーク装置は、通信ネットワークと接続され、第1の動作モードと第2の動作モードとを切り替えることができるネットワーク装置であって、前記通信ネットワークを介したデータの入出力処理を実行するデータ入出力手段と、前記データ入出力手段を介して入出力されるデータの処理を実行するデータ処理手段と、前記通信ネットワークから入力されたデータを格納するための第1の記憶手段と、前記第1の動作モードでは前記データ入出力手段、前記データ処理手段及び前記第1の記憶手段に電力を供給し、前記第2の動作モードでは前記データ入出力手段に電力を供給する一方で前記データ処理手段及び前記第1の記憶手段への電力供給を止めるよう制御する電力制御手段と、前記ネットワーク装置が前記第2の動作モードでは処理できない特定データが前記第1の記憶手段に格納されている場合には、前記第1の動作モードから前記第2の動作モードへの切り替えを不可とし、前記特定データが前記第1の記憶手段に格納されてない場合には、前記ネットワーク装置が前記第2の動作モードで処理できる他のデータが前記第1の記憶手段に格納されている場合であっても、前記第1の動作モードから前記第2の動作モードへの切り替えを可能とするよう制御する動作モード制御手段とを有することを特徴とする。
また上記目的を達成するために、本発明のネットワーク装置の制御方法は、通信ネットワークと接続され、第1の動作モードと第2の動作モードとを切り替えることができるネットワーク装置の制御方法であって、前記ネットワーク装置は、前記通信ネットワークを介したデータの入出力処理を実行するデータ入出力手段と、前記データ入出力手段を介して入出力されるデータの処理を実行するデータ処理手段と、前記通信ネットワークから入力されたデータを格納するための記憶手段と、前記第1の動作モードでは前記データ入出力手段、前記データ処理手段及び前記記憶手段に電力を供給し、前記第2の動作モードでは前記データ入出力手段に電力を供給する一方で前記データ処理手段及び前記記憶手段への電力供給を止めるよう制御する電力制御手段とを有し、前記制御方法は、前記ネットワーク装置が、前記第2の動作モードにおいて前記ネットワーク装置にて処理できない特定データが前記記憶手段に格納されているか否かを判定する判定ステップと、前記ネットワーク装置が、前記特定データが前記記憶手段に格納されていると前記判定ステップにて判定された場合に、前記第1の動作モードから前記第2の動作モードへの切り替えを不可とするよう制御する第1の制御ステップと、前記ネットワーク装置が、前記特定データが前記記憶手段に格納されていないと前記判定ステップにて判定された場合に、前記ネットワーク装置が前記第2の動作モードで処理できる他のデータが前記記憶手段に格納されている場合であっても、前記第1の動作モードから前記第2の動作モードへの切り替えを可能とするよう制御する第2の制御ステップとを備えることを特徴とする。
また、上記目的を達成するために、本発明のプログラムは、前記ネットワーク装置の制御方法の各ステップをコンピュータに実行させることを特徴とする。
また、上記目的を達成するために、本発明の記録媒体は、前記ネットワーク装置の制御方法の各ステップをコンピュータに実行させるプログラムを記録したことを特徴とする。
なお、特許請求の範囲の構成要素と対応する実施形態中の図中符号を()で示した。ただし、特許請求の範囲に記載した構成要素は上記()部の実施形態の構成要素に限定されるものではない。
以上の構成により、スリープ動作と通常動作の2つのバッファを切り替えられるネットワークコントローラを使用したネットワーク装置で、スリープ動作に入る際にパケットの取りこぼしをおこさない処理手順を使用して、通常動作中では高速なパケット処理が行なえ、スリープ動作中でもデータ受信に備えられ、かつ両動作を切り替え中でもパケットの取りこぼしをおこさないシステムを提供する。
以上説明したように本発明によれば、第2の動作モードでは電力供給が遮断される記憶手段に、ネットワーク装置が第2の動作モードでは処理できない特定データが格納されている場合には、第1の動作モードから第2の動作モードへの切り替えを不可とし、特定データが格納されていない場合には、第1の動作モードから第2の動作モードへの移行を可能とすることで、適切な場合に第1の動作モードから第2の動作モードに切り替えることができる。
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
図1は、本実施形態のネットワークシステムの構成図である。本実施形態のネットワークシステムは、ネットワーク装置1000と、ネットワーク装置1000に接続されたネットワーク600とを含む。ネットワーク600は、LAN等の周知の通信ネットワークである。ネットワーク装置1000は、データ処理装置100、入出力処理装置200、及びバス500を有し、スリープ動作と通常動作を切り替えられる。
バス500は、例えばPCI(Peripheral Component Interconnect)バス等であり、データ処理装置100、入出力処理装置200、及びネットワーク装置1000内の他の装置のデータ通信路である。
データ処理装置100は、CPU105、ROM(read only memory)103a、RAM(random access memory)103b、バスコントローラ104等を有する。CPU105は、データ処理装置100の動作を制御する。ROM103aは、CPU105で実行される各種制御プログラムや演算データが格納されており、本実施形態では、送受信されるネットワークデータのプロトコルを解析するプロトコル処理プログラム101と、パケットの送受信を制御するネットワークドライバ102等を含む。RAM103bは、CPU105等が動作するためのバッファ等の作業領域やデータを蓄積するための領域として使用される。
プロトコル処理プログラム101は、TCP(Transmission Control Protocol)、UDP(user datagram protocol)、IP(Internet Protocol)といったネットワークのプロトコルに合わせて送受信するデータを変換し、送受信されるデータの分割/結合を行うためのプログラムで、CPU105はこれを実行することによって、ネットワーク装置1000のアプリケーションと、ネットワークドライバ102との間でデータをやりとりする。
ネットワークドライバ102は、CPU105によって実行され、プロトコル処理プログラム101により処理されたデータを後述のLANコントローラ203を制御して送信し、LANコントローラ203から受信したデータをプロトコル処理プログラム101に渡すためのプログラムである。
バスコントローラ104は、データ処理装置100と入出力処理装置200とが接続されているバス500を制御し、データ処理装置100と入出力処理装置200との間やバス500につながるネットワーク装置1000内の他の装置との通信が行えるようにする。
入出力処理装置200は、CPU206、ROM202a、RAM202b、バスコントローラ204、電源コントローラ205、LANコントローラ203等を有する。CPU206は、入出力処理装置200の動作を制御する。ROM202aは、CPU206で実行される各種制御プログラムや演算データが格納されており、本実施形態では、パケットの送受信を制御するネットワークドライバ201等を含む。RAM202bは、CPU206等が動作するためのバッファ等の作業領域やデータを蓄積するための領域として使用される。
ネットワークドライバ201は、CPU206によって実行され、LANコントローラ203からの受信データのみを扱い、LANコントローラ203から受信したデータをプロトコル処理プログラム101に渡すためのプログラムである。
バスコントローラ204は、データ処理装置100と入出力処理装置200とが接続されているバス500を制御し、データ処理装置100と入出力処理装置200との間やバス500につながるネットワーク装置1000内の他の装置との通信が行えるようにする。
電源コントローラ205は、ネットワーク装置1000全体の電源を制御するコントローラで、入出力処理装置200、データ処理装置100、バス500に供給する電力を制御する。電源コントローラ205は、スリープ動作ではデータ処理装置100、バス500への電力供給を止める。
LANコントローラ203は、ネットワーク600上の信号をコントロールし、RAM上に保持されたデータをネットワーク600上に信号として送信し、ネットワーク600上を流れている信号から自分自身宛のパケットを取り出す処理を行なう。LANコントローラ203は、入出力処理装置200内にあるスリープ動作用のバッファとデータ処理装置100内にある通常動作用のバッファの、2つのバッファを切り替えられるネットワークアダプタ(ネットワークコントローラ)である。データ処理装置100内にある通常動作用のバッファにデータを格納する場合は、LANコントローラ203はDMA転送を行う。このため、CPU105に負荷をかけることなく、LANコントローラ203からデータ処理装置100内にあるバッファへの転送が実現できる。
次に図2、3を参照し、ネットワークドライバ102、201およびLANコントローラ203の動作について説明する。図2は送信バッファの説明図で、図3は受信バッファの説明図である。
図2を参照し、まずネットワーク装置1000の送信処理について説明する。CPU105はプロトコル処理プログラム101を実行することにより、ネットワーク装置1000のアプリケーションから渡された送信データをデータ変換し分割して、パケットを生成する。CPU105はネットワークドライバ102の処理に従い、生成されたパケットをRAM103b内の送信用のバッファ903−0〜903−n(n;自然数)のいずれかに格納する。
ここで、生成されたパケットをRAM103b内のバッファに格納する際には、まずCPU105はCPU206にRAM202b内の送信バッファ用のディスクリプタブロック901−0〜901−nの参照を依頼する。依頼を受けたCPU206はネットワークドライバ201の処理に従い、ディスクリプタブロック901−0〜901−nの各内部データ902のFlag(Flag=OFF(空き)/ON(データ有り))を参照して、空きを示すディスクリプタブロック901−i(0≦i≦n)を検索する。
次いでCPU206はディスクリプタブロック901−iの内部データ902のAddress(空きのバッファ903−iのアドレス)をCPU105に通知する。CPU105は、受信したAddressに基づいてバッファ903−iのRAM103b内における位置を特定し、上述の生成されたパケットをバッファ903−iにコピーする。コピー完了後、CPU105はコピーしたパケットのLength(データ長)とFlag(=ON(データ有り))をCPU206に通知する。
CPU206は受信したLengthとFlagとをディスクリプタブロック901−iの内部データ902にセットし、LANコントローラ203に対して送信を指示する。
LANコントローラ203は、送信指示を受けるとディスクリプタブロック901−0〜901−nの各内部データ902のFlagを参照して、送信パケットがある(Flag=ON(データ有り))ことを示すディスクリプタブロック901−i(0≦i≦n)を検索する。次いでLANコントローラ203はディスクリプタブロック901−iの内部データ902のAddress、Lengthに基づいて、バッファ903−iのRAM103b内における位置を特定し、バッファ903−iにコピーされているデータ長Lengthのパケットを読み出し、そのパケットを電気信号に変換してネットワーク600上に送信する。送信完了後、LANコントローラ203はディスクリプタブロック901−iの内部データ902のFlagをクリアして処理を終了する。
LANコントローラ203は、ネットワーク600上の信号をコントロールし、RAM上に保持されたデータをネットワーク600上に信号として送信し、ネットワーク600上を流れている信号から自分自身宛のパケットを取り出す処理を行なう。LANコントローラ203は、入出力処理装置200内にあるスリープ動作用のバッファとデータ処理装置100内にある通常動作用のバッファの、2つのバッファを切り替えられるネットワークアダプタ(ネットワークコントローラ)である。データ処理装置100内にある通常動作用のバッファにデータを格納する場合は、LANコントローラ203はDMA転送を行う。このため、CPU105に負荷をかけることなく、LANコントローラ203からデータ処理装置100内にあるバッファへの転送が実現できる。
ここで、生成されたパケットをバッファに格納する際には、まずLANコントローラ203は受信バッファ用のディスクリプタブロック1001−0〜1001−nの各内部データ1002のFlag(Flag=OFF(空き)/ON(データ有り))を参照して、空きを示すディスクリプタブロック1001−i(0≦i≦n)を検索する。
次にLANコントローラ203は、ネットワーク装置1000の現在の動作モードが通常動作かスリープ動作なのかを示すLANコントローラ203内の動作モードフラグ(不図示)を参照し、使用中のバッファを判定する。
通常動作であればノーマルバッファを使用中なので、LANコントローラ203は、ディスクリプタブロック1001−iの内部データ1002のAddress1(空きのノーマルバッファ1003−iのアドレス)に基づいてノーマルバッファ1003−iのRAM103b内における位置を特定し、上述の生成されたパケットをノーマルバッファ1003−iにコピーする。ここで、受信したパケットをデータ処理装置100内にあるノーマルバッファ1003−iに格納する場合は、LANコントローラ203が該ノーマルバッファにDMA転送を行う。このため、CPU105に負荷をかけることなく、LANコントローラ203からデータ処理装置100内にあるバッファへの転送が実現できる。
スリープ動作であればスリープバッファを使用中なので、LANコントローラ203は、ディスクリプタブロック1001−iの内部データ1002のAddress2(空きのスリープバッファ1004−iのアドレス)に基づいてスリープバッファ1004−iのRAM202b内における位置を特定し、上述の生成されたパケットをスリープバッファ1004−iにコピーする。また、受信したパケットを入出力処理装置200内にあるスリープバッファ1004−0〜1004−nに格納する場合は、CPU206がLANコントローラによって受信されたデータを当該スリープバッファに格納する。
コピー完了後、LANコントローラ203はコピーしたパケットのLength(データ長)とFlag(=ON(データ有り))とをディスクリプタブロック1001−iの内部データ1002にセットし、ネットワークドライバ201の処理を行うCPU206に受信完了を通知する。
次いで、ネットワークドライバ201の処理を行うCPU206は、LANコントローラ203に依頼して上述のLANコントローラ203内の動作モードフラグを参照し、ネットワーク装置1000の現在の動作モードが通常動作かスリープ動作なのかを判別する。
通常動作の場合ネットワークドライバ201の処理を行うCPU206は、ネットワークドライバ102の処理を行うCPU105に受信完了を通知する。次いでCPU105は、ノーマルバッファ1003−0〜1003−n内にパケットがあるか判断し、パケットがあるノーマルバッファの情報を取得してそれらを処理する。
スリープ動作の場合ネットワークドライバ201の処理を行うCPU206は、受信しスリープバッファ1004−iに格納したパケットが動作モードを通常動作に戻す特定のパケットであるかを判別し、特定のパケットだった場合には電源コントローラ205に動作モードを通常動作に戻すよう通知する。通常動作に戻す通知を受けた電源コントローラ205は、スリープ動作で止めていたデータ処理装置100、バス500への電力供給を再開する。次いでCPU105は、CPU206にスリープバッファ1004−0〜1004−n内にパケットがあるか判断を依頼し、パケットがあるスリープバッファの情報をCPU206から取得してそれらを処理する。
一方、受信しスリープバッファ1004−iに格納したパケットが動作モードを通常動作に戻す特定のパケットでないと判断した場合、例えば、ネットワーク装置1000がスリープ動作中かどうかを確認する内容のパケットの場合、CPU206は、ネットワーク装置1000がスリープ状態かどうかを示すパケットをLANコントローラ203より送出する。
以下では、ネットワーク装置1000がスリープ動作に移行して、受信バッファをノーマルバッファ1003−0〜1003−nとスリープバッファ1004−0〜1004−nとの間で切り替える処理について、説明する。
図4、6を参照し、まず、データ処理装置100の処理の流れについて説明する。図4はデータ処理装置100の状態遷移図であり、図6はデータ処理装置100の動作モード移行の処理を説明するフローチャートである。
初めにデータ処理装置100のCPU105は、通常の動作をしている状態では,ネットワークドライバ102の処理に従い、通常動作モード1103で動作している(この場合、CPU105は、ノーマルバッファ1003−0〜1003−n内にパケットがあるか判断し、パケットがあるノーマルバッファの情報を取得してそれらを処理する)。ここでCPU105は、ネットワーク装置1000のアプリケーション等によってスリープモードへの移行が指示されたことを検知すると、図6に示すネットワークドライバ102の処理フローを開始する。CPU105は、ネットワークドライバ201の処理を行うCPU206に対し、ノーマルバッファからスリープバッファへのバッファ切替依頼を送信し(ステップ1401)、残処理モード1101に移行する(ステップ1402)。
CPU105は、ネットワークドライバ201の処理を行うCPU206からバッファ切替結果を受信し(ステップ1403)、その結果を判断する(ステップ1404)。具体的には、LANコントローラ203にLAN600に送信するパケットがあるか、またはLAN600から受信したパケットがあるかどうか等をCPU206が判断している。LANコントローラ203に送受信するパケットがある場合は、当該パケットが、スリープ状態では当該パケットに関連した処理をすることが不可能かどうかを判断する(例えば印刷データのパケット、後述のスリープ中止を示すパケット等を判断する)。スリープ状態で処理することが不可能なパケットである場合(例えば印刷データのパケット、後述のスリープ中止を示すパケット等の場合)は、切替不可と判断し、CPU105に切替不可を通知する。切替不可であれば(ステップ1404→1417)CPU105はスリープ中止処理を行ない(ステップ1417)、通常動作モード1103に移行して元の動作に戻る(ステップ1418)。一方、LANコントローラ203に送受信するパケットがない場合や、スリープ状態で当該パケットに関連した処理をすることが可能であれば、(例えば、ネットワーク装置1000がスリープ状態かどうかを問合せるパケット、そのパケットに応答して当該装置がスリープ状態であることを通知するパケット)CPU206は切替可能と判断し、CPU105に切替可能を通知する。切替可能であれば(ステップ1404→1405)CPU105はスリープ準備中モード1102に移行し(ステップ1405)、データ処理装置100内の他のモジュールのスリープ処理が完了するのを待つ(ステップ1406)。CPU105が、このように制御することで、通常動作からスリープ動作に移行する際に、パケットの取りこぼしを確実に防止できる。
データ処理装置100内の他のモジュールすべてのスリープ処理が完了すると、CPU105はスリープ準備完了モード1105に移行し(ステップ1407)、スリープ準備完了通知をネットワークドライバ201の処理を行うCPU206に送信する(ステップ1408)。CPU105は、そのまま電源OFFかスリープ中止の通知が来るのを待つ(ステップ1409のループ処理)。
通常はここでCPU206から指示を受けた電源コントローラ205は、データ処理装置100に電源を供給しなくなるので、CPU105はステップ1409→エンドと処理を進め、データ処理装置100の処理を終了する(不図示)。即ち、データ処理装置100が電源OFFされネットワーク装置1000はスリープ動作に入る。
一方、後述のステップ1607によりネットワークドライバ201の処理を行うCPU206からスリープ中止通知が来た場合(例えば、LANコントローラ203が、スリープ状態では受信したパケットに関連した処理をすることが不可能である場合)(ステップ1409→1410)、CPU105は復帰待ちモード1107に移行し、CPU206からの切替完了通知を待つ(ステップ1411)。CPU105は切替完了通知を受信すると復帰中モード1106に移行する(ステップ1412)。
次いでCPU105は、CPU206にスリープバッファ1004−0〜1004−n内にパケットがあるか判断を依頼し、パケットがあるスリープバッファの情報をCPU206から取得してそれらを処理する(ステップ1413、1414)。CPU105はスリープバッファの残パケットの処理が完了すると、復帰完了通知をネットワークドライバ201の処理を行うCPU206に送信し(ステップ1415)、通常動作モード1103に移行して元の動作に戻る(ステップ1416)。CPU105が、このように制御することで、スリープ動作から通常動作に移行する際に、パケットの取りこぼしを確実に防止できる。
一方、図4を参照すると、ネットワーク装置1000がスリープ動作にある場合に、電源コントローラ205によりデータ処理装置100に電源が供給されると、CPU105は電源ONを検知して起動モード1104に移行し、データ処理装置100内の初期化処理を行う。次いでCPU105は、CPU206にスリープバッファ1004−0〜1004−n内にパケットがあるか判断を依頼し、パケットがある場合、CPU105は復帰中モード1106に移行する。CPU105が、このように制御することで、スリープ動作から通常動作に移行する際に、パケットの取りこぼしを確実に防止できる。スリープバッファ1004−0〜1004−n内にパケットが無い場合、CPU105は通常動作モード1103に移行して元の動作に戻る。
図5、7及び8を参照し、次に入出力処理装置200の処理の流れについて説明する。図5は入出力処理装置200の状態遷移図であり、図7、8は入出力処理装置200の動作モード移行の処理を説明するフローチャートである。
入出力処理装置200のネットワークドライバ201の処理を行うCPU206の処理は、図7に示すLANコントローラ203からの割り込みをきっかけに動く処理と、図8に示すデータ処理装置100のネットワークドライバ102の処理を行うCPU105からの通知の受信をきっかけに動く処理とに、大きく分かれている。
CPU206の動作のきっかけは、前述したデータ処理装置100の処理のステップ1401において送信されるバッファ切替依頼の受信である。この時点でCPU206の動作モードはデータ処理装置100と同じく通常動作モード1203である。
CPU206はまずステップ1601においてメッセージを受信し、メッセージがバッファ切替依頼であると判断する(ステップ1602)。この場合CPU206は、ステップ1603において、LANコントローラ203に受信バッファとしてスリープバッファを使用中とする設定変更を指示し、指示を受けたLANコントローラ203は上述のLANコントローラ203内の動作モードフラグをスリープ動作に設定し、スリープバッファを受信バッファとする設定に切り替える。
LANコントローラ203内の使用中受信バッファの設定切替が完了すると、LANコントローラ203からネットワークドライバ201の処理を行うCPU206に対してバッファ切替割り込みが送信され、CPU206はステップ1501の割り込み処理に移る。CPU206は最初は通常動作モードで動作しているので(ステップ1502→1503)、残処理モード1201に移行する(ステップ1503)。CPU206が、このように制御することで、通常動作からスリープ動作に移行する際に、パケットの取りこぼしを確実に防止できる。
次いでCPU206は、CPU105にノーマルバッファ1003−0〜1003−n内に自機(ネットワーク装置1000)宛の受信パケットがあるか等の判断を依頼し、自機宛の受信パケットの有無情報をCPU105から取得して判定する(ステップ1504→1505)。もし自機宛パケットがノーマルバッファ内に存在した場合には、CPU206はスリープ処理を中止するために切替不可通知をCPU105へ送信し(ステップ1509)、通常動作モード1203に移行して割り込み処理を終了する(ステップ1510)。一方自機宛パケットがノーマルバッファ内に存在しなかった場合(ステップ1505→1506→1507)には、CPU206はスリープ準備中モード1202に移行し(ステップ1507)、切替完了通知をCPU105へ送信する(ステップ1508)。CPU206が、このように制御することで、通常動作からスリープ動作に移行する際に、パケットの取りこぼしを確実に防止できる。
ステップ1505において、特定のパケットは、スリープ状態では当該特定パケットに関連した処理することが不可能なパケット(例えば印刷データのパケット、後述のスリープ中止を示すパケット等の場合)を意味する。スリープ状態で処理することが不可能なパケットである場合は、切替不可と判断し、ステップ1509に移行する。一方、スリープ状態で当該特定パケットに関連した処理をすることが可能なパケット(例えば、ネットワーク装置1000がスリープ状態かどうかを問合せる受信パケット、そのパケットに応答して当該装置がスリープ状態であることを通知する送信パケット)である場合は、ステップ1601に移行する。これによって、スリープ状態で当該特定パケットに関連した処理をすることが不可能なパケットを受信した時のみ、スリープ状態から通常動作に移行するのでネットワーク装置1000の消費電力は最小限に抑制される。
続いてCPU206は、ネットワークドライバ102の処理を行うCPU105から送信されるスリープ準備完了通知を受信し(ステップ1601→1602→1604)、スリープ準備完了モード1205に移行する(ステップ1605)。そしてCPU206は、ディスクリプタブロック1001−0〜1001−nの各内部データ1002のFlag(Flag=OFF(空き)/ON(データ有り))を参照して、スリープバッファに切り替わってから自機(入出力処理装置200)宛パケットを受信したかを判別する(ステップ1606)。
スリープバッファに自機宛の特定のパケット(例えば、スリープ状態では当該パケットに関連した処理をすることが不可能かどうかを判断するパケット)がなかった場合には(1606→1610)、CPU206は電源コントローラ205に対して電源制御を依頼してデータ処理装置100、バス500への電力供給を止める(ステップ1610)。そしてCPU206は、スリープモード1204に移行して、通知受信処理を終了する(ステップ1611)。
一方、スリープバッファに自機宛の特定のパケット(例えば、スリープ状態では当該パケットに関連した処理をすることが不可能かどうかを判断するパケット)があった場合には(1606→1607)、CPU206はスリープ中止通知をネットワークドライバ102の処理を行うCPU105に送信する(ステップ1607)。そしてCPU206は、復帰待ちモード1207に移行した後(ステップ1608)、LANコントローラ203に受信バッファとしてノーマルバッファを使用中とする設定変更を指示し、指示を受けたLANコントローラ203は上述のLANコントローラ203内の動作モードフラグを通常動作に設定し、ノーマルバッファを受信バッファとする元の設定に切り替えて、通知受信処理を終了する(ステップ1609)。バッファの切り替えにおいて、CPU105は、ステップ1413に示すスリープバッファパケット処理を実行する。CPU105が、このように制御することで、スリープ動作から通常動作に移行する際に、パケットの取りこぼしを確実に防止できる。
また、ここでは、自機宛の特定のパケットかどうかを判断する例について述べたが、これに限らない。即ち、単に自機宛のパケットがあるかどうかを判断、自記宛のパケットがある場合にはステップ1607に移行し、ない場合にはステップ1610に移行するようにしてもよい。これによって、入出力装置200の構成が簡単化できる。
バッファを元に戻すLANコントローラ203内の使用中受信バッファの設定切替が完了すると、LANコントローラ203からネットワークドライバ201の処理を行うCPU206に対してバッファ切替割り込みが送信される。CPU206はそのバッファ切替割り込みを受信すると(ステップ1501)、復帰待ちモード1207から復帰中モード1206に移行した上で(ステップ1511)、切替完了通知をCPU105へ送信する(ステップ1512)。
その後復帰完了通知がネットワークドライバ102の処理を行うCPU105から送信されるので、CPU206はその復帰完了通知を受信し(ステップ1601→1602→1604→1612)、通常動作モード1203に移行して通常の動作に戻る(ステップ1613)。
一方、図5を参照すると、ネットワーク装置1000がスリープ動作にある場合に、即ちCPU206がスリープモード1204にある場合に、「内部のタイマーの起動イベント、ユーザによる特定のスイッチの押下によるイベント、特定のパケットの着信、FAXの着呼等スリープ状態では当該特定パケットに関連した処理することが不可能なパケット」(以下、特定のパケット等、と呼ぶ)を、LANコントローラ203が検知すると、LANコントローラ203は特定のパケット等を検知した旨をCPU206に通知する。CPU206は、特定のパケット等を検知した通知を受けると、電源コントローラ205に動作モードを通常動作に戻すよう通知する。通常動作に戻す通知を受けた電源コントローラ205は、スリープ動作で止めていたデータ処理装置100、バス500への電力供給を再開する。
ここで特定のパケット等が自機宛パケットであった場合には、CPU206は、LANコントローラ203に受信バッファとしてノーマルバッファを使用中とする設定変更を指示し、指示を受けたLANコントローラ203は、上述のLANコントローラ203内の動作モードフラグを通常動作に設定し、ノーマルバッファを受信バッファとする元の設定に切り替える。そしてCPU206は、復帰中モード1206に移行する。特定のパケット等が自機宛パケット以外のイベントであった場合には、CPU206は、通常動作モード1203に移行して通常の動作に戻る。
他の実施形態
以上述べた実施形態の他に次の形態を実施できる。
1)前述した実施形態の機能を実現するように各種のデバイスを動作させるように、それら各種デバイスと接続された装置あるいはシステム内のコンピュータに、上記記実施形態機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)を格納されたプログラムに従って、上記各種デバイスを動作させることによって実施したものも本発明の範疇に含まれる。
2)またこの場合、上記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば係るプログラムコードを格納した記録媒体は本発明を構成する。
3)係るプログラムコードを格納する記録媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD(compact disc [disk])−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
4)またコンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけではなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にも、係るプログラムコードは本発明の実施形態に含まれることは言うまでもない。
5)さらに供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も本発明に含まれることは言うまでもない。
6)上述の実施形態は本発明の例示のために説明したが、上述の実施形態の他にも変形が可能である。その変形が特許請求の範囲で述べられている本発明の技術思想に基づく限り、その変形は本発明の技術的範囲内となる。
実施形態の効果
以上説明したように本発明を適用できる実施形態によれば、ネットワーク装置は、通信ネットワークと接続され、その通信ネットワークからの受信データの入力を受け付ける第1の動作(通常動作)と第2の動作(スリープ動作)とを切り替えることができるネットワーク装置であって、上記第1の動作において動作するデータ処理部(100)であって、入力された上記受信データを格納するための第1の記憶手段(1003−0〜1003−n)と、上記データ処理部を制御し、上記受信データを変換処理するための第1の制御手段(105、101、102)とを有するデータ処理部と、上記第1の動作及び上記第2の動作の両方において動作するデータ入力処理部(200)であって、入力された上記受信データを格納するための第2の記憶手段(1004−0〜1004−n)と、上記データ入力処理手段を制御するための第2の制御手段(206、201)と、上記通信ネットワークから上記受信データを受信し、その受信した受信データを、上記第1の動作においては上記第1の記憶手段に格納し、上記第1の動作における上記第2の動作への移行の際又は上記第2の動作においては上記第2の記憶手段に格納する通信手段(203)とを有するデータ入力処理部とを備え、上記第2の動作への移行の際に、上記第1の記憶手段又は上記第2の記憶手段に上記受信データが格納されている場合には、上記第1の制御手段及び上記第2の制御手段共に上記第2の動作への移行を中止し(残処理モード1101→通常動作モード1103、残処理モード1201→通常動作モード1203、スリープ準備完了モード1105→復帰待ちモード1107、スリープ準備完了モード1205→復帰待ちモード1207)、上記第1の制御手段は上記第1の記憶手段又は上記第2の記憶手段に格納されている上記受信データの変換処理を行う(ステップ1418、ステップ1413と1414のループ処理)ことを特徴とする。
また、ネットワーク装置の制御方法は、通信ネットワークと接続され、その通信ネットワークからの受信データの入力を受け付ける第1の動作と第2の動作とを切り替えることができるネットワーク装置の制御方法であって、上記ネットワーク装置は、上記第1の動作において動作するデータ処理部であって、入力された上記受信データを格納するための第1の記憶手段と、上記データ処理手段を制御し、上記受信データを変換処理するための第1の制御手段とを有するデータ処理部と、上記第1の動作及び上記第2の動作の両方において動作するデータ入力処理部であって、入力された上記受信データを格納するための第2の記憶手段と、上記データ入力処理部を制御するための第2の制御手段と、上記通信ネットワークから上記受信データを受信し、その受信した受信データを、上記第1の動作においては上記第1の記憶手段に格納し、上記第1の動作における上記第2の動作への移行の際又は上記第2の動作においては上記第2の記憶手段に格納する通信手段とを有するデータ入力処理部とを含み、上記制御方法は、上記第1の制御手段が、上記第1の動作における上記第2の動作への移行の指示を検知し、上記第2の動作への移行を開始し、上記第2の制御手段に上記第2の動作への移行の指示を送信する第1の移行開始ステップと(ステップ1401、1402)、上記第2の制御手段が、上記指示ステップにおける上記指示を受信し、上記第2の動作への移行を開始する第2の移行開始ステップと(ステップ1601→1603)、上記第2の制御手段が、上記第2の動作への移行の際に、上記第1の記憶手段又は上記第2の記憶手段に上記受信データが格納されているか否かを判定する判定ステップと(ステップ1504→1506、ステップ1606)、上記第2の制御手段が、上記判定ステップにおいて、上記第1の記憶手段又は上記第2の記憶手段に上記受信データが格納されていると判定した場合に、上記第1の制御手段に上記第2の動作への移行中止を通知する通知ステップと(ステップ1509、1607→1608)、上記第2の制御手段が、上記判定ステップにおいて、上記第1の記憶手段又は上記第2の記憶手段に上記受信データが格納されていると判定した場合に、上記第2の動作への移行を中止する第1の中止ステップと(ステップ1510、1511)、上記第1の制御手段が、上記通知ステップにおいて通知された上記第2の動作への移行中止を受信する受信ステップと(ステップ1404→1417、ステップ1409→1410)、上記第1の制御手段が、上記受信ステップにおいて上記通知を受信した場合に、上記第2の動作への移行を中止する第2の中止ステップと(ステップ1417、1412)、上記第1の制御手段が、上記第2の中止ステップにおける上記第2の動作への移行中止に応じて、上記第1の記憶手段に格納されている上記受信データの変換処理を行い、又は上記第2の記憶手段に格納されている上記受信データの変換処理を行う格納データ処理ステップ(ステップ1418、ステップ1413→1414)とを備えることを特徴とする。
また、プログラムは、上記ネットワーク装置の制御方法の各ステップをコンピュータに実行させることを特徴とする。
また、記録媒体は、上記ネットワーク装置の制御方法の各ステップをコンピュータに実行させるプログラムを記録したことを特徴とする。
以上の構成により、スリープ動作と通常動作の2つのバッファを切り替えられるネットワークコントローラを使用したネットワーク装置で、スリープ動作に入る際にパケットの取りこぼしをおこさない処理手順を使用して、通常動作中では高速なパケット処理が行なえ、スリープ動作中でもデータ受信に備えられ、かつ両動作を切り替え中でもパケットの取りこぼしをおこさないシステムを提供する。
本発明を適用できる実施形態のネットワークシステムの構成図である。 本発明を適用できる実施形態の送信バッファの説明図である。 本発明を適用できる実施形態の受信バッファの説明図である。 本発明を適用できる実施形態のデータ処理装置の状態遷移図である。 本発明を適用できる実施形態の入出力処理装置の状態遷移図である。 本発明を適用できる実施形態の、データ処理装置の動作モード移行の処理を説明するフローチャートである。 本発明を適用できる実施形態の、入出力処理装置の動作モード移行の処理を説明するフローチャートである。 本発明を適用できる実施形態の、入出力処理装置の動作モード移行の処理を説明するフローチャートである。
符号の説明
1000 ネットワーク装置
100 データ処理装置
101 プロトコル処理プログラム
102 ネットワークドライバ
103a、202a ROM
103b、202b RAM
104 バスコントローラ
105、206 CPU
200 入出力処理装置
201 ネットワークドライバ
203 LANコントローラ
204 バスコントローラ
205 電源コントローラ
500 バス
600 ネットワーク
1001−0〜1001−n 受信バッファ用のディスクリプタブロック
1002内部データ
1003−0〜1003−n 受信用のノーマルバッファ
1004−0〜1004−n 受信用のスリープバッファ

Claims (5)

  1. 通信ネットワークと接続され、第1の動作モードと第2の動作モードとを切り替えることができるネットワーク装置であって、
    前記通信ネットワークを介したデータの入出力処理を実行するデータ入出力手段と、
    前記データ入出力手段を介して入出力されるデータの処理を実行するデータ処理手段と、
    前記通信ネットワークから入力されたデータを格納するための第1の記憶手段と、
    前記第1の動作モードでは前記データ入出力手段、前記データ処理手段及び前記第1の記憶手段に電力を供給し、前記第2の動作モードでは前記データ入出力手段に電力を供給する一方で前記データ処理手段及び前記第1の記憶手段への電力供給を止めるよう制御する電力制御手段と、
    前記ネットワーク装置が前記第2の動作モードでは処理できない特定データが前記第1の記憶手段に格納されている場合には、前記第1の動作モードから前記第2の動作モードへの切り替えを不可とし、前記特定データが前記第1の記憶手段に格納されてない場合には、前記ネットワーク装置が前記第2の動作モードで処理できる他のデータが前記第1の記憶手段に格納されている場合であっても、前記第1の動作モードから前記第2の動作モードへの切り替えを可能とするよう制御する動作モード制御手段とを有することを特徴とするネットワーク装置。
  2. 前記第2の動作モードにて前記データ入出力手段が前記通信ネットワークから受信したデータを記憶する第2の記憶手段を有し、
    前記電力制御手段は、前記第1の動作モード及び前記第2の動作モードで前記第2の記憶手段に電力を供給するよう制御し、
    前記動作モード制御手段は、前記特定データが前記第1の記憶手段又は前記第2の記憶手段に格納されている場合には、前記第1の動作モードから前記第2の動作モードへの切り替えを不可とし、前記特定データが前記第1の記憶手段及び前記第2の記憶手段のいずれにも格納されていない場合には、前記第1の動作モードから前記第2の動作モードへの切り替えを可能とするよう制御することを特徴とする請求項1に記載のネットワーク装置。
  3. 前記データ入出力手段は、前記通信ネットワークから入力されたデータを、前記第1の動作モードにおいては前記第1の記憶手段に格納し、前記第2の動作モードにおいては前記第2の記憶手段に格納する通信部を有することを特徴とする請求項2に記載のネットワーク装置。
  4. 前記動作モード制御手段は、前記データ処理手段を制御するための第1の制御部と、前記データ入出力手段を制御するための第2の制御部とを含み、
    前記第1の制御部は、前記第1の動作モードから前記第2の動作モードへ移行すべき旨の指示を検知した場合に、前記第1の動作モードから前記第2の動作モードへの切り替えが可能か否かを前記第2の制御部へ問い合わせ、
    前記第2の制御部は、前記第1の制御部から前記問い合わせを受信した場合に、前記特定データが前記第1の記憶手段に格納されているか否かを判定し、
    前記電力制御手段は、前記特定データが前記第1の記憶手段に格納されていないと前記第2の制御部が判定した場合は前記データ処理手段及び前記第1の記憶手段への電力供給を止め、前記特定データが前記第1の記憶手段に格納されていると前記第2の制御部が判定した場合は前記データ処理手段及び前記第1の記憶手段への電力供給を止めないよう制御することを特徴とする請求項1乃至3のいずれか1項に記載のネットワーク装置。
  5. 通信ネットワークと接続され、第1の動作モードと第2の動作モードとを切り替えることができるネットワーク装置の制御方法であって、
    前記ネットワーク装置は、前記通信ネットワークを介したデータの入出力処理を実行するデータ入出力手段と、前記データ入出力手段を介して入出力されるデータの処理を実行するデータ処理手段と、前記通信ネットワークから入力されたデータを格納するための記憶手段と、前記第1の動作モードでは前記データ入出力手段、前記データ処理手段及び前記記憶手段に電力を供給し、前記第2の動作モードでは前記データ入出力手段に電力を供給する一方で前記データ処理手段及び前記記憶手段への電力供給を止めるよう制御する電力制御手段とを有し、
    前記制御方法は、
    前記ネットワーク装置が、前記第2の動作モードにおいて前記ネットワーク装置にて処理できない特定データが前記記憶手段に格納されているか否かを判定する判定ステップと、
    前記ネットワーク装置が、前記特定データが前記記憶手段に格納されていると前記判定ステップにて判定された場合に、前記第1の動作モードから前記第2の動作モードへの切り替えを不可とするよう制御する第1の制御ステップと、
    前記ネットワーク装置が、前記特定データが前記記憶手段に格納されていないと前記判定ステップにて判定された場合に、前記ネットワーク装置が前記第2の動作モードで処理できる他のデータが前記記憶手段に格納されている場合であっても、前記第1の動作モードから前記第2の動作モードへの切り替えを可能とするよう制御する第2の制御ステップとを備えることを特徴とするネットワーク装置の制御方法。
JP2005071072A 2004-03-15 2005-03-14 ネットワーク装置及びその制御方法 Active JP4708818B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005071072A JP4708818B2 (ja) 2004-03-15 2005-03-14 ネットワーク装置及びその制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004072702 2004-03-15
JP2004072702 2004-03-15
JP2005071072A JP4708818B2 (ja) 2004-03-15 2005-03-14 ネットワーク装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2005302002A JP2005302002A (ja) 2005-10-27
JP4708818B2 true JP4708818B2 (ja) 2011-06-22

Family

ID=35333379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005071072A Active JP4708818B2 (ja) 2004-03-15 2005-03-14 ネットワーク装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP4708818B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5369567B2 (ja) * 2007-11-01 2013-12-18 株式会社リコー 情報処理装置、パケット処理方法およびプログラム
JP5780768B2 (ja) * 2011-01-26 2015-09-16 キヤノン株式会社 情報処理装置、その制御方法、およびプログラム
JP5422687B2 (ja) 2012-02-20 2014-02-19 京セラドキュメントソリューションズ株式会社 通信処理装置および画像形成装置
JP2014029634A (ja) 2012-07-31 2014-02-13 International Business Maschines Corporation パケットバッファリングシステムおよび方法

Also Published As

Publication number Publication date
JP2005302002A (ja) 2005-10-27

Similar Documents

Publication Publication Date Title
US8352664B2 (en) Information processing apparatus including first and second data processors having plural power consumption modes and associated methodology
US8078892B2 (en) Information-processing apparatus, packet processing method, and computer program product for communicating with an external network device and switching between a normal power mode and a power saving mode
US7376853B2 (en) Network apparatus, method for controlling the same, and program for the same
JP5369567B2 (ja) 情報処理装置、パケット処理方法およびプログラム
US20020144023A1 (en) Printing system with enhanced efficiency in power-saving, printer, substitute server, and method and program used by the substitute server
EP1622324A1 (en) Fault tolerant data transfer in multi-node system via internodal crossbar switch
JP6210753B2 (ja) 情報処理装置
JP2000122817A (ja) ネットワークプリンタ
JP4708818B2 (ja) ネットワーク装置及びその制御方法
JP5545853B2 (ja) 通信装置
JP3793123B2 (ja) ネットワークインタフェース装置および電力制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP5822470B2 (ja) 情報処理装置、その制御方法、および記憶媒体
JP2000227841A (ja) プリンタの制御装置およびタスク制御方法並びにプログラムを記録した記録媒体
JP2005018394A (ja) 印刷データ処理装置およびデータ処理装置
JP4032221B2 (ja) 出力端末機器及びその制御装置並びにその制御をコンピュータに行わせるためのプログラム及び記録媒体
JP4474873B2 (ja) 画像処理装置
JP3189269B2 (ja) ネットワークプリンタ
JP3846089B2 (ja) インターフェース装置、その制御方法および情報記録媒体
JP2017149119A (ja) 情報処理装置及び情報処理装置の制御方法
JP6397545B2 (ja) 情報処理装置
JP3598924B2 (ja) データ転送制御装置、情報記憶媒体及び電子機器
JP5699683B2 (ja) 印刷データ受信装置および印刷データ受信装置制御方法
JP3593882B2 (ja) 印刷装置及びインターフェース制御方法
JP2002127508A (ja) 印刷装置
JP6399169B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081024

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20081127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090108

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090403

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100617

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

R150 Certificate of patent or registration of utility model

Ref document number: 4708818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150