计算机系统和通信路由改变方法

文档序号:6533459阅读:234来源:国知局
计算机系统和通信路由改变方法
【专利摘要】本发明的计算机系统包括:控制器;多个交换机,用于基于通过控制器设定的流条目执行接收分组的中继处理;以及多个存储系统。控制器基于从多个存储系统获取的资源数据改变多个交换机的每个交换机的流条目,从而将多个存储系统的一个存储系统改变为客户端终端的访问目的地。因此,可以管理和使用整个网络系统,不需要了解多个存储系统的每个存储系统以及整个网络的情况。
【专利说明】 计算机系统和通信路由改变方法

【技术领域】
[0001]本发明涉及计算机系统和通信路由改变,尤其涉及计算机系统和使用开放流技术的通信路由改变方法。

【背景技术】
[0002]在传统的存储系统中,每个存储体的控制器部分执行所支配的存储系统的群集控制。因此,应当通过利用全球名称空间在云环境下的存储系统中实现群集控制时,管理者需要向每个存储体的控制器部分设定存储系统之间的协作功能。此外,存储系统需要具有与控制相对应的功能。
[0003]此外,在传统的存储系统中,通过存储系统与认证服务器(例如ADS (活动目录服务器)和LDAP (轻量目录访问协议)服务器)的协作功能来实现用于用户的对存储系统的优先级访问控制。
[0004]另一方面,在云环境下的系统中,要求通过基于策略转移到新的网络电器产品和存储系统,继续向用户提供服务,不需要了解具体网络电器产品和存储系统的制造步骤以及存储系统和网络的情况。例如,通过开放流技术可以实现这种系统,开放流技术在通过外部控制器的中心控制下控制每个交换机的传送操作(参照非专利文献I)。
[0005]使用开放流技术的网络交换机(下面称为“开放流交换机(0FS)”)将协议类型和端口号码等等详细数据保持在流表中,且能执行流控制和统计数据的收集。开放流交换机(OFS)的流表通过独立于开放流交换机(OFS)提供的控制器(下面称为“开放流控制器(OFC) O来设定。开放流控制器(OFC)向通信路由上的开放流交换机(OFS)设定节点之间的通信路由和传送操作(中继操作)。此时,开放流控制器(OFC)向开放流交换机(OFS)的流表设定流条目和动作,流条目有关于指定分组的流(分组数据)的规则,动作规定分组的流的处理。例如,在非专利文献I中规定了向流表设定的流条目的内容。
[0006]通信路由上的开放流交换机(OFS)根据开放流控制器(OFC)设定的流条目确定接收分组的传输目的地,并执行接收分组的传送处理。因此,网络上的节点可以利用开放流控制器(OFC)设定的通信路由,与另一个节点往来传输和接收分组。也就是说,在使用开放流技术的计算机系统中,整个系统的通信可以服从独立于执行传送处理的开放流交换机(OFS)提供的开放流控制器(OFC)的中心控制和管理。
[0007]开放流控制器(OFC)响应于来自开放流交换机(OFS)的请求计算通信路由,并更新通信路由上每个开放流交换机(OFS)中的流表。具体而言,在接收其本身流表中未规定的分组时,开放流交换机(OFS)将该分组通知开放流控制器(OFC)。开放流控制器(OFC)基于所通知的分组的头数据,产生用于指定源和目的地的流条目(规则+动作),并更新通信路由上每个开放流交换机(OFS)的流表。
[0008]因为开放流控制器(OFC)可以以LI至L4等级的头数据规定的流为单位执行客户端终端之间的传送控制,所以开放流控制器(OFC)可以选择性地将网络虚拟化。因此,减轻了物理配置的约束,使得虚拟租户环境的构建变得容易,并且可以减少由于横向扩展所致的初始投资成本。
[0009]此外,例如在JP 2002-207629A (专利文献 I)、JP 2004-21818A (专利文献 2)、JP
2005-323245A(专利文献3)和JP2006-516054 (专利文献4)中公开了存储系统的技术。
[0010]在JP 2002-207629A所述的系统中,向存储体设定可用容量的两种上限,并基于用户处理的数据量超过哪个上限来确定存储体。JP 2004-21818A中公开的系统利用其中传输源存储标识符与传输目的地存储标识符彼此相关的表以及识别存储访问流的标识符,将访问流分离,并执行用于每个访问流的优先级控制。JP 2005-323245A中公开的虚拟交换机利用其中保证通信质量的处理与访问流彼此相关的过滤表,根据通信质量执行流控制。JP
2006-516054A中公开的IP处理器执行通道分组分类、策略处理和安全处理,并保持最大线路速度。
[0011]引用列表
[0012][专利文献1]JP 2002-207629A
[0013][专利文献2] JP 2004-21818A
[0014][专利文献3] JP 2005-323245A
[0015][专利文献4] JP 2006-516054A
[0016][非专利文献 I] OpenFlow Switch Specificat1n Vers1n 1.0.0 (Wire Protocol0x01)2009 年 12 月 31 日


【发明内容】

[0017]传统上,利用群集技术实现高可靠性存储系统。在群集技术中,将连接网络的控制器部分复制,以保证单个磁盘控制器部分的操作。近年来,有这样的配置,其中在云环境下的存储系统中以及通过全球名称空间虚拟化的存储系统中,更多的控制器部分控制一个系统。因此,存储系统之间的复杂协作功能变得必要。
[0018]此外,为了在这种系统中执行用户的优先级访问控制,存储系统与认证服务器(例如ADS和LDAP服务器)的协作变得必要。因此,为了在云环境下的多个存储系统中实现用户的优先级访问控制,需要为每个存储系统设定用户的数据。
[0019]传统网络系统由用于多个功能的多个网络电器产品配置,因此具有复杂的配置。为了网络电器的维护,服务人员需要熟悉维护方法。
[0020]如上所述,在具有通过多个控制器控制的系统的网络系统中,必须为每个系统执行系统之间的协作以及用于优先级访问控制的设定。在这种情况下,在管理和使用整个网络系统时,用户需要掌握通过控制器控制的每个系统的情况以及整个网络系统的情况。此夕卜,因为应当根据网络电器产品执行维护,所以维护管理变得复杂。
[0021]因此,本发明的目的是在具有多个系统的网络系统中管理和使用整个网络系统,不需要了解多个系统的每个系统以及整个网络系统的情况。
[0022]本发明的另一目的是以具有多个系统的网络系统中的用户为单位简单地设定优先级访问控制。
[0023]在一个方案中,本发明的计算机系统包括:控制器;多个交换机,用于基于通过控制器设定的流条目执行接收分组的中继处理;以及多个存储系统。控制器基于从多个存储系统收集的资源数据改变多个交换机的流条目,以将多个存储系统的一个存储系统改变为客户端终端的访问目的地。
[0024]在另一个方案中,根据本发明的通信路由改变方法包括步骤:通过控制器为通信路由上的交换机设定规定交换机中接收分组的目的地的流条目;以及基于从多个存储系统收集的资源数据,通过控制器改变交换机的流条目,以将多个存储系统的一个存储系统改变为客户端终端的访问目的地。
[0025]优选通过记录介质中存储并通过计算机执行的程序来实现本发明的通信路由改变方法。
[0026]根据本发明,在具有多个存储系统的网络系统中,可以管理和使用整个网络系统,不需要了解多个存储系统的每个存储系统以及整个网络系统的情况。
[0027]此外,根据本发明,在具有多个系统的网络系统中可以简单地设定以用户为单位的优先级访问控制。

【专利附图】

【附图说明】
[0028]根据以下示例性实施例的描述并结合附图,以上发明的目的、优点和特征将变得更加清楚。
[0029]图1是示出根据本发明示例性实施例的计算机系统的配置的示意图。
[0030]图2是示出根据本发明示例性实施例的开放流控制器的配置的示意图。
[0031]图3是示出本发明中资源数据的配置的示例的示意图。
[0032]图4A是示出本发明中位置策略数据的配置的示例的示意图。
[0033]图4B是示出本发明中位置策略数据的配置的另一示例的示意图。
[0034]图5是示出本发明中访问策略数据的配置的示例的示意图。
[0035]图6是示出根据本发明示例性实施例的开放流交换机的配置的示意图。
[0036]图7是示出根据本发明示例性实施例的计算机系统中流切换的操作的示例的流程图。

【具体实施方式】
[0037](概述)
[0038]根据本发明的开放流控制器(OFC)保持多个存储系统的每个系统的资源数据(例如,关于存储系统的性能、负载以及目录/文件位置的数据),并通过基于资源数据的流控制,由用户将存储系统确定为访问目的地。此外,根据本发明的开放流控制器(OFC)通过执行基于用户优先级的流控制,根据用户优先级实现访问控制。在这种方式下,本发明的计算机系统通过由开放流控制器(OFC)执行存储系统的资源管理,容易地实现存储系统的位置管理和优先级访问控制,不需要向存储系统增加特殊功能。本发明的计算机系统优选用于内部网络和互联网/云环境等等。
[0039]下面参照附图描述本发明的示例性实施例。在附图中,相同或相似的附图标记表示相同或相似的组件。
[0040](计算机系统的配置)
[0041]在本发明的计算机系统中,根据开放流协议执行通信路由的构建和分组的传送控制。图1是示出根据本发明示例性实施例的计算机系统的配置的示意图。参照图1,本发明的计算机系统包括控制器组100、交换机组200、客户端终端组300和存储系统组400,控制器组100有多个开放流控制器(OFC) 101至1i,交换机组200有多个开放流交换机(OFS) 201至20 j,客户端终端组300有多个客户端终端301至30k,存储系统组400有多个存储系统401至40η。这里,1、j、k和η是自然数。
[0042]开放流控制器(OFC) 101至1i通过安全网络500与开放流交换机(OFS) 201至20 j相连接,并通过网络600与存储系统401至40η相连接。开放流控制器(OFC) 101至1i通过控制网络500为开放流交换机(OFS) 201至20j的流表23设定流条目(规则+动作)。开放流交换机(OFS) 201至20j通过控制网络500将第一分组通知开放流控制器(OFC) 101至 1i0
[0043]优选确定分别通过开放流控制器(OFC) 101至1i控制的开放流交换机(OFS),并且多个开放流控制器(OFC)可以控制相同的开放流交换机(OFS)。在这种情况下,开放流交换机(OFS)将第一分组通知开放流控制器(OFC),且多个开放流控制器(OFC)基于第一分组的头数据,确定是否要向开放流交换机(OFS)设定流条目。例如,可以为每个开放流控制器(OFC)设定的分组流被确定,并且符合可设定流(规则)的开放流控制器(OFC)向作为分组的第一分组的通知源的开放流交换机(OFS)的流表设定流条目。
[0044]每个客户端终端301至30k是具有CPU、网络接口(Ι/F)和存储器(未示出)的计算机系统,并通过执行存储器中的程序,与存储系统组400通信。客户端终端组300通过交换机组200与存储系统组400相连接。每个客户端终端301至30k通过多个开放流交换机(OFS) 201至20 j的任意个访问多个存储系统401至40η的任一个。在这种情况下,通过控制网络500,每个开放流交换机(OFS) 201至20j基于通过开放流控制器(OFC) 101至1i的任意个设定的流表18,执行从客户端终端301至30k的任一个传送的分组的中继处理。
[0045]每个存储系统401至40η具有控制器和存储部41 (未示出)。存储部41通过磁盘阵列例示,磁盘阵列有多个物理磁盘(RAID:独立磁盘冗余阵列)、逻辑磁盘、SAN(存储区域网络)或NAS(网络附加存储)。当存储系统40η是磁盘阵列时,通过磁盘控制器(未示出)控制的多个物理磁盘来实现存储部41。或者,当存储系统40η是SAN或NAS时,通过服务器(未示出)控制的诸如磁盘阵列的存储单元来实现存储部41。
[0046]存储部41所属的存储系统40η的系统数据、性能数据、负载数据和目录/文件位置数据存储在存储部41中。这里,系统数据包含用于指定存储系统40η (标识符和地址数据)以及通信标准的数据。性能数据包含指示系统性能的数据,例如存储系统40η的数据传送率、每个单位时间的输入/输出(I/O)次数、响应时间和存储器容量。负载数据包含指示对存储系统40η的访问负载(例如,响应时间、交易数量、数据传送数量、延迟)以及存储系统40η的控制器(未示出)的处理负载(CPU负载平均值等等)的数据。此外,优选负载数据包含指示存储系统40η中有没有故障的数据以及指示故障内容的数据。此外,优选负载数据包含指示存储系统40η的使用禁止的数据(例如,指示维护时间的数据)。存储系统40η收集(测量)负载数据,并按时或者在用户指定的时间将负载数据记录在存储部41中。目录/文件位置数据是指定存储部41中设定的文件的目录和位置的数据。可以为每个存储系统管理存储系统40η的系统数据、性能数据、负载数据以及目录/文件位置数据,并记录于每个存储部41,也可以记录于不同于存储部41的存储体(未示出)(例如,服务器中充当控制器的存储体)。
[0047]在存储系统组400中,每个存储系统401至40η通过利用外壳中的复制,具有一般的同步功能。
[0048]下面参照图2至图5描述根据本发明的开放流控制器(OFC) 1i的配置的细节。虽然下面要描述开放流控制器(OFC) 1i的配置,但是其他开放流控制器(OFC) 101至10(1-l)具有与开放流控制器(OFC)1i相同的配置,并省略描述。
[0049]图2是示出根据本发明示例性实施例的开放流控制器(OFC) 1i的配置的示意图。开放流控制器(OFC) 1i具有流控制部13,流控制部13通过开放流技术控制系统的分组传送中的通信路由分组传送处理。在开放流技术中,控制器(在这种情况下,是开放流控制器(OFC) 1i)根据路由策略(流条目:流+动作),以流为单位向开放流交换机(OFS) 20 j设定路由数据,并执行路由控制和节点控制(具体参照非专利文献I)。因此,路由控制功能独立于路由器和交换机,并且通过控制器的整体控制,最佳路由和流量管理变为可能。应用开放流技术的开放流交换机(OFS) 20j并非像传统路由器和交换机那样是分组和帧的单位,但是将通信处理为端到端的流。
[0050]开放流控制器(OFC)通过具有CPU(未示出)、网络Ι/F和存储器的计算机实现。在开放流控制器(OFC)1i中,通过CPU执行诸如存储器的记录介质中存储的程序实现图2所示资源管理部11、位置确定部12和流控制部13的功能。此外,资源数据15、位置策略数据
16、访问策略数据17和流表18被记录在开放流控制器(OFC) 1i的存储器(未示出)中。开放流控制器(OFC)1i与设定控制台10相连接,且位置策略数据16通过设定控制台10设定。此外,在通过交换机组200与网络相连接之后,可通过网络来设定位置策略数据16。注意,资源数据15和位置策略数据16可以被另一个开放流控制器(OFC)共享。例如,在从控制器组100中的另一个开放流控制器(OFC)的可访问条件下,将资源数据15和位置策略数据16记录在存储器(未示出)中。或者,将资源数据15和位置策略数据16记录在开放流控制器(OFC) 101至1i的公共存储体(未示出)中。
[0051]资源管理部11收集每个存储系统401至40η的系统数据、性能数据、负载数据和目录/文件位置数据,以记录在存储体(未示出)中作为资源数据15。例如,资源管理部11通过使用SNMP (简单网络管理协议)的方法以及从位于存储系统40η中的负载收集代理(未示出)收集数据的方法,收集资源数据15。
[0052]图3是示出本发明中资源数据15的配置的示例的示意图。每个存储系统401至40η的系统数据、性能数据、负载数据和目录/文件位置数据彼此相关,并被记录为系统数据151、性能数据152、负载数据153和位置数据154。因此,开放流控制器(OFC) 1i可以为每个存储系统管理性能、负载、故障情况和目录/文件位置。
[0053]在位置策略数据16中,将可用存储系统与每个客户端终端相关并为了每个客户端终端(为了每个用户)记录。图4Α和图4Β是示出根据本发明的位置策略数据16的配置的不例的不意图。参照图4Α,将指定客户端终端的用户ID 161以及在客户端终端指定可用存储系统时使用的可用系统数据162与位置策略数据16相关并为位置策略数据16设定。例如,例如,将存储系统401设定为可用于客户端终端301时,将表示客户端终端301的用户ID 161以及表示存储系统401至403的系统数据151与位置策略数据16相关并设定为位置策略数据16。或者,如图4Β所示,可将优先级163进一步与用户ID 161相关。例如,在客户端终端301具有高于客户端终端302的优先级时,将为“I”的优先级163与表示客户端终端301的用户ID 161相关联,并将为“2”的优先级163 (低于为“I”的优先级163)与表示客户端终端302的用户ID 161相关联,并将它们设定为位置策略数据16。
[0054]根据存储系统组400的全部目录/文件位置数据(资源数据),位置确定部12将客户端终端组300的目录/文件位置分配给存储系统401至40η,并将数据记录作为访问策略数据17。此时,位置确定部12根据位置数据153掌握用于每个位置的负载,并根据负载和优先级分配访问目的地。因此,分配通过客户端终端组300访问的文件(包含写入/读取文件和目录,以及文件属性操作)。
[0055]具体而言,位置确定部12基于资源数据15和位置策略数据16确定每个客户端终端301至30k(包含文件属性的写入/读取操作)访问的目录/文件位置(存储系统)。这里,位置确定部12参考资源数据15,以确认为存储系统设定的目录/文件位置,并掌握存储系统的状态(例如,性能和负载)。此外,位置确定部12参考位置策略数据16,以指定可通过客户端终端30k使用的存储系统。位置确定部12考虑存储系统的性能和负载,从终端可使用的存储系统中选择位置(存储系统),作为用于客户端终端30k的访问目的地。例如,在存储系统40η的负载超过之前设定的阈值时,位置确定部12改变客户端终端的访问目的地,从存储系统40η到另一个存储系统。此时,优选位置确定部12考虑存储系统的性能和负载,首先设定具有高性能的存储系统或者小负载的存储系统作为访问目的地。在确定客户端终端30k的访问目的地以后,位置确定部12记录在存储体中作为访问策略数据17。
[0056]如同图4B所示的访问策略数据17,在为每个客户端终端设定优先级163时,优选位置确定部12考虑优先级163,确定目录/文件位置(存储系统)作为客户端终端的访问目的地。例如,根据优先级事先设定访问位置(存储系统),并从对应于设定对象的客户端终端的优先级的存储体中确定访问目的地。注意,除了本示例性实施例所示的情况之外,如果考虑存储系统的负载和性能,以及用户的优先级,可以选择性地设定用于确定访问目的地的算法。
[0057]图5是示出根据本实施例的访问策略数据17的配置的示例的示意图。访问策略数据17是表示目录/文件位置作为用于每个用户的访问目的地的数据(例如,作为存储对象的存储系统)。参照图5,用于指定客户端终端的用户ID 161以及用于指定作为客户端终端访问目的地和目录/文件位置的存储系统的访问对象系统数据172彼此相关,并在访问策略数据17中设定。当客户端终端的访问目的地改变时,用于指定改变之后的存储系统和目录/文件位置的数据被记录在访问对象系统数据172中。此时,优选用于指定访问目的地的改变之前的存储系统的数据与改变之后的数据彼此相关,并被记录在访问对象系统数据172中。作为访问对象系统数据172记录并指定存储系统的数据与对应的系统数据151相关,并且用于指定目录/文件位置的数据与对应的位置数据154相关。通过参照这种访问策略数据17,位置确定部12和流控制部13可以指定作为当时的客户端终端30k的访问目的地设定的存储系统和目录/文件位置,以及在改变之前作为访问目的地设定的存储系统。也就是说,根据本发明的开放流控制器(OFC) 1i可以管理存储了用于每个客户端终端的文件的存储系统的目录/文件位置。
[0058]因此,流控制部13根据流表18执行用于每个开放流交换机(OFS) 20 j的流条目的设定或删除。开放流交换机(OFS) 20j参照设定的流条目,并根据接收分组的头数据(例如,分组数据的中继和抛弃)执行与规则对应的动作。下面描述规则和动作的细节。
[0059]流控制部13根据来自开放流交换机(OFS) 20 j的第一分组的接收通知以及通过位置确定部12的访问策略数据17的改变,向开放流交换机(OFS) 20 j执行流条目(规则+动作)的设定、删除或更新。这里,第一分组表示不符合向开放流交换机(OFS) 20j设定的流条目(规则)的分组。
[0060]用于指定流条目的流标识符、用于指定流条目的设定对象(开放流交换机(OFS) 20 j)的标识符、路由数据以及流条目(规则和动作数据)彼此相关并且被设定给流表
18。为了作为开放流控制器(OFC)1i的控制对象的全部开放流交换机(OFS) 20j产生的流条目被设定给流表18。此外,在流表18中可以限定处理通信(例如,关于QoS的数据以及用于每个流的加密)的方法。
[0061]例如,在向流条目设定的规则中限定了从OSI (开放系统互连)参考模型的层I至层4使用的、在TCP/IP的分组的头数据中包含的地址和标识符的组合。例如,将层I的物理端口、层2的MAC地址、VLAN标签(VLAN id)、层3的IP地址以及层4的端口号码的组合设定为规则。注意,可将优先级(VLAN优先级)给予VLAN标签。
[0062]这里,可以向预定范围中的规则设定诸如端口号码和地址的标识符。此外,优选可以为了规则区分传输源和目的地的标识符以及地址。例如,将MAC目的地地址的范围、用于指定连接目的地中的应用的目的地端口号码的范围以及用于指定连接源中的应用的传输源端口号码的范围设定为规则。此外,可将用于指定数据传送协议的标识符设定为规则。
[0063]例如,在动作数据中规定了 TCP/IP的分组的处理方法。例如,设定表示在中继情况下是否中继接收分组和传输目的地的数据。此外,可以向动作设定分组的拷贝以及指示要抛弃分组的数据。路由数据是用于指定将流条目(规则+动作)应用于哪个路由的数据。
[0064]流控制部13基于访问策略数据17计算通信路由,并产生通信路由上要向开放流交换机(OFS) 20 j设定的流条目。例如,在响应于第一分组的通知产生流条目时,流控制部13基于第一分组的头数据指定传输源或传输目的地的客户端终端,并参考访问策略数据17,以指定作为客户端终端的访问目的地(用户ID 161)设定的存储系统和目录/文件位置(访问对象系统数据172)。流控制部13计算指定的客户端终端与存储系统(文件位置)之间的通信路由,并产生通信路由上要向开放流交换机(OFS) 20j设定的流条目,以向流表18以及开放流交换机(OFS) 20j的流表23设定。
[0065]或者,在响应于访问策略数据17的改变(更新)产生流条目时,流控制部13基于改变的访问策略数据17的用户ID 161指定客户端终端,并基于与用户ID 161相关的访问对象系统数据172指定作为访问目的地的存储系统。流控制部13计算指定的客户端终端与存储系统之间的通信路由,并产生通信路由上要向开放流交换机(OFS) 20j设定的流条目,以向流表18以及开放流交换机(OFS) 20 j的流表23设定。
[0066]通过上述配置,本发明的开放流控制器(OFC)1i除了来自开放流交换机(OFS) 20j的第一分组的接收通知之外,根据存储系统的情况改变,通过将访问策略数据17的改变用作触发,产生用于传送分组的流条目。此外,开放流控制器(OFC)1i向计算的通信路由上的开放流交换机(OFS) 20 j设定流条目。因此,根据负载分配和位置策略设定和改变通信路由变为可能。在本发明中,因为是利用开放流协议来执行通信控制路由,所以不需要让用户在维护时了解负载分配和避错,就可以确定作为访问目的地的目录/文件位置,并且作为系统,分配布置变为可能。
[0067]图6是示出根据本发明示例性实施例的开放流交换机20j的配置的示意图。因此,开放流交换机(OFS) 20 j基于开放流控制器(OFC) 1i设定(更新)的流表23,确定接收分组的处理方法(动作)。开放流交换机(OFS) 20 j具有传送部21和流管理部22。传送部21和流管理部22可以配置为硬件或者配置为通过CPU执行的软件。
[0068]通过开放流控制器(OFC) 1i设定的流表23被存储在开放流交换机(OFS) 20 j的存储体(未示出)中。流管理部22向流表23设定从开放流控制器(OFC) 1i获取的流条目(规则+动作)。在接收分组的头数据不符合(适合)流表23中记录的规则时,流管理部22将该分组确定为第一分组,并向开放流控制器(OFC) 1i通知第一分组的接收,以及发出流条目的设定请求。此时,开放流交换机(OFS) 20 j向控制器组100中预定的开放流控制器(OFC)执行第一分组的通知。
[0069]流管理部22设定从开放流控制器(OFC) 1i向流表23传输的流条目(规则+动作)。在本发明中,通过将开放流交换机(OFS) 20 j中第一分组的接收以及存储系统的负载改变用作触发,更新开放流交换机(OFS) 20j的流表23。
[0070]当接收分组的头数据符合(匹配)流表23中记录的规则时,通过传送部21将分组传送给另一个开放流交换机(OFS)或存储系统40η。具体而言,传送部21指定与符合(一致于)分组的头数据的规则相对应的动作。传送部21将分组传送给动作指定的目的地节点(开放流交换机(OFS) 20 j或存储系统40η)。开放流交换机(OFS) 20 j的流表23的设定以及分组传送操作是基于开放流协议(参考非专利文献I)。
[0071](操作)
[0072]参照图1和图7,描述本发明中流切换操作的示例。图7是示出通过本发明示例性实施例中的计算机系统的流切换操作的示例的流程图。下面描述通过开放流控制器(OFC) 1i的流切换操作。
[0073]首先,开放流控制器(OFC) 1i从存储系统401至40η收集资源数据15 (系统数据、性能数据、负载数据和目录/文件位置数据)(步骤S101)。可根据开放流控制器(OFC) 1i的请求执行资源数据15的收集,并且可通过每个存储系统401至40η独立地通知资源数据15的收集。此外,可以按时执行资源数据15的收集,也可以在为每个存储系统预设的定时执行资源数据15的收集,或者响应于负载的增加超过阈值或者故障的发生执行资源数据15的收集。
[0074]在更新资源数据15时,开放流控制器(OFC) 1i的位置确定部12参考负载数据153,以指定发生故障的存储系统或者负载超过阈值的存储系统(步骤S102、S103)。这里,在本身管理并且负载不超过阈值的存储系统中,当任何一个存储系统中都没有故障时,开放流控制器(OFC) 1i的位置确定部12待机,直到资源数据15被更新(步骤S102中“否”、步骤S103中“否”)。
[0075]参考更新的负载数据153,在有发生了故障的存储系统以及负载超过阈值的存储系统时,位置确定部12改变访问目的地的位置(步骤S104)。具体而言,位置确定部12参考访问策略数据17,以将具有发生了故障的存储系统或者负载超过阈值的存储系统的客户端终端指定为访问对象,客户端终端参考位置测量数据16,以指定可访问的存储系统。位置确定部12基于性能数据152和负载数据153确定指定的客户端终端与可访问存储系统的组合中最佳的组合,并将存储系统和目录/文件位置确定为客户端终端的访问目的地,并改变访问策略数据17。此时,如图4B所示,在向位置测量数据16设定用于每个客户端终端的优先级163时,优选考虑优先级163,位置确定部12将存储系统确定为客户端终端的访问目的地。因此,根据客户端终端的优先级控制变为可能。
[0076]在更新访问策略数据17时,流控制部13基于改变的访问策略数据17执行流切换(步骤S105)。具体而言,流控制部13首先参考改变的访问策略数据17,以指定作为切换对象的流的点(改变之前的客户端终端和访问目的地存储系统)以及切换之后(改变之后)的流的点(改变之后的客户端终端和访问目的地存储系统)。接着,流控制部13广生与改变之后的流相对应的流条目,以向对应于流和流表18的通信路由上的开放流交换机(0FS)20j设定。对应于流和流条目的设定的通信路由的计算是基于开放流协议(参见非专利文献I)。此时,优选从流表18和23将与新设定的流条目具有相同规则的流条目删除,或者向不能用的状态设定。
[0077]如上所述,根据本发明的开放流控制器(OFC) 1i根据存储系统组400中的负载状态以及故障发生情况,通过从外部单元控制开放流交换机(OFS) 20j,实现路由控制、故障恢复和负载分配。例如,在客户端终端301、302和303访问的存储系统401中发生了故障或者出现重载状态,并且设定重载状态时,开放流控制器(OFC) 1i将流向具有客户端终端301、302和303作为端点的存储系统401的流A切换为具有客户端终端301和存储系统402作为端点的流B、具有客户端终端302和存储系统403作为端点的流C以及具有客户端终端303和存储系统403作为端点的流D。在这种方式下,即使存储系统401停止服务,通过开放流控制器(OFC)对流的切换控制,也变得可以执行诸如存储系统401的硬件交换和软件恢复这样的维护,对客户端终端301至303没有任何影响。也就是说,根据本发明,通过利用开放流协议实现N群集控制功能,变得可以继续从客户端终端301、302和303对存储系统的访问,并且可以保证存储系统的冗余度,即使作为访问目的地的存储系统停止工作并变为重载状态。
[0078]在图7所示的示例中,描述了存储系统中发生了故障或者根据流切换流的特定示例。本发明不限于该示例,并且可以基于停止存储系统的数据执行上述示例。例如,在存储系统40η中必须维护时,需要停止存储系统。在这种情况下,可以改变位置策略数据16的可用系统数据162,以禁止使用存储系统40η。或者,通过开放流控制器(OFC) 1i获取数据,可以在存储系统40η的资源数据中设定指示存储系统40η的停止的数据,并且对于开放流控制器(OFC)1i而言,可将具有停止的存储系统作为访问目的地的流切换为另一个流。
[0079]此外,利用为每个客户端终端设定的优先级163,通过开放流控制器(OFC)对每个客户端终端的优先级流控制变为可能,如同图4Β所示的位置策略数据16。下面作为示例,描述将客户端终端301为“I”的优先级163设定为高于客户端终端302为“2”的优先级163时的流切换(设定)。
[0080]在客户端终端301和302访问存储系统401时,如果对存储系统401的访问由于存储系统401中的故障发生或重载状态而形成减速,则开放流控制器(OFC) 1i将流向具有客户端终端301和302作为端点的存储系统401的流A切换为具有客户端终端301和存储系统402作为端点的流B以及具有客户端终端302和存储系统403作为端点的流C。此时,开放流控制器(OFC) 1i根据为每个客户端终端设定的优先级,将存储系统确定为访问目的地。例如,在作为客户端终端301和302访问目的地的可用存储系统是存储系统401至403,并且存储系统402的负载小于存储系统403的负载时,将具有高优先级的客户端终端301的访问对象改变为具有较小负载的存储系统402,将具有较低优先级的客户端终端302的访问对象改变为相比于存储系统402的负载具有较大负载的存储系统402。因此,根据本发明,具有较高优先级的客户端终端可以继续接收更舒服的服务。
[0081]此外,除了存储系统的状态(例如,指示停止状态的数据、故障数据以及负载)之夕卜,可以考虑存储系统的性能来执行流切换。例如,在存储系统403具有相比存储系统402更高的性能时,开放流控制器(OFC) 1i执行流切换,从而将具有较高性能的存储系统403设定为具有较高优先级的客户端终端301的访问目的地,并将具有较低性能的存储系统403设定为具有较低优先级的客户端终端302的访问目的地。或者,在具有较低优先级的客户端终端(例如,客户端终端302至30k)多于具有较高优先级的客户端终端(例如,客户端终端301)时,开放流控制器(OFC) 1i执行流切换,从而将具有较低性能的存储系统402设定为具有较高优先级的客户端终端301的访问目的地,并将具有较高性能的存储系统403设定为具有较低优先级的客户端终端302至30k的访问目的地。因此,变得可以将具有较低性能的存储系统402的负载抑制为低于存储系统403的负载,并且可以将具有较高优先级的客户端终端301的服务值保持为闻值。
[0082]在本发明中,在为每个客户端终端设定优先级时,可以根据存储系统的状态和性能改变访问目的地。因此,变得可以例如将昂贵的存储系统401设定用于具有高优先级访问权的用户,将较便宜的存储系统402设定用于具有较低优先级访问权的用户,将便宜的存储系统403用于存储较少访问的文件,作为后备。注意,向位置策略数据16设定的优先级163可具有两个等级之外的多个等级。
[0083]此外,除了不能使用存储系统的情况之外,在不能使用开放流交换机(OFS) 20j的情况下,也可以使用流切换。在这种情况下,开放流交换机(OFS) 20 j按时、在预定时间或者在故障发生时或者在负载超过阈值时,通过控制网络500将指示负载数据(例如,流量数量和拥堵数量)和故障发生的数据通知开放流控制器(OFC) 10i。如同存储系统40η的负载数据,通过开放流控制器(OFC) 1i管理开放流交换机(OFS) 20 j的负载数据,根据开放流交换机(OFS) 20 j的状态的流切换变为可能,如上所述。
[0084]虽然优选在预定期间里负载数据超过阈值时开放流控制器(OFC) 1i改变通信路由和访问目的地存储系统,但是通过调度,可将通信路由的预定比率强制改变为另一个路由或另一个访问目的地。因此,可以实时检测高流量状态,在短时间内执行负载分配和聚集流量拥堵。此外,在按时执行流切换时,可以事先避免异常的流量产生和负载的增加。
[0085]除了网络的路由控制之外,根据本发明的开放流控制器(OFC)1i还执行存储系统组400的资源管理和位置管理。因此,在将整个网络作为虚拟交换机处理时,可以实现云环境的存储系统中的群集控制功能以及用于每个用户(客户端终端)的优先级访问控制。
[0086]此外,因为开放流控制器(OFC) 1i以流为单位执行路由控制、故障恢复和负载分配,所以在故障恢复和负载分配之后可以实现用于每个用户(客户端终端)的流的虚拟化。因为开放流控制器(OFC) 1i管理存储系统组400的资源数据15,所以可以容易地指定用于每个流的性能数据和故障位置,并且使得包括存储系统和网络的冗余配置容易。因此,根据本发明,整个系统的商业服务的稳定供应变为可能。此外,在复杂的网络环境下,不需要停止服务就可以容易地进行维护。
[0087]在根据本发明的计算机系统中,因为使用开放流协议,所以可以消除诸如用于每个L1/L2/L3/L4功能的网络设备以及ADS和LDAP的认证服务器的各种网络电器的连接,以及这些电器的操作和管理的复杂性,并且可以在简单的网络配置中实现负载分配和优先级访问控制。此外,可以构建不依赖于存储系统和不同种类存储系统的功能(性能)的系统。用户(客户端终端)即使在云环境下也可以使用存储系统,不需要了解存储系统和网络的情况以及文件位置。
[0088]因为不要求用户了解网络的情况,所以可以扩张/收缩存储系统以横向扩展。因此,因为云环境下的存储系统可以扩张以横向扩展,不依赖于存储系统的功能,所以用户可以容易地根据网络环境引入存储系统。
[0089]如上所述,详细描述了本发明的示例性实施例。但是,具体配置不限于上述示例性实施例,并且不偏离本发明特征的范围内的修改涵盖在本发明中。在示例性实施例中,描述了通过单个开放流控制器(OFC)的优先级访问控制和N群集控制。但是,本发明不限于此,并且可以通过共享位置策略数据16的多个开放流控制器(OFC)来实现。此外,在通过单个开放流控制器(OFC)执行优先级访问控制和N群集控制时,通过与其他开放流控制器(OFC)共享位置策略数据16,可将另一个开放流控制器(OFC)用作后备系统。在当前使用系统的开放流控制器(OFC)由于故障从网络断开连接时,不要求后备系统的开放流控制器(OFC)从当前使用系统的开放流控制器(OFC)接管资源数据15,并且后备系统的开放流控制器(OFC)足以从存储系统401至40η重新收集资源数据15。
[0090]此外,在将新的存储系统添加到计算机系统时,通过将存储系统的数据登记到现有的开放流控制器(OFC),可以立即执行优先级访问控制和N群集控制。注意,通过事先将新存储体的证书登记在开放流控制器(OFC)上,开放流控制器(OFC)可以通过自动检测新存储体向存储系统的添加,登记新存储体。
[0091]此外,在示例性实施例中,作为示例描述了通信路由向存储系统的改变。但是,本发明不限于此,可以采用向客户端终端提供服务的服务器设备或计算机系统代替存储系统。
[0092]注意,本专利申请要求基于日本专利申请N0.JP 2012-074936的优先权,通过参考将其公开合并于此。
【权利要求】
1.一种计算机系统,包括: 控制器; 多个交换机,所述多个交换机被配置成基于由所述控制器设定的流条目来执行接收分组的中继处理;以及 多个存储系统, 其中,所述控制器基于从所述多个存储系统获取的资源数据来改变所述多个交换机中的每一个的流条目,以将所述多个存储系统中的一个存储系统改变为客户端终端的访问目的地。
2.根据权利要求1所述的计算机系统,其中,所述资源数据包括所述多个存储系统中的每一个的负载数据,并且 其中,所述控制器参照所述负载数据,以从所述客户端终端的访问目的地改变具有超过阈值的负载的所述存储系统。
3.根据权利要求1或2所述的计算机系统,进一步包括多个客户端终端,所述多个客户端终端包含所述客户端终端, 其中,所述控制器基于对所述多个客户端终端中的每一个设定的优先级,来确定所述多个存储系统中的一个存储系统作为所述多个客户端终端中的每一个的访问目的地。
4.根据权利要求3所述的计算机系统,其中,所述控制器保持所述多个客户端终端中的每一个的目录/文件位置数据,并且基于作为所述客户端终端的访问目的地的所述存储系统的改变,来改变所述位置数据。
5.一种在根据权利要求1至4中的任何一项所述的计算机系统中使用的控制器。
6.一种通信路由改变方法,包括: 由控制器对通信路由上的交换机中的每一个设定流条目,所述流条目规定由所述交换机进行的接收分组的中继目的地;以及 基于从多个存储系统获取的资源数据,通过所述控制器改变所述交换机的流条目,从而根据所述多个存储系统的一个存储系统改变客户端终端的访问终端。
7.根据权利要求6所述的通信路由改变方法,其中,所述资源数据包括所述多个存储系统中的每一个的负载数据,并且 其中,所述改变所述流条目包括: 由所述控制器参照所述负载数据,以从负载超过阈值的所述存储系统改变所述客户端终端的访问目的地。
8.根据权利要求6或7所述的通信路由改变方法,其中,所述改变所述流条目包括: 基于由所述控制器对所述客户端终端设定的优先级,来确定所述多个存储系统中的一个存储系统作为所述多个客户端终端中的每一个的访问目的地。
9.根据权利要求8所述的通信路由改变方法,进一步包括: 由所述控制器保持所述多个客户端终端中的每一个的目录/文件位置数据, 其中,所述改变所述流条目进一步包括: 由所述控制器基于作为所述客户端终端的访问目的地的所述存储系统的改变,来改变所述位置数据。
10.一种存储有通信路由改变程序的记录介质,所述通信路由改变程序用于使得计算 机执行根据权利要求6至9中的任何一项所述的通信路由改变方法。
【文档编号】G06F13/00GK104205746SQ201380017494
【公开日】2014年12月10日 申请日期:2013年3月26日 优先权日:2012年3月28日
【发明者】滨田欣孝 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1