专利名称:使用联网的ups客户机进行电力监控的设备、方法和计算机程序产品的制作方法
技术领域:
本发明涉及电力监控设备、方法以及计算机程序产品,特别涉及使用不间断电源(UPS)进行电力监控的设备和方法。
背景技术:
当电力用户失去服务时总出现的问题是“是我的问题,还是整个电网的问题?”通常,用户会很快地意识到是否前者出了问题,因为在没有用户报告的情况下,电力公司通常不会立即处理本地故障。因此,用户通常期望能够尽可能快地获得对停止供应的范围的了解。
希望及时得知在配电网络中的别处的故障还有另外的原因。例如电力用户可以操作数据中心或其它敏感设备。虽然这样的设备在发生电力故障或衰减的情况下可使用UPS提供备份电力,但是在本地故障实际发生之前得知电力网的其它部分的状态还是有利的。例如,了解附近电力网的事件,如附近断电、电力不足或电涌,可以用于触发引入UPS或联机的电力调节器,这样可以减少中断关键功能的可能性。这些了解还可以用于触发水平提高的数据备份过程。
用于监控电力网络的系统已经被提出。例如,Petite等人的美国专利第6,437,692号描述了一个使用多个无线发射机的系统,发射机位于需给电表处,并将感知的电气系统参数发送到广域网(WAN)的网关接口,该接口耦合到分析感知的参数的服务器计算机。实现这样一个系统价格昂贵,并且可能由电力公司安装和/或控制。因此,需要一种电力监控系统,该系统可以由用户访问,并独立于电力公司,并且能以合理的价格提供。
发明内容
根据本发明的一些实施例,电力监控系统包括多个不间断电源(UPS)和包括多个UPS客户机的通信网络,所述UPS客户机用于监控各自的一个UPS。UPS目录服务器与UPS客户机通信,并且用于对UPS客户机分类。例如,UPS目录服务器可用于根据从UPS客户机接收的分类信息对通信网络中的UPS客户机的位置分类,所述分类信息如位置(例如地理的)信息、配电网络信息以及通信网络信息。
在本发明的其它实施例中,UPS客户机用于将分类信息传送到UPS目录服务器。UPS目录服务器用于根据所传送的分类信息生成UPS客户机的分类,并且根据生成的分类将通信网络位置信息传送到UPS客户机。UPS客户机可以用于根据由UPS目录服务器传送的通信网络位置信息传送电力状态信息。例如,UPS客户机可以使用由UPS目录服务器传送的通信网络位置信息建立对等的通信链路,并且可以通过对等的通信链路传送电力状态信息。UPS客户机可以用于将通信位置信息的请求传送到UPS目录服务器,UPS目录服务器可用于响应所传送的请求将通信网络位置信息传送到UPS客户机。本发明可以具体化为设备、方法以及计算机程序产品。
本发明的实施例可以提供几个好处。用于监控配电系统的状态的UPS客户机的网络可以建立在特定的基础上,独立于维护配电网络的电力公司。每个用户都可以在符合达成一致的关于信息交换的规则的框架内配置自己的监控性能。因为电力状态信息可以以对等的方式传送,所以数据通信量与集中监控系统相比可以减少。另外,因为UPS已包括采用以太网或其它网络接口形式的通信联网能力,或者可以通过由UPS供电的数据处理设备配备这样的能力,所以本发明的电力监控设备和方法可以以相对简单和具有成本效益的方式提供。
图1说明根据本发明的一些实施例的配电监控系统。
图2-4说明根据本发明的各种实施例的配电系统监控的示例性的操作。
具体实施例方式
现在参考附图描述本发明的特定示例性的实施例。然而,本发明可以具体化为许多不同的形式,不应被解释为局限于这里提出的实施例;更确切地说,提供这些实施例是使得该公开是全面和完整的,并将本发明的范围充分传达给本领域的技术人员。在附图中,相同的数字指相同的元件。应当理解,当将一个元件称为“连接”或“耦合”到另一个元件时,是指它可以直接连接或耦合到另一个元件或者在它们之间可插入元件。
现在参考图1-4和示例性的在一个或多个UPS客户机和UPS目录服务器之间通信的协议,描述该发明的示例性的实施例。可以理解的是,这里描述的协议是示例性的,其可以在本发明的范围内补充、取代或另外修改。
图1说明根据本发明的一些实施例的系统100,其包括多个UPS客户机127、132、142以及UPS目录服务器117,它们用作通信网络105的节点。UPS客户机127、132、142与各自的耦合到配电网络110的UPS 120、130、140相关联。UPS客户机127、132、142用于监控UPS 120、130、140,并且与UPS目录服务器117通信。
UPS客户机127、132、142可以具体化为多种不同的形式。例如,显示UPS客户机127包含在由小容量UPS 120供电的工作站125内。例如,UPS客户机127可以包括在工作站125上执行的程序代码,其被配置成使用例如RS-232或其它通信接口监控UPS 120的状态。显示UPS 132包含在UPS 132自身内。例如,UPS客户机132可以包含在位于UPS内的通信接口电路(例如网卡)中执行的程序代码,用于监控UPS 130的状态。显示UPS客户机142包含在大型UPS 140内,UPS 140为多个数据处理元件(如主机150和存储磁盘阵列155)供电。例如,UPS客户机142可以由在监视和控制UPS 140的微处理器或其它电路中执行的程序代码实现。可以用于UPS的通信接口电路的例子包括ConnectUPS WEB/SNMP卡,提供SNMP、HTTP,SMTP、WAP和Telnet兼容性的网卡,以及由Powerwave公司出品的UPS产品的RS232通信,这些UPS产品在http//www.powerwave.com上有总体描述。
如图1所示,UPS目录服务器117可以包含在单独的服务器计算机115内。然而,可以理解,UPS目录服务器117可以在其它设备(包括网络105中的其它节点)内实现。根据本发明的各种实施例,UPS目录服务器,如图1的UPS目录服务器117,用于例如根据配电网络信息、通信网络信息、位置信息或其它与UPS 120、130、140相关联的分类信息对通信网络105中的UPS客户机127、132、142的位置分类。
在本应用中,图2-4是说明根据本发明的实施例的示例性的设备和操作的图。可以理解,在图及其组合中描述的操作可以使用例如在联网设备的通信电路中(如UPS或在操作上与UPS相关联的计算机)的一个或多个电路实现。还可以理解,在图及其组合中描述的操作通常可以在一个或多个电路中(如在一个或多个离散电子部件、一个或多个集成电路(IC)、一个或多个专用集成电路(ASIC)以及专用电路模块)以及由可以由计算机或者其它数据处理设备(如微处理器或数字信号处理器(DSP))执行的计算机程序指令实现,以产生机器,使得在计算机或其它可编程数据处理设备上执行的指令创建实现特定操作的电路或其它装置。计算机程序指令还可以在一个或多个计算机或其它数据处理设备上执行,以引起一系列由计算机或其它可编程设备执行的操作,以生成包括特定操作的计算机执行程序。
计算机程序指令也可以采用计算机程序产品的形式包含在计算机可读存储介质中,也就是说,作为包含在由指令执行系统使用或连同指令执行系统使用的介质中的计算机可读程序代码。计算机可读存储介质可以包括但不限于电、磁、光或其它存储介质,如磁盘或光盘或集成电路存储设备。例如,计算机程序指令可以包含在设备包括的存储器内,如计算机或UPS。因此,图2-4的框图支持执行特定操作的电路和其它设备、执行特定操作的动作以及被配置成执行特定操作的计算机程序产品。
参照图1和2,根据本发明的一些实施例,每一个UPS客户机127、132、142可通过通信网络105将UPS分类信息传送到UPS目录服务器117(框210)。“分类信息”可以包括指明配电网络110中的位置的配电网络位置信息,如电路名称(例如节点和/或分支名称),或其它信息,如地理信息。例如,UPS客户机127、132、142可以发送ZIP代码和/或纬度/经度信息到UPS目录服务器117。UPS分类信息可以包括在监控电力状态中有用的其它类型的信息,如可用于根据与UPS相关联的通信网络设备或部件(如域、子网或类似的设备/部件)对UPS归类的信息。可以理解,分类信息可以包括以上描述的类型的信息的组合,但是并不限于以上描述的类型的信息。
UPS目录服务器117根据所传送的分类信息产生通信网络105中的UPS客户机127、132、142的位置(例如互联网地址或其它类型的网络地址)的分类(框220),并且根据分类将通信网络位置传送到UPS客户机127、132、142(框230)。例如,在以下描述的示例性协议中,UPS目录服务器117可以根据与UPS客户机127、132、142相关联的地理信息产生并发送所选择的网络地址列表到UPS客户机127、132、142。
然后,UPS客户机127、132、142可以根据从UPS目录服务器117接收的通信网络位置信息在彼此之间传送电力状态信息(框240)。例如,如下所述,UPS客户机127、132、142可以建立对等通信链路,用于在UPS客户机127、132、142之间周期地发送电力状态信息,使得每个UPS客户机都能够确定配电网络110的所选部分的状态。
图3说明了根据本发明的另外一些实施例的监控配电网络的示例性的操作。在UPS客户机和UPS目录服务器之间建立通信(框310)。例如,如在以下所示的示例性的协议中详细描述的,UPS客户机和UPS目录服务器可以建立TCP/IP连接,然后执行各种认证过程以控制对与其它UPS客户机相关的信息的访问。
连接建立以后,UPS客户机向目录服务器发送地理信息(如ZIP代码,纬度/经度或类似的信息),并向目录服务器传送通信网络位置信息(例如UPS客户机的IP地址)(框320)。目录服务器根据地理信息生成通信网络位置信息的分类(框330)。例如,如下更详细描述的,分类可以响应来自UPS客户机的请求(例如,对满足特定地理或其它标准的UPS客户机的通信网络位置信息的请求)而发生。然后,根据分类,通信网络位置信息从UPS目录服务器传送到一个或多个UPS客户机(框340)。然后,接收UPS客户机可以根据这个通信网络位置信息传送电力状态信息(框350)。
图4说明根据本发明的另外一些实施例的示例性的操作,其中,通信网络位置信息的分类是响应来自UPS客户机的请求而产生的,并且根据通信网络位置信息的分类在UPS客户机之间建立对等通信。在UPS客户机和UPS目录服务器之间的通信使用例如在下面示例性的协议中概述的协商操作建立(框410)。接着,通信网络位置信息的请求从UPS客户机传送到UPS目录服务器(框420)。请求可以在地理上定义,例如请求可以采用以下描述的示例性协议的本地(LOCALE)请求的形式,其根据请求UPS客户机的距离返回包含满足预定标准的UPS客户机列表的本地(LOCALE)响应。接着,所选择的通信网络位置信息响应地从UPS目录服务器传送到请求UPS客户机(框430)。接着,对等通信可以在请求UPS客户机和与通信网络位置信息相关联的UPS客户机之间建立(框440),如在下面的示例性协议中描述的。然后,电力状态信息可以使用例如下面描述的对等通信协议单元通过对等链路在UPS客户机之间交换(框450)。
用于电力监控的示例性协议现在描述根据本发明的一些实施例的用于客户机一服务器和对等通信的示例性的协议。可以理解,以下提供的示例性协议的描述仅用于说明的目的,对示例性的协议的变化、添加、修改和替换都属于本发明的范围。在示例性协议的描述中,将描述某些需求,例如对某些消息的语法或发送某些消息的方式的限制。应当了解,对这些需求的表述仅仅为了描述“规则”,而示例性协议在此规则下操作,并且不构成对本发明的范围的限制,因为这些限制可以在本发明的范围内补充、减少、替代和另外改变。通常,提供这些限制以定义给定的协议;其它限制集合可以用于和本发明的其它目录服务器协议目录服务器经由互联网可访问,并且在TCP/IP连接的端口xxxxxx(目录服务器端口)监听节点。目录服务器必须能够同时处理多个连接,并且在消息语法上很严格。
命令和请求发往和来自目录服务器的消息是ASCII行,由<CRLF>行结束定界符终止。最初,服务器主机通过在TCP端口xxxxxx监听来启动目录服务器服务。当节点希望使用该服务时,其建立与服务器主机的TCP连接。当连接建立时,目录服务器发送问候或“验证(identification)”。然后,节点和目录服务器交换命令或请求和响应(各自地),直到连接结束或放弃。
命令和请求由不管大小写的关键字构成,其后可跟随一个或多个变元。所有的命令和请求都由<CRLF>对终止。关键字和变元由可打印的ASCII字符构成。每一个关键字和变元都由一个空格(SPACE)符分开。每一个变元最多可以达到40个字符长。
目录服务器在几个状态中进行。在响应初始的连接后,目录服务器进入认证(AUTHENTICATION)状态。目录服务器从认证状态前进到命令/取回(COMMAND/RETRIEVE)状态,然后到达请求/分配(REQUEST/DISPENSE)状态,最后到达完成(COMPLETED)状态。
命令和请求从节点到达目录服务器。命令在数据服务器中临时地或永久地设置信息或动态变量。来自目录服务器的答复表明接受或拒绝(响应)。请求导致目录服务器返回信息(响应)。来自目录服务器的对命令或请求的答复总是被称为响应。响应响应由ASCII行构成,该ASCII行由状态指示符和关键字组成,在关键字之后可跟随附加信息。所有的目录服务器响应都由CRLF对终止。响应最长可达512个字符,包括终止CRLF。目前有两种状态指示符正(“+OK”)和负(“-ERR”)。目录服务器必须用大写体发送“+OK”和“-ERR”。并不是所有的响应都是一行。参见本地(LOCALE)请求。如果出现多行响应,则推断多行响应是空的正响应。
超时情况目录服务器的基本超时是60秒。保持空闲的时间超过该标准值的连接使“-ERR”响应从目录服务器发到节点,并且该连接将结束。关键字TIMEOUT用于表明这种情况。
另外,与目录服务器的总连接时间一次不能超过120秒。如果这两个计时器中的任何一个被超过,则从目录服务器发生超时的情况。
连接节点不应实现计时器。如果目录服务器的活动请求超过这些值,则目录服务器不会终止连接。目录服务器积累的是空闲时间而不是处理时间。
例如-ERR TIMEOUT The PhoenixPSD Directory Server timed out at09/09/02 14:04:23.Closing Connection.<CRLF>
验证、认证和退出验证(Identification)响应当在目录服务器端口成功接收连接后,目录服务器用正的IDENT响应来应答。在接收这个响应后,连接节点可开始和服务器的交易,因为服务器将转入认证(AUTHENTICATION)状态。验证字符串必须包括识别目录服务器的版本的“[#,#]”字符串。此时,验证响应不包括‘<’或‘>’字符。‘[’字符只在字符串中出现一次。
例如+OK IDENT Copyright 2002[1.1]Phoenix PSD Server认证目录服务器内的认证需要跟随有口令(PASS)命令的用户(USER)命令。因为PASS命令只采用一个变元,在该变元内发现的任何空格都被认为是口令的一部分。
“匿名”登录总是出现在目录服务器上。在这种情况下,假定关于节点的信息不是已知的。匿名账户的口令应该是与连接节点相关联的有效的电子邮件地址。对于任何“匿名”登录的节点,只有某些功能可得。
用户(User)命令在提取来自目录服务器的信息之前需要用户命令,并且在PASS命令之前需要。它的格式为USER<验证字符串><CRLF>
验证字符串是分配给节点的登录代码。这个字符串是最小长度为6个字符、最大长度为64个字符的任意字符串。该字符串必须用字母字符(A-Z)开始,还可以只包括字母字符而没有空格。验证字符串不管大小写。“匿名”是唯一保留的登录名。
用户(User)响应除非<验证字符串>是非法的,另一个认证过程由目录服务器使用,或者因为账户已登录而锁定账户,否则用户响应为正。匿名账户是唯一可以同时登录的账户。使用关键字USER。下面是由于关键字后面的文本描述是可选的而可以返回的响应举例。
例如+OK USER<CRLF>
+OK USER Username valid.<CRLF>
-ERR USER<CRLF>
-ERR USER Username invalid.<CRLF>
-ERR USER Secure login required.<CRLF>
-ERR USER Account locked.<CRLF>
口令(Pass)命令PASS命令被要求紧跟在成功的USER命令之后。在接收到PASS命令后,目录服务器试图证实用于认证的USER/PASS对。如果该对无效,则目录服务器保持在认证状态,并向节点要求QUIT命令或另一次认证尝试。节点口令字符串要区分大小写。节点口令的长度可以是从6到64个字符不等,并可包括任何有效的可打印的包括空格字符的ASCII文本字符。
节点口令由管理员发给节点,并且不能被这个协议修改。“匿名”账户的节点口令按照惯例是节点的有效电子邮件地址。
例如PASS nodepassword<CRLF>
口令(Pass)响应口令响应使用USER/PASS组合,并表明目录服务器是仍保持在认证状态还是已经进行到取回(RETRIEVE)状态。正的/成功的响应表明已经进入RETRIEVE状态。
例如+OK PASS User logged in successfully.<CRLF>
-ERR PASS Bad authentication.<CRLF>
退出(Quit)命令当目录服务器处于任何状态时都可以发送退出命令。QUIT命令导致目录服务器开始终止连接。这是结束与目录服务器的会话的正确方法。与对于目录服务器的成功和完整的交易,应该发布退出命令以使目录服务器进入完成状态。完成状态导致可能发生数据库更新。
例如QUIT<CRLF>
退出(Quit)响应退出响应使用关键字QUIT。正的响应表明目录服务器将终止连接。
例如+OK QUIT Goodbye.<CRLF>
+OK QUIT<CRLF>
-ERR QUIT Cannot terminate.<CRLF>
活动记录保持目录服务器保存与每一次登录相关联的活动标记。在过去的24小时内还未登录目录服务器的节点被称为“不活跃的”。
依照惯例,节点应每12小时登录一次目录服务器。如果发生故障,则应当每小时重试。
取回(Retrieve)状态命令和响应目录服务器可以或不可以有具有与连接点相关联的完整信息的数据库条目(entry)。在匿名登录的情况下,条目不存在,而在其它情况下,信息可以是部分的。下面的命令可以从节点发出以填充到目录服务器数据库。如果是匿名的,则信息决不永久地和匿名账户相关,虽然可以由目录服务器登录用于以后的分析。如果不是匿名的,则新信息永久地和节点数据库条目相关,除非另外说明。
国家(Country)命令国家命令将与连接节点相关联的国家分配给目录服务器,并用于解析可能的POST命令。如果账户是匿名的,则这是临时的分配(即没有数据库更新,因为没有匿名的记录存在)。如果账户不是匿名的,则数据库记录被更新。保证存在美国和加拿大。现在,下表定义了和国家匹配的关键字
如果从未发布国家命令,则默认的国家为美国。
例如COUNTRY US<CRLF>
COUNTRY CANADA<CRLF>
国家(Country)响应国家响应表明目录服务器是否包含用于被请求国家的邮政数据库,也就是说,邮政(POST)命令是否可以用于解析地理信息。如果在非匿名的账户上发生数据库更新的故障,则也可以存在负响应。
例如+OK COUNTRY<CRLF>
+OK COUNTRY Good<CRLF>
-ERR COUNTRY<CRLF>
-ERR COUNTRY Unsupported country<CRLF>
-ERR COUNTRY Bad update on record<CRLF>
邮政(Post)命令邮政命令使用关键字POST,并且通知目录服务器节点的邮政位置。通常这是美国ZIP代码或加拿大邮政代码,但可以是任何特定国家的位置标识符(关键字)。这个命令通知目录服务器节点的邮政位置。将来它可以用作请求的关键字。如果登录的用户不是匿名的,则数据库记录被更新。加拿大代码可以在第三和第四个字符之间具有或不具有空格地发送。
例如POST L5A 4A1<CRLF>
POST 90210<CRLF>
邮政(Post)响应邮政响应使用关键字POST,表明“可接受的”邮政代码是否被接收,以及非匿名的用户的数据库是否因此被更新。在匿名的情况下,不会尝试进行数据库更新。
例如,+OK POST<CRLF>
+OK POST Postal code accepted<CRLF>
-ERR POST<CRLF>
-ERR POST Unknown<CRLF>
纬度和经度(Latitude and Longitude)命令纬度和经度命令使用关键字LATLONG,并且通知目录服务器采用十进制形式的节点的纬度和经度(以该顺序)。如果节点不是匿名登录的,则数据库记录被更新。如果登录用户是匿名的,则数据库记录不会被更新,但命令是有效的,并且信息在登录目录服务器时保持有效。
例如LATLONG 34.0998-118.4128<CRLF>
LATLONG 35.8604-78.5416<CRLF>
纬度和经度(Latitude and Longitude)响应纬度和经度响应表明“可以接受的”十进制表示的坐标是否被接收,并且如果用户不是匿名的,数据库是否被更新。
例如+OK LATLONG<CRLF>
-ERR LATLONG Bad format for lat and long<CRLF>
端口(Port)命令端口命令通知目录服务器将被其它节点连接的优选端口号是跟随关键字PORT的十进位数值。登录账户的数据库记录被更新。这个命令对于匿名的登录是无效的。如果从未发布端口命令,则假定默认端口为xxxxxx。
例如PORT 1123<CRLF>
端口(Port)响应端口响应使用关键字PORT,表明格式正确的端口命令是否被接收或者记录是否被成功地更新。匿名的登录会返回错误,因为对于该登录,不存在数据库记录。
例如+OK PORT<CRLF>
-ERR PORT<CRLF>
IP命令IP命令通知目录数据库将被其它节点连接的优选IP地址是跟随关键字IP的4部分小数点十进制(dotted dicimal)数,或是跟随关键字IP的URL名。非匿名账户的数据库被更新。这个命令对于匿名的登录是无效的。如果从未发布该命令,则连接的物理IP地址设置为源自当前的网络分组(phys_ip)。
例如IP 45.34.12.90<CRLF>
IP MICROSOFT.COM<CRLF>
IP响应IP响应使用关键字IP,表明接收了正确格式的IP命令。如果节点在匿名账户下被登录,则返回错误。
例如+OK IP<CRLF>
-ERR IP Cannot store info for anonymous<CRLF>
类型(Type)命令类型命令规定到目录服务器的节点类型。默认类型(即,如果从未发布TYPE命令)是UPS。通常,下面的关键字类型被定义UPS。
类型命令设置非匿名节点的数据库类型,并且确定用于任何搜索的类型,除非无效(参见搜索(Search))。这个命令对于匿名账户是无效的。
例如TYPE UPS<CRLF>
类型(Type)响应Type响应使用关键字TYPE,表明类型关键字是否有效。
+OK TYPE<CRLF>
-ERR TYPE Invalid type requested<CRLF>
搜索(Search)命令搜索命令规定哪种节点类型应当用于搜索(参见本地请求和节点请求)。这个命令不会更新任何数据库条目,并且不能由的匿名账户发布而没有错误。此时,参见有效类型的类型命令。
例如,SEARCH UPS<CRLF>
搜索(Search)响应搜索响应使用关键字SEARCH,表明类型关键字是否有效。
+OK TYPE<CRLF>
-ERR TYPE InValid type requested<CRLF>
单位(Units)命令单位命令规定用于由目录服务器返回的所有计算的距离量度标准。如果从未规定单位命令,则默认返回值是以英里为单位。单位命令采用两个可能的关键字MILES(英里)或KILOMETERS(公里)中的一个,这两个字总是由目录服务器支持。该值存储在登录用户的数据库里。
例如UNITS MILES<CRLF>
UNITS KILOMETERS<CRLF>
单位(Units)响应单位响应使用关键字UNITS,表明接收了有效的关键字和单位命令的语法。
例如+OK UNITS<CRLF>
-ERR UNITS Unrecognized<CRLF>
地址(Address)命令地址命令用街道地址设置已建立的节点的登录账户。这个地址必须对应与节点位置相关联的邮政或ZIP代码。这个命令对于匿名账户是非法的。这个信息可以用于加强数据库查找的分辨能力,同样地,它没有必要与姓名和电子邮件的物理位置相关联,该信息可以是服务组织,且不对应节点的物理位置。
地址命令是逗号分隔变量(CSV)字符串,由最大3个字段构成。同样地,地址可以不包含逗号,因为逗号用于区分字段。必须总是有两个逗号被传送到目录服务器。
ADDRESS<Streetasddressline1><streetasddressline2><city>
例如ADDRESS 123Mainc St.,Toronto<CRLF>
ADDRESS 1145Burard Rd.,Suite 410,San Francisco<CRLF>
地址(Address)响应地址响应表明目录服务器接受或拒绝地址命令。使用关键字ADDRESS。
例如+OK ADDRESS Address stored<CRLF>
-ERR Address too many or too few fields specified-ERR ADDRESS illegal for anonymous<CRLF>
姓名(Name)命令姓名命令使联系人姓名能够存储在目录服务器上。姓名命令在匿名账户上返回错误。应该注意的是,在协议中没有相应的取回请求用于节点提取这个信息。这只是用于目录服务器的信息。然而,这个姓名应当对应电子邮件地址,该地址稍后由电子邮件(Email)命令规定。
例如NAME Tim Horton<CRLF>
姓名(Name)响应姓名响应表明目录服务器接受或拒绝姓名命令。使用关键字Name。
例如+OK NAME stored<CRLF>
-ERR NAME illegal for anonymous<CRLF>
电子邮件(Email)命令电子邮件命令规定联系电子邮件地址。如果出现服务问题(节点故障)等,则姓名命令和电子邮件地址可以一起使用。使用关键字EMAIL。这个命令对匿名账户无效。
例如EMAIL timhorton@timbits.com<CRLF>
电子邮件(Email)响应电子邮件响应表明目录服务器接受或拒绝电子邮件命令。不合法的语法、不合法的字符或者由匿名帐户使用都可导致错误响应。
例如+OK EMAIL stored<CRLF>
-ERR EMAIL illegal for anonymous<CRLF>
制造商(Manufacturer)命令制造商命令用制造商字符串设置登录账户。制造商是节点制造商的名称。这个命令对匿名账户无效。这个目录服务器的信息不能由节点请求取回。
例如MANUF Powerware<CRLF>
制造商(Manufacturer)响应制造商响应表明目录服务器接受或拒绝制造商命令。使用关键字MANUF。
例如+OK MANUF Name stored<CRLF>
-ERR MANUF illegal for anonymous<CRLF>
计算(Calculation)请求和响应这一部分描述目录服务器可以执行的计算命令和响应。
矢量(Vector)请求矢量请求可以采取三种形式。它要求目录服务器返回从登录节点到指定纬度和经度、邮政关键字或用户名的距离和方向。矢量请求可以由任何账户(包括匿名账户)发起,但是用户名表会返回错误。使用关键字Vector,后面跟随可选的关键字L、U和P。
例如VECTOR L 35.8604-78.5416<CRLF>
VECTOR U username<CRLF>
VECTOR P 90210<CRLF>
VECTOR P M5W 1E6<CRLF>
矢量(Vector)响应正的矢量响应表明获得到指定节点或坐标的距离和方向。返回用空格分开的两个数字。第一个数字是距离,第二个数字表明在指定距离发现指定坐标的0至359度之间的方向角。
矢量响应可以因为许多原因而为负如果连接节点是匿名的,未发布LATLONG或POST命令,出现无效的用户名,或者在数据库中没有足够的信息解析答案,或者如果请求的语法是无效的。
例如+OK VECTOR 23.8745 210.23<CRLF>
-ERR VECTOR<CRLF>
-ERR VECTOR Insufficient data.<CRLF>
本地(LOCALE)请求本地请求要求目录服务器返回最接近登录节点的最多达20个节点的列表。作为匿名登录的节点不能发布该命令并接收成功的响应。
例如LOCALE<CRLF>
本地(LOCALE)响应答本地响应使用关键字LOCALE,并且返回多行-在目录服务器的数据库中最多达20个最接近的节点。其中节点被返回的顺序是根据计算的距离由最近至最远。使用当前的集合UNITS。格式如下+OK LOCALE<username><ipName><port><latitude><longitude>
<distance><direction><postal><phys_ip><actiVity><CRLF>
+OK LOCALE<username><ipName><port><latitude><longitude>
<distance><direction><postal><phys_ip><activity><CRLF>
+OK LOCALE<CRLF>
使用关键字LOCALE并且后面紧跟<CRLF>的本地响应表明列表的结束。如果在数据库中没有发现20个条目作为有效响应,则可以小于总共20行。不应该假设总是返回20个节点,因为附加的规则可适用于目录服务器以有效条目响应本地请求的半径。应该注意的是,可返回零个节点,其表明响应只有+OK LOCALE<CRLF>行。
多个本地请求会返回同样的信息,除非新的节点在进行两次请求的时间之间已加入目录服务器数据库中,其中时间符合返回节点的目录服务器的规则。为了获得更多的节点,参看节点请求。
邮政参数是在目录服务器数据库中的邮政代码。这个字段不包括空格。如果字段为0,则没有已记录的邮政代码。本地命令从不返回登录节点。
Phys_ip是上一次用于从节点连接到目录服务器的实际的物理IP地址。如果从未进行连接或地址不可用其它方式得到,则Phys_ip可以是0.0.0.0。应当注意,ipName可以是0.0.0.0,在这种情况下,节点应该尝试连接到phys_ip,除非phys_ip是0.0.0.0,在这种情况下,没有连接可以建立。
如果端口被报告为0,则应使用默认端口xxxxxx。
活动(Activity)是整数值。负的返回值表明在过去的24小时内节点还没有联系目录服务器,零或者正的值表明已经联系。根据惯例,负值的程度表明节点已经休眠的天数。正值的程度是节点已经活动的连续天数。
例如+OK LOCALE TOR 145873 44.61.234.113 214534.0998-118.41280.14392.33M6W1E5 44.61.234.113 11<CRLF>
+OK LOCALE BEV726523 baywatch.com 14287 35.8604-78.54162145.0986 207.6 90210-0111 44.61.234.111 567<CRLF>
+OK LOCALE<CRLF>
-ERR LOCALE<CRLF>
-ERR LOCALE Invalid requ est<CRLF>
节点(Node)请求节点请求返回单个由本地请求返回的类型的节点条目行,而不是可能的多行。
节点请求对历史敏感。如果前一个本地请求已进行,或者前一个节点请求已进行,则节点请求将返回距离登录节点的距离半径最远的下一个节点。如果之前没有本地或节点请求,则根据登录节点的距离返回最近的节点。对于匿名用户,该请求总是返回错误情况。
例如NODE<CRLF>
节点(Node)响应节点响应使用关键字NODE,并返回距离登录节点最近的下一个节点直到数据库中不再存在条目,或者目录服务器内部的规则导致节点的列表用完。节点响应总是单行返回。
为了表明用完的列表,目录服务器返回空行,+OK NODE<CRLF>。没有“插入本地请求”的附加节点请求继续返回该用完的列表的指示。如果可以如目录服务器的内部规则所定义的,则“插入本地请求”重新设置列表,节点请求在本地列表之后返回下一个条目。
例如+OK NODE TOR145873 44.61.234.1132145 34.0998-118.4128 0.14392.33M6W1E5 44.61.234.113-2<CRLF>或者+OK NODE<CRLF>
-ERR NODE Cannot calculate<CRLF>
-ERR NODE<CRLF>
节点到节点的协议使用由目录服务器提供的信息,节点能够建立节点到节点(对等)的连接。节点之间的连接是TCP/IP套接字连接。
协议是单边的、异步的、非模态的以及单工的。这意味着一旦以前版本和验证字符串被共同发送,则●电力信息是发送/接收的唯一信息;●电力信息可以在任何时候发送/接收;●对于任何发送/接收的电力信息没有确认;●不存在任何机制用于节点请求。
通过建立的TCP/IP连接,节点只能发送它的电力信息并且异步地接收来自于远程节点的电力信息。
信息通过ASCII字符传送,以<CRLF>终止。非终止的字符串会被忽略。接收的与定义的关键字或定义的数字语法不匹配的字符串会被忽略,并且不应用作终止连接的依据。
建立节点到节点的连接在从目录服务器取回节点信息之后,节点可以使用<ipName>以通过<port>连接到另一个节点。如果ipName是0.0.0.0,则节点应使用phys_ip连接到节点。如果端口是0,则节点应使用xxxxx连接到另一个节点。如果ipName和phys_ip都是0.0.0.0,则节点应首先用ipName尝试连接,如果失败,则用phys_ip尝试连接。
在节点之间建立的连接是非模态的。不存在主节点或从节点。同样,节点从不需要向后连接到已经从那儿接收到连接的节点。
在连接后,接收机(以前的收听者)应在5秒的延迟加上0至5秒之间的随机等待时间之后确定现有的连接是否已经存在。一旦已超过这个时间(其允许完成用户名的交换),接收机(以前的收听者)应测试和了解这个连接是否是冗余连接。如果是,则应当立即终止该连接。随机等待时间确保两个节点不会变成永久死锁--同时检测冗余连接和只为再次断开而重新建立。
连接不能建立或终止的原因可能有很多。如果不能建立连接(即未进行连接,因而没有数据交换),则任何被支持的重试机制不应比每60秒一次更频繁地重试,但是可以执行希望的多次重试。
如果发生多次快速断开(连接后,交换验证字符串(用户名),稍后10秒内断开),则节点重试不会大于每天24次,即最多每小时一次。
如果两个已连接并正在通信的节点发生异步断开,则节点在0和60秒之间的随机秒数内尝试重新相互连接,以防止死锁连接/断开的情况。公平性(Fairness)对等网络通过信息共享以互惠的机制工作,并要求建立公平性。
没有提供足够电力信息的节点在网络中被认为是不公平的。
基本规则如下●节点应当在主要的电力故障或返回事件之后尽可能快地提供电力信息。
●节点应当最少每30秒一次提供重复的、周期更新的电力信息。
●拒绝建立连接的节点不应在电上烦扰,因为它可能已经达到其最大的连接数量。
如果节点确定与其连接的节点不公平,则可以在任何时间终止连接。认证(Authentication)在节点到节点的连接中不存在认证阶段。然而,在任何已建立的连接上被发送的第一个信息是后面紧跟着节点用户名的版本字符串。版本字符串和用户名字符串在连接之后立即由连接的呼叫方和接收方发送。这是唯一可识别的,因为版本不仅是被发送的第一个字符串,其后跟着<CRLF>消息序列结束,而消息序列后面跟着姓名字符串,而且所有的电力信息总是以数字开头。
如果出现两个节点中的任意一个接收到它们不希望保持连接的用户名,则连接在2秒延迟后结束。如果节点已经达到任意最大数量的连接并且不希望保持任何新的连接时,这种情况也会发生。
某些节点可能不关心谁连接到它们,事实上这是优选节点的行为。其它节点可能只希望接受它们先前已从目录服务器本地请求中获得的节点。在这种情况下,对于新添加的节点,可存在24小时的窗口,在该窗口,节点不能连接到邻近的节点。
对等协议定义下面概略描述在对等网络上的节点之间使用的协议。
版本字符串版本字符串是由任何节点在与另一个节点新建立的连接上发送的第一个数据。使用关键字VERSION,后面跟随空格和版本号。该协议的版本的版本号是1。它紧邻姓名字符串之前,实际上,它们必须同时发送。
例如VERSION 1<CRLF>
姓名字符串在连接建立后,无论作为连接者还是接收者,节点立即发送其版本字符串,其后紧随用户名字符串,用户名字符串使用关键字NAME,其后跟随节点的目录服务器用户名和<CRLF>消息中止符。目录服务器的用户名区分大小写,可以任何格式发送,然而,推荐采用大写的字母字符。
为了编码的目的,在实践中,节点应将版本和姓名字符串作为单个网络记录发送。
例如NAME TOR145873<CRLF>
电力(Utility)信息电力信息用数字引导的常数交换,如下表所示
标号为0和1的消息不需要参数跟随,并必须为每一个节点支持。它们将设备上电力供电的全部状态表示为二进制的量度标准0表明存在电力故障或“没电”,1表明“有电”。在数字和<CRLF>消息结束指示符之后没有空格。
如果在节点发生这个参数改变,则该消息应当尽可能合理快(尽可能立即)地由节点发送至所有其它连接的节点。其它的信息(3到6)与节点的电力的全部状态相比不太重要。
“有电”和“没电”的准确定义是一些判断的问题。如果正常的120V电力运行在98V,这是有电还是没电?这留给每个节点执行映射“有电”到“没电”的算法。然而,作为一个普遍的原则,如果电力低于合理的水平运行,则它应当被认为没电。
消息3至6需要参数。该参数跟随在消息数字后的一个空格,并且是对应节点的最佳能力的准确的电力点(采样值)。具体地,这个值不是平均值,而是在发送时间点上或非常接近发送时间点的抽样值。期望该值是十进制的数,且在小数点后有不确定个数的有效数字。对这些消息的支持是可选的,但是由所有节点极力推荐。
要求所有的节点发送消息0和1。所有其它的消息都是可选的。可能是单元是多相的盒子,但只知道一个相间电压。在这种情况下,只发送那个相电压消息。
根据公平性,采样值和全部的状态电力信息应当每30秒发送一次。如果状态发生改变(即消息0和1),则如果改变用数值确定,则这些消息应该尽可能快地发送到所有连接点。
例如0<CRLF>
1<CRLF>
2 59.88234<CRLF>
3 110<CRLF>
4 241.67363<CRLF>
5 240.444<CRLF>
应当了解,前面的示例性协议适用于说明的目的,本发明包括其它电力监控技术。例如,UPS客户机可关注依据除了地理标准外的内容(如在通信网中的位置)监控电力状态。例如,监控与为通信网络的特定部分服务的UPS相关的UPS客户机是有利,这样通过检测在一个被监控的UPS处的电力状态的变化,可以预见网络中即将发生的功能损失或衰减。这样的信息可以用于例如启动关机、数据保护以及其它可紧急措施。
在附图和说明书中,已公开了本发明的示例性的实施例。尽管使用了特定的术语,但是它们可用在一般性的描述性的方面,并不是出于限制的目的,本发明的范围由以下的权利要求限定。
权利要求
1.一种电力监控系统,包括多个不间断电源(UPS);以及通信网络,其包括多个UPS客户机,用于监控各自的一个UPS;以及UPS目录服务器,与UPS客户机通信并用于对UPS客户机分类。
2.根据权利要求1的系统,其中,所述UPS目录服务器用于根据从UPS客户机接收的分类信息对UPS客户机分类。
3.根据权利要求2的系统,其中,所述分类信息包括位置信息、配电网络信息和通信网络信息中的至少一个。
4.根据权利要求2的系统,其中,所述UPS客户机用于将分类信息传送到UPS目录服务器;所述UPS目录服务器用于根据所传送的分类信息对UPS客户机生成通信网络位置信息的分类,并根据所生成的分类将通信网络位置信息传送到UPS客户机。
5.根据权利要求4的系统,其中,所述UPS客户机用于根据由UPS目录服务器传送的通信网络位置信息传送电力状态信息。
6.根据权利要求5的系统,其中,所述UPS客户机用于使用由UPS目录服务器传送的通信网络位置信息建立对等的通信链路,并通过对等的通信链路传送电力状态信息。
7.根据权利要求4的系统,其中,所述UPS客户机用于将通信网络位置信息的请求传送到UPS目录服务器;所述UPS目录服务器用于响应所传送的请求将通信网络位置信息传送到UPS客户机。
8.根据权利要求4的系统,其中,所述通信网络位置信息包括网络地址。
9.根据权利要求1的系统,其中,所述多个UPS耦合到配电网络;所述UPS目录服务器用于将UPS客户机的通信网络位置与配电网络中的位置相关联。
10.根据权利要求1的系统,其中,至少一个UPS客户机在UPS的通信接口电路中实现。
11.根据权利要求1的系统,其中,至少一个UPS客户机在由UPS供电的数据处理设备的通信接口电路中实现。
12.一种设备,包括UPS目录服务器,用于与耦合到各自的UPS的多个UPS客户机通信,并响应地对UPS客户机分类。
13.根据权利要求12的设备,其中,所述UPS目录服务器用于根据从UPS客户机接收的分类信息对UPS客户机的位置分类。
14.根据权利要求13的设备,其中,所述分类信息包括位置信息、配电网络信息和通信网络信息中的至少一个。
15.根据权利要求13的设备,其中,所述UPS目录服务器用于根据从UPS客户机接收的分类信息对UPS客户机生成通信网络位置信息的分类,并根据所生成的分类将通信网络位置信息传送到UPS客户机。
16.根据权利要求13的设备,其中,所述UPS目录服务器用于响应从UPS客户机接收的请求将通信网络位置信息传送到UPS客户机。
17.根据权利要求13的设备,其中,所述通信网络位置信息包括网络地址。
18.根据权利要求12的设备,其中,所述UPS目录服务器用于将UPS客户机的通信网络位置与配电网络中的位置相关联。
19.根据权利要求12的设备,其中,所述UPS目录服务器在耦合到通信网络的计算机中实现。
20.一种电力监控设备,包括用于监控UPS的UPS客户机,所述UPS客户机耦合到通信网络中的UPS目录服务器,并用于从所述UPS目录服务器接收另一个UPS客户机的通信网络位置信息,并根据所接收的通信网络位置信息,响应地将电力状态信息传送到另一个UPS客户机。
21.根据权利要求20的设备,其中,所述UPS客户机用于使用所接收的通信网络位置信息建立与另一个UPS客户机的对等通信链路,并通过对等通信链路传送电力状态信息。
22.根据权利要求20的设备,其中,所述UPS客户机用于将对另一个UPS客户机的通信网络位置信息的请求传送到UPS目录服务器。
23.根据权利要求20的设备,其中,所述UPS客户机还用于将相关UPS的通信网络位置分类信息传送到UPS目录服务器。
24.根据权利要求23的设备,其中,所述分类信息包括位置信息、配电网络信息和通信网络信息中的至少一个。
25.根据权利要求20的设备,其中,所述通信网络位置信息包括网络地址。
26.根据权利要求20的设备,其中,所述UPS客户机在集成UPS的通信电路中实现。
27.根据权利要求20的设备,其中,所述UPS客户机在由UPS供电的数据处理设备的通信接口电路中实现。
28.一种电力监控方法,包括响应从在UPS目录服务器上的UPS客户机接收的分类信息,对UPS客户机分类,其中各个UPS客户机监控各自的不间断电源(UPS)。
29.根据权利要求28的方法,其中,所述分类信息包括位置信息、配电网络信息和通信网络信息中的至少一个。
30.根据权利要求28的方法,还包括根据分类将通信网络位置信息从UPS目录服务器传送到第一UPS客户机。
31.根据权利要求30的方法,还包括根据所传送的通信网络位置信息,在第一UPS客户机和第二UPS客户机之间传送电力状态信息。
32.根据权利要求31的方法,其中,所述传送电力状态信息包括根据所传送的通信网络位置信息,在第一UPS客户机和第二UPS客户机之间建立对等的通信链路;以及通过对等的通信链路传送电力状态信息。
33.根据权利要求28的方法,其中,所述对UPS客户机分类包括响应由UPS客户机发送的请求对UPS客户机的通信网络位置分类。
34.根据权利要求33的方法,其中,所述通信网络位置包括网络地址。
35.一种计算机程序产品,包括配备在计算机可读存储介质中的程序代码,计算机程序代码包括UPS目录服务器程序代码,被配置成实现用于与多个监控各自的UPS的UPS客户机通信并对UPS客户机分类的UPS目录服务器。
36.根据权利要求35的计算机程序产品,其中,所述UPS目录服务器用于响应从UPS客户机接收的分类信息对通信网络中的UPS客户机的位置分类。
37.根据权利要求36的计算机程序产品,其中,所述分类信息包括位置信息、配电网络信息和通信网络信息中的至少一个。
38.根据权利要求35的计算机程序产品,其中,所述UPS目录服务器还用于根据分类将通信网络位置信息传送到UPS客户机。
39.根据权利要求35的计算机程序产品,其中,所述UPS目录服务器用于响应从UPS客户机接收的请求对通信网络中的UPS客户机的位置分类。
40.一种计算机程序产品,包括配备在计算机可读存储介质中的程序代码,计算机程序代码包括UPS客户机程序代码,被配置成建立用于监控UPS并被耦合到通信网络中的UPS目录服务器的UPS客户机,所述UPS客户机用于从UPS目录服务器接收另一个UPS客户机的通信网络位置信息,并根据所接收的通信网络位置信息响应地将电力状态信息传送到另一个UPS客户机。
41.根据权利要求40的计算机程序产品,其中,所述UPS客户机用于将对其它UPS客户机的通信位置信息的请求发送到UPS目录服务器。
42.根据权利要求41的计算机程序产品,其中,所述UPS客户机端还用于将UPS的分类信息传送到UPS目录服务器。
43.根据权利要求42的计算机程序产品,其中,所述分类信息包括位置信息、配电网络信息和通信网络信息中的至少一个。
全文摘要
一种电力监控系统,包括多个不间断电源(UPS)和包括多个耦合到各自的一个UPS的UPS客户机和与UPS客户机通信的UPS目录服务器的通信网络。UPS目录服务器用于对通信网络中的UPS客户机的位置分类。例如,UPS目录服务器可用于根据从UPS客户机接收的分类信息对通信网络中的UPS客户机的位置分类,其中分类信息如由UPS目录服务器例如使用对等通信链路传送的位置信息、配电网络信息或者通信网络位置信息,对等通信链路使用由UPS目录服务器传送的网络位置信息建立。本发明可以具体化为设备、方法和计算机程序产品。
文档编号G08C19/00GK1764934SQ200480008117
公开日2006年4月26日 申请日期2004年3月12日 优先权日2003年3月26日
发明者J·汤普森 申请人:伊顿动力品质公司