JP2013069063A - 通信ユニット及び情報処理方法 - Google Patents
通信ユニット及び情報処理方法 Download PDFInfo
- Publication number
- JP2013069063A JP2013069063A JP2011206253A JP2011206253A JP2013069063A JP 2013069063 A JP2013069063 A JP 2013069063A JP 2011206253 A JP2011206253 A JP 2011206253A JP 2011206253 A JP2011206253 A JP 2011206253A JP 2013069063 A JP2013069063 A JP 2013069063A
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- communication
- dma buffer
- packet
- information
- 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.)
- Pending
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
【解決手段】それぞれメモリ2を備えた複数のCPU1を備えた情報処理装置に実装されたNIC3が、次の構成を備える。すなわち、NIC3は、通信に関する識別情報と、複数のCPU1のうち当該通信についてのデータ処理を行うCPU1が用いるメモリ2との対応関係を記憶する振り分けテーブル8を備える。そして、NIC3は、受信したデータから当該データの通信に関する識別情報を取得し、振り分けテーブル8に記憶された対応関係に基づいて、複数のメモリ2のうち、取得した識別情報に対応するCPU1が備えるメモリ2を特定し、特定したメモリ2に対して、受信したデータの転送を行う。
【選択図】 図2
Description
スする回数を低減させ、情報処理装置全体としての処理効率を向上させることができる。
本明細書で説明する技術は、それぞれ記憶手段を備えた複数のプロセッサを備えた情報処理装置において、各プロセッサが自身に対応付けられた記憶手段にアクセスするアーキテクチャ(NUMAモデル)におけるデータ処理に関するものである。具体的には、情報処理装置が備える通信ユニットがデータを受信したときに、データ通信における識別情報に応じて、受信データを、当該受信データの処理を行うプロセッサに対応付けられた記憶手段に転送するようにする。こうすることにより、各プロセッサがリモートメモリにアクセスする回数を低減させ、情報処理装置全体としての処理効率を向上させることができる。
かかる情報処理装置の例では、CPU91a及びCPU91bが、バスを介してノースブリッジ913に接続されている。CPU91aにはメモリ92aが対応付けられ、CPU91bにはメモリ92bが対応付けられている。さらに、サウスブリッジ914に、バスを介してNIC93a及びNIC93bが接続されている。NIC93a及びNIC93bはそれぞれ、LAN(Local Area Network)を介して外部の情報処理装置等(図示省略)と接続されており、TCPパケットやUDPパケットのデータを受信する。また、O
S(Operating System)921上では、アプリケーション931a及びアプリケーション931bが動作している。ここでは、CPU91aがアプリケーション931aを処理し、CPU91bがアプリケーション931bを処理しているものとする。なお、本明細書の説明において、例えば、単にCPU91と表記した場合には、CPU91a及びCPU91bの少なくともいずれか一方を示すものとする。以下の説明において、他の構成要素についても全て同様である。
説明する。
図2は、本実施形態に係る情報処理装置のハードウェア構成図である。
本実施形態に係る情報処理装置は、プロセッサの一例であるCPU1a及びCPU1bが、バスを介してノースブリッジ13に接続されている。CPU1aはメモリ2aを備え、CPU1bはメモリ2bを備えている。本実施形態においては、より具体的には、CPU1aにはメモリ2aが対応付けられ、CPU1bにはメモリ2bが対応付けられている。さらに、サウスブリッジ14に、バスを介し、通信ユニットの一例であるNIC3a及びNIC3bが接続されている。NIC3a及びNIC3bはそれぞれ、通信ネットワーク(例えばLAN等である)を介して外部の情報処理装置等と接続されており、外部の情報処理装置等からデータ(例えば、TCPパケットやUDPパケットであり、以下、パケット通信を行うものとして説明をする)を受信する。CPU1a及びCPU1bは、本実施例ではいずれもクアッドコアであるものとするが、これに限るものではない。また、メモリ2a及びメモリ2bは、例えばRAM(Random Access Memory)等である。
送受信バッファ7aは、NIC3aにおいて送受信するパケットを格納するバッファである。
また、NIC3aは、処理を実行する制御部(図の破線で囲われた部分)としてそれぞれ機能する、振り分けテーブル設定処理部10a、振り分け処理部11a及びDMAコントローラ12aを備える。
ーブル8aの振り分け情報を参照して、当該パケットを転送するDMAバッファ4を特定する。
NIC3bも同様に、送受信バッファ7b、振り分けテーブル8b及びDMAバッファ管理テーブル9b、並びに、振り分けテーブル設定処理部10b、振り分け処理部11b及びDMAコントローラ12bを備える。
図3は、本実施形態に係る情報処理装置で実現されるソフトウェア構成図である。この図3は、図2に示したCPU1a又はCPU1bのいずれかにおいて実行されるソフトウェアの処理の機能をブロック図として示している。
スケジューリング処理部23は、アプリケーション31の処理を行うCPU1の割り当てを移動させる。例えば、スケジューリング処理部23は、CPU1の割当てを、負荷の高いCPU1からより負荷の低い他のCPU1に移動させる。
次に、前述した本情報処理装置のNIC3及びメモリ2において設定される各種データの構造例等について説明する。
図4は、NIC3が備える振り分けテーブル8の構造例を示す。振り分けテーブル8は、受信したパケットをどのDMAバッファ4に転送するべきかを、通信における識別情報
毎に特定するのに用いられる振り分け情報が設定されるテーブルであり、識別情報、DMAバッファ番号及び時刻情報のカラムを有する。本実施形態において、識別情報は、前述したように、具体的には、ポート番号及びプロトコル種別のカラムを有する。
DMAバッファ4は、メモリ2毎に備えられており、さらに、NIC3毎にその領域が分けられている。メモリ2aの例を用いて説明すると、メモリ2aに包含されているDMAバッファ4aは、先頭アドレス[adr11]から領域サイズ[s11]の範囲の領域がNIC3a用の領域であり、先頭アドレス[adr21]から領域サイズ[s21]の範囲の領域がNIC3b用の領域である。メモリ2bのDMAバッファ4bも同様である。
本情報処理装置では、CPU1とこれに対応付けられたメモリ2の対を1つのノードとして取り扱う。例えば、CPU1a及びメモリ2aの対がノード番号1のノードであり、CPU1b及びメモリ2bの対がノード番号2のノードである。
どのDMAバッファ4がどのノードに属するかを特定する(最終的にはDMAバッファ番号を特定する)ために用いられるテーブルである。ノード管理テーブル6は、ノード番号、メモリの先頭アドレス及びメモリの領域サイズのカラムを有する。なお、CPU1aの例で説明すると、メモリ2aの先頭アドレスが[ADR1]であり、メモリ2aのサイズが[LEN1]である。
次に、本情報処理装置のOS21及びNIC3において実行される処理について、図8〜図13を参照しながら説明する。
図8は、OS21が備えるDMAバッファ管理テーブル初期化部25が実行する処理を示すフローチャートである。この処理は、OS21の初期化時に実行される。なお、この処理が実行される前提として、先にデバイスドライバ等が初期化され、DMAバッファ管理テーブル9に、DMAバッファ番号以外の情報(すなわち、各DMAバッファの先頭アドレス、領域サイズ、書き込みアドレス及び読み出しアドレス)のみが設定された状態となっている。DMAバッファ管理テーブル初期化部25は、以下の処理を、全てのNIC3を処理対象としてそれぞれ実行し、さらに、DMAバッファ管理テーブル9の全てのエントリを対象として実行する。
S2では、DMAバッファ管理テーブル初期化部25は、DMAバッファ4の先頭アドレス及び領域サイズをキーとして、ノード管理テーブル6を検索する。そして、DMAバッファ領域を包含するノード番号を特定する。
このDMAバッファ管理テーブル初期化処理により設定されたDMAバッファ番号が、以降の各処理で用いられることとなる。
図9及び図10は、OS21が備える振り分けテーブル設定指示部24が実行する処理及び当該処理の呼び出し処理を示す。振り分けテーブル設定指示部24の処理は、ネットワーク処理部22又はスケジューリング処理部23のいずれかによって呼び出される。
移動したとき(例えば、負荷の高いCPUから負荷の低いCPUに移動したとき等)に、振り分けテーブル設定指示処理を呼び出す。
S21では、振り分けテーブル設定指示部24は、当該処理の呼び出し処理を実行したノード(すなわち、現在この処理を実行しているCPU1を含むノード)を特定し、そのノード番号を読み出す。なお、かかるノードの特定は、OS21が通常備える機能により行うことができる。
図11は、NIC3が備える振り分けテーブル設定処理部10が実行する処理を示すフローチャートである。この処理は、OS21の振り分けテーブル設定指示部24から、振り分け情報を振り分けテーブル8に設定する指示を受信したときに実行される。
ーブル8に有るか否かを判定する。一致するエントリがある場合には(Yes)、S33に進み、一致するエントリがない場合には(No)、S34に進む。
かかる振り分けテーブル設定処理により、識別情報とDMAバッファ番号との対応関係を含んだ振り分け情報が振り分けテーブル8に設定される。この振り分け情報が、振り分け処理において用いられることとなる。
図12は、NIC3が備える振り分け処理部11及びDMAコントローラ12が実行する処理を示すフローチャートである。この処理は、NIC3が外部の情報処理装置等からパケットを受信したときに実行される。
S42では、振り分け処理部11は、S41で読み出した識別情報をキーとして、振り分けテーブル8に設定された振り分け情報を検索する。
S45では、振り分け処理部11は、振り分けテーブル8のエントリのうち、パケットヘッダの識別情報と一致する振り分け情報のエントリのDMAバッファ番号を読み出す。なお、このS45とS44の処理はどちらを先に行ってもよい。
S47では、DMAコントローラ12は、S45又はS46で振り分け処理部11が読
み出したDMAバッファ番号のDMAバッファ4に、受信したパケットを転送する。このとき、DMAコントローラ12は、DMAバッファ管理テーブル9を参照して、転送先のDMAバッファ4における書き込みアドレスを特定し、その書き込みアドレスからパケットのデータ内容を書き込む。なお、書き込みが完了すると、図6の例で説明したように、DMAバッファ管理テーブル9の書き込みアドレスを変更する。
NIC3aの振り分け処理部11aでは、パケットを受信すると(1)、パケットヘッダから読み出した識別情報(ここでは、送信先ポート番号[TCPx4]、プロトコル[TCP])をキーとして、振り分けテーブルを検索する(2)。図13の例の場合、振り分けテーブル8aの1エントリ目が一致する(3)。このため、振り分け処理部11aは、当該エントリの時刻情報を更新した上で(4)、DMAバッファ番号[1]を読み出す(5)。そして、DMAコントローラ12aは、メモリ2aに包含されるDMAバッファ4a(DMAバッファ番号1)に対してパケットを転送し、書き込みを行う(6)。
ここで、図14〜図16を参照しながら、クライアント・サーバ構成のシステムで、サーバがクライアントからのリクエストに応じて処理を行う例における、クライアント側及びサーバ側の構成例並びにアプリケーション31の実行態様等が異なる様々な構成例につき、全体の処理の流れを示して説明する。なお、DMAバッファ管理テーブル9の初期設定についての説明は省略する。
図14は、クライアント側において、NIC3が1つであり、クライアントプログラムとして動作するアプリケーション31が1つ実行されている例について示している。すなわち、この例では、NIC3aが設けられ、CPU1aで動作するアプリケーション31aが1つ実行されている。 まず、本情報処理装置(クライアント)のアプリケーション31aのデータ通信につき、OS21のネットワーク処理部22がTCPパケットを他の情報処理装置(サーバ)に送信する(1)。すると、振り分けテーブル設定指示部24が、NIC3aの振り分けテーブル8aに対して識別情報及びDMAバッファ番号を対応付けた振り分け情報の設定指示を送信する。そして、振り分けテーブル設定処理部10aが、振り分けテーブル8aに振り分け情報の設定を行う(2)。このときの振り分け情報のエントリは、図14の下部に示すようになっているとする。
ーション31aにおいてこの受信パケットを受信し、処理を行う(7)。このとき、CPU1aからみてDMAバッファ4aを包含するメモリ2aはローカルメモリである。このため、CPU1aはリモートメモリに対するアクセスをする必要がない。
図15は、サーバ側において、NIC3が2つであり、アプリケーション31が1つ実行されている例について示している。すなわち、この例では、NIC3a及びNIC3bが設けられ、CPU1aで動作するアプリケーション31aが1つ、サーバプログラムとして実行されている。アプリケーション31aでは、データを受信するインタフェースであるNIC3のIPアドレスを、ワイルドカードで指定している。なお、サーバが指定する受信インタフェースの指定は、ワイルドカードでなくても、ある特定のインタフェースを指定することも可能である。
最後に、アプリケーション31の処理を行うCPU1の割当てが移動された場合における処理の流れについて、サーバ側の例を用いて図16を参照しながら説明する。
のエントリが設定されている。
なお、上記構成例は本実施形態の処理を適用した構成例の一部に過ぎず、他の構成例においても本実施形態の処理を適用することが可能である。
前述した実施形態によれば、OS21の振り分けテーブル設定指示部24により、識別情報と、当該識別情報で識別される通信で受信されるデータの処理を行うCPU1が属するノードのメモリ2に包含されるDMAバッファ4の番号とが対応付けられる。さらに、NIC3の振り分けテーブル設定処理部10により、かかる識別情報及びDMAバッファ番号が対応付けられた振り分け情報が振り分けテーブル8に設定される。そして、NIC3においてパケットを受信したときに、NIC3の振り分け処理部11が、振り分けテーブル8の振り分け情報を参照し、受信したパケットの転送先とするDMAバッファ4を特定する。そして、このDMAバッファ4にパケットが転送される。このため、当該パケットの処理を行うCPU1に対応付けられたメモリ2(すなわち同じノードのメモリであり、ローカルメモリである)に包含されるDMAバッファ4にパケットが転送されることとなる。したがって、CPU1は、一連のパケットの受信処理においてリモートアクセスをする必要がなくなる。このため、リモートメモリに対するアクセス回数が低減され、情報処理装置の処理効率が向上する。
ブル8において、そのアプリケーション31で行うデータ通信の識別情報に対応付けられたDMAバッファ番号が上書きされる。このように、稼働中にCPU1の割当ての移動が生じても、その移動に合わせて受信パケットの転送先のDMAバッファ4が切り替えられ、引き続き適切なDMAバッファ4にパケットを転送することが可能となる。
Claims (7)
- それぞれ記憶手段を備えた複数のプロセッサを備えた情報処理装置の通信部として機能し得る通信ユニットにおいて、
通信に関する識別情報と、前記複数のプロセッサのうち該通信についてのデータ処理を行うプロセッサが用いる記憶手段との対応関係を記憶する記憶手段と、
受信したデータから該データの通信に関する識別情報を取得し、記憶された前記対応関係に基づいて、前記複数のプロセッサが備える複数の記憶手段のうち、取得した該識別情報に対応するプロセッサが備える記憶手段を特定し、特定した該記憶手段に対して、受信した前記データの転送を行う制御部と、
を備えたことを特徴とする通信ユニット。 - 前記制御部は、前記対応関係の設定指示を受信したときに、該対応関係を、前記対応関係を記憶する記憶手段に設定する請求項1記載の通信ユニット。
- 前記対応関係の設定指示は、前記識別情報が決定したとき、又は、すでに決定している識別情報で識別される通信についてのデータ処理を行うプロセッサの割当てが移動されたときに受信される請求項2記載の通信ユニット。
- 前記制御部は、受信した前記データから取得した前記識別情報に対応付けられた記憶手段を、前記複数のプロセッサが備える複数の記憶手段から、前記対応関係に基づいて特定できないときには、前記複数のプロセッサが備える複数の記憶手段のうち、デフォルト設定された所定の記憶手段に対して、受信した前記データの転送を行う請求項1〜3のいずれか1つに記載の通信ユニット。
- それぞれ記憶手段を備えた複数のプロセッサを有するとともに、通信部として機能し得る通信ユニットを有する情報処理装置において、
前記プロセッサが、
通信に関する識別情報と、前記複数のプロセッサのうち該通信についてのデータ処理を行うプロセッサが用いる記憶手段との対応関係を前記通信ユニットに送信し、
前記通信ユニットが、
前記対応関係を受信したときに、該対応関係を記憶手段に設定し、
受信したデータから該データの通信に関する識別情報を取得し、記憶された前記対応関係に基づいて、前記複数のプロセッサが備える複数の記憶手段のうち、取得した該識別情報に対応するプロセッサが備える記憶手段を特定し、特定した該記憶手段に対して、受信した前記データの転送を行う
処理を実行する情報処理方法。 - 前記プロセッサは、前記識別情報が決定したとき、又は、すでに決定している識別情報で識別される通信についてのデータ処理を行うプロセッサの割当てが移動されたときに、前記対応関係を前記通信ユニットに送信する請求項5記載の情報処理方法。
- 前記通信ユニットは、受信した前記データから取得した前記識別情報に対応付けられた記憶手段を、前記複数のプロセッサが備える複数の記憶手段から、前記対応関係に基づいて特定できないときには、前記複数のプロセッサが備える複数の記憶手段のうち、デフォルト設定された所定の記憶手段に対して、受信した前記データの転送を行う請求項5又は6に記載の情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011206253A JP2013069063A (ja) | 2011-09-21 | 2011-09-21 | 通信ユニット及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011206253A JP2013069063A (ja) | 2011-09-21 | 2011-09-21 | 通信ユニット及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013069063A true JP2013069063A (ja) | 2013-04-18 |
Family
ID=48474721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011206253A Pending JP2013069063A (ja) | 2011-09-21 | 2011-09-21 | 通信ユニット及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013069063A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017172215A1 (en) * | 2016-03-31 | 2017-10-05 | Intel Corporation | Technologies for network i/o access |
WO2024100940A1 (ja) * | 2022-11-07 | 2024-05-16 | 株式会社日立製作所 | 通信装置及び通信装置における受信データ処理方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55140925A (en) * | 1979-04-19 | 1980-11-04 | Fujitsu Ltd | Multiple processor data process system |
JPH06195300A (ja) * | 1992-10-20 | 1994-07-15 | Nec Corp | データ交換方式 |
JPH0897859A (ja) * | 1994-09-22 | 1996-04-12 | Matsushita Electric Works Ltd | ゲートウェイ装置 |
JPH09212469A (ja) * | 1996-02-01 | 1997-08-15 | Fujitsu Ltd | ロック転送制御回路 |
JP2001175632A (ja) * | 2000-10-10 | 2001-06-29 | Hitachi Ltd | マルチプロセッサシステム |
JP2002185752A (ja) * | 2000-12-12 | 2002-06-28 | Fuji Xerox Co Ltd | 通信端末装置 |
JP2003124953A (ja) * | 2001-10-15 | 2003-04-25 | Fujitsu Ltd | リング型ネットワークシステム |
JP2004241952A (ja) * | 2003-02-05 | 2004-08-26 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送制御システムとパケット転送制御方法およびプログラムならびにルータ |
JP2006227912A (ja) * | 2005-02-17 | 2006-08-31 | Sony Computer Entertainment Inc | 情報処理装置、情報処理方法、およびデータストリーム生成方法 |
-
2011
- 2011-09-21 JP JP2011206253A patent/JP2013069063A/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55140925A (en) * | 1979-04-19 | 1980-11-04 | Fujitsu Ltd | Multiple processor data process system |
JPH06195300A (ja) * | 1992-10-20 | 1994-07-15 | Nec Corp | データ交換方式 |
JPH0897859A (ja) * | 1994-09-22 | 1996-04-12 | Matsushita Electric Works Ltd | ゲートウェイ装置 |
JPH09212469A (ja) * | 1996-02-01 | 1997-08-15 | Fujitsu Ltd | ロック転送制御回路 |
JP2001175632A (ja) * | 2000-10-10 | 2001-06-29 | Hitachi Ltd | マルチプロセッサシステム |
JP2002185752A (ja) * | 2000-12-12 | 2002-06-28 | Fuji Xerox Co Ltd | 通信端末装置 |
JP2003124953A (ja) * | 2001-10-15 | 2003-04-25 | Fujitsu Ltd | リング型ネットワークシステム |
JP2004241952A (ja) * | 2003-02-05 | 2004-08-26 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送制御システムとパケット転送制御方法およびプログラムならびにルータ |
JP2006227912A (ja) * | 2005-02-17 | 2006-08-31 | Sony Computer Entertainment Inc | 情報処理装置、情報処理方法、およびデータストリーム生成方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017172215A1 (en) * | 2016-03-31 | 2017-10-05 | Intel Corporation | Technologies for network i/o access |
US10142231B2 (en) | 2016-03-31 | 2018-11-27 | Intel Corporation | Technologies for network I/O access |
WO2024100940A1 (ja) * | 2022-11-07 | 2024-05-16 | 株式会社日立製作所 | 通信装置及び通信装置における受信データ処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3483877B2 (ja) | プロセッサでのデータ処理方法及びデータ処理システム | |
JP3696563B2 (ja) | コンピュータ・プロセッサ及び処理装置 | |
US7921151B2 (en) | Managing a plurality of processors as devices | |
JP3454808B2 (ja) | コンピュータ処理システム及びコンピュータで実行される処理方法 | |
JP3515985B2 (ja) | プロセッサ装置内で一時的に専用パイプラインを設定する方法及びシステム | |
US7509457B2 (en) | Non-homogeneous multi-processor system with shared memory | |
US7478390B2 (en) | Task queue management of virtual devices using a plurality of processors | |
US20080028103A1 (en) | Memory-mapped buffers for network interface controllers | |
US20080168443A1 (en) | Virtual Devices Using a Plurality of Processors | |
US20080162877A1 (en) | Non-Homogeneous Multi-Processor System With Shared Memory | |
JP2006107514A (ja) | 外部デバイスとデータ通信可能なインターフェイスデバイスを有するシステム及び装置 | |
WO2015135383A1 (zh) | 一种数据迁移方法、装置及计算机系统 | |
US7231470B2 (en) | Dynamically setting routing information to transfer input output data directly into processor caches in a multi processor system | |
CN109564502A (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
EP1557755A1 (en) | Method for transferring data in a multiprocessor system, multiprocessor system and processor carrying out this method. | |
JP2013069063A (ja) | 通信ユニット及び情報処理方法 | |
US10802828B1 (en) | Instruction memory | |
US9424227B2 (en) | Providing byte enables for peer-to-peer data transfer within a computing environment | |
CN118606079B (zh) | 一种基于socket接口的通信方法和系统 | |
US20110040911A1 (en) | Dual interface coherent and non-coherent network interface controller architecture | |
WO2019079940A1 (zh) | 图形处理方法及相关装置和设备 | |
KR19980086586A (ko) | Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴 | |
JPH0210458A (ja) | 情報処理装置 | |
KR19980086587A (ko) | Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20140514 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161227 |