掌桥专利:专业的专利平台
掌桥专利
首页

信息处理方法、信息处理设备和存储介质

文献发布时间:2023-06-19 13:49:36


信息处理方法、信息处理设备和存储介质

技术领域

本公开涉及信息处理方法、信息处理设备和存储介质。

背景技术

实际已经使用了如下网络系统,在该网络系统中,经由网络彼此连接的多个信息处理设备共享诸如打印机的装置。日本特开2006-99747公开了一种打印系统,该打印系统允许连接至特定个人计算机(服务器PC)的打印机被经由网络所连接的不同个人计算机(客户端PC)使用。

在这种使用网络的打印系统中,在客户端PC上创建的打印数据被客户端PC或服务器PC转换为打印机描述语言(PDL)。然后,服务器PC中的语言监视器将生成的PDL发送到打印机,并打印图像。

然而,例如,在诸如最近的Windows(注册商标)的特定操作系统(OS)中,对于从客户端PC接收到的打印作业,可能不会启动由供应商提供的语言监视器。在这种情况下,在服务器PC上启动用以掌握打印机使用状态的程序(诸如管理工具)无法与客户端PC进行互斥。另外,某些系统最初不具有语言监视器,并且在这种情况下也无法与客户端PC进行互斥。结果,基于诸如打印机驱动器等的程序与打印机的通信和基于诸如管理工具等的程序与打印机的通信可能以混合的方式发生,从而妨碍了适当的通信。

发明内容

做出本公开的实施例以解决上述问题,并且本公开的实施例使得能够在如下打印系统中适当地进行通信,在该打印系统中,能够与打印机通信的第一信息处理设备和能够经由第一信息处理设备与打印机通信的第二信息处理设备经由网络相互连接。在本公开的第一方面,提出了一种信息处理方法,其由第一信息处理设备执行,在打印系统中,所述第一信息处理设备能够与打印机通信,所述第一信息处理设备和第二信息处理设备经由网络连接,所述第二信息处理设备能够经由所述第一信息处理设备与所述打印机通信,所述信息处理方法包括:获得关于所述打印机的通信的设置信息;通过与所述打印机通信来从所述打印机获得关于所述打印机的状态的信息,获得关于所述打印机的状态的信息是基于来自用户的命令的输入而开始的;以及在所述设置信息指示所述打印机准备好经由所述第一信息处理设备与所述第二信息处理设备通信、并且所述第二信息处理设备基于打印数据生成打印机描述语言即PDL的情况下,在等待与所述打印机通信时执行预定处理,其中,获得关于所述打印机的状态的信息和执行所述预定处理是由所述第一信息处理设备上的各自不同的程序来执行的。

在本公开的第二方面,提出了一种非暂时性计算机可读存储介质,其包括程序指令,所述程序指令在被第一信息处理设备的计算机执行时使所述第一信息处理设备进行以下操作:获得关于打印机的通信的设置信息;通过与所述打印机通信来从所述打印机获得关于所述打印机的状态的信息,获得关于所述打印机的状态的信息是基于来自用户的命令的输入而开始的;以及在所述设置信息指示所述打印机准备好经由所述第一信息处理设备与第二信息处理设备通信、并且所述第二信息处理设备基于打印数据生成打印机描述语言即PDL的情况下,在等待与所述打印机通信时执行预定处理,其中,获得关于所述打印机的状态的信息和执行所述预定处理是由所述第一信息处理设备上的各自不同的程序来执行的。

在本公开的第三方面,提出了一种信息处理设备,其介于打印机和经由网络连接到所述信息处理设备的不同信息处理设备之间,并且能够控制所述打印机和所述不同信息处理设备之间的通信,所述信息处理设备包括:设置信息获得单元,用于获得关于所述打印机的通信的设置信息;状态信息获得单元,用于基于来自用户的命令的输入,通过与所述打印机通信来从所述打印机获得关于所述打印机的状态的信息;以及执行单元,用于在所述设置信息指示所述打印机准备好经由所述信息处理设备与所述不同信息处理设备通信、并且所述不同信息处理设备基于打印数据生成打印机描述语言即PDL的情况下,使所述状态信息获得单元等待与所述打印机通信,并且执行预定处理,其中,所述状态信息获得单元获得关于所述打印机的状态的信息和所述执行单元执行所述预定处理是由所述信息处理设备上的各自不同的程序来执行的。

通过以下参照附图对示例性实施例的描述,本公开的其他特征将变得清楚。

附图说明

图1是打印系统的示意图;

图2是示出服务器PC的硬件结构的框图;

图3是示出服务器PC和打印机A中的功能的结构的框图;

图4A和图4B各自是示出客户端PC和服务器PC中的功能的结构的框图;

图5是示出打印机A的打印机共享设置画面的图;

图6是示出使用历史显示画面的图;

图7是示出由服务器PC的过滤器执行的处理的流程图;

图8是示出由服务器PC的管理工具执行的处理的流程图;

图9A和图9B是各自示出指导对话框的图;

图10A和图10B是示出由服务器PC的管理工具执行的处理的流程图;

图11是示出由客户端PC的过滤器执行的处理的流程图;

图12A和图12B是示出由服务器PC的管理工具执行的处理的流程图;并且

图13是示出通知对话框的图。

具体实施方式

以下参照附图详细描述本公开的实施例。

(第一实施例)

图1是在本实施例中使用的打印系统的示意图。服务器PC 1和客户端PC40可以经由网络20彼此通信。打印机A 30是经由通信接口10直接连接至服务器PC 1的本地打印机。可用作网络20的网络的示例包括局域网(LAN)和广域网(WAN)。与网络20的连接可以是有线或无线形式,并且,这两种方式可以共存。通信接口10可以是任何形式,只要其允许相互通信即可,例如,可以使用通用串行总线(USB)。

在本实施例中,将直接连接到打印机A 30的PC称为服务器PC 1,并且为了方便起见,将可以经由服务器PC 1使用打印机A 30的PC称为客户端PC 40,但是它们两者都可以具有一般的作为PC的功能。

图2是示出服务器PC 1的硬件结构的框图。CPU 101使用RAM 103作为工作区域,根据存储在ROM 102或硬盘104中的程序来进行设备的整体控制。例如,CPU 101将安装在硬盘104中的OS或应用加载到RAM 103,并根据读出的程序执行各种程序。

输入装置105例如是键盘和/或鼠标,并且是用于从用户接收指令的装置。显示装置106例如是阴极射线管(CRT)显示器,并且显示信息以通知用户。在插入软盘的情况下,盘控制器107按照CPU 101的指示来控制对软盘的数据存取。通信控制单元108按照CPU 101的指示来控制与外部连接的打印机A 30的通信。

通过CPU 101使用RAM 103作为工作区域,根据加载到RAM 103的OS的程序,来执行稍后描述的图7、图8、图10A至图12B所示的流程图。尽管以上描述被提供为服务器PC 1的硬件结构,但是客户端PC 40可以具有相同的结构。在本实施例中,CPU 101、ROM 102、RAM 103等形成了作为本实施例的信息处理设备的服务器PC的计算机。

图3是示出服务器PC 1和打印机A 30中的功能的结构的框图。服务器PC 1中所示的功能块由安装在服务器PC 1中的OS管理。本实施例假设如下模式,在该模式中,Windows10(注册商标)用作OS,并且V4架构用作打印系统。在V4架构中,客户端PC 40不具有能够掌握由稍后描述的管理工具6进行的通信的语言监视器。注意,V3架构可以用作打印系统。在使用V3架构的情况下,客户端PC 40具有语言监视器,但是在诸如禁用语言监视器的情况下,可能发生本公开要解决的问题。

应用2按照用户的指示,将关于生成的图像的打印作业置于假脱机程序3中。

假脱机程序3包括过滤器4和端口监视器5。假脱机程序3是由服务器PC 1中的OS实现的功能。另一方面,过滤器4是由打印机A的供应商提供的打印机驱动器提供的功能。过滤器4使用打印队列来管理打印作业,并且同时,将打印作业中的打印数据转换为打印机描述语言(PDL)。端口监视器5经由USB接口(I/F)7将假脱机程序3生成的PDL发送到打印机A 30。

管理工具6是由打印机A 30的供应商提供的程序实现的功能,并且管理由打印机A30执行的打印处理的历史和进度。在本示例性实施例中,管理工具6是与打印机驱动器不同的程序。例如,管理工具6按照用户的指示来生成用于请求关于打印处理的历史的信息的命令,并且经由USB I/F 7将该命令发送到打印机A 30。管理工具6从打印机A 30接收关于打印处理的历史的信息,并在显示装置106上显示接收到的信息(见图2)。

端口监视器5对PDL的发送以及管理工具6对管理信息的发送和接收均经由USB I/F 7进行,但是在本实施例中,进行控制,使得不可以以混合的方式传输这些信息。稍后将给出关于该控制的细节。

N/W I/F 8是服务器PC 1向/从与网络20连接的其他装置传递/接收信息的接口。

如前所述,假脱机程序3是由服务器PC 1中的OS实现的功能,而不是由打印机A 30的供应商提供的程序实现的功能。因此,在本实施例中,假脱机程序3不能控制与管理工具6的通信,因此不能执行稍后描述的互斥。另一方面,与管理工具6一样,过滤器4是由打印机A30的供应商提供的程序实现的功能,因此可以控制与管理工具6的通信并执行稍后描述的互斥。

打印机A 30包括USB I/F 31、打印机控制单元32和打印单元33。USB I/F 31是用于向/从服务器PC 1传递/接收信息的接口。打印单元33是打印机A 30的引擎部分,并且由打印机控制单元32控制。打印机控制单元32进行操作,诸如使打印单元33基于从服务器PC1接收的PDL打印图像、基于从服务器PC 1接收的历史信息命令来获得历史信息、以及经由USB I/F 31将历史信息发送到服务器PC 1。

图4A和图4B是示出如下控制结构的图,在该控制结构中,客户端PC 40的用户使打印机A 30打印在客户端PC 40上生成的图像。尽管在图4A和图4B中被省略,但是图1中所示的打印机A 30经由USB I/F 7连接到服务器PC 1。

客户端PC 40具有应用41、假脱机程序42和N/W I/F 44。假脱机程序42包括过滤器43。应用41、过滤器43和N/W I/F 44的功能分别与服务器PC 1中的应用2、过滤器4和N/W I/F 8相同。尽管所示的打印系统包括服务器PC 1和一个客户端PC 40,但是更多的PC可以连接到网络20。

在本实施例的打印系统中,关于基于在客户端PC 40上创建(生成)的打印作业的打印,服务器PC 1的用户可以设置是通过服务器PC 1还是通过客户端PC 40将打印数据转换为PDL。

图4A示出了服务器PC 1接收在客户端PC 40上创建的打印作业中的打印数据并将该打印数据转换为PDL的情况。在这种情况下,客户端PC 40的假脱机程序42不启动过滤器43,而是将应用41中生成的打印作业发送到服务器PC 1。服务器PC 1的假脱机程序3启动过滤器4,然后过滤器4将从客户端PC 40接收到的打印作业中包括的打印数据依次转换为PDL,并将该PDL置于端口监视器5中。端口监视器5经由USB I/F 7将接收到的PDL发送到打印机A 30。

注意,在从假脱机程序3接收打印数据之后并且在将打印数据转换成PDL之前,过滤器4通过对过滤器4与管理工具6共享的互斥体(mutex)进行锁定来进行互斥。过滤器4在互斥有效的情况下进行PDL转换,并将转换后的数据移交给假脱机程序3。因此,假脱机程序3在互斥有效的状态下将打印作业发送到打印机A 30。在将打印作业发送到打印机A 30之后,过滤器4取消互斥。

以此方式,在服务器PC 1的假脱机程序3进行PDL转换的情况下,在从客户端PC 40接收到的打印作业被发送到打印机A 30之前,存在过滤器4可以控制管理工具6的定时。因此,服务器PC 1的过滤器4和管理工具6可以对彼此的处理进行互斥,使得经由USB I/F 7的数据发送和接收不会以混合的方式同时发生。稍后将描述互斥。

图4B示出了客户端PC 40在将打印作业发送到服务器PC 1之前进行在客户端PC40中创建的打印作业中的打印数据的PDL转换的情况。在这种情况下,客户端PC 40的假脱机程序42启动过滤器43,然后,过滤器43将在应用41中生成的打印作业中包括的打印数据依次转换为PDL。然后,客户端PC 40经由N/W I/F 44将打印命令和所生成的PDL一起作为打印作业发送到服务器PC1。服务器PC 1的假脱机程序3不启动过滤器4,而是将从客户机PC40接收的PDL置于端口监视器5中。端口监视器5经由USB I/F 7,将置于其中的PDL发送到打印机A 30。

以此方式,在客户端PC 40的假脱机程序42生成PDL的情况下,在从客户端PC 40接收到的打印作业被发送到打印机A 30之前,不存在过滤器4可以控制管理工具6的定时。因此,服务器PC 1的管理工具6不能使用现有方法与过滤器4进行互斥。因此,在基于从客户端PC 40发出的打印作业进行打印操作期间,本实施例的管理工具6进行暂停控制,而非互斥。暂停控制是为了由管理工具6本身进行的处理而暂停发送和接收,并将在后面详细描述。

图5是示出用于打印机A 30的打印机共享设置画面的图。服务器PC 1的用户可以从OS中的打印机属性画面打开图5所示的设置画面50,并在设置画面50上设置各种设置。

在设置画面50上,复选框51是用于设置是否将打印机A 30与经由网络连接到服务器PC 1的其他PC共享的框。在本实施例中,服务器PC 1与不同设备共享打印机A 30的状态是如下状态,在该状态中,不仅允许打印机A 30与服务器PC 1之间的通信,而且允许打印机A 30经由服务器PC 1与不同设备之间的通信。换句话说,在服务器PC 1与不同设备共享打印机A 30的状态下,服务器PC 1将从不同设备接收的数据发送到打印机A 30。在这种情况下,服务器PC 1可以将基于从不同设备接收到的数据而新生成的数据、或通过处理从不同设备接收到的数据而生成的数据,发送到打印机A 30。

一旦在选中复选框51的情况下按下OK按钮54,则在服务器PC 1与客户端PC 40之间共享打印机A 30。文本框52是用于编辑要共享的打印机A 30的共享名称的框。复选框53是用于设置是要由客户端PC 40还是要由服务器PC 1生成PDL的框。一旦在选中复选框53的情况下按下OK按钮54,则已经创建了打印作业的客户端PC 40在此之后进行的打印处理中生成PDL。如果在未选中复选框53的情况下按下OK按钮54,则服务器PC 1在此后进行的打印处理中生成PDL。在按下取消按钮55的情况下,无论是选中还是未选中复选框51和53,都禁用设置。复选框中的选中/未选中状态被保存为关于打印机A 30的设置信息,并在必要时被读出。

图6是示出由服务器PC 1的管理工具6在显示设备106上显示的使用历史显示画面60的图。在打印机选择列表61中显示连接到服务器PC 1的打印机的名称。尽管图6示出了仅打印机A 30通过USB连接的情况,但是在连接多个打印机的情况下显示多个打印机名称。

一旦用户从打印机选择列表61中显示的打印机中选择一个打印机并按下画面右下方的显示历史框63,则管理工具6向选择的打印机请求关于打印处理的历史的信息。然后,在从打印机接收到关于打印处理的历史的信息之后,管理工具6基于接收到的信息显示使用历史列表62。图6示出了如下情况,在该情况中,打印日期和时间、用户名、薄片类型、薄片尺寸和份数被显示为关于由打印机A 30进行的各打印处理的信息。一旦用户按下结束按钮64,则管理工具6关闭使用历史显示画面60。

图7是示出在服务器PC 1生成PDL的情况下由服务器PC 1的过滤器4执行的处理的流程图。通过假脱机程序3基于从客户端PC 40接收到打印作业而启动过滤器4,来开始该处理。

当开始该处理时,在S11中,过滤器4首先锁定与管理工具6共享的互斥体。这样禁止了管理工具6与打印机A 30进行任何发送和接收。

在S12中,过滤器4从假脱机程序3接收打印数据。

在S13中,过滤器4基于接收到的打印数据生成PDL。

在S14中,过滤器4输出在S13中生成的PDL。然后,假脱机程序3经由端口监视器5和USB I/F 7将由过滤器4输出的PDL发送到打印机A 30。

在S15中,过滤器4确定是否已经从假脱机程序3接收到所有打印数据。如果过滤器4确定仍存在要接收的打印数据,则过滤器4返回到S12,以从假脱机设备3接收下一个打印数据。如果过滤器4确定为已经接收到所有打印数据,则过滤器4进行到S16。

在S16中,过滤器4解锁在S11中锁定的互斥体。这使得管理工具6能够与打印机A30进行发送和接收。因此,处理结束。

互斥体是在过滤器4与管理工具6之间用于互斥的工具。过滤器4和管理工具6中的一个对互斥体的锁定会禁止另一个与打印机A 30进行任何发送和接收,而互斥体的解锁会许可发送和接收。过滤器4和管理工具6各自在开始处理之前锁定互斥体,并在完成处理之后解锁互斥体。这有助于防止经由USB I/F 7同时发送或接收用于过滤器4的信息和用于管理工具6的信息。

在本实施例中,在过滤器4正在执行PDL处理的同时,即使管理工具6接收到针对与打印机A 30有关的打印处理的历史信息的请求,管理工具6也不能将该信息发送给打印机A30。管理工具6必须等待直到互斥体被过滤器4解锁为止。然后,在S16中过滤器4解锁互斥体之后,管理工具6现在锁定互斥体并将请求命令发送到打印机A 30并从打印机A 30接收使用历史信息。

图8是示出由服务器PC 1的管理工具6执行的状态信息获得处理的流程图。一旦用户按下图6所示的显示历史框63,则开始该处理。

当开始处理时,在S21中,管理工具6从OS获得打印机共享状态信息。此处获得的信息是在图5所示的设置画面50上设置的信息。因此,在所连接的打印机中,关于选中了复选框51的打印机的共享信息被提供给管理工具6。

在S22中,管理工具6基于在S21中获得的共享信息来确定对象打印机是否被设置为共享。如果管理工具6确定为对象打印机未被设置为共享,则管理工具6进行到S23,以从OS获得关于服务器PC 1当前正在处理或等待处理的打印作业的列表的信息。

在S24中,参照在S23中获得的列表信息,管理工具6确定当前正在处理或等待处理的打印作业是否包括由客户端PC 40绘制(render)的打印作业。具体地,管理工具6将自身(服务器PC 1)的名称与列表信息中的PC的名称相比较,从而确定打印作业是否包括由除服务器PC 1以外的PC绘制的任何打印作业。

在列表包括由客户端PC 40绘制的打印作业的情况下,管理工具6不能允许互斥体在管理工具6与客户端PC 40的过滤器43之间起作用。因此,一旦管理工具6开始上述使用历史信息获得处理,则存在管理工具6和假脱机程序3可能以混合的方式经由USB I/F 7发送或接收信息的问题。为了避免这种风险,在本实施例中,管理工具6重复步骤S23和S24,直到在S24中确定为列表不包括由客户端PC 40绘制的任何打印作业为止。

如果管理工具6在S24中确定为当前正在处理或等待处理的打印作业不包括由客户端PC 40绘制的打印作业,则管理工具6进行到S25以锁定互斥体,以获得打印机A 30的使用历史信息。如果服务器PC 1的过滤器4正在执行图7所示的处理,则互斥体已由过滤器4锁定。因此,管理工具6等待互斥体被过滤器4解锁,并且一旦互斥体解锁则锁定互斥体。

在S26中,管理工具6生成用于向打印机A 30请求其使用历史的命令。在S27中,管理工具6经由USB I/F 7将在S26中生成的使用历史请求命令发送到打印机A 30。在S28中,管理工具6经由USB I/F 7从打印机A 30获得使用历史信息。在S29中,管理工具6确定是否已经获得所有使用历史信息。如果管理工具6确定为仍存在要获得的历史信息,则管理工具6返回到S26以生成新命令。如果管理工具6确定为已经获得所有使用历史信息,则管理工具6进行到S30并解锁互斥体。

然后,在S31中,管理工具6基于在S25至S30中获得的使用历史信息,在显示装置106上显示如图6所示的使用历史显示画面60。由此处理结束。

另一方面,如果管理工具6在S22中确定为打印机被设置为共享,则管理工具6进行到S32,以从OS获得关于设置为进行绘制的PC的信息。此处获得的信息是在图5所示的设置画面50上设置的信息。

在S33中,管理工具6确定设置为进行绘制的PC是否是客户端PC 40。如果设置为进行绘制的PC不是客户端PC 40(即,是服务器PC 1),则管理工具6进行到S23,以在已经描述的步骤S23至S31中,获得并显示打印机A 30的使用历史。如果设置为进行绘制的PC是客户端PC 40,则管理工具6进行到S34。

如果设置为进行绘制的PC是客户端PC 40,则管理工具6无法使互斥体在管理工具6与客户端PC 40的过滤器43之间起作用。因此,一旦管理工具6开始用于获得使用历史信息的处理,则存在管理工具6和假脱机程序3可能以混合的方式经由USB I/F 7发送或接收信息的问题。为了避免这种风险,在设置为进行绘制的PC被设置为除服务器PC 1以外的PC的情况下,本实施例的管理工具6暂时停止获得打印机A 30的使用历史的处理。然后,管理工具6进行处理,以提示用户取消用于共享打印机A 30的设置或者将设置为进行绘制的PC改变为服务器PC 1。在本实施例中,取消共享打印机A 30的设置的模式是如下状态,在该状态中,尽管允许打印机A 30与服务器PC 1之间的通信,但是不允许打印机A 30经由服务器PC1与其他设备之间的通信。换句话说,在服务器PC 1不与不同设备共享打印机A 30(取消共享设置)的状态下,服务器PC 1不将从其他设备发送的数据传送至打印机A 30。

图9A和图9B示出了在图8的S34和S36中由管理工具6向用户显示的指导对话框。

在S34中,管理工具6显示图9A所示的指导对话框70。在指导对话框70中给出了取消打印机共享设置或者将设置为进行绘制的PC改变为服务器PC 1的指导。一旦用户按下继续按钮71、取消按钮72和帮助按钮73中的任何一个,则关闭指导对话框70。

如果管理工具6在S35中确定为已经按下了帮助按钮73,则管理工具6进行到S36以显示图9B所示的指导对话框75。在指导对话框75中呈现了关于如何取消打印机共享设置或如何将设置为进行绘制的PC改变为服务器PC的细节。通过遵循上述指导对话框70、75并打开图5所示的设置画面50,用户可以改变关于共享打印机A 30的设置以及关于PDL生成PC的设置。

如果管理工具6在S37中确定为已经按下了继续按钮71,则管理工具6返回到S21。此时,在用户已经根据指导对话框70、75改变了设置的情况下,管理工具6可以根据已经描述的S23至S31进行处理,以顺利地获得并显示打印机A 30的使用历史。可以想到如下情况,其中,在管理工具6在S37中检查对继续按钮71的按下之前从客户端PC 40接收到打印作业。然而,即使在这种情况下,管理工具6也重复步骤S23和S24,直到在S24中确定为列表不包括由客户端PC 40绘制的打印作业为止。因此,关于由客户端PC 40绘制的打印作业而进行的数据通信和由管理工具6进行的数据通信不会以混合的方式发生。

如果管理工具6在S38中确定为已经按下了取消按钮72,则管理工具6结束该处理。

根据上述本实施例,在生成PDL的过滤器是在服务器PC 1上运行的过滤器4的情况下,使用互斥体的互斥有助于防止过滤器4的数据通信和管理工具6的数据通信以混合的方式发生。在生成PDL的过滤器是在客户端PC 40上运行的过滤器43的情况下,管理工具6暂停其处理,并进行处理以提示用户取消共享打印机A 30的设置或者将设置为进行绘制的PC改变为服务器PC 1。这有助于防止经由USB I/F 7以混合的方式发送或接收用于不同程序的信息,并允许适当地进行打印处理。

(第二实施例)

本实施例也使用图1至图6所示的打印系统。在本实施例中,服务器PC 1的管理工具6在监视服务器PC 1的假脱机程序3的处理状态的同时,进行处理以获得打印机A 30的使用历史。

图10A和图10B示出了如下流程图,该流程图示出了由本实施例的服务器PC 1的管理工具6执行的状态信息获得处理。在用户按下图6所示的显示历史框63的定时开始该处理。

当开始该处理时,在S51中,管理工具6首先将暂停标志设置为开(on)作为默认。暂停标志是用于确定管理工具6进行用于获得关于打印机A 30的使用历史的信息的处理是否合适的标志。

在S52中,管理工具6启动用于打印作业的监视线程。之后,管理工具6同时进行主线程的步骤S53至S62和监视线程的步骤S70至S82。

首先,描述主线程。在S53中,管理工具6锁定互斥体。在互斥体已经由过滤器4锁定的情况下,管理工具6等待过滤器4解锁互斥体并在互斥体被解锁之后锁定互斥体。

在S54中,管理工具6检查暂停标志。在S55中,管理工具6确定暂停标志是否为关(off)。在管理工具6在暂停标志被设置为开时开始使用历史信息获得处理的情况下,存在管理工具6和假脱机程序3可能以混合的方式经由USB I/F 7发送或接收信息的问题。为了避免这种风险,管理工具6在重复步骤S54和S55的同时等待直到在S55中确定暂停标志为关为止。

在S55中确定为暂停标志为关之后,管理工具6开始使用历史信息获得处理。之后进行的用于获得使用历史信息的步骤S56至S60与图8所示的步骤S26至S30相同,因此在此不再描述。

在S61中,管理工具6请求结束在S52中启动的监视线程。在S62中,管理工具6基于在S56至S59中获得的使用历史信息,在显示装置106上显示如图6所示的使用历史显示画面60,然后结束处理。

另一方面,在S52中启动监视线程之后,在S71中,管理工具6首先从OS获得打印机共享状态信息。此处获得的信息是在图5所示的设置画面50上设置的信息。

在S72中,管理工具6基于在S71中获得的信息来确定对象打印机是否被设置为共享。如果管理工具6确定为对象打印机未被设置为共享,则管理工具6进行到S80,并且将暂停标志设置为关。如果管理工具6确定为对象打印机被设置为共享,则管理工具6进行到S73。

在S73中,管理工具6从OS获得关于设置为进行绘制的PC的信息。此处获得的信息是在图5所示的设置画面50上设置的信息。

在S74中,管理工具6确定设置为进行绘制的PC是否是客户端PC 40。如果设置为进行绘制的PC不是客户端PC 40(即,是服务器PC 1),则管理工具6进行到S80并且将暂停标志设置为关。如果设置为进行绘制的PC是客户端PC 40,则管理工具6进行到S75。

在S75中,管理工具6从OS获得服务器PC 1中的打印作业处理状态。

在S76中,管理工具6确定服务器PC 1当前是否正在处理打印作业,并且如果服务器PC 1当前未在处理任何打印作业,则进行到S80以将暂停标志设置为关。如果服务器PC 1当前正在处理打印作业,则管理工具6进行到S77。

在S77中,管理工具6从OS获得关于服务器PC 1当前正在处理的打印作业的信息。关于打印作业的信息例如包括生成作业的PC的名称。即使在客户端PC 40生成PDL的情况下,客户端PC 40的OS在生成PDL之前也将关于打印作业的信息发送到服务器PC 1。因此,服务器PC 1的管理工具6可以在客户端PC 40的过滤器43生成PDL之前获得关于打印作业的信息。

在S78中,管理工具6确定服务器PC 1当前正在处理的打印作业是否是在除服务器PC 1之外的PC中创建的打印作业。具体地,管理工具6通过将生成打印作业的PC的名称与服务器PC 1的名称进行比较,来进行该确定。如果管理工具6确定为当前正在处理的打印作业是在服务器PC 1中创建的打印作业,则管理工具6进行到S80,并且将暂停标志设置为关。如果管理工具6确定为当前正在处理的打印作业是在除服务器PC 1以外的PC中创建的打印作业,则管理工具6进入S79。

在S79中,管理工具6将暂停标志设置为开。

在S81中,管理工具6确定是否存在来自主线程的结束监视线程的请求。如果没有请求,则管理工具6进行到S82以等待500毫秒,然后返回到S71。如果存在结束监视线程的请求,则管理工具6结束监视线程。

根据图10A和图10B中所示的流程图,在主线程中,管理工具6在检查暂停标志是否为关的同时,进行步骤S56至S59以获得关于打印机A 30的使用历史的信息。在暂停标志为开的情况下,管理工具6在重复步骤S54和S55的同时等待直到暂停标志被设置为关为止。换句话说,管理工具6通过重复检查暂停标志的步骤、等待直到暂停标志被设置为关为止的步骤、以及获得使用历史信息的步骤,来分阶段地获得关于打印机A 30的使用历史的信息。

另一方面,在与主线程同时进行的监视线程中,管理工具6仅在S72、S74、S76和S78中的确定结果均为“是”的情况下才将暂停标志设置为开。换句话说,管理工具6仅在由服务器PC 1正在处理由客户PC 40绘制的打印作业的情况下才将暂停标志设置为开。在其他情况下,管理工具6将暂停标志设置为关,这是因为使用互斥体的互斥在服务器PC 1的管理工具6与过滤器4之间有效地起作用。管理工具6每500毫秒进行暂停标志的这种更新。

图11是示出在客户端PC 40生成PDL的情况下由客户端PC 40的过滤器43执行的处理的流程图。通过假脱机处理程序42基于接收由应用41生成的打印作业来启动过滤器43,开始该处理。

一旦开始该处理,在S101中,过滤器43首先从客户端PC 40的OS获得打印作业的输出目的地。

在S102中,过滤器43确定打印作业的输出目的地是否是连接到不同PC的共享打印机。如果过滤器43确定为打印作业的输出目的地是共享打印机,则过滤器43在S103中等待一秒钟,然后进行到S104以开始打印数据的PDL转换和输出。如果过滤器43确定为打印作业的输出目的地不是共享打印机,则过滤器43进行到S104而不进行等待,并且开始转换和输出打印数据的PDL。在此之后进行的用于打印数据的PDL转换和输出的步骤S104至S109与图7所示的步骤S11至S16相同,因此这里不再描述。

现在,在由服务器PC 1的管理工具6执行的图10A和图10B中的流程图与由客户端PC 40的过滤器43执行的图11中的流程图之间进行比较。在打印作业的输出目的地是共享打印机的情况下,客户端PC 40在等待一秒钟之后开始生成PDL。相反,服务器PC 1每500毫秒确定更新暂停标志(即,进行用于获得关于打印机A 30的使用历史的信息处理)是否合适。因此,在打印作业的输出目的地是共享打印机的情况下,服务器PC 1的管理工具6可以在假脱机程序3从客户端PC 40接收到PDL之前,检测到服务器PC 1已经从客户端PC 40接收到打印作业。换句话说,在假脱机程序3从客户端PC 40接收到PDL之前,管理工具6将暂停标志设置为开(S79),并且可以等待直到在客户端PC 40中创建的打印作业的处理结束为止。尽管上述结构使得客户端PC 40在等待一秒钟之后开始生成PDL,并且每500毫秒更新暂停标志,但是可以改变这些数字,只要以比客户端PC 40等待的时间段短的预定间隔更新暂停标志即可。

如上所述的本实施例有助于防止以混合的方式经由USB I/F 7发送或接收不同程序的信息,并且使得能够适当地进行打印处理,而无需如第一实施例那样用户必须改变设置。

(第三实施例)

本实施例也使用图1至图6所示的打印系统。在本实施例中,服务器PC 1的管理工具6在根据需要改变打印系统的设置的同时,进行处理以获得打印机A 30的使用历史。

图12A和图12B示出了由本实施例的服务器PC 1的管理工具6执行的状态信息获得处理的流程图。在用户按下图6所示的显示历史框63的定时开始该处理。

一旦开始该处理,在S121中,管理工具6首先将PDL改变标志设置为关作为默认。PDL改变标志是用于指示设置为进行绘制的PC已经从客户端PC 40改变为服务器PC 1的标志。之后进行的用于获得和显示使用历史信息的步骤S122至S132与图8所示的步骤S21至步骤S31相同,因此在此不再描述。

在S133中,管理工具6获得关于PDL改变标志的信息。

在S134中,管理工具6确定PDL改变标志是否为开。如果PDL改变标志为开,则管理工具6进行到S135以将设置为进行绘制的PC从服务器PC 1改变回客户端PC 40,并且结束该处理。如果管理工具6在S134中确定为PDL改变标志为关,则管理工具6结束该处理。

如果管理工具6在S123中确定为打印机被设置为共享,则管理工具6进行到S136,并从OS获得关于设置为进行绘制的PC的信息。此处获得的信息是在图5所示的设置画面50上设置的信息。

在S137中,管理工具6确定设置为进行绘制的PC是否是客户端PC 40。如果设置为进行绘制的PC不是客户端PC 40(即,是服务器PC 1),则管理工具6进行到S124,并遵循已经描述的步骤S124至S135以进行用于获得和显示打印机A 30的使用历史的处理。如果管理工具6在S137中确定为设置为进行绘制的PC是客户端PC 40,则管理工具6进行到S138。

在S138中,管理工具6显示图13所示的通知对话框80。通知对话框80给出将设置为进行绘制的PC改变为服务器PC 1的通知。通过用户按下继续按钮81或取消按钮82来关闭通知对话框80。

如果管理工具6在S139中确定为已经按下了继续按钮81,则管理工具6在S140中将设置为进行绘制的PC从客户端PC 40改变为服务器PC 1,在S141中将PDL改变标志设置为开,然后返回到S136。

在S139中确定为已经按下了继续按钮81之后管理工具6返回到S136的情况下,在S137中确定为设置为进行绘制的PC不是客户端PC 40。因此,管理工具6进行到S124,并且可以进行处理以获得和显示打印机A 30的使用历史。在这种情况下,可以想到,在管理工具6在S140中将绘制PC切换为服务器PC 1之前,可以从客户端PC 40接收打印作业。然而,即使在这种情况下,管理工具6也在重复步骤S124和S125的同时等待,直到在S125中确定为不包括由客户端PC 40绘制的打印作业为止。因此,关于由客户端PC 40绘制的打印作业而进行的数据通信和由管理工具6进行的数据通信不会以混合的方式发生。

如果管理工具6在S142中确定为已经按下了取消按钮82,则管理工具6结束该处理而不改变设置为进行绘制的PC。

根据上述本实施例,管理工具6可以在根据需要改变设置为进行绘制处理的PC的同时,进行处理以获得打印机A 30的使用历史。具体地,在将设置为进行绘制处理的PC设置为客户端PC 40的情况下,设置为进行绘制处理的PC在管理工具6正在进行历史信息获得处理期间被设置为服务器PC 1,并且在历史信息获得处理结束之后被改回。从而,本实施例有助于防止假脱机程序3和管理工具6以混合的方式发送或接收信息,并且使得能够适当地进行打印处理,而不会给用户带来改变回绘制PC的设置的麻烦。

(其他实施例)

尽管在上述第一至第三实施例中服务器PC 1和打印机A 30经由接口彼此连接,但是服务器PC 1和打印机A 30可以是一体的设备。

尽管以上描述了打印机驱动器与管理工具6之间的互斥,但是对于打印机驱动器与不同程序之间的互斥,也可以执行本公开的处理。例如,对于打印机驱动器与用于与打印机通信的程序(该程序不是管理工具6)之间的互斥,可以执行本公开的处理。

本公开提供了一种具有存储介质的系统或设备,该存储介质存储实现上述实施例中描述的功能的软件的程序代码,使得该系统或设备中的计算机读取并执行该程序代码。在这种情况下,从存储介质读取的程序代码实现上述实施例的功能,并且存储该程序代码的存储介质形成本公开。

可用于提供程序代码的存储介质的示例包括软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失性存储卡、ROM和DVD。

代替通过计算机执行程序代码来实现上述实施例的功能,在计算机等上运行的OS可以基于程序代码中的指令来进行部分或全部实际处理。

此外,可以采用一种模式,使得将从存储介质读取的程序代码写入插入到计算机的扩展板或连接至计算机的扩展单元中的存储器中。在这种情况下,本公开还包括以下模式,在该模式中,扩展板或单元中的CPU等基于写入的程序代码中的指令来进行部分或全部实际处理,并且通过这种处理实现上述本实施例的功能。

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。

尽管本公开包括示例性实施例,但是应当理解,本公开不限于所公开的示例性实施例。所附权利要求的范围应被赋予最宽泛的解释,以涵盖所有这样的修改以及等同的结构和功能。

相关技术
  • 信息处理系统、信息处理方法、信息处理设备、信息处理设备控制方法、信息处理终端、信息处理终端控制方法、信息存储介质以及程序
  • 信息处理设备、信息记录介质、信息处理系统、信息处理方法及计算机可读存储介质
技术分类

06120113823043