专利摘要:
system and methods of multi-data type communications. the present invention relates to methods and systems for integrated communications. in one modality, a request to initiate a call through a channel is received. a set of call participants associated with the channel is identified. a sequence of communications associated with the call is received. the communications stream includes at least one real-time media data type and one posted data type. the communications sequence is transmitted to the call. other methods and systems are described.
公开号:BR112013029438B1
申请号:R112013029438-8
申请日:2012-05-16
公开日:2021-08-03
发明作者:Raymond E. Ozzie
申请人:Microsoft Technology Licensing, Llc;
IPC主号:
专利说明:

Cross Reference to Related Orders
This application claims benefit to U.S. provisional patent application serial number 61/486,531 entitled "COMMUNICATIONS SYSTEM", filed May 16, 2011, all descriptions of all applications thereof are incorporated herein by reference. Field of Technique
The present description refers to communication systems and, more particularly, it refers to multi-data type communication systems.
Description Background
A variety of communication systems and mechanisms are often used in both business and personal interactions. The communications systems that are available can often shape the way people interact with one another. Communication and expression often need to be forced through an ineffective means of communication. Sometimes, restrictions provided by the modality of communication, such as only audio, only text, only two participants, only synchronous or only asynchronous, etc., can impose limitations and restrictions on the expression of ideas. The result can be that individuals may be left with an incomplete or inadequate capacity for expression, communication or interaction. Description Summary
According to a first implementation, a method may include receiving a request for authentication from a user. An authentication communication can be generated through a third-party application associated with the user. The method may also include transmitting the authentication communication to an authentication system.
One or more of the following features may be included. The request for authentication may include a request for authentication associated with the 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 the third-party application. The generation of the authenticating communication can include pre-population of a communication content that includes a user identification. The generation of the authentication communication can include pre-population of a communication content that includes an authentication code. Generation of the authentication communication can include pre-population of a communication recipient. Generating the authentication communication can include receiving a user credential associated with a communication application. The method can additionally include user authentication.
According to another implementation, a computer program product includes a computer-readable medium that has a plurality of instructions stored thereon. When executed by a processor, instructions can cause the processor to perform operations that include receiving a request for authentication from a user. Instructions can also be included to generate an authentication communication through a third-party application associated with the user. Instructions can be additionally included for transmitting the authentication communication to an authentication system.
According to another implementation, a method may include receiving a request to initiate communication with a third party. A plurality of notification options may be provided. A selection from one of the plurality of notification options may be received. A notification may be transmitted to a third party based, at least in part, on one of the plurality of notification options selected.
One or more of the following features may be included. The method may also include receiving context information associated with third parties. Providing the plurality of notification options may additionally include providing the associated context information to third parties. Context information can include one or more of location and trajectory information. Context information can include activity information associated with a communication device associated with a third party.
The plurality of notification options can include one or more predefined dialog options. One or more predefined dialog options can include a suggested communication modality. One or more predefined dialog options can include a status prompt.
The method may also include receiving a response to the third party notification. The method may also include initiating communication with third parties based, at least in part, on the response to the notification.
According to another implementation, a computer program product includes a computer-readable medium that has a plurality of instructions stored thereon. When executed by a processor, instructions can cause the processor to perform operations that include receiving a request to initiate communication with a third party. A plurality of notification options may be provided. A selection from one of the plurality of notification options may be received. A notification may be transmitted to third parties based, at least in part, on the plurality of notification options selected.
According to another implementation, a method may include receiving a request to initiate a call over a channel. A set of call participants associated with the channel can be identified. A sequence of communications associated with the call can be transmitted. The communications stream may include at least one real-time media data type and one posted data type. The communications sequence can be transmitted to the call.
One or more of the following features may be included. Identifying the set of call participants associated with the channel may include accessing a set of predefined channel participants associated with the channel. Identifying the set of call participants associated with the channel can include defining a set of channel participants based, at least in part, on an implicit association of individuals.
Receiving the communications stream may include receiving the communications stream as real-time packet data transmissions. Realtime media data type can include realtime audio data. Real-time audio data can include voice over IP data. Real-time audio data may include a bursty audio stream. The type of media data posted may include one or more video data, images, text, web data, location data.
Transmission of the communications stream for the call may include transmitting the communications stream for each member of the set of call participants. Transmitting the communications sequence to each member of the set of call participants may include synchronously transmitting the communications sequence to at least a portion of the set of call participants. Transmission of 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 also include recording the communications sequence associated with the call. Recording the communications sequence associated with the call may include defining an association between each of the communications in the communications sequence and the call. Recording the communications sequence associated with the call may include defining an association between the call and the channel. Recording the communications sequence associated with the call may include defining an association between each member of the call participant set and the channel. Recording the communications sequence associated with the call may include setting an access control associated with the call.
According to another implementation, a computer program product includes a computer-readable medium that has a plurality of instructions stored thereon. When executed by a processor, instructions can cause the processor to perform operations that include receiving a request to initiate a call over a channel. The instructions can also cause the processor to identify a set of call participants associated with the channel. The instructions can also cause the processor to receive a sequence of communications associated with the call. The communications stream may include at least one real-time media data type and one posted data type. Instructions can also cause the processor to transmit the communications sequence for the call.
One or more of the following features may be included. Identifying the set of call participants associated with the channel may include accessing a set of predefined channel participants associated with the channel. Identifying the set of call participants associated with the channel can include defining a set of channel participants based, at least in part, on an implicit association of individuals.
Receiving the communications stream may include receiving the communications stream as real-time packet data transmissions. Realtime media data type can include realtime audio data. Real-time audio data can include voice over IP data. Real-time audio data can include bursty audio transmission. The type of media data posted may include one or more video data, images, text, web data, location data.
Transmission of the communications stream for the call may include transmitting the communications stream for each member of the set of call participants. Transmitting the communications sequence to each member of the set of call participants may include synchronously transmitting the communications sequence to at least a portion of the set of call participants. Transmission of 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 can also be included to record the communications sequence associated with the call. Recording the communications sequence associated with the call may include defining an association between each of the communications in the communications sequence and the call. Recording the communications sequence associated with the call may include defining an association between the call and the channel. Recording the communications sequence associated with the call may include defining an association between each member of the call participant set and the channel. Recording the communications sequence associated with the call may include setting an access control associated with the call.
According to another implementation, a computing system includes a processor and processor-coupled memory. The processor and memory can be configured to perform operations that include receiving a request to initiate a call over a channel. The processor and memory can be configured to identify a set of callers associated with the channel. The processor and memory can also be configured to receive a sequence of communications associated with the call. The communications stream may include at least one real-time media data type and one posted data type. The processor and memory can be further configured to transmit the communications sequence for the call.
One or more of the following features may be included. Identifying the set of call participants associated with the channel may include accessing a set of predefined channel participants associated with the channel. Identifying the set of call participants associated with the channel can include defining a set of channel participants based, at least in part, on an implicit association of individuals.
Receiving the communications stream may include receiving the communications stream as real-time packet data transmissions. Realtime media data type can include realtime audio data. Real-time audio data can include voice over IP data. Real-time audio data may include a bursty audio stream. The type of media data posted may include one or more video data, images, text, web data, location data.
Transmission of the communications stream for the call may include transmitting the communications stream for each member of the set of call participants. Transmitting the communications sequence to each member of the set of call participants may include synchronously transmitting the communications sequence to at least a portion of the set of call participants. Transmission of 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.
The processor and memory can be further configured to record the communications sequence associated with the call. Recording the communications sequence associated with the call may include defining an association between each of the communications in the communications sequence and the call. Recording the communications sequence associated with the call may include defining an association between the call and the channel. Recording the communications sequence associated with the call may include defining an association between each member of the call participant set and the channel. Recording the communications sequence associated with the call may include setting an access control associated with the call.
Details of one or more implementations are set out in the attached drawings and description below. Other features will become apparent from the description, drawings and claims. Brief Description of Drawings
Figure 1 diagrammatically shows a communication process coupled to a distributed computing network.
Figure 2 is a flowchart of a process that can be performed by the communication process in Figure 1.
Figure 3 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1.
Figure 4 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1.
Figure 5 is a flowchart of a process that can be performed by the communication process in Figure 1.
Figure 6 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1.
Figure 7 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1.
Figure 8 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1.
Figure 9 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1.
Figure 10 is a flowchart of a process that can be performed by the communication process in Figure 1.
Figure 11 graphically shows a user interface that can be generated, at least in part, by the communication process in Figure 1. Detailed Description of the Invention
As will be appreciated by one of skill in the art, the present invention may be incorporated as a method, system or computer program product. Consequently, the present invention may take the form of an all-hardware modality, an all-software modality (including firmware, resident software, microcode, etc.) or a modality that combines aspects of software and hardware that may be generally referred to herein. document as a "circuit", "module" or "system". Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium that has computer-usable program code embedded in the medium.
Any suitable computer-readable or computer-readable medium (also referred to herein as a computer-readable medium and/or a storage device associated with a computing device or client electronic device) may be used. The computer-usable or computer-readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device. More specific examples (a non-detailed list) of computer-readable media might include the following: an electrical connection that has one or more wires, a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device. In the context of this document, a computer-usable or computer-readable medium can be any non-transient medium that can contain, store, communicate or transport the program for use by or in connection with the instruction execution system, apparatus or device.
Computer program code to perform the operations of the present invention may be written in an object-oriented programming language such as Java, Smalltalk, C++, or the like. However, computer program code to perform the operations of the present invention may also be written in conventional procedural programming languages, such as the "C" programming language or similar programming languages, and/or in scripting languages. , such as the JavaScript programming language or the Groovy programming language. In addition, various application programming interfaces (APIs) and/or application development frameworks such as Dojo or Grails development frameworks can be used in writing the computer program. Program code can run entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer, and partially on a remote computer, or entirely on the remote computer or server. In the last scenario, the remote computer can be connected to the user's computer via a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, via the Internet using an Internet Service Provider).
The present invention is described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products, in accordance with embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a general purpose computer processor, special purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, which execute through the computer's processor or other programmable data processing apparatus, create means to implement the functions/actions specified in the block or blocks of the flowchart and/or block diagram.
These computer program instructions can also be stored in computer readable memory which can direct a computer or other programmable data processing apparatus to function in a particular manner so that the instructions stored in computer readable memory produce an article that includes instructions that implement the function/action specified in the block or blocks of flowchart and/or block diagram.
Computer program instructions can also be loaded into a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, so that the instructions that execute on the computer or other programmable apparatus provide steps to implement the functions/actions specified in the block or blocks of flowchart and/or block diagram.
With reference to Figure 1, the communication process 10a to 10d (which may be collective and/or generally referred to as the communication process 10) was shown which can be situated or can be performed by one or more electronic client devices (by example, client electronic devices 12, 14, 16, etc.) and/or by the server computer 18. One or more client electronic devices 12, 14, 16 and/or server computer 18 can be connected to the network 20 (for example, the Internet, a local area network, a private government network, or other network). Examples of client electronic devices may include mobile computing devices (eg smartphones 12, 14, tablet computing devices, data enabled mobile phones, network connected personal digital assistants, or similar), personal computing devices (eg , notebook computer 16, desktop computers, game consoles, and the like), network-connected television devices and/or signal decoders, network camera devices, network-embedded computing devices, as well as various computing devices additional/alternative network connected. 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, a mainframe computer, cloud computing services which may include virtualized instances of computers. servers, and the like.
As will be described in greater detail below, the communication process 10 can generally provide an integrated communication system that can allow simultaneous interactions between small and/or large groups of users across multiple data and/or media types. Several different types of information, ideas and 10 subjects in question can be better communicated and shared in different ways. As such, the communication process 10 can enable rich interactions between users through the simultaneous exchange, sharing and/or consumption of audio messages and conversations, video content, text-based information, images, and the like. The communication process 10 can allow multiple different types of data and media 15 to be exchanged between users and consumed by users providing an integrated user experience.
The instruction sets of the concept development process 10, which may include one or more software modules, and which may be stored on the storage device (e.g., one or more storage devices 22, 24, 26, 28) coupled to one or more of the client electronic devices 12, 14, 16, and/or server computer 18, can be run by one or more processors (not shown) and one or more embedded memory modules (not shown) on client electronic devices 12, 14, 16 and/or server computer 18. Storage devices 22, 24, 26, 28 may include, but are not limited to: 25 a hard disk drive; a solid state drive, a tape drive; an optical drive; a RAID array; a random access memory (RAM); a read-only memory (ROM), a flash memory device, or similar.
Each of the client electronic devices 12, 14, 16 can run an appropriate operating system, for example, Mac OS, iOS, Android OS, Windows, or other suitable operating system. (Mac OS is a registered trademark of Apple Inc. in the United States, other countries, or both; iOS is a registered trademark of Cisco Systems, Inc.; Android is a registered trademark of Google Inc. in the United States, other countries, or both; Windows is a registered trademark of Microsoft Corporation in the United States, other countries, or both). Additionally, the client electronic devices 12, 14, 35 16 can allow various data capture and rendering functionalities 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. Several different client electronic devices may additionally provide additional/alternative functionality, which includes, but is not limited to, sensor functionality that includes, but is not limited to, location (eg, by acquiring GPS data, or similar ).
In addition, although not shown, client electronic devices 12, 14, 16 can run a variety of applications, which include, but are not limited to, web browser applications (eg Safari®, Chrome®, Internet Explorer®; Safari; is a registered trademark of Apple Inc. in the United States, other countries, or both; Chrome is a registered trademark of Google Inc. in the United States, other countries, or both; Internet Explorer is a registered trademark of Microsoft Corporation in the United States, other countries, or both), text messaging apps, instant messaging apps, audio, video and/or image capture apps and editing apps, social networking apps (eg Facebook app, Linkedln app, etc.). ). Several additional/alternative applications can be similarly run by one or more client devices 12, 14, 16. The communication process 10a, 10b, 10c can be a standalone application and/or can be a module and/or component of one or more additional applications run by client electronic devices 12, 14, 16. Additionally/alternatively, the communication process 10a, 10b, 10c can interact with one or more applications run by client electronic devices 12, 14, 16.
In some embodiments, server computer 18 may be an internet-connected server (or a series of servers) running a network operating system, examples of which may include, but are not limited to: Microsoft® Windows® Server; Novell® NetWare®; or Red Hat® Linux®, for example. (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 US 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 run a web server application, examples of which may include , however, are not limited to: Microsoft IIS, Novell Webserver™, or Apache® HTTP Server, Apache® Tomcat® application server, which allows HTTP (ie HyperText Transfer Protocol) to access server computer 18 through of network 20 (Webserver is a registered 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 modalities, the server computer is implemented as cloud services, such as Amazon Web Services and/or Microsoft Windows Azure. Network 20 may be connected to one or more secondary networks (eg, network 30), examples of which may include, but are not limited to: a local area network; a long-distance network; or an intranet, for example.
In some embodiments, server computer 18 can run various applications in addition to communication process 10d. For example, server computer 18 may run data storage systems, which include but are not limited to database systems. Server computer 18 may also run, for example, a Voice over IP system and/or unified telephone system (for example, which may be provided by the open source platform Asterisk sponsored by Digium, Inc., code telephony platform open FreeSWITCH or other suitable application and/or communication platform Various additional/alternative applications can be run by the server computer 18.
Under various embodiments, communication process 10 may include a client-side process performed by one or more client electronic devices 12, 14, 16. In addition, in some embodiments, communication process 10 may include a client-side process. from the client run by the server computer 18. For example, as a server-side process, one or more users (eg users 32, 34, 36) can access the server-side process (eg, communication process 10d ) via a web browser, or other suitable application (for example, which may include an application that can provide functionality in addition to accessing the 10d server-side communication process). Additionally, in some embodiments, the communication process 10 may include a hybrid client-server process with some of the functionality of the communication process 10 performed by one or more client electronic devices 12, 14, 16 and some of the functionality of the communication process. communication 10 performed by server computer 18. In various hybrid embodiments, one or more client-side communication processes 10a, 10b, 10c may include standalone communication applications and/or may include modules or features from other applications, and/or, otherwise, they may be integrated and/or interact with one or more other applications (for example, they may provide functionality in addition to the functionality provided by one or more communication applications 10a, 10b, and/or 10c).
Users 32, 34, 36 can access the communication process 10 through the client electronic device that performs the communication process 10 (e.g. smartphone 12 that performs the communication process 10a, smartphone 14 that performs the communication process 10b, notebook computer 16 which performs communication process 10c). Using the communication process 10, one or more users 32, 34, 36 can interact with each other using a variety of data types in a contemporary way, allowing for a rich and dynamic exchange of ideas and information between users.
The various client electronic devices can be directly or indirectly coupled to network 20 (or network 30). For example, smartphone 12 is shown wirelessly coupled to network 20 via wireless communication channel 38 established between smartphone 12 and wireless access point (i.e., WAP) 40, which is shown directly coupled to network 14. The WAP 40 can be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi, and/or Bluetooth device that is capable of establishing the wireless communication channel 38 between the smartphone 12 and the WAP 40. Smartphone 14 is shown wirelessly coupled to network 14 via wireless communication channel 42 established between smartphone 14 and cellular network/bridge 44, which is shown directly coupled to network 14. Notebook computer 16 is shown coupled to network 30 (e.g., which may additionally be coupled to network 20 and/or server computer 18 via connection 46) via a wired connection.
As known in the art, all IEEE 802.11x specifications can use Ethernet protocol and multiple access with carrier detection and collision detection (i.e., CSMA/CA) for path sharing. The various 802.11x specifications can use either phase shift keying modulation (ie PSK) or supplemental code keying modulation (ie CCK), for example. As known in the art, Bluetooth is a telecommunications industry specification that allows, for example, cell phones, computers and personal digital assistants to be interconnected using a wireless short-range connection.
One or more exemplary embodiments described may illustrate particular features and/or aspects of the description. For the purpose of description, reference may be made to the communication process 10a performed by smartphone 12 and/or in connection with user 32. However, it will be understood that such reference is for the purpose of explanation only, and should not be construed as a limitation of the present description. Other instantiations of the communication process, client electronic devices, and/or users can also be used.
Referring also to Figure 2, according to an aspect, the communication process 10 can facilitate user registration or enrollment in an application or system that can utilize authentication and/or verification of a user's identity. In some embodiments, the communication process 10 may allow a user to register or subscribe to the application using an existing third-party application associated with the user for the purpose of authenticating and/or verifying the user's identity without requiring the user to stop browsing from a subscription user interface. For example, in general, the communication process 10 may receive 100 a request for authentication from a user. The communication process 10 can generate an authentication communication through a third party application associated with the user. The communication process 10 can further transmit 104 the authentication communication to an authentication system.
For example, and referring also to Figure 3, user 32 may wish to subscribe or register in the third party communication system (for example, in some modalities, which may be provided, at least in part and/or in connection with the communication process 10). The communication process 10, alone and/or in conjunction with one or more additional applications, can provide the registration user interface 150. The registration user interface 150, for example, may allow the user 32 to register and/or de otherwise subscribe through a third party system provided by the communication process 10. It will be appreciated that the registration and authentication functionality provided by the communication process 10 can be implemented in conjunction with the applications and/or systems with which the user is already it may have authenticated its identity, for example, which in this way can provide an easy authentication process. As discussed above, the communication process 10 may receive 100 a request for user authentication. The request for authentication may include a request for authentication associated with a third-party application associated with the user (that is, the user can identify how they wish to be identified for authentication purposes). 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 the user 32 to select an authentication mode that will be used for the purpose of registration of the application and for the purpose of user authentication and/or verification of a user's identity. For example, user 32 may use a telephone number, email address, existing social network identification, or the like, for the purpose of authenticating his identity to the communication system.
As shown, in an exemplary embodiment, the registration user interface 150 may include selection options (eg, buttons 152, 154, 156) that may allow user 32 to select a third-party application that user 32 wishes to use to authenticate your identity to the system. As shown, buttons 152, 154, 156 can identify various third party applications (ie email, sms and social network) that can be used to authenticate user 32. Although user interface 150 is shown including three options (or ie, "email", "sms" and "social network"), such options are intended for the purpose of illustration, and not limitation, as other options (eg, that have associated third-party applications) may also be used. , which include, but are not limited to, other authentication systems, messaging systems (such as instant messaging systems), and the like. In one embodiment, in response to the user 32 selecting a button (e.g., via touch input that can be received by the communication process 10 via a touch screen associated with the smartphone 12), the communication process 10 may receive 100 a request for user authentication. The request for user authentication may include a request for authentication associated with a third-party application (eg "email" in the illustrated example) associated with user 32.
Upon receipt 100 of the request for authentication from the user (e.g., based at least in part on the selection of a third-party application associated with the user), the communication process 10 can generate 102 an authentication communication via the application application. selected third party associated with the user. In one embodiment, the communication process 10 may interact with (directly and/or indirectly) the selected third-party application associated with the user for the purpose of generating 102 the authentication communication.
Referring also to Figure 4, the communication process 10 can generate 102 authentication communication via the third-party application associated with the user (e.g., an email application in the preceding example) using an embedded sending form 158 to the email application. Communication. The communication process 10 can generate 102 the authentication communication using the embedded sending form, for example as a pop-up window with the registration user interface 150 issuing a request to launch the communication application associated with the user .
As shown in Figure 4, in some embodiments, the generation 102 of the authentication communication may include pre-population 110 of a communication content that includes a destination address and an authentication code. For example, communication process 10 may pre-populate 110 one or more fields of the communication within sending form 158. In the illustrated example, communication process 10 may pre-populate 110 the "to" field 160 and the "to" field 160. subject" 162 of the sending form 158. In various embodiments, the "to" field 160 can be pre-addressed, for example, with an email address or SMS telephone number associated with an address associated with an authentication system associated with the communication process 10. For example, using the pre-addressed “to” field, the third-party communications service associated with the third-party communication application can transmit (for example, and essentially deliver) the message to the communication process 10.
In several modalities, the “from” field 164 can be populated based on one or more account settings of the communication application (ie, email application, in the exemplary modality) associated with the user. In some embodiments, the selected third-party application associated with the user may include more than one user account. For example, an email app associated with smartphone 12 might include more than one email account that can be accessed through the email app. According to an exemplary modality, the "from" field 164 can be pre-populated (eg by an operating system or by the email application, etc.) based on a default account, for example, which can be defined in one or more preferences associated with the smartphone 12 and/or the email application run by the smartphone 12. In such modality, the communication application can generate 102 an authentication communication through the selected third-party application based on the identified default account (by example, the "from" field 164 may be pre-populated 110 based on standard account information, e.g. from a device operating system, or the like). In some embodiments, communication process 10 may allow user 32 to select a desired account for the purpose of generating 102 authentication communication. Although not shown, in some embodiments, user 32 can select, for example, to pre-populate the "from" field 164, which can result in the communication process 10 (alone and/or in conjunction with the email application, or another third-party application) that renders various user interfaces (eg pop up menus, or similar) that may allow the user to select a desired account for authentication.
In addition, the communication process 10 may pre-populate 110 the body 166 of the communication included in the sending form 158. In some embodiments, the pre-population 110 of the body 166 may include generating an authentication code, e.g. can be used by an authentication system to authenticate the user 32. In some embodiments, pre-population of the “subject” field 162 may include generating such an authentication code. According to the previous example, the communication process 10 can generate 102 the authentication communication which includes the information necessary to authenticate the user 32 with the communication system (or other system to which the user 32 can register), based on the 32 user who selects the communication application through which authentication is desired. Furthermore, it may not be necessary for the user 32 to navigate away from the user interface 150 provided by the communication process 10. Consequently, in some embodiments, a registration and/or authentication process for registering an application and/or system can be simplified and can be more "user friendly".
The communication process 10 can further transmit 104 the authentication communication to an authentication system. For example, in connection with the generated authentication communication 102 (e.g., which may be included in sending form 158), the communication process 10 may allow the user (e.g., user 32 in the modality described above) to assert its intent to register, for example, by selecting the re-registration button 168. In response to the user 32 selecting the re-registration button 168, the communication process 10 may instruct the mutually trusted third-party communication system to transmit and try to deliver the authentication communication. Pre-addressing the "to" field 160 (that is, pre-filling the "to" field 160) can cause the message to be finally delivered, for example, through a server connected to network 18, to the process of communication 10d. Upon receipt of this message, authentication code 168 can be used to verify and correlate this received authentication message. Accordingly, in response to receiving the message and correlating the received authentication code included in the message, the communication process 10 (e.g., the communication process 10d executed by the server computer 18) can authenticate 114 the user. As known in the art, the authentication system (e.g., which may include the 10d communication process, and/or other authentication system and/or process) can then use a variety of standard techniques that can verify that the communication The input (e.g. generated 102, at least in part, by the communication process 10) is authentic and is not a spoofed communication and/or address.
In some embodiments, generation 102 of the authentication communication may include receiving 112 a user credential 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, the user may wish to use the authentication system associated with a third-party social networking system for registration and/or authentication purposes. In such a modality, the communication process 10 may advise the user of a set of third-party authentication systems that the user wishes to use it for registration and/or authentication which may then require the user to enter login credentials ( for example, username and password) associated with that social networking system. The communication process 10 can summon the social networking system (eg by transmitting 108 an authentication request to the social networking system) which can receive user credentials (eg which can be entered through an interface appropriate user interface), and can provide 116 authentication based on successful authentication with this third-party system.
According to some embodiments, a communication system and method, in accordance with the present description, can provide a platform that can allow rich and multifaceted interaction through multi-player communication systems, and polysynchronous communication systems that can integrate directly and facilitate real-time and asynchronous modalities. The interaction can be more than just voice or images, however, it can preferably include an integration of many types and modalities of data that can provide a user experience that can be about sharing and observing in a way that leverages all diverse capabilities. and functionalities of modern computing devices such as smartphones and the like. Different types and modalities of data can be used across different contexts to provide highly meaningful and interactive experiences.
In one aspect of the present description, a communication system can provide signaling functionality and features that can decrease transaction costs associated with individuals connecting to one another. As used in this document, signaling can generally encompass interactions that can occur as a precursor to the actual content of a communication. In some modalities, signaling can include interactions and activities through which communication can be initiated and/or established between individuals. According to one implementation, the communication process 10 may receive a request from a user (i.e., a caller) to initiate communication with a third party (i.e., one or more receivers). The communication process 10 may provide 502 with a plurality of notification options. The communication process 10 may receive 504 the selection of one of the plurality of notification options. The communication process 10 may further transmit 506 a notification to third parties based, at least in part, on one of a plurality of selected notification options.
For example, in one embodiment, the communication process 10 may receive 500 a request to initiate a communication. In some embodiments, the request by the caller to initiate a communication with one or more recipients may include, at least to one level, an identification of the individual or individuals with whom the caller may wish to communicate, and an indication that the caller may want to start the communication. For example, and with reference to Figure 6, according to some embodiments, a communication process (eg, associated communication process 10a executed by smartphone 12 associated with user 32), alone or in conjunction with one or more additional applications, may provide contact list user interface 600. Contact list user interface 600 may include a listing of one or more individuals who may use (e.g., may be registered) a cooperative communication system. In such an embodiment, the communication process 10 may receive 500 the request to initiate a communication in response to the caller (e.g. user 32) who selects an individual (e.g. user 34, who therefore can be a receiver) to from the contact list user interface 600. In various embodiments, the user 32 can simply select (for example, through a touch screen interface or other suitable selection device) the individual with which the user 32 ( as the caller) wants to initiate a communication.
According to various additional/alternative modalities, the communication process 10 can interact with one or more additional applications and/or use one or more additional/alternative interfaces through which the communication process 10 can receive 500 the request to initiate a communication . For example, in one embodiment, the communication process 10 can interact with a calendar application run by a computing device that runs the communication process 10 (e.g., a calendar application run by the smartphone 12 that can run the reporting application. communication 10a). In one modality, the caller (eg User 32) can select an individual who can be listed as a guest of a meeting included in the calendar application. In response to a suitable user input (for example, a touch input and finger swipe input, or canvas touch input, or other suitable user input), the communication process 10 may, alone and/or together with the calendar app, render a menu option to initiate communication with the selected individual. When user 32 selects the menu option to initiate a communication with the selected individual, the communication process 10 may receive a request to initiate a communication with the selected individual. Communication process 10 may receive 500 a request to initiate a communication with a selected individual in a similar manner in response to user interactions with various additional/alternative applications such as social networking applications, email applications, mapping applications (for example, which may include an indication of the location of several individuals), or other suitable applications.
In some embodiments, in response to receiving 500 of a request to initiate a communication with an individual, the communication process 10 may receive 508 context information associated with the individual with whom the user has indicated an intention to communicate. In some embodiments, the communication process 10 may receive 508 the context information in response, for example, to the contact list user interface 600 (or other interface from which a receiver may be selected) that is invoked. That is, in one embodiment, the communication process 10 can receive context information associated with one or more receivers (and/or potential receivers) based on an interface from which a receiver that is invoked can be selected. According to various modalities, context information can provide, to varying degrees, information and/or status recognition indications that refer to the recipient (ie, the individual with whom a communication wish was received 500). For example, context information may include information that can provide indicators and/or indications as to the individual's availability status and likely ability and/or willingness to participate in a communication, and/or a communication format in which the individual may be able to participate. These contextual indications can be explicitly set by the receiver (eg in an associated communication application executed by a client device associated with the receiver), and/or can be automatically derived by the communication application from the operating system of the client device, the client device hardware sensors, and/or application programs, services, etc., associated with the client device associated with the receiver. Contextual indications may include a general or specific, current or recent location, direction and speed of the receiver, or those of its communication device.
For example, context information may include one or more of an individual's location (i.e., the receiver) and trajectory information associated with the individual, for example, as may be provided by a GPS receiver, compass, and accelerometer associated with a device associated with the individual (eg smartphone 14 associated with user 34), proximity to a cellular transceiver or WiFi access point, etc. Location information can include absolute and/or relative location information (eg, the individual is at your home, the individual is near you, etc.). Similarly, trajectory information can indicate, for example, the individual's movement and information such as specific or general speed and direction of movement. Context location and/or trajectory information can indicate, for example, that the individual is currently traveling at driving speeds in a generally northeasterly direction, etc. The context of the individual currently moving at driving speeds can be leveraged, for example, in relation to a type of data that can be used to communicate with the individual. For example, text-based communication may not be a desired communication format for an individual who may be driving, etc.
In some embodiments, context information may include sensor information associated with a client device associated with the third-party receiver (eg, smartphone 14 associated with user 34). For example, sensor information might indicate that the device was dark, connected, and in an immobile state (for example, based on accelerometers or other sensors associated with the device) for the past seven hours. In combination with additional information such as time of day information, etc., activity information may provide context information that suggests the individual may not be using the communication device, may be asleep, etc.
In some embodiments, context information may be received 508 based on information associated with the individual's other applications. For example, a phone application associated with the individual (eg phone functionality associated with the smartphone 14 used by the user 34) can provide context information such as the individual currently involved in the device's microphone and speaker usage in a PSTN call. A meeting scheduled in a calendar application associated with the individual can provide context information, such as the individual currently involved in a date (for example, and it can also provide context information that pertains to the meeting, such as the meeting that is a conference call and/or web conference, etc.). Various add-on/alternative applications associated with the individual may also provide context information associated with the individual.
In several modalities, context information can be processed and/or understood in an integrated way. For example, rather than existing as separate, individual information, the various context information can be interpreted together to provide richer context associated with the individual. For example, context information that indicates that the individual is shifting at driving speeds, is involved in a telephone conversation, and is currently scheduled to meet in a meeting can be interpreted as if the individual was involved in a teleconference while travels in a vehicle. Such context information may allow the user to wish to initiate a communication with the individual to assess whether the individual should be interrupted with a communication (for example, the user can assess the urgency of the communication) and/or how the individual should have the communication interrupted.
According to various embodiments, context information may be received 508 in a format and/or mode that may be sensitive to the privacy of the individual with whom the context information is associated. For example, context information may be received 508 with a level of granularity or specificity that may be sensitive to privacy. For example, location and/or trajectory information may indicate that the individual is traveling at driving speeds rather than identifying the individual's exact location speed. Various other types of context information can be received 508 in a privacy-sensitive format.
Consequently, in various modalities, the privacy sensitivity of context information can vary, for example, based on the level settings of the entire system and/or individual user. For example, a user can set varying levels of privacy sensitivity associated with a variety of other users. For example, an individual may want a high degree of privacy in their context information that can be received by casual acquaintances. However, the same individual may want a lower degree of privacy in their context information that can be received by intimately close friends and family. Consequently, in some embodiments, the individual can adjust the privacy settings associated with the context information and the users who can receive the context information. In some embodiments, a high default level of privacy sensitivity can be associated with context information. Default privacy sensitivity can be changed by the individual for different individuals and/or user groups. Several additional and/or alternative mechanisms for managing the privacy sensitivity associated with context information can be similarly implemented.
In one embodiment, the communication process 10 may receive 508 context information directly from a device associated with the individual (e.g., smartphone 14 associated with user 34, etc.). In some embodiments, communication process 10 may receive 508 context information relating to the individual in response to a request for context information transmitted by communication process 10 to the device associated with the individual. In some embodiments, a device associated with an individual may intermittently transmit context information to a server (eg, server 18), which may hold the context information. For example, the device associated with the individual may (for example, predefined intervals) intermittently transmit context information to the server computer 18. In some embodiments, the device associated with the individual may transmit, for example, context information to the server computer 18 in response to a change in context associated with the individual (eg a change in movement state, indication of a meeting present in a calendar application associated with the individual, etc.). In accordance with such an embodiment, the communication process 10 may receive 508 the context information from the server 18. In some embodiments, for example, where energy conservation may be desirable, the devices may not transmit the context information to the communication process 10 until communication process 10 indicates (for example, in real time and/or near real time) that such information is actually required. For example, communication process 10 may receive 508 the receiver context in response to communication process 10 which receives 500 a request to initiate communications with that specific receiver. Several additional/alternative implementations can be similarly implemented.
The communication process 10 can provide 502 with a plurality of receiver notification options. In some embodiments, the plurality of notification options may provide, for example, the caller with the option to silently or quietly alert the recipient (for example, by selecting "alert" button 602 from the user interface of contacts list 600), or alternatively providing the caller with the option of loudly ringing the receiver's telephone or playing a specific ring tone (eg by selecting the "ring" button 604 from the contact list user interface 600). In some embodiments, providing 502 of the plurality of communication options may include providing 510 with context information associated with the recipient (i.e., third parties or individuals with whom the user wishes to communicate). The communication process 10 can provide 510 the context information associated with the individual in various suitable ways. For example, in some embodiments, the communication process 10 may provide 510 context information associated with one or more potential recipients and/or recipients (collectively referred to herein as "receivers") in the form of one or more icons (e.g. , driving icon 606 and/or walking icon 608) associated with the respective receivers in the contact list user interface 600. In other examples, the communication process 10 may simply display context information (e.g., "the user 34 is moving at driving speeds") in a display associated with the smartphone 12 and/or announcement of the information, for example, via a text-to-speech mechanism, etc. Furthermore, various types of context information can be provided 510 in another way. For example, context location information may be provided 510 through a map display interface. For example, in the exemplary mode in which user 34 (for example, the individual with whom user 32 wants to initiate a communication) is shifting at driving speeds, the communication process 10 (alone and/or in conjunction with another application , such as a mapping application) can render a map that shows a current and/or recent location of the user 34 and can further indicate that the user 34 is driving. Several additional and/or alternative mechanisms for providing 510 context information can be similarly used. As discussed above, in some embodiments, the communication process 10 may provide the context information before providing the plurality of notification options.
According to an embodiment, the plurality of notification options may include one or more pre-defined or custom dialog options that allow a lightweight pre-call dialog to be carried out between the caller and the recipient. For example, dialog options can include basic exchanges, for example, which can be used to determine if the individual is available to engage with the caller (eg, a status request) and/or determine if the individual has a preferred mode or format of communication, for example, based on an individual's context or situation. For example, the communication process 10 may provide 502 with the plurality of notification options that include one or more dialog options as caller selectable items. For example, as shown in Figure 6, the communication process may provide the "join me on this call" button 610. In response to the caller selection button 610, the communication process 10a (alone and/or together with another application) can generate the 700 dialog user interface, shown in Figure 7. The 700 dialog user interface can include one or more predefined dialog 5 options which can be, for example, selectable options (eg option "just saying hi" 702, option "are you available " 704, and option "need to talk now" 706) within the 700 dialog user interface. Although the dialog menu is shown including the three dialog options, this is is for illustrative purposes only, and the number and nature of dialog options may vary depending on the 10 design criteria and user needs. Additionally, the dialog user interface may include input field 708, for example, which may allow user 32 to enter a dialog free-form. Furthermore, in some embodiments, the dialog options included in dialog menu 602 can be customized, for example, by the user, an application developer, a system administrator or other individual. Furthermore, although Figure 7 is shown including only a single dialog menu, more than one dialog menu can be included. In some modalities, several dialog menus that can be included have dialog options that refer to different signaling aspects (eg individual status and/or availability, preferred communication modality, importance, etc.).
The communication process 10 may receive 504 a selection from one of a plurality of communication options. For example, the caller (eg user 32) can select one or more of the notification options (eg one or more of the dialog options included in Dialog 700 UI), for example, using a selection gesture touch screen, or other suitable selection mechanism. Furthermore, the communication process 10 may transmit 506 a notification to a third party (i.e., the recipient or individual the user wishes to communicate with) based, at least in part, on the plurality of notification options selected.
The communication process 10 may additionally receive 512 a response to the third party notification. For example, in response to user 32 who selects a dialog option 30 (eg "are you available " 704) from dialog user interface 700, communication process 10 (eg communication process 10a and/or communication process 10d) can transmit 506 the notification to the receiver (e.g. user 34). With reference to Figure 8, notification may be received by a device associated with the receiver (eg smartphone 14 associated with user 34). The dialog option can be displayed (eg in user interface 750) on the device associated with the individual (eg smartphone 14), eg via a corresponding communication process (eg communication process 10b executed by smartphone 14) and/or other suitable app. In one embodiment, user interface 750 may include one or more response dialog options, which may include one or more selectable response options (eg, "can't talk right now" 752, "give me a minute" 754, "I'll call you back 756", and "send me message" 758). The user 34 can select an appropriate response from the response user interface 750, e.g., by touching the desired response, etc. Although the 750 Answer UI has been shown to include four options, the number and nature of the options included in the 750 Answer UI is for the purpose of illustration only. The number and nature of responses included in the response menu may vary according to design criteria and/or user needs, and may be additionally/alternatively customizable (eg by the user, by a system administrator, by an application developer, or by another individual). Furthermore, in some arrangements, the individual may be allowed to freely enter a response (eg, via input field 760), and/or otherwise respond to the dialog option received from the user.
In response to the receiver (e.g. user 34) selecting and/or otherwise entering a response to the dialog option transmitted 506 by communication process 10 as part of the notification, communication process 10 may receive 512 the response from of the individual. For example, as shown in Figure 9, user 34 may have selected the reply option "send me message" from the reply user interface 750. Hence, the user interface 800 (for example, which can be rendered in the smartphone 12, at least in part, by communication process 10a) can display the response received 512 from the individual.
The communication process 10 can initiate 514 communication with the individual. For example, user 32 can select the response from the individual (eg user 34 in the present example), and/or can select an initiation option (eg alert button 802 and/or touch button 804) . In response to the user 32 selecting the response and/or an initiation option within user interface 800 (e.g., via a touch selection input, etc.), the communication process 10 can initiate 514 the communication. In the illustrated mode in which the response indicated that the individual desires text-based communication, the communication process 10 can initiate 514 communication with the user 34 with user interface patterns configured to favor text-based communication, at least as an initial communication modality. Of course, other modalities may include communications of different modalities, for example, based, at least in part, on a response to a third party, user preference, or the like.
Although the previous example only included a single exchange of dialogue from the user with the individual the user wishes to communicate with, and a single response back from the individual, the exemplary exchange is for the purpose of illustration only, not delimitation. In several modalities, multiple exchanges of dialogue can take place before the initiation of communication. Furthermore, and as generally presented, one or more subsequent sets of dialogue and/or responses may be based, at least in part, on a previous dialogue and/or response. For example, response dialogs may be based, at least in part, on incoming dialogs, so that response dialog options may be appropriate to respond to incoming dialog.
As generally discussed above, in some respects the communication process in this document can provide a platform or system to enable communications between people. In general, the communication process, in some modalities, can provide a single application that can allow seamless and contemporary exchanges of a wide variety of data types and/or media types in a single call. As used in this document, a call can generally refer to the sequence of interactions that can be linked together by a generally common time attribute, for example, with interactions being temporally ordered and interactions that can constitute a single conversation or group of interactions. Furthermore, the sequence of interactions that make up a call can generally be related in terms of the participants in the call. For example, although a portion of the participants may change during the course of the call (for example, due to participants joining and/or leaving the call) the call may include a participant attribute. That is, the caller can be identified, at least in part, based on who is participating in the call. Consequently, participants can be an attribute of the call. In some embodiments, the communication process in this document can provide an application and/or system that can provide a real-time media channel between a set of call parties that can allow simultaneous use of, and seamless transitions between, multiple different data types and/or media types during the course of a single call.
Referring also to Figure 9, in one embodiment, the communication process 10 may receive 900 a request to initiate a call over a channel. The communication process 10 may also identify 902 a set of call participants associated with the channel. The communication process 10 may receive 904 a communication sequence associated with the call. The communications stream can include real-time media data types (for example, synchronous data types) and asynchronously posted data types. Furthermore, the communication process 10 can transmit 906 the communications sequence for the call.
The communication process 10 may receive 900 a request to initiate a call over a channel, and may identify 902 a set of call participants associated with the channel. According to the present description, in general a call can include the set of interactions between the elements of a communication system facilitated by the communication process 10. The set of interactions that originates the call can include the call that is initiated in the context of a channel. A channel can include a set of one or more calls that have a common default participant set that can be the automatically offered membership for each call initiated within the channel. Consequently, the participating set of elements that participate in interactions can be an attribute of the call. The communication process 10 may identify 902 the default call participant set which includes a participant set associated with a channel. That is, by default, the set of call participants can include the set of channel participants. In some embodiments, and as discussed in more detail below, the set of channel participants can be modified for the purpose of a particular call by adding or removing individuals from the call. The set of call participants can include individuals who can actually join the call.
In an exemplary embodiment, the communication process may receive 900 the request to initiate a call in response to input from a user (e.g. user 32 operating smartphone 12). Input from user 32 may include, for example, a selection of a channel from a list of contacts associated with communication process 10 (e.g., a list of contacts that communication process 10a performed on smartphone 12 may interact, locally or through a network, with such a network 20). In some embodiments, the channel may be implicitly selected by virtue of which channel the call is being initiated, and by extending the member or subscriber list for that channel. For example, the communication process 10 can allow a channel membership to be manually configured by users, or it can be configured to automatically synchronize sets of individuals that can be externally managed, such as a Facebook group, participating in a meeting common (eg that can be managed through a calendar application or similar), individuals with access privileges to an online workspace or folder, or similar.
The identification 902 of the set of callers associated with the channel may include not only the identification of individuals who can be invited to the call, but additional identification 902 of the set of callers associated with an existing channel. As generally described above, in one embodiment, identification 902 of the set of call participants associated with the channel may include access 908 to a set of predefined channel participants associated with the channel. A set of predefined channel participants associated with the channel might include, for example, a list of individuals that might be associated with a past call or a pre-existing channel (for example, a channel that might have been used for one or more calls among the defined group of individuals in the past). Accordingly, in such an embodiment, the communication process 10 can identify 902 the set of call participants by accessing 908 a participant set associated with the pre-existing channels and previous calls. That is, the set of channel participants can form, at least in part, the basis of the set of call participants (for example, subjected to any modification such as additions and/or deletions of individuals from the set of channel participants for the purpose of the call).
In another modality, access 908 to a set of predefined channel participants associated with the channel may include access to a list of contacts accessible by and/or integrated into the communication process 10. For example, in one modality, a user (by example, user 32) may define a contact list associated with the communication process 10. The contact list associated with the communication process may include an indication of one or more channels associated with user 32, each of which among one or more channels can include one, or more than one channel participant. For example, each individual contact in the contact list can originate a channel in pairs (for example, a set of channel participants that includes user 32 and the individual listed in the contact). Similarly, each group of contacts listed in the contact list, which can include more than one individual, can originate a channel into groups (for example, a set of channel participants that includes user 32 and that set of individuals). In response to receiving 900 of the request to initiate a call over the channel, the communication process 10 may further identify 902 a set of call participants (e.g., the intended call participants) associated with the channel, which may include access 908 of the set of predefined channel participants associated with the channel, for example, which is defined in a contact list. Channels that include a predefined participant set can include explicit channels.
In one embodiment, identification 902 of the set of callers associated with the channel may include definition 910 of the channel based, at least in part, on an implicit association of individuals. For example, and also as generally discussed 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 due to a common interaction or point of intersection. For example, the group of individuals might be members of a common social networking group (eg, a Facebook group, or other similar group). In another example, the group of individuals can be designated as participants and/or guests of a meeting or activity that can be scheduled using a calendar system or application. Similar implicit associations of individuals can be based, for example, on individuals who have access privileges to a shared online space or folder. Consequently, the communication process 10 can identify 902 a default participant set for a call which includes defining the channel based on an implicit association of individuals. According to such a modality, the communication process 10 may receive 900 the request to initiate the call through the channel based on a user input associated with the point of intersection of the implicitly associated individuals (for example, by selecting a social network group , a calendar event, etc.). In a similar way, as discussed above, and as will be described in more detail below, the set of call participants can be based on a set of modified channel participants, for example, by adding individuals to the set of call participants. channel or removing individuals from the channel participant pool.
According to different modalities, call participation can be extended and/or restricted. For example, the communication process 10 may allow a channel that has a defined participant set (implicitly or explicitly) to be extended to include one or more additional participants for the purpose of the call. The extension of the set of callers may be temporary (for example, for the purpose of a single call and/or a portion of a single call). In some embodiments, the extension of the call party set may be permanent (for example, it may be for the purpose of all calls associated with the channel, and thus may explicitly modify the underlying channel party set). In some embodiments, a permanent extension of a set of channel participants can give rise to a new channel, which can include the extended participant set. In a generally corresponding manner, the communication process 10 may allow a channel that has a participant set defined (implicitly or explicitly) to be restricted by removing one or more of the participant set for the purpose of an originating call. , thus, a set of call participants that is a subset of the set of channel participants. The restriction of a participant set member associated with a call may be temporary (eg for the purpose of a single call) and/or may be permanent thereby modifying the channel participant set. In some modalities, the permanent restriction of a participant set associated with a channel can lead to the creation of a new channel (for example, as opposed to simply modifying the preexisting channel), which includes the restricted participant set, while maintaining the original channel that has the original participant set.
According to various modalities, the appropriate user interfaces can be used in connection with the request to initiate the call. For example, in response to a long tap user selection or multiple taps of a contact and/or group of contacts within a contact list, or an intersection point of implicitly associated individuals, the communication process 10 can (alone and/or in conjunction with one or more additional applications) render a user interface such as a menu or similar. The user interface rendered by the communication process 10 may provide options for the user (eg user 32 in the preceding example) to request that a call be initiated.
Call initiation may include, for example, signaling members of the set of call participants to thereby alert the members of the member's intention to conduct a call over the channel. The signaling may include conventional notification arrangements, which include transmitting a notification to one or more devices associated with members of the set of call participants. Additionally/alternatively, advanced signaling, as generally described in this document, can also be implemented. An example of such signaling might use pre-call dialogs, for example, which might check availability and preferred calling mode. Other signaling associated with the initiation of a call can be similarly used.
The communication process 10 may receive 904 a communication sequence associated with the call. The communications stream may include at least one real-time media data type and one asynchronous posted data type. For example, and as generally discussed above, in accordance with one aspect, the communication process 10 may allow the communications to include multiple different data types and/or include multiple different media types. In one embodiment, receiving 904 of the communications stream may include receiving the communications stream as real-time packet data transmissions.
According to various modalities, real-time media data can include real-time transmitted and consumed data, as well as streaming data types that include, for example, real-time streaming data that may or may not , be consumed in real time. As used herein, the term real-time can generally be data media on which the transmitted data can be received and through one or more call parties in a manner generally concurrent with the transmission of the data. In one embodiment, the real-time media data type may include real-time audio data such as voice data, and/or may include real-time data such as video data. In one example, real-time audio data may include voice over IP data, and/or real-time video data may include video over IP data, although other forms of real-time audio data may be similarly used. In accordance with such an aspect, at least a portion of the communications sequence included within the call may include voice communications. Voice communications may include real-time voice communications, for example, which may be similar to voice communications over a phone call or standard Voice over IP. In one embodiment, the switching and routing of call-associated voice communications can be facilitated by a PBX, Voice over IP, or unified telephone system, for example, which can interface with the communication application 10 (e.g. 10d communication run by the server computer 18). In one modality, the PBX, Voice over IP or unified telephone system can be interconnected to the public switched telephone network.
In one embodiment, real-time audio data may include streaming voice data. In some embodiments, streaming voice data can be implemented in a symmetrical manner, for example, and that all members included in the set of call participants can generate and consume streaming voice data and/or other included members. in the set of call participants. In some embodiments, real-time audio data may include bursty audio streams, such as bursty voice streams. For example, and also with reference to Figure 10, communication process 10 may provide talk button 1000, for example, which may include a virtual button on user interface 1002 provided via a touch screen interface. In response to a user activating the talk button 1000, the communication process 10 can receive 904 voice data (for example, any audio data can be received through a microphone associated with the computing device). Upon releasing the talk button 1000, the communication process 10 can interrupt 904 reception of the voice data. In one embodiment, the communication process 10 may allow a user to switch between providing bursty voice data and providing continuous voice data. For example, and as described in response to a user pressing talk button 1000, communication process 10 can receive 904 voice data in bursts as long as talk button 1000 is activated. In one embodiment, the communication process 10 may allow a user to switch to providing continuous voice data. For example, a user can activate the chat button 1000 by pressing the virtual button. The user can then invoke a blocking gesture (eg, sideways swiping the 1000 talk button, or other suitable gesture). In response to the user invoking the lock gesture, the communication process 10 can receive 904 continuous voice data.
In addition to synchronous data and real-time, near real-time, and/or streaming audio data (such as voice data and/or video data), the communication process 10 can receive 904 different types of transmitted data. synchronously and asynchronously posted media data types. The types of media data received by the communication process 10 can be transmitted 906 synchronously and/or asynchronously. Furthermore, a type of media data may be received 904 and transmitted 906 as a piece of defined content, for example, which may be consumed once the media data has been posted, or may be consumed and processed synchronously in time. real while the media is being transferred. In one embodiment, the type of media data posted may include one or more video data (eg, video clips), images, text, web data, location data, or the like.
Although the exemplary data types and media types have been described above, it should be appreciated that such examples are for illustrative purposes only, not limiting. Various additional and/or alternative data types and media types can also be used. Examples of data that may be included as part of a communication associated with a call may include data derived from sensors of the functionality provided by the computing device, such as, location, displaced routes, speed, direction, and the like that may be provided, for example, from navigation or mapping applications and GPS or other functionality provided by the computing device. The microphone and camera functionality associated with the computing device can be used to generate real-time audio data (eg, voice) and video data, as well as audio clips, video clips, photos, and the like. Input devices such as touch screen interfaces can be used to generate stylus or finger sketches. Web browser applications can be used for generating and/or capturing web content, web links, etc. Text data, documents, and the like may be generated through the computing device and/or accessed and/or implemented in a communication through the input and/or storage functionality associated with the computing device. Consequently, in various modalities, the types of synchronous and asynchronous data communicated can include one or more of video, still or animated images, text, web links, location and route data, gestures, sketches, files and folders and documents, voice and music and audio, software code and scripts, QR and NFC and barcodes, quality of service data, which include signal strength and latency and performance, sensor and other such data obtained from the device, from its operating system, from additions or applications or internet services, and from peripheral devices that can be connected through wired or wireless means. While the preceding discussion has provided many examples of data that can be received 904 and transmitted 906 as communication within a call, the list is not intended to be detailed, as other data types and/or media types may also be used.
The communication process 10 may transmit 906 the communications sequence for the call. For example, communication process 10 transmits 906 incoming communications 904 to all members of the set of call participants. In some modalities, one or more members of the call party set may not be involved in the call (for example, may not have joined the call). In one embodiment, transmission 906 of the communications sequence to each member of the set of call participants may include synchronously transmitting the communications sequence to at least a portion of the set of call participants. In one embodiment, the portion of the set of callers to whom the communications sequence is synchronously transmitted may include members of the set of callers that can be involved in the call. Synchronously, transmission of the communications sequence may include transmission of the communications sequence to the portion of the set of call participants in real time or near real time.
In some embodiments, at least a portion of the set of call participants may not be involved in the call and/or may experience poor data connectivity which may impede, for example, the real-time participant in the call. In such a situation, transmission 906 of the communications sequence to each member of the set of call participants may include synchronously transmitting the communications sequence to at least a portion of the set of call participants. Asynchronously, transmission of the communications stream may include, for example, posting the communications stream for later retrieval by one or more members of the call party set and/or for retrieval on an available basis, e.g. it can be dictated, at least in part, by data connectivity associated with one or more members of the participating set.
A number of suitable user interfaces can be implemented to receive and interact with the various individual communications associated with the call. In some embodiments, different user interfaces can be implemented, for example, that can be receptive to particular data types of particular communications. According to some modalities, multiple user interfaces can be simultaneously accessible, for example, that can allow different types of data to be generated and/or interacted with. For example, a view finder user interface can be implemented in connection with capturing image or video data (for example, through the camera functionality associated with the computing device), although a web browser user interface can be implemented in connection with capturing web links or data included within a web site. The communication process 10 can receive 904 the captured data via the various suitable user interfaces. In a similar way, various user interfaces can be used in connection with the consumption of communications transmitted by the communication process 10. The user interfaces implemented in connection with the communication process 10 may not only allow communication capture and consumption from other users, but may also allow interactions with the communications, such as handling, forwarding, and transforming communications. In some embodiments, the various user interfaces can be accessed by scrolling (for example, based on a swipe-in gesture via a touch screen interface, or similar) laterally or vertically between different screens or user interface panels. It can be appreciated that several additional and/or alternative user interfaces can be similarly implemented in connection with a call that includes a communications sequence that can include multiple different data types and/or multiple different media types.
In one embodiment, the communication process 10 may record 912 the communications sequence associated with the call. For example, call recording may include storing the interactions in a suitable data store, for example, which may be associated with server computer 18 and/or other computing device. In one embodiment, the recorded sequence 912 of the communication associated with the call may be accessible, for example, to one or more individuals included in the participant set associated with the channel. In one modality, recorded calls can be accessed, for example, via a web browser and/or using a custom application.
In one embodiment, recording 912 of the call may include the use of indicators and metadata associated with the communications sequence. For example, recording the communications sequence associated with the call may include defining 914 an association between each of the communications in the communications sequence and the call. For example, the communication process 10 may set 914 an indicator associated with each of the communications of the communication sequence in the call. The defined indicator 914 may identify each of the communications (eg, individually and/or collectively) being associated with the call. Consequently, call recording can occur based, at least in part, on communications marked as belonging to a specific call. In one embodiment, each communication may additionally include a sequence indicator and/or a timestamp which may, for example, indicate a chronological position of the communication within the call.
In one embodiment, a recording 912 of the communications sequence associated with the call may also include the definition 916 of an association between the call and the channel. For example, the association between the call and the channel can include an indicator associated with each call (and/or associated with each communication marked as associated with a particular call) that can identify the call (and/or each communication marked as associated with the call) as associated with a particular channel. As such, the communication process 10 can mark each call as associated with a particular channel.
Furthermore, in an exemplary embodiment, a recording 912 of the communications sequence associated with the call may include the definition 918 of an association between each member of the set of call participants and the channel. For example, communication process 10 may include a list of all members of the communication system. The communication process 10 can define 918 an association between each member that is included within the participating set of a channel and the channel itself. For example, the communication process 10 may define 918 an indicator associated with each member of the communication system facilitated by the communication process 10, wherein the indicator may identify a channel for which the member is included within the channel's participating set. In a situation where a member of the communication system may be included in the participating set of more than one channel, the communication process 10 may define 918 an indicator associated with a member for each channel that the member is included in the participating set.
In one modality, calls within a channel and/or communications within a call can be presented in a schedule form. For example, through a user interface associated with a member of a communication system facilitated by communication process 10, communication process 10 may allow the member to identify one or more channels in which the member is marked as being associated. In addition, individual channels can include a chronological representation of the calls associated with each channel. In one embodiment, a selection of a call associated with a channel originates a user interface that includes a chronological representation of the communications marked as associated with the call. In one embodiment, the communication representation marked as associated with the call may include the communication itself (for example, for graphical communications such as text, images, or the like), and/or a communication representation that can be selected to consume communication (eg to play back an audio recording or video recording, etc.). Various additional and/or alternative arrangements for presenting and/or accessing calls and/or communications may be similarly implemented.
In some modalities, the content of calls may decay over time. For example, by default and/or user preference, the content of the calls (eg the individual communications that make up the call) may expire after a defined period of time, after which the content may no longer be available. In an exemplary modality, the decay of call content may include a progressive reduction in a content resolution or quality. For example, over time (eg based on standards and/or user preferences) the quality and/or resolution of communications may decline. An example of a reduction in quality and/or resolution may include a decrease in image resolution associated with an image, a decrease in bit rate associated with an audio component, or the like. In one modality, users can explicitly select that certain calls be held indefinitely so that they cannot decay, degrade, or become inaccessible.
In one embodiment, the communication process 10 may allow a call and/or one or more communications associated with a call (e.g., a part of a call) to be published. For example, publishing a call and/or part of a call may include exporting (eg saving contents, copying contents, etc.) the call and/or part of a call to a location outside the system of communication facilitated by the communication process 10. In some embodiments, publishing a call and/or a part of a call may include allowing links to be established for the call and/or a part of a call. For example, a link to a call and/or a part of a call may allow the call and/or a portion of the call to be accessed from a location outside the communication system facilitated by the communication process 10. For example, in one modality, a call through a channel that includes an implicit association of individuals that has an intersection point that can include a social networking group can be published to the social networking group, for example, via the website of social network.
In one embodiment, a recording 912 of the communications sequence associated with the call may include definition 920 of an access control associated with the call. For example, the communication process 10 may allow one or more of a member included in the call participant set to implement an access control, for example, which may limit the publication and/or dissemination of the communication associated with the call. In some modalities, one or more standard access controls can be associated.
Additionally, although various embodiments and features have been described herein, it will be apparent to one of skill in the art that the various embodiments and features may be susceptible to combination with each other and/or to various additional/alternative combinations. All such combinations of subject matter described herein are intended to be contemplated by this description.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality and operation of possible implementations of computer program systems, methods and products, in accordance with various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams can represent a module, segment or piece of code, which comprises one or more executable instructions to implement the specified logic functions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur outside the order shown in the Figures. For example, two blocks shown in succession can actually be played substantially simultaneously, or the blocks can sometimes be played in reverse order, depending on the functionality involved. It will also be noted that each block of block diagrams and/or flowchart illustration, and combinations of blocks in block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the functions or actions specified, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the invention. As used herein, the singular forms "a" and "o" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprises", when used in this descriptive report, specify the presence of established characteristics, integers, steps, operations, elements, and/or components, however, do not exclude the presence or adding one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, actions and equivalents of all means or steps plus function elements in the claims below are intended to include any structure, material or action to perform the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, however, it is not intended to be exhaustive or limited to the invention as described. 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 embodiment was chosen and described in order to better explain the principles and practical application of the invention, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications that are suited to the particular use contemplated.
Thus, having described the invention of the present application in detail and with reference to the embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention defined in the appended claims.
权利要求:
Claims (17)
[0001]
1. Method, comprising the steps of: receiving (900), at a processor, a request from a user (32) to initiate a call via a channel (38); identifying (902), at the processor, a set of call participants associated with the channel (38); initiating, by the processor, the call via the channel (38) and between at least a part of the identified set of call participants; receiving (904) a sequence at the processor of communications associated with the call, the communications sequence including data from at least one real-time media data type, and a published data type; transmitting (906) by the processor the communications sequence for the call; which further comprises: recording (912), by the processor, the communications sequence associated with the call in a data store (22), where each communication is marked to define (914) the association between each of the communications in the sequence of communications and the call.
[0002]
2. Method according to claim 1, characterized in that the identification of the set of call participants associated with the channel (38) includes access to a set of participants of the predefined channel (38) associated with the channel (38) .
[0003]
3. Method according to claim 1, characterized in that the identification of the set of call participants associated with the channel (38) includes defining a set of channel participants (38) based on at least part, an implicit association of individuals.
[0004]
4. Method according to claim 1, characterized in that receiving the sequence of communications includes receiving the sequence of communications as real-time packet data transmissions.
[0005]
5. Method according to claim 1, characterized in that the real-time media data type includes real-time audio data.
[0006]
6. Method according to claim 5, characterized in that the real-time audio data includes voice data over IP.
[0007]
7. Method according to claim 5, characterized in that the real-time audio data includes a bursty audio transmission.
[0008]
8. Method according to claim 1, characterized in that the type of published media data includes one or more video, images, text, web data, location data.
[0009]
9. Method according to claim 1, characterized in that transmitting the communications sequence for the call includes transmitting the communications sequence to each member of the set of call participants.
[0010]
10. The method of claim 9, characterized in that transmitting the communications sequence to each member of the set of call participants includes synchronously transmitting the communications sequence to at least a portion of the set of call participants .
[0011]
11. Method according to claim 9, characterized in that the transmission of the communication sequence to each member of the set of call participants includes the asynchronous transmission of the communication sequence to at least a part of the set of call participants .
[0012]
12. Method according to claim 1, characterized in that the recording of the communications sequence associated with the call includes defining an association between the call and the channel (38).
[0013]
13. Method according to claim 1, characterized in that recording the communications sequence associated with the call includes defining an association between each member of the set of callers and the channel (38).
[0014]
14. Method according to claim 1, characterized in that the recording of the communications sequence associated with the call includes the definition of an access control associated with the call.
[0015]
15. A computing system comprising a processor and memory coupled to the processor, the processor and memory configured to perform a method comprising the steps of: receiving (900) a request from a user (32) to initiate a call via from a channel (38); identifying (902) a set of call participants associated with the channel (38); initiating, by the processor, the call via the channel (38) and between at least a portion of the set of call participants identified; receiving (904) a communications sequence associated with the call, the communications sequence including data from at least one real-time media data type, and a published data type; transmitting (906) the communications sequence to the call; characterized by the fact that it further comprises: recording (912) the sequence of communications associated with the call in memory, in which each communication is marked to define (914) the association between each of the communications in the sequence communications and calling.
[0016]
16. Computer system according to claim 15, characterized in that receiving the communications sequence includes receiving the communications sequence as real-time packet data transmissions.
[0017]
17. Computer system according to claim 15, characterized in that the type of published media data includes one or more video, images, text, web data, location data.
类似技术:
公开号 | 公开日 | 专利标题
BR112013029438B1|2021-08-03|COMPUTING METHOD AND SYSTEM
US10455191B2|2019-10-22|Systems and methods for conference calling using personal URL
US10230839B2|2019-03-12|System and method of providing social caller id and caller rating on web calls
KR102327571B1|2021-11-16|Displaying video call data
US9569752B2|2017-02-14|Providing parameterized actionable communication messages via an electronic communication
US9800525B1|2017-10-24|Profile-based integrated messaging platform
EP2933987B1|2019-11-20|Additional information on a caller
US8898578B1|2014-11-25|Conference calls for social streams
KR20140074929A|2014-06-18|communication system
KR20150032674A|2015-03-27|Communication system
CN111316624A|2020-06-19|Personalized audio/video invitation for telephone calls
KR102049460B1|2019-11-27|Synchronous Communication Coordination and Processing
US9699632B2|2017-07-04|Multi-modality communication with interceptive conversion
CN109391476B|2021-08-13|Network communication method, device and system
BR112013003161B1|2021-11-03|METHOD IMPLEMENTED ON COMPUTER AND COMPUTER-READABLE STORAGE MEDIA FOR MEDIA/VOICE CONNECTION PROTOCOL AND RELATED USER INTERFACES
Alonso et al.2009|Enabling opportunistic communications in a Social Communications Broker Architecture
同族专利:
公开号 | 公开日
BR112013029438A2|2017-01-31|
JP2017153141A|2017-08-31|
US20160055325A1|2016-02-25|
JP6149857B2|2017-06-21|
RU2613030C2|2017-03-14|
IL229344A|2016-12-29|
US9210143B2|2015-12-08|
RU2013155598A|2015-06-27|
TW201301828A|2013-01-01|
KR20140043090A|2014-04-08|
IL229344D0|2014-01-30|
AU2012255846A1|2013-11-14|
US20120297451A1|2012-11-22|
EP2710483A4|2015-02-25|
SG194693A1|2013-12-30|
CN103733185A|2014-04-16|
JP2014523555A|2014-09-11|
EP2710483A1|2014-03-26|
WO2012158750A1|2012-11-22|
EP2710483B1|2020-11-18|
KR101954468B1|2019-03-05|
AU2012255846B2|2016-05-05|
CN103733185B|2019-09-17|
TWI590628B|2017-07-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

JPH07200481A|1993-12-29|1995-08-04|Toshiba Corp|Ic card system|
US5553071A|1994-10-14|1996-09-03|Lucent Technologies Inc.|Communication system topology providing dynamic allocation of B-channels|
JPH10334050A|1997-05-30|1998-12-18|Fujitsu Ltd|Communication system|
KR20010021111A|1999-07-23|2001-03-15|스테븐 디.피터스|Messaging and status indication for wireless communication devices|
JP2001094678A|1999-09-22|2001-04-06|Toshiba Corp|Communication terminal|
JP2001282742A|2000-04-03|2001-10-12|Ntt Communications Kk|Method and system for authentication service|
JP4402805B2|2000-04-26|2010-01-20|エヌ・ティ・ティ・コミュニケーションズ株式会社|In-network deployed image display method|
US7698276B2|2002-06-26|2010-04-13|Microsoft Corporation|Framework for providing a subscription based notification system|
US7058034B2|2002-09-09|2006-06-06|Nokia Corporation|Phase shifted time slice transmission to improve handover|
JP2004110083A|2002-09-13|2004-04-08|Nippon Telegr & Teleph Corp <Ntt>|Contents distribution device, contents distribution method, and program|
US7376228B2|2002-12-18|2008-05-20|Castel, Inc.|Call center management systems|
JP2004363874A|2003-06-04|2004-12-24|Nippon Telegr & Teleph Corp <Ntt>|Communication terminal registering method, communication session establishing method, and terminal in ip network|
JP4352138B2|2003-09-26|2009-10-28|日本電気株式会社|Broadcast call system on mobile phone|
KR100596945B1|2003-10-30|2006-07-04|씨앤에스 테크놀로지|IP video phone controlling video transfer/receiver bandwidth and video quality and method for controlling as the same|
TW201238320A|2003-12-22|2012-09-16|Linqware Inc|System and method for initiating a conference call|
US20060033809A1|2004-08-10|2006-02-16|Mr. Jim Robinson|Picture transmission and display between wireless and wireline telephone systems|
CN100407710C|2004-08-31|2008-07-30|华为技术有限公司|Network instant communication system and method for providing instant message subscribing|
US7707292B2|2005-03-18|2010-04-27|Yahoo! Inc.|Method for signing into a mobile device over a network|
EP1708467B1|2005-03-29|2009-04-29|Sony Ericsson Mobile Communications AB|Method for sharing information between handheld communication devices and handheld communication device therefore|
JP2008242641A|2007-03-26|2008-10-09|Nec Corp|Authentication approval system|
KR101394515B1|2007-04-26|2014-05-13|엘지전자 주식회사|Mobile communication device capable of storing video chatting log and operating method thereof|
US8194657B2|2007-05-22|2012-06-05|Actiontec Electronics, Inc.|Systems and methods for dynamic quality of service|
EP2292008A1|2008-05-16|2011-03-09|Nxp B.V.|Video telephony|
JP2009301253A|2008-06-12|2009-12-24|Ntt Docomo Inc|Portable terminal device and mailer starting method|
JP5916192B2|2009-03-30|2016-05-11|アバイア インク.|A system and method for graphically managing a communication session with a set of context-based contacts.|
US20100325040A1|2009-06-23|2010-12-23|Craig Stephen Etchegoyen|Device Authority for Authenticating a User of an Online Service|
JPWO2011052316A1|2009-10-28|2013-03-14|日本電気株式会社|COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM|
US10264029B2|2009-10-30|2019-04-16|Time Warner Cable Enterprises Llc|Methods and apparatus for packetized content delivery over a content delivery network|
US8750291B2|2009-11-22|2014-06-10|Avaya Inc.|Enhanced call preservation techniques for SIP-based communication networks|
US9553974B2|2010-08-11|2017-01-24|Apple Inc.|Media/voice binding protocol and related user interfaces|US8707454B1|2012-07-16|2014-04-22|Wickr Inc.|Multi party messaging|
US20140115683A1|2012-10-18|2014-04-24|Adam Stass|Systems and methods for peer-to-peer online verification using third party authentication|
US9830089B1|2013-06-25|2017-11-28|Wickr Inc.|Digital data sanitization|
US10567349B2|2013-06-25|2020-02-18|Wickr Inc.|Secure time-to-live|
US9866591B1|2013-06-25|2018-01-09|Wickr Inc.|Enterprise messaging platform|
US10129260B1|2013-06-25|2018-11-13|Wickr Inc.|Mutual privacy management|
US9602949B2|2013-12-11|2017-03-21|Capital One Financial Corporation|Systems and methods for populating online applications using third party platforms|
US9698976B1|2014-02-24|2017-07-04|Wickr Inc.|Key management and dynamic perfect forward secrecy|
US9929995B2|2014-05-21|2018-03-27|Go Daddy Operating Company, LLC|Third party messaging system for monitoring and managing domain names and websites|
US10623468B1|2014-05-30|2020-04-14|Mbr Innovations Llc|Systems and methods for simultaneous electronic file exchange|
US9584530B1|2014-06-27|2017-02-28|Wickr Inc.|In-band identity verification and man-in-the-middle defense|
CN105527884B|2014-10-22|2018-07-31|中国科学院沈阳自动化研究所|Support the WIA-PA communication sequence controllers that more communication sequences are built automatically|
US9654288B1|2014-12-11|2017-05-16|Wickr Inc.|Securing group communications|
US9584493B1|2015-12-18|2017-02-28|Wickr Inc.|Decentralized authoritative messaging|
US10291607B1|2016-02-02|2019-05-14|Wickr Inc.|Providing real-time events to applications|
US9596079B1|2016-04-14|2017-03-14|Wickr Inc.|Secure telecommunications|
US9590958B1|2016-04-14|2017-03-07|Wickr Inc.|Secure file transfer|
US20170359462A1|2016-06-12|2017-12-14|Apple Inc.|Integration of third party application as quick actions|
US11055744B2|2016-08-23|2021-07-06|Jay Conrad|System and method for generating a tracked message|
CN108076205B|2016-11-14|2020-06-05|展讯通信(上海)有限公司|Incoming call recording method and device for multi-channel terminal|
US11062320B2|2017-10-19|2021-07-13|Capital One Services, Llc|User account controls for online transactions|
US10353956B2|2017-10-19|2019-07-16|Capital One Services, Llc|Identifying merchant data associated with multiple data structures|
法律状态:
2017-07-04| B25A| Requested transfer of rights approved|Owner name: MICROSOFT CORPORATION (US) |
2017-07-18| B25A| Requested transfer of rights approved|Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US) |
2018-12-11| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2019-10-29| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2021-02-02| B07A| Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]|
2021-06-01| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-08-03| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 16/05/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
US201161486531P| true| 2011-05-16|2011-05-16|
US61/486,531|2011-05-16|
PCT/US2012/038054|WO2012158750A1|2011-05-16|2012-05-16|Multi-data type communications system|
[返回顶部]