对计算机存储系统内的一方身份进行建模的制作方法

文档序号:6595329阅读:317来源:国知局
专利名称:对计算机存储系统内的一方身份进行建模的制作方法
对计算机存储系统内的一方身份进行建模
背景技术
1.背景和相关技术计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排和会计等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统和其他电子设备可以在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不同的计算环境上。存储的数据能在多个不同的范围内并在多个不同的站点处存储。例如,在公共网络(例如,基于因特网的万维网)和私有网络(例如,特定公司的内部局域网)内的计算机系统对关于个人、公司以及其他组织(政府和私有)的信息的访问越来越多。这种信息可在这些网络上的单个位置内或在多个位置内保存。此外,许多软件系统越来越多地在联网计算机和它们的人类用户之间共享或联合信息。个人以及组织之类所考虑的是,跨各种上下文、设备以及规模共享足够的信息以提供对有用数据的一致访问,但同时防止对私密信息的偶然或恶意的暴露。存在用于使用各种机制来检查个人和组织的真实性以及用于在传送信息之前在各种基于计算机的存储内编码或加密信息的技术。然而,这些技术依赖以下方式个人或组织所存储的表示可能与已知出于某些目的唯一地标识该个人或组织的字符序列相关联。 这样的字符串的示例包括公司的万维网域名(诸如www. microsoft, com),以及由hotmail. com向个人签发的电子邮件地址(例如JohnDoeOhotmail. com)。这样的字符序列已知是明确的标识符,其中多个明确的标识符可标识一单个实体。然而,通常,这些明确标识符与给定实体的非标识属性没有区分地建模(例如,员工的电子邮件地址将通常是员工记录内的属性或是电子邮件表格内的元组)。不管选择了什么数据结构,由于单个类型的明确标识符必须被用来标识不同数据结构内的实体的事实,将明确标识符表示为任一数据结构内的属性证实是不充分的。如果明确标识符被表示为多个数据结构内的属性,那么先前不可能知道什么数据结构可能包括给定的明确标识符,从而导致系统用作大规模的查找机制是困难的、昂贵的或不可行的。当确定将明确标识符存储在基于计算机的存储内的方式时将产生多个问题。例如,确定表示组织和个人的适当方式通常是困难的。这可包括确定应该在基于计算机的存储内使用什么数据结构。此外,各个明确标识符必须通常与签发机构相关联。然而,个人或组织可具有多个明确标识符,其中各个明确标识符被用在不同的上下文中。由此,没有单个明确标识符可用作数据存储唯一标识符。例如,如果Jane Smith具有由hotmail. com签发的电子邮件地址 JaneSmithihotmail. com 以及来自 www. gmail. com 的 JaneSmithigmai 1. com,这两个标识符虽然明确但是没有一个是计算机系统内针对个人Jane的唯一标识符。此外,各个明确标识符可与一组特定的许可相关联,许可指定什么信息可通过该明确标识符获得以及可如何使用该信息。例如,Jane希望将她的与她当前雇主有关的身份的各方面与她的关于体现在www. Facebook. com或www. hotmail. com上的社交上下文的身份的各方面分开。她可同意授予对使用她的雇员身份创建的资源和事件的完全访问许可, 但将对她在spaces, msn. com上的照片的访问权限制给她指定的朋友,并保持所有在誦. hotmail. com上的她的邮件私密。此外,个人之间的关系、组织之间的关系、以及组织和个人之间的关系可影响身份信息如何被共享和使用。然而,至少部分地因为可被用来存储这些实体之间的关系的各种不同的数据格式,在一计算存储内一或以不同规模和在不同上下文中存在的一组计算机存储内一表示这些实体之间的关系可以是困难的。由于可被用来标识这样的关系的成员的多个明确标识符,关系也可以是难以表示的。某些身份信息是根据位置而置于适当的上下文中。位置可包括诸如邮寄地址等常规位置信息以及诸如动态或静态纬度和经度坐标等地理存在。与关系类似,至少部分地因为可被用来存储上下文信息的各种不同的数据格式,表示这样的上下文信息可以是困难的。此外,身份数据通常与使用该身份数据的应用分开。例如,身份可在为指定的应用上下文定制的不同规模的不同计算机存储内维护。由此,身份数据也通常与应用使用的应用数据分开存储。例如,X. 500可将身份数据存储在没有很好地与由访问X. 500目录的应用所使用的应用数据集成的单独身份目录中。因此,身份数据的分类、身份数据各部分之间的关系、以及应用数据和身份数据各部分之间的关系通常在这些数据结构中很难反映。简要概述本发明涉及用于对计算机存储系统内的一方身份进行建模的方法、系统和计算机程序产品。联合身份结构对计算机存储系统内的身份数据以及身份数据各部分之间的关系进行建模。根据逻辑统一模式对身份以及身份关系数据进行建模。逻辑统一模式可表示可被明确地标识的任何实体的存在。例如,由于身份数据是根据逻辑统一模式建模的,一计算环境内的应用可容易地对由另一计算环境提供的身份以及身份关系数据进行存储、访问、 修改、删除和保护。由此,联合身份结构可联合来自各种不同计算环境内的计算存储系统的分布身份以及身份关系数据。在计算环境处与联合身份结构相关联的代码和元数据可互操作以便于对联合身份结构内的身份以及身份关系数据进行统一的存储、访问、修改、删除和保护。例如,由于身份数据是根据逻辑统一模式建模的,一计算环境内的应用可容易地对由另一计算环境提供的身份数据进行存储、访问、修改、删除和保护。在某些实施例中,联合身份结构被用来定位身份相关数据。第一数据对象是在数据结构内创建的。第一数据对象在数据结构内表示来自物理或数字世界的实体。数据结构能够通过逻辑统一模式表示能被明确地标识的任何实体的存在。第一数据对象被存储到联合身份结构内。创建第二数据对象。第二数据对象表示在联合身份结构内使用的明确标识符。第二对象被插入到联合身份结构中。第二数据对象与第一数据对象相关。因此,该第二数据对象可在之后被用来定位第一数据对象。明确标识符之后被用作用于定位第二数据对象的模板。在使用明确标识符定位第二数据对象之后,第一数据对象和第二数据对象之间的关系然后被用来定位第一数据对象。从第一数据对象检索实体的身份相关数据。本发明的各实施例可对身份模型内的各方、角色、人、组织、团体、位置、服务、设备、权限、分类和身份密钥进行建模。在身份模型内表示的这些对象的定义以及这些对象之间的关系可被用来导出计算机存储系统内有效的存储机制。身份模型提供一种集成并一致地维持这些对象的机制。因此,在某些实施例中,身份密钥(例如,第二数据对象)被用来访问一方的身份相关数据(例如,第一数据对象)。在其他实施例中,一身份密钥(例如,第二数据对象)被用来访问来自另一身份密钥的身份相关数据(例如,第三数据对象)。提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。本发明的附加特征和优点将在以下描述中叙述,且其一部分根据本说明书将是显而易见的,或可通过对本发明的实践来获知。本发明的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的这些和其他特征将通过以下描述和所附权利要求书变得更加显而易见,或可通过对下文中所述的本发明的实践来领会。附图简述为了描述可获得本发明的上述和其它优点和特征的方式,将通过参考附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图只描绘了本发明的各典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中

图1A-1D示出了可被用来对身份数据进行建模以供存储在计算机存储系统内的示例模式。图2A示出了便于对计算机存储系统内的身份信息进行建模的示例计算机架构。图2B示出了图2A的计算机架构中用于访问来自密钥标识符的一方身份数据的一部分。图2C示出了图2A的计算机架构中用于转换密钥标识符的一部分。图3示出了用于对来自计算机存储系统的身份数据进行建模并访问建模身份数据的示例方法的流程图。图4示出了用于访问来自计算机存储系统的建模身份数据的示例方法的流程图。详细描述本发明涉及用于对计算机存储系统内的一方身份进行建模的方法、系统和计算机程序产品。联合身份结构对计算机存储系统内的身份数据以及身份数据各部分之间的关系进行建模。根据逻辑统一模式对身份以及身份关系数据进行建模。逻辑统一模式可表示可被明确地标识的任何实体的存在。例如,由于身份数据是根据逻辑统一模式建模的,一计算环境内的应用可容易地对由另一计算环境提供的身份以及身份关系数据进行存储、访问、 修改、删除和保护。由此,联合身份结构可联合来自各种不同计算环境内的计算存储系统的分布身份以及身份关系数据。在计算环境处与联合身份结构相关联的代码和元数据可互操作以便于对联合身份结构内的身份以及身份关系数据进行统一的存储、访问、修改、删除和保护。例
7如,由于身份数据是根据逻辑统一模式建模的,一计算环境内的应用可容易地对由另一计算环境提供的身份数据进行存储、访问、修改、删除和保护。在某些实施例中,联合身份结构被用来定位身份相关数据。第一数据对象是在数据结构内创建的。第一数据对象在数据结构内表示来自物理或数字世界的实体。数据结构能够通过统一模式表示能被明确地标识的任何实体的存在。第一数据对象被存储到联合身份结构内。创建第二数据对象。第二数据对象表示在联合身份结构内使用的明确标识符。第二对象被插入到联合身份结构中。第二数据对象与第一数据对象相关。因此,该第二数据对象可在之后被用来定位第一数据对象。明确标识符之后被用作用于定位第二数据对象的模板。在使用明确标识符定位第二数据对象之后,第一数据对象和第二数据对象之间的关系然后被用来定位第一数据对象。从第一数据对象中检索实体的身份相关数据。本发明的各实施例可对身份模型内的各方、角色、人、组织、团体、位置、服务、设备、权限、分类和身份密钥进行建模。在身份模型内表示的这些对象的定义以及这些对象之间的关系可被用来导出计算机存储系统内有效的存储机制,诸如举例而言数据服务器(例如,SQL服务器数据库)、存储器中数据结构等等。身份模型提供一种集成并一致地维持这些对象的机制。因此,在某些实施例中,身份密钥(例如,第二数据对象)被用来访问一方的身份相关数据(例如,第一数据对象)。在其他实施例中,一身份密钥(例如,第二数据对象) 被用来访问来自另一身份密钥的身份相关数据(例如,第三数据对象)。即,给定第一对象 “A”,第二对象可被视作“A”的身份。第三对象可以是“A”的另一身份密钥。本发明的各实施例可以包括或利用诸如,一个或多个处理器和系统存储器等包括计算机硬件的专用或通用计算机,这将在以下做出进一步讨论。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。 这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种完全不同的计算机可读介质计算机存储介质和传输介质。计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线、或硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动转移到计算机存储介质(或者相反)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传送到计算机系统RAM和/或计算机系统处的较不易失性的物理存储介质。由此,应当理解,计算机存储介质可被包括在同样(或甚至主要)利用传输介质的计算机系统组件中。计算机可执行指令例如包括,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言等中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解的是,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可以在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实践。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。相应地,本发明的诸实施例包括多个计算机系统,该多个计算机系统通过诸如例如局域网(“LAN”)、广域网(“WAN”)或甚至因特网等网络(或作为网络的一部分)彼此连接。多个计算机系统中的至少某些计算机系统的应用可根据统一身份模型模式维持身份以及身份关系数据。由此,身份以及身份关系数据能跨各种不同的计算环境分布(例如,以下的一个或多个不同的应用、不同的计算机系统、不同的上下文、不同的网络等等)。计算机系统也可以各自创建消息相关数据并通过计算机网络交换消息相关数据 (例如,网际协议(“IP”)数据报和利用IP数据报的其他更高层协议,诸如传输控制协议 (“TCP”)、超文本传输协议(“HTTP”)、简单对象访问协议(“SOAP”)等)。通过使用网络(或甚至系统总线)来传送消息,维持身份以及身份关系数据的应用可联合以产生联合身份结构。由于各个对身份以及身份关系数据建模的应用根据统一身份模型模式这么做, 因此也根据统一身份模型模式对联合身份结构内的共同身份以及身份关系数据进行建模。 因此,身份以及身份关系数据能通过联合身份结构跨应用进行交换。由此,联合身份结构可联合跨各种不同计算环境内的计算存储系统分布的身份以及身份关系数据。在计算环境处与联合身份结构相关联的计算机可执行指令和元数据可互操作以便于对联合身份结构内的身份以及身份关系数据进行统一存储、访问、修改、删除和保护。图1A-1D示出了可被用来对身份数据进行建模以供存储在计算机存储系统内的示例模式100。模式表示关于具有关系的数字主题和资源的信息。模式100是可具有各种实现的逻辑统一模式。即,各种模式实现中的任一种能被用来实现示例模式100内的关系。数字主题的不同种类101可共享相同特性中的多个一尽管是不同的。模式通过称作 Party (—方)的实体来表示所有数字主题的通用方面。Party (—方)可接着被如在图IA 中描绘地那样具体化。例如,图IA描绘了具有名称、描述、时间、跨度、以及I^rimaryKind(主种类)(例如,人、组织、团体、软件服务、或设备)的Party(—方)条目。各方也可具有 SecondaryKind (次种类)。例如,组织可具有公司或政府的次种类。
可通过组织107、人103、团体104、服务106、以及设备171之一来定义一方类型 102。图IA描绘了用于对一方进行建模的模式100的一部分。如在图IA中描绘的,一方类型102被定义为一其的具体化(如组织、人、设备、软件服务、或团体)、一个或多个一方位置、以及与其他方的一个或多个关系。各方可具有它们之间的关系。可通过一方对一方关系来定义各个方对方关系。通过一方位置111来定义各个方位置,从而表示一方可位于的位置。通过从一个或多个父位置细化的位置112来定义各个一方位置111。通过各个地点113来定义各个位置112。由此,各方可位于多于一个的位置处。对于一方所位于的各个位置,存在必须被记录的诸如表示一方与该位置相关联的持续时间的开始日期和结束日期的信息。在模型中, 这些事实被记录为类型一方位置(Party Location)的实例,其表示关注一方相关于一位置的事实。位置可进一步由一组地理坐标定义,诸如纬度和经度值。可通过人物角色108的混合来定义一人。由此,人(Persons)是人物角色 (Personas)的混合。人物角色的实例包括个人信息,诸如举例而言个人姓名、性别、和照片、 以及对于人物角色所涉及的一方的引用。这允许通过跟随从人物角色到一方的引用,多个人物角色(潜在地也具有不同的种类)是相同“一人”方(被标记为默认的人物角色中的一个)的各方面。因此,个人的概念是跨这些人物角色中的一个或多个的特性的共同聚合值。 例如,一个人Jane Smith可具有她在登录到不同网站时使用的多个人物角色,当她在不同购物网站上时她所维护的多个客户(Customer)角色,以及表示她受雇于Microsoft (微软) 的员工(Employee)角色。Jane Smith,该真实的人是一方(Party)的人(Person)类型的实例,但是希望知晓Jane Smith的不同方面的任何人必须获准检查描述该个人的那些不同方面的人物角色的所有类型的实例。各方可作用或被施加作用。在某些实施例中,对一方施加作用能够至少在提供其身份所必需的程度上作用。模式100 调用称为角色(Roles)的 Party^ToPartyRelationships ( 一方对一方关系)的具体化。角色提供一种定义并添加关于专用于给定关系的一方的各方面的信息的方式。图IA描绘了一方能扮演的角色109的示例员工(Employee) 123、客户(Customer) 121、 市民(Citizen) 122、供应商(Vendor) 126、授权机构(Authority) 127以及流程角色 (ProcessRoleUM。鉴于一方的具体化可以是互斥的,角色是混合的。由此,一方可以并经常具有多个不同的角色。角色除了具有已知为涉及角色针对其所扮演的一方的ContextParty (上下文方) 的引用之外,角色还具有对于“扮演”角色的一方的引用。角色可具有MartDate (开始日期),EndDate(结束日期)以及Kind(种类)。由此,例如,一人在给定组织的整个工作历史可被建模为在相同的人和上下文方之间的一组员工角色,从而保留各个职位何时开始以及何时结束的完整知识。相同的模式可对由人在多个组织的所有工作进行建模、或对在单一组织的单个工作进行建模、或甚至对随着时间的流逝具有某些工作的所有人进行建模。可通过不同上下文中的不同人物角色,例如,“家庭”人物角色和“工作”人物角色, 来表示相同的人。当结合相关角色(例如,公民一可能是一个以上国家的公民;员工信息等)时,可表示关于人的多个方面的信息。所描绘的一方类型和角色类型是可在与联合身份结构相关联的应用之间交换的
10不同类型的各方和角色的某些示例。然而,也可定义其他类型的各方和角色。例如,一组织可以是另一组织的客户。类似地,一人可以是一组织的“成员”。由此,更一般地,一方具有称为组织、人、团体、软件服务和设备的具体细化。一方表示其具体细化的通用属性,其中各个具体细化具有进一步表征特定概念的专用属性。例如,软件服务表示是软件代理和计算机程序的各方。图IB描绘了用于对策略和资源进行建模的模式100的一部分。身份模式的一种能力是要提供用于分布策略存储的基础。策略134被用来促进并控制各方对资源的动作。 一般而言,提供对于资源134的访问的服务使用策略133来确定一方102是否能访问该资源以及如何访问该资源。资源(由资源134定义)可由多方拥有,每一方可控制一个或多个资源。 PartyResource (—方资源)172通过指定对特定资源以及特定一方(由一方102定义)的引用来表示一方102和资源134之间的关系的实例。通过PartyResource (—方资源)172 的实例来引用管控对特定资源的访问的策略集。在访问控制期间,可做出至少两个策略评估。第一个策略评估是为确保访问符合与资源相关联的策略。第二个策略评估是为确保访问符合在PartyResource (—方资源) 关系中指定的策略一换言之,可应用于访问给定资源的主题方。例如,与销售报告相关联的策略可指出组织的具有读取许可的各个成员可访问该销售报告。在销售团体方和销售报告资源之间的PartyResource (—方资源)关系可指定 “当企业内部时有写许可”的额外策略。访问可由这些策略的组合控制。模式100允许这些策略中的各个策略由通过PolicyRelationships (策略关系)173指定的其他策略组成以允许策略组件的重用。软件服务106和端点174指出资源134可被定义为软件服务端点。图IC描绘了用于对身份密钥进行建模的模式100的一部分。一般地,身份密钥可以与一组令牌相关联,该组令牌中的每一个令牌支持零个或多个声明。各个声明可以是令牌的持有人获准对特定资源执行特定动作的断言的编码。如在图IC中描绘的,不同类型(人103、团体104、软件服务106、组织107以及设备171)的各方(由一方102定义)中的每一方可具有一个或多个身份密钥。身份密钥可由IdentityKey (身份密钥)142定义,并由授权机构(由授权机构127定义)分配且包括一个或多个令牌。令牌可由令牌143定义,并可包括一个或多个安全声明。可在密钥字段 181内表示该数据的各个部分,诸如举例而言描述、值、以及时间窗口。图ID描绘了用于对分类进行建模的模式100的一部分。一般地,分类条目是可被用来描述概念是什么事物类型的类别。例如,存在不同种类的各方102、不同种类的角色 109、不同种类的一方对一方关系、不同种类的身份密钥142以及不同种类的位置112。在模式100中,分类条目被称为种类101。例如,一种身份密钥可以是电子邮件别名。另一种身份密钥可以是联邦社会保险号。各个身份密钥的类别可由身份密钥实例和种类实例之间的关联来记录。如在图ID中描绘的,可为不同类型(人103、团体104、软件服务106、组织107以及设备171)的各方(由一方102定义)中的每一方制订种类,该每一方可具有由身份密钥定义的一个或多个身份。也可为策略133、授权机构127、以及身份密钥142制订种类。种类之间的关系由种类关系162定义。由此,种类通常形成多头(即,每一种类可具有也有多个种类的多个父类别)。然而,分层安排的种类也是可能的(即,每一种类具有也有一种类的一个父类别)。诸如“父” 的关联被表示为种类关系。种类关系本身可以是分类的,并因此也可与表示种类之间关系的种类的一种类相关联。例如,地址(一种类)可以称为位置的类型。相比于地址的概念而言,邮寄地址和账单地址(各自是一种类)可被视为地址的更为细化的定义。通过种类关系162的两个实例一一个从邮寄地址到地址、另一个从账单地址到地址,地址可被记录为邮寄地址和账单地址的父。分类关系的这些实例可通过引用其内容是RefinementOf (之细分)的种类(其自己可由另一种类关系实例相关联,该另一种类关系实例将RefinementOf (之细分)分类为其本身是一种类的MructuralRelationship (结构关系)的类型)被分类为 I^arentOf (之父)。因此,本发明的各实施例利用一方的概念以及其更具体的细分一人、组织、团体、 服务、设备以及服务一可在使用对各方的引用的情况下使用。各方可表示来自物理世界或数字世界的对象,并且既可表示消费者也可表示包括由授权机构提供的数字服务的服务的供应者。通过可由一方扮演的角色的概念来加深各方的表示。每一个这样的角色引用扮演该角色的一方。角色也可引用某些它们应用于其的上下文,例如,某些其他方。例如,“员工” 是可由一方(例如,一人)相对于另一方(例如,一组织)扮演的角色。在一实施例中,一人本身仅仅是人们可扮演的单个角色一例如,公民、客户、员工、流程角色、以及私人一的混
I=I O单个方可扮演多种类型的角色。例如,一人可以是员工以及公民(不同类型的角色)。一方也可以具有多于一个的相同类型的角色。例如,一人可扮演两个员工角色,每个员工角色针对不同的组织。一方可在不同的(可能重叠的)时间跨度具有相同类型的角色并在相同的上下文中。各方通常支持不同类型的一方对一方关系(诸如,“谁的朋友”,下属、
主管等等)。各方中的每一方以及一方扮演的单独角色可通过多种不同的方式来唯一地标识一例如,通过使用电子邮件地址、联合标识符、员工编号等等。本发明的各实施例包括使用身份密钥数据类型来表示唯一标识符。身份密钥数据类型指示各个方的安全身份(安全特征是可变化的),例如,由已知授权机构(其本身是由某一方扮演的角色)签发的。身份密钥可通过给定类型的唯一值来区别并可引用相关方。一个益处是任何给定类型的身份密钥可通过任何其他身份密钥的呈现被有效地定位,并且对相关方的引用以及相关联的角色可被有效地获得。由此,身份密钥的使用许可数字经验的定制一例如,对于访问各个数据的许可。本发明的各实施例还利用位置类型来支持各方可被定位的不同类型的物理和虚拟地点。可使用文本字段(如使用地址)或使用地理坐标来描述位置。由于各方、位置以及身份密钥可具有大量以及非常不同的种类,先前描述为种类的分类机制可被用来定义并记录各个种类变化的类型。如先前描述的,种类可以是多头或分层的,并且其本身可以是分类的(即,可存在种类的种类)。
12
不同类型的各方和位置的使用配合不同类型的身份密钥和不同类型的一方对一方关系提供了益处,该益处关于将涉及在例如世界规模上表示信息所需的跨多个机器边界的极大量各方的信息划分。这些益处便于在相对大的(以及可能巨大的)对象空间内的定位,并且最重要的,促进跨这些空间的通过引用的关系的表示。以上定义的数据结构和机制可在多个不同种类的包括盘上和存储器内的数据库的计算机存储中有效地实现。计算机存储可被用来表示逻辑集中式储存库。当身份数据跨多个不同的计算环境分布时,联合身份结构可表示逻辑集中式储存库。不同的计算环境内的计算机系统可包括用于组成联合身份结构的计算机可执行指令和元数据。由此,在计算机系统处的计算机可执行指令和元数据可互操作以组成联合身份结构并将集中式存储库反射回计算机系统。集中式存储库可根据模式100的各种数据模型存储数据结构和机制(例如,应用和服务)。由此,构建在和/或集成到集中式存储库中的应用和服务可被配置成根据各种数据模型处理数据。结果,应用和服务可相互共享以对象为中心的数据,诸如举例而言身份相关数据。本发明的各实施例还从各种不同角度跨变化的上下文、设备、以及规模提供对信息的一致访问。例如,一个人可在印度旅游时使用蜂窝电话通过无线因特网连接、或该人可使用美国办公室内的台式计算机系统通过企业LAN连接来一致地访问他的或她的信息。处理这样的通信的服务和应用可具有用于处理根据模式100的各种数据模型来定义的身份相关数据的嵌入计算机可执行指令和元数据。因此,用于跨多个规模、设备以及上下文导航的功能可被包括为联合(例如,逻辑统一的身份结构内的组件。本发明的各实施例通过采用用来主管数据的相同数据结构和便于复制的元数据对该数据进行复制和高速缓存,来提供对信息的访问。复制和高速缓存提供对实时采用电信系统访问存储在包括因特网的网络中别处的信息的有效替换。例如,关于Jane Doe的各方的身份信息,包括一方对一方关系、身份密钥、位置信息等等,可按在别处使用的相同逻辑结构被复制到她的蜂窝电话上。由此,即使与中央位置的通信是困难或昂贵的,在她的蜂窝电话上的应用也可有效地处理身份数据。此外,相对于在其他数据存储中呈现的信息对象的协同定位,她所携带的信息的混合可表示不同的信息对象的协同定位(即,不同的设备和设备集可包括共享信息对象的不同编组)。图2A示出了便于对计算机存储系统内的身份信息进行建模的示例计算机架构 200。如在计算机架构200内描绘的,计算机系统201、202、213和214连接到联合身份结构 207。各个计算机系统201、202、213和214可包括具有用于组成并关联联合身份结构207的计算机可执行指令和元数据的应用。例如,各个计算机系统201、202、213和214可包括具有用于向分别在各个计算机系统201、202、213和214上的其他应用将联合身份结构107呈现为身份数据的集中式存储库的计算机可执行指令和元数据的应用。各个计算机系统201、 202,213和214也可包括具有与联合身份结构207进行互操作以便于对联合身份结构207 内的身份以及身份关系数据进行统一存储、访问、修改、删除和保护的计算机可执行指令和元数据的应用。例如,计算机系统201可本地地将密钥标识表格201K以及一方标识表格210P维护在诸如例如盘上或系统存储器内。密钥标识表格201K可包括根据图IC中的模型定义的一个或多个密钥标识条目。例如,条目211K包括密钥类型231(例如,电子邮件别名)、密钥ID值(例如,jdoeitest. com)、一方ID 233 (与具有jdoeitest. com的电子邮件别名的人对应的ID)、以及可任选的角色ID 234(与由一方ID233标识的人的角色对应的ID针对该电子邮件别名选用)。一方标识表格20IP可包括根据图IA中的模型定义的一个或多个一方标识条目。 例如,条目211P包括一方类型235 (从组织、人、团体、服务和设备中选择的一方的类型)、一方ID值236 ( 一方类型的ID值)、角色类型237 (来自那些为一方类型定义的角色的类型, 诸如举例而言客户、基本公民、员工、流程角色、私人、授权机构等等)以及角色ID值(角色类型的ID值)。条目211P在适当时还可包括一个或多个位置以及一方对一方关系。条目 211P还可包括身份数据值239。身份数据值239表示一方的数据,诸如例如,显示名称。身份数据值239可包括与一方相关联的任何数据并用或不用该方的身份密钥表示。例如,一方的电话号码可被用在身份密钥内,但也可被包括在身份数据值239内。计算机系统201处的应用还可将密钥标识表格201K和一方标识表格201P缝合到联合身份结构207中。计算机系统202处类似的应用可将密钥标识表格201和一方标识表格202P缝合到联合身份结构207中。如所描绘地,密钥标识表格20 (包括条目212K,该条目21 (包括密钥类型Ml、密钥ID值对2、一方ID值233和可任选的角色ID234。由于条目21 (包括一方ID 233和可能的角色ID 234,条目211可指示与和密钥类型231相关联的相同方对应的不同类型的密钥(即,一方ID值233和/或角色ID 234链接条目211K和211)。也如所描绘的,一方标识表格202P包括条目212P,该条目212P包括一方类型 M5、一方ID值233、角色类型对6、角色ID 234、其他字段以及标识数据值M9。由于条目 212P包括一方ID 233以及可能的角色ID 234,与一方ID值233和/或角色234相关联的密钥条目可被用来定位身份数据值M9。在其他计算机系统(例如,潜在的计算机系统213和214)处的类似应用可将密钥标识表格20 和204K以及一方标识表格206P缝合到联合身份结构207中。计算机系统201处的应用还可向计算机系统201处的其他应用(例如,应用208) 将联合身份结构207呈现为中央存储库。由此,计算机系统201处的应用可将密钥标识表格201K、202K、20;3K、和204Κ共同地视为密钥标识表格信息沈1。类似地,计算机系统201 处的应用可将一方标识表格211Ρ、212Ρ和206Ρ共同地视为一方标识表格信息沈2。计算机系统202、213和214可具有提供类似功能的应用。因此,在计算机系统201、202、213和 214中任一计算机系统处的应用可安全地访问、修改并删除联合身份结构207内根据模式 100内的定义的身份以及身份关系数据。图3示出了用于对来自计算机存储系统的身份数据进行建模并访问建模身份数据的示例方法的流程图。将关于附图2Α中的组件和数据以及模式100内的定义来描述方法 300。方法300包括在数据结构内创建第一数据对象的动作,该第一数据对象在数据结构内表示来自物理或数字世界的实体,该数据结构能够通过逻辑统一模式表示可被明确标识的任何实体的存在(动作301).例如,计算机系统202可在一方标识表格202Ρ内创建条目212Ρ。条目212Ρ可根据图IA内的数据模型来表示组织。方法300包括将第一数据对象插入联合身份结构中的动作(动作302)。例如,计算机系统202可将条目212Ρ缝合到联合身份结构207中。方法300包括创建第二数据对象的动作,该第二数据对象包括在联合身份结构中使用的明确标识符的表示(动作303)。例如,计算机系统202可以创建条目212K。条目211 的各种特征,诸如举例而言字段值的组合,可被用来在联合身份结构207内表示条目212K 的明确标识符。方法200包括将第二数据对象插入联合身份结构中的动作(动作304)。例如,计算机系统202可将条目211缝合到联合身份结构207中。方法300包括将第二数据对象和第一数据对象相关使得第二数据对象能在之后被用来定位第一数据对象的动作(动作30 。将相同的值包括到两个不同的条目中可被用来将条目互相相关。例如,对条目211和条目212P中的一方ID值233的引用将条目211 和212P互相相关。由此,条目21 (可被用来定位条目212P (并且可能反之亦然)。方法300包括用于通过关系来访问来自第一对象的身份相关数据的以功能结果为导向的步骤(步骤309)。步骤309可包括实质上任意对应动作来实现通过关系访问来自第一对象的身份相关数据的结果。然而,在方法300,步骤309包括在之后将明确标识符用作用于定位第二数据对象的模板的对应动作(动作306)。例如,应用208可将查询221发送到联合身份结构207。查询221可包括条目21 (的明确标识符。联合身份结构207可接收来自应用208的查询221。联合身份结构207可使用明确标识符来定位条目212K。在方法300中,步骤309还包括使用第一数据对象和第二数据对象之间的关系来在使用明确标识符定位第二数据对象之后定位第一数据对象的动作(动作307)。例如,联合身份结构207可使用来自条目21 (的字段值(例如,一方ID值233)来在使用明确标识符定位条目212(之后定位条目212P。在方法300中,步骤309还包括从第一数据对象中检索实体的身份相关数据的动作(动作308)。例如,联合身份结构207可从条目212P中检索身份相关数据。身份相关数据可包括对任何种类的各方通用的信息、使用用于已经定位的特定种类的一方的模式所存储的信息、关于一方具有的对任何类型的任意其他方的关系的信息、或关于与相同方有关的替换明确标识符的信息。图4中描绘了可被用来实现通过关系来访问来自第一对象的身份相关数据的结果(即,步骤309)的对应动作的另一实例。图4示出了用于访问来自计算机存储系统的建模身份数据的示例方法400的流程图。图2B示出了图2A的计算机架构中用于访问来自密钥标识符的一方身份数据的一部分。方法400将关于图2A和2B中的组件和数据来描述。方法400包括接收一方对身份相关数据的请求的动作(动作401)。例如,参考图 2B,联合身份结构207可接收查询221。请求可包括根据单个模式内的身份密钥分类定义的身份密钥类型。单个模式能够表示可被明确地标识的任何实体的存在。请求还可包括指示身份密钥类型的值的身份密钥值。身份密钥类型和身份密钥值的组合(明确地)表示密钥标识表格信息内的条目。例如,如图2B中描绘的,查询221包括密钥类型231和密钥ID值 232。简要地再参考图2A,密钥类型231和密钥ID值232的组合明确地表示密钥标识表格信息261内的条目211K(或是条目211K的明确标识符)。请求也可包括数据请求。该数据请求通过使用身份密钥类型和身份密钥值的组合以及对其他标识表格信息的关系表示对身份相关数据的一部分的请求。在某些实施例中, 请求是数据值请求。该数据值请求表示针对来自可通过使用身份密钥类型和身份密钥值的组合以及对一方标识表格信息的关系来标识的一方表格条目中的一方相关身份数据的一部分的请求。例如,如在图2B中描绘地,查询221包括数据值请求Ml。该数据值请求251表示针对来自可通过使用身份密钥类型231和身份密钥值232的组合以及对一方标识表格信息 262的关系来标识的一方表格条目中的一方相关身份数据的一部分的请求。方法400包括在密钥标识表格信息中定位与身份密钥类型和身份密钥值的组合相对应的密钥标识表格条目的动作(动作402)。例如,联合身份结构207可在密钥标识表格信息沈2中定位与密钥类型231和密钥ID值232的组合相对应的条目221K。方法400 包括访问来自密钥标识表格条目的一方标识符值的动作,该一方标识符值对应于与身份密钥相关联的一方(动作403)。例如,联合身份结构207可访问来自条目211K的一方ID值 233。方法400包括基于所访问的一方标识符以及对该一方标识符的关系来引用其他表格信息内的条目的动作004)。例如,联合身份结构207可基于既被包括在条目211K中又被包括在条目212P中的一方ID值233来引用条目212P (在一方标识表格202P中)。方法400包括响应于数据请求,从其他表格内的条目中检索身份数据的动作(动作405)。例如,联合身份结构405可从条目212P中检索身份数据值249 (例如,显示名称)。 身份数据值249可响应于数据值请求251。方法400包括响应于接收到的请求返回身份数据的动作(动作406)。例如,联合身份结构207可响应于查询221返回包括数据值对9的结果222 (例如,返回到应用208)。或者,数据请求是密钥类型请求。本发明的各实施例包括实现针对密钥类型请求的方法400。密钥类型请求表示针对与一方相关联的第二身份密钥类型的对应密钥值的请求。也可根据单个模式内的身份密钥分类来定义第二身份密钥类型。例如,现在参考图2C, 密钥类型231可以是电子邮件别名的密钥类型,而密钥ID值232可以是jdoeOtest. org。 此外,查询221包括密钥类型请求271。密钥类型请求271表示针对密钥标识表格信息内密钥类型Ml的密钥标识条目的请求。也可根据模式100来定义密钥类型Ml。密钥类型241可以是电话号码的密钥类型。因此,查询221可以是针对具有电子邮件别名jdoeO test, org的一方的电话号码的请求。联合身份结构207然后可在密钥标识表格信息262中定位与密钥类型231和密钥 ID值232的组合相对应的条目221K。即,联合身份结构207可定位具有jdoeOtest. org的值的电子邮件别名的密钥条目。联合身份结构207然后可访问来自条目211K的一方ID值 233。一方ID值233表示具有电子邮件别名jdoe@test. org的一方的ID值。联合身份结构207然后可参考密钥标识表格信息沈1来定位条目212K。条目211 具有密钥类型241并包括一方标识符233。S卩,条目211是具有电子邮件别名jdoeOtest. org的一方的电话号码的身份密钥。联合身份结构207然后可从条目211中检索密钥ID 值242 (例如,电话号码)。联合身份结构207可响应于查询221返回包括密钥ID值242的结果222 (例如,返回到应用108)。因此,本发明的各实施例包括利用身份密钥表格条目来定位一方身份数据(例如,如在图2B中描绘的)以及执行不同类型的身份密钥之间的转换(例如,如图2C中描绘的)。更一般地,一个数据对象(例如,第二数据对象)可以是重定向到或间接来自另一数据对象(例如,第一数据对象)的统一配置点。即,一数据对象可被配置为提供另一数据对象的明确标识(例如,通过该一个对象和另一对象之间的关系来配置)。由此,现有的不可被明确标识的对象依然可通过使用是可被明确标识的另一相关对象来明确地标识。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。
权利要求
1.在包括一个或多个处理器和系统存储器的计算机系统(202)上,一种用于利用联合身份结构(207)来定位身份相关数据的方法,所述计算机系统连接到所述联合身份结构 O07),所述联合身份结构对计算机存储系统内的身份相关信息进行建模,所述联合身份结构跨多个不同的应用、多个不同的计算机系统(201、203、213、214)、多个不同的上下文以及多个不同的网络提供对身份信息的一致的视图和访问,所述方法包括在一数据结构内创建第一数据对象012P)的动作,所述第一数据对象在所述数据结构内表示来自物理或数字世界的实体,所述数据结构能够通过单个模式表示能被明确标识的任何实体的存在;将所述第一数据对象012P)插入所述联合身份结构O07)中的动作; 创建第二数据对象012K)的动作,所述第二数据对象包括在所述联合身份结构内使用的明确标识符的表示;将所述第二数据对象012K)插入所述联合身份结构O07)中的动作; 将所述第二数据对象和所述第一数据对象相关(23 使得所述第二数据对象能在之后被用来定位所述第一数据对象的动作;在之后将所述明确标识符用作用于定位所述第二数据对象的模板的动作; 使用所述第一数据对象012P)和所述第二数据对象012K)之间的关系(23 来在使用所述明确标识符(23 定位所述第二数据对象012K)之后定位所述第一数据对象 (212P)的动作;以及从所述第一数据对象012P)中检索所述实体的身份相关数据的动作。
2.如权利要求1所述的方法,其特征在于,从所述第一数据对象中检索所述实体的身份相关数据的动作包括利用所述第一数据对象来检索以下的任意组合的动作对任何种类的各方通用的信息;使用用于已被定位的特定种类的一方的模式存储的信息; 关于该一方具有的对任何其它类型的任意其他方的关系的信息;以及关于与相同一方有关的替换明确标识符的信息。
3.如权利要求1所述的方法,其特征在于,所述数据结构被配置为存储明确标识符,并且其中所述数据结构包括表示所述明确标识符的类型的数据元素; 所述明确标识符的类型在定位表示相同一方的不同类型的明确标识符时使用。
4.如权利要求2所述的方法,其特征在于,所述明确标识符的类型对应于分类数据结构内的分类条目。
5.如权利要求4所述的方法,其特征在于,分类数据结构内的各个条目是相同的,而不管它们存储在身份系统的哪个实例中。
6.如权利要求1所述的方法,其特征在于,额外存在具有能够表示任意类型的任意两个实体之间的任意关系的单个模式的单个数据结构。
7.如权利要求6所述的方法,其特征在于,特定的关系实例具有表示关系类型的类型。
8.如权利要求1所述的方法,其特征在于,使用所述第一数据对象和所述第二数据对象之间的关系来定位所述第一数据对象的动作包括使用身份密钥对一方的关系来在一方标识表格内定位一方条目。
9.如权利要求1所述的方法,其特征在于,使用所述第一数据对象和所述第二数据对象之间的关系来定位所述第一数据对象的动作包括使用身份密钥对身份密钥的关系来在密钥标识表格内定位身份密钥条目。
10.如权利要求1所述的方法,其特征在于,在数据结构内创建第一数据对象、所述第一数据对象表示来自物理或数字世界的一方的动作包括创建表示选自以下的一方的第一数据对象组织、人、团体、服务和设备。
11.如权利要求1所述的方法,其特征在于,在数据结构内创建第一数据对象、所述第一数据对象表示来自物理或数字世界一方的动作包括创建表示具有选自以下的角色的人的第一数据对象客户、基本公民、员工、流程角色、以及私人。
12.—种在联合身份结构(207)内使用的计算机程序产品,所述联合身份结构(207)包括一个或多个计算机系统001、202、213、214),每个计算机系统包括一个或多个处理器和系统存储器,所述联合身份结构(207)跨多个不同的应用、多个不同的计算机系统、多个不同的上下文以及多个不同的网络提供对身份信息的一致的视图和访问,所述计算机程序产品用于实现一种从所述联合身份结构中检索一方的身份相关数据的方法,所述计算机程序产品包括一个或多个具有其上存储的计算机可执行指令的计算机存储介质,当在处理器上执行所述计算机可执行指令时使得所述联合身份结构执行所述方法,所述方法包括以下接收针对一方的身份相关数据的请求021),所述请求包括根据单个模式内的身份密钥分类定义的身份密钥类型031),所述单个模式能表示能被明确标识的任何实体的存在;指示所述身份密钥类型(231)的值的身份密钥值032),身份密钥类型(231)和身份密钥值032)的组合表示密钥标识表格信息061)内的条目Q11K);以及数据值请求051),所述数据值请求(251)表示针对来自可通过使用身份密钥类型 (231)和身份密钥值032)的组合以及对一方标识表格信息的关系来标识的一方表格条目 (212P)中的一方相关身份数据的一部分的请求;在所述密钥标识表格信息中定位与身份密钥类型(231)和身份密钥值(232)的组合相对应的密钥标识表格条目OllK);访问来自所述密钥标识表格条目OllK)的一方标识符值033),所述一方标识符值 (233)与和所述身份密钥相关联的一方相对应;基于所访问的一方标识符(23 和对所述一方身份表格信息的关系来参考一方身份表格信息062)内的一方身份条目012P);响应于所述数据值请求051)从所述一方身份条目012P)检索一方身份数据049);以及响应于(22 接收到的请求返回一方身份数据049)。
13.如权利要求12所述的计算机程序产品,其特征在于,当被执行时使得所述联合身份结构检索一方身份数据的计算机可执行指令包括当被执行时使得所述联合身份结构检索从以下选择的一方的一方身份数据的计算机可执行指令组织、人、团体、服务和设备。
14.如权利要求12所述的计算机程序产品,其特征在于,当被执行时使得所述联合身份结构检索一方身份数据的计算机可执行指令包括当被执行时使得所述联合身份结构检索具有从以下选择的角色的人的一方身份数据的计算机可执行指令客户、基本公民、员工、流程角色、以及私人。
15.一种在联合身份结构(207)内使用的计算机程序产品,所述联合身份结构(207)包括一个或多个计算机系统001、202、213、214),每个计算机系统包括一个或多个处理器和系统存储器,所述联合身份结构(207)跨多个不同的应用、多个不同的计算机系统、多个不同的上下文以及多个不同的网络提供对身份信息的一致的视图和访问,所述计算机程序产品用于实现一种在所述联合身份结构O07)内执行密钥转换的方法,所述计算机程序产品包括一个或多个具有其上所存储的计算机可执行指令的计算机存储介质,当在处理器上执行所述计算机可执行指令时使得所述联合身份结构执行所述方法,所述方法包括以下接收对一方的身份相关数据的请求021),所述请求包括第一身份密钥类型031),所述第一身份密钥类型031)根据单个模式内的身份密钥分类定义,所述单个模式能表示能被明确标识的任何实体的存在;指示所述第一身份密钥类型031)的对应值的身份密钥值032),所述第一身份密钥类型(231)和对应身份密钥值032)的组合表示密钥标识表格信息061)内的条目;以及密钥类型请求(271),所述密钥类型请求071)表示对与所述方相关联的第二身份密钥类型041)的对应密钥值042)的请求,所述第二身份密钥类型041)也是根据所述单个模式内的所述身份密钥分类定义的;在所述密钥标识表格信息061)内定位与所述第一身份密钥类型(231)和对应身份密钥值032)的组合相对应的密钥标识表格条目011K);访问来自所述密钥标识表格条目011K)的一方标识符值033),所述一方标识符值 (233)与和所述身份密钥相关联的一方相对应;参考所述身份密钥表格信息(261)来定位具有所述第二身份类型密钥041)以及包括所述一方标识符033)的第二密钥标识表格条目012K);从所述第二密钥标识表格条目012K)检索身份密钥值042); 响应于(22 所述请求,返回从所述第二密钥标识表格条目检索到的身份密钥值 (242)。
16.如权利要求15所述的计算机程序产品,其特征在于,所述一方是从以下选择的组织、人、团体、服务和设备。
17.如权利要求15所述的计算机程序产品,其特征在于,所述一方具有从以下选择的角色客户、基本公民、员工、流程角色、以及私人。
18.如权利要求17所述的计算机程序产品,其特征在于,所述第一密钥类型标识多个不同上下文内的第一上下文内的一方,而所述第二密钥类型标识多个不同上下文内的第二不同的上下文内的一方。
全文摘要
本发明涉及用于对计算机存储系统内的一方身份进行建模的方法、系统和计算机程序产品。联合身份结构根据统一模式对计算机存储系统内的身份数据以及身份数据各部分之间的关系进行建模。联合身份结构可联合来自各种不同计算环境内的计算存储系统的分布身份以及身份关系数据。在计算环境处与联合身份结构相关联的代码和元数据可互操作以便于对联合身份结构内的身份以及身份关系数据进行统一的存储、访问、修改、删除和保护。本发明的各实施例包括利用身份密钥表格条目来定位一方身份信息并且执行不同类型的身份密钥之间的密钥转换。
文档编号G06F21/00GK102197399SQ200980142630
公开日2011年9月21日 申请日期2009年10月16日 优先权日2008年10月23日
发明者K·W·肖特, K·卡梅隆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1