A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Copyright 2022, SG Gaming, Inc.
The present invention relates to a technological improvement to gaming systems, gaming machines, and methods and, more particularly, to new and improved animations in connection with a feature in which symbols in an array are weighted, the sum of their weights incorporated into the determination of winning combinations of the symbols.
The gaming industry depends upon player participation. Players are generally “hopeful” players who either think they are lucky or at least think they can get lucky—for a relatively small investment to play a game, they can get a disproportionately large return. To create this feeling of luck, a gaming apparatus relies upon an internal or external random element generator to generate one or more random elements such as random numbers. The gaming apparatus determines a game outcome based, at least in part, on the one or more random elements.
A significant technical challenge is to improve the operation of gaming apparatus and games played thereon, including the manner in which they leverage the underlying random element generator, by making them yield a negative return on investment in the long run (via a high quantity and/or frequency of player/apparatus interactions) and yet random and volatile enough to make players feel they can get lucky and win in the short run. Striking the right balance between yield versus randomness and volatility to create a feeling of luck involves addressing many technical problems, some of which can be at odds with one another. This luck factor is what appeals to core players and encourages prolonged and frequent player participation. As the industry matures, the creativity and ingenuity required to improve such operation of gaming apparatus and games grows accordingly.
Another significant technical challenge is to improve the operation of gaming apparatus and games played thereon by increasing processing speed and efficiency of usage of processing and/or memory resources. To make games more entertaining and exciting, they often offer the complexities of advanced graphics and special effects, multiple bonus features with different game formats, and multiple random outcome determinations per feature. The game formats may, for example, include picking games, reel spins, wheel spins, and other arcade-style play mechanics. Inefficiencies in processor execution of the game software can slow play of the game and prevent a player from playing the game at their desired pace.
Yet another significant technical challenge is to provide a new and improved level of game play that uses new and improved gaming apparatus animations. Improved animations represent improvements to the underlying technology or technical field of gaming apparatus and, at the same time, have the effect of encouraging prolonged and frequent player participation.
According to an embodiment of the present invention, there is provided a gaming system and methods that utilize a presentation assembly configured to present a series of spins of a plurality of reels arranged in an array, the array including a subset of the array in which weights are assigned to the symbols within the subset. Determination of winning combinations of the symbols in the array is based, in part, on the weights assigned to the symbols. If any wins occur as the result of a spin, the wins are paid, the winning combinations are removed, and the array shifts to fill in the removed symbols. The subset of the array is randomly repositioned and resized, and weights are added to one or more symbols in the new subset of the array. Any newly resulting wins are paid, and the process repeats until no wins occur, at which point the spin ends. Additional aspects of the invention will be apparent to those of ordinary skill in the art in view of the detailed description of various embodiments, which is made with reference to the drawings, a brief description of which is provided below.
While the invention is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated. For purposes of the present detailed description, the singular includes the plural and vice versa (unless specifically disclaimed); the words “and” and “or” shall be both conjunctive and disjunctive; the word “all” means “any and all”; the word “any” means “any and all”; and the word “including” means “including without limitation.”
For purposes of the present detailed description, the terms “wagering game,” “casino wagering game,” “gambling,” “slot game,” “casino game,” and the like include games in which a player places at risk a sum of money or other representation of value, whether or not redeemable for cash, on an event with an uncertain outcome, including without limitation those having some element of skill. In some embodiments, the wagering game involves wagers of real money, as found with typical land-based or online casino games. In other embodiments, the wagering game additionally, or alternatively, involves wagers of non-cash values, such as virtual currency, and therefore may be considered a social or casual game, such as would be typically available on a social networking web site, other web sites, across computer networks, or applications on mobile devices (e.g., phones, tablets, etc.). When provided in a social or casual game format, the wagering game may closely resemble a traditional casino game, or it may take another form that more closely resembles other types of social/casual games.
Referring to
The gaming machine 10 illustrated in
The input devices, output devices, and input/output devices are disposed on, and securely coupled to, the cabinet 12. By way of example, the output devices include a primary presentation device 18, a secondary presentation device 20, and one or more audio speakers 22. The primary presentation device 18 or the secondary presentation device 20 may be a mechanical-reel display device, a video display device, or a combination thereof. In one such combination disclosed in U.S. Pat. No. 6,517,433, a transmissive video display is disposed in front of the mechanical-reel display to portray a video image superimposed upon electro-mechanical reels. In another combination disclosed in U.S. Pat. No. 7,654,899, a projector projects video images onto stationary or moving surfaces. In yet another combination disclosed in U.S. Pat. No. 7,452,276, miniature video displays are mounted to electro-mechanical reels and portray video symbols for the game. In a further combination disclosed in U.S. Pat. No. 8,591,330, flexible displays such as OLED or e-paper displays are affixed to electro-mechanical reels. The aforementioned U.S. Pat. Nos. 6,517,433, 7,654,899, 7,452,276, and 8,591,330 are incorporated herein by reference in their entireties.
The presentation devices 18, 20, the audio speakers 22, lighting assemblies, and/or other devices associated with presentation are collectively referred to as a “presentation assembly” of the gaming machine 10. The presentation assembly may include one presentation device (e.g., the primary presentation device 18), some of the presentation devices of the gaming machine 10, or all of the presentation devices of the gaming machine 10. The presentation assembly may be configured to present a unified presentation sequence formed by visual, audio, tactile, and/or other suitable presentation means, or the devices of the presentation assembly may be configured to present respective presentation sequences or respective information.
The presentation assembly, and more particularly the primary presentation device 18 and/or the secondary presentation device 20, variously presents information associated with wagering games, non-wagering games, community games, progressives, advertisements, services, premium entertainment, text messaging, email s, alerts, announcements, broadcast information, subscription information, etc. appropriate to the particular mode(s) of operation of the gaming machine 10. The gaming machine 10 may include a touch screen(s) 24 mounted over the primary or secondary presentation devices, buttons 26 on a button panel, a bill/ticket acceptor 28, a card reader/writer 30, a ticket dispenser 32, and player-accessible ports (e.g., audio output jack for headphones, video headset jack, USB port, wireless transmitter/receiver, etc.). It should be understood that numerous other peripheral devices and other elements exist and are readily utilizable in any number of combinations to create various forms of a gaming machine in accord with the present concepts.
The player input devices, such as the touch screen 24, buttons 26, a mouse, a joystick, a gesture-sensing device, a voice-recognition device, and a virtual-input device, accept player inputs and transform the player inputs to electronic data signals indicative of the player inputs, which correspond to an enabled feature for such inputs at a time of activation (e.g., pressing a “Max Bet” button or soft key to indicate a player's desire to place a maximum wager to play the wagering game). The inputs, once transformed into electronic data signals, are output to game-logic circuitry for processing. The electronic data signals are selected from a group consisting essentially of an electrical current, an electrical voltage, an electrical charge, an optical signal, an optical element, a magnetic signal, and a magnetic element.
The gaming machine 10 includes one or more value input/payment devices and value output/payout devices. In order to deposit cash or credits onto the gaming machine 10, the value input devices are configured to detect a physical item associated with a monetary value that establishes a credit balance on a credit meter such as the “credits” meter 200 (see
Turning now to
The game-logic circuitry 40 is also connected to an input/output (I/O) bus 48, which can include any suitable bus technologies, such as an AGTL+frontside bus and a PCI backside bus. The I/O bus 48 is connected to various input devices 50, output devices 52, and input/output devices 54 such as those discussed above in connection with
The external system 60 includes, in various aspects, a gaming network, other gaming machines or terminals, a gaming server, a remote controller, communications hardware, or a variety of other interfaced systems or components, in any combination. In yet other aspects, the external system 60 comprises a player's portable electronic device (e.g., cellular phone, electronic wallet, etc.) and the external-system interface 58 is configured to facilitate wireless communication and data transfer between the portable electronic device and the gaming machine 10, such as by a near-field communication path operating via magnetic-field induction or a frequency-hopping spread spectrum RF signals (e.g., Bluetooth, etc.).
The gaming machine 10 optionally communicates with the external system 60 such that the gaming machine 10 operates as a thin, thick, or intermediate client. The game-logic circuitry 40—whether located within (“thick client”), external to (“thin client”), or distributed both within and external to (“intermediate client”) the gaming machine 10—is utilized to provide a wagering game on the gaming machine 10. In general, the main memory 44 stores programming for a random number generator (RNG), game-outcome logic, and game assets (e.g., art, sound, etc.)—all of which obtained regulatory approval from a gaming control board or commission and are verified by a trusted authentication program in the main memory 44 prior to game execution. The authentication program generates a live authentication code (e.g., digital signature or hash) from the memory contents and compare it to a trusted code stored in the main memory 44. If the codes match, authentication is deemed a success and the game is permitted to execute. If, however, the codes do not match, authentication is deemed a failure that must be corrected prior to game execution. Without this predictable and repeatable authentication, the gaming machine 10, external system 60, or both are not allowed to perform or execute the RNG programming or game-outcome logic in a regulatory-approved manner and are therefore unacceptable for commercial use. In other words, through the use of the authentication program, the game-logic circuitry facilitates operation of the game in a way that a person making calculations or computations could not.
When a wagering-game instance is executed, the CPU 42 (comprising one or more processors or controllers) executes the RNG programming to generate one or more pseudo-random numbers. The pseudo-random numbers are divided into different ranges, and each range is associated with a respective game outcome. Accordingly, the pseudo-random numbers are utilized by the CPU 42 when executing the game-outcome logic to determine a resultant outcome for that instance of the wagering game. The resultant outcome is then presented to a player of the gaming machine 10 by accessing the associated game assets, required for the resultant outcome, from the main memory 44. The CPU 42 causes the game assets to be presented to the player as outputs from the gaming machine 10 (e.g., audio and video presentations). Instead of a pseudo-RNG, the game outcome may be derived from random numbers generated by a physical RNG that measures some physical phenomenon that is expected to be random and then compensates for possible biases in the measurement process. Whether the RNG is a pseudo-RNG or physical RNG, the RNG uses a seeding process that relies upon an unpredictable factor (e.g., human interaction of turning a key) and cycles continuously in the background between games and during game play at a speed that cannot be timed by the player. Accordingly, the RNG cannot be carried out manually by a human and is integral to operating the game.
The gaming machine 10 may be used to play central determination games, such as electronic pull-tab and bingo games. In an electronic pull-tab game, the RNG is used to randomize the distribution of outcomes in a pool and/or to select which outcome is drawn from the pool of outcomes when the player requests to play the game. In an electronic bingo game, the RNG is used to randomly draw numbers that players match against numbers printed on their electronic bingo card.
The gaming machine 10 may include additional peripheral devices or more than one of each component shown in
In accord with various methods of conducting a wagering game on a gaming system in accord with the present concepts, the wagering game includes a game sequence in which a player makes a wager and a wagering-game outcome is provided or displayed in response to the wager being received or detected. The wagering-game outcome, for that particular wagering-game instance, is then revealed to the player in due course following initiation of the wagering game. The method comprises the acts of conducting the wagering game using a gaming apparatus, such as the gaming machine 10 depicted in
In the aforementioned method, for each data signal, the game-logic circuitry 40 is configured to process the electronic data signal, to interpret the data signal (e.g., data signals corresponding to a wager input), and to cause further actions associated with the interpretation of the signal in accord with stored instructions relating to such further actions executed by the controller. As one example, the CPU 42 causes the recording of a digital representation of the wager in one or more storage media (e.g., storage unit 56), the CPU 42, in accord with associated stored instructions, causes the changing of a state of the storage media from a first state to a second state. This change in state is, for example, effected by changing a magnetization pattern on a magnetically coated surface of a magnetic storage media or changing a magnetic state of a ferromagnetic surface of a magneto-optical disc storage media, a change in state of transistors or capacitors in a volatile or a non-volatile semiconductor memory (e.g., DRAM, etc.). The noted second state of the data storage media comprises storage in the storage media of data representing the electronic data signal from the CPU 42 (e.g., the wager in the present example). As another example, the CPU 42 further, in accord with the execution of the stored instructions relating to the wagering game, causes the primary presentation device 18, other presentation device, or other output device (e.g., speakers, lights, communication device, etc.) to change from a first state to at least a second state, wherein the second state of the primary presentation device comprises a visual representation of the physical player input (e.g., an acknowledgement to a player), information relating to the physical player input (e.g., an indication of the wager amount), a game sequence, an outcome of the game sequence, or any combination thereof, wherein the game sequence in accord with the present concepts comprises acts described herein. The aforementioned executing of the stored instructions relating to the wagering game is further conducted in accord with a random outcome (e.g., determined by the RNG) that is used by the game-logic circuitry 40 to determine the outcome of the wagering-game instance. In at least some aspects, the game-logic circuitry 40 is configured to determine an outcome of the wagering-game instance at least partially in response to the random parameter.
In one embodiment, the gaming machine 10 and, additionally or alternatively, the external system 60 (e.g., a gaming server), means gaming equipment that meets the hardware and software requirements for fairness, security, and predictability as established by at least one state's gaming control board or commission. Prior to commercial deployment, the gaming machine 10, the external system 60, or both and the casino wagering game played thereon may need to satisfy minimum technical standards and require regulatory approval from a gaming control board or commission (e.g., the Nevada Gaming Commission, Alderney Gambling Control Commission, National Indian Gaming Commission, etc.) charged with regulating casino and other types of gaming in a defined geographical area, such as a state. By way of non-limiting example, a gaming machine in Nevada means a device as set forth in NRS 463.0155, 463.0191, and all other relevant provisions of the Nevada Gaming Control Act, and the gaming machine cannot be deployed for play in Nevada unless it meets the minimum standards set forth in, for example, Technical Standards 1 and 2 and Regulations 5 and 14 issued pursuant to the Nevada Gaming Control Act. Additionally, the gaming machine and the casino wagering game must be approved by the commission pursuant to various provisions in Regulation 14. Comparable statutes, regulations, and technical standards exist in or are used in other gaming jurisdictions, including for example GL1 Standard #11 of Gaming Laboratories International (which defines a gaming device in Section 1.5) and N.J.S.A 5:12-23, 5:12-45, and all other relevant provisions of the New Jersey Casino Control Act. As can be seen from the description herein, the gaming machine 10 may be regulatorily approved and thus implemented with hardware and software architectures, circuitry, and other special features that differentiate it from general-purpose computers (e.g., desktop PCs, laptops, and tablets).
Referring now to
The data processing method commences at step 300. At step 305, the game-logic circuitry controls one or more presentation devices (e.g., mechanical-reel display device, video display device, or a combination thereof) that presents an array of symbol positions. Although the method is described with respect to one presentation device, it is to be understood that the presentation described herein may be performed by a presentation assembly including more than one presentation device. The symbol positions of the array may be arranged in a variety of configurations, formats, or structures and may comprise a plurality of rows and columns. The rows of the array are oriented in a generally horizontal direction, and the columns of the array are oriented in a generally vertical direction. The symbol positions in each row of the array are horizontally aligned with each other, and the symbol positions in each column of the array are vertically aligned with each other. The number of symbol positions in different rows and/or different columns may vary from each other. The reels may be associated with the respective columns of the array such that the reels spin vertically and each reel populates a respective column. In another embodiment, the reels may be associated with the respective rows of the array such that the reels spin horizontally and each reel populates a respective row. In some embodiments, the reels are associated with respective individual symbol positions of the array such that each reel animates in place and populates only its respective symbol position.
At step 310, the game-logic circuitry detects, via a value input device, a physical item associated with a monetary value that establishes a credit balance. As shown in
At step 315, the game-logic circuitry initiates a wagering game cycle in response to an input indicative of a wager covered by the credit balance. To initiate a spin of the reels, the player may press a “Spin” or “Max Bet” key on a button panel or touch screen. As shown in
At step 325, the game-logic circuitry spins and stops the reels to randomly land symbols from the reels in the array. The reel spin may be animated on a video display by depicting symbol-bearing strips flashing the various symbols in each of their respective locations. In alternate embodiments, the reel spins may be a “virtual reel spin” performed by the game logic circuitry. When each reel stops, its respective determined symbol may be animated to fall from the top of the display into its assigned location in the array, animated to move horizontally across the display into its assigned location, etc. Any animation of the population of the array with randomly determined symbols falls within the scope of the various embodiments described herein. Upon first initiating a spin, all spaces in the array may be blanked out (
In the illustrated example of
In the example shown in
Once the array has been populated, symbols in winning combinations are detected at step 330. In the embodiments described here, a win occurs when 5 or more pay table symbols form a cluster. A cluster is a grouped combination of symbols where every symbol touches at least one other like symbol along a horizontal or vertical edge (diagonals don't count). In some embodiments, diagonally adjacent symbols may be considered adjacent for cluster evaluation purposes. Wild symbols may substitute for all symbols in the array or for a subset of the symbols. For example, wild symbols may substitute for symbols A, B, C, D and E, but not for F symbols. Wild symbols are combined with all adjacent symbols when determining the existence of any winning clusters.
To animate a winning pay, the display may apply a border, pattern, color change, background change, watermark, or other distinguishing characteristic to the winning cluster and/or winning symbols that contributed to the pay.
At step 335, the array positions with winning symbols are then vacated (
The game logic circuitry determines, at step 335, whether any new winning combinations were created from the cascade at step 330 (
The cascading process between steps 320 and step 335 may repeat until there are no more winning combinations detected at step 330 (
For additional information regarding cascading spins, the reader is referred to United States Patent Application Publication No. 2004/0033829 A1 (“the '829 Publication”), titled “Symbol Matching Gaming Machine” and filed Aug. 19, 2002, which is incorporated herein by reference in its entirety One exemplary embodiment directed to a cascading spin is described in reference to FIGS. 13-20 of the '829 Publication.
Regardless of how the cascading process ends, when the cascading is complete, the game logic circuitry proceeds to step 340, where it is determined whether the awarding of a free spin has been triggered. If not, the spin is considered complete and the game logic circuitry checks to see whether the player indicates that no further play is desired via a cashout input at step 370. If no cashout is desired, a new spin is initiated with the acceptance of a new wager at step 315 and the above-described process of steps 315-365 repeats until a cashout input is received at step 365, at which time the method ends at step 370.
If, however, awarding of a free spin has been triggered at step 340, an additional series of steps (345-360) are carried out. In the examples, the collection of three gems during the spin (and its resulting cascades) trigger the awarding of a free spin. It should be clear that, in other embodiments, the game-logic circuitry may employ other means to determine a triggering event for the free spin. For example, without limitation, the triggering event may be based on a random determination using the RNG, when one or more scattered symbols appear in the array, if more than a certain number of winning clusters have occurred during the spin, after a certain number of losing base game spins have occurred, etc. Once triggered, the awarding of the free spin may be indicated in the information box 256.
The illustrated method describes a base game and a free spin bonus game triggered during play of the underlying base game. In one or more alternate embodiments, the concepts of weighting symbols within a subset of an array may apply to a base game, a bonus game, or both. The base or bonus game may be one or more free spins (and any resulting cascades) utilizing steps 345 through 360 of the method in
At step 345, as in step 320, using the RNG, the game logic circuitry selects a subset of the array (
The symbol weights are used for cluster win evaluation purposes at step 355. For example, a symbol with a “2” displayed on it will contribute two symbols to the evaluation of a winning cluster. In
At step 360, as in step 335, the array positions with winning symbols are then vacated (
In some embodiments, rather than adding new weights to symbols, completely new random weights may be assigned to the symbols in the current subset of the array. In still other embodiments, while weights previously assigned to symbols in the array are persistent, their weights may change with each cascade. For example, with each cascade, each symbol weight may be reduced such that the duration of a weight's persistence is dependent on its original value, subject, or course, to any further modification of the weight from the symbol appearing in a subsequent active subset of the array.
Following step 360, the game logic circuitry determines a new active subset of the array at step 345 and any blank positions left on top of each column in step 360 are then filled in with new symbols randomly selected by the RNG at step 350.
The game logic circuitry determines, at step 355, whether any new winning combinations were created from the cascade occurring as the result of step 360, the newly assigned weights of step 345 and the newly placed symbols of step 350. (
While the example embodiments described above are discussed within the context of a game or games employing cluster pays and a cascading array, other embodiments of a randomly positioned and sized active subset of a reel array in which symbol weights are randomly assigned fall within the scope of the invention. Once weights have been applied to symbols within the active subset of the array, assigned symbol weights may be considered in determining winning combinations other than, or in combination with, cluster pays.
In a game employing line pays instead of cluster pays, for example, any line pays passing through a weighted symbol's position may count as multiple winning lines passing through that position. For example, a winning combination passing through a symbol assigned a weight of three will be awarded for three copies of that winning pay line. Alternately, a winning combination passing through a symbol with a weight of three may simply add that symbol sequentially into the pay line three times. For example, a pay line bearing the symbols A-A3-B-E-F would award a line pay for AAAA. In some embodiments, a combination of line pays and cluster pays may be employed. While line pays may be the primary method for awarding wins, additional cluster pays may be awarded for symbols falling inside the current active subset of the array. The use of weights allows a relatively small number of symbols to create a larger cluster than would normally be available.
In a game that employs “ways pays,” in which like symbols in winning combinations appear on adjacent reels without the requirement to be on a specified pay line or directly adjacent to one another, weighted symbols are replicated to add more copies of the symbol to the reel on which they reside, thus temporarily increasing the number of ways a winning combination with that symbol are possible. This replication may be animated in the display or simply applied virtually when evaluating winning combinations. Alternately, as with the combination of line and cluster pays described above, the game may fundamentally employ ways pays, but additional cluster pays may be awarded for symbols falling inside the active subset of the array.
In a game requiring a predetermined number of a particular symbol to trigger a feature, symbol weights may be considered in determining the existence of the triggering condition. For example, if three A symbols on the first two reels are required to trigger a bonus spin, a single A on the leftmost reel may be combined with a single A with an assigned weight of two on the second reel to satisfy the triggering condition. Similarly, if a game with value-bearing (WYSIWYG or “what you see is what you get”) symbols requires the appearance of one or more “catalyst” symbols to award the values on the value-bearing symbols, the values may be enhanced by any weights assigned to the catalyst symbols or assigned to the WYSIWYG symbols. As an example, awarding unweighted $10 and $5 coins based on a catalyst symbol assigned a weight of three would pay a total of $45 ($30+$15). Alternately, or in combination, WYSIWYG awards may be replicated according to the weight assigned to each WYSIWYG symbol. For example, awarding of an unweighted $10 coin and a $5 coin assigned a weight of two would pay a total of $20 ($10+$5+$5).
While the embodiments described above provide various examples of the persistence of the weights assigned to symbols such as persisting after the active subset no longer contains the weighted symbols, the addition of more weight to a symbol when it falls within the active subset a subsequent time, and so forth, decrementing the weight of one or more symbols from cascade to cascade to limit their persistence, etc., and other schemes for persisting the weights assigned to symbols identified as being within the active matrix fall within the scope of the invention.
Furthermore, while the above embodiments describe an active subset of the array that is relocated and possibly resized between spins or cascades, the size and the location of the subset may persist for a certain number of spins (or cascades) before being relocated or resized. In some embodiments, the size of the active subset may not change randomly. For example, the size may gradually increase as spins and/or cascades progress until a maximum size is reached or until the spin/cascade series ends. In other embodiments, the size of the active subset may gradually shrink until a minimum size is reached, until the spin/cascade series ends, or until the active subset is not assigned at all. In some embodiments, the appearance (or not) of an active subset may be randomly determined, determined by some triggering condition internal or external to the game, etc.
In this description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. Note that in this description, references to “one embodiment” or “an embodiment” mean that the feature being referred to is included in at least one embodiment of the invention. Further, separate references to “one embodiment” in this description do not necessarily refer to the same embodiment; however, neither are such embodiments mutually exclusive, unless so stated and except as will be readily apparent to those of ordinary skill in the art. Thus, the present invention can include any variety of combinations and/or integrations of the embodiments described herein. Each claim, as may be amended, constitutes an embodiment of the invention, incorporated by reference into the detailed description. Moreover, in this description, the phrase “exemplary embodiment” means that the embodiment being referred to serves as an example or illustration.
Block diagrams illustrate exemplary embodiments of the invention. Flow diagrams illustrate operations of the exemplary embodiments of the invention. The operations of the flow diagrams are described with reference to the example embodiments shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of the invention other than those discussed with reference to the block diagrams, and embodiments discussed with references to the block diagrams could perform operations different than those discussed with reference to the flow diagrams. Additionally, some embodiments may not perform all the operations shown in a flow diagram. Moreover, it should be understood that although the flow diagrams depict serial operations, certain embodiments could perform certain of those operations in parallel or in a different sequence.
Each of these embodiments and obvious variations thereof is contemplated as falling within the spirit and scope of the claimed invention, which is set forth in the following claims. Moreover, the present concepts expressly include any and all combinations and subcombinations of the preceding elements and aspects.