具体实施方式
下文将参照附图描述本发明的示例性实施例。在附图中,相同或者相似的标号表示相同、相似或者等效部件。
(计算机***的配置)
以下将参照图1至图9描述根据本发明的计算机***的配置。图1是示出了根据本发明的计算机***的配置的示图。根据本发明的计算机***具有通过包括交换机组4的网络连接的开放流控制器3(下文称为OFC 3)、服务器1和客户端终端2。可以在通过交换机组4连接到计算机***的外部网络(例如,因特网)中提供客户端终端2。交换机组4包括至少一个开放流交换机4i(下文称为OFS4i)。
优选的是,提供多个服务器1和多个客户端终端2。为了易于说明,在图1中示出了一个服务器1和一个客户端终端2。如果存在多个服务器1和多个客户端终端2,则它们通过交换机组4相互连接。另外,OFC 3的数目并不限于一个而可以是多个。在后一种情况下,可以关于每个OFC 3确定交换机组4和作为控制目标的服务器1。另外,可以在客户端终端2与交换机组之间提供随后将描述的关于多个服务器1执行负荷平衡的负荷平衡器5。
服务器1是未示出的具有CPU、主存储器设备和外部存储器设备的计算机设备,并且其通过执行外部存储器设备中存储的程序来实现应用标识代理10(多个应用101和102)的功能。下文将把通过执行应用软件而实现的功能称为应用101和102。服务器1可以根据应用101和102而作用不同并且实现诸如Web服务器、文件服务器和应用服务器之类的功能。例如,当服务器1的充当Web服务器时,应用101和102响应于来自客户端终端2的应用201(例如,Web浏览器)的请求,向客户端终端2发送存储器设备(未示出)中存储的HTML文档和图像数据。另外,应用101和102可以响应于来自客户端终端(应用201)的请求来执行各种处理、与数据库配合的各种数据生成和事务处理。
优选的是,应用101和102基于TCP或者UDP来执行与客户端终端2(应用201)的通信。在这一情况下,当在服务器1与客户端终端2之间建立会话时,OS(操作***)向相应应用101、102和201分配端口号(0至65535)。作为分配端口号的方法,已知以固定方式分配预定端口号(保留的端口号)、在每个会话建立时动态分配保留的端口号或者非正式端口号等。
在服务器-客户端模型中的典型应用间通信的情况下,首先从客户端侧向服务器侧发送分组数据。因此优选的是,以固定方式向服务器1的应用101和102分配保留的端口号。例如,向服务器1的应用101分配取决于功能的公知端口号(0至1023中的任一个)。备选地,可以用固定方式向服务器1的应用101和102分配1024至49151中的任何编号作为保留的端口号。备选地,可以向应用101和102动态分配49152至65535中的任何编号作为私有端口号。
应用标识代理10使用从OFC 3通知的端口号作为用于标识如下应用的名称(下文称为应用名称)的密钥,通知的端口号被分配到该应用。应用标识代理10向OFC 3通知标识的应用名称。更具体地,以关于每个过程相关联的表(未示出)的形式在服务器1中的存储器设备上记录由服务器1上的OS向应用101和102分配的端口号。应用标识代理10参照该表以提取对应于与通知的端口号相关联的过程ID的应用名称并且向OFC 3发送应用名称。这里,基于从OFC 3通知的协议标识符来标识在第4层中使用的协议(例如,TCP或者UDP)。
OFC 3基于开放流技术控制***中的通信。开放流技术意味着控制器(这里为OFC 3)根据路由策略在交换机中为每个多层和每个流设置路由信息(流:规则+动作)以执行路由控制和节点控制。因而,路由控制功能与路由器和交换机分离,并且由控制器进行的集中控制支持最优路由和业务管理。开放流技术被应用到的交换机(OFS 4i)将通信视为端到端流,这与其中以分组或者帧为单位处理通信的常规路由器和交换机的情况不同。
更具体地言,OFC 3关于每个交换机和节点设置流(规则+动作)以控制交换机和节点的操作(例如,分组数据的中继操作)。这里,由OFC 3控制的交换机以OFS 4i、虚拟交换机等为例,而由OFC 3控制的节点以服务器1、在服务器1上操作的虚拟机等为例。
图2是示出了根据本发明的OFC 3的配置的示图。优选的是,OFC 3由具有CPU和存储器设备的计算机实现。在OFC 3中,未示出的CPU执行存储器设备中存储的程序以实现图2中所示的交换机控制单元331、流管理单元332和流生成单元333的相应功能。
交换机控制单元331根据流表334关于每个交换机和节点设置或者删除流(规则+动作)。根据本发明的OFS 4i参照设置的流以执行与对应于所接收的分组的标头信息的规则相关联的动作(例如,中继或者丢弃分组数据)。后文将描述规则和动作的细节。
图3是示出了根据本发明的由OFC 3保持的流表334的配置的示例的示图。参照图3,在流表334中相互关联地设置用于标识流的流标识符441、用于标识流设置的目标(交换机、节点)的标识符(目标设备442)、路由信息443、规则444、动作信息445和设置信息446。在流表334中,OFC 3关于作为控制目标的所有交换机和节点设置流(规则444+动作信息445)。另外,可以在流表334中关于每个流定义关于处理通信的方法的信息(诸如QoS和加密信息)。
例如,将规则444定义为从在TCP/IP的分组数据的标头信息中包括的OSI(开放***互连)参考模型的第1层至第4层的地址和标识符的组合。例如,将第1层的物理端口、第2层的MAC地址、第3层的IP地址、第4层的端口号和图9中所示VLAN标签的组合设置作为规则444。这里,设置为规则444的地址和标识符(诸如端口号)可以具有某一范围。另外,优选的是,当在规则444中设置地址等时不同地对待源和目的地。例如,将目的地MAC地址的范围、用于标识连接目的地应用的目的地端口号的范围和用于标识连接源应用的源端口号的范围设置作为规则444。另外,可以在规则444中设置用于标识数据传送协议的标识符。
例如,在动作信息445中定义处理TCP/IP分组数据的方法。例如,设置表明是否中继接收的分组数据的信息和在中继它时的目的地。另外,可以在动作信息445中设置指示对接收的分组数据进行复制或者丢弃的信息。
路由信息443是用于标识流(规则444+动作信息445)被应用到的路由的信息。这是与通信路由信息相关联的标识符。
设置信息446是表明当前是否设置流(规则444+动作信息445)的信息。由于设置信息446与目标设备442和路由信息443相关联,所以有可能关于每个通信路由校验是否设置流并且关于通信路由上的每个交换机和节点校验是否设置流。另外,设置信息446包括表明生成的流是在启用状态(有效)还是在禁用状态(无效)的信息。OFC 3参照设置信息446以在OFS中仅设置有效流而不设置无效流。
流管理单元332参照流表334以提取与从OFS 4i通知的第一分组的标头信息相关联的流(规则444+动作信息445),并且向交换机控制单元331通知提取的流。这里,第一分组意味着由OFS 4i接收的并且具有与在OFS 4i中设置的流不匹配的标头信息的分组。与第一分组的通知一起从OSF 4i发送的标头信息包括交换机的接收端口、VLAN编号、源MAC地址、目的地MAC地址、以太网(注册商标)类型信息(用于标识上层协议类型(诸如IP、ARP和IPX)的标识符)、源IP地址、目的地IP地址、L4协议信息(用于标识上层协议类型(诸如TCP、UDP和ICMP)的标识符)、源TCP/IP端口号和目的地TCP/IP端口号。基于通知的标头信息中的源MAC地址、目的地MAC地址、源IP地址和目的地IP地址,流管理单元332标识关于由OFS 4i接收的第一分组的源设备和目的地设备。继而,流管理单元332参照在标识的设备之间的通信路由以及拓扑以确定OFS 4i应当执行的动作(如果动作是中继操作,则还确定目的地),并且从流表334提取与OFS i相关联的流。
如果关于在基于从OFS 4i通知的标头信息而标识的设备之间的通信的流不存在于流表334中,则流管理单元332可以指示流生成单元333生成流。流管理单元332向由流生成单元333生成的流(规则444+动作信息445)添加流标识符441并且将其记录在存储器设备(流表334)上。这时,向流(规则444+动作信息445)添加流被应用到的通信路由的标识符(路由信息443)和流被应用到的交换机或者节点(目标设备442)的标识符。此后,流管理单元332向交换机控制单元331通知新生成的流作为将在OFS 4i中设置的流。
交换机控制单元331在OFS 4i中将由流管理单元332从流表334提取的流设置作为第一分组的通知源,并且在关于分组的源设备与目的地设备之间连接的通信路由上设置OFS 4i。
当接收第一分组的通知时,流管理单元332使用从OFS 4i通知的标头信息作为用于从服务器1获得与将在OFS 4i中新设置的流相关联的应用名称的密钥。如上文描述的那样,流管理单元322基于标头信息来标识关于由OFS 4i接收的第一分组的源设备和目的地设备。例如,流管理单元332基于目的地MAC地址和目的地IP地址来标识服务器1作为客户端终端2的连接目的地。流管理单元332指示基于标头信息而标识的服务器1的应用标识代理10标识应用并且也向应用标识代理10发送通知的标头信息中的L4协议信息(协议标识符)以及源TCP/IP端口号和目的地TCP/IP端口号中的一个或者两个端口号。继而,流管理单元332从应用标识代理10接收应用名称作为对标识指示的响应。响应于第一分组的通知,流管理单元332将如上文描述的那样在OFS 4i中设置的流与从应用标识代理10获得的应用名称相关联,并且在应用-流对应表335中记录对应关系。如图4中所示,在应用-流对应表335中记录在关于每个流给定的流标识符441与应用名称451之间的对应关系。
流管理单元332还具有从该组OFS 4关于每个流采集统计信息的功能。更具体地,如图5中所示,流管理单元332关于每个流(流标识符441)在统计表336上记录从OFS 4i发送的统计信息452(例如,业务量)。由于采集的统计信息452与流标识符441相关联,所以有可能通过链接统计表336和应用-流对应表335来关于每个应用采集统计信息。另外,如图5中所示,统计信息452可以与用于标识通知统计信息452的OFS 4i的信息(交换机信息453)相关联。在这一情况下,有可能关于每个交换机识别统计信息。交换机信息453可以包括从OFS 4i通知的交换机的接收端口。在这一情况下,有可能关于OFS 4i的接收端口监视统计信息。
OFC 3优选地具有关于整个***或者每个应用可视地显示统计信息的输出设备(监视器)。关于每个应用采集统计信息的功能以及输出设备可以安装在与OFC 3分离的监视器设备(未示出)上。
流生成单元333使用拓扑信息计算通信路由,并且在存储器设备上记录计算结果作为通信路由信息。在这里,设置充当通信路由的端点的节点和通信路由上的交换机/节点。另外,流生成单元333基于通信路由信息来设置将在交换机中设置的流(规则444+动作信息445)和通信路由上的节点。
拓扑信息包括关于OFS 4i、节点(例如,服务器1、客户端终端2、在服务器1上操作的虚拟服务器等)、外部网络(例如,因特网)等的连接状态的信息。更具体地,在存储器设备上记录的拓扑信息包括相互关联的用于标识交换机和节点(设备)的设备标识符、设备的端口数目、端口目的地信息等。端口目的地信息包括用于标识连接目标(交换机/节点/外部网络)的连接类型和用于标识连接目的地的信息(在交换机的情况下为交换机ID,在节点的情况下为MAC地址,在外部网络的情况下为外部网络ID)。
通信路由信息是用于标识通信路由的信息。更具体地,在存储器设备上记录的通信路由信息包括指定一组节点(例如,服务器1、客户端终端2等)或者外部网络接口作为端点的端点信息以及指定一组成对途经(passage)OFS 4i及其端口并且与端点信息相关联的途经交换机信息。例如,如果通信路由在服务器1与客户端终端2之间连接,则记录服务器1和客户端终端2的相应MAC地址作为端点信息。途经交换机信息包括在由端点信息表明的端点之间的通信路由上提供的OFS 4i的标识符。途经交换机信息还可以包括用于将OFS 4i与在OFS 4i中设置的流(规则444+动作信息445)相关联的信息。
图6是示出了根据本发明的开放流交换机4i(OFS 4i)的配置的示图。OFS 4i根据由OFC 3设置的流表343来确定如何对待所接收的分组(即动作)。OFS 4i具有转发处理单元341和流管理单元342。转发处理单元341和流管理单元342可以由硬件或者由CPU执行的软件构成。
在OFS 4i的存储器设备中设置如图7中所示的流表343。流管理单元342在流表343中设置从OFC 3获得的流(规则444+动作信息445)。此外,如果由转发处理单元341接收的所接收分组的标头信息与在流表343中设置的规则444匹配,则流管理单元342向转发处理单元341通知与匹配规则444对应的动作信息445。另一方面,如果由转发处理单元341接收的所接收分组的标头信息与在流表343中设置的规则444不匹配,则流管理单元342识别接收的分组作为第一分组、向OFC 3通知接收到第一分组并且向OFC 3发送标头信息。
转发处理单元341根据接收的分组的标头信息来执行转发处理。更具体地,转发处理单元341从接收的分组数据提取标头信息并且向流管理单元342通知它。当从流管理单元342接收动作信息445时,转发处理单元341根据动作信息445来执行处理。例如,转发处理单元341向对应于由动作信息445表明的转发目的地的节点转发接收的分组数据。当接收与在流表343中设置的规则444不匹配的分组数据时,转发处理单元341将接收的分组数据保持预定时间段,并且等待直至由OFC 3设置对应流(即更新流表343)。
作为具体示例,说明OFS 4i在设置以下流的情况下的操作;规则444:源MAC地址(L2)=“A1至A3”,目的地IP地址(L3)=“B 1至B3”,协议=“TCP”,并且目的地端口号(L4)=“C 1至C3”,并且动作信息445:“向服务器1的应用101中继”。如果OFS 4i接收源MAC地址(L2)为“A1”、目的地IP地址(L3)为“B2”、协议为“TCP”并且目的地端口号(L4)为“C3”的分组数据,则OFS 4i确定标头信息与规则444匹配并且向应用101转发所接收的分组数据。然而,如果OFS 4i接收源MAC地址(L2)为“A5”、目的地IP地址(L3)为“B2”、协议为“TCP”并且目的地端口号(L4)为“C4”的分组数据,则OFC 4i确定标头信息与规则444不匹配,并且因此向OFC 3通知接收到第一分组并且向OFC 3发送标头信息。OFC 3从流表334提取对应于接收的标头信息的流(规则444+动作信息445),并且向OFS 4i发送流。应当注意,如果在流表334中没有适当流,则OFC 3可以生成新流。OFS 4i在它自己的流表343中设置接收的流,并且相应地为接收的分组执行中继处理。
通常,在预定时间已经流逝之后(直至由OFC 3在OFS 4i中设置删除以及流之前的预定时间)从流表343删除在OFS 4i中设置的流。
OFS 4i还可以具有业务监视功能。更具体地,如图8中所示,OFS 4i关于每个流在统计表344上记录统计信息452。统计信息452(例如,业务量)包括在预定时间段内的与流表343对应的分组吞吐量(处理次数;例如,转发次数)、数据长度等。继而,OFS 4i关于以预定周期记录的每个流或者根据来自OFC 3的指示向OFC 3发送统计信息452。在这里,将统计信息452与相关联的流标识符441一起发送到OFC 3。例如,在其中根据来自OFC 3的指示来发送统计信息的情况下,作为发送目标的流标识符由OFC 3指定,并且OFS 4i发送与指定的流相关联的统计信息452。在OFS 4i中的存储器容量方面,优选的是,从统计表344删除已经发送的统计信息。
例如,在s流的情况下,通过分析在预定采样周期中获得的分组来生成流的统计信息。在这一情况下,结果可以取决于数据传送定时而不同于实际业务状态。然而,根据本发明的OFS 4i关于每个流处理获得关于分组的数据,并且使用它来生成统计信息。因此,有可能获得与关于监视目标流的实际业务状态对应的统计信息。另外,OFS 4i仅将与流表343匹配的流视为统计信息采集目标,并且因此无需执行采样处理,这与s流的情况不同。因此,有可能在OFS4i中减少用于采集统计信息的处理负荷。
下文将具体描述在上文描述的计算机***中关于每个应用的监视处理操作。
(预备监视和流设置处理)
图10是示出了根据本发明的用于***监视的预备处理操作的序列图。在根据本发明的计算机***中,执行应用间通信的应用和流在监视网络之前相互关联。将参照图10描述将应用与流相关联的具体操作。
在这里,考虑其中在服务器1(应用101)与客户端终端2(应用201)之间预先建立会话并且向相应应用分配TCP/IP端口号的情况。首先,从客户端侧生成用于利用服务器1的应用101的访问权。在这里,从客户端终端2的应用201发送去往服务器的分组(步骤S101)。当接收去往服务器的分组时,OFS 4i读取所接收的分组的标头信息并且校验标头信息是否与在流表343中设置的流的规则444匹配。如果所接收的分组的标头信息与在流表343中设置的任何规则444不匹配,则OFS 4i将接收的分组识别作为第一分组并且将其记录在存储器设备上(步骤S102)。
OFS 4i向OFC 3通知接收到第一分组(步骤S 103)。在这里,向OFC 3通知接收的分组的标头信息和用于标识OFS 4i的交换机信息453。响应于第一分组接收通知,OFC 3针对应用名称向服务器1的应用标识代理10进行查询(步骤S104)。更具体地,基于从OFS4i通知的标头信息来标识充当应用间通信的端点的服务器1和客户端终端2。OFC 3向被标识为查询的分组目的地而的服务器1的应用标识代理10通知应用名称以及从标头信息提取的目的地TCP/IP端口号和源TCP/IP端口号。
服务器1的应用标识代理10使用从OFC 3通知的目的地TCP/IP端口号作为用于标识通知的端口号被分配到的应用名称的密钥(步骤S105)。向OFC 3通知标识的应用名称(步骤S106)。
同时,响应于在步骤S 103中的第一分组接收通知,OFC 3从流表334选择将在OFS 4i中设置的流(规则444+动作信息445)(步骤S107)。更具体地,OFC 3从流表选择与通知的标头信息和标识的应用间通信的端点相关联的流。在这里,如果不存在相关联的流,则OFC 3基于标头信息和标识的端点根据拓扑信息计算通信路由,并且继而使用通信路由来生成将在OFS 4i中设置的流。OFC 3指示OFS 4i设置从流表334提取的流(步骤S108)。
如果在OFS 4i的输出-目的地线路上存在繁重业务并且在选择或者生成流时无法保证通信质量,则可以通过参照分组的端口号来选择或者生成转向负荷更少的线路的另一个流。例如,OFC 3比较分组的端口号与关于先前设置的优先级应用的端口号,并且如果它们相互匹配,则OFC 3选择或者生成转向负荷更少的线路的流。
OFS 4i在它自己的流表343中设置从OFC 3发送的流(规则444+动作信息445)(步骤S109)。在完成流设置之后,OFS 4i根据在步骤S109中设置的流向目的地转发在步骤S102中记录的第一分组(向服务器寻址的分组)(步骤S110)。在这里,向去往服务器1的端口转发分组。
OFC 3确定在步骤S107中将在OFS 4i中设置的流,并且继而将流与在步骤S106中通知的应用名称相关联,并且将其记录在应用-流对应表335上(步骤S111)。因而,在OFS 4i中设置的用于控制在应用101与应用201之间的数据传送的流、流的通信路由和服务器1的应用101相互关联。这一信息(应用-流对应表335)优选地由未示出的输出设备以可见方式显示。
在步骤S104中针对应用名称的查询以及在步骤S107和步骤S108中的流选择(生成)和设置指示并不限于上述情况,而是可以按相反顺序或者并行出现。然而,如果在流设置之前标识与端口号对应的应用,则可以考虑标识的应用以确定OFS 4i的输出目的地线路并且选择或者生成对应流。在这一情况下,优选的是,在OFC 3的存储器设备中预先预备应用和OFS 4i中的输出目的地线路的对应表,并且继而用于确定与由步骤S106标识的应用对应的输出目的地线路。因而,甚至可以确定无法在使用任意端口号的流的情况下常规确定的输出目的地线路。当利用这样的方法时,优选在示,在OFS4i中设置流之前执行标识与端口号对应的应用这样的处理。
由于如上文描述的监视预备处理,OFC 3可以将在OFC 4i中为应用间通信而设置的流、流的通信路由和执行通信的应用相互关联。通过从OFS i获得关于流的统计信息,OFC 3可以关于每个应用监视业务状态。
根据本发明,使用在开放流技术中通过第一分组通知而获得的端口号作为用于使用所述端口号来标识应用名称的密钥。因此,OFC3可以将控制应用通信的流(规则444+动作信息445)、流的通信路由和应用相互关联。因而,即使向应用动态分配端口号(即端口号为ANY),OFC 3仍然可以标识在OFS 4i中设置的流和与通信中使用的通信路由对应的应用。
(监视处理)
图11是示出了根据本发明的用于***监视的统计信息获取处理操作的序列图。将参照图11具体描述根据本发明的***监视处理。
已经通过上文描述的监视预备处理将执行通信的应用与在OFS 4i中设置的流相关联的OFC 3指示OFS 4i关于流执行业务监视(步骤S120)。监视指示包括指定监视目标流的流标识符441。OFC3可以如上文描述的那样基于标识的应用来发出停止业务监视的指示。
响应于监视指示,OFS 4i开始关于应用101和应用201监视业务。OFS 4i基于在监视指示中包括的流标识符441来标识流作为监视目标、获得基于流而对待的分组的业务量和数据长度,并且将它们记录在统计表上。例如,当根据监视目标流向服务器1的应用101转发从客户端终端2的应用201发送的向服务器寻址的分组时,OFS4i将关于分组的统计信息452与流标识符441相关联,并且将它们记录在统计表344上(步骤S121至步骤S123)。类似地,当根据监视目标流向客户端终端2的应用201转发从服务器1的应用101发送的向客户端终端寻址的分组时,OFC 4i将关于分组的统计信息452与流标识符441相关联,并且将它们记录在统计表344上(步骤S124至步骤S126)。
OFS 4i向OFC 3发送与预定周期和相关联的流标识符441一起记录的统计信息452(步骤S127)。这时,也通知用于标识OFS 4i的交换机信息453。可以响应于来自OFC 3的指示来执行对统计信息的发送。
OFC 3在统计表336上记录从OFS 4i获得的统计信息452(步骤S128)。由于通过流标识符441来链接统计表336和应用-流对应表335,所以OFC 3可以关于每个应用记录并且可视地显示统计信息。
在一些情况下,根据应用,无需采集可视化信息(诸如统计信息和通信路由)。因此,可以在标识应用之后确定是否采集统计信息。例如,可视地显示在步骤S106中标识的应用名称,并且继而用户可以确定是否采集统计信息。备选地,在OFC 3中预先设置表明如下应用的信息,该应用需要采集统计信息,并且继而这一信息可以用于确定是否获得统计信息。因而,可以省略采集不必要的统计信息。应当注意,可以通过使用将在OFS 4i中设置的流来确定是否采集统计信息和通信路由。
根据本发明,如上文描述的那样,无论是以固定方式还是动态地向应用分配端口号,都有可能关于每个应用执行业务监视和流(规则444+动作信息445)设置。
接着,将描述根据本发明的计算机***的应用示例。具体地,下文将描述在以下情况下的监视预备处理:(1)监视其中向服务器侧上的应用分配公知端口号的应用间通信;(2)监视其中向两个端点的应用动态分配端口号的应用间通信;以及(3)监视通过负荷平衡器执行的应用间通信。
(1)第一示例性实施例:监视其中向服务器侧上的应用分配公知端口号的应用间通信
图12是用于说明第一示例性实施例中的监视应用间通信的方法的示图。作为示例,考虑其中多个客户端终端2-1和2-2与充当Web服务器的服务器1通信的情况。以固定方式向服务器1的应用101分配公知端口号“80”。
例如,在以固定方式向客户端终端2-1的应用分配端口号“30000”的情况下,OFS 4i响应于从客户端终端2-1访问应用101来向OFC 3发送第一分组接收通知。在这里,OFS 4i向OFC 3通知从接收的分组的标头信息提取的目的地端口号“80”和源端口号“30000”。OFC 3向应用标识代理10请求与目的地端口号“80”和源端口号“30000”相关联的应用名称。另外,OFC 3基于第一分组接收通知在OFS 4i中设置用于控制在服务器1与客户端终端2-1之间的通信的流。
应用标识代理10标识与目的地端口号“80”相关联的应用名称(应用101)和与源端口号“30000”相关联的应用名称(客户端终端2-1的应用),并且向OFC 3通知它们。OFC 3在应用-流对应表335上记录在通知的应用名称和在OFS 4i中设置的流之间的对应关系。
应当注意,如果向OFC 3预先提供固定分配的端口号和应用的对应表,则OFC 3可以通过参照对应表将应用与流相关联,而不向上文提到的应用标识代理10查询应用名称。
另一方面,如果客户端终端2-2的应用的源端口号为“ANY”,则目的地服务器1在建立与应用101的会话时向服务器1的应用101动态分配端口号。在这里,考虑其中分配端口号“40000”的情况。
响应于从客户端终端2-2访问应用101,OFS 4i向OFC 3不仅通知第一分组接收通知,而且还通知从接收的分组的标头信息提取的目的地端口号“80”和源端口号“40000”。OFC 3向应用标识代理10请求与目的地端口号“80”和源端口号“40000”相关联的应用名称。另外,OFC 3基于第一分组接收通知在OFS 4i中设置用于控制在服务器1与客户端终端2-1之间的通信的流。
应用标识代理10标识与目的地端口号“80”相关联的应用名称(应用101)和与源端口号“40000”相关联的应用名称(客户端终端2-2的应用),并且向OFC 3通知它们。OFC 3在应用-流对应表335上记录在通知的应用名称与在OFS 4i中设置的流之间的对应关系。
根据本发明,如上文描述的那样,无论是固定还是动态地向作为访问源的客户端终端2的应用分配端口号,执行通信的应用都与流相关联,并且因此有可能关于每个应用监视统计信息。在上文描述的示例的情况下,OFS 4i向OFC 3发送关于目的地端口号和源端口号分别为“80”和“30000”的分组的统计信息,该OFC 3支持监视关于在客户端终端2-1与应用101之间的通信的统计信息。另外,OFS4i向OFC 3发送关于目的地端口号和源端口号分别为“80”和“40000”的分组的统计信息,该OFC 3支持监视关于在客户端终端2-2与应用101之间的通信的统计信息。
(2)第二示例性实施例:监视其中向两个端点的应用动态分配端口号的应用间通信
图13是用于说明第二示例性实施例中的监视应用间通信的方法的示图。作为示例,考虑其中在一个客户端应用与多个服务器应用之间执行通信的情况。在这种情况下,服务器1的每个应用101和102的端口号为“ANY”,并且客户端终端2的应用201的端口号也为“ANY”。
当在应用202与多个应用101和102之间建立会话时,访问目的地服务器1向应用101、102和202动态分配端口号。在这里,考虑其中关于在应用101与应用201之间的通信向应用101分配端口号“2000”并且向应用201分配端口号“30000”并且关于在应用102与应用201之间的通信向应用102分配端口号“2004”并且向应用201分配端口号“40000”的情况。
响应于从应用201访问应用101,OFS 4i向OFC 3不仅通知第一分组接收通知,而且还通知从接收的分组的标头信息提取的目的地端口号“2000”和源端口号“30000”。OFC 3向应用标识代理10请求与目的地端口号“2000”和源端口号“30000”相关联的应用名称。另外,OFC 3基于第一分组接收通知在OFS 4i中设置用于控制在应用101与应用201之间的通信的流。
应用标识代理10标识与目的地端口号“2000”相关联的应用名称(应用101)和与源端口号“30000”相关联的应用名称(客户端终端2的应用201),并且向OFC 3通知它们。OFC 3在应用-流对应表335上记录在通知的应用名称与在OFS 4i中设置的流之间的对应关系。
类似地,响应于从应用201访问应用102,OFS 4i向OFC 3不仅通知第一分组接收通知,而且还通知从接收的分组的标头信息提取的目的地端口号“2004”和源端口号“40000”。OFC 3向应用标识代理10请求与目的地端口号“2004”和源端口号“40000”相关联的应用名称(应用102和201)。另外,OFC 3基于第一分组接收通知,在OFS 4i中设置用于控制在应用102与应用201之间的通信的流。继而,OFC 3在应用-流对应表335上记录在通知的应用名称与在OFS4i中设置的流之间的对应关系。
根据本发明,如上文描述的那样,即使当客户端终端2如在其中并行使用多个服务器应用的情况下那样通过使用任意TCP/IP端口号来发送和接收分组时,仍然有可能标识与在OFS 4i中设置的流相关联的应用并且关于每个应用监视统计信息。在上文描述的示例的情况下,OFS 4i向OFC 3发送关于目的地端口号和源端口号分别为“2000”和“30000”的分组的统计信息,该OFC 3支持监视关于在应用201与应用101之间的通信的统计信息。另外,OFS 4i向OFC 3发送关于目的地端口号和源端口号分别为“2004”和“40000”的分组的统计信息,该OFC 3支持监视关于在应用201与应用101之间的通信的统计信息。
(3)第三示例性实施例:监视通过负荷平衡器执行的应用间通信
图14是用于说明第三示例性实施例中的监视应用间通信的方法的示图。作为示例,在这里考虑其中在客户端终端2与该组OFS 4之间提供有负荷平衡器5的***中执行应用间通信的情况。如图14中所示,在多个客户端终端2-1至2-3与该组OFS 4之间提供负荷平衡器5,并且该负荷平衡器5关于多个服务器1-1和1-2的应用101-1和102-2执行负荷平衡。在这里,考虑其中向服务器1-1的应用101-1和服务器1-2的应用101-2固定分配相同端口号“2000”的情况。另外,每个客户端终端2-1至2-3的应用的端口号为“ANY”。
当在服务器1-1的应用101-1和应用101-2之间建立会话时,访问目的地服务器向相应客户端终端2-1至2-3的应用动态分配端口号。在这里,考虑其中向客户端终端2-1分配端口号“30000”、向客户端终端2-2分配端口号“40000”并且向客户端终端2-3分配端口号“50000”的情况。
响应于从客户端终端2-1访问应用101,OFS 4i向OFC 3不仅通知第一分组接收通知,而且还通知从接收的分组的标头信息提取的目的地端口号“2000”和源端口号“30000”。OFC 3基于在第一分组接收通知中包括的目的地IP地址、目的地MAC地址等来标识目的地服务器。在这,将服务器1-1标识为目的地。OFC 3向服务器1-1的应用标识代理10-1请求与目的地端口号“2000”和源端口号“30000”相关联的应用名称。另外,OFC 3基于第一分组接收通知在OFS 4i中设置用于控制在服务器1-1与客户端终端2-1(负荷平衡器5)之间的通信的流。
应用标识代理10-1标识与目的地端口号“2000”相关联的应用名称(服务器1-1的应用101-1)和与源端口号“30000”相关联的应用名称(客户端终端2-1的应用),并且向OFC 3通知它们。OFC 3在应用-流对应表335上记录在通知的应用名称与在OFS 4i中设置的流之间的对应关系。
类似地,OFC 3在应用-流对应表335上关于在客户端终端2-2和2-3与服务器1-2和1-2之间的其它应用间通信来记录在应用与流之间的对应关系。例如,OFC 3在应用-流对应表335上记录在与目的地端口号“2000”相关联的应用名称(服务器1-1的应用101-1)、与源端口号“40000”相关联的应用名称(客户端终端2-1的应用)和在应用之间的路由上的OFS 4i中设置的流之间的对应关系。备选地,OFC 3在应用-流对应表335上记录在与目的地端口号“2004”相关联的应用名称(服务器1-2的应用101-2)、与源端口号“50000”相关联的应用名称(客户端终端2-2的应用)和在应用之间的路由上的OFS4i中设置的流之间的对应关系。
OFS 4i向OFC 3发送关于目的地端口号和源端口号分别为“2000”和“30000”的分组的统计信息,该OFC 3支持监视关于在客户端终端2-1的应用201与应用101-1之间的通信的统计信息。另外,OFS 4i向OFC 3发送关于目的地端口号和源端口号分别为“2000”和“40000”的分组的统计信息,该OFC 3支持监视关于在客户端终端2-2的应用201与应用101-1之间的通信的统计信息。另外,OFS 4i向OFC 3发送关于目的地端口号和源端口号分别为“2004”和“50000”的分组的统计信息,该OFC 3支持监视关于在客户端终端2-3的应用201与应用101-2之间的通信的统计信息。
根据如上文描述的本发明的计算机***,有可能监视其中向应用动态分配端口号的应用间通信。因而,可以关于每个应用对业务量进行可视化。例如,有可能揭示以下各项中的哪一项引起业务拥塞:在服务器的CPU上的负荷增加或者应用通信的业务量增加。另外,有可能通过关于每个应用根据可视化的统计信息控制流来关于每个应用执行故障恢复和拥塞控制。另外,可视化、故障恢复等处理的集中控制可以由OFC 3执行。常规地,已经分开执行在服务器侧(IT侧)上的应用管理和在网络侧上的管理。然而,本发明使得有可能执行对它们的集中化管理。也就是说,根据本发明,有可能通过将通信流与使用通信流的应用相关联来实现IT网络集成可视化。
另外,OFS 4i仅设置与流表343匹配的流作为统计信息采集目标。例如,在s流(其中在预定采样定时收集采集统计信息)的情况下,从采样目标排除脱离采样定时的分组,这使统计信息的准确性下降。根据本发明,执行分组采样,并且每当执行基于流的处理时(也就是说,每当接收监视目标分组时)生成统计信息。因此,提高了统计信息的准确性而减少了采样的处理负荷。
尽管上文已经详细描述了本发明的示例性实施例,但是具体配置并不限于上文描述的示例性实施例,并且可以做出各种改变而不脱离本发明的精神实质和范围。只要不出现技术矛盾,在上文描述的第一至第三示例实施例中的任何监视方法可以相互组合。应用标识代理10可以安装在客户端终端2中。同样在这一情况下,客户端终端2如在上文描述的情况下那样使用查询的端口号来向OFC 3通知应用名称。尽管已经在上述示例性实施例中描述了在服务器1与客户端终端2之间的通信,但是本发明也可以应用于监视在多个服务器1-1与1-2之间的通信。
本申请基于通过引用将公开内容完全结合于此的日本专利申请2009-233888,并且要求该专利申请的优先权权益。