Monolithic scoring systems are available for bowling systems that connect a central lane computer to a pinsetter, an overhead display, a touchscreen display, and a keyboard. The scoring systems utilize several types of signals that are transmitted by different types of communication lines. Because of the required length of a bowling lane, a significant number of the communication lines are lengthy, spanning up and down the bowling lane.
Lengthy communication lines introduce disadvantages in several areas of communication in a bowling center. Communication between the overhead display and the central lane computer introduces electrical noise and video noise, which can render the communication lines incompatible with high definition video. Communication between the pinsetter and the central lane computer also introduces mechanical noise from the pinsetters into the scoring system. Further, timing critical in the pinsetter operation may be disrupted by other devices connected to the scoring system. Finally, the communication lines between the central lane computer and the touchscreen display and/or the overhead display and the central lane computer require expensive video cables.
Overview
Embodiments of the present invention are defined by the claims, and nothing in this section should be taken as a limitation on those claims.
By way of introduction, the below embodiments relate to a method and system for distributed devices in a scoring system of a bowling center. In one embodiment, a distributed bowling center system includes two or more computing devices associated with respective bowling center peripherals. The bowling center peripherals are any electronic or mechanical device in a bowling center capable of detecting a bowling event or receiving input. Example bowling center peripherals include a pinsetter, a monitor, a bumper, a keypad, or a touchscreen. The bowling center peripherals are configured to perform at least one bowler center function. The computing devices are configured to execute at least one process related to a bowler center function of the associated peripheral. Each computing device may be located physically closer to the peripheral than the other computer device. The computing devices are in communication via a network. The computing devices are configured to access a process map defining the communication, which is responsive to the at least one bowler center function.
Other embodiments are possible, and each of the embodiments can be used alone or together in combination. Accordingly, various embodiments will now be described with reference to the attached drawings.
In general, the following embodiments describe a distributed scoring system for a bowling center. In one embodiment, the distributed scoring system or distributed high-definition scoring system is compatible with high-definition video because the communication lines for video are within an acceptable length for high-definition video. The distributed scoring system includes multiple computing devices, which are physically distributed apart from one another. The multiple computing devices execute processes through a communication protocol that simplifies and abstracts the operation and configuration of the computing devices. Some of the processes may be executed interchangeably at different computing devices.
The distributed scoring system includes multiple peripherals, such as pinsetters, monitors, bumpers, keypads, touchscreens, and a serial local area network (LAN), each of which is configured to perform a bowling center function. Because the computing devices are distributed, the computing devices may be placed closer to their respective scoring system peripherals, which allows for shorter communication lines. Shorter connection lines are less expensive, reduce electrical and mechanical noise, and are capable of higher bandwidth.
In one embodiment, the distributed scoring system defines the communication protocol through a process map, which defines communication between computing devices and/or relates processes, peripherals, and computing devices. The communication protocol allows for configuration of the distributed scoring system in real-time, simplifying the addition or removal of hardware devices or peripherals. Further, the distribution of hardware devices also allows for fewer failure nodes, enabling real-time recovery from failures.
Before turning to these and other embodiments, the following section describes exemplary host and storage devices. It should be noted that these exemplary host and storage devices are merely examples and that other architectures can be used.
Exemplary Distributed Scoring System
Turning now to the drawings,
The overhead display 14 may be a liquid crystal display (LCD) panel, light emitting diode (LED) screen, cathode ray tube (CRT), or another type of display. The overhead display 14 may be a television including a tuner and speakers.
The pinsetter 15 may be any type of pinsetter. Example types of pinsetter include the A2 pinsetter, the GS pinsetter, or a string pinsetter. The A2 pinsetter includes a sheet metal enclosure and pin chutes that are used to transfer the pins from to the deck for transfer to the lane. The GS pinsetter includes a plurality of belts to transfer the pins to a vertical elevator for placement to the lane. The string pinsetter resets pins by pulling the pins up by a cord attached to each pin.
The bumper 16 may be part of an automatic bumper system. For example, the bumper 16 may be a plastic or metal rail that extends the length of the bowling lane. In a retracted state, the bumper 16, is out of sight below the bowling lane, below the gutter, or between gutters. In an active state, the bumper 16 extends above the gutter to block bowling balls from entering the gutter.
The touchscreen 17 may be a LCD panel, LED screen, CRT, or another type of display. The touchscreen 17 may be resistive or capacitive. The touchscreen 17 may be sole input device or the touchscreen may be combined with the keypad 18. In addition, the input device may include one or more buttons, a mouse, a stylist pen, a trackball, a rocker switch, a touch pad, a voice recognition circuit, or other device or component for inputting data. The keypad 18 also may be standalone without a touchscreen or any type of display. The serial LAN may be a communication line configured to operate under the RS-232 standard using serial binary single-ended data and control signals or under universal serial bus (USB) standard.
The bowling center includes multiple bowling lanes. The bowling lanes may be grouped individually, in pairs, in groups of four, or another number for each distributed scoring system.
The computing device executes bowling center processes assigned to the computing device. A bowling center process is software or logic configured to perform a bowling center function. A bowling center function may be specific to a peripheral or a set of peripherals. Alternatively, a bowling center function may be performed internally to a computing device and without relationship to a peripheral.
As shown in
A curtain wall computing device 211 is connected to one or more pinsetters 201. For example, each curtain wall computing device 211 may host a pair of pinsetters 201. In addition or in the alternative, the curtain wall computing device 211 may be connected to a camera 230. The camera 230 is a peripheral that detects which pins remain after a ball is thrown. The camera 230 may be a charge coupled device (CCD) scanner. The camera 230 may take a picture of the pin deck or pit area, which is analyzed either internally at the camera 230 or by the curtain was computing device 211. The analysis may detect pins by brightness of particular areas in the picture. The pinsetters 211 may be directly connected to the curtain wall computing device 211b or indirectly connected through the camera 230.
In one alternative, the curtain wall computing devices 211 are omitted. In this example, the pinsetters 211 and the camera 230 interface directly with the network 221. Processes related to the curtain wall computing devices 211 are distributed to other computing devices such as the overhead computing device 205.
An overhead computing device 205 is connected to one or more overhead monitors 203. The overhead computing device 205 is configured to run processes related to the display on the overhead monitors 203. The overhead computing device 205 may be configured to process and transmit high definition video to the overhead monitors 203. The overhead computing device 205 may be configured to select television, DVD, or VCR inputs for the overhead monitors 203.
A bowler area computing device 209 is connected to a touchscreen display 207, a keypad 208, or both. The bowler area computing device 209 is configured to run processes related to the calculation of bowling scores, input processes associated with the input device, and output processes.
Other types of computing device may include a back office computing device, a desk area computing device, and/or a test area computing device. The back office computing device may be configured to run processes related to the management of the bowling center such as employee scheduling or customer reservations. The desk area computing device may run processes related to the point of sale system of the bowling center. The test area computing device may be a configurable device configured to test the scoring network device and other computing devices.
While not to scale,
The communication lines of the distributed scoring system may include up to four or more different types of communication lines, which may be cables. The backbone of the scoring network may be at Ethernet network 221, which is shown in bold dashed lines in
A process map defines communication between the computing devices on the scoring network. More specifically, the process map is a data construct that describes relationships between the peripherals, devices, and processes within the distributed scoring system. The process map associates a network address on the scoring network to an identity of each computing device. The process map may be implemented as a lookup table stored in a memory, which can be queried with an identity of a computing device and returns a network address and/or a port number. The identity of a computing device may comprise a device type and a device number. The device type may be based on location or function. The memory storing the process map may be stored locally in each computing device or in a central location. The central location may be any one of the computing or hosted in a database or externally at a location on the Internet.
Through the process map, any bowling center process running on any of the computing device can call computing devices by type and number with no knowledge of the bowling center's configuration or the location of the computing devices on the scoring network. The actual address of the computing device may be resolved at the time that the bowling center process runs, which may be referred to as real time. The bowling center process may be triggered by the bowling center function at the peripheral. Accordingly, the computing device accesses the process map in order to facilitate communication between the computing devices and responsive to the bowling center function.
The configuration of the distributed scoring network can be changed, reconfigured, or installed without requiring any changes to the computing devices or the bowling center processes that run on the computing devices. The process map may be manipulated to account for changes, reconfigurations, or installations of the distributed scoring network.
The computing devices generate scoring system packages using the process map. A scoring system package includes network address for the computing device that generated the scoring system package, a network address for the computing device that the scoring system package is addressed to, and at least one bowling center command.
Exemplary Computing Device
The controller 303 is configured to execute at least one bowling center process associated with bowling center peripherals. The bowling center process may be triggered by a bowling event, which may be detected at the same or a different bowling center peripheral. One example bowling event is a ball entering the pin deck, which may or may not involve the ball hitting pins. The detection of the remaining pins is a bowling center function that triggers one or more processes. One example bowling center process triggered by the ball entering the pin deck is the pinsetter process.
The communication interface 305 is configured to connect the computing device 300 and any bowling center peripherals associated with the computing device 300 to the scoring network, which may be the Ethernet network 221. The controller 303 accesses the process map, which defines communication between the computing device 300 and other computing devices. The communication may be in response to the bowling event. The process map is a roadmap to the scoring network. The process map associates process types and process numbers to addresses on the scoring network. Alternatively or in addition, the process map associates computing device types and computing device numbers to addresses on the scoring network.
The bowling center processes may be software elements that control or receive data from the bowling center peripherals. The bowling center processes collaborate to control the logical operation of the distributed scoring system. The bowling center processes are classified by type. Example types include a scoring service process, a display process, a monitor control process, a serial communication process, a pinsetter process, a keypad process, a bumper process, a scoring process, and a device control process.
The scoring service process interfaces the distributed scoring system to a related system in the bowling center. The related system may be a point of sale system, a management system, or a reservation system.
The display system process displays data on a display. The display system process may be executed by the overhead computing device 205 to display data on the overhead monitor 203. The display system process may be executed on the bowler area computing device 209 to display data on the touchscreen 207. The display system process may define what data is displayed and the formatting. The data may include score sheets, menus, messages, advertisement, roster lists or other data.
The monitor control process controls a monitor such as the overhead monitor 203. The monitor control process provides commands such as power control (e.g., on/off), channel selection. The commands may be specific to the type of monitor. Therefore, the monitor control process executed by overhead computing device 205a may be different that the monitor control process executed by overhead computing device 205b.
The serial communication process manages a serial channel of a computing device. Any of the computing devices may be configured to communicate via a serial channel. Examples includes the serial cables 223 that provide communication line between the pinsetters 201 and the curtain wall computing device 211, between the keypads 207 and the bowler area computing device 209, and between bumpers 16 and the bowler area computing device 209 or the bumper computing device.
The pinsetter process provides a logical interface to pinsetter 201. The keypad process provides the logical key presses from keypad 208. The pinsetter process and the keypad process interact with the serial communication process. The pinsetter process and the keypad process may be purely logical and input and output data to the Ethernet 223. Therefore, the pinsetter process and the keypad process may run on any of the computing devices. In one example, the pinsetter process and the keypad process, respectively, run on the same computing device that executed the associated serial communication process.
The bumper process provides an interface for bumpers 16, which typical operate in pairs, one for each of the gutters on the bowling lane. The bumper process may also be a logical process and can be executed by any of the computing devices.
The scoring process computes scores and manages a bowling session. The scoring process receives data indicative of pins knocked down from the pinsetter process. The scoring process includes calculations of the bowling score. The scoring process may be executed by the bowler area computing device 209 or any of the computing devices. The scoring process may include other manipulations of the score sheet such as the number of players, averages, names, and handicaps.
The device control process manages the computing device itself. The device control process provides functions such as start, stop, restart, standby, or other functions to the computing device.
Each of the bowling center processes may be triggered by another bowling center process or by a bowling event. A bowling event is an event that is detected by a peripheral. The detection may be by a sensor or an input from the user. Example bowling events include a ball being thrown, an object passing the foul line, a key pad entry, a touchscreen entry, a reset button, a help button, or any user input.
The bowling event of the ball being thrown, or passing the pin deck, may trigger multiple bowling center processes in series or parallel. The bowling center process triggered by the ball being thrown may include pinsetter processes such as picking up the remaining pins, clearing the pin deck, replacing the remaining pins, or clearing the remaining pins, as appropriate. The bowling center process triggered by the ball being thrown may include camera processes to detect the remaining pins, which may trigger display processes to show which pins remain, and scoring processes to update the score sheet with the pinfall.
The bowling event of a foul at the foul line may trigger the scoring process to score zero even when pins are knocked down. The foul may be detected by optically, for example, by an optical emitter and receiver. The optical emitter may transmit a beam across the bowling line. Interruption of the beam, for example by the foot of a bowler, results in the foul.
The bowling of the key pad entry or touchscreen entry may trigger the keypad process and display processes to configure or adjust the bowling lineup and other options. The reset button may trigger the pinsetter process to reset the pins. The help button may trigger front desk processes.
The computing devices generate scoring system packages using the process map. A scoring system package is a data construct that provides for communication between bowling center processes. A scoring center package includes a network address for the computing device that generated the scoring system package, which may be referred to as a source computing device and a network address for the computing device that the scoring system package is addressed to, which may be referred to as a destination computing device. In addition, the scoring system package includes package items. A package item includes a type value and includes at least one of a bowling center command and data.
The scoring system package may be in a structured format such as a markup language such as Extensible Markup Language (XML). An example scoring system package is:
In the example above, the type of the source process is a display process and the number of the source process is 12. The type of the destination process is a keypad process and the number of the destination process is 12. In one example, this corresponds to the bowler area computing device associated with lane 12. The source process and destination process may be associated with the same lane but could be different lanes. Another item of the scoring package is a ping request. The ping request requests configuration information (e.g., version, build date). The address and port in the scoring package is accessed from the process map.
The workstation 310 is a computer that may be connected and disconnected to any of the computing devices 300 or the scoring network to install or configure the distributed scoring system. The workstation 310 may be configured to edit the process map.
The memory 301 may store computer executable instructions for generating and executing bowling center processes. The controller 303 may execute computer executable instructions stored in the memory 301. The computer executable instructions may be included in computer code. The computer code may be written in any computer language, such as C, C++, C#, Java, Pascal, Visual Basic, Perl, Hypertext Markup Language (HTML), JavaScript, assembly language, extensible markup language (XML) and any combination thereof.
The computer code may be stored in one or more tangible media or one or more non-transitory computer readable media for execution by the controller 301. A computer readable medium may include, but is not limited to, a floppy disk, a hard disk, an application specific integrated circuit (ASIC), a compact disk CD, other optical medium, a random access memory (RAM), a read only memory (ROM), a memory chip or card, a memory stick, and other media from which a computer, a processor or other electronic device can read.
The controller 303 may include a general processor, digital signal processor, application specific integrated circuit, field programmable gate array, analog circuit, digital circuit, server processor, combinations thereof, or other now known or later developed processor. The controller 303 may be a single device or combinations of devices, such as associated with a network or distributed processing. Any of various processing strategies may be used, such as multi-processing, multi-tasking, parallel processing, remote processing, centralized processing or the like. The controller 303 may be responsive to or operable to execute instructions stored as part of software, hardware, integrated circuits, firmware, micro-code or the like.
The communication interface 305 may include any operable connection. An operable connection may be one in which signals, physical communications, and/or logical communications may be sent and/or received. An operable connection may include a physical interface, an electrical interface, and/or a data interface. An operable connection may include differing combinations of interfaces and/or connections sufficient to allow operable control. For example, two entities can be operably connected to communicate signals to each other or through one or more intermediate entities (e.g., processor, operating system, logic, software). Logical and/or physical communication channels may be used to create an operable connection. As used herein, the phrases “in communication” and “coupled” are defined to mean directly connected to or indirectly connected through one or more intermediate components. Such intermediate components may include both hardware and software based components.
The memory 301 may be any known type of volatile memory or a non-volatile memory. The memory 301 may include one or more of a read only memory (ROM), dynamic random access memory (DRAM), a static random access memory (SRAM), a programmable random access memory (PROM), a flash memory, an electronic erasable program read only memory (EEPROM), static random access memory (RAM), or other type of memory. The memory 301 may include an optical, magnetic (hard drive) or any other form of data storage device.
Exemplary Operational Processes
The ball 420 is the bowling event that is detected either by camera 230, an optical sensor at the bowling pins, or a mechanical sensor behind the bowling pins. The detection of the ball 420 is the bowling center function at the pinsetter peripheral 201b, which is the pinsetter associated with lane 2. The curtain wall computing device 211a for lane 2 receives data indicative of the bowling center function and executes the corresponding bowling center processes.
In the example shown in
The serial communication process 401, which is assigned a number of 1 because lanes one and two share the serial communication process 401. The serial communication process 401 processes the serial information from the pinsetter 201b and forms the serial information into a first scoring package 407. The first scoring package 407 includes data indicative that a ball was detected. The data may be in a data format specific to the type of pinsetter.
The pinsetter process 403 receives the first scoring package 407. The pinsetter process reformats the data specific to the pinsetter into a second scoring package 409 including package items such as ball speed, ball number (first, second, or third ball of the frame), and pins standing.
The second scoring package 409 is sent to the scoring process 405. The scoring process 405 calculates the resultant score for the current bowling based on the package items in the second scoring package 409. The scoring process 405 generates a third scoring package 411 including score sheet package items.
The third scoring package 411 is sent to the display process, which is assigned number 2. The communication between the curtain wall computing device 211a and the overhead computing device 205b is facilitated by the process map. The communication is, at least indirectly, responsive to the bowling center event of the ball hitting the pins and the bowling center function of the pinsetter peripheral detection the pinfall.
The display process converts the score sheet package items into visual items for display on the overhead monitor 203b, which is assigned to number 2. The visual items may include score sheets, videos in celebration of good scores, or instructional videos or images for the subsequent ball based on the remaining pins. As shown by box 404, the display process 413 may be executed by the overhead computing device 205b assigned to number 2. Because of the distributed nature of the scoring system any of the processes may be executed by any of the computing devices.
At S103, the distributed computing device executes a bowling center process. The bowling center process may be a scoring service process, a display process, a monitor control process, a serial communication process, a pinsetter process, a keypad process, a bumper process, a scoring process, or a device control process. The distributed computing device may be associated with the particular bowling center event. For example, the distributed computing device may host the peripheral that detected the bowling center event. Each of the distributed computing devices may be physically located closer to peripherals associated with or hosted by the respective distributed computing device.
At S104, the distributed computing device accesses a process map configured to associate the bowling center process with a second distributed computing device and to define communication between the distributed computing device and a second distributed computing device. The communication defined by the process map is responsive to the bowling event or a previous bowling center process, which ultimately was responsive to a bowling center event. The process map describes relationships between the peripherals, devices, and processes within the distributed scoring system. For example, the process map associates an Internet protocol address or Ethernet address to an identity of each distributed computing device.
The identity of each distributed computing device may be a unique alphanumeric value that uniquely identifies the distributed computing device with respect to all other devices on the distributed scoring system. The identity of each distributed computing device may include a type value and a lane value. The type value may indicate the location of the distributed computing device (e.g., curtain wall, overhead, bowler area). The lane value indicates which lane is associated with the distributed computing device. Lanes may be grouped individually, in pairs, or in groups of four. The memory storing the process map may be stored locally in each distributed computing device or in a central location such as database 320. The central location may be any one of the computing or hosted in a database or externally at a location on the Internet.
The distributed computed device may also generate a scoring system package that defines the bowling center process as between the network address of the distributed computing device and a network address of the second distributed computing device. The second distributed computing device executes a second bowling center process at the second computing device in response to receipt of the scoring system package.
In one alternative, the example embodiments above are combined with the embodiments described in U.S. patent application Ser. No. 13/413,035 titled Mobile Scoring System Control, filed Mar. 6, 2012, by Brandon J. Meigs and Gary A. Brouwers, which is hereby incorporated by reference.
It is intended that the foregoing detailed description be understood as an illustration of selected forms that the invention can take and not as a definition of the invention. It is only the following claims, including all equivalents, that are intended to define the scope of the claimed invention. Finally, it should be noted that any aspect of any of the preferred embodiments described herein can be used alone or in combination with one another.
Number | Name | Date | Kind |
---|---|---|---|
4824109 | Cervantes | Apr 1989 | A |
4974161 | Cullen | Nov 1990 | A |
5618238 | Kruse et al. | Apr 1997 | A |
5709607 | Mowers et al. | Jan 1998 | A |
6599199 | Hapshie | Jul 2003 | B1 |
6623369 | Shea | Sep 2003 | B1 |
6764410 | Apple et al. | Jul 2004 | B2 |
6912432 | Shea | Jun 2005 | B1 |
7025687 | Bouchard | Apr 2006 | B2 |
7037198 | Hameen-Anttila | May 2006 | B2 |
7435184 | Tsujita | Oct 2008 | B1 |
8066572 | Timmons et al. | Nov 2011 | B1 |
8302015 | Krishnan et al. | Oct 2012 | B2 |
20020010032 | Stiteler | Jan 2002 | A1 |
20020016209 | Bates | Feb 2002 | A1 |
20020147514 | Apple et al. | Oct 2002 | A1 |
20030033324 | Golding | Feb 2003 | A1 |
20050101397 | Bouchard | May 2005 | A1 |
20050164797 | Jacover | Jul 2005 | A1 |
20050288115 | Popielarz et al. | Dec 2005 | A1 |
20060259564 | Stark et al. | Nov 2006 | A1 |
20080171607 | Minard et al. | Jul 2008 | A1 |
20090070222 | Kestenbaum | Mar 2009 | A1 |
20090143883 | Pines et al. | Jun 2009 | A1 |
20090172076 | Dunbar | Jul 2009 | A1 |
20090177776 | Denker et al. | Jul 2009 | A1 |
20100046443 | Jia et al. | Feb 2010 | A1 |
20100134687 | Vaioli | Jun 2010 | A1 |
20110034261 | Kawaguchi | Feb 2011 | A1 |
20120010930 | Langdon | Jan 2012 | A1 |
Entry |
---|
“ClayTracker-Skeet & Sporting Clays Scorekeeper for iPhone,” Expogo, Inc., http://download.cnet.com/ClayTracker-Skeet-Sporting-Clays-Scorekeeper, accessed Oct. 11, 2011. |
“Bowling Buddy Stats Tracker,” Whole Brain Studios, http://itunes.apple.com/app/bowling-buddy-stats-tracker/id348535923?mt=8, accessed Oct. 21, 2011. |
“Bowling Scoreboard”, raketenpioniere, http://itunes.apple.com/app/bowling-scoreboard/id313837528?mt=8, accessed Oct. 21, 2011. |
“Bowling Score,” castillasoft, http://itunes.apple.com/app/bowling-score/id408226455?mt=8, accessed Oct. 21, 2011. |
“Duo Installation Instructions & Reference Guide,” Computer Score Computer Scoring Systems, Jan. 12, 2012. |
“Center Command, Version 3, Operations Manual,” Computer Score Computer Scoring Systems, Dec. 7, 2011. |
“Qubica Worldwide, VDB Automatic Scoring System, Installation Manual,” Oct. 2005. |
“Brunswick, Vector-Plus Center Network System,” accessed Nov. 15, 2011. |
“Brunswick, Bowling Center Products,” accessed Nov. 15, 2011. |
Office Action for U.S. Appl. No. 13/413,035, dated Feb. 15, 2013, 15 pages. |
International Search Report and Written Opinion for PCT/US2013/026636, dated Mar. 14, 2013, 10 pages. |
International Search Report and Written Opinion for PCT/US2013/026637, dated Apr. 26, 2013, 15 pages. |
Office Action for U.S. Appl. No. 13/413,035 dated May 29, 2013, 13 pages. |
Office Action for U.S. Appl. No. 13/413,035 dated Sep. 19, 2013, 13 pages. |
Notice of Allowance for U.S. Appl. No. 13/413,133 dated Oct. 4, 2013, 11 pages. |
Notice of Allowance for U.S. Appl. No. 13/413,035 dated Mar. 4, 2014, 17 pages. |
Number | Date | Country | |
---|---|---|---|
20140115026 A1 | Apr 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13413133 | Mar 2012 | US |
Child | 14142515 | US |