HK1195375B - Multi-data type communications system - Google Patents
Multi-data type communications system Download PDFInfo
- Publication number
- HK1195375B HK1195375B HK14108656.2A HK14108656A HK1195375B HK 1195375 B HK1195375 B HK 1195375B HK 14108656 A HK14108656 A HK 14108656A HK 1195375 B HK1195375 B HK 1195375B
- Authority
- HK
- Hong Kong
- Prior art keywords
- call
- communication
- communication sequence
- channel
- real
- Prior art date
Links
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求2011年5月16日提交的序列号为61/486,531、题目为“COMMUNICATIONSSYSTEM”的美国临时专利申请的权益,所有申请的全部公开内容通过引用并入本文。This application claims the benefit of U.S. Provisional Patent Application Serial No. 61/486,531, filed May 16, 2011, entitled "COMMUNICATIONS SYSTEM," the entire disclosure of which is incorporated herein by reference.
技术领域Technical Field
本发明涉及通信系统,更具体而言,涉及多数据类型通信系统。The present invention relates to a communication system, and more particularly, to a multi-data type communication system.
背景技术Background Art
在与商业相关的互动及私人互动二者中常常使用多种通信系统及机制。可用的通信系统可常常左右人们彼此互动的方式。可能常常须使通信及表达强行通过无效的通信介质。有时,由通信模态提供的限制(比如仅音频、仅文字、仅二方、仅同步或仅异步等)可使观念的表达受到局限及限制。结果可使个体具有不完全或不充足的表达、通信或互动能力。A variety of communication systems and mechanisms are often used in both business-related and personal interactions. The available communication systems often influence how people interact with one another. Communication and expression may often have to be forced through ineffective communication media. Sometimes, the limitations imposed by the communication modality (e.g., audio only, text only, two-way only, synchronous only, or asynchronous only) can restrict and limit the expression of ideas. Consequently, individuals may have incomplete or insufficient expression, communication, or interaction capabilities.
发明内容Summary of the Invention
根据第一实施方式,一种方法可包括接收用户的认证请求。可以经由与用户相关联的第三方应用程序产生认证通信。方法还可包括将认证通信传输至认证系统。According to a first embodiment, a method may include receiving an authentication request from a user, generating an authentication communication via a third-party application associated with the user, and transmitting the authentication communication to an authentication system.
可以包括以下特征中的一个或多个。所述认证请求可包括与第三方应用程序相关联的认证请求。所述第三方应用程序可包括电子邮件通信应用程序、SMS通信应用程序、即时消息应用程序、及社交网络应用程序中的一个或多个。One or more of the following features may be included: The authentication request may include an authentication request associated with a third-party application. The third-party application may include one or more of an email communication application, an SMS communication application, an instant messaging application, and a social networking application.
产生认证通信可包括将认证请求传输至第三方应用程序。产生认证通信可包括预填充包括用户标识的通信内容。产生认证通信可包括预填充包括认证码的通信内容。产生认证通信可包括预填充通信接收者。产生认证通信可包括接收与通信应用程序相关联的用户凭证。方法可进一步包括认证所述用户。Generating the authentication communication may include transmitting an authentication request to a third-party application. Generating the authentication communication may include pre-populating the communication content including a user identification. Generating the authentication communication may include pre-populating the communication content including an authentication code. Generating the authentication communication may include pre-populating a communication recipient. Generating the authentication communication may include receiving user credentials associated with the communication application. The method may further include authenticating the user.
根据另一实施方式,一种计算机程序产品包括其上存储有多个指令的计算机可读介质。在由处理器执行时,所述指令可使所述处理器执行包括接收用户的认证请求的操作。也可包括用于经由与用户相关联的第三方应用程序而产生认证通信的指令。可进一步包括用于将认证通信传输至认证系统的指令。According to another embodiment, a computer program product includes a computer-readable medium having a plurality of instructions stored thereon. When executed by a processor, the instructions may cause the processor to perform operations including receiving an authentication request from a user. The instructions may also include instructions for generating an authentication communication via a third-party application associated with the user. The instructions may further include instructions for transmitting the authentication communication to an authentication system.
根据另一实施方式,一种方法可包括接收请求以启动与第三方的通信。可以提供多个通知选项。可以接收多个通知选项之一的选择。可以至少部分地基于多个通知选项中所选择的一个来将通知传输至第三方。According to another embodiment, a method may include receiving a request to initiate communication with a third party. A plurality of notification options may be provided. A selection of one of the plurality of notification options may be received. A notification may be transmitted to the third party based at least in part on the selected one of the plurality of notification options.
可以包括以下特征中的一个或多个。所述方法还可包括接收与第三方相关联的上下文信息。提供多个通知选项可进一步包括提供与第三方相关联的上下文信息。所述上下文信息可包括位置信息与轨迹信息中的一个或多个。所述上下文信息可包括与通信装置相关联的活动信息,所述通信装置与第三方相关联。The method may include one or more of the following features. The method may also include receiving contextual information associated with a third party. Providing multiple notification options may further include providing contextual information associated with the third party. The contextual information may include one or more of location information and trajectory information. The contextual information may include activity information associated with a communication device associated with the third party.
多个通知选项可包括一个或多个预定义对话选项。所述一个或多个预定义对话选项可包括所建议的通信模态。所述一个或多个预定义对话选项可包括状态请求。The plurality of notification options may include one or more predefined dialog options. The one or more predefined dialog options may include a suggested communication modality. The one or more predefined dialog options may include a status request.
所述方法还可包括从第三方接收对通知的回复。所述方法还可包括至少部分基于对通知的回复,启动与第三方的通信。The method may further include receiving a reply to the notification from the third party.The method may further include initiating communication with the third party based at least in part on the reply to the notification.
根据另一实施方式,一种计算机程序产品包括其上存储有多个指令的计算机可读介质。在由处理器执行时,所述指令可使所述处理器执行包括接收请求以启动与第三方的通信的操作。可提供多个通知选项。可接收多个通知选项之一的选择。可至少部分地基于多个通知选项中所选择的一个来将通知传输至第三方。According to another embodiment, a computer program product includes a computer-readable medium having a plurality of instructions stored thereon. When executed by a processor, the instructions may cause the processor to perform operations including receiving a request to initiate communication with a third party. A plurality of notification options may be provided. A selection of one of the plurality of notification options may be received. A notification may be transmitted to the third party based at least in part on the selected one of the plurality of notification options.
根据另一实施方式,一种方法可包括接收请求以经由信道启动呼叫。可识别与信道相关联的呼叫参与者集合。可传输与呼叫相关联的通信序列。所述通信序列可至少包括实时介质数据类型及公告数据类型。可将通信序列传输至呼叫。According to another embodiment, a method may include receiving a request to initiate a call via a channel. A set of call participants associated with the channel may be identified. A communication sequence associated with the call may be transmitted. The communication sequence may include at least a real-time media data type and an announcement data type. The communication sequence may be transmitted to the call.
可以包括以下特征中的一个或多个。识别与信道相关联的呼叫参与者集合可包括访问与信道相关联的预定义信道参与者集合。识别与信道相关联的呼叫参与者集合可包括至少部分基于个体的隐式关联来定义信道参与者集合。One or more of the following features may be included: Identifying a set of call participants associated with the channel may include accessing a predefined set of channel participants associated with the channel; Identifying a set of call participants associated with the channel may include defining the set of channel participants based at least in part on implicit associations of individuals.
接收通信序列可包括接收通信序列作为实时封包化数据传输。所述实时介质数据类型可包括实时音频数据。所述实时音频数据可包括IP语音数据。所述实时音频数据可包括突发音频传输。所述张贴介质数据类型可包括视频、图像、文字、Web数据、位置数据中的一个或多个。Receiving the communication sequence may include receiving the communication sequence as a real-time packetized data transmission. The real-time media data type may include real-time audio data. The real-time audio data may include voice over IP data. The real-time audio data may include bursty audio transmission. The posted media data type may include one or more of video, image, text, web data, and location data.
将通信序列传输至呼叫可包括将通信序列传输至呼叫参与者集合的每个成员。将通信序列传输至呼叫参与者集合的每个成员可包括同步地将通信序列传输至呼叫参与者集合的至少一部分。将通信序列传输至呼叫参与者集合的每个成员可包括异步地将通信序列传输至呼叫参与者集合的至少一部分。Transmitting the communication sequence to the call may include transmitting the communication sequence to each member of the set of call participants. Transmitting the communication sequence to each member of the set of call participants may include synchronously transmitting the communication sequence to at least a portion of the set of call participants. Transmitting the communication sequence to each member of the set of call participants may include asynchronously transmitting the communication sequence to at least a portion of the set of call participants.
所述方法还可包括记录与呼叫相关联的通信序列。记录与呼叫相关联的通信序列可包括定义通信序列的每个通信与呼叫之间的关联。记录与呼叫相关联的通信序列可包括定义呼叫与信道之间的关联。记录与呼叫相关联的通信序列可包括定义呼叫参与者集合的每个成员与信道之间的关联。记录与呼叫相关联的通信序列可包括定义与呼叫相关联的访问控制。The method may further include recording a communication sequence associated with the call. Recording the communication sequence associated with the call may include defining an association between each communication in the communication sequence and the call. Recording the communication sequence associated with the call may include defining an association between the call and a channel. Recording the communication sequence associated with the call may include defining an association between each member of the set of call participants and a channel. Recording the communication sequence associated with the call may include defining access controls associated with the call.
根据另一实施方式,一种计算机程序产品包括其上存储有多个指令的计算机可读介质。在由处理器执行时,所述指令可使所述处理器执行包括接收请求以经由信道启动呼叫的操作。所述指令还可使所述处理器识别与信道相关联的呼叫参与者集合。所述指令还可使所述处理器接收与呼叫相关联的通信序列。所述通信序列可至少包括实时介质数据类型及公告数据类型。所述指令还可使所述处理器将通信序列传输至呼叫。According to another embodiment, a computer program product includes a computer-readable medium having a plurality of instructions stored thereon. When executed by a processor, the instructions may cause the processor to perform operations including receiving a request to initiate a call via a channel. The instructions may also cause the processor to identify a set of call participants associated with the channel. The instructions may also cause the processor to receive a communication sequence associated with the call. The communication sequence may include at least a real-time media data type and an announcement data type. The instructions may also cause the processor to transmit the communication sequence to the call.
可以包括以下特征中的一个或多个。识别与信道相关联的呼叫参与者集合可包括访问与信道相关联的预定义信道参与者集合。识别与信道相关联的呼叫参与者集合可包括至少部分基于个体的隐式关联来定义信道参与者集合。One or more of the following features may be included: Identifying a set of call participants associated with the channel may include accessing a predefined set of channel participants associated with the channel; Identifying a set of call participants associated with the channel may include defining the set of channel participants based at least in part on implicit associations of individuals.
接收通信序列可包括接收通信序列作为实时封包化数据传输。所述实时介质数据类型可包括实时音频数据。所述实时音频数据可包括IP语音数据。所述实时音频数据可包括突发音频传输。所述张贴介质数据类型可包括视频、图像、文字、Web数据、位置数据中的一个或多个。Receiving the communication sequence may include receiving the communication sequence as a real-time packetized data transmission. The real-time media data type may include real-time audio data. The real-time audio data may include voice over IP data. The real-time audio data may include bursty audio transmission. The posted media data type may include one or more of video, image, text, web data, and location data.
将通信序列传输至呼叫可包括将通信序列传输至呼叫参与者集合的每个成员。将通信序列传输至呼叫参与者集合的每个成员可包括同步地传输该通信序列至呼叫参与者集合的至少一部分。将通信序列传输至呼叫参与者集合的每个成员可包括异步地将通信序列传输至呼叫参与者集合的至少一部分。Transmitting the communication sequence to the call may include transmitting the communication sequence to each member of the set of call participants. Transmitting the communication sequence to each member of the set of call participants may include synchronously transmitting the communication sequence to at least a portion of the set of call participants. Transmitting the communication sequence to each member of the set of call participants may include asynchronously transmitting the communication sequence to at least a portion of the set of call participants.
还可包括用于记录与呼叫相关联的通信序列的指令。记录与呼叫相关联的通信序列可包括定义通信序列的每个通信与呼叫之间的关联。记录与呼叫相关联的通信序列可包括定义呼叫与信道之间的关联。记录与呼叫相关联的通信序列可包括定义呼叫参与者集合的每个成员与信道之间的关联。记录与该呼叫相关联的通信序列可包括定义与呼叫相关联的访问控制。Instructions for recording a communication sequence associated with a call may also be included. Recording the communication sequence associated with the call may include defining an association between each communication in the communication sequence and the call. Recording the communication sequence associated with the call may include defining an association between the call and a channel. Recording the communication sequence associated with the call may include defining an association between each member of the set of call participants and a channel. Recording the communication sequence associated with the call may include defining access controls associated with the call.
根据另一实施方式,一种计算系统包括处理器及耦合至处理器的存储器。所述处理器及所述存储器可配置为执行包括接收请求以经由信道启动呼叫的操作。所述处理器及所述存储器可配置为识别与信道相关联的呼叫参与者集合。所述处理器及所述存储器还可配置为接收与呼叫相关联的通信序列。所述通信序列可至少包括实时介质数据类型及公告数据类型。所述处理器及所述存储器可进一步配置为将通信序列传输至呼叫。According to another embodiment, a computing system includes a processor and a memory coupled to the processor. The processor and the memory may be configured to perform operations including receiving a request to initiate a call via a channel. The processor and the memory may be configured to identify a set of call participants associated with the channel. The processor and the memory may also be configured to receive a communication sequence associated with the call. The communication sequence may include at least a real-time media data type and an announcement data type. The processor and the memory may further be configured to transmit the communication sequence to the call.
可以包括以下特征中的一个或多个。识别与信道相关联的呼叫参与者集合可包括访问与信道相关联的预定义信道参与者集合。识别与信道相关联的呼叫参与者集合可包括至少部分基于个体的隐式关联来定义信道参与者集合。One or more of the following features may be included: Identifying a set of call participants associated with the channel may include accessing a predefined set of channel participants associated with the channel; Identifying a set of call participants associated with the channel may include defining the set of channel participants based at least in part on implicit associations of individuals.
接收通信序列可包括接收通信序列作为实时封包化数据传输。所述实时介质数据类型可包括实时音频数据。所述实时音频数据可包括IP语音数据。所述实时音频数据可包括突发音频传输。所述张贴介质数据类型可包括视频、图像、文字、Web数据、位置数据中的一个或多个。Receiving the communication sequence may include receiving the communication sequence as a real-time packetized data transmission. The real-time media data type may include real-time audio data. The real-time audio data may include voice over IP data. The real-time audio data may include bursty audio transmission. The posted media data type may include one or more of video, image, text, web data, and location data.
将通信序列传输至呼叫可包括将通信序列传输至呼叫参与者集合的每个成员。将通信序列传输至呼叫参与者集合的每个成员可包括同步地将通信序列传输至呼叫参与者集合的至少一部分。将通信序列传输至呼叫参与者集合的每个成员可包括异步地将通信序列传输至呼叫参与者集合的至少一部分。Transmitting the communication sequence to the call may include transmitting the communication sequence to each member of the set of call participants. Transmitting the communication sequence to each member of the set of call participants may include synchronously transmitting the communication sequence to at least a portion of the set of call participants. Transmitting the communication sequence to each member of the set of call participants may include asynchronously transmitting the communication sequence to at least a portion of the set of call participants.
可为记录与所述呼叫相关联的所述通信序列进一步配置所述处理器及所述存储器。记录与呼叫相关联的通信序列可包括定义通信序列的每个通信与呼叫之间的关联。记录与呼叫相关联的通信序列可包括定义呼叫与信道之间的关联。记录与呼叫相关联的通信序列可包括定义呼叫参与者集合的每个成员与信道之间的关联。记录与呼叫相关联的通信序列可包括定义与呼叫相关联的访问控制。The processor and the memory may be further configured to record the communication sequence associated with the call. Recording the communication sequence associated with the call may include defining an association between each communication of the communication sequence and the call. Recording the communication sequence associated with the call may include defining an association between the call and a channel. Recording the communication sequence associated with the call may include defining an association between each member of a set of call participants and a channel. Recording the communication sequence associated with the call may include defining access controls associated with the call.
附图及以下说明中将陈述一个或多个实施方式的细节。其他特征将根据本说明、附图、及权利要求而变得一目了然。The details of one or more embodiments will be set forth in the accompanying drawings and the description below. Other features will be apparent from the description, drawings, and claims.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1用图解法描绘了耦合至分布式计算网络的通信程序;FIG1 diagrammatically depicts a communication process coupled to a distributed computing network;
图2为可由图1的通信程序执行的程序的流程图;FIG2 is a flow chart of a process that may be performed by the communication program of FIG1;
图3以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面;FIG3 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG1 ;
图4以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面;FIG4 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG1 ;
图5为可由图1的通信程序执行的程序的流程图;FIG5 is a flow chart of a process that may be performed by the communication program of FIG1;
图6以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面;FIG6 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG1 ;
图7以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面;FIG7 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG1 ;
图8以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面;FIG8 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG1 ;
图9以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面;FIG9 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG1 ;
图10为可由图1的通信程序执行的程序的流程图;FIG10 is a flow chart of a process that may be executed by the communication program of FIG1;
图11以图形方式描绘了可至少部分地由图1的通信程序产生的用户界面。FIG. 11 graphically depicts a user interface that may be generated, at least in part, by the communication program of FIG. 1 .
具体实施方式DETAILED DESCRIPTION
本领域技术人员将理解,可将本发明实施成一种方法、一种系统、或一种计算机程序产品。因此,本发明可采用完全硬件实施例形式、完全软件实施例形式(包括固件、常驻软件、微码等)或将软体方面与硬体方面相组合的实施例形式,此等形式在本文中皆可被统称为“电路”、“模块”或“系统”。此外,本发明可采用位于计算机可用储存介质上的计算机程序产品的形式,该计算机程序产品具有在该介质中实施的计算机可用程序代码。Those skilled in the art will appreciate that the present invention can be implemented as a method, a system, or a computer program product. Thus, the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be collectively referred to herein as a "circuit," "module," or "system." Furthermore, the present invention can take the form of a computer program product on a computer-usable storage medium, the computer program product having computer-usable program code embodied in the medium.
可利用任何适宜的计算机可用或计算机可读介质(在本文中也被称为与计算装置或客户端电子装置相关联的计算机可读介质和/或储存装置)。计算机可用或计算机可读取介质可例如为但不限于:电子的、磁性的、光学的、电磁的、红外线的、或半导体系统、设备、或装置。计算机可读介质的更具体实例(非详尽性列表)将包括:具有一条或多条导线的电性连接、便携计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、可携带光盘只读存储器(CD-ROM)、光学储存装置。在文献的上下文中,计算机可用或计算机可读介质可以是供指令执行系统、设备或装置使用,或与指令执行系统、设备或装置结合使用的可包含、储存、传送、或传输程序的任何非瞬态介质。Any suitable computer-usable or computer-readable medium (also referred to herein as a computer-readable medium and/or storage device associated with a computing device or client electronic device) may be utilized. Computer-usable or computer-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatuses. More specific examples (not an exhaustive list) of computer-readable media would include: an electrical connection having one or more conductors, a portable computer diskette, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disc read-only memory (CD-ROM), and an optical storage device. In the context of this document, a computer-usable or computer-readable medium can be any non-transitory medium that can contain, store, communicate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
用于实施本发明的操作的计算机程序码可以以面向对象程序设计语言(例如Java、Smalltalk、C++等)进行编写。然而,用于实施本发明的操作的计算机程序码也可以以传统的程序性程序设计语言(例如“C”程序设计语言或类似的程序设计语言)和/或脚本语言(例如JavaScript程序设计语言或Groovy程序设计语言)进行编写。此外,在编写计算机程序时,可使用各种应用程序设计界面(API)和/或应用程序开发框架(例如Dojo开发框架或Grail开发框架)。程序代码可完全在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包执行、部分地在用户计算机上执行及部分地在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一情形中,远程计算机可经由局域网络(LAN)或广域网(WAN)连接至用户计算机,或者可连接至外部计算机(例如,利用因特网服务供货商经由因特网)。The computer program code for implementing the operation of the present invention can be written in an object-oriented programming language (e.g., Java, Smalltalk, C++, etc.). However, the computer program code for implementing the operation of the present invention can also be written in a traditional procedural programming language (e.g., the "C" programming language or similar programming languages) and/or a scripting language (e.g., the JavaScript programming language or the Groovy programming language). In addition, when writing a computer program, various application programming interfaces (APIs) and/or application development frameworks (e.g., the Dojo development framework or the Grail development framework) can be used. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer via a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
以下将参照根据本发明各实施例的方法、设备(系统)及计算机程序产品的流程图和/或框图来描述本发明。应理解,该等流程图和/或框图的每个方框、及该等流程图和/或框图中各方框的组合可由计算机程序指令实现。此等计算机程序指令可被提供至通用计算机的处理器、专用计算机的处理器、或其他可程序化数据处理设备的处理器以形成机器,使该等指令(由计算机的处理器或其他可程序化数据处理设备的处理器执行)形成一种装置,该装置用于执行流程图和/或框图的一个或多个方框所具体指定的功能/动作。The present invention will be described below with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to various embodiments of the present invention. It should be understood that each block of such flowcharts and/or block diagrams, and combinations of blocks in such flowcharts and/or block diagrams, can be implemented by computer program instructions. Such computer program instructions can be provided to a processor of a general-purpose computer, a processor of a special-purpose computer, or a processor of other programmable data processing equipment to form a machine, so that such instructions (executed by the processor of the computer or other programmable data processing equipment) form a device that is used to perform the functions/actions specifically specified by one or more blocks of the flowcharts and/or block diagrams.
这些计算机程序指令也可储存于计算机可读取内存中,该计算机可读取内存可指导计算机或其他可程序化数据处理设备以特定方式运作,使储存于该计算机可读取内存中的该等指令形成制品,该制品包括指令以用于执行流程图和/或框图的一个或多个方框所具体指定的功能/动作。These computer program instructions may also be stored in a computer-readable memory, which may direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory form an article of manufacture, which includes instructions for executing the functions/actions specifically specified in one or more boxes of the flowchart and/or block diagram.
该等计算机程序指令也可加载于计算机或其他可程序化数据处理设备上,以便引发在该计算机或其他可程序化设备上执行的一系列运算步骤而形成由计算机执行的程序,进而由在该计算机或其他可程序化设备上执行的指令提供用于执行流程图和/或框图的一个或多个方框所具体指定的功能/动作的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device to trigger a series of operating steps executed on the computer or other programmable device to form a program executed by the computer, and the instructions executed on the computer or other programmable device provide steps for executing the functions/actions specifically specified by one or more boxes in the flowchart and/or block diagram.
参照图1,示出了通信程序10a至10d(其可被共同地和/或笼统地称为通信程序10),通信程序10a至10d可常驻于一个或多个客户端电子装置(例如,客户端电子装置12、14、16等)和/或伺服器计算机18上,并可由该一个或多个客户端电子装置和/或服务器电脑18执行。该一个或多个客户端电子装置12、14、16和/或服务器计算机18可连接至网络20(例如,因特网、局域网络、私人管辖网络、或其他网络)。客户端电子装置的实例可包括:移动计算装置(例如,智能电话12、14、平板计算装置、具数据功能的蜂巢式电话、连接网络的个人数字助理等等)、个人计算装置(例如,笔记本电脑16、桌上型电脑、游戏机等等)、连接网络的电视装置和/或机顶盒、联网的照相机装置、联网的嵌入式计算装置、以及各种其他/替代可连接网络的计算装置。服务器计算机18的实例可包括但不限于:个人计算机、服务器计算机、一系列服务器计算机、小型计算机、以及大型计算机、可包括伺服器计算机的虚拟化实例的云计算服务等等。1 , communication programs 10 a through 10 d (collectively and/or generically referred to as communication program 10 ) are shown. Communication programs 10 a through 10 d may reside on and be executed by one or more client electronic devices (e.g., client electronic devices 12 , 14 , 16 , etc.) and/or a server computer 18 . The one or more client electronic devices 12 , 14 , 16 , and/or server computer 18 may be connected to a network 20 (e.g., the Internet, a local area network, a private network, or other network). Examples of client electronic devices may include mobile computing devices (e.g., smartphones 12 , 14 , tablet computing devices, data-enabled cellular phones, web-connected personal digital assistants, etc.), personal computing devices (e.g., laptop computers 16 , desktop computers, gaming consoles, etc.), web-connected television devices and/or set-top boxes, web-connected camera devices, web-connected embedded computing devices, and various other/alternative web-connectable computing devices. Examples of server computer 18 may include, but are not limited to, a personal computer, a server computer, a series of server computers, a minicomputer, and a mainframe computer, cloud computing services that may include virtualized instances of server computers, and the like.
如以下将更详细地描述,通信程序10可大体上提供集成通信系统,该集成通信系统可容许在小的和/或大的用户群组之间经由多种数据和/或介质类型而同时发生的互动。各种不同类型的信息、观念、及主题可在不同的模态中得到最佳传输及共享。由此,通信程序10可容许用户之间经由同时发生的交换、共享和/或使用音频讯息及会话、视频内容、基于文字的信息、图像等等而进行丰富的互动。通信程序10可通过提供集成用户体验而容许于用户之间交换并由该等用户使用多种不同数据及介质类型。As will be described in greater detail below, the communication program 10 can generally provide an integrated communication system that allows for simultaneous interaction between small and/or large groups of users via a variety of data and/or media types. Various types of information, concepts, and topics can be optimally transmitted and shared in different modalities. Thus, the communication program 10 can allow for rich interaction between users via the simultaneous exchange, sharing, and/or use of audio messages and conversations, video content, text-based information, images, and the like. The communication program 10 can allow for the exchange and use of a variety of different data and media types between users by providing an integrated user experience.
概念开发程序10的指令集合及次例程可由包括于客户端电子装置12、14、16和/或服务器计算机18中的一个或多个处理器(图未示出)及一个或多个内存模块(图未示出)执行,该等指令集合及次例程可包括一个或多个软件模块且可储存于耦合至客户端电子装置12、14、16和/或服务器计算机18中的一个或多个之储存装置(例如储存装置22、24、26、28中的一个或多个)上。储存装置22、24、26、28可包括但不限于:硬盘驱动机;固态驱动机;磁带驱动机;光学驱动机;RAID阵列;随机访问存储器(RAM);只读存储器(ROM)、闪存装置等等。The instruction sets and subroutines of the concept development program 10 may be executed by one or more processors (not shown) and one or more memory modules (not shown) included in the client electronic devices 12, 14, 16 and/or the server computer 18. The instruction sets and subroutines may include one or more software modules and may be stored on a storage device (e.g., one or more of the storage devices 22, 24, 26, 28) coupled to one or more of the client electronic devices 12, 14, 16 and/or the server computer 18. The storage devices 22, 24, 26, 28 may include, but are not limited to, hard disk drives; solid-state drives; tape drives; optical drives; RAID arrays; random access memory (RAM); read-only memory (ROM), flash memory devices, and the like.
各客户端电子装置12、14、16皆可执行恰当的操作系统,例如,Mac OS、iOS、Android OS、Windows、或其他适宜的作业系统。(Mac OS系为Apple公司在美国、其他国家或同时在二者中的商标;iOS为Cisco Systems公司的商标;Android为Google公司在美国、其他国家或同时在二者中的商标;Windows为Microsoft公司在美国、其他国家或同时在二者中的商标。)此外,客户端电子装置12、14、16可容许各种数据撷取及呈现功能,例如音频撷取、音频串流、及音频重放;视频撷取、视频串流、及视频重放;文字输入及文字显示;以及图像撷取及图像显示。各种不同的客户端电子装置可进一步提供其他/替代功能,包括但不限于传感器功能,该传感器功能包括但不限于定位(例如,经由GPS数据采集等等)。Each client electronic device 12, 14, 16 may run an appropriate operating system, such as Mac OS, iOS, Android OS, Windows, or other suitable operating systems. (Mac OS is a trademark of Apple Inc. in the United States, other countries, or both; iOS is a trademark of Cisco Systems, Inc.; Android is a trademark of Google Inc. in the United States, other countries, or both; Windows is a trademark of Microsoft Corporation in the United States, other countries, or both.) Furthermore, the client electronic devices 12, 14, 16 may enable various data capture and presentation capabilities, such as audio capture, audio streaming, and audio playback; video capture, video streaming, and video playback; text input and text display; and image capture and image display. Various client electronic devices may further provide additional/alternative functionality, including but not limited to sensor functionality, including but not limited to positioning (e.g., via GPS data collection, etc.).
此外,虽然未示出,但客户端电子装置12、14、16可执行各种应用程序,包括但不限于:网络浏览器应用程序(例如InternetSafari为Apple公司在美国、其他国家或同时在二者中的商标;Chrome为Google公司在美国、其他国家或同时在二者中的商标;Internet Explorer为Microsoft公司在美国、其他国家或同时在二者中的商标)、文字传讯应用程序、即时消息通信应用程序、音频、视频和/或图像撷取及编辑应用程序、社交网络应用程序(例如Facebook应用程序、Linkedln应用程序等)。客户端电子装置12、14、16中的一个或多个可类似地执行各种其他/替代应用程序。通信程序10a、10b、10c可为独立应用程序和/或可为由客户端电子装置12、14、16执行的一个或多个其他应用程序的模块和/或组件。此外/作为另一选择,通信程序10a、10b、10c可与由客户端电子装置12、14、16执行的一个或多个应用程序互动。Furthermore, although not shown, client electronic devices 12, 14, and 16 may execute various applications, including, but not limited to, web browser applications (e.g., Internet Safari is a trademark of Apple Inc. in the United States, other countries, or both; Chrome is a trademark of Google Inc. in the United States, other countries, or both; Internet Explorer is a trademark of Microsoft Corporation in the United States, other countries, or both), text messaging applications, instant messaging applications, audio, video, and/or image capture and editing applications, and social networking applications (e.g., Facebook applications, LinkedIn applications, etc.). One or more of client electronic devices 12, 14, and 16 may similarly execute various other/alternative applications. Communication programs 10a, 10b, and 10c may be standalone applications and/or may be modules and/or components of one or more other applications executed by client electronic devices 12, 14, and 16. Additionally or alternatively, communication programs 10a, 10b, and 10c may interact with one or more applications executed by client electronic devices 12, 14, and 16.
在某些实施例中,服务器计算机18可为连接因特网的伺服器(或一系列服务器),其运行网络操作系统,该网络操作系统的实例可包括但不限于:例如,Server;或Red(Microsoft及Windows为Microsoft公司在美国、其他国家或同时在二者中的注册商标;Novell及NetWare为Novell公司在美国、其他国家或同时在二者中的注册商标;Red Hat为Red Hat公司在美国、其他国家或同时在二者中的注册商标;以及Linux为Linus Torvalds在美国、其他国家或同时在二者中的注册商标。)在某些实施例中,服务器计算机18可执行网络服务器应用程序,该网络服务器应用程序的实例可包括但不限于:Microsoft IIS、Novell WebserverTM、或HTTP Server、应用程序服务器,该网络服务器应用程序容许经由网络20而对服务器电脑18进行HTTP访问(即,超文本传输协议访问)(Webserver为Novell公司在美国、其他国家或同时在二者中的商标;且Apache及Tomcat为Apache Software Foundation在美国、其他国家或同时在二者中的注册商标)。在某些实施例中,服务器计算机可被实现成云服务(比如Amazon Web Service和/或Microsoft Windows Azure)。网络20可连接至一或多个次级网络(例如,网络30),该一个或多个次级网络的实例可包括但不限于:例如,局域网络;广域网;或内部网络。In some embodiments, the server computer 18 may be a server (or a series of servers) connected to the Internet, which runs a network operating system, examples of which may include, but are not limited to, for example, Server; or Red (Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States, other countries, or both; Novell and NetWare are registered trademarks of Novell Corporation in the United States, other countries, or both; Red Hat is a registered trademark of Red Hat Corporation in the United States, other countries, or both; and Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.) In some embodiments, the server computer 18 may execute a network server application, examples of which may include, but are not limited to, Microsoft IIS, Novell Webserver ™ , or HTTP Server, an application server that allows HTTP access (i.e., Hypertext Transfer Protocol access) to the server computer 18 via the network 20 (Webserver is a trademark of Novell Corporation in the United States, other countries, or both; and Apache and Tomcat are registered trademarks of the Apache Software Foundation in the United States, other countries, or both). In some embodiments, the server computer may be implemented as a cloud service (such as Amazon Web Services and/or Microsoft Windows Azure). Network 20 may be connected to one or more secondary networks (e.g., network 30), examples of which may include, but are not limited to, a local area network; a wide area network; or an intranet.
在某些实施例中,除通信程序10d以外,服务器计算机18也可执行各种应用程序。例如,服务器计算机18可执行数据储存系统,该等数据储存系统包括但不限于数据库系统。服务器计算机18也可执行例如IP语音系统和/或统一电话系统(例如,其可由Digium公司赞助的Asterisk开放源平台、FreeSWITCH开放源电话平台或其他适宜的通信应用程序和/或平台提供)。服务器计算机18可执行各种其他和/或替代应用程序。In some embodiments, in addition to the communication program 10d, the server computer 18 may also execute various applications. For example, the server computer 18 may execute a data storage system, including, but not limited to, a database system. The server computer 18 may also execute, for example, a voice-over-IP system and/or a unified telephone system (e.g., such as provided by the Asterisk open source platform sponsored by Digium, the FreeSWITCH open source telephone platform, or other suitable communication applications and/or platforms). The server computer 18 may execute various other and/or alternative applications.
根据各种实施例,通信程序10可包括由客户端电子装置12、14、16中的一个或多个执行的客户端侧程序。此外,在某些实施例中,通信程序10可包括由服务器计算机18执行的服务器侧程序。例如,作为服务器侧程序,一个或多个用户(例如,用户32、34、36)可经由网络浏览器或其他适宜的应用程序(例如,其可包括提供除访问服务器侧通信程序10d以外的其他功能的应用程序)来访问服务器侧程序(例如,通信程序10d)。此外,在某些实施例中,通信程序10可包括混合服务器-客户端程序,该混合服务器-客户端程序具有由客户端电子装置12、14、16中的一个或多个执行的通信程序10的某些功能以及由服务器计算机18执行的通信程序10的某些功能。在各种混合实施例中,客户端侧通信程序10a、10b、10c中的一个或多个可包括独立的通信应用程序和/或可包括其他应用程序的模块或特征,和/或可以其他方式与一个或多个其他应用程序(例如,可提供除通信应用程序10a、10b和/或10c中的一个或多个所提供的功能外的其他功能)相集成和/或互动。According to various embodiments, the communication program 10 may comprise a client-side program executed by one or more of the client electronic devices 12, 14, 16. Furthermore, in some embodiments, the communication program 10 may comprise a server-side program executed by a server computer 18. For example, as a server-side program, one or more users (e.g., users 32, 34, 36) may access the server-side program (e.g., the communication program 10d) via a web browser or other suitable application (e.g., which may include an application that provides functionality other than accessing the server-side communication program 10d). Furthermore, in some embodiments, the communication program 10 may comprise a hybrid server-client program that incorporates some of the functionality of the communication program 10 executed by one or more of the client electronic devices 12, 14, 16 and some of the functionality of the communication program 10 executed by the server computer 18. In various hybrid embodiments, one or more of the client-side communication programs 10a, 10b, 10c may include independent communication applications and/or may include modules or features of other applications, and/or may be integrated and/or interact with one or more other applications in other ways (e.g., may provide additional functionality in addition to the functionality provided by one or more of the communication applications 10a, 10b and/or 10c).
用户32、34、36可经由执行通信程序10的客户端电子装置(例如,执行通信程序10a的智能电话12、执行通信程序10b的智能电话14、执行通信程序10c的笔记本电脑16)来访问通信程序10。通过使用通信程序10,用户32、34、36中的一个或多个可利用多数据类型同时进行彼此互动,进而容许各用户之间进行丰富且动态的观念及信息交换。Users 32, 34, and 36 can access the communication program 10 via client electronic devices (e.g., smartphone 12 running communication program 10a, smartphone 14 running communication program 10b, and laptop computer 16 running communication program 10c) running communication program 10. By using the communication program 10, one or more of the users 32, 34, and 36 can interact with each other simultaneously using multiple data types, thereby allowing for a rich and dynamic exchange of ideas and information between the users.
各种客户端电子装置可直接地或间接地耦合至网络20(或网络30)。例如,智能电话12被显示为经由在智能电话12与无线访问点(即,WAP)40之间所建立的无线通信信道38而以无线方式耦合至网络20,图中显示无线访问点40直接耦合至网络14。WAP40可例如为能够在智能电话12与WAP40之间建立无线通信信道38的IEEE802.11a、802.11b、802.llg、Wi-Fi和/或蓝牙装置。智能电话14被显示为经由在智能型电话14与蜂巢式网络/网桥44之间所建立的无线通信信道42而以无线方式耦合至网络14,图中显示蜂巢式网络/网桥44直接耦合至网络14。笔记本电脑16被显示为经由硬接线连接而耦合至网络30(例如,其可进一步耦合至网络20和/或经由连接46而耦合至服务器计算机18)。Various client electronic devices may be coupled to network 20 (or network 30) directly or indirectly. For example, smartphone 12 is shown wirelessly coupled to network 20 via a wireless communication channel 38 established between smartphone 12 and a wireless access point (i.e., WAP) 40, which is shown directly coupled to network 14. WAP 40 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, and/or Bluetooth device capable of establishing wireless communication channel 38 between smartphone 12 and WAP 40. Smartphone 14 is shown wirelessly coupled to network 14 via a wireless communication channel 42 established between smartphone 14 and a cellular network/bridge 44, which is shown directly coupled to network 14. Laptop computer 16 is shown coupled to network 30 via a hardwired connection (e.g., it may be further coupled to network 20 and/or to server computer 18 via connection 46).
如在现有技术中已知,所有IEEE802.llx规格皆可使用以太网络协议及能避免碰撞的载体感测多重访问(即,CSMA/CA),以达成路径共享。例如,各种802.11X规格可使用相移键控(即,PSK)调变或补码键控(即,CCK)调变。如在现有技术中已知,蓝牙为一种电信行业规格,其容许例如移动电话、计算机、及个人数字助理通过使用短距离无线连接而互连。As is known in the art, all IEEE 802.11x specifications can use the Ethernet protocol and carrier sensing multiple access with collision avoidance (i.e., CSMA/CA) to achieve path sharing. For example, various 802.11x specifications may use phase-shift keying (i.e., PSK) modulation or complementary code keying (i.e., CCK) modulation. As is known in the art, Bluetooth is a telecommunications industry standard that allows, for example, mobile phones, computers, and personal digital assistants to interconnect using short-range wireless connections.
可描述一个或多个实例性实施例,该一个或多个实例性实施例可示出本发明的具体特征和/或方面。为便于说明,可参照由智能型电话12执行和/或与用户32相关地执行的通信程序10a。然而,应理解,此种参照仅旨在用于解释目的,而不应被视为对本发明的限制。可同等地利用通信程序、客户端电子装置和/或用户的其他例示。One or more exemplary embodiments may be described that illustrate specific features and/or aspects of the present invention. For ease of description, reference may be made to a communication program 10a executed by a smartphone 12 and/or in connection with a user 32. However, it should be understood that such reference is intended for illustrative purposes only and should not be construed as limiting the present invention. Other examples of communication programs, client electronic devices, and/or users may equally be utilized.
同样参照图2,根据一个方面,通信程序10可便于用户利用应用程序或系统注册或登记,该应用程序或系统可利用用户标识的认证和/或验证。在某些实施例中,通信程序10可容许用户利用使用与该用户相关联的现有第三方应用程序的应用程序注册或登记,以达成在不要求该用户导航离开登记用户界面界面的条件下认证和/或验证该用户标识的目的。例如,一般而言,通信程序10可接收用户的认证请求(100)。通信程序10可经由与该用户相关联的第三方应用程序而产生的认证通信。通信程序10可进一步传输该认证通信至认证系统(104)。2 , according to one aspect, the communication program 10 may facilitate a user to register or enroll with an application or system that may utilize authentication and/or verification of a user's identification. In certain embodiments, the communication program 10 may allow a user to register or enroll with an application that utilizes an existing third-party application associated with the user to achieve the purpose of authenticating and/or verifying the user's identification without requiring the user to navigate away from a registration user interface. For example, generally speaking, the communication program 10 may receive an authentication request (100) from a user. The communication program 10 may generate an authentication communication via the third-party application associated with the user. The communication program 10 may further transmit the authentication communication to an authentication system (104).
例如,同样参照图3,用户32可能希望利用第三方通信系统登记或注册(例如,在某些实施例中,其可至少部分地由通信程序10提供和/或与通信程序10相结合地提供)。通信程序10(独自和/或与一个或多个其他应用程序相结合)可提供注册用户界面界面150。注册用户界面界面150可例如容许用户32经由通信程序10所提供的第三方系统而进行注册和/或登记。应理解,由通信程序10提供的注册及认证功能可结合用户可能已用其来验证其身份的应用程序和/或系统(例如,其可进而提供易使用的认证程序)来实施。For example, also referring to FIG. 3 , user 32 may wish to register or sign up with a third-party communication system (e.g., which, in some embodiments, may be provided at least in part by and/or in conjunction with communication program 10). Communication program 10 (alone and/or in conjunction with one or more other applications) may provide a registration user interface 150. Registration user interface 150 may, for example, allow user 32 to register and/or sign up via the third-party system provided by communication program 10. It should be understood that the registration and authentication functionality provided by communication program 10 may be implemented in conjunction with applications and/or systems that a user may already use to verify their identity (e.g., which may in turn provide an easy-to-use authentication process).
如上所述,通信程序10可接收用户的认证请求(100)。该认证请求可包括与第三方应用程序相关联的认证请求,该第三方应用程序与用户相关联(即,该用户可识别其多么希望被识别出以供认证)。例如,用户32可能希望注册作为通信系统的新用户。如图所示,注册用户界面150可容许用户32选择认证模式,该认证模式将被用于为该应用程序注册的目的及认证该用户和/或验证该用户的身份的目的。例如,用户32可利用现有电话号码、电子邮件地址、社交网络身份等,以供为通信系统认证其身份的目的。As described above, the communication program 10 may receive an authentication request from a user (100). The authentication request may include an authentication request associated with a third-party application that is associated with the user (i.e., the user may identify how the user wishes to be identified for authentication). For example, user 32 may wish to register as a new user of the communication system. As shown, the registration user interface 150 may allow user 32 to select an authentication mode that will be used for the purpose of registering for the application and for the purpose of authenticating the user and/or verifying the identity of the user. For example, user 32 may utilize an existing phone number, email address, social network identity, etc., for the purpose of authenticating their identity to the communication system.
如图所示,在实例性实施例中,用户界面注册用户界面150可包括选择选项(例如,按钮152、154、156),该等选择选项可容许用户32选择用户32希望用于利用系统中认证其身份的第三方应用程序。如图所示,按钮152、154、156可识别可用于认证用户32的各种第三方应用程序(即,电子邮件、短消息服务、及社交网络)。虽然示出用户界面界面150包括三个选项(即“电子邮件”、“SMS”、及“社交网络”),但此等选项旨在用于例示目的,而非用于限制目的,因为可同等地利用其他选项(例如,具有相关联的第三方应用程序),包括但不限于:其他认证系统、传讯系统(例如即时消息通信系统)等等。在一个实施例中,响应于用户32选择按钮(例如,经由触摸输入,该触模输入可由通信程序10经由与智能电话12相关联的触控屏幕而接收),通信程序10可接收用户的认证请求(100)。用户的认证请求可包括与第三方应用程序(例如,所示实例中的“电子邮件”)相关联的认证请求,该第三方应用程序与用户32相关联。As shown, in an exemplary embodiment, the user interface 150 may include selection options (e.g., buttons 152, 154, 156) that may allow the user 32 to select a third-party application that the user 32 wishes to use to authenticate their identity with the system. As shown, the buttons 152, 154, 156 may identify various third-party applications (i.e., email, short message service, and social network) that may be used to authenticate the user 32. Although the user interface 150 is shown as including three options (i.e., "email," "SMS," and "social network"), these options are intended for illustrative purposes and not for limiting purposes, as other options may be equally utilized (e.g., having associated third-party applications), including but not limited to other authentication systems, messaging systems (e.g., instant messaging systems), and the like. In one embodiment, in response to the user 32 selecting a button (e.g., via touch input, which may be received by the communication program 10 via a touch screen associated with the smartphone 12), the communication program 10 may receive the user's authentication request (100). The user's authentication request may include an authentication request associated with a third-party application (eg, “email” in the illustrated example) that is associated with the user 32 .
在接收用户的认证请求(例如,至少部分地根据与该用户相关联的第三方应用程序的选择)时(100),通信程序10可经由所选择的与该用户相关联的第三方应用程序而产生认证通信(102)。在一个实施例中,通信程序10可与所选择的与用户相关联的第三方应用程序互动(直接地和/或间接地),以达成产生认证通信(102)的目的。Upon receiving an authentication request from a user (e.g., based at least in part on a selection of a third-party application associated with the user) (100), the communication program 10 may generate an authentication communication (102) via the selected third-party application associated with the user. In one embodiment, the communication program 10 may interact (directly and/or indirectly) with the selected third-party application associated with the user to achieve the purpose of generating the authentication communication (102).
同样参照图4,通信程序10可通过与用户相关联的第三方应用程序(例如,上述实例中的电子邮件应用程序)对通信应用程序使用嵌入式发送表格158而产生102认证通信。通信程序10可通过发出请求以启动与用户相关联的通信应用程序,而使用例如嵌入式发送表格作为用户界面注册用户界面150的弹出式窗口来产生102认证通信。4 , the communication program 10 can generate 102 an authentication communication by a third-party application associated with the user (e.g., the email application in the above example) using the embedded send form 158 for the communication application. The communication program 10 can generate 102 an authentication communication by issuing a request to launch the communication application associated with the user and using, for example, the embedded send form as a pop-up window of the user interface registration user interface 150.
如图4所示,在某些实施例中,产生认证通信(102)可包括:预填充包括目的地址及认证码的通信内容(110)。例如,通信程序10可在发送表格158内对该通信的一个或多个字段实施预填充110。在所示实例中,通信程序10可对发送表格158的“至(to)”字段160及“主题(subject)”字段162实施预填充。在各种实施例中,例如可使用与地址相关联的电子邮件地址或SMS电话号码来预寻址“至”字段160,该地址与认证系统相关联,该认证系统与通信程序10相关联。例如,通过使用预寻址的“至”字段,与第三方通信应用程序相关联的第三方通信服务可传输(例如,及最终递送)讯息至通信程序10。As shown in FIG4 , in some embodiments, generating an authenticated communication (102) may include pre-populating the communication content (110), including a destination address and an authentication code. For example, the communication program 10 may pre-populate 110 one or more fields of the communication within a send form 158. In the illustrated example, the communication program 10 may pre-populate a "to" field 160 and a "subject" field 162 of the send form 158. In various embodiments, the "to" field 160 may be pre-addressed, for example, using an email address or SMS phone number associated with an address associated with an authentication system associated with the communication program 10. For example, by using the pre-addressed "to" field, a third-party communication service associated with a third-party communication application may transmit (e.g., and ultimately deliver) a message to the communication program 10.
在各种实施例中,可根据与用户相关联的通信应用程序(即,实例性实施例中的电子邮件应用程序)的一个或多个账户设定值来对“来自(from)”字段164实施填充。在某些实施例中,所选的与用户相关联的第三方应用程序可包括不止一个用户账户。例如,与智能电话12相关联的电子邮件应用程序可包括不止一个可经由电子邮件应用程序来访问的电子邮件账户。根据实例性实施例,可根据缺省账户来对“来自”字段164实施预填充(例如,通过操作系统或电子邮件应用程序等),例如,该缺省账户可定义于与智能电话12和/或由智能电话12执行的电子邮件应用程序相关联的一个或多个偏好选项中。在此种实施例中,通信应用程序可根据已识别的缺省账户(例如,可根据例如来自装置操作系统等等的缺省账户信息而对“来自”字段164实施预填充(110))、经由所选择的第三方应用程序而产生认证通信(102)。在某些实施例中,通信程序10可容许用户32选择期望的账户以供用于产生认证通信(102)。虽然未示出,但在某些实施例中,用户32可例如选择被预填充的“来自”字段164,此可使通信程序10(独自和/或与电子邮件应用程序或其他第三方应用程序相结合)呈现出各种用户界面(例如,弹出式菜单等),该等用户界面可容许用户32选择期望的账户以供认证。In various embodiments, the "from" field 164 may be populated based on one or more account settings of a communication application associated with the user (i.e., an email application in an example embodiment). In some embodiments, the selected third-party application associated with the user may include more than one user account. For example, the email application associated with the smartphone 12 may include more than one email account accessible via the email application. According to an example embodiment, the "from" field 164 may be pre-populated based on a default account (e.g., by an operating system or email application, etc.), for example, the default account may be defined in one or more preferences associated with the smartphone 12 and/or the email application executed by the smartphone 12. In such an embodiment, the communication application may generate an authenticated communication (102) via the selected third-party application based on the identified default account (e.g., the "from" field 164 may be pre-populated (110) based on default account information, such as from the device operating system, etc.). In some embodiments, the communication application 10 may allow the user 32 to select a desired account for use in generating the authenticated communication (102). Although not shown, in some embodiments, the user 32 may, for example, select the pre-populated "from" field 164, which may cause the communication program 10 (alone and/or in conjunction with an email application or other third-party application) to present various user interfaces (e.g., pop-up menus, etc.) that allow the user 32 to select the desired account for authentication.
此外,通信程序10可对包括于发送表格158中的通信主体166实施预填充(110)。在某些实施例中,对主体166实施预填充(110)可包括产生认证码,例如,该认证码可由认证系统用来认证用户32。在某些实施例中,对“主题”字段162实施预填充可包括产生此种认证码。根据上述实例,通信程序10可根据用户32选择期望用以达成认证的通信应用程序而产生102认证通信,该认证通信包括用于利用通信系统(或用户32可注册的其他系统)认证用户32的必要信息。此外,用户32可不必导航离开由通信程序10提供的用户界面150。因此,在某些实施例中,用于在应用程序和/或系统中进行注册的注册及/认证程序可得到简化并可变得更加“用户友好”。In addition, the communication program 10 may pre-populate (110) the communication body 166 included in the sending form 158. In some embodiments, pre-populating (110) the body 166 may include generating an authentication code, for example, which may be used by the authentication system to authenticate the user 32. In some embodiments, pre-populating the "Subject" field 162 may include generating such an authentication code. According to the above example, the communication program 10 may generate 102 an authentication communication based on the user 32 selecting the communication application to be used for authentication, and the authentication communication may include the necessary information for authenticating the user 32 with the communication system (or other system with which the user 32 may be registered). In addition, the user 32 may not have to navigate away from the user interface 150 provided by the communication program 10. Therefore, in some embodiments, the registration and/or authentication process for registering with the application and/or system may be simplified and made more "user-friendly."
通信程序10可进一步传输认证通信至认证系统(104)。例如,与所产生(102)的认证通信(例如,其可包括于发送表格158中)相结合,通信程序10可容许用户(例如,上述实施例中的用户32)例如通过选择“现在注册”按钮168来确认其注册意图。响应于用户32选择“现在注册”按钮168,通信程序10可指示相互信任的第三方通信系统自行传输及试图递送认证通信。对“至”字段160实施的预寻址(即,对“至”字段160实施预填充)可使讯息例如经由连接网络的服务器18而最终被递送至通信程序10d中。当接收到此讯息时,可使用认证码168来验证此所接收的认证讯息并使该认证讯息相关联。因此,响应于该讯息的接收及包括于该讯息中的所接收认证码的关联,通信程序10(例如,由服务器计算机18执行的通信程序10d)可认证用户(114)。如在现有技术中已知,随后认证系统(例如,其可包括通信程序10d,和/或另认证系统和/或程序)可利用多种标准技术,该等标准技术可验证输入通信(例如,至少部分地由通信程序10产生(102))为可信的,而并非假冒的通信和/或地址。The communication program 10 may further transmit the authentication communication to the authentication system (104). For example, in conjunction with the authentication communication generated (102) (e.g., which may be included in the sending form 158), the communication program 10 may allow the user (e.g., user 32 in the above embodiment) to confirm their intention to register, for example, by selecting a "register now" button 168. In response to the user 32 selecting the "register now" button 168, the communication program 10 may instruct the mutually trusted third-party communication system to transmit and attempt to deliver the authentication communication. Pre-addressing the "to" field 160 (i.e., pre-populating the "to" field 160) may cause the message to be ultimately delivered to the communication program 10d, for example, via a server 18 connected to the network. When the message is received, the authentication code 168 may be used to verify the received authentication message and associate the authentication message. Therefore, in response to the receipt of the message and the association of the received authentication code included in the message, the communication program 10 (e.g., the communication program 10d executed by the server computer 18) may authenticate the user (114). As is known in the art, the authentication system (e.g., which may include the communication program 10d, and/or another authentication system and/or program) may then utilize a variety of standard techniques that can verify that the incoming communication (e.g., generated at least in part by the communication program 10 (102)) is authentic and not a forged communication and/or address.
在某些实施例中,产生认证通信(102)可包括接收与第三方应用程序相关联的用户凭证(112)。例如,虽然未示出,但在某些实施例中,用户可能希望使用第三方认证应用程序以达成注册和/或认证的目的。例如,用户可能希望使用与第三方社交网络系统相关联的认证系统以达成注册和/或认证的目的。在此种实施例中,通信程序10可针对用户希望使用的一组第三方认证系统之一提示用户以达成注册和/或认证,随后该注册和/或认证可要求该用户输入与该社交网络系统相关联的登入凭证(例如,用户名称及密码)。通信程序10可访问该社交网络系统(例如,通过传输认证请求至该社交网络系统(108)),该社交网络系统将自动接收用户凭证(例如,可经由恰当的用户界面而输入用户凭证),并可根据利用该第三方系统成功进行的认证而提供认证(116)。In some embodiments, generating an authentication communication (102) may include receiving user credentials (112) associated with a third-party application. For example, although not shown, in some embodiments, a user may wish to use a third-party authentication application for registration and/or authentication purposes. For example, a user may wish to use an authentication system associated with a third-party social networking system for registration and/or authentication purposes. In such an embodiment, the communication program 10 may prompt the user to register and/or authenticate with one of a set of third-party authentication systems that the user wishes to use, and the registration and/or authentication may then require the user to enter login credentials (e.g., a user name and password) associated with the social networking system. The communication program 10 may access the social networking system (e.g., by transmitting an authentication request to the social networking system (108)), the social networking system will automatically receive the user credentials (e.g., the user credentials may be entered via an appropriate user interface), and may provide authentication (116) based on successful authentication using the third-party system.
根据某些实施例,根据本发明的通信系统及方法可提供平台,该平台可使多方通信系统与同步通信系统(polysynchronous communication system)之间达成丰富且多元化的互动,该等多方通信系统与同步通信系统可无缝地集成并有利于实时及异步模态。该互动可不仅涉及语音或图像,而且可包括许多数据类型与模态的集成,该集成可以可利用现代计算装置(例如智能电话等)的所有各种能力及功能的方式提供用户体验,该用户体验可涉及共享及观察。在不同上下文中可利用不同的数据类型及模态,以提供极有意义的互动体验。According to certain embodiments, the communication systems and methods of the present invention can provide a platform that enables rich and diverse interactions between multi-party and polysynchronous communication systems. These multi-party and polysynchronous communication systems can be seamlessly integrated and facilitate both real-time and asynchronous modalities. This interaction can involve not only voice or images, but also the integration of many data types and modalities, providing a user experience that can leverage the full range of capabilities and functions of modern computing devices (e.g., smartphones) and involve both sharing and observation. Different data types and modalities can be utilized in different contexts to provide a highly meaningful interactive experience.
在本发明的一方面中,一种通信系统可提供传讯(signaling)功能及多个特征,该等特征可减少与相互联系的个体相关联的事务成本。本文所述的“传讯”可通常囊括可能作为相对于通信的实际内容的前体(precursor)出现的交互作用。在某些实施例中,传讯可包括互动及活动,通过该等互动及活动,可在个体之间启动和/或建立通信。根据实施方式,通信程序10可接收来自用户(即,发话人)的请求(500),以启动与第三方(即,一个或多个受话人)的通信。通信程序10可提供多个通知选项(502)。通信程序10可接收来自多个通知选项其中之一的选择(504)。通信程序10可进一步至少部分地基于多个通知选项中所选择的一个来传输通知至该第三方(506)。In one aspect of the present invention, a communication system may provide signaling functionality and features that may reduce transaction costs associated with communicating with one another. "Messaging," as used herein, may generally encompass interactions that may occur as a precursor to the actual content of a communication. In certain embodiments, messaging may include interactions and activities through which communications may be initiated and/or established between individuals. According to an embodiment, a communication program 10 may receive a request (500) from a user (i.e., a caller) to initiate a communication with a third party (i.e., one or more callees). The communication program 10 may provide a plurality of notification options (502). The communication program 10 may receive a selection from one of the plurality of notification options (504). The communication program 10 may further transmit a notification to the third party (506) based at least in part on the selected one of the plurality of notification options.
例如,在一个实施例中,通信程序10可接收请求以启动通信(500)。在某些实施例中,由发话人发出以启动与一个或多个受话人的通信的请求可包括:至少一个标准(等级)、发话人可能希望与其通信的一个或多个个体的身份、以及发话人可能希望启动通信的指示。例如,参照图6,根摅某些实施例,通信程序(例如,由与用户32相关联的智能电话12执行的相关通讯程序10a)可独自和/或与一个或多个其他应用程序相结合地提供联系人列表用户界面600。联系人列表用户界面600可包括可能使用(例如,可能用其进行注册)协作通信系统的一个或多个个体的列表。在此种实施例中,响应于发话人(例如,用户32)自联系人列表用户界面600中选择个体(例如,用户34,其因此成为受话人),通信程序10可接收启动通信的请求(500)。在各种实施例中,用户32可简单地选择(例如,经由触控屏幕界面或其他适宜的选择装置)用户32(作为发话人)希望与其启动通信的个体。For example, in one embodiment, the communication program 10 may receive a request to initiate a communication (500). In some embodiments, the request issued by the caller to initiate a communication with one or more recipients may include: at least one criterion (level), the identity of one or more individuals with whom the caller may wish to communicate, and an indication that the caller may wish to initiate a communication. For example, referring to FIG6 , in accordance with some embodiments, the communication program (e.g., the associated communication program 10a executed by the smartphone 12 associated with the user 32) may provide a contact list user interface 600 alone and/or in combination with one or more other applications. The contact list user interface 600 may include a list of one or more individuals who may use (e.g., may be registered with) the collaborative communication system. In such an embodiment, in response to the caller (e.g., user 32) selecting an individual (e.g., user 34, who thereby becomes the recipient) from the contact list user interface 600, the communication program 10 may receive a request to initiate a communication (500). In various embodiments, the user 32 may simply select (e.g., via a touch screen interface or other suitable selection device) the individual with whom the user 32 (as the caller) wishes to initiate a communication.
根据各种其他/替代实施例,通信程序10可与一个或多个其他应用程序互动和/或使用一个或多个其他/替代接口,通信程序10可经由该一个或多个其他/替代接口而接收启动通信的请求(500)。例如,在一个实施例中,通信程序10可与由执行通信程序10的计算装置所执行的日历应用程序(例如,由可执行通信应用程序10a的智能电话12所执行的日历应用程序)互动。在一个实施例中,发话人(例如,用户32)可选择个体,该个体可被列为包括于日历应用程序中的会议的被邀请者。响应于适宜的用户输入(例如,触摸及击打输入、或长时间触摸输入、或其他适宜的用户输入),通信程序10可独自和/或与日历应用程序相结合地呈现的菜单选项以启动与所选择个体的通信。当用户32选择菜单选项以启动与所选择个体的通信时,通信程序10可接收启动与所选择个体的通信的请求(500)。通信程序10可响应于用户与各种其他和/或替代应用程序(例如社交网络应用程序、电子邮件应用程序、地图应用程序(例如,其可包括各种个体的位置的指示)、或其他适宜应用程序)的互动,而以类似方式接收500启动与所选择个体的通信的请求。According to various other/alternative embodiments, the communication program 10 may interact with one or more other applications and/or use one or more other/alternative interfaces, and the communication program 10 may receive a request to initiate communication (500) via the one or more other/alternative interfaces. For example, in one embodiment, the communication program 10 may interact with a calendar application executed by a computing device executing the communication program 10 (e.g., a calendar application executed by a smartphone 12 that can execute the communication application 10a). In one embodiment, a caller (e.g., user 32) may select an individual who may be listed as an invitee for a meeting included in the calendar application. In response to appropriate user input (e.g., a touch and tap input, a long touch input, or other appropriate user input), the communication program 10 may present a menu option, alone and/or in conjunction with the calendar application, to initiate communication with the selected individual. When the user 32 selects the menu option to initiate communication with the selected individual, the communication program 10 may receive a request to initiate communication with the selected individual (500). The communication program 10 may similarly receive 500 a request to initiate communication with a selected individual in response to user interaction with various other and/or alternative applications, such as a social networking application, an email application, a mapping application (e.g., which may include indications of the locations of various individuals), or other suitable applications.
在某些实施例中,响应于接收启动与个体的通信的请求(500),通信程序10可接收与用户已指示与其进行通信的意图的个体相关联的上下文信息(508)。在某些实施例中,通信程序10可响应于例如所调用的联系人列表用户界面600(或另一可从中选择受话人的界面)而接收上下文信息(508)。换句话说,在一个实施例中,通信程序10可根据所调用的可从中选择受话人的界面而接收与一个或多个受话人(和/或潜在受话人)相关联的上下文信息。根据各种实施例,上下文信息可在各种程度上提供关于受话人(即,与其通信的期望已被接收到(500)的个体)的状态意识信息和/或提示。例如,上下文信息可包括可提供指示符和/或提示的信息,该等指示符和/或提示涉及个体的可用性状态及参与通信的可能能力和/或意愿,和/或该个体可能够参与的通信的格式。此等上下文提示可由受话人明确地设置(例如,在由与受话人相关联的客户端装置所执行的相关通信应用程序中)和/或可由通信应用程序自客户端装置的操作系统、客户端装置的硬件传感器和/或与受话人的关联客户端装置相关联的应用程序、服务等自动导出。上下文提示可包括受话人或其通信装置的大体的或具体的、目前的或最近的位置、方向、及速度。In some embodiments, in response to receiving a request to initiate communication with an individual (500), the communication program 10 may receive contextual information (508) associated with the individual with whom the user has indicated an intent to communicate. In some embodiments, the communication program 10 may receive the contextual information (508) in response to, for example, the contact list user interface 600 being invoked (or another interface from which a callee may be selected). In other words, in one embodiment, the communication program 10 may receive contextual information associated with one or more callees (and/or potential callees) based on the interface from which a callee may be selected. According to various embodiments, the contextual information may provide status awareness information and/or prompts about the callee (i.e., the individual with whom the desire to communicate has been received (500)) to varying degrees. For example, the contextual information may include information that provides indicators and/or prompts regarding the individual's availability status and possible ability and/or willingness to participate in communications, and/or the format of communications in which the individual may be able to participate. Such contextual cues may be explicitly set by the callee (e.g., in a communication application executed by a client device associated with the callee) and/or may be automatically derived by the communication application from the client device's operating system, hardware sensors of the client device, and/or applications, services, etc. associated with the callee's associated client device. Contextual cues may include the general or specific, current or recent location, direction, and speed of the callee or their communication device.
例如,上下文信息可包括:以下中的一个或多个个体(即,受话人)的位置信息以及与个体相关联的轨迹信息,其例如可由与该个体的关联装置(例如,与用户34相关联的智能型电话14)相关联的GPS接收器、罗盘、及加速度计提供;与蜂巢式收发器或WiFi访问点的接近性;等等。位置信息可包括绝对和/或相对位置信息(例如,该个体位于其家中、该个体在你附近等)。类似地,轨迹信息可指示例如个体的运动以及例如该运动的具体或大体速度及方向等信息。位置和/或轨迹上下文信息可指示例如该个体目前正以驾驶速度沿大体东北方向行进等。个体目前以驾驶速度行进的上下文可例如根据可用于与该个体通信的数据类型而使用。例如,对于可能正在驾驶的个体而言,基于文字的通信可能并非期望的通信格式,等等。For example, contextual information may include: location information of one or more individuals (i.e., the recipient) and trajectory information associated with the individual, such as provided by a GPS receiver, compass, and accelerometer associated with the individual's associated device (e.g., smartphone 14 associated with user 34); proximity to a cellular transceiver or WiFi access point; and the like. Location information may include absolute and/or relative location information (e.g., the individual is at their home, the individual is near you, etc.). Similarly, trajectory information may indicate, for example, the individual's movement and information such as the specific or general speed and direction of the movement. Location and/or trajectory contextual information may indicate, for example, that the individual is currently traveling at a driving speed in a generally northeasterly direction. The context that the individual is currently traveling at a driving speed may be used, for example, based on the type of data available for communication with the individual. For example, text-based communication may not be the preferred communication format for an individual who may be driving.
在某些实施例中,上下文信息可包括与第三方受话人的关联客户端装置(例如,与用户34相关联的智能电话14)相关联的传感器信息。例如,传感器信息可指示该装置在过去七个小时中处于黑暗中、被插上电源、以及处于静止状态(例如,根据与该装置相关联的加速度计或其他传感器)。与其他信息(例如钟表时刻信息等)相组合,活动信息可提供表明个体可能不在使用通信装置、可能睡着等上下文信息。In some embodiments, the contextual information may include sensor information associated with the third-party callee's associated client device (e.g., smartphone 14 associated with user 34). For example, the sensor information may indicate that the device has been in darkness, plugged in, and stationary for the past seven hours (e.g., based on an accelerometer or other sensor associated with the device). Combined with other information (e.g., clock time information), the activity information may provide contextual information indicating that the individual may not be using the communication device, may be asleep, etc.
在某些实施例中,可根据与个体的其他应用程序相关联的信息来接收上下文信息(508)。例如,与个体相关联的电话应用程序(例如,与用户34所使用的智能电话14相关联的电话功能)可提供例如该个体目前正忙于在PSTN呼叫中使用装置的麦克风及扬声器等上下文信息。排程于与个体相关联的日历应用程序中的会议可提供例如该个体目前正忙于会议等上下文信息(例如,也可提供关于该会议的上下文信息,例如该会议为电话会议和/或网络会议等)。与个体相关联的各种其他和/或替代应用程序也可提供与该个体相关联的上下文信息。In some embodiments, contextual information may be received 508 based on information associated with other applications associated with the individual. For example, a phone application associated with the individual (e.g., a phone function associated with smartphone 14 used by user 34) may provide contextual information such as that the individual is currently busy on a PSTN call using the device's microphone and speaker. A meeting scheduled in a calendar application associated with the individual may provide contextual information such as that the individual is currently busy in a meeting (e.g., may also provide contextual information about the meeting, such as whether it is a telephone conference and/or a web conference). Various other and/or alternative applications associated with the individual may also provide contextual information associated with the individual.
在各种实施例中,可以以集成方式来处理和/或理解上下文信息。例如,各种上下文信息并非作为个体及单独信息而存在,而是一起加以解释,以提供与个体相关之更丰富上下文。例如,可将指示个体正以驾驶速度行进的上下文信息、个体正忙于电话会议的上下文信息、以及个体目前被排程于会议中的上下文信息解释为该个体正在车辆中行进的同时忙于电话会议。此种上下文信息可容许希望启动与该个体进行通信的用户评估该个体是否应被通信中断(例如,用户可评估该通信的迫切性)和/或该个体应如何被该通信中断。In various embodiments, contextual information can be processed and/or understood in an integrated manner. For example, rather than existing as individual, separate pieces of information, various pieces of contextual information can be interpreted together to provide a richer context related to the individual. For example, contextual information indicating that an individual is traveling at a driving speed, contextual information indicating that the individual is busy on a conference call, and contextual information indicating that the individual is currently scheduled in a meeting can be interpreted as indicating that the individual is traveling in a vehicle while busy on a conference call. This contextual information can allow a user who wishes to initiate communication with the individual to assess whether the individual should be interrupted by the communication (e.g., the user can assess the urgency of the communication) and/or how the individual should be interrupted by the communication.
根据各种实施例,可以以可对上下文信息的关联个体的隐私敏感的格式和/或方式来接收上下文信息(508)。例如,可以以可对隐私敏感的粒度或特征的等级来接收上下文信息(508)。例如,位置和/或轨迹信息可指示个体正以驾驶速度行进,而非识别该个体的精确速度及位置。可以以对隐私敏感的格式来接收各种其他类型的上下文信息(508)。According to various embodiments, the context information (508) may be received in a format and/or manner that may be sensitive to the privacy of the individual with whom the context information is associated. For example, the context information (508) may be received at a level of granularity or characteristics that may be sensitive to privacy. For example, location and/or trajectory information may indicate that an individual is traveling at a driving speed, rather than identifying the individual's precise speed and location. Various other types of context information (508) may be received in a privacy-sensitive format.
根据各种实施例,上下文信息的隐私敏感性可例如根据系统范围设定值和/或个体用户等级(level)设定值而改变。例如,用户可建立与各其他用户相关联的隐私敏感性的可变等级。例如,个体可能期望在可由泛泛之交所接收到的其上下文信息中具有高隐私度。然而,同一个体可能期望在可由亲密的朋友及家人接收到的其上下文信息中具有较低的隐私度。因此,在某些实施例中,个体可设置与上下文信息相关联且与可接收到该上下文信息的用户相关联的隐私设定值。在某些实施例中,缺省的高隐私敏感性等级可与上下文信息相关联。个体可针对个体和/或用户群组来改变缺省隐私敏感性。可类似地实现用于管理与上下文信息相关联的隐私敏感性的各种其他及/替代机制。According to various embodiments, the privacy sensitivity of contextual information may vary, for example, based on system-wide settings and/or individual user level settings. For example, a user may establish variable levels of privacy sensitivity associated with various other users. For example, an individual may desire a high degree of privacy in their contextual information that may be received by casual acquaintances. However, the same individual may desire a lower degree of privacy in their contextual information that may be received by close friends and family. Therefore, in some embodiments, an individual may set a privacy setting that is associated with the contextual information and associated with the users that may receive the contextual information. In some embodiments, a default high privacy sensitivity level may be associated with the contextual information. An individual may change the default privacy sensitivity for individuals and/or groups of users. Various other and/or alternative mechanisms for managing the privacy sensitivity associated with contextual information may be similarly implemented.
在一个实施例中,通信程序10可直接自与个体相关联的装置(例如,与用户34相关联的智能电话14等)接收上下文信息(508)。在某些实施例中,响应于由通信程序10传输至与个体相关联的装置的上下文信息请求,通信程序10可接收关于该个体的上下文信息(508)。在某些实施例中,与个体相关联的装置可间歇地传输上下文信息至可维护该上下文信息的服务器(例如,服务器18)。例如,与个体相关联的装置可间歇地(例如,以预定义时间间隔)传输上下文信息至服务器计算机18。在某些实施例中,与个体相关联的装置可例如响应于与该个体相关联的上下文的变化(例如,运动状态的变化、对与该个体相关联的日历应用程序中当前会议的指示,等等)而传输上下文信息至伺服器18。根据此种实施例,通信程序10可自服务器18接收上下文信息(508)。在例如其中可能期望节约能量的某些实施例中,装置可能不会传输上下文信息至通信程序10,直至通信程序10指示(例如,实时地和/或几乎实时地)实际上需要此种信息为止。例如,响应于通信程序10接收启动与特定受话人的通信的请求(500),通信程序10可接收该受话人的上下文(508)。可类似地实现各种其他/替代实施方式。In one embodiment, the communication program 10 may receive context information (508) directly from a device associated with an individual (e.g., smartphone 14 associated with user 34, etc.). In some embodiments, the communication program 10 may receive context information about the individual (508) in response to a context information request transmitted by the communication program 10 to the device associated with the individual. In some embodiments, the device associated with the individual may intermittently transmit context information to a server (e.g., server 18) that may maintain the context information. For example, the device associated with the individual may intermittently (e.g., at predefined time intervals) transmit context information to server computer 18. In some embodiments, the device associated with the individual may transmit context information to server computer 18, for example, in response to a change in context associated with the individual (e.g., a change in motion status, an indication of a current meeting in a calendar application associated with the individual, etc.). According to such an embodiment, the communication program 10 may receive context information (508) from server 18. In certain embodiments, such as where it may be desirable to conserve energy, the device may not transmit context information to communication program 10 until communication program 10 indicates (e.g., in real time and/or near real time) that such information is actually needed. For example, in response to communication program 10 receiving a request to initiate communication with a particular recipient (500), communication program 10 may receive context for the recipient (508). Various other/alternative embodiments may be similarly implemented.
通信程序10可提供多个受话人通知选项(502)。在某些实施例中,多个通知选项可例如让发话人选择无声地或轻声地提醒受话人(例如,通过自联系人列表用户界面600中选择“提醒”按钮602),或作为另一选择,让发话人选择使受话人的电话大声地响铃或播放一段特定铃声(例如,通过自联系人列表用户界面600中选择“响钤”按钮604)。在某些实施例中,提供多个通信选项(502)可包括提供与受话人(例如,用户希望与其通信的第三方或个体)相关联的上下文信息(510)。通信程序10可根据各种适宜的方式提供与个体相关联的上下文信息(510)。例如,在某些实施例中,通信程序10可提供与一个或多个受话人和/或潜在受话人(本文中统称为“受话人”)相关联的上下文信息(510)(以与联系人列表用户界面600中的各个受话人相关联的一个或多个图标(例如,驾驶图标606和/或步行图标608)的形式)。在其他实例中,通信程序10可简单地在与智能电话12相关联的显示器上显示上下文信息(例如,“用户34正以驾驶速度行进”)和/或例如经由文字至语音转换引擎等来宣布该信息。此外,可以其他方式提供各种类型的上下文信息(510)。例如,可经由地图显示界面来提供位置上下文信息(510)。例如,在其中用户34(例如,用户32希望启动与其的通信的个体)正以驾驶速度行进的实例性实施例中,通信程序10(独自和/或与例如地图应用程序等另一应用程序相结合)可呈现地图,该地图显示用户34的当前和/或最近位置并可进一步指示用户34正在驾驶。可类似地利用各种其他和/或替代机制来提供上下文信息(510)。如上所述,在某些实施例中,通信程序10可在提供多个通知选项之前提供上下文信息。The communication program 10 may provide multiple caller notification options (502). In some embodiments, the multiple notification options may, for example, allow the caller to select whether to silently or quietly alert the caller (e.g., by selecting a "Remind" button 602 from the contact list user interface 600), or, as another option, allow the caller to select whether to have the caller's phone ring loudly or play a specific ringtone (e.g., by selecting a "Ring" button 604 from the contact list user interface 600). In some embodiments, providing multiple communication options (502) may include providing contextual information (510) associated with the caller (e.g., a third party or individual with whom the user wishes to communicate). The communication program 10 may provide the contextual information (510) associated with the individual in various suitable ways. For example, in some embodiments, the communication program 10 may provide contextual information (510) associated with one or more callees and/or potential callees (collectively referred to herein as "callees") in the form of one or more icons (e.g., driving icon 606 and/or walking icon 608) associated with each callee in the contact list user interface 600. In other examples, the communication program 10 may simply display the contextual information on a display associated with the smartphone 12 (e.g., "User 34 is traveling at driving speed") and/or announce the information, for example, via a text-to-speech engine. In addition, various types of contextual information (510) may be provided in other ways. For example, location contextual information (510) may be provided via a map display interface. For example, in an example embodiment in which user 34 (e.g., the individual with whom user 32 wishes to initiate communication) is traveling at driving speed, the communication program 10 (alone and/or in conjunction with another application, such as a map application) may present a map that displays the current and/or most recent location of user 34 and may further indicate that user 34 is driving. Various other and/or alternative mechanisms may similarly be utilized to provide contextual information 510. As described above, in some embodiments, communication program 10 may provide contextual information prior to providing the plurality of notification options.
根据实施例,多个通知选项可包括能够在发话人与受话人之间执行轻量型预呼叫对话的一个或多个预定义或客制化对话选项。例如,该等对话选项可包括基本交换,例如,该等基本交换可用于例如根据个体的上下文或情形来判断个体是否有空与发话人接洽(例如,状态请求)和/或判断该个体是否具有优选通信模态或格式。例如,通信程序10可提供502包括该一个或多个对话选项的多个通知选项作为发话人可选择项。例如,如图6所示,通信程序10可提供“将我加入此呼叫”按钮610。响应于发话人选择按钮610,通信程序10a(独自和/或与另一应用程序相结合)可产生对话用户界面700,如图7所示。对话用户界面700可包括一个或多个预定义对话选项,该一个或多个预定义对话选项可为例如对话用户界面700中的可选择选项(例如,“仅仅打个招呼”选项702、“你有空吗”选项704、以及“需要现在交谈”选项706)。虽然示出对话菜单包括三个对话选项,但此仅旨在用于例示目的,且对话选项的数目及性质可根据设计标准及用户需要而改变。此外,对话用户界面可包括输入字段708,例如输入字段708可容许用户32输入自由形式的对话。此外,在某些实施例中,包括于对话菜单602中的对话选项可例如由用户、由应用程序开发者、系统管理者、或其他个体客制化。此外,虽然示出图7仅包括单个对话菜单,但也可包括不止一个对话菜单。在某些实施例中,可包括具有关于各种传讯方面(例如,个体的状态和/或有效性、优选通信模态、重要性等)的对话选项的各种对话菜单。According to an embodiment, the plurality of notification options may include one or more predefined or customized conversation options that enable a lightweight pre-call conversation between a caller and a callee. For example, the conversation options may include basic exchanges that can be used to determine, for example, whether an individual is available to speak with the caller (e.g., a status request) and/or whether the individual has a preferred communication modality or format, based on the individual's context or situation. For example, the communication application 10 may provide 502 a plurality of notification options including the one or more conversation options as selectable by the caller. For example, as shown in FIG6 , the communication application 10 may provide a "Add me to this call" button 610 . In response to the caller selecting button 610 , the communication application 10a (alone and/or in conjunction with another application) may generate a conversation user interface 700 , as shown in FIG7 . The conversation user interface 700 may include one or more predefined conversation options, which may be, for example, selectable options in the conversation user interface 700 (e.g., a "Just saying hi" option 702 , a "Are you available?" option 704 , and a "Need to talk now" option 706 ). While the conversation menu is shown as including three conversation options, this is intended for illustrative purposes only, and the number and nature of the conversation options may vary depending on design criteria and user needs. Furthermore, the conversation user interface may include an input field 708, which may, for example, allow user 32 to enter a free-form conversation. Furthermore, in some embodiments, the conversation options included in conversation menu 602 may be customized, for example, by the user, an application developer, a system administrator, or other individuals. Furthermore, while FIG. 7 is shown as including only a single conversation menu, more than one conversation menu may be included. In some embodiments, various conversation menus may be included with conversation options relating to various communication aspects (e.g., an individual's status and/or availability, preferred communication modality, importance, etc.).
通信程序10可接收来自多个通信选项其中之一的选择(504)。例如,发话人(例如,用户32)可例如使用触摸选择手势或其他适宜的选择机制来选择多个通知选项中的一个或多个(例如,包括于对话用户界面700中的对话选项中的一个或多个)。此外,通信程序10可至少部分地根据从多个通知选项中所选择的的一个,传输506通知至第三方(即,用户希望与其通信的受话人或个体)。Communication program 10 may receive a selection from one of a plurality of communication options (504). For example, a caller (e.g., user 32) may select one or more of a plurality of notification options (e.g., one or more of the conversation options included in conversation user interface 700), for example, using a touch selection gesture or other suitable selection mechanism. Furthermore, communication program 10 may transmit 506 a notification to a third party (i.e., a recipient or individual with whom the user wishes to communicate) based at least in part on the selection from the plurality of notification options.
通信程序10可进一步自第三方接收对通知的回复(512)。例如,响应于用户32自对话用户界面700中选择一对话选项(例如,“你有空吗?”704),通信程序10(例如,通信程序10a和/或通信程序10d)可传输通知至受话人(例如,用户34)(506)。参照图8,该通知可由与该受话人相关联的装置(例如,与用户34相关联的智能电话14)接收。对话选项可例如由对应的通信程序(例如,由智能电话14执行的通信程序10b)和/或另一适宜的应用程序显示于(例如,在用户界面750中)与个体相关联的装置(例如,智能电话14)上。在一个实施例中,用户界面750可包括一个或多个响应对话选项,该一个或多个响应对话选项可包括一个或多个可选择响应选项(例如,“现在无法交谈”752、“稍等”754、“我会很快给你回电话”756、以及“给我发简讯”758)。用户34可例如通过触模所期望的响应等而自响应用户界面750中选择恰当的响应。虽然已示出回应用户界面750包括四个选项,但包括于响应用户界面750中的选项的数目及性质仅旨在用于例示目的。包括于响应菜单中的响应的数目及性质可根据设计标准和/或用户需要而改变,且此外/作为另一选择,其可为可客制化的(例如,由用户、由系统管理者、由应用程序开发者、或由另一个体客制化)。此外,在某些实施例中,可使个体能够输入自由形式的响应(例如,经由输入字段760)和/或以其他方式响应自用户接收到的对话选项。The communication program 10 may further receive a response to the notification from a third party (512). For example, in response to user 32 selecting a conversation option (e.g., "Are you free?" 704) from the conversation user interface 700, the communication program 10 (e.g., communication program 10a and/or communication program 10d) may transmit a notification to the recipient (e.g., user 34) (506). Referring to FIG. 8 , the notification may be received by a device associated with the recipient (e.g., smartphone 14 associated with user 34). The conversation options may be displayed (e.g., in user interface 750) on the device associated with the individual (e.g., smartphone 14) by, for example, a corresponding communication program (e.g., communication program 10b executed by smartphone 14) and/or another suitable application. In one embodiment, the user interface 750 may include one or more response conversation options, which may include one or more selectable response options (e.g., "Can't talk now" 752, "Wait a minute" 754, "I'll call you back soon" 756, and "Send me a text message" 758). The user 34 can select an appropriate response from the response user interface 750, for example, by touching the desired response. Although the response user interface 750 is shown as including four options, the number and nature of the options included in the response user interface 750 are intended for illustrative purposes only. The number and nature of the responses included in the response menu can vary according to design standards and/or user needs, and can also or alternatively be customizable (e.g., by the user, by a system administrator, by an application developer, or by another individual). Furthermore, in some embodiments, an individual can be enabled to enter a free-form response (e.g., via the input field 760) and/or otherwise respond to the dialog options received from the user.
响应于受话人(例如,用户34)选择和/或以其他方式输入对通信程序10所传输的对话选项(506)的回复作为通知的部分,通信程序10可接收来自个体的回复(512)。例如,如图9所示,用户34可能已自回复用户界面750中选择回复选项“给我发简讯”。因此,用户界面800(例如,其可至少部分地由通信程序10a呈现于智能电话12上)可显示自个体接收到的回复(512)。In response to the recipient (e.g., user 34) selecting and/or otherwise entering a reply to the conversation option (506) transmitted by communication program 10 as part of the notification, communication program 10 may receive a reply (512) from the individual. For example, as shown in FIG9 , user 34 may have selected the reply option "Send me a text message" from reply user interface 750. Accordingly, user interface 800 (e.g., which may be presented at least in part by communication program 10a on smartphone 12) may display the reply (512) received from the individual.
通信程序10可启动与个体的通信(514)。例如,用户32可选择来自个体(例如,本实例中的用户34)的回复,和/或可选择启动选项(例如,提醒按钮802和/或响铃按钮804)。响应于用户32选择用户界面800中的回复和/或启动选项(例如,经由触模选择输入等),通信程序10可启动通信(514)。在其中所述回复指示个体期望进行基于文字的通信的所示实施例中,通信程序10可启动与用户34的通信(514),其中用户界面缺省值被配置成支持基于文字的通信以至少作为初始通信模态。当然,其他实施例可至少部分地根据对第三方的响应、用户偏好等而包括不同模态的通信。The communication program 10 may initiate communication with the individual (514). For example, the user 32 may select a reply from the individual (e.g., user 34 in this example), and/or may select an initiation option (e.g., reminder button 802 and/or ring button 804). In response to the user 32 selecting the reply and/or initiation option in the user interface 800 (e.g., via a touch selection input, etc.), the communication program 10 may initiate communication (514). In the illustrated embodiment in which the reply indicates that the individual desires to engage in text-based communication, the communication program 10 may initiate communication with the user 34 (514), wherein the user interface defaults are configured to support text-based communication as at least the initial communication modality. Of course, other embodiments may include different modes of communication based at least in part on the response to the third party, user preferences, etc.
虽然上述实例仅包括自用户至该用户希望与其通信的个体的单一对话交换、以及来自该个体的单一回复,但该实例性交换仅旨在用于例示目的,而非用于限制目的。在各种实施例中,在启动通信之前可能出现多个来回的对话交换。此外,如大体所示,一组或多组后续的对话和/或回应可至少部分地基于先前的对话和/或回应。例如,回应对话可至少部分地基于所接收到的对话,使响应对话选项可恰当地响应所接收到的对话。While the above example includes only a single conversation exchange from a user to an individual with whom the user wishes to communicate, and a single reply from that individual, this exemplary exchange is intended for illustrative purposes only and not for limiting purposes. In various embodiments, multiple back-and-forth conversation exchanges may occur before initiating communication. Furthermore, as generally shown, one or more subsequent conversations and/or replies may be based, at least in part, on previous conversations and/or replies. For example, a reply conversation may be based, at least in part, on a received conversation, such that a reply conversation option may appropriately respond to the received conversation.
如上文大体所述,根据某些方面,本文的通信程序可提供用于在人们之间达成通信的平台或系统。大体而言,在某些实施例中,该通信系统可提供单一应用程序,该单一应用程序可容许在单独的呼叫中以集成方式同时达成各种各样数据类型和/或介质类型之交换。本文所述的“呼叫”可统指由大体共享的时间属性联系在一起的互动序列,例如其中该等互动以时间顺序排序且相关,使该等互动可构成单一会话或相关的互动群组。此外,构成呼叫的互动序列就呼叫的参与者而言可大体上相关。例如,当在呼叫过程期间参与者的部分可能改变(例如,由于参与者加入和/或离开该呼叫)时,该呼叫可包括参与者属性。换句话说,可至少部分地根据谁正在参与该呼叫来识别该呼叫。因此,参与者可为呼叫的属性。在某些实施例中,本文的通信程序可提供应用程序和/或系统,该应用程序和/或系统可于一组呼叫参与者之间提供实时介质信道,该实时介质信道可容许在单呼叫过程期间同时使用多种不同数据类型和/或介质类型并容许该多种不同数据类型和/或介质类型之间无缝过渡。As generally described above, according to certain aspects, the communication programs herein may provide a platform or system for enabling communication between people. Generally speaking, in certain embodiments, the communication system may provide a single application that allows for the simultaneous exchange of a variety of data types and/or media types in an integrated manner within a single call. As used herein, a "call" may collectively refer to a sequence of interactions linked by a generally shared temporal attribute, such as where the interactions are chronologically ordered and related, such that they constitute a single conversation or group of related interactions. Furthermore, the sequence of interactions comprising a call may be generally related with respect to the participants of the call. For example, when the number of participants may change during the course of a call (e.g., due to participants joining and/or leaving the call), the call may include participant attributes. In other words, the call may be identified at least in part based on who is currently participating in the call. Thus, participants may be an attribute of the call. In certain embodiments, the communication program herein may provide an application and/or system that may provide a real-time media channel between a group of call participants that may allow for the simultaneous use of multiple different data types and/or media types during a single call and allow for seamless transitions between the multiple different data types and/or media types.
同样参照图9,在一个实施例中,通信程序10可接收经由信道启动呼叫的请求(900)。通信程序10也可识别与该信道相关联的呼叫参与者集合(902)。通信程序10可接收与该呼叫相关联的通信序列(904)。该通信序列可包括实时介质数据类型(例如,同步数据类型)及异步公告数据类型(asynchronously posted data type)。此外,通信程序10可传输该通信序列至该呼叫(906)。Referring also to FIG. 9 , in one embodiment, communication program 10 may receive a request to initiate a call via a channel ( 900 ). Communication program 10 may also identify a set of call participants associated with the channel ( 902 ). Communication program 10 may receive a communication sequence associated with the call ( 904 ). The communication sequence may include a real-time media data type (e.g., a synchronous data type) and an asynchronously posted data type. Furthermore, communication program 10 may transmit the communication sequence to the call ( 906 ).
通信程序10可接收经由信道启动呼叫的请求(900),并可识别与该信道相关联的呼叫参与者集合(902)。根据本发明,大体而言,呼叫可包括通过通信程序10而于通信系统的各成员间达成的互动集合。该互动集合会引起呼叫,并可包括在信道的环境中启动的该呼叫。信道可包括具有共享缺省参与者集合的一组一个或多个呼叫,该共享缺省参与者集合可被自动地邀请参与在该信道内启动的每呼叫。因此,参与互动的成员的参与者集合可为呼叫的属性。通信程序10可将缺省呼叫参与者集合识别为包括与信道相关联的参与者集合902。换句话说,通过缺省值设置,该呼叫参与者集合可包括该信道参与者集合。在某些实施例中,如以下更详细地论述,可通过对呼叫增加个体或自呼叫移除个体而为给定的呼叫修改信道参与者集合。呼叫参与者集合可包括可能实际上参与该呼叫的个体。The communication program 10 may receive a request to initiate a call via a channel (900) and may identify a set of call participants associated with the channel (902). According to the present invention, generally speaking, a call may include a set of interactions between members of a communication system achieved through the communication program 10. The set of interactions may result in a call and may include the call being initiated in the context of a channel. A channel may include a group of one or more calls having a shared default set of participants that may be automatically invited to participate in each call initiated within the channel. Thus, the participant set of members participating in the interaction may be an attribute of the call. The communication program 10 may identify the default call participant set as including the participant set 902 associated with the channel. In other words, by default, the call participant set may include the channel participant set. In some embodiments, as discussed in more detail below, the channel participant set may be modified for a given call by adding individuals to or removing individuals from the call. The call participant set may include individuals who may actually participate in the call.
在实例性实施例中,通信程序可响应于来自用户(例如,操作智能电话12的用户32)的输入而接收启动呼叫的请求(900)。来自用户32的输入可包括例如自与通信程序10相关联的联系人列表(例如,可与在智能电话12上执行的通信程序10a在本地互动或经由网络(例如网络20)互动的联系人列表)中选择信道。在某些实施例中,可通过正在哪信道中启动呼叫以及通过扩展该信道的成员或用户列表来隐式地选择信道。例如,通信程序10可容许信道的成员资格由用户手动地配置,或可被配置成自动地与以下者的集合同步:可在外部管理的个体(比如Facebook群组)、公共会议的参与者(例如,可经由日历应用程序等加以管理)、对联线工作空间或文件夹具有访问特权的个体等等。In an exemplary embodiment, the communication program may receive a request to initiate a call (900) in response to input from a user (e.g., user 32 operating smartphone 12). The input from user 32 may include, for example, selecting a channel from a contact list associated with the communication program 10 (e.g., a contact list that can interact with the communication program 10a executing on smartphone 12 locally or via a network (e.g., network 20)). In some embodiments, the channel may be implicitly selected by the channel in which the call is being initiated and by expanding the list of members or users of the channel. For example, the communication program 10 may allow the membership of the channel to be manually configured by the user, or may be configured to automatically synchronize with a collection of individuals that can be managed externally (such as a Facebook group), participants in a public meeting (e.g., that can be managed via a calendar application, etc.), individuals with access privileges to an online workspace or folder, and the like.
识别与信道相关联的呼叫参与者集合(902)可不仅包括识别可被邀请至该呼叫的个体,而且进一步包括识别与现有信道相关联的呼叫参与者集合(902)。如上文大体所述,在一个实施例中,识别与信道相关联的呼叫参与者集合(902)可包括访问与该信道相关联的预定义信道参与者集合(908)。与该信道相关联的预定义信道参与者集合可包括例如可与以往呼叫或先前存在的信道(例如,可能已在以往用于所定义的个体群组间的一个或多个呼叫之信道)相关联的个体的列表。因此,在此种实施例中,通信程序10可通过访问与先前存在的信道及先前的呼叫相关联的参与者集合(908)而识别呼叫参与者集合(902)。换句话说,信道参与者集合可至少部分地形成呼叫参与者集合(例如,可经过任何修改,例如为达成呼叫目的而对信道参与者集合增加和/或删除个体)的基础。Identifying a set of call participants associated with a channel (902) may include not only identifying individuals that may be invited to the call, but may further include identifying a set of call participants associated with an existing channel (902). As generally described above, in one embodiment, identifying a set of call participants associated with a channel (902) may include accessing a set of predefined channel participants associated with the channel (908). The set of predefined channel participants associated with the channel may include, for example, a list of individuals that may be associated with a previous call or a previously existing channel (e.g., a channel that may have been used in the past for one or more calls between a defined group of individuals). Thus, in such an embodiment, the communication program 10 may identify the set of call participants (902) by accessing the set of participants associated with the previously existing channel and the previous call (908). In other words, the set of channel participants may at least partially form the basis of the set of call participants (e.g., subject to any modifications, such as adding and/or removing individuals from the set of channel participants for the purpose of the call).
在另一实施例中,访问与信道相关联的预定义信道参与者集合(908)可包括访问联系人列表,该联系人列表可由通信程序10访问和/或与通信程序10集成为一体。例如,在一个实施例中,用户(例如,用户32)可定义与通信程序10相关联的联系人列表。与通信程序相关联的联系人列表可包括对与用户32相关联的一个或多个信道的指示,其中各一个或多个信道皆可在该信道中包括—个、或不止一个参与者。例如,联系人列表中的各个体联系人可形成配对信道(例如,包括用户32及联系人中所列出的个体的信道参与者集合)。类似地,在联系人列表中所列出的每一联系人群组(可包括不止一个个体)可形成群组信道(例如,包括用户32及该个体集合的信道参与者集合)。响应于接收经由信道启动呼叫的请求(900),通信程序10可进一步识别与该信道相关联的呼叫参与者集合(例如,该呼叫的预期参与者)(902),识别与该信道相关联的呼叫参与者集合(902)可包括访问与该信道相关联的预定义信道参与者集合(908),例如,定义于联系人列表中的预定义信道参与者集合。包括预定义参与者集合的信道可包括显式信道(explicit channel)。In another embodiment, accessing a predefined set of channel participants associated with a channel (908) may include accessing a contact list that is accessible by and/or integrated with communication program 10. For example, in one embodiment, a user (e.g., user 32) may define a contact list associated with communication program 10. The contact list associated with the communication program may include an indication of one or more channels associated with user 32, where each of the one or more channels may include one or more participants in the channel. For example, each individual contact in the contact list may form a paired channel (e.g., a set of channel participants that includes user 32 and the individuals listed in the contacts). Similarly, each group of contacts listed in the contact list (which may include more than one individual) may form a group channel (e.g., a set of channel participants that includes user 32 and the set of individuals). In response to receiving a request to initiate a call via a channel (900), communication program 10 can further identify a set of call participants associated with the channel (e.g., intended participants of the call) (902). Identifying the set of call participants associated with the channel (902) can include accessing a predefined set of channel participants associated with the channel (908), such as a predefined set of channel participants defined in a contact list. The channel including the predefined set of participants can include an explicit channel.
在一个实施例中,识别与信道相关联的呼叫参与者集合(902)可包括至少部分基于个体的隐式关联来定义信道(910)。例如,还如上大体所述,信道可与隐式个体群组相关联,该隐式个体群组可包括例如彼此间的关联可由共同互动或交集点所隐含的个体群组。例如,该个体群组可为常见社交网络群组(例如,Facebook群组、或其他类似群组)的成员。在另一实例中,个体群组可被示为一会议或活动的出席者和/或被邀请者,可使用日历系统或应用程序来对该会议或活动进行排程。个体的类似隐式关联可基于例如对共享联线空间或文件夹具有访问特权的个体。因此,通信程序10可识别呼叫的缺省参与者集合(902),此包括根据个体的隐式关联来定义信道。根据此种实施例,通信程序10可接收请求以根据与各个隐式相关的个体的交集点相关联的用户输入(例如,通过选择社交网络群组、日历事件等)而经由信道来启动呼叫(900)。以类似于上述的方式,且如以下将更详细地描述,呼叫参与者集合可基于经修改的信道参与者集合(例如,通过对信道参与者集合增加个体或自信道参与者集合移除个体而修改)。In one embodiment, identifying a set of call participants associated with a channel (902) may include defining a channel (910) based at least in part on implicit associations of individuals. For example, as also generally described above, a channel may be associated with an implicit group of individuals, which may include, for example, a group of individuals whose association with each other may be implied by a common interaction or intersection point. For example, the group of individuals may be members of a common social network group (e.g., a Facebook group, or other similar group). In another example, the group of individuals may be represented as attendees and/or invitees of a meeting or event that may be scheduled using a calendar system or application. Similar implicit associations of individuals may be based on, for example, individuals having access privileges to a shared online space or folder. Thus, the communication program 10 may identify a default set of participants for a call (902), which includes defining a channel based on implicit associations of individuals. According to such an embodiment, the communication program 10 may receive a request to initiate a call (900) via the channel based on user input associated with an intersection point of various implicitly related individuals (e.g., by selecting a social network group, a calendar event, etc.). In a manner similar to that described above, and as will be described in greater detail below, a call participant set may be based on a modified channel participant set (eg, modified by adding individuals to or removing individuals from the channel participant set).
根据各种实施例,可扩展和/或限制呼叫参与者。例如,通信程序10可容许具有已定义(隐式地或显式地)参与者集合的信道为达成呼叫目的而被扩展至包括一个或多个其他参与者。呼叫参与者集合的扩展可以是暂时性的(例如,用于单独呼叫和/或单独呼叫的一部分)。在某些实施例中,呼叫参与者集合的扩展可为永久性的(例如,可用于与信道相关联的所有呼叫,并可进而明确地修改基础信道参与者集合)。在某些实施例中,信道参与者集合的永久性扩展可形成新信道,该新信道可包括该已扩展的参与者集合。以大体对应的方式,通信程序10可容许针对呼叫而通过从已定义(隐式地或显式地)参与者集合移除一个、或不止一个参与者来限制具有该已定义参与者集合的信道,进而形成呼叫参与者集合,该呼叫参与者集合为信道参与者集合的子集。对与呼叫相关联的参与者集合的成员的限制可为暂时性的(例如,用于单独呼叫)和/或永久性的,进而修改基础信道参与者集合。在某些实施例中,对与信道相关联的参与者集合之永久性限制可使得形成新信道(例如,相对于简单地修改先前存在的信道),该新信道包括该受限制的参与者集合,同时具有原始参与者集合的原始信道仍保持存在。According to various embodiments, call participants can be expanded and/or restricted. For example, the communication program 10 may allow a channel with a defined (implicitly or explicitly) set of participants to be expanded to include one or more additional participants for the purpose of a call. This expansion of the call participant set can be temporary (e.g., for a single call and/or a portion of a single call). In some embodiments, this expansion of the call participant set can be permanent (e.g., applicable to all calls associated with the channel and thereby explicitly modifying the base channel participant set). In some embodiments, a permanent expansion of a channel participant set can form a new channel that includes the expanded participant set. In a generally corresponding manner, the communication program 10 may allow a channel with a defined (implicitly or explicitly) set of participants to be restricted for a call by removing one or more participants from the set, thereby forming a call participant set that is a subset of the channel participant set. Restrictions on the membership of a participant set associated with a call can be temporary (e.g., for a single call) and/or permanent, thereby modifying the base channel participant set. In some embodiments, permanent restriction of a set of participants associated with a channel may result in the formation of a new channel (e.g., as opposed to simply modifying a pre-existing channel) that includes the restricted set of participants, while the original channel with the original set of participants remains in existence.
根据各种实施例,可结合启动呼叫的请求来使用适宜的用户界面。例如,响应于对联系人列表中联系人和/或联系人群组的长时间触摸或多点用户选择、或响应于隐式相关的个体的交集点,通信程序10可(独自和/或与一个或多个其他应用程序相结合)呈现用户界面(例如的菜单等)。通信程序10所呈现的用户界面可为用户(例如,上述实例中的用户32)提供请求启动呼叫的选项。According to various embodiments, a suitable user interface can be used in conjunction with a request to initiate a call. For example, in response to a long touch or multi-point user selection of a contact and/or contact group in a contact list, or in response to the intersection of implicitly related individuals, communication program 10 can (alone and/or in conjunction with one or more other applications) present a user interface (e.g., a menu, etc.). The user interface presented by communication program 10 can provide a user (e.g., user 32 in the above example) with the option to request to initiate a call.
启动呼叫可包括例如向呼叫参与者集合的各成员传讯,进而提醒该等成员的意向该成员经由信道执行呼叫。传讯可包括传统通知配置,该等传统通知配置包括传输通知至与呼叫参与者集合的各成员相关联的一个或多个装置。此外/作为另一选择,也可实施如本文大体所述的高级传讯。此种传讯的实例可利用预呼叫对话,例如该等预呼叫对话可确定可用性及优选呼叫模态。可类似地利用与呼叫的启动相关联的其他传讯。Initiating a call may include, for example, messaging each member of the call participant set, thereby alerting each member of the call participant set to their intent to initiate a call via a channel. Messaging may include traditional notification configurations, including transmitting notifications to one or more devices associated with each member of the call participant set. Additionally or alternatively, advanced messaging, as generally described herein, may also be implemented. Examples of such messaging may utilize pre-call dialogs, such as those that determine availability and preferred call modalities. Other messaging associated with initiating a call may similarly be utilized.
通信程序10可接收与呼叫相关联的通信序列(904)。该通信序列可包括至少实时介质数据类型及异步公告数据类型。例如,如上文大体所述,根据一个方面,通信程序10可容许通信包括多种不同的数据类型和/或包括多种不同的介质类型。在一个实施例中,接收通信序列(904)可包括接收通信序列作为实时封包化数据传输。The communication program 10 may receive a communication sequence associated with a call (904). The communication sequence may include at least a real-time media data type and an asynchronous announcement data type. For example, as generally described above, according to one aspect, the communication program 10 may allow for communications including multiple different data types and/or including multiple different media types. In one embodiment, receiving the communication sequence (904) may include receiving the communication sequence as a real-time packetized data transmission.
根据各种实施例,实时介质数据可包括实时传输及使用的数据、以及串流式介质数据类型,例如,包括可实时使用或可不实时使用的实时串流数据。如本文所使用的术语“实时”可大体上指如下介质数据:其中所传输的数据可由一个或多个呼叫参与者利用该数据的传输大体同时地接收。在一个实施例中,实时介质数据类型可包括实时音频数据(例如,语音数据)和/或可包括例如视频数据等实时数据。在一个实例中,实时音频数据可包括IP语音数据,和/或实时视频数据可包括IP语音数据,尽管可类似地利用其他形式的实时音频数据。根据此种方面,包括于呼叫中的通信序列的至少一部分可包括语音通信。语音通信可包括实时语音通信,例如该等实时语音通信可类似于标准电话或IP语音呼叫中的语音通信。在一个实施例中,可通过例如可与通信应用程序10(例如,由服务器计算机18执行的通信应用程序10d)互动的PBX、IP语音技术、或统一电话系统来便利与呼叫相关联的语音通信之切换及路由。在一个实施例中,PBX、IP语音技术、或统一电话系统可与公用电话交换网互连。According to various embodiments, real-time media data may include data transmitted and consumed in real time, as well as streaming media data types, such as real-time streaming data that may or may not be consumed in real time. As used herein, the term "real-time" may generally refer to media data in which the transmitted data can be received by one or more call participants substantially simultaneously with the transmission of the data. In one embodiment, the real-time media data type may include real-time audio data (e.g., voice data) and/or real-time data such as video data. In one example, the real-time audio data may include voice-over-IP data, and/or the real-time video data may include voice-over-IP data, although other forms of real-time audio data may similarly be utilized. According to this aspect, at least a portion of the communication sequence included in the call may include voice communications. The voice communications may include real-time voice communications, such as those in standard telephone or voice-over-IP calls. In one embodiment, the switching and routing of voice communications associated with the call may be facilitated by, for example, a PBX, voice-over-IP technology, or a unified telephone system that may interact with communication application 10 (e.g., communication application 10d executed by server computer 18). In one embodiment, a PBX, Voice over IP technology, or unified telephone system may be interconnected with the public switched telephone network.
在一个实施例中,实时音频数据可包括连续串流式语音数据。在某些实施例中,可以以对称方式来实现连续串流式语音数据,例如在该对称方式中,包括于呼叫参与者集合中的所有成员可产生并使用连续串流式语音数据至和/或包括于呼叫参与者集合中的其他成员。在某些实施例中,实时音频数据可包括突发音频传输(例如突发语音传输)。例如,同样参照图10,通信程序10可提供交谈按钮1000,例如,该交谈按钮1000可在经由触控屏幕界面提供的用户界面1002中包括虚拟按钮。响应于用户启动交谈按钮1000,通信程序10可接收语音数据(例如,可经由与计算装置相关联的麦克风接收到的任意音频数据)(904)。当释放交谈按钮1000时,通信程序10可停止接收语音数据(904)。在一个实施例中,通信程序10可容许用户在提供突发语音数据与提供连续语音数据之间转变。例如,如上所述,响应于用户按压交谈按钮1000,通信程序10可接收突发语音数据达交谈按钮1000被启动时间之久(904)。在一个实施例中,通信程序10可容许用户转变成提供连续语音数据。例如,用户可通过按压虚拟按钮而激活交谈按钮1000。随后,该用户可调用锁定手势(例如,横向地滑动交谈按钮1000、或其他适宜的手势)。响应于用户调用该锁定手势,通信程序10可接收连续语音数据(904)。In one embodiment, the real-time audio data may include continuous streaming voice data. In some embodiments, the continuous streaming voice data may be implemented in a symmetrical manner, for example, in which all members included in the set of call participants may generate and use continuous streaming voice data to and/or other members included in the set of call participants. In some embodiments, the real-time audio data may include bursty audio transmissions (e.g., bursty voice transmissions). For example, also referring to FIG. 10 , the communication program 10 may provide a talk button 1000, for example, which may include a virtual button in a user interface 1002 provided via a touch screen interface. In response to a user activating the talk button 1000, the communication program 10 may receive voice data (e.g., any audio data that may be received via a microphone associated with the computing device) (904). When the talk button 1000 is released, the communication program 10 may stop receiving voice data (904). In one embodiment, the communication program 10 may allow the user to switch between providing bursty voice data and providing continuous voice data. For example, as described above, in response to a user pressing talk button 1000, communication program 10 may receive burst voice data for the duration of the time talk button 1000 is activated (904). In one embodiment, communication program 10 may allow the user to transition to providing continuous voice data. For example, the user may activate talk button 1000 by pressing a virtual button. The user may then invoke a lock gesture (e.g., sliding talk button 1000 horizontally, or other suitable gesture). In response to the user invoking the lock gesture, communication program 10 may receive continuous voice data (904).
除同步的及实时的、几乎实时的和/或串流的音频数据(例如语音数据和/或视频数据)之外,通信程序10可接收各种类型的同步串流介质数据类型及异步张贴介质数据类型(904)。由通信程序10接收到的介质数据类型可被同步地和/或异步地传输(906)。此外,介质数据类型可作为已定义的内容片段被接收(904)及传输(906),例如一旦介质数据被张贴(posted)便可使用该已定义的内容片段,或可在传输介质的同时实时地同步使用及处理该已定义的内容。在一个实施例中,张贴介质数据类型可包括视频数据(例如,视频剪辑)、图像、文字、Web数据、位置数据等中的一个或多个。In addition to synchronous and real-time, near real-time, and/or streaming audio data (e.g., voice data and/or video data), the communication program 10 can receive various types of synchronous streaming media data types and asynchronous posted media data types (904). The media data types received by the communication program 10 can be transmitted (906) synchronously and/or asynchronously. In addition, the media data types can be received (904) and transmitted (906) as defined content segments, such as the defined content segments that can be used once the media data is posted, or the defined content can be used and processed synchronously in real-time while the media is being transmitted. In one embodiment, the posted media data types can include one or more of video data (e.g., a video clip), images, text, web data, location data, etc.
虽然上文已描述了各实例性数据类型及介质类型,但应理解,此等实例仅旨在用于例示目的,而非用于限制目的。也可利用各种其他和/或替代数据类型及介质类型。可作为与呼叫相关联的通信的一部分而被包括的数据的实例可包括自计算装置所提供的功能的传感器得到的数据(例如,自例如计算装置所提供之导航或地图应用程序及GPS或其他功能提供的位置、行进路线、速度、方向等等)。可使用与计算装置相关联的麦克风及照相机功能来产生实时音频(例如,语音)和/或视频数据、以及音频剪辑、视频剪辑、照片等等。可利用输入设备(例如触控屏幕界面)来产生尖笔或手指的画写。可利用网络浏览器应用程序来产生和/或撷取网络内容、网络链路等。文字数据、文献等可经由计算装置而产生和/或经由与计算装置相关联的输入和/或储存功能而在通信中访问和/或实现。因此,在各种实施例中,所传输的同步及异步数据类型可包括以下中的一个或多个:视频、静止或活动图像、文字、网络链路、位置及路线数据、手势、画写、文件及文件夹及文献、语音及音乐及音频、软件码及脚本、QR及NFC及条形码、服务数据的质量(其包括信号强度、延迟及性能)、传感器及从装置、从其操作系统、从附加装置或应用程序或因特网服务、以及从可经有线或无线方式连接的装置周边设备所获得的其他此种数据。虽然上述论述已提供了可作为呼叫中的通信而被接收904并传输906的数据的许多实例,但该列表并非旨在为穷尽性的,因为也可利用其他数据类型和/或介质类型。While various example data types and media types have been described above, it should be understood that these examples are intended for illustrative purposes only and not for purposes of limitation. Various other and/or alternative data types and media types may also be utilized. Examples of data that may be included as part of communications associated with a call may include data obtained from sensors provided by functionality provided by the computing device (e.g., location, route, speed, direction, etc., provided by, for example, navigation or mapping applications and GPS or other functionality provided by the computing device). Microphone and camera functionality associated with the computing device may be used to generate real-time audio (e.g., voice) and/or video data, as well as audio clips, video clips, photos, etc. Input devices (e.g., touchscreen interfaces) may be used to generate stylus or finger drawings. Web browser applications may be used to generate and/or retrieve web content, web links, etc. Text data, documents, etc. may be generated by the computing device and/or accessed and/or implemented in communications via input and/or storage functionality associated with the computing device. Thus, in various embodiments, the synchronous and asynchronous data types transmitted may include one or more of the following: video, still or moving images, text, network links, location and route data, gestures, drawings, files and folders and documents, voice and music and audio, software code and scripts, QR and NFC and barcodes, quality of service data (including signal strength, latency and performance), sensors and other such data obtained from the device, from its operating system, from additional devices or applications or Internet services, and from device peripherals that may be connected via wired or wireless means. While the above discussion has provided many examples of data that may be received 904 and transmitted 906 as communications in a call, this list is not intended to be exhaustive, as other data types and/or media types may also be utilized.
通信程序10可传输通信序列至呼叫(906)。例如,通信程序10传输已接收的通信(904)至呼叫参与者集合的所有成员(906)。在某些实施例中,呼叫参与者集合的一个或多个成员可能不参与该呼叫(例如,可能未加入过该呼叫)。在一个实施例中,传输通信序列至呼叫参与者集合的每个成员(906)可包括同步地将通信序列传输至呼叫参与者集合的至少一部分。在一个实施例中,将通信序列同步传输至的呼叫参与者集合的一部分可包括呼叫参与者集合中可参与该呼叫的成员。同步地传输通信序列可包括实时地或几乎实时地传输通信序列至呼叫参与者集合的一部分。The communication program 10 may transmit a communication sequence to a call (906). For example, the communication program 10 transmits the received communication (904) to all members of the set of call participants (906). In some embodiments, one or more members of the set of call participants may not be participating in the call (e.g., may not have joined the call). In one embodiment, transmitting the communication sequence to each member of the set of call participants (906) may include synchronously transmitting the communication sequence to at least a portion of the set of call participants. In one embodiment, the portion of the set of call participants to which the communication sequence is synchronously transmitted may include members of the set of call participants that may participate in the call. Synchronously transmitting the communication sequence may include transmitting the communication sequence to the portion of the set of call participants in real time or near real time.
在某些实施例中,呼叫参与者集合的至少一部分可能不参与呼叫和/或可能会体验到不良的数据连接性,例如该不良的数据连接性可妨碍呼叫中的实时参与者。在此种情况下,传输通信序列至呼叫参与者集合的每个成员(906)可包括异步地将通信序列传输至呼叫参与者集合的至少一部分。异步地传输通信序列可包括例如张贴该通信序列以供随后由呼叫参与者集合的一个或多个成员检索和/或供在可用基础上检索,例如该可用基础可至少部分地取决于与参与者集合的该一个或多个成员相关联的数据连接性。In some embodiments, at least a portion of the set of call participants may not be participating in the call and/or may experience poor data connectivity, e.g., which may prevent real-time participants in the call. In such cases, transmitting the communication sequence to each member of the set of call participants (906) may include asynchronously transmitting the communication sequence to at least a portion of the set of call participants. Asynchronously transmitting the communication sequence may include, for example, posting the communication sequence for subsequent retrieval by one or more members of the set of call participants and/or for retrieval on an available basis, e.g., which available basis may depend at least in part on data connectivity associated with the one or more members of the set of participants.
可实现各种适宜的用户界面来接收与呼叫相关联的个体通信,并与其交互作用。在某些实施例中,可实现不同的用户界面,例如该不同的用户界面可遵从特定通信的特定数据类型。根据某些实施例,可同时访问多个用户界面,例如此可容许产生不同的数据类型和/或与不同的数据类型互动。例如,可结合对图像或视频数据的撷取(例如,经由与计算装置相关联的照相机功能)来实现取景器用户界面,同时可结合对包括于网站中的网络链接或数据的撷取来实现网络浏览器用户界面。通信程序10可接收经由各种适宜的用户界面而撷取的数据(904)。可以类似方式结合对由通信程序10所传输的通信的使用来利用各种用户界面。结合通信程序10而构建的用户界面可不仅容许撷取通信以及使用来自其他用户的通信,且也可容许与该等通信互动(例如调处、转接、及变换该等通信)。在某些实施例中,可通过在不同用户界面屏幕或窗格之间横向地或垂直地卷动(例如,根据经由触控屏幕接口的击打输入手势等)来访问各种用户界面。应理解,可结合包括通信序列的呼叫来类似地实现各种其他和/或替代用户界面,该通信序列可包括多种不同的数据类型和/或多种不同的介质类型。Various suitable user interfaces may be implemented to receive and interact with individual communications associated with a call. In some embodiments, different user interfaces may be implemented, for example, the different user interfaces may be tailored to the specific data type of a particular communication. According to some embodiments, multiple user interfaces may be accessed simultaneously, for example, to allow for the generation and/or interaction with different data types. For example, a viewfinder user interface may be implemented in conjunction with the capture of image or video data (e.g., via a camera function associated with a computing device), while a web browser user interface may be implemented in conjunction with the capture of web links or data included in a website. Communication program 10 may receive data captured via various suitable user interfaces (904). Various user interfaces may be utilized in a similar manner in conjunction with the use of communications transmitted by communication program 10. User interfaces constructed in conjunction with communication program 10 may not only allow for the capture and use of communications from other users, but may also allow for interaction with such communications (e.g., mediating, forwarding, and transforming such communications). In some embodiments, the various user interfaces may be accessed by scrolling horizontally or vertically between different user interface screens or panes (e.g., based on a tap input gesture via a touch screen interface, etc.). It should be understood that various other and/or alternative user interfaces may be similarly implemented in connection with a call including a communication sequence that may include a variety of different data types and/or a variety of different media types.
在一个实施例中,通信程序10可记录与呼叫相关联的通信序列(912)。例如,记录呼叫可包括将互动储存于适宜的数据储存器中,例如该适宜的数据储存器可与服务器计算机18和/或与另计算装置相关联。在一个实施例中,所记录的与呼叫相关联的通信序列(912)可例如由包括于与信道相关联的参与者集合中的其中一个或多个个体访问。在一个实施例中,例如可经由网络浏览器和/或通过使用客制化应用程序来访问所记录的呼叫。In one embodiment, the communication program 10 may record a communication sequence associated with the call (912). For example, recording the call may include storing the interaction in a suitable data store, such as may be associated with the server computer 18 and/or another computing device. In one embodiment, the recorded communication sequence associated with the call (912) may be accessed, for example, by one or more individuals included in a set of participants associated with the channel. In one embodiment, the recorded call may be accessed, for example, via a web browser and/or by using a customized application.
在一个实施例中,记录呼叫(912)可包括使用与通信序列相关联的标记及介质数据。例如,记录与呼叫相关联的通信序列可包括定义该通信序列的各通信与该呼叫间的关联(914)。例如,通信程序10可定义与呼叫中的通信序列的各通信相关联的标记(914)。所定义的标记(914)可将各通信(例如,分别地和/或共同地)识别为与该呼叫相关联。因此,对呼叫的记录可至少部分地基于被标记成属于特定呼叫的通信。在一个实施例中,每个通信可进一步包括序列标记和/或时间戳,例如该序列标记和/或时间戳可指示通信在呼叫中的按时间顺序的位置。In one embodiment, recording a call (912) may include using tags and media data associated with a communication sequence. For example, recording a communication sequence associated with a call may include defining an association (914) between each communication of the communication sequence and the call. For example, the communication program 10 may define tags (914) associated with each communication of the communication sequence in the call. The defined tags (914) may identify each communication (e.g., individually and/or collectively) as being associated with the call. Thus, the recording of the call may be based at least in part on communications that are marked as belonging to a particular call. In one embodiment, each communication may further include a sequence tag and/or a timestamp, e.g., the sequence tag and/or timestamp may indicate a chronological position of the communication in the call.
在一个实施例中,记录与呼叫相关联的通信序列(912)也可包括定义该呼叫与信道间的关联(916)。例如,该呼叫与该信道间的关联可包括与每呼叫相关联(和/或与被标记成与给定呼叫相关联的每个通信相关联)的标记,该标记可将该呼叫(和/或被标记成与该呼叫相关联的每个通信)识别为与给定信道相关联。由此,通信程序10可将每个呼叫标记为与特定信道相关联。In one embodiment, recording a sequence of communications associated with a call (912) may also include defining an association between the call and a channel (916). For example, the association between the call and the channel may include a tag associated with each call (and/or associated with each communication tagged as associated with a given call) that identifies the call (and/or each communication tagged as associated with the call) as being associated with a given channel. Thus, the communication program 10 may tag each call as being associated with a particular channel.
此外,在实例性实施例中,记录与呼叫相关联的通信序列(912)可包括定义呼叫参与者集合的每个成员与信道间的关联(918)。例如,通信程序10可包括通信系统的所有成员的列表。通信程序10可定义包括于信道的参与者集合中的每个成员与该信道自身间的关联(918)。例如,通信程序10可定义918与由通信程序10便利化的通信系统的每个成员相关联的标记,其中该标记可识别信道,该成员包括于该信道的参与者集合中。在其中通信系统的成员可包括于不止一个信道的参与者集合中的情况下,通信程序10可定义918与每个信道的成员相关联的标记以表明该成员包括于参与者集合中。Furthermore, in an exemplary embodiment, recording a communication sequence associated with a call (912) may include defining an association between each member of a call participant set and a channel (918). For example, the communication program 10 may include a list of all members of a communication system. The communication program 10 may define an association between each member included in a channel's participant set and the channel itself (918). For example, the communication program 10 may define 918 a tag associated with each member of a communication system facilitated by the communication program 10, wherein the tag may identify a channel in which the member is included in the participant set of the channel. In instances where a member of the communication system may be included in the participant set of more than one channel, the communication program 10 may define 918 a tag associated with the member of each channel to indicate that the member is included in the participant set.
在一个实施例中,可以以时间轴方式呈现信道中的各呼叫和/或呼叫中的各通信。例如,经由与通信程序10所便利化的通信系统的成员相关联的用户界面,通信程序10可容许该成员识别一个或多个该成员被标记成与其相关联的信道。此外,各个信道可包括对与每个信道相关联的呼叫的按时间顺序的表示。在一个实施例中,选择与信道相关联的呼叫可生成用户界面,该用户界面包括对被标记成与该呼叫相关联的通信的按时间顺序的表示。在一个实施例中,被标记成与该呼叫相关联的通信的该表示可包括通信本身(例如,如文字、图片等图形通信)和/或可被选择成使用该通信的该通信的(例如,以重放音频记录或视频记录等)表示。可类似地实现用于呈现和/或访问呼叫和/或通信的各种其他和/或替代方案。In one embodiment, calls within a channel and/or communications within a call can be presented in a timeline format. For example, via a user interface associated with a member of the communication system facilitated by communication program 10, communication program 10 can allow the member to identify one or more channels with which the member is tagged. Furthermore, each channel can include a chronological representation of the calls associated with each channel. In one embodiment, selecting a call associated with a channel can generate a user interface that includes a chronological representation of the communications tagged as associated with the call. In one embodiment, the representation of the communications tagged as associated with the call can include the communications themselves (e.g., graphical communications such as text, images, etc.) and/or representations of the communications that can be selected for use (e.g., by replaying an audio or video recording, etc.). Various other and/or alternative approaches for presenting and/or accessing calls and/or communications can similarly be implemented.
在某些实施例中,呼叫的内容可随时间衰减。例如,通过缺省值设置和/或通过用户偏好,呼叫的内容(例如,构成呼叫的各个通信)可在所定义的时间段之后过期,此后该内容可不再有效。在实例性实施例中,呼叫内容的衰减可包括该内容之分辨率或质量的递减。例如,随着时间的经过(例如,根据缺省值和/或用户偏好),通信的质量和/或分辨率可降低。品质和/或分辨率降低的实例可包括:与图像相关联的图像解析度的降低、与音频成分相关联的比特率的降低等等。在一个实施例中,用户可明确地选择使某些呼叫被无限期地保留,使其不会衰减或劣化或不可访问。In certain embodiments, the content of a call may decay over time. For example, by default settings and/or by user preferences, the content of a call (e.g., the individual communications comprising the call) may expire after a defined period of time, after which the content may no longer be valid. In exemplary embodiments, the decay of the content of a call may include a gradual reduction in the resolution or quality of the content. For example, the quality and/or resolution of communications may decrease over time (e.g., according to default settings and/or user preferences). Examples of degradation in quality and/or resolution may include a reduction in image resolution associated with images, a reduction in the bit rate associated with audio components, and the like. In one embodiment, a user may explicitly elect to have certain calls retained indefinitely, so that they do not decay or degrade or become inaccessible.
在一个实施例中,通信程序10可容许公布呼叫和/或与呼叫相关联的一个或多个通信(例如,呼叫的一部分)。例如,公布呼叫和/或呼叫的一部分可包括导出(例如,保存内容、复制内容等)该呼叫和/或呼叫的该部分至通信程序10所便利化的通信系统外部的位置。在某些实施例中,公布呼叫和/或呼叫的一部分可包括容许建立到达该呼叫和/或呼叫的一部分的链接。例如,到达呼叫和/或呼叫的一部分的链接可容许从通信程序10所便利化的通信系统外部的位置访问该呼叫和/或该呼叫的一部分。例如,在一个实施例中,可例如经由社交网络网站而公布经由信道的呼叫至社交网络群组,该呼叫包括个体的隐式关联,该隐式关联具有交集点,该交集点可包括该社交网络群组。In one embodiment, communication program 10 may allow for publication of a call and/or one or more communications associated with the call (e.g., a portion of the call). For example, publishing a call and/or a portion of the call may include exporting (e.g., saving content, copying content, etc.) the call and/or the portion of the call to a location external to the communication system facilitated by communication program 10. In certain embodiments, publishing a call and/or a portion of the call may include allowing for establishment of a link to the call and/or the portion of the call. For example, a link to the call and/or the portion of the call may allow access to the call and/or the portion of the call from a location external to the communication system facilitated by communication program 10. For example, in one embodiment, a call via a channel may be published to a social network group, such as via a social networking website, the call including an implicit association of individuals, the implicit association having an intersection point, and the intersection point including the social network group.
在一个实施例中,记录与呼叫相关联的通信序列(912)可包括定义与该呼叫相关联的访问控制(920)。例如,通信程序10可容许包括于呼叫的参与者集合中的一个、或不止一个成员来实施访问控制,例如该访问控制可限制与该呼叫相关联的通信的公布和/或散布。在某些实施例中,一个或多个缺省访问控制可与相关联。In one embodiment, recording a communication sequence associated with a call (912) may include defining access controls associated with the call (920). For example, the communication program 10 may allow one or more members of a set of participants included in the call to implement access controls, such as access controls that may restrict publication and/or dissemination of communications associated with the call. In some embodiments, one or more default access controls may be associated with the call.
此外,虽然本文已描述了各种实施例及特征,但对于本领域的技术人员将显而易见的是,各种实施例及特征可相互组合和/或可具有各种其他/替代组合。本文所公开的主题的所有此种组合皆旨在涵盖于本发明中。In addition, although various embodiments and features have been described herein, it will be apparent to those skilled in the art that the various embodiments and features may be combined with each other and/or may have various other/alternative combinations. All such combinations of the subject matter disclosed herein are intended to be encompassed by the present invention.
图中所示的流程图及框图示出了根据本发明各种实施例的系统、方法及计算机程序产品的架构、功能、及可能的实施方式的运作。就此而言,流程图或框图中的每个方框可代表模块、区段或码部,该模块、区段或部分代码,所述代码包括用于执行一个或多个规定逻辑功能的一个或多个可执行指令。还应注意,在某些替代实施方式中,方框中所述的功能可能不以图中所述的顺序进行。例如,根据所涉及的功能,可实际上实质同时地执行顺次显示的两个方框,或有时可以相反的顺序执行该等方框。还应注意,可由执行规定功能或动作的专用硬件系统、或由专用硬件与计算机指令的组合来实施该等框图和/或流程圆的每个方框、及该等框图和/或流程图的方框的组合。The flowcharts and block diagrams shown in the figures illustrate the architecture, functions, and possible implementations of the systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each box in the flowchart or block diagram may represent a module, segment, or code portion, which includes one or more executable instructions for performing one or more specified logical functions. It should also be noted that in some alternative embodiments, the functions described in the box may not be performed in the order described in the figure. For example, depending on the functions involved, the two boxes shown in sequence may actually be executed simultaneously, or sometimes the boxes may be executed in the opposite order. It should also be noted that each box in the block diagrams and/or flow charts, and the combination of the boxes in the block diagrams and/or flow charts, may be implemented by a dedicated hardware system that performs a specified function or action, or by a combination of dedicated hardware and computer instructions.
本文所使用的术语仅供用于描述具体实施例的目的,而非旨在限制本发明。如本文所使用的单数形式“一个(a或an)”及“该(the)”旨在还包括复数形式,除非上下文另外清楚地表示。更应理解,当在本说明书中使用术语“包括(comprises和/或comprising)”时,其用于规定所述特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或增加。The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the present invention. As used herein, the singular forms "a" or "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should be further understood that when the terms "comprises and/or comprising" are used in this specification, they are used to specify the presence of the stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or combinations thereof.
以下权利要求中的所有手段或步骤加功能要件的对应结构、材料、动作、及等效物旨在包括用于与所明确主张的其他要素相组合来执行功能的任何结构、材料、或动作。本发明的说明仅供用于例示及说明目的,而非旨在作为穷尽性说明或将本发明限制为所公开的形式。在不背离本发明的范围及精神的条件下,许多修改及变型对于本领域的普通技术人员而言将会一目了然。选择及描述所述实施例是为了最佳地阐释本发明的原理及实际应用、且使本领域的普通技术人员理解本发明以得到适用于所设想的具体应用的经过各种修改的各种实施例。The corresponding structures, materials, actions, and equivalents of all means or step plus function elements in the following claims are intended to include any structure, material, or action for performing the function in combination with other elements explicitly claimed. The description of the present invention is provided for illustration and description purposes only and is not intended to be exhaustive or to limit the invention to the disclosed form. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiments are selected and described in order to best illustrate the principles of the invention and its practical application, and to enable those of ordinary skill in the art to understand the invention to obtain various modified embodiments suitable for the specific application envisioned.
以上已参照其实施例而详细描述了本申请的发明,显然,在不背离随附权利要求中所界定的本发明范围的条件下,可作出各种修改及变型。Having described the invention of the present application in detail above with reference to embodiments thereof, it will be apparent that various modifications and variations are possible without departing from the scope of the invention as defined in the appended claims.
Claims (45)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US61/486,531 | 2011-05-16 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1195375A HK1195375A (en) | 2014-11-07 |
| HK1195375B true HK1195375B (en) | 2020-09-25 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103733185B (en) | Multiple data type communication system | |
| KR101951975B1 (en) | communication system | |
| CN111316624B (en) | Personalized audio/video invites for phone calls | |
| US9569752B2 (en) | Providing parameterized actionable communication messages via an electronic communication | |
| CN105519141B (en) | Seamless call transition with pre-escalation participation confirmation | |
| CN104937545B (en) | The method for operating application program of group's session services is provided using Mobile Internet Protocol voice | |
| US9385981B2 (en) | System and method for providing multi-modal asynchronous communication | |
| US20110270936A1 (en) | Systems, methods, and computer programs for monitoring a conference and communicating with participants without joining as a participant | |
| CN113055628A (en) | Displaying video call data | |
| BR112013003161B1 (en) | METHOD IMPLEMENTED ON COMPUTER AND COMPUTER-READABLE STORAGE MEDIA FOR MEDIA/VOICE CONNECTION PROTOCOL AND RELATED USER INTERFACES | |
| US20170339277A1 (en) | Methods and systems for notifications in communications networks | |
| WO2013055259A2 (en) | Call scheduling system | |
| US20150140978A1 (en) | Voice conversations in a unified and consistent multimodal communication framework | |
| US20150365133A1 (en) | Touch and Talk Auto-Configuring of Video Conferences Using Near Field Communication (NFC) | |
| HK1195375B (en) | Multi-data type communications system | |
| HK1195375A (en) | Multi-data type communications system | |
| US9301110B1 (en) | Multimodal communication system and method | |
| HK1198377B (en) | Methods, apparatuses and systems for multi-data type communications |