(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT) (19) World Intellectual Property Organization International Bureau (10) International Publication Number (43) International Publication Date WO 2016/209313 Al 29 December 2016 (29.12.2016) P O P C T

(51) International Patent Classification: Whitefield Road, Mahadevapura Post, 560048 Bangalore H04L 29/08 (2006.01) G06F 17/30 (2006.01) (IN). G06F 3/06 (2006.01) (74) Agents: ORTEGA, Arthur S. et al; Hewlett Packard En (21) International Application Number: terprise, 3404 E. Harmony Road, Mail Stop 79, Fort PCT/US20 15/067030 Collins, Colorado 80528 (US). (22) International Filing Date: (81) Designated States (unless otherwise indicated, for every 2 1 December 2015 (21 .12.2015) kind of national protection available): AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY, (25) Filing Language: English BZ, CA, CH, CL, CN, CO, CR, CU, CZ, DE, DK, DM, (26) Publication Language: English DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IR, IS, JP, KE, KG, KN, KP, KR, (30) Priority Data: KZ, LA, LC, LK, LR, LS, LU, LY, MA, MD, ME, MG, 3150/CHE/2015 23 June 2015 (23.06.2015) IN MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, OM, (71) Applicant: HEWLETT-PACKARD DEVELOPMENT PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, SC, COMPANY, L.P. [US/US]; 11445 Compaq Center Drive SD, SE, SG, SK, SL, SM, ST, SV, SY, TH, TJ, TM, TN, W., Houston, Texas 77070 (US). TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW. (72) Inventors: MARUTHACHALAM, Dhanaraj; (84) Designated States (unless otherwise indicated, for every Sy.No.192, Whitefield Road, Mahadevapura Post, 560048 kind of regional protection available): ARIPO (BW, GH, Bangalore (IN). NALLASAMY, Shanmugaraja; GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, Sy.No.192, Whitefield Road, Mahadevapura Post, 560048 TZ, UG, ZM, ZW), Eurasian (AM, AZ, BY, KG, KZ, RU, Bangalore (IN). MOGHE, Piyush Prakash; Sy.No.192, TJ, TM), European (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU,

[Continued on nextpage]

(54) Title: TASK EXECUTION IN A (SAN) (57) Abstract: Examples disclosed herein relate to executing a task in a Storage Area Network (SAN). In an example, a host device may be allowed to dynamically select a range of blocks on a Logical Unit Number (LUN) of a storage system in a Storage Area Network (SAN). A task may be executed at the storage system on the range of blocks selected by the host device.

< 100

Fig. 1 © v o o wo 2016/209313 Ai III III II II III IIII il IIII I III III II I II

LV, MC, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, — as to applicant's entitlement to apply for and be granted SM, TR), OAPI (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, a patent (Rule 4.1 7(H)) GW, KM, ML, MR, NE, SN, TD, TG). Published: Declarations under Rule 4.17: — with international search report (Art. 21(3)) — as to the identity of the inventor (Rule 4.1 7(i)) TASK EXECUTION N A STORAGE AREA NETWORK (SAN)

Background

[001] A Storage Area Network (SAN) is a high-speed network that may connect

multiple storage devices with multiple servers. A SAN provides block level storage

that may be accessed by applications running on any associated server. A storage

area network removes storage from servers and consolidates it in a manner that

each server in a SAN may access shared storage as if it is directly attached t o the

server. A SAN thus serves as a pool of storage for servers in the network.

Brief Description of the Drawings

[002] For a better understanding of the solution, embodiments will now be described,

purely by way of example, with reference t o the accompanying drawings, in which:

[003] FIG. 1 is a block diagram of an example Storage Area Network (SAN);

[004] FIG. 2 is a diagram of an example computing device for executing a task in a

Storage Area Network (SAN);

[005] FIG. 3 is a block diagram of an example method for executing a task in a Storage

Area Network (SAN); and

[006] FIG. 4 is a block diagram of an example system for executing a task in a Storage

Area Network (SAN). Detailed Description

[007] A Storage Area Network (SAN) typically includes a network of storage devices

that are generally not accessible through the local area network (LAN) by other

devices. A SAN may present shared pools of storage devices t o one o r more host

devices (for example, servers). In an example, physical storage space provided by

storage devices in a SAN may be presented as a logical storage space t o host devices.

Such logical storage space may be identified using a "Logical Unit Number" (LUN).

LUNs may be used t o identify individual or collections of physical disk devices for

address by a protocol associated with a SCSI, iSCSl, (FC), and the like.

[008] Many of the existing SAN features require individual configuration of each LUN.

In other words, the existing SAN features may be performed on an entire LUN, and

each LUN may be dedicated t o a specific purpose. This is not an ideal situation since

it may lead t o additional computation overhead and additional disk space utilization,

and may also affect the performance of a storage device (for example, a storage

array) in a SAN.

[009] To address such issues, the present disclosure describes various examples for

executing a task in a SAN. In an example, a host device may be allowed to

dynamically select a range of blocks on a Logical Unit Number (LUN) of a storage

system in a Storage Area Network (SAN). Further t o the selection, a task may be

performed at the storage system on the range of blocks selected by the host.

[0010] FIG. 1 is a diagram of a Storage Area Network (SAN) 100, according t o an

example. Storage Area Network (SAN) 100 may include a plurality of host devices

104, 106, 108, and 110, and a plurality of storage devices 120, 122, 124, and 126.

Although only four devices and four storage devices are shown in FIG. 1, other

examples of this disclosure may include more or fewer number of host devices and

storage devices. [0011] Host devices 104, 106, 108, and 110, may be communicatively coupled t o

storage devices 120, 122, 124, and 126, for example, via a SAN "fabric" 112. The SAN

fabric may interconnect host devices 104, 106, 108, and 110, and storage devices

120, 122, 124, and 126. In an example, SAN fabric 112 may include one or more

network devices, for example, hubs, network switches, network routers, virtual

switches, virtual routers, cables, and the like. A host device for example, 104, 106,

108, and 110) may connect t o the SAN fabric 112 via one or more Host Bus Adaptors

(HBAs).

[0012] Some example communication protocols that may be used by host devices 104,

106, 108, and 110, t o communicate with storage devices 120, 122, 124, and 126 via

SAN fabric 112 may include Fibre Channel (FC), Ethernet, Internet Small Computer

System interface (iSCSI), HyperSCSI, ATA over Ethernet (AoE), and Fibre Channel over

Ethernet (FCoE). In an instance, one or more client computing devices (not shown)

may be communicatively coupled t o one or more host devices 104, 106, 108, and

110, for example, via a network. The network may be a wired or wireless network.

In an instance, the network may be a Local Area Network (LAN), a Wireless Local

Area Network (WAN), a Metropolitan Area Network (MAN), a public network (for

example, the Internet) or a private network (for example, an intranet). Host devices

104, 106, 108, and 110 thus may act as a point of interface between client

computing devices and storage devices 120, 122, 124, and 126.

[0013] Host devices 104, 106, 108, and 110 may each represent any type of computing

system capable of reading machine-executable instructions. Examples of host

devices 104, 106, 108, and 110 may include, without limitation, a server, a desktop

computer, a notebook computer, a tablet computer, a thin client, a mobile device, a

personal digital assistant (PDA), a phabiet, and the like. Host devices 104, 106, 108,

and 110 may each include one or more computer applications (machine-executable

instructions). Some non-limiting examples of the applications may include a file system, a database, an email application, and the like. Host devices 104, 106, 108,

and 110 may use one o r more storage devices 120, 122, 124, and 126, for example,

for storage, modification, retrieval, and transfer of data, snapshot data, replication

data, backup data, o r other data.

[0014] In an example, host device 104 may include a selection module 114 and a task

module 116. The term "module" may refer to a software component (machine

readable instructions), a hardware component o r a combination thereof. A module

may include, by way of example, components, such as software components,

processes, tasks, co-routines, functions, attributes, procedures, drivers, firmware,

data, databases, data structures, Application Specific Integrated Circuits (ASIC) and

other computing devices. A module may reside o n a volatile o r non-volatile storage

medium and configured t o interact with a processor of a computing device.

[0015] For the sake of simplicity of illustration, only host device 104 is shown to include

a selection module 114 and a task module 116. However, in other examples, any o r

all of the other host devices (i.e. 106, 108, and 110) may include these modules.

Some of the example functionalities that may be performed by selection module 114

and task module 116 are described in reference t o FIG. 2 below.

[0016] Storage devices 120, 122, 124, and 126 may be, for example, a storage array,

which may include one o r more storage drives (for example, hard disk drives, solid

state drives, etc.), a storage tape, a solid state drive, a USB drive, a Serial Advanced

Technology Attachment (SATA) disk drive, a Fibre Channel (FC) disk drive, a Serial

Attached SCSI (SAS) disk drive, a magnetic tape drive, an optical jukebox, a

Redundant Array of Independent Disks (RAID), and the like. In an example, storage

devices 120, 122, 124, and 126 may handle storage traffic from, for example, host

devices 104, 106, 108, and 110. Storage devices 120, 122, 124, and 126, may be

used, for example, for storage of data, snapshot data, replication data, backup data,

o r other data. [0017] In an example, physical storage space provided by storage devices 120, 122, 124,

and 126 may be presented as a logical storage space to host devices 104, 106, 108

and 110. Such logical storage space (also referred as "logical volume", "virtual disk",

or "storage volume") may be identified using a "Logical Unit Number" (LUN). n

another instance, physical storage space provided by storage devices 120, 122, 124,

and 126 may be presented as multiple logical volumes t o host devices 104, 106, 108,

and 110. In such case, each of the logical storage spaces may be referred t o by a

separate LUN. Thus, if storage device is physical disk, a LUN may refer t o the entire

physical disk, or a subset of the physical disk or disk volume. In another example, if a

storage device is a storage array comprising multiple storage disk drives, physical

storage space provided by the disk drives may be aggregated as a logical storage

space. The aggregated logical storage space may be divided into multiple logical

storage volumes, wherein each logical storage volume may be referred t o by a

separate LUN. LUNs, thus, may be used t o identify individual or collections of

physical disk devices for address by a protocol associated with, for example, a SCSI,

iSCSI, or Fibre Channel (FC).

[0018] FIG. 2 is a block diagram of an example computing device 200 for executing a

task in a Storage Area Network (SAN). In an example, computing device 200 may be

analogous t o any of the host devices 104, 106, 108 and 110 of FIG. 1, in which like

reference numerals correspond t o the same or similar, though perhaps not identical,

components. For the sake of brevity, components o r reference numerals of FIG. 2

having a same or similarly described function in FIG. 1 are not being described in

connection with FIG. 2. Said components or reference numerals may be considered

alike.

[0019] Computing device 200 may represent any type of computing system capable of

reading machine-executable instructions. Examples of computing device 200 may

include, without limitation, a server, a desktop computer, a notebook computer, a tablet computer, a thin client, a mobile device, a personal digital assistant (PDA), a

phab!et, and the like.

[0020] In the example of FIG. 2, computing device 200 may include a selection module

114 and a task module 116.

[0021] Selection module 114 may dynamically select a range of blocks on a Logical Unit

Number (LUN) of a storage system in a Storage Area Network (SAN) (for example,

100). n an instance, physical storage space provided by the storage system may be

presented as a logical storage space t o computing device 200. The logical storage

space (or storage volume) may be identified using a Logical Unit Number (LUN). In an

instance, the storage system may provide block level storage. In such case, a logical

storage space (or logical volume) may be divided into blocks. A "block" may be

defined as a sequence of bytes o r bits, having a nominal length (a block size). Data

(for example, a file) may be organized into a block. A block may be of fixed length or

variable length. A block may be defined at a logical storage level or at physical

storage disk level. In an instance, an application on computing device 200 may

dynamically select one or more blocks on a Logical Unit Number (LUN) of the storage

system for executing a task. In an example, the selected blocks may include

consecutive blocks.

[0022] In an instance, the storage system may include a plurality of storage devices. In

such case, the physical storage space provided by individual storage devices may be

presented as multiple logical volumes t o computing device 200. in such case, each of

the logical storage spaces may be referred t o by a separate LUN. For example, if the

storage system is a storage array comprising multiple storage disk drives, physical

storage space provided by the disk drives may be aggregated as a logical storage

space. The aggregated logical storage space may be divided into multiple logical

storage volumes, wherein each logical storage volume may be referred t o by a

separate LUN. in an instance, an application on computing device 200 may dynamically select one or more blocks on any of the LUNs of the storage system for

performing an act ion

[0023] Task module 116 may execute, at the storage system, a task on the range of

blocks selected by the computing device. In other words, once the computing device

selects one or more blocks on a Logical Unit Number (LUN) of the storage system in

the Storage Area Network (SAN) (for example, 100), task module 116 may perform

an action or operation on the selected blocks at the storage system. Task module

may perform a variety of tasks or actions on the selected blocks. Some non-limiting

examples are enumerated below.

[0024] In an example, task module 116 may generate a snapshot of the blocks selected

by the computing device 200. Snapshot may be defined as a mechanism to record

the state of a storage system at a given point of time. A snapshot may create a

point-in-time copy of the data in the blocks selected by the computing device 200.

Task module 116 may create a snapshot of the selected blocks using different

methodologies. For example, task module may use "Copy-on-write" approach in

this method, task module 116 may create a snapshot of a storage volume in a pre-

designated storage space. When an application writes to a block, the contents of the

original block that is t o be overwritten are moved t o a new location in the snapshot

file. The original data block may be moved t o the snapshot storage volume, prior to

the write onto the block. A subsequent read request may be directed to the original

volume. If a request relates t o changed data, the request may be directed t o blocks

in the snapshot file. If a request pertains to unchanged data, it may be served by the

original volume.

[0025] In another instance, task module 116 may use "Redirect-on-write" for generating

a snapshot of the selected blocks. In this approach, a new write t o the original data

may be redirected to another location earmarked for snapshot. In other words, in

redirect-on-write, the originai data is "frozen" and any write changes t o the original data i.e. "changed data" is written elsewhere on the disk This eliminates the three

step "read, rewrite and write" process associated with copy-on-write and reduces

snapshots t o just one "write" step.

[0026] In another example, task module 116 may replicate data in the blocks selected

by the computing device 200 t o another storage device(s), which in an instance, may

be present at a remote location(s) relative t o the computing device 200.

[0027] In a further example, task module 116 may create a backup of the blocks

selected by the computing device 200 t o another storage device(s), which may be

present at a local site or a remote location(s) relative to the computing device 200.

The backup of the blocks may be carried out on a storage device such as, but not

limited to, a magnetic tape, a disk, a storage array, and the like.

[0028] In a yet another example, task module 116 may generate a mirrorclone of the

blocks selected by the computing device 200. In mirrorclone, a live copy of the

selected blocks may be generated that maintains a relationship with the selected

blocks since they are always kept in sync in a synchronized state, a mirrorclone may

be automatically updated whenever the source is updated.

[0029] In another example, task module 116 may perform thin provisioning or thick

provisioning on the blocks selected by the computing device 200. In other words,

task module may dynamically set the selected blocks t o a thin or thick provisioning

mode. Thin provisioning may be called as "just-in-time" provisioning. Thin

provisioning (TP) optimizes the efficiency with which the available space may be

utilized in a storage device. Thin provisioning may allow allocation of selected blocks

in a flexible manner among multiple clients for example, LUNs). Thin provisioning

may enable provisioning of more storage on a LUN than what may be currently

available on a volume. Thus, a thin provisioned storage system may include a virtual

storage capacity and a real storage capacity. [0030] In thick provisioning, the amount of storage capacity on a disk is pre-ailocated on

physical storage at the time the disk is created. Thick provisioning may pre-allocate

storage capacity on a disk rather than on need basis. Disks in this format may be

created with the entire size of the disk pre-aiiocated on physical storage at the time

the disk is created.

[0031] In a still another example, task module 116 may perform a deduplication on data

in the blocks selected by the computing device 200. Data deduplication may be

defined as a technique for eliminating redundant data. Data deduplication

eliminates duplicate copies of blocks of data. Data deduplication may eliminate

additional copies, and save just one copy of the data. The additional copies may be

replaced with pointers that lead back to the original copy. By performing data

deduplication, task module 116 may eliminate duplicate copies of the selected

blocks from the storage system.

[0032] FIG. 3 is a block diagram of an example method 300 for executing a task in a

Storage Area Network (SAiM). The method 300, which is described below, may be

partially executed on a computing device such as host devices 104, 106, 108, and

100 of FIG. 1 or computing device 200 of FIG. 2. However, other suitable computing

devices may execute method 300 as well. At block 302, a host device may be

allowed t o dynamically select a range of blocks on a Logical Unit Number (LUN) of a

storage system in a Storage Area Network (SAN). At block 304, a task may be

executed at the storage system on the range of blocks selected by the host.

[0033] FIG. 4 is a block diagram of an example system 400 for executing a task in a

Storage Area Network (SAN). System 400 includes a processor 402 and a machine-

readable storage medium 404 communicatively coupled through a system bus. In an

example, system 400 may be analogous t o host devices 104, 106, 108 and 110 of

FIG. 1 or computing device 200 of FIG. 2. Processor 402 may be any type of Central Processing Unit (CPU), microprocessor, or processing logic that interprets and executes machine-readable instructions stored in machine-readable storage medium

404. Machine-readable storage medium 404 may be a random access memory

(RAM) or another type of dynamic storage device that may store information and machine-readable instructions that may be executed by processor 402. For example, machine-readable storage medium 404 may be Synchronous DRAM (SDRAM),

Double Data Rate (DDR), Rambus DRAM (RDRAM), Rambus RAM, etc. o r storage memory media such as a floppy disk, a hard disk, a CD-ROM, a DVD, a pen drive, a flash memory, and the like. In an example, machine-readable storage medium may be a non-transitory machine-readable medium. Machine-readable storage medium

404 may store instructions 406 and 408. In an example, instructions 406 may be executed by processor 402 t o allow an application to dynamically select a range of blocks on a LUN of a storage system in a Storage Area Network (SAN). Instructions

408 may be executed by processor 402 t o execute, at the storage system, a task on the range of blocks selected by the host.

4] For the purpose of simplicity of explanation, the example method of F G. 3 is shown as executing serially, however it is to be understood and appreciated that the present and other examples are not limited by the illustrated order. The example systems of FIGS. 1, 2 and 4, and method of FIG. 3 may be implemented in the form of a computer program product including computer-executable instructions, such as program code, which may be run on any suitable computing device in conjunction with a suitable (for example, Microsoft Windows, Linux, , and the like). Embodiments within the scope of the present solution may also include program products comprising non-transitory computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, such computer- readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM, magnetic disk storage or other storage devices, or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions and which can be accessed by a genera! purpose or special purpose computer. The computer readable instructions can also be accessed from memory and executed by a processor.

5] It should be noted that the above-described examples of the present solution is for the purpose of illustration only. Although the solution has been described in conjunction with a specific embodiment thereof, numerous modifications may be possible without materially departing from the teachings and advantages of the subject matter described herein. Other substitutions, modifications and changes may be made without departing from the spirit of the present solution. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. Claims:

1. A method of executing a task in a Storage Area Network (SAN), comprising:

allowing a host device t o dynamically select a range of blocks on a Logical Unit

Number (LUN) of a storage system in a Storage Area Network (SAN); and

executing, at the storage system, a task on the range of blocks selected by the host device.

2. The method of claim 1, wherein the storage system includes a storage array.

3. The method of claim 1, wherein the task includes taking a snapshot of the range of blocks selected by the host device.

4 . The method of claim 1, wherein the task includes generating a mirrorclone of the range of blocks selected by the host device.

5. The method of claim 1, wherein the task includes replicating the range of blocks selected by the host device t o another storage device at a remote location.

6. A system for executing a task in a Storage Area Network (SAN), comprising:

a selection module to dynamically select a range of blocks on a LUN of a storage array in a Storage Area Network (SAN); and

a task module t o perform, at the storage array, an action on the range of selected blocks.

7. The system of claim 6, wherein the action includes thin provisioning the range of selected blocks.

8. The system of claim 6, wherein the action includes performing deduplication on the range of selected blocks. 9. The system of claim 6, wherein the range of blocks include consecutive blocks.

10. A non-transitory machine-readable storage medium comprising instructions for executing a task in a Storage Area Network (SAN), the instructions executable by a processor to:

allow an application t o dynamically select a range of blocks on a LUN of a storage system in a Storage Area Network (SAN); and

execute, at the storage system, a task on the range of blocks selected by the application.

11. The storage medium of claim 10, wherein the action includes thick provisioning the range of blocks selected by the application.

12. The storage medium of claim 10, wherein the application includes a database.

13. The storage medium of claim 10, wherein the application includes a file system.

14. The storage medium of claim 10, wherein the task includes performing a backup of the selected range of blocks t o another storage device.

15. The storage medium of claim 10, wherein the storage system provides block level storage.

A. CLASSIFICATION OF SUBJECT MATTER H04L 29/08(2006.01)i, G06F 3/06(2006.01)i, G06F 17/30(2006.01)i

According to International Patent Classification (IPC) or to both national classification and IPC B. FIELDS SEARCHED Minimum documentation searched (classification system followed by classification symbols) H04L 29/08; G06F 3/06; G06F 15/173; G06F 17/30; G06F 9/455; G06F 11/16

Documentation searched other than minimum documentation to the extent that such documents are included in the fields searched Korean utility models and applications for utility models Japanese utility models and applications for utility models

Electronic data base consulted during the international search (name of data base and, where practicable, search terms used) eKOMPASS(KIPO internal) & keywords: logical unit number, select, task, storage area network

DOCUMENTS CONSIDERED TO BE RELEVANT

Category' Citation of document, with indication, where appropriate, of the relevant passages Relevant to claim No.

Y US 2014-0304239 Al (NETAPP , INC . ) 0 9 October 2014 1-15 See paragraphs [ 0026] - [ 0029 ] , [0036] , [0094] ; c l aims 1-3 ; and f igure 1 .

US 2015-0113183 Al ( INTERNATIONAL BUSINESS MACHINES CORPORATION) 1-15 23 Apr i 1 2015 See paragraphs [0053] , [0054] ; c l aim V, and f i gures 2-5 .

US 2014-0157046 Al ( INTERNATIONAL BUSINESS MACHINES CORP. ) 05 June 2014 1-15 See paragraphs [0037]- [0042] ; c l aims 1-7; and f igures 4 , 5 .

US 2013-0318228 Al (KRISHNA RAJ RAJA e t a l . ) 2 8 November 2013 1-15 See abstract ; paragraphs [0058]-[0068] ; and f i gures 6 , 7 .

US 2013-0275690 Al (MASATAKA INNAN e t a l . ) 17 Oct ober 2013 1-15 See abstract ; c l aims 2-9 ; and f igure 1 .

I IFurther documents are listed in the continuation of Box C. See patent family annex.

* Special categories of cited documents: "T" later document published after the international filing date or priority "A" document defining the general state of the art which is not considered date and not in conflict with the application but cited to understand to b e of particular relevance the principle or theory underlying the invention "E" earlier application or patent but published on or after the international "X" document of particular relevance; the claimed invention cannot b e filing date considered novel or cannot be considered to involve an inventive "L" document which may throw doubts on priority claim(s) or which is step when the document is taken alone cited to establish the publication date of another citation or other "Y" document of particular relevance; the claimed invention cannot b e special reason (as specified) considered to involve an inventive step when the document is "O" document referring to an oral disclosure, use, exhibition or other combined with one or more other such documents,such combination means being obvious to a person skilled in the art "P" document published prior to the international filing date but later "&" document member of the same patent family than the priority date claimed

Date of the actual completion of the international search Date of mailing of the international search report 28 March 2016 (28.03.2016) 11 April 2016 (11.04.2016)

Name and mailing address of the ISA/KR Authorized officer . / International Application Division Korean Intellectual Property Office KJM, Seong Woo ¾ 189 Cheongsa-ro, Seo-gu, Daejeon, 35208, Republic of Korea

Facsimile No. +82-42-481-8578 Telephone No. +82-42-481-3348 ¾¾„ ·

Form PCT/ISA/210 (second sheet) (January 2015) Information on patent family members PCT/US2015/067030

Patent document Publication Patent family Publication cited in search report date member(s) date

US 2014-0304239 Al 09/10/2014 None

US 2015-0113183 Al 23/04/2015 US 2009-0222733 Al 03/09/2009 us 8930537 B2 06/01/2015

US 2014-0157046 Al 05/06/2014 None

US 2013-0318228 Al 28/11/2013 AU 2013-205443 B2 21/05/2015 EP 2667569 Al 27/11/2013 JP 2013-246821 A 09/12/2013 US 2015-0242235 Al 27/08/2015 us 8954575 B2 10/02/2015

US 2013-0275690 Al 17/10/2013 CN 101271382 A 24/09/2008 CN 1869914 A 29/11/2006 CN 1869914 C 18/06/2008 EP 1727033 Al 29/11/2006 EP 2246777 A2 03/11/2010 EP 2246777 A3 22/12/2010 EP 2246777 Bl 28/10/2015 JP 2006-330895 A 07/12/2006 JP 5057656 B2 24/10/2012 US 2006-0271758 Al 30/11/2006 us 2009-0150608 Al 11/06/2009 us 2010-0274963 Al 28/10/2010 us 2011-0314250 Al 22/12/2011 us 7953942 B2 31/05/2011 us 8078810 B2 13/12/2011 us 8180979 B2 15/05/2012 us 8484425 B2 09/07/2013

Form PCT/ISA/2 10 (patent family annex) (January 20 15)