专利名称:监视与控制网络中的程序的方法与装置的制作方法
背景技术:
本发明涉及控制网络中的程序的方法与装置。具体地说,本发明涉及自动检测及校正网络工作站上运行的程序中出现的错误状态的方法与装置。
现今的网络正向规模与复杂性上扩张。网络管理人员通常负责计划、组织与维护网络。其责任不仅包含查找网络硬件与软件的故障问题,还包含查找网络中各工作站上的硬件与软件的故障问题。其高达百分之八十的时间可能花费在查找工作站上的故障问题上,其中包括用户运行的各程序的特有问题。在网络管理人员为用户解决问题之前,该工作站是停用的。对于其工作依赖于网络及其工作站的正常运行的任何组织而言,这一停机时间代价可能是高昂的。再者,由于网络管理人员必须有能力诊断与修复可能出现在网络上运行的所有程序中的任何问题,他必须是一至少对所有网络程序的工作知识高度熟练的人员。
本发明涉及一个用于解决网络中遇到问题时协助网络管理人员的系统。一年多以前市场上已可得到按照本发明的若干较早版本,它们会检测网络问题并作出报告。这些版本中的最新的为1992年11月发布的Alert VIEWTM,是出于加州Mountain View Shany公司的版本2.0。由加利福尼亚的Mountain View Shany公司发行。这些早期版本能通知网络管理人员在网络工作站之一上运行的特定应用程序中存在问题。然后这些早期版本只有有限的能力,因为它们在响应问题的检测,即在管理控制台上收到警报时,只能发送一条单一的命令或触发信号给工作站。具体地说,管理控制台发送导致出现下述动作之一的一个触发信号冻结、解冻或重新引导一个工作站、起动与停止在前台运行的一个程序、发送一则报文、或以客户触发信号的形式发送用户指示的必须响应特定警报执行的任何单一命令。
发明概述按上所述本发明的一个目的,在某种意义上在于提供用工作站上出现的问题的处理所提高的灵活性来改进上述程序的早期版本。
本发明的一个目的为提供一种能识别在网络工作站上程序运行的故障并采取适当的校正动作来校正导致这些故障的问题的网络维护系统。
本发明的另一目的为提供一种能通过发送过程给在工作站上活动的中介(agent)来校正出现在网络内的工作站上的问题的系统,各过程由一个或多个要采取的动作构成。
本发明的另一目的为提供一种允许由网络管理人员综合远程访问与控制网络工作站的网络维护系统。
本发明的另一目的为提供一种允许网络管理人员调度网络管理与维护任务的自动执行的系统。
本发明的另一目的为提供一种允许网络管理人员自动发送击键作业给网络中的工作站的系统。
本发明的另一目的为提供一种允许自动发现中介的系统。
本发明的另一目的为提供一种开发的专用中介,以便对特定应用进行剪裁的系统。
按照一个实施例,提供了一种用于控制在一网络中至少两个工作站中任何一个上能执行至少一个程序的系统。该网络包括至少一个常驻在各工作站上的中介模块及连接在各工作站上的一个管理控制台。该系统包括用于识别关于在工作站之一上执行的程序出现的事件的装置、用于向管理控制台发送标识该事件的一个警报的装置及用于存储多个触发信号的装置。各该触发信号适用于导致在网络内采取一种动作。该系统还包括用于存储至少一个过程的装置,该过程包括至少一个触发信号,及用于根据收到的警报,从管理控制台发送至少一个过程到常驻在工作站之一上的中介模块的装置。
按照另一实施例,提供了一种用于监视与控制网络中的至少一个程序的系统。该网络包括至少两个工作站及连接到各该工作站上的一个管理控制台。该系统包括常驻在各该工作站上的用于发送指示在该工作站上执行的一个程序中出现的事件的警报的至少一个通用中介装置及常驻在管理控制台上的用于记录由任何中介装置发送的警报的监视装置。该系统还包括用于存储要从该监视装置发送给中介装置的多个触发信号的装置,这些触发信号中包括导致由中介装置响应该事件采取动作的命令;用于定义至少一个过程的装置,该过程包含存储的触发信号中的至少一个;及用于监视与控制中介装置的操作的管理装置,该管理装置包括用于响应警报将过程发送到中介装置的装置。
按照另一实施例,提供了一种用于监视与控制能够在网络中的至少两个工作站中任何一个上执行的至少一个程序的方法。该网络包括至少一个常驻在各该工作站上的中介模块及连接在各该工作站上的一个管理控制台。该方法包括下述步骤存储多个触发信号,各该触发信号适用于导致在网络内采取动作;存储至少一个过程,该过程包括多个触发信号中的至少一个;识别在工作站之一上出现的事件;发送一个标识该事件的警报到管理控制台;及响应收到的警报,从管理控制台发送至少一个过程到常驻在工作站上的中介模块。
根据阅读下面连同附图采取的按照其构成的实施例的详细描述,本发明的其他目的、特征与伴随的优点对于熟悉本技术的人员将是显而易见的。
附图的简要描述本发明申请现在将关于只以实例的方式给出的本系统的较佳实施例以及关于附图作更详细地描述,附图中
图1是一按照本发明的一个实施例的网络系统的方框图;图2是一按照本发明的一个计算机系统的示范性实施例的方框图;图3是一按照本发明的一个实施例的图1的系统中所用的通用中介的方框图;图4是一按照本发明的一个实施例的图1的系统中所用的监视器的方框图;图5是一按照本发明的一个实施例的图1的系统中所用的管理器的方框图;图6是一按照本发明的一个实施例的图1的系统中所用的为通用中介的初始化阶段的例程的流程图;图7是一按照本发明的一个实施例的图1的系统中所用的通用中介的操作阶段的例程的流程图;图8是一按照本发明的一个实施例的图1的系统中所用的通用中介的故障管理阶段的例程的流程图;图9是一按照本发明的一个实施例的图1的系统中所用的通用中介的控制与管理阶段的例程的流程图;图10是一按照本发明的一个实施例的图1的系统中所用的监视器的操作阶段的例程的流程图;图11是一按照本发明的一个实施例的图1的系统中所用的管理器的操作阶段的例程的流程图;图12是一按照本发明的一个实施例的专用中介的网络系统的方框图;图13是一作为按照本发明的一个实施例的非TSR应用装入的图12的专用中介的操作的例程的流程图;图14是一作为按照本发明的一个实施例的TSR应用装入的图12的专用中介的操作的初始化阶段的例程的流程图;以及图15是一作为按照本发明的一个实施例的一个TSR应用装入的图13的专用中介的操作阶段的例程的流程图。
概括描述本发明涉及一个通过监视与控制在网络中的工作站上执行的程序而提供实时解决网络程序问题的网络管理中介。这里提及的程序包括通信软件、网络操作系统程序、操作系统程序及最终用户应用程序。
按照本发明系统检测、报告、校正及防止最终用户程序错误,它们代表最普遍、困难及耗时的问题类别。按照本发明的系统能明显地减少用户的停机时间,提供所有网络程序的实时控制与支持,将网络管理人员从无效的查找故障时间中解放出来并允许管理人员以最高效率管理网络。本系统通过集中注意在程序上而将麻烦的用户支持任务转变成满足面向结果的经验。
按照本发明的系统允许管理人员调度自动地启动保证程序连续地顺利运行所需的内务处理任务的过程。本系统为了优先分析网络程序问题保持有关信息,以此能用来防止重新出现问题。这一信息也能通过指定调度在工作站上执行必要的动作来保证其安全操作的过程及通过指定对出现的较小问题作出反应来防止出现较大的问题的校正过程,而用来维护网络。按照本发明的系统还管理其本身调度的过程,保证维护与后备任务的成功完成。
按照本发明的系统包括常驻在网络工作站上的一个中介,它有效地监视用户、应用与系统软件之间的交互作用,向网络管理员提供问题的实时检测。连续地捕捉包含用户不能得到或不能理解的信息在内的重要事件细节。为了这一描述的目的,一个事件是因一工作站上的一中断或程序而出现的一个问题。按照本发明的系统提供实时解决问题,并向管理人员提供识别与通知管理人员问题、其位置、它出现时的程序、及校正它的建议等非常宝贵的数据。因为按照本发明的系统检测安全性破坏的源、出错信息、被冻结的站及其它耗时间的问题,因此达到了消除无数的无效小时的猜想时间。
通过网络,按照本发明的中介发送一个包含关于各事件出现时的全面的详细信息的警报,允许网络管理人员集中精力及致力于打印错误、安全性破坏、及对网络的顺利操作起关键作用的其它程序错误。本系统保证所有报告的详情的正确完整的通信。不会因系统的存储器容量的受限制的或不充分的通信而损失任何事物。不论网络管理人员在哪里,本系统通过电子邮件、调制解调器或网络直接向其主动报告关键性程序问题,允许管理人员定制报告过程。包含诸如涉及导致警报的事件中的有关应用文件服务器、打印队列等在内的详细报告以达到一个问题的清楚了解所需的信息的完整报告,让网络管理人员快速地解决网络问题。
在典型的网络中,工作站用户遇到的百分之四十的问题都是每天重复的。按照本发明的系统将自动地纠正这些问题,使用户支持时间转换成宝贵的生产性时间,并将管理人员从费时的支持呼叫中解放出来。本系统分析出现的警报来为各事件确定适当的校正过程,向网络管理人员提供立即解决的办法而无须猜测。本发明与上述Alert VIEWTM的先有版本的差别在于包含但不限于发送由多于一条命令或触发信号构成的过程给中介来纠正工作站上的问题的能力在内的若干方法。所提供的优点在于按照本发明的程序提高了灵活性、多方面的适应性及能力。
按照本发明的系统允许在后台启动纠正动作而无须中断用户程序。通过系统的应用控制面板及远程访问特征支持交互式分析与校正,给予管理人员通过简单的过程对用户的机器的全面控制。应用控制面板提供一个用户接口,使网络管理人员能通过管理控制台来控制与显示最终用户的机器的各个方面,包括显示正在运行的程序、起动与停止程序及重新引导系统标准输入与输出。
例如,用户经常呼叫网络管理人员抱怨他们不能打印。按照本发明的系统自动解决打印问题,实际上消除了单个的最普遍的网络与工作站支持呼叫源。中介检测到用户试图使用不能得到的打印机并通过在网络上发送一个警报来报告这一情况。然后系统管理器对用户透明地先主动纠正这一问题。利用中介来重新引导打印机,系统自动地将用户连接到网络打印机上,要求用户重新试行打印。本系统提供一个允许管理人员优化打印配置及防止进一步的问题发生的打印报警的定制的视图。
另一例子在用户接收到系统信息“文件打开太多”时出现。当诸如复杂的数据库查询的一个程序打开比系统配置中分配的多的文件时,该中介甚至在将其显示给用户之前便检测到这一情况。本系统向系统管理器报告“文件打开太多”警报,系统管理器通过自动触发中介对配置文件作适当改变并重新引导工作站依次纠正这一情况。由于可使这些改变永久化,本系统自动地防止将来再出现这一问题。
另一例子当由网络操作系统拒绝了对一个预期的用户的访问时出现。按照本发明的系统中介经常地监视各工作站上的文件活动,在出现安全与访问破坏时探测它们。它报告各个具有关于所访问的文件及破坏的情况的特定的信息的事件。本系统通过使网络管理人员能够在用户得到对文件的存取之前及实际破坏其特权之前便冻结或断开违规的工作站来纠正与防止继续严重的安全性破坏。它还通过提供关于每一次不成功的存取图谋的详细信息给网络管理员而进一步防止正在进行的存取问题。
详细描述本发明涉及一个用于管理网络程序的操作的方法及装置。按照一个较佳的实施例,本发明是利用执行监视、管理与记录任务的多个软件模块来实现的。
图1是一按照本发明的一个实施例的系统的方框图。网络管理人员具有对装有管理控制台1的最好不是网络服务器终端的计算机的访问权。该管理控制台1由两个主要模块,即监视器2与管理器4构成。该网络包含多个用户工作站10。各工作站10包含一个或多个最终用户应用12、一个操作系统16、通信软件18及一个网络操作系统20。
图2是一按照本发明中所用的计算机系统的方框图。图2的计算机系统是一工作站与管理控制台计算机的示范性实施例。熟悉本技术的人员一旦掌握了本公开便能修改所采用的管理控制台与工作站控制台的具体配置。计算机400包括一个主部件402(用虚线示出)及一个外围部件404。主部件402包括中央处理单元(CPU)406、硬盘408、只读存储器(ROM)410、随机存取存储器(RAM)412及输入/输出控制器414。I/O控制器414将主部件402连接到外围部件404上。外围部件404按照一个实施例包括打印机416、光标控制418、键盘420、视频监视器422、CD-ROM读出器424及磁带驱动器426。外围设备与主部件的部件一样可根据用户的需要改变。按照一个实施例,实现本发明的各种例程与文件是存储在硬盘408上的,而这些例程则由CPU406执行。光标控制418可以是鼠标器、笔或任何其它类似设备。
返回至图1,网络管理系统(NMS)映象模块3连接在监视器2与管理器4上。模块3为NOVELLTM网络管理系统映象提供映射集成。具体地说,例程改变映象上的图符颜色来显示该中介正在工作站上运行。网络管理人员任何时候都能运行这一模块来更新NMS映象。然后管理人员通过NMS映象访问由按照本发明的系统所提供的功能。当访问修改了的图符时,通过本发明可得到的功能,诸如监视器与管理器接口为各管理人员显示图符。
按照本发明的系统包含中介14,它与图1中所示的工作站10的各部件以及管理控制台1通信。中介14可以是能处理来自许多不同程序的错误的一个通用中介,或设计成致力于出现在一个特定程序中的错误的一个专用中介。下面描述专用中介的一个实施例。
在一个工作站上也有可能执行一个以上的通用或专用中介,诸如为DOSTM、WINDOWSTM或OS/2TM等特定操作系统设计的各通用中介及为处理不同的程序设计的各专用中介。即通常在一个特定的工作站上只能有一个通用中介是活跃的。然而正在使用多个操作系统时便出现了例外。如果工作站运行DOSTM与WINDOWSTM操作系统两者,则在同一工作站上DOSTM与WINDOWSTM中介两者将都是活跃的。对于运行OS/2TM、DOSTM及WINDOWSTM的工作站,有可能有三个通用中介同时用于这三个操作系统。然而在后一情况中,OS/2TM中介与DOSTM中介不采用相同的通信协议。
本公开中所描述的中介14系指作为示范性实施例的DOSTM中介。然而,如上面所讨论的,至少可以利用三个不同的通用中介,即DOSTM、WINDOWSTM与/或OS/2TM。虽然说明了所有中断与服务,本公开指的是DOSTM,因为只有在该环境中所有这三种事物都存在。然而,由于WINDOWSTM操作系统对于它们的极大多数服务严重依赖于DOSTM,因此,同一DOSTM中介同样能检测诸如WINDOWSTM应用中的“访问遭拒绝”或“文件找不到”的问题。WINDOWSTM中介为这些DOSTM所不能执行的功能补充DOSTM中介。这些功能包括确定WINDOWSTM应用名并将它们提供给DOSTM中介,执行WINDOWSTM应用的启动与停止,监视关键性WINDOWSTM资源利用,及监视WINDOWSTM应用的通用保护陷阱。WINDOWSTM中介为DOSTM中介补充所有这些信息。OS/2TM中介与DOSTM及WINDOWSTM中介不同之处在于它截取系统或通信动态链路库(DLL)而不是截取活的中断。然而通常,这三种通用中介的配置是相同的。按照一个实施例,不同的通用中介可为它们本身之间的内部通信利用预定义的中断,诸如F2h中断。
中介14监视应用与操作系统,并在生成一个中断时,钩住或捕获该中断并判定是否存在错误情况。如果是,便记录该错误作为报告给监视器2的警报。中介将该警报送至监视器2并在其中包含问题类型的标识、出现它的工作站、导致错误的程序名及纠正动作的建议,管理人员在执行它以前可修正这一被建议的动作。
按照本发明的一个实施例所捕获的中断表示于表1中。
表1
通常,监视器2记录与报告所有来自中介14的警报,管理器4监视与控制各工作站10上的中介14的操作。再者,在任何工作站10报告专用警报时,监视器2可为一操作发出一个请求给管理器4。监视器2也可在调度表9指示已到达了执行一个过程的特定时间时,为在中介14上采取一动作,对管理器4发送一个请求。管理器4与受控(或受管理)的工作站10通信,具体地说,通过设定或获取操作与中介14通信。设定操作中包含从管理器4送至中介14以在工作站上执行某一操作的命令,而获取操作则包含从管理器4送至中介14来请求将信息送回管理器的命令或过程。下面将更全面地讨论这些问题。
按照一个实施例,网络管理人员具有建立管理控制台1来在给定的时间上通过用户接口52(图4中所示)观察可得到的信息的子集的能力。具体地说,管理人员能建立显示来自网络中的一定或所有工作站的不同警报的一个或多个事件视图6。例如一种可能的视图可显示在任何工作站上运行的任何WORDPERFECTTM应用中出现的所有警报。此外,管理人员能建立一个或多个显示根据网络统计的信息的统计视图7。具体地说,统计视图7显示关于程序故障或警报统计的信息,诸如一个程序起动了多少次,程序中出现多少不同类型的事件(例如,在特定程序期间或特定工作站上出现多少次“文件打开太多”)等。
管理人员还能以校正过程的形式将一个或多个触发信号8附加在任何视图上。具体地说,触发信号是从监视器2送至管理器4的特定命令,然后送至中介14以导致通常由中介采取的动作。例如,如果用WORDPERFECTTM应用检测到一个问题,系统便访问适当的视图并发送一个冻结工作站触发信号给运行该故障的应用的工作站。
触发信号8表示存储的触发信号,按照一个实施例,它们存储在称作触发信号库(实际上是一个WINDOWSTMDLL)的一个模块中。一个触发信号库中可包含一个以上的触发信号。若干触发信号库可用于不同目的的系统。一个触发信号便是存储在触发信号库中的一种功能(或命令),并能由监视器2调用来作为一个过程的一部分自动地执行。在两种情况中能够自动地调用触发信号,即在响应警报执行的校正过程中,或者在调度模块900建立时,在要求的时间上执行的被调度的过程。
表2是一能包含在按照本发明的一个实施例的过程中的预定义的触发信号的表。表2的第一列中的数字只是为了本说明的目的并无编程上的意义。
预定义的触发信号可存储在一个上述触发信号库模块中,该触发信号库模块存储在存储器中,例如存储在硬盘408上或ROM410上。网络管理人员还能通过从监视器菜单用户接口52中选择一个建立触发信号选择项来建立与设计客户触发信号。这些客户触发信号可以是执行诸如NORTONTM实用程序等得到的程序的命令。另外,管理人员还能利用软件开发中介箱通过编写执行所要求的功能的一个新的程序来建立一个新的客户触发信号。
表2
表3是一按照本发明的另一实施例的可利用的附加触发信号的表。同样,表3中第一列中的数字只是为了说明的目的并无编程上的意义。
表3
表2与3中的列表为能够包含在校正过程中或被调度的过程中的可能触发信号的列表,为了简单起见它们将一起讨论。这两个表并不意味着包含了一切,而是能够执行的示范性操作类型。一旦掌握了本公开,普通技术人员便能实现其它触发信号。
触发信号1导致管理器4通知中介14去改变CONFIG.SYS文件中的文件的规定数目。如果中介生成了指出程序需要打开比早先规定的多的文件的警报,例如响应从中断21h检测到的出错代码,则便实现这一触发信号。因为纠正导致生成警报的问题所必要,触发信号2有必要令管理器4通知中介14修改AUTOEXEC.BAT文件以纠正导致产生警报的问题。触发信号3导致管理器4通知中介14在安装一个驱动程序到生成警报的工作站上的启动过程中。例如,如果丟失了打印机或鼠标器驱动器而一个特定的程序需要它,便执行触发信号来装入丟失的驱动程序。触发信号4导致管理器4通知中介14,在排定的时间或在报告了一个严重的盘错误时检验盘上的不良扇区或疵点。
触发信号5允许管理器4发送信息到网络中的任何工作站。触发信号6导致管理器4向一个特定的工作站上的中介14发送一个击键作业,即一序列供执行的击键。触发信号7与8导致管理器4通知中介14启动一个程序或停止当前在前台执行的程序。
触发信号19导致管理器4通知中介14用名称停止一个特定的程序。这一触发信号对于停止在工作站的后台操作中执行的程序是有用的。触发信号21导致管理器4通知中介14停止故障的程序。即在生成警报时正在执行的程序。
触发信号9允许管理器发送一个简单的网络管理协议(SNMAP)陷阱。即如果该网络具有一个SNMP管理控制台,便向该控制台发送一个陷阱或警报通知它的错误。触发信号10允许管理器通过另一种电子媒体提交一警报,向不连接在网络上的一些单元提供问题通知单。触发信号11冻结工作站以防止进一步的问题,直到修复导致报警的问题为止。然后在纠正了问题时用触发信号14来解决该工作站。
触发信号12导致管理器4通知中介14,在必要时重新引导工作站。例如,如果用触发信号1与2改变了AUTOEXEC.BAT或CONFIG.SYS文件,则将执行重新引导触发信号以允许这些变化生效。触发信号13导致管理器4通知中介14以在工作站上运行一个特定程序,通过声音或视觉警报支持这样的动作作为客户通知。触发信号15允许管理器4生成NOVELLTM管理系统(NMS)警报来通知NOVELLTM管理系统警报已在工作站上出现。
触发信号16导致管理器4通知中介14以将文件复制到在必要时生成警报来纠正问题的工作站上,例如传送设备驱动、程序模块或数据文件到工作站。触发信号17导致管理器4通知中介14以在CONFIG.SYS中设定最后一个驱动器。触发信号18导致管理器4通知中介14以在CONFIG.SYS中设定盘缓冲器数目。
触发信号20导致管理器4暂停一个过程一个时间段。这可用来等待直到工作站完成了一个过程的一部分为止。触发信号22导致管理器4通知中介14在CONFIG.SYS中设定网络控制块(NCB)的数目。这可用来响应Net BIOSTM的问题,具体地说,中断5ch。触发信号23允许将警报复制到数据库、文本或打印机文件上供审阅或存储。
返回到图1,网络管理人员可用选自一个或多个触发信号库的指定的参数建立包含一组触发信号的自动过程5。这些过程中每一个由一个或多个触发信号组成,这些触发信号响应一个事件或在排定的时间上按顺序执行。从而这样的过程可附加在事件视图6或调度表9之一上。在第一种情况中,这些过程称作校正过程。在第二种情况中,这些过程称作被调度的过程。当然,同一过程既可用作校正过程又可用作被调度的过程。
过程中的触发信号或者可以是带有它们的参数的列出在表2与3中的触发信号中的任何一个,或者它们可以是客户触发信号。例如提供参数50的“改变CONFIG.SYS中的文件”变成一个在CONFIG.SYS文件中置FILE=50的命令。以这一方式,表2和3中列出用于建立过程的命令。
在任何情况中,监视器2按照包含它们的过程自动地与顺序地调用触发信号。按照一个实施例,这些过程在工作站上的后台中执行,从而对工作站的用户来说,它们是看不见的。当在与一个校正过程关联的事件视图中一个新的警报到达时,监视器2便在此时从该校正过程中调用所有的触发信号。当被调度过程中规定的时间间隔过去时,监视器2便从该被调度过程中调用触发信号。
管理人员能够建立调度表9来调度要在要求的时间上在任何工作站上运行的过程。例如,可在每周或每月中排定的时间上运行盘检验过程4,备份与数据库维护功能、与/或可提供一组时间量之后的自动工作站注销。
图3是一按照本发明的一个实施例的通用中介14的方框图。程序21模块包含工作站中中介除外的所有功能块;具体地说,及图1中所示的最终用户应用12、操作系统16、通信软件18和网络操作系统18。程序21可有两种方式与通用中介14通信通过应用程序员接口(API)或通过探测模块32n。程序21可通过模拟22与中介14通信,模块22在出现错误条件时通过API发送一个警报到调度程序24。程序21还连接到各探测模块32i、32i+1、……32n上,下面将描述其功能。
调度程序24是一根据从API模块22、接收机模块34或中介“控制”模块26接收到的通信确定在中介中执行哪种功能的一个判定作出过程。一旦作出了判定,调度程序24便发送一条命令给中介控制模块26。中介控制模块26通过中介机模块28控制中介的操作。具体地说,可用触发信号指令通用中介14在操作系统或工作站上执行动作,诸如起动程序、改动文件、冻结键盘、显示信息等。中介控制模块26在工作站上执行这些功能。探测模块32i,32i+1,……32n用于钩连中断。每一个系统处理的中断都有一个探测模块32i。中介机模块28执行从探测模块32i接收的事件的处理,并经由中介控制模块26将实际警报通过网络100引导到监视器2上。
当程序21通过“发送警报API”模块22访问中介14时,程序21实际上建立与发送了一个专用的应用警报,具体地说,通用中介14检测到任何程序都能遇到的公共错误。中介还提供允许任何程序建立专用警报并通过中介14将它们送至监视器2的API(发送警报API)。例如,WORDPERFECTTM应用可用这一API来发送关于“段格式错误”的警报。中介14将这一警报传输到网络上,并进而到监视器2供系统处理。上面描述了这一情况。然而它也可能为用户程序通过探测模块32n间接访问通用中介14。当程序调用操作系统或任何其它系统服务时,中介14的探测模块32n得到控制。下面讨论关于图7的这一处理。
中介14利用接收机模块34及发射机模块36来与网络100通信。接收机模块34与发射机模块36与网络卡的通信软件接口。按照一个实施例,接收机模块与发射机模块能用四种网络通信协议中任何一种通信,它们是IPXTM、Net BIOSTM、DLCTM802.2及TCP/IPTM。为利用其它协议,无论当今已知的还是将来开发的协议,来提供通信能力都在普通技术人员的技能范围之内。
中介自动发现模块38与发射机36及接收机34通信来提供管理器4新激活的中介14的自动发现,消除了网络管理人员执行手动定义各用户的繁琐过程的必要性。自动发现模块38向管理器4发送一个要管理器4发现新激活的中介的标识包。这一传输出现在激活新的中介时及此后预定的时间间隔上,直到自动发现模块38接收到来自管理器4发现新激活的中介的确认为止。按照一个实施例,这一预定时间间隔为大约60秒。
图4是一按照本发明的一个实施例的监视器2的方框图。监视器2通过网络100与单个工作站上的通用与专用中介通信。信息通过接收机40从网络100上接收。按照一个实施例,接收机40具有上面对接收机34指出的能力。具体地说,该接收机允许利用四种网络通信协议中任何一种通信。当然,也可将接收机40有选择地准备成只允许利用协议中的一种通信。接收机40将从网络100接收到的警报传输到事件日志管理器模块42。事件日志管理器模块42将从监视器2接收到的所有警报存储在事件日志数据库44中。事件日志管理器模块42能将数据输出成DBASETM格式或若干种其它数据库格式。
按照本发明的一个实施例,事件日志数据库44由两种文件构成,事件细节文件及事件索引文件,分别如表4与6中所示。表5示出警报细节结构。事件细节文件包含可变长度记录,而事件索引文件则包含固定长度记录。
表4
表5
表6
表4中,alert_ord字段包含一个字节,为各警报存储唯一的一个警报序号。alert-idx字段中包含有一大小evnidx等于事件索引记录的大小的表6的警报关键字段。具有字段长度maxdetail的alert_det字段中包含以图5中所示的布置的警报细节。具体地说,最前面与最后两个字节包含细节长度加四个字节,而中间的“细节长度”字节则由警报SNA子矢量构成。SNA子矢量系指IBM为网络内警报所用的SNA网络管理矢量传送(NMVT)系统而言。
表6中,ri_type字段为用于标识记录类型的记录类型字段。具体地说,按照本发明的一个实施例,这一数据库中的大多数记录为中介所报告的事件。某些记录是监视器生成的,这后一事件类型的实例为网络中的拥塞。由记录类型字段标识这些记录类型中的哪一种。ri_reserv字段是保留给将来使用的。ri_det_off字段为细节记录位移,即在事件细节文件内的位置。ri_det_len字段为细节记录长度。
ri_idx是一分配给各警报的表示用来标识该警报的文字描述的一个16进制数。各种可能的警报的所有ri_idx值存储在一个独立的数据库中,该数据库用ri_idxid值索引。从而ri_idxid值为参照作为用户数据库74(图5中)的一部分的索引数据库中的特定警报项的索引号码的值。
ri_gtype字段中包含事件类型,它用来过滤报告的警报。ri_time与ri_date字段表示导致出现警报的事件的时间与日期。ri_adapter字段包含表示生成警报的工作站的实际地址的适配器号码。ri_adapterri字字段为指示工作站所在网络段中的段号码。ri_proname字段指示导致警报的程序的产品名称。ri_resname字段为与适配器号码对应的工作站的用户名。ri_restype字段指示生成警报时正在使用的资源名称,例如,打印机或其它系统部件。
提供了下面描述的由过程管理器54维护的信息日志数据库45。信息日志数据库45中包含触发信号的输出量,即事件、触发信号等的计数器,以显示数据库的大小并支持模块的操作。信息日志数据库45的内容通过用户接口52显示给管理人员。
最终用户50通过用户接口52访问统计视图模块700来建立、修改、删除及访问想要的统计视图7。通过用户接口52访问事件视图模块600来建立、修改、删除及访问想要的事件视图6。此外,通过用户接口52访问调度模块900来建立、修改、删除及访问管理器4要送至中介以便在要求的时间上在工作站上执行的被调度的过程。
事件日志管理器模块42向事件清单管理器模块46通知各警报。这一模块46读取各新的事件,并在模块46滤掉在选择的统计视图7或事件视图6中不要求的那些事件或警报之后,将它显示在管理控制台1所在的计算机上的显示器上的管理人员所建立的视图之一之内。
触发信号管理器模块56允许管理人员管理包括建立、修改与删除的客户触发信号。校正过程模块58允许管理人员建立包含上述一个或多个触发信号的过程,这些触发信号不是预定义的就是客户触发信号。
过程管理器模块54取得事件视图模块600与调度模块900的输出并响应一个警报选择一个或多个与调度表或选择的事件视图关联的要送至管理器4的过程。具体地说,过程管理器模块54取出一个分配给该视图的校正过程,该视图被分配给所报告的警报,并将该校正过程送至管理器4供执行。当然,有可能将一个警报分配给一个以上的视图,及将一个以上的校正过程分配给任何视图。此外,过程管理器54在调度时间上取出一个被调度过程,并将其送至管理器4供执行。
图5是一按照本发明的一个实施例的管理器4的方框图。网络100通过上面相对于图3中所示的接收机34与发射机36所描述的类型的供同中介14一起使用的接收机62与发射机64与管理器4通信。接收机62与发射机64与调度程序60通信。调度程序60是如同上面相对于图3中所示的调度程序24所描述的同一类型。监视器2及管理器核67通过API接口66与调度程序60通信。管理器核67在发生触发事件时执行在校正过程中建立的触发信号,并在要求的时间上执行被调度的过程。这点下面将对照图11作一描述。
最终用户50通过用户接口52与管理器4通信。调度程序60与菜单系统68通信。用户接口52还与菜单系统通信,而管理人员通过该菜单系统选择要执行的功能。菜单系统68允许对事件表管理程序及编辑程序70、信息管理程序72、中介监视模块80、远程访问模块82及配置管理模块84进行访问。
事件表管理程序与编辑程序70允许管理人员编辑与/或管理事件表。事件表是所报告的事件的说明。这些表规定各种控制功能,最重要的是确定哪些事件要在网络上报告的屏蔽说明。信息管理程序72允许管理人员能访问若干数据库74、76与78中任何一个。用户数据库74存储关于中介的信息,即工作站上的中介的配置。具体地说,用户数据库74存储日志名和地址、屏蔽及中介控制参数。用户数据库还存储索引定义,它是用索引号码为上述各警报索引的。设备配置数据库76。存储关于各工作站的配置的信息。具体地说,信息中包括诸如机器类型、处理器类型、存储器规模等事情。配置数据库78为管理器4存储定制的建立配置。具体地说,配置数据库78存储用于管理器4的公共参数集合,诸如数据库文件的位置、用来工作的事件表集合、正文中使用的字体等。
连接在菜单系统68上的还有应用控制模块(ACP)57。ACP57允许管理人员观察当前加载在远程工作站上的所有程序、设备驱动器及TSR。再者,ACP57在远程工作站中执行的用户应用的背景操作中起动与停止程序。具体地说,如果一个程序正在一个远程工作站上执行,ACP57能在后台中发动与执行捕获工作站,无须停止或暂停在工作站的前台操作中执行的程序执行。利用ACP57,管理人员能通过在后台中执行更新/观察功能来观察或更新远程工作站上的任何配置文件,无须通过控制其工作站而打扰最终用户。
这在DOSTM、WINDOWSTM或OS/2TM中完成是稍为不同的。在DOSTM中,因为它不是一个多任务操作系统,ACP利用未记入资料的后门特征(backdoor feature)。具体地说,ACP57通过一个称作后门的句柄访问DOSTM,为进行改变启动后台应用,以及关闭后门和返回控制给前台应用。在WINDOWSTM中,在后台中起动第二任务并将新任务的焦点设定为允许它与前台应用并存。在OS/2TM中,过程是相同的,但任务称作进程。
中介监视模块80执行对网络中工作站上的中介的活动的监视。中介监视模块80与自动发现模块38联合工作来检测在网络上登入的用户和为管理器4维护关于活跃中介的信息,并且还识别未定义的活跃中介(自动发现)。远程访问模块82允许管理控制台对各工作站具有远程访问,即管理控制台成为单个工作站上面的“主”。以这一方式,管理人员能采取直接控制各工作站上的操作。具体地说,远程访问模块82以已知的方式直接控制各工作站的屏幕、键盘与鼠标器。配置管理模块84控制管理器的配置并从而连接在配置数据库78上。
图6是一按照本发明的一个实施例的执行通用中介程序的初始阶段的例程的流程图。每当在工作站上起动中介时便执行该例程。首先作为TSR程序(加载中介)加载通用中介。
在步骤102,开始初始化。分析命令行并且例程检验是否加载了中介。此外,例程检验网络与网络协议的存在,并按需分配网络与OS/NOS资源。
在NOVELLTM网上,按照本发明的程序是通过文件服务器注册脚本自动地装在文件服务器上的。从而,对于NOVELLTM网,没有必要将这些程序装在每一个工作站上的硬盘驱动器中。当用户注册到其工作站上时,按照本发明的程序自动下装到该工作站上。通常,NOVELLTM注册脚本(login script)允许在用户注册时在工作站上执行一个批处理文件,但不能执行结束与保持常驻(TSR)程序,因为NOVELLTM注册在结束时自动清除存储器。按照本发明的装入程序包含一个“加载tsr”模块,它在注册脚本中执行,此注册脚本加上一个印记表示哪一个TSR应装在存储器中不受NOVELLTM结束注册影响的保护区中。然后当注册脚本结束时,装入程序从DOS取得控制、访问该保护区及取出TSR及其参数并将它们加载在清除过的存储器中。
如果在步骤102的初始化是成功的,便在步骤104起动与管理器的连接。发送一个连接请求。中介等待来自管理器的应答,然后加载事件表建立与中介参数。事件表建立与中介参数是从用户数据库74下装到存储器常驻中介数据库30中。事件表建立中包含在网络上控制报告事件的过滤器说明。中介参数中包含关于中介而不是过滤器建立的状态与控制信息,诸如工作站的冻结/解冻状态。
如果这一操作是成功的,便在步骤106装入中介。具体地说,建立表1中所描述的中断,并且中介用表1中列出的中断取代通常在工作站上存在的中断。以这一方式,每当程序调用一个与表1中所列的一个中断对应的中断时,中介取得控制,换言之,钩住或捕获该中断,并执行替代的指令。检验返回代码,并且如果该中断操作不成功,便连同故障报告发送一个警报给监视器2。在步骤106,中介还得到工作站环境信息、安装扩展的存储器系统(EMS)支持及安装API接口。
如果中介在步骤106的安装是成功的,便在步骤108出现成功起动。起动所有过程并使这些过程能够挂上软件中断。最终,返回到OS命令解释程序。
如果在步骤102、104与106中任何一个操作失败,便在步骤110打印一个失败信息。具体地说,如果步骤102失败,便发送“初始化失败”信息。如果步骤104失败,便发送“启动失败”信息。最后,如果步骤106失败,则发送“安装失败”信息。
图7是一用于按照本发明的一个实施例的通用中介程序的操作阶段的例程的流程图。在步骤112,如果检测到最终用户程序调用OS、NOS、通信、设备驱动器或任何其它软件中断,中介便开始操作。在步骤114,执行对DOSTM的软件中断处理程序的OS调用与/或OS/2TMDLL/OS服务或WINDOWSTM保护模式。
入口点116、117、118、120与122示出可能出现事件的可能选择项,它们导致中介在步骤126去判定是否出现了错误或未屏蔽的事件。入口点116表示通用中介执行的系统监视与轮询功能。入口点117表示来自通信与网络操作系统(NOS)服务的中断。入口点118表示用于中断21h、DOSTM与WINDOWSTM操作系统服务调用的中断处理程序。入口点120表示用于中断2Fh、DOSTM与WINDOWSTM的多路转换器的中断处理程序。多个入口点120提供示意性地展示表1中列出的中断中任何一个的执行可触发通用中介去判定是否出现了错误或未屏蔽的事件。入口点122表示所有OS/2TMDLL与OS核服务。
如果这些操作中任何一个都没有错误或如果事件是一个屏蔽事件,则在步骤128执行操作系统服务并将控制返回给调用程序。如在116、117、118、120与122中标识的程序或功能中的一个的执行中出现错误,及如果在步骤126的错误是一个未屏蔽事件,则在步骤130将控制传送给PRAV001(图8中所示)。
下面说明步骤126的测试的目的。当中介检测到一个错误时,即一个事件时,中介能根据该事件是否是屏蔽或过滤的来决定是否要发送一个报告与警报。具体地说,某些事件可以是在中介级上屏蔽的以禁止向监视器报告该事件。如果事件不是在中介级上屏蔽的,便向监视器发送警报。具体地说,网络管理人员能在管理器中建立过滤器来导致在一定条件下只报告某些事件。这涉及建立上面对于图5所讨论的用户数据库74。
图8是一用于按照本发明的一个实施例的通用中介的故障管理阶段的例程的流程图。步骤130是从图7进入的PRAV001例程。首先,在步骤132,作出判定是否需要存储该事件警报。如果不要存储该事件警报,例程返回到调用程序。然后作出判定该事件是否是饱和的。具体地说,当通用中介生成不停地重复的警报时,为了避免网络溢出,中介将按照事件表中定义的参数停止报告警报。将这一饱和通知监视器,使它知道该事件是饱和的并不再报告。
最后,作出判定是否要过滤该事件。如果要过滤该事件,便不报告该事件。具体地说,有可能建立过滤器,使得例如只从特定的程序报告一个特定的事件。在这一情况中,如果该事件从一个非指定的程序产生,则不报告该事件。如上所述,在图7中的步骤126中进行对屏蔽与非屏蔽事件的基本过滤。在这一步骤(步骤132)中,可有选择地将生成警报的程序名或文件名与建立在用户接口52中、存储在用户数据库74中并下装到中介数据库30中的一张名称表进行比较。如果在名称表中未找到该程序,则不发送警报。
在步骤134,从步骤132的测试结果中判定是否有必要发送一个应用警报给监视器。如果否,便在步骤136将控制返回给调用程序。如果在步骤134作出判定应该发送警报,便在步骤138建立与发送该应用警报。然后中介在步骤142通过复位自己到能够接受一个新的中断的初始条件时准备好下一次操作。然后在步骤148将控制返回给调用程序。
图9是一用于通用中介的控制与管理阶段的例程的流程图。当从管理器4得到一个管理请求时在步骤150进入该阶段。在步骤152,作出判定请求的类型是动作(设定)还是请求(获取)。如果是设定请求,便将其传送到确定执行什么动作的调度程序154。工作站的引导、冻结或解冻设定命令是在步骤156执行的。工作站的信息、击键作业、起动或停止程序命令、或者取得或释放控制命令是在步骤158执行的。管理器4也可发送一个设定请求给通用中介以在步骤160下装一张新的事件表。最后,管理器4可发送一个在步骤162执行的文件修改请求。这一模块执行诸如改变CONFIG.SYS或AUTOEXEC.BAT文件的修改命令。执行了步骤156、158、160与162中的动作之后,在步骤164给管理器4送回确认。
如果在步骤152检测到一个获取请求,便将该获取命令送至执行步骤166、168、170与172的功能之一的调度程序165。如果管理器4请求程序表,便在步骤166发送它。这一程序表是工作站上为接收中介在收到该请求时正在运行的程序的表。如果请求的是基本配置信息,则此信息在步骤168发送。如果想要远程访问的信息,诸如视频驱动器、鼠标器或操作系统信息,则在步骤170收集这些信息。利用来自这一获取命令的信息,管理器4能通过在步骤158处理的一个设定请求取得中介工作站的控制。如果管理器请求事件表信息,便在步骤172检索它。来自步骤166、168、170与172的请求结果在步骤174发送给管理器4。
图10是一用于按照本发明的一个实施例的监视器2的操作阶段的例程的流程图。在步骤176,从网络接收到一个警报并在步骤178将其送至事件日志数据库44。然后将该事件写入包含诸如错误的性质、程序名、错误位置及校正动作建议等事件的详细描述的事件日志数据库44。事件日志数据库44的格式可以如上所述。按照本发明的一个实施例,生成警报的每一个事件都写入事件日志数据库44。提供利用由网络管理人员建立的过滤器来管理事件表的一个管理事件表模块180。实时提供一个事件过滤机182来过滤这些视图。换言之,该管理事件表模块180是一将事件放入事件日志数据库44或从其中检索事件的数据库管理程序。实时事件过滤机182从事件日志数据库44中选择事件供通行到执行视图功能184。将事件过滤以显示在各种视图上。具体地说,对于网络管理人员建立的各视图,只显示某些警报。视图功能在步骤184执行。
对于各事件,在步骤186判定是否为该事件定义了校正过程。换言之,如上所述,网络管理人员或用系统缺省设定建立由监视器发送给管理器导致通常由中介采取动作的专用命令的触发信号。如上所述,校正过程是一响应事件顺序执行的一组触发信号。例如,检测到一个“文件太多”错误会导致送给工作站由两个触发信号构成的一个校正过程,第一个是一修改CONFIG.SYS文件来增加文件数目的触发信号。这后面跟随一个重新引导触发信号来为改变生效重新引导工作站。
如果已经定义了响应步骤176收到的警报执行的校正过程,便在步骤188判定该校正过程是否是活跃的。具体地说,校正过程或触发信号组由监视器的用户定义成“活跃的”或“不活跃的”。由于网络管理人员为了种种原因而想要暂时挂起自动校正特征而继续日志与观察事件,可将特定的过程设定为不活跃的。如果过程是活跃的,在步骤190调用管理器来执行该过程。如果步骤186与188的回答是否定的或者管理器在步骤190执行触发信号过程之后,在步骤192执行信息日志数据库45(包含触发信号的结果、统计、计数器等)的维护。具体地说,维护事件、触发信号之类的计数器来显示数据库的大小及支持系统的操作。此外,给予管理人员一个机会来利用过程管理器54定义一个校正过程,从而在下一次出现该特定事件时,将执行一个校正过程。
图11是一用于按照本发明的一个实施例的管理器4的操作阶段的例程的流程图。管理器4或者在步骤194从中介14得到通信,或者在步骤218从监视器2得到通信。在任一情况中,将通信送到对应的调度程序196与220。
如果通信来自中介,该通信便能执行模块198至208中的一个或多个的指令。模块198是一更新出现在预定的时间间隔上的工作站状态的心跳(heart beat)过程。按照一个实施例,所提供的管理器4有表示中介14是活跃的预定频率上的心跳(heart beat)。按照一个实施例,设置了定义1至80秒范围内的心跳频率的一个可配置的参数,其系统缺省值为40秒。模块199是一更新来自中介14的关于中介的工作站的软件与/或硬件信息的配置通信。模块200为用于中介的更新程序表的ACP通信。模块201为按照确定的过滤器建立事件表的过滤器过程。模块202为按照表2与3中列出的过程执行控制的控制过程。
模块203是一执行配置菜单的配置过程。配置菜单中包括用于管理器数据库的配置过程,按照一个实施例包含访问用户表(即所管理的工作站)、监视未定义的用户(即具有尚未在数据库中定义的活跃中介的工作站)、为定义的工作站设定缺省的事件表及为各中介类型设定一个索引号码。索引号码为对事件及由管理人员预定义及可修改的事件特征的数字参照。模块204将管理击键作业触发信号送来的击键提交给中介供执行。模块206提供对文件菜单的访问。按照一个实施例,文件菜单包含下列功能显示来自数据库的当前中介参数(即名称、类型等)、启动监视器及退出管理器。模块207为在网络上增加新用户或工作站时使用的发现过程。该发现模块在接收到来自图3中所示的自动发现模块38的关于新活跃的中介的标识包时执行。最后,模块208管理用户数据库74。
如果通信是通过调度程序220来自监视器2,则它可能是表2与3中列出的命令或触发信号之一或一个或多个客户触发信号。按照所示的实施例,框222中所示的表中只包括表2中列出的那些触发信号加上客户触发信号。一旦掌握了本公开时,将表3中列出的触发信号加到这一框中是普通技术人员技术范围内的事。将过程送至调度程序196,从而能够执行各模块198至207来执行它们各自的功能。
此外,框222中的过程是通过执行设定模块214送去执行的。模块200、201、202、203与204也连接在执行设定模块214上。执行获取模块212的输出在适当时送至模块198、199或207。
菜单68提供由网络管理人员对模块197-207中任何一个以及执行获取模块212、执行设定模块214与获取用户菜单命令模块216的访问。模块212执行获取操作以从上述工作站获取信息。模块214执行设定操作来设定信息或执行上述工作站内的触发信号。模块216执行该过程来从管理器菜单选择中取得用户选择。
以下各段描述按照本发明的系统如何操作的两个实例。
如果在中断Int 17h(表1)的执行中出现了表明所请求的打印机不能得到的错误,便将一个警报报告给监视器2。将该警报记录,并且如果未过滤或者饱和时,便将其显示在适当的视图上,在这一情况中,最好是打印警报的一个定制视图。如果已经定义了处理这一警报的校正过程,将把它送至管理器4,然后送至生成该警报的中介14。校正过程可包含诸如一个触发信号(6)启动捕获应用来重新引导打印机到网络打印机上,及一个触发信号(5)发送一个信息给用户去重试打印。
如果在NOS中断的执行中出现了表明网络操作系统拒绝了对一个预期用户的访问的错误,便将一个警报报告给监视器2。和上面的实例中一样,记录该警报,并且如果未过滤或者饱和时,便显示在适当的视图上。如果定义了校正过程,它将被送至管理器4,然后送到中介14。该校正过程可包含一个触发信号(5)发送一个指明未授权的访问企图的信息,其后面跟随一个触发信号(11)来冻结该工作站。
图1~11的以上描述例示按照本发明的系统的一个实施例,它包括一个通用中介及提供与该通用中介通信的一个管理控制台。此外,按照本发明的另一实施例,可提供一个专用中介来处理在一个特定程序的执行期间可出现的错误或问题。例如,可提供一个专用中介来处理出现在LOTUSTMccMAILTM应用中的任何错误。LOTUSTMccMAILTM是一可从Lotus开发公司,(Cambridge Massachusetts)购得的一个电子邮件程序。图12-15中示出了这一专用中介的一个实施例的实例。如所述的,专用中介必须有在工作站上可以利用的通用中介并定义在管理控制台上运行。但是一旦掌握了本公开,提供一个综合通用与专用的中介来处理一个或多个特定程序以及可在网络上的工作站内出现的一般错误是在普通技术人员的技术范围内的事。
图12是一个示范性专用中介的系统视图的方框图,具体地说,该专用中介用于ccMAILTM路由选择器。ccMAILTM路由选择器是在电子邮局之间引导电子邮件报文的一个程序。用于ccMAILTM路由选择器的专用中介监视ccMAILTM路由选择器的操作及报告其状态以及其通信结果、成功或不成功。这些报告能用来以与使用通用中介表现的相同的方式启动校正过程。专用中介的各种部件连接在通用系统上,具体地连接在中介14与监视器2上。在图12中,与图2中所示的相同的部件用相同的参照数字加标记。
首先,在框300中提供一个建立与定义文件(INI)。这一建立与定义文件300中包含用于处理LOTUSTMccMAILTM路由选择器错误日志文件312及提交事件给中介14的规范。这与在框310中被提供的ccMAILTM路由选择器(router)的专用中介通信。提供一个错误日志文件312用于跟踪在LOTUSTMccMAILTM路由选择器的执行期间出现的事件。专用中介310通过正如图3中所示的标准发送警报API与通用系统的中介14通信。此外,以一个新的索引数据库的形式在框314中为ccMAILTM路由选择器提供新索引。专用中介要求将这些附加的、专用目的的索引加到这一数据库中。这些索引是用户数据库(图5中模块74)的一部分。对于各特定事件,在这一数据库中应当有一个以正文格式描述这一警报的一个索引。从而,当将任何专用中介加在系统上时,这一数据库包含一个用于这一新专用中介能生成的各警报的索引定义。
专用中介可作为一个TSR程序或非TSR程序加载。下面描述两种装入的实施例。
图13示出一个作为非TSR应用加载的ccMAILTM路由选择器专用中介的例程的流程图。首先,在步骤316装载该中介,后面跟着初始化阶段,在其中分析命令行并作出判定是否加载了通用中介。其次,在步骤318中,从该专用中介内起动LOTUSTMccMAILTM路由选择器。该专用中介起一保护路由选择器的外壳的作用。这便是,专用中介实际上是一包围路由选择器并能通过路由选择器观察与/或控制所有外部通信的一个程序。在步骤320,验证对ccMAILTM路由选择器错误日志的连接,及在步骤322,轮询日志并作出判定是否出现了一个新的路由选择器事件。
如果在步骤316、318或步骤320出现一个错误,便在步骤336打印一个故障信息。具体地说,如果在步骤316未加载通用中介,在步骤336打印差错信息“初始化失败”。如果步骤318故障,则打印“加载失败”信息,及如果步骤320故障,则打印“连接失败”信息。
在步骤322,轮询路由选择器错误日志并作出判定是否检测到一个新的路由选择器事件,如果在步骤323判定一路由选择器事件是一个错误,便在步骤324建立一个路由选择器故障警报。如果未检测到问题,便在步骤326作出判定是否出现了一个成功的操作或对话。如果否,在步骤328中进入等待状态为预定的秒数。按照一个实施例,进入这一等待状态为三秒,但这一值是可改变的。在过去了预定的秒数之后,再度将控制传给步骤322来判定是否出现新的路由选择器事件。如果在步骤326检测到一个成功的操作或对话,便在步骤330报告该路由选择器操作。在步骤332,访问通用中介14来报告分别来自步骤324与330的警报或路由选择器操作。然后在步骤334将控制传给通用中介14。
图14是一用于作为一个DOSTMTSR程序加载的ccMAILTM路由选择器的专用中介的初始化阶段的例程的流程图。首先,在步骤336分析命令行并作出判定是否加载了通用中介。如果未加载通用中介,在步骤337打印“初始化失败”错误信息。如果是,在步骤338中建立表1中列出的中断。具体地说,建立中断08h、28h、09h与16h。然后执行允许ccMAILTM路由选择器专用中介常驻在内存的步骤340。
图15是一用于作为DOSTMTSR加载的ccMAILTM路由选择器专用中介的操作阶段的例程的流程图。在步骤342检测到对中断处理程序的系统调用时,在步骤344访问该路由选择器中介中断处理程序。步骤346执行一个到老中断处理程序的转移。步骤348唤醒TSR。即,步骤346中的转移到老中断处理程序返回控制给LOTUSTMccMAILTM路由选择器程序,使之能完成其正常功能。步骤348中的唤醒功能激发专用中介TSR开始其分析与报告事件的操作。具体地说,按照一个实施例,提供用于ccMAILTM路由选择器专用中介的一个定时器中断处理程序,它通过图15中的框342每秒18次从系统取得控制。然后在框344中,ccMAILTM路由选择器专用中介确定从上一次醒来(或开始工作)是否过去了指定的时间。如果是,它调用框348来唤醒专用中介。指定时间由上述等待状态参数确定。如果指定时间尚未过去。框344调用框348执行跳转到老定时器中断处理程序(即,系统定时器)。
在步骤348中唤醒TSR之后,以上面对图13所描述的相同方式执行ccMAILTM路由选择器专用中介进程。因为该操作是相同的,不再描述它们,但用与图13中相同的参照数字在图中表示它们。
可提供上述软件模块用于与PC-DOSTM、MS-DOSTM、WINDOWSTM、OS/2TM或其它相当的操作系统一起操作。按照一个实施例,本发明在管理控制台中需要4MB RAM、8MB硬盘空间、MICROSOFTTMWINDOWSTM3.0或更新的版本,NOVELLTMNETWARETM2.2或以上版本、IBMTM局域网服务器、MICROSOFTTM局域网管理器或任何其它Net BIOSTM、IPXTM、DLCTM或TCP/IPTM兼容网络。一旦掌握了本公开,软件模块的详细实现是在普通技术人员的技能范围之内。此外,一旦掌握了本公开,在其它系统上运行这些软件模块所需的任何修改也是在普通技术人员的技能范围之内。
特定实施例的上文描述已如此全面地揭示了本发明的总性质,使得通过应用当前知识,他人都能为适应各种应用容易地修改与/或适应这些特定实施例而不脱离总概念因而这样的一些修改与适应应当与旨在理解为在公开的实施例的相等效的意义与范围之内。应当理解,这里所采用的专业术语的措辞是为了描述而不是限制的目的。
权利要求
1.一种用于监视与控制能在一个网络中的至少两个工作站中任何一个上执行的至少一个程序的系统,所述网络包括驻留在所述至少两个工作站的每个上的至少一个中介模块及连接在所述至少两个工作站的每个上的管理控制台,所述系统包括用于标识对执行在所述至少两个工作站的一个上的程序出现的一个事件的装置;用于发送标识所述事件的一个警报到所述管理控制台的装置;用于存储多个触发信号的装置,各所述触发信号适用于导致在所述网络内采取一个动作;用于存储至少一个过程的装置,所述至少一个过程包括所述多个触发信号中至少一个;以及用于响应收到所述警报,将所述过程的至少一个从所述管理控制台发送到常驻在所述至少两个工作站的所述一个上的中介模块的装置。
2.按照权利要求1的系统,还包括用于在特定时间上调度所述至少一个过程中选中的过程的性能的装置;以及用于在所述特定时间上将所述至少一个过程中所述选中的过程从所述管理控制台发送到所述至少一个中介模块的至少一个的装置。
3.按照权利要求1的系统,其中所述多个触发信号之一包括将至少一个击键作业从所述管理控制台发送到所述至少两个工作站。
4.按照权利要求1的系统,在所述管理控制台中还包括用于提供对所述至少两个工作站的远程访问以使所述管理控制台能取得及释放所述至少两个工作站的控制的装置。
5.按照权利要求1的系统,其中所述多个触发信号之一包括在所述至少两个工作站上起动程序,及所述多个触发信号的另一个包括在所述至少两个工作站上停止执行程序。
6.按照权利要求1的系统,还包括用于提供与一网络管理系统的映射完整性的装置。
7.按照权利要求1的系统,还包括用于自动发现在所述至少两个工作站上的一个新激活的中介模块,以向所述管理控制台标识所述新激活的中介模块的装置。
8.按照权利要求7的系统,其中用于提供自动发现的所述装置在所述至少一个中介模块中被提供,并在该新激活的中介模块开始操作时及在以后的预定时间间隔上发送该新激活的中介模块的一个标识包到所述管理控制台,直到它从所述管理控制台接收到发现了新激活的中介模块的确认为止。
9.按照权利要求8的系统,其中所述预定时间间隔为大约60秒。
10.按照权利要求1的系统,还包括一个应用控制装置,用于在所述至少两个工作站的一个后台操作中发动与执行所述至少两个工作站的捕捉,其中所述捕捉在不影响所述至少两个工作站的前台操作中执行的任何程序下被完成。
11.一种用于监视与控制一个网络中的至少一个程序的系统,所述网络包括至少两个工作站及连接到所述至少两个工作站中各个上的一个管理控制台,所述系统包括至少一个通用中介装置常驻在所述至少两个工作站中的各个上,用于发送指明在工作站上执行的一个程序中出现的事件的警报;监视器装置常驻在所述管理控制台上,用于日志由所述至少一个通用中介装置中任何一个所发送的警报;用于存储从所述监视器装置发送到所述至少一个中介装置的多个触发信号的装置,所述触发信号包括导致由所述至少一个通用中介装置响应该事件采取动作的命令;用于定义至少一个过程的装置,所述过程包含所述存储的触发信号的至少一个;以及管理器装置,用于监视与控制所述至少一个通用中介装置的操作,所述管理器装置包括用于响应一个警报发送所述至少一个过程到所述至少一个通用中介装置的装置。
12.按照权利要求11的系统,其中所述多个触发信号中包括多个预定义的触发信号及用户定义的触发信号。
13.按照权利要求11的系统,还包括用于在一预定频率上从所述至少一个通用中介装置发送一个心跳到所述管理器装置表示所述至少一个通用中介装置是活跃的装置。
14.按照权利要求11的系统,其中所述预定频率由1至80秒范围内可配置参数确定的,而系统缺省值为40秒。
15.按照权利要求11的系统,还包括用于在要求的时间上调度所述至少一个过程中选中的过程的性能的装置;以及用于在所述要求的时间上从所述监视器装置发送所述至少一个过程中所述选中的过程到所述至少一个通用中介装置的至少一个的装置。
16.按照权利要求11的系统,其中所述多个触发信号之一包括从所述管理器装置发送至少一个击键作业到所述至少两个工作站。
17.按照权利要求11的系统,还在所述管理器装置中包括用于提供对所述至少两个工作站的远程访问使得所述管理器装置能取得与释放所述至少两个工作站的控制的装置。
18.按照权利要求11的系统,其中所述多个触发信号之一包括在所述至少两个工作站上起动程序,及所述多个触发信号中的另一个包括在所述至少两个工作站上停止执行程序。
19.按照权利要求11的系统,还包括用于提供与网络管理系统的映射完整性的装置。
20.按照权利要求11的系统,还包括用于提供自动发现在所述至少两个工作站上新激活的中介装置以向所述管理控制台标识所述新激活的中介装置的装置。
21.按照权利要求20的系统,其中用于提供自动发现的所述装置在所述至少一个通用中介装置中所提供,并且在新激活的中介装置开始操作时及在以后的预定时间间隔上发送该新激活的中介装置的一个标识包给所述管理控制台直到它从所述管理控制台接收到发现了该新激活的中介装置的确认为止的装置。
22.按照权利要求21的系统,其中所述预定时间间隔为大约60秒。
23.按照权利要求11的系统,还包括接收机与发射机装置,用于把所述至少一个通用中介装置与采用多种网络通信协议之一的所述网络连接起来。
24.按照权利要求11的系统,其中所述监视器包括用于维护供显示关于警报统计的信息的统计视图的装置。
25.按照权利要求11的系统,还包括一个应用控制装置,用于在所述至少两个工作站的一个后台操作中发动与执行捕捉所述至少两个工作站,其中所述捕捉是在不影响所述至少两个工作站的一个前台操作中执行的任何程序下完成的。
26.按照权利要求11的系统,还包括至少一个专用中介装置,用于处理一个特定用户程序的执行期间的问题。
27.按照权利要求26的系统,其中所述一个特定用户程序是LOTUSTMccMAILTM。
28.一种用于监视与控制能在一个网络中的至少两个工作站中任何一个上执行的至少一个程序的方法,所述网络包括常驻在所述至少两个工作站的各个上的至少一个中介模块及连接在所述至少两个工作站的各个上的一个管理控制台,所述方法包括下述步骤存储多个触发信号,各所述触发信号适用于导致在所述网络内采取一个动作;存储至少一个过程,所述至少一个过程包括所述多个触发信号中至少一个;标识一个在所述至少两个工作站之一上出现的事件;发送一个标识所述事件的警报到所述管理控制台;以及响应接收所述警报,从所述管理控制台发送所述过程中至少一个到常驻在所述至少两个工作站的至少一个上的中介模块。
29.按照权利要求28的方法,还包括下述步骤在要求的时间上调度所述至少一个过程中选定的过程的性能;以及在所述要求的时间上,从所述管理控制台发送所述至少一个过程中所述选中的过程到所述至少一个中介模块的至少一个。
30.按照权利要求28的方法,其中所述多个触发信号之一包括从所述管理控制台发送至少一个击键作业到所述至少两个工作站。
31.按照权利要求28的方法,还包括提供由所述管理控制台对所述至少两个工作站的远程访问,使所述管理控制台能取得与释放所述至少两个工作站的控制的步骤。
32.按照权利要求28的方法,其中所述多个触发信号之一包括在所述至少两个工作站上起动程序,及所述多个触发信号的另一个包括在所述至少两个工作站上停止执行程序。
33.按照权利要求28的方法,还包括提供与网络管理系统的映射完整性的步骤。
34.按照权利要求28的方法,还包括提供在所述至少两个工作站上的一个新激活的中介模块的自动发现,用于对所述管理控制台标识所述新激活的中介模块的步骤。
35.按照权利要求34的系统,其中提供自动发现的所述步骤包括在新激活的中介模块开始操作时及以后的预定时间间隔上向所述管理控制台发送一个新激活的中介模块的标识包,直到它从所述管理控制台接收到发现该新激活的中介模块的确认为止。
36.按照权利要求35的系统,其中所述预定时间间隔为大约60秒。
全文摘要
一种用于监视与控制能在一个网络中的至少两个工作站的任何一个上执行的至少一个程序的系统。该网络包括常驻在至少两个工作站(10)的各个上的至少一个中介模块(14)及连接在至少两个工作站(10)的各个上的一个管理控制台(1)。该系统包括用于标识一个对于至少两个工作站(10)之一上执行的一程序出现的事件的模块;用于发送一个标识错识的警报到管理控制台(1)的模块;用于存储多个触发信号(8)的存储器,各触发信号(8)适用于导致一个在网络内采取的动作;用于存储包含多个触发信号(8)中至少一个的至少一个过程(5)的存储器;及用于响应接收到警报,从管理控制台(1)发送过程(5)中至少一个到常驻在至少两个工作站(10)之一上的中介模块(14)的模块。还提供了一种用于监视与控制能在一个网络中的至少两个工作站(10)的任何一个上执行的程序的方法。
文档编号H04L12/24GK1149343SQ95193265
公开日1997年5月7日 申请日期1995年4月3日 优先权日1994年4月5日
发明者S·图布尔 申请人:英特尔公司