Title:
GAMING MACHINE THAT CHANGES A DISPLAYED VIEW OF SYMBOLS
Kind Code:
A1


Abstract:
A method is described for use with a gaming machine that is arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and an award is awarded if a winning combination occurs. The method includes spinning the reels to provide a resultant reel configuration and displaying a symbol array from the resultant reel position in a reel display portion of a display. The award is awarded if the winning combination occurs in the reel display portion. The method includes replacing the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration. The method may include a simulation of the symbol array shattering.



Inventors:
Shai-hee, Michael Allan (Kingsgrove, AU)
Application Number:
12/371349
Publication Date:
09/03/2009
Filing Date:
02/13/2009
Assignee:
Aristocrat Technologies Australia Pty Limited (North Ryde, AU)
Primary Class:
International Classes:
A63F9/24
View Patent Images:
Related US Applications:
20040043807Poker game with a second chance featureMarch, 2004Pennington
20090156311Real-Time Display of Fantasy Sports Player Transaction DataJune, 2009NG et al.
20070265050Currency enabled gaming system and methodNovember, 2007Baazov
20100090402LATE BET BACCARATApril, 2010Katz
20090305759GAME APPARATUS, GAME DATA DELIVERY SYSTEM AND STORAGE MEDIUMDecember, 2009Nishimura et al.
20100087256Gaming Network with Associated Community/Progressive FeaturesApril, 2010Frattinger et al.
20090280897Method and Apparatus for Producing Interactive Video ContentNovember, 2009Fitzmaurice et al.
20060178194Combination lottery and raffle gameAugust, 2006Jubinville et al.
20060252483Instant-win contest with physical entry modeNovember, 2006Avery et al.
20100041479VOICE COMMAND GAME CONTROLLING APPARATUS AND METHOD OF THE SAMEFebruary, 2010Hsu
20080293483METHOD OF CONTROLLING OUT OF ORDER MODE ON A GAMENovember, 2008Pickus et al.



Primary Examiner:
ENAD, CHRISTINE A
Attorney, Agent or Firm:
HANLEY, FLIGHT & ZIMMERMAN, LLC (150 S. WACKER DRIVE, SUITE 2100, CHICAGO, IL, 60606, US)
Claims:
1. A method for use with a gaming machine that is arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and an award is awarded if a winning combination occurs, the method comprising: spinning the reels to provide a resultant reel configuration; displaying a symbol array from the resultant reel position in a reel display portion of a display, wherein the award is awarded if the winning combination occurs in the reel display portion; and replacing the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

2. A method according to claim 1 comprising checking whether one or more eligibility criteria are satisfied, wherein said replacing of the symbol array is contingent on the satisfaction of the eligibility criteria.

3. A method according to claim 2 comprising repeating said replacing step if the eligibility criteria are satisfied.

4. A method according to claim 3 wherein said replacing step is repeated until the entire sequence of symbols associated with at least one of the reels has been displayed in the reel display portion.

5. A method according to claim 1 wherein said replacing comprises: simulating shattering of the symbol array currently displayed in the reel display portion; and displaying the further symbol array in the reel display portion.

6. A method according to claim 5 wherein the further symbol array is adjacent to the shattered symbol array in the resultant reel configuration.

7. A method according to claim 5 in which said simulated shattering comprises initiating a trajectory of at least one graphic object towards the reel display portion.

8. A method according to claim 7 comprising accumulating graphic objects for use in shattering the symbol array.

9. A method according to claim 2 wherein the eligibility criteria are selected from the group consisting of: a player placing an ante-bet before the reels are spun; the player purchasing a right to replace the displayed symbol array; the occurrence of a triggering outcome in the displayed symbol array; the accumulation of one or more graphic objects for use in shattering the symbol array; and the occurrence of a randomly-triggered entitlement.

10. A gaming machine having a display and a game controller arranged to control images of symbols displayed on the display, the game controller being arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and to award an award if a winning combination occurs, the game controller arranged to: spin the reels to provide a resultant reel configuration; display a symbol array from the resultant reel position in a reel display portion of the display, wherein the award is awarded if the winning combination occurs in the reel display portion; and replace the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

11. A computer program product comprising machine-readable program code recorded on a machine-readable recording medium controlling operation of a data processing apparatus on which the program code executes to perform a method for use with a gaming machine that is arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and an award is awarded if a winning combination occurs, the method comprising: spinning the reels to provide a resultant reel configuration; displaying a symbol array from the resultant reel position in a reel display portion of a display, wherein the award is awarded if the winning combination occurs in the reel display portion; and replacing the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

12. A method according to claim 11 comprising checking whether one or more eligibility criteria are satisfied, wherein said replacing of the symbol array is contingent on the satisfaction of the eligibility criteria.

13. A method according to claim 12 comprising repeating said replacing step if the eligibility criteria are satisfied.

14. A method according to claim 13 wherein said replacing step is repeated until the entire sequence of symbols associated with at least one of the reels has been displayed in the reel display portion.

15. A method according to claim 11 wherein said replacing comprises: simulating shattering of the symbol array currently displayed in the reel display portion; and displaying the further symbol array in the reel display portion.

16. A method according to claim 15 wherein the further symbol array is adjacent to the shattered symbol array in the resultant reel configuration.

17. A method according to claim 15 in which said simulated shattering comprises initiating a trajectory of at least one graphic object towards the reel display portion.

18. A method according to claim 17 comprising accumulating graphic objects for use in shattering the symbol array.

19. A method according to claim 12 wherein the eligibility criteria are selected from the group consisting of: a player placing an ante-bet before the reels are spun; the player purchasing a right to replace the displayed symbol array; the occurrence of a triggering outcome in the displayed symbol array; the accumulation of one or more graphic objects for use in shattering the symbol array; and the occurrence of a randomly-triggered entitlement.

20. A computer program product comprising machine-readable program code recorded on a machine-readable recording medium controlling operation of a data processing apparatus on which the program code executes to provide a gaming controller arranged to control images of symbols displayed on a gaming machine display, the game controller being arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and to award an award if a winning combination occurs, the game controller arranged to: spin the reels to provide a resultant reel configuration; display a symbol array from the resultant reel position in a reel display portion of the display, wherein the award is awarded if the winning combination occurs in the reel display portion; and replace the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of priority to Australian Provisional Patent Application No. 2008900683, filed on Feb. 13, 2008, entitled “A Gaming Machine That Changes A Displayed View Of Symbols”, which is herein incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention generally relates to gaming machines and methods of gaming. A particular embodiment of the present invention relates to gaming machines that provide a spinning reel game.

BACKGROUND OF THE INVENTION

With the increase of gambling at gaming venues has come increased competition between gaming venues to obtain a larger share of the total gambling spend. Gaming venue operators have therefore continuously looked for new variations and types of games in order to attract both new and return customers to their venues.

In response to this need, suppliers of gaming devices and systems have attempted to provide the sought-after variety, while still developing games that comply with the relevant regulations in the jurisdiction of the gaming venue operator. Suppliers of gaming devices therefore are faced with restrictions on the types of games and gaming machines that are allowable, both in terms of the prevailing regulations and in terms of providing a return on investment to the gaming venue operators.

SUMMARY OF THE INVENTION

According to a first aspect of the invention there is provided a method for use with a gaming machine that is arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and an award is awarded if a winning combination occurs, the method including:

spinning the reels to provide a resultant reel configuration;

displaying a symbol array from the resultant reel position in a reel display portion of a display, wherein the award is awarded if the winning combination occurs in the reel display portion; and

replacing the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

The method may include checking whether one or more eligibility criteria are satisfied, wherein said replacing of the symbol array is contingent on the satisfaction of the eligibility criteria.

The method may include simulating shattering of the symbol array currently displayed in the reel display portion.

According to a second aspect of the invention there is provided a gaming machine having a display and a game controller arranged to control images of symbols displayed on the display, the game controller being arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and to award an award if a winning combination occurs, the game controller arranged to:

spin the reels to provide a resultant reel configuration;

display a symbol array from the resultant reel position in a reel display portion of the display, wherein the award is awarded if the winning combination occurs in the reel display portion; and

replace the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

According to a further aspect of the invention there is provided a computer program product including machine-readable program code recorded on a machine-readable recording medium, for controlling the operation of a data processing apparatus on which the program code executes to perform a method for use with a gaming machine that is arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and an award is awarded if a winning combination occurs, the method including:

spinning the reels to provide a resultant reel configuration;

displaying a symbol array from the resultant reel position in a reel display portion of a display, wherein the award is awarded if the winning combination occurs in the reel display portion; and

replacing the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

According to a further aspect of the invention there is provided a computer program including machine-readable program code for controlling the operation of a data processing apparatus on which the program code executes to perform a method for use with a gaming machine that is arranged to provide a spinning reel game in which symbols are spun up on a plurality of reels, each reel having an associated sequence of symbols, and an award is awarded if a winning combination occurs, the method including:

spinning the reels to provide a resultant reel configuration;

displaying a symbol array from the resultant reel position in a reel display portion of a display, wherein the award is awarded if the winning combination occurs in the reel display portion; and

replacing the displayed symbol array in the reel display portion with a further symbol array from the resultant reel configuration.

Further aspects of the present invention will be apparent from the following description, which is given by way of example and with reference to the accompanying drawings. Also, various embodiments of the aspects described in the preceding paragraphs will be apparent from the appended claims, the following description and/or the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1: shows schematically a view of a gaming console suitable for implementing certain embodiments of the present invention.

FIG. 2: shows a block diagram of a gaming machine suitable for implementing certain embodiments of the present invention.

FIG. 3: shows a block diagram of components of the memory of the gaming machine represented in FIG. 2.

FIG. 4: shows schematically a network gaming system suitable for implementing certain embodiments of the present invention.

FIG. 5: shows a flow diagram of a method in which a symbol array displayed in a spinning reel game is replaced by a further symbol array.

FIG. 6: shows a flow diagram of an embodiment of the method of FIG. 5 in which a reel window appears to shatter when replacing the symbol array.

FIG. 7: shows a schematic representation of a symbol array shattering in a spinning reel game.

FIG. 8: shows a schematic representation of the replacement symbol array moving into position.

FIG. 9: shows a schematic representation of a further symbol array displayed on the gaming machine after a previously-displayed symbol array has been shattered.

The foregoing summary, as well as the following detailed description of certain embodiments of the present invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, certain embodiments are shown in the drawings. It should be understood, however, that the present invention is not limited to the arrangements and instrumentality shown in the attached drawings.

DETAILED DESCRIPTION

In FIG. 1 of the accompanying drawings, one example of a gaming console that is suitable to implement the present invention is generally referenced by arrow 114.

The gaming console 114 includes two displays 106A, 106B on one or both of which is displayed representations of a game that can be played by a player and a bank of buttons 107A and/or a touch screen 107B to enable a player to play the game. The displays 106 may be video display units, such as a cathode ray tube screen device, a liquid crystal display, plasma screen, any other suitable video display unit, or the visible portion of an electromechanical device. The display 106B may display artwork, including for example, pay tables and details of bonus awards and other information or images relating to the game. In alternative gaming consoles the display 106B may be omitted, optionally replaced by a static display.

A credit input including a coin input 110A and/or bill collector 110B allows a player to provide credit for wagering and a coin output 111 is provided for cash payouts from the gaming console 114. A card and/or ticket reader 108 and a printer 109 may be provided to provide player tracking, cashless game play or other gaming and non-gaming related functions.

FIG. 2 shows a block diagram of a gaming machine, generally referenced by arrow 100, suitable for implementing the present invention. The gaming machine 100 may include the gaming console 114 shown in FIG. 1 and accordingly like reference numerals have been used to describe like components in FIGS. 1 and 2.

The gaming machine 100 includes a game controller 101, which in the illustrated example includes a computational device 102, which may be a microprocessor, microcontroller, programmable logic device or some other suitable device. Instructions and data to control operation of the computational device 102 are stored in a memory 103, which is in data communication with, or forms part of, the computational device 102. Typically, the gaming machine 100 will include both volatile and non-volatile memory and more than one of each type of memory, with such memories being collectively represented by the memory 103. The instructions to cause the game controller 101 to implement the present invention will be stored in the memory 103. The instructions and data for controlling operation of the computational device 102 may be stored on a computer readable medium from which they are loaded into the gaming machine memory 103. The instructions and data may be conveyed to the gaming machine by means of a data signal in a transmission channel. Examples of such transmission channels include network connections, the Internet or an intranet and wireless communication channels.

The game controller 101 may include hardware credit meters 104 for the purposes of regulatory compliance and also include an input/output (I/O) interface 105 for communicating with the peripheral devices of the gaming machine 100. The input/output interface 105 and/or the peripheral devices may be intelligent devices with their own memory for instructions and data.

In the example shown in FIG. 2, the peripheral devices that communicate with the controller are the displays 106, bank of buttons/touch screen 107, the card and/or ticket reader 108, the printer 109, a bill acceptor and/or coin input 110 and a coin output 111. Additional devices may be included as part of the gaming machine 100, or devices omitted based on the specific implementation.

The bank of buttons 107A and/or touch screen 107B together with one or both of the displays 106 may provide a user interface 115 through which the gaming machine 100 and player communicate. If a card/ticket reader 108 is provided, this may also form part of the user interface 115.

In addition, the gaming machine 100 may include a communications interface, for example a network card 112. The network card 112, may for example, send status information, accounting information or other information to a central controller, server or database and receive data or commands from the central controller, server or database. The network card 112 may also enable communication with a central player account, allowing cashless gaming. One or more of the peripheral devices, for example the card/ticket reader 108 may be able to communicate directly with the network card 112. The network card 112 and the I/O interface 105 may be suitably implemented as a single machine communications interface.

The game controller 101 may also include a random number generator 113, which generates a series of random numbers that are used by the computational device 102 to determine the outcomes of games played on the gaming machine 100.

The game controller 101 may have distributed hardware and software components that communicate with each other directly or through a network or other communication channel. The game controller 101 may also be located in part or in its entirety remote from the user interface 115. Also, the computational device 102 may include a plurality of devices, which may be local or remote from each other. Instructions and data for controlling the operation of the user interface 115 may be conveyed to the user interface 115 by means of a data signal in a transmission channel. The user interface 115 may be a computational device, for example a personal computer, used by a person to play a game provided from a remote game controller 101.

FIG. 3 shows an exemplary block diagram of the main components of the memory 103. The RAM 103A typically temporarily holds instructions and data related to the execution of game programs and communication functions performed by the computational controller 102. The EPROM 103B may be a boot ROM device and/or may contain system and game related code. The mass storage device 103C may be used to store game programs, the integrity of which may be verified and/or authenticated by the computational controller 102 using protected code from the EPROM 103B or elsewhere.

FIG. 4 shows a gaming system 200 in the form of a network of devices. The gaming system 200 includes a network infrastructure 201, which for example may be in the form of an Ethernet network. Alternatively, a wireless network and/or direct communication channels, or a different type of network may be used to link the gaming machines to a server, each other and/or other devices. Gaming consoles 114, shown arranged in three banks 203 of two gaming consoles 114 in FIG. 4, are connected to the network infrastructure 201. The gaming consoles 114 may form part or all of a gaming machine 100. Single gaming consoles 114 and banks 203 containing three or more gaming devices 202 may also be connected to the network infrastructure 201, which may also include bank controllers, hubs, routers, bridges to other networks and other devices (not shown).

One or more displays 204 may also be connected to the network 201. The displays 204 may, for example, be associated with a bank 203 of gaming consoles 114. The displays 204 may be used to display representations associated with game play on the gaming devices 114, and/or used to display other representations, for example promotional or informational material.

Servers may also be connected to the network 201. For example, a game server 205 may generate game outcomes for games played on one or more of the gaming consoles 114, a database management server 206 may manage the storage of game programs and associated data in a database 206A so that they are available for downloading to, or access by, game controllers 101, and a jackpot server 207 may control one or more jackpots for the gaming system 200.

Further servers may be provided to assist in the administration of the gaming system 200, including for example a gaming floor management server 208, and a licensing server 209 to monitor the use of licenses to particular games. An administrator terminal 210 is provided to allow an administrator to manage the network 201 and the devices connected to the network. The different servers depicted can be distinct physical servers or logically distinct server processes running on a single physical server.

The gaming system 200 may communicate with other gaming systems, or other local networks, for example a corporate network and/or a wide area network such as the Internet through a firewall 211.

The game described herein relates to a spinning reel game in which a plurality of spinning reels are spun on a gaming machine such as gaming machine 100. In earlier gaming machines it was typical for the spinning reels to be mechanical reels bearing a sequence of symbols. However, in recent years it has been common for the reels to be graphic objects that are rendered to a display such as display 106 and animated to simulate the rotation of a mechanical reel. In the embodiment described below, the spinning reels are graphic objects that are rendered to a display 106.

FIG. 5 shows a process flow diagram of a process performed in accordance with an embodiment of the present invention. The process may be performed by the gaming system 200 or on individual gaming machines 114. Those skilled in the relevant arts will appreciate that the process may also be implemented by other gaming systems.

For game play to commence, the game controller 101 monitors the bill acceptor and/or coin input 110 and/or information received by the card/ticket reader 108 or network card 112 for a deposit of credit and in response causes the hardware meters 104 to increment according to the denomination of the game. The game controller 101 then monitors the user interface 107 for the input of a wager.

If there are sufficient credits in the meters 104 to support the wager, a spinning reel game is commenced by the game controller 101.

In method 300 shown in FIG. 5 the plurality of spinning reels are spun in step 302 to define a resultant reel configuration. Each of the spinning reels has an associated sequence of symbols. In one arrangement the reels all have the same number of symbols. In other arrangements different reels may have different numbers of symbols in their associated sequences.

The resultant reel configuration at the end of step 302 determines the relative positions of the symbols on the plurality of reels throughout the associated sequences.

In step 304 a subset of the resultant reel configuration is displayed in a reel display window which is an area of a display 106. In the example shown in FIGS. 7-9, the spinning reel game uses 5 reels. The symbol array displayed in the reel display window shows 3 symbols from each of the reels. Thus, in the example the displayed symbol array has 5 columns and 3 rows. The displayed symbol array is a subset of the resultant reel configuration obtained by spinning the reels in step 302.

In step 306 the controlling software running on the gaming machine 100 determines whether a winning outcome has occurred in the symbol array displayed in the reel display window. If there is a winning outcome, an award may be made.

In step 308 the controlling software checks whether the player is eligible to replace the symbol array displayed in the reel display window. Various eligibility criteria may be specified for an implementation of the described game. For example, the player may be required to place an ante-bet before the reels are spun in step 302 in order to become eligible to replace the displayed symbol array. Alternatively, the player may be offered the option of purchasing the rights to replace the symbol array. Thus, for example, if there has been no winning outcome in an initial symbol display, the player may opt to replace the displayed symbol array.

Another eligibility criterion for replacing the symbol array may be the occurrence of a triggering combination of symbols in the displayed symbol array. If the triggering combination occurs, then the displayed symbol array may be automatically replaced. Alternatively, if the triggering combination has occurred, the player may be given an option to replace the displayed symbol array.

In a further alternative, the right to replace the symbol array may be a randomly-triggered entitlement, determined, for example by the random number generator 113. A message may be displayed on display 106 informing the player that he or she is eligible to replace the current symbol array. This listing of eligibility criteria is not exhaustive and other criteria may be also be used in method 300.

If the player is not eligible to replace the symbol array (the No option of step 308) then ordinary game play continues at step 310. For example, process flow may return to step 302 to initiate a further spin of one or more of the reels. The player may be required to make a further wager in order to continue the spinning reel game.

If, however, the player is eligible to replace the symbol array (the Yes option of step 308) then process flow proceeds to step 3 12.

In step 312, the controlling software removes the symbol array currently displayed in the reel display window and displays a further symbol array drawn from the reel configuration that resulted from the reel spin in step 302. Note that the reels have not been re-spun. Instead, a portion of the reel configuration that was not previously visible in the reel display window is moved into view in step 312.

Process flow in method 300 then returns to step 306, which is a check to see whether a winning outcome has occurred in the further symbol array.

Depending on the eligibility criteria that had been specified, the process of replacing the displayed symbol array may continue. The iterated process of replacing the symbol array may, for example, continue until there are no further symbol arrays that may be drawn from the resultant reel configuration of step 302.

It will be understood that various criteria may be specified to determine whether a winning outcome has occurred. For example, the game may specify one or more pay lines that traverse the displayed symbol array in the reel display window. If a specified combination of symbols occurs on one of the specified pay lines, a winning outcome may occur.

There are many ways in which the currently-displayed symbol array may be removed from the reel display window and replaced with the next symbol array from the reel configuration. In one embodiment a shattering effect is used. This is illustrated in the flow diagram of FIG. 6. In step 350 the controlling software animates the display of the symbol array to give the effect of a glass pane shattering. Pieces of glass may fall away from the shattered pane, thereby removing the displayed symbol array. In step 352 the adjacent symbol array from the resultant reel configuration is moved into the reel display window to take the place of the original array.

In one arrangement a moving graphic object may be rendered to display 106 such that the graphic object appears to be thrown at or projected towards the reel display window. The graphic object, which may, for example, be a ball or a stone, appears to strike the reel display window and shatter the window as if it were made of glass. The object may be thrown by an animated character or projected from another graphic object such as a catapult or cannon.

In one arrangement of the game, a player may need to accumulate graphic objects such as stones or balls in order to be eligible to replace the displayed symbol array. Thus, for example, the player may purchase one or more stones that the player may then choose to activate in order to shatter a reel display window and reveal a further symbol array. Alternatively or additionally, the player may win graphic objects such as balls or stones in the course of play. The player may thus accumulate an armoury of objects to use in shattering displayed symbol arrays.

It will be appreciated that other animation sequences may be used to delete a currently displayed symbol array in order to create room for the display of a further symbol array on the resultant reel configuration. For example, the existing symbol array may be erased using an eraser. The symbols may also appear to be set alight and, once they have been incinerated, the next symbol array may move into position.

The embodiment in which the reel display window is shattered is illustrated in FIGS. 7, 8 and 9.

FIG. 7 shows a symbol array 700 made up of 3 symbols on each of 5 reels. In the example, the player is eligible to replace the displayed symbol array and FIG. 7 illustrates the effect of a graphic object 705 having been thrown at the reel display window. Arrow 704 depicts the apparent trajectory of the object 705 across the display. Cracks 702 appear in the reel display window and pieces of glass fall away until the shattered symbol array disappears.

FIG. 8 is a schematic representation 800 of the adjacent symbol array from the resultant reel configuration moving downwards to appear in the reel display window on display 106.

FIG. 9 shows the resultant symbol array 900. In the example the middle row of the symbol array consists of 5 queens, which is a winning combination.

While the foregoing description has been provided by way of example of the preferred embodiments of the present invention as presently contemplated, which utilise gaming machines of the type found in casinos, those skilled in the relevant arts will appreciate that the present invention also may have application to internet gaming and/or have application to gaming over a telecommunications network, where handsets are used to display game outcomes and receive player inputs.

Where in the foregoing description reference has been made to integers having known equivalents, then those equivalents are hereby incorporated herein as if individually set forth.

Those skilled in the relevant arts will appreciate that modifications and additions to the embodiments of the present invention may be made without departing from the scope of the present invention.

It will be understood that the invention disclosed and defined in this specification extends to all alternative combinations of two or more of the individual features mentioned or evident from the text or drawings. All of these different combinations constitute various alternative aspects of the invention.

It will also be understood that the term “comprises” (or its grammatical variants) as used in this specification is equivalent to the term “includes” and should not be taken as excluding the presence of other elements or features.

It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments and/or aspects without departing from the spirit or scope of the invention as broadly described. The present embodiments and aspects are, therefore, to be considered in all respects as illustrative and not restrictive. Several embodiments are described above with reference to the drawings. These drawings illustrate certain details of specific embodiments that implement the systems and methods and programs of the present invention. However, describing the invention with drawings should not be construed as imposing on the invention any limitations associated with features shown in the drawings. The present invention contemplates methods, systems and program products on any electronic device and/or machine-readable media suitable for accomplishing its operations. Certain embodiments of the present invention may be implemented using an existing computer processor and/or by a special purpose computer processor incorporated for this or another purpose or by a hardwired system, for example.

Embodiments within the scope of the present invention include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media may comprise RAM, ROM, PROM, EPROM, EEPROM, Flash, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such a connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.