CN109155735B - 连接式分配机器的安全网关 - Google Patents

连接式分配机器的安全网关 Download PDF

Info

Publication number
CN109155735B
CN109155735B CN201780032339.1A CN201780032339A CN109155735B CN 109155735 B CN109155735 B CN 109155735B CN 201780032339 A CN201780032339 A CN 201780032339A CN 109155735 B CN109155735 B CN 109155735B
Authority
CN
China
Prior art keywords
web service
message
controller
administrator
telemetry 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.)
Active
Application number
CN201780032339.1A
Other languages
English (en)
Other versions
CN109155735A (zh
Inventor
G·X·龚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pepsico Inc
Original Assignee
Pepsico Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pepsico Inc filed Critical Pepsico Inc
Publication of CN109155735A publication Critical patent/CN109155735A/zh
Application granted granted Critical
Publication of CN109155735B publication Critical patent/CN109155735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D1/00Apparatus or devices for dispensing beverages on draught
    • B67D1/0015Apparatus or devices for dispensing beverages on draught the beverage being prepared by mixing at least two liquid components
    • B67D1/0021Apparatus or devices for dispensing beverages on draught the beverage being prepared by mixing at least two liquid components the components being mixed at the time of dispensing, i.e. post-mix dispensers
    • B67D1/0022Apparatus or devices for dispensing beverages on draught the beverage being prepared by mixing at least two liquid components the components being mixed at the time of dispensing, i.e. post-mix dispensers the apparatus comprising means for automatically controlling the amount to be dispensed
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F9/00Details other than those peculiar to special kinds or types of apparatus
    • G07F9/002Vending machines being part of a centrally controlled network of vending machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D1/00Apparatus or devices for dispensing beverages on draught
    • B67D1/08Details
    • B67D1/0888Means comprising electronic circuitry (e.g. control panels, switching or controlling means)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Selective Calling Equipment (AREA)
  • Apparatus For Making Beverages (AREA)
  • Devices For Dispensing Beverages (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及经由通过计算机网络公开的web服务向管理员系统安全地提供分配器机器的遥测数据的系统和方法。为了保护所述公开的web服务,本公开的所述系统和方法在所述分配器机器和所述管理员系统处提供安全网关,所述安全网关可提供消息完整性、身份验证、授权和机密性中的一者或多者。所述安全网关与分别在所述分配器机器和所述管理员系统处创建web服务请求和响应消息的应用分开实现。由于所述安全网关与创建所述web服务请求和响应消息的所述应用分开实现,因此可对创建所述web服务请求和响应消息的所述应用进行创建和修改,而无需考虑由所述安全网关透明处理的消息安全性。

Description

连接式分配机器的安全网关
技术领域
本发明所描述的实施方案总体涉及连接式机器,包括连接式分配机器。
背景技术
饮料分配器用于在各种地点向消费者分配饮料,诸如餐厅、自助餐厅、剧院以及其他娱乐和/或餐饮服务场所。传统的饮料分配器提供可被分配的有限数量的饮料类型(例如,在六至十种之间),并且不提供高级特征。较新的饮料分配器可提供明显更多数量的饮料类型和组合,这在很大程度上是由于这些分配器不再机械地限于使每个分配头提供一种或两种饮料类型的事实。例如,较新的饮料分配器可使用单个分配头来提供多达1000种不同的饮料类型和组合。
组合是指所提供的饮料类型的混合物,这些饮料类型可从单个分配头自动混合和分配,并且该组合代表由较新的饮料分配器所提供的一种高级特征。分配的组合可以是例如消费者在饮料分配器处选择的所提供的饮料类型的个人组合,或者是消费者可在饮料分配器处选择的多种预定的组合中的一种。
随着可选饮料的数量和其他创新特征越来越复杂,场所经营者和/或操作者可期望通过计算机网络将高级饮料分配器连接到管理员系统,从而允许高级饮料分配器向管理员系统提供遥测数据。遥测数据可包括,例如在高级饮料分配器处收集的关于消耗(例如,在高级饮料分配器处消耗的每种饮料类型和组合的量)和状态(例如,在高级饮料分配器处成分和/或物料的当前量)的数据。管理员系统可使用遥测数据来改进例如与运行高级饮料分配器相关联的操作、维护和/或整体物流。
此外,出于相同的原因,还可进一步期望通过计算机网络将其他类型的分配器机器(诸如分配罐装/瓶装饮料、零食和/或其他物品的分配器机器)连接到管理员系统。这些分配器机器通常被称为自动售货机。
发明内容
本公开涉及经由通过计算机网络公开的web服务向管理员系统安全地提供分配器机器的遥测数据的系统和方法。
根据第一方面,一种分配器控制器包括:分配器web服务客户端,所述分配器web服务客户端被配置成构造包括标题和主体的web服务消息,其中所述主体包含分配器机器的遥测数据;分配器web服务网关,所述分配器web服务网关被配置成:在通过计算机网络将所述web服务消息发送至管理员控制器之前,以对所述分配器web服务客户端透明的方式拦截所述web服务消息;确定所述web服务消息不同于心跳消息;基于确定所述web服务消息不同于所述心跳消息,通过使用与所述分配器控制器相关联的私人密钥签署所述web服务消息中的所述遥测数据的至少一部分来创建数字签名;将所述数字签名插入所述web服务消息的所述标题中;加密所述web服务消息的所述主体中的所述遥测数据的至少一部分;以及在将所述数字签名插入所述web服务消息的所述标题并加密所述web服务消息的所述主体中所述遥测数据的所述至少一部分之后,通过所述计算机网络向所述管理员发送所述web服务消息。
根据第二方面,一种管理员控制器包括:管理员web服务网关,所述管理员web服务网关被配置成:通过计算机网络接收包括标题和主体的web服务消息,其中所述标题包含数字签名,并且所述主体包含分配器机器的加密的遥测数据;确定所述web服务消息不同于心跳消息;使用与所述分配器机器相关联的公开密钥来验证所述web服务消息;基于所述分配器机器的标识在所述web服务消息中授权请求;以及基于确定所述web服务消息不同于心跳消息,解密所述web服务消息的所述主体中所述加密的遥测数据;和管理员web服务提供者,所述管理员web服务提供者被配置成在所述web服务消息已被认证并且所述请求被所述管理员web服务网关授权之后基于所述请求和所述解密的遥测数据来处理所述web服务消息。
根据第三方面,一种用于向管理员控制器提供遥测数据的方法包括:构造包括标题和主体的web服务消息,其中所述标题包含分配器机器的遥测数据;在通过互联网向所述管理员控制器发送所述web服务消息之前拦截所述web服务消息;确定所述web服务消息不同于心跳消息;基于确定所述web服务消息不同于所述心跳消息,通过使用与所述分配器控制器相关联的私人密钥签署所述web服务消息中的所述遥测数据的至少一部分来创建数字签名;将所述数字签名插入所述web服务消息的所述标题中;加密所述web服务消息的所述主体中的所述遥测数据的至少一部分;以及在将所述数字签名插入所述web服务消息的所述标题并加密所述web服务消息的所述主体中所述遥测数据的所述至少一部分之后,通过互联网向所述管理员发送所述web服务消息。
附图说明
在本文中结合并形成为说明书的一部分的附图示出了本公开,并与说明书一起进一步用来解释本公开的原理,使相关领域技术人员能够实现和使用本公开。
图1是根据本公开的实施方案的饮料分配器的前透视图。
图2是根据本公开的实施方案的饮料分配器的框图。
图3是根据本公开的实施方案的用于通过计算机网络提供遥测数据的系统。
图4是根据本公开的实施方案的用于通过计算机网络安全地提供遥测数据的系统。
图5是根据本公开的实施方案的用于通过计算机网络收集包含遥测数据的web服务请求消息并将其安全地发送至管理员控制器的方法的流程图。
图6是根据本公开的实施方案的用于通过计算机网络生成心跳消息并将其发送至管理员控制器的方法的流程图。
图7是根据本公开的实施方案的用于从分配器控制器安全地接收并处理包含遥测数据的web服务消息的方法的流程图。
图8示出了根据本公开的实施方案的用于对包含遥测数据的消息进行并行和可扩展处理的管理员控制器。
图9示出了根据本公开的实施方案的用于从分配器机器接收并处理web服务消息的方法的流程图。
图10是可用于实现本公开的各方面的示例性计算机系统的框图。
将参考附图对本公开进行描述。元件首次出现的图通常由相应参考编号中最左边的数字表示。
具体实施方式
现在将参考如附图所示的本公开的实施方案来描述本公开。所提及的“一个实施方案”、“实施方案”、“示例性实施方案”等指示所述的实施方案可包括特定特征、结构或特性,但是每个实施方案可能不一定包括特定的特征、结构或特性。而且,此类短语不一定是指相同的实施方案。另外,在结合实施方案描述特定特征、结构或特性时,无论本文是否明确描述,认为本领域的技术人员能够结合其他实施方案来实现这些特征、结构或特性。
1.概述
为了允许分配器机器通过计算机网络向管理员系统提供遥测数据,管理员系统可将web服务公开给分配器机器。Web服务是消息传送框架,其能够使用互联网技术(诸如超文本传输协议(HTTP)、可扩展标示语言(XML)和JavaScript对象表示法(JSON))通过计算机网络在客户端和服务器之间交换消息。通常交换两种类型的消息:请求消息和响应消息。客户端通过计算机网络将请求消息发送至服务器,从而公开web服务。该请求消息编码参数和请求,从而使用参数在服务器处执行操作(或运行子程序)。使用参数执行操作之后,主机可通过计算机网络向客户端返回响应消息与操作结果。
Web服务具有分层架构,并且通常包括从最低到最高,至少包括网络层、传输层和打包层。网络层指定web服务的最基本通信需求,诸如如何通过计算机网络寻址、发送和路由数据。传输层负责在网络层之上启用应用到应用通信,并且包括例如诸如HTTP之类的技术。打包层指定在由传输层通过网络发送之前要进行打包的格式数据。简单对象访问协议(SOAP)和表述性状态转移(REST)是两种最常见的打包格式。SOAP定义基于XML的包络,以用于构造上述请求和响应消息。REST可使用多种机器可读格式作为用于构造请求和响应消息的包络,包括XML和JSON。
Web服务架构的各个层并不专门解决安全问题,诸如消息完整性、身份验证、授权和机密性。因此,通过计算机网络公开提供对管理员系统的分配器机器访问的web服务可能不期望地允许计算机网络的其他非授权用户和设备访问管理员系统和web服务消息。
本公开涉及经由通过计算机网络公开的web服务向管理员系统安全地提供分配器机器的遥测数据的系统和方法。为了保护公开的web服务,本公开的系统和方法在分配器机器和管理员系统处提供安全网关,该安全网关可提供消息完整性、身份验证、授权和机密性中的一者或多者。安全网关与分别在分配器机器和管理员系统处创建请求和响应消息的应用分开实现。由于安全网关与创建请求和响应消息的应用分开实现,因此可对创建请求和响应消息的应用进行创建和修改,而无需考虑可由安全网关透明处理的消息安全性。
本公开进一步涉及在管理员系统处对包含遥测数据的web服务消息进行并行和可扩展处理的系统和方法。管理员系统可在短时间内从许多分配器机器接收大量包含遥测数据的web服务消息。为了接收和处理这些web服务消息,本公开的系统和方法提供消息排队器,从而对于多个队列中的每个,将web服务消息(或者至少web服务消息中的遥测数据)排列在多个队列和不同线程或进程(“线程”)中。每个线程可将web服务消息按其存储在分配队列中的顺序从其分配队列中拉出,并且处理web服务消息的遥测数据。线程可在管理员系统处的一个或多个中央处理单元(CPU)核上运行。此设置允许在web服务消息处理吞吐量方面进行水平扩展。例如,为了增加web服务消息处理吞吐量,可增加CPU核的数量并且/或者可增加队列的数量(以及相应地分配给队列的线程的数量)。
在管理员系统处对包含遥测数据的web服务消息进行并行和可扩展处理的系统和方法可进一步确保web服务消息按其在相应分配器机器处生成的顺序被处理。例如,这可用于确保与分配器机器的维护和操作有关的决定并不是基于旧的遥测数据而做出的。
为了提供此类有序的web服务消息处理功能,消息排队器可基于从其接收web服务消息的分配器机器将包含遥测数据的web服务消息放入多个队列的一者中。例如,消息排队器可使用包括在web服务消息中的分配器机器标识符来将web服务消息映射到多个队列中的特定队列,使得来自分配器机器的web服务消息被放在同一队列中。此外,一旦消息排队器确定了将web服务消息放在多个队列中的特定队列,消息排队器就可基于web服务消息何时在分配器机器处生成来将web服务消息插入队列的特定位置中。例如,消息排队器可使用web服务消息中包含的web服务消息序列号或时间戳将web服务消息插入队列中的特定位置处,使得队列中的web服务消息按照生成web服务消息的顺序进行存储。
在进一步描述本公开的这些和其他特征之前,以下部分提供了可操作本公开实施方案的示例性操作环境。
2.示例性操作环境
图1示出了可实现本公开的实施方案的分配器100。分配器100可包括联接到主体108的基座102。基座102可用于将主体108支撑在直立位置。基座102可包括滴盘104,其具有位于由滴盘104占据的区域内的分配位置106。用户(例如,消费者)可将他或她的杯子放置在分配位置106处以接收他或她期望的饮料。
主体108可包括用于接收来自用户的命令的用户界面110。用户界面110可包括被配置成向用户显示信息和/或接收来自用户的命令的显示屏112。显示屏112可以是触摸屏,诸如液晶显示器(LCD)触摸屏或发光二极管(LED)触摸屏。用户可例如通过与用户界面110交互以选择将由分配器100分配的他或她期望的饮料来发起饮料的分配。
图2示出了根据本公开的实施方案的分配器,诸如图1中的分配器100的部件的框图200。框图200可包括分配歧管210,诸如2016年2月5日提交的美国专利申请No.15/016,466中所述的垂直分配歧管中的一个,该专利以引用的方式全文并入本文。
框图200可包括一个或多个基液源230。基液源230可以是但不限于自来水源(例如,自来水管道)和碳酸水源(例如,碳酸水贮存器或碳酸化器)。基液源230可经由基液递送管234联接到分配歧管210。与基液递送管234连通的阀/泵235可被配置成控制基液通过基液递送管234并且进入分配歧管210的流动。
框图200可包括一个或多个成分源240。成分源240可包括多种成分242(242-1至242-n)。成分242可包括液体成分,诸如但不限于甜味剂(例如,糖或人造甜味剂)、糖浆或风味剂(例如,可乐糖浆或风味剂、品牌苏打糖浆或风味剂(例如,Mountain
Figure GDA0003416308550000061
或Sierra
Figure GDA0003416308550000062
)、橙子风味剂、酸橙风味剂、樱桃风味剂、茶风味剂等),或其他液体添加剂(例如,维生素、酸(例如,柠檬酸)、盐或着色剂)。成分242可包装在容器内,诸如但不限于盒或袋。每种成分242可经由成分递送管244递送到分配器210。与成分递送管244连通的阀/泵245可被配置成控制成分通过成分递送管244并且进入分配歧管210的流动。
分配器控制器220可被配置成从用户界面诸如图1中的用户界面110控制并接收命令。分配器控制器220可被配置成基于例如从用户界面接收的命令来控制框图200所表示的分配器的操作。例如,分配器控制器220可控制饮料类型或组合的分配,该饮料类型或组合可以是来自分配歧管210的基液和一种或多种成分242的混合物。分配器控制器220可通过控制阀/泵235来控制来自基液源230的基液的流动。分配器控制器220可还通过控制阀/泵245来控制来自成分源240的成分242的流动。通过控制阀/泵245,分配器控制器220可控制成分递送管244内的成分242的压力。
在一些实施方案中,分配器控制器220可包括和/或可被配置成读取传感器227。传感器227可包括压力传感器,其用于监测基液递送管234内的基液的压力和/或用于监测成分递送管244内的成分的压力。传感器227可还包括流量传感器(例如,流量计),其用于分别测量递送管234和244内的基液和成分的流量和/或用于测量分配歧管210内的均匀流动的程度。在一些实施方案中,传感器227可包括用于测量成分源240内剩余的每种成分242的量的液位传感器。
传感器227可还包括但不限于被配置成监测以下各项的传感器:(1)二氧化碳罐水平(例如,一个、两个或更多个二氧化碳调节器);(2)被配置成碳酸化水的碳酸化器的碳化头压力;(3)储存基液和/或成分242的房间(例如,密室)的环境温度(从而监测一种或多种基液和/或成分242是否保持在预定温度水平或在预定温度范围之内);(4)与基液相关联的水过滤系统参数(例如,水压、过滤器上的压差);(5)与基液相关联的水或碳酸化水的pH值;(6)包含成分242的成分容器的失效日期(例如,通过读取与成分容器相关联的条形码)。传感器227可被配置成通过有线或无线网络将信号发送至分配器控制器220。分配器控制器220可被配置成基于由传感器227收集的数据(例如,压力和流量值)控制框图200所表示的分配器的操作。
在一些实施方案中,分配器控制器220可还包括嵌入式计算机224。在一些实施方案中,嵌入式计算机224可收集分配器遥测数据,包括:(1)通过分配歧管210分配的饮料类型和组合的量,(2)成分源240中剩余的成分242的量,(3)从分配器机器的用户界面收集的用户识别码,以及(4)来自上述传感器227的其他数据(例如,流量数据、储存基液和/或成分242的房间的环境温度、二氧化碳罐水平、碳化头压力、水过滤系统参数等)。在一些实施方案中,嵌入式计算机224可存储分配器遥测数据并且将分配器遥测数据通过计算机网络(诸如互联网)发送至管理员系统的控制器。管理控制器可由框图200所表示的分配器的操作者或与由框图200所表示的分配器的操作相关联的一些其他实体来提供和/或管理。
在一些实施方案中,可将所存储的遥测数据的全部或部分(例如,与分配歧管210分配的饮料类型和组合的量相关的信息)周期性地发送至管理员控制器。在一些实施方案中,可基于与所存储的遥测数据相关联的警报级别或阈值级别将遥测数据的全部或部分(例如,来自上述传感器227的其他数据)发送至管理员控制器。例如,当房间的环境温度超过超出或几乎超出可接受温度范围的某个预定阈值时,可将所存储的与储存基液和/或成分242的房间的环境温度相关的遥测数据发送至管理控制器。在另一个示例中,当二氧化碳罐水平超过指示二氧化碳罐水平为低或空的某个预定阈值时,可将所存储的与二氧化碳罐水平相关的遥测数据发送至管理员控制器。
在一些实施方案中,管理员控制器可使用遥测数据来帮助将成分分发到框图200所表示的分配器和/或帮助维护框图200所表示的分配器。在一些实施方案中,管理员控制器可使用遥测数据来追踪用户偏好和消费数据(例如,由歧管210分配的饮料的类型和量),可对其进行分析,从而预测消费者趋势和/或支持未来的商业决策,因为其与框图200所表示的分配器有关。在其他实施方案中,管理员控制器可使用遥测数据来改进分配器机器维护任务、消费者满意度和/或预测分配器机器中的部件故障和/或安排分配器机器的预防性维护服务。
3.安全网关
为了使得分配器机器能够通过计算机网络向管理员系统的控制器提供遥测数据,管理员控制器可将web服务公开给分配器机器。如上所述,web服务是消息传送框架,其能够使用互联网技术(诸如超文本传输协议(HTTP)、可扩展标示语言(XML)和JavaScript对象表示法(JSON))通过计算机网络在客户端和服务器之间交换消息。通常交换两种类型的消息:请求消息和响应消息。客户端通过计算机网络将请求消息发送至服务器,从而公开web服务。该请求消息编码参数和请求,从而使用参数在服务器处执行操作(或运行子程序)。使用参数执行操作之后,主机可通过计算机网络向客户端返回响应消息与操作结果。
图3示出了根据本公开的实施方案的用于使用公开的web服务通过计算机网络提供遥测数据的系统300。系统300包括管理员控制器302和上文结合图2所述的分配器控制器220。分配器控制器220以示例而非限制的方式提供。如本领域普通技术人员将理解的那样,在不脱离本公开的范围和精神的情况下,其他分配器控制器(例如,不同分配器机器中实现的分配器控制器)可用于系统300中。
在操作中,管理员控制器302的web服务提供者(WS提供者)304公开web服务,该web服务使得分配器控制器220的web服务客户端(WS客户端)306能够通过计算机网络308(诸如互联网)向管理员控制器302提供遥测数据。遥测数据可包括从传感器227收集的数据,如上文关于图2所述,以及从其中实现分配器控制器220的分配器机器的其他传感器和/或外围设备收集的其他数据。
WS客户端306可将遥测数据打包在web服务请求消息310中,该web服务请求消息根据简单对象访问协议(SOAP)、表述性状态转移(REST)或一些其他打包格式被格式化。Web服务请求消息310可包括包含可选标题314和主体316的包络312。当使用时,标题314可包括一个或多个信息块,这些信息块指定消息将如何由一个或多个接收实体处理。主体316可包括作为一个或多个参数的遥测数据和在WS提供者304处用一个或多个参数执行操作(或运行子程序)的请求。遥测数据和执行操作的请求可在主体316内以XML或JSON语法表达。执行操作的请求可还以任何数量的形式在主体316外部表达,包括作为统一资源标识符(URI)。
在WS客户端306打包遥测数据和在web服务请求消息310中执行操作的请求之后,WS客户端306可通过计算机网络308发送web服务请求消息310。在一个实施方案中,WS客户端306使用HTTP或HTTP安全(HTTPS)通过计算机网络308发送web服务请求消息310。
WS提供者304通过计算机网络308从WS客户端306接收web服务请求消息310,并且解包web服务请求消息310以恢复包括遥测数据以及用一个或多个参数来执行操作的请求的一个或多个参数。随后,WS提供者304利用包括遥测数据的一个或多个参数执行操作,并且可选地,将操作的结果打包进web服务响应消息318中。该操作可包括例如解析遥测数据并且用遥测数据的各个值填充数据库。随后可使用数据库中的数据来帮助将成分分发到分配器机器和/或帮助维护分配器机器。在一些实施方案中,可使用数据库中的数据来追踪用户偏好和消费数据(例如,由分配器机器分配的饮料的类型和量),可对其进行分析,从而预测消费者趋势和/或支持未来的商业决策,因为其与分配器机器有关。在其他实施方案中,可使用数据库中的数据来改进分配器机器维护任务、消费者满意度和/或预测分配器机器中的部件故障和/或安排分配器机器的预防性维护服务。
类似于web服务请求消息310,WS提供者304可根据SOAP、REST或一些其他打包格式来格式化web服务响应消息318。Web服务响应消息318可包括包含可选标题322和主体324的包络320。当使用时,标题322可包括一个或多个信息块,这些信息块指定消息将如何由一个或多个接收实体处理。主体324可包括操作的结果。操作的结果可在主体324内以XML或JSON语法表达。
在WS提供者304对在web服务响应消息318中的操作结果进行打包之后,WS提供者304可通过计算机网络308发送web服务响应消息318。在一个实施方案中,WS提供者304使用HTTP或HTTPS通过计算机网络308发送web服务响应消息318。
应当注意,除了分配器控制器220之外,多个分配器和分配器控制器可将web服务请求消息发送至管理员控制器302。这些web服务请求消息可如上所述类似于web服务请求消息310来处理,但是可包括不同的数据(例如,除遥测数据之外)和/或执行不同操作或子程序的请求。
由WS提供者304和web服务公开的web服务的一个问题通常是web服务的分层架构不专门解决安全问题,诸如消息完整性、身份验证、授权和机密性。因此,通过计算机网络308公开提供对管理员控制器302的分配器控制器220和其他分配器控制器访问的web服务可能不期望地允许计算机网络308的其他未授权用户和设备访问管理员控制器302以及web服务请求310和响应消息318。
为了保护公开的web服务,可在分配器控制器220和管理员控制器302处提供安全网关,该安全网关可提供消息完整性、身份验证、授权和机密性中的一者或多者。安全网关可与分别在分配器控制器220和管理员控制器302处创建请求和响应消息的应用分开实现;即,与WS客户端306和WS提供者304分开。由于安全网关与WS客户端306和WS提供者304分开实现,因此可对这些应用进行创建和修改,而无需考虑可由安全网关透明处理的消息安全性。
图4示出了根据本公开的实施方案的此类系统400。具体地讲,系统400具有与上文图3所述的系统300相同的基本配置,并且以与其相同的基本方式操作。然而,图4的系统400中的分配器控制器220和管理员控制器302各自还包括安全网关。更具体地讲,分配器控制器220还包括分配器web服务网关(分配器WS网关)402,并且管理员控制器302还包括管理员web服务网关(管理员WS网关)404。
在操作中,分配器WS网关402被配置成在通过计算机网络308将web服务请求消息310发送至管理员控制器302之前拦截由分配器WS客户端306生成的web服务请求消息310。在一个实施方案中,WS网关402被实现为HTTP代理服务器,该HTTP代理服务器被配置成拦截HTTP请求消息的主体中包含web服务请求消息310的HTTP请求消息。
一旦分配器WS网关402拦截了web服务请求消息310,分配器WS网关402就可加密web服务请求消息310的主体316中的遥测数据(或其他数据)的全部或至少一部分,以生成数字签名。分配器WS网关402可将数字签名插入到web服务请求消息310的标题314中。管理员控制器302可使用数字签名来验证遥测数据(或遥测数据和/或所签署的其他数据的至少一部分);即,证明遥测数据来自分配器控制器220。
在一个实施方案中,分配器WS网关402可使用与分配器控制器220相关联的私人密钥来加密web服务请求消息310的主体316中的遥测数据(或其他数据)的全部或至少一部分。与分配器控制器220相关联的私人密钥是包括私人密钥和公开密钥的非对称密钥对的一部分。公开密钥可由管理员控制器302公开或保密,而私人密钥由分配器控制器220保密并且不被分发。管理员控制器302可使用与分配器控制器220相关联的公开密钥来验证(例如通过解密)数字签名。如果验证成功,那么管理员控制器302可确保与分配器控制器220相关联的私人密钥用于加密用于生成数字签名的遥测数据,因为由私人密钥加密的数据只能由公开密钥解密。
在另一个实施方案中,不是直接加密遥测数据,而是分配器WS网关402可使用与分配器控制器220相关联的私人密钥来加密由遥测数据的单向散列得到的消息摘要。单向散列可用于确保遥测数据的完整性和/或减少生成数字签名所需的处理时间。
一旦分配器WS网关402拦截了web服务请求消息310,分配器WS网关402就可进一步加密web服务请求消息310的主体316中的遥测数据(或其他数据)的全部或至少一部分,从而在遥测数据穿过计算机网络308时,确保遥测数据的机密性。在加密遥测数据之后,分配器WS网关402可将加密的遥测数据重新插入web服务请求消息310的主体316中。
在一个实施方案中,分配器WS网关402可使用与管理员控制器302相关联的公开密钥来加密web服务请求消息310的主体316中的遥测数据(或其他数据)的全部或至少一部分。类似于与分配器控制器220相关联的公开密钥,与管理员控制器302相关联的公开密钥是包括公开密钥和私人密钥的非对称密钥对的一部分。公开密钥是公开的并且被自由分发,而私人密钥由管理员控制器302保密并且不被分发。
在另一个实施方案中,分配器WS网关402可使用对称密钥来加密web服务请求消息310的主体316中的遥测数据(或其他数据)的全部或至少一部分。分配器WS网关402可使用与管理员控制器302相关联的公开密钥来加密对称密钥,并将对称密钥插入web服务请求消息310的标题314或主体316中。
在分配器WS网关402将数字签名和/或加密的遥测数据插入主体316中之后,分配器WS网关402可使用例如HTTP或HTTPS通过计算机网络308发送web服务请求消息310。管理员WS网关404被配置成通过计算机网络308接收web服务请求消息310,并且执行解密遥测数据、验证遥测数据和确定分配器控制器220是否被授权执行web服务请求消息310中所请求的操作(或所请求的子程序)中的一者或多者。
如果web服务请求消息310的主体316中的遥测数据(或其他数据)使用与管理员控制器302相关联的公开密钥加密,那么管理员WS网关404可使用与管理员控制器302相关联的私人密钥来解密加密的遥测数据。如果web服务请求消息310的主体316中的遥测数据(或其他数据)使用如上所述的对称密钥加密,那么管理员WS网关404可从web服务请求消息310的标题314或主体316获得对称密钥的加密副本,使用与管理员控制器302相关联的私人密钥解密对称密钥,然后使用解密的对称密钥来解密加密的遥测数据。一旦解密,管理员WS网关404就可使用解密的遥测数据替换web服务请求消息310中加密的遥测数据。
如果要执行身份验证,那么管理员WS网关404可提取web服务请求消息310的标题314中的数字签名,并且使用与分配器控制器220相关联的公开密钥来解密数字签名。然后可将签署以创建数字签名的遥测数据(或其他数据)与web服务请求消息310的主体316中的遥测数据进行比较,以验证遥测数据来自分配器控制器220。在分配器WS网关402从web服务请求消息310的主体316中遥测数据(或其他数据)的单向散列创建数字签名的情况下,在将主体316中的遥测数据与解密的数字签名进行比较之前,管理员WS网关404可执行主体316中遥测数据的相同的单向散列。
如果要执行授权,那么管理员WS网关404可确定分配器控制器220是否被授权使用在web服务请求消息310中请求的web服务子程序。在一个实施方案中,管理员WS网关404可检查被授权在web服务请求消息310中执行所请求的操作的分配器控制器和/或分配器的列表。如果分配器控制器220或其中实现分配器控制器220的分配器位于列表上,那么管理员WS网关404可将web服务请求消息310传递给管理员WS提供者304以进行处理。另一方面,如果分配器控制器220或其中实现分配器控制器220的分配器不在列表上,那么管理员WS网关404可舍弃web服务请求消息310,以防止web服务请求消息310被管理员WS提供者304处理。
在另一个实施方案中,如果要执行授权,那么管理员WS网关404可基于发布的web服务的可配置列表来确定web服务是否发布。如果未发布,那么可拒绝并舍弃由分配器机器进行的未发布的web服务的web服务调用。该机制保护任何未发布的web服务,并且可用于在任何时候出于任何原因使web服务停止服务。
在从管理员WS网关404接收到web服务请求消息310(主体316中任何加密的遥测数据被解密的遥测数据替换)之后,管理员控制器302可如上文关于图3所述的那样处理web服务请求消息310。应当注意,管理员WS网关404和分配器WS网关402可各自执行如上所述的其他网关的功能,以保护类似于web服务请求消息310的web服务响应消息318。
在一个实施方案中,并不是由分配器控制器220发送的所有web服务请求消息都需要由分配器WS网关402签署和/或加密。这种未被分配器WS网关402签署和/或加密的消息可被称为是“带外”发送的,而已签署和/或加密的消息可被称为是“带内”发送的。
例如,“心跳”消息可由分配器WS客户端306或分配器WS网关402生成,并且由分配器WS网关402在带外通过计算机网络308发送至管理员控制器302。这些心跳消息可周期性或循环地发送,从而向管理员控制器302发信号通知分配器控制器220(或其中实现分配器控制器220的分配器)存在且可用。
现在参见图5,示出了根据本公开的实施方案的用于收集遥测数据并且通过计算机网络将来自分配器机器的包含遥测数据的web服务请求消息安全地发送至管理员控制器的方法的流程图500。流程图500的方法可由分配器WS客户端306和分配器WS网关402实现,如上文所述和图4所示的那样。然而,应当注意,该方法还可由其他分配器WS客户端和分配器WS网关实现。由这些应用中的每一者所执行的流程图500的步骤在图5中标出。还应注意,流程图500的一些步骤不必按照图5中所示的顺序进行。
流程图500的方法开始于步骤502。在步骤502处,收集分配器机器的遥测数据。遥测数据可包括,例如在分配器机器处收集的关于消耗(例如,在分配器机器处消耗的每种物品的量)和状态(例如,在分配器机器处成分、物料和/或物品的当前量)的数据。遥测数据可还包括上文关于图2提到的特定类型的数据。
在步骤502处收集遥测数据之后,流程图500的方法前进到步骤504。在步骤504处,将web服务请求消息发送至管理员控制器,诸如图4中的管理员控制器302,同时发送遥测数据和以遥测数据作为参数的执行操作(或运行子程序)的请求。可根据SOAP、REST或其他一些打包格式将web服务请求消息进行打包。Web服务请求消息可包括包含可选标题和主体的包络。当使用时,标题可包括一个或多个信息块,这些信息块指定消息将如何由一个或多个接收实体处理。遥测和执行操作的请求可在主体内以XML或JSON语法表达。执行操作的请求还可在主体外表达。
在步骤504之后,流程图500的方法前进到步骤506。在步骤506处,在通过计算机网络(诸如互联网)发送至管理员控制器之前拦截web服务请求消息。HTTP代理可用于拦截web服务请求消息。
在步骤506之后,流程图500的方法前进到步骤508。在步骤508处,可选地通过加密遥测数据或加密遥测数据的单向散列来签署所拦截的web服务请求消息中的遥测数据。可使用与分配器机器相关联的私人密钥来签署遥测数据或遥测数据的单向散列。可将所得数字签名插入到web服务请求消息的标题中。
在步骤508之后,流程图500的方法前进到步骤510。在步骤510处,web服务请求消息的主体中的遥测数据可选地被加密。可使用与管理员控制器相关联的公开密钥或对称密钥对遥测数据进行加密。如果使用对称密钥来加密遥测数据,那么可使用与管理员控制器相关联的公开密钥来加密对称密钥,并将其插入到web服务请求消息的标题或主体中,以使得管理员控制器能够解密加密的遥测数据。
在步骤510之后,流程图500的方法前进到步骤512。在步骤512处,通过计算机网络将web服务请求消息发送至管理员控制器。可使用HTTP或HTTPS通过计算机网络发送web服务请求消息。
现在参见图6,示出了根据本公开的实施方案的用于生成来自分配器控制器的心跳消息并且通过计算机网络将其发送至管理员控制器的方法的流程图600。流程图600的方法可由分配器WS客户端306或分配器WS网关402实现,如上文所述和图4所示的那样。然而,应当注意,该方法还可由其他分配器WS客户端或分配器WS网关实现。
流程图600的方法开始于步骤602。在步骤602处,生成心跳消息。心跳消息可包括分配器控制器和/或其中实现分配器控制器的分配器机器的标识符,诸如硬件标识符。
在步骤602之后,流程图600的方法前进到步骤604。在步骤604处,在带外通过计算机网络(诸如互联网)将心跳消息发送至管理员控制器。“带外”发送的消息在发送之前未在应用级别进行签署和/或加密。心跳消息可周期性或循环地生成和发送,从而向管理员控制器发信号通知分配器控制器(或其中实现分配器控制器的分配器机器)存在且可用。
现在参见图7,示出了根据本公开的实施方案的用于在管理员控制器处安全地接收并处理来自分配器控制器的包含遥测数据的web服务请求消息的方法的流程图700。流程图700的方法可由管理员WS网关404和管理员WS提供者304实现,如上文所述和图4所示的那样。然而,应当注意,该方法还可由其他管理员WS网关和管理员WS提供者实现。由这些应用中的每一者所执行的流程图700的步骤在图7中标出。还应注意,流程图700的一些步骤不必按照图7中所示的顺序进行。
流程图700的方法开始于步骤702。在步骤702处,通过计算机网络(诸如互联网)从分配器机器接收web服务请求消息。
在步骤702之后,流程图700的方法前进到步骤704。在步骤704处,检查消息以确定该消息是否为心跳消息。如果该消息是心跳消息,那么流程图700的方法前进到步骤714并且处理心跳消息。如果该消息不是心跳消息,那么流程图700的方法前进到步骤706。
在步骤706处,将web服务请求消息的主体中加密的遥测数据进行解密。可使用与管理员控制器相关联的私人密钥或使用包括在web服务请求消息的标题或主体中的对称密钥来解密遥测数据。
在步骤706之后,流程图700的方法前进到步骤708。在步骤708处,验证遥测数据的真实性。具体地讲,使用与分配器控制器相关联的公开密钥来提取和解密web服务请求消息的标题中的数字签名。然后可将签署以创建数字签名的遥测数据与web服务请求消息的主体中的遥测数据进行比较,以验证遥测数据来自分配器控制器。在从web服务请求消息的主体中的遥测数据的单向散列创建数字签名的情况下,在将主体中的遥测数据与解密的数字签名进行比较之前,可执行主体中遥测数据的相同的单向散列。如果基于比较确定遥测数据不可信(即,不匹配),那么流程图700的方法前进到拒绝web服务请求消息的步骤710。另一方面,如果基于比较确定遥测数据可信(即,匹配),则流程图700的方法前进到步骤712。
在步骤712处,确定分配器控制器是否被授权使用web服务来执行web服务请求消息中的操作(或子程序)。在一个实施方案中,检查被授权使用在web服务请求消息中请求的web服务子程序的分配器控制器和/或分配器的列表。如果分配器控制器或其中实现分配器控制器的分配器不在列表上,那么流程图700的方法前进到拒绝web服务请求消息的步骤710。另一方面,如果分配器控制器或其中实现分配器控制器的分配器在列表上,那么流程图700的方法前进到处理web服务请求消息的步骤714(例如,如上文关于图3所述)。
4.遥测数据的并行和可扩展处理
如上所述,考虑到可能有数千甚至数十万或更多的分配器机器和/或其他类型的机器连接到管理员系统,并且这些机器可同时向管理员系统发送遥测数据,管理员系统还需要能够接收并快速处理大量的web服务消息。此外,还需要为这样的管理员系统提供一定的吞吐量,当机器连接到管理员系统或从管理员系统断开时,该吞吐量可以有效的方式扩展。
图8示出了根据本公开的实施方案的用于对包含遥测数据的消息进行并行和可扩展处理的管理员控制器800。管理员控制器800具有与上文图4所述的管理员控制器302相同的基本配置,并且以与其相同的基本方式操作。然而,管理员控制器800还包括消息排队器802。应当注意,管理员WS网关404是管理员控制器800中的可选部件。
如上所述,在操作中,首先由管理员WS网关404接收并处理来自分配器机器的包含遥测数据的web服务消息。在由管理员WS网关404处理之后,web服务消息被传递到消息排队器802。
消息排队器802包括映射器804和多个队列806。映射器804被配置成将web服务消息中的每个映射或放置到队列806的相应队列中。队列806是用于将web服务消息存储到存储器中的数据结构。
为了处理存储在队列806中的web服务消息,管理员WS提供者304包括多个线程或进程(“线程”)808。可向每个队列806分配线程808中的不同线程。每个线程808可将web服务消息按照web服务消息存储在分配队列806中的顺序从其分配队列806中拉出,并且处理web服务消息的遥测数据。
线程808对遥测数据的处理可包括例如解析遥测数据并用遥测数据的各个值填充数据库。随后可使用数据库中的数据来帮助将材料(例如,成分)分发到分配器机器和/或帮助维护分配器机器。在一些实施方案中,可使用数据库中的数据来追踪用户偏好和消费数据(例如,由分配器机器分配的饮料的类型和量),可对其进行分析,从而预测消费者趋势和/或支持未来的商业决策,因为其与分配器机器有关。在其他实施方案中,可使用数据库中的数据来改进分配器机器维护任务、消费者满意度和/或预测分配器机器中的部件故障和/或安排分配器机器的预防性维护服务。
线程808可在管理员控制器810处的中央处理单元(CPU)核810或虚拟核上运行。核810可在一个或多个服务器中或者跨一个或多个服务器实现。基于核810的数量,至少一些线程808可并行运行,以增加处理web服务消息的吞吐量。为了进一步增加消息处理吞吐量,可增加核810的数量并且/或者可增加队列806的数量(以及相应地分配给队列806的线程808的数量)。可响应于向管理员控制器800发送web服务消息的分配器机器数量的增加而增加该吞吐量。
映射器804可进一步被配置成确保web服务消息按其在相应分配器机器处生成的顺序被处理。例如,这可用于确保所做出的与分配器机器的维护和操作有关的决定并非基于旧的遥测数据或未按时间顺序排序的遥测数据。
为了提供这种有序的消息处理功能,映射器804可基于从其接收消息的分配器机器将包含遥测数据的web服务消息放入队列806的一者中。例如,映射器804可使用包含在web服务消息中的分配器机器标识符来将web服务消息映射到队列806中的特定队列,使得来自分配器机器的消息被放在相同的队列,从而被相同的线程808处理。
队列806的数量和线程808的数量通常远少于向管理员控制器800发送web服务消息的分配器机器的数量。在这种情况下,映射器804可使用散列函数将web服务消息映射到队列806中的特定队列。更具体地讲,映射器804可使用散列函数来散列包含在web服务消息中的分配器机器标识符,并使用所得到的散列值将web服务消息分配给队列806中的特定队列。
一旦映射器804确定了将web服务消息放在队列806中的特定队列,映射器804就可基于消息何时在分配器机器处生成来将web服务消息插入队列的特定位置。例如,映射器804可使用web服务消息中包含的消息序列号或时间戳将消息插入队列中的特定位置处,使得队列中的web服务消息按照生成消息的顺序进行存储。
参见图9,示出了根据本公开的实施方案的用于从分配器机器接收并处理web服务消息的方法的流程图900。流程图900的方法可由管理员控制器800实现,如上文所述和图8所示的那样。然而,应当注意,该方法还可由其他管理员控制器实现。还应注意,流程图900的一些步骤是可选的,并且不必按照图9中所示的顺序进行。
流程图900的方法开始于步骤902。在步骤902处,通过计算机网络(诸如互联网)从分配器机器接收web服务消息。
在步骤902之后,流程图900的方法前进到步骤904。在步骤904处,执行web服务消息中的分配器机器标识符的散列。
在步骤904之后,流程图900的方法前进到步骤906。在步骤906处,基于分配器机器标识符的散列的所得散列值来识别多个队列中的一者。因为每次为相同的分配器机器标识符产生相同的散列值,所以从分配器机器接收的web服务消息将被放在同一队列中。
在步骤906之后,流程图900的方法前进到步骤908。在步骤908处,在基于何时在分配器机器处生成web服务消息而确定的位置处将web服务消息放入识别的队列中。例如,可使用web服务消息中包含的消息序列号或时间戳将消息插入队列中的特定位置处,使得队列中的web服务消息按照在分配器机器处生成消息的顺序进行存储。
在步骤908之后,流程图900的方法前进到步骤910。在步骤910处,使用分配给存储web服务消息的队列的多个线程中的一者来处理web服务消息。
5.示例性计算机系统实施方式
对于相关领域的技术人员而言将显而易见的是,如本文所述的本公开的各种元件和特征可使用模拟和/或数字电路在硬件中实现、通过一个或多个通用或专用处理器来执行指令在软件中实现,或者实现为硬件和软件的组合。
为了完整起见,提供了以下对计算机系统的描述。本公开的实施方案可在硬件中实现,或者实现为软件和硬件的组合。因此,本公开的实施方案可在计算机系统或其他处理系统的环境中实现。这样的计算机系统1000的示例示于图10中。图3、图4和图8中所描绘的块可在一个或多个计算机系统1000上执行。此外,图5至图7和图9中所描绘的方法的步骤中的每个都可在一个或多个计算机系统1000上实现。
计算机系统1000包括一个或多个处理器,诸如处理器1004。处理器1004可以是专用处理器或通用处理器。处理器1004连接到通信基础设施1002(例如,总线或网络)。根据该示例性计算机系统描述了各种软件实施方式。在阅读本说明书之后,如何使用其他计算机系统和/或计算机架构来实现本公开对于相关领域的技术人员而言将变得显而易见。
计算机系统1000还包括主存储器1006(例如,用以存储至少部分地实现图3、图4和图8中所描绘的块和/或图5至图7和图9中的步骤的计算机程序或其他指令),优选地为随机存取存储器(RAM),并且可还包括辅助存储器1008。辅助存储器1008可包括例如硬盘驱动器1010和/或可移除存储驱动器1012,代表软盘驱动器、磁带驱动器、光盘驱动器等。可移除存储驱动器1012以熟知的方式从可移除存储单元1016读取和/或写入该可移除存储单元。可移除存储单元1016代表软盘、磁带、光盘等,其可由可移除存储驱动器1012读取和写入。如相关领域的技术人员将理解的那样,可移除存储单元1016包括其中存储有计算机软件和/或数据的计算机可用存储介质。
在替代实施方式中,辅助存储器1008可包括允许将计算机程序或其他指令(例如,至少部分地实现图3、图4和图8中所描绘的块和/或图5至图7和图9中的步骤的计算机程序或其他指令)加载到计算机系统1000中的其他类似装置。此类装置可包括例如可移除存储单元1018和接口1014。此类装置的示例可包括程序盒和盒接口(诸如存在于视频游戏设备中)、可移除存储器芯片(诸如EPROM或PROM)和相关联的插口、拇指驱动器和USB端口,以及其他允许软件和数据从可移除存储单元1018传输到计算机系统1000的可移除存储单元1018和接口1014。
计算机系统1000可还包括通信接口1020。通信接口1020允许软件(例如,用于实现图3、图4和图8中所示的块和/或图5至图7和图9中的步骤的软件)和数据在计算机系统1000和外部设备之间传输。通信接口1020的示例可包括调制解调器、网络接口(诸如以太网卡)、通信端口、PCMCIA插槽和卡等。经由通信接口1020传输的软件和数据是信号形式的,其可以是电子、电磁、光学或其他能够由通信接口1020接收的信号。可经由通信路径1022将这些信号提供给通信接口1020。通信路径1022携带信号,并且可使用电线或电缆、光纤、电话线、蜂窝电话链路、RF链路和其他通信信道来实现。
如本文所用,术语“计算机程序介质”和“计算机可读介质”通常用于指代有形的存储介质诸如可移除存储单元1016和1018或者安装在硬盘驱动器1010中的硬盘。这些计算机程序产品是用于向计算机系统1000提供软件(例如,用于实现图3、图4和图8中所描绘的块和/或图5至图7和图9中的步骤的软件)的装置。
计算机程序(也称为计算机控制逻辑)存储在主存储器1006和/或辅助存储器1008中。可还经由通信接口1020接收计算机程序。当被执行时,此类计算机程序使得计算机系统1000能够实现如本文所讨论的本公开。具体地讲,当被执行时,计算机程序使得处理器1004能够实现本公开的处理,诸如本文所描述的方法中的任一种。因此,此类计算机程序表示计算机系统1000的控制器。在使用软件实现本公开的情况下,软件可存储在计算机程序产品中并且可使用可移除存储驱动器1012、接口1014或通信接口1020加载到计算机系统1000中。
在另一个实施方案中,本公开的特征主要在硬件中实现,例如使用诸如专用集成电路(ASIC)和门阵列之类的硬件部件来实现。实现硬件状态机器以便执行本文所述功能对于相关领域的技术人员而言也将是显而易见的。
6.结论
以上借助于阐释具体功能的实施及其关系的功能性构建块描述了实施方案。出于描述的方便,本文随意地限定这些功能性构建块的边界。只要能恰当地执行具体功能及其关系,也可限定其他边界。
对具体实施方案的以上描述将充分揭示本公开的一般性质,使得他人可通过应用本技术领域的知识在不脱离本公开总体构思的情况下容易地针对各种应用对这些具体实施方案进行修改和/或调整,而无需过度实验。因此,基于本文给出的教导和指导,这些调整和修改旨在落入所公开实施方案的等同物的含义和范围内。应当理解,本文的措辞或术语是出于描述而不是限制的目的,因而本说明书的术语或措辞应由本领域的技术人员按照所述教导和指导来解释。

Claims (20)

1.一种分配器控制器,包括:
分配器web服务客户端,所述分配器web服务客户端被配置成构造包括标题和主体的web服务消息,其中所述主体包含分配器机器的遥测数据;
分配器web服务网关,所述分配器web服务网关被配置成:
在通过计算机网络将所述web服务消息发送至管理员控制器之前,以对所述分配器web服务客户端透明的方式拦截所述web服务消息;
确定所述web服务消息不同于心跳消息;
基于确定所述web服务消息不同于所述心跳消息,通过使用与所述分配器控制器相关联的私人密钥签署所述web服务消息中的所述遥测数据的至少一部分来创建数字签名;
将所述数字签名插入所述web服务消息的所述标题中;
加密所述web服务消息的所述主体中的所述遥测数据的至少一部分;以及
在将所述数字签名插入所述web服务消息的所述标题并加密所述web服务消息的所述主体中所述遥测数据的所述至少一部分之后,通过所述计算机网络向所述管理员发送所述web服务消息。
2.根据权利要求1所述的分配器控制器,其中所述遥测数据包括所述分配器机器的消耗数据和所述分配器机器的状态数据。
3.根据权利要求1所述的分配器控制器,其中所述分配器web服务网关进一步被配置成使用与所述管理员控制器相关联的公开密钥加密所述web服务消息的所述主体中所述遥测数据的所述至少一部分。
4.根据权利要求1所述的分配器控制器,其中所述分配器web服务网关进一步被配置成使用对称密钥加密所述web服务消息的所述主体中所述遥测数据的所述至少一部分。
5.根据权利要求4所述的分配器控制器,其中所述分配器web服务网关进一步被配置成使用与所述管理员控制器相关联的公开密钥加密所述对称密钥。
6.根据权利要求1所述的分配器控制器,其中所述分配器web服务网关进一步被配置成在通过所述计算机网络将所述web服务消息发送至所述管理员控制器之前,向所述管理员控制器发送第二心跳消息,而不在所述第二心跳消息内签署或加密数据,其中所述第二心跳消息用于发信号通知所述管理员控制器存在所述分配器机器。
7.根据权利要求1所述的分配器控制器,其中所述分配器机器分配饮料。
8.根据权利要求1所述的分配器控制器,其中所述计算机网络是互联网。
9.一种管理员控制器,包括:
管理员web服务网关,所述管理员web服务网关被配置成:
通过计算机网络接收包括标题和主体的web服务消息,其中所述标题包含数字签名,并且所述主体包含分配器机器的加密的遥测数据;
确定所述web服务消息不同于心跳消息;
使用与所述分配器机器相关联的公开密钥来验证所述web服务消息;
基于所述分配器机器的标识在所述web服务消息中授权请求;以及
基于确定所述web服务消息不同于心跳消息,解密所述web服务消息的所述主体中所述加密的遥测数据;和
管理员web服务提供者,所述管理员web服务提供者被配置成在所述web服务消息已被认证并且所述请求被所述管理员web服务网关授权之后基于所述请求和所述解密的遥测数据来处理所述web服务消息。
10.根据权利要求9所述的管理员控制器,其中所述遥测数据包括所述分配器机器的消耗数据和所述分配器机器的状态数据。
11.根据权利要求9所述的管理员控制器,其中所述管理员web服务网关对所述管理员web服务提供者是透明的。
12.根据权利要求9所述的管理员控制器,其中所述web服务网关进一步被配置成仅在验证所述web服务消息之后,才基于所述分配器机器的所述标识在所述web服务消息中授权所述请求。
13.根据权利要求9所述的管理员控制器,其中所述请求是将所述解密的遥测数据放入数据库中。
14.根据权利要求9所述的管理员控制器,其中所述分配器机器分配饮料。
15.根据权利要求9所述的管理员控制器,其中所述计算机网络是互联网。
16.根据权利要求9所述的管理员控制器,其中所述管理员web服务网关进一步被配置成从第二个分配器机器接收第二个web服务消息。
17.一种用于向管理员控制器提供遥测数据的方法,包括:
构造包括标题和主体的web服务消息,其中所述标题包含分配器机器的遥测数据;
在通过互联网向所述管理员控制器发送所述web服务消息之前拦截所述web服务消息;
确定所述web服务消息不同于心跳消息;
基于确定所述web服务消息不同于所述心跳消息,通过使用与所述分配器控制器相关联的私人密钥签署所述web服务消息中的所述遥测数据的至少一部分来创建数字签名;
将所述数字签名插入所述web服务消息的所述标题中;
加密所述web服务消息的所述主体中的所述遥测数据的至少一部分;以及
在将所述数字签名插入所述web服务消息的所述标题并加密所述web服务消息的所述主体中所述遥测数据的所述至少一部分之后,通过互联网向所述管理员发送所述web服务消息。
18.根据权利要求17所述的方法,其中所述遥测数据包括所述分配器机器的消耗数据和所述分配器机器的维护数据。
19.根据权利要求17所述的方法,还包括:
在通过所述互联网将所述web服务消息发送至所述管理员控制器之前,向所述管理员控制器发送第二心跳消息,而不在所述第二心跳消息内签署或加密数据,其中所述第二心跳消息用于向所述管理员控制器注册所述分配器机器。
20.根据权利要求17所述的方法,其中所述分配器机器分配饮料。
CN201780032339.1A 2016-05-26 2017-04-28 连接式分配机器的安全网关 Active CN109155735B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/165,907 2016-05-26
US15/165,907 US10313316B2 (en) 2016-05-26 2016-05-26 Secure gateways for connected dispensing machines
PCT/US2017/030121 WO2017204996A1 (en) 2016-05-26 2017-04-28 Secure gateways for connected dispensing machines

Publications (2)

Publication Number Publication Date
CN109155735A CN109155735A (zh) 2019-01-04
CN109155735B true CN109155735B (zh) 2022-04-15

Family

ID=60412864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780032339.1A Active CN109155735B (zh) 2016-05-26 2017-04-28 连接式分配机器的安全网关

Country Status (12)

Country Link
US (1) US10313316B2 (zh)
EP (1) EP3465979B1 (zh)
JP (1) JP7028799B2 (zh)
CN (1) CN109155735B (zh)
AU (1) AU2017269711B2 (zh)
BR (1) BR112018074082A2 (zh)
CA (1) CA3023869A1 (zh)
ES (1) ES2861354T3 (zh)
MX (1) MX2018014289A (zh)
PL (1) PL3465979T3 (zh)
RU (1) RU2743664C2 (zh)
WO (1) WO2017204996A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD822764S1 (en) * 2016-04-11 2018-07-10 Pepsico, Inc. Vending machine
CN111865817A (zh) * 2020-06-23 2020-10-30 烽火通信科技股份有限公司 遥测采集器负载均衡管控方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681404A (zh) * 2007-03-30 2010-03-24 英国电讯有限公司 分布式计算机系统
CN105359452A (zh) * 2013-03-15 2016-02-24 万事达卡国际股份有限公司 用于将加密安全性作为服务的系统和方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6796490B1 (en) 2000-10-04 2004-09-28 Diebold, Incorporated Automated banking machine system and method
US7783508B2 (en) 1999-09-20 2010-08-24 Numerex Corp. Method and system for refining vending operations based on wireless data
JP4508331B2 (ja) 2000-01-07 2010-07-21 新日鉄ソリューションズ株式会社 認証代行装置、認証代行方法、認証代行サービスシステム、及びコンピュータ読取可能な記録媒体
US20030097474A1 (en) * 2000-05-12 2003-05-22 Isochron Data Corporation Method and system for the efficient communication of data with and between remote computing devices
JP2002082907A (ja) 2000-09-11 2002-03-22 Nec Corp データ通信におけるセキュリティ機能代理方法、セキュリティ機能代理システム、及び、記録媒体
GB2369904B (en) 2000-12-11 2003-10-08 Complementary Tech Ltd Database and web page creation
JP3969654B2 (ja) 2003-03-07 2007-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーション Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム
US8925808B2 (en) 2003-04-10 2015-01-06 Wayne Fueling Systems Llc Fuel dispenser commerce
KR100549504B1 (ko) * 2003-10-10 2006-02-03 한국전자통신연구원 서명 암호화를 이용한 웹서비스 보안에서의 soap메시지 생성 및 검증 방법
US20060206698A1 (en) 2005-03-11 2006-09-14 Microsoft Corporation Generic collection and delivery of telemetry data
US7979569B2 (en) 2005-12-01 2011-07-12 Firestar Software, Inc. System and method for exchanging information among exchange applications
US8739035B2 (en) * 2006-10-11 2014-05-27 Intel Corporation Controls and indicators with on-screen cognitive aids
US8571598B2 (en) * 2006-12-18 2013-10-29 Intel Corporation Method and apparatus for location-based wireless connection and pairing
US20100192207A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Virtual service provider systems
US8275830B2 (en) * 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8626115B2 (en) * 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8351898B2 (en) * 2009-01-28 2013-01-08 Headwater Partners I Llc Verifiable device assisted service usage billing with integrated accounting, mediation accounting, and multi-account
US9323894B2 (en) * 2011-08-19 2016-04-26 Masimo Corporation Health care sanitation monitoring system
JP4641327B1 (ja) 2010-03-25 2011-03-02 慧通信技術工業 株式会社 計測データ管理方法、計測データ管理システム、計測データ管理装置及び端末装置
RU136613U1 (ru) * 2013-05-06 2014-01-10 Общество с ограниченной ответственностью "ВЕНДЛАЙТ" Автомат для приготовления и продажи кислородных коктейлей
KR101729637B1 (ko) * 2013-06-26 2017-04-24 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 장치 및 이메일 요구 처리 방법
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US10715632B2 (en) * 2016-05-26 2020-07-14 Pepsico, Inc. Systems and methods for parallel and scalable processing of telemetry data from connected dispensing machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681404A (zh) * 2007-03-30 2010-03-24 英国电讯有限公司 分布式计算机系统
CN105359452A (zh) * 2013-03-15 2016-02-24 万事达卡国际股份有限公司 用于将加密安全性作为服务的系统和方法

Also Published As

Publication number Publication date
RU2743664C2 (ru) 2021-02-24
AU2017269711A1 (en) 2018-11-29
US10313316B2 (en) 2019-06-04
AU2017269711B2 (en) 2021-12-23
MX2018014289A (es) 2019-03-14
EP3465979A4 (en) 2019-11-20
PL3465979T3 (pl) 2021-12-13
JP7028799B2 (ja) 2022-03-02
RU2018142583A (ru) 2020-06-26
EP3465979A1 (en) 2019-04-10
EP3465979B1 (en) 2021-02-17
BR112018074082A2 (pt) 2019-03-06
RU2018142583A3 (zh) 2020-09-11
CA3023869A1 (en) 2017-11-30
US20170346795A1 (en) 2017-11-30
CN109155735A (zh) 2019-01-04
JP2019521577A (ja) 2019-07-25
WO2017204996A1 (en) 2017-11-30
ES2861354T3 (es) 2021-10-06

Similar Documents

Publication Publication Date Title
AU2022200986B2 (en) Systems and methods for parallel and scalable processing of telemetry data from connected dispensing machines
RU2487414C2 (ru) Разливочное устройство для розлива напитка
RU2673875C2 (ru) Устройство раздачи для раздачи пищевого продукта
CN109155735B (zh) 连接式分配机器的安全网关
US20130159712A1 (en) System and method for verifying and managing distribution of products
US10917393B2 (en) Remote monitoring and management of an instant issuance system
WO2007129869A1 (en) Vip membership service system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1261558

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant