CN104205741A - 信息处理设备、信息处理方法和程序 - Google Patents

信息处理设备、信息处理方法和程序 Download PDF

Info

Publication number
CN104205741A
CN104205741A CN201380015448.4A CN201380015448A CN104205741A CN 104205741 A CN104205741 A CN 104205741A CN 201380015448 A CN201380015448 A CN 201380015448A CN 104205741 A CN104205741 A CN 104205741A
Authority
CN
China
Prior art keywords
communication
communication environment
server
network
messaging device
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.)
Pending
Application number
CN201380015448.4A
Other languages
English (en)
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN104205741A publication Critical patent/CN104205741A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/677Multiple interfaces, e.g. multihomed nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2582NAT traversal through control of the NAT server, e.g. using universal plug and play [UPnP]
    • 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/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/23Manipulation of direct-mode connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

[问题]为了实现根据通信环境的包括P2P的最优通信。[解决方案]该信息处理设备具有通信单元和控制器。通信单元可以借助于经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与网络中的其它信息处理设备通信。控制器检测信息处理设备的通信环境,并且可以根据通信环境确定以尽可能地借助于对等进行通信的方式与其它信息处理设备通信的方法。

Description

信息处理设备、信息处理方法和程序
技术领域
本技术涉及一种能够与其它信息处理设备通信的信息处理设备以及该信息处理设备的信息处理方法和程序。
背景技术
过去,已知用于在大量装置之间建立通信的对等(P2P)架构。由于使用P2P方法的通信的特征在于,与使用客户端-服务器方法的通信相比,即使巨大量的装置连接到网络,访问也较少地集中在服务器上,近年来从商业角度出发越来越多地关注P2P方法。
一般地,在P2P通信中,由于存在于装置之间的各种路由器(NAT(网络地址转换)路由器)的行为彼此不同,因此通过使用STUN(通过NAT的UDP简单穿越)服务器等来确定NAT类型,并且确定实际的P2P通信方法(例如,参见专利文献1和2)。
专利文献1:日本专利申请早期公开第2010-252261号
专利文献2:日本专利申请早期公开第2011-188358号
发明内容
本发明要解决的问题
然而,确定NAT类型的处理花费相当长的时间(据说有时花费大约40秒)。此外,如果大量装置执行P2P通信并且如果装置是移动装置,则每次装置移动时反复执行上述确定处理,从而对服务器侧施加了巨大的负荷,这成为问题。
此外,由于近年来IPv4正被耗尽,因此关注运营商级NAT(大规模NAT)。运营商级NAT表示诸如ISP(互联网服务提供商)的电信运营商通过在与其他运营商的网络连接的点处使用电信运营商网络中的私有地址来执行网络地址转换(NAT)。预期如果引入越来越多的运营商级NAT,则要求服务器执行确定P2P通信方法的处理的环境将更大,从而预期该情形将使得上述问题更严重。
鉴于上述情形,本技术的目的是提供一种能够根据通信环境实现包括P2P的最优通信的信息处理设备、信息处理方法和程序。
用于解决问题的手段
为了解决上述问题,根据本技术的实施例的信息处理设备包括通信单元和控制器。通信单元能够通过使用经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与网络中的其它信息处理设备通信。控制器检测信息处理设备的通信环境,该控制器能够根据通信环境而确定尽可能地借助于对等通信与其它信息处理设备通信的方法。
控制器可检测由于信息处理设备的移动而导致的通信环境的改变,并且根据通信环境的改变而确定通信方法。
利用该配置,信息处理设备能够根据由于信息处理设备的移动导致的通信环境的改变而实现包括P2P的最优通信。
控制器可确定安装在信息处理设备和其它信息处理设备与网络之间的通信中继设备的存在/不存在或者通信中继设备的类型,并且根据安装的存在/不存在或者类型而确定信息处理设备或其它信息处理设备是否开始对等通信。
利用该配置,信息处理设备能够根据信息处理设备侧或者其它信息处理设备侧是否具有通信中继设备(诸如NAT路由器、代理服务器或者防火墙)以及根据通信中继设备的类型而从具有更好连接的一侧开始P2P通信。
控制器可基于通信单元的状态的改变、通信单元接收的信号的电平的改变以及通信单元使用的IP地址的改变中的至少一个而检测通信环境的改变。
利用该配置,通过检测三种改变中的至少一个,信息处理设备能够检测通信环境的改变。
信息处理设备还可包括存储单元。在该情况下,通信单元可以能够与网络中的确定服务器通信,该确定服务器能够确定通信环境。在该情况下,控制器可控制通信单元接收示出所确定的通信环境的通信环境确定信息,控制存储单元存储所接收的通信环境确定信息,以及基于所存储的通信环境确定信息而确定通信方法。
利用该配置,如果信息处理设备一旦从确定服务器获得通信环境确定信息并且存储通信环境确定信息,则只要通信环境不改变,就不需要再次从确定服务器获得通信环境确定信息,从而可以尽可能地减小施加于确定服务器的负荷。
通信单元可包括第一网络接口和第二网络接口。第一网络接口能够连接到具有第一频带和第一可用区域的第一网络。第二网络接口能够连接到具有第二频带和第二可用区域的第二网络。在该情况下,控制器可控制通信单元使用第一网络接口用于经由中继服务器与其它信息处理设备通信,以及尽可能地使用第二网络接口用于与其它信息处理设备进行对等通信。
利用该配置,信息处理设备能够根据具有不同频带和不同可用区域的网络的特性而选择性地使用经由服务器的通信和P2P通信。
第二频带可大于第一频带,并且第二可用区域可小于第一可用区域。
这里,第一网络接口是例如3G接口,并且第二网络接口是无线LAN(WiFi)接口,但是它们不限于这些示例。
控制器可控制通信单元经由第一网络接口接收示出信息处理设备的位置的位置信息,并且控制存储单元与所接收的位置信息相关联地存储通信环境确定信息。此外,在该情况下,控制器可基于所接收的位置信息以及基于所存储的位置信息和通信环境确定信息,启用确定对等通信可用的网络接口并且禁用确定对等通信不可用的网络接口。
利用该配置,信息处理设备禁用(关断电源)确定对等通信不可用的网络接口,由此可以以降低的功耗建立对等通信。
通信单元可包括逻辑通信模块,即使通信方法改变,该逻辑通信模块也能够通过使用信息处理设备的应用而通过相同的过程继续通信。
利用该配置,信息处理设备能够在继续应用的同时改变经由中继服务器的通信和P2P通信,这使得用户不会认识到该改变。
由信息处理设备执行的、根据本技术的另一实施例的信息处理方法包括检测信息处理设备的通信环境。此外,在该方法中,基于通信环境而确定经由网络中的中继服务器与其它信息处理设备通信的方法和不经由中继服务器的对等通信方法之一作为与其它信息处理设备通信的方法,尽可能地选择对等通信方法。
根据本技术的另一实施例的程序使得信息处理设备执行检测步骤和确定步骤。在检测步骤中,检测信息处理设备的通信环境。在确定步骤中,基于通信环境而确定经由网络中的中继服务器与其它信息处理设备通信的方法和不经由中继服务器的对等通信方法之一作为与其它信息处理设备通信的方法,尽可能地选择对等通信方法。
根据本技术的另一实施例的信息处理设备包括通信单元和管理器。通信单元能够与网络中的第一通信设备和第二通信设备通信,第一通信设备和第二通信设备能够通过使用经由网络中的中继服务器的方法或不经由中继服务器的对等方法而彼此通信。管理器管理确定第一通信设备或第二通信设备的通信环境的确定信息,根据通信环境,该确定信息可用于第一通信设备和第二通信设备中的一个通信设备与另一通信设备尽可能地进行对等通信。
本发明的效果
如上所述,根据本技术,可以根据通信环境而实现包括P2P的最优通信。
附图说明
图1是示出本技术的第一实施例的系统的网络配置的图。
图2是示出上述系统的消息服务器的硬件配置的框图。
图3是示出上述系统的装置的硬件配置的框图。
图4是示出上述系统的消息服务器的软件模块的配置的框图。
图5是示出上述系统的P2P通信测试服务器的软件模块的配置的框图。
图6是示出上述系统的装置的软件模块的配置的框图。
图7是示出用于借助于STUN确定NAT类型的NAT的分类对应关系表的图。
图8是示出装置执行的通信环境确定处理的流程的流程图。
图9是示出P2P通信测试服务器执行的通信环境确定处理的流程的流程图。
图10是示出装置执行的通信环境指定处理的流程的流程图。
图11是示出装置执行的通信方法确定处理的流程的流程图。
图12是示出根据NAT类型的P2P通信的可用性的表。
图13是示出连接请求方装置执行的P2P通信连接处理的流程的流程图。
图14是示出被请求连接的装置执行的P2P通信连接处理的流程的流程图。
图15是示出P2P通信测试服务器执行的P2P通信连接处理的流程的流程图。
图16是示出消息服务器执行的消息传递处理的流程的流程图。
图17是示出由于装置的移动而导致的装置之间的P2P通信方法的改变的示例的图。
图18是示出本技术的第二实施例的系统的网络配置的图。
图19是示出上述系统的装置的软件模块的配置的框图。
图20是示出装置执行的、根据P2P通信可用性的网络接口控制处理的流程的流程图。
图21是示出由P2P通信测试服务器执行的与网络接口控制处理有关的通信环境确定处理的流程的流程图。
图22是示出由装置的移动而导致的装置之间的P2P通信方法的改变的示例的图。
具体实施方式
在下文中,将参照附图描述本技术的实施例。
<第一实施例>
首先,将描述本技术的第一实施例。
[系统的网络配置]
图1是示出该实施例的系统的网络配置的图。
如图1所示,该系统包括云中的消息服务器100和P2P通信测试服务器200以及能够经由WAN(广域网)50连接到相应服务器的多个装置300。
消息服务器100是在各个装置300之间中继通信(消息)的服务器。
装置300可以是任意信息处理设备,诸如,例如智能电话、移动电话、平板PC(个人计算机)、台式PC、膝上型PC、PDA(个人数字助理)、移动AV播放器、电子书阅读器、数字照相机、可携式摄像机、电视机、PVR(个人录影机)、视频游戏控制台、投影仪、汽车导航系统、数字相框、HDD(硬盘驱动器)装置、健康护理装置或者家用电器。图1示出了仅两个装置,即,装置300A和装置300B,但是可设置三个或更多个装置300。
每个装置300能够通过一直连接到消息服务器100而与消息服务器100通信,并且能够经由消息服务器100与其它装置300通信。此外,如果可能,每个装置300还能够直接与装置300进行P2P通信。
每个装置300经由通信中继设备350与上述消息服务器100、P2P通信测试服务器200和其它装置300通信,以及不经由通信中继设备350而直接与上述消息服务器100、P2P通信测试服务器200和其它装置300通信。
如果装置300是诸如台式PC的静止设备,则通信中继设备350可以是例如NAT路由器、代理服务器、防火墙等。即,在该情况下,通信中继设备350被配置成在内部(装置300侧)网络与外部(云侧)网络之间执行通信中继功能,以及确定特定内部装置并禁用该内部装置的连接,除非外部服务器针对在两个网络中使用的地址的差别以及针对安全机制不采取特殊措施。
如果装置300是诸如例如智能电话的移动装置,则通信中继设备350可以是用于无线LAN的接入点。
P2P通信测试服务器200能够与各个装置300通信。在每个装置300与消息服务器100通信之前,P2P通信测试服务器200响应于来自每个装置300的请求而确定通信环境比如NAT类型,并且向每个装置300回复所确定的信息。此外,当装置300彼此进行P2P通信时,P2P通信测试服务器200执行辅助处理以使得每个装置300可获得WAN侧的IP地址和端口号。
[消息服务器的硬件配置]
图2是示出上述消息服务器100的硬件配置的图。如图2所示,消息服务器100包括CPU(中央处理单元)11、ROM(只读存储器)12、RAM(随机存取存储器)13、输入/输出接口15和连接它们的总线14。
CPU 11在必要时适当地访问RAM 13等,执行各种算术处理,并且整体地控制消息服务器100的各个块。ROM 12是存储诸如CPU 11执行的OS和程序以及各种参数的固件的非易失性固定存储器。RAM 13用作CPU 11的工作区等,并且暂时存储OS、正执行的各种应用软件以及正处理的各种数据。
显示单元16、操作接收单元17、存储单元18、通信单元19等连接到输入/输出接口15。
显示单元16是采用例如LCD(液晶显示器)、OELD(有机电致发光显示器)、CRT(阴极射线管)等的显示装置。
操作接收单元17是例如诸如鼠标的指向装置、键盘、触摸板或者其它输入设备。如果操作接收单元17是触摸板,则触摸板和显示单元16可一体地构成。
存储单元18是诸如例如HDD(硬盘驱动器)、闪存(SSD:固态驱动器)或其它固态存储器的非易失性存储器。存储单元18存储上述OS、各种应用软件以及各种数据。具体地,在该实施例中,存储单元18存储诸如稍后描述的多个软件模块的程序。
通信单元19是用于连接WAN 50的NIC等,并且负责与装置300的通信。
[P2P通信测试服务器的硬件配置]
上述P2P通信测试服务器200的硬件配置与消息服务器的上述硬件配置类似,因此将省略其描述。
在该实施例中,与上述消息服务器100的CPU 11、存储单元18和通信单元19对应的P2P通信测试服务器200的硬件模块将分别称为CPU21、存储单元28和通信单元29。存储单元28存储以下描述的软件模块和关于各个装置300的通信环境确定结果信息的数据库等。
[装置的硬件配置]
图3是示出上述装置300的硬件配置的图。如图3所示,装置300的硬件配置与上述服务器100的硬件配置基本上类似。
即,装置300包括CPU 31、ROM 32、RAM 33、输入/输出接口35、连接它们的总线34、显示单元36、操作接收单元37、存储单元38以及通信单元39。这里,显示单元36可内置于装置300中或者从外部连接到装置300。
CPU 31控制诸如存储单元38和通信单元39的各个块,与消息服务器100和P2P通信测试服务器200建立通信,并且执行各种数据处理。
存储单元38存储诸如稍后描述的多个软件模块的程序以及通信环境确定结果信息的各种数据库等。程序可经由WAN 50被提供给装置300,或者可在能够由装置300读取的存储介质中提供程序。
如果装置300是诸如智能电话的移动装置,则通信单元39可以是用于诸如3G、无线LAN等的无线通信的模块。
如果装置300是例如数字相框或健康护理装置(例如,温度计、体重秤、血压计、脉搏监测器等),则操作接收单元37可仅包括按钮或开关,并且可没有键盘或触摸板的字符输入功能。
[消息服务器的模块配置]
图4是示出上述消息服务器100的软件模块的配置的图。如图4所示,消息服务器100包括软件模块,即,连接管理器101、消息接收器102、消息传递处理器103和消息发送器104。
连接管理器101接收来自装置300的连接请求,建立到装置300的连接,并且管理该连接。
消息接收器102经由连接管理器101接收从装置300发送的消息。
消息传递处理器103将从装置300接收的消息递送到消息发送器104以便将其传递到预定作为消息的目的地的其它装置300。
消息发送器104经由连接管理器101将从消息传递处理器103接收的消息发送到装置300(即,目的地)。
[P2P通信测试服务器的模块配置]
图5是示出上述P2P通信测试服务器200的软件模块的配置的图。如图5所示,P2P通信测试服务器200包括软件模块,即,连接管理器201、地址信息获得服务器模块202、通信环境确定服务器模块203和通信环境确定结果管理器204。
连接管理器201接收来自装置300的连接请求,建立到装置300的连接,并且管理该连接。
地址信息获得服务器模块202帮助装置300在P2P通信期间获得WAN侧的IP地址和端口号。
通信环境确定服务器模块203确定装置300的通信环境。具体地,通信环境确定服务器模块203借助于STUN来执行诸如NAT类型确定的处理。
通信环境确定结果管理器204通过使用从装置300发送的通信环境指定信息作为密钥而管理数据库214中的通信环境确定结果信息。
[装置的模块配置]
图6是示出上述装置300的软件模块的配置的图。如图6所示,装置300包括软件模块,即,应用处理器301、逻辑通信模块302、路由模块303、服务器通信模块304、P2P通信模块305、通信方法确定模块306、通信环境确定模块307、通信环境确定结果管理器308、通信环境指定模块309和通信环境改变检测模块310。
应用处理器301处理装置300的应用。
逻辑通信模块302通过使用下层(服务器通信模块304和P2P通信模块305)的消息通信(分组通信)机制,来提供能够继续通信状态而不受下层的连接切断等的影响的逻辑连接API(应用程序接口)。
路由模块303根据消息的目的地而适当地将消息路由至服务器通信模块304或P2P通信模块305,并且将这两个通信单元接收的消息递送到逻辑通信模块302和应用处理器301(即,上层)。
服务器通信模块304经由消息服务器100与其它装置300通信。
P2P通信模块305与P2P通信测试服务器200协作,并且与其它装置300进行P2P通信。
通信方法确定模块306基于通信环境确定模块307确定的确定结果而确定P2P通信的可用性,并且如果可用,则确定用于P2P通信的连接方法。
通信环境确定模块307通过使用通信环境确定结果信息、通信环境指定信息、通信环境改变检测信息等对上述P2P通信执行通信环境确定处理。
通信环境确定结果管理器308在数据库318中管理从P2P通信测试服务器200接收的通信环境确定结果信息。
通信环境指定模块309获得通信环境指定信息作为用于指定通信环境的密钥(key)。具体地,通信环境指定模块309例如通过使用UPnP IGD来获得路由器的UUID(通用唯一标识符),并且借助于ARP(地址解析协议)来获得网关MAC地址,从而指定上述通信环境。
通信环境改变检测模块310监测通信单元39等的网络接口,并且确定基于改变的通信状态而应该改变用于与其它装置300通信的方法的定时。通信环境由于装置300的移动而发生改变。
[系统的操作]
接下来,将描述上述配置的系统的消息服务器100、P2P通信测试服务器200和装置300的操作。在该实施例和其它实施例中,CPU以及由CPU控制和执行的上述各个软件模块协作地执行消息服务器100、P2P通信测试服务器200或装置300的操作。
(消息服务器和装置的协作系统)
在该实施例中,各个装置300能够通过使用云中的消息服务器100而彼此通信以及协作操作。
当每个装置300启动时,每个装置建立到消息服务器100的恒定连接。此时,每个装置300向消息服务器100通知唯一地分配给每个装置300的装置ID,并且消息服务器100基于装置ID而在装置300之间中继通信。
此时,基于消息(分组)建立通信,并且装置ID等用于确定目的地等。
如果可能,装置300彼此进行P2P通信以减小施加于云侧(消息服务器100)的负荷。
(P2P通信的基本处理)
在该实施例的系统中,为了使得装置300彼此进行P2P通信,需要提供越过NAT路由器(通信中继设备350)而在TCP/IP网络中彼此连接的功能。
例如,称为STUN的协议实现了这样的功能。STUN具有针对装置300确定NAT的存在和类型以及获得装置300用于连接到其它装置300的全局IP地址和端口号的功能。
在该实施例中,由于P2P通信测试服务器200执行如上所述的由STUN代表的协议,因此P2P通信测试服务器200包括用于确定NAT类型的通信环境确定服务器模块203和用于获得地址和端口号信息的地址信息获得服务器模块202。
首先,每个装置300先与P2P通信测试服务器200进行通信并且确定NAT类型。图7是示出用于借助于STUN确定NAT类型的NAT的分类对应关系表的图。
如图7所示,NAT类型根据映射规则、过滤特性、分组丢弃(packetdrop)、NAT的存在等而被分类为完全圆锥NAT、地址限制圆锥NAT、端口限制圆锥NAT、对称NAT、UDP阻断、开放互联网和对称UDP防火墙。通信中的限制按照完全圆锥NAT、地址限制圆锥NAT、端口限制圆锥NAT和对称NAT的升序增加。
接下来,希望建立P2P通信的装置300(连接请求方)借助于经由消息服务器100的通信而获得被请求连接的装置300的NAT类型,基于连接请求方装置300/被请求连接的装置300的NAT类型的组合,确定是否可以建立P2P通信,确定哪个装置300应该首先连接到其它装置300,确定是否需要在连接时执行特殊处理等(稍后详细描述)。
如果确定两个装置300不可能建立P2P连接,则不建立P2P通信,并且建立经由消息服务器100的通信。
在下文中,将详细描述当装置300建立通信时的各个具体处理的流程。
(通信环境确定处理)
首先,将描述通信环境确定处理。图8是示出装置300执行的通信环境确定处理的流程的流程图。此外,图9是示出P2P通信测试服务器200执行的通信环境确定处理的流程的流程图。
如图8和图9所示,装置300的通信环境确定模块307等待要由通信环境改变检测模块310检测的由装置300的移动所导致的通信环境的改变(图8,步骤71)。
这里,在检测通信环境的改变的处理中,通信环境改变检测模块310监视例如通信单元39的网络接口(多个网络接口中的每一个)的状态、通信单元39接收的信号的电平、用于通信的IP地址等的改变。如果它们发生了改变,则通信环境改变检测模块310确定通信环境改变,并且向通信环境确定模块307通知通信环境改变检测事件。
事实上,这并不意味着所有改变需要装置300中之间的通信方法的改变,而是由这些改变触发,通信环境确定模块307能够再次获得下述通信环境指定信息并且确认是否存在改变。
如果通信环境确定模块307从通信环境改变检测模块310接收到通信环境的改变检测事件(图8,步骤72,是),则通信环境指定模块309执行通信环境指定处理,并且获得通信环境指定信息(图8,步骤73)。
这里,将详细描述通信环境指定处理。图10是示出通信环境指定处理的流程的流程图。
如图10所示,首先,通信环境指定模块309通过使用UPnP IGD而获得路由器(通信中继设备350)的UUID(步骤101)。
如果成功获得上述UUID(步骤102,是),则通信环境指定模块309将路由器的UUID设置为通信环境指定信息(步骤104)。
同时,如果没有获得上述UUID(步骤102,否),则通信环境指定模块309借助于ARP获得网关的MAC地址(步骤103)。
然后,通信环境指定模块309将网关的MAC地址设置为通信环境指定信息(步骤105)。
通信环境确定模块307获得路由器的UUID和网关的MAC地址作为通信环境指定信息。
通信环境确定模块307确定所获得的通信环境指定信息是否与最近的信息相同(图8,步骤74)。
如果确定通信环境指定信息与最近的信息不同(否),则通信环境确定模块307通过使用通信环境指定信息作为密钥来从通信环境确定结果管理器308获得通信环境确定结果信息(步骤75)。
如果存在与上述通信环境指定信息对应的通信环境确定结果信息(步骤76,是),则通信环境确定模块307向通信方法确定模块306通知通信环境确定结果信息(步骤81)。
同时,如果不存在与上述通信环境指定信息对应的通信环境确定结果信息(步骤76,否),则通信环境确定模块307经由P2P通信模块305将包括通信环境指定信息的通信环境确定结果获得请求消息发送到P2P通信测试服务器200的通信环境确定服务器模块203(步骤77)。
P2P通信测试服务器200的通信环境确定服务器模块203等待通信环境确定结果获得请求消息(图9,步骤91),并且如果通信环境确定服务器模块203接收到该请求消息(步骤92,是),则从该消息获得通信环境指定信息(步骤93)。
然后,通信环境确定服务器模块203通过使用所获得的通信环境指定信息作为密钥而从通信环境确定结果管理器204获得相应的通信环境确定结果信息(步骤94)。
如果存在相应的通信环境确定结果(步骤95,是),则通信环境确定服务器模块203响应于上述请求而将通信环境确定结果信息发送到装置300的通信环境确定模块307(步骤96)。
同时,如果不存在相应的通信环境确定结果(步骤95,否),则通信环境确定服务器模块203将没有通信环境确定结果的响应发送到装置300的通信环境确定模块307(步骤97)。
然后,通信环境确定服务器模块203基于上述通信环境指定信息而执行STUN服务器处理,获得通信环境确定结果,并且响应于来自执行STUN客户端处理的装置300的通信环境确定模块307的请求而发送通信环境确定结果(步骤98)。通信环境确定结果管理器204存储通信环境确定结果。
当装置300的通信环境确定模块307接收到上述响应时(步骤78),通信环境确定模块307确定响应是否表示通信环境确定结果不存在或存在(步骤79)。
如果确定上述响应包括通信环境确定结果(否),则通信环境确定模块307将通信环境确定结果信息存储在通信环境确定结果管理器308中(步骤80),并且向通信方法确定模块306通知通信环境确定结果信息(步骤81)。
同时,如果确定上述响应表示通信环境确定结果不存在(是),则通信环境确定模块307执行上述STUN客户端处理(步骤82),并且从执行上述STUN服务器处理的P2P通信测试服务器200的通信环境确定服务器模块203获得通信环境确定结果(步骤83)。
然后,通信环境确定模块307将所获得的通信环境确定结果信息存储在通信环境确定结果管理器308中(步骤80),并且向通信方法确定模块306通知所获得的通信环境确定结果信息(步骤81)。
(通信方法确定处理)
接下来,将描述基于上述通信环境确定结果的通信方法确定处理。图11是示出装置300执行的通信方法确定处理的流程的流程图。
如图11所示,首先,装置300的通信方法确定模块306从应用处理器301获得被请求连接的装置300的装置ID(步骤111)。
然后,通信方法确定模块306将通信环境确定结果请求消息发送到被请求连接的装置300(步骤112)。
然后,通信方法确定模块306从被请求连接的装置300获得通信环境确定结果响应消息(步骤113)。
然后,通信方法确定模块306执行P2P通信可用性确定处理(步骤114)。在该处理中,使用连接请求方装置300的确定结果和被请求连接的装置300的确定结果两者。
例如,由上述P2P通信测试服务器200根据借助于STUN确定的NAT类型来执行P2P通信可用性确定处理。图12是示出根据NAT类型的P2P通信的可用性的表。
在图12中,“OK”表示在无需任何设置的情况下连接可用,“UH”表示借助于UDP打洞(hole punching)连接可用,并且“NG”表示连接不可用。通信方法确定模块306将该表格存储作为数据,将连接请求方装置300和被请求连接的装置300的上述通信环境确定结果的NAT类型应用于表格,并且确定连接可用性。
这里,从连接请求方装置300到被请求连接的装置300的连接的确定结果有时与从被请求连接的装置300到连接请求方装置300的确定结果不同(来自被请求连接的装置的连接是有利的)。鉴于此,通信方法确定模块306确定两个装置300的连接可用性(考虑到连接请求方装置和被请求连接装置互换的情况),并且确定P2P通信的可用性、连接方向和连接方法。
例如,关于连接方向,假设根据两个装置300的通信中继设备350(诸如NAT路由器、代理服务器或者防火墙)的存在/不存在以及根据其类型,仅在一个方向上的连接可用,在具有特殊设置的情况下两个方向上的连接可用等。鉴于此,实现了连接的方向或者需要最少特殊设置的方向被确定为连接方向。
通信方法确定模块306作为上述确定处理的确定结果而获得P2P通信可用性、连接方向和连接方法(步骤115)。
然后,通信方法确定模块306基于上述确定结果而确定P2P通信是否可用(步骤116)。
如果确定P2P通信可用(是),则通信方法确定模块306通知P2P通信模块305通过使用如上所述确定的连接方法以及在如上所述确定的连接方向上借助于P2P通信而连接到其它装置300(步骤117)。
同时,如果确定P2P通信不可用(否),则通信方法确定模块306通知服务器通信模块304经由消息服务器100连接到其它装置300(步骤118)。
(P2P通信连接处理)
接下来,将描述在确定P2P通信可用的情况下的P2P通信连接处理。图13是示出连接源装置300执行的P2P通信连接处理的流程的流程图。图14是示出连接目的地装置300执行的P2P通信连接处理的流程的流程图。此外,图15是示出P2P通信测试服务器200执行的P2P通信连接处理的流程的流程图。
首先,连接源装置300的P2P通信模块305将地址信息获得请求消息发送到P2P通信测试服务器200(图13,步骤131)。
P2P通信测试服务器200的地址信息获得服务器模块202等待上述地址信息获得请求消息(图15,步骤151),并且如果地址信息获得服务器模块202接收到地址信息获得请求消息(步骤152),则获得所接收的消息的发送方的外部IP地址和端口号(步骤153)。
然后,地址信息获得服务器模块202将包括所获得的发送方地址和端口号的地址信息获得响应消息发送到上述连接源装置300的P2P通信模块305(步骤154)。
如果连接源装置300的P2P通信模块305从P2P通信测试服务器200接收到上述地址信息获得响应消息(图13,步骤132),则P2P通信模块305从该消息获得其外部地址及其端口号(步骤133)。
然后,服务器通信模块304经由消息服务器100将包括其外部地址及其端口号的P2P连接开始请求消息发送到连接目的地装置300(步骤134)。
连接目的地装置300的服务器通信模块304经由消息服务器100从上述连接源装置300接收P2P连接开始请求消息(图14,步骤141)。
然后,连接目的地装置300的P2P通信模块305从上述消息获得连接源装置300的外部地址和端口号(步骤142)。
然后,连接目的地装置300的P2P通信模块305将地址信息获得请求消息发送到P2P通信测试服务器200(步骤143)。
与上述类似,P2P通信测试服务器200的地址信息获得服务器模块202获得上述请求消息的发送方的外部IP地址和端口号,并且将包括该外部IP地址和端口号的响应消息发送到连接目的地装置300的P2P通信模块305(图15,步骤151至154)。
然后,如果连接目的地装置300的P2P通信模块305从P2P通信测试服务器200接收到上述地址信息获得响应消息(图14,步骤144),则P2P通信模块305从该消息获得其外部地址及其端口号(步骤145)。
然后,连接目的地装置300的服务器通信模块304经由消息服务器100将包括其外部地址及其端口号的P2P连接开始响应消息发送到连接源装置300(步骤146)。
如果连接源装置300的服务器通信模块304从连接目的地装置300接收到P2P连接开始响应消息(图13,步骤135),则服务器通信模块304从该消息获得连接目的地装置300的外部地址和端口号。
此后,实际上通过使用如上所述确定的连接方法在如上所述确定的连接方向上在连接源装置300与连接目的地装置300之间执行P2P通信处理。此时,连接目的地装置300可暂时执行根据NAT路由器等的类型通过使用UPnP IGD的WAN/LAN的地址/端口号传递设置、手动端口转发设置、防火墙功能设置的改变等,以便接受来自连接源装置300的访问。
[消息传递处理]
接下来,将描述消息服务器100执行的装置300之间的消息传递处理。图16是示出消息传递处理的流程的流程图。消息传递处理不仅在上述P2P通信连接处理中的P2P连接开始请求/响应消息的交换中执行,而且如果确定P2P通信不可用还可在装置300之间的一般消息的交换中执行。
如图16所示,消息服务器100的消息传递处理器103从消息接收器102接收来自装置300的消息(步骤161)。
然后,消息传递处理器103从上述接收的消息获得目的地装置ID(步骤162)。
然后,消息传递处理器103确定与上述目的地装置ID对应的装置300是否连接到连接管理器101(步骤163)。
如果确定连接了与目的地装置ID对应的装置300(是),则消息传递处理器103经由消息发送器104将消息传递到目的地装置300(步骤164)。
同时,如果确定没有连接与目的地装置ID对应的装置300(否),则消息传递处理器103丢弃该消息(步骤165)。
(P2P通信方法的改变的示例)
图17是示出由装置300的移动导致的装置300之间的P2P通信方法的改变的示例的图。
图17示出了移动中的装置300A与静止的装置300B进行P2P通信的情况。其NAT类型为端口限制圆锥NAT(PR)的NAT路由器(通信中继设备350B)连接到装置300B。
如图17所示,如果装置300A在连接到装置300A的通信中继设备350A的NAT类型是端口限制圆锥NAT(PR)的通信环境X中,则装置300A借助于UDP打洞(UH)连接到300B从而开始与装置300B之间的P2P通信。
此后,如果装置300A移动到连接到装置300A的通信中继设备350A的NAT类型是UDP阻断(U)的通信环境Y,则与装置300B的P2P通信不可用,由此建立经由消息服务器100的通信。
此后,如果装置300A移动到连接到装置300A的通信中继设备350A的NAT类型是完全圆锥NAT(FC)的通信环境Z,则装置300B连接到装置300A从而开始与装置300B的P2P通信而无需特殊设置。
如上所述,每个装置300根据由每个装置300的移动而导致的通信环境的改变,改变P2P通信方法和经由消息服务器100的通信方法、P2P通信中的连接方向以及连接方法,并且建立通信。
(逻辑通信模块的描述)
如上所述,上述逻辑通信模块302提供了多种通信基元(primitive)以便基于由路由模块303和下层处理的消息通信(分组通信)增加应用的便利性。
根据该实施例,逻辑通信模块302被配置成提供三种通信基元,即RPC、消息和字节流,并且通过使用字节流来执行Http仿真。
具体地,与在IP中实现TCP的情况类似,在逻辑通信模块302中实现流量控制和重发消息(分组)以及建立流通信的机制。
根据该实施例,由于经由消息服务器100的通信和P2P通信可互换或者这两者在下部消息通信层中一起使用,因此即使经由消息服务器100的通信方法和P2P通信方法互换,逻辑通信基元的连接在逻辑通信层中也继续。
结果,装置300能够无缝地改变上述通信方法,同时继续应用层的操作,这使得用户不会认识到改变。
[结论]
如上所述,根据该实施例,根据由装置300的移动导致的通信环境的改变,经由消息服务器100的连接和P2P连接互换,并且P2P连接方法(包括连接方向)改变。
此外,根据该实施例,装置300包括用于指定通信环境的装置以及用于通过使用如此获得的信息作为密钥来存储通信环境(NAT类型)确定结果的机制。结果,由于装置300,P2P通信测试服务器200(STUN服务器)不需要每次执行确定处理以确定P2P通信方法(或者机会减少)。
此外,根据该实施例,由于消息服务器100还记录了通信环境确定结果信息,因此装置300共享通信环境确定结果信息。结果,即使不同的装置300在同一通信环境中建立P2P通信,消息服务器100也能够省略确定通信环境的处理。
<第二实施例>
接下来,将描述本技术的第二实施例。在该实施例中,除非相反指出,否则配置与上述第一实施例的配置类似。此外,在该实施例中,与上述第一实施例的功能和配置类似的功能和配置将以类似的附图标记来表示,并且将省略或简化其描述。
[系统的网络配置和装置的模块配置]
图18是示出该实施例的系统的网络配置的图。此外,图19是示出该实施例的装置300的软件模块的配置的框图。消息服务器100的硬件配置和软件模块配置以及P2P通信测试服务器200的硬件配置和软件模块配置与上述第一实施例类似。
该实施例与上述第一实施例的不同之处在于,装置300包括支持多个网络的多个网络接口。
即,在该实施例中,装置300的P2P通信模块305、通信环境改变检测模块310和通信环境确定模块307支持上述多个网络和网络接口。具体地,装置300包括支持第一网络(例如,3G网络)的第一网络接口和支持第二网络(例如,无线LAN、WiFi等)的第二网络接口。
此外,如图19所示,在该实施例中,除了与上述第一实施例的软件模块类似的软件模块之外,装置300还包括位置信息获得模块311。
位置信息获得模块311经由任意网络或者从诸如GPS的外部位置信息获得装置定期地获得关于装置300的位置信息。
当通信环境指定模块309创建通信环境指定信息时,通信环境指定模块309还将从位置信息获得模块311获得的位置信息添加到通信环境指定信息。包括位置信息的通信环境指定信息与上述通信环境确定结果信息相关联地存储在通信环境确定结果管理器308(存储单元38)中。
例如,3G网络(即,第一网络)的特征在于:频带窄,可用区域大,并且分配了全球IP地址。同时,WiFi网络(即,第二网络)的特征在于:频带宽,可用区域小,并且通常分配私有IP地址。装置300使用第一网络的特性和第二网络的特性,从而实现对移动装置300更有效的通信。
具体地,装置300使得第一网络总是有效,并且经由第一网络建立经由消息服务器100的通信。
同时,仅在装置300从第一网络或其它装置获得位置信息的情况下以及仅在装置300存在于P2P通信在过去可用的位置附近的情况下,装置300才接通到第二网络的网络接口的电力。
[系统的操作]
在下文中,将具体描述该实施例的系统的操作。
图20是示出装置300执行的根据P2P通信可用性的网络接口控制处理的流程的流程图。此外,图21是示出P2P通信测试服务器200执行的与网络接口控制处理有关的通信环境确定处理的流程的流程图。
首先,装置300的位置信息获得模块311等待获得位置信息的定时器事件(图20,步骤201),并且如果位置信息获得模块311接收到定时器事件(步骤202,是),则位置信息获得模块311经由第一网络、GPS等获得关于装置300的位置信息(步骤203)。
然后,通信环境确定模块307从通信环境指定模块309获得上述位置信息,并且确定该位置信息是否从上次获得的位置信息发生了较大改变(步骤204)。
如果确定位置信息发生了较大改变(是),则通信环境确定模块307经由第一网络将包括通信环境指定信息(其包括位置信息)的通信环境确定结果获得请求发送到P2P通信测试服务器200(步骤205)。
P2P通信测试服务器200的通信环境确定服务器模块203等待通信环境确定结果获得请求消息(图21,步骤211),并且如果通信环境确定服务器模块203接收到该请求消息(步骤212,是),则从该消息获得包括位置信息的通信环境指定信息(步骤213)。
然后,通信环境确定服务器模块203通过使用所获得的通信环境指定信息中的位置信息作为密钥,而从通信环境确定结果管理器204获得相应的通信环境确定结果信息(步骤214)。此时,通信环境确定服务器模块203获得被确定为在位置信息表示的位置附近的通信环境确定结果(或者多个通信环境确定结果的全部)。
如果存在相应的通信环境确定结果(步骤215,是),则通信环境确定服务器模块203响应于上述请求而将通信环境确定结果信息发送到装置300的通信环境确定模块307(步骤216)。
同时,如果根本不存在通信环境确定结果(步骤215,否),则通信环境确定服务器模块203将没有通信环境确定结果的响应发送到装置300的通信环境确定模块307(步骤217)。
然后,通信环境确定服务器模块203基于上述通信环境指定信息而执行STUN服务器处理,获得通信环境确定结果,并且响应于来自执行STUN客户端处理的装置300的通信环境确定模块307的请求而发送通信环境确定结果(步骤98)。通信环境确定结果管理器204与上述位置信息相关联地存储通信环境确定结果。
装置300的通信环境确定模块307从P2P通信测试服务器200接收上述响应(图20,步骤206)。
然后,通信环境确定模块307基于所获得的通信环境确定结果(或者多个结果)而确定与其它装置300的P2P通信的可用性。然后,通信环境确定模块307接通到具有P2P通信可用性的网络的网络接口的电力。同时,通信环境确定模块307关断到没有P2P通信可用性的网络的网络接口的电力(步骤207)。
此后,如果P2P通信可用,则经由接通其电力的网络接口来建立与其它装置300的P2P通信。
(P2P通信方法的改变的示例)
图22是示出该实施例中的由装置300的移动导致的装置300之间的P2P通信方法的改变以及多个网络与装置300之间的关系的示例的图。
与图17所示的上述第一实施例的示例类似,图22示出了移动中的装置300A与静止的装置300B进行P2P通信的情况。通信环境X、Y和Z中的装置300A的NAT类型和装置300B的NAT类型与图17的上述示例类似。
如图22所示,如果装置300A具有位置信息X并且在通信环境X中,则装置300A能够与装置300B进行P2P通信。这里,如果确定第二网络(WLAN)可用,则接通到第二网络接口(WLAN接口)的电力。
此外,如果装置300B具有位置信息Y并且在通信环境Y中,由于与装置300B的P2P通信不可用,因此关断到第二网络接口的电力。
此外,如果装置300B具有位置信息Z并且在通信环境Z中,则与装置300B的P2P通信可用。然而,这里,如果确定第二网络不可用,则关断到第二网络接口的电力,并且建立经由第一网络的P2P通信。
[结论]
如上所述,根据该实施例,如果装置300具有多个网络接口,则装置300能够经由例如3G网络而建立经由消息服务器100的连接,并且如果P2P连接可用则经由WiFi网络建立P2P连接和高速通信。
此外,根据该实施例,装置300从3G网络获得位置信息,并且与位置信息相关联地存储关于WiFi网络中的P2P通信的可用性的信息。利用该配置,装置300通常关断到WiFi网络接口的电力,并且仅在装置300在P2P通信在过去可用的位置附近的情况下接通电力,由此可以以降低的功耗来建立P2P通信。
[变型示例]
本技术不限于上述实施例,而是可在本技术的主旨内多样地改变。
在上述第一和第二实施例中,P2P通信测试服务器200被设置为执行通信环境确定处理以及执行获得用于P2P通信的IP地址和端口号的处理的STUN服务器。然而,消息服务器100可具有P2P通信测试服务器200的功能。
在上述第一和第二实施例中,仅一个消息服务器100在云中,但是可设置多个消息服务器100。在该情况下,可在多个消息服务器100之间中继来自装置300的消息。即,多个消息服务器100中的特定消息服务器100被分配给每个装置300作为要使用的服务器(负责服务器)。可采用任意分配方法,并且例如,可基于各个装置和各个消息服务器的ID而分配消息服务器。如果消息服务器100接收到从装置300发送的消息,其中该消息服务器100不负责该装置,则消息被传递到负责该装置的其他消息服务器100。
在上述第二实施例中,3G网络和无线LAN(WiFi)被示出为多个网络的示例,但是不用说,可采用除这些网络之外的网络。例如,可使用诸如4G网络、LTE网络和WiMAX网络的其它网络以及与其对应的网络接口。
在上述第一和第二实施例的示例中,装置300包括通信方法确定模块306、通信环境确定模块307和通信环境确定结果管理器308。然而,云侧(上述消息服务器100或其它服务器)可包括通信方法确定模块、通信环境确定模块和通信环境确定结果管理器的功能中的一个或者全部。
[注释]
本技术可采用以下配置。
(1)一种信息处理设备,包括:
通信单元,能够通过使用经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与所述网络中的其它信息处理设备通信;以及
控制器,检测所述信息处理设备的通信环境,所述控制器能够根据所述通信环境而确定尽可能地借助于所述对等通信与所述其它信息处理设备通信的方法。
(2)根据(1)所述的信息处理设备,其中,
所述控制器检测由所述信息处理设备的移动而导致的通信环境的改变,并且根据所述通信环境的改变而确定所述通信方法。
(3)根据(1)或(2)所述的信息处理设备,其中,
所述控制器确定安装在所述信息处理设备和所述其它信息处理装置与所述网络之间的通信中继设备的存在/不存在或者所述通信中继设备的类型,并且根据安装的存在/不存在或者所述类型而确定所述信息处理设备或其它信息处理设备是否开始所述对等通信。
(4)根据(2)或(3)所述的信息处理设备,其中,
所述控制器基于所述通信单元的状态改变、所述通信单元接收的信号电平的改变以及所述通信单元使用的IP地址的改变中的至少一个而检测所述通信环境的改变。
(5)根据(1)至(4)中的任意一项所述的信息处理设备,还包括:
存储单元,其中,
所述通信单元能够与所述网络中的确定服务器通信,所述确定服务器能够确定所述通信环境,以及
所述控制器:
控制所述通信单元以接收示出所确定的通信环境的通信环境确定信息,
控制所述存储单元以存储所接收的通信环境确定信息,以及
基于所存储的通信环境确定信息而确定所述通信方法。
(6)根据(1)至(5)项所述的信息处理设备,其中,
所述通信单元包括:
第一网络接口,能够连接到具有第一频带和第一可用区域的第一网络,以及
第二网络接口,能够连接到具有第二频带和第二可用区域的第二网络,以及
所述控制器控制所述通信单元以便在经由所述中继服务器与所述其它信息处理设备通信中使用所述第一网络接口,以及在与所述其它信息处理设备的所述对等通信中尽可能地使用所述第二网络接口。
(7)根据(6)所述的信息处理设备,其中,
所述第二频带大于所述第一频带,以及
所述第二可用区域小于所述第一可用区域。
(8)根据(6)所述的信息处理设备,还包括:
存储单元,其中,
所述控制器:
控制所述通信单元以经由所述第一网络接口接收示出所述信息处理设备的位置的位置信息,
控制所述存储单元以与所接收的位置信息相关联地存储所述通信环境确定信息,以及
基于所接收的位置信息以及基于所存储的位置信息和通信环境确定信息,启用确定所述对等通信可用的网络接口以及禁用确定所述对等通信不可用的网络接口。
(9)根据(1)至(8)所述的信息处理设备,其中,
所述通信单元包括逻辑通信模块,即使在所述通信方法改变的情况下,所述逻辑通信模块也能够通过使用所述信息处理设备的应用而通过相同的过程继续通信。
附图标记说明
31 CPU
33 RAM
38 存储单元
39 通信单元
50 WAN
100 消息服务器
200 P2P通信测试服务器
201 连接管理器
202 地址信息获得服务器模块
203 通信环境确定服务器模块
204 通信环境确定结果管理器
300(300A、300B) 装置
301 应用处理器
302 逻辑通信模块
303 路由模块
304 服务器通信模块
305 P2P通信模块
306 通信方法确定模块
307 通信环境确定模块
308 通信环境确定结果管理器
309 通信环境指定模块
310 通信环境改变检测模块
311 位置信息获得模块
350(350A、350B) 通信中继设备

Claims (12)

1.一种信息处理设备,包括:
通信单元,能够通过使用经由网络中的中继服务器的方法或者不经由中继服务器的对等方法而与所述网络中的其它信息处理设备通信;以及
控制器,检测所述信息处理设备的通信环境,所述控制器能够根据所述通信环境而确定尽可能地借助于所述对等通信与所述其它信息处理设备通信的方法。
2.根据权利要求1所述的信息处理设备,其中,
所述控制器检测由所述信息处理设备的移动而导致的通信环境的改变,并且根据所述通信环境的改变而确定所述通信方法。
3.根据权利要求1所述的信息处理设备,其中,
所述控制器确定安装在所述信息处理设备和所述其它信息处理装置与所述网络之间的通信中继设备的存在/不存在或者所述通信中继设备的类型,并且根据安装的存在/不存在或者所述类型而确定所述信息处理设备或其它信息处理设备是否开始所述对等通信。
4.根据权利要求2所述的信息处理设备,其中,
所述控制器基于所述通信单元的状态改变、所述通信单元接收的信号电平的改变以及所述通信单元使用的IP地址的改变中的至少一个而检测所述通信环境的改变。
5.根据权利要求1所述的信息处理设备,还包括:
存储单元,其中,
所述通信单元能够与所述网络中的确定服务器通信,所述确定服务器能够确定所述通信环境,以及
所述控制器:
控制所述通信单元以接收示出所确定的通信环境的通信环境确定信息,
控制所述存储单元以存储所接收的通信环境确定信息,以及
基于所存储的通信环境确定信息而确定所述通信方法。
6.根据权利要求1所述的信息处理设备,其中,
所述通信单元包括:
第一网络接口,能够连接到具有第一频带和第一可用区域的第一网络,以及
第二网络接口,能够连接到具有第二频带和第二可用区域的第二网络,以及
所述控制器控制所述通信单元以便在经由所述中继服务器与所述其它信息处理设备通信中使用所述第一网络接口,以及在与所述其它信息处理设备的所述对等通信中尽可能地使用所述第二网络接口。
7.根据权利要求6所述的信息处理设备,其中,
所述第二频带大于所述第一频带,以及
所述第二可用区域小于所述第一可用区域。
8.根据权利要求6所述的信息处理设备,还包括:
存储单元,其中,
所述控制器:
控制所述通信单元以经由所述第一网络接口接收示出所述信息处理设备的位置的位置信息,
控制所述存储单元以与所接收的位置信息相关联地存储所述通信环境确定信息,以及
基于所接收的位置信息以及基于所存储的位置信息和通信环境确定信息,启用确定所述对等通信可用的网络接口以及禁用确定所述对等通信不可用的网络接口。
9.根据权利要求1所述的信息处理设备,其中,
所述通信单元包括逻辑通信模块,即使在所述通信方法改变的情况下,所述逻辑通信模块也能够通过使用所述信息处理设备的应用而通过相同的过程继续通信。
10.一种由信息处理设备执行的信息处理方法,包括:
检测所述信息处理设备的通信环境;以及
基于所述通信环境,确定用于与所述其它信息处理设备通信的方法,以便在经由网络中的中继服务器与其它信息处理设备通信的方法以及不经由所述中继服务器的对等通信方法中,尽可能地选择所述对等通信方法。
11.一种使得信息处理设备执行以下步骤的程序:
检测所述信息处理设备的通信环境的步骤;以及
基于所述通信环境,确定用于与所述其它信息处理设备通信的方法的步骤,以便在经由网络中的中继服务器与其它信息处理设备通信的方法以及不经由中继服务器的对等通信方法中,尽可能地选择所述对等通信方法。
12.一种信息处理设备,包括:
通信单元,能够与网络中的第一通信设备和第二通信设备通信,所述第一通信设备和所述第二通信设备能够通过使用经由所述网络中的中继服务器的方法或者不经由中继服务器的对等方法而彼此通信;以及
管理器,管理用于确定所述第一通信设备或第二通信设备的通信环境的确定信息,根据所述通信环境,所述确定信息可用于所述第一通信设备和所述第二通信设备中的一个通信设备与另一通信设备尽可能地进行对等通信。
CN201380015448.4A 2012-03-28 2013-01-31 信息处理设备、信息处理方法和程序 Pending CN104205741A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-074732 2012-03-28
JP2012074732 2012-03-28
PCT/JP2013/000529 WO2013145522A1 (ja) 2012-03-28 2013-01-31 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
CN104205741A true CN104205741A (zh) 2014-12-10

Family

ID=49258849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380015448.4A Pending CN104205741A (zh) 2012-03-28 2013-01-31 信息处理设备、信息处理方法和程序

Country Status (5)

Country Link
US (1) US20150113110A1 (zh)
EP (1) EP2833577A4 (zh)
JP (1) JP5888405B2 (zh)
CN (1) CN104205741A (zh)
WO (1) WO2013145522A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016153955A (ja) * 2015-02-20 2016-08-25 富士ゼロックス株式会社 情報処理装置、プログラム及び方法
CN107085503A (zh) * 2017-03-27 2017-08-22 联想(北京)有限公司 存储设备、存储系统及信息处理方法
CN107454178A (zh) * 2017-08-15 2017-12-08 竞技世界(北京)网络技术有限公司 数据传输方法及装置
WO2018050085A1 (zh) * 2016-09-14 2018-03-22 腾讯科技(深圳)有限公司 实时通话过程中的通道切换方法、客户端与服务器

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015087508A1 (ja) * 2013-12-12 2017-03-16 パナソニックIpマネジメント株式会社 通信方法、通信システムおよび通信装置
RU2645280C1 (ru) 2014-06-24 2018-02-19 Хуавэй Текнолоджиз Ко., Лтд. Способ многоадресной рассылки, аппарат и система для программно-конфигурируемой сети
US10129412B1 (en) * 2014-09-08 2018-11-13 Whatsapp Inc. Establishing and maintaining a VOIP call
JP5937709B1 (ja) * 2015-01-29 2016-06-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信制御装置、通信制御方法及び通信制御プログラム
JP5937708B1 (ja) * 2015-01-29 2016-06-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信制御装置、通信制御方法及び通信制御プログラム
WO2016121881A1 (ja) * 2015-01-29 2016-08-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信制御装置、通信制御方法及び通信制御プログラム
JP2016208162A (ja) * 2015-04-17 2016-12-08 富士通株式会社 判定方法および情報処理装置
US9667636B2 (en) * 2015-04-27 2017-05-30 Cisco Technology, Inc. Detecting network address translation devices in a network based on network traffic logs
TWI584617B (zh) * 2015-11-18 2017-05-21 Walton Advanced Eng Inc Auxiliary data transmission
US11665132B2 (en) * 2018-12-31 2023-05-30 Dish Network Technologies India Private Limited Client-server connections over wide area network
JP6671676B1 (ja) * 2019-09-20 2020-03-25 株式会社コナミデジタルエンタテインメント プログラム、通信装置、および通信方法
WO2024084633A1 (ja) * 2022-10-19 2024-04-25 株式会社システムデザイン 通信確立システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778260B2 (en) * 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
JP4331090B2 (ja) * 2004-11-05 2009-09-16 パナソニック株式会社 通信システム、情報処理装置、仲介サーバ、識別情報送信サーバ、通信方法及びプログラム
JP2007124486A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 通信制御方法
US8656017B2 (en) * 2007-05-16 2014-02-18 Microsoft Corporation Peer-to-peer collaboration system with edge routing
US8165091B2 (en) * 2008-06-27 2012-04-24 Nix John A Efficient handover of media communications in heterogeneous IP networks using LAN profiles and network handover rules
JP2010252261A (ja) 2009-04-20 2010-11-04 Panasonic Corp Vpn装置、vpnネットワーキング方法、及び記憶媒体
JP5304555B2 (ja) * 2009-09-11 2013-10-02 ブラザー工業株式会社 端末装置、通信方法、及び通信プログラム
JP2011188358A (ja) * 2010-03-10 2011-09-22 Panasonic Corp Vpn装置及びip通信装置
US8577355B1 (en) * 2012-05-21 2013-11-05 At&T Intellectual Property I, L.P. Intelligent long term evolution peer-to-peer management

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016153955A (ja) * 2015-02-20 2016-08-25 富士ゼロックス株式会社 情報処理装置、プログラム及び方法
WO2018050085A1 (zh) * 2016-09-14 2018-03-22 腾讯科技(深圳)有限公司 实时通话过程中的通道切换方法、客户端与服务器
CN107085503A (zh) * 2017-03-27 2017-08-22 联想(北京)有限公司 存储设备、存储系统及信息处理方法
CN107454178A (zh) * 2017-08-15 2017-12-08 竞技世界(北京)网络技术有限公司 数据传输方法及装置
CN107454178B (zh) * 2017-08-15 2020-07-31 竞技世界(北京)网络技术有限公司 数据传输方法及装置

Also Published As

Publication number Publication date
US20150113110A1 (en) 2015-04-23
WO2013145522A1 (ja) 2013-10-03
JPWO2013145522A1 (ja) 2015-12-10
JP5888405B2 (ja) 2016-03-22
EP2833577A1 (en) 2015-02-04
EP2833577A4 (en) 2016-04-13

Similar Documents

Publication Publication Date Title
CN104205741A (zh) 信息处理设备、信息处理方法和程序
JP6785376B2 (ja) IoTデバイスコネクティビティ、ディスカバリ、ネットワーキング
KR102017408B1 (ko) 서비스 계층 능력을 사용한 네트워크 및 애플리케이션 관리
US10462260B2 (en) Context-aware and proximity-aware service layer connectivity management
KR100901790B1 (ko) IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법
KR20100019420A (ko) 에지 라우팅을 갖는 피어-투-피어 협업 시스템
US9608906B2 (en) Methods, systems, and computer readable media for identifying network locations associated with endpoints
CN110177128B (zh) 数据传输系统及其建立vpn连接的方法、终端、vpn代理
JP6290053B2 (ja) 通信装置、通信システムおよび通信方法
US20140365606A1 (en) Information processing apparatus, information processing method, and program
CN108370334B (zh) 网络连通性检测
CN107786448B (zh) 建立业务流的转发路径的方法和装置
US20160127458A1 (en) P2p apparatus and method for p2p connection
US11363653B2 (en) Ad hoc service switch-based control of ad hoc networking
WO2017135254A1 (ja) 端末、中継装置選択装置、通信方法、中継装置選択方法、及びプログラム
US10044590B2 (en) Method of effective retaining of NAT channel service
CN104737499A (zh) 终端、消息分发系统、消息分发方法以及消息接收程序
US11546232B1 (en) Video analysis and data delivery method
CN114598532B (zh) 连接建立方法、装置、电子设备和存储介质
AU2013300091B2 (en) Method and apparatus for using rendezvous server to make connections to fire alarm panels
CN105516121B (zh) 无线局域网中ac与ap通信的方法及系统
KR20150143260A (ko) 점대점 연결을 구현하기 위한 방법, 서버와 장치
JP6277676B2 (ja) ルータ装置、通信経路選択方法および通信経路選択プログラム
US11310310B2 (en) Communication device for peer-to-peer communication and a communication network using the same
KR102660593B1 (ko) 핫스팟 세션을 전송하기 위한 방법들 및 시스템들

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141210