CN1788258A - 用于执行协议转换处理的装置、方法和程序 - Google Patents

用于执行协议转换处理的装置、方法和程序 Download PDF

Info

Publication number
CN1788258A
CN1788258A CNA2004800127628A CN200480012762A CN1788258A CN 1788258 A CN1788258 A CN 1788258A CN A2004800127628 A CNA2004800127628 A CN A2004800127628A CN 200480012762 A CN200480012762 A CN 200480012762A CN 1788258 A CN1788258 A CN 1788258A
Authority
CN
China
Prior art keywords
protocol conversion
agreement
conversion process
protocol
network
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
Application number
CNA2004800127628A
Other languages
English (en)
Other versions
CN100421094C (zh
Inventor
西尾雅裕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1788258A publication Critical patent/CN1788258A/zh
Application granted granted Critical
Publication of CN100421094C publication Critical patent/CN100421094C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2845Telephone line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]

Abstract

当装置搜索网络时,存在这样的情况,即该装置被识别为与通过协议A搜索到的装置和通过协议B搜索到的装置不同的装置。在用于在网络系统中执行协议转换处理的代理服务器(9300)中,搜索在该网络上是否存在用于执行预定协议转换处理的另一协议转换装置。当在网络上搜索到另一协议转换装置时,判定搜索到的协议转换装置是否已进行过协议转换处理。

Description

用于执行协议转换处理的装置、方法和程序
技术领域
本发明涉及一种根据预定协议进行通信处理的网络装置和服务器装置、包括该网络装置和服务器装置的系统、方法、控制程序等。
背景技术
迄今为止,已知一种服务提供装置和服务提供系统,其响应于来自网络上的客户机装置的服务请求而提供绘制(rendering)服务。
例如,随着通过因特网进行通信的迅速普及,支持网络的装置迅速进步,因此不仅传统的个人计算机,而且用户交互式装置例如PDA(个人数字助理)、蜂窝电话等、图像处理装置例如扫描仪、打印机、复印装置、数字照相机等、以及家用电器例如电视、空气调节器、冰箱等均可通过网络进行通信。
通过这些进步,为了在使用这些支持网络的装置时更容易使用且更简单,已经提供了各种协议,用于提供网络地址的自动设置方法,网络装置的发现方法,以及用于控制支持网络的装置的应用软件、工具软件、操作系统等的自动设置方法。例如,存在如下协议,例如主要由Micorsoft公司进行标准化的“通用即插即用(Universal Plug and Play)”、由日本商业机械信息系统产业协会(JBMIA)开发的“BMLinkS”、以及“Apple OSX”支持的“Renedzvous”等。
尽管由于这些协议的提出而改善了使用上的容易性和简单性,但是这导致需要网络装置适应多个协议。尽管可以在具有大规模硬件和大量软件资源的例如高端复印机、打印机等装置上实现多个协议,但是对于其它装置,必须根据使用的应用程序来执行每个协议,因此这成为增加开发成本的主要因素。已经投入市场且在网络上处于运行状态的装置不能适应这些协议。
作为解决该问题的方法,通常采用这样的方法:使称为代理(Proxy)或网桥(Bridge)的装置在网络上操作,并使其执行用于协议一致性的代理处理。
然而,根据这种传统技术,当想要执行协议转换处理时,例如,如果在其它装置中存在对应于多个协议A和B的一个特定装置,则当该装置搜索网络时,该装置被识别为与根据协议A搜索的装置和根据协议B搜索的装置不同的装置。
当该装置根据预定协议进行搜索时,其通过代理服务器(协议转换服务器)接收响应。此时,存在这样的问题:当启动多个协议转换服务器时,如果一个装置响应搜索请求,则多个用于进行协议转换的代理服务器分别转换该响应,并且从每个代理服务器多次发出搜索装置的响应。因此,当进行搜索时,如果存在多个代理服务器,则看起来似乎存在多个装置。
发明内容
本发明是为了解决至少上述问题之一而做出的,其公开了如下装置。
公开了一种控制装置,用于在混合存在多种协议的网络系统中执行协议转换处理,该控制装置包括:搜索装置,其将用于搜索网络上的执行预定协议处理的另一协议转换装置的搜索请求发送到所述网络上,并在启动时执行搜索处理;识别装置,用于当所述搜索装置搜索网络上的所述另一协议转换装置时,识别所述搜索到的协议转换装置是否能执行协议转换处理,或者所述搜索到的协议转换装置是否已执行过协议转换处理;以及启动装置,用于当所述识别装置识别出所述搜索到的协议转换装置不能执行协议转换处理或者未执行协议转换处理时,启动协议转换处理。还公开了可应用于这种控制装置的方法和控制程序。
公开了一种控制装置,用于对作为目标的使用多种协议的装置进行协议转换控制,该控制装置包括:搜索装置,用于搜索使用第一协议的装置;转换装置,用于转换第二协议,以使该装置根据所述第一协议进行通信;识别装置,用于识别由所述搜索装置搜索到的装置是否符合所述第一协议;以及控制装置,用于控制所述转换装置,以便对于由所述搜索装置搜索到的由所述识别装置识别为符合所述第一协议的装置,不执行将协议转换为所述第一协议的协议转换。还公开了可应用于这种控制装置的方法和控制程序。
根据下面结合附图所作的说明,本发明的其它特征和优点是显而易见的,在本发明的全部附图中,相同的附图标记表示相同或相似的部分。
附图说明
图1是示出根据本发明的实施例构成协议转换系统的客户机、代理服务器、以及对应于网络的打印机的每个功能结构的示意图。
图2是示出本发明的协议转换系统的协议转换处理方法的总体流程图。
图3是示出本发明的协议转换系统的协议转换处理方法中搜索符合UPnP的打印机的处理的流程图。
图4是示出由“通用即插即用装置体系结构v1(UniversalPlug and Play Device Architecture v1)”规定的M-SEARCH发现包的格式的示意图。
图5是示出由“通用即插即用装置体系结构v1”规定的M-SEARCH发现包的响应包格式的示意图。
图6是示出本发明的协议转换系统的协议转换处理方法中的打印机信息获取处理的流程图。
图7是示出管理表的格式的示意图。
图8是示出本发明的协议转换系统的协议转换处理方法中的协议转换处理的流程图。
图9是示出根据本发明的实施例构成协议转换系统的客户机、代理服务器、以及对应于网络的打印机的每个功能结构的示意图。
图10包括图10A和10B,其示出本发明的协议转换系统的协议转换处理方法的流程图。
图11包括图11A和11B,其示出本发明的协议转换系统的协议转换处理方法中的打印机信息获取处理的流程图。
图12包括图12A和12B,其示出本发明的协议转换系统的协议转换处理方法中的协议转换处理的流程图。
图13是示出本发明的协议转换系统的协议转换处理方法中的通知(Notify)包处理的处理流程图。
图14是示出通知状态=WakeUp的包格式的示意图。
图15是示出通知响应包状态=FULL的包格式的示意图。
图16是示出根据本发明的实施例构成协议转换系统的客户机、代理服务器、以及支持网络的打印机的每个功能结构的示意图。
图17是示出本发明的协议转换系统的协议转换处理方法的总体流程图。
图18是示出本发明的协议转换系统的协议转换处理方法中获取符合UPnP的打印机信息的处理的流程图。
图19是示出管理表的格式的示意图。
图20包括图20A和20B,其示出本发明的协议转换系统的协议转换处理方法中的协议转换处理的处理流程图。
图21示出由本发明的协议转换装置形成的表示(presentation)文档。
图22示出由本发明的协议转换装置形成的表示文档。
图23是示出通知响应包状态=WORKING的包格式的示意图。
图24是示出通知状态=FULL的包格式的示意图。
图25是示出管理表的格式的示意图。
图26是示出通知状态=ByeBye的包格式的示意图。
具体实施方式
在支持协议A的(x)个装置和同时支持协议A和协议B的(y)个装置运行在网络上的情况下(x和y是1或更大的整数),如果启动用于将协议A转换为协议B的代理,则通过对同时支持协议A和协议B的装置使用协议A,该代理执行转换到协议B的转换。因此,因为该代理的干预,存在对采用协议B的网络客户机执行处理的可能性,就好像有(x+2y)个对应于协议B的装置在工作一样,即,尽管装置同时支持协议A和协议B,但是数量等于实际装置数量的两倍的装置运行在网络上。存在这样的问题:代理的干预成为使使用装置的用户产生混乱的主要原因。
作为例子,下面将参考附图来详细说明本发明的优选实施例。该实施例公开的协议、版本、地址、数值等不限制本发明的范围,除非另有说明。
现在说明作为根据本发明的服务提供系统的实施例的协议转换系统。图1是示出根据本发明实施例的打印系统的结构的方框图。
例如Microsoft公司的“Windows(注册商标)”、AppleComputer Inc.的MacOS等的通用操作系统、以及能在该操作系统上执行的通用应用程序安装在客户机100上。在该实施例所示的“Windows(注册商标)”OS1的情况下,通过使用“可扩充标记语言(XML)”/“简单对象访问协议(SOAP)”的“通用即插即用(UPnP)”协议2,来发现、控制网络上的装置、获得网络上的装置的状态等。在打印机驱动程序3将由例如作为应用软件的字处理程序4形成的文档转换为可打印数据以后,利用UPnP协议2将打印作业发送到由UPnP协议2搜索并发现的符合UPnP协议的打印机。
对应于网络的装置,即该实施例中的支持网络的打印机200具有TCP/UDP/IP协议栈5作为通信功能。简单网络管理协议(SNMP)处理单元6设置在该协议栈上。打印协议处理单元7安装在协议栈5上,其具有分析客户机发出的打印请求并将该打印请求发送到打印机控制器8的功能。
该打印机没有UPnP协议处理单元,不能单独响应客户机100发出的采用UPnP协议的装置搜索请求和UPnP打印作业请求。
另一支持网络的装置,即该实施例中的支持网络的打印机400具有TCP/UDP/IP协议栈17作为通信功能。在该协议栈上设有HTTP 19,执行HTTP请求的分析和响应处理。
以与网络打印机200相同的方式,将简单网络管理协议(SNMP)处理单元18设置在协议栈17上。
对HTTP 19的上层设置简单对象访问协议(SOAP)处理单元20,还设置UPnP协议处理单元21。在支持网络的打印机400内实现在UPnP Forum(论坛)规定的打印基本服务(Print Basicservice)。UPnP协议处理单元具有分析打印作业和由这种服务定义的属性信息、并将打印请求发送到打印机控制器22的功能。
同样地,代理服务器300也具有TCP/UDP/IP协议栈9作为通信功能。在该协议栈上设置HTTP 10,执行HTTP请求的分析和响应处理。
将简单网络管理协议(SNMP)处理单元11设置在协议栈9上。利用该协议搜索不具有UPnP协议处理单元的支持网络的打印机200并获得信息。
打印协议处理单元12安装在协议栈9上,在打印协议处理单元12内执行将打印作业发送到不具有UPnP协议处理单元的支持网络的打印机200。
简单对象访问协议(SOAP)处理单元13设置在HTTP 10的上层。如果网络上存在客户机100和另一代理服务器,则通过SOAP处理单元13,UPnP协议处理单元14和协议转换处理单元9016分别与该客户机100和另一代理服务器实现由“可扩充标记语言(XML)”描述的双向数据通信。
协议转换处理单元16位于SNMP处理单元11、SOAP处理单元13、UPnP处理单元14、打印协议处理单元12、以及记录装置控制单元15的上层,并且执行下面的处理。即,在形成了在UPnP协议中使用的各种XML文档后,通过SNMP处理单元11获得的支持网络的打印机的信息被记录到由记录装置控制单元15控制的记录装置中,或者当存在根据UPnP协议的请求时,通过记录装置控制单元15读出记录在相应的管理表上的XML文档,将其发送到UPnP协议处理单元14等。
在接收到UPnP协议的打印作业请求时,协议转换处理单元16通过SOAP处理单元13来获取作业命令和作业属性信息,将其内容转换为指定了输出的打印机所支持的打印协议,然后,通过打印协议处理单元12将该作业发送到指定的打印机。
通过控制单元15,协议转换处理单元16执行将由代理服务器300管理的管理表写入记录装置/从记录装置读出,该记录装置由记录装置控制单元15进行控制。同样地,当协议转换处理单元16获得由网络上存在的另一代理服务器管理的管理表时,其通过控制单元15执行将该管理表写入记录装置/从记录装置读出,该记录装置由记录装置控制单元15进行控制。
下面将根据图2的流程图来说明本系统的控制流程。
在启动了代理服务器300中的协议转换处理单元16后,其通过记录装置控制单元15清除管理表中的内容,在该管理表中,记录有已执行了协议转换处理的网络装置的信息(步骤2-1)。在下面的处理中将详细说明该管理表。
随后,当客户机加入网络并开始服务时,搜索该网络上存在的符合UPnP的打印机(步骤2-2)。下面参考图3来详细说明步骤2-2。如图3示出的流程图的步骤3-1所示,将由“通用即插即用装置体系结构v1.0”规定的、图4所示格式的HTTPM-SEARCH包发送到多点传送地址239.255.255.250和端口号1900。
在发出了M-SEARCH包之后,如果在规定的预定时间内,例如,在该实施例中在30秒内存在响应,则响应于全部响应,代理服务器300中的协议转换处理单元16对响应包进行分析。
图5示出来自作为网络装置的例子的打印机的响应包的格式。通过控制单元15,代理服务器300中的协议转换处理单元16将在该包内描述的网络打印机的URL记录到由记录装置控制单元15控制的记录装置内。对接收到的全部响应包执行该处理,代理服务器300记录在该网络上存在的全部符合UPnP的打印机的URL(步骤3-2)。
完成上述处理后,或者当在步骤3-3不存在响应时,代理服务器300中的协议转换处理单元16结束该UPnP搜索处理,进入步骤2-3,开始获得打印机信息。
图5所示的URL为“123.123.123.123”。URL是网络装置识别信息的优选例子。ST表示服务类型。
图6的流程图示出用于获得打印机信息的控制的流程。代理服务器300中的协议转换处理单元16对SNMP处理单元11中的如下MIB对象广播SNMP取得(Get)请求,以获得该网络上存在的打印机的打印机信息(步骤6-1)。
PrinterMakerAndModel:打印机制造商/型号名称
PrinterName:打印机名称
PrinterLocation:打印机设置位置
IPAddress:打印机IP地址
MACAddress:打印机MAC地址
SupportedPDL:支持的页面描述语言
SupportedPrintProtocol:支持的打印协议
接收到SNMP Get请求的支持网络的打印机200和400形成对应于SNMP处理单元6中的每个对象的信息,之后,以单播(unicast)的方式将作为SNMP响应的响应发送到代理服务器300。
在步骤S6-1-1判定是否接收到该响应。如果在步骤S6-1-1判定接收到该响应,则进入步骤S6-2。如果判定没有响应,则进入步骤S6-9。从每个支持网络的打印机接收到响应的代理服务器300中的协议转换处理单元16将每个响应的内容与已注册在记录装置上的管理表中的内容进行比较(步骤6-2),从而判定该打印机是否是已经进行了协议转换的打印机(步骤6-3)。
如果在步骤S6-3判定该打印机是未进行协议转换的打印机,即该打印机是新发现的打印机,则随后通过将该URL与已记录到记录装置内的符合UPnP的打印机的URL进行比较,代理服务器300中的协议转换处理单元16判定该打印机是否是符合UPnP的打印机,即是否是对应于SSDP的打印机(步骤6-4)。SSDP(简单服务发现协议)用于发现连接到网络上的装置、并获得其功能。SSDP是用于构造UPnP的基本部分,IETF已发布了标准规范。
以与名称解决方案相同的方式,利用IP广播寻找装置。在以广播方式发送查询时,自治满足条件的每个装置将IP地址和主机名称发送到查询源侧。此时还交换该装置独有的信息,例如,显示该装置具体有哪些功能的信息。
在这种情况下,当作为SNMP Get请求的响应而获得的打印机IP地址与记录在记录装置内的URL一致时(步骤6-4),判定新发现的打印机是符合UPnP的打印机。不对该打印机进行协议转换。
如果在步骤6-4判定该打印机不是符合UPnP的打印机,则代理服务器300中的协议转换处理单元16将作为SNMP Get请求的响应而获得的信息添加到管理表内,对其进行更新,通过记录装置控制单元15将其记录到记录装置上(步骤6-6)。
随后,对于新注册到该管理表上的打印机,根据获得的信息形成由“通用即插即用装置体系结构v1.0”规定的“设备描述文档(Device Description Document)”,通过记录装置控制单元15将其记录到记录装置上(步骤6-7)。在步骤6-8,根据“通用即插即用装置体系结构v1.0)规定的通知方式,UPnP协议处理单元14发出关于记录在管理表内的全部打印机的通知包,从而通知如下内容:这些打印机正在网络上执行服务。
如果对于由代理服务器300发出的SNMP Get请求未获得响应(步骤6-1-1中的“否”),则进入步骤6-9。在步骤6-9,搜索管理表,确认注册打印机。
如果对于由代理服务器300发出的SNMP Get请求获得了响应(步骤6-1-1中的“是”),则进入步骤6-2。将注册在代理服务器300上的打印机装置与做出响应的打印机的信息进行比较。通过将管理表与作为在步骤6-1中的SNMP包的发送目标的打印机的IP地址、URL信息等进行比较,确认管理表内是否存在搜索到的打印机。该处理程序进入步骤6-3。
尽管注册打印机已存在于其自己的管理表中,但是如果未从该打印机获得响应(步骤6-9-1中的“是”),则代理服务器300中的协议转换处理单元16从该管理表上删除该打印机的信息,对其进行更新(步骤6-10),随后删除“设备描述文档”(步骤6-11)。
尽管注册打印机已存在于其自己的管理表中,但是如果从该打印机获得响应(步骤6-9-1中的“否”),则结束打印机信息获取处理,该处理程序进入下一个处理。
在代理服务器300中的协议转换处理单元16通过记录装置控制单元15将更新后的管理表记录到记录装置上以后,根据“通用即插即用装置体系结构v1.0”规定的通知方式,该协议转换处理单元从UPnP处理单元14发出关于从管理表上删除的全部打印机的通知包,然后通知如下内容:这些打印机已停止了在网络上的服务。
在本发明中,如图7所示,管理表以文本文件的形式进行管理,在该文本文件中,上述所获得的SNMP对象的内容以XML进行描述。在完成了上述打印机信息获取处理之后,代理服务器300中的协议转换处理单元16开始协议转换处理(步骤2-4)。图8的流程图示出协议转换处理的流程。
代理服务器300中的协议转换处理单元16判定是否从UPnP协议处理单元14接收到从客户机发出的、由“通用即插即用装置体系结构v1.0”规定的装置搜索协议“简单服务发现协议”(SSDP)包的接收通知。如果判定为已接收到(步骤8-1中的“是”),则通过记录装置控制单元15来搜索由代理服务器300中的协议转换处理单元16所管理的管理表。通过UPnP协议处理单元14返回记录有与SSDP包的搜索条件相对应的打印机的“设备描述文档”的URL作为SSDP响应(步骤8-2),然后,进入步骤8-3。
判定是否利用由获得该URL的客户机装置发出的HTTP取得请求,通过UPnP协议处理单元14,已接收到用于获得“设备描述文档”的请求。如果判定已经接收到获取请求(步骤8-3中的“是”),则通过记录装置控制单元15,搜索由代理服务器300中的协议转换处理单元16所管理的管理表。读出记录在指定的URL上的“设备描述文档”,然后,通过UPnP协议处理单元14返回(步骤8-4)。
根据“通用即插即用装置体系结构v1.0”规定的控制方式,从获得“设备描述文档”的客户机装置发出打印作业。由于在这种情况下以XML格式描述作业命令和作业属性,因此,如果代理服务器300中的协议转换处理单元16通过UPnP协议处理单元14接收到打印作业(步骤8-5中的“是”),则协议转换处理单元16在SOAP处理单元中分析该命令和作业属性。然后,通过记录装置控制单元15,从与已指定了其输出的打印机相对应的管理表信息中,获取所支持的打印协议和IP地址。将接收到的命令和属性信息转换为打印协议(步骤8-6)。此后,将转换后的信息发送到已指定了其输出的打印机的IP地址(步骤8-7)。
根据“通用即插即用装置体系结构v1.0”规定的控制方式,利用HTTPPost命令,随后发出打印作业的客户机将作业数据,在这种情况下是PDL,发送到代理服务器300。以与上述步骤中相同的方式,接收到作业数据的代理服务器300中的协议转换处理单元16将接收到的作业数据转换为指定的打印机所支持的打印协议(步骤8-8),并将该作业数据发送到之前获得的打印机IP地址(步骤8-9)。
判定是否已接收到UPnP作业数据(步骤8-8-1)。
判定在规定的时间内,例如在该实施例中为在30秒内,是否开始从客户机接收作业数据。如果判定为未开始接收(步骤8-8-2中的“是”),则放弃该作业(步骤8-10)。如果开始接收,则不放弃该作业,而是在步骤S8-8-1中该装置等待接收(步骤8-8-2中的“否”)。
接收到该作业命令、作业属性和作业数据的打印机在打印控制单元内分析该作业命令和作业属性,此后,将打印作业发送到打印机控制器并进行打印。
本发明的代理服务器300重复执行步骤2-2至2-4的上述处理,从而周期性地更新网络打印机的工作状况,根据更新后的信息执行协议转换处理。
当在步骤2-5代理服务器300中的协议转换处理单元16因为断电而停止协议转换处理时,根据“通用即插即用装置体系结构v1.0”规定的通知方式,协议转换处理单元16通过记录装置控制单元15读出全部管理表,通过UPnP协议处理单元14发出关于记录在该管理表上的全部打印机的通知包,从而通过网络通知如下内容:这些打印机停止了在网络上的服务(步骤2-6)。当在步骤2-5协议转换处理未停止时,该处理程序返回步骤2-2。
如上所述,在作为对采用多个协议的目标装置进行协议转换控制的控制装置的例子的代理服务器300内,该代理服务器包括:搜索步骤(图3中的3-1至3-2),用于搜索使用UPnP的SSDP的装置,该SSDP作为第一协议的例子;转换步骤(例如,2-4和图8所示的处理),用于对作为第二协议的例子的SNMP的搜索包进行协议转换,以使该装置根据SSDP通信;识别步骤(步骤6-3),用于识别搜索步骤搜索到的装置是否与SSDP相对应;以及控制步骤(步骤6-4),用于控制转换步骤,以便不对由识别步骤识别出、由搜索步骤搜索到的对应于SSDP的装置执行到SSDP的协议转换。
尽管上面说明了打印机作为网络装置的实施例,但是支持网络的装置可以是存储装置例如硬盘等、扫描仪、复印装置、以及具有这些功能的混合功能的装置中的任何一个。只要可以交换属性信息,并且可以通过通信功能来将作业发送到代理服务器/从代理服务器接收作业,则可以在任何这种装置内实现上述装置。在这种情况下,利用标准协议、通用协议、以及生产商独有的协议中的任何一个,同样能实现代理服务器与支持网络的装置之间的通信协议。
尽管以支持网络的装置为例说明了该实施例,但是由根据USB、IEEE1394、并行连接等本地连接进行的通信也可以实现本发明。
尽管在该实施例中代理服务器以独立的形式位于网络上,但这种代理服务器功能还能在如下情况下实现:在支持网络的装置中,以物理方式或逻辑方式来实现该代理服务器。
尽管在该实施例中通过代理服务器提供的协议转换的组合说明了主要由Microsoft公司规定的“通用即插即用”、在支持网络的打印机内实现的SNMP、以及打印协议的例子,但是对于例如由Apple Computer Inc.提出的“Rendezvous”、由JBMIA提出的“BMLinks”等协议,也可以进行协议转换。此外,不仅可以对将装置的搜索和控制集成在一起的协议进行协议转换,还可以对如下协议进行协议转换:用于搜索由装置提供的服务的协议例如“服务定位协议(SLP)”、“多播DNS服务发现”等,以及例如“Web服务”的用于将基于XML/SOAP的“远程过程调用(RPC)”格式的装置控制转换为传统控制协议的协议。
尽管利用将HTTP/TCP/UDP/IP协议用作代理服务器之间的信息通知协议的例子说明了该实施例,但是本发明不依赖于传输方式,只要能进行双向通信,利用其它通用协议或原始协议也可以实现本发明。
作为该实施例要解决的另一方面,存在这样的问题:当(N)个分别对应于相同协议的代理,例如每个用于将协议A转换为协议B的代理运行在网络上时,这些(N)个代理对一个网络装置进行代理控制,因此,存在这种可能,即,对于采用协议B的网络客户机,尽管它们是相同的网络装置,也执行如同它们是运行在网络上的不同的(N)个网络装置时的处理,因此,可能使使用它的用户产生混乱。
对于这样的装置,即代理能在该装置执行协议的代理处理,通常对该装置的数量有限制。例如,在用于将协议A转换为协议B的两个代理1和2运行在网络上的情况下,如果代理1进行代理转换处理的装置的数量等于M,而代理2进行代理转换处理的装置的数量等于N(M>N),则对于同样的网络装置,代理1和代理2可能互相执行协议转换处理。存在这种情况:尽管可由两个代理执行(M+N)个网络装置的协议转换处理,但是仅执行至多(M)个网络装置的处理。在这种情况下,两个代理对(N)个网络装置执行重叠的处理,并且如上所述,该重叠的处理如同存在(2×N)个不同的网络装置那样进行处理。
下面将参考附图来说明作为例子的本发明的优选实施例。该实施例中公开的协议、版本、地址、数值等不限制本发明的范围,除非另有说明。
现在说明作为根据本发明的服务提供系统的实施例的协议转换系统。图9是示出根据本发明的实施例的打印系统的方框图。
常用操作系统例如Microsoft公司的“Windows(注册商标)”、Apple Computer Inc.的“Mac OS(注册商标)”等、以及可在该操作系统上执行的常用应用程序已经安装在客户机9100中。对于该实施例所示的OS 901,通过使用“可扩充标记语言(XML)”/“简单对象访问协议(SOAP)”的“通用即插即用(UPnP)”协议902来实现网络上的装置的发现、控制、获得状态等。例如,在打印机驱动程序903将由作为应用软件的字处理程序904形成的文档转换为可打印数据后,利用UPnP协议902将打印作业发送到由UPnP协议(注册商标)902搜索并发现的与UPnP协议对应的打印机。
与网络对应的装置,即该实施例中的支持网络的打印机9200具有TCP/UDP/IP协议栈905作为通信功能。简单网络管理协议(SNMP)处理单元906设置在该协议栈上。打印协议处理单元907安装在协议栈905上,而且它具有用于分析客户机发出的打印请求并将该打印请求发送到打印机控制器908的功能。
该打印机没有UPnP协议处理单元,不能独自响应客户机9100发出的使用UPnP协议的装置搜索请求和UPnP打印作业请求。
同样地,代理服务器9300也具有TCP/UDP/IP协议栈909作为通信功能。在该协议栈上设置由HTTP处理单元9010,执行HTTP请求的分析和响应处理。
简单网络管理协议(SNMP)处理单元9011设置在协议栈909上。利用该协议,搜索不具有UPnP协议处理单元的支持网络的打印机200并获得信息。
打印协议处理单元9012安装在协议栈909上,由打印协议处理单元9012将打印作业发送到不具有UPnP协议处理单元的支持网络的打印机9200。
简单对象访问协议(SOAP)处理单元9013设置在HTTP 9010的上层。如果网络上存在客户机9100和另一代理服务器中的任一个,则通过SOAP处理单元9013,UPnP协议处理单元9014和协议转换处理单元9016分别与该客户机9100和另一代理服务器实现由“可扩充标记语言(XML)”描述的双向数据通信。
协议转换处理单元9016位于SNMP处理单元9011、SOAP处理单元9013、UPnP处理单元9014、打印协议处理单元9012以及记录装置控制单元9015的上层,而且执行下面的处理。即,在形成了在UPnP协议中使用的各种XML文档后,将通过SNMP处理单元9011获得的支持网络的打印机的信息记录到由记录装置控制单元9015控制的记录装置上;或者,当存在根据UPnP协议的请求时,通过记录装置控制单元9015读出记录在相应管理表中的XML文档,然后将其发送到UPnP协议处理单元9014等。
当接收到UPnP协议的打印作业请求时,协议转换处理单元9016通过SOAP处理单元9013来获取作业命令和作业属性信息,将其内容转换为指定了输出的打印机所支持的打印协议,然后,通过打印协议处理单元9012将该作业发送到指定的打印机。
协议转换处理单元16通过SOAP处理单元9013来获取从另一代理服务器发出的通知请求的详细内容,并根据该内容进行处理。
通过控制单元9015,协议转换处理单元9016执行将由代理服务器9300管理的管理表写入由记录装置控制单元9015控制的记录装置/从该记录装置读出的处理。
同样,当协议转换处理单元9016获得由网络上存在的另一代理服务器管理的管理表时,该协议转换处理单元9016通过控制单元15来执行将管理表写入该由记录装置控制单元9015控制的记录装置/从该记录装置读出的处理。
下面将根据图10A和10B所示的流程图来说明本系统的控制流程。图10A和10B是示出用于进行协议转换的代理服务器的仲裁(arbitrating)处理的流程图。图13是示出在已启动的代理服务器在刚启动后从代理服务器接受到通知包的情况下的处理的流程图。通过该流程图所示的处理,控制每个代理服务器,以确保在网络上处于工作模式的代理服务器的数量等于1。在该实施例中,仅处于工作模式的代理服务器新接受新添加的装置的协议处理。因此,可以防止发生这样的情况:在网络上随机存在多个代理服务器,而该多个代理服务器不按任何顺序地执行协议转换处理。
当启动代理服务器时,开始图10A和10B所示的处理程序。根据该处理程序,新启动的代理服务器9300判定是否已启动了网络上的另一代理服务器(未示出)。
启动后,代理服务器9300内的协议转换处理单元9016控制记录装置控制单元9015,清除并初始化用于记录已执行了协议转换处理的网络装置的信息的管理表中的内容(步骤10-1)。随后,当客户机加入到网络中并开始服务时,将通知包发送到该网络上存在的其它代理服务器(步骤10-2)。
此时,将图14所示格式的HTTPNotify请求作为HTTP包发送到多播地址239.255.255.250和端口号1900。
在该实施例中,以XML格式在HTTPNotify请求的实体(entity body)中描述代理服务器的状态信息、该代理服务器支持的协议转换处理的名称、代理服务器的URL、物理地址、以及管理表的存储目的地URL,并进行通知。
在该图中:
<status>:表示代理服务器的操作状态。在启动时,描述WakeUP。
<protocol>:表示可由代理服务器转换的协议。描述协议名称,例如UPnP、BMLinkS、Rendezvous等。在该实施例中,作为例子,描述主要由Microsoft公司提出的UPnP。
<ProxyURL>:以URL格式描述代理服务器的IP地址。
<ProxyMAC>:描述代理服务器的物理地址(MAC)。
<TableURL>:以URL格式描述由代理服务器管理的管理表内的存储地址。
图13所示的流程图示出在网络上已存在的其它代理服务器从代理服务器9300接收到通知包的情况下的控制流程。在网络上存在代理服务器9300之外的代理服务器,且该代理服务器已执行了协议转换处理的情况下,在HTTP 9010接收到HTTPNotify请求300后,在SOAP处理单元9013内执行该请求的实体301的分析,在步骤13-1,判定作为通知包的发送源侧的代理服务器的转换目标的协议是否与作为接收到该通知包的代理服务器的转换目标的协议一致。
SOAP处理单元9013检查<protocol>的内容。如果在步骤13-1判定相应协议的名称与其本身提供的协议转换处理不一致,则SOAP处理单元9013忽略该通知请求。
如果在步骤13-1判定相应协议的名称与其本身提供的协议转换处理一致,则进入步骤13-3。在步骤13-3,SOAP处理单元9013检查<status>标签的内容,判定其元素是否是WakeUP。
如果在步骤13-3判定该元素是WakeUP,则进入步骤13-4。通过记录装置控制单元9015,协议转换处理单元9016读出管理表,并判定由单元9016本身当前执行的协议转换处理的状态是否表示(能执行协议转换处理的装置的数量)=(正在进行协议转换处理的装置的数量)。如果在步骤13-4判定该服务器处于不再能新提供协议转换处理的状态,则进入步骤13-9。以单播方式对发出HTTPNotify请求的代理服务器9300发送图15所示格式的HTTP响应400。此时,假定SOAP处理单元9013形成下面的信息XML格式数据作为HTTP响应400的实体,通过代理服务器9300的TCP/UDP/IP协议栈来控制网络接口(未示出),通知该数据。“FULL”表示代理服务器的管理服务器已满,作为协议转换处理的目标的装置的数量已达到最大值。
现在说明图15所示的每个标签。
<status>:示出代理服务器的操作状态的标签(只要能识别,可以使用任意信息例如标签或描述符)。在这种情况下,它用于通知FULL,即不再能提供转换处理的状态。
<protocol>:表示可由代理服务器转换的协议。描述协议名称例如UPnP、BMLinkS、Rendezvous等。在该实施例中,作为例子,描述主要由Microsoft公司提出的UPnP。
<ProxyURL>:以URL格式描述代理服务器的IP地址。
<ProxyMAC>:描述代理服务器的物理地址(MAC)。
<TableURL>:以URL格式描述由代理服务器管理的管理表内的存储地址。
当服务器本身当前执行的协议转换处理的状态表示能进行协议转换处理的装置的数量大于正在执行协议转换处理的装置的数量时,即如果该服务器处于可以新提供协议转换处理的状态,则进入步骤13-5。以单播方式将图23所示格式的HTTP响应400发送到发出HTTPNotify请求的代理服务器9300。此时,以XML格式描述下面的信息,作为HTTP响应400的实体,然后进行通知。
在这种情况下:
<status>:表示代理服务器的操作状态。在这种情况下,通知WORKING,即通知其它协议转换代理服务器无需操作。
<protocol>:表示可由代理服务器转换的协议。描述协议名称例如UPnP、BMLinkS、Rendezvous等。在该实施例中,作为例子,描述主要由Microsoft公司提出的UPnP。
<ProxyURL>:以URL格式描述代理服务器的IP地址。
<ProxyMAC>:描述代理服务器的物理地址(MAC)。
<TableURL>:以URL格式描述由代理服务器管理的管理表内的存储地址。
如果在步骤13-3判定该元素不是WakeUP,则进入步骤13-6,判定表示代理服务器被关闭的通知包是否是ByeBye包。如果在步骤13-6不是ByeBye包,则结束该处理程序。如果判定是ByeBye包,则进入步骤13-7。在步骤13-7,判定是否已从ByeBye包的发送源侧的代理服务器获得了管理表。如果已经获得,则删除该管理表,然后结束该处理程序。如果未获得,则结束该处理程序。
返回到图10A和10B所示的流程图来说明新启动的代理服务器9300侧的处理。在发出通知包之后,如果在规定的预定时间内,例如在该实施例中在30秒内存在响应(步骤10-3),则协议转换处理单元9016根据全部响应来执行对响应包的实体的分析。
判定是否已返回了如下状态的响应,其中作为在SOAP处理单元9013中的分析处理的结果,实体中的<status>标签的元素的描述表示至少一个装置是WORKING(步骤10-4)。
与已利用图13说明的相同,从外部代理服务器接收到的通知包是“状态=FULL”或“状态=WORKING”。
如果在步骤10-4中为“是”,即如果“状态=WORKING”,则判定即使服务器9300本身不开始服务,在网络上已处于操作模式的代理仍可以执行该处理。在这种情况下,代理服务器9300的协议转换处理单元切换到睡眠模式(步骤10-5),保持在睡眠模式下,直到从另一代理接收到通知消息,然后进入待机状态(步骤10-6)。当在步骤10-6接收到通知包时,不在此后进行协议转换处理。生成随机数,在经过了对应于该随机数的值的时间之后(步骤10-7),将WakeUP包再次发送到其它代理服务器(步骤10-2)。
作为在SOAP处理单元9013中的分析处理的结果,如果SOAP处理单元9013判定在步骤10-3中从外部代理服务器接收到的响应的实体中<status>标签的元素的描述表示全部FULL的状态,或者表示没有WORKING响应,则SOAP处理单元9013判定为尽管网络上存在当前正在操作的代理,但是该正在操作的代理不再能提供新服务。换句话说,如果在步骤10-4判定已返回了至少一个来自“状态=WORKING”的另一代理服务器的响应,则表示“状态=FULL”。
在这种情况下,代理服务器9300内的协议转换处理单元9016发出从发送“状态=FULL”的响应的全部代理获取管理表的请求(步骤10-8)。即,HTTP处理单元9010将HTTP Get请求发送到在<TableURL>中描述的URL,从而从处于FULL状态的代理获取管理表。
随后,在步骤10-10判定是否允许该获取。如果不允许该获取,则进入步骤10-5。如果允许获取,则进入步骤10-9。随后,通过记录装置控制单元9015,将所获取的管理表记录到代理服务器9300的记录装置中(步骤10-9)。
尽管未示出,但是如果没有来自外部代理服务器的响应,则该处理程序可以移至错误处理,以通知不存在代理。
通过处于FULL状态的代理,记录在所获取的管理表中的打印机装置执行协议转换处理。因此,对于记录在该表上的打印机装置,代理服务器9300内的CPU控制协议转换处理单元9016,以便不执行协议转换处理。
因此,根据本发明,可以避免这种情况:多个代理服务器以重叠方式对同一个对应于网络的装置,在本发明中是同一个对应于网络的打印机,执行协议转换处理。
执行在网络上处于FULL状态的接收到获取许可的其它代理服务器,以便响应于管理表获取请求,仅发送一次由被切换到WakeUP状态的代理服务器本身管理的管理表。当存在多个代理时,仅将该管理表发送到该多个代理中的一个。随后,执行一次该管理表的发送的代理服务器内的CPU进行控制,以便不响应管理表获取请求。将参考图12A和12B来说明该处理。
即,根据本发明,能从WakeUP状态切换为协议转换处理的代理服务器的数量被限制为1,与此同时,避免使WakeUP状态下的多个代理服务器操作。
即,当在图12A和12B的流程图中的步骤12-14中从被切换为WakeUP状态的代理服务器接收到管理表发送请求时,代理服务器9300内的协议转换处理单元9016判定该表是否被锁定。如果未被锁定,则发送管理表以响应该管理表发送请求(步骤12-16),此后,锁定该管理表(步骤12-17)。
如上所述,进行控制以将能主动发布该表的未锁定的代理服务器的数量限制为每个装置仅一个。
再参考图10A和10B,如果不能获得管理表(步骤10-10),则代理服务器9300内的协议转换处理单元9016切换为睡眠模式(步骤10-5),继续该睡眠模式直到从另一代理接收到通知消息为止,而不进行协议转换处理(步骤10-6)。
如果允许获取管理表,并且在步骤10-10完成该获取,则在步骤10-12,代理服务器9300内的协议转换处理单元9016开始获取打印机信息。
如果在步骤10-3中在预定时间内,例如在该实施例中在30秒内不存在响应,则代理服务器9300内的协议转换处理单元9016进入步骤10-9。
图11A和11B示出用于在代理服务器9300内获取打印机信息的控制流程。为了获取网络上存在的打印机的打印机信息,代理服务器9300内的协议转换处理单元9016对SNMP处理单元9011内的如下MIB对象广播包格式的SNMP Get(取得)请求(步骤11-1)。
PrinterMakerAndModel:打印机生产商/型号名称
PrinterName:打印机名称
PrinterLocation:打印机设定地点
IPAddress:打印机IP地址
MACAddress:打印机MAC地址
SupportedPDL:支持的页面描述语言
SupportedPrintProtocol:支持的打印协议
接收到SNMP Get请求的支持网络的打印机9200形成对应于SNMP处理单元9011内的每个对象的信息,然后,以单播方式将作为SNMP响应的响应发送到代理服务器9300。
当在步骤11-2从每个对应于网络的打印机接收到响应时,代理服务器9300内的协议转换处理单元9016将每个响应的内容与已经注册在记录装置中的管理表的内容进行比较(步骤11-3)。如果在步骤11-2未接收到响应,则结束该处理程序。
应该注意,当管理表变满时,存在两种情况。第一种情况是这样的状态:当由装置新做出响应时,该管理表在包括这种装置的同时变满并持续第一时间。第二种情况是这样的状态:管理表已满,并已识别出来自又一装置的响应。在该实施例中,代理服务器的第二FULL状态被识别为“状态=FULL模式状态”。
通过比较在图10A和10B中的上述步骤10-9从处于“状态=FULL模式”的代理获得的管理表、和已经获得的全部管理表,判定是否存在已进行了协议转换的打印机(步骤11-4)。
如果判定存在未执行协议转换处理的网络打印机,则检测未执行协议转换处理的打印机,然后进入步骤11-8。
如果在步骤11-8判定由代理服务器9300管理的管理表已满,即如果正在执行协议转换处理的打印机的数量等于或者已经达到可以在代理服务器9300的协议转换处理单元9016中执行协议转换处理的打印机装置的数量,则进入步骤11-7。
随后,判定在上述步骤11-4检测到的装置的状态是否被设置为FULL模式(步骤11-7)。如果在步骤11-7判定为检测到的装置的状态不是FULL模式,则代理服务器9300内的协议转换处理单元9016将该状态切换为FULL模式(步骤11-5)。此后,将图24所示格式的HTTPNotify请求发送到多播地址239.255.255.250和端口号1900(步骤11-6)。此时,通知图7所示的上述信息,作为HTTP请求的实体。通过通知包将代理服务器9300已被切换为FULL状态通知给网络上存在的代理服务器9300之外的代理服务器。即,仅当管理表变满并持续第一时间时发送通知包,这是因为协议转换处理单元9016已经开始操作。
在步骤11-8,代理服务器9300内的协议转换处理单元9016判定当前正在进行协议转换处理的打印机的数量是否小于能进行协议转换处理的打印机装置的数量,即,新检测到的打印机是否能执行协议转换处理。
如果在步骤11-8判定为该打印机可以进行协议转换处理,则进入步骤11-7,判定状态是否已处于FULL模式。如果处于FULL模式,则判定检测到的打印机是否是尚未被代理服务器处理的新装置(步骤11-15)。
如果判定为是新装置,则进入步骤11-11。如果判定为不是新装置,则表示过去已被代理服务器处理过的装置从待机模式、深度睡眠模式、睡眠模式、脱机、停止模式等返回,并且需要再次进行协议转换处理。因此,进入步骤11-9。在步骤11-9,通过记录装置控制单元9015,代理服务器9300内的协议转换处理单元9016将更新后的管理表记录到记录装置上,此后,对于新注册到管理表上的打印机,根据所获得的信息来形成由“通用即插即用装置体系结构v1.0”规定的“设备描述文档”,然后通过记录装置控制单元9015将其记录到记录装置上(步骤11-9)。随后,在步骤11-10,根据由“通用即插即用装置体系结构v1.0”规定的通知方式,由UPnP处理单元9014发出关于记录在该管理表上的全部打印机的通知包,从而通知如下内容:这些打印机正在网络上执行服务。
当在步骤11-15检测到已停止进行协议转换的网络打印机时,该处理程序进入步骤11-9。形成由“通用即插即用装置体系结构v1.0”规定的“设备描述文档”,通过记录装置控制单元9015将其记录到记录装置。随后,在步骤11-10,根据由“通用即插即用装置体系结构v1.0”规定的通知方式,UPnP处理单元9014发出关于记录在管理表上的全部打印机的通知包,从而通知如下内容:这些打印机正在网络上执行服务。
在上述每个处理之后,在步骤11-11,判定是否即使在没有获得响应于由代理服务器9300发出的SNMP Get请求的响应的情况下打印机已注册在其自身的管理表中,也能从该打印机获得响应。如果在步骤11-11未获得响应,则判定该状态是否是FULL模式(步骤11-14)。如果在步骤11-14判定为该状态不是FULL模式,则代理服务器9300内的协议转换处理单元9016从该管理表上删除打印机信息和“设备描述文档”(步骤11-12),然后进入步骤11-13。
在步骤11-13,在代理服务器9300内的协议转换处理单元9016通过记录装置控制单元9015将更新过的管理表记录到记录装置上以后,根据在“通用即插即用装置体系结构v1.0”中规定的通知方式,通过UPnP处理单元9014,协议转换处理单元发出关于从该管理表上删除的全部打印机的通知包,从而通知如下内容:这些打印机停止在网络上的服务。
如果在步骤11-14代理服务器9300中的协议转换处理单元9016判定为该状态已切换为FULL模式,则不从该管理表中删除相关打印机信息。根据在“通用即插即用装置体系结构v1.0”中规定的通知方式,通过UPnP处理单元9014,代理服务器9300中的协议转换处理单元9016发出关于未发出响应的全部网络打印机的通知包,从而通知如下内容:这些打印机停止在网络上的服务(步骤11-13)。该处理程序结束。
在本发明中,以文本文件的格式管理该管理表,在该管理表中,以图25所示的XML描述之前获得并描述的SNMP对象的内容。在图25中定义打印机的表。夹在打印机标记<Printer>与</Printer>之间的部分定义每个打印机。在该图中,如在这两个标记之间所描述的那样,定义打印机名称、设置地点、IP地址、MAC地址、相应的语言、所支持的打印协议等。同样,当从多个打印机获取信息时,将多个打印机的信息写入由***标记表示的部分,并对其进行管理。
当完成了打印机信息获取处理时,代理服务器9300内的协议转换处理单元9016开始进行步骤10-13的协议转换处理。
图12A和12B的流程图示出用于协议转换处理的流程。
当代理服务器9300内的协议转换处理单元9016从UPnP协议处理单元9014接收到在“通用即插即用装置体系结构v1.0”中规定的、从客户机发出的装置搜索协议“简单服务发现协议(SSDP)”包的通知时(步骤12-1),通过记录装置控制单元9015,并且通过作为SSDP响应、通过UPnP协议处理单元9014返回到的对应于SSDP包的搜索条件的打印机的“设备描述文档”的URL,搜索由代理服务器9300内的协议转换处理单元9016管理的管理表(步骤12-2)。
当通过获得该URL的客户机装置发出的HTTP Get请求,从UPnP协议处理单元9014接收到“设备描述文档”的获取请求时(步骤12-3),通过记录装置控制单元9015来搜索由代理服务器9300内的协议转换处理单元9016管理的管理表,并读出记录在指定的URL中的“设备描述文档”,此后,通过UPnP协议处理单元9014,返回该“设备描述文档”(步骤12-4)。
根据在“通用即插即用装置体系结构v1.0”中规定的控制方式,获得“设备描述文档”的客户机装置发出打印作业。由于在这种情况下以XML格式描述作业命令和作业属性,因此在代理服务器9300内的协议转换处理单元9016通过UPnP协议处理单元9014接收打印作业时(步骤12-5),协议转换处理单元9016在SOAP处理单元9013内分析该命令和作业属性,随后,通过记录装置控制单元9015获得所支持的打印协议和与指定了输出的打印机相对应的管理表信息中的IP地址,将接收到的命令和属性信息转换为该打印协议(步骤12-6)。此后,将转换后的信息发送到已指定了输出的打印机的IP地址(步骤12-7)。根据在“通用即插即用装置体系结构v1.0”中规定的控制方式,通过使用HTTPPost命令,随后发出打印作业的客户机将作业数据,在这种情况下是将PDL发送到代理服务器9300。接收到该作业数据的代理服务器9300内的协议转换处理单元9016将接收到的作业数据转换为指定的打印机所支持的打印协议(步骤12-9-1),并以与上述方式相同的方式将该作业数据发送到之前获得的打印机的IP地址(步骤12-9-2)。
当在预定时间内,例如在该实施例中在30秒内,未开始从客户机接收作业数据时(步骤12-10),中止该作业(步骤12-11)。
通过打印控制单元,接收到作业命令、作业属性和作业数据的打印机分析作业命令和作业属性,此后,将该打印作业发送到打印机控制器,并进行打印。
本发明中的代理服务器9300重复执行上述处理,从而周期性地更新网络打印机的操作状态,并根据更新后的信息进行协议转换处理。
当在步骤10-14中代理服务器9300内的协议转换处理单元9016因为断电而停止协议转换处理时,根据在“通用即插即用装置体系结构v1.0”中规定的通知方式,协议转换处理单元9016通过记录装置控制单元9015读出全部管理表,通过UPnP协议处理单元9014发出关于记录在该管理表中的全部打印机的通知包,然后通知如下内容:这些打印机停止在网络上的服务(步骤10-15)。通过UPnP协议进行了通知处理后,协议转换处理单元9016将图11所示格式的HTTPNotify请求发送到多播地址239.255.255.250和端口号1900(步骤10-16)。此时,以XML格式描述下面的信息,并将其作为HTTP请求的实体进行通知。
在该图中:
<status>:表示代理服务器的操作状态。在这种情况下,通知ByeBye,即停止协议转换处理。
<protocol>:表示可由代理服务器转换的协议。描述协议名称例如UPnP、BMLinkS、Rendezuous等。在该实施例中,作为例子,描述主要由Microsoft公司提出的UPnP。
<ProxyURL>:以URL格式描述代理服务器的IP地址。
<ProxyMAC>:描述代理服务器的物理地址(MAC)。
<TableURL>:以URL格式描述由代理服务器管理的管理表内的存储地址。
通过执行上述处理,代理服务器9300将停止协议转换处理通知给在网络上运行的另一代理服务器。
在图13的流程图中的步骤13-6,当代理服务器9300内的协议转换处理单元9016从正在网络上运行的另一代理服务器接收到表示停止协议转换处理的通知包时,在SOAP处理单元9013中分析该包的实体,判定是否从发出该通知包的代理服务器获得了管理表。当在步骤13-7获得了该管理表时,通过记录装置控制单元9015删除该管理表(步骤13-8)。
即,通过当前处于工作模式的代理服务器9300,执行发出ByeBye的代理服务器对其提供协议转换处理的打印机的转换处理。
在图10A和10B的流程图的步骤10-5中切换为睡眠模式的代理服务器9300内的协议转换处理单元9016监视另一代理服务器发出的通知包。即使存在一个这样的包,即该包中的<status>元素是通过SOAP处理单元9013接收到的通知包的实体中的ByeBye或FULL,协议转换处理单元9016也根据预定算法形成整数1~30的随机数,然后等待值等于所形成的随机数的秒数。此后,执行步骤10-7和10-2的通知包发出处理。
如上所述,作为在混合存在多种协议的网络系统中进行协议转换处理的控制装置的例子,代理服务器9300包括:搜索步骤(由代理服务器9300中的CPU执行存储在存储器中的、由图10A和10B中的步骤10-3和10-4所示的控制程序来实现的功能),用于对网络多播搜索请求,并在启动时搜索网络上是否存在另一代理服务器;判断步骤(步骤10-4),用于当通过搜索步骤在网络上搜索另一协议转换装置时,判定搜索到的协议转换装置是能执行协议转换处理还是已经执行了协议转换处理;以及启动步骤(例如,图9所示的UPnP协议处理单元9014本身可以启动并执行步骤10-13,或者还可以由搜索应用程序(未示出)或OS来启动该处理步骤),用于当判断步骤判定搜索到的协议转换装置不能进行协议转换处理或不执行它时,启动步骤10-13,作为协议转换处理的例子。
尽管在假定打印机是网络装置的情况下说明了该实施例,但是,可以在以下任何情况下实现该支持网络的装置:该装置能通过通信功能与代理服务器交换属性信息、并发送和接收作业的装置,是例如硬盘等的存储器件、扫描仪、复印装置、以及具有混合功能的装置。
在这种情况下,利用标准协议或通用协议其中之一、或者利用生产商独有的协议,同样可以实现代理服务器与支持网络的装置之间的通信协议。
尽管假定使用支持网络的装置为例说明了该实施例,但是利用根据USB、IEEE1394、并行连接等本地连接实现的通信,也可以实现该装置与代理服务器之间的通信。
尽管在该实施例中代理服务器以独立的形式存在于网络上,但是也可以在如下情况中实现这种代理服务器功能:在支持网络的装置内以物理方式或逻辑方式来实现它。
尽管在该实施例中以主要由Microsoft公司规定的“通用即插即用”、在支持网络的打印机中实现的SNMP、以及打印协议为例说明了由代理服务器提供的协议转换的组合,但是对于例如AppleComputer Inc.提出的“Rendezvous”、JBMIA提出的“BMLinks”等协议,也可以进行协议转换。此外,不仅可以对集成了装置的搜索和控制的协议进行协议转换,还可以对如下协议进行协议转换:用于搜索由装置提供的服务的协议,例如“服务定位协议(SLP)”、“多播DNS服务发现”等协议;以及用于将基于XML/SOAP的“远过程调用(RPC)”格式的装置控制转换为传统控制协议,例如“Web Service”协议。
在该实施例中,当由HTTP发出通知包时,以XML格式在该包的实体内描述附加信息,并发送结果包。然而,通过利用二进制数据的描述也可以实现该实体的描述。通过新定义HTTP头、并使用采用该头形式的通知装置,也可以实现它。
尽管以使用HTTP/TCP/UDP/IP协议作为代理服务器之间的信息通知协议的例子说明了该实施例,但是本发明不依赖于发送装置,只要其能进行双向通信,也可以使用其它通用协议或原始协议来实现本发明。
如上所述,作为该实施例的一个方面,提供下面的功能:即,当在同一通信线路上,具有相同协议转换功能的协议转换装置处于操作模式时,协议转换处理装置自动获得其它协议转换处理装置的状态,并能区分协议转换处理的执行或待机,当协议转换处理被执行时,从已执行了相同协议转换处理的协议转换处理装置获得执行了协议转换的信息处理装置的信息,不对这些信息处理装置进行协议转换。因此,可以避免发生这种情况:在提供相同协议转换处理的协议转换处理装置中,以重叠方式对相同的信息处理装置进行协议转换处理。
此外,根据该实施例的另一方面,应用了本发明的协议转换处理装置自动执行这些处理,即使使用网络上的信息处理装置的用户不关心任何具体设置、控制等,仍能最大限度地使用该协议转换处理装置的转换能力。
第三实施例
下面将参考附图来详细说明作为例子的本发明的优选实施例。与上述实施例相同,该实施例公开的协议、版本、地址、数值等不限制本发明的范围,除非另有说明。
现在说明作为根据本发明的服务提供系统的实施例的协议转换系统。图16是示出根据本发明的实施例的打印系统的结构的方框图。
常用操作系统例如Microsoft公司的“Windows(注册商标)”、Apple Computer Inc.的MacOS(注册商标)等、以及可以在该操作系统上运行的常用Web浏览器、应用软件等已安装在客户机16100上。
在该实施例所示的“Windows(注册商标)”OS 161的情况下,通过使用“可扩充标记语言(XML)”/“简单对象访问协议(SOAP)”的“通用即插即用(UPnP)”协议162,来实现网络上的装置的发现、控制、获取状态等。Web浏览器163显示从符合UPnP的装置获取的、以HTML描述的表示文档,并通过使用安装在Web浏览器中的脚本等,将由例如作为应用软件的字处理程序164形成的文档与打印属性信息一起发送到表示文档已发送到的、对应于UPnP协议的打印机。
对应于网络的装置,即该实施例中的支持网络的打印机16200具有TCP/UDP/IP协议栈165作为通信功能块。简单网络管理协议(SNMP)处理单元166设置在该协议栈165上。打印协议处理单元167安装在协议栈165上,且其具有用于分析由客户机发出的打印请求并将该打印请求发送到打印机控制器168的功能。
该打印机不具有UPnP协议处理单元,不能独自响应由客户机16100发出的、采用UPnP协议的装置搜索请求和UPnP打印作业请求。
同样,代理服务器16300也具有TCP/UDP/IP协议栈1609作为通信功能。在该协议栈上设置HTTP 1610,执行HTTP请求的分析和响应处理。
简单网络管理协议(SNMP)处理单元1611设置在协议栈1609上。利用上述协议,对不具有UPnP协议处理单元的支持网络的打印机16200进行搜索并获得信息。
打印协议处理单元1612设置在协议栈1609上。在打印协议处理单元1612中将打印作业发送到不具有UPnP协议处理单元的支持网络的打印机16200。
简单对象访问协议(SOAP)处理单元1613设置在HTTP 1610的上层。当网络上分别存在UPnP协议处理单元1614和协议转换处理单元1616时,以及当通过SOAP处理单元1613网络上分别存在多个客户机16100和多个代理服务器时,可以实现由“可扩充标记语言(XML)”描述的双向数据通信。
协议转换处理单元1616位于SNMP处理单元1611、SOAP处理单元1613、UPnP处理单元1614、打印协议处理单元1612、记录装置控制单元1615、XML形成单元1617、以及HTML形成单元1618的上层,而且执行下面的处理。即,在XML形成单元1617形成了UPnP协议使用的各种XML文档,并且HTML形成单元1618形成了UPnP协议使用的表示文档以后,通过SNMP处理单元1611获得的支持网络的打印机的信息被记录到由记录装置控制单元1615控制的记录装置上,或者,当存在来自UPnP协议的请求时,通过记录装置控制单元1615读出记录在相应管理表上的XML文档和表示文档,然后将其发送到UPnP协议处理单元1614等。
当接收到UPnP协议的打印作业请求时,协议转换处理单元1616通过SOAP处理单元1613获取作业命令和作业属性信息,将其内容转换为指定了输出的打印机所支持的打印协议,之后,通过打印协议处理单元1612将该作业发送到指定的打印机。此时,分析作业属性,当接收到的作业数据的类型不是指定的打印机所支持的数据类型时,文件转换处理单元1619将该数据转换为指定的打印机所支持的可打印数据,之后,通过打印协议处理单元1612将该作业发送到指定的打印机。
通过控制单元1615,协议转换处理单元1616执行将由代理服务器16300管理的管理表写入由记录装置控制单元1615控制的记录装置/从该记录装置读出该管理表的处理。
同样,当协议转换处理单元1616获得由网络上存在的另一代理服务器管理的管理表时,通过控制单元1615执行将该管理表写入由记录装置控制单元1615控制的记录装置/从该记录装置读出该管理表的处理。
下面将根据图17的流程图来说明本系统的控制流程。
启动了代理服务器16300内的协议转换处理单元1616以后,通过记录装置控制单元1615清除记录有已执行了协议转换处理的网络装置的信息的管理表中的内容(步骤17-1)。在下面的处理中详细说明该管理表。
随后,当客户机加入网络并开始服务时,该处理程序进入步骤17-2,以搜索该网络上存在的对应于网络的打印机,并开始获取打印机信息。
图18的流程图示出获取打印机信息的控制流程。
代理服务器16300内的协议转换处理单元1616对来自SNMP处理单元1611的如下MIB对象广播SNMP Get请求,以获取该网络上存在的打印机的打印机信息(步骤18-1)。在步骤18-1-2,判断是否已经接收到响应。如果在步骤18-1-2已接收到响应,则进入步骤18-2。如果在步骤18-1-2未接收到响应,则进入步骤18-8。
PrinterMakerAndModel:打印机生产商/型号名称
PrinterName:打印机名称
PrinterLocation:打印机设置地点
IPAddress:打印机IP地址
MACAddress:打印机MAC地址
SupportedPDL:所支持的页面描述语言
SupportedPrintProtocol:所支持的打印协议
接收到由代理服务器在步骤18-1发出的SNMP Get请求的支持网络的打印机16200形成对应于SNMP处理单元1611中的每个对象的信息,此后,以单播方式将作为SNMP响应的响应发送到代理服务器16300。
在步骤S18-1-2从每个支持网络的打印机接收到响应的代理服务器16300中的协议转换处理单元1616,将每个响应的内容与已注册在记录装置中的管理表中的内容进行比较(步骤18-2)。随后,协议转换处理单元1616判定该打印机是否是已进行了协议转换的打印机(步骤18-3)。如果在步骤S18-3判定为该打印机是进行了协议转换处理的打印机,则处理程序结束。
如果在步骤S18-3判定为该打印机是未进行协议转换的打印机,即,是新发现的打印机,则代理服务器16300中的协议转换处理单元1616将作为SNMP Get请求的响应的信息添加到该管理表内,对其进行更新,并通过记录装置控制单元1615将其记录到记录装置中(步骤18-4)。
随后,对于新注册到该管理表中的打印机,根据所获得的信息,由XML形成单元1617形成“通用即插即用装置体系结构v1.0”规定的“设备描述文档”,所形成的文档通过记录装置控制单元1615记录到记录装置中(步骤18-5),在HTML形成单元1618内形成以HTML描述的表示文档。形成表示文档所需的图标、图像数据等已记录到记录装置中。通过记录装置控制单元1615,HTML形成单元1618获得所需的信息。通过记录装置控制单元1615,将HTML形成单元1618形成的表示文档记录到记录装置中(步骤18-6)。
在步骤18-7,根据“通用即插即用装置体系结构v1.0”规定的通知方式,UPnP协议处理单元1614发出关于记录在管理表中的全部打印机的通知包,从而通知如下内容:这些打印机正在网络上执行服务。
如果对于由代理服务器300发出的SNMP Get请求,没有获得响应,则进入步骤18-8。在步骤18-8,判定是否存在已注册在自身的管理表中的打印机。在步骤S18-8-1,判定该打印机是否是已注册的打印机。如果在步骤S18-8-1判定为存在已注册的打印机,则代理服务器16300内的协议转换处理单元1616从该管理表上删除该打印机信息,并对其进行更新(步骤18-9)。随后,执行“设备描述文档”的删除(步骤18-10)和表示文档的删除(步骤18-11)。
通过记录装置控制单元1615,代理服务器16300内的协议转换处理单元1616将更新后的管理表记录到记录装置内。此后,根据“通用即插即用装置体系结构v1.0”规定的通知方式,通过UPnP处理单元1614,协议转换处理单元发出关于从该管理表上删除的全部打印机的通知包,然后通知如下内容:这些打印机已经停止了网络上的服务(步骤18-12)。
根据本发明,如图26所示,管理表以文本文件的形式进行管理,在该文本文件中,以XML描述上述所获得的SNMP对象的内容。
图18中的上述处理对应于图17中的打印机信息获取处理。返回至图17,完成了打印机信息获取处理后,代理服务器16300内的协议转换处理单元1616开始协议转换处理(步骤17-3)。
下面将利用图20A和20B来说明详细的处理。图20A和20B的流程图示出协议转换处理的流程。代理服务器16300内的协议转换处理单元1616判定是否从UPnP协议处理单元1614接收到由客户机发出的、在“通用即插即用装置体系结构v1.0”中规定的装置搜索协议“简单服务发现协议”(SSDP)包的接收通知(步骤20-1)。如果在步骤20-1中判定为已接收到,则进入步骤S20-2。如果判别为未接收到,则进入步骤S20-3。
在步骤S20-2,通过记录装置控制单元1615,搜索由代理服务器16300内的协议转换处理单元1616管理的管理表。通过UPnP协议处理单元1614,返回URL作为SSDP响应,该URL中记录有与SSDP包的搜索条件相对应的打印机的“设备描述文档”(步骤20-2),然后,进入步骤8-3。
判定是否利用获得该URL的客户机装置发出的HTTPGet请求,通过UPnP协议处理单元1614,接收到用于获得“设备描述文档”的请求(步骤20-3)。如果在步骤20-3判定为已接收到获取请求,则通过记录装置控制单元1615,搜索由代理服务器16300内的协议转换处理单元1616管理的管理表。读出记录在指定的URL中的“设备描述文档”,然后,通过UPnP协议处理单元1614返回(步骤20-4),然后进入步骤20-5。如果在步骤20-3判定为未接收到获取请求,则进入步骤20-5。
通过URL,在步骤18-6形成的表示文档的存储目的地记录在“设备描述文档”中。判定是否利用客户机装置发出的HTTPGet请求,从UPnP协议处理单元1614接收到表示文档的获取请求(步骤20-5)。如果判定为接收到表示文档的获取请求,则进入步骤20-6。在步骤20-6,通过记录装置控制单元1615,搜索由代理服务器16300内的协议转换处理单元1616管理的管理表。读出记录在指定的URL中的表示文档,通过UPnP协议处理单元1614返回。如果判定为未接收到表示文档的获取请求,则进入步骤20-7。
对于该实施例中的客户机16100,操作系统对应于UPnP协议。当在步骤20-6中完成了对来自代理服务器16300的表示文档的接收之后,自动启动Web浏览器,并显示接收到的表示文档。
图21示出显示在客户机16100的显示器上的表示文档的内容。通过观看该显示器,使用客户机16100的用户可以通过显示内容从视觉上确认与支持网络的打印机16200有关的信息,例如装置名称、型号名称、IP地址、选项的执行状态等。
当点击上述显示中的“打印文档”时,显示屏幕切换为图22所示的页面。对于支持网络的打印机16200,可以指定下面的作业属性。要输出的文件的指定:打印文件,输出份数:份数,输出薄片的尺寸:介质尺寸,页面布局:N-Up,双面/单面打印的指定:双面打印,打印质量:打印质量,方向:方向,等等。完成了设置这些属性信息后,通过点击“Print(打印)”按钮,根据“通用即插即用装置体系结构v1.0”规定的方式,在表示文档中描述的脚本形成SOAP envelope(包封),此后,将HTTPPost请求发送到代理16300。
当代理服务器16300内的协议转换处理单元1616通过UPnP协议处理单元1614接收到请求时(步骤20-7),在SOAP处理单元内,协议转换处理单元1616分析该命令和作业属性,然后,在与已通过记录装置控制单元1615指定了输出的打印机相对应的管理表的信息中,获取所支持的打印协议和IP地址,将接收到的命令和接收到的属性信息转换为打印协议(步骤20-8)。此后,将进行了该转换后的信息发送到已指定了输出的打印机的IP地址(步骤20-9)。
根据“通用即插即用装置体系结构v1.0”规定的控制方式,利用HTTPPost命令,随后发出打印作业的客户机将作业数据发送到代理服务器16300。接收到作业数据的代理服务器16300内的协议转换处理单元1616分析接收到的数据的数据类型。当数据类型符合记录在由步骤18-4获得的管理表中的“SupportedPDL:所支持的页面描述语言”时,以与上述步骤相同的方式,将接收到的作业数据转换为指定的打印机所支持的打印协议(步骤20-10),将该作业数据发送到之前获得的打印机IP地址(步骤20-11)。
在步骤20-9-1,判定是否已接收到UPnP作业数据。如果在步骤20-9-1判定为已接收到UPnP作业数据,则进入步骤20-9-2。在步骤20-9-2,作为分析接收到的数据的数据类型的结果,如果判定为不符合记录在由步骤18-4获得的管理信息内的“SupportedPDL:所支持的页面描述语言”,则在步骤20-12,在文件转换处理单元1619内,协议转换处理单元1616将接收到的数据转换为所获得的打印机PDL数据,此后,将其转换为指定的打印机所支持的打印协议(步骤20-10)。然后,将转换后的作业数据发送到之前获得的打印机IP地址(步骤20-11),然后,该处理程序结束。
作为分析接收到的数据的数据类型的结果,如果在步骤20-9-2中判定为符合记录在由步骤18-4获得的管理信息内的“SupportedPDL:所支持的页面描述语言”,则该处理程序进入步骤20-10,并同样进行步骤20-11的处理。该处理程序结束。
如果在步骤20-9-1未接收到作业数据,并且如果在步骤20-11-1中判定为经过了预定时间,则在该实施例中,当客户机在30秒内未开始作业数据的接收时,中止该作业(步骤20-13)。
在打印控制单元内,接收到作业命令、作业属性和作业数据的打印机分析作业命令和作业属性,然后,将打印作业发送到打印机控制器并进行打印。
本发明的代理服务器16300重复执行上述步骤17-2和17-3的处理,从而周期性地更新网络打印机的操作模式,并根据更新后的信息来执行协议转换处理。
在步骤17-4,判定代理服务器16300内的协议转换处理单元1616是否因为断电而停止协议转换处理。如果在步骤17-4判定为停止协议转换处理,则根据“通用即插即用装置体系结构v1.0)规定的通知方式,协议转换处理单元1616通过记录装置控制单元1615读出全部管理表,通过UPnP协议处理单元1614发出关于记录在该管理表上的全部打印机的通知包,然后通知如下内容:这些打印机已经停止了在网络上的服务(步骤17-5)。
如果在步骤17-4判定为未停止协议转换处理,则该处理程序返回到打印机信息获取处理(步骤17-2)。
尽管在假定打印机是网络装置的情况下说明了该实施例,但是对于能通过通信功能与代理服务器交换属性信息并发送和接收作业的任意装置,即存储装置例如硬盘等、复印装置、以及具有混合功能的装置,也可以实现该支持网络的装置。
在这种情况下,通过标准化协议或通用协议、或者通过对生产商来说唯一的协议,也同样可以实现代理服务器与支持网络的装置之间的通信协议。
尽管假定以支持网络的装置为例说明了该实施例,但是通过基于USB、IEEE1394、并行连接等本地连接进行的通信,也可以实现该装置与代理服务器之间的通信。
尽管在该实施例中代理服务器以独立的形式位于网络上,但是,当将其物理地或逻辑地实现在支持网络的装置中时,也可以实现该代理服务器的功能。同样地,当在网络客户机装置中以物理方式或逻辑方式实现它时,也可以实现该代理服务器的功能。
尽管在该实施例中利用由代理服务器提供的协议转换的组合说明了主要由Microsoft公司规定的“通用即插即用”、在支持网络的打印机内实现的SNMP、以及打印协议的例子,但是对于例如Apple Computer Inc.提出的“Rendezvous”、JBMIA提出的“BMLinks”等协议,也能进行协议转换。此外,不仅可以对集成了装置搜索和控制的协议进行协议转换,还可以对如下协议进行协议转换:用于搜索由装置提供的服务的协议,例如“服务定位协议(SLP)”、“多播DNS服务发现”等;以及用于将基于XML/SOAP的“远程过程调用(RPC)”格式的装置控制转换为传统控制协议的协议,例如“Web服务”。
尽管以将HTTP/TCP/UDP/IP协议用作代理服务器之间的信息通知协议为例说明了该实施例,但是本发明不依赖于传输方式,只要能进行双向通信,利用其它通用协议或独有协议也能实现本发明。
其它实施例
根据从外部安装的程序,利用分别对客户机、代理服务器、打印机设置的CPU(中央处理单元),执行该实施例的附图所示的处理。在这种情况下,本发明还可以应用于这样的情况:从存储介质例如CD-ROM、闪速存储器、FD等、或者通过网络从外部存储介质提供包括该程序的信息组。
当然,本发明的目的还可以通过如下方法来实现:将如上所述已记录有实现上述实施例的功能的软件程序代码的存储介质提供给系统或装置,或者从外部服务器下载,从而使该系统或装置的计算机(或CPU或MPU)读出并执行存储在该存储介质中的程序代码。
在这种情况下,从存储介质读出的程序代码本身实现本发明的新功能。存储有程序代码的存储介质构成本发明。作为用于提供程序代码的存储介质,例如可以使用软盘、硬盘、光盘、磁光盘、DVD、CD-ROM、磁带、非易失性存储卡、ROM、EEPROM等。
当然,本发明不仅包括计算机执行所读出的程序代码,以实现上述实施例的功能的情况,而且包括运行在计算机上的OS(操作系统)等执行部分或全部实际处理,并根据程序代码的指令由这些处理实现上述实施例的功能的情况。此外,本发明当然还包括将从存储介质读出的程序代码写入到插入计算机的功能扩展板或连接到计算机的功能扩展单元所提供的存储器,然后,由该功能扩展板或功能扩展单元的CPU等执行部分或全部实际处理,并根据程序代码的指令由这些处理实现上述实施例的功能的情况。
如上所述,根据本发明的第一方面,当执行协议转换处理时,在其它装置中混合存在符合多种协议的装置的情况下,如果该装置搜索网络,则能以良好的协调方式,正确识别由协议A搜索到的装置和由协议B搜索到的装置。
根据本发明的第二方面,即使当启动了多个代理服务器时,代理服务器仍互相正确地仲裁,并正确地执行装置的协议转换,而且能正确地管理该装置。

Claims (19)

1.一种控制装置,用于在混合存在多种协议的网络系统中执行协议转换处理,该控制装置包括:
搜索装置,其将用于搜索网络上的执行预定协议处理的另一协议转换装置的搜索请求发送到所述网络上,并在启动时执行搜索处理;
识别装置,用于当所述搜索装置搜索网络上的所述另一协议转换装置时,识别所述搜索到的协议转换装置是否能执行协议转换处理,或者所述搜索到的协议转换装置是否已执行过协议转换处理;以及
启动装置,用于当所述识别装置识别出所述搜索到的协议转换装置不能执行协议转换处理或者未执行协议转换处理时,启动协议转换处理。
2.根据权利要求1所述的控制装置,其特征在于,根据所述协议转换装置能处理的协议转换处理的数量,所述识别装置识别所述搜索到的协议转换装置是否能执行协议转换处理。
3.根据权利要求1所述的控制装置,其特征在于,当所述识别装置识别出所述搜索到的协议转换装置能执行协议转换处理时,将操作模式切换为睡眠模式。
4.根据权利要求1所述的控制装置,其特征在于,还包括:管理装置,用于管理作为协议转换处理的目标的装置;以及判断装置,用于当所述识别装置识别出所述搜索到的协议转换装置不能执行协议转换处理时,判断由所述管理装置管理的作为协议处理目标的装置的数量是否超过预置的最大数量,
其中,当所述判断装置判断出由所述管理装置管理的作为协议处理目标的装置的数量未超过预置的最大数量时,所述启动装置启动所述协议转换处理。
5.根据权利要求4所述的控制装置,其特征在于,当所述判断装置判断出由所述管理装置管理的作为协议处理目标的装置的数量超过预置的最大数量时,对网络装置多播表示切换到睡眠模式的包。
6.一种控制方法,用于在混合存在多种协议的网络系统中执行协议转换处理,该控制方法包括:
搜索步骤,其将用于搜索网络上的执行预定协议处理的另一协议转换装置的搜索请求发送到所述网络上,并在启动时执行搜索处理;
识别步骤,用于当所述搜索步骤搜索网络上的所述另一协议转换装置时,识别所述搜索到的协议转换装置是否能执行协议转换处理,或者所述搜索到的协议转换装置是否已执行过协议转换处理;以及
启动步骤,用于当在所述识别步骤中识别出所述搜索到的协议转换装置不能执行协议转换处理或者未执行协议转换处理时,启动协议转换处理。
7.根据权利要求6所述的控制方法,其特征在于,根据所述协议转换装置能处理的协议转换处理的数量,在所述识别步骤中识别所述搜索到的协议转换装置是否能执行协议转换处理。
8.根据权利要求6所述的控制方法,其特征在于,当在所述识别步骤中识别出所述搜索到的协议转换装置能执行协议转换处理时,将操作模式切换为睡眠模式。
9.根据权利要求6所述的控制方法,其特征在于,还包括:管理步骤,用于管理作为协议转换处理的目标的装置;以及判断步骤,用于当在所述识别步骤中识别出所述搜索到的协议转换装置不能执行协议转换处理时,判断在所述管理步骤中管理的作为协议处理目标的装置的数量是否超过预置的最大数量,
其中,当在所述判断步骤中判断出在所述管理步骤中管理的作为协议处理目标的装置的数量未超过预置的最大数量时,在所述启动步骤中启动所述协议转换处理。
10.根据权利要求9所述的控制方法,其特征在于,当在所述判断步骤中判断出在所述管理步骤中管理的作为协议处理目标的装置的数量超过预置的最大数量时,对网络装置多播表示切换到睡眠模式的包。
11.一种存储介质,存储有在混合存在多种协议的网络系统中执行协议转换处理的控制方法中的控制程序,其中,所述控制程序允许计算机执行以下步骤:
搜索步骤,其将用于搜索网络上的执行预定协议处理的另一协议转换装置的搜索请求发送到所述网络上,并在启动时执行搜索处理;
识别步骤,用于当所述搜索步骤搜索网络上的所述另一协议转换装置时,识别所述搜索到的协议转换装置是否能执行协议转换处理,或者所述搜索到的协议转换装置是否已执行过协议转换处理;以及
启动步骤,用于当在所述识别步骤中识别出所述搜索到的协议转换装置不能执行协议转换处理或者未执行协议转换处理时,启动协议转换处理。
12.一种控制方法,用于对作为目标的使用多种协议的装置进行协议转换控制,该控制方法包括:
搜索步骤,用于搜索使用第一协议的装置;
转换步骤,用于转换第二协议,以使该装置根据所述第一协议进行通信;
识别步骤,用于识别在所述搜索步骤中搜索到的装置是否符合所述第一协议;以及
控制步骤,用于控制所述转换步骤,以便对于在所述搜索步骤中搜索到的在所述识别步骤中识别为符合所述第一协议的装置,不执行将协议转换为所述第一协议的协议转换。
13.根据权利要求12所述的控制方法,其特征在于,还包括:
获取步骤,用于获取用于搜索装置的搜索请求;
管理步骤,用于通过使用如下表来进行管理,所述表用于管理作为协议转换目标的装置的列表;以及
识别步骤,用于识别由在所述获取步骤中获得的所述搜索请求搜索到的装置是否已注册到在所述管理步骤中管理的表中,
其中,当在所述识别步骤中识别出所述装置已注册到在所述管理步骤中管理的表时,在所述识别步骤中识别出所述装置符合所述第一协议。
14.一种控制装置,用于对作为目标的使用多种协议的装置进行协议转换控制,该控制装置包括:
搜索装置,用于搜索使用第一协议的装置;
转换装置,用于转换第二协议,以使该装置根据所述第一协议进行通信;
识别装置,用于识别由所述搜索装置搜索到的装置是否符合所述第一协议;以及
控制装置,用于控制所述转换装置,以便对于由所述搜索装置搜索到的由所述识别装置识别为符合所述第一协议的装置,不执行将协议转换为所述第一协议的协议转换。
15.根据权利要求14所述的控制装置,其特征在于,还包括:
获取装置,用于获取用于搜索装置的搜索请求;
管理装置,用于通过使用如下表来进行管理,所述表用于管理作为协议转换目标的装置的列表;以及
识别装置,用于识别由所述获取装置所获得的所述搜索请求搜索到的装置是否已注册到由所述管理装置管理的表中,
其中,当由所述识别装置识别出所述装置已注册到由所述管理装置管理的表中时,由所述识别装置识别出所述装置符合所述第一协议。
16.一种控制程序,允许计算机执行用于对作为目标的使用多种协议的装置进行协议转换控制的处理,其中,该控制程序允许计算机执行:
搜索步骤,用于搜索使用第一协议的装置;
转换步骤,用于转换第二协议,以使该装置根据所述第一协议进行通信;
识别步骤,用于识别在所述搜索步骤中搜索到的装置是否符合所述第一协议;以及
控制步骤,用于控制所述转换步骤,以便对于在所述搜索步骤中搜索到的在所述识别步骤中识别为符合所述第一协议的装置,不执行将协议转换为所述第一协议的协议转换。
17.一种控制装置,用于在混合存在多种协议的网络系统中执行协议转换处理,该控制装置包括:
搜索装置,其向网络发出用于搜索该网络上的执行预定协议处理的另一协议转换装置的搜索请求,并在启动时搜索所述另一协议转换装置;以及
启动装置,用于以如下方式操作:当所述搜索装置在网络上搜索到所述另一协议转换装置时,不新启动协议转换处理;当所述搜索装置在网络上未搜索到所述另一协议转换装置时,启动协议转换处理。
18.一种控制方法,用于在混合存在多种协议的网络系统中执行协议转换处理,该控制方法包括:
搜索步骤,其向网络发出用于搜索该网络上的执行预定协议处理的另一协议转换装置的搜索请求,并在启动时搜索所述另一协议转换装置;以及
启动步骤,用于以如下方式操作:当在所述搜索步骤中在网络上搜索到所述另一协议转换装置时,不新启动协议转换处理;当在所述搜索步骤中在网络上未搜索到所述另一协议转换装置时,启动协议转换处理。
19.一种存储介质,存储有用于允许计算机(CPU)执行在混合存在多种协议的网络系统中执行协议转换处理的控制方法的程序,其中,所述程序允许计算机执行以下步骤:
搜索步骤,其向网络发出用于搜索该网络上的执行预定协议处理的另一协议转换装置的搜索请求,并在启动时搜索所述另一协议转换装置;以及
启动步骤,用于以如下方式操作:当在所述搜索步骤中在网络上搜索到所述另一协议转换装置时,不新启动协议转换处理;当在所述搜索步骤中在网络上未搜索到所述另一协议转换装置时,启动协议转换处理。
CNB2004800127628A 2003-05-12 2004-05-12 用于执行协议转换处理的装置、方法 Expired - Fee Related CN100421094C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP132831/2003 2003-05-12
JP2003132831A JP4401679B2 (ja) 2003-05-12 2003-05-12 制御装置、制御プログラム、制御方法

Publications (2)

Publication Number Publication Date
CN1788258A true CN1788258A (zh) 2006-06-14
CN100421094C CN100421094C (zh) 2008-09-24

Family

ID=33432177

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800127628A Expired - Fee Related CN100421094C (zh) 2003-05-12 2004-05-12 用于执行协议转换处理的装置、方法

Country Status (6)

Country Link
US (1) US7895361B2 (zh)
EP (1) EP1623328A4 (zh)
JP (1) JP4401679B2 (zh)
KR (1) KR100779790B1 (zh)
CN (1) CN100421094C (zh)
WO (1) WO2004100001A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102461125A (zh) * 2009-06-11 2012-05-16 高通股份有限公司 用于发布基于结构化元数据的发现的插件模型的方法和装置
CN104144118A (zh) * 2013-05-07 2014-11-12 富士通株式会社 通信装置、管理装置以及处理方法
CN109981670A (zh) * 2019-04-02 2019-07-05 浙江数值跳跃网络科技有限公司 一种区块链系统中的智能加密模组

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4645164B2 (ja) * 2004-11-12 2011-03-09 セイコーエプソン株式会社 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
JP4677270B2 (ja) 2005-04-08 2011-04-27 キヤノン株式会社 通信装置及び制御方法
US7499931B2 (en) * 2005-05-09 2009-03-03 International Business Machines Corporation Method and apparatus for approximate projection of XML documents
US20060259602A1 (en) * 2005-05-12 2006-11-16 Randall Stewart Method and apparatus for transport level server advertisement and discovery
JP5021184B2 (ja) * 2005-06-09 2012-09-05 富士通株式会社 機器情報提供装置および機器情報提供方法
JP4838564B2 (ja) * 2005-10-06 2011-12-14 キヤノン株式会社 ネットワークデバイス、その制御方法およびプログラム
US20070162662A1 (en) * 2005-12-23 2007-07-12 Duggan Brian J Methods and apparatuses for dynamically switching network protocols for use in a printing device
JP4508114B2 (ja) * 2006-01-12 2010-07-21 セイコーエプソン株式会社 ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
KR100714708B1 (ko) * 2006-01-12 2007-05-04 삼성전자주식회사 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
JP4760415B2 (ja) 2006-02-06 2011-08-31 セイコーエプソン株式会社 コンピュータのデバイスドライバ実現方法
JP4995586B2 (ja) * 2006-03-01 2012-08-08 株式会社リコー プリンタ装置
JP4869033B2 (ja) * 2006-11-13 2012-02-01 キヤノン株式会社 ネットワークデバイス、ネットワークデバイス管理装置、ネットワークデバイスの制御方法、ネットワークデバイス管理方法、プログラム、記憶媒体
US8321546B2 (en) * 2007-01-10 2012-11-27 Ricoh Company, Ltd. Integrating discovery functionality within a device and facility manager
US20090059272A1 (en) * 2007-08-31 2009-03-05 Mitsugu Matsushita Printer auto installation
US8453164B2 (en) * 2007-09-27 2013-05-28 Ricoh Company, Ltd. Method and apparatus for reduction of event notification within a web service application of a multi-functional peripheral
JP5264161B2 (ja) * 2007-12-21 2013-08-14 キヤノン株式会社 情報処理装置、デバイス、情報処理装置の制御方法、及びコンピュータプログラム
US8155019B2 (en) * 2008-01-07 2012-04-10 Canon Kabushiki Kaisha Information processing apparatus, device information display method, and computer-readable storage medium
JP5132417B2 (ja) * 2008-05-13 2013-01-30 キヤノン株式会社 データ処理装置、データ処理方法、及びコンピュータプログラム
US8560713B2 (en) * 2008-07-31 2013-10-15 Sap Ag Method and system for mediating enterprise service access for smart devices
JP5113095B2 (ja) * 2009-01-20 2013-01-09 株式会社リコー ネットワーク設定通知装置、ネットワーク設定方法、プログラムおよび記録媒体
US9247007B2 (en) * 2009-04-23 2016-01-26 Disney Enterprises, Inc. System and method for providing a peripheral control interface for extending media device functions
US8296358B2 (en) * 2009-05-14 2012-10-23 Hewlett-Packard Development Company, L.P. Method and system for journaling data updates in a distributed file system
JP5600925B2 (ja) * 2009-11-20 2014-10-08 株式会社リコー サーバ装置、プリントシステム、プログラムおよび記録媒体
JP5665582B2 (ja) * 2011-02-08 2015-02-04 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、およびそのプログラム
CN105450589B (zh) * 2014-07-31 2018-12-14 阿里巴巴集团控股有限公司 远程调用方法及系统
JP2018129714A (ja) * 2017-02-09 2018-08-16 株式会社東芝 プログラム及び情報処理装置
CN110647411A (zh) * 2019-10-10 2020-01-03 广州趣丸网络科技有限公司 服务请求的处理方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5455851A (en) * 1993-07-02 1995-10-03 Executone Information Systems, Inc. System for identifying object locations
JPH06332868A (ja) * 1993-05-21 1994-12-02 Matsushita Electric Ind Co Ltd システム多重化装置
US6292202B1 (en) 1993-07-29 2001-09-18 Canon Kabushiki Kaisha Image processing method and apparatus for hardware processing image data received from a device using software processing
US6886035B2 (en) * 1996-08-02 2005-04-26 Hewlett-Packard Development Company, L.P. Dynamic load balancing of a network of client and server computer
US5848415A (en) * 1996-12-18 1998-12-08 Unisys Corporation Selective multiple protocol transport and dynamic format conversion in a multi-user network
EP1067731B1 (en) * 1999-07-06 2006-06-21 Canon Kabushiki Kaisha System for searching device on network
JP2001268248A (ja) * 2000-03-21 2001-09-28 Fujitsu Ltd ネットワーク電話システム
JP2002196990A (ja) 2000-12-27 2002-07-12 Kddi Corp サービス発見プロトコル変換ゲートウェイ
JP2002245018A (ja) 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 負荷分散システム
JP4464029B2 (ja) 2001-04-19 2010-05-19 キヤノン株式会社 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム
EP1259037A1 (en) * 2001-05-18 2002-11-20 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Method and devices for the interworking of nodes
EP1330100B1 (en) 2002-01-21 2008-07-30 Canon Kabushiki Kaisha Service providing system
US7443862B2 (en) 2002-01-22 2008-10-28 Canon Kabushiki Kaisha Apparatus connected to network, and address determination program and method
JP4051958B2 (ja) * 2002-02-25 2008-02-27 幸雄 米田 バイオリアクターを備えた温室
JP3715954B2 (ja) 2002-07-12 2005-11-16 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム、ネットワークシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102461125A (zh) * 2009-06-11 2012-05-16 高通股份有限公司 用于发布基于结构化元数据的发现的插件模型的方法和装置
US9043409B2 (en) 2009-06-11 2015-05-26 Qualcomm Incorporated Methods and apparatus for a plug-in model for publishing structured meta-data based discovery
CN102461125B (zh) * 2009-06-11 2015-11-25 高通股份有限公司 用于发布基于结构化元数据的发现的插件模型的方法和装置
CN104144118A (zh) * 2013-05-07 2014-11-12 富士通株式会社 通信装置、管理装置以及处理方法
CN104144118B (zh) * 2013-05-07 2017-06-23 富士通株式会社 通信装置、管理装置以及处理方法
CN109981670A (zh) * 2019-04-02 2019-07-05 浙江数值跳跃网络科技有限公司 一种区块链系统中的智能加密模组
CN109981670B (zh) * 2019-04-02 2023-05-09 南京先维信息技术有限公司 一种区块链系统中的智能加密模组

Also Published As

Publication number Publication date
CN100421094C (zh) 2008-09-24
EP1623328A4 (en) 2012-03-14
WO2004100001A1 (en) 2004-11-18
JP2004334751A (ja) 2004-11-25
KR100779790B1 (ko) 2007-11-27
EP1623328A1 (en) 2006-02-08
JP4401679B2 (ja) 2010-01-20
US20060184510A1 (en) 2006-08-17
KR20060021840A (ko) 2006-03-08
US7895361B2 (en) 2011-02-22

Similar Documents

Publication Publication Date Title
CN1788258A (zh) 用于执行协议转换处理的装置、方法和程序
CN1612122A (zh) 服务供给设备、服务供给程序、记录介质和服务供给方法
CN1252618C (zh) 故障预测系统和方法及设备、打印机和管理服务器
CN1149492C (zh) 遥控方法和服务器
CN1148041C (zh) 网络控制系统及其控制器、目标及消费器
CN1137443C (zh) 设备控制系统和方法
CN1273888C (zh) 成像装置、信息处理装置、程序执行方法及程序生成方法
CN1279440C (zh) 卸载系统
CN1729442A (zh) 在网络中使用共享资源的方法和装置
CN1947106A (zh) 通知方法、连接装置、通信方法以及程序
CN1275152C (zh) 制造和更新可插入的便携式操作系统模块的系统和方法
CN1658184A (zh) 网络系统、分布式处理方法和信息处理装置
CN1681305A (zh) 信息处理系统、信息处理方法以及计算机程序
CN1925438A (zh) 信息处理设备和网络设备以及它们的控制方法
CN1842782A (zh) 网络资源信息路由的服务器结构
CN1574763A (zh) 外部网络装置的自动发现和配置
CN1756197A (zh) 用于管理设备的系统、设备、方法和计算机程序产品
CN1661570A (zh) 信息处理系统、信息处理方法和计算机程序
CN1924839A (zh) 设备驱动程序的管理方法和信息处理装置
CN1266512A (zh) 适用于面向对象编程语言的硬件加速器
CN1770812A (zh) 图像处理系统、图像处理设备、服务器和程序
CN1770708A (zh) 信息处理系统和方法、电子装置和计算机可读程序
CN101056346A (zh) 控制装置及其控制方法、图像处理装置控制系统
CN1475966A (zh) 记录系统及其控制方法
CN1768373A (zh) 信息处理装置、信息处理方法、及计算机程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
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: 20080924

Termination date: 20170512