CN105051673A - 网络打印 - Google Patents
网络打印 Download PDFInfo
- Publication number
- CN105051673A CN105051673A CN201380075224.2A CN201380075224A CN105051673A CN 105051673 A CN105051673 A CN 105051673A CN 201380075224 A CN201380075224 A CN 201380075224A CN 105051673 A CN105051673 A CN 105051673A
- Authority
- CN
- China
- Prior art keywords
- node
- printer
- connection
- request
- child node
- 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.)
- Granted
Links
- 238000007639 printing Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012423 maintenance Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 10
- 230000001174 ascending effect Effects 0.000 claims description 6
- 230000001052 transient effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1231—Device related settings, e.g. IP address, Name, Identification
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1291—Pool of printer devices: self-managing printing devices in a network, e.g. without a server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
Abstract
本文描述了通过网络打印文档的系统和方法。在一种实现方式中,用于网络打印的方法包括从节点处接收连接到父节点的请求;以及确定所述父节点的子节点的数量是否已经达到预定义的阈值数量。所述方法还包括当确定子节点的数量尚未达到预定义的阈值数量时,向所述节点发送连接确认消息。
Description
背景技术
通信网络的出现大大增强了共享资源对于用户的可用性。在通信网络上广泛使用的一类共享资源是网络打印机的共享资源。网络打印机促进多个用户通过通信网络打印文档,而不必在其计算系统上安装打印机驱动器。
近期开发的技术促进使用电子邮件(e-mail)系统代替计算系统进行打印。在这样的情况下,使用唯一的电子邮件地址来标识每个打印机。打印机通常通过通信网络连接到打印服务器。在操作中,用户通过向打印服务器发送电子邮件来发送打印任务。打印服务器扫描电子邮件以检测病毒和垃圾邮件的存在。经扫描的电子邮件及其附件一起随后被转发给基于用于打印的电子邮件地址标识的打印机。打印机也可以连接到用户的计算系统以发送数据,例如发送经扫描的文档副本。
附图说明
参照附图描述详细描述。在附图中,附图标记的(多个)最左边的数位标识该附图标记首次出现在其中的附图。遍及附图使用相同数字来引用类似的特征和部件:
图1a示意性图示了根据本主题的例子的包括网络打印系统的网络环境。
图1b示意性图示了根据本主题的另一例子的包括网络打印系统的网络环境。
图2a示意性图示了根据本主题的例子的打印机106的部件。
图2b示意性图示了根据本主题的另一例子的信令服务器和打印机的部件。
图3图示了根据本主题的例子的用于网络打印的方法。
图4图示了根据本主题的另一例子的用于网络打印的方法。
图5图示了根据本主题的另一例子的用于网络打印的方法。
图6图示了根据本主题的例子的存储用于网络打印的指令的计算机可读介质。
具体实施方式
本主题涉及用于网络打印的系统和方法。本文所描述的方法和系统可以使用各种商业可获得的计算系统和打印机实现。
一般地,实现网络打印技术(例如网上打印(ePrint)和无线打印(AirPrint))的打印机保持在线并连接到打印服务器。然而,对于主要时间部分,大部分打印机是空闲的或者处于不活动状态,只有小部分连接的打印机是活动的,即,只有小部分连接的打印机执行打印任务。保持连接的不活动的打印机增加了打印服务器必须维持的可扩展消息传递和到场协议(XMPP)连接的数量,并由此增加了打印服务器上的负荷。
在打印服务器故障的情况下,所有连接到所述打印服务器的打印机都试图与该打印服务器重新连接或连接到用作替换入口(alias)的不同打印服务器。这产生了连接波动,其显著增加了打印服务器上的负荷,并增强了打印服务器操作中失效的可能性。
此外,网络打印技术的大部分服务提供商在位于以较小成本有可用通信带宽和电力的特定地理区域处的数据中心中具有他们的打印服务器。因此,位于遥远地理区域的打印机不得不跨多个网络跳跃来与打印服务器连接。这增加了通信网络上的负荷。
用于改善实现网络打印技术的系统的效率的商业可获得的技术涉及增加打印服务器的数量,从而提供最优的“每打印服务器的打印机数量”。然而,增加打印服务器的数量增加了服务提供商的支出,该支出继而从打印机的销售收回。因此,实现这些网络打印机技术的打印机的成本增加,这降低了打印机在用户中的流行度。
本文所描述的系统和方法实现了网络打印的技术。在一个例子中,网络打印的方法是使用打印服务器和信令服务器实现的。打印服务器和信令服务器可以实现为任意计算设备,例如个人计算机、工作站、一个或多个网络服务器。在一种实现方式中,信令服务器和打印服务器通信地彼此耦合。
在一个例子中,使用信令服务器和打印服务器的网际协议(IP)地址作为节点而形成树结构。在所述例子中,信令服务器用作根节点。一些打印机随后直接连接到信令服务器,并称作信令服务器的子节点。此外,某些打印机随后可以连接到直接连接的打印机。直接连接的打印机然后可以用作所述某些打印机的父节点。
在操作中,无论何时打印机向信令服务器发送连接请求。信令服务器验证直接连接到它的打印机数量是否已经达到预定义的阈值数量。如果尚未达到预定义的阈值数量,则信令服务器向打印机发送连接确认消息,并建立与第一打印机的连接。连接确认消息可以是通过信令服务器发送的响应,指示信令服务器准备好建立与打印机的通信信道。连接确认消息还可以指示打印机应该连接到的信令服务器的端口。为了解释,假设信令服务器支持最多四个打印机直接连接到它。当接收到来自第五打印机的连接请求时,信令服务器发送直接连接到它的打印机的列表,即信令服务器的子节点的列表。在一个例子中,信令服务器维护其子节点的网际协议(IP)地址的列表,并将该列表发送给第五打印机。所述列表还可以指示子节点的地理位置。
随后,第五打印机试图建立与信令服务器的子节点中任一个(诸如第一打印机)的连接。在一个例子中,第五打印机可以试图以子节点距第五打印机的地理距离的升序建立与信令服务器的子节点的连接。为了解释,假设第五打印机试图与第一打印机连接。
当接收到连接请求时,第一打印机验证直接连接到它的打印机数量是否已经达到预定义的阈值数量。如果尚未达到预定义的阈值数量,则第一打印机向第五打印机发送连接确认消息,并建立与第五打印机的连接。第一打印机还向第五打印机发送其对等节点的列表,即直接与信令服务器连接的打印机的列表。对等节点的列表还可以指示对等节点的地理位置。这促进在与第一打印机连接断开的情况下,第五打印机建立与第一打印机的最近对等节点的连接。
一旦第一打印机与预定义的阈值数量的其它子节点(即打印机)直接连接,则在接收到来自新打印机的请求时,第一打印机将其子节点的列表发送给新的打印机。当建立与第一打印机的子节点之一的连接时,新的打印机向信令服务器发送新的打印机连接到的打印机的地址。在一个例子中,信令服务器维护直接或间接连接到信令服务器的打印机的IP地址的IP索引。所述IP索引促进信令服务器执行将数据路由到特定打印机。
当打印服务器接收到将由特定打印机执行的打印任务时,打印服务器将请求发送到信令服务器以建立与特定打印机的连接。信令服务器基于IP索引将请求路由到特定打印机。随后,特定打印机将连接请求发送给打印服务器进行直接连接。当建立直接连接时,打印服务器将打印任务发送给特定打印机以执行。在完成打印任务时,打印服务器终止直接连接。
因此,本文所描述的系统和方法促进使用减少数量的打印服务器进行网络打印,因为只有必须执行打印任务的打印机才应连接到打印服务器。此外,如果节点之一故障,则只有受到影响的节点的子节点应试图与受到影响的节点重新连接或者与受到影响的节点的对等节点重新连接。这显著减少了重新连接请求的数量。此外,由于大部分节点将连接到附近地理区域的子节点和父节点,所以将减少跳跃的数量,由此降低通信网络上的负荷。
结合以下附图进一步描述了上述系统和方法。应该注意的是,说明书和附图仅说明了本主题的原理。此外,可以想到各种布置,虽然未在本文明确描述或示出,但是这些布置体现本主题的原理并包括于其精神和范围内。
实现用于网络打印的系统和方法的方式将参照图1到5详细解释。虽然所描述的用于网络打印的系统和方法的各方面可以以任意数量的不同计算系统、环境和/或配置实现,但在以下(多个)系统的上下文中描述例子和实现方式。
图1a示意性图示了根据本主题的例子的包括网络打印系统101的网络环境100。在一个例子中,网络打印系统101还包括打印服务器102和信令服务器104。打印服务器102和信令服务器104可以实现于各种商业可获得的计算系统中,所述计算系统例如是服务器、网络服务器、工作站和个人计算机。信令服务器104通信地与打印服务器102耦合。
网络环境100还包括多个打印机,例如打印机106-1、打印机106-2和打印机106-3。打印机106-1、打印机106-2和打印机106-3统称为打印机106,并单数地称作打印机106。打印机106可以实现为多种打印机,例如办公室打印机、大幅面打印机、喷墨打印机、激光打印机和多功能打印机。打印机106通常与电子邮件地址相关联,并包括促进打印机106与其它计算系统和计算机外围部件直接或通过通信网络连接的接口。在一个例子中,打印机106可以实现网络打印的各种技术,例如网上打印和无线打印。
在一种实现方式中,打印机106-1可以由箭头108-1指示地将连接请求发送给信令服务器104。当接收到连接请求时,信令服务器104验证直接连接到它的打印机106数量是否已经达到预定义的阈值数量。在一个例子中,可以通过信令服务器104的管理员基于信令服务器104的技术规范来定义预定义的阈值数量。
如果尚未达到预定义的阈值数量,则信令服务器104由箭头108-2指示地向打印机106-1发送连接确认消息,并建立与打印机106-1的连接。在一种实现方式中,在打印机106-1和信令服务器104之间的连接可以依照TCP/IP协议。为了解释,假设信令服务器104支持最多两个打印机直接连接到它。因此,来自打印机106-2的连接请求也应以与如上描述的类似方式被信令服务器104接受。
当打印机106-3由箭头110-1指示地发送连接请求时,信令服务器104确定直接连接到它的打印机106数量已经达到预定义的阈值数量。信令服务器104随后如箭头110-2所指示地发送直接与信令服务器104连接的子节点(即打印机106-1和106-2)的列表。子节点的列表可以包括打印机106-1和106-2的IP地址,以及每个子节点的地理位置。在一个例子中,打印机106-3可以试图以随机顺序与信令服务器104的任一子节点连接。在另一例子中,打印机106-3可以试图以子节点距打印机106-3的地理距离的升序建立与信令服务器的子节点的连接。为了解释,假设打印机106-1在地理上靠近打印机106-3。
当由箭头112-1指示地从打印机106-3接收到连接请求时,打印机106-1验证直接连接到它的打印机106的数量(即打印机106-1的子节点的数量)是否已经达到预定义的阈值数量。如果尚未达到预定义的阈值数量,则打印机106-1由箭头112-2指示地向打印机106-3发送连接确认消息,并建立与打印机106-3的连接。在一种实现方式中,打印机106中的连接可以基于对等(P2P)协议。打印机106-1还向打印机106-3发送直接与信令服务器104连接的其对等节点的列表,即,打印机106的列表。对等节点的列表还可以指示对等节点的地理位置。
一旦打印机106中任一个与预定义的阈值数量的子节点直接连接,则该打印机106在接收到来自新的打印机106的请求时,向该新的打印机106发送其子节点的列表。当建立与第一打印机106的子节点之一的连接时,新的打印机106向信令服务器104发送其父节点的地址。
在一个例子中,信令服务器104可以维护直接或间接连接到信令服务器104的打印机106的IP地址的IP索引。所述IP索引促进信令服务器104执行将数据路由到特定打印机106。
因此,信令系统104促进生成直接或间接与信令服务器连接的打印机106的网际协议(IP)树。所述IP树可以实现为模拟具有链接的节点的集合的层级树结构的数据结构。在一个例子中,由其IP地址表示的信令服务器104可以是根节点。根节点可以连接到由其IP地址表示的一个或多个打印机106。结合图1b更详细解释IP树。
图1b示意性图示了根据本主题的另一例子的包括网络打印系统101的网络环境100。如前所述,信令服务器104生成IP树114。IP树114包括在不同级别连接的打印机106。例如,打印机106-1和打印机106-2直接连接到信令服务器104,并形成IP树114的第一级别116-1。作为第一级别116-1的一部分的打印机106可以称为初级节点。类似地,连接到IP树114的初级节点之一上的打印机106-3、106-4、106-5和106-6形成IP树114的第二级别116-2。作为第一级别116-1的一部分的打印机106可以称为次级节点。
在一个例子中,IP树114可以包括任意数量(由N表示)的级别。第N级别116-N可以包括由M表示的任意数量的打印机。在IP树114的同一级别的打印机106称为对等节点。在第N级别的每个打印机106连接到处于第N-1级别的一个打印机106。在第N-1级别连接的打印机106称作在第N级别的打印机106的父节点。类似地,在第N级别的每个打印机106可以连接到在第N+1级别的一个或多个打印机106。在第N+1级别连接的打印机106称为在第N级别的打印机106的子节点。
在一个例子中,信令服务器104可以将IP树114的深度限定为级别116的预定义数量。此外,信令系统104可以将对等节点的数量限定为IP树114的每个级别116的预定义数量。
在操作中,当打印服务器102接收到将由特定打印机(例如,打印机106-6)执行的打印任务时,打印服务器102向信令服务器104发送与打印机106-6的直接连接请求。信令服务器104可以实现修改直接连接请求的IP分组报头中的IP地址信息的各种处理,例如网络地址转换(NAT),来将直接连接请求路由到打印机106-6。然后,打印机106-6由118-1表示地发送连接请求到打印服务器102以进行直接连接。在由通信信道118-2指示的直接连接被建立时,打印服务器102将打印任务发送给打印机106-6以执行。当完成打印任务时,打印服务器102终止通信信道118-2。
因此,本文所描述网络打印系统101促进使用减少数量的打印服务器102进行网络打印。此外,如果节点之一故障,则仅受到影响的节点的子节点应试图与受到影响的节点重新连接或与受到影响的节点的对等节点重新连接。这显著减少了重新连接请求的数量。
图2a示意性图示了根据本主题的例子的打印机106的部件。在一个例子中,打印机106包括处理器(图中未示出)和通信地耦合到处理器的登记请求模块226。在所述例子中,登记请求模块226向父节点发送连接请求。父节点可以是信令服务器104或另一打印机106。响应于连接请求,登记请求模块226可以接收连接确认消息或父节点的子节点的列表。
在接收到连接确认消息时,登记请求模块226建立与父节点的连接。如果没有接收到连接确认消息,则登记请求模块226向父节点的至少一个子节点发送连接请求。结合图2b更详细解释打印机106的工作。
图2b示意性图示了根据本主题的另一例子的信令服务器104和打印机106的部件。
在一种实现方式中,信令服务器104包括处理器202以及连接到处理器202上的存储器204。处理器202可以包括微处理器、微控制器和逻辑电路。除了其它能力外,处理器202还可以取得并执行存储于存储器204中的计算机可读指令。
通信地耦合到处理器202的存储器204可以包括现有技术中已知的任意非瞬态计算机可读介质,包括易失性存储器和非易失性存储器,例如只读存储器(ROM)、闪速存储器、硬盘、光盘和磁带。
此外,信令服务器104包括接口206。接口206可以包括多种商业可获得的接口,例如,用于(多个)外围设备的接口,所述外围设备例如是数据输入输出设备(称作I/O设备)、存储设备、网络设备。接口206促进信令服务器104与各种通信和计算设备以及各种通信网络的通信,所述通信网络例如是使用多种协议的网络,所述协议例如是超文本传输协议(HTTP)、可扩展消息传递和到场协议(XMPP)以及传输控制协议/网际协议(TCP/IP)。
此外,信令服务器104可以包括模块208。模块208可以耦合到处理器202。除了其他事物以外,模块208还包括例程、程序、对象、部件、数据结构等,其执行特定任务或实现特定抽象数据类型。模块208还可以实现为(多个)信号处理器、(多个)状态机、逻辑电路和/或基于操作指令操纵信号的任意其它设备或部件。
此外,模块208可以实现在硬件、处理单元执行的计算机可读指令或其组合中。在所述实现方式中,模块208包括打印机登记模块210、路由模块212和(多个)其它模块214。(多个)其它模块214可以包括补充由信令服务器104执行的应用或功能的程序或编码指令。
在例子中,信令服务器104包括数据216。在所述实现方式中,数据216可以包括IP索引数据218、节点数据220以及其它数据222。其它数据222可以包括由模块208为了提供信令服务器104的各种功能而生成和保存的数据。
在一种实现方式中,信令服务器104通过通信网络224通信地耦合到打印机106。通信网络224可以包括任意商业可获得的电信网络及对其的改进,或者使用任意公用协议的任意公共通信网络,所述协议例如是超文本传输协议(HTTP)和传输控制协议/网际协议(TCP/IP)。在一个例子中,打印机106包括登记请求模块226和连接维护模块228。
在操作中,第一打印机106的登记请求模块226可以通过通信网络224向信令服务器104发送连接请求。打印机登记模块210接收该请求,并确定信令服务器104是否已经与预定义阈值数量的打印机106连接。假如,打印机登记模块210向打印机106发送连接确认消息,并建立与打印机106的连接。此外,路由模块存储打印机106的IP地址作为IP索引数据218。之后,打印机登记模块210接受连接请求,直到信令服务器104连接到预定义阈值数量的打印机106。
如果第N打印机106在信令服务器104连接到预定义阈值数量的打印机106之后发送连接请求,则打印机登记模块210发送其子节点的IP地址的列表。之后,第N打印机106的登记请求模块226以子节点距第N打印机106的地理距离的升序向信令服务器104的子节点发送连接请求。为了解释的缘故,假设第一打印机106在地理上最靠近第N打印机106。
当接收到来自第N打印机106的连接请求时,连接维护模块228验证第一打印机106的数量是否已经达到预定义的阈值数量。如果尚未达到预定义的阈值数量,则第一打印机106的连接维护模块228向第N打印机106发送连接确认消息,并建立与第N打印机106的连接。第一打印机106的连接维护模块228还向第N打印机106发送其对等节点的列表。
在一个例子中,每个打印机的连接维护模块228可以向信令服务器104的路由模块212发送其父节点和子节点的IP地址。路由模块212可以存储其为IP索引数据218以将数据路由到任意特定打印机106。
当接收到将由特定打印机执行的打印任务时,打印服务器102向信令服务器104的路由模块212发送与打印机106的直接连接请求。路由模块212可以实现修改直接连接请求的IP分组报头中的IP地址信息的各种处理,来将直接连接请求路由到打印机106。然后,打印机106的登记请求模块226发送连接请求到打印服务器102以进行直接连接。在直接连接被建立时,打印服务器102将打印任务发送给打印机106以执行。当完成打印任务时,连接维护模块228终止通信信道108-2。
因此,信令服务器104促进使用减少数量的打印服务器102进行网络打印,因为只有必须执行打印任务的打印机106才应连接到打印服务器102。此外,如果节点之一故障,则仅受到影响的节点的子节点应试图与受到影响的节点重新连接或与受到影响的节点的对等节点重新连接。这显著减少了重新连接请求的数量。
图3图示了根据本主题的例子的用于网络打印的方法300。图4图示了根据本主题的另一例子的用于网络打印的方法400。图5图示了根据本主题的另一例子的用于网络打印的方法500。描述方法300、400和500的顺序并不意图解释为限制,而是可以以任意顺序组合任意数量的所描述方法框来实现方法300、400和500或替代方法。另外,可以从方法300、400和500中删除个体框,而不背离本文所描述主题的精神和范围。此外,方法300、400和500可以实现于任意适当的硬件、计算机可读指令或其组合中。
方法300、400和500的步骤可以由编程的计算机执行。这里,一些例子还意图覆盖程序存储设备,例如,数字数据存储介质,其是机器或计算机可读的并且对指令的机器可执行或计算机可执行程序进行编码,其中所述指令执行所描述的方法300、400和500的一些或所有步骤。程序存储设备例如可以是数字存储器、磁存储介质(诸如磁盘和磁带)、硬盘驱动或者光学可读数字数据存储介质。
参照如图3中所描绘的方法300,如框302中所描绘的,接收来自打印机106的连接请求。在一种实现方式中,信令服务器104的打印机登记模块210接收来自打印机106的连接请求。在另一例子中,打印机106的连接维护模块228接收来自另一打印机106的连接请求。
在框304处,确定直接连接的打印机数量是否已经达到预定义的阈值数量。在一种实现方式中,信令服务器104的打印机登记模块210确定连接到信令服务器104的子节点(即,打印机106)的数量。在另一例子中,打印机106的连接维护模块228确定打印机106的子节点的数量。
如果在框304处确定直接连接的打印机的数量已经达到预定义的阈值数量,则如306处所示,向打印机106发送在相同或附近地理位置中的子节点的列表。在一种实现方式中,信令服务器104的打印机登记模块210向打印机106发送子节点的列表。
如果在框304处确定直接连接的打印机的数量尚未达到预定义的阈值数量,则如308处所示,向打印机106发送连接确认消息。在一个例子中,信令服务器104的打印机登记模块210向打印机106发送连接确认消息,并建立在打印机106和信令服务器104之间的通信信道。
参照如图4中所描绘的方法400,如框402中所描绘的,由打印机106发送连接到信令服务器104的请求。在一种实现方式中,打印机106的登记请求模块226可以生成并向信令服务器104发送所述请求。
如框404中所示,从信令服务器104接收响应。在一个例子中,连接维护模块228接收来自信令服务器104的响应。
在框406处,确定所述响应是否是连接确认消息。在一种实现方式中,连接维护模块228确定所述响应是否是连接确认消息。
如果在框406处确定所述响应是连接确认消息,则如408中所描绘的,打印机106连接到信令服务器104。在一种实现方式中,连接维护模块228建立与信令服务器104的连接。
如果在框406处确定所述响应不是连接确认消息,则如框410中所描绘的,打印机106从信令服务器104接收在相同或附近地理位置中的子节点或对等节点的列表。在一种实现方式中,连接维护模块228从信令服务器104接收子节点和对等节点的列表。
如框412中所示,打印机106发送连接到所述列表中至少一个节点的请求。在一种实现方式中,登记请求模块226以随机顺序发送连接到所述列表中至少一个节点的请求。在另一种实现方式中,登记请求模块226以打印机106和节点之间的地理距离的升序发送连接到所述列表中至少一个节点的请求。
在框414处,确定是否从至少一个节点接收到连接确认消息。在一种实现方式中,连接维护模块228确定是否已经从至少一个节点接收到连接确认消息。
如果在框414处接收到连接确认消息,则如框416中所示,建立与所述至少一个节点的连接。在一个例子中,连接维护模块228建立与所述至少一个节点的连接。
如果在框414处没有接收到连接确认消息,则如框412中所示,打印机106发送连接到所述列表中至少一个节点的请求。
参照如图5中所描绘的方法500,如框502中所描绘的,打印机106接收执行打印任务的请求。在一种实现方式中,打印服务器102向信令服务器104发送执行打印任务的请求。信令服务器104的路由模块212将所述请求路由到打印机106。
如框504中所示,打印机106请求连接到打印服务器102的请求。在一种实现方式中,打印机106的连接维护模块228生成连接到打印服务器102的请求。
如框506中所示,从打印服务器102接收连接确认消息。在一个例子中,连接维护模块228从打印服务器102接收连接确认消息。
在框508处,建立与打印服务器102的连接。在一种实现方式中,连接维护模块228建立与打印服务器102的通信信道。
如框510中所描绘的,接收打印任务。在一个例子中,连接维护模块228从打印服务器102接收打印任务。
如框512中所示,执行打印任务。如框514中所描绘的,终止与打印服务器102的连接。在一种实现方式中,当完成打印任务的执行时,连接维护模块228终止与打印服务器102的连接。
图6图示了根据本主题的例子的存储用于网络打印的指令的计算机可读介质600。在一个例子中,计算机可读介质600通过通信链路604通信地耦合到处理单元602。
例如,处理单元602可以是计算设备,例如服务器、膝上型计算机、台式计算机、移动设备等。计算机可读介质600例如可以是内部存储器设备或外部存储器设备,或者可以是任意商业可获得的非瞬态计算机可读介质。在一种实现方式中,通信链路604可以是直接通信链路,例如任意存储器读/写接口。在另一种实现方式中,通信链路604可以是间接通信链路,例如网络接口。在这样的情况下,处理单元602可以通过网络访问计算机可读介质600。
处理单元602和计算机可读介质600还可以通过网络通信地耦合到数据源606。数据源606可以包括例如数据库和计算设备。数据源606可以由请求者和代理使用来与处理单元602通信。
在一种实现方式中,计算机可读介质600包括计算机可读指令的集合,例如登记请求模块226。计算机可读指令的集合可以由处理单元602通过通信链路604访问,并后续被执行以执行用于网络打印的动作。
当处理单元602执行时,登记请求模块226接收来自新节点的连接到打印机的请求。然后,登记请求模块226确定打印机的子节点的数量是否已经达到预定义的阈值数量。当确定子节点的数量尚未达到预定义的阈值数量时,登记请求模块226向新节点发送连接确认消息。如果确定子节点的数量已经达到预定义的阈值数量,则登记请求模块226向新节点发送打印机的子节点的列表。
虽然以特定于结构特征和/或方法的语言描述了用于网络打印的实现方式,但是应理解的是随附权利要求不必局限于所描述的具体特征或方法。相反,所述具体特征和方法公开为用于网络打印的系统和方法的例子。
Claims (14)
1.一种用于网络打印的方法,所述方法包括:
从节点接收连接到父节点的请求,其中所述节点是打印机;
确定所述父节点的子节点的数量是否已经达到预定义的阈值数量;以及
对于子节点的数量小于预定义的阈值数量,向所述节点发送连接确认消息。
2.如权利要求1所述的方法,所述方法还包括:当确定子节点的数量已经达到预定义的阈值数量时,向新节点发送所述父节点的子节点的列表。
3.如权利要求1所述的方法,所述方法还包括:向新节点发送所述父节点的对等节点的列表,其中,所述新节点在检测到与所述父节点的连接断开时连接到至少一个所述对等节点。
4.如权利要求3所述的方法,所述方法还包括:以所述对等节点距所述节点的地理距离的升序来存储对等节点的所述列表。
5.如权利要求1所述的方法,所述方法还包括:
从打印服务器接收连接到子节点以执行打印任务的请求;以及
将所述请求路由到所述子节点。
6.一种用于网络打印的打印机,所述打印机包括:
处理器;
耦合到所述处理器的登记请求模块,用于:
向父节点发送连接请求;
接收连接确认消息和所述父节点的子节点的列表中的至少一个,作为对所述连接请求的响应;
如果接收到所述连接确认消息,则建立与所述父节点的连接;以及
如果没有接收到所述连接确认消息,则向所述父节点的至少一个子节点发送连接请求。
7.如权利要求6所述的打印机,其中,所述登记请求模块还接收所述父节点的对等节点的列表。
8.如权利要求7所述的打印机,还包括耦合到所述处理器的连接维护模块,用于:
以距所述打印机的地理距离的升序对所述列表的对等节点进行排序;
在检测到与所述父节点的连接断开时,基于所述排序,向至少一个所述对等节点发送连接请求。
9.如权利要求7所述的打印机,其中,所述连接维护模块还:
接收连接到打印服务器以执行打印任务的连接请求;
建立与所述打印服务器的连接;
接收所述打印任务;
执行所述打印任务;以及
当完成所述执行时,终止与打印服务器的所述连接。
10.如权利要求7所述的打印机,其中,所述连接维护模块还:
从新节点接收连接到所述打印机的请求;
确定所述打印机的子节点的数量是否已经达到预定义的阈值数量;以及
当确定子节点的数量尚未达到预定义的阈值数量时,向所述新节点发送连接确认消息。
11.如权利要求10所述的打印机,其中,所述连接维护模块还向所述新节点发送所述打印机的对等节点的列表,其中所述新节点在检测到与打印机的连接断开时连接到至少一个所述对等节点。
12.如权利要求10所述的打印机,其中,所述连接维护模块还在确定子节点的数量已经达到预定义的阈值数量时,向所述新节点发送所述打印机的子节点的列表。
13.一种具有计算机可读指令的集合的非瞬态计算机可读介质,当所述指令被执行时使得打印机用于:
从新节点接收连接到所述打印机的请求;
确定所述打印机的子节点的数量是否已经达到预定义的阈值数量;
当确定子节点的数量尚未达到预定义的阈值数量时,向所述新节点发送连接确认消息;以及
当确定子节点的数量已经达到预定义的阈值数量时,向所述新节点发送所述打印机的子节点的列表。
14.如权利要求13所述的非瞬态计算机可读介质,其中,被执行的指令还使得打印系统用于:
向父节点发送连接请求;
接收连接确认消息和所述父节点的子节点的列表中的至少一个,作为对所述连接请求的响应;
当接收到所述连接确认消息时,建立与所述父节点的连接;以及
当没有接收到所述连接确认消息时,向所述父节点的至少一个子节点发送连接请求。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/034615 WO2014158189A1 (en) | 2013-03-29 | 2013-03-29 | Network printing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105051673A true CN105051673A (zh) | 2015-11-11 |
CN105051673B CN105051673B (zh) | 2019-01-18 |
Family
ID=51624968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075224.2A Expired - Fee Related CN105051673B (zh) | 2013-03-29 | 2013-03-29 | 网络打印 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9483218B2 (zh) |
EP (1) | EP2979166B1 (zh) |
CN (1) | CN105051673B (zh) |
WO (1) | WO2014158189A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813349A (zh) * | 2020-05-27 | 2020-10-23 | 厦门汉印电子技术有限公司 | 云打印服务器的调度设备方法、装置、设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289369B2 (en) * | 2016-10-27 | 2019-05-14 | Dell Products, L.P. | Managing print jobs using peer-to-peer techniques |
JP2019045903A (ja) * | 2017-08-29 | 2019-03-22 | キヤノン株式会社 | 管理装置、制御方法、およびプログラム |
JP7510889B2 (ja) * | 2021-01-22 | 2024-07-04 | シャープ株式会社 | 印刷指示装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402117A (zh) * | 2001-07-02 | 2003-03-12 | 精工爱普生株式会社 | 通过网络进行的打印方法 |
US20050078610A1 (en) * | 2003-10-14 | 2005-04-14 | Previdi Stefano Benedetto | Method and apparatus for generating routing information in a data communication network |
CN1736082A (zh) * | 2003-01-10 | 2006-02-15 | 松下电器产业株式会社 | 分组许可系统以及其服务器及客户端 |
US7050184B1 (en) * | 1998-04-30 | 2006-05-23 | Canon Kabushiki Kaisha | Data transfer apparatus and method, and data transfer system and medium |
CN1791044A (zh) * | 2004-12-13 | 2006-06-21 | 三星电子株式会社 | 使用无线连接映射管理无线连接状态的系统及其方法 |
CN1825272A (zh) * | 2005-02-22 | 2006-08-30 | 中国科学院计算技术研究所 | 一种多节点智能网络应用服务系统中的远程打印方法 |
CN101068186A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种客户端节点网络拓扑构造方法及流媒体分发系统 |
EP2182460A2 (en) * | 2008-10-30 | 2010-05-05 | Christoph Alme | Structural recognition of malicious code patterns |
US7911978B1 (en) * | 2002-12-27 | 2011-03-22 | At&T Intellectual Property Ii, L.P. | Adaptive topology discovery in communication networks |
US20130054643A1 (en) * | 2006-04-25 | 2013-02-28 | Rockstar Consortium Us Lp | Method and Apparatus for Document Matching |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE50000339D1 (de) | 1999-02-15 | 2002-09-05 | Oc Printing Systems Gmbh | Drucksystem |
US6932523B1 (en) | 1999-08-31 | 2005-08-23 | Brother Kogyo Kabushiki Kaisha | Printing system including a printer and client devices connected by a network |
WO2001017177A1 (fr) * | 1999-08-31 | 2001-03-08 | Canon Kabushiki Kaisha | Systeme et procede de communication d'information, dispositif et procede de traitement de signaux de donnees, et support de memoire |
US7298508B2 (en) | 2000-03-28 | 2007-11-20 | Brother Kogyo Kabushiki Kaisha | Device and method for using multicast to transmit print data to networked printers |
JP2002366328A (ja) | 2001-06-07 | 2002-12-20 | Seiko Epson Corp | プリンタサーバ、及び、印刷システム |
US6920506B2 (en) * | 2001-06-28 | 2005-07-19 | Canon Information Systems, Inc. | Discovery and management of network printers |
US7400424B2 (en) | 2002-03-05 | 2008-07-15 | Hewlett-Packard Development Company, L.P. | Printer option suggestion method and program |
EP1782235B1 (en) * | 2004-07-09 | 2015-12-23 | Network Foundation Technologies, LLC | Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network |
JP2006053735A (ja) * | 2004-08-11 | 2006-02-23 | Seiko Epson Corp | ネットワーク機器およびこれに用いるプログラム並びにこの制御方法 |
US8204963B2 (en) | 2005-01-18 | 2012-06-19 | Seiko Epson Corporation | Download control of information from server connected to network |
US20090125611A1 (en) * | 2007-11-08 | 2009-05-14 | Barsness Eric L | Sharing loaded java classes among a plurality of nodes |
JP2010287112A (ja) | 2009-06-12 | 2010-12-24 | Ricoh Co Ltd | ネットワークプリンタシステム、情報処理プログラム、および記録媒体 |
JP2012063944A (ja) | 2010-09-15 | 2012-03-29 | Canon Inc | 印刷システム、制御方法、クライアント端末、プリントサーバ、及びプログラム |
US9589021B2 (en) * | 2011-10-26 | 2017-03-07 | Hewlett Packard Enterprise Development Lp | System deconstruction for component substitution |
-
2013
- 2013-03-29 US US14/771,541 patent/US9483218B2/en active Active
- 2013-03-29 WO PCT/US2013/034615 patent/WO2014158189A1/en active Application Filing
- 2013-03-29 CN CN201380075224.2A patent/CN105051673B/zh not_active Expired - Fee Related
- 2013-03-29 EP EP13880507.2A patent/EP2979166B1/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7050184B1 (en) * | 1998-04-30 | 2006-05-23 | Canon Kabushiki Kaisha | Data transfer apparatus and method, and data transfer system and medium |
CN1402117A (zh) * | 2001-07-02 | 2003-03-12 | 精工爱普生株式会社 | 通过网络进行的打印方法 |
US7911978B1 (en) * | 2002-12-27 | 2011-03-22 | At&T Intellectual Property Ii, L.P. | Adaptive topology discovery in communication networks |
CN1736082A (zh) * | 2003-01-10 | 2006-02-15 | 松下电器产业株式会社 | 分组许可系统以及其服务器及客户端 |
US20050078610A1 (en) * | 2003-10-14 | 2005-04-14 | Previdi Stefano Benedetto | Method and apparatus for generating routing information in a data communication network |
CN1791044A (zh) * | 2004-12-13 | 2006-06-21 | 三星电子株式会社 | 使用无线连接映射管理无线连接状态的系统及其方法 |
CN1825272A (zh) * | 2005-02-22 | 2006-08-30 | 中国科学院计算技术研究所 | 一种多节点智能网络应用服务系统中的远程打印方法 |
US20130054643A1 (en) * | 2006-04-25 | 2013-02-28 | Rockstar Consortium Us Lp | Method and Apparatus for Document Matching |
CN101068186A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种客户端节点网络拓扑构造方法及流媒体分发系统 |
EP2182460A2 (en) * | 2008-10-30 | 2010-05-05 | Christoph Alme | Structural recognition of malicious code patterns |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813349A (zh) * | 2020-05-27 | 2020-10-23 | 厦门汉印电子技术有限公司 | 云打印服务器的调度设备方法、装置、设备及存储介质 |
CN111813349B (zh) * | 2020-05-27 | 2022-07-12 | 厦门汉印电子技术有限公司 | 云打印服务器的调度设备方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160054961A1 (en) | 2016-02-25 |
EP2979166B1 (en) | 2020-05-06 |
US9483218B2 (en) | 2016-11-01 |
WO2014158189A1 (en) | 2014-10-02 |
EP2979166A4 (en) | 2016-11-23 |
CN105051673B (zh) | 2019-01-18 |
EP2979166A1 (en) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7490140B2 (en) | Peer data transfer orchestration | |
US9548874B2 (en) | Selecting a content delivery network | |
US9342575B2 (en) | Providing high availability in an active/active appliance cluster | |
US20100037225A1 (en) | Workload routing based on greenness conditions | |
US8219706B2 (en) | Interdomain network aware peer-to-peer protocol | |
CN104380278A (zh) | 用于一个或多个客户端和数据中心的服务器之间的客户端管理会话持续性的设备、系统和方法 | |
US12101308B2 (en) | Managing a SSO session by an identity provider | |
US10609155B2 (en) | Scalable self-healing architecture for client-server operations in transient connectivity conditions | |
CN113810349B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN105051673A (zh) | 网络打印 | |
JP2006221423A (ja) | データ配布方法、装置、及び記憶媒体 | |
Wang et al. | CDLB: a cross-domain load balancing mechanism for software defined networks in cloud data centre | |
US10897506B2 (en) | Managing port connections | |
CN101938427B (zh) | 一种全局负载均衡中的重定向方法和装置 | |
US10904327B2 (en) | Method, electronic device and computer program product for searching for node | |
CN109479214A (zh) | 一种负载均衡的方法及相关装置 | |
CN114172958B (zh) | 隐私计算节点、系统、方法、装置以及存储介质 | |
KR20230003490A (ko) | 오케스트레이션된 프록시 서비스 | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
JP4784617B2 (ja) | 分散管理システム、クライアント端末、分散管理方法、及び分散管理プログラム | |
CN113010337A (zh) | 故障检测方法、总控节点、工作节点及分布式系统 | |
Wang et al. | NCDN: A Node‐Failure Resilient CDN Solution with Reinforcement Learning Optimization | |
Li et al. | Optimal layer division for low latency in DHT‐based hierarchical P2P network | |
Li et al. | A potential field based framework for publish/subscribe service in P2P cloud | |
US20150365321A1 (en) | Multi-peer routing in a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190118 |