WO2016070641A1 - Procédé et dispositif de mémorisation de données et procédé et dispositif de lecture de données - Google Patents
Procédé et dispositif de mémorisation de données et procédé et dispositif de lecture de données Download PDFInfo
- Publication number
- WO2016070641A1 WO2016070641A1 PCT/CN2015/083472 CN2015083472W WO2016070641A1 WO 2016070641 A1 WO2016070641 A1 WO 2016070641A1 CN 2015083472 W CN2015083472 W CN 2015083472W WO 2016070641 A1 WO2016070641 A1 WO 2016070641A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- server
- disk
- file
- vhd
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Definitions
- the present invention relates to the field of communications, and in particular, to a data storage method, device, and reading method and device
- the network diskless system is a technology that saves the operating system image on the server.
- the client does not have a hard disk locally or does not use a local hard disk.
- the preboot execution environment (PXE) is used to boot from the network.
- the client operating system is stored on the server and requires an efficient and flexible management method.
- the traditional method is to use a virtual hard disk in the raw RAW format, and then use the Internet Small Computer System Interface (iSCSI). Sharing to the client, using RAW format takes up a lot of disk space, inconvenient to backup, etc.
- RAW mainly has the following shortcomings: (1) wasting storage space: using the bare format RAW format hard disk needs to allocate all the space in advance If you create a 10G hard disk for the user, you must first create a 10G file on the server. You cannot allocate space as needed by the user. (2) Inconvenient maintenance: The virtual hard disk file is generally larger. And the RAW format does not support snapshots, so backups can only be copied, The way of pasting is slow and wastes space, and maintenance is inconvenient.
- the RAW format has a problem that the disk space is large, the backup is inconvenient, and the sub-image is not supported, and an effective solution has not been proposed.
- Embodiments of the present invention provide a method, an apparatus, and a reading method and apparatus for saving data to solve at least one of the above problems.
- a data saving method including: a server receives a write request for data; and under the trigger of the write request, the server writes the data to a local virtual
- the sector in the virtual hard disk (VHD) file is saved and saved.
- the method includes: the server determines whether a sector corresponding to the write request has been allocated, where In the case of being allocated, the server allocates the sector for the data; in the event that the determination has been assigned, the server is triggered to write the data to the sector.
- the server determines whether a sector corresponding to the write request has been allocated, and the server obtains a Block allocation table (BAT) table from the local VHD file; the server A determination is made as to whether a sector corresponding to the write request has been allocated according to the BAT table.
- BAT Block allocation table
- the method further includes: sending, when the operating system image file changes, an incremental portion of the operating system image file that is changed to the client.
- the method further includes: the server receiving a read request for the VHD file; reading data corresponding to the read request from a difference disk; and confirming that the data corresponding to the read request is in the difference In the case where the disk is not recorded, the data is read from the parent disk of the difference disk, wherein the data stored in the difference disk is data changed in the parent disk.
- the method further includes: mounting the VHD file as a raw device file, and providing the operating system image file to the client.
- a method for reading data includes: receiving, by the server, a read request for an operating system image file; and triggering, by the read request, the server The data corresponding to the read request is read in the local virtual hard disk VHD file.
- the reading, by the server, the data corresponding to the read request from the local VHD file includes: reading data corresponding to the read request from the difference disk; and confirming that the data corresponding to the read request is in the difference disk If the data is not recorded, the data is read from the parent disk of the difference disk, wherein the data stored in the difference disk is data changed in the parent disk.
- a data saving apparatus configured to be applied to a server, comprising: a receiving module configured to receive a write request for data; and a writing module configured to be in the write Under the trigger of the request, the data is written to the sector in the local virtual hard disk VHD file and saved.
- a data reading device the device being applied to a server, comprising: a receiving module configured to receive a read request for an operating system image file; and a reading module And being configured to read data corresponding to the read request from a local VHD file under the trigger of the read request.
- the server receives the write request for the data; under the trigger of the write request, the server writes the data to the sector in the local virtual hard disk VHD file and saves it.
- the RAW format in the related art solves the problem that the RAW format occupies a large disk space, is inconvenient to backup, and does not support the sub-image.
- the disk space is allocated on demand, the backup is convenient, and the snapshot and sub-image are supported.
- FIG. 1 is a flow chart of a method for saving data according to an embodiment of the present invention
- FIG. 2 is a flow chart of a method of reading data according to an embodiment of the present invention.
- FIG. 3 is a structural block diagram of a data saving apparatus according to an embodiment of the present invention.
- FIG. 4 is a block diagram showing the structure of a data reading apparatus according to an embodiment of the present invention.
- FIG. 5 is a structural diagram of a VHD file according to an embodiment of the present invention.
- FIG. 6 is a flow chart of a VHD read in accordance with an embodiment of the present invention.
- FIG. 7 is a flow chart of writing a VHD file according to an embodiment of the present invention.
- FIG. 8 is a flow chart of creating a sub-image of a VHD according to an embodiment of the present invention.
- FIG. 1 is a flowchart of a method for saving data according to an embodiment of the present invention. As shown in FIG. 1, the process includes the following steps:
- Step S102 the server receives a write request for data
- Step S104 under the trigger of the write request, the server writes the data into the sector in the local virtual hard disk VHD file and saves it.
- the server uses the VHD format to write and manage the operating system image file.
- the storage space is wasted, and the maintenance is inconvenient, and the above steps solve the above problems, thereby achieving the above problem. Allocate disk space on demand, easy backup, support for snapshots and submirrors.
- the server determines whether the sector corresponding to the write request has been allocated, wherein, in the case where the determination is not allocated, The server allocates sectors for the data; in the case where it is determined that it has been allocated, the trigger server writes operating system data to the sector. Therefore, the server allocates sectors according to the write request, realizing on-demand allocation and dynamically allocating disk space.
- the server needs to determine whether the sector corresponding to the write request has been allocated.
- the server obtains the BAT table from the local VHD file, and the server determines the sector corresponding to the write request according to the BAT table. Has it been assigned?
- the incremental portion of the changes in the operating system image file is sent to the client when the operating system image file changes. Through this step, only the incremental part of the operating system image file is sent to the client, which improves storage efficiency and reduces storage space.
- the data corresponding to the read request is first read from the difference disk, and if the data corresponding to the read request is confirmed to be unrecorded in the difference disk, The data is read from the parent disk of the differencing disk, where the data stored in the differencing disk is the data that changed in the parent disk. This saves storage space.
- the VHD file is mounted as a raw device file and an operating system image file is provided to the client.
- the raw device file is equivalent to a physical hard disk.
- FIG. 2 is a flowchart of a data reading method according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps:
- Step S202 the server receives a read request for an operating system image file.
- Step S204 the server reads the data corresponding to the read request from the local virtual hard disk VHD file under the trigger of the read request.
- the server saves the operating system image in the VHD format.
- the storage space is wasted, and the maintenance is inconvenient, the above steps solve the above problem, thereby achieving the disk space allocated on demand. , the effect of using snapshots for backups.
- the data corresponding to the read request is first read from the difference disk, and if the data corresponding to the read request is confirmed to be unrecorded in the difference disk, The data is read from the parent disk of the differencing disk, where the data stored in the differencing disk is the data that changed in the parent disk. Thereby improving the efficiency of reading files.
- FIG. 3 is a structural block diagram of a data saving apparatus according to an embodiment of the present invention.
- the apparatus is applied to a server.
- the apparatus includes: a receiving module 32 configured to receive a write request for an operating system image file;
- the write module 34 is configured to write the operating system data to the sector in the local virtual hard disk VHD file and save it under the trigger of the write request.
- FIG. 4 is a structural block diagram of a data reading apparatus according to an embodiment of the present invention.
- the apparatus is applied to a server.
- the apparatus includes: a receiving module 42 configured to receive a read request for an operating system image file.
- the read module 44 is configured to read the operating system data from the local VHD file under the trigger of the read request.
- each of the above modules may be implemented by software or hardware.
- the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are respectively located.
- the first processor, the second processor, and the third processor In the first processor, the second processor, and the third processor.
- VHD Microsoft Virtual Hard Disk format, a virtual disk format that supports dynamic and nutrient disks.
- the Microsoft Hyper-v virtualization platform uses VHD as a virtual machine hard disk. Similar formats include VMDK and QCOW2.
- PXE A network boot protocol. This is implemented in a general network card.
- iPXE An upgraded version of the PXE protocol.
- Networkless disk Boot the computer from the network through PXE or iPXE. All data is saved on the remote server. There is no hard disk in the local.
- iSCSI A storage protocol that shares block devices (such as disks) over an IP network.
- the client uses the iSCSI shared hard disk to be the same as the local hard disk. It can partition and format the disk.
- This alternative embodiment develops a method for saving and managing images using a virtual hard disk (VHD) format.
- VHD format has the advantages of space-on-demand allocation, snapshot creation and encryption, and the like.
- the image is migrated directly to the virtualization platform.
- the optional embodiment is designed to save the image file in the VHD format.
- the optional embodiment has a method for directly reading and writing a VHD file without using a third-party tool; After receiving the VHD read and write request, first open the VHD file to obtain the BAT of the VHD. The table determines whether the corresponding sector is allocated in the VHD file and the position of the sector in the file according to the BAT table. If the sector corresponding to the write request is not allocated in the VHD file, the corresponding data block is to be allocated and modified.
- the system will first read the bat entry of the difference disk x block. If the value is 0xFFFFFF, indicating that the data is not recorded in the difference disk, then the xth block of the parent disk of the difference disk should be read; if the value of the bat entry is not 0xFFFFFF, whether the x block in the batmap can be used is full. (or analyze the bitmap in the block data area) to determine whether it needs to penetrate into the parent disk to make up the difference. If it is full, it does not need to process the parent disk; if it is not full, then look at the bitmap in the data area of the block. Bit 0, 0 is penetrated into the parent disk to make up the difference, and 1 is directly read.
- VHD files A major feature of VHD files is that disk space is allocated on demand. When a VHD file is created, no data block (disk space) is allocated. When the VHD receives a write disk operation, it will detect the corresponding bat table. If the value of the bat table is 0xFFFFFF , indicating that the corresponding data block is not allocated in the VHD file, then allocate the data block by increasing the size of the VHD file (by writing a number of zeros at the end of the file), and modifying the corresponding value in the bat table. The offset of the new data block in the VHD file;
- VHD files support the snapshot function.
- the snapshot technology can be used to quickly back up data. It is much faster than copying and pasting files directly.
- VHD snapshots are created by creating sub-images of VHDs (also called differential disks). (Because the VHD sub-image is created without assigning data blocks, only a small content such as a VHD file header and a BAT table is created, so the speed is fast). After the sub-image is created, the read and write operations are performed only for the sub-image, and the parent image is no longer operated. The results of reading and writing are stored in the sub-image, which plays a role in the backup of the parent image;
- the optional embodiment introduces a zhong xing virtualization environments (ZXVE) platform (operating system, ZTE virtualization platform), and the VHD can be hung by the ZXVE.
- ZXVE zhong xing virtualization environments
- the server mounts the VHD as a bare device
- the VHD raw device is shared by iSCSI;
- the client starts up with the PXE network, obtains the address from the DHCP server for iPXE startup, and enters the iPXE to select the operating system to be started to start by the shared iSCSI;
- the client sends a read and write request for the iSCSI disk to the server.
- the server After receiving the request, the server reads and writes the VHD and returns the result to the client (for detailed reading and writing of the VHD, please refer to the attached figure).
- the network diskless system needs to occupy a large amount of network bandwidth, which has high requirements on the network and affects the user experience.
- This alternative embodiment designs a local data cache and incremental update method to improve access to the network and improve diskless users. Use experience
- the system checks whether the data requested by the user exists in the buffer. If the data is cached, the data is directly retrieved from the buffer area and returned to the user, and the data does not need to be fetched through the network;
- the server in the network requests the data, and saves the data in the buffer after the data is acquired, so that it can be used again until all the data is cached locally. Great savings in network bandwidth.
- the cached data may be inconsistent in the server data (such as the administrator updating the image on the server, installing the software, etc.), and the client requests to update the system after the administrator modifies the server parent image. Calculate the variable sector of the sub-image intersecting parent image, and send the variable part to the client. The client writes the changed part to the local buffer according to the server-side data, and restarts the computer after the client change part is updated.
- FIG. 5 is a structural diagram of a VHD file according to an embodiment of the present invention. As shown in FIG. 5, the structure of a VHD file needs to be parsed for directly reading and writing a VHD file;
- FIG. 6 is a flow chart of VHD reading according to an embodiment of the present invention. As shown in FIG. 6, the process includes the following steps:
- Step S602 opening the VHD
- Step S604 acquiring a BAT table
- Step S606 determining the content of the corresponding index in the BAT table according to the sector number to be read;
- Step S608 it is determined whether the value in the BAT table is 0xFFFFFFFF, if the determination is yes, step S610 is performed, if the determination is no, step S614 is performed;
- Step S610 indicating that the content of the sector to be read is 0;
- Step S612 returning the sector content to 0 to the user
- Step S614 reading the corresponding position of the VHD according to the content of the BAT table, the read size is 2M, and the first sector represents the use bitmap of each sector in the data block;
- Step S616 it is determined whether the sector bitmap value is 1, if the determination is yes, step S618 is performed, if the determination result is no, step S620 is performed;
- Step S620 finding a parent node of the VHD file, and reading the parent node according to the reading process to obtain the sector content;
- Step S622 return.
- the system first reads the bat entry of the difference disk x block. If the value is 0xFFFFFF, indicating that the data is not recorded in the difference disk, then the xth block of the parent disk of the difference disk should be read; if the value of the bat entry is not 0xFFFFFF, whether the x block in the batmap can be used is full. (or analyze the bitmap in the block data area) to determine whether it needs to penetrate into the parent disk to make up the difference. If it is full, it does not need to process the parent disk; if it is not full, then look at the bitmap in the data area of the block. Bit 0, 0 is penetrated into the parent disk to make up the difference, and 1 is directly read.
- FIG. 7 is a flowchart of writing a VHD file according to an embodiment of the present invention. As shown in FIG. 7, the process includes the following steps:
- Step S702 opening the VHD
- Step S704 acquiring a BAT table
- Step S706 determining the content of the corresponding index in the BAT table according to the sector number to be read;
- Step S708 it is determined whether the value in the BAT table is 0xFFFFFFFF, if the determination is yes, step S710 is performed, if the determination is no, step S714 is performed;
- Step S710 indicating that the storage space of the data block where the sector to be written is not allocated, and increasing the size of the VHD file to allocate space for the data block;
- Step S712 after the data block is allocated, the BAT table of the VHD file and the batmap of the data block are modified, and the user data is written into the corresponding position of the file;
- Step S714 modifying the batmap of the data block, and writing the user data to the location corresponding to the file.
- FIG. 8 is a flowchart of creating a sub-mirror of a VHD according to an embodiment of the present invention, filling a sub-mirror VHD header according to attributes such as a capacity of a mirror, a block size, and the like, and writing a UUID and path information of the parent image to the sub-image so as to be able to pass the sub-mirror. Find the parent image.
- the RAW format is replaced by a dynamic virtual disk VHD according to an optional embodiment of the present invention, which can effectively improve the utilization and maintainability of the storage space, and the system design a local cache system to reduce the occupation of the network by the client.
- VHD dynamic virtual disk VHD
- the method provided by the optional embodiment can cache the server data and the client write back to a local hard disk (if any) to reduce the network pressure, thereby improving the user experience.
- a local hard disk if any
- the client can update the changed part of the image to the local by incremental update method, which greatly improves the update speed.
- a storage medium is further provided, wherein the software includes the above-mentioned software, including but not limited to: an optical disk, a floppy disk, a hard disk, an erasable memory, and the like.
- modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
- the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
- the invention is not limited to any specific combination of hardware and software.
- the foregoing embodiments of the present invention are applied to the field of communications, and solve the problem that the RAW format in the related art has a large disk space, is inconvenient to backup, and does not support sub-mirror, thereby achieving disk space allocation on demand, convenient backup, and support.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention concerne un dispositif et un procédé dé mémorisation de données et un procédé et un dispositif de lecture de données. Le procédé de mémorisation comprend les étapes suivantes : un serveur reçoit une requête d'écriture pour des données (S102) ; lorsqu'il est déclenché par la requête d'écriture, le serveur écrit les données sur un secteur d'un fichier de disque dur virtuel local (VHD) et mémorise les données (S104). Le procédé et le dispositif résolvent les problèmes de format RAW qui occupe une grande quantité d'espace disque, de sauvegarde peu commode et d'absence de prise en charge d'un miroir secondaire, permettant ainsi l'attribution de l'espace disque de la manière requise, une sauvegarde commode et la prise en charge d'un instantané et d'un miroir secondaire.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410614553.6 | 2014-11-04 | ||
CN201410614553.6A CN105630401A (zh) | 2014-11-04 | 2014-11-04 | 数据的保存方法、装置及读取方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016070641A1 true WO2016070641A1 (fr) | 2016-05-12 |
Family
ID=55908517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/083472 WO2016070641A1 (fr) | 2014-11-04 | 2015-07-07 | Procédé et dispositif de mémorisation de données et procédé et dispositif de lecture de données |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105630401A (fr) |
WO (1) | WO2016070641A1 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940626B (zh) * | 2017-03-17 | 2020-02-07 | 郑州云海信息技术有限公司 | 一种获取虚拟机多磁盘间差异数据的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219703A (ja) * | 2006-02-15 | 2007-08-30 | Fujitsu Ltd | ハードディスクストレージ制御プログラム、ハードディスクストレージ装置、ハードディスクストレージ制御方法 |
CN102541461A (zh) * | 2010-12-31 | 2012-07-04 | 阿里巴巴集团控股有限公司 | 远程数据存储的数据读写方法、装置及其系统 |
CN102929884A (zh) * | 2011-08-10 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种收缩虚拟磁盘镜像文件的方法及装置 |
CN203909779U (zh) * | 2014-03-27 | 2014-10-29 | 华卫云 | 精简终端无盘机房系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7647468B2 (en) * | 2005-12-09 | 2010-01-12 | Microsoft Corporation | Compaction, de-fragmentation, and merging of virtual storage device of virtual machine |
CN100578470C (zh) * | 2007-01-31 | 2010-01-06 | 浙江大学 | 基于裸设备的音视频数据存取方法和装置 |
US9928091B2 (en) * | 2010-09-30 | 2018-03-27 | Microsoft Technology Licensing, Llc | Techniques for streaming virtual machines from a server to a host |
CN103729203A (zh) * | 2012-10-12 | 2014-04-16 | 英业达科技有限公司 | 重建差异虚拟硬盘文档以更新操作系统的系统及其方法 |
-
2014
- 2014-11-04 CN CN201410614553.6A patent/CN105630401A/zh not_active Withdrawn
-
2015
- 2015-07-07 WO PCT/CN2015/083472 patent/WO2016070641A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219703A (ja) * | 2006-02-15 | 2007-08-30 | Fujitsu Ltd | ハードディスクストレージ制御プログラム、ハードディスクストレージ装置、ハードディスクストレージ制御方法 |
CN102541461A (zh) * | 2010-12-31 | 2012-07-04 | 阿里巴巴集团控股有限公司 | 远程数据存储的数据读写方法、装置及其系统 |
CN102929884A (zh) * | 2011-08-10 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种收缩虚拟磁盘镜像文件的方法及装置 |
CN203909779U (zh) * | 2014-03-27 | 2014-10-29 | 华卫云 | 精简终端无盘机房系统 |
Non-Patent Citations (1)
Title |
---|
XU, YANJUN ET AL.: "Several Virtual Machine Image Formats and Their Performance Evaluation", JOURNAL OF COMPUTER APPLICATIONS, vol. 33, no. S1, 30 June 2013 (2013-06-30), pages 22 - 23, ISSN: 1001-9081 * |
Also Published As
Publication number | Publication date |
---|---|
CN105630401A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3686739B1 (fr) | Procédé et système pour activer des opérations de sauvegarde et de restauration sans agent sur une plateforme d'orchestration de récipients | |
JP5496254B2 (ja) | マシンから仮想マシンへの変換 | |
US10579404B2 (en) | Provisioning virtual desktops with stub virtual disks | |
US11243707B2 (en) | Method and system for implementing virtual machine images | |
US8677111B2 (en) | Booting devices using virtual storage arrays over wide-area networks | |
US8838542B1 (en) | Optimized image archiving | |
US10740133B2 (en) | Automated data migration of services of a virtual machine to containers | |
US8966188B1 (en) | RAM utilization in a virtual environment | |
CN109558212B (zh) | 一种物理设备的虚拟化管理方法、系统、物理设备及介质 | |
US20030126242A1 (en) | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image | |
US10909102B2 (en) | Systems and methods for performing scalable Log-Structured Merge (LSM) tree compaction using sharding | |
US9720719B2 (en) | Method and system for optimizing virtual disk provisioning | |
WO2020103904A1 (fr) | Procédé de mise à jour de bureau en nuage, dispositif, serveur en nuage et support de stockage | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
CN111459619A (zh) | 一种基于云平台实现服务的方法和装置 | |
WO2016070641A1 (fr) | Procédé et dispositif de mémorisation de données et procédé et dispositif de lecture de données | |
WO2018028321A1 (fr) | Procédé et appareil de gestion de dispositif de stockage externe virtuel, et terminal | |
JP5428455B2 (ja) | 仮想マシンサーバ、仮想マシン制御方法及び仮想マシン制御プログラム | |
US10929168B2 (en) | Enhanced data storage and versioning of virtual nodes in a data processing environment | |
US10747567B2 (en) | Cluster check services for computing clusters | |
CN117075817B (zh) | 一种数据中心虚拟化存储优化方法、系统、设备及介质 | |
US8065737B1 (en) | Virus scanning for block-level distributed application management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15857130 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15857130 Country of ref document: EP Kind code of ref document: A1 |