一种无服务器对等网络中邀请用户的应用程序接口.pdf

上传人:b*** 文档编号:973626 上传时间:2018-03-22 格式:PDF 页数:22 大小:1.05MB
返回 下载 相关 举报
摘要
申请专利号:

CN200680013652.2

申请日:

2006.04.20

公开号:

CN101495967A

公开日:

2009.07.29

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 9/46变更事项:专利权人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150505|||授权|||实质审查的生效|||公开

IPC分类号:

G06F9/46

主分类号:

G06F9/46

申请人:

微软公司

发明人:

T·维斯伯格; T·R·曼尼恩; A·R·克拉森; A·安纳鲁德; K·R·陶; U·W·帕克斯三世; R·拉奥; E·J·弗兰纳瑞; R·克普塔; D·G·泰勒

地址:

美国华盛顿州

优先权:

2005.4.22 US 11/112,347

专利代理机构:

上海专利商标事务所有限公司

代理人:

顾嘉运

PDF下载: PDF下载
内容摘要

描述了便于在网络上邀请用户实体的方法和计算机可读介质。本发明方法包括:由位于第一端点的第一用户实体启动发送邀请的第一应用、选择第二用户实体接收这个邀请、选择一项活动。本方法还可包括:如果第一端点确定活动得到第一端点的计算应用的支持,则由第一端点向第二用户实体发出参与此项活动的邀请。

权利要求书

1.  一种在网络上邀请用户实体的方法,该方法包括:
由位于第一端点的第一用户实体启动第一应用以发送邀请;
选择第二用户实体以接收所述邀请;
选择一项活动;
如果第一端点确定所述活动被本端点的计算应用所支持,则从第一端点向第二用户实体发送参与所述活动的邀请。

2.
  如权利要求1所述的方法,其特征在于,所述发送邀请的第一应用是计算应用。

3.
  如权利要求1所述的方法,其特征在于,所述发送邀请的第一应用是消息传送应用。

4.
  如权利要求1所述的方法,进一步包括启动名字解析机制以定位所述第二个用户实体的第二端点。

5.
  如权利要求1所述的方法,进一步包括查询存在存储器以定位所述第二用户实体的第二端点。

6.
  如权利要求1所述的方法,进一步包括同步地或异步地发送所述邀请。

7.
  如权利要求6所述的方法,进一步包括在所述第一端点处取消异步邀请。

8.
  如权利要求1所述的方法,进一步包括以安全或非安全方式发送所述邀请。

9.
  一种网络上的用户实体接收邀请的方法,该方法包括:
在接收端点处启动第一应用以接收来自发送端点参与一项活动的邀请;
在所述接收端点处接收所述邀请;
如果所述接收端点确定所述活动能够被接收端点的计算应用所执行,则启动接收端点上的一个计算应用以执行所述活动。

10.
  如权利要求9所述的方法,其特征在于,所述接收邀请的第一应用是所述计算应用。

11.
  如权利要求9所述的方法,其特征在于,所述接收邀请的第一应用是消息传送应用。

12.
  如权利要求9所述的方法,其特征在于,所述接收端点通过下组中的至少一种应用接收所述邀请:通用邀请监听器应用、消息传送应用、接收端点处的计算应用。

13.
  如权利要求9所述的方法,进一步包括在存在存储器中注册接收端点处的计算应用的活动性能。

14.
  如权利要求9所述的方法,进一步包括同步地或异步地接收所述邀请。

15.
  如权利要求9所述的方法,进一步包括以安全或非安全方式接收所述邀请。

16.
  如权利要求9所述的方法,进一步包括由发送端点检索发送至接收端点的邀请的状态信息。

17.
  一种具有用来邀请网络上的用户实体的计算机可执行指令的计算机可读介质,所述计算机可执行指令包括:
用于启动第一应用以由第一端点处的第一用户实体发送邀请的计算机可执行指令;
用于选择第二用户实体接收所述邀请的计算机可执行指令;
用于选择一项活动的计算机可执行指令;和
用于如果第一端点确定所述活动被第一端点的计算应用所支持,则从所述第一端点向所述第二用户实体发送参与所述项活动的邀请的计算机可执行指令。

18.
  如权利要求17所述的计算机可读介质,其特征在于,所述发送邀请的第一应用是所述计算应用。

19.
  如权利要求17所述的计算机可读介质,其特征在于,所述发送邀请的第一应用是消息传送应用。

20.
  如权利要求17所述的计算机可读介质,进一步包括启动名字解析机制以定位第二用户实体的第二端点。

说明书

一种无服务器对等网络中邀请用户的应用程序接口
背景
基于服务器的通信服务,例如通信服务提供的Messenger(信息传送)服务,允许用户登录到一个基于服务器的网络,并使用该网络的服务(例如email,文本信息等等)。服务器可以为用户存储联系人列表,用户也可以从该列表中添加和删除人员。当用户登录后,一个或多个服务器会通知该用户联系人列表中的人员该用户已“上线”。同样的,这一个或多个服务器也会通知该用户其联系人列表中的在线人员。
也提供在其操作系统中使用的对等网络软件。在这个系统下,用户能够创建一个对等计算机网络,能够不用登录到中央服务器上就可以互相联系。例如,用户可以创建一个对等组,然后创建一个聊天室,在该聊天室里,组内的所有成员都可以发送信息并可以看到组内其他成员发送的信息。该系统也允许对等端邀请其他人参与到协作活动中。聊天室是通过对等计算机维持的,而不需要中央服务器。
发明内容
描述了在网络上便于邀请用户实体的方法和计算机可读媒质。这种方法包括:由位于第一端点的第一用户实体启动发送邀请的第一应用、选择第二用户实体接收这个邀请、并选择一项活动。这种方法还可以包括:如果第一端点确定活动被第一端点的计算应用所支持,就由第一端点向第二用户实体发出参与该项活动的邀请。
此外,本发明方法可以包括:发送邀请的第一应用是计算应用,发送邀请的第一应用是信息传送应用,并启动名字解析机制以为第二用户实体定位第二端点。方法可进一步包括:查询存在存储器(presence store)从而为第二用户实体定位第二个端点,同步或者异步发送邀请,在第一端点处取消异步邀请,以及在安全模式或非安全模式下发送邀请。
此外,描述了便于在网络上接收邀请的方法。该方法可以包括:在一个接收端点启动第一应用以接收来自发送端点的参与一项活动的邀请,在接收端点接收该邀请,如果接收端点确定该活动能够被接收端点的计算应用所执行,则在该接收端点启动一个计算应用去执行该项活动。
此外,本发明方法可以包括:接收邀请的第一应用是计算应用、接收邀请的第一应用是信息传送应用、且接收端点通过下述中的至少一种应用接收邀请:通用邀请监听器应用、信息传送应用、接收端点的计算应用。本发明方法可进一步包括:在存在存储器中注册接收端点处计算应用的活动性能、同步或异步地接收邀请、以安全模式或非安全模式接收邀请、由发送端点检索发送至接收端点的邀请的状态信息。
附图说明
图1为可按权利要求书所述方案运行的计算系统的框图;
图2为一个便于对等无服务器协作和/或通信的示例性系统的框图;
图3为一个关于向连接发送邀请接点便于协作活动的示例性方法的流程图;和
图4为一个关于接收一个邀请便于协作活动的示例性方法的流程图。
具体实施方式
虽然下文陈列了众多的不同的实施例的详细说明,但应了解,本说明的法律范围是由本专利所附权利要求书的内容所限定的。详细说明只应理解示例,而没有描述所有可能的实施例,因为描述每一个可能的实施例即使不是不可能的,也是不切实际的。可以实现众多可替代的实施例,利用现有的技术或者利用本专利申请日期之后发展出的技术,这些实施例仍然在本发明权利要求书的范围之内。
还应了解,除非一个词语在本专利中通过“在本专利中词语‘——’特此定义为是指…”或者类似的句子明确做出定义,否则即无意在其普通的或一般的意义之外限制该词语的意义,或明示或暗示,并且这些词语并不应该基于本专利中的任一部分(除了权利要求书中的内容)中的任何陈述而认为限制其范围。以权利要求书中的任何术语在本专利中使用时应具单一意义为限,那只是为了清楚的表达从而不使读者迷惑不解,并不是将这种词语局限于-或默认或以其他方式-该单一意义。最后,除非某一权利要求要素引用“装置”一词加上功能来定义而没有引用任何结构,并不是指权利要求要素的范围可以基于35U.S.C§112第六段的适用来解释。
图1示出了一个合适的计算系统环境100的示例,在该环境中,本发明的方法步骤和设备的系统能够实现。计算系统环境100只是一个合适的计算环境的一个示例,并不是对本发明的设备或方法的应用范围或功能局限于此。计算环境100也不应该被解释为依赖于或者对示例性操作环境100中示出的任何一个组件或组件的组合有所要求。
本发明的方法步骤和设备可以在众多其他的通用或专用计算系统环境或配置中运行。适合本发明方法或设备利用的一些众所周知的计算系统、环境和/或者配置的例子包括但不限于:个人电脑、服务器、手提式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程电子消费品、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境,诸如此类。
本发明的方法步骤和设备可以在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络链接的本地和远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图1,用于实现本发明方法步骤和设备的示例性计算机系统包括计算机110形式的通用计算设备。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器在内的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号的形式体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。词语“已调制数据信号”是指以在信号中对信息进行编码的方式设定或改变了其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述介质的任意组合也应当包括在计算机可读介质的范围之内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可包括其他的可移动/非可移动、易失性/非易失性计算机存储介质。只是为了举例,图1示出了一个对不可移动非易失性的磁性介质进行读取或者写入的硬盘驱动器140、一个对可移动、非易失性的磁盘152进行读取或者写入的磁盘驱动器151以及一个对诸如CD ROM或其他光学媒质的可移动、非易失性的光盘156进行读取或者写入的光盘驱动器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输入命令和信息,定位设备常称为鼠标、轨迹球或触摸垫。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线121的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机110也可包括其它外围输出设备,如扬声器197和打印机196,它们通过输出外围接口192连接。
计算机110可以运行于使用到一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有以上就计算机110所描述的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络,如无线网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。。
当计算机110应用在局域网环境中时,其通过网络接口或适配器170连接至局域网171。当应用在广域网环境中时,计算机110通常包括一个调制解调器172或者用于在诸如因特网的在广域网173上建立通信的其他装置。调制解调器172可以是内置的或外置的,可以通过用户输入接口160或者其他适合的机制连接至系统总线121。在网络环境中,就计算机110所描述的程序模块或者程序模块中的一部分可以存储在远程记忆存储设备中。作为示例而非限制,图1示出寄存于存储设备181中的远程应用程序185。应了解,图示的网络连接只是示范性的,也可以利用在计算机之间建立网络连接其他方式。
图2为一个可用于实现本发明示例性方法的示例性系统200的框图。系统200可以通过通信网络202促进对等、无服务器的协作和/或通信,可以利用诸如图1所示的计算系统100的计算系统来实现。通信网络可包括但不限于:局域网和/或广域网、支持套接字(socket)通信的通信介质、或者命名管道。
系统200可以包括监控通信网络中其他实体的存在的存在系统204。一个实体可以是,例如:一个特定的人、一个设备(例如一台打印机、一台复印机、一台计算机、一台扫描仪等等)、组织的一种职位(例如经理、客户服务代表等等)、一个组织等等。在网络上的存在一般是指一个实体关于通过网络进行通信的意愿或能力的当前状态,但也可以指关于实体的额外的或者其它的信息,例如实体的当前活动。在网络上的存在可以用存在信息来表示。存在信息的示例可以包括但不限于下列指示中的一个或多个:实体“上线”指示、实体“外出就餐”指示、实体“离开”指示、实体“马上回来”指示、实体“空闲”指示、实体“忙碌中”指示、实体“听电话中”指示、实体“正在观看电影”指示、实体“正在玩”指示、实体“正在帮助另一个用户”指示、一个设备的状态指示(例如一台打印机“忙碌”、“空闲”等等)。存在信息包括一个或多个枚举字符串和/或富有存在(例如用户实体产生的自定义字符串)。例如,一个用户实体可以定义一个自定义状态为“我现在不在办公室,明天将会回来(Iam out ofthe office.Will return tomorrow.)”。通过存在系统204获得的存在信息可存储在存在存储器208中。
存在系统204可便于一个用户实体监控(或“预定”)其他实体的存在信息。例如,这可以包括存在系统204周期性地轮询其他计算系统。除此之外或者作为替换方式,对应于其他用户实体的其他计算系统可将事件指示传输至系统200,通知存在系统204诸如存在状态改变之类的事件。例如,当用户的存在从“离线”改变为“上线”时,一个事件就发生了,存在系统204就会探测到这个事件。然后,存在系统204会通知其他应用软件或软件模块(例如应用软件280)该事件的发生。
存在系统204也可以监控网络202上公布的其他实体的性能。实体的性能包括例如诸如实体的计算系统是否被配置成执行某一特定软件应用、实体的计算系统是否具备特定的硬件设备等等的静态性能。实体的性能也可包括例如诸如实体关于正在实体的计算系统中被执行的游戏软件应用的实时性能等的动态性能。一个实体在网络上公布性能可以是指其允许其他的实体能够通过网络202监控该实体的性能。存在系统204获得的性能信息可以存储在性能存储器212中。
存在系统204也可以监控公布在网络202上的其他实体的对象。实体的对象包括例如诸如文件、结构、图片、声音的数据对象、诸如元数据的描述、名值(name-value)对等等。一个实体在网络上公布对象可以是指其允许其他的实体能够通过网络202监控该实体的对象。仅仅作为一个示例,公布一个对象将允许一个实体向其他实体提供对正被该实体的计算系统执行的一种应用特异的信息和/或实时信息。例如,关于一种游戏应用,公布的对象可以包括有关一个玩家的现有得分的信息、该玩家当前拥有的武器等等。存在系统204获得的对象信息存储在对象存储器216中。
存在系统204也可以向网络202中的其他实体提供(或公布)与一个用户实体(也即与系统200相关联的实体)相关联的存在信息。与用户实体相关联的存在信息可以存储在存在存储器208或者某种其他存储器中。类似地,存在系统204也可以向网络202中的其他实体提供(或公布)与该用户实体的性能有关的信息。与该用户实体相关联的性能信息可以存储在性能存储器212中。进一步讲,存在系统204也可以向网络中的其他实体提供(或公布)与该用户实体的对象有关的信息。与该用户实体相关联的对象信息可以存储在对象存储器216或者某种其他的存储器中。类似地,存在系统204可以便于一个用户实体监控(或“预定”)其他实体的存在信息。这样,当存在信息由用户实体监控时,随后的改变就会引发事件,这些事件会被通知给该用户实体。例如,如果所监控的存在信息从“离开”变为“正在玩”,一个事件因此触发,由此通知该用户实体这一改变。
存在系统204与存储关于其他实体的信息的接点存储器240接口。接点存储器240可以存储一个实体诸如下述中的一种或多种的信息:安全标识符、人可读的别名、该实体的存在信息是否将被监控到的指示、是否允许该实体获得关于用户实体的存在信息的指示。接点存储器240中表示的实体可以称为一个接点。
每个用户实体可以拥有一个或多个与其相关联的通信端点。一般,与一个用户实体相关联的不同通信端点可以包括与该实体相关联的不同通信终止点,例如不同的计算系统。例如,一个特定实体的端点可以包括办公室里的台式电脑、家里的台式电脑、个人数字助理(PDA)等等。可任选地,与用户实体相关联的不同通信端点也可包括正被单一计算系统执行的不同软件应用。端点信息可包括-仅举几个例子-对等组元名称、机器名称或者设备类型。
存在统204也可以与连接至通信网络202的一个通信系统260接口。通信系统260可以在系统200与和其他实体相关联的其他对等计算系统之间建立连接。建立连接可包括例如下述中的一种或多种:确定与一个实体相关联的端点、解析该端点的地址、认证通信、加密和解密通信等等。在一种实现中,通信系统260可包括一个对等名称解析协议(PNRP)或者类似的协议。PNRP可以为一个接点解析名称(例如:一个对等名称)以获得它的IP地址,而不需要依靠服务器计算机一般利用的域名系统(DNS)。在另一个实施例中,通信系统260可以与一个本身连接于接点存储器240的认证系统270接口。为了与另一个计算系统建立连接,通信系统260可以从该其他计算系统接收一个与实体相关联的标识符的指示。然后,认证系统270对关于其安全标识符已呈现的的信息是否存储在接存储器240中进行检查。如果在接点存储器240中没有发现该标识符,连接将被拒绝。
连接可以是安全化的。建立连接并在该连接上通信可包括例如下述中的一种或多种:利用安全信道、利用安全套接层(SSL)技术、利用传输层安全(TLS)技术、利用公共的/私有的密钥对、利用认证技术(例如X.509证书、利用pretty good privacy(PGP)程序的加密信号等等)、利用对等名称解析协议(PNRP)、利用传输控制协议(TCP)、利用互联网协议(IP)、利用第六版本的互联网协议(IPv6)等等。解析端点的地址可包括例如将一个PNRP标识符解析为一个IP地址和一个端口。
软件应用280或某个其他软件模块可以与存在系统204进行通信以获得与通信网络202上的其他用户实体相关联的存在信息、性能信息和/或对象信息。例如,存在系统204可以提供一套应用程序接口(API)从而允许软件应用请求和接收与其他用户实体相关联的关于存在、性能和/或对象的信息。存在系统204可以从存在存储器208、性能存储器212和/或对象存储器216中检索所请求的信息。除此之外或作为替换,存在系统204可以通过通信系统260和通信网络202从其他实体处获得请求信息。一般而言,“可用性”可指存在信息、性能和对象。用户实体具有公布所有信息、部分信息、或不公布信息的能力。
邀请API 282可以允许用户实体所使用的应用280邀请无服务器网络的其他接点或用户实体参与到一项协作活动中来。邀请API 282可以使用存在系统204来确定来自接点存储器240的接点。此外,存在系统204可以检索定位在性能存储器212中的性能信息。如果接点存储器240中没有与一个特定接点相关联的性能信息,则邀请API 282或者应用280可以使用性能API 284来确定另一用户实体的端点的性能。性能可以是一项协作活动,包括在多个端点上的应用所支持的任何活动在内。例如,一个接点可以支持玩游戏的活动,因为该接点的端点安装了游戏应有程序。邀请API可以允许接点拥有者确定无服务器网络上支持玩游戏活动的其他接点。
当邀请API定位了一个支持该活动的接点时,一个邀请就会由用户实体(邀请者)发送给那个接点(被邀请者),由此使被邀请者响应该邀请。响应可以包括标准的被邀请者选项“接受”、“拒绝”或“忽略”。其他的响应选项可包括标准的或一般的自定义文本,例如“现在忙,请稍候邀请我”或者“请晚9点后重试”。但是,如果被邀请者目前不在端点旁或者干脆有意识地选择不去用“接受”、“拒绝”或“忽略”回应该邀请,邀请就会超时。当超时期界满后,邀请会从被邀请者的端点消失不见,从而最大限度减少被邀请者桌面的混乱程度。可任选地,被邀请者可以设定警报配置以免在做报告时受到邀请对话框的打扰。这样,任何到来的邀请可以自动地接收一个被邀请者不在的指示。被邀请者可以进一步自定义这些指示,例如“正在做报告,请下午4点后重试”。
图3示出了本发明方法300。该方法可以在框302或者框350处开始,这取决于用户实体使用的应用280是一个信息传送应用(在框302处开始)还是一个计算应用(在框350处开始)。假设一个端点的用户实体希望邀请一个接点协作参与一项活动,但是该实体没有相关的计算应用正在运行,那么该用户实体可以在框302处开始邀请进程。该用户实体可以在框304处访问信息传送应用280,框为用户实体提供接点存储器240中的接点名单。信息传送应用280也可以访问存在系统204从而从存在存储器208中获得存在信息,并为该用户实体提供已经选择的接点的存在信息。在框306处,用户实体可以选择一个接点,在框308处,用户实体可以选择一项所需的活动。所选择的接点并不局限于其他用户实体,而是可以包括一个或多个邀请接点的交替存在点。用户实体可以选择的活动包括但不限于:玩、互联网电话或者一个协作白板。尽管用户实体选择了一项特定活动,性能API 284可以允许该用户实体在框310处检验框端点的性能。如果用户实体的端点是一台没有安装电话应用的计算机,或者如果这台计算机没有声卡,该方法就会进行到框312并且在395处终止。除此之外或者作为替换,该方法可以在框306处向所选择的接点发送消息以便将失败的邀请尝试以及失败的可能的原因通知给该接点。
或者,如果用户实体的端点支持这项活动,该方法可以确定是否是信息传送应用或某个其他的应用在框314处发送了这次邀请。该方法可包括一个默认的设置,其中信息传送应用总是执行邀请或支持这项活动的特定的应用执行邀请。该方法也可以提示用户实体选择上述选项中的一种。如果是信息传送应用执行邀请,那么通过邀请API该方法于框316处启动支持该活动的相应应用。另一方面,支持该活动的应用可以通过调用邀请API282执行这次邀请,邀请API 282也可以为应用设置环境变量并在框318处启动这一邀请。邀请API 282也允许该邀请保留应用特异性数据和/或将参数传递给这个应用。这些数据和参数有益于远程应用的信号交换。环境变量可包括:被邀请者的名单、与活动有关的其他信息、支持活动的应用、被邀请参与活动的接点。一旦在框318处设置了这些变量,这些变量就可以在框320处被应用280读取。然后,应用在框322处利用邀请API 282的功能调用发送这次邀请。但是,如果一个接点具有多个存在点,邀请API282可将这次邀请发送给与被邀请者相关联的所有端点。
应注意,作为替代方案,如果计算应用352代替信息传送应用执行邀请,控制就从352处的计算应用传递到框354,其中用户实体可以选择一个与其执行协作活动的接点。
来自邀请API 282的功能调用可要求发送从调用应用得到的参数,看调用应用是信息传送应用还是支持活动的应用。例如,发送的参数可以包括一个或多个接收名称、接收接点端点(例如,IP地址和端口)、活动信息、以及功能调用句柄,仅举几例。在框324,通信系统260确定一个接点名称的特定端点是否是已知的。如果不是已知的,框326就利用通信系统260为该接点确定相应的IP地址和端口,然后于框328处与该端点建立连接。通信系统260可使用PNRP或者类似的协议解析这个端点的认证,而不需要服务器。活动信息也可以包括一个全球统一标识符(GUID)来向被邀请者(接收者)识别支持所需活动的合适的应用。活动信息也可包括一个邀请消息(例如,“现在,让我们讨论一下TPS报告”)或支持任一特定活动的各种要求的其他信息。句柄允许功能调用在邀请发送至被邀请者之后接收事件信息。这种句柄对于异步功能调用是尤其有益的,但是,邀请API282使用的功能调用也可以是同步的,在同步功能调用的情况下,响应被迅速接收,否则功能调用会超时。此外,另一个句柄可以识别邀请实例以便取消功能调用能够正确地识别一个具体的要被取消的邀请。一般而言,当用户使用了功能调用发送一次邀请后,即创建了一个具有相应GUID的一次邀请会话。这个GUID可以用来识别由于这次特定邀请而产生的接收响应。在将该邀请通过通信系统260发送至被邀请者之前,邀请API将邀请以XML(或其他)格式串行化。
图4示出了本发明方法400。接收邀请的示例性方法包括三个起始框402、426、456中的一个。起始框是由被邀请者的端点状态决定的,要么是正在运行类型信息传送程序(框402)应用280,要么是正在运行支持该邀请活动(框426)的应用280,或者没有运行上述两者中的任意一个(框456)。在这三种情况中的任意一种情况下,图4所示的方法利用邀请API 282的功能调用接收该邀请。可任选地,被邀请者可以选择接收来自一个具体的接点子集、所有的接点中的邀请或者不接收来自任何接点的邀请。当被邀请者正在运行一个通用用户接口或应用邀请监听器时,一旦在框404处接收邀请,邀请API 282就会通过查询性能存储器212确定该端点是否支持所要求的活动:框406。性能API 284可通过在图2所示的性能存储器212中选中匹配的GUID来进行确定。如果该端点不支持这个活动(例如,没有发现合适的匹配的GUID),在框408处监听器的邀请API 282发送一个拒绝消息给调用功能(邀请者)。或者,一旦确定所要求的活动得不到被邀请者端点的支持,邀请API 282允许邀请者向被邀请者提供关于在何处可以获得支持该项活动的应用的信息。例如,如果邀请者得知被邀请者不支持玩国际象棋的游戏,那么邀请就可包括URL或者其他有用的信息从而允许被邀请者获得或安装一个支持该活动的合适的应用程序。被邀请者可以选择安装合适的应用程序,其可进一步拥有一个GUID。保护性措施会进一步防止更新的应用程序覆盖现有应用程序的GUID。
但是,如果监听器端点支持该项活动,那么被邀请者可接受这次邀请,可能通过一个对话框接受、拒绝或者忽略:框410。同样,拒绝消息在框408处发送,此消息进一步描述拒绝的潜在的原因(例如,端点不支持该活动,用户不允许该项活动等等)。这个响应也可由被邀请者通过一个默认设置(例如,永远拒绝Bob玩d邀请)自动地发送。例如,被邀请者可以:默认地接受所有的邀请、默认地拒绝所有的邀请、或者默认地忽略所有的邀请。此外,被邀请者可以基于邀请者的具体身份做出接收、拒绝或者忽视的默认设置。例如,如果邀请者是好友,那么被邀请者可以选择默认接受所有的邀请,如果邀请者是陌生人(不在被邀请者的联系人存储器中),那么被邀请者可以默认拒绝所有的邀请,或者,如果邀请者是一个姻亲,那么被邀请者可以默认忽视该邀请。与图3中的框318相类似,在框412,环境变量被设置,支持该活动的应用程序被启动。应用程序在框414处读取环境变量、在框416返回接受通知、在框418启动其协作活动。除此之外或者作为替换,可以在框414处调用性能API 284以获取相关的信息,下文将进一步详细讨论。
如果被邀请者的端点正在运行信息传送信息传送应用,那么信息传送应用可能已经具有合适的环境变量。这样,框426到框428完成邀请的接收和协作活动的启动。类似地,如果被邀请者碰巧已在运行支持该协作活动的应用程序,则执行框456到框466。在这种情况下,本方法不需要向被邀请者的端点查询是否具有支持协作活动的应用程序,因为程序已经在运行了,但是被邀请者仍然可以在框460处选择接受、拒绝或忽略该邀请。
简要的回顾一下图3中的框310和图4中的框406,可知性能API 284确定端点是否支持所要求的活动。在邀请API 282可启动一项活动或者一个支持该项活动的具体应用程序之前,必须知道该端点所支持的性能。这样,性能API 284可包括注册功能、注销功能、性能列表功能、检索有关性能的信息的功能。对等注册功能可使用户实体能够添加条目到一个操作系统注册表中,其包含与特定的应用程序所支持的性能有关的信息。此外,这个信息可包含一个GUID来识别应用、应用配置和性能的描述。对等注册功能可进一步允许用户实体指定哪些其他的用户实体或者接点可以访问注册应用。或者,用户实体可以利用注销功能注销性能,此注销功能可以将性能信息从注册表移除。
当GUID已知时,用户实体可通过应用280调用一个性能查询功能以便获知应用性能。但是,用户实体可以首先调用性能枚举功能以获得在包含用户实体端点在内的端点处当前注册的所有性能的列表。然后用户实体可从枚举列表中选择一个性能并调用性能查询功能查询更多该特定应用所支持的具体性能信息。
下面的示例性情景示出了邀请API功能。名为Toby的用户实体在他的联系人名单中有名为Bob和Alice的好友。Bob和Alice已经各自允许公布了他们的存在信息,Toby注意到Bob在线并且Bob已经安装了游戏Toby从他的联系人名单中选择了Bob,并给Bob发送了一个包含请求玩游戏的邀请。邀请API 282确定目前没有可用的端点连接,于是就利用通信模块260,该通信模块可以利用PNRP从Toby的接点存储器中的Bob接点信息解析出一个端点。当确定了这样一个端点时,通信模块260可任选地通过认证系统270认证一个在Bob和Toby之间的连接,然后发送邀请。假设Bob正在运行信息传送应用程序,它就接收到这个邀请,性能API 284被调用来检验Bob的计算机是否支持。如果Bob的计算机支持邀请API 282就为Toby呈现一个选项(通过一个弹出式用户接口)来“接受”、“拒绝”或“忽略”该邀请。Bob接受该邀请,启动应用程序,一个“接受”的消息被返回给邀请者(Toby)。
虽然上文陈述了众多的不同的实施例的详细说明,但应了解本专利的范围由所附权利要求书的内容限定。详细说明部分只应解释为是示例性的,并没有描述每一个可能的实施例,因为描述每一个可能的实施例如果不是不可能的,也将是不切实际的。众多可替代的实施例可以被实现,或者利用现有技术或者利用本专利申请日期之后发展出的技术,它们仍属于本发明权利要求书的范围之内。
因此,可以对此处描述和说明的技术和结构进行许多修改和变更,而不背离权利要求书的精神和范围。相应地,应了解,此处描述的方法和设备只是说明性的,并不是对权利要求书范围的限制。

一种无服务器对等网络中邀请用户的应用程序接口.pdf_第1页
第1页 / 共22页
一种无服务器对等网络中邀请用户的应用程序接口.pdf_第2页
第2页 / 共22页
一种无服务器对等网络中邀请用户的应用程序接口.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《一种无服务器对等网络中邀请用户的应用程序接口.pdf》由会员分享,可在线阅读,更多相关《一种无服务器对等网络中邀请用户的应用程序接口.pdf(22页珍藏版)》请在专利查询网上搜索。

描述了便于在网络上邀请用户实体的方法和计算机可读介质。本发明方法包括:由位于第一端点的第一用户实体启动发送邀请的第一应用、选择第二用户实体接收这个邀请、选择一项活动。本方法还可包括:如果第一端点确定活动得到第一端点的计算应用的支持,则由第一端点向第二用户实体发出参与此项活动的邀请。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1