多媒体通信装置转让专利

申请号 : CN200880021664.9

文献号 : CN101690092A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 托马斯·E·凯蒂斯詹姆士·T·潘塔加玛丽·G·潘塔加马修·J·兰尼

申请人 : 莱贝尔沃克斯有限责任公司

摘要 :

一种能够通过网络参与会话的通信设备。该通信设备包括编码器和发送器,所述编码器接收和编码使用该通信设备在本地创建的并与会话相关的媒体,所述发送器通过网络向会话的一个或多个参与者发送在本地创建媒体。该通信设备还包括接收器和时移缓冲器,所述接收器通过网络从会话的一个或多个参与者接收媒体,所述时移缓冲器以基于时间的格式存储通过通信网络接收到的媒体和在本地创建的媒体。该时移缓冲器使通信设备能够:(i)以接近实时的模式再现通过网络接收的媒体,或(ii)通过从时移缓冲器取回被存储的媒体来以时移模式再现通过网络接收到的媒体和在本地创建的媒体。会话管理系统使通信设备能够在不中断通过网络在通信设备上接收到的会话的媒体到时移缓冲器中的正在进行的存储的情况下,在时移模式和接近实时的模式之间转换会话的媒体的再现。通过使在本地创建的媒体和通过网络接收到的媒体关联来构成会话。

权利要求 :

1.一种装置,其包括:

通信设备,所述通信设备包括:

编码器,其接收并编码使用所述通信设备在本地创建的媒体,所述在 本地创建的媒体与会话相关;

发送器,其通过网络向所述会话的一个或多个参与者发送所述在本地 创建的媒体;

接收器,其通过所述网络从所述会话的所述一个或多个参与者接收媒 体;

时移缓冲器,其以基于时间的格式存储通过通信网络接收的媒体和所 述在本地创建的媒体,所述时移缓冲器使所述通信设备能够实现:(i)以接近实时的模式再现通过所述网络所接收的媒体;或(ii)通过从所述时移缓冲器取回所存储的媒体来以时移模式再现通 过所述网络所接收的媒体和所述在本地创建的媒体;以及会话管理系统,其使所述通信设备能够在不中断通过所述网络在所述 通信设备上所接收的所述会话的媒体到所述时移缓冲器中的正在进行的 存储的情况下,在所述时移模式和所述接近实时的模式之间转换所述会话 的所述媒体的再现,其中所述在本地创建的媒体和通过所述网络从所述一个或多个参与 者所接收的媒体相互关联,所关联的媒体构成所述会话。

2.如权利要求1所述的装置,其中所述会话以一个或多个语境属性为 特征。

3.如权利要求2所述的装备,其中表征所述会话的所述一个或多个语 境属性包括下列项中的一个或多个:会话主题、会话名称、在所述会话中 的所述一个或多个参与者的名字、或者指定的时间。

4.如权利要求1所述的装置,其中所述在本地创建的媒体和通过所述 网络从所述一个或多个参与者所接收的媒体被分割成消息,所分割成的消 息通过所述网络在所述通信设备和所述会话的所述一个或多个参与者之 间被交换。

5.如权利要求4所述的装置,其中所分割成的消息每个都包括使所述 消息与所述会话相关联的标识符。

6.如权利要求1所述的装置,其中所述在本地创建的媒体和通过所述 网络从所述会话的一个或多个参与者所接收的媒体包括附有索引的媒体 有效载荷,所述附有索引的媒体有效载荷中的每个都具有与之相关的时间 和序列信息。

7.如权利要求6所述的装置,其中所创建和接收的附有索引的媒体有 效荷载被保存并且可以按照它们的时间和序列顺序从所述时移缓存器取 回。

8.如权利要求1所述的装置,其中所述基于时间的格式还包括当通过 所述网络所接收的媒体和所述在本地创建的媒体被储存在所述时移缓冲 器中时,使这两个媒体的时间戳关联起来,当以所述时移模式再现时,所 述时间戳按时间序列顺序实现所存储的媒体从所述时移缓冲器的取回。

9.如权利要求1所述的装置,其中所述会话管理系统还被配置成在所 述接近实时的模式中使所述通信设备逐步再现来自所述一个或多个参与 者的通过所述网络被接收的媒体。

10.如权利要求1所述的装置,其中所述会话管理系统还被配置成在 所述时移模式中使所述通信设备从所述会话的被选择的以前的时间点开 始从所述时移缓冲器取回所述会话的媒体,并且在第一通信设备上逐步再 现所取回的媒体,其中所述被选择的以前的时间点是被所述通信设备的用 户选择的。

11.如权利要求1所述的装置,其中所述会话管理系统还被配置成通 过使所述通信设备进行下列操作来在所述通信设备上将所述会话的媒体 的再现从所述时移模式无缝地转换到所述接近实时的模式:(i)从所述会话的被选择的以前的时间点开始从所述时移缓冲器取回 所述会话的所存储的媒体;

(ii)在所述通信设备上再现所取回的媒体;

(iii)确定跟上点,在所述跟上点,当所述媒体通过所述网络从所述 会话的所述一个或多个参与者正被接收时,以较快的速率的所取回媒体的 再现跟上所述会话的所接收的媒体并且实质上与所述会话的所接收的媒 体同时发生;以及(iv)在所述跟上点被确定之后,当所述媒体通过所述网络正被接收 时以所述接近实时的模式再现所述会话的所接收的媒体。

12.如权利要求11所述的装置,其中所取回的媒体以下列方式被再现: (i)以比所取回的媒体最初被编码更快的速率;(ii)通过跳过所取回的媒 体中的无声间隙;或(i)和(ii)两者。

13.如权利要求1所述的装置,其中所述会话管理系统还被配置成通 过使所述通信设备进行下列操作来暂停以所述接近实时的模式的所述会 话的再现:(i)当所接收的媒体通过所述网络被接收时,以所述接近实时的模式 再现所述会话的所接收的媒体;

(ii)当在所述通信设备上选择所述时移模式时,暂停所述会话的媒 体的接近实时的再现;

(iii)当在所述暂停期间所接收的媒体通过所述网络被接收时,将所 述会话的所接收的媒体储存在所述时移缓存器中;以及(iv)当在所述暂停之后所述媒体通过所述网络被接收时,恢复所述 会话的所接收的媒体的再现。

14.如权利要求13所述的装置,其中所述会话管理系统还被配置成当 所述媒体通过所述网络被接收时,在恢复所述会话的所接收的媒体的再现 之前,使所述第一通信设备可选地首先再现在所述暂停期间被储存的所接 收的媒体。

15.如权利要求13所述的装置,其中所述会话管理系统还被配置成当 所述媒体通过所述网络被接收时,使所述第一通信设备可选地跳过在所述 暂停期间被储存的所接收的媒体的再现,并且立刻恢复所述会话的所接收 的媒体的再现。

16.如权利要求1所述的装置,其中所述会话管理系统还被配置成使 所述通信系统能够可选地在所述时移模式和所述接近实时的模式之间来 回转换所述会话的媒体的再现。

17.如权利要求1所述的装置,其中所述通信设备还包括当再现时混 合来自所述会话的两个或更多参与者的所述媒体的混合器。

18.如权利要求1所述的装置,其中所述会话管理系统还被配置成在 所述通信设备上提供能够在参与的多个会话中选择一个会话的会话选择 功能。

19.如权利要求1所述的装置,其中所述会话管理系统还被配置成在 所述通信设备上提供用于管理在所述通信设备上的多个会话的一个或多 个会话管理功能,所述会话管理功能包括下列会话管理功能中的一个或多 个:(i)查看所述多个会话的状态;

(ii)在所述多个会话中创建新会话;

(iii)在所述多个会话中更新被选择的会话的细节;

(iii)在所述多个会话中删除一个会话;或者

(iv)在所述多个会话中关闭一个会话。

20.如权利要求1所述的装置,其中所述会话管理系统还被配置成在 所述通信设备上提供用于管理所述会话中的参与的一个或多个会话参与 功能,所述一个或多个会话参与功能包括:(i)开始所述会话;

(ii)接收关于来自所述会话的所述一个或多个参与者的媒体已通过 所述网络被接收的通知;或者(iii)暂停所述会话的媒体的再现。

21.如权利要求1所述的装置,其中所述会话管理系统还被配置成在 所述的通信设备上提供用于控制所述会话的媒体的再现的一个或多个会 话再现控制功能,所述一个或多个会话再现控制功能包括:(i)跟上在所述会话中的即时;

(ii)跳至所述会话的首部;

(iii)跳至所述会话中的以前的时间点;

(iv)暂停所述会话;

(v)较快地再现所述会话的媒体;

(vi)较慢地再现所述会话的媒体;或者

(vii)略过在所述会话的媒体中的无声部分或间隙。

22.如权利要求1所述的装置,其中所述会话管理系统还被配置成在 所述通信设备上提供一个或多个联系人管理功能,所述联系人管理功能包 括下列项中的一个或多个:(i)将联系人添加到联系人列表;

(ii)编辑所述联系人列表上的联系人;

(iii)删除在所述联系人列表上的联系人;

(iv)在所述联系人列表中搜索联系人;

(v)从所述联系人列表创建参与者清单;

(vi)授权参与者观看所述会话的状态;

(vii)创建联系人组;

(viii)编辑所述联系人组;或者

(ix)删除所述联系人组。

23.如权利要求1所述的装置,其中所述通过网络所接收的媒体和所 述在本地创建的媒体每个都包括下列媒体类型中的一个或多个:语音、视 频、文本、传感器数据、无线电信号、位置或GPS信息、或其组合。

24.如权利要求1所述的装置,其中所述通信设备包括下列项之一: 固定电话、无线电话、蜂窝电话、移动电话、计算机、无线电装置、卫星 电话、卫星无线电装置、战术无线电装置、战术电话、或者任何其他类型 的通信设备。

25.如权利要求1所述的装置,其中所述网络包括基于分组的网络、 基于电路的网络、蜂窝网络、无线网络、基于无线电的网络、电话网络、 卫星会话、或其组合。

26.如权利要求1所述的装置,其中构成所述会话的所述在本地创建 媒体和通过所述网络所接收的媒体在所述时移缓冲器中被关联。

27.如权利要求1所述的装置,其中构成所述会话的所述在本地创建的 媒体和通过所述网络所接收的媒体在所述会话管理系统中被关联。

说明书 :

发明领域

本发明涉及电信,尤其是涉及电信和多媒体管理方法和装置,其使用 户能够在即时(live)模式或时移(time-shifted)模式中复查会话的消息并在这 两个模式之间来回转换会话,参与多个会话,并且将会话的消息存档用于 以后的复查或处理。

相关技术的描述

语音通信的当前状态具有缺乏活动性的缺点。不管自动交换、高带宽 网络和技术例如卫星、光纤、语音IP(VoIP)、无线和蜂窝网络如何,在 人们如何使用电话方面有很少的变化。人们仍然需要拿起电话,拨叫另一 方,等待产生连接,并接着与被拨叫方进行全双工同步会话。如果接收者 不回答,则不产生连接,且不发生会话。

如果接收者有语音邮件,最多可留下单向异步语音消息。然而,发送 语音邮件的过程繁琐且耗费时间。呼叫者需要等待另一端的电话停止响 铃,转换到语音邮件系统,听语音消息问候,并接着留下消息。当前的语 音邮件系统对接收者也不方便。接收者必须拨代码来访问其语音邮件,在 一系列提示中导航(navigate),听队列中的任何早些时候的语音消息,并接 着最后听发送者的消息。

一般语音邮件系统的另一缺点是不能组织语音消息或将语音消息永 久地存档。使用一些语音邮件系统,用户可保存消息,但在预定的一段时 间之后它被自动删除并永远丢失。

当前语音邮件系统的又一问题是在可留下消息之前必须在呼叫者和 语音邮件系统之间产生连接。如果没有产生连接,则呼叫者无法留下消息。

当前电话系统基于相对过于简单化的使用模式:实时即时呼叫或无条 理的语音邮件消息,其一般在它们被听到之后删除。这些形式的语音通信 没有捕获可使用语音通信获得的实际功效,或没有利用网络速度的提升和 现在可用的带宽。此外,如果电话网络有故障或不可访问(例如,便携式 电话用户在没有覆盖的区域内或电话线路由于糟糕的天气而有故障),则 不可发生通信。

通常,基于电话的通信没有跟上基于文本的通信中的进步。即时消息 (instant message)、电子邮件、传真、聊天组和将文本消息存档的能力对于 基于文本的通信都是平常的。除了语音邮件,少有现有的工具可管理语音 消息和/或将语音消息存档。比较起来,当前可用来管理电话通信的工具与 文本通信比较是原始的。

公司环境提供了在当前语音通信工具中的缺点的仅一个例子。当前没 有综合方法来将整个组织中的语音通信作为公司资产来进行管理。雇员通 常不记录也持久地储存其电话会话。大多数与商业有关的语音通信资产与 讲话流失得一样快,而没有方法来以任何可管理的形式管理或存储那些会 话的内容。

作为例证性的例子,考虑公司的销售经理。在忙碌的一天中,经理可 能打很多电话,并通过电话与客户终结几个销售。没有组织、储存并随后 取回这些会话的能力,经理就没有方法来解决可能出现的潜在问题,例如 恢复一个交易相对另一交易的条款,或驳斥就以前对销售达成协议的条款 进行争论的客户。如果这个经理有容易取回并复查会话的能力,则这些类 型的问题可容易和顺利地解决。

当前的战术(tactical)无线电系统,例如军事、火警、警察、护理人员、 援救队和第一出动人员所使用的那些系统也有很多缺点。大部分战术无线 电通信必须通过消息发送者和接收者之间的“即时”无线电连接出现。如 果在双方之间没有无线电连接,则会没有通信。如果发送者或接收者不可 使用其无线电进行传送,或无线电电路连接不能建立,则不能发送紧急消 息。战术通信因此被几个基本问题困扰。没有方法来:(i)保证消息的递 送;(ii)接收者回顾并听取没有被实时地听到的消息;(iii)在会话中控制 参与者的间隔;(iv)在对即时会话缺乏信号完整性时使系统处理。如果没 有即时听到消息,则它被遗失。没有工具来使发送者或接收者管理、按优 先顺序排列、存档和以后取回(即,时移)以前被发送的会话消息。

战术无线电通信系统的又一缺点是每个信道一次只有一个消息被发 送。考虑大建筑物火灾的例子,其中,多队消防员、警察和护理人员同时 援救被困在建筑物中的受困者,与火灾作斗争,给受困者提供医疗帮助, 并控制旁观者。如果每个队使用同一信道,则通信可能变得拥挤和混乱。 当多于一个的人同时传输时,传输变得“被压制(step on)”。此外也没有方 法来区分开高和低优先级消息。在燃烧的建筑物内与火灾作斗争或援救被 困的受困者的一队应有高于其它队例如控制旁观者的队的优先级。如果高 优先级消息被较低优先级消息压制,则它可能不仅妨碍重要的通信,而且 可能危及建筑物内的消防员和受困者的生命。

对缺乏按优先顺序排列消息的能力的一个可能的解决方案是使用多 个信道,其中每队被分配一个不同的信道。然而该解决方案产生其自己的 一组问题。消防队长如何在任何时刻及时确定听哪个信道?如果多个队都 在不同的信道上,他们彼此如何通信?如果一个队要求紧急帮助,而正在 听别的信道的其他队如何知道?虽然多个信道可减轻一些问题,但也可能 引起混乱,比使用单个信道的情况产生更多的问题。

有效地按优先顺序排列消息、允许多个会话同时发生、实现消息的时 移以保证发送、或支持存档和储存会话用于以后的取回和复查的管理工具 的缺乏都促成与战术无线电相关的问题。在第一出动人员例如军事、警察 和火警的情况下,有效的通信工具可能实际上意味着生和死之间的差别, 或任务的成功或失败。上面的燃烧的建筑物例子在说明当前战术无线电通 信的仅仅一些问题方面是有用的。对于军事、警察、第一出动人员和使用 战术通信的其他人存在类似的问题。

使用基于分组的网络,通常使用的协议包括传输控制协议(TCP)和 用户数据报协议(UDP)。UDP提供快速发送数据的优点,但以完整性为 代价。分组可能在运送中被漏掉,且当试图在目的地尽快再现(render)数据 时是不可行的。尽管有缺点,但由于其速度属性,UDP是互联网协议语 音(VoIP)传输的标准。另一方面,TCP确实保证完美数据(即,所传输 的数据的准确拷贝)的发送,但以等待时间为代价。所有分组被发送,而 不管花费多长时间。此延迟使TCP对用在“即时”电话呼叫上不实际。目 前,没有这样一种同时提供TCP和UDP的性能优点的已知协议,在这种 协议中,可传输“足够好的”媒体,用于尽快再现媒体的完美拷贝的最后 发送。此外,不存在根据在网络上接收者的在场以及其在即时或时移模式 中再现数据的意图来确定应通过网络发送多少信息的协议。此外,在确定 传输多少数据中使用通常考虑的其它因素,例如网络等待时间、网络降质、 分组丢失、分组损坏和总带宽条件。然而,现有技术系统不考虑接收者的 在场和意图。作为结果,默认的假定是,数据被接收者实时地再现。当接 收者不打算立即再现数据时,当不需要时,这些现有技术系统不必使用带 宽,降低了网络的总性能。

由于上述原因,电话、语音邮件和战术语音通信系统是不够的。因此 需要改进的语音和媒体通信和管理系统和方法,以及通过基于分组的网络 发送语音和其它媒体方面的改进。

发明内容

本发明目的在于能够通过网络参与会话的通信设备。该通信设备包括 编码器和发送器,所述编码器接收和编码使用该通信设备在本地创建的并 与会话相关的媒体,所述发送器通过网络向会话的一个或多个参与者发送 在本地创建媒体。该通信设备还包括接收器和时移缓冲器,所述接收器通 过网络从会话的一个或多个参与者接收媒体,所述时移缓冲器以基于时间 的格式存储通过通信网络接收到的媒体和在本地创建的媒体。该时移缓冲 器使通信设备能够:(i)以接近实时的模式再现通过网络接收的媒体,或 (ii)通过从时移缓冲器取回被存储的媒体来以时移模式再现通过网络接 收到的媒体和在本地创建的媒体。会话管理系统使通信设备能够在不中断 通过网络在通信设备上接收到的会话的媒体到时移缓冲器中的正在进行 的存储的情况下,在时移模式和接近实时的模式之间转换会话的媒体的再 现。通过使在本地创建的媒体和通过网络接收到的媒体关联来构成会话。
附图的简要说明
参考结合附图理解的下列描述可最好地理解本发明,这些附图示出本 发明的特定实施方式。
图1是本发明的通信和媒体管理系统的体系结构的图示。
图2A和2B示出在本发明的通信和管理系统中的设备上运行的客户机 的结构图。
图3是在本发明的通信和管理系统中使用的服务器的结构图。
图4A到4D示出在本发明的通信和管理系统中使用的数据有效载荷的 各种实施方式。
图5是示出根据本发明通过共享IP网络传输的数据的图示。
图6是示出根据本发明通过基于电路的网络传输的数据的图示。
图7是示出根据本发明在蜂窝网络和互联网上传输的数据的图示。
图8A到8F是示出本发明的通信和管理系统的存储和流(stream)功能 的一系列流程图。
图9A到9C是示出有效载荷质量管理器(PQM)的操作的流程图, 而图9D到9F是示出数据质量管理器(DQM)的流程图,这两个管理器 都被本发明的客户机和服务器使用。
图10是具有可用在本发明的系统上的图形用户接口的示例性设备。
图11A到11F是示出本发明的多会话管理(MCMS)特征的图示。
图12A到12C是示出本发明的连续多会话管理系统(MCMS-C)特征 的图示。
图13A到13D示出详述本发明的操作的一系列图示。
图14A和14B是示出用于运行本发明的客户机和服务器应用程序的硬 件的结构图。
应注意,在附图中相似的参考数字指相似的元件。
特定实施方式的详细描述
现在参考如在附图中示出的其中的各种实施方式来详细描述本发明。 在下列描述中,阐述了特定的细节,以便提供对本发明的彻底理解。然而 对本领域技术人员应明显,本发明可在不使用这里阐述的一些实现细节的 情况下实践。还应理解,没有详细描述公知的操作,以便不必使本发明不 清楚。
A.功能概述
通信媒体管理方法和系统支持参与语音会话和/或使用各种媒体类型 例如语音、视频、文本、位置、传感器信息和其它数据管理多个同时会话 的新模式。用户可通过向指定的接收者发送语音消息来参与会话。根据偏 好和优先级,接收者可实时地参与会话,或他们可简单地被通知消息准备 被取回。在后面的情况下,接收者通过复查并在方便时回答已记录的消息 在时移模式中参与会话。
用户被授权在(i)给用户提供类似于标准全双工电话呼叫的体验的近 似同步或“即时”会话;或(ii)在一系列前后时间延迟的传输(即,时 移模式)中进行通信。进一步地,参与会话的用户可从即时模式无缝地转 换到时移模式,并再次转换回来。这个属性也使用户可能通过在每个会话 的两个模式之间按优先顺序排列并变动来同时参与多个会话。使用系统的 两个人因此可彼此来回发送已记录的语音消息,并在方便时复查消息,或 消息可按它们本质上合并到即时同步语音会话的速率被发送。为了本申请 的目的,这种新的通信形式称为“Voxing”。
当你“Vox”某人时,会话由被记录在多个位置上的一系列分立的已 记录的消息组成,这些位置可包括发送者的编码设备(例如电话或计算 机)、在网络的多个传输中继(hop)上的服务器以及接收者的再现设备。与 标准电话呼叫或语音邮件不同,系统提供了下列特征和优点:(i)会话可 在即时和时移之间转换,反之亦然;(ii)分立的会话消息在语义上连接在 一起并被存档;(iii)因为消息被记录并可用于以后取回,注意力可暂时从 会话转移,接着可以后在方便时复查会话;(iv)会话可暂停数秒、数分钟、 数小时或甚至数天,并可在停止的地方再次恢复;(v)人可再加入进行中 的会话并快速复查遗失的消息和跟上(catch up)当前的消息(例如,即时消 息);(vi)发生会话不需要如传统电话呼叫所要求的专用电路;以及(vii) 最后,为了发起会话,人可简单地开始传输到个人或组。如果另一端上的 一人或多人注意到他们正接收消息,他们有选择复查和实时地进会话的权 利或在他们选择之后的时间复查的权利。
通信媒体管理系统也支持优化数据通过网络的传输的新模式。系统有 效地管理有效载荷到接收者的发送,当网络条件较不理想时,该接收者实 时地参与会话。例如当网络条件差时,系统有意降低用于传输到当被接收 者接收时“足够好”以被再现的点的数据的质量,允许会话的实时参与。 系统也保证随着时间的过去消息的“准确”拷贝的最终发送。系统和方法 因此提供了速度和准确性两者的优点。通过在时间性和媒体质量之间进行 折衷、使用接收者是否打算立即实时地复查消息的在场和意图以及网络等 待时间、网络降质、分组丢失或损坏和/或当前带宽条件的衡量,来优化对 网络带宽的利用。
应注意,会话消息可只包含语音或包含语音、视频和其它数据,例如 传感器信息。当复查消息时,取决于包含在消息中的媒体的类型,听取或 在视觉上复查它们,或其组合。虽然到本申请的提交为止,大多数会话只 是语音,但这里描述的通信系统和方法旨在广泛地包括会话,该会话包括 多媒体类型,例如语音和视频。
公开了提供下列特征和功能中的一个或多个的改进的语音和其它媒 体通信和管理系统和方法:
i.使用户能够参与多种会话类型,包括即时电话呼叫、会议电话、语 音消息、连续或同时的通信;
ii.使用户能够在即时模式或时移模式(语音消息)中复查会话消息;
iii.使用户能够在同步“即时”模式和时移模式之间无缝地转换会话;
iv.使用户能够参与会话,而不等待建立与另一参与者或网络的连接。 该属性允许用户开始会话,参与会话,并且即使在网络可不用时,在网络 质量差时或其他参与者无空时也复查以前接收到的时移的会话消息;
v.使系统能够在发送方保存有效载荷数据,且在网络传输之后在所有 接收方保存媒体有效载荷数据;
vi.使系统能够通过将消息按序连接在一起形成在语义上有意义的会 话来组织消息,其中每个消息可被识别并联系到给定会话中的给定参与 者;
vii使用户能够使用一组用户控制的功能来管理每个会话,例如复查 “即时”、暂停或时移会话直到方便复查时,在各种模式和用于管理会话 (例如存档、加标记、搜索和从档案库取回)的方法中重放(例如,播放 加快、跟上即时、跳到会话首部);
viii.使系统能够管理在场数据并与所有会话参与者共享在场数据,包 括在线状态、关于在即时或时移模式中复查任何给定的消息的意图、对消 息的当前关注、再现方法以及发送方和接收方之间的网络条件;
ix使用户能够同时管理多个会话,其中(a)一个会话正在进行,而 所有其它会话暂停;(b)多个会话被连续再现,例如但不限于战术通信, 或者(c)多个会话是活跃的并被同时再现,例如在股票交易所或贸易场所 中;
x.使用户能够储存所有的会话,且如果需要,持久地将它们存档在有 形介质中,按需要提供可被有组织地编索引、搜索、转录、翻译和/或复查 的有用资源;
xi.使系统能够使用消息的尽力交付模式,以用于尽快再现的“足够 好”速率提供实时呼叫功能(类似于UDP),以及通过从最初保存的完美 拷贝(类似于TCP)请求任何遗失或损坏的数据的重传来提供传输的消息 的准确拷贝的被保证的最后发送;以及
xii使系统能够通过在时间性和媒体质量之间进行折衷、使用接收者 的在场和意图(即,在实时或在时移模式中复查媒体)以及网络等待时间、 网络降质、分组丢失或损坏和/或当前带宽条件的衡量,来优化对网络带宽 的利用。
在各种实施方式中,可实现上面列出的很多特征和功能中的一些或全 部。然而应理解,本发明的不同实施方式不需要合并上面列出的全部特征 和功能。
B.术语表
在解释本发明的细节之前,定义在整个书面描述中使用的一些术语和 缩略语是有用的。术语的该术语表被按系统部件、媒体、媒体管理、人和 会话管理组织成组。
B.1.系统部件
客户机:客户机是通信系统中的用户应用程序,其包括用户接口、持 久性数据存储器和“Voxing”功能。用户与客户机应用程序进行交互作用, 且客户机应用程序管理通过网络传输或接收的所有通信(消息和信号)和 有效载荷(媒体)转移。客户机支持对媒体的编码(例如,语音、视频或 其它数据内容的捕获)以及对媒体的再现,并支持对数据在网络上的传输 进行优化以及保护、加密和验证。客户机可由一个或多个用户使用(即, 多租户)。
设备:运行客户机应用程序的物理设备。用户可在任何给定的时间点 主动地登录到单个设备或多个设备。在不同实施方式中,设备可为通用计 算机、便携式计算设备、可编程的电话、可编程的无线电装置或任何其它 可编程的通信设备。
服务器:通信网络中的计算机节点。服务器负责通过网络和持久性存 储器将在用户之间来回发送的消息按规定路线传送,还负责对媒体有效载 荷进行存档。服务器提供对数据在网络上的传输的优化以及路由、译码、 保护、加密和验证。
B.2.媒体
消息:从一个用户到另一的通信的单个单位。每个消息由某种媒体例 如语音或视频组成。每个消息被分配某些属性,包括:(i)发送消息的用 户;(ii)它所属的会话;(iii)可选的或用户创建的重要标记;(iv)时间 戳;以及(v)媒体有效载荷。
媒体:音频、视频、文本、位置、传感器读数例如温度、或其它数据。
会话:两个或多个用户之间在其设备上(被识别、持久地储存、分组 并按优先顺序排列)的一串消息。用户通常按需要使用其设备,通过在实 时或在时移模式中复查消息或创建并发送会话消息,来参与会话。当新消 息被创建时,它们定义新的会话,或它们被添加到现有的会话。
会话首部:由最近的扬声器编码的会话的最近的消息。它是用户在复 查“即时”时处于会话中的位置或人在使用“跳到即时”特征的情况下所 跳到的位置。
多会话管理系统或MCMS:作为客户应用程序的部分运行的应用程 序,其使用户能够使用各种媒体类型参与多个会话。使用MCMS应用程 序,用户在多个会话中选择一个会话作为当前的,其中只有当前会话的消 息被再现。对于选定的当前会话,用户可从时移模式中的一系列来回消息 转换到接近同步的“即时”模式,类似于标准电话会话,并再次转换回来。 未选定的会话的消息处于暂停状态。如果其他人仍然参与那些会话,则与 未选定的会话相关的消息将累积。用户可选择性地在多个会话中转换当前 会话,并复查选定的当前会话的被累积的消息。
连续多会话管理系统或MCMS-C:类似于MCMS,具有再现和使用 户能够通过时移和优先级分级系统来管理并参与连续多个会话的增加的 特征,其由系统自动管理。MCMS-C应用程序允许连续会话的消息按优先 顺序被再现,与只再现当前选定的会话的消息的MCMS相反。MCMS-C 特别适用于下列情况:连续会话的消息按优先顺序被再现很重要,和/或接 收所有消息,即使属于较低优先级会话的那些消息,比实时地接收消息更 重要。MCMS-C可能适合的情况的例子包括但不限于医院、出租车队管理 或战术通信。
同时多会话管理系统或MCMS-S:类似于MCMS,具有能够使用 MCMS-S的增加的特征,选择用于同时再现的多个会话,与只再现当前选 定的会话的消息的MCMS不同。MCMS-S特别适用于下列情况:用户同 时听多个会话,例如交易人听不同交易的多个经纪人并向其中的一人或多 人周期性地同时发送交易请求。MCMS-S也可适合于战术通信。
优先级:系统用来确定当用户参与MCMS-C时接着再现哪个消息的 机制。优先级由系统自动管理。用户可设置默认的优先级,或可使用一组 预定的系统优先级。在其中多于一个的消息准备被同时再现的冲突的情况 下,系统至少部分地根据优先级解决该冲突,以确定什么消息要立即再现 以及什么消息要时移。
标记:用户或系统可分配到会话或消息的一组属性,例如主题(公司 名)、指令(行动条款)、指示符(会话概要)、或人可能想要通过其来搜 索或组织数据的任何其它标志。
重要标记:使发送者能够指定消息何时被再现的特殊消息属性,而不 管其它优先级设置如何。例如“紧急”重要标记将优先于其它优先级。该 特征对战术系统很关键,虽然任何系统可配置成使用或禁用该特征。
分组:能够通过计算机网络被按规定路由传送的二进制数据的任何单 位。每个分组由首部(元数据)和有效载荷(媒体数据)组成。包括标准 分组协议,例如但不限于互联网协议(IP)、EvDO、UMTS、或任何其它 基于分组的无线电、光纤或有线网络。
首部或分组首部:描述分组的分组部分;关于有效载荷的元数据、其 编码类型和目的地。
Vox分组:使系统和方法能够进一步改进和优化消息、媒体和其它信 令信息的发送的专有分组。
媒体有效载荷(或有效载荷):分组的实际媒体部分。
B.3.媒体管理
时移延迟(TSD):在Vox分组的到达与分组在设备上再现之间的时 间量。TSD必须超过最小时移延迟。TSD一般由用户在接收到之后的某个 时间选择复查会话消息时的行为确定。
最小时移延迟(MTSD):被客户机强加以允许使用抖动(jitter)缓冲 区技术来进行抖动处理的时移延迟。这使系统延迟再现,直到足够数量的 分组到达以产生可用的媒体流。系统一般随着时间的过去适应性地调节 MTSD,以补偿网络中的变化的条件。
再现:以适合于用户使用的形式(例如,语音、文本、图形显示、视 频或其组合)将媒体流发送到用户。
混合:一个或多个媒体流的再现。例如,来自会话的两个参与者的媒 体流可在再现时被混合,产生类似于多人同时讲话的会话的用户体验。
编码:转换由用户所产生的(例如,语音或视频)、或以其他方式在 设备上引起(例如GPS或其它传感器数据)的媒体、或将媒体转换成由客 户机处理的数字数据的过程。
自适应抖动缓冲区:抖动缓冲区或去抖动缓冲区用于对分组交换网络 引入的抖动(即,序列分组之外的到达或分组的延迟的到达)计数,以便 可没有中断地执行通过网络传输的音频(或视频)信号的连续再现。数据 在再现之前存储在缓冲区中,以允许媒体的合理尺寸的缓冲区到达。媒体 可在所有分组被接收之前被再现,为传播折衷选择质量。自适应抖动缓冲 区能够动态地改变其尺寸以优化延迟/质量折衷。
持久性无限消息缓冲区(PIMB):PIMB是指执行“即时”数据的去 抖动以及存档数据的存储和取回的、基于时间的媒体的存储的存储管理系 统。PIMB还包括媒体的可能无限和持久性存储的额外属性。PIMB在一些 或所有参与者设备和/或服务器维持消息和会话的Vox分组的“准确”或完 整拷贝。
分组丢失补偿或隐蔽(PLC):在再现媒体流期间,PLC部件补偿遗 失的分组,插入结果以向复查者提供流。遗失的分组可被再现为无声,或 来自相邻分组的信息可用于提供插入的声音或图像。待使用的特定的方法 将依赖于媒体、使用中的编解码器和其它通常已知的参数。
B.4人
用户:被授权使用系统的人。
联系人:系统对用户或非用户的记录。用户一般参与和其联系人列表 上的成员的会话。非用户是使用传统电话、无线电装置或启用其它非客户 机12的设备来访问或使用系统的用户。
组:多个联系人的联合。联系人可被选择性添加或从组中删除。当会 话发生在组中间时,组中的所有成员可以或可以不参加。
信道:一般用于战术通信系统。信道类似于组,因为它使多个联系人 与信道关联。
参与者:被识别为会话的成员的人。可为用户或非用户参与者。
B.5.会话管理
时移:时移是当任何消息(如用户接收者所确定的)被接收之后,在 任何时间播放该消息的能力。通过时移,用户可复查消息:(i)通过在MTSD 之后立即再现来立即按需请求;或(ii)依据用户的判断在复查消息的模 式中时移;(iii)来自档案库,用于老的会话的搜索、重建等;(iv)在延 迟的一段时间之后适应需要被首先复查的其它较高优先级消息(或会话) 的复查;(v)和/或如果必要使消息重复地被再次听到和理解。换句话说, 时移是用户在系统强加MTSD之后的任何时间再现消息的能力。
复查:听、观看、阅读或以其他方式观察消息中的媒体内容。复查可 在接近同步的实时的“即时模式”或时移模式中发生。
意图:(i)记录用户是希望尽快复查会话消息还是希望在时移模式中 复查消息的用户定义的属性;(ii)由用户的行为暗示;或(i)和(ii)的 组合。
注意力:记录用户是否此刻复查给定会话的消息的用户属性。
跟上即时(CTL):允许不在会话首部的用户更快地复查以前的消息 以“跟上即时”(即,会话首部)的再现模式。CTL特征可使用任何数量 的跟上技术,例如消息的较快重放、消息的媒体中的间隙的移除、犹豫虚 词(hesitation particle)的移除等。当用户跟上即时时,系统无缝地进入即时 会话。这是例如在用户需要暂时将其注意力从会话移走但在其返回时希望 听到整个会话的情况下关于会议电话的非常有用的特征。
跟上模式:确定CTL过程如何跟上(即,重放加快、消除无声和犹豫 虚词或其组合)的用户配置或预先配置的模式。
跳到即时(JTL):该特征允许用户从其当前位置跳到会话首部。当用 户不想复查其会话中的当前位置与会话首部之间的所有消息时,他们一般 使用JTL特征。当实现JTL特征时,用户略过任何中间消息,并开始再现 在会话首部处的“即时”消息。
MCMS参与者属性:由用户定义的、或由系统从用户行为理解的、 由管理员分配的、或其组合的一组属性,这些属性定义意图、注意力、优 先级和接收者对给定会话的再现偏好。这些属性包括但不限于:(i)当接 收者希望再现会话消息时的意图。可能的意图值包括:“现在”、“时移”、 “跟上即时(CTL)”、“暂停”和“从不”;(ii)跟上模式,其是确定CTL 过程应如何使接收者跟上即时(例如,播放加快、略过无声间隙或犹豫、 或以正常速度播放)的配置设置;(iii)时移延迟(TSD),其定义接收者 在会话中的当前位置离会话首部多远,以及(iv)消息相对于接收者的其 它会话的优先级。
C.系统结构
参考图1,其示出了根据本发明的一个实施方式的电信和媒体管理系 统的结构图。系统10包括分别在设备131到13n上运行的多个客户机121 到12n。设备13通过包括一个或多个服务器16的通信服务网络14彼此通 信。一个或多个网络181到18n设置成将多个设备131到13n耦合到通信服 务网络14。在不同实施方式中,网络18可为公共交换电话网络(PSTN)、 基于例如CDMA或GSM的蜂窝网络、互联网、战术无线电网络、或任何 其它通信网络、或其组合。通信服务网络14是在各网络181到18n的顶部 上的或以其他方式与各网络181到18n进行通信的网络层。在不同实施方式 中,网络层14是异类或同类的。客户机121到12n使用称为“Vox分组” 的单独的消息单元彼此通信并与网络181到18n以及网络14上的服务器16 进行通信,这将在下面详细描述。
D.客户机结构
参考图2A和2B,其示出了在设备13上运行的客户机12的结构图。 如图2A所示,客户机12包括多会话管理系统(MCMS)应用程序20、再 现和编码模块21、以及MCMS应用数据库22。如图2B所示,客户机12 还包括存储和流(SAS)模块24,其具有持久性无限消息缓冲区(PIMB) 读出器26、PIMB写入器28、PIMB数据库30、数据和网络质量(DNQS) 存储器32、以及媒体驱动器和编码器硬件34。MCMS应用程序20以及存 储和流模块24分别通过消息处理模块25a和25b彼此进行通信。客户机 12还包括验证-加密-保护模块40和通信协议模块44。
模块40在将“Vox”分组传输到客户机12以及从客户机12接收“Vox” 分组期间提供验证、加密和保护服务。当在接收数据时传输数据并将Vox 分组从本地分组去封装时,通信协议模块44将Vox分组封装到底层网络 18所使用的本地分组中,底层网络18连接到运行客户机12的设备13。 使用模块40和44,在客户机12之间提供多方端到端验证、加密和保护。 消息在网络181到18n和网络14中从第一发送设备13到第二接收设备13 被验证、加密和保护。
D.1.1MCMS数据库
数据库22储存并管理系统10中很多实体的持久性元数据,包括联系 人和参与者、会话和消息(即时和所储存的)、和默认优先级、以及关于 服务器16的信息。此外,MCMS数据库22储存用户会话、在场和状态的 从一时刻到另一时刻的操作数据,以及与用户进行会话的或用户联系人列 表上的所有参与者的会话、在场和状态的从一时刻到另一时刻操作数据。 例如,对于会话和消息,数据库22记住状态信息,例如用户已经或未曾 复查的会话的什么消息、优先级、以及在其中客户机12是参与者的每个 会话的跟上即时状态、所有参与者的在场和状态、以及其它网络和其它系 统管理数据。
D.1.2MCMS应用程序
MCMS应用程序20使用各种媒体和数据类型(语音、视频、文本、 位置、数据等)支持参与会话和/或管理多个会话的不同Voxing模式。用 户通过使用他们的启用客户机12的设备13将消息发送到指定的接收者, 来参与会话。根据偏好和优先级,接收者可实时地复查消息,或他们可仅 仅被通知消息准备好被复查。用户可从一系列消息来回转换,这些消息在 时移模式(或语音消息)中或在接近同步的全双工会话(类似于标准“即 时”电话呼叫)中被复查并接着再次回到语音消息。MCMS应用程序20 允许用户实时地控制与其最重要会话的交互作用,而不遗失其它正在进行 的会话中的任何消息。例如,MCMS应用程序20通知来自会话的紧急或 高优先级通信的用户他们目前不复查。MCMS应用程序20也使来自所有 会话的所有消息被储存,用于以后取回,所以它们可在任何时间被复查。
根据各种实施方式,存在MCMS应用程序20的几种不同的操作模式, 包括连续MCMS(MCMS-C)和同时MCMS(MCMS-S),其分别支持消 息的连续和同时的再现。下面详细描述这些实施方式中的每个。除非特别 指出,术语“MCMS”通常用于表示MCMS应用程序20,其包括前述不 同的模式。
MCMS应用程序20是包括很多模块和服务的多层结构。模块和服务 包括MCMS数据库模块20a、SAS服务模块20b、消息和信令服务模块20c、 用户接口应用编程接口(API)20d、用户接口模块20e、会话/消息管理服 务20f、优先级服务20g、联系人服务20h、在场/状态服务20i以及消息/ 信号服务20j。
D.1.2.1MCMS数据库模块
MCMS数据库模块20a是管理MCMS应用程序20访问MCMS数据 库22所必需的所有功能的服务模块。
D.1.2.2SAS服务模块
SAS服务模块20b包括一组功能调用,其实现MCMS应用程序20和 存储和流模块24之间的通信和协调,且其分别通过消息处理模块25a和 25b来回传递。当被用户调用和/或被网络条件指示时,这组功能调用使 MCMS应用程序20和存储和流模块24能够按需要操作来实现各种Voxing 功能。SAS服务模块20b所执行的一些功能包括维持和传递消息传输和消 息确认的状态、用于再现消息的指令、以及用户的状态和在场。
D.1.2.3消息和信令服务模块
消息和信令服务模块20c在客户机12和服务器16上运行,并实现系 统10的客户机12和服务器16之间的通信。包括消息、数据和其它信号 的该通信允许客户机12和系统10跟踪并管理通信、网络状态、用户和用 户状态。在客户机12和服务器16上运行的消息和信令服务模块20c之间 发送的消息和信号的类型包括例如用户的网络可用性、服务器16发送到 客户机12(可能包括“高水印(high water mark)”)的消息的跟踪,这些消 息确定是否整个消息或消息的某个部分丢失(例如由“产生的”客户机创 建的每会话每参与者的序列号)、用户是否正讲话或复查给定会话的消息、 用户相对于会话首部的位置、或参与者何时不再复查会话实况。这些是在 客户机12和服务器16上的消息和信令服务模块之间发送的很多类型的消 息和信号中的一些的实例,且决不应被解释为限制本发明。
D.1.2.4用户接口API
用户接口API 20d是界定一组功能调用的模块,这些调用定义用户接 口模块20e和MCMS应用程序20的底层服务之间的编程接口。用户接口 API 20d支持通用方法,例如UI应用程序支持、以及用户接口操作MCMS 应用程序20所必需的所有功能调用。在各种实施方式中,用户接口API 20d 使客户机12能够支持各种用户接口和设备类型,例如基于Adobe Flash的 和/或Microsoft Windows应用程序、蜂窝或移动电话设备、以载频驱动的 PSTN设备、语音用户接口(VUI)和物理无线电通信接口。在各种实施方 式中,用户接口API 20d既使高度灵活的也使高度受限的用户接口的设计 能够支持MCMS应用程序20的功能。
D.1.2.5MCMS用户接口模块
MCMS用户接口模块20e支持客户机12的音频和视频用户接口的操 作和功能。用户接口模块20e支持很多用户交互作用,并可使用各种交互 作用介质例如图形用户接口屏幕的阵列、音频/DTMF接口或设备13上的 语音用户接口来实现,所有这些交互作用介质都使用户能够与系统10进 行交互作用。被支持的用户交互作用的部分列表例如包括功能:登录;管 理、加入和监控会话;控制会话再现;管理优先级;以及请求复查被存档 的会话。应注意,该列表是示例性的,且决不应被解释为限制本发明。
D.1.2.6会话/消息管理服务
会话/消息管理服务20f是定义管理数据结构和过程的一组功能的模 块,其负责管理并保留用户管理在会话的参与者之间传输和接收的媒体 (例如,语音或视频内容消息)的接收和复查所需要的所有信息。消息被 组织成会话。运行应用程序12的设备13所发送和接收的媒体可用于在被 接收时立即复查。接收到的媒体也被记录,用于在时移模式中复查、会话 管理和归档目的。在可选的实施方式中,消息或会话可以可选地被暂时标 记,指定其期望的保留要求(例如,超出对立即再现的要求,一些消息将 不被保留或储存)。在又一实施方式中,媒体可以可选地被标记用于只在 时移模式中复查,且不能在接收到时立即被复查。
对于用户的每个当前的或正在进行的会话,会话/消息管理服务20f进 一步实现在任何时间媒体到接收客户机12的发送,且接收客户机12无缝 地使这些消息与适当的会话相关,而不管接收者活动或不活动。
使用会话/消息管理服务20f,所有会话实质上是异步的。如果两个用 户主动地参与给定会话,且在传输之间用户控制的延迟最小,则体验将是 同步全双工会话之一,如同当前的电话或VoIP会话一样。如果用户由于无 论什么原因延迟其参与,则会话趋向于异步语音(或其它媒体)消息体验。 在可选实施方式中,会话可以可选地被标记为仅仅异步消息或仅仅同步消 息。在这些情况的任一个中,会话不能在两个模式之间移动,除非标记被 重置。在标记被重置之后,会话再次可在接近同步(即,即时或实时)和 异步(即,时移或语音消息)模式之间移动。
会话/消息管理服务20f以逐步的方式处理消息的传输和接收。当传输 时,媒体可在消息被同时编码、储存和传输时产生。换句话说,消息的传 输可与用户产生媒体同时出现(即,当对其设备13讲话或产生视频时)。 在接收侧上,消息的接收、储存和再现也都逐步出现。消息不需要在它们 可被再现之前被全部接收到。消息的再现可与消息被传送同时出现,直到 刚好达到MTSD。进一步地,服务20f也能够同时传输正在进行的消息并 再现进入的消息。服务20f的逐步性质允许用户参与即时会话,对会话的 媒体同时储存和流式化,用于以后取回和复查以及这里所述的其它功能。
如果用户遗失早些时候的消息或卷入另一会话,通过会话/消息管理服 务20f对消息进行的时移,允许用户对会话“跟上即时”。该时移过程消除 了用户向其整个组或信道广播使消息重复的请求的需要。较老的消息可在 任何时间以可能较高的速度重放,以节省时间。用户可容易在其消息中和 各个消息内来回跳跃。复查过程可在消息-优先级基础上配置成可能跳过较 低优先级的消息。
在一个实施方式中,会话/消息管理服务20f也由特定的参与者(讲话 者)识别消息,且默认地混合被同时发送(MCMS-S)的会话消息。在可 选实施方式中,用户可分开复查会话的不同参与的讲话者的传输。
会话/消息管理服务20f进一步允许在被添加到活跃的或存档的会话的 参与者中间共享会话。在一个实施方式中,任何添加到会话的参与者被提 供对会话的访问,并有取回以前的会话消息用于复查的能力。在可选实施 方式中,所添加的参与者被提供对只从新参与者加入的点开始的会话消息 的访问,而不是任何以前的会话消息。
会话/消息管理服务20f也负责管理用于控制存储和流模块24所执行 的所有再现任务的功能。这些任务包括适合地对运行应用程序12的设备 13再现媒体(例如,语音、视频等)。这些再现任务包括但不限于混合消 息(即,交迭的消息)的再现,以及根据用户定义的标准的再现,例如播 放加快、跟上即时、消除无声和移除犹豫虚词、频移、以及在多方会话中 将独立的增益控制应用于各个发送者的能力。
D.1.2.7优先级服务
优先级服务20g是定义管理数据结构和过程的一组功能的模块,其负 责管理并保留用户管理用户所参与的连续会话(即,MCMS-C)的优先级 所需的所有信息。当用户参与多个连续的即时会话时,用户需要按优先顺 序排列会话。当不同会话的消息准备同时再现时产生问题。算法用于确定 消息被再现的顺序,该顺序考虑待再现的消息的可用性和用户设置的优先 级。算法确定具有最高优先级的可用消息首先被再现,而任何同时可用的 消息被自动时移,恰好足以允许再现较高优先级的消息。当再现时间变得 可获得时,系统将根据用户的优先级自动再现时移的消息。
D.1.2.8联系人服务
联系人服务20h是定义管理数据结构和过程的一组功能的模块,其负 责管理并保留验证一个或多个联系人并使一个或多个联系人与会话相关 联所需的所有信息。当作为与多个联系人相关的会话的一部分发送消息 时,所有的联系人都接收到该消息。
D.1.2.9在场/状态服务
在场/状态服务20i是定义管理数据结构和过程的一组功能的模块,其 负责管理并共享在系统的某些用户和/或非用户之间的在场和状态信息。在 各种实施方式中,为参与客户机12的用户所参与的会话的所有用户和非 用户、联系人列表中的所有用户和非用户、或预定域内的用户(例如,公 司或其它组织的成员)维持在场和状态信息。这些例子只是例证性的,且 不应被解释为限制性的。在场/状态服务模块20i可管理和共享关于用户和 /或非用户的任何限定组的在场和状态信息。
在场/状态服务20i使用户能够监控其它用户的意图、注意力及其对任 何给定会话的时移延迟(即,他们对复查会话实况的消息落后到什么程度) 的状态。在一个实施方式中,提供了关于在场和状态数据的可用性的隐私 控制。在场/状态模块20i进一步控制使系统10能够发送与用户的行为和 意图匹配的消息的数据。例如,用户可通过指定复查或不复查会话实况的 意图来指示其状态。作为响应,根据用户的意图再现的命令,在场/状态服 务20i发出使“即时”或时移的消息。此外,用户的意图被会话的其他参 与者共享。服务20i也能够从用户的行为推断其它状态值。在场和状态信 息也用于优化网络业务和带宽,如下面更详细描述的。
D.1.2.10消息/信号服务
消息/信号服务20j是定义管理数据结构和过程的一组功能的模块,其 负责使用特殊的消息或可听音向系统10的用户发消息和发信号。特殊的 消息或音可包括例如消息是即时的还是时移的、消息来自于谁的指示、优 先级以及其它因素的指示。消息/信号服务20i进一步具有下列能力:(i) 发信号通知网络上的用户的在场或缺席,以及通知是否一个或多个用户不 再主动复查会话消息的能力;(ii)当其注意另一会话而根本不注意其设备 13时,“响铃”或以其他方式通知另一用户引起其注意;(iii)为当前不在 网络18上的用户留下消息,从而下次个人再次连接到网络18时立即复查 该消息;(iv)产生警告发送者发送消息没有被接收者接收到的可听到的或 可见的反馈,产生消息被接收者接收时的确认,和/或指示消息何时被接收 者听到的确认;以及(v)实现优先级方案,其中可在会议或战术呼叫时 通知个人立即需要其注意力在呼叫上。该指示可传达接收者多级别紧急事 件和某种确认。
D.1.2.11再现和编码
再现和编码模块21负责执行MCMS应用程序20的所有再现任务。 这些任务包括为运行应用程序12的设备13适当地再现媒体。
D.2存储和流模块
存储和流模块24支持下述很多功能和性能属性。
使用存储和流模块24,消息传输本质上是“全双工的”,使任一方能 够在任何时间发送消息,即使当另一方也在发送消息时,或如果另一方没 有空或以其他方式在使用中。存储和流模块能够如在即时PSTN或VoIP 呼叫中一样再现消息,或在时移消息模式中发送它们。它能够优化传输并 根据用户的愿望控制再现。
存储和流模块24维持与底层网络18上的所有目标接收者(例如服务 器16或其它设备13)的连接性,管理所有消息、信号和媒体传输,并优 化在网络18上的发送速度和带宽利用以满足用户的即时性能要求,同时 管理网络质量和能力。模块24适应并优化与底层网络18的质量和能力相 称的媒体发送。当可获得底层网络资源不充足时,所传输的媒体流的质量 可能被降低。当带宽变得可用时,所传输的媒体流的质量可能提高。除了 对媒体质量的折衷以外,存储和流功能可根据用户意图对在每个分组中传 输的媒体的数量进行折衷,以如下所述实时地再现数据。
通过根据底层网络18的条件动态地控制媒体的发送速率,存储和流 模块24被优化以发送在接收时“足够好”再现的时间敏感的媒体,并为 了存档目的通过请求丢失的、低质量或损坏的分组的重传的后台过程,来 保证媒体的准确或完整拷贝的最终发送。只要足够的网络资源存在以满足 最低媒体质量水平,该重传就不妨碍即时呼叫媒体的再现。系统10的客 户机12因此设计成在以相当大的可能等待时间为代价的媒体的准确或完 整拷贝的发送与媒体的快速发送之间填补性能缺口,但不保证完整性。在 本申请的上下文中,术语“足够好”意指媒体的质量足够,使得当它被再 现时它是可理解的。“足够好”的概念因此是主观的,且不应在绝对的意 义上被解释。例如,足够好的某些媒体的质量水平可根据媒体的类型、环 境和其它因素变化。
存储和流模块24进一步持久地储存通过利用设备13产生的、或以其 它方式使用设备13发源的、或通过网络18从其它设备13和/或用户接收 的所有媒体。将该媒体储存在运行客户机12的设备13上有一些重要的优 点:(i)它使用户能够为另一方留下消息,即使在发送者和/或接收者没有 空或网络连通性差时。在不充足的带宽的情况下,消息将与可有效地使用 可用带宽一样快得被传输。在没有连通性的情况下,只要网络连通性变得 可用,就将消息排队用于传输,导致时移发送;(ii)用户能够暂停、重放、 快进并对于正在进行的会话跟上即时,以及取回和复查被存档的以前会话 的消息;以及(iii)它实现在系统10上的数据有效载荷的优化,并提高了 相对网络带宽和可能不时地出现的连通性问题的系统适应性。
存储和流模块24还负责:适当地混合消息以产生交迭的消息(由会 话或背景噪声中的讲话者的正常交迭产生),模拟实际会话,其中多方正 在讲话;再现音频媒体的转录或转换;根据很多用户定义的标准调节媒体 的再现,该标准包括播放加快、消除口语词之间的无声间隙、移除犹豫虚 词、以及频移;以及在多方会话中将独立的增益控制应用于各个发送者的 能力;以及其它可能的再现选项。
存储和流模块24管理其本身和MCMS之间的控制和信息消息。
D.2.1持久性无限消息缓冲区(PIMB)
持久性无限消息缓冲区或PIMB 30是用于其储存和取回的一组附有索 引的(即附有时间戳和顺序编号的)媒体有效载荷数据结构和系统。在一 个实施方式中,PIMB 30中的数据是任意持久性的,意味着它实质上永远 可用或至少直到系统用完储存。各种保持速率和策略可用于有效地利用存 储资源。对PIMB 30的物理存储实现方法存在很多可能的实现方法,包括 但不限于:RAM、闪存、硬盘驱动器、光学介质或其某种组合。PIMB 30 在尺寸上也是“无限的”,意味着可存储在PIMB 30中的数据的量并不内 在地被限制。无需此限制与数据一被再现就丢弃数据的现有抖动缓冲区技 术比较。在一个特定的实施方式中,使用与用于持久储存的硬盘驱动器连 接的小和相对快的RAM高速缓冲存储器可实现PIMB 30。当超过PIMB 30 的物理储存容量时,数据保持在服务器16上(如下所述),用于以后按需 取回。诸如最近最少使用或先进先出的用户标准或置换算法用于控制储存 在PIMB 30中的实际数据和保持在服务器16上的或在任何时刻被存档的 数据。PIMB 30进一步提供系统存储器的属性和数据库的随机存取属性。 任何数量的会话不管其持续时间或每个会话中消息的数量如何,都可被储 存并以后取回用于复查。此外,与会话消息相关的元数据例如其创作者或 其长度也可存储在PIMB 30中。在可选实施方式中,附有索引的媒体有效 载荷和其它数据可在指定的一段时间(例如30天)内被储存。一旦媒体 的寿命超过指定的期限,有效载荷和数据就被丢弃。在另一实施方式中, 可根据包含有效载荷的消息的发送者和/或接收者或与有效载荷相关的会 话或消息的主题来丢弃有效载荷。在又一些其它实施方式中,有效载荷和 数据可被暂时标记,意味着超过对立即再现的要求,消息将不储存在PIMB 30中。
D.2.2数据和网络质量存储器
数据和网络质量存储器(DNQS)32是用于存储关于从PIMB 30读取 或写到PIMB 30的媒体有效载荷和Vox分组的信息的数据存储器。
D.2.3PIMB写入器
PIMB写入器28为了两个基本目的将数据写到PIMB 30。PIMB写入 器28写入来自运行客户机12(“编码接收”)的设备13上的媒体捕获设备 (例如,麦克风或摄像机)的数据。PIMB写入器28也将从其它客户机12 通过网络18接收的数据写入PIMB 30中(“净接收(Net Receive)”)。
D.2.3.1编码接收
为了从设备13捕获媒体,PIMB写入器28包括编码接收器28a和数 据存储器28c。当用户对着麦克风讲话或使用例如设备13产生视频图像时, 硬件34接收原始音频和/或视频信号并将其提供到编码接收器28a,编码接 收器28a将信号编码成附有索引的媒体有效载荷(此后有时简单地称为“有 效载荷”)。数据存储器28c将有效载荷储存在PIMB 30中。其它类型的媒 体例如传感器数据以类似的方式转换成有效载荷。
D.2.3.2净接收
为了将通过网络18接收的媒体储存在PIMB 30中,PIMB写入器28 的净接收功能包括净接收器28d、数据缓冲器28e、数据存储器28f、数据 质量管理器28g和网络质量管理器28h。净接收器28d通过网络18接收 Vox分组。数据缓冲器28e将接收到的Vox分组置入其自己的适当序列中, 并阻止进入的Vox分组的重现延迟至少最小时移延迟(MTSD)。数据存储 器28f将分组转换成附有索引的媒体有效载荷,并将附有索引的媒体有效 载荷存储在PIMB 30中。当有效载荷被储存时,数据质量管理器(DQM) 28g记录任何遗失或有缺陷的分组。如果分组遗失或有缺陷,则DQM 28g 安排对通过网络18重传的请求。发送设备通过重发遗失或有缺陷的分组 来回答。最终这些分组转换成附有索引的媒体有效载荷,并储存在PIMB 30 中。通过取回遗失或有缺陷的分组,发送者的消息的“准确”拷贝最终储 存在PIMB 30中。遗失和/或有缺陷的分组的重传不实时地延迟消息的再 现,假定被发送的分组具有“足够好”的质量和数量。如果不足的网络资 源可用于支持新的“即时”数据以及重传,则重传请求可被DQM 28g延 迟。
D.2.4PIMB读出器
PIMB读出器26为了两个基本目的从PIMB 30读取数据。当为本地客 户机12再现数据PIMB(“再现”)时,PIMB读出器26访问PIMB 30。当 客户机12通过网络18传输数据(“传输”)时,数据从PIMB 30被读取。
D.2.4.1再现
为了在客户机12上再现消息,PIMB读出器26包括数据优先器26a、 数据取回器26b、分组损失补偿/内插器(PLC/内插器)26c、数据混合器 26d和数据再现器26e。优先器26a通过建立可能被再现的消息的有顺序队 列,按优先顺序排列待再现的数据。它使用用户配置的优先级用于再现连 续的会话(MCMS-C)。此外,数据优先器利用媒体数据在由MTSD所施 加的限制内再现的可用性、用户的当前注意力、以及用户限定和暗示的意 图。数据取回器26b从PIMB 30取回按优先顺序排列的附有索引的媒体载 荷。PLC/内插器26c使用已知的分组损失补偿和内插算法对取回的有效载 荷执行分组损失补偿和内插。要使用的特定方法取决于使用中的媒体编解 码器以及其它公知的参数。混合器26d用于将来自单个会话的多个消息的 数据流适当地混合在一起。例如,如果会话的两个或多个参与者同时讲话, 则混合器26d混合消息,产生两个参与者同时讲话的效应。在可选实施方 式中,用户具有一次复查来自一个参与者的多个流的选择。如果会话中只 有一个参与者讲话,则混合器26d可只传递单个消息流,而不执行任何混 合。再现器26e从混合器模块26d获得数据,并将其转换成适合于硬件驱 动器34的形式。硬件34接着根据媒体的类型驱动设备13的扬声器或视 频显示器,产生语音、视频或设备13上的某个其它可听得见和/或可看得 见的通知。
D.2.4.2传输
为了准备用于通过网络18从客户机12传输的消息,PIMB读出器26 包括数据优先器26f、分组质量管理器(PQM)26g、数据取回器26h、打 包器26i、发送器26j和确认器26k。数据优先器26f按优先顺序排列用于 通过网络18传输的消息。使用与可用于传输的有效载荷有关的MCMS参 与者属性、网络连通性和带宽条件以及超出下一中继从而即时或时移地再 现的用户意图、且在一些实施方式中传输捆绑的可能优化,来确定优先级, 在所述一些实施方式中,到任何给定的下一网络中继的多个分组是可用 的。按优先顺序排列的分组接着使用PQM 26g被优化,这确保对即时消息 的“足够好”数据质量的及时发送,同时最小化实时带宽,如下面更详细 描述的。数据取回器26h从PIMB 30取回适当的有效载荷。打包器26i将 有效载荷装配成Vox分组,其接着由发送器模块26j通过网络18发送。当 接收者接收到Vox分组时,确认通过网络18被发送回确认器26k,用于通 知发送用户消息已到达其目的地。
D.2.5分组质量管理器
PQM 26g具有几个优化目标:(i)时间敏感的媒体的充分拷贝的及时 发送(对于再现“尽快从而足够好”);(ii)可用带宽的有效使用,意味着 使用底层网络的最佳传输频率、有效载荷质量和分组大小;以及(iii)当 网络条件变化时动态地调节或改变传输频率、有效载荷内容、有效载荷质 量、分组大小等的能力。
D.2.6网络质量管理器
在网络传输的接收侧上是网络质量管理器28h(NQM)。NQM负责为 将媒体发送到客户机12的每个发送者观察网络性能的特定属性,将抖动、 损失和吞吐量的期望值与其实际值比较。这用于为每个发送者计算网络质 量评级(NQR)。该NQR用于指示发送者空闲性和接收设备的用户的会话 活跃度。
D.2.7数据质量管理器
数据质量管理器28g通过观察分组损失、抖动和吞吐量,测量通过网 络接收到的数据的质量。DQM 28g为了三个目的使用这些测量:(i)将接 收报告发送回发送者;(ii)可选地使用那些接收报告来请求某些数据的重 传;以及(iii)使NQM 28h可利用这些测量。
E.服务器结构
参考图3,其为在服务器16上运行的应用程序78的结构图。应用程 序78在很多方面类似于客户机应用程序12,并包括MCMS服务器应用程 序80、MCMS数据库82、存储和流模块84、PIMB 85、数据和网络质量 存储器(DNQS)86、管理在MCMS服务器应用程序80与存储和流模块 84之间来回的消息和信号的MCMS-SAS消息处理模块87a和87b、存档/ 取回器88、和档案库89。应用程序78还包括验证-加密-保护模块40和通 信协议模块44。
MCMS服务器应用程序80是包括MCMS数据库模块20a、存储和流 (SAS)模块20b、消息/信令模块20c、会话/消息管理服务20f、优先级服 务20g、联系人(包括用户和验证)服务20h、在场/状态服务20i和消息/ 信号服务20的多层结构。应用程序78的前述模块和服务类似或等同于与 客户机12具有相似的参考数字的模块和服务,因此不在这里详细描述, 除了一个明显的例外。在各种实施方式中,MCMS服务器应用程序80以 及存储和流模块84,包括MCMS数据库82,配置成在应用程序的一个实 例中支持很多用户。所述一个实例还可配置成支持多个域,其中每个域被 定义为一组用户(即,公司或属于共同的组织的其它用户组)。该结构允 许服务器16上的每个应用程序78为多个用户(或域)服务,其中每个用 户(或域)对其他用户是不可见的。此划分被称为“多租用(multi-tenancy)”。
服务器存储和流模块84执行净接收和传输的功能。对于净接收功能, 模块84包括净接收器28d、数据缓冲器28e、数据存储器28f、数据质量 管理器(DQM)28g和网络质量管理器28h。对于传输功能,模块84包括 数据优先器26f、分组优化器26g、数据取回器26h、打包器26i、发送器 26j和确认器26k。存储和流模块84的前述元件类似或等同于与客户机12 具有相似参考数字的模块和服务,因此不在这里详细描述。
因为服务器16不直接与用户进行交互作用,不需要提供在客户机12 的存储和流模块24中设置的编码和再现功能。MCMS应用程序80当在服 务器16上运行时不直接与用户进行交互作用。因此,不需要用户接口和 用户接口API模块和服务20e和20d。
每个服务器16上的应用程序78可能为多个租户服务,意味着它为系 统10的多个用户服务。服务器应用程序78的PIMB 85因此明显较大,并 用于存储多个用户的媒体有效载荷,这与PIMB 30不同,PIMB 30用于只 储存仅仅一个用户的所产生或接收到的有效载荷。存储和流模块84的主 要目的是接收客户机12所传输的消息并将消息传输到其它客户机12。当 消息被接收到时,它们储存在PIMB 85中并直接根据系统配置沿着到预期 接收者或到接收者的路径传输到网络层14的下一服务器16(即,下一“中 继”)。存档取回器88负责将储存在PIMB 85中的媒体有效载荷在档案库 89中存档。当PIMB 85中的物理空间用完时,PIMB 85中的媒体有效载荷 移到档案库89,其为大容量存储设备。在各种实施方式中,储存在PIMB 85 中的有效载荷可根据用户定义的标准和/或任何已知的置换算法例如先进 先出(FIFO)或最近最少使用(LRU)被存档。应注意,为了简单起见在 图1中只示出一个服务器16。应理解,在实际实施方式中,多个服务器或 “服务器群”可用于具有大量用户的网络。
术语“持久”和“无限”用于描述PIMB 30,且PIMB 85不应照字面 被解释为绝对术语。用户可能希望无限地储存被认为重要的一些消息。在 其它情况下,例如两个朋友之间的随意聊天,消息可在某个时间段之后被 删除以节省空间。根据本发明的各种实施方式,可使用由系统10设置的 或由用户配置的不同的保留策略。词“无限”的使用指没有对PIMB强加 任何预设时间边界。这与当前的抖动缓冲器系统形成对照,其在媒体被再 现之后丢弃它。术语“持久”和“无限”因此应广泛地被解释为意指PIMB 30和PIMB 85对时间范围和可存储在其中的消息的数量没有内在限制。
在持久性存储介质中给会话消息存档有很多优点。语音消息和其它媒 体可按需要被组织起来、编索引、搜索、转录、翻译和复查。语音以及其 它媒体因此变成可由用户和组织管理的资产。这些媒体资产对公司、第一 出动人员、警察和火警部门以及军队具有价值。
F.Vox协议和附有索引的媒体有效载荷
如上所述,Vox协议由存储和流模块24使用来支持有效载荷传输、存 储和优化的所有方面。Vox分组是设计成封装在传输分组或网络18的底层 技术的传输分组内部的有组织的消息格式。该布置明显提高了系统10的 灵活性。通过将Vox分组嵌入现有的传输分组中,与定义“Voxing”应用 程序的新传输层不同,系统10利用在现有电信基础设施上运行的基于当 前分组的通信网络。因此不需要产生用于处理Vox分组的新网络结构,从 而利用这里所述的系统和方法的所有好处。
参考图4A,其示出Vox分组95的一般格式结构。Vox分组95的格式 包括用于类型、子类型、长度和有效载荷的字段。Vox分组的不同类型包 括验证、信令、媒体有效载荷、媒体多路复用(一个消息)和媒体多路复 用(多个消息)。子类型字段用于表示验证、信令或媒体类型消息的不同 类型。验证消息的可能的子类型包括用于关键字交换和验证所必需的那些 子类型。信令消息的可能的子类型包括注册、路由、消息建立和网络管理。 媒体消息的可能的子类型包括不同的编解码器类型和不同的有效载荷聚 集技术。长度字段限定有效载荷的总长度或大小。有效载荷字段包含分组 95的媒体或实际有效载荷。
参考图4B,其示出说明封装在网络18所使用的示例性协议中的Vox 分组95的图示。在本例中,Vox分组95分别嵌入底层UDP、IP和以太网 传输分组96中。以这种方式,Vox分组95可在网络18的底层UDP、IP 和以太网层中传输。这是分组网络所使用的标准协议封装技术。
参考图4C,其示出说明封装在UDP、IP和以太网97中的媒体多路复 用Vox分组95的图示。在本例中,Vox分组95包括媒体类型字段、媒体 子类型字段、长度字段、消息ID字段、时间戳字段、序列ID字段和媒体 有效载荷字段。
参考图4D,其示出附有索引的媒体有效载荷98的格式。附有索引的 媒体有效载荷包括子类型字段、长度字段、消息标识符(ID)字段、时间 戳字段、序列标识符(ID)字段和媒体有效载荷的字段。
Vox分组95封装到底层网络的传输分组中允许媒体、消息和会话每个 都由多个属性限定。
当媒体在设备13上产生或以其他方式起源时,它一般是基于时间的, 意指它随着时间的过去以某种有意义的方式改变。例如当人参与会话时, 他们讲的词集合在一起成为句子或语句,其可随着时间的过去变化,且因 而形成的数据(流和分组)将随着时间的过去维持相同的变化。类似地, 视频(与静止的照片不同)以及GPS或其它传感器数据将随着时间的过去 变化。不管类型或它如何起源,媒体被分割并置于多个Vox分组95的有 效载荷中。分组接着分别在传输和接收设备13处以流(即,流媒体)的 形式被连续地储存、传输、接收、储存并再现。因为每个分组95附有索 引、附有时间戳并被给出序列标识符,单独分组可被分割成消息。通过连 续将单独的消息连接在一起,可构成会话。
系统10的一个进一步的独特的方面是客户机12所产生的媒体有效载 荷被储存在多个位置。有效载荷不仅储存在产生设备13的PIMB 30中, 而且储存在服务器16的PIMB 85和接收设备13的PIMB 30中。该基本特 征使很多上述Voxing功能实现或变得可能,并给系统10提供适应性和可 操作性,即使当网络条件差时或当会话的参与者没有连接到网络时。
G.与底层电信协议的互操作性
系统10预定在各种现有的通信网络18例如互联网、固定PSTN类型 的电路网络以及移动或蜂窝电话网络或其组合上运行或被分层。系统10 围绕着在系统10中的不同客户机12和服务器16之间移动很多小单位的 信息(即,Vox分组)的概念而被设计。虽然Vox分组可在大小上变化, 根据其功能和有效载荷,它们对底层网络层都表现为相同类型的数据。在 一个实施方式中,系统10为IPv4网络例如互联网而被设计和优化,但也 可支持其它类型的网络。为了该文件的目的,术语“IP”应被理解为意指 IPv4、IPv6或互联网协议的任何其它当前或未来的实现。
参考图5,其示出在设备13上运行并通过共享的IP网络100与服务 器16进行通信的客户机12的图示。如所示,客户机12通过第一互联网 服务器提供商A耦合到共享的IP网络100,且服务器16通过第二互联网 服务提供商B耦合到共享的IP网络100。在通信期间,Vox分组95(在附 图中被设计的“VP”)被封装在UDP/IP分组中,接着如本领域中公知的在 其它IP协议分组中交错(interleave),并在整个共享的IP网络100中从客户 机12传输到服务器16,或反之亦然。如公知的,每个较低分组层封装直 接在其上的层的整个分组。分组也可在两个服务器16之间以类似的方式 发送。消息通过共享的IP网络100从启用一个客户机12的设备13发送到 另一设备。在每个中继时,Vox分组95嵌入底层IP协议中并被传输,直 到它们达到目标目的地。
图5的图示仅仅是示例性的,为了说明只示出连接到网络100的单个 客户机12和服务器16。在系统10的实际实施方式中,大量客户机12和 一个或多个服务器16一般连接到共享的IP网络100。注意到客户机12和 服务器16没有排它地使用IP网络100也是有用的。在所示例子中,通过 互联网提供商A耦合到网络100的HTTP客户机可使用HTTP服务器来回 发送分组,其通过第三互联网提供商C耦合到网络100。系统10不控制嵌 入IP分组中的VP横穿网络100的方式。更确切地,横穿并共享网络100 的所有分组都根据底层共享的IP网络100的标准程序这么做。
参考图6,其示出基于“电路”的网络104,例如GSM移动电话网络。 电路网络104耦合在设备13上运行的客户机12和服务器16之间。一旦 在客户机12和服务器16之间建立电路,系统10就将Vox分组(Vp1、 VP2、VP3、VP4、VP5等)分层到网络104所使用的底层分组上,并在整 个网络104中传输它们,产生“虚拟Vox”电路。Vox分组连续横穿电路 网络104,一般使用本领域中公知的用于通过电路网络传输数据的间隔或 成帧数据。此外,分组结构参数例如有效载荷大小和所包括的首部字段的 数量可用于利用每个分组开销的缺乏,并增加在整个网络104中的数据传 输的速度和/或效率。应再次注意,为了简单起见,只有单个客户机12和 服务器16被示为连接到网络104。然而应理解,客户机12和服务器16之 间的额外的电路以及其它部件可同时通过网络104来建立。网络104因此 不专用于Vox分组的传输,而更确切地其可与其它类型的网络业务共享。
参考图7,其示出说明与第一网络A相关的启用第一客户机12A的设 备13A和与第二网络B相关的启用第二客户机12B的设备13B之间的通 信。网络A和B每个还分别包括网关服务器16A和16B。网关服务器对 16A和16B便于两个网络A和B之间的通信,允许设备13A和13B彼此 通信。在各种实施方式中,网络A和B每个可为任何类型的网络。例如, 每个网络A和/或B可为IP网络、电路类型的网络、或无线或蜂窝网络(即, CDMA、GSM、TDMA等)。横跨两个网络A和B的服务器16被认为是 网关服务器,因为它们在两个网络之间按规定路线传输业务或用作“门”。
使用系统10,存在优化系统性能的几个底层网络交互作用考虑因素。 这些考虑因素包括例如解析Vox分组95将被发送到的底层地址、任何已 发送的Vox分组的完整性、以及可在整个给定网络或网络的组合上发送的 单个消息的最大传输单元(MTU)的管理的因素。
目标客户机12的地址需要是已知的,以便底层网络将Vox分组95发 送到正确的位址。对于IPv4网络,该地址一般为IPv4地址,其为唯一地 识别网络中的主机的32位数字。对于其它联网技术,该地址可为某个其 它类型的标识符。IP网络使用域名系统(DNS)来将人可读的名称解析成 IP地址,并使用地址解析协议(ARP)将IP地址解析成物理地址。不管底 层联网技术如何,系统10都使用上述或其它已知的编址方案以将Vox分 组95发送到正确的位置。
如同几乎任何基于分组的通信系统一样,如果底层网络不能够发送其 中封装有Vox分组的分组,则所传输的Vox分组可能不被发送到其寄送的 位置。大多数分组网络不通知发送器何时丢下分组。相反,它们依赖于发 送器和接收器来通知并补偿任何丢下的分组。系统10设计成使用这些接 收器接收报告消息以协调此分组丢失管理。如果底层网络能够通知发送者 丢失或丢下的分组,则系统10在其重传协议中利用该信息。
MTU的管理是确定可在整个网络中发送的最大传输单元(即,单个 消息的最大大小)。对于基于分组的网络,底层网络利用MTU。对于电路 交换网络,MTU可为网络效率和性能的可调参数。因此在大多数情况下, 底层网络利用或确定可被有效地传输的Vox分组95的最大大小。例如对 于IP网络,如果有效载荷超过MTU,则分组可被分段,但遭受相当大的 性能损失。对于以太网网络上的IP,传输设备具有1518个字节的MTU, 如以太网所实施的。最大的IP分组必须为以太网首部留下空间。最大的 UDP分组必须为IP和以太网首部留下空间,且可例如在以太网上产生的 最大Vox协议是以太网MTU(1518)-IP首部(20)-UDP首部(8)=1490 个字节。因为Vox协议将具有其自己的首部,实际Vox媒体有效载荷将小 于以太网网络上的1490个字节。对于吉比特(Gigabit)以太网,MTU可大 得多,但将使用类似的规则确定。
在完全基于分组的网络中,有MTU的两个可能的值,本地链路MTU 和路径MTU。确定本地链路MTU产生有效地发送到本地网络接口的Vox 分组的最大大小。路径MTU产生可完整无损地一直发送到远程节点的Vox 分组的最大大小。如果发送者通过以太网被连接,则Vox分组可通过在途 中具有较小的MTU的各种其它系统传递到接收者。到目的地的路径上的 较小MTU需要被发送者解析和知道。在IP世界中,存在用于发现称为“路 径MTU发现”的最小MTU的标准程序。对于其它类型的网络,可使用等 效的程序。再次,因为系统10在其它网络的顶部被分层,可使用上面MTU 算法中的任何一个。
H.操作流程图
H.1存储和流
参考图8A到8F,提供了一系列流程图来示出分别在客户机12和服 务器16上的存储和流模块24和84的操作。图8A示出将消息传输到第二 客户机122的第一客户机121的操作的序列。图8B和8C示出发送客户机 121上的PIMB写入器28和PIMB读出器28的操作。图8D和8E示出接 收客户机122上的PIMB写入器28和PIMB读出器26的操作。图10F示 出服务器16上的存储和流模块84的流程图。
在图8A中,在设备131上运行的客户机121的用户发起待传输的媒体。 媒体可用很多不同的方法被发起于设备13,以便用户通过对着麦克风讲话 而产生媒体或在其设备13上产生视频内容。媒体也可由设备13通过接收 传感器数据例如GPS信息或温度读数而被发起。无论媒体如何被发起,媒 体都被PIMB写入器28(框130)编码,PIMB写入器28将媒体转换成附 有索引的媒体有效载荷,并将其存储在客户机121上的PIMB 30中(框 132)。客户机121上的PIMB读出器26从PIMB 30读出有效载荷,产生 Vox分组,并通过网络18将分组传输到接收客户机122(框134)。沿着发 送客户机121和接收客户机122之间的路径的每个服务器16将所传输的有 效载荷存储在PIMB 85中,并将Vox分组传输到下一中继(框133)。在 接收客户机122,PIMB写入器28的净接收功能将Vox分组转换成附有索 引的媒体有效载荷(框136),并将有效载荷存储在客户机122的PIMB 30 中(框138)。客户机122上的PIMB读出器26的再现模块将从PIMB 30 读取的有效载荷信息再现为适合于人使用的介质例如音频或视频(框 140)。下面关于图10B到10E更详细地描述这些步骤中的每个。
在图8B中,详细提供了由PIMB写入器28执行的编码接收功能序列 (图8A的步骤130)。在初始步骤1301中,运行客户机121的设备13的使 用产生待传输的媒体。如上所述,可通过对着麦克风讲话、使用摄像机接 收传感器数据或通过某种其它媒体产生部件来产生媒体。在下一步骤1302 中,编码接收器28a给媒体编码并产生附有索引的媒体有效载荷(步骤 1303),该有效载荷接着由数据存储器28c储存在PIMB 30中(步骤132)。
在图8C中,详细提供了由客户机121上的PIMB读出器26执行的传 输功能的序列(图8A的步骤134)。在决策环1341中,PIMB读出器26 的传输功能连续检查以查看是否待传输的附有索引的媒体有效载荷被写 到PIMB 30中并可用于传输。如果这样的有效载荷在PIMB 30中可用,则 数据优先器26f使用MCMS参与者属性信息按优先顺序排列应首先被发送 的有效载荷,如在步骤1342中所示的。关于最高优先级有效载荷的信息被 传递到运行PQM的分组优化器模块26g(步骤1343),如下面关于图9A-9C 更详细描述的。适当的有效载荷接着由数据取回器26h从PIMB 30取回(步 骤1344),并由打包器26i转换成Vox分组95(步骤1345)。Vox分组95 接着通过网络18由发送器26j发送到接收客户机122(步骤1346),接收客 户机122发送回反映被接收到的分组的特性(损失、抖动、吞吐量)的接 收报告。这些接收报告给PQM提供计算给定的接收方的MABR所必需的 信息。前述过程对每个传输环重复,如从传输步骤到流程图的顶部的返回 箭头所指示的。
在上述实施方式中,媒体被编码、存储在PIMB 30中,并接着通过网 络以串行方式传输。在可选的实施方式中,被编码的媒体可储存在PIMB 30 中,并通过网络并行地传输,意味着两种功能实质上同时出现。
在图8D中,示出了在接收客户机122上的PIMB写入器28的净接收 功能的序列(图8A的步骤136)。在初始步骤1361中,净接收器28d通过 网络18接收Vox分组95。数据存储器28f将分组转换成附有索引的媒体 有效载荷(步骤1363),这些有效载荷被储存在PIMB 30中(步骤1364)。 当有效载荷被储存时,运行数据质量管理器(DQM)。DQM 28g检查遗失 或破坏的分组,确保所传输的数据的准确拷贝的最终存储,并将关于网络 的条件的接收报告发送到发送器。下面关于图9D到9F更详细地描述DQM 28g的这些功能中的每个。
在图8E中,示出了在接收客户机122上的PIMB读出器26的再现功 能的序列(图8A的步骤140)。在初始步骤1401中,数据优先器26a按优 先顺序排列待再现的附有索引的媒体有效载荷,如由MCMS应用程序20 使用MTSD信息以及包括用户意图和注意力状态的用户状态和在场信息 所确定的。优先的有效载荷接着由数据取回器26b从PIMB 30读取(步骤 1402)。PLC/内插器26c使用已知的分组损失补偿和内插算法,根据使用哪 个编解码器,来对取回的有效载荷执行分组损失补偿和内插(步骤1403)。 在下一步骤中,如果两个或多个参与者同时在同一会话中产生媒体(例如, 都同时讲话),则混合器26d混合会话的多个消息(步骤1404)。再现器26e 从混合器26d再现数据流(步骤1405),为接收的用户产生声音、视频或 其它媒体(步骤1406)。
在图8F中,示出了服务器16从网络18中的前一中继接收Vox分组, 储存、存档并传输Vox分组到下一中继的序列。在初始步骤中,服务器16 执行PIMB写入器的净接收功能(类似于图8D),以将接收到的数据的附 有索引的媒体有效载荷存储在PIMB 85和档案库89或服务器16中。服务 器16也执行PIMB写入器的传输功能(类似于图8C),以将接收到的分组 转发到网络18上的下一中继上。以这种方式,由发送客户机121产生的媒 体的拷贝被接收、存储并沿着到接收客户机122的路径的每个中继被发送。
在前述实施方式中,接收到的附有索引的媒体的记录储存在服务器16 的PIMB 91中,并以串行方式传输到下一中继。在可选的实施方式中,接 收到的附有索引的有效载荷可储存在PIMB 91中,并实质上同时传输到下 一中继。发送和接收设备13的PIMB 30上的媒体的存储都考虑媒体的逐 步传输和再现。在发送侧上,当正接收于发送设备上起源的媒体时,它可 通过网络被逐步发送。在各种实施方式中,在被编码的媒体存储在PIMB 30 中之前、之后或实质上相同的时间,可逐步传输该媒体(而不管它如何被 发起)。在接收侧上,当进入的媒体通过网络被接收时,它也可被逐步再 现,假定用户选择在接近实时的模式中复查媒体。在各种实施方式中,在 进入的媒体存储在接收设备13的PIMB 30中之前、之后或实质上相同的 时间,可逐步传输该媒体。如果接收到的媒体将在时移模式中被复查,则 媒体从PIMB 30被取回(或如果在本地PIMB 30上被代替,则可能为服务 器16上的PIMB 85),用于以后在用户所指定的时间复查。
在本申请的上下文中,术语“逐步的”或“逐步地”意味着被广泛地 解释,且通常意指根据数据的可用性连续处理数据流。例如,当媒体在设 备13上产生或另被发起时,该媒体的逐步编码、存储、打包和传输是连 续的,只要媒体是可用的。当人讲话时,该媒体在人讲话的持续时间内逐 步或连续地被编码、存储、打包和传输。当人暂停或停止讲话时,没有媒 体要逐步处理。当人再次重新开始讲话时,媒体的逐步处理重新开始。在 接收侧上,当媒体被接收时(即,可用),媒体也被逐步处理。在媒体被 接收时,它被连续地存储。当媒体在接近实时的模式中时被接收到或在时 移模式中从存储器接收时,它也将被继续再现。虽然在语音的背景下提供 了上面的解释,应理解,可按类似的方式逐步处理所有类型的媒体。此外, 媒体的逐步处理不一定必须以时间索引的顺序被逐步处理。更确切地,媒 体以其被接收的顺序被处理。如果在一个实施方式中不按索引顺序接收媒 体,则媒体以其被接收的顺序被逐步处理,并接着在PIMB 30中组织成附 有索引的序列。在可选的实施方式中,接收到的媒体可组织成其附有索引 的序列,并接着被逐步再现。
H.2PQM操作流程图
PQM 26g依赖于称为最大可用比特率(MABR)的度量,最大可用比 特率是在发送和接收节点对之间的实际传输容量或带宽(即,在给定时间 点网络的容量的测量)的连续计算的近似。当即时网络条件变化时,MABR 被更新。在计算MABR中考虑网络吞吐量、分组损失和抖动的有规律的测 量。在可选实施方式中,也可根据一天的时刻、网络类型、其它条件或参 数人工设置或限制MABR。
PQM也考虑接收者的意图以优化时间敏感性的传输。如果(i)接收 者的意图是“即时”或在接近实时的模式中复查传输,或(ii)接收者希 望立即复查由于某个原因当前没有储存在其设备13上的消息(例如,消 息以前储存在档案库89中),则传输被认为是时间敏感的。接收者的意图 可通过接收者的行为推断出,或接收者可设置或以其他方式指定其意图。 另一方面,如果接收者的意图是在时移模式中复查消息,则传输被认为不 是时间敏感的。接收者在即时或时移模式中复查传输的意图至少部分地限 定传输的“时间性要求”。在各种其它实施方式中,在限定传输的时间性 要求时也可考虑例如传输的紧急性或优先级的因素。
在发送者和接收者对之间网络路径中的节点也需要关于接收者的意 图状态一致。如果一个目标接收者指示时间性,意味着他们希望立即或即 时复查传输,则在网络上沿着发送者-接收者路径的所有中间节点需要有相 同的时间性要求,而不管其他接收者的要求如何。每个中间节点的时间性 要求因此依赖于传输被发送到的接收节点。这种依赖性对于网络传输路径 中的目标节点有时称为“要求的联合”。
PQM进一步考虑每个被调度的消息有效载荷传输的理想比特率或 “IBR”。对于时间敏感的传输,根据实质上实时或即时通信所需的打包率 来计算IBR(在这里称为实时比特率或RTBR)。例如对于语音,包含20 毫秒的音频数据的每20毫秒分组的打包率被认为是用于进行即时会话的 可接受的IBR。以每秒千比特为单位的这样的系统的RTBR将是音频有效 载荷数据的1秒的大小加上将为传输而产生的所有网络首部的大小。对于 视频媒体或语音和视频的组合,RTBR可能实质上高于简单的语音。对于 其它类型的媒体例如传感器或GPS定位数据,RTBR可能低于语音的 RTBR。对于非时间敏感的传输,IBR被设置到最大效率比特率(MEBR) 以优化网络上传输的使用或效率。通过将打包率调节到底层网络的最大可 能的值来计算MEBR。如果多个消息或有效载荷在发送和接收对之间被发 送,则对传输考虑综合IBR(AIBR)。
对于每个发送和接收对,PQM通过在一系列传输环中发送数据来操 作。每个发送和接收对的传输环是独立的。在网络上的任何传输可能影响 其它发送-接收对的MABR。因此,优选地为所有接收者连续计算MABR。
参考图9A到9C,示出了说明对单个发送和接收对的PQM的操作的 序列。在图9A中,示出了在确定单个发送和接收对之间的MABR中的步 骤。在图9B中,示出了说明用于对单个发送和接收对计算每个传输环的 AIBR的步骤。在图9C中,示出了用于确定要在每个环的发送和接收对之 间传输的数据的数量的序列。在这三个图中示出的过程同时运行并彼此进 行交互作用,如下面更详细描述的。
在图9A中,示出了用于为发送和接收对之间的网络接口计算MABR 的流程图50。在初始步骤501中,监控发送和接收对之间的网络接口。发 送者周期性地接收报告,其包含关于在步骤502中在接收方处的网络连接 的状态的信息。报告包括关于数据吞吐量503、分组损失504和抖动505的 当前状态的信息,如由接收方在网络接口处观察到的。在步骤506中,根 据包含在报告中的这些观察资料在发送方计算MABR。通过监控或观察在 这些报告中的数据,根据发送和接收对之间的当前网络容量或条件来连续 调节MABR值。当网络容量变得对数据传输更有利时,MABR将增加。 如果网络容量对传输变得较不利,MABR将减少,对于不稳定的网络可能 一直到减少零。这些报告类似于TCP网络中的节点产生的分组损失报告, 但也额外地包括吞吐量和抖动信息。
如果在发送和接收对之间有几个网络接口,则为每个接口计算 MABR,对该接口接收到接收报告。如果在网络上最近没有发送业务,或 没有接收到接收报告,则MABR可能不反映当前的网络条件。然而,因为 当数据被传输时接收报告由接收方连续产生,发送方的MABR度量将快速 收敛到更精确的值。
参考图9B,其示出说明用于为传输环计算AIBR的步骤的流程图52。 在初始步骤521中,确定对于准备在当前环中的发送和接收对之间传输的 媒体的消息(据此,我们意指属于该消息的附有时间索引的媒体的部分)。 接着建立对于媒体的消息的列表522。对于列表中的每个消息523,考虑每 个消息的时间敏感性或时间性要求524。如果特定的消息不是时间敏感的, 则IBR被设置到最大效率比特率(MEBR)525。另一方面,如果消息是时 间敏感的,则IBR被设置到实时比特率(RTBR)526。在下一步骤527中, 以前为列表中的每个消息计算的IBR被汇总在一起,产生传输环的综合理 想比特率(AIBR)528。如返回箭头所表示的529,上述过程对发送和接收 对之间的每个传输环重复。
参考图9C,其示出说明用于确定要在每个传输环的发送和接收对之间 传输的数据率的序列的流程图54。在初始步骤541中,对于下次传输,比 较MABR(如在图9A中计算的)与AIBR(如在图9B中确定的)。
如果MABR大于或等于AIBR,则被识别为准备好在环中传输的所有 消息以IBR率被打包542并传输543。
另一方面,如果MABR小于AIBR,则应用一系列程序,使得PQM 满足数据的充分拷贝的及时发送、可用带宽的有效使用、和/或对有效载荷 内容和质量、分组大小和传输率的调节的其目标,以满足当前的网络条件。
在初始步骤中,为时间敏感性复查列表中的消息544。如果没有时间 敏感的消息,则比特率减小到MABR545,且消息被传输543。
如果列表包括时间敏感的消息,则为非时间敏感的消息分配的比特率 减小546,直到它满足MABR限制。如果将比特率一直减小到零不足以满 足MABR,则这些非时间敏感的消息从在环中待传输的消息的列表中被移 除。如果比特率减小,使得它小于或等于MABR,则剩余的消息被打包和 传输543。
如果非时间敏感的消息的移除不足以满足MABR,则使用另一程序, 其涉及对剩余的时间敏感的消息使用较低质量编解码器547。通过在传输 环期间发送较少的比特来试图尽快传输有效载荷数据。换句话说,通过降 低有效载荷的质量,传输在给定的一段时间发送较少的比特。在各种实施 方式中,可使用不同的编解码器,每个编解码器具有不同比特率对质量折 衷。如果较低质量的编解码器的使用足够,意味着满足MABR限制,则消 息被发送543。
如果较低质量编解码器的使用不满足MABR,则时间敏感的消息的打 包间隔增加548。对于该程序,首部与有效载荷比增加了,这降低了总比 特率,但引入等待时间(即,在传输到接收者的发送中的延迟)。如果该 程序导致AIBR减小到小于或等于MABR,则传输发生543。
如果在改变打包间隔之后,仍然不满足MABR,则比特率可逐渐降低 到在MABR限制内549。当比特率以这种方式降低时,时间敏感的消息以 不足以维持即时会话的速率被发送。因此,会话被强制脱离“即时”。如 果网络出故障或条件非常差,则可能没有数据传输发生。再次,前述序列 对发送和接收对之间的每个传输环重复5410。
如果在发送和接收对之间有多个网络接口,则对接收报告可用的每个 接口执行关于图9C描述的序列。在各种实施方式中,发送方可包括在多 个接口中分配传输载荷的逻辑。在不同的例子中,有效载荷可只在一个接 口上发送,而在其它实施方式中,可使用一些或全部接口。
前述描述涉及系统10中的任何发送和接收对。在大部分情况下,发 送和接收对将分别包括客户机12、启用的设备13和服务器16、两个服务 器16、服务器16和启用客户机12的设备13,或甚至可能两个客户机12。 如果发送节点同时向两个(或多个)接收节点传输,则关于图9A-9C描述 的上述序列对每个接收-发送对同时发生。
H.3DQM操作流程图
DQM 28g确定在客户机12接收到的数据是否被破坏或是否有遗失的 分组。此外,接收客户机12的DQM 28g产生接收报告,其被发送回网络 上的传输节点。DQM 28g也运行后台过程以确保所传输的数据的准确拷贝 最终被接收和存储。下面分别在图9D到9F中描述了这些功能。
参考图9D,其示出说明用于检查遗失的和/或破坏的数据的DQM 28g 的操作的流程图。在初始步骤561中,DQM 28g使用公知技术例如CRC 或类似的完整性检查机制检查破坏的分组。如果分组被破坏,则分组被视 为遗失的562。DQM 28g接着确定任何分组是否是遗失的563。如果在预定 的一段时间之后没有接收到失序分组,则假定它为遗失的。DQM 28g记录 DNQS 32中任何破坏或遗失的分组564。另一方面,如果没有检测到破坏 或遗失的分组,则DQM 28确定是否为了节省带宽的目的,接收到的数据 的质量被发送者故意降低565。降低的质量被记录在DNQS 32中566。不 管接收到的数据的质量是否降低,数据的接收信息(例如,分组序列号、 时间戳、和分组将被发送到的网络中下一节点的网络地址)被储存在DNQS 32中567。前述过程连续地重复,如到流程图的起始处的返回箭头所表示 的。
作为图9D中详述的过程的结果,关于未降质的分组的接收的信息、 降低质量的分组的缺陷以及遗失的分组都存储在DNQS 32中。当媒体被接 收到时,DNQS 32维持关于媒体的状态的最新消息。
参考图9E,其示出说明DQM 28g的接收报告产生功能的操作的流程 图。在初始步骤中,DNQS 32被周期性地扫描581,以确定是否有接收报 告需要被产生的任何媒体582。如果答案是否定的,则上面的扫描过程重 复。另一方面,如果媒体被识别出,则该过程确定媒体是否是时间敏感的 583,意味着用户打算复查媒体实况或用户希望立即复查没有储存在其设备 13上的媒体。
如果不是时间敏感的,则接收者通知发送者将重传优先级(如下定义 的)设置为低584。如果是时间敏感的,则考虑分组丢失的量585。如果分 组丢失的量在可用质量范围之外,则重传优先级被设置为高586。如上所 述,如果分组丢失的量太大,则接收者可能不能够在接收到媒体时复查媒 体。如果质量在可接受的范围内,意味着传输的质量足以使其在再现时可 被理解,则用于发送接收报告的优先级被设置为低584。不管接收者是否 在接收到时复查,都发送接收报告587,DNQS 32被更新588,且网络质量 管理器(NQM)28h被更新589。在步骤584定义的重传请求因此是以时间 敏感性为条件的。在步骤586定义的重传请求是以时间敏感性和质量为条 件的。
重传优先级通知发送者的PQM 26g适当地按优先顺序排列需要重传 的媒体的传输率。例如,当重传优先级被设置为高时,则发送者的发送PQM 26g应在任何新媒体之前发送任何重传。如果优先级低,则PQM 26g应在 任何新媒体之后发送重传的媒体。
前述过程连续地重复,以便在媒体被接收到时产生接收报告。如果发 送者没有以及时的方式接收到接收报告,则发送者的PQM 26g将减小传输 率,如果没有接收到接收报告就最终停止传输。
参考图9F,其示出说明用于请求遗失或降质的媒体的序列的流程图。 在初始步骤601中,周期性地扫描DNQS 32寻找遗失或降质的媒体602。 如果没有遗失或降质的媒体,则上面定义的扫描周期性地重复。
如果在预定阈值的时间段之后失序分组没有到达,则媒体被认为是遗 失的603。如果分组在阈值之前到达,则不再认为它是遗失的。另一方面, 如果在超过阈值之后,分组没有到达,则它被认为是遗失的。由于遗失的 分组,产生用于重传的低优先级的请求604,且请求的时间被记录在DNQS 32中605。该过程重复,直到接收到遗失的分组。当遗失的分组到达且相 应的媒体在PIMB 30中可用时,从DNQS 32移除媒体的遗失状态。因此, 在步骤604中定义的重传请求是以媒体是否被确定为遗失为条件的。
如果被降质,则DQM 32确定媒体是否是即时会话的部分606。如果 不是,进行对降质的媒体的完全质量拷贝的请求607,完全质量的媒体被 指定为遗失的608,并在DNQS 32记录请求时间609。如果媒体是即时会 话的部分,则不立即采取行动,以便保存网络带宽。当会话转变到即时模 式之外时,则执行步骤607到609以确保降质的媒体的完全质量(即,准确 的或完美的)拷贝最终被接收到。当数据在接收客户机12的PIMB 30中 变得可用时,相关媒体的降质状态从DQNS 32移除。在步骤607中定义的 传输状态是以媒体是否被降质且不是即时会话的部分为条件的。
前述过程连续重复,如在601从605和609到流程图的顶部的返回箭头 表示的。通过重复图9F中概述的过程,所有被传输的媒体的准确拷贝被 储存在接收设备13的PIMB 30中。以这种方式,在接收设备13保证被传 输的媒体的准确拷贝的储存。
I.图形用户接口
参考图10,其示出运行客户机应用程序12的示例性设备13。设备13 包括图形用户接口显示器110、数据输入按钮、键或键盘112、麦克风114 以及用于将电信号转换成声音的变换器116,例如扬声器。显示器110也 可作为触摸屏接收输入。进一步地,使用触摸屏接口可合并显示器110和 键盘112。如上所述,设备13可以是多种不同的通信工具,例如桌面型计 算机、膝上型或其它移动计算机、个人数字助理、可编程固定电话或蜂窝 电话、或可编程无线电装置、或几乎任何其它类型的可编程通信设备。在 以下的意义上附图所示的示例性设备13意指是“一般的”,即,它被认为 表示或包括上面列出的所有通信设备。此外,术语“图形”用户接口不应 被解释为限制性的。可在设备13上实现的、也包括音频/DEMF接口、语 音用户接口(VUI)、音频转换接口或其组合的其它类型的用户接口可都用 于实现下面描述的各种功能。为了简单起见,用户可与其设备13进行交 互作用的这些类型的方法中的每种通常都称为“用户接口”。
所有的设备13不管其类型如何都优选地具有使用户能够操作设备13 并与系统10中的其它用户进行通信的用户接口。虽然用户接口可设计成 有实质上无限数量的不同外观和感觉实现,但存在所有设备13应共同具 有的某些功能和特征。下面列出这些功能和特征。
用户接口优选地包括下列状态指示器或标记中的一个或多个:(i)电 池指示器;(ii)连通性指示器;(iii)时钟;(iv)发送器状态;(v)传输 同步状态;(vi)复查状态;(vii)需要关注的优先级消息;以及(viii)遗 失的消息。
用户接口优选地包括下列功能、标记和要素来进行和管理单个会话: (i)会话的名称和/或参与者的列表;(ii)会话状态;(iii)会话类型;(iv) 会话持续时间;(v)在会话首部之后的时间;(vi)未完成的消息;(vii) 参与者的在场/状态;(viii)具有导航信息的元数据;(iix)会话属性或标 志符;(ix)包括标题、计划表、参与者、会话概述的会话结构;以及(v) 显示哪些参与者贡献消息以及哪些参与者听或复查消息的指示符。
除了上面直接列出的那些以外,用户接口还优选地包括下列功能、标 记和要素来进行和管理多个会话:(i)每个会话的名称/标识符;(ii)即时 /活动的或常设(standing)/不活动的指示符;(iii)在首部处或时移的复查位 置;(iv)优先级和其它属性;以及(v)会话的什么部分被遗失的指示符。
用户接口还优选地包括很多导航特征,例如:(i)每个会话的DVR型 快速后退/前进;(ii)即时消息型的个人消息导航;(iii)会话时间指示符; (iv)时标(time scale)移动(即,通过会话的一个或多个消息的快速向前或 向后);(v)会话的变化的优先级;(vi)中止(hang up);以及(vii)始位 (home)。
前述功能和特征可用各种方式实现,例如使用触摸屏图形用户接口 110,或其它输入设备例如数据输入按钮、键或键盘112、鼠标、通过语音 激活的命令或其组合。同样,在上面列出的功能和特征以及如何实现它们 不意味着是无遗漏的。可使用的各种方法和技术是如此广泛,以至于在这 里全部列出或讨论它们是不实际的。
J.会话
MCMS应用程序20支持很多不同类型的会话,例如接近实时或“即 时”呼叫,其中从参与者讲话以及其它参与者听到第一参与者时开始的延 迟非常小;参与者以较长的延迟在消息之间来回交换语音消息的会话;涉 及多个用户的“即时”会议呼叫;在有规律的调度时间的常设会议呼叫; 或可配置的有组织的呼叫类型例如同时总结,其中每个参与者都预先留下 消息简介,以让其他人在每个人参加即时会议呼叫之前复查。MCMS应用 程序20的又一独特的属性是用户在不同类型的会话之间转换的能力。例 如,参与者可无缝地从语音消息模式转换到即时呼叫并再次转换回来。或 者即时会议呼叫的参与者可转换到语音消息模式并在会议呼叫之后彼此 发送更新或行动项目。虽然提到了一些例子,但应理解,系统10非常灵 活并提供在不同类型的呼叫或会话之间以及在多个会话之间转换的很多 选择。通过改变消息之间的延迟,参与者有效地在最适合其需要的会话类 型之间转换。上面的例子因此不应被解释为限制性的。
如上所述,会话由在其原始上下文和序列中保持的消息组成。被发送 的消息属于现有的会话或开始的新会话。一般会话包括围绕所限定的主 题、话题、时间、组或信道组织的一组消息。例如,会话可涉及共用一组 人群,例如俱乐部的成员,公司可在固定的时间有常设的会话,例如每周 销售会议,或朋友可以有关于各种话题的特别会话,例如制定晚餐计划。
每个会话由一组属性限定,包括名称、参与者的列表、开始和结束时 间、以及至少包括未决、现行或终止的状态。在其它实施方式中,其它会 话状态是可能的。用户与其设备13上的MCMS应用程序20进行交互作 用。在优选实施方式中,接口允许用户通过各种属性中的任何一个组织会 话。
参与者和会话之间的关系也具有属性。这些属性包括但不限于优先 级、状态(参与者在会话中的状态)。参与者状态的值包括活跃的、一次 参与多于一个的会话、在时移模式中复查会话、跟上即时、被动地参与(即, 不主动复查,而是接收高优先级的消息)、等待(standby)、或忽略会话(即, 拒绝参与或记录会话)。
从接收者观点来看,用户可选择或限定消息的相对优先级。例如,来 自某人的老板的消息一般被给出比社会上的熟人高的优先级。在一些实施 方式中,接收者有设置其自己的优先级的能力。在MCMS-C的实现方法 中,用户选择其会话的子集被连续再现。用户接着为这些会话设置有次序 的优先级。系统使用用户设置的优先级来给待再现的消息排序。前述算法 使用用户优先级和关于可用消息数据的信息(超出MTSD)来给待再现的 消息排队。
在其它实施方式例如战术通信中,接收者可能没有设置优先级的能力 或者有受限制的设置优先级的能力。例如,消防员可能没有降低来自消防 队长的消息的优先级的能力。然而发送用户有发送紧急或高度重要的消息 的能力。通过将消息标记为紧急的或危急的,消息在接收者处被尽快再现, 不考虑接收者的任何优先级设置。根据预定的优先级方案来解决多个紧急 消息中间的任何冲突。
K.MCMS操作
参考图11A,其示出将MCMS应用程序20的主要功能分组的组织图 1100。主要功能包括账户管理1102、会话管理1104、综合会话列表管理 1106、会话参与1108、呼叫控制1110和联系人管理1112。在注册并登录 到系统10中之后,用户可在实现下面详细描述的各种管理功能的设备13 的用户接口中导航。在一些实施方式中,该功能将提供极大的灵活性。在 其它实施方式例如战术或通信无线电装置中,用户接口的实现可用很多用 户功能和预先配置的选项被限制,以满足设备的效用。这里的讨论是示例 性的,且不意味着是MCMS功能的无遗漏的解释,而更确切地意味着仅 仅提供一些MCMS属性的概述。
K.1账户管理
在账户管理功能1102中,注册用户可改变某些设置和偏好。用户可改 变其电子邮件地址、口令、名字、电话号码、电话口令、呼入号码、默认 和/或用户定义的再现速度、标记、用于复查消息的增益或音量水平、跟上 即时模式等。为了进行这些变化,用户通过其设备13的接口110输入适当 的信息。MCMS应用程序20通过将更新的偏好写入MCMS数据库22中 来作出反应。
K.2会话管理
如图11B所示,会话管理1104是一组功能,其允许用户观看其综合 会话列表、创建新的会话、更新会话的细节、删除会话和选择会话。下面 描述这些功能中的每一个。
观看会话1104a-对每个会话,MCMS应用程序20可给用户提供下列 属性中的一个或多个:会话的名称、实际开始时间、最后的活动状态、标 记、持续时间、参与者的列表。对于每个参与者,名字和/或电话号码、状 态(即时、其它呼叫、在过去、跟上模式、离线-可到达、离线-不可用)。
创建会话1104b-用户通过输入会话名称、联系人的列表和可选的预 定开始时间经由接口110来创建会话。如果没有指定开始时间,则假定开 始时间是立刻。作为响应,MCMS应用程序20在数据库22中创建新的会 话,关联联系人列表上每个参与者的记录。MCMS应用程序20也在数据 库22中为联系人列表上的每个用户创建参与者记录,允许呼叫者接收联 系人列表上的其他人的在场信息。如果会话被调度,则MCMS应用程序 20在指定的时间开始会话。否则,会话立刻开始。
更新会话细节1104c-用户可通过用户接口110对会话进行改变。例 如,可添加或移除参与者。参与者的状态的任何变化在MCMS数据库22 中被更新。
删除会话1104d-用户可通过接口110从会话列表删除特定的会话。 作为响应,MCMS应用程序20记录数据库22中的变化,并将会话指示为 被删除的。
关闭会话1104e-用户可选择终止或关闭会话。在一个实施方式中, 只有创建会话的用户可选择终止该会话。
K.3综合会话列表管理
如图11C所示,综合会话列表管理1106是允许用户参与多个会话(即, 用户的综合会话列表)的一组功能。综合会话列表管理功能允许用户通过 其设备上的接口110来“即时”参与一个会话,同时在时移模式中参与其 它会话。
选择会话1106a-通过接口110,用户可在用户的综合会话列表中选择 一个会话作为当前的。当前会话的消息可在“即时”或时移模式中再现。 用户可在综合会话列表中不时地转换会话。
转换会话模式1106b-在可选的实施方式中,用户能够从MCMS、 MCMS-C和MCMS-S操作模式转换。
K.4会话参与
如图11D所示,会话参与1108是一组功能,其允许用户开始会话、 接收加入会话的通知、获得会话状态信息并中止会话。
开始会话1108a-在由用户通过接口110或由MCMS应用程序中的调 度程序创建会话之后,检查每个参与者的状态。如果参与者是离线的,则 努力联系这个人。如果参与者离线但参与另一会话,则MCMS应用程序 20通知该参与者。所有在线参与者的在场状态在数据库22中被更新。
接收通知1108b-系统可借助于用户接口110通过图形显示和/或可听 得见的通知来通知用户其被请求对会话的注意。
会话状态1108c-用户可通过其设备13的接口110请求会话的状态。 作为响应,MCMS应用程序20集合储存在数据库22中的状态信息,并将 信息显示给用户。
会话暂停1108d-通过用户接口110,用户可中止活跃的会话或从活跃 的会话转换。作为响应,MCMS应用程序20对数据库22中的活跃会话更 新用户的参与状态,并指导存储和流模块24将用户从会话移除。
K.5会话控制
如图11E所示,会话控制1110是允许用户控制其在会话中的参与的 一组功能。这些功能允许用户跟上即时,跳到首部,跳到过去的位置、暂 停、当复查会话的消息时播放加快和播放减慢。这些功能中的每个通过设 备13上的接口110由用户触发。
跟上即时1110a-用户可在正在进行的会话中使用“CTL”功能跟上 即时。当该功能被激活时,MCMS应用程序20检查用户已复查的会话中 的最后一个点,并使用用户指定的比正常再现选项更快的选项来指导存储 和流模块24再现以前没有听到的消息,以及当它到达首部时无缝地转换 到即时模式。
跳到首部1110c-该功能使用户能够跳到会话首部,略过会话中的用 户的当前点和首部之间的任何介入的消息。当被实现时,MCMS应用程序 20指示存储和流模块立即在会话首部再现消息。(如果会话首部当前是活 跃的,这叫做跳到即时(JTL)。)
跳到过去1110d-该功能使用户能够跳回到会话中前面的消息或点, 类似于倒带或重放功能。当被实现时,MCMS应用程序20指示存储和流 模块24再现从倒带点开始的媒体。
暂停1110e-该功能使用户能够暂停会话消息的复查。作为响应,存 储和流模块24停止消息的再现,直到另一命令被发出。
播放加快1110f-该功能使用户能够更快地再现消息。作为响应,存 储和流模块24以比正常更快的速率再现消息。再现速率可由用户指定或 用户可从很多预设的选项选择。
播放减慢1110g-该功能使用户能够更慢地再现消息。作为响应,存 储和流模块24以比正常更慢的速率再现消息。再现速率可由用户指定或 用户可从很多预设的选项选择。
K.6联系人管理
如图11F所示,系统10给用户提供了用于管理联系人列表和用户组 的很多功能。这些功能包括添加、编辑、删除联系人和用户组。这些功能 中的每个由用户通过其设备13的接口实现。在用户的联系人列表或组列 表中的任何修改或删除被储存在MCMS数据库22中。
添加联系人1112a-该功能使用户能够将新的联系人添加到其联系人 列表。新的联系人可为注册用户或外部联系人。一般为每个联系人记录提 供名称、电话号码、号码类型(手机、办公室、家庭、计算机等)、电子 邮件地址和其它个人信息。
编辑联系人1112b-该功能使用户能够编辑或更新现有的联系人记 录。
删除联系人1112c-该功能使用户能够移除或删除现有的联系人记 录。
搜索联系人1112d-该功能使用户能够在其联系人列表中搜索特定的 联系人。可使用很多标准例如名字、电话号码、最近被呼叫、最频繁地被 呼叫、组等来进行搜索。
获得参与者列表1112e-该功能使用户能够按很多不同的搜索标准搜 索和取回会话的参与者的列表,所述搜索标准包括例如按名字、最近向外 的呼叫、最近进入的呼叫、最频繁的呼叫等。
授权呼叫者复查状态1112f-该功能使第一用户能够授权其它用户观 看第一用户的状态。非授权用户不能观看第一用户的状态。
创建联系人组1112g-该功能使用户能够将联系人的号码关联到组。 当用户定义组时,该组中的联系人的列表存储在MCMS数据库22中。
编辑联系人组1112h-该功能使用户能够编辑组或更新组的成员的联 系信息。
删除联系人组1112i-该功能使用户能够删除组。
L.MCMS操作
L.1MCMS-C
如上所述,MCMS-C操作类似于MCMS,具有使用户能够通过消息 的时移和优先级分级系统来连续管理和参与多个会话的增加的特征,这些 消息由系统自动管理。实现MCMS-C功能包括三个基本过程。如图12A 所示,第一过程涉及为连续再现限定一组会话。一旦限定了该列表,分级 的优先级组和其它因素就应用于与该组会话相关的附有索引的媒体有效 载荷。附有索引的媒体有效载荷接着按先后顺序被排列。通过按先后顺序 再现媒体,该组会话的消息被连续再现。
参考图12A,其示出说明用于规定要连续再现的会话的列表的步骤的 流程图。在初始步骤1202中,规定用户的综合会话列表。用户或预配数 据(步骤1204)接着用于选择综合列表中的会话,用于连续的再现(步骤 1206)。对于例如战术通信系统,通常,预配数据用于强制会话被连续再 现。对于非战术应用程序,用户一般被提供高度灵活性来选择用于连续再 现的会话。
参考图12B,其示出说明用于规定分级的优先级组以再现连续会话的 消息的步骤的流程图。在初始步骤(1208)中,一组优先级规则被定义并 应用于将被连续再现的会话的列表(1206)。在各种实施方式中,该组优 先级规则范围可从严格的分级通信协议到高度灵活的通信协议。例如在经 常希望有严格的分级的战术通信系统中,这组优先级规则将优选地以并行 消息被再现的特定顺序来强加。例如,对于第一反应人员战术系统,可给 来自消防队长的消息最高优先级。可给燃烧的建筑物内的消防员下一级优 先级。在下一级,可给建筑物之外的消防员优先级。通过规定严格的优先 级,监督灭火成效的人或处于危险中的人的当前消息先于起着不太重要的 作用的人而被再现。使用非战术通信,可给用户极大的灵活性来定义其自 己的优先级方案,以满足个人需要。销售经理可例如规定优先级方案,其 列出与从最重要到最不重要的客户的连续会话。或者用户可在家庭和朋友 中间按优先顺序排列连续消息。不管所使用的方案如何,都在此过程中定 义连续会话的优先级列表(步骤1210)。
参考图12C,其示出说明从不同的连续会话接收到的消息的队列的结 构的流程图。在初始步骤中,为每个将被连续再现的会话连续检测消息的 未再现的附有索引的媒体有效载荷(即,流媒体)的可用性(步骤1212)。 优先级分级应用于可用的附有索引的媒体有效载荷流(步骤1214)。至少 部分地根据优先级分级和可能如下所述的其它参数,可用的附有索引的媒 体有效载荷布置成连续的顺序(步骤1216)。附有索引的媒体有效载荷接 着以先后顺序被连续再现(步骤1218)。通过连续地重复上述过程,多个 会话的消息被连续再现。
在一个实施方式中,先后的顺序部分或全部基于优先级分级。在可选 的实施方式中,除了分级和可用性以外,也可考虑其它参数。例如,使用 一个或多个参数,例如,与中断附有索引的媒体有效载荷的当前再现的流 以及高优先级会话的附有索引的媒体有效载荷有关的转换成本、附有索引 的媒体有效载荷的可用流的质量、附有索引的媒体有效载荷以打乱的顺序 或从系统的控制器的输入被接收的相对时间,可定义先后的顺序。
一般当不同会话的消息之间的冲突出现时,按先后顺序再现附有索引 的媒体有效载荷,同时暂停或延迟其它可用的附有索引的媒体有效载荷的 再现。当没有冲突时,附有索引的媒体有效载荷在变得可用时被立即再现。
在又一实施方式中,可在时移模式中可选地复查连续再现的会话的消 息。如果第一通信设备的用户产生与连续再现的会话相关的媒体,则该媒 体附有索引并储存在设备的PIMB 30以及网络上的服务器16的PIMB 85 中。因此当在时移模式中复查会话时,用户选择只复查与会话相关的进入 的消息,或复查进入的消息以及与会话相关的第一用户以时间索引顺序创 建的媒体。
L.2MCMS-S操作
在MCMS-S或同时模式中,启用客户机12的设备13的用户可限定一 组会话用于同时再现。一旦限定了该组会话,就在设备13上同时再现与 该组会话相关的附有索引的媒体有效载荷,而不管它们是否交迭。在可选 的实施方式中,用户可以可选地从一组媒体流分开地再现接收到的附有索 引的媒体有效载荷。也可以可选地在接近实时或时移模式中再现同时会话 的附有索引的媒体有效载荷。
L.3MCMS、MCMS-C和MCMS-S实例
在图13A到13D中,示出了说明会话的属性以及MCMS、MCMS-C 和MCMS-S的操作的一系列图。
在图13A中,时序图示出在用户“X”和标为“Y”和“Z”的两个其 他用户之间再现标为“A”的会话的消息的附有索引的媒体有效载荷的序 列。在本例中,媒体由用户Y在t1、t5、t6、t7和t9所标明的时间间隔期 间产生。媒体由用户Z在t3、t6和t9到t10所标明的时间间隔期间产生。
在附图底部示出在用户X的设备13处的再现序列。在时间间隔t1、 t5和t7期间,只再现从Y得到的媒体。在时间间隔t3和t10期间,只再 现从Z得到的媒体。在时间间隔t6和t9期间,再现从Y和Z两者得到的 媒体。在时间间隔t2、t4和t8期间,不再现任何媒体,因为用户Y或Z 都不在这些时期期间产生媒体。应注意,时间间隔t1到t10并不是意味着 表示固定的时间间隔,而更确切地,仅仅是产生媒体的时间段。
图13A的图示在说明会话的属性时是有用的。当一个用户(Y或Z) 正产生媒体时,该媒体在X的设备13处被接收到,并可用于再现。当用 户X和Y都产生媒体时,两个媒体流都在X的设备13处被接收到,并可 用于混合。当用户X或Y都不产生媒体时,没有媒体在X的设备13处被 接收到。如上所述,用户X可选择以接近实时模式或时移模式复查在会话 A期间产生的媒体。此外,用户X可选择复查以所示的混合格式的媒体或 在时移模式中分开地复查来自Y和Z的媒体。
图13B示出MCMS的操作。在本例中,用户正参与被指定为A、B 和C三个会话。对于会话A、B和C,用户分别产生或接收所指定(分别 是A1、A2、A3和A4、B1、B2和B3以及C1和C2)的消息。每个消息 的计时和持续时间由沿着时间线的起始点指示。在本例中,除了消息B2 以外,所有的消息都在某种程度上在时间上交迭,注意到此是有用的。
对于MCMS应用程序,用户选择一个会话作为当前会话。对于选定 的会话,用户可复查进入的消息并产生被传输到会话的其他参与者的消 息。在本例中,用户按顺序分别选择会话B、C和A为当前的。消息序列 因此最初是B1、B2和B3,后面是C1和C2,接着最后是A1到A4。再 次,当特定的会话被选择为当前的时,用户可在接近实时和时移模式之间 转换并转换回来。该图所示的最后的再现不意味着相应于该图的顶部部分 所示的接收到的消息的计时。更确切地,该图的下部部分用来根据用户所 选择的会话顺序只显示消息的再现顺序。
图13B的例子因此在说明MCMS应用程序的属性中是有用的。用户 将一个会话选择为当前的。其它会话暂停。用户也可在所有会话中在任何 时间转换当前的会话。
参考图13C,其示出说明MCMS-C的操作的图。在本例中,用户参与 两个连续的会话A和B。对于会话A,接收到三个消息A1、A2和A3。 对于会话B,接收到三个消息B1、B2和B3。对于本例,消息B1与消息 A1冲突,注意到此是有用的。此外,会话A具有比会话B高的优先级。
在两个会话的连续再现期间,较高优先级的消息A1和A2首先接近实 时地被再现,如附图中的垂直虚线表示的。因为在消息A2和A3之间有相 对大的时间间隔,该间隔通过时移和再现消息B1和B2来填充。当A3到 达时,它接近实时地被再现,而消息B3只在较高优先级的消息A3被再现 之后才被再现。通过在较高优先级消息之间时移地再现优先级较低优先级 的消息,可管理连续的多个会话。应注意,在这个简单的实例中,优先级 是用于确定再现的连续顺序的唯一参数。如上所述,也可使用很多其它参 数。
参考图13D,其示出说明MCMS-S的图。在本例中,用户参与三个同 时的会话A、B和C。对于在该图中示出的每个会话A、B和C,分别接 收消息A1、A2和A3、B1、B2和B3以及C1和C2。对于MCMS-S,进 入的消息在被接收到时在接收设备13处被再现。如在该图的下部部分所 示的,三个会话A、B和C的消息的再现顺序因此与消息被接收时相同。 以这种方式,可同时再现多个会话。
在前述实例中,描述了MCMS应用程序的几种变形,包括MCMS-C 和MCMS-S。不管所使用的MCMS应用程序的特定类型如何,它们都共 享几个共同的特征。在每种情况下,会话由消息的被连接的顺序或组织限 定。消息从媒体流分割,每个消息被给出顺序标识符,并以创建媒体的时 间编索引。根据MCMS应用程序的变形,可根据一个或多个再现选择来 再现消息。再现选择使用从零到多个不同的属性,包括以一种形式或另一 种形式来过滤、分组、交迭和/或顺序化消息。以这种方式,可在单个启用 客户机12的设备13上进行多个会话,每个会话包括一连串消息。最后, MCMS的每个变形可用相同的方式处理中断消息的接收。当接收到中断消 息时,它一般优先于其它消息,并在属于其它会话的其它消息之前被再现。
M.客户机和服务器硬件
参考图14A,其示出说明用于储存并执行客户机应用程序12的设备 13的硬件的结构图140。硬件包括CPU 142、主存储器144和大容量存储 器146。如在本领域中公知的,客户机应用程序12被装入和储存在主存储 器144和大容量存储器146中,并由CPU 142执行。
参考图14B,其示出说明用于储存并执行服务器应用程序78的服务器 16的硬件的结构图150。硬件包括CPU 152、主存储器154、大容量存储 器156和档案库89。如在本领域中公知的,服务器应用程序78被加载和 储存在主存储器154和大容量存储器156中,并由CPU 152执行。如上所 述,一个或多个用户的附有索引的媒体有效载荷储存在档案库89中。
虽然为了方便,上面以单数形式描述了很多部件和过程,但本领域的 技术人员应认识到,多个部件和重复的过程也可用于实践这里所述的系统 和方法的技术。进一步地,虽然参考其中的特定实施方式特别示出和描述 了本发明,但本领域技术人员应理解,在所公开的实施方式的形式和细节 中可进行变化,而不偏离本发明的实质或范围。例如,本发明的实施方式 用于各种部件,且不应被限制到上面提到的部件。因此,这意味着本发明 应被解释为包括落在本发明的实质和范围内的所有变形和等效形式。