信息处理设备、信息处理系统、信息处理方法和程序的制作方法

文档序号:7792078阅读:109来源:国知局
信息处理设备、信息处理系统、信息处理方法和程序的制作方法
【专利摘要】为了减轻由于用于维持信息处理设备之间的连接的通信处理而产生的通信负荷。解决方式:信息处理设备包括通信单元和控制单元。所述通信单元能够经由网络上的中继服务器与另一信息处理设备进行通信。所述控制器能够获取通信环境信息,所述通信环境信息表示所述通信单元的通信环境,所述通信环境信息包括与对通信单元和中继服务器之间的通信进行中继的通信中继设备的属性信息。另外,控制器能够基于所获取到的通信环境信息来计算发送用于维持与中继服务器的连接的维持信号的发送间隔。此外,控制器能够控制通信单元按照所计算出的发送间隔将维持信号发送至中继服务器。
【专利说明】信息处理设备、信息处理系统、信息处理方法和程序

【技术领域】
[0001]本技术涉及能够经由通信中继设备与网络中的另一信息处理设备进行通信的信息处理设备、包括该信息处理设备的信息处理系统、该信息处理设备所执行的信息处理方法以及该信息处理设备所执行的程序。

【背景技术】
[0002]在经由诸如网络地址转换路由器(NAT路由器)和代理服务器等的通信中继设备的信息处理设备之间的通信处理中,如果这些信息处理设备在预定的时间段内相互没有进行通信,则通信中继设备可能切断连接。鉴于此,通信中继设备彼此进行通信,从而按照恒定时间间隔维持连接(保持连接(Ke印Alive)、心跳通信)。例如,以下专利文献I描述了保持连接。
[0003]现有技术文献
[0004]专利文献
[0005]专利文献1:日本特开2009-232358号公报


【发明内容】

[0006]发明要解决的问题
[0007]然而,通信中继设备切断连接之前的时间段根据通信中继设备以及通信中继设备的通信环境而发生很大改变。虽然事实如此,但根据传统的通信中继设备,由于按照恒定时间间隔建立保持连接通信,因此与维持通信连接本身所需的频率相比,建立通信的频率更高,这导致通信负荷和通信量增加。
[0008]鉴于上述情形,本技术的目的是提供能够减轻由于用以维持信息处理设备之间的连接的通信处理而产生的通信负荷的信息处理设备、信息处理系统、信息处理方法和程序。
[0009]解决问题的手段
[0010]为了解决上述问题,根据本技术的信息处理设备包括通信单元和控制器。通信单元能够经由网络中的中继服务器与另一信息处理设备进行通信。控制器能够获得表示所述通信单元的通信环境的通信环境信息,其中所述通信环境信息包括与对所述通信单元和所述中继服务器之间的通信进行中继的通信中继设备有关的属性信息。此外,所述控制器能够基于所获得的通信环境信息来计算用以发送用以维持与所述中继服务器的连接的维持信号的发送间隔。此外,所述控制器能够控制所述通信单元按照所计算的发送间隔将所述维持信号发送至所述中继服务器。
[0011]根据该结构,由于信息处理设备能够根据通信中继设备的通信环境来确定维持信号的发送间隔,因此与不依赖通信环境一律发送维持信号的情况相比,可以减轻由于维持信号的发送处理而产生的通信负荷。
[0012]在所述通信单元连接至所述中继服务器之后,如果所述通信中继设备切断了该连接,则所述控制器可以计算该连接和该切断之间的持续时间,并且基于所计算出的持续时间来计算所述维持信号的发送间隔。
[0013]利用该结构,通过基于与中继服务器的过去通信的直到连接被切断为止的时间段来计算维持信号的发送间隔,信息处理设备能够通过在该信息处理设备下次与中继服务器进行通信时按适当间隔发送维持信号,来维持连接。
[0014]所述通信单元可能能够与所述网络上的连接测试服务器进行通信。在这种情况下,在所述连接单元连接至所述连接测试服务器之后,如果所述通信中继设备切断了该连接,则所述控制器可以计算该连接与该切断之间的持续时间,并且基于所计算出的持续时间来计算所述维持信号的发送间隔。
[0015]利用该结构,信息处理设备在与中继服务器进行通信之前与连接测试服务器进行通信,并且基于直到该连接切断为止的时间段来计算维护信号的发送间隔,由此可以在无需从一开始切断连接的情况下与中继服务器进行通信。
[0016]所述通信单元可能能够从所述中继服务器接收通知消息,所述通知消息通知存在从所述另一信息处理设备发送至所述信息处理设备的数据。在这种情况下,所述控制器可能能够根据所述通信环境来创建为了所述中继服务器连接至所述信息处理设备并且发送所述通信消息而要设置的设置消息,并且能够控制所述通信单元以将所创建的设置信息发送至所述中继服务器。在这种情况下,所述中继服务器可能存储所发送的设置信息,并且基于所存储的设置信息来发送所述通知消息。
[0017]利用该结构,信息处理设备能够根据通信环境来将设置信息发送至中继服务器,并且可靠地接收通知消息。
[0018]所述控制器可能能够根据所述通信环境的变化来更新所创建的设置信息,并且能够控制所述通信单元将更新后的设置信息发送至所述中继服务器。在这种情况下,所述中继服务器可以利用更新后并发送的设置信息来更新所存储的设置信息。
[0019]利用该结构,例如,即使在信息处理设备是移动终端的情况下通信环境可能改变,信息处理设备也能够响应于该变化来更新设置信息,并且中继服务器能够设置更新后的设置信息。
[0020]所述控制器可能能够预先创建根据所述通信环境的变化而要创建的多个所述设置信息。此外,所述控制器可能能够控制所述通信单元将所创建的多个所述设置信息发送至所述中继服务器。此外,如果所述通信环境改变、并且所发送的多个所述设置信息均不与变化之后的通信环境相对应,则所述控制器可能创建与变化之后的通信环境相对应的新的设置信息。此外,所述控制器可以控制所述通信单元将所创建的新的设置信息发送至所述中继服务器。在这种情况下,所述中继服务器可以存储所发送的多个所述设置信息,并且基于所存储的多个所述设置信息中的至少一个来发送所述通知消息。
[0021]利用该结构,由于信息处理设备预先将与多个通信环境相对应的多个设置信息发送至服务器,因此无需在每次通信环境改变时将设置信息发送至中继服务器,由此可以减轻信息处理设备和服务器的发送处理的负担。
[0022]所述信息处理设备还可以包括存储单元。在这种情况下,所述通信单元可能能够从所述中继服务器定期接收与在所述信息处理设备和所述中继服务器之间的连接被切断的情况下所述信息处理设备重新连接至所述中继服务器的时刻有关的重新连接信息,其中所述重新连接信息是根据包括所述信息处理设备的连接至所述中继服务器的多个信息处理设备的数量所创建的。在这种情况下,所述控制器可能能够控制所述存储单元存储定期接收到的重新连接信息中的最新的重新连接信息。此外,在所述信息处理设备和所述中继服务器之间的连接被切断的情况下,所述控制器可能能够基于所存储的重新连接信息来控制所述通信单元重新连接至所述中继服务器。
[0023]利用该结构,如果与中继器的连接由于任何故障而切断,则信息处理设备基于此时最新的所存储的重新连接信息来重新连接至中继服务器。由于此,连接至中继服务器的大量另一信息处理设备没有请求中继服务器同时重新连接,由此可以防止发生连接错误,并且减轻中继服务器的负荷。
[0024]所述通信单元可以接收与所述切断和所述重新连接之间的最大等待时间有关的信息作为所述重新连接信息。在这种情况下,所述控制器可以基于随机数来确定所述最大等待时间内的等待时间。此外,在经过了所确定的等待时间之后,所述控制器可以控制所述通信单元以重新连接至所述中继服务器。
[0025]利用该结构,如果信息处理设备从中继服务器接收到最大等待时间信息并且仅随机确定该最大等待时间内的等待时间,则可以防止在服务器处发生进一步的通信错误。
[0026]所述中继服务器可以响应于所发送的维持信号来回复包括与所述最大等待时间有关的信息的ACK。在这种情况下,所述通信单元可以接收所述ACK,并且所述控制器可以从所接收到的ACK获得与所述最大等待时间有关的信息。
[0027]利用该结构,可以防止由于来自中继服务器的与最大等待时间有关的信息的发送处理而导致通信负荷增加。
[0028]根据本技术的另一实施例的信息处理系统包括第一信息处理设备和第二信息处理设备。所述第一信息处理设备包括第一通信单元和第一控制器。所述第一通信单元能够经由所述第二信息处理设备与另一信息处理设备进行通信。第一控制器能够获得与所述第一通信单元的通信环境有关的通信环境信息,其中所述通信环境信息包括与对所述第一信息处理设备和所述第二信息处理设备之间的通信进行中继的通信中继设备有关的属性信息。此外,第一控制器能够基于所获得的通信环境信息来计算用以发送用以维持与所述第二信息处理设备的连接的维持信号的发送间隔。此外,第一控制器能够控制所述通信单元以按所计算出的发送间隔将所述维持信号发送至所述第二信息处理设备。所述第二信息处理设备包括第二通信单元和第二控制器。所述第二通信单元能够通过与所述第一通信单元进行通信来对所述第一信息处理设备和所述另一信息处理设备之间的通信进行中继。所述第二控制器能够控制所述第二通信单元接收从所述第一信息处理设备发送来的维持信号,并且响应于所述维持信号来将ACK发送至所述第一信息处理设备。
[0029]根据本技术的另一实施例的信息处理方法包括以下步骤:获得与信息处理设备的通信环境有关的通信环境信息,其中所述通信环境信息包括与对所述信息处理设备和网络上的中继服务器之间的通信进行中继的通信中继设备有关的属性信息。所述通信中继设备连接至能够经由所述中继服务器与另一信息处理设备进行通信的信息处理设备。所述方法还包括以下步骤:基于所获得的通信环境信息来计算用以发送用以维持与所述中继服务器的连接的维持信号的发送间隔。然后,按所计算出的发送间隔来将所述维持信号发送至所述中继服务器。
[0030]根据本技术的另一实施例的一种程序,用于使能够经由网络上的中继服务器与另一信息处理设备进行通信的信息处理设备执行获得步骤、计算步骤和发送步骤。在所述获得步骤中,获得与所述信息处理设备的通信环境有关的通信环境信息,其中所述通信环境信息包括与对所述信息处理设备和中继服务器之间的通信进行中继的通信中继设备有关的属性信息。在所述计算步骤中,基于所获得的通信环境信息来计算用以发送用以维持与所述中继服务器的连接的维持信号的发送间隔。在所述发送步骤中,按所计算出的发送间隔来将所述维持信号发送至所述中继服务器。
[0031]发明的效果
[0032]如上所述,根据本技术,可以减轻由于用以维持信息处理设备之间的连接的通信处理而产生的通信负荷。

【专利附图】

【附图说明】
[0033]图1是示出本技术的第一实施例的系统的网络结构的图。
[0034]图2是示出上述系统的消息服务器的硬件结构的框图。
[0035]图3是示出上述系统的装置的硬件结构的框图。
[0036]图4是示出上述系统的消息服务器的软件模块的结构的框图。
[0037]图5是示出上述系统的装置的软件模块的结构的框图。
[0038]图6是示出上述装置所执行的通信环境确定处理的流程的流程图。
[0039]图7是示出上述装置所执行的通信环境设置处理的流程的示例的流程图。
[0040]图8是示出上述装置所执行的通信环境设置处理的流程的另一示例的流程图。
[0041]图9是示出上述装置所执行的连接维持处理的流程的流程图。
[0042]图10是示出上述消息服务器所执行的处理的流程的流程图。
[0043]图11是示出本技术的第二实施例的系统的网络结构的图。
[0044]图12是示出第二实施例的系统的消息服务器的软件模块的结构的图。
[0045]图13是示出第二实施例的装置的软件模块的结构的图。
[0046]图14是示出根据第二实施例的通知手段的类型和与这些类型相对应的通知手段附加信息的示例的图。
[0047]图15是示出第二实施例的通知手段设置信息的示例的图。
[0048]图16是示出根据第二实施例的通知手段设置确定处理的流程的流程图。
[0049]图17示出根据第二实施例的用于创建通知手段设置信息的方法的图。
[0050]图18是示出第二实施例的消息服务器所执行的消息传送处理的流程的流程图。
[0051]图19是示出第二实施例的消息服务器所执行的通知手段确定处理的流程的流程图。
[0052]图20是示出在多个装置与消息服务器之间的恒定连接被切断的情况下各装置同时重新连接至消息服务器的示例的图。
[0053]图21是示出在多个装置与消息服务器之间的恒定连接被切断的情况下各装置在不同时间重新连接至消息服务器的示例的图。
[0054]图22是示出第三实施例的系统的消息服务器的软件模块的结构的图。
[0055]图23是示出第三实施例的系统的装置的软件模块的结构的图。
[0056]图24是示出第三实施例的装置所执行的重新连接设置处理的流程的流程图。
[0057]图25是示出第三实施例的装置所执行的重新连接处理的流程的流程图。
[0058]图26是示出第三实施例的消息服务器所执行的重新连接设置确定处理的流程的流程图。

【具体实施方式】
[0059]以下将参照附图来描述本技术的实施例。
[0060]第一实施例
[0061]首先,将说明本技术的第一实施例。
[0062]系统的网络结构
[0063]图1是示出本实施例的系统的网络结构的图。
[0064]如图1所示,该系统包括云中的消息服务器100和连接测试服务器200、以及能够经由WAN(广域网)50连接至这些服务器的多个装置300。
[0065]装置300可以是任何信息处理设备,诸如例如为智能电话、移动电话、平板式PC (个人计算机)、台式PC、笔记本式PC、PDA(个人数字助理)、移动AV播放器、电子书阅读器、数字静止照相机、便携式摄像机、电视机、PVR(个人视频记录器)、视频游戏控制台、自动导航系统或数字相框。图1仅示出两个装置(即装置300A和装置300B),但可以设置三个或更多个装置300。
[0066]各装置300经由通信中继设备350与上述消息服务器100和连接测试服务器200进行通信,或者不经由通信中继设备350而直接与这些服务器进行通信。各装置300能够始终连接至消息服务器100并与消息服务器100进行通信。
[0067]通信中继设备350被配置为执行内部(装置300侧)网络与外部(云侧)网络之间的通信中继功能,并且除非外部服务器没有采取针对这两个网络中所使用的地址的差异以及针对安全机构的特殊措施,否则确定特定的内部装置并使得该内部装置的连接禁用。这种通信中继设备350例如是NAT路由器、代理服务器或防火墙。
[0068]连接测试服务器200能够与各装置300进行通信。连接测试服务器200是用于在各装置300与消息服务器100之间的通信之前测试连接以预先防止通信被切断的服务器。注意,装置300可以使用或可以不使用连接测试服务器200。
[0069]图1示出云中只有一个消息服务器100,但可以设置多个消息服务器100。在这种情况下,多个消息服务器100可以中继来自装置300的消息。
[0070]也就是说,将多个消息服务器100中的特定消息服务器100作为待使用的服务器(负责服务器)分配至各装置300。可以采用任何分配方法,并且例如,可以基于各装置和各消息服务器的ID来分配消息服务器。如以下所述,如果消息服务器100接收到从装置300发送来的消息(该消息服务器100不负责该装置),则将该消息传送至负责该装置的另一消息服务器100。
[0071]消息服务器的硬件结构
[0072]图2是示出上述的消息服务器100的硬件结构的图。如图2所示,消息服务器100包括CPU(中央处理单元)11、R0M(只读存储器)12、RAM(随机存取存储器)13、输入/输出接口 15和连接这些组件的总线14。
[0073]CPUll根据需要适当访问RAM13等、执行各种算术处理,并且整体控制消息服务器100的各块。ROM12是存储有诸如由CPUll执行的OS和程序的固件以及各种参数的非易失性固定存储器。RAM13用作CPUll的工作区域等,并且临时存储OS、执行中的各种应用程序软件以及处理中的各种数据。
[0074]显示单元16、操作接收单元17、存储单元18和通信单元19等连接至输入/输出接口 15。
[0075]显示单元16是采用例如IXD(液晶显示器)、OELD(有机电致发光显示器)或CRT(阴极射线管)的显示装置。
[0076]操作接收单元17例如是诸如鼠标的指示装置、键盘、触摸板或其它输入设备。如果操作接收单元17是触摸板,则该触摸板和显示单元16可以一体构成。
[0077]存储单元18是例如HDD (硬盘驱动器)、闪速存储器(SSD:固态驱动器)或其它固态存储器等的非易失性存储器。存储单元18存储上述的OS、各种应用程序软件和各种数据。具体地,在本实施例中,存储单元18存储诸如后面所述的多个软件模块的程序。
[0078]通信单元19是用于连接WAN50的网络适配器(NIC)等,并且负责与装置300的通?目。
[0079]连接测试服务器的硬件结构
[0080]上述连接测试服务器200的硬件结构与上述的消息服务器的硬件结构类似,因而将省略针对该硬件结构的说明。在本实施例中,将连接测试服务器200的与上述消息服务器100的CPU11、存储单元18和通信单元19相对应的硬件模块分别称为CPU21、存储单元28和通信单元29。
[0081]装置的硬件结构
[0082]图3是示出上述装置300的硬件结构的图。如图3所示,装置300的硬件结构与上述的服务器100的硬件结构基本相同。也就是说,装置300包括CPU31、R0M32、RAM32、输入/输出接口 35、连接这些的总线34、显示单元36、操作接收单元37、存储单元38和通信单元39。这里,显示单元36可以内置于装置300中、或者从外部连接至装置300。
[0083]CPU31控制诸如存储单元38和通信单元39的各块、建立与消息服务器100和连接测试服务器200的通信,并且执行各种数据处理。
[0084]存储单元38存储诸如后面所述的多个软件模块的程序以及各种数据库。可以经由WAN50将这些程序提供至装置300,或者可以提供能够由装置300进行读取的存储介质中的程序。
[0085]各设备的模块的结构
[0086]消肩、服务器的模块的结构
[0087]图4是示出上述消息服务器100的软件模块的结构的图。
[0088]如图4所示,消息服务器100包括软件模块,即连接管理器101、连接维持模块102、消息(MSG)接收器103、消息传送模块104和消息发送器105。
[0089]连接管理器101与各装置300建立连接,并且管理所建立的所有连接。
[0090]连接维持模块102经由上述连接管理器101的连接建立用以维持与装置300的连接的通信(保持连接通信)。也就是说,连接维持模块102响应于从装置300发送来的保持连接包(连接维持信号)来回复ACK。
[0091]消息接收器103经由连接管理器101的连接从装置300接收消息(数据)。
[0092]消息传送模块104向其它消息服务器(未示出)传送消息,以将该消息发送至装置300,其中消息服务器100自身不负责装置300。
[0093]消息发送器105经由连接管理器101的连接将来自一个装置300的消息(数据)发送至另一装置300。
[0094]装置的模块的结构
[0095]图5是示出上述装置300的软件模块的结构的图。
[0096]如图5所示,装置300包括连接管理器301、连接维持模块302、消息接收器303、消息接收器304、通信环境确定模块305、通信设置确定模块306和通信设置管理器307。
[0097]连接管理器301与消息服务器100和连接测试服务器200建立连接,并且管理所建立的所有连接。
[0098]连接维持模块302经由上述连接管理器301的连接建立通信(保持连接通信),从而维持与消息服务器100的连接。也就是说,连接维持模块302按照以下所述的处理中确定的发送间隔将保持连接包(连接维持信号)发送至消息服务器100。
[0099]消息发送器303经由连接管理器301的连接将消息(数据)发送至消息服务器100和连接测试服务器200。
[0100]消息接收器304经由连接管理器301的连接从消息服务器100和连接测试服务器200接收消息(数据)。
[0101]通信环境确定模块305确定装置300的当前通信环境。后面将详细说明通信环境确定处理。
[0102]通信设置确定模块306基于通信环境确定模块305所确定的通信环境信息来确定各通信环境的通信设置。后面还将详细说明通信设置确定处理。
[0103]通信设置管理器307对上述通信设置确定模块306所确定的各通信环境的通信设置信息进行管理。
_4] 系统的操作
[0105]接着,将说明如上所述配置的系统的消息服务器100和装置300的操作。在本实施例和其它实施例中,CPU和CPU所控制并执行的上述各软件模块协作地执行消息服务器100或装置300的操作。
_6] 装置的操作
[0107]首先,将说明装置300的操作。
[0108]通信环境确定处理
[0109]首先,将说明通信环境确定处理。图6是示出装置300所执行的通信环境确定处理的流程的流程图。在进行图6的处理之前,建立装置300与消息服务器100之间的连接。
[0110]如图6所示,通信环境确定模块305确定通信状态是否发生了变化(步骤41)。
[0111]如果确定通信状态发生了变化(“是”),则通信环境确定模块305确定通信环境类型是“未知的”(步骤42)。
[0112]然后,通信环境确定模块305获得装置300的IP地址(步骤43)。
[0113]然后,通信环境确定模块305经由连接管理器301的连接,从消息服务器100获得WAN侧的IP地址信息(消息服务器100用于连接装置300的IP地址)(步骤44)。
[0114]然后,通信环境确定模块305确定所获得的装置300的IP地址与从上述消息服务器100所获得的WAN侧的IP地址是否相同(步骤45)。
[0115]如果确定装置300的IP地址与WAN侧的IP地址相同(“是”),则通信环境确定模块305确定通信环境类型是“全局IP” (步骤46)。
[0116]如果确定装置300的IP地址不同于WAN侧的IP地址(“否”),则通信环境确定模块305确定装置300是否使用代理服务器(步骤47)。
[0117]如果确定装置300使用代理服务器(“是”),则通信环境确定模块305确定通信环境类型是“代理”(步骤48)。
[0118]如果确定装置300没有使用代理服务器(“否”),则通信环境确定模块305确定装置300是否使用NAT路由器(步骤49)。
[0119]如果确定装置300使用NAT路由器(“是”),则通信环境确定模块305确定通信环境类型是“NAT路由器”(步骤50),并且从NAT路由器(通信中继设备305)获得路由器信息(步骤51)。
[0120]然后,通信环境确定模块305基于上述所确定的通信环境类型来获得通信环境信息,并且确定通信环境信息是否不同于上一次的设置(步骤52)。
[0121]此外,如果确定通信环境信息不同于上一次的设置(“是”),则通信环境确定模块305将通信环境信息发送至通信设置确定模块306 (步骤53)。
[0122]这里,通信环境信息是基于上述通信环境类型获得的,其唯一地确定通信环境,并且具体包括以下信息。
[0123]-通信状态
[0124]-WAN侧的IP地址/端口编号
[0125]-装置的IP地址/端口编号
[0126]-通信环境类型
[0127]-路由器信息(路由器的型号名称/MAC地址/与UPnPI⑶有关的对应信息等)
[0128]通信设置确定处理
[0129]接着,将说明基于上述通信环境信息的通信设置确定处理。可以根据装置300在与消息服务器100通信之前是否使用上述连接测试服务器200来采用两种通信设置确定处理之一。
[0130](通信设置确定处理(I))
[0131]图7是示出在装置300没有使用连接测试服务器200的情况下的通信设置确定处理的流程的流程图。
[0132]如图7所示,装置300的通信设置确定模块306等待从通信环境确定模块305输入的通信环境信息(步骤61)。
[0133]如果从通信环境确定模块305获得了上述通信环境信息(步骤62中为“是”),则通信设置确定模块306从上述通信设置管理器307获得与该通信环境信息相对应的通信设置信息(步骤63)。
[0134]这里,通信设置信息包括上述通信环境信息,并且还包括用于确定保持连接通信的必要性和保持连接包的发送间隔的信息(以下还称为保持连接必要性/间隔)。
[0135]如果确定不存在相应的通信设置信息(步骤64中为“是”),则通信环境确定模块305基于上述通信环境信息来设置默认的保持连接必要性/间隔,并且创建通信设置信息(步骤65)。此外,通信环境确定模块305将该通信设置信息输出至通信设置管理器307 (步骤 66)。
[0136]如果存在上述相应的通信环境信息(步骤64中为“否”)、并且如果基于上述默认设置创建的通信环境信息被输出至通信设置管理器307,则通信设置确定模块306将通信设置信息输出至连接维持模块302 (步骤67)。
[0137]然后,通信设置确定模块306确定是否从连接管理器301获得了连接状态变化信息(步骤68) ο
[0138]如果获得了上述连接状态变化信息(“是”),则通信设置确定模块306基于该连接状态变化信息来确定与消息服务器100的连接是否被切断(步骤69)。
[0139]如果确定与连接服务器100的连接被切断,则通信设置确定模块306经由连接管理器301重新连接至消息服务器100 (步骤70)。
[0140]然后,通信设置确定模块306从连接管理器301获得直到当前时间(连接切断时间)为止与消息服务器100的连接持续时间(步骤71)。
[0141]然后,通信设置确定模块306基于上述所获得的连接持续时间来重新计算保持连接必要性/间隔(步骤72)。也就是说,通信设置确定模块306例如计算与连接持续时间相同的时间作为保持连接间隔。然而,保持连接包的发送间隔可能略短于上述的连接持续时间(减去了预定时间)。
[0142]然后,通信设置确定模块306基于上述重新计算出的保持连接必要性/间隔来确定是否需要更新上述通信设置信息,即是否改变先前计算出的通信设置信息(步骤73)。
[0143]如果确定需要更新通信设置信息(“是”),则通信设置确定模块306将反映了上述重新计算出的信息的通信设置信息输出至通信设置管理器307和连接维持模块302 (步骤 74)。
[0144]通信设置确定处理(2)
[0145]图8是示出在装置300使用连接测试服务器200的情况下的通信设置确定处理的流程的流程图。不同于上述图7的情况,在图8的处理中,装置300连接至连接测试服务器200。
[0146]如图8所示,步骤81?86的处理与图7的上述步骤61?66的处理类似。
[0147]在上述的步骤86中输出通信设置信息之后,通信设置确定模块306经由连接管理器301连接至上述的连接测试服务器200 (步骤87)。
[0148]与图7的上述情况类似,然后,通信设置确定模块306将通信设置信息输出至连接维持模块302 (步骤88),并且确定是否从连接管理器301获得了连接状态变化信息(步骤89)。
[0149]如果确定获得了连接状态变化信息(“是”),则通信设置确定模块306基于连接状态变化信息来确定与连接测试服务器200的连接是否被切断(步骤90)。
[0150]然后,通信设置确定模块306确定与连接测试服务器200的连接测试的次数是否达到预定的次数(步骤91),如果没有(“否”),则连接管理器301重新连接至连接测试服务器200。
[0151]如果在上述步骤91中确定测试次数达到预定的次数(“是”),或者如果在上述步骤92中重新连接了连接测试服务器200,则执行与上述图7的步骤71?74类似的处理(步骤92?96)。
[0152]也就是说,通信设置确定模块306基于直到当前时间(连接切断时间)为止与连接测试服务器200的连接持续时间来重新计算保持连接必要性/间隔,并且如果确定需要更新通信设置信息,则将该通信设置信息输出至通信设置管理器307和连接维持模块302。
[0153]连梓维持处理
[0154]接着,将说明基于上述的通信设置信息的连接维持处理。图9是示出装置300所执行的连接维持处理的流程的流程图。
[0155]首先,装置300的连接维持模块302等待从上述通信设置确定模块306输入的通信设置信息或来自计时器的通知(步骤101)。
[0156]如果输入了通信设置信息(步骤102中为“是”),则连接维持模块302从该通信设置信息获得保持连接必要性和发送间隔信息(步骤103)。
[0157]然后,连接维持模块302确定是否针对保持连接必要性设置了“有必要”(步骤
104)。
[0158]如果确定针对保持连接必要性设置了 “有必要”,则对计时器进行设置,以使得在自上次将保持连接包发送至消息服务器100起经过了保持连接间隔之后进行通知(步骤
105)。
[0159]如果从计时器发出了上述通知(步骤106中为“是”),则连接维持模块302对计时器进行复位,以使得在经过了上述的保持连接间隔之后计时器将进行通知(步骤107)。
[0160]然后,连接维持模块302将保持连接包发送至消息服务器100 (步骤108),并且从消息服务器100接收保持连接包的确认(ACK)(步骤109)。
[0161]消息服务器的操作
[0162]接着,将说明消息服务器100的操作。图10是示出消息服务器100的操作的流程的流程图。
[0163]如图10所示,消息服务器100的连接维持模块102等待接收来自连接管理器101的保持连接包(步骤111)。
[0164]然后,如果接收到保持连接包(步骤112中为“是”),则连接维持模块102响应于该保持连接包将ACK包发送至装置300 (步骤113)。
[0165]益论
[0166]如上所述,根据本实施例,装置300基于在与消息服务器100或连接测试服务器200的连接实际切断的情况下的连接持续时间来确定保持连接间隔,并且发送保持连接包。由于此,与不论通信环境如何均按恒定间隔发送保持连接包的情况相比,减轻了消息服务器100和装置300所建立的保持连接通信的通信负荷。
[0167]第二实施例
[0168]接着,将说明本技术的第二实施例。在本实施例中,除非另外说明,否则结构与上述第一实施例的结构相同。此外,在本实施例中,将利用相同的附图标记来表不与上述第一实施例的功能和结构相同的功能和结构,并且将省略或简化针对这些功能和结构的说明。
[0169]图11是示出本实施例的系统的网络结构的图。
[0170]在本实施例中,消息服务器100具有向装置300 (即,消息目的地)通知如下通知消息的功能:该通知消息用于通知存在从一个装置300发送至另一装置300的数据(消息)。依据装置300的通信环境(例如,通信中继设备350的规格等),可能存在多种用于通知的手段。
[0171]在与消息服务器100进行通信之前,各装置300根据通信环境预先将通知手段设置信息发送至消息服务器100,并且使消息服务器100设置通知手段,其中,通知手段设置信息用于设置消息服务器100发送通知消息所使用的通知手段。
[0172]此外,消息服务器100可以发送上述通知消息,或者独立地设置在云中的通知服务器400可以发送该通知消息。
[0173]设置通知服务器400,从而在由于存在上述通信中继设备350而无法与外部设备(消息服务器100)建立直接通信的情况下,将上述通知消息发送至装置300。通知服务器400能够经由WAN50与消息服务器100和各装置300进行通信。如果装置300使用通知服务器400,则装置300始终连接至通知服务器400,并且根据需要连接至消息服务器100。
[0174]消息服务器的软件结构
[0175]图12是示出本实施例的消息服务器100的软件模块的结构的图。
[0176]如图12所示,除上述第一实施例的消息服务器100的模块结构(图4)以外,本实施例还包括附加的软件模块,即通知手段设置接收器106、通知手段设置管理器107、通知手段确定模块108和连接请求通知模块109。
[0177]通知手段设置接收器106接收从装置300所发送的上述通知手段设置信息。
[0178]通知手段设置管理器107管理从上述装置300所接收的通知手段设置信息。存储单元18存储通知手段设置信息。
[0179]在与装置300进行通信的情况下,通知手段确定模块108基于由通知手段设置管理器107管理的上述信息来确定要使用的通知手段。
[0180]连接请求通知模块109基于由通知手段确定模块108确定的上述通知手段将通知消息实际发送至装置300。
[0181]此外,在本实施例中,连接管理器101不仅管理与装置300的连接,而且还管理与通知服务器400的连接。
[0182]装置的软件结构
[0183]图13是示出本实施例的装置300的软件模块的结构的图。
[0184]如图13所示,除上述第一实施例的装置300的模块结构(图5)以外,本实施例还包括通知等待模块308、通知手段设置发送器309、通知手段设置确定模块310和通知手段设置管理器311。
[0185]通知等待模块308等待从消息服务器100或通知服务器400发送来的通知消息。
[0186]通知手段设置确定模块310基于与装置300有关的通信环境信息来确定适当的通知手段,并且创建或更新通知手段设置信息。
[0187]通知手段设置发送器309将上述所创建或更新的通知手段设置信息发送至消息服务器100。
[0188]通知手段设置管理器311管理上述所创建或更新的通知手段设置信息。
[0189]此外,在本实施例中,连接管理器301不仅管理与消息服务器100的连接,而且还管理与通知服务器400的连接。
[0190]通知手段和通知手段设置信息的类型
[0191]接着,将说明本实施例中的上述通知手段的类型和上述通知手段设置信息。
[0192]图14是示出上述通知手段的类型和与这些类型相对应的通知手段附加信息的示例的图。
[0193]如图14所示,本实施例的通知手段类型包括“通知服务器”、“全局IP”、“路由器UPnP I⑶”、“路由器用户设置”、“代理服务器”、“邮件”和“轮询”这七个类型。
[0194]“通知服务器”表示消息服务器100能够经由通知服务器400连接至各装置300。如果各装置300经由不支持以下所述的NAT穿越机制等的常规的通信中继设备350连接至云侧,则使用该通知手段。
[0195]“全局IP”表示以下:将全局IP地址分配至装置300 (例如,移动装置),并且消息服务器100能够不经由通信中继设备350而直接连接至装置300。在该条目中,输入装置300的全局IP地址和端口编号作为附加信息。
[0196]“路由器UPnP I⑶”表示以下:NAT路由器(通信中继设备350)能够响应于来自连接至NAT路由器的装置300的指示而设置将来自外部的通信传送至内部装置300,并且使消息服务器100和装置300经由通信中继设备350相连接。具体地,这意味着NAT路由器(即通信中继设备350)支持UPnP I⑶协议的NAT穿越机制的情况。在这种情况下,对NAT路由器进行设置,以使得内部装置300与消息服务器100协作地确定WAN50侧的端口编号和LAN侧的端口编号,并且将WAN50侧的端口编号传送至LAN侧的IP地址/端口编号。消息服务器100存储WAN侧的IP地址和端口编号作为附加信息,并且在与装置300进行通信的情况下使用所存储的IP地址和端口编号。
[0197]“路由器用户设置”表示能够不响应于来自装置300的指示而由用户利用端口转发机构手动建立与“UPnP I⑶”类似的传送设置。同样,在这种情况下,存储所设置的IP地址和端口编号作为附加信息。
[0198]“代理服务器”表示消息服务器100能够经由装置300侧的代理服务器与装置300进行通信。在这种情况下,存储代理服务器的IP地址和端口编号作为附加信息。
[0199]“邮件”表示消息服务器100通过电子邮件来将通知消息发送至装置300。在这种情况下,存储装置300的用户的电子邮件地址作为附加信息。
[0200]“轮询”表示装置300对消息服务器100进行轮询,由此发送通知消息。
[0201]图15是示出上述的通知手段设置信息的示例的图。
[0202]图15的㈧、⑶、(C)、⑶和(E)示出在通知手段类型分别是“全局IP”、“路由器UPnP I⑶”、“代理服务器”、“通知服务器”和“邮件”的情况下的通知手段设置信息的示例。
[0203]如图15所示,通知手段设置信息包括以下项:即,唯一地标识装置300的装置ID、通知手段类型、通知手段附加信息、有效期限、通信环境信息和优先级。通信环境信息与上述第一实施例所述的通信环境信息相同。后面将说明优先级。
[0204]系统的操作
[0205]接着,将说明如上所述配置的系统中的消息服务器100和装置300的操作。
[0206]装置的操作
[0207]首先,将说明本实施例的装置300的操作。
[0208]通知手段设置确定处理
[0209]图16是示出本实施例的通知手段设置确定处理的流程的流程图。
[0210]如图16所示,首先,装置300的通知手段设置确定模块310等待从通信环境确定模块305输入的通信环境信息(步骤161)。
[0211]如果获得了通信环境信息(步骤162中为“是”),则通知手段设置确定模块310从通知手段设置管理器311获得与该通信环境信息相对应的通知手段设置信息(步骤163)。
[0212]这里,如果不存在相应的通知手段设置信息(步骤164中为“是”),则通知手段设置确定模块310基于上述通信环境信息来创建相应的通知手段设置信息(步骤165)。
[0213]然后,通知手段设置确定模块310将所创建的通知手段设置信息输出至上述通知手段设置管理器311 (步骤166)。
[0214]将上述通知手段设置信息从通知手段设置发送器309发送至消息服务器100。如果存在多种要使用的通知手段设置信息,则将所有的通知手段设置信息发送至消息服务器100。
[0215]图17是示出用于创建上述通知手段设置信息的方法的图。
[0216]如图17所示,在本实施例中,基于通信环境类型来固定地确定通知手段和优先级。
[0217]也就是说,如果通信环境类型是“全局IP”,则通知手段类型是“全局IP”并且优先级是100。
[0218]如果通信环境类型是NAT路由器并且支持UPnP I⑶,则通知手段类型是“路由器/UPnP I⑶”并且优先级是200。
[0219]如果通信环境类型是NAT路由器并且用户可以建立NAT设置,则通知手段类型是“路由器用户设置”并且优先级是200。
[0220]如果通信环境类型是NAT路由器但不支持NAT设置,则通知手段类型是“通知服务器”并且优先级是200。
[0221]如果通信环境类型是代理服务器,则通知手段类型是“通知服务器”并且优先级是200。
[0222]如果通信环境类型不同于上述类型并且支持利用轮询的通知,则通知手段类型是“轮询”并且优先级是300。
[0223]如果通信环境类型不同于上述类型并且支持通过电子邮件的通知,则通知手段类型是“邮件”并且优先级是500。
[0224]如以下所述,消息服务器100使用优先级作为选择多个可用通知手段之一的标准。数值越小,则优先级越高。
[0225]然而,作为创建通知手段设置信息的方法(确定通知手段和优先级的方法),可以采用任何方法,只要基于通信环境信息来创建与通知手段和优先级有关的适当信息即可。
[0226]消息服务器的操作
[0227]接着,将说明本实施例的消息服务器100的操作。
[0228]消息传送处理
[0229]图18是示出消息服务器100所执行的消息传送处理的流程的流程图。
[0230]首先,消息服务器100的消息接收器103经由连接管理器101的连接接收来自装置3OO(3OOA)的消息(步骤181)。
[0231]然后,消息传送模块104确定该消息是否要由另一消息服务器来处理(步骤182)。
[0232]如果确定上述消息是要由另一消息服务器来处理的消息(“是”),则消息传送模块104将该消息传送至消息发送器105 (步骤184)。
[0233]如果确定上述消息不是要由另一消息服务器来处理的消息(“否”),则消息传送模块104确定该消息是否是自身要处理的(用于消息服务器100的)消息(步骤185)。
[0234]如果确定上述消息是要由消息服务器100来处理的消息(“是”),则消息传送模块104处理该消息(步骤186)。
[0235]如果确定上述消息不是要由消息服务器100来处理的消息(是用于另一装置300(300B)的消息)(“否”),则消息发送器105经由连接管理器101确认是否存在与装置300B (即消息目的地)的连接(步骤187)。
[0236]如果确定不存在与装置300B (即消息目的地)的连接(“否”),则消息发送器105请求通知手段确定模块108发送与上述消息有关的通知消息(步骤189)。结果,通知手段确定模块108执行以下所述的通知手段确定处理。
[0237]然后,消息发送器105等待建立经由连接管理器101与装置300B (即消息目的地)的连接(步骤190)。
[0238]然后,消息发送器105经由连接管理器101的连接来将上述消息发送至装置300B(即目的地)(步骤191)。
[0239]通知手段确定处理
[0240]图19是示出消息服务器100所执行的通知手段确定处理的流程的流程图。
[0241]如图19所示,通知手段确定模块108从通知手段设置管理器107获得与装置300 (即消息目的地)相对应的通知手段设置信息(步骤201)。
[0242]然后,通知手段确定模块108确认上述图15中的通知手段设置信息的应用条件和有效期限,并且选择有效条目(或多个有效条目)作为目标条目(多个目标条目)(步骤202)。
[0243]这里,如果不存在目标条目(步骤203中为“是”),则通知手段确定模块108终止该处理。
[0244]如果存在目标条目(步骤203中为“否”),则通知手段确定模块108从上述通知手段设置信息中检索优先级最高(值最小)的条目(或多个条目)(步骤204)。
[0245]通知手段确定模块108并行使用所检索到的多个条目的通知手段,并且通过同步并行处理来经由连接请求通知模块发送通知消息(步骤205)。
[0246]然后,通知手段确定模块108确定是否成功执行了上述多个发送处理之一(步骤206),并且如果成功执行了任何处理(“是”),则终止该处理,或者如果没有成功执行处理(“否”),则重复上述的步骤203及其之后的处理。
[0247]益论
[0248]如上所述,根据本实施例,装置300预先将多个通知手段设置信息发送至消息服务器100,并且消息服务器100组合这些通知手段并且发送通知消息。结果,由于不必在每次移动装置300时均与装置300进行通信以改变通知手段,因此可以防止由于这种通信而对消息服务器100施加负荷。
[0249]也就是说,如果通知手段由于装置300移动而改变,则由于消息服务器100并行执行预先通知的多个通知手段,因而装置300不发送新的通知手段设置信息。装置300只有在添加全新的通信环境的情况下或者在需要改变现有的通知手段设置的情况下,才需要将新的通知手段设置信息发送至消息服务器100。
[0250]第三实施例
[0251]接着,将说明本技术的第三实施例。在本实施例中,除非另外说明,否则结构与上述的第一实施例和第二实施例相同。此外,在本实施例中,将利用相同的附图标记来表不与上述的第一实施例和第二实施例的功能和结构相同的功能和结构,并且将省略或简化针对这些结构和功能的说明。
[0252]图20是示出在多个装置300与消息服务器100之间的恒定连接被切断的情况下、各装置300同时重新连接至消息服务器100的示例的图。图21是示出在多个装置300与消息服务器100之间的恒定连接被切断的情况下、各装置300在不同的时间重新连接至消息服务器100的示例的图。
[0253]根据上述的第一实施例,通过保持连接通信来维持消息服务器100与装置300之间的恒定连接。然而,如果消息服务器100故障,则消息服务器100与装置300之间的恒定连接完全切断。
[0254]在这种情况下,如图20所示,如果各装置300等待服务器恢复然后开始重新连接处理、并且如果消息服务器100支持与庞大数量的装置的同时连接,则重新连接处理聚集。然后,消息服务器100延迟连接建立处理,并且发生连接错误。
[0255]然后,各装置300等待预定的时间段并且尝试再次重新连接至消息服务器100,但这里各装置300同时尝试重新连接至消息服务器100,并且进一步反复发生连接错误。
[0256]另一方面,如图21所示,如果各装置300使用在预定时间段的重新连接等待时间内随机选择各装置300的重新连接时刻的机制,则可以解决上述图20的问题。
[0257]然而,如果始终连接至消息服务器100的装置300的数量没有改变,则容易适当地设置重新连接等待时间。然而,在大量装置300移动并且连接模式改变的环境下,要设置的值总是变化,因而可能难以设置重新连接等待时间。
[0258]鉴于此,根据本实施例,依据与装置300的恒定连接状态,消息服务器100重新计算重新连接等待时间并且通知各装置300。
[0259]例如,响应于从各装置300发送来的保持连接包而将与上述重新连接等待时间有关的信息写入ACK包中。
[0260]图22是示出本实施例的系统的消息服务器100的软件模块的结构的图。
[0261]如图22所示,除上述第二实施例的消息服务器100的模块结构(图12)以外,本实施例还包括重新连接设置确定模块110。
[0262]重新连接设置确定模块110定期从连接管理器101获得与消息服务器100的恒定连接有关的信息、确定适当的重新连接等待时间,并且经由连接维持模块102通知重新连接等待时间。
[0263]图23是示出本实施例的系统的装置300的软件模块的结构的图。
[0264]如图23所示,除上述第二实施例的装置300的模块结构(图13)以外,本实施例还包括重新连接设置管理器312。
[0265]重新连接设置管理器312管理经由连接维持模块302所获得的重新连接设置,并且设置连接管理器301。将该重新连接设置信息存储在上述的存储单元38中,并且在每次接收到来自消息服务器100的最新的重新连接设置信息时对其进行更新。
[0266]系统的操作
[0267]接着,将说明在如上所述配置的系统中的消息服务器100与装置300的操作。
[0268]装置的操作
[0269]首先,将说明本实施例的装置300的操作。
[0270]重新连接设置处理
[0271]图24是示出装置300所执行的重新连接设置处理的流程的流程图。
[0272]如图24所示,装置300的连接维持模块302按上述第一实施例所示的发送间隔将保持连接包发送至消息服务器100 (步骤241)。
[0273]然后,连接维持模块302响应于上述保持连接包从消息服务器100接收ACK包(步骤 242)。
[0274]然后,连接维持模块302获得上述ACK包中所描述的新的重新连接等待时间信息(T_backoff)(步骤 243)。
[0275]然后,连接维持模块302将所获得的重新连接等待时间信息(T_backoff)设置到连接管理器101 (步骤244)。
[0276]重新连梓处理
[0277]图25是示出装置300所执行的重新连接处理的流程的流程图。
[0278]如图25所示,首先,装置300的连接管理器101等待与消息服务器100的连接状态发生改变(步骤251)。
[0279]然后,连接管理器101确定与连接管理器101的连接是否被切断(步骤252)。
[0280]如果确定上述连接被切断(“是”),则连接管理器101等待重新连接最小等待时间(T_min)(步骤253)。该重新连接最小等待时间(T_min)通常是针对各装置300统一确定的。
[0281]然后,连接管理器101将从上述的消息服务器100所获得的重新连接等待时间信息(T_backoff)设置为最新的重新连接等待时间(T_cur_backoff)(步骤254)。
[0282]然后,连接管理器101通过使用随机数来确定T,其中0〈T ( T_cur_backoff成立(步骤255)。
[0283]然后,连接管理器101等待由上述T所表示的时间(步骤256),并且请求重新连接至连接管理器101 (步骤257)。
[0284]然后,连接管理器101确定是否建立了与消息服务器100的连接(步骤258)。
[0285]如果没有建立上述连接(“否”),则连接管理器101将T_max_backoff和T_cur_back*2中的较小一个设置为最新的重新连接等待时间(T_cur_backoff)(步骤259),并且重复上述的步骤253及其之后的处理。这里,T_max_backoff是针对装置300预先设置的最大重新连接等待时间。
[0286]消息服务器的操作
[0287]接着,将说明本实施例的消息服务器100的操作。
[0288]重新连接设置确定处理
[0289]图26是示出消息服务器100所执行的重新连接设置确定处理的流程的流程图。
[0290]如图26所示,消息服务器100的重新连接设置确定模块110从连接管理器101获得装置300的当前恒定连接数(N)(步骤261)。
[0291]然后,重新连接设置确定模块110通过使用以下公式,基于当前恒定连接数(N)来计算重新连接等待时间(T_backoff)。
[0292]T_backoff = f_backoff(N)
[0293]这里,例如,通过使用以下公式,基于表示消息服务器100在每单位时间内的可处理性的连接开始请求(N_max_conn_req)来计算f_backoff (N)。
[0294]f_backoff(N) = N/N_max_conn_req
[0295]然后,重新连接设置确定模块110确定所计算出的T_backoff是否不同于最后的值(步骤263)。
[0296]如果确定T_backoff不同于最后的值,贝U重新连接设置确定模块110将重新连接等待时间(T_backoff)写入与上述保持连接包相对应的ACK中,并且经由连接维持模块302将该ACK发送至装置300。
[0297]益论
[0298]如上所述,根据本实施例,如果消息服务器100故障,则消息服务器100基于此时所有装置300的连接状态来确定用于重新连接的设置,并且通知各装置300。结果,可以防止在消息服务器100恢复之后装置300的重新连接集中,并且防止进一步发生连接故障。
[0299]此外,结果,消息服务器100能够根据在恢复发生故障的消息服务器100之后重新连接至消息服务器100的装置300的数量来防止发生通信错误,并且各装置300能够在适当的重新连接时间建立正常的连接状态。
[0300]此外,消息服务器100响应于从各装置300发送的用于维持连接的保持连接包而将重新连接等待时间写入ACK。也就是说,由于不仅仅是为了通知重新连接等待时间而新进行通信,因此即使在存在大量装置300 (诸如移动装置)移动的环境下,即使在发生故障时没有增加通常的通信负荷的情况下,也可以恢复最适当设置的条件。
[0301]示例
[0302]本技术不限于上述实施例,而且可以在本技术的主旨内进行各种改变。
[0303]根据上述第一实施例,在云中仅示出一个连接测试服务器200(图1),但可以设置多个连接测试服务器200,或者可以预先确定各装置300专用的连接测试服务器200。
[0304]根据上述第二实施例,如果消息服务器100能够使用多个通知手段,则消息服务器100同时并行执行具有最高优先级的通知手段。然而,消息服务器100可以不依赖于优先级而按顺序执行多个通知手段,或者同时并行执行所有的通知手段。
[0305]根据上述的第三实施例,将与重新连接等待时间有关的信息写入与保持连接包相对应的ACK包中,但可以独立于ACK而发送该信息。
[0306]根据上述的第三实施例,消息服务器100从连接管理器101获得此时的装置300的恒定连接数(N),并且基于表示消息服务器100在每单位时间内的可处理性的连接开始请求(N_max_conn_req)来计算f_backoff (N)。然而,可以使用与从连接管理器101所获得的连接有关的任何信息,并且可以使用基于其来计算T_backofT的任何计算公式f_backoff O ο
[0307]根据上述的各实施例,各装置300的消息发送器303和消息接收器304是独立的模块,但可以采用一个共用的连接模块。
[0308]根据上述的各实施例,装置300 —律经由消息服务器100向另一装置300发送消息,或从另一装置300接收消息。然而,基于该消息机制,可以将诸如RPC(远程程序调用)机制、流通信机制和进一步的HTTP仿真的通信机制提供至各装置300的应用程序软件。
[0309]根据上述的第二实施例,消息服务器100是物理上与通知服务器400不同的服务器。然而,由于这两者之间的不同基于缓冲器大小和用以处理与各装置300的连接的方式,因此即使在物理上不同的服务器不执行处理,以下模式也得到相同的效果。
[0310](I)单个服务器机器执行通知服务器的处理和消息服务器的处理这两者。
[0311](2)单个服务器机器执行包括通知服务器的功能和消息服务器的功能的一个服务器处理(以根据与装置300的通信状态来在与通知服务器相对应的连接模式和与消息服务器相对应的连接模式之间进行改变)。
[0312]上述的第一实施例至第三实施例的各技术可以单独执行,并且只要这些技术没有彼此不兼容则可以自由地组合并执行。
[0313]服记
[0314]本技术可以采用以下的结构。
[0315](I) 一种信息处理设备,包括:
[0316]通信单元,其能够经由网络上的中继服务器与另一信息处理设备进行通信;以及
[0317]控制器,所述控制器能够执行如下操作:
[0318]能够获得表示所述通信单元的通信环境的通信环境信息,所述通信环境信息包括与对所述通信单元和所述中继服务器之间的通信进行中继的通信中继设备有关的属性信息,
[0319]能够基于所获得的通信环境信息来计算用以发送用于维持与所述中继服务器的连接的维持信号的发送间隔,以及
[0320]能够控制所述通信单元按照所计算出的发送间隔将所述维持信号发送至所述中继服务器。
[0321](2)根据上述项⑴所述的信息处理设备,其中,
[0322]在所述通信单元连接至所述中继服务器之后,如果所述通信中继设备切断了该连接,则所述控制器计算该连接和该切断之间的持续时间,并且基于所计算出的持续时间来计算所述维持信号的发送间隔。
[0323](3)根据上述项⑴或(2)所述的信息处理设备,其中,
[0324]所述通信单元能够与所述网络上的连接测试服务器进行通信,以及
[0325]在所述通信单元连接至所述连接测试服务器之后,如果所述通信中继设备切断了该连接,则所述控制器计算该连接与该切断之间的持续时间,并且基于所计算出的持续时间来计算所述维持信号的发送间隔。
[0326](4)根据上述项⑴至(3)中的任意一项所述的信息处理设备,其中,
[0327]所述通信单元能够从所述中继服务器接收通知消息,所述通知消息通知存在从所述另一信息处理设备发送至所述信息处理设备的数据,
[0328]所述控制器能够根据所述通信环境创建为了所述中继服务器连接至所述信息处理设备以及发送所述通知消息而要设置的设置消息,并且能够控制所述通信单元将所创建的设置信息发送至所述中继服务器,以及
[0329]所述中继服务器存储所发送的设置信息,并且基于所存储的设置信息来发送所述通知消息。
[0330](5)根据上述项⑷所述的信息处理设备,其中,
[0331]所述控制器能够根据所述通信环境的变化来更新所创建的设置信息,并且能够控制所述通信单元将更新后的设置信息发送至所述中继服务器,以及
[0332]所述中继服务器利用更新后并发送的设置信息来更新所存储的设置信息。
[0333](6)根据上述项⑷或(5)所述的信息处理设备,其中,
[0334]所述控制器能够执行以下操作:
[0335]能够预先创建根据所述通信环境的变化而要创建的多个所述设置信息,
[0336]能够控制所述通信单元将所创建的多个所述设置信息发送至所述中继服务器,
[0337]在所述通信环境发生了变化并且所发送的多个所述设置信息均不与变化之后的通信环境相对应的情况下,所述控制器能够创建与变化之后的通信环境相对应的新的设置?目息,以及
[0338]能够控制所述通信单元将所创建的新的设置信息发送至所述中继服务器,以及
[0339]所述中继服务器存储所发送的多个所述设置信息,并且基于所存储的多个所述设置信息中的至少一个来发送所述通知消息。
[0340](7)根据上述项(I)至¢)中的任意一项所述的信息处理设备,还包括:
[0341]存储单元,其中
[0342]所述通信单元能够从所述中继服务器定期接收重新连接信息,所述重新连接信息与在所述信息处理设备和所述中继服务器之间的连接被切断的情况下所述信息处理设备重新连接至所述中继服务器的时刻有关,所述重新连接信息是根据包括所述信息处理设备的连接至所述中继服务器的多个信息处理设备的数量而创建的,以及
[0343]所述控制器能够执行以下操作:
[0344]能够控制所述存储单元存储定期接收到的重新连接信息中的最新的重新连接信息,以及
[0345]在所述信息处理设备和所述中继服务器之间的连接被切断的情况下,能够基于所存储的重新连接信息来控制所述通信单元重新连接至所述中继服务器。
[0346](8)根据上述项(7)所述的信息处理设备,其中,
[0347]所述通信单元接收与所述切断和所述重新连接之间的最大等待时间有关的信息作为所述重新连接信息,以及
[0348]所述控制器基于随机数来确定所述最大等待时间内的等待时间,以及
[0349]在经过了所确定的等待时间之后,所述控制器控制所述通信单元重新连接至所述中继服务器。
[0350](9)根据上述项⑶所述的信息处理设备,其中,
[0351]所述中继服务器响应于所发送的维持信号来回复包括与所述最大等待时间有关的信息的ACK,
[0352]所述通信单元接收所述ACK,以及
[0353]所述控制器从所接收到的ACK获得与所述最大等待时间有关的信息。
[0354]附图标记说明
[0355]11, 21, 31 CPU
[0356]18,28,38 存储单元
[0357]19,29,39 通信单元
[0358]50WAN
[0359]100消息服务器
[0360]101连接管理器
[0361]102连接维持模块
[0362]103消息接收器
[0363]104消息传送模块
[0364]105消息发送器
[0365]106通知手段设置接收器
[0366]107通知手段设置管理器
[0367]108通知手段确定模块
[0368]109连接请求通知模块
[0369]110重新连接设置确定模块
[0370]200连接测试服务器
[0371]300(300A, 300B)装置
[0372]301连接管理器
[0373]302连接维持模块
[0374]303消息发送器
[0375]304消息接收器
[0376]305通信环境确定模块
[0377]306通信设置确定模块
[0378]307通信设置管理器
[0379]308通信等待模块
[0380]309通知手段设置发送器
[0381]310通知手段设置确定模块
[0382]311通知手段设置管理器
[0383]312重新连接设置管理器
[0384]350(350A, 350B)通信中继设备
[0385]400通知服务器
【权利要求】
1.一种信息处理设备,包括: 通信单元,其能够经由网络上的中继服务器与另一信息处理设备进行通信;以及 控制器,所述控制器能够执行如下操作: 能够获得表示所述通信单元的通信环境的通信环境信息,所述通信环境信息包括与对所述通信单元和所述中继服务器之间的通信进行中继的通信中继设备有关的属性信息,能够基于所获得的通信环境信息来计算用以发送用于维持与所述中继服务器的连接的维持信号的发送间隔,以及 能够控制所述通信单元按照所计算出的发送间隔将所述维持信号发送至所述中继服务器。
2.根据权利要求1所述的信息处理设备,其中, 在所述通信单元连接至所述中继服务器之后,如果所述通信中继设备切断了该连接,则所述控制器计算从该连接到该切断的持续时间,并且基于所计算出的持续时间来计算所述维持信号的发送间隔。
3.根据权利要求1所述的信息处理设备,其中, 所述通信单元能够与所述网络上的连接测试服务器进行通信,以及在所述通信单元连接至所述连接测试服务器之后,如果所述通信中继设备切断了该连接,则所述控制器计算从该连接到该切断的持续时间,并且基于所计算出的持续时间来计算所述维持信号的发送间隔。
4.根据权利要求1所述的信息处理设备,其中, 所述通信单元能够从所述中继服务器接收通知消息,所述通知消息通知存在从所述另一信息处理设备发送至所述信息处理设备的数据, 所述控制器能够根据所述通信环境创建设置消息,并且能够控制所述通信单元将所创建的设置信息发送至所述中继服务器,所述设置信息被设置为使得所述中继服务器能够连接至所述信息处理设备以及发送所述通知消息,以及 所述中继服务器存储所发送的设置信息,并且基于所存储的设置信息来发送所述通知消息。
5.根据权利要求4所述的信息处理设备,其中, 所述控制器能够根据所述通信环境的变化来更新所创建的设置信息,并且能够控制所述通信单元将更新后的设置信息发送至所述中继服务器,以及 所述中继服务器利用更新后并发送的设置信息来更新所存储的设置信息。
6.根据权利要求4所述的信息处理设备,其中, 所述控制器能够执行以下操作: 能够预先创建根据所述通信环境的变化而要创建的多个所述设置信息, 能够控制所述通信单元将所创建的多个所述设置信息发送至所述中继服务器, 在所述通信环境发生了变化并且所发送的多个所述设置信息均不与变化之后的通信环境相对应的情况下,所述控制器能够创建与变化之后的通信环境相对应的新的设置信息,以及 能够控制所述通信单元将所创建的新的设置信息发送至所述中继服务器,以及 所述中继服务器存储所发送的多个所述设置信息,并且基于所存储的多个所述设置信息中的至少一个来发送所述通知消息。
7.根据权利要求1所述的信息处理设备,还包括: 存储单兀,其中 所述通信单元能够从所述中继服务器定期接收重新连接信息,所述重新连接信息与在所述信息处理设备和所述中继服务器之间的连接被切断的情况下所述信息处理设备重新连接至所述中继服务器的时刻有关,所述重新连接信息是根据包括所述信息处理设备的连接至所述中继服务器的多个信息处理设备的数量而创建的,以及所述控制器能够执行以下操作: 能够控制所述存储单元存储定期接收到的重新连接信息中的最新的重新连接信息,以及 在所述信息处理设备和所述中继服务器之间的连接被切断的情况下,能够基于所存储的重新连接信息来控制所述通信单元重新连接至所述中继服务器。
8.根据权利要求7所述的信息处理设备,其中, 所述通信单元接收与从所述切断至所述重新连接的最大等待时间有关的信息作为所述重新连接信息,以及 所述控制器基于随机数来确定所述最大等待时间内的等待时间,以及在经过了所确定的等待时间之后,所述控制器控制所述通信单元重新连接至所述中继服务器。
9.根据权利要求8所述的信息处理设备,其中, 所述中继服务器响应于所发送的维持信号来回复包括与所述最大等待时间有关的信息的ACK, 所述通信单元接收所述ACK,以及 所述控制器从所接收到的ACK获得与所述最大等待时间有关的信息。
10.一种信息处理系统,包括第一信息处理设备和第二信息处理设备,其中, 所述第一信息处理设备包括: 第一通信单元,其能够经由所述第二信息处理设备与另一信息处理设备进行通信,以及 第一控制器,所述第一控制器能够执行以下操作: 能够获得与所述第一通信单元的通信环境有关的通信环境信息,所述通信环境信息包括与对所述第一信息处理设备和所述第二信息处理设备之间的通信进行中继的通信中继设备有关的属性信息, 能够基于所获得的通信环境信息来计算用以发送用以维持与所述第二信息处理设备的连接的维持信号的发送间隔,以及 能够控制所述通信单元按照所计算出的发送间隔将所述维持信号发送至所述第二信息处理设备,以及 所述第二信息处理设备包括: 第二通信单元,其能够通过与所述第一通信单元进行通信来对所述第一信息处理设备和所述另一信息处理设备之间的通信进行中继,以及 第二控制器,其能够控制所述第二通信单元接收从所述第一信息处理设备发送来的维持信号,并且响应于所述维持信号来将ACK发送至所述第一信息处理设备。
11.一种信息处理方法,包括以下步骤: 获得与信息处理设备的通信环境有关的通信环境信息,所述通信环境信息包括与对所述信息处理设备和网络上的中继服务器之间的通信进行中继的通信中继设备有关的属性信息,所述通信中继设备连接至能够经由所述中继服务器与另一信息处理设备进行通信的信息处理设备; 基于所获得的通信环境信息来计算用以发送用以维持与所述中继服务器的连接的维持信号的发送间隔;以及 按照所计算出的发送间隔来将所述维持信号发送至所述中继服务器。
12.—种程序,用于使能够经由网络上的中继服务器与另一信息处理设备进行通信的信息处理设备执行以下步骤: 获得与所述信息处理设备的通信环境有关的通信环境信息,所述通信环境信息包括与对所述信息处理设备和中继服务器之间的通信进行中继的通信中继设备有关的属性信息; 基于所获得的通信环境信息来计算用以发送用以维持与所述中继服务器的连接的维持信号的发送间隔;以及 按照所计算出的发送间隔来将所述维持信号发送至所述中继服务器。
【文档编号】H04L12/70GK104205744SQ201380015377
【公开日】2014年12月10日 申请日期:2013年1月25日 优先权日:2012年3月27日
【发明者】岛川真人 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1