US20160111132A1 - Techniques for analyzing operations of one or more restaurants - Google Patents
Techniques for analyzing operations of one or more restaurants Download PDFInfo
- Publication number
- US20160111132A1 US20160111132A1 US14/980,109 US201514980109A US2016111132A1 US 20160111132 A1 US20160111132 A1 US 20160111132A1 US 201514980109 A US201514980109 A US 201514980109A US 2016111132 A1 US2016111132 A1 US 2016111132A1
- Authority
- US
- United States
- Prior art keywords
- events
- alert
- alert condition
- restaurant
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 claims description 32
- 238000012552 review Methods 0.000 claims description 17
- 238000005067 remediation Methods 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 12
- 230000002596 correlated effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 26
- 235000006538 Opuntia tuna Nutrition 0.000 description 21
- 244000237189 Opuntia tuna Species 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 10
- 238000002360 preparation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000007619 statistical method Methods 0.000 description 4
- 235000014121 butter Nutrition 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000003340 mental effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 240000008415 Lactuca sativa Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 235000012045 salad Nutrition 0.000 description 1
- 235000011890 sandwich Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- G06K9/00711—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3081—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is a video-frame or a video-field (P.I.P)
-
- G06K2009/00738—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/44—Event detection
Definitions
- the inventors have appreciated a need to provide meaningful information, guidance and assistance to employees responsible for managing restaurant operations, as operational issues arise.
- existing tools e.g., operational systems which produce voluminous amounts of data, centralized business analytics platforms
- techniques e.g., attempting to identify opportunities for operational improvement by querying large volumes of centrally stored data, long after the data is collected
- some embodiments of the invention provide systems and methods for using operational data to identify and diagnose operational issues in real or near-real time, so that meaningful information, guidance and assistance may be provided.
- some embodiments of the invention provide the capability to identify and store key business metrics represented in data produced by a restaurant's operational systems, to identify conditions which warrant attention, and to identify the metric(s) that indicate potential causes for those conditions.
- embodiments of the invention may serve to focus an employee's (e.g., a restaurant manager's) attention on the information that most likely explains why an operational problem is occurring, as it is occurring.
- Some embodiments of the invention may issue recommendations on how to fix the problem, and/or may address aspects of the problem automatically, without employee intervention.
- video footage may be captured of occurrences in the restaurant, and this video may be correlated with business metric data to assist in diagnosing and remediating operational issues. For example, once a condition warranting attention is identified, a review of video footage of processes which have been preliminarily identified as potential causes for the condition (e.g., using the data-driven analysis described above) may reveal that the condition results from a different issue than what was originally suspected. The video footage may also, for example, reveal the appropriate steps to take to address the condition. Moreover, review of the video footage may indicate additional types of analysis to be performed in the future to reduce the likelihood that the condition will arise again, and/or additional types of information that may be collected to support the analysis. In addition, the video footage may be a valuable tool in training employees to avoid the causes for the condition going forward.
- Some embodiments of the invention provide a method for use in a system comprising at least one repository storing data relating to operations of a restaurant and a video capture system for capturing video footage depicting operations of the restaurant.
- the data comprises information relating to a plurality of events and a plurality of alert conditions including a first alert condition.
- the method comprises acts of: (A) identifying, from among the plurality of events, one or more events occurring substantially contemporaneously with the first alert condition; (B) identifying video footage captured by the video capture system corresponding to the one or more events; and (C) causing the video footage corresponding to the one or more events to be displayed via a review interface to a user.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the invention.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the invention.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the invention.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the invention.
- FIG. 1 A block diagram illustrating an exemplary computing environment in accordance with the invention.
- a computer system comprising: at least one repository storing data relating to operations of a restaurant, the data comprising information relating to a plurality of events and a plurality of alert conditions including a first alert condition; a video capture system for capturing video footage depicting operations of the restaurant; and at least one computer processor programmed to: identify, from among the plurality of events, one or more events occurring substantially contemporaneously with the first alert condition; identify video footage corresponding to the one or more events; and cause the video footage corresponding to the one or more events to be displayed via a review interface to a user.
- FIG. 1 is a block diagram depicting a representative system for analyzing restaurant operations, in accordance with some embodiments of the invention
- FIG. 2 is a flowchart of a representative process for analyzing restaurant operations, in accordance with some embodiments of the invention.
- FIG. 3 is a flowchart of a representative process for analyzing operational data and corresponding video footage, in accordance with some embodiments of the invention.
- FIG. 4 is a block diagram depicting an example computer system with which some aspects of the invention may be implemented.
- Some embodiments of the invention provide techniques for using operational data and/or video footage to identify and diagnose operational issues.
- some embodiments provide the capability to identify and store key business metrics represented in data produced by a restaurant's operational systems, to identify conditions which warrant attention, and to identify the metrics that indicate potential causes for those conditions.
- embodiments of the invention may serve to focus attention on the information that most likely explains why an operational problem is occurring, as it is occurring.
- Video footage may be correlated with the business metric data to assist in diagnosing and remediating issues. For example, once a condition warranting attention is identified, a review of video footage of processes or situations which have been preliminarily identified as potential causes for the condition based on data-driven analysis may reveal that the condition is caused by another issue entirely.
- embodiments of the invention may provide powerful tools for issue diagnosis and remediation.
- FIG. 1 depicts a representative system 100 comprising various components for analyzing the operations of a restaurant.
- Representative system 100 includes operational systems 105 a , 105 b, 105 c and 105 n, which capture various data relating to restaurant operations and the customer's experience.
- Operational systems 105 a - 105 n may include, for example, systems for monitoring and/or facilitating kitchen operations, for managing staff, for conducting point of sale transactions, and/or for facilitating any of numerous aspects of restaurant operations. Any suitable type of system, for monitoring any suitable aspect(s) of a restaurant's operations, may be employed.
- FIG. 1 Although only four operational systems 105 are shown in FIG. 1 , it should be understood that any suitable number of operational systems may include in a system implemented in accordance with embodiments of the invention.
- Operational data store (ODS) 108 receives and stores data produced by operational systems 105 a - 105 n.
- ODS 108 may store any suitable information.
- ODS 108 may store the date and time composition of individual transactions (e.g., measured by transaction start, time stored at tender, time sent to line, time worked at line, time sent to expediter, time delivered to customer, and/or the time of any other suitable occurrence relating to a transaction), item information associated with each transactions (e.g., including item codes for items included in each transaction, modifiers, additions to or subtractions from an item requested by a customer, and/or any other suitable item information), employee information associated with individual transactions (e.g., the employee code(s) for the cashier or associate who received the customer's order, the code(s) for production, expediter, and/or backer employees who handled a transaction during preparation, and/or any other suitable employee information), and/or other information.
- ODS 108 is depicted in FIG. 1 as a
- Event engine 110 also receives data produced by operational systems 105 a - 105 n.
- event engine 110 executes queries on data produced by operational systems 105 a - 105 n to identify and summarize key business metrics.
- business metrics may also be referred to as “events,” although it is to be understood that an “event” may relate to more than one occurrence or transaction, or to no specific occurrence at all.
- the terms “event” and “metric” are used herein interchangeably.
- event engine 110 executes queries on data produced by operational systems 105 a - 105 n so that queries need not be executed on ODS 108 to support later analysis. In this respect, it should be appreciated that ODS 108 may store large amounts of data, so that query execution may be time-consuming.
- Event engine 110 may identify and/or summarize any suitable metric(s) represented in the data produced by operational systems 105 a - 105 n.
- Some basic examples include “speed of service” measures for specific intervals relating to a transaction (e.g., the amount of time between an order being opened and tender occurring, the amount of time between a make line position receiving the order and the order being “bumped” to the next position, the amount of time between an expediter receiving the order and the order being “bumped” to the next position, the amount of time between the order being received and customer delivery occurring, the total service time, the amount of time between a drive through order being received and pickup occurring, the amount of time between an order being ready and delivery occurring to the customer's table, home, or business, and/or any other suitable intervals), “bump” activity for various make line locations (e.g., total preparation times for salads, Panini, sandwiches, and/or any other suitable “bump” measures), and labor shift metrics (e.g., current and trending labor burn rate, current
- event data 115 the results of the filtering and pre-analysis performed by event engine 110 is stored in event data 115 .
- event data 115 is depicted in FIG. 1 as a single repository, the data stored thereby may be distributed (logically and/or physically) across any suitable number of data stores, and such data may be stored using any suitable tools and/or techniques.
- the queries executed by event engine 110 may be defined using event interface 112 .
- event interface 112 enables a user (e.g., an analyst, executive, restaurant manager, and/or any other suitable resource) to define constructs representing metrics to be captured by event engine 110 .
- constructs may be defined in any suitable way(s).
- a construct may be defined using logical operations, such as Boolean functions.
- Boolean functions A simple example of a Boolean function used to identify when data produced by operational systems 105 a - 105 n indicates that a “speed of service” measure for a particular menu item is too long is shown below. In this example, if the “speed of service” measure for transactions associated with a particular menu item exceeds five minutes, then an event named “speed of service too slow” is created and stored in event data 115 .
- a construct used to represent business metrics to be captured by event engine 110 need not be defined using Boolean functions. Any suitable technique(s) may be employed to identify and/or summarize key business metrics from data produced by operational systems.
- Event interface 112 may be implemented using any suitable collection of hardware and/or software components.
- event interface 112 may comprise a standalone application suitable for execution on a desktop computer (e.g., sitting in a restaurant manager's office), a web-based application running on a computer (e.g., server computer) accessible over a network (e.g., the Internet, a local area network, a wide area network, or some combination thereof), an “app” suitable for execution on a mobile device (e.g., a smartphone, tablet computer, and/or other mobile device), and/or any other suitable collection comprising hardware and/or software components.
- a desktop computer e.g., sitting in a restaurant manager's office
- a web-based application running on a computer (e.g., server computer) accessible over a network (e.g., the Internet, a local area network, a wide area network, or some combination thereof)
- an “app” suitable for execution on a mobile device e.g., a smartphone, tablet computer
- event data 115 is accessed by alert engine 120 to identify “alert conditions” represented in event data 115 .
- An alert condition may, for example, be any condition which indicates an operational issue.
- a condition represented in event data 115 may constitute an alert condition for any of numerous reasons.
- an alert condition may comprise one or more metrics stored in event data 115 which satisfy a predetermined threshold (e.g., by reaching an event count, representing a predefined percent deviation from a previously observed norm, and/or satisfying another threshold). Satisfaction of a threshold may, for example, be evaluated in relation to a given time period (e.g., a day, day portion, predefined interval, etc.).
- a count of a certain event during a specific time period may exceed a predetermined threshold count.
- alert engine 120 executes queries on event data 115 to identify alert conditions.
- the queries executed by alert engine 120 may be defined using alert interface 122 .
- alert interface 122 may enable a user (e.g., an analyst, executive, restaurant manager, and/or any other suitable resource) to define constructs representing alert conditions to be captured by alert engine 125 .
- a construct may be defined using logical operations, such as Boolean functions.
- Boolean functions A simple example of a Boolean function used to identify an alert condition indicating that the count of “speed of service too slow” events (described above) exceeds a predefined threshold count of six is shown below. In this example, when the defined alert condition is satisfied, an alert named “menu item SOS opportunity” is created and stored in alert data 125 .
- alert interface 122 enables notifications to be sent when alert conditions are satisfied.
- a user who defines an alert condition may indicate that when the condition is satisfied, a notification should be sent to certain other employees, a distribution group, a certain device (e.g., a mobile device), and/or any other suitable resource(s).
- a notification may be sent to the restaurant manager, when another when one alert condition is satisfied, a notification may be sent to an executive, etc.
- Alert notifications may be configured in any suitable fashion.
- alert interface 122 may be implemented using any suitable collection of hardware and/or software components, as embodiments of the invention are not limited in this respect.
- Whether a condition represented in event data 115 constitutes an alert condition may be defined in absolute terms, as in the example query above, or in variable terms.
- a representative alert condition defined in absolute terms may, for example, indicate that the condition is satisfied if the speed of service for a particular sandwich order exceeds a certain predefined amount of time (e.g., five minutes).
- a representative alert condition defined in variable terms for this metric may, for example, be based on a comparison between the speed of service measure for one sandwich order and speed of service for other sandwich orders.
- an alert condition may exist if the speed of service measure for a particular sandwich order deviates from the average speed of service measure across other sandwich orders (e.g., all other sandwich orders, other sandwich orders placed within a certain time period, and/or any other suitable subset) by a predetermined percentage. Because presumably the average speed of service for sandwich orders changes over time, the amount of time by which a particular sandwich order must deviate from the average to constitute an alert condition also varies.
- an alert condition defined in variable terms need not be based on a comparison between one event/metric and other events/metrics.
- an alert condition for speed of service for a sandwich order may be defined using a threshold amount of time which varies over the course of the day.
- the threshold amount of time may, for example, be longer during busy periods for the restaurant (as it may be expected that the restaurant's operations will slow down overall during these periods), and shorter during less busy periods (indicating less tolerance for completing customer orders slowly during these periods).
- Alert conditions may vary in any suitable way, as embodiments of the invention are not limited in this respect.
- alert conditions in variable terms may make alert notifications more meaningful to recipients. For example, if a restaurant manager received an alert notification each time the speed of service measure for a sandwich order exceeded a predetermined, static amount of time, then during certain periods (e.g., busy times during the day), the notifications might be sent almost constantly, and after a period the manager may choose to ignore them. By sending notifications only when an underlying alert condition is warranted, some embodiments of the invention may make the notification more meaningful, and/or place the underlying alert condition in greater context.
- inference engine 130 analyzes information stored in alert data 125 and event data 115 to identify relationships between business metrics and alert conditions. Specifically, inference engine 130 analyzes information in event data 115 to identify business metrics which indicate possible causes for an alert condition reflected in alert data 125 . A representative process 200 for identifying business metrics which may indicate causes for an alert condition is depicted in FIG. 2 .
- act 210 other alert conditions which are similar in some respect to the considered alert condition are identified.
- evaluating other alert conditions which are similar in some respect to the considered alert condition may enable more accurate statistical analysis than evaluating only a single alert condition in isolation, since evaluating only a single alert condition may lead to a misdiagnosis of the metric(s) that contributed to its occurring.
- embodiments of the invention may identify the metric(s) that have correlated most strongly with the alert condition over time.
- Identifying alert conditions which are similar to the considered alert condition in some respect may be performed in any of numerous ways.
- the other alert conditions may share one or more common characteristics, reflected in alert data 125 , with the considered alert condition.
- the considered alert condition relates to speed of service measures for sandwich orders
- the other alert conditions which are identified in act 210 may also relate to speed of service measures for sandwich orders.
- the other alert conditions may, for example, be identified by querying alert data 125 .
- the other alert conditions may have occurred previous to the considered alert condition. For example, evaluating alert conditions which occurred previous to the considered alert condition may provide useful insight into the business metrics that historically have correlated to the type of alert condition over time.
- embodiments of the invention are not so limited, as other alert conditions may have any suitable temporal relationship to the considered alert condition.
- Relationships may be identified in any of numerous ways. For example, relationships between alert conditions and business metrics may be identified based at least in part on institutional knowledge.
- inference engine 130 may, for example, apply business rules which codify known relationships between certain types of alert conditions and certain events or metrics which are observed substantially contemporaneously with alert conditions. For example, a business rule may specify that if an alert condition relates to the speed of service measure for sandwich orders exceeding a threshold amount of time, and information stored in event data 115 indicates that, at around the time the alert condition occurred, sales per labor hour exceeds a particular dollar amount, then an inference may be drawn that the restaurant is likely understaffed. As such, inference engine 130 may issue a recommendation to the restaurant manager to call in additional staff to work.
- Relationships between business metrics and alert conditions need not be identified based on institutional knowledge. For example, statistical analysis may be performed to identify metrics indicating possible causes for alert conditions. Continuing with the example of an alert condition relating to the speed of service for sandwich orders exceeding a threshold amount of time, if information stored in event data 115 indicates that, at around the time the alert condition occurred, sales per labor hour is at acceptable levels, then other potential causes may be investigated. As such, inference engine 130 may analyze metrics stored in event data 115 to identify potential causes for the rise in speed of service, to identify the metric(s) that correlate most strongly to the alert condition over time.
- Statistical analysis may take any suitable form, and correlations may be identified using any suitable statistical technique(s).
- elimination queries may be executed to identify correlations between alert conditions and events/metrics which occurred or were recorded at the same time the alert conditions were recorded.
- embodiments of the invention are not limited to employing elimination queries, as any suitable technique for identifying correlations may be employed.
- Representative process 200 then proceeds to act 230 , wherein relationships between the considered alert condition and business metrics are displayed.
- inference engine 130 may cause an indication of the relationships to be displayed by review interface 135 .
- This may take any of numerous forms.
- act 230 may involve review interface 135 displaying a rank-ordered list showing business metric(s) which historically correlate most strongly to the alert condition.
- Act 230 may also or alternatively involve review interface 135 displaying recommendations (e.g., to a restaurant manager) on actions that may be taken to remediate the alert condition. Any suitable information may be displayed.
- Review interface 135 may comprise any suitable interface, comprised of any suitable collection of hardware and/or software components.
- review interface 135 may comprise a standalone application which executes on a desktop computer in the restaurant manager's office, a mobile web application executing on a server and accessed via a mobile device executing a browser application (e.g., a smartphone, tablet device, etc.), an “app” which executes on a mobile device, and/or any other hardware and/or software components.
- identifying and displaying relationships between business metrics and alert conditions may make remediation more effective. For example, if analysis of an alert condition relating to speed of service measures for sandwich orders indicates during the time that speed of service began to get longer, the number of customers arriving at the restaurant also rose markedly, that there was a relatively large number of employees on break, and that several of the employees that were working were focused on delivery orders rather than incoming foot traffic, then this may lead to a recommendation that employees be deployed differently to place more focus on the orders causing speed of service to rise.
- a common reaction by restaurant managers to increases in speed of service is to call more staff in to work, which results in increased labor costs.
- Some embodiments of the invention provide the capability to not only make recommendations on issue remediation, but to perform such remediation automatically. For example, given an alert condition relating to speed of service for sandwich orders exceeding a threshold amount of time, an analysis of event data 115 may indicate that speed of service is longest for e-commerce orders. As a result, system parameters relating to e-commerce orders may be modified to deal with the issue. For example, inference engine 130 may automatically modify the system parameter which controls the lead time that customers who place e-commerce orders are instructed to give before attempting to pick up their orders. For example, if the normal amount of suggest lead time given to customers is twelve minutes, then the system parameter may be changed to instruct customers to give fifteen minutes of lead time instead. Doing so may provide preparation staff more time to assemble subsequent orders, and help conditions settle down.
- remediation actions may be taken automatically.
- system parameters may be automatically modified, instructions to employees may be automatically issued, load balancing procedures may be automatically invoked, and/or any other type of action(s) may be taken, as embodiments of the invention are not limited in this respect.
- representative system 100 also includes video capture system 140 , which may include components for capturing information useful for diagnosing operational issues and devising strategies for resolving them.
- Video capture system 140 may include one or more video capture devices (e.g., video surveillance cameras) which capture video footage depicting various aspects of restaurant operations. For example, video capture system 140 may capture video footage of point of sale transactions, order preparation processes, dining areas, and/or any other suitable occurrences and/or locations.
- video capture system 140 captures video footage relating to events stored in event data 115 , and stores the video footage in video repository 145 , which may comprise any suitable storage component(s) and employ any suitable storage technique(s).
- inference engine 130 correlates video footage stored in video repository 145 to event data 115 and alert data 125 .
- Correlation of video footage to event and alert data may have any of numerous uses.
- video footage relating to metrics preliminarily identified as potential root causes for an alert condition i.e., using the data-driven techniques described above
- a restaurant manager investigating the cause of long speed of service measures for Panini orders may conclude, based only on alert data 125 and event data 115 , that the Panini press operator is to blame (e.g., because event data suggests that the press operator makes Panini more slowly than other, comparably trained employees do).
- an examination of video footage of the Panini preparation station may reveal that the press operator is actually working as efficiently as other employees, but that the bin which stores the butter used to lubricate the press is consistently running out during the operator's shift on the press, so that he keeps needing to ask to have it refilled, which slows him down.
- video footage depicting the root condition may serve as a useful training tool.
- a restaurant manager may show video footage depicting the press operator waiting for the butter bin to be filled, and data showing the effect on speed of service measures, to the employee responsible for filling the bin, so that he understands the consequences of it not being filled on time.
- FIG. 3 depicts a representative process 300 for using video footage and operational data to analyze operational issues.
- the alert condition(s) and/or event(s) to be analyzed are identified, and then in act 320 , the video footage corresponding to the considered alert condition(s) and/or event(s) is identified.
- This may be performed in any of numerous ways. For example, some representative techniques for correlating video footage to operational data are described in commonly assigned U.S. patent application Ser. No. 13/837,940, filed Mar. 15, 2013, entitled “Use Of Video To Manage Process Quality,” which is incorporated herein by reference in its entirety. Some aspects of these techniques are summarized below.
- At least some of the records stored in event data 115 and alert data 125 include date and time stamps.
- a date and time stamp for a record may indicate, for example, when the record was first produced and stored in the associated repository.
- video footage stored in video repository 145 also includes date and time stamps.
- the date and time stamp for an alert or event record may be used to retrieve corresponding video footage (e.g., having a corresponding date and time stamp) from video repository 145 .
- a date and time stamp for video footage need not exactly match a date and time stamp for an alert or event record. For example, it may be desirable to retrieve video footage captured just before and/or just after an alert or event was recorded. As an example, if the date and time stamp for an alert or event record indicates it was recorded at a particular time, then video footage having a date and time stamp indicating it was captured starting thirty seconds prior to that time, and ending thirty seconds after that time, may be retrieved.
- the date and time stamps for an alert or event record and for corresponding video footage may have any suitable relationship, as embodiments of the invention are not limited in this respect.
- Other information may also, or alternatively, be used to retrieve video footage which corresponds to an alert or event record. For example, if data included in an alert or event record to be analyzed indicates that it originated from a point of sale terminal, then this information may be used to identify the video footage to be retrieved (e.g., footage which shows the terminal). Similarly, if data included in an alert or event record indicates that it originated from a kitchen management system, then this information may be used to identify the video footage to be retrieved (e.g., footage that shows the restaurant's food preparation area). Any suitable information may be used to retrieve video footage from video repository 145 .
- representative process 300 proceeds to act 330 , wherein video footage and/or data corresponding to the alert condition(s) and/or event(s) is displayed.
- video footage and/or data may be displayed via review interface 135 , although any suitable display device(s) may be employed.
- Display of video footage and/or data correlating to the alert condition(s) and/or event(s) may have any of numerous uses.
- a review of video footage corresponding to events, metrics or processes preliminarily identified as root causes for an alert condition may provide evidence which either supports or disproves the initial hypothesis, making it less likely that an operational issue is misdiagnosed.
- Act 330 may involve displaying video footage to a restaurant manager of an employee operating the Panini press from 11:15 a.m.
- representative process 300 proceeds to act 340 , wherein user input relating to the video footage and/or data displayed in act 330 is received.
- Input may take any of numerous forms.
- the input may include an indication whether or not video footage and/or data displayed in the act 330 is useful in analyzing the considered alert condition and/or event, such as if the video footage and/or data depicts or describes the root cause of the alert condition and/or event.
- act 340 may involve the restaurant manager indicating that the video footage did not capture the cause of the alert condition.
- the user's input may serve as tacit acknowledgement that an alert condition or event was properly identified for their review, even if the video footage and/or data does not depict or describe the cause of the alert condition or event.
- the user's input may point to additional analysis which could be performed (e.g., by alert engine 120 and/or inference engine 130 ) and/or data which could be captured (e.g., by event engine 110 ) to more effectively diagnose operational issues going forward.
- event engine 110 may be modified to collect event data relating to power supplied to the Panini press
- alert engine 120 may be modified to incorporate an alert condition based on power supply to the Panini press
- inference engine 130 may be modified to correlate speed of service measures relating to Panini orders with power supply to the Panini press.
- embodiments of the invention may, over time, become more effective at identifying the occurrence and cause of operational issues, as well as the information which the user considers relevant. As such, embodiments of the invention may reduce incorrect diagnoses, and limit the amount of information which the user is asked to process to only that information which is truly relevant or important, thereby freeing the user's time and mental bandwidth to focus on other issues.
- representative process 300 proceeds to act 350 , wherein a determination is made whether there is additional video footage and/or data to be displayed to the user. If it is determined that there is no additional video footage and/or data to be displayed, then representative process 300 completes. If it is determined, however, that there is additional video footage and/or data to be displayed to the user, representative process 300 proceeds to act 360 , wherein a determination is made whether any change should be made to the additional video footage and/or data based on the input received in the act 340 .
- representative process 300 proceeds to act 370 , wherein the change is made. At the completion of the change, or if it is determined in act 360 that no change is to be made, representative process returns to act 330 , wherein the additional video footage and/or data is displayed to the user. Representative process 300 then proceeds on from act 330 as described above.
- representative processes 200 and 300 shown in FIGS. 2 and 3 represent only examples of processes for performing the described functions, and that any of numerous variations are possible.
- representative processes 200 or 300 may include acts not described above, may not include all of the acts described above, and/or may include the acts described above being performed in a different sequence than that which is described above.
- a system for analyzing restaurant operations may analyze data produced in multiple restaurants, or a single restaurant may employ multiple systems. Any of multiple modes of implementation may be used.
- FIG. 4 illustrates an example of a suitable computing system environment 400 which may be used to implement aspects of the invention.
- the computing system environment 400 shown in FIG. 4 is only one example of a suitable computing environment, and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 400 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 400 .
- the invention 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 the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- the computing environment may execute computer-executable instructions, such as program modules.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the invention may also be practiced in distributed 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 storage media including memory storage devices.
- an example system for implementing the invention includes a general purpose computing device in the form of a computer 410 .
- Components of computer 410 may include, but are not limited to, a processing unit 420 , a system memory 430 , and a system bus 421 that couples various system components including the system memory to the processing unit 420 .
- the system bus 421 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- PCI Peripheral Component Interconnect
- Computer 410 typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by computer 410 and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer readable media may comprise computer storage media and communication media.
- Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 410 .
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
- the system memory 430 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 431 and random access memory (RAM) 432 .
- ROM read only memory
- RAM random access memory
- BIOS basic input/output system 433
- RAM 432 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 420 .
- FIG. 4 illustrates operating system 434 , application programs 435 , other program modules 436 , and program data 437 .
- the computer 410 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
- FIG. 4 illustrates a hard disk drive 441 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 451 that reads from or writes to a removable, nonvolatile magnetic disk 452 , and an optical disk drive 455 that reads from or writes to a removable, nonvolatile optical disk 456 such as a CD ROM or other optical media.
- removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 441 is typically connected to the system bus 421 through an non-removable memory interface such as interface 440
- magnetic disk drive 451 and optical disk drive 455 are typically connected to the system bus 421 by a removable memory interface, such as interface 450 .
- the drives and their associated computer storage media discussed above and illustrated in FIG. 4 provide storage of computer readable instructions, data structures, program modules and other data for the computer 410 .
- hard disk drive 441 is illustrated as storing operating system 444 , application programs 445 , other program modules 446 , and program data 447 .
- operating system 444 application programs 445 , other program modules 446 , and program data 447 are given different numbers here to illustrate that, at a minimum, they are different copies.
- a user may enter commands and information into the computer 410 through input devices such as a keyboard 462 and pointing device 461 , commonly referred to as a mouse, trackball or touch pad.
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 420 through a user input interface 460 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
- a monitor 491 or other type of display device is also connected to the system bus 421 via an interface, such as a video interface 490 .
- computers may also include other peripheral output devices such as speakers 497 and printer 496 , which may be connected through a output peripheral interface 495 .
- the computer 410 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 480 .
- the remote computer 480 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 410 , although only a memory storage device 481 has been illustrated in FIG. 4 .
- the logical connections depicted in FIG. 4 include a local area network (LAN) 471 and a wide area network (WAN) 473 , but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 410 When used in a LAN networking environment, the computer 410 is connected to the LAN 471 through a network interface or adapter 470 .
- the computer 410 When used in a WAN networking environment, the computer 410 typically includes a modem 472 or other means for establishing communications over the WAN 473 , such as the Internet.
- the modem 472 which may be internal or external, may be connected to the system bus 421 via the user input interface 460 , or other appropriate mechanism.
- program modules depicted relative to the computer 410 may be stored in the remote memory storage device.
- FIG. 4 illustrates remote application programs 485 as residing on memory device 481 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- the above-described embodiments of the present invention can be implemented in any of numerous ways.
- the embodiments may be implemented using hardware, software or a combination thereof.
- the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
- processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component.
- a processor may be implemented using circuitry in any suitable format.
- a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
- PDA Personal Digital Assistant
- a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
- Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet.
- networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
- the invention may be embodied as a computer readable storage medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above.
- a computer readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form.
- Such a computer readable storage medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
- the term “computer-readable storage medium” encompasses only a computer-readable medium that can be considered to be a manufacture (i.e., article of manufacture) or a machine.
- the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
- program or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
- Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- functionality of the program modules may be combined or distributed as desired in various embodiments.
- data structures may be stored in computer-readable media in any suitable form.
- data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields.
- any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
- the invention may be embodied as a method, of which an example has been provided.
- the acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Multimedia (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application is a continuation of commonly assigned, co-pending U.S. patent application Ser. No. 14/032,701, filed Sep. 20, 2013, entitled “TECHNIQUES FOR ANALYZING OPERATIONS OF ONE OR MORE RESTAURANTS,” having Attorney Docket No. P0977.70017U.S.00, the entirety of which is incorporated herein by reference.
- Many restaurants and restaurant chains employ automated systems to collect operational data, such as systems designed to monitor kitchen operations, or to collect data on a customer's experience within the restaurant, such as point of sale systems. Typically, the data produced by these systems is loaded to a centralized business analytics platform for examination by analysts who query the data to attempt to identify trends, business opportunities, etc. Often, this type of analysis is performed on large volumes of data collected from numerous restaurants, long after the data has been collected.
- The inventors have appreciated a need to provide meaningful information, guidance and assistance to employees responsible for managing restaurant operations, as operational issues arise. The inventors have further appreciated that existing tools (e.g., operational systems which produce voluminous amounts of data, centralized business analytics platforms) and techniques (e.g., attempting to identify opportunities for operational improvement by querying large volumes of centrally stored data, long after the data is collected) are ill-suited to satisfying this need. Accordingly, some embodiments of the invention provide systems and methods for using operational data to identify and diagnose operational issues in real or near-real time, so that meaningful information, guidance and assistance may be provided.
- For example, some embodiments of the invention provide the capability to identify and store key business metrics represented in data produced by a restaurant's operational systems, to identify conditions which warrant attention, and to identify the metric(s) that indicate potential causes for those conditions. As such, embodiments of the invention may serve to focus an employee's (e.g., a restaurant manager's) attention on the information that most likely explains why an operational problem is occurring, as it is occurring. Some embodiments of the invention may issue recommendations on how to fix the problem, and/or may address aspects of the problem automatically, without employee intervention.
- In some embodiments of the invention, video footage may be captured of occurrences in the restaurant, and this video may be correlated with business metric data to assist in diagnosing and remediating operational issues. For example, once a condition warranting attention is identified, a review of video footage of processes which have been preliminarily identified as potential causes for the condition (e.g., using the data-driven analysis described above) may reveal that the condition results from a different issue than what was originally suspected. The video footage may also, for example, reveal the appropriate steps to take to address the condition. Moreover, review of the video footage may indicate additional types of analysis to be performed in the future to reduce the likelihood that the condition will arise again, and/or additional types of information that may be collected to support the analysis. In addition, the video footage may be a valuable tool in training employees to avoid the causes for the condition going forward.
- Some embodiments of the invention provide a method for use in a system comprising at least one repository storing data relating to operations of a restaurant and a video capture system for capturing video footage depicting operations of the restaurant. The data comprises information relating to a plurality of events and a plurality of alert conditions including a first alert condition. The method comprises acts of: (A) identifying, from among the plurality of events, one or more events occurring substantially contemporaneously with the first alert condition; (B) identifying video footage captured by the video capture system corresponding to the one or more events; and (C) causing the video footage corresponding to the one or more events to be displayed via a review interface to a user.
- Other embodiments of the invention provide at least one non-transitory storage device storing instructions which, when executed in a system comprising at least one repository storing data relating to operations of a restaurant and a video capture system for capturing video footage depicting operations of the restaurant, the data comprising information relating to a plurality of events and a plurality of alert conditions including a first alert condition, perform a method comprising acts of: (A) identifying, from among the plurality of events, one or more events occurring substantially contemporaneously with the first alert condition; (B) identifying video footage corresponding to the one or more events; and (C) causing the video footage corresponding to the one or more events to be displayed via a review interface to a user.
- Other embodiments of the invention provide a computer system, comprising: at least one repository storing data relating to operations of a restaurant, the data comprising information relating to a plurality of events and a plurality of alert conditions including a first alert condition; a video capture system for capturing video footage depicting operations of the restaurant; and at least one computer processor programmed to: identify, from among the plurality of events, one or more events occurring substantially contemporaneously with the first alert condition; identify video footage corresponding to the one or more events; and cause the video footage corresponding to the one or more events to be displayed via a review interface to a user.
- The foregoing provides a non-limiting overview of certain embodiments of the invention. Some embodiments of the invention are defined in the attached claims.
- The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component illustrated in the various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
-
FIG. 1 is a block diagram depicting a representative system for analyzing restaurant operations, in accordance with some embodiments of the invention; -
FIG. 2 is a flowchart of a representative process for analyzing restaurant operations, in accordance with some embodiments of the invention; -
FIG. 3 is a flowchart of a representative process for analyzing operational data and corresponding video footage, in accordance with some embodiments of the invention; and -
FIG. 4 is a block diagram depicting an example computer system with which some aspects of the invention may be implemented. - Some embodiments of the invention provide techniques for using operational data and/or video footage to identify and diagnose operational issues. In this respect, some embodiments provide the capability to identify and store key business metrics represented in data produced by a restaurant's operational systems, to identify conditions which warrant attention, and to identify the metrics that indicate potential causes for those conditions. As such, embodiments of the invention may serve to focus attention on the information that most likely explains why an operational problem is occurring, as it is occurring. Video footage may be correlated with the business metric data to assist in diagnosing and remediating issues. For example, once a condition warranting attention is identified, a review of video footage of processes or situations which have been preliminarily identified as potential causes for the condition based on data-driven analysis may reveal that the condition is caused by another issue entirely. By correlating video and data, embodiments of the invention may provide powerful tools for issue diagnosis and remediation.
-
FIG. 1 depicts arepresentative system 100 comprising various components for analyzing the operations of a restaurant.Representative system 100 includesoperational systems FIG. 1 , it should be understood that any suitable number of operational systems may include in a system implemented in accordance with embodiments of the invention. - Operational data store (ODS) 108 receives and stores data produced by operational systems 105 a-105 n. In some implementations, ODS 108 may store any suitable information. For example, ODS 108 may store the date and time composition of individual transactions (e.g., measured by transaction start, time stored at tender, time sent to line, time worked at line, time sent to expediter, time delivered to customer, and/or the time of any other suitable occurrence relating to a transaction), item information associated with each transactions (e.g., including item codes for items included in each transaction, modifiers, additions to or subtractions from an item requested by a customer, and/or any other suitable item information), employee information associated with individual transactions (e.g., the employee code(s) for the cashier or associate who received the customer's order, the code(s) for production, expediter, and/or backer employees who handled a transaction during preparation, and/or any other suitable employee information), and/or other information. Although ODS 108 is depicted in
FIG. 1 as a single repository, the data included in ODS 108 may be distributed across any suitable number of data stores. Data may be stored in ODS 108 using any suitable tools and/or techniques. -
Event engine 110 also receives data produced by operational systems 105 a-105 n. In accordance with some embodiments of the invention,event engine 110 executes queries on data produced by operational systems 105 a-105 n to identify and summarize key business metrics. (In the description that follows, business metrics may also be referred to as “events,” although it is to be understood that an “event” may relate to more than one occurrence or transaction, or to no specific occurrence at all. The terms “event” and “metric” are used herein interchangeably.) In some embodiments,event engine 110 executes queries on data produced by operational systems 105 a-105 n so that queries need not be executed on ODS 108 to support later analysis. In this respect, it should be appreciated that ODS 108 may store large amounts of data, so that query execution may be time-consuming. -
Event engine 110 may identify and/or summarize any suitable metric(s) represented in the data produced by operational systems 105 a-105 n. Some basic examples include “speed of service” measures for specific intervals relating to a transaction (e.g., the amount of time between an order being opened and tender occurring, the amount of time between a make line position receiving the order and the order being “bumped” to the next position, the amount of time between an expediter receiving the order and the order being “bumped” to the next position, the amount of time between the order being received and customer delivery occurring, the total service time, the amount of time between a drive through order being received and pickup occurring, the amount of time between an order being ready and delivery occurring to the customer's table, home, or business, and/or any other suitable intervals), “bump” activity for various make line locations (e.g., total preparation times for salads, Panini, sandwiches, and/or any other suitable “bump” measures), and labor shift metrics (e.g., current and trending labor burn rate, current and trending production velocity, current and trending transaction counts, manager on duty, number of employees currently in training, and/or any other suitable labor shift metrics). Inrepresentative system 100, the results of the filtering and pre-analysis performed byevent engine 110 is stored inevent data 115. As with ODS 108, althoughevent data 115 is depicted inFIG. 1 as a single repository, the data stored thereby may be distributed (logically and/or physically) across any suitable number of data stores, and such data may be stored using any suitable tools and/or techniques. - In some embodiments of the invention, the queries executed by
event engine 110 may be defined usingevent interface 112. Specifically, in some embodiments,event interface 112 enables a user (e.g., an analyst, executive, restaurant manager, and/or any other suitable resource) to define constructs representing metrics to be captured byevent engine 110. These constructs may be defined in any suitable way(s). For example, in some embodiments, a construct may be defined using logical operations, such as Boolean functions. A simple example of a Boolean function used to identify when data produced by operational systems 105 a-105 n indicates that a “speed of service” measure for a particular menu item is too long is shown below. In this example, if the “speed of service” measure for transactions associated with a particular menu item exceeds five minutes, then an event named “speed of service too slow” is created and stored inevent data 115. -
- Event=speed of service too slow
- —IF— “speed of service” —FOR— “menu item” —GREATER THAN— “5 minutes” —THEN— “record item SOS infraction”
- Store Event as “speed of service too slow” for “menu item”
- It should be appreciated that a construct used to represent business metrics to be captured by
event engine 110 need not be defined using Boolean functions. Any suitable technique(s) may be employed to identify and/or summarize key business metrics from data produced by operational systems. -
Event interface 112 may be implemented using any suitable collection of hardware and/or software components. For example,event interface 112 may comprise a standalone application suitable for execution on a desktop computer (e.g., sitting in a restaurant manager's office), a web-based application running on a computer (e.g., server computer) accessible over a network (e.g., the Internet, a local area network, a wide area network, or some combination thereof), an “app” suitable for execution on a mobile device (e.g., a smartphone, tablet computer, and/or other mobile device), and/or any other suitable collection comprising hardware and/or software components. Embodiments of the invention are not limited to any particular manner of implementation. - In
representative system 100,event data 115 is accessed byalert engine 120 to identify “alert conditions” represented inevent data 115. An alert condition may, for example, be any condition which indicates an operational issue. - A condition represented in
event data 115 may constitute an alert condition for any of numerous reasons. For example, an alert condition may comprise one or more metrics stored inevent data 115 which satisfy a predetermined threshold (e.g., by reaching an event count, representing a predefined percent deviation from a previously observed norm, and/or satisfying another threshold). Satisfaction of a threshold may, for example, be evaluated in relation to a given time period (e.g., a day, day portion, predefined interval, etc.). Thus, to constitute an alert condition, a count of a certain event during a specific time period may exceed a predetermined threshold count. - In
representative system 100,alert engine 120 executes queries onevent data 115 to identify alert conditions. In some embodiments of the invention, the queries executed byalert engine 120 may be defined usingalert interface 122. For example,alert interface 122 may enable a user (e.g., an analyst, executive, restaurant manager, and/or any other suitable resource) to define constructs representing alert conditions to be captured byalert engine 125. As withevent interface 112, a construct may be defined using logical operations, such as Boolean functions. A simple example of a Boolean function used to identify an alert condition indicating that the count of “speed of service too slow” events (described above) exceeds a predefined threshold count of six is shown below. In this example, when the defined alert condition is satisfied, an alert named “menu item SOS opportunity” is created and stored inalert data 125. -
- Alert=menu item SOS opportunity
- —IF— “count” of “speed of service too slow” —FOR— “menu item” —GREATER THAN— “count of 6” —THEN— “record menu item SOS infraction alert”
- Store Alert as “Menu Item SOS Opportunity”
- In some embodiments,
alert interface 122 enables notifications to be sent when alert conditions are satisfied. For example, a user who defines an alert condition may indicate that when the condition is satisfied, a notification should be sent to certain other employees, a distribution group, a certain device (e.g., a mobile device), and/or any other suitable resource(s). Thus, when one alert condition is satisfied, a notification may be sent to the restaurant manager, when another when one alert condition is satisfied, a notification may be sent to an executive, etc. Alert notifications may be configured in any suitable fashion. - As with
event interface 112,alert interface 122 may be implemented using any suitable collection of hardware and/or software components, as embodiments of the invention are not limited in this respect. - Whether a condition represented in
event data 115 constitutes an alert condition may be defined in absolute terms, as in the example query above, or in variable terms. To illustrate the distinction, consider an example event/metric representing the “speed of service” measure for transactions relating to sandwich orders. A representative alert condition defined in absolute terms may, for example, indicate that the condition is satisfied if the speed of service for a particular sandwich order exceeds a certain predefined amount of time (e.g., five minutes). A representative alert condition defined in variable terms for this metric may, for example, be based on a comparison between the speed of service measure for one sandwich order and speed of service for other sandwich orders. For example, an alert condition may exist if the speed of service measure for a particular sandwich order deviates from the average speed of service measure across other sandwich orders (e.g., all other sandwich orders, other sandwich orders placed within a certain time period, and/or any other suitable subset) by a predetermined percentage. Because presumably the average speed of service for sandwich orders changes over time, the amount of time by which a particular sandwich order must deviate from the average to constitute an alert condition also varies. - Of course, an alert condition defined in variable terms need not be based on a comparison between one event/metric and other events/metrics. Continuing with the speed of service example to illustrate, an alert condition for speed of service for a sandwich order may be defined using a threshold amount of time which varies over the course of the day. The threshold amount of time may, for example, be longer during busy periods for the restaurant (as it may be expected that the restaurant's operations will slow down overall during these periods), and shorter during less busy periods (indicating less tolerance for completing customer orders slowly during these periods). Alert conditions may vary in any suitable way, as embodiments of the invention are not limited in this respect.
- It should be appreciated that defining alert conditions in variable terms may make alert notifications more meaningful to recipients. For example, if a restaurant manager received an alert notification each time the speed of service measure for a sandwich order exceeded a predetermined, static amount of time, then during certain periods (e.g., busy times during the day), the notifications might be sent almost constantly, and after a period the manager may choose to ignore them. By sending notifications only when an underlying alert condition is warranted, some embodiments of the invention may make the notification more meaningful, and/or place the underlying alert condition in greater context.
- In
representative system 100,inference engine 130 analyzes information stored inalert data 125 andevent data 115 to identify relationships between business metrics and alert conditions. Specifically,inference engine 130 analyzes information inevent data 115 to identify business metrics which indicate possible causes for an alert condition reflected inalert data 125. A representative process 200 for identifying business metrics which may indicate causes for an alert condition is depicted inFIG. 2 . - At the start of representative process 200, in
act 210, other alert conditions which are similar in some respect to the considered alert condition are identified. In this respect, the inventors have appreciated that evaluating other alert conditions which are similar in some respect to the considered alert condition may enable more accurate statistical analysis than evaluating only a single alert condition in isolation, since evaluating only a single alert condition may lead to a misdiagnosis of the metric(s) that contributed to its occurring. By analyzing multiple alert conditions in aggregate, embodiments of the invention may identify the metric(s) that have correlated most strongly with the alert condition over time. - Identifying alert conditions which are similar to the considered alert condition in some respect may be performed in any of numerous ways. For example, the other alert conditions may share one or more common characteristics, reflected in
alert data 125, with the considered alert condition. For example, if the considered alert condition relates to speed of service measures for sandwich orders, then the other alert conditions which are identified inact 210 may also relate to speed of service measures for sandwich orders. The other alert conditions may, for example, be identified by queryingalert data 125. - In some embodiments, the other alert conditions may have occurred previous to the considered alert condition. For example, evaluating alert conditions which occurred previous to the considered alert condition may provide useful insight into the business metrics that historically have correlated to the type of alert condition over time. However, embodiments of the invention are not so limited, as other alert conditions may have any suitable temporal relationship to the considered alert condition.
- Representative process 200 then proceeds to act 220, wherein relationships between the alert conditions identified in
act 210 and business metrics are identified. Relationships may be identified in any of numerous ways. For example, relationships between alert conditions and business metrics may be identified based at least in part on institutional knowledge. In this respect,inference engine 130 may, for example, apply business rules which codify known relationships between certain types of alert conditions and certain events or metrics which are observed substantially contemporaneously with alert conditions. For example, a business rule may specify that if an alert condition relates to the speed of service measure for sandwich orders exceeding a threshold amount of time, and information stored inevent data 115 indicates that, at around the time the alert condition occurred, sales per labor hour exceeds a particular dollar amount, then an inference may be drawn that the restaurant is likely understaffed. As such,inference engine 130 may issue a recommendation to the restaurant manager to call in additional staff to work. - Relationships between business metrics and alert conditions need not be identified based on institutional knowledge. For example, statistical analysis may be performed to identify metrics indicating possible causes for alert conditions. Continuing with the example of an alert condition relating to the speed of service for sandwich orders exceeding a threshold amount of time, if information stored in
event data 115 indicates that, at around the time the alert condition occurred, sales per labor hour is at acceptable levels, then other potential causes may be investigated. As such,inference engine 130 may analyze metrics stored inevent data 115 to identify potential causes for the rise in speed of service, to identify the metric(s) that correlate most strongly to the alert condition over time. - Statistical analysis may take any suitable form, and correlations may be identified using any suitable statistical technique(s). In some embodiments, elimination queries may be executed to identify correlations between alert conditions and events/metrics which occurred or were recorded at the same time the alert conditions were recorded. Of course, embodiments of the invention are not limited to employing elimination queries, as any suitable technique for identifying correlations may be employed.
- Representative process 200 then proceeds to act 230, wherein relationships between the considered alert condition and business metrics are displayed. For example,
inference engine 130 may cause an indication of the relationships to be displayed byreview interface 135. This may take any of numerous forms. For example, if statistical analysis was used inact 220 to identify the relationships, then act 230 may involvereview interface 135 displaying a rank-ordered list showing business metric(s) which historically correlate most strongly to the alert condition. Act 230 may also or alternatively involvereview interface 135 displaying recommendations (e.g., to a restaurant manager) on actions that may be taken to remediate the alert condition. Any suitable information may be displayed. -
Review interface 135 may comprise any suitable interface, comprised of any suitable collection of hardware and/or software components. For example,review interface 135 may comprise a standalone application which executes on a desktop computer in the restaurant manager's office, a mobile web application executing on a server and accessed via a mobile device executing a browser application (e.g., a smartphone, tablet device, etc.), an “app” which executes on a mobile device, and/or any other hardware and/or software components. - At the completion of
act 230, representative process 200 completes. - It should be appreciated that identifying and displaying relationships between business metrics and alert conditions may make remediation more effective. For example, if analysis of an alert condition relating to speed of service measures for sandwich orders indicates during the time that speed of service began to get longer, the number of customers arriving at the restaurant also rose markedly, that there was a relatively large number of employees on break, and that several of the employees that were working were focused on delivery orders rather than incoming foot traffic, then this may lead to a recommendation that employees be deployed differently to place more focus on the orders causing speed of service to rise. By contrast, a common reaction by restaurant managers to increases in speed of service is to call more staff in to work, which results in increased labor costs. By more effectively diagnosing the true cause for the rise in speed of service as employee station deployment, rather than the restaurant being presently understaffed, embodiments of the invention may make remediation more effective, and enable cost savings to be achieved in comparison to typical remediation efforts.
- Some embodiments of the invention provide the capability to not only make recommendations on issue remediation, but to perform such remediation automatically. For example, given an alert condition relating to speed of service for sandwich orders exceeding a threshold amount of time, an analysis of
event data 115 may indicate that speed of service is longest for e-commerce orders. As a result, system parameters relating to e-commerce orders may be modified to deal with the issue. For example,inference engine 130 may automatically modify the system parameter which controls the lead time that customers who place e-commerce orders are instructed to give before attempting to pick up their orders. For example, if the normal amount of suggest lead time given to customers is twelve minutes, then the system parameter may be changed to instruct customers to give fifteen minutes of lead time instead. Doing so may provide preparation staff more time to assemble subsequent orders, and help conditions settle down. - It should be appreciated that automatically resolving issues arising in the restaurant, rather than merely issuing recommendations to a manager on how to resolve them, may be extremely valuable because alert conditions are often most prevalent during busy periods, which is usually when the manager has the least amount of time and mental bandwidth to consult recommendations on how to resolve them. By addressing or ameliorating the issue automatically, some embodiments of the invention free the manager to focus on other tasks.
- It should also be appreciated that any of numerous types of remediation actions may be taken automatically. For example, system parameters may be automatically modified, instructions to employees may be automatically issued, load balancing procedures may be automatically invoked, and/or any other type of action(s) may be taken, as embodiments of the invention are not limited in this respect.
- Returning to
FIG. 1 ,representative system 100 also includesvideo capture system 140, which may include components for capturing information useful for diagnosing operational issues and devising strategies for resolving them.Video capture system 140 may include one or more video capture devices (e.g., video surveillance cameras) which capture video footage depicting various aspects of restaurant operations. For example,video capture system 140 may capture video footage of point of sale transactions, order preparation processes, dining areas, and/or any other suitable occurrences and/or locations. Inrepresentative system 100,video capture system 140 captures video footage relating to events stored inevent data 115, and stores the video footage invideo repository 145, which may comprise any suitable storage component(s) and employ any suitable storage technique(s). - In
representative system 100,inference engine 130 correlates video footage stored invideo repository 145 toevent data 115 andalert data 125. Correlation of video footage to event and alert data may have any of numerous uses. For example, video footage relating to metrics preliminarily identified as potential root causes for an alert condition (i.e., using the data-driven techniques described above) may provide evidence which either substantiates the preliminary diagnosis, or indicates that the event was not actually a cause of the alert condition. It should be appreciated, then, that the ability to correlate subjective, observational data with objective information stored inevent data 115 andalert data 125 may prevent misdiagnosis of operational issues. For example, a restaurant manager investigating the cause of long speed of service measures for Panini orders may conclude, based only onalert data 125 andevent data 115, that the Panini press operator is to blame (e.g., because event data suggests that the press operator makes Panini more slowly than other, comparably trained employees do). However, an examination of video footage of the Panini preparation station may reveal that the press operator is actually working as efficiently as other employees, but that the bin which stores the butter used to lubricate the press is consistently running out during the operator's shift on the press, so that he keeps needing to ask to have it refilled, which slows him down. In this example, a purely data-driven approach would cause the issue to be misdiagnosed, and the press operator to be unjustly blamed. By correlating video to the data, the true root cause (i.e., that the butter bin is not being filled frequently enough during the press operator's shift) may be revealed. - Also, once the root cause of an alert condition is identified, video footage depicting the root condition may serve as a useful training tool. For example, a restaurant manager may show video footage depicting the press operator waiting for the butter bin to be filled, and data showing the effect on speed of service measures, to the employee responsible for filling the bin, so that he understands the consequences of it not being filled on time.
-
FIG. 3 depicts arepresentative process 300 for using video footage and operational data to analyze operational issues. At the start ofrepresentative process 300, inact 310, the alert condition(s) and/or event(s) to be analyzed are identified, and then inact 320, the video footage corresponding to the considered alert condition(s) and/or event(s) is identified. This may be performed in any of numerous ways. For example, some representative techniques for correlating video footage to operational data are described in commonly assigned U.S. patent application Ser. No. 13/837,940, filed Mar. 15, 2013, entitled “Use Of Video To Manage Process Quality,” which is incorporated herein by reference in its entirety. Some aspects of these techniques are summarized below. - In some embodiments, at least some of the records stored in
event data 115 andalert data 125 include date and time stamps. A date and time stamp for a record may indicate, for example, when the record was first produced and stored in the associated repository. In addition, video footage stored invideo repository 145 also includes date and time stamps. As a result, the date and time stamp for an alert or event record may be used to retrieve corresponding video footage (e.g., having a corresponding date and time stamp) fromvideo repository 145. - Of course, a date and time stamp for video footage need not exactly match a date and time stamp for an alert or event record. For example, it may be desirable to retrieve video footage captured just before and/or just after an alert or event was recorded. As an example, if the date and time stamp for an alert or event record indicates it was recorded at a particular time, then video footage having a date and time stamp indicating it was captured starting thirty seconds prior to that time, and ending thirty seconds after that time, may be retrieved. The date and time stamps for an alert or event record and for corresponding video footage may have any suitable relationship, as embodiments of the invention are not limited in this respect.
- Other information may also, or alternatively, be used to retrieve video footage which corresponds to an alert or event record. For example, if data included in an alert or event record to be analyzed indicates that it originated from a point of sale terminal, then this information may be used to identify the video footage to be retrieved (e.g., footage which shows the terminal). Similarly, if data included in an alert or event record indicates that it originated from a kitchen management system, then this information may be used to identify the video footage to be retrieved (e.g., footage that shows the restaurant's food preparation area). Any suitable information may be used to retrieve video footage from
video repository 145. - At the completion of
act 320,representative process 300 proceeds to act 330, wherein video footage and/or data corresponding to the alert condition(s) and/or event(s) is displayed. In some embodiments, video footage and/or data may be displayed viareview interface 135, although any suitable display device(s) may be employed. - Display of video footage and/or data correlating to the alert condition(s) and/or event(s) may have any of numerous uses. In this respect, as noted above, a review of video footage corresponding to events, metrics or processes preliminarily identified as root causes for an alert condition may provide evidence which either supports or disproves the initial hypothesis, making it less likely that an operational issue is misdiagnosed. As an example, assume that an alert condition relating to speed of service measures for Panini orders is to be analyzed. Act 330 may involve displaying video footage to a restaurant manager of an employee operating the Panini press from 11:15 a.m. to 11:17 a.m., based on an initial hypothesis that variations in speed of service measures for Panini orders are the result of the Panini press operator not following prescribed preparation procedures at around this time (e.g., because event data indicates that the operator had to re-make several Panini during this timeframe). Reviewing the video footage may assist the restaurant manager in determining whether the alert condition was, in fact, the result of the press operator not following protocol for Panini preparation.
- When
act 330 completes,representative process 300 proceeds to act 340, wherein user input relating to the video footage and/or data displayed inact 330 is received. Input may take any of numerous forms. For example, in some embodiments, the input may include an indication whether or not video footage and/or data displayed in theact 330 is useful in analyzing the considered alert condition and/or event, such as if the video footage and/or data depicts or describes the root cause of the alert condition and/or event. Continuing with the example given in the preceding paragraph to illustrate, if video footage shown to the restaurant manager depicts the press operator making Panini according to prescribed procedures, and the restaurant manager also knows that the alert condition resulted from the Panini press accidentally losing power (which she remembers discovering just after the timeframe which is captured on video), then act 340 may involve the restaurant manager indicating that the video footage did not capture the cause of the alert condition. - It should be appreciated that even if the input received in
act 340 indicates that video footage and/or data displayed inact 330 did not depict or describe the cause of an operational issue, that input may be useful in diagnosing operational issues going forward. For example, the user's input may serve as tacit acknowledgement that an alert condition or event was properly identified for their review, even if the video footage and/or data does not depict or describe the cause of the alert condition or event. Additionally, the user's input may point to additional analysis which could be performed (e.g., byalert engine 120 and/or inference engine 130) and/or data which could be captured (e.g., by event engine 110) to more effectively diagnose operational issues going forward. For example, if the user's input inact 340 includes an indication of the actual cause of the alert condition or event (e.g., if the restaurant manager in this example provided text input indicating that the actual cause for the slow-down in preparing Panini orders was that the press accidentally lost power), thenevent engine 110 may be modified to collect event data relating to power supplied to the Panini press,alert engine 120 may be modified to incorporate an alert condition based on power supply to the Panini press, and/orinference engine 130 may be modified to correlate speed of service measures relating to Panini orders with power supply to the Panini press. As a result, embodiments of the invention may, over time, become more effective at identifying the occurrence and cause of operational issues, as well as the information which the user considers relevant. As such, embodiments of the invention may reduce incorrect diagnoses, and limit the amount of information which the user is asked to process to only that information which is truly relevant or important, thereby freeing the user's time and mental bandwidth to focus on other issues. - At the completion of
act 340,representative process 300 proceeds to act 350, wherein a determination is made whether there is additional video footage and/or data to be displayed to the user. If it is determined that there is no additional video footage and/or data to be displayed, thenrepresentative process 300 completes. If it is determined, however, that there is additional video footage and/or data to be displayed to the user,representative process 300 proceeds to act 360, wherein a determination is made whether any change should be made to the additional video footage and/or data based on the input received in theact 340. Again using the above example to illustrate, if the restaurant manager's input inact 340 indicates that video footage of the Panini press shown to her inact 330 does not depict the actual cause of the slowdown on Panini orders, then other video clips which also depict the Panini press may be removed from video footage which had previously been identified for display to her. Any of numerous types of changes may be made to additional video footage and/or data based on input received from a user. - If it is determined in the
act 360 that a change is to be made, thenrepresentative process 300 proceeds to act 370, wherein the change is made. At the completion of the change, or if it is determined inact 360 that no change is to be made, representative process returns to act 330, wherein the additional video footage and/or data is displayed to the user.Representative process 300 then proceeds on fromact 330 as described above. - It should be appreciated that the
representative processes 200 and 300 shown inFIGS. 2 and 3 , respectively, represent only examples of processes for performing the described functions, and that any of numerous variations are possible. For example, either ofrepresentative processes 200 or 300 may include acts not described above, may not include all of the acts described above, and/or may include the acts described above being performed in a different sequence than that which is described above. - It should also be appreciated that although the description above relates to one installation of
representative system 100 being used in one restaurant, not all embodiments of the invention are so limited. For example, a system for analyzing restaurant operations may analyze data produced in multiple restaurants, or a single restaurant may employ multiple systems. Any of multiple modes of implementation may be used. - As should be apparent from the foregoing description, some aspects of the invention may be implemented using a computing system.
FIG. 4 illustrates an example of a suitablecomputing system environment 400 which may be used to implement aspects of the invention. Thecomputing system environment 400 shown inFIG. 4 is only one example of a suitable computing environment, and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should thecomputing environment 400 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in theexemplary operating environment 400. - The invention 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 the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- The computing environment may execute computer-executable instructions, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
- With reference to
FIG. 4 , an example system for implementing the invention includes a general purpose computing device in the form of acomputer 410. Components ofcomputer 410 may include, but are not limited to, aprocessing unit 420, asystem memory 430, and asystem bus 421 that couples various system components including the system memory to theprocessing unit 420. Thesystem bus 421 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a 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, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. -
Computer 410 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed bycomputer 410 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed bycomputer 410. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media. - The
system memory 430 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 431 and random access memory (RAM) 432. A basic input/output system 433 (BIOS), containing the basic routines that help to transfer information between elements withincomputer 410, such as during start-up, is typically stored inROM 431.RAM 432 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processingunit 420. By way of example, and not limitation,FIG. 4 illustrates operating system 434,application programs 435,other program modules 436, andprogram data 437. - The
computer 410 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,FIG. 4 illustrates ahard disk drive 441 that reads from or writes to non-removable, nonvolatile magnetic media, amagnetic disk drive 451 that reads from or writes to a removable, nonvolatilemagnetic disk 452, and anoptical disk drive 455 that reads from or writes to a removable, nonvolatileoptical disk 456 such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. Thehard disk drive 441 is typically connected to thesystem bus 421 through an non-removable memory interface such asinterface 440, andmagnetic disk drive 451 andoptical disk drive 455 are typically connected to thesystem bus 421 by a removable memory interface, such asinterface 450. - The drives and their associated computer storage media discussed above and illustrated in
FIG. 4 , provide storage of computer readable instructions, data structures, program modules and other data for thecomputer 410. InFIG. 4 , for example,hard disk drive 441 is illustrated as storingoperating system 444,application programs 445,other program modules 446, andprogram data 447. Note that these components can either be the same as or different from operating system 434,application programs 435,other program modules 436, andprogram data 437.Operating system 444,application programs 445,other program modules 446, andprogram data 447 are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into thecomputer 410 through input devices such as akeyboard 462 andpointing device 461, commonly referred to as a mouse, trackball or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to theprocessing unit 420 through auser input interface 460 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). Amonitor 491 or other type of display device is also connected to thesystem bus 421 via an interface, such as avideo interface 490. In addition to the monitor, computers may also include other peripheral output devices such asspeakers 497 andprinter 496, which may be connected through a outputperipheral interface 495. - The
computer 410 may operate in a networked environment using logical connections to one or more remote computers, such as aremote computer 480. Theremote computer 480 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to thecomputer 410, although only amemory storage device 481 has been illustrated inFIG. 4 . The logical connections depicted inFIG. 4 include a local area network (LAN) 471 and a wide area network (WAN) 473, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. - When used in a LAN networking environment, the
computer 410 is connected to theLAN 471 through a network interface oradapter 470. When used in a WAN networking environment, thecomputer 410 typically includes amodem 472 or other means for establishing communications over theWAN 473, such as the Internet. Themodem 472, which may be internal or external, may be connected to thesystem bus 421 via theuser input interface 460, or other appropriate mechanism. In a networked environment, program modules depicted relative to thecomputer 410, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,FIG. 4 illustrates remote application programs 485 as residing onmemory device 481. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used. - Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
- Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Further, though advantages of the present invention are indicated, it should be appreciated that not every embodiment of the invention will include every described advantage. Some embodiments may not implement any features described as advantageous herein and in some instances. Accordingly, the foregoing description and drawings are by way of example only.
- The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. Such processors may be implemented as integrated circuits, with one or more processors in an integrated circuit component. Though, a processor may be implemented using circuitry in any suitable format.
- Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smart phone or any other suitable portable or fixed electronic device.
- Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible format.
- Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
- In this respect, the invention may be embodied as a computer readable storage medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. As is apparent from the foregoing examples, a computer readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form. Such a computer readable storage medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above. As used herein, the term “computer-readable storage medium” encompasses only a computer-readable medium that can be considered to be a manufacture (i.e., article of manufacture) or a machine. Alternatively or additionally, the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
- The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
- Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
- Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that conveys relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
- Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
- Also, the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
- Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
- Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
Claims (18)
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/980,109 US9336830B1 (en) | 2013-09-20 | 2015-12-28 | Techniques for analyzing operations of one or more restaurants |
US15/059,333 US20160180477A1 (en) | 2013-09-20 | 2016-03-03 | Techniques for analyzing operations of one or more restaurants |
US15/194,949 US10019686B2 (en) | 2013-09-20 | 2016-06-28 | Systems and methods for analyzing restaurant operations |
US15/194,959 US9798987B2 (en) | 2013-09-20 | 2016-06-28 | Systems and methods for analyzing restaurant operations |
US15/701,710 US9965734B2 (en) | 2013-09-20 | 2017-09-12 | Systems and methods for analyzing restaurant operations |
US16/011,765 US10163067B1 (en) | 2013-09-20 | 2018-06-19 | Systems and methods for analyzing restaurant operations |
US16/181,188 US20190073613A1 (en) | 2013-09-20 | 2018-11-05 | Systems and methods for analyzing restaurant operations |
US16/212,553 US10304020B2 (en) | 2013-09-20 | 2018-12-06 | Systems and methods for analyzing restaurant operations |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/032,701 US9257150B2 (en) | 2013-09-20 | 2013-09-20 | Techniques for analyzing operations of one or more restaurants |
US14/980,109 US9336830B1 (en) | 2013-09-20 | 2015-12-28 | Techniques for analyzing operations of one or more restaurants |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/032,701 Continuation US9257150B2 (en) | 2013-09-20 | 2013-09-20 | Techniques for analyzing operations of one or more restaurants |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/059,333 Continuation US20160180477A1 (en) | 2013-09-20 | 2016-03-03 | Techniques for analyzing operations of one or more restaurants |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160111132A1 true US20160111132A1 (en) | 2016-04-21 |
US9336830B1 US9336830B1 (en) | 2016-05-10 |
Family
ID=52691025
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/032,701 Expired - Fee Related US9257150B2 (en) | 2013-09-20 | 2013-09-20 | Techniques for analyzing operations of one or more restaurants |
US14/980,109 Active US9336830B1 (en) | 2013-09-20 | 2015-12-28 | Techniques for analyzing operations of one or more restaurants |
US15/059,333 Abandoned US20160180477A1 (en) | 2013-09-20 | 2016-03-03 | Techniques for analyzing operations of one or more restaurants |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/032,701 Expired - Fee Related US9257150B2 (en) | 2013-09-20 | 2013-09-20 | Techniques for analyzing operations of one or more restaurants |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/059,333 Abandoned US20160180477A1 (en) | 2013-09-20 | 2016-03-03 | Techniques for analyzing operations of one or more restaurants |
Country Status (1)
Country | Link |
---|---|
US (3) | US9257150B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798987B2 (en) | 2013-09-20 | 2017-10-24 | Panera, Llc | Systems and methods for analyzing restaurant operations |
US10019686B2 (en) | 2013-09-20 | 2018-07-10 | Panera, Llc | Systems and methods for analyzing restaurant operations |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9257150B2 (en) | 2013-09-20 | 2016-02-09 | Panera, Llc | Techniques for analyzing operations of one or more restaurants |
US20150095120A1 (en) * | 2013-09-30 | 2015-04-02 | Ncr Corporation | Objective metrics measuring value of employees |
WO2015059931A1 (en) * | 2013-10-24 | 2015-04-30 | パナソニックIpマネジメント株式会社 | Heating cooking device, cooking system, calculating device, and cooking assistance method |
US9697100B2 (en) | 2014-03-10 | 2017-07-04 | Accenture Global Services Limited | Event correlation |
US10037504B2 (en) * | 2015-02-12 | 2018-07-31 | Wipro Limited | Methods for determining manufacturing waste to optimize productivity and devices thereof |
US10043146B2 (en) * | 2015-02-12 | 2018-08-07 | Wipro Limited | Method and device for estimating efficiency of an employee of an organization |
SE542202C2 (en) * | 2015-04-27 | 2020-03-10 | Picadeli Ab | A monitoring and controlling system for a product holding arrangement |
WO2020050973A2 (en) | 2018-08-22 | 2020-03-12 | Florent Technologies, Llc | Neural network-based systems and computer-implemented methods for identifying and/or evaluating one or more food items present in a visual input |
US11562500B2 (en) | 2019-07-24 | 2023-01-24 | Squadle, Inc. | Status monitoring using machine learning and machine vision |
JP2021135595A (en) * | 2020-02-25 | 2021-09-13 | 東芝テック株式会社 | Information processing device and program |
US11544923B2 (en) | 2021-03-12 | 2023-01-03 | Agot Co. | Image-based kitchen tracking system with order accuracy management |
Family Cites Families (243)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3327198A (en) | 1964-12-15 | 1967-06-20 | Benjamin Electronic Sound Corp | Battery charging system and indicator |
US4530067A (en) | 1981-03-10 | 1985-07-16 | Xecutek Corporation | Restaurant management information and control method and apparatus |
US4889709A (en) | 1985-03-18 | 1989-12-26 | Product Resources International, Inc. | Aerosol foam with adsorbate and container containing same |
US4752465A (en) | 1985-09-20 | 1988-06-21 | Product Resources International, Inc. | Aerosol foam |
US4639367A (en) | 1985-03-18 | 1987-01-27 | Product Resources International, Inc. | Aerosol foam |
FR2590770A1 (en) | 1985-11-29 | 1987-06-05 | Union Commerce Financement Etu | PROCESS FOR THE PREPARATION OF FOOD PRODUCTS FOR LONG-TERM CONSERVATION |
JPH0719304B2 (en) | 1989-07-06 | 1995-03-06 | 東広島ゴルフ振興株式会社 | Automatic fly selling equipment |
US4969560A (en) | 1989-08-24 | 1990-11-13 | John Stanfield | Portable dish rack |
US5068121A (en) | 1989-10-19 | 1991-11-26 | Fredericia Cellulose A/S | Product and process for preparing a plant fiber product |
DE69229806T2 (en) | 1991-01-22 | 1999-12-16 | Kao Corp | Detergent composition |
US5097759A (en) | 1991-03-18 | 1992-03-24 | Vie De France Corporation | Sous vide reheating device |
US5123337A (en) | 1991-03-18 | 1992-06-23 | Vie De France Corporation | Sous vide reheating device |
JPH05207916A (en) | 1992-01-30 | 1993-08-20 | Sanyo Electric Co Ltd | Party producing device |
US5332105A (en) | 1992-10-13 | 1994-07-26 | John Stanfield | Portable dish rack |
US5796640A (en) | 1992-12-03 | 1998-08-18 | Sugarman; Henry | Dietary fat control automatic calculator system and fold label fat evaluator |
US5356643A (en) | 1993-03-05 | 1994-10-18 | Van Miller | Cheese-based dry flake products and snack items and processes for producing the same |
US6323894B1 (en) | 1993-03-12 | 2001-11-27 | Telebuyer, Llc | Commercial product routing system with video vending capability |
US5454721A (en) | 1993-12-30 | 1995-10-03 | Kuch; Nina J. | Application of multi-media technology to nutrition education and diet planning |
US5704350A (en) | 1994-03-25 | 1998-01-06 | Nutritec Corporation | Nutritional microcomputer and method |
US5685435A (en) | 1995-05-08 | 1997-11-11 | Mars Incorporated | Method and apparatus for automatic bulk vending |
JP3125669B2 (en) | 1996-01-31 | 2001-01-22 | トヨタ自動車株式会社 | Travel planning equipment |
US20030066096A1 (en) | 1996-02-06 | 2003-04-03 | Bruce Bryan | Bioluminescent novelty items |
US5876995A (en) | 1996-02-06 | 1999-03-02 | Bryan; Bruce | Bioluminescent novelty items |
US6247995B1 (en) | 1996-02-06 | 2001-06-19 | Bruce Bryan | Bioluminescent novelty items |
US6003015A (en) | 1996-02-28 | 1999-12-14 | Hm Electronics, Inc. | Order confirmation system and method of using same |
US7877291B2 (en) | 1996-05-02 | 2011-01-25 | Technology Licensing Corporation | Diagnostic data interchange |
US6087927A (en) | 1998-01-30 | 2000-07-11 | Techknow, Inc. | Order communication system for restaurant |
US5907275A (en) | 1998-01-30 | 1999-05-25 | Battistini; Michael | Order communication system for restaurant |
DE69938293T2 (en) | 1998-03-27 | 2009-03-12 | Bruce J. Beverly Hills Bryan | LUCIFERASE, GFP FLUORESCENCE PROTEINS, CODING NUCLEIC CAUSE, AND ITS USE IN DIAGNOSIS |
US6753830B2 (en) | 1998-09-11 | 2004-06-22 | Visible Tech-Knowledgy, Inc. | Smart electronic label employing electronic ink |
US6924781B1 (en) | 1998-09-11 | 2005-08-02 | Visible Tech-Knowledgy, Inc. | Smart electronic label employing electronic ink |
US20020167500A1 (en) | 1998-09-11 | 2002-11-14 | Visible Techknowledgy, Llc | Smart electronic label employing electronic ink |
US6102162A (en) | 1998-10-08 | 2000-08-15 | Teicher; Mordechai | Automated self-service cafeteria system |
US8538801B2 (en) | 1999-02-19 | 2013-09-17 | Exxonmobile Research & Engineering Company | System and method for processing financial transactions |
US7571139B1 (en) | 1999-02-19 | 2009-08-04 | Giordano Joseph A | System and method for processing financial transactions |
AU4481600A (en) | 1999-04-22 | 2000-11-10 | Qode.Com, Inc. | System and method for providing electronic information upon receipt of a scannedbar code |
US6690673B1 (en) | 1999-05-27 | 2004-02-10 | Jeffeerson J. Jarvis | Method and apparatus for a biometric transponder based activity management system |
US11682027B2 (en) | 1999-07-19 | 2023-06-20 | Expedited Dual Commerce Llc | System and method for expediting fulfillments of online ordered deliverables by expedited-service area pickups in specified time-windows and by delivery to specific locations |
US20080106597A1 (en) | 1999-10-12 | 2008-05-08 | Vigilos, Inc. | System and method for storing and remotely retrieving surveillance video images |
US6811516B1 (en) | 1999-10-29 | 2004-11-02 | Brian M. Dugan | Methods and apparatus for monitoring and encouraging health and fitness |
US6618062B1 (en) | 1999-12-17 | 2003-09-09 | International Business Machines Corporation | Method, system and program for specifying an electronic menu with food preferences from a personal storage device |
US7958457B1 (en) | 1999-12-20 | 2011-06-07 | Wireless Agents, Llc | Method and apparatus for scheduling presentation of digital content on a personal communication device |
US6587835B1 (en) | 2000-02-09 | 2003-07-01 | G. Victor Treyz | Shopping assistance with handheld computing device |
US20020004749A1 (en) | 2000-02-09 | 2002-01-10 | Froseth Barrie R. | Customized food selection, ordering and distribution system and method |
WO2001059736A2 (en) | 2000-02-10 | 2001-08-16 | Digibot Inc. | System and method of facilities and operations monitoring and remote management support |
US20060178986A1 (en) | 2000-02-17 | 2006-08-10 | Giordano Joseph A | System and method for processing financial transactions using multi-payment preferences |
US7109315B2 (en) | 2000-03-15 | 2006-09-19 | Bruce J. Bryan | Renilla reniformis fluorescent proteins, nucleic acids encoding the fluorescent proteins and the use thereof in diagnostics, high throughput screening and novelty items |
GB2377301B (en) | 2000-03-22 | 2004-12-15 | America To Go Llc | Methods and apparatus for on-line ordering |
US20020007321A1 (en) | 2000-03-22 | 2002-01-17 | Burton Peter A. | Methods and apparatus for on-line ordering |
TW507145B (en) | 2000-05-22 | 2002-10-21 | Daiichi Foods Co Ltd | Outside-hospital food management method and system |
US7753772B1 (en) | 2000-05-25 | 2010-07-13 | Walker Digital, Llc | Systems and methods wherein a player indicates an item that may be received based on a game event outcome associated with the player |
US6458080B1 (en) | 2000-05-31 | 2002-10-01 | International Business Machines Corporation | Managing parameters effecting the comprehensive health of a user |
US7024369B1 (en) | 2000-05-31 | 2006-04-04 | International Business Machines Corporation | Balancing the comprehensive health of a user |
US6527712B1 (en) | 2000-05-31 | 2003-03-04 | International Business Machines Corporation | Auditing public health |
US20040249497A1 (en) | 2000-07-12 | 2004-12-09 | Autocart, Llc | System, method and process for order and delivery of classified goods and services through an amalgamated drive-thru complex |
AU2001288902A1 (en) | 2000-09-07 | 2002-03-22 | Healthetech, Inc. | Portable computing apparatus particularly useful in a weight management program |
US7110963B2 (en) * | 2000-09-07 | 2006-09-19 | Manuel Negreiro | Point-of-sale customer order system utilizing an unobtrusive transmitter/receiver and voice recognition software |
US20060015904A1 (en) | 2000-09-08 | 2006-01-19 | Dwight Marcus | Method and apparatus for creation, distribution, assembly and verification of media |
JP2002092091A (en) | 2000-09-19 | 2002-03-29 | Yokogawa Electric Corp | Food safety control system |
JP2002203017A (en) | 2000-10-30 | 2002-07-19 | Mitsubishi Electric Corp | System for managing food supply, server and terminal used for system |
US20090106124A1 (en) | 2000-12-08 | 2009-04-23 | Ping Yang | Method and apparatus for ordering and delivering of meals |
US20070150375A1 (en) | 2000-12-08 | 2007-06-28 | Ping Yang | Method and apparatus for efficient meal delivery |
US6810343B2 (en) * | 2000-12-13 | 2004-10-26 | Praxis Technology Group, Inc. | Method and system for monitoring service quality in a restaurant |
WO2002057948A1 (en) | 2001-01-18 | 2002-07-25 | Orderite, Inc. | Automated data collection and transmission |
US6415224B1 (en) | 2001-02-06 | 2002-07-02 | Alpine Electronics, Inc. | Display method and apparatus for navigation system |
US20020133418A1 (en) | 2001-03-16 | 2002-09-19 | Hammond Keith J. | Transaction systems and methods wherein a portable customer device is associated with a customer |
US20020138350A1 (en) | 2001-03-22 | 2002-09-26 | Cogen Jeffrey M. | System and method for placing orders at a restaurant |
US6636835B2 (en) | 2001-04-04 | 2003-10-21 | 3De Innovations | Wireless maitre d' system for restaurants |
US20030208409A1 (en) | 2001-04-30 | 2003-11-06 | Mault James R. | Method and apparatus for diet control |
US20020158137A1 (en) | 2001-04-30 | 2002-10-31 | William Grey | Systems and methods wherein a machine-readable item code is substantially invisible to a human |
JP2002342437A (en) | 2001-05-18 | 2002-11-29 | Ricoh Co Ltd | Cooking providing support system, cooking providing support application service providing system, program and recording medium |
US20030171944A1 (en) | 2001-05-31 | 2003-09-11 | Fine Randall A. | Methods and apparatus for personalized, interactive shopping |
US7540011B2 (en) | 2001-06-11 | 2009-05-26 | Arrowsight, Inc. | Caching graphical interface for displaying video and ancillary data from a saved video |
US20050171902A1 (en) | 2001-08-15 | 2005-08-04 | Nguyen Martin K. | Item exchange using a trusted party |
US8078492B2 (en) | 2001-10-02 | 2011-12-13 | International Business Machines Corporation | Providing consumers with incentives for healthy eating habits |
JP2003135431A (en) | 2001-10-31 | 2003-05-13 | Tanita Corp | Visceral fat estimating device |
JP3931632B2 (en) | 2001-11-06 | 2007-06-20 | 富士通株式会社 | Product selection device, product selection program, product selection system, and product selection method |
US20080208787A1 (en) | 2001-11-14 | 2008-08-28 | Retaildna, Llc | Method and system for centralized generation of a business executable using genetic algorithms and rules distributed among multiple hardware devices |
US20090125380A1 (en) | 2001-11-14 | 2009-05-14 | Retaildna, Llc | System and method for location based suggestive selling |
US20080313052A1 (en) | 2001-11-14 | 2008-12-18 | Retaildna, Llc | Method and system for managing transactions initiated via a wireless communications device |
US20080255941A1 (en) | 2001-11-14 | 2008-10-16 | Jonathan Otto | Method and system for generating, selecting, and running executables in a business system utilizing a combination of user defined rules and artificial intelligence |
US20090119168A1 (en) | 2001-11-14 | 2009-05-07 | Retaildna, Llc | System and method for providing an incentive based on the hardware used to place an order |
US20040010425A1 (en) | 2002-01-29 | 2004-01-15 | Wilkes Gordon J. | System and method for integrating clinical documentation with the point of care treatment of a patient |
US8775196B2 (en) | 2002-01-29 | 2014-07-08 | Baxter International Inc. | System and method for notification and escalation of medical data |
US20040054592A1 (en) | 2002-09-13 | 2004-03-18 | Konrad Hernblad | Customer-based wireless ordering and payment system for food service establishments using terminals and mobile devices |
US6787108B2 (en) | 2002-04-02 | 2004-09-07 | Cmc Daymark Corporation | Plural intrinsic expiration initiation application indicators |
US20040186783A1 (en) | 2002-04-22 | 2004-09-23 | Paul Knight | Time sensitive inventory sales system |
US20040167465A1 (en) | 2002-04-30 | 2004-08-26 | Mihai Dan M. | System and method for medical device authentication |
US8234128B2 (en) | 2002-04-30 | 2012-07-31 | Baxter International, Inc. | System and method for verifying medical device operational parameters |
US20040176667A1 (en) | 2002-04-30 | 2004-09-09 | Mihai Dan M. | Method and system for medical device connectivity |
US20050065817A1 (en) | 2002-04-30 | 2005-03-24 | Mihai Dan M. | Separation of validated information and functions in a healthcare system |
US20040172301A1 (en) | 2002-04-30 | 2004-09-02 | Mihai Dan M. | Remote multi-purpose user interface for a healthcare system |
US20040167804A1 (en) | 2002-04-30 | 2004-08-26 | Simpson Thomas L.C. | Medical data communication notification and messaging system and method |
US20040172300A1 (en) | 2002-04-30 | 2004-09-02 | Mihai Dan M. | Method and system for integrating data flows |
US20050055242A1 (en) | 2002-04-30 | 2005-03-10 | Bryan Bello | System and method for medical data tracking, analysis and reporting for healthcare system |
US20030216970A1 (en) | 2002-05-14 | 2003-11-20 | Andrew Vadjinia | Method and apparatus for display and collection of information |
US20040078231A1 (en) | 2002-05-31 | 2004-04-22 | Wilkes Gordon J. | System and method for facilitating and administering treatment to a patient, including clinical decision making, order workflow and integration of clinical documentation |
JP4309342B2 (en) | 2002-06-12 | 2009-08-05 | 旭化成ケミカルズ株式会社 | Pharmaceutical prototype support system |
US7108171B1 (en) | 2002-07-02 | 2006-09-19 | Michael Jared Ergo | Methods of temporarily providing digital content to a customer |
US20040158499A1 (en) | 2002-07-16 | 2004-08-12 | Dev Roger H. | System and method for providing self-service restaurant ordering and payment |
US20040243471A1 (en) | 2002-07-17 | 2004-12-02 | Salmen Larry J. | Process and system for authoring electronic information by filling in template pattern with local presentation information |
US20040034568A1 (en) | 2002-08-09 | 2004-02-19 | Masahiro Sone | System and method for restricted network shopping |
US6940394B2 (en) | 2002-08-29 | 2005-09-06 | Bruno Gagnon | Computerized system for the management of personnel response time in a restaurant |
US20040143512A1 (en) | 2002-10-28 | 2004-07-22 | Sturr Paul Edward | Method and system for placing an order |
US20040107141A1 (en) | 2002-11-29 | 2004-06-03 | Conkel Jeffrey L. | Method of food production and services cost control |
US7536283B2 (en) | 2003-01-03 | 2009-05-19 | L&P Property Management Company | Storage optimization system and method |
US20040260607A1 (en) | 2003-01-28 | 2004-12-23 | Robbins Andrew H. | Stored product personal identification system |
US20040199425A1 (en) | 2003-03-14 | 2004-10-07 | Van Luchene Andrew S. | Method and apparatus for motion-controlled communication of offers |
JP2004287597A (en) | 2003-03-19 | 2004-10-14 | Nec Corp | Entertainment providing device and entertainment terminal |
US6761332B1 (en) | 2003-04-01 | 2004-07-13 | The Boeing Company | Multi-functional galley system |
US20040230496A1 (en) | 2003-04-03 | 2004-11-18 | Neuman Robert Michael | Easy ordering system |
US20040210621A1 (en) | 2003-04-18 | 2004-10-21 | Antonellis Robert J. | Method and system for order optimization |
US7843490B2 (en) | 2003-04-25 | 2010-11-30 | Arrowsight, Inc. | Method and system for image information processing and analysis |
US20040249724A1 (en) | 2003-06-04 | 2004-12-09 | Gosewehr Steven Roy | Interactive ordering system for food service utilizing animated guide |
US20050004843A1 (en) | 2003-07-01 | 2005-01-06 | Heflin Steven S. | System and method for providing restaurant related services |
US7525570B2 (en) | 2003-07-17 | 2009-04-28 | Igt | Security camera interface |
US20050055244A1 (en) | 2003-07-18 | 2005-03-10 | Janet Mullan | Wireless medical communication system and method |
US20050027174A1 (en) | 2003-08-01 | 2005-02-03 | Dan Benardot | Methods, systems, and apparatus for monitoring within-day energy balance deviation |
US20050080650A1 (en) | 2003-10-09 | 2005-04-14 | Restaurant Computer Systems, Inc. | System and method for meal distribution and dietary attention |
US6987452B2 (en) | 2003-11-13 | 2006-01-17 | Sunney Yang | iBOX with home delivery auto-receipt system |
US20050114150A1 (en) | 2003-11-20 | 2005-05-26 | International Business Machines Corporation | Dining preferences storage mechanism |
US20050144066A1 (en) | 2003-12-19 | 2005-06-30 | Icood, Llc | Individually controlled and protected targeted incentive distribution system |
US20050177859A1 (en) | 2004-02-09 | 2005-08-11 | Valentino Henry Iii | Video surveillance system and methods of use and doing business |
US8276505B2 (en) | 2004-02-18 | 2012-10-02 | David Benjamin Buehler | Food preparation system |
JP4604525B2 (en) | 2004-03-17 | 2011-01-05 | セイコーエプソン株式会社 | Network system, program, and printing apparatus control method |
US7132926B2 (en) | 2004-03-25 | 2006-11-07 | Prince Castle, Inc. | Smart tray system and method for restaurant inventory management |
WO2005109295A2 (en) | 2004-04-28 | 2005-11-17 | Cereality Operators, Inc. | Methods and systems for providing food, beverages, and associated goods and services in a retail environment |
US20050267811A1 (en) | 2004-05-17 | 2005-12-01 | Almblad Robert E | Systems and methods of ordering at an automated food processing machine |
US20050278065A1 (en) | 2004-06-10 | 2005-12-15 | Alvaro Garza | Nutritional informative vending machine providing a remote nutrition informing system |
US20060064447A1 (en) | 2004-08-18 | 2006-03-23 | Malkov Roman E | Nutrition tracking method |
EP1820150A4 (en) | 2004-10-22 | 2009-07-08 | Radiant Systems Inc | Interactive customer display system and method |
CA2586813A1 (en) | 2004-11-08 | 2006-05-18 | Overby Farm, Llc | Methods and apparatus for producing packaged companion animal food products to be distributed along with human food products |
US7706915B2 (en) | 2004-12-03 | 2010-04-27 | Saudi Arabian Oil Company | System and software of enhanced pharmacy services and related methods |
US20070158335A1 (en) | 2004-12-10 | 2007-07-12 | Mansbery David I | Method and control interface for food preparation on a cooking appliance |
US20060218039A1 (en) | 2005-02-25 | 2006-09-28 | Johnson Neldon P | Enhanced fast food restaurant and method of operation |
US7372003B2 (en) | 2005-03-22 | 2008-05-13 | Lawrence Kates | System and method for monitoring food |
WO2006133321A2 (en) | 2005-06-03 | 2006-12-14 | Arnold Mark T | Prewash dish cleaning device |
US20060186197A1 (en) | 2005-06-16 | 2006-08-24 | Outland Research | Method and apparatus for wireless customer interaction with the attendants working in a restaurant |
US9129289B2 (en) | 2005-10-03 | 2015-09-08 | Drew Vaughn | Systems and methods for providing remote ordering capabilities |
WO2007044500A2 (en) | 2005-10-06 | 2007-04-19 | C-Sam, Inc. | Transactional services |
US20070168223A1 (en) | 2005-10-12 | 2007-07-19 | Steven Lawrence Fors | Configurable clinical information system and method of use |
US7482927B2 (en) * | 2006-01-05 | 2009-01-27 | Long Range Systems, Inc. | Surveillance and alerting system and method |
US8204757B2 (en) | 2006-01-19 | 2012-06-19 | International Business Machines Corporation | Dynamic food orders during travel |
US8653482B2 (en) | 2006-02-21 | 2014-02-18 | Goji Limited | RF controlled freezing |
US8784196B2 (en) | 2006-04-13 | 2014-07-22 | Igt | Remote content management and resource sharing on a gaming machine and method of implementing same |
US7973642B2 (en) | 2006-04-28 | 2011-07-05 | Restaurant Technology, Inc. | RFID food production, inventory and delivery management method for a restaurant |
US8190483B2 (en) | 2006-05-02 | 2012-05-29 | Nextep Systems, Inc. | Computer-based ordering system |
US7976386B2 (en) | 2006-06-12 | 2011-07-12 | Tran Bao Q | Mesh network game controller with voice transmission, search capability, motion detection, and/or position detection |
US20080065685A1 (en) | 2006-08-04 | 2008-03-13 | Metacarta, Inc. | Systems and methods for presenting results of geographic text searches |
US20080040336A1 (en) | 2006-08-04 | 2008-02-14 | Metacarta, Inc. | Systems and methods for presenting results of geographic text searches |
DE102006032316A1 (en) | 2006-07-11 | 2008-01-24 | Hilde Ebeling | Method, device and packaging unit for producing a preferably cosmetic article |
US20090192901A1 (en) | 2008-01-30 | 2009-07-30 | Zoltan Egeresi | Calorie counting POS system |
US20080026816A1 (en) | 2006-07-25 | 2008-01-31 | Sammon Russell P | Providing Benefits To Players Who Agree To Appropriation Of A Portion Of Future Winnings |
US20080033827A1 (en) | 2006-08-02 | 2008-02-07 | Shaobo Kuang | Nutrition / diet control system |
US20080034001A1 (en) | 2006-08-07 | 2008-02-07 | Noel Loretta G | Cell Phone Nutrition service |
US20080047781A1 (en) | 2006-08-24 | 2008-02-28 | Feiertag David M | World gourmet fast health food facility |
US7673464B2 (en) | 2006-08-25 | 2010-03-09 | International Business Machines Corporation | Method and apparatus for temperature based placement of an item within a storage unit |
WO2008025101A1 (en) | 2006-08-31 | 2008-03-06 | Addco Nominees Pty Ltd | Improved dispenser assembly |
US8290820B2 (en) | 2006-09-13 | 2012-10-16 | Microsoft Corporation | Methods of maintaining a journal of media encounters between co-existing portable devices |
US8254625B2 (en) * | 2006-11-02 | 2012-08-28 | Hyperactive Technologies, Inc. | Automated service measurement, monitoring and management |
KR100866487B1 (en) | 2007-01-03 | 2008-11-03 | 삼성전자주식회사 | Apparatus and method for tracking action history of user |
WO2008100832A1 (en) | 2007-02-16 | 2008-08-21 | Envysion, Inc. | System and method for video recording, management and access |
JP2008210212A (en) | 2007-02-27 | 2008-09-11 | Nec Corp | Item selection device, item selection method, and program |
US20100114595A1 (en) | 2007-03-02 | 2010-05-06 | Greg Richard | Method and system for providing health information |
US20090196958A1 (en) | 2007-04-25 | 2009-08-06 | Mark Sosebee | Breading and breading mix comprising crunchy corn ingredient, food products created therewith, and methods related thereto |
US8609936B2 (en) | 2007-04-27 | 2013-12-17 | Monsanto Technology Llc | Hemipteran-and coleopteran active toxin proteins from Bacillus thuringiensis |
US7899709B2 (en) | 2007-04-30 | 2011-03-01 | Madison Holdings, Inc. | System and method for identification and tracking of food items |
US20100136179A1 (en) | 2007-05-31 | 2010-06-03 | Q.P. Corporation | Pouched liquid food product |
US20080318679A1 (en) | 2007-06-21 | 2008-12-25 | Alexander Bach Tran | Foot game controller with motion detection and/or position detection |
US7908778B1 (en) | 2007-07-09 | 2011-03-22 | Steven Dushane | Customer order and billables confirmation method |
US20090150193A1 (en) | 2007-09-04 | 2009-06-11 | Jin Hong | Comprehensive Integrated Online Order and Reservation Platform with Instant Notifications and Interactive Communications |
CH700706B1 (en) | 2007-09-18 | 2010-10-15 | Roger Deuber | Electronic ordering device for restaurants. |
US20110218839A1 (en) | 2007-10-22 | 2011-09-08 | Ravi Vijay Shamaiengar | Methods and systems for enabling the purchase of deliverable goods & services |
US20090167553A1 (en) | 2007-12-30 | 2009-07-02 | Jin Hong | Open Mobile Online Reservation and Ordering Systems |
US20090172035A1 (en) | 2007-12-31 | 2009-07-02 | Pieter Lessing | System and method for capturing and storing casino information in a relational database system |
US11159909B2 (en) | 2008-02-05 | 2021-10-26 | Victor Thomas Anderson | Wireless location establishing device |
US20120150743A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for transferring redemption rights to gift cards |
US20120150731A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for processing group gift cards |
US8285643B2 (en) | 2008-06-12 | 2012-10-09 | Monncello Enterprises, LLC | System and method for processing gift cards |
US20120150643A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for processing remainder amounts of money from gift cards |
US20120150732A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for processing gift cards according to a communication context |
US20120150730A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for processing group gift cards |
US20120150729A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for processing group gift cards using a temporary, limited scope social networking entity |
US20120150600A1 (en) | 2010-12-14 | 2012-06-14 | Moneyhoney Llc | System and method for confirming application of a gift to a transaction |
US8069953B2 (en) | 2008-03-25 | 2011-12-06 | Restaurant Technology, Inc. | Food item cooking, assembly and packaging system and method |
US7953873B1 (en) | 2008-04-25 | 2011-05-31 | Intuit Inc. | Network-based service for menu filtering based on user information |
US20090275002A1 (en) | 2008-04-30 | 2009-11-05 | Lindsey Hoggle | Nutrition informatics method |
AU2009246738A1 (en) | 2008-05-12 | 2009-11-19 | Otg Management, Inc. | System for ordering items by a user in a limited venue |
WO2009154484A2 (en) | 2008-06-20 | 2009-12-23 | Business Intelligence Solutions Safe B.V. | Methods, apparatus and systems for data visualization and related applications |
US20100005489A1 (en) | 2008-07-02 | 2010-01-07 | Losey Mark A | Targeted advertisement delivery |
US20100030661A1 (en) | 2008-07-29 | 2010-02-04 | Esave.Net, Llc | Managing product orders through multiple suppliers |
AU2009285624B2 (en) | 2008-08-29 | 2013-12-05 | Monsanto Technology Llc | Novel Hemipteran and coleopteran active toxin proteins from Bacillus thuringiensis |
US8498899B2 (en) | 2008-09-24 | 2013-07-30 | Incentient LLC | Method for providing room service |
US9026462B2 (en) | 2008-09-30 | 2015-05-05 | Apple Inc. | Portable point of purchase user interfaces |
US20100082485A1 (en) | 2008-09-30 | 2010-04-01 | Apple Inc. | Portable point of purchase devices and methods |
US8960488B2 (en) | 2008-11-25 | 2015-02-24 | Restaurant Technology, Inc. | Food tray device and method |
US9390420B2 (en) | 2008-12-19 | 2016-07-12 | At&T Intellectual Property I, L.P. | System and method for wireless ordering using speech recognition |
US20100169262A1 (en) | 2008-12-30 | 2010-07-01 | Expanse Networks, Inc. | Mobile Device for Pangenetic Web |
US20100169338A1 (en) | 2008-12-30 | 2010-07-01 | Expanse Networks, Inc. | Pangenetic Web Search System |
US8386519B2 (en) | 2008-12-30 | 2013-02-26 | Expanse Networks, Inc. | Pangenetic web item recommendation system |
US8255403B2 (en) | 2008-12-30 | 2012-08-28 | Expanse Networks, Inc. | Pangenetic web satisfaction prediction system |
US20100169313A1 (en) | 2008-12-30 | 2010-07-01 | Expanse Networks, Inc. | Pangenetic Web Item Feedback System |
US8108406B2 (en) | 2008-12-30 | 2012-01-31 | Expanse Networks, Inc. | Pangenetic web user behavior prediction system |
US8600556B2 (en) | 2009-06-22 | 2013-12-03 | Johnson Controls Technology Company | Smart building manager |
US20100332571A1 (en) * | 2009-06-30 | 2010-12-30 | Jennifer Healey | Device augmented food identification |
US20110010623A1 (en) | 2009-07-10 | 2011-01-13 | Vanslette Paul J | Synchronizing Audio-Visual Data With Event Data |
WO2011034924A1 (en) | 2009-09-15 | 2011-03-24 | Envysion, Inc. | Video streaming method and system |
GB2473945A (en) | 2009-09-21 | 2011-03-30 | Malgorzata Hanulak | Meal planning kit |
US8718684B2 (en) | 2009-12-07 | 2014-05-06 | iSpeedbuy, LLC | Text message paging and ordering system |
KR20110073756A (en) | 2009-12-24 | 2011-06-30 | 삼성전자주식회사 | Method for tagging condition information and multimedia apparatus using the same |
US20110187664A1 (en) | 2010-02-02 | 2011-08-04 | Mark Rinehart | Table computer systems and methods |
US20120194551A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses with user-action based command and control of external devices |
US10180572B2 (en) | 2010-02-28 | 2019-01-15 | Microsoft Technology Licensing, Llc | AR glasses with event and user action control of external applications |
US20120194420A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses with event triggered user action control of ar eyepiece facility |
US9128281B2 (en) | 2010-09-14 | 2015-09-08 | Microsoft Technology Licensing, Llc | Eyepiece with uniformly illuminated reflective display |
US20120194418A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses with user action control and event input based control of eyepiece application |
US20120194553A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses with sensor and user action based control of external devices with feedback |
US20120200499A1 (en) | 2010-02-28 | 2012-08-09 | Osterhout Group, Inc. | Ar glasses with event, sensor, and user action based control of applications resident on external devices with feedback |
US20120194550A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Sensor-based command and control of external devices with feedback from the external device to the ar glasses |
US20120200601A1 (en) | 2010-02-28 | 2012-08-09 | Osterhout Group, Inc. | Ar glasses with state triggered eye control interaction with advertising facility |
US20120194552A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses with predictive control of external device based on event input |
US20120194549A1 (en) | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses specific user interface based on a connected external device type |
US20120200488A1 (en) | 2010-02-28 | 2012-08-09 | Osterhout Group, Inc. | Ar glasses with sensor and user action based control of eyepiece applications with feedback |
US8762207B2 (en) | 2010-03-15 | 2014-06-24 | Ncr Corporation | Apparatus, system and method for controlling the flow of customers |
US8620753B2 (en) | 2010-04-14 | 2013-12-31 | Restaurant Technology, Inc. | Restaurant management system and method |
US20110253482A1 (en) | 2010-04-16 | 2011-10-20 | Purgatorio James C | Device, system and method for assembling food orders |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
EP2403186B1 (en) | 2010-07-02 | 2017-12-27 | Vodafone IP Licensing limited | Telecommunication networks |
US9047605B2 (en) | 2010-07-27 | 2015-06-02 | Theodosios Kountotsis | System and method for instantaneous fingerprint recognition and analysis resulting in targeted output |
US20120084135A1 (en) | 2010-10-01 | 2012-04-05 | Smartslips Inc. | System and method for tracking transaction records in a network |
KR101740435B1 (en) | 2010-10-18 | 2017-05-26 | 엘지전자 주식회사 | Mobile terminal and Method for managing object related information thererof |
US20120150615A1 (en) | 2010-12-14 | 2012-06-14 | Isaacson Thomas M | System and method for an application programming interface for processing gifts |
US20120156337A1 (en) | 2010-12-16 | 2012-06-21 | Studor Charles F | Apparatus and Method for Brewed and Espresso Drink Generation |
US10235688B2 (en) | 2010-12-24 | 2019-03-19 | First Data Corporation | Web and mobile device advertising |
US20120173336A1 (en) | 2010-12-30 | 2012-07-05 | Ford Global Technologies, Llc | Method and system for promoting health awareness in a vehicle |
US20120183932A1 (en) | 2011-01-14 | 2012-07-19 | International Business Machines Corporation | Location-Aware Nutrition Management |
US20130027561A1 (en) | 2011-07-29 | 2013-01-31 | Panasonic Corporation | System and method for improving site operations by detecting abnormalities |
US20140316915A1 (en) * | 2011-09-30 | 2014-10-23 | Sealed Air Corporation | Visually adaptive process improvement system for order taking |
US20130166334A1 (en) * | 2011-12-21 | 2013-06-27 | Michael A. Liberty | Electronic menu and ordering system |
US20130282624A1 (en) | 2012-04-20 | 2013-10-24 | Glenn Schackmuth | Restaurant Equipment Monitoring and Control System and Method |
US20140122186A1 (en) | 2012-10-31 | 2014-05-01 | Pumpernickel Associates, Llc | Use of video to manage process quality |
US20150088594A1 (en) | 2013-09-20 | 2015-03-26 | Pumpernickel Associates, Llc | Techniques for analyzing restaurant operations |
US9257150B2 (en) | 2013-09-20 | 2016-02-09 | Panera, Llc | Techniques for analyzing operations of one or more restaurants |
-
2013
- 2013-09-20 US US14/032,701 patent/US9257150B2/en not_active Expired - Fee Related
-
2015
- 2015-12-28 US US14/980,109 patent/US9336830B1/en active Active
-
2016
- 2016-03-03 US US15/059,333 patent/US20160180477A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798987B2 (en) | 2013-09-20 | 2017-10-24 | Panera, Llc | Systems and methods for analyzing restaurant operations |
US9965734B2 (en) | 2013-09-20 | 2018-05-08 | Panera, Llc | Systems and methods for analyzing restaurant operations |
US10019686B2 (en) | 2013-09-20 | 2018-07-10 | Panera, Llc | Systems and methods for analyzing restaurant operations |
US10163067B1 (en) | 2013-09-20 | 2018-12-25 | Panera, Llc | Systems and methods for analyzing restaurant operations |
US10304020B2 (en) | 2013-09-20 | 2019-05-28 | Panera, Llc | Systems and methods for analyzing restaurant operations |
Also Published As
Publication number | Publication date |
---|---|
US20160180477A1 (en) | 2016-06-23 |
US9257150B2 (en) | 2016-02-09 |
US9336830B1 (en) | 2016-05-10 |
US20150086179A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9336830B1 (en) | Techniques for analyzing operations of one or more restaurants | |
AU2020276284B2 (en) | Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously | |
US10692030B2 (en) | Process visualization platform | |
US10884891B2 (en) | Interactive detection of system anomalies | |
US20180123918A1 (en) | Automatically detecting latency bottlenecks in asynchronous workflows | |
US20080162210A1 (en) | Configurable goals in a dashborad application | |
US20150088594A1 (en) | Techniques for analyzing restaurant operations | |
US20130121580A1 (en) | Analysis of service delivery processes based on interrogation of work assisted devices | |
Ligus | Effective monitoring and alerting | |
US20080222286A1 (en) | Computer Usage Monitoring | |
US20140279188A1 (en) | Systems and methods for providing quantities of previously ordered product to repeat users of a website | |
US20180121311A1 (en) | Identifying request-level critical paths in multi-phase parallel tasks | |
US20140122186A1 (en) | Use of video to manage process quality | |
US8843106B2 (en) | System and method for improving productivity | |
JP6635458B1 (en) | Information processing device | |
US20220335438A1 (en) | Retaining user value through user support interaction analytics | |
US11341166B2 (en) | Method and system for attributing metrics in a CRM system | |
WO2015041825A1 (en) | Techniques for analyzing restaurant operations | |
JP2020181564A (en) | Information processing device and information processing system | |
US10567331B1 (en) | Search and notification procedures based on user history information | |
JP2016057768A (en) | Business supporting system, business support management device, business support management program and business support management method | |
US20170300923A1 (en) | System for identifying root causes of churn for churn prediction refinement | |
US11272022B2 (en) | Server for generating integrated usage log data and operating method thereof | |
JP4978336B2 (en) | Information search device, information search method, and information search program | |
US20140324728A1 (en) | System and method for progressive feedback collection and review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PUMPERNICKEL ASSOCIATES, MISSOURI Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HURST, BLAINE E.;NETTLES, MICHAEL R.;REEL/FRAME:037389/0329 Effective date: 20130919 |
|
AS | Assignment |
Owner name: PANERA , LLC, MISSOURI Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PUMPERNICKEL ASSOCIATES, LLC;REEL/FRAME:037644/0232 Effective date: 20151214 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, NE Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:PUMPERNICKEL ASSOCIATES, LLC;PANERA, LLC;REEL/FRAME:043229/0048 Effective date: 20170718 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: COOEPERATIEVE RABOBANK U.A., NEW YORK BRANCH, NEW YORK Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:PANERA BREAD COMPANY;PANERA, LLC;PARADISE BAKERY & CAFE, INC.;AND OTHERS;REEL/FRAME:052741/0684 Effective date: 20200521 |
|
AS | Assignment |
Owner name: PANERA, LLC, MISSOURI Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:COOEPERATIEVE RABOBANK U.A., NEW YORK BRANCH;REEL/FRAME:055615/0001 Effective date: 20210315 Owner name: PANERA BREAD COMPANY, MISSOURI Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:COOEPERATIEVE RABOBANK U.A., NEW YORK BRANCH;REEL/FRAME:055615/0001 Effective date: 20210315 Owner name: PUMPERNICKEL ASSOCIATES, LLC, MISSOURI Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:COOEPERATIEVE RABOBANK U.A., NEW YORK BRANCH;REEL/FRAME:055615/0001 Effective date: 20210315 Owner name: ABP CORPORATION, MASSACHUSETTS Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:COOEPERATIEVE RABOBANK U.A., NEW YORK BRANCH;REEL/FRAME:055615/0001 Effective date: 20210315 Owner name: PARADISE BAKERY & CAFE, INC., MISSOURI Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:COOEPERATIEVE RABOBANK U.A., NEW YORK BRANCH;REEL/FRAME:055615/0001 Effective date: 20210315 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNORS:PUMPERNICKEL ASSOCIATES, LLC;PANERA, LLC;PARADISE BAKERY & CAFE, INC.;AND OTHERS;REEL/FRAME:060454/0789 Effective date: 20220615 Owner name: PANERA LLC, MISSOURI Free format text: NOTICE OF RELEASE OF SECURITY INTEREST IN PATENTS - RELEASE OF REEL FRAME 043229-0048;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:060455/0293 Effective date: 20220615 Owner name: PUMPERNICKEL ASSOCIATES, LLC, MISSOURI Free format text: NOTICE OF RELEASE OF SECURITY INTEREST IN PATENTS - RELEASE OF REEL FRAME 043229-0048;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:060455/0293 Effective date: 20220615 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |