首页> 中国专利> 基于活动在线简档的自动呼叫路由

基于活动在线简档的自动呼叫路由

摘要

一种用于基于活动在线简档向多个身份(607)的一个身份自动地路由呼叫的方法和系统。向用户的联系人地址发送订阅消息。该联系人地址包括用户的身份(607)以及管理实时通信系统的远程服务器的指示符。接收包括用户第一身份的在线状态的在线文档(3b)。在线状态指示该第一身份离线。向远程服务器(614)发出注册消息,导致呼叫从第一身份(608)重定向至第二身份(610)。第二身份(610)包括在活动在线简档中并且与接收重定向的呼叫的计算系统(616)相关联。如果用户的多个在线简档是活动的,则匹配算法选择活动在线简档中的一个简档的联系人地址,以便确定呼叫重定向。

著录项

  • 公开/公告号CN102160362A

    专利类型发明专利

  • 公开/公告日2011-08-17

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200980136354.6

  • 发明设计人 I·T·莱;

    申请日2009-09-14

  • 分类号H04L29/08;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-22

    未缴年费专利权终止 IPC(主分类):H04L29/08 专利号:ZL2009801363546 申请日:20090914 授权公告日:20140212

    专利权的终止

  • 2014-02-12

    授权

    授权

  • 2011-09-28

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20090914

    实质审查的生效

  • 2011-08-17

    公开

    公开

说明书

技术领域

本发明涉及用于基于被呼叫者的活动在线简档向该被呼叫者的多个身份的一个身份自动地路由呼叫的数据处理方法和系统,并且更具体地,涉及用于将送往被呼叫者的非活动身份的呼叫自动重定向至该被呼叫者的活动身份的技术。

背景技术

由供应商和服务提供商提供的常规基于在线的实时互动式消息传输(例如,Google(亦称GTalk)、Messenger等)已经创建了“在线孤岛(presence island)”景观,其中难于管理及互操作最终用户的多个身份。允许向电话号码或地址路由进入消息的消息传输产品上的常规“跟随我(follow-me)”特征对于要求手动选择或输入电话号码或地址的最终用户而言是不方便的。因此,存在克服相关技术的前述缺陷和限制的至少一个的需求。

发明内容

在第一实施方式中,本发明提供了一种基于最终用户的活动在线简档向该最终用户的多个身份的一个身份自动地路由呼叫的计算机实现的方法。计算系统向最终用户的联系人地址发送订阅消息。该联系人地址包括最终用户的身份,以及管理多个基于在线的实时互动通信系统的远程服务器计算系统的指示符。每个远程服务器计算系统远离发送订阅消息的计算系统。接收包括最终用户的多个身份的第一身份的在线状态的在线文档。计算系统确定在线状态指示最终用户的第一身份是离线或离开。作为响应,向远程服务器计算系统发出注册消息,由此导致将送往第一身份的任意呼叫重定向至最终用户的多个身份的第二身份。该第二身份包括在最终用户的活动在线简档中,并且与计算系统相关联。在发出注册消息之后以及作为重定向的结果,计算系统接收呼叫。

在第二实施方式中,本发明提供了一种基于选自多个活动在线简档的活动在线简档向最终用户的身份自动地路由呼叫的计算机实现的方法。管理基于在线的实时互动通信系统的计算系统检索第一简档的第一组细节、第二简档的第二组细节和第三简档的第三组细节。第一简档描述最终用户的多个身份的第一身份的属性。第二简档描述最终用户的多个身份的第二身份的属性。第三简档描述最终用户的多个身份的第三身份的属性。第二简档和第三简档是最终用户的活动在线简档。在检索该多组细节之后,将第一组细节与第二组细节进行比较,从而产生该第一组细节与该第二组细节之间相似性的第一测量。在检索该多组细节之后,将第一组细节与第三组细节进行比较,从而产生该第一组细节与该第三组细节之间相似性的第二测量。计算系统确定该第一测量大于该第二测量,由此指示该第一组细节与该第二组细节之间的相似性大于该第一组细节与该第三组细节之间的相似性。响应于确定该第一测量大于该第二测量,将该第二简档中包括的联系人地址保留在存储设备中,而将该第三简档中包括的联系人地址从该存储设备中移除。计算系统经由该第二简档中包括的联系人地址向第二身份路由最初送往第一身份的呼叫。

根据一个方面,提供了一种包括处理器和耦合到所述处理器的计算机可读存储器单元的计算系统,所述存储器单元包含指令,当由所述处理器执行该指令时,实现基于最终用户的活动在线简档向所述最终用户的多个身份的一个身份自动地路由呼叫的方法,所述方法包括:向最终用户的多个联系人地址发送订阅消息,其中所述多个联系人地址包括所述最终用户的多个身份,以及管理多个基于在线的实时互动通信系统的多个远程服务器计算系统的多个指示符,其中每个远程服务器计算系统远离所述计算系统;从所述多个远程服务器计算系统的远程服务器计算系统接收包括所述最终用户的所述多个身份的第一身份的在线状态的在线文档;确定所述在线状态指示所述最终用户的所述第一身份是离线或离开;响应于所述确定,向所述远程服务器计算系统发出注册消息,其中所述发出所述注册消息的结果是将送往所述第一身份的任意呼叫重定向至所述最终用户的所述多个身份的第二身份,其中所述第二身份包括在所述最终用户的所述活动在线简档中,并且与所述计算系统相关联;以及在所述发出所述注册消息之后接收所述呼叫,其中所述接收所述呼叫是所述重定向的结果。

根据另一方面,提供了一种计算机程序产品,其包括具有其中体现计算机可读程序代码的计算机可用介质,所述计算机可读程序代码包含指令,当由计算系统的处理器执行该指令时,实现基于最终用户的活动在线简档向所述最终用户的多个身份的一个身份自动地路由呼叫的方法,所述方法包括:向最终用户的多个联系人地址发送订阅消息,其中所述多个联系人地址包括所述最终用户的多个身份,以及管理多个基于在线的实时互动通信系统的多个远程服务器计算系统的多个指示符,其中每个远程服务器计算系统远离所述计算系统;从所述多个远程服务器计算系统的远程服务器计算系统接收包括所述最终用户的多个身份的第一身份的在线状态的在线文档;确定所述在线状态指示所述最终用户的所述第一身份是离线或离开;响应于所述确定,向所述远程服务器计算系统发出注册消息,其中所述发出所述注册消息的结果是将送往所述第一身份的任意呼叫重定向至所述最终用户的所述多个身份的第二身份,其中所述第二身份包括在所述最终用户的所述活动在线简档中,并且与所述计算系统相关联;以及在所述发出所述注册消息之后接收所述呼叫,其中所述接收所述呼叫是所述重定向的结果。

根据又一方面,提供了一种用于支持计算基础设施的过程,所述过程包括向在第一计算系统中创建、整合、主控、维护和部署计算机可读代码中的至少一个提供至少一个支持服务,其中与该第一计算系统结合的代码能够执行基于最终用户的活动在线简档向所述最终用户的多个身份的一个身份自动地路由呼叫的方法,所述方法包括:向最终用户的多个联系人地址发送订阅消息,其中所述多个联系人地址包括所述最终用户的多个身份,以及管理多个基于在线的实时互动通信系统的多个远程服务器计算系统的多个指示符,其中每个远程服务器计算系统远离所述计算系统;从所述多个远程服务器计算系统的远程服务器计算系统接收包括所述最终用户的所述多个身份的第一身份的在线状态的在线文档;确定所述在线状态指示所述最终用户的所述第一身份是离线或离开;响应于所述确定,向所述远程服务器计算系统发出注册消息,其中所述发出所述注册消息的结果是将送往所述第一身份的任意呼叫重定向至所述最终用户的所述多个身份的第二身份,其中所述第二身份包括在所述最终用户的所述活动在线简档中,并且与所述计算系统相关联;以及在所述发出所述注册消息之后接收所述呼叫,其中所述接收所述呼叫是所述重定向的结果。

这里还描述了用于支持对应于上文所概括的方法的计算基础设施的系统、计算机程序产品和过程。

附图说明

将参考以下附图仅通过示例的方式来描述本发明的优选实施方式:

图1是根据本发明的实施方式的用于基于被呼叫者的活动在线简档向该被呼叫者的多个身份的一个身份自动地路由呼叫的系统的框图;

图2A-图2B描绘了根据本发明的实施方式的由图1的系统实现的基于活动在线简档的自动呼叫路由过程的流程图;

图3描绘了根据本发明的实施方式的在图2A-图2B的过程中标识的超身份组的示例;

图4是根据本发明的实施方式的向由图1系统中实现的活动在线简档匹配算法选择的身份自动地路由呼叫的过程;

图5描绘了根据本发明的实施方式的在图4过程中包括的简档匹配中利用的超身份组的示例;

图6是根据本发明的实施方式描绘示例图2A-图2B过程的用例情形的框图;以及

图7是根据本发明的实施方式的在图1系统中包括的并且实现了图2A-图2B和图4过程的计算系统的框图。

具体实施方式

概述

根据优选实施方式,本发明提供了基于最终用户的活动在线简档的自动的呼叫路由。可以利用例如会话发起协议(SIP)的开放式标准协议、在线服务和好友列表。可以分层于在线服务顶部的新组件询问好友列表和SIP服务,以便促进呼叫路由自动化。自动的呼叫路由特征允许送往多个在线空间的实时通信消息可以到达最终用户,而与他或她当前登录的在线空间(例如,GTalk、Messenger等)无关。进入的消息被路由至最终用户的活动在线简档。例如,如果一个人当前在GTalk中活动,则送往这个人的帐户的传入呼叫被自动地路由至GTalk。

这里所公开的解决方案可以使最终用户免于每当该最终用户切换至另一在线简档时都必须要手动地更新“跟随我”地址。此外,本解决方案优选地提供了对于呼叫者与被呼叫者两者皆透明的完整的、自我管理式呼叫路由特征。对呼叫者的呼叫路由透明性可以向被呼叫者提供隐私保护。

定义

在本部分中列出的术语在这里使用并且定义如下。

联系人地址:用于与基于在线的实时互动通信系统(例如,即时消息传输系统、因特网协议语音(VoIP)系统或因特网协议多媒体子系统(IMS))的最终用户通信的地址,其中联系人地址包括标识最终用户的身份,以及管理基于在线的实时互动通信系统的服务器计算系统的指示。在下文中,基于在线的实时互动通信系统还被称作实时互动通信系统。

最终用户(亦称用户):人、人群或实体,其身份经由设备和实时互动通信系统从另一人、人群或实体接收通信(即,消息)(或其身份是经由设备和实时互动通信系统来自另一人、人群或实体的通信(即,消息)的预计接收者),其中实时互动通信系统通过身份来标识最终用户。其身份接收通信或其身份是通信的预计接收者的最终用户在这里还被称作被呼叫者。

在线信息:包括最终用户的身份的在线状态的信息,并且该信息还可以包括最终用户活动性的描述、指示最终用户的身份在用于实时互动通信系统的设备上空闲的时间段的开始时间的时间戳、最终用户在其中使用该设备的场所类型和/或该设备的地理位置。

在线服务:接收、存储和分发在线信息的服务。

在线状态:终端用户的身份经由实时互动通信系统接收通信的可用性的指示(例如,在线(亦称活动)、离线或离开)。如这里所使用的,“离开”的在线状态表示这样的最终用户,其在线但空闲了一段时间(例如,没有鼠标或键盘活动)。

在线体:向在线服务提供在线信息的在线实体。在线体是愿意向实时互动通信系统的用户提供在线信息的人或人群。作为人群的在线体对于实时互动通信系统的用户看来是一个实体。在线体是实时互动通信系统的最终用户。

基于活动在线简档的自动的呼叫路由系统

图1是根据本发明的实施方式的用于基于被呼叫者的活动在线简档向该被呼叫者的多个身份的一个身份自动地路由呼叫的系统的框图。系统100包括SIP/在线服务器计算系统102(亦称SIP服务器)、与在线体相关联的设备104(亦称在线体设备)和订户设备106。在此部分中,与设备104相关联的在线体简称为“在线体”。SIP服务器102包括SIP服务108、在线服务110和目录服务112。SIP服务108包括SIP代理114和SIP注册器116。在线服务110包括在线文档118和超身份服务120。目录服务包括超身份组122。

SIP服务108是管理呼叫发起、会话建立和设备地址注册的SIP系统。SIP代理114路由、转发、重定向和分流SIP消息。SIP代理114还响应SIP INVITE消息。SIP注册器116负责向统一资源标识符(URI)(例如,具有sip:或tel:方案名称的URI)注册SIP客户端设备的联系人地址(例如,因特网协议(IP)地址)。

在线服务110是允许最终用户公布其在线状态以及订阅彼此的在线状态的在线系统。每个最终用户的在线状态(即在线信息中包括的状态)封装在在线文档118中包括的在线文档中。在线服务110在例如在线体设备104和订户设备106的客户端设备之间接收并发送在线文档118。每个在线文档118都基于在线信息数据格式(PIDF)标准以及其他所提出的扩展(例如,在线信息数据格式的富在线扩展(RPID))。PIDF标准由因特网工程任务组(IETF)公布为RFC3863。PIDF标准的RPID扩展由IETF公布为RFC4480。在下文中,PIDF标准以及提出的扩展(例如,RPID)统称为PIDF/RPID标准。每个在线文档用于描述与在线体相关联的在线信息的多个方面:例如(1)设备状态(即,在线体设备的状态;例如,打开或关闭);(2)最终用户的活动性(例如,在打电话、离开、约会、度假、进餐等);(3)指示最终用户在设备上空闲的开始时间的时间戳;(4)场所类型(例如,家里、办公室、安静、喧闹、机场、公共汽车等);以及(5)位置(例如,全球定位系统(GPS)坐标)。在PIDF标准中,“打开”的设备状态相当于“在线”,并且“关闭”的设备状态相当于“离线”。

超身份服务120包括根据优选的实施方式执行本发明的方法的核心处理逻辑,如图2A-图2B和图4中所示出的。

目录服务112是包括包含针对授权的最终用户(例如,在线体)的好友列表(即,联系人列表)的数据存储器的系统。好友列表标识授权的最终用户可以经由实时互动通信系统(例如,即时消息传输)与之通信的联系人(即,人和/或实体)。前面提到的与好友列表相关联的授权的最终用户在这里还被称作拥有者。好友列表可以列出用于将联系人分组的组。好友列表中的组例如可以是家庭成员、朋友、工作同事等。在本解决方案中,特殊组名称保留在目录服务112中。如这里所使用的,特殊组名称为“超身份”(即,超身份组122是好友列表中包括的并且具有“超身份”的特殊组名称的组)。本解决方案预期另一名称可以替代“超身份”。

目录服务112允许与作为授权的最终用户的在线体相关联的设备(例如,在线体设备104)在超身份组122中建立并且更新信息。超身份组122包括属于授权的最终用户的所有用户简档(亦称在线简档)的列表。超身份组122中的每个用户简档包括授权的最终用户的联系人地址。例如,超身份组122中包括的联系人地址可以包括该最终用户的GTalk身份、身份、身份或Messenger身份。

在一个实施方式中,由可扩展标记语言(XML)表示超身份组122以允许未来的扩展。例如,图3中示出了以XML表示并且与标识为“Tim”的最终用户相关联的超身份组。

在一个实施方式中,使用XML配置访问协议(XCAP)服务实现目录服务112和超身份组122。XCAP是允许用户或应用操纵超文本传输协议(HTTP)服务器中存储的XML文档的协议,其中XML文档的格式是可扩展的。在另一实施方式中,目录服务112利用数据库存储器来存储超身份组122。

在线体设备104是在SIP服务108上注册其联系人地址、向在线服务110公布其在线状态、以及存储、更新和检索目录服务112中包括的超身份组122的细节的SIP设备。

订户设备106是订阅在线服务110、作为与在线体相关联的在线信息的观察者的SIP设备。如这里所使用的,观察者向在线服务请求关于在线体的在线信息(例如,请求在线服务提供在线体的在线信息中任何变化的立即通知)。

基于活动在线简档的自动的呼叫路由过程

图2A-图2B描绘了根据本发明的实施方式的由图1的系统实现的基于活动在线简档的自动呼叫路由过程的流程图。基于活动在线简档自动地路由呼叫的过程在步骤200处开始。在步骤202中,SIP服务器102(见图1)(亦称SIP服务器A)接收最终用户向实时通信系统的登录。在步骤204中,SIP服务器A发起订阅目录服务112(见图1)中存储的最终用户的好友列表。步骤204中的订阅通过发出订阅命令来执行,该订阅命令包括向最终用户的好友列表中包括的联系人地址发送请求,用于确定与该联系人地址相关联的身份的状态(例如,用于确定身份是否在线、离线或离开)。

如果目录服务112(见图1)在步骤206中确定最终用户的好友列表不包括超身份组122,则图2A-图2B的过程继续步骤208。在步骤208中,继续由SIP服务器A进行的常规SIP/在线处理,并且用户的在线状态由在线服务110(见图1)公布。在步骤210中,由SIP服务器A继续对一个或多个远程SIP/在线服务器(图1中未示出)进行不间断监听。一个或多个远程SIP/在线服务器远离SIP服务器102(见图1),并且具有与SIP服务器102(见图1)的组件类似的组件。

返回到步骤206,如果目录服务112(见图1)确定最终用户的好友列表包括超身份组122,则在步骤212中,SIP服务器A向其在线简档包含在超身份组122中的每个在线体发送订阅消息。例如,在步骤212中,SIP服务器A向在线设备104(见图1)发送订阅消息。步骤214跟着步骤212和步骤210。步骤212和步骤214由超身份服务120执行。

在步骤214中,SIP服务器A的在线服务110接收一个或多个在线文档,每个在线文档都从远程SIP/在线服务器中的一个接收。一个或多个在线文档以一对一的对应方式与一个或多个远程在线体相关联。一个或多个远程在线体以一对一的对应方式与一个或多个远程SIP/在线服务器相关联。响应于在步骤212中发送的订阅消息,接收每个在线文档。图2B的步骤216跟着步骤214。

针对步骤214中接收的每个在线文档,如果SIP服务器A在步骤216中确定在线文档的状态字段指示与该在线文档相关联的远程在线体(1)离线或离开,或(2)状态从在线(即,活动)变成离线或离开,则采取步骤216的“是”分支并且执行步骤218。例如,如果远程在线体退出其对应的SIP/在线服务器(即,远离SIP服务器A的SIP/在线服务器),则采取步骤216的“是”分支。在步骤218中,SIP服务器A发出针对目标SIP服务器的SIP注册器的SIP REGISTER消息。如这里所使用的,目标SIP服务器定义为与其地址是呼叫的最初目的地的远程在线体相关联的远程SIP/在线服务器。SIPREGISTER消息的发出导致从目标SIP服务器到SIP服务器A的呼叫流的自动重定向。跟着步骤218之后,从图2A的步骤208开始重复图2A-图2B的过程。

返回到步骤216,如果SIP服务器A确定在线文档的状态字段指示与在线文档相关联的远程在线体(1)没有离线或离开,并且(2)没有将状态从在线(即,活动)变成离线或离开,则执行步骤222。

如果SIP服务器A在步骤222中确定在线文档的状态字段指示与该在线文档相关联的远程在线体将状态从离线或离开改变成在线(即,活动),则采取步骤222的“是”分支并且执行步骤224。例如,如果远程在线体退出其对应的SIP/在线服务器(即,远离SIP服务器A的SIP/在线服务器),则采取步骤222的“是”分支。在步骤224中,SIP服务器A发出针对与远程在线体相关联的远程SIP/在线服务器(即,目标SIP服务器)的SIP注册器的SIP REGISTER消息。SIP REGISTER消息的发出导致SIP服务器A的地址解除注册,以便取消从目标SIP服务器到SIP服务器A的呼叫流的重定向。跟着步骤224之后,在图2A的步骤208处开始重复图2A-图2B的过程。

返回到步骤222,如果SIP服务器A确定在线文档的状态字段指示与该在线文档相关联的远程在线体没有将状态从离线或离开改变成在线(即,活动),则超身份服务120(见图1)在步骤226中不执行呼叫流重定向或者取消呼叫流重定向。沿步骤222的“否”分支移动至步骤226,表示远程在线体的在线信息已经改变,其中改变的在线信息不同于在步骤216和步骤222中检查的在线状态中的改变。例如,远程在线体的在线信息可以将与远程在线体相关联的场所类型从机场改变到办公室。跟着步骤226之后,在图2A的步骤208处开始重复图2A-图2B的过程。

步骤216、218、222、224和226由超身份服务120(见图1)执行。

图3描绘了根据本发明的实施方式的在图2A-图2B的过程中标识的超身份组的示例。超身份组300包括针对标识为“Tim”的个体的用户简档。超身份组300中的每个用户简档包括名称、联系人地址和电子邮件地址。超身份组300是图2A的步骤206中标识的超身份组的示例。

利用多活动在线简档的自动的呼叫路由

图4是根据本发明的实施方式的向由图1系统中实现的活动在线简档匹配算法选择的身份自动地路由呼叫的过程。如果由于多个用户简档是活动的而存在多个呼叫重定向地址,则图4过程中简档匹配算法的执行自动地选择最适当的呼叫重定向地址。简档匹配算法需要扩展超身份组122(见图1)中记录的简档细节。例如,超身份组122(见图1)内的每个简档以XML格式表示,该格式是可扩展的,由此允许超身份组122中的简档细节按照简档匹配算法所要求的进行扩展。

在一个实施方式中,简档匹配算法是基于计算不同用户简档中对应的数据元素之间完全匹配的数目的总数。例如,在表示第一简档的第一XML文档中标记为“兴趣”的数据元素中的“PC游戏”属性完全匹配表示第二简档的第二XML文档中标记为“兴趣”的数据元素中的“PC游戏”属性。

在另一实施方式中,简档匹配算法是基于用于计算匹配得分的模糊算法。例如,模糊算法可以确定“游戏玩家”与“健身教练”相比要比“游戏玩家”与“IT架构师”相比具有更高的匹配得分。

基于这里公开的简档匹配算法来选择重定向联系人地址的能力可以有利地应用于虚拟教育/辅导以及专业保障服务/生命保障热线。例如,可以针对虚拟讲师/辅导员的组建立超身份组,其中每个讲师/辅导员与以下细节简档相关联,该细节简档包括他或她正在教授什么科目、他或她讲什么语言等。试图联系不在线的第一讲师/辅导员的学生将被自动路由至第二讲师/辅导员,该第二讲师/辅导员的简档细节包括与该第一讲师/辅导员的属性最紧密匹配的属性。

向活动在线简档匹配算法选定的身份自动地路由呼叫的过程在步骤400处开始。用户B和用户C是离线的。在图2A-图2B的过程期间并且在步骤402之前,用户A登录SIP服务器102(见图1)(亦称SIP服务器A或SIP_Server_A)。在步骤402中,SIP服务器A在图2A-图2B的过程期间发出了针对SIP/在线服务器C(亦称SIP服务器C或SIP_Server_C)的呼叫重定向,用于指示呼叫从SIP服务器C到SIP服务器A的重定向。

在步骤404中,SIP/在线服务器B(亦称SIP服务器B或SIP_Server_B)接收用户B的登录。用户C继续是离线的。使用图2A-图2B的逻辑,SIP服务器B确定是否联系SIP服务器A和SIP服务器C。因为SIP服务器A已经使得用户A登录,所以SIP服务器B不发出针对SIP服务器A的呼叫重定向。因为用户C还没有登录上SIP服务器C,所以SIP服务器B在步骤406中发出针对SIP服务器C的SIP REGISTER消息,用于指示呼叫从SIP服务器C到SIP服务器B的重定向。

跟在步骤406之后,从SIP服务器C的角度来描述图4的过程。SIP服务器C包括与图1中所示的SIP服务器102的组件类似的组件。例如,SIP服务器C包括其功能与超身份服务120(见图1)的功能类似的超身份服务407。

在步骤408中,SIP服务器C的超身份服务407检索注册的重定向联系人地址(即,UserA@SIP_Server_A和UserB@SIP_Server_B)的简档细节。例如,超身份服务407检索超身份组500的第一简档和第二简档中标记为“联系人”的数据元素,该超身份组500包括在如图5所示的目录服务112中。

在步骤410中,SIP服务器C的超身份服务407检索当前帐户(即,UserC@SIP_Server_C)的简档细节。例如,超身份服务407检索超身份组500(见图5)的第三简档中标记为“联系人”的数据元素。

针对从步骤402和步骤406得到的每个重定向联系人地址,SIP服务器C的超身份服务407在步骤412执行针对UserC@SIP_Server_C的简档匹配,以便确定对应于重定向联系人地址的哪个简档最紧密匹配当前帐户的简档。在一个实施方式中,最紧密匹配是通过对应于重定向联系人地址的哪个简档具有匹配当前帐户的简档中相同标记的数据元素最多的数据元素来确定。

例如,将对应于UserA@SIP_Server_A的超身份组500(见图5)中的用户A简档与对应于UserC@SIP_Server_C的超身份组500(见图5)中的用户C简档进行比较,以便确定用户A简档与用户C简档匹配的紧密程度。进一步,将对应于UserB@SIP_Server_B的超身份组500(见图5)中的用户B简档与用户C简档进行比较,以便确定用户B简档与用户C简档匹配的紧密程度。步骤412的简档匹配确定了哪个简档(即,用户A简档或用户B简档)与用户C简档匹配更紧密。在此示例中,确定用户B简档与用户C简档匹配更紧密,因为用户B与用户C的简档之间相互匹配的数据元素多于用户A与用户C的简档之间相互匹配的数据元素。用户A简档仅在一个数据元素中匹配用户C简档(即,30的年龄在用户A简档与用户C简档两者中是相同的;见图5),而用户B简档在三个数据元素中匹配用户C简档(即,对PC游戏感兴趣、英语的语言以及30的年龄在用户B简档与用户C简档两者中是相同的;见图5)。

在步骤414中,超身份服务407保留一个重定向联系人地址,该重定向联系人地址包括在与步骤412中确定的最紧密匹配相关联的简档中。在步骤414中,超身份服务407以与SIP服务器C如何存储所有其他在线体的联系人地址相同的方式存储上文提到的重定向联系人地址。在一个实施方式中,超身份服务407在步骤414中将重定向联系人地址存储到与SIP服务器C耦合的存储器中,或者存储到与SIP服务器C耦合的存储设备中。进一步,在步骤414中,超身份服务407从存储器中移除(例如,从与SIP服务器C耦合的存储器或存储设备中移除)另一重定向联系人地址,该重定向联系人地址包括在步骤412中被比较但是不与步骤412中确定的最紧密匹配相关联的简档中。移除的联系人地址并不接收其最初目的地是当前帐户的重定向的呼叫。例如,在步骤414中,超身份服务407保留UserB@SIP_Server_B作为接收最初送往UserC@SIP_Server_C的重定向的呼叫的重定向联系人地址,并且移除UserA@SIP_Server_A(即,UserA@SIP_Server_A不再接收最初送往UserC@SIP_Server_C的重定向的呼叫)。跟在步骤414之后,图4的过程在步骤416处结束。

如果用户C稍后登陆上SIP_Server_C(即,用户C的在线状态从离线变成在线),则先前设置并保留在图4过程中的重定向地址由步骤222(见图2B)的“是”分支和步骤224(见图2B)取消。

用例情形

图6是根据本发明的实施方式的描绘示例图2A-图2B过程的用例情形的框图。由图6所示的用例情形涉及标识为Tim的最终用户。系统600包括Tim的通信设备601,该通信设备601包括智能电话602、智能设备604和办公室计算单元606。智能电话602可以经由电话号码0412345678来联系。智能设备604可以经由SIP地址dev1@192.11.22.12来联系。办公室计算单元606可以经由地址121.1.3.12来联系。每个通信设备601都是在线体设备104(见图1)的示例。

系统600还包括Tim的身份(即,SIP/在线帐户)607,该身份包括第一身份608(即,Tim_1)、第二身份610(即,Tim_2)和第三身份612(即,Tim_3)。Tim_1离线并且与第一SIP/在线服务器614(即,SIP/在线服务器1或sip1.com.au)相关联。Tim_2在线并且与第二SIP/在线服务器616(即,SIP/在线服务器2或sip2.com.au)相关联。Tim_3为离开并且与第三SIP/在线服务器618(即,SIP/在线服务器3或sip3.com.au)相关联。SIP/在线服务器1提供针对虚拟世界的功能。SIP/在线服务器2提供针对移动服务提供商的功能。

用例1:在第一用例中,Tim在办公室外并且联系Tim的唯一方式是通过智能电话602和智能设备604,该智能电话602和智能设备604与位于SIP/在线服务器2上的Tim_2身份相关联。对应于Tim_2的在线体为在线。Tim可以选择向Tim_2路由送往Tim的其他两个身份(即,Tim_1和Tim_3)的传入呼叫。Tim预先配置其资源列表,以便将其所有三个身份607都包括在称作HyperIdentity的特殊组下。资源列表是SIP/在线服务器中用于存储好友列表的特征。在用例1中,HyperIdentity被保留作为标识超身份组122(见图1)的特殊组名称。

在步骤1中(见图6中标记为1的箭头),Tim注册针对Tim_2的智能电话602。步骤1中的成功注册触发SIP/在线服务器2执行针对资源列表中每个Tim的身份607的自动订阅。SIP/在线服务器2向资源列表中的每个身份607发出SIP SUBSCRIBE消息,然后接收根据PIDF/RPID标准格式化的在线文档中的每个SIP SUBSCRIBE消息的结果。每个接收的在线文档包括针对一个或多个设备的属性和状态,该一个或多个设备与SIP/在线服务器2向其发出SIP SUBSCRIBE消息的对应身份相关联。

由超身份服务120(见图1)提供的逻辑确定生成自超身份组122(见图1)中包括的身份的在线文档是否指示其在线状态由该在线文档描述的在线体离线。如果其在线状态由该在线文档描述的在线体离线,则超身份服务120(见图1)将最初送往该离线在线体的呼叫重定向至对应于其SIP REGISTER消息生成在线文档的SIP/在线服务器的在线在线体。在用例1中,生成自Tim_1(其包括在HyperIdentity中)的在线文档指示对应于Tim_1的在线体离线(见图2B步骤216的“是”分支)。SIP/在线服务器2然后向SIP/在线服务器1发出SIPREGISTER消息,以便将针对Tim_1的传入呼叫重定向至Tim_2(见图2B的步骤218)。调用将针对Tim_1的呼叫重定向至Tim_2的例子SIP REGISTER消息呈现如下:

REGISTER sip:sip1.com.au

来自:Tim_2<sip:tim_2@sip2.com.au>;tag=a-tag

去往:Tim_1<sip:tim_1@sip1.com.au>

...

联系人:tel:0412345678@sip2.com.au

REGISTER头域包含针对其进行注册的SIP服务的领域。“来自”头域显示负责注册的人的记录地址。“去往”头域包含待创建注册的记录地址。联系人域包含地址绑定。

针对Tim_3生成的在线文档指示对应于Tim_3的在线体离线。利用与上文呈现的例子SIP REGISTER消息类似的SIP REGISTER消息,将送往Tim_3的呼叫重定向至Tim_2(见图2B的步骤216和步骤218)。

在步骤2中(见图6中标记为2的箭头),Tim注册针对Tim_2的智能设备604。在步骤3a中(见图6中标记为3a的箭头),虚拟世界中的化身试图经由虚拟电话620的呼叫联系位于tim_1@sip1.com.au的Tim_1。在步骤3b中(见图6中标记为3b的箭头),SIP/在线服务器1根据上文提到的将针对Tim_1的呼叫重定向至Tim_2,向0412 345 678转发在步骤3a中进行的呼叫。

用例2:在跟着用例1后的用例2中,Tim回到办公室并且登录其帐户,该帐户由其公司的SIP/在线服务器(即,SIP/在线服务器3)提供。Tim对其帐户的登录使用了Tim_3身份。Tim_2继续保持登录并且活动,并且Tim_1继续保持离线。在步骤4中(见图6中标记为4的箭头),向SIP/在线服务器3发出SIP REGISTER消息,以便将Tim_3的附加联系人地址注册为“sametime:121.1.3.12”。作为用例1的结果,针对Tim_3的联系人地址已经存在(即,tel:0412345678)。通过对SIP/在线服务器3的成功注册触发SIP PUBLISH消息去往SIP/在线服务器3的在线服务组件,以便指示对应于Tim_3的在线体在线。SIP/在线服务器3的在线服务组件检测对应于Tim_3的在线体中的状态改变(即,从离线到在线),然后向Tim_3的订户(其包括Tim_2)发出SIPNOTIFY消息。作为发送SIP NOTIFY消息的结果,SIP/在线服务器2接收针对Tim_2的在线文档。

响应于接收针对Tim_2的在线文档,SIP/在线服务器2的超身份服务组件确定接收的在线文档来自其用户简档在HyperIdentity组内的实体,以及确定针对该实体的在线状态已经被更新为在线(见图2B步骤222的“是”分支)。响应于确定接收的在线文档来自其用户简档在HyperIdentity组内的实体,以及该实体的在线状态被更新为在线,SIP/在线服务器2向SIP/在线服务器3发出SIP REGISTER消息中的UNREGISTER请求(见图2B的步骤224)。UNREGISTER请求的结果是到Tim_3的传入呼叫现在停止重定向至Tim_2,并且替代地达到sametime:121.1.3.12。

由于Tim_2和Tim_3两者现在都在线,因此SIP/在线服务器1的超身份服务组件执行简档匹配(即,图4的步骤408、410、412和414),以便确定最初送往Tim_1的呼叫是被重定向至Tim_2还是被重定向至Tim_3。在用例3中,SIP/在线服务器1对应于图4的SIP/在线服务器C。在用例3中,图4的步骤412确定相对于Tim_1的简档而言最紧密简档匹配为Tim_3的简档。图4的步骤414保留Tim_3的简档中的联系人地址,以便将最初送往Tim_1的呼叫流重定向至Tim_3。

用例3:在跟着用例2后的用例3中,Tim离开其办公室去参加会议,并且Tim_3的状态被更新为“离开”。Tim_2继续保持登录并且活动,并且Tim_1离线。在步骤5中(见图6中标记为5的箭头),办公室计算单元606向SIP/在线服务器3公布“离开”状态。响应于接收更新的状态,SIP/在线服务器3向每个Tim_3的订户(包括Tim_2)发送SIP NOTIFY消息。作为发送SIPNOTIFY消息的结果,SIP/在线服务器2接收包括Tim_3的状态中更新的在线文档。

接收在线文档的SIP/在线服务器的超身份服务组件确定该在线文档是否来自超身份组122(见图1)中的实体,以及在线状态是否被更新为“离线”或“离开”。在用例3中,SIP/在线服务器2中包括的超身份服务组件确定该在线文档来自HyperIdentity组内的实体,并且确定在线状态被更新为“离开”(见图2B步骤216的“是”分支)。SIP/在线服务器2的超身份服务组件接着向SIP/在线服务器3发出SIPREGISTER消息,以便将最初送往Tim_3的呼叫重定向至Tim_2(见图2B的步骤218)。

在步骤6a中(见图6标记为6a的箭头),最终用户John正试图经由来自John的智能设备622的呼叫来联系Tim_3@sip3.com.au。在步骤6b中(见图6中标记为6b的箭头),sip3.com.au向0412 345 678转发步骤6a中进行的呼叫。

进一步,SIP/在线服务器2中包括的超身份服务组件确定来自与Tim_1相关联的在线体的第二在线文档指示Tim_1离线(见图2B步骤216的“是”分支)。SIP/在线服务器2的超身份服务组件接着向SIP/在线服务器1发出SIP REGISTER消息,从而先前重定向至Tim_3的呼叫(见用例2)被重定向至Tim_2(见图2B的步骤218)。

计算系统

图7是根据本发明的实施方式的在图1系统中包括的并且实现图2A-图2B和图4过程的计算系统的框图。SIP/在线服务器计算系统102通常包括中央处理单元(CPU)702、存储器704、输入/输出(I/O)接口706和总线708。进一步,计算系统102与I/O设备710和计算机数据存储单元712耦合。CPU 702执行计算系统102的计算和控制功能。CPU 702可以包括单个处理单元,或分布在一个或多个位置中(例如,客户端和服务器上)的一个或多个处理单元上。

存储器704可以包括任意已知类型的计算机数据存储器和/或传输介质,包括海量存储器、磁介质、光介质、随机访问存储器(RAM)、只读存储器(ROM)、数据高速缓存器、数据对象等。在一个实施方式中,存储器704的高速缓冲存储器元件提供至少某些程序代码的临时存储,以便减少在执行期间必须从海量存储器取回代码的次数。另外,类似于CPU 702,存储器704可以驻留在单个物理位置处,包括一个或多个类型的数据存储器,或者以各种形式分布在多个物理系统间。此外,存储器704可以包括分布在例如局域网(LAN)或广域网(WAN)上的数据。

I/O接口706包括用于与外部源来往交换信息的任何系统。I/O设备710包括任意已知类型的外部设备,包括显示设备(例如,监视器)、键盘、鼠标、打印机、扬声器、手持设备、传真机等。总线708提供计算系统102中每个组件之间的通信链路,并且可以包括任意类型的传输链路,包括电的、光的、无线的等。

I/O接口706还允许计算系统102存储并取回来自辅助存储设备(例如,计算机数据存储单元712)的信息(例如,程序指令或数据)。计算机数据存储单元712可以是非易失性存储设备,例如,磁盘驱动器(即,硬盘驱动器)或光盘驱动器(例如,接收CD-ROM盘的CD-ROM驱动器)。

存储器704包括以下计算机程序代码714,该计算机程序代码714提供了用于基于活动在线简档自动地路由呼叫的逻辑(例如,图2A-图2B的过程和/或图4的过程)。在一个实施方式中,代码714由超身份服务120(见图1)来执行。进一步,存储器704可以包括图7中未示出的其他系统,例如在CPU 702上运行的并且提供对连接至计算系统102和/或在其中的各种组件的控制的操作系统(例如,Linux)。

超身份组122(见图1)存储在计算机数据存储单元中,该计算机数据存储单元可以是存储单元712,或者是与计算系统102或另一计算系统(未示出)耦合的另一计算机数据存储单元(未示出)。

本领域技术人员应当理解,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以采取完全硬件实施方式、完全软件实施方式(包括固件、驻留软件、微代码等)或组合了本文中可以统称为“系统”(例如,图1的系统100或计算系统102)的软件与硬件方面的实施方式的形式。进一步,本发明可以采取在任何有形表示介质(例如,存储器704或计算机数据存储单元712)中体现的计算机程序产品,该计算机程序产品具有在该介质中体现的计算机可用程序代码(例如,代码714)。

可以利用一个或多个计算机可用或计算机可读介质(例如,存储器704和计算机数据存储单元712)的任意组合。计算机可用或计算机可读介质可以例如是但不限于:电的、磁的、光的、电磁的、红外的或半导体系统、装置、设备或传播介质。计算机可读介质的更多特定示例的非穷举性列表包括:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、传输介质(例如,那些支持因特网或内部网的传输介质)或磁存储设备。注意,计算机可用或计算机可读介质甚至可以是纸或其上可以打印程序714的另一适当介质,因为程序714可以例如经由光扫描所述纸或其他介质来电捕获,然后编译、解释或者如果需要可以通过适当的方式进行处理,接着存储到计算机存储器704中。在本文档的上下文中,计算机可用或计算机可读介质可以是能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与其结合使用的程序的任何介质。计算机可用介质可以包括在基带中或作为载波一部分的其中具有体现计算机可用程序代码的传播的数据信号。该计算机可用程序代码可以使用任何适当的介质进行传输,包括但不限于:无线、有线、光纤电缆、RF等。

用于执行本发明操作的计算机程序代码(例如,代码714)可以通过一个或多个编程语言的任意组合进行编写,这些编程语言包括面向对象的编程语言(例如,JavaTM、Smalltalk、C++等)和常规的过程编程语言(例如,“C”编程语言或类似的编程语言)。程序代码可以完全在用户的计算机(例如,计算系统102)上执行、部分地在用户的计算机上执行、作为独立软件包执行、部分地在用户的计算机上并且部分地在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过任意类型的网络(未示出)连接到用户的计算机,包括LAN、WAN或可以到达外部计算机的连接(例如,通过使用因特网服务提供商的因特网)。(Java和所有基于Java的商标和标志在美国、其他国家或者两者都是SunMicrosystems公司的商标)。

本文参考根据本发明实施方式的方法、装置(系统)(例如,图1和图7)和计算机程序产品的流程图(例如,图2A-图2B和图4)和/或框图描述了本发明。应当理解,流程图和/或框图的每个块以及流程图和/或框图中块的组合可以由计算机程序指令(例如,代码714)来实现。这些计算机程序指令可以提供给通用计算机(例如,计算系统102)、专用计算机或其他可编程数据处理装置的处理器(例如,CPU 702)以产生一种机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图块或多个块中指定的功能/动作的装置。

这些计算机程序指令还可以存储在计算机可读介质(例如,存储器704或计算机数据存储单元712)中,该计算机可读介质可以引导计算机或其他可编程数据处理装置以特定方式进行运作,使得计算机可读介质中存储的指令产生包括指令装置的物品,该指令装置实现流程图和/或框图块或多个块中指定的功能/动作。

计算机程序指令还可以加载到计算机(例如,计算系统102)或其他可编程数据处理装置上,用于产生将在该计算机或其他可编程装置上执行的一连串可操作的步骤,以便产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图块或多个块中指定的功能/动作的过程。

本解决方案的任意组件可以由如下服务提供商进行部署、管理、服务等,该服务提供商参考针对活动在线简档自动地路由呼叫的方法来提供部署或集成计算基础设施。因此,根据优选的实施方式,本发明公开了用于支持计算机基础设施的过程,包括集成、主控、维护以及将计算机可读代码(例如,代码714)部署至计算系统(例如,计算系统102),其中与计算系统结合的代码能够执行基于活动在线简档自动地路由呼叫的方法。

在另一实施方式中,本发明提供了基于订阅、广告和/或付费来执行本解决方案的处理步骤的方法。即,服务提供商(例如,解决方案集成商)可以提供创建、维护、支持等用于基于活动在线简档自动地路由呼叫的方法。在此情况下,服务提供商可以创建、维护、支持等计算机基础设施,该计算机基础设施执行针对一个或多个客户的解决方案的处理步骤。作为回报,服务提供商可以根据订阅和/或付费协定来接收客户的付费,和/或服务提供商可以通过将广告内容出售给一个或多个第三方获得付费。

图2A-图2B和图4中的流程图以及图1和图7中的框图示出可能用于实现根据本发明各种实施方式的系统、方法和计算机程序产品的架构、功能和操作。在这方面,流程图或框图的每一块都可以表示代码(例如,代码714)的模块、段或部分,该代码包括用于实现指定的逻辑功能的一个或多个可执行指令。还应当指出,在某些备选实现中,块中提到的功能可以不以图中指出的顺序进行。例如,连续示出的两个块事实上可以基本上同时执行,或者有时块可以以相反的顺序执行,依赖于所涉及的功能。还应当指出,框图和/或流程图的每一块以及框图和/或流程图中多个块的组合可以由执行特定功能或动作的基于专用硬件的系统,或者专用硬件和计算机指令的组合来实现。

虽然本文以说明的目的描述了本发明的实施方式,但是许多修改和变化对于本领域技术人员而言是易于理解的。因此,所附权利要求书旨在包括落入本发明真正精神和范围内的所有这种修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号