本发明概括而言涉及一种烹饪装置,更具体而言涉及以可再现的烹饪结果在变化的操作条件下操作烹饪装置。
背景技术:
烹饪装置(烹饪设备)近来通过将多个功能集成到装置中已变得越来越智能。例如,现代烹饪设备将诸如加热、混合、煮沸、捣酱等等之类的功能集成在单个多功能烹饪设备中。烹饪设备通常必须以适当的技术参数设定(例如,温度设定、旋转速度设定等等)来操作以确保恰当的操作。下文中使用的烹饪设备的恰当操作指的是对于特定的食物产品以烹饪装置产生可再现的烹饪结果的正确、安全和/或稳固的操作。特定食物产品的可再现烹饪结果是在特定食物产品被以可重复方式在具有预定容差范围内的质量/分位点的重复中产生时实现的。这种食物产品可以包括可在菜单的一道或多道菜中供使用的多个食物成分。
有时,这种多功能烹饪装置的功能不足以在没有额外的厨房用具的情况下准备整个食物产品。换言之,有时,整个食物产品的准备可能要求除了烹饪装置以外还使用作为补充的厨房用具。额外的厨房用具可用于执行涉及与多功能烹饪装置(远程)分离的食物产品或食物产品的成分的烹饪步骤。这种厨房用具在下文中被称为“远程厨房用具”。此上下文中的“远程”因此表示在物理上不与烹饪装置集成。
特定食物产品的期望烹饪结果被定义为烹饪结果,所述烹饪结果在烹饪装置和远程用具的预定操作条件下(例如,最大加热/冷却功率、加热/冷却梯度等等)根据用于食物产品的预定食谱程序操作时由烹饪装置与一个或多个远程厨房用具而被合作提供。下文中使用的可再现烹饪结果是与期望的烹饪结果的偏离小于预定的容差范围的烹饪结果。换言之,期望的烹饪结果可由烹饪的食物产品的诸如一致性、形状、颜色、温度、及时可用性和/或味道之类的可测量参数来描述。如果这种参数落在预定的容差范围内,则产生的食物产品被定义为期望的食物产品的再现,并且因此烹饪装置对食谱程序的处理导致了可再现的烹饪结果。
烹饪装置和/或远程厨房用具在处理食谱程序时的实际操作条件可偏离用作食谱程序的基础的理想条件。例如,食谱程序所预见的远程厨房用具可能根本不可用,或者只有替代用具可用,其就技术规格(技术能力)而言不同于食谱所基于的用具。例如,用于向食物产品的成分应用食物处理步骤的远程厨房用具可表现出不同于食谱程序所预期的技术行为。例如,可用烤箱的加热控制没有达到食谱程序预期的最大温度或者加热功率不足以按食谱程序预期的速度达到期望的温度。
任何这种偏离的操作条件通常将会导致在这种偏离的操作条件下的烹饪结果大幅偏离这些条件下的期望烹饪结果的情形,因为食谱程序的后续步骤被负面影响。换言之,在偏离的操作条件下实现的烹饪结果通常可落在对于可再现餐食要求的预定容差范围之外。
因此,当涉及一个或多个实际可用的远程厨房用具,由多功能烹饪装置执行相应的食谱程序时,保持食物产品的烹饪结果的可再现性,是一个问题。
技术实现要素:
因此,需要改善对执行电子食谱指令的烹饪装置执行的食物处理步骤的控制,所述电子食谱指令控制烹饪装置的功能并且影响由远程厨房用具执行的用于食物成分的食物处理步骤。具体地,需要在食谱指令中的控制参数涉及不像食谱程序所预见的那样可用的远程厨房用具的情况下改善控制。
一般地,如下文中使用的多功能烹饪装置支持至少半自动化烹饪。本示范性公开的上下文中的半自动化烹饪支持指的是用于利用烹饪装置准备食物产品(餐食)的烹饪步骤中的至少一些可由烹饪装置通过执行用于餐食的特定食谱程序来自动执行。然而,也可以有一些要求用户交互的烹饪步骤(食物处理步骤),例如用特定配料装填烹饪装置。也可以有要求在另一多功能烹饪装置(例如,具有类似的功能)或远程厨房用具(例如,冰箱、烤箱、加热板等等)上准备食物产品的食物成分的烹饪步骤。食谱程序的技术参数设定可自动控制烹饪装置的相应烹饪功能。例如,温度参数设定可控制烹饪装置的温度。旋转速度参数设定可控制烹饪装置的一个或多个可旋转组件旋转的旋转速度。
额外的技术参数设定(例如,控制远程厨房用具的温度的温度参数设定)可影响远程厨房用具上的食物处理步骤。例如,额外的参数设定可在各设备之间存在适当的通信耦合的情况下被从烹饪装置发送到远程厨房用具,其中通过所述通信耦合,这些设备可基于适当的通信协议来通信。在替换方案中,烹饪装置可经由适当的输出手段(例如,显示或音频输出)向用户提供额外参数设定以向用户提供要被应用到远程厨房用具的各个操作指令。
在一个实施例中,一种控制系统被配置为对于由多功能烹饪装置执行的食物处理步骤和对于由一个或多个远程厨房用具执行的食物处理步骤提供控制参数。控制参数是由控制系统确定和提供的,以确保当食物产品始终根据食谱程序准备时对食物产品的多个烹饪结果的可再现性。控制系统可以是烹饪装置本身的组成部分,或者其可在与烹饪装置通信耦合但在远程操作的控制设备上实现。在远程控制场景中,控制系统可实现在移动设备上,例如智能电话或平板计算机,或者其可以是远程的基于云的服务器实现方式(implementation)的一部分。取决于实现场景,控制系统可通过以下方式与烹饪装置通信:经由内部通信总线(控制系统是烹饪装置的一部分),经由电力线通信,经由无线局域网(wirelesslocalareanetwork,wlan),经由短程通信(例如,蓝牙、zigbee等等),经由近场通信(nearfieldcommunication,nfc)技术(控制系统是在烹饪装置的附近操作的移动设备的一部分),或者经由诸如因特网或移动通信网络(例如,gsm、umts、lte等等;即,控制系统是远程服务器解决方案的一部分)之类的广域网。
控制系统具有被配置为访问数据存储设备上的食谱程序的食谱程序接口。食谱程序被配置为由烹饪装置执行并且具有被配置为控制烹饪装置的功能用于在其上执行食物处理步骤的食谱程序指令。其还包括用于由特定远程厨房用具执行的远程食物处理步骤的至少一个指令。配置食谱程序以使得当按照食谱程序指令中的相应控制参数设定执行食物处理步骤时,由烹饪装置执行的食物处理步骤与由特定远程厨房用具执行的食物处理步骤相协调。换言之,如果烹饪装置和(一个或多个)特定远程厨房用具根据食谱程序的指令执行烹饪步骤,则对于食物产品的各种食物成分的食物处理步骤的执行保证了最终食物产品的可再现烹饪结果。例如,由不同烹饪设备执行的食物处理步骤可能需要在如下意义上同步:依从于第二设备对食物处理步骤的完成的第一设备上的食物处理步骤将仅在第二设备完成这些步骤后才开始。
食谱程序存储可在控制系统外部或者可以是其组成部分。例如,食谱程序可由远程食谱服务器解决方案提供或者它们可被存储在可与控制系统通信耦合的移动数据载体(例如,usb盘、cd、dvd等等)上。例如,食谱程序可包括关于配料的类型、配料的数量、添加或混合配料的顺序、对于各种食物处理步骤的控制值(例如操作参数设定,比如温度、刀的速度、刀旋转的方向、处理时间等等)以及各种处理步骤的持续时间的指令。另外,食谱程序可包括内部指令(影响烹饪装置的内部功能的指令)和/或外部指令(影响一个或多个远程厨房用具的指令)。
控制系统还具有验证组件,所述验证组件被配置为检查一个或多个远程厨房用具是否在用具注册表中向烹饪装置注册。也就是说,验证组件可以为包括用于远程厨房用具的控制参数的每个食谱程序指令检查所述远程厨房用具是否已经向烹饪装置注册。在用具注册表中注册的厨房用具可用于与烹饪装置合作执行食物处理步骤。换言之,在用具注册表中注册的特定远程厨房用具可用于通过根据针对所述特定远程厨房用具的食谱程序的外部指令执行食物处理步骤来准备食物成分。烹饪装置对至少一个外部指令的执行触发了向远程厨房用具应用各个控制参数设定。例如,外部指令可包括让远程厨房用具在80℃下将食物成分加热5分钟的指令。在一个实施例中,控制参数被直接传达到远程厨房用具并且相应地调整远程厨房用具的控制参数设定。在替换实施例中,控制参数被经由适当的i/o手段(例如,显示器、音频等等)传达给人类用户并且指示用户将这些设定应用到远程厨房用具。
在一个实施例中,控制系统可包括注册组件,其可在用具注册表中注册用于烹饪装置的远程厨房用具。例如,这种注册可通过经由烹饪装置的用户界面接收特定远程厨房用具的注册数据并且将注册数据存储在用具注册表中来发生。或者,注册组件可经由特定远程厨房用具的暴露服务接口发现特定远程厨房用具。例如,特定用具的暴露服务接口可提供具有用具的技术能力的服务描述并且还可提供包括执行各个食物处理步骤所需要的控制参数的接口描述。注册组件对于特定远程厨房用具从暴露服务接口接收的注册数据随后被存储在用具注册表中。注册数据至少包括各个远程厨房用具的标识符。用具注册表中的条目向控制系统指示出相应的远程厨房用具实际可用于食物处理。可选地,额外的数据可与注册的远程厨房用具的注册数据一起被存储。例如,在技术规格数据库中可为每个注册用具存储包括类型、名称、ip地址、技术功能、技术控制参数等等在内的技术规格。技术规格数据库可以是用具注册表的一部分。用具注册表和技术规格数据库可被存储在控制系统的存储器部分中或者可被存储在控制系统可访问的任何适当外部存储设备上。
验证组件还被配置为检查注册的远程厨房用具的技术规格是否遵从各个食谱程序指令中的控制参数。例如,如果控制参数对于一远程厨房用具包括200℃的温度设定,但该用具具有指示180℃的最大温度的技术规格,则验证组件将检测到相应食谱程序指令和可用远程厨房用具之间的不遵从性。在一个实施例中,验证组件可被配置为通过检索一个或多个远程厨房用具的技术规格,并且通过验证这些技术规格是否在预定的容差范围内对应于食谱程序所基于各个预定技术规格,来检查注册的远程厨房用具的技术规格是否遵从各食谱程序指令中的控制参数。
控制系统还具有食谱程序调整组件,所述食谱程序调整组件被配置为如果至少一个远程厨房用具的特定技术规格不遵从至少一个特定食谱程序指令中的至少一个特定控制参数,则调整食谱程序。也就是说,如果远程厨房用具的技术规格指示出用具的技术能力不支持根据食谱指令执行食物处理步骤,则食谱程序被以仍能够根据厨房用具的技术规格达到可再现的烹饪结果的方式来加以调整。从而,受特定控制参数影响的食谱指令被根据至少一个远程厨房用具的特定技术规格来加以调整,以保持在经调整的食谱程序的执行期间烹饪装置与一个或多个远程厨房用具的同步。受特定控制参数影响的食谱指令全都是这样的食谱指令:这些食谱指令对于远程厨房用具响应于包括所述至少一个特定控制参数的食谱指令而执行的食物处理步骤的结果具有直接或间接依从性。
在一个实施例中,控制系统还可包括执行触发组件,所述执行触发组件被配置为如果一个或多个远程厨房用具中的至少一者未注册,则指示不能执行食谱程序。也就是说,在验证组件认识到要执行的食谱程序包括针对要由未在用具注册表中注册的远程厨房用具执行的食物处理步骤的一个或多个(外部)指令的情况下,验证组件判定食谱程序不能被成功执行,因为未注册的厨房用具不可用。这阻止了食谱程序的成功执行,因为食物产品的可再现烹饪结果不能实现,因为根据各个(外部)指令要求的食物处理步骤不能被执行。因此,验证组件通知执行触发组件向烹饪装置的食谱执行引擎发送指出当前选择的食谱程序不能被执行的通知。可选地,该通知也可被发送到烹饪装置的io装置以相应地通知用户。
执行触发组件还可被配置为触发烹饪装置对原始的或经调整的食谱程序的执行以发起相应的食物处理步骤。在一个或多个远程厨房用具的技术规格遵从食谱程序指令中的控制参数的情况下,验证组件可向执行触发器发送通知,指出烹饪装置可被通知开始经验证的食谱程序的程序执行。
在不遵从的情况下并且在食谱程序根据各远程厨房用具的技术规格被调整的情况下,验证组件可通知执行触发器向执行触发器发送通知以开始经调整的食谱程序的程序执行,所述经调整的食谱程序经由食谱程序接口被提供到烹饪装置的食谱程序存储。食谱执行引擎随后可执行各个食谱程序指令并且根据外部指令涉及远程厨房用具。从而,该调整可以使烹饪装置与特定远程厨房用具重同步的方式执行。例如,调整组件可根据技术规格重新安排依从于远程厨房用具响应于至少一个外部程序指令对远程食物处理步骤的完成的内部程序指令的执行。也就是说,不论经调整的远程处理步骤花的时间长于还是短于原始外部程序指令中预期的,烹饪装置或者其他远程厨房用具对任何依从食物处理步骤的开始都与各个远程厨房用具上的远程食物处理步骤的实际终止同步。
本发明的其他实施例涉及一种包括如先前公开的控制系统的多功能烹饪装置、一种控制由烹饪装置和由一个或多个远程厨房用具执行的食物处理步骤的方法,以及一种具有计算机程序指令的计算机程序产品,所述计算机程序指令当被加载到控制系统的存储器中并且被控制系统的至少一个处理器执行时使得该至少一个处理器执行所述食物处理控制方法的步骤。
该方法包括以下步骤:向烹饪装置提供用于准备食物产品的食谱程序的机器可读程序指令,其中食谱程序被配置为由烹饪装置执行并且使由烹饪装置执行的食物处理步骤与由一个或多个远程厨房用具执行的食物处理步骤同步;由验证组件检查一个或多个远程厨房用具是否向烹饪装置注册;如果一个或多个远程厨房用具中的至少一者没有注册,则指示不能执行食谱程序;如果一个或多个远程厨房用具已注册,则由验证组件检查一个或多个远程厨房用具的技术规格是否遵从各个食谱程序指令中的控制参数;如果一个或多个远程厨房用具的技术规格遵从食谱程序指令中的控制参数,则触发烹饪装置对食谱程序的执行以发起相应的食物处理步骤;并且如果至少一个远程厨房用具的技术规格不遵从食谱程序指令中的控制参数,则由调整组件通过根据至少一个远程厨房用具的技术规格调整食谱程序中的受影响的控制参数来调整食谱程序,并且触发烹饪装置对经调整的食谱程序的执行。
在另一实施例中,计算机程序指令可被存储在形成所述计算机程序产品的计算机可读介质上。
利用所附权利要求中具体描述的元素和组合将实现并达到本发明的其他方面。要理解以上的概括描述和以下的详细描述都只是为了示范和说明,而不是要将本发明限制为描述的那样。
附图说明
图1是根据本发明的一个实施例的用于控制为了准备食物产品而由多功能烹饪装置执行的食物处理步骤和由一个或多个远程厨房用具执行的食物处理步骤的控制系统的简化组件图;
图1a是当实现为多功能烹饪装置的集成组件时根据本发明的一个实施例的控制系统的简化组件图;
图2是根据本发明的一个实施例的控制为了准备食物产品而由烹饪装置和由一个或多个远程厨房用具执行的食物处理步骤的方法的简化流程图;
图3a是图示出用于向烹饪装置注册远程厨房用具的控制方法的子步骤的简化流程图;
图3b是图示出根据本发明的一个实施例的检查技术规格的子步骤的简化流程图;
图4图示了根据本发明的一个实施例的注册远程厨房用具和相应的参考用具的技术规格的简化示例;
图5图示了用具注册表的示例实施例;
图6a、6b示出了根据本发明的一个实施例的食谱程序的一部分及其调整的简化示例;并且
图7是示出可用在本发明的实施例中的通用计算机设备和通用移动计算机设备的示例的图。
具体实施方式
图1是根据本发明的一个实施例的用于控制为了准备食物产品而由多功能烹饪装置200执行的食物处理步骤和由一个或多个远程厨房用具(remotekitchenappliance,rka)301、302执行的食物处理步骤的控制系统100的简化组件图。将在用于由控制系统100执行的方法1000的图2的简化流程图的上下文中描述图1。以下描述利用了参考图1、图1a以及图2、图3、图4的标号。
控制系统100经由食谱程序接口(recipeprograminterface,rpi)120与烹饪装置200通信耦合。该接口可具有支持烹饪装置200与控制系统100之间的数据交换的任何适当接口类型。例如,可以使用串行接口(例如,usb接口)或并行接口(例如,ieee1284接口),或者内部通信总线。控制系统100可以是烹饪装置200的集成组件或者其可远程地实现(例如,实现在像智能电话或平板pc之类的移动设备上,或者实现在远程服务器上,该远程服务器可通过因特网或移动通信标准或者有线通信标准或无线通信标准与烹饪装置通信)。图1a图示了一实施例,其中控制系统100被实现为烹饪装置的集成组件。在图1a的实施例中,可选的注册组件110可实现为烹饪装置200的i/o装置210的扩展。图1图示了在诸如智能电话、平板计算机之类的远程设备上或者甚至在远程服务器上实现的控制系统100。有利地,远程设备具有与烹饪装置的通信耦合,从而使得控制系统可实时地与烹饪装置通信。以下描述涉及图1和图1a的实施例。
经由食谱程序接口120,控制系统100还与存储用于烹饪装置200的食谱程序的数据存储设备400通信耦合。数据存储设备400可以是具有用于以电子格式存储数据的存储器的任何设备(例如,记忆棒/存储卡、远程服务器上的存储盘,等等)。在一些实施例中,数据存储设备可与烹饪装置物理连接(例如,经由usb插头)。在其他实施例中,数据存储设备可经由适当的网络连接(例如,lan、wan或wlan连接)来连接。数据存储设备可具有数据库或文件系统来存储打算被烹饪装置执行的食谱程序。食谱程序示例公开在图6a、6b的上下文中。食谱程序是数字食谱,其包括具有技术参数设定的多个控制指令(以下称为食谱程序指令或程序指令)以在食谱程序被烹饪装置200的食谱执行组件220执行时控制由烹饪装置200执行的功能的食物处理步骤。另外,食谱程序可包括具有要被应用到用于准备食物产品的一个或多个rka的控制参数的程序指令(外部指令)。
例如,控制系统100可经由食谱程序接口120访问用于准备特定食物产品的特定食谱程序。该特定食谱程序可被存储在数据存储设备400上并且被配置为由烹饪装置200的食谱执行引擎220执行。特定食谱程序被配置为当食谱执行完成时为食物产品提供可再现的烹饪结果。例如,在食物产品的食物成分由各个rka准备的情况下,食谱程序可包括定时指令,这些定时指令确保一旦食物成分的处理终止,则开始使用该食物成分作为输入的后续食物处理步骤。换言之,特定食谱程序被配置为使由烹饪装置执行的食物处理步骤与由一个或多个rka301、302执行的食物处理步骤同步。
例如,在烹饪装置与特定远程厨房用具通信耦合的情况下,烹饪装置可将外部指令的控制参数提供到与特定远程厨房用具相关联的ip地址。例如,烹饪装置可例如经由蓝牙或nfc连接(直接耦合)与特定远程厨房用具直接通信,或者例如其可经由路由器(例如,wlan路由器)或无线网络的中继器(间接耦合)与厨房用具通信。如果没有通信耦合,则外部指令可以是显示指令,其向烹饪装置的用户显示控制参数并且指示用户将各个参数设定应用到远程厨房用具。特定食谱程序可被配置为提供食物处理步骤的同步流程(flow),所述食物处理步骤被烹饪装置和在食物产品的准备中涉及的一个或多个远程厨房用具执行。换言之,包括多个食物成分的食物产品由用于各种食物成分的食物处理步骤的序列来准备。一些食物处理步骤需要在烹饪设备之一上顺序地执行。一些食物处理步骤可由烹饪装置和例如rka301并行执行。例如,rka301可执行食物处理步骤来准备作为烹饪装置对食物产品的进一步处理的输入所需要的食物成分(反之亦然)。为了提供食物产品的高质量可再现烹饪结果,作为进一步处理的输入所需要的食物成分在恰当的时机可用以使能处理食物产品而没有不适当的延迟,可能是重要的。不适当的延迟是可引起食物成分的状态变化(例如,温度变化)的延迟,这对于后续的处理步骤是不利的。因此,当(用于食物成分的进一步处理的)烹饪设备处于正确的技术状态中以根据食谱指令继续食物成分的处理,而没有这种延迟时,是有利的。也就是说,食谱程序被配置为如果食物处理步骤全都是根据各个食谱指令的控制参数来执行的话,则避免这种延迟。在此情况下,烹饪设备被同步。然而,如果食物处理步骤花的时间长于或短于根据控制参数设定所预期的,则烹饪设备将失去同步并且食物产品的烹饪结果的可再现性处于危险中。在此情况下,烹饪设备(烹饪装置、一个或多个远程厨房用具)需要被再同步。
烹饪装置200具有存储器组件230来存储由控制系统的rpi120提供1100的特定食谱程序的食谱程序指令。这些指令要被食谱执行组件220处理。例如,食谱执行组件220可包括用于解释食谱指令的解释器。基本烹饪功能随后被烹饪装置的各个硬件组件240(例如,电机、加热装置、磅秤等等)在执行组件220的控制下执行。使用不同硬件的基本烹饪功能可被并行执行(例如,加热和搅拌)。也就是说,执行组件220将程序指令变换成被应用到硬件组件240的控制信号。本领域技术人员可为此目的构建相应的解释器。本领域技术人员可实现程序指令到硬件控制信号的映射,例如通过使用直接控制硬件组件的所谓机器代码中的指令来实现。在烹饪装置从控制系统100接收到经调整的食谱程序指令的情况下,经调整的食谱程序指令可替换存储在存储器组件230中的相应原始程序指令。从而,内部指令涉及控制由烹饪装置200本身执行的食物处理步骤的食谱指令。外部指令涉及影响由远程厨房用具301执行的食物处理步骤的食谱指令。两种类型的指令都可包括用于各个设备的控制参数设定。例如,在特定的食谱程序包括用于包括多个食物成分(例如,肉排、炸土豆和辣椒酱)的食物产品的食谱的情况下,该食谱程序的不同部分涉及该食物产品的相应食物成分。例如,炸土豆和辣椒酱可由烹饪装置200处理,而肉排可在与远程电炉(hotplate)301上的平底锅中远程处理。在此情况下,食谱程序可包括被配置为控制烹饪装置200的用于处理炸土豆和辣酱的各个烹饪功能240(例如,加热、搅拌等等)的内部指令。食谱程序还可包括外部指令,这些外部指令包括用于由远程电炉对肉排的食物处理的控制参数(例如,加热温度、加热时间)。
控制系统的食谱程序接口120可从数据存储400访问和检索(retrieve)食谱程序,并且如果不需要食谱调整,则将检索的食谱程序直接转发到烹饪装置以便执行1010。然而,控制系统100被配置为在某些条件下在食谱指令被转发到烹饪装置之前调整食谱指令。
如早前说明的,从食谱程序存储400检索的食谱程序被设计为,当烹饪装置和各个远程厨房用具在执行各个食谱程序的同时在预定的操作条件下操作时,为各个餐食(食物产品)提供最优且可再现的烹饪结果。也就是说,包括外部和内部指令的每个食谱程序是基于可由技术规格描述的所涉及的烹饪设备(例如,烹饪装置200和rka301、302)的技术能力。换言之,对于给定的食谱程序,关于具有预期技术能力的所需烹饪设备的可用性,存在潜在的假设。然而,在真实世界中,烹饪装置的用户可能不是始终拥有在食谱程序的控制下准备食物产品所需要的所有rka。可能发生这样的情况,即特定的rka完全缺失或者可用的rka具有偏离食谱程序所基于的各技术规格的技术规格。
为了保持烹饪结果的可再现性,在这种情形中,控制系统100还具有验证组件(validationcomponent,vc)130和食谱程序调整组件(recipeprogramadjustment,rpa)140。vc130被配置为检查1200要执行的食谱程序使用的一个或多个rka是否在用具注册表160中向烹饪装置200注册。
在一个实施例中,rka在用具注册表中向烹饪装置注册可经由烹饪装置200的注册组件110来执行。例如,注册组件110可经由烹饪装置200的适当用户界面210接收rka301、302的注册数据并且将注册数据存储在用具注册表160中。rka的注册可独立于食谱程序的执行来执行。例如,每当用户获取新的rka时,用户可为食谱程序的未来执行将该rka注册为可用烹饪设备。也就是说,rc110经由烹饪装置的用户界面接收1010相应的注册数据。例如,如果用户得到新的家禽剪刀(poultryscissors),则此工具可使得烹饪装置能够成功执行其中家禽是食物成分的食谱程序。用户现在可将家禽剪刀注册为可用于烹饪装置的rka。rka注册可通过烹饪装置的i/o装置210或者经由注册接口110发生,该注册接口110在控制系统不是烹饪装置的集成部分的情况下也可实现在控制系统中。例如,用户可经由烹饪装置的i/o装置210(例如,经由触摸屏或键盘)输入该工具的名称(例如,家禽剪刀)或者相应的标识符(id)。一些rka可配备有唯一代码(例如,条码、qr码或rfid码)。在此情况下,用户可使用相应的读码器来扫描代码。例如,与注册组件110通信耦合的智能电话或平板计算机可用于经由唯一代码读取rkaid。在一些实施例中,控制系统100也可实现在智能电话或平板计算机上。最后,用具注册表160存储此注册数据。例如,简单的表格数据结构可用于存储具有烹饪装置的id和rka的id的值对。其他数据格式,例如xml文件,也可用于存储注册数据。
或者,注册组件110可被配置用于rka的自动化注册,如果各个rka支持这种自动化注册的话。例如,随着物联网的出现,许多rka(例如,烤箱、冰箱、微波炉等等)配备有专用的ip地址。从而,rka和烹饪装置200或rc110之间的电子通信可基于适当的通信协议发生。这种rka也许能够经由暴露给其他通信设备的服务接口以服务描述的形式暴露其技术能力。也就是说,烹饪装置或rc110可经由特定的远程厨房用具301的暴露服务接口发现1040特定的远程厨房用具301。在一个示例中,该发现可基于简单地认识到提供特定服务的新rka现在可用。在另一示例中,发现1040可由经控制程序验证的特定食谱程序触发。如果食谱程序要求尚未注册的rka能力,则rc110可通过将要求的技术能力与可用rka的暴露服务描述相匹配来执行发现1040。如果与可用rka之一存在匹配,则rc110可从暴露服务接口接收1060关于所识别的rka的相应注册数据并且将注册数据存储在用具注册表160中。可能发生这样的情况,即多功能rka可提供多个技术能力,而迄今为止其中只有一个已被注册。自动化发现1040可认识到rka也可用于不同的目的并且为同一rka生成额外的注册数据条目。例如,多功能微波炉也可支持其他功能,例如烘烤或蒸煮。对于具有相应技术能力的每个支持烹饪功能,可利用单独的数据条目在用具注册表中注册这种rka。当另一多功能烹饪装置被用作rka以在用具注册表中反映所有支持的功能时,也可能是有利的。为了实现自动化发现选项,本领域技术人员可利用面向服务体系结构(serviceorientedarchitecture,soa)。
在一个实施例中,控制系统还包括执行触发组件170。例如,如果在检查1200期间,vc130判定被要执行的食谱程序使用的一个或多个远程厨房用具中的至少一者未在用具注册表160中向烹饪装置200注册,则其可指令执行触发组件170向食谱执行引擎220指示出1300不能执行该食谱程序。因此,控制系统阻止烹饪装置开始执行不能以对于食物产品确保可再现的烹饪结果的方式执行的食谱程序,因为至少针对未注册(不可用)的rka的食物处理步骤不能被执行。在接收到无能力通知后,烹饪装置可经由i/o装置210相应地提示用户。在一个实施例中,烹饪装置可以用对于注册缺失的rka以使能执行食谱程序的请求来提示用户。在用户通过注册缺失的rka来响应该请求的情况下,vc130再次对于注册的rka执行食谱程序的验证,并且在所有要求的rka都已注册的情况下,可通知执行触发器170发起由食谱执行引擎220对食谱程序的执行。
执行触发器170的使用是可选的并且在如下实施例中可能是有利的:食谱程序已经被存储在食谱程序存储230中并且被控制系统使用的用于食谱验证的缓冲器(未示出)位于控制系统100中。或者,控制系统在食谱程序被完全验证或调整之前可以根本不将食谱程序转发到烹饪装置。在这个替换实施例中,食谱执行可由在食谱程序存储230中接收到食谱程序而触发。在此情况下,执行触发器170不是必要的。
即使当要执行的食谱程序涉及具有注册功能的rka时,注册rka的技术能力也可偏离对于各个外部指令的控制参数假定的技术能力。例如,在外部指令涉及用于在220℃下执行烘烤步骤15分钟的烤箱并且用具注册表具有关于具有烘烤功能的多功能微波炉301的条目的情况下,那么原则上,食谱程序可以被执行,因为相应的rka(多功能微波炉301)被注册并且可用于执行要求的烘烤步骤。因此,将不发送无能力通知。然而,多功能微波炉301的技术规格不遵从各个食谱程序指令中的控制参数。虽然如此,根据本发明的实施例,食谱程序可被执行并且仍将交付可再现的烹饪结果。
一般而言,验证组件130还被配置为检查1400注册的远程厨房用具的技术规格150-1是否遵从各个食谱程序指令中的控制参数。这种技术规格可被存储在技术规格数据库150-1中,该技术规格数据库150-1也可以是用具注册表160的组成部分。这种数据库存储在何处是不重要的。它们可被存储在控制系统100的存储器部分中或者存储在控制系统可访问的至少一个远程存储位置上。技术规格包括关于rka对于各个烹饪功能的技术能力的技术细节。
在上述示例中,微波炉烘烤功能可与200℃的最大温度设定相关联。原始微波炉功能可与1200w的最大功率设定相关联,其中具有与120w、360w、450w、600w、900w和1200w相对应的六个功率模式。在此示例中,多功能微波炉rka301在用具注册表160中具有注册数据条目:烘烤和微波炉。rka功能“烘烤”与200℃的最大温度设定的技术规格相关联。rka功能“微波炉”与六个功率模式的技术规格相关联。技术规格可包括更详细和更复杂的信息,例如加热曲线,其包括关于在操作烘烤功能时达到给定的温度值(例如,最大温度值200℃)要花多长时间的信息。这种技术规格的示例是图4中所示的加热曲线150-1a。
在上述示例中,vc130现在可从技术规格数据库150-1检索微波炉301的烘烤功能的技术规格并且判定微波炉301的烘烤功能的技术规格(最大温度值200℃)不遵从用于远程烘烤设备处的烘烤步骤的食谱程序指令中的相应控制参数设定(220℃持续15分钟)。
例如,vc130可检查(验证)1420该技术规格是否在预定的容差范围内对应于食谱程序所基于的相应预定技术规格。在此实施例中,在食谱程序的各个外部指令中指示了特定rka(例如,由其类型指定的特定烤箱),并且技术规格数据库150-1为在食谱程序中指示的特定rka存储技术规格。例如,如图4所示的技术规格150-1ref反映了由要执行的食谱程序预见到的烤箱的加热曲线(参考曲线),而技术规格150-1a例示了微波炉301的实际可用技术能力。验证组件可向预定的技术规格150-1ref应用+/-5℃的容差范围并且将其与技术规格150-1a相比较。在该示例中,微波炉301的技术规格150-1a没有落在容差范围内并且验证组件在基于检查1400的结果时将判定技术规格与控制参数不遵从。
因此,vc130调用rpa140来以如下方式调整1500食谱程序:使得当烘烤步骤在被微波炉301的烘烤功能执行时对于相应的食物成分导致可再现的烹饪结果并且使得依从于该烘烤步骤的食物处理步骤在必要时被相应地重新安排。rpa140可包括允许基于各个公式计算经调整的控制参数的调整规则。在上述示例中,根据相应技术规格的微波炉301的最大烘烤温度是200℃。因此,控制参数设定需要被调整到200℃。rpa140需要计算在比15分钟的时间控制参数所预期的低20℃的温度下导致可再现的烘烤结果的烘烤时间。
在基本实施例中,rpa140可使用像ta=t*(1+δt/t)这样的公式,其中ta是经调整的时间控制参数,t是外部指令的原始时间控制参数,δt是外部指令中的预期温度(220℃)与根据技术规格的可实现温度(200℃)之间的差异,并且t是外部指令中的预期温度(220℃)。结果,ta被计算为16:22分钟。rpa140随后可修改用于烘烤步骤的外部指令以通过用经调整的控制参数(20℃,16:22分钟)替换控制参数(220℃,15分钟)来反映多功能微波炉301的技术规格并且将经调整的食谱提供给食谱程序存储230以触发1600引擎220的执行。后续的程序指令也可被调整以考虑到烘烤食物成分将比原始预期的晚约11/2分钟可用,以在经调整的食谱程序的执行期间保持烹饪装置与一个或多个远程厨房用具301、302的同步。在微波炉的烘烤温度(例如,230℃)将会超过原始控制参数设定的情况下,相同的公式将导致烘烤时间的减少,因为δt变成负的:ta被计算为14:19分钟。在该计算规则中,示例温度值始终是相对于0℃定义的。
在更复杂的实施例中,rpa140可使用预定的食谱程序调整模式(recipeprogramadjustmentpattern,rpap)150-2来基于技术规格实现经调整的控制参数设定。例如,在因为在控制参数之间可能有非线性依从性而使得经调整的控制参数的计算不能由简单公式计算的情况下,这种调整模式可反映这种依从性。调整模式可反映示出控制参数的依从性的经验测量结果。rpa140随后可以像查找表那样使用这种rpap150-2来找到提供与原始控制参数相当的烹饪结果的经调整的控制参数的有效组合。食谱指令的调整也可包括将额外的食谱指令插入到食谱程序中。
如果微波炉301的技术规格遵从外部指令中的控制参数设定,则不需要食谱调整。食谱程序可被直接转发到烹饪装置200以触发1600食谱程序的执行。
食物产品可包括要被多于一个远程厨房用具处理的多个食物成分。例如,第二远程厨房用具rka302(例如,冰箱)可用于将奶油冷却到由烹饪装置为食物产品的甜品成分产生生奶油(whippedcream)所要求的温度。在此情况下,食谱程序具有影响由额外远程厨房用具rka302执行的用于冷却的远程食物处理步骤的额外外部指令。rpa140被配置为也调整与rka302有关的额外外部指令以使得烹饪装置200和rka302的食物处理步骤与rka301的经调整的食物处理步骤再同步(如果要求的话)。
图4图示了可存储在技术规格数据库150-1中的非线性温度随时间(t,t)曲线150-1a、150-1ref的技术规格的简化示例。这种曲线可被控制系统的验证组件用于检查注册rka的技术能力与要执行的食谱程序的控制参数设定的遵从性。例如,曲线150-1a可反映先前描述的示例中的微波炉的烘烤功能的特性温度行为。150-1ref可反映原始食谱程序所基于的参考烤箱的特性温度行为。
图5图示了用具注册表160的简化示例。在该示例中,对于烹饪装置200注册了三个数据集合。从而,rka301对于两个不同功能被注册两次:“烘烤”和“微波炉”。最后一列包括到各个技术规格的链接。或者,技术规格值可被包括在用具注册表中。例如,可包括关于各个rka的功率模式的最大温度的列。对于冷却功能注册了第二rka302(例如,冰箱)。任何其他适当的存储这种数据记录的格式都可用于用具注册表的实现。验证组件可首先检查用具注册表,然后经由技术规格id从技术规格数据库检索相应的技术规格。
图6a示出了食谱程序601的一部分的简化示例。食谱程序601包括准备食物产品“意式千层面,随后是带有生奶油的草莓”的代码指令。一些指令(步骤7、15)是控制多功能烹饪装置的烹饪功能的内部指令。一些指令(步骤8至11)是外部指令,其中相应的食物处理步骤要被远程厨房用具执行(烘烤、烤盘、冷却)。配料和文本列的内容可经由烹饪装置的i/o装置(例如,通过显示信息或者通过音频输出)被传达给烹饪装置的用户。
食物产品至少包括以下食物成分:千层面填料、生千层面、熟千层面、冷却的奶油和生奶油。在该示例中,用于千层面填料和生奶油的食物处理步骤7、15由烹饪装置执行。用于生千层面的食物处理步骤9利用rka烤盘来执行。用于熟千层面的食物处理步骤8、10由支持烘烤功能的rka执行。用于冷却的奶油的食物处理步骤11由支持冷却功能的rka执行。准备整个食物产品可能涉及多得多的食物处理步骤,这由具有省略号条目的行来例示。然而,为了说明创造性特征,例示的步骤是方便的。
在由控制系统接收到食谱程序601后,验证组件检查食谱程序所使用的rka是否已注册。例如,假定注册了多功能微波炉,其以200℃的最大温度提供烘烤功能并且具有与图4中的规格150-1a相对应的技术规格。还假定向烹饪装置注册了rka烤盘,并且还注册了在7℃的恒定冷却温度下提供冷却功能的冰箱。因此,验证组件判定基于注册rka的现有厨房装备适合于执行该食谱程序并且对于该食物产品达到可再现的烹饪结果。
然而,验证组件对于食谱指令中的控制参数与技术规格的遵从性的第二检查将判定外部指令8、10中使用的控制参数与微波炉烘烤功能的技术规格的不遵从性。外部指令9和11中的控制参数对于烤盘的技术规格和冰箱的冷却功能而言是遵从的。因此,验证组件调用食谱调整组件来就微波炉烘烤功能的偏离技术规格对食谱程序进行补偿。
图6b示出了在步骤8、10和11中具有经调整的食谱指令的经修改的食谱程序602。食谱调整由微波炉烘烤功能执行的食物处理步骤对原始食谱601中的控制参数的偏离引起。由于微波炉根据其技术规格未被配置为像原始食谱601中预见的那样达到220℃的温度,所以用于温度设定的控制参数以及相应的烘烤时间被根据微波炉的实际技术能力来加以调整,以使得利用经修改的食谱程序602仍实现可再现的烹饪结果。
在该示例中,图1中说明的调整公式ta=t*(1+δt/t)被食谱调整组件对于步骤10的调整应用,而图4的技术规格用于预加热步骤8的调整。关于步骤8,假定技术规格150-1ref在技术规格数据库中可用并且作为参考曲线与原始食谱程序601的外部指令中使用的一般rka烘烤相关联。验证组件认识到在150-1a(微波炉)和150-1ref(一般烘烤rka)之间存在超过预定容差范围的偏离。食谱调整组件随后可基于两个技术规格来确定经校正/调整的控制参数。一般烤箱rka达到220℃所要求的预加热间隔是tpho。可用微波炉达到其200℃的最大温度所要求的预加热间隔是tphm。食谱调整组件得出,对于微波炉烘烤功能,预加热阶段大约比对于一般烤箱长33%。结果,在经调整的食谱程序的预加热步骤8中,用于温度控制参数的控制参数被设定到200℃的实际可实现最大温度,而同时用于预加热时间的控制参数被增加33%到8分钟以确保微波炉在烤盘在步骤10中被放置在其中时处于最大温度。步骤9未被调整,因为其涉及用户的手动活动,而这不依从于延长的预加热阶段。用户现在在带有生千层面的烤盘可被放置在预加热的微波炉中之前有2分钟的空闲时间。实际的烹饪/烘烤步骤10根据上述公式被调整,得出用于温度(200℃)和烹饪时间(27:17分钟)设定的经调整的控制参数。
用于在冰箱中在7℃下将奶油冷却20分钟的步骤11也可被可选地调整。然而,此调整不是确实需要的,因为不论奶油被冷却多久,它都无法低于7℃。虽然如此,通过插入用于补偿步骤11的延长烹饪时间的相应等待指令来将冷却步骤延迟2:17分钟的可选调整例示了食谱调整如何可用于使得烹饪装置与所有远程厨房用具保持同步。本领域技术人员可将此概念应用到任何其他远程厨房用具和各个控制参数,以使得在利用注册的厨房用具执行食谱程序的情况下,始终对于各个食物产品导致可再现的烹饪结果。
图7是示出可用于这里描述的技术的通用计算机设备900和通用移动计算机设备950的示例的图。计算设备900在示范性实施例中涉及控制系统100(参见图1)。计算设备950打算表示各种形式的移动设备,例如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。在本公开的示范性实施例中,计算设备950可用作控制系统900的前端控制设备。这里示出的组件、它们的连接和关系以及它们的功能只意图作为示范,而并不意图限制本文献中描述和/或要求保护的发明的实现。
计算设备900包括处理器902、存储器904、存储设备906、连接到存储器904和高速扩展端口910的高速接口908以及连接到低速总线914和存储设备906的低速接口912。组件902、904、906、908、910和912的每一者利用各种总线互连,并且可被安装在共同的主板上或者酌情以其他方式安装。处理器902可处理用于在计算设备900内执行的指令,包括存储在存储器904中或存储设备906上以在外部输入/输出设备上显示用于gui的图形信息的指令,所述外部输入/输出设备例如是耦合到高速接口908的显示器916。在其他实现方式中,可酌情使用多个处理器和/或多个总线,以及多个存储器和多类存储器。另外,多个计算设备900可被连接,其中每个设备提供必要操作的一部分(例如,作为服务器阵列、一组刀片式服务器或者多处理器系统)。
存储器904存储计算设备900内的信息。在一个实现方式中,存储器904是一个或多个易失性存储器单元。在另一实现方式中,存储器904是一个或多个非易失性存储器单元。存储器904也可以是另一形式的计算机可读介质,例如磁盘或光盘。
存储设备906能够为计算设备900提供大容量存储。在一个实现方式中,存储设备906可以是或者可以包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备或者磁带设备、闪存或其他类似的固态存储器设备、或者设备的阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。计算机程序产品也可包含指令,这些指令当被执行时执行一个或多个方法,例如以上描述的那些。信息载体是计算机可读介质或机器可读介质,例如存储器904、存储设备906或处理器902上的存储器。
高速控制器908为计算设备900管理带宽密集操作,而低速控制器912管理更低带宽密集操作。功能的这种分配只是示范性的。在一个实现方式中,高速控制器908耦合到存储器904、显示器916(例如,通过图形处理器或加速器)并且耦合到高速扩展端口910,高速扩展端口910可接受各种扩展卡(未示出)。在该实现方式中,低速控制器912耦合到存储设备906和低速扩展端口914。可包括各种通信端口(例如,usb、蓝牙、zigbee、wlan、以太网、无线以太网)的低速扩展端口可耦合到一个或多个输入/输出设备,例如键盘、定位(pointing)设备、扫描仪或者诸如交换机或路由器之类的联网设备(例如通过网络适配器)。
如图所示,计算设备900可按多种不同形式实现。例如,其可实现为标准服务器920,或者在一组这样的服务器中实现多次。其也可实现为机架式服务器系统924的一部分。此外,其可实现在诸如膝上型计算机922之类的个人计算机中。或者,来自计算设备900的组件可与移动设备(未示出)(例如设备950)中的其他组件相结合。每个这种设备可包含计算设备900、950中的一个或多个,并且整个系统可由与彼此通信的多个计算设备900、950构成。
计算设备950包括处理器952、存储器964、诸如显示器954之类的输入/输出设备、通信接口966和收发器968,以及其他组件。设备950也可设有存储设备,例如微型硬盘或其他设备,以提供额外的存储。组件950、952、964、954、966和968中的每一者利用各种总线互连,并且组件中的若干个可被安装在共同的主板上或者酌情以其他方式安装。
处理器952可执行计算设备950内的指令,包括存储器964中存储的指令。处理器可实现为包括分开的多个模拟和数字处理器的芯片的芯片集。处理器可支持例如设备950的其他组件的协调,比如用户界面的控制、设备950运行的应用和设备950进行的无线通信。
处理器952可通过控制接口958和耦合到显示器954的显示接口956与用户通信。显示器954可以例如是tftlcd(thin-film-transistorliquidcrystaldisplay,薄膜晶体管液晶显示器)或者oled(organiclightemittingdiode,有机发光二极管)显示器或者其他适当的显示器技术。显示接口956可包括适当的电路用于驱动显示器954来向用户呈现图形和其他信息。控制接口958可从用户接收命令并且转换它们来提交给处理器952。此外,外部接口962可与处理器952通信,以便使能设备950与其他设备的近区域通信。外部接口962在一些实现方式中可例如支持有线通信,或者在其他实现方式中可支持无线通信,并且也可使用多个接口。
存储器964存储计算设备950内的信息。存储器964可实现为以下各项中的一者或多者:一个或多个计算机可读介质、一个或多个易失性存储器单元或者一个或多个非易失性存储器单元。也可提供扩展存储器984,并且其可通过扩展接口982连接到设备950,扩展接口982可包括例如simm(单线存储器模块)卡接口。这种扩展存储器984可为设备950提供额外的存储空间,或者也可为设备950存储应用或其他信息。具体而言,扩展存储器984可包括用于执行或补充以上描述的过程的指令,并且也可包括安全信息。从而,例如,扩展存储器984可以为设备950充当安保模块,并且可被编程有允许对设备950的安全使用的指令。此外,可经由simm卡连同额外的信息来提供安全应用,例如以不可破解的方式将标识信息放置在simm卡上。
存储器可包括例如闪存和/或nvram存储器,如下所述。在一个实现方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,这些指令当被执行时执行一个或多个方法,例如以上描述的那些。信息载体是计算机或机器可读介质,例如存储器964、扩展存储器984、或者处理器952上的存储器,它们可例如通过收发器968或外部接口962来接收。
设备950可通过通信接口966无线地通信,通信接口966在必要时可包括数字信号处理电路。通信接口966可在各种模式或协议下支持通信,例如gsm语音呼叫、sms、ems或mms消息传递、cdma、tdma、pdc、wcdma、cdma2000或gprs,等等。这种通信可例如通过射频收发器968发生。此外,短程通信可例如利用蓝牙、wifi、zigbee或其他这种收发器(未示出)发生。此外,gps(globalpositioningsystem,全球定位系统)接收器模块980可向设备950提供额外的导航和位置相关无线数据,这些数据可被设备950上运行的应用酌情使用。
设备950也可利用音频编解码器960来以可听方式通信,音频编解码器960可从用户接收口头信息并且将其转换成可使用的数字信息。音频编解码器960可类似地为用户生成可听的声音,例如通过扬声器,例如设备950的手机中的扬声器。这种声音可包括来自语音电话呼叫的声音,可包括记录的声音(例如,语音消息、音乐文件等等),并且可包括由在设备950上操作的应用生成的声音。
如图所示,计算设备950可按多种不同形式实现。例如,其可实现为蜂窝电话980。其也可实现为智能电话982、个人数字助理或其他类似移动设备的一部分。
这里描述的系统和技术的各种实现方式可在数字电子电路、集成电路、特殊设计的asic(applicationspecificintegratedcircuit,专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现方式可包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,该系统包括至少一个可编程处理器,该处理器可以是专用或通用的,其被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且向其发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级别过程(procedural)和/或面向对象编程语言和/或用汇编/机器语言实现。当在本文中使用时,术语“机器可读介质”、“计算机可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(programmablelogicdevice,pld)),包括以机器可读信号的形式接收机器指令的机器可读介质。术语“机器可读信号”指的是用于向可编程处理器提供机器指令和/或数据的任何信号。
为了支持与用户的交互,这里描述的系统和技术可实现在计算机上,该计算机具有用于向用户显示信息的显示设备(例如,crt(cathoderaytube,阴极射线管)或lcd(liquidcrystaldisplay,液晶显示)监视器),以及用户可用来向计算机提供输入的键盘和指点设备(例如鼠标或跟踪球)。其他种类的设备也可用于支持与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可按任何形式被接收,包括声响、话音或触觉输入。
这里描述的系统和技术可在计算设备中实现,该计算设备包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可通过其来与这里描述的系统和技术的实现方式交互的图形用户界面或web浏览器的客户端计算机),或者这种后端、中间件或前端组件的任何组合。系统的组件可由任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(localareanetwork,“lan”)、广域网(wideareanetwork,“wan”)和因特网。
计算设备可包括客户端和服务器。客户端和服务器一般可彼此远离并且通常通过通信网络来交互。客户端和服务器的关系是由于计算机程序在各计算机上运行且相互之间具有客户端-服务器关系而发生的。
已描述了数个实施例。然而,将会理解,在不脱离本发明的精神和范围的情况下可做出各种修改。
此外,附图中描绘的逻辑流程要实现期望的结果并不要求所示出的特定顺序或者先后次序。此外,可以向描述的流程提供其他步骤,或者可以从描述的流程中消除步骤,并且可以向描述的系统添加其他组件,或者可以从描述的系统中去除组件。因此,其他实施例在所附权利要求的范围内。