专利名称:实现呈现信息和日程信息同步的系统、装置和方法
技术领域:
本发明涉及通信技术,特别涉及将呈现(Presence)业务与日历日程安 排(Calendar)业务相结合,实现呈现信息和日程信息同步的系统和方法以 及呈现服务器和日历日程安排服务器。
背景技术:
Presence业务是目前在即时通信应用中广泛使用的一种业务,主要目的 是为其他即时通信用户呈现某一即时通信用户当前的状态,例如,该即时通 信用户是处于在线(online)状态,还是处于不在线(off line )状态。目前, 随着移动通信技术的发展,Presence业务也可以作为开放移动联盟(OMA, Open Mobile Alliance )的一个业务引擎,能够应用在移动即时通信中,为移 动用户提供服务。 一般来讲,Presence业务中为用户呈现的信息称为呈现信 息。除了用户当前的状态,呈现信息可以承载各种各样的复杂信息,例如, 用户的通信意愿等等。互联网工程任务组(IETF, Internet Engineering Task Force)对呈现信息的格式进行了标准化,其中包括丰富的状态呈现信息格 式(RPID, Rich Presence Information Data Format)。
除了 Presence业务之外,为了方^f更用户M^划自己的时间以及安排工作 等,网络运营上还提供了 Calendar业务。现有的Calendar业务主要包含两 种实现方式。 一种是基于个人信息管理(PIM, Personal Information Manager) 的Calendar,例如,在个人计算机或笔记本电脑上运行的具有日历功能的各 种软件,或者在移动终端或个人数字助理(PDA)上运行日历软件等等。利 用这种基于PIM的Calendar,用户可以通过定制自己的Calendar来规划自 己的时间并安排自身的工作,但是由于基于PIM的Calendar主要为个人提
6供服务,无法实现多个用户之间的共享,因此,其他与该用户相关的用户无
法查询该用户定制的Calendar。另 一种Calendar是基于互联网的,比如现有 的Yahoo Calendar, Google Calendar等等。基于互联网的Calendar通常在互 联网上放置有专门的服务器来存储用户定制的包括日历及时间管理等信息 在内的日程信息。通过这种基于互联网的Calendar,用户不仅可以定制自身 的Calendar,并且可以将自身定制的Calendar发布给有权限查询自身日程信 息的订阅者(Subscriber) 。 IETF于1996年即开始着手制定Calendar的标 准,其中包括用于规定Calendar格式的标准iCalendar。
在现阶段,Presence业务和Calendar业务是两个相互独立的业务,也就 是说,若一个用户同时使用网络运营商提供的Presence业务和Calendar业务, 则该用户需要分别发布自身的呈现信息和日程信息给不同的用户群,浪费了 用户的时间和网络资源。例如,对于一个工作繁忙的首席执行官(CEO)来 讲,他每天都有严格的日程安排,为了将其当前的状态以及日程安排通知给 其他相关人员,例如秘书、家人或者下属职员等,该CEO可以使用网络运 营商提供的Presence业务和目前基于互联网的Calendar业务定制自身的呈现 信息和日程信息,并分别发布给有权限查询自身呈现信息或日程信息的订阅 者。这样,该CEO的秘书、家人以及下属职员等有权限查询该CEO呈现信 息或日程信息的订阅者,就可以获知该CEO当前的状态,或日程安排。然 而,由于现有Presence业务和Calendar业务是两个相互独立的业务,因此, 为了保证呈现信息和日程信息的一致性,在日程安排不变的情况下,该CEO 需要按照其日程安排,手动更新自身的呈现信息;而在日程安排改变的情况 下,还要同时更新自身的呈现信息和日程信息。这种呈现信息和日程信息的 更新是非常繁瑣的,通常会占用大量的时间,并且若呈现信息或日程信息更 新不及时或不完全,还会出现呈现信息和日程信息不一致的情况,无法保证 订阅者获得真实可靠的呈现信息或日程信息。
发明内容
为了解决上述技术问题,本发明提供了 一种实现呈现信息和日程信息同 步的系统和方法,这样,用户可以只更新自身的呈现信息,其日程信息就可 以自动或根据用户指示与更新后的呈现信息同步,或者用户可以只更新自身 的日程信息,其呈现信息将自动与日程信息同步,从而大大方便了用户的操 作,并且可以保证用户呈现信息和日程信息的一致性,保证不同的订阅群体 获得正确的信息。
本发明实施例所述的实现呈现信息和日程信息同步的系统,包括呈现 信息发布者,日程信息订阅者,呈现服务器(Presence Server)和日历日程 安排服务器(Calendar Server);其中,
所述Presence Server用于才艮据从所述呈现信息发布者4妻收的呈现信息 生成所述呈现信息发布者的事件信息,并向所述Calendar Server发布所生成 的事件信息;
所述Calendar Server用于根据所述Presence Server发布的事件信息更新 自身存储的所述呈现信息发布者的日程信息,并向订阅所述呈现信息发布者 日程信息的日程信息订阅者发布更新后的日程信息。
本发明实施例所述的另 一实现呈现信息和日程信息同步的系统,包括 日程信息发布者,呈现信息订阅者,日历日程安排服务器(Calendar Server) 和呈现服务器(Presence Server);其中,
所述Calendar Server用于根据从所述日程信息发布者接收的日程信息 中所包含的事件,在新的事件开始时生成所述日程信息发布者的状态信息, 并向所述Presence Server发布所生成的状态信息;
所述Presence Server用于才艮据所述Calendar Server发布的状态信息更新 自身存储的所述日程信息发布者的呈现信息,并向订阅所述日程信息发布者 呈现信息的呈现信息订阅者发布更新后的呈现信息。
本发明实施例所述的Presence Server ,包括呈现信息接收模块,用于接收呈现信息发布者发布的呈现信息; 呈现信息存储模块,用于存储所接收的呈现信息; 事件信息生成模块,用于根据所接收呈现信息生成该呈现信息发布者的 事件信息;以及
事件信息发布模块,用于向日历日程安排服务器Calendar Server发布所 生成的事件信息。
上述Presence Server还可以进一步包括状态信息接收模块,用于接收 所述Calendar Server发布的所述呈现信息发布者的状态信息;以及呈现信息 更新模块,用于根据所接收的状态信息更新呈现信息存储模块存储的所述呈 现信息发布者的呈现信息。
本发明实施例所述的Calendar Server,包括
日程信息接收模块,用于接收日程信息发布者发布的日程信息;
日程信息存储模块,用于存储所接收的日程信息;
状态信息生成模块,用于根据所接收的日程信息中所包含的事件,在新 的事件开始时,生成所述日程信息发布者的状态信息;以及
状态信息发布模块,用于向呈现服务器Presence Server发布所生成的状 态信息。
上述Calendar Server进一步包括事件信息接收模块,用于接收所述 Presence Server发布的所述日程信息发布者的事件信息;以及日程信息更新 模块,用于根据接收的事件信息更新日程信息存储模块存储的该日程信息发 布者的日程信息。
本发明实施例所述的根据日程信息更新呈现信息的方法包括Calendar Server在收到日程信息发布者发布的日程信息后,根据所接收的日程信息中 所包含的事件,在新的事件开始时生成该日程信息发布者的状态信息; Calendar Server将所生成的状态信息发布到呈现服务器Presence Server,由 Presence Server根据所接收的状态信息更新该日程信息发布者的呈现信息。
本发明实施例所述的根据呈现信息更新日程信息的方法包括PresenceServer在收到呈现信息发布者发布的呈现信息后,根据所接收的呈现信息生 成该呈现信息发布者的事件信息;Presence Server将所生成的事件信息发布 到日历日程安排服务器Calendar Server,由Calendar Server根据所接收的事 件信息更新该呈现信息发布者的日程信息。Presence Servei^艮据所接收的呈 现信息生成该呈现信息发布者的事件信息的过程可以是自动的,也可以等待 该呈现信息发布者的指示。如果该呈现信息发布者认为更新后的呈现信息只 会维持一个短暂的时间,并未指示Presence Server去同步其日程安排信息, Presence Server将不会生成事件信息发送给Calendar Server。这样一来,在 呈现信息发布者手动更改自身的呈现信息后,Presence Server可以自动或者 在呈现信息发布者的指令之下将呈现信息发布到Calendar Server,让 Calendar Server实现该呈现信息发布者日程信息的更新,而无需该呈现信息 发布者手动更新自身的日程信息。
通过上述实施例所述的系统和方法,不j旦可以对订阅一个用户的呈现信 息和日程信息的不同用户群保证该用户呈现信息和日程信息始终保持一致, 还大大简化了用户的操作,既节省了用户的时间,提高了用户的效率,又增 强了用户使用Presence业务和Calendar业务的体—验。另外,由于通过上述系 统和方法不需要用户分别向两个服务器发送内容相同信息,而由网络侧也即 Presence Server与Calendar Server之间传递实现呈现信息和日程信息同步的 信息,从而减少了对接入网侧资源的占用。
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通 技术人员更清楚本发明的上述及其它特征和优点,附图中
图1为本发明实施例所述的实现呈现信息和日程信息同步的系统结构 示意图2为本发明实施例所述的呈现服务器内部结构示意图3为本发明实施例所述的日历日程安排服务器内部结构示意图;图4为本发明实施例所述的根据日程信息同步呈现信息的方法流程图; 图5为本发明实施例所述的基于会话初始协议实现根据日程信息同步
呈现信息的方法流程图6为本发明实施例所述的根据呈现信息同步日程信息的方法流程图; 图7为本发明实施例所述的基于会话初始协议实现根据呈现信息同步
日程信息的方法流程图。
具体实施例方式
为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例, 对本发明做进一步详细说明。
为了解决现有技术中问题,本发明实施例给出了 一种实现呈现信息和日 程信息同步的系统,该系统的内部结构如图l所示,主要包括位于用户侧 的用户代理以及位于网络侧的呈现服务器(Presence Server)和日历日程安 排服务器(Calendar Server)。
其中,用户代理可以集成在移动终端中,也可以集成在固定终端中。若 用户代理集成在移动终端中,则用户代理通过移动通信系统,例如第三代移 动通信系统,连4妄到位于网络侧的Presence Server和Calendar Server;若用 户代理集成在固定终端中,则用户代理通过PSTN或互联网连接到位于网络 ,J的Presence Server和Calendar Server。为了实现Presence业务和/或Calendar 业务,用户代理作为呈现信息的发布者时可以包括呈现信息客户端模块,作 为曰程信息的发布者时可以包括日程信息客户端模块,作为订阅其他用户呈 现信息时可以包括呈现信息订阅者客户端模块,而作为订阅其他用户日程信 息时可以包括日程信息订阅者客户端模块。上述用户代理也可以兼有上述呈 现信息发布者、日程信息发布者、呈现信息订阅者或日程信息订阅者中的任 意两种或两种以上的功能。
其中,呈现信息客户端模块也可以被称为呈现信息发布者,主要用于通
过自身的接入网和核心网,例如移动通信系统或者互联网,向Presence Server
ii发布该呈现信息发布者的呈现信息;
日程信息客户端模块也可以被称为日程信息发布者,主要用于通过自身 的才妄入网和核心网,例如移动通信系统或者互联网,向Calendar Server发布 该日程信息发布者的日程信息;
呈现信息订阅者客户端模块也可以被称为呈现信息订阅者,主要用于通 过自身的接入网和核心网,例如移动通信系统或者互联网,向Presence Server 发送订阅其他用户呈现信息的请求,并接收及显示Presence Server发布的被 订阅用户的呈现信息;
日程信息订阅者客户端模块也可以被称为日程信息订阅者,主要用于通 过自身的接入网和核心网,例如移动通信系统或者互联网,向Calendar Server 发送订阅其他用户日程信息的请求,并接收及显示Calendar Server发布的被 订阅用户的日程信息。
Presence Server主要用于完成如下常规功能,包括接收并存储呈现信 息发布者发布的呈现信息;接收呈现信息订阅者发送的订阅呈现信息的请 求,查询该呈现信息订阅者的订阅权限以及存储的被订阅用户的呈现信息, 并向呈现信息订阅者返回查询结果,具体来讲,若该呈现信息订阅者没有订 阅被订阅用户呈现信息的权限,则向该呈现信息订阅者返回呈现信息订阅失 败信息;若该呈现信息订阅者有订阅被订阅用户呈现信息的权限,则向该呈 现信息订阅者返回被订阅用户发布的呈现信息。实际应用中,Presence Server 也可以将所接收的呈现信息存储到外置的呈现信息数据管理服务器中。
Calendar Server主要用于完成如下常规功能,包括接收并存储日程信 息发布者发布的日程信息;接收日程信息订阅者发送的订阅日程信息的请 求,查询该日程信息订阅者的订阅权限以及存储的被订阅用户的日程信息, 并向日程信息订阅者返回查询结果,具体来讲,若该日程信息订阅者没有订 阅被订阅用户日程信息的权限,则向该日程信息订阅者返回日程信息订阅失 败信息;若该日程信息订阅者有订阅被订阅用户日程信息的权限,则向该日 程信息订阅者返回被订阅用户发布的日程信息。实际应用中,Calendar Server也可以将所接收的日程信息存储到外置的日程信息数据管理服务器中。
除了上述常头见功能之夕卜,Presence Server和Calendar Server还应当进一 步实现呈现信息和日程信息同步。也就是说, 一方面,在日程信息发布者发 布自身的日程信息之后,Calendar Server能够才艮据日程信息发布者发布的日 程信息生成该日程信息发布者当前的状态信息,自动通知Presence Server, 以实时更新该日程信息发布者的呈现信息;另一方面,在呈现信息发布者临 时改变日程,手动修改自身的呈现信息并发布后,Presence Server能够自动 或者根据该呈现信息发布者的请求,根据所接收的呈现信息生成事件信息通 知Calendar Server,以更新该呈现信息发布者的日程信息。
上述系统可以应用在任何网络上,例如,可以应用到IP多力某体子系统 (IMS, IP Multimedia Subsystem)网络上。若将上述系统应用到IMS网络 上,则Presence Server和Calendar Server可以作为应用服务器配置在IMS 网络的应用层。IMS网络可提供信令的传送,压缩,用户鉴权,认证,计费 等功能。在用户使用呈现业务和日历和日程安排业务时,利用本发明这种信 息同步的机制来降低接入侧的信令开销,节省时间,提高效率,大大提高了 用户的体验。
由上述描述可见,呈现信息与日程信息的同步是一个双向的过程,包括 根据日程信息同步呈现信息以及根据呈现信息同步日程信息两个方向的过 程。本发明实施例所述的实现呈现信息与日程信息同步的系统可以只实现上 述任意一个方向的信息同步,也可以同时实现上述两个方向上的信息同步。
除了上述实现呈现信息与日程信息同步的系统,本发明的实施例还给出 了具有上述功能的Presence Server和Calendar Server的结构。
如图2所示,本发明实施例所述的Presence Server主要包括
呈现信息接收模块,用于接收呈现信息发布者发布的呈现信息;
呈现信息存储模块,用于存储所接收呈现信息;
呈现信息发布模块,用于向已订阅所述呈现信息发布者的呈现信息的呈 现信息订阅者发布呈现信息存储模块存储的呈现信息;
13事件信息生成模块,用于根据所接收呈现信息生成该呈现信息发布者的
事件信息;以及
事件信息发布模块,用于向Calendar Server发布所生成的事件信息。
更进一步,在实际的应用中,上述事件信息生成模块进一步用于接收来 自呈现信息发布者的日程信息同步请求,在收到所述日程信息同步请求后再 执行生成事件信息的过程。
通过上述模块,Presence Server即可根据呈现信息发布者发布的呈现信 息生成该呈现信息发布者的事件信息并发布给Calendar Server,以实现才艮据 呈现信息同步日程信息的过程。为了实现根据日程信息同步呈现信息的过 程,上述Presence Server还可以进一步包括
状态信息接收模块,用于接收Calendar Server发布的所述呈现信息发布 者的状态信息;以及
呈现信息更新模块,用于根据接收的状态信息更新呈现信息存储模块存 储的该呈现信息发布者的呈现信息。
在这种情况下,呈现信息发布模块进一步用于向所述呈现信息订阅者发 布更新后的呈现信息。
如图3所示,本发明实施例所述的Calendar Server主要包括
日程信息接收模块,用于接收日程信息发布者发布的日程信息;
日程信息存储模块,用于存储所接收日程信息;
日程信息发布模块,用于向已订阅所述日程信息发布者的日程信息的日 程信息订阅者发布日程信息存储模块存储的日程信息;
状态信息生成模块,用于根据所接收日程信息中所包含的事件,在每个 事件的开始时刻,生成该日程信息发布者的状态信息;以及
状态信息发布4莫块,用于向Presence Server发布所生成的状态信息。
通过上述才莫块,Calendar Server即可根据日程信息发布者发布的日程信 息生成该日程信息发布者的状态信息并发布给Presence Server,以实现才艮据 日程信息同步呈现信息的过程。为了实现根据呈现信息更新日程信息的过
14程,上述Calendar Server还可以进一步包括
事件信息接收模块,用于接收Presence Server发布的该日程信息发布者的事件信息;以及
日程信息更新模块,用于根据接收的事件信息更新自身存储的该日程信息发布者的日程信息。
在这种情况下,日程信息发布模块进一步用于向所述日程信息订阅者发布更新后的日程信息。
下面将通过本发明的实施例详细说明呈现信息与日程信息的同步方法。
图4显示了根据日程信息同步呈现信息的过程。这一 同步过程主要涉及的实体有日程信息发布者、Presence Server、 Calendar Server以及呈现信息订阅者。从图4可以看出,根据日程信息同步呈现信息的过程主要包括
步骤401:日程信息发布者将自身的日程信息发布到Calendar Server中;
步骤402: Calendar Server接收并保存所接收的日程信息,再根据所接收的日程信息所记录的各个事件的开始时间,在新事件开始时生成该日程信息发布者的状态信息,并将所生成的状态信息发布到Presence Server,由Presence Server根据所接收的状态信息(也即,日程信息)更新该日程信息发布者的呈现信息。
在上述步骤401至402的执行过程中,Presence Server每次在收到Calendar Server发布的状态信息后,将更新自身存储的该日程信息发布者的呈现信息,并将更新后的呈现信息发布给已订阅该日程信息发布者呈现信息的呈现信息订阅者。
在本发明的较佳实施例中,可以充分利用会话初始协议(SIP)的事件通知机制实现上述过程。图5显示了利用SIP协议承载日程信息、呈现信息以及状态信息实现根据日程信息同步呈现信息的过程,主要包括
在步骤511,日程信息发布者使用SIP的发布PUBLISH消息承载自身发布的日程信息,将日程信息发布到Calendar Server;或用PUBLISH消息通知Calendar Server要发布日程信息,然后利用HTTP或其他方法将日程信
15息的具体内容发布给Calendar Server。其中,PUBLISH消息中的事件标题头可扩展为Event: Calendar以表明此次发布的是日程信息;在IMS系统中,IMS系统可根据该事件标题头Event: Calendar将PUBLISH消息路由到应用月良务器Calendar Server。
在步骤512, Calendar Server在收到来自日程信息发布者的PUBLISH消息之后,将返回200 0K消息到该日程信息发布者;
在步骤513-516, Calendar Server根据所接收的日程信息所记录的各个事件的开始时间,在新事件开始时生成该日程信息发布者的状态信息,并将所生成的状态4言息通过SIP PUBLISH消息发布到Presence Server; PresenceServer在收到Calendar Server发布的该日程信息发布者的状态信息后,将返回200 OK消息到Calendar Server,并更新自身存储的该日程信息发布者的呈现信息,然后,通过事件通知机制将更新后的呈现信息通过SIP的通知NOTIFY消息发布给呈现信息订阅者;呈现信息订阅者在收到来自PresenceServer的NOTIFY消息之后将回复200 OK消息到Presence Server (参见步骤525-526)。
与上述步骤511-516过程并行的,在Presence Server和呈现信息订阅者之间还可以通过SIP完成呈现信息的订阅和通知,包括
在步骤521,呈现信息订阅者通过SIP的订阅SUBSCRIBE消息承载向Presence Server订阅上述日程信息发布者呈现信息的请求;
在步骤522, Presence Server在收到上述SUBSCRIBE消息,并确认该呈现信息订阅者有权限订阅该日程信息发布者的呈现信息后,返回200 OK消息到所述呈现信息订阅者;
在步骤523, Presence Server通过SIP的NOTIFY消息将自身保存的该日程信息发布者的呈现信息发布给订阅者;
在步骤524,该呈现信息订阅者在收到来自Presence Server的NOTIFY消息之后,回复200 OK消息到Presence Server。
在步骤525 ,当Presence Server收到Calendar Server发布的该日程信息发布者的状态信息,更新自身存储的该日程信息发布者的呈现信息后(参见
步骤513-516),将通过事件通知机制将更新后的呈现信息通过SIP的NOTIFY消息发布给呈现信息订阅者;
在步骤526,呈现信息订阅者收到更新的呈现信息后,回复200 OK消息到Presence Server。
由此可以看出,上述根据日程信息同步呈现信息的过程是自动的,无需用户手动更改其呈现信息的i殳置,而由Calendar Server来完成。
下面将详细说明步骤402及步骤513-516中,Calendar Server根据所接收的日程信息所记录的各个事件的开始时间,在新事件开始时生成该日程信息发布者状态信息的方法。在本实施例中,所述状态信息应当至少包括状态内容,还可以进 一 步包括状态的开始时间和结束时间。
假设在本实施例中呈现信息采用RPID格式记录,日程信息采用iCalendar格式记录。
已知采用iCalendar格式记录的日程信息中的一个事件(Event)的结构
如下
BEGIN :¥E ENT
U'IIh 19970901T130 OOZ—1234G2霾iiost. e纖DTSTAMP: 19謂節1T證0ZDXSTART: W97CMOin630CWZDT隱1S画402TO W髓O:Z
SUMMMT:Laurel is. in seiisitivitf asa;reiisss class,CLASS ;F亂IC
C森TEG01IK :BOSI腦S, HO隱MESIKCES
T國SP: T麵SPMEMT
E勵:丽画
从上述结构可以看出,在上述iCalendar格式的Event中可以定义用户标识UID,时间戳DTSTAMP,该事件的开始时间DTSTART和结束时间DTEND,记录了一个事件内容的总结SUMMARY,级别CLASS,分类CATEGORIES,透明度TRANSP等内容。通过上述格式的Event,日程信息的发布者即可以将自身的日程信息所包含的各个事件发布给Calendar
17Server。 Calendar Server则可以获知该日程信息发布者在一个Event的开始时间到结束时间内将处于该Event SUMMARY所记录的状态。由此,CalendarServer可以在该Event开始时生成至少包括状态内容的状态信息,并发布到Presence Server。 例如,通过上述Event结构中,Calendar Server可以获知,从1997年4月1日的16:30:00到1997年4月2日的01:00:00,日程信息发布者的日禾呈安才非是"Laurel is in sensitivity awareness class.",这才羊,在1997年4月1日的16:30:00, Calendar Server将生成状态内容为"Laurel is insensitivity awareness class."的状态信息,并发布到Presence Server。 如前所述,所生成的状态信息还可以包括该状态的开始时间和结束时间。
在本实施例中,所述状态信息可以采用RPID格式记录,或者采用其他格式记录。在采用非标准的呈现信息格式记录上述状态信息时,PresenceServer在收到状态信息后需要首先进行解析才能更新自身存储的呈现信息。
下面将结合图6和7详细说明根据呈现信息同步日程信息的方法。
图6显示了根据呈现信息同步日程信息的过程。这一同步过程主要涉及的实体有呈现信息发布者、Presence Server、 Calendar Server以及曰程信息订阅者。从图6可以看出,根据呈现信息同步日程信息的过程主要包括
步骤601:呈现信息发布者将自身的呈现信息发布到Presence Server;
步骤602: Presence Server接收并更新自身保存的呈现信息后,如呈现信息包含有时间信息,可根据所接收的呈现信息中记录的动作的内容以及该动作的开始时间、结束事件生成事件信息,并将所生成的事件信息发布到Calendar Server,以更新其上记录的该呈现信息发布者的日程信息。
在该步骤中,Presence Server在收到呈现信息之后,可才艮据来自呈现信息发布者发送的日程信息同步请求,在收到上述日程信息同步请求之后,再根据所接收的呈现信息生成所述事件信息,并将所生成的事件信息发布到Calsnckr Scrv6r。
图7显示了利用SIP协议承载日程信息和呈现信息实现根据呈现信息同步日程信息的过程,主要包括在步骤711,呈现信息发布者使用SIP的PUBLISH消息承载上述呈现信息,将呈现信息发送到Presence Server;
此时,如果Presence Server需要呈现信息发布者的指示来决定是否向Calendar Server更新该呈现信息发布者的日程信息,Presence Server会对收到PUBLISH消息进行解析当呈现信息发布者不需要更新其日程消息,该PUBLISH消息中的事件标题头可为Event: Presence以表明此次发布的是呈现信息,不需要更新日程信息,此时不需执行步骤713-714;如果呈现信息发布者需要同时更新其日程信息,可将该PUBLISH消息中的事件标题头设为Event: Presence-sync-calendar, Presence Server解斗斤到该消息头时,会才艮据所接收的呈现信息生成所述事件信息,并将所生成的事件信息发布到Calendar Server,即#丸行步骤713-714。如果Presence Server设为自动更新该呈现信息发布者的日程信息,则Presence Server在收到呈现信息发布者发送的SIP PUBLISH消息后,将执行步骤713-714。
在步骤712, Presence Server在收到来自呈现信息发布者的PUBLISH消息之后,将返回200 OK消息到呈现信息发布者;
在步骤713,如果Presence Server解析到呈现信息发布者发送的PUBLISH消息中的事件标题头为Event: Presence-sync-calendar,或者Presence Server设为自动更新该呈现信息发布者的日程信息,贝'J PresenceServer根据所接收的呈现信息同步Calendar Server中存储的该呈现信息发布者的日程信息;
具体而言,Presence Server将根据所接收的呈现信息中记录的动作内容以及该动作的开始时间和结束时间生成一个事件信息,并将所生成的事件信息通过SIP的PUBLISH消息发布到Calendar Server,以更新Calendar Server上记录的该呈现信息发布者的日程信息;
在步骤714, Calendar Server根据所接收的事件信息更新自身存储的该呈现信息发布者的日程信息后,向Presence Server回复200 OK消息。
此后,如果日程信息订阅者订阅了该呈现信息发布者的日程信息并该次订阅还在有效期内,Calendar Server将更新后的日程信息发布给所述日程信息订阅者(参见步骤723-724)。
与上述步骤711-715过程并行的,在Calendar Server和日程信息订阅者之间还可以通过SIP完成日程信息的订阅,包括
在步骤721,日程信息订阅者通过SIP的订阅SUBSCRIBE消息承载向Calendar Server订阅上述呈现信息发布者日程信息的请求;
在步骤722, Calendar Server在收到上述SUBSCRIBE消息,并确认该日程信息订阅者有权限订阅该呈现信息发布者的日程信息后,返回200 OK消息到所述订阅者客户端模块;
在步骤723, Calendar Server在收到Presence Server发送的事件信息并更新了该呈现信息发布者日程信息后,通过SIP NOTIFY向其日程信息订阅者发布该呈现信息发布者的日程信息;
在步骤724,日程信息订阅者在收到来自Calendar Server的NOTIFY消息之后将回复200 OK消息到Calendar Server。
下面将详细说明步骤602及步骤713中,Presence Server根据所接收的呈现信息中记录的动作内容以及该事件的起止时间生成日程信息中包含的一个事件信息的方法。在本实施例中,所述事件信息将至少包含事件的内容以及其起止时间。
假设在本实施例中呈现信息采用RPID格式记录,日程信息采用iCalendar格式记录。
已知采用RPID格式记录的呈现信息的一个最小化集合tuple的结构示例如下
20■〈basie> opes <:/bmsic></statms>
<rpid: aoti¥:ities f'rof:l鄉-M-Ol'T 16:; 30:00"■til="1997-M-。2T01:00:00"《La:orei is i.E. sensitivity awaresess class, > C/rpid: artivities>
其中, 一个tuple定义的元素包括动作activities,不^又定义了该动作的时间属性,包括起始时间和结束时间,还定义了该动作的内容。通过上述结构的tuple,呈现信息的发布者即可以将自身当前的动作以及该动作的起止时间发布给Presence Server。然后,Presence Server也可以/人呈现信息发布者发布的呈现信息中提取出必要的信息生成该呈现信息发布者日程信息中的一个事件信息,例如,通过上述tuple, Presence Server可以获知从1997年4月1日的16:30:00到1997年4月2日的01:00:00,呈现信息发布者的动作是"Laurel is in sensitivity awareness class."。 这样,Presence Server可以生成3口下的事寸牛"f言息事4牛内容"Laurel is in sensitivity awareness class.",事件的开始时间为1997年4月1日的16:30:00,事件的结束时间为1997年4月2日的01:00:00。 Calendar Server在收到Presence Server发布的上述事件信息后,将根据该事件信息更新自身记录的日程信息。
在本实施例中,所述事件信息可以釆用iCalendar格式记录,也可以采用任何其他格式记录。在采用非标准的日程信息格式记录上述事件信息时,Calendar Server在收到事件信息后需要首先进行解析才能更新自身存储的曰程信息。
从上述实施例可以看出, 一方面,在日程信息发布者将日程信息发布到Calendar Server后,Calendar Server可以才艮才居曰禾呈^f言息自动通》口 PresenceServer该日程信息发布者当前的状态,实现该日程信息发布者呈现信息的自动更新,而无需日程信息发布者手动发布自身的呈现信息到Presence Server;另一方面,在呈现信息发布者手动更改自身的呈现信息后,Presence Server可以自动或者在呈现信息发布者的指令之下将呈现信息发布到CalendarServer,实现该呈现信息发布者日程信息的更新,而无需该呈现信息发布者手动更新自身的日程信息到Calendar Server。通过上述实施例所述的系统和方法,简化了用户的操作,利用网络侧的同步机制,保证一个用户呈现信息和日程信息对订阅该用户呈现信息和日程信息的不同订阅群体始终保持一致,既节省了用户的时间,提高了用户的效率,又增强了用户^f吏用Presence业务和Calendar业务的体一验。
另外,由于通过上述系统和方法不需要用户分别向两个服务器发送内容相同4言息,而由网纟各侧也即Presence Server与Calendar Server之间传递实J见呈现信息和日程信息同步的信息,从而减少了接入网侧资源的占用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
2权利要求
1、一种实现呈现信息和日程信息同步的系统,其特征在于,包括呈现信息发布者,日程信息订阅者,呈现服务器Presence Server和日历日程安排服务器Calendar Server;其中,所述Presence Server用于根据从所述呈现信息发布者接收的呈现信息生成所述呈现信息发布者的事件信息,并向所述Calendar Server发布所生成的事件信息;所述Calendar Server用于根据所述Presence Server发布的事件信息更新自身存储的所述呈现信息发布者的日程信息,并向订阅所述呈现信息发布者日程信息的日程信息订阅者发布更新后的日程信息。
2、 根据权利要求1所述的系统,其特征在于,所述Presence Server通过会话初始协议向所述Calendar Server发布所生成的事件信息。
3、 根据权利要求1所述的系统,其特征在于,Presence Server进一步用于在根据从所述呈现信息发布者接收的呈现信息生成所述呈现信息发布者的事件信息之前处理来自呈现信息发布者的日程信息同步请求。
4、 根据权利要求1所述的系统,其特征在于,进一步包括日程信息发布者和呈现信息订阅者,其中所述Calendar Server进一步用于根据从所述日程信息发布者接收的日程信息中所包含的事件,在新的事件开始时生成所述日程信息发布者的状态信息,并向所述Presence Server发布所生成的状态信息;所述Presence Server进一步用于才艮据所述Calendar Server发布的状态信息更新自身存储的所述日程信息发布者的呈现信息,并向订阅所述日程信息发布者呈现信息的呈现信息订阅者发布更新后的呈现信息。
5、 #>据4又利要求4所述的系统,其特征在于,所述Calendar Server通过会话初始协议向所述Presence Server发布所生成的状态信息。
6、 一种实现呈现信息和日程信息同步的系统,其特征在于,包括日程信息发布者,呈现信息订阅者,日历日程安排服务器Calendar Server和呈现服务器Presence Server;其中,所述Calendar Server用于根据从所述日程信息发布者接收的日程信息中所包含的事件,在新的事件开始时生成所述日程信息发布者的状态信息,并向所述Presence Server发布所生成的状态信息;所述Presence Server用于根据所述Calendar Server发布的状态信息更新自身存储的所述日程信息发布者的呈现信息,并向订阅所述日程信息发布者呈现信息的呈现信息订阅者发布更新后的呈现信息。
7、 才艮据权利要求6所述的系统,其特征在于,所述Calendar Server通过会话初始协议向所述Presence Server发布所生成的状态信息。
8、 一种呈现服务器Presence Server,其特征在于,包括呈现信息接收模块,用于接收呈现信息发布者发布的呈现信息;呈现信息存储模块,用于存储所接收的呈现信息;呈现信息发布模块,用于向已订阅所述呈现信息发布者的呈现信息的呈现信息订阅者发布呈现信息存储模块存储的呈现信息;事件信息生成模块,用于根据所接收呈现信息生成该呈现信息发布者的事件信息;以及事件信息发布模块,用于向日历日程安排服务器Calendar Server发布所生成的事件信息。
9、 根据权利要求8所述的呈现服务器,其特征在于,所述事件信息生成模块进一步用于在根据所接收呈现信息生成该呈现信息发布者的事件信息之前等待接收来自呈现信息发布者的日程信息同步请求。
10、 根据权利要求8所述的呈现服务器,其特征在于,进一步包括状态信息接收模块,用于接收所述Calendar Server发布的所述呈现信息发布者的状态信息;以及呈现信息更新模块,用于根据所接收的状态信息更新呈现信息存储模块存储的所述呈现信息发布者的呈现信息;其中呈现信息发布模块进一步用于向所述呈现信息订阅者发布更新后的呈现信息。
11、 一种日历日程安排服务器Calendar Server,其特征在于,包括日程信息接收模块,用于接收日程信息发布者发布的日程信息;日程信息存储模块,用于存储所接收的日程信息;日程信息发布模块,用于向已订阅所述日程信息发布者的日程信息的日程信息订阅者发布日程信息存储模块存储的日程信息;状态信息生成模块,用于根据所接收的日程信息中所包含的事件,在新的事件开始时,生成所述日程信息发布者的状态信息;以及状态信息发布模块,用于向呈现服务器Presence Server发布所生成的状态信息。
12、 根据权利要求11所述的Calendar Server,其特征在于,进一步包括事件信息接收模块,用于接收所述Presence Server发布的所述日程信息发布者的事件信息;以及日程信息更新模块,用于根据接收的事件信息更新日程信息存储模块存储的该日程信息发布者的日程信息;其中日程信息发布模块进一步用于向所述日程信息订阅者发布更新后的日程信息。
13、 一种根据日程信息更新呈现信息的方法,其特征在于,包括在收到日程信息发布者发布的日程信息后,根据所接收的日程信息中所包含的事件,在新的事件开始时生成该日程信息发布者的状态信息;将所生成的状态信息发布到呈现服务器Presence Server,由PresenceServer根据所接收的状态信息更新该日程信息发布者的呈现信息。
14、 根据权利要求13所述的方法,其特征在于,所述根据所接收的日程信息中所包含的事件,在新的事件开始时生成该日程信息发布者的状态信息包括分别在所接收日程信息所记录各个事件的开始时间,从日程信息中提取对应事件的事件内容作为所述状态信息。
15、 根据权利要求14所述的方法,其特征在于,所述根据所接收的日程信息中所包含的事件,在新的事件开始时生成该日程信息发布者的状态信息进一步包括在从日程信息中提取对应事件的事件内容时,提取对应事件的开始时间和结束时间,与所提取的事件内容一起作为所述状态信息。
16、 根据权利要求13所述的方法,其特征在于,所述将所生成的状态信息发布到Presence Server包括使用会话初始协议的发布消息承载所述状态j吕息。
17、 一种根据呈现信息更新日程信息的方法,其特征在于,包括在收到呈现信息发布者发布的呈现信息后,根据所接收的呈现信息生成该呈现信息发布者的事件信息;将所生成的事件信息发布到日历日程安排服务器Calendar Server,由Calendar Server根据所接收的事件信息更新该呈现信息发布者的日程信息。
18、 根据权利要求17所述的方法,其特征在于,在根据所接收的呈现信息生成该呈现信息发布者的事件信息之前进一步包括等待接收呈现信息发布者发送的日程信息同步请求。
19、 根据权利要求17所述的方法,其特征在于,所述根据所接收的呈现信息生成该呈现信息发布者的事件信息包括从所接收的呈现信息中提取所记录动作的内容以及动作的开始时间和结束时间,作为所述事件信息。
20、 根据权利要求17所述的方法,其特征在于,所述将所生成的事件信息发布到Calendar Server包括使用会话初始协议的发布消息承载所述事件信息。
全文摘要
本发明公开了一种实现呈现信息和日程信息同步的系统、方法以及呈现服务器和日历日程安排服务器,在日程信息发布者发布日程信息之后,日历日程安排服务器根据发布的日程信息生成该日程信息发布者当前的状态信息,自动通知呈现服务器更新该日程信息发布者的呈现信息;在呈现信息发布者手动修改自身的呈现信息并发布后,呈现服务器可以根据所接收的呈现信息生成事件信息通知日历日程安排服务器,更新该呈现信息发布者的日程信息。通过本发明的技术方案,简化了用户的操作,利用网络侧的同步机制,保证一个用户呈现信息和日程信息始终保持一致,使订阅该用户呈现信息和日程信息的不同用户群都可以及时得到该用户当前的状态。
文档编号G06Q10/00GK101466077SQ20071016103
公开日2009年6月24日 申请日期2007年12月19日 优先权日2007年12月19日
发明者岚 王, 顾大庆 申请人:株式会社Ntt都科摩