网络设备、系统和方法

文档序号:7999581阅读:248来源:国知局
网络设备、系统和方法
【专利摘要】本发明提供一种网络设备、系统和方法。第一客户机计算机向第二客户机计算机作出经由第二客户机计算机与服务器计算机建立推送通信的间接推送通信请求。在建立间接推送通信之后,第二客户机计算机向第一客户机计算机传送使用推送通信从服务器计算机向第一客户机计算机给出的指令。
【专利说明】网络设备、系统和方法
【技术领域】
[0001]本发明涉及一种控制网络上的服务器和网络设备之间的通信的技术。
【背景技术】
[0002]在因特网环境下的客户机/服务器系统中,由于防火墙,不能从作为各种打印服务的发送源的服务器向作为各种打印服务的执行源的客户机侧图像形成设备发送数据。相应地,提出了一种轮询式通信方法,其中,从客户机侧图像形成设备向作为各种打印服务的发送源的服务器,作出关于有无命令的询问。日本专利公开第2007-334612号公开了一种设备管理系统,其中,从被管理的设备接收到关于有无跨越防火墙的指令的询问时,管理设备在接收到询问时建立的会话中,作为对询问的答复发送指令。
[0003]设想了以来自客户机的初始通信(握手(Handshake))为起点,进行从因特网上的服务器(管理设备)到防火墙内的内网上的网络设备的推送(Push)通信的通信方法(推送通信方法)。推送通信方法是使得能够在没有来自防火墙内的指令请求(HTTP请求等)的情况下,从管理设备提供指令的通信方法。推送通信方法例如包括称为“WebSocket”的协议(RFC6455)。
[0004]管理设备通过以推送通信方法进行通信,能够实时分发命令,这消除了在从网络设备到管理设备的轮询方案中,对有无命令的轮询询问的需要。换句话说,借助于推送通信,能够消除在现有技术中出现的由轮询的间隔产生的时间损失。
[0005]然而,推送通信具有在网络设备和管理设备之间始终保持通信连接的特征。因此,在从成本等的观点出发而设置网络设备和管理设备之间的通信连接数量的上限的系统中,连接的数量容易达到上限值。因此,可能存在在网络设备和管理设备之间无法建立推送通信(无法开始握手)的情况。

【发明内容】

[0006]本发明提供一种网络设备,即使网络设备和管理设备建立握手以开始推送通信失败,该网络设备也能够接收管理设备使用推送通信而作出的指令。
[0007]根据本发明的一方面,提供了一种网络设备,其经由防火墙与外部管理设备通信,所述网络设备包括:接收单元,用于从其他网络设备接收利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并允许来自所述管理设备的指令;以及传送单元,用于向所述其他网络设备,传送在请求利用所述预定通信方法之后、使用所述预定通信方法从所述管理设备向所述其他网络设备给出的指令。
[0008]通过以下参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。
【专利附图】

【附图说明】
[0009]图1是示出本实施例的信息处理系统的示例性配置的图。[0010]图2A至2C是示出信息处理系统的示例性软件配置的图。
[0011]图3是示出第一客户机计算机进行的操作处理的示例的图。
[0012]图4是示出服务器计算机进行的操作处理的示例的图。
[0013]图5是示出第二客户机计算机进行的操作处理的示例的图。
[0014]图6是示出第二客户机计算机中的示例性日程(schedule)的图。
[0015]图7是示出第一客户机计算机进行的操作处理的示例的图。
【具体实施方式】
[0016](第一实施例)
[0017]图1是示出本实施例的信息处理系统的示例性配置的图。本实施例的信息处理系统是推送通信类型的客户机服务器系统。推送通信是使得能够在没有来自防火墙内的指令请求的情况下,从服务器计算机100提供指令的预定通信方法。在本实施例中,使用WebSocket协议,作为推送通信协议。下文中,还将使用WebSocket协议的通信描述为WebSocket 通信。
[0018]图1所示的信息处理系统包括第一客户机计算机110、第一打印机130、第二客户机计算机170、第二打印机180和服务器计算机100。第一和第二客户机计算机是要经由网络从服务器计算机100监视的网络设备。第一和第二客户机计算机经由防火墙160与服务器计算机100通信,服务器计算机100用作布置在防火墙160外部的管理设备。第一和第二客户机计算机中的各个例如是诸如图像形成设备、移动信息终端、客户机PC等的网络设备。
[0019]服务器计算机100经由WAN (广域网)301通过防火墙160连接到第一和第二客户机计算机。第一客户机计算机110经由LAN (局域网)300连接到第二客户机计算机170。第一打印机130连接到第一客户机计算机110。此外,第二打印机180连接到第二客户机计算机170。
[0020]服务器计算机100、第一客户机计算机110和第二客户机计算机170中的各个具有通用计算机配置。在下面的描述中,仅给出服务器计算机100、第一客户机计算机110和第二客户机计算机170的硬件配置中的一个的描述,省略对相同硬件配置的重复描述。
[0021]服务器计算机100包括CPU101、RAM102、R0M103、网络I/F104、外部存储器I/F105和外部存储器106,其中,CPU是中央处理单元的缩写,RAM是随机存取存储器的缩写,ROM是只读存储器的缩写。
[0022]CPUlOl基于存储在R0M103或外部存储器106中的应用程序等,执行处理。此外,CPUlOl对连接到系统总线107的设备进行总体控制。RAM102用作CPUlOl的主存储器、工
作区等。
[0023]R0M103是用作存储基本I/O程序等的存储区的只读存储器。R0M103或外部存储器106存储用作CPUlOl的控制程序的操作系统程序(下文中称为“OS”)等。此外,R0M103和外部存储器106存储在基于应用程序等进行处理时要使用的文件和其它各种数据。
[0024]网络I/F104连接到网络,用于进行网络通信。外部存储器I/F105控制对诸如硬盘(HD)等的外部存储器106的访问。外部存储器106存储引导程序、各种应用、用户文件、编辑文件等。[0025]服务器计算机100在CPUlOl执行写入R0M103或外部存储器106的基本I/O程序和OS的状态下运行。基本I/O程序已写入R0M103中。此外,OS已写入R0M103或外部存储器106中。当接通计算机的电源时,通过基本I/O程序中的初始程序加载功能,将OS从R0M103或外部存储器106写到RAM102中,由此开始OS的操作。附图标记107表示将设备彼此连接的系统总线。
[0026]第一客户机计算机110 包括 CPU111、RAM112、R0M113、网络 I/F114、键盘 I/F115 和键盘116。此外,第一客户机计算机110包括显示器I/F117、显示器118、外部存储器I/F119和外部存储器120。
[0027]键盘I/F115控制来自键盘116和指示设备(未示出)的输入。显示器I/F117控制显示器118上的显示。CPUlll基于通过鼠标(未示出)等在显示器118上指示的命令,打开各种登记的窗口,并且执行各种数据处理。
[0028]第一打印机130包括网络1/^131、0?讥32、狀11133、1?011134、操作单元1/^135、操作单元136、打印机I/F137和打印机138。此外,第一打印机130包括外部存储器I/F139和外部存储器140。
[0029]使用网络I/F131作为到第一客户机计算机110的连接总线。CPU132基于控制程序等,经由连接到系统总线141的打印机I/F137,向打印机138输出作为输出信息的图像信号。注意,控制程序存储在R0M134、外部存储器140等中。CPU132能够经由网络I/F131与计算机进行通信处理。使用这种布置,CPU132向第一客户机计算机110通知第一打印机130中的信息等。此外,CPU132基于存储在R0M134或外部存储器140中的应用程序等,执行处理。
[0030]RAM133用作CPU132的主存储器、工作区等。RAM133被配置为能够通过连接到附加端口(未示出)的备件RAM来增加存储器容量。注意,RAM133用于输出信息展开区域、环境数据存储区域、NVRAM (非易失性随机存取存储器)等。此外,外部存储器140例如是硬盘(HD)等。R0M134或外部存储.器140存储CPU132的控制程序、在生成输出信息时要使用的字体数据、要在第一打印机130上使用的信息等。操作单元I/F135用作与操作单元136的接口,并且向操作单元136输出要显示的图像数据。
[0031]操作单元I/F135还接收用户经由操作单元136输入的信息。操作单元136对应于布置有操作开关、LED显示器等的操作面板等。打印机I/F137向打印机138 (打印机引擎)输出作为输出信息的图像信号。外部存储器I/F139控制对诸如硬盘(HD)、USB存储器、IC卡等的外部存储器140的访问。外部存储器的数量不限于一个,而可以是至少一个或更多个。第一打印机130还可以被配置为能够与存储内置字体以及对选项字体卡和不同语言系统的打印机控制语言进行解释的程序的多个外部存储器连接。此外,第一打印机130还可以具有NVRAM (未示出),并且存储来自操作单元136的打印机模式设置信息。附图标记141表示将设备彼此连接的系统总线。
[0032]第二客户机计算机170的配置与第一客户机计算机110的配置相同,因此省略其说明。此外,第二打印机180的配置与第一打印机130的配置相同,因此省略其说明。
[0033]图2A至2C是示出本实施例的信息处理系统的示例性软件配置的图。图2A示出了服务器计算机100的软件配置。在服务器计算机100中,应用205和各模块中的各个是作为存储在外部存储器106中的文件存在的程序模块。将应用205和各模块加载到RAM102中来执行。
[0034]可以经由在外部存储器106中设置的⑶-ROM(未示出)或网络,将应用205添加到外部存储器106的HD中。附图标记200表示与客户机计算机进行网络通信的网络模块。
[0035]网络模块200 具有 TCP/IP 模块 201、HTTP 模块 202 和 WebSocket 模块 203。TCP/IP模块201使用TCP/IP协议进行网络通信。HTTP模块202使用TCP作为传输协议,并且使用HTTP协议进行网络通信。
[0036]WebSocket模块203使用TCP作为传输协议,并且使用WebSocket协议进行网络通信。Web (网)服务器服务模块204接收来自客户机计算机110的HTTP请求,由此提供对HTTP响应进行响应的服务。
[0037]应用205将从客户机计算机110发送的各种数据文件,转换为由连接到客户机计算机110的打印机130可打印的数据格式。各种数据文件是例如从Microsoft OfficeWORD/Excel/PowerPoint生成的数据文件。应用205向客户机计算机110发送转换为打印机130可打印的数据格式的数据文件。
[0038]作为例如响应于HTTP请求执行处理的程序,来实现应用205。应用205与Web服务器服务模块204 —起,实现用于实现下面的处理的Web应用。Web应用接收来自客户机计算机110的各种数据文件,并且将各种数据文件转换为连接到客户机计算机110的打印机130可打印的数据格式。
[0039]应用205具有绘制模块206和通信管理模块207。绘制模块206对各种数据文件进行解释。从用户经由外部存储器140提交各种数据文件。当无法以打印机130可打印的格式,对各种数据文件进行绘制时,从客户机计算机110向服务器计算机100发送数据文件。接收到数据文件的绘制模块206将数据文件,转换为连接到客户机计算机110的打印机130可打印的数据文件。通信管理模块207对与使用WebSocket协议保持会话的客户机计算机的连接进行管理。
[0040]图2B是示出第一客户机计算机110和第一打印机130的示例性软件配置的图。构成客户机计算机110的各个模块是作为存储在ROMl 13或外部存储器120中的文件存在的程序模块。在执行时,通过使用OS或利用模块的模块,将各个模块加载到RAM112中来执行。
[0041]网络模块210进行与服务器计算机100和网络打印机130的网络通信。网络模块210具有TCP/IP模块21UHTTP模块212和WebSocket模块213。TCP/IP模块211使用TCP/IP协议进行网络通信。HTTP模块212使用TCP作为传输协议,并且使用HTTP协议进行网络通信。WebSocket模块213使用TCP作为传输协议,并且使用WebSocket协议进行网络通信。包含在应用214中的通信管理模块215对与服务器计算机100的通信和与第一打印机130的通信进行管理。
[0042]接下来,对第一打印机130的软件配置给出描述。在第一打印机130中,各个模块作为存储在R0M134或外部存储器140中的文件而存在,并且在执行其时,将各个模块加载到RAM133中来执行。网络模块220使用任意通信协议,与第一客户机计算机110进行网络通信。打印处理模块222接收并控制从第一客户机计算机110发送的打印作业,并且进行打印处理。数据接收模块221接收用户经由外部存储器140输入的数据文件,然后开始与该打印系统相对应的打印处理。[0043]图2C示出了第二客户机计算机170和第二打印机180的软件配置。第二客户机计算机170的软件配置与上述第一客户机计算机110的软件配置相同。此外,第二打印机180的软件配置与上述第一打印机170的软件配置相同。作为图2A至2C中的各个所示的应用或模块,来实现本实施例的程序。
[0044]下面,对第一实施例的信息处理系统中的服务器计算机100、第一客户机计算机110和第二客户机计算机170的操作给出描述。
[0045]图3是示出由第一客户机计算机进行的操作处理的示例的流程图。根据应用214的通信管理模块215进行的控制,执行图3所示的步骤中的处理。首先,在第一客户机计算机上检测握手开始事件的出现(步骤S301)。根据预先设置的定时、第一客户机计算机110或第一打印机130的电源接通时以及来自外部设备的管理命令中的至少任意一个,尝试进行握手。可以由用户从诸如USB存储器或IC卡的外部存储器140输入到外部存储器I/F130的数据出现的定时,触发握手开始事件。还可以由设置在第一打印机130中的接近传感器(未示出)检测到用户靠近第一打印机130的定时,触发握手开始事件。
[0046]接下来,在步骤S302中,HTTP模块212确认因特网连接,并且确定是否能够建立与服务器计算机100的通信(步骤S302)。更具体地,HTTP模块212经由TCP/IP模块211向服务器计算机100发送HTTP请求,并且确定是否能够获得HTTP响应。
[0047]当能够从服务器计算机100获得HTTP响应时,HTTP模块212确定设备本身连接到因特网,因此能够与服务器计算机100通信。当没有从服务器计算机100获得HTTP响应时,HTTP模块212确定设备本身没有连接到因特网,因此不能与服务器计算机100通信。虽然在步骤S302中的确定处理中,将是否能够获得对HTTP请求的HTTP响应设置为判断基准,但是也可以使用任意其它通信方法,用于该确定处理。
[0048]当设备本身连接到因特网,并且能够与服务器计算机100通信时,处理前进到步骤S303。当设备本身没有连接到因特网,并且不能与服务器计算机100通信时,处理前进到步骤S305。
[0049]在步骤S303中,WebSocket模块213经由TCP/IP模块211向服务器计算机100作出WebSocket握手请求,并且等待来自服务器计算机100的响应。接下来,WebSocket模块213确定与服务器计算机100的握手是否成功(步骤S304)。
[0050]当从服务器计算机100返回了握手响应时,WebSocket模块213确定与服务器计算机100的握手成功。另一方面,当与服务器计算机100的握手失败时,从被请求了 WebSocket通信的计算机返回HTTP错误代码。因此,当从服务器计算机100返回HTTP错误代码时,WebSocket模块213确定与服务器计算机100的握手失败。当与服务器计算机100的握手成功时,处理结束。当与服务器计算机100的握手失败时,处理前进到步骤S305。
[0051]在步骤S305中,通信管理模块215搜索属于与设备本身所属的区段相同的区段中的网络并且正与服务器计算机100进行WebSocket通信的第二客户机计算机170。然后,通信管理模块215向搜索到的第二客户机计算机170作出以下请求。通信管理模块215请求经由第二客户机计算机170与服务器计算机100的推送通信(请求间接推送通信)。间接推送通信是经由第二客户机计算机170与服务器计算机100的推送通信。换句话说,间接推送通信请求是利用推送通信方法作为与服务器计算机100的通信方法的请求。
[0052]为了请求间接推送通信,通信管理模块215如下搜索被请求推送通信的第二客户机计算机170。当第一客户机计算机110能够与服务器计算机100通信(步骤S302:是),但是与服务器计算机100的握手失败时,服务器计算机100例如执行以下处理。服务器计算机100向第一客户机计算机通知正与服务器计算机100进行WebSocket通信并且属于与第一客户机计算机所属的区段相同的区段的第二客户机计算机。更具体来说,服务器计算机100通知第二客户机计算机的地址信息。地址信息例如是IPv4网络中的IP地址。
[0053]通信管理模块215将与通知的地址信息相对应的第二客户机计算机,设置为被请求间接推送通信的计算机。下面,参照图4,对从服务器计算机100对当前处于WebSocket通信状态的客户机计算机的地址信息的通知给出描述。
[0054]为了第一客户机计算机110经由第二客户机计算机170与服务器计算机100建立间接推送通信,前提是正在运行以下处理。换句话说,为了第一客户机计算机110与服务器计算机100建立间接推送通信,第二客户机计算机170和服务器计算机100之间的握手必需已经开始,以建立WebSocket通信。
[0055]此外,当设备本身没有连接到因特网,因此不能与服务器计算机100通信(步骤S302:否)时,在步骤S305中执行以下处理。通信管理模块215通过广播搜索正与服务器计算机100进行WebSocket通信并且属于与设备本身所属的区段相同的区段中的网络的第二客户机计算机170。然后,通信管理模块215向搜索到的第二客户机计算机170作出间接推送通信请求。然后,第二客户机计算机170的通信管理模块235接收间接推送通信请求。
[0056]即使当搜索到属于与设备本身所属的区段相同的区段中的网络的第二客户机计算机170时,也可能存在搜索到的第二客户机计算机170不是正与服务器计算机100进行WebSocket通信的情况。在这种情况下,通信管理模块215向搜索到的第二客户机计算机170作出间接推送通信请求。
[0057]接收到间接推送通信请求的第二客户机计算机170的通信管理模块235响应于请求,使用WebSocket在第二客户机计算机170和服务器计算机100之间新建立连接。然后,通信管理模块235实现第一客户机计算机110和服务器计算机100之间的间接推送通信。换句话说,在接收到间接推送通信请求之后,通信管理模块235向第一客户机计算机110传送使用WebSocket从服务器计算机100向第一客户机计算机110给出的指令。更具体来说,通信管理模块235在使用WebSocket建立连接之后,向第一客户机计算机110传送指令。换句话说,在本实施例中,第二客户机计算机170是对推送通信进行中介的代理服务器。
[0058]接下来,通信管理模块215确定与服务器计算机100的间接推送通信是否成功(步骤S306)。当与服务器计算机100的间接推送通信成功时,通信管理模块215开始间接推送通信(步骤S307)。通过进行步骤S307中的处理,第一客户机计算机110能够经由第二客户机计算机170与服务器计算机100进行推送通信。例如,通信管理模块215接收从第二客户机计算机170传送的、通过WebSocket通信从服务器计算机100给出的指令。然后,CPUlll (在图1中示出)执行接收到的指令。
[0059]下面,对在从服务器计算机100给出的指令是打印指令时进行的示例性操作给出描述。第一客户机计算机110将用户经由外部存储器I/F139和外部存储器140输入的数据文件发送至服务器计算机100,并且服务器计算机100开始使用绘制模块206将数据文件转换为第一打印机130可打印的数据格式。已经建立了第一计算机110和服务器计算机100之间的推送通信。因此,当服务器计算机100中由绘制模块206进行的处理完成时,立即向第一客户机计算机110发送被转换为第一打印机130可打印的数据格式的文件。
[0060]当与服务器计算机100的间接推送通信失败时,通信管理模块215以推送通信方法之外的通信方法,开始与服务器计算机100的通信(步骤S308)。例如,当在步骤S302中的确定处理中确定能够建立通过HTTP与服务器计算机100的通信时,通信管理模块215通过HTTP进行轮询式通信。然而,由于通信管理模块215通过HTTP进行轮询式通信,因此即使服务器计算机100中由绘制模块206进行的处理完成,只要没有从第一客户机计算机110作出轮询询问,也中断一系列打印处理。因此,可能不希望地出现在步骤S307中开始的间接推送通信中不会出现的时间损失。当步骤S302中的确定处理失败时,通信管理模块215还可以被适配为在第一打印机130的操作单元136上显示错误状态。
[0061]图4是示出由服务器计算机进行的操作处理的示例的流程图。设置在服务器计算机100中的WebSocket模块203经由TCP/IP模块201,接收在图3所示的步骤S303中从第一客户机计算机110发送的握手请求(步骤S401)。
[0062]接下来,通信管理模块207确定是否能够开始握手(步骤S402)。通信管理模块207确定使用WebSocket协议的通信连接的数量是否达到了上限值。当通信连接的数量达到上限值时,通信管理模块207确定无法开始握手。例如,当使用WebSocket协议的通信连接的数量没有达到上限值时,通信管理模块207确定能够开始握手。本实施例的系统的管理员等预先基于合理的通信成本等,在通信管理模块207中设置使用WebSocket协议的通信连接的数量的上限值。
[0063]当通信管理模块207确定能够开始握手时,处理前进到步骤S403。当通信管理模块207确定不能开始握手时,处理前进到步骤S404。
[0064]在步骤S403中,通信管理模块207开始与第一客户机计算机110握手。在握手开始时的定时,建立第一客户机计算机110和服务器计算机100之间的WebSocket通信。
[0065]在步骤S404中,通信管理模块207执行以下处理。通信管理模块207确定在与请求握手的第一客户机计算机110所属的区段相同的区段中,是否存在正在与服务器计算机建立WebSocket通信的第二客户机计算机。
[0066]在步骤S404中,通信管理模块207如下指定与第一客户机计算机110所属的区段相同的区段中的第二客户机计算机170。例如,假设服务器计算机100根据IPv4进行网络通信的情况。通信管理模块207确定是否存在具有与第一客户机计算机110的从第一到第三区段的IP地址相同的IP地址的第二客户机计算机。也就是说,通信管理模块207指定具有与第一客户机计算机110的从第一到第三区段的IP地址相同的IP地址的第二客户机计算机。然后,通信管理模块207指定与第一客户机计算机110所属的区段相同的区段中的第二客户机计算机。
[0067]当通信管理模块207确定存在第二客户机计算机170时,处理前进到步骤S406。当通信管理模块207确定不存在第二客户机计算机170时,处理前进到步骤S405。
[0068]在步骤S406中,通信管理模块207向第一客户机计算机110通知已经建立了WebSocket通信的第二客户机计算机170的地址信息。通信管理模块207例如使用IP地址作为地址信息。
[0069]在步骤S405中,通信管理模块207向第一客户机计算机110通知不存在已经建立了 WebSocket通信的第二客户机计算机170。[0070]图5是示出由第二客户机计算机进行的操作处理的示例的流程图。在该示例中,对由接收到来自第一客户机计算机HO的间接推送通信请求的第二客户机计算机170进行的操作处理给出描述。首先,设置在第二客户机计算机170中的通信管理模块235用作执行以下处理的第一确定单元。通信管理模块235确定设备本身是否已经与服务器计算机100进行了握手,因此正在进行WebSocket通信(步骤S501)。当设备本身已经与服务器计算机100进行了握手,因此正在进行WebSocket通信时,处理前进到步骤S503。当设备本身没有继续与服务器计算机100进行WebSocket通信时,处理前进到步骤S502。
[0071]在步骤S503中,通信管理模块235用作执行以下处理的第二确定单元。通信管理模块235确认第二客户机计算机170中的日程(步骤S503)。更具体来说,通信管理模块235确认通信中断的日程。
[0072]图6是示出第二客户机计算机中的示例性日程的图。在该示例中,作为日程601设置了在第二客户机计算机中安排的处理等(安装、重新引导或者关闭)以及执行该处理等的日期和时间。预先将日程601存储在存储单元中。
[0073]返回参照图5,在步骤S504中,通信管理模块235基于在步骤S503中确认的日程,确定是否允许进行间接推送通信(步骤S504)。更具体来说,通信管理模块235确定从步骤S503中的确认处理的开始时间到通信管理模块235变得不能与服务器计算机100进行通信的时间的时间间隔,是否等于或大于阈值。例如由管理员预先设置阈值。当时间间隔等于或大于阈值时,通信管理模块235确定允许进行间接推送通信,并且处理前进到步骤S505。当时间间隔小于阈值时,通信管理模块235确定不允许进行间接推送通信,并且处理前进到步骤S502。
[0074]在步骤S502中,通信管理模块235向第一客户机计算机110通知第一客户机计算机110不能经由第二客户机计算机170与服务器计算机100进行推送通信。
[0075]在步骤S505中,通信管理模块235使得第一客户机计算机110能够经由第二客户机计算机170与服务器计算机100进行推送通信。更具体来说,通信管理模块235在进行WebSocket通信的服务器计算机100和第一客户机计算机110之间,建立通信路径(用作通信路径建立单元)。然后,通信管理模块235向第一客户机计算机110传送由服务器计算机100发送的指令。
[0076]通过进行上述处理,即使第一客户机计算机110和服务器计算机100建立握手以开始推送通信失败,第一客户机计算机110也能够执行以下处理。第一客户机计算机110能够经由已经成功完成握手操作的第二客户机计算机170,间接开始与服务器计算机100的推送通信。因此,即使客户机和服务器之间的通信连接的数量达到了上限值,也能够经由其他客户机计算机,间接开始希望开始新的推送通信的客户机计算机和服务器计算机之间的推送通信。
[0077]换句话说,根据本发明,即使网络设备和管理设备建立握手以开始推送通信失败,网络设备也能够经由其他网络设备,接收管理设备使用推送通信作出的指令。因此,例如,即使网络设备和管理设备之间的通信连接的数量达到了上限值,网络设备也能够实时接收从管理设备给出的指令。
[0078](第二实施例)
[0079]在第二实施例中,假定在与第一客户机计算机110所属的区段相同的区段中,存在多个第二客户机计算机170的系统。
[0080]在第二实施例中,在图4所示的步骤S406中,服务器计算机100向第一客户机计算机110通知多个第二客户机计算机的地址信息。在图3所示的步骤S305中,第一客户机计算机110选择通知的地址信息中的一个,然后向与选择的地址信息相对应的第二客户机计算机作出间接推送通信请求。当请求失败时,第一客户机计算机110选择通知的地址信息中的另一个,然后向与选择的地址信息相对应的第二客户机计算机作出间接推送通信请求。使用这种布置,存在高可能性第一客户机计算机110能够与服务器计算机100进行间接推送通信。
[0081]此外,服务器计算机100能够掌握服务器计算机100和已经建立了 WebSocket通信的所有客户机计算机之间的通信状态。因此,例如,服务器计算机100可以优先选择具有小通信业务量的第二客户机计算机,作为被请求间接推送通信的客户机计算机。使用这种布置,能够实现通信资源的优化(分布)。
[0082](第三实施例)
[0083]在第三实施例中,第一客户机计算机110在执行图3所示的步骤S305中的处理的定时,执行以下处理。第一客户机计算机110向第二客户机计算机170通知与服务器计算机100建立间接推送通信所需的保持通信连接的时间(连接保持时间)。因此,在图3所示的步骤S301中的握手开始事件中,通信管理模块215基于经由外部存储器140从用户提交的数据文件的文件大小或者页数,确定连接保持时间。
[0084]假设管理员预先限定了,从经由因特网向服务器计算机100发送数据文件,到月艮务器计算机100在推送通信中接收通过对数据文件进行绘制而获得的绘制结果要花费的每页所需的时间。例如,假设限定数据文件的每页所需的连接保持时间是一分钟。因此,当提交的数据文件由10页构成时,第一客户机计算机110请求第二客户机计算机将10分钟设置为连接保持时间。
[0085]在图5所示的步骤S504中,通信管理模块235基于在步骤S503中确认的日程和从第一客户机计算机110通知的连接保持时间,确定是否允许进行间接推送通信。更具体来说,通信管理模块235确定从开始图5所示的步骤S503中的确认处理的开始时间、到通信中断的时间的时间间隔,是否等于或大于连接保持时间。当该时间间隔等于或大于连接保持时间时,通信管理模块235确定允许进行间接推送通信。
[0086]根据第三实施例,能够在响应于处理的数据的量确保所需的连接保持时间的同时,实现间接推送通信。因此,当数据文件中的要处理的数据的量大,并且所需的连接保持时间长时,可以降低在处理期间失去与服务器计算机100的连接的风险。当数据文件中的要处理的数据的量小,并且所需的连接保持时间短时,存在高可能性允许进行图5所示的步骤S504中的间接推送通信。
[0087](第四实施例)
[0088]在第四实施例中,第一客户机计算机110请求第二客户机计算机170在发生握手开始事件之后立即与服务器计算机100建立间接推送通信。当间接推送通信失败时,第一客户机计算机110直接向服务器计算机100作出握手请求。
[0089]图7是示出第四实施例的由第一客户机计算机进行的操作处理的示例的流程图。图7所示的步骤S701、步骤S702、步骤S703、步骤S704和步骤S708中的处理,与图3所示的步骤S301、步骤S305、步骤S306、步骤S307和步骤S308中的处理相同。此外,图1所示的步骤S705至S707中的处理与图3所示的步骤S302至S304中的处理相同。
[0090]在第四实施例中,第一客户机计算机110首先向第二客户机计算机170作出间接推送通信请求(步骤S702)。当间接推送通信失败时,第一客户机计算机110尝试向服务器计算机100作出WebSocket握手请求(步骤S706)。因此,存在降低的可能性第一客户机计算机110向服务器计算机100作出握手请求,由此新产生通信连接。使用这种配置,可以减少诸如与服务器计算机100的连接的资源消耗。
[0091]本发明的各方面还能够通过读出并执行记录在存储装置上的用于执行上述实施例的功能的程序的系统或设备的计算机(或诸如CPU或MPU的装置)、以及由系统或设备的计算机例如读出并执行记录在存储装置上的用于执行上述实施例的功能的程序来执行步骤的方法来实现。鉴于此,例如经由网络或者从用作存储装置的各种类型的记录介质(例如计算机可读介质)向计算机提供程序。
[0092]虽然参照示例性实施例对本发明进行了说明,但是应当理解,本发明不限于所公开的示例性实施例。所附权利要求的范围符合最宽的解释,以使其涵盖所有这种变型、等同结构及功能。
[0093]本申请要求2012年5月23日提交的日本专利申请第2012-117225号的优先权,该申请的全部内容通过弓I用并入本文。
【权利要求】
1.一种网络设备,其经由防火墙与外部管理设备通信,所述网络设备包括: 接收单元,用于从其他网络设备接收利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并允许来自所述管理设备的指令;以及 传送单元,用于向所述其他网络设备,传送在请求利用所述预定通信方法之后、使用所述预定通信方法从所述管理设备向所述其他网络设备给出的指令。
2.根据权利要求1所述的网络设备,所述网络设备还包括: 连接建立单元,用于响应于接收到的利用所述预定通信方法的请求,使用所述预定通信方法,与所述管理设备新建立连接, 其中,在建立从所述管理设备到所述其他网络设备的连接之后,所述传送单元传送使用所述预定通信方法给出的所述指令。
3.根据权利要求1所述的网络设备,所述网络设备还包括: 第一确定单元,用于在所述接收单元接收到所述请求之后,确定所述网络设备本身是否正使用所述预定通信方法与所述管理设备通信, 其中,在所述第一确定单元确定所述网络设备本身正使用所述预定通信方法与所述管理设备通信的情况下,所述传送单元向所述其他网络设备传送从正使用所述预定通信方法进行通信的所述管理设备给出的所述指令。
4.根据权利要求3所述的网络设备,所述网络设备还包括: 第二确定单元,用于在.确定所述网络设备本身正使用所述预定通信方法与所述管理设备通信的情况下,基于所述网络设备本身的日程,确定直到所述网络设备本身不能与所述管理设备通信为止花费的时间,是否等于或大于预定阈值, 其中,在确定直到所述网络设备本身不能与所述管理设备通信为止花费的时间,等于或大于预定阈值的情况下,所述传送单元向所述其他网络设备,传送从正使用所述预定通信方法进行通信的所述管理设备给出的所述指令。
5.根据权利要求4所述的网络设备,所述网络设备还包括: 通信路径建立单元,用于在确定直到所述网络设备本身不能与所述管理设备通信为止花费的时间,等于或大于预定阈值的情况下,使用所述预定通信方法,在所述管理设备和所述其他网络设备之间建立通信路径, 其中,所述传送单元使用所建立的通信路径,向所述其他网络设备传送使用所述预定通信方法给出的所述指令。
6.根据权利要求4所述的网络设备,其中,所述阈值是保持与所述管理设备的连接的连接保持时间,其中,从所述其他网络设备通知所述连接保持时间,并且依据所述其他网络设备要处理的数据的量确定所述连接保持时间。
7.根据权利要求1所述的网络设备,其中,所述预定通信方法是WebSocket协议。
8.—种网络设备,其经由防火墙与外部管理设备通信,所述网络设备包括: 请求单元,用于向所述防火墙内的其他网络设备作出利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并且允许来自所述管理设备的指令; 接收单元,用于接收使用所述预定通信方法从所述管理设备给出的、在请求利用所述预定通信方法之后从所述其他网络设备传送的指令;以及 执行单元,用于执行接收到的指令。
9.根据权利要求8所述的网络设备,其中,所述其他网络设备是对所述预定通信方法进行中介的代理服务器。
10.根据权利要求8所述的网络设备,其中,在通过所述网络设备本身使用所述预定通信方法与所述管理设备建立连接不成功的情况下,所述请求单元作出所述请求。
11.根据权利要求8所述的网络设备,其中,在通过所述网络设备本身使用所述预定通信方法与所述管理设备建立连接不成功的情况下,所述请求单元向正使用所述预定通信方法与所述管理设备通信的所述其他网络设备,作出从所述管理设备通知的所述请求。
12.根据权利要求10所述的网络设备,其中,根据预先设置的定时、所述网络设备本身的电源接通时以及来自外部设备的管理命令中的至少任意一个,尝试通过所述网络设备本身使用所述预定通信方法与所述管理设备进行连接。
13.根据权利要求8所述的网络设备,其中,在不允许通过接收到所述请求的所述其他网络设备利用所述预定通信方法的情况下,尝试通过所述网络设备本身使用所述预定通信方法与所述管理设备进行连接。
14.根据权利要求8所述的网络设备,所述网络设备还包括: 确定单元,用于确定所述网络设备本身是否能够与所述管理设备通信;以及 搜索单元,用于在所述确定单元确定所述网络设备本身不能与所述管理设备通信的情况下,搜索正使用所述预定通信方法与所述管理设备通信的所述其他网络设备, 其中,所述请求单元向搜索到的所述其他网络设备作出所述请求。
15.一种网络设备中的方法,所述网络设备经由防火墙与外部管理设备通信,所述方法包括: 接收步骤,从其他网络设备接收利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并且允许来自所述管理设备的指令;以及 传送步骤,向所述其他网络设备,传送在请求利用所述预定通信方法之后、使用所述预定通信方法从所述管理设备向所述其他网络设备给出的指令。
16.根据权利要求15所述的方法,其中,所述预定通信方法是WebSocket协议。
17.—种网络设备中的方法,所述网络设备经由防火墙与外部管理设备通信,所述方法包括: 请求步骤,向所述防火墙内的其他网络设备作出利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并且允许来自所述管理设备的指令; 接收步骤,接收使用所述预定通信方法从所述管理设备给出的、在请求利用所述预定通信方法之后从所述其他网络设备传送的指令;以及 执行接收到的指令。
18.—种系统,其包括: 管理设备;以及 网络设备和代理服务器,所述网络设备和代理服务器经由防火墙与设置在所述防火墙外部的所述管理设备通信, 其中,所述代理服务器包括: 第一接收单元,用于从所述网络设备接收利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并且允许来自所述管理设备的指令;以及 传送单元,用于向所述网络设备,传送在请求利用所述预定通信方法之后、使用所述预定通信方法从所述管理设备向所述网络设备给出的指令;以及其中,所述网络设备包括: 请求单元,用于向所述代理服务器作出利用所述预定通信方法作为与所述管理设备的通信方法的请求; 第二接收单元,用于接收使用所述预定通信方法从所述管理设备给出的、在请求利用所述预定通信方法之后从所述代理服务器传送的指令;以及执行单元,用于执行接收到的指令。
19.一种系统中的方法,所述系统包括:管理设备;以及网络设备和代理服务器,所述网络设备和代理服务器经由防火墙与设置在所述防火墙外部的所述管理设备通信,所述方法包括: 请求步骤,所述网络设备向所述代理服务器作出利用预定通信方法作为与所述管理设备的通信方法的请求,在所述预定通信方法中,不从所述防火墙内获得指令请求,并且允许来自所述管理设备的指令; 第一接收步骤,所述代理服务器接收来自所述网络设备的利用所述预定通信方法的请求; 传送步骤,所述代理服务器向所述网络设备,传送在请求利用所述预定通信方法之后、使用所述预定通信方法从所述管理设备向所述网络设备给出的指令; 第二接收步骤,所述网络设备接收从所述代理服务器传送的、使用所述预定通信方法从所述管理设备给出的指令;以及 执行步骤,所述网络设备执行接收到的指令。
【文档编号】H04L29/06GK103428198SQ201310187585
【公开日】2013年12月4日 申请日期:2013年5月20日 优先权日:2012年5月23日
【发明者】伊丹刚 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1