设备消息传送的制作方法

文档序号:7977493阅读:186来源:国知局
设备消息传送的制作方法
【专利摘要】一种装置包括消息传送客户端和服务器。该消息传送客户端被配置成利用第一协议接收第一通信,从该第一通信中提取请求,并且利用第二协议将该请求发送至服务器。该服务器被配置成接收该请求,利用第二协议将响应返回到所述消息传送客户端;并且转发该请求中包括的作业指令。该消息传送客户端也被配置成利用第一协议将包括所述响应的第二通信发送至第一通信的源。
【专利说明】设备消息传送
【背景技术】
[0001]作业可以经由数据网络交付给诸如打印机之类的设备。具体地,用户将文档交付给网络服务。网络服务对文档格式化,从而生成要交付给特定网络使能设备的作业。防火墙和其他安全措施防止网络服务启动作业的交付。然而,由于设备没有作业何时可用的固有知识,设备不知道如何或者何时请求作业,因此设备首先就作业是否准备就绪进行查询。
[0002]设备可以使用轮询或者“挂起获得(hanging get) ”技术了解是否准备好交付作业。当轮询时,设备周期性地发送请求至网络设备以便了解作业是否可用,并且服务器做出响应。该响应或者指示没有作业可用,或者如果可用的话,在响应中返回该作业。对于“挂起获得”而言,设备发送请求至网络服务。该服务持有该请求,保持会话打开,并且仅在作业可用时做出响应。或者,如果过去太多时间,那么会话超时,从而迫使设备发送另一个挂起获得请求。
[0003]轮询方法在做出请求并且没有作业可用时消耗网络带宽和网络服务资源。当大规模地实施轮询时,即当多个设备同时轮询网络时,带宽消耗变成问题。此外,轮询导致作业交付滞后。换言之,作业不被交付,直到设备发送其下一个预定的轮询请求为止。“挂起获得”方法消耗网络服务的资源,当多个设备竞争那些资源时,尤其如此。具体而言,网络服务为每个挂起获得请求维持会话或线程。
【专利附图】

【附图说明】
[0004]图1绘出了其中可以实现各个不同的实施例的示例性环境。
[0005]图2绘出了用于实现各个不同的实施例的实例以及各个不同的物理和逻辑部件。
[0006]图3-7为绘出实现各个不同的实施例所采取的步骤的示例性流程图。
【具体实施方式】
[0007]引论:为了通知设备作业在网络服务处可用,开发了下文中描述的各个不同的实施例。特别地,开发这些实施例以便克服诸如轮询和“挂起获得”之类的技术的缺点。克服这样的缺点允许网络服务在比别的情况下所可能的规模更大的规模上将作业交付给设备。
[0008]“网络服务”涉及被配置成与设备集合通信以完成预期目的的服务器或者服务器集合。这样的目的包括选择性地将消息和作业传送至设备。术语“作业”用来指可以被设备处理以产生希望的结果的数据。作业可以使得设备识别和传送状态信息。这样的信息可以包括设备的物理位置、其当前操作状态以及甚至使用统计量。在设备为打印机的情况下,作业可以使得设备产生打印的输出。
[0009]当在本文中使用时,“作业指令”指的是被设计成使得设备处理作业的指令。作业指令可以包括作业本身或者用于检索作业的引用(reference),例如URL。作业指令可以包括参数设置或者提供到参数设置的访问,这些参数设置影响设备如何处理作业。参数设置控制诸如在处理作业时是否使用特定特征之类的选项。在设备为打印机的情况下,这样的特征可以包括彩色打印、双面打印、装订、多个拷贝、整理等等。当不包括在作业指令本身内时,参数设置可以改为使用作业指令中包括的引用而被检索。这可以是用来检索作业的相同引用。
[0010]以下描述分成若干节。标记为“环境”的第一节描述了一个其中可以实现各个不同的实施例的示例性环境。标记为“部件”的第二节描述了用于实现各个不同的实施例的各个不同的物理和逻辑部件的实例。标记为“操作”的第三节描述了实现各个不同的实施例所采取的步骤。
[0011]环境:图I绘出了其中可以实现各个不同的实施例的示例性网络10。网络10被示为包括设备12、作业服务14、消息传送服务16以及客户端18和20。设备12通常表示能够处理接收自作业服务14的作业的任何设备。在图I的实例中,设备12被示为被配置成从打印作业产生打印的输出的打印机。作业服务14表示被配置成与消息传送服务16协作以便将作业交付给设备12的网络服务。消息传送服务16表示被配置成为了实现由作业服务14进行作业交付的目的将消息传送至设备12并且从设备12接收消息的网络服务。
[0012]客户端18和20中的每一个表示被配置成与作业服务14交互并且指导作业服务14以便使得作业被交付给选择的设备12的计算设备。在下面更详细地讨论的一个实现方式中,设备12为打印机并且客户端设备16和18被配置成指示作业服务14使得打印作业被交付。尽管网络10被示为包括三个打印机12、两个客户端16和18以及两个服务14和16,但是网络10可以包括任何数量的这样的部件。此外,尽管服务14和16被描绘成有区别的,但是服务14和16可以改为以更加集成的方式实现。例如,作业服务14和消息传送服务可以表示被配置成实现指定的功能的公共服务器或者服务器集合 。
[0013]部件12-20经由链路22互连。链路22通常表示电缆,无线,光纤或者经由电信链路、红外链路、射频链路或者提供电子通信的任何其他连接器或系统的远程连接中的一个或多个。链路22可以至少部分地包括内联网、因特网或者二者的组合。链路22也可以包括中间代理、路由器、交换机、负载平衡器等等。如图I中所绘出的部件12-20之间的由链路22遵循的路径表示这些设备之间的逻辑通信路径,不一定是这些设备之间的物理路径。
[0014]部件:图2绘出了用于实现各个不同的示例性实施例的各个不同的物理和逻辑部件。在图2中,设备12被示为包括接口 24、通信引擎26和作业引擎28。接口 24通常表示被配置成经由链路20接收所来自的通信和传递通信的硬件和编程的任何组合。特别地,接口 24可以包括一个或多个物理端口,例如有线或无线网络端口,经由所述端口可以在超过一个数据通道上发送和接收通信。如下面所讨论的,一个这样的通道可以用于诸如XMPP(可扩展消息传送和到场协议)之类的第一协议的通信,并且另一个数据通道可以用于诸如HTTP (超文本传输协议)之类的第二协议的通信。
[0015]通信引擎26通常表示被配置成处理经由接口 24接收的通信并且生成要经由接口24发送的通信的硬件和编程的任何组合。如下面更详细地讨论的,通信引擎26负责处理和生成使用不同的协议在不同的数据通道上接收和发送的不同类型的通信。特别地,通过那些通信,通信引擎26可操作来检索作业并且将作业传递至作业引擎28。作业引擎28通常表示被配置成处理接收自通信引擎26的作业以便实现预期的结果的硬件和编程的任何组合。例如,在设备12为打印机并且作业为打印作业的情况下,作业引擎28负责处理该打印作业以便产生打印的输出。在该实例中,作业引擎28将包括将诸如墨或碳粉之类的成像材料沉积到介质片上的部件。[0016]在图2中,通信引擎26被示为包括消息传送客户端30、服务器32和作业客户端34。消息传送客户端30通常表示被配置成使用第一协议与消息传送服务16通信的硬件和编程的任何组合。特别地,消息传送客户端30利用第一协议接收来自消息传送服务16的第一通信,从该通信提取请求,并且利用第二协议将请求发送至服务器32。该请求包括要由服务器32处理的作业指令。如上面所指出的,第一协议可以是XMPP,而第二协议是HTTP。消息传送客户端34被配置成在不首先请求第一通信的情况下接收第一通信。消息传送客户端34也被配置成利用第一协议将第二通信发送至消息传送服务16——第一通信的源。该第二通信包括接收自服务器32的响应并且是对于提取自第一通信的请求的响应。 [0017]服务器32通常表示被配置成接收来自消息传送客户端30的请求、处理该请求并且使用第二协议将响应返回到消息传送客户端30的硬件和编程的任何组合。在处理请求中,服务器32将请求中包括的作业指令转发至作业客户端34。为了生成响应,服务器32可以与作业引擎28或作业客户端34通信以便获得与作业引擎28的状态有关的信息。在设备12为打印机的情况下,这样的状态信息可以包括可消耗的水平和使用情况、作业指令的成功接收、打印的成功完成以及与作业引擎28的状态有关的任何其他信息。服务器32然后可以在响应中包括该状态信息。
[0018]作业客户端34通常表示被配置成处理接收自服务器32的作业指令的硬件和编程的任何组合。作业指令例如可以是或者包括用于从作业服务14检索作业的诸如URL (统一资源定位符)之类的引用。在这样的情况下,作业客户端34负责使用该引用利用第二协议(在上面的实例中为HTTP)利用经由接口 24发送通信。该通信包括从作业服务14检索由所述引用识别的作业的请求。响应于该请求,作业客户端34接收作业并且将其传递至作业引擎28以供处理。在作业为打印作业的情况下,作业引擎28产生打印的输出。作业指令也可以包括参数设置。在这里,作业客户端34将那些设置传递至作业引擎28以便用于处理该作业。
[0019]消息传送客户端30经由通信通过第一数据通道传递的第一协议与消息传送服务16通信。作业客户端34经由通信通过第二不同数据通道传递的第二协议与作业服务14通信。第一和第二协议的不同之处在于,可以在消息传送客户端30不首先请求外部通信(来自消息传送服务16的通信)的情况下将该外部通信发送至消息传送客户端30。诸如XMPP之类的协议可以用作第一协议。另一方面,从作业服务14发送至作业客户端34的外部通信首先由作业客户端34请求。因此,HTTP可以用作第二协议。
[0020]在一个给定的实现方式中,可以在作业指令中包括作业。在这种情况下,作业客户端34可以不直接与作业服务14通信,而是改为从作业指令中提取作业并且将该作业转发至作业引擎28。在例如设备12为打印机的情况下,提取的作业可以是经过处理以产生打印的输出的打印作业。
[0021]作业服务14被示为包括客户端接口 36、格式化器38、作业39、假脱机程序40、消息接口 42和设备接口 44。客户端接口 36通常表示被配置成接收来自客户端18和20的数据的硬件和编程的任何组合。通常,该数据与要交付给设备12的作业有关。在设备12为打印机的情况下,该数据包括文档。格式化器38通常表示被配置成处理接收自客户端18和20的数据以便生成作业39的硬件和编程的任何组合。在设备12为打印机的情况下,格式化器38将数据格式化以创建打印作业。这可以包括格式化成与设备12打印或者用于以后访问和打印的数字归档兼容的格式。示例性格式包括Post Script、TOL(页面描述语言)和HF (便携式文档格式)。
[0022]假脱机程序40通常表示被配置成充当用于作业39的队列并且在由设备12请求时释放作业39的硬件和编程的任何组合。消息接口 42通常表示被配置成在准备好交付作业时通知消息传送服务16的硬件和编程的任何组合。该通知包括用于请求作业的引用,并且它也识别设备12。特别地,该通知可以采取请求(要发送至服务器32的HTTP请求)的形式。消息接口也负责从消息传送服务16接收对于这样的请求的响应。设备接口 44通常表示被配置成接收来自作业客户端34的请求的硬件和编程的任何组合。该请求包括诸如URL之类的引用。设备接口 44然后与假脱机程序40协作以便返回通过该引用识别的作业。
[0023]消息传送服务16被示为包括作业接口 46和消息传送服务器48。作业接口通常表示被配置成接收来自消息接口 42的请求并且将响应返回至消息接口 42的硬件和编程的任何组合。消息传送服务器48通常表示被配置成将通信发送至消息传送客户端30以及接收来自消息传送客户端30的通信的硬件和编程的任何组合。如所指出的,这些通信是允许消息传送服务器将通信发送至消息传送客户端30而不首先接收对于该通信的请求的第一协议。
[0024]发送至消息传送客户端30的通信包括接收自作业服务14的请求。如所指出的,这样的请求可以包括作业指令,该作业指令反过来可以包括用于检索由假脱机程序40保持的作业的引用。特别地,消息传送服务器48将该请求包装到通信中并且将该通信发送至在那里它被消息传送客户端30接收到的设备12。这可以例如通过将请求包装到XMPP消息中完成。消息传送服务器48也负责接收从消息传送客户端30回来的通信。接收的通信可以例如是包装到XMPP消息中的响应。该响应将是对于先前交付给设备12的XMPP消息中包括的请求的响应。
[0025]客户端18被示为包括应用程序50、作业服务驱动器52和网络接口 54。应用程序50和作业服务驱动器52联合操作以便创建作业数据并且将作业数据交付给作业服务14以供作业服务14用来创建要交付给设备12的作业。客户端20被示为包括浏览器54和作业数据56。在这里,浏览器54在借助于或不借助于扩展(extension)的情况下,用来将作业数据56上传至作业服务14。在设备12为打印机的情况下,这样的作业数据可以包括要由作业服务14格式化成打印作业并且然后交付给设备12打印的文档。
[0026]在前面的讨论中,将各个不同的部件描述为硬件和编程的组合。这样的部件可以以若干方式实现。在一个实例中,所述编程可以是存储在有形存储器介质上的处理器可执行指令,并且硬件可以包括用于执行那些指令的处理器。因此,在相同设备上操作的特定元素可以共享公共的处理器和公共的存储器介质。
[0027]操作:图3-7为实现各个不同的实施例所采取的步骤的示例性流程图。在讨论图3-7中,可以参照图1-2的示图以提供上下文实例。然而,实现方式并不限于那些实例。图3-4和图5绘出了从设备(例如设备12)的角度来看的作业流。图6绘出了从诸如消息传送服务14之类的网络服务的角度来看采取的步骤。图7绘出了从系统广泛的观点来看的
工作流。
[0028]以图3开始,利用第一协议接收通信(步骤58)。该通信是在设备不首先请求该通信的情况下在设备处被接收的。将请求编码到通信中。例如,该通信可以是包装了请求的XMPP消息。从通信中提取请求(步骤60)。参照图2,步骤58的通信在设备12处由消息传送客户端30接收。消息传送客户端30也负责步骤60中的提取请求。
[0029]在步骤60之后,如果合适的话,可以将该进程分解成两个线程。第一线程包括步骤62和64,而第二线程包括步骤66和68。在第一线程中,处理步骤60中提取的请求以便生成响应(步骤62)。利用第一协议,将该响应返回到步骤58中接收的通信的源。参照图2,服务器32负责在步骤62中处理请求并且生成响应,而消息传送客户端30负责在步骤64中发送响应。
[0030]在另一实例中,步骤60中提取的请求可以包括对于状态信息的请求。因此,步骤62将包括生成包括所请求的状态信息的响应。参照图2,在生成响应中,服务器32与作业引擎28通信以便获得状态信息。在设备12为打印机的情况下,这样的状态信息可以包括可消耗的水平和使用情况以及由作业引擎28处理的一个或多个特定打印作业的状态。
[0031]移到第二线程,从步骤60中提取的请求中获得引用(如果存在的话)(步骤66)。如所指出的,引用可以是识别可以从其中检索作业的网络位置的URL。借助于该引用,利用第二协议请求作业(步骤68)。该第二协议不同于在步骤58和64中所利用的第一协议。如上面所指出的,第二协议可以是HTTP。参照图2,服务器32负责在步骤66中获得引用,而作业客户端34负责在步骤68中使用引用来请求作业。
[0032]图4绘出了图3的步骤58-64的示例性扩展,而图5对步骤66和68进行了扩展。首先参照图4,利用第一协议,在第一节点处接收第一通信(步骤72)。从第一通信中提取请求(步骤74)。利用第二协议将该请求发送至第二节点(步骤76)。参照图2,消息传送客户端30用作第一节点,提取请求并且将响应发送至充当第二节点的服务器32。再一次地,第一协议允许在不首先请求的情况下接收请求。XMPP是这样的协议。第二协议可以是HTTP。
[0033]生成对于所述请求的响应(步骤78)。利用第二协议将该响应从第二节点返回到第一节点(步骤80)。利用第一协 议将第二通信从第一节点发送至第一通信的源(步骤82)。参照图2,服务器32用作第二节点并且负责步骤78和80。消息传送客户端30用作第一节点并且负责步骤80。特别地,消息传送客户端30将响应包装到第二通信中,该第二通信如所指出的可以是XMPP消息。
[0034]步骤76中发送至第二节点的请求可以包括对于状态信息的请求。因此,步骤78将包括生成包含所请求的状态信息的响应。参照图2,在生成响应中,服务器32与作业引擎28通信以便获得状态信息。在设备12为打印机的情况下,这样的状态信息可以包括可消耗的水平和使用情况以及由作业引擎28处理的一个或多个特定打印作业的状态。
[0035]步骤76中发送至第二节点的请求可以包括作业指令。如所指出的,作业指令可以包括用于引导设备操作的参数设置和引用中的一个或者二者。移到图5,将作业指令转发到第三节点(步骤84)。利用来自作业指令的引用和第二协议从第三节点发送第三通信(步骤86)。参照图2,作业客户端34用作第三节点并且使用所述引用请求作业。在图2的实例中,引用可以是URL,作业客户端34可以经由URL使用HTTP请求从作业服务14检索作业。响应于第三通信,接收作业(步骤88)。接收的作业是通过所述引用识别的作业。使得该作业被处理(步骤90)。参照图2,作业客户端34负责步骤88和90。例如,在设备12为打印机的情况下,作业客户端34接收来自作业服务14的打印作业,并且将该打印作业传递至作业引擎28,使得作业引擎处理打印作业。如上面所讨论的,作业可以作为作业指令的部分而被包括。在这样的情况下,在步骤84之后提取作业,并且然后跳过步骤86和88在步骤90中使得其被处理。
[0036]除了引用之外,步骤84中转发的作业指令可以包括参数设置。在例如设备12为打印机的情况下,这样的参数设置可以是控制诸如是否使用特定特征之类的选项的打印机设置。这样的特征可以包括彩色打印、双面打印、装订、多个拷贝、整理等等。仍然参照图2,作业客户端34可以负责将那些参数设置传递至作业引擎28,从而使用那些参数设置处理在步骤90中使得其被处理的作业。
[0037]如所指出的,图6绘出了从诸如图1和图2的消息传送服务14之类的网络服务的角度来看采取的步骤。在图6中,接收要传送到设备的请求(步骤92)。该请求包括作业指令。在图2的实例中,消息传送服务16接收从作业服务14接收的请求。将该请求包装到第一通信中(步骤94)。在上面的实例中,该第一通信可以是XMPP消息。经由第一数据通道将第一通信发送至设备(步骤96)。该设备被配置成经由与第一数据通道不同的第二数据通道请求和接收在所述请求中引用的作业。在不首先接收对于第一通信或作业指令的请求的情况下发送第一通信。
[0038]经由第一数据通道从设备接收第二通信(步骤98)。从第二通信中提取响应(步骤100)。将该响应传送至步骤92中接收的请求的源(步骤102)。参照图2,消息传送服务16在步骤98和100中接收第二通信并且提取响应。消息传送服务16然后将该响应返回到作业服务14。
[0039]参照图2,在设备12为打印机的情况下,打印机的内部服务器是包装到第一通信中的请求的预期接收者。该请求可以包括作业指令,该作业指令反过来包括用于检索打印作业的引用以及用于设备12的打印参数设置中的一个或二者。设备可以使用该引用来使用该引用从打印服务14检索作业并且使用供应的设置调节参数。所述请求也可以包括对于状态信息的请求。设备可以获得所请求的状态信息并且生成要在步骤102中传送的适当响应。这样的状态信息可以包括打印机可消耗的水平和使用情况以及一个或多个打印作业的状态。
[0040]第一数据通道上的通信利用第一协议来发送和接收,而第二数据通道上的通信利用第二协议来发送和接收。如上面所指出的,第一协议可以是XMPP,而第二协议可以是HTTP。参照图2,消息传送服务16使用该第一数据通道来事实上通知设备12准备好从作业服务14检索作业。设备12然后利用第二数据通道来从作业服务14检索作业。有益的是,消息传送服务16可以在不等待来自设备12的请求的情况下发送第一通信。
[0041]图7绘出了从系统广泛的角度来看的工作流。该系统包括作业服务14、消息传送服务16、消息传送客户端30、服务器32和作业客户端34。应当指出的是,部件30、32和34是设备12的部件。在图7的实例中,消息传送服务16用作XMPP服务器,而消息传送客户端为XMPP客户端。此外,服务器32用作LEDM (低端数据模型)REST (代表性状态传输)接口。消息传送客户端30可以与消息传送服务16建立持久的XMPP连接。经由该连接,可以通知设备12作业可用于从作业服务14检索。此外,设备12可以快速地向打印服务14提供作业状态信息。
[0042]在一个示例性实施例中,消息传送客户端30实现XMPP核心堆栈(RFC3920、3921)和IBB(带内二进制)协议(XEP0047)。消息传送服务16托管(host)设备12和其他类似设备与之通信的XMPP服务器群。XMPP服务器群中的每个节点托管设备12或者另一个设备使用XMPP消息与之通信的内部部件。在设备12与消息传送服务器16之间传送的XMPP消息的内容为允许设备12和打印服务14遵照共同的通信合约的LEDM REST请求和响应。
[0043]当第一次对设备12上电时,它提示用户允许与打印服务14通信。如果用户同意,那么设备12使用例如TLS(传输安全层)上方的RESTAPI(应用程序接口)向消息传送服务16注册自己。消息传送服务16为设备12创建XMPP帐户,并且给设备12分配新的客户端id和口令。消息传送服务16也提供像用于消息传送服务16的主机名称和客户端id那样的连接细节以及连同其优先级一起的端口列表。消息传送客户端30可以维护XMPP花名册或者“好友列表”。花名册可以保持为空以避免传送存在信息所涉及的开销。
[0044]设备12设法在其缺省端口(例如5222)上连接到消息传送服务16。在连接可能由于防火墙限制的原因而不成功的情况下,它按优先级顺序使用诸如5223、80和443之类的备用端口重试。如果连接成功,那么消息传送客户端30使用其在注册期间接收的客户端id和口令登录到消息传送服务16。所有的XMPP通信可以在TLS上方在消息传送客户端30与消息传送服务16之间发生以便帮助确保数据完整性并且隐藏敏感或个人的信息。
[0045]在成功登录时,设备12被视为准备好接受来自作业服务14的作业。应当指出的是,设备12创建了仅仅一个与消息传送服务16的TCP(传输控制协议)连接以及多个IBB会话以便通过TCP连接并行地发送和接收消息。一个IBB会话可以用于LEDM请求和响应并且另一个可以由设备12用来将作业和设备事件发送至消息传送服务16。这种分离允许由消息传送服务16的不同部件来服务不同类型的消息。
[0046]在下面的讨论中,设备12为打印机并且作业服务14负责交付打印作业。初始时,用户将文档和任何参数设置上传到作业服务14。作业服务16将文档呈现到针对打印机12的打印作业中。打印作业符合为打印机12设计的诸如PCL (打印机控制语言)之类的特定格式。打印作业现在准备好与任何参数设置一起被发送至设备12。
[0047]作业服务14将作业指令传送至消息传送服务(步骤104)。在该实例中,步骤104通过使用HTTP传送LEDM REST请求而完成。该请求包括作业指令。该作业指令包括用于检索打印作业和任何参数设置的URL。消息传送服务16将LEDM REST请求包装到XMPP消息中(步骤106)并且将该XMPP消息发送至消息传送客户端30 (步骤108)。
[0048]消息传送客户端30从XMPP消息中提取LEDM REST请求(步骤110)。然后,消息传送客户端30使用提取的LEDM REST请求向服务器32做出HTTP请求(步骤112)。服务器32处理该LEDM REST请求并且返回HTTP响应(步骤114)。如上面所指出的,在LEDMREST请求包括对于状态信息的请求的情况下,该响应可以包括所请求的状态信息。消息传送客户端30接收该响应,并将其包装到XMPP消息中(步骤116),并且将该XMPP消息发送至消息传送服务(步骤118)。消息传送服务16从步骤118中发送的XMPP消息中提取响应(步骤120)并且将该响应转发至作业服务14。
[0049]步骤112中向服务器32做出的请求包括作业指令。服务器32将该作业指令转发至作业客户端34。作业客户端34使用作业指令中包括的URL做出对于来自作业服务14的打印作业的HTTP请求(步骤126)。作为响应,作业服务14在HTTP响应中返回打印作业(步骤128)。作业客户端34然后使得设备12使用作业指令中包括的任何参数设置产生打印作业。
[0050]所有LEDM REST请求和响应经由XMPP消息经由XMPP通道传送。每个XMPP消息在不首先接收对于该消息或者其内容的请求的情况下被发送。打印作业数据不在该通道上发送。相反地,如所指出的,作为对于HTTP请求的响应,打印作业经由HTTP通道而传送。XMPP通道上的通信保持得非常轻,这允许每个XMPP服务器群(在消息传送服务16内)处理数千个打印机或者更多。
[0051]结论:图1-2的示图示出了各个不同的实施例的架构、功能和操作。图2中图示的各个不同的部件至少部分地被限定为程序。每个这样的部件、其部分或者其各种不同的组合可以整体地或者部分地表示包括一个或多个实现(一个或多个)任何指定的逻辑功能的可执行指令的模块、段或者代码的部分。每个部件或者其各种不同的组合可以表示实现(一个或多个)指定的逻辑功能的电路或者若干互连电路。
[0052]再者,本发明可以包含在供指令执行系统使用或者与该指令执行系统有关的任何计算机可读介质中,所述指令执行系统例如基于计算机/处理器的系统或ASIC (专用集成电路)或者可以从计算机可读介质取回或获得逻辑并且执行其中包含的指令的其他系统。“计算机可读介质”可以是可以包含、存储或者维持供指令执行系统使用或者与该指令执行系统有关的程序和数据的任何介质。计算机可读介质可以包括许多物理介质中的任何一种,诸如例如电子的、磁性的、光学的、电磁的或者半导体介质。适当计算机可读介质的更特定的实例包括但不限于便携式磁性计算机盘,例如软盘或硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器或者便携式光盘。
[0053]尽管图3-7的流程图示出了特定的执行顺序,但是这些执行顺序可以与所绘出的那些不同。例如,可以相对于所示的顺序打乱两个或更多功能框的执行顺序。再者,连续示出的两个或更多功能框可以并发地或者部分并发地执行。所有这样的变化处于本发明的范围内。
[0054]已经参照前面的示例性实施例示出和描述了本发明。然而,应当理解的是,可以在不脱离在以下权利要求书中所限定的本发明的精神和范围的情况下做出其他的形式、细节和实施例。
【权利要求】
1.一种包括消息传送客户端和服务器的装置,其中: 所述消息传送客户端被配置成利用第一协议接收第一通信,从所述第一通信中提取请求,利用第二协议将该请求发送至服务器; 所述服务器被配置成接收该请求,并且利用所述第二协议将响应返回到所述消息传送客户端;以及 所述消息传送客户端被配置成利用所述第一协议将第二通信发送至所述第一通信的源,该第二通信包括所述响应。
2.权利要求1的装置,进一步包括作业客户端,其中: 所述第一通信的源为消息传送服务; 所述服务器可操作用来将所述请求中包括的作业指令转发至所述作业客户端;以及所述作业客户端可操作用来利用所述第二协议发送第三通信,该第三通信包括检索通过所述作业指令识别的作业的请求。
3.权利要求1的装置,其中: 所述第一通信的请求包括对于状态信息的请求; 所述服务器可操作用来获得所请求的状态信息;以及 返回到所述消息传送客户端的响应包括所请求的状态信息。
4.权利要求2的装置,进一 步包括作业引擎,该作业引擎被配置成处理作业以便在打印介质上产生打印的图像,并且其中所述作业客户端可操作用来响应于所述第三通信接收该作业并且将该作业传递到所述作业引擎。
5.权利要求4的装置,其中: 所述消息传送客户端被配置成在第一数据通道上与所述消息传送服务通信并且在不请求第一通信的情况下经由所述第一数据通道接收第一通信;以及 所述作业客户端被配置成在第二数据通道上与所述作业服务通信,经由所述第二数据通道发送所述第三通信,并且响应于该第三通信,经由所述第二数据通道接收来自所述作业服务的作业。
6.权利要求1的装置,进一步包括作业客户端,其中: 所述第一通信的源为消息传送服务; 所述服务器可操作用来将所述请求中包括的作业指令转发至所述作业客户端; 所述作业客户端可操作用来从所述作业指令中提取作业,并且将该作业转发至所述作业引擎以便被处理。
7.权利要求5的装置,其中所述第一协议为XMPP(可扩展消息传送和到场协议)并且所述第二协议为HTTP (超文本传输协议)。
8.一种方法,包括: 经由第一数据通道将第一通信发送至打印机,该打印机被配置成经由第二数据通道而不是第一数据通道请求和接收作业数据,所述第一通信包括包含在请求中的作业指令;以及 经由所述第一通信通道接收第二通信,该第二通信是对于所述请求的响应。
9.权利要求8的方法,其中发送包括在不首先接收对于所述第一通信的请求的情况下发送。
10.权利要求8的方法,进一步包括: 从作业服务接收所述请求并且将该请求包装到所述第一通信中;以及 从所述第二通信中提取所述响应并且将该响应发送至所述作业服务。
11.权利要求8的方法,其中所述请求包括对于状态信息的请求并且所述响应包括所请求的状态信息。
12.权利要求8的方法,其中: 所述作业指令包括用于访问作业的引用; 发送包括发送所述第一通信以便使得所述打印机能够利用该引用经由所述第二数据通道请求所述作业;以及 所述第二通信包括与所述作业有关的作业引擎状态信息。
13.—种包括作业服务和消息传送服务的系统,其中: 所述作业服务被配置成将请求中包含的作业指令传送至所述消息传送服务,该作业指令包括用于请求作业的引用; 所述消息传送服务被配置成将所述请求包装到第一通信中并且经由第一数据通道将所述第一通信发送至打印机;以及 所述作业服务被配置成经由第二数据通道从打印机接收使用所述引用做出的请求并且响应于该请求经由所述第二数据通道将所述作业返回到所述打印机。
14.权利要求13的方法,其中所述消息传送服务被配置成在不首先从所述打印机接收对于所述作业指令的请求的情况下发送所述第一通信。
15.权利要求13的系统,其中所述消息传送服务被配置成: 经由所述第一数据通道接收第二通信,该第二通信包括对于所述请求的响应; 从第三通信中提取所述响应;以及 将所述响应发送至所述作业服务,所述响应包括针对所述打印机的状态信息。
【文档编号】H04L29/06GK103477600SQ201080070941
【公开日】2013年12月25日 申请日期:2010年4月7日 优先权日:2010年4月7日
【发明者】P·阿南德, L·皮佐特, P·莎马, J·雷夫斯特拉普 申请人:惠普发展公司有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1