Embodiments described herein relate to electronic gaming machines (EGMs), and in particular to consolidated game packages in EGMs, and related systems, devices, and methods. EGMs in a gaming environment, such as a casino environment, have many different types of hardware configurations and form factors, and may vary from casino to casino and market to market for example. Typically, game packages are configured individually for each hardware configuration, form factor, and/or market, with every package being subject to regulatory approval individually as well. This can lead to delays in regulatory approval, inconsistent results, and difficulties in deploying different versions of the same game in an efficient manner. Thus, there is a need to obtain approval for game packages for different EGMs and to distribute the game packages more efficiently.
According to some embodiments, a gaming device includes a processor circuit and a memory including machine-readable instructions. When executed by the processor circuit, the instructions cause the processor circuit to access a game software package comprising a plurality of configurations of a wagering game. The instructions further cause the processor circuit to determine whether the gaming device is authorized to access a first subset of configurations of the wagering game. The instructions further cause the processor circuit to, based on the determination that the gaming device is authorized to access the first subset of configurations of the wagering game, enable play of the first subset of configurations of the wagering game at the gaming device.
According to some embodiments, a method includes accessing, by a processor circuit of a gaming device, a game software package comprising a plurality of configurations of a wagering game. The method further includes determining, by the processor circuit, a hardware configuration of the gaming device. The method further includes comparing, by the processor circuit, the hardware configuration of the gaming device to an authorized hardware configuration associated with a first subset of configurations of the wagering game. The method further includes determining, by the processor circuit, whether the gaming device is authorized to access the first subset of configurations based on the comparing. The method further includes, based on determining that the gaming device is authorized to access the first subset of configurations of the wagering game, enabling play of the first subset of configurations of the wagering game at the gaming device.
According to some embodiments, a system includes a processor circuit and a memory including machine-readable instructions. When executed by the processor circuit, the instructions cause the processor circuit to access a game software package comprising a plurality of configurations of a wagering game. The instructions cause the processor circuit to determine an authorized hardware configuration for a first subset of configurations of the wagering game. The authorized hardware configuration includes a hardware configuration identifier of a plurality of hardware configuration identifiers. Each hardware configuration identifier corresponds to a unique combination of a plurality of hardware component identifiers. Each hardware component identifier corresponds to a hardware component of the authorized hardware configuration. The instructions cause the processor circuit to determine a of a combination of hardware components of a gaming device. The instructions cause the processor circuit to determine a hardware configuration identifier corresponding to a combination of hardware component identifiers corresponding to the determined combination of hardware components of the gaming device. The instructions cause the processor circuit to compare the hardware configuration identifier of the authorized hardware configuration to the determined hardware configuration identifier of the gaming device. The instructions cause the processor circuit to determine, based on the comparison, whether the gaming device is authorized to access the first subset of configurations. The instructions cause the processor circuit to, based on the determination that the gaming device is authorized to access the first subset of configurations of the wagering game, enable play of the first subset of configurations of the wagering game at the gaming device.
Embodiments described herein relate to electronic gaming machines (EGMs), and in particular to consolidated game packages in EGMs, and related systems, devices, and methods. In some embodiments, a gaming device includes a processor circuit and a memory including machine-readable instructions. When executed by the processor circuit, the instructions cause the processor circuit to access a game software package comprising a plurality of configurations of a wagering game. The instructions further cause the processor circuit to determine whether the gaming device is authorized to access a first subset of configurations of the wagering game. The instructions further cause the processor circuit to, based on the determination that the gaming device is authorized to access the first subset of configurations of the wagering game, enable play of the first subset of configurations of the wagering game at the gaming device.
Before describing these and other embodiments in detail, reference is made to
A wireless access point 60 provides wireless access to the data communication network 50. The wireless access point 60 may be connected to the data communication network 50 as illustrated in
A player tracking server 45 may also be connected through the data communication network 50. The player tracking server 45 may manage a player tracking account that tracks the player's gameplay and spending and/or other player preferences and customizations, manages loyalty awards for the player, manages funds deposited or advanced on behalf of the player, and other functions. Player information managed by the player tracking server 45 may be stored in a player information database 47.
As further illustrated in
The gaming devices 100 communicate with one or more elements of the gaming system 10 to coordinate providing wagering games and other functionality. For example, in some embodiments, the gaming device 100 may communicate directly with the ticket server 90 over a wireless interface 62, which may be a WiFi link, a Bluetooth link, an NFC link, etc. In other embodiments, the gaming device 100 may communicate with the data communication network 50 (and devices connected thereto, including other gaming devices 100) over a wireless interface 64 with the wireless access point 60. The wireless interface 64 may include a WiFi link, a Bluetooth link, an NFC link, etc. In still further embodiments, the gaming devices 100 may communicate simultaneously with both the ticket server 90 over the wireless interface 66 and the wireless access point 60 over the wireless interface 64. Some embodiments provide that gaming devices 100 may communicate with other gaming devices over a wireless interface 64. In these embodiments, wireless interface 62, wireless interface 64 and wireless interface 66 may use different communication protocols and/or different communication resources, such as different frequencies, time slots, spreading codes, etc.
Embodiments herein may include different types of gaming devices. Various embodiments are illustrated in
Gaming devices 100 typically include a number of standard features, many of which are illustrated in
The gaming device 100 illustrated in
The player tracking display 142 may be used to display a service window that allows the player to interact with, for example, their player loyalty account to obtain features, bonuses, comps, etc. In other embodiments, additional display screens may be provided beyond those illustrated in
The gaming device 100 may further include a number of input devices 130 that allow a player to provide various inputs to the gaming device 100, either before, during or after a game has been played. The gaming device may further include a game play initiation button 132 and a cashout button 134. The cashout button 134 is utilized to receive a cash payment or any other suitable form of payment corresponding to a quantity of remaining credits of a credit display.
In some embodiments, one or more input devices of the gaming device 100 are one or more game play activation devices that are each used to initiate a play of a game on the gaming device 100 or a sequence of events associated with the gaming device 100 following appropriate funding of the gaming device 100. The example gaming device 100 illustrated in
In some embodiments, one or more input device 130 of the gaming device 100 may include wagering or betting functionality. For example, a maximum wagering or betting function may be provided that, when utilized, causes a maximum wager to be placed. Another such wagering or betting function is a repeat the bet device that, when utilized, causes the previously placed wager to be placed. A further such wagering or betting function is a bet one function. A bet is placed upon utilization of the bet one function. The bet is increased by one credit each time the bet one device is utilized. Upon the utilization of the bet one function, a quantity of credits shown in a credit display (as described below) decreases by one, and a number of credits shown in a bet display (as described below) increases by one.
In some embodiments, as shown in
Referring briefly to
Referring again to
The display devices 116, 118, 140 and video controller 30 of the gaming device 100 are generally configured to display one or more game and/or non-game images, symbols, and indicia. In certain embodiments, the display devices 116, 118, 140 of the gaming device 100 are configured to display any suitable visual representation or exhibition of the movement of objects; dynamic lighting; video images; images of people, characters, places, things, and faces of cards; and the like. In certain embodiments, the display devices 116, 118, 140 of the gaming device 100 are configured to display one or more virtual reels, one or more virtual wheels, and/or one or more virtual dice. In other embodiments, certain of the displayed images, symbols, and indicia are in mechanical form. That is, in these embodiments, the display device 116, 118, 140 includes any electromechanical device, such as one or more rotatable wheels, one or more reels, and/or one or more dice, configured to display at least one or a plurality of game or other suitable images, symbols, or indicia.
The gaming device 100 also includes various features that enable a player to deposit credits in the gaming device 100 and withdraw credits from the gaming device 100, such as in the form of a payout of winnings, credits, etc. For example, the gaming device 100 may include a bill/ticket printer 136, a bill/ticket acceptor/dispenser 128, that allows the player to deposit and/or receive tickets and/or currency into the gaming device 100.
As illustrated in
The gaming device 100 may further include one or more speakers 150 controlled by one or more sound cards 28 (
In various embodiments, the gaming device 100 may generate dynamic sounds coupled with attractive multimedia images displayed on one or more of the display devices 116, 118, 140 to provide an audio-visual representation or to otherwise display full-motion video with sound to attract players to the gaming device 100 and/or to engage the player during gameplay. In certain embodiments, the gaming device 100 may display a sequence of audio and/or visual attraction messages during idle periods to attract potential players to the gaming device 100. The videos may be customized to provide any appropriate information.
The gaming device 100 may further include a card reader 138 that is configured to read magnetic stripe cards, such as player loyalty/tracking cards, chip cards, and the like. In some embodiments, a player may insert an identification card into a card reader of the gaming device. In some embodiments, the identification card is a smart card having a programmed microchip or a magnetic strip coded with a player's identification, credit totals (or related data) and other relevant information. In other embodiments, a player may carry a portable device, such as a cell phone, a radio frequency identification tag or any other suitable wireless device, which communicates a player's identification, credit totals (or related data) and other relevant information to the gaming device. In some embodiments, money may be transferred to a gaming device through electronic funds transfer. When a player funds the gaming device, the processor circuit determines the amount of funds entered and displays the corresponding amount on the credit or other suitable display as described above.
In some embodiments, the gaming device 100 may include an electronic payout device or module configured to fund an electronically recordable identification card or smart card or a bank or other account via an electronic funds transfer to or from the gaming device 100.
Various components of the gaming device 100 are illustrated in
The gaming device 100 further includes a memory device 14 that stores one or more functional modules 20. Various functional modules 20 of the gaming device 100 will be described in more detail below in connection with
The memory device 14 may store program code and instructions, executable by the processor circuit 12, to control the gaming device 100. The memory device 14 may also store other data such as image data, event data, player input data, random or pseudo-random number generators, pay-table data or information and applicable game rules that relate to the play of the gaming device. The memory device 14 may include random access memory (RAM), which can include non-volatile RAM (NVRAM), magnetic RAM (ARAM), ferroelectric RAM (FeRAM) and other forms as commonly understood in the gaming industry. In some embodiments, the memory device 14 may include read only memory (ROM). In some embodiments, the memory device 14 may include flash memory and/or EEPROM (electrically erasable programmable read only memory). Any other suitable magnetic, optical and/or semiconductor memory may operate in conjunction with the gaming device disclosed herein.
The gaming device 100 may further include a data storage 22, such as a hard disk drive or flash memory. The data storage 22 may store program data, player data, audit trail data or any other type of data. The data storage 22 may include a detachable or removable memory device, including, but not limited to, a suitable cartridge, disk, CD ROM, DVD or USB memory device.
The gaming device 100 may include a communication adapter 26 that enables the gaming device 100 to communicate with remote devices over a wired and/or wireless communication network, such as a local area network (LAN), wide area network (WAN), cellular communication network, or other data communication network. The communication adapter 26 may further include circuitry for supporting short range wireless communication protocols, such as Bluetooth and/or near field communications (NFC) that enable the gaming device 100 to communicate, for example, with a mobile communication device operated by a player.
The gaming device 100 may include one or more internal or external communication ports that enable the processor circuit 12 to communicate with and to operate with internal or external peripheral devices, such as eye tracking devices, position tracking devices, cameras, accelerometers, arcade sticks, bar code readers, bill validators, biometric input devices, bonus devices, button panels, card readers, coin dispensers, coin hoppers, display screens or other displays or video sources, expansion buses, information panels, keypads, lights, mass storage devices, microphones, motion sensors, motors, printers, reels, SCSI ports, solenoids, speakers, thumb drives, ticket readers, touch screens, trackballs, touchpads, wheels, and wireless communication devices. In some embodiments, internal or external peripheral devices may communicate with the processor circuit through a universal serial bus (USB) hub (not shown) connected to the processor circuit 12.
In some embodiments, the gaming device 100 may include a sensor, such as a camera 127, in communication with the processor circuit 12 (and possibly controlled by the processor circuit 12) that is selectively positioned to acquire an image of a player actively using the gaming device 100 and/or the surrounding area of the gaming device 100. In one embodiment, the camera 127 may be configured to selectively acquire still or moving (e.g., video) images and may be configured to acquire the images in either an analog, digital or other suitable format. The display devices 116, 118, 140 may be configured to display the image acquired by the camera 127 as well as display the visible manifestation of the game in split screen or picture-in-picture fashion. For example, the camera 127 may acquire an image of the player and the processor circuit 12 may incorporate that image into the primary and/or secondary game as a game image, symbol or indicia.
Various functional modules of that may be stored in a memory device 14 of a gaming device 100 are illustrated in
Many embodiments described herein employ gaming devices 100 that are land-based EGMs, such as banks of slot machines in a casino environment, but in some embodiments, a gaming device 100 may additionally or alternatively include a personal device, such as a desktop computer, a laptop computer, a mobile device, a tablet computer or computing device, a personal digital assistant (PDA), or other portable computing devices. In some embodiments, the gaming device 100 may be operable over a wireless network, such as part of a wireless gaming system. In such embodiments, the gaming machine may be a handheld device, a mobile device or any other suitable wireless device that enables a player to play any suitable game at a variety of different locations. It should be appreciated that a gaming device or gaming machine as disclosed herein may be a device that has obtained approval from a regulatory gaming commission or a device that has not obtained approval from a regulatory gaming commission.
For example, referring to
Although illustrated as certain gaming devices, such as electronic gaming machines (EGMs) and mobile devices, similar functions and/or operations as described herein may include wagering stations that may include electronic game tables, conventional game tables including those involving cards, dice and/or roulette, and/or other wagering stations such as sports book stations, video poker games, skill-based games, virtual casino-style table games, or other casino or non-casino style games. Further, gaming devices according to embodiments herein may be implemented using other computing devices and mobile devices, such as smart phones, tablets, and/or personal computers, among others.
Embodiments include a consolidated game package for a wagering game that allows a single game package to run on multiple different types of gaming devices, e.g., cabinets, hardware configurations, etc. For example,
One technical drawback with this approach is that each game package 314, 314′ may be configured separately as separate software products and may be subject to separate regulatory approval and scrutiny as well. In the embodiment of
In addition to hardware-specific variations of a particular game, different game configurations may also include different game rules, bet amounts, odds, and other features that may differentiate the different configurations for the game. For example, different configurations may have different Cost To Cover (CTC) value, i.e., different minimum bets to enable all the paylines for a particular game. The CTC value may be an attribute of a particular theme and/or paytable of the game, with selection of a particular theme configuring the gaming device for the selected CTC value as well. In this manner, different licenses associated with particular gaming devices may support a predetermined subset of configurations of packages contained in a consolidated game package, while restricting access to other packages in the consolidated game package. For example, a game developer can create a consolidated game package having multiple game registries associated with different licensing criteria, and different configurations that may be associated with the different game registries. Game providers and customers can view and place orders for different configurations, but with a single consolidated game product being provided.
In some embodiments the consolidated game package may contain a configuration file in their package. The configuration file provides an identifier for each configuration, and can list themes, paytables, and other features associated with different configurations. A license may be provided by the gaming device to enable any theme or configuration in the package when the configuration file is present. For example, a license dongle or software license can enable one or more configurations by listing the configuration identifiers that match the configuration identifiers in the configuration file. In some embodiments, the license may be restricted to a specific gaming device model, e.g., cabinet model. In some examples, a license configuration file may be omitted, and the entire consolidated game package may be licensed for all users, as desired. In some examples, the specific features associated with a particular game configuration do not need to be determined by a foundation or host device, which instead allow or disallow different configurations without regard to content of the configuration, based on the configurations specified by the license configuration file.
An ordering process for a consolidated game package can include ordering a particular configuration or subset of configurations. Hardware dongles may be provided in some embodiments, with a license format and/or dongle creation process providing specific licensing for different configurations and different gaming devices.
Many hardware management platforms do not have specific configurations associated with different gaming devices, e.g., cabinet models, but may instead identify specific hardware components in different gaming devices, with many cabinet models containing unique combinations of different hardware components, e.g., monitors, video cards, processors, controllers, etc. In some examples, these different hardware configurations may be stored in an identification matrix listing different cabinet models with unique cabinet identifiers and the specific hardware used on each cabinet mode.
In some embodiments, each unique cabinet can be assigned a unique identifier that is independent of a cabinet model name, which may change over time. In addition, some cabinet models may share the same combination of tracked hardware components, and some cabinet models may have optional components that may make identifying the cabinet models based on hardware configurations alone unreliable.
Referring now to
In some embodiments, the license may allow for additional configuration options, such as selecting themes and operator related selections. However, some embodiments may restrict the ability to modify criteria related to regulated components, such as modifying Return To Player (RTP) values or paytables, which may be prohibited by applicable gaming regulations, and/or which may trigger new regulatory approval requirements.
Referring back to
Referring now to
Referring now to
In some embodiments, multiple games and/or configurations can be bundled together in a single consolidated game package. In this regard,
An operator may install the consolidated game package on a gaming device and view available themes and paytables on the gaming device and/or via a configuration tool of a connected device. The operator can further configure the configurations and install the license, e.g., the hardware dongle and/or software license, which determined which configurations are enabled. Upon configuration and licensing, the enabled configurations can then be played at the gaming device. Alternatively, game package may restrict further configuration of certain configurations until the configurations are enabled by the license. This may reduce inefficiency caused by operators pre-configuring configurations that might not be enabled by the operator's license.
A number of error scenarios may occur during the game configuration licensing process. For example, a license may contain one or more configurations not present in the game configuration file. A license may also contain an unknown cabinet model or hardware configuration, or a license might not include any configurations for a game package that has a configuration file. In another example, a game configuration file might list a theme, payvar, paytable, etc., that is not present in the game package.
In some embodiments, a configuration import/export feature may enable a gaming device to import configurations independently of the presence of a license for one or more of the imported configurations. A recording and reporting feature may also track the configurations in use on different gaming devices, which may aid a manufacturer, distributor, and/or operator in obtaining accurate game play and metrics across multiple configurations. In this example, the gaming device may export date including the configuration currently in use.
The operations 900 may further include determining, by the processor circuit, a hardware configuration of the gaming device (Block 904). For example, each configuration may be associated with a hardware parameter value of a hardware parameter, such as a resolution of a gaming device display, a processor speed of the gaming device, etc. These parameters may be associated with minimum or recommended hardware requirements for certain configurations of the game, for example, and/or associated with specific interface elements corresponding to the hardware capabilities of the configuration.
The operations 900 may further include comparing, by the processor circuit, the hardware configuration of the gaming device to an authorized hardware configuration associated with a first subset of configurations of the wagering game (Block 906). As discussed above with respect to Block 904, the first subset of configurations may be associated with a first range of the hardware parameter values, e.g., minimum or recommended ranges. In this example, the comparison of the hardware configuration of the gaming device to the authorized hardware configuration associated with the first subset of configurations may also include comparing a hardware parameter value of the gaming device to the first range of the hardware parameter values associated with the first subset of configurations.
In some embodiments, the authorized hardware configuration may include a hardware configuration identifier of a plurality of hardware configuration identifiers, with each hardware configuration identifier corresponding to a unique combination of a plurality of hardware component identifiers, and with each hardware component identifier corresponding to a hardware component of the authorized hardware configuration. In this embodiment, comparing the hardware configuration of the gaming device to the authorized hardware configuration associated with the first subset of configurations further includes determining a combination of hardware components of the gaming device, determining a hardware configuration identifier corresponding to a combination of hardware component identifiers, which in turn correspond to the determined combination of hardware components of the gaming device. For example, the plurality of hardware component identifiers may correspond to controller components, Peripheral Component Interconnect Express (PCIe) components, display components, etc.
The comparing may further include comparing the hardware configuration identifier of the authorized hardware configuration to the determined hardware configuration identifier of the gaming device.
The operations 900 may further include determining, by the processor circuit, whether the gaming device is authorized to access the first subset of configurations based on the comparing (Block 908). In some embodiments, this determination may include determining a device identifier of the gaming device, and determining a license associated with the first subset of configurations. In this example, determining whether the gaming device is authorized to access the first subset of configurations is further based on the device identifier and the license.
In some embodiments, the determination may include retrieving a game license file from a dongle device connected to the gaming device. In this example, the determination of whether the gaming device is authorized to access the first subset of configurations is further based on the game license file.
The operations 900 may further include, based on determining that the gaming device is authorized to access the first subset of configurations of the wagering game, enabling play of the first subset of configurations of the wagering game at the gaming device (Block 910).
The operations 900 can be repeated for enabling different or additional configurations as well. For example, the processor circuit may compare the hardware configuration of the gaming device to an authorized hardware configuration associated with a second subset of configurations of the wagering game, with the processor circuit similarly determining whether the gaming device is authorized to access the second subset of configurations based on the comparing, and selectively enabling play of the second subset of configurations of the wagering game at gaming device, based on the determination.
As will be appreciated by one skilled in the art, aspects of the present disclosure may 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 may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, 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, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may 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. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
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 may 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 may 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 may 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. The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various aspects of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which includes one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items and may be designated as “/”. Like reference numbers signify like elements throughout the description of the figures.
Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments can be combined in any way and/or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.
Number | Name | Date | Kind |
---|---|---|---|
20030195031 | O'Donovan | Oct 2003 | A1 |
20050054448 | Frerking | Mar 2005 | A1 |
20050239546 | Hedrick | Oct 2005 | A1 |
20070032288 | Nelson | Feb 2007 | A1 |
20070060363 | Nguyen | Mar 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20230351843 A1 | Nov 2023 | US |