[go: up one dir, main page]

WO2025240547A1 - Combined leaderboard for heterogeneous data - Google Patents

Combined leaderboard for heterogeneous data

Info

Publication number
WO2025240547A1
WO2025240547A1 PCT/US2025/029249 US2025029249W WO2025240547A1 WO 2025240547 A1 WO2025240547 A1 WO 2025240547A1 US 2025029249 W US2025029249 W US 2025029249W WO 2025240547 A1 WO2025240547 A1 WO 2025240547A1
Authority
WO
WIPO (PCT)
Prior art keywords
timer
data
leaderboard
server
native
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/US2025/029249
Other languages
French (fr)
Inventor
Shane GAU
Steven Leo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PAR Technology Corp
Original Assignee
PAR Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PAR Technology Corp filed Critical PAR Technology Corp
Publication of WO2025240547A1 publication Critical patent/WO2025240547A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C1/00Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services

Definitions

  • timer systems are used to measure the time expended by retail employees in receiving and executing orders for customers. These timers are common in restaurants such as drive-through restaurants and can measure the performance of various tasks.
  • a method includes receiving, at a server, first timer data generated by a first timer system.
  • the first timer system has a first native data format.
  • the method further includes importing, at the server, the received first timer data into a database.
  • the method further includes generating, at the server, a representation of a leaderboard including the first timer data.
  • the method further includes sending the representation of the leaderboard to a leaderboard monitor of a second timer system.
  • the second timer system has a second native data format.
  • the second native data format is different from the first native data format.
  • the method further includes receiving, at the server, the second timer generated by the second timer system.
  • the method further includes importing, at the server, the received second timer data into the database.
  • Generating the representation includes generating the representation of the leaderboard including the first timer data and the second timer data.
  • the method further includes sending the representation of the leaderboard to a leaderboard monitor of the first timer system.
  • the first native data format includes a first plurality of fields.
  • the second native data format includes a second plurality of fields. One of the first plurality of fields is different from any of the second plurality of fields.
  • receiving the first timer data further includes receiving the first timer data further includes receiving the first timer data from a database connected to the server over a network.
  • the database is configured to receive and store the first timer data from the first timer system.
  • receiving the second timer data further includes receiving the second timer data from a database connected to the server over a network.
  • the database is configured to receive and store the second timer data from the second timer system.
  • Fig. 1A is an architectural diagram of a system for providing a combined leaderboard for multiple timer locations according to embodiments of the present disclosure.
  • Fig. IB is a block diagram illustrating an alternative method of providing a leaderboard.
  • FIG. 2 is a flowchart illustrating a method of updating a store leaderboard according to embodiments of the present disclosure.
  • Fig. 3 is a flowchart illustrating a process for adding timer data to a leaderboard according to embodiments of the present disclosure.
  • Fig. 4A is a flowchart illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure.
  • Fig. 4B is a flowchart illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure.
  • Fig. 5A is a block diagram of a combined leaderboard according to embodiments of the present disclosure.
  • Fig. 5B is a block diagram of a combined leaderboard according to embodiments of the present disclosure.
  • Fig. 6 is a block diagram depicting a computing node according to embodiments of the present disclosure.
  • Retail establishments use timer systems to measure the time expended by retail employees in receiving and executing orders for customers.
  • Such retail timer systems are installed at individual locations (e.g., restaurants, drive-through restaurants, drive-through pharmacies, other drive-through locations, other retail locations, etc.) based on the layout of the location.
  • various sensors can be installed to determine metrics such as: a. arrival of a car at the location time, b. pre-menu wait time, c. order time, d. cashier time, e. the time for the customer to drive to the pickup window, f. order fulfilment time, and/or g. total time at location.
  • sensors are installed at the drive-through location to enable determining the above metrics.
  • These sensors can include video sensors, pressure sensors installed in the ground/pavement/floor, radar sensors, lidar sensors, audio sensors, radiofrequency (RF) sensors, or a digital sensor that determines a customer’s presence via an application on the customer’s phone (e.g., via a WiFi, Bluetooth, etc. connection).
  • RF radiofrequency
  • timer data across multiple locations can only be accumulated and accessed by a leaderboard of the same brand as the timer systems (e.g., only if all of the timers are from the same company).
  • a leaderboard of the same brand as the timer systems
  • timer data there is no general standard for timer data to be collected and analyzed in a separate system.
  • the non-uniformity of data formats in timer systems limits competition in the field of timer technology because a business cannot test timer systems of alternative brands at certain locations without losing access to viewing the metrics of those certain locations in a combined timer leaderboard.
  • a unified leaderboard system that can combine and analyze data gathered from timers from different brands.
  • these timers from different brands deliver data in different native formats.
  • these timers deliver data in a manner that is not interoperable. Therefore, the present disclosure provides the advantage of allowing business owners to mix different types of timers across multiple locations while also being able to view all timer data in a single leaderboard.
  • the architectures of alternative systems require operators of timer systems to have isolated data pools because leaderboards only allow a single-brand’s data to be collected and displayed.
  • brands of drive-through timer systems operate in silos relative to other brands of timer systems. In other words, they operate with a lack of interoperability to other brand’s timers.
  • Each timer system outputs a different native format of timer data that is not compatible with other timer system’s leaderboards.
  • the alternative timer systems of different brands operating in such silos, or having a lack of interoperability hinders the seamless exchange of leaderboard data across different systems.
  • a unified leaderboard system presents holistic, comparative analysis that enhances decision-making and operational efficiency for the business.
  • operators of timer systems can benefit from the flexibility of choosing different timers for different locations.
  • operators can experiment with new timer systems or timer systems from other brands, knowing that adopting a new timer in one store does not result in data blind spots.
  • Stores venturing into new timers can still view data from other branches and vice versa, ensuring uninterrupted visibility and continuous data-driven decision-making across all locations.
  • the present disclosure provides systems and methods for enabling other timers to integrate their data seamlessly into a single leaderboard system.
  • methods are provided to combine data of any timer into a common format of a single leaderboard, thereby establishing a universal protocol for all timers.
  • the unified leaderboard system provides several advantages over alternative systems. First, operators can use newer, advanced technologies without losing a unified view of their timer data across all locations. Second, the unified leaderboard system aggregates data from various timer brands and a displays comprehensive view, thereby facilitating informed decision-making. Third, the unified leaderboard system increases efficiency by allowing operators to identify best practices and areas of improvement more effectively with consolidated data views.
  • the unified leaderboard system encourages innovation because operators are more likely to experiment with new timer solutions with data continuity across multiple timer brands and timer systems across all locations.
  • the unified leaderboard system provides continuous visibility by keeping all stores interconnected regardless of the timer brand in use, thereby ensuring no data blind spots and promoting a unified operational approach.
  • the leaderboard adds and groups stores in response to a request.
  • the leaderboard adds stores to a database that is part of the leaderboard system.
  • stores are added by manually entering store details into the system, however other modes of entry can be employed.
  • once the stores are entered into the database they can be grouped according to information about the store (e.g., by corporation, owner, location, sub-location, store type, size of store, etc.).
  • a franchisee may have 10 restaurants/ stores for a particular corporation. Those stores can be grouped that particular corporation, and also grouped for the franchisee. Therefore, in some embodiments, the timer data of the 10 restaurants/stores can be displayed on a leaderboard of the particular corporation, together with other franchisees, and/or a leaderboard of the franchisee. In some embodiments, the groups for the corporation, franchisee, or both can be updated with the addition or removal of restaurants/stores. [0030] In some embodiments, the system populates the leaderboard with timer data of the added stores. The leaderboard is available for users to view. The leaderboard can display timer system data and statistics derived from the same, as well as additional provided data such as revenue of the store. The leaderboard allows users to visualize how different stores are doing in comparison to others. In some embodiments, the leaderboard ranks store performances according to timer data, statistics derived from that timer data, or other provided information.
  • the unified leaderboard system can import store data with a table, such as a comma-separated values (CVS) file, Microsoft® Excel file, etc., or import store data via an application programming interface (API). Therefore, instead of manually entering details of each store, store information can be uploaded as a batch.
  • batch uploading saves user time and reduces the possibility of errors that come with manual data entry.
  • batch uploading can receive store data and timer data from third-party data warehouses.
  • a user interface allows users to import stores into the database.
  • the users can further create groups and assign stores to these groups directly through the user interface.
  • the user interface enables adding timer data from multiple brands. Therefore, owners of stores that use any brand of timer can use the user interface to add data to the leaderboard and view the leaderboard.
  • operators can securely provide a data endpoint (e.g., networked database) with access to their timer data.
  • the provided timer data allows the combined leaderboard solution to improve drive-through operations and benefit from enhanced analysis and optimizations facilitated by a more comprehensive data set.
  • the unified leaderboard system automatically retrieves relevant data from the customer’s timer endpoint. This provides an up-to-date and unified view of all timer data and derived statistics or metrics. The unified leaderboard system therefore facilitates informed decision-making and efficient operations.
  • the customer’s timer data endpoint provides the store name to facilitate associating the data with the store and enhance data organization.
  • the customer’s timer data endpoint includes a timestamp, to effectively track the exact time data entries were created, provide better analysis, and generate data trends over time.
  • the customer’s timer data endpoint provides statistics derived from the timer data, such as the drive-through customer average time in seconds for the current hour. The provided statistics can provide real-time analytics aiding in effectively managing the drive-through operations and improving customer service.
  • the customer’s timer data endpoint provides a percentage of completed drive- through orders for the current hour, thereby providing an instant view of operational efficiency at the location.
  • the user can access the number of cars served at the drive- through for a current hour or selected hour from the customer’s timer data endpoint, thereby maintaining real-time awareness of the volume of traffic handled and manage resources more effectively.
  • the customer’s timer data endpoint is updated at five-minute intervals. Updating the timer periodically provides the most recent data to ensure accurate and timely leaderboard standings. In some embodiments, other time intervals can be used and the above listed time intervals are exemplary.
  • the application is updated to integrate and rank stores based on all customer timer data, thereby providing an accurate and comprehensive ranking of the stores based on real-time data, fostering a competitive and data-driven environment.
  • Fig. 1A is an architectural diagram of a system 100 for providing a combined leaderboard for multiple timer locations according to embodiments of the present disclosure.
  • a leaderboard server 110 facilitates combining timer data 112 and 122 from a first location 102 and second location 104 into a combined leaderboard.
  • both the first location 102 and second location 104 have a drive-through timer system installed thereon.
  • timers are installed at individual locations based on the layout of the location.
  • installed timers include various sensors can be installed that collect timer data 112 and 122, which can include metrics such as: a. arrival of a car at the location time, b. pre-menu wait time, c. order time, d. cashier time, e. the time for the customer to drive to the pickup window, f. order fulfilment time, and/or g. total time at location.
  • timer systems aggregate the timer data 112 and 122 into respective files or packages that are retrieved by the leaderboard server 110 periodically.
  • the timer data 112 and 122 therefore can include metrics for the first location 102 or second location 104 for a given time period.
  • the time period is five minutes, however, other time periods can be used as described above.
  • first location 102 and second location 104 can use timer systems having different output standards (e.g., sold and serviced by different vendors, etc.).
  • the timers generate and provide timer data having a different native data format.
  • a native data format is an output format of an unmodified timer system.
  • the timer system of the first location 102 provides timer data having a first native data format and the timer system of the second location 104 provides timer data having a second native data format, where the first native data format and second native data format differ in at least one aspect.
  • the first location 102 and second location 104 can, in some examples, use timers having the same standard, timers having different standards, and timers sold by any vendor.
  • a first location 102 having a timer from a different vendor than second location 104 to demonstrate the ability of the leaderboard server 110 to combine timer data of different brands (e.g., different native data formats, heterogeneously formatted data).
  • the first location 102 and second location 104 are locations of an enterprise (not shown) having a subscription to or an account with the leaderboard server 110.
  • the enterprise can be any organization including a drive-through restaurant, retail business, department store, supermarket, small business, restaurant, or any suitable enterprise associated with (e.g., selling, aggregating, monitoring, etc.) monitoring the timing of selling products or services.
  • the enterprise has an account with the leaderboard server 110 that enables a combined leaderboard (e.g., a combined leaderboard account).
  • the account provides for authentication methods for a user to view the combined leaderboard and authentication for each location to upload timer data and monitor the leaderboard.
  • an administrator of the account can provide permissions for the locations to view a subset of the leaderboard information (e.g., allowing a user to see a grouping of locations, such as a particular sub-region).
  • the timer of the first location 102 generates timer data that is sent to a cloud-based data warehouse 114.
  • cloud-based data warehouse 114 is implemented by Amazon Web Services® (AWS) or other cloud service providers.
  • the leaderboard server 110 retrieves the timer data 112 from the cloud-based data warehouse 114 using credentials provided by the enterprise to access the timer data 112 from the warehouse 114.
  • the leaderboard server 110 processes the timer data 112 and organizes the timer data 112 into a common format.
  • the leaderboard server 110 tags the timer data 112 with the first location 102 in a location field.
  • second location 104 uses a PAR® Drive-Thru timer. In some embodiments, second location 104 can be implemented by other brands of timers. In some embodiments, the timer of the second location 104 sends its timer data 122 to the leaderboard server 110. In some embodiments, the leaderboard server 110 processes the timer data 122 and organizes the timer data 122 into a common format. In some embodiments, the leaderboard server 110 tags the timer data 122 with the second location 104 in a location field.
  • the second location 104 sends information directly to the leaderboard server 110, bypassing a cloud-based data warehouse, because, for example, the vendor of the leaderboard at the second location 104 is the same provider as the leaderboard server.
  • a cloud-based warehouse (not shown) sends the timer data 122 of the second location 104 to the leaderboard server 110.
  • a leaderboard monitor 106 of the first location 102 receives combined leaderboard data from the leaderboard server 110 having the timer data 112 of the first location 102 and timer data 122 of the second location 104 aggregated therein.
  • a leaderboard monitor 108 of the second location 104 receives combined leaderboard data from the leaderboard server 110 having the timer data 112 of the first location 102 and timer data 122 of the second location 104 aggregated therein.
  • both leaderboard monitors 106 and 108 display timer data 112 and 122 from both first location 102 and second location 104, when the first location 102 and second location 104 are provided by different vendors.
  • FIG. IB is a block diagram 150 illustrating an alternative method of providing a leaderboard.
  • a first timer system 152 and second timer system 172 are provided.
  • the first timer system 152 records and provides timer data 154 in a first native data format
  • the second timer system 172 records and provides timer data 174 in a second native data format.
  • the first timer system 152 and second timer system 172 are not able to interact (e.g., are not interoperable), at least partly because their respective timer data 154 and 174 have the different native formats described above.
  • the first timer system 152 sends its timer data 154 to a first leaderboard application 162.
  • Other first timer systems 160 send timer data 156a-c to the first leaderboard application 162 as well.
  • Other first timer systems 160 are timer systems that output data in the same first native data format as first timer system 152. In some examples, these other first timer systems 160 are timer systems from the same brand, company, provider, vendor, or etc.
  • the timer data 156a-c and timer data 154 share the first native data format.
  • the first leaderboard 162 receives the timer data 154 and 156a-c and generates leaderboard data 158.
  • the first leaderboard application 162 sends the leaderboard data 158 to the first timer system 152.
  • the second timer system 172 sends its timer data 174 to a second leaderboard application 182.
  • Other second timer systems 180 send timer data 176a-c to the second leaderboard application 182 as well.
  • Other second timer systems 180 are timer systems that output data in the same second native data format as second timer system 172. In some examples, these other second timer systems 180 are timer systems from the same brand, company, provider, vendor, or etc.
  • the timer data 176a-c and timer data 174 share the second native data format.
  • the second leaderboard 182 receives the timer data 174 and 176a-c and generates leaderboard data 178.
  • the second leaderboard application 182 sends the leaderboard data 178 to the second timer system 172.
  • the first native data format of the timer data 154 generated by the first timer system 152 is different from the second native data format of the timer data 174 generated by the second timer system 172.
  • the first leaderboard application 162 does not receive timer data from the second timer system 172 or other second timer systems 180.
  • the first leaderboard application 162 does not send leaderboard data 158 to the second timer system 172 or the other second timer systems 180.
  • the second leaderboard application 182 does not receive timer data from the first timer system 152 or other first timer systems 160.
  • the second leaderboard application 182 does not send leaderboard data 178 to the first timer system 152 or the other first timer systems 160.
  • the alternative timer system of a first brand can only send timer data to the first brand’s leaderboard, and a timer brand of a second brand can only send timer data to the second brand’s leaderboard. Therefore, alternative systems cannot support interoperability with other brands. Such alternative timer systems of separate brands/vendors are referred to herein as being interoperable relative to each other. An enterprise is not able to test a new timer system at a location without losing the ability to include that location on its leaderboard system.
  • the first timer system 152 can only use the first leaderboard application 162 and the second timer system 172 can only use the second leaderboard application 182.
  • leaderboard systems require that only timer systems of the same brand can send data the brand’s leaderboard.
  • a unified leaderboard system that combines timer data using different native data formats can improve interoperability of timer systems and allow for diversity of timer systems across store locations.
  • a unified leaderboard system gathers, imports, and processes timer data from timer systems of a first brand and timer systems of a second brand, outputs a combined leaderboard with content/representations of such timer data therein.
  • a leaderboard system can allow franchise owners to vary the brands of or types of timer systems employed at locations.
  • the leaderboard system further allows an operator to test other timer systems and still being able to view all timer data in one application for timers across the enterprise, regardless of the brands of timer systems employed.
  • Fig. 2 is a flowchart 200 illustrating a method of updating a store leaderboard according to embodiments of the present disclosure.
  • the process begins with the leaderboard server issuing a store leaderboard request 202.
  • the store leaderboard request 202 initiates the data import process for one location (e.g., a store, a franchise, a restaurant, a drive-through).
  • the store leaderboard request 202 can be issued periodically (e.g., to the AWS® server housing the data).
  • the request 202 is issued every 5 minutes, however, other periods of time can be employed.
  • the server receives timer data from the location.
  • the server determines how the store is added 206. In some embodiments, if the store is added with a CSV import 204, the server runs a CSV data parsing operation 210.
  • data from different sources such as timer data from multiple timer brands, is non-uniform.
  • timer data has a native data format with different field names, use different units, or may be recorded at different intervals. For example, one brand’s timer may record data every five seconds, while another brand’s timer records data every one second.
  • the CSV data parsing operation 210 parses and reformats the data from these different sources and provides it in a common format.
  • CSV data parsing operation 210 maps the fields of the raw data to fields of the leaderboard, performs unit conversions, and/or normalizes data collected at different intervals and outputs parsed data 212. In some embodiments, CSV data parsing operation 210 can perform its operation based on the raw data and/or the metadata received responsive to the request 202. [0058] In some embodiments, if the store is added via API 208, the method performs an API data parsing operation 218. In some embodiments, if the endpoint to access the data is an API, the API provides the data in a given format. In some embodiments, data from different sources, such as timer data from multiple timer brands, is non-uniform.
  • timer data has a native data format with different field names, different units, or recorded at different intervals. For example, one brand’s timer may record data every five seconds, while another brand’s timer records data every one second.
  • the native data format provided by the API may differ across different APIs and different sources of data.
  • API data parsing operation 218 parses and reformats the data from these different sources and provides it in a common format.
  • API data parsing operation 218 maps the fields of the raw data to fields of the leaderboard, performs unit conversions, and/or normalizes data collected at different intervals and outputs parsed data 216.
  • API data parsing operation 218 performs its operation based on the raw data and/or the metadata received responsive to the request 202.
  • the API data parsing operation receives a company name as an input parameter.
  • the API data parsing operation can receive a franchisee or other input that identifies restaurants/ stores having timer data.
  • the API can return data in a JavaScript Object Notation (JSON) format.
  • JSON JavaScript Object Notation
  • the API can also return data in other data formats, such as Extensible Markup Language (XML).
  • XML Extensible Markup Language
  • the API receives data including store name, location, device type, and statistics, however the data can include other fields or variables.
  • the timer data is parsed by the CSV import 204, 210, via the API import 208, 218, or a combination thereof across different sources of data, and the parsed data 212 and/or 216 is saved in a leaderboard database 214.
  • method checks whether the save was performed successfully 222, and if the save was not performed successfully, the method throws an exception 220. In some embodiments, exception notifies the user that the save was not performed successfully. In some embodiments, when the save is successful 222, the method groups data from the stores (e.g., locations) 224.
  • said grouping can be performed by tagging each location with one or more tags, such as the brand of timer used, the owner of the franchise, a geographic region, a type of store/restaurant, or any other categorization or grouping.
  • the imported data is added to the leaderboard, and the data of the stores is displayed on said leaderboard 226.
  • import process then completes 228, however the process repeats periodically to continue updating the leaderboard.
  • the CSV import receives a location of a CSV file or a CSV file itself as an input parameter.
  • the CSV file can be read, for example, using the read csv function from the pandas library.
  • the columns of the CSV file can include: “store_name,” “location,” “device_type,” and “stats,” however other columns or fields or variables can be employed.
  • the CSV import operation can begin with a data variable (e.g., a blank variable, a blank matrix, a blank table, etc.).
  • the CSV import operation iterates for each row in the CSV file to create a store information variable (e.g., a tuple) including the information represented by each column.
  • a store information variable e.g., a tuple
  • the tuple generated for each row of the CSV file is then appended to the data variable.
  • a serializer can be used to store data in the leaderboard database. In some embodiments, using a serializer validates the CSV parsed data against the leaderboard database.
  • a request to add timer data to a leaderboard further requests a source type of the source of timer data.
  • the server runs a CSV data parsing operation 210, and if the source type indicates the source type is CSV data, the server runs API data parsing operation 218.
  • Fig. 3 is a flowchart 300 illustrating a process for adding timer data to a leaderboard according to embodiments of the present disclosure.
  • the process includes receiving store details (e.g., timer data from a timer system) to add a store to a leaderboard 302.
  • the store details are provided in native data format to a system at the store or location.
  • the method further includes determining whether the store details are to be added to the leaderboard by CSV or API 304. In some embodiments, if the store details are determined to be added by CSV 304, the method parses the CSV data of the store details 308. In some embodiments, if the store details are determined to be added by API 304, the method parses the API data of the store details 306. In some embodiments, once parsed 306, 308 the method adds the store details to the leaderboard.
  • Fig. 4A is a flowchart 400 illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure.
  • method receives, at a server e.g., a leaderboard server), first timer data generated by a first timer system 402.
  • the first timer system generates timer data in a first native data format.
  • the first timer data is in the first native data format.
  • the method imports, at the server, the received first timer data into a database 404 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3.
  • Importing includes importing via a CSV file or API, parsing data, saving the data into a database, or a combination of the same.
  • the method generates, at the server, a representation of a leaderboard including the first timer data 406.
  • the representation of the leaderboard is in the form of a table, a list, an mark-up file such as XML, or a combination of the same.
  • the method sends the representation of the leaderboard to a leaderboard monitor of a second timer system 408.
  • the second timer system provides timer data having a second native data format.
  • the second native data format is different from the first native data format.
  • Fig. 4B is a flowchart 450 illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure.
  • the method receives, at a server (e.g., a leaderboard server), first timer data generated by a first timer system 452.
  • the first timer system generates first timer data in a first native data format.
  • the method receives, at the server (e.g., the leaderboard server), second timer data generated by a second timer system 454.
  • the second timer system generates second timer data in a second native data format.
  • the first native data format is different than the second native data format.
  • the method imports, at the server, the received second timer data into a database 456 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3, and Fig. 4A.
  • Importing includes importing via a CSV file or API, parsing data, saving the data into a database, or a combination of the same.
  • the method generates, at the server, a representation of a leaderboard including the first timer data and second timer data 458.
  • the representation of the leaderboard in some embodiments, is in the form of a table, a list, an mark-up file such as XML, or a combination of the same.
  • the method sends the representation of the leaderboard to a leaderboard monitor of the first timer system, second timer system, or both the first and second timer system 460.
  • the leaderboard generated by the server and sent to the leaderboard monitor provides representations of the first timer data and second timer data in a common format.
  • Fig. 5A is a block diagram 500 of a combined leaderboard according to embodiments of the present disclosure.
  • first timer system 502 records and generates timer data 504 in a first native data format.
  • a second timer system 512 records and generates timer data 514 in a second native data format.
  • first native data format is different from the second native data format.
  • a leaderboard server 522 receives, over a network, timer data 504 generated by the first timer system 502 and sent by the first timer system 502.
  • the leaderboard processes the received timer data 504 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3, and Figs. 4A-B including importing via a CSV file or API, parsing data, saving the data into a database, grouping the data, and generating the leaderboard data 506.
  • the leaderboard server 522 outputs the leaderboard data 504 over the network to a second leaderboard monitor 516.
  • the leaderboard data includes the timer data 504.
  • the leaderboard data 506 is generated as a table, with a mark-up language such as XML, a rendered graphical user interface (GUI), or combination of the same.
  • the second leaderboard monitor 516 can be integrated as part of the second timer system 512 or a supplement to the second timer system 512.
  • the second leaderboard monitor 516 displays a representation of the timer data 504 at the second leaderboard monitor 516.
  • operators of the second timer system 512 can view the leaderboard data 506 having timer data 504 from a first timer system 502 that is from a first native data format different from the second native data format of the timer data 514 generated by the second timer system 512.
  • Fig. 5B is a block diagram 550 of a combined leaderboard according to example embodiments of the present disclosure.
  • a first timer system 502 records and generates timer data 504 in a first native data format.
  • a second timer system 512 records and generates timer data 514 in a second native data format.
  • the first native data format is different from the second native data format.
  • the leaderboard server 522 receives, over a network, timer data 504 generated by the first timer system 502 and sent by the first timer system 502.
  • the second timer system 512 records and generates timer data 514 in a second native data format.
  • the leaderboard server 522 receives, over a network, timer data 514 generated by the second timer system 512 and sent by the second timer system 512.
  • the leaderboard processes the received timer data 504 and 514 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3, Fig. 4, and Fig. 5A including importing via a CSV file or API, parsing data, saving the data into a database, grouping the data, and generating the leaderboard data 506.
  • generated leaderboard data 506 is content or representations of both timer data 504 and 514 that is generated in a common format.
  • the common format can be the first native data format, the second native data format, or a format different from both the first native data format and second native data format.
  • the leaderboard server 522 outputs the leaderboard data 504 over the network to a first leaderboard monitor 508 and second leaderboard monitor 516.
  • the leaderboard data includes the timer data 504 and timer data 514.
  • the leaderboard data 506 is generated as a table, with a mark-up language such as XML, a rendered graphical user interface (GUI), or combination of the same.
  • the first leaderboard monitor 508 can be integrated as part of the first timer system 502 or a supplement to the first timer system 52.
  • the second leaderboard monitor 516 can be integrated as part of the second timer system 512 or a supplement to the second timer system 512.
  • the first leaderboard monitor 508 displays leaderboard data 506 having content of a representation of the timer data 504 generated by the first timer system 502 and content of the timer data 514 generated by the second timer system 512, the timer data 514 originally having been generated in a format different from the first native data format of the timer data 504.
  • the second leaderboard monitor 516 displays leaderboard data 506 having the content of or a representation of timer data 514 generated by the second timer system 512 and content of the timer data 504 generated by the first timer system 502 having been generated in a format different from the second native data format of the timer data 514.
  • the second leaderboard monitor 516 displays a representation of the timer data 504 at the second leaderboard monitor 516.
  • operators of the second timer system 512 can view the leaderboard data 506 having timer data 504 from a first timer system 502 that is from a first native data format different from the second native data format of the timer data 514 generated by the second timer system 512.
  • the first timer system 502 and second timer system 512 can represent multiple timers generating timer data in the same respective formats (e.g., first and second native data formats).
  • the leaderboard system receives timer data from any number of timer systems having different native data formats.
  • providing the leaderboard is performed after a request for leaderboard data for a particular company is issued.
  • providing the leaderboard can be performed by fetching leaderboard data that is associated with a company (e.g., the company in the request) to be displayed on the leaderboard monitor.
  • the leaderboard data that is associated with a company can be loaded into a company array.
  • providing the leaderboard at the leaderboard monitor can further fetch store level data from the fetched company data.
  • the store level data can be loaded into an story array.
  • providing the leaderboard at the leaderboard monitor can further fetch device type level data from the fetched company data.
  • the device type level data can be loaded into a device type array.
  • providing the leaderboard at the leaderboard monitor can further fetch location level data from the fetched company data.
  • the location level data can be loaded into a location array.
  • providing the leaderboard at the leaderboard monitor can further fetch statistic level data from the fetched company data.
  • the statistic level data can be loaded into a statistic array.
  • the response data is a data package including the company array, the store, array, the location array, the device type array, the statistic array, or any combination of those arrays.
  • the response data can be provided to or returned to the leaderboard monitor.
  • Fig. 6 is a block diagram a computing node according to embodiments of the present disclosure.
  • Computing node 10 is only one example of a suitable computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments described herein. Regardless, computing node 10 is capable of being implemented and/or performing any of the functionality set forth hereinabove.
  • computing node 10 there is a computer system/server 12, which is operational with numerous other general purpose or special purpose computing system environments or configurations.
  • Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.
  • Computer system/server 12 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system.
  • program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
  • Computer system/server 12 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer system storage media including memory storage devices.
  • computer system/server 12 in computing node 10 is shown in the form of a general -purpose computing device.
  • the components of computer system/server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16.
  • Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
  • bus architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, Peripheral Component Interconnect (PCI) bus, Peripheral Component Interconnect Express (PCIe), and Advanced Microcontroller Bus Architecture (AMBA).
  • Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12, and it includes both volatile and non-volatile media, removable and non-removable media.
  • System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32.
  • Computer system/server 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media.
  • storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a "hard drive").
  • a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk")
  • an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media
  • each can be connected to bus 18 by one or more data media interfaces.
  • memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the disclosure.
  • Program/utility 40 having a set (at least one) of program modules 42, may be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment.
  • Program modules 42 generally carry out the functions and/or methodologies of embodiments as described herein.
  • Computer system/server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; one or more devices that enable a user to interact with computer system/server 12; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Still yet, computer system/server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system/server 12 via bus 18.
  • LAN local area network
  • WAN wide area network
  • public network e.g., the Internet
  • the present disclosure may be embodied as a system, a method, and/or a computer program product.
  • the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
  • the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
  • the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • a non-exhaustive list of more specific examples of the computer readable storage medium includes 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD- ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or Flash memory erasable programmable read-only memory
  • SRAM static random access memory
  • CD- ROM compact disc read-only memory
  • DVD digital versatile disk
  • memory stick a floppy disk
  • a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
  • a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiberoptic cable), or electrical signals transmitted through a wire.
  • Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
  • the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
  • Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
  • the computer readable program instructions 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.
  • 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).
  • electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
  • These computer readable 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.
  • These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures.
  • 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.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A combined leaderboard for heterogeneous data is provided. In some embodiments, first timer is data generated by a first timer system. The first timer system has a first native data format. The received first timer data is imported into a database at a server. A representation of a leaderboard including the first timer data is generated by the server. The representation of the leaderboard is sent to a leaderboard monitor of a second timer system. The second timer system has a second native data format. The second native data format is different from the first native data format.

Description

COMBINED LEADERBOARD FOR HETEROGENEOUS DATA
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application. No. 63/647,324 filed May 14, 2024, which is hereby incorporated by reference in its entirety.
BACKGROUND
[0002] For retail establishments, timer systems are used to measure the time expended by retail employees in receiving and executing orders for customers. These timers are common in restaurants such as drive-through restaurants and can measure the performance of various tasks.
BRIEF SUMMARY
[0003] According to embodiments of the present disclosure, methods of and computer program products for combining timer data having different native formats are provided. [0004] In some embodiments, a method includes receiving, at a server, first timer data generated by a first timer system. The first timer system has a first native data format. The method further includes importing, at the server, the received first timer data into a database. The method further includes generating, at the server, a representation of a leaderboard including the first timer data. The method further includes sending the representation of the leaderboard to a leaderboard monitor of a second timer system. The second timer system has a second native data format. The second native data format is different from the first native data format.
[0005] In some embodiments, the method further includes receiving, at the server, the second timer generated by the second timer system. The method further includes importing, at the server, the received second timer data into the database. Generating the representation includes generating the representation of the leaderboard including the first timer data and the second timer data.
[0006] In some embodiments, the method further includes sending the representation of the leaderboard to a leaderboard monitor of the first timer system.
[0007] In some embodiments, the first native data format includes a first plurality of fields. The second native data format includes a second plurality of fields. One of the first plurality of fields is different from any of the second plurality of fields.
[0008] In some embodiments, receiving the first timer data further includes receiving the first timer data further includes receiving the first timer data from a database connected to the server over a network. The database is configured to receive and store the first timer data from the first timer system.
[0009] In some embodiments, receiving the second timer data further includes receiving the second timer data from a database connected to the server over a network. The database is configured to receive and store the second timer data from the second timer system.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0010] Fig. 1A is an architectural diagram of a system for providing a combined leaderboard for multiple timer locations according to embodiments of the present disclosure.
[0011] Fig. IB is a block diagram illustrating an alternative method of providing a leaderboard.
[0012] Fig. 2 is a flowchart illustrating a method of updating a store leaderboard according to embodiments of the present disclosure.
[0013] Fig. 3 is a flowchart illustrating a process for adding timer data to a leaderboard according to embodiments of the present disclosure.
[0014] Fig. 4A is a flowchart illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure. [0015] Fig. 4B is a flowchart illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure.
[0016] Fig. 5A is a block diagram of a combined leaderboard according to embodiments of the present disclosure.
[0017] Fig. 5B is a block diagram of a combined leaderboard according to embodiments of the present disclosure.
[0018] Fig. 6 is a block diagram depicting a computing node according to embodiments of the present disclosure.
DETAILED DESCRIPTION
[0019] Retail establishments use timer systems to measure the time expended by retail employees in receiving and executing orders for customers. Such retail timer systems are installed at individual locations (e.g., restaurants, drive-through restaurants, drive-through pharmacies, other drive-through locations, other retail locations, etc.) based on the layout of the location. For example, at a drive-through location, various sensors can be installed to determine metrics such as: a. arrival of a car at the location time, b. pre-menu wait time, c. order time, d. cashier time, e. the time for the customer to drive to the pickup window, f. order fulfilment time, and/or g. total time at location.
It will be appreciated that the above list is not limiting, and other metrics can be measured by the various sensors. While the present disclosure refers to drive-through locations throughout, embodiments of the present disclosure can be applied to timer systems used at any location, including the location types listed above. [0020] In various embodiments, sensors are installed at the drive-through location to enable determining the above metrics. These sensors can include video sensors, pressure sensors installed in the ground/pavement/floor, radar sensors, lidar sensors, audio sensors, radiofrequency (RF) sensors, or a digital sensor that determines a customer’s presence via an application on the customer’s phone (e.g., via a WiFi, Bluetooth, etc. connection).
[0021] In alternative systems and methods, timer data across multiple locations can only be accumulated and accessed by a leaderboard of the same brand as the timer systems (e.g., only if all of the timers are from the same company). In other words, there is no general standard for timer data to be collected and analyzed in a separate system. The non-uniformity of data formats in timer systems limits competition in the field of timer technology because a business cannot test timer systems of alternative brands at certain locations without losing access to viewing the metrics of those certain locations in a combined timer leaderboard.
[0022] In some embodiments a unified leaderboard system that can combine and analyze data gathered from timers from different brands. In some embodiments, these timers from different brands deliver data in different native formats. In some embodiments, these timers deliver data in a manner that is not interoperable. Therefore, the present disclosure provides the advantage of allowing business owners to mix different types of timers across multiple locations while also being able to view all timer data in a single leaderboard.
[0023] The architectures of alternative systems require operators of timer systems to have isolated data pools because leaderboards only allow a single-brand’s data to be collected and displayed. In these alternative systems, brands of drive-through timer systems operate in silos relative to other brands of timer systems. In other words, they operate with a lack of interoperability to other brand’s timers. Each timer system outputs a different native format of timer data that is not compatible with other timer system’s leaderboards. The alternative timer systems of different brands operating in such silos, or having a lack of interoperability, hinders the seamless exchange of leaderboard data across different systems. These shortcomings of the alternative timer systems prevent operators from adopting innovative timer solutions because changing timer systems causes the operator to lose visibility and collaborative data access across multiple locations. Visibility and collaborative data access are needed to analyze and benchmark the performance of each location.
[0024] Operators of these alternative timer systems cannot change existing timer systems for only some of their locations and keep a unified leaderboard showing all of their locations. An operator who wishes to change an alternative timer system must change the brand of timer for all of their locations. This can be especially difficult for operators of large chains or large enterprises. These operators are unable to take advantage of newer, better-timer technologies because they cannot easily share data across locations if they were to adopt a change of timer in some locations. Therefore, these alternative timer systems prevent adoption of new ideas and hold back ongoing progress because these alternative timer systems cannot communicate or work together (e.g., be interoperable).
[0025] In some embodiments, a unified leaderboard system presents holistic, comparative analysis that enhances decision-making and operational efficiency for the business. In addition, operators of timer systems can benefit from the flexibility of choosing different timers for different locations. With such a unified system, operators can experiment with new timer systems or timer systems from other brands, knowing that adopting a new timer in one store does not result in data blind spots. Stores venturing into new timers can still view data from other branches and vice versa, ensuring uninterrupted visibility and continuous data-driven decision-making across all locations.
[0026] In some embodiments, the present disclosure provides systems and methods for enabling other timers to integrate their data seamlessly into a single leaderboard system. In some embodiments, methods are provided to combine data of any timer into a common format of a single leaderboard, thereby establishing a universal protocol for all timers. [0027] In some embodiments, the unified leaderboard system provides several advantages over alternative systems. First, operators can use newer, advanced technologies without losing a unified view of their timer data across all locations. Second, the unified leaderboard system aggregates data from various timer brands and a displays comprehensive view, thereby facilitating informed decision-making. Third, the unified leaderboard system increases efficiency by allowing operators to identify best practices and areas of improvement more effectively with consolidated data views. Fourth, the unified leaderboard system encourages innovation because operators are more likely to experiment with new timer solutions with data continuity across multiple timer brands and timer systems across all locations. Fifth, the unified leaderboard system provides continuous visibility by keeping all stores interconnected regardless of the timer brand in use, thereby ensuring no data blind spots and promoting a unified operational approach.
[0028] In some embodiments, the leaderboard adds and groups stores in response to a request. In some embodiments, the leaderboard adds stores to a database that is part of the leaderboard system. In some embodiments, stores are added by manually entering store details into the system, however other modes of entry can be employed. In some embodiments, once the stores are entered into the database, they can be grouped according to information about the store (e.g., by corporation, owner, location, sub-location, store type, size of store, etc.).
[0029] For example, a franchisee may have 10 restaurants/ stores for a particular corporation. Those stores can be grouped that particular corporation, and also grouped for the franchisee. Therefore, in some embodiments, the timer data of the 10 restaurants/stores can be displayed on a leaderboard of the particular corporation, together with other franchisees, and/or a leaderboard of the franchisee. In some embodiments, the groups for the corporation, franchisee, or both can be updated with the addition or removal of restaurants/stores. [0030] In some embodiments, the system populates the leaderboard with timer data of the added stores. The leaderboard is available for users to view. The leaderboard can display timer system data and statistics derived from the same, as well as additional provided data such as revenue of the store. The leaderboard allows users to visualize how different stores are doing in comparison to others. In some embodiments, the leaderboard ranks store performances according to timer data, statistics derived from that timer data, or other provided information.
[0031] In some embodiments, the unified leaderboard system can import store data with a table, such as a comma-separated values (CVS) file, Microsoft® Excel file, etc., or import store data via an application programming interface (API). Therefore, instead of manually entering details of each store, store information can be uploaded as a batch. In some embodiments, batch uploading saves user time and reduces the possibility of errors that come with manual data entry. In some embodiments, batch uploading can receive store data and timer data from third-party data warehouses.
[0032] In some embodiments, a user interface allows users to import stores into the database. The users can further create groups and assign stores to these groups directly through the user interface. In some embodiments, the user interface enables adding timer data from multiple brands. Therefore, owners of stores that use any brand of timer can use the user interface to add data to the leaderboard and view the leaderboard.
[0033] In some embodiments, operators can securely provide a data endpoint (e.g., networked database) with access to their timer data. The provided timer data allows the combined leaderboard solution to improve drive-through operations and benefit from enhanced analysis and optimizations facilitated by a more comprehensive data set. [0034] In some embodiments, the unified leaderboard system automatically retrieves relevant data from the customer’s timer endpoint. This provides an up-to-date and unified view of all timer data and derived statistics or metrics. The unified leaderboard system therefore facilitates informed decision-making and efficient operations.
[0035] In some embodiments, the customer’s timer data endpoint provides the store name to facilitate associating the data with the store and enhance data organization. In some embodiments, the customer’s timer data endpoint includes a timestamp, to effectively track the exact time data entries were created, provide better analysis, and generate data trends over time. In some embodiments, the customer’s timer data endpoint provides statistics derived from the timer data, such as the drive-through customer average time in seconds for the current hour. The provided statistics can provide real-time analytics aiding in effectively managing the drive-through operations and improving customer service. In some embodiments, the customer’s timer data endpoint provides a percentage of completed drive- through orders for the current hour, thereby providing an instant view of operational efficiency at the location.
[0036] In some embodiments, the user can access the number of cars served at the drive- through for a current hour or selected hour from the customer’s timer data endpoint, thereby maintaining real-time awareness of the volume of traffic handled and manage resources more effectively.
[0037] In some embodiments, the customer’s timer data endpoint is updated at five-minute intervals. Updating the timer periodically provides the most recent data to ensure accurate and timely leaderboard standings. In some embodiments, other time intervals can be used and the above listed time intervals are exemplary. [0038] In some embodiments, the application is updated to integrate and rank stores based on all customer timer data, thereby providing an accurate and comprehensive ranking of the stores based on real-time data, fostering a competitive and data-driven environment.
[0039] Fig. 1A is an architectural diagram of a system 100 for providing a combined leaderboard for multiple timer locations according to embodiments of the present disclosure. In some embodiments, a leaderboard server 110 facilitates combining timer data 112 and 122 from a first location 102 and second location 104 into a combined leaderboard. In some embodiments, both the first location 102 and second location 104 have a drive-through timer system installed thereon. As described above, timers are installed at individual locations based on the layout of the location. In some embodiments, installed timers include various sensors can be installed that collect timer data 112 and 122, which can include metrics such as: a. arrival of a car at the location time, b. pre-menu wait time, c. order time, d. cashier time, e. the time for the customer to drive to the pickup window, f. order fulfilment time, and/or g. total time at location.
[0040] In some embodiments, timer systems aggregate the timer data 112 and 122 into respective files or packages that are retrieved by the leaderboard server 110 periodically. In some embodiments, the timer data 112 and 122 therefore can include metrics for the first location 102 or second location 104 for a given time period. In some embodiments, the time period is five minutes, however, other time periods can be used as described above.
[0041] In some embodiments, first location 102 and second location 104 can use timer systems having different output standards (e.g., sold and serviced by different vendors, etc.).
In some embodiments, the timers generate and provide timer data having a different native data format. In some embodiments, a native data format is an output format of an unmodified timer system. In some embodiments, the timer system of the first location 102 provides timer data having a first native data format and the timer system of the second location 104 provides timer data having a second native data format, where the first native data format and second native data format differ in at least one aspect. In some embodiments, the first location 102 and second location 104 can, in some examples, use timers having the same standard, timers having different standards, and timers sold by any vendor. In some embodiments, a first location 102 having a timer from a different vendor than second location 104 to demonstrate the ability of the leaderboard server 110 to combine timer data of different brands (e.g., different native data formats, heterogeneously formatted data).
[0042] In some embodiments, the first location 102 and second location 104 are locations of an enterprise (not shown) having a subscription to or an account with the leaderboard server 110. The enterprise can be any organization including a drive-through restaurant, retail business, department store, supermarket, small business, restaurant, or any suitable enterprise associated with (e.g., selling, aggregating, monitoring, etc.) monitoring the timing of selling products or services. In some embodiments, the enterprise has an account with the leaderboard server 110 that enables a combined leaderboard (e.g., a combined leaderboard account). In some embodiments, the account provides for authentication methods for a user to view the combined leaderboard and authentication for each location to upload timer data and monitor the leaderboard. In some embodiments, an administrator of the account can provide permissions for the locations to view a subset of the leaderboard information (e.g., allowing a user to see a grouping of locations, such as a particular sub-region).
[0043] In some embodiments, the timer of the first location 102 generates timer data that is sent to a cloud-based data warehouse 114. In some embodiments, cloud-based data warehouse 114 is implemented by Amazon Web Services® (AWS) or other cloud service providers. In some embodiments, the leaderboard server 110 retrieves the timer data 112 from the cloud-based data warehouse 114 using credentials provided by the enterprise to access the timer data 112 from the warehouse 114. In some embodiments, the leaderboard server 110 processes the timer data 112 and organizes the timer data 112 into a common format. In some embodiments, the leaderboard server 110 tags the timer data 112 with the first location 102 in a location field.
[0044] In some embodiments, second location 104 uses a PAR® Drive-Thru timer. In some embodiments, second location 104 can be implemented by other brands of timers. In some embodiments, the timer of the second location 104 sends its timer data 122 to the leaderboard server 110. In some embodiments, the leaderboard server 110 processes the timer data 122 and organizes the timer data 122 into a common format. In some embodiments, the leaderboard server 110 tags the timer data 122 with the second location 104 in a location field. In some embodiments, the second location 104 sends information directly to the leaderboard server 110, bypassing a cloud-based data warehouse, because, for example, the vendor of the leaderboard at the second location 104 is the same provider as the leaderboard server. However, in some embodiments, a cloud-based warehouse (not shown) sends the timer data 122 of the second location 104 to the leaderboard server 110.
[0045] In some embodiments, a leaderboard monitor 106 of the first location 102 receives combined leaderboard data from the leaderboard server 110 having the timer data 112 of the first location 102 and timer data 122 of the second location 104 aggregated therein. In some embodiments, a leaderboard monitor 108 of the second location 104 receives combined leaderboard data from the leaderboard server 110 having the timer data 112 of the first location 102 and timer data 122 of the second location 104 aggregated therein. In some embodiments, both leaderboard monitors 106 and 108 display timer data 112 and 122 from both first location 102 and second location 104, when the first location 102 and second location 104 are provided by different vendors.
[0046] In contrast, alternative timer leaderboard systems are siloed by the brand of timer that is installed at the physical location. Fig. IB is a block diagram 150 illustrating an alternative method of providing a leaderboard. In such an alternative method, a first timer system 152 and second timer system 172 are provided. The first timer system 152 records and provides timer data 154 in a first native data format, and the second timer system 172 records and provides timer data 174 in a second native data format. The first timer system 152 and second timer system 172 are not able to interact (e.g., are not interoperable), at least partly because their respective timer data 154 and 174 have the different native formats described above.
[0047] Instead, in this alternative system, the first timer system 152 sends its timer data 154 to a first leaderboard application 162. Other first timer systems 160 send timer data 156a-c to the first leaderboard application 162 as well. Other first timer systems 160 are timer systems that output data in the same first native data format as first timer system 152. In some examples, these other first timer systems 160 are timer systems from the same brand, company, provider, vendor, or etc. The timer data 156a-c and timer data 154 share the first native data format. The first leaderboard 162 receives the timer data 154 and 156a-c and generates leaderboard data 158. The first leaderboard application 162 sends the leaderboard data 158 to the first timer system 152.
[0048] Additionally, in this alternative system, the second timer system 172 sends its timer data 174 to a second leaderboard application 182. Other second timer systems 180 send timer data 176a-c to the second leaderboard application 182 as well. Other second timer systems 180 are timer systems that output data in the same second native data format as second timer system 172. In some examples, these other second timer systems 180 are timer systems from the same brand, company, provider, vendor, or etc. The timer data 176a-c and timer data 174 share the second native data format. The second leaderboard 182 receives the timer data 174 and 176a-c and generates leaderboard data 178. The second leaderboard application 182 sends the leaderboard data 178 to the second timer system 172.
[0049] The first native data format of the timer data 154 generated by the first timer system 152 is different from the second native data format of the timer data 174 generated by the second timer system 172.
[0050] The first leaderboard application 162 does not receive timer data from the second timer system 172 or other second timer systems 180. The first leaderboard application 162 does not send leaderboard data 158 to the second timer system 172 or the other second timer systems 180.
[0051] The second leaderboard application 182 does not receive timer data from the first timer system 152 or other first timer systems 160. The second leaderboard application 182 does not send leaderboard data 178 to the first timer system 152 or the other first timer systems 160.
[0052] The alternative timer system of a first brand can only send timer data to the first brand’s leaderboard, and a timer brand of a second brand can only send timer data to the second brand’s leaderboard. Therefore, alternative systems cannot support interoperability with other brands. Such alternative timer systems of separate brands/vendors are referred to herein as being interoperable relative to each other. An enterprise is not able to test a new timer system at a location without losing the ability to include that location on its leaderboard system.
[0053] Therefore, in this alternative system, the first timer system 152 can only use the first leaderboard application 162 and the second timer system 172 can only use the second leaderboard application 182. In these alternative systems, leaderboard systems require that only timer systems of the same brand can send data the brand’s leaderboard. [0054] In some embodiments, a unified leaderboard system that combines timer data using different native data formats can improve interoperability of timer systems and allow for diversity of timer systems across store locations.
[0055] In some embodiments, a unified leaderboard system gathers, imports, and processes timer data from timer systems of a first brand and timer systems of a second brand, outputs a combined leaderboard with content/representations of such timer data therein. In some embodiments, such a leaderboard system can allow franchise owners to vary the brands of or types of timer systems employed at locations. In some embodiments, the leaderboard system further allows an operator to test other timer systems and still being able to view all timer data in one application for timers across the enterprise, regardless of the brands of timer systems employed.
[0056] Fig. 2 is a flowchart 200 illustrating a method of updating a store leaderboard according to embodiments of the present disclosure. In some embodiments, the process begins with the leaderboard server issuing a store leaderboard request 202. In some embodiments, the store leaderboard request 202 initiates the data import process for one location (e.g., a store, a franchise, a restaurant, a drive-through). In some embodiments, the store leaderboard request 202 can be issued periodically (e.g., to the AWS® server housing the data). In some embodiments, the request 202 is issued every 5 minutes, however, other periods of time can be employed. In some embodiments, in response to the request 202, the server receives timer data from the location.
[0057] In some embodiments, responsive to the request 202 and receiving the timer data from the location, the server determines how the store is added 206. In some embodiments, if the store is added with a CSV import 204, the server runs a CSV data parsing operation 210. In some embodiments, data from different sources, such as timer data from multiple timer brands, is non-uniform. In some embodiments, timer data has a native data format with different field names, use different units, or may be recorded at different intervals. For example, one brand’s timer may record data every five seconds, while another brand’s timer records data every one second. The CSV data parsing operation 210 parses and reformats the data from these different sources and provides it in a common format. In some embodiments, CSV data parsing operation 210 maps the fields of the raw data to fields of the leaderboard, performs unit conversions, and/or normalizes data collected at different intervals and outputs parsed data 212. In some embodiments, CSV data parsing operation 210 can perform its operation based on the raw data and/or the metadata received responsive to the request 202. [0058] In some embodiments, if the store is added via API 208, the method performs an API data parsing operation 218. In some embodiments, if the endpoint to access the data is an API, the API provides the data in a given format. In some embodiments, data from different sources, such as timer data from multiple timer brands, is non-uniform. In some embodiments, timer data has a native data format with different field names, different units, or recorded at different intervals. For example, one brand’s timer may record data every five seconds, while another brand’s timer records data every one second. In some embodiments, the native data format provided by the API may differ across different APIs and different sources of data. In some embodiments, API data parsing operation 218 parses and reformats the data from these different sources and provides it in a common format. In some embodiments, API data parsing operation 218 maps the fields of the raw data to fields of the leaderboard, performs unit conversions, and/or normalizes data collected at different intervals and outputs parsed data 216. In some embodiments, API data parsing operation 218 performs its operation based on the raw data and/or the metadata received responsive to the request 202.
[0059] In some embodiments, the API data parsing operation receives a company name as an input parameter. In some embodiments, the API data parsing operation can receive a franchisee or other input that identifies restaurants/ stores having timer data. The API can return data in a JavaScript Object Notation (JSON) format. The API can also return data in other data formats, such as Extensible Markup Language (XML). The API receives data including store name, location, device type, and statistics, however the data can include other fields or variables. The API can receive data in the following format: api data = [
{
'store_name': 'Store A', 'location': 'Location 1', 'device_type': 'Type A', 'stats': {'sales': 100, 'visits': 50} }, {
'store name': 'Store B', 'location': 'Location 2', 'device_type': 'Type B', 'stats': {'sales': 150, 'visits': 70} }
]
[0060] In some embodiments, the timer data is parsed by the CSV import 204, 210, via the API import 208, 218, or a combination thereof across different sources of data, and the parsed data 212 and/or 216 is saved in a leaderboard database 214. In some embodiments, method checks whether the save was performed successfully 222, and if the save was not performed successfully, the method throws an exception 220. In some embodiments, exception notifies the user that the save was not performed successfully. In some embodiments, when the save is successful 222, the method groups data from the stores (e.g., locations) 224. In some embodiments, said grouping can be performed by tagging each location with one or more tags, such as the brand of timer used, the owner of the franchise, a geographic region, a type of store/restaurant, or any other categorization or grouping. In some embodiments, the imported data is added to the leaderboard, and the data of the stores is displayed on said leaderboard 226. In some embodiments, import process then completes 228, however the process repeats periodically to continue updating the leaderboard.
[0061] In some embodiments, the CSV import receives a location of a CSV file or a CSV file itself as an input parameter. The CSV file can be read, for example, using the read csv function from the pandas library. In some embodiments, the columns of the CSV file can include: “store_name,” “location,” “device_type,” and “stats,” however other columns or fields or variables can be employed. In some embodiments, the CSV import operation can begin with a data variable (e.g., a blank variable, a blank matrix, a blank table, etc.). In some embodiments, the CSV import operation iterates for each row in the CSV file to create a store information variable (e.g., a tuple) including the information represented by each column. In some embodiments, the store info tuple for each row of a file having the columns of the example CSV file described above can be represented as: store info = {
'store name': rowf'store name'], 'location': rowf'location'], 'device_type': row['device_type'], 'stats': rowf'stats']
}
In some embodiments, the tuple generated for each row of the CSV file is then appended to the data variable.
[0062] In some embodiments, once all rows of the CSV file are parsed and appended to the data variable, a serializer can be used to store data in the leaderboard database. In some embodiments, using a serializer validates the CSV parsed data against the leaderboard database.
[0063] In some embodiments, a request to add timer data to a leaderboard further requests a source type of the source of timer data. In some embodiments, if the source type indicates the source type is API, the server runs a CSV data parsing operation 210, and if the source type indicates the source type is CSV data, the server runs API data parsing operation 218. [0064] Fig. 3 is a flowchart 300 illustrating a process for adding timer data to a leaderboard according to embodiments of the present disclosure. In some embodiments, the process includes receiving store details (e.g., timer data from a timer system) to add a store to a leaderboard 302. In some embodiments, the store details are provided in native data format to a system at the store or location. In some embodiments, the method further includes determining whether the store details are to be added to the leaderboard by CSV or API 304. In some embodiments, if the store details are determined to be added by CSV 304, the method parses the CSV data of the store details 308. In some embodiments, if the store details are determined to be added by API 304, the method parses the API data of the store details 306. In some embodiments, once parsed 306, 308 the method adds the store details to the leaderboard.
[0065] Fig. 4A is a flowchart 400 illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure. In some embodiments, method receives, at a server e.g., a leaderboard server), first timer data generated by a first timer system 402. In some embodiments, the first timer system generates timer data in a first native data format. In some embodiments, the first timer data is in the first native data format. In some embodiments, the method imports, at the server, the received first timer data into a database 404 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3. Importing, in some embodiments, includes importing via a CSV file or API, parsing data, saving the data into a database, or a combination of the same. In some embodiments, the method generates, at the server, a representation of a leaderboard including the first timer data 406. In some embodiments, the representation of the leaderboard is in the form of a table, a list, an mark-up file such as XML, or a combination of the same. In some embodiments, the method sends the representation of the leaderboard to a leaderboard monitor of a second timer system 408. In some embodiments, the second timer system provides timer data having a second native data format. In some embodiments, the second native data format is different from the first native data format.
[0066] Fig. 4B is a flowchart 450 illustrating a method of providing a combined leaderboard according to embodiments of the present disclosure. In some embodiments, the method receives, at a server (e.g., a leaderboard server), first timer data generated by a first timer system 452. In some embodiments, the first timer system generates first timer data in a first native data format. In some embodiments, the method receives, at the server (e.g., the leaderboard server), second timer data generated by a second timer system 454. In some embodiments, the second timer system generates second timer data in a second native data format. In some embodiments, the first native data format is different than the second native data format.
[0067] In some embodiments, the method imports, at the server, the received second timer data into a database 456 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3, and Fig. 4A. Importing, in some embodiments, includes importing via a CSV file or API, parsing data, saving the data into a database, or a combination of the same. In some embodiments, the method generates, at the server, a representation of a leaderboard including the first timer data and second timer data 458. The representation of the leaderboard, in some embodiments, is in the form of a table, a list, an mark-up file such as XML, or a combination of the same. In some embodiments, the method sends the representation of the leaderboard to a leaderboard monitor of the first timer system, second timer system, or both the first and second timer system 460. In some embodiments, the leaderboard generated by the server and sent to the leaderboard monitor provides representations of the first timer data and second timer data in a common format.
[0068] Fig. 5A is a block diagram 500 of a combined leaderboard according to embodiments of the present disclosure. In some embodiments, first timer system 502 records and generates timer data 504 in a first native data format. In some embodiments, a second timer system 512 records and generates timer data 514 in a second native data format. In some embodiments, first native data format is different from the second native data format. In some embodiments, a leaderboard server 522 receives, over a network, timer data 504 generated by the first timer system 502 and sent by the first timer system 502. In some embodiments, the leaderboard processes the received timer data 504 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3, and Figs. 4A-B including importing via a CSV file or API, parsing data, saving the data into a database, grouping the data, and generating the leaderboard data 506.
[0069] In some embodiments, the leaderboard server 522 outputs the leaderboard data 504 over the network to a second leaderboard monitor 516. In some embodiments, the leaderboard data includes the timer data 504. In some embodiments, the leaderboard data 506 is generated as a table, with a mark-up language such as XML, a rendered graphical user interface (GUI), or combination of the same. In some embodiments, the second leaderboard monitor 516 can be integrated as part of the second timer system 512 or a supplement to the second timer system 512. In some embodiments, the second leaderboard monitor 516 displays a representation of the timer data 504 at the second leaderboard monitor 516. In some embodiments, operators of the second timer system 512 can view the leaderboard data 506 having timer data 504 from a first timer system 502 that is from a first native data format different from the second native data format of the timer data 514 generated by the second timer system 512.
[0070] Fig. 5B is a block diagram 550 of a combined leaderboard according to example embodiments of the present disclosure. In some embodiments, a first timer system 502 records and generates timer data 504 in a first native data format. In some embodiments, a second timer system 512 records and generates timer data 514 in a second native data format. In some embodiments, the first native data format is different from the second native data format. In some embodiments, the leaderboard server 522 receives, over a network, timer data 504 generated by the first timer system 502 and sent by the first timer system 502.
[0071] In some embodiments, the second timer system 512 records and generates timer data 514 in a second native data format. In some embodiments, the leaderboard server 522 receives, over a network, timer data 514 generated by the second timer system 512 and sent by the second timer system 512.
[0072] In some embodiments, the leaderboard processes the received timer data 504 and 514 in accordance with embodiments described above in relation to Fig. 1A, Fig. 2, Fig. 3, Fig. 4, and Fig. 5A including importing via a CSV file or API, parsing data, saving the data into a database, grouping the data, and generating the leaderboard data 506. In some embodiments, generated leaderboard data 506 is content or representations of both timer data 504 and 514 that is generated in a common format. In some embodiments, the common format can be the first native data format, the second native data format, or a format different from both the first native data format and second native data format.
[0073] In some embodiments, the leaderboard server 522 outputs the leaderboard data 504 over the network to a first leaderboard monitor 508 and second leaderboard monitor 516. In some embodiments, the leaderboard data includes the timer data 504 and timer data 514. In some embodiments, the leaderboard data 506 is generated as a table, with a mark-up language such as XML, a rendered graphical user interface (GUI), or combination of the same. In some embodiments, the first leaderboard monitor 508 can be integrated as part of the first timer system 502 or a supplement to the first timer system 52. In some embodiments, the second leaderboard monitor 516 can be integrated as part of the second timer system 512 or a supplement to the second timer system 512. [0074] In some embodiments, the first leaderboard monitor 508 displays leaderboard data 506 having content of a representation of the timer data 504 generated by the first timer system 502 and content of the timer data 514 generated by the second timer system 512, the timer data 514 originally having been generated in a format different from the first native data format of the timer data 504. In some embodiments, the second leaderboard monitor 516 displays leaderboard data 506 having the content of or a representation of timer data 514 generated by the second timer system 512 and content of the timer data 504 generated by the first timer system 502 having been generated in a format different from the second native data format of the timer data 514.
[0075] In some embodiments, the second leaderboard monitor 516 displays a representation of the timer data 504 at the second leaderboard monitor 516. In some embodiments, operators of the second timer system 512 can view the leaderboard data 506 having timer data 504 from a first timer system 502 that is from a first native data format different from the second native data format of the timer data 514 generated by the second timer system 512. [0076] In some embodiments, the first timer system 502 and second timer system 512 can represent multiple timers generating timer data in the same respective formats (e.g., first and second native data formats). In some embodiments, the leaderboard system receives timer data from any number of timer systems having different native data formats.
[0077] In some embodiments, providing the leaderboard is performed after a request for leaderboard data for a particular company is issued. In some embodiments, providing the leaderboard can be performed by fetching leaderboard data that is associated with a company (e.g., the company in the request) to be displayed on the leaderboard monitor. The leaderboard data that is associated with a company can be loaded into a company array. In some embodiments, providing the leaderboard at the leaderboard monitor can further fetch store level data from the fetched company data. The store level data can be loaded into an story array. In some embodiments, providing the leaderboard at the leaderboard monitor can further fetch device type level data from the fetched company data. The device type level data can be loaded into a device type array. In some embodiments, providing the leaderboard at the leaderboard monitor can further fetch location level data from the fetched company data. The location level data can be loaded into a location array. In some embodiments, providing the leaderboard at the leaderboard monitor can further fetch statistic level data from the fetched company data. The statistic level data can be loaded into a statistic array. [0078] In some embodiments, the response data is a data package including the company array, the store, array, the location array, the device type array, the statistic array, or any combination of those arrays. The response data can be provided to or returned to the leaderboard monitor.
[0079] Fig. 6 is a block diagram a computing node according to embodiments of the present disclosure. Computing node 10 is only one example of a suitable computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments described herein. Regardless, computing node 10 is capable of being implemented and/or performing any of the functionality set forth hereinabove.
[0080] In computing node 10 there is a computer system/server 12, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with computer system/server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like. [0081] Computer system/server 12 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system/server 12 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
[0082] As shown in Fig. 6, computer system/server 12 in computing node 10 is shown in the form of a general -purpose computing device. The components of computer system/server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16.
[0083] Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, Peripheral Component Interconnect (PCI) bus, Peripheral Component Interconnect Express (PCIe), and Advanced Microcontroller Bus Architecture (AMBA).
[0084] Computer system/server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12, and it includes both volatile and non-volatile media, removable and non-removable media.
[0085] System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32. Computer system/server 12 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 18 by one or more data media interfaces. As will be further depicted and described below, memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the disclosure.
[0086] Program/utility 40, having a set (at least one) of program modules 42, may be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 42 generally carry out the functions and/or methodologies of embodiments as described herein.
[0087] Computer system/server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; one or more devices that enable a user to interact with computer system/server 12; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Still yet, computer system/server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system/server 12 via bus 18. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system/server 12. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
[0088] The present disclosure may be embodied as a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
[0089] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD- ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiberoptic cable), or electrical signals transmitted through a wire.
[0090] Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0091] Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions 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). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0092] Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (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 readable program instructions.
[0093] These computer readable 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. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. [0094] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0095] 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 embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). 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 carry out combinations of special purpose hardware and computer instructions.
[0096] The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments 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 described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

CLAIMS What is claimed is:
1. A method comprising: receiving, at a server, first timer data generated by a first timer system, the first timer system having a first native data format; importing, at the server, the received first timer data into a database; generating, at the server, a representation of a leaderboard including the first timer data; and sending the representation of the leaderboard to a leaderboard monitor of a second timer system, the second timer system having a second native data format, the second native data format being different from the first native data format.
2. The method of Claim 1, further comprising: receiving, at the server, second timer data generated by the second timer system; and importing, at the server, the received second timer data into the database, wherein generating the representation includes generating the representation of the leaderboard including the first timer data and the second timer data.
3. The method of Claim 2, further comprising: sending, to a leaderboard monitor of the first timer system, the representation of the leaderboard.
4. The method of Claim 1, wherein the first native data format includes a first plurality of fields, the second native data format includes a second plurality of fields, and at least one of the first plurality of fields is different from any of the second plurality of fields.
5. The method of Claim 1, wherein receiving the first timer data further includes receiving the first timer data from a database connected to the server over a network, the database configured to receive and store the first timer data from the first timer system.
6. The method of Claim 1, wherein receiving the second timer data further includes receiving the second timer data from a database connected to the server over a network, the database configured to receive and store the second timer data from the second timer system.
7. A system comprising: a computing node comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor of the computing node to cause the processor to perform a method comprising: receiving first timer data generated by a first timer system, the first timer system having a first native data format; importing the received first timer data into a database; generating a representation of a leaderboard including the first timer data; and sending, to a leaderboard monitor of a second timer system, the second timer system having a second native data format, the second native data format being different from the first native data format, the representation of the leaderboard.
8. The system of Claim 7, wherein the method performed by the processor further comprises: receiving second timer data generated by the second timer system; and importing the received second timer data into the database, wherein generating the representation includes generating the representation of the leaderboard including the first timer data and the second timer data.
9. The system of Claim 8, wherein the method performed by the processor further comprises: sending, to a leaderboard monitor of the first timer system, the representation of the leaderboard.
10. The system of Claim 7, wherein the first native data format includes a first plurality of fields, the second native data format includes a second plurality of fields, and at least one of the first plurality of fields is different from any of the second plurality of fields.
11. The system of Claim 7, wherein receiving the first timer data further includes receiving the first timer data from a database connected to the computing node over a network, the database configured to receive and store the first timer data from the first timer system.
12. The system of Claim 7, wherein receiving the second timer data further includes receiving the second timer data from a database connected to the computing node over a network, the database configured to receive and store the second timer data from the second timer system.
13. A computer program product for combining timer data, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a server to cause the server to perform a method comprising: receiving, at the server, first timer data generated by a first timer system, the first timer system having a first native data format; importing, at the server, the received first timer data into a database; generating, at the server, a representation of a leaderboard including the first timer data; and sending, to a leaderboard monitor of a second timer system, the second timer system having a second native data format, the second native data format being different from the first native data format, the representation of the leaderboard.
14. The computer program product of Claim 13, wherein the method performed by the server further comprises: receiving, at the server, second timer data generated by the second timer system; and importing, at the server, the received second timer data into the database, wherein generating the representation includes generating the representation of the leaderboard including the first timer data and the second timer data.
15. The computer program product of Claim 14, wherein the method performed by the server further comprises sending, to a leaderboard monitor of the first timer system, the representation of the leaderboard.
16. The computer program product of Claim 14, wherein the first native data format includes a first plurality of fields, the second native data format includes a second plurality of fields, and at least one of the first plurality of fields is different from any of the second plurality of fields.
17. The computer program product of Claim 14, wherein receiving the first timer data further includes receiving the first timer data from a database connected to the server over a network, the database configured to receive and store the first timer data from the first timer system.
18. The computer program product of Claim 14, wherein receiving the second timer data further includes receiving the second timer data from a database connected to the server over a network, the database configured to receive and store the second timer data from the second timer system.
PCT/US2025/029249 2024-05-14 2025-05-14 Combined leaderboard for heterogeneous data Pending WO2025240547A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202463647324P 2024-05-14 2024-05-14
US63/647,324 2024-05-14

Publications (1)

Publication Number Publication Date
WO2025240547A1 true WO2025240547A1 (en) 2025-11-20

Family

ID=97720817

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2025/029249 Pending WO2025240547A1 (en) 2024-05-14 2025-05-14 Combined leaderboard for heterogeneous data

Country Status (1)

Country Link
WO (1) WO2025240547A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150106025A1 (en) * 2013-10-11 2015-04-16 Sporttech, Llc Method and System for Determining and Communicating a Performance Measure Using a Performance Measurement System
US20160342311A1 (en) * 2015-05-21 2016-11-24 1804282 Ontario Limited Dba Gymnext Timer display and methods of communication between the timer display and a mobile device
US20190281360A1 (en) * 2009-02-23 2019-09-12 Beachfront Media Llc Automated Video-preroll Method and Device
US20220206581A1 (en) * 2020-12-31 2022-06-30 Snap Inc. Communication interface with haptic feedback response

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190281360A1 (en) * 2009-02-23 2019-09-12 Beachfront Media Llc Automated Video-preroll Method and Device
US20150106025A1 (en) * 2013-10-11 2015-04-16 Sporttech, Llc Method and System for Determining and Communicating a Performance Measure Using a Performance Measurement System
US20160342311A1 (en) * 2015-05-21 2016-11-24 1804282 Ontario Limited Dba Gymnext Timer display and methods of communication between the timer display and a mobile device
US20220206581A1 (en) * 2020-12-31 2022-06-30 Snap Inc. Communication interface with haptic feedback response

Similar Documents

Publication Publication Date Title
US11610232B2 (en) Systems and methods for using server side cookies by a demand side platform
US11521218B2 (en) Systems and methods for determining competitive market values of an ad impression
TWI792306B (en) System, apparatus and computer-implemented method for generating adaptive electronic notifications
US20130275475A1 (en) Monitoring System for Optimizing Integrated Business Processes to Work Flow
US20140278806A1 (en) Systems and methods for providing vehicle market analysis
US20110288968A1 (en) Processes and apparatus to generate cross charge and recoveies for shared service centers
US20210334871A1 (en) Systems and methods for distributing and updating product catalogs to wireless devices
CN110020876A (en) A kind of information generating method and device
US20070162500A1 (en) Incremental, real-time computation of aggregate expressions
CN114580998A (en) Logistics configuration system and method, storage medium and electronic equipment
WO2025240547A1 (en) Combined leaderboard for heterogeneous data
CN115019943A (en) Medicine data management method and system
US20210142361A1 (en) Method of Implementing a Digital Platform
US11514069B1 (en) Aggregation of contextual data and internet of things (IoT) device data
CN121169521A (en) Information display methods, devices, equipment, media and products
JP7494260B2 (en) PROGRAM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD
US20100179851A1 (en) Method and systems for generating enterprise plans using iterative disaggregation
US9836377B1 (en) Profiling application performance data
US11188959B2 (en) Point of purchase based physical item offer optimization
JP6998341B2 (en) Management equipment, management methods, and management programs
CN117592885A (en) Supply chain-based supply and demand data processing methods, devices, media and electronic equipment
KR20240113878A (en) Blockchain Based Quality Assurance Monitoring Method and System Therefor
CN119295210A (en) Business data processing method, device, equipment, medium and program product
US20150254318A1 (en) System and method of providing a snapshot of data and replaying the data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25804296

Country of ref document: EP

Kind code of ref document: A1