专利名称:网络数据存储库中的变量条目的制作方法
技术领域:
本发明的实施例涉及用于在网络中提供数据和服务的系统和方法。更具体地,本
发明的实施例涉及使用在具有大量用户的通信网络中的耐用的、高速数据访问可行的系统 和方法,该用户各自的数据可以被配置在集中式数据存储库中,用于由工作在该网络内的 各种应用访问。
背景技术:
移动和固定网络运营商想要过渡到完全聚合的通信服务供应商(CSP)。新用户服 务的不断变换的商业策略和实施方式已经在典型的CSP内形成可操作的和功能性的数据 仓(silo)。许多传统的通信网络是基于对主要为语音通信建立的核心网络的功能上的覆盖 的非结构化的修补工作。数据复制常常存在于用户数据库、服务创建和供应过程、管理、支 持和开帐单(billing)中。 许多CSP想要利用基于创建的内容的服务的传递,这些服务要求大范围的市场细 分。此新生领域已被为多媒体服务制作的新的应用与设备推动(fuele)。但是,在移动和固 定线路服务之间仍然存在一些牢固的边界,因为产品常常是围绕访问方法与设备而不是围 绕用户的需要而定形的。 图1描述现有技术中CSP采用的典型网络架构100。网络架构100包括操作支持 系统(0SS)/商业支持系统(BSS)/IT领域系统102,诸如应用106a-106c的一个或多个应用 以及核心信令网络108。 OSS/BSS/IT领域系统102包括供应系统IIO和网络管理系统112。 应用106a-106c的每个包括逻辑部分107a和数据部分107b。每个应用106a_106c的逻辑 部分107a主要(如果不排他的话)访问它各自的数据部分107b。每个应用106的数据部 分107b—般存在于某类数据库中,例如关系数据库。应用106a-106c可以提供例如归属位 置寄存器(HLR)、归属用户服务器(HSS)、语音邮件系统、验证、授权和记帐系统(AAA)、移动 号码可携(MNP)等等。这些应用都是本领域已知的。 随着CSP将越来越多的新服务增加到它们的系统中,诸如IP多媒体子系统(IMS) 和未许可的移动访问(UMA),它们可以发现由于在通用(generic)关系数据库技术配置期 间涉及的显著定制化而使得它们很难实现。随后,随着新的服务和用户类型的演变,它们各 自的模式也可能难以加强。换句话说,随着应用106a-106c的数目变得越来越大,CSP将经 受越来越多的操作问题,诸如可伸縮性、性能和管理。这些问题将增加成本并且导致操作故 障时间,进一步增加了成本。因为基础技术对于访问时间有着实际极限,所以基于通用盘的 平台很可能将证明难以调整。 设备出售商常常难以生产可以以对于CSP经济可行的时间表和价格点交付的产 品部件组。结果,CSP常常发觉自己"受困"于设备出售商,其已经限制了与其它出售商的系 统的互操作性,从而限制了当需要升级时CSP的操作灵活性和对设备出售商的选择。此外, 专有的硬件不趋向于经济地调整,常常导致一些备用容量块不能由CSP有效使用。
因而,直到CSP改进它们用于将新的应用配置到它们的网络的系统和方法,它们的商业和它们的用户才能够完全地利用由它们配置的现代的通信网络。
发明内容
上述缺点、劣势和问题由本发明的实施例来解决,通过阅读和研究以下说明来理 解本发明的实施例。 本发明的实施例可以提供一种用于代表请求实体访问目录中的数据的方法。该方 法要求接收数据请求以对该请求实体提供的目录中的第一位置处的第一条目的属性中的 数据执行动作,其中在该数据请求中被请求的属性的数据位于目录中第二位置处的第二条 目中。该方法要求使用与该第一条目有关的信息来导出该数据请求的属性中数据在该目录 中的第二位置,其中该导出是在对/从该目录的数据存储机构访问时执行。该方法还要求 使用导出的第二位置找到在第二条目处该数据请求的属性中的数据。该方法还要求对导出 的第二位置处的数据执行该动作。 本发明的实施例提供一种用于代表请求实体访问目录中的数据的系统。该系统包 括数据请求接收器,该数据请求接收器被配置为接收数据请求以对该请求实体提供的目录 中的第一位置处的第一条目的属性中的数据执行动作,其中在该数据请求中被请求的属性 的数据位于目录中第二位置处的第二条目中。该系统还包括位置导出器,其被配置为使用 与该第一条目有关的信息来导出该数据请求的属性中数据在该目录中的第二位置,其中该 位置导出器在对/从该目录的数据存储机构访问时执行该导出。该系统还包括读取/更新 模块,被配置为使用导出的第二位置找到在第二条目处该数据请求的属性中的数据并对导 出的第二位置处的数据执行该动作。
图1描述现有技术中CSP采用的典型网络架构100 ; 图2是描述本发明的实施例可以在其中工作的电信系统200的框图; 图3是提供核心网络(诸如图2所示的CN 206)的进一步的细节的框图,本发明
的实施例可以与其互操作; 图4提供根据本发明的实施例的网络架构400中的数据存储的功能图;
图5描述根据本发明的实施例的目录信息库(DIB)500 ;
图6描述根据本发明的实施例的目录信息树(DIT)600 ; 图7A示出了根据本发明的实施例的目录系统代理(agent) (DSA) 702和目录用户 代理(DUA) 704 ; 图7B示出了根据本发明的实施例的包括三个DSA 702a、702b和702c的分布式分 级结构; 图8示出了根据本发明的实施例的在图7B所示的DSA的分布式分级结构中的优 化路由; 图9A描述根据本发明的实施例的具有别名条目902的DIT 900 ; 图9B示出了根据本发明的实施例的别名隐藏模块903,其与包括别名903的DIT
900交互以对来自于请求实体920的数据请求执行别名隐藏; 图10A描述根据本发明的实施例的具有变量条目1002的DIT1000 ;
9
图10B示出了根据本发明的实施例的在包括来自于请求实体1020的数据请求的 变量1002的DIT 1000中的变量处理; 图11A示出了根据本发明的实施例的协议适应模块1107 ; 图11B示出了根据本发明的实施例的协议适应的连续或顺序处理的示例; 图11C示出了根据本发明的可替换实施例的协议适应模块1107,其实质上充当虚
拟目录服务器(或LDAP/DAP代理服务器),向诸如图7A所示的DS 706a的目录操作服务器
1109发送通信(例如,LDAP或DAP操作); 图1 ID描述根据本发明的实施例的具有由协议适应提供的适应命名配置的DIT
1100 ; 图11E描述根据本发明的实施例的具有由协议适应提供的属性适应的DIT 1150 ;
图12示出了根据本发明的实施例的使用协议适应的形式实现的访问控制(AC)系 统; 图13A示出了根据本发明的实施例的用于在通信网络中数据存储库当中的用户 数据的改进通信的流动用户数据系统,诸如移动电信系统204 ; 图13B示出了根据本发明的实施例的包括如图13A所示的流动用户数据系统的典 型部件; 图13C示出了根据本发明的实施例的用于加入该流动用户数据系统的DSA的典型 配置数据1310 ; 图13D提供了根据本发明的实施例的用于该流动用户数据系统的高级算法;
图14描述根据本发明的实施例的日志系统1400 ; 图15A是描述根据本发明的实施例的存储在目录1500中的数据(诸如由图3所 示的HSS 301使用的数据)的分级结构的框图; 图15B是描述根据本发明的实施例的HSS(诸如图3所示的CN 206的HSS 301) 架构的框图; 图16A和图16B是分别描述根据本发明的实施例的用于HSS 301和HLR 307的协 同主系统1600和协同定位系统1620的框图; 图16C示出了根据本发明的实施例的已被被配置为保持用于诸如HSS 301和HLR 307的应用的服务数据1619的前端1601 ; 图17是描述根据本发明的实施例的便于静态访问条目的存储在目录1700中的数 据的分级结构的框图; 图18A示出了根据本发明的实施例的使用可以可能受益于提高的定时机构的高 速接入点(HSAP)的通信网络1800 ; 图18B提供根据本发明的实施例的可以受益于提高的定时机构的图18A所示的通 信网络1800的物理图; 图18C示出了根据本发明的实施例的来自于诸如由DSA 1831保持的目录的目录 的用户条目1841 ; 图18D示出了根据本发明的实施例的在由DSA 1831保持的目录中具有计时器条 目1851的计时器1850 ;禾口 图18E示出了根据本发明的实施例的在图18B所示的DSA 1831上实现的分布式定时机构。
具体实施方式
总述 传统的移动电信网络是演进而不是革命的结果。随着通信市场的演变,合并和采 集与改变商业策略一起已经引起典型的通信服务供应商(CSP)内的可操作的和功能性的 数据仓。典型的网络是从对主要为语音通信而建立的核心网络的一系列功能覆盖而产生 的。因而,复制(duplication)常常存在于用户数据库、服务创建和供应过程、管理、支持和 开帐单中。许多CSP想要合理化和巩固它们的商业以除去此复制以便降低成本、提高效率 以及最终改进用户服务。同时,CSP常常还需要增加容量、增加功能的增强以及更换老化的 基础结构。此外,CSP还可能想要准备在语音通信和其它技术之间的进一步聚合。
新的电信范例可以以CSP的用户为中心而较少地以网络硬件和软件本身为中心。 不同于图l所示的混乱和笨重的专有数据仓,CSP可以向新的范例移动,在该新的范例中, 系统的数据是开放的,因而允许网络的应用更集成和可互操作。因而,此新的范例实质上 将用户的数据放置在网络的核心,因为访问和共享信息不应该必须被限制在诸如用户在哪 里、用户的连接类型、或用户选择如何与CSP交互等因素。解决这些限制可以允许CSP将传 统上隔开的服务汇集到内聚的多媒体多路访问通信服务中。 因而,本发明的实施例可以提供单个逻辑目录数据库,其包含可由那些需要用户 信息的控制和管理过程访问的用户和/或服务数据的统一源。该集中式数据存储库可以允 许传统的网络和应用数据库以可调整的、节约成本的方式组合在一起,其打破了在传统网 络中发现的诸如图l所示的数据库的分开的数据库。因而,本发明的实施例可以为核心网 络应用和跨许多或所有领域提供单个信息源。 通过移植到聚焦于用户作为CSP操作的中心的数据范例,CSP可以实现较大的集 成度和互操作性。将用户放在它们的操作的中心也可以使得CSP更容易的保持准确和完整 的用户信息。诸如图l所示的传统网络的许多数据库仓可以被转换为单个高度可调整的高 性能网络目录,其可以由需要处理用户数据的网络或商业应用来访问。 如上所述,本发明的实施例可以采用单个逻辑目录数据库,其包含可由那些需要 此信息的控制和管理元件访问的用户和服务信息的单个源。本发明的实施例采用的优选的 目录数据库遵循X. 500协议。根据本发明的实施例,该目录数据库可以为目录数据系统提 供遵照ITU-T 1 500标准的开放集中式数据库。根据本发明的实施例,该目录数据库通常 包括用户、服务和网络数据以及可执行的软件进程(procedure),其经由诸如轻量级目录访 问协议(LDAP)和目录访问协议(DAP)等等的行业标准目录协议可用于应用。
以用户为中心的网络可以使得诸如归属用户服务器(HSS)和归属位置寄存器 (HLR)的传统网络元件的质量增强,以及帮助配置IP多媒体子系统(IMS)服务。因此,本发 明的实施例可以包括改进的HSS和/或改进的HLR子系统。 本发明的实施例还可以提供使得用户被识别一次的公共验证,通常在登录到网络 时并且为全范围的服务查验。此进程通常消除了每当用户试图使用服务的不同方面时再验 证的需要。 本发明的实施例还可以提供可调整的数据库解决方案,其允许应用补充(leverage)相同的逻辑和可调整的X. 500目录,其通常包含大部分用户需要的信息。因此, 通常仅仅需要一次供应。然后,应用可以简单地使用相同的数据集。本发明的实施例可以 采用基于X. 500目录的数据库,其向现有网络应用和支持系统提供用户数据。
本发明的实施例可以结合某类数据存储库(例如数据库)来工作。与其它的数 据存储库类似,用于本发明的实施例中的数据存储库通常由数据库管理系统(DBMS)管理。 DBMS通常执行各种高级别和低级别的功能。这里公开和要求的本发明不包括传统上由 DBMS执行的低级别的功能。这样的低级别功能包括非常基本的动作,诸如接收一段数据、确 定特定类型的特定存储器中的特定扇区、然后与该存储器的硬件交互以存储接收的数据的 物理过程。这里公开和要求的高级别DBMS部件可以与各种低级别DBMS部件互操作。 一个 这样的低级别DBMS部件被称为DirecTreeTM,一种高性能、低级别的内存储数据库系统,由 Apertio Limited拥有,其是这里公开的本发明的转让人。DirecTree 的结构和操作作为 商业秘密由Apertio Limited保持。尽管本发明的实施例可以与DirecTree 结合工作,但 是此特定的低级别DBMS不是这里公开和要求的本发明的一部分。 图2是描述电信系统200的框图,其中本发明的实施例可以关于此工作。电信系 统200可以在功能上被分类为固定电信系统202和移动电信系统204。固定电信系统202 的示例包括公共交换电话网(PSTN)。移动电信系统204提供移动的电信服务,诸如双方经 由移动电话彼此通信。此外,移动电信系统204通过功能接口 216与固定电信系统202连 接,以允许移动用户和固定用户之间的通信。 移动电信系统204在逻辑上被分成核心网络(CN)206和接入网络(AN)208。CN 206 通常包括这三个域电路交换(CS)域210、分组交换(PS)域212和IP多媒体子系统(IMS) 域214。这些域通常在它们支持用户通信以及包括一起执行该域的特定技术功能的硬件和 软件系统方面不同。例如,通常根据认可的电信标准,PS域212包括执行分组交换通信的 软件和硬件系统。 CS域210是指使支持信令和用户通信的基于电路交换的连接可行的硬件和软件 部件。CS连接通常在连接建立的时候分配网络资源以及在连接释放的时候释放这些网络资 源。通常包括在CS域210中的部件是移动服务交换中心(MSC)、网关MSC(GMSC) 、MSC服务 器、CS媒体网关功能(CS-MGW) 、GMSC服务器和互通功能(IWF) 。 CS域210和这些部件在本 领域中是已知的。 PS域212是指使支持信令和用户通信的基于PS的连接可行的硬件和软件部件。PS 连接通常使用被分成分组的比特的自主连接(concatenation)来传输用户数据,其中每个 分组可以区别于其它分组被独立地路由。PS域212通常包括涉及通用分组无线服务(GPRS) 的部件,诸如服务GPRS支持节点(SGSN)和网关GPRS支持节点(GGSN) 。 PS域212还通常 包括用于执行边界网关协议(BGP)的部件。PS域212和这些部件在本领域中是已知的。
IMS域214是指提供IP多媒体服务的部件,这些IP多媒体服务诸如音频、视频、 文本、聊天等等以及它们的组合,通过PS域212被传送。IMS域214通常包括诸如呼叫会 话控制功能(CSCF)、媒体网关控制功能(MGCF)和媒体网关功能(MGF)、IMS-媒体网关功能 (IMS-MGW)、多媒体资源功能控制器(MRFC)、多媒体资源功能处理器(MRFP)、中断网关控制 功能(BGCF)、应用服务器(AS)和决策功能(PDF)的部件。IMS域214和这些部件在本领域 中是已知的。
AN 208通常包括基站系统(BSS),被配置为根据标准的通信系统提供通信,诸如 全球移动通信系统(GSM)和/或用于通用移动电信系统(UMTS)的无线网络系统(RNS)。这 些传统系统在本领域中是已知的。 图3是提供核心网络(诸如图2所示的移动电信系统204中的CN206)的进一步 细节的框图,本发明的实施例可以关于其进行工作。 如上所述,CS域210通常包括MSC区域313和GSMC区域315。 MSC区域313向漫 游到由MSC区域313所服务的区域内的移动用户提供用于电路交换呼叫、移动性管理及其 它服务的电话交换。尽管图3中示出了单个MSC区域313,但是在移动电信系统202的许多 实施方式中,CS域210可能包含多个MSC区域313。此外,MSC区域313在公共编号规划和 公共路由规划内在固定电信系统202和移动电信系统204之间在CS域210中为呼叫建立 提供功能接口。 GSMC区域315找到包括正在被呼叫的用户的MSC区域313。因而,MSC区 域313将呼叫从固定电信系统202路由到移动电信系统204,以及在移动电信系统204内路 由呼叫。 如上所述,PS域212通常包括SGSN区域317和GGSN区域319。 SGSN区域317在 公共编号规划和公共路由规划内为呼叫建立在固定电信系统202和移动电信系统204之间 在PS域212中提供功能接口。因而,SGSN区域317执行与移动电信系统204中采用的无 线网络的互通(interwork) 。 GGSN区域319提供无线网络和诸如因特网或私用网络的另一 个网络之间的网关。 如上所述,MS域214包括呼叫会话控制功能(CSCF)321。 CSCF321通常包括在IMS 域214中处理信令分组的服务器和相关代理。CSCF321处理各种功能,诸如MS注册、消息 检查、用户验证、策略控制、带宽管理、收费记录。CSCF 321在执行它的功能时可以采用一个 或多个标准协议,诸如Diameter协议。 CN 206还通常包括与CN 206内的各个域(诸如CS域210、 PS域212和MS域 214)互操作的部件。这些本领域中已知的部件包括归属用户服务器(HSS)301、访问位置寄 存器(VLR)303和设备识别寄存器(EIR)305。 HSS 301包括负责保持与图2所示的移动电信系统204的用户相关的信息的应用。 各个域使用此信息来用于各种目的,诸如代表用户建立呼叫/会话。例如,HSS 301通过执 行和/或确保诸如验证、授权、计费(AAA)、命名/寻址解析、位置从属性之类的步骤的执行 来支持路由进程。 因此,HSS 301通常保持有关用户的信息,诸如用户标识、编号和寻址、用于AAA的 网络接入控制的用户安全信息、用户位置信息;和用户简档信息。保持在HSS 301中的传 统用户标识符可以包括下列项中的一个或多个国际移动用户标识(IMSI) 323、移动站国 际ISDN(MSISDN) 325号码、私有标识327和公共标识329。 HSS 301的实施例可以基于诸如 3GPP标准之类的标准。 HSS 301与三个域(CS域210、PS域212和MS域214)连接并且影响这些域的功 能。尽管图3仅仅示出了单个HSS 301,但是典型的核心网络206可以包括多个HSS。多个 HSS的配置通常基于各因素,诸如用户的数目、电信系统200中采用的硬件的容量、和电信 系统200的总体组织。HSS 301可以包括诸如归属位置寄存器(HLR) 307、验证中心(AuC) 309和HSS逻辑功能(HSS-LF)模块311的应用。这些应用在本领域中是已知的。 HLR 307包括诸如目录的数据存储库,其保持给定组的用户的位置信息。换句话 说,电信系统的用户分配给HLR 307用于记录的目的,诸如用户信息。HLR 307通常向诸如 SGSN区域317和GGSN区域319之类的PS域212部件提供支持,以便使得用户能够访问PS 域212内的服务。相似地,HLR 307向诸如MSC区域313和GMSC区域315之类的CS域210 部件提供支持,以便使得用户能够访问由CS域210提供的服务以及支持诸如CS域210内 漫游的服务。尽管图3中仅仅示出了单个HLR 307,但是典型的核心网络206可以包括多个 HLR。 AuC 309与HLR 307有关并且为向HLR 307注册的每一个用户存储标识密钥,诸如 私有ID(PrivatelD)327。此标识密钥便于生成诸如公共ID (PublicID) 329的用户的安全数 据。此外,AuC 309可以包含与移动电信系统204和用户设备的IMSI 323的验证相关的信 息。此外,AuC 309包括用于确保通过在移动站(MS)和移动电信系统204之间的无线电路 径通信的完整和安全的信息。每个AuC 309通常通过通常表示为H接口的接口仅仅与它的 关联HLR 307进行通信。HLR 307通过H接口从AuC 309请求该信息、存储该信息并且根据 需要将它传递到核心网络206中适当的部件。 HSS-LF 311模块包括使诸如移动性管理、会话建立支持、用户安全信息产生、用户 安全支持、用户标识处理、访问授权、服务授权支持和服务供应支持之类的服务可行的功能 模块。 VLR 303通常控制CS域210中的MSC区域313以及实际上控制在MSC区域313 中漫游的MS。当MS进入"由MSC区域313覆盖的移动电信网络204的一部分时,MSC区域 313将MS注册在VLR 303中。在注册过程中,控制移动电信网络204的给定部分的MSC区 域313检测该MS并且向VLR 303提供有关该MS的信息。在从MSC区域313接收到信息后, VLR 303检查MS的注册状态。如果该MS未被注册在VLR 303中,则VLR 303请求该HLR 307提供与该MS相关的信息以便于正确处理涉及该MS的呼叫。VLR在本领域中是已知的。
由VLR 303访问的与该MS相关的信息通常包括诸如MSI 323、MSISDN 325、移动 台漫游号码(MSRN) 、 MS已被注册在其中的MSC区域313、 MS已被注册在其中的SGSN区域 317 (在其中移动网络支持GPRS并且提供VLR 303和SGSN区域317之间的接口 )的标识之 类的数据。在本发明的实施例中,VLR 303可以与多于一个MSC区域313互操作。
EIR 305提供负责存储该国际移动设备标识(IMEI)的逻辑实体。该设备可以被分 类为"白名单"、"灰名单"、"黑名单"或它可以是未知的。在传统的CN 206中,EIR 305至 少保持白名单。 用户-中心的存储数据 图4提供根据本发明的实施例的网络架构400中的数据存储的功能图。网络架 构400包括操作支持系统(OSS)/商业支持系统(BSS)系统402、数据存储库404、诸如应用 406a-406e的一个或多个应用以及核心信令网络408。 OSS/BSS系统402包括供应系统410和网络管理系统412。 OSS/BSS系统402包括 CSP使用的各种计算系统。包括供应系统410和网络管理系统412的OSS/BSS系统402包 括移动电信网络的"网络系统",其支持诸如保持网络清单、供应服务、配置网络部件和管理 故障之类的过程。BSS系统包括用于处理用户、支持诸如接受订单、处理票据和收集付款的过程的"商业系统"。 根据本发明的实施例,数据存储库404提供集中式数据域,其支持借助诸如应用 406a、406b、406c、406d和406e的一个或多个应用以及诸如供应系统410和网络管理系统 412的BSS/OSS系统对诸如用户和服务数据之类的数据的开放访问。例如,数据存储库404 可以包括为HSS存储的数据,诸如与图3所示的HSS 301有关的数据,以及包括用于整个移 动电信网络204的数据集。因此,根据本发明的实施例,应用406a-406e可以分别包括HSS 301和/或HLR 307。根据本发明的实施例,应用406a-406e还可以包括诸如语音邮件系统、 验证、授权和计费(AAA)系统、移动号码可携之类的应用。这些应用都是本领域已知的。另 外的应用406也可以包括在网络400中。根据本发明的实施例,数据存储库404可以被配 置为ITU-T X. 500目录应用。 在本发明的实施例中,数据存储库404的软件架构提供单个逻辑目录实体。根据 本发明的实施例,每个物理实体可以访问每个数据记录,从而提供高可靠性和性能。在本发 明的各个实施例中,数据存储库404支持各种开放接口 ,诸如目录访问协议(DAP)、轻量级 目录访问协议(LDAP)、结构化查询语言(SQL)、OBDC/JDBC等等。这些本领域中已知的开放 接口简化了将存储在数据存储库404中的数据链接到诸如客户关系管理(CRM)系统之类的 商业应用。 在本发明的实施例中,数据存储库404被实现为内存储数据存储库。数据存储库 404的内存储操作通常比基于磁盘的系统快得多。因而,根据本发明的实施例,数据存储库 404可以提供为CSP产生高性能和低成本的效能。 图5描述根据本发明的实施例的目录信息库(DIB)500。例如,DIB 500表示图4 所示的数据存储库404的目录结构。DIB 500包括根目录(root) 502和一个或多个条目,诸 如条目504a、504b、504c、504d等等。条目504a-504d以下简称为条目504。条目504a-504d 可以可替换地被称为"对象"。DIB 500中的每个条目504可以包括一个或多个属性,诸如, 例如,条目504c包括属性506a、506b、506c、506d等等。属性506a-506d以下简称为属性 506。每个属性506可以包括类型508和一个或多个值510。 DIB 500表示存储在目录中的 数据集。例如,DIB 500可以包含向通信网络描述用户的数据,例如移动电信网络204中的 用户。 图6描述根据本发明的实施例的目录信息树(DIT)600。 DIT 600表示图5所示的 DIB 500的结构(模式)。DIT 600包括根节点602和条目504,诸如条目504a-504i等等。 这里DIT 600被表示为在底部具有根节点602的分层树形结构。树中的每个节点是条目 504。如果DIT 600已被构造为遵守各种标准格式,诸如X. 500标准,则DIB 500中的每个条 目504通过区别名称(DN)而唯一地且明确地识别出。例如,除条目504c的特别标识的属 性(区别值)之外,条目504c的DN基于上级条目(诸如条目504a)的DN。该区别值和它 的关联类型也被称为相关区别名称(RDN),其相对于条目504c的父条目(诸如条目504a) 唯一地识别条目504c。因此,为了描述RDN,使用条目504c的属性类型和区别值。例如,对 于条目504a,如果DN是"c二區",其中"c"是属性类型("国家"的縮写)以及"區"是该 条目的区别值,而对于"o =我的公司(MyCompany)"的条目504c (其中o是属性类型("组 织"的縮写)以及'我的公司'是该条目的区别值),则504c的DN将是"o二我的公司,c =UK"或"我的公司 UK. "。 DN类似于万维网中所用的URL。
目录系统代理_优化的路由 移动电信系统204可以包括巨大数量的用户。例如,一些电信系统包括百万计的 个人用户。因此,尽管可以逻辑地表示与这些用户有关的数据,诸如图4的集中式数据存储 库404中所示的,但是物理实施例可以使得数据被分割成有意义的子组,以向电信系统提 供更大的速度和总体耐用性。根据本发明的实施例,例如数据可以被存储和复制在服务器 的网络上。在X. 500中,由目录服务器代理(DSA)保持(控制)数据的分割。
图7A示出了根据本发明的实施例的目录系统代理(DSA)702和目录用户代理 (DUA)704。 DSA 702包括一个或多个目录服务器,诸如目录服务器706a-706c等等。根据 本发明的实施例,一个或多个目录服务器706a-706c的每一个包括数据存储库708a-708c 等等,以下简称为数据存储库708。数据存储库708优选地包括内存储数据库。根据本 发明的实施例,目录服务器706a-706c也包括目录服务器软件,诸如目录服务器应用软件 707a-707c。 根据本发明的实施例,DSA 702被配置为确定它的各个目录服务器706a-706c的 每一个的容量和负荷。DSA 702还可以检测目录服务器706a-706c中的任何一个不在通信 的时间、是否由于计划的维修或由于通信、硬件或其它故障。如图7A所示,DSA 702被实现 为不同的目录服务器(诸如目录服务器706a-706c)的群。因而,DSA 702可以使用它的对 目录服务器的状态和容量的认识来快速且高效地处理数据请求。实质上,DSA 702作为比在 它的控制之下单独动作的目录服务器中的任何一个更高效且更耐用的目录服务器而工作。 当然,DSA 702可以被实现为具有比图7A所示的更多或更少的目录服务器706。在本发明 的实施例中,目录服务器706中的每一个运行相同的软件部件并且将DIB 500 (图5所示) 的至少一部分的相同副本保持在DSA 702负责的内存储数据存储库708中。
DUA 704是例如LDAP或DAP客户端的目录服务客户端的传统术语。根据本发明 的实施例,例如,DUA 704代表各种客户端应用将数据请求作为LDAP操作。将如图7B所示 的,典型的配置包括多个DSA 702。 DUA 704连接到DSA 702中的一个中的DS 706中的一 个。该服务器的DSA 702可以保持与该请求相关的数据(在这种情况下,它可以自己处理 该请求),或者否则可以知道DSA 702能够较好地处理该请求。在后一种情况下,DS 706选 择在该可替换的DSA 702中的服务器706中的一个并且将该请求转发给它(链接)。在下 文的优化路由小节中再次描述此过程。 因而,DSA 702确定哪一个目录服务器706应该响应于该数据请求。DSA 702和DS 706a-706c的操作通常对DUA 704是透明的。因此,在本发明的各个实施例中,DUA 704可以 连接到目录服务器706a-706c的任何一个以检索相同的数据。如果DSA的数据存储库708 仅仅包含DIB 500的一部分,则可以使用一个或多个另外的DSA来构造完整的DIB 500,其 中该一个或多个另外的DSA的相应数据存储库708包含DIB 500的其它部分。在这样的实 施例中,DSA 702还需要信息来帮助它们选择对于给定动作的适当DSA 702。
根据本发明的实施例,运行在目录服务器706a-706c上的软件包括目录服务器软 件706a-706c。目录服务器软件707为目录服务器706提供分布式数据基础结构和目录访 问软件。正如以上的讨论,由内存储数据存储库708a-708c执行的低级别操作不是这里公 开和要求的本发明的一部分。本发明的实施例可以被配置为利用各个低级别的数据存储库 程序工作。
图7B示出了根据本发明的实施例的包括三个DSA 702a、702b和702c的分布式分 级结构。这些DSA 702a-702c示出了在通信网络中为了快速访问可以如何分配和复制给定 DIB 500。 例如,DIT 600可以大到它需要扩展到跨几个DSA(诸如DSA702a-702c)中。例如, HSS 301不必知道DIT 600是多大或多小或者特定的数据段被存储在哪一个DSA上。根据 本发明的实施例,例如,HSS 301仅仅需要通过DUA 704路由它的请求,该DUA 704将该请 求引导到DSA 702, DSA 702或者自己答复该请求或者找到DSA 702来答复该请求。
还假定给定DIB 500包括关于通信网络中的用户的数据,包括这些用户各自的 IMSI数据(与全部GSM和UMTS网络移动电话用户有关的唯一号码)和这些用户各自的 MSISDN数据(用于指特定移动设备的固定数目的数字)。这样的DIB 500可以如下被配置 在DSA 702a-702c中用户的数据(诸如他们的姓名和地址)可以位于将充当根DSA的DSA 702a中。用户各自的IMSI数据可以位于充当IMSI域(诸如图3所示的IMSI 323)的DSA 702b中,以及用户各自的MSISDN数据可以位于充当MSISDN域(诸如图3所示的MSISDN 325)的DSA 702c中。 因而,在此示例配置中,DSA 702a可以充当"根"DSA ;DSA 702b可以充当"IMSI" 域DSA,以及DSA 702c可以充当"MSISDN"域DSA。根DSA 702a包括一个或多个目录服务器 706a-706c ;"MSI"域服务器702b包括一个或多个目录服务器706d-706f ;以及"MSISDN" 域DSA702c包括一个或多个目录服务器706g-706i 。根据本发明的实施例,该一个或多个 目录服务器706a到706i包括诸如图7A所示的目录服务器软件707的目录服务器软件以 及诸如图7A所示的数据存储库708的 数据存储库。"根"DSA 702a存储根条目;"IMSI"域 DSA 702b存储"IMSI"相关数据,以及"MSISDN"域DSA 702c存储"MSISDN"相关数据。
因而,在本发明的各个实施例中,一个或多个DSA 702可以被一起实施以存储DIB 500,诸如用于整个移动电信网络的完整的DIB。每个DSA 702通常负责包括DIB 500的数 据的规定的子集。因而,在上述示例中,DUA 704可以连接到可用的DSA 702中的任何一个, 诸如根DSA 702a、"IMSI"域DSA 702b禾P "MSISDN"域DSA 702c。来自于DUA 704的请求 由诸如"IMSI"域DSA 702b的DSA透明地处理,从而控制该数据。
优化的路由 图8示出了根据本发明的实施例的在图7B所示的DSA的分布式分级结构中的优 化路由。正如以上的讨论,DSA 702a-702c—起工作来提供分布式目录。每个DSA 702将 目录条目的子集保持在它的DS 706中,以及关于它不保持的目录条目的可能位置的认识。 如上讨论的,如果DSA 702涉及位于该目录的它自己子集内的数据,则DSA 702可以能够在 本地满足目录操作。否则,DSA 702(例如,DSA 702a)使用它对于该目录的认识来选择哪一 个DSA(例如,DSA 702b)是满足该操作的最好的DSA然后将该操作链接到其它DSA 702b。
正如以上的讨论,每个DSA 702被实施为一组DS 706,每个通常保持该目录的该 子集的完全复制的副本。因而,每一个DS通常以相同的方式处理目录操作。作为链接过程 的一部分,第一 DSA 702的DS 706不得不选择第二 DSA 702中的DS 706来接收链接的操 作。此选择传统上基于循环法或最少使用来实施负荷共享(load sharing),以及可以考虑 DS的能力来处理该请求。例如,如果已知由于较早的问题,DS706具有该目录的非完全复制 的版本,则不会选择它。
但是,DS 706的典型的物理实施方式是使得它们从地理上被分配。此外,常常是 这样的情况在给定物理地点处,有一个或多个DS用于其它DSA 702。换句话说,各个DSA 702的DS 706可以在物理上和/或通信距离上相对邻近地被聚集在一起。
例如,图8所示的该组DSA 702在物理上被布置为使得DS 706a、 DS 706d和DS 706g物理上位于地点1804a ;DS 706b 、 DS 706e和DS706h在物理上位于地点2804b,而DS 706c、DS 706f和DS 706i在物理上位于地点3804c。此外,这样的分布提供对于通信网络 的额外的弹性。例如,如果在地点1804a处存在电源故障,则可以使用在地点2804b和地点 3804c处发现的DS 706来为DSA 702a_702c平稳地继续操作。 从一个DS群(S卩,相同地点的DS)到另一个DS群的通信路径通常比DS群内(即, 相同地点的DS)的通信具有低带宽和高延迟。换句话说,DS 706a与DS 706d通信所花的 时间一般比DS 706a与DS 706e通信所花的时间少,因为DS 706a和DS 706d 二者都位于 在相同的地点上,即地点1804a。 假定数据访问的负荷在DS地点间共享,则基于该DS 706的物理位置选择用于链 接的DS 706可以提供目录操作的优化的通信利用率(例如,优化的WAN利用率)和降低的 响应时间。换句话说,当DS 706a需要与DSA 702b有关的数据时,它应该优选地与DS 706d 通信而不是与DS 706e或DS 706f,因为DS 706a和DS 706d位于相同的地点上,即地点 1704a。当然,如果无论什么原因,DS 706a需要来自于DSA 702b的数据而DS 706d不可用, 则DS 706a将被配置为链接到DS 706e或DS 706f ,它们还是DSA 702b的一部分但是位于 不同于DS 706a的地点上。 根据本发明的实施例,DS 706上的地点路由代理808被配置为确定哪一个第二DS 706可以以相对于其它DS组最低的成本完成给定的数据请求。地点路由代理808可以被配 置为考虑所有可能的DS或DS的给定子集之间的距离。例如,当DS被镜像在欧洲的六个其 他地点时,在區中的地点路由代理计算到中国的另一个DS的距离可能更低效。根据本发 明的实施例,一种简单的方法是地点路由代理808利用缺省规则周期性地计算到其它欧洲 地点的距离,以便在其它欧洲DS不可用时使用中国的地点。 另夕卜,根据本发明的实施例,地点路由代理808选择DS 706可以包含各种因素。例 如,地点路由代理808可以使用节点(例如,地点)之间的连通性的等级来建立它选择另一 个DS 706的基础,其中等级值由诸如带宽、延迟和成本之类的因素导出。根据上述示例假 定DS 706a需要来自于DSA 702b的数据且DS 706d是不可用的。还假定地点2804b与地 点1804a显著地比地点3804c与地点1804a更"接近",其中"接近"包括基于带宽、延迟和 成本中的至少一个的合成,例如,带宽+延迟+成本的最低得分。因此,地点路由代理808a 可以建议DS 706a链接到地点2804b的DS 706e。如果DS 706e是不可用的,则地点路由代 理808a可以建议DS 706a尝试利用地点3804c的DS 706f完成它对DSA 702b的操作。
在本发明的进一步的实施例中,地点路由代理808可以被配置用于动态选择DS 706。例如,从该示例中假定,与每一个地点有关的采样设备806周期性的监视该地点和所 关注的任何其他地点之间的"距离"。例如,地点1804a的采样器806a可以周期性地监视 到地点2804b的"距离",其中该"距离"由带宽、延迟和成本中的至少一个来测量,例如,带 宽+延迟+成本的最低得分。然后采样器806a可以使得此"距离"计算的结果可用于地点 1804a上的地点路由代理808a、808d、808g。采样器806a是可以根据它如何测量"距离"以
18及它多长时间一次测量这样的距离而自身可配置的。另外,采样器806a可以将它的"距离"确定基于从DS 706接收到并且报告给采样器806a的实际测量(诸如响应时间)。这种动态方法考虑到改变的网络状况以及利用给定DS或通信路径的问题。可替换地,采样器806a可以位于DS 706内,例如地点路由代理808自身内。 在本发明的进一步的实施例中,例如,假定地点路由代理808根据"成本"计算两个DS之间的"距离"或"接近度"。根据本发明的实施例,还假定成本要素是带宽、延迟和访问成本。当然,其它的部件可以包括成本的主要驱动器。还假定加权成本等式可以被表示为公式,诸如(权重lx带宽)+ (权重2x延迟)+ (权重3x访问成本)。地点路由代理808可以被配置为周期性地计算此等式的新结果,例如每天、每小时、每分钟等。然后地点路由代理808可以确保当需要链接时,DS 706首先尝试选择最低成本的DS 706。当然,这可能意味着不位于相同的地点上的DS。可替换地,根据本发明的实施例,采样器806可以执行这些等式然后将结果提供向地点路由代理808的相关组。
别名和别名隐藏 图9A描述根据本发明的实施例的具有别名条目902的DIT 900。 DIT 900包括一个或多个条目,诸如条目504a-504g等等、根节点602和别名条目902。
如前所述,在图5所示的DIB 500中,条目或对象的例子由DN唯一地且明确地标识。但是,DN不必是客户端应用可以引用一个条目(诸如条目504f)的唯一的名称。别名条目(诸如别名条目902)是DIT(诸如DIT 900)中的条目,其具有属性,诸如"别的条目名(aliasedEntryName)",其包含DIT 900中另一个条目的名称。因此,例如,别名条目902可以具有名为"别的条目名"的属性,它的值是名称"条目504f"。第二条目(例如,条目504f)不一定需要存在于DIT 900中,尽管在此示例中它存在。还注意,DIT 900中的别名条目902的结构不需要根本上不同于条目504a-504g,这里呈现的名称上的差别("条目"对"别名条目")是为了有助于理解别名条目的功能。 别名条目(诸如别名条目902)为条目(诸如条目504f)提供可替换的名称。别名是DIB 500中的特定条目,其指向另一个条目,诸如条目504f。别名类似于文件系统中的符号连接。因此,别名是利用多个标识而没有复制的数据来提供数据库条目(诸如条目504f)的有益方式。根据本发明的实施例,如果数据被存储在不会经常改变(或许由供应系统410分配)的唯一的名称(或密钥)下但是需要通过各种不同的标识(诸如,例如,与IMS 1323、MSISDN 325、统一资源定位符(URL)等等有关的应用,其可以改变)公开访问,则别名是特别有益的。使用别名使得数据被存储一次然后经由被实施为别名的多个不同的标识引用。别名条目(诸如别名条目902)可以被增加、修改和/或删除而不影响该数据。
新的别名可以由别名创建模块905在DIT 900中实施。根据本发明的实施例,别名创建模块905可以被配置为在DIT 900中构造一别名,以使得其它部件(如图9B所示的名称解析模块909)可以随后对于从客户端应用接收到的数据请求执行别名解引用。别名创建模块905可以包括用户界面以使得可以在初始供应(例如,"运行中")之后创建别名,以便使得能够迅速配置新的别名。可替换地,别名创建模块905可以由例如LDAP或DAP经由传统目录"增加目录(addEntry)"操作来调用。 在本发明的一些实施例中,别名创建模块905利用提供由该别名指向的条目的DN的强制属性来将该别名实施为DIB 500中的条目。例如,假定条目504a具有DN"c = UK",条目504c具有DN "o =我的公司,c =區"以及条目504d具有DN "o =公司X, c = UK"。条目504f具有DN "员工ID(employeeID) = 111, o =我的公司,c =區"。因此,别名条目902可以具有可替换的名称"cn = Joe, o =我的公司,c = UK"并引用条目504f。
目录服务的供应商(诸如CSP)可以想要使用别名,但是以不同于由各种已知协议和别名使用技术提供的方式来完成。例如,这样的目录服务供应商可能想要向可能还没有被设计有使用别名的能力的客户端应用(诸如HSS 301)提供别名使用服务。另外,目录服务供应商也可能想要隐瞒一个或多个应用已经执行了别名使用,即使当该客户端应用本身可以执行别名使用。例如,为了安全原因,可以执行这样的别名隐藏。
图9B示出了根据本发明的实施例的别名隐藏模块903,其与包括别名903的DIT900交互以对来自于请求实体920(诸如客户端应用)的数据请求执行别名隐藏。
根据本发明的实施例,位于目录服务器(诸如图7A所示的DS 706)中的别名隐藏模块903在来自于请求实体920的数据请求期间调解并且控制别名解引用(即是为了查询也是为了更新)而不管请求实体920的期望如何。因此,请求实体920可以代表诸如客户端应用、终端用户或远程DSA的实体,它们可能需要数据来在DSA的控制下完成在目录的一部分上开始的链接进程。例如,请求实体920可能是自身没有被配置为控制别名使用的HSS301和/或CSP想要对其隐藏别名使用的HSS 301。 因此,根据本发明的实施例,别名隐藏模块903可以在呈现给请求实体920的结果中将条目中的名称替换为符合DIT 900的请求实体的意见的名称。 使用别名隐藏模块903,条目(诸如条目504f)可以包含可以被请求实体920(诸如HSS 301)使用不同的名称(诸如别名条目902的名称)访问的数据。例如,请求实体920可以需要由对请求实体920唯一的名称来寻址诸如条目504f的条目。但是,假定请求实体920没有被设计为使得它可以使用别名,因为该方法被传统地配置。因而别名隐藏模块903为这样的请求实体920有效的提供使用别名的能力,而不需要对请求实体920的任何修改。 事实上,一条目(诸如条目504f)可以具有各种别名条目(例如,别名902的多个实例),每个别名条目代表由不同的请求实体920使用来访问包含在条目504f中的数据的名称。根据本发明的实施例,此方法使得与电信网络有关的数据位于中心,诸如在数据存储库404中,而不必要改变现有的请求实体920 (例如,客户端应用)。因而,别名隐藏模块903使得CSP能够使用遗留下的应用(诸如,遗留下的HSS301),甚至在切换到电信网络的不同架构之后。 根据本发明的实施例,当将数据返回到请求实体920时,别名隐藏模块903还可以删除别名已被执行的任何指示。换句话说,本发明的实施例使得根据请求实体920的本地数据格式返回数据,以使得可以向请求实体920呈现具有期望的属性值和名称的数据。在这样的情况下,请求实体920只须知道该可替换的或别名条目名称。 根据本发明的实施例,别名隐藏是可以基于每个应用而被用来隐藏别名的存在的机制。根据本发明的实施例,对于给定应用的别名隐藏指令可以包括在别名隐藏数据文件914中。当对请求实体920执行别名隐藏时,由请求实体920请求的涉及别名(诸如别名条目902)的操作在请求实体920看来是对正常条目(诸如条目504f)的操作。别名隐藏模块903可以强迫解引用任何别名,以及随后在请求实体的请求下,对任何返回的条目名称执行名称映射成相关于原始基本名称,而不是真实的条目名称。因此,呈现给请求实体920的搜索结果可以包括在搜索中返回的条目的DIT 900中的别名和非真实的名称。从请求实体的视角来看,别名表现为真实的条目。同样地,属于真实的条目的任何条目表现为属于该别名的条目。因而,请求实体920(诸如HSS 301)可以使用该别名更新并查询该条目。
根据本发明的实施例,别名隐藏模块903可以执行三个分开的功能
-由名称解析模块909控制别名解引用,可能与发出该数据请求的请求实体920(例如客户端应用)的期望相反,和/或-由搜索/更新模块911控制别名解引用或由链接模块917链接的目录操作,可能
与发出该数据请求的请求实体920(例如客户端应用)的期望相反,和/或 _修改在由搜索/更新模块911产生的或由链接模块917返回的结果中的名称,以
使得它们相关于由发出该数据请求的请求实体920(例如,客户端应用)提供的基本名称,
而不是解析的基本名称(RDN),以及此外,对于在子树搜索期间遇到的任何别名,递归地将
相关的真实的条目名称替换为别名条目的相关名称,以使得它看起来好像在没有别名的解
析的基本条目下面存在单个子树。 图9B示出了根据本发明的实施例的当在上述三种情况下使用别名隐藏模块903时的目录操作的处理。 对于访问目录中的数据的请求可以源于各种实体或源。例如,诸如搜索和更新的数据访问可以来自于客户端应用、终端用户、乃至诸如图7A所示的DSA 702的目录系统代理。因此,如上所述,请求实体920可以代表诸如客户端应用、终端用户或远程DSA的实体,它们可能需要数据来在DSA的控制下完成在目录的一部分上开始的链接进程。
在任何情况下,请求实体920向目录操作服务器907发送数据请求。目录操作服务器907代表被配置为接收数据请求然后将它们提供给与目录服务器有关的适当的处理单元以使得可以完成请求的操作的实体。例如,LDAP服务器代表典型的目录操作服务器,诸如目录操作服务器907。 目录操作服务器907从请求实体920接收与存储在目录(诸如DIT900)中的数据相关的请求,以及将此请求传递到别名隐藏模块903(步骤A)。别名隐藏模块903然后在修改该数据请求以反映任何可操作的别名隐藏方式(步骤B)之后,将此请求传递给名称解析模块909。在确定该操作的别名隐藏方式时,别名隐藏模块903可以检查别名隐藏数据文件914,该别名隐藏数据文件914可以包含在诸如每个应用、每个用户、全系统等基础上的别名相关数据配置。因而,根据本发明的实施例,别名隐藏模块903可以修改该数据请求以便以可能与请求实体920的期望相反的方式来控制别名解引用。在来自于远程DSA的链接的请求的情况下,也可以在链接请求参数中指示操作的别名隐藏方式,其中对远程DSA的等效处理已经可能从它自己的别名隐藏数据文件914或从进入的链接操作确定该可操作的别名隐藏方式。 根据本发明的实施例,名称解析模块909然后解析由别名隐藏模块903提供的名称。根据本发明的实施例,位于目录服务器(诸如图7A所示的DS 706)中的名称解析模块909执行名称解析处理,其是对于进入的目录操作的处理的开始部分。名称解析模块909使用由别名隐藏模块903提供给目录操作的作为参数的名称来将目录操作的基本条目放置在DIT 900中。名称解析模块909依次考虑每个RDN以及定位匹配该RDN的条目,其是先前定位的条目(或对于第一RDN的根条目)的直接从属。根据本发明的实施例,此过程继 续直到所有RDN都已被考虑过或者直到名称不能在本地被完全解析,除了遇到引用以使得 该操作能够链接到也许能完全解析该名称的远程DSA。 根据本发明的实施例,在名称解析期间,如果名称解析模块909遇到别名条目,则 可以重新启动名称解析过程,同时将该名称的当前解析的一部分替换为该别名条目的值, 诸如上述"别的条目名称"条目属性。此操作的重新启动,在本领域中称为"别名解引用", 可以发生不止一次以完全地解析名称。 名称解析是在诸如X. 500的协议中的常规过程,尽管根据本发明的实施例,根据 任何一个特定的协议并不必须执行名称解析。例如,传统的LDAP协议将别名解引用限制为 仅仅查询操作,尽管在传统的X. 500协议中找不到此限制。更重要的是,此常规处理在请求 实体902(诸如像HSS 301之类的客户端应用)而不是别名隐藏模块903的控制下。换句 话说,客户端应用不得不指定别名解引用操作应该发生。此外,传统的别名解引用的结果将 尤其通过将该条目的完全解引用的名称包括在提供给客户端应用的结果中来指示该别名 解引用已经发生。根据本发明的实施例,请求实体920没有必要指定别名解引用是否应该 发生,以及请求实体920将不一定接收提供的结果中的条目的完全解引用的名称。
例如,假定名称解析模块909已经接收到对于位于DIT 900中"根.条目1.条目 2.别名(Root. Entryl.Entry2. Alias)"处的数据的读请求。名称解析模块909首先访问 根602(步骤C1)。名称解析模块909然后在访问条目504c(步骤C3)之前访问对于此特 定请求访问条目504a(步骤C2)。名称解析模块909然后访问别名条目902,并且发现别名 条目902是别名条目以及该别名条目具有名称"根.条目1.条目2.条目3(Root.Entry1. Entry2. Entry3)"的指示(步骤C4)。因此,根据本发明的实施例,名称解析模块909重新 启动名称解析过程,并且重复步骤C1、C2、C3。名称解析模块909然后访问条目504f,并且 确定它是真实的条目,因此已经完全地解析了原始的名称(步骤C5)。 名称解析模块909向别名隐藏模块903报告定位的条目504f以及采取的路径(步 骤D)。根据本发明的实施例,别名隐藏模块903至少暂时地保持解引用的路径信息。
如果必需本地搜索/更新处理来完成该请求(即,名称已在本地被完全解析),则 别名隐藏模块903向搜索/更新模块911传递为先前确定的可操作的别名隐藏方式而修改 的定位的条目(例如,条目504f)和原始的请求(步骤E)。 可替换地,如果必需链接来完成该请求(即,名称没有被完全解析),则别名隐藏 模块903向链接模块917传递原始的操作,其中具有先前确定的操作的别名隐藏方式和任 何解引用的别名信息(步骤E')。 搜索/更新模块911对定位的条目(例如,条目504f)进行动作。根据本发明的 实施例,位于目录服务器(诸如图7A所示的DS 706),搜索/更新模块911对由名称解析模 块909提供的解析的条目执行由别名隐藏模块903请求的操作。在更新的情况下,搜索/更 新模块911对条目(例如条目504f)执行更新(步骤F1)。在搜索的情况下,搜索/更新模 块91执行开始于由名称解析模块909提供的定位的条目(例如条目504f)的搜索(步骤 Fl),以及也可以搜索它的从属的条目(例如条目504g)的子集或者全部(步骤F2)。在检 查解析的条目下的子树时,搜索/更新模块911可能遇到其它的别名(例如,假定条目504g 是别名),以及以类似于由名称解析模块909执行的方式来执行别名解引用。
22
搜索/更新模块911也可能遇到对远程DSA的从属的引用,其指示该子树被分割 以及从该点起的任何从属的条目都被远程地保持。在此情况下,新的搜索操作(经由链接 模块917)被链接(具有该可操作的别名隐藏方式)到该远程DSA(步骤I),以及来自于链 接的操作的所有结果(步骤J)附于在本地产生的结果上。 搜索/更新模块911向别名隐藏模块903报告采取的动作、(在本地和/或从链 接的搜索)检索的信息、以及采取的路径(步骤G)。搜索/更新模块911通常使用搜索中 的条目的完全解引用的名称来向别名隐藏模块903报告路径信息。 链接模块917作为在引用的远程DSA上的请求实体,将链接的操作传递给远程目 录操作服务器931。位于目录服务器(诸如图7A所示的DS 706)中,链接模块917结合名 称解析模块909工作,作为在目录是分布式的且名称解析模块909不能在本地完全解析名 称并且已经遇到指示远程DSA也许能完全解析该名称的合适的引用的情况下对搜索/更新 模块911的替代。链接模块917将进入的目录操作和任何解引用的别名转发给目录操作服 务器931 ,该目录操作服务器931类似于目录操作服务器907但是位于远程DSA上。链接模 块917根据哪一个模块提交了链接请求,向别名隐藏模块903(步骤G')或搜索/更新模 块911(步骤J)报告从远程DSA接收回的结果。 别名隐藏模块将数据请求的结果报告回目录操作服务器907 (步骤H),其依次将 该信息传递回请求实体920。别名隐藏模块903可以被配置为删除关于找到的请求的涉及 别名的信息的任何指示,并且简单地将数据请求报告回目录操作服务器907。别名隐藏模块 903根据它的指令可以重建该树,好象它不包含别名并且因此修改名称,例如树根.条目 1.条目2.别名902.条目4(root. entry 1. entry2. alias902. entry4)(可能请求实体920期 待的树而不是目录中的实际树根.条目1.条目2.条目3.条目4(root. entryl.entry2. entry3. entry4))。因而,根据本发明的实施例,别名隐藏模块903可以修改由搜索/更新 模块911产生的结果中的名称,以使得它们相关于由请求实体920提供的基本名称,而不是 解析的基本名称(RDN),以及以使得被搜索作为从属于该基本条目的别名条目的结果的任 何条目被表示"在原处"而不是在明确的另外的子树内。 在本发明的实施例中,如果别名隐藏模块903返回搜索结果中的任何别名的目标 并且RDN属性被登记在返回的属性列表上,则可以在RDN属性上发生替换,即别名RDN替换 列表中的真实RDN。可替换地,如果该别名RDN也是该条目的真实属性,别名RDN可以已经 存在于该列表中,或者可以附加于返回的属性列表后。 如图4所示,对网络中的每一个应用操作的多个独立的数据仓的问题的解决方案 是组合一个数据存储库中的数据。如前所述,在有些情况下,准确相同的数据存在于不同的 已有数据存储库中,例如两个数据存储库具有用户"约翰史密斯"。但是,在有些情况下,一 个应用可能需要DN具有名称"客户"而另一个应用可能需要DN具有名称"用户"。数据存 储库中的DN可以具有名称"名称"。在所有三种情况下,DN的"用户"、"客户"和"名称"都 指向具有值"约翰史密斯"的数据条目。DN可以是具有两个别名"用户"和"客户"的"名 称",而不是在数据库中复制"约翰史密斯"三次。根据本发明的实施例,假定需要名称"用 户"的应用从系统中去掉,则可以删除"用户"的别名。进一步假定增加了为用户的名称使 用DN "Namn"的新应用,则可以简单地增加"Namn"别名。
变量
图IOA描述根据本发明的实施例的具有变量条目1002的DIT1000。 DIT 1000包 括诸如条目504a-504e等的一个或多个条目、根节点602和变量条目1002。变量条目(诸 如变量条目1002)提供存储在数据存储库404中的数据的可替换的查看(view)。变量条 目1002定义把来自于DIT IOOO中不同条目(诸如条目504c和504d)的属性集中在一起 的条目。因此,当诸如客户端应用的请求实体访问变量条目1002时,请求实体从诸如条目 504c和504d的其它条目接收对属性的访问。对这些其它条目的访问对请求实体可以是透 明的,其不需要知道基础数据是如何被构造的。 因而,只要请求实体以它期待的方式检索数据,则请求实体就可以好像数据仍然 存在于例如单个专有的数据仓中一样工作。换句话说,根据本发明的实施例,不需要对请求 实体做出改变来使得适应该变量的存在。更重要的是,变量条目的实施方式有时可能是对 避免不得不对请求实体做出变化以便请求实体与DIT 1000正确地互操作所必不可少的。 相似地,请求实体的数据需要的变化可以通过创建与请求实体的新数据需要匹配的变量条 目来实现。根据本发明的实施例,实质上,变量在属性级别改变方向(redirect),而诸如图 9B所示的别名902的别名在条目级别改变方向。 根据本发明的实施例,变量条目1002是DIT IOOO中的条目,除了"对象类"属性 外,其不需要例示的属性。相关的"对象类"定义被标记为"变量"并且包括许多属性。变量 对象类的成员关系(membership)指示应当在处理该条目的一个或多个属性中访问规则。 例如,如图IOA所示,对象类属性值"变量"指示属性"我的公司联系"和"公司X联系"具 有这样的规则由DIT IOOO中的其它条目("具体"条目,诸如条目504c)中的其它属性 ("真实"属性)导出他们的值。因此,例如,在变量条目1002中,在条目504c的"地址,联 系,网站"属性中找到"我的公司联系"属性的值。 在本发明的各个实施例中,变量创建模块1005在初始供应时可以是有效的。因 而,可以随着由该变量引用的数据来供应该变量。根据本发明的实施例,在初始供应之后的 某一时间,根据需要,该变量创建模块1005也可以创建运行中的变量。
根据本发明的实施例,可以使用变量创建模块1005在DIT 1000中例示给定变量 (例如,变量1002)。例如,如图IOA所示,变量创建模块1005可以创建变量1002以使得它 是包括"我的公司联系"属性和"公司X联系"属性的变量对象类的成员,其中"我的公司联 系"属性从属性为"地址"、"联系"和"网站"的条目504c接收它的数据,而"公司x联系"属 性从属性为"地址"、"联系"和"网站"的条目504d接收它的数据。变量创建模块1005可以 提供用户界面从而可以在运行中创建变量以使得能够迅速配置新的变量。可替换地,变量 创建模块1005可以通过LDAP或DAP经由传统目录"增加条目(addEntry)"操作来调用。
根据本发明的实施例,一旦变量创建模块1005已经在DIT IOOO中创建了变量 1002,则对于变量1002的属性的请求可以被透明地提供给请求由这些属性代表的数据的 请求实体。例如,假定请求实体请求"我的公司联系"的地址属性的数据,因为变量对象类 将"我的公司联系"的地址属性定义为条目504c的地址属性,所以这是变量1002返回到请 求实体的数据。 图10B示出了根据本发明的实施例的在包括来自于请求实体1020(诸如客户端应 用)的数据请求的变量1002的DIT IOOO中的变量处理。请求实体1020可以代表诸如客 户端应用、终端用户或远程DSA 实体,它们可能需要数据来在DSA的控制下完成在目录的一部分上开始的链接进程。 根据本发明的实施例,目录操作服务器1007代表被配置为接收数据请求然后将 它们提供给与目录服务器有关的适当的处理单元以使得可以完成请求的操作的实体。例 如,LDAP服务器代表典型的目录操作服务器,诸如目录操作服务器1007。目录操作服务器 1007与保持(host)DIT 1000的数据的数据存储机构(mechanism)非常接近(例如,共同 定位)。因而,变量条目(诸如变量1002)的处理(例如,属性值推导)可以在向/从基础 数据存储机构访问时执行。例如,在目录操作服务器1007处处理变量条目可以发生在实际 上存储该数据的目录系统代理(诸如图7A所示的DSA 702)中。例如,诸如X. 500的协议 层不需要知道变量条目的存在。根据本发明的实施例,此变量处理可以在需要的实时环境 (诸如移动电信系统204)中提供改进的性能,但是这样提高的性能可能需要该变量以及它 的具体条目并置在相同的DSA内。 根据本发明的实施例,数据请求接收器1009被配置为从请求实体1020接收数据 请求。例如,假定数据请求接收器1009接收对于与变量1002有关的数据的请求。数据请 求接收器1009确定变量1002包括对象类"变量"。因此,数据请求接收器1009然后识别对 于该"变量"对象类的可应用的规则。数据请求接收器1009可以在变量1002和/或变量 规则文件1009中找到这些规则。 数据请求接收器1009向位置推导器(Deriver) 1011提供变量1002的位置以及可 应用于变量处理的规则。根据本发明的实施例,位置推导器1011然后使用该用于导出数 据的位置的可应用规则来导出请求的数据在该数据存储机构内的位置。例如,在推导变量 1002的"我的公司联系"属性的位置时,位置推导器1011将发现阐明下列情况的规则此数 据可以从为在根.条目1.条目2(Root.Entryl.Entry2)中找到的条目存储的"地址"、"联 系"和"网站"属性中检索。相似地,在推导"公司X联系"的位置时,位置推导器1011将发 现指定下列情况的规则此数据可以从为在根.条目1.条目3(Root.Entryl.Entry3)中找 到的条目存储的"地址"、"联系"和"网站"属性中检索。 根据本发明的实施例,由位置推导器1011应用的用于推导DIT1000中具体条目的 DN的规则可以包括从原始变量条目(诸如变量条目1002)的DN中提取的可变数据。例如, 假定条目504a具有DN"c = UK",条目504c具有DN"o 二我的公司,c = UK"以及条目504d 具有DN "o二公司X,c二區"。变量条目1002具有DN "变量o =我的公司,c =區"。用 于该具体条目的DN规则是"o =变量0的值,c =區"。由于"变量o"的值是"公司X",因 此具体条目具有DN "o =我的公司,c =區",换句话说,它的值是在条目504c中找到的。
根据本发明的实施例,位置推导器1011然后将导出的位置提供给数据读取/更新 模块1013,该数据读取/更新模块1013然后对由数据存储机构保持的数据执行请求的进 程。数据读取/更新模块1013在执行它的任务时应用任何与数据(例如,它的格式)相关 的操作规则(例如,值映射)。根据本发明的实施例,对于变量对象类中的属性(例如,变量 1002的"我的公司联系"属性),在具体条目中包含导出的属性值的真实属性(例如,条目2 的"地址"、"联系"、"网站"属性),经历值映射或函数。例如,数据读取/更新模块1013可 以运用将来自于真实属性的属性的整数值变为变量条目中的属性的实数值(real value) 的值映射规则,例如从"1"到"1.0"。数据读取/更新模块1013可以将一个函数应用于例 如从真实属性到变量条目中的属性获得的属性,例如,可以将时间增加12以将它的格式从期望的美国时间("lp.m")转换为期望的欧洲格式("1300")。根据本发明的实施例,读 取/更新模块1013提供关于它的动作的信息,该信息可以被报告回到请求实体1020。此 外,根据本发明的实施例,如前所述,报告可以构造以使得DIT 1000的实际性质对请求实 体1020是透明的(例如,隐藏)。 位置推导器1011可以确定,对于给定数据请求,变量的数据的一些部分位于远程 目录中。因此,位置推导器1011将数据请求的该部分转发给链接模块1017,该链接模块 1017与远程目录操作服务器1031交互以访问请求的数据。根据本发明的实施例,远程目录 操作服务器1031与目录操作服务器1007类似,已被配置为处理变量条目的操作。
在可替换的实施例中,位置推导器1011可以将对变量的目录搜索操作分解成一 个或多个对相关的具体条目的目录搜索操作。这些导出的操作由链接模块1017或者链接 到远程目录操作服务器1031或者链接到相同的目录操作服务器1007,用于作为正常的目 录操作处理。链接的结果随后由数据读取/更新模块1013使用来产生输出结果。例如,对 于基本条目变量1002(所有用户属性)的输入基本搜索被分解成两个基本搜索,一个对条 目504c执行, 一个对条目504d执行。包含在这两个搜索的结果中的属性值被数据读取/ 更新模块1013使用来推导在输出结果中返回的属性值。根据本发明的实施例,位置推导器 1011可以同样地将对变量的目录更新操作分解成一个或多个对相关的具体条目的目录更 新操作,并且向前链接它们。 在另一个可替换的实施例中,此分解进程可以由位置推导器作为协议适应的一部 分来处理,下面将进行讨论。根据本发明的实施例,还将在图IIA中进行讨论的协议适应模 块1107可以利用变量处理来工作。根据本发明的实施例,协议适应是变量处理的可选项。
根据本发明的实施例,可以扩展变量条目的概念以使得变量条目1002可以包含 真实属性值和推导的属性值的混合。这可以作为该条目是其一个成员的真实和变量对象类 的混合的结果,或者因为单个对象类可以具有真实和推导的属性的混合。此外,单个属性可 以具有存储在变量条目1002中的真实值以及从其它具体条目中导出的值。例如,变量条目 1002可以具有额外的真实属性"可替换的联系",并且此属性可以自己保持用于可替换的联 系的实际数据。在这种情况下,位置推导器1011简单地将此特定位置提供给数据读取/更 新模块1013。 本发明的进一步的实施例使得能够扩展与变量处理有关的各种规则。例如,用于
推导从其中提取属性值的具体条目的名称的变量对象类规则、用于识别具体条目内的属性
的规则、和用于从具体条目识别属性值的映射的规则都可以扩展至包括诸如下列的项-变量条目1002内真实属性值的使用,和/或-上下文信息的使用,诸如时刻和请求用户,和/或-自身保持的作为变量条目内的真实属性值的可替换的规则。 例如,根据上下文信息,变量可以被实施来反映用户的"办公室的人"和"晚会的 人",以使得在一天的特定时间,当访问该变量时位置推导器1011将定位来自于一个数据集 的特定属性,而在一天的其它时间,当访问该变量时该位置推导器1011将定位来自于另一 个位置的数据。例如,可替换的规则可以包括用于变量的一种特定情况的固定规则。
变量条目(诸如变量1002)可以简化DIT IOOO中的数据更新。例如,因为"我的 公司联系"的地址属性是数据条目504c的地址属性,所以更新"我的公司联系"和数据条目504c 二者的地址条目和更新数据条目504c的地址条目一样简单。如果设想DIT 1000不仅 仅包含该一个变量1002,而是许多变量条目,每个条目可能与不同的请求实体有关,但是所 有的条目都指向数据条目504c,则可以看出此方法的简单性。 在本发明的一些实施例中,变量使得能够以适合于为企业结构建模但是不需要考 虑特定的请求实体(诸如HLR 307、HSS 301等等)的具体需要的方式来设计数据分级结构 (hierarchy)。在此方法中, 一旦建立数据分级结构,则可以为每一个请求实体增加变量条 目。变量条目将请求实体需要的属性组合到简单条目中或条目的简单分级结构中。因而, 请求实体不需要属性实际上位于其中的数据分级结构的专门知识。从而变量(诸如变量 1002)提供从请求实体要求的属性到数据结构中属性的实际位置的映射。
适应-协议适应 图11A示出了根据本发明的实施例的协议适应模块1107。协议适应模块1107可 以提供目录操作(诸如LDAP或DAP)的非标准的处理。 对目录中的数据的请求可以起因于各种源。例如,数据访问可以来自客户端应用、 终端用户、乃至目录系统代理(诸如图7A所示的DSA 702)。因此,根据本发明的实施例,请 求实体1115可以代表诸如客户端应用、终端用户或远程DSA的实体,它们可能需要数据来 在DSA的控制下完成在目录的一部分上开始的链接进程。无论如何,请求实体1115向目录 操作服务器1109发送数据请求。根据本发明的实施例,目录操作服务器1109代表被配置 为接收数据请求然后将它们提供给与目录服务器有关的适当的处理单元以使得可以完成 请求的操作的实体。例如,LDAP服务器将代表目录操作服务器,诸如目录操作服务器1109。
根据本发明的实施例,协议适应模块1107检查输入到目录操作服务器1109的操 作。在协议适应模块1107中,输入操作被映射到零个、一个或更多的进行中操作。协议适 应模块1107随后将每一个映射的操作的结果合并成为单个结果,以使得它们可以被返回 到发起的请求实体1115。根据本发明的实施例,协议适应模块1107中的规则选择器1135 选择提供映射输入操作和输出结果的指令的一组规则(规则集)。根据本发明的实施例, 规则选择器1135使用该输入操作的零个、一个或多个字段,诸如"操作类型"和"操作中的 条目名称",来推导该规则集。根据本发明的实施例,规则选择器1135可以找到推定的规则 集,由该推定的规则集来选择配置数据1121中以及该目录中的规则集。
根据本发明的实施例,规则选择器1135可以使用输入操作中的任一字段或字段 的组合来识别相关的规则集。此外,发起用户(例如,请求实体1115)可被用在该规则选择 过程中,其它的上下文数据、诸如时刻也可以。规则选择器1135也可以使用与数据请求自 身相关的当前"工作"数据作为该规则选择过程的一部分,诸如当适应过程发生在输入操作 的处理已经开始之后时。例如,如果协议适应发生在名称解析之后,则解引用的别名的内容 可以被用于规则选择。因此,根据本发明的实施例,规则选择器1135可以结合图9B所示的 名称解析模块909来工作。根据本发明的实施例,尽管图IIA未示出,但是协议适应模块 1107可以被配置为具有其它的功能来操作,诸如图9B所示的与别名隐藏有关的部件。
所有这样可以用在规则选择过程中的数据被称为规则选择数据。规则集的选择通 常包括相对于推定的规则中的值断言来匹配规则选择数据,或者包括单个值或者以逻辑组 合,诸如"AND"和"0R"。值断言可以是简单的等式或不等式,或者可以包括其它的准则,诸 如许多推定的规则之间的"最佳匹配"。例如,如果规则将由输入操作中的条目名称选择,则
27规则选择器1135选择的规则可能是在该规则中命令的RDN的最大数目匹配输入操作中的 名称的最大数目-换句话说,最长的名称前缀匹配。根据本发明的实施例,值断言也可以包 括变项规则或通配符规则,并且是可扩展的,以使得需要时能够增加新的断言类型。例如, 如果匹配RDN,则该断言可以被构造为使得仅仅属性类型需要匹配,利用该属性的任何值提 供匹配。 根据本发明的实施例,规则选择器1135选择的规则集指定在协议适应模块1107 的控制下执行的正在进行的操作集。该规则集同时可以指定要被立即返回到请求实体1115 的结果或错误和/或诸如"记录该操作"的一组动作。正在进行的工作可以顺序或并行地 处理。在顺序处理的情况下,一次操作的结果可以被协议适应模块1107用作后一操作的输 入,诸如下面图IIB所示的示例。根据本发明的实施例,正在进行的操作的字段可以由协议 适应模块1107填入从输入操作中的任何字段提取的可变数据(可选地经历映射)、和/或 任何其它规则选择数据、和/或由该选择的规则提供的固定数据的组合。同样地,协议适应 模块可以将输出结果的字段填充有从结果中的任一字段提取的可变数据(可选地经历映 射)和由选择规则提供的固定数据的组合。 图IIB示出了根据本发明的实施例的协议适应的连续或顺序处理的示例。BSS 402发送对于用户的妻子的婚前姓的请求。这里,BSS 402充当图11A所示的请求实体1115。 与协议适应模块1107有关的规则选择器1135检查由目录操作服务器1109接收到的输入 操作("得到妻子的婚前姓")并且识别指定两个正在进行的操作的规则。第一正在进行的操 作"得到妻子的姓名"检索该用户的妻子的姓名,例如"Becky Jones"。第一正在进行的操作 的结果为第二正在进行的操作"找到婚前姓"提供数据,该第二正在进行的操作检索"Becky Jones"的婚前姓。协议适应模块1107帮助目录操作服务器1109将答案"BeckyRomanov" 返回到BSS 402。使用此方法,BSS 402不知道或不需要知道协议适应模块1107在答复该 请求时所采取的所有步骤。 协议适应模块1107可以被配置为工作在在目录操作服务器1109的指导下采取的 处理范围内的各个阶段。因而,例如,协议适应可以发生在名称解析处理(诸如由图9B所 示的名称解析模块909提供的)之后但是在搜索/更新处理(诸如由图9B所示的搜索/ 更新模块911提供的)之前。 根据本发明的实施例,由于请求实体1115可以是远程DSA,因此协议适应模块
1107可以处理链接的操作,以提供完全分布式协议适应。对链接的操作执行协议适应意味
着多级这样的适应,换句话说,用于每一个链接步骤的可能附加适应通道。 协议适应模块1107可以被配置为与变量(诸如图10所示的变量1002)互操作。
因而,例如,根据本发明的实施例,变量条目可以包含在协议适应操作中,如图10B的协议
适应模块1107的存在所示的。 根据本发明的实施例,如图IIA所示,协议适应模块1107充当目录操作服务器 1109的附加模块。在此实施例中,协议适应模块1107位于与目录操作服务器1109在访问 /物理上接近的服务器中。在一些实施例中,协议适应模块1107甚至可以位于保持目录操 作服务器1109的相同的机器(例如,服务器计算机)。通过其中协议适应模块1107充当虚
拟目录操作服务器的实施例(诸如图iic所示的实施例),此"附加模块"实施例可以提供
改进的性能,特别是在特定的需要实时的环境中。
在图11C所示的本发明的可替换的实施例中,协议适应模块1107实质上充当虚拟 目录服务器(或LDAP/DAP代理服务器),向诸如图7A所示的DS 706a的目录操作服务器 1109发送通信(例如,LDAP或DAP操作)。在此实施例中,协议适应模块1107向目录操作 服务器1109提供修改的请求以在由DIT 1160代表的目录中处理。因而,根据本发明的实 施例,协议适应模块1107检查到目录操作服务器1109的所有输入操作。规则选择器1135 将输入操作映射到零个、一个或多个正在进行的操作。协议适应模块1107随后将每一个映 射的操作的结果合并成为单个结果并且将它发送回发起的请求实体1115。根据本发明的实
施例,用于映射输入操作和输出结果的规则由该输入操作的一个或多个字段选择,诸如"操 作类型"和"操作中的条目名称"。用于映射输入操作和输出结果的规则也可以被存储在配 置数据1121中。在此实施例中,规则选择数据限于DIT 1160的内容的外部表示,例如LDAP 消息,以及协议适应发生在目录操作服务器1109的处理之前和/或之后。
适应-名称适应 图IID描述根据本发明的实施例的具有由协议适应提供的适应命名配置的DIT 1100。 DIT IIOO包括一个或多个条目,诸如条目504a-504f等、虚拟条目504g-504i、以及 根节点602。 DIT IIOO也包括标有适应名称条目1102a的条目,其是真实条目,如同条目 504a-504f—样,其经历到标有适应名称条目1102b的虚拟条目的映射。
适应命名提供用于DIT IIOO中的条目的可替换的名称的另一种机制。但是,与 别名和变量不同,适应名称本身不是目录条目。适应命名通过配置数据(例如,配置数据 1121)来实现。根据本发明的实施例,协议适应模块1107中的规则选择器1135使用规则选 择数据和配置数据1121来识别可替换的名称和他们的等效"真实"名称之间的一组适应名 称映射1104。在搜索的情况下,如果过滤器准则可以被适配到搜索的基本名称的一部分,则 利用过滤器的大范围的搜索可以被适配为更窄范围的搜索;例如,以利用可能存在但是请 求实体实体1115不知道的别名。根据本发明的实施例,利用包括许多"或"语句的复杂过 滤器的搜索可以被适配为许多搜索, 一个搜索用于"或"替换的每一个。
根据本发明的实施例,在数据检索及其它操作期间,适应命名的使用可以对使用 该名称的请求实体(例如,该客户端应用)是透明的。因而,该请求实体(例如,请求实体 1115)使用它认为是真实的名称并且接收回请求的信息。例如,假定条目1102a的DN是"员 工Id(卿loyeeID) = 112, o =我的公司(MyCompany) , c = UK",并且进一步假定在1102a 和1102b之间存在适应名称条目。最后,假定请求实体使用它认为是适当的名称(例如,"员 工Id = 112,区域(area)=员工管理(employeeAdmin) ,o =另一公司(AnotherCompany), c = DE")来访问条目1102b中的数据,则由于1102a和1102b之间的适应的映射,将检索 到相同的数据。因而,1102b的名称是1102a中的数据的可替换的名称。
适应-属性适应 图IIE描述根据本发明的实施例的具有由协议适应提供的属性适应的DIT 1150。 DIT 1150包括一个或多个条目,诸如条目504a-504f等和根节点602。 DIT 1150也包括具 有真实属性1108a-l 108e的条目1105a,其经历到具有虚拟属性1108f_l 108 j的虚拟属性适 应的条目1105b的映射。 真实条目1105a包括一个或多个属性,诸如属性1108a-1108e,以及属性适应的条 目1102b包括一个或多个属性,诸如属性1108f-1108j等等。在本发明的实施例中,条目1105a的该一个或多个属性1108a到1108e包括诸如例如"名"、"姓"、"地址"、"县"和"邮 政编码"的用户数据之类的数据。相似地,属性适应的条目1105b的一个或多个属性1108f 到1108 j包括诸如例如"名"、"姓"、"地址"、"州"和"邮政编码"等中的任何一个的数据。
属性适应为诸如属性1108a-1108e之类的属性提供可替换的名称和/或值。在本 发明的实施例中,协议适应模块1107中的规则选择器1135使用配置数据1121识别各个属 性之间的属性适应映射1106。例如,配置数据1121指示协议适应模块1107执行从属性名 称1108a到可替换的属性名称1108f的一组映射。在本发明的各个实施例中,当请求实体 (例如,客户端应用)运行涉及具有属性映射的属性的操作时,该属性映射将该应用理解的 诸如属性1108a-1108e之类的属性名称和值转化为DIT 1150理解的适当的属性名称和值。 例如,假定属性1108a具有格式"实数"并且假定它的值为"l. 0"。进一步假定适应的属性 1108f具有格式"整数"并且假定1108f已经被适配到属性1108a。如果与1108f有关的应 用执行对1108f的读请求,则该应用期待返回整数"1"而不是实数"1.0"。由于属性适应 模块1107执行的属性适应,访问适应的属性1108f的请求实体接收到期待的整数格式的数 据。 在本发明的实施例中,当属性适应结合适应命名来实现时,该组合不仅为使用一 条目的可替换的名称提供方便,而且也为转化该条目的属性的名称和/或值提供方便。进 一步,在本发明的一些实施例中,可以组合适应命名和属性适应来实现应用独立于基础的 数据库结构。根据本发明的实施例,适应命名和属性适应使得一个人能够考虑核心商业的 直接需要而不是其它考虑(诸如遗留应用的需要)来设计且命名数据存储库中的核心实 体。接着,可以增加适应的名称和属性映射以相对于特定的应用(诸如HLR 307、 HSS 301 等等)提供完全可替换的命名分级结构。这些可替换的分级结构可以使用不同的DN以及 可替换的属性名称来指代核心数据库条目。数据存储库404与DIB 500使用定义的映射来 将应用请求转化到DIB 500条目和属性名称。根据本发明的实施例,该映射可以基于每个 应用(或基于DIB 500用户)来定义。在本发明的实施例中,当多于一个应用需要不同的 命名分级结构时,这些应用中的每一个可以与用适当映射定义的不同的用户名称连接。
子树的简化的访问控制 图12示出了根据本发明的实施例的使用协议适应的形式实现的访问控制(AC)系 统。 AC系统通常是网络(例如,服从LDAP的通信网络)中采取的通信协议的一部分, 并且可以被实现为访问控制单元(ACU)1201。 ACU通常包括各许可模块,诸如用户许可模 块、验证模块和优先模块。ACU然后组合各种许可文件以形成一组一致的和有益的许可。ACU 可以将多个许可组合在一起以便为几个不同的组/用户创建一组许可。例如,在X. 500协 议中,传统的ACU提供灵活的访问控制方案,其使得非常细粒度的访问控制降至单独条目 级别或可以应用于目录(诸如图6所示的目录600)的子树。这样的传统的访问控制方案 在灵活的同时可能在保持控制ACU的数据(访问控制信息(ACI)1217)中产生可观的管理 开销,以及当在运行时间应用该访问控制时产生由ACU引起的可观的处理开销。这对于包 括几百万个条目的目录特别麻烦,该目录可能不得不被个别管理用于访问控制,以及那些 条目将被实时地访问。大量的管理开销也具有安全性含意,因为管理的方案越复杂,越有可 能包含错误,因此潜在的安全性降低。
30
在本发明的各个实施例中,目录服务器(诸如DS 706a)为了对于给定数据请求做 出访问控制判定,可以需要诸如与目标条目及其属性有关的用户名、验证级另U、正被执行的 操作以及ACI 1217之类的信息。 在本发明的实施例中,每个DSA(诸如图7A所示的DSA 702)的管理区域提供模式 级别的访问控制,以使得ACI 1217基于对象类和属性类型被配置,而不是基于各个目录条 目被配置,以及ACI 1217应用于该DSA管理的所有条目。这样的模式级别访问控制更容易 管理和验证以便校正,并且可以被优化用于实时访问。在本发明的实施例中,对于访问控 制,管理区域采用多重租借(multi-tenancy)方法。因而,为每个"租户"(例如,客户端应 用)分配该管理区域内的一个或多个子树,并且即使该条目与其它子树内的条目共享公共 对象分类和属性类型因此共享ACI 1217,每个"租户"也仅仅可以访问那些子树内的条目。
根据本发明的实施例,当处理从请求实体接收到的目录操作时,诸如客户端应用、 终端用户及其它DSA的尝试完成链接操作时,ACU1201被配置为代表目录操作服务器1213 做出访问控制决定。例如,用户A 1203可以请求对条目504c的操作,而用户B 1205可以 请求改变条目504e。根据本发明的实施例,目录操作服务器1213与图IIA和图IIC所示的 目录操作服务器1109类似,代表被配置为接收数据请求然后将它们提供给与目录服务器 有关的适当的处理单元以使得可以完成请求的操作的实体。例如,LDAP服务器将代表目录 操作服务器,诸如目录操作服务器1213。根据本发明的实施例,目录操作服务器1213使用 ACU 1201来做出关于是否允许请求的操作中的全部、部分或无一进行以及同样地是否允许 结果中的全部、部分、或无一返回到该发起者的决定。 根据本发明的实施例,安全性协议适应模块1215检查输入到目录操作服务器 1213的操作。安全性协议适应模块1215按照与图IIA和图IIC所示的协议适应模块1107 的方式类似的方式工作。与协议适应模块1107类似,安全性协议适应模块1215可以根据 一个或多个选择规则(规则集)来修改输入的目录操作。安全性协议适应模块被配置为 在目录操作服务器1213和ACU 1201之间的交互之前工作。注意,安全性协议适应模块 1215的使用不排除在输入操作的相同的或不同的处理步骤中使用协议适应模块1107。相 似地,协议适应模块1107可以被配置为提供由安全性协议适应模块1215提供的功能的超 集(superset)。 根据本发明的实施例,安全性协议适应模块1215可以被配置为相对于一组名称 前缀来匹配输入操作的基本名称。要被匹配的该组名称前缀可以为发起请求的操作的请求 实体(例如,像用户1203的客户端应用)而被配置。该组名称前缀提供该规则选择标准以 及可以存在于配置数据1210中和/或存在于诸如DIT 600的目录的一部分中。
根据本发明的实施例,最长的匹配名称前缀识别要被使用的规则。例如,如果客户 端应用请求对条目"A,B,C,D,E"的操作,其中A-E是LDAP顺序的RDN以及存在用名称前缀 "E"、"C, D, E"、"B, C, D, E"和"Z, B, C, D, E"配置的规则,则选择的规则是具有名称前缀"B, C, D, E"的规则,因为这代表该规则集中匹配"A, B, C, D, E"输入的最长的前缀。根据本发 明的实施例,选择的规则集可以包括关联的动作,诸如"作出错误反应"、"记录操作尝试" 或"继续接收到的操作,但是为了访问控制的目的,假定不同的用户和/或验证级别(有效 的用户)"。在后一种情况下,当接着采用ACU 1201来做出访问控制决定时,使用有效的用 户,从而导致根据原始的用户和匹配的名称前缀的组合做出不同的访问控制决定。换句话说,根据本发明的实施例,该结果是模式级别的访问控制方案,然而提供子树访问控制。原 则上,此方法可以被向下应用至单个条目级别。 例如,如图12所示,用户A 1203和用户B 1205是外部用户。进一步假定管理区 域的ACU 1201已被配置为使得用户A 1203和用户B1205都没有对DIT 1200中的任何条 目的读或写许可。进一步假定已经创建了两个特定的用户,用户(user)R 1207和用户W 1209。用户R 1207具有对DIT 1200中的任何用户条目的读许可,以及用户W 1209具有对 DIT 1200中的任何用户条目的读和写许可。更进一步假定不允许外部客户端应用(诸如用 户A 1203)绑定作为用户R 1207或用户W1209。 因此,安全性协议适应模块1215将规则定位在配置数据1210中,以使得如果用 户A对具有名称前缀"P1"的子树内的条目(即,条目504a、504c、504d中的任何一个)执 行操作,则有效的用户被作为是用户W 1209。对于所有的其它操作,有效的用户保持用户A 1203。安全性协议适应模块1215也包括第二规则,以使得如果用户B 1205对具有名称前 缀"P1"的子树内的条目执行操作,则有效的用户是认为是用户R 1207,和第三规则,SP如 果用户B 1205对具有前缀"P2"的子树内的条目(即,条目504b、504e中的任何一个)执 行操作,则有效的用户被认为是用户W 1209。对于所有的其它操作,有效的用户保留作为用 户B 1205。 这三个规则的结果是用户A 1203仅具有对子树P1内的条目的读/写访问,以及 用户B 1205具有对子树P1内的条目的读访问以及也具有对子树P2内的条目的读/写访 问。 根据本发明的实施例,如同协议适应模块1107 —样,安全性协议适应模块1215可 以被配置为在名称解析之后但是在该操作处理的其余步骤之前操作。这意味着结果的子 树访问控制可以基于完全解引用的别名,而不需要对别名名称本身配置任何访问控制。因 而,根据本发明的实施例,当用户具有多个标识并且经由代表那些标识的别名访问时,仅仅 代表该用户的真实条目需要被组合到子树用于访问控制目的。因此,根据本发明的实施例, 安全性协议适应模块1215,与协议适应模块1107类似的,可以与图9B所示的名称解析模 块909互操作。相似地,根据本发明的实施例,尽管图12未示出,但是安全性协议适应模块 1215可以与图9B所示的别名隐藏的其它部件互操作。相似地,根据本发明的实施例,尽管 图12未示出,但是安全性协议适应模块1215可以与变量处理(诸如图IOB所示的变量处 理)互操作。因而,例如,根据本发明的实施例,与图10B所示的目录操作服务器1007有关 的变量处理的部件可以与图12所示的目录操作服务器1213有关。 根据本发明的实施例,目录操作的结果通常不包括有关调用该操作的用户的信 息,因此出于安全考虑,请求应用不会知道它的请求的动作实际上已经被代理用户执行。
移动用户数据系统 图13A示出了根据本发明的实施例的在通信网络中用于数据存储库当中的用户 数据的改进通信的移动用户数据系统,诸如移动电信系统204。 当尝试实现跨越地理/网络边界的大规模的目录服务器系统时,常常会出现问 题,在那网络性能/延迟是不可预测的、也不能保证和/或一般来说是受限制的。这种情况 常常发生在使用卫星链路(例如,印度尼西亚岛)或长途连接(例如,北美洲到欧洲/區) 的配置中。在这样的配置中,数据随长距离的实时复制常常是不切实际的,并且由于IP分组的过长的传输延迟,支持"单个逻辑目录"越过全部位置的X. 500请求的实时链接也常常 是不切实际的。例如,在任何给定的北美运营商网络中,从纽约NY向西雅图WA发送单向IP 分组可能超过50ms。仅仅是传输延迟,而不包括目录处理时间,就超过了该目录的客户端应 用在很多情况下可以等待响应以更新或查询的最大时间。 根据本发明的实施例,对于此通信问题的解决方案应该最小化具有带宽/延迟问 题的布置地点之间需要的通信/带宽,而同时提供单个逻辑目录,在该逻辑目录中,任何目 录服务器系统可以服务由该分布式解决方案保持的任何数据。这样的解决方案例如可以支 持横跨北美洲和UK的HSS,或横跨印度尼西亚岛的单个逻辑HLR。 在移动用户数据系统的实施例中,用户简档数据由DSA 1302以类似于传统的无 线网络基于用户的网络连接(attachment) /访问的点支持从HLR 307 (本地网络中的移动 性数据库)到VLR 303(在用户设备当前连接的网络处的用交换设施配置的移动性数据库) 的用户的无线简档(例如,GSM或ANSI-41定义的用户简档)的移动部分的方式、基于引用 /访问的位置来动态地保持。在初始连接到该网络之后,VLR包含全部必要的用户和设备数 据以使得局部交换系统能够完成呼叫;如果该数据不位于本地,则如果每次处理呼叫时都 不得不联系远程HLR,则呼叫建立时间可能变得过多。此HLR-VLR概念和相关简档对于无线 技术和规范(GSM/ANSI-41)是特定的,并且一般不能应用于任何种类的电信网络的任何用 户简档数据。根据本发明的实施例,移动用户数据将此概念提高到更通用的级别,其对于它 被配置到的接入网络的类型是不可知的,而且使得能够服务任何实时电信核心网络应用的 数据需要的用户简档可行。根据本发明的实施例,移动用户数据系统基于高度分布且可调 整的X. 500目录。X. 500目录使得用户简档数据能够被在地理上分布,而同时看起来该网络 客户端作为其中可以从X. 500目录的任何服务器检索任何数据的单个逻辑数据库。在如上 所述配置放置不同的DSA跨越引入大的传输延迟的地理的情况下,移动用户数据系统的实 施例检测对数据的客户端访问何时超过可配置的最小服务质量阈值并且动态地将用户简 档数据从远程DSA传输到它当前被访问的本地DSA。因而,在该移动用户数据系统中,当数 据被使用时数据被保持在接近于它被使用之处的DSA上,以避免对于每个请求都需要对潜 在的连接的复制或链接,而同时仍然提供统一的目录用于供应。移动用户数据系统的进一 步的实施例允许服务或应用用户简档数据的特定的部分或子集能够基于如上所述相似的 原理被独立地再配置。因而,根据本发明的实施例,对移动用户数据系统的该用户和服务特 定的扩展使得应用/服务特定的数据的再配置成为可能,并且使得不同的用户数据位于不 同的DSA中,同时使得当需要时它能够被在本地访问。 在此方法中,数据开始被供应到特定的DSA,诸如DSA 1302a ;但是,在从诸如DSA 1302c的远程DSA初始访问(诸如从查询或更新)时,用户数据被传输到支持该查询/更新 的远程DSA中一次。该远程DSA大概是对于该用户或代表该用户而动作的应用的局部DSA。 根据本发明的实施例,在数据传输之后,涉及此用户数据的全部局部查询在该DSA上本地 完成。实质上,移动用户数据系统的实施例实现通用用户使用者简档,通常可由CSP定义, 以及该数据基于到数据库的接入点是移动的(例如,通过使用诸如LDAP或DAP的协议)。 因而,例如,根据本发明的实施例,如果由于过度的传输延迟而不满足服务质量以及其它传 输特性和度量满足或不满足,则数据被移动。 例如,假定HSS 1305的用户数据开始时已被供应在DSA 1302a上。进一步假定与用户1309a有关的此用户数据的该部分已被配置为适合于传输。当用户1309a(和/或代 表该用户的设备或服务器)与HSS1305交互以使得将要请求数据查询和/或更新时,DSA 1302a将该用户的数据传输到DSA 1302c,该DSA 1302c比DSA 1302a在物理上更接近于用 户1309a(由此由于较低的传输延迟而提供较快的访问)。在此传输后,DSA 1302c将保持 并负责与HSS 1305相关的用户1309a的数据。 相似地,假定HLR 1307的用户数据开始时已被供应在位于岛1303上的DSA 1302d 上。进一步假定与用户1309b有关的此用户数据的该部分已被配置为适合于传输。当用 户1309b (或代表该用户的设备或服务器)与HLR 1307交互以使得将要请求数据查询和/ 或更新时,DSA1302d将该用户的数据传输到DSA 1302e,该DSA 1302e位于岛1304上且比 DSA 1302e在物理上更接近于用户1309b,因而提供对数据的更快的访问。在此传输后,DSA 1302e将保持并负责与HLR 1307相关的用户1309b的数据。 图13B示出了根据本发明的实施例的包括如图13A所示的移动用户数据系统的典 型部件。 根据本发明的实施例,NSD事件转发器1312a位于DSA 1302a中的数据存储库接 入点处,并且监视对于存储库1318a中的用户简档的访问请求(例如,监视LDAP访问),然 后测量相对于配置数据1320(诸如,预配置的服务简档的质量)的响应时间。如果NSD事 件转发器1312a检测到用户接入(例如,LDAP操作)已经超过对于客户端应用的可接受的 性能的阈值(如配置数据1320所定义的),则NSD事件转发器将这些事件发送到NDS传输 管理器1314,其中包含对于该特定的用户简档数据的适当的细节。NDS事件转发器1312a 通常位于被配置为提供对用户简档存储器的访问的DSA(诸如图13A所示的DSA 1302)上。 因而,根据本发明的实施例,移动用户数据系统可以包括多个实例的NSD事件转发器1312。
根据本发明的实施例,NSD传输管理器1314提供对于从分布式NSD事件转发器 1312转发的事件的集中收集点。NSD传输管理器1314整理从NSD事件转发器1312接收到 的事件,并且基于配置数据1320(诸如预配置的服务质量和性能简档)来确定什么时候/ 是否将用户简档数据从一个DSA移动到另一个,例如,从图13B所示的DSA 1302a移动到图 13B所示的DSA 1302b。根据本发明的实施例,NSD传输管理器1314可以位于另一个或多 个专门的DSA中,或者可以存在于单独的和/或外部管理/供应平台上。
NSD传输控制器1316按照NSD传输管理器1314的指示,控制用户简档从源DSA(例 如,DSA 1318a)到目标DSA(例如,DSA 1312b)的移动。根据本发明的实施例,NSD传输控 制器1316确保正确的用户数据或用户的子集被原样移动,而没有错误发生在新的DSA中。 根据本发明的实施例,NSD传输控制器1316可以同时确保适当地改变和/或保持所有适当 的目录绑定(分级对象绑定-HOBS)。如果诸如网络断线、DSA服务器故障或其它问题之类 的错误阻止了用户简档数据的成功传输,则NSD传输控制器1316确保将用户数据的原始位 置保持为尝试传输之前。根据本发明的实施例,NSD传输控制器1316使用传统的能力来执 行这样的移动(例如,目录处理支持和LDAP)。因而,整个用户简档或用户简档的子集可以 安全地从一个DSA传输到另一个DSA。根据本发明的实施例,与NDS传输管理器1314类似, NSD传输控制器1316可以位于一个或多个专门的DSA中,或者可以存在于单独的和/或外 部管理/供应平台上。 NDS方法一般来不是为其中数据接入点实时变化的DSA 1302之间的边界设计的,诸如对于沿着两个相邻接入点服务的边界网络驱动的用户可能出现的情况。在这样的情况 下,更传统的数据服务器配置(即,非移动的)很可能是更优选的,因为相邻DSA中的任何 一个很可能在具有适当的QOS的情况下服务该数据访问查询和更新。在此情况下,NDS系统 可以被配置为通过使用几种方法来防止数据变得移动。NSD传输管理器1314可以被配置为 不允许用户简档在地理上地相邻的两个DSA之间或通信延迟非常低的DSA之间传输(即, 移动数据没有真正的益处)。另外,NSD传输管理器1314可以被配置为确定两个DSA地点 之间发生颠簸的时间。这里,颠簸一般意思是用户简档在这些DSA之间来回频繁的移动。在 此情况下,NSD传输管理器1314可以通过严格的传输准则来压制或减少移动,诸如提高客 户端应用引起传输需要的优先级、增加客户端引起传输发生的请求的数目、或仅仅完全不 允许DSA之间的传输。 图13C示出了根据本发明的实施例的用于加入该流动用户数据系统的DSA的典型 配置数据1310。配置数据1310可以存在于图13B所示的配置数据文件1320中。移动用户 数据系统的配置数据1310可以包括数据,诸如-指示是否允许/不允许DSA参与按需数据交换1312a的数据。如数据1310所 示,允许DSA 1302a参与按需交换。具体来说,允许DSA1302a参加与DSA 1302c的交换。
-对于DIT(诸如DIT 600)的可以在特定DSA之间交换的部分或子集的限制 1312b。对于数据1310示出的限制1312b指示仅仅加利福尼亚、华盛顿、俄勒冈、内华达和 亚利桑那的用户的数据可以为此特定的DSA交换,以及-对于诸如数据值的范围.数据的最大大小.时刻等的可以在DSA之间交换数据之 前被评估的因素的其它限制1312c。对于该数据示出的其它示例限制1312c指示没有安全 数据(诸如密码)的数据传输以及没有单个数据传输可以超过50兆字节。根据本发明的 实施例,这些限制仅仅代表可以被置于数据传输上的一些其它限制的示例。
根据本发明的实施例,可以被使用的其它限制1312c包括传输的数据的大小,其 可以是可配置的,并且它的设置可以基于为对客户端应用所可接受的传输和发送数据的大 小涉及的延迟来确定,诸如50KB、500KB、 1MB、 IOMB。另一个限制可以是私有的和/或安全数 据/属性,由于安全性限制而不可以被传输。例如,不可以允许用户口令通过不安全的和/ 或不加密的连接传输。又一个限制可以是网络负荷级别。例如,可以监视链路占用级别以 确定当处于忙碌的级别峰值时在数据的特定时间期间不应该传输数据。更进一步,可以考 虑DSA工作状态。例如,在涉及的DSA处于超负荷状态或涉及的DSA处于低容量状态期间 (例如,DSA的节点之一发生故障)不允许数据传输。最后,用户简档数据的其它部分可以 被定义为本质上是非移动的或静态的,以使得在接入点处不需要再配置数据。这可以包括 由BSS使用的静态信息,诸如用户地址。 图13D提供根据本发明的实施例的移动用户数据系统的高级别算法。 NSD部件被预配置为用户数据的按需交换(步骤1320)。参与的DSA Dl和D2,诸
如图13A所示的DSA 1302a和1302c,被预配置为互相按需交换用户数据。另外,根据本发
明的实施例,应当与配置数据1320 —起准备相关的NSD事件转发器(诸如NSD事件转发器
1312a) 、NSD传输管理器1314和NSD传输控制器。预配置过程将包括诸如图13B所示的配
置数据1310之类的数据。 Sl的用户数据在DSA Dl (例如,DSA 1302a)上被管理并且被配置为可传输到DSA
35D2 (例如,DSA 1302c)(步骤1322)。这里,Sl代表可以被从DSA Dl传输到DSA D2 (例如, 从DSA 1302a到DSA 1302c)的与用户或用户服务/应用相关的DIT的子集。
根据本发明的实施例,如图13B所述,要被传输的具体的规则和资格由NSD事件转 发器和NSD传输管理器控制。对于此传输的条件,如果有的话,可以被装入到配置数据中, 诸如图13C所示的配置数据1310。例如,用户数据Sl可以被限制于用户简档的特定子集, 诸如特定的服务/应用条目乃至用户简档的条目的属性的特定的子集。Sl也可以包括对整 个用户简档是否是总体上可传输的或者该简档的不同的子集(例如,专门应用数据)是否 是单独地且同时可传输的限制。这里,例如SI可以允许整个用户简档是移动的,包括所有 子树/子集以及包括的所有应用/服务。另一个示例可以不允许整个用户简档是移动的但 是仅仅允许配置的应用/服务特定简档子树/子集是独立移动的。根据本发明的实施例, 如图13B所述,参与移动用户数据系统的每个DSA具有NSD事件转发器,其被配置有对于用 户数据接入的特定的服务质量(QoS)和传输准则简档。例如,此简档定义可以考虑用户简 档传输的请求延迟(例如,LDAP请求延迟)的阈值。 DSA D1接收对于当前存储在DSA D2上的S1的界限内的用户数据集的请求(例如, LDAP搜索或更新)(步骤1324)。通常,Q0S和传输准则的检查以及用户数据的随后的再配 置对于单个用户简档的单个请求是特定的。但是,根据本发明的实施例,可以将DSA Dl配 置为在请求给定集内单个用户的数据时,对于该集用户,根据Sl来传输适当的用户数据。
通常和DSA Dl和DSA D2处理任何其它请求一样来处理该数据请求。例如,使用 X. 500协议的原理,该请求可以经由根DSA被从DSA Dl链接到DSA D2,在该DSA D2中实现 该请求并且将响应经由该请求的相同的路径返回。 根据本发明的实施例,DSA Dl的NSD事件转发器检查数据请求以及相关的响应特 性和性能,并且确定是否已经超过传输数据集Sl的阈值(步骤1326)。示范性阈值可以是 例如已经超过可接受的LDAP请求延迟。如果没有超过该阈值(步骤1326),则NSD事件转 发器恢复到正常处理。 如果已经超过该阈值(步骤1326),则DSA Dl的NSD事件转发器开始将事件转发 到NSD传输管理器(步骤1328)。 NSD传输管理器与同时发生在该系统中的其它事件一起接收该转发事件,确定是 否批准该传输,以及如果是的话,则指示NSD传输控制器开始将用户简档从DSA Dl传输到 DSA D2 (步骤1330)。根据本发明的实施例,在确定是否批准该传输时,NSD传输管理器可以 检查诸如受影响的系统部件和网络的健康和超负荷状态之类的项。如果没有批准传输(步 骤1330),则NSD传输管理器恢复到正常处理。 如果批准了传输(步骤1330),则NSD传输管理器请求NSD传输控制器读取要被从 DSA D1传输的如S1定义和/或约束的用户数据集,开始从DSA Dl中删除用户数据集S1的 数据库处理,然后开始将用户数据集S1增加到DSA D2的处理(步骤1332)。在将用户数据 集Sl增加到DSA D2的处理成功完成后,NSD传输管理器请求提交对DSA Dl的删除处理以 完成该传输(步骤1332)。 根据本发明的实施例,作为传输过程的一部分,NSD传输管理器将请求相应的更新 保持与用户数据集Sl的整个用户简档有关的数据的任何DSA。如前所述,用户简档和/或对 简档的引用可以跨越多个DSA。通常,根据本发明的实施例,用户简档可以存在于单个DSA之中,但是它可以具有从根DSA和一个或多个标识域DSA的引用。根据本发明的实施例,用 户简档将需要在物理上被移动(和与该简档配置的重要别名一起),并且对该简档/别名的 引用将需要被相应更新,以指向新的目标DSA。 根据本发明的实施例,当SI允许用户简档的子树/子集独立且同时被传输到不同 的DSA时,可以采用专门的进程来确保对传输中的用户简档子树/子集(例如HSS应用子 树)的本地访问不会引起不必要的^ 500链接回到其中用户根条目所在的起始05八。此用 户根条目被认为是整个用户简档子树的根,由此超越于任何用户简档子集或子树。根据本 发明的实施例,当SI指示整个用户简档被移动地从一个DSA再配置到另一个DSA时,该用 户根被移动作为简档的一部分,以及对该根的所有引用/绑定都因此改变。但是,根据本发 明的实施例,当用户简档的子集或子树被移动时,该用户根没有随着该子树移动,因为可能 存在其它子树,它们需要在它们当前被存储在其上的DSA上保持原样。根据本发明的实施 例,为了避免X. 500链接回到用户根所处的起始DSA,当本地访问目的地DSA上的再配置的 应用子树时,当子树经由这里描述的进程被再配置时,该用户根条目被本地投影或复制到 局部DSA。这使得对应用特定的子树在本地开始的查询或更新在本地完成,因为目标条目的 整个DN(区别名称)存在于该本地DSA中。根据本发明的实施例,如果该应用子树的DN包 括用户根和该应用子树的根之间的其它条目,则它们也可以被投影以确保在没有X. 500链 接的情况下可以进行数据的本地处理。 根据本发明的实施例,可以采用另外的专门的机制来确保从许多可能的用户根条 目别名中的一个对本地传输中的用户简档或用户简档子树的访问产生本地满足的响应。根 据本发明的实施例,用户根别名条目被实现为标准的X. 500或LDAP别名条目。这些别名条 目包含对它们指向的条目的引用DN。在此实施例中,用户根别名指向特定的用户根条目。 例如,该用户根条目可以具有RDN "cn = William",其别名条目为RDN "cn = Bill",还包 含对根条目"cn二William"的引用。在此示例中,如果用户简档从DSA Dl移动到D2但是 对它的别名留在DSA Dl上。使用该条目别名的查询导致该查询首先转到DSA Dl以检索别 名"cn = Bill"并解析"cn = Bill"为现在位于DSA D2上的根条目"cn = William"。为 了避免当用户根位于D2上时需要从D1检索该别名,该别名也使用这里定义的相同的NSD 进程随着用户简档或简档子树一起移动。根据本发明的实施例,许多别名中的哪一个应当 被移动也可以被包括作为NSD事件转发器、NSD传输管理器和NSD传输控制器中定义的传 输准则和配置的一部分。因而,当开始触发用户数据的移动的再配置的访问时,特定的别名 可以仅仅基于引起该访问的客户端的标识、引起该访问的客户端的优先级或基于该客户端 使用的别名被传输。 根据本发明的实施例,作为从DSA Dl中删除用户数据集S1的替换,在简档已被成 功地传输到目标DSA(DSA D12)之后,NSD传输控制器可以标记该用户简档以保持在DSA Dl 中被遮蔽(或隐藏)。"无效的"状态将指示数据可能是陈旧的以及在另一个DSA中存在"有 效的"副本。当/如果对于电信网络中SI条目的接入点从DSA D2返回到DSA Dl时,或如 图13A所示从DSA 1302c返回到DSA 1302a时,此方法可以支持灾难性恢复和通信减少。
根据本发明的实施例,对于用户数据集SI的DSA Dl的所有随后的访问都可以然 后在本地从DSA D2完成。 根据本发明的实施例,可以基于每个用户简档执行NSD系统。通常,特定百分比的CSP的用户漫游覆盖地区。因而,假定变化引起网络中的不可接受的延迟,用户简档随实际用户使用者的位置的变化而变化。可替换地,用户数据约束集Sl可以包括一组用户,尽管它可能不容易确定如何将用户分组到移动的集合中。相似地,集Sl可以包括用户简档的一部分,乃至来自于一组用户的用户简档的部分。 根据本发明的实施例,移动用户数据系统的算法的实施方式可以使用如上所述的
用于遮蔽或移动条目的X. 500 DISP概念或可以通过定制的接口来实现。 这里描述的移动用户数据系统提出一个可能的机制来解决移动的数据的问题,但
是其他选项也是可能的。例如,NSD传输管理器和NSD传输控制器的位置可以是目录软件自
身的一部分或者分成位于集中管理系统或供应系统上的不同部件。另外,根据本发明的实
施例,为了提供可调整性,这些部件可被调整到多个服务器中以提供吞吐量和对于NSD功
能的弹性。 可替换地,如上所述,NSD功能可以包括改变被传输的用户数据的粒度的能力。如上所述,整个用户简档从一个DSA传输到另一个DSA。但是,假定高优先级的两个不同的客户端不断地从两个不同的接入点访问该用户简档,每个客户端需要用户服务数据的不同的子集。因此,根据本发明的实施例,NSD功能(诸如NSD事件转发器和/或NSD传输管理器)可以包括将用户简档自身分解成服务部件子集或子树(例如,HSS服务数据、HLR服务数据、预付服务数据)的能力,且各个子集中的每一个基于诸如接入点、产生该访问的客户端系统、当然QOS简档之类的因素可以是独立移动的。在此可替换的实施例中,该用户简档的仅仅一个副本将在任何时候存在(可能有遮蔽的根或子根条目的例外,它们保持本地存储的DN以避免X. 500链接),但是它的组成部分(服务)将基于QOS和访问的位置而分布在不同的DSA中。 根据本发明的实施例,作为另一个替换,不是传输和删除用户数据集Sl, NSD系统可以被配置为根据诸如接入点和QOS简档之类的多个基于DSA的因素隐藏用户数据集Sl。在这样的实施例中,NSD系统也包括同步多个副本的机制以确保数据的完整性。根据本发明的实施例,该同步机制可以增加到诸如NSD传输管理器1314的部件中。
日志和备份过程 图14描述根据本发明的实施例的日志系统1400。日志系统1400包括内存储数据库1403 (诸如图7A所示的数据存储库708a)、更新1402、内存储日志1404、备份文件1409和一个或多个日志文件1406a-1406c、复制器/同步器1411、备份信息记录器1413等等。内存储日志1404包括更新1408a-1408g等等的列表。 在复制的更新的应用期间,复制器/同步器1411可以控制将更新复制到一个或多个DS的过程。复制器/同步器1411通常与目录服务器,诸如图7A所示的DS 706有关。具体来说,复制器/同步器1411的DS可以是DSA(诸如DSA 702)内的主DS。根据本发明的实施例,正如前面提到的那样,DSA通常具有主DS以及许多次DS,每个具有它自己的内存储数据库1403。根据本发明的实施例,通常使得更新1402位于DSA内的主DS中然后复制到DSA中的其它DS中。当然,根据本发明的实施例,复制器/同步器1411可以位于DSA内的任何一个DS上。 复制器/同步器1411将更新1408a-1408g应用于内存储数据库1403。此外,在本发明的各个实施例中,目录服务器也将处理的细节存储到由内存储日志1404中的内存储
38数据库1403代表的数据存储库中。根据本发明的实施例,存储在内存储日志中的信息可以包括对条目做出的变化、该变化的时间、每一个变化的增加的标识符、以及在该变化之前的条目的状态(例如,该更新中改变的值)。接着,在本发明的实施例中,给定因素(诸如磁盘子系统的限制、从内存储日志1404完成的处理)在常规时间间隔或尽快地被写入到基于盘的日志文件1406中作为该处理的永久记录。 内存储日志1404是存储关于内存储数据库1403的所有处理的细节的共享存储区域。在复制和同步的功能期间使用内存储日志1404中的信息。 在复制期间,复制器/同步器1411可以使用内存储日志1404中的信息来退回已经失败的复制的更新,诸如,例如更新1402。在同步期间,复制器/同步器1411可以使用内存储日志1404中的信息来将最新的更新发送到同步的节点(例如,另一个DS)。在本发明的实施例中,与更新1408有关的处理存储在环形缓冲器中。 在本发明的各个实施例中,内存储日志1404被配置为经由日志文件1406将处理记录到盘中。在本发明的实施例中,每当节点(例如,包含内存储数据库1403的目录服务器)启动时或者当当前日志文件1406达到给定大小时,内存储日志1404可以创建新的日志文件1406。日志文件1406可以包括实际的更新信息、变化标识符、以及有关处理被执行的时间和被谁执行的信息。 根据本发明的实施例,日志文件1406是在计划的断线或者服务器故障之后恢复节点的关键部件。在本发明的各个实施例中,当复制器/同步器1411结合备份文件1409使用日志文件1406时,内存储数据库1403可以被恢复到计划的停机(或故障)之前成功执行的最后一次处理,因而最小化了主服务器随后需要以重发来同步恢复的次服务器(例如,保持内存储数据库1403的DS)的处理的数目。 在本发明的各个实施例中,备份文件1409可以按照给定时间间隔自动地被创建,例如一天一次。备份文件1409也可以由运营商在其它时间请求。 备份过程包括将DIT 600中的每个条目的描述写入到备份文件1409中。该描述包括关于备份文件1409的恢复的足够的信息,用于将该条目完全再创建在该内存储数据库1403中。该备份过程将花一段时间,在大的内存储数据库的情况下可能很多分钟。此时间段被称为备份时间段。在本发明的一些实施例中,数据存储库1403对于备份时间段期间的正常的动作是可用的。根据本发明的实施例,备份文件被存储在持久数据存储库中。
当从备份恢复时,与内存储数据库1403有关的复制器/同步器1411需要备份文件1409和日志文件1406,至少用于备份时间段期间进行的更新操作。在本发明的实施例中,复制器/同步器1411首先由备份文件1409中条目的描述来恢复它们。复制器/同步器1411然后从相关的日志文件1406中重放在备份时间段期间发生的任何更新操作(按照它们发生的顺序),考虑到这样的事实在该条目的描述被写入到备份文件1409中时该更新可能被应用于该条目或可能没有被应用于该条目。复制器/同步器1411可以可选地应用发生在备份时间段之后的更新(按照它们发生的顺序),直到固定的时间点、或固定的变化标识符、或者直到所有可用的更新都已被应用。恢复的DS现在能够与在上次更新被从该日志文件应用之后已经发生在DSA内的其它DS上的更新同步。 根据本发明的实施例,复制器/同步器1411可以在恢复进程期间检查和使用存储在备份信息记录器1413中的信息。备份信息记录器1413被配置为记录与备份文件1409有关的备份时间段的开始时间和结束时间,以及标识在备份已经起动之后到内存储数据库 1403的首次更新1402的开始变化标识符和标识在备份已经完成之前到内存储数据库1403 的最终更新的结束变化标识符。根据本发明的实施例,此信息可用于标识必须被施加以确 保恢复的备份的一致性的更新的最小集合。
以用户为中心的目录 图15A是描述根据本发明的实施例的存储在目录1500中的数据(诸如由图3所 示的HSS 301使用的数据)的分级结构的框图。当HSS301运行时,到目录1500的更新通 常增加或修改用户数据并且起源于各个域(诸如图2所示的MS域214)。例如,目录1500 可以在AAA进程期间提供验证信息,在登记期间提供服务简档信息,以及保持用于各个服 务的透明的服务数据。 目录1500通常为移动的电信网络提供单个逻辑目录,诸如遵照ITU-TX. 500目录 标准的目录。目录1500采用类似分级树的数据结构,通常被称为包含各个目录条目的目录 信息树(DIT)。条目以树的形式被布置,其中每个条目可以处于许多条目的上级。目录1500 从根节点1501开始。当然,在目录1500的一些实施例中,根节点1501自身可以包括共同 提供目录1500的根的多个子根节点。例如,一个子根节点可以代表DIT的仅仅属于HSS的 用户数据的部分乃至仅仅属于由大的移动电信系统中的许多HSS中的一个HSS使用的用户 数据的该部分的部分。 根据本发明的实施例,目录1500保持电信网络(诸如电信网络200)中的用户的 记录。在目录1500中,用户标识可以分割到多个标识域1503a-1503d。为了反映与HSS 301 有关的数据,可以提供至少四个特定的域条目IMSI域(MSID) 、 MSISDN域(MSISDND)、私 有Id域(privateD)以及公共Id域(publicD)。这些域由别名条目代表,诸如MSISDN别名 (MSISDNAlias)条目1505、IMSI别名(IMSIAlias)条目1507、公共ID别名(PublicIdAlias) 条目1509和私有ID别名(PrivateldAlias)条目1511。因此,例如,MSISDNAlias条目 1505使得订阅(诸如订阅(Subscription)条目1517)能够经由MSISDN 325以及由唯 一的ID(诸如域条目1503c提供的ID)来访问。相似地,MSIAlias条目1507条目使得 订阅条目(诸如订阅条目1517)能够经由IMSI 323以及由唯一的ID来访问。同样地, PrivateIDAlias条目1511使得订阅条目(诸如订阅条目1517)能够经由PrivateID 327 以及由唯一的ID来访问。PublicIDAlias条目1509使得订阅条目(诸如订阅条目1513) 能够经由PublicID 329以及由唯一的ID来访问。 订阅条目1513代表用户数据的最高级(或根)。订阅条目1513代表对于服务(诸 如HSS或HLR相关的服务)的用户供应数据的根。因此,对于HSS服务、HLR服务及其它服 务的数据被保持作为订阅条目1513的子条目。例如,这些条目可以包括hssService条目 1515、hlrService条目1517及其它服务1519。在本发明的实施例中,如域1503c所示的全 世界唯一的ID标识由特定标准(诸如X. 500区别名称(DN))识别的订阅条目1513。订阅 条目1513也可以经由别名的标识访问,诸如这里所述的IMSI 323、MSISDN 325、 PublicID 327和PrivateID 329。 图15B是描述根据本发明的实施例的HSS(诸如图3所示的CN 206的HSS 301) 架构的框图。 根据本发明的实施例,HSS 301可以包括多个服务器,每个服务器包括与目录服务器(DS)平台1523集成的HSS应用1521。目录服务器平台1523包括至少一个DSA和DUA, 诸如图7A所示的DS平台。当然,DS平台1523可以包括比图7A和图7B所示的DSA多或 少的DSA。 HSS 301可以包括TCP/IP接口 ,以使用标准通信协议(诸如DAP和LDAP)查询 和更新DS平台1523上的数据。也可以使用TCP/IP接口,例如当新的用户加入MS域214 时供应该数据库。因而目录服务器平台1523负责诸如数据复制和同步、备份数据、提供自 动故障探测和灾难恢复的任务。 HSS应用1521便于用户事务的处理和来自于核心网络上的各个域(诸如MS域 214)的信令通信。在本发明的实施例中,HSS应用1521通常从给定域接收根据认可的协议 格式化的消息,诸如来自于IMS域214的根据Diameter协议格式化的消息。Diameter消息 可以例如请求目录服务器1523中的存储库数据用于与特定用户相关的数据。
HSS 301通常存储并使用两种主要类型的数据。首先,HSS 301包括供应数据-与 用户和可用的服务相关的数据。存储的供应数据通常包括传统的用户数据、当前限制 (barring)状态和服务简档数据,传统的用户数据诸如在其中登记订阅的IMS域214中的 CSCF 321的标识。第二,HSS 301包括配置和控制数据-分别与HSS 301服务的一般操作 和HSS 301系统自身相关的数据。存储在目录服务器1523中的HSS 301配置数据包括以 下IMS远程实体规则、所需的服务器能力和AS许可。 因此,这里的本发明的实施例提供改善的HSS,其帮助CSP实现灵活的网络基础结 构,该灵活的网络基础结构可以实现诸如IMS、未许可的移动访问(UMA)、及其它IP服务之 类的技术。在本发明的一些实施例中,改善的HSS与其它出售商的HLR平台兼容,被配置为 最小化网络崩溃,提供对于多个并行的网络接入法的支持,以及提供对大量用户的服务绑 定灵活性。另外,改善的HSS使得CSP能够容易地实现新服务,巩固并改进商务处理,以及 降低营运成本。 协同主HSS/HLR和协同定位HSS/HLR 图16A和图16B是分别描述根据本发明的实施例的用于HSS 301和HLR 307的协 同主系统1600和协同定位系统1620的框图。在协同主系统1600和协同定位系统1620 二 者中,HLR 307和HSS 301共享位于后端服务器1603中的目录1605。根据本发明的实施 例,目录1605包括在一个或多个DSA(诸如图7B所示的DSA 702)中实现的目录。本发明 的实施例可以提供单个逻辑HSS和HLR。如下讨论的,图16A和图16B所示的HSS 301和 HLR 307有效提供单个逻辑HSS和HLR组合。因为CSP组合了新服务并采用了 IP交换,所 以HLR 307可以变成用于进一步提高它们的CSP的网络的焦点。另外,HSS 301可以帮助 CSP改善它与它的用户的关系。因而,这里的单个逻辑HSS和HLR可以对传统的网络加以改 进。 当HSS 301和HLR 307被安装在单个服务器计算机上时,该安装被称为"协同主 HSS/HLR安装"。如图16A所示,HSS 301和HLR 307两个都位于前端服务器1601中。HSS 301和HLR 307共享安装在后端服务器1603处的目录1605。 在本发明的实施例中,前端服务器1601可以具有分布式架构,以使得HSS 301和 HLR 307被配置在共同构成逻辑前端服务器1613的多个服务器1609、1611上。如图16B 所示,当HSS 301和HLR 307被安装在单独的前端服务器1609、 1611上但是共享安装在后 端服务器1603中的公共目录1605时,该安装被称为"协同定位HSS/HLR安装"。因而,HSS301和HLR 307共享安装在后端服务器1603处的目录1605。 如果HSS 301不与HLR 307共享目录1605,则该安装被称为"单机HSS"。在这样 的安装中,HLR数据通常位于远程HLR数据存储库中。单机HSS在这里没有示出,但是这样 的架构是本领域中已知的。 具有关于协同主系统1600或协同定位系统1620的HLR数据的移动域用户被称作 "有家用户(homed subscriber):具有关于远程HLR数据存储库的HLR数据的移动域用户 被称作"无家用户(un_homedsubscriber),,。
UMS模式 HSS 301与HLR 307交互以为MS域214、PS域212和CS域210中的用户提供各 种服务,如前所述。这被称为HSS 301的用户移动性服务器(UMS)工作模式。
UMS模式使得协同主系统1600和协同定位系统1620 二者以及单机HSS能够平稳 地进行HSS操作。如果在协同主系统1600或协同定位系统1620上的一些用户无论什么原 因正巧是无家的,则UMS模式也能够平稳运行。根据本发明的实施例,给定用户是否被认为 是"有家"用户是由HLR数据对于后端1603中的目录1605上的用户是否可用来确定的。换 句话说,典型的过程是尝试读取HLR数据。如果这样的读取完成,则该用户是"有家的"。否 则,该用户是无家的。 在UMS模式中,HSS 301以三种方案工作。在方案I中,HSS 301与远程HLR 307 交互,其是一般由传统方法适应得很好的模式。在方案II中,HSS 301与来自于协同主系统 1600中的HLR 307的数据交互。在方案III中,HSS 301与来自于协同定位系统1620中的 HLR 307的数据交互。 HLR 307和HSS 301之间的移动应用部分(MAP)接口使UMS模式可行。MAP接口 便于检索数据(诸如验证矢量)、再同步验证序列号、和/或检索CS域210和PS域212中 的用户状态和位置信息。 MAP接口是本领域中已知的,其提供HSS和远程HLR之间的通信。因而,当需要时, 远程HLR由HSS使用MAP接口 1609联系。例如,在这样的配置中,HSS对远程HLR执行MAP 发送验证信息(SAI)操作以便检索验证矢量和再同步序列号。在这样的配置中,HSS对远 程HLR执行MAP全天候询问(ATI)操作以便检索CS域/PS域用户状态和位置信息。
传统上使用用户的IMSI或MSISDN将来自于HSS的MAP消息路由到远程HLR。对 于无家用户的PrivateID,相应的IMSI被存储在HSS数据中。此IMSI用来在收到Cx-MAR 消息时联系远程HLR。对于有家或无家用户的Public ID,相应的MSISDN被存储在HSS数 据中。此MSISDN用来在收到Sh-UDR时联系远程HLR。根据本发明的实施例,可以在用户的 PrivateID和IMSI之间建立映射。因而,映射有效地使得MSI能够对HLR 301和HSS 307 执行操作。 但是,用户实际上被导向到协同主系统1600和协同定位系统1620 二者中。从而, 对于协同主系统1600和协同定位系统1620不需要SAI和ATI,以及不必需复制由HSS 301 和HLR 307使用的数据。对于协同主系统1600和协同定位系统1620 二者,验证数据1607 以可以被HSS 301和HLR 307 二者使用的方式存储在目录1605中。因而,验证数据1607 不需要被复制来服务这些应用中的每一个。换句话说,在如图16A和图16B所示配置的系 统中不需要执行SAI和ATI过程。因此,可以通过简单地关闭UMS模式来提供电信网络的总性能。因而,根据本发明的实施例,可以在HSS 301和HLR 307之间共享验证数据1607。
在本发明的实施例中,网络管理系统(诸如网络管理系统412)可以在HSS 301上 设置UMS模式以对于HSS和HLR的给定组合工作在开启模式或关闭模式。UMS模式可以诸 如通过"仅自身数据"标志设置为真(即,"没有HLR")或假(即,"存在HLR")来被开启或 关闭。如果UMS模式关闭,则SAI和ATI例如不会由HSS 301使用来联系HLR 307。当设置 为关闭时,HSS 301和HLR 307可以通过简单地访问目录1605来访问验证状态。
图16C示出了根据本发明的实施例的已被被配置为保持用于诸如HSS 301和HLR 307的应用的服务数据1619的前端1601。 保持在目录(诸如目录1605)中的数据通常包括用户数据和服务数据1619的混 合。根据本发明的实施例,服务数据1619(诸如非用户特定的验证数据1607和UMS模式标 志)可以与用户数据分开并且接近于频繁使用这样的数据的应用(例如,HSS 301和HLR 307)。根据本发明的实施例,通过将服务数据1619移动到前端1601,借助诸如HSS 301和 HLR 307的应用对非用户特定的验证数据1607和UMS模式标志的访问几乎是即时的。
服务数据1619通常包括诸如UMS模式标志的项和验证方案。根据本发明的实施 例,验证方案可以混叠(alias)到其它的验证方案。因而,根据本发明的实施例,此方法可 以使用从HSS 301内处理的别名。根据本发明的实施例,当服务数据1619已被移动到前端 1601时,也可以执行上述PrivateID和IMSI之间的映射。 此外,根据本发明的实施例,后端DSA作为图16A所示的后端1603以及类似图7A 所示的DSA 702而工作。同样地,DS 1625a-DS 1625c与图7A所示的DS 706相似地工作。 根据本发明的实施例,DUA 1627以类似于图7A所示的DUA 704的方式工作。
间接方法的静态条目 图17是描述根据本发明的实施例的便于静态访问条目的存储在目录1700中的数 据的分级结构。目录1700可以被存储在诸如图7A所示的DS 706配置的一个或多个目录 服务器1721中。DS 1721可以工作在DSA(诸如图7A所示的DSA 702)内。相似地,对目录 1700的操作可以被与图7A所示的目录服务器应用软件707类似地工作的目录服务器应用 1723接收到并处理。对目录1700操作的部件接合目录服务器内的计算机化的部件来例如 经由CPU处理动作。 请求实体(例如,诸如HSS 301或HLR 307的应用)调用存在于目录1700中的条 目1703-1715上的一个或多个方法以执行各种功能。请求实体可以代表任何能够对目录 1700请求的实体,诸如客户端应用或终端用户。这些方法包含关于目录1700的模式内的数 据间关系的应用认识,并且提供诸如供应系统的简单接口。典型的方法可以是用于进行如 下操作的方法增加用户、增加用户服务(诸如现有用户的HSS服务)、和/或修改用户服 务设置(诸如修改呼叫转移设置)。 通过调用该间接方法(诸如条目1703-1715),外部应用可以在不具有对该目录的 结构的认识的情况下对目录1700中的数据进行操作。这对于模式经受频繁变化的目录和/ 或已被设计成以特定模式工作的遗留程序特别有用。根据本发明的实施例,尽管这里提供 了与电信配置相关的示例,但是此方法可应用于许多这样的设置在该设置中,应用需要执 行目录中的任务但是不知道或不能知道该目录的实际结构。 应用(诸如HSS 301或HLR 307)使用条目的区别名称(DN)来调用与条目(例如
43条目1703)有关的方法。DN反映条目的真实或适配的树,该树形成对其调用方法的条目的 祖先。例如,条目1707的DN是"根.条目A.条目B(Root.EntryA.EntryB)",因为在目录 1700中根1701和条目1703是条目1707的祖先。这样的方法以下简称为"真实方法"。在 目录结构中真实方法的使用在本领域中是已知的。 因为DN反映由各个祖先组成的真实或适配的树条目名称,所以当目录1700的模 式由于任何原因改变时,DN可能成为问题。这样的变化可能影响条目的命名,由此可能改 变供应方法需要在其上运行的条目的名称。这影响供应系统,迫使软件改变以处理该模式 命名变化。例如,假定模式变化以使得条目1709被增加到条目1707和条目1711之间的目 录1700中,并且进一步假定条目1707和条目1711之间的连接被删除。因而,条目1711的 DN从"根.条目A.条目B.条目B. 2 (Root. EntryA. EntryB. EntryB. 2)"变化为"根 条目 A.条目B.条目Bl.条目B2. (Root. EntryA. EntryB. EntryBl. EntryB2),,。
根据本发明的实施例,真实方法可以与间接方法有关。该间接方法是一种属于系 统条目(诸如根1701)的方法。系统条目为所有应用所共有,并且当模式中发生变化时它 不需要变化。因此,系统条目是"静态的",以及可以使用静态系统条目来调用间接方法。在 本发明的实施例中,该间接方法位于应用连接到目录1700的点处。例如,条目1705代表 "静态条目C.2"。因而,应用可以使用适当的协议(例如,LDAP扩展的操作)来调用条目 1705(即,由条目1705代表的方法)以便调用由条目1715代表的方法,而不管可能改变条 目1715的DN的对模式的改变。换句话说,应用调用条目1715的方法。需要调用静态条目 (例如,条目1715)的方法的应用需要知道条目的DN。因而,该条目的名称(例如它的DN) 应当是不需要改变的名称。 通过API接口为间接方法提供一些RDN信息(诸如用户标识),而且该间接方法在 它的内部实施方式中包括DN结构信息的其余信息。这使得间接方法能够重建将在其上调 用真实方法的条目的DN。此功能可以以两种方式中的一个来实现 -DN再建可以被"硬编码",即,DN的形式体现在静态条目(诸如静态条目C2 1705) 中的软件逻辑中,和/或 DN再建可以被"软编码",例如使用作为可配置的服务数据被保持的模板DN,由该 静态条目(诸如静态条目C2 1705)将通过API提供的特定的RDN信息代入到模板DN中。 此可配置的服务数据通常被保持在目录自身内,与保持目录模式的方式相似。
因而,该间接方法包括标识在其上将调用真实方法的条目的DN的信息,但是该间 接方法对外部应用隐藏由目录1700的模式引起的接口改变。 根据本发明的实施例,当目录模式以影响真实方法所处的条目的位置的方式变化 时,该间接方法需要被更新以反映此变化。如果该间接方法以如上所述的软编码方式实现, 则所需要的所有是将配置新的模板DN。在一些情况下,间接方法非常期望支持两个形式的 DN(例如对于在线数据迁移),至少在迁移的时间段期间。 根据本发明的实施例,因为间接方法位于应用连接到目录服务器(例如,静态条 目C2 705)的点处,所以对于应用和间接方法之间的访问路径不需要另外的DSA间通信。 尽管具有多个应用特定的方法的每个应用单个条目常常是最简洁的方法,但是可以使用具 有多个应用的静态条目。这意味着连接点可以准确地位于使用该方法的外部应用连接到的 DSA(诸如图7A所示的DSA 702)处。因此,该方法的运行开销是最小的。访问间接方法的外部应用将需要连接到根DSA。 该间接方法向应用呈现接口 ,该接口包括足够的信息以使得间接方法能够推导出 真实方法需要在其上运行的条目的当前名称。因而,通过使用间接方法避免了与模式重构 有关的系统开销。 根据本发明的实施例,可以使用静态条目创建器1720在目录1700中在几乎任何 时间构造执行该间接方法的静态条目(诸如静态条目C21705)。当然,这些条目和方法的创 建是通常在系统安装/软件升级期间执行的任务。此任务通常包括安装定义新的或改变的 应用对象分类和方法定义的扩展模式以及安装包括该方法代码的共享库。因而,此任务根 本上是软件安装动作,并且可以使用标准软件安装技术(例如,使用UNIX操作系统、分组或 rpm文件,利用相关或包括的外壳脚本、配置文件、数据库装入文件、二进制等)来执行。静 态条目创建器1720可以使用如上所述的硬编码或软编码方法来建立静态条目,将它链接 到目录17,以及装备该静态条目以重建在其上可以调用真实方法的条目的DN。静态条目创 建器1720还可以包括简化创建静态条目的任务的操作员接口 。
计时器机制 改善的计时器机制可以被应用在各种情况下,诸如当关于创建、修改或删除计时 器的事件可以被不同的处理节点接收到和/或当计时器的期满非常重要以致于它需要是 高度可用的事件时(例如,比各个处理节点中通常可能的更可用)。 因此,本发明的实施例提供一种高性能的复制数据存储器,被配置为带有计时器, 以使得它们可以潜在地以各种方式被访问,诸如按时间或应用ID。当然,计时器机制的给定 实施例可能使得计时器仅仅以单个方式(例如通过期满时间)被访问。因此,本发明的实 施例使得处理需要创建、修改或删除计时器的事件的多个节点上的请求实体(例如应用) 能够经由诸如应用ID的机制来完成。因此,请求实体可以代表需要计时器用于给定事件的 任何实体,诸如客户端应用或终端用户。 根据本发明的实施例,使用复制数据存储器使得计时器在即使各个处理节点失败 时也能够持续。另外根据本发明的实施例,计时器可以按时间被访问,以使得期满处理可以 由可以访问该复制数据存储器的任何可用的处理节点来执行。 高性能数据库和实时复制机制仅仅为本发明的实施例提供了一种可能的实施方 式框架,其每秒能够处理大量的计时器事件。因而,计时器机制可以被应用于复杂的和简单 的实施方式二者。 图18A示出了根据本发明的实施例的使用可能受益于改进的计时机制的高速接 入点(HSAP)的通信网络1800。这里公开的计时器机制适用于各种环境,这里描述的通信网 络1800仅仅提供一个可以受益于改进的计时机制的这样的环境。 在网络1800中,随着移动用户1810的移动,保持他的呼叫连接的责任最终从基 站1812a传递到基站1812b。基站1812a-1812d经由高速接入点(HSAP) 1814通信各种用 户信息和服务。网络1800可以被配置为支持例如小型办公室设置中的各个生产商的基站 1812a-1812d以便提供具有移动漫游能力的无线LAN。 HSAP 1814可以使用AAA协议与基站1812a-1812d通信,诸如Cx协议,其用于遵循 3GPP的IMS网络中以在I-CSCF/S-CSCF和HSS (诸如图3所示的CSCF 321和HSS 301)之 间通信。这些协议在本领域中是已知的并且由诸如RFC 3588、3GPP TS 29. 228和3GPP TS29. 229的标准定义。 在图18A所示的配置中,HSAP 1814实际上位于核心网络1812的边缘并且包括仿 真的SGSN 1816 (图3所示的SGSN 317的仿真器)。因而,HSAP 1814和仿真的SGSN 1816 可以实际上使得整个网络1800动作并且表现为传统的电信网络。因而,网络1800以与图 2所示的移动通信网络204相似的方式工作。 HSAP 1814可以使用仿真的SGSN 1816来使用传统的MAP接口与HLR 307通信。 MAP接口为核心网络1822中的各个节点提供应用层以便彼此通信,以便为移动式电话用户 提供服务。核心网络1812可以包括多于一个HLR,以及仿真的SGSN可以被配置为与核心网 络1812中的HLR通信。 根据本发明的实施例,使用仿真的SGSN 1816的HSAP 1814也可以包括计费数据 功能(CDF),其将基站(BS 1812)报告的计费事件集合到计费数据记录(CDR)中并且将这些 转发到计费系统1818。 CDR是一种供记帐和计费之用的关于可计费的事件(例如,呼叫建 立的时间、呼叫的持续时间、传输的数据量等)的格式化的信息的收集。如果CSP为用户提 供明细帐单,则CDR用来构造用户的帐单中的行式项目。 在此非标准的网络配置中,HSAP 1814可能不能为计费系统1818提供重要的CDR 有关事件,诸如"结束呼叫事件"和"呼叫中事件"。这两个事件都是本领域中已知的,它们有 助于确定给定用户的费用,特别是当对用户至少一部分的基于呼叫的持续时间来计费时。
图18B提供根据本发明的实施例的可以受益于改善的计时机制的图18A所示的通 信网络1800的物理图。如上所述,网络1800可以按照支持提供移动漫游能力的无线LAN 的方式被配置。假定网络的基站(诸如BS 1812a和BS 1812b)已经被配置为支持经由高 速下行链路分组接入(HSDPA)协议的通信。HSDPA有时被称为高速下行链路协议接入,是 HSPA族中的3G移动电话协议并且允许高的数据传输速度。HSDPA通过定义新的W-CDMA或 TD-CDMA信道、用于到移动站的下行链路通信的高速下行链路共用信道(HS-DSCH)来实现 数据传输速度的增加。HSDPA在本领域中是已知的。 假定BS 1812a-1812b与DSA 1831通信。DSA 1831可以被形成为如图7A所示的 DSA 702那样。DSA 1831可以结合DS节点1836a对与HSDPA节点1834a有关的数据进行 操作。DS节点1836a可以按照类似于图7A所示的DS 706a的方式工作。因而,根据本发明 的实施例,HSDPA节点1834a和DS节点1836a共同为由图18A所示的逻辑层执行的任务提 供物理层。 如图所示,DSA 1831也可以由多个HSDPA节点1834a-1834c形成,每个HSDPA节 点1834a-1834c具有相关的DS节点1836a_1836c。 DSA1831可以包括比示出的多或少的 HSDPA节点和DS节点。另外,HSDPA和DS节点不一定需要彼此配对,尽管在许多网络中,这 样的配对是可取的。 网络可以包括仅仅比BS 1812a-1812b多的基站。每个基站根据需要与主HSDPA节 点和次HSDPA节点通信。例如,如图所示,BS 1812a具有HSDPA 1834a作为它的主HSDPA节 点,HSDPA 1834b作为它的次HSDPA节点,如实线和虚线所示。相似地,BS 1812b具有HSDPA 1834c作为它的主HSDPA节点,HSDPA 1834b作为它的次HSDPA节点,如实线和虚线所示。
在此网络配置中,基站(诸如BS 1812a)应该通常保持连续运行Diameter通 信,以便使得诸如CDR的记录被适当地保持。不意外地,它有时可能很难保持连续执行Diameter会话。因而,保持一致组的CDR出现了问题。 随着MS1810漫游,网络中的基站1812a、 1812b可能不全部共享相同的HSDPA节 点。因而,该网络包括基站之间的移交过程,其使得呼叫能够不中断地继续。
但是,与该呼叫有关的计费事件可以根据MS 1810是处于基站1812a中还是1812b 中而被报告给不同的HDSPA节点。对此问题的解决方案是将有关用户的计费事件存储在全 部HSDPA节点可访问的公共用户数据库中。这可以形成为DSA 1831的一部分或者被包含 在一个或多个单独的后端DSA内。 不幸的是,甚至这种解决方案也有问题,因为在给定DS上对给定呼叫的相关监视 计时器可能因为种种原因没有接收到"结束呼叫事件"。监视计时器是用于电话中的传统计 时器以确保与给定呼叫有关的计费事件不会被网络丢失。某些关键事件(诸如结束呼叫事 件)可能相对于呼叫而丢失,这可能看起来好像该呼叫从来没有发生过或者该呼叫具有比 呼叫的实际长度显著更短或更长的持续时间。例如,"结束呼叫事件"代表呼叫的结束(当 一方当事人断开连接时),其可以是CDR中的重要信息,因为许多呼叫是由CSP基于用户呼 叫的长度和/或由用户在给定时间间隔(诸如月)中的呼叫代表的总时间长度来计费的。 因而,需要与其它呼叫信息一起的从HSDPA节点到HSDPA节点的移交计时器,以在某种程度 上确信此信息被提供给适当的后端进程。 因而,本发明的实施例包括分布式定时器机制,其可以被用作网络(诸如这里描 述的网络)的监视计时器。此计时器的实施例不一定需要高精确度,以及在一些实施例中, 监视计时器可以是可配置的,诸如从10秒到60秒。 图18C示出了根据本发明的实施例的来自于目录(诸如由DSA 1831保持的目录) 的用户条目1841。用户条目1841包括计费条目1843。计费条目1843包括计费事件条目 1845和监视计时器条目1847。 因此,例如,在应用于电信网络的本发明的实施例中,由DSA 1831中的DS 1836保 持的数据代表伪监视计时器的每一个计时器滴答的HSDPA节点。相似地,该数据代表该用 户的HSDPA节点的每个"呼叫中事件"和他的相关的"媒体会话"。该呼叫中事件通常代表 收费标准的要求,以保证对于进行中的呼叫将规则的条目维持在CDR中。该呼叫中事件不 一定反映呼叫的状态变化,尽管它可以。呼叫中事件通常相当频繁地产生,并且如果呼叫结 束事件不被记录的话,可以帮助确定呼叫的结束。因而,该呼叫中事件可以帮助记帐系统对 跨越多个计费周期的长期进行的呼叫正确地计费。呼叫事件,诸如呼叫中事件和呼叫结束 事件,应当由HSAP 1814根据建立的电信标准而被定期地接收,因此HSAP 1814应当运行监 视计时器以保证它们实际上被即时地接收到。 图18D示出了根据本发明的实施例的在由DSA 1831保持的目录中具有计时器条 目1851的计时器1850。图18C所示的监视计时器条目1847提供时间,其可用于通过计时 器1851保持的伪计时器"滴答"来"移动"与计费数据记录1843有关的用户CD监视计时 器条目1848a-d。因而,根据本发明的实施例,计时器条目1851提供动态计时器树。
计时器条目1851保持一组计时器"滴答"条目1855a-1855d。这些滴答条目代表 计时器1851内的不同时间。该呼叫事件可以存在于从开始时间("现在+XX")到结束时 间("现在")的计时器中。因而,用户CD监视计时器1848d可以首先与这里由Now+XX条 目1855d代表的监视计时器的最大持续时间有关。例如,条目1855d可以代表从现在时间
47开始起的60秒,因而将被命名为"Now+60"。 这里,监视计时器代表期望的呼叫中或呼叫结束事件在采取补救措施之前可以被 推迟的最大持续时间,例如异常的CDR记录的产生。 如果该客户端应用接收到适当的响应(例如,呼叫中事件),则该客户端应用可以 删除当前运行的计时器并且必要时开始另一个计时器。换句话说,每当接收到新的呼叫中 事件时,该用户CD监视计时器1848a-d应当被删除并且替换为新的计时器"Now+60"。每当 接收到呼叫结束事件时,当前用户CD监视计时器仅仅需要被删除。 根据本发明的实施例,在接收到呼叫中事件或呼叫结束事件以前,给定用户CD监 视计时器1848a-d通过该计时器前进,最终达到现在条目1855a。当客户端应用询问现在条 目1855a时,该客户端应用可以找到已经期满而没有接收到呼叫中事件或呼叫结束事件的 任何记录(诸如用户CD监视计时器1848a)。因此该客户端应用可以根据收费标准执行适 当的补救措施。 在本发明的实施例中,为了使得所有这些动作能够被成功地执行,应当采用以下 条目命名原则-计时器1851 :根据它和用户1841所处的DSA来命名。-用户CD监视计时器1848a-d :根据用户标识和计费数据1843记录ID命名。
-监视计时器1847 :根据计时器1851和用户CD监视计时器1848a-d当前所处的 Now+XX记录1855a-d命名。 在图18D所示的本发明的实施例中,计时器1851已被设置为具有10秒的粒度,其 就是滴答条目名称以增量10增长的原因,诸如Now+10滴答条目1855b。但是,滴答条目的 粒度可以根据计时要求被设置为另一个时间级,诸如l秒或20秒。计时器1851的截止(例 如,由计时器代表的持续时间)可以仅仅是具有不那么准确的结果(例如,较长的时间)的 大约的任何长度,等同于CSP的较低的服务条件,例如,具有10秒的粒度和2分钟的持续时 间的计时器不如具有1秒的粒度和30秒的持续时间的计时器准确。根据本发明的实施例, 可以通过对于不同的时间具有较多或较少的条目,来为计时器条目1851配置较大的或较 小的粒度。 因而,诸如主HSDPA节点1834a的应用应当周期性地搜索它的"现在"计时器时隙, 其应该仅仅包含应当弹出的监视计时器的记录。可替换地,计时器机制可以被构造为在该 "现在"计时器时隙向应用通知呼叫。位于"现在"时隙1855a的任何事件代表已经期满的 计时器,因而需要被适当地处理(例如通过将异常的呼叫中事件增加到CDR)然后删除。换 句话说,应用(诸如HSDPA节点1834a的应用)正在注意获得监视丢失的计费事件。
处理事件(诸如呼叫中或呼叫结束事件)通常需要删除并可能再插入计时记录。 如果遵循上述命名原则,则该应用不需要扫描过仍然在运行的全部计时器,而是可以代之 以随着呼叫中事件和呼叫结束事件的进来通过名称来搜索它们。其余操作(诸如确定呼叫 是否仍然连接)可以通过删除和可能再插入计时器记录和/或将呼叫的呼叫结束事件提供 给计费系统1818的简单机制来处理。 计时器1851可以处理与特定的用户、用户组或特定组的用户服务器相关的事件 流。根据本发明的实施例,如果由于任何原因事件的正常流中断,则计时器1851可以帮助 标识该中断已经发生并且帮助开始需要发生的任何特殊处理。
图18E示出了根据本发明的实施例的在图18B所示的DSA 1831上实现的分布式 计时机制。如前所述,该分布式计时机制可以用来对任何事件计时并且不一定限于对与电 信系统相关的事件计时。 DSA 1831类似图7A所示的DSA 702。相似地,DS 1836类似于DS706,以及DUA 1864类似于图7A所示的DUA 704而工作。根据本发明的实施例,客户端应用1866可以是 任何客户端应用或其它请求实体,但是在这里描述的用于移动电信的计时机制中,很可能 是负责保持计时事件的实体,诸如与HSAP 1814有关的应用。 每个DS 1836保持图18D所示的计时器1850的副本。因而,DS中的任何一个可 以处理输入事件。通常,DS 1836中的任何一个可以处理输入的读取/搜索事件,其中单个 主DS(例如,DS 1836a)负责对计时器1850进行增加/删除。根据本发明的实施例,主DS 1836也可以负责联系客户端应用1866(例如,当条目达到"现在"位置而没有新的事件已被 处理时)。因而,定时模块1861可以被配置为将计时事件并相关信息通信给其它DS上的其 它定时模块1861。根据本发明的实施例,例如,尽管所有的计时存储器可以被请求实体访 问,仅仅一个定时模块1861需要将计时结果通信给该请求实体(例如,客户端应用)。因而, 根据本发明的实施例,该分布式定时模块1861可以被配置为使得,如果指定的事件时间发 生,则仅仅一个定时模块向该请求实体通知请求的事件。 根据本发明的实施例,每个DS 1836可以包括帮助计时器1850的处理的计时模块 1861。计时模块1861可以例如帮助确保保持计时记录最新。根据本发明的实施例,计时模 块1861也可以通过检查期满时间记录并向用于适当的监视超时处理的客户端应用1866转 发期满的计时器的指示来帮助处理计时器1850中的实际的超时。计时模块1861也可以从 计时器1850中删除期满的时间记录。 当然,可以采用多于单个DSA 1831来处理与计时器相关的事件流。根据本发明的 实施例,对于一些应用,一个人可以希望将应用的每个情况配置为使得它的事件流由本地 DSA来处理,例如,位于日本的HSAP1814的情况可能想要使得本地DSA来处理它的计时器 而不是使得远程DSA(例如,在區中的一个)来处理这些相同的计时器。另外,一个人也可 能想要分割用户群以使得存在分配给特定的用户组的DSA。在这样的实施例中,主DS 1836 实际上处理与该用户组相关的呼叫的计时器。 与这里与DSA相关的讨论相似,如果任何特定的DS 1836丢失通信或者相反变成 不能到达的,则DSA中的其它DS可以继续该计时处理。因而,该计时机制可以是相当耐用 的。根据本发明的实施例,可以使用两阶段的提交机制来在多个DS 1836之间自动地复制 对计时器1850的插入和删除。 定时器机制的实施例可以应用于许多分布式应用,其中不能保证外部事件到达单 个本地节点。同样地,如前所述,计时器条目1851可以位于多个数据存储器,以使得如果一 个特定的数据存储器(诸如存储在DS 1836a上的目录)发生故障,则准确的计时可以使用 来自于另一个设备的数据存储器(诸如存储在DS 1836b上的目录)仍然继续。
在本发明的实施例中,本发明的部件包括基于以"C"计算机语言写的不同的任务 的集合的软件。但是,该软件可以以其它的计算语言来写。软件内的任务经由队列和共享 存储器的组合来彼此通信。例如,根据本发明的实施例,目录服务器706a经由TCP/IP链接 与DSA 702中的其它目录服务器706b和706c以及远程DSA中的其它目录服务器通信。本发明的部件还可以基于硬件和/或硬件和软件的组合。 尽管已经示出和描述了本发明的特定实施例,但是显然本发明不仅仅局限于这些 实施例。在不脱离权利要求书中描述的本发明的精神和范围的情况下,许多修改、改变、变 化、替换和等效对本领域技术人员来说是显而易见的。 一般说来,在下面的权利要求书中, 使用的术语不应该被解释为将本发明限制于说明书中公开的特定实施例,而是应当被解释 成包括在下文阐述的权利要求书下工作的所有系统和方法。因而,本发明意欲覆盖归入所 附权利要求书和它们的等效范围之内的本发明的修改和变化。
权利要求
一种代表请求实体访问目录中数据的方法,包括接收数据请求以对该请求实体提供的目录中的第一位置处的第一条目的属性中的数据执行动作,其中在该数据请求中被请求的属性的数据位于目录中第二位置处的第二条目中;使用与该第一条目有关的信息来导出该数据请求的属性中数据在该目录中的第二位置,其中该导出是在对/从该目录的数据存储机构访问时执行;以及使用导出的第二位置找到在第二条目处该数据请求的属性中数据;对导出的第二位置处的数据执行该动作。
2. 如权利要求l所述的方法,其中该目录位于多个目录服务器,且其中导出该目录中 的第二位置进一步包括将该数据请求链接到该多个目录服务器中的包括具有该第二条目的该目录的部分的 另一个目录服务器。
3. 如权利要求l所述的方法,其中对该导出的第二位置处的数据执行动作进一步包括从第二条目接收结果,其中该结果包括输入信息;以及 使用该输入信息对第三条目处的数据执行第二动作。
4. 如权利要求1所述的方法,其中该数据请求进一步包括对该目录中的第三位置处的 第三条目的另一属性中的数据的另一动作,其中该另一属性的数据位于该目录中第四位置 处的第四条目中,该方法进一步包括使用与该第三条目有关的信息导出该数据请求的另一属性中数据在该目录中的第四 位置,其中该导出在对/从该目录的数据存储机构访问时执行;以及使用该导出的第四位置找到在第四条目处该数据请求的另一属性中的数据;以及 对导出的第四位置处的数据执行动作。
5. 如权利要求4所述的方法,其中该第三条目等于第一条目而第三位置等于第一位置。
6. 如权利要求1所述的方法,其中该数据请求进一步包括对在该目录中第一位置处该 第一条目的另一属性中数据的另一动作,其中该另一属性的数据位于该目录中第一位置处 的第一条目中,该方法进一步包括对该第一条目的另一属性处数据执行动作;向该请求实体报告已经对该第一位置处属性执行该动作且已经对该第一位置处另一 属性执行另一动作。
7. 如权利要求6所述的方法,其中该报告被配置从而该请求实体接收不到关于导出的 第二位置的信息。
8. 如权利要求l所述的方法,进一步包括向该请求实体报告已经对该第一位置处属性执行该动作,从而该请求实体接收不到关 于导出的第二位置的信息。
9. 如权利要求1所述的方法,其中该请求实体预期该数据请求的数据具有第一格式, 且其中该第二条目中的数据具有第二格式,该方法还包括向该请求实体报告已经对该数据执行了动作,其中该报告根据第一格式描述该数据。
10. 如权利要求9所述的方法,进一步包括 执行将第二条目中的数据从第二格式转换为第一格式的等式。
11. 如权利要求1所述的方法,其中该第二位置是该请求实体不可直接获得的。
12. 如权利要求l所述的方法,其中用于导出第二位置的与第一条目有关的信息包括与属性有关的变量规则,该方法进一步包括检查数据文件以找到与属性相关的变量规则。
13. 如权利要求1所述的方法,其中第一条目包括另一属性,其指示该数据请求的数据位于第二条目中,该方法进一步包括检查另一属性以找到该数据请求的数据位于第二条目中的指示,其中找到该指示使用 导出第二位置的步骤。
14. 如权利要求13所述的方法,其中该另一属性中的指示标识该属性为变量对象类。
15. 如权利要求1所述的方法,进一步包括检查数据文件以找到该数据请求的数据位于第二条目中的指示,其中找到该指示使用 导出第二位置的步骤。
16. 如权利要求l所述的方法,进一步包括接收请求以对存储在第一位置的目录中的第一条目中另一属性的数据执行另一动作,其中在数据请求中被请求的另一属性的数据位于该目录中第三位置处的第三条目中;使用与该第一条目相关的信息导出被请求的另一属性的数据在目录中的第三位置,其中在对/从数据存储机构访问时执行该导出;以及使用导出的第三位置找到被请求的另一属性的数据; 对导出的第三位置处的数据执行请求的动作;以及向该请求实体报告已经对第一位置处的另一属性执行了动作,从而该请求实体接收不 到该属性和该另一属性存储在目录中不同位置的信息。
17.
18. 如权利要求1所述的方法,其中与第一条目有关的信息包括上下文信息,该方法进 一步包括检查与第一条目有关的上下文信息。
19. 如权利要求18所述的方法,其中该上下文信息与时刻相关,该方法进一步包括确 定与该请求有关的执行动作的时刻。
20. 如权利要求1所述的方法,其中该数据存储机构位于服务器中,该服务器位于包括 多个层叠服务器的网络中,该方法进一步包括将该执行动作的请求发送到包括多个层叠服务器的网络中与数据存储机构相关的服 务器。
21. 如权利要求1所述的方法,其中根据LDAP和DAP协议的至少一个接收执行动作的 请求。
22. 如权利要求1所述的方法,其中根据LDAP和DAP协议的至少一个配置到该请求实 体的报告。
23. 如权利要求1所述的方法,其中该请求实体是尝试完成数据请求的客户端应用、终 端用户或目录服务器中的一个,该方法进一步包括以该请求实体可用的格式准备发送给请 求实体的报告。
24. 如权利要求23所述的方法,其中该请求实体实施包括归属位置寄存器(HLR)、归属用户服务器(HSS)、语音邮件系统、验证、授权和记帐系统(AAA)、移动号码可携(MNP)中的 一个的客户端应用,该方法还包括使用用于该客户端应用的本地数据协议与该客户端应用 通信。
25. 如权利要求1所述的方法,其中该动作是读取或写入中的一个,该方法还包括完成 该动作。
26. 如权利要求1所述的方法,还包括审查从该请求实体接收的数据请求并确定该数据请求是否应基于适应数据被修改; 在导出目录中第二位置之前,基于适应数据修改该数据请求以包括至少一个修订的数 据请求。
27. —种用于代表请求实体访问目录中的数据的系统,包括数据请求接收器,该数据请求接收器被配置为接收数据请求以对该请求实体提供的目 录中的第一位置处的第一条目的属性中的数据执行动作,其中在该数据请求中被请求的属 性的数据位于目录中第二位置处的第二条目中;位置导出器,其被配置为使用与该第一条目有关的信息来导出该数据请求的属性中数 据在该目录中的第二位置,其中该位置导出器在对/从该目录的数据存储机构访问时执行 该导出;以及读取/更新模块,被配置为使用导出的第二位置找到在第二条目处该数据请求的属性 中的数据并对导出的第二位置处的数据执行动作。
28. 如权利要求27所述的系统,其中该目录位于多于目录服务器,且其中该位置导出 器被配置为确定该数据在目录中的位置位于该多个目录服务器中的另一 目录服务器,该系 统还包括链接模块,其被配置为将数据请求链接到该多个目录服务器中的包括具有该第二条目 的该目录的部分的另一个目录服务器。
29. 如权利要求27所述的系统,其中该读取/更新模块进一步被配置为从导出的第二 位置处的第二条目接收结果,其中该结果包括输入信息,其中该读取/更新模块进一步被 配置为使用该输入信息对第三条目处的数据执行第二动作。
30. 如权利要求27所述的系统,其中该数据请求进一步包括对在目录中第三位置处第 三条目的另一属性中数据的动作,其中该另一属性的数据位于目录中第四位置处的第四条 目中,其中该位置导出器进一步被配置为使用与第三条目有关的信息导出该数据请求的另 一属性中数据在目录中的第四位置,且其中该读取/更新模块进一步被配置为使用导出的 第四位置找到第四条目处该数据请求的另一属性中数据,并对导出的第四位置处的数据执 行动作。
31. 如权利要求30所述的系统,其中第三条目等于第一条目而第三位置等于第一位置。
32. 如权利要求27所述的系统,其中数据请求进一步包括对在该目录中第一位置处该 第一条目的另一属性中数据的另一动作,其中该另一属性的数据位于该目录中第一位置处 的第一条目中,其中读取/更新模块进一步被配置为对第一条目的另一属性处数据执行动 作,并向该请求实体报告已经对第一位置处属性执行了动作以及已经对第一位置处另一属 性执行了另一动作。
33. 如权利要求32所述的系统,其中读取/更新模块如此准备报告使得该请求实体接 收不到关于导出的第二位置的信息。
34. 如权利要求27所述的系统,其中读取/更新模块进一步被配置为向该请求实体报 告已经对第一位置处的属性执行了动作,从而该请求实体接收不到关于导出的第二位置的 信息。
35. 如权利要求27所述的系统,其中该请求实体预期该数据请求的数据具有第一格 式,且其中该第二条目中的数据具有第二格式,其中读取/更新模块进一步被配置为向该 请求实体报告已经根据第一格式对数据执行了动作。
36. 如权利要求35所述的方法,其中读取/更新模块进一步被配置为执行将第二条目 中的数据从第二格式转换为第一格式的等式。
37. 如权利要求27所述的系统,其中该第二位置不能由该请求实体直接获得除非通过 位置导出器。
38. 如权利要求27所述的系统,其中用于导出第二位置的与第一条目有关的信息包括 与属性有关的变量规则,其中该数据请求接收器进一步被配置为检查数据文件以找到与属 性相关的变量规则。
39. 如权利要求27所述的系统,其中第一条目包括另一属性,其指示数据请求的数据 位于第二条目中,其中该位置导出器进一步被配置为检查另一属性以找到该数据请求的数 据位于第二条目中的指示。
40. 如权利要求39所述的系统,其中位置导出器被配置为确定在另一属性中的指示标 识该属性为变量对象类。
41. 如权利要求27所述的系统,其中该位置导出器进一步被配置为检查数据文件以找到该数据请求的数据位于第二条目中的指示。
42. 如权利要求27所述的系统,其中数据请求接收器进一步被配置为从该请求实体接 收请求以对存储在目录中第一条目中的另一属性的数据执行另一动作,其中在数据请求中 被请求的另一属性的数据位于目录中第三位置处的第三条目中,且其中位置导出器进一步 被配置为使用与第一条目有关的信息导出被请求的另一属性的数据在目录中的第三位置, 其中读取/更新模块进一步被配置为使用导出的第三位置找到被请求的另一属性的数据, 对导出的第三位置处的数据执行被请求的动作,并向请求实体报告已经对第一位置处的另 一属性执行了动作,从而该请求实体接收不到该属性及另一属性存储在目录中的不同位置 的信息。
43. 如权利要求27所述的系统,其中与第一条目有关的信息包括上下文信息,其中该 位置导出器进一步被配置为检查与第一条目有关的上下文信息。
44. 如权利要求43所述的系统,其中该上下文信息与时刻相关,其中该位置导出器进 一步被配置为确定与执行该动作的请求有关的时刻。
45. 如权利要求27所述的系统,其中该数据存储机构位于服务器中,该服务器位于包 括多个层叠服务器的网络中,该系统还包括链接模块,被配置为将执行该动作的请求发送到包括多个层叠服务器的网络中与数据 存储机构相关的服务器。
46. 如权利要求27所述的系统,其中根据LDAP和DAP协议中的至少一个接收执行动作的请求,其中该数据请求接收器进一步被配置为以LDAP和DAP协议中的至少一个处理请 求。
47. 如权利要求27所述的系统,其中读取/更新模块进一步被配置为根据LDAP和DAP 协议中的至少一个将报告发送到请求实体。
48. 如权利要求27所述的系统,其中该请求实体是尝试完成数据请求的客户端应用、 终端用户或目录服务器中的一个,其中读取/更新模块进一步被配置为以该请求实体可用 的格式将该报告发送给该请求实体。
49. 如权利要求48所述的方法,其中该请求实体实施包括归属位置寄存器(HLR)、归属 用户服务器(HSS)、语音邮件系统、验证、授权和记帐系统(AAA)、移动号码可携(MNP)中的 一个的客户端应用,其中该数据请求接收器进一步被配置为使用用于客户端应用的本地数 据协议与该客户端应用通信。
50. 如权利要求27所述的系统,其中该动作是读取或写入之一,其中读取/更新模块进 一步被配置为执行读取和写入的至少一个。
51. 如权利要求27所述的系统,进一步包括协议适应模块,其被配置为审查从该请求实体接收的数据请求,确定该数据请求是否 应基于适应数据被修改,并在导出目录中第二位置之前,基于适应数据修改该数据请求以 包括至少一个修订的数据请求。
52. —种代表请求实体访问数据的系统,包括包括多个数据条目的目录,其中至少一个数据条目包括变量数据条目,该变量数据条 目被配置为具有一属性,该属性被配置为具有用于导出目录中第二数据条目中其数据的位 置的规则;目录操作服务器,被配置有目录,并被配置为接收对变量条目中属性执行动作的请求, 使用用于导出数据的位置的规则为目录中第二数据条目中的数据导出位置,并进一步被配 置为使用导出的第二位置找到被请求的属性的数据。
53. 如权利要求52所述的系统,其中目录操作服务器进一步被配置为向该请求实体报 告已经对第一位置处的属性执行了动作,从而该请求实体接收不到关于导出的第二位置的 信息。
54. 如权利要求52所述的系统,其中该目录操作服务器进一步被配置为 接收请求以对存储在第一位置处目录中的第一条目中另一属性的数据执行另一动作,其中该数据请求中被请求的另一属性的数据位于目录中第三位置处的第三条目中;使用与第一条目相关的信息导出被请求的另一属性的数据在目录中的第三位置,其中该导出是在对/从数据存储机构访问时执行;使用导出的第三位置找到被请求的另一属性的数据; 对导出的第三位置处的数据执行被请求的操作;以及向该请求实体报告已经对第一位置处的另一属性执行了动作,从而该请求实体接收不 到该属性和另一属性存储在目录中不同位置处的信息。
55. 如权利要求52所述的系统,其中该执行动作的请求还包括另一请求以对存储在第 一位置处的目录中的第一条目中另一属性的数据执行动作,其中该目录操作服务器进一步 被配置为对另一属性的数据执行另一被请求的动作;以及向该请求实体报告已经对第一位置处的另一属性执行了动作,从而该被请求的实体接 收不到该属性和另一属性存储在目录中不同位置的信息。
56. 如权利要求52所述的系统,其中与第一条目有关的信息被发现在第一条目的对象 类属性中,且其中该目录操作服务器进一步被配置为检查第一条目的对象类属性。
57. 如权利要求52所述的系统,其中目录操作服务器位于包括多个层叠服务器的网络 中,其中一部分目录位于网络中的另一目录操作服务器中,该目录操作服务器进一步被配 置为将该执行动作的请求发送到另一目录操作服务器。
58. 如权利要求52所述的系统,其中一部分目录位于网络中的另一目录操作服务器中,其中该目录操作服务器进一步被配置为链接到另一目录操作服务器以完成被请求的动 作。
全文摘要
公开了遵循目录数据系统的X.500标准的逻辑网络目录数据库。该网络目录数据库提供可由需要用户信息的各种控制和管理过程访问的服务数据和用户的源。网络目录数据库可以扩展到各种通信服务供应商和IT领域。此外,公开的网络目录数据库可以应用于新的和现有服务,诸如IP多媒体子系统、未许可的移动访问(UMA)及其它IP服务。
文档编号G06F17/30GK101720548SQ200880019504
公开日2010年6月2日 申请日期2008年4月8日 优先权日2007年4月10日
发明者K·瓦克菲尔德 申请人:阿珀蒂奥有限公司