被管理社区的建立和维护 本发明的背景
本发明通常涉及一个社区,更具体地讲是涉及管理一个社区所需要的信息的建立和维护。
通常,一个社区是共享共同权益的一组人。随着互联网和电子商务的出现,许多公司正在通过内联网和外联网为雇员、供应商、合伙人和客户形成各种社区。这些社区使得雇员、供应商、合伙人和客户在一起工作变的更容易和成本更低廉。从计算机服务的角度看,这些人被称为计算机用户或简单地称为用户在这些社区中,有关每一用户的信息都被存储在大量的目录和数据库中。这些信息可以包括例如用户的姓名、地点、电话号码、机构、签收标识、口令等等项目。其它信息可以包括用户对资源例如应用程序和内容的访问特权。这些目录和数据库也可以存储在支持该社区的网络中地实际物理设备(例如,个人计算机,服务器,打印机,路由器,通信服务器等等)上的信息。附加信息可以包括每一实际物理设备可以获得的服务(例如,操作系统,应用程序,共享文件系统,打印队列等等)。
管理工具通常管理着与该社区有关的所有信息。大多数管理工具都面临着的一个问题是存储所述信息的目录或数据库可以具有彼此显著不同的结构。大多数市场上买得到的管理工具不具有管理保存在大量目录和数据库中信息的能力。因此,在不同目录和数据库中存储信息的社区的管理员经常不得不使用一个以上管理工具来管理这些信息,因为单个工具不能定位、识别和表征结构和内容方面不同的信息。例如,假如一个机构在一种目录例如轻便目录访问协议(LDAP)目录中存储客户信息和将与该机构许可的软件有关的信息存储在一个数据库中;一个管理员将不得不使用一个以上的管理工具管理这两个社区,因为它们的信息在结构和内容方面不同。因此,现有技术中需要这样一种方法,即该方法能够使得一个管理工具能管理信息存在于独立的和不同结构的目录和数据库中的不同社区。
与社区信息保存在大量目录和数据库中的有关的另一个问题就是现行的管理工具很难从所述的目录和数据库中建立要被管理的信息。通常,存储在所述目录和数据库中的数据包括多种信息。其中一些数据(例如,姓名,地址,等等)由一个用户管理,而一些数据(例如,用户和资源特征)由一个管理员管理。通常,许多经常自动与一个用户相关联的其他数据不必由管理员管理。不必由管理员管理的其它数据包括在所述目录和数据库中未使用或自动更新数据的字段。为了管理一个社区,需要划出要被管理的目录或数据库子组而明确地忽略其余。而且,因为目录和数据库结构的变化,需要发现那些变化以及决定是否管理任何新建数据单元。因此,现有技术中需要这样一种方法,即该方法能使得一个管理工具能够从所述目录和数据库建立要管理的信息,包括定义要被管理的信息,不被管理的信息以及发现新的信息来管理。本发明的简短描述
在本发明的一个实施例中,公开了一种方法,系统和计算机可读取媒介,它们能够存储指令,所述指令用于指示一个计算机系统建立管理一个社区所需要的信息。在这个实施例中,标识了至少一个包含有与所述社区相关的数据储存库。在所述至少一个数据储存库中的数据的结构被发现。在对象中的数据对象和属性被从所述发现的结构中选择出来管理。用于管理所述选定属性的访问许可被规定。
在本发明的第二实施例中,公开了一种方法,系统和计算机可读取媒介,它们能够存储指令,所述指令用于指示一个计算机系统使得一个管理员能够建立管理一个社区所需要的信息。在这个实施例中,标识了至少一个包含有与所述社区相关的数据储存库。在所述至少一个数据储存库中的数据的结构被发现。所述管理员被提示从所述发现的结构而来的对象中选择数据对象和属性,并被提示规定用于管理所述选定属性的访问许可。
在另一个实施例中,公开了一种工具,用于建立管理一个社区所需要的信息。所述工具包括一个数据储存库标识组件,该组件标识至少一个包含着与用户社区相关的数据的数据储存库。一个数据结构发现组件在所述至少一个数据储存库中发现所述数据的结构。一个数据选取组件根据由所述数据结构发现组件发现的结构在对象中选择数据对象和属性。一个访问许可组件规定用于管理由所述数据选取组件选定的属性的访问许可。
在另外一个实施例中,公开了一种系统,用于建立管理一个社区所需要的信息。这个系统包括至少一个数据储存库,该至少一个数据储存库包含多个社区信息。一个工具在所述至少一个数据储存库中建立信息来管理所述社区。所述工具包括一个数据储存库标识组件,该组件标识至少一个包含着与用户社区相关的数据的数据储存库。一个数据结构发现组件在所述至少一个数据储存库中发现所述数据的结构。一个数据选取组件根据由所述数据结构发现组件发现的结构在对象中选择数据对象和属性。一个访问许可组件规定用于管理由所述数据选取组件选定的属性的访问许可。一个计算单元被配置为所述工具服务。附图的简短描述
图1示出一个通用计算机系统的示意图,其中建立管理一个社区所需信息的工具在运行;
图2示出一个工具的最高阶层组件构造图,该工具建立管理一个社区所需要的信息并在图1中的计算机系统上运行和;
图3示出一个系统构造图,用于实施建立和维护管理一个社区所需信息的工具;
图4示出一个流程图,描述了由图2示出的工具执行的一个社区的初始配置管理动作;
图5示出一个流程图,描述的是由图2示出的工具执行的改变一个现有配置的动作;
图6示出一个流程图,描述的是图2中示出的工具执行的在至少一个数据储存库内重新发现数据的动作;和
图7示出一个流程图,描述的是图2示出的工具执行的配置访问许可和限制值属性的动作。本发明的详细描述
在本发明中,对这样一种方法进行了描述,即,该方法克服了用现有的管理工具管理存储在大量目录和数据库中的社区信息相关的一些问题。特别是,此方法有利于一个管理社区的产生、配置和随后的改变,使得现有的管理工具可以管理该社区而不考虑与该社区有关的信息的结构和内容。在这个方法中,该被管理社区的配置包括发现与该社区有关的被存储在数据储存库例如目录和数据库中潜在地要被管理的信息或数据。该配置也包括人工介入来识别具体的数据类目或要被管理的属性以及不要被管理的属性。用于该构造中的进程也可以被用在后来对该被管理社区的改变或更新中。在一个被管理社区的产生、配置和改变中使用的相同的进程可用于管理多个独立的社区。
举例来说,用于创建、设置和改变一个被管理社区的这个方法可以在软件中实施。图1示出一个通用计算机系统的示意图,其中建立管理一个社区所需信息的工具在运行;计算机系统10通常包括至少一个处理器12,一个存储器14,输入/输出装置,和连接处理器、存储器和输入输出装置的数据通道(例如,总线)16。处理器12从存储器14接收指令和数据并完成各种计算。处理器12包括:一个算术及逻辑运算部件(ALU),用来完成算术和逻辑操作;还包括一个控制部件,从存储器14中抽取指令并译出指令和执行指令,在必要时访问所述的ALU。存储器14通常包括一个随机存取存储器(RAM)和一个只读存储器(ROM);但是,可能有其它类型的存储器例如可编程序只读存储器(PROM),可擦可编程序只读存储器(EPROM)和电可擦可编程只读存储器(EEPROM)。另外,存储器14优选包括一个操作系统,该操作系统在处理器12上进行操作。该操作系统执行一些基本的任务包括识别输入、发送输出到输出装置、跟踪文件和目录、以及控制各种外围设备。
输入/输出装置可以包括一个键盘18和一个鼠标20,它们将数据和指令输入到计算机系统10中。同时,显示器22可以使得用户能够看到计算机已经完成的任务。其它输出装置可以包括打印机、绘图仪、合成器和扬声器。通讯装置24例如一个电话机、电缆调制解调器、或网卡比如以太适配器、局域网(LAN)适配器、综合服务数字网(ISDN)适配器、或数字用户线路(DSL)适配器能够使得计算机系统10访问位于一个网络比如LAN或广域网(WAN)上的其它计算机和资源。大容量存储装置26可能用来使得计算机系统10永久地保留大量数据。所述大容量存储装置可以包括所有类型的磁盘驱动器比如软盘、硬盘和光盘,以及磁带驱动器,所述磁带驱动器可以将数据读和写在一个磁带上,所述磁带可以包括数字音频带(DAT),数字线型磁带(DLT)或其它磁编码的媒介。上述的计算机系统10可以采取下述形式,即,手提数字计算机、个人数字助理计算机、笔记本计算机、个人计算机、工作站、微型计算机、主计算机或巨型计算机。
图2示出一个工具28的最高阶层组件构造图,该工具在图1中的计算机系统上运行和建立管理一个社区所需要的信息。通常,一个最高阶层的管理员使用该工具28,并在这个说明书中,该管理员被称为超级管理员(Super Administrator)。该超级管理员通常执行的一些功能包括:安装在本说明书中所述的软件工具、配置该安装使之连接到一个或多个数据储存库、识别要被管理的数据、识别自我管理的数据以及指定选定的用户来管理先前选定的数据。该工具28包括一个数据储存库标识组件30,该组件标识至少一个包含着与用户社区相关的数据的数据储存库。所述的由数据储存库标识组件30标识的至少一个数据储存库可以包括多个具有不同结构的储存库。该数据储存库标识组件30还确定用来访问存储在所述至少一个数据储存库中数据的连接信息。连接信息的一些举例包括,但是不局限于,提供访问到所述至少一个数据储存库的服务器,与所述至少一个储存库接口的端口,用于所述至少一个储存库的签收标识、以及用于访问该至少一个储存库的口令。
一个数据结构发现组件32发现位于所述至少一个数据储存库中的数据的结构。特别是,该数据结构发现组件32确定存在于所述至少一个数据储存库中的数据对象和属性。典型情况下,要执行标准数据库查询来首先确定什么数据对象在所述至少一个数据储存库中被定义。在该超级管理员选择那些包含一个被管理用户的数据对象之后,然后进一步查询找出与那所述的些对象有关的属性。
该超级管理员使用一个数据选取组件34来选择由数据结构发现组件32发现的数据对象和属性。具体地讲,该超级管理员决定那个被发现的对象和属性要被管理。并不是所有被发现的对象和类别都需要被管理。在所述社区内选择那些对象和属性被管理是超级管理员的处理权(left to the discretion)。典型情况下,这种选择在从一个社区到另外一个社区是变化的。该超级管理员也使用所述数据选取组件34来从所发现的在被管理用户社区内未使用的对象和属性中识别一些属性。例如,那些捕获用来实现工具28系统状态的属性以及在系统中跟踪事件次数和日期的属性不应当被该社区的管理员改变。不应当被管理的属性的其它例子包括不会被编辑或直接看见的内部产生的数据,或仅仅是从未用过的或是从不变化的数据字段。对于这种属性,超级管理员使用所述数据选取组件34来识别这些属性使得它们在该社区内部不被管理。
超级管理员使用一个访问许可组件36来定义访问许可以便管理由所述数据选取组件34选定的属性。由超级管理员定义的所述访问许可确定对于一个特定社区的管理员如何能根据某些属性作动作。具体地讲,所述访问许可定义了一个管理员能或者不能在一个社区中定义的属性上执行什么类型的操作。超级管理员可以授与的一些操作包括观察、编辑、以及删除所述的属性。这些管理操作仅仅示出了一些该超级管理员可以授权访问许可的一点点操作,并没有示出所有其它可能的情况。其它的可以被授权的管理操作例如是在一个特定的时间周期期间被编辑和重置缺省值数据字段。通常,所述超级管理员可以使用访问许可组件36来为任何操作授予或否决访问许可,以便限制什么操作能或者不能针对所述属性进行。对于所述属性的访问许可的选择留给所述超级管理员。注意有可能仅仅对上述操作之一或者上述操作的任何组合而授予访问许可。
所述访问许可组件36也使得超级管理员对于一些选定的属性而规定限制值。例如,对于这样一个属性,即,该属性包含着关于一个用户被雇用的状态的数据(例如,雇用状态),它的值可以被限制在50个可能值之一,其中这些值被限制为一些两字母缩写(例如,WI,NY,等等)。值可以限制用于一个属性的另一个例子就是,列出用户能访问的应用程序的一个属性。在这个例子中,用于该应用程序的属性的值可以限制到具体的名称比如目录,拍卖,电子邮件,聊天,网络等等。另外,有可能一些用户的属性将会有类似的限制值。此外,有可能跨越数据储存库使用一组规定的限制属性。
一个修改组件38使得超级管理员将所述社区的初始配置进行修改或更新。具体地讲,超级管理员可以使用该修改组件38为至少一个数据储存库改变连接信息比如服务器,端口,签收标识和口令信息。另外,也可以对以前选定的用于管理的数据对象和属性进行修改。这也包括对该被管理社区内被标识为未使用的属性进行修改。此外,该修改组件38可用于对为属性限定的访问许可进行修改,以及对为属性规定的限制值进行修改。
一个再发现信息组件40能够使得超级管理员在所述社区被建立和运行之后的随后时间在至少一个数据储存库内重新发现关于数据的结构信息。通常,在初始的发现之后,所述至少一个数据储存库还可以定义额外的属性,因此可能有必要进行一次再发现。例如,一些比较老的储存库可能不包含属性来存储电子邮件地址或传真号或个人主页地址。如果那些属性被增加给所述至少一个储存库,那么就需要进行一次这个信息的再发现,将它们包含为被管理的属性。另外,可能需要在对基础数据储存库进行改变的任何时候进行一次再发现以便对该储存库具有精确的了解。
对于再发现的对象分类和属性,所述再发现信息组件40对所述至少一个数据储存库的该对象分类和属性进行搜索。超级管理员使用该再发现信息组件40来选择被管理的额外的对象和属性。如果有任何新的属性对于所述社区的管理是无用的,那么超级管理员就将它们标识为不管理。超级管理员然后为被选定的新的属性以及应当为该属性指定的任何限制值确定访问许可。
该工具28不局限于软件实现。例如,数据储存库标识组件30,数据结构发现组件32,数据选取组件34,访问许可组件36,修改组件38和再发现信息组件40可以采取硬件形式或固件形式或软件、硬件和固件结合的形式。
另外,该工具28不局限于数据储存库标识组件30,数据结构发现组件32,数据选取组件34,访问许可组件36,修改组件38和再发现信息组件40。本领域技术人员能够意识到该工具28也可以具有其它组件。例如,该工具28还可以包括一个工作流程组件,该组件对围绕着用户产生和管理的进程进行管理。另外,该工具28可以包括一个报告组件,该组件对使用统计,错误状态等等作出报告。也可能具有一个事务处理管理部件,该部件采用2相提交/回卷(commit/rollback)进行事务处理。另外一个工具28可以包含的组件是浏览组件,用于观察与所述社区有关的信息。
图3示出一个系统构造图,示出的是用于实施图2所示的工具的系统42;图3示出有多种访问工具28的方式。计算单元44允许超级管理员访问工具28。计算单元44可以采取手提式数字计算机、个人数字助理计算机、笔记本计算机、个人计算机或工作站的形式。超级管理员使用Web浏览器46比如Microsoft INTERNET EXPLORER或NetscapeNAVIGATOR而在计算单元44上定位和显示管理工具28。通信网络比如电子或无线网将计算单元44连接到工具28。图3示出,计算单元44可以通过一个专用网48比如外联网或内联网或者通过一个全球网50比如WAN(例如互联网)连接到工具28。如图3所示,工具28处于一个服务器52中,该服务器52包括一个服务于工具28的Web服务器54,还包括一个包含各种与所述社区有关的数据储存库56或(多个储存库)。但是,该工具不必与所述服务器52共同留驻管理程序(co-resident)。如果需要,所述系统42可以具有这样的功能,即能够对访问工具28的用户进行验证和访问控制。所述的验证和访问控制都能在Web服务器级由工具28本身处理,或通过市场上买得到的组件比如NetegritySITEMINDER处理。
位于如上所述的数据储存库56中的信息可以包括与社区中用户有关的社区信息,比如他们的姓名、地点、机构、签收标识、口令等等。其它信息可以包括用户对某些资源比如应用程序和内容的访问特权。这些数据储存库56也可以存储在支持该社区的网络中与实际物理设备(例如,个人计算机,服务器,打印机,路由器,通信服务器等等)有关的信息。存储在数据储存库56中的附加信息可以包括那些对于每一物理设备可以获得的服务(例如,操作系统,应用程序,共享文件系统,打印队列,等等)。所述的数据储存库56可以包括用于储存数据的具有不同结构的储存库比如目录和数据库。一些可能的数据储存库的例子包括但不局限于LDAP目录、关系数据库、面向对象的数据库、平面文件、数据管理系统、及具有其它种类模式的其他目录类型的数据库。
使用如图3所示的系统42,一个管理员比如超级管理员可以使用该工具28建立和维护一个社区比如一个用户社区。图4示出一个流程图,该流程图描述了用工具28执行的一个社区的初始配置管理。在模块58中,超级管理员签收。该签收动作可以包括记入身份和保密信息(例如,一个有效的用户名和口令)。该工具在60处验证所述用户名和口令。然后该工具确定是否用户具有许可(即,用户是一个超级管理员)在62配置一个社区。如果该用户没有被证实或不具有许可来配置一个社区,则该用户就不被允许配置一个社区。
在64,超级管理员安装该工具并标识至少一个包含社区信息的数据储存库。在安装中,超级管理员输入用来访问存储在所述至少一个数据储存库比如服务器中的数据的连接信息和端口信息,以及用于访问所述至少一个储存库的标识和口令。注意所述至少一个数据储存库可能已经存在;在这种情况下超级管理员仅仅需要提供连接信息给所述工具。接下来,在66,该工具连接到所述至少一个数据储存库来发现所述模式。如上所述,在这个发现阶段,该工具学习什么数据对象和属性存在于所述至少一个数据储存库中。首先,在68,在所述至少一个数据储存库中的数据对象被发现。接下来,超级管理员在70选择一些将要组成一个被管理用户的数据对象。数据选取组件然后被用在72来发现那些关于所选定的数据对象的属性。然后,在74,该数据选取组件被用来标识那些未被管理的属性。
在76,超级管理员选择要被用户自己管理的属性。如上所述,一些可以被自己管理的属性可以包括用户的姓名、地址、电话号码等等。然后,在78,超级管理员使用访问许可组件来规定访问许可,定义一个用户对被选定的自我管理的属性能作怎样的动作。在80,超级管理员使用数据选取组件选择要被管理员管理的属性,在82访问许可组件定义管理员根据选定的属性能和不能起作用(例如,编辑,观看,删除等等)。
然后在84,超级管理员标识一些属性,这些属性要具有与之相关的限定值。在这个块中,超级管理员也为那些已经被标识为具有限定值的属性分配允许值。然后,在86,所有的初始配置都被保存。一旦该社区已经配置好,一个管理工具就可以管理该社区。具体地讲,该管理工具可用于建立各种域和子域以及授与管理这些域的权力。
图5示出一个流程图,描述的是用工具28执行的改变一个现有配置的动作。在88,超级管理员通过输入他或她的身份和保密信息(例如,一个有效的用户名和口令)来签收进来。该工具在90验证用户名和口令并在92确定是否该用户具有许可(即,该用户是一个超级管理员)改变一个现有配置。如果该用户没有被证实或不具有许可来配置一个社区,则该用户就不被允许改变一个现有的配置。在94,超级管理员选择一个他或她想要改变的具体配置。然后在96,该工具解析所述配置选择,获得配置数据并将它表示给超级管理员。然后在98,超级管理员对所述配置进行修改。该修改可以包括改变,添加或除去对象、属性、访问许可、限定值属性、连接信息等等。如果任何修改影响了被指定为不受管理的属性,则这种改变是要指出的。在进行了该改变之后,就在100将该改变的配置数据更新。
图6示出一个流程图,描述了用该工具28在所述至少一个数据储存库的再发现期间进行的动作。在102,超级管理员通过输入他或她的身份和保密信息(例如,一个有效的用户名和口令)来签收进来。该工具在104证实用户名和口令并在106确定是否该用户具有许可(即,该用户是一个超级管理员)来再发现数据。如果该用户没有被验证或不具有许可来再发现数据,那么该用户就不被允许这样做。在模块108中,超级管理员选择至少一个数据储存库来再发现。在110,该工具在所述至少一个数据储存库中徐徐前进,在所述至少一个数据储存库中寻找所有数据对象和属性,在112给超级管理员表示结果。然后,在114超级管理员以图5中所示的方式对配置进行修改。在进行了任何改变之后,就在116将任何改变的配置数据更新。基本上,该再发现过程使得超级管理员执行在初始配置中执行的同样的步骤(例如,发现数据对象,选定对象,发现属性,选择属性等等)。
图7示出一个流程图,描述的是用工具28执行的对访问许可和限制值属性进行配置的动作。如上所述,超级管理员可以在初始配置期间或者在配置的修改期间对访问许可和限定值属性进行配置。在118,超级管理员通过输入他或她的身份和保密信息(例如,一个有效的用户名和口令)来签收。在120,该工具验证用户名和口令,并在122确定是否该用户具有许可(即,该用户是一个超级管理员)来设定访问许可和限定值属性。如果该用户没有被认证或不具有许可来设定访问许可和限定值属性,则该用户就不被允许这样做。在124,该工具获得由超级管理员在配置期间选择的属性。然后,在126,超级管理员标识访问许可,该访问许可规定了管理员能和不能在每个属性上执行什么类型的操作(例如,编辑,查看、删除等等)。然后在128,超级管理员标识那些将具有与此相关限定值的属性。在模块130中,超级管理员也为那些已经被标识为具有限定值的属性分配允许值。然后所述选择在132更新。
本说明书描述的上述流程图示出所述工具的功能与操作。在这方面,每个方块代表着一个模块、程序段或部分编码,它们包含一个或多个用于实现规定逻辑函数的可执行指令。也应注意,在一些可选择的实施方式中,在方块中表明的功能可能以图中示出的不平常顺序发生,或者例如可以事实上大体上同时被执行或者以倒序执行,这些都依赖于所涉及的功能来定。同时,本领域普通技术人员能够意识到其它的一些方块可以被添加进来。此外,这些功能可以用编程语言比如c++或JAVA来实现。但是,其它语言也可以使用。
上述的工具包括用于实现逻辑函数的一个可执行指令的有序的列表。该有序列表可以放入任何计算机可读媒介中,该计算机可读媒介通过一个可以检索所述指令并执行它们的以计算机为基础的系统而使用,或者与可以检索所述指令并执行它们的计算机为基础的系统结合起来。在本申请的上下文中,计算机可读媒介可以是任何可以包含、存储、通信、传播、传送或运输所述指令的装置。计算机可读媒介可以是电子的、磁性的、光学的、电磁的、或红外的系统、设备或装置。例举的但非穷举的所述计算机可读媒介的清单可以包括:一个电连接(电子的),具有一个或多个电线;一个便携式计算机磁盘(磁性的);一个随机存取存储器(RAM)(磁性的);一个只读存储器(ROM)(磁性的);一个可擦可编程序只读存储器(EPROM或闪速存储器)(磁性的);一个光学纤维(光学的);和一个便携式光盘只读存储器(CDROM)(光学的)。
应当注意,计算机可读媒介可以包括纸件或另外的适当的媒介,在其上可以打印指令。例如,所述指令可以通过对该纸件或其它媒介的光学扫描而被电子地捕获,然后如果必要以一种适当的方式编译、翻译或它的反面过程处理,然后存储在一个计算机存储器中。
很明显,根据本发明,提供了一种建立和维护一个被管理社区的工具。尽管本发明被结合优选实施例具体地示出和描述,但是应当理解,对于本领域技术人员来讲可以实施一些不超出本发明范围的变化和改变。