Patent ID: 12212428

Corresponding reference characters indicate corresponding parts throughout the drawings.

DETAILED DESCRIPTION

Referring to the drawings,FIG.1illustrates one embodiment of a network system embodying aspects of the present invention, designated generally by the reference number10. In the illustrated example, the system10is configured as a food preparation establishment network system for use in a food preparation establishment, such as a restaurant or other commercial kitchen, including a quick service or “fast food” restaurant. The system10can be used for “smart kitchen” purposes such as forecasting or predicting food that will be ordered in the future, preparing food, monitoring food preparation and food inventory, providing indications and instructions regarding food preparation and food inventory, labor scheduling management, asset tracking, smart appliance communication, sensor network integration, global inventory control, and facilitating communications between devices in the network for these and other purposes. As will become apparent, the network facilitates communication between various components of the network across a variety of communication protocols.

Referring still toFIG.1, the system10in the illustrated embodiment includes a point-of-sale (POS) network10A and a kitchen network10B. The POS network10A includes a plurality of POS terminals20for entering customer orders, a POS switch22, a POS server24, and a POS firewall26. The kitchen network10B includes components, such as food preparation apparatus32and control apparatus34. The food preparation apparatus32may include various food cooking devices36. An oven is shown inFIG.1as an example of one such cooking device, and it will be understood that other cooking devices, such as fryers, microwaves, dough conditioning cabinets, and grills can be used without departing from the scope of the present invention. The food preparation apparatus32may also include food holding apparatus38such as one or more food holding units adapted for holding food at a suitable temperature (e.g., cool temperature, ambient temperature, and/or warm temperature) such as a steam table, an infrared holding unit, a heat sink holding unit, or other holding unit, etc. The control apparatus34may include various devices such as local computers40and remote or offsite computers42, any of which could take the form of various types of computers, including a tablet or hand-held computing device (e.g., smart telephone), desktop computer, or laptop computer, etc. The local computers40can be free-standing or mounted on or near food product preparation apparatus.

In the illustrated embodiment, local computers40include a plurality of user interfaces in the form of timer panels40A,40B for indicating food held in product holding units and associated hold times and a manager's panel40C for displaying similar information and optionally additional information. The remote computers42may take the form of various computers, such as a tablet or other hand-held computing device (e.g., smart telephone), desktop computer, or laptop computer, etc. The remote computers42can provide access to information similar to the manager's panel40C. As described in further detail below, the control apparatus34also includes a network appliance50facilitating communication between various components of the network system and serving various other purposes. For example, a food processing management system includes software executed by one or more of the control apparatus34, such as the network appliance50, as described further below.

In another aspect, the control apparatus34, such as the network appliance50, stores and executes software providing, for example, a suite of “smart kitchen” applications including food inventory and processing management, labor scheduling management, asset tracking, smart appliance communication, sensor network integration, global inventory control, and the like. One or more of the control apparatus34may be used instead of or in conjunction with the network appliance50for carrying out these operations. For example, the local computers40(e.g., timer panels40A,40B) may be in wired or wireless communication with the network appliance50and be positioned at various locations in the kitchen, such as adjacent food preparation apparatus32for which information displayed on the local computers pertains. In one embodiment, a timer panel40A,40B could be used for monitoring hold times of food in a food product holding unit38and be positioned adjacent or on the food product holding unit.

It will be appreciated that adapting an existing food preparation establishment such as a restaurant to have the food preparation establishment network system10can present many challenges. For example, many food preparation establishments, even if similar in nature, can have unique kitchen components, POS systems, and network characteristics. Food preparation establishments use various POS vendors, and even within the same vendor, POS systems often have custom configurations per store. Food preparation apparatus32pre-existing in a store have various communication capabilities (e.g., various communication protocols.) It will be appreciated that these and other aspects of food preparation establishments can present challenges to forming the kitchen network10B, enabling communication between the variety of components of the kitchen network, providing bi-directional communication between the components of the kitchen network over the Internet (e.g., via an ISP gateway56) with remote control apparatus (e.g., the remote computers42), and providing communication between the kitchen network and the POS network10A for supplying POS data to the control apparatus34. These aspects of the system10are useful for fully enabling the control apparatus34to execute the smart kitchen applications and other purposes outlined above. As will become apparent, the network appliance50includes a variety of features that facilitate overcoming the above-mentioned challenges in establishing the system10. The network appliance50makes establishment of such systems10at a relatively large commercial scale a reality, because installations are more efficient and less time consuming, as will become apparent.

The network appliance50represents the central nervous system of the network system10. The network appliance50is configured for facilitating communication between the various other components of the network system, notwithstanding the variety of communication protocols that may be used. The network appliance50is a hardware and software solution designed to bring value to the food preparation establishment or restaurant to permit communication integration of existing and future food preparation apparatus32and control apparatus34. Referring toFIGS.2and3, the network appliance50in the illustrated embodiment includes an application server60, a network router62, a network switch64, and at least one communication protocol gateway66A-66E. The network appliance50can take various physical forms. For example, the network appliance50may include a housing (e.g., represented schematically inFIG.2) for housing the various components, and network connectors or ports may be mounted on the housing to be accessible from the exterior for making connections with the various components.

The application server60provides the computing engine that drives the center of the kitchen. Disparate workloads ranging from low level operating system tasks, high level business applications, statistical forecast engines, relational databases, network integration and coordination software, and system health and monitoring can all be executed with great speed and high levels of throughput. The application server60may have the following features and characteristics:Dual core CPU clock speeds of 1-2 Ghz4 GB of system RAM32 GB of SSD Hard drive.Hypervisor installed on the bare metal hardwareGuest Operating Systems running in Hardware Assisted virtualized mode

Using a hypervisor provides the application server60with the advantage of doing “brain transplants” by downloading new appliances for major releases. The application server60is configured to leapfrog past device upgrade models, such as over the air firmware upgrades, that risk device failure due to inconsistent or broken data exchange (bricked devices). This strategy allows for higher confidence in releasing with a far lower chance of catastrophic failure.

The network router62provides a high level of network integration. The network router62brings its own network, and provides high security for bridging to networks, such as the POS network10A, that contain sensitive PCI (Payment Card Industry) compliant data. For example, the router62can be a network switch (e.g., layer 3 network switch) that has routing capability and may be referred to herein as a router and/or a switch. The far side of the network integration, often times found lacking from a security standpoint, is segmented properly using the network appliance's advanced routing technology and physical port configurations. Having sufficient flexibility of physical network interfaces is a challenge of the low cost network routing space. The router62includes, for example, five WAN interface ports62A, an Access Point Power over Ethernet port62B, a PCI port62C, and a LAN Power over Ethernet port62D. Four of the five WAN ports62A provide Power over Ethernet support in addition to the 10/100 Mbps data throughput measurements. The router62has the ability to physically segment a non-PCI compliant network (e.g., perhaps the POS network10A) from a PCI compliant network (e.g., the kitchen network10A). The router provides the ability to provide a physical LAN segment between the POS network10A and the kitchen network10B. The router provides the ability to be a VPN client to a master VPN server cluster.

As explained in further detail below, in an embodiment, the router62enables secure Reverse VPN connection, allowing for secure encrypted traffic originating from a control center portal in the cloud to enter the network appliance50and provide support/diagnostics, and updates with a secure connection to the cloud.

The router62has the ability to provide Access Point power and data via a single Category 5e cable via the AP PoE port62B. The network router62is a substantial architectural component. In an effort to not pollute the existing network infrastructure with a large and growing number of network endpoints, the network router62abstracts the complexity of the Internet of Things from the existing premise network, while still offering the needed real time integration. Thus, the network appliance50provides a high level of routing technology.

The network switch64is, for example, an Ethernet switch for routing internal components in addition to external devices. The network switch64provides capacity for future network devices.

A variety of communication protocol gateways are contemplated. As shown inFIG.2, a ZigBee gateway66A, Bluetooth gateway66B, Wi-Fi gateway66C, RFID gateway66D, and network interface gateway66E can be used, and it will be understood that various other types of communication protocol gateways (e.g., NFC) can be used without departing from the scope of the present invention. The network appliance50has the capability to bridge multiple communication protocols and normalize to the de-facto standards of the internet age (Ethernet, TCP/IP, UDP).

The ZigBee gateway66A, sitting atop the 802.15.4 wireless protocol and providing a wireless personal area network, provides a gateway to the Internet of Things including a variety of devices. The ZigBee gateway66A provides an ability to bridge the 802.15.4 protocol specification using the globally approved 2.4 Ghz unlicensed spectrum for ZigBee. In one example, the ZigBee gateway66A may provide communication ability with ZigBee enabled components such as appliances or sensor systems (e.g., HVAC systems, HACCP food temperature measurement systems, alarm systems, etc.).

The Wi-Fi gateway or access point66C provides wireless connection to Wi-Fi enabled components, such as various food preparation apparatus32and/or control apparatus34. The Wi-Fi access point66C can be an enterprise grade outdoor IP rated (waterproof) 5 Ghz Wi-Fi access point providing a robust 5 Ghz smart channel spectrum. The network appliance50interoperates with the Wi-Fi access point66C to provide high speed wireless access needed for the application systems run by the application server60. The 5 Ghz unlicensed band allows for a much more robust wireless environment able to engage with the harsh kitchen environment of food preparation apparatus32such as microwaves, stainless steel, existing wireless communication systems, and public Wi-Fi for customers. For example, the Wi-Fi access point66C may have an IP65 rated weatherproof enclosure and have operating temperature thresholds ranging from −30 C to +70 C to allow for harsh kitchen temperatures and provide an ability to extend the range and flexibility of wireless devices in a harsh commercial kitchen environment. The Wi-Fi access point66C may use 23 non-overlapping channels for cleaner data reception and signal interference and “smart” channel selection to tune to the least congested segment of the spectrum. The Wi-Fi access point66C allows for more thorough cleaning, flexibility of layout and design, and custom arrangement of devices. Wireless communications will be useful in kitchens of the future to help avoid infrastructure and maintenance costs for wiring/rewiring.

The network interface gateway66E allows the network appliance50to bridge the past to the future. For example, older food preparation apparatus32and control apparatus34can be bridged for communication with new food preparation apparatus and control apparatus having newer communication protocols and other technology. Legacy control networks such as used on older food product preparation apparatus and control apparatus use various network architectures and standards (e.g., single-wire protocol). The network appliance50bridges older devices to newer devices through the hardware interconnects and the software systems. Using the network interface gateway66E, the network appliance50can connect to legacy control networks (e.g., BACnet, RS-485 control networks, RS-232 devices) to bridge to established protocols, providing the ability to use legacy systems elongating their usable lifetimes, and providing longer ROI paths to existing CapEX purchases. The network interface66E may include a single board computer with various wireline protocol interconnects, such as, Serial Peripheral Interface (SPI), I2C (I2C), Control Area Network (CAN), RS-485, RS-232, and have several (e.g., sixty or more) general purpose input/output pins.

Broadly speaking, the gateways66A-66E described above can be said to provide network connections between the network appliance50and other components of the network system10. Still other network connections can be provided by hardwired network connections. For example, as shown inFIG.2, all of the ports of the router62, including the WAN ports62A (e.g., for connecting to the Internet, etc.), AP Power over Ethernet port62B (e.g., for connecting to the Wi-Fi gateway66C), PCI port62C (e.g., for connecting to the POS network), and LAN Power over Ethernet port62D, may be considered network connections of the network appliance50. The network appliance50also includes several LAN ports70via the network switch64providing network connections for wired connection to various components, such as food preparation apparatus32and control apparatus34.

As an example, assume an existing food preparation establishment decides it would like to have capabilities provided by one or more of the “smart kitchen” applications and features outlined above. Perhaps the food preparation establishment desires to have the suite of applications including, for example, food inventory and processing management, labor scheduling management, asset tracking, smart appliance communication, sensor network integration, global inventory control, and the like. To establish the system10to enable the operation of such programs, the network appliance50and the local computers40A,40B,40C will be installed. Prior to installation of the local computers40A,40B,40C, the network appliance50will be installed. Prior to installation of the network appliance50, the food preparation establishment is asked to confirm or establish various software, hardware, and/or network components are properly configured for the appliance installation. For example, the food preparation establishment may be asked to provide the following:Internet access with port forwardingReservation of appropriate router IP address for network applianceReservation of sibling IP address to POS server (as applicable)Outbound access configurationsInbound access configurations

An initial step of installing the network appliance50is connecting the appliance to the Internet (e.g., via an ISP gateway, modem, or switch designated for the appliance) and connecting the appliance to the POS network10A. The WAN port62A and the PCI port62C, respectively, and corresponding Ethernet cables are used for these purposes. Installation can be relatively simple in plugging the network appliance50into a power outlet and following an installation wizard. The application server60of the network appliance50stores instructions for establishing a connection with the remote portal (e.g., hosted by a remote computer42) over the Internet, and for establishing communication with the POS network10A. The network appliance50is programmed to work toward full connectivity with the remote computer42and POS network10A, maintain that connectivity after established, and re-establish such connectivity if a break subsequently occurs.

In one embodiment, the application server60of the network appliance50has instructions for establishing and maintaining a reverse virtual private network (“VPN”) connection for communication with a portal hosted by a remote computer42. An example sequence of communication for establishment of such a reverse VPN connection is illustrated inFIG.4. In a first phase, the network appliance50seeks outbound connectivity over the Internet with the portal42. In response to such a signal from the network appliance50, the portal42responds with an acknowledgement signal and custom data payload (e.g., VPN credentials). After validation of the first phase, in a second phase, the network appliance50, from the trusted location inside the food preparation establishment, executes stored software to signal the portal42to establish a VPN session. The portal42responds with a connection signal. The network appliance50transmits a second connect signal to the portal42, and in turn, the portal sends an inbound signal, thus establishing bi-directional communication via the VPN session. Progression in the steps of establishing the VPN connection is monitored by the network appliance50and portal42, and can be communicated to food preparation establishment personnel and network appliance manufacturer for updating them on status of installation and notification of installation errors, etc. The established VPN connection is shown schematically inFIG.1and indicated generally by the reference number72.

It will be appreciated that use of the VPN connection72in this food preparation establishment context provides several advantages. At a basic level, the VPN connection72provides a “tunnel” through the firewall to the portal. The VPN connection72provides a reliable, secure tunnel for bi-directional communication between the portal42and the kitchen network10B. It will be appreciated that kitchen network components, whether pre-existing or subsequently installed, can be connected to the portal42via the network appliance50and VPN connection72without having to separately transit the firewall (e.g., without having to reconfigure the firewall of the network appliance). Such communication can enable remote access by food establishment personnel to all aspects (e.g., programming, monitoring, etc.) of the components of the kitchen network10B and access to the suite of “smart kitchen” applications remotely. Moreover, it will be appreciated that the VPN tunnel72provides a reliable pathway for manufacturers to remotely communicate with smart kitchen appliances32for firmware updates and other purposes.

After establishment of the VPN connection72, the network appliance50executes stored software for establishing communication with the POS system10A. Referring again toFIG.4, the network appliance50seeks POS connectivity, and the POS signals the network appliance when connectivity is established. In one embodiment, data communicated from the portal to the network appliance50during or after establishment of the VPN session can be customized settings such as POS network information useful in establishing POS connectivity. For example, such information includes whether to connect with the POS system10A by “listening” for a signal “pushed” from the POS system or by “requesting” or “pulling” information from the POS system. When phase three has been validated, communication with the POS network10A has been established. As with establishment of the VPN connection, the network appliance50and portal42can monitor the progress of establishment of the POS connection and communicate related information to the food preparation establishment personnel and network appliance manufacturer. The POS connection is made in a PCI-compliant manner, and enables communication of POS data to the control apparatus34for use in the suite of applications outlined above as needed.

Another step in forming the network system10is establishing communication of the various kitchen network components with the network appliance50. It will be understood that an existing commercial kitchen may include components (control apparatus34and preparation apparatus32, etc.) made by various manufacturers. The components may not be made to communicate with each other by a common protocol or may not otherwise have compatible communication capabilities. For example, a food product holding unit38configured for single-wire or serial protocol communication is incapable of directly communicating with an oven36configured for LAN or Wi-Fi protocol communication. According to the present invention, the network appliance50enables communication with and between these types of components notwithstanding the difference in communication protocols.

To enable communication across the variety of communication protocols, the application server60stores and executes software that provides a messaging middleware standard (e.g., layer 7 OSI model standard) to provide application gateways to lower layer protocols in ZigBee, Ethernet, Wi-Fi, RS-485, RS-232, etc. The software may be referred to as protocol translation and information brokering software. As shown inFIG.5, the software defines a plurality of virtual smart agents80associated with respective devices (e.g., food preparation apparatus32and control apparatus34) and a virtual data bus82connecting the smart agents. In the illustrated embodiment, agents80are shown representing various food preparation apparatus32and control apparatus34. The apparatus may be manufactured by different companies (e.g., Company A, Company B, etc.), and therefore configured to communicate according to different protocols rather than a common protocol.

In an embodiment, the agents80are software modules that function as finite state machines, each acting as a protocol proxy. The agents80are configured for translating information from the specific protocol supported by the represented component to an agnostic protocol, and vice versa. The agnostic protocol is used for communication between the agents80. The agents80can publish and subscribe to information on the data bus82using the agnostic protocol. A virtual broker84brokers information among the agents80according to subscriptions of the agents. Thus, the network appliance50facilitates operational intelligence across a wide variety of equipment, providing a bridge to equipment via hardware and software interconnects.

An example communication between a food processing management system (e.g., the network appliance50executing food processing management system software) and food holding unit38via the protocol translation and information brokering software is represented inFIG.5as a bolded line86extending along the data bus82between respective agents80A,80B. An example dialog between the food processing management system50and the food product holding unit38via respective agents80A,80B is shown inFIG.6. In a first communication90, the product holding unit38signals the associated agent80A to bind, and the agent signals an acknowledgement to the product holding unit. In a second communication92, the PHU agent80A signals the virtual broker to subscribe the agent to commands published to the data bus82for the PHU. In a third communication94, the agent80B for the food processing management system50signals the virtual broker to subscribe to events relating to the PHU38. In a fourth communication96, the food processing management system50signals its agent80B to send a “start holding well” signal to the PHU38. The communication from the food processing management system50can occur in a particular protocol. In response to the communication, the agent80B publishes a holding well start signal98in the agnostic protocol to the data bus82, essentially translating the communication. Pursuant to the subscription of the PHU agent80A to PHU command signals, the broker84transmits the holding well start signal100to the PHU agent in the agnostic protocol. In an embodiment, the middleware software executing on the application server transmits the command from a queue. The PHU agent80A translates the holding well start signal from the agnostic protocol to a protocol used by the PHU38and signals102the PHU in that protocol to start the holding well. The PHU38communicates to the processing management system50that the holding well has been started in a manner similar to that described with respect to the holding well start signal, but in the reverse order. The PHU signals104the PHU agent80A to send a holding well started signal, the PHU agent80A publishes a signal106to the data bus82in the agnostic protocol, the broker84transmits a signal108to the food process management system agent80B according to the subscription for PHU events, and the food process management system agent signals110the food process management system50. It will be understood these communications are provided by way of example without limitation, and various other information or data may be communicated among devices in the network via the protocol translation and brokering software.

As is now apparent, installation of the network appliance50greatly facilitates networking of the kitchen components, establishing communication with the remote portal42, and establishing communication with the POS network10A. Also, the network appliance50enables the operation of the suite of “smart kitchen” applications outlined above. Moreover, it will be appreciated, the network appliance50provides the additional advantage of permitting reliable, secure bi-directional communication over the VPN tunnel72for various purposes, such as to update firmware of food preparation apparatus of the kitchen network. The host of the remote portal42can provide access to the kitchen network10B and/or specific food preparation apparatus32or computers40of the kitchen network to third parties, such as the manufacturers of the respective components, via the VPN tunnel72for various purposes.

Referring now toFIG.7, a second embodiment of a network system embodying aspects of the present invention is designated generally by the reference number210. The network system of this embodiment is similar to the network system10described above with respect toFIGS.1-6, and like parts are designated with like reference numbers, plus200. For example, in this embodiment, the system210includes a POS network210A with a plurality of POS terminals220, a POS switch222, and a POS server224. The system210also includes a kitchen network210B including food preparation apparatus232(e.g., food cooking devices236and food holding apparatus238) and control apparatus234(e.g., local computers240A-240C and remote computers242).

The network appliance250has a simpler construction relative to the network appliance50described above. Referring toFIG.8, the network appliance250includes a single chip computer260(broadly “application server”). In one embodiment, the single chip computer has an ARM based CPU260A (broadly “network appliance processor”) running at speeds of 1 GHz and 512 MB of RAM260B (broadly “non-transitory computer-readable storage medium”) and is supplied with 5 volts power. The network appliance250also includes first and second network ports262A,262C (e.g., RJ45 ports) for connection to the POS system210A and Internet (e.g., via ISP gateway, modem, or switch designated for the network appliance), respectively. Desirably, the network appliance250also includes a power indicator274, and a status indicator276. In one example, the network appliance250includes a relatively simple housing or case (e.g., shown schematically inFIG.8) supporting and enclosing the single chip computer and supporting the ports and indicators.

Referring again toFIG.7, it will be appreciated the network appliance makes use of the restaurant firewall226, instead of having its own firewall as in the first embodiment. Moreover, the network appliance makes use of a separate switch264, instead of a switch (e.g., switch64) onboard the network appliance. Accordingly, in this embodiment, the network appliance250makes use of existing or separately supplied network infrastructure (e.g., switch264, firewall226, communication gateways, etc.) in the food preparation establishment instead of providing it onboard the network appliance.

The network appliance250of this embodiment provides several of the same advantages as the network appliance50described above. For example, the network appliance250executes instructions stored in the memory264for establishing a VPN connection272over the Internet (e.g., via an ISP gateway256) with a portal hosted by an offsite computer242. After physical connection of the network appliance250to the Internet and to the POS network210A via the network ports262A and262C, the process for establishment of the VPN tunnel would proceed exactly as described above with respect toFIG.4. Moreover, the network appliance250executes stored instructions for establishing communication with the POS network, as described above with respect toFIG.4. Additionally, the network appliance250executes stored instructions to establish a virtual data bus and facilitate communication among various networked components, as described above with respect toFIGS.5and6.

The indicators274,276of the network appliance250are useful in indicating to the user at the food preparation establishment status of the network appliance. For example, the power indicator274is in an active state (e.g., illuminated) whenever power is supplied to the network appliance250. The status indicator276indicates status of the various connections made by the network appliance and the indicator changes to different indicator states to indicate different states of connection. For example, in one embodiment, the status indicator276is in an inactive state when the network appliance250has power but has not yet started establishing connections. When the network appliance250is working to establish the outbound connectivity with the remote portal242, the status indicator blinks or flashes relatively slowly. After outbound connectivity with the remote portal242is established, and while the network appliance250is working to establish inbound connectivity with the remote portal, the status indicator276blinks or flashes at a relatively intermediate speed. After the VPN session272is established, and while the network appliance is working to establish communication with the POS system210A, the status indicator blinks or flashes at a relatively fast speed. Finally, after communications with the remote portal242and the POS system210A have been established, the status indicator276maintains a steady active state (e.g., constant illumination). It will be appreciated that the indicators274,276can be provided and used in a similar fashion in the previous embodiment.

Accordingly, the network appliance250enables network connectivity and communication for the suite of “smart kitchen” applications outlined above, which may be executed by one or more of the control apparatus234. Moreover, it will be appreciated, the network appliance250provides the additional advantage of permitting reliable, secure bi-directional communication over the VPN tunnel272for various purposes, such as to update firmware of food preparation apparatus of the kitchen network. As with the previous embodiment, the host of the remote portal242can provide access to the kitchen network210B and/or specific food preparation apparatus232or computers240of the kitchen network to third parties, such as the manufacturers of the respective components, via the VPN tunnel272for various purposes. Like the network appliance50, this network appliance250can be installed in conjunction with the local computers240A,240B,240C to provide reliable network connectivity and communication across various communication protocols with kitchen network components and fully enabling the suite of smart kitchen applications.

Referring now toFIG.9, a third embodiment of a network appliance embodying aspects of the present invention is designated generally by the reference number350. The network appliance of this embodiment is similar to the network appliance50described above with respect toFIGS.1-6, and like parts are designated with like reference numbers, plus300. For example, the network appliance350includes an application server360and a router362. The application server360can have the same construction and perform the same functions explained above with respect to the application server60. The network appliance50also includes a network interface gateway366E (broadly, a “communication protocol gateway”). It will be understood that the network appliance350can be used in place of the network appliance50in the network system10shown inFIG.1, to perform the same functions of the network appliance50explained above.

Like the network router62, the network router362provides a high level of network integration. The network router362brings its own network, and provides high security for bridging to networks, such as the POS network10A, that contain sensitive PCI (Payment Card Industry) compliant data. For example, the router362can be a network switch (e.g., a layer 3 network switch) that has routing capability and may be referred to herein as a router and/or a switch. The far side of the network integration, often times found lacking from a security standpoint, is segmented properly using the network appliance's advanced routing technology and physical port configurations. Having sufficient flexibility of physical network interfaces is a challenge of the low cost network routing space. The router362includes a plurality of ports for making network connections. For example, router362has a WAN interface port362A (e.g., for connecting to the Internet), an Access Point Power over Ethernet port362B (e.g., for connecting to the Wi-Fi gateway66C), and a PCI port362C (e.g., for connecting to the POS network10A). The router362in the illustrated embodiment also includes a LAN Power over Ethernet port362D and a LAN port370, both of which could be used for connecting to various food preparation apparatus32. Additional ports and/or other ports can be provided without departing from the scope of the present invention. For example, an expansion switch371having LAN ports373can be used for connecting to additional food preparation apparatus32or other devices. The router362has the ability to physically segment a non-PCI compliant network (e.g., perhaps the POS network10A) from a PCI compliant network (e.g., the kitchen network10B). The router362provides the ability to provide a physical LAN segment between the POS network10A and the kitchen network10B. The router362provides the ability to be a VPN client to a master VPN server cluster, as explained above, for enabling secure reverse VPN connection.

The network interface gateway366E (broadly “communication protocol gateway”) allows the network appliance350to bridge the past to the future. For example, older food preparation apparatus32and control apparatus34can be bridged for communication with new food preparation apparatus and control apparatus having newer communication protocols and other technology. Legacy control networks such as used on older food product preparation apparatus and control apparatus use various network architectures and standards (e.g., single-wire protocol). The network appliance350bridges older devices to newer devices through the hardware interconnects and the software systems. In this embodiment, the network interface gateway366E comprises a single board computer including RS-232 wireline protocol ports367configured for connecting to legacy RS-232 devices. For example, one or more of the ports367can be used for connecting to a legacy food holding unit38, and/or one or more of the connectors can be used for connecting to a legacy local computer40operating a food management software.

Broadly speaking, the ports367of the gateway366E and all of the ports of the router362may be considered network connections of the network appliance350.

The network appliance350can take various physical forms. For example, the network appliance350may include a housing (e.g., shown schematically inFIG.9) for housing the various components, and network connectors or ports may be mounted on the housing to be accessible from the exterior for making connections with the various components.

In an aspect of the present invention, components of the network systems10,210can be used to implement a food preparation establishment virtual software application store. As explained above, the network appliance50,250,350can store and/or execute software applications. Such software applications can be accessible for free or purchased download by users at the food preparation establishment via the virtual store. In one embodiment, the remote computers or offsite portal42,242can host a virtual store that is accessible via the cloud from the food preparation establishment, e.g., via one or more of the local computers40,240. Desired software applications can be downloaded from the virtual store and saved to, e.g., the network appliance50,250,350(or another component of the network system10,210). Accordingly, the application server60,260,360can be updated to include and execute various software applications selected by a user at the food preparation establishment. It will be appreciated that the connectivity the network appliance50,250,350facilitates in the network system10,210enables implementation of a variety of different software applications. The software applications can take advantage of the networking of the various components in the food preparation establishment facilitated by the network appliance50,250,350and the VPN connection. The host of the remote portal42,242can accept third party software application submissions and provide them for download via the virtual store. For example, the software applications can be directed to food inventory and processing management, labor scheduling management, asset tracking, smart appliance communication, sensor network integration, global inventory control, etc. The software applications can be directed for use with a particular component or a variety of components of the network system10,210. In one example, a manufacturer of a food preparation apparatus32sold to the food preparation establishment may desire to make a software application available in the virtual store that is usable in conjunction with the particular food preparation apparatus (and perhaps in conjunction with the local computers40,240). In another example, a sensor network provider may desire to offer a software application available in the virtual store such that the network appliance50,250,350facilitates connectivity of the sensors with each other in the food preparation establishment, with other components of the network system10,210, and/or with components remote from the store (e.g., via the VPN connection).

Although the network appliances50,250,350are described herein as being used in conjunction with local computers and for enabling the “smart kitchen” applications, it will be appreciated that various features of the network appliances are useful apart from such use. For example, the network appliances50,250,350can be used in a scenario without a “food processing management system” such as without local computers40A,40B,40C or240A,240B,240C for the purpose of facilitating communication between food preparation apparatus32or232using different native communication protocols, and for facilitating communication between offsite computers42or242with the networked kitchen components, such as for providing reliable, secure VPN connection72or272to food preparation apparatus for remotely updating firmware, etc. As explained above, the VPN connection272through the network appliance250facilitates remote Internet connection to later installed appliances because it can be done relatively easily through the existing VPN connection, desirably without having to reconfigure the restaurant firewall226. In an embodiment, where a management system (e.g., local computers40A,40B,40C or240A,240B,240C) is not used, or the food preparation establishment is not interested in the capabilities such as food preparation forecasting, etc. requiring a POS data feed, the network appliance50,250,350does not need to be connected to the POS network10A,210A.

It will be appreciated that any of the network appliances50,250,350can be integrated in and thus be a part of any of the food preparation apparatus32,232(e.g., food cooking devices36,236and food holding apparatus38,238). A food preparation apparatus32,232having the network appliance50,250,350onboard the apparatus could have the features and functionality described above with respect to the network appliances and could be referred to as a food preparation apparatus or a network appliance.

Embodiments of the present invention may comprise a special purpose computer including a variety of computer hardware, as described in greater detail below.

Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such a connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.

The following discussion is intended to provide a brief, general description of a suitable computing environment in which aspects of the invention may be implemented. Although not required, aspects of the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by computers in network environments. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represent examples of corresponding acts for implementing the functions described in such steps.

Those skilled in the art will appreciate that aspects of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Aspects of the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

An exemplary system for implementing aspects of the invention includes a general purpose computing device in the form of a conventional computer, including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. The system bus 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. The system memory includes read only memory (ROM) and random access memory (RAM). A basic input/output system (BIOS), containing the basic routines that help transfer information between elements within the computer, such as during start-up, may be stored in ROM. Further, the computer may include any device (e.g., computer, laptop, tablet, PDA, cell phone, mobile phone, a smart television, and the like) that is capable of receiving or transmitting an IP address wirelessly to or from the internet.

The computer may also include a magnetic hard disk drive for reading from and writing to a magnetic hard disk, a magnetic disk drive for reading from or writing to a removable magnetic disk, and an optical disk drive for reading from or writing to removable optical disk such as a CD-ROM or other optical media. The magnetic hard disk drive, magnetic disk drive, and optical disk drive are connected to the system bus by a hard disk drive interface, a magnetic disk drive-interface, and an optical drive interface, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules, and other data for the computer. Although the exemplary environment described herein employs a magnetic hard disk, a removable magnetic disk, and a removable optical disk, other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, RAMs, ROMs, solid state drives (SSDs), and the like.

The computer typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by the computer 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 include 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 are non-transitory and include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, SSDs, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired non-transitory information, which can accessed by the computer. Alternatively, communication media typically embody 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.

Program code means comprising one or more program modules may be stored on the hard disk, magnetic disk, optical disk, ROM, and/or RAM, including an operating system, one or more application programs, other program modules, and program data. A user may enter commands and information into the computer through a keyboard, pointing device, or other input device, such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit through a serial port interface coupled to the system bus. Alternatively, the input devices may be connected by other interfaces, such as a parallel port, a game port, or a universal serial bus (USB). A monitor or another display device is also connected to the system bus via an interface, such as video adapter48. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.

One or more aspects of the invention may be embodied in computer-executable instructions (i.e., software), routines, or functions stored in system memory or non-volatile memory as application programs, program modules, and/or program data. The software may alternatively be stored remotely, such as on a remote computer with remote application programs. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The computer executable instructions may be stored on one or more tangible, non-transitory computer readable media (e.g., hard disk, optical disk, removable storage media, solid state memory, RAM, etc.) and executed by one or more processors or other devices. As will be appreciated by one of skill in the art, the functionality of the program modules may be combined or distributed as desired in various embodiments. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, application specific integrated circuits, field programmable gate arrays (FPGA), and the like.

The computer may operate in a networked environment using logical connections to one or more remote computers. The remote computers may each be another personal computer, a tablet, a PDA, a server, a router, a network PC, a peer device, or other common network node, and typically include many or all of the elements described above relative to the computer. The logical connections include a local area network (LAN) and a wide area network (WAN) that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the computer is connected to the local network through a network interface or adapter. When used in a WAN networking environment, the computer may include a modem, a wireless link, or other means for establishing communications over the wide area network, such as the Internet. The modem, which may be internal or external, is connected to the system bus via the serial port interface. In a networked environment, program modules depicted relative to the computer, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network may be used.

Preferably, computer-executable instructions are stored in a memory, such as the hard disk drive, and executed by the computer. Advantageously, the computer processor has the capability to perform all operations (e.g., execute computer-executable instructions) in real-time.

The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.

Embodiments of the invention may be implemented with computer-executable instructions. The computer-executable instructions may be organized into one or more computer-executable components or modules. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.

When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.

Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.