The present disclosure relates to a system and method for enabling the secure automated production and redemption of predetermined games of chance.
Lottery scratch-off or instant games have become a time-honored method of raising revenue for state and federal governments the world over. The concept of hiding predetermined winning or losing indicia information under a Scratch-Off-Coating (SOC) or other covering (e.g., tear away tabs) has also been applied to numerous products such as commercial contests, tribal gaming, etc. Literally, tens of billions of variable indicia reveal products are produced every year where Scratch-Off-Coatings (SOCs) or another covering are used to ensure that the product has not been previously used, played, or modified.
“Class II” Instant Ticket Vending Machines (ITVMs) enable games of chance to be played with enhanced entertainment in a slot machine styled cabinet. While “Class III” slot machines typically rely on some form of Random Number Generator (RNG) electronically generating real-time results, ITVMs rely on predetermined instant ticket's or pull-tab's prize awards dispensed at the time of play. Class II ITVMs came into being as a matter of legal necessity. Class II machines are usually employed by state lotteries, tribal gaming reservations, charitable gaming, and “racinos” (i.e., gambling establishments that allow Class II machines at a live horse or dog race track). Often, these institutions are prohibited or restricted by law from operating (Vegas style) Class III slot machines. Thus, Class II ITVMs were created to accommodate gaming licenses for these types of institutions.
Several years ago Internet versions of virtual “instant ticket” games (i.e., not physical instant ticket games) that simulated scratching a ticket on a computer or mobile device became available. Similar to “Class II” ITVMs, virtual “instant ticket” games typically utilize previously determined outcomes to distribute prizes primarily due to legal considerations.
In these various types of games, the outcomes are predetermined by another external mechanism. In some versions, the gaming outcomes are predetermined to comply with the applicable laws (such as laws related to Class II slot machines, or lottery instant tickets). In other versions, the gaming outcomes are predetermined for logistical reasons (e.g., preprinted scratch-off ticket manufacturing and distribution, and for pull-tab packs). In still other versions, the gaming outcomes are predetermined to ensure a static prize fund payout (i.e., the amount and types of prizes paid out will exactly match prize fund specifications, assuming a predefined quantity of game plays are sold).
Traditionally, the predetermined outcomes for all of these types of games are created by a separate Generation or “Gen” system that pseudo-randomly, or more to the point mostly ergodically, assigns prizes (if any) to a predefined total quantity of plays or lottery tickets with each play or lottery ticket typically assigned its own validation and/or inventory control number. For example, lottery instant (scratch-off) tickets typically employ a mostly ergodically prize distribution over essentially a one dimensional space consisting of sequentially numbered instant paper lottery tickets. These outcomes are typically created using essentially similar methodologies known throughout the industry. For example, a run of 24 million lottery tickets that has 120 top prize payouts of $10,000 and a prize fund payout percentage of 55%, can be broken up into 100 pools of 240,000 lottery tickets each. The $10,000 winning lottery tickets will be distributed as evenly as possible among the 100 pools, so there will be at least one top prize in each pool, with 20 pools having two top prizes. The 80 pools without the two top prizes will typically be compensated by offering more low and mid-tier prizes, so that the payout percentage is exactly 55% for each 240,000 lottery ticket pool. Each of these 240,000 lottery ticket pools would be further broken up into books of lottery tickets, typically 100 to 400 lottery tickets per book. Thus, the set of all lottery tickets printed for a given game from serial number “1” to “n” essentially forms a one dimensional line with pseudorandom prize distribution spread along the line in a more-or-less ergodic fashion.
In various embodiments, the present disclosure provides a system for generating predetermined game outcomes including varying arrangements of indicia extracted from a game database of elements. In various such embodiments, the system includes a processor and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to access the game database of elements including (i) data representing a plurality of art indicia, and (ii) data representing rules for determining a dispersal of different winning and losing arrangements of predetermined game outcome indica, and receive and use a Genesis Seed to generate an unique order and arrangement of selected predetermined game outcome indicia and related art indicia from the game database of elements. In various such embodiments, the game database of elements and the Genesis Seed enable only one possible arrangement of the selected predetermined game outcomes indicia based on the game database of elements and the Genesis Seed. In various such embodiments, the plurality of instructions, when executed by the processor, cause the selected predetermined game outcome indicia to be saved in non-volatile memory.
In various embodiments, the present disclosure provides a system for generating a plurality of Scratch-Off-Coating (SOC) secured documents that each include substrate, variable indicia selected from a plurality of different variable indicia on the substrate, and an SOC covering the variable indicia on the substrate. In various such embodiments, the system includes a printer, a processor, and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to: cause the printed variable indica to be printed on the substrates in pseudo-randomly determined different rotational positions on each substrate where the variable indicia exhibits rotational isotropy, and/or cause the printed variable indica to be printed on the substrates in pseudo-randomly determined different mirrored orientations where the variable indica exhibits mirrored isotropy, such that respective positions and/or orientations of the variable indica on the substrates reduce determination of the variable indicia though pinholes in SOCs covering the variable indica.
In various embodiments, the present disclosure provides a system for encrypting a predetermined game production Genesis Seed, wherein the system includes a processor and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to perform a foundation level symmetrical encryption of the predetermined game production Genesis Seed using a symmetrical cryptographic key forming a foundation level ciphertext, and preform at least one subsequent level asymmetrical encryption process of the foundation level ciphertext using a different asymmetrical cryptographic key to create a multilevel encrypted ciphertext of the predetermined game production Genesis Seed encrypted by different encryption keys and processes, such that a resulting multi-level encrypted ciphertext is storable for use in future forensic game reconstruction with the predetermined game production Genesis Seed and the foundation level ciphertext destroyed.
Additional features are described herein, and will be apparent from the following Detailed Description and the figures.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fees.
The foregoing summary, as well as the following detailed description of the present disclosure, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating example embodiments of the present disclosure, there are shown in the drawings various embodiments. It should be understood, however, that the present disclosure is not limited to the precise arrangements and instrumentalities shown.
Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present disclosure. The words “a” and “an”, include “at least one.” The term “book” or “pack” refers to both a unit of shipping and an unit of activation of lottery instant tickets. The terms “user,” “player,” “purchaser,” or “consumer” are also used interchangeably all referring to a human individual utilizing the lottery ticket or other document provided by the present disclosure.
The terms “lottery scratch-off ticket”, “commercial contest scratch ticket”, “telephone card account number card”, “scratch-off gift cards”, or simply “scratch-off card” for convenience are all referred to as an “instant ticket” or more simply “ticket” throughout the present disclosure. The term “ticket” can refer to a mechanism to hold a specific wager in escrow until it is known if the wager is a winner or not. In this context, a “ticket” could exist as a physical embodiment (e.g., lottery instant ticket, pull-tab ticket) or as a virtual or digital embodiment (e.g., internal Class II ITVM “ticket” holding player's wager in memory until the next “pull”, Internet lottery site game wager).
The terms “image” or “print’ are used equivalently and mean that whatever indicium or indicia is or are created directly or indirectly on any substrate can be done by any suitable imaging or printing method or equipment. Likewise, “imaging” or “printing” describes a method and “imaged” or “printed” describing the resulting indicium or indicia are used equivalently and correspondingly to “image” or “print.” The terms “full-color” and “process color” are also used interchangeably as terms of convenience for producing a variety of colors by discrete combinations of applications of pigmented primary inks or dyes—e.g., four colors “CMYK” (i.e., Cyan, Magenta, Yellow, and blacK), or in some cases six colors (e.g., Hexachrome printing process uses CMYK inks plus Orange and Green inks), or alternatively eight colors (e.g., CMYK plus lighter shades of cyan or “LC”, magenta or “LM”, yellow or “LY”, and black or “YK”).
The terms “multi” or “multiple” or similar terms means at least two, and can also mean three, four, or more, for example, unless otherwise indicated in the context of the use of the terms. The term “variable” indicium or indicia refers to imaged indicia which indicates information relating a property, such as, without limit, a value of the document or video image, for example, a lottery ticket, coupon, digital instant lottery ticket, commercial game piece or the like, where the variable indicium or indicia is or are typically hidden by a SOC or other digital obfuscation medium until the information or value is authorized to be seen, such as by a purchaser of the ticket who scratches off the SOC or other digital obfuscation medium, revealing the variable indicium or indicia. Examples of variable indicium or indicia as a printed or digital embodiment include letters, numbers, icons, or figures.
The term “prize fund” denotes the portion of wagers of a specific game that is anticipated to be paid out in prizes. The term “anticipated” in this context is significant, since in some gaming formats the actual percentage of payout can differ from the anticipated percentage or Estimated Value (EV) theoretically calculated. However, with some gaming formats the anticipated prize fund percentage or EV pays out exactly as anticipated—e.g., instant lottery tickets, Class II ITVMS. The actual funds paid to the winning players at the conclusion of a game are referred to as “Return-To-Player” or more simply “RTP”.
The terms “Random Number Generator” or “RNG” are used for brevity to include all forms of random number generation. For example, “True Random Number Generator” or “TRNG,” “Pseudo Random Number Generator” or “PRNG” (e.g., Mersenne Twister algorithms, “Linear Congruential Generators” or “LCGs”), etc. could all be referred to as RNGs in this disclosure.
Before describing the present disclosure, it is useful to first provide a brief description of certain of the current state of the art of instant ticket production and validation. This is provided to establish that a common lexicon of existing systems for better understanding of the present disclosure. This description of the various known instant ticket production and validation is provided in the discussions of
As previously stated, the instant ticket inventory control data (103 through 106) typically found on the back of a lottery ticket 100 are accessible via human readable 101 and barcode 102 to the retailer and others prior to purchase and play of the lottery ticket. This is because, as its name implies, the instant ticket inventory control data (103 through 106) embodied as human readable 101 and machine readable barcode 102 indicia are used for tracking the individual ticket through its life cycle of: production, warehouse storage, shipping, book activation by the retailer, sale, and redemption. Therefore, for security reasons against retailer pick-out, there is no cleartext win or lose information embedded in the instant ticket human readable number 101 or machine readable barcode 102. However, in some versions, win or lose validation information is included in the machine readable barcode 102, but this information is encoded as ciphertext and not accessible in cleartext from an unplayed ticket.
Also typically found on both lottery ticket front views 110 and 110′ is the imaged ticket number 106′ that should be identical to the ticket number 106 (
At the system level 125 logistical tracking, activation, and validation of lottery-type instant tickets 100 are accomplished by grouping tickets together in books 126—as indicated in
In addition to shipping, reconciliation, and activation, some games can be structured such that there are a specified minimum quantity and/or types of winners within a book 126. In these versions, the arrangement of winning tickets is not truly random, but are pseudo-randomly distributed within a defined mostly ergodic structure to ensure that most retailers receive approximately the same quantity of low and mid-tier winners per book as well as to aid in ensuring sufficient cash is on hand for paying low and mid-tier prizes.
A given quantity of books 126 are then arranged on the system 125 as a pool 129. The purpose of a pool 129 being to reconcile all low-tier and mid-tier (and possibly high-tier) prizes into a predetermined prize structure. While the size of a pool 129 can vary from game-to-game, in various versions, the pool 129 is sufficiently large to inhibit tracking unsold winning lottery tickets by the public.
All of the produced books 126 for a given game are logged in a digital ship file 127 (magnified view 127′ provided in
The validation file 128 (magnified view 128′ provided in
Both the ship 127/127′ (
Thus, with known game Gen systems, the tickets or plays are first arranged in an one dimensional array with the highest tier winning tickets or plays occupying the first positions, the next highest tier winners occupying the next positions, and so on with all of the non-winning tickets or plays appended to the end of the one dimensional array. For example,
In one example, we assume that a lottery organization wants to sell a total of twenty tickets and have a prize fund for the game of 50% with each ticket selling for $1. In this example, the prizes awarded might consist of one $5 winner, one $2 winner, and three $1 winners and can be represented as the orderly one dimensional array: “5, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.” Note that, as previously described, the orderly one dimensional array finite series of win or lose outcomes is a sequential one dimensional array of tickets that is completely deterministic starting with the highest tier winner ($5), decrementing to the next lower tier winner ($2), and so on filling the remaining slot in the finite series with non-winners ($0). The lottery organization does not want to have the first five tickets sold to be winners, so the orderly one dimensional array is shuffled or mixed to achieve a pseudorandomized, generally ergodic, order for the actual printing of the tickets. In this example, the pseudorandomized generally ergodic resulting one dimensional printing sequence might look like the following: “0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 5, 0, 0, 0, 0, 1, 0, 0, 0, 1.” As tickets are purchased by consumers, they are removed from the sequence of outcomes. From the above set of outcomes, a consumer purchasing four tickets might buy four losing tickets—“0, 0, 0, 0.” If the next player purchased three tickets, the player might receive “0, 1, 0.” The next three tickets sold might be “2,0,0.” This process continues until the entire sequence of outcomes (twenty in this example) is exhausted.
Returning to
Thus, known game Gen systems typically create a one dimensional prize fund distribution array where the predetermined prizes are simply dispersed throughout an instant ticket's print run with each instant ticket designated as a winner or non-winner by its position in the one dimensional array. However, as gaming technology and systems have evolved and become more sophisticated, numerous new types of games and products have emerged that are not possible to produce with the such predetermined one dimensional prize fund distribution arrays.
Those skilled in the art will appreciate the problems associated with production and coordination when a known game Gen system is used to create a one dimensional array where a ticket's winning status is determined by both non-secure portions (i.e., not covered by SOC, visible when the ticket is in an unsold or pristine condition) and secure portions (i.e., covered by a SOC on unsold tickets) of lottery tickets. Partially due to limitations of known one dimensional game Gen systems, these types of coordinated games have in the past proven to be problematic.
For example, in March 2007 the Ontario Lottery and Gaming Corporation (OLG) was forced to recall over a million “Super Bingo” instant lottery tickets after it was announced that a mathematician (named Srivastava) claimed that he could visually tell which lottery tickets were winners by examining the non-secure Bingo card variable indicia readily visible on the front of unsold (pristine) tickets. By conducting an analysis of a collection of played “Super Bingo” lottery tickets, Mr. Srivastava identified a flaw in the known one dimensional game Gen system's algorithm that inadvertently linked the non-secure Bingo card variable indicia with the secure “Super Bingo” call number variable indicia hidden under the SOC on unsold tickets. Mr. Srivastava identified several patterns that were visible on the non-secure variable indicia card portion that would indicate if the lottery ticket was a winner without the need to remove the SOC and expose the secure call number variable indicia.
The first ticket 151 in the one dimensional array is inventory control number “274-000000-000” and is shown not winning a prize. This non-winning result was passed to an external processes that first generated the secure (i.e., covered by SOC) Bingo call numbers 154 and then generated the associated non-secure (i.e., visible in pristine tickets) Bingo card numbers 155. Thus, an external process 155 was employed to essentially provide the second dimension imaging (i.e., generation of the visible Bingo cards 155) that in turn was driven by the selection of the Bingo call numbers, 154 and ultimately the prize value. However, since the first ticket 151 in the one dimensional array 150 does not win a prize the Bingo call numbers 154 and linked Bingo cards 155 variable indicia must be arranged so that no prize award is indicated. The resulting Bingo call numbers 154 and associated Bingo cards 155 variable indicia are then associated with the first ticket 151. This same external processing was used to also produce the Bingo call numbers (156 and 158) and Bingo card numbers (157 and 159) for the next two tickets (152 and 153) in the one dimensional array 150 as well as every other ticket in the ticket image file 146, which contains the one dimensional array in its entirety.
Thus,
In addition to Bingo tickets, there have been previous attempts to coordinate an instant ticket's variable non-secure plate printed display (i.e., front portion of an instant lottery ticket visible prior to sale that is printed by press cylinder plates) and a one dimensional game array creating a two dimensional game format with the second dimension achieved by the synchronization of the printing plates with the variable indicia imaging. Thus, a winning ticket is identified by matching the one dimensional array of secure variable indicia with the second dimensional non-secure plate printed display. This type of two dimensional game play printing technique has also proven to be problematic because it requires that the operator of the drop-on-demand ink jet imager to be cognizant of the orientation of associated inline analog cylinder(s). Not surprisingly, producing two dimensional game play instant lottery tickets requiring coordination between the analog cylinder positions and the drop-on-demand ink jet imager has proven problematic with games being recalled after they were placed on sale. For example, a series of Lotto Quebec's “Ble D'or” instant lottery tickets were recalled in 2011 when it was discovered that synchronization between the non-secure display and the secure variable indicia was lost, resulting in non-winning tickets appearing to be winners and vice versa.
The first ticket 181 in the one dimensional array with inventory control number “913-000000-001” is shown not winning a prize. The way the “Ble D'or” game was played, this non-winning result was determined by the variable indicia of ticket 181 not matching its corresponding plate printed scene 188 (scene 1 for the first ticket 181). Thus, as the plate printed 177 scene 188 passed under the ink jet imager 182 heads, the variable indicia for the first ticket 181 would be imaged on the first scene 188. This process would continue with the second ticket 180 and scene 187, third ticket 179 and scene 186, and the fourth ticket 178 and scene 185. Since, in this example, the fourth ticket 178 wins a prize ($5), its variable indicia associated with a $5 winner would match scene four 185. However, since the analog plate printed 177 scenes are embodied on a printing cylinder, the scenes would periodically repeat (after four scenes in this example) while the ink jet imager 182 continued to provide non-repeating variable indicia theoretically synchronized with the repeating plate printed scenes on the final ticket product 183.
Thus, the integrity of the “Ble D'or” game was dependent on the synchronization between the plate printed scenes 177 and the ink jet imager 182. So long as the entire print run remained in synchronization between the analog portion 177 and the digital portion 182, the game would be copasetic. Regrettably, in the case of the “Ble D'or” game, a web break (i.e., a separation of the paper substrate threaded through the printing press) caused the printing process to temporarily shut down and, more to the point, restart out of synchronization between the analog plate printed portions 177 and the digitally imaged portions 182 resulting in misprinted tickets. Similar to the previous OLG “Super Bingo” game, the convoluted arrangement of synchronizing analog printed scenes 177 with digitally printed variable indicia 182 on the “Ble D'or” game, in order to provide an added game play dimension to the classic one dimensional prize array produced by known Gen systems, increased the complexity as well as tightly coupled (i.e., if one portion fails the entire system fails) the analog 177 and digital 182 portions together resulting in a system that was disposed to failure.
Consequently, with both the “Super Bingo” and the “Ble D'or” games, the known game Gen system originally configured to produce a predetermined one dimensional array of winning and non-winning tickets per game was rejiggered with supplementary capabilities (i.e., Bingo call numbers and card number generation algorithms initiated by each ticket's value for “Super Bingo” and analog plate images matched to each ticket in the one dimensional array for “Ble D'or”) in an attempt to provide needed added functionality. As will now be explained and shown, additional functionality can be better achieved in accordance with the present disclosure by abandoning the classical one dimensional array paradigm in favor of a database centric multidimensional game Gen system.
Reference will now be made in detail to examples of the present disclosure, one or more embodiments of which are illustrated in the figures. Each example is provided by way of explanation of the present disclosure, and not as a limitation of the present disclosure. For instance, features illustrated or described with respect to one embodiment can be used with another embodiment to yield still a further embodiment. It is intended that the present application encompasses these and other modifications and variations as come within the scope and spirit of the present disclosure. As mentioned above, lottery tickets are used herein as an example of the documents of the present disclosure for brevity and are not meant to limit the present disclosure.
The present disclosure provides systems and methods that resolve the problem of securely generating outcomes for predetermined games with multiple play venues or dimensions. Varying embodiments of the systems and methods of the present disclosure can provide, for example, lottery games (e.g., instant lottery tickets), charitable gaming (e.g., raffles or pull-tabs), casino environments (e.g., “Class II” gaming), or Internet gaming (e.g., poker, online instant lottery tickets), etc. One aspect of the various embodiments of the present disclosure is to employ a deterministic generally ergodic machine to generate predetermined games of chance from a previously tested and vetted database thereby enhancing the security, integrity, efficiency, and esthetics of existing predetermined games as well as enabling the creation of new game types that heretofore have not been possible.
Various embodiments of the present disclosure relate to systems and methods for creating and using a multidimensional database centric game Gen system that utilize secure “Genesis Seeds” to generate predetermined games via a one pass deterministic generally ergodic machine using elements from the database. One of the advantages of these embodiments is that only the game database need be retained for reconstructions with no versions (e.g., one dimensional organized array) required to be saved to reconstruct the game in its entirety other than a cleartext version of the creation seed(s) or “Genesis Seed(s).”
In various embodiments, systems and methods are disclosed for enabling a multidimensional database for the game Gen system. The at least two dimensional database facilitates different types of gaming as well as different instant lottery ticket or reveal display construction. For example, the multidimensional game Gen database can include non-game specific elements (such as a ticket front display, and/or a ticket back display) that can be coordinated with the game Gen process such that a limited quantity of books of lottery tickets can be printed for a specified retailer (e.g., a “7-Eleven Cash” lottery ticket game). This is not to imply that the database centric game Gen system is limited to non-gaming applications only. For example, with the multidimensional game Gen database, an instant lottery ticket display front theme can be directly linked to the win/lose variable indicia on each particular lottery ticket without the danger of out-of-synchronization errors between the variable indicia imager and mechanical static plates (such as that which occurred in the Lotto Quebec's “Ble D'or” instant lottery game in 2011). Additionally, the multidimensional database centric game Gen system enables heretofore unknown different types of games to be offered such as a dual game instant lottery ticket that enables a consumer to play a standard scratch-off lottery game as well as a second collectable game in which the accumulation of a specified series of losing lottery tickets enables a second chance probability winning opportunity.
In other embodiments of the present disclosure, systems and methods are disclosed wherein the Genesis Seed(s) that determine the game Gen system's predetermined game outcomes are encrypted (with the cleartext version deleted) n times, corresponding to the n number of parties required to authorize a reconstruction (such as to recreate the predetermined game in order to determine the authenticity of a given lottery ticket or play). In certain such embodiments, the system and method initially symmetrically encrypts the cleartext Genesis Seed(s) for the first level of encryption and then subsequently encrypts the resultant ciphertext n times utilizing asymmetrical public keys from the n number of parties required to authorize a reconstruction.
In other embodiments of the present disclosure, systems and methods are disclosed that support the creation of a blockchain that provides a forensic audit trail of anytime the game database is accessed including the user that accessed the game database as well as the device the user used to access the database. In certain such embodiments, the blockchain also includes a forensic record of anytime the n times encrypted ciphertext Genesis Seed(s) is/are accessed. In various embodiments, the blockchain is sharable among the n number of parties (or others) required to authorize a reconstruction, with any discrepancy in the n number of parties holding copies of the blockchain resolved by utilizing the party that has the longest blockchain of record.
In various such embodiments, a database centric game Gen system using secure Genesis Seeds generates predetermined games. Various embodiments of the present disclosure provide a secure, reliable, and mostly ergodic distribution of prizes for predetermined games of all types.
Other advantages of the present disclosure are set forth in part in the following description, or may be apparent from the present description, or may be learned through practice of the present disclosure. Described are a number of example database centric game Gen mechanisms and methodologies that provide practical details for reliably and securely creating predetermined games. Although the examples provided herein are primarily related to lottery instant tickets (such as SOC removable tickets or pull-tab ticket), it should be clear that the same methods are applicable to any type of predetermined games such as but not limited to Class II ITVMs and Internet games.
Various embodiments of the present disclosure can be implemented as methods, of which examples have been provided. The acts performed as part of the methods can be ordered in any suitable way. Accordingly, embodiments can be constructed in which acts are performed in an order different than illustrated, which can include performing some acts simultaneously, even though such acts are shown as being sequentially performed in illustrative embodiments.
The exemplary system 200 of
The disclosed specific embodiment 200 of
After all game elements have been saved into the specific Game Database 207 for the pending game, a Development Seed 208 (that can be used only for development and testing purposes, and saved as cleartext and not secured) functions as a test Genesis Seed for this particular Game Database 207 allowing the Game Gen Process 206 to construct a test game from the Game Database 207 elements. In this example, the Game Gen Process 206 provides a deterministic machine algorithm in which there is only one possible (ergodic) arrangement of the given Game Database 207 elements for the game being produced that is driven or determined by the Genesis Seed (e.g., Development Seed 208).
The test game output is then saved as a test Development Ticket Images file 208. By saving the test output in the test Development Ticket Images file 208, it then becomes possible to conduct an Audit 209 of the test generated game to confirm that it is within the parameters specified by the Working Papers 205. Since the first Audit 209 is being conducted on a test game output rather than a known linear one dimensional array, it can be argued that the first Audit 209 is more difficult because the Audit 209 is being conducted on a test game output (i.e., pseudorandomized in an approximate ergodic fashion) rather than an orderly one dimensional array. While this is technically true, it should also be noted that modern computing processing power greatly alleviates the classic difficulties of Auditing 209 a simulated game output where the winning and losing tickets are not necessarily arranged in an orderly fashion. More to the point, the first Audit 209 allows for the dispersal of prizes and losing tickets throughout the game to be evaluated.
Returning to
Assuming the Audit 210 was successful, the Game Gen Process 206 is notified to proceed with the Production 202 of the actual predetermined game that will be put on sale to the general public. In this embodiment, the Production 202 portion is virtually identical to the Development 201 portion, utilizing the same Game Gen Process 206 and Game Database 207. The only difference between Development 201 and Production 202 is the Genesis Seed used to drive the shared Game Gen Process 206 and Game Database 207. In the Development 201 process, a non-secure Development Seed 208 drives the Game Gen Process 206, thereby controlling which elements from the Game Database 207 are acquired for each ticket or play in the game. Since the resultant Development Ticket Images 208 are only used for testing and do not provide any indication of the winning and losing variable indicia in the actual Production Ticket Images 216, there is no need to secure the Development Seed 208 and in various embodiments the Development Seed 208 is saved (e.g., in cleartext) for forensic audit purposes, thereby alleviating the need to save the (relatively large) Development Ticket Images file 208.
However, with the Production 102 portion, the resultant Production Ticket Images 216 arrangement of variable indicia represent payable on demand documents or products for some portion of the tickets or plays to be generated. Therefore, to preserve the integrity of the game, in various embodiments, both the Preproduction Ticket Images file 213 and Production Ticket Images file 216 can be saved as ciphertext. Additionally, in various embodiments, the Production 202 Genesis Seed should be unpredictable, unguessable (e.g., 64 bits, such as 128 or 256 bits), and in various embodiments pseudo-random or truly random. Furthermore, in various embodiments, any Production 202 Genesis Seed is only saved in non-volatile memory as ciphertext after it was generated and successfully input into the Game Gen Process 206— the cleartext embodiment of the Genesis Seed being immediately destroyed without saving it to non-volatile memory.
In various embodiments, Production 202 Genesis Seeds are created by a hardware True Random Number Generator (TRNG) 212. Unlike software RNGs (e.g., Linear Congruential Generator or “LCG”, Mersenne Twister), a hardware TRNG 212 generates true random numbers from a physical process, rather than by way of an algorithm—e.g., thermal noise, photoelectric effect, radioactive decay, quantum noise from a tunnel diode. For example, the Thales “SafeNet Luna Network HSM” (Hardware Security Module) built-in hardware TRNG is an acceptable Genesis Seed source for database centric game Gen 200 Production 202 purposes. The same TRNG 212 can also be used as a Genesis Seed source for the Development Seed 208, but is not required in various embodiments due to the lesser security requirements of the test Development 201 environment.
In various embodiments, every Production 202 Genesis Seed received from the TRNG 212 is digitally signed by the TRNG 212 and verified by the Game Gen Process 206 using the TRNG's 212 public key prior to being utilized for production. As previously discussed, the Game Gen Process 206 incorporates a deterministic machine algorithm in which there is only one possible (approximately ergodic) arrangement of the given Game Database 207 elements for the produced Preproduction Ticket Images 213 game determined by the Genesis Seed, in various embodiments, provided by the TRNG 212.
Once the Genesis Seed is successfully received by the Game Gen Process 206 from the TRNG 212, the Game Gen Process' 206 deterministic machine produces an unique and unpredictable ergodic distribution of variable indicia extracted from the Game Database 207 constituting the predetermined game in its entirety, and in various embodiments saved as encrypted ciphertext, in the Preproduction Ticket Images database 213. A second Audit 214 is then conducted on the Preproduction Ticket Images database 213 that is similar in terms of functionality to the first Audit 209 performed in the Development process 201. If the second Production 202 Audit 214 is successful 215, the Preproduction Ticket Images database 213 becomes the Production Ticket Images database 216 and transferred in a ciphertext embodiment to the production environment. Otherwise, if the second Production 202 Audit 214 fails 215, the procedure will abort 215 with the Game Gen Process 206 repeating with possible modified specification elements in the Game Database 207 or possibly a new Genesis Seed received from the TRNG 212.
In various embodiments, while the previous database centric Gen system 200 description focused on the production of instant lottery tickets, the same system can be employed for other forms of predetermined games. For example, the database centric Gen system 200 embodiment can also be utilized for the generation of predetermined pull-tab games, Class II ITVM games, Internet gaming, etc.
Starting with the traditional one dimensional exemplary embodiment 220 of
The prize table portion 222 is organized by sequential prize level 226 tied to the associated prize amount 227 and the number of tickets or plays 228 for the given prize level created in the entire game—e.g., for prize level “35” ($1,000,000 winner) there will be six tickets or plays in the entire game with the non-winning prize level “0” having 1,348,315 tickets of plays in the game. Thus, the predetermined outcomes of the total number of tickets or plays in the entire game (database) are specified by the prize table portion 222. Additionally, in this example, the prize table portion 222 also specifies for the winning prizes how those prizes are won—e.g., (a) prize level “31” is associated with a winning prize of “$1,000×2” or a two thousand winner with two winning “$1,000” indicum displayed on the ticket or play, (b) prize level “4” is associated with a winning prize of “$10 (TRP)” or a thirty dollar winner with a tripled “$10” indicum displayed on the ticket or play, and (c) prize level “3” is associated with a winning prize of “$25 (DBL)” or a fifty dollar winner with a doubled “$25” indicum displayed on the ticket or play. The rules 230 portion includes a series of rules or instructions that determine the ergodic distribution of winning and non-winning tickets or plays in the predetermined game. The listings in
The Game Art 224 portion of the Game Database 221 includes the variable indicia elements that will be individually selected by the Game Gen Process 206′ for placement in each predetermined ticket or play. As shown in
Thus, for a one dimensional predetermined game (e.g., 110 and 110′ of
Returning to the exemplary embodiment 220 of
While similar in structure to the exemplary one dimensional embodiment 220 of
The Game Art 239 portion of the multidimensional Game Database 236 though incudes additional elements other than the standard game play variable indicia (including captions) 240. As explained in the Game Art 239 portion detail, the game play variable indicia elements 240 are more intricate than the traditional variable indicia elements (e.g., 224 of
In various embodiments, the Game Database 236 becomes multidimensional for these types of lottery instant tickets (e.g., 136 and 136′ of
Returning to the exemplary embodiment 235 of
This is not to infer that multidimensional Game Databases 236 are only used to coordinate non-gaming and gaming portions of lottery instant tickets separately. The extraction of various elements from the extra dimensions of a database can also be employed to resolve the vexing problems associated with traditional game Gen systems creating a one dimensional array where a ticket's winning status is determined by both non-secure portions (i.e., not covered by SOC, visible when the ticket is in an unsold or pristine condition) and secure portions (i.e., covered by a SOC on unsold tickets).
For example, a known one dimensional Gen system was utilized to produce the previously discussed errant OLG “Super Bingo” instant lottery game that produced visually tells indicating winning tickets by observing patterns on each ticket's non-secure Bingo card variable indicia— see
With the employment of the multidimensional database centric Gen system of the present disclosure, the possibility of unforeseen correlations and/or similarities between the visible Bingo cards and the actual prize value can be safely eliminated. As shown in
Returning to
The advantages of a multidimensional database centric game Gen system can be further extended to resolve the problems associated with coordinating an instant ticket's variable non-secure plate printed display with a one dimensional game array (e.g., Lotto Quebec “Ble D'or” game) assuming a full color imager is coupled to the database centric game Gen system. For example,
This is not to imply that the multidimensional database centric game Gen system provided by the present disclosure can be only applied to known game styles. The database centric game Gen system can also be employed to enable new game styles that heretofore have not been possible.
For example,
Another example of a multidimensional Game Databases 236 (
An example of a multidimensional Game Databases 236 (
In these examples, the multiple requirements of the ticket or play construction and game play are readily accommodated by adding arrays or dimensions to the Game Databases 236 (
In addition to enabling different types of ticket displays and game play, the multidimensional Game Databases 236 can also be utilized to increase the security and integrity of the game. For example,
This ability to list rotational and/or mirror isotropy in a multidimensional Game Databases 236 (
In addition to different types of ticket displays, game play, and security enhancements, the multidimensional Game Databases 236 (
While the previous database centric Gen system description focused on instant lottery tickets, the same system can be employed for other forms of predetermined games. For example, the database centric Gen system 200 embodiment can also be applied to the generation of predetermined pull-tab games, Class II ITVM games, Internet gaming, etc.
Similar to before, the disclosed embodiment 400 of
After all of the encrypted ciphertext standard formatted image files 410 necessary for the production of a game have been saved as ciphertext into non-volatile memory 410 within the Game Gen Secure Area 401, the encrypted image files 410 are transferred (such as via two firewalls 413 and 414) to a Secure Storage Area 402 Game Imager Database 415 after undergoing a second level of encryption 412. This double encryption is employed in various embodiments because the second level of encryption provides backward compatibility and (as will be shown) the newly added first level of encryption with a separate key enables the standard formatted image files 415 to both rest and be transmitted exclusively as ciphertext.
When the produced game is ready to print on press, the associated Raster Image Processor or “RIP” 418 first authenticates itself with the Secure Storage Area's 402 firewall 417 thereby gaining access to the ciphertext standard files 415 to be printed. As each double encrypted standard file is pulled from the Secure Storage Area's 402 database 415 and sent to the authenticated RIP 418, the second level encryption is decrypted 416 resulting in ciphertext files still encrypted with the first level of encryption—i.e., identical to the ciphertext files initially saved 410 in the Game Gen Secure Area 401. Finally, as the first level encrypted files are loaded into the RIP's 418 volatile memory, they are decrypted, resulting in cleartext image files that can be processed for printing tickets 419. In a process similar to the initial creation of the standard files, as soon as each cleartext file is rasterized to image tickets, the allocated RIP 418 volatile memory is released 420, again resulting in the complete destruction of the cleartext standard formatted image file. Alternatively, the first level decryption could be performed by a process external to the RIP (not shown in
The
Returning to
The one time use Symmetrical Encryption Key 502 is then itself encrypted with an Asymmetrical Encryption algorithm 506 (e.g., Rivest-Shamir-Adleman or “RSA”, Elliptic Curve Cryptography or “ECC”) using a manager's public key 507 (e.g., some trusted individual not directly involved in the production process) to generate a ciphertext embodiment of the Symmetrical Encryption Key 508 that is securely stored, such as in a location inaccessible by the manager that provided the public key 507. The surviving cleartext embodiment of the Symmetrical Encryption Key 502 is then destroyed 504 leaving no cleartext copies of either the Genesis Seed(s) 515 or the Symmetrical Encryption Key 502 used to encrypt the Genesis Seed(s) 515.
At this point the n series of subsequent asymmetrical encryptions begin. The asymmetrical public keys (e.g., 510, 512, and 514) of various n dissimilar parties each are employed to sequentially encrypt the various embodiments of multilevel encrypted ciphertext (509, 511, and 513) of the Genesis Seed(s) 515 such that the resulting Production Seed Ciphertext 515′ has been encrypted multiple times so that no one “trusted” individual and private key (not shown in
For example,
While the previous n stage encryption process 500 focused on securing Genesis Seed(s) for future use as multilevel encrypted ciphertext, the same system can be employed for other forms of predetermined game generation. For example, the n stage encryption process 500 can also be applied to generated Shuffle or Mixer seed(s).
In this embodiment, each step of the layered asymmetrical decryption process requires access to each trusted party's private key. Thus, in order to keep each trusted party's private key “private”, each step in the decryption process will, in various embodiment, occur at each trusted party's own secure location run on their own trusted computing platform with the varying levels of ciphertext embodiments being passed to/from each trusted party as soon as it becomes available. This was not the case for the multilevel encryption process of
However, this assured destruction of intermediary ciphertext embodiments is not possible in the multilevel asymmetrical decryption process (550 of
While the previous n stage decryption process 550 focused on decrypting Genesis Seed(s) for use from multilevel encrypted ciphertext, the same system can be employed for other forms of predetermined game generation. For example, the n stage decryption process 550 can also be applied to ciphertext seeds created for a Shuffle or Mixer.
As previously disclosed, each game created by the disclosed game Gen system includes its own specific database (e.g., 221 of
In the example of
Since the hash chain or blockchains contain no sensitive data (such as no win or lose information of a particular ticket or play for a given game), the hash or blockchains can be freely duplicated and distributed whenever a new session is added. For example, the secure game Gen site and all n trusted parties can each maintain a copy of the hash chain or blockchain. If any discrepancy in the n number of parties holding copies of the blockchain is detected it can easily be resolved by all parties adopting the longest blockchain of record.
Similar to
In the example of
Since the hash chain or blockchains contain no sensitive data (such as no win or lose information of a particular ticket or play for a given game), the hash or blockchains can be freely duplicated and distributed whenever a new session is added. For example, the secure game Gen site and all n trusted parties can each maintain a copy of the hash chain or blockchain. If any discrepancy in the n number of parties holding copies of the blockchain is detected it can easily be resolved by all parties adopting the longest blockchain of record.
The hash chain or blockchains of
As shown in hardware architecture diagram 700, the process starts with the External Data 704 (i.e., data supplied from sources outside of the secure game gen physical area) of Game Art 708 and Working Papers 709 elements transferred through a secure interface (e.g., firewall 710) to the game Gen system server 711 and ultimately the particular game database 712 that was uniquely created for the pending game. At this point, the game Gen system server 711 generates and outputs to a separate file 713 which is a test development game for auditing. Separate non-volatile memory 713 for the test development game is employed in various embodiments, since the physically separate memory reduces game database 712 storage requirements as well as simplifies integration, testing, and auditing processes.
The only difference between the test development game and the actual production game is the Genesis Seed used to drive the arrangement and the distribution of tickets or plays for the predetermined game. In various embodiments, both the test development game and the actual production game Genesis Seeds are generated by the hardware TRNG component 715 housed in the Hardware Security Module (HSM) 705. The chosen test development game Genesis Seed is not considered sensitive data and can be therefore saved as cleartext in the game database 712, since its predetermined output 713 is used only for testing and auditing with its arrangement of variable indicia and order of plays not reflecting the actual game that will be placed on sale. The actual production game Genesis Seed is another matter, since this seed determines the winning and losing arrangement of variable indicia and tickets or plays in the predetermined game that will be placed on sale it should, in various embodiments, be generated by the TRNG 715 and not saved as cleartext. Consequently, the actual production game Genesis Seed is, in various embodiments, stored as multilevel encrypted ciphertext (e.g., callout 500 of
Once the test development game has been generated, tested, and successfully audited the actual production game is generated from a different Genesis Seed. Assuming the production game passes testing and a second audit, it is then transferred from the local game Gen working non-volatile memory embedded in the server 711 to secure production memory 719 typically via at least one security barrier (e.g., firewall 718). How the production memory 719 is accessed for actual game play will vary depending on the type of the predetermined game that was generated. For lottery instant tickets or pull-tabs, the production memory 719 will hold the predetermined game data until a print run. During the print run the production memory 719 will be accessed by the imager(s) 720 and digitally imaged on the lottery instant tickets or pull-tabs. For Internet gaming, the predetermined game can be transferred from production memory 719 to a cloud based server 721 for play by play dispersion over the Internet to various players. Finally, for Class II ITVMs 722 portions of the production memory 719 will be either downloaded or intermittently printed as machine readable embodiments to the various Class II ITVMs 722 for individual play reveals.
If predetermined game reconstructions are needed after the game is placed on sale, the associated multilevel encrypted ciphertext Genesis Seed will need to be decrypted. As disclosed in
If optional hash chain or blockchain embodiments are enabled, at least one copy of the hash chain or blockchain embodiment(s) is/are maintained in the local game Gen working non-volatile memory 714. Optionally in various embodiments, copies of the same hash chain or blockchain can be readily duplicated to any interested party. If any of the hash chain or blockchain copies veracity is challenged, then the longest (i.e., most data) hash chain or blockchain copy will be accepted and copied as the authentic version.
It should be appreciated from the above that various embodiments of the present disclosure provides a system for generating predetermined game outcomes including varying arrangements of indicia extracted from a game database of elements including (i) data representing a plurality of art indicia, and (ii) data representing rules for determining a dispersal of different winning and losing arrangements of predetermined game outcome indica. In various such embodiments, the system includes a processor and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to access the game database of elements, and receive and use a Genesis Seed to generate an unique order and arrangement of selected predetermined game outcome indicia and related art indicia from the game database of elements. In various such embodiments, the game database of elements and the Genesis Seed enable only one possible arrangement of the selected predetermined game outcomes indicia based on the game database of elements and the Genesis Seed. In various such embodiments, the plurality of instructions, when executed by the processor, cause the selected predetermined game outcome indicia to be saved in non-volatile memory. In various such embodiments, the plurality of instructions, when executed by the processor, cause the processor to produce an one dimensional array containing a series of images with variable indicia arranged pseudo-randomly in winning and losing patterns that is saved in the non-volatile memory for printing. In various such embodiments, the plurality of instructions, when executed by the processor, cause the processor to produce an array containing a series of images with variable indicia arranged pseudo-randomly in winning and losing patterns coordinated with front and back display portions that is saved in the non-volatile memory for printing. In various such embodiments, the game database of elements further includes display art and wherein the plurality of instructions, when executed by the processor, cause the processor to use the Genesis Seed to generate an unique order and arrangement of selected display art from the game database of elements. In various such embodiments, the selected predetermined game outcome indicia are for a lottery instant ticket game. In various such embodiments, the selected predetermined game outcome indicia saved in the non-volatile memory is encrypted as ciphertext. In various such embodiments, the saved selected predetermined game outcome indicia is saved in a Portable Data Format (PDF) standard. In various such embodiments, the Genesis Seed is multilevel encrypted into ciphertext such that a plaintext version of the Genesis Seed can be destroyed after being used by the processor. In various such embodiments, a first level of multilevel encryption of the Genesis Seed includes a symmetrical encryption process. In various such embodiments, the plurality of instructions, when executed by the processor, cause the processor to cause a hash chain of the game database of elements to be incremented every time the game database of elements is accessed such that the hash chain includes: (i) user identification (ID) and authentication information of a person conducting a session that causes access to the game database of elements, (ii) Internet Protocol (IP) address of a device conducting the session, and (iii) a digital signature of the game database of elements to the hash chain when the session is initiated, such that the hash chain provides a record of every session the game database of elements was accessed. In various such embodiments, the plurality of instructions, when executed by the processor, cause the processor to cause the hash chain to be duplicated and distributed to multiple interested parties. In various such embodiments, the plurality of instructions, when executed by the processor, cause the processor to cause a Media Access Control (Mac) address of the device conducting the session to be recorded in the hash chain.
It should be appreciated from the above that in various embodiments, the present disclosure provides a system for generating a plurality of Scratch-Off-Coating (SOC) secured documents that each include substrate, variable indicia selected from a plurality of different variable indicia on the substrate, and an SOC covering the variable indicia on the substrate. In various such embodiments, the system includes a printer, a processor, and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to: cause the printed variable indica to be printed on the substrates in pseudo-randomly determined different rotational positions on each substrate where the variable indicia exhibits rotational isotropy, and/or cause the printed variable indica to be printed on the substrates in pseudo-randomly determined different mirrored orientations where the variable indica exhibits mirrored isotropy, such that respective positions and/or orientations of the variable indica on the substrates reduce determination of the variable indicia though pinholes in SOCs covering the variable indica. In various such embodiments, the printed variable indica include process colors. In various such embodiments, four different pseudo-randomly determined rotation positions ninety degrees apart include a total range of rotation for the printed variable indica on the substrates.
It should be appreciated from the above that in various embodiments, the present disclosure provides a system for encrypting a predetermined game production Genesis Seed, wherein the system includes a processor and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to perform a foundation level symmetrical encryption of the predetermined game production Genesis Seed using a symmetrical cryptographic key forming a foundation level ciphertext, and preform at least one subsequent level asymmetrical encryption process of the foundation level ciphertext using a different asymmetrical cryptographic key to create a multilevel encrypted ciphertext of the predetermined game production Genesis Seed encrypted by different encryption keys and processes, such that a resulting multi-level encrypted ciphertext is storable for use in future forensic game reconstruction with the predetermined game production Genesis Seed and the foundation level ciphertext destroyed. In various such embodiments, the plurality of instructions, when executed by the processor, cause the processor to cause a hash chain to be maintained of multilevel encrypted ciphertext. In various such embodiments, the foundation level symmetrical encryption includes a One Time Pad (OTP). In various such embodiments, the multi-level encrypted ciphertext is decryptable into cleartext by reversing a sequence of levels of encryptions using a private key for the subsequent level ciphertext portions and the symmetrical key for the foundation level ciphertext. In various such embodiments, the multilevel decryption of the multi-level encrypted ciphertext is recordable by a hash chain.
It should be appreciated from the above that various embodiments of the present disclosure provide a system for adding to a hash chain of a game database of elements for every session in which the game database of elements is accessed. In various such embodiments, the system includes a processor and a memory device that stores a plurality of instructions, that when executed by the processor, cause the processor to: increment the hash chain for each session that the game database of element is accessed by: (i) adding to the hash chain user identification (ID) and authentication information of a person conducting the session, (ii) adding to the hash chain Internet Protocol (IP) and Media Access Control (Mac) addresses of a device conducting the session, (iii) adding to the hash chain a time tag of when the session is initiated, and (iv) adding to the hash chain a digital signature of the game database of elements after the session is initiated, such that the hash chain provides a record of every session that accesses the game database of elements. In various such embodiments, the hash chain is duplicated and distributed to interested parties.
In various embodiments of the present disclosure, the Gen system server includes at least one processor. The at least one processor is a suitable processing device or set of processing devices, such as a microprocessor, a microcontroller-based platform, a suitable integrated circuit, or one or more Application-Specific Integrated Circuits (ASICs), configured to execute software enabling various configuration and reconfiguration tasks, such as: (1) communicating with a remote source (such as a server that stores authentication information or game information) via a communication interface of the Gen system server; (2) converting signals read by an interface to a format corresponding to that used by software or memory of the Gen system server; (3) accessing memory to configure or reconfigure parameters in the memory; (4) communicating with interfaces and the peripheral devices (such as input/output devices); and/or (5) controlling the peripheral devices.
The Gen system server also includes at least one memory device, which includes: (1) volatile memory (e.g., RAM, which can include non-volatile RAM, magnetic RAM, ferroelectric RAM, and any other suitable forms); (2) non-volatile memory (e.g., disk memory, Flash memory, Erasable Programmable Read-Only Memory or “EPROMs”, Electrically Erasable Programmable Read-Only Memory or “EEPROMs,” memristor-based non-volatile solid-state memory, etc.); (3) unalterable memory (e.g., Programmable Read-Only Memory or “PROMs”); (4) read-only memory; and/or (5) a secondary memory storage device, such as a non-volatile memory device, configured to store software related information. Any other suitable magnetic, optical, and/or semiconductor memory can operate in conjunction with the present disclosure. Any suitable combination of one or more computer readable media can be utilized. The computer readable media can be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an appropriate optical fiber with a repeater, an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present disclosure, a computer readable storage medium can be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Aspects of the present disclosure can be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure can be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that can all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure can take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon. Computer program code for carrying out operations for aspects of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C #, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions can also be stored in a computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions can also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
It should be appreciated by those skilled in the art in view of this description that various modifications and variations can be made to the present disclosure without departing from the scope and spirit of the present disclosure. It is intended that the present disclosure include such modifications and variations as come within the scope of the appended claims.
This application is a continuation of, claims priority to and the benefit of U.S. patent application Ser. No. 18/057,389, filed Nov. 21, 2022, which is a continuation of, claims priority to and the benefit of U.S. Non-Provisional patent application Ser. No. 17/453,414, filed Nov. 3, 2021, now U.S. Pat. No. 11,514,750, issued on Nov. 29, 2022, which claims priority to and the benefit of U.S. Patent Provisional Application No. 63/192,371, filed May 24, 2021, the entire contents of both of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63192371 | May 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 18057389 | Nov 2022 | US |
Child | 18317388 | US | |
Parent | 17453414 | Nov 2021 | US |
Child | 18057389 | US |