WO2015165057A1 - 一种硬盘执行应用代码的方法及装置 - Google Patents
一种硬盘执行应用代码的方法及装置 Download PDFInfo
- Publication number
- WO2015165057A1 WO2015165057A1 PCT/CN2014/076563 CN2014076563W WO2015165057A1 WO 2015165057 A1 WO2015165057 A1 WO 2015165057A1 CN 2014076563 W CN2014076563 W CN 2014076563W WO 2015165057 A1 WO2015165057 A1 WO 2015165057A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application code
- hard disk
- virtual machine
- execution
- data information
- Prior art date
Links
Classifications
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Definitions
- the present invention relates to the field of storage technologies, and in particular, to a method and apparatus for executing an application code by a hard disk.
- Ethernet interfaces In recent years, with the rise of cloud storage, hard disks with Ethernet interfaces, that is, Ethernet interfaces, have become more and more widely used.
- the existing Ethernet interface hard disk provides an open Key-Value semantic interface, so that the client can access the Ethernet interface hard disk by using the Key-Value interface of the Ethernet interface hard disk.
- the client provides a key for the Ethernet interface hard disk as the logical address.
- the Ethernet interface hard disk can be addressed in its storage space to find the physical address corresponding to the key, if the client is to the Ethernet.
- the interface hard disk is read and accessed, and the Ethernet interface hard disk can read the corresponding Value from the physical address and return the Va 1 ue to the client. If the client writes to the Ethernet interface hard disk, the Ethernet interface hard disk can be used.
- the value provided by the client is written to the physical address.
- Ethernet interface hard disk in the prior art only supports the access mode based on the Key-Value semantic interface, so that the client can only access the Ethernet interface hard disk through the Key-Value interface, which limits the relationship between the client and the Ethernet interface hard disk. The ability to interact. Summary of the invention
- the invention provides a method and a device for executing an application code of a hard disk, so that the hard disk can support the access mode of the hard disk based on the application code from the outside of the hard disk, thereby enhancing the performance of the hard disk, thereby improving the interaction capability between the client and the hard disk.
- the present invention provides a method for a hard disk to execute an application code, including: a hard disk receiving an application code and an execution strategy of the application code;
- the hard disk executes the application code in the virtual machine environment according to an execution policy of the application code.
- the method further includes: the hard disk receiving virtual machine data information, where the virtual machine data information is used to create the virtual machine environment;
- the hard disk determines a virtual machine environment for executing the application code according to the virtual machine identifier carried in the application code.
- the hard disk is according to the foregoing
- the execution code of the application code, where the application code is executed in the virtual machine environment specifically includes:
- the hard disk loads the application code into a memory of the hard disk corresponding to the application code process
- the hard disk executes the application code process in the virtual machine environment according to an execution policy of the application code.
- the method further includes:
- the hard disk receives an execution indication of the virtual machine data information, where the execution indication of the virtual machine data information is used to indicate whether the hard disk persists the virtual machine data information;
- the hard disk performs an operation corresponding to the execution instruction of the virtual machine data information on the virtual machine data information according to the execution instruction of the virtual machine data information.
- the execution strategy of the application code includes: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code.
- the present invention provides a hard disk, including:
- a receiving unit configured to receive an application code and an execution policy of the application code
- a determining unit configured to determine, according to the application code received by the receiving unit, whether the application code needs to be executed in a virtual machine environment
- An execution unit configured to execute, in the virtual machine environment, according to an execution policy of the application code received by the receiving unit, if the determining unit determines that the application code needs to be executed in the virtual machine environment The application code received by the receiving unit.
- the hard disk further includes a creating unit
- the receiving unit is further configured to receive virtual machine data information, where the virtual machine data information is used to create the virtual machine environment;
- the creating unit is configured to create the virtual machine environment according to the virtual machine data information received by the receiving unit.
- the application code carries a virtual machine identifier
- the determining unit is further configured to determine, according to the virtual machine identifier carried in the application code, a virtual machine environment that executes the application code.
- the hard disk further includes a loading unit
- the creating unit is further configured to create an application code process in the virtual machine environment for the application code received by the receiving unit;
- the loading unit is configured to load the application code received by the receiving unit into a memory of the hard disk corresponding to the application code process created by the creating unit Medium
- the executing unit is specifically configured to execute, according to an execution policy of the application code received by the receiving unit, the application code process created by the creating unit in the virtual machine environment created by the creating unit.
- the receiving unit is further configured to receive an execution indication of the virtual machine data information, where the execution indication of the virtual machine data information is used to indicate whether to persist the virtual machine data information;
- the executing unit is further configured to: perform, according to an execution instruction of the virtual machine data information received by the receiving unit, the virtual machine data information received by the receiving unit to perform an execution indication of the virtual machine data information Operation.
- the execution policy of the application code received by the receiving unit includes: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after executing the application code.
- the present invention also provides a hard disk, including:
- a processor configured to receive an application code and an execution policy of the application code, and determine, according to the application code, whether the application code needs to be executed in a virtual machine environment, and if yes, according to an execution policy of the application code, Executing the application code in the virtual machine environment;
- a memory configured to store the application code and an execution policy of the application code.
- the processor is further configured to receive virtual machine data information, and create the virtual machine environment according to the virtual machine data information, where the virtual machine data information is used to create the virtual machine environment;
- the memory is further configured to store the virtual machine data information.
- the processor is further configured to determine, according to the virtual machine identifier carried in the application code, a virtual machine environment that executes the application code.
- the processor is specifically configured to create an application code process for the application code in the virtual machine environment, and load the application code into a memory of the hard disk corresponding to the application code process, and The application code process is executed in the virtual machine environment.
- the processor is further configured to receive an execution indication of the virtual machine data information, and perform, according to an execution instruction of the virtual machine data information, an execution instruction corresponding to the virtual machine data information And the execution indication of the virtual machine data information is used to indicate whether to persist the virtual machine data information; and the storage is further configured to store an execution indication of the virtual machine data information.
- the execution strategy of the application code received by the processor includes: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code.
- the present invention provides a method and apparatus for executing an application code by a hard disk, receiving an application code and an execution strategy of the application code through a hard disk, and determining whether the application code needs to be executed in a virtual machine environment, and if the hard disk determines that the application code needs to be Executed in the virtual machine environment, and the hard disk is in the virtual machine environment according to the execution strategy of the application code. Execute the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and according to the execution strategy, the application code is executed in the virtual machine environment, that is, the hard disk can support
- the ability to access the hard disk based on application code from outside the hard disk enhances the performance of the hard disk and improves the interaction between the client and the hard disk.
- the present invention provides a method for a hard disk to execute an application code, including: a hard disk receiving an application code and an execution strategy of the application code;
- the hard disk creates an application code process for the application code
- the hard disk loads the application code into a memory of the hard disk corresponding to the application code process
- the hard disk executes the application code process in a memory of the hard disk according to an execution policy of the application code.
- the execution strategy of the application code includes: performing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code, and an identifier of the application code, The starting position of the application code and the length of the application code.
- the application code is an application code in a binary format.
- the present invention provides a hard disk, including:
- a receiving unit configured to receive an application code and an execution policy of the application code
- a creating unit configured to create an application code process for the application code received by the receiving unit
- a loading unit configured to load the application code received by the receiving unit into a memory of the hard disk corresponding to the application code process created by the creating unit; and an executing unit, configured to receive according to the receiving unit
- the execution code of the application code executes the application code process created by the creation unit in a memory of the hard disk.
- the execution policy of the application code received by the receiving unit includes: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after executing the application code, and the application An identification of the code, a starting location of the application code, and a length of the application code.
- the application code received by the receiving unit is an application code in a binary format.
- the present invention provides a hard disk, including:
- a processor configured to receive an application code and an execution policy of the application code, and create an application code process for the application code, and load the application code into an internal memory of the hard disk corresponding to the application code process And executing the application code process in a memory of the hard disk according to an execution policy of the application code;
- a memory configured to store the application code and an execution policy of the application code.
- the execution strategy of the application code received by the processor includes: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code, and the application An identification of the code, a starting location of the application code, and a length of the application code.
- the application code received by the processor is an application code in a binary format.
- the present invention provides a method and apparatus for executing an application code by a hard disk, receiving an application code and an execution strategy of the application code through a hard disk, and the hard disk creates an application code process for the application code, and the hard disk loads the application code to the application code.
- the process corresponds to the memory of the hard disk, so that the hard disk executes the application code process in the memory of the hard disk according to the execution strategy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and an execution strategy of the application code, and execute the application code in a process according to the execution policy, That is, the hard disk can support the hard disk access based on the application code from the outside of the hard disk, thereby enhancing the performance of the hard disk, thereby improving the interaction between the client and the hard disk.
- application code for example, custom application code
- FIG. 1 is a flow chart of a method for executing an application code of a hard disk according to an embodiment of the present invention
- FIG. 2 is a flow chart 1 of another method for executing an application code by a hard disk according to an embodiment of the present invention
- FIG. 3 is a flow chart of a method for executing an application code of a hard disk according to an embodiment of the present invention
- FIG. 4 is a flow chart of a method for executing an application code of a hard disk according to an embodiment of the present invention
- FIG. 5 is a flowchart of a method for executing an application code of a hard disk according to an embodiment of the present invention
- FIG. 6 is a flow chart 2 of another method for executing an application code by a hard disk according to an embodiment of the present invention.
- FIG. 7 is a schematic structural diagram 1 of a hard disk according to an embodiment of the present disclosure.
- FIG. 8 is a schematic structural diagram 2 of a hard disk according to an embodiment of the present disclosure.
- FIG. 9 is a schematic structural diagram 3 of a hard disk according to an embodiment of the present disclosure.
- FIG. 10 is a schematic structural diagram 4 of a hard disk according to an embodiment of the present disclosure.
- FIG. 11 is a schematic structural diagram 5 of a hard disk according to an embodiment of the present disclosure.
- FIG. 12 is a schematic structural diagram 6 of a hard disk according to an embodiment of the present invention.
- the Ethernet interface only supports the Key-Value semantic interface, and does not support other interfaces. Therefore, when the user accesses the hard disk through the client and the server, the Key-Value semantic interface can only be used for access, and Key—
- the Va 1 ue semantic interface only supports some operations for storing data and cannot support user-defined operations.
- a data API Application Programming Interface
- a pipe may be defined for the hard disk.
- the API allows the hard disk to receive the application code of the user-specified operation and the execution strategy of the application code from the data plane interface of the server by calling the data API of the hard disk; or enabling the hard disk to receive from the management plane interface of the server by calling the management API of the hard disk.
- the hard disk can execute the corresponding operation of the application code (for example, a user-defined operation) according to the received application code from the outside of the hard disk (for example, the user customizes according to requirements) and the execution strategy of the application code, and the implementation is based on
- the application code received from the outside of the hard disk accesses the hard disk, which enhances the performance of the hard disk, thereby improving the interaction between the client and the hard disk.
- the method for executing the application code of the hard disk provided by the embodiment of the present invention corresponds to an execution method of the application code provided by the embodiment of the present invention, where the application code may be an application code that needs to be executed in a virtual machine environment, that is, The application code is an application code written in a certain programming language; and corresponding to the execution method of another application code provided by the embodiment of the present invention, the application code may be an application code in a binary format.
- the embodiment of the invention provides a method for executing an application code by a hard disk. As shown in FIG. 1 , the method may include:
- the hard disk receives an application code and an execution strategy of the application code.
- the hard disk provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk, that is, the hard disk provided by the embodiment of the present invention may be based on ARM (Advanced Reduced Ins t rue t Ion Set Computing Machines, Advanced Reduced Instruction Sets) The hard drive of the system.
- ARM Advanced Reduced Ins t rue t Ion Set Computing Machines, Advanced Reduced Instruction Sets
- the user can write the application code of the specified operation, and set the execution strategy of the application code of the specified operation, thereby the user
- the application code and the execution policy of the application code can be sent to the hard disk through the client and the deployed server, that is, the hard disk receives the application code sent by the server and the execution strategy of the application code.
- the execution strategy of the application code may be preset according to actual needs.
- the server may include a data plane interface and a management plane interface.
- the execution strategy of the application code and the application code can be transmitted to the hard disk through the data plane interface of the server.
- the application code provided in this embodiment is application code that needs to be executed in a virtual machine environment, that is, the application code is application code written in a certain programming language, when the server transmits the application code to the hard disk, , can be passed using the server's data plane interface.
- the data plane interface of the server can be used, and the data of the hard disk is called.
- the application code and the execution strategy of the application code are transmitted to the hard disk.
- the data AP I provided by the embodiment of the present invention may be an interface of the data plane of the hard disk, and the data AP I is an interface that is in the same plane as the Key-Va ue interface of the hard disk.
- the application code that can be executed by the hard disk includes, but is not limited to, the application code of the user specified operation, that is, the application code provided by the embodiment of the present invention may be determined by the user. The actual needs are written, and the invention is not limited.
- the execution strategy of the application code may include: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after executing the application code.
- the triggering condition for executing the application code may be: executing the application code when the hard disk has not received the external service request for 24 hours; the execution condition of the application code may be: exiting after executing the application code, or executing the application code Re-execute the application code after the failure; after the execution of the application code, the operation can be: After executing the application code, record the execution log in the specified log area of the hard disk, or send the execution log to the external network management server after executing the application code.
- the execution strategy of the application code provided by the embodiment of the present invention may be set according to actual execution requirements, and the present invention is not limited.
- the hard disk determines, according to the application code, whether the application code needs to be executed in a virtual machine environment.
- the hard disk After the hard disk receives the application code, the hard disk can determine whether the application code needs to be executed in the virtual machine environment according to the application code.
- the most common are the various virtual machines in a computer, and the operating environment that consists of these virtual machines. If the so-called “virtual machine” refers to the software and hardware itself used to represent the virtual machine, then the “virtual machine environment” is the virtual machine that is running.
- the virtual machine is a JVM (JAVA Virtual Machine)
- the virtual machine environment is a JVM environment.
- the hard disk determines that the application code needs to be executed in the virtual machine environment, the hard disk executes the application code in the virtual machine environment according to an execution policy of the application code.
- the hard disk can determine whether the application code needs to be executed in a virtual machine environment according to the application code. If the hard disk determines that the application code needs to be executed in a virtual machine environment, the hard disk can be received according to the received The execution code of the application code executes the application code in the environment of the virtual machine.
- the application code needs to be executed in a virtual machine environment, it indicates that the application code is an application code that can be executed based on a virtual machine, that is, the application code is an application code designed in a certain programming language, and therefore, the hard disk
- the application code can be executed based on the virtual machine interpretation, that is, the hard disk can interpret execution of the application code in a virtual machine environment, that is, a running virtual machine.
- the application code is JAVA (programming language) bytecode
- the corresponding virtual machine is a JVM
- the hard disk needs to interpret and execute the JAVA bytecode in the JVM environment when executing the JAVA bytecode. , that is, explain the execution in the running JVM Application code.
- the JAVA bytecode is the code compiled for the original JAVA code.
- the virtual machine, the virtual machine environment, and the application code that needs to be executed in the virtual machine environment provided by the embodiment of the present invention may include any one of the following:
- the virtual machine is a JVM
- the virtual machine environment is a JVM environment
- the application code that needs to be executed in the virtual machine environment is a JAVA bytecode that needs to be executed in the JVM environment.
- the virtual machine is a SQL (Structured Query Language) engine
- the virtual machine environment is a SQL engine environment.
- the application code that needs to be executed in the virtual machine environment is a SQL statement that needs to be executed in the SQL engine environment.
- the virtual machine is a user-defined engine.
- the virtual machine environment is a user-defined engine environment.
- the application code that needs to be executed in the virtual machine environment is code that needs to be executed in the user-defined engine environment.
- the corresponding relationship between the foregoing four virtual machines, the virtual machine environment, and the application code that needs to be executed in the virtual machine environment is only an exemplary description, that is, the virtual machine and the virtual provided by the embodiment of the present invention.
- the correspondence between the machine environment and the application code that needs to be executed in the virtual machine environment includes, but is not limited to, the above four types, virtual machines, virtual machine environments designed by other means that meet actual design requirements, and needs to be in the virtual
- Correspondence between application codes executed in the machine environment is also within the scope of the present invention.
- An embodiment of the present invention provides a method for executing an application code by a hard disk, receiving an application code and an execution policy of the application code through a hard disk, and determining whether the application code needs to be executed in a virtual machine environment, and if the hard disk determines that the application code needs to be Executed in the virtual machine environment, the hard disk executes the application code in the virtual machine environment according to an execution policy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and an execution strategy of the application code, and according to the execution strategy, execute the application code in the virtual machine environment, that is, the hard disk can support
- the ability to access the hard disk based on application code from outside the hard disk enhances the performance of the hard disk and improves the interaction between the client and the hard disk.
- An embodiment of the present invention provides another method for executing an application code by a hard disk. As shown in FIG. 2, the method may include:
- the S 2 0 hard disk receives the application code and the execution strategy of the application code.
- the hard disk provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk.
- the ARM-based hard disk improves the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- the user needs to perform some specified operations on the hard disk (some functions that the user needs to expand on the hard disk), for example, virus scanning of the hard disk, integrity check of the hard disk data, compression of the hard disk data, garbage collection of the hard disk, execution
- the hard disk data is migrated and copied to other hard disks, the hard disk data is encrypted based on the user-provided key, or a user-defined policy is executed.
- the user can write the application code of the specified operation and set the execution strategy of the application code of the specified operation. Therefore, the user can send the application code and the execution policy of the application code to the hard disk through the client and the deployed server, that is, the hard disk receives the application code sent by the server and the execution strategy of the application code.
- the execution strategy of the application code may be preset according to actual needs.
- the server may include a data plane interface and a management plane interface.
- the execution strategy of the application code and the application code can be transmitted to the hard disk through the management plane interface of the server or the data plane interface of the server.
- the application code provided in this embodiment is an application code that can be directly executed by the hard disk, that is, the application code is an application code in a binary format. Therefore, when the server transmits the application code to the hard disk, the management plane interface of the server may be used. Passing, can also be passed using the server's data plane interface.
- the management plane interface of the server is invoked, and the management AP I of the hard disk is invoked, and the application code and the execution strategy of the application code are transmitted to the hard disk; Pass the data plane interface of the server, and call the data AP I of the hard disk, and transfer the application code and the execution strategy of the application code to the hard disk.
- the server can transfer the application code to the hard disk through the management plane interface of the server by means of fi rmwa re (firmware) loading.
- the management AP 1 of the hard disk provided by the embodiment of the present invention may be an interface of the hard disk management plane.
- the data AP I of the hard disk may be an interface of the hard disk data plane, where the data AP I is the hard disk.
- the Key-Va ue interface is on the same plane interface.
- the application code that can be executed by the hard disk includes, but is not limited to, the application code of the user specified operation, that is, the application code provided by the embodiment of the present invention may be determined by the user. The actual needs are written, and the invention is not limited.
- the execution strategy of the application code may include: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code, and an identifier of the application code, a start position of the application code, and The length of the application code.
- the triggering condition for executing the application code may be: executing the application code when the hard disk has not received the external service request for 24 hours; the execution condition of the application code may be: exiting after executing the application code, or executing the application code Re-execute the application code after the failure; after the execution of the application code, the operation may be: after executing the application code, the execution log is recorded in the specified log area of the hard disk, or the execution log is sent to the external network management server after executing the application code;
- the identifier of the application code may be used to indicate the application code provided by the embodiment of the present invention, that is, the extended application code provided by the user; the starting position of the application code may be used to indicate the starting address of the application code storage.
- the hard disk may confirm the extended application code provided by the application code according to the identifier of the application code, and obtain the application code according to the starting position of the application code and the length of the application code. And executing the application code according to the execution strategy of the application code.
- the execution strategy of the code includes, but is not limited to, the foregoing descriptions, that is, the execution strategy of the application code provided by the embodiment of the present invention may be set according to actual execution requirements, and the present invention is not limited thereto.
- the hard disk creates an application code process for the application code.
- the hard disk can create an application code process for the application code, that is, the hard disk can create an application code process corresponding to the application code.
- the process is the basis of the operating system structure; it is a dynamic execution of the program; it is a running instance of the program; it is the activity of the program and its data when executed sequentially on the processor; the program runs on a data set
- the process is a separate unit of the system for resource allocation and scheduling.
- the application code process provided by the embodiment of the present invention is a dynamic execution of the application code program; and is a running instance of the application code program.
- the hard disk loads the application code into the memory of the hard disk corresponding to the application code process.
- the hard disk can load the application code into the memory of the hard disk corresponding to the application code process.
- the application code process created by the hard disk in the S 2 02 is a process management structure, that is, the application code process created by the hard disk is a program architecture, and the program architecture passes through the S. 2 0 3, after the application code is loaded into the memory of the hard disk corresponding to the application code process, the application code process is a running instance of the application code program in the memory of the hard disk.
- the hard disk executes the application code process in the memory of the hard disk according to the execution strategy of the application code.
- the hard disk can execute the application code process in the memory of the hard disk according to the execution strategy of the application code, that is, the hard disk can be executed according to the execution strategy of the application code.
- the application code is executed as a process in the memory of the hard disk.
- An embodiment of the present invention provides another method for executing an application code by using a hard disk, and receiving an application code and an execution policy of the application code by using a hard disk, and the hard disk is created for the application code.
- the application code process, and the hard disk loads the application code into the memory of the hard disk corresponding to the application code process, so that the hard disk executes the application code process in the memory of the hard disk according to the execution strategy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and execute the application code in a process manner according to the execution strategy, that is, the hard disk can support based on The way the application code from the outside of the hard disk accesses the hard disk enhances the performance of the hard disk, thereby improving the interaction between the client and the hard disk.
- application code for example, custom application code
- the execution strategy of the application code for example, custom application code
- an embodiment of the present invention provides a method for a hard disk to execute an application code, where the method may include:
- the hard disk receives virtual machine data information, where the virtual machine data information is used to create a virtual machine environment.
- the hard disk provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk.
- the ARM-based hard disk improves the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- the user needs to perform some specified operations on the hard disk (some functions that the user needs to expand on the hard disk), for example, virus scanning of the hard disk, integrity check of the hard disk data, compression of the hard disk data, garbage collection of the hard disk, execution
- the hard disk data is migrated and copied to other hard disks, the hard disk data is encrypted based on the user-provided key, or a user-defined policy is executed, and the user can write the application code of the specified operation.
- the user In order to save the system resources of the hard disk, the user generally writes the application code of the specified operations in a certain programming language, and the application code of the specified operations written in the programming language depends on the corresponding virtual machine execution, that is, the designation The application code of the operation needs to be executed in the corresponding virtual machine environment.
- the hard disk when the hard disk first executes the application code written in a certain programming language, the hard disk needs to create a running environment corresponding to the virtual machine, that is, the virtual machine environment.
- the hard disk receives virtual machine data information, where the virtual machine data information can be used to create a virtual machine environment.
- the virtual machine data information may include a virtual machine identifier, where the virtual machine identifier may be a name of the virtual machine, may be a type of the virtual machine, or may be a name of the virtual machine and the virtual machine The type may also be any other identifier that satisfies the distinguishing requirement, and the present invention is not limited.
- the virtual machine data information may include a J VM identifier (the name of the J VM and/or the type of the J VM).
- the name of the virtual machine included in the virtual machine data information may be a J VM
- the virtual machine type included in the virtual machine data information may be a type of the J VM, where the type of the J VM may be “J VM” XXXX" ("XXXX" can be used to indicate the version number of the J VM or the vendor ID that produced the J VM;).
- the hard disk creates the virtual machine environment according to the virtual machine data information.
- the hard disk After the hard disk receives the virtual machine data information, the hard disk can create the virtual machine environment according to the virtual machine data information.
- the most common are the various virtual machines in a computer, and the operating environment that consists of these virtual machines. If the so-called “virtual machine” refers to the software and hardware itself used to represent the virtual machine, then the “virtual machine environment” is the virtual machine that is running.
- the virtual machine is a J VM
- the virtual machine environment is a J VM environment.
- the hard disk receives the application code and the execution strategy of the application code.
- the user after the user writes the application code of the specified operation according to the actual requirement, and sets the execution strategy of the application code of the specified operation, the user can execute the application code and the application code correspondingly through the client and the deployed server.
- the policy is sent to the hard disk, that is, the application code sent by the hard disk receiving server and the execution policy of the application code, wherein the execution strategy of the application code may be preset according to actual needs.
- the server may include a data plane interface and a management plane interface.
- the execution strategy of the application code and the application code can be transmitted to the hard disk through the data plane interface of the server.
- the application code provided in this embodiment is an application code that needs to be executed in a virtual machine environment, that is, the application code is a certain programming language.
- the application code is written, so when the server passes the application code to the hard disk, it can be delivered using the server's data plane interface.
- the data plane interface of the server can be used, and the data of the hard disk is called.
- the application code and the execution strategy of the application code are transmitted to the hard disk.
- the data AP I provided by the embodiment of the present invention may be an interface of the data plane of the hard disk, and the data AP I is an interface that is in the same plane as the Key-Va ue interface of the hard disk.
- the application code that can be executed by the hard disk includes, but is not limited to, the application code of the user specified operation, that is, the application code provided by the embodiment of the present invention may be determined by the user. The actual needs are written, and the invention is not limited.
- the execution strategy of the application code may include: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code.
- the triggering condition for executing the application code may be: executing the application code when the hard disk has not received the external service request for 24 hours; the execution condition of the application code may be: exiting after executing the application code, or executing the application code The application code is re-executed after the failure; the operation after the completion of the application code may be: After executing the application code, the execution log is recorded in the specified log area of the hard disk, or the execution log is sent to the external network management server after executing the application code.
- the implementation strategy of the application code provided by the embodiment of the present invention may be set according to actual implementation requirements, which is not limited by the present invention.
- the hard disk determines, according to the application code, whether the application code needs to be executed in a virtual machine environment.
- the hard disk After the hard disk receives the application code, the hard disk can determine whether the application code needs to be executed in the virtual machine environment according to the application code.
- the application code may also include a virtual machine identifier, where the virtual machine identifier may be a name of the virtual machine, may be a type of the virtual machine, or may be a name of the virtual machine and a type of the virtual machine. , can also be used for other arbitrary satisfaction
- the identification sought is not limited in the present invention.
- the application code can include the JVM identifier (the name of the JVM and/or the type of the JVM).
- the name of the virtual machine included in the application code may be a JVM
- the type of the virtual machine included in the application code may be a type of the J VM, where the type of the JVM may be "JVM XXXX" ("XXXX" Can be used to indicate the version number of the JVM or the vendor ID that produced the JVM ;).
- the hard disk may determine the virtual machine environment that executes the application code according to the virtual machine identifier carried in the application code; instead, if the application code is not Carrying the virtual machine ID, the hard disk can determine that the application code does not need to be executed in the virtual machine environment.
- the present invention may not limit the execution order of S301-S 302 and S 303-S 304, that is, the present invention may first execute S301-S 302, then execute S 303-S 304; or may perform S 303- first. S304, then S301-S 302 is performed; S301-S302 and S303-S304 can also be executed simultaneously.
- the hard disk may determine a virtual machine environment that executes the application code according to the virtual machine identifier carried in the application code.
- the hard disk After the hard disk determines that the application code needs to be executed in the virtual machine environment, the hard disk can further determine the virtual machine environment in which the application code is executed according to the virtual machine identifier carried in the application code.
- the hard disk may determine, according to the JVM, that the virtual machine environment that executes the application code is a JVM environment.
- the application code needs to be executed in a virtual machine environment, it indicates that the application code is an application code that can be executed based on a virtual machine, that is, the application code is an application code designed in a certain programming language, and therefore, the hard disk
- the application code can be executed based on the virtual machine interpretation, that is, the hard disk can interpret execution of the application code in a virtual machine environment, that is, a running virtual machine.
- the virtual machine is a JVM.
- the hard disk executes the JAVA bytecode, it needs to interpret and execute the JAVA bytecode in the JVM environment, that is, interpret and execute the application code in the running JVM.
- the JAVA bytecode is the code compiled for the original JAVA code.
- the virtual machine, the virtual machine environment, and the application code required to be executed in the virtual machine environment provided by the embodiment of the present invention may include any one of the following:
- the virtual machine is a JVM
- the virtual machine environment is a JVM environment
- the application code that needs to be executed in the virtual machine environment is a JAVA bytecode that needs to be executed in the JVM environment.
- the virtual machine is a script engine
- the virtual machine environment is a script engine environment.
- the application code that needs to be executed in the virtual machine environment is script code that needs to be executed in the script engine environment.
- the virtual machine is a SQL engine
- the virtual machine environment is a SQL engine environment.
- the application code that needs to be executed in the virtual machine environment is a SQL statement that needs to be executed in the SQL engine environment.
- the virtual machine is a user-defined engine.
- the virtual machine environment is a user-defined engine environment.
- the application code that needs to be executed in the virtual machine environment is code that needs to be executed in the user-defined engine environment.
- the corresponding relationship between the foregoing four virtual machines, the virtual machine environment, and the application code that needs to be executed in the virtual machine environment is only an exemplary description, that is, the virtual machine and the virtual provided by the embodiment of the present invention.
- the correspondence between the machine environment and the application code that needs to be executed in the virtual machine environment includes, but is not limited to, the above four types, virtual machines, virtual machine environments designed by other means that meet actual design requirements, and needs to be in the virtual
- Correspondence between application codes executed in the machine environment is also within the scope of the present invention.
- the hard disk executes the application code in the virtual machine environment according to an execution policy of the application code.
- the hard disk After the hard disk determines the virtual machine environment capable of executing the application code, the hard disk can execute the application code in the virtual machine environment according to the execution strategy of the application code.
- the hard disk execution application code provided by the embodiment of the present invention is executed.
- the method can also include:
- the hard disk receives an execution indication of the virtual machine data information, where the execution indication of the virtual machine data information is used to indicate whether the hard disk persists the virtual machine data information.
- the hard disk receives the execution instruction of the virtual machine data information, where the execution indication of the virtual machine data information may be preset according to actual requirements, and the execution indication of the virtual machine data information may be used to indicate whether the hard disk needs to be the virtual machine data information. Persist.
- persistence refers to saving data (such as objects in the memory of a hard disk) to a storage device that can be permanently saved, such as a disk.
- the main application of persistence is to store in-memory objects in relational databases, disk files, and XML (extensible markup language) data files.
- JDBC Java Data Base Connectivity
- file 10 is also a persistence mechanism.
- the execution instruction of the virtual machine data information provided by the embodiment of the present invention may include: persisting the virtual machine data information to a storage medium of the hard disk, or running the virtual machine data information in a memory of the hard disk without the virtual Machine data information is persisted.
- the storage medium of the hard disk may be a hard disk medium or a flash memory of the hard disk.
- the hard disk performs an operation corresponding to the execution instruction of the virtual machine data information on the virtual machine data information according to the execution instruction of the virtual machine data information.
- the hard disk may perform an operation corresponding to the execution instruction of the virtual machine data information on the virtual machine data information according to the execution instruction of the virtual machine data information. Specifically, if the execution instruction of the virtual machine data information instructs the hard disk to persist the virtual machine data information to the storage medium of the hard disk, the hard disk persists the virtual machine data information according to the execution instruction of the virtual machine data letter. a storage medium to the hard disk; if the execution instruction of the virtual machine data information indicates that the hard disk runs the virtual machine data information in the memory of the hard disk and does not persist the virtual machine data information, the hard disk performs an execution instruction according to the virtual machine data information. The virtual machine data information is run in the memory of the hard disk without persisting the virtual machine data information.
- the method for executing an application code by using a hard disk is You can set the execution instruction of the hard disk to the virtual machine data information, that is, the virtual machine data letter, as the default configuration, so that the hard disk does not need to execute S 307 and S 308, that is, only the operation setting of the virtual machine data information is performed for the hard disk. When instructed, the hard disk needs to execute S 307 and S 308.
- the present invention may not limit the execution order of S 3 07 and S 301, that is, the present invention may execute S 3 07 first, and then execute S 30 1 ; S 3 01 may be executed first, and then S 307 may be executed; Execute S 307 and S 301.
- the present invention may not limit the execution order of S 307 and S 3 0 3, that is, the present invention may first execute S 307 and then execute S 30 3 ; or may perform S 30 3 first, and then execute S 307; S 3 07 and S 30 3 are simultaneously executed.
- S 3 06 that is, the hard disk executes the application code in the virtual machine environment according to the execution policy of the application code, specifically Includes:
- the hard disk creates an application code process for the application code in the virtual machine environment.
- the hard disk After the hard disk determines the virtual machine environment in which the application code is executed, if the hard disk needs to execute the application code in the virtual machine environment, the hard disk can create an application code process for the application code in the virtual machine environment.
- the process is the basis of the operating system structure; it is a dynamic execution of the program; it is a running instance of the program; it is the activity of the program and its data when executed sequentially on the processor; the program runs on a data set
- the process is a separate unit of the system for resource allocation and scheduling.
- the application code process provided by the embodiment of the present invention is a dynamic execution of the application code program; and is a running instance of the application code program.
- the hard disk loads the application code into the memory of the hard disk corresponding to the application code process.
- the hard disk After the hard disk creates an application code process for the application code in the virtual machine environment, the hard disk can load the application code into the memory of the hard disk corresponding to the application code process. Further, a method for executing an application code for a hard disk provided by an embodiment of the present invention,
- the application code process created by the hard disk in S 306 0 is the management structure of the process, that is, the application code process created by the hard disk is a program architecture, and the program architecture is loaded with the application code to the hard disk corresponding to the application code process through S 3 06 1 .
- the application code process is the running instance of the application code program in the memory of the hard disk.
- the hard disk executes the application code process in the virtual machine environment according to an execution policy of the application code.
- the hard disk After the hard disk loads the application code into the memory of the hard disk corresponding to the application code process, the hard disk can execute the application code process in the virtual machine environment according to the execution strategy of the application code.
- the hard disk when the hard disk determines that the received application code needs to be executed in a virtual machine environment, the hard disk may execute S 305 and S 306, that is, the hard disk.
- the virtual machine environment that executes the application code is determined according to the virtual machine identifier carried in the application code, and an application code process is created for the application code in the virtual machine environment, and the application code is loaded into the application code.
- the application code process is executed in the virtual machine environment in the memory of the hard disk corresponding to the process and according to an execution policy of the application code.
- the hard disk may continue to receive other application code that needs to be executed in the virtual machine environment, and after receiving the other application code, the hard disk may be Create additional application code processes for the other application code directly in the virtual machine environment.
- the hard disk when the hard disk receives the application code A, the hard disk can be in the virtual machine environment. Creating an application code A process for application code A, and loading application code A into the memory of the hard disk corresponding to the application code A process, and executing the application code A process in the virtual machine environment; when the hard disk receives When the application code B is applied, the hard disk can create an application code B process for the application code B in the virtual machine environment, and load the application code B into the memory of the hard disk corresponding to the application code B process, and in the certain Execute the application code in a virtual machine environment
- the B process that is, the hard disk, can execute the application code A process and the application code B process in the virtual machine environment.
- the application code in this embodiment needs to be executed in a virtual machine environment, where the application code executed in the virtual machine environment, the execution policy of the application code, the virtual machine data information, and the virtual machine identifier are required.
- the transmission channel of the data can be selected as the transmission channel consistent with the transmission channel of the Key-Value data.
- the application layer transmission channel of the application code, the execution code of the application code, the virtual machine data information, and the virtual machine identifier, which are required to be executed in the virtual machine environment may be HTTP (Hypertext Transfer Protocol). , Hypertext Transfer Protocol) way.
- HTTP Hypertext Transfer Protocol
- an application code that needs to be executed in a virtual machine environment may be specified in a message body of the HTTP; an execution policy that executes the application code is specified; virtual machine data information in a specific binary format is specified; and the data information is specified as virtual machine data information. ; and specify the virtual machine ID, etc.
- the application layer transmission channel of the application code, the application code execution policy, the virtual machine data information, and the virtual machine identifier and the like required to be executed in the virtual machine environment may also be other than HTTP.
- An embodiment of the present invention provides a method for executing an application code by a hard disk, receiving an application code and an execution policy of the application code through a hard disk, and determining whether the application code needs to be executed in a virtual machine environment, and if the hard disk determines that the application code needs to be Executed in the virtual machine environment, the hard disk executes the application code in the virtual machine environment according to an execution policy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and according to the execution strategy, the application code is executed in the virtual machine environment, that is, the hard disk can support
- the ability to access the hard disk based on application code from outside the hard disk enhances the performance of the hard disk and improves the interaction between the client and the hard disk.
- Another embodiment of the present invention provides a method for executing an application code by using a hard disk, as shown in FIG. 6 .
- the method can include:
- the hard disk receives the application code and an execution strategy of the application code.
- the hard disk provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk.
- the ARM-based hard disk improves the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- the user needs to perform some specified operations on the hard disk (some functions that the user needs to expand on the hard disk), for example, virus scanning of the hard disk, integrity check of the hard disk data, compression of the hard disk data, garbage collection of the hard disk, execution
- the hard disk data is migrated and copied to other hard disks, the hard disk data is encrypted based on the user-provided key, or a user-defined policy is executed.
- the user can write the application code of the specified operation and set the execution strategy of the application code of the specified operation.
- the user can send the application code and the execution policy of the application code to the hard disk through the client and the deployed server, that is, the application code sent by the hard disk receiving server and the execution strategy of the application code, where the execution strategy of the application code Can be preset according to actual needs.
- the server may include a data plane interface and a management plane interface.
- the execution strategy of the application code and the application code can be transmitted to the hard disk through the management plane interface of the server or the data plane interface of the server.
- the application code provided in this embodiment is an application code that can be directly executed by the hard disk, that is, the application code is an application code in a binary format. Therefore, when the server transmits the application code to the hard disk, the management plane interface of the server may be used. Passing, can also be passed using the server's data plane interface.
- the management plane interface of the server is invoked, and the management AP I of the hard disk is invoked, and the application code and the execution strategy of the application code are transmitted to the hard disk; or the data plane interface of the server is used, and the data AP I of the hard disk is invoked. , passing the application code and the execution strategy of the application code to the hard disk.
- the server can transfer the application code to the hard disk through the management plane interface of the server by means of fir mwa re loading.
- the management AP 1 of the hard disk provided by the embodiment of the present invention may be an interface of the hard disk management plane.
- the data AP I of the hard disk may be an interface of the hard disk data plane, where the data AP I is the hard disk.
- the Key-Va ue interface is on the same plane interface.
- the application code that can be executed by the hard disk includes, but is not limited to, the application code of the user specified operation, that is, the application code provided by the embodiment of the present invention may be determined by the user. The actual needs are written, and the invention is not limited.
- the execution strategy of the application code may include: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code, and an identifier of the application code, a start position of the application code, and The length of the application code.
- the triggering condition for executing the application code may be: executing the application code when the hard disk has not received the external service request for 24 hours; the execution condition of the application code may be: exiting after executing the application code, or executing the application code Re-execute the application code after the failure; after the execution of the application code, the operation may be: after executing the application code, the execution log is recorded in the specified log area of the hard disk, or the execution log is sent to the external network management server after executing the application code;
- the identifier of the application code may be used to indicate the application code provided by the embodiment of the present invention, that is, the extended application code provided by the user; the starting position of the application code may be used to indicate the starting address of the application code storage.
- the hard disk may confirm the extended application code provided by the application code according to the identifier of the application code, and obtain the application code according to the starting position of the application code and the length of the application code. And executing the application code according to the execution strategy of the application code.
- the execution strategy of the application code includes, but is not limited to, the foregoing description, that is, the execution strategy of the application code provided by the embodiment of the present invention may be based on The actual execution requirements are set, and the present invention is not limited.
- the hard disk stores the application code and an execution policy of the application code on the hard disk.
- the storage medium In the storage medium.
- the hard disk may store the application code and the execution strategy of the application code in a storage medium of the hard disk, where the storage medium of the hard disk may be a hard disk medium or a flash memory of the hard disk.
- the application code loaded from the server to the hard disk is an application code in a binary format.
- the hard disk can directly execute the application code in the form of a process without interpreting the application code in the corresponding virtual machine environment.
- the hard disk creates an application code process for the application code.
- the hard disk can create an application code process for the application code, that is, the hard disk can create an application code process corresponding to the application code.
- the process is the basis of the operating system structure; it is a dynamic execution of the program; it is a running instance of the program; it is the activity of the program and its data when executed sequentially on the processor; the program runs on a data set
- the process is a separate unit of the system for resource allocation and scheduling.
- the application code process provided by the embodiment of the present invention is a dynamic execution of the application code program; and is a running instance of the application code program.
- the hard disk loads the application code into the memory of the hard disk corresponding to the application code process.
- the hard disk can load the application code into the memory of the hard disk corresponding to the application code process.
- the application code process created by the hard disk in the S 4 0 3 is a process management structure, that is, the application code process created by the hard disk is a program architecture, and the program architecture passes through S 4 04, after the application code is loaded into the memory of the hard disk corresponding to the application code process, the application code process is a running instance of the application code program in the memory of the hard disk.
- the hard disk executes the application code process in the memory of the hard disk according to the execution strategy of the application code.
- the hard disk loads the application code into the memory of the hard disk corresponding to the application code process Afterwards, the hard disk can execute the application code process in the memory of the hard disk according to the execution strategy of the application code, that is, the hard disk can execute the application code in the form of a process in the memory of the hard disk according to the execution strategy of the application code.
- the application code in this embodiment does not need to be executed in a virtual machine environment, in which the transmission channel of the application code and the execution strategy of the application code can be selected with the transmission channel of the Key-Va lue data. For a consistent transmission channel.
- the application layer transmission channel of the application code and the execution policy of the application code provided by the embodiment of the present invention may be an HTT P mode.
- an application code in a specific binary format and an execution strategy of the application code may be specified in the message body of the HTT P.
- the application layer transmission channel of the application code and the execution policy of the application code provided by the embodiment of the present invention may also be a custom protocol other than the HT TP, where the custom protocol may provide the application code and the A semantic description of the data such as the execution strategy of the application code.
- An embodiment of the present invention provides another method for executing an application code by using a hard disk, receiving an application code and an execution strategy of the application code by using a hard disk, and the hard disk creates an application code process for the application code, and loading the application code into the application by the hard disk.
- the code process corresponds to the memory of the hard disk, so that the hard disk executes the application code process in the memory of the hard disk according to the execution strategy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and execute the application code in a process manner according to the execution strategy, that is, the hard disk can support based on The way the application code from the outside of the hard disk accesses the hard disk enhances the performance of the hard disk, thereby improving the interaction between the client and the hard disk.
- application code for example, custom application code
- the execution strategy of the application code for example, custom application code
- the embodiment of the present invention provides a hard disk 1 corresponding to a method for executing an application code of a hard disk according to an embodiment of the present invention.
- the hard disk 1 may include:
- the receiving unit 10 is configured to receive an application code and an execution policy of the application code.
- the determining unit 11 is configured to determine, according to the application code received by the receiving unit 10, whether the application code needs to be executed in a virtual machine environment.
- the executing unit 12 is configured to, if the determining unit 11 determines that the application code needs to be executed in the virtual machine environment, according to an execution policy of the application code received by the receiving unit 10, in the virtual machine environment The application code received by the receiving unit 10 is executed.
- the hard disk 1 may further include a creating unit 13 , where the receiving unit 10 is further configured to receive virtual machine data information, where the virtual machine data information is used to create the virtual machine environment.
- the creating unit 13 is configured to create the virtual machine environment according to the virtual machine data information received by the receiving unit 10.
- the application code carries a virtual machine identifier
- the determining unit 11 is further configured to determine, according to the virtual machine identifier carried in the application code, a virtual machine environment created by the creating unit 13 to execute the application code.
- the hard disk 1 may further include a loading unit 14, where the creating unit 13 is further configured to create, in the virtual machine environment, the application code received by the receiving unit 10.
- An application code process; the loading unit 14 is configured to load the application code received by the receiving unit 10 into a memory of the hard disk corresponding to the application code process created by the creating unit 13;
- the executing unit 12 is specifically configured to execute, according to an execution policy of the application code received by the receiving unit 10, the application code process created by the creating unit 13 in the virtual machine environment created by the creating unit 13 .
- the receiving unit 10 is further configured to receive an execution indication of the virtual machine data information, where the execution indication of the virtual machine data information is used to indicate whether to persist the virtual machine data information;
- the executing unit 12 is further configured to perform execution of the virtual machine data information with the virtual machine data information received by the receiving unit 10 according to the execution instruction of the virtual machine data information received by the receiving unit 10 Indicates the corresponding operation.
- the execution policy package of the application code received by the receiving unit 10 Included: performing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code.
- the application code, the execution policy of the application code, the virtual machine data information, and the execution indication of the virtual machine data information are stored in a storage medium of the hard disk.
- the storage medium of the hard disk may include a hard disk medium and a flash of the hard disk.
- the application code, the execution policy of the application code, the virtual machine data information, and the execution indication of the virtual machine data information may be stored in a hard disk medium; the application code, the execution of the application code The policy, the virtual machine data information, and the execution indication of the virtual machine data information may also be stored in a flash memory of the hard disk; the application code, the execution policy of the application code, the virtual machine data information, and the The execution instruction of the virtual machine data information may be partially stored in the hard disk medium, and partially stored in the flash memory of the hard disk, which is not limited in the present invention.
- the hard disk 1 provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk, that is, the hard disk provided by the embodiment of the present invention may be an ARM-based system.
- Hard drive the ARM-based hard disk enhances the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- An embodiment of the present invention provides a hard disk, where the hard disk receives an application code and an execution policy of the application code, and determines whether the application code needs to be executed in a virtual machine environment, and if the hard disk determines that the application code needs to be in the virtual machine environment, Executing, the hard disk executes the application code in the virtual machine environment according to the execution strategy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and according to the execution strategy, the application code is executed in the virtual machine environment, that is, the hard disk can support
- the ability to access the hard disk based on application code from outside the hard disk enhances the performance of the hard disk and improves the interaction between the client and the hard disk.
- the embodiment of the present invention provides another hard disk 2, which corresponds to another method for executing an application code of the hard disk provided by the embodiment of the present invention.
- the hard disk 2 may include:
- the receiving unit 20 is configured to receive an application code and an execution policy of the application code.
- the creating unit 2 1 is configured to create an application code process for the application code received by the receiving unit 20 .
- the loading unit 22 is configured to load the application code received by the receiving unit 20 into the memory of the hard disk corresponding to the application code process created by the creating unit 2 1 .
- the executing unit 2 3 is configured to execute, according to an execution policy of the application code received by the receiving unit 20, the application code process created by the creating unit 21 in a memory of the hard disk.
- the execution policy of the application code received by the receiving unit 20 may include: executing a trigger condition of the application code, an execution condition of the application code, and an operation after performing the application code At least one, and an identification of the application code, a starting location of the application code, and a length of the application code.
- the application code received by the receiving unit 20 is an application code in a binary format.
- the storage medium of the hard disk may include a hard disk medium and a flash memory of the hard disk.
- the application code and the execution strategy of the application code may be stored in a hard disk medium; the application code and the execution policy of the application code may also be stored in a flash memory of the hard disk;
- the implementation strategy of the application code may also be partially stored in the hard disk medium, and partially stored in the flash memory of the hard disk, which is not limited in the present invention.
- the hard disk 2 provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk, that is, the hard disk provided by the embodiment of the present invention may be an ARM-based system.
- Hard drive the ARM-based hard disk enhances the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- An embodiment of the present invention provides a hard disk, where the hard disk receives an application code and an execution strategy of the application code, and the hard disk creates an application code process for the application code, and the hard disk.
- the application code is loaded into the memory of the hard disk corresponding to the application code process, so that the hard disk executes the application code process in the memory of the hard disk according to the execution policy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and execute the application code in a process manner according to the execution strategy, that is, the hard disk can support based on The way the application code from the outside of the hard disk accesses the hard disk enhances the performance of the hard disk, thereby improving the interaction between the client and the hard disk.
- application code for example, custom application code
- the execution strategy of the application code for example, custom application code
- an embodiment of the present invention provides a hard disk, which corresponds to a method for executing an application code by a hard disk according to an embodiment of the present invention.
- the hard disk may include a processor 16, such as a CPU (Central Processing Unit, central Processor), at least one data interface 17, memory 18, system bus 19. System bus 19 is used to implement connection communication between these components.
- the memory 18 may include a RAM (Random Access Memory), and may also include a non-volatile memory such as at least one disk memory or the like.
- the memory 18 may optionally include at least one storage device.
- the storage 18 may be a storage medium of the hard disk.
- the storage medium of the hard disk may include the hard disk medium 180 and the flash memory 181 of the hard disk.
- memory 18 stores the following elements, executable modules or data structures, or a subset thereof, or their extension set:
- the operating system which contains various system programs for implementing various basic services and handling hardware-based tasks.
- Application modules which contain a variety of applications for implementing various application services.
- the application module includes, but is not limited to, the virtual machine environment and the application code process provided by the embodiment of the present invention.
- the processor 16 can execute the method according to any one of FIG. 1 and FIG. 3 to FIG. 5 by executing an internal execution instruction of the hard disk, which specifically includes:
- the processor 16 is configured to receive, by using the system bus 19, an application code and an execution policy of the application code from the data interface 17, and according to the application code, Determining whether the application code needs to be executed in a virtual machine environment, and if so, executing the application code in the virtual machine environment according to an execution policy of the application code; the memory 18, configured to store the application a code, an execution strategy of the application code, and a software program for performing the above process, such that the processor 16 can execute the software program and invoke the application code and an execution strategy of the application code to complete the above process.
- the application code, the execution policy of the application code, and the software program for completing the foregoing process may be stored in the hard disk medium 180; or may be stored in the flash memory 181 of the hard disk; It is stored in the hard disk medium 180 and partially stored in the flash memory 181 of the hard disk, which is not limited in the present invention.
- the processor 16 is further configured to receive, by using the system bus 19, virtual machine data information from the data interface 17, and create the virtual machine environment according to the virtual machine data information,
- the virtual machine data information is used to create the virtual machine environment;
- the memory 18 is further configured to store the virtual machine data information.
- the application code carries a virtual machine identifier
- the processor 16 is further configured to determine, according to the virtual machine identifier carried in the application code, a virtual machine environment that executes the application code.
- the processor 16 is specifically configured to create an application code process for the application code in the virtual machine environment, and load the application code to the application code process by using the system bus 19 Corresponding in the memory of the hard disk, and executing the application code process in the virtual machine environment.
- the processor 16 is further configured to receive, by using the system bus 19, an execution indication of the virtual machine data information from the data interface 17, and according to an execution indication of the virtual machine data information,
- the virtual machine data information performs an operation corresponding to the execution instruction of the virtual machine data information, where the execution indication of the virtual machine data information is used to indicate whether to persist the virtual machine data information; the memory 18, Also used to store an execution indication of the virtual machine data information.
- the execution policy of the application code received by the processor 16 includes: executing a trigger condition of the application code, an execution condition of the application code, and executing At least one of the operations after the application code.
- the execution information of the virtual machine data information and the virtual machine data information may be stored in a storage medium of the hard disk.
- the virtual machine data information and the execution instruction of the virtual machine data information may be stored in the hard disk medium 1 800; the virtual machine data information and the execution instruction of the virtual machine data information may also be stored.
- the flash memory 1 8 1 of the hard disk the virtual machine data information and the execution instruction of the virtual machine data information may be partially stored in the hard disk medium 1 800, and partially stored in the flash memory 1 of the hard disk.
- the invention is not limited.
- the hard disk provided by the embodiment of the present invention may be an Ethernet interface hard disk (also referred to as a network hard disk), and the Ethernet interface hard disk may also be referred to as a smart hard disk. hard disk.
- the ARM-based hard disk improves the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- An embodiment of the present invention provides a hard disk, where the hard disk receives an application code and an execution policy of the application code, and determines whether the application code needs to be executed in a virtual machine environment, and if the hard disk determines that the application code needs to be in the virtual machine environment, Executing, the hard disk executes the application code in the virtual machine environment according to the execution strategy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and according to the execution strategy, the application code is executed in the virtual machine environment, that is, the hard disk can support
- the ability to access the hard disk based on application code from outside the hard disk enhances the performance of the hard disk and improves the interaction between the client and the hard disk.
- the embodiment of the present invention provides another hard disk, which corresponds to another method for executing an application code of a hard disk provided by an embodiment of the present invention.
- the hard disk may include a processor 24, such as a CPU, at least one.
- Data interface 25 memory 26, system bus 27.
- System bus 27 is used to implement connection communication between these components.
- Memory 26 may contain RAM and may also include non-volatile memory, such as at least one disk storage.
- the memory 26 may optionally include at least one storage device.
- the memory 26 may include a hard disk medium 206 and a flash memory 26 1 of the hard disk.
- memory 26 stores elements, executable modules or data structures, or a subset thereof, or their extension set:
- the operating system which contains various system programs for implementing various basic services and handling hardware-based tasks.
- Application modules which contain a variety of applications for implementing various application services.
- the application module includes, but is not limited to, an application code process and the like provided by the embodiments of the present invention.
- the processor 24 can execute the method according to any one of FIG. 2 and FIG. 6 by executing an internal execution instruction of the hard disk, which specifically includes:
- the processor 24 is configured to receive an application code and an execution policy of the application code from the data interface 25 through the system bus 27, and create an application code process for the application code, and pass the system bus 27 loading the application code into a memory of the hard disk corresponding to the application code process, and executing the application code process in a memory of the hard disk according to an execution policy of the application code; 26, configured to store the application code, an execution policy of the application code, and a software program for completing the foregoing process, so that the processor 24 can execute the software program, and invoke the application code and the The execution strategy of the application code to complete the above process.
- the application code, the execution policy of the application code, and the software program for completing the foregoing process may be stored in the hard disk medium 210; or may be stored in the flash memory 26 1 of the hard disk; It may also be partially stored in the hard disk medium 26 0 and partially stored in the flash memory 26 1 of the hard disk, which is not limited in the present invention.
- the execution policy of the application code received by the processor 24 may include: executing at least one of a trigger condition of the application code, an execution condition of the application code, and an operation after the execution of the application code is performed. And an identifier of the application code, a starting location of the application code, and a length of the application code.
- the application code received by the processor 24 is an application code in a binary format.
- the hard disk provided by the embodiment of the present invention may be an Ethernet interface hard disk.
- the hard disk may be an intelligent hard disk.
- the hard disk provided by the embodiment of the present invention may be an ARM system-based hard disk. Among them, the ARM-based hard disk enhances the performance of the traditional hard disk by integrating the ARM system into a conventional hard disk.
- An embodiment of the present invention provides a hard disk, where the hard disk receives an application code and an execution policy of the application code, and the hard disk creates an application code process for the application code, and the hard disk loads the application code to the hard disk corresponding to the application code process.
- the hard disk executes the application code process in the memory of the hard disk according to the execution strategy of the application code.
- the hard disk can receive application code from the outside of the hard disk (for example, custom application code) and the execution strategy of the application code, and execute the application code in a process manner according to the execution strategy, that is, the hard disk can support based on The way the application code from the outside of the hard disk accesses the hard disk enhances the performance of the hard disk, thereby improving the interaction between the client and the hard disk.
- application code for example, custom application code
- the execution strategy of the application code for example, custom application code
- the disclosed system, apparatus, and method may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the modules or units is only a logical function division.
- there may be another division manner for example, multiple units or components may be used. Combined or can be integrated into another system, or some features can be ignored, or not executed.
- the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
- the units described as separate components may or may not be physically separated, and the components displayed as the units may or may not be physical units. Located in one place, or distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- the instructions include a plurality of instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the methods of the various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program code. .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/076563 WO2015165057A1 (zh) | 2014-04-30 | 2014-04-30 | 一种硬盘执行应用代码的方法及装置 |
CN201711059662.6A CN107844360B (zh) | 2014-04-30 | 2014-04-30 | 一种硬盘执行应用代码的方法及装置 |
CN201480000524.9A CN105247618B (zh) | 2014-04-30 | 2014-04-30 | 一种硬盘执行应用代码的方法及装置 |
JP2016565326A JP6418419B2 (ja) | 2014-04-30 | 2014-04-30 | ハードディスクがアプリケーションコードを実行するための方法および装置 |
US15/337,700 US10310876B2 (en) | 2014-04-30 | 2016-10-28 | Executing application code based on manner of accessing a hard disk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/076563 WO2015165057A1 (zh) | 2014-04-30 | 2014-04-30 | 一种硬盘执行应用代码的方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/337,700 Continuation US10310876B2 (en) | 2014-04-30 | 2016-10-28 | Executing application code based on manner of accessing a hard disk |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015165057A1 true WO2015165057A1 (zh) | 2015-11-05 |
Family
ID=54358016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/076563 WO2015165057A1 (zh) | 2014-04-30 | 2014-04-30 | 一种硬盘执行应用代码的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10310876B2 (zh) |
JP (1) | JP6418419B2 (zh) |
CN (2) | CN107844360B (zh) |
WO (1) | WO2015165057A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2528115B (en) * | 2014-07-11 | 2021-05-19 | Advanced Risc Mach Ltd | Dynamic saving of registers in transactions |
US10868836B1 (en) * | 2017-06-07 | 2020-12-15 | Amazon Technologies, Inc. | Dynamic security policy management |
US10839060B1 (en) * | 2019-08-27 | 2020-11-17 | Capital One Services, Llc | Techniques for multi-voice speech recognition commands |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996501B1 (en) * | 2002-12-24 | 2006-02-07 | Western Digital Technologies, Inc. | Disk drive executing a manufacturing program internally by executing disk commands through a vector |
CN101437046A (zh) * | 2008-12-11 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘中的数据处理方法、固态硬盘和网络设备 |
CN101546601A (zh) * | 2009-05-13 | 2009-09-30 | 杭州华三通信技术有限公司 | 固态硬盘及存储*** |
US8190575B1 (en) * | 2008-08-27 | 2012-05-29 | Western Digital Technologies, Inc. | Disk drive maintaining multiple copies of code segments |
CN102656562A (zh) * | 2009-06-30 | 2012-09-05 | 思杰***有限公司 | 用于选择桌面执行位置的方法和*** |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3519954B2 (ja) * | 1998-07-30 | 2004-04-19 | 富士通株式会社 | チップイネーブル信号生成回路及びメモリ装置 |
US6546554B1 (en) | 2000-01-21 | 2003-04-08 | Sun Microsystems, Inc. | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
US7664903B2 (en) * | 2002-02-25 | 2010-02-16 | Solid Access Technologies LLC | Control unit with PCI and SCSI buses and computing system with electronic semiconductor disk |
US8549513B2 (en) * | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US7516771B2 (en) * | 2005-06-30 | 2009-04-14 | Hunter Douglas Inc. | Lock lever mounting bracket for headrails on coverings for architectural openings |
US7725614B2 (en) * | 2006-08-08 | 2010-05-25 | Sandisk Corporation | Portable mass storage device with virtual machine activation |
US7975119B2 (en) * | 2006-09-04 | 2011-07-05 | Sandisk Il Ltd | Device for prioritized erasure of flash memory |
CN101296258A (zh) * | 2007-04-28 | 2008-10-29 | 海尔集团公司 | 具有网络功能的硬盘装置 |
US8230475B2 (en) * | 2007-11-16 | 2012-07-24 | At&T Intellectual Property I, L.P. | Methods and computer program products for subcontent tagging and playback |
US10299686B2 (en) * | 2008-03-28 | 2019-05-28 | Real Imaging Ltd. | Method apparatus and system for analyzing images |
CN101442548B (zh) * | 2008-12-17 | 2012-09-05 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘的操作方法和固态硬盘 |
US8966623B2 (en) * | 2010-03-08 | 2015-02-24 | Vmware, Inc. | Managing execution of a running-page in a virtual machine |
US8413142B2 (en) * | 2010-03-30 | 2013-04-02 | Citrix Systems, Inc. | Storage optimization selection within a virtualization environment |
US8700842B2 (en) * | 2010-04-12 | 2014-04-15 | Sandisk Enterprise Ip Llc | Minimizing write operations to a flash memory-based object store |
US8874859B2 (en) * | 2010-12-22 | 2014-10-28 | Vmware, Inc. | Guest file system introspection and defragmentable virtual disk format for space efficiency |
US8521922B2 (en) * | 2011-01-10 | 2013-08-27 | International Business Machines Corporation | Input/output (I/O) path selection based on workload types |
JP5613091B2 (ja) * | 2011-03-25 | 2014-10-22 | 株式会社エクサ | デバイスドライバ起動監視プログラム、電子機器 |
US8869145B1 (en) * | 2011-04-28 | 2014-10-21 | Netapp, Inc. | Method and system for managing storage for virtual machines |
US8412945B2 (en) * | 2011-08-09 | 2013-04-02 | CloudPassage, Inc. | Systems and methods for implementing security in a cloud computing environment |
US8578178B2 (en) * | 2011-10-27 | 2013-11-05 | Hitachi, Ltd. | Storage system and its management method |
US8966206B2 (en) * | 2012-05-07 | 2015-02-24 | Hitachi, Ltd. | Computer system, storage management computer, and storage management method |
CN102982276A (zh) * | 2012-11-14 | 2013-03-20 | 北京奇虎科技有限公司 | 应用程序控制方法和装置 |
CN102982275A (zh) * | 2012-11-14 | 2013-03-20 | 北京奇虎科技有限公司 | 一种运行应用程序的安全控制方法和装置 |
CN103051687B (zh) * | 2012-12-10 | 2016-05-25 | 浪潮(北京)电子信息产业有限公司 | 一种将应用业务部署到云存储虚拟机的***及方法 |
US8997080B2 (en) * | 2013-02-11 | 2015-03-31 | Citrix Systems, Inc. | System updates with personal virtual disks |
EP2840576A4 (en) * | 2013-05-20 | 2015-07-01 | Huawei Tech Co Ltd | HARD DISK AND DATA PROCESSING METHOD |
-
2014
- 2014-04-30 WO PCT/CN2014/076563 patent/WO2015165057A1/zh active Application Filing
- 2014-04-30 CN CN201711059662.6A patent/CN107844360B/zh active Active
- 2014-04-30 CN CN201480000524.9A patent/CN105247618B/zh active Active
- 2014-04-30 JP JP2016565326A patent/JP6418419B2/ja active Active
-
2016
- 2016-10-28 US US15/337,700 patent/US10310876B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996501B1 (en) * | 2002-12-24 | 2006-02-07 | Western Digital Technologies, Inc. | Disk drive executing a manufacturing program internally by executing disk commands through a vector |
US8190575B1 (en) * | 2008-08-27 | 2012-05-29 | Western Digital Technologies, Inc. | Disk drive maintaining multiple copies of code segments |
CN101437046A (zh) * | 2008-12-11 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘中的数据处理方法、固态硬盘和网络设备 |
CN101546601A (zh) * | 2009-05-13 | 2009-09-30 | 杭州华三通信技术有限公司 | 固态硬盘及存储*** |
CN102656562A (zh) * | 2009-06-30 | 2012-09-05 | 思杰***有限公司 | 用于选择桌面执行位置的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN105247618B (zh) | 2017-12-15 |
US20170046183A1 (en) | 2017-02-16 |
CN105247618A (zh) | 2016-01-13 |
US10310876B2 (en) | 2019-06-04 |
CN107844360B (zh) | 2021-10-01 |
CN107844360A (zh) | 2018-03-27 |
JP2017515236A (ja) | 2017-06-08 |
JP6418419B2 (ja) | 2018-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884722B2 (en) | Cross-environment application of tracing information for improved code execution | |
US11714675B2 (en) | Virtualization-based transaction handling in an on-demand network code execution system | |
JP5847734B2 (ja) | 仮想化のための拡張ポイントの宣言的登録 | |
US20150277993A1 (en) | Task Processing Method and Virtual Machine | |
CN114586011B (zh) | 将所有者指定的数据处理流水线***到对象存储服务的输入/输出路径 | |
TW201003404A (en) | Direct memory access filter for virtualized operating systems | |
US8893272B2 (en) | Method and device for recombining runtime instruction | |
US20150199343A1 (en) | Optimized file processing for linked clone virtual machines | |
US20200320189A1 (en) | Processing method for container security policy and related apparatus | |
JP2012079130A (ja) | デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法 | |
WO2023174128A1 (zh) | 增强型包过滤器的内核态程序的超级调用方法及装置 | |
WO2015165057A1 (zh) | 一种硬盘执行应用代码的方法及装置 | |
US11681653B2 (en) | Namespace representation and enhanced browsability for replicated file systems | |
US11507292B2 (en) | System and method to utilize a composite block of data during compression of data blocks of fixed size | |
US20130246347A1 (en) | Database file groups | |
US8924963B2 (en) | In-process intermediary to create virtual processes | |
US11604669B2 (en) | Single use execution environment for on-demand code execution | |
TW202027477A (zh) | 將重定向的生物辨識裝置隔離到遠程會話 | |
US10853040B2 (en) | Address space splitting for legacy application compatibility | |
US20230050976A1 (en) | File system aware computational storage block |
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: 14890616 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016565326 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: IDP00201608219 Country of ref document: ID |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14890616 Country of ref document: EP Kind code of ref document: A1 |