交叉模式通信的制作方法

文档序号:16054083发布日期:2018-11-24 11:32阅读:196来源:国知局
随着电子通信服务激增,希望以电子方式进行通信的个人发现越来越难以识别用于通信的合适方法。通常,任何给定的人具有在可用通信服务的子集上的账户,并且倾向于仅主动使用该子集的较小组。这在个人希望进行通信时存在问题,因为个人必须首先识别共同服务以从两个人可能拥有账户的多个不同服务进行通信。另外,所识别的服务可能在一段时间适合,但是如果他们发现当前服务具有其他服务不具有的约束或限制,则个人可能需要识别用于通信的其他服务。此外,个人并不总是能够使用他们个人喜欢的通信方法。使用多种电子通信方法进行通信的个人还必须保持多个凭证,并且可能无法完全了解每种通信服务的能力,因为个人可能不会在每种服务上累积足够的时间。当两个以上的人希望进行通信时,问题只会进一步恶化。技术实现要素:提供本“
发明内容”是为了介绍与跨模式通信有关的简化概念。本“
发明内容”并非旨在识别所要求保护的主题的必要特征,也并非旨在用于确定所要求保护的主题的范围。本文中描述的技术涉及跨信道通信。这些技术可以采用中心方法、系统或模式(本文中的“交叉模式管理器”或“cmm”),其被启用以通过多种模式发送和/或接收消息。用户可以通过本文中描述的各种方法在用户用来进行通信的模式上启用cmm。一旦在用户用来进行通信的至少一个信道上被启用,跨多种模式的cmm的存在允许用户创建和/或加入由cmm维持的跨信道通信会话并且允许在用户的通信模式与存在cmm的多种模式中任何一种之间进行通信。换言之,这些技术允许用户从他们选择的信道内跨不同信道进行通信。注意,术语“模式”在本文中与“信道”可互换地使用。如本文中使用的,术语“信道”是指任何电子通信模式或方法。附图说明参考附图描述具体实施方式。在附图中,附图标记的最左边的数字识别首次出现附图标记的图。不同图中的相同附图标记表示相似或相同的项目。图1是描绘跨信道通信的示例可以在其中操作的示例环境的框图。图2是描绘经由跨信道通信会话从与第一信道相关联的第一客户端设备向与第二信道相关联的第二客户端设备中继消息的单次迭代的示例场景的框图。图3是描绘根据各种示例的可以实现跨信道通信的示例设备的选择组件的框图。图4是从第一用户设备的角度来看在示例跨信道通信会话期间的示例用户界面的示意图。图5是从第二用户设备的角度来看在示例跨信道通信会话期间的示例用户界面的示意图。图6是从电子邮件服务界面的角度来看在示例跨信道通信会话期间的示例用户界面的示意图。图7是示出在跨信道通信会话中从第一信道向第二信道中继通信的示例过程的流程图。图8是示出向与关联于由设备显示的界面的信道不同的信道发送消息和从其接收消息的示例过程的流程图。图9是示出经由跨信道通信会话在第一信道与第二信道之间中继消息的示例过程的流程图。具体实施方式概述本公开涉及用于提供跨模式通信的技术。本文中描述了允许用户跨各种通信模式进行通信的技术。这些技术允许用户通过第一模式发送和/或接收通信,同时用户正在与之通信的其他用户可以自由选择所述其他用户进行通信的模式。例如,第一用户可以经由第一通信服务发送消息,并且第二用户可以经由第二通信服务接收消息。这些技术可以采用中心方法、系统或模式(本文中的“交叉模式管理器”或“cmm”)来促进跨模式通信。可以部署cmm,使得用户不需要与cmm界面交互以便跨模式发送和接收消息。用户可以使用与通信模式相关联的界面(例如,用于信道的界面)来向其他通信模式的消息和从其接收消息(例如,消息可以显示在界面中,即使消息是由另一用户在管理器界面中输入的并且消息可以被输入界面并且显示在管理器界面中。以这种方式,用户能够通过他们喜欢的通信模式进行通信。此外,cmm能够不知道与针对各通信模式的用户账户相对应的用户凭证。通过采用不知道针对通信模式的用户凭证的cmm,cmm提供了一种安全的跨信道通信方法,因为cmm不会在可以与它们一起存储的通信模式之外复制针对通信模式的用户凭证的存储。为实现这一点,可以将cmm配置为在多个信道上操作(例如,通过存储与cmm相关联的以下一个或多个:客户id和标记、到信道上的cmm账户的用户名和密码、信道的api端点、与cmm相关联的电话号码、与cmm相关联的电子邮件地址、其他联系信息等)。换言之,cmm被配置为经由存在于那些信道上(例如,在信道上具有账户(即,“代理账户”),已经与信道服务协商以通过信道发送和接收消息,等等)而在多个信道上发送和/或接收消息。以这种方式,cmm可以经由在第一信道上的cmm存在而经由第一信道接收通过不同信道去往另一用户的消息,并且cmm可以经由在该不同信道上的cmm存在而通过该不同信道向另一用户发送该消息。为了能够跨模式进行通信,用户可以使得cmm能够在所启用模式上与用户的账户进行通信。cmm还可以被允许代表用户进行通信(例如,代表用户使用用户当前没有发送通信的模式或用户尚未具有账户的模式)。这些技术有效地限制了在一个设备上维持多个信道所需要的存储器空间和处理。这些技术最大化了用户对启用cmm的所有信道的存在,而用户无需将用户维持的信道数目增加到超过1(如果用户希望的话)。用户可以维持有限的应用组,而不需要安装和执行与信道相对应的多个应用来最大化用户在信道上的存在。此外,这些技术可以通过允许用户经由有限的信道组进行通信并且仍然能够访问cmm针对其被启用以进行操作的多个信道,来减少所需要的带宽。术语“技术”可以指系统、方法、用指令编码的计算机可读介质、模块和/或算法、以及硬件逻辑(例如,现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld))等,如在上文和在整个文件中所描述的上下文所许可的那些技术。说明性环境图1是描绘本文中描述的示例可以在其中操作的示例环境100的框图。在一些示例中,环境100的各种设备和/或组件包括可以经由一个或多个网络104彼此通信并且与外部设备通信的分布式计算资源102。在至少一个示例中,分布式计算资源102可以实现本文中描述的技术。例如,分布式计算资源102可以包括用于跨模式通信的系统。为了实现跨模式通信,分布式计算资源102可以在其上存储交叉模式管理器(本文中为“cmm”),诸如cmm106(1),或者可以经由网络104与远程存储的cmm106(2)通信。在一些示例中,针对分布式计算资源102描述的一些或所有技术可以附加地或替代地由一个或多个客户端设备108实现。在一些示例中,客户端设备108可以被编程为cmm。在一些示例中,cmm可以是由应用程序编程接口(api)可访问的网络服务的一部分。在各种示例中,分布式计算资源102包括诸如分布式计算资源102(1)至102(n)等的计算设备。示例支持如下场景:其中分布式计算资源102可以包括一个或多个计算设备,其在集群和/或其他分组配置中操作,以共享资源、平衡负载、提高性能、提供故障转移支持和/或冗余、和/或用于其他目的。虽然被示出为台式计算机,但是分布式计算资源102可以包括各种各样的设备类型,并且不限于任何特定类型的设备。例如,分布式计算资源102可以包括具有可操作地连接到计算机可读介质、i/o接口和网络接口的一个或多个处理单元的任何类型的计算设备。计算机可读介质可以具有存储在其上的cmm框架,或用于中继去往和来自远程存储的cmm106(2)的通信的框架。在一些示例中,网络104可以包括诸如因特网等公共网络、诸如机构和/或个人内联网等专用网络、或者专用和公共网络的某种组合。网络104还可以包括任何类型的有线和/或无线网络,包括但不限于局域网(lan)、广域网(wan)、卫星网络、有线网络、wi-fi网络、wimax网络、移动通信网络(例如,3g、4g等)或其任何组合。网络104可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)和/或其他类型的协议。此外,网络104还可以包括促进网络通信和/或形成网络的硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备等。示例环境100还包括客户端设备108和其他客户端设备110。在一些示例中,客户端设备108和/或其他客户端设备110可以包括但不是限于台式计算机、服务器计算机、网络服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、网络电视、瘦客户机、终端、个人数据助手(pda)、游戏机、游戏设备、工作站、媒体播放器、个人视频录像机(pvr)、机顶盒、相机、用于包括在计算设备中的集成组件、电器、或任何其他类型的计算设备,诸如一个或多个单独的处理器设备,诸如cpu型处理器(例如,微处理器)、gpu或加速器设备。客户端设备108和/或其他客户端设备110可以是用户可以通过其与另一实体进行对话的任何设备。在一些示例中,客户端设备108和/或其他客户端设备110分别经由网络104通信地耦合到信道112和114,通过网络104用户可以根据本文中描述的技术参与对话。在一些示例中,尽管图1将信道112和114描绘为经由网络104与客户端设备108进行通信。在一些示例中,通信可以包括对话。如本文中使用的,“对话”可以包括自然语言的交换。在附加或替代示例中,“对话”可以包括人工语言和/或计算机代码。在一些示例中,“对话”可以包括文件交换。信道112和114的示例可以包括社交网络信道112(1)和/或114(1)(例如,等)、项目协作信道112(2)和/或114(2)(例如,等)、电子邮件服务112(3)和/或114(3)(例如,等)、短消息服务(sms)和/或语音服务112(4)和/或114(4)、或者任何其他信道112(x)和/或114(y)(例如,aolinstantmessenger、gtalk、等),客户端设备108和/或110可以通过这些信道与另一实体进行对话。在一些示例中,客户端设备108所链接到的信道112对应于客户端设备108的第一用户通过其维持在线、拥有账户或可访问以进行通信的信道。第一用户可能更喜欢这些信道112的子集,并且可以将特定的信道用于大多数不同类型的通信(例如,第一用户可以使用一个或多个社交网络服务112(1)来与朋友通信;项目协作服务112(2)用于文件共享和与同事通信;sms服务112(4)用于朋友、家人和同事;并且即使用户可能具有多个电子邮件服务账户,也可以主要使用一个电子邮件)。类似地,其他客户端设备110所链接到的信道114可以对应于其他客户端设备110的第二用户通过其维持在线、拥有账户或可访问以进行通信的信道。可以设想的是,客户端设备108和其他客户端设备110可以链接到相同信道子集和/或不同信道子集,这取决于第一用户和第二用户可访问的信道。注意,可以设想的是,用户可以在多个设备上维持存在于多个信道上和/或多个用户可以在单个设备上维持多个信道。为简单起见,本文中讨论单个用户并且通常是单个设备,但是可以设想到多个用户和设备。根据本文中描述的技术,第一用户和第二用户可以使用他们喜欢的任何信道来分别向其他用户发送消息和从其他用户接收消息。例如,从第一用户的角度来看,第一用户可以使用客户端设备108中的任何一个或多个来通过被配置为与相应的客户端设备108一起工作的信道112中的任一个或多个来发送和接收消息。第一用户通过信道发送的消息可以由cmm通过信道114中的任何一个或多个向其他客户端设备110中的任何一个或多个递送,而无论一个或多个信道114中的任一个是否与一个或多个信道112中的任一个相对应。在客户端设备108中的任何一个或多个处接收的消息可以通过信道114中的任何一个或多个从其他客户端设备110被发送,而无论一个或多个信道114中的任一个是否与一个或多个信道112中的任一个相对应。示例场景图2描绘了实现用于经由由cmm框架212建立的跨信道通信会话而从与第一信道(例如,社交网络服务206)相关联的第一客户端设备204向与第二信道(例如,短消息服务(sms)服务210)相关联的第二客户端设备208中继消息202的单次迭代的技术的示例场景200。该示例场景200是受限于特定配置的示例,但不应当被解释为将这些技术限制于该特定实现;示例场景200被给出以进一步帮助本领域普通技术人员理解本文中描述的技术。在一些示例中,第一客户端设备204可以是如图1所示的客户端设备108,第二客户端设备208可以是如图1所示的另一客户端设备110,社交网络服务206可以是如图1所示的信道112(例如,社交网络服务112(1))之一,sms服务210可以是如图1所示的信道114(例如,sms服务114(4))之一,并且cmm框架212可以存储在可以是分布式计算资源102中一个或多个的计算资源214上。在这个示例中,已经经由cmm框架212在第一客户端设备204与第二客户端设备208之间建立了跨信道通信会话。这在下面更详细地描述,但是在一些示例中,跨信道通信会话可以基于消息来建立,该消息包含由第一客户端设备204并且经由与社交网络服务206(即,第一信道)相关联的用户账户216向与社交网络服务206(即,第一信道)相关联的cmm账户218(即,“代理”账户)发送的命令。cmm账户218可以向存储在计算资源214上的cmm框架212中继包含该命令的消息。cmm框架212可以创建跨信道通信会话标识符,并且随后经由第二信道(例如,sms服务210)从第二客户端设备208接收包含用以加入跨信道通信会话的请求并且包含跨信道通信会话标识符的消息。为了接收包含该请求的消息,cmm可以具有sms服务的账户,诸如电话号码,可以向该账户寻址包含该请求的消息。cmmsms账户可以向cmm框架212转发包含该请求的消息,cmm框架212随后可以在第一客户端设备204与第二客户端设备208之间建立跨信道通信会话。一旦cmm框架212已经建立了跨信道通信会话,cmm框架212可以从第一客户端设备向与跨信道通信会话相关联的其他客户端设备(即,这个示例中的第二客户端设备208)中继消息。在场景200中,用户可以生成消息202(1),客户端设备204例如经由网络104经由与社交网络服务206相关联的用户账户216而向与社交网络服务206相关联的cmm账户218发送(步骤220)消息202(1)。在一些示例中,用户可以在客户端设备204处显示的用户界面中生成消息202(1)(例如,存储在客户端设备上的客户端应用,当客户具有服务账户时,该客户端应用允许用户经由与客户端应用相关联的服务生成和发送消息),该客户端设备204与用户经由用户账户216可访问的社交网络服务206相关联。例如,用户可以使用社交网络的消息传递功能来从用户账户向服务的cmm账户发送消息(例如,通过在cmm账户“墙壁”上发布,通过直接消息传递cmm账户,通过@提到cmm账户,等等)。社交网络服务206向与社交网络206相关联的cmm账户218中继消息202(1)(步骤222)。除了cmm账户能够通过某种模式从用户接收消息之外,社交网络服务206如何在账户之间中继消息几乎没有结果。在接收到消息202(1)时,cmm账户218可以例如经由网络104向存储在计算资源214上的cmm框架212中继消息202(1)(步骤224)。注意,图2描绘了通信地耦合第一客户端设备204和社交网络服务206、社交网络服务206和计算资源214、以及计算资源214和第二客户端设备208的网络104。可以设想的是,每个之间的特定通信系统可以是不同的,但是为了简单起见,这里示出了网络104。cmm框架212可以包括用于将接收的消息转换成适合于由cmm框架212通过其他信道中继的消息的模块。在这个示例中,cmm框架212可以检测或者可以以其他方式被告知(例如,通过信道标识符)消息202(1)的协议。在这个示例中,消息202(1)可以被构造为符合社交网络消息协议226,并且可以包含组成消息202(1)的内容的图像228和音频230。cmm框架212还可以被告知各种信道的保真度和/或约束(例如,通过存储在计算资源214上或者cmm框架212以其他方式可访问的信道数据)。例如,在准备通过第二信道(即,sms服务210)向第二客户端设备208中继消息202(1)时,cmm框架212可以转换消息202(1)(步骤232),以创建符合sms服务210的协议(即,sms协议234)、保真度和约束的转换后消息202(2),而不牺牲原始消息202(1)的内容。例如,在转换消息202(1)以创建转换后的消息202(2)时,cmm框架212能够知道(例如,通过cmm框架212可访问的信道数据)sms信道并不支持图像。为了继续向与第二客户端设备208相关联的用户提供图像228,在一些示例中,cmm框架212可以存储经由超链接可访问的图像228的本地副本,cmm框架212可以将该本地副本作为文本包括在转换后的消息202(2)内容中(即,到图像236的网络链接)。此外,cmm框架212可以通过cmm框架212的音频到文本模块而将音频230转换为文本,并且将音频238的文本表示包括在转换后的消息202(2)的内容中。可以设想的是,cmm框架212可以在必要时创建多个转换后的消息(例如,目的地信道仅接收多达140字符消息,使得cmm框架212将文本分成140字符消息、具有不同协议的多个目的地信道等)。一旦转换后的消息202(2)完成(例如,消息符合目的地信道的协议,消息具有适当的保真度,消息满足目的地信道的约束,等等),cmm框架212可以经由sms服务210(即,第二信道)向第二客户端设备208中继转换后的消息202(2)(步骤240)。为了经由sms服务210向第二客户端设备208中继转换后的消息202(2),cmm可以具有sms服务210的账户(例如,电话号码),cmm可以从该账户发送转换后的消息202(2)。示例设备图3描绘了示例设备300的选择组件,其可以表示分布式计算资源102(1)至102(n)、客户端设备108、其他客户端设备110、或实现本文中描述的交叉模式通信技术中一些或所有的其他计算设备中的一个或多个。示例设备300可以包括具有可操作地连接到计算机可读介质304的一个或多个处理单元302的任何类型的计算设备。连接可以经由总线306,总线306在某些情况下可以包括系统总线、数据总线、地址总线、pci总线、mini-pci总线以及各种本地、外围设备和/或独立总线中的一个或多个,或者连接可以经由另一可操作连接。例如,处理单元302可以表示微处理器、控制器、或用于处理计算机可执行指令以控制设备的操作以便促进跨信道通信的任何其他合适类型的处理器。在使用片上系统架构的一些示例中,处理单元302可以包括一个或多个固定功能块(也称为加速器),其通过采用硬件(而不是软件或固件)的cmm106来实现该方法的一部分。计算机可读介质304包括两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质可以包括以用于存储诸如计算机(或其他电子设备)可读和/或可执行指令、数据结构、程序模块和/或其他数据等信息(以压缩或未压缩形式)的任何方法或技术而实现的易失性和非易失性的、非暂态的机器可读的可移动和不可移动介质,以执行本文中描述的过程或方法。计算机存储介质包括但不限于硬盘驱动器、软盘、光盘、cd-rom、dvd、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、闪存、磁性和/或光卡、固态存储器设备、和/或适合于存储电子指令的其他类型的物理机器可读介质。与此相对,通信介质包含计算机可读指令、数据结构、程序模块、和/或调制数据信号(诸如载波和/或其他传输机制)中的其他数据。如本文中定义的,计算机存储介质不包括通信介质。示例设备300可以包括但不限于台式计算机、服务器计算机、网络服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、网络电视、瘦客户机、终端、个人数据助理(pda)、游戏机、游戏设备、工作站、媒体播放器、个人视频录像机(pvr)、机顶盒、相机、用于包括在计算设备中的集成组件、电器、和/或任何其他种类的计算设备,诸如一个或多个单独的处理器设备,诸如cpu型处理器(例如,微处理器)、gpu和/或加速器设备。在一些示例中,如关于设备300所示,计算机可读介质304可以存储由处理单元302可执行的指令,处理单元302可以表示并入到设备300中的cpu。计算机可读介质304还可以存储指令,这些指令由外部cpu型处理器可执行,由gpu可执行,和/或由加速器可执行,诸如现场可编程门阵列(fpga)型加速器、数字信号处理(dsp)型加速器、和/或任何内部或外部加速器。存储在计算机可读介质304上的可执行指令可以包括例如操作系统308、cmm框架310、以及可由处理单元302加载和执行的其他模块、程序和/或应用。cmm106可以包括其上存储有cmm框架310的设备300。cmm106和cmm框架310在本文中可互换地使用,因为cmm框架310经常完成cmm106的功能。cmm框架310可以是关于图2描述的cmm框架212。cmm框架310可以包括许可模块312、对话转换/中继模块314、通信日志模块316和/或会话跟踪模块318。这些技术可以部署在更多或更少的模块中。如上所述,本文中描述的功能可以至少部分由诸如加速器等一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括fpga、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。例如,加速器可以表示混合设备,诸如来自xilinx或altera的混合设备,该设备包括嵌入在fpga架构中的cpu核。在所示示例中,计算机可读介质304还包括数据存储器320。在一些示例中,数据存储器320包括数据存储库,诸如数据库、数据仓库和/或其他类型的结构化或非结构化数据存储库。在一些示例中,数据存储器320包括具有一个或多个表、索引、存储过程等以实现数据访问的关系数据库。数据存储器320可以存储用于存储在计算机可读介质304中和/或由处理器302和/或加速器(诸如模块312至318)执行的过程、应用、组件和/或模块的操作的数据。备选地,一些或所有上述数据可以存储在单独的存储器上,诸如分布式计算资源102、客户端设备108、其他客户端设备110的存储器上、cpu型处理器(例如,微处理器)的板上存储器、gpu的板上存储器、fpga型加速器的板上存储器、dsp型加速器上的板上存储器、和/或另一加速器的板上存储器。设备300还可以包括一个或多个输入/输出(i/o)接口322,以允许设备300与输入/输出设备通信,诸如用户输入设备,包括外围输入设备(例如,键盘、鼠标、笔、游戏控制器、麦克风或音频输入设备、触摸输入设备(例如,触摸屏、触摸板等)、手势输入设备、相机等,和/或输出设备,包括外围输出设备(例如,显示器、打印机、音频扬声器、触觉输出、用于音频感觉的骨传导等)。在一些示例中,i/o接口322可以用于与客户端设备108或其他客户端设备110通信。设备300还可以包括一个或多个网络接口324,以实现计算设备300与诸如客户端设备108和/或其他客户端设备110等其他联网设备之间的通信。这样的网络接口324可以包括一个或多个网络接口控制器(nic)和/或其他类型的收发器设备,以通过诸如网络104等网络发送和/或接收通信。示例设备300包括可以分布式地或单独地存储在设备300上的示例cmm框架310,如上所述,设备300可以包括一个或多个设备,诸如分布式计算资源102(1)至102(n)、客户端设备108或其他客户端设备110。一些或所有模块能够可用于远程设备和/或分布式计算资源102(可被配置为云服务系统),能够从其可访问,或者能够存储于其上。在一些示例中,cmm框架310包括如本文中描述的提供跨模式通信的模块312至318。在一些示例中,可以采用任何数目的模块,并且本文中描述为由一个或多个模块采用的技术可以由更多或更少数目的模块使用。许可模块312可以包括计算机可执行指令,这些计算机可执行指令在被执行时将处理单元302编程为接收与信道和cmm相关联的凭证(即,在信道上的cmm侧认证),所述凭证授权cmm框架310在该信道上进行操作(例如,允许cmm在该信道上保持存在,等效地,通过该信道发送和接收消息)。许可模块还可以被编程为寻求针对cmm框架310通过信道联系客户端设备和/或代表客户端设备中继消息并通过其他信道向客户端设备中继消息(即,用户侧信道许可)的用户许可。在信道上认证cmm框架310的目的是允许cmm框架310通过该信道进行通信。在一些示例中,在各种信道上对cmm框架310的认证可以包括提供由许可模块312向信道注册cmm框架310的提示(例如,设置用户名、密码和其他信息以创建信道账户;创建电子邮件账户;与实体协商以访问信道(例如,提供完成无线电呼号的应用的提示,完成接收电话号码的小区提供商的要求);向api注册以接收客户端id和标记,等等)。许可模块312可以重定向认证cmm框架310的用户,以通过到信道网页的信道进行操作、引起注册表单的显示和经由信道api向信道中继对表单的输入、或者以其他方式促进对cmm框架310的认证,以使得cmm框架310可以在信道上进行操作。在一些示例中,在认证流程或其他注册过程之后,许可模块312可以存储足以允许cmm框架310在信道上操作的信息(例如,在数据存储器320中)(例如,客户端id和标记、用户名和密码、信道的api端点、电话号码、电子邮件地址、其他联系信息等)。在一些示例中,对话转换/中继模块314可以经由例如存储在数据存储器320中的api端点引用来调用信道api,以代表cmm和/或客户端设备发送和接收和/或访问消息、文件和/或其他通信。在一些示例中,针对信道的cmm框架310的认证按照每个信道而不是每个用户而发生。换言之,一旦cmm框架310在信道上被认证,用户就可以经由该信道联系cmm框架310以发起跨信道通信会话。关于用户侧信道许可,许可模块312可以被编程为引起信道的列表的显示,用户能够向cmm框架310授予在所述信道上进行操作的许可。例如,通过向cmm框架310授予在信道上进行操作的许可,用户能够通过用户向cmm框架310授予在其上进行操作的许可的信道,向其他信道发送消息。通过用户向cmm框架310授予在其上进行操作的许可的信道,用户还可以从其他信道接收消息。在一些示例中,许可模块312可以将用户重定向到与信道相关联的网页,以允许用户引导信道以允许cmm框架310访问通信和/或代表用户进行行动(例如,发出对网络服务的请求,从用户发送的信道服务接收消息,递送从其他信道发送的消息,等等),从而允许cmm框架310保持对用户凭证的不可知(例如,用户可以向信道服务认证自己,并且一旦向信道认证,则指示信道服务向cmm框架310授予许可)。在一些示例中,用户可以通过将与cmm框架310相关联的账户添加到用户的联系人列表或者通过将与cmm框架310相关联的账户添加到群组讨论,来向cmm框架310授予许可。在一些示例中,用户可以在与用户相关联的信道上启用cmm框架310(例如,用户具有账户,被注册或以其他方式访问信道),而无需向cmm框架310授予许可。在一些示例中,通过信道联系cmm框架310可能足以实现这些技术。在一些示例中,cmm框架310可以使用与用户相关联的标识(例如,电子邮件地址、电话号码、用户id、用户名、mac地址等)和信道,以便实现这些技术。例如,第一客户端设备可以向与cmm框架310相关联的电话号码发送sms,以发起跨信道通信会话(或者以其他方式启用cmm框架310,诸如通过如上所述向其授予许可)。cmm框架310可以存储从其接收sms消息的电话号码,利用该电话号码,cmm框架310可以完成本文中讨论的技术。在一些示例中,cmm框架310可以将电话号码与跨信道通信会话相关联。cmm框架310还可以从第二客户端设备接收请求加入跨信道通信会话的电子邮件(或者以其他方式启用cmm框架310,诸如通过如上所述向cmm框架310授予许可)。在一些示例中,cmm框架310可以将与所接收的电子邮件相关联的电子邮件信息(例如,电子邮件地址)与跨信道通信会话相关联。随后,cmm框架310可以从第一客户端设备接收sms消息,cmm框架可以将sms消息转换为电子邮件(例如,通过复制sms消息的正文并且将其粘贴到电子邮件中)。然后,cmm框架310可以经由与cmm框架310相关联的电子邮件账户来向第二客户端设备发送所生成的电子邮件。cmm框架310可以类似地从第二设备接收、转换和向第一设备中继作为sms消息的电子邮件。注意,在一些示例中,可以通过特定信道联系cmm框架310,因为如上所述cmm框架310已经向该信道注册。而且,注意,可以设想的是,尽管上面的示例为了简单起见讨论了两个客户端设备,但是这些技术可以用一个设备来实现。在这个示例中,cmm框架310经由不同的信道向客户端设备中继经由一个信道从客户端设备接收的消息。还可以设想的是,cmm框架310可以通过多个不同信道从任何第一客户端设备向多个其他设备中继消息。对话转换/中继模块314可以包括计算机可执行指令,这些计算机可执行指令在执行时将处理单元302编程为创建对话会话,将接收的消息转换为适合于目的地信道的格式,并且向与目的地信道关联的客户端设备中继所接收的消息。在一些示例中,对话转换/中继模块314可以接收创建跨信道通信会话(等效地,本文中的对话会话)的命令。在一些示例中,命令可以包括诸如对话会话名称和/或通信目的地标识符(例如,用户尝试与之通信的实体的用户名、电子地址等)等参数。例如,用户可以向与用户相关联的信道的界面中输入命令(例如,“new_conv”等)(例如,用户可以向sms信道的图形用户界面中键入“new_conv”),随后是对话名称(例如,“new_convussenterprise”)并且向与cmm框架310和信道相关联的账户发送命令和任何参数(例如,对于包含命令的sms,是与cmm相关联的电话号码;对于包含命令的电子邮件,是与cmm相关联的电子邮件账户;对于社交媒体服务消息,是社交媒体服务上的用户账户或与cmm相关联的账户已经添加的群组讨论,等等)。在cmm框架310私下参与(例如,能够访问)来自用户的通信而无需用户直接联系cmm框架的一些示例中(例如,当与cmm相关联的账户被添加到包括用户的群组会谈时,当cmm已经被授予访问用户发送的消息的许可时,如上所述,等等),对话转换/中继模块314可以检测来自用户的通信的命令和任何参数。例如,如果cmm已经向群聊服务注册并且用户通过群聊服务向群聊添加与cmm和群聊服务相关联的账户,则用户可以向群组发送包含命令和任何参数的消息。cmm框架310可以从发送的消息中检测命令的存在。例如,cmm框架310可以包括或被配置为通信地耦合到自然语言处理api,自然语言处理api可以使用机器学习、消歧和/或短语检测来检测来自群聊的命令。在一些示例中,响应于接收到命令和任何参数,对话转换/中继模块314可以通过将信道标识符、与用户以及从中接收到命令的信道相关联的用户标识(例如,电话号码、电子邮件、用户名等)、以及目的地标识符和/或对话会话名称关联在一起,来创建对话会话。在一些示例中,目的地标识符是允许cmm框架310向与另一信道相关联的第二客户端设备中继消息的标识符。组成目的地标识符的信息可以包括目标信道标识符(例如,@email.com、目标信道的名称)或用户标识符(例如,电话号码、用户名等)中的一个或多个。在所接收的命令包括指定目的地标识符的参数的示例中,对话转换/中继模块314可以将从其接收到命令的信道(例如,电子邮件)的信道标识符、与第一客户端设备相关联并且与从其接收到命令的信道相关联的第一用户标识(例如,user@email)、目的地标识(例如,第二用户标识、电话号码)和与目的地标识符相对应的目的地信道标识符(例如,sms)关联在一起。在一些示例中,对话转换/中继模块314可以将该信息存储在表的单行中,其中表的行表示不同的对话会话。例如,对话转换/中继模块314可以从第一客户端设备接收包含文本“new_conv+11234567890”的电子邮件。作为响应,对话转换/中继模块314可以在类似于如下所示的示例的表1中创建行:表1在一些示例中,对话转换/中继模块314可以添加用以识别对话会话的cmm生成的会话标识符,并且更容易地检索对话会话数据以便更快地中继消息。对话转换/中继模块314可以使用该表来通过sms信道(例如,经由与cmm相关联的电话号码并且通过向+11234567890发送消息)向第二设备中继通过电子邮件信道(经由user@email.com)从第一设备接收的(例如,通过电子邮件信道以cmm@email.com接收的)消息。在一些示例中,该表可以用于反向中继消息(即,通过sms信道从第二设备接收消息并且通过电子邮件信道将它们发送给第一设备)。在一些示例中,随着接收到指定附加目的地标识的更多命令,可以添加更多列。为了便于加入附加方,对话转换/中继模块314可以向用户提供cmm生成的会话标识符,使得用户可以将cmm生成的会话标识符包括在还包括待添加的附加目的地标识的命令中。在一些示例中,用户指定与目的地标识相关联的信道标识符。在其他示例中,对话转换/中继模块314可以检测最合适的目的地信道标识符(例如,十一、十或七个数字的串可以与sms标识符相关联;“@username”可以与社交媒体标识符相关联;“@____com”可以与电子邮件标识符相关联;等等)。在另一示例中,所接收的命令可以包括指定对话会话标识符(例如,会谈名称)的参数。在这个示例中,对话转换/中继模块314可以将从其接收到命令的信道的信道标识符(例如,电子邮件)、与第一客户端设备相关联并且与从其接收到命令的信道相关联的第一用户标识(例如,user@email.com)、目的地标识(例如,第二用户标识、电话号码)、以及与目的地标识符相对应的目的地信道标识符(例如,sms)关联在一起。例如,对话转换/中继模块314可以从第一客户端设备接收包含文本“new_convussenterprise”的电子邮件。作为响应,对话转换/中继模块314可以在类似于下面说明的示例表2的表中创建第一行(不包括粗体标题)。然后,对话会话标识符可以通过任何方法(例如,口口相传、广告等)进行共享,并且第二用户可以发送第二设备要加入对话会话的请求,请求包括命令(例如,“join_conv”)和对话会话标识符(例如,“ussenterprise”)。例如,对话转换/中继模块314可以通过sms信道从第二设备接收包含文本“join_convussenterprise”的sms。作为响应,对话转换/中继模块314可以创建如下所示的示例表2的第二行(不包括粗体标题)。信道标识符用户标识对话会话标识符电子邮件user@email.comussenterprisesms+11234567890ussenterprise表2对话转换/中继模块314可以使用该表通过sms信道(例如,经由与cmm相关联的电话号码并且通过将消息发送至+11234567890)来向第二设备中继通过电子邮件信道(经由user@email.com)从第一设备接收的(例如,通过电子邮件信道在cmm@email.com处接收的)消息。在一些示例中,该表可以用于反向中继消息(即,通过sms信道从第二设备接收消息并且通过电子邮件信道将它们发送给第一设备)。注意,在本文中使用术语时,取决于消息流的方向,目的地信道是指消息所针对的信道。目的地信道根据从其接收消息的客户端设备而变化。例如,在上面的示例中,“user@email.com”可以向cmm发送电子邮件。目的地信道可以与已加入对话会话并且具有相关联的信道标识符和用户标识的任何客户端设备相关联(例如,上面具有用户标识+11234567890的sms信道)。例如,当与sms关联的客户端设备回复时,目的地信道将成为电子邮件信道。还要注意,cmm框架310通过上述的对话转换/中继模块314功能来提供跨越两个或更多个信道的对话方法。在一些示例中,对话转换/中继模块314可以被编程为接收对话会话的密码。例如,命令和/或请求的附加参数可以包括密码参数(例如,“new_conv<ussenterprise><borgscum>”、“join_conv<ussenterprise><borgscum>”)。或者,在接收到命令或请求时,对话转换/中继模块314可以分别提示用户创建或输入密码。在一些示例中,对话转换/中继模块314可以被编程为接收升级命令。响应于升级命令,对话转换/中继模块314可以将管理员权限与用户标识相关联。在一些示例中,对话转换/中继模块314可以另外地或替代地向创建对话会话的用户(或被识别为管理员的另一用户)通知:用户已经请求加入对话会话并且请求创建者(或管理员)批准以将对话会话标识符与正在请求加入的用户相关联。在一些示例中,对话转换/中继模块314可以被配置为接收终止命令。在这些示例中,所接收的用以终止的命令可以引起对话转换/中继模块314解除对话会话标识符与对话会话中的一个或多个用户的关联。在一些示例中,对话转换/中继模块314还可以接收和响应于各种查询,诸如例如关于哪些用户标识与对话会话标识符相关联的查询、关于哪个对话会话标识符与当前对话框相关联的查询、和对帮助菜单的查询。在一些示例中,对话转换/中继模块314可以转换从一个信道接收的消息以与目的地信道的特性相一致。信道的特性可以包括例如通信格式(例如,消息正文包括文本、音频、视频等中的一个或多个;信道的约束(例如,信道仅接受最多140个字符或160个字符消息);等等)、信道协议(例如,语法和语义要求;参数;协议分层;与应用、传输、互联网和/或网络接口层适当交互的要求等),等等。对话转换/中继模块314可以包括编译器、汇编器、链接编辑器或加载器中的一个或多个,以转换所接收的消息。在一些示例中,对话转换/中继模块314可以升级或降级所接收的消息的保真度(例如,内容丰富度)。低保真信道包括具有更稀疏内容的信道,诸如例如sms、消息、电子邮件、网页、调查、问卷、其他形式等。高保真信道的内容更丰富,诸如例如语音、视频会议、全息图等。为了升级或降级所接收的消息的保真度,对话转换/中继模块314包括各种转换模块,诸如视频到语音、语音到文本、图片到网络链接等模块,以使消息符合信道的特性。例如,用户可以创建包括具有相关联音频(其描述图片)的图片的消息,以便发送(经由中等到高保真度的第一信道)给仅接受140个字符的文本消息的基于文本的信道(即,低保真信道)。用户将消息发送给cmm,并且为了中继消息,对话转换/中继模块314可以将音频转换为文本,对话转换/中继模块314可以以140个字符的“块”将文本中继给与基于文本的信道相关联的客户端设备。为了中继图片,对话转换/中继模块314可以临时存储图片,并且向与基于文本的信道相关联的客户端设备发送包括网络链接的消息,以便能够访问图片。在一些示例中,对话转换/中继模块314可以至少部分基于对话会话信息向与目的地信道相关联的客户端设备中继所接收的消息。对话转换/中继模块314可以经由授权cmm框架310在其上操作的信道来接收消息(例如,cmm已经向该信道注册,cmm具有与客户端设备向其发送消息的信道相关联的账户,客户端设备通过该信道向cmm发送了消息,或者cmm以其他方式被配置为在该信道上操作,如上所述),并且对话转换/中继模块314可以根据目的地信道的需要转换所接收的消息。在一些示例中,对话转换/中继模块314可以查找诸如上面的示例表1和2等表中的条目,以确定是否需要转换并且确定可能需要哪些转换以使所接收的消息与目的地信道的特性相一致。在检查是否需要转换以及进行任何所需的转换之后,对话转换/中继模块314可以将(转换后的)接收的消息发送给与目的地信道相关联的客户端设备。为了发送转换后的接收的消息,对话转换/中继模块314可以从与cmm相关联的账户和相应的信道(或者但是,cmm可以被配置为在相应的信道上操作,如以上讨论的)向与目的地信道相关联的客户端设备发送消息(例如,经由与目的地信道相关联的用户标识)。cmm可以类似地向第一设备和与目的地信道相关联的任何其他设备中继从与目的地信道相关联的客户端设备接收的消息。此外,cmm框架310可以确保通过改变用户正在使用的信道来保留会谈的会谈上下文。例如,通信日志模块316可以包括计算机可执行指令,这些计算机可执行指令在执行时将处理单元302编程为捕获和存储客户端设备之间的和/或客户端设备与cmm框架310之间的通信。在一些示例中,通信日志模块316可以捕获客户端设备之间的和/或客户端设备与cmm框架310之间的通信的至少一部分。在一些示例中,通信日志模块316可以将通信存储在通信日志中。在一些示例中,通信日志模块316可以将通信保持在通信日志中持续一段时间(例如,对话的持续时间,用户预定的持续时间,直到用户与代理分离,直到与通信日志相关联的用户简档被删除或停用,一周,一年,五年)。在一些示例中,通信日志模块316可以加密通信日志。在一些示例中,通信日志可以由设备300的安全策略来保护。在一些示例中,通信日志模块316可以向用户提供开始、停止或从不记录通信的选项。通信模块316还可以允许用户选择可以从其捕获和/或存储通信日志的客户端设备、信道和格式。在一些示例中,通信日志可以由对话转换/中继模块314或会话跟踪模块318访问,以提供无缝对话(例如,用户跨设备、语言、信道等与另一用户对话而无需访问其他服务或重新启动对话会话的能力)。例如,对话转换/中继模块314可以包括消息智能服务,其使用自然语言处理、消歧和/或其他处理方法来检测服务触发、用户的文化背景和/或来自通信日志和/或正在进行的对话的关于用户的其他传记数据。对话转换/中继模块314可以使用这些服务来识别客户端设备何时已经给出与跨信道通信相关的命令和/或请求(例如,当cmm框架310已经被用户许可以通过信道访问对话时,检测到来自对话框的发起跨信道通信会话的命令)。为了识别命令、请求和/或其他跨信道通信相关通信,对话转换/中继模块314可以包括自然语言处理、语音到文本技术、视频到文本技术和/或其他语义消歧技术以及将对话转换为自然语言处理服务可用的格式以识别代理的服务何时可能相关的技术。在一些示例中,对话转换/中继模块314可以被编程为连续监测用于命令、请求和/或其他跨信道通信相关通信的对话。在其他示例中,对话转换/中继模块314可以被编程为在用户的方向上、在一天中的特定时间、在特定信道上、在用户和特定的其他客户端设备之间、针对用于具有一定级别的权限和/或安全性的信道等,来监测用于命令、请求和/或其他跨信道通信的对话。在一些示例中,对话转换/中继模块314可以促进改变后的信道之间的对话的无缝连续。在一些示例中,将对话移动到另一信道、向信道添加通信形式或向对话会话添加信道的决定可以至少部分基于由会话跟踪模块318收集的数据。在一些示例中,会话跟踪模块318可以跟踪会话数据,诸如例如指示的用户偏好、与信道使用相关的元数据(例如,用户使用的信道、客户端设备和/或信道的活动/不活动状态、关于信道和/或客户端设备的使用的分析、在不同客户端设备上或多或少常用的信道等)、消息内容或元数据(例如,发送和/或接收的时间消息、发送的位置消息、接收的位置消息、使用的信道和/或客户端设备、消息内容、对话数据、在对话中传送的各方的身份、消息格式)等。在一些示例中,会话跟踪模块318可以至少部分基于以下中的一个或多个来检测用户正在使用的信道的变化:用户活动量、经由一个信道的通信的停止和在第二信道中的通信的开始或继续、一天中的时间、活动状态、用户指示为使用中信道的信道、优选信道、已经从其接收到最近通信的信道、或者至少部分基于时间、用户的位置、与从信道接收的通信相关联的ip地址、日历事件或设备的状态中的一个或多个而被优选为正在使用的信道。至少部分基于这些中的一个或多个,对话转换/中继模块314可以附加地向新信道中继数据,同时停止或继续向先前的信道中继数据。在一些示例中,对话转换/中继模块314可以向新信道提供对话的上下文(例如,对话转换/中继模块314可以请求由通信日志模块316存储的通信日志的一部分,并且向与新信道相关联的客户端设备中继通信日志的一部分)。例如,对话转换/中继模块314可以提供在最近的时间帧(例如,最后10分钟、最后一小时、最后一天、最后一周等)内在对话中中继的消息或者最近中继的所定义数目的消息(例如,中继的最后10条消息、与对话会话相关联的由每个用户中继的最后10条消息、中继的最后100条消息等)。示例用户界面图4至图6描绘了可以通过其部署本文中描述的技术的示例用户界面。特别地,图4至图6描绘了用于向不同信道发送消息和从不同信道接收消息的与不同信道和客户端设备相关联的示例用户界面。图4描绘了与sms信道相关联的示例用户界面400和用于sms信道的用户标识402(即,为了理解而在图4中描绘的+1123-456-7890)和名为“斯波克的通信器”的客户端设备。示例用户界面400包括对具有与其相关联的电话号码406的“跨信道管理器”联系人404的引用。示例用户界面400中的消息(408(1)至408(6))的视觉表示对应于通过信道发送和接收的消息。示例用户界面400包括消息表示408(1),消息表示408(1)包括用于发起名为“ussenterprise”的跨信道通信会话的命令。在将该消息发送给cmmsms号406(即,+1123-123-1231)之后,cmm可以将从其接收到命令的电话号码(即,+11234567890)(该电话号码可以是用户标识402(即,+1123-456-7890))、从其接收到命令的客户端设备(即,斯波克的通信器)、信道标识符(即,sms)、或对话会话标识符(即,ussenterprise)中一个或多个相关联,如上所述。然后,用户可以为要加入跨信道通信会话的其他用户(或者在一些示例中,要从不同的信道加入会话的用户)传播对话会话标识符。例如,用户可以将对话会话标识符口头传达给其他个人,在发布或广告中包括会话标识符,和/或通过信道(例如,电子邮件到电子邮件等)传送对话会话标识符,等等。在其他用户已经加入跨信道通信会话之后,如示例消息表示408(2)所示,在一些示例中,可以由cmm向已经加入跨信道的通信信道的客户端设备中继示例用户界面400内的另外通信。例如,消息表示408(3)表示用户发送到cmm的消息,cmm随后向与消息表示408(2)中表示的用户标识和信道相关联的客户端设备中继这个消息。取决于信道保真度,用户可能需要在经由信道发送的消息中包括对话会话标识符(例如,如果信道具有如此低保真度以至于它不提供“会谈”,其中信道或信道界面将属于一个对话(例如,对话的相同方)的消息分组在一个界面或会话中)。如消息表示408(4)至408(6)所示,可以由cmm向客户端设备中继由已经加入对话会话的其他客户端设备并且根据对话会话向cmm发送的消息。图5描绘了与生产力服务信道相关联的示例用户界面500和名为“lt.uhura的控制台”的客户端设备。示例用户界面500示出了加入对话会话的其他客户端设备之一的视角、“ussenterprise”、以及在图4所示的示例用户界面400中中继和表示的消息的表示。在一些示例中,为了加入跨信道通信会话,与“lt.uhura的控制台”相关联的用户必须首先获知对话会话标识符“ussenterprise”。例如,用户可以将对话会话标识符口头传达给其他个人,在发布或广告中包括会话标识符,和/或通过信道(例如,电子邮件到电子邮件等)传送对话会话标识符,等等。一旦得知对话会话标识符,用户可以向cmm发送加入请求,如消息请求502(1)所示。在一些生产力服务中,用户可能先前已经将与cmm相关联的用户账户添加到群组会谈,而不是直接联系与cmm相关联的账户。在这些示例中,用户可以在群组会谈中输入请求,并且cmm(能够通过与群组会谈中的cmm相关联的用户账户(例如,用于服务的cmm账户)来访问会谈)可以检测来自群组会谈的请求。在另一示例中,用户可以经由上述任何其他方式加入对话会话。cmm可以向群组会谈提供确认,如消息表示502(2)所示。在一些示例中,cmm还可以提供关于加入对话会话的其他用户的信息,如消息表示502(3)所示。消息表示502(4)示出了经由与之相关联的生产力服务信道和用户标识(即,lt.uhura,参见图4的消息表示408(2))而被中继到客户端设备“lt.uhura的控制台”的消息。消息表示502(4)还描绘了中继消息的“批量”递送。在一些示例中,可以按照每个作者、每条消息、每次推送或拉取,或其任何组合来递送和/或显示中继的消息。图6描绘了与电子邮件信道和用户标识“scotty@starfleet.com”相关联的示例用户界面600。在一些示例中,用户标识还可以与客户端设备相关联。示例用户界面600示出了与加入对话会话的信道相关联的用户标识“ussenterprise”的透视图、以及在示例用户界面400和500中中继和表示的消息的表示。在一些示例中,为了加入跨信道通信会话,与“scotty@starfleet.com”相关联的用户必须首先了解对话会话标识符“ussenterprise”。例如,用户可以将对话会话标识符口头传达给其他个人,在发布或广告中包括会话标识符,和/或通过信道(例如,电子邮件到电子邮件等)传送对话会话标识符,等等。一旦得知对话会话标识符,用户可以向cmm发送加入请求,如消息表示602(1)所示。在另一示例中,用户可以经由上述任何其他方式加入对话会话。在一些示例中,cmm还可以提供关于加入对话会话的其他用户的信息,如消息表示602(2)所示。消息表示602(3)、602(5)和602(6)示出了在电子邮件信道(目的地scotty@starfleet.com)处中继到用户标识的消息。消息表示602(4)是从电子邮件scotty@starfleet.com发送到cmm的消息(在这个示例中通过回复cmm@emailservice.com),cmm然后向与对话会话相关联的客户端设备中继电子邮件的内容(在必要时转换),如图3至图5所示。图6还示出了单独显示消息表示的一个示例。注意,在这些示例中,与各个信道相关联的每个示例用户界面接收并且显示通过其他信道创建和发送的消息。示例过程图7至图9示出了示例过程700、800和900,其可以全部或部分地执行。这些过程可以但非必须在图1的环境100中、在场景300中、和/或使用图3的设备300来执行。图7描绘了实现跨信道通信的说明性过程700。在702处,系统可以以本文中描述的任何方式经由i/o接口322和/或网络接口324从与第一信道相关联的第一设备接收用以发起跨信道通信会话的命令。例如,对话转换/中继模块314可以如上所述接收命令并且建立跨信道通信会话。在704处,系统可以以本文中描述的任何方式经由i/o接口322和/或网络接口324从与第二信道相关联的计算设备接收用以加入跨信道通信会话的请求。例如,对话转换/中继模块314可以如上所述接收请求并且将第二信道和计算设备添加到跨信道通信会话。在706处,系统可以通过cmm框架310从第一信道向第二信道中继通信,其中从第一信道向第二信道中继通信可以包括经由i/o接口322和/或网络接口324经由第一信道从与第一用户相关联的第一客户端设备接收消息(706(a)),并且经由i/o接口322和/或网络接口324经由第二信道向与第二用户相关联的第二客户端设备发送消息(706(b))。图8描绘了实现跨信道通信的说明性过程800。在802处,诸如客户端设备等设备可以引起用于通过第一信道(例如,示例用户界面400、500和600)发送和接收消息的界面的显示。尽管示例用户界面400、500和600是图形用户界面,但是该技术可以包括其他界面,诸如例如触摸、音频、命令行等界面。在一些示例中,802的界面可以与第一信道相关联。在804处,设备可以以本文中描述的任何方式通过第一信道发送消息,该消息包括启用跨信道通信的命令。在806处,通过cmm框架310的操作,设备可以向不同信道发送消息和从不同信道接收消息并且显示经由界面发送和接收的消息的表示。图9描绘了实现跨信道通信的说明性过程900。在902处,该过程包括建立跨信道通信会话。例如,形成跨信道通信会话可以包括:经由第一信道从第一客户端设备接收命令,并且将至少第一信道的标识符、与第一用户相关联并且对应于第一信道的用户标识、以及跨信道会话标识符相关联。在一些示例中,对话转换/中继模块314可以接收命令。在一些示例中,跨信道通信会话的建立可以还包括经由第二信道从第二客户端设备接收用以加入跨信道通信会话的请求,并且响应于该请求,将至少第二信道的标识符、与第二用户相关联并且对应于第二信道的用户标识、以及跨信道会话标识符相关联。在一些示例中,对话转换/中继模块314可以接收请求并且将标识符、用户标识和跨信道会话标识符关联在一起。在904处,该过程包括经由跨信道通信会话(例如,经由如上所述的cmm框架310)在第一信道与第二信道之间中继消息,其可以包括经由第一信道接收第一消息(904(a)),经由第二信道发送第一消息(904(b)),经由第二信道接收第二消息(904(c)),并且经由第一信道发送第二消息(904(d))。示例条款a.一种方法,包括:经由第一信道并且从与所述第一信道相关联的第一计算设备接收用以发起跨信道通信会话的命令;经由第二信道并且从与所述第二信道相关联的第二计算设备接收用以加入所述跨信道通信会话的请求,所述第二信道与所述第一信道不同;以及至少部分基于接收到所述命令和所述请求,通过经由所述第一信道从所述第一客户端设备接收消息并且经由所述第二信道向所述第二客户端设备发送所述消息,来从所述第一计算设备向所述第二计算设备中继通信。b.根据段落a所述的方法,还包括:至少部分基于用户账户数据来识别与用户相关联的第三信道,所述用户与所述第一客户端设备或所述第二客户端设备中的至少一个客户端设备相关联;以及向所述第三信道中继在所述第一信道与所述第二信道之间的通信。c.根据段落a或b所述的方法,其中:所述命令包括第一命令和会谈名称;以及其中所述请求包括第二命令和所述会谈名称。d.根据段落a至c中任一项所述的方法,还包括存储:所述会谈名称,与第一用户相关联的用户账户数据,所述第一用户与所述第一信道相关联,与第二用户相关联的用户账户数据,所述第二用户与所述第二信道相关联,以及所述第一信道的标识符和所述第二信道的标识符。e.根据段落a至d中任一项所述的方法,其中所述用户账户数据包括用户名或用户标识符,并且不含用户账户凭证。f.根据段落a至e中任一项所述的方法,还包括至少部分基于以下一项或多项来选择用来向其中继通信的第三信道:所述第三信道的指示的用户偏好,与信道使用相关的元数据,或者消息内容或元数据。g.根据段落a至f中任一项所述的方法,还包括:至少部分基于选择所述第三信道,中断经由所述第一信道或所述第二信道的通信;以及在所述第一信道或所述第二信道中的剩余信道与所述第三信道之间中继通信。h.根据段落a至g中任一项所述的方法,还包括至少部分基于选择所述第三信道,在所述第三信道上复制在所述第一信道与所述第二信道之间的通信。i.根据段落a至h中任一项所述的方法,还包括存储关于多个代理账户的信息,所述多个代理账户允许跨信道通信管理器通过与所述代理账户相对应的信道进行通信,与所述代理账户相对应的所述信道包括所述第一信道和所述第二信道。j.根据段落a至i中任一项所述的方法还包括:在与所述第一信道相关联的第一代理账户处从所述第一计算设备接收所述消息;以及从与所述第二信道相关联的第二代理账户向所述第二计算设备发送所述消息。k.一种方法,包括:引起用于通过第一信道发送和接收消息的界面的显示;通过所述第一信道发送消息,所述消息包括用以启用跨信道通信会话的命令;以及经由所述第一信道的界面并且通过第一信道,并且至少部分基于所述跨信道通信会话,向第二信道发送消息以及从所述第二信道接收消息。l.根据段落k所述的方法,其中所述界面是第一界面,所述方法还包括:显示用于通过第三信道发送和接收消息的第二界面;通过所述第三信道发送消息,所述消息包括用以加入所述跨信道通信会话的命令;响应于加入所述跨信道通信会话:经由所述第二界面显示从所述第二信道向所述第一信道发送的消息;经由所述第二界面显示从所述第一信道向所述第二信道发送的消息;以及经由所述第二界面并且通过所述第三信道,向所述第一信道和所述第二信道发送消息以及从所述第一信道和所述第二信道接收消息。m.一种方法,包括:建立跨信道通信会话;经由所述跨信道通信会话在第一信道与第二信道之间中继消息,所述中继包括:经由所述第一信道接收第一消息;经由所述第二信道递送所述第一消息;经由所述第二信道接收第二消息;以及经由所述第一信道递送所述第二消息。n.根据段落m所述的方法,其中建立所述跨信道通信会话包括:经由所述第一信道并且从第一客户端设备接收用以建立所述跨信道通信会话的命令;将所述第一信道的标识符、与第一用户相关联并且与所述第一信道相对应的用户标识、和会话标识符关联在一起;经由第二信道并且从第二客户端设备接收用以加入所述跨信道通信会话的请求;以及至少部分响应于接收到所述请求,将所述第二信道的标识符、与第二用户相关联并且与所述第二信道相对应的用户标识、和所述跨信道会话标识符关联在一起。o.根据段落m或n所述的方法,还包括:识别与所述第一用户或所述第二用户中的特定用户相关联的第三信道;识别与所述第三信道相对应并且与所述特定用户相关联的用户标识;以及将所述第三信道的标识符、与所述特定用户相关联的用户标识、和所述会话标识符关联在一起。p.根据段落m至o中任一项所述的方法,还包括:接收终止命令;以及将所述跨信道通信会话与信道标识符和用户标识符解除关联。q.根据段落m至p中任一项所述的方法,还包括:存储与所述第一信道相关联的用户简档;识别与所述用户简档相关联的第三信道;检测与所述第三信道相关的活动的变化;以及附加地向所述第三信道中继所述消息。r.根据段落m至q中任一项所述的方法,还包括至少部分基于检测所述活动变化:向与所述第三信道相关联的客户端设备中继所述第一信道与所述第二信道之间的通信;经由所述第三信道从与所述第三信道相关联的客户端设备接收通信;以及从与所述第三信道相关联的客户端设备向与所述第一信道和所述第二信道相关联的客户端设备中继通信。s.根据段落m至r中任一项所述的方法,其中所述活动变化包括以下一项或多项的变化:信道元数据;客户设备元数据;消息内容或元数据;用户指示;关于用户的元数据;或用户简档数据。t.根据段落m至s中任一项所述的方法,还包括:存储与所述第一信道相关联的用户简档;识别与所述用户简档相关联的第三信道;检测与所述第三信道相关的活动的变化;以及至少部分响应于检测所述活动的变化而向所述第三信道而不是所述第一信道中继所述消息。一种计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令在执行时将计算机编程为执行根据段落a至j中任一项所述的方法。一种计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令在执行时将计算机编程为执行根据段落k或l所述的方法。一种计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令在执行时将计算机编程为执行根据段落m至t中任一项所述的方法。一种系统,包括:一个或多个处理器;以及计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令用以将所述一个或多个处理器配置为执行根据段落a至j中任一项所述的方法。一种系统,包括:一个或多个处理器;以及计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令用以将所述一个或多个处理器配置为执行根据段落k或l所述的方法。一种系统,包括:一个或多个处理器;以及计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令用于将所述一个或多个处理器配置为执行根据段落m至t中任一项所述的方法。一种系统,包括:用于处理的装置;用于存储的装置;以及用于执行根据段落a至j中任一项所述的方法的任何步骤的装置。一种系统,包括:用于处理的装置;用于存储的装置;以及用于执行根据段落k或l所述的方法的任何步骤的装置。一种系统,包括:用于处理的装置;用于存储的装置;以及用于执行根据段落m至t中任一项所述的方法的任何步骤的装置。结论尽管用结构特征和/或方法动作所特定的语言描述了本主题,但应当理解,所附权利要求书中定义的主题并非必然限于所描述的特定特征或动作。相反,特定特征和动作被公开作为实现权利要求的示例形式。本文中描述的模块表示可以存储在任何类型的计算机可读介质中并且可以以软件和/或硬件实现的指令。上述所有方法和过程可以通过由一个或多个计算机或处理器、硬件或其某种组合执行的软件代码模块和/或计算机可执行指令来实施并且完全经由其而自动化。替代地,一些或所有方法可以在专用计算机硬件中实施。除非另外特别说明,否则诸如“能(can)”、“能够(could)”、“可(may)”或“可以(might)”等条件语言在上下文中被理解为表示某些示例包括而其他示例不包括某些特征、元素和/或步骤。因此,这样的条件语言通常并非旨在暗示某些特征、元素和/或步骤对于一个或多个示例以任何方式是必需的,也并非旨在暗示一个或多个示例必须包括用于在有或没有用户输入或提示的情况下决定在任何特定示例中是否包括或将要执行某些特征、元素和/或步骤的逻辑。除非另外特别说明,否则诸如短语“x、y或z中的至少一个”等连接性语言应当被理解为存在可以是x、y或z的项目、术语等等或其任何组合。除非明确描述为单数,否则“一个(a)”表示单数和复数。本文中描述和/或附图中描绘的流程图中的任何例程描述、元素或方框应当被理解为潜在地表示包括用于实现例程中的特定逻辑函数或元素的一个或多个计算机可执行指令的代码模块、代码片段或代码部分。替代实现被包括在本文中描述的示例的范围内,其中元素或功能可以被删除,或者不按照所示出或讨论的顺序执行,包括基本上同步或以相反的顺序执行,这取决于所涉及的功能,如本领域技术人员将理解的。应当强调的是,可以对上述示例进行很多变化和修改,其中的元素应当被理解为是其他可接受的示例。所有这样的修改和变化旨在被包括在本公开的范围内并且由所附权利要求进行保护。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1