本发明涉及对打印数据进行处理的打印数据处理系统、能够在该打印数据处理系统中使用的信息处理装置、以及能够在该打印数据处理系统中使用的打印装置。
背景技术:
以往,公知有一种1个装置与其他装置经由网络连接,该1个装置基于由规定的单元取得的设定信息,来将分发对象的数据经由网络发送给作为分发目的地的上述其他装置的系统(例如,专利文献1)。
另外,以往公知有一种复合机从经由网络而连接的服务器接收内容的系统(例如,专利文献2)。在专利文献2中,提出了一种在上述系统中,能够高速进行基于来自复合机所具备的面板的指示的抽拉打印(pull-print)的技术。
专利文献1:日本特开2004-214731号公报
专利文献2:日本特开2007-135047号公报
这里,对于与上述的系统同样地将发送打印数据的打印数据分发装置、与从打印数据分发装置接收打印数据的信息处理装置经由网络连接的打印数据处理系统而言,在成为将多个打印数据分发装置与信息处理装置连接的构成的情况下,存在想要进行与该构成对应的处理,使得信息处理装置能够从打印数据分发装置高效地接收打印数据的需求。然而,在以往的打印数据处理系统中,存在信息处理装置难以从打印数据分发装置高效地接收打印数据这一技术问题。
另外,存在在打印数据分发装置成为能够发送打印数据的状态之后,能够尽量不产生时滞地由信息处理装置接收打印数据的需求,但在以往的打印数据处理系统中,存在在打印数据分发装置成为能够发送打印数据的状态之后产生时滞这一技术问题。
另外,在构成为将1个或者多个打印设备与信息处理装置连接,信息处理装置将从打印数据分发装置接收到的打印数据输出给打印设备的情况下,存在以下的需求。即,虽然存在信息处理装置在将从打印数据分发装置接收到的打印数据发送给1个打印设备时,想要按照从打印数据分发装置接收的顺序向该1个打印设备发送打印数据的需求,但存在难以满足该需求这一技术问题。
技术实现要素:
本发明为了解决上述技术问题的至少一部分而提出,能够作为以下的方式或者应用例来实现。
[应用例]本应用例涉及的打印数据处理系统具备:多个打印数据分发装置、和从多个所述打印数据分发装置接收打印数据的信息处理装置,所述信息处理装置根据多个所述打印数据分发装置将接收用处理部起动,各所述接收用处理部向对应的所述打印数据分发装置询问所述打印数据的有无,当所述打印数据分发装置中存在所述打印数据时进行接收,将接收到的所述打印数据保存到共享的存储区域。
根据本应用例,信息处理装置根据多个打印数据分发装置来将多个接收用处理部,各接收用处理部向打印数据分发装置询问打印数据的有无,当打印数据分发装置中存在打印数据时进行接收,将接收到的打印数据保存到共享的存储区域。因此,接收用处理部能够不对其他接收用处理部的处理造成影响,另外,不对其他接收用处理部的处理造成影响而独立地从对应的打印数据分发装置接收打印数据,信息处理装置能够通过连接了多个打印数据分发装置的结构进行高效的打印数据的接收。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述接收用处理部在将从所述打印数据分发装置接收到的所述打印数据保存到所述存储区域时,禁止其他所述接收用处理部向所述存储区域保存所述打印数据。
根据该结构,能够防止由对应的接收用处理部从1个打印数据分发装置接收到的打印数据、与由对应的接收用处理部从其他打印数据分发装置接收到的打印数据以混合存在的状态被保存于存储区域,另外,能够将打印数据以接收到的顺序保存于存储区域。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述接收用处理部每隔规定时间进行所述打印数据的询问,能够按每个所述接收用处理部设定所述规定时间的值。
根据该结构,能够按照越是针对分发优先等级高、被要求迅速处理的打印数据的打印数据分发装置的询问,则间隔越小等的方式,根据系统的式样、需求来设定针对各打印数据分发装置的询问的间隔。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置与外部装置连接,将所述存储区域中保存的所述打印数据中的包含所述外部装置的识别信息的所述打印数据分发给所述外部装置。
根据该结构,信息处理装置能够将从打印数据分发装置接收到的打印数据发送给对应的外部装置。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置具有基于所述打印数据来进行打印的打印部,由所述打印部基于所述存储区域中保存的所述打印数据中的包含所述信息处理装置的识别信息的所述打印数据来进行打印。
根据该结构,信息处理装置能够基于从打印数据分发装置接收到的打印数据来进行打印。
本应用例涉及的信息处理装置按所连接的每个外部设备起动接收用处理部,该接收用处理部向所述外部设备询问打印数据的有无,当所述外部设备中存在所述打印数据时进行接收,将接收到的所述打印数据保存到共享的存储区域。
根据该结构,在对信息处理装置连接多个作为外部设备的打印数据分发装置而构建了打印数据处理系统的情况下,信息处理装置通过连接了多个打印数据分发装置的结构能够进行高效的打印数据的接收。
本应用例涉及的打印装置具有基于打印数据来进行打印的打印部,按所连接的每个外部设备起动接收用处理部,该接收用处理部向所述外部设备询问所述打印数据的有无,当所述外部设备中存在所述打印数据时进行接收,将接收到的所述打印数据保存到共享的存储区域。
根据该结构,在对作为信息处理装置的打印装置连接多个作为外部设备的打印数据分发装置而构建了打印数据处理系统的情况下,打印装置能够通过连接了多个打印数据分发装置的构成来进行高效的打印数据的接收。
本应用例涉及的打印数据处理系统具备与所述信息处理装置连接的打印设备,所述信息处理装置具有管理部,该管理部基于所述存储区域中保存的所述打印数据所含的识别信息来起动与该识别信息对应的输出用处理部,所述输出用处理部将所述存储区域中保存的所述打印数据以接收到的顺序读出,并将包含与所述输出用处理部对应的识别信息的所述打印数据输出给所述打印设备。
根据该结构,在信息处理装置中,基于存储区域中保存的打印数据所含的识别信息来起动与识别信息对应的输出用处理部,输出用处理部将存储区域中保存的打印数据中的包含对应的识别信息的打印数据以接收到的顺序读出,并输出给对应的识别信息的打印设备。由此,输出用处理部针对对应的打印设备以接收到的顺序发送打印数据,信息处理装置在将从打印数据分发装置接收到的打印数据发送给打印设备的情况下,能够按照从打印数据分发装置接收到的顺序进行发送。
在上述应用例涉及的打印数据处理系统中,在不存在与所述打印数据所含的识别信息对应的所述输出用处理部的情况下,所述信息处理装置的所述管理部重新起动所述输出用处理部,在存在与所述打印数据所含的识别信息对应的所述输出用处理部的情况下,所述信息处理装置的所述管理部不起动所述输出用处理部。
根据该结构,能够防止与1个打印设备对应地重复起动多个输出用处理部。
在上述应用例涉及的打印数据处理系统中,在所述存储区域中没有是包含与所述输出用处理部对应的识别信息的所述打印数据且未读出的所述打印数据的情况下,所述信息处理装置的所述输出用处理部停止。
根据该结构,对1个输出用处理部而言,在打印数据从存储区域的读出结束而不需要该1个输出用处理部的处理的情况下,能够抑制针对该1个输出用处理部维持被不必要地起动的状态。
在上述应用例涉及的打印数据处理系统中,所述打印数据中包含所述打印设备的识别信息或者所述信息处理装置的识别信息,所述信息处理装置具有打印部、和基于所述打印数据来控制所述打印部的打印控制部,在由所述接收用处理部将包含所述信息处理装置的识别信息的所述打印数据已保存到所述存储区域的情况下,所述信息处理装置的所述管理部将与所述信息处理装置的识别信息对应的所述输出用处理部起动,与所述信息处理装置的识别信息对应的所述输出用处理部,以接收到的顺序读出所述存储区域中保存的所述打印数据,将包含所述信息处理装置的识别信息的所述打印数据输出给所述打印控制部。
根据该结构,信息处理装置能够针对自身应该处理的打印数据以接收到的顺序进行处理而执行打印。
在上述应用例涉及的信息处理装置中,所述信息处理装置具有管理部,该管理部基于所述存储区域中保存的所述打印数据所含的外部装置的识别信息,来起动与识别信息对应的输出用处理部,所述输出用处理部以接收到的顺序读出所述存储区域中保存的所述打印数据,将包含与所述输出用处理部对应的识别信息的所述打印数据输出给所述外部装置。
根据该结构,在对信息处理装置连接作为外部装置的打印设备而构建了打印处理系统的情况下,信息处理装置能够将打印数据以接收到的顺序发送给打印设备。
在上述应用例涉及的打印装置中,所述打印装置具有基于打印数据来控制所述打印部的打印控制部和管理部,该管理部基于所述存储区域中保存的所述打印数据所含的外部装置的识别信息或者本装置的识别信息来起动与识别信息对应的输出用处理部,与所述外部装置的识别信息对应的所述输出用处理部,以接收到的顺序读出所述存储区域中保存的所述打印数据,将包含与所述外部装置的识别信息对应的所述输出用处理部所对应的识别信息的所述打印数据输出给所述外部装置,与所述本装置的识别信息对应的所述输出用处理部,以接收到的顺序读出所述存储区域中保存的所述打印数据,将包含与所述本装置的识别信息对应的所述输出用处理部所对应的识别信息的所述打印数据输出给所述打印控制部。
根据该结构,在对作为信息处理装置的打印装置连接作为外部装置的打印设备而构建了打印处理系统的情况下,信息处理装置能够将打印设备应该处理的打印数据以接收到的顺序发送给打印设备,另外,能够对信息处理装置应该处理的打印数据以接收到的顺序进行处理来执行打印。
上述应用例涉及的打印数据处理系统具备与所述信息处理装置连接的打印设备,所述信息处理装置具有管理部,该管理部基于所述存储区域中保存的所述打印数据所含的识别信息来起动与识别信息对应的输出用处理部,所述管理部以接收到的顺序读出所述存储区域中保存的所述打印数据,将读出的所述打印数据输出给与读出的所述打印数据所含的识别信息对应的所述输出用处理部,所述输出用处理部将从所述管理部输入的所述打印数据输出给对应的识别信息的所述打印设备。
根据该结构,在信息处理装置中,由管理部基于存储区域中保存的打印数据所含的识别信息来起动与识别信息对应的输出用处理部,管理部以接收到的顺序读出存储区域中保存的打印数据,将读出的打印数据输出给与读出的打印数据所含的识别信息对应的输出用处理部,输出用处理部将从管理部输入的打印数据输出给对应的识别信息的打印设备。由此,输出用处理部针对对应的打印设备以接收到的顺序发送打印数据,信息处理装置在将从打印数据分发装置接收到的打印数据发送给打印设备的情况下,能够以从打印数据分发装置接收到的顺序进行发送。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述管理部在从向与一个识别信息对应的所述输出用处理部输出所述打印数据起到基于输出了的所述打印数据的所述打印设备的处理结束为止的期间,不向与该一个识别信息对应的所述输出用处理部输出下一个所述打印数据。
根据该结构,管理部针对输出用处理部,能够在基于打印数据的打印结束之后,发送下一个打印数据。
在上述应用例涉及的信息处理装置中,所述信息处理装置具有管理部,该管理部基于所述存储区域中保存的所述打印数据所含的外部装置的识别信息来起动与识别信息对应的输出用处理部,所述管理部以接收到的顺序读出所述存储区域中保存的所述打印数据,将所述打印数据输出给与读出的所述打印数据所含的识别信息对应的所述输出用处理部,所述输出用处理部将从所述管理部输入的所述打印数据输出给对应的识别信息的所述外部装置。
根据该结构,在对信息处理装置连接作为外部装置的打印设备而构建了打印处理系统的情况下,信息处理装置能够将打印数据以接收到的顺序发送给打印设备。
在上述应用例涉及的打印装置中,所述打印装置具有基于所述打印数据来控制所述打印部的打印控制部和管理部,该管理部基于所述存储区域中保存的所述打印数据所含的外部装置的识别信息或者本装置的识别信息来起动与识别信息对应的输出用处理部,所述管理部以接收到的顺序读出所述存储区域中保存的所述打印数据,将所述打印数据输出给与读出的所述打印数据所含的识别信息对应的所述输出用处理部,与所述外部装置的识别信息对应的所述输出用处理部,将从所述管理部输入的所述打印数据输出给对应的识别信息的所述外部装置,与所述本装置的识别信息对应的所述输出用处理部,将从所述管理部输入的所述打印数据输出给所述打印控制部。
根据该结构,在对作为信息处理装置的打印装置连接作为外部装置的打印设备而构建了打印处理系统的情况下,信息处理装置能够以接收到的顺序将打印设备应该处理的打印数据发送给打印设备,另外,能够以接收到的顺序对信息处理装置应该处理的打印数据进行处理来执行打印。
上述应用例涉及的信息处理装置的所述接收用处理部与基于接收到的所述打印数据的打印是否结束无关地,空开规定的间隔向所述打印数据分发装置询问所述打印数据的有无,在针对该询问的响应表示存在所述打印数据的情况下,所述信息处理装置的接收用处理部执行对所述打印数据分发装置请求所述打印数据的发送并接收所述打印数据的第一处理。
根据该结构,信息处理装置与基于接收到的打印数据的打印是否结束无关地向打印数据分发装置询问打印数据的有无,在有打印数据的情况下进行接收。因此,信息处理装置能够与基于打印数据的处理的状况无关地询问打印数据的有无,能够缩短在打印数据分发装置变得能够发送打印数据之后到信息处理装置接收打印数据为止所产生的时间。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述接收用处理部在基于接收到的所述打印数据的打印结束的情况下,将通知该情况的打印结束通知发送给所述打印数据分发装置,所述打印数据分发装置在接收到所述打印结束通知的情况下,将对应的所述打印数据与表示打印结束的信息建立对应地进行存储,另外,在从所述信息处理装置有所述打印数据的有无的询问的情况下,当存在不处于与表示打印结束的信息建立了对应的状态的所述打印数据时,发送表示存在所述打印数据的响应,所述信息处理装置的所述接收用处理部在从所述打印数据分发装置接收到表示存在所述打印数据的响应的情况下,对所述打印数据分发装置请求所述打印数据的发送并接收所述打印数据,在将新接收到的所述打印数据与之前接收到的所述打印数据进行比较而数据一致的情况下,将新接收到的所述打印数据废弃。
根据该结构,打印数据分发装置在有打印数据的询问的情况下,将未接收打印结束通知的打印数据发送给信息处理装置。因此,打印数据分发装置有可能重复发送相同的打印数据。信息处理装置在接收到打印数据的情况下,由于当新接收到的打印数据与之前接收到的打印数据一致时,将新接收到的打印数据废弃,所以能够防止基于重复接收到的打印数据来重复执行处理。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述接收用处理部根据将所述打印数据废弃的频度来使询问所述打印数据的有无的间隔变化。
根据该结构,在与基于打印数据的打印所需要的时间相比,询问打印数据的间隔较短、处于打印数据被频繁废弃的状态的情况下,能够对间隔进行调整来消除该状态。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述接收用处理部将接收到的所述打印数据保存到规定的存储区域,根据所述存储区域的状态来使询问所述打印数据的有无的间隔变化。
根据该结构,能够根据存储区域的空闲区域的状态等存储区域的状态,来调整询问打印数据的时间,能够抑制溢出的发生等。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置的所述接收用处理部能够执行在从接收到所述打印数据起到基于所述打印数据的打印结束为止的期间,不进行所述打印数据的有无的询问,在打印结束之后进行询问的第二处理,能够对所述第一处理和所述第二处理进行切换。
根据该结构,能够根据打印数据处理系统的式样等来切换第一处理和第二处理。
上述应用例涉及的打印数据处理系统具备与所述信息处理装置进行通信的打印设备,所述信息处理装置具有将接收到的所述打印数据发送给所述打印设备的输出部,所述信息处理装置的所述接收用处理部与基于接收到的所述打印数据的由所述打印设备进行的打印是否结束无关地空开规定的间隔向所述打印数据分发装置询问所述打印数据的有无。
根据该结构,由于信息处理装置与所连接的打印设备的处理的状况无关地向打印数据分发装置询问打印数据的有无,所以能够缩短在打印数据分发装置变为能够发送打印数据之后到信息处理装置接收打印数据为止所产生的时间。
在上述应用例涉及的打印数据处理系统中,所述信息处理装置具有基于所述打印数据来进行打印的打印部,所述信息处理装置的所述接收用处理部与基于接收到的所述打印数据的由所述打印部进行的打印是否结束无关地空开规定的间隔向所述打印数据分发装置询问所述打印数据的有无。
根据该结构,由于信息处理装置与打印部的处理的状况无关地向打印数据分发装置询问打印数据的有无,所以能够缩短在打印数据分发装置变为能够发送打印数据之后到信息处理装置接收打印数据为止所产生的时间。
在上述应用例涉及的信息处理装置中,与基于从所述外部设备接收到的打印数据的打印是否结束无关地,所述信息处理装置空开规定的间隔向所述外部设备装置询问所述打印数据的有无,在针对该询问的响应表示存在所述打印数据的情况下,所述信息处理装置对所述外部设备请求所述打印数据的发送并接收所述打印数据。
根据该结构,在将信息处理装置连接于与打印数据分发装置对应的外部装置的情况下,信息处理装置与基于接收到的打印数据的打印是否结束无关地向外部装置询问打印数据的有无,在有打印数据的情况下进行接收。因此,信息处理装置能够与基于打印数据的处理的状况无关地询问打印数据的有无,能够缩短在外部装置变为能够发送打印数据之后到信息处理装置接收打印数据为止所产生的时间。
上述应用例涉及的打印装置具有接收用处理部,与基于从所述外部设备接收到的所述打印数据的由所述打印部进行的打印是否结束无关地,该接收用处理部空开规定的间隔向所述外部设备询问所述打印数据的有无,在针对该询问的响应表示存在所述打印数据的情况下,该接收用处理部向所述外部设备请求所述打印数据的发送并接收所述打印数据。
根据该结构,在将与信息处理装置对应的打印装置连接于与打印数据分发装置对应的外部装置的情况下,打印装置与基于接收到的打印数据的打印是否结束无关地向外部装置询问打印数据的有无,在有打印数据的情况下进行接收。因此,打印装置能够与基于打印数据的处理的状况无关地询问打印数据的有无,能够缩短在外部装置变得能够发送打印数据之后到打印装置接收打印数据为止所产生的时间。
附图说明
图1是表示本实施方式涉及的打印数据处理系统的结构的图。
图2是打印数据处理系统的网络图。
图3是构成打印数据处理系统的装置的功能框图。
图4是构成打印数据处理系统的装置的功能框图。
图5是控制打印机的主要部分的功能框图。
图6是表示用户接口的图。
图7(A)表示控制打印机的动作,(B)是表示打印数据分发服务器的动作的流程图。
图8(A)、(B)表示控制打印机的动作,(C)是表示第一打印机的动作的流程图。
图9是表示控制打印机的动作的流程图。
图10是表示控制打印机的动作的流程图。
图11是打印数据处理系统的网络图。
图12是构成打印数据处理系统的装置的功能框图。
图13是构成打印数据处理系统的装置的功能框图。
图14是表示打印数据保存数据库的数据结构的图。
图15是控制打印机的主要部分的功能框图。
图16是表示用户接口的图。
图17是表示执行非同步处理的情况的控制打印机的动作的流程图。
图18(A)表示执行非同步处理的情况的控制打印机的动作,(B)是表示打印数据分发服务器的动作的流程图。
图19(A)表示执行非同步处理的情况的控制打印机的动作,(B)是表示打印数据分发服务器的动作的流程图。
图20(A)表示执行同步处理的情况的控制打印机的动作,(B)是表示打印数据分发服务器的动作的流程图。
图21(A)、(B)表示控制打印机的动作,(C)是表示第一打印机的动作的流程图。
图22是表示控制打印机的动作的流程图。
图23是表示控制打印机的动作的流程图。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
图1是表示本实施方式涉及的打印数据处理系统1的一部分式样形态的一个例子的图。
图1示意性地表示在对到店的顾客提供饮料、以及食物的饮食店T中应用了打印数据处理系统1(参照图2、图3。)的情况。
图1所示的饮食店T被分为大厅T1、厨房T2。
大厅T1是到店的顾客进行滞留,由大厅T1的担当者(以下称为“大厅担当者”)向顾客提供饮料的提供等服务的区域。在大厅T1中,设有能够载置饭菜等的多个桌子TB,与各桌子TB对应地设有顾客能够就座的椅子CH。
对大厅担当者预先赋予受理来自顾客的点餐时所使用的平板终端10(参照图2、图3。)。在大厅T1中,当受理来自顾客的点餐时,大厅担当者来到顾客的附近,倾听顾客的点餐,并在平板终端10上进行与点餐对应的输入。对于平板终端10的结构、以及处理将后述。
另外,在大厅T1中,在出入口DG的附近设有顾客进行结账的结账柜台LC。在结账柜台LC设有作为能够发行收据的打印机的控制打印机SP(信息处理装置、打印装置)、和作为能够发行收据的打印机的第一打印机KP1(打印设备)。在结账柜台LC,与控制打印机SP、以及第一打印机KP1分别对应地设有第一POS终端PT1、和第二POS终端PT2。在结账柜台LC,大厅担当者根据顾客的结账来对第一POS终端PT1或者第二POS终端PT2进行与结账对应的输入。根据大厅担当者的与结账对应的输入,从控制打印机SP或者第一打印机KP1发行打印有与结账有关的信息的收据。大厅担当者将由控制打印机SP或者第一打印机KP1发行的收据递给顾客。对于控制打印机SP、第一打印机KP1、第一POS终端PT1、以及第二POS终端PT2的结构以及处理将后述。
厨房T2是厨房T2的担当者(以下称为“厨房担当者”)制作饮料、食物(以下通称为“饮食物”)的区域,设有饮料吧、燃气灶、冰箱等。在厨房T2设有第二打印机KP2(打印设备)、以及第三打印机KP3(打印设备)。在大厅担当者根据顾客的点餐而对平板终端10进行了与点餐对应的输入的情况下,从第二打印机KP2或者第三打印机KP3发行打印有与所点的饮食物有关的信息的点餐传票。与饮食物有关的信息是表示所点的饮食物的种类、所点的饮食物的数量的信息。厨房担当者参照第二打印机KP2或者第三打印机KP3发行的点餐传票,来制作顾客点的饮食物。对于第二打印机KP2及第三打印机KP3的结构、以及处理将后述。
图2是本实施方式涉及的打印数据处理系统1的网络图。
如图2所示,打印数据处理系统1所具备的控制打印机SP与包括因特网、电话网等网络的广域网WN连接。
另外,赋予给大厅担当者的平板终端10与广域网WN连接。
另外,打印数据处理系统1具备第一打印数据分发服务器SV1(打印数据分发装置)、第二打印数据分发服务器SV2(打印数据分发装置)、以及第三打印数据分发服务器SV3(打印数据分发装置)。以下,在不区分地表现第一打印数据分发服务器SV1、第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3的情况下,表现为“打印数据分发服务器SV”。多个打印数据分发服务器SV与广域网WN连接。
控制打印机SP、平板终端10、以及打印数据分发服务器SV能够分别经由广域网WN而相互通信。
如图2所示,控制打印机SP与遵照以太网(注册商标)的局域网LN连接。第一打印机KP1、第二打印机KP2、以及第三打印机KP3与局域网LN连接。控制打印机SP、第一打印机KP1、第二打印机KP2、以及第三打印机KP3分别能够经由局域网LN而相互通信。
图3是表示第一打印数据分发服务器SV1、第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3、平板终端10、第一POS终端PT1、以及第二POS终端PT2的功能性结构的框图。
如图3所示,第一打印数据分发服务器SV1具备第一服务器控制部201、第一服务器通信部211、和第一服务器存储部221。
第一服务器控制部201具备CPU、ROM、RAM等,对第一打印数据分发服务器SV1进行控制。
第一服务器通信部211在第一服务器控制部201的控制下,按照规定的通信标准,与连接于广域网WN的其他设备进行通信。
第一服务器存储部221具备非易失性存储器,对数据进行存储。
第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3的结构与第一打印数据分发服务器SV1的结构同样。第二打印数据分发服务器SV2具备第二服务器控制部202、第二服务器通信部212、和第二服务器存储部222。第三打印数据分发服务器SV3具备第三服务器控制部203、第三服务器通信部213、和第三服务器存储部223。
在本实施方式中,第一打印数据分发服务器SV1、第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3分别是独立的服务器装置。然而,并不一定需要是该结构,例如也可以是对应于打印数据分发服务器SV而在1台服务器装置中安装服务器软件,由1台服务器装置作为第一打印数据分发服务器SV1、第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3发挥功能的结构。
平板终端10是在前面设有触摸面板31的平板型的便携计算机。
如图3所示,平板终端10具备终端控制部30、触摸面板31、终端存储部32、和终端通信部33。
终端控制部30具备CPU、ROM、RAM等,对平板终端10进行控制。终端控制部30具有应用程序执行部30a作为功能模块。关于应用程序执行部30a的功能将后述。
触摸面板31具备显示面板31a、和触摸传感器31b。显示面板31a具备液晶显示面板、或有机EL显示面板等,在终端控制部30的控制下显示图像。触摸传感器31b被重叠配置于显示面板31a,检测用户(在本例中为大厅担当者。)的触摸操作,并输出至终端控制部30。
终端存储部32具备非易失性存储器,对数据进行存储。
终端通信部33在终端控制部30的控制下,按照规定的通信标准来与连接于广域网WN的其他设备进行通信。
第一POS终端PT1、以及第二POS终端PT2是具有以下功能的计算机。第一POS终端PT1、以及第二POS终端PT2具备与连接于广域网WN的其他设备进行通信的功能。另外,第一POS终端PT1、以及第二POS终端PT2具备受理与结账对应的输入,并基于输入来生成与结账有关的信息的功能。
图4是表示控制打印机SP、第一打印机KP1、第二打印机KP2、以及第三打印机KP3的功能性结构的框图。
控制打印机SP、第一打印机KP1、第二打印机KP2、以及第三打印机KP3是热敏式的打印机。
如图4所示,控制打印机SP具备控制打印机控制部40、控制打印机打印部41(打印部)、控制打印机存储部42、广域网通信部43、和局域网通信部44。
控制打印机控制部40具备CPU、ROM、RAM等,对控制打印机SP进行控制。控制打印机控制部40具备接收部40a、输出部40b、和打印控制部40c作为功能模块。关于这些功能模块将后述。
控制打印机打印部41具备收容感热卷轴式纸的收容部、对被收容在收容部的感热卷轴式纸进行搬运的搬运部、在被搬运部搬运的感热卷轴式纸形成点的热敏式头、和将感热卷轴式纸切断的切断部。
控制打印机存储部42具备非易失性存储器,对数据进行存储。
广域网通信部43在控制打印机控制部40的控制下,按照规定的通信标准与连接于广域网WN的其他设备进行通信。
局域网通信部44在控制打印机控制部40的控制下,按照规定的通信标准,与连接于局域网LN的第一打印机KP1、第二打印机KP2、以及第三打印机KP3进行通信。
第一打印机KP1具备第一控制部501、第一通信部511、和第一打印部521。
第一控制部501具备CPU、ROM、RAM等,对第一打印机KP1进行控制。
第一通信部511在第一控制部501的控制下,按照规定的通信标准,与连接于局域网LN的控制打印机SP进行通信。
第一打印部521具备收容感热卷轴式纸的收容部、对被收容在收容部的感热卷轴式纸进行搬运的搬运部、在被搬运部搬运的感热卷轴式纸形成点的热敏式头、和将感热卷轴式纸切断的切断部。
第二打印机KP2、以及第三打印机KP3的构成与第一打印机KP1的构成同样。第二打印机KP2具备第二控制部502、第二通信部512、和第二打印部522。第三打印机KP3具备第三控制部503、第三通信部513、和第三打印部523。
在以下的说明中,当不区分表现第一打印机KP1、第二打印机KP2、以及第三打印机KP3时,表现为“打印机KP”。
接下来,对用户(在本例中为大厅担当者)根据顾客的结账而对第一POS终端PT1进行了与结账对应的输入的情况的第一POS终端PT1、以及第一打印数据分发服务器SV1的动作进行说明。
第一POS终端PT1在有与结账对应的输入的情况下,基于输入来生成与结账相关的信息(以下称为“结账相关信息”)。结账相关信息包括顾客点的饮食物的名称、单价、点餐数量、合计支付金额、找零、与税相关的信息等被打印于收据的信息。即第一POS终端PT1进行结账,每当确定结账时便生成结账相关信息。
接下来,第一POS终端PT1将生成的结账相关信息、以及控制打印机SP的识别信息发送给第一打印数据分发服务器SV1。控制打印机SP的识别信息是在控制打印机SP的制造阶段对控制打印机SP分配的序列号等对控制打印机SP进行识别的信息。如上所述,在对第一POS终端PT1进行了与结账对应的输入的情况下,由控制打印机SP发行对应的收据。第一POS终端PT1在发送结账相关信息的情况下,将发行打印有结账相关信息的收据的打印机(在本例中为控制打印机SP)的识别信息与结账相关信息一同发送。其中,第一打印数据分发服务器SV1的地址、通信所使用的各种协议、发送的数据的格式等第一POS终端PT1为了与第一打印数据分发服务器SV1进行通信所需的信息处于被预先登记在第一POS终端PT1的状态。第一POS终端PT1与第一打印数据分发服务器SV1之间建立遵照规定的通信标准的联系(connection),利用联系来发送结账相关信息。
第一打印数据分发服务器SV1的第一服务器控制部201对第一服务器通信部211进行控制,来接收结账相关信息、以及控制打印机SP的识别信息。
接下来,第一服务器控制部201基于接收到的结账相关信息、以及控制打印机SP的识别信息,来生成收据打印数据(打印数据),并存储到第一服务器存储部221。
收据打印数据是指示发行打印有结账相关信息的收据的XML(Extensible Markup Language)文件。收据打印数据按照XML的协议,记述执行打印的打印机的识别信息、结账相关信息、与对结账相关信息所含的信息进行打印的位置相关的信息等必要的信息。
这样,第一打印数据分发服务器SV1在从第一POS终端PT1接收到结账相关信息的情况下,基于结账相关信息来生成收据打印数据并进行存储。
用户(在本例中为大厅担当者)根据顾客的结账对第二POS终端PT2进行了与结账对应的输入的情况的第二POS终端PT2、以及第一打印数据分发服务器SV1的动作也同样。
即,第二POS终端PT2根据结账来生成结账相关信息,将生成的结账相关信息、和作为发行收据的打印机的第一打印机KP1的识别信息发送给第一打印数据分发服务器SV1。第一打印数据分发服务器SV1基于接收到的结账相关信息、以及第一打印机KP1的识别信息来生成收据打印数据,并存储到第一服务器存储部221。收据打印数据中包括第一打印机KP1的识别信息。
综上所述,第一POS终端PT1、以及第二POS终端PT2根据结账来生成结账相关信息,并发送给第一打印数据分发服务器SV1。
其中,对于第一服务器存储部221中存储的收据打印数据的利用方法将后述。
接下来,对用户(在本例中为大厅担当者)对平板终端10进行了与顾客的点餐对应的输入的情况的平板终端10、第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3的动作进行说明。
在本实施方式中,对多个大厅担当者赋予多个平板终端10。平板终端10中被预先安装了专用的应用程序AP。大厅担当者在倾听顾客的点餐之前,将应用程序AP起动。
平板终端10的终端控制部30的应用程序执行部30a是通过CPU等硬件资源读出并执行应用程序AP来实现其功能的功能模块。
平板终端10的终端控制部30的应用程序执行部30a将用户进行与点餐对应的输入的用户接口(以下称为“点餐UI”)显示于显示面板31a。点餐UI设有选择顾客所点的饮食物的区域、选择所点的饮食物的数量的区域,用户能够对触摸面板31进行触摸操作来输入顾客所点的饮食物、以及数量。
在点餐UI有与点餐对应的输入的情况下,应用程序执行部30a基于输入来生成与点餐相关的信息(以下称为“点餐相关信息”)。点餐相关信息至少包括针对顾客所点的1个或者多个饮食物表示饮食物的名称的信息、和点餐数量。
接下来,应用程序执行部30a将所生成的点餐相关信息、以及基于点餐相关信息来发行点餐传票的打印机的识别信息发送给第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3中的预先设定的一个打印数据分发服务器SV。
这里,应用程序执行部30a基于点餐相关信息的内容,来决定使第二打印机KP2、以及第三打印机KP3的哪一个发行点餐传票。应用程序执行部30a将所决定的打印机的识别信息与点餐相关信息一同进行发送。此外,也可以是按每个平板终端10预先决定了发行点餐传票的打印机的结构,另外,还可以是由规定的单元取得打印机的状态,并根据打印机的状态来决定发行点餐传票的打印机的结构。
另外,在本实施方式中,按每个平板终端10预先设定了将所生成的点餐相关信息发送给第二打印数据分发服务器SV2、以及第三打印数据分发服务器SV3中的哪一个。而且,在平板终端10中预先登记了为了与所设定的打印数据分发服务器SV进行通信所需的信息(地址等)。
在所设定的打印数据分发服务器SV是第二打印数据分发服务器SV2的情况下,第二服务器控制部202对第二服务器通信部212进行控制,来接收平板终端10发送的点餐相关信息、以及打印机的识别信息。
接下来,第二服务器控制部202基于接收到的点餐相关信息、以及打印机的识别信息,来生成点餐传票打印数据(打印数据),并存储到第二服务器存储部222。
点餐传票打印数据是指示发行打印有点餐相关信息的点餐传票的XML文件。点餐传票打印数据根据XML的协议,记述发行点餐传票的打印机的识别信息、点餐相关信息、与对点餐相关信息所含的信息进行打印的位置相关的信息等必要的信息。
这样,第二打印数据分发服务器SV2在从平板终端10接收到点餐相关信息的情况下,基于点餐相关信息来生成点餐传票打印数据并进行存储。
在所设定的打印数据分发服务器SV是第三打印数据分发服务器SV3、第三打印数据分发服务器SV3从平板终端10接收到点餐相关信息的情况下,也由第三打印数据分发服务器SV3进行同样的处理。即,第三打印数据分发服务器SV3基于接收的点餐相关信息、以及打印机的识别信息来生成点餐传票打印数据,并存储到第三服务器存储部223。
在以下的说明中,当不对收据打印数据、以及点餐传票打印数据区别表现时,表现为“打印数据”。打印数据是XML文件。
接下来,对控制打印机SP的控制打印机控制部40所具备的功能模块详细进行说明。
图5是详细表示控制打印机控制部40的结构的图。
如图5所示,控制打印机控制部40具备接收部40a、输出部40b、和打印控制部40c作为功能模块。
接收部40a具备第一接收用处理部JS1(接收用处理部)、第二接收用处理部JS2(接收用处理部)、和第三接收用处理部JS3(接收用处理部)。
在本实施方式中,控制打印机SP在因电源接通或复位而起动时,作为任务(也可以是线程或者进程。),起动第一接收用任务、第二接收用任务、以及第三接收用任务。而且,第一接收用处理部JS1是进行基于CPU对第一接收用任务的执行的处理的功能模块。
另外,第二接收用处理部JS2是进行基于CPU对第二接收用任务的执行的处理的功能模块。另外,第三接收用处理部JS3是进行基于CPU对第三接收用任务的执行的处理的功能模块。即,第一接收用处理部JS1、第二接收用处理部JS2、以及第三接收用处理部JS3在控制打印机SP起动时起动。关于第一接收用处理部JS1、第二接收用处理部JS2、以及第三接收用处理部JS3执行的处理将后述。
以下,在不区分第一接收用处理部JS1、第二接收用处理部JS2、以及第三接收用处理部JS3的情况下,表现为“接收用处理部JS”。
如图5所示,输出部40b具备管理部KB、第一输出用处理部SS1(输出用处理部)、第二输出用处理部SS2(输出用处理部)、第三输出用处理部SS3(输出用处理部)、和打印输出用处理部SS4(输出用处理部)。
管理部KB是与在控制打印机SP被起动时起动的管理任务对应的功能模块。即,管理部KB进行基于CPU对管理任务的执行的处理。如后所述,管理部KB在规定的条件成立的情况下,作为任务(也可以是线程或者进程。),起动第一输出用任务、第二输出用任务、第三输出用任务或者打印输出用任务。而且,第一输出用处理部SS1是进行基于CPU对第一输出用任务的执行的处理的功能模块。另外,第二输出用处理部SS2是进行基于CPU对第二输出用任务的执行的处理的功能模块。另外,第三输出用处理部SS3是进行基于CPU对第三输出用任务的执行的处理的功能模块。另外,打印输出用处理部SS4是进行基于CPU对打印输出用任务的执行的处理的功能模块。关于管理部KB、第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、以及打印输出用处理部SS4执行的处理将后述。
以下,在不区分第一输出用处理部SS1、第二输出用处理部SS2、以及第三输出用处理部SS3的情况下表现为“发送处理部S”。另外,在不区分第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、以及打印输出用处理部SS4的情况下表现为“输出用处理部SS”。
接收部40a所具备的功能模块、以及输出部40b所具备的功能模块能够对打印队列Q(存储区域)写入数据,另外,能够读出被写入到打印队列Q的数据。
打印队列Q是在RAM等暂时存储区域的工作区域形成的缓冲器。
打印控制部40c在后述的规定的情况下被输入打印数据。打印控制部40c将被输入的打印数据(XML文件)转换成遵照控制打印机打印部41的指令体系的控制指令,并基于控制指令来使控制打印机打印部41执行处理。
接下来,对控制打印机SP的设定进行说明。
如上所述,在控制打印机SP起动时,第一接收用处理部JS1、第二接收用处理部JS2、以及第三接收用处理部JS3起动。在本实施方式中,是能够从安装有浏览器的装置经由广域网WN来访问控制打印机SP,进行与各接收用处理部JS相关的设定的结构。
在本实施方式中,处于在控制打印机SP中安装有网络服务器软件(例如,Apache HTTP Server)的状态。控制打印机SP具有根据来自客户端的请求而生成遵照HTTP等规定的协议的显示数据,并进行发送的作为网络服务器的功能。
另外,处于在平板终端10中安装了浏览器的状态。
以下,以从平板终端10访问控制打印机SP来进行接收用处理部JS的设定的情况为例来进行说明。
用户起动平板终端10的浏览器,对控制打印机SP管理的规定的URL进行访问。根据对规定的URL的访问,控制打印机SP的控制打印机控制部40生成使接收用处理部JS的设定用的用户接口(以下称为“设定UI”)显示的显示文件并进行发送。平板终端10的终端控制部30基于显示文件来将设定UI显示到显示面板31a。
图6是表示设定UI的一个例子的图。
如图6所示,设定UI具有对服务器直接打印的有效/无效进行设定的直接设定栏R1。服务器直接打印是指从打印数据分发服务器SV对控制打印机SP分发打印数据。
另外,设定UI具有ID/密码输入栏R2。ID/密码输入栏R2具有输入控制打印机SP的识别信息的栏、和输入与控制打印机SP的识别信息对应设定的密码的栏。被输入到ID/密码输入栏R2的信息用于控制打印机SP的识别、认证。
另外,设定UI具有第一服务器设定栏R3。
第一服务器设定栏R3是进行与第一接收用处理部JS1相关的设定的栏。
第一服务器设定栏R3具有第一URL输入栏R31。如后所述,第一接收用处理部JS1执行从第一打印数据分发服务器SV1接收打印数据的处理。而且,第一URL输入栏R31是输入当第一接收用处理部JS1接收打印数据时所访问的服务器(在本实施方式中为第一打印数据分发服务器SV1)的URL的栏。
第一服务器设定栏R3具有第一间隔输入栏R32。如后所述,第一接收用处理部JS1在从第一打印数据分发服务器SV1接收打印数据时,以规定的间隔(每隔规定时间)来询问该服务器中的打印数据的有无。第一间隔输入栏R32是输入该间隔的栏。
输入至第一URL输入栏R31、以及第一间隔输入栏R32的信息被写入实现第一接收用处理部JS1的功能的程序所参照的设定文件,或保存到由该程序定义的规定的变量来进行设定。
另外,设定UI具有第二服务器设定栏R4。
第二服务器设定栏R4是进行与第二接收用处理部JS2相关的设定的栏。第二服务器设定栏R4具有第二URL输入栏R41、和第二间隔输入栏R42。如后所述,第二接收用处理部JS2执行从第二打印数据分发服务器SV2接收打印数据的处理。而且,第二URL输入栏R41是输入第二接收用处理部JS2在接收打印数据时所访问的服务器(在本实施方式中为第二打印数据分发服务器SV2)的URL的栏。另外,第二间隔输入栏R42是输入第二接收用处理部JS2对第二打印数据分发服务器SV2询问打印数据的有无时的间隔的栏。
另外,设定UI具有第三服务器设定栏R5。
第三服务器设定栏R5是进行与第三接收用处理部JS3相关的设定的栏。第三服务器设定栏R5具有第三URL输入栏R51、和第三间隔输入栏R52。如后所述,第三接收用处理部JS3执行从第三打印数据分发服务器SV3接收打印数据的处理。而且,第三URL输入栏R51是输入第三接收用处理部JS3接收打印数据时所访问的服务器(在本实施方式中为第三打印数据分发服务器SV3)的URL的栏。另外,第三间隔输入栏R52是输入第三接收用处理部JS3对第三打印数据分发服务器SV3询问打印数据的有无时的间隔的栏。
这样,在本实施方式中,接收用处理部JS每隔规定时间便询问打印数据的有无,能够针对各接收用处理部JS设定规定时间。
此外,在本例中,由于与控制打印机SP进行通信的打印数据分发服务器SV为3台,所以对应的设定用的栏的数量为3个,但能够根据进行通信的服务器的数量来使对应的设定用的栏的数量增减。
另外,设定UI具有服务器认证栏R6。
服务器认证栏R6是当与打印数据分发服务器SV建立联系时,设定在控制打印机SP侧是否进行服务器的认证的栏。
另外,设定UI具有应用按钮B1。
在应用按钮B1被选择的情况下,确定向设定UI的输入,所输入的信息被发送给控制打印机SP。控制打印机SP基于接收到的信息来反映输入。
接下来,对控制打印机SP的动作详细进行说明。
控制打印机SP从打印数据分发服务器SV接收打印数据,根据接收到的打印数据将接收到的打印数据发送给对应的打印机KP或者进行基于打印数据的打印。
首先,对控制打印机SP的与打印数据的接收相关的处理进行说明。
图7是表示控制打印机SP从打印数据分发服务器SV接收打印数据时的控制打印机SP、以及第一打印数据分发服务器SV1的动作的流程图,(A)表示控制打印机SP的动作,(B)表示第一打印数据分发服务器SV1的动作。
如上所述,在控制打印机SP起动时,第一接收用处理部JS1、第二接收用处理部JS2、以及第三接收用处理部JS3起动。
而且,第一接收用处理部JS1执行从3台打印数据分发服务器SV中的第一打印数据分发服务器SV1接收打印数据的处理。另外,第二接收用处理部JS2执行从第二打印数据分发服务器SV2接收打印数据的处理。另外,第三接收用处理部JS3执行从第三打印数据分发服务器SV3接收打印数据的处理。
以下,使用图7的流程图对第一接收用处理部JS1的处理进行说明。虽然省略第二接收用处理部JS2、以及第三接收用处理部JS3的处理的详细说明,但第二接收用处理部JS2针对第二打印数据分发服务器SV2执行与在图7的流程图中说明的处理同样的处理。另外,第三接收用处理部JS3针对第三打印数据分发服务器SV3执行与在图7的流程图中说明的处理同样的处理。
如图7(A)所示,控制打印机SP的控制打印机控制部40的接收部40a的第一接收用处理部JS1监视是否到了对第一打印数据分发服务器SV1询问打印数据的有无的定时(步骤SA1)。
除了后述的打印数据处理期间之外,第一接收用处理部JS1以设定UI的第一服务器设定栏R3的第一间隔输入栏R32中被输入的间隔(规定时间)来对第一打印数据分发服务器SV1询问打印数据的有无。在步骤SA1中,第一接收用处理部JS1监视从上次进行询问起是否经过了与所设定的间隔对应的时间(规定时间),在经过了与所设定的间隔对应的时间的情况下,判别为到了询问打印数据的有无的定时。
在到了定时的情况下(步骤SA1:是),第一接收用处理部JS1生成询问打印数据的有无的数据,对广域网通信部43进行控制来将该数据发送给第一打印数据分发服务器SV1(步骤SA2)。
如上所述,输入至第一服务器设定栏R3的第一URL输入栏R31的URL(第一打印数据分发服务器SV1的URL)被写入设定文件等,第一接收用处理部JS1对该URL进行管理。在步骤SA2中,第一接收用处理部JS1基于所管理的URL来对第一打印数据分发服务器SV1进行访问,按照规定的通信标准建立联系,并利用联系来发送数据。
如图7(B)所示,第一打印数据分发服务器SV1的第一服务器控制部201对第一服务器通信部211进行控制来接收数据(步骤SB1)。
接下来,第一服务器控制部201判别未发送的打印数据的有无(步骤SB2)。
若详细叙述,则如上所述,第一服务器控制部201在从第一POS终端PT1或者第二POS终端PT2接收到发行结账相关信息、以及收据的打印机的识别信息的情况下,基于这些信息来生成收据打印数据(打印数据),并存储到第一服务器存储部221。而且,在步骤SB2中,第一服务器控制部201判别是否存在存储于第一服务器存储部221但未发送给控制打印机SP的打印数据。即,在步骤SB2中,第一服务器控制部201判别在上次发送了打印数据之后有无新生成并存储的打印数据。
接下来,第一服务器控制部201基于判别结果对第一服务器通信部211进行控制,利用在步骤SA2中建立的联系来发送包括对未发送的打印数据的有无进行表示的信息的数据(步骤SB3)。
如图7(A)所示,控制打印机SP的第一接收用处理部JS1对广域网通信部43进行控制,来接收第一打印数据分发服务器SV1发送了的数据(步骤SA3)。
接下来,第一接收用处理部JS1在接收到的数据包括表示没有未发送的打印数据的信息的情况下(步骤SA4:否),将处理步骤返回到步骤SA1。
在接收到的数据包括表示有未发送的打印数据的信息的情况下(步骤SA4:是),第一接收用处理部JS1利用所建立的联系,来发送对打印数据的发送进行请求的数据(步骤SA5)。
如图7(B)所示,第一打印数据分发服务器SV1的第一服务器控制部201接收数据(步骤SB4)。
接下来,第一服务器控制部201利用所建立的联系,来发送未发送的打印数据(步骤SB5)。在未发送的打印数据有多个的情况下,第一服务器控制部201依次发送多个打印数据。
如图7(A)所示,根据第一打印数据分发服务器SV1对打印数据的发送,控制打印机SP的第一接收用处理部JS1开始打印数据的接收(步骤SA6)。第一接收用处理部JS1在接收打印数据的过程中,将接收到的数据依次保存到RAM等的形成于工作区域的接收缓冲器。
在开始了打印数据的接收之后,第一接收用处理部JS1监视打印数据的接收是否结束(步骤SA7)。在所接收的打印数据有多个的情况下,在步骤SA7中,第一接收用处理部JS1针对多个打印数据的全部监视接收是否结束。
在打印数据的接收结束的情况下(步骤SA7:是),第一接收用处理部JS1判别是否是禁止向打印队列Q写入(保存)数据的状态(步骤SA8)。如在后面可知那样,第一接收用处理部JS1、第二接收用处理部JS2、以及第三接收用处理部JS3分别在将数据写入打印队列Q的期间,禁止其他的接收用处理部JS将数据写入打印队列Q。
另外,1个接收用处理部JS在禁止其他两个第一接收用处理部JS进行写入的情况下,对其他两个接收用处理部JS进行该内容的通知,另外,在将禁止解除的情况下,对其他两个接收用处理部JS进行该内容的通知。在步骤SA8中,第一接收用处理部JS1在从其他的接收用处理部JS接收到禁止写入数据的内容的通知后、未接收到将禁止解除的内容的通知时,判别为是禁止写入数据的状态。
在禁止向打印队列Q写入数据的状态的情况下(步骤SA8:是),第一接收用处理部JS1监视写入的禁止是否被解除(步骤SA9),在被解除的情况下(步骤SA9:是),将处理步骤移至步骤SA10。
在不是禁止数据向打印队列Q的写入的情况下(步骤SA8:否),第一接收用处理部JS1将处理步骤移至步骤SA10。
在步骤SA10中,第一接收用处理部JS1禁止其他两个接收用处理部JS对打印队列Q写入数据。具体而言,第一接收用处理部JS1通过中断信号的发送等手段,对其他两个接收用处理部JS进行禁止写入数据的内容的通知。
接下来,第一接收用处理部JS1开始将接收缓冲器中保存的打印数据(在打印数据有多个的情况下将多个打印数据)向打印队列Q写入(保存)(步骤SA11)。
接下来,第一接收用处理部JS1监视接收缓冲器中保存的打印数据向打印队列Q的写入是否结束(步骤SA12)。
在写入结束的情况下(步骤SA12:是),第一接收用处理部JS1解除基于其他接收用处理部JS写入数据的禁止(步骤SA13)。
具体而言,第一接收用处理部JS1通过中断信号的发送等手段,来进行解除对其他两个接收用处理部JS写入数据的禁止这一内容的通知。
接下来,第一接收用处理部JS1监视是否被输入打印处理结束通知(步骤SA14)。
根据后面记载可知,打印处理结束通知是在基于从第一打印数据分发服务器SV1接收到的打印数据(在接收到多个打印数据的情况下为多个打印数据)的打印结束的情况下,从管理部KB输入的通知。
在被输入了打印处理结束通知的情况下(步骤SA14:是),第一接收用处理部JS1将处理步骤返回到步骤SA1。
这样,第一接收用处理部JS1在开始从第一打印数据分发服务器SV1接收打印数据起到基于接收到的打印数据的打印结束为止的期间(打印数据处理期间),不进行打印数据的有无的询问。
综上所述,在本实施方式中,多个打印数据分发服务器SV与控制打印机SP连接。而且,在控制打印机SP中,与打印数据分发服务器SV对应地起动多个接收用处理部JS。接收用处理部JS与其他的接收用处理部JS独立地进行在图7中说明了的处理,从对应的打印数据分发服务器SV接收打印数据,并将打印数据保存到共享的打印队列Q。通过该结构,接收用处理部JS能够不受其他接收用处理部JS的处理的影响,另外,不对其他接收用处理部JS的处理造成影响而独立地从对应的打印数据分发服务器SV接收打印数据,能够基于多个打印数据分发服务器SV与控制打印机SP连接的结构,实现高效的打印数据的接收。例如,与在处于1台打印数据分发服务器SV与控制打印机SP连接的状态的情况下,控制打印机SP从该服务器接收打印数据,并在基于接收到的打印数据的打印结束之后,询问打印数据的有无这一结构的情况相比,能够提高打印数据的接收涉及的处理的吞吐量(Throughput)。
另外,在本实施方式中,当多个接收用处理部JS中的1个接收用处理部JS将打印数据向打印队列Q保存时,禁止其他的接收用处理部JS向打印队列Q保存数据。通过该结构,能够将打印数据以接收到的顺序保存到打印队列Q。
例如,第二接收用处理部JS2开始从第二打印数据分发服务器SV2接收打印数据D1、和打印数据D2。打印数据D1、打印数据D2都是包括第二打印机KP2的识别信息的打印数据(=使第二打印机KP2处理的打印数据)。同时,第三接收用处理部JS3从第三打印数据分发服务器SV3接收打印数据D3。打印数据D3是包括第二打印机KP2的识别信息的打印数据(=使第二打印机KP2处理的打印数据)。而且,第二接收用处理部JS2的接收结束的定时比第三接收用处理部JS3的接收结束的定时稍早。该情况下,要求在打印队列Q中以打印数据D1、打印数据D2、打印数据D3的顺序保存。其原因在于,打印数据被要求以接收完成的顺序被处理,通过在打印队列Q中以该顺序保存打印数据,如后所述,打印数据被以该顺序处理。而且,根据本实施方式的结构,能够将打印数据在打印队列Q中以该顺序保存。另一方面,在是1个接收用处理部JS向打印队列Q保存数据时,没有禁止其他的接收用处理部JS向打印队列Q保存数据的结构的情况下,打印数据一定不会被以接收到的顺序保存,例如打印数据可能按照打印数据D1、打印数据D3、打印数据D2的顺序被保存到打印队列Q。
接下来,说明控制打印机SP对接收到的打印数据的处理。
如上所述,在不区分第一输出用处理部SS1、第二输出用处理部SS2、以及第三输出用处理部SS3的情况下,表现为“发送处理部S”。另外,在不区分第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、以及打印输出用处理部SS4的情况下,表现为“输出用处理部SS”。
如上所述,管理部KB在规定的条件成立的情况下,将第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3或者打印输出用处理部SS4起动。而且,发送处理部S(第一输出用处理部SS1、第二输出用处理部SS2、以及第三输出用处理部SS3)执行的处理与打印输出用处理部SS4执行的处理不同。
以下,使用图8对第一输出用处理部SS1的处理进行说明,接着,使用图9对打印输出用处理部SS4的处理进行说明。
图8(A)是表示管理部KB的动作的流程图,图8(B)是表示第一输出用处理部SS1的动作的流程图,图8(C)是表示第一打印机KP1的动作的流程图。
如图8(A)所示,管理部KB监视是否由任意一个接收用处理部JS进行了打印数据向打印队列Q的写入(步骤SC1)。进行了打印数据的写入是指在开始了对打印队列Q的写入之后,完成了一系列的打印数据的写入,在进行多个打印数据的写入的情况下,是指完成了多个打印数据的写入。
在进行了向打印队列Q写入打印数据的情况下(步骤SC1:是),管理部KB参照打印数据的内容,取得打印数据所包含的打印机的识别信息(步骤SC2)。在被写入了多个打印数据的情况下,管理部KB取得多个打印数据所包含的打印机的识别信息。
接下来,管理部KB判别与所取得的打印机的识别信息对应的输出用处理部SS(发送处理部S或者打印输出用处理部SS4)是否是起动了的状态(步骤SC3)。当在步骤SC2中取得的打印机的识别信息有多个时,管理部KB针对多个打印机的识别信息的每一个判别对应的输出用处理部SS是否是起动了的状态。
这里,与第一打印机KP1的识别信息对应的输出用处理部SS是第一输出用处理部SS1。与第二打印机KP2的识别信息对应的输出用处理部SS是第二输出用处理部SS2。与第三打印机KP3的识别信息对应的输出用处理部SS是第三输出用处理部SS3。另外,与控制打印机SP的识别信息对应的输出用处理部SS是打印输出用处理部SS4。
当与在步骤SC2中取得的打印机的识别信息对应的输出用处理部SS处于起动了的状态时(步骤SC3:是),管理部KB将处理步骤返回到步骤SC1。该情况下,如后述那样,由已经处于起动了的状态的输出用处理部SS来处理被写入打印队列Q的打印数据。
对于与在步骤SC2中取得的打印机的识别信息对应的输出用处理部SS而言,在未起动的输出用处理部即便是一个的情况下(步骤SC3:否),管理部KB也将与未起动的输出用处理部SS的识别信息对应的输出用处理部SS起动(步骤SC4)。例如,在所取得的打印机的识别信息是第一打印机KP1的识别信息、第一输出用处理部SS1未起动的情况下,管理部KB通过起动第一输出用任务,来使第一输出用处理部SS1起动。
在以下的使用了图8的说明中,设在步骤SC4中管理部KB起动了第一输出用处理部SS1,来对第一输出用处理部SS1的处理进行说明。虽然省略了对于第二输出用处理部SS2、以及第三输出用处理部SS3的处理的详细说明,但这些输出用处理部SS在起动后执行与以下说明的处理同样的处理。
如图8(B)所示,第一输出用处理部SS1参照打印队列Q中保存的未读出的打印数据中的在时间上最早被写入的打印数据的内容,来取得打印数据所包含的打印机的识别信息(步骤SD1)。
接下来,第一输出用处理部SS1判别所取得的打印机的识别信息、与第一打印机KP1的识别信息(对应的识别信息)是否一致(步骤SD2)。这里,在与步骤SD2对应的处理中,第二输出用处理部SS2判别所取得的打印机的识别信息与第二打印机KP2的识别信息是否一致,另外,第三输出用处理部SS3判别所取得的打印机的识别信息与第三打印机KP3的识别信息是否一致。
在不一致的情况下(步骤SD2:否),第一输出用处理部SS1判别在打印队列Q中是否有未读出且未实施步骤SD2的识别信息的取得、以及比较的打印数据(步骤SD3)。
在有打印数据的情况下(步骤SD3:是),第一输出用处理部SS1取得未读出的打印数据中的在上次进行了识别信息的取得、以及比较的打印数据的之后保存的打印数据的识别信息(步骤SD4),并将处理步骤移至步骤SD2。
在没有打印数据的情况下(步骤SD3:否),第一输出用处理部SS1通过将第一输出用任务停止而停止(步骤SD5)。
另一方面,当在步骤SD2中所取得的打印机的识别信息、与第一打印机KP1的识别信息一致时(步骤SD2:是),第一输出用处理部SS1从打印队列Q读出取得了打印机的识别信息的打印数据(步骤SD6)。
接下来,第一输出用处理部SS1对局域网通信部44进行控制,来将读出的打印数据发送(输出)给第一打印机KP1(步骤SD7)。第一输出用处理部SS1预先取得第一打印机KP1的IP地址、MAC地址等为了向第一打印机KP1发送数据所需要的信息并进行管理。
如图8(C)所示,第一打印机KP1的第一控制部501对第一通信部511进行控制来接收打印数据(步骤SE1)。
接下来,第一控制部501将接收到的打印数据转换成遵照第一打印部521的指令体系的控制指令,基于控制指令使第一打印部521执行基于控制指令的处理(步骤SE2)。由于打印数据是收据打印数据,所以步骤SE2的处理的结果是由第一打印机KP1发行收据。
接下来,第一控制部501生成对打印数据的处理结果进行表示的数据(以下称为“处理结果通知数据”),并对第一通信部511进行控制来发送给控制打印机SP(步骤SE3)。
如图8(B)所示,控制打印机SP的第一输出用处理部SS1在打印数据的发送后,监视是否接收到处理结果通知数据(步骤SD8)。
在接收到处理结果通知数据的情况下(步骤SD8:是),第一输出用处理部SS1通过中断等手段,将表示处理结果的信息输出给管理部KB(步骤SD9)。关于管理部KB对表示处理结果的信息的利用方法将后述。
接下来,第一输出用处理部SS1将处理步骤移至步骤SD3。
综上所述,第一输出用处理部SS1是具有对第一打印机KP1发送打印数据的功能的功能模块。第一输出用处理部SS1以包括第一打印机KP1的识别信息的打印数据向打印队列Q的保存作为触发而被起动。第一输出用处理部SS1在起动后,针对打印队列Q中保存的打印数据中的未读出的打印数据,判别以被保存的顺序、换言之以接收到的顺序包含于打印数据的识别信息与第一打印机KP1的识别信息是否一致。而且,第一输出用处理部SS1在识别信息一致的情况下,读出识别信息一致的打印数据并发送给第一打印机KP1。
通过这样的结构,第一输出用处理部SS1针对第一打印机KP1的处理对象的打印数据能够以保存到打印队列Q的顺序,换言之以接收到的顺序进行发送。例如,在是与第一打印机KP1对应地将具有发送打印数据的功能的多个处理部起动,多个处理部独立地执行打印数据的读出、发送的结构的情况下,可能产生无法以接收到打印数据的顺序来进行打印数据的发送这一情况。另一方面,根据本实施方式,能够防止该情况的发生。
另外,第一输出用处理部SS1在打印队列Q中没有是第一打印机KP1的处理对象且未读出的打印数据的情况下停止。即,第一输出用处理部SS1在不需要进行处理的情况下停止。通过该结构,能够抑制第一输出用处理部SS1维持被不必要起动的状态,可实现CPU等硬件资源、其他资源的有效利用。
以上的情况对于第二输出用处理部SS2、以及第三输出用处理部SS3也是同样的。
接下来,对管理部KB起动了打印输出用处理部SS4后的打印输出用处理部SS4、以及打印控制部40c的动作进行说明。
图9(A)是表示打印输出用处理部SS4的动作的流程图,(B)是表示打印控制部40c的动作的流程图。
当打印队列Q中保存有包含控制打印机SP的识别信息的打印数据时,如果打印输出用处理部SS4未起动,则管理部KB通过起动打印输出用任务,来使打印输出用处理部SS4起动(步骤SX1)。
如图9(A)所示,打印输出用处理部SS4参照打印队列Q中保存的未读出的打印数据中的在时间上最早被写入的打印数据的内容,来取得打印数据所含的打印机的识别信息(步骤SF1)。
打印输出用处理部SS4判别所取得的打印机的识别信息、与控制打印机SP的识别信息(对应的识别信息)是否一致(步骤SF2)。
在不一致的情况下(步骤SF2:否),打印输出用处理部SS4判别打印队列Q中是否有未读出、且未实施步骤SF2的识别信息的取得、以及比较的打印数据(步骤SF3)。
在有打印数据的情况下(步骤SF3:是),打印输出用处理部SS4读出未读出的打印数据中的在上次进行了识别信息的取得、以及比较的打印数据之后保存的打印数据(步骤SF4),并将处理步骤移至步骤SF2。
在没有打印数据的情况下(步骤SF3:否),打印输出用处理部SS4通过将打印输出用任务停止而停止(步骤SF5)。
另一方面,当在步骤SF2中所取得的打印机的识别信息、与控制打印机SP的识别信息一致时(步骤SF2:是),打印输出用处理部SS4从打印队列Q读出取得了打印机的识别信息的打印数据(步骤SF6)。
接下来,打印输出用处理部SS4将读出的打印数据输出给打印控制部40c(步骤SF7)。
如图9(B)所示,打印控制部40c将打印数据转换成遵照控制打印机打印部41的指令体系的控制指令,并基于控制指令使控制打印机打印部41执行基于控制指令的处理(步骤SG1)。由于打印数据是收据打印数据,所以步骤SG1的处理的结果是由控制打印机SP发行收据。
接下来,打印控制部40c将表示打印数据的处理结果的信息输出给打印输出用处理部SS4(步骤SG2)。
如图9(A)所示,打印输出用处理部SS4在打印数据的输出后,监视是否被输入表示处理结果的信息(步骤SF8)。
在被输入表示处理结果的信息的情况下(步骤SF8:是),打印输出用处理部SS4通过中断等手段,将表示处理结果的信息输出给管理部KB(步骤SF9)。关于管理部KB对表示处理结果的信息的利用方法将后述。
接下来,打印输出用处理部SS4将处理步骤移至步骤SF3。
综上所述,打印输出用处理部SS4以包括控制打印机SP的识别信息的打印数据向打印队列Q的保存为触发而被起动。打印输出用处理部SS4在起动后针对打印队列Q中保存的打印数据中的未读出的打印数据,判别以被保存的顺序、换言之以接收到的顺序包含于打印数据的识别信息与控制打印机SP的识别信息是否一致。而且,打印输出用处理部SS4在识别信息一致的情况下,读出识别信息一致的打印数据并输出给打印控制部40c。打印控制部40c基于打印数据来进行打印。
通过这样的结构,打印输出用处理部SS4针对控制打印机SP的处理对象的打印数据,能够以在打印队列Q中保存的顺序、换言之以接收到的顺序进行处理。另外,打印输出用处理部SS4在打印队列Q中没有是控制打印机SP的处理对象且未读出的打印数据的情况下停止。即,打印输出用处理部SS4在不需要进行处理的情况下停止。通过该结构,能够抑制打印输出用处理部SS4维持被不必要地起动的状态,可实现CPU等硬件资源、其他资源的有效利用。
接下来,对管理部KB的其他的处理进行说明。
图10是表示管理部KB的动作的流程图。
管理部KB监视是否被输入表示处理结果的信息(步骤SH1)。
在被输入表示处理结果的信息的情况下(步骤SH1),管理部KB基于被输入的信息,针对由任意一个接收用处理部JS保存到打印队列Q的一系列打印数据,判别基于打印数据的处理是否结束(步骤SH2)。一系列打印数据在1个接收用处理部JS接收一个打印数据并保存的情况下,意味着该一个打印数据,在1个接收用处理部JS接收多个打印数据并保存的情况下,意味着该多个打印数据。
在针对任意一个一系列打印数据都没有处理结束的打印数据的情况下(步骤SH2:否),管理部KB将处理步骤返回到步骤SH1。
在针对任意一个一系列打印数据有处理结束的打印数据的情况下(步骤SH2:是),管理部KB对将一系列打印数据保存到打印队列Q后的接收用处理部JS输出打印处理结束通知,该打印处理结束通知用于通知基于一系列打印数据的打印结束(步骤SH3)。
如在图7的步骤SA14中说明那样,接收用处理部JS以被输入打印结束通知为触发,将处理步骤返回到步骤SA1,针对对应的打印数据分发服务器SV开始打印数据的有无的询问。
如以上说明那样,本实施方式涉及的打印数据处理系统1具备多个打印数据分发服务器SV(打印数据分发装置)、和从多个打印数据分发服务器SV接收打印数据的控制打印机SP(信息处理装置)。
控制打印机SP根据多个打印数据分发服务器SV,起动多个接收用处理部JS。接收用处理部JS对打印数据分发服务器SV询问打印数据的有无,当打印数据分发服务器SV存在打印数据时进行接收,将接收到的打印数据保存到共享的打印队列Q(存储区域)。
根据该结构,接收用处理部JS能够不受其他接收用处理部JS的处理的影响,另外,不对其他接收用处理部JS的处理造成影响而独立地从对应的打印数据分发服务器SV接收打印数据,控制打印机SP能够基于连接了多个打印数据分发服务器SV的构成进行高效的打印数据的接收。
另外,在本实施方式中,接收用处理部JS在将从打印数据分发服务器SV接收到的打印数据保存到打印队列Q时,禁止其他接收用处理部JS向打印队列Q保存打印数据。
根据该结构,能够防止由对应的接收用处理部JS从1个打印数据分发服务器SV接收到的打印数据、与由对应的接收用处理部JS从其他打印数据分发服务器SV接收到的打印数据以混合的状态被保存于打印队列Q的情况,另外,能够将打印数据以接收到的顺序保存到打印队列Q。
另外,在本实施方式中,接收用处理部JS每隔规定时间便进行打印数据的询问,能够按每个接收用处理部JS设定规定时间的值。
根据该结构,能够按照越是针对分发优先等级高、被要求迅速处理的打印数据的打印数据分发服务器SV的询问,则间隔越小等的方式,根据系统的式样、需求来设定针对各打印数据分发服务器SV的询问的间隔。
另外,本实施方式涉及的打印数据处理系统1具备打印数据分发服务器SV、和与至少1台打印机KP(打印设备)连接并从打印数据分发服务器SV接收包括打印机KP的识别信息的打印数据的控制打印机SP。
控制打印机SP具有从打印数据分发服务器SV接收打印数据并按照接收到的顺序保存于打印队列Q的接收部40a、和基于打印队列Q中保存的打印数据所含的识别信息来将与识别信息对应的输出用处理部SS起动的管理部KB。
输出用处理部SS以接收到的顺序读出打印队列Q中保存的打印数据中的包含对应的识别信息的打印数据,并输出给对应的识别信息的打印机KP。
根据该结构,输出用处理部SS针对对应的打印机KP以接收到的顺序发送打印数据,控制打印机SP在将从打印数据分发服务器SV接收到的打印数据发送给打印机KP的情况下,能够以从打印数据分发服务器SV接收的顺序进行发送。
另外,在本实施方式中,管理部KB在不存在与打印数据所含的识别信息对应的输出用处理部SS的情况下重新起动输出用处理部SS,在存在的情况下不起动输出用处理部SS。
根据该结构,能够防止与1个打印机KP对应地重复起动多个输出用处理部SS。
另外,在本实施方式中,输出用处理部SS在打印队列Q中没有包括对应的识别信息且未读出的打印数据的情况下停止。
根据该结构,当对于1个输出用处理部SS而言,来自打印队列Q的打印数据的读出结束,不需要该1个输出用处理部SS的处理时,能够抑制针对该1个输出用处理部SS维持被不必要地起动的状态。
另外,在本实施方式中,打印数据中包含打印机KP的识别信息或者控制打印机SP的识别信息。控制打印机SP具有控制打印机打印部41(打印部)、和基于打印数据来控制打印部的打印控制部40c。
管理部KB在由接收部40a将包括控制打印机SP的识别信息的打印数据保存到打印队列Q的情况下,将作为与控制打印机SP的识别信息对应的输出用处理部SS的打印输出用处理部SS4起动。打印输出用处理部SS4以接收到的顺序读出打印队列Q中保存的打印数据中的包含控制打印机SP的识别信息的打印数据并输出给打印控制部40c。
根据该结构,控制打印机SP针对自身应该处理的打印数据,能够以接收到的顺序进行处理来执行打印。
以下,对打印数据分发装置成为能够发送打印数据的状态之后,能够尽量不产生时滞地通过信息处理装置接收打印数据的构成进行说明。
图11是本实施方式涉及的打印数据处理系统101的网络图。
如图11所示,打印数据处理系统101所具备的控制打印机SP与包括因特网、电话网等网络的广域网WN连接。
另外,大厅担当者被赋予的平板终端110与广域网WN连接。
另外,打印数据处理系统101例如可以具备一个打印数据分发服务器SV(打印数据分发装置)。打印数据分发服务器SV与广域网WN连接。
控制打印机SP、平板终端110、以及打印数据分发服务器SV分别能够经由广域网WN相互通信。
如图11所示,控制打印机SP与遵照以太网(注册商标)的局域网LN连接。第一打印机KP1、第二打印机KP2、以及第三打印机KP3与局域网LN连接。控制打印机SP、第一打印机KP1、第二打印机KP2、以及第三打印机KP3分别能够经由局域网LN相互通信。
图12是表示打印数据分发服务器SV、平板终端110、第一POS终端PT1、以及第二POS终端PT2的功能性结构的框图。
如图12所示,打印数据分发服务器SV具备服务器控制部120、服务器通信部121、和服务器存储部122。
服务器控制部120具备CPU、ROM、RAM等,对打印数据分发服务器SV进行控制。
服务器通信部121在服务器控制部120的控制下,按照规定的通信标准,与连接于广域网WN的其他设备进行通信。
服务器存储部122具备非易失性存储器,对数据进行存储。服务器存储部122存储打印数据保存数据库122a。对于该数据将后述。
平板终端110是在前面设有触摸面板131的平板型的便携计算机。
如图12所示,平板终端110具备终端控制部130、触摸面板131、终端存储部132、和终端通信部133。
终端控制部130具备CPU、ROM、RAM等,对平板终端110进行控制。终端控制部130具有应用程序执行部130a作为功能模块。对于应用程序执行部130a的功能将后述。
触摸面板131具备显示面板131a、和触摸传感器131b。显示面板131a具备液晶显示面板或有机EL显示面板等,在终端控制部130的控制下显示图像。触摸传感器131b被重叠配置于显示面板131a,检测用户(在本例中为大厅担当者。)的触摸操作,并输出给终端控制部130。
终端存储部132具备非易失性存储器,对数据进行存储。
终端通信部133在终端控制部130的控制下,按照规定的通信标准,与连接于广域网WN的其他设备进行通信。
第一POS终端PT1、以及第二POS终端PT2是具有以下功能的计算机。第一POS终端PT1、以及第二POS终端PT2具备与连接于广域网WN的其他设备进行通信的功能。另外,第一POS终端PT1、以及第二POS终端PT2具备受理与结账对应的输入,并基于输入来生成与结账相关的信息的功能。
图13是表示控制打印机SP、第一打印机KP1、第二打印机KP2、以及第三打印机KP3的功能性结构的框图。
控制打印机SP、第一打印机KP1、第二打印机KP2、以及第三打印机KP3是热敏式的打印机。
如图13所示,控制打印机SP具备控制打印机控制部140、控制打印机打印部141(打印部)、控制打印机存储部142、广域网通信部143、和局域网通信部144。
控制打印机控制部140具备CPU、ROM、RAM等,对控制打印机SP进行控制。控制打印机控制部140具备接收用处理部JS、输出部140b、打印控制部140c作为功能模块。对于这些功能模块将后述。
控制打印机打印部141具备收容感热卷轴式纸的收容部、对被收容于收容部的感热卷轴式纸进行搬运的搬运部、在被搬运部搬运的感热卷轴式纸形成点的热敏式头、和将感热卷轴式纸切断的切断部。
控制打印机存储部142具备非易失性存储器,对数据进行存储。控制打印机存储部142存储接收打印数据识别信息表142a。对于该数据将后述。
广域网通信部143在控制打印机控制部140的控制下,按照规定的通信标准,与连接于广域网WN的其他设备进行通信。
局域网通信部144在控制打印机控制部140的控制下,按照规定的通信标准,与连接于局域网LN的第一打印机KP1、第二打印机KP2、以及第三打印机KP3进行通信。
第一打印机KP1具备第一控制部601、第一通信部611、和第一打印部621。
第一控制部601具备CPU、ROM、RAM等,对第一打印机KP1进行控制。
第一通信部611在第一控制部601的控制下,按照规定的通信标准,与连接于局域网LN的控制打印机SP进行通信。
第一打印部621具备收容感热卷轴式纸的收容部、对被收容于收容部的感热卷轴式纸进行搬运的搬运部、在被搬运部搬运的感热卷轴式纸形成点的热敏式头、和将感热卷轴式纸切断的切断部。
第二打印机KP2、以及第三打印机KP3的结构与第一打印机KP1的结构相同。第二打印机KP2具备第二控制部602、第二通信部612、第二打印部622。第三打印机KP3具备第三控制部603、第三通信部613、第三打印部623。
在以下的说明中,当不区分表现第一打印机KP1、第二打印机KP2、以及第三打印机KP3时,表现为“打印机KP”。
接下来,对用户(在本例中为大厅担当者)根据顾客的结账而对第一POS终端PT1进行了与结账对应的输入的情况的第一POS终端PT1、以及打印数据分发服务器SV的动作进行说明。
第一POS终端PT1在有与结账对应的输入的情况下,基于输入来生成与结账相关的信息(以下称为“结账相关信息”)。结账相关信息包括顾客所点的饮食物的名称、单价、点餐数量、合计支付金额、找零、与税有关的信息等被打印于收据的信息。即,第一POS终端PT1进行结账,每当确定结账时便生成结账相关信息。
接下来,第一POS终端PT1将生成的结账相关信息、以及控制打印机SP的识别信息发送给打印数据分发服务器SV。控制打印机SP的识别信息是在控制打印机SP的制造阶段分配给控制打印机SP的序列号等对控制打印机SP进行识别的信息。如上所述,在对第一POS终端PT1进行了与结账对应的输入的情况下,由控制打印机SP发行对应的收据。第一POS终端PT1在发送结账相关信息的情况下,将发行打印有结账相关信息的收据的打印机(在本例中为控制打印机SP)的识别信息与结账相关信息一同发送。发送收据的打印机的识别信息被预先登记。其中,打印数据分发服务器SV的地址、通信所使用的各种协议、所发送的数据的格式等第一POS终端PT1为了与打印数据分发服务器SV进行通信所需的信息处于被预先登记于第一POS终端PT1的状态。第一POS终端PT1与打印数据分发服务器SV之间建立遵照规定的通信标准的联系,利用联系来发送结账相关信息。
打印数据分发服务器SV的服务器控制部120对服务器通信部121进行控制来接收结账相关信息、以及控制打印机SP的识别信息。
接下来,服务器控制部120基于接收到的结账相关信息、以及控制打印机SP的识别信息来生成收据打印数据(打印数据)。
收据打印数据是指示发行打印有结账相关信息的收据的XML文件。收据打印数据根据XML的协议,至少记述执行打印的打印机的识别信息、对收据打印数据进行识别的识别信息、结账相关信息、与对结账相关信息所含的信息进行打印的位置相关的信息等打印所需要的信息。服务器控制部120在生成收据打印数据时,根据规定的规则生成对收据打印数据进行识别的信息,并记述于收据打印数据。以下,将识别收据打印数据、后述的点餐传票打印数据的信息称为“打印数据识别信息”。
在生成了收据打印数据之后,服务器控制部120将生成的收据打印数据保存到服务器存储部122的打印数据保存数据库122a。
图14是表示打印数据保存数据库122a的数据结构的图。
如图14所示,打印数据保存数据库122a的1件记录至少具有打印数据字段F1、打印数据识别信息字段F2、以及打印状态信息字段F3作为保存数据的字段。
打印数据字段F1是保存收据打印数据、以及后述的点餐传票打印数据的字段。
打印数据识别信息字段F2是保存打印数据识别信息的字段。
打印状态信息字段F3是保存打印状态信息的字段。打印状态信息是表示基于对应的打印数据的打印是否结束的信息,包括表示打印结束的打印结束信息KJ(表示打印的信息)、和表示打印未结束的打印未结束信息MJ。
在生成了收据打印数据之后,服务器控制部120在打印数据分发服务器SV中生成1件记录。服务器控制部120向生成的1件记录的打印数据字段F1保存收据打印数据。服务器控制部120向生成的1件记录的打印数据识别信息字段F2保存打印数据识别信息。服务器控制部120向生成的1件记录的打印状态信息字段F3保存打印未结束信息MJ作为打印状态信息。
这里,如后所述,打印数据保存数据库122a中保存的收据打印数据根据控制打印机SP的询问而被随时发送给控制打印机SP。若从打印数据分发服务器SV对控制打印机SP发送了打印数据,则由对应的规定的装置进行基于收据打印数据的打印。若基于收据打印数据的打印结束,则控制打印机SP将通知打印结束的打印结束通知数据与打印数据识别信息一同发送给打印数据分发服务器SV。若接收到打印结束通知,则服务器控制部120针对对应的记录的打印状态信息字段F3中保存的打印状态信息,从打印未结束信息MJ改写成打印结束信息KJ。即,在生成了收据打印数据之后到接收到打印结束通知数据为止,在打印状态信息字段F3中保存打印未结束信息MJ,如果接收到打印结束通知数据,则该信息被改写成打印结束信息KJ。因此,通过参照1件记录中的打印状态信息字段F3所保存的打印状态信息,能够取得基于对应的收据打印数据的打印是否结束。
这样,打印数据分发服务器SV在从第一POS终端PT1接收到结账相关信息的情况下,基于结账相关信息来生成收据打印数据并进行存储。
用户(在本例中为大厅担当者)根据顾客的结账而对第二POS终端PT2进行了与结账对应的输入的情况的第二POS终端PT2、以及打印数据分发服务器SV的动作也同样。
即,第二POS终端PT2根据结账而生成结账相关信息,并将生成的结账相关信息、与作为发行收据的打印机的第一打印机KP1的识别信息发送给打印数据分发服务器SV。打印数据分发服务器SV的服务器控制部120生成收据打印数据的打印数据识别信息,并基于生成的打印数据识别信息、以及接收到的结账相关信息、第一打印机KP1的识别信息来生成收据打印数据。服务器控制部120在打印数据保存数据库122a中生成1件记录,将生成的收据打印数据、打印数据识别信息、以及打印未结束信息MJ分别保存到对应的字段。
其中,关于服务器存储部122中存储的收据打印数据的利用方法将后述。
接下来,对用户(在本例中为大厅担当者)对平板终端110进行了与顾客的点餐对应的输入的情况的平板终端110、以及打印数据分发服务器SV的动作进行说明。
在本实施方式中,对多个大厅担当者赋予多个平板终端110。平板终端110中预先安装有专用的应用程序AP。大厅担当者在倾听顾客点餐之前,将应用程序AP起动。
平板终端110的终端控制部130的应用程序执行部130a是通过CPU等硬件资源读出应用程序AP并执行,来实现其功能的功能模块。
平板终端110的终端控制部130的应用程序执行部130a将用户进行与点餐对应的输入的用户接口(以下称为“点餐UI”)显示于显示面板131a。点餐UI设有选择顾客所点的饮食物的区域、选择所点的饮食物的数量的区域,用户能够对触摸面板31进行触摸操作,来输入顾客所点的饮食物、以及数量。
在点餐UI有与点餐对应的输入的情况下,应用程序执行部130a基于输入来生成与点餐相关的信息(以下称为“点餐相关信息”)。点餐相关信息至少包括针对顾客所点的1个或者多个饮食物表示饮食物的名称的信息、点餐数量。
接下来,应用程序执行部130a将基于生成的点餐相关信息、以及点餐相关信息来发行点餐传票的打印机的识别信息发送给打印数据分发服务器SV。
这里,应用程序执行部130a基于点餐相关信息的内容,来决定使第二打印机KP2、以及第三打印机KP3中的哪一个发行点餐传票。应用程序执行部130a将所决定的打印机的识别信息与点餐相关信息一同进行发送。此外,也可以是按每个平板终端110预先决定了发行点餐传票的打印机的结构,另外,还可以是由规定的单元取得打印机的状态,根据打印机的状态来决定发行点餐传票的打印机的结构。
打印数据分发服务器SV的服务器控制部120对服务器通信部121进行控制,来接收平板终端110发送了的点餐相关信息、以及打印机的识别信息。
接下来,服务器控制部120基于接收到的点餐相关信息、以及打印机的识别信息来生成点餐传票打印数据(打印数据)。
点餐传票打印数据是指示发行打印有点餐相关信息的点餐传票的XML文件。点餐传票打印数据根据XML的协议,记述发行点餐传票的打印机的识别信息、点餐传票打印数据的打印数据识别信息、点餐相关信息、与对点餐相关信息所含的信息进行打印的位置相关的信息、以及其他打印所需要的信息。服务器控制部120在生成点餐传票打印数据时,生成对该数据进行识别的打印数据识别信息。
接下来,服务器控制部120在打印数据保存数据库122a中生成1件记录,将点餐传票打印数据、打印数据识别信息、以及打印未结束信息MJ分别保存到对应的字段。
这样,打印数据分发服务器SV在从平板终端110接收到点餐相关信息的情况,基于点餐相关信息来生成点餐传票打印数据并进行存储。
在以下的说明中,当不区分收据打印数据、以及点餐传票打印数据进行表现时,表现为“打印数据”。打印数据是XML文件。
接下来,对控制打印机SP的控制打印机控制部140所具备的功能模块详细进行说明。
图15是详细地表示控制打印机控制部140的结构的图。
如图15所示,控制打印机控制部140具备接收部140a、输出部140b、和打印控制部140c作为功能模块。
在本实施方式中,控制打印机SP在电源接通或因复位而被起动时,作为任务(也可以是线程或者进程。),起动通信处理任务。而且,接收部140a是进行基于CPU对通信处理任务的执行的处理的功能模块,具有接收用处理部JS。
如图15所示,输出部140b具备管理部KB、第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、打印输出用处理部SS4。
管理部KB是与控制打印机SP被起动时起动的管理任务对应的功能模块。即,管理部KB进行基于CPU对管理任务的执行的处理。如后所述,管理部KB在规定的条件成立的情况下,作为任务(也可以是线程或者进程。),起动第一输出用任务、第二输出用任务、第三输出用任务或者打印输出用任务。而且,第一输出用处理部SS1是进行基于CPU对第一输出用任务的执行的处理的功能模块。另外,第二输出用处理部SS2是进行基于CPU对第二输出用任务的执行的处理的功能模块。另外,第三输出用处理部SS3是进行基于CPU对第三输出用任务的执行的处理的功能模块。另外,打印输出用处理部SS4是进行基于CPU对打印输出用任务的执行的处理的功能模块。关于管理部KB、第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、以及打印输出用处理部SS4执行的处理将后述。
以下,在不区分第一输出用处理部SS1、第二输出用处理部SS2、以及第三输出用处理部SS3的情况下表现为“发送处理部S”。另外,在不区分第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、以及打印输出用处理部SS4的情况下表现为“输出用处理部SS”。
接收用处理部JS、以及输出部140b所具备的功能模块能够对打印队列Q(存储区域)写入数据,另外,能够读出被写入到打印队列Q的数据。
打印队列Q是在RAM等暂时存储区域的工作区域形成的缓冲器。
打印控制部140c在后述的规定的情况下被输入打印数据。打印控制部140c将被输入的打印数据(XML文件)转换成遵照控制打印机打印部141的指令体系的控制指令,并基于控制指令来使控制打印机打印部141执行处理。
接下来,对控制打印机SP的设定进行说明。
如上所述,在控制打印机SP起动时接收用处理部JS起动。在本实施方式中,是能够从安装有浏览器的装置经由广域网WN对控制打印机SP进行访问,来进行与接收用处理部JS相关的设定的结构。
在本实施方式中,处于在控制打印机SP中安装有网络服务器软件(例如,Apache HTTP Server)的状态。控制打印机SP具有根据来自客户端的请求,生成遵照HTTP等规定的协议的显示数据并进行发送的网络服务器的功能。
在本实施方式中,处于在平板终端110中安装了浏览器的状态。以下,以从平板终端110访问控制打印机SP来进行接收用处理部JS的设定的情况为例进行说明。
用户起动平板终端110的浏览器,对控制打印机SP所管理的规定的URL进行访问。根据对规定的URL的访问,控制打印机SP的控制打印机控制部140生成对接收用处理部JS的设定用的用户接口(以下称为“设定UI”)进行显示的显示文件并进行发送。平板终端110的终端控制部130基于接收到的显示文件来将设定UI显示于显示面板31a。
图16是表示设定UI的一个例子的图。
如图16所示,设定UI具有输入打印数据分发服务器SV的URL的URL输入栏RA1。如后所述,接收用处理部JS向打印数据分发服务器SV询问打印数据的有无,对URL输入栏RA1输入进行询问的服务器的URL。
另外,设定UI具有处理选择用单选按钮RA2。处理选择用单选按钮R2是选择非同步处理(第一处理)、以及同步处理(第二处理)中的使接收用处理部JS执行的处理的单选按钮。关于非同步处理、以及同步处理将后述。用户对与非同步处理对应的按钮、以及与同步处理对应的按钮中的任意一个按钮进行点选,来选择非同步处理、以及同步处理中的使接收用处理部JS执行的1个处理。
另外,设定UI具有非同步处理时间隔输入栏RA3。非同步处理时间隔输入栏RA3是在接收用处理部JS执行非同步处理的情况下,设定对打印数据分发服务器SV进行打印数据的有无的询问时的间隔的栏。如后所述,接收用处理部JS在执行非同步处理的情况下,每隔规定时间便进行打印数据的有无的询问。非同步处理时间隔输入栏RA3被输入该规定时间的值。
另外,设定UI具有间隔自动调整设定栏RA4。在间隔自动调整设定栏RA4中,通过单选按钮来设定是使后述的间隔自动调整处理的执行有效还是无效。
另外,设定UI具有同步处理时间隔输入栏RA5。同步处理时间隔输入栏RA5是在接收用处理部JS执行同步处理的情况下,设定对打印数据分发服务器SV进行打印数据的有无的询问时的间隔的栏。如后所述,接收用处理部JS在执行同步处理的情况下,在除了规定的期间以外的期间,每隔规定时间便进行打印数据的有无的询问。同步处理时间隔输入栏RA5被输入规定时间的值。
另外,设定UI具有应用按钮B1。
在应用按钮B1被选择的情况下,确定向设定UI的输入,所输入的信息被发送给控制打印机SP。
控制打印机SP的控制打印机控制部140将接收到的信息写入设定文件、程序的变量等,反映基于输入的设定。
接下来,对控制打印机SP的动作详细进行说明。
首先,对执行非同步处理(第一处理)的情况的控制打印机SP的动作进行说明。如上所述,接收用处理部JS能够执行非同步处理(第一处理)、和同步处理(第二处理)这两个处理,用户使用设定UI,能够选择使接收用处理部JS执行哪一个处理。
图17是表示执行非同步处理的情况的控制打印机SP的动作的流程图。
如图17所示,在执行非同步处理的情况下,接收用处理部JS监视是否到了针对打印数据分发服务器SV询问打印数据的有无的定时(步骤SAA1)。在非同步处理中,与基于已经接收到的打印数据的处理的状态无关,接收用处理部JS以设定UI的非同步处理时间隔输入栏RA3中被输入的间隔或者通过后述的间隔自动调整处理调整后的间隔,定期地对打印数据分发服务器SV询问打印数据的有无。以下,在进行非同步处理的情况下,将询问打印数据的有无的间隔称为“第一间隔”。在步骤SAA1中,接收用处理部JS监视从上次进行询问起是否经过了与第一间隔对应的时间,在经过了的情况下,判别为到了询问打印数据的有无的定时。
在到了询问打印数据的有无的定时的情况下(步骤SAA1:是),接收用处理部JS生成询问打印数据的有无的数据,对广域网通信部143进行控制来将该数据发送给打印数据分发服务器SV(步骤SAA2)。
如上所述,对URL输入栏RA1输入的URL(在本例中为打印数据分发服务器SV的URL)被写入设定文件等,接收用处理部JS对该URL进行管理。在步骤SAA2中,接收用处理部JS基于所管理的URL来访问打印数据分发服务器SV,按照规定的通信标准建立联系,并利用联系来发送数据。
在询问了打印数据的有无之后,接收用处理部JS将处理步骤返回到步骤SAA1,监视是否到了询问打印数据的有无的定时。
这样,在进行非同步处理的情况下,与基于接收到的打印数据的处理的状况无关,接收用处理部JS以第一间隔对打印数据分发服务器SV询问打印数据的有无。通过这样的结构,控制打印机SP能够与基于打印数据的处理的状况无关地询问打印数据的有无。因此,能够缩短在打印数据分发装置成为能够发送打印数据之后到控制打印机SP接收打印数据为止所产生的时间。
图18是表示在执行非同步处理的情况下,接收用处理部JS进行了打印数据的有无的询问后的控制打印机SP、以及打印数据分发服务器SV的动作的流程图。图18(A)表示控制打印机SP的动作,图18(B)表示打印数据分发服务器SV的动作。
如图18(A)所示,控制打印机SP的控制打印机控制部140的接收用处理部JS生成询问打印数据的有无的数据,对广域网通信部143进行控制来将该数据发送给打印数据分发服务器SV(步骤SBA1)。如上所述,控制打印机控制部140与打印数据分发服务器SV之间按照规定的通信标准建立联系,利用所建立的联系来发送数据。
如图18(B)所示,打印数据分发服务器SV的服务器控制部120对服务器通信部121进行控制来接收数据(步骤SCA1)。
接下来,服务器控制部120参照打印数据保存数据库122a,判别有无能够发送的打印数据(步骤SCA2)。
详细而言,如上所述,打印数据保存数据库122a的各记录具有打印状态信息字段F3。在步骤SCA2中,在即便存在1件打印状态信息字段F3中保存有打印未结束信息MJ的记录的情况下,服务器控制部120都判别为有“能够发送的打印数据”。在步骤SCA2中,服务器控制部120在该记录1件都没有的情况下,判别为没有“能够发送的打印数据”。
接下来,服务器控制部120基于判别结果,对服务器通信部121进行控制,利用在步骤SBA1中建立的联系来发送包括对能够发送的打印数据的有无进行表示的信息的数据(步骤SCA3)。
如图18(A)所示,控制打印机SP的接收用处理部JS对广域网通信部143进行控制,来接收打印数据分发服务器SV发送了的数据(步骤SBA2)。
接下来,接收用处理部JS基于接收到的数据,来判别打印数据分发服务器SV中有还是没有能够发送的打印数据(步骤SBA3)。
在没有打印数据的情况下(=接收到的数据包括表示没有能够发送的打印数据的信息的情况下)(步骤SBA3:否),接收用处理部JS结束处理。
在有打印数据的情况下(=接收到的数据包括表示有能够发送的打印数据的信息的情况下)(步骤SBA3:是),接收用处理部JS利用所建立的联系,来发送对打印数据的发送进行请求的数据(步骤SBA4)。
如图18(B)所示,打印数据分发服务器SV的服务器控制部120对服务器通信部121进行控制,来接收控制打印机SP发送了的数据(步骤SCA4)。
接下来,服务器控制部120利用所建立的联系,来发送在打印数据保存数据库122a中与打印未结束信息MJ建立了对应的打印数据(=能够发送的打印数据)(步骤SCA5)。与打印未结束信息MJ建立了对应的打印数据是在生成了打印数据之后,未接收到对基于打印数据的打印结束进行通知的打印结束通知数据的数据。在与打印未结束信息MJ建立了对应的打印数据有多个的情况下,服务器控制部120依次发送多个打印数据。
如图18(A)所示,根据打印数据分发服务器SV对打印数据的发送,控制打印机SP的接收用处理部JS开始打印数据的接收(步骤SBA5)。接收用处理部JS在接收打印数据的过程中,将接收到的数据依次保存到在RAM等工作区域中形成的接收缓冲器。
在开始了打印数据的接收之后,接收用处理部JS监视打印数据的接收是否结束(步骤SBA6)。在所接收的打印数据有多个的情况下,在步骤SBA6中,接收用处理部JS针对多个打印数据的全部监视接收是否结束。
在打印数据的接收结束的情况下(步骤SBA6:是),接收用处理部JS进行比较处理(步骤SBA7)。以下,对比较处理进行详述。接收用处理部JS参照接收缓冲器中保存的打印数据的内容,取得打印数据中记述的打印数据识别信息。接收用处理部JS在接收到多个打印数据的情况下,取得多个打印数据各自的打印数据识别信息。
接下来,接收用处理部JS参照控制打印机存储部142所存储的接收打印数据识别信息表142a。接收打印数据识别信息表142a是将接收结束并进行了向打印队列Q的写入的打印数据的打印数据识别信息累积存储的表。如后所述,在将打印数据保存到打印队列Q的情况下,接收用处理部JS将所保存的打印数据的打印数据识别信息写入接收打印数据识别信息表142a。
接下来,接收用处理部JS判别接收打印数据识别信息表142a中是否被写入与所取得的打印数据识别信息的值相同的值的打印数据识别信息。在接收打印数据识别信息表142a中被写入了与所取得的打印数据识别信息的值相同的值的打印数据识别信息的情况下,处于相同的打印数据已被接收并保存到打印队列Q的状态。
接收用处理部JS在接收到多个打印数据的情况下,针对多个打印数据的打印数据识别信息分别进行与被写入到接收打印数据识别信息表142a的打印数据识别信息的比较。
在以上说明了的步骤SBA7的比较处理中,接收用处理部JS判别从打印数据分发服务器SV新接收到的打印数据与已从该服务器接收到的打印数据是否相同。可能产生从打印数据分发服务器SV多次接收相同数据的情况的理由如下所述。如图23所示,在打印数据分发服务器SV所存储的打印数据保存数据库122a中,将生成的打印数据、与表示基于打印数据的打印是否结束的打印状态信息(打印未结束信息MJ或者打印结束信息KJ)建立对应进行存储。而且,如在步骤SCA5中说明那样,打印数据分发服务器SV在服务器控制部120接受了打印数据的有无的询问的情况下,发送在打印数据保存数据库122a中与打印未结束信息MJ建立了对应的打印数据。通过这样的结构,在打印数据分发服务器SV发送了1个打印数据之后、与该1个打印数据建立了对应的打印未结束信息MJ被改写为打印结束信息KJ之前,当从控制打印机SP有打印数据的有无的询问时,打印数据分发服务器SV发送该1个打印数据。基于这样的理由,可能产生控制打印机SP从打印数据分发服务器SV多次接收相同数据的情况。
此外,在打印数据保存数据库122a中,也能够将打印数据、与表示发送是否结束的信息建立对应存储,打印数据分发服务器SV基于该信息来选择所发送的打印数据。然而,该情况下,与本实施方式相比,打印数据保存数据库122a的数据量变多,并且,打印数据分发服务器SV应该执行的处理变多。特别是该信息在后述的同步处理(第二处理)中是不必要的信息。因此,如后述说明那样,在鉴于能够将控制打印机SP执行的处理切换成非同步处理和同步处理的情况下,通过在打印数据保存数据库122a中不将该信息对应存储,实现数据量的增大的抑制、处理负荷的减轻的优点较大。
接下来,接收用处理部JS在接收到的1个或者多个打印数据中有与被写入到接收打印数据识别信息表142a的打印数据识别信息的值相同的值的打印数据识别信息的打印数据的情况下,废弃该打印数据(步骤SBA8)。废弃是指不对打印队列Q进行写入。通过该步骤SBA8的处理,即使在控制打印机SP多次接收到相同的打印数据的情况下,最初接收到的打印数据以外的打印数据也不被写入打印队列Q,因此,未被处理。
接下来,接收用处理部JS在接收到的1个或者多个打印数据中有打印数据识别信息的值与被写入到接收打印数据识别信息表142a的打印数据识别信息的值不一致的打印数据的情况下,进行以下的处理。即,接收用处理部JS将该打印数据写入打印队列Q(步骤SBA9)。
接下来,接收用处理部JS在有写入到打印队列Q的打印数据的情况下,将该打印数据的打印数据识别信息写入接收打印数据识别信息表142a(步骤SBA10)。接收用处理部JS在写入到打印队列Q的打印数据有多个的情况下,将多个打印数据的打印数据识别信息写入接收打印数据识别信息表142a。
接下来,对当执行非同步处理时,在设定UI中间隔自动调整处理的执行被设为有效的情况下,接收用处理部JS执行的间隔自动调整处理进行说明。
如上所述,在执行非同步处理的情况下,与基于接收到的打印数据的处理的状况无关,接收用处理部JS空开间隔对打印数据分发服务器SV询问打印数据的有无。间隔自动调整处理是对询问打印数据的间隔自动进行调整的处理。
详细而言,当是在步骤SBA8中频繁地进行打印数据的废弃的状态时,接收用处理部JS将进行询问的间隔增长。作为一个例子,当成为在规定的单位时间以规定的阈值以上的次数进行打印数据的废弃的状态时,接收用处理部JS将所设定的间隔增长X秒。在上述状态消除的情况下,接收用处理部JS将间隔缩短X秒。通过执行这样的处理,会起到以下的效果。即,频繁地进行打印数据的废弃是指与对接收到的打印数据进行处理的步调相比,控制打印机SP询问打印数据的有无的步调较快的状态。而且,通过执行上述处理,能够抑制对接收到的打印数据进行处理的步调、与询问打印数据的有无的步调之间的分歧,可使接收到的打印数据被废弃的频度降低。
并且,在间隔自动调整处理中,接收用处理部JS根据打印队列Q的状态,使询问打印数据的有无的间隔变化。更详细而言,接收用处理部JS在打印队列Q中的能够写入新的数据的区域变小的情况下,将进行询问的间隔增长。作为一个例子,接收用处理部JS监视打印队列Q中的能够写入新的数据的区域的容量,在容量变为规定的阈值以下的情况下,将所设定的间隔增长Y秒。在上述状态消除的情况下,接收用处理部JS将间隔缩短Y秒。通过执行这样的处理,会起到以下的效果。即,打印队列Q中的能够写入新的数据的区域小于所设定的阈值是指与对接收到的打印数据进行处理的步调相比,控制打印机SP询问打印数据的有无的步调较快的状态。而且,通过执行上述处理,能够抑制对接收到的打印数据进行处理的步调、与询问打印数据的有无的步调之间的分歧,可降低因打印队列Q的空余区域不足而产生无法进行打印数据的写入的情况的可能性。
图19是对在执行非同步处理的情况下,接收用处理部JS与上述的图17、图18的处理并行执行的处理进行说明的流程图。图19(A)表示控制打印机SP的动作,图19(B)表示打印数据分发服务器SV的动作。
如图19(A)所示,控制打印机SP的接收用处理部JS监视是否从管理部KB输入了处理结果通知(步骤SDA1)。如后所述,管理部KB在基于被写入到打印队列Q的打印数据的打印结束的情况下,将包括打印数据的打印数据识别信息的处理结果通知输出给接收用处理部JS。
在被输入处理结果通知的情况下(步骤SDA1:是),接收用处理部JS利用所建立的联系来发送打印结束通知数据(步骤SDA2),将处理步骤返回到步骤SDA1。打印结束通知数据是包含处理结果通知所含的打印数据识别信息,表示基于与该识别信息对应的打印数据的打印结束的数据。
如图19(B)所示,打印数据分发服务器SV的服务器控制部120接收打印结束通知数据(步骤SEA1)。
接下来,服务器控制部120参照打印数据保存数据库122a,确定接收到的打印结束通知数据所含的打印数据识别信息被保存在打印数据识别信息字段F2的记录(步骤SEA2)。
接下来,服务器控制部120将确定出的记录的打印状态信息字段F3所保存的打印未结束信息MJ改写成打印结束信息KJ(步骤SEA3)。通过步骤SEA3的处理,建立了对应的打印状态信息的进行了改写的打印数据即便在有询问的情况下,也不被发送给控制打印机SP。
接下来,对执行同步处理(第二处理)的情况的控制打印机SP的动作进行说明。如上所述,用户利用设定UI,选择同步处理作为使控制打印机SP执行的处理。
图20是表示执行同步处理的情况的控制打印机SP、以及打印数据分发服务器SV的动作的流程图。图20(A)表示控制打印机SP的动作。图20(B)表示打印数据分发服务器SV的动作。
如图20(A)所示,控制打印机SP的控制打印机控制部140的接收用处理部JS监视是否到了针对打印数据分发服务器SV询问打印数据的有无的定时(步骤SFA1)。
在执行同步处理的情况下,除了后述的打印数据处理期间之外,接收用处理部JS以设定UI的同步处理时间隔输入栏RA5被输入的间隔,对打印数据分发服务器SV询问打印数据的有无。在步骤SFA1中,接收用处理部JS监视从上次进行询问起是否经过了与所设定的间隔对应的时间,在经过了的情况下,判别为到了询问打印数据的有无的定时。
在到了定时的情况下(步骤SFA1:是),接收用处理部JS生成询问打印数据的有无的数据,对广域网通信部143进行控制,来将该数据发送给打印数据分发服务器SV(步骤SFA2)。
如图20(B)所示,打印数据分发服务器SV的服务器控制部120对服务器通信部121进行控制来接收数据(步骤SGA1)。
接下来,服务器控制部120参照打印数据保存数据库122a,判别能够发送的打印数据的有无(步骤SGA2)。如上所述,能够发送的打印数据是在打印数据保存数据库122a中建立了对应的打印状态信息为打印未结束信息MJ的打印数据。根据后述说明可知,在执行同步处理的情况下从,打印数据分发服务器SV未向控制打印机SP发送的打印数据的打印状态信息是打印未结束信息MJ。
接下来,服务器控制部120基于判别结果对服务器通信部121进行控制,来利用所建立的联系发送包括对能够发送的打印数据的有无进行表示的信息的数据(步骤SGA3)。
如图20(A)所示,控制打印机SP的接收用处理部JS对广域网通信部143进行控制,来接收打印数据分发服务器SV发送了的数据(步骤SFA3)。
接下来,接收用处理部JS在接收到的数据包括对没有能够发送的打印数据进行表示的信息的情况下(步骤SFA4:否),将处理步骤返回到步骤SFA1。
在接收到的数据包括对有能够发送的打印数据进行表示的信息的情况下(步骤SFA4:是),接收用处理部JS利用所建立的联系,来发送对打印数据的发送进行请求的数据(步骤SFA5)。
如图20(B)所示,打印数据分发服务器SV的服务器控制部120接收数据(步骤SGA4)。
接下来,服务器控制部120利用所建立的联系,来发送在打印数据保存数据库122a中与打印未结束信息MJ建立了对应的打印数据(=能够发送的打印数据)(步骤SGA5)。在与打印未结束信息MJ建立了对应的打印数据有多个的情况下,服务器控制部120依次发送多个打印数据。
如图20(A)所示,根据打印数据分发服务器SV对打印数据的发送,控制打印机SP的接收用处理部JS开始打印数据的接收(步骤SFA6)。接收用处理部JS在接收打印数据的过程中,将接收到的数据依次保存到接收缓冲器。
在开始了打印数据的接收之后,接收用处理部JS监视打印数据的接收是否结束(步骤SFA7)。在所接收的打印数据有多个的情况下,在步骤SFA7中,接收用处理部JS针对多个打印数据的全部监视接收是否结束。
在打印数据的接收结束的情况下(步骤SFA7:是),接收用处理部JS将接收到的打印数据(在接收到多个打印数据的情况下,将多个打印数据)写入打印队列Q(步骤SFA8)。
根据后述说明可知,在同步处理中,由于不会多次接收相同的打印数据,所以不需要执行在非同步处理中进行的步骤SBA7的比较处理。
接下来,接收用处理部JS监视是否被输入处理结果通知,该处理结果通知表示基于在步骤SFA8中写入到打印队列Q的打印数据的打印结束(步骤SFA9)。“表示基于写入到打印队列Q的打印数据的打印结束的处理结果通知”是包括写入到打印队列Q的打印数据的打印数据识别信息的处理结果通知。在写入到打印队列Q的打印数据有多个的情况下,在步骤SFA9中,接收用处理部JS监视是否有与全部的打印数据对应的处理结果通知的输入。
在有处理结果通知的输入的情况下,接收用处理部JS利用所建立的联系来发送打印结束通知数据(步骤SFA10)。如上所述,打印结束通知数据是包括处理结果通知所含的打印数据识别信息,表示基于与该识别信息对应的打印数据的打印结束的数据。在写入打印队列Q的打印数据有多个的情况下,在步骤SFA10中,接收用处理部JS发送包括各个打印数据的打印数据识别信息的打印结束通知数据。
接下来,接收用处理部JS待机规定期间(步骤SFA11),然后,将处理步骤返回到步骤SFA1,开始打印数据的有无的询问。进行待机的期间被设为后述的步骤SGA8中的打印数据分发服务器SV对打印状态信息的改写结束所需要的足够时间。
这样,在同步处理中,控制打印机SP在从根据打印数据的有无的询问而接收打印数据起,到基于该打印数据的打印结束为止的期间(打印数据处理期间),不进行打印数据的有无的询问。通过这样的结构,与非同步处理相比,虽然存在从打印数据分发服务器SV成为能够发送打印数据的状态起,到控制打印机SP接收打印数据为止的时间变长的可能性,但不需要执行上述的比较处理、打印数据的废弃,能够按顺序执行打印数据的接收、基于打印数据的打印。
如图20(B)所示,打印数据分发服务器SV的服务器控制部120接收打印结束通知数据(步骤SGA6)。
接下来,服务器控制部120参照打印数据保存数据库122a,确定接收到的打印结束通知数据所含的打印数据识别信息已被保存到打印数据识别信息字段F2的记录(步骤SGA7)。在接收到的打印结束通知数据有多个的情况下,服务器控制部120确定对应的多个记录。
接下来,服务器控制部120将确定出的1个或者多个记录的打印状态信息字段F3中保存的打印未结束信息MJ改写成打印结束信息KJ(步骤SGA8)。通过步骤SGA8的处理,建立了对应的打印状态信息的被进行了改写后的打印数据即便在有询问的情况下,也不被发送给控制打印机SP。
接下来,对由控制打印机SP接收并保存到打印队列Q的打印数据的处理进行说明。
被保存在打印队列Q的打印数据的处理在执行非同步处理的情况和执行同步处理的情况下都相同。即,与所执行的处理是非同步处理还是同步处理无关,都通过以下说明的方法来处理打印数据。
如上所述,在不区分第一输出用处理部SS1、第二输出用处理部SS2、以及第三输出用处理部SS3的情况下,表现为“发送处理部S”。另外,在不区别第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3、以及打印输出用处理部SS4的情况下,表现为“输出用处理部SS”。
如上所述,管理部KB在规定的条件成立的情况下,将第一输出用处理部SS1、第二输出用处理部SS2、第三输出用处理部SS3或者打印输出用处理部SS4起动。而且,发送处理部S(第一输出用处理部SS1、第二输出用处理部SS2、以及第三输出用处理部SS3)执行的处理、与打印输出用处理部SS4执行的处理不同。
以下,使用图21对第一输出用处理部SS1的处理进行说明,接下来,使用图22对打印输出用处理部SS4的处理进行说明。
图21(A)是表示管理部KB的动作的流程图,图21(B)是表示第一输出用处理部SS1的动作的流程图,图21(C)是表示第一打印机KP1的动作的流程图。
如图21(A)所示,管理部KB监视是否进行了打印数据向打印队列Q的写入(步骤SHA1)。进行了打印数据的写入是指在开始了向打印队列Q的写入之后,一系列打印数据的写入结束,在进行多个打印数据的写入的情况下,是指多个打印数据的写入结束。
在进行了打印数据向打印队列Q的写入的情况下(步骤SHA1:是),管理部KB参照打印数据的内容,取得打印数据所含的打印机的识别信息(步骤SHA2)。在被写入了多个打印数据的情况下,管理部KB取得多个打印数据所含的打印机的识别信息。
接下来,管理部KB判别与所取得的打印机的识别信息对应的输出用处理部SS(发送处理部S或者打印输出用处理部SS4)是否处于起动了的状态(步骤SHA3)。当在步骤SHA2中取得的打印机的识别信息有多个时,管理部KB针对多个打印机的识别信息的每一个判别对应的输出用处理部SS是否是起动了的状态。
这里,与第一打印机KP1的识别信息对应的输出用处理部SS是第一输出用处理部SS1。与第二打印机KP2的识别信息对应的输出用处理部SS是第二输出用处理部SS2。与第三打印机KP3的识别信息对应的输出用处理部SS是第三输出用处理部SS3。另外,与控制打印机SP的识别信息对应的输出用处理部SS是打印输出用处理部SS4。
当与在步骤SHA2中取得的打印机的识别信息对应的输出用处理部SS处于起动了的状态时(步骤SHA3:是),管理部KB将处理步骤返回到步骤SHA1。该情况下,如后述说明那样,通过处于已经起动了的状态的输出用处理部SS来处理被写入到打印队列Q的打印数据。
对于与在步骤SHA2中取得的打印机的识别信息对应的输出用处理部SS而言,在即便有一个未起动的情况下(步骤SHA3:否),管理部KB都将与未起动的输出用处理部SS的识别信息对应的输出用处理部SS起动(步骤SHA4)。例如,在所取得的打印机的识别信息是第一打印机KP1的识别信息、第一输出用处理部SS1未起动的情况下,管理部KB通过起动第一输出用任务来将第一输出用处理部SS1起动。
在以下的使用了图21的说明中,设在步骤SHA4中管理部KB起动了第一输出用处理部SS1,对第一输出用处理部SS1的处理进行说明。虽然省略了关于第二输出用处理部SS2、以及第三输出用处理部SS3的处理的详细说明,但这些输出用处理部SS在起动后执行与以下说明的处理同样的处理。
如图21(B)所示,第一输出用处理部SS1参照打印队列Q中保存的未读出的打印数据中的在时间上最早被写入的打印数据的内容,取得打印数据所含的打印机的识别信息(步骤SIA1)。
接下来,第一输出用处理部SS1判别所取得的打印机的识别信息、与第一打印机KP1的识别信息(对应的识别信息)是否一致(步骤SIA2)。此外,第二输出用处理部SS2判别所取得的打印机的识别信息与第二打印机KP2的识别信息是否一致。另外,第三输出用处理部SS3在与步骤SIA2对应的处理中,判别所取得的打印机的识别信息与第三打印机KP3的识别信息是否一致。
在不一致的情况下(步骤SIA2:否),第一输出用处理部SS1判别打印队列Q中是否存在未读出且未实施步骤SIA1的识别信息的取得、以及步骤SIA2的比较的打印数据(步骤SIA3)。
在有打印数据的情况下(步骤SIA3:是),第一输出用处理部SS1取得未读出的打印数据中的在上次进行了识别信息的取得、以及比较的打印数据的之后保存的打印数据的识别信息(步骤SIA4),然后将处理步骤移至步骤SIA2。
在没有打印数据的情况下(步骤SIA3:否),第一输出用处理部SS1通过将第一输出用任务停止而停止(步骤SIA5)。
另一方面,在步骤SIA2中,当所取得的打印机的识别信息、与第一打印机KP1的识别信息一致时(步骤SIA2:是),第一输出用处理部SS1从打印队列Q读出取得了打印机的识别信息的打印数据(步骤SIA6)。
接下来,第一输出用处理部SS1对局域网通信部144进行控制,将读出的打印数据发送(输出)给第一打印机KP1(步骤SIA7)。第一输出用处理部SS1预先取得第一打印机KP1的IP地址、MAC地址等为了向第一打印机KP1发送数据所需要的信息并进行管理。
如图21(C)所示,第一打印机KP1的第一控制部601对第一通信部611进行控制来接收打印数据(步骤SJA1)。
接下来,第一控制部601将接收到的打印数据转换成遵照第一打印部621的指令体系的控制指令,并基于控制指令使第一打印部621执行基于控制指令的处理(步骤SJA2)。由于打印数据是收据打印数据,所以步骤SJA2的处理的结果是,由第一打印机KP1发行收据。
接下来,第一控制部601生成对打印数据的处理结果进行表示的数据(以下称为“处理结果通知数据”),并对第一通信部611进行控制来发送给控制打印机SP(步骤SJA3)。
如图21(B)所示,控制打印机SP的第一输出用处理部SS1监视在打印数据的发送后,是否接收到处理结果通知数据(步骤SIA8)。
在接收到处理结果通知数据的情况下(步骤SIA8:是),第一输出用处理部SS1通过中断等手段,将表示处理结果的信息输出给管理部KB(步骤SIA9)。表示处理结果的信息中包括进行了处理的打印数据的打印数据识别信息。关于管理部KB对表示处理结果的信息的利用方法将后述。
接下来,第一输出用处理部SS1将处理步骤移至步骤SIA3。
综上所述,第一输出用处理部SS1是具有对第一打印机KP1发送打印数据的功能的功能模块。第一输出用处理部SS1以包括第一打印机KP1的识别信息的打印数据向打印队列Q的保存为触发而被起动。第一输出用处理部SS1在起动后,针对打印队列Q中保存的打印数据中的未读出的打印数据,以所保存的顺序、换言之以接收到的顺序判别打印数据所含的识别信息与第一打印机KP1的识别信息是否一致。而且,第一输出用处理部SS1在识别信息一致的情况下,读出识别信息一致的打印数据并发送给第一打印机KP1。
通过这样的结构,第一输出用处理部SS1针对第一打印机KP1的处理对象的打印数据,能够以打印队列Q中保存的顺序、换言之以接收到的顺序进行发送。例如,在是与第一打印机KP1对应地将具有发送打印数据的功能的多个处理部起动,多个处理部独立地执行打印数据的读出、发送的构成的情况下,可能产生无法以接收到打印数据的顺序来进行打印数据的发送这一情况。另一方面,根据本实施方式,能够防止该情况的发生。
另外,第一输出用处理部SS1在打印队列Q中没有是第一打印机KP1的处理对象且未读出的打印数据的情况下停止。即,第一输出用处理部SS1在不需要进行处理的情况下停止。通过该结构,能够抑制第一输出用处理部SS1维持被不必要地起动的状态,可实现CPU等硬件资源、其他资源的有效利用。
以上的情况对于第二输出用处理部SS2、以及第三输出用处理部SS3也同样。
接下来,对管理部KB起动了打印输出用处理部SS4之后的打印输出用处理部SS4、以及打印控制部140c的动作进行说明。
图22(A)是表示打印输出用处理部SS4的动作的流程图,(B)是表示打印控制部140c的动作的流程图。
管理部KB在打印队列Q中保存有含有控制打印机SP的识别信息的打印数据的情况下,如果打印输出用处理部SS4未起动,则通过将打印输出用任务起动,来起动打印输出用处理部SS4(步骤SXA1)。
如图22(A)所示,打印输出用处理部SS4参照打印队列Q中保存的未读出的打印数据中的在时间上最早被写入的打印数据的内容,取得打印数据所含的打印机的识别信息(步骤SKA1)。
打印输出用处理部SS4判别所取得的打印机的识别信息、与控制打印机SP的识别信息(对应的识别信息)是否一致(步骤SKA2)。
在不一致的情况下(步骤SKA2:否),打印输出用处理部SS4判别打印队列Q中是否有未读出且未实施步骤SKA2的识别信息的取得、以及比较的打印数据(步骤SKA3)。
在有打印数据的情况下(步骤SKA3:是),打印输出用处理部SS4读出未读出的打印数据中的在上次进行了识别信息的取得、以及比较的打印数据之后保存的打印数据(步骤SKA4),然后将处理步骤移至步骤SKA2。
在没有打印数据的情况下(步骤SKA3:否),打印输出用处理部SS4通过将打印输出用任务停止而停止(步骤SKA5)。
另一方面,在步骤SKA2中,当所取得的打印机的识别信息、与控制打印机SP的识别信息一致时(步骤SKA2:是),打印输出用处理部SS4从打印队列Q读出取得了打印机的识别信息的打印数据(步骤SKA6)。
接下来,打印输出用处理部SS4将读出的打印数据输出给打印控制部140c(步骤SKA7)。
如图22(B)所示,打印控制部140c将打印数据转换成遵照控制打印机打印部41的指令体系的控制指令,基于控制指令来使控制打印机打印部141执行基于控制指令的处理(步骤SLA1)。由于打印数据是收据打印数据,所以步骤SLA1的处理的结果是,由控制打印机SP发行收据。
接下来,打印控制部140c将表示打印数据的处理结果的信息输出给打印输出用处理部SS4(步骤SLA2)。
如图22(A)所示,打印输出用处理部SS4监视在打印数据的输出后,是否被输入表示处理结果的信息(步骤SKA8)。
在被输入表示处理结果的信息的情况下(步骤SKA8:是),打印输出用处理部SS4通过中断等手段,将表示处理结果的信息输出给管理部KB(步骤SKA9)。表示处理结果的信息中包括进行了处理的打印数据的打印数据识别信息。关于管理部KB对表示处理结果的信息的利用方法将后述。
接下来,打印输出用处理部SS4将处理步骤移至步骤SKA3。
综上所述,打印输出用处理部SS4以包括控制打印机SP的识别信息的打印数据向打印队列Q的保存为触发而被起动。打印输出用处理部SS4在起动后,针对打印队列Q中保存的打印数据中的未读出的打印数据,以所保存的顺序、换言之以接收到的顺序,判别打印数据所含的识别信息与控制打印机SP的识别信息是否一致。而且,打印输出用处理部SS4在识别信息一致的情况下,读出识别信息一致的打印数据并输出给打印控制部140c。打印控制部140c基于打印数据来进行打印。
通过这样的结构,打印输出用处理部SS4针对控制打印机SP的处理对象的打印数据,能够以打印队列Q中保存的顺序,换言之以接收到的顺序进行处理。另外,打印输出用处理部SS4在打印队列Q中没有是控制打印机SP的处理对象的打印数据且未读出的打印数据的情况下停止。即,打印输出用处理部SS4在不需要进行处理的情况下停止。通过该结构,能够抑制打印输出用处理部SS4维持被不必要地起动的状态,可实现CPU等硬件资源、其他资源的有效利用。
接下来,对管理部KB的其他的处理进行说明。
图23是表示管理部KB的动作的流程图。
管理部KB监视是否被输入表示处理结果的信息(步骤SMA1)。如上所述,表示处理结果的信息中包括进行了处理的打印数据的打印数据识别信息。
在被输入表示处理结果的信息的情况下(步骤SMA1),管理部KB生成包括打印数据识别信息并对基于打印数据的打印结束进行通知的处理结果通知,通过中断等手段输出给接收用处理部JS(步骤SMA2)。然后,接收用处理部JS将处理步骤返回到步骤SMA1。
如以上说明那样,本实施方式涉及的打印数据处理系统101具备打印数据分发服务器SV(打印数据分发装置)、和具有从打印数据分发服务器SV接收打印数据的接收用处理部JS的控制打印机SP(信息处理装置)。
控制打印机SP的接收用处理部JS与基于打印数据的打印是否结束无关地空开间隔来对打印数据分发服务器SV询问打印数据的有无,当打印数据分发服务器SV中存在打印数据时执行进行接收的非同步处理(第一处理)。
根据该结构,控制打印机SP与基于接收到的打印数据的打印是否结束无关地对打印数据分发服务器SV询问打印数据的有无,在有打印数据的情况下进行接收。因此,控制打印机SP能够与基于打印数据的处理的状况无关地询问打印数据的有无,能够缩短在打印数据分发服务器SV变为能够发送打印数据之后到控制打印机SP接收打印数据为止产生的时间。
另外,在本实施方式中,控制打印机SP的接收用处理部JS在基于接收到的打印数据的打印结束的情况下,将通知该情况的打印结束通知数据(打印结束通知)发送给打印数据分发服务器SV。打印数据分发服务器SV在接收到打印结束通知数据的情况下,将对应的打印数据与打印结束信息KJ(表示打印结束的信息)建立对应地进行存储,另外,在从控制打印机SP有打印数据的有无的询问的情况下,发送不处于与打印结束信息KJ建立了对应的状态的打印数据。控制打印机SP的接收用处理部JS在从打印数据分发服务器SV接收到打印数据的情况下,将新接收到的打印数据与之前接收到的打印数据进行比较,在数据一致的情况下,将新接收到的打印数据废弃。
根据该结构,控制打印机SP在接收到打印数据的情况下,由于在新接收到的打印数据与之前接收到的打印数据一致的情况下,将新接收到的打印数据废弃,所以能够防止基于重复接收到的打印数据来重复地执行处理。
另外,在本实施方式中,其特征在于,控制打印机SP的接收用处理部JS根据将打印数据废弃的频度,来使询问打印数据的有无的间隔变化。
根据该结构,在与基于打印数据的打印所需要的时间相比,询问打印数据的间隔较短,处于打印数据被频繁废弃的状态的情况下,能够对间隔进行调整来消除该状态。
另外,在本实施方式中,控制打印机SP的接收用处理部JS将接收到的打印数据保存到打印队列Q(规定的存储区域),根据打印队列Q的状态来使询问打印数据的有无的间隔变化。
根据该结构,能够根据打印队列Q的空闲区域的状态等打印队列Q的状态来调整询问打印数据的时间,可抑制溢出的产生等。
另外,在本实施方式中,控制打印机SP的接收用处理部JS能够执行在接收到打印数据之后到基于接收数据的打印结束为止的期间不进行打印数据的有无的询问,而在打印结束之后进行询问的同步处理(第二处理)。能够通过设定UI来设定使控制打印机SP执行非同步处理与同步处理中的哪一个。
根据该结构,能够根据打印数据处理系统101的式样等来切换非同步处理与同步处理。
另外,本实施方式涉及的打印数据处理系统101具备与控制打印机SP进行通信的打印机KP。控制打印机SP具有将接收到的打印数据发送给打印机KP的输出部140b。控制打印机SP的接收用处理部JS与基于接收到的打印数据的由打印机KP进行的打印是否结束无关地空开间隔对打印数据分发服务器SV询问打印数据的有无。
根据该结构,由于控制打印机SP与所连接的打印机KP的处理的状况无关地对打印数据分发服务器SV询问打印数据的有无,所以可缩短在打印数据分发服务器SV变为能够发送打印数据之后到控制打印机SP接收打印数据为止所产生的时间。
另外,在本实施方式中,控制打印机SP的接收用处理部JS与基于接收到的打印数据的由控制打印机打印部141进行的打印是否结束无关地空开间隔对打印数据分发服务器SV询问打印数据的有无。
根据该结构,由于控制打印机SP与控制打印机打印部141的处理的状况无关地对打印数据分发服务器SV询问打印数据的有无,所以能够缩短在打印数据分发服务器SV变为能够发送打印数据之后到控制打印机SP接收打印数据为止所产生的时间。
此外,上述的实施方式只是表示本发明的一个方式的例子,能够在本发明的范围内任意变形以及应用。
例如,在上述的实施方式中,为了在执行非同步处理的情况下,判别是否从打印数据分发服务器SV重复接收到打印数据,接收用处理部JS将既接收到的打印数据的打印数据识别信息、与新接收到的打印数据的打印数据识别信息进行比较。但并不局限于此,接收用处理部JS例如也可以存储过去接收到的打印数据,并将过去接收到的打印数据与新接收到的打印数据的全部或者一部分进行比较,另外,还可以计算哈希值等,并对哈希值等进行比较。
在上述的实施方式中,例示了打印数据处理系统101在提供饮食物的店铺被使用的情况,但也可以设于其他的施设。
另外,图12、图13、图14所示的各功能模块能够由硬件和软件任意地实现,并不限于特定的硬件构成。
<变形例>
接下来,对变形例进行说明。
在变形例中,管理部KB、以及输出用处理部SS的处理不同。
在上述的实施方式中,输出用处理部SS从打印队列Q读出了打印数据。
另一方面,也可以是管理部KB读出打印数据的构成。
详细而言,管理部KB在保存有打印数据的情况下取得打印数据所含的识别信息,在不存在与所取得的识别信息对应的输出用处理部SS的情况下,将与所取得的识别信息对应的输出用处理部SS起动。更详细而言,管理部KB在打印数据所含的识别信息是打印机KP的识别信息的情况下,使发送处理部S起动,在是控制打印机SP的识别信息的情况下,使打印输出用处理部SS4起动。
在起动了输出用处理部SS之后,管理部KB针对打印队列Q中保存的未读出的打印数据,以所保存的顺序将打印数据所含的识别信息、与所取得的识别信息进行比较。管理部KB在识别信息一致的情况下,读出打印数据,并输出给起动了的输出用处理部SS。在打印数据的输出之后,管理部KB将打印数据向起动了的输出用处理部SS的输出停止,直到被输入表示处理结果的信息为止。
输出用处理部SS对被输入的打印数据进行处理。更详细而言,在输出用处理部SS是发送处理部S的情况下,输出用处理部SS对对应的打印机KP发送打印数据。在输出用处理部SS是打印输出用处理部SS4的情况下,输出用处理部SS对打印控制部40c输出打印数据。而且,输出用处理部SS将表示处理结果的信息输出给管理部KB。
在被输入了表示处理结果的信息的情况下,管理部KB针对在上次读出的打印数据之后保存的打印数据,进行识别信息的比较,在一致的情况下,进行打印数据的读出、输出。在识别信息不一致的情况下,管理部KB针对之后保存的打印数据进行识别信息的比较、以及基于比较结果的处理。
在打印队列Q中没有未读出且未实施识别信息的比较的打印数据的情况下,管理部KB通过将对应的任务停止,来停止起动了的输出用处理部SS。
通过该结构,也能够起到与上述的实施方式同样的效果。
例如,管理部KB对起动了的输出用处理部SS,以接收到的顺序输出输出用处理部SS成为处理对象的打印数据。因此,能够使打印机KP以接收到的顺序对打印数据进行处理,另外,能够以通过控制打印机SP接收到的顺序对打印数据进行处理。
如以上说明那样,在变形例中,管理部KB以接收到的按顺序读出打印队列Q中保存的打印数据,对与读出的打印数据所含的识别信息对应的输出用处理部SS输出读出的打印数据。输出用处理部SS将从管理部KB输入的打印数据输出给对应的识别信息的打印机KP。
根据该结构,输出用处理部SS针对对应的打印机KP,以接收到的顺序发送打印数据,控制打印机SP在将从打印数据分发服务器SV接收到的打印数据发送给打印机KP的情况下,能够以从打印数据分发服务器SV接收到的顺序进行发送。
另外,在变形例中,管理部KB在对与一个识别信息对应的输出用处理部SS输出打印数据之后,到基于输出的打印数据的打印机KP的处理结束为止的间,不将下一个打印数据输出给与该一个识别信息对应的输出用处理部SS。
根据该结构,管理部KB针对输出用处理部SS,能够在基于打印数据的打印结束之后,发送下一个打印数据。
另外,在变形例中,管理部KB在不存在与打印数据所含的识别信息对应的输出用处理部SS的情况下重新起动输出用处理部SS,在存在的情况下不起动输出用处理部SS。
根据该结构,能够防止与1个打印机KP对应地重复起动多个输出用处理部SS。
另外,在变形例中,管理部KB在起动了与一个识别信息对应的输出用处理部SS之后,打印队列Q中没有未读出的包括该一个识别信息的打印数据的情况下,将与该一个识别信息对应的输出用处理部SS停止。
根据该结构,在针对1个输出用处理部SS不需要处理的情况下,能够抑制该1个输出用处理部SS维持被不必要地起动的状态。
另外,在变形例中,管理部KB在通过接收部40a将包括控制打印机SP的识别信息的打印数据保存到打印队列Q的情况下,使打印输出用处理部SS4起动,在从打印队列Q读出了包括控制打印机SP的识别信息的打印数据的情况下,将读出的打印数据输出给打印输出用处理部SS4。打印输出用处理部SS4将被输入的打印数据输出给打印控制部40c。
根据该结构,控制打印机SP能够针对自身应该处理的打印数据以接收到的顺序进行处理来执行打印。
附图标记说明:1…打印数据处理系统;40a…接收部;40b…输出部;40c…打印控制部;41…控制打印机打印部(打印部);101…打印数据处理系统;140a…接收部;140b…输出部;140c…打印控制部;141…控制打印机打印部;SV…打印数据分发服务器(打印数据分发装置);SP…控制打印机(信息处理装置、打印装置);JS…接收用处理部;JS1…第一接收用处理部(接收用处理部);JS2…第二接收用处理部(接收用处理部);JS3…第三接收用处理部(接收用处理部);SP…控制打印机(信息处理装置);SV…打印数据分发服务器(打印数据分发装置);SS1…第一输出用处理部(输出用处理部);SS2…第二输出用处理部(输出用处理部);SS3…第三输出用处理部(输出用处理部);SS4…打印输出用处理部(输出用处理部);Q…打印队列(存储区域);KB…管理部;KP1…第一打印机(打印设备);KP2…第二打印机(打印设备);KP3…第三打印机(打印设备)。