Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR PLAYING AN INTERACTIVE GAME USING A MOBILE DEVICE
Document Type and Number:
WIPO Patent Application WO/2004/004857
Kind Code:
A1
Abstract:
A system and method for playing an interactive game on a game display using a mobile device. The system and method comprise receiving at a game system a player communication from the mobile device, and establishing a player link between the mobile device and the game system. The game system is in communication with the game display and the player link is set up to play a game on the game display using the mobile device.

Inventors:
CLANCY DOMINIC (CH)
Application Number:
PCT/GB2002/003090
Publication Date:
January 15, 2004
Filing Date:
July 05, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CLANCY DOMINIC (CH)
International Classes:
A63F13/12; (IPC1-7): A63F13/12
Foreign References:
EP1086732A12001-03-28
US6056640A2000-05-02
US5795228A1998-08-18
US20010027128A12001-10-04
Attorney, Agent or Firm:
Elkington, And Fife (8 Pembroke Road Sevenoaks, Kent TN13 1XR, GB)
Download PDF:
Claims:
What is claimed is :'
1. A method for playing an interactive game on a game display using a mobile device, the method comprising : a. receiving at a game system a player communication from the mobile device; and b. establishing a player link between the mobile device and the game system, the game system being in communication with the game display and the player link set up to play a game on the game display using the mobile device.
2. The method according to claim 1, further comprising : a. receiving at the game system a second player communication from a second mobile device; and b. establishing a second player link between the second mobile device and the game system, the second player link set up to interactively play the game on the game display, using the second mobile device, in coordination with the first mobile device.
3. The method according to claim 1 in which the player link uses S to interactively play the game on the game display, wherein S is Dual Tone Multiple Frequency ("DTMF") signals, nonDTMF signals, or a combination of DTMF signals and nonDTMF signals.
4. The method according to claim 1 in which the player link uses W to interactively play the game on the game display, wherein W is a cellular network, Internet Protocol ("IP") network, a Wireless Application Protocol ("WAP") network, or a game controller network.
5. The method according to claim 1, further comprising sending game information to the mobile device.
6. The method according to claim 5 in which the game information is sent to O, wherein O is the mobile device's speaker, the mobile device's display screen, the mobile device's vibrator, or the mobile device's ringer.
7. The method according to claim 5 in which the game information is sent via a realtime communications channel.
8. The method according to claim 7 in which the realtime communications channel is a digital cellular network.
9. The method according to claim 8 in which the digital cellular network is a Universal Mobile Telecommunications System ("UMTS").
10. The method according to claim 8 in which the digital cellular network is a General Packet Radio Service ("GPRS").
11. The method according to claim 1 further comprising setting up a dummy player link in the game system, the dummy player link set up to interactively play the game on the game display in coordination with the first mobile device.
12. The method according to claim 1 in which the mobile device is M, wherein M is a mobile telephone, a personal digital assistant, a mobile computer, or a combination of such mobile devices.
13. The method according to claim 1 in which the game display is D, wherein D is a monitor, a Liquid Crystal Display ("LCD") panel, a Light Emitting Diode ("LED") display, a television, or a projector.
14. The method according to claim 1 in which the game system communicates with the game display over a network.
15. The method according to claim 14 in which the network is N, wherein N is the Internet, an Intranet, an Extranet, the World Wide Web, or a telecommunications network.
16. A system for playing an interactive game on a game display using a mobile device, the system comprising : a. a module for receiving at a game system a player communication from the mobile device ; and b. a module for establishing a player link between the mobile device and the game system, the game system being in communication with the game display and the player link set up to play a game on the game display using the mobile device.
17. The system according to claim 16, further comprising: a. a module for receiving at the game system a second player communication from a second mobile device; and b. a module for establishing a second player link between the second mobile device and the game system, the second player link set up to interactively play the game on the game display, using the second mobile device, in coordination with the first mobile device.
18. The system according to claim 16 in which the'player link uses S to interactively play the game on the game display, wherein S is Dual Tone Multiple Frequency ("DTMF") signals, nonDTMF signals, or a combination of DTMF signals and nonDTMF signals.
19. The system according to claim 16 in which the player link uses W to interactively play the game on the game display, wherein W is a cellular network, Internet Protocol ("IP") network, a Wireless Application Protocol ("WAP") network, or a game controller network.
20. The system according to claim 16, further comprising a module for sending game information to the mobile device.
21. The system according to claim 20 in which the game information is sent to O, wherein 0 is the mobile device's speaker, the mobile device's display screen, the mobile device's vibrator, or the mobile device's ringer.
22. The system according to claim 20 in which the game information is sent via a realtime communications channel.
23. The system according to claim 22 in which the realtime communications channel is a digital cellular network.
24. The system according to claim 23 in which the digital cellular network is a Universal Mobile Telecommunications System ("UMTS").
25. The system according to claim 23 in which the digital cellular network is a General Packet Radio Service ("GPRS").
26. The system according to claim 16 further comprising a module for setting up a dummy player link in the game system, the dummy player link set up to interactively play the game on the game display in coordination with the first mobile device.
27. The system according to claim 16 in which the mobile device is M, wherein M is a mobile telephone, a personal digital assistant, a mobile computer, or a combination of such mobile devices.
28. The system according to claim 16 in which the game display is D, wherein D is a monitor, a Liquid Crystal Display ("LCD") panel, a television, or a projector.
29. The system according to claim 16 in which the game system communicates with the game display over a network.
30. The system according to claim 29 in which the network is N, wherein N is the Internet, an Intranet, an Extranet, the World Wide Web, or a telecommunications network.
31. A computer program product for playing an interactive game on a game display using a mobile device, the computer program product comprising a computer usable medium having a computer readable program code thereon, the computer program code comprising: a. program code for receiving at a game system a player communication from the mobile device ; and b. program code for establishing a player link between the mobile device and the game system, the game system being in communication with the game display and the player link set up to play a game on the game display using the mobile device.
32. The computer program product according to claim 31, further comprising: a. program code for receiving at the game system a second player communication from a second mobile device; and b. program code for establishing a second player link between the second mobile device and the game system, the second player link set up to interactively play the game on the game display, using the second mobile device, in coordination with the first mobile device.
33. The computer program product according to claim 31 in which the player link uses S to interactively play the game on the game display, wherein S is Dual Tone Multiple Frequency ("DTMF") signals, nonDTMF signals, or a combination of DTMF signals and nonDTMF signals.
34. The computer program product according to claim 31 in which the player link uses W to interactively play the game on the game display, wherein W is a cellular network, Internet Protocol ("IP") network, a Wireless Application Protocol ("WAP") network, or a gamecontroller network.
35. The computer program product according to claim 31, further comprising program code for sending game information to the mobile device.
36. The computer program product according to claim 35 in which the game information is sent to 0, wherein O is the mobile device's speaker, the mobile device's display screen, the mobile device's vibrator, or the mobile device's ringer.
37. The computer program product according to claim 35 in which the game information is sent via a realtime communications channel.
38. The computer program product according to claim 37 in which the realtime communications channel is a digital cellular network.
39. The computer program product according to claim 38 in which the digital cellular network is a Universal Mobile Telecommunications System ("UMTS").
40. The computer program product according to claim 38 in which the digital cellular network is a General Packet Radio Service ("GPRS").
41. The computer program product according to claim 31 further comprising setting up a dummy player link in the game system, the dummy player link set up to interactively play the game on the game display in coordination with the first mobile device.
42. The computer program product according to claim 31 wherein the mobile device is M, wherein M is a mobile telephone, a personal digital assistant, a mobile computer, or a combination of such mobile devices.
43. The computer program product according to claim 31 wherein the game display is D, wherein D is a monitor, a Liquid Crystal Display ("LCD") panel, a Light Emitting Diode ("LED") display, a television, or a projector.
44. The computer program product according to claim 31 wherein the game system communicates with the game display over a network.
45. The computer program product according to claim 44 in which the network is N, wherein N is the Internet, an Intranet ; an Extranet, the World Wide Web, or a telecommunications network.
Description:
System and Method for Playing An Interactive Game Using A Mobile Device Technical Field and Background Art The present invention relates to systems and methods for playing interactive games and, more particularly, systems and methods for playing interactive games using a mobile device.

The mobile communications market is a large, growing market. Two of the reasons for the growth are the improvement in mobile devices and the decrease in prices to purchase and use these devices. For example, cellular telephones, a type of mobile device, have become smaller and lighter with longer-lasting battery life, less expensive to purchase, and less expensive to operate. Similarly, telecommunication services have improved, providing increased access to more services, as well as improved service performance. Thus, more people own and use mobile devices as part of their day-to-day activities to, for example, make telephone calls, read e-mail, browse the Internet, track the stock market, and entertain themselves.

One form of"mobile"entertainment is game playing. For example, while waiting at an airport terminal for the arrival of an airplane, a mobile telephone user might entertain himself by playing a game of"Snake"on his mobile telephone. In this example, the game is displayed on the mobile telephone's display screen and the game's movements are controlled using the mobile telephone's keypad, or some portion of the keypad.

A system for multiple mobile telephone users to play an interactive game between themselves is disclosed in European Patent Application No. 1 066 868 A2. In this system, each player's mobile telephone is connected via short-haul connections to: (1) a game unit and (2) the other player's mobile telephones. In other words, in order to play the interactive game, each player must have a mobile telephone, modified for making the short-haul connections, as well as a game unit. The game unit includes a display screen, a processor, keys, and a joystick.

Summary of the Invention In accordance with one aspect of the invention, a system and method for playing an interactive game on a game display using a mobile device, the system and method

receive at a game system a player communication from the mobile device, and establish a player link between the mobile device and the game system. The game system is in communication with the game display and the player link is set up to play a game on the game display using the mobile device.

The game system may communicate with the game display over a network. The network may be the Internet, an Intranet, an Extranet, the World Wide Web, or a telecommunications network. The mobile device may be a mobile telephone, a personal digital assistant, or a mobile computer. The game display may be a monitor, a Liquid Crystal Display ("LCD") panel, a Light Emitting Diode ("LED") display, a television, or a projector.

In accordance with another aspect of the invention, the system and method receive at the game system a second player communication from a second mobile device, and establish a second player link between the second mobile device and the game system.

The second player link is set up to interactively play the game on the game display, using the second mobile device, in coordination with the first mobile device.

In accordance with still another aspect of the invention, the system and method set up a dummy player link in the game system. The dummy player link is set up to interactively play the game on the game display in coordination with the first mobile device.

In alternate embodiments, the player link may use Dual Tone Multiple Frequency ("DTMF") signals, non-DTMF signals, or a combination of DTMF signals and non- DTMF signals to interactively play the game on the game display. In addition, the player link may use an Internet Protocol ("IP") network, a Wireless Application Protocol ("WAP") network, or a game-controller network, such as SPIKE, to interactively play the game on the game display.

In a further embodiment, the game system sends game information to the mobile device. The game information may be sent to the mobile device's speaker, display screen, vibrator, or ringer. The game information may also be sent via a real-time telecommunications channel.

Brief Description of the Drawings The foregoing features of the invention will be more readily understood by reference to the following detailed description, taken with reference to the accompanying drawings, in which: Figure 1 shows a flowchart of an exemplary process for implementing various embodiments of a game system for mobile device users.

Figure 2 shows a flowchart of another exemplary process for implementing various embodiments of a game system for mobile device users.

Figure 3 shows a schematic of an exemplary system for implementing various embodiments of a game system for mobile device users.

Figure 4 shows a schematic of an exemplary system architecture for implementing various embodiments of a game system for mobile device users.

Figure 5 shows a flowchart of an exemplary process for identifying the users of a game system for mobile device users.

Detailed Description of Specific Embodiments In accordance with one embodiment of the invention, a game system sets up a player to play a game on a game display using a mobile device. In this game system, the game is displayed on a game display and the game is controlled using the mobile device.

Figure 1 shows a flowchart of an exemplary process for implementing various embodiments of a game system for mobile device users. In this exemplary process, one player plays an interactive game on a"public"game display using a mobile device. The phrase"public game display"or"game displays used herein for ease of reference. It refers to all types of display units, including monitors, Liquid Crystal Display ("LCD") panels, Light Emitting Diode ("LED") displays, televisions, and projectors, capable of displaying text, graphics or text and graphics, that are not an integral part of a mobile device. Similarly, the phrase"mobile device"is used herein for ease of reference. It refers to all types of mobile devices, including mobile telephones, personal digital assistants, mobile computers (for example, hand-held computers or laptop computers), or combinations of such mobile devices. Typically, these mobile devices include a "wireless"communications device, including a cellular-derived communications device or a Wireless Local Area Network ("WLAN") communications device.

The process begins at step 100, in which the game system receives a player communication from a player's mobile device. In general, a player communication informs the game system that a player wants to play a particular game. As discussed in more detail below, a player communication may also provide the game system with identity information about the mobile device user.

Typically, a mobile device user"initiates"the player communication. For example, Player A is waiting at the train station for the arrival of his commuter train. In the train station is a game display displaying a telephone number to call to play an interactive game on the game display using a mobile device, such as a mobile telephone.

Player A, a game enthusiast, dials the telephone number and, thereby, initiates the player communication, In an alternative embodiment, the game display may display more than one telephone number to call, each telephone number connecting Player A to a different interactive game or a different variant of the same interactive game (for example, a 2- player versus 4-player variant of a game).

In another alternative embodiment, the game display may display a Universal Resource Indicator ("URI") to browse for playing an interactive game on the game display using the mobile device. In this embodiment, Player A"connects"to the URI using his or her mobile device. Player A may then browse the URI location for the link to a particular interactive game he or she wishes to play. In this embodiment, Player A might initiate the player communication upon connection via the URI location or upon selection of the particular link.

The process continues at step 110, in which the game system establishes a player link between the player's mobile device and the game system. Typically, a player link is a communications channel between the mobile device and the game system, thereby allowing a player to transmit information and commands to the game system via the mobile device. The protocol used to transmit the information between the game system and the mobile device depends upon the type of communication channel established between the game system and the mobile device. For example, depending on the communication channel, the player link may use Dual Tone Multiple Frequency ("DTMF") signals, non-DTMF signals, or a combination of DTMF signals and non- DTMF signals to transmit information and commands between the mobile device and the game system.

The player link may also use Internet Protocol ("IP"), Wireless Application Protocol ("WAP"), or other types of protocols, to transmit information, commands and/or processes between the mobile device and the game system. For example, in using IP, a low-level language application or applet, such as a JAVA applet or CHI applet, may be used to transmit the information, commands and/or processes. For example, a JAVA applet may enable the key presses on a mobile device to be encoded into IP packets, which are then transmitted for decoding and processing to the game system. In the alternative, a JAVA applet may set up the mobile device as a virtual game controller.

The virtual game controller, which may be displayed on the mobile device's display screen, may be controlled via the mobile device's keypad. Or, the virtual game controller may be driven by a virtual keypad, which also might be displayed on the mobile device's display screen. The virtual keypad may be set up with the same Java-based applet that set up the virtual controller or a different Java-based applet. Similarly, in using WAP, applications or applets may be used to extend the functionality of the mobile device for use with the game system. In using all protocols, the applications may be downloaded to the mobile device or uploaded from the game system.

In addition, the player link may use a network designed for game controllers, such as SPIKE. In a SPIKE network, the mobile device would be a SPIKE-enabled mobile device. In other words, the mobile device would be designed with the SPIKE Chipset, as well as software, needed to operate the mobile device as a SPIKE controller.

In operation, a player link sets up the game system to play a game on a game display using a mobile device. In other words, via a player link, a mobile device sends commands, such as game movement commands, to the game system. In turn, the game system, which is in communication with the game display, processes and executes the sent commands. For example, via a player link, Player A sends a command to the game system to move Player A's game piece to the right. In this example, Player A sends the game movement command by depressing the number"6"key on his mobile telephone.

In turn, the game system moves, on the game display, Player A's game piece to the right.

Figure 2 shows a flowchart of another exemplary process for implementing various embodiments of a game system for mobile device users. In this exemplary process, more than one player plays an interactive game on a public game display using his or her mobile device. The process begins at step 200, in which the game system receives a player communication from a first player's mobile device. As discussed

above, a player communication informs the game system that a player wants to play a particular game. In turn, at step 210, the game system establishes a player link between the first player's mobile device and the game system, referred to as the first player link.

The process continues at step 220, in which the game system sets a game-begin counter. In general, a game-begin counter"counts down"the player acquisition process.

For example, the game system may set the game-begin counter to two minutes. In an alternative embodiment of the invention, the game system may display the game-begin counter on the game display (not shown).

While the game-begin counter counts down, the game system may receive additional player communications. For example, at step 230, the game system receives a player communication from a second player's mobile device. As discussed in regard to step 200, the player communication informs the game system that a second player wants to play the particular game. Next, at step 240, the game system establishes a player link between the second player's mobile device and the game system, referred to as the second player link. Typically, the game-begin counter is not reset by the receipt of additional player communications.

Although not shown in the figure drawing, the processes at step 230 and step 240 may be repeated for the receipt of additional player communications and the establishment of additional player links, up to the"maximum-allowed"players for the particular game. In other words, a game system designed in accordance with the disclosed and claimed invention may set up'as many players to interactively play a game as dictated by the design of the particular game.. For example, if an interactive game is designed for a maximum of 4 players, then a game system designed in accordance with the disclosed and claimed invention may receive player communications and establish player links for 4 players.

The process continues at step 250, in which the game system determines that the game-begin counter has reached zero. If yes, then, at step 260, the game system determines whether additional players are needed to play the particular game. If yes, then, at step 270, the game system sets up one or more dummy player link [s], for one or more dummy players (also referred to as"bots"), in the game system. A dummy player link sets up the game system, as opposed to a mobile device user, to control a player icon in a game on a game display. In other words, a dummy player link sets up the game system to"play"the game on the game display. For example, a particular game requires

a minimum of three players, but only two player links have been established. In this example, the game system sets up one dummy player link. Or, in the alternative, as part of the player communication process, one of the mobile device users has chosen to play the particular game with a specific number of players, for example, four players, but only two player links have been established. In this example, the game system sets up two dummy player links.

In operation, the"players"interactively play, in coordination, the particular game on the game display. For example, via the first player link, the first player sends game movement commands to the game system which, in turn, displays those game movements on the game display. Similarly, via the second player link, the second player sends game movement commands to the game system which, in turn, displays those game movements on the game display. Similarly, via the dummy player link, the game system generates game movement commands and, in turn, displays those game movements on the game display. Depending upon the game, the"players"may be playing the game as competitors, as partners, or as both competitors and partners.

In a further embodiment of the invention, the game system may begin game play for a particular interactive game when the game system has established the requisite number of player links, for mobile device users, needed for the interactive game. In this particular embodiment of the invention, the game system may or may not include a game- begin counter. For example, if the game system does not include a game-begin counter, then the game system begins game play only when the game system has determined that the requisite number of player links, for mobile device users, needed for the interactive game have been established. Or, if the game system does include a game-begin counter, then the game system begins game play when the game system has determined that the requisite number of player links, for mobile device users, needed for the interactive game have been established, rather than when the game-begin counter reaches zero.

In a further embodiment of the invention, the game system sends game information to the mobile device. Game information may be sent to the mobile device prior to the start of a game, during the play of a game, or after the conclusion of a game.

For example, as discussed below, prior to the start of a game, the game system may invite a player to personalize the player's game identification information. Or, at the conclusion of a game, the game system may"congratulate"Player C on winning the game. Or, in

the alternative, the game system may"invite"one or more of the players to, for example, play the same game again, play a different game, or sign up for a player tournament.

The game information may be sent to the mobile device as output to the mobile device's output features, such as the display screen, the speaker, the vibrator, or the ringer. For example, game information may be sent to the mobile device's display screen or to the mobile device's speaker. In addition, a portion of the game information may be sent to the mobile device's display screen with the remaining portion sent to the mobile device's vibrator. In all of these various embodiments, the game information may include a menu of"options"from which the player may make a selection. Typically, because of time considerations, game information sent to a mobile device's output features is sent over a real-time communications channel, such as a cellular network or an IP network.

In a still further embodiment of the invention, the game system displays system information on the game display. System information may be displayed on the game display prior to the start of a game, during the play of a game, or after the conclusion of a game. Prior to the start of a game, the game system may display system start-up information on the game display. For example, the game system may display a telephone number to call to initiate the start of a particular game. Or, the game system may display a selection of games, along with the respective telephone number to call to initiate the start of a particular game. At the conclusion of a game, the game system may display player rankings for the game. In this way, game enthusiasts may be enticed to engage in some competitive play of a particular game.

Figure 3 shows a schematic of an exemplary system for implementing various embodiments of a game system for mobile device users. In the exemplary system, game system 300 is connected to game display 310 via portal 375, as well as connected to mobile device 320 via portal 385 and mobile device 330 via portal 395. The term "portal"encompasses many and varied communication modes. For example, a portal may be a telecommunications network, a cellular network, an IP network, a radio network, an infrared network, a game-controller network, an Ethernet network, an Ethernet connection, a modem, a dedicated line, or some combination of these communication modes. In addition, a radio network may include a short-range radio network, such as Bluetooth, SPIKE, IEEE802. 11 or IEEE1394.

Figure 4 shows a schematic of an exemplary system architecture for implementing various embodiments of a game system for mobile device users. The exemplary system architecture comprises numerous modules which substantially mirror the game system's operation, such as management module 400 and game module 410. Management module 400 comprises receiving module 402 for receiving player communications and link module 404 for establishing player links. Game module 410 comprises game display module 412 and game platform module 414.

Typically, mobile device 320, mobile device 330, and game display 310 are located in the same proximate location, for example, at a train station, in a bar, or in a shopping mall. The proximate location may also be an outdoor location, such as New York's Time Square or Manchester's Trafford Centre. In these examples, the game display may be a large electronic advertising screen set up in these locations.

Figure 5 shows a flowchart of an exemplary process for identifying the users of a game system for mobile device users. The process begins at step 500, in which the game system receives a player communication from a player's mobile device. At step 510, the game system determines whether an"identity"is available for the mobile device, such as Caller ID. Caller ID is a service in which telephones and mobile devices, such as cellular telephones, report the name of the mobile device user and/or the telephone number of the mobile device. For an IP-enabled mobile device, the mobile device's identity may be the IP address of the mobile device.

If no, then, at step 520, the game system sends a message to the mobile device user, inviting the mobile device user to enable the relevant identification feature in the mobile device. The message may be sent to the mobile device's display screen or the mobile device's speaker. A mobile device user may still play the selected interactive game, even though the game system is unable to determine the mobile device's identity.

If yes, then, at step 530, the game system enters the identification information into a database record. Typically, the entered information is the telephone number or IP address of the mobile device. Next, at step 540, the game system sends a message to the mobile device user, asking the mobile device user whether he or she wants to use his or her mobile device identity as an"identification tag"for the game. An identification tag for the game is the mobile device user's"player name"for the game.

If no, then, at step 550, the game system asks the mobile device user to submit a personalized identification tag for the game to the game system. Upon receipt of the

personalized identification tag, at step 560, the game system determines whether the personalized identification tag is an acceptable identification tag. For example, a personalized identification tag that contained an obscene word might be unacceptable for display on the game display. Or, in the alternative, a personalized identification tag that was the same as another player set up to play the same game at the same time might be unacceptable to the game system.

In an alternative embodiment of the invention, upon receipt of a player communication from a mobile device with an available mobile device identity, the game system checks the database to determine whether the mobile device user has"on file"a personalized identification tag. In this embodiment, the game system might ask the mobile device user whether the user wanted to use the stored personalized identification tag or create a new personalized identification tag.

In addition to storing mobile device identity and personalized identification tag information, the database may also store information on, among other things, what games the mobile device user has played, what scores the mobile device user has received, and where and/or when the mobile device user plays games using his or her mobile device.

The various embodiments of the invention may be implemented in any conventional computer programming language. For example, the various embodiments may be implemented in a procedural programming language (for example, "C") or an object-oriented programming language (for example, JAVA, CHI, or"C++"). The various embodiments of the invention may also be implemented as preprogrammed hardware elements (for example, application specific integrated circuits or digital processors), other related components, or a combination of preprogrammed hardware elements (or other related components) and computer programming language.

The various embodiments of the invention may be also implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable media (for example, a diskette, CD-ROM, ROM, or fixed disk), or transmittable to a computer system via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (for example, optical or analog communications lines) or a medium implemented with wireless techniques (for example, microwave, infrared or other transmission techniques). The series of computer instructions preferably embodies

all or part of the functionality previously described herein with respect to the system.

Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (for example, shrink wrapped software), pre-loaded with a computer system (for example, on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (for example, the Internet or the World Wide Web).

Although various exemplary embodiments of the invention have been disclosed, it should be apparent to those skilled in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the true scope of the invention. These and other obvious modifications are intended to be covered by the appended claims.