Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1 is a schematic flow chart of a matching method for game players according to an embodiment of the present invention, which can be applied to match operations for game players. As shown in fig. 1, the method specifically includes the following steps:
step 110, responding to a game matching instruction of a player to be matched in a Bluetooth connection state, and acquiring personal information of the player to be matched; wherein the personal information includes a game level and a geographic location.
When the player to be matched sends a game matching instruction, the game equipment can be in a Bluetooth connection state, the game equipment can be equipment such as a mobile phone or a computer, and the game to be matched can be a tumbler type game or a multi-player fighting type game. If the game player needs to match at least one other player before playing, the game player can send a game matching instruction, and the game player is the player to be matched. The server responds to a game matching instruction of a player to be matched, and can acquire personal information of the player to be matched. For example, the game level and the geographical position of the player to be matched, etc. may be acquired.
In this embodiment, optionally, the personal information further includes a game account; correspondingly, before the personal information of the player to be matched is acquired in response to the game matching instruction of the player to be matched in the Bluetooth connection state, the method further comprises the following steps: responding to a registration or login instruction of a player to be matched, and determining a game account number of the player to be matched; and storing the game account number and the game grade association of the game account number in a database.
Specifically, before a player to be matched plays a game, an account or a login account needs to be registered first. The server responds to a registration instruction or a login instruction of a player to be matched, and determines a unique game account of the player to be matched. For example, the server allocates a game account to the player to be matched in response to the registration instruction of the player to be matched, or the server may acquire the game account from the login instruction in response to the login instruction of the player to be matched. And storing the game account number of the player to be matched in a database, and after the player to be matched finishes the game, correlating and storing the obtained game grade or game credit with the game account number. The beneficial effect that sets up like this lies in, through the associative storage to game account and game grade, can carry out quick inquiry to game player's game level, is convenient for follow-up match the game player through game grade, improves player matching efficiency.
In this embodiment, optionally, the obtaining of the personal information of the player to be matched in response to the game matching instruction of the player to be matched in the bluetooth connection state includes: responding to a game matching instruction of a player to be matched in a Bluetooth connection state, determining a game account of the player to be matched, and determining the geographic position of the player to be matched based on a Bluetooth technology; and obtaining the game grade associated with the game account number of the player to be matched from the database.
Specifically, the personal information may include a game level, a geographic location, a game account number, and the like, and the game level may be determined by the game account number. The method comprises the steps that a player to be matched opens the Bluetooth of game equipment and sends a game matching instruction, the server obtains a game account number of the player to be matched from the game matching instruction, and the geographic position of the player to be matched is obtained according to the Bluetooth technology. The obtained geographic position may be a relative position between the player to be matched and another game player in the bluetooth connection state, or an actual geographic position of the player to be matched, for example, the geographic position may be represented according to latitude and longitude, or the actual geographic position of the player to be matched may be obtained according to an LBS (Location Based Services) technology. After the game account of the player to be matched is obtained, the game level associated with the game account can be determined from a pre-stored database. The beneficial effect of the setting is that the game grade is determined by the game account number, the game grade inquiry error can be reduced, the matching accuracy is improved, the LBS technology and the Bluetooth technology can limit the searching range of the user when the user matches, and the searching result is more accurate. After the geographic position of the user is determined, the user can purchase virtual properties and props by utilizing the game equipment, and the virtual properties and the props can be manufactured based on the geographic position in reality, so that consumption and interaction are realized in the fusion of reality and virtualization, the player has better substituted feeling and realistic feeling, and the user experience is improved.
Andstep 120, determining a target matching pool of the player to be matched according to the geographic position of the player to be matched.
After determining the game level and the geographic position of the player to be matched, the server may determine the target matching pool according to the geographic position of the player to be matched. The target matching pool comprises at least two game players, the game players can be represented by game accounts, and the server searches corresponding game players from the target matching pool to serve as matching objects of the players to be matched, namely target players. Therefore, the matching pool can be used for dividing the matching range of the player to be matched, the matching range is limited, and the matching efficiency and the matching precision can be improved.
In this embodiment, optionally, determining a target matching pool of the player to be matched according to the geographic location of the player to be matched includes: generating a game player data point set according to online game accounts in a database; randomly selecting one of the game player data points from the set of game player data points as a first centroid; determining a first distance from any one of the set of gamer data points to the first centroid based on the geographic location of the first centroid and the geographic locations of players in the database other than the first centroid; determining the game player data point with the first distance meeting the preset distance requirement as a second centroid; and if the number of the current centroids meets the preset number of the centroids, dividing the matching pool according to the preset matching pool range, and determining the target matching pool where the player to be matched is located.
Specifically, before searching for a matching target player from the target matching pool, all game players for matching need to be divided into a plurality of matching pools, that is, a plurality of families. The method comprises the steps of obtaining all registered game accounts from a database, selecting a current online game account from all the game accounts, and dividing the current online game account into a game player data point set, wherein each game player in the game player data point set is a game player data point. The server needs to cluster the game accounts in the game player data point set into a plurality of groups, for example, the game accounts can be clustered into K groups, where K is a preset number, and K is greater than or equal to 2.
A game player data point is randomly selected from the game player data point set as a first centroid, i.e., a first centroid, that is the center of the family, i.e., the center of the match pool. The geographic locations of the other players are obtained in addition to the first centroid, and the geographic locations may be obtained from personal information of the other players. Based on the geographic location of the first centroid and the geographic locations of the other players, a relative distance of the first centroid from each of the other players, i.e., a first distance, is determined. For example, a total of six game players, one player for the first centroid and five for the other players, may result in five first distances. Presetting a distance requirement, selecting a game player data point meeting the preset distance requirement from the first distance according to the preset distance requirement, and determining the game player data point as a second centroid. For example, the predetermined distance requirement is that the game player data point with the farthest first distance is selected, and the game player data point with the farthest first distance is taken as the second centroid.
The centroid quantity is preset, if the centroid quantity is preset to be 2, after the second centroid is obtained, the current centroid quantity meets the preset centroid quantity, the centroid does not need to be selected, clustering can be carried out according to the centroid and the preset matching pool range, and the matching pool is divided. If the number of the preset centroids is larger than 2, the number of the current centroids does not meet the number of the preset centroids, and a new centroid needs to be continuously selected until the number of the centroids meets the number of the preset centroids. The method has the advantages that the distance between the game players in each matching pool can be limited by selecting the centroids to cluster the game players, the matched game players are prevented from being too far away, close contact and short-distance connection of the players are facilitated, clustering is carried out by finding the centroids, the dividing efficiency of the matching pools is effectively improved, and the matching efficiency of the game players is improved.
In this embodiment, after determining the game player data point whose first distance meets the preset distance requirement as the second centroid, the method further includes: if the number of the current centroids does not meet the preset number of the centroids, determining the closest distance between any game player data point in the game player data point set except the selected centroids and each centroid; selecting the farthest distance from the nearest distances, and taking the game player data point with the farthest distance as a third centroid; if the number of the current centroids meets the preset number of centroids, dividing a matching pool according to the range of the preset matching pool, and determining a target matching pool where a player to be matched is located; and if the number of the current centroids does not meet the preset number of the centroids, determining the closest distance between any game player data point in the game player data point set except the selected centroids and each centroid, and using the closest distance to continuously select the centroids.
Specifically, if the number of the current centroids does not satisfy the preset number of centroids, the centroids need to be continuously selected. Two centroids have been currently selected, and the relative distances of the other game player data points except the two centroids from the two centroids are determined, for example, a total of six points, where two are centroids and four are other game player data points, then eight relative distances can be obtained. Each of the other game player data points has two relative distances, and a closest distance is selected from the two relative distances for each of the other game player data points by comparing the two relative distances for each of the other game player data points and selecting the closest distance. The number of closest distances corresponds to the number of other game player data points. And selecting a farthest distance from the nearest distances, wherein other game player data points corresponding to the farthest distances are the third centroid. And if the number of the current centroids meets the preset centroid number, clustering according to the positions of the centroids and the preset matching pool range, and dividing the matching pool. And determining a matching pool, namely a target matching pool, where the player to be matched is located according to the geographic position of the player to be matched. And if the number of the current centroids does not meet the preset number of the centroids, determining the closest distance between any game player data point in the game player data point set except the selected centroids and each centroid, and continuously selecting the centroids. If the number of the current centroids is M, and the data points of other game players except the selected centroids are N, obtaining M multiplied by N relative distances, obtaining N closest distances from N groups of M relative distances, and selecting a farthest distance from the N closest distances to obtain a new centroid. The matching pool range is predetermined, and for example, the matching pool range may be set to a range of a radius of 500 meters centered on the centroid. And after the matching pool is divided, determining the matching pool where the player to be matched is located as a target matching pool. The method has the advantages that the new centroid is determined through the distance between the data point of the game player and the centroid, the problem of random selection of the centroid in the prior art is solved, the convergence speed is increased, and the determination efficiency of the target matching pool is further improved.
And step 130, searching a target player matched with the player to be matched from the target matching pool according to the game level so as to complete game matching.
After the target matching pool is determined, the target player is selected from the target matching pool to be matched with the player to be matched, and the target player can be searched according to the game grade of the player to be matched. Setting game grade requirements in advance, and selecting target players meeting the preset game grade requirements from the target matching pool, wherein the preset grade requirements are that the game grade of the target players is consistent with the game grade of the players to be matched. If a plurality of players with the same game grade as the player to be matched exist, the target player can be randomly selected from the players to complete game matching. The level of the player to be matched is consistent with that of the target player, so that the player has better game experience.
According to the technical scheme of the embodiment, the personal information of the player to be matched is obtained by receiving the matching instruction of the player to be matched, the matching pool of the player to be matched is determined according to the geographic position in the personal information, the target player of the player to be matched is close to the player to be matched, and the final target player is determined by matching the player grade. The method and the device solve the problem that the matching effect of the paired game players is poor in the prior art, and in the prior art, when the players to be matched are matched, the players in the similar segment positions are directly searched from all the players, or the distances between all the players and the players to be matched are calculated, and the players with the shorter distances are searched, so that the calculation amount is large and inaccurate.
Example two
Fig. 2 is a schematic flow chart of a matching method for game players according to a second embodiment of the present invention, which is further optimized based on the above-mentioned embodiments.
In this embodiment, optionally, searching for a target player matched with the player to be matched from the target matching pool according to the game level includes: according to the game level of the player to be matched, selecting a game player meeting the preset game level requirement from the target matching pool as a candidate player, and generating a candidate player data set; and searching target players meeting the preset position requirement in the Bluetooth detection range from the candidate player data set according to the Bluetooth detection range of the player to be matched.
As shown in fig. 2, the method specifically includes the following steps:
step 210, responding to a game matching instruction of a player to be matched in a Bluetooth connection state, and acquiring personal information of the player to be matched; wherein the personal information includes a game level and a geographic location.
Step 220, determining a target matching pool of the player to be matched according to the geographic position of the player to be matched.
And step 230, selecting the game player meeting the preset game level requirement from the target matching pool as a candidate player according to the game level of the player to be matched.
The game levels of all game players in the target matching pool and the game levels of the players to be matched are obtained, candidate players meeting the preset game level requirement are selected from the target matching pool according to the preset game level requirement, and the game levels of the game players can be determined by adopting a Glicko (Mark-Grickmann) algorithm. The candidate player is the player currently online and the candidate player is currently in a to-be-matched state. The server may select the game players in the to-be-matched state from the target matching pooling, and then select the candidate players from the game players in the to-be-matched state. Or determining the candidate players first, and then determining the game players in the state to be matched from the candidate players as final candidate players. For example, the preset game level requirement may be that the game level of the candidate player and the game level of the player to be matched are different by less than or equal to two levels, and the game players with the game levels less than or equal to two levels than the game level of the player to be matched and the game players with the game levels greater than or equal to two levels than the game level of the player to be matched in the target matching pool are used as the candidate players, a candidate player data set including the candidate players is generated, and the candidate players may be represented by game accounts of the candidate players.
In this embodiment, optionally, after selecting a game player meeting the requirement of the preset game level from the target matching pool as a candidate player according to the game level of the player to be matched, the method further includes: acquiring the sending time of a game matching instruction of a candidate player; and selecting candidate players with the time difference between the sending time and the current time equal to or larger than a preset time difference threshold value as priority candidate players for the server to select the target player from the priority candidate players.
Specifically, the determined candidate players are all game players in a state to be matched, and all the candidate players send game matching instructions. After the candidate player is determined, the issuing time of the game matching instruction issued by the candidate player is acquired, and the time difference between the issuing time and the current time is determined. And comparing the time difference with a preset time difference threshold value, and preferentially matching the overtime candidate players. And if the time difference is equal to or larger than a preset time difference threshold value, the candidate player corresponding to the time difference is a candidate player overtime matched with the candidate player, and the candidate player is preferentially taken as a target player for matching. The candidate players that match the timeout are priority candidate players and the server may select a target player from the priority candidate players. If the time difference is smaller than the preset time difference threshold, the time that the candidate player sends the game matching instruction is proved to be later, and the candidate player corresponding to the time difference can be temporarily not considered. The method has the advantages that the priority candidate player is determined according to the time for the candidate player to wait for matching, so that the problem that the user cannot obtain matching at a later time due to the fact that the time for the user to wait for matching is too long can be avoided, and game experience of the user is influenced.
And step 240, searching a target player meeting the preset position requirement in the Bluetooth detection range from the candidate players according to the Bluetooth detection range of the player to be matched.
Wherein upon determining the candidate players, a target player may be selected from the candidate players. The player to be matched is in a Bluetooth connection state, a Bluetooth detection range is preset in the game device, and the Bluetooth detection range is smaller than the range of the matching pool. And searching candidate players in the Bluetooth detection range according to the preset Bluetooth detection range, and taking the candidate players in the Bluetooth detection range which meet the preset position requirement as target players. The preset position requirement may be to select the candidate player having the shortest distance to the player to be matched as the target player. If at least two candidate players in the Bluetooth detection range exist, one target player can be randomly selected, and the target player can be selected according to the preset position requirement. If the prior candidate player exists in the candidate players, the target player is searched from the prior candidate player. If the target player does not exist in the priority candidate players, searching is performed from the remaining candidate players. Through the limitation of the candidate players, the calculation amount of the distance between the candidate players and the players to be matched can be reduced, calculation of each candidate player is not needed, the target player is prevented from being determined according to the distance, the error in distance calculation is reduced, and the matching precision is improved.
When determining the target player, candidate players of a preset game level can be determined, and then the target player in the Bluetooth detection range can be determined. Or determining candidate players according to the Bluetooth detection range, and determining target players according to the preset game level. By gradually limiting the range of the target player, the calculation process is reduced, the matching efficiency and the matching precision are improved, the user experience is improved, and the close contact of the user during the game is realized.
According to the embodiment of the invention, the personal information of the player to be matched is obtained by receiving the matching instruction of the player to be matched, the matching pool of the player to be matched is determined according to the geographic position in the personal information, so that the target player of the player to be matched is closer to the player to be matched, and the final target player is determined by matching the player grade and the Bluetooth detection range. The problem of in the prior art, it is poor to close joint effect to mate the game player, makes the game player combine game and reality, realizes the close contact of game user, improves the accuracy of player matching and the interactivity of network game, in the course of confirming the target player, reduces the calculation of distance, through screening many times, improves the matching precision, guarantees that the winning probability of the player of close section position keeps about 50%, promotes user's gaming experience.
EXAMPLE III
Fig. 3 is a block diagram of a matching device for a game player according to a third embodiment of the present invention, which is capable of executing a matching method for a game player according to any embodiment of the present invention, and has corresponding functional modules and beneficial effects of the executing method. As shown in fig. 3, the apparatus specifically includes:
theinformation acquisition module 301 is configured to acquire personal information of a player to be matched in response to a game matching instruction of the player to be matched in a bluetooth connection state; wherein the personal information comprises a game level and a geographic location;
a targetpool determining module 302, configured to determine a target matching pool of the player to be matched according to the geographic location of the player to be matched;
and the target player matching module 303 is configured to search, according to the game level, a target player matched with the player to be matched from the target matching pool, so as to complete game matching.
Optionally, the personal information further includes a game account number;
correspondingly, the device also comprises:
the account number determining module is used for responding to a registration or login instruction of a player to be matched and determining a game account number of the player to be matched;
and the account number storage module is used for storing the game account number and the game grade association of the game account number in a database.
Optionally, theinformation obtaining module 301 is specifically configured to:
responding to a game matching instruction of a player to be matched in a Bluetooth connection state, determining a game account of the player to be matched, and determining the geographic position of the player to be matched based on a Bluetooth technology;
and obtaining the game grade associated with the game account number of the player to be matched from the database.
Optionally, the targetpool determining module 302 includes:
the data point set determining unit is used for generating a game player data point set according to the online game account number in the database;
a first centroid determining unit for randomly selecting one game player data point from the game player data point set as a first centroid;
a first distance determining unit, configured to determine a first distance between any one of the game player data points in the game player data point set and the first centroid according to the geographic location of the first centroid and the geographic locations of players other than the first centroid in the database;
the second centroid determining unit is used for determining the game player data point with the first distance meeting the preset distance requirement as a second centroid;
and the matching pool dividing unit is used for dividing the matching pool according to the range of the preset matching pool and determining the target matching pool where the player to be matched is located if the number of the current centroids meets the preset number of centroids.
Optionally, the targetpool determining module 302 further includes:
the nearest distance determining unit is used for determining the nearest distance between any game player data point in the game player data point set except the selected centroid and each centroid after the game player data point with the first distance meeting the preset distance requirement is determined as the second centroid and if the number of the current centroids does not meet the preset number of the centroids;
the third centroid determining unit is used for selecting the farthest distance from the shortest distances and taking the game player data point of the farthest distance as a third centroid;
the mass center quantity judging unit is used for dividing the matching pool according to the range of the preset matching pool and determining a target matching pool where the player to be matched is located if the quantity of the current mass centers meets the preset mass center quantity;
and the centroid selecting unit is used for determining the closest distance between any one of the game player data points in the game player data point set except the selected centroid and each centroid if the number of the current centroids does not meet the preset centroid number, and is used for continuously selecting the centroids.
Optionally, the target player matching module 303 includes:
the candidate player determining unit is used for selecting game players meeting the preset game level requirement from the target matching pool as candidate players according to the game levels of the players to be matched;
and the target player determining unit is used for searching the target player meeting the preset position requirement in the Bluetooth detection range from the candidate players according to the Bluetooth detection range of the player to be matched.
Optionally, the target player matching module 303 further includes:
the system comprises an issuing time acquisition unit, a target matching pool matching unit and a matching unit, wherein the issuing time acquisition unit is used for acquiring the issuing time of a game matching instruction of a candidate player after the game player meeting the requirement of a preset game level is selected from the target matching pool as the candidate player according to the game level of the player to be matched;
and the priority player determining unit is used for selecting candidate players with the time difference between the sending time and the current time equal to or larger than a preset time difference threshold value as priority candidate players for the server to select the target player from the priority candidate players.
According to the embodiment of the invention, the personal information of the player to be matched is obtained by receiving the matching instruction of the player to be matched, the matching pool of the player to be matched is determined according to the geographic position in the personal information, so that the target player of the player to be matched is closer to the player to be matched, and the final target player is determined by matching the player grade. The problem of among the prior art, it is poor to close joint effect to mate the game player is solved, make the game player combine together game and reality, improve the accuracy that the player matches and the interactivity of network game, promote user's gaming experience.
Example four
Fig. 4 is a schematic structural diagram of a computer device according to a fourth embodiment of the present invention. FIG. 4 illustrates a block diagram of anexemplary computer device 400 suitable for use in implementing embodiments of the present invention. Thecomputer device 400 shown in fig. 4 is only an example and should not bring any limitations to the functionality or scope of use of the embodiments of the present invention.
As shown in fig. 4,computer device 400 is in the form of a general purpose computing device. The components ofcomputer device 400 may include, but are not limited to: one or more processors orprocessing units 401, asystem memory 402, and abus 403 that couples the various system components (including thesystem memory 402 and the processing unit 401).
Bus 403 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 400 typically includes a variety of computer system readable media. Such media can be any available media that is accessible bycomputer device 400 and includes both volatile and nonvolatile media, removable and non-removable media.
Thesystem memory 402 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)404 and/orcache memory 405. Thecomputer device 400 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only,storage system 406 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 4, and commonly referred to as a "hard drive"). Although not shown in FIG. 4, a magnetic 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 or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to thebus 403 by one or more data media interfaces.Memory 402 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 408 having a set (at least one) ofprogram modules 407 may be stored, for example, inmemory 402,such program modules 407 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment.Program modules 407 generally perform the functions and/or methods of the described embodiments of the invention.
Thecomputer device 400 may also communicate with one or more external devices 409 (e.g., keyboard, pointing device,display 410, etc.), with one or more devices that enable a user to interact with thecomputer device 400, and/or with any devices (e.g., network card, modem, etc.) that enable thecomputer device 400 to communicate with one or more other computing devices. Such communication may be through input/output (I/O)interface 411. Moreover,computer device 400 may also communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) vianetwork adapter 412. As shown,network adapter 412 communicates with the other modules ofcomputer device 400 overbus 403. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction withcomputer device 400, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Theprocessing unit 401 executes various functional applications and data processing by running a program stored in thesystem memory 402, for example, to implement a method for matching a game player according to an embodiment of the present invention, including:
responding to a game matching instruction of a player to be matched in a Bluetooth connection state, and acquiring personal information of the player to be matched; wherein the personal information comprises a game level and a geographic location;
determining a target matching pool of the player to be matched according to the geographic position of the player to be matched;
and searching a target player matched with the player to be matched from the target matching pool according to the game grade so as to complete game matching.
EXAMPLE five
The fifth embodiment of the present invention further provides a storage medium containing computer-executable instructions, where the storage medium stores a computer program, and when the computer program is executed by a processor, the method for matching game players according to the fifth embodiment of the present invention is implemented, where the method includes:
responding to a game matching instruction of a player to be matched in a Bluetooth connection state, and acquiring personal information of the player to be matched; wherein the personal information comprises a game level and a geographic location;
determining a target matching pool of the player to be matched according to the geographic position of the player to be matched;
and searching a target player matched with the player to be matched from the target matching pool according to the game grade so as to complete game matching.
Computer storage media for embodiments of the invention may employ 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. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: 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 the context of 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.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. 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.
Program 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 program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program 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 type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. 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, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.