当前位置: 首页 > 专利查询>微软公司专利>正文

用于一个可扩展实时协作系统的结构技术方案

技术编号:3518926 阅读:186 留言:0更新日期:2012-04-11 18:40
提供了一个用于可扩展实时协作系统的结构。该结构提供了一个单一的应用程序接口,用于编写使用通信协议的应用程序。该结构具有活动对象,端点对象,以及多个媒体栈。这些对象可以使用多种通信协议,例如会话启动协议或实时传送协议,以发送和接收包含信息的消息。活动对象,端点对象,以及多个媒体栈可以具有一个或多个API,应用程序开发者可以使用这些API来接入或提供协作相关的功能。这些对象将API映射到由其他对象提供的基础实现上。使用活动对象使得开发者提供比提供复杂协作服务所必需的应用逻辑更少的应用逻辑。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】

所描述的技术通常涉及数据通信,并且更具体而言涉及一个用于可扩展实时协作系统的结构。
技术介绍
不同的通信应用程序和协议使得在软件程序和用户之间的通信成为可能。例如,诸如“MICROSOFT WINDOWS MESSENGER”和基于Internet协议(VoIP)的实时通信应用程序使得用户之间进行通信,互相发送文本,视频,或声音数据。这些应用程序可以使用多种协议,例如会话启动协议(“SIP”),实时传输协议(“RTP”),以及实时控制协议(“RTCP”),以建立会话和发送通信相关信息。SIP是一个应用层控制协议,设备可以通过其来发现另一个设备,并且在设备间建立,修改,和中止会话。RTP是一个用于在Internet上传送声频和视频的协议,并且通常与其他协议,例如RTCP和H.323,用于流媒体系统和视频会议中。RTCP是一个使得客户应用程序监视和控制使用RTP发送和接收的数据的协议,并且与RTP一起使用,SIP和RTP/RTCP被称为Internet提议的标准。它们的规范,“RFC3261”和“RFC 3550”分别可通过Internet在www.ietf.org的/rfc/rfc3261.txt以及www.faqs.org的/rfcs/rfc3550.html上得到,并且其整体包括在此作为参考。应用程序可以附加地使用其他协议。应用程序可以使用上述指出的协议的增强型版本或与其他被分配来承载特定数据的协议一起工作。举例来说,当一个新的或是改进的用于承载视频会议信息的的改进的协议变得可用时,建立或改变一个应用程序的开发者可能期望使用新的或改进的协议,例如,提高性能或提供其他的特性。为了使用新的或改进的协议,应用程序开发者可能需要修改与通信协议交互的部分,因为一个协议的改进或一个新的协议可能具有与现在正在使用的协议不同的接口。举例来说,当一个协议可具有NewSession接口来建立新的会话时,改进的版本可能具有一个StartSession方法来建立和开始一个会话,并接受附加的参数。由于StartSession接受附加的参数,它的接口不同于NewSession,并且这样可能需要修改使用NewSession的应用程序以使用StartSession。当一个协议具有不同接口,应用程序开发者可能需要了解不同的接口并修改他们的协议以使这些接口使用该协议。应用程序开发者可能需要熟悉他们在他们开发的应用程序中使用的多种通信协议的每一个的细节。举例来说,当一个应用程序开发者使用SIP和RTP/RTCP,应用程序开发者将需要熟悉所有的三个协议,以提供与协议相关的程序逻辑。不熟悉这所有三个协议的应用程序开发者将需要附加的培训和时间来了解这些协议。此外,当将要修改应用程序以与其他的或者改进的协议一起工作时,应用程序开发者将需要修订或增加程序逻辑,使得应用程序可以与这些协议一起运行。这将导致附加的开发费用和难度。此外,不同的协议表现出不同的复杂度。例如,为了在应用程序中提供视频会议功能,该应用程序的开发者将必须熟悉多种协议,并提供逻辑以协调这些协议来增加视频会议功能。将其他的协作性能增加到一个应用程序,例如文本消息,语音消息等,表现出其他类似的复杂度。这样,一个用于可扩展实时协作系统的结构将具有重大的实用性,其中该结构使得在应用程序中加入协作性能而不需要巨大的开发者培训投资。
技术实现思路
提供了一个用于可扩展实时协作系统的结构。该结构提供了一个单一的应用程序接口(“API”)。该结构具有活动对象,端点对象,以及多个媒体栈。这些对象可以使用多种通信协议,例如会话启动协议或实时传送协议,以发送和接收包含信息的消息。活动对象,端点对象,以及多个媒体栈可以具有一个或多个API,应用程序开发者可以使用这些API来接入或提供协作相关的功能。这些对象将API映射到由其他对象提供的基础设施上。使用活动对象使得开发者提供更少的应用程序逻辑,否则将需要提供复杂的协作服务。附图说明图1是说明一个实施例中用于一个可扩展实时协作系统的结构的组件的框图。图2是说明一个实施例中的可扩展实时协作系统的端点对象的组件的框图。图3是说明一个实施例中的可扩展实时协作系统的活动对象的组件的框图。图4是说明一个实施例中的创建服务器端点例程的流程图。图5是说明一个实施例中用于一个可扩展实时协作系统的结构的结构图。具体实施例方式在一个实施例中,提供了一种用于可扩展实时协作系统的结构。该结构提供了一个高级应用程序编程接口(“API”),用于编写使用通信协议以提供协作服务的应用程序。应用程序开发者可以通过使用API来给应用程序增加协作服务,而不需要了解与若干个执行该服务的基础协议相关的复杂度。该结构包括活动对象,端点对象和多个媒体栈。这些这些对象可以使用多种通信协议,例如SIP或RTP/RTCP,以发送和接收包含信息的消息。每个活动对象,端点对象,以及多个媒体栈可以具有一个或多个API,应用程序开发者可以使用这些API来接入或提供由对象提供的功能。应用程序开发者可以选择提供一个使用由端点对象提供的API的应用程序逻辑,或者可以选择提供一个使用由活动对象提供的API的应用程序逻辑。通过使用有端点对象和媒体栈提供的API,应用程序开发者可以行使高度的灵活性,但是可能必须提供比如果仅仅使用活动对象的API更多的应用程序逻辑。一个应用程序开发者可以因为很多原因选择使用活动对象的API。活动对象的API提供了一个比端点对象和媒体栈更高级的接口。此外,活动对象协调端点对象和媒体栈,并且这样可以不需要提供应用程序逻辑以执行协调。活动对象向应用程序和其他对象提供服务。活动对象是使得应用程序参与多个特定活动的对象,并且可以包括,例如,瞬时消息,电话会议,视频会议,应用程序共享,以及其他活动。活动对象可以为认为是“包装”对象,其提供基础对象的功能,基础对象包括端点对象和媒体栈。尤其是活动对象调节端点对象和媒体栈,以使用活动对象,例如应用程序,提供无缝和集成的会话到另一个对象。下面的例子提供了使用活动对象的优点的另一个例子。应用程序开发者可能期望在应用程序里提供视频会议性能。为了这样,应用程序开发者将首先对信令协议,例如SIP,以及媒体协议,例如RTP/RTCP非常熟悉。接下来,应用程序开发者需要提供应用程序逻辑以创建会话,确定所期望的与之进行视频会议的人是否当前在线,发送一个加入视频会议的邀请,协商与视频会议相关的各种参数,从声音和视频捕捉硬件中捕捉音频和视频,并且最终使用RTP/RTCP交换音频/视频数据。相反的,通过使用该结构的视频会议活动对象,许多这样的步骤被取消了,因为是视频会议活动对象是特别设计来将该应用程序逻辑合并到多个更高级接口中的。该接口具有类似的多种用于其它协作活动的活动对象。此外,该接口以供将来增加附加活动对象的支持。一个端点对象提供管理服务,例如信令。端点对象包括简档,公布/预定,信令,和协议栈组件。简档组件可以包括通过一个API的用户的摘录。公布/预定组件提供跟踪关用户的存在和可用性信息的接口。信令组件可以用来提供或接收与建立或控制会话有关的稀有的事务处理消息。信令组件还可以用于协商,例如,带宽限制的媒体参数。协议栈组件被简档,公布/预定,信令组件使用,以发送和接本文档来自技高网
...

【技术保护点】
一种由计算系统执行的用于在应用程序中提供实时协作服务的方法,包括:例示活动对象,该活动对象具有用于提供协作服务的应用程序接口;以及调用应用程序接口的方法,调用的方法在正在传递协作服务的信息的应用程序之间提供管理服务和内容通信 服务。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:A保德拉K甘尼桑M韩NP鲍勃德AP奇突利BH奥斯特格伦RJ奥斯勃尼WV巴克利
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1