用于发现无服务器对等网络中的端点的应用程序编程接口的制作方法

文档序号:64784阅读:282来源:国知局
专利名称:用于发现无服务器对等网络中的端点的应用程序编程接口的制作方法
用于发现无服务器对等网络中的端点的应用程序编程接口
背景
基于通信服务例如由MSN⑧通信服务提供的Messenger服务的服务器允许用 户登入基于服务器的网络中,然后使用该网络的服务(例如,电子邮件、文本消息 传送等等)。服务器可以为用户存储一个联系人列表,用户可以从该联系人列表增
加和删除的人员。当用户登入时, 一个或多个服务器可以通知该联系人列表中的人 员该用户"在线"。同样地,服务器或诸服务器可以向用户通知用户联系人列表中 "在线"的人员。
微软⑧(MICROSOFT )公司也提供对等网络软件以供与其WINDOWS⑧操 作系统一起使用。借助于这一系统,用户可以创建一个对等计算机的网络,并且可 以相互通信而不需要登入中心服务器。例如,用户可以创建一个对等群,然后创建 一个聊天室,在该聊天室中该群的所有成员都可以张贴消息并看到由群中其他用户 张贴的消息。系统也可以允许诸对等体发现附近的其他对等体。使用对等计算机维 护聊天室而不需要中心服务器。
概述
描述用于促进出现公布的诸方法,其中可以包括授权在第一端点的出现公 布,如果该公布被授权,则装配一个出现数据结构,并且从第一端点广播该出现数 据结构。该方法也可以包括出现结构,该出现结构包括一个友好名称、联系人信息 和端点信息。该方法进一步包括XML格式、vCard格式中的至少其中一种格式的 联系人信息,以及从对等名称解析协议获得的端点信息。该方法可以额外包括出现 数据结构,其中该出现数据结构被编码为通用发现协议消息、简单服务发现协议消 息、以及将全局唯一标识符和发现协议消息关联起来的至少其中之一。该方法可以 包括一个授权出现公布的用户实体,该用户实体设置授权全部出现、 一些出现或没 有出现的公布的缺省参数中的至少其中之一。
描述用于促进发现用户实体方法,包括在第一端点注册第一用户实体,接收 到标识第二用户实体的消息,确认所接收到信息,并将确认结果存储在发现高速缓
存中。该方法也可以包括注册,其中注册包括公布简单服务发现协议消息、枚举发 现高速缓存中的结果、以及对第二用户实体的査询。该方法可以进一步包括XML 格式的所接收消息,所接收到的消息包括出现信息,出现信息进一步包括第二用户 实体的第二端点的状态、第二用户实体的联系人身份信息、以及第二用户实体的联 系人元数据。该方法可以进一步包括确认,其中确认包括标识诸消息,该诸消息指 示以下的至少其中之一可用用户实体、不可用用户实体、把可用用户实体添加到 发现高速缓存中、以及把不可用用户实体从发现高速缓存删除。该方法可以包括被 编码为简单服务发现协议的消息,将一个全局唯一标识符与该简单服务发现协议的
消息关联起来,以及包括允许第一用户实体参与消息接收的注册。
附图

图1是一个可以依照权利要求
书运作的计算系统的方框图;
图2是一个可以促进对等无服务器协作和/或通信的示例性系统的方框图;
图3是一个与在无服务器对等网络中公布可用性有关的示例性方法的流程图;
以及
图4是一个与发现在无服务器对等网络中"我附近的人"有关的示例性方法 的流程图。
描述
尽管下列文本阐明许多不同实施例的详细描述,但是应该理解,该描述的法 律范围由本专利开头所阐明的权利要求
书的文字所定义。该详细描述只应被构建为 示例性的,不会描述所有可能的实施例,因为描述所有可能的实施例是即使不是不 可能的也是不现实的。使用当前的技术或在本专利申请日之后开发的技术,可以实 现许多替代实施例,这仍然会落在权利要求
书的范围之内。
也应该理解,在本专利中,除非使用句子"如此处所用,术语'—'特此 被定义为意指……"或者类似句子来明确地定义一个术语,否则不管是明确地还是 含蓄地,没有限制该术语意义超出其平常或普通意义的意图,并且,这一术语不应 该被解释为被限制在基于本专利的任何部分中(除了权利要求
书的语言之外)所做 的任何声明的范围中。在本专利中以符合单一意义的方式提及在本专利开头的权利 要求书中所陈述的任何术语,在这样的范围内,这样做仅仅是为了清晰起见以便不 使读者混淆,并且,不规定为这样的权利要求
术语含蓄地或以其他方式地被限制在
该单一意义。最后,除非通过陈述词语"意指"和没有任何结构的说明部分的函数
来定义一个权利要求
要素,否则不规定为任何权利要求
要素的范围基于35 U.S.C. § 112申请书的第六段来解释。
图1例示了合适的计算系统环境100的例子,在该计算系统环境中可以实现 用于所要求的方法步骤和装置的逐步骤的系统。计算系统环境100只是合适的计算 环境的一个例子,它并不意味着对权利要求
书的装置的方法的使用范围和功能有任 何限制。计算机环境100也不应该被解释为具有与在示例性操作环境100中所例示 的任一组件或它们的组合有关的任何依赖或要求。
所要求的方法步骤和装置能够用多个其他通用或专用计算系统环境或结构操 作。适用于使用权利要求
书的方法和装置的众所周知的计算系统、环境、和/或配
置的例子包含但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处
理器系统、基于微处理器的系统、机顶盒、可编程的消费性电子产品、网络PC、 微型计算机、大型计算机以及包括任何以上系统或设备的分布式计算环境,等等。
所要求的方法步骤和装置可以用由计算机执行的诸如程序模块的计算机可执 行指令的通用上下文描述。通常,程序模块包括执行特定的任务或实现特定的抽象 数据类型的例程、程序、对象、元件和数据结构等等。也可以在分布式计算环境中 实践诸方法和装置,在这些分布式计算环境中,由通过通信网络而被链接的远程处 理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的 本地和远程计算机存储介质中。
参见图1,用于实现所要求的方法步骤和装置的示例性系统包括一个以计算机 110形式的通用计算设备。计算机110的组件包括但不限于处理单元120、系统 存储器130、将包括系统存储器在内的各个系统组件耦合到处理单元120的系统总 线121。系统总线121可以是包括使用多种总线体系结构中的任一种的存储器总线 或存储器控制器、外围总线以及局域总线在内的若干总线结构类型中的任一种。作 为例子而非限制,这样结构包括工业标准体系结构(ISA)总线,微通道体系结构 (MCA)总线,增强ISA (EISA)总线,视频电子标准协会(VESA)局部总线和 也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机110通常包括多种计算机可读介质。计算机可读介质可以是能由计算 机110访问的任何可用介质,而且包含易失性/非易失性介质以及可移动/不可移
动介质。作为例子而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括易失性和非易失性、可移动的和不可移动的介质,这些介质
存储信息如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或
技术实现。计算机存储介质包括但不局限于RAM、 ROM、 EEPROM、闪速存储 器或者其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光盘存储器、磁 带盒、磁带、磁盘存储器或者其他磁性存储设备或者任何其他可以用于存储所需信 息并可由计算机110访问的介质。通信介质一般具体化为如载波或者其他传输机制 等的已调制的数据信号中的计算机可读指令、数据结构、程序模块或其他数据,并 包括任意信息传递介质。术语"己调制的数据信号"是指以在该信号中编码信息的 方式来设置或改变其一个或多个特性的信号。作为例子而非限制,通信介质包括有 线介质如有线网络或者直接有线连接,以及无线介质如声学、射频、红外和其他无 线介质。以上任何一个的组合也应当被包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器如只读存储器(ROM) 131 和随机存取存储器(RAM) 132形式的计算机存储介质。基本输入/输出系统133 (BIOS)通常被存储在ROM 131中,该基本输入/输出系统包含帮助在计算机110 内的各个元件之间例如在启动过程中传输信息的基本例程。RAM 132通常包含处 理单元120可立即访问和/或目前正在操作的数据和/或程序模块。作为例子而非限 制,图1例示了操作系统134、应用程序135、其他程序模块136以及程序数据137。
计算机110也可以包括其他可移动/不可移动、易失性/非易失性的计算机存储 介质。仅仅作为例子,图1例示了从不可移动的非易失性磁介质读取或向其中写入 的硬盘驱动器140、从可移动的非易失性磁盘152读取或向其中写入的磁盘驱动器 151、以及从可移动的非易失性光盘156 (例如,CDROM或其他光学介质)读取 或向其中写入的光盘驱动器155。可以在该示例性操作环境中使用的其他可移动/ 不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数 字多用途盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通 过不可移动存储器接口如接口 140连接到系统总线121,而磁盘驱动器151和光盘 驱动器155通常通过可移动存储器接口如接口 150连接到系统总线121。
上面讨论的并且在图1中所示的驱动器及其相关的计算机存储介质,为计算 机110提供计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图 1中,硬盘驱动器141被例示为存储操作系统144、应用程序145、其它程序模块 146和程序数据147。注意,这些组件可以等同于或不同于操作系统134、应用程 序135、其他程序模块136和程序数据137。这里对操作系统144、应用程序145、 其他程序模块146和程序数据147给予不同的标号,以说明至少它们是不同的拷贝。
用户可以通过输入设备如键盘162和定位设备161(通常指鼠标、跟踪球或触摸板) 向计算机20输入命令和信息。其他输入设备(未示出)可以包括麦克风、操纵杆、 游戏垫、圆盘式卫星天线、扫描仪等等。这些和其他输入设备往往通过被耦合到系 统总线的用户输入接口 160连接到处理单元120,但也可以通过其他接口和总线结 构如并行端口、游戏端口或通用串行总线(USB)连接。监视器191或其他类型的 显示设备也通过接口如视频接口 190连接到系统总线121。除监视器外,计算机还 可包括其它外围输出设备如扬声器197和打印机196,它们可通过输出外围接口 190 连接。
计算机110可以运行在使用到一台或多台远程计算机如远程计算机180的逻 辑连接的网络化环境中。虽然在图1中仅仅示出了存储器存储设备181,但是远程 计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共 网络节点,并通常包括上文所述与计算机IIO相关的许多或所有元件。图1所描述 的逻辑连接包括局域网(LAN) 171以及广域网(WAN) 173,但是也可以包括其 他网络。这类网络环境常见于办公室、企业范围内的计算机网络、企业内部互联网 和因特网。
当用于LAN网络环境时,计算机IIO通过网络接口或适配器170连接到局域 网171。当用于WAN网络环境中,计算机IIO通常包括调制解调器172或用于在 WAN 173 (例如,因特网)上建立通信的其他装置。可以内置或者外置的调制解 调器172可以通过用户输入接口 160或其他适当的机制连接到系统总线121。在网 络化环境中,相对于计算机IIO描述的程序模块或它们的部分可以被存储在远程存 储器存储设备中。作为例子而非限制,图1将远程应用程序185例示为驻留在存储 设备181上。应该明白,所示网络连接是示例性的,并且可以使用在计算机之间建 立通信链路的其他方式。
图2是一个可以被用来实现在此所描述的诸示例方法的示例系统200的方框 图。系统200可以促进通过通信网络202的对等无服务器协作和/或通信,而且可 以使用计算系统如图1的计算系统100来实现。通信网络202可以包含但不限于, 例如,局域网和/或广域网、或支持套接字通信或命名管道的通信介质。
系统200可以包含监视通信网络202上其他实体的出现的出现系统204。实体 可以是,例如,特定的人、设备(例如,打印机、复印机、计算机、扫描仪等等)、 组织中的职位(例如,"经理"、"顾客服务代表"等等)、组织等。在网络上出 现通常可以是指一个实体关于与其他实体经由网络进行通信的意愿或能力的当前
状态,也可以是指关于该实体的额外的或可选的信息,例如该实体的当前活动。在 网络上出现可以由出现信息表示。出现信息的例子可以包含但不限于下列指示中的 一个或多个实体"在线"的指示、实体"外出就餐"的指示、实体"离开"的指 示、实体将会"很快回来"的指示、实体"空闲"的指示、实体"忙碌"的指示、 实体"在打电话"的指示、实体"在看电影"的指示、实体"在玩Halo⑧"的指示、 实体"在帮助另一客户"的指示、设备状态(例如,状态为"忙碌"、"空闲"等 的打印机)的指示等等。出现信息可以包括一个或多个枚举字符串和/或有意义的 出现(例如,由用户实体创建的定制字符串)。例如,用户实体可以将定制出现状
态定义为"我不在办公室,明天就回来"。出现系统204所获得的出现信息可以被 存储在出现存储器208中。
出现系统204可以帮助用户实体监视(或"订阅")其他实体的出现信息。 这可以包括出现系统204 (例如)周期性地轮询其他计算系统。附加地或作为其他 选择对应于其他用户实体的其他计算系统可以将诸事件指示传送到系统200,其中 系统200向出现系统204通知这些事件,例如出现状态的改变。例如,当用户的出 现从"离线"变成"在线"时会发生一个事件,并且出现系统204可以探测到这一 事件。然后,出现系统204可以向其他应用程序或软件模块(例如,应用程序280) 通知该事件已发生。
出现系统204也可以监视网络202上所公布的其他实体的性能。例如,实体 的性能可以包含静态性能,如实体的计算系统是否被配置成执行特定软件应用程 序、实体的计算系统是否拥有特定的硬件设备等等。例如,实体的性能也可以包含 动态性能,如实体关于当前正在该实体的计算系统上执行的游戏软件应用程序的实 时性能等等。网络上的实体公布性能是指到允许其他实体能够通过网络202监视性 能。出现系统204所获得的性能信息可以被存储在性能存储器212中。
出现系统204也可以监视网络202上所公布的其他实体对象。实体对象可以 包含,例如,数据对象如文件、结构、图片、声音以及如元数据、名称-数值对等 等这样的描述。网络上的实体公布对象是指允许其他实体能够通过网络202监视这 些对象。仅仅作为例子,公布一个对象可以允许实体向其他实体提供针对正在被该 实体的计算系统执行的应用程序的信息和/或实时信息。例如对一个游戏应用程序 来说,所公布对象可以包含关于游戏者当前分数、游戏者当前拥有的武器等等的信 息。出现系统204所获得的对象信息可以被存储在对象存储器216中。
出现系统204也可以向网络202上的其他实体提供(或"公布")与用户实
体(即是说,与系统200关联的实体)关联的出现信息。与该用户实体关联的出现
信息可以被存储在出现存储器208或其他存储器中。同样地,出现系统204也可以 向网络202上的其他实体提供(或"公布")关于该用户实体性能的信息。与该用 户实体关联的性能信息可以被存储在性能存储器208中。此外,出现系统204也可 以向网络202上的其他实体提供(或"公布")关于该用户实体的对象的信息。与 该用户实体关联的对象信息可以被存储在对象存储器216或某个其他存储器中。同 样地,出现系统204可以促进用户实体监视(或"订阅")出现信息的能力。因此, 当出现信息被用户实体监视时,后续改变可以引发导致通知该用户实体的诸事件。 例如,如果所监视的出现信息从"离开"变为"在玩Halo⑧", 一个事件可以由此 触发向用户实体通知改变。
出现系统204可以和存储关于其他实体的信息的联系人存储器240连接。联 系人存储器240可以存储实体的信息,如一个或多个安全标识符、人可读的别名、 这一实体的出现信息是否被监视的指示器、以及是否允许这一实体获得关于该用户 实体的出现信息的指示器。联系人存储器240所表示的一个实体可以被称为一个联 系人。
每个用户实体可以有一个或多个与其关联的通信端点。通常,与实体关联的 不同通信端点可以包含与实体关联的不同通信终端点,如不同的计算系统。例如, 特定实体的端点可以包含办公室的桌面电脑、家里的桌面电脑、个人数字助理 (PDA)等等。可选地,与用户实体关联的不同通信端点也可以包含正由单个计算 系统执行的不同的软件应用程序。仅举几个例子,端点信息可以包括对等名称、机 器名称或设备类型。
出现系统204也可以和被耦合到通信网络202的通信系统260连接。通信模 块260可以在系统200和与其他实体关联的其他对等计算系统之间建立连接。建立 连接可以包含,例如,判定与实体关联的端点、解析端点地址、认证通信、加密和 解密通信等等中的一项或多项。在一种实现中,通信系统260可以包括对等名称解 释协议(PNRP)或类似协议。PNRP可以解析一个联系人的名称(例如,对等名 称)以取得其IP地址而无须依赖通常被服务器计算机使用的域名系统(DNS)。 在另一种实现中,通信系统260和本身被耦合到联系人存储240的认证系统270 连接。在尝试与另一计算系统建立连接时,通信系统260可以从该另一计算系统接 收与实体关联的标识符的指示D然后,认证系统270可以检査关于所呈现的带有该 安全标识符的实体的信息是否被存储在联系人存储器240中。如果在联系人存储器240中没有发现该标识符,那么该连接被拒绝。
连接可以是受保护的。建立连接并在该连接上进行通信可以包含以下的一项
或多项例如,使用安全信道、使用安全套接字协议层(SSL)技术、使用传输层
安全(TLS)技术、使用公/私密钥对、使用认证技术(例如,X.509证书、使用优 良保密(PGP)程序的加密签名等等)、使用对等名称解析协议(PNRP)、传输 控制协议(TCP)、网际协议(IP)、网际协议第六版(IPv6)等等。解析端点的 地址可以包含,例如,解析IP地址和端口的PNRP标识符。
软件应用程序280或某些其他软件模块可以与出现系统204进行通信以获得 与通信网络202上的其他用户实体关联的出现信息、性能信息和/或对象信息。例 如,出现系统204可以提供一组应用程序编程接口(API),该组API允许软件应用 程序请求并接收关于与其他用户实体关联的出现、性能和/或对象的信息。出现系 统204可以从出现存储器208、性能存储器212和/或对象存储器216检索所请求的 信息。附加地或作为其他选择,出现系统204可以通过通信系统260和通信网络 202从其他用户实体获得所请求的信息。 一般而言,"可用性"涉及出现信息、性 能和对象。用户实体具有公布这些信息中的全部、 一些或没有的能力。
邀请API282可以允许用户实体所使用的应用程序280邀请无服务器网络的其 他联系人或用户实体参与协作活动。邀请API 282可以使用出现系统204判定来自 联系人存储器240的诸联系人。此外,出现系统204可以检索位于性能存储器204 中的性能信息212。如果联系人存储器240中的特定联系人没有关联的性能信息, 邀请API 282,或者作为其他选择,应用程序280可以使用性能API 284来判定另 一用户实体的端点的性能。性能可以是包括在多个端点上的应用程序所支持的任何 活动的协作活动。例如,联系人可以支持Halo⑧游戏活动,因为联系人的端点安装 有Halo⑧游戏应用程序。邀请API可以允许联系人所有者判定无服务器网络上可以 支持Halo⑧游戏活动的其他联系人。
"我附近的人"(PNM) API 286可以允许用户实体所使用的应用程序280 判定附近的其他用户实体、设备或端点。即是说,判定匹配特定邻近性参数的联系 人、伙伴或端点。邻近性可以包括空间引用,如在特定会议室、建筑物或州中的诸 联系人。邻近性也可以包括网络引用,如与特定网络子网关联的诸联系人。此外, 邻近性可以包括名称参考,例如,联系人名称中具有词语"建筑师"的那些联系人。 然而,在最广泛的意义上,PNM邻近性可以意指子网的所有人。PNMAPI 286可 以存储与匹配PNM高速缓存288中的特定邻近性定义的诸联系人有关的逻辑结构。
图3是依照权利要求
书的方法300的例示。该方法在方框302开始,进行下 去在方框304初始化诸PNM服务。在方框306判定用户实体公布性能的授权,如 果该授权不被允许,进行下去到方框308。正如稍后将会讨论的那样,选择不再公 布性能的用户实体将会阻止其他用户实体发现该用户实体。然而,选择不再公布的 用户实体仍然可以判定其他用户实体或端点是否是在附近。授权可以包括"允许" 或"拒绝"可用性信息的公布的总括保单。作为其他选择,可以由用户实体考虑公 布的各种等级而定制授权。例如,用户实体可以授权公布特定可用性信息,但对于 特定对象(例如,文件、文件共享等等)则拒绝授权公布。用户实体可以公布(除 了出现之外)性能、用户标题、随机注释等等。如果在方框306允许公布的授权, 那么,在方框310,方法300可以判定PNM逻辑结构是否可用。作为其他选择, 在初始化(登入)诸PNM服务之后,方法可以首先判定用户实体是否决定公布可 用性。PNM逻辑结构可以包括友好名称、XML格式(或其他合适格式)的对等身 份信息、以及无服务器网络端点(例如,IP地址和端口)。如果有必要,通信模 块260的PNRP名称解析模块可以获得IP地址和端口 。友好名称可以是被设计为 表示用户实体的人可读的字符串。从用户实体选择公布的用户身份的个人联系人信 息或其任何部分获得对等身份信息。无服务器网络的其他用户可以使用这一对等身 份信息来填充其联系人存储器。如果该逻辑结构不可用,在方框312可以创建一个 逻辑结构,该方法可以调用一个函数来在该逻辑结构中检索该对等身份信息。该方 法可以进一步调用函数来以各种格式(包括XML和vCard格式)"包装"对等身 份信息。
在方框314,该逻辑结构可以被编码为通用发现协议消息、PNRP、动态DNS, 或简单服务发现协议(SSDP)消息。作为例示而非限制,SSDP将会被进一步详细 讨论。SSDP是用于广播和发现网络上的消息的简单多播协议,通常被实现为通用 即插即用(UPNP)的一部分。当网络的端点具有很少或者甚至没有静态配置时, SSDP尤其有用。此外,SSDP协议在发现过程中不需要任何服务器的帮助。SSDP 消息可以被分段,以适应根据网络最大传输单元(MTU)的分组大小要求。进一 步,在方框316,诸SSDP消息可以与一个GUID关联起来,以使得其他应用程序 可以把诸消息标识位为类型SSDP。在分段之后,在方框318, SSDP注册函数可以 对网络广播诸消息。
图4是一种依照权利要求
书的方法的示例。该方法可以从(图3的)方框308
继续,并在方框402判定用户实体是否希望发现"我附近的人"。正如前面所讨论 的那样,如果用户实体还没有登入诸PNM服务中(方框304),那么在方框402 该用户实体可以做出这样的选择。否则,那么在方框404,该方法可以从PNM服 务登出,并撤销注册SSDP广播服务。作为其他选择,在方框406,该方法可以使 用一个通知函数来接收类型SSDP的所有消息(例如消息GUID所标识的消息)。 因而,当无服务器网络上的其他用户广播SSDP注册函数时,该方法通知用户实体。 类似地,在方框408,该方法可以使用一个SSDP搜索函数,借助该SSDP搜索函 数,搜索其他用户实体的诸端点上的高速缓存以获得所存储的类型SSDP的消息。 这样的搜索可以使用先前所提到的邻近性描述中的任何一种,该邻近性描述包括但 不限于,子网上的所有人、子网上的人的特定子群以及子网的特定名称匹配者。此 外,通过定位在无线邻近性方面靠近的那些人,邻近性也可以包括地理指定。在方 框410, SSDP消息确认包括检查另一用户实体存在的指示的消息类型。例如,如 果另一用户实体的高速缓存上的一个SSDP消息具有类型"活动",那么在方框 412,调用用户实体的高速缓存288被更新,以包括将该另一用户实体包括为"我 附近的人"。调用用户实体的高速缓存也可以被保留。然而,该方法不限于"人", 而是可以包括在端点的任何实体。如果用户实体的一个端点以受控方式离开该无服 务器网络,那么该端点广播一个类型"再见"的SSDP消息。于是,(也分别在方 框410和412),无服务器网络上的剩余端点将会识别该SSDP消息,核对它具有 类型"再见",并通过删除该端点来更新高速缓存。然而有时,端点没有机会广播 类型"再见"的SSDP消息就突然离开网络。这样,如果该用户实体的高速缓存包 含"活动"端点的一个SSDP消息,但SSDP搜索函数无法找到该端点,那么在方 框412,该调用用户的高速缓存被更新以删除该端点。在用户/端点的高速缓存被更 新之后,在方框414,该方法可以标记一个改变事件以向用户通知新端点或所删除 的端点。
尽管上文阐明了许多不同的实施例的详细描述,但应该理解,本专利的范围 由在本专利开头阐明的权利要求
书的文字定义。该详细描述只应被理解为示例性 的,不会描述所有可能的实施例,因为描述所有可能的实施例是即使不是不可能的 也是不现实的。使用当前的技术或在本专利申请日之后发展的技术,可以实现许多 替代实施例,这仍然会落在本权利要求
书的范围之内。
因此,可以对此处所描述和例示的诸技术和结构进行许多修改和变动,而不 会偏离本权利要求
书的精神和范围。因此,应该理解,此处所描述的诸方法和装置 只是示例性的,并不是对本权利要求
书的范围的限制。
权利要求
1.一种出现公布的方法,包括授权在第一端点的出现公布;如果所述公布被授权,装配一出现数据结构;广播来自所述第一端点的出现数据结构。
2. 如权利要求
1所述的方法,其特征在于,所述出现数据结构包含友好名称、 联系人信息和端点信息。
3. 如权利要求
2所述的方法,其特征在于,所述联系人信息是XML格式或 vCard格式中的至少其中之一。
4. 如权利要求
2所述的方法,其特征在于,所述端点信息是从对等名称解析 协议获得。
5. 如权利要求
l所述的方法,其特征在于,所述出现数据结构被编码为通用 发现协议消息或简单服务发现协议消息中的至少其中之一。
6. 如权利要求
5所述的方法,其特征在于,进一步包括将全局唯一标识符与 所述诸发现协议消息关联起来。
7. 如权利要求
l所述的方法,其特征在于,由一用户实体授权出现公布。
8. 如权利要求
7所述的方法,其特征在于,所述用户实体设置授权全部出现、 一些出现或没有出现的公布的缺省参数中的至少其中之一。
9. 一种发现用户实体的方法,包括 在第一端点注册第一用户实体; 接收标识第二用户实体的消息; 确认所述接收到的消息; 把所述确认结果存储到发现高速缓存中。
10. 如权利要求
9所述的方法,其特征在于,所述注册包括公布简单服务发 现协议消息。
11. 如权利要求
9所述的方法,其特征在于,进一步包括枚举所述发现高速 缓存的结果。
12. 如权利要求
9所述的方法,其特征在于,进一步包括查询第二用户实体。
13. 如权利要求
9所述的方法,其特征在于,所接收到的消息为XML格式。
14. 如权利要求
9所述的方法,其特征在于,所接收到的消息包括出现信息。
15. 如权利要求
14所述的方法,其特征在于,所述出现信息包括所述第二用户实体的第二端点的状态、所述第二用户实体的联系人身份信息以及所述第二用户 实体的联系人元数据。
16. 如权利要求
9所述的方法,其特征在于,所述确认包括标识指示可用用 户实体或不可用用户实体中的至少其中之一的消息D
17. 如权利要求
16所述的方法,其特征在于,进一步包括把所述可用用户实 体添加到所述发现高速缓存,并从所述发现高速缓存删除不可用用户实体。
18. 如权利要求
9所述的方法,其特征在于,所述消息被编码为简单服务发 现协议消息。
19. 如权利要求
18所述的方法,其特征在于,进一步包括把全局唯一标识符 与所述简单服务发现协议消息关联起来。
20. 如权利要求
9所述的方法,其特征在于,所述注册包括允许所述第一用 户实体参与消息接收。
专利摘要
描述用于促进出现公布的诸方法,其中可以包括授权在第一端点的出现公布,如果该公布被授权,则装配一个出现数据结构,并从第一端点广播该出现数据结构。该方法也可以包括出现结构,该出现结构包括一个友好名称、联系人信息和端点信息。该方法进一步包括XML格式、vCard格式中的至少其中一种格式的联系人信息,以及从对等名称解析协议获得的端点信息。该方法可以额外包括出现数据结构,其中该出现数据结构被编码为通用发现协议消息、简单服务发现协议消息、以及将全局唯一标识符和发现协议消息关联起来的至少其中之一。该方法可以包括一个授权出现公布的用户实体,该用户实体授权设置全部出现、一些出现或没有出现的公布的缺省参数中的至少其中之一。
文档编号GKCN101371599SQ200680013430
公开日2009年2月18日 申请日期2006年4月20日
发明者A·R·克拉森, A·安纳鲁德, D·G·泰勒, E·J·弗兰纳瑞, K·R·陶, R·古普塔, R·拉奥, T·维斯伯格, U·W·帕克斯三世 申请人:微软公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1