网络系统与通信方法、信息处理装置与方法及程序的制作方法

文档序号:7604335阅读:91来源:国知局
专利名称:网络系统与通信方法、信息处理装置与方法及程序的制作方法
技术领域
本发明涉及网络系统及通信方法,信息处理装置及方法,以及程序;具体涉及通过NAPT与其他装置进行通信时适用的网络系统及通信方法,信息处理装置及方法,以及程序。
背景技术
现在因特网中,作为路由选择协议采用因特网协议(InternetProtocol,以下称IP)。最普及的IP版本目前为″4″(以下称IPv4),利用该版本的发送源地址和发送目的方地址的比特数为″32″。以因特网等为代表的全局网络中,基于该IPv4将32比特的地址(以下称IPv4地址)唯一地分配给各通信终端,从而能够识别在这些装置间进行的通信的通信数据的发送源地址和发送目的方地址。
但是,由于因特网利用率的急剧增加,人们开始担心IPv4地址不够用。为了解决这一问题,IETF(Internet Engineering Task Force因特网工程课题组)策划了版本″6″作为IP协议(以下称IPv6),并已开始普及。但是,实际上,为了将因特网利用的路由选择协议全面转到IPv6,需要耗费很多的时间和成本,要完全解决该问题存在着困难。
另外,同样为了解决这些问题,一种名为UPnP(Universal Plugand Play通用即插即用)的技术已经在加以考虑。但是,若作为中继装置使用与UPnP对应的路由器(Router),则需要耗费很多时间和成本。而且,也要将现有的许多不对应于UpnP的路由器全部换成对应于UpnP的路由器,因此,要用该方法完全解决上述的问题并不现实。
因而,作为利用现有的IPv4并使其地址扩大的方法,提出了使用具有特殊性质的地址空间″专用地址″的方法。
专用地址不是像IPv4地址那样,对全局的网络中的各终端装置唯一地分配的地址(以下称全局地址),而是在预定的受限的范围(本地区域)中对各终端分配的地址。因此,本地区域的通信终端装置,用该专用地址与因特网中持有全局地址的其他通信终端装置进行通信时,需要进行将该专用地址变换为全局地址的处理。作为其实现方法,考虑采用NAT(Network Address Translation网络地址转换)。
但是,使用NAT时,需要通过该结构使一个全局地址与一个专用地址对应,若本地区域存在多个通信终端装置,则只有其中的1台通信终端装置能够与因特网连接。
因而,想出了利用在地址下设置的子(辅助)地址即端口的方法。具体而言,使用该方法时,分配给通信终端装置的专用地址和用于通信的端口(即插座)被变换成全局地址和端口。该方法就是被称为NAPT(Network Address Port Translation网络地址端口转换)或IP伪装(IP masquerade)的方法。通过利用该NAPT,能够从持有专用地址和端口的多个通信终端装置对持有全局地址和端口的其他通信终端装置进行通信。
但是,如上所述,通信装置从进行利用NAPT的通信的专用网络的外侧对专用网络中的通信终端装置进行访问时,通信装置不能获知由NAPT进行变换前的通信终端装置的专用地址和端口,如果不改变这种情况,就不能进行上述的通信。
也有与此相对应的方法,也就是使路由器以与专用网络连接的通信终端装置的标识符作为子地址进行识别,专用网络的外部的通信装置访问该通信终端装置时,用该子地址来确定成为通信对方的通信终端装置(例如,参照特开2001-345841号公报(第9-16页,图3、图6~图8)。
但是,存在的问题是,使用以上所述的通信方法时,需要使用如上所述的具有能够利用子地址的功能的路由器,通信装置不能经由不与子地址对应的现有的路由器对专用网络内的通信终端装置进行访问。
另外,还有这样的问题,使用所述的通信方法时,通信装置不能经由多个路由器访问其他通信装置。
而且,使用所述的通信方法时,对通信进行中继的路由器,在通信终端装置的通信目的方的地址及端口更换时,将用于通信终端装置进行通信的中继的端口加1时,特别在加2或2以上时,路由器难以确定与设定的通信终端装置对应的端口,通信装置不能通过这样的路由器对通信终端装置进行访问。

发明内容
本发明鉴于这样的状况而构思,当通信终端装置的通信目的方的地址及端口更换时,即使在将用于通信终端装置的通信中继的端口加2或2以上的NAPT变换的现有设备中,也能容易地通过NAPT与其他装置进行通信。
本发明的网络系统的特征在于第1信息处理装置向第3信息处理装置的第1地址和第2地址经由第1地址变换装置供给用以请求与第1信息处理装置对应的第2网络上的地址的第1数据包和第2数据包;第3信息处理装置取得第1数据包和第2数据包,用第1数据包和第2数据包中包含的、与第1信息处理装置对应的第2网络上的笫3地址和第4地址生成第3数据包和第4数据包,并将生成的第3数据包和第4数据包供给第1信息处理装置;第1信息处理装置取得第3数据包和第4数据包,用第3数据包和第4数据包中包含的第3地址和第4地址预测访问第2信息处理装置时与第1信息处理装置对应的第2网络上的地址即第5地址,并将预测的第5地址供给第4信息处理装置;第4信息处理装置将第5地址与第1信息处理装置的用户ID相关联地存储;第2信息处理装置,经由第2地址变换装置将用以请求与第2信息处理装置对应的第2网络上的地址的第5数据包和第6数据包供给第3信息处理装置的第1地址和第2地址;第3信息处理装置取得第5数据包和第6数据包,用第5数据包和第6数据包中包含的、与第2信息处理装置对应的第2网络上的第6地址和第7地址生成第7数据包和第8数据包,并将生成的第7数据包和第8数据包供给第2信息处理装置;第2信息处理装置取得第7数据包和第8数据包,用第7数据包和第8数据包中包含的第6地址和第7地址预测访问第1信息处理装置时与第2信息处理装置对应的第2网络上的地址即第8地址,并将预测的第8地址供给第4信息处理装置;第4信息处理装置将第8地址与第2信息处理装置的用户ID相关联地存储;第1信息处理装置向第4信息处理装置请求与通信对方即第2信息处理装置的用户对应的地址,第4信息处理装置基于请求将第8地址供给第1信息处理装置;第1信息处理装置取得第8地址,基于第8地址访问第2信息处理装置;第2信息处理装置向第4信息处理装置请求与通信对方即第1信息处理装置的用户对应的地址,第4信息处理装置基于请求将第5地址供给第2信息处理装置;第2信息处理装置取得第5地址,基于第5地址访问第1信息处理装置。
上述第3信息处理装置由与第2网络连接的、具有第1地址的第5信息处理装置和与第2网络连接的、具有第2地址的第6信息处理装置组成,第5信息处理装置取得第1数据包,用第1数据包中包含的第3地址生成第3数据包并供给第1信息处理装置,并取得第5数据包,用第5数据包中包含的第6地址生成第7数据包并供给第2信息处理装置;第6信息处理装置取得第2数据包,用第2数据包中包含的第4地址生成第4数据包并供给第1信息处理装置,并取得第6数据包,用第6数据包中包含的第7地址生成第8数据包并供给第2信息处理装置。
本发明的通信方法的特征在于第1信息处理装置经由第1地址变换装置,将用以请求与第1信息处理装置对应的第2网络上的地址的第1数据包和第2数据包供给第3信息处理装置的第1地址和第2地址;第3信息处理装置取得第1数据包和第2数据包,用第1数据包和第2数据包中包含的与第1信息处理装置对应的第2网络上的第3地址和第4地址生成第3数据包和第4数据包,并将生成的第3数据包和第4数据包供给第1信息处理装置;第1信息处理装置取得第3数据包和第4数据包,用第3数据包和第4数据包中包含的第3地址和第4地址预测访问第2信息处理装置时与第1信息处理装置对应的第2网络上的地址即第5地址,并将预测的第5地址供给第4信息处理装置;第4信息处理装置将第5地址与第1信息处理装置的用户ID相关联地存储;第2信息处理装置经由第2地址变换装置,将用以请求与第2信息处理装置对应的第2网络上的地址的第5数据包和第6数据包供给第3信息处理装置的第1地址和第2地址;第3信息处理装置取得第5数据包和第6数据包,用第5数据包和第6数据包中包含的、与第2信息处理装置对应的第2网络上的第6地址和第7地址生成第7数据包和第8数据包,并将生成的第7数据包和第8数据包供给第2信息处理装置;第2信息处理装置取得第7数据包和第8数据包,用第7数据包和第8数据包中包含的第6地址和第7地址预测访问第1信息处理装置时与第2信息处理装置对应的第2网络上的地址即第8地址,并将预测的第8地址供给第4信息处理装置;第4信息处理装置将第8地址与第2信息处理装置的用户ID相关联地存储;第1信息处理装置向第4信息处理装置请求与通信对方即第2信息处理装置的用户对应的地址,第4信息处理装置基于请求将第8地址供给第1信息处理装置;第1信息处理装置取得第8地址,并基于第8地址访问第2信息处理装置;第2信息处理装置向第4信息处理装置请求与通信对方即第1信息处理装置的用户对应的地址,第4信息处理装置基于请求将第5地址供给第2信息处理装置;第2信息处理装置取得第5地址,并基于第5地址访问第1信息处理装置。
本发明的第1信息处理装置的特征在于设有供给装置,经由第1地址变换装置向与第2网络连接的、具有第1地址和第2地址的第2其他信息处理装置的第1地址和第2地址供给用以请求与信息处理装置对应的第2网络上的地址的第1数据包和第2数据包;第1取得装置,基于由供给装置供给的第1数据包和第2数据包取得包含由第2其他信息处理装置供给的、信息处理装置的第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包;预测装置,用由第1取得装置取得的第3数据包中包含的第3地址和第4数据包中包含的第4地址,预测访问第1其他信息处理装置时与信息处理装置对应的第2网络上的地址即第5地址。
上述供给装置能够接着第1数据包供给第2数据包。
上述第2其他信息处理装置由与第2网络连接的、具有第1地址的第3其他信息处理装置和与第2网络连接的、具有第2地址的第4其他信息处理装置组成,供给装置向第3其他信息处理装置供给第1数据包,并向第4其他信息处理装置供给第2数据包,第1取得装置取得由第3其他信息处理装置供给的第3数据包和由第4其他信息处理装置供给的第4数据包。
上述第1至第4地址可包含IP地址及端口编号。
上述预测装置能够算出第4地址和第3地址的差值并将算出的差值加到第4地址上来预测第5地址。
上述第1信息处理装置中还可设有第1请求装置,请求与上述第2网络连接的、管理信息处理装置和第1其他信息处理装置的第2网络上的地址的第3其他信息处理装置,供给由预测装置预测的第5地址并登录第5地址;第2请求装置,请求由第1其他信息处理装置预测的、登录于第3其他信息处理装置的第1其他信息处理装置的第2网络上的地址即第6地址;第3取得装置,基于第2请求装置取得由第3其他信息处理装置供给的第6地址;第3请求装置,请求开通对基于由第3取得装置取得的第6地址设定的第1其他信息处理装置的第2网络上的地址的通信。
上述第3请求装置能够将用以请求开通与第1其他信息处理装置的通信的第5数据包,分别从信息处理装置的第1网络上的多个地址供给第2地址变换装置的从第5地址起连续的多个地址,请求通信的开通。
上述第3请求装置能够将用以请求开通与第1其他信息处理装置的通信的第5数据包,分别从信息处理装置的第1网络上的多个地址供给第2地址变换装置的从第5地址起每隔一个连续的多个地址,请求通信的开通。
上述第3请求装置能够从信息处理装置的第1网络上的多个地址,分别向第2地址变换装置的第2网络上的作为由连续的多个地址组成的多个地址群的且在各地址群之间存在1个地址的、以第5地址作为最初地址群的起首地址的多个地址群的、相互不同的地址群的各地址,供给用以请求开通与第1其他信息处理装置的通信的第5数据包,请求通信的开通。
上述第3请求装置能够从信息处理装置的第1网络上的多个地址,分别向第2地址变换装置的第2网络上的作为由连续的多个地址组成的多个地址群的且以第5地址作为最初地址群的起首地址的多个地址群、相互不同的地址群的各地址,供给用以请求开通与第1其他信息处理装置的通信的第5数据包,请求通信的开通。
还设有判断是控制与上述第1其他信息处理装置的通信的主装置还是从装置的主从判定装置,第3请求装置能够基于根据主从判定装置的判定结果选择的算法,请求通信的开通。
本发明的第1信息处理方法的特征在于包括供给步骤,经由第1地址变换装置,将用以请求与信息处理装置对应的第2网络上的地址的第1数据包和第2数据包供给与第2网络连接的、具有第1地址和第2地址的第2其他信息处理装置的第1地址和第2地址;第1取得步骤,基于通过供给步骤的处理而供给的第1数据包和第2数据包,取得由第2其他信息处理装置供给的包含信息处理装置的第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包;预测步骤,用通过第1取得步骤取得的第3数据包中包含的第3地址和第4数据包中包含的第4地址,预测访问第1其他信息处理装置时与信息处理装置对应的第2网络上的地址即第5地址。
本发明的第1程序的特征在于令计算机执行如下步骤供给步骤,经由第1地址变换装置,将用以请求与信息处理装置对应的第2网络上的地址的第1数据包和第2数据包供给与第2网络连接的、具有第1地址和第2地址的第2其他信息处理装置的第1地址和第2地址;第1取得步骤,基于通过供给步骤的处理而供给的第1数据包和第2数据包,取得由第2其他信息处理装置供给的包含信息处理装置的第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包;预测步骤,用通过第1取得步骤取得的第3数据包中包含的第3地址和第4数据包中包含的第4地址,预测访问第1其他信息处理装置时与信息处理装置对应的第2网络上的地址即第5地址。
本发明的第2信息处理装置的特征在于设有取得装置,取得由第1其他信息处理装置供给的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息;存储装置,存储由取得装置取得的与第1其他信息处理装置的网络上的地址有关的信息;供给装置,基于第1其他信息处理装置的通信对方即第2其他信息处理装置的请求,将存储装置存储的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息供给第2其他信息处理装置。
本发明的第2信息处理方法的特征在于包括取得步骤,取得由第1其他信息处理装置供给的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息;存储步骤,存储经取得步骤的处理取得的与第1其他信息处理装置的网络上的地址有关的信息;供给步骤,基于第1其他信息处理装置的通信对方即第2其他信息处理装置的请求,将通过存储步骤的处理存储的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息供给第2其他信息处理装置。
本发明的第2程序的特征在于令计算机执行如下步骤取得步骤,取得由第1其他信息处理装置供给的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息;存储步骤,存储经取得步骤的处理取得的与第1其他信息处理装置的网络上的地址有关的信息;供给步骤,基于第1其他信息处理装置的通信对方即第2其他信息处理装置的请求,将通过存储步骤的处理存储的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息供给第2其他信息处理装置。
本发明的网络系统及通信方法中,在第1信息处理装置中,经由第1地址变换装置向第3信息处理装置的第1地址和第2地址供给用以请求与第1信息处理装置对应的第2网络上的地址的第1数据包和第2数据包;在第3信息处理装置中,取得第1数据包和第2数据包,用第1数据包和第2数据包中包含的与第1信息处理装置对应的第2网络上的第3地址和第4地址生成第3数据包和第4数据包,并将生成的第3数据包和第4数据包供给第1信息处理装置;在第1信息处理装置中,取得第3数据包和第4数据包,用第3数据包和第4数据包中包含的第3地址和第4地址预测访问第2信息处理装置时与第1信息处理装置对应的第2网络上的地址即第5地址,并将预测的第5地址供给第4信息处理装置;在第4信息处理装置中,将第5地址与第1信息处理装置的用户ID相关联地存储;在第2信息处理装置中,经由第2地址变换装置向第3信息处理装置的第1地址和第2地址供给用以请求与第2信息处理装置对应的第2网络上的地址的第5数据包和第6数据包;在第3信息处理装置中,取得第5数据包和第6数据包,用第5数据包和第6数据包中包含的与第2信息处理装置对应的第2网络上的第6地址和第7地址生成第7数据包和第8数据包,并将生成的第7数据包和第8数据包供给第2信息处理装置;在第2信息处理装置中,取得第7数据包和第8数据包,用第7数据包和第8数据包中包含的第6地址和第7地址预测访问第1信息处理装置时与第2信息处理装置对应的第2网络上的地址即第8地址,并将预测的第8地址供给第4信息处理装置;在第4信息处理装置中,将第8地址与第2信息处理装置的用户ID相关联地存储;在第1信息处理装置中,向第4信息处理装置请求与通信对方即第2信息处理装置的用户对应的地址;在第4信息处理装置中,基于请求将第8地址供给第1信息处理装置;在第1信息处理装置中,取得第8地址,并基于第8地址访问第2信息处理装置;在第2信息处理装置中,向第4信息处理装置请求与通信对方即第1信息处理装置的用户对应的地址;在第4信息处理装置中,基于请求将第5地址供给第2信息处理装置;在第2信息处理装置中,取得第5地址,并基于第5地址访问第1信息处理装置。
本发明的第1信息处理装置、方法和程序中,经由第1地址变换装置向与第2网络连接的、具有第1地址和第2地址的第2其他信息处理装置的第1地址和第2地址供给用以请求与信息处理装置对应的第2网络上的地址的第1数据包和第2数据包,并基于供给的第1数据包和第2数据包取得由第2其他信息处理装置供给的、包含信息处理装置的第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包,用取得的第3数据包中包含的第3地址和第4数据包中包含的第4地址预测访问第1其他信息处理装置时与信息处理装置对应的第2网络上的地址即第5地址。
本发明的第2信息处理装置、方法和程序中,取得由第1其他信息处理装置供给的、由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息,并将取得的与第1其他信息处理装置的网络上的地址有关的信息加以存储,基于第1其他信息处理装置的通信对方即第2其他信息处理装置的请求,将存储的由第1其他信息处理装置预测的与第1其他信息处理装置的网络上的地址有关的信息供给第2其他信息处理装置。
附图的简单说明

图1是表示本发明适用的网络系统的结构例的示图。
图2是表示图1的中继装置的NAPT变换的情形的示图。
图3是表示图1的局部通信装置内部的结构例的框图。
图4是表示图1的中继装置内部的结构例的框图。
图5是表示图1的用户用服务提供装置的结构例的框图。
图6是表示图1的装置用服务提供装置的结构例的框图。
图7是说明图1的网络系统中的各装置间的通信内容流程图。
图8是说明图1的网络系统中的各装置问的通信内容的紧接图7的流程图。
图9是说明图1的网络系统中的各装置间的通信内容的紧接图8的流程图。
图10是说明图1的网络系统中的各装置间的通信内容的紧接图9的流程图。
图11是说明图1的局部通信装置的认证处理的流程图。
图12是表示认证画面的结构例的示图。
图13是说明图1的用户用服务提供装置的认证处理的流程图。
图14是表示图5所示的用户认证信息数据库的情形的模式图。
图15是说明图1的局部通信装置的通信信息取得处理的流程图。
图16是表示用户指定用画面的结构例的示图。
图17是表示服务请求数据包的结构例的模式图。
图18是说明图1的用户用服务提供装置的信息提供处理的流程图。
图19是表示图5的用户登录信息数据库的情形的模式图。
图20是说明图1的装置用服务提供装置的信息提供处理的流程图。
图21是表示服务提供数据包的结构例的模式图。
图22是表示图1的局部通信装置的开通请求数据包的收发情形的例子的示图。
图23是说明局部通信装置的通信开始请求处理的流程图。
图24是说明再利用型的中继装置的NAPT变换的情形的示图。
图25是说明增量型的中继装置的NAPT变换的情形的示图。
图26是说明图1的局部通信装置的通信建立处理的例子的流程图。
图27是说明图1的局部通信装置的通信建立处理的例子的紧接图26的流程图。
图28是说明图1的局部通信装置的通信建立处理的另一例的流程图。
图29是说明图1的局部通信装置的通信建立处理的另一例的紧接图28的流程图。
图30是表示用于收发STUN消息的UDP数据包的结构例的模式图。
图31是说明图1的网络系统中各装置的STUN消息收发的情形的流程图。
图32是表示用于收发STUN消息的UDP数据包的结构例的模式图。
图33是表示用于收发STUN消息的UDP数据包的另一结构例的模式图。
图34是表示用于收发STUN消息的UDP数据包的又一结构例的模式图。
图35是表示UDP数据包的事务ID的结构例的模式图。
图36是表示UDP数据包的事务ID的另一结构例的模式图。
图37是表示图1的局部通信装置的开通请求数据包的收发情形的例子的示图。
图38是表示图1的局部通信装置的开通请求数据包的收发情形的另一例的示图。
图39是说明图1的局部通信装置的控制处理的流程图。
图40是详细说明图1的局部通信装置的第2通信开始请求处理的流程图。
图41是表示图1的局部通信装置的开通请求数据包的收发情形的例子的示图。
图42是表示图1的局部通信装置的开通请求数据包的收发情形的另一例的示图。
图43是说明图1的局部通信装置的控制处理的另一例的流程图。
图44是详细说明图1的局部通信装置的第3通信开始请求处理的流程图。
图45是详细说明图1的局部通信装置的第4通信开始请求处理的流程图。
图46是表示图1的局部通信装置的开通请求数据包的收发情形的例子的示图。
图47是表示图1的局部通信装置的开通请求数据包的收发情形的另一例的示图。
图48是说明图1的局部通信装置的控制处理的又一例的流程图。
本发明的最佳实施方式以下,就本发明的实施例进行说明。权利要求中记载的构成要素和发明的实施例中的具体例之间的对应关系如下述。该记载是为了确认权利要求中记载的支持发明的具体例,在发明的实施例中作了记载。因此,即使这里存在发明的实施例中记载的内容没有作为与构成要素对应的内容而作记载的具体例,并不意味着该具体例不是与该构成要素对应的内容。相反地,即使作为与构成要素对应的实施例在这里记载了具体例,也并不意味着该具体例是不与该构成要素以外的构成要素对应的实施例。
而且,该记载并不意味着与发明实施例中记载的具体例对应的发明,就完全在权利要求中得到了记载。换言之,该记载是与发明实施例中记载的具体例对应的发明,并不否定该申请的权利要求中未记载的发明的存在,即将来提出分案申请或通过补正追加的发明的存在。
权利要求1中记载的网络系统中设有与第1网络(例如,图1的专用网络10)连接,同时经由变换地址的第1地址变换装置(例如,图1的中继装置12)与第2网络(例如,图1的网络21)连接的第1信息处理装置(例如,图1的局部通信装置11-1至11-n);与第3网络(例如,图1的专用网络30)连接,同时经由变换地址的第2地址变换装置(例如,图1的中继装置32)与上述第2网络连接的第2信息处理装置(例如,图1的局部通信装置31-1至31-n);与上述第2网络连接的具有第1地址和第2地址的第3信息处理装置(例如,图1的装置用服务提供装置51和52);以及与上述第2网络连接的、管理上述第1信息处理装置及上述第2信息处理装置的上述第2网络上的地址的第4信息处理装置(例如,图1的用户用服务提供装置41),该系统的特征在于上述第1信息处理装置经由上述第1地址变换装置向上述第3信息处理装置的上述第1地址和上述第2地址供给(例如,图8的步骤S4和S6)用以请求与上述第1信息处理装置对应的上述第2网络上的地址的第1数据包和第2数据包(例如,图17的服务请求数据包281);上述第3信息处理装置取得(例如,图8的步骤S61和S71)上述第1数据包和上述第2数据包,用上述第1数据包和上述第2数据包中包含的与上述第1信息处理装置对应的上述第2网络上的第3地址和第4地址生成(例如,图20的步骤S212)第3数据包和第4数据包(例如,图21的服务提供数据包321),并将生成的上述第3数据包和上述第4数据包供给(例如,图8的步骤S63和S73)上述第1信息处理装置;上述第1信息处理装置取得(例如,图8的步骤S5和S7)上述第3数据包和上述第4数据包,用上述第3数据包和上述第4数据包中包含的上述第3地址和上述第4地址预测(例如,图8的步骤S8)访问上述第2信息处理装置时与上述第1信息处理装置对应的上述第2网络上的地址即第5地址,并将预测的上述第5地址供给(例如,图9的步骤S9)上述第4信息处理装置;上述第4信息处理装置将上述第5地址与上述第1信息处理装置的用户ID(例如,图19的用户ID311)相关联地存储(例如,图9的步骤S30);上述第2信息处理装置经由上述第2地址变换装置,向上述第3信息处理装置的上述第1地址和上述第2地址供给(例如,图8的步骤S44和S46)用以请求与上述第2信息处理装置对应的上述第2网络上的地址的第5数据包和第6数据包(例如,图17的服务请求数据包281);上述第3信息处理装置取得(例如,图8的步骤S62及步骤S72)上述第5数据包和上述第6数据包,用上述第5数据包和上述第6数据包中包含的与上述第2信息处理装置对应的上述第2网络上的第6地址和第7地址生成(例如,图20的步骤S212)第7数据包和第8数据包(例如,图21的服务提供数据包321),并将生成的上述第7数据包和上述第8数据包供给(例如,图8的步骤S63和S73)上述第2信息处理装置;上述第2信息处理装置取得(例如,图8的步骤S45和S47)上述第7数据包和上述第8数据包,用上述第7数据包和上述第8数据包中包含的上述第6地址和上述第7地址预测(例如,图8的步骤S48)访问上述第1信息处理装置时与上述第2信息处理装置对应的上述第2网络上的地址即第8地址,并将预测的上述第8地址供给(例如,图9的步骤S49)上述第4信息处理装置;上述第4信息处理装置将上述第8地址与上述第2信息处理装置的用户ID(例如,图19的用户ID311)相关联地存储(例如,图9的步骤S30);上述第1信息处理装置向上述第4信息处理装置请求(例如,图15的步骤S174)与通信对方即上述第2信息处理装置的用户对应的地址;上述第4信息处理装置基于上述请求将上述第8地址供给(例如,图9的步骤S31)上述第1信息处理装置;上述第1信息处理装置取得(图9的步骤S10)上述第8地址,并基于上述第8地址访问(例如,图10的步骤S12)上述第2信息处理装置;上述第2信息处理装置向上述第4信息处理装置请求(例如,图15的步骤S174)与通信对方即上述第1信息处理装置的用户对应的地址;上述第4信息处理装置基于上述请求将上述第5地址供给(例如,图9的步骤S31)上述第2信息处理装置;上述第2信息处理装置取得(图9的步骤S50)上述第5地址,并基于上述第5地址访问(例如,图10的步骤S52)上述第1信息处理装置。
权利请求2中记载的网络系统的上述笫3信息处理装置由与上述第2网络连接的、具有上述第1地址的第5信息处理装置(例如,图1的装置用服务提供装置51)和与上述第2网络连接的、具有上述第2地址的第6信息处理装置(例如,图1的装置用服务提供装置52)组成,其特征在于上述第5信息处理装置取得(例如,图8的步骤S61)上述第1数据包,用上述第1数据包中包含的上述第3地址生成(例如,图20的步骤S212)上述第3数据包,供给(例如,图8的步骤S63)上述第1信息处理装置,并取得(例如,图8的步骤S62)上述第5数据包,用上述第5数据包中包含的上述第6地址生成(例如,图20的步骤S212)上述第7数据包,供给(例如,图8的步骤S63)上述第2信息处理装置;上述第6信息处理装置取得(例如,图8的步骤S71)上述第2数据包,用上述第2数据包中包含的上述第4地址生成(例如,图20的步骤S212)上述第4数据包,供给(例如,图8的步骤S73)上述第1信息处理装置,并取得(例如,图8的步骤S72)上述第6数据包,用上述第6数据包中包含的上述第7地址生成(例如,图20的步骤S212)上述第8数据包,供给(例如,图8的步骤S73)上述第2信息处理装置。
权利请求3中记载的通信方法是设有与第1网络(例如,图1的专用网络10)连接并经由变换地址的第1地址变换装置(例如,图1的中继装置12)与第2网络(例如,图1的网络21)连接的第1信息处理装置(例如,图1的局部通信装置11-1至11-n)、与第3网络(例如,图1的专用网络30)连接并经由变换地址的第2地址变换装置(例如,图1的中继装置32)与上述第2网络连接的第2信息处理装置(例如,图1的局部通信装置31-1至31-n)、与上述第2网络连接的具有第1地址和第2地址的第3信息处理装置(例如,图1的装置用服务提供装置51和52)、与上述第2网络连接的管理上述第1信息处理装置及上述第2信息处理装置的上述第2网络上的地址的笫4信息处理装置(例如,图1的用户用服务提供装置41)的网络系统的通信方法,其特征在于上述第1信息处理装置经由上述第1地址变换装置向上述第3信息处理装置的上述第1地址和上述第2地址供给(例如,图8的步骤S4和S6)用以请求与上述第1信息处理装置对应的上述第2网络上的地址的第1数据包和第2数据包(例如,图17的服务请求数据包281);上述第3信息处理装置取得(例如,图8的步骤S61和S71)上述第1数据包和上述第2数据包,用上述第1数据包和上述第2数据包中包含的与上述第1信息处理装置对应的上述第2网络上的第3地址和第4地址生成(例如,图20的步骤S212)第3数据包和第4数据包(例如,图21的服务提供数据包321),并将生成的上述第3数据包和上述第4数据包供给(例如,图8的步骤S63和S73)上述第1信息处理装置;上述第1信息处理装置取得(例如,图8的步骤S5和S7)上述第3数据包和上述第4数据包,用上述第3数据包和上述第4数据包中包含的上述第3地址和上述第4地址预测(例如,图8的步骤S8)访问上述第2信息处理装置时与上述第1信息处理装置对应的上述第2网络上的地址即第5地址,并将预测的上述第5地址供给(例如,图9的步骤S9)上述第4信息处理装置;上述第4信息处理装置将上述第5地址与上述第1信息处理装置的用户ID(例如,图19的用户ID311)相关联地存储(例如,图9的步骤S30);上述第2信息处理装置经由上述第2地址变换装置,向上述第3信息处理装置的上述第1地址和上述第2地址供给(例如,图8的步骤S44和S46)用以请求与上述第2信息处理装置对应的上述第2网络上的地址的第5数据包和第6数据包(例如,图17的服务请求数据包281);上述第3信息处理装置取得(例如,图8的步骤S62及步骤S72)上述第5数据包和上述第6数据包,用上述第5数据包和上述第6数据包中包含的与上述第2信息处理装置对应的上述第2网络上的第6地址和第7地址生成(例如,图20的步骤S212)第7数据包和第8数据包(例如,图21的服务提供数据包321),并将生成的上述第7数据包和上述第8数据包供给(例如,图8的步骤S63和S73)上述第2信息处理装置;上述第2信息处理装置取得(例如,图8的步骤S45和S47)上述第7数据包和上述第8数据包,用上述第7数据包和上述第8数据包中包含的上述第6地址和上述第7地址预测(例如,图8的步骤S48)访问上述第1信息处理装置时与上述第2信息处理装置对应的上述第2网络上的地址即第8地址,并将预测的上述第8地址供给(例如,图9的步骤S49)上述第4信息处理装置;上述第4信息处理装置将上述第8地址与上述第2信息处理装置的用户ID(例如,图19的用户ID311)相关联地存储(例如,图9的步骤S30);上述第1信息处理装置向上述第4信息处理装置请求(例如,图15的步骤S174)与通信对方即上述第2信息处理装置的用户对应的地址;上述第4信息处理装置基于上述请求将上述第8地址供给(例如,图9的步骤S31)上述第1信息处理装置;上述第1信息处理装置取得(图9的步骤S10)上述第8地址,基于上述第8地址访问(例如,图10的步骤S12)上述第2信息处理装置;上述第2信息处理装置向上述第4信息处理装置请求(例如,图15的步骤S174)与通信对方即上述第1信息处理装置的用户对应的地址;上述第4信息处理装置基于上述请求将上述第5地址供给(例如,图9的步骤S31)上述第2信息处理装置;上述第2信息处理装置取得(图9的步骤S50)上述第5地址,并基于上述第5地址访问(例如,图10的步骤S52)上述第1信息处理装置。
权利请求4中记载的信息处理装置的特征在于设有向与上述第2网络(例如,图1的网络21)连接的、具有第1地址和第2地址的第2其他信息处理装置(例如,图1的装置用服务提供装置51和52)的上述第1地址和上述第2地址经由上述第1地址变换装置(例如,图1的中继装置12)供给用以请求与上述信息处理装置(例如,图1的局部通信装置11-1至11-n)对应的上述第2网络上的地址的第1数据包和第2数据包(例如,图17的服务请求数据包281)的供给装置(例如,执行图15的步骤S175及177的处理的图3的通信信息取得处理部65);基于由上述供给装置供给的上述第1数据包和上述第2数据包取得由上述第2其他信息处理装置供给的、包含上述信息处理装置的上述第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包(例如,图21的服务提供数据包321)的第1取得装置(例如,执行图15的步骤S176和S178的处理的图3的通信信息取得处理部65);用由上述第1取得装置取得的上述第3数据包中包含的上述第3地址和上述第4数据包中包含的上述第4地址预测访问上述第1其他信息处理装置时与上述信息处理装置对应的上述第2网络上的地址即第5地址的预测装置(例如,执行图15的步骤S179的处理的图3的通信信息取得处理部65)。
权利请求5中记载的信息处理装置的上述供给装置的特征在于接着上述第1数据包供给(图8的步骤S4和S6或步骤S44和S46)上述第2数据包。
与权利请求6中记载的信息处理装置不相同的上述第2其他信息处理装置由与上述第2网络连接的具有上述第1地址的第3其他信息处理装置(例如,图1的装置用服务提供装置51)和与上述第2网络连接的具有上述第2地址的第4其他信息处理装置(例如,图1的装置用服务提供装置52)组成,其特征在于上述供给装置向上述第3其他信息处理装置供给上述第1数据包,并向上述第4其他信息处理装置供给上述第2数据包;上述第1取得装置取得由上述第3其他信息处理装置供给的上述第3数据包和由上述第4其他信息处理装置供给的上述第4数据包。
权利请求7中记载的信息处理装置的上述第1至第4地址的特征在于包含IP地址及端口编号(例如,如图19的预想通信源Glo-IP-port所示的结构)。
权利请求8中记载的信息处理装置的上述预测装置的特征在于算出上述第4地址和上述第3地址的差值,并将算出的上述差值加到上述第4地址上,从而预测(图15的步骤S179)上述第5地址。
权利请求9中记载的信息处理装置的特征在于还设有第1请求装置(例如,执行图15的步骤S180的处理的图3的通信信息取得处理部65),将由上述预测装置预测的上述第5地址供给与上述第2网络连接的管理上述信息处理装置及上述第1其他信息处理装置的上述第2网络上的地址的第3其他信息处理装置(例如,图1的用户用服务提供装置41),并请求登录上述第5地址;第2请求装置(例如,执行图15的步骤S174的处理图3的通信信息取得处理部65),请求由上述第1其他信息处理装置预测的、上述第3其他信息处理装置登录的上述第1其他信息处理装置的上述第2网络上的地址即第6地址;第3取得装置(例如,执行图15的步骤S181的处理的图3的通信信息取得处理部65),基于上述第2请求装置取得由上述第3其他信息处理装置供给的上述第6地址;第3请求装置(例如,执行图23的步骤S237的处理的图3的通信信息取得处理部65),向基于由上述第3取得装置取得的上述第6地址设定的上述第1其他信息处理装置的上述第2网络上的地址,请求通信的开通。
权利请求10中记载的信息处理装置的上述第3请求装置的特征在于从上述信息处理装置的上述第1网络上的多个地址分别向从上述第2地址变换装置的上述第5地址起连续的多个地址,供给用以请求开通与上述第1其他信息处理装置的通信的的第5数据包,并请求(例如,图23的通信开始请求处理)上述通信的开通。
权利请求11中记载的信息处理装置的上述第3请求装置的特征在于从上述信息处理装置的上述第1网络上的多个地址分别向上述第2地址变换装置的从上述第5地址起每隔一个地连续的多个地址,供给用以请求开通与上述第1其他信息处理装置的通信的第5数据包,并请求(例如,图40的第2通信开始请求处理)上述通信的开通。
权利请求12中记载的信息处理装置的上述第3请求装置的特征在于从上述信息处理装置的上述第1网络上的多个地址分别向上述第2地址变换装置的上述第2网络上的、作为由连续的多个地址组成的多个地址群的且在各地址群之间存在1个地址的、以上述第5地址作为最初地址群的起首地址的多个上述地址群的、相互不同的上述地址群的各地址,供给用以请求开通与上述第1其他信息处理装置通信的第5数据包,并请求(例如,图44的第3通信开始请求处理)上述通信的开通。
权利请求13中记载的信息处理装置的上述第3请求装置的特征在于从上述信息处理装置的上述第1网络上的多个地址分别向上述第2地址变换装置的上述第2网络上的、作为由连续的多个地址组成的多个地址群的且在以上述第5地址为最初地址群的起首地址的多个上述地址群的、相互不同的上述地址群的各地址,供给用以请求开通与上述第1其他信息处理装置的通信的第5数据包,并请求(例如,图45的第4通信开始请求处理)上述通信的开通。
权利请求14中记载的信息处理装置的特征在于还设有判断是控制与上述第1其他信息处理装置的通信的主装置还是从装置的主从判定装置(例如,执行图39的步骤S391的处理的图3的通信信息取得处理部65),上述第3请求装置基于根据上述主从判定装置的判定结果选择的算法,请求(例如,图39的控制处理)上述通信的开通。
权利请求15中记载的信息处理方法的特征在于包括供给步骤(例如,图15的步骤S175及177),经由上述第1地址变换装置(例如,图1的中继装置12)向与上述第2网络(例如,图1的网络21)连接的具有第1地址和第2地址的第2其他信息处理装置(例如,图1的装置用服务提供装置51和52)的上述第1地址和上述第2地址,供给用以请求与上述信息处理装置(例如,图1的局部通信装置11-1至11-n)对应的上述第2网络上的地址的第1数据包和第2数据包(例如,图17的服务请求数据包281);第1取得步骤(例如,图15的步骤S176和S178),基于经上述供给步骤的处理而供给的上述第1数据包和上述第2数据包,取得由上述第2其他信息处理装置供给的包含上述信息处理装置的上述第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包(例如,图21的服务提供数据包321);预测步骤(例如,图15的步骤S179),用通过上述第1取得步骤的处理取得的上述第3数据包中包含的上述第3地址和上述第4数据包中包含的上述第4地址,预测访问上述第1其他信息处理装置时与上述信息处理装置对应的上述第2网络上的地址即第5地址。
权利请求16中记载的程序的特征在于令计算机执行如下步骤供给步骤(例如,图15的步骤S175及177),经由上述第1地址变换装置(例如,图1的中继装置12)向与上述第2网络(例如,图1的网络21)连接的具有第1地址和第2地址的第2其他信息处理装置(例如,图1的装置用服务提供装置51和52)的上述第1地址和上述第2地址,供给用以请求与上述信息处理装置(例如,图1的局部通信装置11-1至11-n)对应的上述第2网络上的地址的第1数据包和第2数据包(例如,图17的服务请求数据包281);第1取得步骤(例如,图15的步骤S176和S178),基于通过上述供给步骤的处理供给的上述第1数据包和上述第2数据包,取得由上述第2其他信息处理装置供给的包含上述信息处理装置的上述第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包(例如,图21的服务提供数据包321);预测步骤(例如,图15的步骤S179),用通过上述第1取得步骤的处理取得的上述第3数据包中包含的上述第3地址和上述第4数据包中包含的上述第4地址,预测访问上述第1其他信息处理装置时与上述信息处理装置对应的上述第2网络上的地址即第5地址。
权利请求17中记载的信息处理装置的特征在于设有取得装置(例如,执行图18的步骤S193的处理的图5的用户登录信息管理处理部155),取得由上述第1其他信息处理装置(例如,图1的局部通信装置11-1至11-n)供给的、与由上述第1其他信息处理装置预测的上述第1其他信息处理装置的上述网络(例如,图1的网络21)上的地址有关的信息;存储装置(例如,图5的用户登录信息数据库177),存储由上述取得装置取得的与上述第1其他信息处理装置的上述网络上的地址有关的信息;供给装置(例如,执行图18的步骤S196的处理的图5的用户登录信息管理处理部155),基于上述第1其他信息处理装置的通信对方即上述第2其他信息处理装置(例如,图1的局部通信装置31-1至31-n)的请求,将上述存储装置存储的、与由上述第1其他信息处理装置预测的上述第1其他信息处理装置的上述网络上的地址有关的信息供给上述第2其他信息处理装置。
权利请求18中记载的信息处理方法的特征在于包括取得步骤(例如,图18的步骤S193),取得由上述第1其他信息处理装置(例如,图1的局部通信装置11-1至11-n)供给的、与由上述第1其他信息处理装置预测的上述第1其他信息处理装置的上述网络(例如,图1的网络21)上的地址有关的信息;存储步骤(例如,图18的步骤S194),存储通过上述取得步骤的处理取得的与上述第1其他信息处理装置的上述网络上的地址有关的信息;供给步骤(例如,图18的步骤S196),基于上述第1其他信息处理装置的通信对方即上述第2其他信息处理装置(例如,图1的局部通信装置31-1至31-n)的请求,将通过上述存储步骤的处理而存储的与由上述第1其他信息处理装置预测的上述第1其他信息处理装置的上述网络上的地址有关的信息,供给上述第2其他信息处理装置。
权利请求19中记载的程序的特征在于令计算机执行如下步骤取得步骤(例如,图18的步骤S193),取得由上述第1其他信息处理装置(例如,图1的局部通信装置11-1至11-n)供给的、与由上述第1其他信息处理装置预测的上述第1其他信息处理装置的上述网络(例如,图1的网络21)上的地址有关的信息;存储步骤(例如,图18的步骤S194),存储通过上述取得步骤的处理取得的与上述第1其他信息处理装置的上述网络上的地址有关的信息;供给步骤(例如,图18的步骤S196),基于上述第1其他信息处理装置的通信对方即上述第2其他信息处理装置(例如,图1的局部通信装置31-1至31-n)的请求,将经上述存储步骤的处理而存储的与由上述第1其他信息处理装置预测的上述第1其他信息处理装置的上述网络上的地址有关的信息,供给上述第2其他信息处理装置。
以下,参照附图就本发明的实施例进行说明。
图1表示适用本发明的网络系统的结构例。
图1所示的网络系统中,各自为即时消息业务(以下称IM服务)通信终端装置的n台局部通信装置11-1至11-n,分别与具有NAPT功能的路由器即中继装置12连接,形成专用网络10。中继装置12再与因特网所代表的全局网络21连接,网络21中的全局的地址即全局地址被进行分配。而且,中继装置12有多个端口作为全局地址的子地址。
以下,局部通信装置11-1至11-n在无需分开说明时,统称为局部通信装置11。
同样地,各自为即时消息业务(以下称IM服务)通信终端装置的n台局部通信装置31-1至31-n,分别与具有NAPT功能的路由器即中继装置32连接,形成与专用网络10不同的专用网络30。另外,中继装置32与网络21连接,网络21中的全局的地址即全局地址被进行分配。而且,中继装置32有多个端口作为全局地址的子地址。
以下,局部通信装置31-1至31-n在无需分开说明时,统称为局部通信装置31。
如图2所示,专用网络10中的专用地址分别分配给专用网络10的局部通信装置11-1至11-n。另外,局部通信装置11有多个端口作为专用地址的子地址。
局部通信装置11,例如经由网络21发送数据时,将被分配的专用地址和端口的信息作为发送源的地址端口信息(Pri-IP-port)与数据一起供给中继装置12。
中继装置12利用NAPT功能,将由局部通信装置11取得的专用网络10中的地址端口信息(Pri-IP-port)(以下,称专用地址端口信息)变换为全局地址和由全局的端口组成的网络21中的地址端口信息(Glo-IP-port)(以下,称全局地址端口信息),与取得的数据一起供给网络21。
另外,专用网络30中也由局部通信终端装置31和中继装置32进行与专用网络10相同的处理,因此其说明省略。
局部通信装置11和局部通信装置31,利用用户用服务提供装置41和装置用服务提供装置51提供的IM服务,经由专用网络10和30、中继装置12和32以及网络21进行相互通信。
以下,就局部通信装置11经由中继装置12进行与网络21侧的装置的通信时,中继装置12进行的通过NAPT的地址端口信息的变换处理进行说明,没有必要说明时,适当省略。另外,对于中继装置32进行的变换处理也同样适当省略。
回到图1,除了中继装置12和32以外,网络21上还连接有局部通信装置11及31利用的提供IM服务的服务器即用户用服务提供装置41、装置用服务提供装置51和装置用服务提供装置52。
用户用服务提供装置41经由网络21,作为IM服务的一部分,提供利用IM服务的面向局部通信装置11或31的用户的服务即用户用服务。用户用服务提供装置41通过进行与经由专用地址10、中继装置12和网络21访问的局部通信装置11或经由专用地址30、中继装置32和网络21访问的局部通信装置31的通信,提供用户用服务。
另外,装置用服务提供装置51和52经由网络21,作为IM服务的一部分,提供利用IM服务的面向局部通信装置11或31的服务即装置用服务。装置用服务提供装置51和52通过进行与经由专用地址10、中继装置12和网络21访问的局部通信装置11或经由专用地址30、中继装置32和网络21访问的局部通信装置31的通信,提供装置用服务。
图3是表示图1的局部通信装置11内部的结构例的框图。
图3中,局部通信装置11的CPU(Central Processing Unit)61按照ROM(Read Only Memory)62中存储的程序执行各种处理。RAM(RandomAccess Memory)63中适当存储CPU61执行各种处理时需要的数据和程序等。
认证处理部64中内置控制部、运算部或数据保持部(均未图示),进行与提供IM服务的局部通信装置11的用户的认证有关的处理。通信信息取得处理部65中内置控制部、运算部或数据保持部(均未图示),执行与在连接其他局部通信装置时取得所需的通信信息有关的处理。局部间通信控制部66中内置控制部、运算部或数据保持部(均未图示),利用IM服务的通信中,控制与成为通信对方的其他局部通信装置的通信。
用户认证用接口提供处理部67中内置控制部、运算部或数据保持部(均未图示),提供用户认证时用于接受用户的输入的GUI(Graphical User Interface图形用户接口)。
用户指定用接口提供处理部68中内置控制部、运算部或数据保持部(均未图示),提供用于用户输入与发送对方有关的信息的GUI。
CPU61、ROM62、RAM63、认证处理部64、通信信息取得处理部65、局部间通信控制部66、用户认证用接口提供处理部67和用户指定用接口提供处理部68,经由总线70相互连接。该总线70上还连接有输入输出接口80。
输入输出接口80与由键盘和鼠标构成的输入部81连接,将输入到输入部81的信号输出给CPU61。另外,输入输出接口80上还连接有由显示器和扬声器等构成的输出部82。
而且,输入输出接口80上还连接了由硬盘和EEPROM(Electronically Erasable and Programmable Read OnlyMemory)等构成的存储部83,以及经由专用网络10等的网络与其他装置进行数据通信的通信部84。在从磁盘、光盘、光磁盘或半导体存储器等的记录媒体组成的移动式媒体91读出数据或写入数据时,使用驱动器85。
另外,图1的局部通信装置31的内部结构例,与局部通信装置11的情况相同,适用图3的框图,其说明省略。
图4是表示图1的中继装置12的内部结构例的框图。
图4中,中继装置12的CPU101根据ROM102中存储的程序执行各种处理。RAM103中适当存储CPU101执行各种处理所需的数据和程序等。
地址变换部104中内置控制部、运算部或数据保持部(均未图示),执行将局部通信装置11经由通信部124供给的专用网络10中的专用地址端口信息变换成网络21中的全局地址端口信息的处理。
CPU101、ROM102、RAM103和地址变换处理部104,经由总线110相互连接。该总线110上还连接有输入输出接口120。
输入输出接口120与由键盘和鼠标构成的输入部121连接,将输入到输入部121的信号输出给CPU101。另外,输入输出接口120上还连接有由显示器和扬声器等构成的输出部122。
而且,输入输出接口120上还连接有由硬盘和EEPROM等构成的存储部123,以及经由专用网络10和网络21与其他装置进行数据通信的通信部124。从磁盘、光盘、光磁盘或半导体存储器等的记录媒体组成的移动式媒体131读出数据或写入数据时,使用驱动器125。
另外,图1的中继装置32的内部结构例与中继装置12的情况相同,适用图4的框图,其说明省略。
图5是表示图1的用户用服务提供装置41的内部结构例的框图。
图5中,用户用服务提供装置41的CPU151按照ROM152中存储的程序执行各种处理。RAM153中适当存储CPU151执行各种处理所需的数据和程序等。
认证处理部154内置控制部、运算部或数据保持部(均未图示),执行提供IM服务的用户的认证处理。用户登录信息管理处理部155内置控制部、运算部或数据保持部(均未图示),执行与局部通信装置供给的、登录于用户登录信息数据库177的用户登录信息的管理有关的处理。
CPU151、ROM152、RAM153、认证处理部154和用户登录信息管理处理部155,经由总线160相互连接。该总线160还连接有输入输出接口170。
输入输出接口170与由键盘和鼠标构成的输入部171连接,将输入到输入部171的信号输出给CPU151。另外,输入输出接口170上还连接有由显示器和扬声器等构成的输出部172。
而且,输入输出接口170上连接有由硬盘和EEPROM等构成的存储部173,以及经由网络21等与其他装置进行数据通信的通信部174。从磁盘、光盘、光磁盘或半导体存储器等的记录媒体组成的移动式媒体181读出数据或写入数据时,使用驱动器175。
另外,输入输出接口170上连接有存储认证处理部154执行认证处理中使用的用户认证信息的用户认证信息数据库176,以及存储与IM服务有关的每个用户的信息即用户登录信息的用户登录信息数据库177。
图6是表示图1的装置用服务提供装置51的内部结构例的框图。
图6中,装置用服务提供装置51的CPU201按照ROM202存储的程序执行各种处理。RAM203中适当存储CPU201执行各种处理时需要的数据和程序等。
地址端口信息提供处理部204内置控制部、运算部或数据保持部(均未图示),基于来自局部通信装置11或31的请求,核查、提供它们的全局地址端口信息。
CPU201、ROM202、RAM203和地址端口信息提供处理部204,经由总线210相互连接。该总线210上还连接有输入输出接口220。
输入输出接口220上连接由键盘和鼠标构成的输入部221,将输入到输入部221的信号输出给CPU201。另外,输入输出接口220上还连接有由显示器和扬声器等构成的输出部222。
而且,输入输出接口220上还连接有由硬盘和EEPROM等构成的存储部223,以及经由网络21等与其他装置进行数据通信的通信部224。从磁盘、光盘、光磁盘或半导体存储器等的记录媒体组成的移动式媒体231读出数据或写入数据时,使用驱动器225。
另外,图1的装置用服务提供装置52具有与图6的装置用服务提供装置基本相同的结构,且进行同样的处理,能够适用图6的框图,其说明省略。
接着,参照图7至图10的流程图,就图1的网络系统中的各装置执行的处理的流程例进行说明。另外,需要时,将参照图11至图29进行详细说明。
这里,说明局部通信装置11利用用户用服务提供装置41及装置用服务提供装置51提供的IM服务与局部通信装置31进行通信时,即在相互不同的专用网络中存在的通信装置之间经由具有NAPT功能的2个路由器进行通信时的情况。
最初,为了利用IM服务,局部通信装置11由用户操作,步骤S1中,将用户的认证处理的请求经由中继装置12供给用户用服务提供装置41。用户用服务提供装置41在步骤S21中,取得供给的认证请求。
同样地,为了利用IM服务,局部通信装置31由用户操作,在步骤S41中,将用户的认证处理的请求经由中继装置32供给用户用服务提供装置41。用户用服务提供装置41在步骤S21中,取得供给的认证请求。
经局部通信装置11或31取得了认证请求的用户用服务提供装置41,在步骤S23中,分别对它们进行认证处理。然后,若局部通信装置11或31的用户被认证,则用户用服务提供装置41在步骤S24中,经由网络21对局部通信装置11或31供给认证成功通知。
局部通信装置11在步骤S2中,取得该认证成功通知,确认用户被认证的情况。同样地,局部通信装置31在步骤S42中,取得由用户用服务提供装置41供给的认证成功通知,确认用户被认证的情况。
再有,以上的通信中,局部通信装置11和31以及用户用服务提供装置41,将发送和接收的数据包基于采用HTTP(HyperText TransferProtocol)和RTP(Real-time Transport Protocol)等的TCP/IP(Transmission Control Protocol/Internet Protocol)协议体系加以处理。
以下,参照图11的流程图就以上的处理中局部通信装置11执行的认证处理的例进行说明。需要时将参照图12进行说明。
经用户操作后开始了认证处理的局部通信装置11的认证处理部64,在步骤S121中,控制通信部84,经由中继装置12向用户用服务提供装置41请求与用户认证有关的信息。
被请求了与用户认证有关的信息的用户用服务提供装置41,如后文所述,将与用户认证有关的信息经由网络21供给作为请求源的局部通信装置11。
认证处理部64控制通信部84,接受与用户认证有关的信息,经过预定的时间后,执行步骤S122的处理来判断是否取得了与用户认证有关的信息。若判定为取得了与用户认证有关的信息,则认证处理部64基于取得的与用户认证有关的信息来控制用户认证用接口提供处理部67,使之供给用户认证用的GUI,在步骤S123中,将该GUI供给输出部82,并在显示器上显示图12所示的认证画面。
如图12所示,认证画面251中,除了表示是IM服务的认证画面的″XXX服务注册点″字样的消息以外,还设有输入利用服务的用户(局部通信装置11的用户)的用户ID的用户ID输入栏252,输入与用户ID相关联而设定的密码的密码输入栏253,通过用户操作将认证请求供给用户用服务提供装置41的注册按键254,以及通过用户操作中止认证处理的取消按键255。
IM服务的用户ID及密码是利用IM服务向局部通信装置11的用户预先分配的信息。进行认证处理时,局部通信装置11的用户分别将该用户ID及密码输入到用户ID输入栏252和密码输入栏253,并操作注册按键254。
回到图11,在步骤S124中,认证处理部64控制输入部81,判断是否接受了由用户ID及密码组成的用户认证信息的输入,在判定为已接受了之前待机。
若判定用户操作输入部81并输入了用户认证信息,则认证处理部64进入步骤S125的处理,将接受的用户认证信息作为认证请求经由中继装置12供给用户用服务提供装置41。该处理与图7的步骤S1的处理对应。
用户用服务提供装置41一旦取得包含该用户认证信息的认证请求,就进行关于用户认证信息的认证,并将认证结果经由网络21供给局部通信装置11。
局部通信装置11的认证处理部64控制通信部84,接受与用户认证有关的信息,并在经过预定的时间后,在步骤S126中判断是否取得了该认证结果。
如图7的步骤S2的处理那样,若判断为取得了认证结果,则认证处理部64在步骤S127中基于取得的认证结果来判断局部通信装置11的用户是否被认证,若判定已被认证,则在步骤S128中控制输出部82,将表示已被认证的情况的认证消息在显示器上显示,于是认证处理结束。
若在步骤S122中判定为未取得与用户认证有关的信息,则认证处理部64进入步骤S129的处理,控制输出部82在显示器上显示表示认证失败的情况的出错消息。
显示了出错消息的认证处理部64,在步骤S130中判断是否再次进行认证,若基于用户的操作等判定再次进行认证,则返回到步骤S123的处理,并重复进行该步骤以下的处理。
若在步骤S130中判定为不再进行认证而结束认证处理,则认证处理部64结束认证处理。
若在步骤S126中判定为未取得由用户用服务提供装置41供给的认证结果,则认证处理部64进入步骤S129,如上述那样进行处理。
另外,若步骤S127中判定为用户没有被认证,则认证处理部64进入步骤S129,如上述那样进行处理。
再有,利用IM服务的局部通信装置31,进行与上述的处理相同的认证处理。因此,图11的流程图及图12的认证画面的例子对于由局部通信装置31进行的认证处理均可适用,其说明省略。
接着,参照图13的流程图,说明与该认证处理对应地进行处理的用户用服务提供装置41的认证处理的例子。需要时将参照图14进行说明。
用户用服务提供装置41的认证处理部154,在步骤S151中控制通信部174,判断是否请求了通过图9的步骤S121的处理经网络21由局部通信装置11或31供给的与用户认证有关的信息,在判定为已被请求之前待机。
若判定为与用户认证有关的信息已被请求,则认证处理部154就控制通信部174,并在步骤S152中向请求源供给与用户认证有关的信息。
被供给了与用户认证有关的信息的认证处理部154,控制通信部174,在接受了用户认证信息并经过预定的时间后,在步骤S153中,判定是否通过图11的步骤S125的处理取得了局部通信装置11或31供给的用户认证信息。
若判定为取得了用户认证信息,则认证处理部154就进入步骤S154的处理,参照用户认证信息数据库176进行认证处理。该处理与图7的步骤S23的处理对应。
图14是表示用户认证信息数据库176存储用户认证信息的状态的模式图。用户认证信息数据库176将预先登录的用户认证信息261与用户ID和用户用密码相互对应后加以存储。认证处理部154通过参照该预先登录的用户认证信息261对取得的用户认证信息作出比较,判断是否为合法的用户。
回到图13,认证处理部154在步骤S155中控制通信部174,将该认证结果经由网络21供给局部通信装置11或31。该处理与图7的步骤S24的处理对应。认证处理部154在供给了认证结果后,结束认证处理。再有,认证处理部154在结束了认证处理后,通过CPU151的控制等开始与上述的认证处理同样的新的认证处理。
若在步骤S153中判定为没有取得用户认证信息,则认证处理部154就结束认证处理。再有,认证处理部154在结束了认证处理后,通过CPU151的控制等开始与上述的认证处理同样的新的认证处理。
回到图7,一旦在步骤S2中取得表示认证成功的情况的认证成功通知,局部通信装置11就如后文所述显示GUI画面,让用户指定通信对方。用户确定了通信对方时,局部通信装置11就在步骤S3中,将包含通信对方的全局地址端口信息等的通信信息的请求,经由中继装置12供给用户用服务提供装置41。用户用服务提供装置41在步骤S25中,取得供给的通信信息的请求。
再有,这个用户用服务提供装置41取得的通信信息的请求,经由中继装置12供给并由中继装置12作了NAPT变换后,被附加上中继装置12的(与局部通信装置11对应的)全局地址端口信息。
同样地,一旦在步骤S42中取得表示认证成功的情况的认证成功通知,局部通信装置31就如后文所述显示GUI画面,让用户指定通信对方,用户确定了通信对方时,在步骤S43中,将包含通信对方的全局地址端口信息等的通信信息的请求,经由中继装置32供给用户用服务提供装置41。用户用服务提供装置41在步骤S26中,取得供给的通信信息的请求。
再有,这个用户用服务提供装置41取得的通信信息的请求,经由中继装置32供给并由中继装置32作了NAPT变换后,被附加上中继装置32的(与局部通信装置31对应的)全局地址端口信息。
从局部通信装置11或31取得通信信息的请求的用户用服务提供装置41,在步骤S27中,如后文所述,用被附加上供给的通信信息的请求的中继装置12或32的全局地址端口信息,将预先在用户登录信息数据库176中登录的用户登录信息更新。
再有,以上的通信中,局部通信装置11和31以及用户用服务提供装置41,基于采用HTTP和RTP等的TCP/IP协议体系处理发送和接收的数据包。
供给了通信信息的请求的局部通信装置11,进入图8的步骤S4的处理,将如后文所述的服务请求数据包经由中继装置12供给装置用服务提供装置51。装置用服务提供装置51在步骤S61中取得该服务请求数据包。
再有,这个装置用服务提供装置51取得的服务请求数据包,经由中继装置12供给并由中继装置12作了NAPT变换后,被附加上中继装置12的(与局部通信装置11对应的)全局地址端口信息。
同样地,供给了通信信息的请求的局部通信装置31进入图8的步骤S44的处理,将如后文所述的服务请求数据包经由中继装置32供给装置用服务提供装置51。装置用服务提供装置51在步骤S62中取得该服务请求数据包。
再有,这个装置用服务提供装置51取得的服务请求数据包,在由中继装置32供给并由中继装置32NAPT作了变换后,被附加上中继装置32的(与局部通信装置31对应的)全局地址端口信息。
从局部通信装置11或31取得了服务请求数据包的装置用服务提供装置51,在骤S63中,用附加于取得的服务请求数据包的中继装置12或32的全局地址端口信息生成服务提供数据包,并经由网络21供给服务请求数据包的发送源即局部通信装置11或31。
局部通信装置11在步骤S5中,取得该服务提供数据包。同样地,局部通信装置31在步骤S45中,取得该服务提供数据包。
局部通信装置11或31将对以上的装置用服务提供装置51所作的处理再次对装置用服务提供装置52执行。
即,局部通信装置11进入图8的步骤S6的处理,将后文所述的服务请求数据包经由中继装置12供给装置用服务提供装置52。装置用服务提供装置52在步骤S71中,取得该服务请求数据包。
再有,这个装置用服务提供装置52取得的服务请求数据包,与上述的装置用服务提供装置51的情况一样,经由中继装置12供给并经中继装置32作的NAPT变换后,被附加上中继装置12的(与局部通信装置11对应的)全局地址端口信息。
同样地,供给了通信信息的请求的局部通信装置31,进入图8的步骤S46的处理,将后文所述的服务请求数据包经由中继装置32供给装置用服务提供装置52。装置用服务提供装置52在步骤S72中,取得该服务请求数据包。
再有,这个装置用服务提供装置52取得的服务请求数据包,与上述的装置用服务提供装置51的情况一样,经由中继装置32供给并经中继装置32作的NAPT变换后,被附加上中继装置32的(与局部通信装置31对应的)全局地址端口信息。
从局部通信装置11或31取得服务请求数据包的装置用服务提供装置52,在步骤S73中,用附加于取得的服务请求数据包的中继装置12或32的全局地址端口信息生成服务提供数据包,并经由网络21供给服务请求数据包的发送源即局部通信装置11或31。
局部通信装置11在步骤S7中,取得该服务提供数据包。同样地,局部通信装置31在步骤S47中,取得该服务提供数据包。
从装置用服务提供装置51和52取得2个服务提供数据包的局部通信装置11在步骤S8中,基于该2个服务提供数据包中包含的全局地址信息,预想(预测)通信源的中继装置的地址端口信息,即中继装置11的(与局部通信装置11对应的)全局地址信息。
中继装置11每次变更局部通信装置11的通信目的方的地址端口信息时,有时存在使得与局部通信装置11对应的端口变更的情况。局部通信装置11通过步骤S8的处理,用从装置用服务提供装置51和52取得的2个服务提供数据包预想(预测)与下一通信中局部通信装置11对应的地址端口信息(最新的全局地址端口信息),详见后述。
同样地,从装置用服务提供装置51和52取得2个服务提供数据包的局部通信装置31,在步骤S48中,基于该2个服务提供数据包中包含的全局地址信息,预想(预测)通信源的中继装置的地址端口信息,即最新的中继装置11的(与局部通信装置11对应的)全局地址信息。
再有,以上的通信中,局部通信装置11和31以及装置用服务提供装置51,将发送和接收的服务请求数据包和服务提供数据包基于采用STUN(Simple Traversal of UDP through NATs)、RTP或RTCP(RTPControl Protocol)等的UDP/IP(User Datagram Protocol/IP)协议体系进行处理。
局部通信装置11在步骤S8中,利用取得的2个服务提供数据包中包含的全局地址端口信息,预想(预测)了中继装置12的全局地址端口信息后,进入图9的步骤S9的处理,并将该信息作为通信源地址端口信息经由中继装置12供给用户用服务提供装置41。用户用服务提供装置41在图9的步骤S28中,取得该通信源地址端口信息。
同样地,局部通信装置31在步骤S48中利用取得的2个服务提供数据包中包含的全局地址端口信息,预想(预测)了中继装置32的全局地址端口信息后,在图9的步骤S49中将该信息作为通信源地址端口信息经由中继装置32供给用户用服务提供装置41。用户用服务提供装置41在图9的步骤S29中取得该通信源地址端口信息。
从局部通信装置11或31取得了通信源地址端口信息的用户用服务提供装置41在步骤S30中,如后文所述,将该通信源地址端口信息登录到用户登录信息数据库177。然后,在步骤S31中,用户用服务提供装置41将已登录于用户登录信息数据库177的通信目的方的通信信息经由网络21供给局部通信装置11或31。
局部通信装置11在步骤S10中,取得该通信目的方的通信信息。同样地,局部通信装置31在步骤S50中,取得该通信目的方的通信信息。
即,这时用户用服务提供装置41将由局部通信装置11供给的、登录的局部通信装置11的通信源地址端口信息(预想(预测)的中继装置12的全局地址端口信息)供给局部通信装置31,并将由局部通信装置31供给的、登录的局部通信装置31的通信源地址端口信息(预想(预测)的中继装置32的全局地址端口信息)供给局部通信装置11。
再有,以上的通信中,局部通信装置11和31以及用户用服务提供装置41基于TCP/IP协议体系处理发送和接收的数据包。
以下,参照图15的流程图就以上的处理中局部通信装置11执行的通信信息取得处理的例子进行说明。需要时将参照图16及17进行说明。
在CPU61控制等控制下开始了通信信息取得处理的局部通信装置11的通信信息取得处理部65,在步骤S171中经由中继装置12向用户用服务提供装置41请求指定通信对方所需的信息。
请求了指定通信对方所需的信息的用户用服务提供装置41,如后文所述,将指定通信对方所需的信息经由网络21供给请求源即局部通信装置11。
通信信息取得处理部65控制通信部84并接受指定通信对方所需的信息,经过预定的时间后,执行步骤S172的处理来判断是否取得了指定通信对方所需的信息。若判定为取得了指定通信对方所需的信息,则通信信息取得处理部65就基于取得的指定通信对方所需的信息控制用户指定用接口提供处理部68,并使之供给用户指定用的GUI,在步骤S173中,将该GUI供给输出部82,在显示器上显示图16所示的用户指定画面。
如图16所示,用户指定画面271中设有表示可选择作为通信对方的其他用户的用户一览显示栏272,用户输入作为通信对方选择的用户ID的用户ID输入栏273,以及通过用户操作输入通信开始的指示的通信开始按键274。
IM服务的用户从用户一览显示栏中显示的可作为现在通信对方选择的用户的用户ID中选择通信对方,将该用户ID输入到用户ID输入栏273,然后操作通信开始按键274。
回到图15,在步骤S174中,通信信息取得处理部65控制输入部81,接受用户ID和密码组成的用户认证信息的输入。
用户将通信对方的用户ID输入到用户指定画面271的用户ID输入栏273并操作了通信开始按键274时,通信信息取得处理部65在步骤S174中,控制通信部84,将通信对方的通信信息请求经由中继装置12供给用户用服务提供装置41。该处理与图7的步骤S3的处理对应。
供给了通信对方的通信信息请求的通信信息取得处理部65,为了掌握中继装置12中的NAPT变换后的地址端口信息,即中继装置12的(与局部通信装置11对应的)全局地址端口信息,在步骤S175中控制通信部84,将图17所示的服务请求数据包经由中继装置12供给装置用服务提供装置51。该处理与图8的步骤S4的处理对应。
为了数据链路层中的通信,服务请求数据包281作为MAC(MediaAccess Control媒体访问控制)数据包构成。如图15所示,服务请求数据包281由MAC首标282及MAC有效载荷283组成。
为了网络层中的通信,MAC有效载荷283作为IP数据包构成,包含IP首标284及IP有效载荷285。IP首标284中包含,表示该服务请求数据包281是与装置用服务提供装置51提供的服务对应的数据包的标识符即协议编号286,表示服务请求数据包的发送源的IP地址(这时为局部通信装置11的专用地址)的数据即发送源的IP地址287,以及表示服务请求数据包的发送目的方的IP地址(这时为装置用服务提供装置51的全局地址)的数据即发送目的方IP地址288。
另外,通过该服务请求数据包281转送时进行的中继装置12的NAPT变换,发送源的IP地址287的值被变换成中继装置12的全局地址。即,装置用服务提供装置51取得时的发送源的IP地址287,表示中继装置12的全局地址。
为了传输层中的通信,IP有效载荷285构成为UDP数据包,包含UDP首标289及UDP有效载荷290。UDP首标289中包含表示发送该服务请求数据包时用的发送源的端口编号(即,局部通信装置11的端口编号)的数据即发送源端口编号291,以及表示该服务请求数据包的发送目的方的端口编号(即,装置用服务提供装置51的端口编号)并表示该服务请求数据包281是与装置用服务提供装置51提供的服务对应的数据包的标识符即发送目的方端口编号292。
再有,通过该服务请求数据包281转送时进行的中继装置12的NAPT变换,发送源端口编号291的值被变换成中继装置12的端口编号。即,装置用服务提供装置51取得时的发送源端口编号291,表示中继装置12的全局的端口编号。
为了进行采用STUN(Simple Traversal of UDP through NATs)协议的通信,UDP有效载荷290构成为STUN数据包,包含STUN首标293和STUN有效载荷294。STUN首标293中包含STUN消息类型(STUN messagetype)295和事务ID(Transaction ID)296,前者是表示该数据包是包含基于STUN协议的请求的数据包,并表示该服务请求数据包281是与装置用服务提供装置51提供的服务对应的数据包的标识符,后者用来识别事务。
另外,STUN有效载荷294中包含消息类型(Message type)297,即表示消息的内容且同时表示该服务请求数据包281是与装置用服务提供装置51提供的服务对应的数据包的标识符。
如上所示,服务请求数据包281所包含的IP首标324、UDP首标329、STUN首标333和STUN有效载荷334中,包含表示该服务请求数据包281是与装置用服务提供装置51提供的服务对应的数据包的标识符,通过这些标识符,装置用服务提供装置51能够基于服务请求数据包281的请求进行处理。
回到图15,供给了如上所述的服务请求数据包的通信信息取得处理部65,在步骤S176中控制通信部85,判断是否取得了与供给的服务请求数据包对应的服务提供数据包。若判定为取得了服务提供数据包,则通信信息取得处理部65进入步骤S177的处理,控制通信部84,参照图17,将如上所述的服务请求数据包经由中继装置12供给装置用服务提供装置52。该处理与图8的步骤S6的处理对应。
在步骤S178中,供给了服务请求数据包的通信信息取得处理部65控制通信部85,判断是否取得了与供给的服务请求数据包对应的服务提供数据包,若判定取得了服务提供数据包,则通信信息取得处理部65就进入步骤S179的处理,抽出取得的2个服务提供数据包中所包含的服务请求数据包的发送中使用的中继装置12的地址端口信息,并从地址端口信息算出它们之间的差值,并将该差值加到后面取得的地址端口信息上,预想(预测)下次的通信(访问局部通信装置31时通信)中的通信源全局地址端口信息(通信源Glo-IP-port)。
在步骤S180中,通信信息取得处理部65将预想的(预测的)全局地址端口信息(以下,称为预想全局地址端口信息)经由中继装置12供给用户用服务提供装置41,作为用户登录信息请求通信源的预想全局地址端口信息的登录。该处理与图9的步骤S9的处理对应。
请求了通信源的预想全局地址端口信息登录的用户用服务提供装置41,基于该请求更新用户登录信息,并基于经更新的最新用户登录信息将与局部通信装置11的通信对方的通信有关的信息即通信目的方的通信信息经由网络21供给局部通信装置11。
在步骤S181中,局部通信装置11的通信信息取得处理部65控制通信部84,判断是否取得了通信目的方的通信信息,若判定为没有取得,则进入步骤S182的处理,在控制输出部81执行出错处理后,结束通信信息取得处理。另外,若在步骤S181中判定为取得了通信目的方的通信信息,则省略步骤S182的处理,结束通信信息取得处理。
若在步骤S176或S178中判定为没有取得服务提供数据包,则通信信息取得处理部65就进入步骤S182的处理,在执行出错处理后结束通信信息取得处理。
以上处理中,局部通信装置11的通信信息取得处理部65向装置用服务提供装置51和52的两方供给同样的服务请求数据包,并从各方取得服务提供数据包。
这是为了预想(预测)中继装置12为局部通信装置11的下一通信分配的端口而执行的处理。
例如,若中继装置12与局部通信装置11的通信目的方的地址端口信息无关地将同样的端口与局部通信装置11对应,也就是,若将从局部通信装置11取得的数据包的发送源地址端口信息作NAPT变换时,与通信目的方的地址端口信息无关地变换成同样的全局地址端口信息,则下一通信中,从装置用服务提供装置51供给的服务提供数据包中包含的地址端口信息成为与局部装置11对应的全局地址端口信息。
但是,例如,若每次局部通信装置11的通信目的方的地址端口信息变化时,中继装置12将与局部通信装置11对应的端口编号逐一增加(加1),则下一通信中,从装置用服务提供装置51供给的服务提供数据包中包含的地址端口信息不成为与局部装置11对应的全局地址端口信息。
因此,局部通信装置11的通信信息取得处理部65从地址端口信息不同的2个装置用服务提供装置51和52两方取得服务提供数据包,并算出它们的服务提供数据包中包含的全局地址端口信息的差值,通过将该差值加到后面的通信即与装置用服务提供装置52的通信中的全局地址端口信息上,预想(预测)下一通信中的全局地址端口信息。
这样一来,即使与局部通信装置11对应的全局地址端口信息按照通信目的方的地址端口信息变化时,局部通信装置11也能够预想(预测)下一通信中的与局部通信装置11对应的全局地址端口信息,从而能够应对更多种类的中继装置。
再有,利用IM服务的局部通信装置31进行与上述的处理相同的通信信息取得处理。因此,对于局部通信装置31的通信信息取得处理,图15的流程图、图16的用户指定画面以及图17的服务请求数据包的例子均可适用,其说明从略。
接着,就与该通信信息取得处理对应地执行的用户用服务提供装置41的信息提供处理的例子,参照图18的流程图进行说明。需要时将参照图19进行说明。
最初,在步骤S191中,用户用服务提供装置41的用户登录信息管理处理部155控制通信部174,判断局部通信装置11或31是否取得了图15的步骤S174的处理中供给的通信信息请求,在判定为已取得之前待机。
若判定为取得了通信信息请求,则用户登录信息管理处理部155就在步骤S192中,将图19所示的用户登录信息数据库177中存储的用户登录信息的、与通信信息请求源对应的用户登录信息的通信目的方全局地址端口信息更新。
如图19所示,登录于用户登录信息数据库177的用户登录信息310中包含用户ID311,预想(预测)的通信源的全局地址端口信息即预想通信源全局地址端口信息(预想通信源Glo-IP-port)312,以及用户想要通信的通信目的方的全局地址信息即通信目的方全局地址端口信息(通信目的方Glo-IP-port)313,它们被相互关连地存储。
通信目的方全局地址端口信息313,是与该用户登录信息的用户ID311对应的用户想要的通信对方侧的全局地址端口信息;预想通信源全局地址端口信息312,是与该用户登录信息的用户ID311对应的用户侧的全局地址端口信息。
例如,若局部通信装置11的用户的用户ID为AAA-usr,局部通信装置31的用户的用户ID为BBB-usr,且该2个用户相互通信时,则与用户ID″AAA-usr″对应的预想通信源全局地址端口312中登录预想(预测)成局部通信装置11的通信中使用的中继装置12的全局地址端口信息″ppp.qqq.rrr.sssttt″,关于″BBB-usr的预想通信源全局地址端口信息″的指示登录到与用户ID″AAA-usr″对应的通信目的方全局地址端口313中,以使预想(预测)成局部通信装置31的通信中使用的中继装置32的全局地址端口信息(即,BBB-usr的预想通信源全局地址端口信息)被采用。
再有,若没有指定通信对方,则在该用户的用户登录信息的通信目的方全局地址端口信息313中登录″(none)″。
如上所述,用户登录信息管理处理部155在步骤S192的处理中,将用户登录信息310中所包含的通信目的方全局地址端口信息313的信息更新。该处理与图7的步骤S27的处理对应。
其后,取得了服务供给数据包的局部通信装置11或31,通过图15的步骤S180的处理,请求登录通信源全局地址端口信息。
回到图18,在步骤S193中,用户登录信息管理处理部155控制通信部174,判断是否取得了通信源全局地址信息的登录请求。
若判定为已取得,则用户登录信息管理处理部155就在步骤S194中,将与请求了该通信源全局地址信息登录的用户对应的用户登录信息的通信源全局地址端口信息更新,在步骤S195中基于该用户的用户登录信息的通信目的方全局地址端口信息313中登录的指示,从用户登录信息数据库177取得通信目的方的用户登录信息,在步骤S196中供给通信目的方的通信信息。这些处理与图9的步骤S30和S31对应。
供给了通信信息的用户登录信息管理处理部155在步骤S197中,判断是否结束了信息提供处理,若判定为没有结束,则返回步骤S191的处理,并重复进行其以下的处理。另外,若在步骤S197中判定为结束了信息提供处理,则用户登录信息管理处理部155在步骤S198中执行结束处理,结束信息提供处理。
若在步骤S193中判定为没有取得通信源全局地址端口信息的登录请求,则用户登录信息管理处理部155进入步骤S199的处理,执行了出错处理后,返回到步骤S197的处理,并重复其以下的处理。
再有,用户用服务提供装置41对于局部通信装置31的通信信息取得处理,也进行与上述的场合相同的信息提供处理,响应局部通信装置31的请求管理全局地址端口信息。
如上所述,用户用服务提供装置41管理局部通信装置间的通信所需的全局地址端口信息,响应局部通信装置11或31的请求供给该信息,因此即使局部通信装置11或31经由进行NAPT变换的中继装置执行通信时,也能够容易地执行通信。
接着,就与参照图15的流程图作了说明的局部通信装置的通信信息取得处理对应地执行的、装置用服务提供装置51的信息提供处理的例子,参照图20的流程图进行说明。需要时将参照图21及图22进行说明。
在步骤S211中,装置用服务提供装置51的地址端口信息提供处理部204控制通信部224,通过图15的步骤S175的处理,判断是否取得了局部通信装置11或31供给的服务请求数据包,在判定为已取得之前待机。
若判定为已取得服务请求数据包,则地址端口信息提供处理部204进入步骤S212的处理,生成图21所示的服务提供数据包。
图21中,为了数据链路层中的通信,服务提供数据包321构成为MAC数据包。服务提供数据包321由MAC首标322和MAC有效载荷323组成。
为了网络层中的通信,MAC有效载荷323构成为IP数据包,其中包含IP首标324及IP有效载荷325。IP首标324中包含协议编号326、发送源的IP地址327和发送目的方IP地址328,其中协议编号326是表示该服务提供数据包321是与装置用服务提供装置51提供的服务对应的数据包的标识符,发送源的IP地址327是表示服务提供数据包的发送源的IP地址(这时为装置用服务提供装置51的全局地址)的数据,发送目的方IP地址328是表示服务提供数据包的发送目的方的IP地址(这时为中继装置12或32的全局地址)的数据。
为了传输层中的通信,IP有效载荷325构成为UDP数据包,其中包含UDP首标329和UDP有效载荷330。UDP首标329中包含发送源端口编号331和发送目的方端口编号332,前者是表示发送该服务供给数据包时使用的发送源的端口编号(即装置用服务提供装置51的端口编号),并表示该服务提供数据包321是与装置用服务提供装置51提供的服务对应的数据包的标识符,后者是发送该服务提供数据包321的目的方的端口编号(即,中继装置11的端口编号)的数据。
为了进行采用STUN协议的通信,UDP有效载荷330构成为STUN数据包,其中包含STUN首标333和STUN有效载荷334。STUN首标293中包含STUN消息类型(STUN message type)335和事务ID(TransactionID)336,前者是表示该数据包为包含基于STUN协议的应答的数据包并表示该服务提供数据包321为与装置用服务提供装置51提供的服务对应的数据包的标识符,后者用于事务识别。
另外,STUN有效载荷334中包含服务请求数据包中的发送源端口编号337和服务请求数据包中的发送源IP地址338。
如上所述,装置用服务提供装置51取得时的服务请求数据包281所包含的发送源IP地址287和发送源端口编号337,分别表示中继装置12的全局地址和端口编号。
因此,服务请求数据包中的发送源端口编号337表示中继装置12的全局端口编号,服务请求数据包中的发送源IP地址338表示中继装置12的全局地址。
装置用服务提供装置51从服务请求数据包取得这样的中继装置12的(与局部通信装置11对应的)全局地址端口信息,并生成包含取得的全局地址端口信息的服务提供数据包。
回到图20,在步骤S213中,装置用服务提供装置51将生成的服务提供数据包经由网络21供给请求源即局部通信装置11。该处理与图8的步骤S63的处理对应。
在步骤S214中,装置用服务提供装置51判断信息提供处理是否结束,若判定为没有结束,则回到步骤S211的处理,并重复其以下的处理。
若判定为没有结束信息提供处理,则装置用服务提供装置51进入步骤S215的处理,执行结束处理,结束信息提供处理。
另外,装置用服务提供装置52也执行与装置用服务提供装置51相同的信息提供处理。因此,装置用服务提供处理52的信息提供处理的详细情况适用上述的图20的流程图,由该信息提供处理提供的服务提供数据包的结构适用图21,因此它们的说明省略。
另外,装置用服务提供装置51和52对于局部通信装置31的通信信息取得处理,也进行与上述情况相同的信息提供处理,响应局部通信装置31的请求供给服务提供数据包。
如上所述,通过从装置用服务提供装置51和52取得服务提供数据包,局部通信装置11或31预想(预测)下次的通信中的全局地址端口信息。
例如,如图22所示,设中继装置12是每次局部通信装置11的通信目的方的地址端口信息变化时,将与局部通信装置11对应的端口编号逐一增加(加1)的增量型的中继装置,中继装置32也是与中继装置12相同的增量型的中继装置。
局部通信装置11,最初向装置用服务提供装置51供给服务请求数据包。此时,中继装置12用端口342-1将该服务请求数据包的通信源地址端口信息作NAPT变换。装置用服务提供装置51将对于该服务请求数据包生成的服务提供数据包经由中继装置12的端口342-1供给局部通信装置11。
接着,局部通信装置11向装置用服务提供装置52供给服务请求数据包。此时,由于装置用服务提供装置51的地址端口信息和装置用服务提供装置52的地址端口信息不同,中继装置12将端口编号加″1″,用端口342-2将该服务请求数据包的通信源地址端口信息作NAPT变换。装置用服务提供装置52将对于该服务请求数据包生成的服务提供数据包经由中继装置12的端口342-2供给局部通信装置12。
局部通信装置12从取得的这些服务提供数据包取得全局地址信息,并算出2个全局地址信息的差值,即中继装置12使用的端口编号的变化量。这时的差值为″1″。
局部通信装置12在后面的通信即与装置用服务提供装置52的通信中使用的端口342-2的端口编号上加″1″,预想(预测)端口342-3为下次的通信中由中继装置12使用的端口。
再有,例如,若该差值为″2″,则局部通信装置12就在后面的通信即与装置用服务提供装置52的通信中使用的端口342-2的端口编号上加值″2″,并预想(预测)端口342-4为在下次的通信中由中继装置12使用的端口,例如,若该差值为″3″,则局部通信装置12就在后面的通信即与装置用服务提供装置52的通信中使用的端口342-2的端口编号上加值″3″,并预想(预测)端口342-5为在下次的通信中由中继装置12使用的端口。
另外,若差值为″0″,则在与装置用服务提供装置51的通信和与装置用服务提供装置52的通信中使用同样的端口(例如,端口342-1),局部通信装置11预想(预测)在下次通信中也使用同样的端口(例如,端口342-1)。
同样地,局部通信装置31基于从装置用服务提供装置51供给的2个服务提供数据包,取得下次通信中的全局地址信息。
以上述方式,装置用服务提供装置51和52生成包含表示中继装置12的全局地址及端口编号的信息的服务提供数据包,并将它们供给局部通信装置11,局部通信装置11从而能够预想(预测)下次通信中的中继装置12的全局地址端口信息,并能(如上所述)容易地将该信息供给用户用服务提供装置41。
回到图9,结束了步骤S10处理的局部通信装置11进入图10的步骤S11的处理,进行主装置/从装置判定处理(Master/Slave判定处理),判断局部通信装置11在与局部通信装置31的通信中是起着握有通信的主导权的主装置的作用,还是起着将通信的主导权转让给通信对方的从装置的作用。同样地,局部通信装置31在图10的步骤S51中也进行主装置/从装置判定处理(Master/Slave判定处理)。
例如,分别将局部通信装置11及31的IP地址(最好为全局地址)的各数位的数字相加,将该值大的一方设为主装置,小的一方设为从装置。当然,也可以采用其他的方法来确定主装置及从装置。
以下,假设局部通信装置11为主装置,局部通信装置31为从装置进行说明,当然也可以将另一方设为主装置。
判定为主装置的局部通信装置11,为了与局部通信装置31连接,执行请求通信开始的通信开始算法。即,局部通信装置11进入步骤S12的处理,开始供给多个开通请求数据包。同样地,判定为从装置的局部通信装置31进入步骤S52的处理,为与局部通信装置11连接而开始供给多个开通请求数据包。
通过开通请求数据包的供给,通信对方侧的中继装置32能够与局部通信装置31进行通信的地址端口信息被确定,然后主装置即局部通信装置11就进入步骤S13的处理,利用已确定的地址端口信息将开通维持数据包供给局部通信装置31。
在步骤S53中,从装置即局部通信装置31从局部通信装置11取得开通维持数据包后,进入步骤S54的处理,判定与局部通信装置11的通信已开通,在步骤S55中,向局部通信装置11供给开通维持数据包。
在步骤S14中,局部通信装置11取得由局部通信装置3 1供给的开通维持数据包,在步骤S15中,判定与局部通信装置31的通信已开通。
再有,在以上的通信中,局部通信装置11和31基于采用STUN、RTP或RTCP等的UDP/IP协议体系处理发送和接收的数据包。
在以上的处理中,基于请求通信开始的通信开始请求算法,局部通信装置11执行以下说明的通信开始请求处理来确定发送源(局部通信装置11)的端口编号及发送目的方(中继装置32)的端口编号,并生成开通请求数据包。
以下,参照图23的流程图说明局部通信装置11的通信开始请求处理的例子。需要时,将参照图24及图25进行说明。
以下,变量numSrcPriPort表示局部通信装置中请求开通与通信对方的通信的数据包即开通请求数据包发送时使用的私有端口的数量,变量numDstGloPort表示通信对方侧的中继装置设有的端口内,作为开通请求数据包的发送目的方指定的全局端口的数量。
另外,变量timeSendInterval表示局部通信装置的各数据包的发送间隔,变量isMasterFlag表示该局部通信装置是否为主装置(是否为从装置)。
局部通信装置11的局部间通信控制部66,在步骤S231中,将值″0″分别代入变量i和变量j。在步骤S232中,局部间通信控制部66将表示发送目的方侧的中继装置32的全局端口编号的变量Glo-port的值保持为变量Base-Glo-port,将表示发送源即局部通信装置11的私有端口编号的变量Pri-port保持为变量Base-Pri-port。
再有,该变量Glo-port的初始值,使用图15的步骤S181中取得的通信目的方的通信信息所包含的通信目的方全局地址信息的端口编号。再有,该变量Glo-port的初始值也可以是由采用该端口编号的预定运算算出的与该端口编号不同的值。
进入了步骤S233的处理时,局部间通信控制部66就判断变量i的值是否比变量numSrcPriPort小。若判定为对局部通信装置11的预定的全部端口的处理未完成,变量i的值比变量numSrcPriport小,则局部间通信控制部66进入步骤S234的处理,在变量Base-Pri-Port的值上加变量i的值,并将其值代入变量Pri-port。
局部间通信控制部66在步骤S235中,判断变量j的值是否比变量numDstGloPort小,若判定为小,则在步骤S236中在变量Base-Glo-Port的值上加变量j的值,并将结果代入变量Glo-port。
然后,在步骤S237中,局部间通信控制部66将变量Pri-port的值设为发送源的端口编号,将变量Glo-port的值设为发送目的方的端口编号,生成开通请求数据包,并控制通信部84将生成的开通请求数据包经由中继装置12供给中继装置32。
局部间通信控制部66进入步骤S238的处理,在预定的timeSendInterval期间待机,然后进入步骤S239的处理。
在步骤S239中,局部间通信控制部66将值(j+1)代入变量j的值,在步骤S240中,基于用户的操作等判断是否发出了开通请求数据包的中止请求,若判定为已发出中止请求,则结束通信开始请求处理。
若在步骤S233中判定变量i的值比变量numSrcPriPort小,则局部间通信控制部66结束通信开始请求处理。
若在步骤S235中判定变量j的值比变量numDstGloPort小,则局部间通信控制部66进入步骤S241的处理,将值″0″代入变量j,在步骤S242中将值(i+1)代入变量i后,返回到步骤S233的处理,并重复其以下的处理。
若在步骤S240中判定为开通请求数据包的中止请求没有发出,则局部间通信控制部66返回到步骤S235的处理,并重复其以下的处理。
如上所述,局部间通信控制部66执行通信开始请求算法,确定发送源及发送目的方的端口编号,并生成和供给(numSrcPriPort×numDstGloPort)个开通请求数据包。
例如,如图24所示,局部通信装置11经由中继装置12和全局网络350向通信目的方通信装置351供给数据包时,若中继装置12是即使通信目的方的地址端口信息被变更、也将同样的端口362-1分配给局部通信装置11的再利用型的中继装置,则通信目的方通信装置351能够通过应答该端口362-1进行与局部通信装置11的通信。
但是,例如,如图25所示,若中继装置12为每当通信目的方的地址端口信息变化(端口363-1至363-5)时分配给不同的端口的增量型的中继装置,则该中继装置12按每个发送目的方的端口变更使用的端口(362-1至362-5)。
这时,由于通信目的方通信装置351没有选择可供给局部通信装置11的端口时所需的信息,不能确定供给应答的中继装置12的端口编号。
即,若以图1的网络系统进行说明,则局部通信装置11不能确定为进行与局部通信装置31的通信,访问中继装置32的哪个端口为好。
因而,局部间通信部66执行通信开始请求算法,对预想(预测)为通信可能的端口的中继装置32的全局端口编号附近的多个端口生成开通请求数据包,控制通信部84将生成的多个开通请求数据包供给中继装置32。如上所述,局部通信装置31也同样地进行处理。
此时,从装置侧即局部通信装置31,利用从能够进行接收的局部通信装置11发送的开通请求数据包的发送源地址端口信息,调整局部通信装置31发送的开通请求数据包的发送目的方地址端口信息,使得局部装置11能够接收。
这样,局部通信装置11和31取得相互发送和接收的开通请求数据包,能够容易地确定要访问的通信目的方的中继装置的端口编号。
通过如上所述的开通请求数据包确定了要访问的通信目的方的端口编号的局部通信装置11或31,如上所述并参照图10,通过发送和接收开通维持数据包,使通信开通并建立。
以下,参照图26和图27说明局部通信装置11为主装置时与上述的通信开始请求处理并行地执行的通信建立处理。
最初,在图26的步骤S261中,局部通信装置11的局部间通信控制部66控制通信部84,判断是否从外部取得了数据包。若判定为取得了数据包,则局部间通信控制部66在步骤S262中分析取得的数据包,并在步骤S263中,判断取得的数据包的发送源地址端口信息和从局部通信装置11发送的开通请求数据包的发送目的方地址端口信息是否一致。
若判定为取得的数据包的发送源地址端口信息与开通请求数据包的发送目的方地址端口信息相一致,则局部间通信控制部66进入步骤S264的处理,核查取得的数据包的识别信息,判断取得的数据包是否为开通请求数据包。
若判定为取得的数据包是开通请求数据包,则局部间通信控制部66在步骤S265中保持取得的数据包的发送源地址端口信息,并在步骤S266中,向上述的通信开通请求处理请求开通请求数据包的中止。
请求了开通请求数据包的中止的局部间通信控制部66,进入图27的步骤S271的处理,生成开通维持数据包,在步骤S272中,将生成的开通维持数据包经由中继装置12供给通信对方即局部通信装置31。
如参照图10说明的那样,从局部通信装置11取得了开通请求数据包或开通维持数据包时,局部通信装置31向局部通信装置11供给开通维持数据包。
局部通信装置11的局部间通信控制部66经由通信部84取得数据包时,在步骤S273中,判断取得的数据包的发送源地址端口信息和从局部通信装置11发送的开通维持数据包的发送目的方地址端口信息是否一致。
若判定为取得的数据包的发送源地址端口信息与开通维持数据包的发送目的方地址端口信息相一致,则局部间通信控制部66进入步骤S274的处理,核查取得的数据包中包含的标识符,判断取得的数据包是否为开通维持数据包。
若判定取得的数据包为开通维持数据包,则局部间通信控制部66进入步骤S275的处理,保持取得的数据包的发送源地址端口信息,在步骤S276中待机预定时间后,在步骤S277中,生成开通维持数据包,并在步骤S278中,供给生成的开通维持数据包。
即,局部间通信控制部66通过执行步骤S273和S274的处理,判断与局部通信装置31的通信是否已开通。然后,在步骤S273中,若判定为取得的数据包的发送源地址端口信息与开通维持数据包的发送目的方地址端口信息相一致且在步骤S274中,判定为取得的数据包是开通维持数据包,则局部间通信控制部66判断与局部通信装置31的通信已开通,通过步骤S275以后的处理将开通维持数据包供给局部间通信装置31。
在步骤S279中,若局部间通信控制部66判断是否结束通信建立处理,若判定为没有结束,则返回到步骤S276的处理,重复其以下的处理。另外,若在步骤S279中判定为通信建立结束,则局部间通信控制部66执行步骤S280中预定的结束处理,结束通信建立处理。
图26的步骤S261中,判定为没有取得数据包时,在步骤S263中判定为取得的数据包的发送源地址端口信息与开通请求数据包的发送目的方地址端口信息不一致时,或在步骤S264中判定为取得的数据包不是开通请求数据包时,局部间通信控制部66均进入步骤S267的处理,判断是否结束通信建立处理,若判定为不结束,则回到步骤S261的处理,重复其以下的处理。
若在步骤S267中判定为结束通信建立处理,则局部间通信控制部66进入图27的步骤S280的处理,在执行结束处理后,结束通信建立处理。
在图27的步骤S273中判定为取得的数据包的发送源地址端口信息与开通维持数据包的发送目的方地址端口信息不一致时,或在步骤S274中判定为取得的数据包不是开通维持数据包时,局部间通信控制部66进入步骤S281的处理,判断是否结束通信建立处理,若判定为不结束,则回到步骤S271的处理,重复其以下的处理。
若在步骤S281中判定为结束通信建立处理,则局部间通信控制部66进入步骤S280的处理,在执行结束处理后结束通信建立处理。
接着,参照图28和图29的流程图,就作为从装置时的局部通信终端装置11的通信建立处理进行说明。
图25的步骤S301中,局部通信终端装置11的局部间通信控制部66控制通信部84,判断是否从外部取得了数据包。若判定为取得了数据包,则局部间通信控制部66在步骤S302中分析取得的数据包,在步骤S303中,判断取得的数据包的发送源地址端口信息和从局部通信装置11发送的开通请求数据包的发送目的方地址端口信息是否一致。
若判定为取得的数据包的发送源地址端口信息与开通请求数据包的发送目的方地址端口信息不一致,则局部间通信控制部66进入步骤S304的处理,核查取得的数据包的识别信息,判断取得的数据包是否为开通请求数据包。
若判定为取得的数据包是开通请求数据包,则局部间通信控制部66在步骤S305中保持取得的数据包的发送源地址端口信息,在步骤S306中变更发送的开通请求数据包的发送目的方地址端口信息,进入图26的步骤S311的处理,控制通信部84,判断是否取得了开通维持数据包。
若判定为取得了开通维持数据包,则局部间通信控制部66判定与局部通信装置31的通信已开通,在步骤S312中保持取得的开通维持数据包的发送源地址端口信息,在步骤S313中向通信开始请求处理请求开通请求数据包的中止,在步骤S314中生成开通维持数据包,在步骤S315中将生成的开通维持数据包经由中继装置12供给通信对方即局部通信装置31,在步骤S316中待机预定时间后,在步骤S317中判断是否结束通信建立处理,若判定为不结束,则回到步骤S314的处理,重复其以下的处理。
若步骤S317中判定为结束通信建立处理,则局部间通信控制部66在步骤S318中执行结束处理,结束通信建立处理。
若在步骤S311中判定为未取得开通维持数据包,则局部间通信控制部66进入步骤S319的处理,判断是否结束通信建立处理,若判定为不结束,则回到图28的步骤S301的处理,重复其以下的处理。
若在图29的步骤S319中判定为结束通信建立处理,则局部间通信控制部66进入步骤S318的处理,结束通信建立处理。
再有,局部通信装置31也同样地执行参照图26至图29的流程图所说明的通信建立处理,因此省略其说明。
以上述方式,局部通信装置11通过向由开通请求数据包确定的地址端口信息供给开通维持数据包,使通信建立。这样一来,即使经由具有NAPT变换功能的中继装置12和32进行通信时,局部通信装置11或31也能够容易地与通信对方即局部通信装置31或11进行通信。
以上说明的服务请求数据包、服务提供数据包、开通请求数据包以及开通维持数据包,例如通过利用使用了STUN协议的STUN消息来交换各种消息。该STUN消息被插入UDP数据包的数据部进行收发。如图30所示,该UDP数据包370中包含首标部(Message Header)371和数据部(Message Attribute)372,以28字节构成。
首标部371由2字节的消息类型(Message Type)373,2字节的消息数据长(Message Length)374以及16字节的事务ID(TransactionID)375构成。另外,数据部372由8字节的数据有效载荷(DataPayload)376构成。
通过发送和接收这种形式的UDP数据包,局部通信装置11和31以及装置用服务提供装置51和52收发各种消息。以下,参照图31的流程图就上述处理中收发的消息进行说明。再有,需要时将参照图32至36进行说明。以下,关于与装置用服务提供装置52有关的处理,与装置用服务提供装置51相同,因此其说明从略。
在图31的步骤S331中,局部通信装置11将图32所示的STUN消息Mapped Address Inquiry Message作为服务请求数据包提供给装置用服务提供装置51。该处理与图8的步骤S4对应。
如图32所示,作为服务请求数据包的UDP数据包370的数据部372中包含消息类型(Type)381、数据长(Length)382和消息编号(Value)383。图32中,类型381的值成为表示″MAPPED ADDRESS″的值″0x0001″,数据长382成为表示消息为4比特(0x0004),消息值383的值成为″0x00000000″。
回到图31,装置用服务提供装置51在步骤S351中取得这样的Mapped Address Inquiry Message时,在步骤S352中,将图33所示的STUN消息Answered Mapped Address Message作为服务提供数据包供给局部通信装置11。这些处理与图8的步骤S61和S63对应。
如图33所示,作为提供中继装置12的地址端口信息的服务提供数据包的UDP数据包370的数据部372中包含填充符(Padding)391、族符(Family)392、端口(Port)393和地址(Address)394。图33中,填充符391的值成为″0x0001″,族符392表示地址端口信息″IPv4″,(0x01),端口393和地址394表示中继装置12的地址端口信息。
回到图31,局部通信装置11在步骤S332中取得包含如上述的STUN消息的UDP数据包。
同样地,局部通信装置31在步骤S371中将图32所示的服务请求数据包供给装置用服务提供装置51。装置用服务提供装置51在步骤S353中取得该服务请求数据包,在步骤S354中将图33所示的服务提供数据包供给局部通信装置31。局部通信装置31在步骤S372中取得该服务提供数据包。
取得了服务提供数据包的局部通信装置11,在步骤S333中作为开通请求数据包向局部通信装置31供给图34所示的STUN消息OpeningPort Notification Message。该处理与图10的步骤S12对应。
如图34所示,作为开通请求数据包的UDP数据包370的数据部372的类型381表示STUN消息的FLAGS请求(0x0003),数据长382表示4字节(0x0004)。消息值393这时设为″bitC=1″,这以外的值设为″0″(0x00000001)。
局部通信装置31在步骤S373中取得该开通请求数据包。同样地,局部通信装置31在步骤S374中将图34所示的开通请求数据包供给局部通信装置11,局部通信装置11在步骤S334中取得该开通请求数据包。
局部通信装置11在步骤S335中作为开通维持数据包供给图32所示的STUN消息Keep-Alive Request Message。Keep-Alive RequestMessage中,与Mapped Address Inquiry Message同样地,使用STUN消息的MAPPED ADDRESS请求。该处理与图10的步骤S13的处理对应。
局部通信装置31在步骤S375中取得该开通维持数据包时,在步骤S376中,作为开通维持数据包供给图33所示的STUN消息Keep-AliveResponse Message。与Answered Mapped Address Message相同,Keep-Alive Response Message中使用STUN消息MAPPED ADDRESS请求。该处理与图10的步骤S55的处理对应。
局部通信装置11一旦在步骤S336中取得该开通维持数据包,就在步骤S337中作为用以维持开通的通信的开通维持数据包供给图34所示的STUN消息Heartbeat Message。与Opening Port NotificationMessage一样,Heartbeat Message使用STUN消息的FLAGS请求。另外,在这种情况下,消息值383将bitA和bitC的值设为″1″、此外的值设为″0″(0x00000005)。局部通信装置31在图31的步骤S377中取得该开通维持数据包。
同样地,局部通信装置31在步骤S378中将该开通维持数据包供给局部通信装置11,局部通信装置11在步骤S338中取得该开通维持数据包。
以上示出的Keep-Alive Request Message和Keep-Alive ResponseMessage中,首标部371的事务ID375设为图35所示的值,HeartbeatMessage的事务ID375设为图36所示的值。
再有,服务请求数据包、服务提供数据包、开通请求数据包和开通维持数据包当然可以是具有上述以外结构的数据包,也可以使用STUN协议以外的协议。
如上所述,局部通信装置11和31利用STUN消息,通过服务请求数据包及服务提供数据包取得预想(预测)发送目的方的地址端口信息,基于该地址端口信息供给多个开通请求数据包来检索实际上能够开通通信的端口,并通过开通维持数据包维持该端口。这样一来,在经由中继装置进行通信时,局部通信装置11和31也能在由现有的设备构成的网络系统中容易地进行通信。
以下给出具体的示例。图37中,局部通信装置11侧的中继装置为再利用型的中继装置12-1,局部通信装置31侧的中继装置为再利用型的中继装置32-1。
中继装置12-1,与供给目的方的地址端口信息无关地,用端口402-1中继局部通信装置11供给的UDP数据包。即,如图37所示,由局部通信装置11发送的、发送源地址端口信息的端口编号被设定于局部通信装置11的端口401-1的数据包,在中继装置12-1中作NAPT变换,在发送源地址端口信息的端口编号变换到端口402-1后,被供给到装置用服务提供装置51或52或中继装置32-1的端口403-1至403-5。
因此,在这种情况下,由装置用服务提供装置51和52供给的服务提供数据包中包含的2个全局地址信息的差值成为″0″。基于该差值,局部通信装置11预想(预测)中继装置12在下次的通信中,即对中继装置32供给开通请求数据包时,使端口402-1与局部通信装置11对应。
同样地,中继装置32-1,与供给目的方的地址端口信息无关地,用端口403-1中继局部通信装置31供给的UDP数据包。即,如图37所示,由局部通信装置31发送的、发送源地址端口信息的端口编号被设定为局部通信装置31的端口404-1的数据包,在中继装置32-1中作NAPT变换,在发送源地址端口信息的端口编号变换到端口403-1后,被供给到装置用服务提供装置51或52或中继装置12-1的端口402-1至402-5。
因此,在这种情况下,由装置用服务提供装置51和52供给的服务提供数据包中包含的2个全局地址信息的差值成为″0″。局部通信装置31基于该差值预想(预测)在下次的通信中,即对中继装置12供给开通请求数据包时,中继装置32也使端口403-1与局部通信装置31对应。
局部通信装置11和31利用用户用服务提供装置41交换这些预测的地址端口信息,并将所交换的信息作为发送开通请求数据包时的发送目的方地址端口信息加以利用。这时,局部通信装置11从端口403-1开始供给开通请求数据包,局部通信装置31从端口402-1开始供给开通请求数据包。
因此,在这种情况下,通信经由局部通信装置11的端口401-1、中继装置12-1的端口402-1、中继装置32-2的端口403-1和局部通信装置31的端口404-1开通。
另外,图38中,局部通信装置11侧的中继装置是每次数据包的供给目的方的地址端口信息变化时,边中继边将端口编号逐次加1的增量型的中继装置12-2,局部通信装置31侧的中继装置也是同样的增量型的中继装置32-2。
每次供给目的方的地址端口信息变化时,中继装置12-2边将端口编号逐次加1边中继局部通信装置11供给的UDP数据包。即,如图38所示,中继装置12-2取得表示发送源地址端口信息为局部通信装置11的端口401-1和发送目的方的地址端口信息为装置用服务提供装置51的服务请求数据包时,将该服务请求数据包进行NAPT变换,并将发送源地址变更到中继装置12-2的端口402-1后提供给装置用服务提供装置51。另外,中继装置12-2接着在取得表示发送源地址端口信息为局部通信装置11的端口401-1、发送目的方的地址端口信息为装置用服务提供装置52的服务请求数据包时,将该服务请求数据包进行NAPT变换,并将发送源地址变更为中继装置12-2的端口402-2后提供给装置用服务提供装置51。
因此,在这种情况下,由装置用服务提供装置51和52供给的服务提供数据包中包含的2个全局地址信息的差值成为″1″。基于该差值,局部通信装置11预想(预测)在下次的通信即对中继装置32-2供给开通请求数据包时,中继装置12-2用端口402-2的下一端口即端口402-3与局部通信装置11对应。
中继装置32-2进行与上述的中继装置12-2的情况相同的处理,每次供给目的方的地址端口信息变化时,边将端口编号加1边中继局部通信装置31供给的UDP数据包。
因此,在这种情况下,装置用服务提供装置51和52供给的服务提供数据包中包含的2个全局地址信息的差值成为″1″。基于该差值,局部通信装置31预想(预测)在下次的通信中,即在对中继装置12-2供给开通请求数据包时,中继装置32-2用端口403-2的下一端口即端口403-3与局部通信装置11对应。
局部通信装置11及31利用用户用服务提供装置41,交换这些预测的地址端口信息,将所交换的信息作为发送开通请求数据包时的发送目的方地址端口信息加以利用。这时,局部通信装置11从端口403-3开始供给开通请求数据包,局部通信装置31从端口402-3开始供给开通请求数据包。
因此,在这种情况下,通信经由局部通信装置11的端口401-1、中继装置12-2的端口402-3、中继装置32-2的端口403-3和局部通信装置31的端口404-1开通。
如上所述,即使通过了NAPT变换时,局部通信装置11和31也能够容易地开通通信。
再有,以上就每次数据包的供给目的方的地址端口信息变化时,使用边逐次将端口编号加1边中继的增量型的中继装置的情况作了说明,但是,并不以此为限,中继装置增加的端口编号数也可为每次加2或2以上。
另外,通信的主装置侧的通信装置执行的通信开始请求算法和从装置侧的通信装置执行的通信开始请求算法可以包含相互不同的处理。
以下,参照图39的流程图说明局部通信装置11的控制处理,需要时参照图40的流程图进行说明。
局部通信装置11的局部间通信控制部66在步骤S391中,判断局部通信装置11是否为通信的主装置,若判定是主装置,则在步骤S392中执行第2通信开始请求处理作为通信开始请求算法。关于第2通信开始请求处理的详细情况,后文参照图40的流程图进行描述。局部间通信控制部66结束步骤S392的处理,然后结束控制处理。
若在步骤S391中判定局部通信装置11为从装置,则局部间通信控制部66进入步骤S393的处理,执行与图23所示的流程图相同的第1通信开始请求处理作为通信开始请求算法。关于第1通信开始请求处理的详细情况,适用图23所示的流程图,其说明省略。局部间通信控制部66结束步骤S393的处理,然后结束控制处理。
接着,参照图40的流程图说明局部通信装置的第2通信开始请求处理。
局部通信装置11的局部间通信控制部66,在步骤S411中将值″0″分别代入变量i和变量j。在步骤S412中,局部间通信控制部66将表示中继装置12的全局端口的变量Glo-port的值作为变量Base-Glo-port保持,并将表示局部通信装置11的端口的变量Pri-port作为变量Base-Pri-port保持。
进入了步骤S413的处理时,局部间通信控制部66就判断变量i的值是否比变量numSrcPriPort小,若判定为变量i的值比变量numSrcPriport小,则局部间通信控制部66进入步骤S414的处理,在变量Base-Pri-Port的值上加变量i的值,并将该值代入变量Pri-port。
局部间通信控制部66在步骤S415中判断变量j的值是否比变量numDstGloPort的2倍的值小,若判定为小,则在步骤S416中在变量Base-Glo-Port的值上加变量j的值,并将所加结果代入变量Glo-port。
然后,局部间通信控制部66在步骤S417中将变量Pri-port的值设为发送源的端口编号,生成将变量Glo-port的值设为发送目的方的端口编号的开通请求数据包,并控制通信部84将生成的开通请求数据包经由中继装置12供给中继装置32。
进入了步骤S418的处理的局部间通信控制部66,在待机预定时间timeSendInterval后,在步骤S419中,将值(j+2)代入变量j的值,在步骤S420中,基于用户的操作等判断开通请求数据包的中止请求是否发出,若判定为中止请求已发出,则结束第2通信开始请求处理,于是结束图39的控制处理。
若在步骤S413中判定为变量i的值小于变量numSrcPriPort,则局部间通信控制部66结束第2通信开始请求处理,于是结束图39的控制处理。
若在步骤S415中判定为变量j的值小于变量numDstGloPort的2倍的值,则局部间通信控制部66进入步骤S421的处理,在变量j中代入值″0″,在步骤S422中将值(i+1)代入变量i后,回到步骤S413的处理,重复其以下的处理。
若在步骤S420中判定为开通请求数据包的中止请求未发出,则局部间通信控制部66返回到步骤S415的处理,重复其以下的处理。
如上所述,若局部通信装置11为主装置侧,则局部间通信控制部66就向通信目的方侧的中继装置32的连续的端口群从预想的(预测的)端口编号起每隔一个地供给(将端口编号每次移2个号地供给开通请求数据包)开通请求数据包,若局部通信装置11为从装置侧,则向通信目的方侧的中继装置32的端口从预想的(预测的)端口编号起每次将端口编号移1个号地供给开通请求数据包。
再有,局部通信装置31也进行与上述的局部装置11的情况相同的控制处理,使通信开始请求处理得以执行。
例如,图41中,局部通信装置11侧的中继装置是每次数据包的供给目的方的地址端口信息变化时将端口编号边逐次加1边中继的增量型的中继装置12-2,局部通信装置31侧的中继装置则为再利用型的中继装置32-1。
这时,预想(预测)开通请求数据包从局部通信装置11发送时被分配给局部通信装置11的中继装置12-2的端口,与参照图38说明的情况相同,为端口402-3;预想(预想)开通请求数据从包局部通信装置31发送时被分配给局部通信装置31的中继装置32-1的端口,与参照图37说明的情况相同,为端口403-1。即,局部通信装置11将开通请求数据包从端口403-1起每隔一个地供给多个端口,局部通信装置31将开通请求数据包供给从端口402-3起连续的多个端口。
因此,在这种情况下,通信经由局部通信装置11的端口401-1、中继装置12-2的端口402-3、中继装置32-2的端口403-1和局部通信装置31的端口404-1而开通。
另外,例如,图42中的局部通信装置11侧的中继装置是再利用型的中继装置12-1,局部通信装置31侧的中继装置是每次数据包的供给目的方的地址端口信息变化时、边将端口编号逐次加1边中继的增量型的中继装置32-2。
在这种情况下,预想(预测)开通请求数据包从局部通信装置11发送时被分配给局部通信装置11的中继装置12-2的端口,与参照图37说明的情况相同,为端口402-1;预想(预测)开通请求数据包从局部通信装置31发送时被分配给局部通信装置31的中继装置32-1的端口,与参照图38说明的情况相同,为端口403-3。即,局部通信装置11将开通请求数据包从端口403-3起每隔一个地供给多个端口,局部通信装置31将开通请求数据包从端口402-1起供给连续的多个端口。
因此,在这种情况下,通信经由局部通信装置11的端口401-1、中继装置12-2的端口402-1、中继装置32-2的端口403-3和局部通信装置31的端口404-1而开通。
如上所述,即使经过NAPT,局部通信装置11和31也能够容易地将通信开通。
另外,如上所述,主装置即局部通信装置对通信目的方的中继装置以每隔1个号地形成端口编号的方式供给开通请求数据包作了说明,但是从装置即局部通信装置也可用这种方式供给开通请求数据包。这种情况下,主装置即局部通信装置以端口编号连续的方式供给开通请求数据包。
另外,如上所述,在主装置即局部通信装置和从装置即局部通信装置中,供给开通请求数据包的算法可以不同,例如,局部通信装置也可以每隔2个号形成端口编号的方式对通信目的方的中继装置供给开通请求数据包。
而且,局部通信装置也可以将从各端口输出的开通请求数据包供给到发送目的方的中继装置的不同的端口。参照图43的流程图就这种情况的局部通信装置11的控制处理进行说明。再有,需要时参照图44和45的流程图进行说明。
在步骤S441中,局部通信装置11的局部间通信控制部66判断局部通信装置11是否为通信的主装置(Master),若判定是主装置,则在步骤S442中执行第3通信开始请求处理作为通信开始请求算法。关于第3通信开始请求处理的详细情况,参照图43的流程图后述。局部间通信控制部66在结束了步骤S442的处理后,结束控制处理。
若在步骤S441中判定为局部通信装置11是从装置,则局部间通信控制部66进入步骤S443的处理,执行第4通信开始请求处理作为通信开始请求算法。关于第4通信开始请求处理的详细情况,参照图44的流程图后述。局部间通信控制部66结束了步骤S443的处理后,结束控制处理。
接着,参照图43的流程图就局部通信装置的第3通信开始请求处理进行说明。再有,假设以下的变量numDstGloPort2是由一个端口供给的开通请求数据包的数量(即,开通请求数据包从一个端口供给的通信目的方的中继装置的端口数量)。
在步骤S461中,局部通信装置11的局部间通信控制部66将值″0″分别代入变量i和变量j。在步骤S462中,局部间通信控制部66将表示中继装置12的全局端口的变量Glo-port的值作为变量Base-Glo-port加以保持,并将表示局部通信装置11的端口的变量Pri-port作为变量Base-Pri-port加以保持。
进入了步骤S463的处理时,局部间通信控制部66就判断变量i的值是否比变量numSrcPriPort小。若判定为变量i的值小于变量numSrcPriPort,则局部间通信控制部66进入步骤S464的处理,在变量Base-Pri-Port的值上加变量i的值,并将其结果代入变量Pri-port。
在步骤S465中,局部间通信控制部66判断变量j的值是否比(numDstGloPort2×i+numDstGloPort2-1)的值小,若判定为是比该值小,则在步骤S466中在变量Base-Glo-Port的值加上变量j的值,并将其结果代入变量Glo-port。
然后,在步骤S467中,局部间通信控制部66用变量Pri-port的值作为发送源的端口编号、变量Glo-port的值作为发送目的方的端口编号而生成开通请求数据包,并控制通信部84将生成的开通请求数据包经由中继装置12供给中继装置32。
进入了步骤S468的处理的局部间通信控制部66,待机预定时间timeSendInterval后,在步骤S469中,将值(j+1)代入变量j的值,在步骤S470中,基于用户的操作等判断开通请求数据包的中止请求是否发出,若判定为中止请求已发出,则结束第3通信开始请求处理,于是结束图43的控制处理。
若在步骤S463中判定为变量i的值不小于变量numSrcPriPort,则局部间通信控制部66结束第3通信开始请求处理,于是结束图43的控制处理。
若在步骤S465中判定为变量j的值不小于(numDstGloPort2×i+numDstGloPort2-1)的值,则局部间通信控制部66进入步骤S471的处理,将值(j+1)代入变量j,并在步骤S472中将值(i+1)代入变量i后,返回到步骤S463的处理,重复其以下的处理。
若在步骤S470中判定为开通请求数据包的中止请求未发出,则局部间通信控制部66返回到步骤S465的处理,重复进行其以下的处理。
接着,参照图45的流程图就局部通信装置的第4通信开始请求处理进行说明。
局部通信装置11的局部间通信控制部66在步骤S491中,将值″0″分别代入变量i和变量j。在步骤S492中,局部间通信控制部66将表示中继装置12的全局端口的变量Glo-port的值作为变量Base-Glo-port加以保持,并将表示局部通信装置11的端口的变量Pri-port作为变量Base-Pri-port加以保持。
进入了步骤S493的处理时,局部间通信控制部66就判断变量i的值是否比变量numSrcPriPort小。若判定为变量i的值小于变量numSrcPriPort,则局部间通信控制部66进入步骤S494的处理,在变量Base-Pri-Port的值上加变量i的值,并将其结果代入变量Pri-port。
在步骤S495中,局部间通信控制部66判断变量j的值是否比{(numDstGloPort2-1)×i+numDstGloPort2-1}的值小,若判定为是比该值小,则在步骤S496中在变量Base-Glo-Port的值上加变量j的值,并将其结果代入变量Glo-port。
然后,局部间通信控制部66在步骤S497中,用变量Pri-port的值作为发送源的端口编号、变量Glo-port的值作为发送目的方的端口编号生成开通请求数据包,并控制通信部84将生成的开通请求数据包经由中继装置12供给中继装置32。
进入了步骤S498的处理的局部间通信控制部66,待机预定时间timeSendInterval后,在步骤S499中,将值(j+1)代入变量j的值,并在步骤S500中,基于用户的操作等判断开通请求数据包的中止请求是否已发出,若判定为中止请求已发出,则结束第4通信开始请求处理,于是结束图43的控制处理。
若在步骤S493中判定为变量i的值不小于变量numSrcPriPort,则局部间通信控制部66结束第4通信开始请求处理,于是结束图43的控制处理。
若在步骤S495中判定为变量j的值不小于{(numDstGloPort2-1)×i+numDs tGloPort2-1}的值,则局部间通信控制部66进入步骤S501的处理,将值(i+1)代入变量i,之后返回到步骤S493的处理,重复其以下的处理。
若在步骤S500中判定为开通请求数据包的中止请求未发出,则局部间通信控制部66返回到步骤S495的处理,重复其以下的处理。
如上所述,若局部通信装置11为主装置侧,则局部间通信控制部66以通信目的方的中继装置32具有的端口的连续的(numDstGloPort2-1)个端口作为1组设定在各组间存在一个端口的多个组,并从局部通信装置11的各端口向中继装置32的相互不同的组供给(numDs tGloPrt2-1)个开通请求数据包。另外,若局部通信装置11为从装置,则局部间通信控制部66以通信目的方的中继装置32具有的端口的连续的(numDstGloPort2-1)个端口作为1组设定各组连续的多个组,并从局部通信装置11的各端口向中继装置32的相互不同的组供给(numDstGloPort2-1)个开通请求数据包。
再有,局部通信装置31也进行与上述的局部装置11的情况相同的控制处理,使通信开始请求处理得以执行。
例如,将变量numSrcPriPort的值设为″3″、变量numDstGloPort2的值设为″4″。图46中,局部通信装置11侧的中继装置是每次数据包的供给目的方的地址端口信息变化时、边将端口编号逐次加1边中继的增量型的中继装置12-2,局部通信装置31侧的中继装置也是同样的增量型的中继装置32-2。
这时,预想(预测)开通请求数据包从局部通信装置11发送时被分配给局部通信装置11的中继装置12-2的端口,与参照图38说明的情况相同,为端口402-3;预想(预测)开通请求数据包从局部通信装置31发送时被分配给局部通信装置31的中继装置32-2的端口,与参照图38说明的情况相同,为端口403-3。即,局部通信装置11将开通请求数据包供给从端口403-3起连续的多个端口,局部通信装置31将开通请求数据包供给从端口402-3起连续的多个端口。
此时,若基于某种理由,通信目的方侧的中继装置32-2跳过端口403-3而将使用的端口加1,则从局部通信装置31供给的开通请求数据包的通信源的端口编号每次移过1,即使在这种场合,通信也经由局部通信装置11的端口401-2、中继装置12-2的端口402-6、中继装置32-2的端口403-7和局部通信装置31的端口404-2开通。
而且,例如,如图47所示的情况,若基于某种理由,通信源侧的中继装置12-2跳过端口402-3而将使用的端口加1,则从局部通信装置11供给的开通请求数据包的通信源的端口编号每次移过1,即使在这种场合,通信也经由局部通信装置11的端口401-2、中继装置12-2的端口402-7、中继装置32-2的端口403-7和局部通信装置31的端口404-2而开通。
如上所述,将从局部通信装置的各端口供给的开通请求数据包,供给通信目的方的中继装置的不同的端口,并将在主装置和从装置时的开通请求数据包的供给方法设为不同的方法;从而,局部通信装置能够在由现有的设备构成的网络系统中,而且在其他许多情况下,也容易使通信开通。
再有,在以上的例中,局部通信装置为主装置时和为从装置时的供给开通请求数据包的算法可以不同,局部通信装置为主装置时可执行第4通信开始请求处理,为从装置时可执行第3通信开始请求处理。
再有,以上就将变量numSrcPriPort的值设为″3″、变量numDstGloPort2的值设为″4″的情况作了说明,当然,这些值也可以取上述以外的值。另外,还说明了这样的情况,即若局部通信装置11为主装置侧,则局部间通信控制部66从各端口供给(numDstGloPort2-1)个开通请求数据包,若局部通信装置11为从装置,则局部间通信控制部66从各端口供给(numDstGloPort2-1)个开通请求数据包;但是由各端口供给的开通请求数据包的数量也可为上述数量以上或以下。
而且,作为局部通信装置11生成并供给开通请求数据包的通信开始请求算法,也可以采用上述以外的任何算法。例如,可以将上述的第1通信开始请求处理至第4通信开始请求处理全部组合起来,作为通信开始请求算法使用。
以下,参照图48的流程图说明局部通信装置11的控制处理。
最初,在步骤S521中,局部通信装置11的局部间通信控制部66,执行参照图23的流程图所说明的第1通信开始请求处理,在步骤S522中,局部间通信控制部66判断是否通过该第1通信开始请求处理开通了通信,若判定为未开通,则进入步骤S523的处理,判断局部通信装置11是否为主装置(Master)。
若判定为局部通信装置11为通信的主装置,则局部间通信控制部66进入步骤S524的处理,执行参照图40的流程图所说明的第2通信开始请求处理。局部间通信控制部66在结束了第2通信开始请求处理后,进入步骤S526的处理。
若在步骤S523中判定为局部通信装置11为通信的从装置,则局部间通信控制部66进入步骤S525的处理,执行与步骤S521相同的第1通信开始请求处理。局部间通信控制部66在结束了第1通信开始请求处理后,进入步骤S526的处理。
在步骤S526中,局部间通信控制部66判断是否通过第1通信开始请求处理或第2通信开始请求处理开通了通信,若判定为未开通,则进入步骤S527的处理,判断局部通信装置11是否为主装置。
若判定局部通信装置11是通信的主装置,则局部间通信控制部66进入步骤S528的处理,执行参照图44的流程图所说明的第3通信开始请求处理。局部间通信控制部66在结束了第3通信开始请求处理后,结束控制处理。
若在步骤S527中判定为局部通信装置11是通信的从装置,则局部间通信控制部66进入步骤S529的处理,执行如参照图45的流程图所说明的第4通信开始请求处理。局部间通信控制部66在结束了第4通信开始请求处理后,结束控制处理。
另外,若在步骤S522或步骤S526中判定为通信已开通,则局部间通信控制部66结束控制处理。
如上所述,通过组合多个通信开始请求处理,局部通信装置11可在由现有的设备构成的网络系统中,而且在其他许多情况下,容易地开通与通信目的方的局部通信装置31的通信。
再有,以上就局部通信装置11的情况作了说明,但是局部通信装置31也可执行与如上所述的控制处理相同的控制处理。而且,在局部通信装置11执行的控制处理和局部通信装置31执行的控制处理中,显然可以使所组合的多个通信开始请求处理相互不同,也可使组合的顺序相互不同。
另外,即使通信目的方的通信装置不通过具有NAPT功能的中继装置等而直接连接于网络21,若使该通信目的方的中继装置执行如上所述的通信开始请求处理,则经由中继装置12与网络21连接的局部通信装置11也能够容易地开始与该通信装置通信。
而且,上述的例中,就局部通信装置11经由2个中继装置12和32与局部通信装置31进行通信作了说明,但并不以此为限,即使经由3台以上的中继装置进行通信的情况,也可通过分别对各中继装置执行如上所述的处理,预测通信对方即局部通信装置31侧的全局端口编号,因此能够容易地与局部通信装置31进行通信。
另外,上述的例中说明了经由具有NAPT功能的中继装置的通信,例如,再经由防火墙功能进行通信时,局部通信装置11也能通过如上所述的处理预测通信对方即局部通信装置31侧的全局端口编号,容易地与局部通信装置31进行通信。
再有,以上说明的局部通信装置11、中继装置12、局部通信装置31、中继装置32、用户用服务提供装置41、装置用服务提供装置51或装置用服务提供装置52,可将上述结构的一部分或全部与其他装置一体化,也可由多个装置加以实现。
特别地,装置用服务提供装置51和52是用来说明执行2次相同处理的,它们的地址端口信息可以不同,具有多个端口的单台装置用服务提供装置中,通过改变使用的端口而多次重复相同处理,能够容易地实现与上述的处理相同的处理。
再有,如图8的步骤S4和S6或步骤S44和S46那样,局部通信装置11或31对装置用服务提供装置51和52供给服务请求数据包时,为了不在2个通信之间进行其他通信,最好将步骤S4和S6的处理(或步骤S44和S46的处理)接着(连续地)执行。但是,局部通信装置11(局部通信装置31),可以在任何定时执行图8的步骤S4和S6(步骤S44和S46)的处理,例如,显然可在执行了步骤S4(步骤S44)的处理后,待机预定的期间后,执行步骤S6(步骤S46)的处理。
而且,上述的各种处理可以由上述的任一装置执行,也可由上述以外的其他装置执行。
另外,以上就利用IM服务进行局部通信装置11和局部通信装置31之间1对1通信的情况作了说明,但并不以此为限,也可3人以上的用户(3台以上的局部通信装置)同时进行通信。另外,这种情况下,将通信的主装置确定为其中1台局部通信装置,在作为该主装置的局部通信装置和作为此外的从装置的局部通信装置之间进行与上述情况相同的处理。
上述一系列的处理可以用硬件来执行,也可如上述用软件执行。用软件执行一系列的处理时,可将构成该软件的程序安装到装入专用的硬件的计算机中,或者安装到通过装入各种程序而能执行各种功能的设备(例如通用个人计算机等)中。
记录媒体与各装置分开提供,如图3至图6所示,其中不仅有包含为向用户提供程序而配送的、录有程序的磁盘(包含软盘)、光盘(包含CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital VersatileDisc)),光磁盘(包含MD(Mini-Disc)(注册商标))或半导体存储器等构成的封装式媒体的移动式媒体91、131、181或231,还有包括以预先装入计算机的状态向用户提供的、存有程序的ROM62、102、152或202和存储部83、123、173或223的硬盘等。
当然,本说明书中记述的由媒体提供的程序的步骤,其时间处理顺序是与记载的顺序相一致的,但未必一定按时间顺序处理,其中也包括被并行或个别执行的处理。
另外,本说明书中,“系统”表示由多个装置构成的整体。
工业上的利用可能性如上所述,依据本发明,能够进行通信。特别在通信终端装置的通信目的方的地址和端口变更时,执行使通信终端装置的通信中继中使用的端口加2或2以上的NAPT变换的现有设备中,也能够通过NAPT与其他装置容易地通信。
权利要求
1.一种网络系统,其中设有,在与第1网络连接的同时、经由变换地址的第1地址变换装置与第2网络连接的第1信息处理装置,在与第3网络连接的同时、经由变换地址的第2地址变换装置与所述第2网络连接的第2信息处理装置,与所述第2网络连接的、具有第1地址和第2地址的第3信息处理装置,以及与所述第2网络连接的、管理所述第1信息处理装置和所述第2信息处理装置的所述第2网络上的地址的第4信息处理装置,其特征在于所述第1信息处理装置对所述第3信息处理装置的所述第1地址和所述第2地址,经由所述第1地址变换装置供给用以请求与所述第1信息处理装置对应的所述第2网络上的地址的第1数据包和第2数据包;所述第3信息处理装置取得所述第1数据包和所述第2数据包,用所述第1数据包和所述第2数据包中包含的与所述第1信息处理装置对应的所述第2网络上的第3地址和第4地址生成第3数据包和第4数据包,并将生成的所述第3数据包和所述第4数据包提供给所述第1信息处理装置;所述第1信息处理装置取得所述第3数据包和所述第4数据包,用所述第3数据包和所述第4数据包中包含的所述第3地址和所述第4地址预测访问所述第2信息处理装置时与所述第1信息处理装置对应的所述第2网络上的地址即第5地址,并将预测的所述第5地址提供给所述第4信息处理装置;所述第4信息处理装置将所述第5地址与所述第1信息处理装置的用户ID相关联地存储;所述第2信息处理装置对所述第3信息处理装置的所述第1地址和所述第2地址,经由所述第2地址变换装置供给用以请求与所述第2信息处理装置对应的所述第2网络上的地址的第5数据包和第6数据包;所述第3信息处理装置取得所述第5数据包和所述第6数据包,用所述第5数据包和所述第6数据包中包含的与所述第2信息处理装置对应的所述第2网络上的第6地址和第7地址生成第7数据包和第8数据包,并将生成的所述第7数据包和所述第8数据包提供给所述第2信息处理装置;所述第2信息处理装置取得所述第7数据包和所述第8数据包,用所述第7数据包和所述第8数据包中包含的所述第6地址和所述第7地址预测访问所述第1信息处理装置时与所述第2信息处理装置对应的所述第2网络上的地址即第8地址,并将预测的所述第8地址提供给所述第4信息处理装置;所述第4信息处理装置将所述第8地址与所述第2信息处理装置的用户ID相关联地存储;所述第1信息处理装置向所述第4信息处理装置请求与通信对方即所述第2信息处理装置的用户对应的地址;所述第4信息处理装置基于所述请求将所述第8地址提供给所述第1信息处理装置;所述第1信息处理装置取得所述第8地址,并基于所述第8地址访问所述第2信息处理装置;所述第2信息处理装置向所述第4信息处理装置请求与通信对方即所述第1信息处理装置的用户对应的地址;所述第4信息处理装置基于所述请求,将所述第5地址提供给所述第2信息处理装置;所述第2信息处理装置取得所述第5地址,并基于所述第5地址访问所述第1信息处理装置。
2.如权利要求1所述的网络系统,其特征在于所述第3信息处理装置由与所述第2网络连接的具有所述第1地址的第5信息处理装置和与所述第2网络连接的具有所述第2地址的第6信息处理装置组成;所述第5信息处理装置取得所述第1数据包,用所述第1数据包中包含的所述第3地址生成所述第3数据包,提供给所述第1信息处理装置,并取得所述第5数据包,用所述第5数据包中包含的所述第6地址生成所述第7数据包,提供给所述第2信息处理装置;所述第6信息处理装置取得所述第2数据包,用所述第2数据包中包含的所述第4地址生成所述第4数据包,提供给所述第1信息处理装置,并取得所述第6数据包,用所述第6数据包中包含的所述第7地址生成所述第8数据包,提供给所述第2信息处理装置。
3.一种网络系统的通信方法,该网络系统中设有,在与第1网络连接的同时、经由变换地址的第1地址变换装置与第2网络连接的第1信息处理装置,在与第3网络连接的同时、经由变换地址的第2地址变换装置与所述第2网络连接的第2信息处理装置,与所述第2网络连接的具有第1地址和第2地址的第3信息处理装置,与所述第2网络连接的管理所述第1信息处理装置和所述第2信息处理装置的所述第2网络上的地址的第4信息处理装置,其特征在于所述第1信息处理装置对所述第3信息处理装置的所述第1地址和所述第2地址,经由所述第1地址变换装置供给用以请求与所述第1信息处理装置对应的所述第2网络上的地址的第1数据包和第2数据包;所述第3信息处理装置取得所述第1数据包和所述第2数据包,用所述第1数据包和所述第2数据包中包含的与所述第1信息处理装置对应的所述第2网络上的第3地址和第4地址生成第3数据包和第4数据包,并将生成的所述第3数据包和所述第4数据包提供给所述第1信息处理装置;所述第1信息处理装置取得所述第3数据包和所述第4数据包,用所述第3数据包和所述第4数据包中包含的所述第3地址和所述第4地址预测访问所述第2信息处理装置时与所述第1信息处理装置对应的所述第2网络上的地址即第5地址,并将预测的所述第5地址提供给所述第4信息处理装置;所述第4信息处理装置将所述第5地址与所述第1信息处理装置的用户ID相关联地存储;所述第2信息处理装置对所述第3信息处理装置的所述第1地址和所述第2地址,经由所述第2地址变换装置供给用以请求与所述第2信息处理装置对应的所述第2网络上的地址的第5数据包和第6数据包;所述第3信息处理装置取得所述第5数据包和所述第6数据包,用所述第5数据包和所述第6数据包中包含的与所述第2信息处理装置对应的所述第2网络上的第6地址和第7地址生成第7数据包和第8数据包,并将生成的所述第7数据包和所述第8数据包提供给所述第2信息处理装置;所述第2信息处理装置取得所述第7数据包和所述第8数据包,用所述第7数据包和所述第8数据包中包含的所述第6地址和所述第7地址预测访问所述第1信息处理装置时与所述第2信息处理装置对应的所述第2网络上的地址即第8地址,并将预测的所述第8地址提供给所述第4信息处理装置;所述第4信息处理装置将所述第8地址与所述第2信息处理装置的用户ID相关联地存储;所述第1信息处理装置向所述第4信息处理装置请求与通信对方即所述第2信息处理装置的用户对应的地址;所述第4信息处理装置基于所述请求将所述第8地址提供给所述第1信息处理装置;所述第1信息处理装置取得所述第8地址,并基于所述第8地址访问所述第2信息处理装置;所述第2信息处理装置向所述第4信息处理装置请求与通信对方即所述第1信息处理装置的用户对应的地址;所述第4信息处理装置基于所述请求将所述第5地址提供给所述第2信息处理装置;所述第2信息处理装置取得所述第5地址,并基于所述第5地址访问所述第1信息处理装置。
4.一种与第1其他信息处理装置进行通信的信息处理装置,该第1其他信息处理装置在与第1网络连接的同时经由变换地址的第1地址变换装置与第2网络连接,并在与第3网络连接的同时经由变换地址的第2地址变换装置与所述第2网络连接,其特征在于设有向与所述第2网络连接的、具有第1地址和第2地址的第2其他信息处理装置的所述第1地址和所述第2地址,经由所述第1地址变换装置供给用以请求与所述信息处理装置对应的所述第2网络上的地址的第1数据包和第2数据包的供给装置;基于由所述供给装置供给的所述第1数据包和所述第2数据包,取得由所述第2其他信息处理装置供给的、包含所述信息处理装置的所述第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包的第1取得装置;以及用由所述第1取得装置取得的所述第3数据包中包含的所述第3地址和所述第4数据包中包含的所述第4地址,预测访问所述第1其他信息处理装置时与所述信息处理装置对应的所述第2网络上的地址即第5地址的预测装置。
5.如权利要求4所述的信息处理装置,其特征在于所述供给装置接着所述第1数据包供给所述第2数据包。
6.如权利要求4所述的信息处理装置,其特征在于所述第2其他信息处理装置由与所述第2网络连接的具有所述第1地址的第3其他信息处理装置和与所述第2网络连接的具有所述第2地址的第4其他信息处理装置组成;所述供给装置向所述第3其他信息处理装置供给所述第1数据包,并向所述第4其他信息处理装置供给所述第2数据包;所述第1取得装置取得由所述第3其他信息处理装置供给的所述第3数据包和由所述第4其他信息处理装置供给的所述第4数据包。
7.如权利要求4所述的信息处理装置,其特征在于所述第1至第4地址包含IP地址及端口编号。
8.如权利要求4所述的信息处理装置,其特征在于所述预测装置算出所述第4地址与所述第3地址的差值,并将算出的所述差值加到所述第4地址上。
9.如权利要求4所述的信息处理装置,其特征在于还设有向与所述第2网络连接的、管理所述信息处理装置和所述第1其他信息处理装置的所述第2网络上的地址的第3其他信息处理装置,供给由所述预测装置预测的所述第5地址并请求登录所述第5地址的第1请求装置;请求由所述第1其他信息处理装置预测并登录于所述第3其他信息处理装置的所述第1其他信息处理装置的所述第2网络上的地址即第6地址的第2请求装置;基于所述第2请求装置取得由所述第3其他信息处理装置供给的所述第6地址的第3取得装置;以及请求开通对基于由所述第3取得装置取得的所述第6地址设定的所述第1其他信息处理装置的所述第2网络上的地址的通信的第3请求装置。
10.如权利要求9所述的信息处理装置,其特征在于所述第3请求装置将用以请求开通与所述第1其他信息处理装置的通信的第5数据包,从所述信息处理装置的所述第1网络上的多个地址分别提供给所述第2地址变换装置的从所述第5地址起连续的多个地址,请求所述通信的开通。
11.如权利要求9所述的信息处理装置,其特征在于所述第3请求装置将用以请求开通与所述第1其他信息处理装置的通信的第5数据包,从所述信息处理装置的所述第1网络上的多个地址分别提供给所述第2地址变换装置的从所述第5地址起每隔一个地连续的多个地址,请求所述通信的开通。
12.如权利要求9所述的信息处理装置,其特征在于所述第3请求装置从所述信息处理装置的所述第1网络上的多个地址,分别向所述第2地址变换装置的所述第2网络上的由连续的多个地址组成多个地址群的、各地址群之间有一个地址存在的、以所述第5地址为最初地址群的起首地址的多个所述地址群的相互不同的所述地址群的各地址,供给用以请求开通与所述第1其他信息处理装置的通信的第5数据包,请求所述通信的开通。
13.如权利要求9所述的信息处理装置,其特征在于所述第3请求装置从所述信息处理装置的所述第1网络上的多个地址,分别对所述第2地址变换装置的所述第2网络上的由连续的多个地址组成多个地址群的、以所述第5地址为最初的地址群的起首地址的多个所述地址群的相互不同的所述地址群的各地址,供给用以请求开通与所述第1其他信息处理装置的通信的第5数据包,请求所述通信的开通。
14.如权利要求9所述的信息处理装置,其特征在于还设有对于是用以控制与所述第1其他信息处理装置的通信的主装置还是从装置作出判断的主从判定装置;所述第3请求装置基于根据所述主从判定装置的判定结果选择的算法,请求所述通信的开通。
15.一种与第1其他信息处理装置进行通信的信息处理装置的信息处理方法,该第1其他信息处理装置在与第1网络连接的同时、经由变换地址的第1地址变换装置与第2网络连接,并在与第3网络连接的同时、经由变换地址的第2地址变换装置与所述第2网络连接,其特征在于包括向与所述第2网络连接的具有第1地址和第2地址的第2其他信息处理装置的所述第1地址和所述第2地址,经由所述第1地址变换装置供给用以请求与所述信息处理装置对应的所述第2网络上的地址的第1数据包和第2数据包的供给步骤;基于通过所述供给步骤的处理供给的所述第1数据包和所述第2数据包,取得由所述第2其他信息处理装置供给的、包含所述信息处理装置的所述第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包的第1取得步骤;以及用通过所述第1取得步骤的处理取得的所述第3数据包中包含的所述第3地址和所述第4数据包中包含的所述第4地址,预测访问所述第1其他信息处理装置时与所述信息处理装置对应的所述第2网络上的地址即第5地址的预测步骤。
16.一种能够由控制与第1其他信息处理装置进行通信的信息处理装置的计算机执行的程序,该第1其他信息处理装置在与第1网络连接的同时、经由变换地址的第1地址变换装置与第2网络连接,在与第3网络连接的同时、经由变换地址的第2地址变换装置与所述第2网络连接,其特征在于令计算机执行以下步骤向与所述第2网络连接的具有第1地址和第2地址的第2其他信息处理装置的所述第1地址和所述第2地址,经由所述第1地址变换装置供给用以请求与所述信息处理装置对应的所述第2网络上的地址的第1数据包和第2数据包的供给步骤;基于通过所述供给步骤的处理供给的所述第1数据包和所述第2数据包,取得所述第2其他信息处理装置供给的、包含所述信息处理装置的所述第2网络上的地址即第3地址和第4地址的第3数据包和第4数据包的第1取得步骤;以及用通过所述第1取得步骤的处理取得的所述第3数据包中包含的所述第3地址和所述第4数据包中包含的所述第4地址,预测访问所述第1其他信息处理装置时与所述信息处理装置对应的所述第2网络上的地址即第5地址的预测步骤。
17.一种与网络连接的、并经由变换地址的第1地址变换装置与所述网络连接的第1其他信息处理装置和经由变换地址的第2地址变换装置与所述网络连接的第2其他信息处理装置进行通信的信息处理装置,其特征在于设有取得从所述第1其他信息处理装置供给的、由所述第1其他信息处理装置预测的、与所述第1其他信息处理装置的所述网络上的地址有关的信息的取得装置;存储所述取得装置取得的、与所述第1其他信息处理装置的所述网络上的地址有关的信息的存储装置;以及基于所述第1其他信息处理装置的通信对方即所述第2其他信息处理装置的请求,将所述存储装置存储的、所述第1其他信息处理装置预测的、与所述第1其他信息处理装置的所述网络上的地址有关的信息,提供给所述第2其他信息处理装置的供给装置。
18.一种与网络连接的信息处理装置的信息处理方法,该装置与经由变换地址的第1地址变换装置与所述网络连接的第1其他信息处理装置和经由变换地址的第2地址变换装置与所述网络连接的第2其他信息处理装置进行通信,其特征在于包括取得从所述第1其他信息处理装置供给的、由所述第1其他信息处理装置预测的、与所述第1其他信息处理装置的所述网络上的地址有关的信息的取得步骤;存储通过所述取得步骤的处理取得的与所述第1其他信息处理装置的所述网络上的地址有关的信息的存储步骤;以及基于所述第1其他信息处理装置的通信对方即所述第2其他信息处理装置的请求,将通过所述存储步骤的处理存储的、由所述第1其他信息处理装置预测的、与所述第1其他信息处理装置的所述网络上的地址有关的信息提供给所述第2其他信息处理装置的供给步骤。
19.一种能够由控制信息处理装置的计算机执行的程序,该信息处理装置与网络连接、与经由变换地址的第1地址变换装置与所述网络连接的第1其他信息处理装置和经由变换地址的第2地址变换装置与所述网络连接的第2其他信息处理装置进行通信,其特征在于令计算机执行以下步骤取得从所述第1其他信息处理装置供给的、由所述第1其他信息处理装置预测的、与所述第1其他信息处理装置的所述网络上的地址有关的信息的取得步骤;存储通过所述取得步骤的处理取得的与所述第1其他信息处理装置的所述网络上的地址有关的信息的存储步骤;以及基于所述第1其他信息处理装置的通信对方即所述第2其他信息处理装置的请求,将通过所述存储步骤的处理存储的、所述第1其他信息处理装置预测的、与所述第1其他信息处理装置的所述网络上的地址有关的信息提供给所述第2其他信息处理装置的供给步骤。
全文摘要
本发明涉及能够容易地通过NAPT与其他装置进行通信的网络系统与通信方法、信息处理装置与方法以及程序。局部通信装置11从装置用服务提供装置51经由中继装置12的端口342-1取得服务提供数据包,并从装置用服务提供装置52经由中继装置12的端口342-2取得服务提供数据包,算出这些服务提供数据包中包含的2个全局地址信息的差值,基于该差值预测端口342-3在下次的通信中所对应的端口。本发明能够适用于即时消息业务系统。
文档编号H04L12/56GK1698323SQ20048000035
公开日2005年11月16日 申请日期2004年3月12日 优先权日2003年3月28日
发明者河野真一, 青木幸彦, 足立原直, 荒木昭士 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1