价值交易系统的制作方法

文档序号:6355412阅读:310来源:国知局
专利名称:价值交易系统的制作方法
技术领域
本发明涉及价值交易系统,并具体地而非仅仅涉及,最好在自动化与/或脱机情况中在价值交换中提供产品或门票等之类的交易系统。本发明还涉及包括诸如硬币机、钞票机、读卡器、售货机等互连的交易单元的系统。
为了构成交易系统而互连各种单元是众所周知的,例如将读卡器装在售货机中。为了方便这样做,存在着准许互连交易单元的各种标准。这些单元必须配置成允许用选择的公共硬件与软件标准互相通信。会希望使这一操作更容易并且在交易系统的不同单元交互作用的方式中引入更大的灵活性。也会希望降低交易系统的成本及简化系统的变更、升级及服务。
本发明的这些方面在所附权利要求中提出。
在下面描述的最佳实施例中,交易系统包括多个交易单元,其中包含一或多个下述单元硬币确认机、钞票确认机、读卡器、售货机。可以容纳在交易单元之一中的单一控制器能控制所有互连的单元。为了达到这一点,该控制器具有操作系统及存储若干可执行代码单元的存储器。(下面,名词“单元”不仅指用于很好地构成系统的分立的而且连接的部分的硬件设备,即交易单元,也指例如可控制这种硬件单元的软件程序的集合,即代码单元。)第一代码单元处理其中存储有代码的交易单元的低级操作;例如,在硬币或钞票确认机中,它处理传感器的读数及其输出的处理来确定硬币或钞票的有效性。这可以是本机代码但最好是编译的代码。它们之一可以是用于授权交易单元所进行的交易的控制模块。其它可以是各专用于控制各自的交易单元的高级任务。
最好,子单元存储以Java字节代码形式的可执行代码,而该控制器具有响应Java字节代码的执行发布指令给操作系统的Java虚拟机(JVM)。最好第一单元及各代码子单元在各自的受保护的存储器中。
通过采用这一系统,交易单元有可能是廉价的,因为由于利用公共控制器执行高级任务而它们只须处理低级任务。因为高级任务是在公共控制单元中执行的,使得任务之间的信息交换变得较简单,并且不再依赖于这些单元的互联方式。因此有可能采用简单、通用的硬件与软件互联标准,例如符合通用串行总线标准的互联。
特别希望控制器具有诸如JVM等运行时间解释程序用于执行存储在非易失性半导体存储器中的程序代码。该解释程序能确保在运行时间代码不执行非法操作,并从而强制了安全性。从而,这鼓励设计允许第三方供应软件的系统。
可有在来自控制器的信号的控制下由单个交易单元可执行的许多功能。并且存在有由交易单元发送给控制器的许多类型的报文。为了方便这一点,向与自交易单元的传输信号最好遵守简单的协议,其中包含(a)用于标识相关交易单元的标识码或地址,(b)标识要由交易单元执行的功能或命令或该单元正在报告的事件的功能码,以及可选用的(c)供交易单元在执行命令中使用或描述报告的事件的参数。
下面参照附图以示例方式描述实施本发明的装置,附图中

图1示出按照本发明的交易系统;图2示出容纳在图1的交易系统的硬币找零机内的控制器的配置;以及图3示出按照本发明的第二交易系统。
参见图1,交易系统2包含全部用单一总线12互连的单元4、6、8与10,在本实施例中该总线为通用串行总线(USB)。
交易单元4为硬币找零机,它包含用于接收、确认、存储及发放硬币的必要部件。硬币找零机4具有用于沿USB 12发送与接收信号的单元接口14。该硬币找零机4最好包含多个硬币存放器用于为找零付出目的存放各自的硬币面额。当服务人员访问该机器时,可将各管中的高度带到各自的预定浮子高度,硬币找零机4具有用于通过以浮子模式导致将各自的面额的所有插入的硬币发放到适当的找零存放器直到达到浮子高度为止,此后拒收额外的硬币,来做到这一点的过程。并且,能控制该找零机使之从硬币存放器发放硬币直到到达该浮子高度为止。
交易单元6为包含用于接收、存放及发放钞票的必要部件,并且还包含类似于硬币找零机4的那种单元接口14的钞票确认器。
交易单元8为也包含接口14的读卡器。读卡器8可进行操作从与向包含电子存储器电路与/或处理器的智能卡接收与写入信息。该读卡器8可附加地能读与写磁卡,或可以有另一单元来执行这一功能。
交易单元10为包含接口14的售货机控制器。它是容纳在售货机(未示出)中的并能响应沿USB 12接收的信号出售产品。其它单元4、6与8也可容纳在售货机中。
硬币机单元4也容纳系统控制器16。该控制器可进行操作来控制各单元4、6、8与10的操作。它可以容纳在任何其它单元中,但最好将它容纳在硬币机单元4中,因为虽然各单元在交易系统中都是可选用的,硬币机可能是必要的,并且因为硬币机(及钞票机6)执行处理器最紧张的任务。
参见图2,其中示意性地示出系统控制器16。它包括具有作为暂时存储器工作的读/写存储器(未示出)的处理器18。作为现成可购买到的标准微处理器的处理器18耦合在将代码存储在代码单元20、22、24、26、28、30、32、34、35与36中的存储装置上。
微处理器18在代码单元20构成的实时操作系统的控制下执行指令。操作系统20为多重任务操作系统,在本实施例中执行代码单元22、24与26中的代码。
代码单元22执行低级确认任务,包含从硬币机的传感器(未示出)取读数及将它们对照验收标准进行检验。单元22中的代码可以是传统代码,即已在先有技术中使用的代码。为了速度与紧凑性,代码最好是本机的,并且是编译的代码更好。
代码单元24执行内务处理任务,包含启动与接口14的通信。代码单元26为Java虚拟机。
交易单元4、6、8及14的高级操作是在各自的代码单元28、30、32与34的控制下由Java虚拟机26执行的。另一代码单元35处理整体交易控制与授权。单元28至34中各个存储Java字节代码形式的可执行代码。为了方便写入这一代码及效率,控制器单元16具有另一代码单元36,它实现应用程序员界面(API)并且也包含Java字节代码。单元36的代码表示各单元28至35可使用的Java类程。
各代码单元28、30、32、34与35构成不管任何其它代码模块的存在而独立工作的各自的代码模块。(交易代码模块35按照预定的协议从与向其它模块接收与发送信号;从而,模块的操作也依赖于其它模块执行的操作。然而,各模块能不依靠任何其它模块中的代码执行其功能。)各模块是在各自的受保护的存储区中的(最好是代码单元22与24)。因此并由于下面讨论的Java语言的特征,各自的模块内的任何应用不可能与任何其它应用干扰。存储区可用若干不同方式中任何一种保护。例如,它们可以是“一次性写入”存储器,加载软件之后便不能改变。此外,它们可以是受硬件保护的,因此物理存储器地址是由专用电路检验的以保证只对适当的软件(例如各自的区中的软件)提供访问。作为替代,操作系统20可执行对应的任务。
因此,这一装置特别适合于使各种不同的制造商利用简单与标准的硬件与软件生产单个的交易系统单元与/或这些单元的控制代码,即使该系统包含来自不同制造商的交易单元也没有任何与其它交易单元的操作干扰的重大风险。
软件模块28至35所执行的功能包括交易代码模块35它最好通过它们各自的控制模块接收来自硬币收零机4、钞票确认机6与读卡器8的存款信号及来自售货机控制器10的产品选择信息(诸如产品价格)。交易控制器比较存款与价格,并在适当时发布授权信号给代码模块34使售货机控制器10许可售货。该模块也发布信号给硬币找零机4、钞票确认机6及读卡器8指示已进行售货。这使得在它们各自的代码模块控制下能从硬币找零机4与/或钞票确认机6发放找零(并为此目的交易控制器可提供指示要发放多少找零的信号),与/或指令读卡器8的代码模块在卡上写入新的存款量(这发生在发送售货授权信号到售货控制器10之前)。
还将交易模块35布置成执行核算功能,即保持各交易单元进行的交易的记录并使这一记录可以下载到临时连接在或通过电话线远程连接在交易系统上的终端。硬币找零机代码模块28这一模块接收表示可从代码单元22接受的硬币的信号。为了代码可移植性,代码单元22可通过交易模块35与/或接口14发送信号,因此能将相同的模块28用在不将它装在硬币找零单元4内的其它系统中。代码模块28也提交表示存款量的信号给交易代码模块35。模块28也可包含在收到来自交易模块指示应发放多少找零的信号时计算在找零中付出的面额分布的算法。为此目的,可将该模块布置成接收来自硬币找零机4的表示该找零机所存放的各种面额中可获得的零钱的信号。
模块28也可用来确定上述“浮子高度”。
该模块也可发布信号给硬币找零机4用于有选择地接受特定面额。钞票确认机模块30它可布置成为钞票确认机执行与为硬币找零机4执行的模块28相同的功能。读卡器模块32可将这一模块布置成处理从读卡器接收的数据以便确定存储值,然后将其传递给交易模块35。类似地,模块35发布的任何借方指令在传递给读卡器本身之前都可由该读卡器模块32解释。
此外,可将模块32布置成响应来自读卡器的信号以便推断插入的卡的类型与/或功能性,然后发布适当的指令给读卡器。因此,这启动自动适当以便使用适当的协议来与插入的卡通信,或取决于该卡是信用卡或付款卡(debit card)来执行适当的操作等。
为了处理不同类型的卡,模块32本身可包括子模块(如用虚线所示),各子模块可能在其本身的保护存储区中,并且各为各自的类型的卡处理各自的应用。应用可根据检测到的协议选择。售货机控制模块34它从售货机控制器14接收产品选择信号,向交易控制器模块35发送产品价格值,从其接收售货授权信号并向控制器10发送产品发放信号。
也可将模块34布置成向售货机控制器10发送表示要显示在售货机的显示器上的报文的信号。
在一个最佳实施例中,单元6、8与10可以各具有存储各自的模块30、32与34的字节代码的各自的存储器。在该单元的初始化操作中将各单元中的存储器内容上载到系统控制器16中。
在另一实施例中,用恰好及时(just-in-time)(JIT)编译程序取代JVM 26。
在另一替代品中,用Java物理机(JPM)取代JVM 26、操作系统20及处理器18,在这一情况中模块22与24中的代码也是用Java字节代码构成的。
图3表示交易系统2的替代实施例,其中系统控制器16容纳在独立的控制器单元38中,而不在交易单元4、6、8与10之一中。
模块28、30、32、34与35有可能使用Java以外的语言。然而,无论使用什么语言,它最好是解释语言,以便在运行时间可施加限制来确保完整性。
具体地,语言最好结合限制,以便防止对物理地址直接访问。从而,希望保证该语言不明确地使用指针。最好该语言在运行时间检验数组存取要在界限之内,只允许合法的类型转换,以检验所有方法调用来确保方法是在正确的对象类型上调用的。
并且,一或多个单独的模块有可能包含本机的或编译的代码,或由它们构成,虽然这会消除某些上述优点。例如,模块28可以省略,它所执行的功能由单元27中的代码代替。
也希望存在鉴别过程,使得只在JVM按照一组预定的条件确定软件是可信的时,各模块的软件才运行。例如,软件可包含鉴别代码,在运行该软件之前解释程序必须认为该鉴别代码是适当的。
也可能将具有其自己的控制软件的传统交易单元耦合在按照本发明的系统上。
Java是Sun微型系统公司的商标。
权利要求
1.一种价值交易系统,包括多个交易单元及控制器,该控制器具有处理器及存储各与各自的交易单元交联的运行时间解释的代码单元的存储装置,该控制器能进行操作执行各相应代码单元的代码并对其作出响应生成控制相应的交易单元的操作的信号。
2.如权利要求1中所述的系统,还包括本机代码单元,该单元可进行操作为了确认钱款项的目的而接受及处理输入信号。
3.如权利要求1或3中所述的系统,其中将交易单元布置成处理各自的支付媒体类型。
4.如前面权利要求中任何一项中所述的系统,其中各解释的代码单元是不管其它解释的代码单元的存在而独立起作用的。
5.如权利要求4中所述的系统,包含具有在运行时间上各该解释的代码模块可访问的例程的API代码单元。
6.如前面权利要求中任何一项中所述的系统,其中该存储装置是非易失性半导体存储器。
7.一种具有微处理器系统的交易单元,包括(a)可进行操作为确认钱款项的目的而接受及处理输入信号的确认代码单元;(b)Java虚拟机;以及(c)可进行操作来为第一个提到的交易单元连接在其上的各其它交易单元执行控制功能的至少一个Java应用。
8.如权利要求7中所述的交易单元,其中该确认代码单元包括本机代码。
9.如权利要求7或8中所述的交易单元,其中该确认代码单元包括编译的代码。
10.如权利要求7、8或9中所述的交易单元,还包含可进行操作来为第一个提取的交易单元执行控制功能的另一Java应用。
11.如权利要求7至10中任何一项中所述的交易单元,其中该交易单元为硬币确认机。
12.一种包括权利要求7至11中任何一项中所述的交易单元及在所述第一个提到的交易单元中的微处理器系统控制下的至少另一个交易单元的交易系统。
13.如权利要求12中所述的交易系统,其中这些交易单元是通过串行链路互联的。
14.一种交易系统,包括多个交易单元;以及控制器,具有处理器及存储各与交易单元中各自的一个关联的各自的代码模块中的可执行代码的存储装置,该控制器耦合在交易单元上并布置成接收与发送信号自与到这些交易单元。该控制器可进行操作执行各相应代码模块中的代码,该模块中的代码是独立于其它模块中的代码起作用的,并响应从其各自的交易单元接收的指示该交易单元所执行的各自的操作的信号执行处理操作,并且该代码可进一步进行操作导致控制器生成供发送给各自的交易单元并能表示要由该交易单元执行的不同功能的控制信号。
15.如权利要求14中所述的交易系统,其中该存储装置具有另一代码模块中的可执行代码,该可执行代码响应一或多个其它代码模块中的代码所生成的表示存款的信号,并可进行操作生成售货授权信号供至少一个其它代码模块中的可执行代码使用。
16.如权利要求14或15中所述的交易系统,其中该可执行代码是运行时间解释的代码。
17.如权利要求14至16中任何一项中所述的交易系统,其中该控制器容纳在交易单元之一中。
18.如权利要求14至17中任何一项中所述的交易系统,其中各代码模块是包含在各自的受保护的存储区中的。
19.如权利要求14至18中任何一项中所述的交易系统,其中该可执行代码是Java字节代码。
20.如权利要求14至19中任何一项中所述的交易系统,其中这些交易单元是通过串行链路互联的。
21.如权利要求14至20中任何一项中所述的交易系统,其中这些交易单元包含(a)硬币机单元、(b)钞票机单元、(c)读卡机单元及(d)售货机控制单元中一或多个。
22.一种包括控制器单元的交易系统,该控制器单元包含可进行操作执行Java代码指令的处理器及至少一个交易单元,该交易单元包含用于在执行从交易单元上载的代码的处理器的控制下执行价值交易的装置。
23.如权利要求22中所述的交易系统,其中该交易系统包括多个交易单元,及该控制器单元可进行操作执行存储在各与各自的交易单元关联的各自的代码单元中的代码。
24.如权利要求23中所述的交易系统,其中这些代码单元是存储在各自的受保护的存储器中的。
25.一种组装交易系统的方法,该交易系统包括多个交易单元及具有处理器与存储装置的控制器,该存储装置用于存储各与交易单元中各自的一个关联的各自的代码模块中的可执行代码,该控制器耦合在这些交易单元中并布置成自与向这些交易单元接收与发送信号,及该控制器可进行操作执行各相应代码模块中的代码,各代码模块响应从各自的交易单元接收的指示该交易单元所执行的各自的操作的信号执行处理操作,及该代码模块可进一步进行操作导致控制器生成供发送到各自的交易单元并能表示要由该交易单元执行的不同功能的控制信号;该方法包括分开地将各自的代码模块的可执行代码加载到控制器的存储装置中。
全文摘要
一种交易系统包括多个各用于执行各自的类型的交易的交易单元。这些单元是通过串行链路互联的,并且存在着具有存储用于控制各自的单元的Java代码的各自的受保护存储区的公共控制器。
文档编号G06Q40/00GK1296234SQ0013237
公开日2001年5月23日 申请日期2000年11月10日 优先权日1999年11月10日
发明者R·D·阿伦, B·J·坎贝尔 申请人:马尔斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1