将设备视图变换为媒体视图的在线系统和方法

文档序号:7628501阅读:97来源:国知局
专利名称:将设备视图变换为媒体视图的在线系统和方法
技术领域
本发明一般地涉及基于在线的交互通信系统,并且更特别地涉及向在线实体(presence)的观察者(watcher)提供在线实体的在线信息和首选项信息。
背景技术
基于在线的交互通信服务是以被叫者为中心的,其中被叫者(在线实体)向主叫者(在线观察者)实时发布其在线信息(如可用性、活动性、当地时间、位置、活动设备/应用程序的当前状态以及相应的首选项等)。在线信息的目的是使主叫者能够更有效地和更有力地与被叫者联系。然而,目前对在线和首选项信息的收集和显示还存在限制。
与被叫者的设备有关的状态、能力以及被叫者的首选项属于在主叫者和被叫者之间进行有效的和有力的通信的最关键的原始信息。在线实体可能向某个网络注册了多个设备。例如,当前发布的MicrosoftLive Communications Server支持每个在线实体向服务器注册最多64个设备,并且可以向在线观察者发布所有这些设备的实时状态。另外,每个在线观察者可以定制来自多个在线实体的在线信息,并且每个在线观察者可能只有有限的可用空间用于显示在线信息和首选项信息。同样,在在线观察者的图形用户界面(GUI)上,已经很难清楚地表示所有的设备状态信息以及相关联的首选项。
此外,设备的功能性越来越密集,以至于一个单独的设备有可能能够运行多个应用程序。由于每个设备的应用程序数目的增加,观察者有可能难以确定在线实体的设备的实际能力。例如,支持语音通信和/或诸如SMS(短消息服务)或IM(即时消息)之类的实时文本通信的蜂窝电话可能还支持多媒体通信。另外,蜂窝电话还可以有权访问诸如语音邮件或电子邮件之类的非实时应用程序。作为另一个例子,个人计算机(PC)有可能能够运行多个实时应用程序,如用于实时语音通信的softphone(软电话)或VoIP(基于IP的语音)客户端应用程序,用于实时文本通信的IM应用程序,以及有可能存在的用于实时多媒体通信(video+)的应用程序。另外,PC还可以支持诸如电子邮件、语音邮件、视频邮件、传真和图像之类的非实时应用程序。
除和每个在线实体的设备数目以及每个设备的应用程序数目的增加相关联的问题外,首选项信息当前仅限于设备首选项。用设备首选项来指示“首选”设备,而不管其它设备的实时状态或每个设备的确切能力如何。此外,在线实体的设备首选项的度量限于称为q值的设备优先指示符。q值是单位区间
内的数值。目前,在线实体没有能够输入其设备首选项或其它通信首选项的其它机制。
因此,需要一种用于输入和收集多种格式的诸如设备和媒体类型首选项之类的在线实体通信首选项的在线系统和方法。另外,需要用于处理在线实体的通信首选项以获得易于管理并对观察者有用的在线实体的全部媒体首选项的在线系统和方法。

发明内容
本发明的实施方式提供能够以多种格式从在线实体中收集原始首选项数据并处理该原始首选项数据以确定媒体类型的首选次序的在线服务器。原始首选项数据包括与该在线实体相关联的每个设备所支持的每种媒体类型的首选项指示。在线服务器向在线实体的观察者提供媒体类型的首选次序。
在一个实施方式中,原始首选项数据包括易碎数据,易碎数据指示对于该类型所支持的每种媒体类型该设备的q值和/或每个设备上运行的每个应用程序所支持的每种媒体类型的q值。在另一个实施方式中,原始首选项数据可以包括易碎数据和/或非易碎数据。非易碎数据的例子包括与该在线实体相关联的每个设备上所支持的媒体类型的首选项次序,与该在线实体相关联的每个设备上所支持的媒体类型的模糊首选项关系,与该在线实体相关联的每个设备上所支持的每种媒体类型的效用值,以及与该在线实体相关联的每个设备上所支持的媒体类型的语言排序。根据非易碎数据,可以确定与该在线实体相关联的每个设备上所支持的至少每种媒体类型的q值。
在另一个实施方式中,在线服务器处理原始首选项数据(易碎数据和/或非易碎数据)以计算每个设备所支持的每种媒体类型的总q值(total q-value)。基于总q值,在线服务器进一步计算每种媒体类型的整体q值(overall q-value),并根据为每种媒体类型计算的整体q值来确定媒体类型的首选次序。
有利地,通过引入媒体首选项,本发明的实施方式能够更清楚地表示在线实体通信首选项。可以计算全部媒体首选项并按q值的降序排序,以便除设备首选项信息之外提供媒体首选项信息,或用媒体首选项信息替换设备首选项信息。另外,仅仅提供媒体首选项信息可以减少在线观察者GUI上的显示空间。此外,本发明的实施方式可以用多种格式输入首选项数据以适应不同类型的用户。


通过结合附图阅读下面的详细描述,可以获得对本发明的更全面理解,其中图1说明根据本发明之实施方式的示例性在线系统;图2是一个框图,说明根据本发明之实施方式的能够以多种格式收集原始首选项数据并处理该原始首选项数据以确定每个在线实体的媒体类型的首选次序的在线系统;图3说明根据本发明之实施方式的示例性易碎数据结构;图4说明根据本发明之实施方式的示例性非易碎数据结构;以及图5是一个流程图,说明根据本发明之实施方式将在线实体首选项的设备视图变换为媒体视图的示例性过程。
具体实施例方式
参照图1,该图说明能够实现本发明之各种实施方式的示例性在线系统100。在线系统100包括在线实体110以及与在线实体110相关联的一个或多个设备120。在线实体110代表被叫者并向在线系统100提供关于被叫者的在线状态的在线信息。设备120是能够在通信网络130上发送和/或接收通信的物理通信设备。这种设备120的例子包括但不限于桌上型电话120a、膝上型计算机120b、个人计算机120c、蜂窝电话120d以及个人数字助理(PDA)120e。在图1中,通信网络130代表其上可以发送媒体(电路交换或分组交换的语音或数据)的任意类型的网络。例如,通信网络130可以包括公用交换电话网(PSTN)、公用陆地移动网(PLMN)、一个或多个专用局域网(LAN)、因特网和/或任意其它类型的网络或网络的组合。
在线系统100还包括一个或多个在线用户代理140(PUA),在线代理(PA)150,在线服务器160以及在线实体110的一个或多个观察者170。PUA 140能够处理并提供在线实体110的在线信息。在图1中,为每个设备120显示一个单独的PUA 140。然而,应该理解,在其它实施方式中,PUA 140的数目可以基于设备120的数目和类型、设备120所支持的应用程序以及系统配置而变化。每个PUA140独立地生成在线实体110的全部在线信息的一部分。通常,当在线状态发生改变时,PUA 140生成在线信息。在线状态改变的例子包括但不限于打开和关闭设备120、从设备120上修改注册信息以及改变设备120上的即时消息状态。
由一个或多个在线代理(PA)150收集来自每个PUA 140的在线信息。在图1中,为简单起见仅示出一个PA 150。然而,应该理解,在其它实施方式中,一个在线实体110可以有多个PA 150,每个PA 150负责当前对在线实体110有效的全部定制(从观察者170那里请求在线信息)的一个子集。PA 150维护在线实体110的当前的全部在线信息,并且向在线实体110的一个或多个观察者170(主叫者)提供在线信息。在线服务器160是一个物理实体,其可以作为PA 150或者作为代理服务器,用于把来自观察者170的请求路由到PA 150。因此,可结合在线服务器160将PA 150操作为接收来自PUA 140的在线实体110的在线信息,接收来自观察者170的对在线信息的请求,并且向观察者170提供在线信息。当用作PA 150时,在线服务器160还可以和PUA 140处于同一位置。
在线系统100使用在线协议来向在线实体110和观察者170提供在线服务。在线系统100中可以使用的在线协议的例子是会话初始化协议(SIP),J.Rosenberg等人于2002年6月发表的“SIP会话初始化协议”RFC3261(“SIPSession Initiation Protocol”RFC3261)以及A.Roach等人于2002年6月发表的“会话初始化协议(SIP)-特定事件通知”RFC3265(“Session Initiation Protocol(SIP)-Specific Event Notification”RFC3265)中对此进行了描述,本文引用其内容作为参考。SIP是用于创建、修改和终止通信(语音、文本和/或多媒体)会话的应用层控制协议。SIP可以与诸如实时传输协议(RTP)、实时流协议(RTSP)、会话描述协议(SDP)、国际电联电信委员会(ITU-T)H.263标准(视频编解码)、G.711标准和G.729标准(音频编解码)以及其它的或附加的标准或协议之类的其它协议一起使用。应该意识到,可以使用其它的或附加的协议和配置。
SIP网络能够把来自该网络上的任意用户的请求路由到维护该用户的注册状态的服务器上。因此,SIP网络使主叫者(观察者)能够发送对与将路由到在线服务器160的特定被叫者(在线实体110)有关的在线信息的SUBSCRIBE(定制)请求,其中在线服务器160维护在线实体110的在线信息。出于效率上的目的,运行时,在线服务器160与PA 150可以和SIP代理/注册器处于同一位置。
图2是一个框图,说明根据本发明之实施方式的能够以多种格式收集原始首选项数据并处理该原始首选项数据以确定每个在线实体110的媒体类型的首选次序的在线系统100。在线实体110(被叫者)使用特定的GUI把指示该在线实体的设备/媒体首选项(设备和/或媒体能力以及有关首选项)的原始首选项数据205输入到在线系统100中。在线实体110可以以多种格式中的一种或几种格式指示其通信设备的首选项和所支持的媒体类型。例如,根据在线实体110的复杂程度以及在线系统100所提供的选项,可以用易碎或非易碎方式输入原始首选项数据205。可用的格式决定了向在线实体110提供的特定GUI。可以将原始首选项数据205存储在例如该在线实体的企业目录210中,例如存储在“用户简档”(user profiles)目录下,或者如果采用SIP作为在线协议,则可以将原始首选项数据205存储在SIP注册服务器220中。
在线服务器的首选项组件200或者其它实施方式中的首选项引擎处理原始首选项数据205以确定用于每种媒体类型的在线实体的全部首选项。在线服务器的首选项组件200包括易碎数据适配器230,用于接收易碎原始首选项数据205a;非易碎数据适配器240,用于接收非易碎首选项数据205b;以及控制器250,用于处理易碎原始首选项数据205a和非易碎原始首选项数据205b以确定每种媒体类型的全部首选项,并用于向观察者170提供每种媒体类型的全部首选项。正如在此所用的那样,术语“控制器”意指控制至少一个操作的任意设备、系统或其一部分组件,可以用硬件、软件、固件或其某种组合来实现控制器。请注意,与控制器相关联的功能性可以是集中式的或者是分布式的,可以是本地的或者是远程的。
在一个实施方式中,如果在线实体110以易碎格式输入一部分或全部原始首选项数据,则该在线实体提供每个设备的q值、每个设备上所支持的每种媒体类型的q值以及每个设备上的每个应用程序所支持的每种媒体类型的q值。由易碎数据适配器230接收所输入的q值(易碎数据205a),并且根据控制器250的处理能力对其进行格式化。把经过格式化的易碎数据235输入到控制器250中进行处理。应该理解,经过格式化的易碎数据235的格式可以和所接收的易碎数据205a的格式相同。在另一个实施方式中,如果在线实体110以非易碎格式输入一部分或全部原始首选项数据,则非易碎数据适配器240接收非易碎原始首选项数据205b,并且将非易碎原始首选项数据205b转换为每个设备的q值以及每个设备上所支持的至少一种媒体类型的q值。如果非易碎原始首选项数据205b是特定于应用程序的,则非易碎数据适配器240将非易碎原始首选项数据205b转换为每个设备上的每个应用程序所支持的每种媒体类型的q值。非易碎数据适配器240把经过转换的非易碎数据245输入到控制器250中进行处理。
控制器250根据经过格式化的易碎原始首选项数据235和经过转换的非易碎原始首选项数据245计算每种媒体类型的全部首选项,对每种媒体类型的全部首选项进行排序,并按照降序放置它们,以便提供媒体首选项的首选次序255。经由在线服务分发媒体首选项的首选次序255并且向在线实体110的在线观察者170显示该首选次序255。
请注意,可以用硬件、软件、固件或其组合来构造或配置在线服务器的首选项组件200(或首选项引擎),其中硬件、软件、固件或其组合处理原始首选项数据205以确定每种媒体类型的全部首选项,对全部首选项进行排序,并向观察者170提供经过排序的全部首选项255。例如,在线服务器的首选项组件200可以包括执行指令的一个或多个处理器以及存储该处理器所使用的指令和数据的一个或多个存储器。一般认为处理器是驱动通用计算机的设备。然而,请注意,同样可以使用诸如微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其组合之类的其它处理器设备,并且这些处理器设备可以获得在此所述的好处和优势。在一个实施方式中,在线服务器的首选项组件200可以包括诸如软件应用程序之类的一个或多个过程,这些过程提供产生特定结果的活动、功能或一系列任务,用于处理原始首选项数据205。
图3说明根据本发明之实施方式的示例性易碎数据结构300。如上所述,在线实体110可以向通信网络注册多个设备。在线实体110可以配置其每个设备的q值305。在一个实施方式中,设备可以是单功能设备,即只能支持一种媒体类型(实时或非实时)。在本实施方式中,该媒体类型的首选项与设备的首选项相同。在另一个实施方式中,设备可以支持其上不运行任何应用程序的多种媒体类型(实时350或非实时340)。在本实施方式中,在线实体110可以配置每种媒体类型的q值。例如,如图3所示,如果设备(如设备1)包括实时媒体类型的文本、语音和多媒体,则在线实体110可以分别提供每种媒体类型的不同q值350、355和360。在不配置与该设备所支持的媒体类型相关联的任意q值350、355和360的情况下,如果在线实体110通过配置每个设备的q值指示其设备的首选项,则自动用值1.0(默认的q值)填充该设备所支持的媒体类型的q值350、355和360。
在另一个实施方式中,设备可以在其上运行多个应用程序。此外,单一应用程序310(如应用程序1)可以支持多种媒体类型(实时320或非实时315)。在本实施方式中,在线实体110可以配置在该设备上运行的每个应用程序310所支持的每种媒体类型(分别是文本、语音和多媒体)的q值325、330和335。在不配置与在该设备上运行的每个应用程序310所支持的不同媒体类型相关联的任意q值的情况下,如果在线实体110通过配置每个设备和/或每种媒体类型的q值(如q值350、355和360)来指示其设备首选项,则自动用值1.0(默认的q值)填充不同应用程序310所支持的媒体类型的q值325、330和335。
如上所述,也可以用多种非易碎格式来指示设备和媒体首选项。一般来说,可以把可用媒体类型划分成用于实时通信和非实时通信的6个组X={textrt,voicert,mmrt,textnrt,voicenrt,mmnrt}如果在线实体具有一组可以用于通信的设备,如D={D1,D2,...,Dn},则该在线实体可以用多种不同的方式用非易碎数据表示其媒体首选项。
图4中说明了非易碎数据结构400的一个例子。在图4中,输入非易碎原始首选项数据作为每种媒体类型的首选项排列次序。因此,对于每个设备120Dk,在线实体110提供其每种媒体类型(实时420或非实时410)的首选项作为各排列次序(k=1,...,n)Ok={ok(textrt),ok(voicert),ok(mmrt),ok(textnrt),ok(voicenrt),ok(mmnrt)}例如,如果设备120(如设备1)包含实时文本、实时语音和实时多媒体的媒体类型,则在线实体110分别输入每种媒体类型(即1、2或3)的首选项次序430、440和450,以便按照首选项的次序对媒体类型进行排序。
非易碎数据格式的另一个例子是模糊首选项关系格式。例如,对于设备Dk,可以利用具有以下隶属函数的模糊首选项关系RkX×X(k=1,...,n)来描述该在线实体在X上的首选项μkX×X→
非易碎数据格式的另一个例子是效用函数格式。例如,对于设备Dk,该在线实体可以提供其在X上的首选项作为6个效用值的集合,Uk={uk1,uk2,uk3,uk4,uk5,uk6},k=1,...,n。非易碎数据格式的一个附加例子是语言排序格式,其中该在线实体以逐对比较的方式指示其首选项。例如,该在线实体可以为每个设备上所支持的每种媒体类型(以及在每个设备上运行的每个应用程序所支持的每种媒体类型)输入或选择以下选项中的一个选项(a)不关心;(b)很不重要;(c)较不重要;(d)同等重要;(e)比较重要;或(f)很重要。应该理解,还可以使用其它语言格式来确定在线实体的设备/媒体类型首选项。
图5是一个流程图,说明根据本发明之实施方式将在线实体首选项的设备视图变换为媒体视图的示例性过程500。最初,在方框510中,在线实体以多种格式将原始首选项数据输入到在线系统中。在方框520中,如果原始首选项数据为非易碎格式,则在方框530中将非易碎数据转换为每个设备上所支持的每种媒体类型的易碎数据(q值)(并且有可能将非易碎数据转换为在每个设备上运行的每个应用程序所支持的每种媒体类型的易碎数据(q值))。在方框540中,使用原始首选项数据(易碎数据以及经过转换的非易碎数据)来计算与特定设备相关联的特定媒体类型的q值。例如,对于在线实体P,假设其有n(≥1)个可以用于通信中的设备,如D={D1,D2,...,Dn},并且X={textrt,voicert,mmrt,textnrt,voicenrt,mmnrt}为媒体类型的集合。同样,假设对于设备Dk,有s=sk(≥0)个应用程序A={Ak1,Ak2,Aks}在Dk(k=1,...,n)上运行。因此,对于每种媒体类型x∈X,可以按以下方式计算与设备Dk相关联的x的q值qk(x)=max{qk×qx(Ak1),qk×qx(Ak2),...,qk×qx(Aks),qx}于是,将特定设备上的特定媒体类型的q值计算为该在线实体为该设备上的媒体类型输入的最大q值。一旦在方框550中计算出每个设备上的特定媒体类型的q值,就可以在方框560中按以下方式计算x的整体q值(跨所有在线实体设备的特定媒体类型的整体q值)q(x)=max{q1(x),...,qn(x)}于是,将跨所有设备的特定媒体类型的整体q值计算为为每个设备的特定媒体类型计算的最大q值。在方框570中,对该在线实体可用的每种媒体类型重复该过程。一旦计算出所有媒体类型的整体q值,就在方框580中按照降序对这些值{qx|x∈X}进行排序,以确定媒体类型首选次序。
本领域的普通技术人员应当理解,可以在很广的应用范围上修改和改变本申请所述的创新概念。因此,本申请主题的范围不应限于所论述的任何特定示例性描述,相反,本申请主题的范围是由下面的权利要求来定义的。
权利要求
1.一种在线系统,包括能够以多种格式从在线实体收集原始首选项数据的在线服务器,所述原始首选项数据包括与所述在线实体相关联的每个设备所支持的每种媒体类型的首选项指示;其中所述在线服务器可操作为处理所述原始首选项数据以确定媒体类型的首选顺序并且可操作为向所述在线实体的观察者提供媒体类型的所述首选顺序。
2.根据权利要求1所述的在线系统,其中所述原始首选项数据包括用于指示与所述在线实体相关联的每个设备的q值的易碎数据。
3.根据权利要求2所述的在线系统,其中所述易碎数据还包括与所述在线实体关联的每个设备上支持的每种媒体类型的q值。
4.根据权利要求3所述的在线系统,其中所述易碎数据还包括与所述在线实体相关联的每个设备上运行的每个应用程序所支持的每种媒体类型的q值。
5.根据权利要求4所述的在线系统,其中所述在线服务器还操作为根据所述易碎数据计算每个设备上所支持的每种媒体类型的总q值。
6.根据权利要求5所述的在线系统,其中所述在线服务器还操作为根据为每个设备计算的所述总q值计算每种媒体类型的整体q值。
7.根据权利要求6所述的在线系统,其中所述在线服务器还操作为根据为每种媒体类型计算的所述整体q值确定媒体类型的所述首选项次序。
8.一种将在线实体首选项的设备视图转换为媒体视图的方法,包括步骤以多种格式从在线实体收集原始首选项数据,所述原始首选项数据包括与所述在线实体相关联的每个设备所支持的每种媒体类型的首选项指示;处理所述原始首选项数据以确定媒体类型的首选次序;以及向所述在线实体的观察者提供媒体类型的所述首选次序。
9.根据权利要求8所述的方法,其中所述原始首选项数据包括易碎数据和非易碎数据中的至少一种数据,其中所述易碎数据指示与所述在线实体关联的每个设备上运行的每个应用程序所支持的每种媒体类型的q值,并且所述方法还包括步骤使用所述非易碎数据来确定与所述在线实体相关联的每个设备上所支持的至少每种媒体类型的q值。
10.根据权利要求9所述的方法,其中所述处理还包括根据所述易碎数据和所述非易碎数据计算每个设备上所支持的每种媒体类型的总q值。
11.根据权利要求10所述的方法,其中所述处理还包括根据为每个设备计算的所述总q值计算每种媒体类型的整体q值。
12.根据权利要求11所述的方法,其中所述处理还包括根据为每种媒体类型计算的所述整体q值确定媒体类型的所述首选项次序。
全文摘要
一种在线服务器通过以多种格式从在线实体收集原始首选项数据,并处理该原始首选项数据以确定媒体类型的首选次序,将在线实体首选项从设备视图变换为媒体视图。该原始首选项数据包括与该在线实体相关联的每个设备所支持的每种媒体类型的首选项指示。可以向在线实体的观察者提供媒体类型的首选次序。
文档编号H04L29/06GK1791107SQ20051012755
公开日2006年6月21日 申请日期2005年12月5日 优先权日2004年12月15日
发明者吴福明, 阿齐茨·莫哈梅德 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1