CN103200282B - 代表请求实体访问数据的系统 - Google Patents
代表请求实体访问数据的系统 Download PDFInfo
- Publication number
- CN103200282B CN103200282B CN201310082777.2A CN201310082777A CN103200282B CN 103200282 B CN103200282 B CN 103200282B CN 201310082777 A CN201310082777 A CN 201310082777A CN 103200282 B CN103200282 B CN 103200282B
- Authority
- CN
- China
- Prior art keywords
- data
- entry
- attribute
- user
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4517—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using open systems interconnection [OSI] directories, e.g. X.500
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4523—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4588—Network directories; Name-to-address mapping containing mobile subscriber information, e.g. home subscriber server [HSS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种代表请求实体访问数据的系统,包括:包括多个数据条目的目录,其中至少一个数据条目包括变量数据条目,该变量数据条目被配置为具有一属性,该属性被配置为具有用于导出目录中第二数据条目中其数据的位置的规则;和目录操作服务器,被配置有目录,并被配置为接收对变量条目中属性执行动作的请求,使用用于导出数据的位置的规则为目录中第二数据条目中的数据导出位置,并进一步被配置为使用导出的第二位置找到被请求的属性的数据。
Description
本申请是申请号为200880019504.0、申请日为2008年4月8日的发明名称为“网络数据存储库中的变量条目”的发明的分案申请。
技术领域
本发明的实施例涉及用于在网络中提供数据和服务的系统和方法。更具体地,本发明的实施例涉及使用在具有大量用户的通信网络中的耐用的、高速数据访问可行的系统和方法,该用户各自的数据可以被配置在集中式数据存储库中,用于由工作在该网络内的各种应用访问。
背景技术
移动和固定网络运营商想要过渡到完全聚合的通信服务供应商(CSP)。新用户服务的不断变换的商业策略和实施方式已经在典型的CSP内形成可操作的和功能性的数据仓(silo)。许多传统的通信网络是基于对主要为语音通信建立的核心网络的功能上的覆盖的非结构化的修补工作。数据复制常常存在于用户数据库、服务创建和供应过程、管理、支持和开帐单(billing)中。
许多CSP想要利用基于创建的内容的服务的传递,这些服务要求大范围的市场细分。此新生领域已被为多媒体服务制作的新的应用与设备推动(fuele)。但是,在移动和固定线路服务之间仍然存在一些牢固的边界,因为产品常常是围绕访问方法与设备而不是围绕用户的需要而定形的。
图1描述现有技术中CSP采用的典型网络架构100。网络架构100包括操作支持系统(OSS)/商业支持系统(BSS)/IT领域系统102,诸如应用106a-106c的一个或多个应用以及核心信令网络108。OSS/BSS/IT领域系统102包括供应系统110和网络管理系统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所示的CN206)的进一步的细节的框图,本发明的实施例可以与其互操作;
图4提供根据本发明的实施例的网络架构400中的数据存储的功能图;
图5描述根据本发明的实施例的目录信息库(DIB)500;
图6描述根据本发明的实施例的目录信息树(DIT)600;
图7A示出了根据本发明的实施例的目录系统代理(agent)(DSA)702和目录用户代理(DUA)704;
图7B示出了根据本发明的实施例的包括三个DSA702a、702b和702c的分布式分级结构;
图8示出了根据本发明的实施例的在图7B所示的DSA的分布式分级结构中的优化路由;
图9A描述根据本发明的实施例的具有别名条目902的DIT900;
图9B示出了根据本发明的实施例的别名隐藏模块903,其与包括别名903的DIT900交互以对来自于请求实体920的数据请求执行别名隐藏;
图10A描述根据本发明的实施例的具有变量条目1002的DIT1000;
图10B示出了根据本发明的实施例的在包括来自于请求实体1020的数据请求的变量1002的DIT1000中的变量处理;
图11A示出了根据本发明的实施例的协议适应模块1107;
图11B示出了根据本发明的实施例的协议适应的连续或顺序处理的示例;
图11C示出了根据本发明的可替换实施例的协议适应模块1107,其实质上充当虚拟目录服务器(或LDAP/DAP代理服务器),向诸如图7A所示的DS706a的目录操作服务器1109发送通信(例如,LDAP或DAP操作);
图11D描述根据本发明的实施例的具有由协议适应提供的适应命名配置的DIT1100;
图11E描述根据本发明的实施例的具有由协议适应提供的属性适应的DIT1150;
图12示出了根据本发明的实施例的使用协议适应的形式实现的访问控制(AC)系统;
图13A示出了根据本发明的实施例的用于在通信网络中数据存储库当中的用户数据的改进通信的流动用户数据系统,诸如移动电信系统204;
图13B示出了根据本发明的实施例的包括如图13A所示的流动用户数据系统的典型部件;
图13C示出了根据本发明的实施例的用于加入该流动用户数据系统的DSA的典型配置数据1310;
图13D提供了根据本发明的实施例的用于该流动用户数据系统的高级算法;
图14描述根据本发明的实施例的日志系统1400;
图15A是描述根据本发明的实施例的存储在目录1500中的数据(诸如由图3所示的HSS301使用的数据)的分级结构的框图;
图15B是描述根据本发明的实施例的HSS(诸如图3所示的CN206的HSS301)架构的框图;
图16A和图16B是分别描述根据本发明的实施例的用于HSS301和HLR307的协同主系统1600和协同定位系统1620的框图;
图16C示出了根据本发明的实施例的已被被配置为保持用于诸如HSS301和HLR307的应用的服务数据1619的前端1601;
图17是描述根据本发明的实施例的便于静态访问条目的存储在目录1700中的数据的分级结构的框图;
图18A示出了根据本发明的实施例的使用可以可能受益于提高的定时机构的高速接入点(HSAP)的通信网络1800;
图18B提供根据本发明的实施例的可以受益于提高的定时机构的图18A所示的通信网络1800的物理图;
图18C示出了根据本发明的实施例的来自于诸如由DSA1831保持的目录的目录的用户条目1841;
图18D示出了根据本发明的实施例的在由DSA1831保持的目录中具有计时器条目1851的计时器1850;和
图18E示出了根据本发明的实施例的在图18B所示的DSA1831上实现的分布式定时机构。
具体实施方式
总述
传统的移动电信网络是演进而不是革命的结果。随着通信市场的演变,合并和采集与改变商业策略一起已经引起典型的通信服务供应商(CSP)内的可操作的和功能性的数据仓。典型的网络是从对主要为语音通信而建立的核心网络的一系列功能覆盖而产生的。因而,复制(duplication)常常存在于用户数据库、服务创建和供应过程、管理、支持和开帐单中。许多CSP想要合理化和巩固它们的商业以除去此复制以便降低成本、提高效率以及最终改进用户服务。同时,CSP常常还需要增加容量、增加功能的增强以及更换老化的基础结构。此外,CSP还可能想要准备在语音通信和其它技术之间的进一步聚合。
新的电信范例可以以CSP的用户为中心而较少地以网络硬件和软件本身为中心。不同于图1所示的混乱和笨重的专有数据仓,CSP可以向新的范例移动,在该新的范例中,系统的数据是开放的,因而允许网络的应用更集成和可互操作。因而,此新的范例实质上将用户的数据放置在网络的核心,因为访问和共享信息不应该必须被限制在诸如用户在哪里、用户的连接类型、或用户选择如何与CSP交互等因素。解决这些限制可以允许CSP将传统上隔开的服务汇集到内聚的多媒体多路访问通信服务中。
因而,本发明的实施例可以提供单个逻辑目录数据库,其包含可由那些需要用户信息的控制和管理过程访问的用户和/或服务数据的统一源。该集中式数据存储库可以允许传统的网络和应用数据库以可调整的、节约成本的方式组合在一起,其打破了在传统网络中发现的诸如图1所示的数据库的分开的数据库。因而,本发明的实施例可以为核心网络应用和跨许多或所有领域提供单个信息源。
通过移植到聚焦于用户作为CSP操作的中心的数据范例,CSP可以实现较大的集成度和互操作性。将用户放在它们的操作的中心也可以使得CSP更容易的保持准确和完整的用户信息。诸如图1所示的传统网络的许多数据库仓可以被转换为单个高度可调整的高性能网络目录,其可以由需要处理用户数据的网络或商业应用来访问。
如上所述,本发明的实施例可以采用单个逻辑目录数据库,其包含可由那些需要此信息的控制和管理元件访问的用户和服务信息的单个源。本发明的实施例采用的优选的目录数据库遵循X.500协议。根据本发明的实施例,该目录数据库可以为目录数据系统提供遵照ITU-TX.500标准的开放集中式数据库。根据本发明的实施例,该目录数据库通常包括用户、服务和网络数据以及可执行的软件进程(procedure),其经由诸如轻量级目录访问协议(LDAP)和目录访问协议(DAP)等等的行业标准目录协议可用于应用。
以用户为中心的网络可以使得诸如归属用户服务器(HSS)和归属位置寄存器(HLR)的传统网络元件的质量增强,以及帮助配置IP多媒体子系统(IMS)服务。因此,本发明的实施例可以包括改进的HSS和/或改进的HLR子系统。
本发明的实施例还可以提供使得用户被识别一次的公共验证,通常在登录到网络时并且为全范围的服务查验。此进程通常消除了每当用户试图使用服务的不同方面时再验证的需要。
本发明的实施例还可以提供可调整的数据库解决方案,其允许应用补充(leverage)相同的逻辑和可调整的X.500目录,其通常包含大部分用户需要的信息。因此,通常仅仅需要一次供应。然后,应用可以简单地使用相同的数据集。本发明的实施例可以采用基于X.500目录的数据库,其向现有网络应用和支持系统提供用户数据。
本发明的实施例可以结合某类数据存储库(例如数据库)来工作。与其它的数据存储库类似,用于本发明的实施例中的数据存储库通常由数据库管理系统(DBMS)管理。DBMS通常执行各种高级别和低级别的功能。这里公开和要求的本发明不包括传统上由DBMS执行的低级别的功能。这样的低级别功能包括非常基本的动作,诸如接收一段数据、确定特定类型的特定存储器中的特定扇区、然后与该存储器的硬件交互以存储接收的数据的物理过程。这里公开和要求的高级别DBMS部件可以与各种低级别DBMS部件互操作。一个这样的低级别DBMS部件被称为DirecTreeTM,一种高性能、低级别的内存储数据库系统,由ApertioLimited拥有,其是这里公开的本发明的转让人。DirecTreeTM的结构和操作作为商业秘密由ApertioLimited保持。尽管本发明的实施例可以与DirecTreeTM结合工作,但是此特定的低级别DBMS不是这里公开和要求的本发明的一部分。
图2是描述电信系统200的框图,其中本发明的实施例可以关于此工作。电信系统200可以在功能上被分类为固定电信系统202和移动电信系统204。固定电信系统202的示例包括公共交换电话网(PSTN)。移动电信系统204提供移动的电信服务,诸如双方经由移动电话彼此通信。此外,移动电信系统204通过功能接口216与固定电信系统202连接,以允许移动用户和固定用户之间的通信。
移动电信系统204在逻辑上被分成核心网络(CN)206和接入网络(AN)208。CN206通常包括这三个域:电路交换(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和这些部件在本领域中是已知的。
AN208通常包括基站系统(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提供无线网络和诸如因特网或私用网络的另一个网络之间的网关。
如上所述,IMS域214包括呼叫会话控制功能(CSCF)321。CSCF321通常包括在IMS域214中处理信令分组的服务器和相关代理。CSCF321处理各种功能,诸如IMS注册、消息检查、用户验证、策略控制、带宽管理、收费记录。CSCF321在执行它的功能时可以采用一个或多个标准协议,诸如Diameter协议。
CN206还通常包括与CN206内的各个域(诸如CS域210、PS域212和IMS域214)互操作的部件。这些本领域中已知的部件包括归属用户服务器(HSS)301、访问位置寄存器(VLR)303和设备识别寄存器(EIR)305。
HSS301包括负责保持与图2所示的移动电信系统204的用户相关的信息的应用。各个域使用此信息来用于各种目的,诸如代表用户建立呼叫/会话。例如,HSS301通过执行和/或确保诸如验证、授权、计费(AAA)、命名/寻址解析、位置从属性之类的步骤的执行来支持路由进程。
因此,HSS301通常保持有关用户的信息,诸如用户标识、编号和寻址、用于AAA的网络接入控制的用户安全信息、用户位置信息;和用户简档信息。保持在HSS301中的传统用户标识符可以包括下列项中的一个或多个:国际移动用户标识(IMSI)323、移动站国际ISDN(MSISDN)325号码、私有标识327和公共标识329。HSS301的实施例可以基于诸如3GPP标准之类的标准。
HSS301与三个域(CS域210、PS域212和IMS域214)连接并且影响这些域的功能。尽管图3仅仅示出了单个HSS301,但是典型的核心网络206可以包括多个HSS。多个HSS的配置通常基于各因素,诸如用户的数目、电信系统200中采用的硬件的容量、和电信系统200的总体组织。
HSS301可以包括诸如归属位置寄存器(HLR)307、验证中心(AuC)309和HSS逻辑功能(HSS-LF)模块311的应用。这些应用在本领域中是已知的。
HLR307包括诸如目录的数据存储库,其保持给定组的用户的位置信息。换句话说,电信系统的用户分配给HLR307用于记录的目的,诸如用户信息。HLR307通常向诸如SGSN区域317和GGSN区域319之类的PS域212部件提供支持,以便使得用户能够访问PS域212内的服务。相似地,HLR307向诸如MSC区域313和GMSC区域315之类的CS域210部件提供支持,以便使得用户能够访问由CS域210提供的服务以及支持诸如CS域210内漫游的服务。尽管图3中仅仅示出了单个HLR307,但是典型的核心网络206可以包括多个HLR。
AuC309与HLR307有关并且为向HLR307注册的每一个用户存储标识密钥,诸如私有ID(PrivateID)327。此标识密钥便于生成诸如公共ID(PublicID)329的用户的安全数据。此外,AuC309可以包含与移动电信系统204和用户设备的IMSI323的验证相关的信息。此外,AuC309包括用于确保通过在移动站(MS)和移动电信系统204之间的无线电路径通信的完整和安全的信息。每个AuC309通常通过通常表示为H接口的接口仅仅与它的关联HLR307进行通信。HLR307通过H接口从AuC309请求该信息、存储该信息并且根据需要将它传递到核心网络206中适当的部件。
HSS-LF311模块包括使诸如移动性管理、会话建立支持、用户安全信息产生、用户安全支持、用户标识处理、访问授权、服务授权支持和服务供应支持之类的服务可行的功能模块。
VLR303通常控制CS域210中的MSC区域313以及实际上控制在MSC区域313中漫游的MS。当MS“进入”由MSC区域313覆盖的移动电信网络204的一部分时,MSC区域313将MS注册在VLR303中。在注册过程中,控制移动电信网络204的给定部分的MSC区域313检测该MS并且向VLR303提供有关该MS的信息。在从MSC区域313接收到信息后,VLR303检查MS的注册状态。如果该MS未被注册在VLR303中,则VLR303请求该HLR307提供与该MS相关的信息以便于正确处理涉及该MS的呼叫。VLR在本领域中是已知的。
由VLR303访问的与该MS相关的信息通常包括诸如IMSI323、MSISDN325、移动台漫游号码(MSRN)、MS已被注册在其中的MSC区域313、MS已被注册在其中的SGSN区域317(在其中移动网络支持GPRS并且提供VLR303和SGSN区域317之间的接口)的标识之类的数据。在本发明的实施例中,VLR303可以与多于一个MSC区域313互操作。
EIR305提供负责存储该国际移动设备标识(IMEI)的逻辑实体。该设备可以被分类为“白名单”、“灰名单”、“黑名单”或它可以是未知的。在传统的CN206中,EIR305至少保持白名单。
用户-中心的存储数据
图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所示的HSS301有关的数据,以及包括用于整个移动电信网络204的数据集。因此,根据本发明的实施例,应用406a-406e可以分别包括HSS301和/或HLR307。根据本发明的实施例,应用406a-406e还可以包括诸如语音邮件系统、验证、授权和计费(AAA)系统、移动号码可携之类的应用。这些应用都是本领域已知的。另外的应用406也可以包括在网络400中。根据本发明的实施例,数据存储库404可以被配置为ITU-TX.500目录应用。
在本发明的实施例中,数据存储库404的软件架构提供单个逻辑目录实体。根据本发明的实施例,每个物理实体可以访问每个数据记录,从而提供高可靠性和性能。在本发明的各个实施例中,数据存储库404支持各种开放接口,诸如目录访问协议(DAP)、轻量级目录访问协议(LDAP)、结构化查询语言(SQL)、OBDC/JDBC等等。这些本领域中已知的开放接口简化了将存储在数据存储库404中的数据链接到诸如客户关系管理(CRM)系统之类的商业应用。
在本发明的实施例中,数据存储库404被实现为内存储数据存储库。数据存储库404的内存储操作通常比基于磁盘的系统快得多。因而,根据本发明的实施例,数据存储库404可以提供为CSP产生高性能和低成本的效能。
图5描述根据本发明的实施例的目录信息库(DIB)500。例如,DIB500表示图4所示的数据存储库404的目录结构。DIB500包括根目录(root)502和一个或多个条目,诸如条目504a、504b、504c、504d等等。条目504a-504d以下简称为条目504。条目504a-504d可以可替换地被称为“对象”。DIB500中的每个条目504可以包括一个或多个属性,诸如,例如,条目504c包括属性506a、506b、506c、506d等等。属性506a-506d以下简称为属性506。每个属性506可以包括类型508和一个或多个值510。DIB500表示存储在目录中的数据集。例如,DIB500可以包含向通信网络描述用户的数据,例如移动电信网络204中的用户。
图6描述根据本发明的实施例的目录信息树(DIT)600。DIT600表示图5所示的DIB500的结构(模式)。DIT600包括根节点602和条目504,诸如条目504a-504i等等。这里DIT600被表示为在底部具有根节点602的分层树形结构。树中的每个节点是条目504。如果DIT600已被构造为遵守各种标准格式,诸如X.500标准,则DIB500中的每个条目504通过区别名称(DN)而唯一地且明确地识别出。例如,除条目504c的特别标识的属性(区别值)之外,条目504c的DN基于上级条目(诸如条目504a)的DN。该区别值和它的关联类型也被称为相关区别名称(RDN),其相对于条目504c的父条目(诸如条目504a)唯一地识别条目504c。因此,为了描述RDN,使用条目504c的属性类型和区别值。例如,对于条目504a,如果DN是“c=UK”,其中“c”是属性类型(“国家”的缩写)以及“UK”是该条目的区别值,而对于“o=我的公司(MyCompany)”的条目504c(其中o是属性类型(“组织”的缩写)以及'我的公司'是该条目的区别值),则504c的DN将是“o=我的公司,c=UK”或“我的公司.UK.”。DN类似于万维网中所用的URL。
目录系统代理-优化的路由
移动电信系统204可以包括巨大数量的用户。例如,一些电信系统包括百万计的个人用户。因此,尽管可以逻辑地表示与这些用户有关的数据,诸如图4的集中式数据存储库404中所示的,但是物理实施例可以使得数据被分割成有意义的子组,以向电信系统提供更大的速度和总体耐用性。根据本发明的实施例,例如数据可以被存储和复制在服务器的网络上。在X.500中,由目录服务器代理(DSA)保持(控制)数据的分割。
图7A示出了根据本发明的实施例的目录系统代理(DSA)702和目录用户代理(DUA)704。DSA702包括一个或多个目录服务器,诸如目录服务器706a-706c等等。根据本发明的实施例,一个或多个目录服务器706a-706c的每一个包括数据存储库708a-708c等等,以下简称为数据存储库708。数据存储库708优选地包括内存储数据库。根据本发明的实施例,目录服务器706a-706c也包括目录服务器软件,诸如目录服务器应用软件707a-707c。
根据本发明的实施例,DSA702被配置为确定它的各个目录服务器706a-706c的每一个的容量和负荷。DSA702还可以检测目录服务器706a-706c中的任何一个不在通信的时间、是否由于计划的维修或由于通信、硬件或其它故障。如图7A所示,DSA702被实现为不同的目录服务器(诸如目录服务器706a-706c)的群。因而,DSA702可以使用它的对目录服务器的状态和容量的认识来快速且高效地处理数据请求。实质上,DSA702作为比在它的控制之下单独动作的目录服务器中的任何一个更高效且更耐用的目录服务器而工作。当然,DSA702可以被实现为具有比图7A所示的更多或更少的目录服务器706。在本发明的实施例中,目录服务器706中的每一个运行相同的软件部件并且将DIB500(图5所示)的至少一部分的相同副本保持在DSA702负责的内存储数据存储库708中。
DUA704是例如LDAP或DAP客户端的目录服务客户端的传统术语。根据本发明的实施例,例如,DUA704代表各种客户端应用将数据请求作为LDAP操作。将如图7B所示的,典型的配置包括多个DSA702。DUA704连接到DSA702中的一个中的DS706中的一个。该服务器的DSA702可以保持与该请求相关的数据(在这种情况下,它可以自己处理该请求),或者否则可以知道DSA702能够较好地处理该请求。在后一种情况下,DS706选择在该可替换的DSA702中的服务器706中的一个并且将该请求转发给它(链接)。在下文的优化路由小节中再次描述此过程。
因而,DSA702确定哪一个目录服务器706应该响应于该数据请求。DSA702和DS706a-706c的操作通常对DUA704是透明的。因此,在本发明的各个实施例中,DUA704可以连接到目录服务器706a-706c的任何一个以检索相同的数据。如果DSA的数据存储库708仅仅包含DIB500的一部分,则可以使用一个或多个另外的DSA来构造完整的DIB500,其中该一个或多个另外的DSA的相应数据存储库708包含DIB500的其它部分。在这样的实施例中,DSA702还需要信息来帮助它们选择对于给定动作的适当DSA702。
根据本发明的实施例,运行在目录服务器706a-706c上的软件包括目录服务器软件706a-706c。目录服务器软件707为目录服务器706提供分布式数据基础结构和目录访问软件。正如以上的讨论,由内存储数据存储库708a-708c执行的低级别操作不是这里公开和要求的本发明的一部分。本发明的实施例可以被配置为利用各个低级别的数据存储库程序工作。
图7B示出了根据本发明的实施例的包括三个DSA702a、702b和702c的分布式分级结构。这些DSA702a-702c示出了在通信网络中为了快速访问可以如何分配和复制给定DIB500。
例如,DIT600可以大到它需要扩展到跨几个DSA(诸如DSA702a-702c)中。例如,HSS301不必知道DIT600是多大或多小或者特定的数据段被存储在哪一个DSA上。根据本发明的实施例,例如,HSS301仅仅需要通过DUA704路由它的请求,该DUA704将该请求引导到DSA702,DSA702或者自己答复该请求或者找到DSA702来答复该请求。
还假定给定DIB500包括关于通信网络中的用户的数据,包括这些用户各自的IMSI数据(与全部GSM和UMTS网络移动电话用户有关的唯一号码)和这些用户各自的MSISDN数据(用于指特定移动设备的固定数目的数字)。这样的DIB500可以如下被配置在DSA702a-702c中:用户的数据(诸如他们的姓名和地址)可以位于将充当根DSA的DSA702a中。用户各自的IMSI数据可以位于充当IMSI域(诸如图3所示的IMSI323)的DSA702b中,以及用户各自的MSISDN数据可以位于充当MSISDN域(诸如图3所示的MSISDN325)的DSA702c中。
因而,在此示例配置中,DSA702a可以充当“根”DSA;DSA702b可以充当“IMSI”域DSA,以及DSA702c可以充当“MSISDN”域DSA。根DSA702a包括一个或多个目录服务器706a-706c;“IMSI”域服务器702b包括一个或多个目录服务器706d-706f;以及“MSISDN”域DSA702c包括一个或多个目录服务器706g-706i。根据本发明的实施例,该一个或多个目录服务器706a到706i包括诸如图7A所示的目录服务器软件707的目录服务器软件以及诸如图7A所示的数据存储库708的数据存储库。“根”DSA702a存储根条目;“IMSI”域DSA702b存储“IMSI”相关数据,以及“MSISDN”域DSA702c存储“MSISDN”相关数据。
因而,在本发明的各个实施例中,一个或多个DSA702可以被一起实施以存储DIB500,诸如用于整个移动电信网络的完整的DIB。每个DSA702通常负责包括DIB500的数据的规定的子集。因而,在上述示例中,DUA704可以连接到可用的DSA702中的任何一个,诸如根DSA702a、“IMSI”域DSA702b和“MSISDN”域DSA702c。来自于DUA704的请求由诸如“IMSI”域DSA702b的DSA透明地处理,从而控制该数据。
优化的路由
图8示出了根据本发明的实施例的在图7B所示的DSA的分布式分级结构中的优化路由。正如以上的讨论,DSA702a-702c一起工作来提供分布式目录。每个DSA702将目录条目的子集保持在它的DS706中,以及关于它不保持的目录条目的可能位置的认识。如上讨论的,如果DSA702涉及位于该目录的它自己子集内的数据,则DSA702可以能够在本地满足目录操作。否则,DSA702(例如,DSA702a)使用它对于该目录的认识来选择哪一个DSA(例如,DSA702b)是满足该操作的最好的DSA然后将该操作链接到其它DSA702b。
正如以上的讨论,每个DSA702被实施为一组DS706,每个通常保持该目录的该子集的完全复制的副本。因而,每一个DS通常以相同的方式处理目录操作。作为链接过程的一部分,第一DSA702的DS706不得不选择第二DSA702中的DS706来接收链接的操作。此选择传统上基于循环法或最少使用来实施负荷共享(loadsharing),以及可以考虑DS的能力来处理该请求。例如,如果已知由于较早的问题,DS706具有该目录的非完全复制的版本,则不会选择它。
但是,DS706的典型的物理实施方式是使得它们从地理上被分配。此外,常常是这样的情况:在给定物理地点处,有一个或多个DS用于其它DSA702。换句话说,各个DSA702的DS706可以在物理上和/或通信距离上相对邻近地被聚集在一起。
例如,图8所示的该组DSA702在物理上被布置为使得DS706a、DS706d和DS706g物理上位于地点1804a;DS706b、DS706e和DS706h在物理上位于地点2804b,而DS706c、DS706f和DS706i在物理上位于地点3804c。此外,这样的分布提供对于通信网络的额外的弹性。例如,如果在地点1804a处存在电源故障,则可以使用在地点2804b和地点3804c处发现的DS706来为DSA702a-702c平稳地继续操作。
从一个DS群(即,相同地点的DS)到另一个DS群的通信路径通常比DS群内(即,相同地点的DS)的通信具有低带宽和高延迟。换句话说,DS706a与DS706d通信所花的时间一般比DS706a与DS706e通信所花的时间少,因为DS706a和DS706d二者都位于在相同的地点上,即地点1804a。
假定数据访问的负荷在DS地点间共享,则基于该DS706的物理位置选择用于链接的DS706可以提供目录操作的优化的通信利用率(例如,优化的WAN利用率)和降低的响应时间。换句话说,当DS706a需要与DSA702b有关的数据时,它应该优选地与DS706d通信而不是与DS706e或DS706f,因为DS706a和DS706d位于相同的地点上,即地点1704a。当然,如果无论什么原因,DS706a需要来自于DSA702b的数据而DS706d不可用,则DS706a将被配置为链接到DS706e或DS706f,它们还是DSA702b的一部分但是位于不同于DS706a的地点上。
根据本发明的实施例,DS706上的地点路由代理808被配置为确定哪一个第二DS706可以以相对于其它DS组最低的成本完成给定的数据请求。地点路由代理808可以被配置为考虑所有可能的DS或DS的给定子集之间的距离。例如,当DS被镜像在欧洲的六个其他地点时,在UK中的地点路由代理计算到中国的另一个DS的距离可能更低效。根据本发明的实施例,一种简单的方法是地点路由代理808利用缺省规则周期性地计算到其它欧洲地点的距离,以便在其它欧洲DS不可用时使用中国的地点。
另外,根据本发明的实施例,地点路由代理808选择DS706可以包含各种因素。例如,地点路由代理808可以使用节点(例如,地点)之间的连通性的等级来建立它选择另一个DS706的基础,其中等级值由诸如带宽、延迟和成本之类的因素导出。根据上述示例假定DS706a需要来自于DSA702b的数据且DS706d是不可用的。还假定地点2804b与地点1804a显著地比地点3804c与地点1804a更“接近”,其中“接近”包括基于带宽、延迟和成本中的至少一个的合成,例如,带宽+延迟+成本的最低得分。因此,地点路由代理808a可以建议DS706a链接到地点2804b的DS706e。如果DS706e是不可用的,则地点路由代理808a可以建议DS706a尝试利用地点3804c的DS706f完成它对DSA702b的操作。
在本发明的进一步的实施例中,地点路由代理808可以被配置用于动态选择DS706。例如,从该示例中假定,与每一个地点有关的采样设备806周期性的监视该地点和所关注的任何其他地点之间的“距离”。例如,地点1804a的采样器806a可以周期性地监视到地点2804b的“距离”,其中该“距离”由带宽、延迟和成本中的至少一个来测量,例如,带宽+延迟+成本的最低得分。然后采样器806a可以使得此“距离”计算的结果可用于地点1804a上的地点路由代理808a、808d、808g。采样器806a是可以根据它如何测量“距离”以及它多长时间一次测量这样的距离而自身可配置的。另外,采样器806a可以将它的“距离”确定基于从DS706接收到并且报告给采样器806a的实际测量(诸如响应时间)。这种动态方法考虑到改变的网络状况以及利用给定DS或通信路径的问题。可替换地,采样器806a可以位于DS706内,例如地点路由代理808自身内。
在本发明的进一步的实施例中,例如,假定地点路由代理808根据“成本”计算两个DS之间的“距离”或“接近度”。根据本发明的实施例,还假定成本要素是带宽、延迟和访问成本。当然,其它的部件可以包括成本的主要驱动器。还假定加权成本等式可以被表示为公式,诸如:(权重lx带宽)+(权重2x延迟)+(权重3x访问成本)。地点路由代理808可以被配置为周期性地计算此等式的新结果,例如每天、每小时、每分钟等。然后地点路由代理808可以确保当需要链接时,DS706首先尝试选择最低成本的DS706。当然,这可能意味着不位于相同的地点上的DS。可替换地,根据本发明的实施例,采样器806可以执行这些等式然后将结果提供向地点路由代理808的相关组。
别名和别名隐藏
图9A描述根据本发明的实施例的具有别名条目902的DIT900。DIT900包括一个或多个条目,诸如条目504a-504g等等、根节点602和别名条目902。
如前所述,在图5所示的DIB500中,条目或对象的例子由DN唯一地且明确地标识。但是,DN不必是客户端应用可以引用一个条目(诸如条目504f)的唯一的名称。别名条目(诸如别名条目902)是DIT(诸如DIT900)中的条目,其具有属性,诸如“别的条目名(aliasedEntryName)”,其包含DIT900中另一个条目的名称。因此,例如,别名条目902可以具有名为“别的条目名”的属性,它的值是名称“条目504f”。第二条目(例如,条目504f)不一定需要存在于DIT900中,尽管在此示例中它存在。还注意,DIT900中的别名条目902的结构不需要根本上不同于条目504a-504g,这里呈现的名称上的差别(“条目”对“别名条目”)是为了有助于理解别名条目的功能。
别名条目(诸如别名条目902)为条目(诸如条目504f)提供可替换的名称。别名是DIB500中的特定条目,其指向另一个条目,诸如条目504f。别名类似于文件系统中的符号连接。因此,别名是利用多个标识而没有复制的数据来提供数据库条目(诸如条目504f)的有益方式。根据本发明的实施例,如果数据被存储在不会经常改变(或许由供应系统410分配)的唯一的名称(或密钥)下但是需要通过各种不同的标识(诸如,例如,与IMSI323、MSISDN325、统一资源定位符(URL)等等有关的应用,其可以改变)公开访问,则别名是特别有益的。使用别名使得数据被存储一次然后经由被实施为别名的多个不同的标识引用。别名条目(诸如别名条目902)可以被增加、修改和/或删除而不影响该数据。
新的别名可以由别名创建模块905在DIT900中实施。根据本发明的实施例,别名创建模块905可以被配置为在DIT900中构造一别名,以使得其它部件(如图9B所示的名称解析模块909)可以随后对于从客户端应用接收到的数据请求执行别名解引用。别名创建模块905可以包括用户界面以使得可以在初始供应(例如,“运行中”)之后创建别名,以便使得能够迅速配置新的别名。可替换地,别名创建模块905可以由例如LDAP或DAP经由传统目录“增加目录(addEntry)”操作来调用。
在本发明的一些实施例中,别名创建模块905利用提供由该别名指向的条目的DN的强制属性来将该别名实施为DIB500中的条目。例如,假定条目504a具有DN“c=UK”,条目504c具有DN“o=我的公司,c=UK”以及条目504d具有DN“o=公司X,c=UK”。条目504f具有DN“员工ID(employeeID)=lll,o=我的公司,c=UK”。因此,别名条目902可以具有可替换的名称“cn=Joe,o=我的公司,c=UK”并引用条目504f。
目录服务的供应商(诸如CSP)可以想要使用别名,但是以不同于由各种已知协议和别名使用技术提供的方式来完成。例如,这样的目录服务供应商可能想要向可能还没有被设计有使用别名的能力的客户端应用(诸如HSS301)提供别名使用服务。另外,目录服务供应商也可能想要隐瞒一个或多个应用已经执行了别名使用,即使当该客户端应用本身可以执行别名使用。例如,为了安全原因,可以执行这样的别名隐藏。
图9B示出了根据本发明的实施例的别名隐藏模块903,其与包括别名903的DIT900交互以对来自于请求实体920(诸如客户端应用)的数据请求执行别名隐藏。
根据本发明的实施例,位于目录服务器(诸如图7A所示的DS706)中的别名隐藏模块903在来自于请求实体920的数据请求期间调解并且控制别名解引用(即是为了查询也是为了更新)而不管请求实体920的期望如何。因此,请求实体920可以代表诸如客户端应用、终端用户或远程DSA的实体,它们可能需要数据来在DSA的控制下完成在目录的一部分上开始的链接进程。例如,请求实体920可能是自身没有被配置为控制别名使用的HSS301和/或CSP想要对其隐藏别名使用的HSS301。
因此,根据本发明的实施例,别名隐藏模块903可以在呈现给请求实体920的结果中将条目中的名称替换为符合DIT900的请求实体的意见的名称。
使用别名隐藏模块903,条目(诸如条目504f)可以包含可以被请求实体920(诸如HSS301)使用不同的名称(诸如别名条目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的搜索结果可以包括在搜索中返回的条目的DIT900中的别名和非真实的名称。从请求实体的视角来看,别名表现为真实的条目。同样地,属于真实的条目的任何条目表现为属于该别名的条目。因而,请求实体920(诸如HSS301)可以使用该别名更新并查询该条目。
根据本发明的实施例,别名隐藏模块903可以执行三个分开的功能:
-由名称解析模块909控制别名解引用,可能与发出该数据请求的请求实体920(例如客户端应用)的期望相反,和/或
-由搜索/更新模块911控制别名解引用或由链接模块917链接的目录操作,可能与发出该数据请求的请求实体920(例如客户端应用)的期望相反,和/或
-修改在由搜索/更新模块911产生的或由链接模块917返回的结果中的名称,以使得它们相关于由发出该数据请求的请求实体920(例如,客户端应用)提供的基本名称,而不是解析的基本名称(RDN),以及此外,对于在子树搜索期间遇到的任何别名,递归地将相关的真实的条目名称替换为别名条目的相关名称,以使得它看起来好像在没有别名的解析的基本条目下面存在单个子树。
图9B示出了根据本发明的实施例的当在上述三种情况下使用别名隐藏模块903时的目录操作的处理。
对于访问目录中的数据的请求可以源于各种实体或源。例如,诸如搜索和更新的数据访问可以来自于客户端应用、终端用户、乃至诸如图7A所示的DSA702的目录系统代理。因此,如上所述,请求实体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所示的DS706)中的名称解析模块909执行名称解析处理,其是对于进入的目录操作的处理的开始部分。名称解析模块909使用由别名隐藏模块903提供给目录操作的作为参数的名称来将目录操作的基本条目放置在DIT900中。名称解析模块909依次考虑每个RDN以及定位匹配该RDN的条目,其是先前定位的条目(或对于第一RDN的根条目)的直接从属。根据本发明的实施例,此过程继续直到所有RDN都已被考虑过或者直到名称不能在本地被完全解析,除了遇到引用以使得该操作能够链接到也许能完全解析该名称的远程DSA。
根据本发明的实施例,在名称解析期间,如果名称解析模块909遇到别名条目,则可以重新启动名称解析过程,同时将该名称的当前解析的一部分替换为该别名条目的值,诸如上述“别的条目名称”条目属性。此操作的重新启动,在本领域中称为“别名解引用”,可以发生不止一次以完全地解析名称。
名称解析是在诸如X.500的协议中的常规过程,尽管根据本发明的实施例,根据任何一个特定的协议并不必须执行名称解析。例如,传统的LDAP协议将别名解引用限制为仅仅查询操作,尽管在传统的X.500协议中找不到此限制。更重要的是,此常规处理在请求实体902(诸如像HSS301之类的客户端应用)而不是别名隐藏模块903的控制下。换句话说,客户端应用不得不指定别名解引用操作应该发生。此外,传统的别名解引用的结果将尤其通过将该条目的完全解引用的名称包括在提供给客户端应用的结果中来指示该别名解引用已经发生。根据本发明的实施例,请求实体920没有必要指定别名解引用是否应该发生,以及请求实体920将不一定接收提供的结果中的条目的完全解引用的名称。
例如,假定名称解析模块909已经接收到对于位于DIT900中“根.条目1.条目2.别名(Root.Entryl.Entry2.Alias)”处的数据的读请求。名称解析模块909首先访问根602(步骤C1)。名称解析模块909然后在访问条目504c(步骤C3)之前访问对于此特定请求访问条目504a(步骤C2)。名称解析模块909然后访问别名条目902,并且发现别名条目902是别名条目以及该别名条目具有名称“根.条目1.条目2.条目3(Root.Entryl.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所示的DS706),搜索/更新模块911对由名称解析模块909提供的解析的条目执行由别名隐藏模块903请求的操作。在更新的情况下,搜索/更新模块911对条目(例如条目504f)执行更新(步骤F1)。在搜索的情况下,搜索/更新模块91执行开始于由名称解析模块909提供的定位的条目(例如条目504f)的搜索(步骤F1),以及也可以搜索它的从属的条目(例如条目504g)的子集或者全部(步骤F2)。在检查解析的条目下的子树时,搜索/更新模块911可能遇到其它的别名(例如,假定条目504g是别名),以及以类似于由名称解析模块909执行的方式来执行别名解引用。
搜索/更新模块911也可能遇到对远程DSA的从属的引用,其指示该子树被分割以及从该点起的任何从属的条目都被远程地保持。在此情况下,新的搜索操作(经由链接模块917)被链接(具有该可操作的别名隐藏方式)到该远程DSA(步骤I),以及来自于链接的操作的所有结果(步骤J)附于在本地产生的结果上。
搜索/更新模块911向别名隐藏模块903报告采取的动作、(在本地和/或从链接的搜索)检索的信息、以及采取的路径(步骤G)。搜索/更新模块911通常使用搜索中的条目的完全解引用的名称来向别名隐藏模块903报告路径信息。
链接模块917作为在引用的远程DSA上的请求实体,将链接的操作传递给远程目录操作服务器931。位于目录服务器(诸如图7A所示的DS706)中,链接模块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.entry1.entry2.alias902.entry4)(可能请求实体920期待的树而不是目录中的实际树:根.条目1.条目2.条目3.条目4(root.entry1.entry2.entry3.entry4))。因而,根据本发明的实施例,别名隐藏模块903可以修改由搜索/更新模块911产生的结果中的名称,以使得它们相关于由请求实体920提供的基本名称,而不是解析的基本名称(RDN),以及以使得被搜索作为从属于该基本条目的别名条目的结果的任何条目被表示“在原处”而不是在明确的另外的子树内。
在本发明的实施例中,如果别名隐藏模块903返回搜索结果中的任何别名的目标并且RDN属性被登记在返回的属性列表上,则可以在RDN属性上发生替换,即别名RDN替换列表中的真实RDN。可替换地,如果该别名RDN也是该条目的真实属性,别名RDN可以已经存在于该列表中,或者可以附加于返回的属性列表后。
如图4所示,对网络中的每一个应用操作的多个独立的数据仓的问题的解决方案是组合一个数据存储库中的数据。如前所述,在有些情况下,准确相同的数据存在于不同的已有数据存储库中,例如两个数据存储库具有用户“约翰史密斯”。但是,在有些情况下,一个应用可能需要DN具有名称“客户”而另一个应用可能需要DN具有名称“用户”。数据存储库中的DN可以具有名称“名称”。在所有三种情况下,DN的“用户”、“客户”和“名称”都指向具有值“约翰史密斯”的数据条目。DN可以是具有两个别名“用户”和“客户”的“名称”,而不是在数据库中复制“约翰史密斯”三次。根据本发明的实施例,假定需要名称“用户”的应用从系统中去掉,则可以删除“用户”的别名。进一步假定增加了为用户的名称使用DN“Namn”的新应用,则可以简单地增加“Namn”别名。
变量
图10A描述根据本发明的实施例的具有变量条目1002的DIT1000。DIT1000包括诸如条目504a-504e等的一个或多个条目、根节点602和变量条目1002。变量条目(诸如变量条目1002)提供存储在数据存储库404中的数据的可替换的查看(view)。变量条目1002定义把来自于DIT1000中不同条目(诸如条目504c和504d)的属性集中在一起的条目。因此,当诸如客户端应用的请求实体访问变量条目1002时,请求实体从诸如条目504c和504d的其它条目接收对属性的访问。对这些其它条目的访问对请求实体可以是透明的,其不需要知道基础数据是如何被构造的。
因而,只要请求实体以它期待的方式检索数据,则请求实体就可以好像数据仍然存在于例如单个专有的数据仓中一样工作。换句话说,根据本发明的实施例,不需要对请求实体做出改变来使得适应该变量的存在。更重要的是,变量条目的实施方式有时可能是对避免不得不对请求实体做出变化以便请求实体与DIT1000正确地互操作所必不可少的。相似地,请求实体的数据需要的变化可以通过创建与请求实体的新数据需要匹配的变量条目来实现。根据本发明的实施例,实质上,变量在属性级别改变方向(redirect),而诸如图9B所示的别名902的别名在条目级别改变方向。
根据本发明的实施例,变量条目1002是DIT1000中的条目,除了“对象类”属性外,其不需要例示的属性。相关的“对象类”定义被标记为“变量”并且包括许多属性。变量对象类的成员关系(membership)指示应当在处理该条目的一个或多个属性中访问规则。例如,如图10A所示,对象类属性值“变量”指示属性“我的公司联系”和“公司X联系”具有这样的规则:由DIT1000中的其它条目(“具体”条目,诸如条目504c)中的其它属性(“真实”属性)导出他们的值。因此,例如,在变量条目1002中,在条目504c的“地址,联系,网站”属性中找到“我的公司联系”属性的值。
在本发明的各个实施例中,变量创建模块1005在初始供应时可以是有效的。因而,可以随着由该变量引用的数据来供应该变量。根据本发明的实施例,在初始供应之后的某一时间,根据需要,该变量创建模块1005也可以创建运行中的变量。
根据本发明的实施例,可以使用变量创建模块1005在DIT1000中例示给定变量(例如,变量1002)。例如,如图10A所示,变量创建模块1005可以创建变量1002以使得它是包括“我的公司联系”属性和“公司X联系”属性的变量对象类的成员,其中“我的公司联系”属性从属性为“地址”、“联系”和“网站”的条目504c接收它的数据,而“公司x联系”属性从属性为“地址”、“联系”和“网站”的条目504d接收它的数据。变量创建模块1005可以提供用户界面从而可以在运行中创建变量以使得能够迅速配置新的变量。可替换地,变量创建模块1005可以通过LDAP或DAP经由传统目录“增加条目(addEntry)”操作来调用。
根据本发明的实施例,一旦变量创建模块1005已经在DIT1000中创建了变量1002,则对于变量1002的属性的请求可以被透明地提供给请求由这些属性代表的数据的请求实体。例如,假定请求实体请求“我的公司联系”的地址属性的数据,因为变量对象类将“我的公司联系”的地址属性定义为条目504c的地址属性,所以这是变量1002返回到请求实体的数据。
图10B示出了根据本发明的实施例的在包括来自于请求实体1020(诸如客户端应用)的数据请求的变量1002的DIT1000中的变量处理。请求实体1020可以代表诸如客户端应用、终端用户或远程DSA的实体,它们可能需要数据来在DSA的控制下完成在目录的一部分上开始的链接进程。
根据本发明的实施例,目录操作服务器1007代表被配置为接收数据请求然后将它们提供给与目录服务器有关的适当的处理单元以使得可以完成请求的操作的实体。例如,LDAP服务器代表典型的目录操作服务器,诸如目录操作服务器1007。目录操作服务器1007与保持(host)DIT1000的数据的数据存储机构(mechanism)非常接近(例如,共同定位)。因而,变量条目(诸如变量1002)的处理(例如,属性值推导)可以在向/从基础数据存储机构访问时执行。例如,在目录操作服务器1007处处理变量条目可以发生在实际上存储该数据的目录系统代理(诸如图7A所示的DSA702)中。例如,诸如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=UK”。变量条目1002具有DN“变量o=我的公司,c=UK”。用于该具体条目的DN规则是“o=变量o的值,c=UK”。由于“变量o”的值是“公司X”,因此具体条目具有DN“o=我的公司,c=UK”,换句话说,它的值是在条目504c中找到的。
根据本发明的实施例,位置推导器1011然后将导出的位置提供给数据读取/更新模块1013,该数据读取/更新模块1013然后对由数据存储机构保持的数据执行请求的进程。数据读取/更新模块1013在执行它的任务时应用任何与数据(例如,它的格式)相关的操作规则(例如,值映射)。根据本发明的实施例,对于变量对象类中的属性(例如,变量1002的“我的公司联系”属性),在具体条目中包含导出的属性值的真实属性(例如,条目2的“地址”、“联系”、“网站”属性),经历值映射或函数。例如,数据读取/更新模块1013可以运用将来自于真实属性的属性的整数值变为变量条目中的属性的实数值(realvalue)的值映射规则,例如从“1”到“1.0”。数据读取/更新模块1013可以将一个函数应用于例如从真实属性到变量条目中的属性获得的属性,例如,可以将时间增加12以将它的格式从期望的美国时间(“1p.m”)转换为期望的欧洲格式(“1300”)。根据本发明的实施例,读取/更新模块1013提供关于它的动作的信息,该信息可以被报告回到请求实体1020。此外,根据本发明的实施例,如前所述,报告可以构造以使得DIT1000的实际性质对请求实体1020是透明的(例如,隐藏)。
位置推导器1011可以确定,对于给定数据请求,变量的数据的一些部分位于远程目录中。因此,位置推导器1011将数据请求的该部分转发给链接模块1017,该链接模块1017与远程目录操作服务器1031交互以访问请求的数据。根据本发明的实施例,远程目录操作服务器1031与目录操作服务器1007类似,已被配置为处理变量条目的操作。
在可替换的实施例中,位置推导器1011可以将对变量的目录搜索操作分解成一个或多个对相关的具体条目的目录搜索操作。这些导出的操作由链接模块1017或者链接到远程目录操作服务器1031或者链接到相同的目录操作服务器1007,用于作为正常的目录操作处理。链接的结果随后由数据读取/更新模块1013使用来产生输出结果。例如,对于基本条目变量1002(所有用户属性)的输入基本搜索被分解成两个基本搜索,一个对条目504c执行,一个对条目504d执行。包含在这两个搜索的结果中的属性值被数据读取/更新模块1013使用来推导在输出结果中返回的属性值。根据本发明的实施例,位置推导器1011可以同样地将对变量的目录更新操作分解成一个或多个对相关的具体条目的目录更新操作,并且向前链接它们。
在另一个可替换的实施例中,此分解进程可以由位置推导器作为协议适应的一部分来处理,下面将进行讨论。根据本发明的实施例,还将在图11A中进行讨论的协议适应模块1107可以利用变量处理来工作。根据本发明的实施例,协议适应是变量处理的可选项。
根据本发明的实施例,可以扩展变量条目的概念以使得变量条目1002可以包含真实属性值和推导的属性值的混合。这可以作为该条目是其一个成员的真实和变量对象类的混合的结果,或者因为单个对象类可以具有真实和推导的属性的混合。此外,单个属性可以具有存储在变量条目1002中的真实值以及从其它具体条目中导出的值。例如,变量条目1002可以具有额外的真实属性“可替换的联系”,并且此属性可以自己保持用于可替换的联系的实际数据。在这种情况下,位置推导器1011简单地将此特定位置提供给数据读取/更新模块1013。
本发明的进一步的实施例使得能够扩展与变量处理有关的各种规则。例如,用于推导从其中提取属性值的具体条目的名称的变量对象类规则、用于识别具体条目内的属性的规则、和用于从具体条目识别属性值的映射的规则都可以扩展至包括诸如下列的项:
-变量条目1002内真实属性值的使用,和/或
-上下文信息的使用,诸如时刻和请求用户,和/或
-自身保持的作为变量条目内的真实属性值的可替换的规则。
例如,根据上下文信息,变量可以被实施来反映用户的“坐办公室的人”和“上晚班的人”,以使得在一天的特定时间,当访问该变量时位置推导器1011将定位来自于一个数据集的特定属性,而在一天的其它时间,当访问该变量时该位置推导器1011将定位来自于另一个位置的数据。例如,可替换的规则可以包括用于变量的一种特定情况的固定规则。
变量条目(诸如变量1002)可以简化DIT1000中的数据更新。例如,因为“我的公司联系”的地址属性是数据条目504c的地址属性,所以更新“我的公司联系”和数据条目504c二者的地址条目和更新数据条目504c的地址条目一样简单。如果设想DIT1000不仅仅包含该一个变量1002,而是许多变量条目,每个条目可能与不同的请求实体有关,但是所有的条目都指向数据条目504c,则可以看出此方法的简单性。
在本发明的一些实施例中,变量使得能够以适合于为企业结构建模但是不需要考虑特定的请求实体(诸如HLR307、HSS301等等)的具体需要的方式来设计数据分级结构(hierarchy)。在此方法中,一旦建立数据分级结构,则可以为每一个请求实体增加变量条目。变量条目将请求实体需要的属性组合到简单条目中或条目的简单分级结构中。因而,请求实体不需要属性实际上位于其中的数据分级结构的专门知识。从而变量(诸如变量1002)提供从请求实体要求的属性到数据结构中属性的实际位置的映射。
适应-协议适应
图11A示出了根据本发明的实施例的协议适应模块1107。协议适应模块1107可以提供目录操作(诸如LDAP或DAP)的非标准的处理。
对目录中的数据的请求可以起因于各种源。例如,数据访问可以来自客户端应用、终端用户、乃至目录系统代理(诸如图7A所示的DSA702)。因此,根据本发明的实施例,请求实体1115可以代表诸如客户端应用、终端用户或远程DSA的实体,它们可能需要数据来在DSA的控制下完成在目录的一部分上开始的链接进程。无论如何,请求实体1115向目录操作服务器1109发送数据请求。根据本发明的实施例,目录操作服务器1109代表被配置为接收数据请求然后将它们提供给与目录服务器有关的适当的处理单元以使得可以完成请求的操作的实体。例如,LDAP服务器将代表目录操作服务器,诸如目录操作服务器1109。
根据本发明的实施例,协议适应模块1107检查输入到目录操作服务器1109的操作。在协议适应模块1107中,输入操作被映射到零个、一个或更多的进行中操作。协议适应模块1107随后将每一个映射的操作的结果合并成为单个结果,以使得它们可以被返回到发起的请求实体1115。根据本发明的实施例,协议适应模块1107中的规则选择器1135选择提供映射输入操作和输出结果的指令的一组规则(规则集)。根据本发明的实施例,规则选择器1135使用该输入操作的零个、一个或多个字段,诸如“操作类型”和“操作中的条目名称”,来推导该规则集。根据本发明的实施例,规则选择器1135可以找到推定的规则集,由该推定的规则集来选择配置数据1121中以及该目录中的规则集。
根据本发明的实施例,规则选择器1135可以使用输入操作中的任一字段或字段的组合来识别相关的规则集。此外,发起用户(例如,请求实体1115)可被用在该规则选择过程中,其它的上下文数据、诸如时刻也可以。规则选择器1135也可以使用与数据请求自身相关的当前“工作”数据作为该规则选择过程的一部分,诸如当适应过程发生在输入操作的处理已经开始之后时。例如,如果协议适应发生在名称解析之后,则解引用的别名的内容可以被用于规则选择。因此,根据本发明的实施例,规则选择器1135可以结合图9B所示的名称解析模块909来工作。根据本发明的实施例,尽管图11A未示出,但是协议适应模块1107可以被配置为具有其它的功能来操作,诸如图9B所示的与别名隐藏有关的部件。
所有这样可以用在规则选择过程中的数据被称为规则选择数据。规则集的选择通常包括相对于推定的规则中的值断言来匹配规则选择数据,或者包括单个值或者以逻辑组合,诸如“AND”和“OR”。值断言可以是简单的等式或不等式,或者可以包括其它的准则,诸如许多推定的规则之间的“最佳匹配”。例如,如果规则将由输入操作中的条目名称选择,则规则选择器1135选择的规则可能是在该规则中命令的RDN的最大数目匹配输入操作中的名称的最大数目-换句话说,最长的名称前缀匹配。根据本发明的实施例,值断言也可以包括变项规则或通配符规则,并且是可扩展的,以使得需要时能够增加新的断言类型。例如,如果匹配RDN,则该断言可以被构造为使得仅仅属性类型需要匹配,利用该属性的任何值提供匹配。
根据本发明的实施例,规则选择器1135选择的规则集指定在协议适应模块1107的控制下执行的正在进行的操作集。该规则集同时可以指定要被立即返回到请求实体1115的结果或错误和/或诸如“记录该操作”的一组动作。正在进行的工作可以顺序或并行地处理。在顺序处理的情况下,一次操作的结果可以被协议适应模块1107用作后一操作的输入,诸如下面图11B所示的示例。根据本发明的实施例,正在进行的操作的字段可以由协议适应模块1107填入从输入操作中的任何字段提取的可变数据(可选地经历映射)、和/或任何其它规则选择数据、和/或由该选择的规则提供的固定数据的组合。同样地,协议适应模块可以将输出结果的字段填充有从结果中的任一字段提取的可变数据(可选地经历映射)和由选择规则提供的固定数据的组合。
图11B示出了根据本发明的实施例的协议适应的连续或顺序处理的示例。BSS402发送对于用户的妻子的婚前姓的请求。这里,BSS402充当图11A所示的请求实体1115。与协议适应模块1107有关的规则选择器1135检查由目录操作服务器1109接收到的输入操作(“得到妻子的婚前姓”)并且识别指定两个正在进行的操作的规则。第一正在进行的操作“得到妻子的姓名”检索该用户的妻子的姓名,例如“BeckyJones”。第一正在进行的操作的结果为第二正在进行的操作“找到婚前姓”提供数据,该第二正在进行的操作检索“BeckyJones”的婚前姓。协议适应模块1107帮助目录操作服务器1109将答案“BeckyRomanov”返回到BSS402。使用此方法,BSS402不知道或不需要知道协议适应模块1107在答复该请求时所采取的所有步骤。
协议适应模块1107可以被配置为工作在在目录操作服务器1109的指导下采取的处理范围内的各个阶段。因而,例如,协议适应可以发生在名称解析处理(诸如由图9B所示的名称解析模块909提供的)之后但是在搜索/更新处理(诸如由图9B所示的搜索/更新模块911提供的)之前。
根据本发明的实施例,由于请求实体1115可以是远程DSA,因此协议适应模块1107可以处理链接的操作,以提供完全分布式协议适应。对链接的操作执行协议适应意味着多级这样的适应,换句话说,用于每一个链接步骤的可能附加适应通道。
协议适应模块1107可以被配置为与变量(诸如图10所示的变量1002)互操作。因而,例如,根据本发明的实施例,变量条目可以包含在协议适应操作中,如图10B的协议适应模块1107的存在所示的。
根据本发明的实施例,如图11A所示,协议适应模块1107充当目录操作服务器1109的附加模块。在此实施例中,协议适应模块1107位于与目录操作服务器1109在访问/物理上接近的服务器中。在一些实施例中,协议适应模块1107甚至可以位于保持目录操作服务器1109的相同的机器(例如,服务器计算机)。通过其中协议适应模块1107充当虚拟目录操作服务器的实施例(诸如图11C所示的实施例),此“附加模块”实施例可以提供改进的性能,特别是在特定的需要实时的环境中。
在图11C所示的本发明的可替换的实施例中,协议适应模块1107实质上充当虚拟目录服务器(或LDAP/DAP代理服务器),向诸如图7A所示的DS706a的目录操作服务器1109发送通信(例如,LDAP或DAP操作)。在此实施例中,协议适应模块1107向目录操作服务器1109提供修改的请求以在由DIT1160代表的目录中处理。因而,根据本发明的实施例,协议适应模块1107检查到目录操作服务器1109的所有输入操作。规则选择器1135将输入操作映射到零个、一个或多个正在进行的操作。协议适应模块1107随后将每一个映射的操作的结果合并成为单个结果并且将它发送回发起的请求实体1115。根据本发明的实施例,用于映射输入操作和输出结果的规则由该输入操作的一个或多个字段选择,诸如“操作类型”和“操作中的条目名称”。用于映射输入操作和输出结果的规则也可以被存储在配置数据1121中。在此实施例中,规则选择数据限于DIT1160的内容的外部表示,例如LDAP消息,以及协议适应发生在目录操作服务器1109的处理之前和/或之后。
适应-名称适应
图11D描述根据本发明的实施例的具有由协议适应提供的适应命名配置的DIT1100。DIT1100包括一个或多个条目,诸如条目504a-504f等、虚拟条目504g-504i、以及根节点602。DIT1100也包括标有适应名称条目1102a的条目,其是真实条目,如同条目504a-504f一样,其经历到标有适应名称条目1102b的虚拟条目的映射。
适应命名提供用于DIT1100中的条目的可替换的名称的另一种机制。但是,与别名和变量不同,适应名称本身不是目录条目。适应命名通过配置数据(例如,配置数据1121)来实现。根据本发明的实施例,协议适应模块1107中的规则选择器1135使用规则选择数据和配置数据1121来识别可替换的名称和他们的等效“真实”名称之间的一组适应名称映射1104。在搜索的情况下,如果过滤器准则可以被适配到搜索的基本名称的一部分,则利用过滤器的大范围的搜索可以被适配为更窄范围的搜索;例如,以利用可能存在但是请求实体实体1115不知道的别名。根据本发明的实施例,利用包括许多“或”语句的复杂过滤器的搜索可以被适配为许多搜索,一个搜索用于“或”替换的每一个。
根据本发明的实施例,在数据检索及其它操作期间,适应命名的使用可以对使用该名称的请求实体(例如,该客户端应用)是透明的。因而,该请求实体(例如,请求实体1115)使用它认为是真实的名称并且接收回请求的信息。例如,假定条目1102a的DN是“员工Id(employeeID)=112,o=我的公司(MyCompany),c=UK”,并且进一步假定在1102a和1102b之间存在适应名称条目。最后,假定请求实体使用它认为是适当的名称(例如,“员工Id=112,区域(area)=员工管理(employeeAdmin),o=另一公司(AnotherCompany),c=DE”)来访问条目1102b中的数据,则由于1102a和1102b之间的适应的映射,将检索到相同的数据。因而,1102b的名称是1102a中的数据的可替换的名称。
适应-属性适应
图11E描述根据本发明的实施例的具有由协议适应提供的属性适应的DIT1150。DIT1150包括一个或多个条目,诸如条目504a-504f等和根节点602。DIT1150也包括具有真实属性1108a-1108e的条目1105a,其经历到具有虚拟属性1108f-1108j的虚拟属性适应的条目1105b的映射。
真实条目1105a包括一个或多个属性,诸如属性1108a-1108e,以及属性适应的条目1102b包括一个或多个属性,诸如属性1108f-1108j等等。在本发明的实施例中,条目1105a的该一个或多个属性1108a到1108e包括诸如例如“名”、“姓”、“地址”、“县”和“邮政编码”的用户数据之类的数据。相似地,属性适应的条目1105b的一个或多个属性1108f到1108j包括诸如例如“名”、“姓”、“地址”、“州”和“邮政编码”等中的任何一个的数据。
属性适应为诸如属性1108a-1108e之类的属性提供可替换的名称和/或值。在本发明的实施例中,协议适应模块1107中的规则选择器1135使用配置数据1121识别各个属性之间的属性适应映射1106。例如,配置数据1121指示协议适应模块1107执行从属性名称1108a到可替换的属性名称1108f的一组映射。在本发明的各个实施例中,当请求实体(例如,客户端应用)运行涉及具有属性映射的属性的操作时,该属性映射将该应用理解的诸如属性1108a-1108e之类的属性名称和值转化为DIT1150理解的适当的属性名称和值。例如,假定属性1108a具有格式“实数”并且假定它的值为“1.0”。进一步假定适应的属性1108f具有格式“整数”并且假定1108f已经被适配到属性1108a。如果与1108f有关的应用执行对1108f的读请求,则该应用期待返回整数“1”而不是实数“1.0”。由于属性适应模块1107执行的属性适应,访问适应的属性1108f的请求实体接收到期待的整数格式的数据。
在本发明的实施例中,当属性适应结合适应命名来实现时,该组合不仅为使用一条目的可替换的名称提供方便,而且也为转化该条目的属性的名称和/或值提供方便。进一步,在本发明的一些实施例中,可以组合适应命名和属性适应来实现应用独立于基础的数据库结构。根据本发明的实施例,适应命名和属性适应使得一个人能够考虑核心商业的直接需要而不是其它考虑(诸如遗留应用的需要)来设计且命名数据存储库中的核心实体。接着,可以增加适应的名称和属性映射以相对于特定的应用(诸如HLR307、HSS301等等)提供完全可替换的命名分级结构。这些可替换的分级结构可以使用不同的DN以及可替换的属性名称来指代核心数据库条目。数据存储库404与DIB500使用定义的映射来将应用请求转化到DIB500条目和属性名称。根据本发明的实施例,该映射可以基于每个应用(或基于DIB500用户)来定义。在本发明的实施例中,当多于一个应用需要不同的命名分级结构时,这些应用中的每一个可以与用适当映射定义的不同的用户名称连接。
子树的简化的访问控制
图12示出了根据本发明的实施例的使用协议适应的形式实现的访问控制(AC)系统。
AC系统通常是网络(例如,服从LDAP的通信网络)中采取的通信协议的一部分,并且可以被实现为访问控制单元(ACU)1201。ACU通常包括各许可模块,诸如用户许可模块、验证模块和优先模块。ACU然后组合各种许可文件以形成一组一致的和有益的许可。ACU可以将多个许可组合在一起以便为几个不同的组/用户创建一组许可。例如,在X.500协议中,传统的ACU提供灵活的访问控制方案,其使得非常细粒度的访问控制降至单独条目级别或可以应用于目录(诸如图6所示的目录600)的子树。这样的传统的访问控制方案在灵活的同时可能在保持控制ACU的数据(访问控制信息(ACI)1217)中产生可观的管理开销,以及当在运行时间应用该访问控制时产生由ACU引起的可观的处理开销。这对于包括几百万个条目的目录特别麻烦,该目录可能不得不被个别管理用于访问控制,以及那些条目将被实时地访问。大量的管理开销也具有安全性含意,因为管理的方案越复杂,越有可能包含错误,因此潜在的安全性降低。
在本发明的各个实施例中,目录服务器(诸如DS706a)为了对于给定数据请求做出访问控制判定,可以需要诸如与目标条目及其属性有关的用户名、验证级别、正被执行的操作以及ACI1217之类的信息。
在本发明的实施例中,每个DSA(诸如图7A所示的DSA702)的管理区域提供模式级别的访问控制,以使得ACI1217基于对象类和属性类型被配置,而不是基于各个目录条目被配置,以及ACI1217应用于该DSA管理的所有条目。这样的模式级别访问控制更容易管理和验证以便校正,并且可以被优化用于实时访问。在本发明的实施例中,对于访问控制,管理区域采用多重租借(multi-tenancy)方法。因而,为每个“租户”(例如,客户端应用)分配该管理区域内的一个或多个子树,并且即使该条目与其它子树内的条目共享公共对象分类和属性类型因此共享ACI1217,每个“租户”也仅仅可以访问那些子树内的条目。
根据本发明的实施例,当处理从请求实体接收到的目录操作时,诸如客户端应用、终端用户及其它DSA的尝试完成链接操作时,ACU1201被配置为代表目录操作服务器1213做出访问控制决定。例如,用户A1203可以请求对条目504c的操作,而用户B1205可以请求改变条目504e。根据本发明的实施例,目录操作服务器1213与图11A和图11C所示的目录操作服务器1109类似,代表被配置为接收数据请求然后将它们提供给与目录服务器有关的适当的处理单元以使得可以完成请求的操作的实体。例如,LDAP服务器将代表目录操作服务器,诸如目录操作服务器1213。根据本发明的实施例,目录操作服务器1213使用ACU1201来做出关于是否允许请求的操作中的全部、部分或无一进行以及同样地是否允许结果中的全部、部分、或无一返回到该发起者的决定。
根据本发明的实施例,安全性协议适应模块1215检查输入到目录操作服务器1213的操作。安全性协议适应模块1215按照与图11A和图11C所示的协议适应模块1107的方式类似的方式工作。与协议适应模块1107类似,安全性协议适应模块1215可以根据一个或多个选择规则(规则集)来修改输入的目录操作。安全性协议适应模块被配置为在目录操作服务器1213和ACU1201之间的交互之前工作。注意,安全性协议适应模块1215的使用不排除在输入操作的相同的或不同的处理步骤中使用协议适应模块1107。相似地,协议适应模块1107可以被配置为提供由安全性协议适应模块1215提供的功能的超集(superset)。
根据本发明的实施例,安全性协议适应模块1215可以被配置为相对于一组名称前缀来匹配输入操作的基本名称。要被匹配的该组名称前缀可以为发起请求的操作的请求实体(例如,像用户1203的客户端应用)而被配置。该组名称前缀提供该规则选择标准以及可以存在于配置数据1210中和/或存在于诸如DIT600的目录的一部分中。
根据本发明的实施例,最长的匹配名称前缀识别要被使用的规则。例如,如果客户端应用请求对条目“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”输入的最长的前缀。根据本发明的实施例,选择的规则集可以包括关联的动作,诸如:“作出错误反应”、“记录操作尝试”或“继续接收到的操作,但是为了访问控制的目的,假定不同的用户和/或验证级别(有效的用户)”。在后一种情况下,当接着采用ACU1201来做出访问控制决定时,使用有效的用户,从而导致根据原始的用户和匹配的名称前缀的组合做出不同的访问控制决定。换句话说,根据本发明的实施例,该结果是模式级别的访问控制方案,然而提供子树访问控制。原则上,此方法可以被向下应用至单个条目级别。
例如,如图12所示,用户A1203和用户B1205是外部用户。进一步假定管理区域的ACU1201已被配置为使得用户A1203和用户B1205都没有对DIT1200中的任何条目的读或写许可。进一步假定已经创建了两个特定的用户,用户(user)R1207和用户W1209。用户R1207具有对DIT1200中的任何用户条目的读许可,以及用户W1209具有对DIT1200中的任何用户条目的读和写许可。更进一步假定不允许外部客户端应用(诸如用户A1203)绑定作为用户R1207或用户W1209。
因此,安全性协议适应模块1215将规则定位在配置数据1210中,以使得如果用户A对具有名称前缀“P1”的子树内的条目(即,条目504a、504c、504d中的任何一个)执行操作,则有效的用户被作为是用户W1209。对于所有的其它操作,有效的用户保持用户A1203。安全性协议适应模块1215也包括第二规则,以使得如果用户B1205对具有名称前缀“P1”的子树内的条目执行操作,则有效的用户是认为是用户R1207,和第三规则,即如果用户B1205对具有前缀“P2”的子树内的条目(即,条目504b、504e中的任何一个)执行操作,则有效的用户被认为是用户W1209。对于所有的其它操作,有效的用户保留作为用户B1205。
这三个规则的结果是用户A1203仅具有对子树P1内的条目的读/写访问,以及用户B1205具有对子树P1内的条目的读访问以及也具有对子树P2内的条目的读/写访问。
根据本发明的实施例,如同协议适应模块1107一样,安全性协议适应模块1215可以被配置为在名称解析之后但是在该操作处理的其余步骤之前操作。这意味着结果的子树访问控制可以基于完全解引用的别名,而不需要对别名名称本身配置任何访问控制。因而,根据本发明的实施例,当用户具有多个标识并且经由代表那些标识的别名访问时,仅仅代表该用户的真实条目需要被组合到子树用于访问控制目的。因此,根据本发明的实施例,安全性协议适应模块1215,与协议适应模块1107类似的,可以与图9B所示的名称解析模块909互操作。相似地,根据本发明的实施例,尽管图12未示出,但是安全性协议适应模块1215可以与图9B所示的别名隐藏的其它部件互操作。相似地,根据本发明的实施例,尽管图12未示出,但是安全性协议适应模块1215可以与变量处理(诸如图10B所示的变量处理)互操作。因而,例如,根据本发明的实施例,与图10B所示的目录操作服务器1007有关的变量处理的部件可以与图12所示的目录操作服务器1213有关。
根据本发明的实施例,目录操作的结果通常不包括有关调用该操作的用户的信息,因此出于安全考虑,请求应用不会知道它的请求的动作实际上已经被代理用户执行。
移动用户数据系统
图13A示出了根据本发明的实施例的在通信网络中用于数据存储库当中的用户数据的改进通信的移动用户数据系统,诸如移动电信系统204。
当尝试实现跨越地理/网络边界的大规模的目录服务器系统时,常常会出现问题,在那网络性能/延迟是不可预测的、也不能保证和/或一般来说是受限制的。这种情况常常发生在使用卫星链路(例如,印度尼西亚岛)或长途连接(例如,北美洲到欧洲/UK)的配置中。在这样的配置中,数据随长距离的实时复制常常是不切实际的,并且由于IP分组的过长的传输延迟,支持“单个逻辑目录”越过全部位置的X.500请求的实时链接也常常是不切实际的。例如,在任何给定的北美运营商网络中,从纽约NY向西雅图WA发送单向IP分组可能超过50ms。仅仅是传输延迟,而不包括目录处理时间,就超过了该目录的客户端应用在很多情况下可以等待响应以更新或查询的最大时间。
根据本发明的实施例,对于此通信问题的解决方案应该最小化具有带宽/延迟问题的布置地点之间需要的通信/带宽,而同时提供单个逻辑目录,在该逻辑目录中,任何目录服务器系统可以服务由该分布式解决方案保持的任何数据。这样的解决方案例如可以支持横跨北美洲和UK的HSS,或横跨印度尼西亚岛的单个逻辑HLR。
在移动用户数据系统的实施例中,用户简档数据由DSA1302以类似于传统的无线网络基于用户的网络连接(attachment)/访问的点支持从HLR307(本地网络中的移动性数据库)到VLR303(在用户设备当前连接的网络处的用交换设施配置的移动性数据库)的用户的无线简档(例如,GSM或ANSI-41定义的用户简档)的移动部分的方式、基于引用/访问的位置来动态地保持。在初始连接到该网络之后,VLR包含全部必要的用户和设备数据以使得局部交换系统能够完成呼叫;如果该数据不位于本地,则如果每次处理呼叫时都不得不联系远程HLR,则呼叫建立时间可能变得过多。此HLR-VLR概念和相关简档对于无线技术和规范(GSM/ANSI-41)是特定的,并且一般不能应用于任何种类的电信网络的任何用户简档数据。根据本发明的实施例,移动用户数据将此概念提高到更通用的级别,其对于它被配置到的接入网络的类型是不可知的,而且使得能够服务任何实时电信核心网络应用的数据需要的用户简档可行。根据本发明的实施例,移动用户数据系统基于高度分布且可调整的X.500目录。X.500目录使得用户简档数据能够被在地理上分布,而同时看起来该网络客户端作为其中可以从X.500目录的任何服务器检索任何数据的单个逻辑数据库。在如上所述配置放置不同的DSA跨越引入大的传输延迟的地理的情况下,移动用户数据系统的实施例检测对数据的客户端访问何时超过可配置的最小服务质量阈值并且动态地将用户简档数据从远程DSA传输到它当前被访问的本地DSA。因而,在该移动用户数据系统中,当数据被使用时数据被保持在接近于它被使用之处的DSA上,以避免对于每个请求都需要对潜在的连接的复制或链接,而同时仍然提供统一的目录用于供应。移动用户数据系统的进一步的实施例允许服务或应用用户简档数据的特定的部分或子集能够基于如上所述相似的原理被独立地再配置。因而,根据本发明的实施例,对移动用户数据系统的该用户和服务特定的扩展使得应用/服务特定的数据的再配置成为可能,并且使得不同的用户数据位于不同的DSA中,同时使得当需要时它能够被在本地访问。
在此方法中,数据开始被供应到特定的DSA,诸如DSA1302a;但是,在从诸如DSA1302c的远程DSA初始访问(诸如从查询或更新)时,用户数据被传输到支持该查询/更新的远程DSA中一次。该远程DSA大概是对于该用户或代表该用户而动作的应用的局部DSA。根据本发明的实施例,在数据传输之后,涉及此用户数据的全部局部查询在该DSA上本地完成。实质上,移动用户数据系统的实施例实现通用用户使用者简档,通常可由CSP定义,以及该数据基于到数据库的接入点是移动的(例如,通过使用诸如LDAP或DAP的协议)。因而,例如,根据本发明的实施例,如果由于过度的传输延迟而不满足服务质量以及其它传输特性和度量满足或不满足,则数据被移动。
例如,假定HSS1305的用户数据开始时已被供应在DSA1302a上。进一步假定与用户1309a有关的此用户数据的该部分已被配置为适合于传输。当用户1309a(和/或代表该用户的设备或服务器)与HSS1305交互以使得将要请求数据查询和/或更新时,DSA1302a将该用户的数据传输到DSA1302c,该DSA1302c比DSA1302a在物理上更接近于用户1309a(由此由于较低的传输延迟而提供较快的访问)。在此传输后,DSA1302c将保持并负责与HSS1305相关的用户1309a的数据。
相似地,假定HLR1307的用户数据开始时已被供应在位于岛1303上的DSA1302d上。进一步假定与用户1309b有关的此用户数据的该部分已被配置为适合于传输。当用户1309b(或代表该用户的设备或服务器)与HLR1307交互以使得将要请求数据查询和/或更新时,DSA1302d将该用户的数据传输到DSA1302e,该DSA1302e位于岛1304上且比DSA1302e在物理上更接近于用户1309b,因而提供对数据的更快的访问。在此传输后,DSA1302e将保持并负责与HLR1307相关的用户1309b的数据。
图13B示出了根据本发明的实施例的包括如图13A所示的移动用户数据系统的典型部件。
根据本发明的实施例,NSD事件转发器1312a位于DSA1302a中的数据存储库接入点处,并且监视对于存储库1318a中的用户简档的访问请求(例如,监视LDAP访问),然后测量相对于配置数据1320(诸如,预配置的服务简档的质量)的响应时间。如果NSD事件转发器1312a检测到用户接入(例如,LDAP操作)已经超过对于客户端应用的可接受的性能的阈值(如配置数据1320所定义的),则NSD事件转发器将这些事件发送到NDS传输管理器1314,其中包含对于该特定的用户简档数据的适当的细节。NDS事件转发器1312a通常位于被配置为提供对用户简档存储器的访问的DSA(诸如图13A所示的DSA1302)上。因而,根据本发明的实施例,移动用户数据系统可以包括多个实例的NSD事件转发器1312。
根据本发明的实施例,NSD传输管理器1314提供对于从分布式NSD事件转发器1312转发的事件的集中收集点。NSD传输管理器1314整理从NSD事件转发器1312接收到的事件,并且基于配置数据1320(诸如预配置的服务质量和性能简档)来确定什么时候/是否将用户简档数据从一个DSA移动到另一个,例如,从图13B所示的DSA1302a移动到图13B所示的DSA1302b。根据本发明的实施例,NSD传输管理器1314可以位于另一个或多个专门的DSA中,或者可以存在于单独的和/或外部管理/供应平台上。
NSD传输控制器1316按照NSD传输管理器1314的指示,控制用户简档从源DSA(例如,DSA1318a)到目标DSA(例如,DSA1312b)的移动。根据本发明的实施例,NSD传输控制器1316确保正确的用户数据或用户的子集被原样移动,而没有错误发生在新的DSA中。根据本发明的实施例,NSD传输控制器1316可以同时确保适当地改变和/或保持所有适当的目录绑定(分级对象绑定-HOBS)。如果诸如网络断线、DSA服务器故障或其它问题之类的错误阻止了用户简档数据的成功传输,则NSD传输控制器1316确保将用户数据的原始位置保持为尝试传输之前。根据本发明的实施例,NSD传输控制器1316使用传统的能力来执行这样的移动(例如,目录处理支持和LDAP)。因而,整个用户简档或用户简档的子集可以安全地从一个DSA传输到另一个DSA。根据本发明的实施例,与NDS传输管理器1314类似,NSD传输控制器1316可以位于一个或多个专门的DSA中,或者可以存在于单独的和/或外部管理/供应平台上。
NDS方法一般来不是为其中数据接入点实时变化的DSA1302之间的边界设计的,诸如对于沿着两个相邻接入点服务的边界网络驱动的用户可能出现的情况。在这样的情况下,更传统的数据服务器配置(即,非移动的)很可能是更优选的,因为相邻DSA中的任何一个很可能在具有适当的QOS的情况下服务该数据访问查询和更新。在此情况下,NDS系统可以被配置为通过使用几种方法来防止数据变得移动。NSD传输管理器1314可以被配置为不允许用户简档在地理上地相邻的两个DSA之间或通信延迟非常低的DSA之间传输(即,移动数据没有真正的益处)。另外,NSD传输管理器1314可以被配置为确定两个DSA地点之间发生颠簸的时间。这里,颠簸一般意思是用户简档在这些DSA之间来回频繁的移动。在此情况下,NSD传输管理器1314可以通过严格的传输准则来压制或减少移动,诸如提高客户端应用引起传输需要的优先级、增加客户端引起传输发生的请求的数目、或仅仅完全不允许DSA之间的传输。
图13C示出了根据本发明的实施例的用于加入该流动用户数据系统的DSA的典型配置数据1310。配置数据1310可以存在于图13B所示的配置数据文件1320中。移动用户数据系统的配置数据1310可以包括数据,诸如:
-指示是否允许/不允许DSA参与按需数据交换1312a的数据。如数据1310所示,允许DSA1302a参与按需交换。具体来说,允许DSA1302a参加与DSA1302c的交换。
-对于DIT(诸如DIT600)的可以在特定DSA之间交换的部分或子集的限制1312b。对于数据1310示出的限制1312b指示仅仅加利福尼亚、华盛顿、俄勒冈、内华达和亚利桑那的用户的数据可以为此特定的DSA交换,以及
-对于诸如数据值的范围、数据的最大大小、时刻等的可以在DSA之间交换数据之前被评估的因素的其它限制1312c。对于该数据示出的其它示例限制1312c指示没有安全数据(诸如密码)的数据传输以及没有单个数据传输可以超过50兆字节。根据本发明的实施例,这些限制仅仅代表可以被置于数据传输上的一些其它限制的示例。
根据本发明的实施例,可以被使用的其它限制1312c包括传输的数据的大小,其可以是可配置的,并且它的设置可以基于为对客户端应用所可接受的传输和发送数据的大小涉及的延迟来确定,诸如50KB、500KB、1MB、10MB。另一个限制可以是私有的和/或安全数据/属性,由于安全性限制而不可以被传输。例如,不可以允许用户口令通过不安全的和/或不加密的连接传输。又一个限制可以是网络负荷级别。例如,可以监视链路占用级别以确定当处于忙碌的级别峰值时在数据的特定时间期间不应该传输数据。更进一步,可以考虑DSA工作状态。例如,在涉及的DSA处于超负荷状态或涉及的DSA处于低容量状态期间(例如,DSA的节点之一发生故障)不允许数据传输。最后,用户简档数据的其它部分可以被定义为本质上是非移动的或静态的,以使得在接入点处不需要再配置数据。这可以包括由BSS使用的静态信息,诸如用户地址。
图13D提供根据本发明的实施例的移动用户数据系统的高级别算法。
NSD部件被预配置为用户数据的按需交换(步骤1320)。参与的DSAD1和D2,诸如图13A所示的DSA1302a和1302c,被预配置为互相按需交换用户数据。另外,根据本发明的实施例,应当与配置数据1320一起准备相关的NSD事件转发器(诸如NSD事件转发器1312a)、NSD传输管理器1314和NSD传输控制器。预配置过程将包括诸如图13B所示的配置数据1310之类的数据。
S1的用户数据在DSAD1(例如,DSA1302a)上被管理并且被配置为可传输到DSAD2(例如,DSA1302c)(步骤1322)。这里,S1代表可以被从DSAD1传输到DSAD2(例如,从DSA1302a到DSA1302c)的与用户或用户服务/应用相关的DIT的子集。
根据本发明的实施例,如图13B所述,要被传输的具体的规则和资格由NSD事件转发器和NSD传输管理器控制。对于此传输的条件,如果有的话,可以被装入到配置数据中,诸如图13C所示的配置数据1310。例如,用户数据S1可以被限制于用户简档的特定子集,诸如特定的服务/应用条目乃至用户简档的条目的属性的特定的子集。S1也可以包括对整个用户简档是否是总体上可传输的或者该简档的不同的子集(例如,专门应用数据)是否是单独地且同时可传输的限制。这里,例如S1可以允许整个用户简档是移动的,包括所有子树/子集以及包括的所有应用/服务。另一个示例可以不允许整个用户简档是移动的但是仅仅允许配置的应用/服务特定简档子树/子集是独立移动的。根据本发明的实施例,如图13B所述,参与移动用户数据系统的每个DSA具有NSD事件转发器,其被配置有对于用户数据接入的特定的服务质量(QoS)和传输准则简档。例如,此简档定义可以考虑用户简档传输的请求延迟(例如,LDAP请求延迟)的阈值。
DSAD1接收对于当前存储在DSAD2上的S1的界限内的用户数据集的请求(例如,LDAP搜索或更新)(步骤1324)。通常,QOS和传输准则的检查以及用户数据的随后的再配置对于单个用户简档的单个请求是特定的。但是,根据本发明的实施例,可以将DSAD1配置为在请求给定集内单个用户的数据时,对于该集用户,根据S1来传输适当的用户数据。
通常和DSAD1和DSAD2处理任何其它请求一样来处理该数据请求。例如,使用X.500协议的原理,该请求可以经由根DSA被从DSAD1链接到DSAD2,在该DSAD2中实现该请求并且将响应经由该请求的相同的路径返回。
根据本发明的实施例,DSAD1的NSD事件转发器检查数据请求以及相关的响应特性和性能,并且确定是否已经超过传输数据集S1的阈值(步骤1326)。示范性阈值可以是例如已经超过可接受的LDAP请求延迟。如果没有超过该阈值(步骤1326),则NSD事件转发器恢复到正常处理。
如果已经超过该阈值(步骤1326),则DSAD1的NSD事件转发器开始将事件转发到NSD传输管理器(步骤1328)。
NSD传输管理器与同时发生在该系统中的其它事件一起接收该转发事件,确定是否批准该传输,以及如果是的话,则指示NSD传输控制器开始将用户简档从DSAD1传输到DSAD2(步骤1330)。根据本发明的实施例,在确定是否批准该传输时,NSD传输管理器可以检查诸如受影响的系统部件和网络的健康和超负荷状态之类的项。如果没有批准传输(步骤1330),则NSD传输管理器恢复到正常处理。
如果批准了传输(步骤1330),则NSD传输管理器请求NSD传输控制器读取要被从DSAD1传输的如S1定义和/或约束的用户数据集,开始从DSAD1中删除用户数据集S1的数据库处理,然后开始将用户数据集S1增加到DSAD2的处理(步骤1332)。在将用户数据集S1增加到DSAD2的处理成功完成后,NSD传输管理器请求提交对DSAD1的删除处理以完成该传输(步骤1332)。
根据本发明的实施例,作为传输过程的一部分,NSD传输管理器将请求相应的更新保持与用户数据集S1的整个用户简档有关的数据的任何DSA。如前所述,用户简档和/或对简档的引用可以跨越多个DSA。通常,根据本发明的实施例,用户简档可以存在于单个DSA之中,但是它可以具有从根DSA和一个或多个标识域DSA的引用。根据本发明的实施例,用户简档将需要在物理上被移动(和与该简档配置的重要别名一起),并且对该简档/别名的引用将需要被相应更新,以指向新的目标DSA。
根据本发明的实施例,当S1允许用户简档的子树/子集独立且同时被传输到不同的DSA时,可以采用专门的进程来确保对传输中的用户简档子树/子集(例如HSS应用子树)的本地访问不会引起不必要的X.500链接回到其中用户根条目所在的起始DSA。此用户根条目被认为是整个用户简档子树的根,由此超越于任何用户简档子集或子树。根据本发明的实施例,当S1指示整个用户简档被移动地从一个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”的引用。在此示例中,如果用户简档从DSAD1移动到D2但是对它的别名留在DSAD1上。使用该条目别名的查询导致该查询首先转到DSAD1以检索别名“cn=Bill”并解析“cn=Bill”为现在位于DSAD2上的根条目“cn=William”。为了避免当用户根位于D2上时需要从D1检索该别名,该别名也使用这里定义的相同的NSD进程随着用户简档或简档子树一起移动。根据本发明的实施例,许多别名中的哪一个应当被移动也可以被包括作为NSD事件转发器、NSD传输管理器和NSD传输控制器中定义的传输准则和配置的一部分。因而,当开始触发用户数据的移动的再配置的访问时,特定的别名可以仅仅基于引起该访问的客户端的标识、引起该访问的客户端的优先级或基于该客户端使用的别名被传输。
根据本发明的实施例,作为从DSAD1中删除用户数据集S1的替换,在简档已被成功地传输到目标DSA(DSAD12)之后,NSD传输控制器可以标记该用户简档以保持在DSAD1中被遮蔽(或隐藏)。“无效的”状态将指示数据可能是陈旧的以及在另一个DSA中存在“有效的”副本。当/如果对于电信网络中S1条目的接入点从DSAD2返回到DSAD1时,或如图13A所示从DSA1302c返回到DSA1302a时,此方法可以支持灾难性恢复和通信减少。
根据本发明的实施例,对于用户数据集S1的DSAD1的所有随后的访问都可以然后在本地从DSAD2完成。
根据本发明的实施例,可以基于每个用户简档执行NSD系统。通常,特定百分比的CSP的用户漫游覆盖地区。因而,假定变化引起网络中的不可接受的延迟,用户简档随实际用户使用者的位置的变化而变化。可替换地,用户数据约束集S1可以包括一组用户,尽管它可能不容易确定如何将用户分组到移动的集合中。相似地,集S1可以包括用户简档的一部分,乃至来自于一组用户的用户简档的部分。
根据本发明的实施例,移动用户数据系统的算法的实施方式可以使用如上所述的用于遮蔽或移动条目的X.500DISP概念或可以通过定制的接口来实现。
这里描述的移动用户数据系统提出一个可能的机制来解决移动的数据的问题,但是其他选项也是可能的。例如,NSD传输管理器和NSD传输控制器的位置可以是目录软件自身的一部分或者分成位于集中管理系统或供应系统上的不同部件。另外,根据本发明的实施例,为了提供可调整性,这些部件可被调整到多个服务器中以提供吞吐量和对于NSD功能的弹性。
可替换地,如上所述,NSD功能可以包括改变被传输的用户数据的粒度的能力。如上所述,整个用户简档从一个DSA传输到另一个DSA。但是,假定高优先级的两个不同的客户端不断地从两个不同的接入点访问该用户简档,每个客户端需要用户服务数据的不同的子集。因此,根据本发明的实施例,NSD功能(诸如NSD事件转发器和/或NSD传输管理器)可以包括将用户简档自身分解成服务部件子集或子树(例如,HSS服务数据、HLR服务数据、预付服务数据)的能力,且各个子集中的每一个基于诸如接入点、产生该访问的客户端系统、当然QOS简档之类的因素可以是独立移动的。在此可替换的实施例中,该用户简档的仅仅一个副本将在任何时候存在(可能有遮蔽的根或子根条目的例外,它们保持本地存储的DN以避免X.500链接),但是它的组成部分(服务)将基于QOS和访问的位置而分布在不同的DSA中。
根据本发明的实施例,作为另一个替换,不是传输和删除用户数据集S1,NSD系统可以被配置为根据诸如接入点和QOS简档之类的多个基于DSA的因素隐藏用户数据集S1。在这样的实施例中,NSD系统也包括同步多个副本的机制以确保数据的完整性。根据本发明的实施例,该同步机制可以增加到诸如NSD传输管理器1314的部件中。
日志和备份过程
图14描述根据本发明的实施例的日志系统1400。日志系统1400包括内存储数据库1403(诸如图7A所示的数据存储库708a)、更新1402、内存储日志1404、备份文件1409和一个或多个日志文件1406a-1406c、复制器/同步器1411、备份信息记录器1413等等。内存储日志1404包括更新1408a-1408g等等的列表。
在复制的更新的应用期间,复制器/同步器1411可以控制将更新复制到一个或多个DS的过程。复制器/同步器1411通常与目录服务器,诸如图7A所示的DS706有关。具体来说,复制器/同步器1411的DS可以是DSA(诸如DSA702)内的主DS。根据本发明的实施例,正如前面提到的那样,DSA通常具有主DS以及许多次DS,每个具有它自己的内存储数据库1403。根据本发明的实施例,通常使得更新1402位于DSA内的主DS中然后复制到DSA中的其它DS中。当然,根据本发明的实施例,复制器/同步器1411可以位于DSA内的任何一个DS上。
复制器/同步器1411将更新1408a-1408g应用于内存储数据库1403。此外,在本发明的各个实施例中,目录服务器也将处理的细节存储到由内存储日志1404中的内存储数据库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也可以由运营商在其它时间请求。
备份过程包括将DIT600中的每个条目的描述写入到备份文件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所示的HSS301使用的数据)的分级结构的框图。当HSS301运行时,到目录1500的更新通常增加或修改用户数据并且起源于各个域(诸如图2所示的IMS域214)。例如,目录1500可以在AAA进程期间提供验证信息,在登记期间提供服务简档信息,以及保持用于各个服务的透明的服务数据。
目录1500通常为移动的电信网络提供单个逻辑目录,诸如遵照ITU-TX.500目录标准的目录。目录1500采用类似分级树的数据结构,通常被称为包含各个目录条目的目录信息树(DIT)。条目以树的形式被布置,其中每个条目可以处于许多条目的上级。目录1500从根节点1501开始。当然,在目录1500的一些实施例中,根节点1501自身可以包括共同提供目录1500的根的多个子根节点。例如,一个子根节点可以代表DIT的仅仅属于HSS的用户数据的部分乃至仅仅属于由大的移动电信系统中的许多HSS中的一个HSS使用的用户数据的该部分的部分。
根据本发明的实施例,目录1500保持电信网络(诸如电信网络200)中的用户的记录。在目录1500中,用户标识可以分割到多个标识域1503a-1503d。为了反映与HSS301有关的数据,可以提供至少四个特定的域条目:IMSI域(IMSID)、MSISDN域(MSISDND)、私有Id域(privateD)以及公共Id域(publicD)。这些域由别名条目代表,诸如MSISDN别名(MSISDNAlias)条目1505、IMSI别名(IMSIAlias)条目1507、公共ID别名(PublicIdAlias)条目1509和私有ID别名(PrivateIdAlias)条目1511。因此,例如,MSISDNAlias条目1505使得订阅(诸如订阅(Subscription)条目1517)能够经由MSISDN325以及由唯一的ID(诸如域条目1503c提供的ID)来访问。相似地,IMSIAlias条目1507条目使得订阅条目(诸如订阅条目1517)能够经由IMSI323以及由唯一的ID来访问。同样地,PrivateIDAlias条目1511使得订阅条目(诸如订阅条目1517)能够经由PrivateID327以及由唯一的ID来访问。PublicIDAlias条目1509使得订阅条目(诸如订阅条目1513)能够经由PublicID329以及由唯一的ID来访问。
订阅条目1513代表用户数据的最高级(或根)。订阅条目1513代表对于服务(诸如HSS或HLR相关的服务)的用户供应数据的根。因此,对于HSS服务、HLR服务及其它服务的数据被保持作为订阅条目1513的子条目。例如,这些条目可以包括hssService条目1515、hlrService条目1517及其它服务1519。在本发明的实施例中,如域1503c所示的全世界唯一的ID标识由特定标准(诸如X.500区别名称(DN))识别的订阅条目1513。订阅条目1513也可以经由别名的标识访问,诸如这里所述的IMSI323、MSISDN325、PublicID327和PrivateID329。
图15B是描述根据本发明的实施例的HSS(诸如图3所示的CN206的HSS301)架构的框图。
根据本发明的实施例,HSS301可以包括多个服务器,每个服务器包括与目录服务器(DS)平台1523集成的HSS应用1521。目录服务器平台1523包括至少一个DSA和DUA,诸如图7A所示的DS平台。当然,DS平台1523可以包括比图7A和图7B所示的DSA多或少的DSA。HSS301可以包括TCP/IP接口,以使用标准通信协议(诸如DAP和LDAP)查询和更新DS平台1523上的数据。也可以使用TCP/IP接口,例如当新的用户加入IMS域214时供应该数据库。因而目录服务器平台1523负责诸如数据复制和同步、备份数据、提供自动故障探测和灾难恢复的任务。
HSS应用1521便于用户事务的处理和来自于核心网络上的各个域(诸如IMS域214)的信令通信。在本发明的实施例中,HSS应用1521通常从给定域接收根据认可的协议格式化的消息,诸如来自于IMS域214的根据Diameter协议格式化的消息。Diameter消息可以例如请求目录服务器1523中的存储库数据用于与特定用户相关的数据。
HSS301通常存储并使用两种主要类型的数据。首先,HSS301包括供应数据-与用户和可用的服务相关的数据。存储的供应数据通常包括传统的用户数据、当前限制(barring)状态和服务简档数据,传统的用户数据诸如在其中登记订阅的IMS域214中的CSCF321的标识。第二,HSS301包括配置和控制数据-分别与HSS301服务的一般操作和HSS301系统自身相关的数据。存储在目录服务器1523中的HSS301配置数据包括以下:IMS远程实体规则、所需的服务器能力和AS许可。
因此,这里的本发明的实施例提供改善的HSS,其帮助CSP实现灵活的网络基础结构,该灵活的网络基础结构可以实现诸如IMS、未许可的移动访问(UMA)、及其它IP服务之类的技术。在本发明的一些实施例中,改善的HSS与其它出售商的HLR平台兼容,被配置为最小化网络崩溃,提供对于多个并行的网络接入法的支持,以及提供对大量用户的服务绑定灵活性。另外,改善的HSS使得CSP能够容易地实现新服务,巩固并改进商务处理,以及降低营运成本。
协同主HSS/HLR和协同定位HSS/HLR
图16A和图16B是分别描述根据本发明的实施例的用于HSS301和HLR307的协同主系统1600和协同定位系统1620的框图。在协同主系统1600和协同定位系统1620二者中,HLR307和HSS301共享位于后端服务器1603中的目录1605。根据本发明的实施例,目录1605包括在一个或多个DSA(诸如图7B所示的DSA702)中实现的目录。本发明的实施例可以提供单个逻辑HSS和HLR。如下讨论的,图16A和图16B所示的HSS301和HLR307有效提供单个逻辑HSS和HLR组合。因为CSP组合了新服务并采用了IP交换,所以HLR307可以变成用于进一步提高它们的CSP的网络的焦点。另外,HSS301可以帮助CSP改善它与它的用户的关系。因而,这里的单个逻辑HSS和HLR可以对传统的网络加以改进。
当HSS301和HLR307被安装在单个服务器计算机上时,该安装被称为“协同主HSS/HLR安装”。如图16A所示,HSS301和HLR307两个都位于前端服务器1601中。HSS301和HLR307共享安装在后端服务器1603处的目录1605。
在本发明的实施例中,前端服务器1601可以具有分布式架构,以使得HSS301和HLR307被配置在共同构成逻辑前端服务器1613的多个服务器1609、1611上。如图16B所示,当HSS301和HLR307被安装在单独的前端服务器1609、1611上但是共享安装在后端服务器1603中的公共目录1605时,该安装被称为“协同定位HSS/HLR安装”。因而,HSS301和HLR307共享安装在后端服务器1603处的目录1605。
如果HSS301不与HLR307共享目录1605,则该安装被称为“单机HSS”。在这样的安装中,HLR数据通常位于远程HLR数据存储库中。单机HSS在这里没有示出,但是这样的架构是本领域中已知的。
具有关于协同主系统1600或协同定位系统1620的HLR数据的移动域用户被称作“有家用户(homedsubscriber)”。具有关于远程HLR数据存储库的HLR数据的移动域用户被称作“无家用户(un-homedsubscriber)”。
UMS模式
HSS301与HLR307交互以为IMS域214、PS域212和CS域210中的用户提供各种服务,如前所述。这被称为HSS301的用户移动性服务器(UMS)工作模式。
UMS模式使得协同主系统1600和协同定位系统1620二者以及单机HSS能够平稳地进行HSS操作。如果在协同主系统1600或协同定位系统1620上的一些用户无论什么原因正巧是无家的,则UMS模式也能够平稳运行。根据本发明的实施例,给定用户是否被认为是“有家”用户是由HLR数据对于后端1603中的目录1605上的用户是否可用来确定的。换句话说,典型的过程是尝试读取HLR数据。如果这样的读取完成,则该用户是“有家的”。否则,该用户是无家的。
在UMS模式中,HSS301以三种方案工作。在方案I中,HSS301与远程HLR307交互,其是一般由传统方法适应得很好的模式。在方案II中,HSS301与来自于协同主系统1600中的HLR307的数据交互。在方案III中,HSS301与来自于协同定位系统1620中的HLR307的数据交互。
HLR307和HSS301之间的移动应用部分(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。对于有家或无家用户的PublicID,相应的MSISDN被存储在HSS数据中。此MSISDN用来在收到Sh-UDR时联系远程HLR。根据本发明的实施例,可以在用户的PrivateID和IMSI之间建立映射。因而,映射有效地使得IMSI能够对HLR301和HSS307执行操作。
但是,用户实际上被导向到协同主系统1600和协同定位系统1620二者中。从而,对于协同主系统1600和协同定位系统1620不需要SAI和ATI,以及不必需复制由HSS301和HLR307使用的数据。对于协同主系统1600和协同定位系统1620二者,验证数据1607以可以被HSS301和HLR307二者使用的方式存储在目录1605中。因而,验证数据1607不需要被复制来服务这些应用中的每一个。换句话说,在如图16A和图16B所示配置的系统中不需要执行SAI和ATI过程。因此,可以通过简单地关闭UMS模式来提供电信网络的总性能。因而,根据本发明的实施例,可以在HSS301和HLR307之间共享验证数据1607。
在本发明的实施例中,网络管理系统(诸如网络管理系统412)可以在HSS301上设置UMS模式以对于HSS和HLR的给定组合工作在开启模式或关闭模式。UMS模式可以诸如通过“仅自身数据”标志设置为真(即,“没有HLR”)或假(即,“存在HLR”)来被开启或关闭。如果UMS模式关闭,则SAI和ATI例如不会由HSS301使用来联系HLR307。当设置为关闭时,HSS301和HLR307可以通过简单地访问目录1605来访问验证状态。
图16C示出了根据本发明的实施例的已被被配置为保持用于诸如HSS301和HLR307的应用的服务数据1619的前端1601。
保持在目录(诸如目录1605)中的数据通常包括用户数据和服务数据1619的混合。根据本发明的实施例,服务数据1619(诸如非用户特定的验证数据1607和UMS模式标志)可以与用户数据分开并且接近于频繁使用这样的数据的应用(例如,HSS301和HLR307)。根据本发明的实施例,通过将服务数据1619移动到前端1601,借助诸如HSS301和HLR307的应用对非用户特定的验证数据1607和UMS模式标志的访问几乎是即时的。
服务数据1619通常包括诸如UMS模式标志的项和验证方案。根据本发明的实施例,验证方案可以混叠(alias)到其它的验证方案。因而,根据本发明的实施例,此方法可以使用从HSS301内处理的别名。根据本发明的实施例,当服务数据1619已被移动到前端1601时,也可以执行上述PrivateID和IMSI之间的映射。
此外,根据本发明的实施例,后端DSA作为图16A所示的后端1603以及类似图7A所示的DSA702而工作。同样地,DS1625a-DS1625c与图7A所示的DS706相似地工作。根据本发明的实施例,DUA1627以类似于图7A所示的DUA704的方式工作。
间接方法的静态条目
图17是描述根据本发明的实施例的便于静态访问条目的存储在目录1700中的数据的分级结构。目录1700可以被存储在诸如图7A所示的DS706配置的一个或多个目录服务器1721中。DS1721可以工作在DSA(诸如图7A所示的DSA702)内。相似地,对目录1700的操作可以被与图7A所示的目录服务器应用软件707类似地工作的目录服务器应用1723接收到并处理。对目录1700操作的部件接合目录服务器内的计算机化的部件来例如经由CPU处理动作。
请求实体(例如,诸如HSS301或HLR307的应用)调用存在于目录1700中的条目1703-1715上的一个或多个方法以执行各种功能。请求实体可以代表任何能够对目录1700请求的实体,诸如客户端应用或终端用户。这些方法包含关于目录1700的模式内的数据间关系的应用认识,并且提供诸如供应系统的简单接口。典型的方法可以是用于进行如下操作的方法:增加用户、增加用户服务(诸如现有用户的HSS服务)、和/或修改用户服务设置(诸如修改呼叫转移设置)。
通过调用该间接方法(诸如条目1703-1715),外部应用可以在不具有对该目录的结构的认识的情况下对目录1700中的数据进行操作。这对于模式经受频繁变化的目录和/或已被设计成以特定模式工作的遗留程序特别有用。根据本发明的实施例,尽管这里提供了与电信配置相关的示例,但是此方法可应用于许多这样的设置:在该设置中,应用需要执行目录中的任务但是不知道或不能知道该目录的实际结构。
应用(诸如HSS301或HLR307)使用条目的区别名称(DN)来调用与条目(例如条目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.条目B1.条目B2.(Root.EntryA.EntryB.EntryB1.EntryB2)”。
根据本发明的实施例,真实方法可以与间接方法有关。该间接方法是一种属于系统条目(诸如根1701)的方法。系统条目为所有应用所共有,并且当模式中发生变化时它不需要变化。因此,系统条目是“静态的”,以及可以使用静态系统条目来调用间接方法。在本发明的实施例中,该间接方法位于应用连接到目录1700的点处。例如,条目1705代表“静态条目C.2”。因而,应用可以使用适当的协议(例如,LDAP扩展的操作)来调用条目1705(即,由条目1705代表的方法)以便调用由条目1715代表的方法,而不管可能改变条目1715的DN的对模式的改变。换句话说,应用调用条目1715的方法。需要调用静态条目(例如,条目1715)的方法的应用需要知道条目的DN。因而,该条目的名称(例如它的DN)应当是不需要改变的名称。
通过API接口为间接方法提供一些RDN信息(诸如用户标识),而且该间接方法在它的内部实施方式中包括DN结构信息的其余信息。这使得间接方法能够重建将在其上调用真实方法的条目的DN。此功能可以以两种方式中的一个来实现:
-DN再建可以被“硬编码”,即,DN的形式体现在静态条目(诸如静态条目C21705)中的软件逻辑中,和/或
DN再建可以被“软编码”,例如使用作为可配置的服务数据被保持的模板DN,由该静态条目(诸如静态条目C21705)将通过API提供的特定的RDN信息代入到模板DN中。此可配置的服务数据通常被保持在目录自身内,与保持目录模式的方式相似。
因而,该间接方法包括标识在其上将调用真实方法的条目的DN的信息,但是该间接方法对外部应用隐藏由目录1700的模式引起的接口改变。
根据本发明的实施例,当目录模式以影响真实方法所处的条目的位置的方式变化时,该间接方法需要被更新以反映此变化。如果该间接方法以如上所述的软编码方式实现,则所需要的所有是将配置新的模板DN。在一些情况下,间接方法非常期望支持两个形式的DN(例如对于在线数据迁移),至少在迁移的时间段期间。
根据本发明的实施例,因为间接方法位于应用连接到目录服务器(例如,静态条目C2705)的点处,所以对于应用和间接方法之间的访问路径不需要另外的DSA间通信。尽管具有多个应用特定的方法的每个应用单个条目常常是最简洁的方法,但是可以使用具有多个应用的静态条目。这意味着连接点可以准确地位于使用该方法的外部应用连接到的DSA(诸如图7A所示的DSA702)处。因此,该方法的运行开销是最小的。访问间接方法的外部应用将需要连接到根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。
HSAP1814可以使用AAA协议与基站1812a-1812d通信,诸如Cx协议,其用于遵循3GPP的IMS网络中以在I-CSCF/S-CSCF和HSS(诸如图3所示的CSCF321和HSS301)之间通信。这些协议在本领域中是已知的并且由诸如RFC3588、3GPPTS29.228和3GPPTS29.229的标准定义。
在图18A所示的配置中,HSAP1814实际上位于核心网络1812的边缘并且包括仿真的SGSN1816(图3所示的SGSN317的仿真器)。因而,HSAP1814和仿真的SGSN1816可以实际上使得整个网络1800动作并且表现为传统的电信网络。因而,网络1800以与图2所示的移动通信网络204相似的方式工作。
HSAP1814可以使用仿真的SGSN1816来使用传统的MAP接口与HLR307通信。MAP接口为核心网络1822中的各个节点提供应用层以便彼此通信,以便为移动式电话用户提供服务。核心网络1812可以包括多于一个HLR,以及仿真的SGSN可以被配置为与核心网络1812中的HLR通信。
根据本发明的实施例,使用仿真的SGSN1816的HSAP1814也可以包括计费数据功能(CDF),其将基站(BS1812)报告的计费事件集合到计费数据记录(CDR)中并且将这些转发到计费系统1818。CDR是一种供记帐和计费之用的关于可计费的事件(例如,呼叫建立的时间、呼叫的持续时间、传输的数据量等)的格式化的信息的收集。如果CSP为用户提供明细帐单,则CDR用来构造用户的帐单中的行式项目。
在此非标准的网络配置中,HSAP1814可能不能为计费系统1818提供重要的CDR有关事件,诸如“结束呼叫事件”和“呼叫中事件”。这两个事件都是本领域中已知的,它们有助于确定给定用户的费用,特别是当对用户至少一部分的基于呼叫的持续时间来计费时。
图18B提供根据本发明的实施例的可以受益于改善的计时机制的图18A所示的通信网络1800的物理图。如上所述,网络1800可以按照支持提供移动漫游能力的无线LAN的方式被配置。假定网络的基站(诸如BS1812a和BS1812b)已经被配置为支持经由高速下行链路分组接入(HSDPA)协议的通信。HSDPA有时被称为高速下行链路协议接入,是HSPA族中的3G移动电话协议并且允许高的数据传输速度。HSDPA通过定义新的W-CDMA或TD-CDMA信道、用于到移动站的下行链路通信的高速下行链路共用信道(HS-DSCH)来实现数据传输速度的增加。HSDPA在本领域中是已知的。
假定BS1812a-1812b与DSA1831通信。DSA1831可以被形成为如图7A所示的DSA702那样。DSA1831可以结合DS节点1836a对与HSDPA节点1834a有关的数据进行操作。DS节点1836a可以按照类似于图7A所示的DS706a的方式工作。因而,根据本发明的实施例,HSDPA节点1834a和DS节点1836a共同为由图18A所示的逻辑层执行的任务提供物理层。
如图所示,DSA1831也可以由多个HSDPA节点1834a-1834c形成,每个HSDPA节点1834a-1834c具有相关的DS节点1836a-1836c。DSA1831可以包括比示出的多或少的HSDPA节点和DS节点。另外,HSDPA和DS节点不一定需要彼此配对,尽管在许多网络中,这样的配对是可取的。
网络可以包括仅仅比BS1812a-1812b多的基站。每个基站根据需要与主HSDPA节点和次HSDPA节点通信。例如,如图所示,BS1812a具有HSDPA1834a作为它的主HSDPA节点,HSDPA1834b作为它的次HSDPA节点,如实线和虚线所示。相似地,BS1812b具有HSDPA1834c作为它的主HSDPA节点,HSDPA1834b作为它的次HSDPA节点,如实线和虚线所示。
在此网络配置中,基站(诸如BS1812a)应该通常保持连续运行Diameter通信,以便使得诸如CDR的记录被适当地保持。不意外地,它有时可能很难保持连续执行Diameter会话。因而,保持一致组的CDR出现了问题。
随着MS1810漫游,网络中的基站1812a、1812b可能不全部共享相同的HSDPA节点。因而,该网络包括基站之间的移交过程,其使得呼叫能够不中断地继续。
但是,与该呼叫有关的计费事件可以根据MS1810是处于基站1812a中还是1812b中而被报告给不同的HDSPA节点。对此问题的解决方案是将有关用户的计费事件存储在全部HSDPA节点可访问的公共用户数据库中。这可以形成为DSA1831的一部分或者被包含在一个或多个单独的后端DSA内。
不幸的是,甚至这种解决方案也有问题,因为在给定DS上对给定呼叫的相关监视计时器可能因为种种原因没有接收到“结束呼叫事件”。监视计时器是用于电话中的传统计时器以确保与给定呼叫有关的计费事件不会被网络丢失。某些关键事件(诸如结束呼叫事件)可能相对于呼叫而丢失,这可能看起来好像该呼叫从来没有发生过或者该呼叫具有比呼叫的实际长度显著更短或更长的持续时间。例如,“结束呼叫事件”代表呼叫的结束(当一方当事人断开连接时),其可以是CDR中的重要信息,因为许多呼叫是由CSP基于用户呼叫的长度和/或由用户在给定时间间隔(诸如月)中的呼叫代表的总时间长度来计费的。因而,需要与其它呼叫信息一起的从HSDPA节点到HSDPA节点的移交计时器,以在某种程度上确信此信息被提供给适当的后端进程。
因而,本发明的实施例包括分布式定时器机制,其可以被用作网络(诸如这里描述的网络)的监视计时器。此计时器的实施例不一定需要高精确度,以及在一些实施例中,监视计时器可以是可配置的,诸如从10秒到60秒。
图18C示出了根据本发明的实施例的来自于目录(诸如由DSA1831保持的目录)的用户条目1841。用户条目1841包括计费条目1843。计费条目1843包括计费事件条目1845和监视计时器条目1847。
因此,例如,在应用于电信网络的本发明的实施例中,由DSA1831中的DS1836保持的数据代表伪监视计时器的每一个计时器滴答的HSDPA节点。相似地,该数据代表该用户的HSDPA节点的每个“呼叫中事件”和他的相关的“媒体会话”。该呼叫中事件通常代表收费标准的要求,以保证对于进行中的呼叫将规则的条目维持在CDR中。该呼叫中事件不一定反映呼叫的状态变化,尽管它可以。呼叫中事件通常相当频繁地产生,并且如果呼叫结束事件不被记录的话,可以帮助确定呼叫的结束。因而,该呼叫中事件可以帮助记帐系统对跨越多个计费周期的长期进行的呼叫正确地计费。呼叫事件,诸如呼叫中事件和呼叫结束事件,应当由HSAP1814根据建立的电信标准而被定期地接收,因此HSAP1814应当运行监视计时器以保证它们实际上被即时地接收到。
图18D示出了根据本发明的实施例的在由DSA1831保持的目录中具有计时器条目1851的计时器1850。图18C所示的监视计时器条目1847提供时间,其可用于通过计时器1851保持的伪计时器“滴答”来“移动”与计费数据记录1843有关的用户CD监视计时器条目1848a-d。因而,根据本发明的实施例,计时器条目1851提供动态计时器树。
计时器条目1851保持一组计时器“滴答”条目1855a-1855d。这些滴答条目代表计时器1851内的不同时间。该呼叫事件可以存在于从开始时间(“现在+XX”)到结束时间(“现在”)的计时器中。因而,用户CD监视计时器1848d可以首先与这里由Now+XX条目1855d代表的监视计时器的最大持续时间有关。例如,条目1855d可以代表从现在时间开始起的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。但是,滴答条目的粒度可以根据计时要求被设置为另一个时间级,诸如1秒或20秒。计时器1851的截止(例如,由计时器代表的持续时间)可以仅仅是具有不那么准确的结果(例如,较长的时间)的大约的任何长度,等同于CSP的较低的服务条件,例如,具有10秒的粒度和2分钟的持续时间的计时器不如具有1秒的粒度和30秒的持续时间的计时器准确。根据本发明的实施例,可以通过对于不同的时间具有较多或较少的条目,来为计时器条目1851配置较大的或较小的粒度。
因而,诸如主HSDPA节点1834a的应用应当周期性地搜索它的“现在”计时器时隙,其应该仅仅包含应当弹出的监视计时器的记录。可替换地,计时器机制可以被构造为在该“现在”计时器时隙向应用通知呼叫。位于“现在”时隙1855a的任何事件代表已经期满的计时器,因而需要被适当地处理(例如通过将异常的呼叫中事件增加到CDR)然后删除。换句话说,应用(诸如HSDPA节点1834a的应用)正在注意获得监视丢失的计费事件。
处理事件(诸如呼叫中或呼叫结束事件)通常需要删除并可能再插入计时记录。如果遵循上述命名原则,则该应用不需要扫描过仍然在运行的全部计时器,而是可以代之以随着呼叫中事件和呼叫结束事件的进来通过名称来搜索它们。其余操作(诸如确定呼叫是否仍然连接)可以通过删除和可能再插入计时器记录和/或将呼叫的呼叫结束事件提供给计费系统1818的简单机制来处理。
计时器1851可以处理与特定的用户、用户组或特定组的用户服务器相关的事件流。根据本发明的实施例,如果由于任何原因事件的正常流中断,则计时器1851可以帮助标识该中断已经发生并且帮助开始需要发生的任何特殊处理。
图18E示出了根据本发明的实施例的在图18B所示的DSA1831上实现的分布式计时机制。如前所述,该分布式计时机制可以用来对任何事件计时并且不一定限于对与电信系统相关的事件计时。
DSA1831类似图7A所示的DSA702。相似地,DS1836类似于DS706,以及DUA1864类似于图7A所示的DUA704而工作。根据本发明的实施例,客户端应用1866可以是任何客户端应用或其它请求实体,但是在这里描述的用于移动电信的计时机制中,很可能是负责保持计时事件的实体,诸如与HSAP1814有关的应用。
每个DS1836保持图18D所示的计时器1850的副本。因而,DS中的任何一个可以处理输入事件。通常,DS1836中的任何一个可以处理输入的读取/搜索事件,其中单个主DS(例如,DS1836a)负责对计时器1850进行增加/删除。根据本发明的实施例,主DS1836也可以负责联系客户端应用1866(例如,当条目达到“现在”位置而没有新的事件已被处理时)。因而,定时模块1861可以被配置为将计时事件并相关信息通信给其它DS上的其它定时模块1861。根据本发明的实施例,例如,尽管所有的计时存储器可以被请求实体访问,仅仅一个定时模块1861需要将计时结果通信给该请求实体(例如,客户端应用)。因而,根据本发明的实施例,该分布式定时模块1861可以被配置为使得,如果指定的事件时间发生,则仅仅一个定时模块向该请求实体通知请求的事件。
根据本发明的实施例,每个DS1836可以包括帮助计时器1850的处理的计时模块1861。计时模块1861可以例如帮助确保保持计时记录最新。根据本发明的实施例,计时模块1861也可以通过检查期满时间记录并向用于适当的监视超时处理的客户端应用1866转发期满的计时器的指示来帮助处理计时器1850中的实际的超时。计时模块1861也可以从计时器1850中删除期满的时间记录。
当然,可以采用多于单个DSA1831来处理与计时器相关的事件流。根据本发明的实施例,对于一些应用,一个人可以希望将应用的每个情况配置为使得它的事件流由本地DSA来处理,例如,位于日本的HSAP1814的情况可能想要使得本地DSA来处理它的计时器而不是使得远程DSA(例如,在UK中的一个)来处理这些相同的计时器。另外,一个人也可能想要分割用户群以使得存在分配给特定的用户组的DSA。在这样的实施例中,主DS1836实际上处理与该用户组相关的呼叫的计时器。
与这里与DSA相关的讨论相似,如果任何特定的DS1836丢失通信或者相反变成不能到达的,则DSA中的其它DS可以继续该计时处理。因而,该计时机制可以是相当耐用的。根据本发明的实施例,可以使用两阶段的提交机制来在多个DS1836之间自动地复制对计时器1850的插入和删除。
定时器机制的实施例可以应用于许多分布式应用,其中不能保证外部事件到达单个本地节点。同样地,如前所述,计时器条目1851可以位于多个数据存储器,以使得如果一个特定的数据存储器(诸如存储在DS1836a上的目录)发生故障,则准确的计时可以使用来自于另一个设备的数据存储器(诸如存储在DS1836b上的目录)仍然继续。
在本发明的实施例中,本发明的部件包括基于以“C”计算机语言写的不同的任务的集合的软件。但是,该软件可以以其它的计算语言来写。软件内的任务经由队列和共享存储器的组合来彼此通信。例如,根据本发明的实施例,目录服务器706a经由TCP/IP链接与DSA702中的其它目录服务器706b和706c以及远程DSA中的其它目录服务器通信。本发明的部件还可以基于硬件和/或硬件和软件的组合。
尽管已经示出和描述了本发明的特定实施例,但是显然本发明不仅仅局限于这些实施例。在不脱离权利要求书中描述的本发明的精神和范围的情况下,许多修改、改变、变化、替换和等效对本领域技术人员来说是显而易见的。一般说来,在下面的权利要求书中,使用的术语不应该被解释为将本发明限制于说明书中公开的特定实施例,而是应当被解释成包括在下文阐述的权利要求书下工作的所有系统和方法。因而,本发明意欲覆盖归入所附权利要求书和它们的等效范围之内的本发明的修改和变化。
Claims (7)
1.一种代表请求实体访问数据的系统,包括:
包括多个数据条目的目录,其中至少一个数据条目包括变量数据条目,该变量数据条目被配置为具有一属性,该属性被配置为具有至少两条用于导出目录中第二数据条目中其数据的位置的规则,其中,该属性包括第一属性类型和至少一个属性值;
目录操作服务器,被配置有目录,并被配置为接收对变量条目中属性执行动作的请求,使用至少两条用于导出数据的位置的规则为目录中第二数据条目中的具有另一属性的数据导出位置,并进一步被配置为使用导出的第二位置找到被请求的属性的数据,其中,该另一属性包括不同于所述第一属性类型的第二属性类型。
2.如权利要求1所述的系统,其中目录操作服务器进一步被配置为向该请求实体报告已经对第一位置处的属性执行了动作,从而该请求实体接收不到关于导出的第二位置的信息。
3.如权利要求1所述的系统,其中该目录操作服务器进一步被配置为:
接收请求以对存储在第一位置处目录中的第一条目中另一属性的数据执行另一动作,其中该数据请求中被请求的另一属性的数据位于目录中第三位置处的第三条目中;
使用与第一条目相关的信息导出被请求的另一属性的数据在目录中的第三位置,其中该导出是在对/从数据存储机构访问时执行;
使用导出的第三位置找到被请求的另一属性的数据;
对导出的第三位置处的数据执行被请求的操作;以及
向该请求实体报告已经对第一位置处的另一属性执行了动作,从而该请求实体接收不到该属性和另一属性存储在目录中不同位置处的信息。
4.如权利要求1所述的系统,其中该执行动作的请求还包括另一请求以对存储在第一位置处的目录中的第一条目中另一属性的数据执行动作,其中该目录操作服务器进一步被配置为:
对另一属性的数据执行另一被请求的动作;以及
向该请求实体报告已经对第一位置处的另一属性执行了动作,从而该被请求的实体接收不到该属性和另一属性存储在目录中不同位置的信息。
5.如权利要求1所述的系统,其中与第一条目有关的信息被发现在第一条目的对象类属性中,且其中该目录操作服务器进一步被配置为检查第一条目的对象类属性。
6.如权利要求1所述的系统,其中目录操作服务器位于包括多个层叠服务器的网络中,其中一部分目录位于网络中的另一目录操作服务器中,该目录操作服务器进一步被配置为将该执行动作的请求发送到另一目录操作服务器。
7.如权利要求1所述的系统,其中一部分目录位于网络中的另一目录操作服务器中,其中该目录操作服务器进一步被配置为链接到另一目录操作服务器以完成被请求的动作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0709315A GB0709315D0 (en) | 2007-04-10 | 2007-04-10 | Variant entries in network data repositories |
US11/783,585 US8782085B2 (en) | 2007-04-10 | 2007-04-10 | Variant entries in network data repositories |
US11/783585 | 2007-04-10 | ||
GB0709315.6 | 2007-04-10 | ||
CN200880019504.0A CN101720548B (zh) | 2007-04-10 | 2008-04-08 | 代表请求实体访问目录中数据的方法和系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880019504.0A Division CN101720548B (zh) | 2007-04-10 | 2008-04-08 | 代表请求实体访问目录中数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103200282A CN103200282A (zh) | 2013-07-10 |
CN103200282B true CN103200282B (zh) | 2016-02-10 |
Family
ID=39717815
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880019504.0A Expired - Fee Related CN101720548B (zh) | 2007-04-10 | 2008-04-08 | 代表请求实体访问目录中数据的方法和系统 |
CN201310082777.2A Expired - Fee Related CN103200282B (zh) | 2007-04-10 | 2008-04-08 | 代表请求实体访问数据的系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880019504.0A Expired - Fee Related CN101720548B (zh) | 2007-04-10 | 2008-04-08 | 代表请求实体访问目录中数据的方法和系统 |
Country Status (5)
Country | Link |
---|---|
EP (2) | EP2595363B1 (zh) |
CN (2) | CN101720548B (zh) |
AU (1) | AU2008235407B2 (zh) |
RU (1) | RU2477573C2 (zh) |
WO (1) | WO2008122647A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122718B2 (en) * | 2012-03-29 | 2015-09-01 | Dell Software Inc. | Dynamic directory control execution |
RU2534488C1 (ru) * | 2013-06-18 | 2014-11-27 | Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" | Система контроля доступа к ресурсам компьютерной системы с субъектом "исходный пользователь, эффективный пользователь, процесс" |
CN107453884B (zh) | 2016-05-30 | 2020-01-10 | 华为技术有限公司 | 一种网络设备的服务质量检测方法和装置 |
RU2704879C2 (ru) * | 2017-08-24 | 2019-10-31 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" | Устройство адаптивного преобразования данных в режиме реального времени |
CN108337314B (zh) * | 2018-02-07 | 2019-07-09 | 北京百度网讯科技有限公司 | 分布式系统、用于主服务器的信息处理方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343287B1 (en) * | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
WO2002075572A1 (en) * | 2001-03-20 | 2002-09-26 | Worldcom, Inc. | User aliases in a communication system |
US20030115196A1 (en) * | 2001-05-29 | 2003-06-19 | David Boreham | Method and system for sharing entry attributes in a directory server using class of service |
CN1652102A (zh) * | 2003-05-21 | 2005-08-10 | 微软公司 | 用于透明的存储重组的系统和方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9420098D0 (en) * | 1994-10-05 | 1994-11-16 | Orange Personal Comm Serv Ltd | Telecommunication system |
GB9727463D0 (en) * | 1997-12-30 | 1998-02-25 | Orange Personal Comm Serv Ltd | Telecommunications system |
US6553368B2 (en) * | 1998-03-03 | 2003-04-22 | Sun Microsystems, Inc. | Network directory access mechanism |
US6986060B1 (en) * | 2000-05-23 | 2006-01-10 | Oracle International Corp. | Method and apparatus for sharing a security context between different sessions on a database server |
US7363339B2 (en) * | 2000-12-22 | 2008-04-22 | Oracle International Corporation | Determining group membership |
US7016945B2 (en) * | 2001-04-27 | 2006-03-21 | Sun Microsystems, Inc. | Entry distribution in a directory server |
US7328210B2 (en) * | 2001-08-01 | 2008-02-05 | At&T Mobility Ii Llc | Attribute rule enforcer for a directory |
US7620630B2 (en) * | 2003-11-12 | 2009-11-17 | Oliver Lloyd Pty Ltd | Directory system |
US8316099B2 (en) * | 2004-04-21 | 2012-11-20 | Oracle America, Inc. | Directory distributor |
US7315854B2 (en) * | 2004-10-25 | 2008-01-01 | International Business Machines Corporation | Distributed directory replication |
US20060235850A1 (en) * | 2005-04-14 | 2006-10-19 | Hazelwood Kristin M | Method and system for access authorization involving group membership across a distributed directory |
-
2008
- 2008-04-08 CN CN200880019504.0A patent/CN101720548B/zh not_active Expired - Fee Related
- 2008-04-08 WO PCT/EP2008/054249 patent/WO2008122647A2/en active Application Filing
- 2008-04-08 EP EP12181325.7A patent/EP2595363B1/en not_active Not-in-force
- 2008-04-08 CN CN201310082777.2A patent/CN103200282B/zh not_active Expired - Fee Related
- 2008-04-08 EP EP08735975.8A patent/EP2145456B1/en not_active Not-in-force
- 2008-04-08 RU RU2009141358/07A patent/RU2477573C2/ru active
- 2008-04-08 AU AU2008235407A patent/AU2008235407B2/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343287B1 (en) * | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
WO2002075572A1 (en) * | 2001-03-20 | 2002-09-26 | Worldcom, Inc. | User aliases in a communication system |
US20030115196A1 (en) * | 2001-05-29 | 2003-06-19 | David Boreham | Method and system for sharing entry attributes in a directory server using class of service |
CN1652102A (zh) * | 2003-05-21 | 2005-08-10 | 微软公司 | 用于透明的存储重组的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2009141358A (ru) | 2011-05-20 |
CN101720548A (zh) | 2010-06-02 |
EP2145456A2 (en) | 2010-01-20 |
CN103200282A (zh) | 2013-07-10 |
EP2595363A2 (en) | 2013-05-22 |
AU2008235407A1 (en) | 2008-10-16 |
RU2477573C2 (ru) | 2013-03-10 |
WO2008122647A3 (en) | 2009-01-22 |
AU2008235407B2 (en) | 2012-10-18 |
WO2008122647A2 (en) | 2008-10-16 |
EP2595363A3 (en) | 2016-01-13 |
EP2145456B1 (en) | 2016-12-07 |
CN101720548B (zh) | 2015-08-12 |
EP2595363B1 (en) | 2020-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101755434B (zh) | 移动用户数据系统 | |
US7664866B2 (en) | Sub-tree access control in network architectures | |
US8782085B2 (en) | Variant entries in network data repositories | |
US8140676B2 (en) | Data access in distributed server systems | |
US9112873B2 (en) | Alias hiding in network data repositories | |
CN103200282B (zh) | 代表请求实体访问数据的系统 | |
CN101755427B (zh) | 网络架构中改进的子树访问控制 | |
US20080256142A1 (en) | Journaling in network data architectures | |
US20080253402A1 (en) | Timing device and method | |
US20080256112A1 (en) | Indirect methods in network data repositories | |
WO2008122650A2 (en) | Improved data access in home subscriber servers | |
CN101711475B (zh) | 网络数据存储库中的别名隐藏 | |
EP2145454B1 (en) | Improved data access in distributed server systems | |
WO2008122649A2 (en) | Improved timing device and method | |
WO2008122644A1 (en) | Adaptation in network data repositories | |
WO2008122646A2 (en) | Access methods to directory data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160210 |