CN109564658A - 高可用性云支持的销售点系统的系统和方法 - Google Patents
高可用性云支持的销售点系统的系统和方法 Download PDFInfo
- Publication number
- CN109564658A CN109564658A CN201780047455.0A CN201780047455A CN109564658A CN 109564658 A CN109564658 A CN 109564658A CN 201780047455 A CN201780047455 A CN 201780047455A CN 109564658 A CN109564658 A CN 109564658A
- Authority
- CN
- China
- Prior art keywords
- client device
- pricing information
- client
- information
- sales transactions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 48
- 230000015654 memory Effects 0.000 claims description 24
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 description 63
- 238000010586 diagram Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000750 progressive effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 235000013550 pizza Nutrition 0.000 description 4
- 238000005728 strengthening Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 101000928090 Caenorhabditis elegans Desumoylating isopeptidase 1 homolog Proteins 0.000 description 2
- 101000928089 Homo sapiens Desumoylating isopeptidase 1 Proteins 0.000 description 2
- 102100032211 Solute carrier family 35 member G1 Human genes 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- HHXYJYBYNZMZKX-UHFFFAOYSA-N 3,4:15,16-diepoxy-7-oxo-13(16),14-clerodadien-20,12-olide-(3alpha,4alpha)-form Natural products C12CCC3C4(C)CCCC(C)(C)C4CCC3(C)C1(C)CCC1C2(C)CCC1C(=C)C HHXYJYBYNZMZKX-UHFFFAOYSA-N 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000009153 huxin Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/201—Price look-up processing, e.g. updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09F—DISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
- G09F3/00—Labels, tag tickets, or similar identification or indication means; Seals; Postage or like stamps
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09F—DISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
- G09F9/00—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Human Computer Interaction (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Information Transfer Between Computers (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
描述了在客户端设备上实现的用于显示定价信息的方法,例如,在购买预定项目组时具有“捆绑”定价的餐馆系统中。即使与服务器的通信连接不可用,客户端设备也可以确定并显示定价信息。生成为销售交易配置的图形用户界面。通过图形用户界面接收第一销售交易的第一订单信息,并且使用服务器定价信息从位于远程的服务器设备获得第一销售交易的第一定价信息,并由位于远程的服务器设备使用服务器定价信息生成第一销售交易的第一定价信息。接收第二销售交易的第二订单信息。客户端设备确定用于第二销售交易的第二定价信息,包括基于位于本地客户端设备的客户端定价信息生成第二定价信息。客户端设备通过图形用户界面显示定价信息。
Description
相关申请的交叉引用
本公开要求2016年5月31日提交的名称为“高可用性云支持的销售点系统的系统和方法(System and Method for a High Availability Cloud Enabled Point of SaleSystem)”的美国临时专利申请No.62/343,382的利益,其全文通过应用并入本文。
技术领域
本公开一般涉及高可用性云支持的销售点系统的系统和方法。
背景技术
跨越各个工业领域的电子商务(e-commerce)系统的发展已经为具有分布式操作的公司(诸如,具有数十多万个远程位置的分销商和特许经营组织)带来了挑战。远程位置的独立计算机系统需要通过广域网链路进行连接,这些链路为通信提供了吞吐量和可靠性挑战。另外,现代电子商务系统对传统系统(例如,现有计算机或销售点设备)施加的负载通常会使这些传统系统不堪重负。
许多商务系统分为客户端活动和服务器端(包括基于云的)活动。具有用于访问服务器端信息的客户端应用程序的销售点(POS)或个人可以从服务器端访问大量功能和数据。但是,对于依赖于重要服务器端数据和功能的应用程序,丢失与服务器的通信链接可以有效地关闭客户端的功能。
另外,计算机系统的虚拟化已成为计算机工业中广泛使用的技术。与物理系统相比,虚拟系统提供了操作优势,包括跨物理主机平台的虚拟系统的动态移动。
特别难以解决的一个挑战是,电子商务系统上的订单定价并确保它们反映出与商店中传统系统计算的相同的价格。可能三十年或更长时间的传统定价解决方案通常不与现代定价解决方案(例如,基于云的解决方案)向前兼容。
即使在远程系统能够向集中式电子商务系统提供信息和定价响应的情况下,它们也可能在它们可以支持的请求的数量以及通信链路的速度和容量方面具有限制。集中来自数千个远程销售点(POS)系统的定价请求是一项吞吐量非常大的任务,特别是在峰值负载时,事实上,在峰值负载时,容量需求可能比非峰值负载大几个数量级。远程链路的饱和将导致系统完全中断,这在企业系统中是不可接受的结果。
发明内容
在客户端上缓存逻辑的能力(例如,配置客户端以提供软件功能的代码和/或指令)使得支持云的销售点(POS)系统既是最新的又具有高可用性。与需要在操作系统层“安装”的频繁更新相比,缓存逻辑是一种使客户端保持最新状态的风险较低的方法,并且可以降低生命周期维护和支持成本。因此,当云不可用时,提供POS功能的该客户端可以独立于云运行很长一段时间。
根据实施例,由客户端设备生成配置用于销售交易的图形用户界面。客户端设备经由图形用户界面接收第一销售交易的第一订单信息。客户端设备从位于远离客户端设备的服务器设备获得第一销售交易的第一定价信息。第一定价信息由服务器设备基于位于远离客户端设备的服务器定价信息生成。客户端设备通过图形用户界面显示第一定价信息。客户端设备经由图形用户界面接收第二销售交易的第二订单信息。用于第二销售交易的第二定价信息由客户端设备确定,包括基于位于本地客户端设备的客户端定价信息生成第二定价信息。第二定价信息由客户端设备经由图形用户界面显示。
附图说明
这里的描述参考了附图,其中相同的附图标记在若干视图中指代相同的部件。
图1是分布式或云计算系统的框图。
图2是计算设备的内部配置的实施方式的框图,该计算设备诸如图1中所示的计算系统的计算设备。
图3是高可用性处理系统的实施方式的框图。
图4是示出POS系统、OLO系统功能和共享功能的维恩图。
图5是示出根据一种实施方式的基于云的系统的实施方式的框图。
图6A和图6B是根据企业POS架构的实施方式的框图。
图7是可用于与系统的服务器侧交互的基于web的界面的示例屏幕截图。
图8是示出根据实施方式的可以在POS或客户端侧或服务器侧实现订单的系统的框图。
图9是示出影子虚拟化系统的实施方式的框图。
图10是根据实施例的用于显示定价信息的示例方法的流程图。
具体实施方式
为了更详细地描述一些实施方式,首先参考可用于本公开的实施方式中的硬件结构和互连的示例。图1是分布式或云计算系统100的框图。这里使用短语“云计算系统”是任何合适形式的分布式计算系统的代理,并且该短语的使用是为了便于参考。云计算系统100可以具有任何数量的客户,包括客户110。每个客户110可以具有客户端,诸如,客户端112。客户端112中的每一个可以是包括多个计算设备的计算系统的形式,或者是单个计算设备,例如,移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机等。客户110和客户端112仅是示例,并且云计算系统可以具有不同数量的客户或客户端,或者可以具有不同的客户或客户端配置。例如,可能有数百或数千个客户,每个客户可能有任意数量的客户端。
云计算系统100可包括任何数量的数据中心,包括数据中心120。每个数据中心120可具有服务器,诸如,服务器122。每个数据中心120可表示服务器所在的不同地理位置的设施。每个服务器122可以是包括多个计算设备(例如,集群)的计算系统的形式,或者是单个计算设备的形式,例如,台式计算机、服务器计算机、虚拟机等。数据中心120和服务器122仅是示例,并且云计算系统可以具有不同数量的数据中心和服务器,或者可以具有不同的数据中心和服务器配置。例如,可能有数十个数据中心,每个数据中心可能有数百个或任意数量的服务器。
客户端112和服务器122可以被配置为连接到网络130。特定客户的客户端可以经由公共通信链路116或不同的通信链路,例如,无线通信链路118(例如,由无线接入点提供)和有线通信链路119(例如,由有线网络交换机或路由器提供)连接到网络130。可以存在公共或不同通信链路的任何组合,并且也可以存在有线和无线通信链路的任何组合。网络130可以是例如因特网。网络130还可以是或包括局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)或在客户端112和服务器122中的任何一个之间传输数据的任何其它手段。网络130、数据中心120和/或未示出的块可以包括网络硬件,诸如,路由器、交换机、负载平衡器和/或其它网络设备。
云计算系统100的其它实施方式也是可能的。例如,除了所示的客户端和服务器之外的设备可以包括在云计算系统100中。在实施方式中,一个或多个附加服务器可以作为云基础设施控制来操作,从中监视、控制和/或配置云基础设施的服务器和/或客户端。例如,这里描述的一些或所有技术可以在所述云基础设施控制服务器上操作。作为替代地或另外地,本文描述的一些或所有技术可以在诸如服务器122的服务器上操作。
在各种实施例中,客户110对应于餐馆运营商、特许经营商、商店经理或销售点或服务点的其它合适的运营商。在各种实施例中,数据中心120对应于餐馆中心办公室、特许经营者、区域管理者或一个或多个客户110的其它合适的集中管理点。
图2是计算设备200的内部配置的实施方式的框图,该计算设备200如图1所示的计算系统100的客户端112或服务器122,包括计算系统的基础设施控制服务器。如前所述,客户端112或服务器122可以采用包括多个计算单元的计算系统的形式,或者采用单个计算单元的形式,例如,移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机、服务器计算机等。
如图2所示,计算设备200可以包括多个组件。处理器202可以是中央处理单元,诸如,微处理器,并且可以包括单个或多个处理器,每个处理器具有单个或多个处理核。或者,处理器202可以包括能够操纵或处理现在或以后开发的信息的另一种类型的设备或多个设备。当存在多个处理设备时,它们可以以任何方式互连,包括硬连线或网络连接(包括无线联网)。因此,处理器202的操作可以分布在可以直接耦接或跨局域或其它网络耦接的多个机器上。处理器202可以是通用处理器或专用处理器。
随机存取存储器(RAM)204可以是用作存储器的任何合适的非永久存储设备。RAM204可以包括用于由处理器202访问的可执行指令和数据。RAM 204通常包括一个或多个DRAM模块,诸如,DDR SDRAM。或者,RAM 204可以包括另一种类型的设备或多个设备,其能够存储数据以供现在或以后开发的处理器202处理。处理器202可以通过总线212访问和操纵RAM 204中的数据。处理器202可以利用高速缓存220作为用于对数据和指令进行操作的本地化快速存储器的形式。
存储器206可以是只读存储器(ROM)、磁盘驱动器、固态驱动器、闪存、相变存储器(PCM)或用于维护数据持续一段时间且最好是在断电的情况下的任何形式的非易失性存储器的形式。存储器206可以包括可执行指令206A和应用程序文件/数据206B以及其它数据。可执行指令206A可以包括,例如,操作系统和一个或多个应用程序,用于整体或部分地加载到RAM 204中(具有基于RAM的可执行指令204A和应用程序文件/数据204B)并由处理器202执行。可执行指令206A可以被组织成可编程模块或算法、功能程序、代码和被设计为执行本文描述的各种功能的代码段。操作系统可以是例如Microsoft或操作系统,或者可以是用于小型设备(诸如,智能手机或平板电脑设备)或大型设备(诸如,大型计算机)的操作系统。应用程序可以包括,例如,web浏览器、web服务器和/或数据库服务器。应用程序文件206B可以包括,例如,用户文件、数据库目录和配置信息。在实施方式中,存储器206包括用于执行本文描述的发现技术的指令。存储器206可以包括一个或多个设备,并且可以使用一种或多种类型的存储器,诸如,固态或磁性存储器。
计算设备200还可以包括一个或多个输入/输出设备,诸如,网络通信单元208和接口230,可以具有有线通信组件或无线通信组件290,其可以经由总线212耦接到处理器202。网络通信单元208可以利用各种标准化网络协议(诸如,以太网、TCP/IP等)中的任何一种以实现设备之间的通信。接口230可以包括利用以太网、电力线通信(PLC)、WiFi、红外、GPRS/GSM、CDMA等的一个或多个收发器。
用户界面210可包括显示器、位置输入设备(诸如,鼠标、触摸板、触摸屏等)、键盘或其它形式的用户输入和输出设备。用户界面210可以经由总线212耦接到处理器202。除了显示器210之外或作为显示器210的替代,可以提供允许用户编程或以其它方式使用客户端或服务器的其它输出设备。当输出设备是显示器或包括显示器时,显示器可以以各种方式实现,包括通过液晶显示器(LCD)或阴极射线管(CRT)或发光二极管(LED)显示器(诸如,OLED)实现。
客户端和服务器200的内部配置或体系结构的其它实现也是可能的。例如,服务器可以省略显示器210。RAM 204或存储器206可以分布在多个机器上,诸如,基于网络的存储器或执行客户机或服务器的操作的多个机器中的存储器。虽然这里描述为单个总线,但总线212可以由多个总线组成,这些总线可以通过各种桥接器、控制器和/或适配器彼此连接。计算设备200可以包含监视计算设备200本身或计算设备200周围的环境的任何数量的传感器和检测器,或者它可以包含位置识别单元260,诸如,GPS或其它类型的定位设备。计算设备200还可以包含电源270,诸如,电池,使得该单元可以以独立的方式运行。这些可以经由总线212与处理器202通信。
图3是高可用性处理系统的实施方式的框图。图示的分布式计算系统300可以是例如图1的数据中心120和网络130的实现。广义地说,系统300包括负载平衡器304和数据中心120。负载平衡器304耦接到由网络130图形描绘的电信网络。负载平衡器304还可以包括反向代理负载平衡器。
第一数据中心120包括主数据库310,第二数据中心120包括辅助数据库310′。数据中心120以这样的方式操作:辅助数据库310′可以提供主数据库310的精确或基本上精确的镜像。分界线320用于以图形方式强调数据中心120之间的逻辑边界。取决于预期的应用,数据库310、310′可以使用例如关系数据库管理系统(RDBMS)、对象数据库、XML数据库、平面文件等来实现。在实施方式中,数据中心120包括在物理硬件服务器(例如,图1的数据中心120的服务器122)上实现的web服务器(例如,Apache安装),用于处理访问客户计算机网络的资源的客户端请求。
每个数据中心可以包括应用节点306,但是根据实施方式可以使用比所示更多或更少的数量。应用节点可以使用处理线程、虚拟机实例或代表远程站点客户端运行程序的数据中心的其它计算特征来实现,并且经由网络130与这些客户端交换相关数据。与运行这些程序相关,应用程序节点存储和检索获取数据的情况,数据库310填充该角色。在实施方式中,每个应用程序节点连接到单个主数据库,而不管所述数据库是否与所述应用程序节点位于相同的数据中心。例如,主数据库可以是读/写的,并且辅助数据库可以被配置为只读,使得它镜像来自主数据库的改变。对系统300的请求可以首先被路由到主数据库的数据中心中的应用节点,然后是其它数据中心。在故障转移情况下,辅助数据库可能变为读/写,以前的主数据库切换到镜像辅助数据库(它成为主数据库)。在这种情况下,可以将每个应用程序节点重新配置为指向辅助数据库(现在是主数据库),如虚线所示。在这种情况下,可以将每个应用程序节点重新配置为指向辅助数据库(现在是主数据库),如虚线所示。
如上所述,每个数据中心120可以具有其自己的负载平衡器304。每个负载平衡器304可以被配置为将流量引导到位于其数据中心内的相应服务器和处理节点。关于代理服务,在一个示例中,负载平衡器304被配置为经由网络130向远程客户端提供由单个因特网提供的服务,其中该服务实际上由数据中心120的计算机化服务器组成的服务器群提供。负载平衡器304还可以协调从远程客户端到数据中心120的请求,通过屏蔽数据中心的内部配置来简化客户端访问。负载平衡器304可以通过将客户端引导到直接或通过DNS配置的处理节点来服务于这些功能。负载平衡器304可以配置用于粘性会话。利用粘性会话,来自客户端的请求可以在客户端会话期间被转发到相同的应用节点306。
关于负载平衡,组件304可以被配置为在主数据中心120经历预定义为故障的许多枚举条件之一的情况下将流量引导到辅助数据中心120′。负载平衡器304的负载平衡功能可以作为单独的组件或作为单个组件提供。
分布式计算系统300可以使用多租户或单租户架构来分配计算机网络的资源。在多租户架构下,应用程序、数据库和/或其它软件应用程序服务器的安装或实例可以在多个客户之间共享。例如,web服务器(例如,单一的Apache安装)、应用服务器(例如,单一的Java虚拟机)和/或单个数据库服务器目录(例如,单一的MySQL目录)可以处理来自多个客户的请求。在该体系结构的实施方式中,应用程序和/或数据库服务器软件可以使用该系统区分和隔离各种客户的数据和其它信息。
在单租户架构中,可以为每个客户实例提供单独的web服务器、应用服务器和/或数据库服务器。在实施方式中,每个客户将访问其专用Web服务器,将使用其专用应用程序服务器处理其事务,并将其数据存储在其专用数据库服务器和/或目录中。可以共享物理硬件服务器,使得可以在同一物理服务器上安装web、应用程序和/或数据库服务器的多个安装或实例。可以为每个安装分配物理服务器资源的特定部分,诸如,RAM、存储器和CPU周期。
在实施方式中,客户实例包括多个web服务器实例、多个应用服务器实例和多个数据库服务器实例。服务器实例可以位于不同的物理服务器上,并且与具有与其它客户实例相关联的多个其它服务器实例共享不同物理服务器的资源。在给定的云计算系统中,客户实例的不同实施方式可以同时用于不同的客户实例。也可以使用客户实例的其它配置和实施方式。例如,在实施方式中,web服务器和应用服务器功能被视为单个单元(其中可能存在多个单元),每个单元安装在相应的物理服务器上。
高可用性POS系统
本文公开了高级高可用性销售点系统的实现。该系统可以采用传统上是在线订单系统的一部分的特征,诸如,网络订单系统。图4是维恩图400,示出了通常与销售点(POS)系统相关联的销售点功能402,其关注于订单周期,以及在线订购(OLO)功能406,例如,提供送货服务的餐厅或厨房的功能。POS功能402可以包括客户服务代表(CSR)订购(其中客户与CSR交互以便下订单)、厨房工作流程(包括调度)以及与送货相关联的物流中的一个或多个。OLO功能406可以包括web订购、移动设备订购和呼叫中心中的一个或多个。然而,至少一些功能可以在POS功能402和OLO功能406之间共享(共享功能404)。共享功能404包括订购体验的个性化、菜单管理、交易/定价/税收、交付区域、支付和其他实时操作中的一个或多个。在实施例中,在这里描述的系统中,提供了用于实现与POS功能402或OLO功能406相关联的各种功能的灵活性。POS功能402越来越多地转向消费者设备,其中消费者通过移动设备直接下订单或在线订购。前台的收银机变得相对不那么重要,因为它使用的没那么多。OLO功能406可以包括web订购、移动订购和呼叫中心订购。
如本文所使用的,POS可以包括传统的POS设备,并且可以允许终端用户直接与服务器交互。传统POS与终端用户的直接交互之间的主要区别在于传统的POS商家将对定价和交易有一定的控制权,而直接与网页交互的终端用户则不会。此外,传统POS的授权用户可以修改可能不允许客户自己制作的客户账户。此外,对于希望通过与食品订购网站互动来下订单的终端用户的客户相比,运营传统的POS更为重要,以便与亲自访问企业或通过其它方式(诸如,电话)联系的客户开展业务。
此外,可以针对传统POS不同地配置用户体验/用户界面,而不是作为终端用户的客户。对于POS,员工的用户体验基于效率和速度进行优化。相比之下,终端用户的网络体验基于首次易用性、视觉吸引力和品牌推广进行优化。例如,食品网站主页上的大食品图片可能更适合向终端用户销售新产品或捆绑销售,但在POS环境中,这样的显示可能会导致与显示器的不必要交互并占用宝贵的屏幕实时资源,其可以更好地用于诸如如何与客户交互的脚本之类的东西。在比萨环境中,作为终端用户的客户添加配料时更新的比萨的图片可能在视觉上吸引客户,但是会浪费POS环境中的空间。
最后,商店中的POS可能比商店中的人具有更多的商店中的操作员选项。例如,它可以具有用于调度准备和送货的订单的调度功能,特别是关于按照它们将被送货的顺序调度要准备的订单的能力。在接收或输入订单时,根据从送货返回的送货司机的预测可用性对它们进行排序以进行准备和烘焙。POS被设计为处理特定数量的同时订单,这应该被协调,而不是作为终端用户的客户的单一订单焦点。
图5是示出可以使用的基于云的系统500的实施方式的框图。用户设备520(例如,智能电话、台式计算机或平板电脑)520可以与位于网络/云130内的再现器550交互。再现器550被配置为呈现网页或其它合适的用户界面(UI)显示器。使用应用程序接口(API)570和API平台(未示出),再现器550可以与基于云的服务580交互以访问订单服务逻辑590,诸如,获得当前菜单以及交易、定价和其它客户数据。在各种实施例中,再现器550和/或API平台在服务器122、数据中心120或其它合适的设备上实现。如本文所定义的云130可以包括允许多个设备互连并且彼此通信的任何网络架构。可以包括被认为是物联网(IoT)530的一部分的其它设备,其可以不具有专用用户界面并且因此可以直接与API 570交互。用户设备520和IoT 530提供订单被接收到的通道。云130还可以具有包含关于正在进行的工作的信息的队列(未示出),但是这也可以存在于客户端。而且,销售点系统540可以利用API 570来访问云中提供的各种服务580。管理工具/门户560可用于配置和管理系统,并且数据库595可包含与电子商务系统相关的数据。
在实施例中,用户设备520、IoT 530和POS 540中的一个或多个是客户110的客户端112,而再现器550、管理工具/门户560、API 570或API平台、基于云的服务器580和数据库595对应于服务器122或数据中心120的其它合适设备。在实施例中,客户端112提供POS功能402,服务器122提供OLO功能406,以及客户端112和服务器122两者提供至少一些共享功能404。
根据实施方式,API支持向API调用提供传统支持的同时允许做出未来变化的版本。API调用可以被设计用于本地化,即,支持多种语言,并且API调用可以以适当的语言(例如,菜单、优惠券、错误消息等)返回翻译的内容。但是,货币符号和格式不必取决于API请求的语言。在实施方式中,API是无状态的或RESTful的,不使用传统会话(基于cookie或其它形式)。每个API调用都可以使用请求标头令牌进行授权-当用户登录时,登录API可以返回授权令牌,保存到浏览器的本地存储中,此授权令牌可用于将来的API调用以确定调用的结果。这些调用可以通过SSL或强制SSL(HTTPS)完成。
可以将API设计为使用适当的HTTP动词:POST表示正在创建某些内容;PUT表示正在更新某些内容;GET表示正在检索获取某些内容,DELETE表示正在删除某些内容。API可以基于响应结果返回适当的状态代码,例如:成功状态为200,未授权时为401状态,如果错误则为400状态,如果未找到则为404状态。
每当对象被修改(POST,PUT)时,所得到的响应可以包括该对象的最新版本。API可以包括以下仅作为示例提供的调用列表。呼叫列表可能包括此处未提供的其它呼叫。
表1提供了可能的用户相关调用的列表。
表1
示例用户API调用
表2提供了可能的地址验证调用的列表。验证用户的给定地址可用于确定位置和存储选项。地址验证可以是单独的API,以确定用户地址请求的结果。
表2
示例地址验证API调用
表3提供了用于检索获取关于商店的信息的可能的商店相关调用的列表。
表3
示例商店API调用
表4提供了用于检索获取关于菜单的信息的可能的菜单相关调用的列表。菜单可能独立于商店。菜单可以更广泛,因为在大多数情况下,这可以在商店选择UX后面“隐藏”。这些API调用可以返回带有菜单的优惠券,并提供JavaScript库的前端翻译。
表4
示例菜单API调用
表5提供了用于存储用户购物车的可能的购物车相关调用的列表。购物车列出了用户打算购买的所有产品,但尚未购买。购物车不必使用会话,而是可以使用ID通过API检索获取购物车详细信息。
表5
示例购物车API调用
表6提供了可能的与订单相关的呼叫的列表,其可以基于购物车ID来创建订单。鉴于请求可能包含支付数据,所有订单端点应该是安全的。订单只能由创建订单的用户下达,订单可以通过此服务标记为“已处理”。
表6
示例订单API调用
表7提供了用于定价信息的可能的定价相关调用的列表。在大多数情况下,定价可以是集中的(即,不留给客户)。
表7
示例定价API调用
表8提供了可能的内容相关调用的列表。一些内容(例如,广告、促销图块)可能需要是动态的并且通过API提供,并且内容调用可以是松散结构的。如果需要提供内容,则可以使用restful接口来检索获取内容。可以为特定场景或设备提供特定内容,并且可以将内容与商店相关联。
表8
示例定价API调用
可以是公共的一些端点可以用于减少菜单大小和响应性(例如,如果诸如披萨的产品具有复杂的配置数据,则/products/可以在每个产品的基础上使用产品)。
在图5的基于云的系统500中示出的架构中,服务逻辑590可以使用JavaScript来实现,并且可以使用例如(Docker,Inc.,http://www.docker.com)和Node.js在云容器中提供服务580,Node.js是基于Google′s Chrome V8JavaScript引擎构建的JavaScript运行时。可以使用代表性状态转移(REST)-ful架构来实现API 570。可以使用高可用性的基于云的服务,诸如,Microsoft′sAmazon Webor GoogleWeb
图6A是根据企业POS架构600的实施方式的框图。该架构分为两部分:店内部分610和渐进增强部分660。店内部分610包括订单输入系统615,其包括第一部分620,用于提供菜单、交易、确定定价、存储客户信息、管理送货区域和处理支付中的一个或多个。店内部分610还包括第二部分625,其包括用户界面、现金控制和收据中的一个或多个。店内部分610还包括具有用户界面的厨房系统630以及具有用户界面的携带系统635。店内部分610还包括调度系统640,调度系统640包括用于路由和现金控制的元件645以及用户界面。可以提供高速缓存的商店或数据库650,用于存储正在进行的工作(例如,已经开始但尚未最终确定和输入的订单)。
渐进增强部分660包括第一基于云的部分665,其包含关于商店配置、客户、个性化和OLO的信息。在一些场景中,基于云的部分665与高速缓存的存储器650共享数据。渐进增强部分660还包括后台主机670,其为系统提供后台功能,专注于商业周期--该功能包括例如,预测、库存、人工、时钟和报告功能中的一个或多个。渐进增强部分660还包括地理信息675,诸如,地图、位置和可以与调度系统640对接并且与设备680通信地理(和其它)信息的联合点。
图6B是进一步详细说明店内部分610并且示出了订单输入系统615的POS软件655的框图。在图6B所示的实施例中,POS软件655包括第一部分620、第二部分625和数据库628(例如数据库650)。在实施例中,第一部分620(菜单、交易、定价等)被实现为便携式部分,其被配置为在不同的POS设备、平板电脑、智能电话或其它合适的设备之间可移动。在实施例中,便携式部分用JavaScript实现。在一些实施例中,第二部分625被实现为本机部分,例如,一个或多个应用程序、脚本、库、模块或为设备的操作系统和/或硬件编写和/或编译的其它合适的指令格式,在设备的操作系统和/或硬件上安装POS软件655。
在各种实施例中,企业POS架构600的一个或多个部分由计算系统100实现。在实施例中,例如,一个或多个客户端设备112实现店内部分610,并且一个或多个服务器122实现渐进增强部分660。在实施例中,客户端112实现POS软件655。
在各种实施例中,客户端设备112利用第一部分620的定价部分来确定销售交易的定价信息(例如,应付总额)。在实施例中,例如,销售交易对应于购物车的订单信息,并且基于购物车中的商品及其数量,客户端设备112确定反映优惠券、促销优惠、组合优惠的应付总额(例如,两个或多个在一起购买时提供折扣的物品)。
在一些实施例中,第一部分620包括与加密货币系统(例如,比特币、以太坊,莱特币等;未示出)或其它合适的数字支付系统接口的支付处理部分。在实施例中,第一部分620与在客户端设备112上执行的第三方应用程序通信,以通过加密货币系统处理支付。在实施例中,第一部分620包括定价部分,其基于所选择的支付系统来调整定价或交易。例如,定价部分基于是选择现金支付、信用卡支付还是加密货币支付来确定给定销售交易的不同价格。
图7是可用于与系统的服务器侧(例如,服务器侧850,图8)交互的基于web的界面700的示例屏幕截图。它包括允许输入子组织720的示例配置仪表板710,子组织720提供用于商店定义数据的树结构,使得继承方案可以用于容易地管理例如数千个商店的配置。仪表板710还允许管理者添加商店730、管理主菜单740以及输入关于产品750的信息。通常,仪表板710可以实现为用于输入和维护电子商务网站的产品信息的管理工具。在商店管理和在线实现方式之间可能存在显着的重叠,因此,进行一次配置就可以提供商店和在线实现方式的配置。
该系统受益于高或连续可用性,因为订购系统的停机时间可导致收入的显着命中。因此,根据实施方式,可以在临时系统上提供服务器端软件更新(可能需要延长的安装时间),并且一旦安装了所有更新,临时系统就可以通过执行切换变成生产系统。以这种方式,到更新的转换对于客户而言通常是透明的,并且将导致所提供的服务的操作很少或没有中断。
在实施例中,POS 402、540的功能基于使用iOS或Android平台(例如,客户端112)在平板电脑或智能电话上运行的托管系统,因此可以在客户设备上运行。在实施方式中,即使网络连接断开,POS也可以具有很高的生存能力,这意味着即使某些核心功能特征可能在某种程度上降级,设备和系统也能够运行其大部分功能。
根据实施方式,当通信链路断开时(例如,通信链路116或118),订单输入的许多任务仍然可以发生。例如,在订单输入期间使用的诸如菜单、交易、定价和客户信息之类的数据都可以在POS或客户设备(例如,客户端112)上复制。然而,除了数据之外,即使在通信链路断开时,也可以复制和缓存实际逻辑(例如,JavaScript或其它合适的指令格式或代码形式的函数)以运行客户端。在实施例中,例如,提供用于产品选择和/或定制、购物车管理、定价确定(例如,产品价格、折扣、税、订单总额)、支付细节或其它店内部分610(例如,厨房系统630、输出系统635)部分的用户界面中的一个或多个的功能,存储在客户端112上。
图8是示出根据实施例的系统800的框图,其中可以在客户端810或服务器端850上输入订单。在实施例中,客户端810在POS或客户端112上实现,服务器端850在一个或多个服务器122上实现。在第一种情况下,在客户端810和服务器端850(例如,通信链路116或118)之间的通信链路上存在正常通信(例如,用于数据传输的合适通信连接)。可以通过监视相应通信链路的通信状态的通信状态实用程序820(例如,执行的进程或线程)来进行正常通信的确定。在该第一种情况下,在服务器侧实现的订单功能825′用于下订单。可以访问与订单相关的信息,例如定价、交易或折扣以及客户信息830′,并且订单功能825′利用特定订单的逻辑。例如,如果满足以下任一条件,则可向客户提供免费饮料:a)订单总额大于20美元;b)客户已成为客户超过一年。该逻辑可以用JavaScript编写,从定价和交易数据中访问信息以及客户信息830′。在服务器端850,可以假设所有相关信息都是最新的。
在第二种情况下,通信状态实用程序820确定客户端810和服务器端850之间的通信链路断开。但是,这并不会关闭下订单的所有方面。在第二种情况下,利用订单功能825和/或相关逻辑以及关于定价、交易和客户信息830的相关数据,这些数据先前已被下载到客户端810可访问的存储器中(例如,缓存220、存储器204、计算设备200的存储器206、数据库628、数据库650)。这可以根据同步功能860来完成,该同步功能860用于在客户端810和服务器端850上同步数据和逻辑。在实施例中,订单功能825和信息830中的一个或两个对应于共享功能,如上面参考图4所述。在实施例中,订单功能825和信息830对应于第一部分620,如上面参考图6B所述。
同步可以由定时器到期触发,该定时器到期被设置为在某些预定间隔(例如,每100毫秒、每3秒或其它合适的间隔)同步,一些事件发生时,诸如,客户端设备通电、快速请求从客户端同步、执行活动(诸如,启动或修改订单)等。因此,订单的各个方面(诸如,定价规则、交易或折扣、逻辑等)可以以相同的方式在客户端实现,其大部分都可以在服务器端实现。JavaScript的使用可以允许相同或几乎相同的代码在客户端810和服务器端850上都可执行,而不需要根据平台维护不同的代码。另一个好处是,由于客户端的代码与服务器端的代码相同或几乎相同,因此在执行所请求的功能时用户体验是相同的。存储在数据库830、830′中的“商店”(商店配置)的定义可以包含其属性、商店销售的商品、其定价结构和存在的折扣。POS和云可能具有相同的行为,因为它们运行相同的JavaScript库,即使底层硬件或OS体系结构不同。
最终,订单本身可能无法从通信链路不起作用的设备发生。然而,仍然可以进行某些有限的功能,并且可以设置订单的各种其它方面,以便一旦重新建立通信,订单就可以立即进行。例如,POS系统可能无法使用信用卡,但它可能能够跟踪订单、在生产线显示器上下订单或打印出生产线票、并打印出收据发给客户。此外,系统可以提供未经授权的信用卡订单(因此以更高的费率)。该逻辑可以适用,以便非授权信用卡订单仅允许以前使用信用卡付款的重复客户。
根据实施方式,在定价差异的情况下,在POS环境中,在客户端执行的代码优先于在服务器上执行的代码。在大型企业中,价格可能每天都在变化。计算并保存价格后,不会重新访问。但是,在Web电子商务环境中,服务器将计算云中的主价格。这可以防止黑客根据被黑客入侵的JavaScript定价模块下免费披萨的订单。
在客户端810和服务器端850之间复制功能(例如,同步数据和逻辑)的能力还可以允许基于处理能力和其它可用性因素来描绘两者之间的功能。如果通信网络断电,但电话系统仍然可用,则客户端810可以恢复通过电话系统发出结果订单。随着这些设备获得越来越多的能力,客户端810的功能可能会增加。
由于某些逻辑可以被推送到便携式执行环境,例如JavaScript,因此可以由不同的设备独立地执行,以实现性能或生存性目的。相关数据830可以表示为诸如JavaScript对象表示法(JSON)的形式的数据的二进制大对象(blob)。即使数据保存在一个大blob中,以这种方式存储它的优点是它都位于一个位置。因此,即使例如订购披萨的信息很复杂,但在任何给定的商店中只有几十种商品可供出售。
销售点处的商店中的购物车或本地运行的浏览器中的消费者购物车可以通过例如JavaScript中提供的便携式功能和逻辑容易地访问管理物品价格的复杂规则。以根据披萨定价中可能涉及的所有复杂规则,确定购物车中所有商品的价格。便携式逻辑可以在任何地方、云端、运行销售点系统的平板电脑上提供,嵌入在用户智能手机中运行的应用程序中,这样一切都可以立即定价。这使得应用程序更具生存能力,因为重要功能在本地运行——它不依赖于与服务器端850的通信连接。用户可以在其购物车中填充物品、定价、出售它们,然后继续进行。
当订购的可用物品的整个目录相对较小并且可以容易地高速缓存/存储在本地设备上时,该系统是特别有优势的。因此,在本地编目和缓存并允许在便携式环境中的任何地方运行应用程序的能力是有利的。例如,在用户希望将产品添加到购物车的用例中,如果“添加到购物车”功能是基于服务器的,则丢失通信连接(例如,当用于数据传输的合适通信连接不可用时)会阻止用户将产品添加到她的购物车。利用这里描述的系统,“添加到购物车”功能可以在用户的设备上实现,因此即使在通信连接断开时也可以成功执行。本地功能在本地更新购物车数据,并且稍后在重新建立连接时可以同步该信息。
在客户端810上执行的代码可以经历“缩小”,这减小了代码的大小并通过混淆提供了一定程度的安全性。验证例程可以在客户端810上的本机应用程序中实现,并且代码可以放置在包装器中,使得代码可以绑定到专有设备,诸如,用户的智能电话或POS设备(例如,客户端112)。在实施例中,客户端810具有使其能够与服务器端850中的软件和数据同步并提供激活特征的软件,例如,许可检查以确保设备客户端810被授权并且认证。换言之,只要客户端810被认证,客户端810就被配置为从服务器端850接收软件、信息和/或数据更新。
客户端810还可以利用加密证书来确保客户端810和服务器端850之间的安全通信,并移动信用卡信息或个人可识别信息。由于系统可能包含大量客户信息,包括客户历史数据,因此以安全方式维护数据可能是系统的特征。可以在客户端810和服务器端850中的任一个或两者上提供日志记录应用程序,以便可以确定谁访问了客户数据。在实施方式中,客户端810的设备的序列号可以链接到软件(例如,由服务器端850管理)的许可,并且服务器端850的安全系统的一部分可以确保从一个设备接收的数据不能被另一个设备访问——即,所接收的数据可以绑定到特定设备或绑定到组织(例如,POS组织、特许经营地点、特许经营组等)。
影子虚拟化
高可用性POS系统的另一个特征提供了利用数据中心或云中该系统的虚拟副本或“备用”来“影子化(shadowing)”本地或远程的物理的或“活动(active)”的系统的方式,用于备份操作(优选地,立即备份操作),以及用于复制过程而不影响现实世界系统状态(例如,活动系统上已完成和正在进行的订单、客户信息、价格信息等的记录)。提供了一种方法,仅在实现和功能组件的正确操作所需的程度上,其确保功能和数据的有效同步,以避免“两个地方的数据可能不同”的风险,并且确保安全信息不是通过在物理和虚拟映像系统上复制安全信息而受到损害。
图9是示出影子虚拟化系统900的实施方式的框图。许多物理系统910可以在运行,诸如,系统A915以及其相关联的应用和数据920,和系统B 915′以及其相关的应用程序和数据920′。创建多个远程系统915、915′(统一地或通过示例915)的每个个性(例如,配置、初始化参数或其它合适的信息)的主副本,然后将每个系统915虚拟化为工作云130中的原始系统的虚拟机965、965′(例如,副本)。这包括相关联的应用和数据920、920′,其被创建为云130中的应用和数据970、970′。
由于虚拟机可以具有分配给它的任意数量的系统CPU和其它资源,因此虚拟机965可扩展到可用硬件的大小,或者基于云的系统,可扩展到云的最大容量。
尽管传统的虚拟化方法带来物理系统的复制,但是它们不提供物理和虚拟(复制)系统(例如,系统915和系统965)以及用于同步物理和虚拟系统的有效机制的同时操作,其可导致两个系统变得不同(例如,具有不同的系统状态、存储的数据等)。因此,可以提供同步机制930,其使物理系统915及其相应的应用和数据920与它们各自的冗余虚拟系统965及其相应的应用和数据970完全同步。同步机制930可以包括保持跟踪虚拟副本的部署的管理工具、修改虚拟副本的特定特征,诸如,IP地址、系统名称和安全信息,以便图像可以彼此重合而不会发生冲突。在实施例中,同步机制930由服务器侧850执行。在另一实施例中,同步机制930由配置用于处理一个、两个或更多个物理系统915的同步的服务器122执行。在一些实施例中,同步机制930由客户端810或客户端810和服务器端850两者彼此协作执行。
可以提供应用程序编程接口(API)997,以便可以通过经过测试和验证的API函数对开发者995进行的虚拟拷贝的改变,并且可以使用具有SSL安全性的行业标准HTTPS从程序或网站调用这些函数。
物理和虚拟系统915和965可以与利用机密数据和/或要求遵守安全和隐私法规的外部系统980通信。例如,销售点系统985可以使用受支付卡行业(PCI)规则约束的信用卡信息。医疗系统990可以使用受健康行业隐私法(HTPAA)规定约束的敏感客户或患者数据。该系统可以结合如美国专利第8,775,802号和/或8,429,429号中公开的隔离技术,其内容通过引用并入本文中。在一些实施例中,外部系统980包括加密货币系统(例如,比特币、以太坊、莱特币等;未示出)或其它合适的数字支付系统。
在各种实施例中,物理系统915保持不变地操作,而运行的虚拟副本965,对期望被影子化的功能,而影子化物理系统915的被选操作。在实施例中,例如,定价订单的功能包括在期望的影子化功能中。在该示例中,系统的管理可能涉及使用同步机制930来复制对物理系统915和运行的虚拟副本965的定价更新和菜单改变。可以通过在完成日志935中为每个完成的更新实现时间戳来促进同步机制930的同步。
另外,远程过程可以由“触发器”控制,该“触发器”可以基于规则集来调用,该规则集确保当在物理系统915上发生事件时,在运行的虚拟副本965上“触发”相同的事件。如果没有系统重启,某些进程无法完成,触发功能可确保物理915和虚拟965系统在应用更新后处于相同状态。
为了确保系统900名义上操作,可以周期性地将样本交易应用于物理915和运行的虚拟副本965,并且可以通过比较模块940比较交易的结果以确保结果相同。可以调查差异以确定问题的来源,并且甚至在纠正错误之前,系统915、965可以被重新同步以恢复标称操作。
当系统名义上运行时,运行的虚拟系统965可以在不干扰物理系统915的情况下完成请求。例如,可以对订单定价,然后从运行的虚拟系统965完全提交订单到物理系统915。
该架构的一个好处是它可以在更新和定价改变上提供更大的可扩展性和更快的周转时间,并消除单点故障,因为在物理系统915(例如,服务器端850)或到物理系统915的通信链路发生故障的情况下,正在运行的虚拟系统965还可以用作远程存储(例如,客户端810)的故障转移主机。然后可以使用管理系统或同步机制930在修复时将操作恢复到物理系统915。
图10是根据实施例的用于显示定价信息的示例方法1000的流程图。在一些实施例中,客户端112被配置为执行方法1000。在各种实施例中,例如,POS 540、客户端810、执行POS软件655的设备或其它合适的设备执行方法1000。
在框1002,客户端设备接收包括客户端定价信息的数据包。客户端定价信息与服务器设备上的服务器定价信息同步。在实施例中,客户端定价信息和服务器定价信息分别对应于信息830和信息830′,而客户端设备和服务器设备分别对应于客户端810和服务器端850。
在框1004,由客户端设备生成配置用于销售交易的图形用户界面。在实施例中,数据包包括用于销售交易的菜单信息,该菜单信息被配置为在客户端设备的便携式执行环境内可读,并且客户端设备基于菜单信息生成图形用户界面。在一些实施例中,客户端设备接收更新的数据包(1002)并自动生成更新的图形用户界面(1004)。图形用户界面包括一个或多个菜单项、所选项目的购物车、定价信息(例如,数量、每单位价格、折扣、税等)、客户信息、优惠券信息、推荐项目或项目组合或销售交易的其它合适信息。
在框1006,客户端设备经由图形用户界面接收用于销售交易的订单信息。例如,接收具有相关联的客户信息、所选择的配料的披萨的订单(例如,购物车)和副订单物品。
在框1008,客户端设备确定客户端设备和服务器设备之间的通信连接是否可用于销售交易。在一些实施例中,针对每个销售交易执行步骤1008。在其它实施例中,当检测到的事件发生时(例如,连接网络插头)或其他合适的时间,步骤1008在不同时间周期性地(例如,每30秒、每5分钟等)执行例如客户端设备的初始化、图形用户界面的生成。响应于确定通信连接可用,客户端设备进行到框1010。响应于确定通信连接不可用,客户端设备进行到框1012。
在框1010,客户端设备从服务器设备获得销售交易的定价信息。服务器设备远离客户端设备,并基于位于远离客户端设备的服务器定价信息生成定价信息。在实施例中,例如,客户端设备向服务器设备发送订单信息,并且服务器设备生成定价信息并将其发送回客户端设备。在实施例中,服务器设备基于信息830′并使用订单功能825′生成定价信息。
在框1012,客户端设备确定销售交易的定价信息,包括基于位于本地客户端设备的客户端定价信息生成定价信息。在实施例中,客户端设备基于信息830并使用订单功能825生成定价信息。在一些实施例中,数据包包括可执行指令和信息(例如,信息830和订单功能825)。
在一些实施例中,客户端定价信息包括被配置为可在客户端设备的便携式执行环境内执行以生成第二定价信息的指令。例如,在框1012处,客户端设备执行客户端定价信息内的指令以确定定价信息。在实施例中,客户端定价信息的指令被配置为可在服务器设备的便携式执行环境中执行,以由服务器设备生成定价信息。例如,在框1010处,服务器设备执行客户端定价信息内的指令(使用为服务器设备存储的副本,例如,服务器定价信息)以确定定价信息。在实施例中,如上所述,客户端设备和服务器都提供用于执行指令的便携式执行环境。
在框1014,客户端设备经由图形用户界面显示定价信息。在各种场景中,显示的定价信息由服务器设备或客户端设备基于通信连接是否可用而生成。在一些实施例中,客户端设备将销售交易的记录上载到服务器设备。在实施例中,例如,客户端设备在通信连接变得可用之后上载记录(或一批记录)。
在一些场景中,客户端设备继续执行方法1000的一个或多个步骤以用于后续销售交易。例如,客户端设备接收订单信息(1006),确定通信连接是否可用(1008),获得或确定定价信息(1010或1012),并显示定价信息(1014)。在一些场景中,客户端设备基于通信连接可用性选择性地获得定价信息(1010)或动态确定定价信息(1012)。因此,当通信连接不可用时,仍然可以在销售交易期间不与服务器设备通信的情况下完成销售交易,因此提供了高可用性销售点系统。
在一些实施例中,高可用性销售点(POS)系统包括POS设备、服务器设备和同步模块。POS设备包括POS处理器和存储器,该存储器存储i)用于与商家相关联的产品和服务中的至少一个的目录信息,以及ii)利用POS设备的目录信息来提供与商家的交易相关的输出的编程逻辑。POS设备的编程逻辑包括被配置为在POS处理器上执行的指令。服务器设备包括服务器处理器和存储器,该存储器存储i)用于与商家相关联的产品和服务中的至少一个的目录信息,以及ii)利用服务器设备的目录信息来提供与商家的交易相关的输出的编程逻辑。服务器设备的编程逻辑包括被配置为在服务器处理器上执行的指令。同步模块使POS设备的目录信息与服务器设备的目录信息同步,并使POS设备的编程逻辑与服务器设备的编程逻辑同步。在实施例中,POS设备、服务器设备和同步模块分别对应于客户端810、服务器端850和同步功能860。
在实施例中,一种在客户端设备上实现的用于显示定价信息的方法,包括:由客户端设备生成配置用于销售交易的图形用户界面;客户端设备通过图形用户界面接收第一销售交易的第一订单信息;客户端设备和远离客户端设备的服务器设备获取第一销售交易的第一定价信息,第一定价信息由服务器设备根据远离客户端设备的服务器定价信息生成;客户端设备通过图形用户界面显示第一定价信息;客户端设备通过图形用户界面接收第二销售交易的第二订单信息;客户端设备确定第二销售交易的第二定价信息,包括基于位于本地客户端设备的客户端定价信息生成第二定价信息;客户端设备通过图形用户界面显示第二定价信息。
在其它实施例中,该方法包括以下特征中的一个或多个的任何合适的组合。
该方法还包括由客户端设备接收包括客户端定价信息的数据包,其中客户端定价信息与服务器定价信息同步。
客户端定价信息包括被配置为可在客户端设备的便携式执行环境内执行,以生成第二定价信息的指令。
客户端定价信息的指令被配置为可在服务器设备的便携式执行环境内执行,以由服务器设备生成第一定价信息。
客户端设备的便携式执行环境和服务器设备的便携式执行环境是JavaScript执行环境。
数据包还包括用于销售交易的菜单信息,其被配置为在客户端设备的便携式执行环境内可读。该方法还包括基于菜单信息生成图形用户界面。
菜单信息被配置为在服务器设备的便携式执行环境内可读。
该方法还包括在第二销售交易期间执行第二销售交易而不与服务器设备通信。
该方法还包括确定客户端设备和服务器设备之间的通信连接是否可用于第二销售交易;其中,当确定通信链路不可用于第二销售交易时,客户端设备确定第二定价信息。
该方法还包括将第二销售交易的记录上载到服务器设备。
在另一实施例中,用于显示定价信息的客户端设备包括非暂时性计算机可读存储器和硬件处理器。硬件处理器生成为销售交易配置的图形用户界面;通过图形用户界面接收第一销售交易的第一订单信息;从位于远离客户端设备的服务器设备获得第一销售交易的第一定价信息,第一定价信息由服务器设备基于位于远离客户端设备的服务器定价信息生成;通过图形用户界面显示第一定价信息;通过图形用户界面接收第二销售交易的第二订单信息;确定第二销售交易的第二定价信息,包括基于位于本地客户端设备的客户端定价信息生成第二定价信息;并通过图形用户界面显示第二定价信息。
在其它实施例中,客户端设备包括以下特征中的一个或多个的任何合适的组合。
客户端设备接收包括客户端定价信息的数据包,其中客户端定价信息与服务器定价信息同步。
客户端定价信息包括被配置为可在客户端设备的便携式执行环境内执行,以生成第二定价信息的指令。
客户端定价信息的指令被配置为可在服务器设备的便携式执行环境,内执行,以由服务器设备生成第一定价信息。
客户端设备的便携式执行环境和服务器设备的便携式执行环境是JavaScript执行环境。
数据包还包括用于销售交易的菜单信息,其被配置为在客户端设备的便携式执行环境内可读,其中硬件处理器基于菜单信息生成图形用户界面。
菜单信息被配置为在服务器设备的便携式执行环境内可读。
客户端设备在第二销售交易期间执行第二销售交易而不与服务器设备通信。
硬件处理器确定客户端设备和服务器设备之间的通信连接是否可用于第二销售交易;其中,当确定通信链路不可用于第二销售交易时,硬件处理器确定第二定价信息。
硬件处理器将第二销售交易的记录上载到服务器设备。
变型
可以使用具有计算机程序的通用计算机/处理器来实现本文描述的本发明的全部或部分方面,该计算机程序在被执行时执行本文描述的任何相应技术、算法和/或指令。另外或替代地,例如,可以使用专用计算机/处理器,其可以包含用于执行本文描述的任何技术、算法或指令的专用硬件。
如本文所述的计算设备的实现方式(以及存储在其上和/或由其执行的算法、方法、指令等)可以用硬件、软件或其任何组合来实现。硬件可包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它合适的电路。在权利要求中,术语“处理器”应该被理解为单独地或组合地包含任何前述硬件。
例如,一个或多个计算设备可以包括ASIC或可编程逻辑阵列,诸如,现场可编程门阵列(FPGA),其被配置为专用处理器,以执行本文所描述或要求保护的一个或多个操作。示例FPGA可以包括逻辑块和随机存取存储器(RAM)块的集合,其可以单独配置和/或可配置地互连,以便使FPGA执行某些功能。某些FPGA也可能包含其它通用或特殊用途的块。可以基于硬件定义语言(HDL)设计对示例FPGA进行编程,诸如,VHSIC硬件描述语言或Verilog。
可以根据功能块组件和各种处理操作来描述本文的实施例,可以通过执行指定功能的任何数量的硬件和/或软件组件来实现这样的功能块。例如,所描述的实施例可以采用各种集成电路组件,例如,存储器元件、处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或者其它控制设备的控制下执行各种功能。类似地,在使用软件编程或软件元素实现所描述的实施例的元素的情况下,本发明可以用诸如C、C++、Java、汇编程序等的任何编程或脚本语言来实现,其中各种算法用数据结构、对象、进程、例程或其它编程元素的任何组合实现。功能方面可以在一个或多个处理器上执行的算法中实现。此外,本发明的实施例可以采用任何数量的用于电子配置、信号处理和/或控制、数据处理等的传统技术。词语“机制”和“元素”被广泛使用,并且不限于机械或物理实施例,而是可以包括与处理器等结合的软件例程。
以上公开的实现或部分实现可以采用可从例如计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是任何能够例如有形地包含、存储、通信或传输程序或数据结构以供任何处理器使用或与之结合使用的设备。介质可以是例如电子、磁、光、电磁或半导体器件。也可以使用其它合适的介质。这种计算机可用或计算机可读介质可以被称为非暂时性存储器或介质,并且可以包括可以随时间改变的RAM或其它易失性存储器或存储设备。除非另有说明,否则这里描述的装置的存储器不必由装置物理地包含,而是可以由装置远程访问的装置,并且不必与可能由装置物理上包含的其它存储器邻接。
这里使用的“示例”一词意味着用作示例、实例或说明。本文中描述为“示例”的任何方面或设计不必被解释为比其它方面或设计更优选或更具优势。相反,使用“示例”一词旨在以具体方式呈现概念。如在本申请中所使用的,术语“或”旨在表示包含性的“或”而非排他性的“或”。也就是说,除非另有说明或从上下文中清楚,否则“X包括A或B”旨在表示任何自然的包含性排列。换言之,如果X包括A;X包括B;或者X包括A和B,然后在任何前述情况下满足“X包括A或B”。另外,本申请和所附权利要求中使用的冠词“一”和“一个”通常应理解为表示“一个或多个”,除非另有说明或从上下文清楚地指向单数形式。此外,除非如此描述,否则贯全文穿使用的术语“实施方式”或“一个实施方式”并不旨在表示相同的实施例或实现方式。
这里示出和描述的特定实施方式是本发明的说明性示例,并不旨在以任何方式限制本发明的范围。为简洁起见,可能不详细描述传统电子设备、控制系统、软件开发和系统的其它功能方面(以及系统的各个操作组件的组件)。此外,所呈现的各个图中所示的连接线或连接器旨在表示各种元件之间的示例性功能关系和/或物理或逻辑耦接。在实际设备中可以存在许多替代或附加功能关系、物理连接或逻辑连接。此外,除非将该元件具体描述为“必要的”或“关键的”,否则没有任何项目或组件对于本发明的实践是必不可少的。
本文中“包括”、“包含”或“具有”及其变体的使用旨在涵盖其后列出的项目及其等同物以及其它项目。除非另有说明或限制,否则术语“安装”、“连接”、“支撑”和“耦接”及其变型被广泛使用并且包括直接和间接安装、连接、支撑和连接。此外,“连接”和“耦接”不限于物理或机械连接或耦接。
在描述本发明的上下文中(特别是在以下权利要求的上下文中)使用术语“一”、和“该”以及类似的指示物应当被解释为涵盖单数和复数两者。此外,除非本文另有说明,否则本文中对数值范围的引用仅旨在用作单独提及落入该范围内的每个单独值的简写方法,并且每个单独的值并入本说明书中,如同其在本文中单独引用一样。最后,除非本文另有说明或上下文明显矛盾,否则本文所述的所有方法的操作均可以任何合适的顺序执行。除非另外声明,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地说明本发明,而不是对本发明的范围进行限制。
本文引用的所有参考文献,包括出版物、专利申请和专利均通过引用并入到本文中,其程度如同每个参考文献通过引用被单独且具体地指出并且在本文中完整地阐述。
已经描述了上述实施例以便容易理解本发明,并且不限制本发明。相反,本发明旨在涵盖包含在所附权利要求范围内的各种修改和等同布置,该范围应被赋予最广泛的解释,以包含法律允许的所有这些修改和等同结构。
Claims (20)
1.在客户端设备上实现的用于显示定价信息的方法,所述方法包括:
所述客户端设备生成配置用于销售交易的图形用户界面;
所述客户端设备通过所述图形用户界面接收第一销售交易的第一订单信息;
所述客户端设备从远离所述客户端设备的服务器设备获取所述第一销售交易的第一定价信息,所述第一定价信息由所述服务器设备根据远离所述客户端设备的服务器定价信息生成;
所述客户端设备通过所述图形用户界面显示所述第一定价信息;
所述客户端设备通过所述图形用户界面接收第二销售交易的第二订单信息;
所述客户端设备确定所述第二销售交易的第二定价信息,包括基于位于所述所述客户端设备本地的客户端定价信息生成所述第二定价信息;和
所述客户端设备通过所述图形用户界面显示所述第二定价信息。
2.如权利要求1所述的方法,还包括由所述客户端设备接收包括所述客户端定价信息的数据包,其中所述客户端定价信息与所述服务器定价信息同步。
3.如权利要求2所述的方法,其中,所述客户端定价信息包括被配置为在所述客户端设备的便携式执行环境内可执行的指令,用于生成所述第二定价信息。
4.如权利要求3所述的方法,其中,所述客户端定价信息的指令被配置为可在所述服务器设备的便携式执行环境内执行,以由所述服务器设备生成所述第一定价信息。
5.如权利要求4所述的方法,其中所述客户端设备的便携式执行环境和所述服务器设备的便携式执行环境是JavaScript执行环境。
6.如权利要求4所述的方法,其中所述数据包还包括用于所述销售交易的菜单信息,所述菜单信息被配置为在所述客户端设备的所述便携式执行环境内可读,其中生成所述图形用户界面包括基于所述菜单信息生成所述图形用户界面。
7.如权利要求6所述的方法,其中,所述菜单信息被配置为在所述服务器设备的便携式执行环境内可读。
8.如权利要求2所述的方法,还包括在所述第二销售交易期间执行所述第二销售交易而不与所述服务器设备通信。
9.如权利要求8所述的方法,还包括:确定所述客户端设备和所述服务器设备之间的通信连接是否可用于所述第二销售交易;
其中,当确定所述通信链路不可用于所述第二销售交易时,所述客户端设备确定所述第二定价信息。
10.如权利要求9所述的方法,还包括将所述第二销售交易的记录上载到所述服务器设备。
11.一种用于显示定价信息的客户端设备,所述客户端设备包括:
非暂时性计算机可读存储器;
硬件处理器,用于:
生成为销售交易配置的图形用户界面;
通过所述图形用户界面接收第一销售交易的第一订单信息;
从位于远离客户端设备的服务器设备获得所述第一销售交易的第一定价信息,所述第一定价信息由所述服务器设备基于位于远离客户端设备的所述服务器定价信息生成;
通过所述图形用户界面显示所述第一定价信息;
通过所述图形用户界面接收第二销售交易的第二订单信息;
确定所述第二销售交易的第二定价信息,包括基于位于客户端设备本地的所述客户端定价信息生成所述第二定价信息;和
通过所述图形用户界面显示所述第二定价信息。
12.如权利要求11所述的客户端设备,其中,所述客户端设备接收包括客户端定价信息的数据包,其中所述客户端定价信息与服务器定价信息同步。
13.如权利要求12所述的客户端设备,其中,所述客户端定价信息包括被配置为在所述客户端设备的便携式执行环境内可执行的指令,用于生成所述第二定价信息。
14.如权利要求13所述的客户端设备,其中,所述客户端定价信息的指令被配置为在所述服务器设备的便携式执行环境内可执行,以由所述服务器设备生成所述第一定价信息。
15.如权利要求14所述的客户端设备,其中,所述客户端设备的便携式执行环境和服务器设备的便携式执行环境是JavaScript执行环境。
16.如权利要求14所述的客户端设备,其中所述数据包还包括用于所述销售交易的菜单信息,所述菜单信息被配置为在所述客户端设备的所述便携式执行环境内可读,其中所述硬件处理器基于所述菜单信息生成所述图形用户界面。
17.如权利要求16所述的客户端设备,其中,所述菜单信息被配置为在所述服务器设备的便携式执行环境内可读。
18.如权利要求12所述的客户端设备,其中,在所述第二销售交易期间,所述客户端设备执行所述第二销售交易而不与所述服务器设备通信。
19.如权利要求18所述的客户端设备,其中,所述硬件处理器确定所述客户端设备和所述服务器设备之间的通信连接是否可用于所述第二销售交易;
其中,当确定所述通信链路不可用于所述第二销售交易时,所述硬件处理器确定所述第二定价信息。
20.如权利要求19所述的客户端设备,其中,所述硬件处理器将所述第二销售交易的记录上载到所述服务器设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662343382P | 2016-05-31 | 2016-05-31 | |
US62/343,382 | 2016-05-31 | ||
PCT/US2017/035106 WO2017210245A1 (en) | 2016-05-31 | 2017-05-31 | System and method for a high availability cloud enabled point of sale system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109564658A true CN109564658A (zh) | 2019-04-02 |
Family
ID=60418776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780047455.0A Pending CN109564658A (zh) | 2016-05-31 | 2017-05-31 | 高可用性云支持的销售点系统的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20170344971A1 (zh) |
EP (1) | EP3465402A4 (zh) |
KR (1) | KR102222798B1 (zh) |
CN (1) | CN109564658A (zh) |
AU (1) | AU2017274333B2 (zh) |
MX (1) | MX2018014975A (zh) |
RU (1) | RU2740040C2 (zh) |
WO (1) | WO2017210245A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI707286B (zh) * | 2015-08-21 | 2020-10-11 | 新加坡商萬事達卡亞洲/太平洋私人有限公司 | 修改交易憑證的方法及系統,伺服器及非暫時性計算機可讀取媒體 |
US10089219B1 (en) | 2017-01-20 | 2018-10-02 | Intuit Inc. | Mock server for testing |
US10362517B2 (en) | 2017-04-07 | 2019-07-23 | Vapor IO Inc. | Distributed handoff-related processing for wireless networks |
CA3061746A1 (en) * | 2017-04-28 | 2018-11-01 | Aptos, Inc. | Systems and methods for point of sale data synchronization |
US10379916B2 (en) * | 2017-05-10 | 2019-08-13 | International Business Machines Corporation | Integrating transaction processing system interfaces with event-driven polyglot runtime modules |
US11631117B2 (en) * | 2019-05-10 | 2023-04-18 | Sap Se | Method, system, and non-transitory computer readable storage device for a pooling requirement while preserving privacy |
US11190514B2 (en) * | 2019-06-17 | 2021-11-30 | Microsoft Technology Licensing, Llc | Client-server security enhancement using information accessed from access tokens |
EP4128118A4 (en) * | 2020-03-27 | 2023-11-01 | Savor Brands Inc. | SYSTEMS AND METHODS FOR CUSTOMER INTEGRATION IN A POINT OF SALE SYSTEM |
WO2021247796A1 (en) * | 2020-06-03 | 2021-12-09 | PredictSpring, Inc. | Systems, devices, and methods for network management at a point of sale (pos) device |
US12001653B1 (en) * | 2023-05-25 | 2024-06-04 | Starbucks Corporation | Integrated backend and dynamic interface system for handling multiple transaction channels across different devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235755A1 (en) * | 2002-03-29 | 2006-10-19 | Mueller Raymond J | Digital advertisement board in communication with point-of-sale terminals |
US20110279286A1 (en) * | 2010-05-11 | 2011-11-17 | Lsis Co., Ltd. | Energy-related information display apparatus and method thereof |
US20140019274A1 (en) * | 2012-07-13 | 2014-01-16 | Ncr Corporation | Mobile point-of-sale (pos) techniques |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249772B1 (en) * | 1997-07-08 | 2001-06-19 | Walker Digital, Llc | Systems and methods wherein a buyer purchases a product at a first price and acquires the product from a merchant that offers the product for sale at a second price |
US20040024638A1 (en) * | 2002-07-31 | 2004-02-05 | Restis William R. | Computerized credit information system coupon coding |
JP2005025324A (ja) * | 2003-06-30 | 2005-01-27 | Seiko Epson Corp | Pos端末装置 |
CA2609835A1 (en) * | 2005-05-24 | 2006-11-30 | Michael Saigh | System, method and process for order and delivery of classified goods and services through an amalgamated drive-thru complex |
US20090276347A1 (en) * | 2008-05-01 | 2009-11-05 | Kargman James B | Method and apparatus for use of a temporary financial transaction number or code |
US20110208822A1 (en) * | 2010-02-22 | 2011-08-25 | Yogesh Chunilal Rathod | Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine |
US20110213678A1 (en) * | 2010-02-27 | 2011-09-01 | Robert Conlin Chorney | Computerized system for e-commerce shopping in a shopping mall |
US20120317504A1 (en) * | 2011-06-13 | 2012-12-13 | Microsoft Corporation | Automated user interface object transformation and code generation |
US9129273B2 (en) * | 2011-12-01 | 2015-09-08 | At&T Intellectual Property I, L.P. | Point of sale for mobile transactions |
WO2014105892A2 (en) * | 2012-12-26 | 2014-07-03 | First Data Corporation | Systems and methods for providing a point of sale platform |
CA2932098A1 (en) * | 2013-12-02 | 2015-06-11 | Wal-Mart Stores, Inc. | System and method for placing an order using a local device |
JP6756267B2 (ja) * | 2014-09-04 | 2020-09-16 | セイコーエプソン株式会社 | データ処理システム、及び、データ処理方法 |
US10147079B2 (en) * | 2015-04-14 | 2018-12-04 | Square, Inc. | Open ticket payment handling with offline mode |
US20170177696A1 (en) * | 2015-12-21 | 2017-06-22 | Sap Se | Usage of modeled validations on mobile devices in online and offline scenarios |
-
2017
- 2017-05-31 EP EP17807368.0A patent/EP3465402A4/en not_active Ceased
- 2017-05-31 CN CN201780047455.0A patent/CN109564658A/zh active Pending
- 2017-05-31 KR KR1020187038017A patent/KR102222798B1/ko active IP Right Grant
- 2017-05-31 MX MX2018014975A patent/MX2018014975A/es unknown
- 2017-05-31 WO PCT/US2017/035106 patent/WO2017210245A1/en unknown
- 2017-05-31 AU AU2017274333A patent/AU2017274333B2/en active Active
- 2017-05-31 US US15/609,700 patent/US20170344971A1/en not_active Abandoned
- 2017-05-31 RU RU2018146821A patent/RU2740040C2/ru active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235755A1 (en) * | 2002-03-29 | 2006-10-19 | Mueller Raymond J | Digital advertisement board in communication with point-of-sale terminals |
US20110279286A1 (en) * | 2010-05-11 | 2011-11-17 | Lsis Co., Ltd. | Energy-related information display apparatus and method thereof |
US20140019274A1 (en) * | 2012-07-13 | 2014-01-16 | Ncr Corporation | Mobile point-of-sale (pos) techniques |
Also Published As
Publication number | Publication date |
---|---|
EP3465402A1 (en) | 2019-04-10 |
US20170344971A1 (en) | 2017-11-30 |
MX2018014975A (es) | 2019-08-12 |
EP3465402A4 (en) | 2020-01-15 |
RU2740040C2 (ru) | 2020-12-31 |
WO2017210245A1 (en) | 2017-12-07 |
AU2017274333A1 (en) | 2019-01-03 |
RU2018146821A3 (zh) | 2020-07-10 |
AU2017274333B2 (en) | 2020-05-21 |
RU2018146821A (ru) | 2020-07-10 |
KR20190021272A (ko) | 2019-03-05 |
KR102222798B1 (ko) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109564658A (zh) | 高可用性云支持的销售点系统的系统和方法 | |
US11449925B2 (en) | Systems and methods for ordering graphical user interface | |
US20190355034A1 (en) | Electronic ordering system | |
CN108965468A (zh) | 区块链网络服务平台及其链码安装方法、存储介质 | |
US20210256584A1 (en) | System and method for intermediating electronic commerce between supplier and seller | |
US20180081693A1 (en) | Mobile service applications | |
KR20170101841A (ko) | 주문처리 시스템 | |
US11941750B2 (en) | Augmented reality enabled dynamic product presentation | |
US20240242424A1 (en) | Augmented reality enabled dynamic product presentation | |
US20170228815A1 (en) | Methods, systems, and media for providing aggregated and uniformly arranged item information | |
US20220351202A1 (en) | Multi-channel authentication using delegated credentials | |
CN112000746B (zh) | 数据管理方法、装置及服务器 | |
US11677735B2 (en) | Hidden line property of online content to inhibit bot activity | |
KR20170101696A (ko) | 주문처리 시스템 | |
US20230401571A1 (en) | Maintaining blockchain state when performing non-blockchain commerce workflow | |
US20230419635A1 (en) | Volumetric permissioning | |
US10565632B1 (en) | Transaction control system and method | |
US12126607B2 (en) | Hidden line property of online content to inhibit bot activity | |
US20240020752A1 (en) | Inventory management system protection for network traffic surge resistant platform | |
WO2023173199A1 (en) | Dual stage bulkheads | |
US20200098026A1 (en) | Method and system for third party purchases | |
CN113228091A (zh) | 多租户争议服务 | |
KR20130022844A (ko) | 다국어 쇼핑몰 빌딩시스템 |
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: 40006296 Country of ref document: HK |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190402 |