CN1971604B - 用于日历呈现检索的系统和方法 - Google Patents

用于日历呈现检索的系统和方法 Download PDF

Info

Publication number
CN1971604B
CN1971604B CN200610146745.4A CN200610146745A CN1971604B CN 1971604 B CN1971604 B CN 1971604B CN 200610146745 A CN200610146745 A CN 200610146745A CN 1971604 B CN1971604 B CN 1971604B
Authority
CN
China
Prior art keywords
calendar
information
entity
server
presents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200610146745.4A
Other languages
English (en)
Other versions
CN1971604A (zh
Inventor
米赫·韦德亚
蒂马钦·奥朱格
桑迪普·西鲁马莱
尼拉夫·沙
帕拉尔·杰恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Alcatel Lucent NV
Original Assignee
Alcatel NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel NV filed Critical Alcatel NV
Publication of CN1971604A publication Critical patent/CN1971604A/zh
Application granted granted Critical
Publication of CN1971604B publication Critical patent/CN1971604B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/20Aspects of automatic or semi-automatic exchanges related to features of supplementary services
    • H04M2203/2072Schedules, e.g. personal calendars
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42229Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location
    • H04M3/42263Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location where the same subscriber uses different terminals, i.e. nomadism

Abstract

一种呈现系统,其能够使用到日历服务器(230)的日历代理(200)和日历接口(240)来从日历服务器(230)检索呈现实体(110)的日历呈现信息(225)。每个日历服务器(230)保持对于一个或者多个呈现实体(110)的日历日程信息(255)。日历代理(200)用来产生经由对于每个日历服务器(230)的相应日历接口(240)到日历服务器(230)的对于日历日程信息(255)的查询(400)。日历代理(200)还用来经由相应的日历接口(240)从日历服务器(230)接收日历日程信息(255),以及将接收的日历日程信息(255)转换成日历呈现信息(225)。每个日历接口被配置为经由第一协议与日历代理进行通信以及经由相应的第二协议(235)与日历服务器(230)中相应的一个进行通信。

Description

用于日历呈现检索的系统和方法
技术领域
本发明一般涉及基于呈现(presence)的通信系统,以及更具体地,涉及检索日历呈现信息。
背景技术
基于呈现的交互式通信系统支持被叫者(呈现实体(presentity))实时地将他们的呈现信息(例如被叫者设备/应用的可用性和当前状态)发布给呼叫者(呈现观察者)。呈现系统通常包括呈现服务器,用以管理对于多个呈现实体的呈现信息。呈现服务器当前自动地从诸如电话应用或者即时消息应用的各种呈现源接收更新的呈现信息,并且汇聚接收的呈现信息,以反映呈现实体的呈现状态。例如,当呈现实体在他或者她的桌面电话上发起或者接收语音呼叫时,通知呈现服务器,并且呈现服务器将呈现实体的呈现状态改变为“在电话上”。呈现服务器进一步将呈现实体的当前呈现状态提供给呈现实体的观察者,以帮助观察者建立与呈现实体的实时语音、文本和/或多媒体通信会话。
呈现信息的另一个潜在源是日历/日程表应用。日历/日程表应用通常用来计划和安排各种活动,例如会议、电话呼叫、商业旅行、个人时间和其他用户事件。这样,日历/日程表应用能够以高的精度水平为用户提供每天的议程。在企业应用中,每个日历/日程表应用通常与日历服务器相关联,例如Microsoft Exchange 
Figure S061E6745420061129D000011
IBM Domino
Figure S061E6745420061129D000012
或者Meeting
Figure S061E6745420061129D000013
服务器。日历服务器保持使用该日历服务的企业内的所有用户的日程安排。因此,可以使用存储在服务器数据库中的数据来收集丰富的日历呈现信息,例如当前可用性、位置、预测的可用性等等。
为了从特定日历服务器检索日历呈现信息,呈现服务器必须能够与该日历服务器进行通信。但是,许多日历服务器使用不同的专用API和/或协议进行通信。这样,当前并没有用于从日历服务器有效地检索日历呈现信息的统一体系结构或者构架。因此,需要一种统一体系结构,其提供到任何日历服务器的通用接口并且提供用于将日历/日程信息转换为丰富呈现信息的通用框架。
发明内容
本发明的实施例提供一种用于检索呈现实体的日历呈现信息的呈现系统。该呈现系统包括:日历代理,用于产生到日历服务器的对于日历日程信息的查询,接收来自日历服务器的日历日程信息,以及将接收的日历日程信息转换为呈现实体的日历呈现信息。该日历系统还包括日历接口,每个日历接口被配置为经由第一协议与日历代理进行通信,以接收查询并且将从日历服务器检索的日历日程信息提供给日历代理。日历接口每一个进一步被配置为经由相应的第二协议与相应的一个日历服务器进行通信,以将相应的查询提供给相应的日历服务器并且从相应的日历服务器接收日历日程信息。
例如,在一个实施例中,响应于提供从日历代理到其相应的日历服务器的查询,日历接口从其相应的日历服务器接收日历日程信息。在另一个实施例中,日历日程信息包括更新的日历日程信息,并且响应于与日历服务器相关联的一个或者多个呈现实体的日历日程信息的变化,日历接口异步地从其相应得日历服务器接收更新的日历日程信息。
本发明的实施例还提供一种呈现服务器,用于检索呈现实体的日历呈现信息以及提供日历呈现信息给呈现实体的观察者。该呈现服务器包括日历代理,其经由到所述日历服务器的每一个的相应日历接口与日历服务器进行通信,以从日历服务器检索呈现实体的日历日程信息,以及将检索的日历日程信息转换成日历呈现信息。另外,呈现服务器包括由日历代理保持的高速缓存,用以存储呈现实体的日历呈现信息。在一个实施例中,日历代理用于使用存储在高速缓存中的日历呈现信息向呈现实体的观察者提供日历呈现信息的实时更新。
本发明的实施例还提供一种用于检索呈现实体的日历呈现信息的方法。该方法包括:以第一格式产生对于呈现实体的日历日程信息的查询并将按照第一格式的每个查询转换成相应的第二格式,所述相应的第二格式与用于保持呈现实体的日历日程信息的相应的日历应用相关联。该方法还包括:以相应的第二格式从每个日历应用中检索日历日程信息并将按照相应的第二格式的日历日程信息转换成第一格式,用以处理日历日程信息,作为日历呈现信息。
附图说明
可以通过参考结合附图的以下详细说明来获得对本发明更完全的理解,其中:
图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)、呈现代理150、呈现服务器160和呈现实体110的一个或者多个观察者170。PUA140能够操纵和提供对于呈现实体110的呈现信息。在图1中,为为每个终端120示出了独立的PUA140。但是,应当理解,在其他实施例中,根据终端120的数量和类型、终端120所支持的应用以及系统配置,PUA140的数量可以变化。每个PUA140代表独立地产生呈现实体110的整体呈现信息的成分的电话应用。通常,当呈现状态发生变化时,PUA140产生呈现信息。呈现状态变化的例子包括但不局限于打开和关闭终端120、从终端120修改注册以及改变终端120上的即时消息状态。作为一个例子,当呈现实体发起或者应答电话呼叫时,电话应用通知呈现服务器将呈现实体的呈现状态设置为“在电话上”。
由一个或者多个呈现代理(PA)150收集来自每个PUA140的呈现信息。在图1中,为了简化,仅仅示出了一个PA150。但是,应当理解,在其他实施例中,可以具有对于呈现实体110的多个PA150,它们的每一个负责当前对于呈现实体110有效的整个订阅(subscription)(来自观察者170的对于呈现信息的请求)的一个子集。
另外,根据本发明的实施例,PA150从一个或者多个日历/日程表应用50(例如Microsoft Exchange
Figure S061E6745420061129D000041
IBM Lotus
Figure S061E6745420061129D000042
Meeting
Figure S061E6745420061129D000043
或者其他类似应用)和其它呈现信息源60(例如即时消息应用)收集呈现信息。例如,如果呈现实体已经在上午10点在他/她的日历上安排了一个从上午10点到下午12点的会议,正如下面结合图2所说明的,日历/日程表应用50通知PA150将呈现实体的呈现状态设置为“在开会”。
PA150汇聚来自每个源(例如PUA140、日历50和其他源60)的呈现信息,并且保持对于呈现实体110的当前完全呈现信息。呈现信息180例如表示呈现实体的可用性、呈现实体的当前活动、呈现实体所在的本地时间、呈现实体的当前位置以及有效终端和/或运行有效终端的应用的当前状态。PA150还向已经订阅呈现实体110的呈现服务的一个或者多个观察者170(呼叫者或者通信会话发起者)提供呈现信息。
呈现服务器160还存储对于呈现系统100的呈现实体110和观察者170的偏好信息(例如终端偏好)。例如,偏好信息190可以包括由呈现实体110为每个观察者170设置的呈现实体偏好信息(例如秘密过滤器)以及由每个观察者170为呈现实体110设置的观察者偏好信息(例如观察者过滤器)。偏好信息190用来过滤提供给观察者170的呈现实体110的呈现信息180,以适应秘密关心、优先要求、管理员策略和安全考虑。
呈现服务器160是物理实体,其可以作为PA150或者用于将请求从观察者170路由到PA150的代理服务器。呈现服务器160存储对于多个呈现实体110和观察者170的呈现信息180和偏好信息190。这样,与呈现服务器160相结合的PA150可用于从PUA140接收呈现实体110的呈现信息,从观察者170接收对于呈现信息的请求,以及将呈现信息提供给观察者170。当用作PA150时,呈现服务器160也可以与PUA140协同定位。
呈现系统100使用呈现协议来提供呈现服务给呈现实体110和观察者170。正如在J.Rosenberg等等的“SIP:Session Initiation Protocol”RFC:3261,2002年6月和A.Roach等等的“Session Initiation Protocol(SIP)-Specific Event Notification”RFC:3265,2002年6月中所说明的,可以用在呈现系统100中的呈现协议的例子是会话发起协议(SIP),上述文献的每一个通过参考文件形式结合于此。SIP是用来创建、修改和终止通信(语音、文本和/或多媒体)会话的应用层控制协议。SIP可以与其他协议一起使用,例如实时传输协议(RTP)、实时流传输协议(RTSP)、会话描述协议(SDP)、国际电信联盟-电信(“ITU-T”)H.263标准(视频编解码器)、G.711和G.729标准(音频编解码器)以及其他或者附加标准或者协议。正如可以理解的,可以使用其他或者附加协议和配置。
SIP网络能够将请求从网络上的用户路由到保持对于用户的注册状态的服务器。这样,SIP网络支持呼叫者(观察者)发送用于与特定被叫者(呈现实体110)有关的呈现信息的SUBSCIBE(订阅)请求,其待路由到保持对于呈现实体110的呈现信息的呈现服务器160。在操作上,呈现服务器160和PA150可以与SIP代理/注册器协同定位,用于效率目的。
图2提供了根据本发明实施例的呈现系统100内的示例性体系结构,用于呈现服务器160与多个日历服务器230a-230d进行通信,以检索向呈现服务器160订阅的呈现实体的日历呈现信息225。该体系结构包括日历代理200和日历接口240a-240d,每个用于与相应的日历服务器230a-230d进行通信。
日历代理200使用公共第一协议245与所有的日历接口240a-240d进行通信,而每个日历接口240a-240d使用相应的第二协议与其相应的日历服务器230a-230d进行通信。例如,在一个实施例中,第一协议245是SIP、XML和另外的标准协议,以及每个第二协议235a-235d是专用API和/或协议或者与相应的日历服务器230a-230d相关联的标准协议。
每个日历服务器230a-230d与提供日历服务给一个或者多个用户的相应的日历应用相关联。例如,在示例性的企业应用中,每个日历服务器230a-230d与不同的日历应用相关联,例如Microsoft
Figure S061E6745420061129D000061
Meeting
Figure S061E6745420061129D000062
或者其他日历应用。每个日历服务器230a-230d与相应的日历数据库250a-250d进行通信,以保持原始的日历数据(之后分别称为日历日程信息255a-255d),代表日历服务的所有用户的日程安排。
因为日历服务的用户中的一个或者多个可以是订阅呈现服务器160的呈现实体,所以在日历数据库250a-250d中的日历日程信息255a-255d可以用来获得日历呈现信息225。具体地,日历数据库250a-250d包括日历日程信息255a-255d,其可以转换成对于呈现系统10的那些呈现实体的日历呈现信息225,所述呈现实体是由日历服务器230a-230d中的一个提供的日历服务的用户。例如,这种日历日程信息255a-255d可以包括存储在日历数据库250a-250d中的呈现实体会议日期和时间。
根据本发明的实施例,日历代理操作来经由日历接口240a-240d从呈现系统10中的每个日历服务器230a-230d中检索日历日程信息255a-255d。在一个实施例中,响应于由日历代理200发送的对于日历日程信息255a-255d的查询,日历代理200经由日历接口240a-240d从日历服务器250a-250d接收日历日程信息255a-255d。在另一个实施例中,日历代理200根据由日历服务器250a-250d提供的动态更新来经由日历接口240a-240d从日历服务器250a-250d接收日历日程信息255a-255d。
每个日历接口240a-240d被配置为与其相应的日历服务器230a-230d进行通信,以提供对于日历日程信息255a-255d的请求给日历服务器230a-230d,以及与日历代理200进行通信,以将接收的日历日程信息255a-255d从日历服务器230a-230d提供到日历代理200。日历代理200处理原始的日历数据(接收的日历日程信息255a-255d),以将日历日程信息255a-255d转换成日历呈现信息225。
同样地,日历代理200包括任何硬件、软件、固件或者其组合,用于将日历日程信息255a-255d转换成日历呈现信息225,并且用于管理日历呈现信息225。类似地,日历接口240a-240d每一个包括任何硬件、软件、固件或者其组合,用于在其日历服务器230a-230d和日历代理200之间进行接口连接。作为一个例子,日历代理200和/或日历接口240a-240d可以包括执行指令的一个或者多个处理器和存储由处理器使用的指令和数据的一个或者多个存储器。处理器通常被理解为驱动通用计算机的设备。但是,请注意,诸如微控制器、现场可编程门阵列(FPGA)或者专用集成电路(ASIC)或者其组合也可以用来实现在此说明的好处和优点。作为另一个例子,日历代理200和/或日历接口240a-240d可以包括一个或者多个过程,例如提供产生特定结果的任务的活动、功能或者系统序列的软件应用。
在一个实施例中,在呈现服务器160内包括一个或者多个日历接口240a-240d。在另一个是实施例中,一个或者多个日历接口240a-240d是单独的系统,能够访问呈现服务器160。在另一实施例中,一个或者多个日历接口240a-240d包括在其相应的日历服务器230a到230d中。
每个日历接口240a-240d包括查询处理器260和事件信宿270。但是,为了简化起见,仅仅示出了日历接口240a,包括查询处理器260和事件信宿270。日历接口240a的查询处理器260使用第一协议245与日历代理200进行通信,并且使用与日历服务器230a相关联的第二协议235a与日历服务器230a进行通信。
查询处理器260以第一协议245从日历代理200接收查询,并且以第一协议将对查询的响应以及从日历服务器250a接收的任何日历日程信息255a提供给日历代理200。查询处理器260还以第二协议235a与日历服务器230a进行通信,以实现日历代理查询。例如,在一个实施例中,日历代理200以第一协议产生到日历接口240a的查询处理器260的查询,用以请求一个或者多个呈现实体的日历日程信息255a。当接收到该查询时,查询处理器260将该查询从与第一协议245相关联的格式转换成与第二协议235a相关联的格式,并且以第二协议235a将该查询提供给日历服务器230a。
日历接口240a的事件信宿270被配置为以第二协议从日历服务器230a接收对于一个或者多个呈现实体的日历日程信息255a,并且将接收的日历日程信息255a提供给用于以第一协议245与日历代理200通信的查询处理器260。例如,在一个实施例中,日历接口240a的事件信宿270被配置为响应于由日历代理200发送的并且通过查询处理器260提供给日历服务器230a的请求日历日程信息255a的查询,来接收日历日程信息255a。
在另一个实施例中,日里接口240a的事件信宿270被配置为响应于日历服务器230a所记录的日历数据库250a中的日历日程信息255a的变化,来从日历服务器230a接收日历日程变化的异步更新。例如,日历服务器230a可以包括触发器,触发器使得日历服务器230a提供更新的日历日程信息255a给事件信宿270。作为例子,如果用户/呈现实体访问日历服务器230a以改变存储在日历数据库250a中的会议(例如,改变会议时间、场所或者位置),则这种改变可以启动日历服务器230a中的触发器来提供会议变化给事件信宿270。用于从日历服务器230a中检索日历呈现信息255的特定技术取决于由日历服务器230a提供的接口。
在一个实施例中,事件信宿270使用例如TCP/UDP套接字的远程程序呼叫(RPC)来将日历呈现信息225传送到查询处理器260。在另一个实施例中,事件信宿270和查询处理器260被包括作为同一过程的一部分,由此使事件信宿270和查询处理器260之间的通信微不足道。
在示例性实施例中,日历代理200利用日历代理将接收对于其的日历日程信息255a的呈现实体的列表来产生到日历接口240a的处理器260的查询。相应于该查询,查询处理器260订阅日历服务器230a,以监控列表上的呈现实体的日历日程信息255a。这样,在示例性实施例中,查询处理器260通过启动订阅过程来将查询从第一协议245转换成第二协议235a。
例如,在一个实施例中,查询处理器260向日历服务器230a注册作为管理用户,以获得对列表上的呈现实体的日历日程信息255a的访问。根据日历服务器230a的设置,可以授权查询处理器260仅对列表上识别的呈现实体、包括列表上的呈现实体的一个或者多个日历服务用户组或者所有日历服务用户的访问。如果授权处理器260访问不是列表上的呈现实体的用户的日历日程信息255a,则查询处理器260在传送日历日程信息255a到日历代理200之前丢弃由事件信宿270接收的对于不是列表上的呈现实体的那些用户的任何日历日程信息255a,或者日历代理200在接收到时丢弃该日历日程信息255a。
查询处理器260可以周期性地向日历服务器230a查询列表上的呈现实体的更新的日历日程信息255a,等候由日历服务器230a提供给事件信宿270的自动更新和/或在预定时间间隔内下载对于列表上的所有呈现实体的所有日历日程信息255a。例如,预定时间间隔可以是滑动窗口(例如四周),使得对于每次下载,事件信宿270下载所有日历日程信息255a,该所有日历日程信息与在从现在到以后四周的时间间隔内对于列表上的所有呈现实体安排的日历事件相关联。
在一个实施例中,查询处理器260被配置为响应于从日历代理200接收到呈现实体列表来自动地并且周期性地执行查询和/或下载。查询处理器260可以被预先编程具有查询和/下载时间或者从日历代理200发送到查询处理器260的查询可以包括查询和/或下载时间。在另一个实施例中,查询处理器260被配置为仅仅响应于来自日历代理200的包括查询和/或下载指令的随后查询来执行查询和/或下载。例如,一旦在第一查询中日历代理200已经提供了呈现实体列表给查询处理器260,则日历代理200可以产生随后的查询,要求查询处理器260检索关于先前在列表中识别的那些呈现实体的更新的日历日程信息255a,以便减少从日历代理200发送到查询处理器260的每个查询的尺寸。
一旦日历代理200将分别从日历接口240a-240d接收的日历日程信息255a-255d转换成日历呈现信息225,则日历代理200在高速缓存220中保持所有的日历呈现信息225。日历呈现信息225包括从存储在日历数据库250a-250d中的日历日程信息255a-255d获取的关于各种活动的信息,例如会议、电话呼叫、商业旅行、个人时间和其他用户时间。作为例子而不是限定,日历呈现信息225可以包括会议日期和时间、期望参加会议的每一方的呈现实体标识(用户名)、邀请参加会议的每一方的用户名、会议地点、会议类型或主题、以及记录在日历数据库250a-250d中的与会议或者其他活动相关的任何其他信息。日历代理200使用高速缓存220提供日历呈现信息225的实时更新给订阅呈现系统100的呈现实体的观察者。
图3描述了根据本发明实施例在高速缓存中存储日历呈现信息225的数据结构。正如以上所述,日历呈现信息225包括关于各种活动的信息,例如会议、电话呼叫、商业旅行、个人时间和其他用户事件(此后合称为“会议”)。高速缓存220存储根据这些“会议”的日历呈现信息225。这样,在高速缓存220内,存在多个会议对象310a、310b、......310N,每个包括关于一个特定会议的信息。每个会议对象310还具有与其相关联的会议标识符320,该标识符唯一地标识高速缓存220中的会议对象310。在一个实施例中,当起初接收到会议信息时,由日历代理(200,图2所示)来分配会议标识符320。此后,日历代理将会议信息的所有更新与先前分配的会议标识符320相关联。
正如图3可以看到的,以索引300a-300d的形式构造高速缓存220,每个将特定类型的日历呈现信息225与会议标识符320相关联。使用每个索引300a-300d支持对于观察者的日历呈现信息的实时更新。例如,开始时间索引300将会议开始时间315与会议标识符320相关联,而结束时间索引300b将会议结束时间325与会议标识符相关联。通过索引会议开始时间315和会议结束时间325,日历代理能够获得对于在特定时间开始或者结束的所有会议的会议标识符320。根据会议标识符320,日历代理可以使用会议索引300d索引和定位实际的会议对象310。作为另一个例子,姓名索引300c将用户/呈现实体标识335与会议标识符320相关联。通过索引特定用户/呈现实体标识335,日历代理能够获得对于与该用户/呈现实体相关联的所有会议的会议标识符320。索引的数量和类型是可变的,并不局限于在此所列出的任何索引类型。
图4描述了用于检索日历呈现信息的消息400的示例性格式。在一个实施例中,消息400是来自日历代理(图2所示的200)的请求一个或者多个呈现实体的日历日程信息的查询。在另一个实施例中,消息400是来自日历接口(图2所示的240)的包括日历日程信息的响应。
消息400通常包括报头字段410、长度字段420以及消息有效载荷字段430。在每个字段410、420和430中的特定信息取决于用于日历代理和日历接口之间通信的协议。例如,在一个实施例中,日历接口和日历代理之间的通信协议是SIP。在这种实施例中,日历接口和日历代理是对于呈现服务器的客户机,并且相互订阅。已经在适当位置订阅时,日历代理和日历接口可以相互发送SIP NOTIFY消息。SIP NOTIFY消息的报头410确定所要求的服务。字符消息的长度420用于检测消息的结束。
例如,在示例性实施例中,报头410可以是下列之一:
ADD_USER_LIST:它由日历代理发送到日历接口。该报头用来发送将监控日历日程信息的用户列表。
1.ROMOVE_USER_LIST:它由日历代理发送到日历接口。该报头用来通知日历接口通知监听对于特定用户集合的日历日程信息。
2.MEETING_MODIFICATION:它由日历接口发送到日历代理,以通告新的会议的添加或者现有会议的修改。
3.GET_MEETING:当请求得到特定日期/时间范围内的所有用户的会议时,它由日历代理发送到日历接口。
4.SPECIFIC QUERY:这是由日历代理发送到日历接口的查询,以获得满足该查询的会议集合。
5.QUERY_RESULT:这是对于由日历接口发送到日历代理的查询的结果。
6.MEETING_LIST:这是作为对GET_MEETING查询的响应的会议列表。
7.MEETING_DELETION:它由日历接口发送到日历代理,以通告会议的删除。
8.ERR_ADD_USER:如果并且仅当在ADD_USER_LIST中的任何用户都不存在于日历服务器数据库时,根据ADD_USER_LIST,日历接口将具有该报头的分组发送到日历代理。
9.ERR_REMOVE_USER:如果并且仅当在REMOVE_USER_LIST中的任何用户都不存在于日历服务器上的注册用户列表中时,根据REMOVE_USER_LIST,由日历接口将具有该报头的分组发送到日历代理。
另外,对于SIP实现,消息有效载荷字段430可以包括类型和值。类型表示包括在消息400中的数据的类型,而值包含字符形式的实际数据。在示例性实施例中,类型可以是以下之一:
 
类型 含义
01 会议开始日期
02 会议结束日期
03 会议ID
04 会议所有者
05 Href
06 会议地点
07 用于用议的资源
08 用于会议的附件
09 会议类型
10 参加者列表“;”划分
11 会议说明
12 会议主题
13 查询ID
14 会议对象结束(什么都没发送)
在另外的实施例中,消息400可以是XML查询的形式。在这种实施例中,XML方案定义了所有查询参数。
对于“获得会议”的XML查询的一个示例格式如下:
<request>
    <s ipmehtod>NOTIFY</s ipmethod>
    <act ion>get-meet ings</act ion>
    <query>
         <us er list>...</user list>
         <uid>...</uid>
         <dstart>
             <minrange>yyyy-mm-dd hh:mm:s s[am/pm]</minrange>
             <maxrange>yyyy-mm-dd hh:mm:s s[am/pm]</maxrange>
         </ds tart>
         <dtend>
             <minrange>yyyy-mm-dd hh:mm:s s[am/pm]</minrange>
             <maxrange>yyyy-mm-dd hh:mm:s s[am/pm]</maxrange>
         </dtend>
         <dtmodify>
             <minrange>yyyy-mm-dd hh:mm:s s[am/pm]</minrange>
             <maxrange>yyyy-mm-dd hh:mm:s s[am/pm]</maxrange>
         </dtmodify>
      </query>
</request>
如果XML没有包含用户列表,则日历接口执行对于它在SUBSCRIBE消息中接收的用户列表的查询。但是,如果在查询中指定了新的用户列表,则当仅仅执行该查询时,使用该新的用户列表。新的用户列表没有重写以SUBSCR IBE消息发送到日历接口的任何用户列表。对于查询的XML响应的示例格式如下:
<response>
    <sipmehtod>NOTIFY</sipmethod>
    <action>get-meetings</action>
    <status>
          <code>200OK</code>
         <descr ipt ion/>
         <data>
     </query>
</request>
图5是描述根据本发明实施例的用于检索呈现实体的日历呈现信息的示例性过程500的流程图。在块510,以第一格式产生到日历应用的对于呈现应用的呈现实体的日历日程信息的一个或者多个查询。在块520,在日历接口接收到日历应用的查询。在块530,日历接口将每个查询从第一格式转换成与日历应用相关联的第二格式,以及在块540,将转换的查询提供给日历应用。
例如,在一个实施例中,至少一个查询包括监控日历日程信息的呈现实体的列表。为了将查询转换成第二格式,日历接口订阅日历应用,以周期性地向日历应用查询列表上的呈现实体的日历日程信息(自动地或者响应于随后的查询),立即从日历应用下载列表上的呈现实体的日历日程信息,或者自动从日历应用接收对于列表上的呈现实体的更新的日历日程信息。
这样,在块550,日历接口以第二格式从日历服务接收日历日程信息(新的或者更新的),在块560,将接收的日历日程信息从第二格式转换成第一格式,以及在块570,以第一格式将日历日程信息提供给呈现应用,用以随后处理日历日程信息,以在块580,将日历日程信息转换成日历呈现信息。在块590,对于存储日历日程信息的每个日历应用重复该过程,所述日历日程信息可以转换为由呈现应用所服务的呈现实体的日历呈现信息。
本领域技术人员将意识到,可以在广泛的应用上修改和改变在此说明的创造性原理。因而,专利性主题的范围应当不限于讨论的任何特定示例性教示,而是由所附的权利要求来限定。

Claims (10)

1.一种用于检索呈现实体(110)的日历呈现信息(225)的呈现系统,包括:
呈现服务器,用于收集包括所述呈现实体的所述日历呈现信息的呈现信息,所述呈现服务器包括日历代理(200),用于产生到日历服务器(230)的对于与所述呈现实体(110)相关联的日历日程信息(255)的查询(400),从所述日历服务器(230)接收对于所述呈现实体(110)的所述日历日程信息(255),以及处理所述日历日程信息(255),以将所述日历日程信息(255)转换成所述日历呈现信息(225);以及
日历接口(240),每个日历接口被配置为经由第一协议(245)与所述日历代理(200)进行通信,以接收所述查询(400)并且提供所述日历日程信息(255)给所述日历代理(200),以及每个日历接口被配置为经由相应的第二协议(235)与所述日历服务器(230)中相应的一个进行通信,以提供相应的所述查询(400)给所述相应的日历服务器(230)并且从所述相应的日历服务器(230)接收所述日历日程信息(255)。
2.根据权利要求1的呈现系统,其中每个所述日历接口(240)包括:
查询处理器(260),被配置为与所述相应的日历服务器(230)和所述日历代理(200)进行通信,以在与所述第一协议(245)相关联的格式和与所述相应的第二协议(235)相关联的格式之间转换消息(400);以及
事件信宿(270),被配置为动态地接收所述日历日程信息(255)并将所述日历日程信息(255)提供给所述日历代理(200)。
3.根据权利要求2的呈现系统,其中响应于提供所述查询(400)中相应的一个给所述相应的日历服务器(230),所述日历接口(240)中的一个的所述事件信宿(270)从所述相应的日历服务器(230)接收所述日历日程信息(255)。
4.根据权利要求2的呈现系统,其中所述日历日程信息(255)包括更新的日历日程信息,以及其中响应于与所述相应的日历服务器(230)相关联的一个或者多个所述呈现实体(110)的所述日历日程信息(255)的变化,所述日历接口(240)中的一个的所述事件信宿(270)异步地从所述相应的日历服务器(230)接收所述更新的日历日程信息。
5.根据权利要求1的呈现系统,还包括:
由所述日历代理(200)保持的高速缓存(220),用于存储所述呈现实体(110)的所述日历呈现信息(225),以及其中所述日历代理(200)还使用所述高速缓存(220)中的所述日历呈现信息(225)将所述日历呈现信息(225)的实时更新提供给所述呈现实体(110)的观察者(170)。
6.根据权利要求5的呈现系统,其中:
所述日历呈现信息(225)包括对于为所述呈现实体(110)在所述日历服务器(230)中安排的每个会议的相应的会议对象(310),每个所述会议对象(310)包括与所述相应的会议相关联的信息;
所述日历代理(200)还分配会议标识符(320)给每个所述会议对象(310);以及
所述高速缓存(220)包括将每个所述会议标识符(320)链接到所述相应的会议对象(310)的索引。
7.一种用于检索呈现实体(110)的日历呈现信息(225)的方法,包括步骤:
通过呈现服务器以第一格式产生(510)对于与所述呈现实体(110)相关联的日历日程信息(255)的查询(400),所述呈现服务器用于收集包括所述呈现实体的所述日历呈现信息的呈现信息,
将按照所述第一格式的所述查询(400)的每一个转换为相应的第二格式,所述相应的第二格式与保持所述呈现实体(110)的所述日历日程信息(255)的相应的日历应用相关联;
以所述相应的第二格式从每个所述日历应用中检索(550)所述日历日程信息(255);以及
将按照所述相应的第二格式的所述日历日程信息(255)转换(560)成所述第一格式,用来处理所述日历日程信息(255),以将所述日历日程信息(255)转换(580)成所述日历呈现信息(225)。
8.根据权利要求7的方法,其中所述检索(550)所述日历日程信息(255)还包括响应于提供所述查询(400)中相应的一个给所述日历应用中相应的一个而从所述相应的日历应用接收所述日历日程信息(255)。
9.根据权利要求7的方法,其中所述日历日程信息(255)包括更新的日历日程信息,以及其中所述检索(550)所述日历日程信息(255)还包括:
响应于与所述日历应用中相应的一个相关联的一个或者多个所述呈现实体(110)的所述日历日程信息(255)的变化,异步地从所述相应的日历应用接收所述更新的日历日程信息。
10.根据权利要求7的方法,还包括:
将所述呈现实体(110)的所述日历呈现信息(225)存储在高速缓存(220)中,以及
使用所述高速缓存(220)中的所述日历呈现信息(225)将所述日历呈现信息(225)的实时更新提供给所述呈现实体(110)的观察者(170)。
CN200610146745.4A 2005-11-23 2006-11-22 用于日历呈现检索的系统和方法 Expired - Fee Related CN1971604B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/286,893 2005-11-23
US11/286,893 US20090043627A1 (en) 2005-11-23 2005-11-23 System and method for calendar presence retrieval

Publications (2)

Publication Number Publication Date
CN1971604A CN1971604A (zh) 2007-05-30
CN1971604B true CN1971604B (zh) 2014-12-10

Family

ID=37668171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610146745.4A Expired - Fee Related CN1971604B (zh) 2005-11-23 2006-11-22 用于日历呈现检索的系统和方法

Country Status (3)

Country Link
US (1) US20090043627A1 (zh)
EP (1) EP1801743A1 (zh)
CN (1) CN1971604B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889851B2 (en) * 2006-04-20 2011-02-15 Cisco Technology, Inc. Accessing a calendar server to facilitate initiation of a scheduled call
US9203918B2 (en) * 2007-03-15 2015-12-01 Nokia Technologies Oy Pulling information from information sources via refer requests
EP2191425B1 (en) * 2007-08-14 2018-01-10 Samsung Electronics Co., Ltd. Method and system for sip based dynamic advertisement of presence information
CN102750605A (zh) * 2007-09-27 2012-10-24 腾讯科技(深圳)有限公司 日历管理设备、系统及方法
US9785916B2 (en) * 2007-10-12 2017-10-10 Yahoo Holdings, Inc. Integrating rich media into a web-based calendar
US8990269B2 (en) * 2007-11-28 2015-03-24 International Business Machines Corporation Intelligent client cache mashup for the traveler
CN101466077B (zh) * 2007-12-19 2012-10-10 株式会社Ntt都科摩 实现呈现信息和日程信息同步的系统、装置和方法
US8831197B2 (en) * 2008-03-14 2014-09-09 Cisco Technology, Inc. One button conference initiation
US9357164B2 (en) * 2008-03-18 2016-05-31 Cisco Technology, Inc. Establishing a remotely hosted conference initiated with one button push
US8359356B2 (en) 2008-06-20 2013-01-22 At&T Intellectual Property I, Lp Presenting calendar events with presence information
US8296374B2 (en) 2008-10-29 2012-10-23 International Business Machines Corporation Controlling the presence information of activity participants
ES2649287T3 (es) 2008-11-28 2018-01-11 Alcatel Lucent Sistema de transferencia de llamadas sensible al contexto
US10319376B2 (en) * 2009-09-17 2019-06-11 Avaya Inc. Geo-spatial event processing
CN101833609B (zh) * 2010-03-18 2011-05-18 北京师范大学 一种面向河流生态流量维持的水库优化调度方法
US8560487B2 (en) 2010-12-10 2013-10-15 International Business Machines Corporation Determining and conveying user availability
CN102594718A (zh) * 2011-01-12 2012-07-18 阿尔卡特朗讯 一种处理呈现信息的方法和装置
CN102130993A (zh) * 2011-02-22 2011-07-20 中兴通讯股份有限公司 基于移动终端的信息记录方法及系统
CN102609833A (zh) * 2011-12-30 2012-07-25 鸿富锦精密工业(深圳)有限公司 具有日程管理功能的电子装置及方法
KR20150046100A (ko) 2012-08-10 2015-04-29 뉘앙스 커뮤니케이션즈, 인코포레이티드 전자 디바이스에 대한 가상 에이전트 통신
US10534623B2 (en) 2013-12-16 2020-01-14 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
KR20160101079A (ko) * 2013-12-16 2016-08-24 뉘앙스 커뮤니케이션즈, 인코포레이티드 가상 어시스턴트를 제공하기 위한 시스템 및 방법
CN104243559A (zh) * 2014-08-29 2014-12-24 小米科技有限责任公司 日历信息推送方法、装置及系统
EP3041208A1 (en) * 2014-12-30 2016-07-06 Telefonica Digital España, S.L.U. Method for determining an optimal communication device for a communication
US20160247124A1 (en) * 2015-02-24 2016-08-25 Cisco Technology, Inc. Deferred Automatic Creation of Human Readable Meeting Placeholder Join Links Based on a Calendar Entry
US20160308685A1 (en) * 2015-04-20 2016-10-20 Avaya Inc. Dynamic resource list subscriptions
CN105868232A (zh) * 2015-12-01 2016-08-17 乐视体育文化产业发展(北京)有限公司 日历中关注事件的方法、装置及系统
CN106873948B (zh) * 2015-12-10 2020-03-27 珠海豹趣科技有限公司 日历显示方法及装置
CN105956906A (zh) * 2016-04-28 2016-09-21 上海携程商务有限公司 基于日历机制的订单展示方法及装置
US10708206B2 (en) 2017-12-12 2020-07-07 Microsoft Technology Licensing, Llc Mailbox protection in web conferencing systems
CN114095510B (zh) * 2020-07-31 2024-03-29 腾讯科技(深圳)有限公司 多日历账户同步、处理方法、装置、电子设备、存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7233933B2 (en) * 2001-06-28 2007-06-19 Microsoft Corporation Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
US7752268B2 (en) * 2003-09-25 2010-07-06 Oracle America, Inc. Method and system for presence state assignment based on schedule information in an instant messaging system
US20050068167A1 (en) * 2003-09-26 2005-03-31 Boyer David G. Programmable presence proxy for determining a presence status of a user

Also Published As

Publication number Publication date
US20090043627A1 (en) 2009-02-12
EP1801743A1 (en) 2007-06-27
CN1971604A (zh) 2007-05-30

Similar Documents

Publication Publication Date Title
CN1971604B (zh) 用于日历呈现检索的系统和方法
EP1675370B1 (en) Presence system and method for event-driven presence subscription
EP1718030B1 (en) System and method for managing user groups in presence systems
US7856478B2 (en) Presence system and method for providing access to web services
US7359496B2 (en) Communications system and method for providing customized messages based on presence and preference information
EP1759513B1 (en) Method, system and computer program to enable querying of resources in a certain context by defining a sip event package
EP1806903B1 (en) Custom presence icons
EP1713234B1 (en) System and method for routing communication sessions based on priority, presence and preference information
US8487770B2 (en) Programmable presence proxy for determining a presence status of a user
EP1720124A1 (en) Communication system and method for determining next joint availability using presence information
US7945035B2 (en) Dynamic presence proxy for call sessions
US20070266075A1 (en) Session presence
EP1675371A1 (en) Providing presence information of callers and/or senders of messages
CN1996864A (zh) 用于通过在线系统向用户分发实时服务信息的系统和方法
US20080133644A1 (en) Orthogonal subscription
US20080208982A1 (en) Method and system for providing status information relating to a relation between a plurality of participants
EP1840808A1 (en) Presence logging in calendar systems
US20090150403A1 (en) Methods and Apparatus for Dynamic Generation and Notification of Virtual Presentities for Presence-Based Awareness
CN101159910A (zh) 同步呈现状态的方法及实现该方法的群组服务器和终端
CN1901513A (zh) 用于用在线信息确定下一次联合可用性的通信系统和方法
Singh et al. Presence traffic optimization techniques
Peternel et al. Using presence information for an effective collaboration
KR20050016989A (ko) 프리젠스 정보의 갱신
Atanasov et al. Call-unrelated Interaction between SIP and Parlay/OSA

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141210

Termination date: 20201122

CF01 Termination of patent right due to non-payment of annual fee