Disclosure of Invention
Aiming at the defects in the prior art, the method for controlling the products with the touch screen is improved, so that gesture unlocking modes of the products are diversified, and the method is also beneficial to correspondingly improving the use safety of the products.
In order to solve the technical problem, the application provides a gesture unlocking method of a touch screen, which comprises the following steps:
displaying a preset password picture when the touch screen is in a locked state, wherein the password picture is provided with a plurality of hot areas which can be used for setting an encryption gesture;
detecting a touch event of the touch screen to obtain a decryption gesture related to the hot zone;
comparing the decryption gesture with the encryption gesture to determine whether the decryption gesture matches the encryption gesture;
and when the decryption gesture is matched with the encryption gesture, the touch screen is switched to an unlocking state.
Optionally, the password picture has a plurality of salient objects, and the hot zone is set by selecting the salient objects.
The password picture has a plurality of faces, and a hot area is set by recognizing and extracting the faces as salient objects.
Alternatively, the password picture has a plurality of scenes, and the hot zone is set by dividing and extracting the scenes as salient objects.
Alternatively, the hot zone is selected by selecting a target area in the password picture.
Optionally, the encryption gesture is obtained by setting a hotspot tap sequence to obtain the decryption gesture by a tap sequence of hotspots.
Optionally, the encryption gesture is obtained by setting a hotspot connection relationship, and the decryption gesture is obtained by capturing the hotspot connection relationship.
Optionally, the hot zone is connected in a coasting operation.
Optionally, the password picture, the hot zone on the password picture, and the encryption gesture associated with the hot zone are prompted to be reset according to a preset period.
Optionally, the gesture unlock is activated when the current touch position of the decryption gesture is within the hotspot.
Optionally, after the gesture unlocking is activated, when the current touch position of the decryption gesture is located outside the hot zone, the operation time of the decryption gesture exceeds a preset time threshold, and/or the operation time of the decryption gesture exceeds a preset time threshold, the gesture unlocking is released.
Optionally, when the gesture unlocking is activated/released, the unlocking activation/release prompt message is displayed.
Optionally, the unlock activation/release prompt is presented by way of a hot zone light/color.
Optionally, the unlocking activation/release prompt information is displayed by a cursor/word mark/icon.
This application provides a gesture unlocking device of touch-control screen simultaneously, includes:
a password creation module configured to preset a password picture having a plurality of hotspots usable to set an encryption gesture;
the interface display module is configured to display a preset password picture when the touch screen is in a locked state;
a gesture detection module configured to detect a touch event of the touch screen to obtain a decryption gesture associated with the hot zone;
a gesture recognition module configured to compare a decryption gesture with the encryption gesture to determine whether the decryption gesture matches the encryption gesture; when the decryption gesture is matched with the encryption gesture, outputting a gesture recognition success result;
the locking and unlocking module is configured to output an unlocking instruction according to the gesture recognition success result so as to switch the touch screen to an unlocking state;
and the unlocking main control module is configured to schedule and control the operation of the password creating module, the interface display module, the gesture detection module, the gesture recognition module and the locking and unlocking module.
In addition, the application also correspondingly provides the electronic equipment, the touch display and the mobile terminal, which can perform gesture unlocking based on the self-set password picture.
Compared with the prior art, the gesture password system based on the picture analysis is provided, gesture unlocking is carried out on the password picture which is set independently, the single problem of locking and unlocking modes can be effectively realized, and the gesture password system mainly shows two aspects: on one hand, the user can independently select the pictures to process and obtain the hot area, so that the password pictures are diversified, and the diversity of the locking and unlocking modes is ensured; on the other hand, after selecting the hot zone, the user can select various encryption and decryption rules to define the password, thereby further increasing the diversity of the locking and unlocking modes. Particularly, on the basis of diversification of locking and unlocking modes, the difficulty in cracking the unlocking gesture is increased, and the use safety of the product is undoubtedly improved. The password system can be unlocked by continuous clicking and the like, has the same convenience as the nine-square mobile phone password, and is suitable for popularization and application.
Detailed Description
Aiming at the problem that the password form of electronic products such as mobile equipment is single at present, particularly the password form of character strings and squared figure gesture passwords is single, the following embodiment of the application provides a password system which is convenient to use, rich in variation, customizable and reliable.
This cryptosystem focuses on the following: (1) performing hot zone selection (manual selection or automatic selection by using a specific algorithm) based on a natural picture, and then defining various unlocking rules to obtain a set of password flow process framework; (2) determining an encryption gesture based on semantic relationships between the hotspots to obtain an appropriate encryption method, such as a method of grouping hotspots and then connecting hotspots within a group; or a method of selecting a central hot zone and connecting the other hot zones thereto, etc.
The password system is a gesture decryption scheme based on picture analysis, which is based on natural pictures, can extract a salient object (such as a human face or a scene area) as a user click hot area on a specific picture selected by a user by using pattern recognition and computer graphics technologies, and then click or slide to unlock by a specific encryption and decryption rule determined by the user, so that the diversity of encryption and decryption modes is finally realized, and the security of equipment is also improved.
The coded lock scheme based on the picture analysis can be conveniently suitable for electronic equipment with a touch screen, the product forms are various, and the coded lock scheme can be a mobile terminal (such as a smart phone, a tablet computer and the like) and also can be a single touch display (a touch screen) with a certain processing function. The specific physical structure and operation principle of these electronic devices are not the subject of the present invention, and therefore, the description thereof is omitted here, and specific reference may be made to the conventional technical documents.
The following description focuses on a gesture unlocking method and device for a touch screen, and for the following description, it is pointed out in a non-exhaustive manner about the contents of the corresponding encryption and decryption processes when the electronic device, the touch display and the mobile terminal are described, please refer to the contents described in the gesture unlocking method and device for the touch screen.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. This application is capable of embodiments in many different forms than those described herein and is intended to be limited to the specific embodiments disclosed herein by those skilled in the art without departing from the spirit and scope of the present application.
Referring to fig. 1, an embodiment of a gesture unlocking method of a touch screen according to the present application is shown. The embodiment describes a gesture unlocking scheme based on picture analysis, which specifically includes steps S110 to S140, and the like, and is further described in detail as follows:
the method starts in step S110, which shows a preset password picture when the touch screen is in a locked state. The password picture is provided with a plurality of hot areas (hot spots) which can be used for setting the encryption gesture, and the password picture can be stored in a memory of the product after the encryption gesture is set. After the password picture is called in the locked state, the touch screen can be unlocked by comparing whether the decryption gesture (namely the preset gesture) is consistent with the encryption gesture (namely the current operation gesture). It is understood that there may be more than one password picture created in this embodiment, but only one password picture is provided for unlocking when unlocking. Certainly, the password picture resetting device can dynamically prompt the password picture resetting, the hot area on the password picture and the encryption gesture related to the hot area according to a preset period (such as 1 month, half year and the like), and through the method, the re-encryption is prompted, so that related products are safer and more convenient to use.
In step S120, if a touch event (e.g., a click or a drag) occurs in the locked state, the touch event of the touch screen is detected accordingly, and a decryption gesture associated with the hot area can be obtained according to the touch events. Whether the decryption gestures are correct or not relates to whether the touch screen can be unlocked smoothly or not. Generally, the unlocking gesture here includes clicking, sliding, and the like, wherein clicking is generally used for the operation of processing the one-point password, and sliding is used for the operation of processing the sequential relational password.
After the decryption gesture is obtained according to step S120, it is further required to identify whether the unlocking gesture is correct according to step S130. Specifically, the decryption gesture is compared with the encryption gesture to determine whether the decryption gesture matches the encryption gesture (usually, the decryption gesture matches the encryption gesture). If the result is correct, the step S140 may be executed to unlock; otherwise, the process returns to step S120 to continue capturing the decryption gesture, and the touch screen is kept in the locked state.
In step S140, the switching of the locked/unlocked state will be controlled according to the recognition result of step S130. And when the decryption gesture is identified to be matched with the encryption gesture, the touch screen is switched to an unlocking state. After entering the unlocking state of the touch screen, normal operation can be performed on the user interface, which is not described in detail.
Generally, the unlocking process of the touch screen shown in FIG. 1 may be subject to some restrictions or prompts. Here, the state of gesture lock or gesture unlock may be further monitored as follows: and when the current touch position of the decryption gesture is located in the hot zone, activating the gesture unlocking, and then attempting unlocking according to the flow shown in fig. 1. After the gesture unlocking is activated, if the operation is wrong or illegal unlocking is carried out, the gesture unlocking process is released, and the unlocking according to the figure 1 cannot be successful.
There are a number of situations where the release gesture unlocks, for example: the current touch position of the decryption gesture is located outside the hot zone; the operation times of the decryption gesture exceed a preset time threshold; the operation time of the decryption gesture exceeds a preset time threshold; and so on. Of course, many of the above situations may also occur, in which case the gesture unlock will obviously also be released. After the release of the gesture unlock, the previously obtained decryption gesture is reset, and the operation needs to be performed again. It can be understood that even in some special cases, the touch screen can be locked in the gesture unlocking and releasing state and cannot be unlocked again, and in such a case, the unlocking can be performed by resetting the ROOT engine and the like.
It can be understood that when the gesture unlocking is activated/released, the unlocking activation/release prompt message can be correspondingly displayed, for example, the hot zone can be changed in light or color, and the unlocking activation/release prompt message can also be displayed by displaying information such as a cursor, a word mark or an icon, and the prompt message is convenient and quick. Of course, the unlocking activation or unlocking release state may also be prompted in other manners, for example, a frame is surrounded outside the hot zone, the hot zone flashes, and the like, which are not described in detail herein.
The touch screen gesture unlocking method in the embodiment shown in fig. 1 is embodied by a password system based on picture analysis, which needs to preset password pictures and encryption gestures, and mainly includes two aspects: on one hand, selecting a password picture and extracting a hot area on the picture; the other side is that the encryption gesture (password) is determined according to the hotspot setting rule. To gain further insight into the encryption process of the present application, it is described more fully below in conjunction with fig. 2.
Referring to fig. 2, an encryption process of a password picture suitable for use in the touch screen gesture unlocking method lock in fig. 1 is shown, and the method specifically includes the following steps S210 to S240:
in step S210, the encryption process requires a picture to be selected by the user. These pictures may be existing pictures stored in the device or may be temporarily taken by a device having a camera function. The form of the picture can meet the storage requirement of the equipment, and the content of the picture is better to select the prominent target.
Step 210 is followed by step S220, i.e. after selecting a picture, it is determined according to step S220 whether the selected picture is suitable as a password picture (password lock), if so, step S230 is entered; if not, returning to step S210 to continue to select pictures until a satisfactory password picture is found.
In step S220, as a condition for determining whether the picture is suitable, it is preferable that the picture has obvious features, for example: if the human face is taken as a hot area, more than one human face in the picture can be taken as a password picture; if scenes are taken as hot areas, more than two scenes can be recognized in the picture to be taken as password pictures, such as mountains, trees, beaches and the like.
Thereafter, the process proceeds to step S230, where an operation area is further selected as the hot area. There are several ways to extract the hot area in the selected password picture: a target area can be selected from the password picture to define a plurality of areas so as to select a hot area; a plurality of salient objects may be selected from the password picture, and the hot area may be set after the salient objects are selected. Wherein, the salient objects can be human faces, and the hot area is set by identifying and extracting the human faces as the salient objects; or a scene, and the hot zone is set by dividing and extracting the scene as a highlight.
In step S230, the hot area may be selected manually or automatically (e.g., face detection, scene segmentation, etc.). In manual mode, a selection hotspot can be painted on the cell phone screen by a finger (drawing a border can be one way). In the automatic mode, hot zone selection can generally take two forms: firstly, a user selects a method for selecting a hot area, such as a human face, and then an algorithm (a preset program) finds the human face in a picture as the hot area; secondly, the user does not select a method, and the hot area is selected by sequentially detecting the algorithm by using algorithms such as face detection, scene segmentation, salient object detection and the like. For a specific algorithm for detecting and recognizing salient objects such as human faces and scenes, reference is made to the prior art documents, which are not repeated herein.
Step S240 is then performed, in which step S240 an encryption gesture is set by the user based on these highlighted areas. That is, a rule of the encryption gesture needs to be further set after the hot zone is set, and then the encryption gesture is set by the user based on these protruded areas.
In this step S240, after the hot zone of the encrypted picture is selected, there may be a plurality of types of rules for setting the encryption gesture: one gesture rule is a sequence type, which obtains an encryption gesture by setting a hot zone click sequence to obtain a decryption gesture by the click sequence of the hot zones. Another gesture rule is a relational type, and an encryption gesture is obtained by setting a connection relationship of hotspots, so that a decryption gesture is obtained by capturing the connection relationship of hotspots. Under the relation type password rule, the hot area can be connected in a sliding operation mode, and the connected hot area can be identified by coordinates of the starting position and the ending position of the sliding operation.
In the touch screen gesture unlocking scheme of the embodiment, the encryption process is the basis of the whole coded lock. In order to better understand the technical scheme of the application, a plurality of application examples are given for detailed description.
Example 1: picture encryption process with multiple faces
Referring to fig. 3a and 3b, a cryptographic picture encryption process with multiple faces is shown, which specifically includes the following 4 steps:
step 1: the user can select an existing picture in the device as a basis for the coded lock, and for the device with the photographing function, a picture can be temporarily photographed to obtain, in this example, the user selects the picture shown in fig. 3 a.
Step2, whether the selected picture is suitable as the password picture is judged. In this example, an automatic face detection method can be used to select the operation hot area, and 6 faces in the picture are determined to meet the requirement of setting as the password picture. From fig. 3a to fig. 3b, the outer frame of the face is detected by the automatic face detection technique, and the content in the frame is the hot area. Conventional techniques may be employed in connection with automatic face recognition herein, such as the following:
[1]Tie Liu,Zejian Yuan,Jian Sun,Jingdong Wang,Nanning Zheng,XiaoouTang,Heung-Yeung Shum,"Learning to Detect a Salient Object,"IEEE Transactionson Pattern Analysis and Machine Intelligence,vol.33,no.2,pp.353-367,Feb.2011
step3, selecting operation hot areas in the selected pictures, in this example, using pattern recognition technology to analyze the picture content and selecting a plurality of salient areas as the hot areas which can be operated by the user. It should be noted that the pattern recognition algorithm that can be selected here is not limited, and common salient object detection algorithms can be used. In this example, the flow of the invention is explained by taking the face detection technique as an example. After the face detection algorithm in this step, 6 hot zones are generated, as shown in fig. 3 b.
Step 4: based on the hot zone, a pattern may be defined by the user as an encryption gesture. After the encryption gesture is defined, if the unlocking gesture when the user unlocks is consistent with the encryption gesture, the user can unlock the electronic device. The rules of the combination lock can be flexibly set, and the specific requirements can be as described above, and the encryption gesture is exemplified in two modes:
(1) sequence type: the user defines an order according to which the user clicks the faces in turn to unlock. For example, when a user sets a password, the user sequentially clicks the human faces according to the sequence of 2-4-6-5-3-1; then, when unlocking, only by sequentially clicking the human faces according to the sequence, the unlocking can be successfully carried out.
(2) Relation type: defining a relationship by a user, for example, when the user sets a password, defining that 1-2, 3-4 and 5-6 are respectively connected; then, when unlocking, the user can only successfully unlock after the user is correctly connected with the device 1-2, 3-4, 5-6.
Example 2: picture encryption process with multiple scenes
Referring to fig. 4a and 4b, a cryptographic picture encryption process with multiple scenes is shown, which specifically includes the following 4 steps:
step 1: the user selects a picture as shown in fig. 4 a.
Step2: the picture has various scenes and meets the requirements.
Step3: the picture area is divided into 5 parts using a scene area division technique, as shown in fig. 4 b. For technical information on scene segmentation, reference may be made to conventional techniques, such as the following papers:
[2]Zhuowen Tu,Xiangrong Chen,Alan L.Yuille,Song-Chun Zhu,"ImageParsing:Unifying Segmentation,Detection,and Recognition,"InternationalJournal of Computer Vision,Volume63,Number2,pp.113-140July2005
step 4: the user may define an encryption gesture from the segmentation result, e.g. a one-click by the user: tree- > beach- > mountain, an encryption gesture is defined. When the user unlocks, the user sees the original image (fig. 4a), and if the user clicks the areas of trees, beaches and mountains in sequence, the user can unlock the tree.
The above embodiment is based on natural pictures, and on a specific picture selected by a user, a salient object is extracted as a user click hot area by using the technology of pattern recognition and computer graphics, and then the salient object is clicked or slid by a specific rule determined by the user to unlock. This is essentially a piece of gesture-based coded lock based on picture analysis, where the coded picture and the encryption gesture can be flexibly set by the user.
The scheme of the coded lock solves the problem that the traditional unlocking mode is single, and is mainly shown in the following steps: (1) the user selects the pictures for processing and obtains the hot area (point) by self, and the diversity of the pictures ensures the diversity of the modes; (2) the user can select various rules to define the password, and the diversity of the mode is increased. Meanwhile, the embodiment can be unlocked in a continuous clicking mode, so that the operation is convenient as the password of the Sudoku mobile phone.
The above description describes a gesture unlocking method (hereinafter referred to as a method) of a touch screen in detail. On this basis, the present application also correspondingly configures a gesture unlocking device (hereinafter referred to as a device) of the touch screen, which is described in detail below.
Incidentally, if the device of the present embodiment is inexhaustible, please refer to the description of the method part; similarly, reference may be made to the following description of the aforementioned method, as it relates to the structure of the apparatus.
Fig. 5 is a block diagram of a gesture unlocking device of a touch screen according to an embodiment of the present disclosure. The gesture unlocking device 500 of the touch screen is composed of a password creation module 510, an interface display module 520, a gesture detection module 530, a gesture recognition module 540, a locking and unlocking module 550, an unlocking main control module 560 and the like, and functions of each part are described in detail below.
As shown in fig. 5, the gesture unlocking device 500 of the touch screen has a password creation module 510, which can preset a plurality of password pictures, wherein the password pictures have a plurality of hot areas for setting an encryption gesture, and one of the password pictures is provided for unlocking in a locked state.
Specifically, the password creation module 510 creates a password photo, wherein the password photo has a plurality of salient objects, so that a hot area can be set by selecting the salient objects (e.g. faces, scenes). In the password creation module 510, a hotspot click sequence or a hotspot connection relationship may be set as an encryption gesture: for the former, a decryption gesture is obtained through the click sequence of the hot zones during unlocking; for the latter, the decryption gesture can be obtained by capturing the connection relationship of the hot zone when unlocking.
The gesture unlocking device 500 of the touch screen further has an interface display module 520, which displays a preset password picture when the touch screen is in a locked state. After the password picture is displayed, the user can unlock the touch screen.
It is understood that the gesture unlocking device 500 of the touch screen has the gesture detection module 530, which can detect a touch event of the touch screen to obtain a decryption gesture associated with a hot zone. These touch events may be clicks, slides, etc., from which an unlock gesture may be captured.
A gesture recognition module 540 configured to compare the decryption gesture with the encryption gesture to determine whether the decryption gesture matches the encryption gesture; and when the decryption gesture is matched with the encryption gesture, outputting a gesture recognition success result. According to the successful result of the gesture recognition, the touch screen is converted into an unlocking state.
And a locking and unlocking module 550 configured to output an unlocking instruction according to the result of successful gesture recognition to switch the touch screen to an unlocking state. Otherwise, when the decryption gesture is not matched with the encryption gesture, the touch screen is maintained in a locked state according to the output gesture recognition failure result.
In addition, the gesture unlocking device 500 of the touch screen shown in fig. 5 is further provided with an unlocking main control module 560, which is used for scheduling and controlling the operations of the password creation module 510, the interface display module 520, the gesture detection module 530, the gesture recognition module 540, and the locking and unlocking module 550.
And when the current touch position of the decryption gesture is located in the hot zone, the gesture unlocking is activated. After the gesture unlock is activated, the gesture unlock is released in one or more of the following situations: the current touch position of the decryption gesture is located outside the hot zone; the operation times of the decryption gesture exceed a preset time threshold; or when the operation time of the decryption gesture exceeds a preset time threshold. After the gesture unlock release, the previously obtained decryption gesture is reset, requiring a re-operation at this point.
Fig. 5 illustrates a gesture unlocking device 500 of a touch screen, which provides a gesture password system based on picture analysis. The password system can effectively overcome the single problem of the locking and unlocking mode by carrying out gesture unlocking on the password picture which is set independently, and has the outstanding advantages of convenient use, rich change, customization, high reliability and the like.
The gesture unlocking device 500 of the touch screen is described above, and the electronic device with gesture unlocking can be obtained accordingly according to the principle of the gesture unlocking device. The electronic equipment is provided with a touch screen which is in a locking state and an unlocking state, when the touch screen is in the locking state, a preset password picture is displayed, and the password picture is provided with a plurality of hot areas which can be used for setting an encryption gesture and used for detecting a touch event of the touch screen so as to obtain a decryption gesture related to the hot areas; comparing the decryption gesture with the encryption gesture to judge whether the decryption gesture is matched with the encryption gesture; when the decryption gesture is matched with the encryption gesture, outputting a gesture recognition success result; otherwise, the touch screen will remain in the locked state.
It can be understood that the electronic device may have different application examples, and the application provides two products of a touch display and a mobile terminal for illustration. For convenience, in the present application, for the structures of the gesture unlocking device of the touch screen, the electronic device, the touch display, the mobile terminal, and the like, terms such as modules, devices, or units are used to represent similar functional structures, and the following description is briefly made.
In an embodiment of the present application, a touch display includes a touch screen (touch panel) and a driver (touch panel controller), where: the touch screen is used for displaying an interactive graphical interface of the electronic equipment and a user, and displaying a preset password picture in a locked state, wherein the password picture is provided with a plurality of hot areas which can be used for setting an encryption gesture; a driver configured to obtain a decryption gesture associated with a hot zone in response to a touch event of the touch screen; comparing the decryption gesture with the encryption gesture to judge whether the decryption gesture is matched with the encryption gesture; and when the decryption gesture is matched with the encryption gesture, the touch screen is switched to an unlocking state.
The application provides a mobile terminal, which is provided with: the touch screen is used for displaying an interactive graphical interface of the electronic equipment and a user, a preset password picture is displayed when the touch screen is in a locked state, and the password picture is provided with a plurality of hot areas which can be used for setting an encryption gesture; the unit is used for detecting a touch event of the touch screen to obtain a decryption gesture related to the hot zone; means for comparing the decryption gesture with the encryption gesture to determine whether the decryption gesture matches the encryption gesture; and the unit is used for switching the touch screen to an unlocking state when the decryption gesture is matched with the encryption gesture.
The mobile terminal can be a smart phone, a tablet personal computer and the like, and the unlocking mode can be conveniently customized due to the adoption of the gesture unlocking scheme based on picture analysis, so that the mobile terminal is convenient to use, rich in change, safe and reliable. Some or all of the functional blocks in the present application may be performed by software. For the current mainstream smart phones, tablet computers and the like, the best implementation effect can be achieved by using the software languages supported by the smart phones, the tablet computers and the like. For example, java language is used on the Android platform, and Objective-C is used on the iOS to obtain corresponding software conveniently, which is not described herein again.
Although the present application has been described with reference to the preferred embodiments, it is not intended to limit the present application, and those skilled in the art can make variations and modifications without departing from the spirit and scope of the present application, therefore, the scope of the present application should be determined by the claims that follow.
In a typical configuration, a computing device includes one or more processing modules (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory modules in a computer-readable medium, random access memory modules (RAM) and/or non-volatile memory such as read only memory modules (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
1. Computer-readable media, which include both non-transitory and non-transitory, removable and non-removable media, may implement the information storage by any system or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory computer readable media (transient media), such as modulated data signals and carrier waves.
2. As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage modules, CD-ROMs, optical storage modules, and the like) having computer-usable program code embodied therein.