CN101455033B - 服务器处的用户在场聚集 - Google Patents

服务器处的用户在场聚集 Download PDF

Info

Publication number
CN101455033B
CN101455033B CN200780018951XA CN200780018951A CN101455033B CN 101455033 B CN101455033 B CN 101455033B CN 200780018951X A CN200780018951X A CN 200780018951XA CN 200780018951 A CN200780018951 A CN 200780018951A CN 101455033 B CN101455033 B CN 101455033B
Authority
CN
China
Prior art keywords
state
publisher
issue
user
scene
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.)
Active
Application number
CN200780018951XA
Other languages
English (en)
Other versions
CN101455033A (zh
Inventor
A·查弗达
A·拉格哈弗
E·施蒂格曼
S·文卡特斯艾
S·P·劳
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101455033A publication Critical patent/CN101455033A/zh
Application granted granted Critical
Publication of CN101455033B publication Critical patent/CN101455033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Abstract

在场聚集系统提供允许发布来自该发布者的多个端点的、发布者的在场状态的在场聚集服务器。在场状态包括可用性值和活动。活动可以包括活动令牌和/或自定义串。在发布者的端点的任一个在在场聚集服务器上做出在场状态发布时,该在场聚集服务器生成该发布者的聚集状态(即,跨发布者的所有端点所聚集的发布者的可用性),并向发布者的每一端点发布该聚集状态。在场聚集服务器还可以向发布者的聚集状态信息的订阅者提供发布者的聚集状态。

Description

服务器处的用户在场聚集
背景
计算设备(例如,膝上型计算机、蜂窝电话、和个人数字助理)的用户经常需要实时地通信。即时消息通信服务提供了常见形式的实时通信。即时消息通信服务允许端点处的参与者发送消息,并且使得消息在一到两秒钟之内被对话中的其他参与者接收。接收参与者随后能够将响应消息以类似的方式发送给其他参与者。为了有效,实时对话依赖于参与者能很快地知道、查看和响应接收到的消息。这种快速响应与其中电子邮件消息的收件人在其方便时回复该消息的传统电子邮件系统不同。
当发起的参与者希望开始实时对话时,该参与者需要知道预期的参与者是否有空来实时地响应消息。如果否,那么经由传统的电子邮件、语音邮件或某种其它机制的通信是更适当的。例如,如果预期参与者的计算机当前被关闭,那么实时对话是不可能的。此外,如果其计算机当前被打开,但是预期参与者离开了其计算机,那么实时对话也是不可能的。发起参与者希望知道预期参与者的可用性,以便作出关于通信形式的适当决定。
在场服务提供该可用性信息。诸如计算机系统或与该计算机系统相关联的用户等实体的可用性状态被称为“在场信息”。在场信息标识用户的当前“在场状态”。用户使其在场信息对在场服务可用,以便其他用户可以决定如何最好地与他们通信。例如,在场信息可以指示用户是登录(“在线”)到即时消息通信服务器还是注销(“离线”)。在场信息也可提供有关用户有空与否的更详细信息。例如,即使用户在线,用户也可能在会议中离开其计算机。在这种情形下,在场状态会指示“在线”且“在会议中”。
在即时消息通信上下文中,发布用户(“发布者”)可向在场服务器提供其在场信息,在场服务器接着将该在场信息提供给订阅用户(“订阅者”)。因此,在场服务器可使用订阅者/发布者模型来提供关于在场服务器的用户的在场信息。只要用户的在场信息发生改变,就通过该用户的计算机系统将该改变通知给在场服务器,并接着将该改变通知给订阅用户。订阅用户随后可以基于预期参与者的在场信息来决定是否要发起即时消息通信对话。例如,如果在场信息指示发布用户当前处于会议电话呼叫中,那么订阅用户可决定向发布用户发送即时消息,而非发出电话呼叫。然而如果订阅用户需要呼叫并与发布用户谈话,则订阅用户需要监视发布用户的在场信息,以便知道何时可以发出呼叫。当订阅用户注意到发布用户的在场信息指示电话会议已结束时,订阅用户随后可以发出电话呼叫。RFC2778是涉及即时消息通信系统中的在场信息的规范。RFC3856是涉及使用会话发起协议(“SIP”)的在场信息的规范。
用户使用多种设备在同一时间登入协作服务器并非不常见,从而创建多个端点。例如,用户可以使用个人数字助理、无线电话、和膝上型计算机同时登入即时消息通信服务器。在这种情况下,这些端点的每一个都包含诸如该用户是否正在设备上打字、是否正使用该设备打电话等关于该用户的信息片段,以及该用户的在任何时间可供通信或与其它用户的其它形式的交互的可用性。尽管当前的在场服务可以适于提供在特定用户端点通信的用户可用性,但在用户登入多个端点时,这些在场服务不能提供用户通信可用性的精确的描绘。
概述
提供了用于在服务器处跨多个端点聚集用户在场的方法和系统。在场聚集系统提供允许发布来自发布者的多个端点的、发布者的在场状态的在场聚集服务器。在场状态包括可用性值和活动。活动可以指定活动令牌和/或自定义串。例如,用户可以发布包括指示该用户(例如,发布者)在线的可用性值的状态。在发布者的端点的任一个在在场聚集服务器上作出在场状态发布时,该在场聚集服务器生成该发布者的聚集状态(即,跨发布者的所有端点所聚集的发布者的可用性),并向发布者的每一端点发布该所生成的聚集状态。在场聚集服务器还可以向发布者的聚集状态信息的订阅者提供发布者的聚集状态。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是示出根据某些实施例的在场聚集系统的组件的框图。
图2是示出根据某些实施例的在场聚集系统的示例逻辑数据结构的数据结构图。
图3是示出根据某些实施例的在场聚集系统的处理的流程图。
图4是示出根据某些实施例的聚集模块在确定聚集机器状态时的处理的流程图。
图5是示出根据某些实施例的聚集模块在确定聚集可用性时的处理的流程图。
图6是示出根据某些实施例的聚集模块在确定当前活动时的处理的流程图。
详细描述
提供了用于在服务器处跨多个端点聚集用户在场的方法和系统。在某些实施例中,在场聚集系统提供允许发布来自发布者的多个端点中的任一个的、发布者的在场状态的在场聚集服务器。在场状态包括可用性值和活动。活动可以指定活动令牌和/或自定义串。例如,用户可以发布包括指示该用户(例如,发布者)在线的可用性值的状态。作为另一示例,机器可以通过发布包括指示该机器在线的活动性值的状态来指定其是活动的。在发布者的端点的任一个在在场聚集服务器上发布在场状态时,该在场聚集服务器生成该发布者的聚集在场状态(此处也互换地被称为“聚集状态”)(即,跨发布者的所有端点所聚集的发布者的可用性),并向发布者的每一端点发布该所生成的聚集状态。在场聚集服务器还可以向发布者的聚集状态信息的订阅者提供发布者的聚集状态。在某些实施例中,在发布者的在场状态发布期满时,在场聚集服务器可以生成发布者的聚集状态。例如,在端点离线时,在场状态发布可能期满。在某些实施例中,在场聚集服务器可以基于所指定的触发来生成发布者的聚集状态。例如,端点可以发布指示发布者将在下午2:00忙碌的在场状态。在这种情况下,在场聚集服务器可以在所指定的时间生成发布者的聚集状态。
在场状态发布集中于发布者。通过集中于发布者,在场聚集系统提供“个人中心”的在场模型,这表现在发布者能够指定他或她关于所期望的通信模式的在场。个人中心的在场模式通过允许个人按照“我想与此人谈话”而非“我需要呼叫此人的蜂窝电话”来考虑,从而简化通信处理。例如,发布者能够指示对于发布者来说,使用电话的通信或在发布者的办公室的亲自会见比发送即时消息更方便。接收发布者的聚集状态的订阅者能够使用该信息来作出如何最好地与该发布者通信的决定。如果发布者的聚集状态指示该发布者当前是离开的,则订阅者可以发送即时消息但如果未接收到回复却并不难过。以此方式,在场聚集系统允许发布者更精确地指示其跨该发布者的所有端点通信的可用性,并且允许发布者的聚集状态的订阅者获得更好的关于发布者通信的可用性和意愿的指示。
在说明书全文中,以下术语将一般具有以下含义:
术语“活动”指的是在某一时刻用户正在做什么的描述符。例如,日历应用程序可以发布包含会议中事件信息的日历类型的状态。
术语“聚集可用性”指的是与用户(例如,发布者)相关联的跨该用户的所有端点的可用性。
术语“聚集在场”指的是用户的跨用户的所有端点的组合在场。聚集在场可以包括除聚集在场状态之外的信息。例如,聚集在场还可以包括机器的空闲时间、位置指示等。
术语“可用性”指的是用户通信的意愿和能力。如此,一个人的可用性是此人多么“可用”和/或此人是否可被打扰的表示。可用性用数字值来指定。数字越高,此人越不可达到/可用。
术语“被呼叫者”或“发布者”指的是作为基于在场的通信(例如,实时通信)的目标的用户。被呼叫者或发布者是发布在场信息的个人。
术语“呼叫者”或“订阅者”指的是正在查看所发布的聚集可用性信息的用户。呼叫者或订阅者是向发布者或被呼叫者发起基于在场的通信的用户。
术语“端点”指的是用户的单个登录会话。端点通常与设备是同义的。
术语“在场”指的是对确定用户的可用性有用的信息。
术语“状态”指的是表示影响个人的通信意愿和可用性的因素的信息块。
在某些实施例中,在场聚集服务器提供用于发布在场信息的容器。在场聚集服务器向每一发布者提供一个“状况”容器,且只有该发布者拥有查看他或她的状况容器的许可。每一状况容器都包含关于其相应的发布者的零个、一个或多个在场状态发布的集合。在场聚集服务器监视状况容器来寻找发布者状态的改变(例如,改变发布者的状态的在场状态发布)。在检测到发布者的状态的改变时,在场聚集服务器生成发布者的聚集状态(即,聚集可用性和/或当前活动),并在发布者的状况容器中发布该聚集状态的指示,从而向发布者的每一端点通知所发布的聚集状态。在场聚集服务器还可以确定发布者的最活跃的计算设备(此处也被称为“机器”),并将该信息发布到发布者的状况容器,从而向发布者的每一端点通知发布者的最活跃的机器。作为示例,发布者的每一端点随后可使用该信息来确定是否“自动接受”通信请求。发布者的计算设备是发布者用来创建端点的设备。
在场聚集服务器允许每一发布者定义一个或多个容器的集合、为每一容器指定访问控制列表(ACL)、并指定要被包括在每一容器中的的发布。ACL指定被允许订阅以接收对每一容器所作出的发布的实体,也被称为“成员”。例如,发布者可以通过指定个人实体(例如,Joe Smith)、实体组(例如,项目A营销团队)、具有相同特征的实体(例如,在域acme.com中)等的成员资格类型来指定容器的成员。在场聚集服务器允许实体订阅以接收发布者的发布,包括订阅者的聚集状态和其它所发布的在场信息。如果订阅实体是容器的ACL所确定的一个容器的成员,则在场聚集服务器将该实体添加为该容器的订阅者。在场聚集服务器随后向该容器的订阅者通知对该容器所做出的发布。发布可以是发布者的聚集状态以及其它在场信息。例如,在在场聚集服务器生成发布者的聚集状态时,在场聚集服务器可以在发布者的每一容器中发布该聚集状态的指示,从而向订阅者通知发布者的聚集状态。在场聚集服务器可以允许发布者直接向发布者的容器发布在场信息。例如,发布者可以定义要对作为同事的订阅者可用的容器,并可以定义对所有其它订阅者可用的另一容器。在该示例中,发布者可能想要在同事可用的容器中发布更详细的在场信息。例如,除聚集状态之外,发布者还可能想要通知同事发布者正在“与John开会”,而不向其他人提供该附加信息片段。
在某些实施例中,如以下表1所示,在场状态发布可以是“用户”、“机器”、“电话”、“日历”、“会议”或“一般”等类型。
 
状态类型 描述
用户 发布者可以手动设置的预设状态
机器 端点机器(端点设备)的状态
电话 发布者电话的状态
日历 发布者的时间表中的事件(例如,Outlook时间表)
会议 在发布者进行多方对话时或如果发布者出席协作性会话时触发
一般 所有其它状态
          表1
用户状态由发布者手动提供或指定,并因而提供发布者的意图的指示。例如,在发布者的机器上执行的、发布者可能已用来创建端点的在场聚集系统的客户端应用程序可以提供发布者通过其可以访问如在以下表2中所列出的那些的用户状态的列表的用户界面。
 
用户状态 可用性值 描述
在线 3500 发布者是可达到的
忙碌 6500 发布者是忙碌的
请勿打扰 9500 不应打扰发布者
马上回来 12500 发布者当前不可达到
离开 15500 发布者不在其桌前
显示为离线 18500 发布者想离线
        表2
如表2中的示例用户状态所示,发布者可以将他或她的通信意图指示为“在线”、“忙碌”、“请勿打扰”、“马上回来”、“离开”和“显示为离线”。每一用户状态都具有一对应的可用性值,该值是表示如用户状态所指示的、从更可用到更不可用的订阅者可用性的数字,其中较大可用性值对应于更不可用的状态。例如,在表2中所列出的六个用户状态中,“在线”是最可用的用户状态而“显示为离线”是最不可用的用户状态。发布者可以通过从所显示的列表中选择用户状态之一来指定用户状态。在发布者从所显示的列表中选择用户状态之一时,客户端应用程序确定对应于所指定的用户状态的可用性值,并在场聚集服务器上的发布者的状况容器中发布该可用性值作为发布者的用户状态。例如,如果发布者手动地指定用户状态“在线”,则所指定的用户状态将在发布者的容器中作为用户状态可用性值3500(例如,用户状态;可用性=3500)来发布。在发布了用户状态时,在场聚集服务器用发布时间来对该发布加戳。
机器状态提供在该机器上发布者是否可达到的指示。在某些实施例中,每一端点都发布机器状态。例如,客户端应用程序可以监视发布者的机器以检测诸如键盘活动或不活动、鼠标或定点设备活动或不活动、屏幕保护程序的激活或机器锁定、和提供机器的使用的指示的其它事件等事件。在检测到这种事件时,客户端应用程序确定对应于该机器状态的可用性值,并将该可用性值作为发布者的机器状态来发布在在场聚集服务器上的发布者的状况容器中。以下在表3中提供了示例机器状态和相对应的可用性值及可任选的活动令牌的列表。
 
机器状态 可用性值 活动令牌 描述
活动 3500 发布者正活动地使用该设备且是可达到的
不活动 3750 不活动 发布者未使用该设备但仍可能达到
未知 3750 不活动 该设备不能确定发布者是否可达到
离开 15500 发布者可能不在该设备
 
处且不可达到
离线 18500 发布者未登录且肯定不可达到
        表3
如表3中所示,端点可以将机器状态指示为“活动”、“不活动”、“未知”、“离开”和“离线”。类似于表2中所列出的用户状态,表3中所列出的机器状态根据其可用性指示从更可用到更不可用来进行排序,其中较大可用性值对应于更不可用状态。此外,从表2和表3可以看到,机器状态“离开”指示比用户状态“请勿打扰”更不可用的状态。在存在活动令牌时,其是表示特定机器状态的文本串。活动令牌通常由发布者(例如,发布机器状态的客户端应用程序)来提供。例如,客户端应用程序可以确定其当前正被使用,并从这一点确定机器状态“活动”。在该示例中,客户端应用程序可以在在场聚集服务器上的发布者的状况容器中将机器状态作为机器状态可用性值3500(例如,机器状态;可用性=3500;活动令牌=空)来发布。在另一示例中,客户端应用程序可以监视硬件活动来确定机器状态。在发布了机器状态时,在场聚集服务器用发布时间来对该发布加戳。
电话状态指示发布者的电话的状态。例如,客户端应用程序可以检测发布者当前正忙于网际协议语音(VoIP)呼叫并发布电话状态。以下在表4中提供了示例电话状态可用性值及相对应的可任选活动令牌和自定义串的列表。
 
可用性值 活动令牌 自定义串 描述
6500 呼叫中 一对一对话中 用户正在与一个人谈话
6750 会议中 多方对话中 用户正在与不止一个人谈话
            表4
类似于表2中所列出的用户状态和表3中所列出的机器状态,表4中所列出的电话状态根据其可用性指示从更可用到更不可用来进行排序,其中较大可用性值对应于更不可用状态。在活动令牌存在时,其是表示特定电话状态的文本串。在存在自定义串时,其是进一步描述特定电话状态的文本串。例如,自定义串能以诸如日语等特定的语言来描述电话状态。活动令牌和自定义串通常由发布者(例如,发布电话状态的客户端应用程序)来提供。例如,客户端应用程序可以确定发布者当前正进行一对一对话。在该示例中,客户端应用程序可以在在场聚集服务器上的发布者的状况容器中将电话状态作为电话状态可用性值6500(例如,电话状态;可用性=6500;活动令牌=“呼叫者”;自定义串=“一对一对话中”)来发布。在发布了电话状态时,在场聚集服务器用发布时间来对该发布加戳。
日历状态指示发布者的日历的状态。例如,客户端应用程序可以与日历应用程序进行交互来确定发布者是空闲、在开会、不在办公室等并将该信息作为日历状态来发布。以下在表5中提供了示例日历状态可用性值及相对应的可任选活动令牌和自定义串的列表。
 
可用性值 活动令牌 自定义串 描述
3500 空闲 发布者没有会议
3500 不确定 发布者有其未接受的会议
6500 会议中 会议中 发布者已接受了会议
3500 不在办公室 不在办公室 发布者不在办公室
         表5
类似于表2中所列出的用户状态、表3中所列出的机器状态和表4中所列出的电话状态,表5中所列出的日历状态根据其可用性指示从更可用到更不可用来进行排序,其中较大可用性值对应于更不可用状态。在活动令牌存在时,其是表示特定日历状态的文本串。在存在自定义串时,其是进一步描述特定日历状态的文本串。例如,自定义串可以提供活动令牌未提供的关于特定日历状态的附加细节。活动令牌和自定义串通常由发布者(例如,发布日历状态的客户端应用程序)来提供。例如,客户端应用程序可以确定发布者没有会议。在该示例中,客户端应用程序可以在在场聚集服务器上的发布者的状况容器中将日历状态作为日历状态可用性值3500(例如,日历状态;可用性=3500;活动令牌=“空”;自定义串=“空闲”)来发布。在发布了日历状态时,在场聚集服务器用发布时间来对该发布加戳。
会议状态指示发布者的与会活动的状态。例如,客户端应用程序可以检测发布者当前正参与一个会议并发布会议状态。以下在表6中提供了示例会议状态可用性值及相对应的可任选活动令牌和自定义串的列表。
 
可用性值 活动令牌 自定义串 描述
9500 出席 参与者在全屏模式
6900 只适用于紧急打扰 只适用于紧急打扰 发布者在场(请勿打扰)但某些订阅者应当看到“忙碌”可用性
6750 多方会议中 会议中 发布者在除即时消息通信之外的模式中与不止一个人在同一对话中进行谈话
            表6
类似于表2中所列出的用户状态、表3中所列出的机器状态、表4中所列出的电话状态和表5中所列出的日历状态,表6中所列出的会议状态根据其可用性指示从更可用到更不可用来进行排序,其中较大可用性值对应于更不可用状态。在活动令牌存在时,其是表示特定会议状态的文本串。在存在自定义串时,其是进一步描述特定会议状态的文本串。例如,自定义串能以诸如日语等特定语言来描述会议状态,或提供活动令牌未提供的关于特定会议状态的附加细节。活动令牌和自定义串通常由发布者(例如,发布会议状态的客户端应用程序)来提供。作为示例,客户端应用程序可以检测到在发布者的机器上执行的诸如微软的POWERPOINT等会议应用程序处于“全屏”模式。从这点上,客户端应用程序可以确定发布者当前正出席会议。在该示例中,客户端应用程序可以在在场聚集服务器上的发布者的状况容器中将会议状态作为会议状态可用性值9500(例如,会议状态;可用性=9500;活动令牌=“空”;自定义串=“出席”)来发布。在发布了会议状态时,在场聚集服务器用发布时间来对该发布加戳。
一般状态包括未被作为用户状态、设备状态、日历状态、或会议状态的任一个来发布的事件。例如,在用户的机器上执行的客户端应用程序可以检测到不是用户状态、设备状态、日历状态、或会议状态的事件。在这种情况下,客户端应用程序可以将该事件作为一般状态来发布在在场聚集服务器上的发布者的状况容器中。除指示该发布是一般状态发布并提供可用性值之外,客户端应用程序还可以提供表示和/或另外地描述所发布的一般状态的活动令牌和/或自定义串。在发布了一般状态时,在场聚集服务器用发布时间来对该发布加戳。
在某些实施例中,客户端应用程序可以提供允许发布其它应用程序所检测到的事件的应用程序接口(API)。例如,诸如日历应用程序、电话应用程序(例如,VoIP应用程序)、另一会议应用程序等应用程序都可以检测事件并请求客户端应用程序将所检测到的事件发布在在场聚集服务器上的状况容器中。
在某些实施例中,第三方应用程序或设备可以直接在在场聚集服务器上的发布者的状况容器中发布事件。例如,专用小交换机(PBX)设备可能知道在场聚集服务器,并可能具有必需的特权(例如,证书)来在在场聚集服务器上的发布者的状况容器中发布该发布者的在场信息。在PBX设备检测到诸如发布者当前正忙于电话呼叫等事件时,该PBX设备可以通过确定表示该事件的适当的可用性值来发布所检测的事件。PBX设备随后可以将该可用性值作为一般状态来发布在在场聚集服务器上的发布者的状况容器中。PBX设备还可以提供表示和/或另外地描述所发布的一般状态的活动令牌和/或自定义串。
在某些实施例中,在场聚集服务器通过考虑跨发布者的所有端点的发布者的在场状态发布来确定发布者的聚集可用性,并发布所确定的聚集可用性。在场聚集服务器监视状况容器以检测发布者的状态的改变。在检测到发布者的状态的改变(例如,对发布者的状况容器的在场状态发布)时,在场聚集服务器生成该发布者的聚集可用性为跨发布者的所有端点的最不可用状态。在场聚集服务器从所发布的机器状态中标识最可用的机器状态,并只使用该最可用的机器状态来执行聚集。为确定发布者的聚集可用性,在场聚集服务器检查发布者的状况容器以寻找用户状态发布。在存在用户状态发布的情况下,在场聚集服务器提取该用户状态发布的发布时间,且按发布时间对状况容器中的其它在场状态发布(所标识的最可用的机器状态发布、电话状态发布、日历状态发布、会议状态发布、和一般状态发布)排序,并消除比该用户状态发布早的在场状态发布。从剩余的在场状态发布中,在场聚集服务器提取最不可用状态的可用性值,并将该可用性值分配为发布者的聚集可用性。在状况容器中不存在用户状态发布的情况下,在场聚集服务器从最可用的机器状态发布、电话状态发布、日历状态发布、会议状态发布、和一般状态发布之中提取最不可用的状态的可用性值,并将该可用性值分配为发布者的聚集可用性。在场聚集服务器随后在发布者的状况容器中发布所生成的聚集可用性(例如,表示聚集可用性的值、表示聚集可用性的图标的指示、表示聚集可用性的默认串等),这将发布者的聚集可用性通知给发布者的每一端点。随后可以在每一端点处显示该聚集可用性。在场聚集服务器还可以在发布者的一个或多个其它容器中发布该所生成的聚集可用性。这使得发布者的聚集可用性被发送到订阅这些容器的订阅者,从而将发布者的聚集可用性通知给订阅者。
以下的表7包含可用性值到相对应的聚集可用性、默认串、和描述的映射。
 
聚集可用性 默认串 可用性值范围 描述
在线 在线 3000-3999 发布者是可达到的
忙碌 忙碌 6000-6999 发布者是可达到的,
 
但其正忙于另一任务
请勿打扰 请勿打扰 9000-9999 发布者是可达到的但不想被打扰
临时走开 临时走开 12000-12999 发布者临时地可能不可达到
离开 离开 15000-15999 发布者可能不可达到
离线 离线 18000-18999 发布者是不可达到的
            表7
如表7中所示,一个范围的可用性值映射到每一聚集可用性。例如,范围3000-3999内的可用性值映射到聚集可用性“在线”。将一个范围的可用性值映射单个聚集可用性允许对一类可用性中的可用性值进行排序。例如,以上表4中的电话状态“多方对话中”和以上表5中的日历状态“会议中”两者都映射到同一聚集可用性“忙碌”。即使这两个状态都导致同一聚集可用性,但电话状态“多方对话中”因为其较大的可用性数字(6750>6500)而被排得比日历状态“会议中”更低(即,更不可获得)。如此,如果发布者的聚集可用性要从这两个状态中选出,则电话状态“多方对话中”将被选为发布者的聚集可用性。
在某些实施例中,在场聚集服务器确定发布者正忙于的当前活动并发布该信息。在场聚集服务器可以将当前活动作为聚集状态的一部分来发布。为确定发布者的当前活动,在场聚集服务器从所发布的机器状态中标识最可用的机器状态。在场聚集服务器随后检查发布者的状况容器以寻找用户状态发布。在存在用户状态发布的情况下,在场聚集服务器提取该用户状态发布的发布时间,且按发布时间对状况容器中的其它在场状态发布(所标识的最可用的机器状态发布、电话状态发布、日历状态发布、会议状态发布、和一般状态发布)进行排序,并消除比该用户状态发布早的状态发布。从剩余的在场状态发布中,在场聚集服务器移除不具有对应的活动令牌或自定义串的在场状态发布(即,不包括活动的状态发布)。如果没有剩余的在场状态发布,则在场聚集服务器发布没有当前活动的指示。如果存在剩余的在场状态发布,则在场聚集服务器从最不可用的剩余在场状态发布中选择活动作为当前活动。在场聚集服务器随后在发布者的状况容器中发布发布者的该当前活动。在场聚集服务器还可以在发布者的一个或多个其它容器中发布该当前活动。在在场聚集服务器发布没有当前活动的指示的情况下,端点(例如,在该端点上执行的应用程序)可以选择表示发布者的聚集可用性的默认串作为发布者的当前活动。
在某些实施例中,在场状态发布可以包括多个活动。包括在该发布中的每一活动都可以具有指定一个条件的相对应的指示符,在该条件下该特定活动被认为是有效的。例如,如果可用性值大于15000,则发布可以指示发布者的活动是“不在办公室”,否则,则指示活动是“在线”。作为另一示例,发布可以指示发布者的活动在上午10:00到下午2:00之间是“不在办公室”,而在当天的其它时间活动是“空闲”。本领域技术人员将理解,可以用其它方式来指定活动的条件指示。例如,条件指示符可以包括可用性值范围和时间范围的组合。
在某些实施例中,在场聚集服务器确定发布者的聚集机器状态并发布该信息。在场聚集服务器将发布者的最活跃的机器状态标识为发布者的聚集机器状态,并在发布者的状况容器中发布该信息。在场聚集服务器还可以将从其发布最活跃的机器状态的机器标识为最活跃的机器,并在发布者的状况容器中发布最活跃的机器的指示。发布者的每一端点都可以在在场场景的多个点使用该信息,例如,来自动地响应发布者的所有端点所接收到的请求。
图1是示出根据某些实施例的在场聚集系统的组件的框图。在场聚集系统102经由网络106耦合到实体设备104。实体设备对应于可以是发布者或订阅者的实体。该在场聚集系统包括接收更新模块108、更新发布模块110、添加发布模块112、接收订阅请求模块114、添加订阅模块116、创建容器模块118、容器存储120、聚集模块122、和发布期满模块124。可在一个在场聚集服务器或多个在场聚集服务器上提供这些模块的某些或全部。容器存储包含发布者的容器(由创建容器模块创建)和该在场聚集系统所使用的其它数据结构。在从发布者接收到更新发布的请求时,调用接收更新模块。接收更新模块调用更新发布模块来更新发布,并调用添加发布模块来向容器添加新的发布。在从实体接收到订阅发布者的容器的请求时,调用接收订阅请求模块。接收订阅请求模块调用添加订阅模块来使该实体订阅所指定的一个容器或多个容器。聚集模块处理发布者的状况容器中的在场状态发布以生成该发布者的聚集状态。在场聚集系统周期性地调用发布期满模块来清理容器存储中的容器中的已期满(失效)的发布。尽管未在图1中示出,但实体设备包括在场聚集系统的定义容器及其ACL、发送发布更新、发送订阅请求、接收对发布更新的通知以及从在场聚集系统接收发布的各组件。
网络通常是便于在所附连的设备之间传输电子内容的通信链路。在某些实施例中,网络包括因特网。可以理解,网络可以包括一种或多种其它类型的网络,如局域网、广域网、点对点拨号连接、无线网络等等。
其上可以实现在场聚集系统的设备可以包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备)和存储设备(例如,盘驱动器)。存储器和存储设备是包含实现在场聚集系统的指令的计算机可读介质。此外,数据结构和消息结构可被存储在诸如通信链路上的信号等的数据传输介质中或经由其发送。可以使用各种通信链路,如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。
在场聚集系统的各实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费者电子产品、数码相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备中任一种的分布式计算环境等。用户设备可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子产品、数码照相机等。
在场聚集系统可以在由一个或多个计算机或其它设备执行的诸如程序模块和组件等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图2是示出根据某些实施例的在场聚集系统的示例逻辑数据结构的数据结构图。该数据结构包括含有每一发布者的条目的发布者表202。每一条目都标识一个发布者并指向该发布者的容器表204。发布者的容器表包含相对应的发布者的每一容器的条目。每一条目都标识(例如,按名字)该容器且包含ACL、订阅者列表和发布列表。ACL指定被允许订阅相对应的容器的实体。订阅者列表标识订阅相对应的容器的订阅者。发布列表包含容器的每一发布的条目。当在容器中作出发布时,在场聚集系统使用订阅者列表来标识要被通知的订阅者。在实体订阅容器时,在场聚集系统使用ACL来确定是否同意或拒绝该订阅。本领域技术人员将理解,这只是在场聚集系统的数据结构的逻辑布局的一个示例。可以应在场聚集系统的空间/计算要求来修改在场聚集系统的数据结构。例如,可在诸如订阅者表等独立的表中提供订阅者列表。订阅者表中的每一条目都可以指定发布者、订阅者和发布列表(包括其版本)。在场可以使用各表的组合来确定订阅者应当看到什么版本的发布。
图3是示出根据某些实施例的在场聚集系统的处理的流程图。在场聚集系统监视状况容器以检测发布者的状态的改变。在检测到发布者的状态的改变时,在框302,该系统确定发布者的聚集机器状态并在该发布者的状况容器中发布该聚集机器状态。在框304,系统确定发布者的聚集可用性。在框306,系统确定发布者的当前活动。在框308,系统在发布者的状况容器和发布者的被指定为适于发布聚集状态的其它容器中发布该聚集可用性和当前活动作为发布者的聚集状态。发布者可以指定适于发布聚集状态的容器。
本领域的技术人员可以理解,对于此处所公开的这个以及其它过程和方法,在过程和方法中执行的各功能可以按不同的次序来实现。此外,所概述的步骤仅是示例性的,并且某些步骤可以是可任选的、与更少的步骤相结合、或扩展成额外的步骤而不损害本发明的本质。
图4是示出根据某些实施例的聚集模块在确定聚集机器状态时的处理的流程图。聚集模块处理发布者的状况容器中的机器状态发布并将发布者的最活跃的机器的单个聚集机器状态通知给发布者的端点。在框402,聚集模块选择最活跃的机器状态(即,具有最低可用性值的机器状态发布)。在框404,聚集模块检查以确定是否有多个最活跃的机器状态。如果存在多于一个最活跃的机器状态,则在框404,聚集模块选择最新发布的最活跃的状态。在框408,聚集模块返回最活跃的机器状态。在某些实施例中,聚集模块标识发布最活跃的机器状态的机器,并返回该机器(即,最活跃的机器)的指示。如果两个机器(例如,两个机器上的相应端点)发布了被确定为最活跃的机器状态的相同的机器状态,则聚集模块将最新发布最活跃的机器状态的机器标识为最活跃的机器。例如,如果机器A在下午1:00发布了活动的机器状态而机器B在下午1:30发布了活动的机器状态,则聚集模块将机器B标识为最活跃的。
图5是示出根据某些实施例的聚集模块在确定聚集可用性时的处理的流程图。在框502,聚集模块确定从中生成聚集可用性的有效状态集。该有效状态集可以包括最活跃的机器状态和订阅者的状况容器中的任何用户状态、电话状态、日历状态、会议状态、和一般状态发布。在框504,聚集模块检查以确定是否发布了用户状态。如果聚集模块确定在状况容器中存在用户状态发布,则在框506,聚集模块从有效状态集中移除比该用户状态早的状态。例如,聚集模块标识有效状态集中具有比用户状态的发布时间早的发布时间的状态,并从该有效状态集中移除这些较早的状态。在框504,如果聚集模块确定没有发布用户状态,或在框506从有效状态集中移除了比所发布的用户状态早的状态之后,则在框508,聚集模块从有效状态集中选择最不可用状态(例如,具有最高可用性值的状态)作为聚集可用性。在框510,聚集模块返回该聚集可用性。
图6是示出根据某些实施例的聚集模块在确定当前活动时的处理的流程图。在框602,聚集模块确定从中确定发布者的当前活动的有效状态集。该有效状态集可以包括最活跃的机器状态和订阅者的状况容器中的任何用户状态、电话状态、日历状态、会议状态、和一般状态发布。在框604,聚集模块从有效状态集中移除不具有对应的活动令牌的状态。例如,某些发布可能未指定活动令牌。在框606,聚集模块检查来确定有效状态集是否为空。如果有效状态集不是空的,则在框608,聚集模块从最不可用状态中选择活动作为当前活动。在框610,聚集模块返回当前活动。否则,如果聚集模块确定有效状态集是空的(框606),则在框612,聚集模块返回没有当前活动的指示。
从上文将会认识到,虽然在此已出于说明目的描述了在场聚集系统的具体实施例,但是可以做出各种修改而不背离本发明的精神和范围。例如,本领域技术人员将理解,发布者可以直接向发布者的一个或多个容器发布在场信息。响应于这一发布,在场聚集系统可以向订阅这些容器的订阅者通知该发布者所发布的在场信息。作为另一示例,本领域技术人员将理解,发布可以具有指示在其下该发布期满的一个或多个条件的对应的期满类型。例如,期满类型可以指示发布要在一段时间之后、在发布者从发布者的所有端点注销之后、在发布者不再使用发布者的任何机器时等期满。因此,尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (18)

1.一种用于在服务器系统中跨多个端点聚集在场的方法,所述方法包括:
提供发布者的在场状态发布的集合(204),每一在场状态发布都具有可用性值和活动,所述在场状态发布包括用户状态发布以及其它状态发布,所述用户状态发布表示由所述发布者手工指定的所述发布者的可用性,而所述其它状态发布表示从监视指示所述发布者的端点的使用的事件中所获得的所述发布者的可用性,每个在场状态发布具有发布时间,其中所述活动是指在某一时刻用户正在做什么的描述符;
在所述服务器系统处从所述多个端点的每个端点处接收所述发布者的在场状态发布的指示;以及
在所述服务器系统检测到所述发布者的状态的改变时,
标识具有最新发布时间的用户状态发布;
标识具有在所标识的用户状态发布的发布时间之后的发布时间的的其它状态发布;
从所标识的用户状态发布和所标识的其它状态发布的可用性值中标识最不可用状态;
根据所标识的最不可用状态从所述在场状态发布的集合中生成所述发布者的聚集状态(304、306),使得所述聚集状态是得自所标识的用户状态发布和所标识的其它状态发布,而不是得自具有在所标识的用户状态发布的发布时间之前的发布时间的其它状态发布;以及
发布所述发布者的聚集状态(308)。
2.如权利要求1所述的方法,其特征在于,所述其它状态发布是机器状态发布。
3.如权利要求1所述的方法,其特征在于,所述其它状态发布是电话状态发布。
4.如权利要求1所述的方法,其特征在于,所述其它状态发布是日历状态发布。
5.如权利要求1所述的方法,其特征在于,所述其它状态发布是会议状态发布。
6.如权利要求1所述的方法,其特征在于,所述聚集状态被发布给所述发布者的每一端点。
7.如权利要求1所述的方法,其特征在于,所述聚集状态被发布给所述发布者的聚集可用性的每一订阅者,其中所述订阅者是指正在查看所发布的聚集可用性信息的用户。
8.如权利要求1所述的方法,其特征在于,还包括:
在检测到所述发布者的状态的改变时,
确定聚集机器状态;以及
发布所述聚集机器状态(302)。
9.如权利要求8所述的方法,其特征在于,所述聚集机器状态被发布给所述发布者的每一端点。
10.如权利要求8所述的方法,其特征在于,还包括:
标识所述发布者的最活跃的机器(402);以及
发布所述发布者的最活跃的机器的指示。
11.如权利要求10所述的方法,其特征在于,所述发布者的最活跃的机器的指示被发布给所述发布者的每一端点。
12.如权利要求1所述的方法,其特征在于,还包括:
在检测到所述发布者的状态的改变时,
从所述在场状态发布的集合中确定所述发布者的当前活动(306);以及
发布所述发布者的当前活动(308)。
13.如权利要求12所述的方法,其特征在于,所述当前活动是表示所述发布者的聚集状态的默认串。
14.如权利要求12所述的方法,其特征在于,所述当前活动是包括在在场状态发布中的自定义串。
15.一种便于在服务器系统处跨多个端点聚集在场的方法,所述方法包括:
提供发布者的在场状态发布的集合(204),每一在场状态发布都具有可用性值和活动,所述在场状态发布包括用户状态发布以及其它状态发布,每个在场状态发布具有发布时间,其中所述活动是指在某一时刻用户正在做什么的描述符;
从所述多个端点的每个端点处接收所述发布者的在场状态发布的指示;以及
在检测到所述发布者的在场状态发布中的改变时,
根据具有最新发布时间的用户状态发布和标识出的在所述具有最新发布时间的用户状态发布的发布时间之后接收到的其它状态发布的可用性值从所述在场状态发布的集合中生成所述发布者的聚集状态(304、306);
向所述发布者的每一端点发送所述发布者的聚集状态的通知(308);以及
向所述发布者的聚集状态的每一订阅者发送所述聚集状态的通知(308),其中所述订阅者通过订阅来接收所述发布者的聚集状态的通知,并且其中所述订阅者是指正在查看所发布的聚集可用性信息的用户。
16.如权利要求15所述的方法,其特征在于,所述发布者的状态的改变得自所述发布者的一端点的在场状态发布。
17.一种用于跨多个端点聚集在场的系统,所述系统包括:
从各端点接收发布者的在场状态发布的组件(108),所述在场状态发布包括形成在场状态发布的集合的用户状态发布以及其它状态发布,每个在场状态发布具有发布时间;以及
监视所述在场状态发布以检测发布者的状态的改变的组件(122),且该组件在检测到发布者的状态的改变时,
从包括有具有最新发布时间的用户状态发布和标识出的在所述具有最新发布时间的用户状态发布的发布时间之后接收到的其它状态发布的所述在场状态发布的集合中生成所述发布者的聚集状态;以及
发布所述发布者的聚集状态。
18.如权利要求17所述的系统,其特征在于,在场状态发布是通过网络从所述发布者的端点接收的。
CN200780018951XA 2006-05-23 2007-01-29 服务器处的用户在场聚集 Active CN101455033B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/419,947 US9241038B2 (en) 2006-05-23 2006-05-23 User presence aggregation at a server
US11/419,947 2006-05-23
PCT/US2007/002393 WO2007136430A1 (en) 2006-05-23 2007-01-29 User presence aggregation at a server

Publications (2)

Publication Number Publication Date
CN101455033A CN101455033A (zh) 2009-06-10
CN101455033B true CN101455033B (zh) 2013-08-21

Family

ID=38723603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780018951XA Active CN101455033B (zh) 2006-05-23 2007-01-29 服务器处的用户在场聚集

Country Status (8)

Country Link
US (4) US9241038B2 (zh)
EP (1) EP2025099B1 (zh)
KR (1) KR101319779B1 (zh)
CN (1) CN101455033B (zh)
BR (1) BRPI0711812A2 (zh)
CA (1) CA2649346A1 (zh)
RU (1) RU2436246C2 (zh)
WO (1) WO2007136430A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945612B2 (en) * 2006-03-28 2011-05-17 Microsoft Corporation Aggregating user presence across multiple endpoints
US20070239869A1 (en) * 2006-03-28 2007-10-11 Microsoft Corporation User interface for user presence aggregated across multiple endpoints
US9241038B2 (en) * 2006-05-23 2016-01-19 Microsoft Technology Licensing, Llc User presence aggregation at a server
US20080133742A1 (en) * 2006-11-30 2008-06-05 Oz Communications Inc. Presence model for presence service and method of providing presence information
US8767944B1 (en) 2007-01-03 2014-07-01 Avaya Inc. Mechanism for status and control communication over SIP using CODEC tunneling
GB0706074D0 (en) * 2007-03-28 2007-05-09 Skype Ltd Detection of communication states
JP5467866B2 (ja) * 2007-05-08 2014-04-09 富士通株式会社 情報通信システム、情報通信方法、情報通信装置及びコンピュータプログラム
US20080285736A1 (en) 2007-05-16 2008-11-20 Unison Technolgies Llc Systems and methods for providing unified collaboration systems with conditional communication handling
US20080285540A1 (en) * 2007-05-18 2008-11-20 International Business Machines Corporation Using presence proxies to constrain local presence information to a sub-network while using a presence server external to the sub-network to handle other presence information
US8291067B2 (en) * 2007-06-29 2012-10-16 Microsoft Corporation Providing access to presence information using multiple presence objects
US20090049190A1 (en) * 2007-08-16 2009-02-19 Yahoo!, Inc. Multiple points of presence in real time communications
US9697501B2 (en) * 2007-09-25 2017-07-04 Microsoft Technology Licensing, Llc Interruptibility management via scheduling application
WO2009067780A1 (en) * 2007-11-27 2009-06-04 Nokia Corporation Presence model for presence service and method of providing presence information
US20090327300A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Manifest-based enhanced presence publishing
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US8116237B2 (en) * 2008-09-26 2012-02-14 Avaya Inc. Clearing house for publish/subscribe of status data from distributed telecommunications systems
US9014736B2 (en) * 2008-11-24 2015-04-21 Plantronics, Inc. Portable network device for the discovery of nearby devices and services
US10127524B2 (en) 2009-05-26 2018-11-13 Microsoft Technology Licensing, Llc Shared collaboration canvas
US20110221607A1 (en) * 2010-03-15 2011-09-15 Microsoft Corporation Dynamic Device Adaptation Based on Proximity to Other Devices
US8799377B2 (en) * 2010-12-14 2014-08-05 At&T Intellectual Property Ii, L.P. Method and apparatus for mobile presence aggregation
US9118612B2 (en) 2010-12-15 2015-08-25 Microsoft Technology Licensing, Llc Meeting-specific state indicators
US9383888B2 (en) 2010-12-15 2016-07-05 Microsoft Technology Licensing, Llc Optimized joint document review
US9864612B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Techniques to customize a user interface for different displays
US20120297305A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Presenting or sharing state in presence
US9413556B2 (en) * 2011-06-03 2016-08-09 Apple Inc. Unified account list
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9544158B2 (en) 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US10198485B2 (en) 2011-10-13 2019-02-05 Microsoft Technology Licensing, Llc Authoring of data visualizations and maps
US10198716B2 (en) * 2011-11-11 2019-02-05 Microsoft Technology Licensing, Llc User availability awareness
US20130346517A1 (en) * 2012-06-26 2013-12-26 Magnet Systems, Inc. Personal mode contextual presence
US10133720B2 (en) * 2013-06-15 2018-11-20 Microsoft Technology Licensing, Llc Showing presence of multiple authors in a spreadsheet
WO2014210422A1 (en) 2013-06-28 2014-12-31 Huawei Technologies Co., Ltd. Presence delay and state computation for composite services
US9398107B1 (en) 2014-03-31 2016-07-19 Sonus Networks, Inc. Methods and apparatus for aggregating and distributing contact and presence information
US10044774B1 (en) 2014-03-31 2018-08-07 Sonus Networks, Inc. Methods and apparatus for aggregating and distributing presence information
CN104869609A (zh) * 2015-04-27 2015-08-26 小米科技有限责任公司 信息提供方法和装置
CN106209567B (zh) * 2015-04-29 2019-09-17 阿里巴巴集团控股有限公司 提供用户状态信息的方法及装置
US10680980B2 (en) * 2016-05-10 2020-06-09 Cisco Technology, Inc. Interactive contextual emojis
US10616153B2 (en) * 2016-12-30 2020-04-07 Logmein, Inc. Real-time communications system with intelligent presence indication

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471348A (en) * 1982-01-15 1984-09-11 The Boeing Company Method and apparatus for simultaneously displaying data indicative of activity levels at multiple digital test points in pseudo real time and historical digital format, and display produced thereby
US6259446B1 (en) * 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
US5964839A (en) * 1996-03-29 1999-10-12 At&T Corp System and method for monitoring information flow and performing data collection
US6304893B1 (en) * 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
JP4044169B2 (ja) * 1997-02-26 2008-02-06 株式会社アマダ 工程の流れに沿った情報設定画面の表示方法及びその機能を有するマルチウィンドウ方式のnc装置
US6539347B1 (en) * 1997-10-31 2003-03-25 Entelos, Inc. Method of generating a display for a dynamic simulation model utilizing node and link representations
US6148328A (en) * 1998-01-29 2000-11-14 International Business Machines Corp. Method and system for signaling presence of users in a networked environment
US6189008B1 (en) * 1998-04-03 2001-02-13 Intertainer, Inc. Dynamic digital asset management
US6012030A (en) * 1998-04-21 2000-01-04 Nortel Networks Corporation Management of speech and audio prompts in multimodal interfaces
US6301609B1 (en) * 1999-07-07 2001-10-09 Lucent Technologies Inc. Assignable associate priorities for user-definable instant messaging buddy groups
JP2001060155A (ja) 1999-08-20 2001-03-06 Fujitsu Ltd メッセージ処理装置
US6527641B1 (en) * 1999-09-24 2003-03-04 Nokia Corporation System for profiling mobile station activity in a predictive command wireless game system
US6671714B1 (en) * 1999-11-23 2003-12-30 Frank Michael Weyer Method, apparatus and business system for online communications with online and offline recipients
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US7359938B1 (en) 1999-12-14 2008-04-15 Nortel Networks Limited System indicating the presence of an individual or group of individuals
US6678719B1 (en) * 1999-12-20 2004-01-13 Mediaone Group, Inc. Virtual workplace intercommunication tool
US6697840B1 (en) * 2000-02-29 2004-02-24 Lucent Technologies Inc. Presence awareness in collaborative systems
US6791583B2 (en) 2000-03-09 2004-09-14 Sun Microsystems, Inc. System and method for providing spatially distributed device interaction
US6874125B1 (en) * 2000-05-03 2005-03-29 Microsoft Corporation Method for providing feedback on windows, messages and dialog boxes
EP1316026A2 (en) * 2000-05-30 2003-06-04 Koki Uchiyama Distributed monitoring system providing knowledge services
US20030009530A1 (en) * 2000-11-08 2003-01-09 Laurent Philonenko Instant message presence protocol for facilitating communication center activity
US6774921B1 (en) * 2000-11-17 2004-08-10 Unisys Corporation Method and apparatus for dynamically saving/restoring the properties of controls in a screen dialog
WO2002063832A1 (en) * 2001-02-05 2002-08-15 Personity, Inc. A system and method for filtering unavailable devices in a presence and availability management system
EP1255189B1 (en) * 2001-05-04 2008-10-08 Microsoft Corporation Interface control
US7433922B2 (en) * 2001-05-11 2008-10-07 Varia Llc Method and system for collecting and displaying aggregate presence information for mobile media players
US20020186257A1 (en) 2001-06-08 2002-12-12 Cadiz Jonathan J. System and process for providing dynamic communication access and information awareness in an interactive peripheral display
US7844055B2 (en) * 2001-06-26 2010-11-30 Link Us All, Llc Detecting and transporting dynamic presence information over a wireless and wireline communications network
US20030208541A1 (en) * 2001-11-10 2003-11-06 Jeff Musa Handheld wireless conferencing technology
US6735287B2 (en) * 2001-11-16 2004-05-11 Sbc Technology Resources, Inc. Method and system for multimodal presence detection
US6845097B2 (en) * 2001-11-21 2005-01-18 Ixi Mobile (Israel) Ltd. Device, system, method and computer readable medium for pairing of devices in a short distance wireless network
US20030217096A1 (en) * 2001-12-14 2003-11-20 Mckelvie Samuel J. Agent based application using data synchronization
US6658095B1 (en) * 2002-03-19 2003-12-02 Nortel Networks Limited Customized presence information delivery
US20030184594A1 (en) * 2002-03-25 2003-10-02 John Ellenby Apparatus and methods for interfacing with remote addressing systems
US7035923B1 (en) * 2002-04-10 2006-04-25 Nortel Networks Limited Presence information specifying communication preferences
US7552204B2 (en) * 2002-05-15 2009-06-23 Microsoft Corporation Method and system for supporting the communication of presence information among computing devices of a network
US20030217098A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US20030217142A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
JP3980421B2 (ja) * 2002-06-27 2007-09-26 富士通株式会社 プレゼンス管理方法及び装置
GB0215620D0 (en) * 2002-07-05 2002-08-14 Nokia Corp Updating presence information
US20040010573A1 (en) * 2002-07-10 2004-01-15 Philippe Debaty Web presence for physical entities
US6757722B2 (en) * 2002-07-16 2004-06-29 Nokia Corporation System and method for providing partial presence notifications
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US7844662B2 (en) * 2002-10-17 2010-11-30 At&T Intellectual Property Ii, L.P. Merging instant messaging (IM) chat sessions
US20040059781A1 (en) * 2002-09-19 2004-03-25 Nortel Networks Limited Dynamic presence indicators
US7716289B2 (en) * 2002-10-17 2010-05-11 At&T Intellectual Property I, L.P. Transferring instant messaging (IM) messages
US20040088649A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for finding the recency of an information aggregate
US7899862B2 (en) * 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
US20040122901A1 (en) * 2002-12-20 2004-06-24 Nortel Networks Limited Providing computer presence information to an integrated presence system
US20040128391A1 (en) * 2002-12-31 2004-07-01 Robert Patzer Method and system for managing a validity period in association with a presence attribute
US7853563B2 (en) * 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7917468B2 (en) * 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7149288B2 (en) * 2003-02-14 2006-12-12 Convoq, Inc. Rules based real-time communication system
US8204938B2 (en) * 2003-02-14 2012-06-19 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US7263545B2 (en) * 2003-02-14 2007-08-28 Convoq, Inc. System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US7240228B2 (en) * 2003-05-05 2007-07-03 Microsoft Corporation Method and system for standby auxiliary processing of information for a computing device
US6970547B2 (en) * 2003-05-12 2005-11-29 Onstate Communications Corporation Universal state-aware communications
US20040230594A1 (en) * 2003-05-15 2004-11-18 Flam Ran J. Reject activities in a process control system
NO318975B1 (no) 2003-06-20 2005-05-30 Tandberg Telecom As System og fremgangsmate for oppsett av moter og konferanser
US20050044143A1 (en) * 2003-08-19 2005-02-24 Logitech Europe S.A. Instant messenger presence and identity management
US7228506B2 (en) * 2003-09-25 2007-06-05 Microsoft Corporation System and method for providing an icon overlay to indicate that processing is occurring
US20050068167A1 (en) * 2003-09-26 2005-03-31 Boyer David G. Programmable presence proxy for determining a presence status of a user
US7499974B2 (en) * 2003-09-30 2009-03-03 International Business Machines Corporation Instant message user management
US20050091272A1 (en) * 2003-10-23 2005-04-28 Smith Walter R. Contact management
US7461126B2 (en) * 2003-10-30 2008-12-02 Radvision Ltd. System and method for distributed multipoint conferencing with automatic endpoint address detection and dynamic endpoint-server allocation
JP4118800B2 (ja) * 2003-12-26 2008-07-16 ソフトバンクモバイル株式会社 プレゼンス表示システム及びゲートウエイ装置
JP4214941B2 (ja) * 2004-04-09 2009-01-28 日本電気株式会社 プレゼンス情報提供システム、その方法およびサーバ
US20050232184A1 (en) * 2004-04-15 2005-10-20 Utstarcom, Incorporated Network presence updating apparatus and method
US20060004837A1 (en) * 2004-06-30 2006-01-05 Genovker Victoria V Advanced switching peer-to-peer protocol
US7444379B2 (en) * 2004-06-30 2008-10-28 International Business Machines Corporation Method for automatically setting chat status based on user activity in local environment
US7418497B2 (en) * 2004-07-15 2008-08-26 International Business Machines Corporation Automatically infering and updating an availability status of a user
US7376227B2 (en) * 2004-08-03 2008-05-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for integrating agent status between a customer relations management system and a multiple channel communications center
US7836126B2 (en) * 2004-08-04 2010-11-16 Sap Ag Business presence system and method
US20060069686A1 (en) * 2004-09-30 2006-03-30 Siemens Information And Communication Networks, Inc. System and method for predicting availability
US20070198725A1 (en) * 2004-10-06 2007-08-23 Morris Robert P System and method for utilizing contact information, presence information and device activity
US20070198696A1 (en) * 2004-10-06 2007-08-23 Morris Robert P System and method for utilizing contact information, presence information and device activity
JP4631401B2 (ja) * 2004-11-10 2011-02-16 日本電気株式会社 プレゼンス更新システム及びその方法並びにそれに用いる移動通信端末
US7853696B2 (en) * 2004-11-19 2010-12-14 Cisco Technology, Inc. System and method for providing an eCamp feature in a session initiation protocol (SIP) environment
US8176086B2 (en) * 2004-11-30 2012-05-08 Avaya Inc. Methods and apparatus for determining a presence of a user
US20060133586A1 (en) * 2004-12-08 2006-06-22 Ntt Docomo, Inc. Information notification system and information notification method
US7466810B1 (en) * 2004-12-20 2008-12-16 Neltura Technology, Inc. Distributed system for sharing of communication service resources between devices and users
US20060190600A1 (en) * 2005-02-18 2006-08-24 Siemens Communications, Inc. Group based presence availability management
CA2506665A1 (en) * 2005-05-06 2006-11-06 Iotum Inc. Method of and system for telecommunication management
US8356011B2 (en) * 2005-07-26 2013-01-15 Microsoft Corporation Organizing presence information into collections of publications
US7734710B2 (en) * 2005-09-22 2010-06-08 Avaya Inc. Presence-based hybrid peer-to-peer communications
US8078578B2 (en) * 2005-10-14 2011-12-13 Cisco Technology, Inc. Sharing of presence-based time-zone information
JP4616758B2 (ja) * 2005-11-30 2011-01-19 富士通株式会社 プレゼンス管理方法及びプレゼンス管理装置
US20070130323A1 (en) * 2005-12-02 2007-06-07 Landsman Richard A Implied presence detection in a communication system
US7907955B2 (en) * 2006-02-07 2011-03-15 Siemens Enterprise Communications, Inc. Presence system with proximity presence status
US7945612B2 (en) 2006-03-28 2011-05-17 Microsoft Corporation Aggregating user presence across multiple endpoints
US20070239869A1 (en) * 2006-03-28 2007-10-11 Microsoft Corporation User interface for user presence aggregated across multiple endpoints
US20070233852A1 (en) * 2006-03-31 2007-10-04 Jack Jachner Presence logging in calendar systems
US8234559B2 (en) * 2006-03-31 2012-07-31 Microsoft Corporation Managing rich presence collections
US8108345B2 (en) * 2006-03-31 2012-01-31 Microsoft Corporation Managing rich presence collections in a single request
US9241038B2 (en) * 2006-05-23 2016-01-19 Microsoft Technology Licensing, Llc User presence aggregation at a server

Also Published As

Publication number Publication date
US10686901B2 (en) 2020-06-16
CA2649346A1 (en) 2007-11-29
US9241038B2 (en) 2016-01-19
US20160156727A1 (en) 2016-06-02
RU2008146059A (ru) 2010-05-27
US9942338B2 (en) 2018-04-10
KR20090018917A (ko) 2009-02-24
KR101319779B1 (ko) 2013-10-17
US20070276937A1 (en) 2007-11-29
WO2007136430A1 (en) 2007-11-29
CN101455033A (zh) 2009-06-10
BRPI0711812A2 (pt) 2011-12-06
US20070276909A1 (en) 2007-11-29
EP2025099A1 (en) 2009-02-18
EP2025099A4 (en) 2014-08-20
US20180227378A1 (en) 2018-08-09
EP2025099B1 (en) 2017-10-25
RU2436246C2 (ru) 2011-12-10

Similar Documents

Publication Publication Date Title
CN101455033B (zh) 服务器处的用户在场聚集
EP2064857B1 (en) Apparatus and method for automatic conference initiation
USRE43436E1 (en) System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US8204938B2 (en) System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
CN104604199B (zh) 使用状态呈现数据的共享资源与会话模型
CA2358363C (en) Method of team member profile selection within a virtual team environment
CA2358353C (en) Method and system for automatic handling of invitations to join communications sessions in a virtual team environment
US6564261B1 (en) Distributed system to intelligently establish sessions between anonymous users over various networks
EP1855445B1 (en) Session presence information management
US20020194272A1 (en) Method for establishing a communication connection between two or more users via a network of interconnected computers
US20050018828A1 (en) System and method for indicating a speaker during a conference
US20100184416A1 (en) Attribute and location based entity presentation in presence based communication systems
CA2358328A1 (en) Method and system for supporting communications within a virtual team environment
WO2002050724A2 (en) Method and system for creating a virtual team environment
US20070172042A1 (en) Call urgency screening
WO2002050725A2 (en) Method for initiating communications with dispersed team members from within a virtual team environment using personal identifiers
US20070043731A1 (en) Communication system and method for providing presence-enhanced smart name tags
US7437141B2 (en) Apparatus and method for easily restoring a connection to a telephone

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.