首页> 中国专利> 在对等网络基础上控制对存在信息的访问的方法和系统

在对等网络基础上控制对存在信息的访问的方法和系统

摘要

存在信息系统允许在对等基础上要由发行人而非由存在服务器控制和实施对发行人的存在信息的访问。订阅人在对等基础上向发行人发出请求以订阅发行人的存在信息。当发行人接收到对订阅其存在信息的请求时,发行人的存在信息系统能够基于与该订阅人相关联的访问权限允许或拒绝该请求。如果请求被允许,那么发行人将其当前的存在状态以及当它改变时其新的存在状态通知订阅人。存在状态可以在存在模型中各种详细层次上定义。

著录项

  • 公开/公告号CN1780214A

    专利类型发明专利

  • 公开/公告日2006-05-31

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200510118005.5

  • 发明设计人 A·P·辛克莱;W·V·巴克利;

    申请日2005-10-24

  • 分类号H04L12/00;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人张政权

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 17:20:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-12-11

    未缴年费专利权终止 IPC(主分类):H04L12/00 授权公告日:20110727 终止日期:20121024 申请日:20051024

    专利权的终止

  • 2011-07-27

    授权

    授权

  • 2008-01-02

    实质审查的生效

    实质审查的生效

  • 2006-05-31

    公开

    公开

说明书

技术领域

本发明一般涉及控制对存在信息的访问。

背景技术

在会话参与者之间经由他们的计算机系统的实时会话变得越来越普及。实时会话要求参数者出现在他们计算机系统(例如个人数字助理)之处并在接收到通信时能够响应。实时会话最通用的形式由即时消息服务提供。即时消息服务允许参与者发送消息并且会话中的其他参与者可以在一两秒钟之内接收到它们。接收参与者于是能够以相似的方式发送响应消息给其他参与者。有效的实时会话取决于参与者非常快速地意识到、检查和响应接收到的消息。这种快速的响应与传统的电子邮件系统形成对比,在电子邮件系统中,电子邮件消息的接收者在他们方便时响应消息。

当发起的参与者希望开始实时会话时,参与者需要知道所期望的参与者是否能够实时地响应消息。如果否,那么经由传统的电子邮件、语音邮件或某些其他机制的通信会更为适合。例如,如果所期望参与者的计算机当前处于关机状态,那么实时会话是不可能的。此外,如果他们的计算机处于开机状态,但是所期望的参与者离开他们的计算机,实时会话也是不可能的。发起参与者希望知道所期望参与者的可用状态,由此作出通信形式的适当决定。

诸如计算机系统或与该计算机系统相关联的用户等实体的可用性状态被称为“存在信息”。用户使得他们的存在信息可用,这样使得其他用户能够决定与他们通信的最佳方式。例如,存在信息会指示用户在即时消息服务器上登录(“在线”)或注销(“离线”)。存在信息也可以提供关于用户可用性的更详细信息。例如,即使用户在线,用户可能处于会议中而离开了他们的计算机。在这种情况下,存在信息会指示“在线”和“会议中”。

在即时消息的情况下,发行用户(“发行人”)会将他们的存在信息提供给存在服务器,接着存在服务器将信息提供给订阅用户(“订阅人”)。因此,存在服务器会使用订阅人/发行人模式来为存在服务的用户提供存在信息。只要用户的存在信息改变了,存在服务器会收到那个用户的计算机系统关于改变的通知,并接着将改变通知订阅用户。订阅用户于是可以基于所期望参与者的存在信息决定是否要发起即时消息会话。

为了保护用户的隐私,存在服务器允许用户制定对他们的存在信息的访问控制权。例如,用户会向存在服务器提供被授权访问该用户的存在信息的那些其他用户的列表。当不在列表上的用户请求订阅该用户的存在信息时,存在服务器拒绝其请求。

经由存在服务器实施对存在信息的访问控制权的一个难点在于服务器的存储和计算要求成为了瓶颈。该瓶颈来自于服务器需要为存在服务器的每个用户存储访问控制信息,并且只要接收到订阅请求以及可能地只要用户的存在信息改变时,存在服务器就要检查控制信息。随着经由实时会话的通信变得更为受欢迎,会出现要为数千万用户存储访问控制信息的需求。因此,需要增强服务器以便适应日益增加的用户数量和订阅请求。

存储和实施访问控制权的另一个难点在于存在服务器一般具有预定义的存在状态集以描述实体的可用性。然而,在许多情况下,这些预定义的存在状态集可能不能有效地描述用户的存在状态。例如,适合于商业人士的存在状态可能不适合于大学生。同样地,个人可能根据他们当前的环境具有不同的存在状态。例如,个人在工作时与空闲时可能具有完全不同的存在状态。

期望有一种实时通信构架,可以避免存在服务器处的这个瓶颈并允许灵活地指定存在状态。

发明内容

存在信息系统允许在对等基础上由发行实体控制并且由该发行实体的计算机系统执行对发行实体的存在信息的访问,而非通过存在服务器。订阅实体可以在对等基础上向发行实体发送一请求以订阅发行实体的存在信息。当发行实体接收到订阅其存在信息的请求时,发行计算机系统的存在信息系统可以基于与订阅实体相关联的访问权允许或拒绝该请求。如果请求被允许,那么发行实体通知订阅实体其当前存在状态和新的存在状态。存在信息系统也会允许发行实体定义其自身的存在模式,所述存在模式指示了发行实体的存在状态。

附图说明

1.图1是示出一个实施例中存在模式的图示。

2.图2是示出一个实施例中在用户的对等计算机系统上维护的存在信息系统的数据结构的框图。

3.图3是示出一个实施例中每个用户所使用的存在信息系统的数据存储和组件的框图。

4.图4是示出一个实施例中设置用户访问权限组件的处理的流程图。

5.图5是示出一个实施例中接收订阅请求组件的处理的流程图。

6.图6是示出一个实施例中通知订阅人组件的处理的流程图。

7.图7是示出一个实施例中创建访问控制列表组件的处理的流程图。

详细描述

提供了在对等基础上的控制对存在信息的访问的方法和系统。在一个实施例中,存在信息系统允许在对等基础上由发行实体控制并且由该发行实体的计算机系统实行对发行实体的存在信息的访问,而非通过存在服务器。一旦订阅实体定位了发行实体的计算机系统的地址,例如使用存在服务器,那么订阅实体可以使用所定位的地址在对等基础上向发行实体发送请求以订阅该发行实体的存在信息。当发行实体接收到订阅对其存在信息的请求时,发行计算机系统的存在信息系统能够基于与订阅实体相关联的访问权限允许或拒绝该请求。如果请求被允许,那么发行实体通知订阅实体其当前存在状态和当其改变时的新的存在状态。因为发行计算机系统而非存在服务器维护和实行他们订阅实体的访问权限,所以减轻了存在服务器这样做的开销,并且可以增加访问存在信息的实体的数目而无需向存在服务器加上沉重的负担。

为了帮助发行实体控制其保密性,存在信息系统会允许发行实体为订阅实体就各种层次的存在信息细节定义访问权限。例如,发行实体会指定一订阅实体具有知道发行实体是在线还是离线的权限,但是没有知道当发行实体在线时任何更多细节的权限。然而,发行实体会指定另一订阅实体具有知道当发行实体在线时更多细节的权限,诸如发行实体是否正在开会或外出就餐。此外,存在信息系统会允许实体为他们的存在信息定义存在模型,而非依赖于预定义的存在状态集。存在模型会定义存在状态的层次。例如,一个发行实体会定义在“在线”状态中指定“在家”或“在工作”的存在状态的存在模型,而另一个发行实体会指定在“在线”状态中指定“在东海岸”或“在西海岸”的存在状态。存在信息系统允许发行实体基于其自身的存在模型定义订阅实体的访问权限。存在信息系统也会允许发行实体定义多个存在模型并对于不同的订阅实体透露不同的存在模型。例如,发行实体会向其配偶提供一存在模型,该存在模型不用于他们向同事提供的存在模型。这样,存在信息系统允许发行实体定义基于发行实体的环境而定制的存在模型并允许发行实体向不同的订阅实体提供不同的存在模型。

图1是示出一个实施例中存在模型的图表。存在模型100定义了发行实体的存在状态的层次。第一层次存在状态110是“离线”111、“在线”112和“不可用”113。“离线”表示发行实体当前不可用,“在线”表示发行实体当前登录到存在服务器上,而“不可用”表示当前没有存在信息可用。“在线”存在状态的第二层次存在状态120是“在家”121、“在工作”122和“其他”123。“在家”表示发行实体在家中在线,“在工作”表示发行实体在工作场所在线,而“其他”表示发行实体在某个其他场所在线。“在工作”的第三层次的存在状态130是“在开会”131、“在打电话”132和“在就餐”133,这些是自我描述。“在开会”的第四层次的存在状态140是“在办公室中”141和“在办公室外”142,这些也是自我描述。存在信息系统会允许用户定义存在模型的存在状态的层次并定义多个存在模型。

在一个实施例中,存在模型中的每个存在状态会具有相关联的访问控制列表,用于定义订阅实体对与该状态相关联的存在信息的访问权限。当发行实体变化到新的状态,存在信息系统通知对新的存在状态具有适当访问权限的订阅实体。通常,订阅实体被通知到该订阅实体具有访问权限的新的存在状态的最近祖先存在状态(包括新的存在状态自身)。例如,员工会给他们的上级对“在工作”和“在开会”的存在状态,而不给予他们的“在打电话”或“在就餐”的存在状态。当员工离开会议和外出就餐时,存在信息系统通知上级员工当前“在工作”,这是上级可访问的最近的祖先存在状态。相同的员工会给他们的秘书对他们“在打电话”和“在就餐”的存在状态的访问权限。当员工外出就餐时,存在信息系统通知他们的秘书该员工当前“在就餐”。当员工从就餐回来开始打电话时,存在信息系统通知他们的秘书该员工当前“在打电话”。然而,存在信息系统不会通知上级,因为上级已经被通知该员工“在工作”且上级对“在打电话”的存在状态没有访问权限。因此,每个订阅实体可以被认为对存在模型具有不同的视角,这是由他们的访问权限所定义的。存在信息系统会只通知那些订阅实体在他们的视角范围内的存在状态中的改变。

图2是示出一个实施例中在用户的对等计算机系统上维护的存在信息系统的数据结构的框图。数据结构包括发行人/状态表201、订阅人/访问权限表202和存在模型203。存在模型表示存在状态的层次,这可以由传统的树型数据结构表示,其中每个存在状态由树的一节点表示。用户会定义他们自己的存在模型。发行人/状态表包含用户订阅的每个发行实体的条目。例如,第一条目表示用户订阅了“user5”的存在信息,并且“user5”当前“在线/在工作”。只要计算机系统接收到“user5”的存在状态中改变的通知,存在信息系统就更新发行人/状态表的该条目。即时消息系统或某个其他的系统能够访问发行人/状态表以便识别该用户所订阅的发行实体的当前存在状态。订阅人/访问权限表对于每个被订阅了用户的存在信息的实体包含一条目。每个条目将订阅实体的标识映射到他们的访问权限。在一个实施例中,访问权限被指定为对于存在模型的每个节点具有一布尔值的向量。节点的布尔值表示订阅实体是否具有对该节点的存在状态的访问权限。

图3是示出在一个实施例中每个用户所使用的存在信息系统的数据存储和组件的框图。在下文中,在订阅和发行实体是用户的环境中描述存在信息系统。本领域的技术人员会理解可以为计算机系统的存在系统、计算机系统和用户组合、用户组等提供类似的功能。每个用户在他们的计算机系统上会具有存在信息系统的一个实例。存在信息系统包括用于订阅的组件、用于控制访问的组件和在对等基础上的发行存在信息。存在信息系统300包括数据存储301-304和309以及组件305-308。存在信息系统包括发行人/状态表301、订阅人/访问权限表302和存在模型303,如以上参考图2所描述的。存在信息系统也包括用户/访问权限表304,为每个用户包含一条目,其中的访问权限由发行用户所定义。当一用户订阅该用户的存在信息时,存在信息系统将订阅用户的访问权限复制到订阅人/访问权限表中的条目上,用于实施访问权限时使用。设置用户访问权限组件305允许发行用户设置订阅用户对他们的存在信息的访问权限。接收订阅请求组件306接收对存在信息的订阅请求,并且基于该订阅用户的访问权限允许或者拒绝订阅。通知订阅组件307通知订阅用户关于发行用户的存在状态的改变。存在状态引擎308接收由计算机系统生成的事件,并根据存在模型更新用户的存在状态。该事件可以基于对计算机系统的状态的检查而自动生成或由用户手动生成。存在信息系统也可以包括存在状态数据存储309,用于为每个存在模型包含当前存在状态。

存在信息系统在其上实施的计算设备会包括中央处理单元、存储器、输入设备(例如键盘和指点设备)、输出设备(例如显示设备)以及存储设备(例如磁盘驱动器)。存储器和存储设备是计算机可读介质,包含了实施存在信息系统的指令。此外,数据结构和消息结构会被存储并经由数据传输介质发送,诸如通信链接上的信号。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。

存在信息系统的实施例可以在各种操作环境中实施,所述操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子产品、数字照相机、网络个人计算机、微型计算机、大型计算机以及包括任何以上系统或设备的分布式计算环境等等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费者电子产品、数字照相机等等。

存在信息系统可以在诸如由一个或多个计算机或其他设备执行的程序模块等计算机可执行指令的一般环境中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。一般地,程序模块的功能可以按照各种实施例所需组合或分布。

图4是示出一个实施例中设置用户访问权限组件的处理的流程图。组件向要控制其对发行用户的访问权限的用户传递指示。组件提供了一用户界面,发行用户可以通过该界面来指定访问权限。在框401中,组件检取适用于所传递用户的存在模型。在框402中,组件显示所检取的存在模型的信息。组件会显示每个存在状态的指示,并且允许用户指示是否允许所传递的用户访问该存在状态。在框403中,组件从发行用户接收所传递用户的访问权限。在框404中,组件更新用户/访问权限表以便反映所传递用户的新的访问权限。组件接着完成。

图5是示出一个实施例中接收订阅请求组件的处理的流程图。该组件被传递到请求用户的指示并确定允许或是拒绝该请求。在判决框501处,如果用户/访问权限表不包含请求用户的条目,那么组件拒绝该请求并完成,否则组件继续到框502。在框502中,组件为请求用户从用户/访问权限表获取条目。在框503中,组件在订阅人/访问权限表中存储条目。在框504中,组件通知请求用户订阅被允许。组件接着完成。

图6是示出一个实施例中通知订阅人组件的处理的流程图。当发行用户的存在状态改变时调用该组件。该组件被传递到新的存在状态并且适当地通知订阅用户。在框601中,组件选择由订阅人/访问权限表所指示的下一个订阅用户。在判决框602中,如果所有的订阅用户都已经被选择,那么组件返回,否则组件继续到框603。在框603中,组件检取所选订阅用户的访问权限。在框604中,组件选择响应新的存在状态的存在模型的节点。在框605-607中,组件循环地搜索所选订阅用户具有访问权限的新的存在状态的最近组件存在状态。在判决框605中,如果所选节点是根节点,那么订阅用户对新的存在状态没有访问权限,组件循环到框601以选择下一个订阅用户,否则组件继续到框606。在判决框606,如果所选订阅用户被授权访问所选存在状态,那么组件继续到框608,否则组件继续到框607。在框607中,组件选择所选节点的父节点,并接着循环到框605以便确定所选订阅用户是否被授权访问所选父节点。在框608中,组件向所选订阅用户发送所选节点的存在状态的指示,并接着循环到框601以便选择下一个订阅用户。

图7是示出一个实施例中创建访问控制列表组件的处理的流程图。在这个实施例中,存在信息系统为每个存在状态维护访问控制列表。当存在状态改变时,存在信息系统会访问新的存在状态的每个祖先节点并如所示地通知订阅用户。存在信息系统会在每个节点处存储对该状态的存在信息具有访问权限的每个订阅用户的指示。在这种情况下,订阅用户会在其具有访问权限的从根节点到最详细存在状态的节点的每个节点上被标识出来。在一个可选实施例中,存在信息系统会只在每条路径上他具有访问权限的最详细存在状态的节点处到树叶节点指示订阅用户。虽然这个实施例会避免在祖先节点处存储冗余信息(因为假设订阅用户对所有的祖先存在状态具有访问权限),但是存在信息系统会需要访问从根节点到树叶节点的新的存在状态的节点的路径上的每个节点。组件生成一访问控制列表以与存在模型的每个存在状态相关联。在框701中,组件选择订阅人/访问权限表的下一个订阅用户。在判决框702中,如果所有的订阅用户都已经被选择,那么组件完成,否则组件继续到框703。在框703中,组件检取与所选订阅用户相关联的访问权限。在框704-707中,组件循环增加所选订阅用户到所选订阅人能够访问的每个存在状态的访问控制列表中。在框704中,组件选择下一个存在状态。在判决框705中,如果所有的存在状态已经被选择,那么组件循环到框701以选择下一个订阅用户,否则组件继续到框706。在判决框706中,如果所选订阅用户被授权访问所选存在状态,那么组件继续到框707,否则组件循环到框704以选择下一个存在状态。在框707中,组件将所选订阅用户增加到所选存在状态的节点相关联访问控制列表中,并接着循环到框704以选择下一个存在状态。

就以上所述的,应该理解这里所描述的存在信息系统的特定实施例意在说明,但是可以作出各种修改而不背离本发明的精神和范围。本领域的技术人员会理解与一企业(例如公司)相关联的用户会具有他们存储在企业的服务器上和/或在其上实施的存在模型。因此,这样的服务器可以用作用户的计算机系统的代理。相应地,除了所附权利要求书以外本发明不受其他限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号