信息处理装置及信息处理系统的制作方法

文档序号:7662184阅读:151来源:国知局
专利名称:信息处理装置及信息处理系统的制作方法
技术领域
本发明涉及以下技术,连接于网络并接收通过网络传送的包,根据 收发包的终端和主机之间的通信状态进行不同的处理,并进行存储在装 置内部的数据的变更、新的包的生成及外部发送,由此提供数据库等服 务器服务。
背景技术
伴随播放通信融合与普适计算机(ubiquitous computing)的并行 发展,后端(back end) /存取(access)双方的用户要求服务多样化 并提高运算性能。因此,需要利用在边缘网络上分散配置的应用装置 (appliance)来实现使用了普适装置(射频识别(FRID) /传感器/摄 像机)的服务器服务(数据库(DB)査询处理(query transaction), 对异常通信的防护等),提高服务器服务的运算性能和响应速度。
其中所谓的"应用装置"实现对异常通信的防护和数据库的功能。 在对异常通信的防护中,检测/排除来自攻击者的异常包。 在数据库中,进行从分散配置的多个RFID/固定传感器/图像传感 器大量接收的数据更新包的SQL分析、对高速缓冲存储器的数据集合/ 上传、高速缓存数据对服务器的自动上传。并且,进行来自便携式终端 等客户端的数据请求包的SQL分析、来自高速缓冲存储器的数据的XML 翻译/下载、服务器数据对高速缓冲存储器的自动下载。
传感器/RFID的利用方法因每个用户而不同。并且,通信包的内容 根据传感器/RFID的类型、使用应用、设置场所和昼夜等时间而不同。 另外,收发包的各个终端之间的通信状态根据TCP的拥挤/变迁状态、 使用中的L (Layer) 7协议、正在执行中的命令、命令的执行状态而不 同。
因此,对该应用装置所要求的功能因每个用户/应用/场所/时间/执行状态而不同。并且,搭载了上述功能的应用装置需要作为小型服务 器或通信装置内置端口而分散配置在边缘网络中,以便实现运算处理的 高效率化。因此,要求面向该应用装置的处理器具有以小型节能方式实 现包的快速运算的性能,并且具有能够根据各个终端之间的通信状态对 每个包执行多种处理的灵活性。
在同时实现这种小型节能式的快速运算性能和灵活性时,以往的通
用处理器和专用集成电路(ASIC)存在缺少小型节能式的快速运算性能 和灵活性之一的问题。
另一方面,动态重构处理器(Dynamic Reconfigurable Processor-DRP)具有通过选通器连接多个运算元件(Processing Element: PE) 的运算矩阵,在较低的动作频率下,通过处理的并行化,节能地实现较 高的运算性能。另外,以最短一个时钟来变更PE的运算功能和连接, 实现可以在短时间内变更搭载功能的高度灵活性。即使不提高动作频 率,利用多个运算器一并执行简单的命令,或组合多个运算器执行复杂 的命令等,也能提高运算矩阵核心的运算并行程度,由此节能地实现较 高的运算性能。因此,DRP被认为有望作为同时要求以小型节能方式实 现包的快速运算的性能、及更新算法的灵活性的面向应用装置的处理 器。
在把该DRP用于提供数据库等应用层的服务的装置时,需要根据收 发包的各个主机之间的通信状态(传输端口层协议的变迁/拥挤状态、 正在使用的应用层协议的类型、正在执行中的命令的类型、命令的执行 的进展状态(文件收发到何种程度等)),变更搭载逻辑,针对每个包进 行不同的处理。搭载逻辑的变更根据运算矩阵内部的运算器组生成的重 构触发器而开始。因此,认为通过在运算矩阵外部预先生成用于生成重 构触发器所需的信息(收发所接收的包的各个主机之间的通信状态), 并直接输入运算矩阵,可以实现搭载逻辑的迅速变更。
因此,本发明人考虑到根据终端和主机(以下统称为"终端")之 间的通信状态来重构每个包的动态重构处理器搭载装置(非专利文献 1)。本装置采用不经由存储器的通信数据的直接输入输出。另外,根据 在运算矩阵外部预先生成的终端之间的通信状态,变更动态重构处理器
内的运算矩阵的搭载逻辑,由此实现搭载逻辑的快速变更,以小型、节 能的装置,高性能地实现数据库等应用层的服务器服务。
非专利文献1:"通信状態^基d〈 A亇、乂卜毎自己再構成^用
1/ 、广二動的再構成7 口 ir 、乂甘搭載夕工y卜,y if夕、> 3 y高速化装置"
("根据通信状态重构每个包自身的动态重构处理器搭载查询处理快速
装置"),信学技報(信学技报),Vol. 107, no. 41, RECONF2007-1, PP. l-6, 2007年5月
使用图19说明上述的根据终端之间的通信状态重构每个包的动态 重构处理器搭载装置的问题。
本装置由交换每个包的交换器1901、执行各种运算的动态重构处 理部即动态重构处理器(DRP) 1902、进行交换器1901和DRP1902之间 的包输入输出控制的包I/O 1900、和存储各种数据的外部存储器1903 构成。
包I/O 1900包括分类从交换器1901接收的包的分类器1904; 临时存储所分类的包的缓冲器1905、 1913;从缓冲器1905读出包的包 读出部1906;存储通信状态的通信状态表1910;读出通信状态的通信 状态读出部1907;变更通信状态的通信状态更新部1908;写入通信状 态的通信状态写入部1909;临时存储所变更的通信状态的缓冲器1911;
临时存储所读出的包的缓冲器1912;和集合包的集线器1914。
从交换器1901读出的包1915通过分类器1904被分类为需要处理 的包1917和不需要处理的包1918。需要处理的包1917被存储在缓冲器 1905中。
在处理开始后,包读出部1906读出存储在缓冲器1905中的包1919, 并传送给通信状态读出部1907和通信状态更新部1908和缓冲器1912。
通信状态读出部1907根据从包读出部1906接收的包1920中记载 的发送源/目标信息,从通信状态表1910读出对应的通信状态1922,传 送给通信状态更新部1908。
通信状态更新部1908根据从通信状态读出部1907接收的通信状态 1948和从包读出部1906接收的包1920,变更通信状态1948。已变更的 通信状态1921、 1949被传送给通信状态写入部1909和缓冲器1911。
通信状态写入部1909把从通信状态更新部1908接收的己变更的通 信状态1921作为新的通信状态1923写入通信状态表1910。
DRP1902包括内置了多个小型运算器的PE矩阵1927;通用运算 器1928;构成数据高速缓冲存储器1930;作为面向外部存储器的接口 的SDRAM I/F 1931;连接以上各部分的总线交换器1929。
PE矩阵1927包括用于实施程序重构的面向程序重构中断生成PE 组1934;用于实施自律重构的面向自律重构中断生成PE组1935;执行 用于实施多种功能的层(Layer) 2-7函数的PE组1936;和发送TCP/IP 校验和(check sum)计算完成包,并通知运算结束的PE组1937。
通用运算器1928执行OS 1932和进行用于重构的处理的面向重构 函数1933。
面向自律重构中断生成PE组1935从通信状态更新部1908接收已 变更的通信状态1949后,根据所接收的通信状态生成面向自律重构中 断1941。
构成数据高速缓冲存储器(存储缓冲器)1930根据所生成的面向 自律重构中断1941 ,把存储在内部的构成数据传送给PE矩阵1927。
PE矩阵1927根据来自构成数据高速缓冲存储器1930的构成数据 1942,重构内部的运算器的功能和布线。
面向程序重构中断生成PE组1934从通信状态更新部1908接收已 变更的通信状态1949后,根据所接收的通信状态,面向通用运算器1928 生成面向程序重构中断1944。另外,根据所接收的通信状态1949,把 外部存储器1903内部的构成数据指针1938改写为存储有必要的构成数 据的地址值1943。
OS 1932从面向程序重构中断生成PE组1934接收面向程序重构中 断1944后,执行面向重构函数1933。
面向重构函数1933从构成数据指针1938读出存储有下一次使用的 构成数据的地址值1946,根据所读出的地址值1946,从构成数据区域 1939读出构成数据1945。另外,根据所读出的构成数据1945,把构成 数据高速缓冲存储器改写为新的构成数据1947。另外,把所改写的构成 数据1942传送给PE矩阵。
PE矩阵1927根据来自构成数据高速缓冲存储器1930的构成数据 1942,重构内部的运算器的功能、布线。
在PE矩阵1927的重构结束后,存储在缓冲器1911中的通信状态 1924和存储在缓冲器1912中的包1925被读出,并传送给执行L2-7函 数的PE组1936。
执行L2-7函数的PE组1936使用通信状态1924、包1925和外部 存储器1903内的0S/应用数据区域1940的数据,进行各种运算。并且, 把所变更的通信状态1926发送给通信状态写入部1909,更新通信状态 表1910。
在执行L2-7函数的PE组1936的运算结束后,PE组1937对新生 成的包计算TCP/IP校验和,把计算完毕的包1951逐一发送给集线器 1914。在发送所有的包后,向包读出部1906发送运算结束通知1950。
集线器1914集合来自PE矩阵1927的包1951和来自缓冲器1913 的包,输出给交换器1901。
包读出部1906接收运算结束通知1950,从缓冲器1905读出新的包。
根据上述方式,能够实现根据终端之间的通信状态重构每个包的动 态重构处理器搭载装置。本装置采用不经由存储器的通信数据的直接输 入输出。另外,根据在运算矩阵外部预先生成的主机之间的通信状态, 变更动态重构处理器内的运算矩阵的搭载逻辑,由此实现搭载逻辑的快 速变更,利用小型节能的装置高性能地实现数据库等应用层的服务器服 务。
但是,上述根据终端之间的通信状态重构每个包的动态重构处理器 搭载装置按照包的到达顺序进行运算处理。因此,将要使用的构成数据 根据前后的包而不同,在进行运算处理的构成数据没有存储在构成数据 高速缓冲存储器1930中的情况下,将成为高速缓冲存储器错误,产生 从外部存储器1903向构成数据高速缓冲存储器1930装载构成数据的时 间。由此,存在运算性能有时降低的问题。
并且,上述根据终端之间的通信状态重构每个包的动态重构处理器 搭载装置只记载了 DRP 1902包括一个PE矩阵1927的情况,没有记载具有多个PE矩阵1927的装置所需要的、向PE矩阵分配包的调度 (schedule)方式。

发明内容
本发明的目的在于,提供一种可以解决上述根据终端之间的通信状 态重构每个包的动态重构处理器搭载装置的问题,并提高运算效率的装 置及系统。
为了达到上述目的,本发明在动态重构处理部设置多个运算(PE) 矩阵,还具有将包适当地分配给这些运算矩阵的调度部,由此抑制高速 缓冲存储器错误,削减构成数据的装载时间。并且,在运算处理第一包 的过程中,先读出第二包的运算处理所需要的构成数据并传送,由此縮 短基于构成数据的高速缓冲存储器错误的装载时间。
本发明提供一种对在终端之间收发的包进行处理的信息处理装置, 在动态重构处理部设置多个运算矩阵,还具有调度部,当第一运算矩阵 处理第一包时,确定在第一和第二运算矩阵中哪一方进行后续的第二和 第三包的处理,在第二包需要基于和第一包相同的构成信息的处理、且 第三包需要基于和第一包不同的构成信息的处理的情况下,调度部使第 二包待机,使第三包优先使用第二运算矩阵,直到第一运算矩阵中的第 一包的处理结束。
并且,本发明的信息处理装置也可以构成为具有包输入输出部, 包括存储收发包的终端之间的通信状态的通信状态表、和通信状态更新 部,该通信状态更新部根据所接收的包的内部信息、和根据包的内部信 息从通信状态表读出的通信状态的组合,进行通信状态的变更;动态重 构处理部,对包进行对应于已变更的通信状态的处理,其包括存储多个 构成信息的构成信息存储缓冲器、运算矩阵部和向构成信息存储缓冲器 传送构成信息的运算部,该运算矩阵部分别具有可以改变功能和布线的 运算器组,接收包和已变更的通信状态,根据已变更的通信状态,从构 成信息存储缓冲器获取构成信息,根据所获取的构成信息重构运算器组 的功能和布线;以及存储多个构成信息的存储部;该动态重构处理部的 运算部在运算矩阵部进行基于第一通信状态的重构后处理第一包的期间,从存储部向构成信息存储缓冲器传送后续第二包的处理所需要的、 基于第二通信状态的构成信息。
另外,本发明的信息处理系统由服务器、通过网络向服务器请求数 据的终端、和信息处理装置构成,该信息处理装置接收在服务器和终端 之间传送的包,执行与收发包的服务器和终端之间的通信状态对应的处 理,信息处理装置具有通信状态表,存储服务器和终端之间的通信状 态;通信状态更新部,根据所接收的包的内部信息、和根据包的内部信 息从通信状态表读出的通信状态的组合,进行通信状态的变更;动态重 构处理部,包括具有可以改变功能和布线的运算器组的第一及第二运算 矩阵、和存储多个运算矩阵的构成信息的构成信息存储缓冲器,接收包 和已变更的通信状态,根据已变更的通信状态,从构成信息存储缓冲器 获取构成信息,根据所获取的构成信息重构运算矩阵的运算器组的功能 和布线;以及调度部,在第一运算矩阵处理第一包时,确定在第一和第 二运算矩阵中哪一方进行后续的第二包的处理,在动态重构处理部中, 对包执行对应已变更的通信状态的运算处理,将其处理结果经由网络发 送给服务器或终端。
本发明的效果如下
本发明可以提供一种装置,在进行基于通信状态的每个包的重构的 动态重构处理器搭载装置中,能够提高运算效率,小型节能且高性能地 实现数据库等应用层的服务器服务。


图1是第一实施例的包1/0及动态重构处理器和存储器的结构方框图。
图2是第一实施例的信息处理装置的结构方框图。
图3是第一实施例的动态重构处理器的结构方框图。
图4是表示第一实施例的动态重构处理器的动作的示意图。
图5是第一实施例的应用系统的示意图。
图6是第一实施例的应用系统的示意图。
图7是第一实施例中的包数据的示意图。
图8是第一实施例中的处理中通信表的一例的示意图。 图9是第一实施例中的通信状态表的一例的示意图。 图IO是第一实施例中的处理中通信状态表的一例的示意图。 图11是第一实施例中的通信状态的组合的一例的示意图。 图12是第一实施例中的通信状态的变迁的一例的示意图。 图13是第一实施例中的构成数据的重构循环的一例的示意图。 图14A是第一实施例中的构成数据目的地读出/装载时的流程图。 图14B是第一实施例中向缓冲器传送已变更的通信状态和包时的 流程图。
图15是表示第一实施例中的TCP通信控制的序列图。 图16是表示第一实施例中向装置和前端终端下载服务器文件的序 列图。
图17是表示第一实施例中的项目数据的登记/更新/选择/删除的 序列图。
图18是表示第一实施例中向服务器上传项目数据的序列图。 图19是作为本发明的前提的、根据通信状态重构每个包自身的动 态重构处理器搭载装置的结构方框图。 符号说明
200装置;100包I/O; 102动态重构处理器;103存储器;501前 端网络;502边缘网络;503后端系统。
具体实施例方式
以下,使用

本发明的实施方式。实施例1
首先,说明第一实施例的信息处理装置。图2是实施例1的信息处 理装置的结构方框图。
信息处理装置200包括作为动态重构处理部的动态重构处理器 (DRP) 102、包输入输出部(包IA)) 100、作为存储部的存储器103、 网络I/F-i(i = l N)203(203-1 203-N)、通信线路连接部204(204-l 204—N)和交换器101。
本装置200连接于网络,把经由网络I/F 203从网络接收的 (210-1 210-N)包传送给包I/0 100或其他网络I/F 203。另外,把 来自包I/O 100和网络I/F 203的包经由网络I/F 203发送给网络 (209-1 209-N)。
图3是装置200搭载的动态重构处理器(DRP) 102的具体结构方 框图。
动态重构处理器102包括RISC处理器等通用运算器180;分别搭 载了可以改变功能及彼此的布线的小型运算器的多个运算矩阵(PE矩阵 #1、 2) 178、 179;总线交换器193;对应于运算矩阵178、 179的构成 数据高速缓冲存储器(# 1、 2) 195、 196; PCI总线连接用的PCI I/F 302; 外部存储器存取用的SDRAM I/F 194; DMA传送用的DMA控制器304;用 于与其他接口连接的其他I/F 305。另外,在本实施例中,示例说明了 运算矩阵(PE矩阵井1、 2)和构成数据高速缓冲存储器(#1、 2)为两 个的情况,但也可以是3个以上。此外,有时把运算矩阵(PE矩阵弁1、 2)称为运算矩阵部。
图4是表示动态重构处理器102搭载的运算矩阵178、 179按照每 个处理内容401 403变更搭载逻辑404 406的示例。
运算矩阵178、 179搭载有多个可以改变功能及彼此的布线的小型 运算器,按照处理内容401 403重构每个小型运算器的功能和布线, 由此变更搭载逻辑404 406。由此,实现基于并行运算的快速运算性能、 和可以在短时间内变更搭载逻辑的高度灵活性。
图5表示在网络上使用本实施例的信息处理装置200的示例。
本装置200配置在前端网络501和后端系统503之间的边缘网络 502中。在后端系统503中配置有作为后端终端的服务器504和存储器 系统505,服务器504处理的数据存储在存储器系统505中(522)。
本装置200从RFID/固定传感器/图像传感器等前端终端接收数据 更新包508、 509、 510后,根据包中记载的HTTP/SQL命令等,进行存 储在装置内部的数据的变更,以HTML/XML等格式返回更新结果通知和 动作指示包511、 512、 513。在从便携式终端等接收到数据请求包514 后,根据包中记载的HTTP/SQL命令等,进行存储在装置内部的数据的检索,以HTML/XML等格式返回请求数据返回包515。并且,在从攻击者 接收到异常包516时,判定为异常通信,不发送给服务器504 (517)并 将其废弃(507)。另外,对存储在装置内部的数据进行向服务器的上传 518、 520和来自服务器的下载519、 521,经常将存储数据保持为最新 状态。
图6是表示在后端系统中使用本实施例的信息处理装置200的示例。
本装置200配置在后端系统603内的服务器前级上、或者内置有服 务器(602)。在内置服务器时,在装置200的交换器101上连接服务器 212。
下面,说明本实施例的信息处理装置200的动态重构处理器102和 包I/O 100和存储器103的动作。
图1是本实施例的动态重构处理器102、包I/O 100和存储器103 的一个具体示例的具体结构方框图。
包I/O 100包括执行是否是应该处理的包的判定和应该处理的包 的分类的分类器104;存储已分类的包的包缓冲器#1 4 (109、 110、 111、 112);从包缓冲器弁0 4读出包的包读出部119;存储正在处理
的包数的处理中包数120;判定是否是正在处理的通信的通信重复判定 部123;存储正在处理的通信的处理中通信表124;当是正在处理的通 信时再次存储所读出的包的包缓冲器弁O (113);将正在处理的通信记
录在处理中通信表124中的处理中通信记录部128;进行通信状态的存
储的通信状态表132;通信状态读出部131;通信状态更新部136;通信 状态写入部138;存储与正在处理的包相对应的通信状态的处理中通信 状态表143;根据与正在处理的包相对应的通信状态进行包的调度的调
度部142;临时存储所调度的包和对应于包的通信状态的包缓冲器151、 153;通信状态缓冲器150、 152;按合适的定时面向运算矩阵(#1、 2) 178、 179传送通信状态和包的数据读出部(#1、 2) 158、 159;临时存 储来自PE矩阵(弁1、 2)178、 179的输出包的输出包缓冲器170、 171;
集合包并输出的集线器175。
动态重构处理器102如上面所述,包括通用运算器180、搭载了多
个可以改变功能和彼此的布线的小型运算器的运算矩阵(弁l、 2) 178、 179、构成数据高速缓冲存储器(#1、 2) 195、 196、总线交换器193、 和外部存储器存取用的SDRAM I/F 194。
外部存储器103具有构成数据区域103-2,存储未能在构成数据 高速缓沖存储器(井l、 2) 195、 196中存储的构成信息;构成数据指针 a, b, c, dl03-l,记载构成数据区域103-2内的对构成数据的地址指针; 和OS/应用数据区域103-3。
通用运算器180执行OS 182,在接收到运算矩阵(#1、 2) 178、 179生成的重构触发器后,调出面向重构函数181。所调出的面向重构 函数181从构成数据区域103-2读出构成数据,并进行向构成数据高速 缓冲存储器(#1、 2) 195、 196的装载和向运算矩阵的传送。
运算矩阵(弁l、 2) 178、 179包括面向自律重构中断生成PE组
178- 2、 179-2,根据通信状态生成面向自律重构中断185、 188;面向程 序重构中断生成PE组178-1、 179-1,生成面向程序重构中断183、 186; L2-7函数执行PE组178-3、 179-3,根据通信状态和包,进行存储在存 储器103中的数据的变更、新的包的生成及外部发送;PE组178-4、
179- 4,计算L2-7函数执行PE组178-3、 179-3新生成的包的TCP/IP 校验和,并发送包。
以下,具体说明包I/O、动态重构处理器、存储器103的各个部分。 包I/O 100的分类器104从交换器101接收包后(177),判定是否 是应该处理的包。如果是不需要处理的包,则输出给集线器175 (174)。 如果是需要处理的包,则根据包的标题中记载的内容,输出给包缓冲器 #1 4 (109、 110、 111、 112)中某一方(105、 106、 107、 108〉。 图7表示分类器104从交换器101接收的包177的格式的一例。 包177包括InLine 701、OutLine 702、SMAC703、DMAC704、Proto705、 SIP706、 DIP707、 Sport708、 Dport709、 TCP Flag710、 PSEQ711、 PACK712、 OtherHeader713、各种命令714、 Payload (有效载荷)715。另外,在 本实施例中,把SIP706、 DIP707、 Sport708、 Dport709统一表述为P.H. (Packet Header) 716。该P. H. 716表示包177的特征。
在此,InLine 701存储包输入的线路的识别序号即输入线路序号。OutLine 702存储输出包的线路的识别序号即输出线路序号。SMAC703 存储数据链接层的发送源地址即发送源MAC地址。DMAC704存储目标地 址即目标MAC地址。Proto705存储网络层的协议。SIP706存储目标地 址、即作为发送侧终端的地址的发送源IP地址。DIP707存储目标地址、 即作为接收侧终端的地址的目标IP地址。SP0RT708存储TCP的发送源 端口。 DP0RT709存储TCP的目标端口。 TCP Flag710存储TCP标志。 PSEQ711存储发送序列号(SEQ序号)。PACK712存储接收序列号(ACK 序号)。0therHeader713存储其他IP/TCP标题数据。各种命令714存储 应用层的命令。Payload715存储包标题(Packet Header: P. H.)和各
种命令之外的数据。
分类器104例如根据P. H. (Packet Header) 716的内容即包的特 征,将包分类,并根据分类结果输出给包缓冲器#1 4 (109 112)中 某一方(105 108)。
包读出部119在处理中包数120的值小于预先确定的值时,从包缓 冲器#0 4 (109 113)读出包。在包缓冲器井O (113)中存储有包时, 优先从包缓冲器弁O (113)读出包(118)。在包缓冲器#0 (113)中没 有存储包时,优先从过去的读出时间最早的包缓冲器弁1 4(109 112) 中读出包(114 117)。另外,将处理中包数120的值增大1 (121)。
通信重复判定部123从包读出部119接收到包后(122),根据包中 记载的P.H.716,从处理中通信表124检索对应的处理中的通信信息 (125)。
图8是处理中通信表124的一例的示意图。
处理中通信表124包括与处理中的通信的数量相当的m个通信信息 的表项(entry) 801 (801-1 801-m)。
表项801与上述的P.H. (Packet Header)相同,包括S謂2、 DIP803、 SP0RT804和DPORT805。
SIP802记录正在处理的通信的发送源地址、即作为发送侧主机的 地址的发送源IP地址。DIP803记录正在处理的通信的目标地址、即作 为接收侧主机的地址的目标IP地址。SP0RT804记录正在处理的通信的 TCP发送源端口。 DP0RT805记录正在处理的通信的TCP目标端口。
通信重复判定部123判定是否存在与包中记载的P. H. 716 —致的正 在处理的通信信息的表项801,如果存在,则向包缓冲器弁O (113)传 送所读出的包122 (126)。如果不存在,则向处理中通信记录部128传 送所读出的包122 (127)。
处理中通信记录部128把从通信重复判定部123接收的包127中记 载的P.H.716作为处理中的通信信息,记录在处理中通信表124中 (129)。另外,把从通信重复判定部123接收的包127传送给通信状态 读出部131、通信状态更新部136和调度部142 (130、 135、 141)。
通信状态读出部131从通信状态表132读出与包中记载的P. H. 716 对应的通信状态(133)。在通信状态表132中不存在与包中记载的 P. H. 716对应的通信状态时,重新生成与包中记载的P. H. 716对应的通 信状态。
图9是通信状态表132的一例的示意图。 通信状态表132包括n个表项901 (901-1 901-n)。 表项901包括F-IP902、 F-P0RT903、 F-ID904、 F-SEQ905、 F-ACK906、 F-WIN907、 F-FLIGHT908、 F-TIME909、 F-P0INTER910、 F-STATE911、 B-IP912、 B-P0RT913、 B-ID914、 B-SEQ915、 B-ACK916、 B-WIN917、 B-FLIGHT918、 B-TIME919、 B-P0INTER920、 B-STATE921。
F-IP902记录前端侧终端的IP地址。B-IP912记录后端侧终端的 IP地址。F-P0RT903记录前端侧终端的TCP端口序号。B-P0RT913记录 后端侧终端的TCP端口序号。F-ID904记录已发送给前端侧终端的包的 ID序号。B-ID914记录已发送给后端侧终端的包的ID序号。F-SEQ905 记录与前端侧终端的发送源序列号。B-SEQ915记录与后端侧终端的发送 源序列号。F-ACK906记录与前端侧终端的目标序列号。B-ACK916记录 与后端侧终端的目标序列号。F-WIN907记录与前端侧终端的TCP连接的 拥挤窗口大小。B-WIN917记录与后端侧终端的TCP连接的拥挤窗口大 小。F-FLIGHT908记录表示已经发送给前端侧终端的数据大小的已发送 窗口大小。B-FLIGHT918记录表示已经发送给后端侧终端的数据大小的 已发送窗口大小。F-TIME909记录从前端侧终端接收包的最新时间。 B-TIME919记录从后端侧终端接收包的最新时间。F-P0INTER910记录对
从前端侧终端接收的包执行各种运算的L2-7函数执行PE组178-3、 179-3使用的地址指针。B-POINTER910记录对从后端侧终端接收的包执 行各种运算的L2-7函数执行PE组178-3、 179-3使用的地址指针。 F-STATE911记录装置200与前端终端之间建立的通信的通信状态。 B-STATE921记录装置200与后端终端之间建立的通信的通信状态。另 外,在本实施例中,把F-IP902、 B-IP912、 F-P0RT903和B-P0RT913统 一表述为T.H. (Table Header) 922。
记录通信状态的F-STATE911和B-STATE921记录表示图11所示的 任一种组合的一个意义的值。F-STATE911和B-STATE921记录表示以下 状态的值(表示图ll所示的任一种组合的一个意义的值)TCP连接的 开始或停止(OPEN/CLOSE) 1120, TCP连接的建立或未建立(FULL/HALF) 1121, TCP连接的拥挤状态(Slow Start/Congestion Avoidance (Cong.Avoid, ) /Fast Recovery) 1122,应用层协议的有无及类型 (HTTP/TELNET/FTP) 1123,应用层协议正在执行中的命令和自变量的 有无及类型(GET/P0ST、 SELECT/INSERT/DELETE) 1124,根据所述命令 正在执行中的文件收发的状态(开始(Start)、未结束(Active)或结 束(Passive)) 1125。
包1/0 100的通信状态更新部136根据从通信状态读出部131接收 的通信状态134、和从处理中通信记录部128接收的包135,进行通信 状态的变更。另外,把已变更的通信状态传送给通信状态写入部138和 调度部140 (137、 140)。
通信状态写入部138把从通信状态更新部136接收的己变更的通信 状态137写入通信状态表132 (139)。
调度部142比较从通信状态更新部136接收的已变更的通信状态 140的值、与处理中通信状态表143中记载的值,由此进行从处理中通 信记录部128接收的包141的调度。
图10是处理中通信状态表143的一例的示意图。
处理中通信状态表143包括INI—POINT (#1、 2) (1003、 1008)、 END—POINT (#1、 2) (1004、 1009)、 CNT (#1、 2) (1005、 1010)、 STATE #1 (1002)(1002-l 1002-k)、和STATE#2 (1007) (1007-l 1007-k)。
STATE弁1 (1002)记录在PE矩阵井1 (178)、面向重构函数181中 正在处理的通信状态。INI_P0INT ( # 1) (1003)记录至STATE井1 (1002) 的地址指针,该STATE弁1 (1002)记录在PE矩阵井1 (178)中正在执 行运算处理的通信状态。END—POINT(弁1)(1004)记录至STATE井1(1002) 的地址指针,该STATE弁1 (1002)记录存储在通信状态缓冲器152的最 末尾的通信状态。CNT (#1) (1005)记录在PE矩阵#1 (178)、面向 重构函数181中正在处理的通信状态的数量。
STATE弁2 (1007)记录在PE矩阵弁2 (179)、面向重构函数181中 正在处理的通信状态。INI—POINT ( #2) (1008)记录至STATE弁2 (1007) 的地址指针,该STATE井2 (1007)记录在PE矩阵井2 (179)中正在执 行运算处理的通信状态。END一POINT( #2)(1009)记录至STATE#2(1007) 的地址指针,该STATE弁2 (1007)记录存储在通信状态缓沖器150的最 末尾的通信状态。CNT (#2) 1010记录在PE矩阵弁2 (179)、面向重构 函数181中正在处理的通信状态的数量。
图14B是调度部142从通信状态更新部136和处理中通信记录部 128接收已变更的通信状态140和包141,并根据处理中通信状态表143 中记载的值传送给缓冲器150 153时的流程图。
调度部142读入处理中通信状态表143 (145),把从通信状态更新 部136接收的已变更的通信状态140的值、与END_POINT ( # 1) (1004) 中记载的通信状态STATE弁1 (1004)比较(步骤1421),并与END—POINT (#2) (1009)中记载的通信状态STATE弁2 (1007)比较(步骤1422)。
在已变更的通信状态140的值与END一P0INT井1 (1004)中记载的 通信状态STATE井1 (1002) —致时(步骤1421判定为"是"),把已变 更的通信状态140传送给通信状态缓冲器井1 (152) (148)。另外,把 从处理中通信记录部128接收的包141传送给包缓冲器# 1(153) (149) (步骤1424)。并且,增大END—P0INT弁1 (1004)。但是,在增大前的 END—P0INT#1 (1004)中记载的通信状态为STATE# 1 (1002-k)时,把 END_POINT# 1 (1004)变更为STATE# 1 (1002-1)的地址值(步骤1425)。 另外,把已变更的END—POINT#1 (1004)中记载的通信状态STATE# 1 (1002),变更为从通信状态更新部136接收的已变更的通信状态140
记载的值(步骤1426)。
在已变更的通信状态140的值与END_POINT#2 (1009)中记载的 通信状态STATE井2 (1007) —致时(步骤1422判定为"是"),把已变 更的通信状态140传送给通信状态缓冲器#2 (150) (146)。另外,把 从处理中通信记录部128接收的包141传送给包缓冲器#2(151)(147) (步骤1427)。并且,增大END_P0INT#2 (1009)。但是,在增大前的 END—P0I腦2 (1009)中记载的通信状态为STATE弁2 (訓7-k)时,把 END_POINT # 2 (1009 )变更为STATE # 2 (1007-1)的地址值(步骤1428 )。 另外,把已变更的END—P0INT弁2 (1009)中记载的通信状态STATE#2 (1007),变更为从通信状态更新部136接收的已变更的通信状态140 记载的值(步骤1429)。
在已变更的通信状态140的值与END—P0INT弁1 (1004)表示的通 信状态STATE井1(1002)和END—P0INTft2(1009)表示的通信状态STATE #2 (1007)不同时,比较CNT (#1) 1005的值与CNT (#2) 1010的 值(步骤1423)。
在CNT (#1) 1005的值小于CNT (#2) 1010的值时(步骤1423 判定为"是"),把已变更的通信状态140传送给通信状态缓冲器井1(152) (148)。另外,把从处理中通信记录部128接收的包141传送给包缓冲 器#1 (153) (149)(步骤1424)。并且,增大END_POINT# 1 (1004)。 但是,在增大前的END—POINT#1 (1004)中记载的通信状态为STATE#
1 (1002-k)时,把END-P0INT井1 (1004)变更为STATE井1 (1002-1) 的地址值(步骤1425)。另外,把已变更的END—POINT#1 (1004)中记 载的通信状态STATE弁1 (1002),变更为从通信状态更新部136接收的 已变更的通信状态140记载的值(步骤1426)。
在CNT (#2) 1010的值小于等于CNT (井l) 1005的值时(步骤 1423判定为"否"),把已变更的通信状态140传送给通信状态缓冲器弁
2 (150) (146)。另外,把从处理中通信记录部128接收的包141传送 给包缓冲器#2 (151) (147)(步骤1427)。并且,增大END一P0INT弁2
(1009)。但是,在增大前的END—P0INT井2 (1009)中记载的通信状态 为STATE弁2 (1007-k)时,把END—P0INT弁2 (1009)变更为STATE弁2(1007-1)的地址值(步骤1428)。另夕卜,把已变更的END—P0INT# 2(1009) 中记载的通信状态STATE弁2 (1007),变更为从通信状态更新部136接 收的已变更的通信状态140记载的值(步骤1429)。
通过以上叙述的调度部142的处理,在第一运算矩阵处理第一包 时,在第二包需要基于和第一包相同的构成信息的处理、且第三包需要 基于和第一包不同的构成信息的处理的情况下,使第二包待机,使第三 包优先使用第二运算矩阵,直到第一运算矩阵中的第一包的处理结束。
数据读出部(弁l、 2) 159、 158从运算矩阵(#1、 2) 178、 179 接收处理结束通知(165、 162)时,开始从包缓冲器(#1、 2) 153、 151和通信状态缓冲器(#1、 2) 152、 150读出数据。
图14A是数据读出部(#1、 2) 159、 158从包缓冲器(#1、 2) 153、 151和通信状态缓冲器(弁l、 2) 152、 150读出数据时的流程图。
数据读出部(#1、 2) 159、 158接收到处理结束通知(165、 162) 时,判定没有结束处理的正在运算处理或正在等待运算的包的数量是否 为一个(步骤1401)。
在步骤1401,在没有结束处理的正在运算处理或正在等待运算的 包的数量是一个时,判定存储在通信状态缓冲器(#1、 2) (152、 150) 中的通信状态的数量是否为2个以上(步骤1402)。
在步骤1402,当存储在通信状态缓冲器(#1、 2) (152、 150)中 的通信状态的数量小于2时,判定存储在通信状态缓冲器(# 1、 2)(152、 150)中的通信状态的数量是否为一个(步骤1403)。
在步骤1401,在没有结束处理的正在运算处理或正在等待运算的 包的数量不是一个时,判定存储在通信状态缓冲器(#1、 2) (152、 150) 中的通信状态的数量是否为O个(步骤1404)。
在步骤1402,当存储在通信状态缓冲器(#1、 2) (152、 150)中 的通信状态的数量为2个以上时,从通信状态缓冲器(#1、 2) 152、 150读出两个通信状态(156、 154),并发送给PE矩阵(#1、 2) 178、 179 (160、 163)(步骤1406)。在读出后,处理没有结束的正在处理的
通信状态的数量变为2。
在数据读出部(#1、 2) 159、 158执行步骤1406后,在DRP 102
中执行步骤1410。
在步骤1410, PE矩阵(弁1、 2)178、 179内部的PE组178-1、 178-2、 179-1、 179-2根据所接收的第1个通信状态,生成面向自律重构中断 185、 188或面向程序重构中断183、 186,对应于据第1个通信状态改 写确定的构成数据的地址指针a, c103-1 (184、 187)。另外,根据所接 收的第2个通信状态,生成面向程序重构中断183、 186,对应于第2 个通信状态改写确定的构成数据的地址指针b, d103-1 (184、 187)。
在生成了面向自律重构中断185、 188的情况下,预先指定的构成 数据被从构成数据高速缓冲存储器195、 196装载到PE矩阵(#1、 2) 178、 179中(197、 198),进行重构。在重构后,对应于第1个通信状 态的第l个包被从包缓冲器(#1、 2) 153、 151读出(157、 155),并 传送给PE矩阵(#1、 2) 178、 179内部的PE组178-3、 179-3 (161、 164),进行运算处理。
在生成了面向程序重构中断183、 186的情况下,OS 182接收中断 183、 186,调出面向重构函数181。
面向重构函数181读入构成数据指针a dl03-l (190),从构成数 据区域103-2读出根据构成数据指针a, c103-1 (第1个通信状态指定 的)确定的构成数据(189),并装载到构成数据高速缓冲存储器195、 196中(191、 192)。另外,被装载到构成数据高速缓冲存储器195、 196 中的构成数据,又从构成数据高速缓冲存储器195、 196被装载到PE矩 阵(#1、 2) 178、 179中(197、 198),进行重构。在重构后,对应于 第1个通信状态的第1个包被从包缓冲器(# 1、 2) 153、 151读出(157、 155),并传送给PE矩阵(弁1、 2) 178、 179内部的PE组178-3、 179-3 (161、 164),进行运算处理。
另外,面向重构函数181在PE组178-3、 179-3执行第1个包的运 算处理期间,从构成数据区域103-2先读出构成数据指针b, dl03-l(第 2个通信状态指定的)确定的构成数据(189),并装载到构成数据高速 缓冲存储器195、 196中(191、 192)。
如上所述,步骤1410的处理结束。
在步骤1403,当存储在通信状态缓冲器(#1、 2) 152、 150中的
通信状态的数量为一个时,从通信状态缓冲器(#1、 2) 152、 150读出 一个通信状态(156、 154),并向PE矩阵(#1、 2) 178、 179发送(160、 163)(步骤1407)。在读出后,处理没有结束的正在处理的通信状态的 数量变为l。
在步骤1403,当存储在通信状态缓冲器(弁l、 2) 152、 150中的 通信状态的数量不是一个而是O个时,或者在步骤1404,当存储在通信 状态缓沖器(#1、 2) 152、 150中的通信状态的数量为0个时,在通信 状态缓冲器(#1、2)152、150中存储有通信状态后,读出通信状态(156、 154),并向PE矩阵(#1、 2) 178、 179发送(160、 163)(步骤1409)。 在读出后,处理没有结束的正在处理的通信状态的数量变为1。
在数据读出部(弁l、 2) 159、 158执行步骤1407或步骤1409后, 在DRP 102中执行步骤1411。
在步骤1411, PE矩阵(井1、 2)178、 179内部的PE组178-1、 178-2、 179-1、 179-2根据所接收的通信状态,生成面向自律重构中断185、 188 或面向程序重构中断183、 186,根据通信状态改写确定的构成数据的地 址指针a, cl03-l (184、 187)。
在生成了面向自律重构中断185、 188的情况下,预先指定的构成 数据被从构成数据高速缓冲存储器195、 196装载到PE矩阵(#1、 2) 178、 179中(197、 198),进行重构。在重构后,对应于通信状态的包 被从包缓冲器(#1、 2) 153、 151读出(157、 155),并传送给PE矩阵 (#1、 2) 178、 179内部的PE组178-3、 179-3 (161、 164),进行运 算处理。
在生成了面向程序重构中断183、 186的情况下,OS 182接收中断 183、 186,调出面向重构函数181。
面向重构函数181读入构成数据指针a d103-1 (190),从构成数 据区域103-2读出根据构成数据指针a, c103-1确定的构成数据(189), 并装载到构成数据高速缓冲存储器195、 196中(191、 192)。另外,被 装载到构成数据高速缓冲存储器195、 196中的构成数据,又从构成数 据高速缓冲存储器195、 196被装载到PE矩阵(弁1、 2) 178、 179中(197、 198),进行重构。在重构后,对应于通信状态的包被从包缓冲器(#1、
2) 153、 151读出(157、 155),并传送给PE矩阵(#1、 2) 178、 179 内部的PE组178-3、 179-3 (161、 164),进行运算处理。 如上所述,步骤1411的处理结束。
在步骤1404,当存储在通信状态缓冲器(弁l、 2) 152、 150中的 通信状态的数量不是0个而是1个以上时,从通信状态缓冲器(# 1、 2)
152、 150中读出一个通信状态(156、 154),并向PE矩阵(弁1、 2) 178、 179发送(160、 163)(步骤1408)。在读出后,处理没有结束的正在处 理的通信状态的数量变为2。
在数据读出部(#1、 2) 159、 158的步骤1408后,在DRP 102中 执行步骤1412。
在步骤1412, PE矩阵(# 1、 2)178、 179内部的PE组178-1、 178-2、 179-1、 179-2根据所接收的通信状态,生成面向程序重构中断183、 186, 根据通信状态改写确定的构成数据的地址指针b, dl03-l (184、 187)。
在生成了面向程序重构中断183、 186的情况下,OS 182接收中断 183、 186,调出面向重构函数181。
面向重构函数181把在步骤1410中先读出189和装载191、 192的 构成数据,装载到PE矩阵(#1、 2) 178、 179中(197、 198),进行重 构。在重构后,对应于以前接收的通信状态的包被从包缓冲器(#1、 2)
153、 151读出(157、 155),并传送给PE矩阵(#1、 2) 178、 179内 部的PE组178-3、 179-3 (161、 164),进行运算处理。
另外,面向重构函数181在PE组178-3、 179-3执行对应于以前接 收的通信状态的包的运算处理期间,从构成数据区域103-2先读出构成 数据指针b,dl03-l(新接收的通信状态指定的)确定的构成数据(189), 并向构成数据高速缓冲存储器195、 196装载(191、 192)。
如上所述,步骤1412的处理结束。
通过以上叙述的步骤1401 1412的处理,在运算矩阵运算处理第 一包的期间,可以根据对应于第二包的通信状态,从外部存储器先读出 第二包的运算所需要的构成信息,并传送给构成数据高速缓冲存储器。
在步骤1401 1412的处理之后,在PE组178-3、 179-3进行运算 处理,新的通信状态166、 167被输出给通信状态写入部138。
通信状态写入部138把新的通信状态166、 167写入通信状态表132 (139)。
在PE组178-3、 179-3的运算处理结束后,其他PE组178-4、 179-4 对新生成的包计算TCP/IP校验和,把计算完毕的包168、 169逐一发送 给包缓沖器170、 171。在发送所有的包后,向数据读出部(# 1、 2) 159、 158、调度部142、处理中通信记录部128和包读出部119发送运算结束 通知165、 162。
调度部142接收运算结束通知165、 162时,删除INI一POINT ( # 1、 2) 1003、 1008指定的处理中通信状态STATE (#1、 2) 1002、 1007, 并且将INI—POINT (#1、 2) 1003、 1008的值增大1。但是,在增大前 的IN^P0INT (#1、 2) 1003、 1008中记载的通信状态为STATE (#1、 2) 1002-k、 1007-k时,把INI_P0INT ( # 1、 2) 1003、 1008变更为STATE (#1、 2) 1002-1、 1007-1的地址值。
处理中通信记录部128接收运算结束通知165、 162时,删除前头 表项801-1,将剩余表项801从前头表项801-1开始顺序排列。
包读出部119接收运算结束通知165、 162后,将正在处理的包数 120的值增大1。
最后,集线器175集合来自分类器104的包174、和从包缓冲器170、 171读出的包172、 173,并发送给交换器101 (176)。
根据以上叙述的装置200,在根据通信状态重构每个包的动态重构 处理器搭载装置中,在具有多个PE矩阵时,调度部将包适当分配给PE 矩阵,由此可以抑制高速缓冲存储器错误,削减构成数据的装载时间。 并且,该动态重构处理器搭载装置在运算处理第一包的过程中,先读出 第二包的运算处理所需要的构成数据并传送,由此縮短基于高速缓冲存 储器错误的装载时间。
图12表示通信状态表132存储的通信状态(F-STATE911、 B-STATE921)的变迁的一例图。
F-STATE911根据包数据和通信状态表内的F-STATE911的值而变 化。在最初阶段,F-STATE911为表示TCP连接状态的"CLOSED"(通信 停止)的^x0000' (1201)。在接收到SYN包时(图12中的rcvSYN),
F-STATE911变化为表示"SYNRCVD"(连接开始)的'0x0001, (1202)。
另外,在接收到ACK包时(图12中的rcvACK), F-STATE911变化为表
示"ESTAB"(建立通信)的'0x0003, (1203)。
在F-STATE911变为'0x0003'后,根据到达包的有效载荷而变化。 在包的有效载荷为HTTP协议中包括GET命令的情况下,F-STATE911
变化为表示请求返回客户端要求的文件的"HTTP GET"的'0x0007' (1204)。
在包的有效载荷为HTTP协议中包括具有自变量"/insert"的POST 命令的情况下,F-STATE911变化为表示请求向数据库登记客户端发送来 的项目数据的"HTTP POST INSERT"的'0x000F, (1205)。
在包的有效载荷为HTTP协议中包括具有自变量"/select"的POST 命令的情况下,F-STATE911变化为表示请求从数据库中选择项目数据的 "HTTP POST SELECT"的'0x001F, (1206)。
在包的有效载荷为HTTP协议中包括具有自变量"/check"的POST 命令的情况下,F-STATE911变化为表示请求确认数据库的项目数据登记 情况的"HTTP POST CHECK"的'0x003F, (1207)。
在包的有效载荷为HTTP协议中包括具有自变量"/update"的POST 命令的情况下,F-STATE911变化为表示请求更新数据库的项目数据的 "HTTP POST UPDATE"的'0x007F, (1208)。
在包的有效载荷为HTTP协议中包括具有自变量"/delete"的POST 命令的情况下,F-STATE911变化为表示请求删除数据库的项目数据的 "HTTP POST DELETE"的'OxOOFF, (1209)。
在包的有效载荷为HTTP协议中包括具有自变量"/UPLOAD"的GET 命令的情况下,F-STATE911变化为表示请求向服务器上传数据库的项目 数据的"HTTP GET UPLOAD"的(OxOOFF, (1210)。
并且,在F-STATE911变为'0x0007,、 'OxOOOF,、 (Ox001F,、 '0x003F,、 '0x007F,、《OxOOFF,、 (0x0107,后,根据HTTP协议的命 令而要求的处理全部结束时,F-STATE911返回为(0x0003, (1203)。另 外,在具有重复ACK的包到来时,F-STATE911被加上'0x0400,,处于 附加了请求TCP拥挤控制的快速重新传输和快速恢复的"DUP"的状态(1211)。在FIN-ACK/RST-ACK包到达时,F-STATE911与此前的值无关 地强制返回到"0x0000" (1201)。
B-STATE921在向高速缓冲存储器下载服务器数据、及向服务器上 传存储在高速缓冲存储器中的数据库的内容时变化。
在最初阶段,B-STATE921为表示TCP连接状态的"CLOSED"(通信 停止)的Wx0000' (1212)。
在F-STATE911为'0x0007'时,在客户端请求的文件没有存储在 应用装置的存储器中的情况下,B-STATE921变化为表示"SYN SENT"(连 接开始)的《0x0001, (1213)。并且,在F-STATE911为(0x0107,时, B-STATE921也变化为表示"SYNSENT"(连接开始)的<0x0001, (1213)。
另外,在SYN包被从装置200发送给后端的服务器504后,在 SYN-ACK包从服务器504到达时,在F-STATE911为'0x0007'的情况下, B-STATE921变化为表示请求从服务器504向装置200下载文件的 "DOWNLOAD"的'Ox000B, (1214)。在F-STATE911为'0x0107,的情 况下,B-STATE921变化为表示请求将在应用装置内的存储器中高速缓存 的数据库上传给服务器的"UPLOAD"的'0扁B, (1215)。
另外,在FIN-ACK/RST-ACK包到达时,B-STATE921与此前的值无 关地强制返回到"0"。
图13表示对应于通信状态使用的构成数据根据每个包而变化的状
态的、构成数据循环的一个示例图。
"Interrupt and Output Config. " (1301)经常在从包I/O向DRP
输入通信状态时执行。本构成针对所有的包实施,执行生成中断的处理、 和计算TCP/IP校验和并发送包的处理。另外,由于本构成的使用频率 最高,所以优选一直在构成数据高速缓冲存储器中进行高速缓存。
"TCP Control Config. " (1302)特用于TCP连接控制,在通信状 态的F-STATE911为(0x0000,、 (0x0001,、 '0x0003,、 '0x04**,时使 用。本构成除废弃具有异常的TCP字段序列/确认序号的包外,在通信 状态为"SYNRCVD"时进行SYN-ACK包的生成,在通信状态为"CLOSED" 时进行RST/FIN-ACK和ACK包的生成。另外,由于本构成的使用频率最 高,所以优选一直在构成数据高速缓冲存储器中进行高速缓存。
"HTTP GET Control Config. " (1303)在通信状态的F-STATE911 为'0x0007'时使用。首先,判定客户端请求文件是否存储在高速缓冲 存储器中。另外,在请求文件被高速缓存时,生成面向客户端的、包括 存储在高速缓冲存储器中的请求文件的数据的包。在请求文件没有被高 速缓存时,除生成要求与后端服务器连接的SYN包外,把B-STATE921 设定为'0x000B,。
"DOWNLOAD Control Config." (1304)在通信状态的F-STATE911 为'0x000B'时使用。本构成从服务器向应用装置下载文件。
"HTTP POST /select Control Config. " (1305)在通信状态的 F-STATE911为'0x001F'时使用。本构成根据包的select命令指定的 内容,从应用装置的存储器内的DB中选择项目数据,并生成由翻译为 HTML/XML文本格式的项目数据构成的包。
"HTTP POST /check Control Config. " (1306)在通信状态的 F-STATE911为'0x003F'时使用。本构成判定客户端指定的项目数据是 否登记在DB中,并生成通知判定结果的包。
"HTTP POST /delete Control Config. " (1307)在通信状态的 F-STATE911为'0x00FF'时使用。本构成将客户端指定的项目数据从 DB中删除,并生成通知删除结果的包。
"HTTP GET /UPLOAD Control Config. " (1308)在通信状态的 F-STATE911为'0x0107,时使用。本构成将B-STATE921设定为'0x000B,, 并生成面向后端服务器的SYN包和面向客户端的通知已开始上传的包。
"UPLOAD Control Config. " (1309)在通信状态的F-STATE911为 'OxO10B'时使用。本构成将存储在应用装置的存储器中的DB的内容 上传给服务器。
"HTTP POST /insert Control Config. 1" (1310)在通信状态的 F-STATE911为'0x000F'时使用。本构成判定从客户端插入的数据是否 已经登记在DB中。根据判定结果,在从客户端插入的数据没有登记在 DB中时,DRP使用"HTTP POST /insert Control Config. 2" (1311)。 本构成将从客户端发送的项目数据插入到应用装置的存储器内的DB中, 并生成通知客户端已正确插入数据的包。另一方面,在从客户端插入的
数据已登记在DB中时,DRP使用"HTTP POST /insert Control Config. 3" (1312)。本构成生成输出错误短信的包。
"HTTP POST /update Control Config. 1" (1313)在通信状态的 F-STATE911为'0x007F'时使用。本构成将客户端指定为上传对象的项 目数据从DB中删除。然后,通过重构,切换为"HTTP POST /update Control Config. 2" (1314)并使用。本构成将客户端上传的项目数据 登记在DB中。
在针对每个通信状态而不同的处理结束后,PE矩阵通过自律重构 被重构为最初的构成"Interrupt and Output Config."。
图15 图18表示装置200实现的服务器服务的序列的一个示例图。
图15表示基于"TCP Control Config. " (1302)的TCP连接控制。 装置200从前端501的终端接收到面向作为后端终端的服务器504的连 接请求包时(1501 ),返回把随机的值Y赋予给SEQ序号(1502)的SYN-ACK 包(1503)。在连接请求包的发送源是伪装发送源的攻击者1500时,攻 击者1500由于未能接收到SYN-ACK包,所以不知道Y的值(1504)。因 此,来自攻击者1500的ACK包(1505)不具有正确的值Y+1,被判定 为异常并废弃(1506)。另外,来自同一发送源的连续发送的SYN包(1507) 也被废弃(1508)。装置200在接收到ACK序号为Y+l的ACK包(1509) 的时间点,判定为正常通信(1510),建立TCP连接。
图16表示基于"DOWNLOAD Control Config. " (1304)的从服务器 504向装置200的文件下载、和基于"HTTP GET Control Config. "(1303) 的从装置200向前端终端501的文件下载。
首先,在存取终端501和装置200之间,通过TCP的 3-Way-Handshake传递SYN包1601、 SYN-ACK包1602、 ACK包1603,建 立TCP连接。然后,存取终端501利用HTTP的GET命令发送要求文件A 的包1604。
装置200具有高速缓存服务器文件的文件表1607、和对每个文件 记录地址指针的文件指针表1606。
在要求文件A的包1604到达后,检索文件指针表1606,判定有无 高速缓存GET命令要求的文件A (1605)。
在文件A没有被高速缓存在文件表1607中时,通过使用了 SYN包 1608、 SYN-ACK包1609和ACK包1610的TCP的3-Way-Handshake连接 到服务器504。另外,发送要求文件A的包1611,按照TCP控制来下载 服务器504具有的文件A (1618) (1611 1617),并记录在文件表1607 中。另外,在文件指针表1606中记录文件A的名称和高速缓存了文件A 的地址指针,并视为已经存储(1620)。
在文件A被高速缓存在文件表1607中时,按照TCP控制向前端终 端501返回己经高速缓存在文件表中的文件A (1622) (1624 1630)。
图17表示基于"HTTP POST /insert Control Config. 1-3" (1310 1312)的从前端终端504向装置200的项目数据的登记、基于"HTTPPOST /select Control Config. " (1305)的装置200内的项目数据的选择、 基于"HTTP POST /update Control Config. 1,2" (1313、 1314)的装 置200内的项目数据的更新、以及基于"HTTP POST /delete Control Config. " (1307)的装置200内的项目数据的删除。
装置200具有对服务器的数据库的表项进行高速缓存的数据库表 1713、和根据表项包括的项目记录多个指针的指针表1712。
在HTTP协议中,在带有请求由3个项目数据构成的表项登记的POST 命令的包1701到达装置200时,装置200使用指针表1712判定具有登 记请求的表项是否已登记在数据库表中。在没有登记时,使用3个项目 数据生成多个指针,并登记在指针表1712中。另外,在数据库表1713 中登记具有登记请求的表项。
在HTTP协议中,在带有请求删除具有特定的项目数据的表项的 POST命令的包1702到达装置200时,从指针表1712和数据库表1713 中,删除通过包括具有删除请求的项目数据的表项而生成的指针、和包 括具有删除请求的项目数据的表项。
在HTTP协议中,在带有请求更新具有特定的项目数据的表项的 POST命令的包1703到达装置200时,从指针表1712和数据库表1713 中,删除通过包括具有更新请求的项目数据的表项而生成的指针、和包 括具有更新请求的项目数据的表项。另外,把使用新的3个项目数据而 生成的指针和由3个新的项目数据构成的表项,插入指针表1712和数
据库表1713中。
在irrrp协议中,在带有请求选择具有特定的项目数据的表项的
POST命令的包1704到达装置200时,从指针表1712和数据库表1713 中选择包括具有选择请求的项目数据的表项。
在数据的登记/更新/选择/删除处理结束时,按照TCP控制,处理 结果被返回给前端终端(1705 1711)。
图18表示基于"UPLOAD Control Config. " (1309)的、从装置 200内的数据库表1713向服务器504的项目数据的上传。
装置200接收带有请求向服务器504中上传高速缓存在数据库表 1713中的项目数据的GET命令的包1801。然后,通过使用了SYN包1812、 SYN-ACK包1813和ACK包1814的TCP的3-Way-Handshake连接于服务 器504。另外,发送请求上传项目数据的包1815,按照TCP控制来上传 项目数据(1816-1823)。服务器504使用所上传的数据,更新数据库的 内容。并且,装置200按照TCP控制把上传结果通知给存取终端504 (1802-1808)。
动态重构处理器搭载装置实施以上叙述的图12和图13和图15 图18所示的处理,由此实现根据终端之间的通信状态重构每个包的多 种服务器服务。
权利要求
1.一种对通过网络收发的包进行处理的信息处理装置,具有通信状态表,存储收发所述包的终端之间的通信状态;通信状态更新部,根据所接收的所述包的内部信息、和根据所述包的所述内部信息从所述通信状态表读出的所述通信状态的组合,进行所述通信状态的变更;动态重构处理部,包括具有功能和布线可改变的运算器组的第一及第二运算矩阵、和存储多个所述运算矩阵的构成信息的构成信息存储缓冲器,接收所述包和已变更的所述通信状态,根据已变更的所述通信状态,从所述构成信息存储缓冲器获取所述构成信息,根据所获取的所述构成信息重构所述运算矩阵的所述运算器组的功能和布线;及调度部,在所述第一运算矩阵运算处理第一包时,确定在所述第一和第二运算矩阵中哪一方进行后续的第二包的运算处理。
2. 根据权利要求l所述的信息处理装置,其中, 在所述第二包需要基于和所述第一包相同的所述构成信息的处理,后续的第三包需要基于和所述第一包不同的所述构成信息的处理的情 况下,所述调度部使所述第二包待机,使所述第三包优先使用所述第二运 算矩阵,直到所述第一运算矩阵中的所述第一包的处理结束。
3. 根据权利要求l所述的信息处理装置,其中还具有 处理中通信表,记录处理中的所述包的包头;处理中通信记录部,将已开始处理的所述包的包头记录在所述处理 中通信表内,将已结束处理的所述包的包头从所述处理中通信表内删 除;及通信重复判定部,比较记录在所述处理中通信表内的所述包头和从 所述网络输入的所述包的包头,在不一致时,开始所输入的所述包的处 理。
4. 根据权利要求1所述的信息处理装置,其中还具有 处理中通信状态表,对在所述运算矩阵中正在进行运算处理或正在等待运算的所述包的通信状态进行记录;第一及第二通信状态缓冲器,临时存储所述通信状态更新部变更的 所述通信状态;及第一及第二包缓冲器,临时存储与已变更的所述通信状态相对应的 所述包,所述调度部比较已变更的所述通信状态和记录在所述处理中通信 状态表中的所述通信状态,由此确定存储已变更的所述通信状态和对应 的所述包的所述第一及第二通信状态缓冲器和所述第一及第二包缓冲 器。
5. 根据权利要求1所述的信息处理装置,其中还具有临时存储所述包的包缓冲器;通信状态缓冲器,临时存储已变更的所述通信状态;及 数据读出部,从所述包缓冲器和所述通信状态缓冲器中读出所述包 和已变更的所述通信状态,并传送给所述运算矩阵,所述数据读出部根据在所述运算矩阵中正在进行运算处理或正在 等待运算的所述包的数量、和存储在所述通信状态缓沖器中的所述通信 状态的数量,确定从所述通信状态缓冲器中读出的所述通信状态的数
6. 根据权利要求1所述的信息处理装置,其中,还具有存储部,连接于所述动态重构处理部,存储多个所述运算 矩阵的所述构成信息,所述动态重构处理部还包括运算部,从所述存储部向所述构成信息存储缓沖器传送所述构成信息,所述运算部在所述运算矩阵在进行基于第一通信状态的重构后运算处理所述第一包的期间,根据第二通信状态,从所述存储部向所述构 成信息存储缓冲器传送所述第二包的运算处理所需要的所述构成信息。
7. —种对通过网络在终端之间收发的包进行处理的信息处理装 置,其中,具有包输入输出部、动态重构处理部和存储部,所述包输入输出部包括通信状态表,存储收发所述包的所述终端 之间的通信状态;通信状态更新部,根据所接收的所述包的内部信息、 和根据所述包的所述内部信息从所述通信状态表读出的所述通信状态 的组合,进行所述通信状态的变更,所述动态重构处理部包括存储多个构成信息的构成信息存储缓冲 器;运算矩阵部,分别具有功能和布线可改变的运算器组,接收所述包 和己变更的所述通信状态,根据己变更的所述通信状态,从所述构成信 息存储缓冲器获取所述构成信息,根据所获取的所述构成信息重构所述 运算器组的功能和布线;和运算部,向所述构成信息存储缓冲器传送所 述构成信息,所述动态重构处理部对所述包进行与已变更的所述通信状 态相对应的处理,所述存储部存储多个所述构成信息,所述动态重构处理部的所述运算部在所述运算矩阵部进行基于第 一通信状态的重构后处理第一包的期间,从所述存储部向所述构成信息 存储缓冲器传送后续第二包的处理所需要的、基于第二通信状态的所述 构成信息。
8. 根据权利要求7所述的信息处理装置,其中, 所述动态重构处理部的所述运算矩阵部由根据所述构成信息重构所述运算器组的功能和布线的第一及第二运算矩阵构成,所述包输入输出部还包括调度部,在所述第一运算矩阵处理所述 第一包时,确定在所述第一和第二运算矩阵中哪一方进行所述第二包的 处理。
9. 根据权利要求7所述的信息处理装置,其中,所述包输入输出部还包括 临时存储所述包的包缓冲器;通信状态缓冲器,临时存储已变更的所述通信状态;及 数据读出部,从所述包缓冲器和所述通信状态缓冲器中读出一个或 多个所述包、和己变更的所述通信状态,并传送给所述运算矩阵部,所述数据读出部根据在所述运算矩阵部中正在进行运算处理或正 在等待运算的所述包的数量、和存储在所述通信状态缓冲器中的所述通 信状态的数量,确定从所述通信状态缓冲器中读出的所述通信状态的数量o
10. 根据权利要求7所述的信息处理装置,其中,所述包输入输出部还包括处理中通信表,记录处理中的所述包的包头;处理中通信记录部,将已开始处理的所述包的包头记录在所述处理 中通信表内,将己结束处理的所述包的包头从所述处理中通信表内删 除;及通信重复判定部,比较记录在所述处理中通信表内的所述包头和从 所述网络输入的所述包的包头,仅在不一致时,开始所输入的所述包的 处理。
11. 根据权利要求7所述的信息处理装置,其中, 所述包输入输出部还包括分类器,进行从所述网络输入的所述包的分类; 多个包缓冲器,存储所述分类器分类的所述包;及 包读出部,从所述多个包缓冲器中读出已分类的所述包。
12. 根据权利要求8所述的信息处理装置,其中,在所述第二包需要基于和所述第一包相同的所述构成信息的处理, 后续的第三包需要基于和所述第一包不同的所述构成信息的处理的情况下,所述调度部使所述第二包待机,使所述第三包优先使用所述第二运 算矩阵,直到所述第一运算矩阵中的所述第一包的处理结束。
13. 根据权利要求8所述的信息处理装置,其中, 所述包输入输出部还包括处理中通信状态表,对在所述第一及第二运算矩阵中正在进行运算 处理或正在等待运算的所述包的通信状态进行记录;第一及第二通信状态缓冲器,临时存储所述通信状态更新部变更的 所述通信状态;及第一及第二包缓冲器,临时存储与已变更的所述通信状态相对应的 所述包,所述调度部比较已变更的所述通信状态和记录在所述处理中通信 状态表中的所述通信状态,由此确定存储已变更的所述通信状态和对应 的所述包的所述第一及第二通信状态缓冲器和所述第一及第二包缓冲 器。
14. 根据权利要求ll所述的信息处理装置,其中, 所述包读出部从过去读出的时间为最早的所述包缓冲器中优先读出已分类的所述包,开始所述通信状态更新部的所述通信状态的变更。
15. 根据权利要求ll所述的信息处理装置,其中, 所述包输入输出部还包括集线器,将在所述分类器中被判定为不需要处理的所述包、和通过所述运算矩阵部的运算处理新生成的包集合并 输出°
16. 根据权利要求13所述的信息处理装置,其中, 所述包输入输出部还包括第一和第二数据读出部,从所述第一及第二包缓冲器和所述第一及第二通信状态缓冲器中读出所述包和已变 更的所述通信状态,并分别传送给所述第一和第二运算矩阵,所述第一和第二数据读出部根据在所述第一和第二运算矩阵中正 在进行运算处理或正在等待运算的所述包的数量、和存储在所述第一和第二通信状态缓冲器中的所述通信状态的数量,确定从所述第一和第二 通信状态缓冲器中读出的所述通信状态的数量。
17. —种信息处理系统,包括服务器、通过网络向所述服务器请求 数据的终端、和信息处理装置,所述信息处理装置接收在所述服务器和 所述终端之间传送的包,执行与收发所述包的所述服务器和所述终端之 间的通信状态对应的处理,其中,所述信息处理装置具有通信状态表,存储所述服务器和所述终端之间的所述通信状态;通信状态更新部,根据所接收的所述包的内部信息、和根据所述包 的所述内部信息从所述通信状态表读出的所述通信状态的组合,进行所 述通信状态的变更;动态重构处理部,包括具有功能和布线可改变的运算器组的第一及 第二运算矩阵、和存储多个所述运算矩阵的构成信息的构成信息存储缓 冲器,接收所述包和已变更的所述通信状态,根据已变更的所述通信状 态,从所述构成信息存储缓冲器获取所述构成信息,根据所获取的所述 构成信息重构所述运算矩阵的所述运算器组的功能和布线;调度部,在所述第一运算矩阵处理第一包时,确定在所述第一和第 二运算矩阵中哪一方进行后续的第二包的处理,在所述动态重构处理部中,对所述包执行与已变更的所述通信状态 相对应的运算处理,将其处理结果经由所述网络发送给所述服务器或所 述终端。
18. 根据权利要求17所述的信息处理系统,其中, 所述通信状态表存储的所述通信状态包括所述服务器和所述终端之间的传输端口层协议的变迁/拥挤状态;应用层协议的类型;所述应 用层协议正在执行中的命令和所述命令的自变量的类型;和所述命令的 执行进展状态。
19. 根据权利要求17所述的信息处理系统,其中, 所述信息处理装置还具有存储多个所述构成信息的存储部, 所述动态重构处理部还包括从所述存储部向所述构成信息存储缓 冲器传送所述构成信息的运算部,所述运算部在所述运算矩阵正在运算 处理所述第一包的期间,从所述存储部向所述构成信息存储缓冲器传送 运算所述第二包所需要的所述构成信息。
20.根据权利要求17所述的信息处理系统,其中,在所述第二包需要基于和所述第一包相同的所述构成信息的处理, 后续的第三包需要基于和所述第一包不同的所述构成信息的运算处理 的情况下,所述信息处理装置的所述调度部使所述第二包待机,使所述第二运 算矩阵进行所述第三包的运算处理,直到所述第一运算矩阵中的所述第 一包的运算处理结束。
全文摘要
本发明提供一种动态重构处理器搭载装置,可以小型节能而且高性能地实现数据库等应用层的服务器服务。在进行每个包的重构的动态重构处理器搭载装置的动态重构处理部(102)中,设置多个PE矩阵(178、179)。并且,在包I/O(100)设置调度部(142),当PE矩阵(178)处理第一包时,调度部(142)确定通过哪个PE矩阵进行后续包的处理。在第二包需要基于和第一包相同的构成信息的处理、且第三包需要基于和第一包不同的构成信息的处理的情况下,调度部(142)使第二包待机,使第三包优先使用第二PE矩阵,直到第一包的处理结束。
文档编号H04L12/56GK101345701SQ20071016007
公开日2009年1月14日 申请日期2007年12月21日 优先权日2007年7月11日
发明者矶部隆史 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1