CN106031101A - 从独立可寻址消息得到原子通信线程 - Google Patents

从独立可寻址消息得到原子通信线程 Download PDF

Info

Publication number
CN106031101A
CN106031101A CN201580008932.3A CN201580008932A CN106031101A CN 106031101 A CN106031101 A CN 106031101A CN 201580008932 A CN201580008932 A CN 201580008932A CN 106031101 A CN106031101 A CN 106031101A
Authority
CN
China
Prior art keywords
message
recipient
session
message received
higher level
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.)
Granted
Application number
CN201580008932.3A
Other languages
English (en)
Other versions
CN106031101B (zh
Inventor
J·B·马赫德
R·E·格雷格
T·罗斯
G·帕诺蒂尼德苏扎萨纳
L·R·陈
R·拉马纳坦
R·F·巴塞洛斯
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201811632437.1A priority Critical patent/CN110049088B/zh
Publication of CN106031101A publication Critical patent/CN106031101A/zh
Application granted granted Critical
Publication of CN106031101B publication Critical patent/CN106031101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • 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
    • 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

Abstract

当接收到消息时,分析该消息中的接收者集合以及上级消息标识符。基于对接收者集合和上级标识符的分析,接收到的消息或者被放置到现有会话中的现有线程中,或者被放置在会话中的新线程中。

Description

从独立可寻址消息得到原子通信线程
背景技术
计算机系统当前广泛使用。一些计算机系统包括消息传递系统,通过该消息传递系统,用户能够彼此间来回发送消息。
存在各种各样不同类型的消息传递系统。这些系统可以包括例如电子邮件(e-mail)消息传递系统、文本消息传递系统、社交网络消息传递系统以及其它。在这些类型的消息传递系统中,用户经常将消息发送到一个或多个接收者。接收者随后能够回复全部的其它接收者,回复那些接收者的子集,或者增加额外的接收者。如果多人回复相同的消息,那么如果用户希望对每个消息进行响应,则用户正常地需要手动聚集全部相关的消息并且分别地对那些消息进行响应。而且,如果用户想要作用于整个集合的消息(例如,将集合移动到文件夹中),则用户正常地不得不分别作用于每一个。
一些系统已经尝试将消息分组成会话。然而,这通常需要基于它们的主题简单地将消息集合分组在一起。希望在会话中回复分叉(forked)消息的用户通常仍需要阅读并且回应每个单个的消息。
上文的讨论仅提供用于普通的背景信息,而不意在用作确定权利要求主题的范围的辅助。
发明内容
当消息被接收到时,分析在消息中的接收者集合以及上级(ancestor)消息标识符。基于对接收者集合和上级标识符的分析,接收到的消息或者放置在会话中的现有线程中,或者放置在同一会话的新的线程中。
提供该发明内容以便以下文在详述部分中进一步描述的简化形式来引入构思的选择。该发明内容不意在确定权利要求主题的关键特征或主要特征,也不意在用作确定权利要求主题的范围的辅助。权利要求主题不限于解决在背景技术部分中提到的任意或全部缺点的实现方式。
附图说明
图1是一个示例性的消息传递架构的框图。
图2是在图1所示的架构中能够发送的一个示例性的消息的框图。
图3是示出了图1所示的架构在生成会话以及将消息添加到那些会话中的操作的一个实施例的流程图。
图4示出了能够利用图1所示的架构能够被分组为单个会话的消息和接收者的一个示例性的集合。
图5示出了部署在云计算架构中的图1所示的架构的一个实施例。
图6-10示出了在图1所示的架构中能够由用户使用的移动设备的各个示例。
图11是一个示例性的计算环境的框图。
具体实施方式
图1示出了消息传递架构100的一个框图。虽然消息传递架构100可以是各种不同类型的消息传递系统(其中一些包括实时通信中的即时消息传递、文本消息传递系统、社交网络消息传递系统等),出于示例的原因,其将被描述为电子邮件系统。
而且,如本文所使用的,会话意指按体系来说相关的消息的集合:例如,它们直接或间接地经由回复、回复全部或者从共同的根消息转送来得到。线程是共享相同的参与者集合或者其中参与者随时间增长的按体系相关的消息的集合。线程可以作为一个单元来进行作用。
消息传递架构100包括用户104-106访问的消息传递系统102,其中每个用户示例性地与用户设备116-118所生成的用户接口显示112-114上的用户输入机制108-110交互。用户104和106能够与用户输入机制108和110交互以生成电子邮件消息,并且回复,以及利用消息传递系统102将它们发送给彼此。用户同样还可以通过其它方式作用于消息,例如通过将它们放置在文件夹中,或者通过其它方式。图1还示出了用户设备116-118能够直接地(如箭头120和122所指示)或者经由网络124访问消息传递系统102。将理解的是,消息传递系统102能够同样由许多其它用户使用,但是为了示例的原因仅示出了两个用户104-106。
图1进一步示出了消息传递系统102示例性地包括处理器(或服务器)126、消息库128(其本身存储消息130、会话132、会话132内的线程133,并且同样能够存储其它信息134)。消息传递系统102还示例性地包括会话/线程标识符系统136。系统136示例性地包括接收者集合分析组件138、消息上级分析组件140以及会话/线程生成器组件142。系统同样可以包括其它组件或系统,图1所示的那些仅是为了示例的目的而显示。
消息130示例性地包括消息传递系统102的用户所发送的全部消息。会话132示例性地包括标识属于各种不同会话的各种消息130的消息标识符。消息130还可以属于会话132内的线程133。例如,会话/线程标识符系统136基于用户104与106(以及其它用户)之间的一系列独立可寻址消息来示例性地标识原子通信线程133。在消息回应链(其可以是指示独立消息之间的关系的消息标识符的集合)以及每个消息的接收者集合上标识出线程133(例如,在会话132内)。
图2示出了能够利用消息传递系统102发送的消息144的一个示例性的框图。在图2所示的实施例中,消息144示例性地包括报头信息146(其本身包括唯一地标识消息144的唯一消息标识符148)、标识消息144的上级消息的上级信息150、标识消息144的接收者的接收者信息152,并且其同样可以包括其它信息154。图2还示出了消息144示例性地包括消息主体156并且其还可以包括附件158和其它信息160。值得注意的是,消息144还可以包括其它信息,诸如标识出消息是代表某人发送的信息(例如,委托方案)。在该情况下,消息将包括标识发送者、以及发自字段(From field)的标识符,但是发送者字段中的人不同于发自字段中的人。
在一个实施例中,上级信息150是包括消息144的任何上级消息的消息标识符的信息。所谓的上级消息是指在已经存在的会话中的位于消息144之前的消息。例如,如果用户104发送第一消息给用户106,并且用户106回复该消息,则如果消息144代表回复消息,则上级信息150将标识消息144所回复的第一消息。此外,如果第三消息作为对消息144的回复而发送,则第三消息的上级信息150将不仅包括消息144的消息标识符,而且包括第一消息(消息144所回复的消息)的消息标识符。因此,上级信息150示例性地标识出在已经存在的会话中的位于当前消息之前的全部消息。
在描述消息传递系统102的在生成新会话和新线程以及将消息添加到现有会话中的现有线程中的总体操作之前,将提供简要的概述以增强理解。会话内的线程示例性地标识为源自共同上级的消息的集合,其中接收者集合相同或者随时间而增长。例如,当消息传递系统102接收到单个的消息时,消息上级分析组件140示例性地查找新接收到的消息的父消息(其将是新接收到的消息所直接回应的消息)。这可以规定为消息报头146的部分。如果父消息存在,并且新接收到的消息的接收者是父消息中的接收者的超集,则新接收到的消息被添加作为包括父消息的现有线程的部分。如果父消息未找到,或者新接收到的消息上的新接收者集合不是先前接收者的超集,则创建新的线程,并且新接收到的消息添加到新线程中。
图3是更详细地示出了架构100在生成新会话以及将新的消息添加到新会话以及现有会话中的线程中的操作的一个实施例的流程图。首先假设用户104和106中的一个生成消息并且通过消息传递系统102来发送该消息。在消息传递系统102处接收消息由图3中的框170来指示。
消息上级分析组件140随后访问新接收到的消息中的上级信息150。这由框172来指示。消息上级分析组件140判定新接收到的消息是否回应已经存在的会话132中的消息。这由图3中的框174指示。如果为否,则组件140判定新接收到的消息是否完全回应任何消息。这由框176指示。如果新接收到的消息不是回应消息,则会话生成器组件142启动新的会话132并且将新接收到的消息存储作为消息库128中的新会话的部分。这由图3中的框178来指示。
再次返回框176,如果消息上级分析组件140判定新接收到的消息实际上是回复消息,则组件140判定在新接收到的消息中标识出的任何上级消息是否也被标识为已经存在的会话132的部分。这由框180来指示。如果为否,则这可以表示新接收到的消息是异步消息传递系统中的乱序传送(类似电子邮件)。如果该情况发生,则即使新接收到的是回复消息,其也是回复不是任何已经存在的会话的部分的消息。因此,同样,在框178处,会话生成器组件142启动新的会话并且将新接收到的消息添加到其中。
如果在框174或180处,新接收到的消息的父消息或者是否有任何其上级处于已经存在的会话中,则接收者集合分析组件138访问新接收到的消息中的接收者信息152。这由图3中的框182来指示。如果新接收到的消息中的接收者列表与父消息或上级消息(任何一个都分别标识在框174或框180中)相同,则新接收到的消息简单地添加到已经存在的会话(父消息或上级消息是其一部分)中的线程的末尾。这在图3的流程图中由框184和186来指示。
然而,如果在框184中,组件138判定新接收到的消息的接收者列表与父消息或上级消息的接收者列表不同,则组件138判定新接收到的消息上的接收者列表是否是父消息或上级消息上的接收者列表的超集。这由框187来指示。如果为否,则会话生成器组件142同样生成会话中的新线程并且将新接收到的信息添加到该新线程中。
然而,如果在框186中接收者集合分析组件138判定新接收到的消息上的接收者列表实际上是父消息或上级消息上的接收者的超集,则新接收到的消息的作者已经将新接收者简单地添加到接收者列表中。对该效果的通知添加到新接收消息的记录中。这由框188来指示。新接收到的消息随后添加到现有会话(父或上级是其一部分)中的线程的末尾,如框186所指示。
示例是有帮助的。图4是示出了沿着时间线204布置的一组消息(标记为M1-M9)以及那些消息的接收者的示意图200。箭头指示箭头的出境端上的消息是对箭头的源起侧上的消息的回复。例如,消息M1通过箭头202连接到消息M2。这表明,消息M2是对消息M1的回复(例如,消息M1是消息M2的父消息)。
示意图200还示出了消息M4和M5均是对消息M2的回复。接收者标识符206、208、210和212示出消息M1、M2、M4和M5均具有相同的接收者(接收者A和B)。示意图200示出了消息M6是对消息M4的回复,并且其具有额外的接收者(接收者C),如消息标识符214所指示的。
示意图200还显示出消息M7是对消息M5的回复,并且其具有接收者A和B,如接收者标识符216所指示的。消息M8也是对消息M5的回复并且其具有接收者A和B,如标识符218所指示的。消息M9是对消息M8的回应,并且其也具有一组接收者A、B和C,如消息标识符220所指示的。
跟随图3的流程图能够看出,会话/线程标识符系统136将全部消息M1-M9标识为作为同一会话中的同一线程的部分。消息M1不是对消息传递系统102所标识的任何其它消息的回复。因此,在图3的框176中,将判定新的会话应当启动,并且消息M1添加到其中。
消息M2是对消息M1的回复。这将在图3的框174中被确定,并且在框184中,将判定消息M2的接收者与消息M1的接收者相同。因此,处理跳到框186并且消息M2添加到与消息M1相同的会话中的同一线程中。
消息M4是对消息M2的回应,并且同样,接收者与消息M2的接收者相同。因此,消息M4也将被添加到同一会话中的同一线程中。
即使消息M5是对消息M2的单独的回复(与消息M4分离),消息M5的接收者也与消息M2的接收者相同。因此,消息M5也将添加到与消息M1、M2和M4相同的会话中的相同的线程中。
现在接收消息M6。该消息是对消息M4的回应。这将在框174中标识出。然而,在框184处,将判定接收者(A,B和C)不与父消息M4的接收者相同。因此,处理将关于图3的框186继续,其中将判定消息M6的接收者是消息M4的接收者的超集(也即,消息M6包括父消息M4的全部的接收者加上一个或多个额外的接收者)。因此,在图3的框188处新人通知将添加到消息M6中,并且消息M6将添加到已经包含消息M1、M2、M4和M5的相同的会话中的现有线程中。
当接收到消息M7时,将判定该消息是对已经作为现有会话的部分的消息的回复,并且其接收者与其父消息相同。因此,该消息将添加到包括消息M1、M2、M4、M5和M6的现有会话中的同一线程中。同样适用于消息M8。
现在,当接收到消息M9时,在框174中,将判定该消息是对已经是现有会话的部分的消息M8的回应。在框184中,将判定消息M9的接收者与其父消息的接收者不相同,但是在框186中将判定它们是父消息的接收者的超集。因此,消息M9也将添加到同一会话中的同一线程中。
如此能够看出,使用常规的消息分组技术,图4所示的消息将具有用户不得不处理的多个分叉(其中多于一个人回复同一消息)。然而,使用会话/线程标识符系统136,它们都被分组到同一会话中的共同的线程中,并且能够统一地被作用。
然而,也将理解的是,当前的系统也保持机密性。例如,如果消息中的一个仅具有其父消息的接收者的子集,则它将不被添加到已经存在的会话的线程中,即使其父消息在该线程和会话中。这是因为,用户可能打算仅发送一些信息到给定会话的成员的子集。在该情况下,在框186中,新的会话和/或线程将被启动,并且新接收到的消息将添加到新的会话和/或线程中。然而,如图4所示,因为M1-M9中的全部消息是同一会话中的同一线程的部分,所以当任何人回复那些消息中的任何消息时,只要回复的接收者与父消息或上级消息的接收者相同或者是其超集(任一个被标识出),则该线程中的每个人将得到该回复,即使其不在来自线程中的全部消息的直接后代链中。也即,消息从相同的根得到,但是不一定在相同的线性链中。
通过示例的方式,能够看出,消息M8是对消息M5的回复,并且消息M8仅具有接收者A和B。然而,因为消息M8是全部其它消息所在的线程和会话的部分,所以接收者C也将能够看到消息M8。这允许消息M8的发送者对会话中的全部接收者做出响应,而不选择以及对会话中的独立可寻址消息做出响应。
当前的论述已经提到了处理器和/或服务器。在一个实施例中,处理器和服务器包括具有关联的存储器和定时电路系统(未单独示出)的计算机处理器。它们是所属的系统或设备的功能部分并且由那些系统中的其它组件或项激活,并且有利于那些系统中的其它组件或项的功能。
而且,已经论述了多个用户接口显示器。这些用户接口显示器可以呈现为各种不同的形式并且可以具有布置于其上的各种不同的用户可致动的(actuatable)输入机制。例如,用户可致动的输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框等。用户可致动的输入机制还能够以各种不同的方式被致动。例如,可以利用指针和点击设备(诸如跟踪球或鼠标)来致动用户可致动的输入机制。可以利用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等来致动用户可致动的输入机制。还可以利用虚拟键盘或其它虚拟致动器来致动用户可致动的输入机制。另外,在显示用户可致动的输入机制的屏幕是触摸敏感屏的情况下,用户可致动的输入机制可利用触摸姿势来致动。而且,在显示用户可致动的输入机制的设备具有语音识别组件时,可以利用语音命令来致动用户可致动的输入机制。
也已经论述了多个数据库。值得注意的是,数据库可以各自分解成多个数据库。全部都在访问它们的系统的本地,全部可以是远程,或者一些在本地,而其它在远程。全部这些配置在本文中构思出。
而且,附图显示出了多个框,具有归于每个框的功能。值得注意的是,可以使用更少的框,如此所述功能通过更少的组件来执行。而且,可以使用更多的框,如此所述功能分布在更多组件当中。
图5是图1所示的架构100的框图,除了其元件布置在云计算架构500中之外。云计算提供计算、软件、数据访问和存储服务,所述计算、软件、数据访问和存储服务无需传送服务的系统的物理位置和配置的终端用户知识。在各实施例中,云计算利用适当的协议在诸如互联网的广域网上传送服务。例如,云计算提供商在广域网上传送应用并且它们能够通过网络浏览器或任何其它计算组件来访问。架构100的软件或组件以及对应的数据能够存储在远程位置上的服务器上。云计算环境中的计算资源能够合并到远程数据中心位置或者它们可以是分散的。云计算基础结构能够通过共享数据中心来传送服务,即使它们表现为用户的单一访问点。因此,能够利用云计算架构从位于远程位置的服务提供商来提供本文所描述的组件和功能。可选地,本文所描述的组件和功能可以从常规的服务器来提供,或者它们可以直接地或者通过其它方式安装到客户端设备上。
说明书意在包括公共云计算和私有云计算。云计算(公共的和私有的)提供了实质上无缝的资源聚集,以及减少的对于管理和配置底层硬件基础结构的需要。
公共云是通过计算机销售商来管理的并且典型地使用相同的基础结构来支持多个消费者。而且,与私有云不同,公共云能够使得终端用户免于管理硬件。私有云可以由组织本身来管理,并且基础结构典型地不与其它组织共享。组织仍在一定程度上维护硬件,诸如安装和维修,等等。
在图5所示的实施例中,一些项类似于图1所示的项并且被类似地进行标记。图5具体地示出了消息传递系统102位于云502(其可以是公共的、隐私的、或者部分为公共的而其它为隐私的组合)中。因此,用户104-106通过云502而使用用户设备116-118来访问消息传递系统102。
图5还描绘了云架构的另一实施例。图5示出了还可以构思的是系统102的一些元件布置在云502中,而其它没有布置在云502中。通过示例的方式,数据库128可以布置在云502之外,并且通过云502来访问。在另一实施例中,会话标识符系统136也在云502之外。无论位于何处,它们可以经由网络(广域网或局域网)通过设备116-118来直接访问,它们可以通过服务寄存在远程地点,或者可以通过云被提供作为服务或者通过位于云中的连接服务来访问。全部这些架构在本文中被构思。
还将注意的是,架构100或其部分可以布置在各种不同的设备上。那些设备中的一些设备包括服务器、台式计算机、膝上型计算机、平板式计算机或其它移动设备,诸如掌上型计算机、电话、智能电话、多媒体播放器、个人数字助理等。
图6是其中能够部署本系统(或其部分)或者可以包括用户设备116-118的可用作用户或客户端的手持式设备16的手持式或移动计算设备的一个示例性实施例的简化框图。图7-10是手持式或移动设备的示例。
图6提供了能够运行架构100的组件或者与架构100交互或两者的客户端设备16的组件的总体框图。在设备16中,提供了通信链接13,其允许手持式设备与其它计算设备通信并且在一些实施例中提供了用于自动接收信息的通道,例如通过扫描。通信链接13的示例包括红外端口、串行/USB端口、诸如以太网端口的电缆网络端口以及允许通过一个或多个通信协议通信的无线网络端口,通信协议包括通用分组无线服务(GPRS)、LTE、HSPA、HSPA+以及其它3G和4G无线协议、1Xrtt以及短消息服务,它们是用于提供对网络的蜂窝访问的无线服务,以及802.11和802.11b(Wi-Fi)协议以及蓝牙协议,它们提供了到网络的本地无线连接。
在其它实施例中,应用或系统被接收到与SD卡接口15连接的可移除安全数字(SD)卡上。SD卡接口15和通信链接13沿着总线19与处理器17(其还可以具体实施图1的处理器126)通信,总线19也连接到存储器21和输入/输出(I/O)组件23,以及时钟25和位置系统27。
在一个实施例中,I/O组件23被提供以利于输入和输出操作。用于设备16的各个实施例的I/O组件23可以包括输入组件,诸如按钮、触摸传感器、多触摸传感器、光学或视频传感器、语音传感器、触摸屏、接近传感器、麦克风、倾斜传感器以及重力开关,以及输出组件,诸如显示设备、扬声器和或打印机端口。也可以使用其它I/O组件23。
时钟25示例性地包括输出时间和日期的实时时钟组件。其还可以示例性地提供处理器17的定时功能。
位置系统27示例性地包括输出设备16的当前地理位置的组件。这可以包括例如全球定位系统(GPS)接收器、LORAN系统、推算定位系统、蜂窝三角测量系统或其它定位系统。其还可以包括例如产生期望的地图、导航路线和其它地理功能的测绘软件或导航软件。
存储器21存储操作系统29、网络设定31、应用33、应用配置设定35、数据库37、通信驱动器39和通信配置设定41。存储器21可以包括全部类型的有形的易失性和非易失性的计算机可读存储器设备。其还可以包括计算机存储介质(下文描述)。存储器21存储计算机可读指令,当通过处理器17来执行时,计算机可读指令使得处理器根据指令来执行计算机实现的步骤或功能。处理器17能够由其它组件激活以同样便利其功能。
网络设定31的示例包括诸如代理信息、因特网连接信息和测绘的事项。应用配置设定35包括对于特定的企业或用户调整应用的设定。通信配置设定41提供了与其它计算机进行通信的参数并且包括诸如GPRS参数、SMS参数、连接用户名和密码的项。
应用33可以是先前已经存储在设备16上的应用或者是在使用期间安装的应用,但是这些应用还可以是操作系统29的部分,或者寄存于设备16之外。
图7示出了设备16是平板式计算机600的一个实施例。在图6中,计算机600显示出设有用户接口显示屏602。屏幕602可以是接收来自笔或触针的输入的触摸屏(因此,来自用户手指的触摸姿势能够用于与应用交互)或者笔启用接口。屏幕还可以使用屏幕上虚拟键盘。当然,屏幕还可以通过适合的附接机制而附接到键盘或其它用户输入设备,适合的附接机制诸如为例如无线链路或USB端口。计算机600还可以示例性地接收语音输入。
图8和图9提供了能够使用的设备16的额外的示例,但是还可以使用其它设备。在图8中,功能电话、智能电话或移动电话45被提供作为设备16。电话45包括用于拨电话号码的一组键盘47、能够显示包括应用图像、图标、网页、照片和视频在内的图像的显示器49以及用于选择显示器上显示的项的控制按钮51。电话包括用于接收蜂窝电话信号的天线53,诸如通用分组无线电服务(GPRS)和1Xrtt以及短消息服务(SMS)信号。在一些实施例中,电话45还包括接受SD卡57的安全数字(SD)卡槽55。
图9的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算设备等(下文称为PDA 59)。PDA 59包括感应屏幕61,当触针位于屏幕上时,该感应屏幕感测触针63(或其它指针,诸如用户手指)的位置。这允许用户选择屏幕上的项、突出显示屏幕上的项以及移动屏幕上的项以及绘制和写。PDA 59还包括多个用户输入键或按钮(诸如按钮65),其允许用户滚动浏览菜单选项或其它显示在显示器61上的显示选项,并且允许用户改变应用或者选择用户输入功能,而不接触显示器61。虽然没有显示,但是PDA 59可以包括内部天线以及允许与其它计算机进行无线通信的红外发射器/接收器以及允许与其它计算设备进行硬件连接的连接端口。这些硬件连接典型地是通过经由串行或USB端口与其它计算机连接的底座来实现的。因此,这些连接是非网络连接。在一个实施例中,移动设备59还包括接受SD卡69的SD卡槽67。
除了电话是智能电话71之外,图10类似于图8。智能电话71具有显示图标或瓦片或其它用户输入机制75的触摸敏感显示器73。机制75能够由用户使用来运行应用、打电话、执行数据传输操作,等等。一般地,智能电话71构建在移动操作系统上并且提供比功能电话更先进的计算能力和连接能力。
注意,其它形式的设备16是可能的。
图11是计算环境的一个实施例,其中能够部署架构100或其部分(例如)。参考图11,用于实现一些实施例的示范性的系统包括计算机810形式的通用计算设备。计算机810的组件可以包括但不限于处理单元820(其可以包括处理器126)、系统存储器830以及将包括系统存储器在内的各系统组件与处理单元820耦合的系统总线821。系统总线821可以是多种类型的总线结构中的任一个,包括存储器总线或存储器控制器、外围设备总线和使用各种总线架构中的任一种的本地总线。通过示例的方式而不是限制的方式,这些架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准联盟(VESA)本地总线以及也称为夹层总线的外围组件互连(PCI)总线。参考图1所描述的存储器和程序能够布置在图11的对应的部分中。
计算机810典型地包括各种计算机可读介质。计算机可读介质可以是能够由计算机810访问的任何可用的介质并且包括易失性和非易失性的介质、可移除的和非可移除的介质。通过示例而不是限制的方式,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质不同于调制数据信号或载波并且不包括调制数据信号或载波。计算机存储介质包括硬件存储介质,包括以存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性的、可移除的和非可移除的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储设备、磁盒、磁带、磁盘存储设备或其它磁存储设备,或者任何其它能够用于存储所需的信息并且能够由计算机810访问的介质。通信介质典型地实施计算机可读指令、数据结构、程序模块或传输机制中的其它数据,并且包括任何信息传送介质。术语“调制数据信号”是指使其一个或多个特性以将信息编码在信号中的方式来设定或改变的信号。通过示例而不是限制的方式,通信介质包括诸如有线网或直接接线连接的有线介质,以及诸如声波、RF、红外和其它无线介质的无线介质。任何上述的组合也应当包括在计算机可读介质的范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)831以及随机存取存储器(RAM)832。基本输入/输出系统822(BIOS)典型地存储在ROM 831中,其包含了例如在启动期间帮助在计算机810内的元件之间传递信息的基本例程。RAM 832典型地包含了直接由处理单元820访问和/或当前在处理单元820上操作的数据和/或程序模块。通过示例的方式而不是限制的方式,图11示出了操作系统834、应用程序835、其它程序模块836以及程序数据837。
计算机810还可以包括其它可移除的/非可移除的、易失性/非易失性的计算机存储介质。仅通过示例的方式,图11示出了从非可移除的、非易失性的磁介质读或者进行写的硬盘驱动器841、从可移除的、非易失性磁盘852进行读或写的磁盘驱动器851,以及从可移除的、非易失性的光盘856进行读或写的光盘驱动器855,诸如CD ROM或其它光学介质。能够在示范性的操作环境中使用的其它可移除的/非可移除的、易失性/非易失性的计算机存储介质包括但不限于磁带盒、闪速存储卡、数字多功能盘、数字视频带、固态RAM、固态ROM等。硬盘驱动器841典型地通过诸如接口840的非可移除的存储器接口而连接到系统总线821,并且磁盘驱动器851和光盘驱动器855典型地通过诸如接口850的可移除的存储器接口而连接到系统总线821。
可选地,或者另外地,本文所描述的功能可以至少部分地通过一个或多个硬件逻辑组件来执行。例如,不是限制,能够使用的示例性的类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、程序特定集成电路(ASIC)、程序特定标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
图11中所示的以及上述的驱动器及其关联的计算机存储介质提供了计算机可读指令、数据结构、程序模块和其它用于计算机810的数据的存储。在图11中,例如,硬盘驱动器841图示为存储操作系统844、应用程序845、其它程序模块846以及程序数据847。注意,这些组件可以与操作系统834、应用程序835、其它程序模块836和程序数据837相同或者不同。操作系统844、应用程序845、其它程序模块846以及程序数据847在此被给予不同的数字标记以图示出至少它们是不同的副本。
用户可以通过诸如键盘862、麦克风862以及诸如鼠标、跟踪球或触摸板的指针设备861的输入设备将命令和信息输入到计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏板、卫星盘、扫描仪等。这些输入设备以及其它输入设备经常通过与系统总线耦合的用户输入接口860连接到处理单元820,但是可以通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。虚拟显示器891或其它类型的显示设备也可以经由诸如视频接口890的接口而与系统总线821连接。除了监视器之外,计算机还可以包括其它外围输出设备,诸如扬声器897和打印机896,其可以通过输出外围接口895而连接。
计算机810利用到诸如远程计算机880的一个或多个远程计算机的逻辑连接而操作于网络环境中。远程计算机880可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并且典型地包括上文相对于计算机810所描述的许多或全部的元件。在图11中描绘的逻辑连接包括局域网(LAN)871以及广域网(WAN)873,但是还可以包括其它网络。这些网络环境常见于办公室、企业计算机网络、内联网和因特网。
当在LAN网络环境中使用时,计算机810通过网络接口或适配器870而与LAN 871连接。当在WAN网络环境中使用时,计算机810典型地包括调制解调器872或者其它用于通过诸如因特网的WAN 873来建立通信的装置。可以在内部或外部的调制解调器872可以经由用户输入接口870或其它适合的机制而连接到系统总线821。在网络环境中,相对于计算机810或其部分所描绘的程序模块可以存储在远程存储器存储设备中。通过示例而不是限制的方式,图11示出了位于远程计算机880上的远程应用程序885。将理解的是,所示的网络连接是示范性的,并且在计算机之间建立通信链路的其它手段可以被使用。
还应当注意的是,本文所描述的不同的实施例能够以不同的方式组合。也即,一个或多个实施例的部分能够与一个或多个其它实施例的部分组合。全部这些在本文中构思出。
虽然以特定于结构特征和/或方法行为的语言描述了主题,但是应当理解在随附权利要求中限定的主题不必局限于上述的特定特征或行为。相反,上述的特定的特征或行为被公开为实现权利要求的示例形式。

Claims (10)

1.一种计算机实现的方法,包括:
接收消息;
访问与接收到的消息相对应的上级消息信息;
访问与所述接收到的消息相对应的接收者信息;以及
基于所述上级消息信息和所述接收者信息将所述接收到的消息添加到给定会话中的给定线程中。
2.如权利要求1所述的计算机实现的方法,其中,将所述接收到的消息添加到给定会话中的给定线程中包括:
判定接收到的消息是否对在消息传递系统中的已经存在的会话中的父消息进行回复;
如果是,则判定所述接收到的消息中的接收者集合是否具有所述父消息中的接收者集合中的至少全部接收者;并且
如果所述接收到的消息中的接收者集合具有所述父消息中的接收者集合中的至少全部接收者,则将所述接收到的消息添加到所述消息传递系统中的所述已经存在的会话中的现有线程中。
3.如权利要求2所述的计算机实现的方法,其中,如果所述接收到的消息中的接收者集合具有所述父消息中的接收者集合中的不足全部的接收者,则将所述接收到的消息添加到给定会话中的给定线程中进一步包括:
启动所述消息传递系统中的新线程;以及
将所述接收到的消息添加到所述消息传递系统中的所述新线程中。
4.如权利要求3所述的计算机实现的方法,其中,如果所述接收到的消息不对所述消息传递系统中的已经存在的会话中的父消息进行回复,则将所述接收到的消息添加到给定会话中的给定线程中进一步包括:
判定所述接收到的消息是否对任何父消息进行回复;以及
如果所述接收到的消息不对任何父消息进行回复,则启动所述消息传递系统中的新会话并且将所述接收到的消息添加到所述新会话中。
5.如权利要求4所述的计算机实现的方法,其中,如果所述接收到的消息对任何父消息进行回复,则将所述接收到的消息添加到给定会话中的给定线程中进一步包括:
判定所述接收到的消息是否有任何上级消息在所述消息传递系统中的已经存在的会话中;并且
如果所述接收到的消息的上级消息都没在所述消息传递系统中的已经存在的会话中,则启动所述消息传递系统中的新会话并且将所述接收到的消息添加到所述新会话中。
6.如权利要求5所述的计算机实现的方法,其中,如果所述接收到的消息有任何上级消息在所述消息传递系统中的已经存在的会话中,则将所述接收到的消息添加到给定会话中的给定线程中进一步包括:
判定所述接收到的消息中的接收者集合是否具有所述上级消息中的接收者集合中的至少全部接收者;并且
如果所述接收到的消息中的接收者集合具有所述上级消息中的接收者集合中的至少全部接收者,则将所述接收到的消息添加到所述消息传递系统中的所述已经存在的会话中的现有线程中。
7.如权利要求2所述的计算机实现的方法,其中,判定所述接收到的消息中的接收者集合是否具有所述父消息中的接收者集合中的至少全部接收者包括:
判定所述接收到的消息中的接收者集合是否等同于所述父消息中的接收者集合;
如果为否,则判定所述接收到的消息中的接收者集合是否是所述父消息中的接收者集合的超集;以及
如果为是,则将所述接收到的消息添加到所述已经存在的会话中的现有线程中。
8.一种消息传递系统,包括:
接收者集合分析组件,其分析接收到的消息的接收者集合;
消息上级分析组件,其分析所述接收到的消息的上级消息信息;
会话生成器组件,其基于对所述接收到的消息的接收者集合的分析以及对所述接收到的消息的上级消息信息的分析来将所述接收到的消息添加到给定会话中的给定线程中;以及
计算机处理器,其是所述消息传递系统的功能部件并且由所述接收者集合分析组件、所述消息上级分析组件和所述会话生成器组件来激活,以利于分析并且将所述接收到的消息添加到给定会话中的给定线程中。
9.如权利要求8所述的消息传递系统,其中,所述消息上级分析组件访问所述接收到的消息的上级信息以标识作为所述消息传递系统中的已经存在的会话的部分的所述接收到的消息的任何上级消息,其中,所述接收者集合分析组件访问所述接收到的消息的接收者集合以判定所述接收到的消息的接收者集合是否具有所标识的上级消息的接收者集合中的至少全部接收者,其中,如果所述接收到的消息的接收者集合具有所标识的上级消息的接收者集合中的至少全部接收者,则所述会话生成器组件将所述接收到的消息添加到所述消息传递系统中的所述已经存在的会话中的现有线程中。
10.一种存储计算机可执行指令的计算机可读存储介质,当通过计算机执行时,所述计算机可执行指令使得所述计算机执行一种方法,所述方法包括:
访问接收到的消息的上级消息信息以标识作为消息传递系统中的已经存在的会话的部分的所述接收到的消息的任何上级消息;
访问所述接收到的消息的接收者集合以判定所述接收到的消息的接收者集合是否具有所标识的上级消息的接收者集合中的至少全部接收者;以及
如果所述接收到的消息的接收者集合具有所标识的上级消息的接收者集合中的至少全部接收者,则将所述接收到的消息添加到消息传递系统中的给定会话中的给定线程中。
CN201580008932.3A 2014-01-23 2015-01-22 从独立可寻址消息得到原子通信线程 Active CN106031101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811632437.1A CN110049088B (zh) 2014-01-23 2015-01-22 从独立可寻址消息得到原子通信线程的方法及系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/162,125 US10230675B2 (en) 2014-01-23 2014-01-23 Deriving atomic communication threads from independently addressable messages
US14/162,125 2014-01-23
PCT/US2015/012326 WO2015112648A1 (en) 2014-01-23 2015-01-22 Deriving atomic communication threads from independently addressable messages

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811632437.1A Division CN110049088B (zh) 2014-01-23 2015-01-22 从独立可寻址消息得到原子通信线程的方法及系统

Publications (2)

Publication Number Publication Date
CN106031101A true CN106031101A (zh) 2016-10-12
CN106031101B CN106031101B (zh) 2019-01-29

Family

ID=52469311

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580008932.3A Active CN106031101B (zh) 2014-01-23 2015-01-22 从独立可寻址消息得到原子通信线程
CN201811632437.1A Active CN110049088B (zh) 2014-01-23 2015-01-22 从独立可寻址消息得到原子通信线程的方法及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811632437.1A Active CN110049088B (zh) 2014-01-23 2015-01-22 从独立可寻址消息得到原子通信线程的方法及系统

Country Status (5)

Country Link
US (1) US10230675B2 (zh)
EP (1) EP3097667B1 (zh)
CN (2) CN106031101B (zh)
TW (1) TW201531126A (zh)
WO (1) WO2015112648A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10587539B2 (en) 2014-03-13 2020-03-10 Microsoct Technology Licensing, LLC Identifying relationships between message threads
US10547580B2 (en) * 2016-10-05 2020-01-28 Microsoft Technology Licensing, Llc Dynamically re-parenting email messages based on updated conversations
US11283746B1 (en) * 2021-06-25 2022-03-22 Microsoft Technology Licensing, Llc Multiple message composition using actionable tags

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090409A (zh) * 2006-06-13 2007-12-19 三星电子株式会社 在移动通信终端中管理消息的装置和方法
CN102273234A (zh) * 2008-12-31 2011-12-07 惠普开发有限公司 集成混合输送消息接发系统
US20130290436A1 (en) * 2012-04-26 2013-10-31 Research In Motion Limited Electronic device and method for updating message recipients based on message body indicators

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US7103634B1 (en) 2000-11-16 2006-09-05 International Business Machines Corporation Method and system for e-mail chain group
US7461151B2 (en) 2003-11-13 2008-12-02 International Business Machines Corporation System and method enabling future messaging directives based on past participation via a history monitor
US7222299B1 (en) 2003-12-19 2007-05-22 Google, Inc. Detecting quoted text
US7475110B2 (en) * 2004-01-07 2009-01-06 International Business Machines Corporation Method and interface for multi-threaded conversations in instant messaging
US7395315B2 (en) 2004-05-20 2008-07-01 International Business Machines Corporation System and method for allowing a user to ensure actions taken on a document are applied to the most recent electronic correspondence
US7218943B2 (en) 2004-12-13 2007-05-15 Research In Motion Limited Text messaging conversation user interface functionality
US8055715B2 (en) 2005-02-01 2011-11-08 i365 MetaLINCS Thread identification and classification
US20060248150A1 (en) * 2005-04-29 2006-11-02 International Business Machines Corporation Methods and apparatus for managing and distinguishing instant messaging sessions and threads
CN100505735C (zh) * 2005-05-12 2009-06-24 中国科学院计算技术研究所 一种多节点智能网络应用服务系统中的会话管理方法
US9401900B2 (en) * 2005-07-01 2016-07-26 Cirius Messaging Inc. Secure electronic mail system with thread/conversation opt out
US20070106729A1 (en) 2005-11-04 2007-05-10 Research In Motion Limited Method and system for updating message threads
US8200762B2 (en) * 2006-06-01 2012-06-12 Aol Inc. Displaying complex messaging threads into a single display
US7921176B2 (en) 2007-01-03 2011-04-05 Madnani Rajkumar R Mechanism for generating a composite email
US8171087B2 (en) * 2007-01-16 2012-05-01 Oracle International Corporation Thread-based conversation management
US20090044200A1 (en) 2007-08-11 2009-02-12 Aakash Bordia Method and system for asynchronous thread response detection in an electronic communication system
US8312095B2 (en) 2008-01-30 2012-11-13 International Business Machines Corporation Tracking interactive text-message communications
US7506263B1 (en) 2008-02-05 2009-03-17 International Business Machines Corporation Method and system for visualization of threaded email conversations
US20090254624A1 (en) 2008-04-08 2009-10-08 Jeff Baudin E-mail message management system
US8645430B2 (en) 2008-10-20 2014-02-04 Cisco Technology, Inc. Self-adjusting email subject and email subject history
US8185482B2 (en) 2009-03-30 2012-05-22 Microsoft Corporation Modeling semantic and structure of threaded discussions
US20100293475A1 (en) 2009-05-12 2010-11-18 International Business Machines Corporation Notification of additional recipients of email messages
US20110191429A1 (en) 2010-02-04 2011-08-04 Research In Motion Limited Method for advanced email thread management
US8621012B2 (en) * 2010-02-08 2013-12-31 Google Inc. Active e-mails
EP2381402A1 (en) * 2010-04-21 2011-10-26 Research in Motion Corporation User interface methods and apparatus for use in communicating messages
US20120036197A1 (en) 2010-08-06 2012-02-09 At&T Intellectual Property I, L.P. Messaging Genealogy Interface
US9203796B2 (en) * 2010-11-12 2015-12-01 Facebook, Inc. Messaging system with multiple messaging channels
US8612233B2 (en) * 2011-01-05 2013-12-17 International Business Machines Corporation Expert conversation builder
US9026591B2 (en) 2011-02-28 2015-05-05 Avaya Inc. System and method for advanced communication thread analysis
CA2746065C (en) * 2011-07-18 2013-02-19 Research In Motion Limited Electronic device and method for selectively applying message actions
US8332477B1 (en) 2011-08-25 2012-12-11 Google Inc. Presenting related communications
US20130124548A1 (en) * 2011-08-30 2013-05-16 Google Inc. System and Method for Presenting A Plurality of Email Threads for Review
US9043411B2 (en) 2011-09-29 2015-05-26 Microsoft Technology Licensing, Llc Inline message composing with visible list view
US9294307B2 (en) 2011-10-07 2016-03-22 Microsoft Technology Licensing, Llc Synchronization of conversation data
US20130124643A1 (en) 2011-11-11 2013-05-16 International Business Machines Corporation System and method for communication thread management
US8391136B1 (en) * 2012-01-27 2013-03-05 Google Inc. Fallback messaging
US9330145B2 (en) * 2012-02-22 2016-05-03 Salesforce.Com, Inc. Systems and methods for context-aware message tagging
US9171291B2 (en) * 2012-04-26 2015-10-27 Blackberry Limited Electronic device and method for updating message body content based on recipient changes
US20150127749A1 (en) * 2012-06-07 2015-05-07 Google Inc. Email thread procrastinating method
CN103873341B (zh) 2012-12-10 2015-07-29 腾讯科技(深圳)有限公司 一种消息处理方法及系统
US9253133B2 (en) 2013-10-21 2016-02-02 Dropbox, Inc. Message thread identification and management
US10587539B2 (en) 2014-03-13 2020-03-10 Microsoct Technology Licensing, LLC Identifying relationships between message threads
US20160021033A1 (en) 2014-07-17 2016-01-21 Lenovo (Singapore) Pte, Ltd. Temporal message ordering
US10277539B2 (en) 2015-07-31 2019-04-30 International Business Machines Corporation Intelligent messaging reply system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090409A (zh) * 2006-06-13 2007-12-19 三星电子株式会社 在移动通信终端中管理消息的装置和方法
CN102273234A (zh) * 2008-12-31 2011-12-07 惠普开发有限公司 集成混合输送消息接发系统
US20130290436A1 (en) * 2012-04-26 2013-10-31 Research In Motion Limited Electronic device and method for updating message recipients based on message body indicators

Also Published As

Publication number Publication date
EP3097667B1 (en) 2018-04-04
TW201531126A (zh) 2015-08-01
US10230675B2 (en) 2019-03-12
WO2015112648A1 (en) 2015-07-30
CN106031101B (zh) 2019-01-29
US20150207768A1 (en) 2015-07-23
CN110049088A (zh) 2019-07-23
EP3097667A1 (en) 2016-11-30
CN110049088B (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
US11032390B2 (en) Digital card management
US10419399B2 (en) Method for at least one submitter to communicate sensitive incident information and locations to receivers
US9071579B1 (en) System for sender/receiver to send or receive mood related, time sensitive or secretive content/messages
US20200125218A1 (en) Method of reporting a live incident in real time
CN105453612B (zh) 消息服务提供装置以及经由其提供内容的方法
AU2015401019B2 (en) Method for communicating sensitive incident information and locations to receivers
CN106068521A (zh) 关于合规策略更新的应用的通信状态
US11416948B2 (en) Image tagging for capturing information in a transaction
US8843573B2 (en) Lightweight messaging with location between users of a social networking system
CN105637813A (zh) 当将人员添加至会话时授予对对象的许可
US10656978B2 (en) Recommendation for an individual based on a mood of the individual
KR20170111810A (ko) 전자 장치의 위치 정보 기반 메신저 운영 방법 및 장치
CN106062793B (zh) 已被呈现的企业内容的检索
CN106031101A (zh) 从独立可寻址消息得到原子通信线程
JP7167131B2 (ja) 会話型スケジューリングアシスタントコンピューティングシステムにおける自然言語処理及び分析
US9804749B2 (en) Context aware commands
US20160072857A1 (en) Accessibility features in content sharing
CN106170805A (zh) 组的跨客户端集成
CN104903923A (zh) 使用实时通信系统的组轻推
US10909138B2 (en) Transforming data to share across applications
CN106131107B (zh) 内容项获取系统、方法及装置
TW201603607A (zh) 以範圍為基礎之資料傳送方法及系統,及相關電 腦程式產品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant