JP6708007B2 - ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置 - Google Patents
ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置 Download PDFInfo
- Publication number
- JP6708007B2 JP6708007B2 JP2016122109A JP2016122109A JP6708007B2 JP 6708007 B2 JP6708007 B2 JP 6708007B2 JP 2016122109 A JP2016122109 A JP 2016122109A JP 2016122109 A JP2016122109 A JP 2016122109A JP 6708007 B2 JP6708007 B2 JP 6708007B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- input
- output
- buffer
- mirror
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
図1は、実施の形態にかかるミラーパケット制御方法の一実施例を示す説明図である。ここで、ミラーパケット制御装置100は、仮想スイッチを有し、ポートミラーリングを実現するコンピュータである。
次に、図2を用いて、図1に示したミラーパケット制御装置100を適用した、ポートミラーリングシステム200の一例について説明する。
次に、図3を用いて、図2に示したポートミラーリングシステム200に含まれるミラーパケット制御装置100のハードウェア構成例について説明する。
ここで、管理装置201のハードウェア構成例については、図3に示したミラーパケット制御装置100のハードウェア構成例と同様であるため、説明を省略する。
次に、図4を用いて、VM状態管理テーブル400の記憶内容の一例について説明する。VM状態管理テーブル400は、例えば、管理装置201の記憶領域により実現される。
次に、図5を用いて、リングバッファ管理テーブル500の記憶内容の一例について説明する。リングバッファ管理テーブル500は、例えば、図3に示したミラーパケット制御装置100のメモリ302やディスク305の記憶領域により実現される。
次に、図6を用いて、ミラーパケットバッファ600の記憶内容の一例について説明する。ミラーパケットバッファ600は、例えば、図3に示したミラーパケット制御装置100のメモリ302やディスク305の記憶領域により実現される。
次に、図7を用いて、ミラーパケット制御装置100の機能的構成例について説明する。図7は、ミラーパケット制御装置100の機能的構成例を示すブロック図である。ミラーパケット制御装置100は、検出部701と、退避部702と、登録部703と、出力部704とを含む。
次に、図8を用いて、図7に示した各機能部の動作を実現するためのポートミラーリングシステム200のモジュール構成例について説明する。
次に、図9〜図12を用いて、ポートミラーリングシステム200の動作例1について説明する。
次に、図13を用いて、VM状態管理部814が実行する状態管理処理手順の一例について説明する。
次に、図14を用いて、割り込み設定部825が実行する割り込み設定処理手順の一例について説明する。
次に、図15を用いて、割り込み解除部826が実行する割り込み解除処理手順の一例について説明する。
次に、図16を用いて、割り込みハンドラ827が実行する割り込み処理手順の一例について説明する。
次に、図17を用いて、パケット処理部828が実行するパケット処理手順の一例について説明する。
次に、図18を用いて、ミラーパケット生成部824が実行するミラーリング処理手順の一例について説明する。
次に、図19を用いて、ポートミラーリングシステム200におけるモニタVM802の停止時の動作の流れの一例について説明する。
次に、図20を用いて、ポートミラーリングシステム200におけるモニタVM802の停止解除時の動作の流れの一例について説明する。
次に、図21を用いて、ポートミラーリングシステム200の動作例2について説明する。動作例1では、仮想スイッチ823が、ターゲットVM801に入力されるパケットも、ターゲットVM801から出力されるパケットも複製して、複製したミラーパケットをモニタVM802に送信する場合について説明した。
次に、図22を用いて、判定部2101が実行する判定処理手順の一例について説明する。
次に、図23を用いて、ポートミラーリングシステム200の動作例3について説明する。動作例1では、仮想スイッチ823が、モニタVM802がライブマイグレーションを開始したことに応じて、モニタVM802が停止状態になったと判定する場合について説明した。
次に、図24を用いて、VM状態判定部2301が実行する状態判定処理手順の一例について説明する。
仮想スイッチに接続された第1仮想マシンについての入出力に用いられる入出力バッファに登録されたパケットを複製したミラーパケットが出力される、前記仮想スイッチに接続された第2仮想マシンの停止状態を検出し、
前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについては前記入出力バッファとは異なる退避バッファに蓄積し、
前記停止状態が解除されると、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、
処理を実行させることを特徴とするミラーパケット制御プログラム。
前記入出力バッファに登録したパケットについて前記第1仮想マシンに対して入出力を行うとともに、前記入出力バッファに登録したパケットを複製したミラーパケットを前記第2仮想マシンに出力する、処理を実行させることを特徴とする付記1に記載のミラーパケット制御プログラム。
前記退避バッファに蓄積した順序で、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、ことを特徴とする付記1または2に記載のミラーパケット制御プログラム。
前記第2仮想マシンが動作中の演算装置から他の演算装置にライブマイグレーションを開始したことに応じて、前記第2仮想マシンの停止状態を検出する、ことを特徴とする付記1〜3のいずれか一つに記載のミラーパケット制御プログラム。
前記第2仮想マシンが動作中の演算装置から他の演算装置にライブマイグレーションする場合において、前記動作中の演算装置から前記他の演算装置への前記第2仮想マシンに関する情報の転送量が閾値を下回ったことに応じて、前記第2仮想マシンの停止状態を検出する、ことを特徴とする付記1〜3のいずれか一つに記載のミラーパケット制御プログラム。
前記第1仮想マシンに入力されるパケットについて複製しない状態に設定された場合には、前記第2仮想マシンの停止状態が検出されたことに応じて前記第1仮想マシンを停止する、処理を実行させ、
前記蓄積する処理は、
前記第1仮想マシンに入力されるパケットについて複製しない状態に設定された場合には、前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについて前記退避バッファに蓄積しない、ことを特徴とする付記1〜5のいずれか一つに記載のミラーパケット制御プログラム。
仮想スイッチに接続された第1仮想マシンについての入出力に用いられる入出力バッファに登録されたパケットを複製したミラーパケットが出力される、前記仮想スイッチに接続された第2仮想マシンの停止状態を検出し、
前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについては前記入出力バッファとは異なる退避バッファに蓄積し、
前記停止状態が解除されると、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、
処理を実行することを特徴とするミラーパケット制御方法。
前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについては前記入出力バッファとは異なる退避バッファに蓄積し、
前記停止状態が解除されると、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、
制御部を有することを特徴とするミラーパケット制御装置。
101,801 ターゲットVM
102,802 モニタVM
110,810,820,850 ハードウェア
120,811,821,851 ハイパーバイザ
130,822,852 ホストOS
140,823 仮想スイッチ
150,824 ミラーパケット生成部
160 退避バッファ
170,180 入出力バッファ
171,181,835,845 バックエンドドライバ
172,182 フロントエンドドライバ
200 ポートミラーリングシステム
201 管理装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 ディスクドライブ
305 ディスク
306 記録媒体I/F
400 VM状態管理テーブル
500 リングバッファ管理テーブル
600 ミラーパケットバッファ
701 検出部
702 退避部
703 登録部
704 出力部
803 管理者
812 ポートミラーマネージャ
813 ポートミラー構成部
814 VM状態管理部
825 割り込み設定部
826 割り込み解除部
827 割り込みハンドラ
828 パケット処理部
831,841 入力リングバッファ
832,842 出力リングバッファ
833,843 パケットバッファ
2101 判定部
2301 VM状態判定部
Claims (7)
- コンピュータに、
仮想スイッチに接続された第1仮想マシンについての入出力に用いられる入出力バッファに登録されたパケットを複製したミラーパケットが出力される、前記仮想スイッチに接続された第2仮想マシンの停止状態を検出し、
前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについては前記入出力バッファとは異なる退避バッファに蓄積し、
前記停止状態が解除されると、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、
処理を実行させることを特徴とするミラーパケット制御プログラム。 - 前記コンピュータに、
前記入出力バッファに登録したパケットについて前記第1仮想マシンに対して入出力を行うとともに、前記入出力バッファに登録したパケットを複製したミラーパケットを前記第2仮想マシンに出力する、処理を実行させることを特徴とする請求項1に記載のミラーパケット制御プログラム。 - 前記登録する処理は、
前記退避バッファに蓄積した順序で、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、ことを特徴とする請求項1または2に記載のミラーパケット制御プログラム。 - 前記検出する処理は、
前記第2仮想マシンが動作中の演算装置から他の演算装置にライブマイグレーションする場合において、前記第2仮想マシンのライブマイグレーションの開始通知の入力を受け付けた後、前記動作中の演算装置から前記他の演算装置への前記第2仮想マシンに関する情報の転送量が閾値を下回ったことに応じて、前記第2仮想マシンの停止状態を検出する、ことを特徴とする請求項1〜3のいずれか一つに記載のミラーパケット制御プログラム。 - 前記コンピュータに、
前記第1仮想マシンに入力されるパケットについて複製しない状態に設定された場合には、前記第2仮想マシンの停止状態が検出されたことに応じて前記第1仮想マシンを停止する、処理を実行させ、
前記蓄積する処理は、
前記第1仮想マシンに入力されるパケットについて複製しない状態に設定された場合には、前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについて前記退避バッファに蓄積しない、ことを特徴とする請求項1〜4のいずれか一つに記載のミラーパケット制御プログラム。 - コンピュータが、
仮想スイッチに接続された第1仮想マシンについての入出力に用いられる入出力バッファに登録されたパケットを複製したミラーパケットが出力される、前記仮想スイッチに接続された第2仮想マシンの停止状態を検出し、
前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについては前記入出力バッファとは異なる退避バッファに蓄積し、
前記停止状態が解除されると、前記退避バッファに蓄積したパケットを、前記入出力バ
ッファに登録する、
処理を実行することを特徴とするミラーパケット制御方法。 - 仮想スイッチに接続された第1仮想マシンについての入出力に用いられる入出力バッファに登録されたパケットを複製したミラーパケットが出力される、前記仮想スイッチに接続された第2仮想マシンの停止状態を検出し、
前記停止状態が検出されてから前記停止状態が解除されるまでの期間において前記第1仮想マシンについての入出力の対象となるパケットについては前記入出力バッファとは異なる退避バッファに蓄積し、
前記停止状態が解除されると、前記退避バッファに蓄積したパケットを、前記入出力バッファに登録する、
制御部を有することを特徴とするミラーパケット制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016122109A JP6708007B2 (ja) | 2016-06-20 | 2016-06-20 | ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置 |
US15/608,445 US20170366638A1 (en) | 2016-06-20 | 2017-05-30 | Method of controlling a virtual machine, information processing apparatus and non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016122109A JP6708007B2 (ja) | 2016-06-20 | 2016-06-20 | ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017227998A JP2017227998A (ja) | 2017-12-28 |
JP6708007B2 true JP6708007B2 (ja) | 2020-06-10 |
Family
ID=60660954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016122109A Active JP6708007B2 (ja) | 2016-06-20 | 2016-06-20 | ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170366638A1 (ja) |
JP (1) | JP6708007B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491502B2 (en) * | 2016-06-29 | 2019-11-26 | Nicira, Inc. | Software tap for traffic monitoring in virtualized environment |
JP7003562B2 (ja) * | 2017-10-16 | 2022-01-20 | 富士通株式会社 | ミラーパケット制御プログラム、ミラーパケット制御方法、およびミラーパケット制御装置 |
JP2022143255A (ja) * | 2021-03-17 | 2022-10-03 | 東芝テック株式会社 | プリンタ及び情報処理システム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754764A (en) * | 1994-02-22 | 1998-05-19 | National Semiconductor Corp. | Combination of input output circuitry and local area network systems |
JP5594049B2 (ja) * | 2010-10-18 | 2014-09-24 | 富士通株式会社 | 仮想計算機移動方法、コンピュータ及びプログラム |
US8924560B2 (en) * | 2010-11-29 | 2014-12-30 | At&T Intellectual Property I, L.P. | Optimized game server relocation environment |
US9860309B2 (en) * | 2014-12-22 | 2018-01-02 | Vmware, Inc. | Hybrid cloud network monitoring system for tenant use |
US9372631B1 (en) * | 2014-12-24 | 2016-06-21 | Infinidat Ltd. | Managing volume updates received during an execution of a volume migration process |
-
2016
- 2016-06-20 JP JP2016122109A patent/JP6708007B2/ja active Active
-
2017
- 2017-05-30 US US15/608,445 patent/US20170366638A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2017227998A (ja) | 2017-12-28 |
US20170366638A1 (en) | 2017-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8458284B2 (en) | Systems and methods for efficient live application migration within bandwidth constrained networks | |
JP6740911B2 (ja) | ポート切替プログラム、ポート切替方法、および情報処理装置 | |
JP5268469B2 (ja) | 高可用システム及び実行状態制御方法 | |
JP6246923B2 (ja) | 管理サーバ、計算機システム及び方法 | |
US10620877B2 (en) | Managing a collection of data | |
JP5391277B2 (ja) | ストレージシステム及びストレージシステムの処理効率向上方法 | |
JP6708007B2 (ja) | ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置 | |
JP2010026814A (ja) | 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム | |
US11861390B1 (en) | Transparent disk caching for virtual machines | |
JP2014182653A (ja) | ログ管理システム、ログ管理方法、画像形成装置およびその制御方法、並びにプログラム | |
US20130332932A1 (en) | Command control method | |
JP2016045930A (ja) | 管理システム、及び、管理システムの制御方法 | |
US20180267831A1 (en) | Information processing apparatus, stage-out processing method and recording medium recording job management program | |
US20100235549A1 (en) | Computer and input/output control method | |
JP6287308B2 (ja) | レプリケーション制御システム、レプリケーション制御方法、及び、レプリケーション制御プログラム | |
JP6341030B2 (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム | |
US20130013871A1 (en) | Information processing system and data processing method | |
KR102137217B1 (ko) | 비대칭 파일 시스템의 데이터 복제 방법 | |
US10503722B2 (en) | Log management apparatus and log management method | |
JP3473394B2 (ja) | ホスト間資源共有排他制御装置及び方法及び記録媒体 | |
JP6149454B2 (ja) | 管理方法、管理プログラム及び情報処理装置 | |
JP5731665B2 (ja) | 計算機システム及び複製制御方法 | |
JP2012181803A (ja) | トランザクション管理システム、管理装置、サーバ装置、トランザクション管理方法、及びプログラム | |
JP2014206871A (ja) | 制御方法、制御装置、制御プログラム、および記録媒体 | |
JP2008210325A (ja) | 管理サーバ、ファイル管理方法およびそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200504 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6708007 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |