CN102918511A - 中继装置、中继***、中继方法、程序以及记录了程序的计算机可读取的记录介质 - Google Patents
中继装置、中继***、中继方法、程序以及记录了程序的计算机可读取的记录介质 Download PDFInfo
- Publication number
- CN102918511A CN102918511A CN2010800670658A CN201080067065A CN102918511A CN 102918511 A CN102918511 A CN 102918511A CN 2010800670658 A CN2010800670658 A CN 2010800670658A CN 201080067065 A CN201080067065 A CN 201080067065A CN 102918511 A CN102918511 A CN 102918511A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- frame
- file
- alternative
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
用于在多个装置间的数据通信中分散施加在数据发送源装置上的负荷的中继***,包括:多个装置;以及中继装置,其对多个装置间的数据通信进行中继,多个装置具有:发送部,其发送数据;以及接收部,其接收数据,中继装置具有:存储部,其将确定已中继的数据的信息与确定该数据的接收源的信息一起进行存储;以及决定部,其对于来自特定装置的特定的数据取得请求,根据存储部的信息,决定特定数据的发送源装置。
Description
技术领域
本发明涉及对多个装置间的通信进行中继的中继装置。
背景技术
例如,在个人计算机(以下,PC)的制造现场中,在开关上连接有文件服务器和PC,从文件服务器向各PC同时下载操作***(OS)等在各PC所需的数据。
当从多个客户端的文件下载集中在某个文件服务器上时,有时文件服务器的性能、或以太网(注册商标)等网络性能成为瓶颈的原因。由于瓶颈,数据的传送效率降低,网络整体的性能效率降低。另外,文件服务器的性能例如依赖于CPU(CentralProcessing Unit)、存储器、HDD(Hard Disc Drive)等硬件的规格。
现有技术文献
专利文献
专利文献1:日本特开2001-325207号公报
专利文献2:日本特开2008-005512号公报
发明内容
发明所要解决的课题
当从多个客户端的下载集中在某个文件服务器,存在文件服务器的负荷增大的可能性时,能够通过文件服务器和网络的双重化等而提高网络整体的性能效率。但是,在文件服务器和网络的双重化中需要大规模的设备投资。如果施加在文件服务器上的负荷减少,则即使没有大规模的设备投资,也有可能提高网络整体的性能效率。
本发明的一方式的目的在于,提供分散多个装置间的数据通信中的施加在数据发送源装置上的负荷的中继装置。
用于解决课题的手段
本发明的方式之一为中继装置。一种中继装置,其对多个装置间的数据通信进行中继,该中继装置具有:
存储部,其将确定所中继的数据的信息与确定该数据的接收目的地的信息一起进行存储;以及
决定部,其对于来自特定装置的特定数据取得请求,根据所述存储部的信息,决定所述特定数据的发送源装置。
本发明的其他方式之一是包含上述中继装置的中继***、中继方法、程序以及记录了程序的计算机可读取的记录介质。
发明效果
根据公开的中继装置,能够分散多个装置间的数据通信中的施加在数据发送源装置上的负荷。
附图说明
图1是示出数据发布网络***的例子的图。
图2是示意地示出客户端终端从文件服务器读出文件数据时的工作例的图。
图3是示出开关的硬件构成例的图。
图4是示出执行了中继程序时的、开关的功能块的例子的图。
图5是示出装置信息表的例子的图。
图6是示出替代请求帧的格式的例子的图。
图7是示出通信信息记录表的例子的图。
图8是示出转换信息表的例子的图。
图9是示出在开关接收到了帧时,对接收帧进行分类的处理的流程的例子的图。
图10是示出开关接收到了替代请求帧时的处理的流程的例子的图。
图11A是示出开关接收到了记录对象帧时的处理的流程的例子的图。
图11B是示出开关接收到了记录对象帧时的处理的流程的例子的图。
图12A是示出开关接收到了转换对象帧时的处理的流程的例子的图。
图12B是示出开关接收到了转换对象帧时的处理的流程的例子的图。
图13是示出开关接收到了冒充通信的帧时的处理的流程的例子的图。
图14是示出图1所示的网络中的开关的工作例的图。
具体实施方式
以下,参照附图,对用于实施本发明的方式(以下,称为实施方式)进行说明。以下的实施方式的结构为例示,本发明不限定于实施方式的结构。
<第1实施方式>
图1是示出数据发布网络***的例子的图。数据发布网络***例如包含:文件服务器2、与文件服务器2连接的开关1、分别与开关1连接的客户端终端10、20、30、40、50。假设各客户端终端通过开关1从文件服务器2下载相同文件。以下,在图中,客户端终端被简单地表示为“客户端”。
数据发布网络例如是为了在PC的制造现场中将软件下载到多个PC并安装而构建的网络。此时,客户端终端10、20、30、40、50是被制造的PC,文件服务器2是保持设定在各客户端终端上的软件的数据文件的PC。文件服务器2和各客户端终端使用相同的文件共享协议交接文件。文件共享协议中存在例如Windows(注册商标)、OS中的SMB(Server Message Block)或CIFS(Common Internet File System)等。
图2是示意地示出图1的数据发布网络***中的客户端终端10从文件服务器2读出文件数据时的工作例的图。在图2所示的例子中,作为文件共享协议,对使用SMB的情况进行说明。另外,在图2中,虽然仅表示了客户端终端10和文件服务器2,但是在客户端终端10与文件服务器2之间存在开关1,对客户端终端10与文件服务器2之间的通信进行中继。
首先,从客户端终端10对文件服务器2进行协商(OP1)。对此,文件服务器2发送响应(OP2)。在该协商中,进行会话的建立处理、正在支持的协议级的搭接、取得与对象文件有关的信息、以及文件ID分配等在数据的读出中所需的事先处理。
当在客户端终端10与文件服务器2之间结束事先处理时,客户端终端10向文件服务器2发送对象文件的数据请求(OP3)。在数据请求中包含对象文件的文件ID、表示对象文件内的数据发送开始位置的偏移地址、序列号等。
当从客户端终端10接收数据请求时,文件服务器2分割对象文件而发送到客户端终端10(OP4)。文件服务器2能够不等来自客户端终端10的接收完成响应而发送规定数据尺寸量的数据。
当客户端终端10从文件服务器2接收规定数据尺寸量的数据时,向文件服务器 2发送接收完成响应(OP5)。在客户端终端10与文件服务器2之间重复进行如OP4和OP5那样的数据的分割发送及其接收完成响应等。
当发送对象文件的最后数据时,文件服务器2将所请求的文件数据的发送完成响应发送到客户端终端10(OP6)。
当从文件服务器2接收发送完成响应时,客户端终端10向文件服务器2发送所有请求数据的接收完成响应,结束对象文件的读出(OP7)。
在客户端终端10接着从文件服务器2读出其他文件时,由于确立了客户端终端10与文件服务器2之间的会话,因此从发送数据请求的OP3的处理开始进行。
当如图2所示的、读出数据的通信集中在文件服务器中时,由于瓶颈而降低文件服务器的数据传送效率,网络整体的性能降低的可能性高。
在第1实施方式中,连接客户端终端和文件服务器的开关,在从客户端终端对文件服务器读出数据的通信中,将确定所中继的数据的信息与确定接收目的地的信息对应起来存储在存储部中。开关对于来自特定客户端终端的特定数据取得请求,根据保持在存储部中的信息决定成为该特定数据的发送源的装置。例如当在文件服务器中集中了访问时,开关对于向文件服务器的数据取得请求,根据保持在存储部中的信息,将已经读出了相同数据的客户端终端决定为该数据的发送源。由此,分散针对文件服务器的负荷,提高网络整体的性能效率。
《装置结构》
《开关》
(硬件结构)
图3是示出开关的硬件构成例的图。开关1包含:CPU11、存储器12、开关芯片13、多个PHY(PHYsical)芯片14、对每个PHY芯片准备的多个接口(IF)15。
接口15是例如作为连接以太网(注册商标)的线缆的接口的RJ45。接口15也可以是连接光缆而将光信号转换为电信号的光模块。
PHY芯片14对从接口15输入的传输信号进行OSI(Open SystemsInterconnection)参考模型的层1的处理,生成帧。所生成的帧输出到开关芯片13。当从开关芯片13输入帧时,PHY 芯片14将帧转换为传输信号,将传输信号输出到接口15。
开关芯片13从PHY 芯片14接收帧。开关芯片13根据所输入的帧的目的地MAC 地址,通过PHY芯片14将帧输出到适当的接口15。
存储器12例如是DRAM(Dynamic Access Memory)或闪存等。存储器12例如也可以是DRAM与闪存的集合体。存储器12向CPU11提供作业区域和存储区域。存储器12在非易失性区域中保持中继程序12p。
CPU11在对开关1的整体进行管理的同时,执行保持在存储器12中的中继程序12p。通过由CPU11执行中继程序12p,开关1在从客户端终端对文件服务器读出数据的通信中,将确定所中继的数据的信息与确定接收目的地的信息存储在存储部中。另外,通过由CPU11执行中继程序12p,开关1根据保持在存储部中的信息,对来自客户端终端的数据取得请求,决定数据的发送源。例如,开关1通过执行中继程序12p,将从客户端终端对文件服务器读出数据的通信,转换为对于已经读出对象文件的客户端终端的数据读出的通信。以后,将从客户端终端对文件服务器读出数据的通信转换为对于已经读出对象文件的客户端终端的数据读出的通信的处理,称为通信转换处理。
(功能块)
图4是示出执行了中继程序12p时的、开关1的功能块的例子的图。
CPU11通过执行中继程序12p,作为控制部111、虚拟客户端部112、虚拟服务器部113、转换部114、装置信息管理部115、通信信息管理部116以及转换信息生成部117来进行工作,执行通信转换处理。存储器12保持装置信息表121、通信信息记录表122、转换信息表123、MAC(Media Access Control)表124、虚拟客户端通信表125以及虚拟服务器通信表126。
(控制部)
控制部111作为输入得到开关1从开关芯片13接收的帧。控制部111根据接收帧的头和有效载荷的信息,对接收帧进行分类,根据接收帧的分类决定处理。控制部111根据所决定的处理内容,将接收帧输出到开关芯片13、虚拟客户端部112、虚拟服务器部113或转换部114中的任意一个。
另外,控制部111对虚拟客户端部112、虚拟服务器部113、转换部114、装置信息管理部115、通信信息管理部116以及转换信息生成部117进行控制。虚拟客户端部112、虚拟服务器部113、转换部114、装置信息管理部115、通信信息管理部116以及转换信息生成部117之间的信息的交接是通过控制部111来进行的。
另外,控制部111在通信转换处理中进行如下的替代服务器选择处理:选择成为数据请求目的地、即文件服务器2的替代服务器的客户端终端。控制部111相当于方式中的“决定部”。
在图4中用实线来示出帧流。在图4中用虚线来示出控制。关于控制部111的处理的细节,在后述的图9、图10、图11A、图11B、图12A、图12B以及图13的流程中示出。
(存储器)
在存储器12中保持装置信息表121、通信信息记录表122、转换信息表123、MAC地址表124、虚拟客户端通信表125以及虚拟服务器通信表126。MAC地址表124是将端口与连接在该端口上的装置的MAC地址对应起来的表。
在后述的图5中对装置信息表121的细节进行说明。在后述的图7中对通信信息记录表122的细节进行说明。在后述的图8中对转换信息表123的细节进行说明。对于虚拟客户端通信表125的细节,将在后面叙述。对于虚拟服务器通信表126的细节,将在后面叙述。
(装置信息管理部)
装置信息管理部115对保持在存储器12中的装置信息表121进行管理。装置信息表121中保持有与开关1连接的装置是否对来自该装置的数据读出通信请求通信转换处理的信息。
图5是示出装置信息表121的例子的图。装置信息表121的记录包含与开关1的端口连接的装置的MAC地址和替代请求标志。另外,在图5所示的例子中,为了便于说明,在各记录的前头还示出了装置的名称(文件服务器2、客户端10等)。
在装置信息表121的“MAC地址”字段中,示出与开关1的端口连接的装置的MAC地址。
装置信息表121的“替代请求标志”字段是表示如下内容的标志:与对应的“MAC地址”字段相应的装置是否对开关1请求对于从该装置读出数据的通信的通信转换处理的执行。
在“替代请求标志”字段为“0”时,表示该装置没有对开关1请求对于从该装置读出数据的通信的通信转换处理的执行。在“替代请求标志”字段为“0”时,开关1不对来自该装置的数据读出的通信进行转换,而如通常那样中继到该装置。在“替代请求 标志”字段中作为初始值登记有“0”。
在“替代请求标志”字段为“1”时,表示该装置对开关1请求对于从该装置读出数据的通信的通信转换处理的执行。在“替代请求标志”字段为“1”时,开关1进行如下的通信转换处理:将从该装置读出数据的通信转换为从作为已经从该装置读出相同数据的客户端终端读出数据的通信。
在图5所示的例子中,在装置信息表121中保持有图1所示的数据发布网络***的文件服务器2、客户端终端10、客户端终端20以及客户端终端30的记录。
在文件服务器2的记录中,在“MAC地址”字段中存储有文件服务器2的MAC地址“XX-XX-XX-XX-XX-S2”。另外,文件服务器2的记录的“替代请求标志”字段为“1”。因此,在图5所示的装置信息表121的例子中,示出文件服务器2对开关1请求对于从文件服务器2读出数据的通信的通信转换处理的执行。
在客户端终端10的记录中,在“MAC地址”字段中存储有客户端终端10的MAC地址“XX-XX-XX-XX-XX-C1”。另外,客户端终端10的记录的“替代请求标志”字段为“1”。因此,在图5所示的装置信息表121的例子中,示出客户端终端10没有对开关1请求对于从客户端终端10读出数据的通信的通信转换处理的执行。
当某个装置与开关1的端口连接时,更新MAC地址表124。装置信息管理部115对MAC地址表124进行监视,根据MAC地址表124生成并更新装置信息表121。
装置信息管理部115在接收到替代请求帧时,从控制部111领取所接收的替代请求帧的信息。替代请求帧是在与开关1连接的客户端终端或文件服务器2等对开关1请求或解除通信转换处理的执行时使用的帧。替代请求帧被预先定义,例如使用PAUSE帧等多播MAC地址,使用不超过开关1而传送的帧。PAUSE帧是使在以太网(注册商标)中使用的、接收了PAUSE帧的装置中断规定时间帧的发送的帧。装置信息管理部115根据来自控制部111的替代请求帧的内容,将装置信息表121的“替代请求标志”字段变更为“1”或“0”。
图6是示出替代请求帧的格式的例子的图。在图6中,示出将PAUSE帧使用为替代请求帧时的帧格式的例子。
替代请求帧具有:“目的地MAC地址”、“发送源MAC地址”、“长度/类型”、“操作码”、“中断时间”、“替代请求码”、“填充”以及“校验和”的字段。
“目的地MAC地址”字段为6字节。在“目的地MAC地址”中存储有作为以PAUSE 帧用预约的多播地址的“00:80:C2:00:00:01”。
“发送源MAC地址”字段为6字节。在“发送源MAC地址”字段中存储有发送PAUSE帧的装置的MAC地址。
“长度/类型”字段为2字节。由于PAUSE帧为MAC控制帧的一种,因此在“长度/类型”字段中设定有表示为MAC控制帧的“0x8808”。
“目的地MAC地址”字段、“发送源MAC地址”字段以及“长度/类型”字段是以太网帧的头部。
以太网帧的数据部为46字节。数据部的前头有2字节的“操作码”字段。在“操作码”字段中设定有指定控制的操作码。在PAUSE帧的情况下,在“操作码”字段中设定有操作码“0x0001”。
在“操作码”字段之后,接着是2字节的“中断时间”字段。在“中断时间”字段中,指定有使接收了PAUSE帧的装置中断帧发送的时间。在PAUSE帧作为替代请求帧来使用时,在“中断时间”字段中例如设定有“0”。
接着“中断时间”字段的“替代请求码”字段为1字节。“替代请求”码字段是在PAUSE帧作为替代请求帧来使用时设定的。在“替代请求码”字段中存储有替代请求码。替代请求码是指定替代请求帧的发送源的装置是否对开关1请求通信转换处理的执行的码。
替代请求码“0x01”表示替代请求帧对开关1请求通信转换处理的执行的登记请求。表示登记请求的替代请求帧,例如是由成为替代请求帧的发送源的文件服务器2或替代服务器在施加在自身上的负荷比规定的阈值大时发送的。当开关1接收表示登记请求的替代请求帧时,装置信息管理部115将装置信息表121的“MAC地址”字段的值与替代请求帧的“发送源MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段设定为“1”。当装置信息表121的“替代请求标志”字段设定为“1”时,开关1执行对于此后从该装置读出数据的通信的通信转换处理。
替代请求码“0x10”表示替代请求帧对开关1请求对于从发送源的装置读出数据的所有通信的通信转换处理的执行的更新请求。表示更新请求的替代请求帧例如是由成为替代请求帧的发送源的文件服务器2或替代服务器在施加在自身上的负荷比规定阈值大,希望中断正在处理的所有数据读出通信时发送的。当开关1接收表示更新请求的替代请求帧时,装置信息管理部115将装置信息表121的“MAC地址”字段的 值与替代请求帧的“发送源MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段设定为“1”。而且,转换信息生成部117将转换信息表123的“替代服务器MAC地址”字段的值与替代请求帧的“发送源MAC地址”字段的值一致的装置信息表123的记录的“更新标志”字段设定为“1”。在后述的图8中对转换信息生成部117和转换信息表123的细节进行说明。
替代请求码“0x00”表示替代请求帧对开关1请求解除通信转换处理的执行的解除请求。表示解除请求的替代请求帧例如是由成为替代请求帧的发送源的文件服务器2或替代服务器在施加在客户端终端上的负荷比规定的阈值小,成为能够发布数据的状态时发送的。当开关1接收表示解除请求的替代请求帧时,装置信息管理部115将装置信息表121的“MAC地址”字段的值与替代请求帧的“发送源MAC地址”字段的值一致的转换信息表123的记录的“替代请求标志”字段设定为“0”。另外,开关1的转换信息生成部117将转换信息表123的“替代服务器MAC地址”字段的值与替代请求帧的“发送源MAC地址”字段的值一致的转换信息表123的记录的“更新标志”字段设定为“0”。在后述的图8中对转换信息生成部117和转换信息表123的细节进行说明。
在“替代请求码”字段之后,接着是41字节的“填充”字段。在以太网(注册商标)中,由于帧的最小尺寸被决定为64字节,因此通过“填充”字段进行调整,以使替代请求帧的尺寸成为最小尺寸。“操作码”、“中断时间”、“替代请求码”以及“填充”的字段相当于PAUSE帧的数据部。
在帧的最末尾,作为尾部,设定有在帧的匹配性确认中使用的4字节的“校验和”的帧。在以太网帧的情况下,“校验和”字段也被称为FCS(Frame Check Sequence)。
另外,在图6所示的例子中,虽然示出使用了PAUSE帧时的替代请求帧的格式,但是并不限定于PAUSE帧,对于替代请求帧,也可以使用多播MAC地址,使用不超过开关1而传输的帧。此时,替代请求帧的格式成为除了在替代请求帧中采用的原始格式以外,还成为具有上述的替代请求码字段的格式。
通过图5和图6表示在所接收的替代请求帧的“替代请求码”字段为“0x01”时为登记请求。在所接收的替代请求帧的“替代请求码”字段为“0x10”时,表示为更新请求。在替代请求帧表示登记请求或更新请求时,装置信息管理部115将装置信息表121的“MAC地址”字段的值与替代请求帧的“发送源MAC地址”字段的值一致的装置信 息表121的记录的“替代请求标志”字段设定为“1”。在所接收的替代请求帧的“替代请求码”字段为“0x00”时,表示为解除请求。在替代请求帧表示解除请求时,装置信息管理部115将装置信息表121的“MAC地址”字段的值与替代请求帧的“发送源MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段设定为“0”。
在接收了表示登记请求的替代请求帧时,开关1执行对于从此后产生的替代请求帧的发送源的装置读出数据的通信的通信转换处理。在替代请求帧的发送源为作为替代服务器工作的客户端终端时,关于将在接收表示登记请求的替代请求帧之前已经确立的该客户端作为替代服务器的数据读出通信,不进行转换而继续进行通信。但是,在替代请求帧的发送源为文件服务器2时,对于包含在接收表示登记请求的替代请求帧之前已经确立的数据读出的通信的、所有从所有文件服务器2读出数据的通信,执行通信转换处理。在后面进行细节说明。
另一方面,在接收了表示更新请求的替代请求帧时,对包含在接收该替代请求帧之前已经确立的数据读出的通信的、从替代请求帧的发送源的装置读出数据的所有通信执行通信转换处理。
(通信信息管理部)
通信信息管理部116对通信信息记录表122进行管理。通信信息管理部116将用于确定数据读出通信中的作为数据的取得目的地的客户端终端、作为数据的取得源的文件服务器2、以及所取得的文件的通信信息,记录到通信信息记录表122中。在开关1接收了记录对象的帧时,通信信息管理部116从控制部111交接所接收的记录对象的帧信息,在通信信息记录表122中记录通信信息。预先定义通信信息记录表122的记录对象的帧。例如,包含作为文件共享协议的SMB和CIFS分组的帧被定义为通信信息记录表122的记录对象的帧。例如,由于在SMB中预约有端口号445,因此通过检测在接收帧中包含的“端口号”字段为表示SMB的445,从而判定为接收帧为SMB帧,且是记录对象的帧。
图7是示出通信信息记录表122的例子的图。通信信息管理部122保持用于确定开关1中继的数据读出通信中的作为数据取得目的地的客户端终端、作为数据取得源的文件服务器2、以及所取得的文件的通信信息。通信信息记录表122相当于“存储部”。
在通信信息记录表122的记录中例如包含有“客户端MAC地址”、“服务器MAC 地址”、“客户端IP地址”、“服务器IP地址”、“客户端文件路径”、“服务器文件路径”以及“通信结束标志”的字段。
在通信信息记录表122的记录的“客户端MAC地址”字段中,示出请求数据读出而取得了数据的客户端终端的MAC地址。在“客户端IP地址”字段中,示出请求数据读出而取得了数据的客户端终端的IP地址。在“客户端文件路径”字段中,示出作为所取得的读出对象文件的保存目的地的、客户端终端内的路径。在客户端文件路径中还包含有所取得的读出对象文件的文件名。
在“服务器MAC地址”字段中,示出对于数据读出请求发布了数据的服务器的MAC地址。在“服务器IP地址”字段中,示出对于数据读出请求发布了数据的服务器的IP地址。在“服务器文件路径”字段中,示出保持了读出对象文件的、服务器内的路径。在服务器文件路径中还包含有发布到客户端终端的读出对象文件的文件名。
在“通信结束标志”字段表示记录在通信信息记录表122中的、客户端从服务器读出对象文件的通信是否结束。在“通信结束标志”字段为“0”时,表示记录在该记录中的数据的读出通信为继续中。在“通信结束标志”字段为“1”时,表示记录在该记录中的数据的读出通信结束。“通信结束标志”字段的初始值为“0”。
在图7所示的通信信息记录表122的例子中,“客户端MAC地址”字段和“客户端IP地址”字段是用于确定数据的取得目的地的信息。“服务器MAC地址”字段和“服务器IP地址”字段是用于确定数据取得源的信息。“客户端文件路径”和“服务器文件路径”是用于确定开关1中继的数据的信息。
在图7所示的通信信息记录表122的例子的前头的记录中,示出以下的内容。首先,“客户端MAC地址”字段和“客户端IP地址”字段,表示数据的取得目的地为客户端终端10(MAC地址的末尾为“C1”)。另外,由“服务器MAC地址”字段和“服务器IP地址”字段表示数据的取得源为服务器文件2(MAC地址的末尾为“S2”)。另外,由“客户端文件路径”字段表示所取得的文件为“a.txt”。
在判定为所接收的帧为记录对象的帧时,控制部111对帧的内容进行分析,将分析结果得到的信息发送到通信信息管理部116。通信信息管理部116根据帧内容的分析结果,生成并更新通信信息记录表122的记录。例如,在SMB中,由于预约了端口号445,因此通过对在作为记录对象的接收帧中包含的目的地端口号或发送源端口号进行分析,从而能够检测服务器与客户端的各MAC地址和IP地址。例如,在记 录对象的接收帧的“目的地端口号”字段为445时,通信信息管理部116将接收帧的“目的地MAC地址”字段的值和“目的地IP地址”字段的值分别记录为通信信息记录表122的“服务器MAC地址”字段的值和“服务器IP地址”字段的值。例如,此时,通信信息管理部116将接收帧的“发送源MAC地址”字段的值和“发送源IP地址”字段的值分别记录为通信信息记录表122的“客户端MAC地址”字段的值和“客户端IP地址”字段的值。
另外,在生成了通信信息记录表122的记录的时刻,即使在存在丢失了信息的字段时,也将所生成的记录增加到通信信息记录表122中。例如,通信信息记录表122中的“客户端文件路径”字段和“服务器文件路径”字段等,在图2中说明的协商的初始阶段中未知的情况较多。在通信信息记录表122的记录中丢失信息的字段,在进行协商处理,判明了存储的信息的时刻,通过通信信息管理部116来增加信息。
开关1的通信信息管理部116,例如在记录对象的接收帧为在图2中说明的、从客户端终端向服务器文件发送的、对于最终数据的接收完成响应时,该通信的记录的“通信结束标志”字段设定为“1”。记录对象的接收帧是否为对于最终数据的接收完成响应,例如能够通过包含在接收帧中的偏移地址或序列号(参考与图2对应的说明书部分)的值成为最大来判定。
当如图1所示的网络那样,在网络内存在一个如文件服务器2那样的成为数据发布源的装置时,能够省略通信信息记录表122的“服务器MAC地址”、“服务器IP地址”以及“服务器文件路径”的字段。
(转换信息生成部)
转换信息生成部117通过生成、更新以及删除转换信息表123的各记录,对转换信息表123进行管理。转换信息生成部117将用于确定转换对象帧的信息和帧的转换内容记录到转换信息表123中。
图8是示出转换信息表123的例子的图。转换信息表123是在通信转换处理中保持用于确定成为转换对象的帧而转换帧的信息的表。成为转换对象的帧例如是SMB或CIFS等文件共享协议的帧,且是通过转换信息表123的记录确定的帧。另外,图8所示的转换信息表123的例子,示出作为文件共享协议使用了SMB时的构成例。
在图8所示的转换信息表123的例子中,示出图1所示的数据发布网络***中的开关1的转换信息表123。在图8的转换信息表123中保持有表示如下内容的记录: 作为客户端终端30从文件服务器2读出文件“a.txt”的通信的代替服务器选择了客户端终端10。
转换信息表123的记录包含:“客户端MAC地址”、“服务器MAC地址”、“替代服务器MAC地址”、“客户端IP地址”、“服务器IP地址”、“代替服务器IP地址”、“客户端文件路径”、“服务器文件路径”、“替代服务器文件路径”、“客户端端口号”、“服务器端口号”、“替代服务器端口号”、“服务器文件ID”、“替代服务器文件ID”以及“更新标志”的字段。
在转换信息表123的“客户端MAC地址”字段中存储有成为转换对象的数据读出通信中的客户端终端的MAC地址。“客户端IP地址”字段中存储有成为转换对象的数据读出通信中的客户端终端的IP地址。在“客户端文件路径”字段中存储有成为转换对象的数据读出通信中的客户端终端的读出对象文件的保存目的地。“客户端端口号”字段中存储有成为转换对象的数据读出通信中的客户端终端使用的端口号。在图8所示的转换信息表123的例子中,在“客户端MAC地址”字段、“客户端IP地址”字段中,分别存储有图1所示的数据发布网络***的例子中的客户端终端30的MAC地址、IP地址。另外,在图8所示的例子中,在“客户端端口号”字段中存储有“1071”,表示客户端终端30使用端口号1071。
在转换信息表123的“服务器MAC地址”字段中存储有成为转换对象的数据读出通信中的服务器的MAC地址。在“服务器IP地址”字段中存储有成为转换对象的数据读出通信中的服务器的IP地址。在“服务器文件路径”字段中存储有成为转换对象的数据读出通信中的服务器的读出对象文件的路径。在“服务器端口号”字段中存储有成为转换对象的数据读出通信中的服务器使用的端口号。在“服务器文件ID”字段中存储有在成为转换对象的数据读出通信中的服务器保持的读出对象的文件上分配的文件ID。在图8所示的转换信息表123的例子中,在“服务器MAC地址”字段、“服务器IP地址”字段中,分别保持有图1所示的数据发布网络***中的文件服务器2的MAC地址、IP地址。另外,在图8所示的例子中,在“服务器端口号”字段中存储有“445”,表示文件服务器2使用在SMB中预约的端口号。另外,在图8所示的例子中,由于“服务器文件ID”字段为“0xc00f”,因此表示在保持在文件服务器2中的读出对象文件上分配的文件ID为0xc00f。
在转换信息表123的“替代服务器MAC地址”字段中存储有成为转换对象的数据 读出通信中的作为替代服务器选择的客户端终端的MAC地址。在“替代服务器IP地址”字段中存储有成为转换对象的数据读出通信中的作为替代服务器选择的客户端终端的IP地址。在“替代服务器文件路径”字段中存储有成为转换对象的数据读出通信中的作为替代服务器选择的客户端终端的读出对象的文件路径。在“替代服务器端口号”字段中存储有成为转换对象的数据读出通信中的作为替代服务器选择的客户端终端使用的端口号。在“服务器文件ID”字段中存储有在成为转换对象的数据读出通信中的作为替代服务器选择的客户端终端保存的读出对象的文件上分配的文件ID。在图8所示的转换信息表123的例子中,在“替代服务器MAC地址”字段、“替代服务器IP地址”字段中,保持有作为替代服务器的客户端终端10的MAC地址、IP地址。另外,在图8所示的例子中,在“替代服务器端口号”字段中存储有“445”,表示作为替代服务器的客户端终端10使用在SMB中预约的端口号。另外,在图8所示的例子中,由于在“替代服务器文件ID”字段中存储有“0xc00f”,因此表示在保持在作为替代服务器的客户端终端10中的读出对象文件上分配的文件ID为“0xc00f”。
在转换信息表123的“更新标志”字段中,存储有表示在通过记录确定的转换对象数据读出的通信中作为替代服务器选择的客户端终端能否执行数据读出的通信的标志。在“更新标志”字段为“0”时,表示该记录的替代服务器能够执行数据读出的通信。在“更新标志”字段为“1”时,表示该记录的替代服务器不能执行数据读出的通信。“更新标志”字段的初始值为“0”。在图8所示的转换信息表123的例子中,由于“更新标志”字段为“0”,因此表示作为替代服务器的客户端终端10能够执行数据读出的通信。
转换信息表123的记录例如是在开关1从文件服务器2接收通信转换处理的请求后,初次接收了各客户端终端从文件服务器2读出数据的通信时分别生成的。例如,在装置信息表121中,在文件服务器2的“替代请求标志”字段中存储有“1”,在初次接收了某个客户端终端从文件服务器2读出数据的通信时,生成转换信息表123的记录。另外,关于转换信息表123的记录,即使在所生成的时刻存在信息丢失的字段,也被增加到转换信息表123。在转换信息表123的记录中,在所生成的时刻,至少包含客户端、服务器、替代服务器各自的MAC地址、IP地址、端口号以及文件路径即可。例如,在“文件ID”中,在生成了转换信息表123的记录的时刻,即使丢失信息也可以在判明的时刻在各记录中增加信息。
例如,在生成转换信息表123的记录时,以下假设在接收帧的“目的地端口号” 字段上存储有预约为SMB用的端口号“445”的情况,来对转换信息表123的记录的生成进行说明。
由于在接收帧的“目的地端口号”字段中存储有在SMB中预约的端口号“445”,因此表示接收帧的发送源是客户端终端,目的地是作为服务器工作的文件服务器2。转换信息生成部117取得接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”的字段各自的值,作为转换信息表123的记录的“服务器MAC地址”、“服务器IP地址”、“服务器端口号”的字段的值。转换信息生成部117取得接收帧的“发送源MAC地址”、“发送源IP地址”、“发送源端口号”的字段各自的值,作为转换信息表123的记录的“客户端MAC地址”、“客户端IP地址”、“客户端端口号”的字段的值。
当通过控制部111选择替代服务器时,转换信息生成部117从通信信息记录表122提取作为替代服务器选择的客户端终端从作为接收帧的目的地的文件服务器2读出了对象文件的通信的记录。在此时提取的通信信息记录表122的记录中,“客户端MAC地址”和“客户端IP地址”的字段的值是作为替代服务器选择的客户终端的MAC地址和IP地址。另外,在此时提取的通信信息记录表122的记录中,“服务器MAC地址”和“服务器IP地址”的字段的值是作为接收帧的目的地的文件服务器2的MAC地址和IP地址。另外,在此时提取的通信信息记录表122的记录中,包含在“客户端文件路径”和“服务器文件路径”的字段中的文件名为对象文件。另外,在此时提取的通信信息记录表122的记录中,在“通信结束标志”字段中存储了“1”。另外,读出对象的文件信息通过分析接收帧或者从虚拟服务器部113取得。另外,成为替代服务器的客户端终端是通过控制部111来选择的。关于虚拟服务器部113的细节,将在后面叙述。对于通过控制部111选择成为替代服务器的客户端终端的处理,将在后面叙述。
转换信息生成部117分别取得所提取的通信信息记录表122的记录中的、“客户端MAC地址”、“客户端IP地址”、“客户端文件路径”的字段的值,作为转换信息表123的“替代服务器MAC地址”、“替代服务器IP地址”、“替代服务器文件路径”的字段的值。
转换信息生成部117取得所提取的通信信息记录表122的记录中的“服务器文件路径”字段的值,作为转换信息表123的“服务器文件路径”字段的值。
另外,转换信息生成部117从在作为从文件服务器2读出数据的通信帧的接收帧中包含的“对象文件的保存目的地的路径”字段,取得转换信息表123中的“客户端文 件路径”字段的值。在不能从接收帧取得的情况下,转换信息生成部117从虚拟服务器部113取得对象文件的保存目的地,存储在转换信息表123中的“客户端文件路径”字段中,该虚拟服务器部113从客户端终端取得对象文件的信息。
另外,例如在数据读出的通信中,由于作为服务器工作的装置使用预先预约的端口号,因此在转换信息表123的“替代服务器端口号”字段中,存储有与该记录的“服务器端口号”相同的号。
当开关1接收了表示更新请求的替代请求帧时,转换信息生成部117例如将转换信息表123的“替代服务器MAC地址”字段的值和该替代请求帧的“发送源MAC地址”字段的值一致的转换信息表123的记录的“更新标志”字段的值设定为“1”。另外,当开关1接收了表示解除请求的替代请求帧时,转换信息生成部117例如将转换信息表123的“替代服务器MAC地址”字段的值和该替代请求帧的“发送源MAC地址”字段的值一致的转换信息表123的记录的“更新标志”字段的值设定为“0”。
转换信息表123是为了确定转换对象的接收帧而使用的。控制部111对接收帧的内容进行分析,比较接收帧的内容和转换信息表123的各记录,如果存在一致的记录,则判定为接收帧为转换对象的帧。
例如,控制部111在至少包含在接收帧中的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“发送源MAC地址”、“发送源IP地址”以及“发送源端口号”的字段的值,分别与包含在转换信息表123的记录中的“服务器MAC地址”、“服务器IP地址”、“服务器端口号”、“客户端MAC地址”、“客户端IP地址”以及“客户端端口号”的字段的值一致时,判定为接收帧为转换对象的帧。
另外,例如控制部111在至少包含在接收帧中的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“发送源MAC地址”、“发送源IP地址”以及“发送源端口号”的字段的值,分别与包含在转换信息表123的记录中的“客户端MAC地址”、“客户端IP地址”、“客户端端口号”、“替代服务器MAC地址”、“替代服务器IP地址”以及“替代服务器端口号”的字段的值一致时,判定为接收帧为转换对象的帧。
转换信息生成部117例如在通过转换信息表123的记录确定的数据读出的通信结束时、或变更了替代服务器时等,删除该记录。
(转换部)
转换部114将从客户端终端发送到文件服务器中的帧转换为从客户端终端发送 到文件服务器的替代服务器中的帧,或者将从替代服务器发送到客户端终端的帧转换为从文件服务器发送到客户端终端的帧。
在通过控制部111判定为接收帧为转换对象的帧时,转换部114根据转换信息表123对接收帧进行转换。例如,在转换对象的接收帧的发送源为客户端终端30且目的地为文件服务器2时,转换部114将接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“对象文件的读出源的路径”等字段的值,改写为转换信息表123的相应记录的“替代服务器MAC地址”、“替代服务器IP地址”、“替代服务器端口号”、“替代服务器文件路径”等表示的值。由此,客户端终端30从文件服务器2读出对象文件的通信的帧,被转换为客户端终端30从代替服务器读出对象文件的通信的帧。
例如,在转换对象的接收帧的发送源为作为替代服务器的客户端终端10且目的地为客户端终端30时,转换部114将接收帧的“发送源MAC地址”、“发送源IP地址”、“发送源端口号”、“对象文件的读出源的路径”等字段的值,改写为转换信息表123的相应记录的“服务器MAC地址”、“服务器IP地址”、“服务器端口号”、“服务器文件路径”等字段的值。
转换部114将已转换的帧输出到开关芯片13。所转换的帧通过开关芯片13从开关1输出。
(虚拟客户端部)
虚拟客户端部112在接收了来自控制部111的指示时,对于文件服务器2或作为替代服务器选择的客户端终端,冒充作为数据读出请求源的客户端终端。虚拟客户端部112例如对于文件服务器2或作为替代服务器选择的客户端终端,冒充作为数据读出的请求源的客户端终端来进行如在图2所示的例子中说明的协商,进行通信的确立,或者取得与读出对象的文件有关的信息。在与读出对象文件有关的信息中,例如存在文件服务器2中的对象文件的路径和文件ID等。通过虚拟客户端部112从文件服务器2或作为替代服务器选择的客户端终端得到的信息,被发送到控制部111。
例如,当从客户端终端对文件服务器2的数据读出通信的通信转换处理开始时,控制部111选择成为替代服务器的客户端终端。控制部111向虚拟客户端部112指示对于替代服务器冒充客户端终端。
虚拟客户端部112例如通过使用冒充对象的客户端终端的MAC地址和IP地址, 冒充为客户端终端。从接收帧得到冒充对象的客户端终端的MAC地址和IP地址等为冒充所需的信息。
虚拟客户端部112在冒充客户端终端而开始处理时,将冒充对象的客户端终端与文件服务器2或替代服务器之间的通信,记录到虚拟客户端通信表125中。在虚拟客户端通信表125中保持有用于确定虚拟客户端部112冒充客户端终端而执行的通信的帧的信息。在虚拟客户端通信表125中,例如以与通信信息记录表122相同的结构记录有冒充对象的客户端终端与通信对方的文件服务器2或替代服务器的各个MAC地址、IP地址、端口号。例如,当接收帧的目的地和发送源的MAC地址、IP地址、端口号与虚拟客户端通信表125的记录一致时,控制部111将接收帧输出到虚拟客户端部112。另外,当冒充客户端终端的处理结束时,虚拟客户端部112从虚拟客户端通信表125删除相应的记录。
(虚拟服务器部)
在接收了来自控制部111的指示时,虚拟服务器部113对于进行数据的读出请求的客户端终端,冒充作为数据读出的通信对方的文件服务器2。虚拟服务器部113例如冒充文件服务器2来进行如图2的例子那样的协商,从客户端终端取得读出对象的文件名或文件服务器2中的对象文件的路径等与对象文件有关的信息。虚拟服务器部113例如通过使用冒充对象的文件服务器2的MAC地址和IP地址,冒充为文件服务器2。从接收帧得到冒充对象的文件服务器2的MAC地址和IP地址等为冒充所需的信息。虚拟服务器部113将通过冒充为文件服务器2而从客户端终端得到的数据读出通信的信息发送到控制部111。
虚拟服务器部113在冒充文件服务器2而开始处理时,将冒充对象的文件服务器2和客户端终端的通信记录到虚拟服务器通信表126中。在虚拟服务器通信表126中保持有用于确定虚拟服务器部113冒充文件服务器而执行的通信的帧的信息。在虚拟服务器通信表126中,例如以与通信信息记录表122相同的结构记录有冒充对象的文件服务器2与通信对方的客户端终端的各个MAC地址、IP地址、端口号。例如,当接收帧的目的地和发送源的MAC地址、IP地址、端口号与虚拟服务器通信表126的记录一致时,控制部111将接收帧输出到虚拟服务器部113。另外,当冒充文件服务器2的处理结束时,虚拟服务器部113从虚拟服务器通信表126删除相应的记录。
开关1冒充文件服务器2或客户端终端而进行的通信,以后被称为冒充通信。
《文件服务器》
文件服务器2是例如保持客户端终端上设定的软件等各种文件,向客户端终端发布文件的数据的服务器。文件服务器2具有例如与SMB或CIFS等客户端终端同样的文件共享协议的服务器服务,提供根据来自客户端终端的请求发布数据的服务。
在文件服务器2中,例如在施加在文件服务器2上的负荷上设定有规定的阈值,当负荷超过规定的阈值时,不执行数据读出的通信。文件服务器2例如对平均吞吐量、CPU的使用率、存储器的使用量、HDD的平均读出速度等进行测量,对施加在文件服务器2的负荷进行监视,当施加在文件服务器2上的负荷超过规定的阈值时,请求通信转换处理。文件服务器2例如发送表示如图6所示的登记请求的替代请求帧,请求通信转换处理。在对于开关1的通信转换处理的请求以后,由于如上述说明那样,通过开关1进行通信转换处理,因此数据读出的通信达不到文件服务器2。
当施加在文件服务器2上的超过规定阈值的负荷变小,能够执行数据读出的通信时,文件服务器2请求通信转换处理的解除。例如,文件服务器2发送表示如图6所示的解除请求的替代请求帧,请求通信转换处理的解除。
《客户端终端》
客户端终端10、20、30、40、50使用与文件服务器2相同的文件共享协议,从文件服务器2读出文件。
客户端终端10、20、30、40、50中的至少一台具有与文件服务器2共用的文件共享协议的服务器服务,作为替代服务器来工作。例如,在客户端终端50不具有服务器服务时,客户端终端50即使从冒充了客户端终端的开关1收到协商也不能够进行响应。作为结果,开关1与客户端终端50的协商失败,客户端终端50不被选择为替代服务器。
具有服务器服务的客户端终端能够作为替代服务器来工作。在客户端终端作为替代服务器工作时,客户端终端例如对平均吞吐量、CPU使用率、存储器的使用、HDD平均读出速度进行测量,对施加在客户端终端上的负荷进行监视。当负荷超过规定的阈值时,客户端终端请求对于作为替代服务器进行的通信的通信转换处理。例如,作为替代服务器工作的客户端终端,发送如图6所示的表示登记请求或更新请求的替代请求帧,请求通信转换处理。
作为替代服务器工作的客户端终端,例如根据负荷的状况,选择发送登记请求和 更新请求中的哪个。在发送了登记请求时,继续进行对于在发送登记请求以前确立的作为替代服务器工作的客户端终端的数据读出的通信。在发送了更新请求时,对于发送更新请求以前确立的作为替代服务器工作的客户端终端的数据读出通信中也包含在内的、所有替代服务器的数据读出通信,转换为针对其他装置的通信。
作为替代服务器工作的客户端终端也可以在发送了登记请求的替代请求帧之后,通过发送解除请求的替代请求帧,阶段性地限制数据读出通信的执行。
当施加在作为替代服务器工作的客户端终端上的超过规定阈值的负荷变小,该客户端终端接受数据读出通信时,该客户端终端请求通信转换处理的解除。例如,作为替代服务器工作的客户端终端发送如图6所示的表示解除请求的替代请求帧,请求通信转换处理的解除。
《文件服务器和客户端终端的硬件》
能够使用如PC那样的通用的计算机或服务器设备的专用计算机来实现文件服务器2。
能够使用搭载了如PC、工作站、PDA(Personal Digital Assistant)、游戏设备或HDD记录器那样的电子设备的电子设备来实现客户端终端10、20、30、40、50。
计算机、即信息处理装置包含处理器、主存储装置、辅助存储装置、通信接口装置那样的与周边装置之间的接口装置。主存储装置和辅助存储装置是计算机能够读取的记录介质。
计算机将处理器存储在记录介质中的程序加载到主存储装置的作业区域来执行,通过执行程序来控制周边装置,能够实现满足规定目的功能。
处理器例如是CPU或DSP(Data Signal Processor)。主存储装置例如包含RAM(Random Access Memory)或ROM(Read Only Memory)。辅助存储装置例如是EPROM(Erasable Programmable ROM)或硬盘驱动器(Hard Disk Drive)。另外,辅助存储装置能够包含可移动介质、即移动式记录介质。可移动介质例如是如USB(Universal Serial Bus)存储器、或者CD(Compact Disc)或DVD(Digital VersatileDisc)那样的磁盘记录介质。
通信接口装置例如是LAN(Local Area Network)接口板、或用于无线通信的无线通信电路。
而且,周边装置包含如键盘和指向设备那样的输入装置、和如显示器装置或打印 机那样的输出装置。输入装置能够包含如相机那样的影像和图像的输入输出装置、和如麦克风那样的声音的输入装置。另外,输出装置可以包含如扬声器那样的声音的输出装置。
《开关的帧接收时的处理》
图9、图10、图11A、图11B、图12A、图12B以及图13是示出开关1接收了帧时的处理的流程的例子的图。
(接收帧的分类)
图9是示出在开关1接收到了帧时,对接收帧进行分类的处理的流程的例子的图。
当开关1接收帧时,通过接口15、PHY 芯片14、开关芯片13向CPU 11输入帧。在CPU 11中,首先通过控制部111对接收帧进行分类。
控制部111判定接收帧是否为替代请求帧(OP21)。控制部111根据帧的头和有效载荷的信息,判定所接收的帧是否为替代请求帧。例如,在替代请求帧被定义为PAUSE帧时,通过在接收帧的“目的地MAC地址”字段中存储PAUSE帧中使用的多播MAC地址,判定为接收帧为替代请求帧。
在判定为接收帧为替代请求帧时(OP21:是),处理前进到图10所示的流程。
在接收帧不是替代请求帧时(OP21:否),控制部111判定接收帧是否为冒充通信的帧(OP22)。控制部111对接收帧进行分析,将接收帧的内容与虚拟客户端通信表125和虚拟服务器通信表126进行比较。在接收帧与虚拟客户端通信表125或虚拟服务器通信表126中的任意一个记录一致时,控制部111判定为接收帧为冒充通信的帧。
在判定为接收帧为冒充通信的帧时(OP22:是),处理前进到图13所示的流程。
在接收帧既不是替代请求帧也不是通信的帧时(OP22:否),控制部111判定接收帧是否为转换对象的帧(OP22)。控制部111将接收帧的“发送源MAC地址”、“目的地MAC地址”、“发送源IP地址”、“目的地IP地址”、“发送源端口号”、“目的地端口号”等字段的值与转换信息表123的各记录进行比较。在转换信息表123中存在一致的记录时(OP23:是),判定为接收帧为转换对象的帧,处理前进到图12A所示的流程。
在接收帧不是替代请求帧、冒充通信的帧、转换对象的帧中的任何一个时(OP23:否),控制部111判定接收帧是否为记录对象的帧(OP24)。控制部111判定接收 帧是否为预先定义的SMB等数据读出通信协议的帧。控制部111例如通过判定接收帧的“目的地端口号”或“发送源端口号”的字段的值是否为在SMB中预约的号、即“445”,判定为接收帧为SMB的帧,是记录对象的帧。在接收帧为记录对象的帧时(OP24:是),处理前进到图11A所示的流程。
在接收帧不是替代请求帧、冒充通信的帧、转换对象的帧以及记录对象的帧中的任何一个时(OP24:否),控制部111将接收帧输出到开关芯片13。不是替代请求帧、冒充通信的帧、转换对象的帧以及记录对象的帧中的任何一个的接收帧,通过开关芯片13执行通常的开关处理,从开关1输出(OP25)。
(接收了替代请求帧时的处理)
图10是示出开关1接收到了替代请求帧时的处理的流程的例子的图。控制部111在判定为接收帧是预先定义的替代请求帧时,开始图10所示的处理。
控制部111判定所接收的替代请求帧是否表示解除请求(OP31)。例如,在通过图6所示的PAUSE帧来定义替代请求帧时,控制部111判定作为替代请求帧的接收帧的“替代请求记录”字段的值是否为表示解除请求的“0x00”。在所接收的替代请求帧表示解除请求时(OP31:是),控制部111使装置信息管理部115将装置信息表121的“MAC地址”的值与接收帧的“发送源MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段的值设定为“0”(OP32)。装置信息表121的相应记录的“替代请求标志”字段的值成为“0”,从而解除对于替代请求帧即接收帧的发送源装置的通信转换处理。另外,例如,在转换信息部123上存在“替代服务器MAC地址”字段的值与表示解除请求的替代请求帧的“发送源MAC地址”字段的值一致的记录时,控制部111使转换信息生成部117将相应记录的“更新标志”字段的值成为“0”。之后,废弃替代请求帧即接收帧(OP36),结束处理。
在所接收的替代请求帧不表示解除请求时(OP31:否),控制部111判定替代请求帧是否表示更新请求(OP33)。例如,在通过图6所示的PAUSE帧来定义替代请求帧时,控制部111判定所接收的替代请求帧的“替代请求码”字段的值是否为表示更新请求的“0x10”。
在所接收的替代请求帧表示更新请求时(OP33:是),控制部111使装置信息管理部115将装置信息表121的“MAC地址”的值与所接收的替代请求帧的“发送源MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段的值设定为 “1”(OP34)。而且,控制部111例如使转换信息生成部117将转换信息表123的“替代服务器MAC地址”字段的值与所接收的表示更新请求替代请求帧的“发送源MAC地址”字段的值一致的转换信息表123的记录的“更新标志”字段的值设定为“1”(OP34)。之后,废弃替代请求帧即接收帧(OP36),结束处理。
在所接收的替代请求帧既不是解除请求也不是更新请求时(OP33:否),表示所接收的替代请求帧为登记请求。在所接收的替代请求帧为登记请求时,控制部111使装置信息管理部115将装置信息表121的“MAC地址”字段的值与所接收的替代请求帧的“发送源MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段的值设定为“1”(OP35)。之后,废弃替代请求帧即接收帧(OP36),结束处理。
(接收了记录对象的帧时的处理)
图11A和图11B是示出开关1接收到了记录对象的帧时的处理的流程的例子的图。在记录对象的帧中,定义有例如在SMB或CIFS等的数据读出的通信中使用的协议的帧。例如在接收帧为不是转换对象或冒充通信中的任意一个,接收帧的“目的地端口号”或“发送源端口号”中的任意一个字段的值为在SMB中预约的“445”时,控制部111判定为接收帧是记录对象。
控制部111根据作为记录对象的接收帧确定作为数据的请求目的地的服务器,判定装置信息表121的“MAC地址”字段的值与该服务器的MAC地址一致的装置信息表121的记录的“替代请求标志”字段的值是否为“1”(OP41)。即、控制部111判定通过记录对象的接收帧确定的数据的请求目的地的服务器是否请求通信转换处理。例如,在记录对象的接收帧的“目的地端口号”字段的值为在SMB中使用的“445”时,控制部111通过接收帧的“目的地MAC地址”和“目的地IP地址”等字段的值来确定作为数据请求目的地的服务器。接着,控制部111判定作为记录对象的接收帧的“目的地MAC地址”的字段的值与装置信息表121的“MAC地址”字段的值一致的装置信息表121的记录的“替代请求标志”字段的值是否为“1”。
在装置信息表121的“MAC地址”字段的值与通过作为记录对象的接收帧表示的数据请求目的地的服务器的MAC地址一致的装置信息表121的记录的“替代请求标志”字段的值为“0”时(OP41:否),表示该服务器没有对开关1请求通信转换处理。控制部111判定作为记录对象的接收帧在数据读出的通信中是否为对于最终数据的接收完成响应(参照图2)(OP46)。
在作为记录对象的接收帧为对于最终数据的接收完成响应时(OP46:是),控制部111使通信信息管理部116将通信信息记录表122的相应记录的“通信结束标志”字段的值更新为“1”(OP47)。另外,与接收帧相应的通信信息记录表122的记录是通信信息记录表122的“客户端MAC地址”、“服务器MAC地址”、“客户端IP地址”、“服务器IP地址”、“客户端文件路径”、“服务器文件路径”的字段的值和接收帧的目的地与发送源的MAC地址、IP地址以及文件路径的组合一致的记录。
转换部111将作为记录对象的接收帧输出到开关芯片13。作为记录对象的接收帧,通过开关芯片13进行通常的开关处理而从开关1输出(OP48)。之后,结束处理。
在作为记录对象的接收帧不是对于数据读出通信的最终数据的接收完成响应时(OP46:否),控制部111使通信信息管理部116更新通信信息记录表122(OP49)。通信信息记录表122是根据作为记录对象的接收帧的内容来更新。例如,当在通信信息记录表122中不存在与通过作为记录对象的接收帧表示的目的地与发送源之间的通信一致的记录时,通信信息管理部116根据接收帧生成通信信息记录表122的记录。在生成的时刻,通信信息记录表122的记录也可以包含未知的信息。另外,例如在存在与通过作为记录对象的接收帧表示的目的地与发送源之间的通信一致的通信信息记录表122的记录时,通信信息管理部116更新相应记录。例如,在根据作为记录对象的接收帧判定为在生成的时刻未知的“客户端文件路径”等字段的信息时,通信信息管理部116增加所判明的信息来更新相应记录。之后,作为记录对象的接收帧,通过开关芯片13进行通常的开关处理而从开关1输出,结束处理(OP48)。
在OP41中,在装置信息表121的“MAC地址”字段的值与通过作为记录对象的接收帧表示的数据读出源的服务器的MAC地址一致的装置信息表121的记录的“替代请求标志”字段的值为“1”时(OP41:是),表示该服务器请求通信转换处理。控制部111使虚拟服务器部113冒充通过作为记录对象的接收帧表示的数据读出源的服务器,从通过作为记录对象的接收帧表示的数据读出目的地的客户端终端取得与对象文件有关的信息(OP43)。此时,虚拟服务器部113将冒充读出源的服务器来执行的通信记录到虚拟服务器通信表126中。虚拟服务器部113当从通过接收帧表示的数据读出目的地的客户端终端取得与对象文件有关的信息时,将所取得的与对象文件有关的信息报告给控制部111。当虚拟服务器部113结束冒充读出源的服务器而执行的通 信时,从虚拟服务器通信表126删除相应的记录。
控制部111根据从虚拟服务器部113报告的与对象文件有关的信息,判定是否存在能够替代通过作为记录对象的接收帧表示的数据读出源的服务器的客户端终端(OP44)。
控制部111例如提取在通信信息记录表122中至少“服务器MAC地址”、“服务器文件路径”字段的值与通过作为记录对象的接收帧表示的读出源的服务器的MAC地址和读出对象文件一致,且“通信结束标志”字段的值为“1”的客户端终端。接着,控制部111判定在所提取的客户端终端中是否存在在装置信息表121中“替代请求标志”字段的值为“0”的客户端终端。由此,控制部111判定能够替代读出源服务器的客户端终端的有无。
在存在能够替代通过作为记录对象的接收帧表示的数据读出源服务器的客户端终端时(OP44:是),控制部111选择替代服务器候选。控制部111例如与OP44同样,从由通信信息记录表122提取的客户端终端中,选择在装置信息表121中“替代请求标志”字段的值为“0”的客户端终端,作为替代服务器候选。在存在多个替代服务器候选时,控制部111例如在所提取的客户端终端中,选择MAC地址最小的客户端终端,作为替代服务器候选。
控制部111使虚拟客户端部112冒充通过作为记录对象的接收帧表示的数据读出目的地的客户端终端,对于替代服务器候选的客户端终端,例如进行在图2中说明的协商(OP51)。此时,虚拟客户端部112将冒充通过作为记录对象的接收帧表示的数据读出目的地的客户端终端而执行的、对于替代服务器候选的通信,记录到虚拟客户端通信表125。虚拟客户端部112冒充数据读出目的地的客户端终端,进行与作为替代服务器候选选择的客户端终端之间的通信的确立,或者从作为替代服务器候选选择的客户端终端取得与读出对象的文件有关的信息。当冒充通过记录对象的接收帧表示的数据读出目的地的客户端终端而执行的通信结束时,虚拟客户端部112从虚拟客户端通信表125删除相应的记录。
在对于替代服务器候选的客户端终端的协商成功时(OP52:是),控制部111将替代服务器候选的客户端终端确定为替代服务器。将通过协商取得的与替代服务器有关的信息报告给控制部111。
控制部111使转换信息生成部117生成转换信息表123的记录(OP53),该转 换信息表123用于对通过记录对象的接收帧表示的客户端终端从服务器读出对象文件的通信的帧进行转换。在此时生成的转换信息表123的记录的“客户端MAC地址”、“客户端IP地址”、“客户端文件路径”、“客户端端口号”等字段中,存储有通过接收帧表示的读出目的地的客户端终端的MAC地址、IP地址、数据读出目的地的文件路径、端口号等。在转换信息表123的记录的“服务器MAC地址”、“服务器IP地址”、“服务器文件路径”、“服务器端口号”等字段中,存储有通过接收帧表示的读出源的服务器的MAC地址、IP地址、数据读出源的文件路径、端口号等。在转换信息表123的记录的“替代服务器MAC地址”、“替代服务器IP地址”、“替代服务器文件路径”、“替代服务器端口号”等字段中,存储有和作为替代服务器选择的客户端终端与通过接收帧表示的数据读出源的服务器之间的通信相应的通信信息记录表122的记录的“客户端MAC地址”、“客户端IP地址”、“客户端文件路径”等字段的值。另外,通过此时生成的转换信息表123的记录,记录对象的接收帧还成为转换对象的帧。
当在转换信息表123中新增加记录时,控制部111将记录对象且成为转换对象的接收帧输出到转换部114,使转换部114对接收帧进行转换。当接收该接收帧时,转换部114根据转换信息表123,改写该接收帧的目的地或发送源的信息来进行转换(OP54)。例如,在接收帧的目的地表示读出源的服务器时,转换部114将接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“对象文件的文件路径”、“文件ID”等字段值,改写为转换信息表123中一致的记录的“替代服务器MAC地址”、“替代服务器IP地址”、“替代服务器端口号”、“替代服务器文件路径”、“替代服务器文件ID”等字段的值。之后,处理前进到OP46。
在作为记录对象的接收帧为对于最终数据的接收完成响应时(OP46:是),控制部111使通信信息管理部116将与接收帧相应的通信信息记录表122的记录的“通信结束标志”字段的值设定为“1”(OP47)。此时,在由通过转换部114转换之后的帧表示的通信不记录在通信信息记录表122中,与通过作为转换前的记录对象的接收帧表示的通信相应的通信信息记录表122的记录的“通信结束标志”设定为“1”。
在作为记录对象的接收帧不是对于最终数据的接收完成响应时(OP46:否),控制部111使通信信息管理部116更新通信信息记录表122的相应记录(OP49)。另外,更新的通信信息记录表122的记录是记录有通过转换前的接收帧表示的、客户端终端从读出源的服务器读出对象帧的通信的记录。通过转换前的接收帧表示的数据 请求源的客户端终端实际上是从替代服务器读出数据的,但是在通信信息记录表122中记录为从通过转换前的接收帧表示的作为原始请求目的地的服务器读出。
所转换的帧通过转换部114输出到开关芯片13,通过开关芯片13从开关1输出(OP48)。
在OP52中,在与替代服务器候选之间的协商失败时(OP52:否),虚拟客户端部112向控制部111进行报告。与作为替代服务器候选选择的客户端终端之间的协商失败,是例如被选择为替代服务器候选的客户端终端不具有文件共享协议的服务器服务的情况等。控制部111判定是否另外存在能够替代通过作为记录对象的接收帧表示的读出源服务器的客户端终端(OP55)。
在另外存在能够替代服务器的客户端终端时(OP55:是),再次选择替代服务器候选,对替代服务器候选进行协商(OP51、OP52)。到确定替代服务器为止、或不存在能够替代服务器的客户端终端为止,重复进行OP51、OP52、OP55的处理。
在不另外存在能够替代通过作为记录对象的接收帧表示的读出源服务器的客户端终端时(OP55:否),控制部111使虚拟客户端部112对作为通过接收帧表示的原始读出源的服务器进行协商。虚拟客户端部112冒充通过接收帧表示的客户端终端,对通过接收帧表示的读出源服务器进行协商(OP56)。此时,也与OP51同样,由虚拟客户端部112冒充客户端终端进行与读出源服务器之间的协商通信。
在与通过作为记录对象的接收帧表示的读出源的服务器之间的协商成功时(OP57:是),处理前进到OP46,更新通信信息记录表122(OP47或OP49),输出该接收帧(OP48)。
在与通过作为记录对象的接收帧表示的原始的读出源的服务器之间的协商失败时(OP57:否),控制部111对虚拟服务器部113进行指示,以向通过接收帧表示的客户端终端发送连接错误。例如,在施加在通过接收帧表示的读出源的服务器上的负荷比规定的阈值大时,该服务器不能执行数据读出通信,与该服务器之间的协商失败。虚拟服务器部113冒充通过作为记录对象的接收帧表示的读出源的服务器,向通过该接收帧表示的数据读出目的地的客户端终端发送连接错误(OP58)。之后,结束处理。
在OP44中,在不存在能够替代通过记录对象的接收帧表示的数据读出源服务器的客户端终端时(OP44:否),处理前进到OP56,对于该数据读出源服务器进行协 商。
(接收了转换对象帧时的处理)
图12A和图12B是示出开关1接收到了转换对象帧时的处理的流程的例子的图。在接收帧的目的地与发送源的MAC地址、IP地址、端口号等组合,和转换信息表123的服务器与客户端或替代服务器与客户端的MAC地址、IP地址、端口号等字段的值的组合一致时,控制部111将接收帧判定为转换对象。另外,可以认为在开关1接收的时刻与转换信息表123的记录一致的记录,是从数据请求源的客户端发给数据请求目的地的服务器的帧,或从替代服务器发给数据请求源的客户端的帧中的任意一个。
控制部111判定作为转换对象的接收帧是否为从替代服务器发送的帧(OP61)。控制部111例如将该接收帧的“发送源MAC地址”和“发送源IP地址”字段的值和转换信息表123的“替代服务器MAC地址”和“替代服务器IP地址”字段的值分别进行比较,判定该接收帧是否为从替代服务器发送的帧。
在作为转换对象的接收帧为从替代服务器发送的帧时(OP61:是),控制部111将该接收帧输出到转换部114。由于接收帧是从替代服务器发送的帧,因此转换部114根据与接收帧相应的转换信息表123的记录,将该接收帧的发送源从替代服务器改写为服务器而转换接收帧(OP62)。此时,例如转换对象的接收帧的“发送源MAC地址”、“发送源IP地址”、“发送源端口号”、“文件读出源的文件路径”等字段的值,分别转换为转换信息表123的相应记录的“服务器MAC地址”、“服务器IP地址”、“服务器端口号”、“服务器文件路径”等字段的值。所转换的帧输出到开关芯片13,通过通常的开关处理而从开关1输出(OP69)。
在转换对象的接收帧不是从替代服务器发送的帧时(OP61:否),表示该接收帧为从客户端终端发送到服务器的帧。控制部111判定与作为转换对象的接收帧相应的转换信息表123的记录的“更新标志”字段的值是否为“1”(OP63)。即、控制部111判定通过与作为转换对象的接收帧相应的转换信息表123的记录的“替代服务器MAC地址”等字段的值表示为替代服务器的客户端终端,是否发送了更新请求的替代请求帧。
在与作为转换对象的接收帧相应的转换信息表123的记录的“更新标志”字段的值不是“1”时(OP63:否),表示作为该记录的替代服务器的客户端终端能够执行数 据读出通信。控制部111将作为转换对象的接收帧输出到转换部114。
作为转换对象的接收帧为从客户端终端发送到服务器的帧,因此转换部114根据与接收帧相应的转换信息表123的记录,将该接收帧的目的地从服务器转换为替代服务器(OP64)。此时,例如作为转换对象的接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“文件读出源的文件路径”等字段的值,分别转换为转换信息表123的相应记录的“替代服务器MAC地址”、“替代服务器IP地址”、“替代服务器端口号”、“替代服务器文件路径”等字段的值。
控制部111判定与转换对象相应的转换前的接收帧是否为对于最终数据的接收响应(OP65)。在转换前的接收帧为对于最终数据的响应时(OP65:是),表示通过转换前的接收帧表示的对象文件数据的读出通信结束。控制部111使通信信息管理部116将通信信息记录表122的与通过转换前的接收帧表示的通信相应的记录的“通信结束标志”更新为“1”(OP66)。通信信息记录表122的与通过转换前的接收帧表示的通信相应的记录的“通信结束标志”成为“1”,从而表示通过相应记录表示的通信结束。另外,当通过转换前的接收帧表示的对象文件的读出通信结束时,由于不需要与该通信相应的转换信息表123的记录,因此控制部111使转换信息生成部117删除转换信息表123的相应记录(OP67)。在OP64中转换的帧输出到开关芯片13,通过通常的开关处理而从开关1输出(OP69)。
在与转换对象相应的转换前的接收帧不是最终数据时(OP65:否),表示通过转换前的接收帧表示的数据读出通信继续进行。控制部111使通信信息管理部116更新通信信息记录表122的与通过转换前的接收帧表示的数据读出通信相应的相应的记录(OP68)。在OP64中转换的帧从转换部114输出到开关芯片13,进行通常的开关处理而从开关1输出(OP69)。
在OP63中,在与接收帧相应的转换信息表123的记录的“更新标志”字段为“1”时(OP63:是),从作为替代服务器的客户端终端接收更新请求,表示不能从替代服务器读出数据。控制部111判定除了转换信息表123的相应记录的替代服务器以外,是否还存在能够替代作为通过接收帧表示的数据读出目的地的服务器的终端(OP71)。即、控制部111重新选择替代服务器。此时的处理与OP44、OP55同样地进行。
在除了转换信息表123的相应记录的替代服务器以外,存在能够替代数据读出源 的服务器的客户端终端时(OP71:是),控制部111重新选择替代服务器候选。控制部111例如在通信信息记录表122中,提取表示从通过接收帧表示的读出源的服务器已读出读出对象文件的客户端终端。而且,控制部111从所提取的客户端终端中,提取在装置信息表121中“替代请求标志”字段的值为“0”的客户端终端。控制部111在所提取的客户端终端中,例如将MAC地址最小的客户端终端选择为新的替代服务器候选。
控制部111使虚拟客户端部112冒充通过接收帧表示的数据请求源的客户端终端,对于替代服务器候选的客户端终端进行协商(OP72)。此时,与图11B的OP51同样地进行处理。
在对于替代服务器候选的客户端终端的协商成功时(OP73:是),控制部111将替代服务器候选的客户端终端确定为新的替代服务器。将通过虚拟客户端部112取得的与新的替代服务器有关的信息报告给控制部111。
控制部111使转换信息生成部117生成用于将通过接收帧表示的读出目的地的客户端终端从读出源的服务器读出数据的通信,转换为从重新选择的替代服务器读出数据的通信的转换信息表123的记录(OP74)。
当在转换信息表123中新增加记录时,控制部111将接收帧输出到转换部114。当接收该接收帧时,转换部114根据转换信息表123的新增加的该记录,对接收帧进行转换(OP75)。此时,例如接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“对象文件的文件路径”等字段的值,分别转换为转换信息表123的新增加的相应记录的“替代服务器MAC地址”、“替代服务器IP地址”、“替代服务器端口号”、“替代服务器文件路径”等字段的值(OP75)。另外,替代服务器是新选择的替代服务器。
由于不需要转换信息表123的之前的替代服务器的记录,因此控制部111使转换信息生成部117删除相应记录(OP79)。即、转换信息生成部117在OP63中,从转换信息表123删除转换信息表123的记录的“更新标志”字段的值为“1”的、与接收帧相应的转换信息表123的之前的替代服务器的记录。
在与转换对象相应的转换前的接收帧为对于最终数据的接收完成响应时(OP65:是),控制部111使通信信息管理部116将与通过通信信息记录表122的转换前的接收帧表示的通信相应的记录的“通信结束标志”字段的值设定为“1”(OP66)。“通信结 束标志”字段的值成为“1”,从而表示通过转换前的接收帧表示的数据请求源的客户端终端已读出对象文件。另外,当通过转换前的接收帧表示的对象文件的读出通信结束时,由于不需要与该通信相应的转换信息表123的记录,因此控制部111使转换信息生成部117删除转换信息表123的相应记录(OP67)。
在与转换对象相应的转换前的接收帧不是对于最终数据的接收完成响应时(OP65:否),控制部111使通信信息管理部116更新通信信息记录表122的与通过转换前的接收帧表示的通信相应的记录(OP68)。另外,所更新的通信信息记录表122的记录是与客户端终端根据与转换对象相应的接收帧,从通过转换前的接收帧表示的读出源的服务器读出对象文件的通信相应的记录。通过转换前的接收帧表示的数据读出目的地的客户端终端,实际上是从替代服务器读出数据的,但是在通信信息记录表122中记录为从通过转换前的接收帧表示的作为原始请求目的地的服务器读出。在OP75中转换的帧通过转换部114输出到开关芯片13,通过开关芯片13从开关1输出(OP69)。
在OP73中,在与重新选择的替代服务器候选之间的协商失败时(OP73:否),虚拟客户端部112向控制部111报告协商失败。例如,在被选择为替代服务器候选的客户端终端不具有文件共享协议的服务器服务时,与被选择为替代服务器候选的客户端终端之间的协商失败。控制部111判定是否另外存在能够替代服务器的客户端终端(OP76)。
在另外存在能够替代服务器的客户端终端时(OP76:是),控制部111再次选择替代服务器候选,使虚拟客户端部112对替代服务器候选进行协商(OP72)。到重新确定替代服务器为止、或不存在能够替代服务器的客户端终端为止,重复进行OP72、OP73、OP76的处理。
在不另外存在能够替代服务器的终端时(OP76:否),控制部111使虚拟客户端部112对通过作为转换对象的接收帧表示的、作为原始读出源的服务器进行协商(OP77)。虚拟客户端部112冒充通过作为转换对象的接收帧表示的数据请求源的客户端终端,对服务器进行协商。
在与通过作为转换对象的接收帧表示的数据请求目的地的服务器之间协商成功时(OP78:是),处理前进到OP79。
在与通过作为转换对象的接收帧表示的读出源的服务器之间的协商失败时 (OP78:否),控制部111使虚拟服务器部113向通过接收帧表示的读出目的地的客户端终端发送连接错误(OP80)。例如,在施加在通过作为转换对象的接收帧表示的读出源的服务器上的负荷比规定的阈值大时,该服务器不执行数据读出通信,与该服务器之间的协商失败。
在OP71中,在不存在能够替代通过作为转换对象的接收帧表示的读出源服务器的客户端终端时(OP71:否),处理前进到OP77,对于作为原始是数据请求目的地的服务器进行协商。
(接收了冒充通信帧时的处理)
图13是示出开关1接收到了冒充通信的帧时的处理的流程的例子的图。在接收帧的目的地和发送源的MAC地址、IP地址等的组合,与虚拟客户端通信表125或虚拟服务器通信表126一致时,判定为冒充通信的帧。
在接收帧与虚拟客户端通信表125的记录一致时(OP91:是),控制部111向虚拟客户端部112输出接收帧。虚拟客户端部112对接收帧进行处理,在冒充客户端终端而进行的处理结束时(OP92:是),从虚拟客户端通信表125删除相应记录(OP93)。在冒充客户端终端而进行的处理没有结束时(OP92:否),虚拟客户端部112继续冒充客户端终端而进行与文件服务器2或替代服务器之间的通信(OP94)。虚拟客户端部112例如当取得为生成转换信息表123的记录所需的信息时,判定冒充客户端终端的处理结束。
在接收帧与虚拟服务器通信表126的记录一致时(OP91:否),控制部111向虚拟服务器部113输出接收帧。虚拟服务器部113对接收帧进行处理,在冒充文件服务器2而进行的处理结束时(OP95:是),虚拟服务器部113从虚拟服务器通信表126删除相应记录(OP96)。在冒充文件服务器2的处理没有结束时(OP95:否),虚拟服务器部113继续冒充文件服务器2而进行与客户端终端之间的通信(OP97)。
《工作例》
图14是示出图1所示的数据发布网络***中的开关1的工作例的图。在图14中示出如下所述的例子:在客户端终端30从文件服务器2读出文件A的通信的进行中,通过增大针对文件服务器2的负荷,将该通信转换为从客户端终端10读出文件A的通信。在图14所示的例子中,文件服务器2已经与多个客户端终端进行文件A的读出通信。在图14所示的例子中,客户端终端10已从文件服务器2读出文件A, 该通信记录在开关1的通信信息记录表122中。另外,文件服务器2、客户端终端10的任意一个均不发送登记请求和更新请求的替代请求帧。
客户端终端30开始对文件服务器2进行文件A的读出通信。客户端终端30开始对文件服务器2进行协商(S1)。
开关1接收对于文件服务器2的协商的帧。由于所接收的帧例如是在SMB等数据读出的通信中使用的协议帧、且被定义为记录对象,因此开关1判定为所接收的帧为记录对象的帧(图9,OP24:是)。由于没有从文件服务器2接收表示登记请求或更新请求的替代请求帧,因此装置信息表121的“MAC地址”字段与文件服务器2的MAC地址一致的记录的“替代请求标志”为“0”(图11A,OP41:否)。另外,由于此时的接收帧不是对于最终数据的接收完成响应(图11A,OP46:否),开关1根据由作为记录对象的接收帧得到的信息生成记录,增加到通信信息记录表122中(图11A,OP49)。在此时生成的通信信息记录表122的记录中,“客户端MAC地址”为客户端终端30的MAC地址,“服务器MAC地址”为文件服务器2的MAC地址,“客户端IP地址”为客户端终端30的IP地址,“服务器IP地址”为文件服务器2的IP地址,“客户端文件路径”为客户端终端30内的对象文件的保存目的地路径,“服务器文件路径”表示文件服务器2内的对象文件的保存场所的路径,“通信结束标志”为“0”。开关1将对于所接收的文件服务器2的协商的帧中继到文件服务器2(S2,图11A,OP48)。
当接收通过开关1中继的协商的帧时,文件服务器2将对于所接收的协商的响应帧发送到客户端终端30(S3)。
开关1接收对于针对客户端终端30的来自文件服务器2的协商的响应帧。由于此时的接收帧也是记录对象的帧,因此开关1进行与S2相同的处理,将接收帧中继到客户端终端30(S4)。
另外,在图14所示的例子中,虽然进行了简化,但实际上从S1到S4的协商在客户端终端30与文件服务器2之间重复多次。在该协商中,交接文件服务器2中的文件A的路径、文件ID的分配等信息,文件服务器2与客户端终端30之间的事先处理结束。
当在客户端终端30与文件服务器2之间结束用于读出文件A的事先处理时,客户端终端30对文件服务器2发送文件A的读出请求(S5)。
开关1与S2同样,对从客户端终端30对文件服务器2的文件A的数据请求进行中继(S6)。
当接收来自客户端终端30的文件A的读出请求时,文件服务器2对文件A的数据进行分割,将规定尺寸的数据分成多次来发送(S7)。在该时刻,文件A的数据只有一部分发送到客户端终端30。
开关1与S2同样,将从文件服务器2发送的文件A的数据中继到客户端终端30(S8)。
在图14中,文件服务器2通过增大与客户端终端30以外的多个客户端终端之间通信的负荷,将表示请求通信转换处理的登记请求的替代请求帧发送到开关1(S9)。此时,例如在用图6所示的PAUSE帧定义了替代请求帧时,发送“替代请求码”字段的值设定为“0x01”的PAUSE帧。当接收该帧时,开关1判定接收帧为替代请求帧(图9,OP21:是)。由于接收帧为表示来自文件服务器2的登记请求的替代请求帧,因此开关1使装置信息表121的“MAC地址”字段与文件服务器2的MAC地址一致的记录的“替代请求标志”字段的值成为“1”(图10A,OP35)。
之后,假设客户端终端30将对于S7中的来自文件服务器2的数据发送的接收完成响应,发送到文件服务器2(S10)。
客户端终端30发送的接收完成响应,在到达文件服务器2之前,通过开关1接收。由于接收帧例如为SMB的接收完成响应,因此开关1判定为接收帧为记录对象的帧(图9,OP24:是)。由于开关1从文件服务器2接收登记请求的替代请求帧,因此装置信息表121的“MAC地址字段”与文件服务器2的MAC地址一致的记录的“替代请求标志”字段的值为“1”(图11A,OP41:是)。开关1冒充文件服务器2而从客户端终端30取得文件A的信息(S11、S12,图11A,OP43)。此时,对于客户端终端30而言,可认为与文件服务器2进行通信。
开关1假设作为替代服务器选择了客户端终端10(图11A,OP44:是)。开关1对于作为替代服务器选择的客户端终端10冒充客户端终端30而进行协商(S13,图11B,OP51)。客户端终端10对于来自开关1的协商发送响应(S14)。此时,对于客户端终端10而言,可认为与客户端终端30进行协商。
当与作为替代服务器的客户端终端10之间的协商成功时(图11B,OP52:是),开关1生成转换信息表123的记录而增加(图11B,OP53)。所生成的转换信息表 123的记录,是用于将从客户端终端30对于文件服务器2的文件A的读出通信转换为对于客户端终端10的文件A的读出通信的记录。例如,设生成了在图8所示的转换信息表123的例子中表示的记录。
开关1根据转换信息表123,将在S10中接收的从客户端终端30对文件服务器2的接收完成响应,转换为针对作为替代服务器的客户端终端10的接收完成响应来发送(S15,图11B,OP54)。在S10中通过开关1接收的从客户端终端30对文件服务器2的接收完成响应中,“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“文件A的读出源的路径”等字段的值均表示文件服务器2。开关1例如根据图8所示的转换信息表123,改写该接收完成响应的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“文件A的读出源路径”等字段的值,以表示作为替代服务器的客户端终端10。
当客户端终端10接收通过开关1转换的接收完成响应时,按照文件A的连着的数据顺序进行分割而分几次发送到客户端终端30(S16)。
开关1接收从作为替代服务器的客户端终端10发送的文件A的数据。此时的接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“读出目的地的文件路径”均表示客户端终端30。另外,接收帧的“发送源MAC地址”、“发送源IP地址”、“发送源端口号”、“读出目的地的文件路径”以及“文件ID”均表示作为替代服务器的客户端终端10。由于接收帧与图8所示的转换信息表的记录一致,因此开关1例如判定为接收帧是转换对象的帧(图9,OP23:是)。由于接收帧为从作为替代服务器的客户端终端10发送的帧(图12A,OP61:是),因此开关1根据转换信息表123对接收帧进行转换而发送到客户端终端30(S17,图12,OP62)。开关1例如根据图8所示的转换信息表123的记录,将接收帧的“发送源MAC地址”、“发送源IP地址”、“发送源端口号”、“读出源文件路径”、“文件ID”等字段的值,分别从作为替代服务器的客户端终端10的值改写为文件服务器2的值。
在S16中,当从作为替代服务器的客户端终端10发送文件A的最终数据时,客户端终端30将对于最终数据的接收响应完成发送到文件服务器2(S18)。
对于从客户端终端30发送到文件服务器2的最终数据的接收响应完成,是通过开关1来接收的。接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“读出源文件路径”、“文件ID”等字段的值均表示文件服务器2。另外,接收帧的“发 送源MAC地址”、“发送源IP地址”、“发送源端口号”、“读出目的地文件路径”等字段的值,均表示客户端终端30。因此,由于接收帧与图8所示的转换信息表的记录一致,因此开关1例如将接收帧判定为转换对象(图9,OP23:是)。
接收帧为从客户端终端30发送的帧(图12A,OP61:否),与接收帧相应的转换信息表123的记录的“更新标志”字段为“0”(图12A,OP63:否)。开关1根据转换信息表123的相应记录,对接收帧进行转换而发送(S19,图12A,OP64)。开关1将接收帧的“目的地MAC地址”、“目的地IP地址”、“目的地端口号”、“读出源文件路径”、“文件ID”等字段的值,从文件服务器2转换为作为替代服务器的客户端终端10。
另外,接收帧是对于最终数据的响应(图12A,OP65:是)。因此,开关1将与接收帧相应的通信信息记录表122的记录的“通信完成标志”字段的值更新为“1”(图12,OP66)。此时更新的通信信息记录表122的记录,是使“服务器”为文件服务器2、使“客户端”为客户端终端30的记录,即是与通过接收帧表示的通信相应的记录。另外,开关1从转换信息表123删除与转换前的接收帧相应的记录(图12A,OP67)。此时删除的转换信息表123的记录是使“客户端MAC地址”等与客户端有关的字段的值为客户端终端30、使“服务器MAC地址”等与服务器有关的字段的值为文件服务器2、使“替代服务器MAC地址”等与替代服务器有关的字段的值为客户端终端10的记录。所转换的最终数据的接收完成响应,通过开关1而被发送到客户端终端10(图12A,OP69)。
《第1实施方式的作用效果》
在第1实施方式中,开关1例如当从文件服务器2接收通信转换处理的请求时,对于文件服务器2的数据读出通信的数据读出源,转换为已从文件服务器2读出结束相同数据的客户端终端。由此,能够使施加在文件服务器2上的负荷分散,能够有效地进行数据发布。另外,开关1例如通过将从客户端终端发送到文件服务器的帧的目的地从文件服务器2改写为替代服务器,从而从客户端终端侧来看,与文件服务器2进行通信的情况没有任何变化,能够进行数据读出通信。
另外,在第1实施方式中,由于只要变更开关的结构即可,因此可以不在文件服务器侧进行设备投资,与进行文件服务器的二重化等的情况相比,能够以较少的费用提高网络整体的性能效率。
<其他>
在第1实施方式中,开关1例如在图11A的OP44、图11B的OP55、图12B的OP71以及OP76中,在从多个替代服务器候选中选择替代服务器时,选择了MAC地址最小的客户端终端。代替于此,开关1判断连接的各线路的负荷状况,将负荷的大小作为判断基准,将与负荷小的线路连接的装置选择为替代服务器。
另外,也可以是,与开关1连接的各装置利用根据预先定义的格式的帧来进行各装置的HDD和CPU等负荷状况的通知,根据这些信息,将各装置的负荷作为判断基准,将负荷小的装置选择为替代服务器。此时,对装置信息表121进行扩展,将各装置的负荷状况的信息附加到装置信息表121中。
另外,在第1实施方式中,从作为文件服务器2的替代服务器工作的客户端终端读出数据的通信,记录为从文件服务器2读出数据的通信(参照图11A、图11B、图12A、图12B)。代替于此,也可以将从作为文件服务器2的替代服务器工作的客户端终端读出数据的通信,直接记录为通信信息记录表122中。
在第1实施方式中,关于客户端终端从文件服务器读出数据的通信,说明了进行转换处理的例子。不限定于读出数据的通信,只要是开关能够分析的协议的通信,则能够应用在第1实施方式中说明的通信转换处理。
另外,在第1实施方式中,虽然对文件服务器与客户端终端之间的通信进行转换进行了说明,但是只要具有相应协议中的服务器服务,则能够在客户端终端彼此的通信中,也能够同样应用通信转换处理。
另外,在第1实施方式中,作为替代服务器,虽然选择了对象文件的读出结束的客户端终端,但是也可以将对象文件的读出途中的客户端终端选择为替代服务器。
另外,第1实施方式中,说明了开关1的CPU11通过执行保持在存储器12中的中继程序12p,进行通信转换处理。不限于此,例如作为ASIC(Application SpecificIntegrated Circuit)等特定处理用的电路也能够实现通信转换处理。
标号说明
1 开关
2 文件服务器
10、20、30、40、50 客户端终端
11 CPU
12 存储器
12p 中继程序
13 开关芯片
14 PHY芯片
15 接口
111 控制部
112 虚拟客户端部
113 虚拟服务器部
114 转换部
115 装置信息管理部
116 通信信息管理部
117 转换信息生成部
121 装置信息表
122 通信信息记录表
123 转换信息表
124 MAC表
125 虚拟客户端通信表
126 虚拟服务器通信表 。
Claims (6)
1.一种中继装置,其对多个装置间的数据通信进行中继,
该中继装置具有:
存储部,其将确定所中继的数据的信息与确定该数据的接收目的地的信息一起进行存储;以及
决定部,其对于来自特定装置的特定数据取得请求,根据所述存储部的信息,决定所述特定数据的发送源装置。
2.根据权利要求1所述的中继装置,其中,
所述多个装置包括服务器和多个客户端,
所述决定部对于来自特定客户端的针对所述服务器的特定数据取得请求,根据所述存储部的信息,决定成为所述特定数据的发送源的客户端。
3.一种中继***,其包括:多个装置;以及中继装置,其对所述多个装置间的数据通信进行中继,
所述多个装置具有:
发送部,其发送数据;以及
接收部,其接收数据,
所述中继装置具有:
存储部,其将确定所中继的数据的信息与确定该数据的接收源的信息一起进行存储;以及
决定部,其对于来自特定装置的特定数据取得请求,根据所述存储部的信息,决定所述特定数据的发送源装置。
4.一种中继方法,对多个装置间的数据通信进行中继,该中继方法包括以下步骤:
将确定所中继的数据的信息与确定该数据的接收源的信息一起存储到存储部中,
对于来自特定装置的特定数据取得请求,根据所述存储部的信息,决定所述特定数据的发送源。
5.一种程序,其在对多个装置间的数据通信进行中继的计算机上进行工作,该程序用于使所述计算机执行如下工作:
将确定所中继的数据的信息与确定该数据的接收源的信息一起存储到存储部中;以及
对于来自特定装置的特定数据取得请求,根据所述存储部的信息,决定所述特定数据的发送源装置。
6.一种计算机可读取的记录介质,其记录了在对多个装置间的数据通信进行中继的计算机上工作的程序,该记录介质记录了用于使所述计算机执行如下工作的程序:
将确定所中继的数据的信息与确定该数据的接收源的信息一起存储到存储部中;以及
对于来自特定装置的特定数据取得请求,根据所述存储部的信息,决定所述特定数据的发送源装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/058967 WO2011148480A1 (ja) | 2010-05-27 | 2010-05-27 | 中継装置,中継システム,中継方法,プログラム,及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102918511A true CN102918511A (zh) | 2013-02-06 |
Family
ID=45003488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800670658A Pending CN102918511A (zh) | 2010-05-27 | 2010-05-27 | 中继装置、中继***、中继方法、程序以及记录了程序的计算机可读取的记录介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9203890B2 (zh) |
JP (1) | JP5696724B2 (zh) |
CN (1) | CN102918511A (zh) |
WO (1) | WO2011148480A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110023908A (zh) * | 2017-03-31 | 2019-07-16 | 三菱电机株式会社 | 信息处理装置及信息处理方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5880315B2 (ja) * | 2012-07-02 | 2016-03-09 | 富士通株式会社 | システム管理装置、システムの管理方法、及びシステムの管理プログラム |
JP6051771B2 (ja) * | 2012-10-24 | 2016-12-27 | 日本電気株式会社 | 通信中継装置、仮想マシンサーバ、帯域制御システム、帯域制御方法およびプログラム |
WO2014087449A1 (en) * | 2012-12-04 | 2014-06-12 | Hitachi, Ltd. | Network device and method of controlling the network device |
WO2015136325A1 (en) * | 2014-03-11 | 2015-09-17 | Telefonaktiebolaget L M Ericsson (Publ) | Physical downlink control channel (pdcch) inter-cell-interference coordination |
US9613122B2 (en) | 2014-05-02 | 2017-04-04 | Facebook, Inc. | Providing eventual consistency for multi-shard transactions |
JP6426408B2 (ja) * | 2014-09-03 | 2018-11-21 | 株式会社東芝 | 電子機器、方法及びプログラム |
WO2016065294A1 (en) * | 2014-10-24 | 2016-04-28 | Wahoo Technologies, LLC | System and method for providing underwater video |
US10250337B1 (en) * | 2014-10-24 | 2019-04-02 | Wahoo Technologies, LLC | System and method for providing underwater media capture |
JP2020126409A (ja) * | 2019-02-04 | 2020-08-20 | 株式会社日立製作所 | データ管理システムおよびデータ管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003196191A (ja) * | 2001-12-27 | 2003-07-11 | Fujitsu Ltd | データキャッシュ方法 |
JP2005303772A (ja) * | 2004-04-14 | 2005-10-27 | Nec Corp | ネットワーク通信方法および装置 |
CN1697418A (zh) * | 2004-05-14 | 2005-11-16 | 迈普(四川)通信技术有限公司 | 帧中继与以太网互联方法 |
CN1879352A (zh) * | 2003-11-17 | 2006-12-13 | 富士通株式会社 | 通信中继装置、通信中继方法及通信中继程序 |
WO2009054056A1 (ja) * | 2007-10-25 | 2009-04-30 | Fujitsu Limited | 情報提供方法、中継方法、情報保持装置、中継器 |
JP2009521020A (ja) * | 2005-12-07 | 2009-05-28 | アロン アール. スワーツ, | 高リスクアプリケーション用の実用的プラットフォーム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144992A (en) * | 1997-05-09 | 2000-11-07 | Altiris, Inc. | Method and system for client/server and peer-to-peer disk imaging |
JP2001325207A (ja) | 2000-05-17 | 2001-11-22 | Hitachi Ltd | キャッシュ内蔵型スイッチおよび計算機システムおよびキャッシュ内蔵型スイッチのスイッチ制御方法 |
US7162538B1 (en) * | 2000-10-04 | 2007-01-09 | Intel Corporation | Peer to peer software distribution system |
US20030135553A1 (en) | 2002-01-11 | 2003-07-17 | Ramesh Pendakur | Content-based caching and routing of content using subscription information from downstream nodes |
JP3952031B2 (ja) * | 2004-03-22 | 2007-08-01 | 日本電気株式会社 | 分散オブジェクトシステム及びサーバ |
JP4289436B1 (ja) | 2008-03-18 | 2009-07-01 | 日本電気株式会社 | 負荷分散システム及び負荷分散方法 |
-
2010
- 2010-05-27 JP JP2012517049A patent/JP5696724B2/ja not_active Expired - Fee Related
- 2010-05-27 CN CN2010800670658A patent/CN102918511A/zh active Pending
- 2010-05-27 WO PCT/JP2010/058967 patent/WO2011148480A1/ja active Application Filing
-
2012
- 2012-11-27 US US13/686,789 patent/US9203890B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003196191A (ja) * | 2001-12-27 | 2003-07-11 | Fujitsu Ltd | データキャッシュ方法 |
CN1879352A (zh) * | 2003-11-17 | 2006-12-13 | 富士通株式会社 | 通信中继装置、通信中继方法及通信中继程序 |
JP2005303772A (ja) * | 2004-04-14 | 2005-10-27 | Nec Corp | ネットワーク通信方法および装置 |
CN1697418A (zh) * | 2004-05-14 | 2005-11-16 | 迈普(四川)通信技术有限公司 | 帧中继与以太网互联方法 |
JP2009521020A (ja) * | 2005-12-07 | 2009-05-28 | アロン アール. スワーツ, | 高リスクアプリケーション用の実用的プラットフォーム |
WO2009054056A1 (ja) * | 2007-10-25 | 2009-04-30 | Fujitsu Limited | 情報提供方法、中継方法、情報保持装置、中継器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110023908A (zh) * | 2017-03-31 | 2019-07-16 | 三菱电机株式会社 | 信息处理装置及信息处理方法 |
CN110023908B (zh) * | 2017-03-31 | 2020-12-08 | 三菱电机株式会社 | 信息处理装置及信息处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130086227A1 (en) | 2013-04-04 |
JPWO2011148480A1 (ja) | 2013-07-25 |
JP5696724B2 (ja) | 2015-04-08 |
WO2011148480A1 (ja) | 2011-12-01 |
US9203890B2 (en) | 2015-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102918511A (zh) | 中继装置、中继***、中继方法、程序以及记录了程序的计算机可读取的记录介质 | |
US20040122649A1 (en) | Wireless cable replacement for computer peripherals using a master adapter | |
US6950859B1 (en) | Wireless cable replacement for computer peripherals | |
CN108833267A (zh) | 智能工业网关 | |
CN112335202B (zh) | 处理局域网诊断数据 | |
KR100734736B1 (ko) | 데이터 패킷 변환 방법 및 장치와 기록 매체 | |
JP7435810B2 (ja) | メタデータを収集するシステム及び方法並びにセンサー端末 | |
CN110809048A (zh) | 一种数据中转方法、装置和计算机可读存储介质 | |
CN110069288A (zh) | Usb设备共享方法、装置及*** | |
CN112335203B (zh) | 处理局域网诊断数据 | |
CN101340370A (zh) | 链路选择方法和链路选择装置 | |
CN109831339B (zh) | 一种***日志管理方法和日志服务器 | |
CN111224891A (zh) | 一种基于动态学习三元组的流量应用识别***及方法 | |
CA2439726A1 (en) | Connection-oriented communication network and method of operating | |
KR102663509B1 (ko) | 쿼리 처리 시스템, 장치 및 방법 | |
CN111277364B (zh) | 一种基于信息标识码的信息转发方法 | |
CN1972314B (zh) | 以太网接口上模拟串行接口的方法以及应用该方法的部件 | |
CN100384144C (zh) | 一种组合设备及其管理维护方法 | |
CN111614645A (zh) | 一种用于***协作的大数据转发方法及装置 | |
CN106713008B (zh) | 一种对eoc局端设备进行性能测试的方法 | |
CN108023837B (zh) | 虚拟网络交换机***及其建立方法 | |
WO2022176034A1 (ja) | 変換装置、変換方法及び変換プログラム | |
CN118227343B (zh) | 一种数据处理方法、***、装置、设备、介质及产品 | |
CN113037573B (zh) | 网络管理***及方法 | |
JPH11225171A (ja) | 異通信手順間通信方法及び方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130206 |