Communication method and device
By using the target driver in the terminal device to detect subsystem exceptions and store exception information to the user address space, the problem of the exception information cannot be reported before the IPC channel is established is solved, and the ability of the user-state process to obtain exception information when the IPC channel is not established is realized.
Patent Information
- Application Number
- CN202510136097.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-07
- Publication Date
- 2025-06-10
AI Technical Summary
In a terminal device, before the IPC channel is established, the exception information of the subsystem cannot be reported to the application processor, resulting in the user-state process being unable to obtain the exception information.
The target driver detects the target subsystem exception, reads the exception information and stores it in the user address space of the target process, ensuring that the user-state process can obtain the exception information when the IPC channel is not established.
It realizes that when the IPC channel is not established, the user-state process can normally obtain exception information from each subsystem of the terminal device, solving the problem that the exception information cannot be reported.
Smart Images

Figure CN120123115A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of terminals, and particularly to a communication method and device. Background Art
[0002] A terminal device includes multiple different subsystems. During the operation of the terminal device, each subsystem may encounter anomalies. To facilitate the handling of these anomalies, it is necessary to upload the anomaly information to the Application Processor (AP) so that each process in the user state can read the anomaly information.
[0003] Currently, each process in the user state obtains the anomaly information of each subsystem through the Inter-Process Communication (IPC) protocol. However, if an anomaly occurs in each subsystem before the IPC channel is established, then each process in the user state will not be able to obtain the anomaly information. Summary of the Invention
[0004] The objective of the present invention is to provide a communication method and device for solving the problem that the anomaly information of a subsystem cannot be reported to the application processor before the IPC channel is established.
[0005] In a first aspect, the present invention provides a communication method applied to a terminal device. The terminal device includes a target subsystem, a target process, and a target driver corresponding to the target process. The method includes: the target driver detects an anomaly in the target subsystem and reads the anomaly information of the target subsystem; the target driver stores the anomaly information in the user address space corresponding to the target process; the target process obtains the anomaly information from the user address space.
[0006] Through the above solution, regardless of whether the IPC channel has been established, each process in the user state can successfully obtain the anomaly information of each subsystem. In this way, it is possible to enable each process in the user state to normally obtain the anomaly information of each subsystem of the terminal device when the IPC channel is not established.
[0007] In certain implementation manners of the first aspect of the communication method as described above, the target driver detecting an anomaly in the target subsystem includes: the target driver determines that an anomaly in the target subsystem is detected when it does not receive a first notification message sent by the target subsystem within a preset duration.
[0008] In this implementation manner, the first notification message may be a heartbeat signal. Through this implementation manner, the target driver can detect the anomaly of the subsystem in a timely manner and read the corresponding anomaly information in a timely manner.
[0009] A communication method as described above. In some implementations of the first aspect, the target driver reads the exception information of the target subsystem, including: the target driver maps the physical address corresponding to the target storage area to a virtual address, and the target storage area is used to store the exception information of the target subsystem; the target subsystem reads the exception information of the target subsystem based on the virtual address.
[0010] In this implementation, since the physical address cannot be directly read, by mapping the physical address to a virtual address, the target driver can successfully read the data in the kernel mode.
[0011] A communication method as described above. In some implementations of the first aspect, the above method further includes: the target driver creates an information reading interface; the target subsystem reads the exception information of the target subsystem based on the virtual address, including: the target subsystem reads the exception information of the target subsystem through the information reading interface based on the virtual address.
[0012] In this implementation, before reading the information, the target driver can first create a reading interface for reading the exception information.
[0013] A communication method as described above. In some implementations of the first aspect, before the target driver reads the exception information of the target subsystem, the above method further includes: the target driver starts a wake lock.
[0014] In this implementation, starting the wake lock before reading the exception information can prevent the terminal device from entering the sleep state during the reading process and prevent the reading process from being interrupted.
[0015] A communication method as described above. In some implementations of the first aspect, before the target process obtains the exception information from the user address space, the above method further includes: the target driver sets the input / output control ioctl; the target process obtains the exception information from the user address space, including: the target process obtains the exception information from the user address space through the ioctl.
[0016] A communication method as described above. In some implementations of the first aspect, after the target process obtains the exception information from the user address space, the method further includes: the target process broadcasts the exception information.
[0017] In the second aspect, the present technical solution provides an electronic device, including: one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored in the memory, and the one or more computer programs include instructions that, when executed by the device, cause the device to execute the method in the first aspect or any possible implementation manner of the first aspect.
[0018] In a third aspect, the present invention further provides a chip, which includes a processor and a data interface. The processor reads instructions stored on a memory through the data interface and executes the method in the first aspect or any possible implementation manner of the first aspect.
[0019] Optionally, as an implementation manner, the chip may further include a memory, in which instructions are stored. The processor is configured to execute the instructions stored on the memory. When the instructions are executed, the processor is configured to execute the method in the first aspect or any possible implementation manner of the first aspect.
[0020] In a fourth aspect, the present invention further provides a computer-readable storage medium, which stores program code for a device to execute. The program code includes instructions for executing the method in the first aspect or any possible implementation manner of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 is a schematic diagram of a scenario of the communication method provided by an embodiment of the present application;
[0022] Figure 2 is another schematic diagram of a scenario of the communication method provided by an embodiment of the present application;
[0023] Figure 3 is a schematic flowchart of the communication method provided by an embodiment of the present application;
[0024] Figure 4 is another schematic flowchart of the communication method provided by an embodiment of the present application;
[0025] Figure 5 is another schematic flowchart of the communication method provided by an embodiment of the present application;
[0026] Figure 6 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0027] In order to better understand the technical solution of the present application, the embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0028] It should be clear that the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts belong to the scope of protection of the present application.
[0029] The terms used in the embodiments of the present application are for the purpose of describing specific embodiments only and are not intended to limit the present application. The singular forms "a", "the" and "said" used in the embodiments of the present application and the appended claims are also intended to include the plural forms unless the context clearly dictates otherwise.
[0030] The terminal device includes multiple different subsystems, such as a Modem system, etc., for implementing different functions. During the operation of the terminal device, various subsystems may encounter abnormalities. To facilitate the handling of these abnormalities, it is necessary to upload the abnormal information of the subsystems to the Application Processor (AP) so that each process in the user state can read the abnormal information.
[0031] In some technical solutions, each process in the user state interacts with the subsystems through the InterProcess Communication (IPC) protocol to obtain the abnormal information of each subsystem. After the terminal device is started, referring to Figure 1 , each subsystem and each process in the user state will create an IPC channel according to the IPC protocol. Exemplarily, referring to Figure 1 , each subsystem may include, for example, a Modem system, a Compute-Module-4 (CM4) system, etc., and each process in the user state may include services such as Modem Control service, Radio Interface Layer (RIL), etc. After the IPC channel is established, information interaction can be carried out between the subsystem and each process in the user state through the IPC protocol. When an abnormality occurs in the subsystem, each process in the user state can obtain relevant abnormal information, such as assert information, etc., based on the established IPC channel. However, if an abnormality occurs in each subsystem before the IPC channel is established, then, since each process in the user state cannot interact with the subsystem at this time, each process in the user state cannot obtain the abnormal information of the subsystem at this time, resulting in the inability of these abnormal information to be reported to the R & D personnel through the user state process, affecting the upgrade and improvement of the device.
[0032] To solve the above problems, in the embodiments of the present application, when an abnormality occurs in a subsystem of the terminal device, such as a Modem system, the relevant abnormal information can be stored in the target storage area. Furthermore, as Figure 2As shown in the figure, a user-mode process such as the Modem Control service can, through the driver modem loader, map the physical address of the target storage area to a virtual address, and read the exception information of the Modem system to the user address space based on the virtual address. Then, the Modem Control service can use the input / output control ioctrl function to read the exception information of the Modem system from the user address space and broadcast it.
[0033] Through the above solution, regardless of whether the IPC channel has been established, each process in the user mode can successfully obtain the exception information of each subsystem. In this way, the defects existing in the Figure 1 shown technical solution can be solved, and it is realized that when the IPC channel is not established, each process in the user mode can normally obtain the exception information of each subsystem of the terminal device.
[0034] It should be noted that in the actual implementation scenario, the technical solution provided by the embodiments of the present application can be applied alone, or, it can also be applied Figure 1 simultaneously with the
[0035] Figure 3 shown technical solution. Figure 3 As shown in the figure, the communication method provided by the embodiments of the present application includes:
[0036] 101. The target driver detects an exception in the target subsystem and reads the exception information of the target subsystem.
[0037] 102. The target driver stores the exception information in the user address space corresponding to the target process.
[0038] In the embodiments of the present application, the terminal device may include a target subsystem, a target process, and a target driver corresponding to the target process. Among them, the target subsystem may be any subsystem in the terminal device, and the target process may be any user-mode process of the terminal device. For the sake of easy understanding, the embodiments of the present application take the target subsystem as the Modem system, the target process as the Modem Control service, and the target driver as the modem loader as an example to illustrate the method provided by the embodiments of the present application.
[0039] In the embodiments of the present application, after the Modem system generates an exception, the Modem system can store the generated exception information in the target storage area. After detecting the exception of the Modem system, the modem loader can read the corresponding exception information from the target storage area and store the read exception information in the user address space corresponding to the Modem Control service.
[0040] Specifically, a heartbeat mechanism may be set between the Modem system and the driver of the Modem Control service. Exemplarily, when the Modem system is in a normal operating state, it may periodically send a heartbeat signal to the modem loader. When an exception occurs in the Modem system, the Modem system will suspend sending the heartbeat signal to the modem loader. Based on this heartbeat mechanism, when the heartbeat signal sent by the Modem system is not received for more than a preset duration, the modem loader may determine that the Modem system is abnormal. At this time, the modem loader may read the exception information of the Modem system from the above-mentioned target storage area.
[0041] In a specific implementation manner, the way for the modem loader to read the exception information may be to create an information reading interface. Furthermore, map the physical address corresponding to the target storage area to a virtual address, and then read the exception information of the Modem system through the created information reading interface based on this virtual address.
[0042] However, during the actual reading process, if the reading time is relatively long, then the terminal device may enter the sleep state to save power. At this time, the reading process will be interrupted. To prevent the above situation from occurring, in the embodiments of the present application, before reading the exception information of the Modem system, the modem loader may first start a Wake Lock to keep the terminal device always in the wake state during the exception information reading process.
[0043] 103. The target process obtains the exception information from the user address space.
[0044] In the embodiments of the present application, after the modem loader stores the exception information of the Modem system into the user address space corresponding to the Modem Control service, the modem loader may set ioctl. Furthermore, the Modem Control service may create an interface for reading the exception information, and then the Modem Control service may read the exception information through this interface using the input / output control command iocmd. Further, the Modem Control service may also broadcast the obtained exception information to notify other processes in the user state of the exception information.
[0045] Through the above solution, it is possible to enable each process in the user state to normally obtain the exception information of each subsystem of the terminal device when the IPC channel is not established.
[0046] Figure 4 It is another schematic flowchart of the communication method provided by the embodiments of the present application, asFigure 4 As shown in the figure, during the implementation process of the communication method provided by the embodiments of the present application, the implementation process on the kernel side includes:
[0047] 201. The target driver defines relevant preprocessing commands and relevant structures.
[0048] 202. The target driver creates an interface for reading the exception information of the target subsystem.
[0049] 203. The target driver maps the physical address where the exception information is located to a virtual address.
[0050] 204. The target driver starts the wake lock.
[0051] 205. The target driver reads the exception information based on the virtual address and stores the exception information in the user address space of the target process.
[0052] 206. The target driver sets the ioctl to facilitate the target process to obtain the exception information through the iocmd.
[0053] In the embodiments of the present application, for the kernel side, first, the modem loader can define relevant preprocessing commands and relevant structures. Furthermore, the modem loader can create a reading interface for reading exception information such as assert. Since the physical address cannot be directly read, the modem loader can first map the physical address to a virtual address. Further, to prevent the terminal device from entering the sleep state during the reading of the exception information, the modem loader can start the wake lock before reading to keep the terminal device in the wake state. Furthermore, the modem loader can read the exception information such as assert of the Modem subsystem and store it in the user address space. In this way, the modem loader completes the operation of reading the exception information. Finally, the modem loader can set the ioctl to facilitate the Modem Control service to obtain the exception information through the iocmd.
[0054] Figure 5 is another schematic flowchart of the communication method provided by the embodiments of the present application. As Figure 5 shown, during the implementation process of the communication method provided by the embodiments of the present application, the implementation process on the user side includes:
[0055] 301. The target process defines relevant preprocessing commands and relevant structures.
[0056] 302. The target process creates an interface for reading the exception information of the target subsystem.
[0057] 303. The target process obtains the exception information and broadcasts it.
[0058] In the embodiment of the present application, for the user space side, first, the Modem Control service can identify relevant preprocessing commands. Furthermore, the Modem Control service can create an interface for obtaining exception information such as assert. Then, the Modem Control service can read the assert and other exception information obtained from the kernel space through iocmd, and broadcast the obtained assert and other exception information to notify other services.
[0059] Figure 6 The block diagram of an exemplary electronic device suitable for implementing the embodiment of the present application is shown. Figure 6 The displayed electronic device is only an example and should not impose any limitations on the functions and usage scope of the embodiment of the present application.
[0060] As Figure 6 shown, the electronic device is presented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: one or more processors 410, a memory 430, and a communication bus 440 connecting different system components (including the memory 430 and the processor 410).
[0061] The communication bus 440 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any bus structure in a variety of bus structures. For example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnection (PCI) bus.
[0062] The electronic device typically includes a variety of computer system-readable media. These media can be any available media accessible to the electronic device, including volatile and non-volatile media, removable and non-removable media.
[0063] The memory 430 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory. The electronic device may further include other removable / non-removable, volatile / non-volatile computer system storage media. Although Figure 6 not shown in the figure, a disk drive for reading and writing to a removable non-volatile magnetic disk (such as a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (such as a compact disc read only memory (CD-ROM), a digital versatile disc read only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to the communication bus 440 through one or more data media interfaces. The memory 430 may include at least one program product having a set (such as at least one) of program modules configured to perform the functions of the embodiments of the present application.
[0064] A program / utility with a set (at least one) of program modules may be stored in the memory 430. Such program modules include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include the implementation of a network environment. The program modules generally perform the functions and / or methods described in the embodiments of the present application.
[0065] The electronic device may also communicate with one or more external devices (such as a keyboard, a pointing device, a display, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device, and / or may communicate with any device that enables the electronic device to communicate with one or more other computing devices (such as a network card, a modem, etc.). Such communication may be carried out through the communication interface 420. And, the electronic device may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter ( Figure 6 not shown in the figure), and the above network adapter may communicate with other modules of the electronic device through the communication bus 440. It should be understood that although Figure 6is not shown and other hardware and / or software modules can be used in combination with the electronic device, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, disk arrays (Redundant Arrays of Independent Drives; hereinafter referred to as: RAID) systems, tape drives, and data backup storage systems, etc.
[0066] The processor 410 executes various functions by running the programs stored in the memory 430, such as implementing the communication method provided in the embodiments of the present application.
[0067] It should be understood that the electronic device is embodied in the form of functional units here. The term "unit" here can be implemented in the form of software and / or hardware, and no specific limitation is made thereto. For example, a "unit" can be a software program, a hardware circuit, or a combination of the two that implements the above functions. The hardware circuit may include an application-specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor, or a group of processors, etc.) for executing one or more software or firmware programs, and a memory, a merged logic circuit, and / or other suitable components that support the described functions. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments.
[0068] The division of modules in this embodiment is illustrative, only a logical function division, and there may be other division methods in actual implementation. For example, each function module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware.
[0069] The embodiments of the present application also provide a computer-readable storage medium, in which instructions are stored. When the instructions run on a computer, the computer is enabled to execute each step of the shooting method in the embodiments of the present application.
[0070] The above computer-readable storage medium may adopt any combination of one or more computer-readable media. The computer-readable media may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (hereinafter referred to as: ROM), an erasable programmable read only memory (hereinafter referred to as: EPROM), or a flash memory, an optical fiber, a portable compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, the computer-readable storage medium may be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device.
[0071] The computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries the computer-readable program code. Such a propagated data signal may take various forms, including - but not limited to - an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device.
[0072] The program code contained on the computer-readable medium may be transmitted by any appropriate medium, including - but not limited to - wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0073] The embodiments of the present application also provide a computer program product containing instructions. When this computer program product runs on a computer or any at least one processor, it causes the computer to execute each step of the shooting method in the embodiments of the present application.
[0074] The embodiments of the present application also provide a chip, including a processor and a data interface. The processor reads the instructions stored on the memory through the data interface to perform the corresponding operations and / or processes executed by the shooting method provided by the present application.
[0075] Optionally, the chip further includes a memory, which is connected to the processor through a circuit or wire. The processor is configured to read and execute a computer program in the memory. Further optionally, the chip further includes a communication interface, and the processor is connected to the communication interface. The communication interface is configured to receive data and / or information to be processed. The processor obtains the data and / or information from the communication interface and processes the data and / or information. The communication interface may be an input / output interface.
[0076] The memory may be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM), or other types of dynamic storage devices that can store information and instructions. It may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices. Or it may also be any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer.
[0077] In the embodiments of the present application, "and / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent the cases of A existing alone, A and B existing simultaneously, and B existing alone. Wherein A and B can be singular or plural. The character " / " generally represents an "or" relationship between the preceding and following associated objects. "At least one of the following" and its similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can represent: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, and c can be single or multiple.
[0078] Those of ordinary skill in the art can realize that the units and algorithm steps described in the embodiments disclosed herein can be implemented by a combination of electronic hardware, computer software, and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present application.
[0079] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0080] In several embodiments provided in the present application, if any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the essence of the technical solution of the present application, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0081] The above is only the specific implementation manner of the present application. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application and should be covered by the protection scope of the present application. The protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A communication method, characterized in that: Applied in a terminal device, the terminal device includes a target subsystem, a target process, and a target driver corresponding to the target process, the method includes: The target driver detects an abnormality in the target subsystem and reads abnormal information of the target subsystem; The target driver stores the exception information in a user address space corresponding to the target process; The target process obtains the exception information from the user address space.
2. The method according to claim 1, characterized in that: The target driver detects an abnormality in the target subsystem, including: The target driver does not receive the first notification message sent by the target subsystem within a preset time period, and determines that an abnormality of the target subsystem is detected.
3. The method according to claim 1, characterized in that: The target driver reads the abnormal information of the target subsystem, including: The target driver maps a physical address corresponding to a target storage area to a virtual address, wherein the target storage area is used to store abnormal information of the target subsystem; The target subsystem reads exception information of the target subsystem based on the virtual address.
4. The method according to claim 3, characterized in that The method further includes: the target driver creates an information reading interface; the target subsystem reads the abnormal information of the target subsystem based on the virtual address, including: The target subsystem reads the abnormal information of the target subsystem through the information reading interface based on the virtual address.
5. The method according to claim 3 or 4, characterized in that: Before the target driver reads the abnormal information of the target subsystem, the method further includes: The target driver initiates a wakeup lock.
6. The method according to claim 1, characterized in that Before the target process obtains the abnormal information from the user address space, the method further includes: the target driver sets an input / output control ioctrl; The target process obtains the exception information from the user address space, including: The target process obtains the exception information from the user address space through the ioctrl.
7. The method according to claim 1, characterized in that After the target process obtains the exception information from the user address space, the method further includes: The target process broadcasts the exception information.
8. An electronic device, characterized in that: include: one or more processors; Memory; and one or more computer programs, wherein the one or more computer programs are stored in the memory, and the one or more computer programs include instructions, and when the instructions are executed by the device, the device performs the method according to any one of claims 1 to 7.
9. A chip, characterized in that: The chip includes a processor and a data interface, and the processor reads instructions stored in a memory through the data interface to execute the method as described in any one of claims 1 to 7.
10. A storage medium, characterized in that: The storage medium stores program instructions, which, when executed on an electronic device, enable the electronic device to execute the method as claimed in any one of claims 1 to 7.