服务器系统、非临时计算机可读存储介质以及用以增强服务器系统中的存储器容错率的方法与流程

文档序号:11949875阅读:319来源:国知局
服务器系统、非临时计算机可读存储介质以及用以增强服务器系统中的存储器容错率的方法与流程

本发明涉及服务器系统技术。



背景技术:

现今服务器的运算速度较之前快速。服务器系统典型地包括软硬件元件、应用程序(application program)、操作系统(operating system)、处理器、总线及存储器的组合。每个服务器依赖物理存储器(例如:动态随机存取存储器(DRAM))进行处理。除了处理器以外,存储器是服务器中最影响效能关键(performance-critical)资源的一个元件且是整个服务器硬件花费中重要的一部分。

存储器模块通常和服务器中系统板上的处理器匹配。当在系统板上的处理器越来越多时,需要更多的存储器模块以容纳处理器数目增加的处理需求。然而,存储器模块数量的增加也会增加服务器上的存储器错误率。这可是代表着一个重大的花费增加。因此,有需要增强服务器系统中的存储器的容错率。



技术实现要素:

本发明各种实施例中的系统和方法提供一种前述问题的解决方案,此解决方案借由遮蔽(mask)存储器装置中被检测到的多个不良晶片(die)所对应的物理存储器地址,用以增强服务器系统中的存储器容错率。仔细而言,本发明中各个不同的实施例提供多个方法,用以测试在服务器系统中的一个或多个存储器装置是否有任何存储器错误,并且记录一个或多个存储器装置中检测到的存储器错误所对应的物理存储器地址,以及禁止检测到的存储器错误所对应的物理存储器地址被操作系统、应用程序及/或服务器系统的其他元件存取。在传统的服务器系统中,当存储器装置中检测到一存储器错误或一不良晶片时,整个存储器装置必须被物理地(physically)移除并以新的存 储器装置取代,即便上述的存储器错误仅占整个物理存储器容量的万分之一。而本发明中各个不同实施例提供一种更快速且更有效率花费(cost-effective)的方法,用以在不需要物理替换服务器中的存储器装置的情况下增强存储器容错率。

在某些实施例中,一服务器系统可包括多个节点,每个节点包括一服务器、一基本输入输出系统和一基板管理控制器。每个服务器包括至少一处理器。基板管理控制器用于管理一对应节点上的服务器系统软件与硬件元件间的一接口。在某些实施例中,当对应节点中的系统软、硬件元件的参数超出一个用以指出节点潜在错误的预设极限时,基板管理控制器可传送一警示(alert)。

在某些实施例中,服务器系统中具有一存储器测试元件,用以测试是否有存储器错误发生。存储器测试元件可为一硬件、软件或其两者,且用于比较来自服务器系统中的存储器装置的数据和参考数据,且决定是否有存储器错误发生。在有些实施例中,借由写入数据至服务器中一个或多个存储器装置,从上述存储器装置中读取数据,和比较所写入的数据与从所读取的数据以决定是否有任何存储器错误发生。在某些实施例中,从一个或多个存储器装置所读取的数据可互相比较以决定是否有任何存储器错误发生。

在某些实施例中,服务器系统的一个或多个存储器装置中检测到的一个或多个不良晶片时,则比较是否存储器拓扑改变。若存储器拓扑自先前的(previous)存储器拓扑决定后仍然未改变,对应于一个或多个不良晶片的物理存储器地址会被禁止存取。在某些实施例中,存储器拓扑包括一个或多个存储器装置和至少一存储器控制器间的连接信息。

在某些实施例中,对应于存储器错误的物理存储器地址所对应的一预定范围的物理存储器地址也可被添加至一服务器系统中的存储器遮蔽清单且被操作系统、应用程序及/或服务器系统的其他元件所禁止存取。某些实施例可将所检测到的不良晶片的多个邻近晶片的物理存储器地址纪录至存储器遮蔽清单中且向操作系统标示出上述物理存储器地址为“不可使用的”。

在某些实施例中,当于存储器遮蔽清单中的物理存储器地址被禁止存取时,对应于这些物理存储器地址的页面可借由多种使用错误更正码(error correction scheme)恢复。在某些实施例中,一个或多个存储器装置的多个部分可被动态保留为一保留存储器,以镜像复制(mirror)一个或多个存储器装 置所存储的数据。当存储器遮蔽清单中的物理存储器地址被禁止存取时,这些物理存储器地址所对应的页面亦可从一个或多个存储器装置的所保留的部分中复制。

在某些实施例中,当一基本输入输出系统、一开机自我测试程序(power-on self-test,POST)、一操作系统或一存储器自我测试执行时,检测服务器系统中是否有存储器错误的程序可被启动。

下文为介绍本发明的最佳实施例。各实施例用以说明本发明的原理,但非用以限制本发明。本发明的范围当以所附权利要求为准。

附图说明

图1为根据本发明实施例在通信网络下所绘机架式服务器的示意图。

图2为一种根据本发明实施例的增强计算系统中的存储器容错率的方法的示意图。

图3为一种根据本发明实施例的进行自我测试以增强服务器上存储器容错率的方法的示意图。

图4为适用于本实施例技术的一计算装置的示意图。

图5A、5B为根据本发明实施例的计算系统的示意图。

符号说明

100~机架式服务器;

101、102~节点;

1011、1021~服务器;

1013、1023、463、510、555~处理器;

1014、1024、461、515~存储器装置;

1015、1025~基本输入输出系统;

1112、1122~基板管理控制器;

105~微控制器;

200、300~方法;

210、220、221、230、240、250、260、310、320、330、340、350~步骤;

400~计算装置;

415、505~总线;

462~中央处理单元;

468~接口;

500~计算系统;

512~快取存储器;

520~只读存储器;

525、575~随机存取存储器;

530、570~存储装置;

532、534、536~模块;

535、565~输出装置;

540、590~通信接口;

545~输入装置;

550~计算机系统;

560~晶片;

580~电桥;

585~用户界面元件。

具体实施方式

图1为根据本发明实施例所绘的在通信网络下机架式服务器(server rack)100的示意图。在此实施例中,机架式服务器100包括多个节点(node)(例如:节点101与节点102)和一微控制器105。多个节点可彼此独立操作。在某些实施例中,多个节点可有相似的计算能力(computing capacity)和相似的存储器容量。在其他实施例中,多个节点可有各个不同的大小、计算能力及存储器容量。

每个节点可包括一服务器(例如:服务器1011和服务器1021)、基本输入输出系统(BIOS)(例如:基本输入输出系统1015和1025)和一基板管理控制器(BMC)(例如:基板管理控制器1112和1122)。每个服务器包括至少一处理器和一存储器装置。在此实施例中,服务器1011包括一处理器1013和一存储器装置1014,服务器1021包括一处理器1023和一存储器装置1024。

在本发明的各个实施例中,基板管理控制器为嵌入在每个节点中的专用微控制器(例如:分别嵌入于节点101与节点102中的基板管理控制器1112和1122)。基板管理控制器可用以管理每个节点中介于系统管理软件与硬件 元件间的接口。在某些实施例中,建造于每个节点中的不同类型的传感器可回报多种参数(例如:温度、冷却风扇速度、功率状态及/或操作系统状态)给一对应的基板管理控制器。基板管理控制器也可监控在对应节点上的多个传感器。当任何在传感器上的参数超出预设极限时,传感器上的参数可指出节点有一潜在性的错误,基板管理控制器可通过网络传送一警示给微控制器105或系统管理员。微控制器105或系统管理员也可与基板管理控制器进行通信,以控制在对应节点上的硬件元件或做一些修正动作(例如:对节点重新设定或进行功率循环使一挂起的(hung)操作系统重新启动)。在某些实施例中,介于基板管理控制器与微控制器105的物理接口可包括系统管理总线(SBMbus bus)、RS-232串口控制台(RS-232serial console)或可使基板管理控制器接收来自微控制器105或机架式服务器100中其他的管理控制器或通信网络的请求消息的智能平台管理总线(Intelligent Platform Management Bus,IPMB)。

在此例子中,基本输入输出系统1015和1025直接连接到相对应的服务器用以进行初始化及/或测试。基本输入输出系统1015和1025为存储于一只读存储器(read-only memory,ROM)或其他存储装置的软件。基本输入输出系统1015和1025可被载入至多个节点中的每个节点,且用以初始化或测试对应节点中的硬件元件,接着呼叫(call for)操作系统。基本输入输出系统1015和1025也可提供一抽象层(abstraction layer)用以使硬件元件、应用程序、操作系统和输入/输出装置(例如:键盘、屏幕)进行互动。在某些实施例中,操作系统可忽略由基本输入输出系统所提供的抽象层且在载入后直接存取对应节点或是多个节点的硬件元件。微控制器105可作为交换器(未图示)和多个节点中的每个基板管理控制器(例如:基板管理控制器1112和1122)间的互相连接,且用以控制交换器以便选择性地切换至多个服务器之一者。

虽然图1中机架式服务器100中只包括服务器1011与1021,但机架式服务器100内亦可包括具有处理数据能力的多种电子或计算装置。更甚的是,在机架式服务器100内的电子或计算装置可用于执行各个类型的应用程序及/或使用各个类型的操作系统。这些操作系统可包括Android、Berkeley Software Distribution(BSD)、iPhone OS(iOS)、Linux、OS X、Unix-like Real-time Operating System(例如:QNX)、Microsoft Windows、Window Phone及IBM z/OS,但不以此为限。

根据机架式服务器100所需的工作方式,多种网络及消息通信协定可被使用,但不局限于传输控制协定/网际协定(TCP/IP)、开放式系统互联通信(OSI)、文件传输协定(FTP)、通用即插即用(UpnP)、网络文件系统(NFS)、网络文件共享系统(CIFS)、AppleTalk,诸如此类的网络及消息通信协定。本领域的普通技术人员可了解图1中所示机架式服务器100仅为说明之用。因此,在本发明的实施例中,网络系统可被以多种适当的方式实现本申请中网络平台的配置。

于图1的实施例中,多个节点(例如:节点101与102)也可包括在一特定无线频道计算范围内能够和一个或多个电子装置进行通信的一个或多个无线元件。特定无线频道可为任意适当能使装置进行无线通信的通道(例如:蓝牙(Bluetooth)、移动网络(cellular)、近距离无线通信(NFC)或Wi-Fi通道)。从已知技术可知此装置也可具有一个或多个传统有线通信连接。

多个节点(例如:节点101和102)也可包括以各种方法供应电源(例如:传统的插入式方法、可通过传统的插入式方法进行再充电的电池或通过其他方法像是通过功率垫(power mat)或其他装置无线(例如:电容式或电感式)进行充电)的功率元件。在其它实施例中,各种不同的元件及/或其组合也是可行的。

图2为一计算系统中增强容错率的实施例的方法200。应了解方法200仅为说明之用,在本发明的其它方法中亦可在相同或相似的顺序下或同时包括额外的、较少的或替代性的步骤。

实施例的方法200开始于检测计算系统是否有存储器错误(步骤210)。在某些实施例中,存储器错误可被存储器测试元件检测到。存储器测试元件用以将数据存储器装置中的数据和参考数据做比较,且根据至少一比较结果决定是否发生存储器错误。在某些实施例中,检测存储器错误的流程可包括写入数据至多个存储器装置,从多个存储器装置中读取数据,比较所读取的数据与所写入的数据。当有至少一所读取的数据不同于所写入的数据时,输出一存储器错误信号。在某些实施例中,由多个存储器装置所读取的数据亦可相互比较。当由多个存储器装置中之一者所读取的数据不同于另一个存储器装置中所读取的数据时,输出一存储器错误信号。

当检测到存储器错误时,存储器装置的一存储器拓扑可被决定(步骤 220)。在某些实施例中,在计算系统中一个或多个存储器控制器可用以检查存储器装置的状态及/或其他信息。

在某些实施例中,存储器拓扑可包括存储器装置与一个或多个存储器控制器(未图示)间的连接信息。举例来说,一存储器控制器可连接至多个存储器装置。有些实施例可结合多个存储器装置去回应存储器控制器的频宽所对应的单一指令。在某些实施例中,存储器拓扑还包括一复制装置(replication device),用以接收来自存储器控制器的地址与控制信息。复制装置可用以传送两份或多份实质复制地址(substantially replicated address)与控制信息的复本数据至多个存储器装置。

在某些实施例中,一存储器拓扑包括一个或多个在机架式服务器中服务器的本地存储器装置及/或一个或多个远端存储器装置。这些远端存储器装置可被一机架式服务器中的多个服务器所共享。这些本地存储器装置可作为所对应的服务器的主存储器。这些远端存储器装置可用以存储从这些本地存储器装置被移出(evict)的页面(page)。一旦这些本地存储器装置中发生遗失(miss),存储在这些远端存储器装置的远端页面可被迁移(migrate)至本地存储器装置上。

在某些实施例中,在服务器上的一个或多个本地存储器装置可包括两种或两种以上类型(例如:较高效能与花费及较低效能与花费)。高效能的存储器装置(例如:动态随机存取存储器)可用于存储服务器上处理器的主动(active)页面及/或数据,而低效能的存储器装置(例如:非易失性随机存取存储器(Non-volatile random-access memory,NVRAM))可用于存储闲置(idle)或不频繁存取的页面及/或数据。

在步骤220中决定存储器拓扑后,步骤221用以决定此存储器拓扑相较于先前的存储器拓扑是否改变。在某些实施例中,已知的存储器诊断技术可于系统开机期间将一个新的存储器拓扑与先前的存储器拓扑做比较。

在步骤230中,若此存储器拓扑没被改变,存储器错误细节(detail)可被载入(load)至一存储器遮蔽清单(mask list)。存储器遮蔽清单可被存储至一基本输入输出可读取的(BIOS-readable)装置中(例如:非易失性随机存储器或电子可擦除可编程只读存储器(EEPROM))。存储器错误细节可包括与存储器错误有关的物理存储器地址。一服务器上的处理器的物理存储器地址空间可为处理器的操作系统所使用的页面表由一虚拟地址空间所映射的 物理存储器地址空间。在某些实施例中,服务器上的处理器的物理存储器地址空间可为服务器上的一个或多个本地存储器装置及/或一个或多个远端存储器装置的一部分的加总。

在步骤240中,禁止对应于存储器错误的物理存储器地址被服务器上的程序或硬件元件所存取。在某些实施例中,基本输入输出系统可根据存储器遮蔽清单,将清单中所列出的地址区段设定为“不可使用的(Unusable)”,因而禁止操作系统、应用程序软件或其他硬件元件存取这些物理存储器地址。在某些实施例中,一预定范围的物理存储器地址(邻近于存储器错误所对应的物理存储器地址)亦可被增加至存储器遮蔽清单中且被禁止存取,以便增强服务器的存储器容错率。在某些实施例中,对应于存储器错误的晶片的物理存储器地址及/或该晶片的邻近晶片的物理存储器地址亦可被包括在存储器遮蔽清单中且被禁止存取。

在某些实施例中,当对应于存储器错误的物理存储器地址被禁止存取时,对应于这些物理存储器地址的页面可经由错误更正码/机制(例如:里德-所罗门(Reed-Solomon)错误更正码)恢复。在某些实施例中,一个或多个本地存储器装置的一部分可被动态地保留为一个保留存储器(reserved memory),用以镜像方式或复制存储于一个或多个本地存储器的数据。当对应于存储器错误的物理存储器地址被禁止存取时,对应于该物理存储器地址的页面可由从一个或多个本地存储器的保留部分取回(retrieve)或复制。

若此存储器拓扑已改变,存储器遮蔽清单可被清除(步骤260),且于下一个步骤中启动一个检测服务器上是否有存储器错误的程序。某些实施例中,用户可传送指令去清除存储器遮蔽清单。因此,在步骤250中,一旦接收到清除存储器遮蔽清单的用户指令,方法200可于步骤260中清除存储器遮蔽清单。接着,重启方法200用以检测是否在服务器上有存储器错误。

图3为本发明执行自我测试以增强服务器上存储器容错率的实施例的方法300。方法300于步骤310开始进行一自我测试程序。自我测试可为系统开机的一部分、程式执行的一部分或一用户初始化自我测试的程序。若自我测试为一系统开机程序,一基本输入输出系统会被执行。如果是“冷”系统开机,一开机自我检测可先被执行以确认服务器中的硬件元件是否正常执行。对“暖”系统开机而言,开机自我检测则可省略。

在某些实施例中,检测存储器错误的程序可在基本输入输出系统或开机 自我检测执行时或自我检测被一应用程序所执行时进行。步骤320中,决定在服务器系统中是否有存储器错误。当存储器错误被检测到时,存储器错误细节可被载入至一基本输入输出可读取的装置中(例如:非易失性随机存取存储器或电子可擦除可编程只读存储器)。存储器错误细节可包括与存储器错误有关的物理存储器地址。根据存储器遮蔽清单,将存储器遮蔽清单中所记录的物理存储器地址设定为“不可使用的”,因而禁止上述物理存储器地址被操作系统、应用程序软件及服务器中的其他硬件元件所存取。

当存储器遮蔽中的已辨识的物理存储器地址被禁止存取或无存储器错误被检测时,自我测试于步骤350完成。在某些实施例中,若自我测试为系统开机的一部分,一开机载入程序(boot loader)可被载入至一存储器装置去执行(例如:载入至物理存储器地址0000:7C00)。开机载入程序可为服务器载入一操作系统或其他软件。在某些实施例中,有些服务器中的子系统可于系统开机期间借由简单执行一些存储于只读存储器的可操作程序以开启功能(functioning)。

在某些实施例中,若一基本输入输出系统于系统开机期间(步骤310)受到毁损(damage),一个或多个本地存储器装置或其他存储装置可供检查,以寻找是否有基本输入输出系统的备份。若基本输入输出的备份文件可被找到,备份文件可被写入至基本输入输出系统的一存储器。重新启动程序接着便可被执行。在某些实施例中,基本输入输出系统的毁损部分可被选择性地取代。若在服务器上没被找到基本输入输出系统的备份文件,服务器可从一远端存储器装置中取回备份文件或从网际网络下载对应于服务器的基本输入输出系统的备份文件。服务器中的处理器可读取基本输入输出系统的备份文件且写入备份文件至基本输入输出系统的存储器。

术语

计算机网络为地理上分散的多个节点的集合,这些节点于终端间由用以传送数据的通信线路和区段(segment)互相连接,例如个人计算机与工作站。许多类型的网络是可用的,范围从局域网(LANS)及广域网(WAN)至延展及软件定义网络(overlay and software-defined network)(例如:虚拟可扩展局域局域网网(VXLANS))。

局域网通过位于相同普通物理位置(例如:建筑物或是校园)的特定私 人通信连接而连接至多个节点。相反地,广域网通过长距离通信连接(例如:同步光纤网络(SONET)或同步数字体系网络(SDH))以连接分散的节点。局域网与广域网可包括第二层(L2)及/或第三层(L3)网络和装置。

网际网络为广域网的一个例子,其连接遍布世界的分散网络,为不同的网络的节点之间提供全球性的通信。节点间通常会借由根据预定的通信协定以交换数据的离散框架或封包在网络上进行通信,这些预定的协定像是传输控制协定/网际网络协定(TCP/IP)。在本说明书中,通信协定可看作一组用以定义节点间如何互动的规则。计算机网络更可以借由一中继网络节点(例如:一路由器)互相连接去延展每个网络的影响“范围(size)”。

延展网络(overlay network)普遍上允许在一物理网络基本架构之下创造且进行分层出一虚拟网络。延展网络通信协定(例如虚拟可扩展局域网(Virtual Extensible LAN,VXLAN)、使用通用路由封装的网络虚拟化(Network Virtualization using Generic Routing Encapsulation,NVGRE)、网络虚拟化延展网络(Network Virtualization Overlays,NVO3)及无状态式传输层隧道(Stateless Transport Tunneling,STT)),用以提供一允许网络流量于逻辑隧道(logical tunnel)跨过网络第二层与第三层的交通封装方案(traffic encapsulation scheme)。这样的逻辑隧道可通过隧道终端节点(virtual tunnel end points,VETPs)被产生与结束。

此外,延展网络可包括虚拟组件(例如在一虚拟可扩展局域延展网络中的虚拟可扩展局域网组件)这些虚拟组件可包括通过虚拟机器(VMs)通信的第二层与第三层虚拟延展网络。虚拟区段可通过一虚拟网络辨识器(virtual network identifier,VNI)辨识,例如一可特别辨识出联合(associated)虚拟区段与定义域(domain)的虚拟可扩展局域网网络辨识器。

网络虚拟化允许硬件和软件资源于一虚拟网络中结合。举例来说,网络虚拟化可允许多个虚拟机器经由各自的虚拟局域网连接至物理网络。虚拟机器可根据各自的虚拟区域去分组,且可以与其他虚拟机器和其他在内部或外部网络的其他装置进行通信。

网络区段(network segment)(例如︰物理或虚拟区段、网络、装置、端口、物理或逻辑连接及/或流量)通常可被集合为一电桥或洪水定义域(bridge or flood domain)。电桥或洪水定义域可代表一广播定义域(broadcast domain),例如一第二层广播定义域。电桥或洪水定义域可包括一单一子网络,但也可 包括多个子网络。更甚的是,电桥定义域可与一网络装置(例如︰交换器)上的一电桥定义域接口有关联。电桥定义域接口可为一支援第二层桥接网络与第三层路由网络间的逻辑接口。除此之外,电桥定义域接口可支援网际网络协议终端设备(IP termination)、虚拟私有网络终端设备(VPN termination)、处理位置解析(address resolution handling)、介质存取控制(MAC)地址,诸如此类的接口。电桥定义域和电桥定义域接口都可借由一相同的索引(index)或辨识器(identifier)来辨识。

此外,端点组(endpoint groups,EPGs)可用于于网络中使用用以映射应用程序至网络上。特别是端点组可用网络上一组应用程序端点,以便对这组应用程序端点施加连接与策略。端点组可像一容器以收集应用程序或应用程序元件和用以实施前述策略逻辑的层。终端组也可允许分离的网络策略、安全性或是以使用逻辑应用边界取代前面的地址。

云端计算也可由一个或多个网络中提供,云端计算使用共享资源提供计算服务。云端计算可包括网际网络式计算(internet-based computing),在网际网络式计算这些网络资源为通过网络(例如:“云(the cloud)”)收集的一可用资源的集合所动态规范且分配至用户端或用户计算机或其他随选装置。云端计算资源可包括任何类型的资源,例如计算、存储、及网络装置、虚拟机器,诸如此类的资源。举例来说,资源可包括服务装置(防火墙、深度封包检测器(deep packet inspector)、流量监视器、负载平衡器(load balancer))、计算/处理装置(服务器、中央处理单元、存储器、蛮力处理容量(brute force processing capacity))、存储装置(例如:网络连接装置、存储局域网装置),诸如此类的装置。除此之外,这些资源可用于支援虚拟网络、虚拟机器、数据库、应用程序…等等。

云端计算资源可包括一“私有云”、一“公共云”及/或一“混合云”。“混合云”可为一通过技术将由两个或多个云互相操作或组成的基础云建设。在本质上,混合云是一种私有云与公共云之间的相互作用,而私有云以一个安全且可扩充的方式加入了公共云且利用公共云的资源。云端计算资源也可通过虚拟网络扩展网络(例如:虚拟可扩展局域网)被规范(provisioned)。

在一网络交换系统下,查询数据库(lookup database)可被维持去追踪交换系统所连接的多个端点的路由。然而,端点可具有多种设置且与众多租户(tenant)有关联。这些端点可有多种类型的辨识器(例如:网际网络协定第 四版(IPv4)、网际网络协定第六版(IPv6)或第二层)。查询数据库必须设置于不同模式以处理不同类型的端点处理器。某些查询数据库的容量被雕刻出(carved out)去处理不同地址类型的进入封包。更甚的是,在网络交换系统上的查询数据库局限于1K的虚拟路由和转发(virtual routing and forwarding,VRFs)。这些系统与网络的范例于图4和图5的例子中有简单的介绍。这些变化的例子可于多个例子当中阐述。关于技术的部分请回至图4。

图4为适用于实现本发明的技术的一计算装置400的实施例。计算装置400包括一中央处理单元462、接口468及一总线415(例如:个人计算机接口(PCI)总线)。当中央处理单元462在适当的软件或固件的控制下,负责执行封包管理、错误检测及/或路由功能(例如:缆线连接错误检测功能)。中央处理单元462于软件(包括一操作系统的软件和任何适当的应用程序软件)的控制下完成所有功能。中央处理单元462可包括一个或多个处理器463,例如摩托罗拉微处理器家族或是MIP微处理器家族中的处理器。在一可替代的实施例中,处理器463是为了控制计算装置400的操作而特别设计出来的硬件元件。在一特定的实施例中,一存储器装置461(例如:非易失性随机存取存储器及/或只读存储器)为中央处理单元462的一部分。然而,仍然有很多不同的方法让存储器耦接至系统。

接口468是典型的接口卡(有时被称为接线卡(line card))。普遍来说,接口卡控制网络上封包的传送与接收,且有时支援计算装置400所使用的其他周边设备。这些接口可为以太接口、帧中继接口、电缆接口、数字用户线路接口、信号环接口,诸如此类的接口。此外,这些接口亦可为多种非常高速的接口,可为快速信号环接口、无线接口、以太接口、千兆以太接口、ATM接口、高速串行(HSSI)接口、POS接口、光纤分布式数据接口(FDDI),诸如此类的接口。普遍来说,这些接口包括适合与适当的介质进行通信的多个端口。在某些实施例中,它们也可包括一独立处理器和易失性存储器。独立处理器可控制像封包交换、介质控制与管理这类型密集的通信任务。借由提供分开的(separate)处理器以处理通信密集的任务,这些接口允许中央处理单元462有效地进行路由计算、网络诊断、安全功能、诸如此类的功能。

虽然图4所示的系统为本发明的一特定网络装置,但本发明不以仅此为限。举例来说,具有单一处理器来处理通信和路由计算的架构是经常使用的。更甚的是,其他类型的接口和介质也可搭配路由器来使用。

无论网络装置如何配置,它可使用一个或多个存储器或存储器模块(包括存储器装置461)去存储多个程序指令,这些程序指令用以执行通用型网络操作及用以漫游(roaming)、路线最佳化和路由功能的机制。举例来说,程序指令可控制操作系统及/或一个或多个应用程序的操作。存储器也可存储多个表,例如移动绑定(mobility binding)、注册和其他相关的表。

图5A与图5B为对应于各个本实施例的技术可能的系统示例图。本领域的普通技术人员皆了解在实现本发明的技术时会有更多的实施方式,本领域的普通技术人员亦了解有其它的系统亦是可行的。

图5A为传统具有系统总线的计算系统500,其中计算系统500中的多个元件通过一总线505电性连接于其他元件。计算系统500包括一处理单元(中央处理单元或处理器)510和总线505,总线505用以耦接多个系统元件(包括存储器装置515、只读存储器520及随机存取存储器525)至处理器510。计算系统500可包括一高速存储器中的快取存储器,而此高速存储器可直接连接于处理器510、邻近于处理器510或成为处理器510的一部分。为了借由处理器510快速地存取,计算系统500可从存储器装置515及/或存储装置530复制数据至快取存储器512。如此一来,快取存储器512可提供一系统加速避免处理器510在等候数据时所造成的延迟。这些或其他模块可控制或设置去控制处理器510进行多种动作。其他存储器装置515也可做此用途。存储器装置515可包括具有不同效能特性的多种不同的类型的存储器。处理器510可包括任何通用处理器和一硬件模块或软件模块,例如存储于存储装置530中的模块532、模块534、及模块536,模块532、534与536用以控制处理器510及软件指令被合并至真实处理器设计的具有特殊目的的处理器。处理器510实质上可为一个完全独立式计算系统,含有多核心或处理器、一总线、存储器控制器、快取存储器,诸如此类的元件。多核心处理器可为对称式的或非对称式的。

为了让用户与计算系统500有互动,输入装置545可代表任意数目的输入机制,例如用于演讲的麦克风、用于手势或图形输入的触控感应屏幕、键盘、滑鼠、动作输入、演讲,诸如此类的机制。输出装置535也可为于多种已知输出机制中的一个或多个。在一些实施例子中,多模型系统可让用户提供多种类型的输入以便与计算系统500进行沟通。一般而言,通信接口540用以调节与管理用户的输入与系统的输出。操作在任何硬件安排上没有任何 限制,因此此处的基本架构为了改善硬件或固件的安排可作简易地取代。

存储装置530为一非易失性存储器且可为一个硬盘或其他类型的计算机可读介质(例如磁卡、快闪存储卡、固态存储器装置、数字多功能影音光盘、盒式磁带、随机存取存储器525、只读存储器520或其组合),用以存储计算机可存取的数据。

存储装置530可包括软件模块532、534与536,用以控制处理器510。其他硬件或软件模型亦是可考虑的。存储装置530可连接至系统总线505。在某一观点下,用以执行一特别功能的硬件模块可包括存储于一计算机可读取介质(medium)中的软件元件并与所需的硬件元件做连接,例如处理器510、总线505、输出装置535(例如:屏幕)、诸如此类的元件,以完成此功能。

图5B为具有一晶片架构的计算机系统550的示意图,此晶片架构可被用于执行上述方法及产生和展示出一个人机界面(GUI)。计算机系统550为可用以实施所公开技术的计算机硬件、软件及固件。计算系统500可包括一处理器555,代表任意数目的物理上及/或逻辑上不同的资源,这些资源能够执行用以实现辨识计算(identified computations)的软件、固件及硬件。处理器555可与控制处理器555输入输出的晶片560进行通信。在这实施例中,晶片560输出信息至输出装置565(例如:屏幕),也可对存储装置570(举例来说,可包括磁性介质和固态介质)读取和写入数据。晶片560也可对随机存取存储器575读取和写入数据。用于与多用户当接口的电桥580可被提供用以跟晶片560互动。用户界面元件585可包括键盘、麦克风、触控检测处理电路、指向装置(例如:滑鼠)、诸如此类的装置。普遍来说,计算机系统550的输入可为来自任何种类的信号源(人类产生或是机器产生)。

晶片560也可和一个或多个具有不同物理接口的通信接口590相接。这些通信接口可包括用于有线或无线本地局域网、宽频无线网络和个人网络的接口。此处公开用以产生、展示和使用人机界面的方法的一些应用程序可包括通过物理接口接收有排序的数据集或由机器本身通过处理器555分析存储于存储装置570或随机存取存储器575所产生的数据。更甚的是,机器可通过用户界面元件585从用户接收一输入并且执行适当功能,例如借由使用处理器555翻译这些输入的浏览功能。

需了解的是,计算系统500和计算机系统550中可以有更多处理器510或与网络连接的计算装置的部分群丛以提供更佳的处理能力。

为了更清楚地解释,在某些实施例中,本发明可表示为多个独立功能方块,这些独立功能方块包括多个功能方块,这些功能方块包括于多个装置、装置元件、由软件方式实现的多个步骤或流程、或软件或软硬件的结合。

在某些实施例中,计算机可读存储装置、介质、存储器可包括含有一位元串流的有线或无线信号。然而,特别要提到是,非临时计算机可读存储介质明确地排除像能量、载波信号、电磁波及信号本身的介质。

根据上述例子的方法可被实现于使用计算机可执行指令。举例而言,这些指令可包括可以致使通用型计算机、特殊用途计算机或特殊用途处理装置执行一特定功能或一组功能的指令和数据。部分所使用的计算机资源可通过网络被存取。举例来说,计算机可执行性指令可为二元或中间格式指令像是组合语言、固件或来源编码。根据上述例子,可用于存储指令、用过的信息、及/或于方法中所创造的信息的计算机可读介质的示例包括磁盘或光盘、快闪存储器(flash memory)、USB装置以提供非易失性存储器、网络存储装置。

用以实施这些方法的装置可包括硬件、固件及/或软件,并可带有任何多个形式参数。带有这些多个形式参数的典型例子包括笔记本计算机、智能型手机、小型因子(small form factor)个人计算机、个人数字助理,诸如此类的。此处描述的功能也可被实施在周边设备或其他附加卡上。这功能也可通过不同码片或不同执行在单一装置上的过程经由例子实施在一电路板上。

这些指令、用以传送这些指令的介质、执行这些指令的计算资源和其他支持这些计算资源的指令是用以提供这些已公开过的功能。

在某些实施例中提及选择性操作可借由不同指令实现,而在其他实施例中亦可合并选择性操作至不同指令。为了清楚地解释,在某些例子中,本发明可表示为多个独立功能方块,这些独立功能方块包括多个功能方块,这些功能方块包括于多个装置、装置元件、由软件方式实现的多个步骤或流程、或软件或软硬件的结合。

多个例子更可被实施于更广大的操作环境,在某些情况下可包含被用于操作任何数量应用程序的一个或多个服务器计算机、用户计算机或计算装置。用户或用户端装置可包括任何数量的通用型计算机,例如︰操作于一标准系统下的台式或笔记本计算机以及执行手机软件及可支持多个网络及消息通信协定的行动、无线及手持装置。这样的系统也可包括执行任意种类的市售操作系统若干个工作站和其他以发展及数据管理为目的的已知应用程序。这些 装置也可包括其他电子装置,像是虚拟输出端、精简型终端机、游戏系统和其他可通过网络进行通信的装置。

本发明可部分地在硬件上实施,本发明可于以下任意技术或其组合中实施:根据数据信号实现逻辑函数逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路、可编程的硬件(例如:可编程逻辑门阵列(PGA)、现场可编程逻辑门阵列(FPGA))。

大部分的示例利用本领域普通技术人员所熟知的至少一支持商用协定(例如传输控制协定/网际协定、开放式系统互联通信、文件传输协定、通用即插即用、网络文件系统、网络文件共享系统、AppleTalk,诸如此类的网络及消息通信协定)进行沟通的网络。举例来说,网络可为一本地局域网、一范围局域网、一虚拟私人网络、一网际网络、一内部网络、一外部网络、一公有交换式电话网络、一红外线网络、一无线网络或其任意组合。

根据上述例子的方法可被实现于使用计算机可执行指令。举例而言,这些指令可包括可以致使通用型计算机、特殊用途计算机或特殊用途处理装置执行一特定功能或一组功能的指令和数据。部分所使用的计算机资源可通过网络被存取。举例来说,计算机可执行性指令可为二元或中间格式指令像是组合语言、固件或来源编码。根据上述例子,可用于存储指令、用过的信息及/或于方法中所创造的信息的计算机可读介质的示例包括磁盘或光盘、快闪存储器(flash memory)、USB装置以提供非易失性存储器、网络存储装置。

用以实施这些方法的装置可包括硬件、固件及/或软件,并可带有任何多个形式参数。带有这些多个形式参数的典型例子包括笔记本计算机、智能型手机、小型因子(small form factor)个人计算机、个人数字助理,诸如此类的。此处描述的功能也可被实施在周边设备或其他附加卡上。这功能也可通过不同码片或不同执行在单一装置上的过程经由例子实施在一电路板上。

在利用网页服务器的实施例中,网页服务器可执行任何种类的服务器或中层(mid-tier)应用程序,包括超文件传送协定(HTTP)服务器、文件传送协定(FTP)服务器、通用网关接口(CGI)服务器、数据服务器、JAVA服务器、及商业应用服务器。这些服务器可用于执行回应从用户装置来的要求的程序或脚本(script),例如借由执行一个或多个可网页应用程序,该网页应用程序可用任何程序语言(例如:JAVA R、C、C#或C++)、脚本语言(例如:Perl、Python、TCL)或其组合的脚本或程序撰写来实施。服务器也可包 括数据库服务器,并不限于来自开放市场的这些商用可用软件。

服务器群可包括以上讨论到的各种数据存储、其他存储器和存储介质。这些服务器群可于各种地址注册,例如一存储介质本地连接(及/或注册)至一个或多个计算机或从通过网络从任何或所有计算机远端连接。于一组特别的例子下,信息可注册于本领域普通技术人员所熟知的存储局域网(SAN)。同样地,用以执行对计算机、服务器或其他网络装置有贡献功能的任意有需要的数据夹可被本地及/或远端存储。当一系统包括多个计算机化装置,每个装置包括可通过一总线电性耦合的多个硬件元件。举例来说,这些硬件元件至少包括一中央处理单元、一输入装置(例如:滑鼠、键盘、控制器、触摸敏感显示器元件或辅助键盘)、输出装置(例如:显示器装置、印表机或喇叭)。这样的系统也可包括一个或多个存储装置,例如光盘装置、光学存储装置、固态存储装置(例如随机存取存储器或只读存储器)以及可移除式介质装置、存储卡、快闪存储卡。

这些装置也可包括一计算机可读存储介质阅读器、通信装置(例如:数据机、有线或无线网络卡、红外线计算装置)和以上所描述到的工作存储器装置(working memory)。计算机可读存储介质读取器可连接至或用以接收来自计算机可读存储介质,此计算机可读存储介质代表远端、本地、混合及/或可移除式存储装置,用以暂时性及/或更永久地包含、存储、传送和取回计算机可读信息的存储介质。系统和多种装置可典型地将包括若干个至少位于一工作存储器装置的软件应用程序、模块、服务或其他元件,包括一操作系统和应用程序像是一用户端应用程序或网页浏览器。需了解的是,也可从以上例子可做诸多变化。举例来说,定制硬件也可能被使用及/或特殊元件可能实施于硬件、软件、或两者之上。更甚的是,连接至其他计算装置的连接像是网络输入输出装置可被采用。

用以包含程序代码或部分程序代码的存储介质和计算机可读介质可包括任何已知技术的适当介质,包括存储式介质和计算介质,并不限制易失性和非易失性、可移除和不可移除介质,以便用任何方法或技术实现用以传输数据像是计算机可读指令、数据结构、程序模块或其他数据包括像是随机存取存储器、只读存储器、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪存储器、或其他存储器技术、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字视频光盘(Digital Video Disc,DVD)、或其他光学存储装置、磁卡、磁带磁片除存储装置或其他磁存储装置或任何其他任何可存储需要信息的存储装置和可被系统装置接收的介质。本领域的普通技术人员可根据本发明提供的方法与技术将本发明描述的功能以各种不同方法作实现。

虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明,本领域的普通技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附的申请专利范围所界定者为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1