VoIP客户信息
背景
一般而言,因特网电话系统为用户提供了拥有一呼叫连接的机会,该呼叫连接与常规的基于公共交换电话网(PSTN)的电话系统相比具有增强的呼叫特征。在通常被称为网际协议语音(VoIP)的典型因特网电话系统中,音频信息被处理成称为分组的数据块序列,以便利用网际协议(IP)数据网络进行通信。在VoIP呼叫对话期间,数字化的语音被转换成小的语音数据帧并通过向发送和接收的语音数据帧添加IP头部来组装语音数据分组。
VoIP电话受到大家喜爱是因为其通信的灵活性和可移植性、建立和控制多媒体通信的能力等。由于其提供传统电话技术不能够提供的增强的呼叫特征和高级服务的能力,VoIP电话将可能继续得到偏爱。然而,现有的VoIP方法未提供用于询问涉及位置的上下文信息或通过VoIP对话获得这种上下文信息的方法。
概述
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征,也不旨在用于帮助确定所要求保护的主题的范围。
提供了用于收集并向VoIP客户或其它服务提供方提供所需信息的方法和系统。接收并处理信息询问以标识将被发送到信息询问方的适当的上下文信息。例如,可以接收对VoIP客户的位置信息的询问并收集和提供涉及该VoIP客户的位置的上下文信息。在标识了该适当的上下文信息时,确定适用于提供该适当的上下文信息的源。通过利用各种途径,从该源获得该适当的上下文信息。所获得的适当的上下文信息被提供给VoIP客户。
根据本发明的一方面,提供了一种用于通过呼叫客户和被呼叫客户之间的通信信道来提供涉及一信息询问的上下文信息的方法。可以接收涉及该被呼叫客户的信息询问。在接收到该询问时,可以获得涉及该被呼叫客户的上下文信息。基于被呼叫客户的上下文信息,可以标识并从第三方服务提供方、被呼叫客户或该服务提供方的本地存储中获得对应于该询问的一组信息。所获得的该组信息可被提供回该呼叫客户。
根据本发明的另一方面,提供了一种具有用于响应于询问通过VoIP通信信道提供信息的计算机可执行组件的计算机可读介质。这些计算机可执行组件包括用于接收信息询问的信息管理组件;用于处理第一客户的上下文信息并标识用于获取该信息的源的信息处理组件。该信息管理组件从该源获取对应于该询问的信息并向第二客户提供所获得的信息。该信息处理组件标识多个源并基于该上下文信息选择最适当的源。如果信息处理组件不能标识任何源,则信息管理组件发送预定的默认信息。信息处理组件通过添加所获得的信息来更新该上下文信息;并且其中信息管理组件发送已更新的上下文信息。
根据本发明的又一方面,一种用于通过第一客户和第二客户之间的通信信道提供涉及位置的上下文信息的方法,该方法包括:可以接收对第一客户的位置信息的询问。该信息询问是作为从第二客户接收到的上下文信息的一部分来接收的。该上下文信息涉及通过第一客户和第二客户之间的VoIP通信信道的对话。
在接收到该询问时,可以获得涉及第一客户的一组上下文信息。确定从该组所获得的上下文信息中是否有该位置信息可用。如果该位置信息可用,则将向第二客户提供该位置信息。在一实施例中,可以基于从第二客户接收到的上下文信息来标识该位置信息的类型,如第一客户的地理位置、第一客户的设备的IP地址等。如果该位置信息不可用,则可以基于该组所获得的上下文信息来确定供获取该位置信息的至少一个源,并随后可以从该至少一个源获得该位置信息。
附图说明
当结合附图参考以下详细描述时,可以更容易领会并更好地理解本发明的上述方面和许多附加优点,附图中:
图1是说明根据本发明的一个方面的用于在各客户之间建立对话信道的VoIP环境的框图;
图2是说明根据本发明的一方面的VoIP客户的框图;
图3是说明根据本发明的一方面的与VoIP设备相关联的各组件的框图;
图4是说明根据本发明的一个方面的两个VoIP客户之间通过对话信道的数据交换的框图;
图5是在图1的VoIP环境中所建立的通信信道上使用的数据分组的框图;
图6是示出根据本发明的一方面的两个VoIP客户之间的用于传输由所标识的结构化分层结构定义的上下文信息的交互的框图;
图7A和7B是示出根据本发明的一方面的两个VoIP实体之间的用于响应于询问来收集并提供上下文信息的交互的框图;
图8-12B是说明根据本发明的一方面的对应于VoIP上下文信息的结构化分层结构的各属性和类的框图;以及
图13是示出根据本发明的一方面的位置信息例程的流程图。
详细描述
一般而言,本发明涉及用于收集并通过通信信道向VoIP客户或其它服务提供方提供所询问的信息的方法和系统。更具体地,本发明涉及用于响应于信息询问来标识上下文信息、收集并提供所标识的根据“结构化分层结构”来表示的上下文信息的方法和系统。此处使用的“结构化分层结构”是用于安排要在两个或更多VoIP设备之间交换的上下文信息的预定义的组织结构。例如,结构化分层结构可以是XML命名空间。此外,VoIP对话是通过对话信道交换的、涉及对话的诸如上下文信息和语音信息等信息的数据流。在交换该上下文信息时,任何被授权的上下文信息发送方都可以改变在预定通信信道路径中被发送给下一接收方的上下文信息的范围、内容或数量。虽然将参考说明性结构化分层结构和IP电话环境来描述本发明,但本领域普通技术人员将会认识到所公开的各实施例本质上是说明性的,且不应被解释为是限制性的。
参考图1,示出了用于在各“VoIP客户”之间提供IP电话服务的IP电话环境100的框图。此处使用的“VoIP客户”指的是具有一个或多个相关联的VoIP设备和唯一VoIP客户标识符的诸如个人、组织、公司等特定联系点。例如,单个个人、5个相关联的VoIP设备和唯一VoIP客户标识符共同构成VoIP客户。类似地,包括500个个人和超过1000个相关联的VoIP设备的公司也可以被统称为VoIP客户,并且可以用唯一VoIP客户标识符来标识该VoIP客户。此外,VoIP设备可以与多个VoIP客户相关联。例如,位于三个不同的个人(每一个人都与一单独的VoIP客户相关联)生活的住处的计算机(VoIP设备)可以与这三个VoIP客户中的每一个相关联。不论设备的组合如何,都可以在语音系统中使用该唯一VoIP客户标识符来达到该VoIP客户的联系点。
一般而言,IP电话环境100可以包括诸如因特网、内联网网络、广域网(WAN)、局域网(LAN)等IP数据网络108。IP电话环境100还可以包括向VoIP客户124、125、134提供VoIP服务的VoIP服务提供方126、132。VoIP呼叫对话可以作为对应于语音信息、媒体信息、和/或上下文信息的数据分组流来交换。如下将更详细地讨论的,上下文信息包括涉及该VoIP对话的元数据(信息的信息)、在该对话中使用的设备、所连接的VoIP客户的联系点、和/或由该联系点标识的个人(例如,公司的雇员)。
IP电话环境100还可以包括第三方VoIP服务提供方140。VoIP服务提供方126、132、140可以提供各种呼叫特征,如来电过滤、文本数据、语音和媒体数据集成、以及集成数据传输,作为VoIP呼叫对话的一部分。
VoIP服务提供方132可以被耦合到诸如公司LAN136等专用网络,从而向通信地连接到公司LAN136的若干VoIP客户134提供IP电话服务(例如,该专用网络中的内部呼叫、该专用网络外的外部呼叫等)和多媒体数据服务。类似地,诸如VoIP服务提供方126等VoIP服务提供方可以被耦合到因特网服务供应商(ISP)122,从而向ISP122的客户提供IP电话服务和VoIP服务。
在一实施例中,一个或多个ISP106、122可被配置为向VoIP客户104、124、125提供因特网接入以使VoIP客户104、124、125可以维护在因特网上建立的对话信道。连接到ISP106、122的VoIP客户104、124、125可以使用有线和/或无线通信线路。此外,每一VoIP客户104、124、125、134都可以与通信地连接到PSTN112的普通老式电话业务(POTS)115进行通信。诸如PSTN网关等PSTN接口114可以在PSTN和IP数据网络108之间提供访问。PSTN接口114可以为PSTN将VoIP数据分组转换成电路交换语音话务,反之亦然。PSTN112可以包括陆线设备116、移动设备117等。
诸如陆线116等常规的语音设备可以基于VoIP客户的唯一标识符来请求与该VoIP客户连接,然后将使用与该VoIP客户相关联的适当的VoIP设备来建立连接。在一示例中,与VoIP客户相关联的个人可以基于各种条件(例如,基于呼叫方、当天的时间等的连接)来指定在连接呼叫时要使用哪一设备。
应当理解,环境100中的上述配置仅仅是示例性的。本领域普通技术人员将认识到,具有各种VoIP实体的任何合适的配置都可以是环境100的一部分。例如,耦合到LAN136的VoIP客户134可以能够使用或不使用VoIP服务提供方132或ISP106、122来与其它VoIP客户104、124、125、134进行通信。此外,ISP106、122还可以向其客户提供VoIP服务。
现参考图2,示出根据本发明的一实施例的图解包括若干VoIP设备和一唯一客户标识符的示例性VoIP客户200的框图。每一VoIP设备202、204、206都可以包括用来维护涉及来电的语音消息、地址簿、客户指定的规则、优先级信息等的存储。另选地或另外地,例如由服务提供方维护的独立存储可以与该VoIP客户相关联且可由包含涉及该VoIP客户的信息的每一VoIP设备访问。在一实施例中,诸如无线电话202和IP电话204、或具有适当的VoIP应用程序的计算机206等任何合适的VoIP设备都可以是VoIP客户200的一部分。VoIP客户200还维护一个或多个唯一客户标识符208。唯一客户标识符208可以是常量或可以随时间改变。例如,唯一标识符208在每次呼叫时都可以改变。该唯一客户标识符被用来标识客户并与同该VoIP客户相关联的联系点210进行连接。该唯一客户标识符可以在包括在该VoIP客户中的每一VoIP设备上进行维护或由包括与该VoIP客户中所包括的每一VoIP设备的关联的服务提供方来维护。在唯一客户标识符由服务提供方维护的情况中,该服务提供方可以包括关于每一相关联的VoIP设备的信息和关于要为传入的通信连接哪一(哪些)设备的知识。在一替换实施例中,VoIP客户200可以维护多个客户标识符。在该实施例中,可以为每一呼叫会话向VoIP客户200临时分配唯一客户标识符。
该唯一客户标识符可类似于PSTN中的电话号码来使用。然而,取代拨打典型的电话号码来使诸如家庭电话等特定PSTN设备响铃,该唯一客户标识符被用来达到诸如个人或公司等与该VoIP客户相关联的联系点。基于客户的安排,将连接适当的设备来达到该联系点。在一实施例中,包括在VoIP客户中的每一VoIP设备还可以具有其自己的网络中的物理地址或唯一设备号码。例如,如果个人使用个人计算机(VoIP设备)给POTS客户打电话,则该VoIP客户标识号码连同该个人计算机的IP地址将最后一起被转换成在PSTN中可以识别的电话号码。
图3是可以与一个或多个VoIP客户相关联并与本发明的各实施例一起使用的VoIP设备300的框图。应该注意,VoIP设备300是作为示例来描述的。可以理解,具有各种其它组件的任何合适的设备都可以与本发明的各实施例一起使用。为利用VoIP服务,VoIP设备300可以包括适用于接收、发送和处理各种类型的数据分组的组件。例如,VoIP设备300可以包括多媒体输入/输出组件302和网络接口组件304。多媒体输入/输出组件302可以被配置为输入和/或输出多媒体数据(包括音频、视频等)、用户生物测定、文本、应用程序文件数据等。多媒体输入/输出组件302可以包括任何合适的用户输入/输出组件,如话筒、摄像机、显示屏、键盘、用户生物测定识别设备等。多媒体输入/输出组件302还可以经由网络接口组件304接收和发送多媒体数据。网络接口组件304可以支持诸如以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口、射频(空中接口)等接口。VoIP设备300可以包括含有诸如只读存储器设备(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘驱动器等永久的和/或可移动的存储的硬件组件306。该存储可被配置为存储用于控制操作系统和/或一个或多个应用程序的操作的程序指令,以及存储涉及与包括该设备的VoIP客户相关联的个人的上下文信息(例如,语音简档、用户生物测定信息等)的上下文信息。在一实施例中,硬件组件306可以包括允许非VoIP设备发送和接收VoIP对话的VoIP接口卡。
设备300还可以包括用于设备300的操作的软件应用程序组件310和用于支持各种VoIP服务的VoIP服务应用程序组件308。VoIP服务应用程序组件308可以包括诸如数据分组组装器/拆解器应用程序、结构化分层结构解析应用程序、音频编码器/解码器(CODEC)、视频CODEC和用于提供VoIP服务的其它合适的应用程序等应用程序。
参考图4,示出说明根据本发明的一实施例的两个不同的VoIP客户的VoIP设备之间通过对话信道的对话流程400的框图。在连接建立阶段,第-VoIP客户406的VoIP设备请求启动与第二VoIP客户408的对话信道。在一说明性实施例中,第一VoIP客户406的VoIP服务提供方402(提供方1)接收启动对话信道的请求并将该请求转发给第二VoIP客户406的VoIP服务提供方404(提供方2)。尽管该示例利用两个VoIP服务提供方和两个VoIP客户,但任何数量和组合的VoIP客户和/或服务提供方都可以与本发明的各实施例一起使用。例如,在建立该连接时可以只利用一个服务提供方。而在另一示例中,通过利用公共和专用线路,VoIP设备之间的通信可以是直接的,从而消除对VoIP服务提供方的需求。在对等上下文中,VoIP设备之间的通信也可以是直接的,而不涉及任何服务提供方。
有各种可被选择以供在各VoIP客户、各VoIP设备、和/或各VoIP服务提供方之间交换信息时使用的协议。例如,在选择会话发起协议(SIP)协议作为信令协议时,将通过SIP信令路径/信道来交换会话控制信息和消息,并通过实时传输协议(RTP)路径/信道来交换媒体流。出于讨论的目的,此处使用的通信信道一般指的是任何类型的数据或信号交换路径/信道。因此,可以理解,取决于协议,连接建立阶段和连接终止阶段可以在对话流程400中需要额外步骤。
为易于解释,将利用其中第一VoIP客户406和第二VoIP客户408各自都只包括一个VoIP设备的示例。因而,在此提供的讨论将涉及两个VoIP设备的连接。使用第一VoIP客户406的设备的个人可以选择或输入要被呼叫客户的唯一客户标识符。提供方1402从第一VoIP客户408的设备接收该请求并基于包括在该请求中的唯一客户标识符来确定终止服务提供方(例如,第二VoIP客户408的提供方2404)。随后将该请求转发到提供方2404。该呼叫发起将被转发给第二VoIP客户的设备。随后可以在第一VoIP客户406的设备和第二VoIP客户408的设备之间建立对话信道。
在一说明性实施例中,在第一VoIP客户406和第二VoIP客户408的设备开始交换数据分组之前,可以交换上下文信息。如下更详细地讨论的,可以根据与该对话相关联的预定结构来将该上下文信息分组化。与第一VoIP客户406、第一VoIP客户406的服务提供方或不同的设备/服务提供方相关联的任何设备都可以基于该上下文信息的内容来确定该结构。在一实施例中,所交换的上下文信息可以包括涉及呼叫VoIP客户406、设备、和被呼叫VoIP客户408的信息。此外,可以将对特定信息的询问作为该上下文信息的一部分来发送。例如,VoIP客户406可以发送对VoIP客户408的地理位置信息的询问。提供方1402或被呼叫VoIP客户都可以收集该被呼叫VoIP客户的地理位置信息并将所收集的信息提供给呼叫VoIP客户406。在一实施例中,提供方1402在客户请求呼叫发起时可能已经具有该客户的地理位置信息。另选地,提供方1402可以从维护VoIP客户的位置信息的位置服务服务器获取这一信息。
可用媒体类型、呼叫客户和被呼叫客户的规则等也可以是在连接建立阶段期间所交换的上下文信息的一部分。取决于该上下文信息的本质,该上下文信息可以由第一VoIP客户406的设备中的一个、第二VoIP客户408的设备中的一个、和/或由VoIP服务提供方(例如,提供方1402和提供方2404)来处理和收集。在一实施例中,VoIP服务提供方402、404在转发该客户的上下文信息之前,可以向/从该客户的上下文信息中添加、删除和/或修改某些信息。
响应于发起对话信道的请求,第二VoIP客户408可以经由提供方2404接受建立对话信道的请求或执行诸如拒绝该请求等其它适当的动作。可以基于所获得的上下文信息来确定这些适当的动作。在建立了对话信道时,第一VoIP客户406的设备和第二VoIP客户408的设备开始通过交换数据分组来互相通信。如下将更详细地描述的,包括对话数据分组和上下文数据分组的这些数据分组通过已连接的设备之间已建立的对话信道来传送。
对话数据分组携带涉及对话的数据,例如,语音数据分组或多媒体数据分组。上下文数据分组携带涉及除对话数据之外的数据的信息。一旦建立了对话信道,或者第一VoIP客户406或者第二VoIP客户408都可以请求终止该对话信道。在终止之后,可以在第一VoIP客户406和第二VoIP客户408之间交换某些上下文信息。
图5是根据本发明的一实施例的在通信(对话)信道上使用的数据分组结构500的框图。数据分组结构500可以是用于适用于被利用来携带对话数据(例如,语音、多媒体数据等)或上下文数据(例如,涉及VoIP服务的信息等)的IP数据分组的数据分组结构。然而,可以利用任何其它合适的数据结构来携带对话数据或上下文数据。数据分组结构500包括头部502和净荷504。头部502可以包含将对应的数据分组传送到目的地所必需的信息。另外,头部502可以包括在对话的过程中所利用的信息。这一信息可以包括用于标识对话(例如,呼叫)的对话ID506、诸如被呼叫客户的唯一客户标识符等目的地ID508、源ID510(呼叫客户的唯一客户标识符或设备标识符)、用于标识净荷类型的净荷ID512(例如,对话或上下文)、用于标识该对话数据所涉及的个人的个人ID(未示出)等。在一替换实施例中,头部502可以包含关于因特网协议版本和净荷长度的信息,以及其它信息。净荷504可以包括涉及所标识的对话的对话或上下文数据。本领域普通技术人员将认识到,可以将额外的头部用作更上层的头部,如TCP头部、UDP头部等。
在本发明的一实施例中,可以预定义一结构化分层结构以通过VoIP对话信道来传送上下文信息。该上下文信息可以包括涉及VoIP客户、VoIP设备、对话信道连接(例如,呼叫基础)、对话上下文(例如,呼叫上下文)等的任何信息更具体地,该上下文信息可以包括客户偏好、客户规则、客户的位置(例如,用户的位置、设备位置等)、生物测定信息、用户的机密信息、VoIP设备功能、VoIP服务提供方信息、媒体类型、媒体参数、呼叫号码优先级、关键字、涉及应用程序文件的信息等。取决于该上下文数据的本质,可以在每一VoIP客户和/或VoIP服务提供方处处理和收集该上下文信息。在一方面,VoIP服务提供方在转发该上下文信息之前可以添加、修改和/或删除VoIP客户的上下文数据。例如,VoIP客户的机密信息将被与该客户相关联的VoIP服务提供方删除,除非客户授权发送这一信息。在某些情况下,在内联网网络之外发送最小量的上下文信息。
参考图6,示出了图解根据本发明的一实施例的两个VoIP客户之间的用于发送上下文信息的交互的框图600。如图4一样,此处描述的示例将利用其中每个客户只有一个与之相关联的设备且连接发生在那两个设备之间的场景。在一实施例中,VoIP客户606和VoIP客户608的设备已建立了VoIP对话信道。VoIP客户606可以标识将使用哪些结构化分层结构来携带特定上下文信息。关于所标识的结构化分层结构的信息可以包括关于哪些结构化分层结构被用来携带该上下文信息、如何标识结构化分层结构等信息。在交换对应的上下文信息之前,将在VoIP客户606和VoIP客户608之间交换这一信息。在接收到标识将使用哪一结构化分层结构来携带上下文信息的信息时,VoIP客户608查找预定义的结构化分层结构(例如,XML命名空间等)以选择所标识的结构化分层结构。在一实施例中,可以全局地存储并在可从一组VoIP客户访问的集中式位置管理这些预定义的结构化分层结构。在该实施例中,该集中式位置的统一资源标识符(URI)地址可从VoIP客户606发送到VoIP客户608。
在另一实施例中,每一VoIP客户都可以具有存储在任何设备的本地存储或所有设备可以共享的专用本地存储中的一组预定义的结构化分层结构。在交换上下文信息之前,可以在VoIP客户之间声明这些预定义的结构化分层结构并对其达成一致。以此方式,可以消除对提供上下文数据分组的结构的需求,并因而减少对应于该上下文数据的所发送的数据分组的量。此外,,通过利用预定义的结构化分层结构,可以用硬件和/或软件无关的方式来发送数据分组。
在检索所标识的结构化分层结构时,VoIP客户608期望接收数据流以便根据所标识的结构化分层结构来定义对应于该数据流的数据分组。VoIP客户606可以开始发送根据所标识的结构化分层结构来表示的上下文信息。在一实施例中,VoIP客户608开始关于该上下文信息的数据绑定过程。例如,可以用所接收到的上下文信息来构造所标识的结构化分层结构的实例。
图7A和7B是示出根据本发明的一实施例的响应于对位置信息的询问来收集和在VoIP实体之间交换这种位置信息的框图700。在一实施例中,这些VoIP实体可以包括VoIP客户、这些客户的VoIP服务提供方、第三方服务提供方(例如,位置服务提供方)等。
参考图7A,在一实施例中,VoIP客户608可以发送对涉及VoIP客户606的特定上下文信息的询问。尽管该示例利用一个VoIP服务提供方和两个VoIP客户,但任何数量和组合的VoIP客户和/或服务提供方都可以与本发明的各实施例一起使用。该询问可以寻找VoIP客户606的位置信息。服务提供方602可能已经从VoIP客户606获得了包括位置信息的上下文信息。如下将更详细地描述的,可以构想,在该说明性实施例中利用结构化分层结构以在若干VoIP实体之间传送上下文信息(上下文数据分组)。
出于讨论的目的,假定VoIP客户606和VoIP客户608使服务提供方602作为VoIP服务提供方。位置服务提供方614可用以向服务提供方602提供特定类型的位置信息。如下将更详细地讨论的,位置信息可以包括涉及客户定义的位置、设备定义的位置、地理位置、虚拟/逻辑位置等各种类型的信息。位置服务服务器602的示例可以是全球定位系统(GPS)服务服务器、用户位置服务服务器(例如,因特网定位符服务器、网络上的会议目录服务器等)等。因特网位置服务器可被用来经由当前IP地址标识各个用户。在一实施例中,VoIP客户608可以发送对涉及VoIP客户606的特定上下文信息(例如,设备的地理位置信息)的询问。服务提供方602处理该询问来标识要收集什么上下文信息以及要联系或查询哪一适当的源来获取所标识的上下文信息。
如果该适当的源是VoIP客户606,则服务提供方602向VoIP客户606请求所标识的上下文信息。在接收到该请求时,VoIP客户606收集所请求的上下文信息并标识要被用来携带所收集的上下文信息的结构化分层结构。利用所标识的结构化分层结构将所收集的上下文信息从VoIP客户606发送到提供方1602。如果该适当的源是位置服务服务器614,则服务提供方602从该位置服务服务器获取该信息。在一实施例中,VoIP客户606和VoIP客户608的服务提供方616可以包括服务提供方(服务器)602和位置服务服务器614。在该实施例中,服务提供方616向其客户提供位置信息。
另选地,在接收到该询问时,服务提供方602从各源获取和/或收集涉及VoIP客户606的任何容易获得的位置信息,例如个人用户的地理位置、设备的地理位置、设备在网络中的逻辑位置、个人用户在虚拟空间中的位置等。服务提供方602可以处理所接收到的位置信息、存储该位置信息的所需部分、并基于询问发送所接收到的信息的子集。所存储的信息可在将来使用。如上所述,服务提供方602还可以标识并获取涉及该询问的另外的上下文信息,并据此更新当前上下文信息(例如,先前获得的位置信息)。此外,服务提供方602可以标识当前上下文信息中在发送该上下文信息之前要移除、添加和/或修改的部分,并随后据此更新所接收到的上下文信息。在一实施例中,关于所标识的结构化分层结构的信息还被发送到服务提供方602,或被直接发送到VoIP客户606。关于所标识的结构化分层结构的信息可以包括关于哪些结构化分层结构被用来携带特定上下文信息、如何标识结构化分层结构等的信息。
在一说明性实施例中,通过添加或删除该上下文信息的一部分,服务提供方602可以生成适用于响应来自VoIP客户608的询问的特制的上下文信息。例如,服务提供方602可以生成包括特定类型的位置信息和涉及该特定类型的位置信息的其它上下文信息的上下文信息。服务提供方602可以将该特制的上下文信息发送到VoIP客户608。另选地,服务提供方602可以将该特制的上下文信息(例如,位置信息),或所获得的上下文信息发送到最终会将所接收到的上下文信息转发到VoIP客户608的第三方SP。如有必要,该第三方SP可以收集更多的上下文信息,并通过添加、删除、和/或修改信息来更新所接收到的上下文信息。
在一实施例中,可以通过可扩展标记语言(XML)来定义结构化分层结构。然而,可以理解,可以通过适用于实现和维护可扩展结构化分层结构的任何语言来定义该结构化分层结构。一般而言,XML因为其是跨平台的、软件和硬件无关的发送信息的工具而众所周知。此外,XML将其数据作为分层地结构化的节点树来维护,每一节点包括可以包含描述性属性的标签。通常,提供XML命名空间来给予该命名空间一个唯一名字。在一些实例中,该命名空间可被用作指向包含关于该命名空间的默认信息的集中式位置的指针。
根据一说明性实施例,在正在建立通信信道时,VoIP客户606可以为该上下文信息标识一XML命名空间。例如,该XML命名空间属性可被置于发送元素的开始标签中。应当理解,在此所示的XML命名空间、属性和类是仅作为结合本发明的各种实施例来使用的结构化分层结构的示例来提供的。在VoIP客户608接收到XML命名空间信息之后,VoIP客户606向VoIP客户608发送根据所标识的XML命名空间来定义的一组上下文数据分组。当命名空间在元素的开始标签中定义时,具有同一前缀的所有子元素都与该同一命名空间相关联。因此,VoIP客户608和VoIP客户606可以发送上下文信息而不必在所有子元素中包括前缀,从而减少对于该上下文信息的所发送的数据分组的量。
参考图8-12B,示出了说明对应于VoIP上下文信息的结构化分层结构的各种类和属性的框图。在各VoIP实体(例如,客户、服务提供方等)之间交换的VoIP上下文信息可以对应于VoIP命名空间800。在一实施例中,VoIP命名空间800被表示为分层地结构化的节点树,每一节点对应于与VoIP上下文信息的子集相对应的子类。例如,VoIP命名空间800可以被定义为分层地结构化的树,包括呼叫基础类802、呼叫上下文类810、设备类型类820、VoIP客户类830等。
参考图9,示出了呼叫基础类802的框图。在一说明性实施例中,呼叫基础类802可以对应于涉及对话信道连接(例如,PSTN呼叫连接、VoIP呼叫连接等)的VoIP上下文信息的子集。涉及对话信道连接的VoIP上下文信息的子集可以包括始发号码(例如,呼叫者的客户ID号码)、目的地号码(例如,被呼叫者的客户ID号码或电话号码)、呼叫连接时间、VoIP服务提供方相关信息、和/或诸如IP地址、MAC地址、命名空间信息等ISP相关信息等。另外,涉及对话信道连接的上下文信息可以包括呼叫优先级信息(其定义目的地号码的优先级)、呼叫类型信息等。呼叫类型信息可以指示该对话信道是否是为紧急通信、广播通信、计算机到计算机的通信、计算机到POTS设备的通信等建立的。在一实施例中,涉及对话信道连接的上下文信息可以包括表示情感、声音(例如,“啊”、“啊呀”、“哎唷”等)和图形符号形式的面部表情等预定义标识符。在一实施例中,呼叫基础类802可被定义为VoIP命名空间800的子树结构,其包括诸如呼叫优先级803、命名空间信息804、呼叫类型805、目的地号码806、服务提供方807、预定义标识符808等节点。
参考图10,示出了呼叫上下文类810的框图。在一实施例中,涉及对话上下文的VoIP上下文信息的子集可以对应于呼叫上下文类810。该涉及对话上下文的上下文信息可以包括诸如客户提供的关键字、从文档文件数据中标识的关键字、从对话数据分组中标识的关键字(例如,对话关键字)、作为对话的一部分交换的文档和/或多媒体文件的文件名、游戏相关信息(如游戏类型、特定游戏中的虚拟邻近性)、使用频率(包括涉及特定文件、特定主题和特定客户的呼叫的频率和持续时间)以及文件标识(如涉及对话的件号、事件号等等)等信息,以及许多其它信息。根据一说明性实施例,呼叫上下文类810可被定义为VoIP命名空间800的子树结构,其包括与文件标识812、客户提供的关键字813、对话关键字814、使用频率815、对话主题816等相对应的节点。
参考图11,描绘了设备类型类820的框图。在一实施例中,设备类型类820可以对应于涉及用于对话信道连接的VoIP客户设备的VoIP上下文信息的子集。该涉及VoIP客户设备的VoIP上下文信息的子集可以包括处理由该VoIP客户设备生成的音频数据可能需要的音频相关信息。该音频相关信息可以包括涉及设备的音频功能和能力的信息,如采样速率、机器类型、输入/输出类型、话筒、数字信号处理(DSP)卡信息等。该涉及VoIP客户设备的VoIP上下文信息的子集可以包括处理由该VoIP客户设备生成的视频数据可能需要的视频相关信息。该视频相关信息可以包括分辨率、刷新率、视频数据的类型和大小、图形卡信息等。涉及VoIP客户设备的上下文信息还可以包括其它设备专用信息,如计算机系统的类型、处理器信息、网络带宽、无线/有线连接、该计算机系统的可移植性、该计算机系统的处理设置等。在一说明性实施例中,设备类型类820可被定义为VoIP命名空间800的子树结构,其包括与音频822、视频824、设备专用826等相对应的节点。
图12A描绘VoIP客户类830的框图。根据一说明性实施例,VoIP客户类830可以对应于涉及VoIP客户的上下文信息的子集。在一实施例中,涉及VoIP客户的VoIP上下文信息的子集可以包括语音简档信息(例如,指定个人用户的音调和语音特征的信息集合)、数字签名信息、以及生物测定信息。生物测定信息可以包括涉及生物测定认证的用户标识信息(例如,指纹)、用户压力程度、用户情绪等。涉及VoIP客户的VoIP上下文信息的子集可以包括所分配的电话号码、用户联系信息(如名字、地址、公司等)、客户定义的规则、用户偏好、数字权限管理(DRM)、个人用户在一组织中的成员等级、与该成员等级相关联的优先级等。与该成员等级相关联的优先级可被用来向客户分配关于电话会议的优先级。如下将更详细地描述的,涉及VoIP客户的VoIP上下文信息的子集可以包括位置信息。在一实施例中,VoIP客户类830可被定义为VoIP命名空间800的子树结构,其包括与用户生物测定831、用户偏好832、客户规则833、用户标识834、成员优先级835、位置840等相对应的节点。
参考图12B,描绘了位置子类840的框图。在一实施例中,位置子类840可以对应于涉及VoIP客户、个人用户、和/或用于对话信道连接的设备等的位置信息的VoIP上下文信息的子集。如上所述,服务提供方可以预先具有关于可以从何处获得或查询特定类型的位置信息的知识。涉及位置信息的VoIP上下文信息的子集可以包括涉及客户定义的位置、GPS/三角测量位置(特定用户、设备或客户帐户的地理位置)、个人用户的逻辑/虚拟位置、客户定义的位置、设备定义的位置等信息。地理位置信息可从GPS服务器等来获得。此外,位置信息可以包括涉及设备网络地址和服务提供方定义的位置(例如,VoIP服务提供方可以定义客户的位置)的信息。设备网络地址可以是计算机的IP地址、定义逻辑上距离特定第三方服务器或该设备所处的服务提供方有多近的逻辑位置等。在一说明性实施例中,位置子类820可被定义为VoIP客户830的子树结构,其包括与用户定义的位置841、用户虚拟位置842、用户地理位置843、客户位置844、设备定义的位置845、设备地理位置846、设备网络位置847等相对应的节点。
图13是示出根据本发明的一实施例的用于响应于对位置信息的询问提供上下文信息的位置信息例程1300的流程图。在一说明性实施例中,呼叫者(呼叫VoIP客户)的设备可能已经请求其相关联的服务提供方发起与被呼叫者(被呼叫VoIP客户)的通信信道连接。出于讨论的目的,假定呼叫者在连接建立阶段向其服务提供方发送对被呼叫者的位置信息的询问。被呼叫者的服务提供方可以具有收集并提供被呼叫者的位置信息的授权。然而,可以构想,可在任何时间交换对除位置信息之外的特定信息的询问,包括在建立通信信道之前(例如,在连接建立阶段期间)、在对话期间或在终止通信信道之后。此外,在接收到询问后,可以在各VoIP实体之间交换对应于该询问的上下文信息。还可构想,IP环境100中的任何经授权的VoIP实体都可以接收询问并响应于该询问提供上下文信息。
始于框1302,服务提供方获取呼叫者的上下文信息,包括对被呼叫者的位置信息的询问。如上所述,基于该上下文信息的内容,可以从诸如XML命名空间等预定义的结构化分层结构中标识至少一个结构化分层结构。服务提供方可以从呼叫者获取所标识的结构化分层结构。在框1304,服务提供方标识与该询问相对应的信息。例如,呼叫者请求当前正在电话会议中通信的被呼叫者的设备的位置信息。服务可以标识涉及设备的逻辑位置(例如,IP地址)的位置信息。在判定框1306,做出所标识的信息当前是否可用的判定。服务提供方可以确定从涉及被呼叫者的预先获得的上下文信息中或从本地存储中先前存储的上下文信息中是否有所标识的信息可用。如果所标识的信息当前可用,则在框1308,服务提供方可以获取当前所获得的信息。
如果所标识的信息当前不可用,则在框1310可以标识并指定适用于获取所标识的信息的适当的源。这些适当的源可以包括任何VoIP实体,如被呼叫者、第三方服务服务器、其它服务提供方等。服务提供方可以联系该适当的源并查询所标识的信息。在一实施例中,服务提供方可以发送上下文信息以在源侧收集该信息。在一替换实施例中,服务提供方可以向源(例如,被呼叫者)发送与对所标识的信息的询问相对应的上下文信息。在对所标识的信息有多个源可用时,服务提供方可以确定最适当的源。服务提供方可以具有为特定信息确定适当的源的预定义的提供方规则或逻辑。例如,GPS服务器可以装备GPS模块的设备的地理位置信息的适当的源之一。如果个人用户的移动电话可以提供移动设备的位置信息,则该设备可以是适当的源之一。类似地,如果VoIP客户维护设备的地理位置信息,则该VoIP客户可以是适当的源之一。
在该示例中,服务提供方可以基于从呼叫者和被呼叫者获得的上下文信息来选择最适当的一个。该上下文信息可以包括被呼叫者的规则、呼叫者的规则、被呼叫者的设备信息、与被呼叫者相关联的目标个人用户等。在框1312,可以从所标识的源获得信息(例如,位置信息)。在一替换实施例中,在对所标识的信息有多个源可用时,服务提供方可以从该多个源获取所标识的信息并基于所获得的信息生成总和信息。在框1314,向第二VoIP客户提供从服务提供方获得的信息(1308)或从源获得的信息(1312)。例程1300在框1316完成。
尽管示出和描述了各说明性实施例,但可以理解,可在其中作出各种改变而不背离本发明的精神和范围。