管理因特网和企业内部网活动的方法和装置的制作方法

文档序号:7579987阅读:194来源:国知局
专利名称:管理因特网和企业内部网活动的方法和装置的制作方法
本申请要求1997年3月11日递交的美国临时申请No.60/____的优选权,临时申请No.60/____的主题内容在此引入作为参考。
本发明一般地涉及管理由企业内部网或因特网传送的数据包的通信,特别是涉及监控、登记和阻塞由企业内部网或因特网传送的数据包。
在计算机通信领域中计算机网络是大家熟知的,按定义,网络是通过通信设备和链路连接的计算机和相关设备的集合。网络连接可以是固定性的,如经过电缆,或者是临时性的,如通过电话或其它通信链路形成连接。在规模方面,网络是多种多样的,从由几台计算机和相关设备组成的局域网(LAN)到把地理上分散的一些计算机和LAN互连起来的广域网(WAN)。因特网本身又是依靠便于各种网络的数据传输和转换的网关或路由器,把相同的和不相同两类复杂的计算机网络连接起来。因特网work(互联网络)众所周知的缩写是因特网。据目前所知,用大写字母开头的术语“因特网”指的是使用传输控制协议/网际协议(TCP/IP)彼此通信的网络和路由器的集合。
因特网的代表性部分40显示在

图1中(当前技术),其中大量的局域网(LAN)44经路由器42连接起来,路由器42一般是专用目的计算机,用作一个LAN到另一个LAN的接口。在LAN内的通信线路可以是双绞线或同轴电缆,而网络之间的通信线路可用56Kbps模拟电话线,1Mbps数字T-1线和/或45Mbps T-3线。可知道因特网包括大量的这样互连的网络和路由器,且在图1中只是少量,因特网的代表性的部分。
近来,因特网由于它能连接位于整个世界上的计算机而飞速发展。同时,在因特网上可得到的信息服务数量已大大增加。例如,这种服务包括电子邮件,Usenet(专用的专门话题新闻组的集合),Gopher(由明尼苏达大学创建的信息检索系统)和公告牌及World Wid Web(WWW)。由服务提供的信息经因特网传输,所用的信息协议专门为具体服务的需要而设计,且用TCP/IP顶层传输信息。如由WWW提供的超文本文档,用所知超文本传输协议(HTTP)来传输。电子邮件用简单的邮件传输协议(SMTP)POP2(Post Office Protocol-Version 2)或POP3(Post Office Protocol-Version 3)传输。虽然这里陈述的HTTP,SMTP,POP2和POP3,对本领域具有一般技术的人来说将理解,这些协议只是经过因特网用来传输信息的众多协议中的一代表性实例,而新的协议和服务每天都会加入到因特网中。
总之,因特网是一信息管道,服务于任何一种属于它的较小的LAN或WAN。在因特网上,信息的增添和服务已经形成需要管理因特网和它的成员Intranet之间信息通信和服务的方法和装置。管理这种通信的方法和装置应该能监视和记录Intranet和因特网之间数据包的传输。此外,这方法和装置应该能为连到Intranet上的计算机用户设置规则拒绝或允许访问某些因特网资源,如拒绝或允许访问某WWW站点,拒绝或允许从具有某文件扩展的因特网上检索文件,及拒绝或允许根据使用的传输数据的协议类型在Intranet上传送数据到目的地。正如下面所叙述的那样,本发明提供一方法和装置它满足这些准则,且解决现有技术中的其它的不足。
根据本发明,提供网络管理程序用来管理Intranet和因特网之间数据包的通信。Intranet包括经通信介质连接的大量的计算机。因特网包括由其它一些通信介质连接的大量计算机。连到Intranet上的计算机的操作员,使用图形用户界面输入有关连到Intranet上的计算机用户的核心信息,有关连到Intranet上的计算机的映射信息,以及在这些用户和计算机面前采用的策略。GUI传送核心的用户信息,映射信息及策略到数据库,数据库存贮和组织核心用户信息,映射信息和策略。过滤程序为每个用户优化存贮在数据库中的策略,成为规则集,并把规则传给过滤引擎,过滤引擎过滤从Intranet传送到因特网的所有出境数据包。并根据过滤执行程序提供的规则检验来自因特网的所有入境数据包。
根据本发明的其它方面,过滤执行程序也传送数据库中存贮的映射信息给名字服务管理程序,名字服务管理程序还更新映射信息及向过滤执行程序返回更新的映射信息。同时,过滤执行程序根据最新的映射信息过滤数据包。
本发明的上述情况和许多伴随的优点,当结合附图,参考下面的详细说明,将变得更易欣赏,同时可变得更好的理解。其中图1(现有技术)代表部分因特网的方块图;图2是大量客户计算机和服务器被互连以形成局域网(LAN)作为典型地连到图1所示因特网上的形象化说明。
图3A是图2所示的网络服务器的几部分的原理框图,它们根据本发明用来存贮网络访问程序,管理Intranet和因特网工作;图3B是图2所示的客户计算机的几部分的原理框图,它们用来存贮和实现网络管理程序的某些部分;图3C是图2所示的服务器的几个部分原理框图,它们用来存贮和执行网络访问程序的某些部分;图4是描述很多组件分配的方块图,包括图2所示的客户计算机和服务器中的网络管理程序。
图5是一流程图,描述网络管理程序的图形用户界面(GUI)组件使用的逻辑。
图6是由GUI产生的主窗口,操作员在其中输入有关连到图2所示LAN上的每个计算机用户的核心信息;有关每个这样的用户与每个这样的计算机的映射信息;及在每个这样用户面前提供的策略信息。
图7A到7C是一流程图,描述由GUI使用的处理的通过图6所示的主窗口输入的核心,映射和策略信息的逻辑。
图8A到8Q是由GUI产生的各种其它窗口,用来输入核心,映射和策略信息;图9A到9D是一方块图,描述了大量表,这些表由网络管理程序的数据库组件存贮,用来组织GUI提供的核心,映射和策略信息。
图10A到10B是一流程图,描述了用来更新存贮在数据库中的协议策略表的逻辑;图11A和11B是一流程图,描述了用来更新数据库中文件类型策略表的逻辑;图12是一流程图,描述了用来更新数据库中站为(site)策略表的逻辑;图13A和13B是一流程图,描述了用来更新数据库中定额表的逻辑;图14是一流程图,描述了用来建立数据库中用户策略的逻辑;图15A到15C是流程图,描述了用网络管理程序的过滤执行程序组件处理和优化存贮在数据库中的核心,映射和策略信息的逻辑;图16是一流程图,描述了用于过滤执行程序初始化网络管理程序的过滤引擎组件的逻辑;图17是方块图,描述了基于数据库中存贮的策略信息,由网络管理程序的过滤执行程序定义的很多规则集;图18是一流程图,描述了用来定义规则集的逻辑,规则集包括对连到图2所示LAN上的每个计算机用户的协同规则,全局网络协议规则,用户规则和定时规则的逻辑。
图19是一流程图,描述了用来定义连到图2所示LAN上的每个计算机用户的站点规则集的逻辑。
图20是一流程图,描述了用来定义连到图2所示LAN上的每个用户的定时规则集的逻辑;图21是一流程图,描述了由网络管理程序的过滤引擎组合使用的处理在图1所示的因特网和图2所示的LAN之间通信的因特网协议(IP)的逻辑;图22是一流程图,描述了按照过滤执行程序定义的规则,用过滤引擎过滤显示在图1的因特网和图2所示的LAN之间通信的IP包的逻辑;
图23是一流程图,描述了用来记录图1所示的因特网和图2所示的LAN之间通信的IP包到记录表中的逻辑;图24是一流程图,描述了用来分析按图23形成的记录表的逻辑;图25A和25B是一方块图,描述了被数据库存贮的,用来组织记录信息的大量表格。
图26是一流程图,描述了根据显示在图1中的因特网和显示在图2的LAN之间的通信数据量,计算定额违例的逻辑。
图27是一流程图,描述了用来通知连到由过滤引擎采取行动的图2所示LAN上计算机用户的逻辑;图28A是一方框图,描述了根据本发明的由名字服务管理器去维护名字服务信息用的主机映射表;图28B是事务容器方框图,容器中存贮映射信息,它在域名服务代理,域名服务管理器和域名服务应用之间通信。
图29A和29B是一流程图,描述了根据本发明由名字服务管理器去收集,维护和服务映射信息所用的逻辑;图30是一流程图,描述了由名字服务代理去搜集有关连到图2所示LAN上的计算机的映射信息所用的逻辑。
图31是一流程图,描述了初始化时由第一专门名字服务代理去处理表示一用户已登录或退出连到图2所示LAN上的计算机上的映射信息所用的逻辑;图32是一流程图,描述了初始化后由第一专门代理去处理表示一用户已登录或退出连到图2所示LAN上的计算机上的映射信息所用的逻辑;图33是一流程图,描述了初始化时由第二专门名字服务代理去处理表示连到图2所示LAN上的计算机的IP地址已改变的映射信息所用的逻辑;图34A和34B是一流程图,描述了初始化以后由第二专门代理去处理表示连到图2所示LAN上的计算机的IP地址已改变的映射信息所用的逻辑;
图35是一流程图,描述了由名字服务应用以名字服务管理器去记录的逻辑;图36是一流程图,描述了由名字服务应用去处理通过名字服务管理器供应的映射信息所用的逻辑;图37是一流程图,描述了由名字服务管理器去处理表示连到图2所示LAN上的计算机的IP地址已变成过时的映射信息所用的逻辑;图38是一流程图,描述了由名字服务管理器去处理表示一新的IP地址已赋给连到图2所示LAN上的计算机的映射信息所用的逻辑;图39是一流程图,描述了由名字服务管理器去处理表示网络用户已退出连到图2所示LAN上的一计算机的映射信息所用的逻辑;及图40A和40B是一流程图,描述了由名字服务管理器去处理表示一网络用户已登入连到图2所示LAN上的计算机的映射信息所用的逻辑。
正如前面所述的和图1所示的,因特网40是用传输控制协议/网间协议(TCP/IP)彼此通信的局域网(LAN)44,广域网(WAN)46和路由器42的集合。图2更详细描述了LAN44,如那种典型地连到因特网40的。图2中描述的本发明的现行实施例中,LAN44是互连各种客户机和服务器的总线网络。图2所示的LAN44能由各种各样的耦合介质形成,如玻璃或塑料纤维电缆,同轴电缆,双绞线,扁平电缆等。此外,在本领域中具有一般技能的人将意识到耦合介质亦包括射频耦合介质或其它无形的耦合介质。考虑到在当今商业化环境中预装线的可行性,在这里叙述的本发明的现行实施例中,使用双绞线铜缆组成LAN44。
如图2所示,通过LAN44互连的计算机包括大量客户计算机52,这些计算机中的有些计算机已装备本发明的某些组件,有些计算机则没有装。装有本发明的至少一图形用户界面组件的那些客户机称为“管理客户机”54。在此叙述的本发明的现行实施例中,管理客户机的操作员被组织成三个管理层,即系统管理员,中级管理员及管理员。系统管理能为LAN44上的用户,就每个用户可访问因特网40上什么类型的服务和信息设置专门的策略。另一方面,中级管理员和管理员具有更多限制的能力,这将在下面给予详述。
LAN44还包括一域控制器服务器60,它跟踪在任何给定时间那些用户登录到那些客户计算机52及那些管理计算机54上。例如一用户登录到客户计算机52上,用户被告知应启动同LAN44的“会话(Session)”。域控制器服务器60捕获该会话的记录并存储用户的逻辑名和计算机名或被用户登录的计算机的“主机名(host name)”。
LAN44通过防火墙服务器48,同因特网40隔离,防火墙服务器通过它用的TCP/IP协议,即所有因特网协议或“IP”包跟踪和控制所有数据包的流程。防火墙48保护LAN44防止恶意的入境的IP包业务,而且不允许LAN44的用户动态地选择,在LAN44上的因特网用户的信息和服务可以访问选择。
从因特网40经防火墙48来的所有入境IP包业务和从LAN44经装配有网络操作系统的网络服务器50来的所有出境IP包业务协调传送数据包。在本发明的一个现行实施例中,安装在网络服务器50上的网络操作系统是微软公司的Windows NT。而对本领域中具有一般技能的人来说将认识到可使用各种其它的合适操作系统,包括基于UNIX的网络操作系统。
本发明提供了一种方法和装置,允许网络服务器50去管理LAN44和因特网40之间的IP包通信。使用管理计算机54,系统管理员,中级管理员或管理员能为连到LAN44上的计算机用户的有关任何用户都可能访问的因特网40上的服务和信息的这些类型设置专门的规则。因此,如果规则拒绝一用户访问特定的服务或信息类型,由那个用户请求访问那种服务或那种信息类型的任何IP包将不允许通过网络服务器50到达在因特网或LAN44上的目的地。有关网络服务器,管理计算机及域控制器服务器组件图3A描述了网络服务器50的几个关键组件。对本领域中具有一般技能的人来说,将会理解网络服务器50包括远多于图3A所示的组件,而且,没有必要为了公开本发明实际使用的实施例,把所有一般的常规组件都显示出来。如图3A所示,网络服务器50经网络接口66连到LAN44上。对本领域中具有一般技能的人来说将理解网络接口66包括把网络服务器50连到LAN44和防火墙服务器48上所需的电路,以及被构造用来与TCP/IP协议使用的LAN44的总线网络配置及具体类型的耦合介质。
网络服务器50还包括一处理单元62,一显示器64和大容量存贮器68,大容量存贮器68通常包括随机存取存贮器(RAM),只读存贮器(ROM)及永久大容量存贮器器件,如硬盘驱动器,磁带驱动器,光盘驱动器,软盘驱动器或它们的结合。大容量存贮器68存贮符合本发明用来管理IP包业务所需的程序代码和数据。更准确地说,大容量存贮器68存贮了网络管理程序80,此程序为管理通过网络服务器50的IP包业务流而按照本发明形成的。正如下面将作详述的网络管理程序80包括一图形用户界面70,一规则和记录数据库72,名字服务管理74,过滤执行器76及过滤引擎78。
图形用户界面(GUI)70是一种显示格式,允许管理客户机54的操作员通过点显示器上的插图及用计算机输入设备如鼠标或键盘点在显示器上显示的菜单表项,来选择命令,启动程序,并选择由网络管理程序80提供的选件。正如在下面将详述的,由GUI70提供给管理客户机的操作员的选件和命令取决于网络管理程序80提供给此操作员的管理级别,即是否操作员是系统管理员,是中级管理员或管理员。使用GUI70,操作员为LAN44的用户关于在因特网40上用户都可能访问的服务和信息的类型提供信息并设置策略。GUI70发送由操作员为每个用户提供的信息和设置的策略到规则和记录数据库72。
规则和记录数据库72是由图9A-9D及图25A和25B中所示的表组成存贮在大容量存贮器68中的关系数据库,用于由网络管理程序80管理经过网络服务器50的IP包业务。在这里描述的本发明的现行实施例中,数据库72是用结构化查询语言(SQL)管理和控制的关系数据库。SQL是用于按本发明进行查询,检索,分类,更新和管理数据库72。然而对本领域具有一般技能的人将会认识到,任何种类的数据库如文件,顺序的,面向对象等都能用来实现本发明。此外,除SQL外的访问语言亦能用于管理和控制数据库72,这些都并不脱离本发明的范围。
正如与图9A-9D有关的在下面将要详述的,数据库72的表存贮了有关LAN44的每个用户的信息以及经GUI70对每个用户设置的策略。另一方面,在图25A和25B中显示的表,存贮根据本发明关于被网络服务器50接收及记录的每个IP包。虽然,数据库72被存放在在此描述的本发明现行实施例的网络服务器50的大容量存贮器68中,对在本领域具有一般技巧的人将认识到在其它实施例中数据库72可存贮在任何其他连到LAN44上合适计算机的存贮器中。
过滤执行程序76是提供处理数据库72和过滤器引擎78之间通信和策略的网络管理程序80的组件,过滤器引擎实际上过滤通过网络服务器50的IP包。过滤执行程序76装载由数据库72收集的对每个用户的策略,并优化它们,转化为每个用户的规则集,且为过滤器引擎78提供行为规则。
过滤器引擎78,用过滤器执行程序76给每个用于提供规则,过滤通过网络服务器50的所有IP包、IP包的内容包括判断是否实际上IP包遵循这些规则所必需的信息,如果IP包不遵循,IP包可由过滤器引擎78丢弃,从而防止到达它的预定目的地。此外,过滤器引擎78可记录被过滤的包,并通知用户采取行动。
最后,在网络服务器50的大容量存贮器68中存贮的网络管理程序80包括名字服务管理器74,它收集和维护用来识别和关联LAN44用户与联到LAN44上当前正由这些用户使用的客户机的映射信息。更具体地说,名字服务管理器74动态地关联或“映射”用户的登录名及域名与计算机名(或“主机名”)及当前计算机的因特网协议(IP)地址即前面由用户所用的IP地址。对本领域具有一般技术的人将认识到IP地址由四部分数字组成,它唯一地标识连到因特网40上的一计算机。正如在下面详述的那样,名字服务管理器74从过滤执行程序76和位于LAN44上的其它代理处收集映射信息,即登录名,域名,计算机名及IP地址,并关联这些信息,成为每个LAN44用户的当前计算机到用户的分配映射。然后,名字服务管理器74提供更新映射信息给过滤执行程序76,以便过滤执行程序76能把更新映射信息随同用户规则传送到过滤引擎78。
因此,当用户登录和退出LAN44时,滤波引擎78相应地开始或停止为用户过滤通过网络服务器50的IP包。
既然网络服务器80和通过网络服务器50实现的网络管理程序80的组件已作了更详细的叙述,管理客户机54的相关组件将予以讨论。图3B描述了管理计算机54的几个关键组件,它们被用来定义要用于LAN44用户的规则集,以便根据本发明管理LAN的活动。在本领域中具有一般技术的人将理解到管理客户机54包括远多于图3B所示的组件。然而,没有必要为了充分公开本发明实际使用的实施例,而把所有一般的常规组件显示出来。管理客户机54通过类似于网络服务器50的网络接口66的网络接口56连到LAN44上。每个管理计算机54还包括一个处理单元55,-显示器58和存贮器57。存贮器57包括一常规的盘,只读存贮器及为了存贮网络操作系统82和网络管理程序80的GUI70的随机存取存贮器。在这里叙述的本发明的现行实施例中,管理计算机54并没有装备任何网络管理程序80余留下来的组件。为了允许管理计算机54的操作员输入有关用户和为用户设置策略的信息,仅仅需要GUI70。然后,信息和策略通过GUI70传到位于网络服务器50的规则和记录数据库作进一步处理。
至于,留下的连到LAN44的客户计算机52,这些客户计算机52并不装任何网络管理程序80。因此,不需要客户计算机52的电子部件的详细说明适应公开的本发明的典型实施例。而且,根据本发明,由客户计算机52传送的任何IP包,以及此后从因特网40由客户计算机52的用户做出的服务和/或信息的任何请求,当它们通过网络服务器50时,仍要通过过滤器引擎78的过滤。
图3C描述了域控制器服务器60的几个关键部件。正如上面指出的那样,域控制器服务器60跟踪在任何给定时间那些用户登录那些计算机。例如,当用户登录到计算机,且计算机开始积极地同LAN44通信时,计算机被告知已开始同LAN44“会话”。域控制器服务器60捕获此会话的记录,并通过用户存贮用户登录名,及计算机名和登录的计算机的IP地址。
域控制器服务器60包括一网络接口67,类似管理计算机54的网络接口65,它把域控制器服务器60连到LAN44。此外,域控制器服务器60包括一处理单元61,显示器63及类似于网络服务器50中建立的大容量存贮器69。而且,域控制器服务器60的大容量存贮器69存贮或者是域控制器代理75或者是主代理77,它能用来同网络访问程序80的名字服务管理器74在一起,为LAN44的每个用户在任何给定时间维护更新的和准确的用户映射信息。正如下面将更详述的,域控制器代理75收集动态的用户登录和退出信息。另一方面,主代理77收集当前连到LAN44上的计算机的IP地址。域控制器代理75和主代理77向名字服务管理器74周期性地发送收集的信息。虽然域控制器代理75和主代理77二者均显示在图3C中,但只有一个被正常使用,这一点将是可理解的。例如,若要求动态的用户到计算机的映射及计算机到IP地址的映射,则使用域控制器代理75,然而如果用户到计算机的赋给是保持静止或不变;只是还要求更新计算机到IP地址的赋给,就使用主代理77。这里,尽管所描述的主代理77位于域控制器服务器60上,对于在本领域中具有一般技术的人将认识到主代理可于连到LAN44上的任何合适的计算机上。网络管理程序图4是分配在连到LAN44上的各种计算机和服务器上的网络管理程序80的组件部分的方块图,每个管理计算机54的GUI70和网络服务器50传递由这些计算机的操作员输入的信息和策略,经LAN44到位于网络服务器50的规则和记录数据库72。这些策略由规则和记录数据库72存贮和处理,然后,随着每个用户的映射信息,单独传递用户策略到过滤执行程序76。过滤执行程序76优化这些策略,转成每个用户的规则集,并把规则和用户映射信息传送给过滤引擎78。过滤引擎78过滤从LAN44发送到因特网40的所有出境IP包,并根据由滤波器执行程序76提供给滤波器引擎76的规则校验来自因特网40的所有入境IP包。如这里出现的,名字服务管理器74把更新的映射信息提供给滤波器执行程序,然后,滤波器执行程序通过滤波器引擎78,使滤波器引擎按用户登录到LAN44和退出LAN44动态地开始和停止IP包的滤波。
既然,网络管理程序80的组件部件的整个分配已作一般性叙述,网络管理程序80的操作将予以详述。信息搜集和策略设置图5是一流程图,说明被网络管理程序80的GUI70所使用的逻辑,依据操作员的系统管理级别确定那些网络选件将呈现给管理计算机54的操作员。如下所述,网络管理选件显示在管理计算机显示器上由GUI产生的主窗口84上。如图6所示,主窗口84把有关LAN44的所有标识用户的某些信息和许多策略设置选件提供给操作员,以定义什么信息和服务对这些用户将是可用的。在这方面,主窗口84包括标识所有LAN44用户的用户表88。例如,若本发明被用在协同环境中,LAN44将包括公司的私用内部网及LAN44的每个用户将是公司的雇员。因此,用户表88将标识公司的每个雇员。根据本发明,用户能被赋给一管理访问级,如系统管理,中级管理或管理员,如果在主窗口84的用户表88中“三键”图标89出现在用户名旁,该用户为系统管理员,相应地,“二键”图标87表示中级管理员,及“一键”图标85表示管理员。
可分别用用户添加,编辑或删除工具条按钮90a,90b和90c在用户表中添加,修改或删除用户。例如,一用户通过选择用户添加工具条按钮90a能被加到用户表88,并定义其管理访问级别,这些将在下面详述。对本领域中具有一般技术的人亦将理解用户的添加,编辑和删除选件也可以从“下拉”用户菜单90d中选择。
根据本发明的还有的其它方面,所有LAN44用户能按分层方式的组来组织,在这方面,主窗口84包括组分层86,其中的根层是包括在用户表88中标识的所有用户的组。正如任何分层一样,根组包括的所有用户能被分成各种子组或“儿子”,每个“儿子”组能进一步分成子组,即“孙子”等等。再有,采用协同环境如象描述的例子,分层的根组是“协同组”。公司组根据公司的不同部门如财政部门,信息系统部,市场部和销售部应再分成子组,如图6所示,相应地,每一这些部门的雇员包含属于这些子组的用户。
如下面将详述的,具有系统管理员,中级管理员或管理员的访问级的管理客户机54的操作员,能用组添加,编辑和删除工具条按钮92a,92b和92c或组下拉菜单92d添加,修改和删除根组或“协同组”中的子组,一旦子组被定义,用户通过选择一用户到组工具条按钮91作为成员被加到子组中。
一旦LAN44的用户根据管理计算机54操作员的管理级别,即系统管理员,中级管理员或管理员已被定义及加进组中,操作员能使用GUI70设置某些策略,并广泛地面对这些组或单个地面对这些用户利用这些策略去控制用户或组访问因特网资源。在此叙述的本发明实施例中,操作员能通过由GUI70产生的主窗口应用协议策略,站点策略,文件类型策略,定额策略及时间调度策略,这些策略更具体地在下面说明。协议策略因特网资源,如WWW服务,电子邮件服务,Usenet读入和Telnet服务,通常用熟知的协议和端口号,经过因特网通信。例如电子邮件通常经过因特网,使用SMTP经端口号25,POP2经端口号106或POP3经端口号110发送。利用GUI70,系统管理员,中级管理员或管理员,通过拒绝或允许IP包传送到用来传送它们的协议,能建立一策略,去拒绝或允许访问这些资源。这个“协议策略”然后能广泛地面对组(这样,具体地面对属于组的每个用户)以及分别面对特定的用户而被应用。站点策略WWW是用超文本标记语言(HTML)写的内部相连的超文本文档的广泛的集成,HTML用电子方法,存储在遍及因特网40的“Web站点”,-Web站是连到因特网40上的一服务器,它具有大容量存贮器设施以便存贮超文本文档,且运行管理软件以便操纵这些文档的请求。利用GUI70,系统管理员,中级管理员或管理员,通过识别它的唯一的IP地址或它的完全合格的域名,能建立一站点策略,去拒绝或允许来自LAN44的用户的这种请求。正如上面指出的,关于协议策略,站点策略亦能广泛面对组或面对特定的用户而被应用。文件类型策略信息通常以上面所述的文件形式从因特网资源中检出。如可执行(.exe)文件或归档(.zip)文件。使用GUI70,系统管理员,中级管理员或管理员能设置文件类型策略,通过识别文件扩展名如.exe或.zip要被拒绝的文件类型,防止用户从因特网上下载某些文件类型,如上指出的关于协议和站点策略,文件类型策略也能广泛地面对组或分别地面对特定用户而被应用。定额策略在任何给定的一天内,每个LAN44的用户将发送和接收成百万字节IP包中包含的数据,能设定定额指出多少兆字节的数据能在给定时间周期中被任意用户发送和接收。在此说明的本发明的现存实施例中,这个时间周期是24小时。这种定额策略确保LAN44工作在最佳效率,且用户不会违例可接收在线用户策略,如同上面指出的关于协议,站点和文件策略,定额策略能广泛地面对组或分别地面对特定用户而被应用。时间调度策略最后,使用GUI70系统管理者(不是中级管理员或管理员)能建立时间调度策略,拒绝用户在一天内的特殊时间内,访问经某些协议通信的信息。例如,系统管理员能只允许在上午8点到10点期间通电子邮件,而在一天所有的其它时间用阻塞访问电子邮件协议(如SMIP,POP2,和POP3)。同协议相反,站点,文件类型和定额策略,时间调度策略只能应用于根或协同组,而不是分别地面对用户或面对协同组的子组。而且,由于时间调度策略是应用于协同组的,时间调度策略被协同组的全部子组及属于该协同组和它的子组的全部用户所继承。
回到图5,通过GUI70显示主窗口84利用的逻辑,从主窗口系统管理员,中级管理员及管理员能在块200中输入信息和设置策略,并去到块202,在块202中当前操作者登入管理计算机54,在块204中此逻辑判断用户输入的口令是否有效,若无效,逻辑返回到块202,用户重新登入。而如果用户输入合法口令,逻辑去到块206,通过查询数据库72寻找该用户的管理访问级,即系统管理员,中级管理员或管理员,若在判断块208中此逻辑判断当前的操作者是系统管理员,主窗口84被显示在操作员的管理计算机54的显示器58上,主窗口上具有在块210中可用的所有网络管理程序80的选件。然而,若用户不是系统管理员,此逻辑从块208进到判断块212,在那里判断是否用户是中级管理员,若是,主窗口84将对某种选件也就是协同缺省选件,协议添加/编辑/删除选件及时间调度选件封锁显示。
若操作者既不是系统管理员,也不是中级管理员,此逻辑进到判断块215,判断是否操作者是管理员。如果是,主窗口84将以协同缺省选件,时间调度选件,用户添加/编辑/删除选件,计算机添加/编辑/删除选件和协议选件被封锁显示,然后逻辑在218终止。
如果登入管理计算机54的操作者不是系统管理员,中级管理员或管理员,那么操作者不允许用GUI70设置策略或输入信息,并且GUI70在块217退出。
图7A,7B和7C描述了由GUI70实现的逻辑,从主窗口84处理由管理计算机54的操作员所选择的选件,而且可以理解,从主窗口84选择的每个选件使规则和逻辑库72用操作员提供的信息来更新,包括数据库72的表在图9A和9B被说明,且在图7A-7C讨论期间将被参考。
在图7A中此逻辑在块220开始,并进到判断块222判断是否操作员已在主窗口84中从文件下拉菜单83选择协同缺省选件。如上所指出的,协同缺省选件只在主窗口84中对系统管理员可用,对本领域中具有一般技术的人将认识到对中级管理员和管理员,协同缺省选件将在主窗口84中出现“灰色外观”,任何企图通过这些操作员来选择该选件将被GUI70忽视。当系统管理员从主窗口84选择协同缺省选件时,图8A所示的协同缺省窗口102通过GUI70生成在系统管理员正在使用的管理计算机54的显示器58上。从协同缺省窗口102,系统管理员通过选择或清除相应核对记号能设置下列缺省选件用到此协同组。事务装载间隔系统管理员能从事务时间下拉菜单180中选择滤波器引擎78以何种频度传输登记的IP包给规则和登记数据库72,当系统管理员为事务装载间隔输入值时,这值被存贮在图9A所示数据库72协同缺省表110的事务装载间隔字段中。
允许网络协议如果系统管理员在协同缺省窗口102中选择允许网络协议核对记号框,使用预定义网络协议表通信的IP包将无条件地允许通过过滤引擎78。同应用协议相反,网络协议是为企业内部网通信连到LAN44的计算机和服务器所用的那些协议。网络协议正常地都被允许通过过滤引擎78,以节省数据库72的空间这将是可以理解的,如果系统管理员选择允许网络协议核对记号框,协同缺省表110阻塞网络服务标记被设置,否则阻塞网络服务标记被清除。
允许不定义协议如果系统管理员在协同缺省窗口102选择允许不定义协议核对记号框,使用任何尚未被管理程序80预先定义并且为此尚无记录存贮在数据库72中的任何应用协议通信的IP包被允许通过过滤引擎78。如果选择允许不定义协议核对记号框,在协同缺省表110中设置通过标记,否则标记被清除。
允许登记当在协同缺省窗口102中选择允许登记核对记号框,经过滤引擎78允许通到它们的预定目标的所有IP包也被过滤引擎78登记。当系统管理员选择允许登记核对记号框,数据库72的协同缺省表110中的Log-on-off标记被设置,否则Log-on-off标记被清除。
模拟规则的实施当系统管理员选择模拟规则实施核对记号,通过过滤引擎78的所有IP包被登记,好像上面所述的协议,站点,文件类型及定额策略被实施,虽然事实上,它们没有实施,当模拟规则实施核对记号被选择时,Log-no-block标记在缺省表10中被设置,否则Log-no-block标记被清除。
送违例消息如果系统管理员选择送违例消息核对记号,当策略或定额设置对那个用户已违例,违例消息将被送到LAN44的用户,当送违例消息核对记号框被选择,在计算机缺省表110中设置通知(notify)标记。否则通知标记被清除。
回到图7A,系统管理员已选择或清除了协同缺省窗口102中想要的所有协同缺省核对记号框,且在数据库72中的协同缺省表110已在块226相应地被更新,逻辑进到块228,在块228系统管理员允许添加,编辑或删除网络协议表的网络协议,按缺省值这些是不被过滤引擎78阻塞的。
在协同缺省窗口102中,系统管理员通过选择网络协议按钮182可以添加,编辑或删除网络协议。若已选择,GUI70将在系统管理员的管理计算机54的显示器58上产生如图8B所示的维护网络协议窗口101。系统管理员选择Add按钮以添加网络协议到维护网络协议窗口中所示的网络协议表。
GUI70然后产生如图8C所示的添加网络协议窗口113。系统管理员在添加网络协议窗口113输入请求的信息即协议名,相关协议的端口号及大家知道的协议别名,把网络协议加到网络协议表,且选择登记业务核对记号框,表示通过网络协议传送的IP包将被登记。最后,操作员选择Apply按钮。最后,为此新加协议的一记录被加到图9A所示数据库72中的全局网络协议表112中。
加到全局网络协议表112的记录包括标识记录自己的全局协议IP,网络协议的全局协议名,大家知道的协议端口号。此外,登记标记被设置或清除,以表示是否使用网络协议发送的IP包将被登记,并且访问标记被设置或清除,表示是否使用网络协议发送的IP包允许通过过滤引擎78,然后,通知标记被设置或清除,表示是否当过滤使用网络协议发送的IP包时,用户通过过滤引擎78得到动作通知,可以理解如果系统管理员选择登记业务核对标记框,登记标记被设置。否则,它被清除。此外,访问标记被设置成阻塞网络服务标记相同值,而通知标记被设置成同在协同缺省表110中通知标记相同值。最后规则类型码被设置,表示根据策略要定义的规则是网络协议规则。
回到图8B,如果系统管理员希望编辑在维护网络协议窗口中列出的网络协议,系统管理员使所要的协议突出,并选择Edit按钮,添加网络协议窗口113再次由GUI70产生,且系统管理员能为网络协议输入更新信息。然后,网络协议的相应记录在全局网络协议表112中由数据库72更新。
如果系统管理员希望从维护网络协议窗口中所示的网络协议表中删除网络协议,系统管理员使所要的网络协议突出,且选择Delele按钮。然后,数据库72从全局网络协议表112中删除相应于网络协议的记录。回到图7A,一旦全局网络协议表112在块230被更新,数据库72在块232设置全局网络协议发送标记。
回到判断块222,如果协同缺省选件未被选择,对管理计算机的操作员不可得到(因为操作员是中级管理员或管理员),或已经选择协同缺省选择,逻辑将走到判断块234,判断是否时间调度工具条按钮94已被选择,对本领域中具有一般技术的人将理解时间调度工具条对中级管理员或管理员显示在主窗口84上将是灰色输出。如果时间调度工具条按钮94被系统管理员选择,如图8D所示的时间调度窗口104由GUI70产生在系统管理员的管理计算机54的显示器58上。为调度时间,当LAN44上所有用户被拒绝访问经某些应用协议通信的信息时,系统管理员从下拉协议菜单106选择所要的协议,并在突出显示时间阻塞期间,在时间表107中,协议将拒绝。例如如果系统管理员确定用户为业务目的不需要访问WWW,系统管理员能允许在业务时间以后访问经HTTP通信的信息,只要从下拉协议菜单106选择HTTP,及在时间表107中突出显示上午9点到下午5点。当系统管理员用Close按钮,关闭窗口104时,信息经GUI70发送到数据库72。
回到图7A中块236,一旦系统管理员选择所要协议和时间周期,在此期间所要的协议将被拒绝,在块238一记录被加到如图9c所示的数据库72保存的时间调度表114中,具体地,记录包括一限制ID字段,用来标识记录本身、组ID,用来标识在用户组表121中包含关于协同组的某些信息的记录、开始日期、结束日期、开始时间、结束时间,它们分别标识协议限制开始和结束的日期和时间。此外时间调度记录包括协议ID,它标识在协议表116中包含有关协议被拒绝的某些信息的记录。对新定义的时间限制的时间调度记录在块238被加到时间调度表114后,时间调度传送标识在块240被设置,这指示时间调度表114准备要被传送到过滤执行程序76。
回到判断块234,在图7A中如果时间调度选件还没有被选择,或已经选择,而且有系统管理员输入所要时间限制不可能得到逻辑从判断块234走到判断块242,在这里判断是否用户已分别选择添加,编辑,或删除工具条按钮90a,90b或90c。正如上面指出的,只有系统管理员和中级管理员可对用户表88添加,修改或删除用户管理员被禁示做这些工作,因此,为管理员显示的主窗口84中用户添加,编辑,和删除工具条按钮90a,90b和90c为灰色输出。
当系统管理员或中级管理员选择用户添加工具条按钮99a,添加新用户窗口105如图8E所示由GUI70产生,系统管理员或中级管理员输入对用户要求的信息,即用户的第一名字,中间名字,最后名字,登录名,电子邮件地址,和域名。此外,赋给用户一访问级别,即系统管理员,中级管理员,管理员或什么都不是。一旦系统管理员或管理员输入合适信息并选择Apply按钮,相应的用户记录被插入到图9B所示的数据库72中的用户表118内。用户记录包括由用户输入的标识记录本身的用户ID,第一名字,中间首字母,登录名,E-mail地址和域名。如果增加的用户是系统管理员,中级管理员或管理员,记录也要加到访问级别表119,否则记录不加到访问级别表119。访问级别记录包括在用户表118中用户记录的用户ID,赋给此用户的访问级别,即系统管理员,中级管理员,管理员或什么都不是。在关系数据库领域具有一般技术的人将认识到用户ID用来匹配在访问级别表119中存贮的用户信息与用户表118中存贮的用户信息。
一旦一用户被添加到用户表88,用户自动地变成协同组成员。因此,一记录被添加到组成员表120,组成员记录包括标识包含用户要害信息的用户表118中记录的用户ID,及指向包含协同组有关信息的组成员表中的组成员记录的组ID。
最后,当用户被添加到用户表88时,对那个用户的记录将加到在数据库72中的某些“策略”表。正如下面将详述的那样,这些策略表包括用户协议策略表122,用户站点策略表123和用户文件类型策略表124。在每个表中,为此用户对由用户从协同组继承的每个策略添加记录。每个这样的记录包括(1)在组成员表120中指向协同组的组ID;(2)在用户表118中指向用户的用户ID;(3)当前访问字段,它标识是否对用户的当前策略是拒绝,还是允许访问特定的协议,站点或文件类型;(4)用户的个人访问字段,标识是否该用户的个人策略允许或拒绝访问特定协议,站点或策略,不关心对那个用户当前访问的是什么;(5)当前受限制字段,标识用户当前施加的拒绝策略组或子组;(6)个人受限制字段,标识若在当前受限制字段中标识非当前受限制组时,组和子组用户会个人地继承它设置的策略。加到每个策略表中的记录也包括进入包含有关设置的特定策略的专门信息表索引。例如,每个加到用户协议策略表122的每个记录也包括协议ID。协议ID标识包含主题协议的名字,端口和别名信息的协议表116中的记录。同样地,为用户添加到用户站点策略表123中的每个记录,包括站点ID,用来标识在包含主题站点域名信息的站表126中的记录。最后,为用户添加到用户文件类型策略表123中的每个记录,包括文件类型ID,用来标识文件类型128中的记录,识别用户被拒绝访问的文件扩展名。
除了用户协议,站点和文件类型策略表122,123和124外,用户定额表125在用户被添加到用户表88时被更新。更具体地说,为该用户,一记录被加到用户定额表125,该表包括组ID,用来索引组成员表120中的协同组记录,及用户ID,用索引用户表118中的用户记录,当前定额字段,标识施加给用户的当前数据传送定额和个人定额字段,标识如果用户的当前定额已被删除,应施加的用户的个人数据定额。
回到图7A的块246,在系统管理员或中级管理员已向用户表88加一用户,并且相关的记录已为此用户加到用户表118,访问级表119,组成员表120,用户协议策略有122,用户站点策略表123,用户文件类型策略表124及用户定额表125之后,逻辑走到块248,在块248,为此用户的记录被加到如图9D所示的数据库72中存贮的传送表134中。如下面将详述的,传送表134被用来构成用户策略表136。用户策略表136是来自每个用户协议,站点和文件类型策略表122,123和124的每个用户的记录的集合。用户策略表136终究提供给过滤执行程序76以使过滤执行程序可以优化这些策略变为每个用户的规则集,通过过滤引擎78去处理经过网络服务器50的IP包业务。加到传送表上的用户记录包括用户的用户ID,及指示是否过滤引擎78应为此用户添加,替代或删除它的相应规则的动作标记。当一用户被加到用户表88时,动作标记相应地被设置成添加而不是替代或删除。
尽管,如刚才所说的,一用户能被加到用户表88,它还可以编辑在数据库72中用户的现存记录或完全地从用户表88中删除用户。为了修改用户的核心信息,系统管理员或中级管理员突出显示用户表88中所要的用户,并选择主窗口84中的用户编辑工具条按钮90b。增加的新用户窗口105再一次被显示,系统管理员或中级管理员输入新信息。然后,在用户表118中用户的记录用新信息修改。如果此用户的访问级别改变,在访问级别表119中用户的相应记录将相应地修改。然而,由于用户的用户ID并不按核心信息的修改而改变,不需要在组成员表120,用户定额表125,用户文件类型表124,用户站点策略表123或用户协议表122中添加,修改或删除任何此用户的相应记录。
如果在用户表118中用户的相应记录在块246被修改,逻辑走到块248。在块248,用户的一记录被加到包含用户的用户ID和替代动作标记的传送表134中。
通过用户表88中突出显示的所要的用户及选择删除用户工具条按钮90C,一用户从用户表88中被删除。从而,数据库72在图7A中块246删除用户表118,访问级别表119,用户协议策略表122,用户站点策略表123。用户文件类型策略表124,用户定额表125和组成员表120中所有此用户的相应记录。在块248,删除的用户记录加到包含用户的用户ID及删除动作标记的传送表134中。
回到图7A的判断块242,如果用户的添加/编辑/删除选件未被选择,或者是已被选择但不能得到,且用户已相应地被添加,修改或删除,逻辑走到判断块250,在这里它判断是否计算机映射选件已从主窗口84被选择,为了向管理计算机54或客户计算机52分配用户,系统管理员或中级管理员在用户表88中突出显示所要的用户,并在主窗口84中选择计算机表(Computer tab)96。相应的,GUI70产生图8F所示的计算机表窗口107。计算机表窗口108列出突出显示用户的当前映射信息,即计算机到用户的分配或映射信息。为把计算机映射到用户,选择Add按钮及如图8G中所示的由GUI70产生的添加计算机窗口109、系统管理员或中级管理员输入分配给用户的计算机名及此计算机的IP地址,并且选择Apply按钮把这信息传送到数据库72。
回到图7A的块252,一旦系统管理员或中级管理员分配用户到一计算机,用户的计算机的记录在块254被加到数据库72中的用户计算机表115中。如图9B所示,用户计算机记录包括用户的用户ID和标识计算机表117中一个记录的计算机ID。其中包括输入的计算机的计算机名(也称“主机名”)及在添加计算机窗口109中输入的计算机的IP地址。对在关系数据库领域具有一般技术的人将理解,保存计算机记录的分立表117,因为这可能为每个用户在LAN44上分配多于一台计算机。
如上所述,一旦用户计算机表115和计算机表117被更新,在块256用户记录被加到存贮在数据库72中的用户映射表138。如图9D所示,用户映射表138包括一记录,用来记录用户表88中的用户和连到LAN44上的客户计算机52或管理计算52之间的每次映射。每个用户映射记录包括用户的用户ID,分配给用户的计算机名,用户的计算机的IP地址,用户的登录名,用户的域名,及添加动作标记。
除了分配用户一计算机外,还可以修改或删除现存的计算机到用户的分配或映射。为修改现存的映射,系统管理员或中级管理员在图8G所示添加计算机窗口109中输入一新计算机名和/或IP地址,并选择Apply按钮。然后在用户计算机表115和计算机表117中的用户的记录相应地在块254中被修改。在块256,为用户向包括新计算机名和/或计算机IP地址的用户映射表138添加一记录。此外,动作标记将被设置成替代,以使过滤引擎78为此用户用修改过的用户映射记录替代它当前的映射记录。
如果系统管理员或管理员在块252删除计算机到用户的映射,在用户计算机表115中相应的记录将在块254被删除。因此,在块256中,刚刚被删除其当前映射的用户的记录再一次被加到用户映射表138。然而一无效IP地址被存贮在用户映射记录中。此外,动作标记被设置成删除,以使过滤引擎78为相应用户在它自己的映射表中删除映射。
返回到图7A中判断块250,如果计算机映射选件未被选择,或已经选择且分配的映射不可能得到,逻辑将走到判断块258,在这里判断是否已选择添加,编辑或删除组工具条按钮92a,92b或92c之一。如上指出的,管理员,及系统管理员和中级管理员可以添加,修改和删除组。而且,在此所述的本发明的现行实施例中,管理员只允许修改和删除协同组的子组,对这些组管理员是子组本身的组所有者或者是所此子组的祖辈之一。即管理员只允许删除管理员自己创建的子组,系统管理员或中级管理员已为这些子组确定此管理员是组的拥有者即这些组的各子组的拥有者。
返回到判断块258,如果添加组工具条按钮92a被系统管理员,中级管理员或管理员(下文总称为“操作员”)选择,图8H所示的添加组窗口103由GUI70在管理计算机54的显示器58上产生。操作员输入新子组的名,从现存组的“下拉”菜单选择新子组的父组,并标识子组的组拥有者,即他自己或另外的系统管理员,中级管理员或管理员。
利用协同环境的例子,系统管理员或中级管理员能为财政部门产生协同组的子组,新的子组的名将是“财政(finance)”,而新的组将是组的子组、系统管理员或中级管理员能从而标识管理员作为组的拥有者,如果管理员要把财政组再分割成国际财政组和国内财政组,管理员应输入国际财政组的名,并定义它作为财政组的子组,等等。正如下面更详述的,当添加一组时,该组继承他的父组设置的全部策略和定额。如上面所述的例子中,财政组继承为协同组设置的全部策略和定额。
在系统管理员,中级管理员或管理员在块260向组分层86添加一新组以后,组记录被加到数据库72中的用户组表121中。如图9C所示,用户组记录包括标识记录本身的组ID,组名,组拥有者字段,其中存贮拥有该组的操作员的用户ID及父组ID字段,父组ID字段存贮包含父组的关系信息的用户组表121中的记录的组ID。
对新添加的组的记录,还要添加到组协议策略表129,组站站策略表130,组文件类型策略表131和组定额表132中。组策略表129,130和131及组的定额表132是非常类似于上面所述的用户协议,站点和文件类型策略表122,123和124,及用户定额表125,更具体地说,在每个组策略表129,130和131中的记录包括组ID字段,当前访问和个人访问字段,及当前受限制字段和个人受限制字段,此外,组协议策略表129的记录包括一协议ID,用来索引标识允许或拒绝协议的协议表116中的记录。同样地,组站点策略表130的记录包括一站点ID字段,用来索引组站点表126,及组文件类型策略表131的记录包括文件类型ID字段,用来索引组文件类型表128,组定额表132的每个记录亦包括组ID,当前定额和个人定额。组策略和定额表与用户策略和定额表之间的不同是用户策略和定额表的记录也包括标识用户表118中相应的用户记录的用户ID字段。
当一新子组被加到组分层86以及当新子组的一记录被加到组协议策略表129,组站点策略表130,组文件类型策略表131及组定额表132时,记录的当前访问被设置如等于相应策略记录的父组中的当前访问,以及在个人访问中存入空值。此外,在记录中当前受限字段用父组的组ID存贮,而在个人受限字段中存贮空值。类似地,被加到组定额表132的记录中,对新添加的子组的当前定额被设置为等于父组的相应定额记录中的当前定额,而新加的子组的个人定额将被设置为零。
返回到图7A中的判断块250,如果组编辑工具条按钮92b被系统管理员,中级管理员或管理员选择,添加新组窗口103将再次被GUI70生成。操作员可为子组输入新名字,改变子组的拥有者或子组的父组。而且,如果子组是协同组的直接孩子,子组的父组不可改变。一旦操作员已修改了子组,且选择了Apply按钮,在用户组表121,组策略表和组定额表中,子组的相应记录被修改。
为了从组分层86中删除子组,操作员突出显示所要的子组,并从主窗口84选择删除组工具条按钮92C。因此,在用户组表121中的子组的相应记录,组协议,站点及文件类型策略表129,130,和131及组定额表132都被删除。此外,在用户策略表122,123和124中的全部记录,用户定额表125,和属于删除的组或子组的每个用户的组成员表120也被删除。
返回到图7B,一旦用户已被加到用户列表88,协同组的子组已被加到组分层86中,系统管理员,中级管理员和管理员可添加用户作为成员到现存的组和子组。同时,逻辑将走到图7B的判断264,在这里判断是否用户已经选择组工具按钮91。如果是,GUI70生成如图8I所示的添加用户到组窗口111,操作员从用户下拉菜单127选择用户名,然后从组下拉菜单100中选择用户要属于的子组,可以理解的是管理员只可能把用户加到自己是组拥有者的那些子组上。此外,在这里叙述的本发明的现行实施例中,一个用户同时只可以属于一个组。
当操作员选择Apply按钮。用户的记录如图7B的框268所示被加到组成员表120,组成员记录包括用户被加到的子组的组ID及用户的用户ID。然后包括组ID和用户ID的相应记录为用户分别加到每个用户协议,站点及文件类型策略表122,123和124及加到用户定额表125。在这方面,用户继承它已经变成其成员的组的全部策略和组的定额。更具体的讲,加到用户协议,站点和文件类型策略表122,123和124的每个记录中的当前访问字段被设置成等于当前访问字段,以子组中的相应协议,站点和文件类型策略记录和当前受限制字段,用子组的组ID被存贮,其中的用户刚成为子组的一成员,个人访问和个人受限制字段被留下不改变,关于用户定额表125,在所加记录中当前定额被设置成等于子组的组定额记录中的当前定额,个人定额被留下不改变。接着,在块270,加到组或子组中的用户记录被加到包含用户的ID和替代动作标记的传送表134。
返回到图7B中的块268,在用户的相应记录已被加到合适的用户表之后,用户记录被加到包括用户的用户ID和添加动作标记的传送表134。
返回到判断块264,如果用户没有选择组选件,或用户已选择,添加一用户是不可得到,逻辑走到判断框272,在此判断是否已选择协议添加,编辑或删除选件,即是否协议工具条按钮98已在主窗口84中被选择。可以理解,关于一特定应用协议的任何策略能被设置之前,应用协议必须首先在数据库72中被标识,正如上面指出的,只允许系统管理员去添加,修改或删除应用协议。当选择协议工具条按钮98时,GUI生成如图8J所示的维护应用协议窗口99。为添加应用协议,系统管理员选择Add按钮。作为回答,GUI70生成如图8K所示的添加应用协议窗口97。系统管理员输入协议名,协议端口号,和大家知道的协议别名,并选择Apply按钮把这信息传到数据库72,例如,若系统管理员要拒绝用户访问用文件传送协议传送的信息,系统管理员应输入名字,别名“FTP”及端口号20和21。
返回到图7B中块276,在系统管理员输入请求信息之后,作为新加的应用协议的记录被加到数据库72中的协议表116,协议记录包括标识记录本身的协议ID,协议名,协议别名,及按照系统管理员输入的一般同协议有关的端口号。
在这里叙述的本发明的现行实施例中,当一协议被加到协议表116时,在组分层86中的每个组及在用户表88中的每个用户自动地允许访问用这个协议通信的信息。因此,新加协议的相应记录必须为用户表88中的每个用户和组分层86中的每个组加到组协议策略表129和用户协议策略表122。为每个组和每个用户所加的记录将包括标识包含相关协议信息的协议表116中记录的协议ID。此外,在每个记录中的当前访问字段设置成允许。
返回到图7B中的块272,系统管理员也能修改和删除前面标识的协议。为编辑现存的协议,系统管理员在维护应用协议窗口99中突出显示所要协议,并选择Edit按钮,添加应用协议窗口97再被显示、系统管理员输入与协议有关的新信息,即名字,端口和别名,并选择edit按钮。同时,在协议表116中协议的相应记录被修改以包含新信息。而且,由于协议ID字段保持与修改记录中的相同,不必分别修改组或用户协议策略表129和122。
如果系统管理员想要从协议表116删除协议,且因此从网络管理程序80的控制下去除协议,系统管理员在维护应用协议窗口99中突出显示所要的协议,并选择删除按钮。然后,在协议表116中相应记录被删除,包含已被删除协议的协议ID的组协议策略表129和用户协议策略表122中的任何记录也被删除。
如块276所需要的那样,在协议表116及组和用户协议策略表129和122中相应的记录分别被添加,删除或修改之后,一记录被加到与添加,修改或删除协议相关的每个用户的发送表134。每个记录包括用户的用户ID和替代动作标记。
返回到图2B中判断块272,如果协议添加/编辑/删除选件未被选择,或已被选择但没有得到,一应用协议被添加,被修改或被删除,逻辑将从块272进入判断块278,在此判断是否策略选件之一已被选择。如上所述,系统管理员,中级管理员和管理员被允许在组级或用户级上设置协议策略,站点策略和文件扩展策略。然而,管理员只能对管理者是组拥有者的这些子组,及属于管理者拥有的子组的那些用户设置策略。此外,只允许系统管理员去设置协同组的策略。为了为组或用户选择策略选件,操作员突出显示在组分层86中所要组或用户表88中所要的用户,然后选择所要的站点策略表95,协议策略表93或文件策略表81。根据操作员设置什么策略是希望的,图8L所示的协议策略表窗口142,图8M所示的文件策略表窗口143或图80所示的站点策略表窗口144由GUI 70生成在操作员的管理计算机54的显示器58上。然后,操作员从显示的窗口142,143或144上设置所要的策略,如图7B块280所示的。
一旦策略被设置好,则逻辑进入判断块282,在此判断是否策略在组分层86中面对组被广泛地应用,如果是,在相应组策略表中,对组和它的子组,在块284被更新,以使组设置的策略被每个组的子组及属于组和它的任何一个子组的每个用户正确地继承。此外,属于组和任何其子组的任何用户的相应记录,在适当的用户策略表中被更新。由数据库72实现的逻辑去更新组和用户策略记录,以使组策略正确地被全部组的子组,及属于组的全部用户继承,而任何它的子组将在下面详述。
返回判断块282,如果策略没有为组设置,逻辑走到块286,在此判断是否策略分别被用在用户面前。如果是,逻辑走到块288,在此更新在适当的用户策略表中相应用户记录。一旦记录被更新,逻辑走到块290,且用户记录被加到包括用户ID和替代动作标记的传送表134。
返回到图7B中块280,从主窗口84设置组和用户协议在此将作更详细说明。如果系统管理员,中级管理员或管理员想要为组设置协议策略,系统管理员突出显示组分层86中所要的组,并选择主窗口84中的协议策略表93,然后,如图8L所示由GUI70生成协议策略表窗口142。协议策略表窗口142包括由网络管理程序80已标识的那些协议的表,即在协议表116中找到的那些协议。为了允许访问协议策略窗口142中列出的应用协议之一,操作员选择相应的应用核对标记框。例如,如果操作员希望允许访问使用HTTP通信的WWW信息,操作员应选择WWW核对标记框。如下面将更详细叙述的,突出显示的组和它的直接成员用户必然提供用HTTP通信的信息的访问。此外,如果任何组的子组和他们的成员作为个人还没有被拒绝它自己访问选择的应用协议,子组和它的成员用户亦可以允许去访问用此选择的协议传送的信息。
如果操作员想要拒绝被突出的组访问使用在协议策略窗口142中列出的协议之一传送的信息,操作员清除相应的应用核对标记框。如下面将详述的被突出显示组和它的直接成员用户必须拒绝访问用相应的应用协议传输的信息。此外,突出显示组的任何子组及属于该子组的任何用户也拒绝访问此应用协议。
为了按上述方式更新组和用户协议策略表,由数据库72实现的逻辑被示于图10A和10B中。逻辑开始于图10A中的块320,及走到块322,这里被突出显示组的组协议策略记录和由操作员选择的协议从组协议策略表129中被取回。在关系数据库领域具有一般技术的人将认识到通过匹配用户组表,协议表116及组协议策略表129中的字段,这些记录是容易被取回的,在判断块324中,数据库72判断是否操作员已选择拒绝协议,即操作员已经清除在协议表窗口142中相应的核对标记框,如果是,逻辑走到块326,在此,在突出显示组的组协议策略记录中当前访问字段和个人访问字段两者设置为拒绝。在块328,组的当前受限制字段和个人受限制字段被设置突出显示组的组ID。
接着,需要通过组分层86传播协议拒绝策略给组的孩子,以使拒绝策略被属于组的全部用户,所有组的子组及属于组的子组的全部用户继承,在这方面,逻辑从块328进入块330,这里,在突出显示组的每个子组的组协议策略记录中,当前访问字段被设置为拒绝。在每个记录中的当前被限制字段以被突出显示组的组ID存贮。
同样,在块332,属于突出显示组的每个用户和属于任何它的子组的每个用户的用户协议策略记录中,当前访问字段被设置为拒绝。被突出显示组的组ID同样被存贮在每个这种用户协议策略记录中的当前受限制字段中。在块334记录被加到属于突出显示组和任意它的子组的每个用户的传送表134。该记录包括用户的用户ID和替代动作标记,然后逻辑在块336结束。
返回到判断块324,如果操作员已选择允许应用协议,逻辑从图10B中判断块324走到块338。在块338,在被突出显示组的组协议策略记录中的当前访问字段被设置为允许,而空值被存贮到个人访问字段,当前受限制字段及个人受限制字段中,同由数据库72实现的逻辑相反,当协议被拒绝时策略只被属于组的那些用户,和组的子组的那些用户继承,属于这些子组的那些用户还没有另外的受限个人协议策略,即个人访问字段已设置为拒绝。因此,在用户或子组的协议策略被设置为允许之前,必须首先判断是否子组或用户具有另外的受限制个人协议策略。
在这方面,逻辑从块338走到块340,这里,从组协同策略表129得到相应于选择协议的突出显示组的第一个子组的组协议策略记录。在判断块342,逻辑判断是否相应父组的组协议策略记录中的当前访问字段是等于拒绝。如果是,子组必须继承它的父组的更多限制的协议策略。因此,在块344,在子组的组策略记录中当前访问字段被设置为等于父组的组协议策略中的当前访问字段,此外,父组的ID被存贮在子组的组策略记录中的当前受限制字段中。
返回到判断块324,如果父组的当前访问字段不等于拒绝,逻辑走到判断块346,在此判断是否子组的个人访问字段等于拒绝。如果是,子组的当前访问字段返回到它的更多限制的个人协议策略,即在子组的组策略记录中的当前访问字段被设置为等于块348中的它的个人访问字段。此外,子组的组ID被存贮到当前受限制字段。总之,如果子组具有个人策略去拒绝选择的协议,子组将返回到它的更多限制的个人策略,而不是执行较少限制允许策略。因为子组的当前访问字段事实上已由子组自己确定,子组的拥有组ID被存贮在当前受限制字段中。
返回到判断块346,如果个人访问字段不等于拒绝,逻辑走到块350,在此,数据库72设置子组的当前访问字段以允许并存贮一空值到当前受限制字段,表示子组当前没有受任何特定组的限制。
一旦在子组的组策略记录中已设置了当前访问和当前受限制字段,逻辑走到判断块352,在此判断突出显示组的最后一个子组的组策略记录是否已被更新。如果没有更新,逻辑走到块354,得到突出显示组的下一个子组的组协议策略记录。然后,块342到354重复突出显示组的每个子组。因此,只有突出显示组的这些子组他们没有具有当前访问字段等于拒绝及没有个人访问字段等于拒绝的直接父组将继承突出显示组较少限制的协议策略,即策略允许该选择的协议。
返回到判断块352,当最后一个子组的组协议策略记录已更新时,逻辑走到块356直到块370,以使属于突出显示组及它的任何子组的每个用户的相应用户协议策略记录被更新。更具体的说,在块356中,得到属于突出显示组和它的任何子组的第一个用户的用户协议策略记录。在判断块358,逻辑判断是否在用户协议策略记录中的个人访问字段等于拒绝,如果是,用户将返回到它的更多限制的个人策略,以拒绝此协议。更具体的说,当前访问字段被设置为等于块360中用户协议策略记录中的个人访问字段。此外突出显示组的组ID被存贮到当前受限制字段,表示用户的协议策略是当前受限制突出显示组。
而且,如果用户没有更多的限制协议策略,逻辑从判断块358走到块362,在此用户协议策略记录中的当前访问字段被设置成等于允许。此外,空值被存入当前受限制字段。
一旦当前访问字段和当前受限制字段在用户协议策略记录中已被设置,逻辑进到块364,在此,用户的一记录被加到传送表134,其中包括用户的用户ID和替代动作标记,接着,在判断块366中数据库72判断是否属于突出显示组或它的任何子组的最后一个用户的用户协议策略记录已被更新。如果未被更新,在块368中得到下一个用户的用户协议策略记录。因此,对属于突出显示组或突出显示组的任何子组的每个用户重复块358直到368,以使每个用户的当前访问和个人访问字段被合适地更新。在更新了最后一个这种用户的用户协议策略记录之后,逻辑在块370结束。
返回到图7B,如果系统管理员,中级管理员或管理员分别为用户而不是为组设置协议策略,逻辑经块282和286走到块288,在此,更新用户协议策略表122中所选协议的用户记录。如果协议策略被设置为对该用户拒绝,在用户协议记录中当前访问字段和个人访问字段被设置为拒绝,然而,如果此用户的协议策略被置为允许,在此用户的策略记录中的当前访问字段将只能设置为允许,只要此用户所属组的当前访问字段没有被设置为拒绝。换句话说,如果用户已经从它的父组中继承更多的限制协议策略,这些策略不能个别地以较少限制的协议策略来覆盖。因此,如果用户所属组的当前访问字段被设置为拒绝,用户的当前访问字段保持所设置的拒绝,但是它的个人访问字段被设置为等于允许。
一旦在用户协议策略表122中相应的用户记录在块288被更新,逻辑进到块290,在此,用户记录被加到也存贮在数据库72中的传送表134,该记录将包括用户的用户ID和替代动作标记。
除了设置组和用户的协议策略外,系统管理员,中级管理员和管理员也被允许设置文件类型策略,更具体地说,能阻止组和用户下载某些类型的文件,如具有“.exe”后缀的可执行文件,或具有“.zip”后缀的档案文件,返回到图6所示的主窗口84,操作员通过在组分层86中首先突出显示所要的组或在用户表88中所要用户设置文件类型策略,然后选择主窗口84中的文件类型表91,作为回应,图8M所示的文件类型表窗口143由GUI70生成,文件类型表窗口143包括对相应组或用户拒绝的文件扩展名表。为了拒绝访问特定的文件类型,拒绝的文件扩展名必须加到窗口143所显示的拒绝文件扩展表中。相反,为允许访问特定的文件类型,所考虑的文件扩展名必须从窗口143中所显示的文件扩展名表中被删除。
为了把文件扩展名加到拒绝文件扩展名表中并从而拒绝访问那种类型的文件,操作员选择文件策略表窗口143中的添加按钮。作为回应GUI70生成图8N所示的添加文件限制窗口145到管理计算机54的显示器58上。操作员输入要被拒绝的文件扩展名及文件扩展名的说明。然后,操作员选择Apply按钮,向数据库72送输入的信息。
返回到图7B,当操作员按照上面所述方式,在块280中设置了被用的文件类型策略,逻辑走到判断块282,在此判断是否文件类型策略是为组而设置。如果是,逻辑走到块284,在此在组文件类型策略表131中相应的组和它的子组的记录和属于这些组的用户的用户文件类型策略表124中相应的记录被更新。由数据库72实现的逻辑去更新图11A和11B中较详细显示的组和用户文件类型策略表。
逻辑开始于图11A中块372,且走到判断块374,在此,判断是否文件类型限制被操作员加到突出显示组。如果是,逻辑走到块376,在此,要被拒绝的文件扩展名记录如果它还不存在被加到文件类型表128。此记录包括标识记录本身的文件类型ID,要被拒绝的文件扩展名和文件扩展名的说明。在块378突出显示组的记录被加到组文件策略表131。在新加记录中,当前访问和个人访问字段被设置为拒绝,及突出显示组的组ID被存贮在当前受限制和个人受限制字段中。此外,文件类型ID,它标识在包含要拒绝的文件扩展名的文件类型表128中的记录,也存储在新加的记录中,判断块376和378的结果为新加文件类型的突出显示组设置文件类型拒绝策略。而且,对文件扩展名的文件类型拒绝策略则必须由突出显示组的全部子组继承,及全部属于突出显示组和它的子组的用户继承。
在这方面,逻辑走到块380,期间,每个突出显示组的每个子组的组文件类型策略记录中,当前访问字段被设置为等于拒绝,及突出显示组的组ID被存贮在当前受限制字段中。而且,可能子组没有要被拒绝的文件类型的组文件扩展策略记录。如果是这样,新的子组的记录被加到组文件类型策略表,它包括对要被拒绝的文件扩展的文件类型ID及当前访问字段设置为拒绝及当前受限制字段存贮有突出显示组的组ID。
一旦突出显示组的每个子组的组文件类型策略记录已被更新或被添加,以反映文件类型拒绝策略,属于突出显示组和它的任何子组的每个用户的用户文件类型策略记录在块382中被更新,更具体地说,每个这样用户的用户文件类型策略记录中的当前访问字段被设置为等于拒绝,且突出显示组的组ID被存贮在当前受限制字段中,而且,可能用户还没有拒绝文件扩展的用户文件类型策略表中的记录。如果是这样,如上所说的具有同样当前访问和当前受限制的字段的一新记录为此用户添加,其中包括标识在包含拒绝的文件扩展的文件类型表128中的记录的文件类型ID。
一旦所有用户文件类型策略记录已在块382被更新,逻辑走到块384,在此,一记录被加到属于突出显示组及它的任意子组的每个用户在数据库中的传送表134中。被加到传送表的每个记录包括用户的用户ID及替代动作标记,然后逻辑在块386结束。
返回到块374,如果文件类型限制不是被加到文件类型表窗口143中的文件类型扩展名表中,即文件扩展从文件限制窗口143的该表中被删除,逻辑走到图11B中块388。在块388,被删除的文件扩展的突出显示组的组策略记录从组文件类型策略表124中去除。可以理解,如果该组不包含在特定文件扩展的组文件类型策略表中的一记录,这个组不被拒绝访问具有那个文件扩展的文件,换句话说,那个组被允许访问具有那个文件扩展名的文件。
正是因为组被允许访问具有特定文件扩展名的文件,不需要真的用户属于该组或它的子组都被允许访问具有特定文件扩展名的文件。更具体的说,如果任意一个突出显示组的子组或如果属于突出显示组和它的子组的任意用户,具有对特定文件扩展名更多的限制的文件扩展名策略,即在组或用户文件类型策略记录中,个人访问字段等于拒绝,对组或用户的相应文件类型策略记录将不被删除,而对那些用户或组的文件类型拒绝策略将保留。
在这方面,逻辑从块388进入块390,其中,这特定文件扩展名的组文件类型策略记录,从组文件类型策略表中突出显示组的第一个子组中得到,在判断块392中,数据库72判断是否子组的父辈已拒绝访问该文件扩展,即是否父组具有一个组文件类型策略记录针对组文件类型策略表131中被拒绝的文件扩展,如果是这样,子组已经继承它父组的更多限制的文件类型拒绝策略。因此,如果判断块392的结果是正,在子组的组文件类型策略记录中当前访问和个人访问字段及当前受限制和个人受限制字段被留下不改变。
另一方面,如果父组不限制该文件类型,逻辑走到判断块394,在此,数据库72判断是否子组的组文件类型策略记录中个人访问字段被置为空或拒绝。如果是,子组的当前访问字段被返回到块398中它的个人访问字段。此外,子组的组ID被存贮到当前受限制字段。然而,若子组的个人访问字段没有被置为空或拒绝,逻辑走入块396,在此,所选择的文件扩展子组的组文件类型策略记录从组文件类型策略表131中删除。
一旦组的第一个子组的组文件类型策略记录如上所讨论的那样已被处理,逻辑进入判断块402,在此它判断是否突出显示组的最后一个子组的组文件类型策略记录已被处理。如果没有处理,在块404中得到突出显示组的下一个子组的组文件类型策略记录。对此突出显示组的每个子组重复块392到块404。
当突出显示组的最后一个子组被处理,逻辑从判断块402进入块406到418,在此,属于突出显示组和它的任意子组的每个用户对应的用户文件类型策略记录被更新,在这方面,对选择的文件扩展为属于突出显示组或它的任何子组的第一个用户得到用户文件类型策略记录。在判断块408,逻辑判断是否在记录中的个人访问字段等于空或拒绝。如果是,当前访问字段设置被设置为等于块412的个人访问字段。此外,突出显示组的组ID被存贮在当前受限制字段。而且,如果个人访问字段不等于空或拒绝,用户文件类型策略记录在块410,从用户文件类型策略表124被删除。
一旦用户文件类型策略记录如上所述的已被更新或删除,逻辑进入块414,在此,用户的记录被加到传送表134,记录包括用户的用户ID和替代动作标记。最后,数据库72在判断块416确定是否属于突出显示组和它的任何子组的最后用户的用户文件类型策略记录已经被处理。如果没有处理,下一个用户的用户文件类型策略记录被得到。然后对属于突出显示组和它的任意子组的每一个用户重复块408到块418。当最后一个用户的记录最后被处理,逻辑在块420结束。
返回到图7B,如果操作员设置一文件类型策略与组相反,分别面对一用户,逻辑经判断块286进入块288,在此,用户的相应记录在用户文件类型策略表124中被更新。可以理解,如果为用户添加文件扩展限制,即访问特定文件类型要被拒绝,在用户的文件类型策略记录中的当前访问字段,对此文件扩展被设置为拒绝而空值被存贮在当前受限制字段中。如果用户文件类型记录对此用户和此选择的文件类型不存在,同刚在叙述有相同字段的记录被存贮在用户文件类型策略表124中。如果对用户的文件类型限制被去除,相应的用户文件类型策略记录将被删除,只要用户属于的组在组文件类型策略表131中没有相应此文件扩展名的记录。否则,用户协议策略中的当前访问字段保持拒绝,而此用户的个人访问字段将被设置成允许。
一旦用户的用户文件类型策略记录在块288,从用户文件类型策略表124中被更新或删除,在块288用户的一记录被加到包含用户的用户ID和替代动作标记的传送表134。
返回到图7B,系统管理员,中级管理员和管理员也能设置除协议和文件类型策略外的站点策略。在这方面,操作员突出显示在组分层86中所要的组或在用户表88中所要的用户,并选择站点策略表95。作为回答,如图80所示,由GUI 70生成站点策略表窗口145。从站点策略窗口145,操作员能为突出显示组或用户添加,编辑或删除站点策略。在这里所述的本发明现行实施例中,操作员能以二种方式之一为组或用户设置站点策略,二种方式为(1)允许访问除规定站点以外的所有站点;或(2)拒绝访问除规定站点以外的所有站点。因此,如果站点访问规则是除规定站点外允许访问所有站点,在站点策略表窗口145中显示拒绝站点表。相反,如果站点访问规则是拒绝访问除规定站点之外的所有站点,允许访问站点表将被显示在站点策略表窗口145中。为添加拒绝站点表或允许站点表,无论是那种情况操作员在站点策略表窗口145中选择Add按钮。作为回答,GUI 70生成如图8P所示的添加站点访问允许窗口147。然后,操作员输入要拒绝或允许的站点名,及站点的完整合格的域名如www.jobs.com或站点的IP地址。
根据选择的Apply按钮,由操作员输入的信息经GUI被传送到数据库72,以分别更新组和用户站点策略表130和123。在这方面,如果操作员为组而不是为用户设置了站点策略,逻辑从图7B中判断块282进入块284,在此,组和用户站点策略表中相应记录被数据库72更新。由数据库72实现的更新组和用户站点策略记录的逻辑更详细显示在图12中。在图12中逻辑开始于块422,并进入判断块424,在此判断是否站点访问规则是允许全部站点禁止某些方式。如果是,逻辑走到块426,在此,数据库72使用域名服务器(DNS)查找以分辨输入的完整合格的域名到一个或多个IP地址。在本领域中具有一般技术的人将理解,DNS查找是由位于因特网40上的远程域名服务器实现的。在块428中,一记录被加到站点表126,包括标识记录本身的站点ID,输入的域名及输入的站点名,此外,一记录被加到站点IP地址表,以分辨完整合格的域名到每个IP地址。因此,加到站点IP地址表127的每个记录包括指向站点表126的站点ID,及被分辨的IP地址。在块430,突出显示组一记录被加到组站点策略表130。这记录包括指示站点访问规则是允许全部禁止某些方式的站点标记,标识在站点表126中被拒绝站点的记录的站点ID,当前访问和个人访问字段等于拒绝,及存贮有突出显示组的组ID的当前受限制字段和个人受限制字段。
一旦突出显示组的组站点策略已被更新,突出显示组的每个子组的组站点策略记录和属于这些子组的每个用户的用户站点策略记录必须被更新,以便子组和用户合适的继承突出显示组的站点策略。因此,在块432,对应于突出显示组的每个子组的组站点策略记录中,当前访问字段被设置为等于拒绝,且突出显示组的组ID被存贮在当前受限制字段中。然而,可能子组在组站点策略表130中还没有记录。如果是这样,具有如上所述的相同的当前访问和当前受限制字段的记录被加到子组的组站点策略表。
类似地,在块434,属于突出显示组的每个用户和属于任意突出显示组的孩子的每个用户的用户站点策略记录中,当前访问字段被设置为拒绝。此外,突出显示组的组ID同样的被存贮在每个这样的用户的用户站点策略记录中的当前受限制字段中。如果在用户站点策略表中,用户没有相应的记录,可以理解具有上面指出的相同字段的记录将被加到用户站点策略表123中。最后,在块436,属于突出显示组和任意它的组的子组的每个用户的记录被加到传送表134。该记录包括用户的用户ID及替代动作标记。
返回到判断块424,如果站点访问规则是拒绝除某些规定站点之外的全部站点,逻辑从判断块424走到块437。可以理解,如果站点访问规则是拒绝除某些规定的站点之外的全部站点,那么由操作员添加的站点标识突出显示组允许访问这些站点。由数据库72实现以更新相应组和用户站点策略记录的逻辑实质上相同于实现拒绝访问某些站点的逻辑。因此,块428到436仅仅是被重复,除了在每个新加记录中当前访问字段被设置为允许和空值被存贮在当前受限制字段中。当全部相应的组和用户站点策略记录被更新时,逻辑在块438结束。
除了为组添加站点策略外,允许操作员删除现存的站点策略及编辑现存的站点策略。如果操作员选择站点策略窗口145中的Edit按钮,突出显示组的相应组站点策略记录仅用新信息被更新。如果特定站点策略被删除,即操作员突出显示组站点表中所要的站点名且选择Delete按钮,相应的组站点策略记录将从组站点策略表130中被删除。
返回图7B,如果操作员为用户而不是为组设置站点策略,逻辑通过判断块286进入块288,在此,用户的用户站点策略表中相应的记录用新的站点策略更新。一旦,在用户站点策略表中,相应用户的记录被更新,逻辑走到块290,在此,这用户的记录被加到包括用户的用户ID及替代动作标记的传送表134。
返回到判断块278,如果策略选件没被选择,或是已经选择了但相应的所选择的选件不可得到,逻辑进入图7C的判断块292。在判断块292,逻辑判断是否定额选件已被选择。操作员通过在组分层86中突出显示一组或在用户表88中一用户,选择定额选件。对它们操作员要求设置数据业务定额。为设置数据业务定额,操作员突出显示组分层86中要求的组或用户表88中要求的用户,并从主窗口84选择定额表79。作为回答,GUI 70生成如图8Q所示定额策略窗口148。操作员输入设置的组或用户的信息数据量限于兆字节能在任何给定期中发送或接收。返回到图7C,如果操作员为一组设置这样的定额策略,逻辑通过判断块296进入块298,在此,在组和用户定额表132和125中相应记录被数据库72更新。
由数据库72分别用突出显示组新定义的定额更新的组和用户定额表132和125实现的逻辑,该逻辑在图13A和13B中作更详细的显示。逻辑起始于图13A中块440,并进入块442,在此,突出显示组相对应的组定额记录从组定额策略表132中得到。在判断块444,逻辑判断是否操作员输入的定额等于零。如果不是零,逻辑走到判断块446,在此,它判断是否父辈的当前定额被设置为等于零或是否操作员输入的定额小于父辈的当前定额。如果这些条件均没有满足,逻辑进入块448,由GUI 70发出错误消息。逻辑返回块442,且块442到446被重复,直到操作员输入一可接受的定额。因此,如果输入的定额小于父辈的当前定额,或者如果父辈的当前定额等于零,逻辑走到块450。在块450,当前组的当前定额和个人定额被设置为等于输入的定额,且突出显示组的组ID被存贮在突出显示组的组定额记录的当前受限制字段中。为突出显示组设置的定额由突出显示组的用户,突出显示组的子组,及属于任何突出显示组的子组的用户继承。而且,如下所述,若输入定额小于它们的当前定额或若它们的当前定额等于零时,这些用户和组将仅继承所输入的定额。
在这方面,逻辑进入块452,在此对当前定额等于零或当前定额大于输入定额的突出显示组的每个子组,将用子组的组定额记录中输入的定额取代子组的当前定额。此外突出显示组的组ID被存贮在每个子组的组定额记录的当前受限制字段中。在块454,属于突出显示组或任意它的子组的每个用户其当前定额等于零或其当前定额大于输入定额,在用户的用户定额记录中当前定额用输入定额取而代之,而突出显示背景的组ID被存贮在当前受限制字段中。然后,逻辑在块456结束。可以理解,当为用户设置定额策略时,记录不加到用户的传送表134中,因为定额策略不像规则并未传送到过滤引擎78。
返回到判断块444,如果由操作员输入的定额等于零,是否突出显示组的当前定额能以零输出,取决于突出显示组的父组的当前定额。在这方面,逻辑从判断块444走到图13B中的判断块458。在判断块458,数据库72判断是否父组的当前定额等于零。在本领域具有一般技术的人可以理解,这仅由定位组定额表132中父组的组定额记录及测试那个记录的当前定额字段中的值而确定。如果判断块458的结果为负,即父组的当前定额大于零,逻辑进入块460,在此,突出显示组的当前定额被设置为等于它的父组的当前定额,这样突出显示组继承它的父组的当前定额。而且,突出显示组的个人定额被设置为零,父组的组ID被存贮在突出显示组的当前受限制字段中,以便如果父组对突出显示组的当前定额的限制什么时候被去除,突出显示组的当前定额退回到它的个人定额。
然而,如果判断块458的结果为正,逻辑进入块462,在此,突出显示组的当前定额和个人定额被置为零。可以理解,因为父组的当前定额已被设置为零,突出显示组的当前定额和个人定额也可自由地设置为零。除此之外,突出显示的突出显示组ID被存贮到组拥有者的当前受限制字段。
一旦突出显示组的当前定额和个人定额已被设置,突出显示组的所有子组的当前定额和个人定额同时必须被更新。在这方面,逻辑进入块464,在此,突出显示组的第一个子组的组定额记录从组定额表132中得到。在判断块466,逻辑判断是否父组的定额策略记录的当前定额等于零。如果是,设置子组的当前定额为零是可能的。因此,逻辑走到判断块468,在此,逻辑判断是否子组的个人定额等于零。如果是,子组的当前定额在块470被设置为零。此外,突出显示组的组ID被存贮到子组的组定额策略记录中的当前受限制字段中。
另一方面,如果子组的个人定额不等于零,它的当前定额在块472退回到为子组在先前设置的个人定额。除此之外,子组的组ID被存贮在子组的组定额策略记录的当前受限制字段中。指示那个子组它限制自己到它的当前定额中。
返回到判断块466,如果子组的父组具有的当前定额不等于零,那么当前定额被设置成等于块474中它的父组的当前定额。此外,父组的组ID被存贮在子组的组定额记录的当前受限制字段中。
一旦突出显示组的第一个子组的组定额记录被处理,逻辑进入判断块476,在此数据库72判断是否突出显示组的最后一个子组的组定额策略已被更新,如果没有更新,突出显示组的下一个子组的组定额记录在块478得到。然后,从块466到478为突出显示组的每个子组重复执行。当最后一个子组的组定额策略记录被更新时,逻辑进入块480到494,以便属于突出显示组和它的任何子组的每个用户的用户定额记录按照新输入的等于零的定额更新。
在这方面,属于突出显示组或它的任何子组的第一个用户的用户定额记录从数据库72的用户定额表125中得到。在判断块482,逻辑判断是否用户属于的组的当前定额等于零。如果是,逻辑走到判断块484,在此判断是否用户的个人定额等于零。如果判断块484的结果为正,用户的用户定额策略记录中的当前定额被设置为零,且空值在块486被存贮到当前受限制字段中。而且,如果用户的个人定额还没有被置为零,逻辑从判断块484进到块488。在此,用户的当前定额退回到它的个人定额,并且空值被存贮到当前受限制字段中。
返回到判断块482,如果用户所属组的当前定额不等于零,逻辑从判断块482走到块490,在此用户的当前定额被设置为等于用户所属于的组的当前定额,及用户属于的组的组ID被存贮在用户的当前受限制字段中。
一旦属于突出显示组和它的任意子组的第一个用户的用户定额记录如上所述地被更新,逻辑进入块492,在此,它判断是否属于突出显示组或它的任意子组的最后一个用户的用户定额记录已被更新,如果没有更新,属于突出显示组的它的任意子组的下一个用户的用户定额记录在块494得到。然后,重复块482到494以更新属于突出显示组和它的子组的每个用户的用户定额记录。当最后的用户被处理,判断块492的结果为正,逻辑在块496结束。
返回到图7C,如果系统管理员,中级管理员或管理员已分别为用户而不是为组设置定额策略,逻辑经判断块300进入块302,在此,在用户定额表125中,用户的相应记录被更新。可以理解,只要输入的定额小于用户属于的组的当前定额,或只要用户属于的组的当前定额等于零,当前定额被设置为等于操作员输入的定额。而且,如果输入的定额自身为零,用户的当前定额只有在用户属于的组的当前定额被设置为零时将被设置为零。在这种情况下,不管是用户的当前定额还是个人定额将被设置为零。
返回到判断块292,如果定额选件没有被选择,或已经被选择,且由操作员输入所要的定额及用于面对所要的组和用户是没有得到,逻辑将走到判断块304,在此判断是否操作员已退出主窗口84或从主窗口84中File下拉菜单中选择一发送用户规则选件。如果不是,逻辑返回到图7A中的块222,且重复块222到304以便操作员可以选择更多选件。而且,如果判断块304的结果为正,逻辑走到块306,在此,由数据库72建立用户策略表136。从下面的讨论可以理解,由数据库72建立的用户策略表是在用户表88中已为每个用户定义的所有各种协议策略,站点策略,和文件类型策略的集合。一旦构成,用户策略表由网络访问程序80的过滤执行程序76读出。过滤执行程序优化在表中找出的用户策略,为每个用户创建规则集,用于过滤引擎78,以过滤通过访问服务器50的IP包业务。利用用户策略表136,通过过滤执行程序76创建的用户规则确定那些IP包被允许通过过滤引擎78及那些IP包被登录。
为创建用户策略表136,由数据库72实现的逻辑详细的示于图14中。逻辑在块500开始,及进入到块502,在此,从传送表134得到第一个记录,在块504中,利用传送表记录中的用户ID作为索引,对全部具有该用户ID的记录扫描用户协议策略表122。在块506,一记录被加到对每个不同用户协议策略记录标识的用户策略表136。加到用户策略表的每个记录包括用户ID,根据协议规则标识当前规则类型的规则类型码,协议的端口号,及协议的访问标记,即从协议表116得到的允许或拒绝。此外,加到用户策略表中的记录包括如在相应的传送表记录中设置的动作标志,即或者是添加,替代或删除。因此,当过滤引擎78从用户策略表136最终接收由过滤执行程序76准备的规则时,过滤引擎将添加用户协议规则,删除相应的用户协议规则,或用更当前的用户协议规则替代现存的用户协议规则。除了上述的字段和标志之外,登记标记和通知标志被包括在加到用户策略表136的记录中。在通知标记将被设置成同协同缺省表110中通知标志相同值的同时,登记标志将设置成同协同缺省表110中设置的登录一通断标志(Log-Oll-off)相同的值。
在块508,用户文件类型策略表124也被扫描。使用用户ID,对用户文件类型策略表124中的全部用户的文件类型策略记录。在块510,针对对此用户拒绝的每个文件扩展名,一记录被加到此用户的策略表。记录包括用户ID,一标识目前规则是文件类型规则的规则类型码,被拒绝的文件扩充,以及访问标记。这些需被置为拒绝。此外,记录包括来自相应的传送表记录的动作标记,登记标记及通知标记。
在块512,用传送表记录中的用户ID作为索引,针对全部用户的站点策略记录,扫描用户站点策略表123。在块514,对用户具有用户策略记录的每个站点,一个记录被加到用户策略表136。每个记录包括用户ID,标识此规则作为站点规则的规则类型码,及IP地址,站点标记和从站点表126和站点IP地址表127得到的访问标记。此外,记录包括由传送表记录中找到的登记标记和通知标记,及动作标记。
一旦用户协议,站点和文件类型策略表122,123和124已被扫描,及相应的记录被加到来自传送表134的第一记录中被标识的用户的用户策略表136,逻辑进入判断块516,在此它判断是否在传送表中的最后一个记录已经得到。如果没有得到,在块518中得到传送表134的下一个记录,且对传送表中下一个记录重复块504到516。相应地,对传送表中的每个记录重复块504到518。当传送表的结尾达到时,每个协议策略,文件类型策略及站点策略的记录被加到每个这种用户的用户策略表136,这种用户从最后一次用户策略表136被建立以来,已经有添加或删除或已经有策略变化发生。
返回到图7C,一旦用户策略表136如上所述的被全部构建,逻辑进入块308,在此用户策略表传送标记被设置。可以理解,用户策略传送标记一被设置,过滤执行程序76就读用户策略表136,并如下面将详述的那样,开始优化策略转成规则。在用户策略表发送标志被设置后,用户映射传送标记在块310被设置。可以理解,一旦该标志被设置,过滤执行程序76将同时读出用户映射表138。然后逻辑在块312结束。用户规则的优化和定义如上指出,一旦数据库72构建了用户策略表136,过滤执行程序76读取用户策略表136,并优化用户策略,转成每个用户的规则集,然后将它传送到过滤引擎78,由过滤执行程序76实现的以构建规则的逻辑较详细显示于图15A,15B和15C。逻辑开始于图15A中块522,并进入块524,在此,它判断是否名字服务管理器74在运行。如果不在运行,过滤执行程序76不能实现它的职责,所以逻辑在块526退出。如果名字服务管理器74正在运行,逻辑进入判断块528,在此,它判断是否过滤执行程序76的另一拷贝已在运行。如果是,过滤执行程序的当前拷贝是不需要的,逻辑在块530退出。否则逻辑进入块532。在块532过滤执行程序开始初始过滤引擎78。
由过滤执行程序76实现的初始化过滤引擎78的逻辑在图16中描述得更清楚。逻辑开始于块590,并进入块592,在此它判断是否过滤引擎78已在运行。如果是,逻辑在块594结束。否则逻辑走到块594,在此,过滤执行程序76读取协同缺省表110,且定义如图17所示的协同规则集150。更具体的说,过滤执行程序76定义Pass through规则等于Pass through标记,Log-no-block规则等于Log-no-block标记,Log-on-off规则等于Log-on-off标记以及notify-on-off规则等于协同缺省表110的notify flag标记,并且把这些规则存入协同规则集150。此外,过滤执行程序76定义一缺省规则集,如果包不能匹配任何其它定义的规则,由过滤引擎78用于过滤IP包。更具体地说,过滤执行程序76定义和添加到协同规则集150-缺省拒绝规则,缺省登记规则及缺省不通知规则。在本领域中具有一般技术的人将理解,缺省规则可以被置成任何值,即允许/拒绝,登记/不登记,通知/不通知被认为是合适的。一旦协同规则集150在块594被定义,协同规则准备好标记在块596被设置,通知数据库72协同规则已被处理。
在块598中,过滤执行程序76读取全局网络协议表112,且定义如图17所示的入境全局网络协议规则集152和出境全局网络规则集154。入境全局网络协议规则集152包括对应于如数据库72存贮的全局网络协议表112的每个记录的记录,除了在入境全局网络协议规则集中的每个记录包括in/out标记集等于“in”。每个记录保留协议号字段,端口号字段(而且端口号字段被称作目的端口号,因为这是一入境规则集),access/deny规则等于相应记录中access标记的值,Log/noLog规则等于相应记录中Log标记的值,notify/no notify规则等于相应记录中notify标记,以及指示规则是协议类型规则的规则类型码。
出境全局网络协议规则集154以同样方法被定义,除了在每个记录中in/out标记被设置为“out”,而且端口号被称为源端口号。
一旦入境和出境全局网络协议规则集152和154在块598被定义,逻辑进入块600,在此过滤执行程序76,从数据库72读取用户策略表136,并定义传送到过滤引擎78的用户规则集156。由过滤引擎78定义的用户规则集156示于图17。由过滤执行程序76实现的定义用户规则集156的逻辑更详细的示于图18。逻辑开始于块608,并进入块610,在此标识为定义规则的第一用户。可以理解,第一用户可被标识为对应于用户策略表136中第一个记录的用户ID。在判断块612,逻辑判断是否对标识的用户,在用户策略表中具有任何记录,其中规则类型码表示文件类型规则。如果是,逻辑进入块614,在此,在用户规则集156中定义文件扩展拒绝规则157。文件扩展拒绝规则157是用户规则集156中一记录,包括用户ID,规则类型码,allow/deny规则设置等于拒绝,Log/no Log规则设置等于协同规则集150中Log-on-off规则的值,而notify/no notify规则设置等于协同规则集150中的notify-on-off规则。此外,加到用户规则集156中的文件类型拒绝规则包括文件扩展字段,其中列出有对此用户拒绝的全部文件扩展。
返回到图18,如果在用户策略表中以文件类型规则类型码没有找到记录,或如果找到这样记录,但文件扩展名拒绝规则157被定义,逻辑走到判断块616,在此它判断对具有协议规则类型码的用户,在用户策略表136中是否有任何记录。如果有记录,逻辑进入块618,在此,协议拒绝规则158被定义,用于对此用户拒绝每个协议,并且被加到用户规则集156。相应地,对具有协议规则类型码的用户,为在用户策略表136中的每个记录,相应的协议拒绝规则158被加到跟随着文件类型拒绝规则的用户规则集156。每个这样的规则包括用户ID,协议规则类型码,在相应用户策略记录中找出的协议ID,在相应用户策略记录中找出的端口号,Log/no Log规则等于相应用户策略记录中Log标记,及notify/no notify规则等于相应用户策略记录中notify标记。此外,协议的allow/deny规则需要被设置为拒绝。正如下面更详细讨论的,任何协议允许规则只能设置在站点规则已被设置以后。
如果用户策略表136不包括具有协议规则类型码的任何记录,或者如果用户策略表包括这种记录,以及对具有访问标记等于拒绝的每个协议设置了协议拒绝规则158,逻辑进入判断块620,在此它判断是否在具有站点规则类型码的用户策略表136中有任何记录。如果是有,逻辑进入块622,定义此用户的站点规则159。
为用户定义站点规则159的逻辑更详细的显示于图19中。逻辑开始于块636,并进入判断块638,在此,它判断是否用户策略表136中找到的第一个记录中站点标记已被设置为允许全部某些例外的方式,可以理解,如果站点标记在第一个这种记录中被设置为允许全部某些例外,站点标记则也可在具有站点规则类型码的用户策略表中的每个其它记录设置为允许全部某些例外。如果判断块638的结果为正,逻辑走到块640,在块640过滤执行程序76扫描对用户拒绝的所有站点的用户策略表136。更具体地说,过滤执行程序76扫描用户策略表136,去得到具有站点规则类型码用户的每个记录,以便得到被拒绝站点的IP地址。在块642,过滤执行程序76然后,对被允许访问的所有协议扫描用户策略表136,更具体的说,过滤执行程序扫描具有协议规则类型码和访问标记设置为等于允许的全部记录的用户策略表136。在块644,拒绝站点与允许协议结合起来,去定义站点/协议拒绝规则,更具体的说,在块640中找到的每个拒绝站点记录同块642中找到的用户的每个允许协议记录结合起来,创建一组合规则,不仅拒绝访问一特定站点,而且防止用其它方法是允许的任何协议来访问这类站点。作用是阻塞经过用户已知的协议对此站点的全部访问。例如如果POP3电子邮件协议对用户允许用其它方法,用户将仍不能使用POP3协议,把任何电子邮件发送到这拒绝站点。
现在返回图17,把块640中找到的每个拒绝站点记录同块642中找到的每个允许协议结合起来,对每个站点/允许协议组合定义组合站点/协议拒绝规则。相应地,对每个这些组合一拒绝的站点/协议拒绝规则被加到用户规则集156,它包括用户ID,站点规则类型码,允许协议的协议ID,允许协议的端口号,拒绝站点的IP地址(称为目的IP地址)allow/deny规则设置为拒绝,Log/no Log规则设置等于相应的用户站点规则类型记录中记录标记及notify/no notify规则等于相应站点规则类型记录中通知标记。
在块646,然后为被拒绝的所有其它站点的每个允许协议定义站点/协议允许规则。因此,为在块642中找到的每个允许协议,一站点组合协议允许规则被加到用户规则集156,它包括用户ID,站点规则类型码,标识允许协议的协议ID,允许协议的端口号,通配符或“无关”IP地址,及允许/拒绝规则设置为允许,Log/no Log规则等于相应的允许协议记录中的登录标记,及notify/no notify规则等于相应的允许协议记录中的通知标记。一旦站点/协议允许规则为所有允许协议和所有未标识及此后的允许站点定义,逻辑在块656结束。
返回到块638,如果站点标记不是设置成允许全部接收,而是设置成拒绝全部站点例外,逻辑从判断块638进入块648。在块648,过滤执行程序76扫描允许用户访问的所有站点的用户策略表136,更具体地说,针对具有站点规则类型码的用户的全部记录扫描用户策略表136。在块650,过滤执行程序扫描用户策略表136针对允许用户访问的全部协议。更具体地说,针对具有协议规则类型码且访问标记设置为允许的用户的全部记录,扫描用户策略表136。在块652,块648找到的记录同块650找到的记录结合,为每个允许站点/允许协议组合定义组合的站点/协议允许规则。如图17所示,每个被定义的站点/协议允许规则包括用户ID,站点规则类型码,协议ID,允许协议的端口号,允许站点的IP地址,允许/拒绝规则设置为允许,Log/no Log规则等于相应站点规则类型记录中的登录标记,及notify/no notify规则等于相应用户策略记录中的通知标记。每个允许站点同每个允许协议相结合的结果是站点/协议允许规则被定义以允许用任何允许的协议访问指定的站点。
一旦站点/协议允许规则被定义,逻辑走到块654,在此,组合的站点/协议拒绝规则针对没有明确定义为允许的任何站点设置。换句话说,对用户允许访问的已知的协议,拒绝访问任何没有明确定义的站点。因此,在块654,站点/协议拒绝规则针对块650找到的每个允许协议为用户加到用户规则集156。站协议拒绝规则包括用户ID,站点规则类型码,协议ID,允许协议的端口号,通配符或“无关”IP地址,允许/拒绝规则设置为拒绝,Log/no Log规则等于对应允许协议的用户策略记录中的登录标记。及notify/no notify规则等于对应允许协议的用户策略记录中的通知标记。一旦站点/协议拒绝规则为块650找到的每个允许协议已被设置,逻辑从块654走到块656结束。
返回到图18,一旦站点规则159已被定义,逻辑从块622,跳过块624,直接到块626。而且,如果在判断块620无站点规则类型码记录在用户策略表136中被找到,逻辑走到块624,以便协议允许规则155能为允许用户访问的每个协议定义。可以理解,由于在用户策略表136中无站点记录被找到,协议允许规则155如刚才讨论的,不用特定站点去限定它。如图17所示,在用户规则集156中每个协议允许规则155包括用户ID,协议规则类型码,协议ID,端口号,允许/拒绝规则设置为允许,Log/no Log规则等于对应协议的用户策略记录中的登录标记及notify/no notify规则等于对应协议的用户策略记录中的通知标记。可以理解,具有协议规则类型码和拒绝访问标记的用户的用户策略表136中任何记录曾被预先处理,并且在块618它们的相应的协议拒绝规则158预先加到用户规则集。
一旦合适的站点规则和协议规则已被定义,逻辑进入块626到630,以便对未知协议设置缺省规则153。即协议从未用上面所述任何一种方法,被网络访问程序80定义。在这方面,逻辑走到判断块626,在此,判断是否Log-no-block规则已在协同规则表150中被设置成“on”。如果否,协同规则拒绝所有用户访问任何未知的协议。相应地,在块628中,为在用户策略表中具有记录的每个用户定义拒绝未知协议规则。如图17所示,每个拒绝未知协议规则包括用户ID,协议规则类型码,设置为空值的协议ID,通配符或“无关”IP地址,通配符或“无关”端口号,允许/拒绝规则设置为拒绝,Log/no-Log规则等于协同规则表150中Log-on-off规则,及notify/no notify规则等于协同规则表150中notify-on-off规则。
另一方面,如果Log-no-block规则在协同规则表150中被设置为等于on,逻辑从判断块624进入块630,在此,对在用户策略表136中具有记录的每个用户定义允许未知协议规则。每个允许未知协议规则包括像拒绝未知协议规则一样的字段,除了允许/拒绝规则被设置为等于允许而不是拒绝。
一旦未知协议规则153如上所述地被定义,逻辑进入判断块632,在此它判断是否在用户策略表136中具有任何记录的最后一个用户已经被处理,如果没有处理,逻辑进入块633,在此,在用户策略表136中具有记录的下一个用户被标识。然后,对在用户策略表136中具有记录的每个用户重复块612到632。当最后用户被处理,且判断块630的结果为正时,那么完整的用户规则集156被过滤执行程序76定义。相应地,图18的逻辑在块634结束,且关于过滤引擎初始化的图16的逻辑在块602重新开始。在块602,用户规则准备好标记被设置,以通知数据库用户规则已被处理。在块604,过滤执行程序76起动过滤引擎78。接着,在块605,过滤执行程序76把协同规则150,入境和出境全局网络协议规则152和154及用户规则156发送给过滤引擎78。然后,初始化过滤引擎的逻辑在块606结束。
返回到图15A,一旦过滤引擎78被过滤执行程序76初始化,逻辑从块532进入块534。在块534,充当名字服务管理器74代理的过滤执行程序76把注册请求送到名字服务管理74。正如下面将更详细叙述的那样,一旦过滤执行程序76在名字服务管理器74上注册作为名字服务代理,过滤执行程序76就能把静态用户映射表138送到名字服务管理器74作进一步处理。正如下面将详述的,过滤执行程序76将在名字服务管理器74上注册作为映射信息的静态源。在块536,充当名字服务应用而不是名字服务代理的过滤执行程序76把注册请求送到名字服务管理器74。一旦过滤执行程序76作为应用被注册到名字服务管理器74上,过滤执行程序76从名字服务管理器74接收更新的映射信息。因此,当过滤引擎78利用用户规则156过滤IP包时,过滤执行程序76能把最当前的计算机到用户和计算机到IP地址的映射提供给过滤引擎78。
分别在块534和536把应用注册请求送到名字服务管理器之后,过滤执行程序76开启(kick off)-由过滤引擎78实现的登记线程,以登记通过它的IP包业务。由过滤引擎实现的去登记IP包业务的逻辑更详细的显示于图23中。然而,图23的详细说明必须推迟到过滤引擎78被充分说明之后,以便把由过滤执行程序76执行的登记线程的讨论处于合适范围。
在块538,在开启此登记线程之后,过滤执行程序76也开启-这由过滤执行程序76实现的,通知线程,当用户访问站点的请求已被拒绝时提醒用户。由过滤执行程序实现的通知用户由它采取某些行动的逻辑更详细的示于图26中,然而,图26的讨论将被推迟,直到过滤执行程序已被充分地说明,以便通知线程的讨论处于合适范围中。
在过滤执行程序76开启通知线程去通知它的用户动作之后,逻辑进入块542,其中过滤执行程序76在采取任何进一步动作之前等待预定时间间隔。在这里叙述的本发明的典型实施例中,由过滤执行程序76实现的预定时间间隔为15秒,在15秒的时间间隔到期之后,过滤执行程序76检查数据库72的协同缺省表110,全局网络协议表112,用户策略表136,用户映射表138和时间调度表114的任何变化。如果这些表中任何一个发生任何改变,相应的规则由过滤执行程序76定义,然后使得对过滤引擎78可用。
在这方面,一旦预定的时间间隔到期,逻辑进入块544,在此,过滤执行程序76从数据库72读取协同缺省表110。在判断块546,逻辑判断,自从过滤执行程序76最后读出协同缺省表以来,是否任何协同缺省已有改变。更具体的说过滤执行程序寻找协同规则集150中当前规则和从数据库72的协同缺省表110中刚读出信息之间的任何差别。如果存在任何变化,逻辑走到块548,在此,过滤执行程序76定义协同规则。如上讨论的关于初始化过滤引擎78,通过设置Log-no-block规则,Log-on-off规则及notify-on-off规则等于协同缺省表110中它们的相应值来定义协同规则集150。一经定义,协同规则准备好标记在块550被设置,并在块551,协同规则150被送到过滤引擎78。
如果协同缺省还没有更新或者它们已被更新,且已定义相应的协同规则,逻辑进入判断块552,在此判断是否全局网络规则表传送标记已由数据库72设置。如果是,逻辑走到块554,在此如上所述的,过滤执行程序76读取全局网络协议表112并定义入境全局网络规则集152,和出境全局网络规则集154。当完成后,全局网络规则准备好标记在块556中被设置,且在块557中入境和出境全局网络规则152和154被送到过滤引擎78。
如果全局网络规则表传送标记没有被设置,或如果已被设置,且已定义相应的入境和出境全局网络规则152和154,逻辑进入块558,在此,它判断是否用户策略表传送标记已被数据库72设置。如果是,逻辑进入块560,在此过滤执行程序76读取用户策略表136,及定义用户规则集156。可以理解,用户规则集156如上所述的被定义且示于图18和19中。一旦用户规则集156被定义,逻辑进入块562,用户规则准备好标记被设置,接着,在块563用户规则集156被送到过滤引擎78。
如果用户策略传送标记没有被设置,或者如果它已设置并已定义用户规则,逻辑进入判断块564,在此,判断是否用户映射标记已被数据库72设置。如果是,充当名字服务代理的过滤执行程序76在块566把静态用户映射表138送到名字服务管理器74。正如下面将详述的,名字服务管理器74用用户映射表138中的映射信息更新在主映射表178中由它维护的映射信息。然后,名字服务管理器74把更新的映射信息返回到过滤执行程序76。如图17所示由过滤引擎78存贮的用户映射规则表140当连到LAN44上的计算机用户登录和退出,及当连到LAN44上计算机的IP地址变化时则用名字服务管理器76提供的更新映射信息来更新。
如果用户映射标记没有被设置,或如果已被设置,并且静态用户映射表138已经送到名字服务管理器74,逻辑进入判断块568,在此判断是否时间调度传送标记已被数据库72设置,如果是,过滤执行程序76可能需要准备一定时规则集,将用来在规定时间周期期间通过过滤引擎78拒绝访问某些协议。正如下面将详述的,定时规则实质上是调度时间内加到入境和出境全局网络协议表152和154上的入境和出境全局网络协议规则。
在此所述的本发明的现行实施例中,过滤执行程序76仅周期性地定义定时规则,最好每小时一次。因此,如果时间调度传送标记已由数据72设置,逻辑在块570中判断来自最后定义的定时规则,是否已是一小时。如果不是,没有新定时规则被定义且逻辑返回。另一方面,如果来自最后定义的定时规则已经有一小时,逻辑进入块572,在此,过滤执行程序76从数据库72读取时间调度表114及定义一定时规则集,然后送到过滤引擎78。
由过滤执行程序76实现的定义定时规则的逻辑更详细的示于图20。在图20中逻辑开始于块658,并进到块659,在此过滤执行程序76读取全局网络协议表112,并如上所述定义入境全局网络协议规则集152和出境全局网络协议规则集154。接着在块660,过滤执行程序组织时间调度114中的记录,根据协议ID组成一些组,以及根据开始日期组成一些子组。在块662,得到重组的时间调度表114中第一个记录。在判断块664,逻辑判断是否当前时间是在第一记录中找到的开始时间和结束时间之间的任何时间。如果是,过滤执行程序76为相应协议定义入境和出境全局网络协议规则,并在块666把此入境和出境规则分别加到入境和出境全局网络规则集152和154。然后逻辑进入判断块668,在此,它判断是否时间调度表114中的最后记录已被处理。
返回到判断块664,如果当前时间不在时间调度表114的第一记录中找到的开始时间和结束时间之间,逻辑跳到块666,并直接到判断块668。如果判断块668的结果是负,得到时间调度表114中下一个记录,并对此下一个记录重复块664到块668。然后,对时间调度表中每个记录重复块664到668,以使“定时规则”即入境全局网络协议规则和出境全局网络协议规则分别被加到全局网络协议规则集152和154。在每个时间调度记录中,当前时间在记录中所存的开始时间和结束时间之间,然后,逻辑在块674结束。
返回到图15B,一旦定时规则已被定义,逻辑进入块574,在此,定时规则准备好标记被设置。然后,过滤执行程序76在块575把包含“定时规则”的入境和出境全局网络协议规则152和154送到过滤引擎78。然后逻辑进入块576,在此,清除全部准备好标记,接着在图15C中判断块578,逻辑判断是否如图25A所示的IP记录装载表160已输出到数据库72。关于图24,正如下面将更详细讨论的那样,当过滤引擎78记录IP包时,IP记录装载表160被创建并周期性地从过滤引擎78输出到数据库72。IP记录装载表160包括每个被登记的IP包的IP地址。因此,当过滤执行程序76判断IP记录装载表160已输出到数据库72时,在块580过滤执行程序76开启IP分析子程序。相应地,数据库72对存贮在IP记录装载表160中的每个域名开始DNS查询,以确定相应于该域名的IP地址,并把该域名存入IP记录装载表160。因此,如果自IP记录装载表最后输出到数据库72,IP地址又有任何变化时,IP记录表160用新IP地址更新。
如果IP记录装载表160没有输出到数据库72,或在过滤执行程序76开启登入的计算机或主机名的IP地址分辨以后,逻辑进入判断块582,在此,判断是否一预定义的DNS确认定时已期满。如果是,逻辑进入块584,在此过滤执行程序76开启记录IP地址的DNS确认。而且,如下面将更详细叙述的那样,如果记录已允许通过过滤引擎78的所有包的记录被保留。因此,数据库72对存贮在IP记录装载表160中每个IP地址开始DNS查询,以判断是否IP地址的相应域名已经改变。在此叙述的本发明现行实施例中,DNS确认每24小时执行一次。因此,如果Web站点在最近24小时内改变了它的IP地址,它的当前IP地址在站点表126和站点IP地址表127中被找到并被查询。
在块584开启DNS确认后,过滤执行程序76在块586中开启定额计算子程序,以确定是否面对任何组或用户应用的定额已经超过,由数据库72实现的执行这些定额计算的逻辑更详细的示于图27。而且,图27的详细讨论将延迟直到过滤引擎和它的登记性能在此作了更全面叙述。
如果DNS确认定时还没到期,或者如果它已经到期,且过滤执行程序76已开启DNS确认和定额计算,逻辑返回到图15B中块542。在此,过滤执行程序76在检查数据库72的任何其它变化之前,等待另一个预定的时间间隔。因此,在此叙述的本发明的典型实施例中,块542到块586每15秒重复。换言之,新协同规则150,全局网络协议规则152和154及用户规则156被更新及用户映射表138每15秒传送到名字服务管理器74。可以理解,当协同规则,全局网络协议规则,用户规则及定时规则被更新及它们的相应的标记被设置时,过滤引擎78被通知规则已准备好由过滤引擎78读出。过滤IP包可以理解,当过滤执行程序76设置各种规则准备好标记时,过滤引擎78得到通知新用户规则集156,入境全局网络规则集152和出境全局网络规则集154被准备好。过滤引擎78将根据每个规则的动作标记。读取规则集或者向过滤引擎的规则集添加规则,对过滤引擎的规则集替代规则或从过滤引擎规则集整个地删除规则。可以理解,过滤引擎规则集同图17中所示的规则集取相同形式。然而过滤引擎78使用不断更新规则,过滤通过网络服务器50的任何IP包。过滤引擎78实现的逻辑更详细地示于图21中。
图21的逻辑开始于块680,然后进入判断块682,在此判断是否过滤引擎已拦截IP包。可以理解,网络服务器50及该过滤引擎78既要接收LAN44上出境IP包送到因特网40上,又要接收因特网上入境IP包送到LAN44如果IP包没有受过滤引擎78的拦截,逻辑只是重复判断块682,直到IP包受到拦截。
一旦受拦截,IP包针对它的源IP地址,即发送此包的计算机IP地址及它的目的IP地址即包将发送到的计算机IP地址进行检查。此外,IP包针对端口号被检查,以使确认用于发送IP包的应用协议。在块686,被拦截的IP包则由过滤引擎78过滤,以判断是否包应该允许通过过滤引擎78和/或由过滤引擎78登记。此外,IP包被过滤,以判断是否用户应该得到这种动作的通知。
由过滤引擎78实现去过滤拦截的IP包的逻辑更详细地示于图22。逻辑开始于块710,接着进入判断块712,在此判断是否受拦截的IP包是出境IP包,即IP包从LAN44送到因特网40。如果不是,IP包必是一IP入境包。因此逻辑进入判断块714,在此逻辑判断是否过滤引擎78具有任何入境全局网络协议规则152。如果没有,在块716逻辑仅返回缺省过滤规则的结果,即入境包将被登记,但拒绝通到在LAN44上的要求目标,并且也不通知用户,然后,逻辑在718结束。
然而,如果过滤引擎78确有入境全局网络协议规则集152,逻辑从判断块714走到判断块720,在判断块720,逻辑确定IP包匹配入境全局网络规则之一,更具体地说,在入境IP包中找到的端口号同入境全局网络协议规则152中每个的目的端口号比较,如果发现IP包的端口号和入境全局协议规则152的任何一个目的端口号匹配,判断块720的结果是正,逻辑进入块721,其中匹配的入境全局网络协议规则的结果被返回。更具体地说,入境全局网络协议Log/no Log规则,allow/deny规则和notify/no notify规则的值被返回。然后逻辑在块722结束。从上面讨论可以理解,在此叙述的本发明现行实施例中,来自因特网的任何入境IP包,只面对入境全局网络协议规则152进行过滤,它们并不面对任何保留的规则过滤。另一方面,如果IP包不匹配入境全局网络协议规则,在块716缺省规则的结果被返回。
返回到判断块712,如果被拦截的IP包是出境IP包,逻辑进入判断块724,在此判断是否过滤引擎78具有任何出境全局网络协议规则154。如果有,那末逻辑在判断块726判断是否出境IP包匹配任何出境全局网络协议规则154。更具体地说,在出境包中找到的端口号同出境全局网络协议规则154中每个源端口号比较。如果找到端口号之间的匹配,那末匹配的全局网络协议规则的结果在块721中返回,即出境全局网络协议Log/no Log规则,notify/no notify规则及allow/deny规则的结果被返回。然后逻辑在块722结束,并且不进一步实现过滤出境IP包。
另一方面,如果过滤引擎78没有任何出境全局网络协议规则154,或如果出境IP包不匹配出境全局网络协议规则154之一,逻辑进入块728,在此过滤引擎78把出境包的源IP地址映射为用户映射表138中的用户ID。更具体地说,过滤引擎78,针对包含匹配出境IP包的源IP地址的源IP地址的记录,扫描用户映射规则表140。在判断块730,过滤引擎78判断是否这样的记录已找到。如果是,过滤引擎78在判断块736判断是否用户规则集156包括相应于映射的用户ID的任何规则。而且,如果具有数据包的源IP地址和映射的用户ID的用户映射规则表140中的记录没有找到,或如果用户规则集156不包括映射的用户ID的任何规则,缺省规则的结果分别在块732或块738返回。更具体的说,去记录该结果,但拒绝出境IP包,而且不向用户通知采取的行动。然后,出境包的过滤被实现,逻辑在块734或块740结束。
如果出境IP包的源IP地址和用户ID之间的映射被找出,及如果用户规则集156包括为映射的用户ID的规则,逻辑进入块742到752,在此,出境IP包面对相应于用户ID的用户规则156被过滤。在这方面,过滤引擎在判断块742判断是否IP包匹配用户规则集156中的任何规则。为了作出该判断,过滤引擎78比较出境IP包和用户规则集156中每个规则,直到找到匹配。相应地,出境IP包按照用户规则出现在用户规则集156中的次序,对在用户规则集156中找到的用户的每个规则进行比较。因此,IP包将针对用户的文件类型拒绝规则157,再加上协议拒绝规则158,站点规则159,协议允许规则155及此用户的未知协议规则153被比较,在本领域具有一般技术的人将认识到,尽管,用户规则集156中用户规则出现的次序取决于过滤执行程序76创建次序,且这个次序可以变化,这并没有脱离本发明的范围。根据此用户的文件类型拒绝规则157,如果文件扩展名在出境IP包中找着,文件扩展名将面对文件类型拒绝规则157中列出的那些文件扩展名被比较。如果存在匹配,该包将不同用户规则集156中任何子规则比较,而是,用户的过滤类型拒绝规则157的结果在块744被返回。即allow/deny规则,Log/no Log规则及过滤类型拒绝规则157的notify/no notify规则被返回,然后逻辑在块746结束。
如果用户没有文件类型规则157,或者在出境IP包和文件类型拒绝规则157之间不存在匹配,出境IP包针对用户的协议拒绝规则158被比较,更具体地说,在出境IP中找到的端口号同每个用户的协议拒绝规则158中的端口号比较,直到找到匹配,如果找到匹配,包不再通过任何余下的用户规则进行过滤。而是,协议拒绝规则的结果,即allow/deny规则,Log/no Log规则和notify/no notify规则的结果,在块744被返回,并且逻辑在块746结束。
如果发现对协议拒绝规则158的不匹配,出境包面对此用户的站点规则159比较,更具体地说,把IP包中找到的端口号和目的IP地址同用户的站点规则159中的每一个的端口号和目的IP地址比较。此外,如果发现匹配,针对站点的allow/deny规则,Log/no Log规则及notify/no notify规则的结果在块744中被返回,逻辑在块746结束。然而,可能IP包不匹配站点规则159中任何一个。如果是这样,包面对用户的协议允许规则155被比较,即来自IP包的端口号同每个协议允许规则155的端口号比较。如果发现匹配,Log/no Log规则,allow/deny规则及notify/no notify规则的结果在块744中被返回,逻辑在块746结束。
如果IP包已遭遇文件类型拒绝规则157,协议拒绝规则158,站点规则159及协议允许规则155,且还没有找到匹配,IP包面对用户的未知协议规则153作最后的过滤如果找到匹配,未知协议规则153的结果即Log/no Log规则,allow/deny规则和notify/no notify规则的结果在块744返回,且逻辑在块746结束。
最后,如果IP包不匹配于上面定义的任何规则,逻辑进入块750,缺省过滤规则的结果被返回,即该包将被拒绝,但被登记,并且不通知用户,逻辑在块752结束。
一旦拦截的IP包如上所述的已被过滤,且从过滤处理返回Log/noLog,allow/deny,及notify/no notify结果,逻辑从图21中块686进入判断块688,在判断块688,逻辑判断是否IP包要被登记。换言之,逻辑判断是否过滤处理返回一记录结果。如果是,在块690逻辑判断是否协同Log-on-off规则已设置为on,如果是,在块692,IP包被存贮到过滤引擎78中的记录缓冲器中,然而,如果过滤结果未登记此IP包,或如果协同规则未登记IP包,逻辑跳到块692,并直接进到判断块694。
在判断块694,逻辑判断是否此IP包要被允许送到它预期的目的。更具体地说,逻辑判断过滤结果是允许或拒绝此IP包。如果IP包被拒绝,在判断块696逻辑判断是否协同Log-no-block规则是on,如果是,因为协同规则仅模拟阻塞规则,在块700IP包被允许通到它预期的目的地,而且,如果过滤处理的结果是拒绝IP包,且如果协同规则允许全部IP包阻塞,IP包在块698被拒绝和被丢弃,不允许通到它预期的目的地。
一旦已判断包应该被登记和/或被丢弃,逻辑进入判断块702,在此,判断关于IP包是否就过滤引擎78采取的动作通知用户。更具体地说,逻辑判断过滤的结果是已通知还是没有通知用户。如果过滤结果已通知用户,在判断块704,逻辑判断是否协同通知规则是设置为on。如果是,在块706过滤引擎78发生通知请求。然而,如果过滤结果没有通知用户或者如果协同规则通知用户被设置为off,过滤引擎78不发出通知请求。
一旦IP包被过滤,且由过滤引擎78对IP包采取适当的动作,逻辑返回到判断块682并等待拦截另外的IP包。然后,对过滤引擎78拦截的每个IP包重复块682到706。在本领域具有一般技术的人将理解,当被过滤引擎78拦截的每个IP包被处理时,过滤引擎78或登记或不登记IP包,或丢弃或把IP包送到它想要的目的地,或通知或不通知用户由过滤引擎78所采取行动,这些取决于系统管理员,中级管理员或管理员使用GUI 70初始设置的策略。正如下面将更详细讨论的,登记的,拦截的IP包被编制到数据库72中的表格里,以便系统管理员,中级管理员和管理员能维护和检查,由LAN44的用户做出的位于因特网上的信息和服务出境请求。登记功能如上指出的,过滤执行程序76开启一系列登记线程,由过滤引擎78向它们供应原始登记数据。由过滤执行程序76实现这些登记线程所用的逻辑更详细的示于图23。逻辑开始于块760,接着进入块762,在此,过滤执行程序76开启登记的IP包的一系列一分钟表(one-minute lists)的集合。更具体的说,过滤执行程序76开始收集登记的IP包以一分钟间隔转成列表。在每个一分钟间隔期间,过滤执行程序76收集临时缓冲器中所有登记的IP包,当数据库72不断收集IP包的一分钟表时,过滤执行程序76在块764,根据协同缺省表110中设置也等待事务装载间隔到期。当期满时,过滤执行程序76压缩在事务装载间隔期间收集到的所有一分钟表,转到IP记录装载表160,这些详细显示于图25A中。更具体的说,为收集的每个IP包,过滤执行程序76把一记录存到IP记录装载表160中,其中包括事务的开始时间,发送IP包或接收IP包的用户的用户ID,IP包的源IP地址,IP包的目的IP地址,存贮在IP包中的端口号,如果它是入境IP包则为由IP包输入的数据字节,如果它是出境IP包则为由IP包输出的数据字节,过滤结果(即Log/no Log,allow/deny,notify/no notify)及访问标记。
一旦IP包的全部一分钟表已压缩到IP记录装载表160,过滤执行程序76在块771把IP记录装载表输出到数据库72,并在块768中开启子程序去分析IP记录装载表160。然后,逻辑返回到块764,并等待事务装载间隔到期。
由过滤执行程序76数据库实现去分析IP记录装载表160转变为IP登记表162的逻辑更详细的示于图24。逻辑开始于块770,接着进入判断块772,在此,逻辑判断是否装载表传送标记已被设置。如果没有,逻辑仅在块772重复,直到装载表传送标记已由过滤引擎78设置。这时,在块774中,IP记录装载表160被复制到数据库72中IP登记工作表164。然后,IP记录装载表160为清空,以便它能再一次被过滤引擎78执行的登录线程填充。
在块776,得到IP登记工作表164中第一个记录。在块776,过滤执行程序76为对应于登记包的目的IP地址的域名执行DNS查找。在块778,一记录被加到在IP登记工作表记录中指定站点的站点高速缓存工作表166中。该记录包括标识在站点高速缓存工作表166中的记录的站点ID,站点的域名及站点的目的IP地址。在块782,加到站点高速缓存工作表166新加记录的站点ID被加到登记的包的相应IP登记工作记录中。
然后逻辑进入判断块784,在此它判断是否在IP登记工作记录中的用户ID已被存贮到名字高速缓存表176。如果用户ID已经存贮到名字高速缓存工作表168,那末对应于用户ID的用户已企图传送IP包,并且那个IP包已经被登录。如果不是这种情况,一记录被加到名字高速缓存工作表168。该记录包括标识被添加记录的名字ID,用户ID,使用用户ID在用户表118中从用户的记录中取回的用户登录名,以及IP包的源IP地址,这应该是计算机的IP地址,用户登录到该计算机,并从那里用户发送这些包,在块788,刚加到名字高速缓存工作表166中记录的名字ID被存贮在相应的IP登记工作记录中。而且,如果在判断块784中,在IP登记工作记录中的用户ID还没有存贮到名字高速缓存表176,来自名字高速缓存表176中的用户的相应记录的名字ID,在块789被存贮在IP登记工作记录中。
如果用户ID已经被存到名字高速缓存工作表或者如果合适的名字ID记录已存贮到相应的IP登记工作记录。逻辑进入判断块790,在此,判断是否IP登记工作记录中的端口号已经存贮到协议高速缓存表172。如果否,已使用了此特点端口,及因此使用协议的IP包未被登记。因此,在块792,一记录被加到协议高速缓存工作表170,它包括标识新近添加记录的端口ID和端口号及协议的协议名。在块794中,刚加到协议高速缓存工作表170的记录的名字ID被存贮到相应的IP登记工作记录中。而且,如果在判断块790,IP登记工作记录中端口号已存贮到协议高速缓存表172,在块791,来自协议高速缓存表170中协议的相应记录的端口ID被存贮到IP登记工作记录中。
一旦IP登记工作记录如上所述的已被处理,逻辑进入判断块796,在此判断是否IP登记工作表164中的最后一个记录已被处理。如果否,IP登记工作表164中的下一个记录在块798中得到,且对下一个记录重复块776到796。然后,对IP登记工作表164中的每个记录重复块776到798。当最后一个记录被处理,逻辑进入块800,在此,IP登记工作表164,名字高速缓存工作表168,站点高速缓存工作表166和协议高速缓存工作表170分别压缩成相应的IP记录表162,协议高速缓存表172,站点高速缓存表174和名字高速缓存表176。每个工作表中的记录然后被删除,然后逻辑在块802结束。
在数据库领域具有一般技术的人将会认识一旦IP记录和高速缓存表如上所述的已被生成,这些表对各种其它数据库功能,包括数据库管理,数据库报告功能将变得可用。在这里所述的本发明现行实施例中,系统管理员,中级管理员和管理管理员有使用IP记录和高速缓存表准备各种报告的选件。为实现这些功能,操作员在主窗口84中选择报告选件工具条按钮71。然而,报告选件在此将不予详细说明,因为他们是传统的方法,且为了公开描述本发明实行的实施例不必讨论它们。
一旦IP记录162已被创建,数据库72能够计算定额违例。如上指出的那样,关于过滤执行程序76,过滤执行程序76的功能之一是在预定时间间隔到期时,开启定额违例计算。在此所述的本发明的现行实施例中,预定时间间隔是24小时。因此,数据库72一天一次计算定额违例。由数据库实现的计算定额违例的逻辑详细的显示在图26中。
逻辑开始于图26中块804,且接着进入块806。在块806,数据库72针对同第一个名字ID,即第一个用户相关的所有记录,扫描IP记录表162,它具有的开始时间落在最后24小时周期中。在块808,来自相应用户的入境和出境IP包业务的总量被计算,作为存贮在所有这种记录中的字节输入字段和字节输出字段值之和。在判断块810,逻辑判断是否计算的总量大于在用户定额表125中存贮的此用户的当前定额。可以理解,用户的当前定额位于用户定额表中,通过使用IP记录表162中用户的名字ID,作为索引指向名字高速缓存表166,来标识相应于名字ID的用户ID。然后,用户ID用来作为索引进入用户定额表,去寻找包含当前定额的用户记录。如果计算值不大于当前定额,那么违例没有发生,逻辑只进入判断块816,在此判断是否IP记录表162中最后一个用户已被处理。然而,如果计算值大于用户的当前定额,一记录被加到定额违例表186,它包括用户的名字ID,违例的日期,用户的当前定额,及该计算值。
然后,逻辑走到判断块816,在此,判断是否IP记录表162中最后用户已被处理。如果否,数据库扫描同下一个名字ID有关的所有记录(即同下一个用户相关的所有记录)的IP记录表162,它具有的开始时间落在最后24小时周期中。然后,对在IP记录表162中具有任何记录的每个用户重复块808到818。因此,对定额违例的每个用户,一个记录将加到存贮在数据库72中的定额违例表168中。然后,逻辑在块820结束。
如上指出的关于过滤执行程序76,通过过滤执行程序76实现的功能之一是开启通知线程,通知线程实现的逻辑更详细的显示在图27中。逻辑开始于块822,并进入块824,在此判断是否过滤引擎78通知相应用户其用户规则匹配的请求已被接收。如果这个请求没有被接收,逻辑只在块824重复,直到该请求被接收。如果通知请求从过滤引擎78接收到,一询问被送到对应于用户的源IP地址的计算机名的名字服务管理器74。正如下面将予以详述的,名字服务管理器74维护跟踪当前映射信息的主映射表178。如果名字服务管理器74具有过滤执行程序76所请求的映射信息,它将把计算机名返回给过滤执行程序76。因此,在判断块828,逻辑判断是否计算机名已经从名字服务管理器74接收到。如果否,则不存在该用户到计算机的当前映射信息,通知消息也不能被送出。因此,逻辑在块830结束。然而,如果名字服务管理器74为此用户返回一计算机名,过滤执行程序76向GUI传送此通知请求。GUI则产生合适的消息。然后逻辑返回到块824,以及对从过滤引擎78接收的每个通知请求重复块824到832。更新网络映射信息既然对GUI 70,规则和登记数据库72,过滤执行程序76及过滤引擎78已作了全面叙述,现名字服务管理器74将被详述。然而,将会理解,名字服务管理器74也被公开在一般转让的Abraham等人的美国专利申请号——,题目为“Method and apparatus for resolvingNetwork Users to Network computers”,公开的内容和附图专门引为参考。
如上讨论,充当名字服务代理的过滤执行程序接收映射信息,担任名字服务代理角色。在这方面,过滤执行程序76周期性地向名字服务管理器74送静态用户映射表138。名字服务管理器74用映射信息更新它的主映射表138,并向过滤执行程序76返回更新的映射信息。作为名字服务应用,过滤执行程序76还处理由用户映射表138更新映射信息,并把它送到过滤引挚78,更具体的说,名字服务管理器74通知过滤器执行程序,互联形成的LAN44的计算机用户已登录或退出特定计算机。然后,过滤执行程序76把该信息送到过滤引擎78,以便过滤引擎使用最当前的映射信息过滤进来和出去的IP包业务。因此,如果LAN44的用户登入或退出LAN时,过滤引擎78将立即被通知及因此将相应地开始或停止过滤IP包。此外,如果用户当前正用的计算机的IP地址改变,过滤引擎78将根据新的IP地址而不是老的过时IP地址过滤IP包。
如图4所示,名字服务器管理器74,从过滤执行程序接收映射信息,担任名字服务器代理角色。在这方面,过滤执行程序76被称为映射信息的静态源,因为计算机到用户的映射由系统管理员和中级管理员静态赋给,并且如上所述维护在静态用户映射表138中。过滤执行程序76周期性地以事务容器184的形式向名字服务管理器74送用户映射表138,这些在下面将详述。静态用户映射表138的每个记录将包括包含用户ID的事务容器184中的登录更新事务记录183,用户登录名,用户赋给计算机的计算机名及用户赋给计算机的计算机的IP地址。
名字服务管理器74也可从域控制器代理75或从位于域控制器服务器60上的主代理77接收映射信息。如上指出的,域控制器代理75收集动态用户登录和退出信息,即更新计算机到用户的映射,并把那些信息传送到名字服务管理器74。另一方面,主代理75,收集IP地址的更新,即更新IP地址到计算机的映射,并把该信息提供给名字服务管理器74。由于域控制器代理75和主代理77均提供动态或可变映射信息,这两种代理称为名字信息的动态源。
由名字服务代理收集的,即过滤执行程序76和域控制器代理75或主代理77,并提供给名字服务管理器74的映射信息由名字服务管理器74维护主机映射表178。主映射表178更详细的示于图28A。主映射表178由大量记录组成,包括连到LAN44的每台计算机的映射信息。更具体地说,每个记录包括存贮计算机名的字段,赋给计算机名的IP地址,当前利用的计算机的用户登录名及计算机的完整合格的域名。此外,记录包括一登录标记,当其设置,表示通过登录名在记录中标识的用户登录到在记录中标识的计算机上。此外,提供了静态源标记,当其设置表示包含在记录中的映射信息通过这种信息的静态源,即过滤执行程序76已提供给名字服务管理器74。如果未设置,静态源标记表示包含在记录中的映射信息已由动态源提供,即名字服务代理它提供动态或可变名字服务信息如域名控制代理75或主代理77。最后,每个记录包含一使用标记,当其设置表示该记录是一激活的记录,因此可服务于过滤执行程序76。
名字服务管理器74从过滤执行程序76及域控制器代理76或主代理77接收映射信息,且把更新的映射信息返回到过滤执行程序76,起图28B所示的事务容器184形式的应用程序作用。事务容器184包括跟随有零或更多的事务记录183的头标185。头标185标识正执行的事务的类型。例如,如果事务容器55包含针对主映射表178的更新映射信息,头标将标识事务容器184为更新容器,且头标后面跟随有包含更新映射信息的大量事务记录183。每个事务记录183还标识为用户登录更新记录,用户退出更新记录,当前地址更新记录,或取决于事务记录容器的更新映射信息的先前地址更新记录。在事务容器184中的最后事务记录是空记录,表示事务容器184中事务记录的结束。
在某些情况下,事务容器184可包含除更新映射信息之外的信息,更具体地说,事务容器184可包含或者来自名字服务代理或75或77或者来自过滤执行程序76向名字服务管理器74注册成代理或应用的请求。在这种情况下,事务容器184的头标185标识事务容器作为名字服务代理或应用注册容器的无论那一个,而且,事务容器184不包含任何事务记录183。正如下面将详细说明的,当名字服务管理器74从代理75或77,或者从过滤执行程序76接收注册容器时,名字服务管理器74打开同代替或过滤执行程序76的通信,并开始从代理75或77接收事务容器184,并把事务容器184传递到过滤执行程序76。
类似地,事务容器184可包含或者来自名字服务代理75或77,或者来自过滤执行程序未注册的及关闭同名字服务管理器74的通信。在这种情况下,容器184的头标185标识事务容器为未注册的容器,但是事务容器不包含任何事务记录183。
最后,主代理77,域控制器代理75或过滤执行程序76可询问名字服务管理器74,关于特定网络用户或网络计算机的映射信息。因此,代理或过滤执行程序将头标185中标识为询问容器的事务容器184传送给名字服务管理器74。此外,头标185包含用户的登录名,对他代理或过滤执行程序76正在为他寻找映射信息,或者计算机的IP地址或计算机名,对它代理或过滤执行程序76正在为其寻找映射信息,正如下面将详述的,名字服务管理器74将返回在主映射表178中找到的相应的映射信息。询问容器不包含任何事务记录。
由名字服务管理器74实现的主处理从名字服务代理接收的事务容器184,及把包含映射信息的事务容器184传送到过滤执行程序76的逻辑示于图29A和29B。逻辑开始于图29A中块834,并进入块836,在此,逻辑判断是否事务容器184已从名字服务代理之一,即充当代理的过滤执行程序76,或域控制器代理75或主代理77的无论那一个接收到。如果判断块836的结果是负,块836只被重复,直到名字服务管理器74接收到事务容器184,一旦接收到事务容器184,逻辑走到判断块838,在此,它判断是否事务容器184包含来自名字服务代理的注册请求。如果是,逻辑进入块840,在此,名字服务管理器74打开同请求名字服务代理的联系,以事务容器184的形式传送给名字服务代理一初始化消息。并为映射信息源注册此名字服务代理,可以理解,过滤执行程序76被注册为静态信息源,而域控制器代理75和主代理77被注册为名字服务管理器的映射信息动态源。
图30描述了由域控制器代理75或主代理77在发送注册请求给名字服务管理器74时实现的逻辑。逻辑开始于图30中块888,并进入判断块890,在此名字服务代理判断是否事务容器184已从名字服务管理器74接收到。如果无这样的事务容器被接收到,判断块890只是被名字服务代理重复,直到从名字服务管理器74接收到事务容器184。当这出现时,逻辑进入判断块892,在此,名字服务代理判断是否事务容器184包含来自名字服务管理器74的初始化消息。如果是,名字服务代理在块894实施起始状态发生器,开始收集关于连到LAN44的计算机的映射信息。
一旦特别代理起始状态发生器已被调用,名字服务代理的当前状态发生器被调用,并且名字服务代理在块896被设置为初始化状态,然后,逻辑回到判断块890,在此,名字服务代理等待来自名字服务管理器74的另一个事务容器184。
在块276和278中分别调用的起始状态发生器和当前状态发生器,取决于具体的名字服务代理,即域控制器代理75或主代理77。虽然,在此所述的只有域控制器代理75和主机代理77。在本领域具有一般技术的人将会认识到,本发明可使用其它类型的代理,并且域控制器代理75和主控制器代理77只是这种名字服务代理的说明性例子。关于域控制器代理75和主代理77的起始和当前状态发生器在下面将作详述。
图31说明了域控制器代理75的起始状态发生器所用的逻辑。逻辑开始于块904,且进入块906,在此,域控制器代理从域控制器服务器60获得计算机的起始表,这些计算机处于LAN44的当前会话期,并有用户登录其中。在块908,域控制器代理75执行NETBIOS询问,以获取起始表中每台计算机的IP地址。在该领域具有一般技术的人将认识到,NETBIOS是一应用程序接口,通过计算机到IP地址的分配,以提供其它应用程序,并且用一致的命令集以请求处理连接到LAN44上的计算机之间的会话所要求的低级网络服务,以便这些计算机可通过LAN44前后传递数据。
一旦在起始表中标识的每台计算机的IP地址从NETBIOS应用程序接口中获得,域控制器代理75开始准备要发送到名字服务管理器74的事务容器184、在这方面,域控制器代理75在块910为事务容器184在输出队列中存贮头标185标识事务容器184作为更新事务容器。在块912,域控制器代理75为起始表中每台计算机生成事务记录,每个事务记录被标识为登录更新记录,它包括域名,计算机名,及计算机的IP地址,以及用户当前使用的计算机的登录名。然后,每个登录事务记录,在块914与事务容器标头一起存入输出队列。在块916,输出队列把事务容器184输出到名字服务管理器74。然后逻辑在块918结束。正如下面将详述的,在接收事务容器184时,名字服务管理器74将用存贮在登录更新记录中的映射信息更新主映射表178,并从主映射表178把更新的映射信息提供给充当名字服务应用的过滤执行程序76。
由域控制器代理75的当前状态发生器实现的逻辑示于图32。逻辑开始于块920,接着进入判断块186,在此,域控制器代理75判断是否是获取连到LAN44上计算机的当前会话状态的时间。在本领域中具有一般技术的人将认识到,域控制器代理75将周期性地获取LAN44的当前会话状态,且这样做的时间周期是可变的。如果判断块186的结果是负,判断块186只重复,直到到达这种时间。当时间一到,逻辑进入块924,在此,域控制器代理75获得同LAN44活动会话的当前计算机表,并且用户从域控制器服务器60登录进这些计算机。在块926,域管制器代理75通过把活动计算机的当前表同活动计算机的先前表比较,准备标识新近活动计算机和新近不活动计算机的组合表。
在本领域具有一般技术的人将理解,在当前状态发生器第一次重复期间,活动计算机的先前表实际上是由起始状态发生器得到用于域控制代理75的活动计算机的起始表。当前状态发生器连续重复时,活动计算机的先前表实际上是在当前状态发生器的先前重复中由域控制器代理75得到,并登记到计算机上的活动表。通过对活动计算机的当前表和活动计算机的先前表的比较,域控制器代理75识别从最后一次会话状态被获取以来同LAN44已建立活动会话的那些计算机,即用户已登录的那些计算机,及用户退出的那些计算机。更具体地说,如果一计算机出现在活动计算机的当前表中,但未出现在活动计算机的先前表中,在组合表中标识此计算机为新近活动的,类似地,如果计算机出现在活动计算机先前表中,但未出现在当前表中,从最后一次会话状态已被获取以来,此计算机已结束同LAN44的会话,因此在组合表中被标识为新近不活动计算机。
组合表在块926被准备好之后,域控制器代理75执行NETBIOS询问,以获取块928的组合表中标识的每台计算机的IP地址。在块930,域控制器代理75开始准备要被传送到名字,服务管理器74的事务容器184,通过存贮标识事务容器为更新容器的头标185到域名控制器代理的输出队列中。然后,域控制器代理75处理组合表,以便把事务记录183加到事务容器184。
在这方面,在块932域控制器代理75得到在组合表中标识的第一个计算机。在块934,域控制器代理75生成事务记录183,其中包括域名,计算机名,计算机的IP地址,以及赋给计算机的用户登录名。在判断块936,域控制器代理75判断是否计算机是新近活动计算机。如果是,域控制器代理75标识事务记录183,作为登录更新记录,并在块938中,在输出队列中存贮登录更新记录。否则,域控制器代理75标识事务记录183作为退出更新记录,然后在块940,在输出队列中存贮退出更新记录。最终,逻辑走到判断块942,在此,域控制器代理75判断是否在组合表中最后一台计算机已被处理。如果没有处理,在块944中得到组合表中下一台计算机。对在组合表中的每台计算机重复块934到946,以使登录事务记录或退出事务记录被存贮到事务容器184,从而存贮到域控制器代理75的输出队列。
当组合表中最后计算机已被处理,在块946,输出队列把事务容器184输出到名字服务管理器74。接着,在块924获得的活动计算机的当前表被存贮,在块948中作为活动计算机的先前表,且逻辑返回到判断块186,在此,域控制器代理75等待获取下一个当前会话状态。然后,对获取的每个当前会话状态,域控制器代理66重复块186到948。因此,域控制器代理66将继续生成和发送包含登录和退出更新记录的事务容器184到名字服务管理器74以便当获取到每个新会话状态时作进一步处理。
正如上面指出的,主代理77被用于本发明的某些实施例中,而不是域控制器代理75。具体地,主代理75的被采用防止改变计算机到用户的映射,但允许改变IP地址到计算机的赋给。在这方面,主代理77收集IP地址更新。由主代理77的起始状态发生器实现的逻辑更详细的示于图33。逻辑开始于块950,接着进入块952,在此,主代理77从域控制器服务器60获取与LAN44活动会话的计算机的起始表(但不需要用户登录)。在本领域具有一般技术的人将理解,用主代理77的起始状态发生器获取的起始表将非常类似于用域控制器代理75的起始状态发生器获取的起始表,因为两种代理都从域控制器服务器60获取信息。因此,如果主代理77位于连到LAN44的网络服务器30或其它服务器上,由主代理获取的起始表可能是有些不同。
一旦由主代理77获得起始表,主代理77在块954执行NETBIOS询问,对在起始表中标识的每台计算机询问其IP地址。在块956,主代理77存贮事务容器184的头标到主代理77的输出队列中,该事务容器184要被主代理77送到名字服务管理器74,接着,在块958主代理77对起始表中标识的每台计算机产生一事务记录183,并把每个这样的记录存贮到输出队列中,跟着事务容器184的头标,由主代理77生成并存贮的每个事务记录183被标识为当前地址更新记录,因为通过NETBIOS询问返回的IP地址被看作是它的相关计算机的新地址。在块960,主代理77的输出队列输出包括在块325产生的头标,当前地址转换记录及指示容器结束的最后一个事务记录183事务容器184,到名字服务管理器74。事务容器184也将包括标识事务容器结束的最后一个事务记录。然后逻辑在块962结束。
如上指出的,在主代理77的起始状态发生器被调用后,主代理77的当前状态发生器被调用。由主代理77的当前状态发生器实现的逻辑更详细地示于图34A和34B。逻辑开始于图34A中块964,接着进入判断块966,在此判断是否是获取联到LAN44上的计算机的当前会话状态的时间。如果否,判断块966被重复直到该时间到达。当到达获取当前会话状态的时间,逻辑从判断块966走到块968,在此,主代理77获取联到LAN44的活动计算机的当前表。在块970,主代理77执行NETBIOS询问,去获取在当前列表中标识每个计算机的IP地址。在块972,主代理77准备一修整表,标识新近活动计算机,新近不活动计算机及具有新IP地址的活动计算机。这修整的表通过比较块968中得到的活动计算机的当前表同活动计算机的先前表而被准备的。在本领域具有一般技术的人将理解,在当前状态发生器第一次重复期间,活动计算机的先前表实际上是由主代理77的起始状态发生器得到的起始表,而当前状态发生器的后续重复期间,活动计算机的先前表实际上在当前状态发生器的先前重复中由主代理77得到的活动计算机表。新近活动计算机只出现在当前表中,而新近的不活动计算机只出现在先前表中。具有新IP地址的计算机出现在这两种表中。而相应于这些计算机名的IP地址是不同的。
一旦修整表在块972,由主代理77的当前状态发生器准备好,在块974主代理77存贮事务容器184的头标到主代理的输出队列,标识该事务容器为更新事务容器。接着,在图34B所示的块976,主代理77得到修整表中的下一台计算机。在判断块978,主代理77判断是否该计算机是新近的活动计算机。如果是,在块980主代理77生成并存贮事务记录183到输出队列,跟随在事务容器184的头标185之后事务记录183中包括新近活动计算机的映射信息。事务记录183被标识为当前地址更新,它包括新近活动计算机的计算机名和IP地址。
返回到判断块978,如果在修整表中标识的计算机不是新近活动计算机,逻辑进入判断块982,在此,主代理77判断是否计算机是新近不活动计算机,即是否从最后获取当前会话状态以来,计算机已经结束它同LAN44的活动会话。如果计算机是新近不活动计算机,主机代理77在包含新近不活动计算机映射信息的输出队列中生成并存贮事务记录183。事务记录183被标识为先前地址更新,并且包括计算机的老IP地址及计算机的计算机名。
返回判断块982,如果正处理的计算机不是新近活动或新近不活动的,逻辑进入判断块986,在此,主代理77判断是否计算机的新IP地址已被赋给,如果是,主代理77在块988在输出队列中生成并存贮2个不同的事务记录183,第一个事务记录183被标识为先前地址更新,它包括计算机从前的IP地址,它的计算机名和域名及赋给计算机的任何用户的登录名。第二事务记录183被标识为当前地址更新及包括计算机的新IP地址及它的计算机名。
返回到判断块986,如果计算机没有新IP地址,或如果计算机的事务记录183已生成并存贮在如上面所述的输出队列中,逻辑进入判断块990,及主代理77判断是否在修整表中最后一台计算机已被处理。如果没有,在块249得到修整表中下一台计算机,逻辑返回到判断块978,以便处理下一台计算机,而且,如果在修整表中最后一台计算机已被处理,逻辑将从块990进入块994,在此,主代理77的输出队列输出包含头标,以及事务记录的事务容器184给名字服务管理器74,事务记录同空事务记录一起被存贮在输出队列中,空事务记录表示事务容器184结束。在块996,当前会话表作为先前会话表被存贮,且在图34中逻辑返回到判断块966,以便主代理77能判断是否是再一次获取当前会话状态的时间。然后,块966-996由主代理77对获取的每个当前会话状态重复。因此,主代理77将连续产生并发送包括当前和先前地址更新记录的事务容器184给名字服务管理器74,当获取每个新会话状态时以作进一步处理。
返回图30,一旦名字服务代理特定的起始或当前状态发生器在块894和896已被调用,逻辑返回到判断块890,在此,名字服务代理等待来自名字服务管理器74的另一个事务容器184。如果事务容器184被接收,它不包括来自名字服务管理器74的初始化消息。逻辑从判断块892走到判断块898,在此,逻辑判断是否由名字服务代理接收的事务容器184包含关闭消息。如果是,在块900名字服务代理停止它的当前状态发生器,且自己设置为未初始化的状态。然后,逻辑返回判断块890及名字服务代理等待另一个事务容器184。而且,如果事务容器184被名字服务代理接收,不包括初始化消息或关闭消息,逻辑将经判断块892和898进入块902,在此,一未预料的通信事件被名字服务代理记录。在记录了未预料通信事件以后,在判断块890名字服务代理等待另一事务容器184。
可以理解,当过滤执行程序76充当名字代理时,所实现的逻辑类似于上面结合图30所述的,除了接收初始化消息以后部分。过滤执行程序76只自身设置被初始化,及以把静态用户映射表138,以事务容器184的形式发送到名字服务管理器74。类似地,依据从名字服务管理器收到的关闭消息,过滤执行程序76不允许任何这样的事务容器184传输及自己设置为未被初始化。
返回图29A中的块840,一旦名字服务管理器74实现了名字服务代理,即过滤执行程序76,域控制器代理75或主代理77的注册,使得名字服务代理能开始收集映射信息,并把映射信息传送到名字服务管理器74,逻辑返回到判断块836,在此,名字服务管理器等待从过滤执行程序76或域控制器代理75或主代理77任何情况来的另外的事务容器184返回到判断块838,如果事务容器184已被接收,但不包含名字服务代理注册请求,在块842中,逻辑判断是否事务容器184包含名字服务应用注册请求。如果是,逻辑走到块844,在此,名字服务管理器74打开与过滤执行程序76的通信,把包含初始化消息的事务容器184送到过滤执行程序76,并注册过滤执行程序。
由名字服务管理器74实现去注册过滤执行程序充当名字服务应用的逻辑更详细的示于图35。在本领域具有一般技术的人将理解,名字服务管理器74在它接收到过滤执行程序76的注册请求之前,可能已经开始收集和维护映射信息。因此,依据注册,需要名字服务管理器74把它已经收集和存贮在主映射表178中的任何映射信息发送到过滤执行程序76。在这方面,逻辑开始于图35中的块998,并进入块1000,在此,名字服务管理器74中断对主映射表178的任何更新。在块1002,名字服务管理器74产生主映射表178的临时拷贝。分别在块1004和1006,名字服务管理器74排空它的任何事务记录183的输出队列,并停止输出队列发送任何事务容器184到过滤执行程序76。接着,在块1008,名字服务管理器74重新允许更新主映射表178。在块1010,名字服务管理器74把包括在主映射表的临时拷贝中找到的所有活动记录的事务容器184输出到过滤执行程序76。更具体地,名字服务管理器74输出包括头标185及具有被设置in-use标记的主映射表的临时拷贝中的全部记录的事务容器184。最后,在块1012,名字服务管理器74再一次允许输出队列把事务容器184输出到过滤执行程序76。然后,逻辑在块1014结束。
返回到图29A中的块844,一旦名字服务管理器74如上所述的已注册过滤执行程序76,并打开同过滤执行程序76的通信,名字服务管理器74能开始按规律把事务容器184传送到过滤执行程序76。由过滤执行程序76实现去处理事务容器184的逻辑更详细的示于图36。逻辑开始于图36中块1016,且进入判断块1018,在此,它判断是否过滤执行程序76已从名字服务管理器74接收到事务容器184。如果没有,判断块1018只是重复,直到事务容器184被接收。当这种情况出现,逻辑走到判断块1020,在此,过滤执行程序76判断是否事务容器184包括来自名字服务管理器74的初始化消息。如果是,过滤执行程序76在块1022自己设置为被初始化。然后,逻辑返回到判断块1018,在此,过滤执行程序76等待来自名字服务管理器74的其事务容器184。
返回到判断块1020,如果从名字服务管理器74接收的事务容器184不包含初始化消息,逻辑走到判断块1024,在此,判断是否事务容器184包括来自名字服务管理器的关闭消息。如果是,在块1026过滤执行程序76自己设置为未初始化,且停止传送映射信息到名字服务管理器74。然后,逻辑返回判断块1018,在此,过滤程序76等待来自名字服务管理器74的另外的事务容器184。
返回到判断块1024,如果接收的事务容器184包括既不是初始化消息,也不是关闭消息,逻辑进入判断块1028,在此,它判断是否事务容器184是更新容器。如果不是,过滤执行程序76在块1030中记录无效的事务容器事件,并返回判断块1018去等待其它事务容器184。而且如果接收的事务容器184是一更新容器,逻辑进到块1032,并得到事务容器184中的第一个事务记录183。在判断块1034,逻辑判断是否事务记录183是事务容器中的最后一个事务记录。如果是,逻辑返回判断块1018,并且过滤执行程序76等待其它事务容器184。如果事务记录183不是事务容器184中的最后一个事务记录,逻辑在判断块1036判断是否事务记录是一登录更新记录。如果是,用户已登录到连到LAN44上的计算机,且由过滤引擎78存贮的用户映射规则表140必需被更新,以使过滤引擎78可开始过滤与此用户有关的IP包。在这方面,过滤执行程序76生成并发送登录更新记录给过滤引擎,其中包括用户ID及用户的登录名和源IP地址,在事务记录183中找到的计算机的计算机名和域名。此外,发送到过滤引擎的登录更新记录包括替代动作标记及设置用户已登录标记。
而且,如果来自接收的事务容器184的事务记录183是一退出更新记录,而不是登录更新记录,在块1038过滤执行程序76准备并发送一退出记录给过滤引擎。退出记录包括用户ID及用户的登录名,源IP地址,计算机的计算机名和域名及删除动作标记。此外,退出记录中的用户已登录标记被清除。
在过滤执行程序76把合适的登录或退出记录送到过滤引擎78以后,逻辑进入块1042,在此,过滤执行程序76得到从名字服务管理器74接收的事务容器184中的下一个事务记录。然后,对在接收的事务容器184中的每个事务记录183重复块1034到1042。可以理解,当过滤引擎78根据从过滤执行程序76接收的登录和退出记录更新它的用户映射规则表140时,过滤引擎78根据新的计算机到用户映射或IP地址到计算映射将相应地开始或停止过滤IP包。
返回到图29A中块844。一旦名字服务管理器74注册过滤执行程序76作为名字服务应用,并且打开同过滤执行程序76的通信。使得它能接收并处理事务容器184。逻辑返回判决块836,且名字服务管理器74等待其它的事务容器184。
返回到判断块842,如果接收的事务容器184不包括代理注册请求或应用注册请求,逻辑进入判断块846,在此,它判断是否事务容器184包括名字服务代理撤消注册请求。如果是,名字服务代理形成请求,即过滤执行程序76或域控制器代理75或主代理77无论那种情况都可以,不再要为名字服务管理器74收集和发送映射信息。因此,在块848名字服务管理器74撤消注册并且关闭同名字服务代理的通信,然后逻辑返回判断块836并且名字服务管理器74等待其它的事务容器184。
返回判断块846,如果所接收的事务容器184不包括代理注册请求,应用注册请求或代理撤消注册请求,逻辑进入判断块850,在此判断是否事务容器184包含名字服务应用撤消注册请求,即从过滤执行程序76来的撤消注册请求。如果是,过滤执行程序76不再希望从名字服务管理器74接收映射信息。因此,名字服务管理器74撤消注册,并在块848关闭同过滤执行程序76的通信。然后,逻辑返回判断块836,并且名字服务管理器74等待其它的事务容器184。
返回到判断块850,如果接收的事务容器184不包含代理注册请求,应用注册请求,代理撤消注册请求,或应用撤消注册请求,逻辑进入判断块854,在此判断是否事务容器184包括从名字服务代理或过滤执行程序76来的映射信息的询问。如果是,逻辑进入判断块856,在此判断是否由名字服务管理器74维护的映射表178包含具有请求的映射信息的记录。例如,如果过滤执行程序76正寻找特定用户的映射信息,即计算机名,域名和赋给特定用户的IP地址,名字服务管理器74在块856中判断是否主映射表178包括具有用事务器184的头标185中被询问应用或代理提供的登录名相同的登录名的记录。如果是,名字服务管理器74在块858返回一记录给过滤执行程序76。类似地,如果过滤执行程序76正在寻找特定计算机的映射信息,名字服务管理器74在判断块856判断是否主映射表178中包括在事务容器184的头标185中,由查询应用或代理提供的具有相同计算机地址或IP地址的记录。如果是,名字服务管理器74在块858把记录返回到过滤执行程序。而且,如果在两种情况下,在主映射表178中没有这种记录被找着,名字服务管理器74,在块860返回一无效记录给请求代理或过滤执行程序。然后,逻辑返回到判断块836,并且名字服务管理器74等待其它事务容器184。
返回到判断块854,如果接收的事务容器184不包含查询,注册请求或撤消注册请求,名字服务管理器74判断是否事务容器184是一更新容器。如果不是,名字服务管理器在块131记录无效事务容器184已被接收。因为所接收的容器不包含任何注册或撤消注册请求,查询或更新。然后,逻辑返回图29A中的判断块836,并且名字服务管理器74等待其它事务容器184。
另一方面,如果由名字服务管理器接收的事务容器184是一更新容器,在块864由名字服务管理器74得到容器中的第一个事务记录183。在判断块866,名字服务管理器74判断是否该记录是事务容器184中的最后一个记录。如果是,事务容器184的处理被完成,并且逻辑返回图29A中的判断块836,否则逻辑进入判断块868,而且名字服务管理器判断是否事务记录是先前地址更新记录。如果是,逻辑进入块870,在此,名字服务管理器74处理先前的地址更新记录,先前地址更新记录,包括老的IP地址和计算机名,但在先前地址更新记录中的域名和登录名是不需要有效的。
由名字服务管理器74去处理先前地址更新记录所用的逻辑详细显示在图37中。逻辑开始于块1044,接着进入块1046,在此,名字服务管理器74针对在先前地址更新事务记录上标识有先前计算机名的记录,扫描主映射表178,在判断块1048,逻辑判断是否找到具有相同计算机名的主映射表178中的记录。如果否,在块1050一个记录被加到主映射表178,它包括先前计算机名和无效IP地址。已登录的标记,静态源标记和使用中的标记在新近被加的记录中被清除。在主映射表178中找到先前地址更新记录中标识的具有先前计算机名的记录之后,或在记录被加到主映射表178之后,如果没有这种记录已经被找到,逻辑进入判断块1052,其中的名字服务管理器74判断是否在刚加入或在主映射表178中找到的主映射记录中已登录标记被设置。换言之名字服务管理器74判断是否一用户被登录到由主映射表178的记录标识的计算机中。
可以理解,如果先前地址更新事务记录被名字服务管理器74所接收,名字服务管理器74必须更新主映射表178以反映联到LAN44的计算机的IP地址已经超出范围,即因一个或多个原因,计算机不再与先前地址更新记录中找到的IP地址有关,而且,如果主映射表178指示,用户已被登录到赋给先前IP地址的计算机上,用户必须在主映射表178的映射记录可以被更新之前,退出处在先前IP地址上的计算机。因此,如果判断块1052的结果是正,名字服务管理器74清除在块1054主映射表的定位记录中的已登录标记和静态源标记。在块1056,名字服务管理器生成并存贮被标识为退出更新记录的名字服务管理器输出队列中的事务记录。退出更新记录包括计算机名,域名和在主映射记录中标识的计算机IP地址以及用户的登录名。
返回到判断块1052,如果检索出的主映射记录中已登录标记没有被设置,或如果它曾被设置,并且已生成合适的退出事务记录,逻辑从判断块1052进入块1058。在块1058,名字服务管理器74更新主映射表178,以正确地反映已超出范围的计算机的IP地址。更具体地说,一无效IP地址被存贮到检索出的主映射记录的IP地址字段中。同时,域名和登录名字段被清空。此外,已登录,静态源和在使用标记被清除。然后,逻辑在块1062结束。
可以理解,由于事务记录183被加到名字服务管理器的输出队列中,输出队列将输出事务容器184形式的事务记录183给过滤执行程序76。在本发明所说明的实施例中,过滤执行程序76只对登录和退出更新注册,名字服务管理器的输出队列将把只包含登录和输出更新记录的事务容器184传送到过滤执行程序76。
返回到图29B中块870,在先前地址更新事务记录被处理后,逻辑跳到块872-884及进入块886。这里的名字服务管理器74得到所接收的事务容器184中的下一个事务。然后,逻辑返回到判断块868,以便处理下一个事务记录。因此,如果事务记录不是先前地址更新记录,逻辑从判断块868进入判断块872。在此,名字服务管理器74判断是否事务记录是当前地址更新记录。如果是,名字服务管理器74在块874处理当前地址更新记录。由名字服务管理器74实现的处理当前地址更新记录的逻辑更详细的示于图38。
可以理解,当当前地址更新记录被名字服务管理器74所接收时,主映射表178必须被更新,以反映新IP地址已被赋给联到LAN44上的计算机。相应的当前地址更新记录包括计算机的计算机名及已赋给计算机的新的或当前IP地址。在当前地址更新记录中的其它字段可包含数据,但这些数据并不需有效。
在这方面,逻辑开始于图38中块1064,接着进入块1066,在此名字服务管理器74,根据在当前地址更新记录中标识的当前计算机名,为了具有与此相同计算机名的记录扫描主映射表表178。在判断块1068,这里名字服务管理器74判断是否这种记录已在主映射表178中被找到。如果没有找到,在块1070名字服务管理器74用当前地址更新记录中标识的当前计算机名及无效IP地址加一记录到主映射表178中。此外,加到主映射表178的记录中全部标记被清除。
如果包含当前计算名的主映射表178中的主映射记录被定位,或者如果没有这种记录被发现,但记录已被添加,逻辑进入判断块1072。在判断块1074,名字服务管理器74判断是否主映射记录包含不是在当前地址更新记录中规定的当前IP地址的另一有效IP地址。换言之,名字服务管理器74判断是否在主映射记录中规定的计算机有不同的先前IP地址。如果是,这个赋值必须去除,以使可以赋给此计算机的IP地址在当前地址更新记录中被标识。因此,在主映射表178中具有在当前地址更新记录中规定的,当前IP地址的其它记录被处理。作为在块1076的先前地址更新记录。根据图37中显示的逻辑,由先前地址更新记录的记录处理的结果,在主映射记录中找到的IP地址将是无效的,因此使当前IP地址可自由地得到。
返回判断块1072,如果在主映射表178中,没有具有当前IP地址的其它记录,或如果这种记录存在且已被合适地处理,逻辑进入块1076,在此,名字服务管理器74更新在主映射表178中标识的具有当前计算机名的主映射记录。更具体地说,有当前地址更新记录中规定的当前计算机名和当前IP地址被存贮在所标识的主映射记录中的合适字段中。
一旦主映射表178用上面所述的当前IP地址更新,名字服务管理器74在块1080判断是否在已检索的主映射记录中IP地址在更新之前曾是无效地址。如果否,无需进一步处理,逻辑在块1088结束,然而,如果先前IP地址曾是无效的,当前IP地址的改变可以表明一用户已登录,而生成登录更新记录已延迟直到一有效IP地址已被指出。在这方面,逻辑从判断块1080进入判断块1082,在此,名字服务管理器74判断是否在被标识的主映射记录中已登录标记被设置。如果否,用户还没有登录到标识的计算机,所以登录记录是不需要的。因此,逻辑只是在块1088结束。然而,如果在主映射记录中已登录标记被设置,用户已登录,因此它可能需输出一登录记录。因此,在块1084逻辑判断是否在主映射记录中的IP地址现在是一有效IP地址。即在主映射记录中的IP地址已从无效地址改为有效地址。如果否,IP地址仍无效。登录更新记录不需要。然而,如果IP地址现在是有效的,逻辑进入块1086,在此,在名字服务管理器的输出队列中生成并存贮一事务记录183,事务记录被标识为登录记录,它包括计算机名,IP地址,域地址及在主映射记录中找到的登录名。然后,逻辑在块1088结束。
返回到图29B,一旦当前地址更新记录在块874已被处理,名字服务管理器得到在块886中接收的事务容器184中的下一个事务,以使名字服务管理器74能处理下一个事务记录。
返回到判断块872,如果事务记录不是当前地址更新记录,名字服务管理器74判断是否事务记录是在判断块876的退出更新记录。如果是,退出更新记录在块878被处理。由名字服务管理器74实现的处理退出更新记录的逻辑详细地示于图39。逻辑更新记录包括正在退出用户的登录名,域名,计算机名及用户从其退出的计算机的IP地址。逻辑开始于块1090接着进入块1092,在此,名字服务管理器74为了具有与退出记录所标识的同样计算机名的记录,扫描主映射表178。在判断块1094名字服务管理器74判断是否找到这种主映射记录。如果否,名字服务管理器74加一记录包含退出计算机名和无效IP地址到主映射表178。此外,被加记录中的全部标记被清除。
如果具有退出计算机名的记录在主映射表178中被找到,或这种记录已加到主映射表178中,逻辑进入判断块1098,在此名字服务管理器74判断是否主映射记录的已登录标记被设置。换言之,名字服务管理器74判断是否用户已登录到主映射记录中标识的计算机。如果主映射表178反映用户没有登录到计算机,那么一个未预期的用户退出事件已发生,名字服务管理器在块1108中记录此未预期事件。然而,如果如期望的判断块1098的结果是正,用户登录到输出更新记录中标识的计算机中。逻辑进入判断块1100。在此名字服务管理器74判断是否退出更新记录从映射信息的静态源中即过滤执行程序76曾接收到。
如果退出更新记录曾从过滤执行程序76被接收,名字服务管理器74被允许用退出信息更新主映射表178。因为由过滤执行程序76提供的映射信息允许用过滤执行程序76来的更新信息重写。而且,如果退出更新记录曾从映射信息的动态源,即域控制器代理75或主代理77,接收到。如果在主映射记录中的映射信息没有被第一处的过滤执行程序76提供,名字服务管理器74将只被允许用退出信息更新主映射记录。换言之,由静态源,过滤执行程序提供的映射信息不允许用动态源即域控制代理75或主代理77提供的映射信息重写。因此,如果判断块1100的结果是正,主映射记录被用退出更新记录规定的计算机名和IP地址更新,同时,在主映射记录中的登录名和域名在块1102被清空。此外,清除已登录标记和静态源标记。接着,在块1104,名字服务管理器74生成并存贮标识为退出更新记录的事务记录到名字服务管理器的输出队列中,事务记录中包括来自主映射记录的映射信息。
返回到判断块1100,如果退出更新记录没有从静态源接收到,名字服务管理器必须判断在主映射记录中的映射信息初始地由动态源还是静态源提供。如果由动态源提供,即如果在主映射记录中的静态源标记没有被设置,主映射记录如上所述在块1102中被更新,并且在块1104退出记录被存贮在输出队列中。另一方面,如果在主映射记录中的映射信息曾由动态源提供,即在主映射记录中静态源标记被设置,逻辑跳到块1102和1104,并且主映射记录不被更新,退出记录不产生。逻辑只是进入判断块1110。在判断块1110,名字服务管理器74判断是否主映射记录中的IP地址在退出更新记录处理期间已改变。如果是,新IP地址已被提供,因此在块1112,主映射记录必须按照图38中所示的逻辑作为当前地址更新记录被处理。如果IP地址没有改变或如果主映射记录作为当前地址更新记录已被处理,逻辑在块1114结束。
返回到图29B,在退出事务记录在块878已被处理后,名字服务管理器在块886中接收的事务容器184中得到下一个事务,以使名字服务管理器74能处理下一个事务记录183。
返回到判断块876,如果事务记录183不是退出更新记录,名字服务管理器74在判断块880判断是否事务记录183是登录更新记录。如果是,名字服务管理器74在块882处理登录更新记录。由名字服务管理器74实现的处理登录记录的逻辑详细示于图40A和40B。登录更新记录包括正登录用户的登录名和域名,用户登录到的计算机的计算机名和IP地址。逻辑开始于图40A中块1116,接着进入块1118,在此名字服务管理器74为了在登录更新记录中存贮有计算机名的记录,扫描主映射表178。在判断块1120,逻辑判断是否名字服务器74在主映射表178中已找到这种主映射记录。如果否,名字服务管理器74在块1122把一个记录添加到主映射表178中,包含登录计算机名以及一个无效IP地址。此外,被加记录中全部标记被清除。
如果具有登录计算机名的一记录在主映射表178中被找到,或如果这种记录已被加到主映射表178,逻辑进入块1124,在此,名字服务管理器74判断是否在登录更新记录中的IP地址是不同于主映射记录中标识的IP地址,或如果在登录记录中标识的IP地址是新的IP地址,它在主映射表178中不能被找到。如果遇到这任何一种情况,那么在主映射记录和登录更新记录中存贮的计算机名所标识的计算机已被指定一新IP地址,并且主映射表178必须相应的更新。而且,为避免不必要的处理,在判断块1126名字服务管理器74判断此登录IP地址在进一步处理新IP地址之前是否有效。因此,如果此登录IP地址是新的或已改变但是有效,登录更新记录在块1128中作为当前地址更新记录被处理。如图38中所述的逻辑的结果,在登录更新记录中具有规定的计算机名的主映射记录被更新为登录IP地址。
在登录更新记录被处理作为当前地址更新记录后,逻辑进入判断块1130。在判断块1130,名字服务管理器74判断在当前地址更新之前,主映射记录的静态源标记是否曾被设置,即是否在主映射记录中找到的映射信息是映射信息的静态源即过滤执行程序76原始提供的,如果是,若登录更新记录曾是由过滤执行程序76提供的,名字服务管理器74将只允许主映射记录用新的登录信息整个重写。在这方面,名字服务管理器74判断在判断块1132中,是否登录更新记录来自映射信息的动态源,例如域控制器代理75,而不是过滤执行程序76。如果是,名字服务管理器74用由过滤执行程序76原始提供的主映射记录中找到的登录名重写登录更新记录中标识的登录名。
返回到判断块1124,如果在登录更新记录中的IP地址是同主映射记录中的相同,或如果它是无效的,不需要去处理登录更新记录作为当前地址更新记录,且逻辑直接进入图40B中判断块1136。此外,参考块1130,如果在主映射记录中映射信息不是由静态源原始提供,或如果登录更新记录没有从动态源接收,就不需要去重写在登录更新记录中规定的登录名,并且逻辑也直接进入判断块1136。
在判断块1136,逻辑判断是否在主映射记录中的当前静态源标记被设置(即如果在记录中的映射信息曾由过滤执行程序76提供),及是否登录更新记录曾从动态源,例如域控制器代理75接收。如果是,在主映射记录中的映射信息不能用登录更新记录中的映射信息重写,这样逻辑在块1138结束。否则,逻辑进入判断块1140,其中判断是否其它用户被登录到同一计算机。更具体地说,名字服务管理器74判断是否主映射记录包含的登录名不是由退出更新记录规定的登录名。如果是这样,其它的主映射记录在块1142被处理作为用户退出更新,以使主映射表178反映其它用户已退出。
如果判断块1140的结果是负,或如果主映射记录已被处理为退出更新记录,逻辑进入判断块1144。在判断块1144,名字服务管理器判断是否在登录更新记录中标识的用户已登录到登录更新记录标识的计算机。换言之,名字服务管理器74判断是否在主映射记录中的登录标记被设置。如果是,逻辑只是在块1146结束。
返回到判断块1144,如果在登录更新记录中标识的用户没有被登录到同一计算机中,逻辑在块1148判断,是否在登录更新记录中提供的IP地址无效。如果是,登录更新记录在块1150用主映射记录中的IP地址更新。
返回到判断块1148,如果在登录更新记录中提供的IP地址有效,逻辑进入块1152。在块1152,名字服务管理器74用登录更新记录中规定的计算机名,IP地址,登录名和域名更新的主映射记录。此外,已登录标记被设置及静态源标记设置为清除以反映登录更新记录的源即动态源如域控制器75或静态源如过滤执行程序76。接着,在判断块1154,名字服务管理器74判断是否在块1152更新主映射记录中IP地址有效,如果否,名字服务管理器74延迟生成和输出登录更新记录到名字服务应用,直到如上所述,在当前地址更新期间赋给一有效IP地址。因此,在块1158逻辑结束。而且,如果在主映射记录中的IP地址有效,名字服务管理器74最后形成一登录更新记录,其中包括计算机名,IP地址,域名,及在块1156,来自主映射记录的登录名。然后逻辑在块1158结束。
在本发明的优选实施例已被图示和说明的同时,应该理解,其中可以作出各种变化,这并不违反本发明的范围和精神。例如,如果LAN44并未被联到因特网(80)网络管理程序80能够用于只管理企业内部网的活动。即管理仅联到LAN44上的计算机之间的数据包的通信。
权利要求
1.一种具有计算机可执行组件的计算机可读介质,可执行组件用来管理企业内部网和因特网之间数据包的通信,企业内部网经通信介质连接大量计算机,因特网经通信介质连接大量企业内部网具有计算机可执行组件的计算机可读介质包括(a)图形用户界面,用于使连到企业内部网的计算机的管理员输入如下信息(i)标识连到企业内部网的计算机的每个用户的用户信息;(ii)为每个标识用户和连到企业内部网的每台计算机的映射信息;及(iii)为每个标识用户操纵标识用户和因特网之间的数据包通信的用户策略;(b)一数据库,用来使用图形用户界面存贮由管理员提供给每个标识用户的用户信息,映射信息和用户策略;(c)一过滤执行程序,用来为存贮在数据库中的每个标识用户优化用户策略转成每个标识用户的规则集。(d)一过滤器引擎,用来根据过滤执行程序为每个标识用户优化的规则集及每个标识用户的映射信息,过滤在企业内部网和因特网之间通信的数据包;及(e)一名字服务管理器,用来更新由管理员使用图形用户界面输入的每个标识用户的映射信息。
2.根据权利要求1的计算机可读介质,其中每个标识用户的映射信息包括(a)计算机到用户的映射,它标识标识用户的登录名,及标识用户被分配到的计算机的计算机名;及(b)计算机到地址的映射,它标识被标识用户所分配到的计算机的计算机名及计算机的因特网协议地址。
3.根据权利要求2的计算机可读介质,其中过滤引擎过滤数据包,这借助于对于企业内部网和因特网之间通信的每个数据包,(a)扫描每个用户的映射信息,分别给用户一映射计算机的因特网协议地址,该地址与曾发出此数据包的计算机地址匹配。(b)对分配到映射计算机的标识用户,把数据包和规则集进行比较;及(c)如果数据包匹配规则集的至少一个规则,为这至少一个规则返回过滤结果,其中,过滤结果指示是否过滤引擎拒绝传递此数据包。
4.根据权利要求3的计算机可读介质,其中如果数据包不匹配规则集的至少一个规则,在过滤引擎还过滤为这至少一个规则返回的缺省结果数据包,其中的缺省结果指示是否过滤引擎拒绝传递此数据包。
5.根据权利要求4的计算机可读介质,其中如果映射计算机的因特网协议地址没有找到匹配于从那里曾发送数据包的计算机的地址时,过滤引擎亦返回缺省结果。
6.根据权利要求5的计算机可读介质,其中的过滤结果和缺省结果还指示是否过滤引擎应记录此数据包。
7.根据权利要求5的计算机可读介质,其中的滤波结果和缺省结果还指示是否分配到映射计算机的标识用户,其因特网协议地址匹配于从那里曾发送数据包的计算机的地址,要通知数据包已匹配规则集中至少一条规则。
8.根据权利要求2的计算机可读介质,其中为每个标识用户由管理员输入的每个用户策略包括下列中至少一个(a)一文件类型策略,指示是否具有特定文件扩展名的一文件可以在标识用户和因特网之间通信;(b)一应用协议策略,指示是否一特定的应用协议可用于在标识用户和因特网之间传输数据;(c)一站策略,指示是否标识用户可同位于因特网中的特定计算机站通信;及(d)一定额策略,指示在给定时间间隔内,在标识用户和因特网之间有多少数据可通信。
9.根据权利要求8的计算机可读介质,其中数据库周期性地为具有定额策略的一个标识用户计算定额违例,其中定额违例指示是否过量数据已在标识用户和因特网之间通信,其中对具有定额策略的每个标识用户的定额违例如下计算(a)累加在给定时间间隔期间,标识用户和因特网之间通信的每个数据包数据字节的总数;及(b)把数据字节的和同标识用户的定额策略进行比较。
10.根据权利要求2的计算机可读介质,其中的图形用户界面还允许管理员去组织标识用户变为具有包含全部标识用户的根组和大量子组的组分层中,每个子组至少包含一个标识用户。
11.根据权利要求10的计算机可读介质,其中的图形用户界面还允许管理员去输入至少一个用户策略作为组策略,其中的组策略面对组分层使用,以致包含在组中的每个标识用户继承此组策略。
12.根据权利要求11的计算机可读介质,其中如果由标识用户继承的组策略同标识用户的用户策略冲突时,数据库解决此冲突,以致只有用户策略和组策略之一被用于面对用户。
13.根据权利要求12的计算机可读介质,其中数据库准备由管理员输入的用户和组策略,由过滤执行程序优化,借助于(a)为每个标识用户收集输入的全部用户策略;(b)收集每个标识用户继承的全部输入组策略;(c)存贮每个标识用户的每个组策略和每个用户策略,作为各个用户的策略要直接用于面对标识用户。
14.根据权利要求13的计算机可读介质,其中过滤执行程序优化各个用户策略,通过根据至少一个在数据库中存贮的相应的单个用户策略,定义规则集的每个规则,变为每个标识用户的规则集。其中每个规则支配过滤引擎如何过滤匹配规则的数据包。
15.根据权利要求14的计算机可读介质,其中每个标识用户的规则集中的每个规则至少包含下列之一(a)-文件扩展规则,它支配过滤引擎应如何过滤在标识用户和包含来自具有特定文件扩展的文件中信息的因特网之间通信的匹配数据包;(b)-应用协议规则,它支配过滤引擎应如何过滤在标识用户和采用特定应用协议的因特网之间通信的匹配数据包;及(c)-组合的站点和协议规则,它支配过滤器引擎应如何过滤在标识用户和采用特定应用协议的特定因特网站点之间通信的匹配数据包。
16.根据权利要求2的计算机可读介质,其中图形用户界面还允许管理员输入操纵全部标识用户和因特网之间的数据包通信的全部标识用户的系统策略。
17.根据权利要求16的计算机可读介质,其中系统策略包括系统缺省策略,其中系统缺省策略包括(a)允许记录策略,指示是否过滤引擎要去记录过滤引擎已允许在企业内部网和因特网之间传递的数据包;(b)-模拟规则实施策略,指示是否过滤引擎要根据每个标识用户的用户规则集,模拟数据包过滤;及(c)违例消息策略,指示是否过滤引擎要发送消息给标识用户,指示不管过滤引擎如何过滤数据包。
18.根据权利要求17的计算机可读介质,其中过滤器执行程序优化系统缺省策略变为全部标识用户的系统缺省规则集,这借助于(a)从违例消息策略定义Log-on-off规则,支配是否过滤引擎要记录过滤引擎已允许在企业内部网和因特网之间传递的数据包;(b)从模拟规则实施策略定义Log-no-block规则,支配是否过滤引擎要根据记录和传递数据包,为每个标识用户的用户规则集去模拟数据包过滤,不关心过滤引擎如何过滤数据包;及(c)从违例消息策略定义notify-no-notify规则,支配是否过滤引擎要发送消息到标识用户指示过滤引擎如何过滤数据包。
19.根据权利要求18的计算机可读介质,其中系统策略还包括全局网络协议策略,其中的每个全局网络协议策略指示是否一特定的网络协议可用于在连到企业内部网的大量计算机的全部标识用户和因特网之间传送数据。
20.根据权利要求19的计算机可读介质,其中过滤器执行程序优化全局网络协议策略变为全部标识用户的入境和出境全局网络协议规则集,这借助于(a)从每个全局网络协议策略定义入境全局网络协议规则,支配过滤引擎如何过滤用特定网络协议,从因特网到标识用户通信的数据包;及(b)从每个全局网络协议策略定义出境全局网络协议,支配过滤引擎如何过滤用特定网络协议,从标识用户到因特网通信的数据包。
21.根据权利要求20的计算机可读介质,其中的系统策略还包括时间调度策略,其中每个时间调度策略指示在时间调度期间,数据可以用特定应用协议,在全部标识用户和因特网之间通信。
22.根据权利要求21的计算机可读介质,其中过滤执行程序优化时间调度策略,根据每个时间调度策略定义时间规则,变成全部标识用户的时间规则集,支配过滤引擎如何用特定的应用协议,在特定时间间隔内过滤标识用户和因特网之间通信的数据包。
23.根据权利要求2的计算机可读介质,其中的名字服务管理器更新映射信息,这借助于(a)当标识用户登录和退出连到企业内部网的计算机时,收集更新的计算机到用户的映射;及(b)根据至少一个名字服务代理收集的更新的计算机到用户的映射,通过过滤执行程序来替代过时的计算机到用户的映射。
24.根据权利要求23的计算机可读介质,其中名字服务管理器为每个标识用户更新映射信息,借助于(a)当标识用户所分配的至少一个计算机的地址变化时收集更新的计算机到地址的映射。(b)根据至少一个名字服务代理收集的更新的计算机到地址的映射,通过过滤执行程序来替代过时的计算机到地址的映射。
25.根据权利要求1的计算机可读介质,其中很多管理员允许用图形用户界面输入用户信息,映射信息,及用户策略,且其中每个管理员被分配一管理级别,以决定什么类型的用户信息,映射信息和用户策略允许此管理员用图形用户界面输入。
26.一种用来管理企业内部网和因特网之间数据包通信的装置,企业内部网经过通信介质连接大量计算机,因特网经过通信介质连接大量企业内部网,该装置包括(a)为存贮下述内容用的存贮介质(i)-数据库,包括连到企业内部网的计算机的每个用户的用户信息,映射信息和策略,其中用户信息标识每个用户,其中映射信息把每个用户映射到连到企业内部网上的计算机上,而其中策略操纵每个用户和因特网之间数据包的通信;(ii)-过滤执行程序,来优化存贮在数据库中的每个用户的用户策略,变成线个用户的规则集;(iii)-过滤引擎,根据由过滤执行程序优化的每个用户的规则集和每个用户的映射信息,过滤在企业内部网和因特网之间通信的数据包;及(iv)-名字服务管理器,用来为每个用户更新映射信息;及(b)-处理单元,电子耦合到存贮介质,用来执行程序指令维护数据库,实现滤波执行程序,实现滤波引擎及实现名字服务管理器。
27.根据权利要求26的装置,其中的映射信息把每个用户映射到连到企业内部网的计算机上,包括(a)计算机到用户的映射,标识用户的登录名和分配给用户的计算机的计算机名;及(b)计算机到地址的映射,标识分配给用户的计算机的计算机名及此计算机的因特网协议地址。
28.根据权利要求27的装置,其中的处理单元执行程序指令使过滤引擎去过滤数据包,借助于为企业内部网和因特网之间通信的每个数据包,(a)扫描每个用户的映射信息,分别给用户一映射计算机的因特网协议地址,该地址与曾发出此数据包的计算机地址匹配;(b)对分配到映射计算机的用户,把数据包和规则集进行比较;及(c)如果数据包匹配规则集中至少一条规则,为至少一条规则返回过滤结果,其中过滤结果指示是否过滤引擎拒绝此数据包的传递。
29.根据权利要求28的装置,其中如果数据包不匹配规则集的至少一个规则,处理单元执行程序指令使过滤引擎对至少一条规则返回缺省结果,以进一步过滤数据包,其中的缺省结果指示是否过滤引擎拒绝传递此数据包。
30.根据权利要求30的装置,其中,如果没有发现映射计算机的因特网协议地址与曾从其中发送数据包的计算机的地址匹配,过滤引擎也返回缺省结果。
31.根据权利要求30的装置,其中的过滤结果和缺省结果还指示是否过滤引擎要去记录此数据包。
32.根据权利要求30的装置,其中的过滤结果和缺省结果还指示是否要通知分配到映射计算机,其因特网协议地址匹配曾从中发送数据包的计算机地址的用户此数据包已匹配至少规则集中的规则之一。
33.根据权利要求27的装置,还包括输入设备,用于让管理员输入每个用户的用户信息,映射信息及策略。
34.根据权利要求33的装置,其中的输入设备还允许管理员组织用户变为具有包含全部用户的根组和大量子组的组体系,每个子组至少包含一个用户。
35.根据权利要求34的装置,其中的输入设备还允许管理员至少输入面对每个用户的一个用户策略,其中的用户策略操纵用户和因特网之间数据包的通信。
36.根据权利要求35的装置,其中的输入设备还允许管理员至少输入一组策略,其中的组策略用于面对层次中的一组,以使包含在组中的每个用户继承组策略,且其中的组策略操纵包含在组中的每个用户和因特网之间数据包的通信。
37.根据权利要求36的装置,其中如果由用户继承的组策略同用户的用户策略相冲突,数据库解决该冲突,以使只有用户策略和组策略之一用于面对该用户。
38.根据权利要求36的装置,其中的处理单元执行程序指令,使过滤执行程序去优化用户策略和组策略,通过根据在数据库中存贮的相应的单个用户策略定义至少一个规则集的每个规则,变为每个用户的规则集,其中的每个规则支配过滤引擎如何过滤在用户和因特网之间通信的匹配规则的数据包。
39.根据权利要求38的装置,其中从每个用户策略和每个组策略定义的每个用户规则,至少包括下列之一(a)文件类型策略,指示是否具有特定文件扩展的文件可在用户和因特网之间通信;(b)应用协议策略,指示是否用特定应用协议传输的信息可在用户和因特网之间通信;(c)站点策略,指示是否信息可在用户与位于因特网上的特定计算机站点之间通信;(d)定额策略,指示在给定时间间隔内有多少信息可在用户和因特网之间通信。
40.根据权利要求39的装置,其中处理单元执行程序指令,使过滤执行程序为每个用户建立用户规则集,包括(a)根据每个文件类型策略定义文件扩展规则,其中文件扩展规则支配是否包含来自具有特定文件扩展文件信息的数据包可在用户和因特网之间通信;(b)根据每个应用协议策略,定义应用协议规则,其中应用协议规则支配是否用特定应用协议通信的数据包可以在用户和因特网之间通信;及(c)根据每个站点策略和应用协议策略,组合的站点和协议规则,其中,组合的站点和协议规则支配是否数据包可在标识用户和位于因特网的特定计算机站点之间通信。
41.根据权利要求40的装置,其中输入设备还允许管理员输入包含在系统分层的根组中,适合面对全部用户的系统缺省策略集,其中,每个系统缺省策略指示是否某种信息可在包含在根组中的任何用户和因特网之间通信。
42.根据权利要求41的装置,其中处理单元执行程序指令使过滤执行程序根据系统缺省策略集,为包含在系统分层的根组中的全部用户建立系统缺省规则集,其中,系统缺省规则集支配是否包含所说信息的数据包可以在包含在根组的任意用户和因特网之间通信。
43.根据权利要求42的装置,其中输入设备还允许管理员输入包含在系统分层的根组中,适合面对全部用户的全局网络策略集,其中每个全局网络策略指示是否某种信息可在包含在根组中的任何用户和使用特定网络协议的因特网之间通信。
44.根据权利要求43的装置,其中处理单元执行程序指令,使过滤执行程序根据全局网络策略集,为包含在系统分层根组中的全部用户建立全局网络协议规则集,其中全局网络规则集支配是否包含所说信息的数据包可在包含在根组中的任何用户和使用特定网络协议的因特网之间通信。
45.根据权利要求44的装置,其中输入设备还允许管理员输入包含在系统分层根组中的适合面对全部用户的时间调度策略集,其中的每个时间调度策略指示在时间调度期间,某些信息可在根组中包含的任何用户和使用特定应用协议的因特网之间通信。
46.根据权利要求45的装置,其中的处理单元执行程序指令使过滤执行程序根据时间调度策略集,为包含在系统分层根组中的全部用户建立时间规则集,其中,时间规则集指示是否包含所说信息的数据包可在根组中包含的任何用户和在时间调度期间使用特定应用协议的因特网之间通信。
47.根据权利要求27的装置,其中的处理单元执行程序指令,使名字服务管理器去更新映射信息,这借助于(a)收集更新的计算机到用户的映射;及(b)根据至少一个名字服务代理收集的更新的计算机到用户的映射,用过滤执行程序来替代过时的计算机到用户的映射。
48.根据权利要求47的装置,其中的处理单元执行程序指令,使名字服务管理器去更新映射信息,这借助于(a)收集更新的计算到地址的映射;及(b)根据至少一个名字服务代理收集的更新的计算机到用户的映射,用过滤执行程序来替代过时的计算机到用户的映射。
49.一种用来管理连到企业内部网的大量计算机用户和因特网之间信息通信的方法,其中因特网连接大量企业内部网,该方法包括(a)标识连到企业内部网上的大量计算机的每个用户;(b)连续地映射每个用户到连到企业内部网上的至少一台计算机上(c)为操纵用户和因特网之间信息通信的每个用户建立用户规则集;及(d)按照每个用户的用户规则集,过滤连到企业内部网上的大量计算机用户和因特网之间通信的信息。
50.根据权利要求49的方法,其中每个用户被映射到至少一台计算机上,这借助于(a)用主机名和地址标识此至少一台计算机;及(b)分配被标识的至少一台计算机给用户。
51.根据权利要求50的方法,还要把每个用户加到包括一根组和大量子组的组系统分层中,其中的根组包括每个用户,而其中每个子组至少包括一个用户。
52.根据权利要求51的方法,还包括用面对着每个用户的至少一个用户策略,其中的用户策略指示是否某些信息可以在用户和因特网之间通信。
53.根据权利要求52的方法,还包括用面对系统分层组的至少一个组策略,以使包含在系统分层组中的每个用户继承组策略,其中组策略指示是否某些信息可以在用户和因特网之间通信。
54.根据权利要求53的方法,其中为每个用户建立用户规则集包括(a)根据面对用户应用的每个用户策略定义用户规则,其中用户规则支配是否信息的数据包可在用户和因特网之间通信;以及(b)根据用户继承的每个组策略,定义用户规则,其中用户规则支配是否信息的数据包可在用户和因特网之间通信。
55.根据权利要求54的方法,其中根据用户策略定义的用户规则,至少包括下列之一(a)文件类型策略,指示是否具有特定文件扩展名的文件可以在用户和因特网之间通信;(b)应用协议策略,指示是否使用特定应用协议传输的信息可在用户和因特网之间通信;(c)站点策略,指示是否信息可在用户和位于因特网上特定的计算机站点之间通信。(d)定额策略,指示在给定时间间隔内,有多少信息可在用户和因特网之间通信。
56.根据权利要求55的方法,其中为每个用户建立的用户规则集包括(a)根据每个文件策略,定义文件扩展规则,其中的文件扩展规则支配是否包含来自具有特定文件扩展的文件中信息的数据包可在用户和因特网之间通信;(b)根据每个应用协议策略,定义应用协议规则,其中的应用协议规则支配是否使用特定应用协议通信的数据包可以在用户和因特网之间通信;及(c)根据每个站点策略和应用协议策略组合的站点和协议规则,其中组合的站点和协议规则支配是否数据包可在标识用户和位于因特网的特定计算机站之间通信。
57.根据权利要求54的方法,还包括用包含在系统分层根组中,适合全部面对用户的系统缺省策略集,其中每个系统缺省策略指示是否某种信息可在包含在根组中的任何用户和因特网之间通信。
58.根据权利要求57的方法,还包括根据系统缺省策略集,为包含在系统分层的根组中的全部用户,系统缺省规则集,其中,建立系统缺省规则集支配是否包含所说信息的数据包可以在包含根组的任意用户和因特网之间通信。
59.根据权利要求58的方法,还包括用包含在系统分层的根组中,适合面对全部用户的全局网络策略集,其中每个全局网络策略指示是否某种信息可在包含在根组中的任何用户和使用特定网络协议的因特网之间通信。
60.根据权利要求59的方法,还包括根据全局网络策略集为包含在系统分层根组中全部用户建立入境和出境全局网络协议规则集,其中入境全局网络规则集支配是否信息的数据包使用特定的网络协议,可从因特网对包含在根组中的任何用户通信;且其中出境全局网络规则支配是否信息的数据包可从包含在根组中的任何用户向使用特定的网络协议的因特网通信。
61.根据权利要求60的方法,还包括应用包含在系统分层的根组适合面对全部用户的时间调度策略集,其中每个时间调度策略指示在时间调度期间,某些信息可在包含在根组中的任何用户和使用特定的应用协议的因特网之间通信。
62.根据权利要求61的方法,还包括根据时间调度策略为包含在系统分层根组中的全部用户建立时间规则集,其中时间规则集包括入境全局网络规则集和出境全局网络规则集,且其中的时间规则支配是否包含所说信息的数据包可在包含在根组内的任何用户同在时间调度期间用特定应用协议的因特网之间通信。
63.根据权利要求62的方法,其中过滤在连到企业内部网的大量计算机用户和因特网之间通信的信息包括(a)截取包含信息的数据包,作为在用户和因特网之间通信的数据包;(b)如果入境全局网络协议规则集已为全部用户建立,把数据包同入境全局网络协议规则集进行比较;(c)如果数据包匹配至少一个的入境全局网络协议规则,返回过滤结果,指示是否拒绝传递此数据包;及(d)如果数据包不匹配至少一个的入境全局网络协议规则,返回缺省结果,指示是否拒绝传递此数据包。
64.根据权利要求63的方法,其中过滤在连到企业内部网的大量计算机用户和因特网之间通信的信息还包括(a)如果入境全局网络协议规则集还没有为全部用户建立,判断是否出境全局网络协议规则集已为全部用户建立;(b)如果出境全局网络协议规则集已为全部用户建立,把数据包和出境全局网络协议规则集进行比较;(c)如果数据包匹配至少一个出境全局网络协议规则,返回过滤结果指示是否拒绝传递此数据包;及(d)如果数据包不匹配至少一个的出境全局网络协议规则,返回缺省值指示是否拒绝传递此数据包。
65.根据权利要求64的方法,其中过滤在连到企业内部网的大量计算机用户和因特网之间通信的信息还包括(a)如果出境全局网络协议规则集还没有为全部用户建立,把数据包同用户规则集比较;(b)如果数据包至少匹配用户规则集中至少一个用户规则,返回过滤结果,指示是否拒绝传递此数据包;及(c)如果数据包不匹配用户规则集中至少一个的用户规则,返回缺省结果,指示是否拒绝传递此数据包。
66.根据权利要求65的方法,其中把数据包和用户规则集比较包括(a)扫描每个用户的映射信息,分别给用户一映射计算机的因特网协议地址,该地址与曾发出此数据包的计算机地址匹配。(b)对分配到映射计算机的用户,把数据包和规则集进行比较。
67.根据权利要求66的方法,其中过滤信息还包括如果发送此数据包的计算机的地址不匹配映射计算机的因特网协议地址返回缺省结果。
68.根据权利要求49的方法,还包括当用户退出用户被分配的至少一台计算机时,更新映射信息。
69.根据权利要求68的方法,还包括当用户登录到另一台计算机时,更新映射信息。
70.根据权利要求69的方法,还包括当用户被分配的至少一台计算机地址改变时,更新映射信息。
全文摘要
根据本发明,一网络管理程序(80)被提供用来管理企业内部网(44)和因特网(40)之间数据包的通信。连到企业内部网(44)的计算机的操作员,利用图形用户界面(GUI70)输入有关连到企业内部网(44)上计算机的用户的核心信息,联到企业内部网(44)上有关计算机的映射信息,及面对这些用户和计算机要用的策略。GUI(70)建立核心用户信息,映射信息和策略与存贮和组织核心用户信息,映射信息和策略的数据库(72)通信。过滤执行程序(76)优化存贮在数据库(72)中的策略,转成每个用户的规则集,并把这些规则传到过滤引擎(78)。过滤引擎(78)根据过滤执行程序(76)提供的规则,过滤从企业内部网(44)传送到因特网(40)的全部出境数据包,并核对来自因特网(40)的全部入境数据包。过滤执行程序(76)也把存贮在数据库(72)中的映射信息与进一步更新映射信息的名字服务管理器(74)通信,并把更新映射信息返回给过滤执行程序(76),因此,过滤执行程序(76)根据最近的映射信息过滤数据包。
文档编号H04L29/12GK1253685SQ98804499
公开日2000年5月17日 申请日期1998年3月11日 优先权日1997年3月11日
发明者戴纶·M·阿布雷罕姆, 托德·A·巴尼斯, 保罗·F·包舍, 托马斯·P·保盖茨, 特蕾西·A·高斯林, 马克·G·格里夫, 布伦特·A·朗顿, 罗伯特·C·阿里森, 迈克尔·S·尼克 申请人:西格技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1