《信息处理设备、信息处理方法和程序.pdf》由会员分享,可在线阅读,更多相关《信息处理设备、信息处理方法和程序.pdf(38页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104205741A43申请公布日20141210CN104205741A21申请号201380015448422申请日20130131201207473220120328JPH04L12/66200601H04L12/4620060171申请人索尼公司地址日本东京都72发明人岛川真人74专利代理机构北京集佳知识产权代理有限公司11227代理人王萍李春晖54发明名称信息处理设备、信息处理方法和程序57摘要问题为了实现根据通信环境的包括P2P的最优通信。解决方案该信息处理设备具有通信单元和控制器。通信单元可以借助于经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与网。
2、络中的其它信息处理设备通信。控制器检测信息处理设备的通信环境,并且可以根据通信环境确定以尽可能地借助于对等进行通信的方式与其它信息处理设备通信的方法。30优先权数据85PCT国际申请进入国家阶段日2014091986PCT国际申请的申请数据PCT/JP2013/0005292013013187PCT国际申请的公布数据WO2013/145522JA2013100351INTCL权利要求书2页说明书17页附图18页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书17页附图18页10申请公布号CN104205741ACN104205741A1/2页21一种信息处理设备,包括通信单。
3、元,能够通过使用经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与所述网络中的其它信息处理设备通信;以及控制器,检测所述信息处理设备的通信环境,所述控制器能够根据所述通信环境而确定尽可能地借助于所述对等通信与所述其它信息处理设备通信的方法。2根据权利要求1所述的信息处理设备,其中,所述控制器检测由所述信息处理设备的移动而导致的通信环境的改变,并且根据所述通信环境的改变而确定所述通信方法。3根据权利要求1所述的信息处理设备,其中,所述控制器确定安装在所述信息处理设备和所述其它信息处理装置与所述网络之间的通信中继设备的存在/不存在或者所述通信中继设备的类型,并且根据安装的存在/不存在或。
4、者所述类型而确定所述信息处理设备或其它信息处理设备是否开始所述对等通信。4根据权利要求2所述的信息处理设备,其中,所述控制器基于所述通信单元的状态改变、所述通信单元接收的信号电平的改变以及所述通信单元使用的IP地址的改变中的至少一个而检测所述通信环境的改变。5根据权利要求1所述的信息处理设备,还包括存储单元,其中,所述通信单元能够与所述网络中的确定服务器通信,所述确定服务器能够确定所述通信环境,以及所述控制器控制所述通信单元以接收示出所确定的通信环境的通信环境确定信息,控制所述存储单元以存储所接收的通信环境确定信息,以及基于所存储的通信环境确定信息而确定所述通信方法。6根据权利要求1所述的信息。
5、处理设备,其中,所述通信单元包括第一网络接口,能够连接到具有第一频带和第一可用区域的第一网络,以及第二网络接口,能够连接到具有第二频带和第二可用区域的第二网络,以及所述控制器控制所述通信单元以便在经由所述中继服务器与所述其它信息处理设备通信中使用所述第一网络接口,以及在与所述其它信息处理设备的所述对等通信中尽可能地使用所述第二网络接口。7根据权利要求6所述的信息处理设备,其中,所述第二频带大于所述第一频带,以及所述第二可用区域小于所述第一可用区域。8根据权利要求6所述的信息处理设备,还包括存储单元,其中,所述控制器控制所述通信单元以经由所述第一网络接口接收示出所述信息处理设备的位置的位置信息,。
6、控制所述存储单元以与所接收的位置信息相关联地存储所述通信环境确定信息,以及权利要求书CN104205741A2/2页3基于所接收的位置信息以及基于所存储的位置信息和通信环境确定信息,启用确定所述对等通信可用的网络接口以及禁用确定所述对等通信不可用的网络接口。9根据权利要求1所述的信息处理设备,其中,所述通信单元包括逻辑通信模块,即使在所述通信方法改变的情况下,所述逻辑通信模块也能够通过使用所述信息处理设备的应用而通过相同的过程继续通信。10一种由信息处理设备执行的信息处理方法,包括检测所述信息处理设备的通信环境;以及基于所述通信环境,确定用于与所述其它信息处理设备通信的方法,以便在经由网络中的。
7、中继服务器与其它信息处理设备通信的方法以及不经由所述中继服务器的对等通信方法中,尽可能地选择所述对等通信方法。11一种使得信息处理设备执行以下步骤的程序检测所述信息处理设备的通信环境的步骤;以及基于所述通信环境,确定用于与所述其它信息处理设备通信的方法的步骤,以便在经由网络中的中继服务器与其它信息处理设备通信的方法以及不经由中继服务器的对等通信方法中,尽可能地选择所述对等通信方法。12一种信息处理设备,包括通信单元,能够与网络中的第一通信设备和第二通信设备通信,所述第一通信设备和所述第二通信设备能够通过使用经由所述网络中的中继服务器的方法或者不经由中继服务器的对等方法而彼此通信;以及管理器,管。
8、理用于确定所述第一通信设备或第二通信设备的通信环境的确定信息,根据所述通信环境,所述确定信息可用于所述第一通信设备和所述第二通信设备中的一个通信设备与另一通信设备尽可能地进行对等通信。权利要求书CN104205741A1/17页4信息处理设备、信息处理方法和程序技术领域0001本技术涉及一种能够与其它信息处理设备通信的信息处理设备以及该信息处理设备的信息处理方法和程序。背景技术0002过去,已知用于在大量装置之间建立通信的对等P2P架构。由于使用P2P方法的通信的特征在于,与使用客户端服务器方法的通信相比,即使巨大量的装置连接到网络,访问也较少地集中在服务器上,近年来从商业角度出发越来越多地关。
9、注P2P方法。0003一般地,在P2P通信中,由于存在于装置之间的各种路由器NAT网络地址转换路由器的行为彼此不同,因此通过使用STUN通过NAT的UDP简单穿越服务器等来确定NAT类型,并且确定实际的P2P通信方法例如,参见专利文献1和2。0004专利文献1日本专利申请早期公开第2010252261号0005专利文献2日本专利申请早期公开第2011188358号发明内容0006本发明要解决的问题0007然而,确定NAT类型的处理花费相当长的时间据说有时花费大约40秒。此外,如果大量装置执行P2P通信并且如果装置是移动装置,则每次装置移动时反复执行上述确定处理,从而对服务器侧施加了巨大的负荷,。
10、这成为问题。0008此外,由于近年来IPV4正被耗尽,因此关注运营商级NAT大规模NAT。运营商级NAT表示诸如ISP互联网服务提供商的电信运营商通过在与其他运营商的网络连接的点处使用电信运营商网络中的私有地址来执行网络地址转换NAT。预期如果引入越来越多的运营商级NAT,则要求服务器执行确定P2P通信方法的处理的环境将更大,从而预期该情形将使得上述问题更严重。0009鉴于上述情形,本技术的目的是提供一种能够根据通信环境实现包括P2P的最优通信的信息处理设备、信息处理方法和程序。0010用于解决问题的手段0011为了解决上述问题,根据本技术的实施例的信息处理设备包括通信单元和控制器。通信单元能。
11、够通过使用经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与网络中的其它信息处理设备通信。控制器检测信息处理设备的通信环境,该控制器能够根据通信环境而确定尽可能地借助于对等通信与其它信息处理设备通信的方法。0012控制器可检测由于信息处理设备的移动而导致的通信环境的改变,并且根据通信环境的改变而确定通信方法。0013利用该配置,信息处理设备能够根据由于信息处理设备的移动导致的通信环境的改变而实现包括P2P的最优通信。0014控制器可确定安装在信息处理设备和其它信息处理设备与网络之间的通信中继说明书CN104205741A2/17页5设备的存在/不存在或者通信中继设备的类型,并且根据。
12、安装的存在/不存在或者类型而确定信息处理设备或其它信息处理设备是否开始对等通信。0015利用该配置,信息处理设备能够根据信息处理设备侧或者其它信息处理设备侧是否具有通信中继设备诸如NAT路由器、代理服务器或者防火墙以及根据通信中继设备的类型而从具有更好连接的一侧开始P2P通信。0016控制器可基于通信单元的状态的改变、通信单元接收的信号的电平的改变以及通信单元使用的IP地址的改变中的至少一个而检测通信环境的改变。0017利用该配置,通过检测三种改变中的至少一个,信息处理设备能够检测通信环境的改变。0018信息处理设备还可包括存储单元。在该情况下,通信单元可以能够与网络中的确定服务器通信,该确定。
13、服务器能够确定通信环境。在该情况下,控制器可控制通信单元接收示出所确定的通信环境的通信环境确定信息,控制存储单元存储所接收的通信环境确定信息,以及基于所存储的通信环境确定信息而确定通信方法。0019利用该配置,如果信息处理设备一旦从确定服务器获得通信环境确定信息并且存储通信环境确定信息,则只要通信环境不改变,就不需要再次从确定服务器获得通信环境确定信息,从而可以尽可能地减小施加于确定服务器的负荷。0020通信单元可包括第一网络接口和第二网络接口。第一网络接口能够连接到具有第一频带和第一可用区域的第一网络。第二网络接口能够连接到具有第二频带和第二可用区域的第二网络。在该情况下,控制器可控制通信单。
14、元使用第一网络接口用于经由中继服务器与其它信息处理设备通信,以及尽可能地使用第二网络接口用于与其它信息处理设备进行对等通信。0021利用该配置,信息处理设备能够根据具有不同频带和不同可用区域的网络的特性而选择性地使用经由服务器的通信和P2P通信。0022第二频带可大于第一频带,并且第二可用区域可小于第一可用区域。0023这里,第一网络接口是例如3G接口,并且第二网络接口是无线LANWIFI接口,但是它们不限于这些示例。0024控制器可控制通信单元经由第一网络接口接收示出信息处理设备的位置的位置信息,并且控制存储单元与所接收的位置信息相关联地存储通信环境确定信息。此外,在该情况下,控制器可基于所。
15、接收的位置信息以及基于所存储的位置信息和通信环境确定信息,启用确定对等通信可用的网络接口并且禁用确定对等通信不可用的网络接口。0025利用该配置,信息处理设备禁用关断电源确定对等通信不可用的网络接口,由此可以以降低的功耗建立对等通信。0026通信单元可包括逻辑通信模块,即使通信方法改变,该逻辑通信模块也能够通过使用信息处理设备的应用而通过相同的过程继续通信。0027利用该配置,信息处理设备能够在继续应用的同时改变经由中继服务器的通信和P2P通信,这使得用户不会认识到该改变。0028由信息处理设备执行的、根据本技术的另一实施例的信息处理方法包括检测信息处理设备的通信环境。此外,在该方法中,基于通。
16、信环境而确定经由网络中的中继服务器与其它信息处理设备通信的方法和不经由中继服务器的对等通信方法之一作为与其它信息说明书CN104205741A3/17页6处理设备通信的方法,尽可能地选择对等通信方法。0029根据本技术的另一实施例的程序使得信息处理设备执行检测步骤和确定步骤。在检测步骤中,检测信息处理设备的通信环境。在确定步骤中,基于通信环境而确定经由网络中的中继服务器与其它信息处理设备通信的方法和不经由中继服务器的对等通信方法之一作为与其它信息处理设备通信的方法,尽可能地选择对等通信方法。0030根据本技术的另一实施例的信息处理设备包括通信单元和管理器。通信单元能够与网络中的第一通信设备和第。
17、二通信设备通信,第一通信设备和第二通信设备能够通过使用经由网络中的中继服务器的方法或不经由中继服务器的对等方法而彼此通信。管理器管理确定第一通信设备或第二通信设备的通信环境的确定信息,根据通信环境,该确定信息可用于第一通信设备和第二通信设备中的一个通信设备与另一通信设备尽可能地进行对等通信。0031本发明的效果0032如上所述,根据本技术,可以根据通信环境而实现包括P2P的最优通信。附图说明0033图1是示出本技术的第一实施例的系统的网络配置的图。0034图2是示出上述系统的消息服务器的硬件配置的框图。0035图3是示出上述系统的装置的硬件配置的框图。0036图4是示出上述系统的消息服务器的软。
18、件模块的配置的框图。0037图5是示出上述系统的P2P通信测试服务器的软件模块的配置的框图。0038图6是示出上述系统的装置的软件模块的配置的框图。0039图7是示出用于借助于STUN确定NAT类型的NAT的分类对应关系表的图。0040图8是示出装置执行的通信环境确定处理的流程的流程图。0041图9是示出P2P通信测试服务器执行的通信环境确定处理的流程的流程图。0042图10是示出装置执行的通信环境指定处理的流程的流程图。0043图11是示出装置执行的通信方法确定处理的流程的流程图。0044图12是示出根据NAT类型的P2P通信的可用性的表。0045图13是示出连接请求方装置执行的P2P通信连。
19、接处理的流程的流程图。0046图14是示出被请求连接的装置执行的P2P通信连接处理的流程的流程图。0047图15是示出P2P通信测试服务器执行的P2P通信连接处理的流程的流程图。0048图16是示出消息服务器执行的消息传递处理的流程的流程图。0049图17是示出由于装置的移动而导致的装置之间的P2P通信方法的改变的示例的图。0050图18是示出本技术的第二实施例的系统的网络配置的图。0051图19是示出上述系统的装置的软件模块的配置的框图。0052图20是示出装置执行的、根据P2P通信可用性的网络接口控制处理的流程的流程图。0053图21是示出由P2P通信测试服务器执行的与网络接口控制处理有关。
20、的通信环境确定处理的流程的流程图。说明书CN104205741A4/17页70054图22是示出由装置的移动而导致的装置之间的P2P通信方法的改变的示例的图。具体实施方式0055在下文中,将参照附图描述本技术的实施例。00560057首先,将描述本技术的第一实施例。0058系统的网络配置0059图1是示出该实施例的系统的网络配置的图。0060如图1所示,该系统包括云中的消息服务器100和P2P通信测试服务器200以及能够经由WAN广域网50连接到相应服务器的多个装置300。0061消息服务器100是在各个装置300之间中继通信消息的服务器。0062装置300可以是任意信息处理设备,诸如,例如智。
21、能电话、移动电话、平板PC个人计算机、台式PC、膝上型PC、PDA个人数字助理、移动AV播放器、电子书阅读器、数字照相机、可携式摄像机、电视机、PVR个人录影机、视频游戏控制台、投影仪、汽车导航系统、数字相框、HDD硬盘驱动器装置、健康护理装置或者家用电器。图1示出了仅两个装置,即,装置300A和装置300B,但是可设置三个或更多个装置300。0063每个装置300能够通过一直连接到消息服务器100而与消息服务器100通信,并且能够经由消息服务器100与其它装置300通信。此外,如果可能,每个装置300还能够直接与装置300进行P2P通信。0064每个装置300经由通信中继设备350与上述消息。
22、服务器100、P2P通信测试服务器200和其它装置300通信,以及不经由通信中继设备350而直接与上述消息服务器100、P2P通信测试服务器200和其它装置300通信。0065如果装置300是诸如台式PC的静止设备,则通信中继设备350可以是例如NAT路由器、代理服务器、防火墙等。即,在该情况下,通信中继设备350被配置成在内部装置300侧网络与外部云侧网络之间执行通信中继功能,以及确定特定内部装置并禁用该内部装置的连接,除非外部服务器针对在两个网络中使用的地址的差别以及针对安全机制不采取特殊措施。0066如果装置300是诸如例如智能电话的移动装置,则通信中继设备350可以是用于无线LAN的接。
23、入点。0067P2P通信测试服务器200能够与各个装置300通信。在每个装置300与消息服务器100通信之前,P2P通信测试服务器200响应于来自每个装置300的请求而确定通信环境比如NAT类型,并且向每个装置300回复所确定的信息。此外,当装置300彼此进行P2P通信时,P2P通信测试服务器200执行辅助处理以使得每个装置300可获得WAN侧的IP地址和端口号。0068消息服务器的硬件配置0069图2是示出上述消息服务器100的硬件配置的图。如图2所示,消息服务器100包括CPU中央处理单元11、ROM只读存储器12、RAM随机存取存储器13、输入/输出接口15和连接它们的总线14。0070。
24、CPU11在必要时适当地访问RAM13等,执行各种算术处理,并且整体地控制消息说明书CN104205741A5/17页8服务器100的各个块。ROM12是存储诸如CPU11执行的OS和程序以及各种参数的固件的非易失性固定存储器。RAM13用作CPU11的工作区等,并且暂时存储OS、正执行的各种应用软件以及正处理的各种数据。0071显示单元16、操作接收单元17、存储单元18、通信单元19等连接到输入/输出接口15。0072显示单元16是采用例如LCD液晶显示器、OELD有机电致发光显示器、CRT阴极射线管等的显示装置。0073操作接收单元17是例如诸如鼠标的指向装置、键盘、触摸板或者其它输入设。
25、备。如果操作接收单元17是触摸板,则触摸板和显示单元16可一体地构成。0074存储单元18是诸如例如HDD硬盘驱动器、闪存SSD固态驱动器或其它固态存储器的非易失性存储器。存储单元18存储上述OS、各种应用软件以及各种数据。具体地,在该实施例中,存储单元18存储诸如稍后描述的多个软件模块的程序。0075通信单元19是用于连接WAN50的NIC等,并且负责与装置300的通信。0076P2P通信测试服务器的硬件配置0077上述P2P通信测试服务器200的硬件配置与消息服务器的上述硬件配置类似,因此将省略其描述。0078在该实施例中,与上述消息服务器100的CPU11、存储单元18和通信单元19对应。
26、的P2P通信测试服务器200的硬件模块将分别称为CPU21、存储单元28和通信单元29。存储单元28存储以下描述的软件模块和关于各个装置300的通信环境确定结果信息的数据库等。0079装置的硬件配置0080图3是示出上述装置300的硬件配置的图。如图3所示,装置300的硬件配置与上述服务器100的硬件配置基本上类似。0081即,装置300包括CPU31、ROM32、RAM33、输入/输出接口35、连接它们的总线34、显示单元36、操作接收单元37、存储单元38以及通信单元39。这里,显示单元36可内置于装置300中或者从外部连接到装置300。0082CPU31控制诸如存储单元38和通信单元39。
27、的各个块,与消息服务器100和P2P通信测试服务器200建立通信,并且执行各种数据处理。0083存储单元38存储诸如稍后描述的多个软件模块的程序以及通信环境确定结果信息的各种数据库等。程序可经由WAN50被提供给装置300,或者可在能够由装置300读取的存储介质中提供程序。0084如果装置300是诸如智能电话的移动装置,则通信单元39可以是用于诸如3G、无线LAN等的无线通信的模块。0085如果装置300是例如数字相框或健康护理装置例如,温度计、体重秤、血压计、脉搏监测器等,则操作接收单元37可仅包括按钮或开关,并且可没有键盘或触摸板的字符输入功能。0086消息服务器的模块配置0087图4是示。
28、出上述消息服务器100的软件模块的配置的图。如图4所示,消息服务器100包括软件模块,即,连接管理器101、消息接收器102、消息传递处理器103和消息发说明书CN104205741A6/17页9送器104。0088连接管理器101接收来自装置300的连接请求,建立到装置300的连接,并且管理该连接。0089消息接收器102经由连接管理器101接收从装置300发送的消息。0090消息传递处理器103将从装置300接收的消息递送到消息发送器104以便将其传递到预定作为消息的目的地的其它装置300。0091消息发送器104经由连接管理器101将从消息传递处理器103接收的消息发送到装置300即,目。
29、的地。0092P2P通信测试服务器的模块配置0093图5是示出上述P2P通信测试服务器200的软件模块的配置的图。如图5所示,P2P通信测试服务器200包括软件模块,即,连接管理器201、地址信息获得服务器模块202、通信环境确定服务器模块203和通信环境确定结果管理器204。0094连接管理器201接收来自装置300的连接请求,建立到装置300的连接,并且管理该连接。0095地址信息获得服务器模块202帮助装置300在P2P通信期间获得WAN侧的IP地址和端口号。0096通信环境确定服务器模块203确定装置300的通信环境。具体地,通信环境确定服务器模块203借助于STUN来执行诸如NAT类。
30、型确定的处理。0097通信环境确定结果管理器204通过使用从装置300发送的通信环境指定信息作为密钥而管理数据库214中的通信环境确定结果信息。0098装置的模块配置0099图6是示出上述装置300的软件模块的配置的图。如图6所示,装置300包括软件模块,即,应用处理器301、逻辑通信模块302、路由模块303、服务器通信模块304、P2P通信模块305、通信方法确定模块306、通信环境确定模块307、通信环境确定结果管理器308、通信环境指定模块309和通信环境改变检测模块310。0100应用处理器301处理装置300的应用。0101逻辑通信模块302通过使用下层服务器通信模块304和P2P。
31、通信模块305的消息通信分组通信机制,来提供能够继续通信状态而不受下层的连接切断等的影响的逻辑连接API应用程序接口。0102路由模块303根据消息的目的地而适当地将消息路由至服务器通信模块304或P2P通信模块305,并且将这两个通信单元接收的消息递送到逻辑通信模块302和应用处理器301即,上层。0103服务器通信模块304经由消息服务器100与其它装置300通信。0104P2P通信模块305与P2P通信测试服务器200协作,并且与其它装置300进行P2P通信。0105通信方法确定模块306基于通信环境确定模块307确定的确定结果而确定P2P通信的可用性,并且如果可用,则确定用于P2P通信。
32、的连接方法。0106通信环境确定模块307通过使用通信环境确定结果信息、通信环境指定信息、通信环境改变检测信息等对上述P2P通信执行通信环境确定处理。说明书CN104205741A7/17页100107通信环境确定结果管理器308在数据库318中管理从P2P通信测试服务器200接收的通信环境确定结果信息。0108通信环境指定模块309获得通信环境指定信息作为用于指定通信环境的密钥KEY。具体地,通信环境指定模块309例如通过使用UPNPIGD来获得路由器的UUID通用唯一标识符,并且借助于ARP地址解析协议来获得网关MAC地址,从而指定上述通信环境。0109通信环境改变检测模块310监测通信单。
33、元39等的网络接口,并且确定基于改变的通信状态而应该改变用于与其它装置300通信的方法的定时。通信环境由于装置300的移动而发生改变。0110系统的操作0111接下来,将描述上述配置的系统的消息服务器100、P2P通信测试服务器200和装置300的操作。在该实施例和其它实施例中,CPU以及由CPU控制和执行的上述各个软件模块协作地执行消息服务器100、P2P通信测试服务器200或装置300的操作。0112消息服务器和装置的协作系统0113在该实施例中,各个装置300能够通过使用云中的消息服务器100而彼此通信以及协作操作。0114当每个装置300启动时,每个装置建立到消息服务器100的恒定连接。
34、。此时,每个装置300向消息服务器100通知唯一地分配给每个装置300的装置ID,并且消息服务器100基于装置ID而在装置300之间中继通信。0115此时,基于消息分组建立通信,并且装置ID等用于确定目的地等。0116如果可能,装置300彼此进行P2P通信以减小施加于云侧消息服务器100的负荷。0117P2P通信的基本处理0118在该实施例的系统中,为了使得装置300彼此进行P2P通信,需要提供越过NAT路由器通信中继设备350而在TCP/IP网络中彼此连接的功能。0119例如,称为STUN的协议实现了这样的功能。STUN具有针对装置300确定NAT的存在和类型以及获得装置300用于连接到其它。
35、装置300的全局IP地址和端口号的功能。0120在该实施例中,由于P2P通信测试服务器200执行如上所述的由STUN代表的协议,因此P2P通信测试服务器200包括用于确定NAT类型的通信环境确定服务器模块203和用于获得地址和端口号信息的地址信息获得服务器模块202。0121首先,每个装置300先与P2P通信测试服务器200进行通信并且确定NAT类型。图7是示出用于借助于STUN确定NAT类型的NAT的分类对应关系表的图。0122如图7所示,NAT类型根据映射规则、过滤特性、分组丢弃PACKETDROP、NAT的存在等而被分类为完全圆锥NAT、地址限制圆锥NAT、端口限制圆锥NAT、对称NAT。
36、、UDP阻断、开放互联网和对称UDP防火墙。通信中的限制按照完全圆锥NAT、地址限制圆锥NAT、端口限制圆锥NAT和对称NAT的升序增加。0123接下来,希望建立P2P通信的装置300连接请求方借助于经由消息服务器100的通信而获得被请求连接的装置300的NAT类型,基于连接请求方装置300/被请求连接的装置300的NAT类型的组合,确定是否可以建立P2P通信,确定哪个装置300应该首先连接说明书CN104205741A108/17页11到其它装置300,确定是否需要在连接时执行特殊处理等稍后详细描述。0124如果确定两个装置300不可能建立P2P连接,则不建立P2P通信,并且建立经由消息服务。
37、器100的通信。0125在下文中,将详细描述当装置300建立通信时的各个具体处理的流程。0126通信环境确定处理0127首先,将描述通信环境确定处理。图8是示出装置300执行的通信环境确定处理的流程的流程图。此外,图9是示出P2P通信测试服务器200执行的通信环境确定处理的流程的流程图。0128如图8和图9所示,装置300的通信环境确定模块307等待要由通信环境改变检测模块310检测的由装置300的移动所导致的通信环境的改变图8,步骤71。0129这里,在检测通信环境的改变的处理中,通信环境改变检测模块310监视例如通信单元39的网络接口多个网络接口中的每一个的状态、通信单元39接收的信号的电。
38、平、用于通信的IP地址等的改变。如果它们发生了改变,则通信环境改变检测模块310确定通信环境改变,并且向通信环境确定模块307通知通信环境改变检测事件。0130事实上,这并不意味着所有改变需要装置300中之间的通信方法的改变,而是由这些改变触发,通信环境确定模块307能够再次获得下述通信环境指定信息并且确认是否存在改变。0131如果通信环境确定模块307从通信环境改变检测模块310接收到通信环境的改变检测事件图8,步骤72,是,则通信环境指定模块309执行通信环境指定处理,并且获得通信环境指定信息图8,步骤73。0132这里,将详细描述通信环境指定处理。图10是示出通信环境指定处理的流程的流程。
39、图。0133如图10所示,首先,通信环境指定模块309通过使用UPNPIGD而获得路由器通信中继设备350的UUID步骤101。0134如果成功获得上述UUID步骤102,是,则通信环境指定模块309将路由器的UUID设置为通信环境指定信息步骤104。0135同时,如果没有获得上述UUID步骤102,否,则通信环境指定模块309借助于ARP获得网关的MAC地址步骤103。0136然后,通信环境指定模块309将网关的MAC地址设置为通信环境指定信息步骤105。0137通信环境确定模块307获得路由器的UUID和网关的MAC地址作为通信环境指定信息。0138通信环境确定模块307确定所获得的通信环。
40、境指定信息是否与最近的信息相同图8,步骤74。0139如果确定通信环境指定信息与最近的信息不同否,则通信环境确定模块307通过使用通信环境指定信息作为密钥来从通信环境确定结果管理器308获得通信环境确定结果信息步骤75。0140如果存在与上述通信环境指定信息对应的通信环境确定结果信息步骤76,是,则通信环境确定模块307向通信方法确定模块306通知通信环境确定结果信息步骤81。说明书CN104205741A119/17页120141同时,如果不存在与上述通信环境指定信息对应的通信环境确定结果信息步骤76,否,则通信环境确定模块307经由P2P通信模块305将包括通信环境指定信息的通信环境确定结。
41、果获得请求消息发送到P2P通信测试服务器200的通信环境确定服务器模块203步骤77。0142P2P通信测试服务器200的通信环境确定服务器模块203等待通信环境确定结果获得请求消息图9,步骤91,并且如果通信环境确定服务器模块203接收到该请求消息步骤92,是,则从该消息获得通信环境指定信息步骤93。0143然后,通信环境确定服务器模块203通过使用所获得的通信环境指定信息作为密钥而从通信环境确定结果管理器204获得相应的通信环境确定结果信息步骤94。0144如果存在相应的通信环境确定结果步骤95,是,则通信环境确定服务器模块203响应于上述请求而将通信环境确定结果信息发送到装置300的通信。
42、环境确定模块307步骤96。0145同时,如果不存在相应的通信环境确定结果步骤95,否,则通信环境确定服务器模块203将没有通信环境确定结果的响应发送到装置300的通信环境确定模块307步骤97。0146然后,通信环境确定服务器模块203基于上述通信环境指定信息而执行STUN服务器处理,获得通信环境确定结果,并且响应于来自执行STUN客户端处理的装置300的通信环境确定模块307的请求而发送通信环境确定结果步骤98。通信环境确定结果管理器204存储通信环境确定结果。0147当装置300的通信环境确定模块307接收到上述响应时步骤78,通信环境确定模块307确定响应是否表示通信环境确定结果不存在。
43、或存在步骤79。0148如果确定上述响应包括通信环境确定结果否,则通信环境确定模块307将通信环境确定结果信息存储在通信环境确定结果管理器308中步骤80,并且向通信方法确定模块306通知通信环境确定结果信息步骤81。0149同时,如果确定上述响应表示通信环境确定结果不存在是,则通信环境确定模块307执行上述STUN客户端处理步骤82,并且从执行上述STUN服务器处理的P2P通信测试服务器200的通信环境确定服务器模块203获得通信环境确定结果步骤83。0150然后,通信环境确定模块307将所获得的通信环境确定结果信息存储在通信环境确定结果管理器308中步骤80,并且向通信方法确定模块306通。
44、知所获得的通信环境确定结果信息步骤81。0151通信方法确定处理0152接下来,将描述基于上述通信环境确定结果的通信方法确定处理。图11是示出装置300执行的通信方法确定处理的流程的流程图。0153如图11所示,首先,装置300的通信方法确定模块306从应用处理器301获得被请求连接的装置300的装置ID步骤111。0154然后,通信方法确定模块306将通信环境确定结果请求消息发送到被请求连接的装置300步骤112。0155然后,通信方法确定模块306从被请求连接的装置300获得通信环境确定结果响应消息步骤113。说明书CN104205741A1210/17页130156然后,通信方法确定模块。
45、306执行P2P通信可用性确定处理步骤114。在该处理中,使用连接请求方装置300的确定结果和被请求连接的装置300的确定结果两者。0157例如,由上述P2P通信测试服务器200根据借助于STUN确定的NAT类型来执行P2P通信可用性确定处理。图12是示出根据NAT类型的P2P通信的可用性的表。0158在图12中,“OK”表示在无需任何设置的情况下连接可用,“UH”表示借助于UDP打洞HOLEPUNCHING连接可用,并且“NG”表示连接不可用。通信方法确定模块306将该表格存储作为数据,将连接请求方装置300和被请求连接的装置300的上述通信环境确定结果的NAT类型应用于表格,并且确定连接可。
46、用性。0159这里,从连接请求方装置300到被请求连接的装置300的连接的确定结果有时与从被请求连接的装置300到连接请求方装置300的确定结果不同来自被请求连接的装置的连接是有利的。鉴于此,通信方法确定模块306确定两个装置300的连接可用性考虑到连接请求方装置和被请求连接装置互换的情况,并且确定P2P通信的可用性、连接方向和连接方法。0160例如,关于连接方向,假设根据两个装置300的通信中继设备350诸如NAT路由器、代理服务器或者防火墙的存在/不存在以及根据其类型,仅在一个方向上的连接可用,在具有特殊设置的情况下两个方向上的连接可用等。鉴于此,实现了连接的方向或者需要最少特殊设置的方向。
47、被确定为连接方向。0161通信方法确定模块306作为上述确定处理的确定结果而获得P2P通信可用性、连接方向和连接方法步骤115。0162然后,通信方法确定模块306基于上述确定结果而确定P2P通信是否可用步骤116。0163如果确定P2P通信可用是,则通信方法确定模块306通知P2P通信模块305通过使用如上所述确定的连接方法以及在如上所述确定的连接方向上借助于P2P通信而连接到其它装置300步骤117。0164同时,如果确定P2P通信不可用否,则通信方法确定模块306通知服务器通信模块304经由消息服务器100连接到其它装置300步骤118。0165P2P通信连接处理0166接下来,将描述在。
48、确定P2P通信可用的情况下的P2P通信连接处理。图13是示出连接源装置300执行的P2P通信连接处理的流程的流程图。图14是示出连接目的地装置300执行的P2P通信连接处理的流程的流程图。此外,图15是示出P2P通信测试服务器200执行的P2P通信连接处理的流程的流程图。0167首先,连接源装置300的P2P通信模块305将地址信息获得请求消息发送到P2P通信测试服务器200图13,步骤131。0168P2P通信测试服务器200的地址信息获得服务器模块202等待上述地址信息获得请求消息图15,步骤151,并且如果地址信息获得服务器模块202接收到地址信息获得请求消息步骤152,则获得所接收的消。
49、息的发送方的外部IP地址和端口号步骤153。0169然后,地址信息获得服务器模块202将包括所获得的发送方地址和端口号的地址信息获得响应消息发送到上述连接源装置300的P2P通信模块305步骤154。0170如果连接源装置300的P2P通信模块305从P2P通信测试服务器200接收到上述说明书CN104205741A1311/17页14地址信息获得响应消息图13,步骤132,则P2P通信模块305从该消息获得其外部地址及其端口号步骤133。0171然后,服务器通信模块304经由消息服务器100将包括其外部地址及其端口号的P2P连接开始请求消息发送到连接目的地装置300步骤134。0172连接目。
50、的地装置300的服务器通信模块304经由消息服务器100从上述连接源装置300接收P2P连接开始请求消息图14,步骤141。0173然后,连接目的地装置300的P2P通信模块305从上述消息获得连接源装置300的外部地址和端口号步骤142。0174然后,连接目的地装置300的P2P通信模块305将地址信息获得请求消息发送到P2P通信测试服务器200步骤143。0175与上述类似,P2P通信测试服务器200的地址信息获得服务器模块202获得上述请求消息的发送方的外部IP地址和端口号,并且将包括该外部IP地址和端口号的响应消息发送到连接目的地装置300的P2P通信模块305图15,步骤151至15。