Detailed Description
The invention is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present invention are shown in the drawings.
Fig. 1 is a schematic structural diagram of a resource monitoring device according to an embodiment of the present invention, where the resource monitoring device includes a resource mapping module 101, a resource processing module 102, and a fault aggregation module 103,
The resource mapping module 101 is configured to store resource mapping data in the monitoring area, receive resource status information of each resource in the monitoring area, and update the resource mapping data based on the received resource status information, where the resource mapping data includes each resource information and resource status information;
The resource processing module 102 is configured to determine current resource monitoring data according to the updated resource mapping data, and send the current resource monitoring data to the fault aggregation module 103;
the failure aggregation module 103 is configured to receive current resource monitoring data and update failure resource information in the monitoring area.
In this embodiment, the distributed system may be provided with subsystems in different areas, for example, a company may be used as one subsystem in each place, and each branch of each place may be used as a subsystem of the financial system in each place, where a large amount of resources are deployed in each subsystem for normal operation of the subsystem. The resources may include physical resources and virtual resources, and by way of example, the physical resources may include, but are not limited to, electronic devices such as terminals, PCs, servers, physical machines, and the like, and the virtual resources may include, but are not limited to, virtual machines, peer virtual machines, networks, storage systems, and the like. Referring to fig. 2, fig. 2 is a schematic monitoring diagram of a resource monitoring device according to an embodiment of the present invention. The schematic diagram of the distributed architecture is shown in fig. 2, where an available area includes a plurality of fault areas, each fault area is separately powered to ensure that the fault areas do not affect each other, and a plurality of racks are disposed in any fault area to respectively carry a plurality of electronic devices, where the electronic devices may be servers, and each electronic device (e.g., a server) may be configured with a plurality of virtual resources, such as virtual machines. The electronic equipment and the virtual resources are resources in the available areas, and stability monitoring of the resources in each available area in the monitoring area can be achieved through the resource monitoring device.
It should be noted that, the distributed architecture in fig. 2 is only an example, and in other embodiments, the number of available areas of the monitoring area where the resource monitoring device is located is not limited, the number of fault areas in any available area, the number of racks set in any fault area, the type of devices carried by any rack, the number of devices, and the type and number of virtual resources configured on each device.
In this embodiment, by providing a resource monitoring device in each monitoring area, the resource monitoring device may be integrated in an electronic device, such as a server, a computer, or a terminal device. The resource monitoring device is used for monitoring the states of all resources in the monitored area so as to determine the normal operation of the subsystem in the monitored area, and simultaneously, under the condition that the resource failure or the risk of the resource failure is monitored, alarm information or prompt information is timely generated and provided for maintenance personnel to carry out resource maintenance so as to ensure the stability of the resource. Each resource monitoring device may include one or more subsystems within the monitored area, which is not limited. By uniformly monitoring the resources in the monitored area, the monitoring transformation of the subsystem or each resource is not needed, the compatibility problem existing in transformation of different equipment is reduced, and the cost consumption caused by transformation is reduced. Simultaneously, the resource monitoring devices are respectively arranged in different monitoring areas, so that the same monitoring mode for sampling different monitoring areas is realized, and the condition that monitoring is omitted or not timely caused by different monitoring forces in different monitoring areas is avoided.
Each resource monitoring device includes a resource mapping module 101, a resource processing module 102102 and a fault aggregation module 103, where the resource mapping module 101 stores resource mapping data in a monitoring area, and the resource mapping data may be in a form of a list, a data set, a data chain, etc., and the storage form of the resource mapping data is not limited. For any resource, the resource mapping data includes resource information of the resource, the resource information may include resource information and resource location, for the entity resource, the resource information may be resource number, and the resource location may include a region identifier, an available region identifier, a fault region identifier, and a rack identifier where the entity resource is located. For the virtual resource, the resource information may be a resource number, and the resource location may include a region identifier, an available area identifier, a fault domain identifier, a rack identifier, and an object device identifier where the entity resource is located. The identifiers may be in the form of characters, numbers, etc. and are used for uniquely marking each type of information, for example, but not limited to, a region identifier, an available region identifier, a fault domain identifier, a rack identifier, and a located object device identifier may be a region number, an available region number, a fault domain number, a rack number, and a located object device number, respectively. It should be noted that, the resource location may be determined according to the setting of the distributed architecture, for example, if any level is added or subtracted in the distributed architecture in fig. 2, the resource location is increased or decreased in response, for example, a partition area is added between the fault domain and the available area, and the corresponding resource location includes an identifier corresponding to the added area.
In this embodiment, resource information of each resource in a monitoring area where the resource monitoring device is located is obtained to form resource mapping data. Also included in the resource map data is resource status information, which in some embodiments may be a resource status identifier, such as a normal-running identifier and an abnormal-running identifier. In some embodiments, the resource status information may include a plurality of parameter information for characterizing the resource status, including, but not limited to, CPU operating parameters, remaining storage space, remaining memory, and the like.
The resource processing module 102 traverses the resource status information of each resource in the resource mapping data to determine whether there is a resource in an abnormal state, for example, a resource provided with an operation abnormal identifier, or analyzes a plurality of parameter information corresponding to each resource to obtain that the resource is in an abnormal state, so as to obtain monitoring data of each resource, and monitoring of each resource in a monitoring area is realized. The step of analyzing the plurality of parameter information corresponding to each resource to obtain that the resource is in an abnormal state may be to compare the parameter information through a threshold value of each parameter information, and if any parameter information of the resource meets an abnormal condition corresponding to the threshold value, determine that the resource is in the abnormal state.
To facilitate the processing of the resource mapping data stored in the resource mapping module 101 by the resource processing module 102, in some embodiments, the resource mapping data may be classified and stored, optionally, classified and stored according to the resource location of each resource, for example, the resources of each available region are respectively stored based on the available region identifier, for example, in different storage spaces or different lists, or the resources of each fault region are respectively stored based on the fault region identifier, for example, in different storage spaces or different lists, so that the resource processing module 102 traverses with the available region or the fault region, and omission caused by confusion of the resource mapping data is avoided.
Optionally, the service system to which each resource belongs is classified and stored. In the monitoring area where the resource monitoring device is located, each resource may support a plurality of business systems, for example, financial business, which may include, but are not limited to, payment business systems, settlement business systems, reimbursement business systems, and the like. Each service system deploys a plurality of resources respectively, and the resource mapping data is classified and stored according to the service system identifier corresponding to each resource, for example, the resource mapping data is stored in different storage spaces or different lists, that is, the resource mapping data stored by the resource mapping module 101 includes the resource mapping data corresponding to a plurality of service systems respectively. Each service system is composed of a plurality of service nodes, each service node can correspond to each resource, and correspondingly, the resource mapping data corresponding to any service system respectively comprises resource information and resource state information corresponding to each service node in the service system. The service nodes are modules or functions which can be independently separated in the service system, for example, the database module can be used as one service node, the service nodes in the service system can be set according to the requirements of the service system, and the type and the number of the service nodes are not limited.
For example, referring to fig. 2, the resource mapping data in fig. 2 is stored in a classification manner according to service system identifiers corresponding to the resources, and is stored in different mapping chains. Each service node in the service system may be provided with a node identification, e.g. for service system X, it may be marked by means of X-1, X-2, X-n. The multiple resources corresponding to the service system bear and run a part of modules or functions of the service system, for example, in fig. 2, three virtual machines corresponding to the service node x-i are respectively used for executing the functions of the service node x-i, and two servers corresponding to the service node y-i are respectively used for executing the functions of the service node y-i. And each service node is operated on a plurality of independent resources respectively to form a high-availability architecture, so that the stability and availability of each service node are improved. Note that, the resources corresponding to each service node in the same service system may be virtual resources or physical resources, which is not limited.
In fig. 2, service system X includes service resource nodes X-i, X-j and X-k, and correspondingly, a resource mapping chain (i.e., resource mapping data) of service system X includes resource information and resource status information of resources corresponding to each service node in service system X. Similarly, the resource mapping chain of the service system Y includes resource information and resource status information of resources corresponding to each service node in the service system Y. The resource processing module 102 may traverse the resource mapping data corresponding to each service system by using the service system identifier as an index, so as to ensure the running stability of each service system. Meanwhile, aiming at the chained stored resource mapping data, the monitoring of the corresponding resources of each service node is sequentially carried out from one end to the other end of the resource mapping chain, so that omission of any resource is avoided.
For each resource, there is a change of resource information, for example, a change of a resource location, a union of service systems or service nodes corresponding to the resource, an increase or decrease of the resource, etc., the resource mapping module 101 is configured to receive the resource change information of any service node, and update the resource mapping data based on the resource change information. And the accuracy of each resource information in the resource mapping data is ensured by updating the resource mapping data.
In the above-described acquisition of the embodiment, the resource mapping module 101 receives the resource status information of each resource in the monitoring area for each resource for which there is a change in the resource status information, and updates the resource mapping data based on the received resource status information. The resource state information received by the resource mapping module 101 carries resource information, the resource information is matched in the resource mapping data through the resource information, the successfully matched resource information is determined, and the currently received resource state information is used for replacing the resource state information in the original resource mapping data. Each resource state information carries a time stamp, and the time sequence of the resource state information can be verified through the time stamp.
Optionally, the resource status information is sent periodically by the corresponding resource, and the sending period of the resource status information and the importance level and/or the risk level of the service system to which the corresponding resource belongs are determined. In some embodiments, the transmission period of the resource status information of the plurality of resources corresponding to the same service system may be the same, for example, the transmission period of the resource status information may be smaller as the importance level is higher according to one or both of the importance level and the risk level of the service system to which the corresponding resource belongs, for example, the transmission period of the service system corresponding to the highest level may be 1 minute/time, so as to perform high-precision monitoring on the resource corresponding to the key service system, and the transmission period of the resource status information may be smaller as the risk level is higher, so as to perform high-precision monitoring on the resource corresponding to the service system with high risk. In some embodiments, the sending periods of the resource status information of the plurality of resources corresponding to the same service system may be different, for example, the sending periods of the resource status information are smaller as the risk level is higher, so as to monitor the resources corresponding to the service nodes with high risk with high precision. The risk level of each service node and the risk level of each service system may be determined by the resource processing module 102.
The resource processing module 102 traverses resource status information of each service node in each service system, determines available resources corresponding to each service node, and generates current resource monitoring data based on the available resources corresponding to each service node, wherein the current resource monitoring data comprises risk identification data and fault identification data. The risk identification data are used for prompting that the service node has stability risk, and the fault identification data are used for prompting that the service node has fault and cannot normally operate. And determining available resources corresponding to each service node by traversing each service node in each service system, wherein the available resources are normally operable resources, and determining that any resource is unavailable if any resource of the service nodes is in an abnormal state, namely, the transmitted state is abnormal or any parameter information of the resource is in an abnormal state.
Optionally, the resource processing module 102 generates risk identification data of a service node when the number of available resources corresponding to any service node is smaller than a first preset value, where the first preset value may be 2, that is, when the number of available resources corresponding to any service node is 1, the service node is determined to be a risk node, and risk identification data of the service node is generated, and it needs to be noted that, in different service systems, the first preset value may be set according to requirements, for example, may also be 3. The risk identification data includes a service system identifier, a service node identifier, and a risk factor, for example, the risk factor may be resource information of an abnormal resource corresponding to the service node and the number of available resources. For example, referring to fig. 2, for service node x-k and service node y-k, each configured with one resource to operate independently, the number of available resources of service node x-k and service node y-k is 1, which is smaller than a first preset value, and service node x-k and service node y-k are determined to be risk nodes. In fig. 2, if one of two resources corresponding to a service node x-j is in an abnormal state, the number of available resources of the service node x-j is 1, which is smaller than a first preset value, and the service node x-j is determined to be a risk node. The resource processing module 102 may determine the risk level based on the amount of available resources of the service node, e.g., the greater the amount of available resources, the lower the risk level. Corresponding to the above. The resource processing module 102 may determine the risk level of the service system according to the risk level of each service node in the service system, for example, determine the highest risk level of the service node as the risk level of the service system.
Optionally, the resource processing module 102 generates the fault identification data of the service node when the number of available resources of any service node is smaller than a second preset value, where the first preset value is greater than the second preset value. The second preset value may be 1, that is, if the number of available resources of any service node is 0, it indicates that the service node cannot operate normally, and fault identification data of the service node is generated. The fault identification data comprises service system identification, service node identification and abnormal resource information of each resource.
Optionally, the resource processing module 102 periodically monitors the resource status information in each service system, for example, parallel processing may be performed, so as to improve the monitoring efficiency. Optionally, the resource processing module 102 may monitor the resource status information of each service system according to the monitoring periods of different service systems, where different service systems may correspond to different monitoring periods, and the monitoring periods of the service systems may be determined based on the importance level and/or the risk level of the service systems. The resource mapping module 101 updates the resource mapping data in real time based on the received resource status information and the resource change information, and the resource processing module 102 monitors the updated resource processing module 102 to obtain current resource monitoring data.
The resource processing module 102 sends the obtained current resource monitoring data to the fault aggregation module 130, where the fault aggregation module 130 is configured to generate risk prompt information according to the risk identification data, and/or generate fault prompt information based on the fault identification data. By generating the risk prompt information and the fault prompt information, the risk points with risks or the fault points with faults are clearly improved, and maintenance information is convenient to maintain and improve the resources in the monitoring area through the risk prompt information and the fault prompt information, so that the running stability of each service system is ensured.
According to the technical scheme, the resource monitoring devices are arranged in the monitoring areas, the resource mapping data of the resources in the monitoring areas are stored, the resource mapping data are updated, the resource monitoring data in the monitoring areas are obtained by carrying out abnormal monitoring on the resource mapping data at all times, the operators are conveniently prompted through the resource monitoring data, the abnormal resources are timely maintained or updated, and the normal operation of the resources in the monitoring areas is guaranteed.
On the basis of the above embodiments, fig. 3 is a schematic structural diagram of a resource monitoring system provided by the embodiment of the present invention, where the resource monitoring system includes a plurality of resource monitoring devices 100, and the plurality of resource monitoring devices 100 monitor resources in different monitoring areas, so as to realize uniform monitoring of resources of a large-scale system, and ensure operation of the large-scale system.
On the basis of the above embodiment, any one of the resource monitoring devices is respectively in communication connection with at least two associated resource monitoring devices, for example, in fig. 3, a plurality of resource monitoring devices may form a ring network structure, where the associated resource monitoring device may be any resource monitoring device other than the current resource monitoring device in the resource monitoring system, for example, the associated resource monitoring device may be a neighboring resource monitoring device to the current resource monitoring device, for example, the associated resource monitoring device may be a resource monitoring device upstream and downstream of the current resource monitoring device in the ring network structure. Each resource monitoring device in fig. 3 is a related resource monitoring device with a downstream resource monitoring device.
Any resource monitoring device is used for sending platform state information to the associated resource monitoring device and receiving the platform state information sent by the associated resource monitoring device, wherein the platform state information can be information for representing the running state of the resource monitoring device, for example, the platform state information can be a state identifier, and the state identifier can be a normal identifier, an abnormal identifier and the like.
Any resource monitoring device acquires the resource information monitored by the associated resource monitoring device and establishes connection with the resources monitored by the associated resource monitoring device and monitors newly added resources when platform state information (for example, the platform state information cannot be transmitted due to power failure of the associated resource monitoring device) transmitted by the associated resource monitoring device is not received or the received platform state information is abnormal information.
Local resource information monitored by the current resource monitoring device is respectively stored in at least two associated resource monitoring devices of any current resource monitoring device, and the aggregate of the local resource information respectively stored by the at least two associated resource monitoring devices is all the resource information monitored by the current resource monitoring device.
When any resource monitoring device is abnormal, the associated resource monitoring device of the resource monitoring device calls the stored local resource information of the resource monitoring device, establishes connection with the resource corresponding to the local resource information, monitors newly-added resources, and realizes the shunting of the resource information monitored by the associated resource monitoring device, so that the normal monitoring of the resources of each monitoring area is ensured when the resource monitoring device has faults, and the influence of the abnormality of the resource monitoring device on the resource monitoring is avoided.
And when any resource monitoring device receives the normal platform state information sent by the abnormal associated resource monitoring device, cutting off the connection with the newly added resource, and stopping monitoring the newly added resource.
On the basis of the above embodiment, the resource monitoring system further includes a fault collecting device, which is communicatively connected with each resource monitoring device, and is configured to receive the fault resource information sent by each resource monitoring device, so as to collect the fault resource information of each monitoring area, and thus, to count and maintain faults in each monitoring area.
Fig. 4 is a flowchart of a resource monitoring method according to an embodiment of the present invention. The method may be performed by a resource monitoring device according to an embodiment of the present invention, which may be implemented in software and/or hardware, and which may be integrated in an electronic device such as a computer. The method specifically comprises the following steps:
s210, receiving resource state information of each resource in the monitoring area, and updating resource mapping data based on the received resource state information, wherein the resource mapping data comprises each resource information and the resource state information.
S220, determining current resource monitoring data according to the updated resource mapping data, and updating fault resource information in the monitoring area based on the updated resource monitoring data.
Optionally, the resource mapping data includes resource mapping data corresponding to each of the plurality of service systems, and the resource mapping data corresponding to each of the service systems includes resource information corresponding to each of the service nodes in the service system.
Optionally, determining the current resource monitoring data according to the updated resource mapping data includes:
Traversing resource state information of each service node in each service system, determining available resources corresponding to each service node, and generating current resource monitoring data based on the available resources corresponding to each service node, wherein the current resource monitoring data comprises risk identification data and fault identification data.
Optionally, generating current resource monitoring data based on available resources corresponding to each service node includes:
Generating risk identification data of any service node under the condition that the number of available resources corresponding to the service node is smaller than a first preset value;
And generating fault identification data of any service node under the condition that the number of available resources of the service node is smaller than a second preset value, wherein the first preset value is larger than the second preset value.
Optionally, the resource status information is sent periodically by the corresponding resource, and the sending period of the resource status information and the importance level and/or the risk level of the service system to which the corresponding resource belongs are determined.
Optionally, the method further comprises receiving resource change information of any service node, and updating the resource mapping data based on the resource change information
Optionally, the method further comprises:
the method comprises the steps of sending platform state information to a resource monitoring device with a connection relation, and receiving the platform state information sent by the resource monitoring device with the connection relation;
and under the condition that the platform state information sent by the associated resource monitoring device is not received or the received platform state information is abnormal information, acquiring the resource information monitored by the associated resource monitoring device, establishing connection with the resources monitored by the associated resource monitoring device, and monitoring the newly-added resources.
According to the technical scheme provided by the embodiment of the invention, the resource mapping data of each resource in the monitoring area is stored, the resource mapping data is updated, and the resource monitoring data in the monitoring area is obtained by carrying out abnormal monitoring on the resource mapping data at each moment, so that the operation personnel can be conveniently prompted by the resource monitoring data, the abnormal resources can be timely maintained or updated, and the normal operation of each resource in the monitoring area and the stability of the system operation are ensured.
Fig. 5 is a schematic structural diagram of an electronic device according to a fourth embodiment of the present invention. Fig. 5 shows a block diagram of an electronic device 12 suitable for use in implementing embodiments of the present invention. The electronic device 12 shown in fig. 5 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention. Device 12 is typically an electronic device that assumes image classification functionality.
As shown in fig. 5, the electronic device 12 is in the form of a general purpose computing device. The components of the electronic device 12 may include, but are not limited to, one or more processors 16, a memory device 28, and a bus 18 connecting the various system components, including the memory device 28 and the processors 16.
Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include industry standard architecture (Industry Standard Architecture, ISA) bus, micro channel architecture (Micro Channel Architecture, MCA) bus, enhanced ISA bus, video electronics standards association (Video Electronics Standards Association, VESA) local bus, and peripheral component interconnect (PERIPHERAL COMPONENT INTERCONNECT, PCI) bus.
Electronic device 12 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by electronic device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The storage 28 may include computer system readable media in the form of volatile memory, such as random access memory (Random Access Memory, RAM) 30 and/or cache memory 32. The electronic device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from or write to non-removable, nonvolatile magnetic media (not shown in FIG. 5, commonly referred to as a "hard disk drive"). Although not shown in fig. 5, a disk drive for reading from and writing to a removable nonvolatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from and writing to a removable nonvolatile optical disk (e.g., a Compact Disc-Read Only Memory (CD-ROM), digital versatile Disc (Digital Video Disc-Read Only Memory), or other optical media), may be provided. In such cases, each drive may be coupled to bus 18 through one or more data medium interfaces. The storage device 28 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of the embodiments of the invention.
Programs 36 having a set (at least one) of program modules 26 may be stored, for example, in storage 28, such program modules 26 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a gateway environment. Program modules 26 generally perform the functions and/or methods of the embodiments described herein.
The electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, camera, display 24, etc.), one or more devices that enable a user to interact with the electronic device 12, and/or any devices (e.g., network card, modem, etc.) that enable the electronic device 12 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 22. Also, electronic device 12 may communicate with one or more gateways (e.g., local area network (Local Area Network, LAN), wide area network Wide Area Network, WAN) and/or a public gateway, such as the internet) via gateway adapter 20. As shown, gateway adapter 20 communicates with other modules of electronic device 12 over bus 18. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 12, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, disk array (Redundant Arrays of INDEPENDENT DISKS, RAID) systems, tape drives, and data backup storage systems, among others.
The processor 16 executes various functional applications and data processing by running programs stored in the storage 28, for example, to implement the resource monitoring method provided by the above-described embodiments of the present invention.
Example five
A fifth embodiment of the present invention provides a computer-readable storage medium having stored thereon a computer program that, when executed by a processor, implements a resource monitoring method as provided by the embodiments of the present invention.
Of course, the computer readable storage medium provided by the embodiments of the present invention, on which the computer program stored, is not limited to the method operations described above, but may also perform the resource monitoring method provided by any of the embodiments of the present invention.
The computer storage media of embodiments of the invention may take the form of any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. 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 diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer-readable signal medium may include a propagated data signal with computer-readable source code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
The source code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer source code for carrying out operations of the present invention may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The source code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of gateway, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
Note that the above is only a preferred embodiment of the present invention and the technical principle applied. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, while the invention has been described in connection with the above embodiments, the invention is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the invention, which is set forth in the following claims.