Abstract:
The player attempts to solve the puzzle by filling in the empty spaces with numbers completing the sequence of numbers of the predetermined grid. The player can advance the sequence of numbers horizontally across the squares on the playing board to an adjacent unblocked square, or skip one or more square in the same row. The player can also advance the sequence of numbers diagonally up or down, or skip one or more squares on the diagonal. The puzzle is completed by filling all empty squares sequentially (in ascending order) while adhering to predefined limitations on number placement. Prefilled squares, previously empty but subsequently filled squares, and blocked squares on the board cannot be skipped over to advance the sequence of numbers either horizontally or diagonally. The game ends when all the empty squares on the puzzle have been filled.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates generally to games, and more specifically to various embodiments of a competitive board game for players that require players to solve a puzzle involving numbers. 
       BACKGROUND 
       [0002]    Number games, especially puzzles involving numbers, are popular games. Many derivations of number puzzles or other number games have been developed. However, the level of difficulty and the number of unique puzzles for a game that could be developed are limited. Existing number puzzle games are either lacking in challenge or are so unduly numerically complex so as to discourage broad utilization. A number puzzle game is therefore desired that can be played by individuals having varying skill levels, with the puzzle being solved based on hints that are presented as part of the puzzle progressively at varying levels throughout the game. 
         [0003]    A slide puzzle (also termed sliding puzzle, sliding block puzzle, or sliding tile puzzle), illustrated in  FIG. 1 , comprises a flat frame and a plurality of flat interlocking, sliding tiles held within the frame. The frame has one free space to enable tile movement, such that a tile can be slid horizontally or vertically into the free space. A slide puzzle challenges a player to slide the tiles along certain routes within the frame to establish a certain end-configuration (such as arranging the numbers in a sequential order). However, the level of difficulty and the number of unique slide puzzles that can be developed are limited. 
         [0004]      FIG. 2  shows a variation of the basic slide puzzle of  FIG. 1 . The slide puzzle of  FIG. 2  comprises fifteen tiles or pieces numbered from 1 to 15 (along with a free space to enable tile movement) with the instruction to slide the pieces so that the sum of all rows and the sum of all columns and the sum of the diagonals equals 30. Such a slide puzzle is termed a magic square. The level of difficulty and the number of unique puzzles that can be developed are limited. Also, the puzzle lacks in challenge to be played once the player has initially solved the puzzle. 
         [0005]      FIG. 3  shows a logic-based number placement puzzle called Sudoku. The objective is to fill the blank spaces on a 9×9 grid so that each column, each row, and each of the nine 3×3 boxes contain the digits from 1 to 9 only one time each. The puzzle setter provides a partially completed grid. A number of unique puzzles can be developed, however the puzzles offered tend to be unduly numerically complex. 
       BRIEF SUMMARY 
       [0006]    The present invention, which may be termed a sequence number puzzle game, is an educational puzzle for developing and improving number recognition that comprises an Y×Y (e.g., 3×3, 4×4, 5×5, etc.) square-shaped playing grid of any size (the size of the playing grid is theoretically unlimited), the primary playing area being congruent squares of any size that are in contact with other congruent squares on at least two sides, thereby forming equal numbers of rows and columns, each row and column of equal numbers of squares. The playing area is designed to look similar to the shape and pattern of a crossword puzzle. Each square is either (a) prefilled with a different number selected from a sequence of numbers from 1 to N, where N is the total number of playing squares, (b) blank (i.e., empty), or (c) blocked (e.g., filled in with solid black). 
         [0007]    The player attempts to solve the puzzle by filling in the empty spaces with numbers completing the sequence of numbers of the predetermined grid. The player can advance the sequence of numbers horizontally across the squares on the playing board to an adjacent unblocked square, or skip one or more squares in the same row. The player can also advance the sequence of numbers diagonally up or down, or skip one or more squares on the diagonal. Each number entered must be, in this embodiment, on the same row as the immediately preceding number in the sequence or on a diagonal with the immediately preceding number in the sequence. The player is able to, in one move, skip one or more squares in the same row or on the diagonal as follows: (1) the player can skip one or more empty squares; (2) the player can skip one or more blocked squares; (3) the player can skip one or more squares that are prefilled with a number higher in the sequence than a number the player is currently attempting to enter; (4) the player can skip a combination of one or more empty squares, one or more blocked squares, and/or one or more squares that are prefilled with a number higher in the sequence than a number the player is currently attempting to enter. The puzzle is completed by filling all empty squares sequentially (in ascending order) while adhering to the above limitations on number placement. Squares that are prefilled with a number lower in the sequence than a number the player is currently attempting to enter and previously empty but subsequently filled squares on the board cannot be skipped over to advance the sequence of numbers either horizontally or diagonally. The game ends when all the empty squares on the puzzle have been filled. The placement of the numbers into the previously empty squares can then be compared (manually or automatically in the case of a puzzle game device or computer program product as described below) to a predetermined model solution to determine if the player solved the puzzle correctly. 
         [0008]    In one embodiment of the invention, a puzzle game comprises a playing grid and the playing grid comprises a plurality of playing squares arranged in a square grid structure of rows and columns. The plurality of playing squares comprise (a) one or more playing squares each prefilled with a different number selected from a sequence of numbers from 1 to N, where N is a total number of playing squares, (b) one or more blank playing squares, and (c) one or more blocked playing squares. In the puzzle game, the numbers in the prefilled playing squares, a placement in the matrix of the prefilled playing squares, a placement in the matrix of the blank playing squares, and a placement in the matrix of the blocked playing squares are all selected such that at least one solution to the puzzle game exists in which a user is able to: 
         [0009]    (1) fill in each blank playing square with a number from 1 to N that is different for each blank playing square and different from the numbers in the prefilled playing squares until all blank playing squares are filled; 
         [0010]    (2) fill in each blank playing square in ascending numerical order beginning with a lowest number in the sequence of numbers that is not a number in the prefilled playing squares and ending with a highest number in the sequence of numbers that is not a number in the prefilled playing squares while skipping any number in the sequence of numbers that is a number in the prefilled playing squares; 
         [0011]    (3) fill in each blank playing square such that each playing square that is filled in is, at the time the playing square is filled in, either:
       (a) immediately adjacent to and on a diagonal with a square containing a number in the sequence that immediately precedes the number being filled into the blank square;   (b) on the diagonal with the playing square containing the number in the sequence that immediately precedes the number being filled into the blank playing square and having only (i) one or more intervening blank playing square, (ii) one or more intervening playing square that is prefilled with a number that is higher in the sequence than the number being filled into the blank square, and/or (iii) one or more intervening blocked playing square;   (c) immediately adjacent to and in a same row as the playing square containing the number in the sequence that immediately precedes the number being filled into the blank playing square; or   (d) in the same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank playing square and having only (i) one or more intervening blank playing square, (ii) one or more intervening playing square that is prefilled with a number that is higher in the sequence than the number being filled into the blank square, and/or (iii) one or more intervening blocked playing square; and       
 
         [0016]    (4) if a number in the sequence that immediately succeeds the number being filled into the blank playing square is in a prefilled playing square, fill in each blank playing square such that each playing square that is filled in is, at the time the playing square is filled in, either:
       (a) immediately adjacent to and on a diagonal with a playing square containing a number in the sequence that immediately succeeds the number being filled into the blank playing square;   (b) on the diagonal with the playing square containing the number in the sequence that immediately succeeds the number being filled into the blank square and having only (i) one or more intervening blank playing square, (ii) one or more intervening playing square that is prefilled with a number that is higher in the sequence than the number being filled into the blank square, and/or (iii) one or more intervening blocked playing square;   (c) immediately adjacent to and in the same row as the playing square containing the number in the sequence that immediately succeeds the number being filled into the blank playing square; or   (d) in the same row as the playing square containing the number in the sequence that immediately succeeds the number being filled into the blank playing square and having only (i) one or more intervening blank playing square, (ii) one or more intervening playing square that is prefilled with a number that is higher in the sequence than the number being filled into the blank square, and/or (iii) one or more intervening blocked playing square.       
 
         [0021]    In addition to the puzzle game, as described above, other aspects of the present invention are directed to corresponding methods, devices, and computer program products for providing a puzzle game. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S) 
         [0022]    Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein: 
           [0023]      FIGS. 1-3  show prior art number puzzle games; 
           [0024]      FIGS. 4A-4H  show the process of solving a 3×3 sequence number puzzle, in accordance with one embodiment of the present invention; 
           [0025]      FIGS. 5A-5H  show process of solving another 3×3 sequence number puzzle, in accordance with embodiments of the present invention; 
           [0026]      FIGS. 6A-6N  show the process of solving a 4×4 sequence number puzzle, in accordance with embodiments of the present invention; 
           [0027]      FIGS. 7A and 7B  show, respectively, an initial (unsolved) 5×5 sequence number puzzle and the solution, in accordance with embodiments of the present invention; 
           [0028]      FIGS. 8A and 8B  show, respectively, an initial (unsolved) 6×6 sequence number puzzle and the solution, in accordance with embodiments of the present invention; and 
           [0029]      FIG. 9  is a schematic block diagram of device for providing a sequence number puzzle, in accordance with embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0030]    The present invention relates to sequence number puzzle games. Many specific details of preferred embodiments of the invention are set forth in the following description and in the figures to provide a thorough understanding of such embodiments. One skilled in the art, however, will understand that the present invention may have additional embodiments, or that the present invention may be practiced without several of the details described in the following description. As such, this invention should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. 
         [0031]    While embodiments of the invention will be described herein in which a player is limited to only horizontal and diagonal moves, additional embodiments of the invention may instead limit a player to only vertical and diagonal moves. 
         [0032]      FIGS. 4A-4H  show the process of solving a 3×3 sequence number puzzle, in accordance with one embodiment of the present invention.  FIG. 4A  is the initial, unsolved puzzle that may be, for example, provided on an electronic device, played on a computer accessing a website, or printed in a newspaper. As seen in  FIG. 4A , four of the nine squares are prefilled (with numbers 1, 2, 4 and 7) and one square (bottom left) is blocked. The player solves the puzzle by correctly filling in the four open spaces with numbers following the rules described above and in more detail below to complete the sequence of numbers from 1 to 8 (as only eight of the nine squares can have numbers). The player may not change any of the prefilled numbers, nor may the player enter a number into the darkened (blocked) square.  FIGS. 4B-4H  illustrate the sequence solution for the puzzle illustrated in  FIG. 4A . 
         [0033]    The following are steps for solving the puzzle illustrated in  FIG. 4A . Starting with the prefilled number ‘1’ and moving left horizontally to the ‘2’ position that is prefilled (indicated by arrow). As ‘1’ and ‘2’ are prefilled, now the player must enter ‘3’ (the next number in the sequence in ascending order) in one of the squares, and must identify which square according to the rules. The ‘3’ may only be entered into a square that is either (a) immediately adjacent to and on a diagonal with the square containing ‘2’ (i.e., the square containing the number in the sequence that immediately precedes the number being filled into the blank square); (b) on the diagonal with the square containing ‘2’ and having only one intervening blank square or only one intervening prefilled playing square on the diagonal; (c) immediately adjacent to and in a same row as the square containing ‘2’; or (d) in the same row as the square containing ‘2’ and having only one intervening blank playing square or only one intervening prefilled playing square in the same row. 
         [0034]    When deciding where to put the next number in the sequence (the ‘3’ in this case), the player must also consider the implication of the placement on subsequent numbers in the sequence. If the immediately succeeding number in the sequence to the one being filled in is a prefilled number (as is the case here, where ‘4’ is prefilled), the player must ensure that the square that is being filled in is, at the time the square is filled in, either: (a) immediately adjacent to and on a diagonal with the square containing ‘4’ (i.e., the number in the sequence that immediately succeeds the number being filled into the blank square); (b) on the diagonal with the square containing ‘4’ and having only one intervening blank playing square or only one intervening prefilled playing square on the diagonal; (c) immediately adjacent to and in the same row as the square containing ‘4’; or (d) in the same row as the square containing ‘4’ and having only one intervening blank playing square or only one intervening prefilled playing square in the same row. 
         [0035]    Thus, from the ‘2’ position, a move diagonally up to the right (illustrated by the arrow in  FIG. 4B ) and placement of the ‘3’ into the top right square (illustrated by the circle around the ‘3’ in  FIG. 4B ) is the only valid move in order for the rules to be adhered to while following the sequence in ascending order to the prefilled ‘4’ position. Other possible (but incorrect) moves from the ‘2’ position are horizontally left or diagonally down to the right. However, neither of these two steps would allow a subsequent move to the prefilled ‘4’ position, while adhering to the above rules. 
         [0036]    From the ‘3’ position, the prefilled square containing ‘4’ can be reached by moving horizontally left, skipping over an empty position (illustrated by the arrow in  FIG. 4C ). This move adheres to the above rules. From the ‘4’ position, the player can move horizontally right to the immediately adjacent empty space and fill in the empty space with the number ‘5’ (illustrated by the arrow and circle in  FIG. 4D ). This move adheres to the above rules, and is the only valid move. The only other possible move from the ‘4’ position is directly down, but that is an invalid move in this embodiment of the invention. 
         [0037]    From the ‘5’ position, the player moves diagonally down to the left to the immediately adjacent (on the diagonal) empty space and fills in the empty space with the number ‘6’ (illustrated by the arrow and circle in  FIG. 4E ). This move adheres to the above rules, and is the only possible move. From the ‘6’ position, the move diagonally down to the right to the immediately adjacent (on the diagonal) space prefilled with the number ‘7’ (illustrated by the arrow in  FIG. 4F ). This move adheres to the above rules, and is the only possible move. From the ‘7’ position, the player move horizontally right to the immediately adjacent (on the same row) empty space and fills in the empty space with the number ‘8’ (illustrated by the arrow and circle in  FIG. 4G ). This move adheres to the above rules, and is the only possible move. All the previously empty spaces are now filled in with a number, the numbers were filled in numerically ascending sequence, and in accordance with the rules. Thus, the puzzle has been completely solved. The completed puzzle is illustrated in  FIG. 4H . The completed puzzle may then be compared (manually or automatically) to a predetermined model solution (which would be identical to the completed puzzle of  FIG. 4H  if the puzzle has been solved correctly) to determine if the player solved the puzzle correctly. 
         [0038]      FIGS. 5A-5H  show process of solving another 3×3 sequence number puzzle, in accordance with embodiments of the present invention. Starting with the prefilled number ‘1’, the player must move left horizontally to the immediately adjacent (on the same row) empty space and fills in the empty space with the number ‘2’ (illustrated by the arrow and circle in  FIG. 5B ). This move adheres to the above rules, and is the only valid move. The player must then place a ‘3’ in an empty square. The player only has two possible moves—either to the immediately adjacent diagonal square or skipping an empty spot and moving to the top right empty square. If the player put the ‘3’ in the immediately adjacent diagonal square, the player could not validly move to the prefilled ‘4’ square as that would be an invalid vertical move. Thus, the ‘3’ must be placed in the top right square as illustrated by the circle and arrow of  FIG. 5C . 
         [0039]    From the ‘3’ position, the prefilled square containing ‘4’ can be reached by moving horizontally left (illustrated by the arrow in  FIG. 5D ). This move adheres to the above rules. From the ‘4’ position, the player can move horizontally left to the immediately adjacent empty space and fill in the empty space with the number ‘5’ (illustrated by the arrow and circle in  FIG. 5E ). This move adheres to the above rules, and is the only valid move. The only other possible move from the ‘4’ position is directly down, but that is an invalid move. 
         [0040]    From the ‘5’ position, the player moves diagonally down to the right to the immediately adjacent (on the diagonal) empty space and fills in the empty space with the number ‘6’ (illustrated by the arrow and circle in  FIG. 5F ). This move adheres to the above rules, and is the only possible move. From the ‘6’ position, the prefilled square containing ‘7’ can be reached by moving horizontally right to the immediately adjacent (on the same row) space (illustrated by the arrow in  FIG. 5G ). This move adheres to the above rules, and is the only possible move. All the previously empty spaces are now filled in with a number, the numbers were filled in numerically ascending sequence, and in accordance with the rules. Thus, the puzzle has been completely solved. The completed puzzle is illustrated in  FIG. 5H . The completed puzzle may then be compared (manually or automatically) to a predetermined model solution (which would be identical to the completed puzzle of  FIG. 5H  if the puzzle has been solved correctly) to determine if the player solved the puzzle correctly. 
         [0041]    There are various possibilities with regard to the number of puzzles that can be generated for each size grid. The number of puzzles that can be generated and the level of difficulty increases as the number of grids increase.  FIGS. 5A-5H  show a solution of a 3×3 square-shape grid different than that of the 3×3 grid of  FIGS. 4A-4H . Additional embodiments are shown in  FIGS. 6-9 .  FIGS. 6A-6N  show an example of a step-by-step solution for sequence number puzzle that is a 4×4 square-shape grid (the solution will not be described in detail, as the process is similar to that of the 3×3 puzzle above).  FIGS. 7A and 7B  show, respectively, an initial (unsolved) 5×5 sequence number puzzle and the solution (the solution will not be illustrated or described in detail, as the process is similar to that of the 3×3 puzzle above).  FIGS. 9A and 9B  show, respectively, an initial (unsolved) 6×6 sequence number puzzle and the solution (the solution will not be illustrated or described in detail, as it is similar to that of the 3×3 puzzle above). 
         [0042]    In the above described embodiments of the invention, a number may only be entered into a square that is either (a) immediately adjacent to and on a diagonal with the square containing the number in the sequence that immediately precedes the number being filled into the blank square; (b) on the diagonal with the square containing the number in the sequence that immediately precedes the number being filled into the blank square and having only one intervening blank square or one intervening prefilled playing square on the diagonal; (c) immediately adjacent to and in a same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank square; or (d) in the same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank square and having only one intervening blank playing square or one intervening prefilled playing square in the same row. However, in one alternative embodiment, a number may only be entered into a square that is either (a) immediately adjacent to and on a diagonal with the square containing the number in the sequence that immediately precedes the number being filled into the blank square; (b) on the diagonal with the square containing the number in the sequence that immediately precedes the number being filled into the blank square and having only one intervening blank square on the diagonal; (c) immediately adjacent to and in a same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank square; or (d) in the same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank square and having only one intervening blank playing square in the same row. In another alternative embodiment, a number may only be entered into a square that is either (a) immediately adjacent to and on a diagonal with the square containing the number in the sequence that immediately precedes the number being filled into the blank square; (b) on the diagonal with the square containing the number in the sequence that immediately precedes the number being filled into the blank square and having one or more intervening blank squares on the diagonal; (c) immediately adjacent to and in a same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank square; or (d) in the same row as the square containing the number in the sequence that immediately precedes the number being filled into the blank square and having one or more intervening blank playing squares in the same row. While these alternative embodiments of the invention limit a player to only horizontal and diagonal moves, additional alternative embodiments of the invention may instead limit a player to only vertical and diagonal moves. 
         [0043]    From the description above, a number of advantages of some embodiments of the sequence number puzzle become evident: the puzzle can be easily generated. A puzzle creator can, following the rules, fill in the predetermined square-shape grid area until all the squares are filled with the sequence of numbers or no moves can be made. In the case where no more moves are possible, the remaining empty squares can be filled in to become blocked squares. The final puzzle can be created by removing some of the filled in numbers. 
         [0044]    The sequence number puzzle can also be generated using an algorithm. The level of difficulty can be varied for each puzzle, to provide a challenge to players of all levels. The sequential numbering process used to solve the puzzle applies for all square grid combinations. 
         [0045]    The sequence number puzzle of the various embodiments can offer a source of numerous puzzles for different levels of game players. The puzzle can be made available to players via numerous methods including but not limited to paper, books, on a disc for use on personal computers, web-based, or via mobile a mobile device (e.g., mobile telephone, PDA, dedicated handheld game device). 
         [0046]    Furthermore, the sequence number puzzle game has additional advantages in that it permits the creation of puzzle in a variety of grid sizes using both the average skill of a player or by computer software; it permits an immediate change in one puzzle solution to create another puzzle with a different solution; and it provides a source of numerous options to enjoy varying playing levels. 
         [0047]    Referring now to  FIG. 9 , a schematic block diagram of a sequence number puzzle device is illustrated in accordance with embodiments of the present invention. The device  10  comprises: a controller  12 ; software code  16  (stored in memory  14 ); a display element  18  (comprising, e.g., a liquid crystal display); and a user input element  20  (comprising, e.g., a touch screen responsive to a stylus). A large number of puzzles (along with corresponding solutions) may be stored in memory and activated randomly upon receipt of a user command. The controller  12 , according to software code  16 , retrieves one of the puzzles from memory, displays the puzzle on the display element, receives user input of numbers into empty spaces (via the user input element  20 ), compares user input to the stored solution to determine the correctness of the user input (either as each number is input or after all empty spaces have been filled), and provides status to the user (via the display element and/or via an audio speaker (not illustrated)). The controller may be comprised of a microprocessor, dedicated or general purpose circuitry (such as an application-specific integrated circuit or a field-programmable gate array), a suitably programmed computing device, or any other suitable means for controlling the operation of the device. 
         [0048]    As will be appreciated by one skilled in the art, the present invention may be embodied as a system, method or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present invention may take the form of a computer program product embodied in any tangible medium of expression having computer-usable program code embodied in the medium. 
         [0049]    Any combination of one or more computer usable or computer readable medium(s) may be utilized. The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, 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 optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device. Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc. 
         [0050]    Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;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&#39;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). 
         [0051]    The present invention is described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. 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 data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0052]    These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
         [0053]    The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus 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. 
         [0054]    The flowchart and/or block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative 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. 
         [0055]    “Computer” or “computing device” broadly refers to any kind of device which receives input data, processes that data through computer instructions in a program, and generates output data. Such computer can be a hand-held device, laptop or notebook computer, desktop computer, minicomputer, mainframe, server, cell phone, personal digital assistant, other device, or any combination thereof. 
         [0056]    The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. 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, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. 
         [0057]    The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.