将状态信息传送到计算机资源的用户的方法和系统的制作方法

文档序号:7616270阅读:226来源:国知局
专利名称:将状态信息传送到计算机资源的用户的方法和系统的制作方法
技术领域
本发明通常涉计算机资源,更具体地说涉及将状态信息传送到计算机资源用户。
背景技术
计算机用户频繁地访问不在他们自己的计算机上驻留的计算机应用软件程序和其它计算机资源。例如,用户可能访问在网络中的远程处理系统上驻留的软件应用和/或通过因特网连接到在远程服务器上驻留的网站。当发生问题从而远程计算机资源(例如应用、在其上运行一个或多个应用的服务器等)停止响应或响应缓慢时,即便有,也很少为与远程计算机资源通信的用户提供关于为什么计算机资源不再如所期望的那样响应的信息。例如,可能为试图连接到已停机的服务器的用户提供消息“正在连接到服务器...”,该消息在他们的计算机屏幕上保持延长的时间段。当超时时间到期后,用户可能收到如“服务器无响应...”或“无法找到服务器...”的消息。用户可能不会收到关于失败的连接尝试的任何其它信息。

发明内容
本发明的实施例提供将资源状态信息传送给计算机资源用户。在消息存储器中存储关于若干不同计算机资源的状态信息。可监测计算机资源以确定何时其中之一停止响应。然后可使用网络地址转换操作将地址为无响应计算机资源的来自用户的入站消息路由到消息存储器,并可将至少一些关于无响应计算机资源的状态信息从消息存储器发送到用户。从消息存储器发送到用户的状态信息可以包括一通知,该通知提醒用户不需要通知管理员无响应计算机资源已经停止响应。
可更新在消息存储器中存储的状态信息以反应多个计算机资源中的一个被计划将要离线。在确定计算机资源已经停止响应之后可动态更新在消息存储器中存储的状态信息。在获知无响应计算机资源已经恢复响应之后也可以更新在消息存储器中存储的状态信息,然后可取消网络地址转换操作。在计算机资源恢复响应之后还可由消息存储器通知用户。在本发明的实施例中,可将表明计算机资源已经恢复响应的通知发送到预订接收这种通知的用户。
在消息存储器中存储的状态信息可包括例如关于如下事项的信息无响应计算机资源何时停止响应、无响应计算机资源为什么停止响应、无响应计算机资源期望何时恢复响应、以及是否已通知合适的系统管理员。此外,消息存储器可为多个计算机资源中的一个或多个存储当前和将来的状态信息。
在本发明的某些实施例中,可通过周期性地轮询计算机资源并且如果在一个或多个周期性的轮询中没有收到响应则确定计算机资源中的一个或多个已经停止响应,来完成对计算机资源是否已经停止响应的确定。可在确定计算机资源已经停止响应和/或获知计算机资源被计划将在未来离线之后,动态修改轮询计算机资源的频率。在本发明的某些实施例中,计算机资源可在它们停机和/或重启时直接通知监测系统。在其它一些实施例中,一本地“监测器”如果确定计算机资源已经失败或停止响应,将通知监测系统。
根据本发明的进一步的实施例,通过如下装置来提供将资源状态信息传送到无响应计算机资源的用户存储关于多个计算机资源的消息存储器,确认该多个计算机资源中的各个计算机资源何时停止响应的监测系统,响应监测系统并将消息从用户路由到多个计算机资源的路由器,以及与路由器连接的、将已经停止响应的计算机资源的网络地址转换为分配给消息存储器的网络地址和/或端口的网络地址转换器。可在第一处理系统上实现消息存储器,并可在不同于第一处理系统的处理系统上实现该多个计算机资源。或者,可以在一个或多个包括和/或包含正在被监测的计算机资源的相同的数据处理系统上实现消息存储器。
消息存储器可包括提供给无响应计算机资源的用户的消息的数据库。消息存储器还可包括多个代理,这些代理被设置以建立消息存储器和无响应计算机资源的用户之间的通信。监测系统可与计算机资源通信以确定何时计算机资源中的一个或多个无响应,并且它还可确定何时无响应计算机资源恢复响应。
如本领域的技术人员将进一步认识到的,虽然上述主要参照方法和系统方面进行了说明,但是本发明可体现为包括方法、装置/系统、和/或计算机程序产品。


图1是根据本发明实施例的系统的框图;图2是适合用于本发明实施例中的数据处理系统的框图;图3是可用于本发明实施例中的数据处理系统的各方面的更详细的框图;图4是根据本发明实施例的消息存储器的框图;图5是示出了根据本发明实施例的操作的流程图。
具体实施例方式
现在将参照附图更加详细地说明本发明,在附图中示出了本发明的实施例。然而,本发明可以以许多不同的形式来实现,并不应该被理解为限制于这里提出的实施例;而是,提供这些实施例以使本公开充分而完整,并全面地将本发明的范围传达给本领域的技术人员。全文中相同的标号表示相同的部件。
如本领域的技术人员将认识到的,本发明可以实现为方法、数据处理系统或计算机程序产品。因此,本发明可采取的形式为完全硬件实施例、完全软件实施例、或结合了软件和硬件方面的实施例,这些软件和硬件方面在这里一般地称为“电路”或“模块”。此外,本发明的可采取的形式为在计算机可用存储介质上的计算机程序产品,该计算机可用存储介质具有在该介质中包含的计算机可用程序代码。可以使用的任何适合的计算机可读介质,包括硬盘、CD-ROM、光存储设备、如那些支持因特网或内联网的传输介质、或磁存储设备。
可以用如Java、Smalltalk或C++的面向对象编程语言来编写用于实现本发明的操作的计算机程序代码。然而,也可以用如“C”编程语言的传统的面向过程的编程语言来编写实现本发明的操作的计算机程序代码。该程序代码可以完全在一台计算机上执行,或在可位于一个位置和/或多个远程位置的多个不同的计算机上执行。在后一种情况下,位于远程位置的计算机可以通过局域网(LAN)或广域网(WAN)互相连接,或可与一外部计算机形成连接(例如,使用因特网服务提供商通过因特网进行)。在包括多个位于远程位置的计算机的本发明的某些实施例中,部分或全部位于远程位置的计算机可以不互相连接。
下面参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或框图,来部分说明本发明。应该理解,可以通过计算机程序指令来实现这些流程图和/或框图中的每一块和流程图和/或框图中的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生一种机器,从而通过该计算机或其它可编程数据处理装置的处理器执行的指令创建这样的装置,该装置用于实现在这些流程图和/或框图中的一块或多块中确定的功能/动作。
也可以在计算机可读存储器中存储这些计算机程序指令,该些指令可以指导计算机或其它可编程数据处理装置以特定的方式作用,从而在计算机可读存储器中存储的该些计算机程序指令产生包括指令装置的制造物品,该指令装置实现在这些流程图和/或框图中的一块或多块中规定的功能/动作。
这些计算机程序指令也可被载入计算机或其他可编程数据处理装置中,以造成在该计算机或其他可编程装置上执行一系列操作步骤,而产生计算机实现的一过程,从而在该计算机或其他可编程装置上执行的指令提供了用于实现这些流程图和/或框图中的一个或多个块的步骤。
本发明的实施例用于将资源状态信息传送到计算机资源用户。如上所述,除了其无响应这个事实之外,可能不为远程计算机资源用户提供有关无响应计算机资源的任何信息。这样,用户可能不知道为什么资源没有响应(它可能是例如连接问题、拥塞问题、远程计算机资源的问题等)。通常也不为用户提供计算机资源何时将恢复响应,或该问题是孤立的事件还是经常性的事件。用户通常也不知道是否已将该问题通知远程计算机资源的管理员/操作员,如果有管理员/操作员的话。本发明的方法、系统和计算机程序产品提供了用于将有关无响应计算机资源的状态信息传送到这些资源的用户的装置。
下面将参照

本发明的各种实施例。图1示出了根据本发明的一些实施例的系统100。如图1所示,状态信息传送系统100包括消息存储器104、监测系统108、路由器112和网络地址转换器116。提供了由多个用户124中的一个或多个使用的多个计算机资源120。计算机资源120可以是例如在服务器或其它数据处理系统(例如Lotus Notes,Oracle等)上运行的应用软件程序、网站、和/或计算机硬件(例如正在运行多个应用程序或定制的固件应用的服务器)。虽然在图1中,只示出了三个计算机资源120和三个用户124,但是应该理解本发明的方法、系统和计算机程序产品可以与其它数量的例如多得多的计算机资源120和用户124一起操作。
如图1所示,用户124可以通过至少一个路由器112与计算机资源120互连。“路由器”是指通过网络路由消息其路径的至少一部分的硬件和/或软件设备,尤其包括位于消息的预期目的地(即计算机资源120之一)处或附近的、可以在实际传送之前将消息路由到其它地方的硬件和/或软件设备。路由器可以是独立设备或是还执行如网络接入点或网关的其它功能的硬件和/或软件系统的一部分。应该理解路由器112可以包括单个设备/系统或多个不同的设备和系统。路由器与网络地址转换器116协同操作。
如本领域的技术人员将理解的,网络地址转换器是指这样的硬件和/或软件单元,其将通过网络被路由的消息的网络地址(例如目的地地址)转换成另一个网络地址,或以其他方式操作以将要去往一个网络地址的消息路由到不同的网络地址。通常,网络地址转换器116将位于路由器112上或甚至实现为路由器软件的一部分。然而,还应该理解网络地址转换器116可以位于远离路由器112的设备上。应该理解网络地址转换器116还可以包括单个设备/系统或多个不同的设备和系统。
仍如图1所示,状态信息传送系统100还包括消息存储器104和监测系统108。消息存储器是用于状态信息的存储位置,状态信息包括例如预定义的和/或动态产生的、关于与状态信息传送系统100相关的计算机资源120的状态消息。消息存储器可进一步包括用于生成和发送消息给计算机资源120的用户的124的能力。消息存储器104与监测系统108通信,尽管在本发明的一些实施例中消息存储器104可选地可以直接或通过监测系统108之外的中间系统/资源与计算机资源120通信。监测系统108与至少一些(并通常为所有)计算机资源120通信。监测系统108监测计算机资源120以至少识别(1)计算机资源120停止响应和/或(2)无响应计算机资源120恢复响应的情形。可以设置消息存储器104和监测系统108之一或二者来将消息发送给用户124。这可以例如通过消息存储器104和/或监测系统108通过路由器112将消息发送给用户124来实现。
在图1的系统100中示出的本发明的实施例以如下方式操作。各个用户124通过路由器112与一个或多个计算机资源120通信。监测系统108监测计算机资源120。在本发明的某些实施例中,监测系统108通过周期性地轮询计算机资源120来实现这种监测功能。当计算机资源120之一未能响应一个或多个轮询时,监测系统108可推断计算机资源120已经意外地停止了正确地响应。可以根据期望的响应性、准确性和为系统指定的其它性能标准,来以各种不同的方式来定义什么构成了对轮询的响应失败。在本发明的其它实施例中,计算机资源120可在它们关闭或重启时本身通知监测系统108。如果本地监测器确定计算机资源120已经失败或停止响应,它也可通知监测系统。本领域的技术人员将理解也可以使用其它监测方法,并且系统可以采用一种或多种方法来实现监测功能。
一旦获知(例如在收到来自监测系统108的消息之后)计算机资源120之一已经停止响应,消息存储器104可采取措施来实现网络地址转换,该网络地址转换将地址为无响应计算机资源120的入站消息流转移到消息存储器104。在图1所示的本发明的实施例中,消息存储器104可以通过向路由器112发送一个控制消息来实现该任务,然后路由器112和网络地址转换器116实现网络地址转换。然而,可以理解消息存储器104可以通过各种方法来实现该任务,所述方法例如直接向网络地址转换器116发送一个请求网络地址转换的控制消息。本领域的技术人员还将理解在本发明的其它实施例中,监测系统108或其它系统部件可以采取必要措施来实现网络地址转换。
例如,可以通过将入站消息上的网际协议或“IP”地址和/或端口地址映射成消息存储器104的IP地址和/或端口地址,在路由器112上实现网络地址转换。是映射IP地址和端口地址之一还是二者可取决于例如在其上实现计算机资源120(例如当计算机资源是应用程序时)和消息存储器104的平台。网络地址转换器116可以对在路由器112上接收到的地址为无响应计算机资源120的消息执行网络地址转换。以这种方式,在已经实现网络地址转换之后在路由器112上接收到的地址为无响应计算机资源120的消息被路由到消息存储器104,而不是该无响应计算机资源120。
在本发明的一些实施例中,消息存储器104可以包含多个“代理”。每个代理可以被设置成与这样的用户124通信,该用户正在试图与计算机资源120的特定之一通信。这样,代理可以被设置成通过使用为与特定计算机资源的通信定义的握手协议,来完成在用户124之一正在试图与计算机资源120的该特定之一建立通信时发生的“握手”。在本发明的这些实施例中,对于每个通过网络地址转换转发到消息存储器104的消息,与身为该消息的地址的计算机资源120关联的代理处理该消息。消息存储器104还可包括多个预存储的消息。这些消息可以包括当满足特定标准的可以使用的“预制”(pre-canned)消息,以及已经由计算机资源120的管理员和/或计算机资源120本身提供的特定消息和/或动态产生的消息。
一旦接收到初始地址为计算机资源120之一的、已由所实施的网络地址转换转移到消息存储器104的消息,消息存储器104可将响应消息发送给发送该入站消息的用户124。该响应消息可以是例如存储在消息存储器104中的预制消息之一、特定消息之一、和/或动态产生的消息。作为例子,在由于计算机资源120意外地停止响应而进行网络地址转换的情况下,消息存储器104可具有很少或不具有关于为什么该计算机资源停止响应的信息。在此情况下,消息存储器104可给正试图连接到无响应计算机资源120的用户发送一个预制消息,该消息告知用户124计算机资源120已意外地停止响应并正在通知该无响应计算机资源120的管理员。
如上所述,消息存储器104也可以用于存储并分发关于涉及一个或多个计算机资源120的计划停机的消息。例如,可以使计算机资源120之一周期性地离线,以进行预定的维修和更新。在此情况下,该计算机资源120的管理员可以发送一个消息到消息存储器104,该消息将被发送到试图在计算机资源120离线以进行预定维修期间连接到该计算机资源120的任何用户124。管理员可以输入或选择将要被发送到用户124的确切消息。示例性消息可以是你的Lotus Notes Mail服务器当前离线,以进行先前预定的维修和实施计划的升级。关于此计划停机的通知发送于7月3日和7月9日。Lotus Notes Mail服务器计划在今天下午4:00(并可能更早)重新上线。请勿就该停机联系系统管理员。
然后消息存储器104将管理员指定的消息发送给在计算机资源120离线以进行计划维修期间试图与该计算机资源120通信的任何用户124。
当无响应计算机资源120重新上线时,监测系统108可识别该条件改变。这可以通过许多不同的方法实现,这些方法包括例如当计算机资源120重新上线时使计算机资源120将向监测系统108发送一消息,或者由监测系统108轮询计算机资源120并接收对轮询的响应。当计算机资源120重新上线时,监测系统108可采取措施来取消网络地址转换,该网络地址转换当前正在将地址为先前无响应计算机资源120的入站消息流转移到消息存储器104。监测系统例如可通过将控制消息发送到路由器112和/或网络地址转换器116,指示路由器112和/或网络地址转换器116停止进行网络地址转换,来实现该任务。
对于计划停机,例如可以通过电子邮件在停机之前很久通知用户。这种电子邮件通知可以由将具有计划停机的计算机资源120、消息存储器104、或其它系统或网络部件来发送。在计划停机之时或之后,计算机资源120和/或消息存储器104可发送关闭通知给计算机资源120的用户。
根据本发明的实施例,当遭受停机(计划的或其它)的计算机资源120恢复响应时,也可以通知用户。在本发明的某些实施例中,这可以通过一预订服务来实现。例如,特定用户124可能在计算机资源120由于未知原因关闭期间,试图连接到特定计算机资源120。在此情况下,消息存储器104可向用户124发送一个状态消息,通知用户124计算机资源120无响应。该状态消息可进一步包括关于如何预订当计算机资源120恢复响应时接收通知消息的指示。例如,该状态消息可以例如指示Lotus Notes服务器于东部标准时间2004年2月2日10:31关闭。系统管理员已经得到提醒。通过在http//msgstore9.com处预订该资源,你可以在服务器开启时得到通知。
用户124可以点击超链接或以另外的方式导航到所指定的网站,并预订当计算机资源120恢复响应时接收通知消息。用户124还可以选择关于她将如何被通知(例如电子邮件、即时消息等)和/或预订的持续时间(例如仅下一次开启,24小时、一个星期内的开启和停止等)的选项。当监测系统108探测到计算机资源120已经恢复响应时,它通知消息存储器104,而消息存储器104可发送通知消息给所有预订接收该通知的用户。
在本发明的某些实施例中,监测系统108可以是如由IMB公司提供的Tivoli应用之一的资源监测应用。这种资源监测应用不仅可以识别计算机资源120没有正确地响应时的情况,而且可以例如附加地得出关于计算机资源120没有正确地响应的原因的逻辑结论并预计解决该问题所需的时间,以及在一些情况下,还可以自动地进行矫正行动。当使用这些类型的资源监测应用来实现监测系统108时,有可能在意外的停机发生时例如使用动态产生的消息来提供附加的信息给消息存储器104(并因此给用户124)。
例如,资源监测应用可以探测出正被监测的特定应用120的响应时间已经到达不可接受的水平。基于该信息和关于该应用的其它参数的信息,资源监测应用可以确定已经发生了致命错误并必须重启应用120。此时资源监测应用可通知消息存储器104一未计划停机将要发生,应用120将被自动重启,并且重启过程预计持续约3分钟。然后消息存储器104将安排网络地址转换,且监测系统108例如可重启应用120。如以下更祥细描述的,消息存储器104还可以发送消息给无响应应用120的用户124,以为他们提供关于停机的状态信息(例如,停机已经发生,停机的预期持续时间等)。本领域的技术人员将理解还包括不只是监测计算机资源120是否响应的能力的监测系统108能够提供许多种增强的状态信息给无响应计算机资源120的用户124。
应该注意,在本发明的一些实施例中,消息存储器104甚至可以不被通知计算机资源120已经意外地停止响应。而是,消息存储器104可以只是开始(通过网络地址转换)接收到初始地址为计算机资源120之一的消息。基于接收到这些消息,消息存储器104可以推断计算机资源120已经意外地停止响应,并发送合适的预制消息给这样的用户124,该用户的消息被网络地址转换到消息存储器104。
图2示出了这样的数据处理系统130的示例性实施例,该数据处理系统可用于实现根据本发明的实施例的状态信息传送系统的一个或多个部件(例如监测系统108、消息存储器104、网络地址转换器116和/或路由器112)。数据处理系统130可以包括如键盘、指点杆(pointer)、鼠标和/或小键盘的输入设备132,显示器134,和与处理器138通信的存储器136。数据处理系统130还可包括扬声器144,和同样与处理器138通信的I/O数据端口146。I/O数据端口146可以用于在数据处理系统130和另一个计算机系统或网络之间传送信息。这些部件可以是传统部件,例如在许多传统数据处理系统中使用的那些,这些部件可以设置成以这里描述的方式操作。
图3是说明根据本发明实施例的系统、方法和计算机程序产品的数据处理系统的框图。处理器138通过地址/数据总线248与存储器136通信。处理器138可以是任何商业上可获得的或定制的微处理器。存储器136代表存储设备的整个层级结构,并可以包含用于实现数据处理系统130的功能的软件和数据。存储器136可以包括但不限于以下类型的设备高速缓存、ROM、PROM、EPROM、EEPROM、闪存、SRAM和DRAM。
如图3所示,存储器136可以包括几种类型的用于数据处理系统130中的软件和数据操作系统252;应用程序254;输入/输出(I/O)设备驱动程序258;以及数据256。如本领域的技术人员将理解的,操作系统252可以是任何适合与数据处理系统一起使用的操作系统,例如位于纽约Armonk的国际商业机械公司的OS/2、AIX、System 390或z/OS,位于华盛顿州Redmond的微软公司的Windows95、Windows98、Windows2000或WindowsXP,Unix或Linux。I/O设备驱动程序258通常包括由应用程序254通过操作系统252访问,以与如I/O数据端口146和某些存储器136部件的设备通信的软件例程。应用程序254表示实现数据处理系统130的各种功能的程序,并优选地包括至少一个支持根据本发明实施例的操作的应用。最后,数据256代表应用程序254、操作系统252、I/O设备驱动程序258、以及驻留在存储器136中的其它软件程序使用的静态和动态数据。
进一步如图3所示,应用程序254可以包括应用监测模块260。应用监测模块260可以利用从计算机资源120获得的信息以及在某些情况下的其他信息例如在存储器的数据256部分中存储的历史数据264,来为监测系统108执行这里所述的操作。应用程序254还可包括消息存储模块266。消息存储模块266可以利用在存储器的数据部分256中存储的信息(例如存储的消息)的数据库268,来为消息存储器104执行这里所述的操作。处理系统130的应用程序254部分还可包括路由模块270和/或网络地址转换模块272,其分别实现路由器112和网络地址转换器116的上述功能。
虽然例如参照图3中的作为应用程序的模块260、266、270、272说明了本发明,如本领域的技术人员将理解的,可以利用其它配置。例如,模块260、266、270、272中的一个或多个还可以纳入操作系统252、I/O设备驱动程序258或数据处理系统130的其它这样的逻辑划分中。还可以理解,在本发明的许多实施例中,将在分开的各处理系统130上实现模块260、266、270、272中的一个或多个和/或数据集264、268。这样,本发明不应该被理解为限于图3的配置,而是包括能够执行这里所述的操作的任何配置。
图4是说明根据本发明实施例的消息存储器300的部件的框图。消息存储器300可以用于例如图1所示的状态信息传送系统100和/或这里所述的状态信息传送系统100的各种修改的形式中。如图4所示,消息存储器300可以包括多个代理310、数据库320、消息存储控制器330、预定义消息340和日程逻辑350。代理310、消息存储控制器330和日程逻辑350可以例如包括驻留在数据处理系统上的存储器中、在数据处理系统的处理器上运行的软件应用和/或子例程。数据库320和/或预定义消息340可以例如是在数据处理系统的存储器中存储的静态和/或动态数据集。图4的消息存储器300可以如下方式操作。
代理310接收通过网络地址转换转发到消息存储器300的消息。代理310被设置成建立与这样的用户的通信,该用户已经发送消息给状态信息传送系统被设计为与其一起工作的一个或多个计算机资源120。可以以这样的定制的软件应用来实现代理310,该软件应用模仿与它们关联的计算机资源120(即,作为由代理接收的消息的预期接受者的计算机资源120)的握手过程。一旦接收到消息,代理310将(1)继续完成为建立与发送消息的用户124的通信所需的握手过程,以及(2)将收到的消息转发到消息存储控制器330。代理310可以与一个计算机资源120或多个计算机资源120关联。
一旦接收到来自代理310之一的消息,消息存储控制器330可以推断计算机资源120之一不再响应。消息存储器300可能先前已被或未被通知过计算机资源120之一不再响应。消息存储控制器330可以使用日程逻辑350来确定数据库320中是否存储有任何关于该无响应计算机资源120的“活动”消息。如果数据库320中包含一个或多个关于该无响应计算机资源120的“活动”消息,则消息存储器300通过合适的代理310发送消息给用户124。
如图4所示,消息存储器300还可包括一组预定义消息340。在本发明的实施例中,这些预定义消息340可以例如在计算机资源120之一意外地停止响应的情况下被发送到用户124。当发生计算机资源120之一的这种意外的停机时,消息存储器300通常在数据库320中没有特别针对该特定停机的消息(因为该停机是“意外的”),并因此可以使用预定义消息340之一。预定义消息可以包括只用于特定计算机资源120的消息和/或每当计算机资源120之一意外地停止响应的任何时候可以使用的一般消息。
如上所述,在本发明的实施例中,提供了日程逻辑350,可用于确定数据库320中存储的任何消息是否“活动的”。“活动的”消息是指当该消息所关联的计算机资源120停止响应时,以及如果该消息所关联的计算机资源120停止响应,应该显示的消息。日程逻辑350可以通过例如使一开始时间和结束时间与数据库320中存储的每个消息关联来实现该任务。日程逻辑350可以在代理310之一接收到的消息上提取时间戳和初始目的地地址(即作为该消息的初始地址的计算机资源120的地址)。使用该信息,日程逻辑350可以在数据库320中执行查找操作以查看时间戳是否落入数据库320中存储的、与作为该消息的初始地址的计算机资源120有关的任何消息的开始时间和结束时间之间。如果是这样,如此识别出的消息被认为是“活动的”消息,从而将它们转发到发送所接收到的消息的用户124。如果没有识别出“活动的”消息,则消息存储控制器330可选择合适的预定义消息来发送给用户124。在本发明的实施例中,将来自数据库320的消息和预定义消息都发送给用户124。
日程逻辑350还可以用于删除“过期”消息。这可以通过例如周期性地搜索数据库320以识别具有已经过去的结束时间的消息并将这些消息从数据库320删除来完成。
图5是说明可根据本发明的实施例执行的操作的流程图。如图5所示,操作可开始于在消息存储器中存储状态信息(框400)。在消息存储器中存储的状态信息可以是例如预制消息和/或与由状态信息传送系统监测的计算机资源的特定计划停机有关的消息。接着,可确定应用之一不再响应(框404)。如上所述,这可以方便地通过例如使用监测系统以轮询计算机资源来实现。在建立消息存储器之后的多个时间点上,可为消息存储器提供关于一个或多个计算机资源的其他状态信息(框408)。一旦收到该消息,可将它存储到存储器中或在消息存储器中的某种其它存储机制中(框412)。
一旦确定计算机资源120之一不再响应,可将到无响应计算机资源的入站流通过网络地址转换转发到消息存储器(框416)。可选地,此时可以修改用于监测无响应计算机资源的进度表(框420)。例如,在计算机资源由于计划停机而无响应的情况下,在停机的全部或部分计划时间期间,可以较小的频率(甚至完全不)监测计算机资源。另一方面,在停机是意外的情况下,可更频繁地监测计算机资源,以便在计算机资源恢复响应之后尽快地关闭网络地址转换。
当将关于计划停机的状态信息提供到消息存储器时,状态信息传送系统可选地可将预先的停机警告传播给计划下线的计算机资源的一些或全部用户。该预先的警告可以通过例如电子邮件来发送。计算机资源的管理员可以为该消息提供语言或者可以使用驻留在消息存储器上的预制消息。可以使用各种标准来确定哪些用户接收这种通知消息;例如可以发送给由计算机资源的管理员提供的用户列表,或可选地,可以基于驻留在路由器、监测系统和/或消息存储器上关于哪些用户已经先前发送消息到具有计划停机的计算机资源的信息。根据本发明的进一步的实施例,用户可以预订被通知计算机资源120将要离线,而不管停机是否是计划的还是未计划的。可以将通知发送到预订的用户,而不管在停机时他们是否正在运行驻留在该计算机资源120上的应用。
在消息存储器104开始接收已通过使用网络地址转换从无响应计算机资源转移到的消息存储器104的消息之后,将回复消息发送给每个这样的用户,来提供关于无响应计算机资源的状态信息(框428)。最后,该计算机资源可恢复响应,并在其重新在线之后的某时刻,消息存储器104认识到该资源再次响应(框432)。在这发生之后,除去用于该资源的网络地址转换(框436)。然后,可从消息存储器除去过期消息(框440)。
应该注意,为了使回复消息有效,用户必须准备好接收来自消息存储器104的消息。例如,假设用户已经发出一个数据库“获取行”命令给目前已经停止响应的计算机资源120。在一些情况下,该命令将允许来自消息存储器的响应,而在其它情况下它将不允许。如果不允许这样的响应,则消息存储器的“侦听器”可以在用户站的不同端口上运行。数据库获取行命令被转移到消息存储器104,并且消息存储器可以发送回复消息给在用户站上运行的消息存储器侦听器。然后,用户和/或站可以基于来自消息存储器104的响应(自动或手动地)取消/终止获取行命令。
根据本发明的其它实施例,网络地址转换器116、路由器112、消息存储器104和/或监测系统108可以实现为分布式系统,其中例如在将要被监测的许多或全部计算机资源120上本地地(在相同硬件上或在位于相同位置的硬件上)提供分开的网络地址转换器116、路由器112和/或监测系统108。这样,例如,如果将要被监测的特定应用(例如Lotus Notes)停止响应,可在相同平台上运行的监测系统将探测到停机,并在发送到LotusNotes的消息到达该平台时本地地施加网络地址转换(即,图1的路由器112可被视为在将要被监测的每个计算机资源上提供的分布式路由器)。在这些实施例中,消息存储器104也可以实现为分布式消息存储器(即,在每个平台上提供一分开的消息存储器),或者实现为存储关于将要被监测的所有计算机资源的消息的集中式消息存储器。
图1到图5的流程图和框图说明了用于将状态信息传送给计算机资源用户的方法、系统和计算机程序产品的某些实施例的结构、功能和操作。在此,每个框代表一个模块、程序段或部分代码,其包括一个或多个用于实现指定逻辑功能的可执行指令。还应该注意,在其它实现方式中,在框中指出的功能可能以不同于图中指出的顺序发生。例如,依赖于所涉及的功能,顺序示出的两个框实际上可能基本上同时执行,或这些框有时可能以相反的顺序执行。
在附图和说明书中,已经揭示了本发明的典型示例性实施例,并且尽管采用了特定术语,它们只是在一般性和描述性的意义上使用的,而不是用于限制目的,本发明的范围由下面的权利要求书来确定。
权利要求
1.一种传送计算机资源状态信息的方法,该方法包括在消息存储器中存储关于多个计算机资源的状态信息;确定该多个计算机资源中的一个已经停止响应;使用网络地址转换操作将地址为该无响应计算机资源的来自用户的消息路由到所述消息存储器;以及将至少一些关于该无响应计算机资源的状态信息从该消息存储器发送到所述用户。
2.根据权利要求1的方法,还包括更新在所述消息存储器中存储的所述状态信息以反应多个计算机资源中的一个被计划将要离线。
3.根据权利要求1的方法,还包括在确定所述多个计算机资源中的一个已经停止响应之后,动态更新在所述消息存储器中存储的所述状态信息。
4.根据权利要求1的方法,还包括在无响应计算机资源恢复响应之后,更新在所述消息存储器中存储的所述状态信息。
5.根据权利要求1的方法,还包括在无响应计算机资源恢复响应之后,取消所述网络地址转换操作。
6.根据权利要求1的方法,其中在不同处理系统中实现所述多个计算机资源和所述消息存储器。
7.根据权利要求1的方法,其中所述状态信息包括关于何时所述无响应计算机资源停止响应的信息。
8.根据权利要求1的方法,其中所述状态信息包括关于预期所述无响应计算机资源何时恢复响应的信息。
9.根据权利要求1的方法,其中所述状态信息包括关于所述无响应计算机资源停止响应的原因的信息。
10.根据权利要求1的方法,其中所述消息存储器为所述多个计算机资源中的一个或多个存储当前和将来的状态信息,并且其中所述将至少一些关于无响应计算机资源的状态信息从消息存储器发送到用户的步骤包括将关于无响应计算机资源的当前状态信息从消息存储器发送到用户。
11.根据权利要求2的方法,还包括将通知消息从消息存储器发送到所述多个计算机资源中的一个被计划将要离线的计算机资源的至少一个用户,通知所述至少一个用户所述多个计算机资源中的所述一个被计划将要离线。
12.根据权利要求11的方法,其中所述至少一个用户已经预订接收来自所述消息存储器的通知消息。
13.根据权利要求11的方法,其中将通知消息发送给所述多个计算机资源中的一个被计划将要离线的计算机资源的至少一个用户,而不管是否所述用户正在所述多个计算机资源中的被计划将要离线的那个计算机资源上运行应用。
14.根据权利要求1的方法,其中从所述消息存储器发送到所述用户的状态消息包括这样的通知,该通知提醒用户不需要通知管理员所述无响应计算机资源已经停止响应。
15.根据权利要求1的方法,其中所述确定多个计算机资源中的一个已经停止响应的步骤包括从所述多个计算机资源中的一个或本地监测系统接收通知消息,所述通知消息指明所述多个计算机资源中的一个已经停止响应。
16.根据权利要求1的方法,其中所述确定多个计算机资源中的一个已经停止响应的步骤包括周期性地轮询所述多个计算机资源中的一个以确定其是否响应;以及如果对于所述周期性的轮询中的一个或多个没有收到响应,则确定所述多个计算机资源中的一个已经停止响应。
17.根据权利要求16的方法,还包括在确定所述多个计算机资源中的一个已经停止响应之后,修改轮询所述多个计算机资源中的一个的频率。
18.根据权利要求16的方法,还包括获知所述多个计算机资源中的一个被计划将要离线;以及修改轮询所述多个计算机资源中的一个的频率至少部分这样的时间段,该时间段为所述多个计算机资源中的一个被计划将要离线的时间段。
19.根据权利要求1的方法,还包括在与所述状态信息关联的时间戳已经过期之后除去在所述消息存储器中存储的状态信息。
20.一种用于将资源状态信息传送到无响应计算机资源的用户的系统,该系统包括消息存储器,其具有一个或多个关联的网络地址,所述消息存储器存储关于多个计算机资源的状态信息,所述计算机资源的网络地址不同于与所述消息存储器关联的一个或多个网络地址;监测系统,识别所述多个计算机资源中的相应计算机资源何时停止响应;路由器,对所述监测系统作出响应,将消息从用户路由到所述多个计算机资源;以及网络地址转换器,其与所述路由器连接,转换所述多个计算机资源中停止响应的相应计算机资源的网络地址。
21.根据权利要求20的系统,其中所述监测系统还识别所述多个计算机资源中的相应计算机资源何时恢复响应。
22.根据权利要求20的系统,其中一旦所述多个计算机资源中已经停止响应的相应计算机资源恢复响应,所述网络地址转换器还取消所述多个计算机资源中的相应计算机资源的网络地址转换。
23.根据权利要求20的系统,其中所述消息存储器包括提供给无响应计算机资源的用户的消息的数据库。
24.根据权利要求23的系统,其中所述消息存储器还包括多个代理,其中每个代理被设置成建立所述消息存储器和所述多个计算机资源中的一个或多个计算机资源的用户之间的通信。
25.根据权利要求20的系统,其中所述监测系统与所述多个计算机资源通信以确定所述多个计算机资源中的一个或多个何时无响应。
26.根据权利要求20的系统,其中在第一处理系统上实现所述消息存储器,并在不同于所述第一处理系统的处理系统上实现所述多个计算机资源。
27.根据权利要求20的系统,其中所述消息存储器包括关于所述无响应计算机资源何时停止响应的状态信息。
28.根据权利要求20的系统,其中所述消息存储器包括关于预期所述无响应计算机资源何时恢复响应的状态信息。
29.根据权利要求20的系统,其中所述消息存储器包括关于所述无响应计算机资源停止响应的原因的状态信息。
30.根据权利要求20的系统,其中在至少某些情况下,所述监测系统预计无响应计算机资源将无响应的持续时间。
31.一种用于将资源状态信息传送到计算机资源用户的计算机程序产品,该计算机程序产品包括计算机可读介质,其具有在其中包含的计算机可读程序代码,该计算机可读程序代码包括被设置成在消息存储器中存储关于多个计算机资源的状态信息的计算机可读程序代码;被设置成确定所述多个计算机资源中的一个已经停止响应的计算机可读程序代码;被设置成使用网络地址转换操作将地址为该无响应计算机资源的来自用户的入站消息路由到所述消息存储器的计算机可读程序代码;以及被设置成将至少一些关于该无响应计算机资源的状态信息从所述消息存储器发送到所述用户的计算机可读程序代码。
全文摘要
本发明的实施例提供了用于将状态信息传送到计算机资源用户的方法。根据这些方法,在消息存储器中存储了关于若干不同计算机资源的状态信息。可监测计算机资源以确定何时其中之一停止响应。然后可使用网络地址转换操作将地址为该无响应计算机资源的来自用户的入站消息发送到消息存储器,并可将至少一些关于无响应计算机资源的状态信息从消息存储器发送到用户。从消息存储器发送到用户的状态信息可包括这样的通知,该通知提醒用户不需要通知管理员无响应计算机资源已经停止响应。
文档编号H04L12/26GK1694448SQ20051005530
公开日2005年11月9日 申请日期2005年3月15日 优先权日2004年5月5日
发明者C·K·卡斯滕斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1