Patent Publication Number: US-2020293385-A1

Title: Input operation processing method and processing apparatus and computer-readable storage medium

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of International Application No. PCT/CN2018/111756, filed on Oct. 24, 2018, which claims priority to Chinese Patent Application No. 201711191433.X, filed on Nov. 24, 2017, the entire contents of which are incorporated herein by reference. 
    
    
     TECHNICAL FIELD 
     The present invention relates to the field of input operation processing of smart terminals, and more particularly to an input operation processing method, a processing apparatus and a computer readable storage medium. 
     BACKGROUND 
     At present, smart terminals such as smart phones and tablet computers, especially smart terminals based on an Android operating system, are applied more and more popularly. Third parties have developed application programs (i.e., APP) that satisfy various application requirements on an architecture of this operating system. These application programs often require human-computer interaction with a user, that is, to receive user&#39;s input operations. Touch operations are mainly received by a touch screen of the smart terminal. However, applications such as games that need to connect to an external input device will generate different input events, such as external input events and touch screen input events, depending on different operation objects. 
       FIG. 1  is a block diagram of a processing flow of the Android operating system for input events, in which various layers under the Android operating system can be seen, wherein an Application layer includes a ViewRootimp1 object which also includes a Window Input Event Receiver therein; a Framework layer includes an Input Flinger which also includes an Input Dispatcher and an Input Reader therein; and an Input Device layer includes a Joystick and a Touch Ccreen. When an input operation occurs, an input event is formed from an input device and reported layer by layer to the window input event receiver in the application layer. The current Android operating system supports the access of an external input device such as a Joystick, and the accessed external input device may send external input events to an application program. If the application program fails to specifically process the external input events, it will process the external input events according to default rules. That is, the window input event receiver in  FIG. 1  will discard these events without any processing, which means that the application program can only recognize input operations received by the Touch Screen, but cannot recognize input operations received by the external input device. 
       FIG. 2  is a block diagram of a processing flow for an external input event and a touch screen input event in the prior art. In order for an application program to recognize the input operations received by the external input device, a mapping relationship between the external input event and the touch screen event must be established. Specifically, in the prior art, an input Event Translator located at a framework layer of an operating system of a smart terminal is provided. After receiving each external input event from an external input device (such as a joystick) in the input device layer, the input event translator translates the external input event into a touch screen input event, aggregates the touch screen input events into an input flinger, and then uniformly reports the touch screen input events to a window input event receiver in the application layer. However, with respect to the application layer, regardless of an operation received by the external input device or an operation received by the touch screen, the application program can receive the touch screen input event, but cannot distinguish whether this event is generated by the touch screen or the external input device, which causes that the external input device and the touch screen cannot be used simultaneously, thereby affecting the user experience. 
     Therefore, it is necessary for the application program to recognize different input events to meet the user&#39;s needs for simultaneous operation of the touch screen and the external input device. 
     SUMMARY 
     The present invention provides an input operation processing method that supports an external input device and a touch screen to perform input operations simultaneously. 
     The present invention discloses an input operation processing method, which is used for processing input operations received by a smart terminal, and comprises the following steps: 
     S 101 : presetting mapping relationships between at least two input operations and input events in an application program; 
     S 102 : detecting whether an input event interface of the application program receives an optional input event; 
     S 103 : when the input event interface receives the optional input event, recognizing, by the application program, the input operation corresponding to the input event according to the mapping relationship; 
     S 104 : converting the recognized input event into an input event coexisting with other types of input events; and 
     S 105 : reporting the input event coexisting with other types of input events. 
     Preferably, in step S 101 , the input operations include a touch operation received by a touch screen of the smart terminal and an external input operation received by an external input device connected to the smart terminal; and the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event. 
     Preferably, the step S 104  includes: 
     S 104 - 1 : when the input event interface receives the touch screen input event, converting the touch screen input event into a first input event coexisting with the external input event; and 
     S 104 - 2 : when the input event interface receives the external input event, converting the external input event into a second input event coexisting with the touch screen input event. 
     Preferably, in step S 102 , the input event interface receives the input event from a framework layer of the operating system of the smart terminal. 
     Preferably, in step S 101 , the mapping relationship includes an identification bit of each input event; and in step S 103 , the application program recognizes the input operation corresponding to the input event according to the identification bit in the input event. 
     The present invention discloses an input operation processing apparatus which is used for processing input operations received by a smart terminal, and comprises: 
     a presetting module configured to preset mapping relationships between at least two input operations and input events in an application program; 
     a detection module configured to detect whether an input event interface of the application program receives any input event; 
     a recognition module connected to the detection module and the presetting module and configured to, when the input event interface receives an optional input event, recognize the input operation corresponding to the input event according to the mapping relationship; 
     a conversion module connected to the recognition module and configured to convert the recognized input event into an input event coexisting with other types of input events; and 
     a reporting module connected to the conversion module and configured to report the input event coexisting with other types of input events. 
     Preferably, when the presetting module presets the mapping relationships between at least two input operations and input events, the input operations include a touch operation received by a touch screen of the smart terminal and an external input operation received by an external input device connected to the smart terminal; and the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event. 
     Preferably, the conversion module includes: 
     a first conversion unit configured to, when the input event interface receives the touch screen input event, convert the touch screen input event into a first input event coexisting with the external input event; and 
     a second conversion unit configured to, when the input event interface receives the external input event, convert the external input event into a second input event coexisting with the touch screen input event. 
     Preferably, the detection module detects whether the input event interface receives the input event from the framework layer of the operating system of the smart terminal. 
     Preferably, when the presetting module presets the mapping relationships between at least two input operations and input events, the mapping relationships include an identification bit of each input event; and the recognition module recognizes the input operation corresponding to the input event according to the identification bit in the input event. 
     The present invention further discloses a computer readable storage medium on which a computer program is stored and which is configured to process input operations received by a smart terminal, wherein the computer program, when being performed by a processor, implements the following steps: 
     S 106 : presetting mapping relationships between at least two input operations and input events in an application program; 
     S 107 : detecting whether an input event interface of the application program receives an optional input event; 
     S 108 : when the input event interface receives the optional input event, recognizing, by the application program, the input operation corresponding to the input event according to the mapping relationship; 
     S 109 : converting the recognized input event into an input event coexisting with other types of input events; and 
     S 110 : reporting the input event coexisting with other types of input events. 
     Preferably, in step S 106 , the input operations include a touch operation received by a touch screen of the smart terminal and an external input operation received by an external input device connected to the smart terminal; and the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event. 
     Preferably, the step S 109  includes: 
     S 109 - 1 : when the input event interface receives the touch screen input event, converting the touch screen input event into a first input event coexisting with the external input event; and 
     S 109 - 2 : when the input event interface receives the external input event, converting the external input event into a second input event coexisting with the touch screen input event. 
     Preferably, in step S 107 , the input event interface receives the input event from a framework layer of the operating system of the smart terminal. 
     Preferably, in step S 106 , the mapping relationships include an identification bit of each input event; and in step S 108 , the application program recognizes the input operation corresponding to the input event according to the identification bit in the input event. 
     After the above-mentioned technical solutions are adopted, compared with the prior art, the present invention has the following beneficial effects: 
     1. the smart terminal can be operated by means of an external input device or by combining the external input device with the touch screen, such that the flexibility of the input operations can be improved, and the user experience is enhanced. 
     2. Codes are modified only in the application layer, thereby achieving better compatibility with different operating system versions. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a processing flow of an Android operating system for input events in the prior art; 
         FIG. 2  is a block diagram of a processing flow for an external input event and a touch screen input event in the prior art. 
         FIG. 3  is a schematic flowchart of an input operation processing method in a preferred embodiment in accordance with the present invention; 
         FIG. 4  is a schematic flowchart of step S 104  in  FIG. 3 ; 
         FIG. 5  is a structural block diagram of an input operation processing apparatus in a preferred embodiment in accordance with the present invention; 
         FIG. 6  is a structural block diagram of a conversion module in  FIG. 5 ; 
         FIG. 7  is a schematic flowchart of a computer program on a computer readable storage medium in a preferred embodiment in accordance with the present invention; 
         FIG. 8  is a schematic flowchart of step S 109  in  FIG. 7 ; 
         FIG. 9  is a block diagram of an application program based on the Android operating system in a preferred embodiment in accordance with the present invention; and 
         FIG. 10  is a diagram illustrating an example computing system that may be used in some embodiments. 
     
    
    
     REFERENCE SYMBOLS REPRESENT THE FOLLOWING COMPONENTS 
     
         
         
           
               10 —input operation processing apparatus;  11 —presetting module;  12 —detection module;  13 —recognition module;  14 —conversion module;  15 —reporting module;  141 —first conversion unit;  142 —second conversion unit. 
           
         
       
    
     DETAILED DESCRIPTION 
     The advantages of the present invention are further described hereinafter with reference to the drawings and the specific embodiments. 
     The exemplary embodiments are described in detail herein, and are illustratively shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings indicate the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure described in detail in the appended claims. 
     The terms used in the present disclosure are for the purpose of describing particular embodiments only and are not intended to limit the present disclosure. The singular forms of “a”, “said” and “the” used in the present disclosure and the appended claims are also intended to include the plural forms, unless other meanings are clearly indicated by the context. It should also be understood that the term “and/or” used herein refers to and includes any or all possible combinations of one or more associated listed items. 
     It shall be understood that although the terms first, second, third, etc. may be used to describe various information in the present disclosure, the information should not be limited to these terms. These terms are only used to distinguish the information of the same type from each other. For example, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information without departing from the scope of the present disclosure. Depending on the context, the word “if” used herein can be explained as “in the case of”, “when” or “in response to determine”. 
     In the description of the present invention, it should be understood that the orientation or position relation indicated by the terms “longitudinal”, “lateral”, “upper”, “lower”, “front”, “rear”, “left”, “right”, “vertical”, “horizontal”, “top”, “bottom”, “inside”, “outside” and the like is based on the orientation or position relation shown in the drawings, which is only used for convenience of description of the present invention and simplification of description instead of indicating or implying that the indicated device or element must have a specific orientation, and be constructed and operated in a specific orientation, and thus should not be understood as a limitation to the present invention. 
     In the description of the present invention, the terms “installation”, “connected” and “connection” should be understood in broad sense unless otherwise specified and defined. For example, they can be mechanical connection or electrical connection, can also be connected inside two components, can be directly connected, and can also be indirectly connected through an intermediate medium. The specific meanings of the above terms can be understood in a specific case by those of ordinary skills in the art. 
     In the following description, the postfixes such as “module”, “component” or “unit” used to indicate elements are only used to facilitate the description of the present invention and have no specific meanings in themselves. Therefore, the “module” and “component” can be used in a mixed way. 
       FIG. 3  is a schematic flowchart of an input operation processing method in a preferred embodiment in accordance with the present invention. The input operation processing method is used for processing input operations received by a smart terminal, and comprises the following steps: 
     S 101 : presetting mapping relationships between at least two input operations and input events in an application program. 
     Depending on different input devices, the input operations received by various input devices are also different. For example, a touch screen of the smart terminal can receive touch operations, and keys of the smart terminal can receive press operations. If the smart terminal is connected to an external input device such as a joystick or an external keyboard, it can accept external input operations. Each input event is a software task formed in the smart terminal. The application program can receive the input event from a framework layer of an operating system and process the input event, for example, trigger a computing task associated with the input event, or display the result of the input event on a display interface. Different input operations correspond to different input events, and various input events can be recognized and distinguished by software. 
     In this step, the mapping relationships between at least two input operations and input events are preset in the application program, that is, identification tags and input operation types, which correspond to different input events, are pre-stored. The application program is provided in an application layer of the operating system of the smart terminal, and may be application software that requires human-computer interactions, such as games and remote operation software. When the application program starts, the mapping relationships between the external input events and the touch screen input events are loaded into the application program through the Hook technology. Hook is originally meant as “a hook tool for grasping an object”. In the development of computer software, the Hook technology refers to monitoring an interface of a program and intercepting data from this interface for processing. For example, game plug-in is a typical application of the Hook technology. In this embodiment, the mapping relationships between the input operations and the input events are preset in the application program through the Hook technology. The specific implementation means may include: replacing a class or method that processes an input event in the original application program, and presetting the mapping relationship in the self-defined class or method of the same name, so that the input event can be processed according to the self-defined class or method when the input event is reported by the input event interface. 
     S 102 : Detecting whether an input event interface of the application program receives the optional input event. 
     In this step, the input event interface of the application program is monitored to detect whether the input event interface receives the optional input event preset in step S 101 . The input event interface may be a window input event receiver that can receive input events reported from the framework layer of the operating system. When the input event interface receives the input event, it will inevitably produce a change in data stream or related identification bit, so a behavior of receiving the input event can be known. Taking the Android operating system as an example, in this step, the application program is monitored to obtain onInputEvent in the WindowInputEventReceiver class, thereby intercepting the input events reported by the framework layer. 
     S 103 : When the input event interface receives the optional the input event, recognizing, by the application program, the input operation corresponding to the input event according to the mapping relationship. 
     When it is detected in step S 102  that the input event interface receives any type of input events, this step is performed. In this step, the application program recognizes an input operation corresponding to the input event through the mapping relationship. Since different types of input events inevitably have differences in software data, such as differences in different identification bits, different member variables, or different attributes, and these differences have been preset as the mapping relationships in the application program in step S 101 . Therefore, the input operation corresponding to the input event can be recognized. 
     S 104 : Converting the recognized input event into an input event coexisting with other types of input events. 
     The recognition of different types of input events only through step S 103  has not yet implemented the processing of the application program for different input events, and this step needs to be performed. In this step, the conversion operation is performed, i.e., the input event recognized in step S 103  is converted into an input event coexisting with other types of input events. When this step is performed, the input event is modified. The modified content may be data such as member variables and attributes that affect the characteristics of the input event, and the modified input event can coexist with other types of input events. For example, after the external input event reported by the external input device is converted, this event can coexist with the touch screen input event corresponding to the touch screen, that is, the two events can be distinguished with respect to the application program and can be processed accordingly. 
     S 105 : Reporting the input event coexisting with other types of input events. 
     In this step, the input event converted in step S 104  is reported to other modules in the application program. For example, related data calculation is performed on the input event, or the result of the input event is displayed. For example, in a game, a user uses a joystick to perform input operations for the movements of an operation object. After this operation forms an input event, the game program must analyze the input event, calculate a movement distance of the operation object, and display a movement effect of the operation object on the display interface. In the above process, the converted input event must be reported to a related analysis and display module in the application program. In this embodiment, through a Java reflection technology, the converted input event is sent out via an onInputEvent interface. The Java reflection technology is implemented depending on a Java reflection mechanism. The Java reflection mechanism lies in that, in a running state, for any class, all the properties and methods of this class can be known; for any object, optional methods and properties of this object can be called. This function of dynamically acquiring information and dynamically calling object methods is referred to as a reflection mechanism of Java language, so the Java language is also called a dynamic language. Through the Java reflection technology, the attributes and methods of the class of the converted input event can be acquired, and then transmitted to other modules in the application program via the onInputEvent interface. 
     As a further improvement on the input operation processing method, in step S 106 , the input operations include a touch operation received by a touch screen of the smart terminal and an external input operation received by an external input device connected to the smart terminal; and the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event. In this improved embodiment, the types of the input operations are further divided into two types, which are a touch operation received by the touch screen and an external input operation received by an external input device. Correspondingly, the above two input operations correspond to different input events, wherein the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event, which facilitates the application program to recognize and process. 
       FIG. 4  is a schematic flowchart of step S 104  in  FIG. 3 . The step S 104  includes: 
     S 104 - 1 : when the input event interface receives the touch screen input event, converting the touch screen input event into a first input event coexisting with the external input event; and 
     S 104 - 2 : when the input event interface receives the external input event, converting the external input event into a second input event coexisting with the touch screen input event. 
     In this improved embodiment, on the basis that the input operations are divided into the touch operation and the external input operation, the step S 104  is further defined. According to the type of the input event received by the input event interface, the input event is converted into the first input event or the second input event, respectively. The first input event can reflect an attribute or related parameters related to the touch operation, and the second input event can reflect an attribute or related parameters related to the external input operation, which facilitates subsequent processing by other modules in the application program. 
     As a further improvement on the input operation processing method, in step S 102 , the input event interface receives the input event from the framework layer of the operating system of the smart terminal. Since the input event is reported layer by layer after the formation of a Android driver layer of the Android operating system, in theory, the input event can be intercepted and processed in any of the Android driver layer, an Android native layer, a framework layer and an application layer. In order to reduce the workload of code transplantation when the operating system is upgraded, the processes of receiving, detecting, and processing the input event in this embodiment are all implemented in the application layer. Therefore, the input event may be received from the framework layer. In this case, whatever an operating system is upgraded, or codes of different versions of the operating systems are transplanted, there is no need to change the codes of the framework layer and the following layers, thereby reducing the workload of code transplantation. 
     As a further improvement on the input operation processing method, in step S 101 , the mapping relationships include an identification bit of each input event; and in step S 103 , the application program recognizes the input operation corresponding to the input event according to the identification bit in the input event. This improved embodiment further defines the recognition manner of the input event. That is, the identification is performed according to the identification bit of the input event, so it is necessary to preset the identification bits in the mapping relationships, and identify the input event according to the preset identification bit in the recognition step. 
       FIG. 9  is a block diagram of an application program based on the Android operating system in a preferred embodiment in accordance with the present invention. Compared with  FIG. 1 , a method hooker is additionally provided on the original Android operating system framework in the present invention. The method hooker includes an OnInputEvent method which also includes an event exchanger. In step S 101 , the method hooker is preset, and the OnInputEvent method inside the method hooker defines mapping relationships between the input operations and the input events. In step S 102 , whether or not the frame layer reports the input event to the window input event receiver in the application layer is detected, wherein the framework layer reports the input event via the input event interface. In steps S 103  and S 104 , the OnInputEvent method in the window input event receiver is replaced through the method hooker, and the input event is recognized and converted by using the OnInputEvent method in the method hooker. In step S 105 , the input event converted by the method hooker is reported to EnqueueInputEvent. 
       FIG. 5  is a schematic flowchart of an input operation processing apparatus  10  in a preferred embodiment in accordance with the present invention. The input operation processing apparatus  10  is used for processing input operations received by a smart terminal, and comprises a presetting module  11 , a detection module  12 , a recognition module  13 , a conversion module  14  and a reporting module  15 . 
     The presetting module  11  is configured to preset mapping relationships between at least two input operations and input events in an application program. The presetting module  11  pre-stores identification tags and input operation types, which correspond to different input events, and loads the mapping relationships between the different types of input events and input operations into the application program through the Hook technology. 
     The detection module  12  is configured to detect whether an input event interface of the application program receives an optional input event. The detection module  12  is actually a monitoring program which monitors the input event interface, and recognizes whether there is an input event reported according to the change in data stream or the related identification bit. 
     The recognition module  13  is connected to the detection module  12  and the presetting module  11  and configured to, when the detection module  12  detects that the input event interface receives the optional the input event, recognize the input operation corresponding to the input event according to the mapping relationship. The recognition module  13  acquires the mapping relationship through the presetting module  11  and recognizes the input event. 
     The conversion module  14  is connected to the recognition module  13  and configured to convert the recognized input event into an input event coexisting with other types of input events. The conversion module  14  converts the input event according to the recognition result of the recognition module  13 . For different input events, the conversion results are also different. The input event is finally converted into an input event coexisting with other types of input events, that is, different converted input events can be distinguished when processed. 
     The reporting module  15  is connected to the conversion module  14  and configured to report the input event coexisting with other types of input events. The reporting module  15  acquires the converted input event from the conversion module  14  and reports the input event to other modules in the application program for subsequent processing. 
     As a further improvement on the input operation processing apparatus  10 , when the presetting module  11  presets the mapping relationships between at least two input operations and input events, the input operations include a touch operation received by a touch screen of the smart terminal and an external input operation received by an external input device connected to the smart terminal; and the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event. 
       FIG. 6  is a structural block diagram of a conversion module  14  in  FIG. 5 . The conversion module  14  includes: 
     a first conversion unit  141  configured to, when the input event interface receives the touch screen input event, convert the touch screen input event into a first input event coexisting with the external input event; and a second conversion unit  142  configured to, when the input event interface receives the external input event, convert the external input event into a second input event coexisting with the touch screen input event. 
     Because the classes and methods of different types of input events have different attributes, the touch screen input event and the external input event are respectively converted by the first conversion unit  141  and the second conversion unit  142  to form the corresponding first input event and second input event. 
     As a further improvement on the input operation processing apparatus  10 , the detection module  12  detects whether the input event interface receives the input event from a framework layer of the operating system of the smart terminal. In this improved embodiment, the detection module  12  monitors the input events reported by the framework layer. 
     As a further improvement on the input operation processing apparatus  10 , when the presetting module  11  presets the mapping relationships between at least two input operations and input events, the mapping relationships includes an identification bit of each input event; and the recognition module  13  recognizes the input operation corresponding to the input event according to the identification bit in the input event. 
       FIG. 7  is a schematic flowchart of a computer program on a computer readable storage medium in a preferred embodiment in accordance with the present invention. A computer program is stored on the computer readable storage medium and configured to process input operations received by a smart terminal, wherein the computer program, when being performed by a processor, implements the following steps: 
     S 106 : presetting mapping relationships between at least two input operations and input events in an application program; 
     S 107 : detecting whether an input event interface of the application program receives an optional input event; 
     S 108 : when the input event interface receives the optional the input event, recognizing, by the application program, the input operation corresponding to the input event according to the mapping relationship; 
     S 109 : converting the recognized input event into an input event coexisting with other types of input events; and 
     S 110 : reporting the input event coexisting with other types of input events. 
     As a further improvement on the computer program, in step S 106 , the input operations include a touch operation received by a touch screen of the smart terminal and an external input operation received by an external input device connected to the smart terminal; and the touch operation corresponds to a touch screen input event, and the external input operation corresponds to an external input event. 
       FIG. 8  is a schematic flowchart of step S 109  in  FIG. 7 . The step S 109  includes: 
     S 109 - 1 : when the input event interface receives the touch screen input event, converting the touch screen input event into a first input event coexisting with the external input event; and 
     S 109 - 2 : when the input event interface receives the external input event, converting the external input event into a second input event coexisting with the touch screen input event. 
     As a further improvement on the computer program, in step S 107 , the input event interface receives the input event from a framework layer of the operating system of the smart terminal. 
     As a further improvement on the computer program, in step S 106 , the mapping relationships include an identification bit of each input event; and in step S 108 , the application program recognizes the input operation corresponding to the input event according to the identification bit in the input event. 
     The method steps of the above computer program are consistent with the implementation of the input operation processing method in the present invention, and will not be described in detail. 
     In at least some embodiments, a computing device that implements a portion or all of one or more of the techniques described herein may include a general-purpose computer system that includes or is configured to access one or more computer-accessible media.  FIG. 10  illustrates such a general-purpose computing device  200 . In the illustrated embodiment, computing device  200  includes one or more processors  210  (which may be referred herein singularly as “a processor  210 ” or in the plural as “the processors  210 ”) are coupled through a bus  220  to a system memory  230 . Computing device  200  further includes a permanent storage  240 , an input/output (I/O) interface  250 , and a network interface  260 . 
     In various embodiments, the computing device  200  may be a uniprocessor system including one processor  210  or a multiprocessor system including several processors  210  (e.g., two, four, eight, or another suitable number). Processors  210  may be any suitable processors capable of executing instructions. For example, in various embodiments, processors  210  may be general-purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. In multiprocessor systems, each of processors  210  may commonly, but not necessarily, implement the same ISA. 
     System memory  230  may be configured to store instructions and data accessible by processor(s)  210 . In various embodiments, system memory  230  may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory. 
     In one embodiment, I/O interface  250  may be configured to coordinate I/O traffic between processor  210 , system memory  230 , and any peripheral devices in the device, including network interface  260  or other peripheral interfaces. In some embodiments, I/O interface  250  may perform any necessary protocol, timing, or other data transformations to convert data signals from one component (e.g., system memory  230 ) into a format suitable for use by another component (e.g., processor  210 ). In some embodiments, I/O interface  250  may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example. In some embodiments, the function of I/O interface  250  may be split into two or more separate components, such as a north bridge and a south bridge, for example. Also, in some embodiments some or all of the functionality of I/O interface  250 , such as an interface to system memory  230 , may be incorporated directly into processor  210 . 
     Network interface  260  may be configured to allow data to be exchanged between computing device  200  and other device or devices attached to a network or network(s). In various embodiments, network interface  260  may support communication via any suitable wired or wireless general data networks, such as types of Ethernet networks, for example. Additionally, network interface  260  may support communication via telecommunications/telephony networks such as analog voice networks or digital fiber communications networks, via storage area networks such as Fibre Channel SANs or via any other suitable type of network and/or protocol. 
     In some embodiments, system memory  230  may be one embodiment of a computer-accessible medium configured to store program instructions and data as described above for implementing embodiments of the corresponding methods and apparatus. However, in other embodiments, program instructions and/or data may be received, sent or stored upon different types of computer-accessible media. Generally speaking, a computer-accessible medium may include non-transitory storage media or memory media, such as magnetic or optical media, e.g., disk or DVD/CD coupled to computing device  200  via I/O interface  250 . A non-transitory computer-accessible storage medium may also include any volatile or non-volatile media, such as RAM (e.g. SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc., that may be included in some embodiments of computing device  200  as system memory  230  or another type of memory. 
     Further, a computer-accessible medium may include transmission media or signals such as electrical, electromagnetic or digital signals, conveyed via a communication medium such as a network and/or a wireless link, such as may be implemented via network interface  260 . Portions or all of multiple computing devices may be used to implement the described functionality in various embodiments; for example, software components running on a variety of different devices and servers may collaborate to provide the functionality. In some embodiments, portions of the described functionality may be implemented using storage devices, network devices, or special-purpose computer systems, in addition to or instead of being implemented using general-purpose computer systems. The term “computing device,” as used herein, refers to at least all these types of devices and is not limited to these types of devices. 
     Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code modules executed by one or more computers or computer processors. The code modules may be stored on any type of non-transitory computer-readable medium or computer storage device, such as hard drives, solid state memory, optical disc, and/or the like. The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The results of the disclosed processes and process steps may be stored, persistently or otherwise, in any type of non-transitory computer storage such as, e.g., volatile or non-volatile storage. It should be noted that the embodiments of the present invention have a better implementation performance and are not intended to limit the present invention in any form. Those skilled in the art may change or decorate the technical contents disclosed above into equivalent effective embodiments. Any modification or equivalent change and decoration to the embodiments above according to the technical essence of the present invention without departing from the contents of the technical solutions of the present invention should still fall within the scope of the technical solutions of the present invention. 
     It should be noted that the embodiments of the present invention have better implementation and do not limit the present invention in any way. Any person skilled in the art may use the technical content disclosed above to change or modify these embodiments into equivalent effective embodiments. However, any corrections or equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the technical solutions of the present invention still fall within the scope of the technical solution of the present invention.