Source: https://patents.google.com/patent/US9942293B2/en
Timestamp: 2019-04-21 19:44:05
Document Index: 481777859

Matched Legal Cases: ['Application No. 201280049670', 'Application No. 2012323326', 'Application No. 2014118683', 'Application No. 2012323326', 'Application No. 2016244251', 'Application No. 12839847', 'Application No. 231848', 'Application No. 2014', 'Application No. 2017', 'Application No. 2014118683', 'Application No. 201280049670', 'Application No. 201280049670']

US9942293B2 - Communication system - Google Patents
US9942293B2
US9942293B2 US15/095,594 US201615095594A US9942293B2 US 9942293 B2 US9942293 B2 US 9942293B2 US 201615095594 A US201615095594 A US 201615095594A US 9942293 B2 US9942293 B2 US 9942293B2
US15/095,594
US20160226940A1 (en
Raymond Edward Ozzie
Howard Benjamin Nager
Neil Bousquet Ozzie
Matthew Jason Pope
Richard Zack Speyer
2012-10-10 Priority to US13/648,399 priority patent/US9313633B2/en
2016-04-11 Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
2016-04-11 Priority to US15/095,594 priority patent/US9942293B2/en
2016-08-04 Publication of US20160226940A1 publication Critical patent/US20160226940A1/en
2018-01-24 Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Talko Inc.
2018-01-24 Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
2018-04-10 Publication of US9942293B2 publication Critical patent/US9942293B2/en
This application claims the benefit of U.S. patent application Ser. No. 13/648,399, entitled “COMMUNICATION SYSTEM” filed on Oct. 10, 2012 which claims the benefit of U.S. provisional patent application Ser. No. 61/545,346, entitled “ENHANCED COMMUNICATION AND INFORMATION SHARING,” filed on Oct. 10, 2011, both of which are herein incorporated by reference in their entirety.
In general, a communication system may be provided that may allow users to communicate with one another using a variety of different media types in a multi-temporal manner, and using various devices, such as mobile computing devices (e.g., smartphone, tablet computing devices, net-books, etc.), personal computers (e.g., notebook computers, desktop computers, etc.), gaming consoles, set top boxes, special purpose computing devices, or other suitable devices. An example of such a communication system is described in U.S. patent application Ser. No. 13/472,639, filed on 16 May 2012, and entitled “Communications System”, the entire dis-closure of which is incorporated herein by reference. For example, in some embodiments the communication system may allow users of the system to communicate with one another using audio, visual, or other media types. Audio media types may include synchronous and/or asynchronous voice messages. For example, synchronous voice messages may include multi-directional live audio exchanges, such as voice-over-IP exchanges, or exchanges using other varieties of telephony. In a similar manner, an example of a synchro-nous visual media type may include a multi-party video conference (e.g., which may be effectuated using video-over-IP or other suitable video conferencing technology), streaming video broadcast by one user to other user, etc. In some embodiments, during the course of synchronous audio and/or visual communications between users of the communication system other media types may be shared by the users of the communication system. For example, during the course of an audio-based conversation between users of the communication system, the users may share documents, pictures, video clips, text messages, etc. In some embodiments, the communication system may allow the users of the communication system to consume the shared media or documents while also engaged in an audio or video conversation/communication with other users of the communication system. Further, in some embodiments the communication system may allow users to synchronously, and/or asynchronously share media or documents without otherwise being engaged in an audio and/or video conversation/communication with other users of the communication system
In some embodiments, in addition, or as an alternative, to synchronous communications, the communication system may allow for asynchronous exchanges between users of the communication system. Asynchronous exchanges may include, for example, exchanges between users of the communication system who are not actively participating in the communication at the same time. For example, a first user may post communications while other users of the communication system are not online or actively “listening” The other users, who were not online when the first user posted his communications, may consume the first user's posts at a later time. Various media types may be used in connection with such asynchronous communications. For example, the first user may post audio or video clip media types, documents, pictures, text messages, etc.
Referring to FIG. 1, there is shown communication process 10 a through 10 d (which may collectively and/or generally be referred to as communication process 10) that may reside on and may be executed by one or more client electronic devices (e.g., client electronic devices 12, 14, 16, etc.) and/or by server computer 18. The one or more client electronic devices 12, 14, 16 and/or server computer 18 may be connected to network 20 (e.g., the Internet, a local area net-work, a private government network, or other network). Examples of client electronic devices may include mobile computing devices (e.g., smart phones 12, 14, tablet computing devices, data enabled cellular telephones, network connected personal digital assistants, or the like), personal computing devices (e.g., notebook computer 16, desk top computers, gaming consoles, and the like), network connected television devices and/or set-top boxes, networked camera devices, networked embedded computing devices, as well as various additional/alternative network connectable computing devices. Examples of server computer 18 may include, but are not limited to: a personal computer, a server computer, a series of server computers, a mini computer, a mainframe computer, cloud computing services that may include virtualized instances of server computers, and the like.
Further, while not shown, client electronic devices 12, 14, 16 may execute various applications, including, but not limited to web browser applications (e.g., Safari®, Chrome®, Internet Explorer®; Safari is a trademark of Apple Inc. in the United States, other countries, or both; Chrome is a trademark of Google Inc. in the United States, other countries, or both; Internet Explorer is a trademark of Microsoft Corporation in the United Sates, other countries, or both), text messaging applications, instant messaging application, audio, video and/or image capture and editing application, social networking application (e.g., Facebook application, LinkedIn application, etc.). Various additional/alternative applications may similarly be executed by one or more of client devices 12, 14, 16. Communication process 10 a, 10 b, 10 c may be a stand-alone application and/or may be a module and/or component of one or more additional applications executed by client electronic devices 12, 14, 16. Additionally/alternatively, communication process 10 a, 10 b, 10 c may interact with one or more applications executed 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 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, server computer 18 may execute a web server application, examples of which may include but are not limited to: Microsoft IIS, Novell Webserver™, or Apache® HTTP Server, Apache® Tomcat® application server, that allows for HTTP (i.e., HyperText Transfer Protocol) access to server computer 18 via network 20 (Webserver is a trademark of Novell Corporation in the United States, other countries, or both; and Apache and Tom-cat are registered trademarks of Apache Software Foundation in the United States, other countries, or both). In some embodiments, the server computer be 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 (e.g., network 30), examples of which may include but are not limited to: a local area network; a wide area network; or an intranet, for example.
In some embodiments, server computer 18 may execute various applications in addition to communication process 10 d. For example, server computer 18 may execute data storage systems, including but not limited to database systems. Server computer 18 may also execute, for example, a Voice over IP system and/or unified telephony system (e.g., which may be provided by the Asterisk open source platform sponsored by Digium, Inc., Free SWITCH open source tele-phony platform or other suitable communication application and/or platform. Various additional and/or alternative applications may be executed by server computer 18.
Consistent with various embodiments, communication process 10 may include a client-side process executed by one or more of client electronic devices 12, 14, 16. Further, in some embodiments, communication process 10 may include a server-side process executed by server computer 18. For example, as a server-side process, one or more users (e.g., users 32, 34, 36) may access the server-side process (e.g., communication process 10 d) via a web browser, or other suitable application (e.g., which may include an application that may provide functionality in addition to accessing server-side communication process 10 d). Additionally, in some embodiments, communication process 10 may include a hybrid server-client process with some of the functionality of communication process 10 executed by one or more of client electronic devices 12, 14, 16 and some of the functionality of communication process 10 executed by server computer 18. In various hybrid embodiments, one or more of client-side communication processes 10 a, 10 b, 10 c may include stand-alone communication applications and/or may include modules or features of other applications, and/or may otherwise integrate with and/or interact with one or more other applications (e.g., which may provide functionality in addition to functionality provided by one or more of communication applications 10 a, 10 b, and/or 10 c).
Users 32, 34, 36 may access communication process 10 via the client electronic device executing communication process 10 (e.g., smart phone 12 executing communication process 10 a, smart phone 14 executing communication process 10 b, notebook computer 16 executing communication process 10 c). Using communication process 10, one or more of users 32, 34, 36 may interact with one another using a variety of data types in a synchronous and/or an asynchronous manner, allowing for a rich and dynamic exchange of ideas and information between the users.
One or more example embodiments may be described that may illustrate particular features and/or aspects of the disclosure. For the purpose of description, reference may be made to communication process 10 a executed by smart phone 12 and/or in connection with user 32. It will be understood, however, that such reference is intended only for the purpose of explanation, and should not be construed as a limitation on the present disclosure. Other instantiations of the communication process, client electronic devices, and/or users may be equally utilized.
For example, in user interface 150 depicted in FIG. 3, user 32 may press audio capture button 158 to capture audio media data as long as audio capture button 158 is being pressed. In an embodiment, user 32 may invoke the input modification as a swiping gesture associated with audio capture button 158. For example, the swiping gesture may include pressing audio capture button 158 and, with audio capture button 158 pressed, executing a sliding motion with the finger pressing audio capture button 158 laterally, e.g., toward pad lock icon 160 in a left-to-right direction. In the illustrative example, the sliding gesture of audio capture but-ton 158 toward pad lock icon 160 may be received 110 as an input modification which may “lock” the audio capture on, thereby causing communication process 10 to receive 102 audio media data for a time period greater than the input duration (e.g., longer than the time period for which audio capture button 158 is pressed).
In an embodiment, communication process 10 may receive 102 audio media data in response to receiving 102 the user input and further in response to receiving 110 the input modification. Further, communication process 10 may stream 104 and post 106 the media data, as generally described above, for as long as communication process 10 may continue to receive 102 the media data. In an embodiment, communi-cation process 10 may continue to receive 102 the media data until the input modification is released. According to various embodiments, user 32 may release the input modification (i.e., the “locked” audio capture button in the illustrative example) by swiping in the opposite direction as employed to “lock” audio capture button 158 (e.g., in a right to left direction in illustrated user interface 150). In another embodiment, user 32 may “unlock” audio capture button 158 (thereby causing communication process to stop receiving media data) by pressing the central, or normal, position of audio capture button 158. Various additional/alternative mechanism for stopping the continuous capture of media data may be utilized.
In some embodiments the individual audio segments may be based on, at least in part, audio “whitespaces” created in the audio media. For example, while creating a voice message (or other audio media) user 32 may pause (or otherwise cause a decrease in the audio signal, such as volume, received 200 by communication process 10) for greater than a threshold time period, thereby creating an audio “whitespace.” Communication process 10 may segment the audio media based on the detection of such a whitespace. That is, communication process 10 receive 200 a first audio segment corresponding to the audio media preceding the whitespace and may receive 200 a second audio segment corresponding to the audio media following the whitespace. In a generally similar manner, during a multi-party conversation between two or more users (e.g., which may be provided via a voice-over-IP or other telephony provided by communication system 10), any given audio segment may include more than one creator, such as when two users speak at the same time, a second user begins speaking in less than the threshold whitespace time after the first user stops speaking. As such, communication system 10 may receive 200 audio media including an audio segment of which both the first user and the second user are creators. Further, after the second user speaks, both the first and second user (as well as any other user participating in the multi-party conversation) may remain silent (and/or generate a decreased audio signal) for a time period equal to, or greater than, the threshold whitespace time period. In such an embodiment, when a user begins speaking after the threshold whitespace time period, communication process 10 may receive 200 another audio segment that may include one or more creators.
In an embodiment, user 32 may traverse audio track display 252 by scrolling laterally, for example by executing a side-to side swipe gesture across the representation of audio track display 252 on a touch screen display associated with smart phone 12. In an embodiment, a left to right swipe gesture may scroll audio track display 252 to the left, allowing user 32 to view audio segments that occurred earlier in time. In a generally corresponding manner, a right to left swipe gesture may scroll audio track display 252 to the right, allowing user 32 to view audio segments that occurred later in time. User 32 may access (e.g., listen to) an audio segment by selecting (e.g., by touching, clicking on, etc.) a representation of an audio segment displayed within audio track display 252. Further, in a situation in which user 32 may be displaying and/or accessing an audio segment within audio track display 252 that has an associated creation time at an earlier time, user 32 may select “stop” button 254. Selecting “stop” button 254 may traverse audio track display 252 to display a most currently received 200 audio media item. In a situation in which communication process 10 may be receiving 200 streaming audio media when user 32 selects “stop” button 254, communication process 10 begin playing the streaming audio media in real-time. It will be understood that various additional/alternative displays may be implemented for providing a time-wise sequence display of audio media items. For example, user 32 may also return to a most current portion of the audio media data by simply allowing the recorded audio media data (represented in audio track display 252) to play out (e.g., play from a selected portion until all recorded audio media from the selected audio media data until the last received audio media data), and/or may traverse audio track display 252 to the most recently received audio media data. Further, various additional/alternative controls may be pro-vided for playing back and/or accessing audio media items (e.g. controls to skip forward or backward, fast-forward and rewind, etc.).
In an embodiment, accessing 204 the audio media items may include accessing a streaming audio sequence associated with a current portion of the ongoing multi-party conversation. For example, and as generally discussed above, after accessing one or more audio segments associated with an earlier time period, user 32 may wish to return to a currently ongoing multi-party conversation, and/or access currently streaming audio media items. In such a situation, user 32 may select “stop” button 254. In response to user 32 selecting “stop” button 254, communication process may play currently streaming audio media items being received 200. Additionally, and as generally discussed, each audio segment may include an associated identifier of a creator, or more than one creators, of the audio segment, e.g., which may be displayed via tag 256 and/or via other suitable display.
As will be appreciated by one skilled in the art, the present disclosure may be embodied as a method (e.g., executing in whole or in part on computing device 18), a system (e.g., computing device 18), or a computer program product (e.g., encoded within storage device 28). Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, the present disclosure may take the form of a computer program product on a computer-usable storage medium (e.g., storage device 28) having computer-usable program code embodied in the medium.
Computer program code for carrying out operations of the present disclosure may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present disclosure 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 JavaScript programming language or the Groovy programming language. Furthermore, various application programming interfaces (APis) and/or application development frameworks such as the Dojo or Grails development frameworks may be used in writing the computer program. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network/a wide area network/the Internet (e.g., network 20).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, an and the 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 “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
a communication application stored on the one or more computer readable storage media and comprising program instructions that, when read and executed by the processing system, direct the processing system to at least:
render a user interface to the communication application, the user interface comprising a visual media interface and an audio media interface;
render visual media content associated with a multi-party conversation in the visual media interface; and
render audio media content associated with the multi-party conversation in the audio media interface.
7. One or more computer readable storage media having a communication application stored thereon for supporting multi-party conversations, the communication application comprising program instructions that, when read and executed by a processing system, direct the processing system to at least:
13. A method of operating a computing device in support of a communication application, the method comprising:
displaying a user interface to the communication application, the user interface comprising a visual media interface and an audio media interface;
displaying visual media content associated with a multi-party conversation in the visual media interface; and
displaying audio media content associated with the multi-party conversation in the audio media interface.
US15/095,594 2011-10-10 2016-04-11 Communication system Active US9942293B2 (en)
US13/648,399 US9313633B2 (en) 2011-10-10 2012-10-10 Communication system
US15/095,594 US9942293B2 (en) 2011-10-10 2016-04-11 Communication system
US13/648,399 Continuation US9313633B2 (en) 2011-10-10 2012-10-10 Communication system
US20160226940A1 US20160226940A1 (en) 2016-08-04
US9942293B2 true US9942293B2 (en) 2018-04-10
US13/648,399 Active 2033-11-28 US9313633B2 (en) 2011-10-10 2012-10-10 Communication system
US15/095,594 Active US9942293B2 (en) 2011-10-10 2016-04-11 Communication system
US20160284018A1 (en) * 2011-02-17 2016-09-29 Metail Limited Computer implemented methods and systems for generating virtual body models for garment fit visualisation
JP2001218177A (en) 2000-01-31 2001-08-10 Tietech Co Ltd System for fetching still image data in video telephone
JP2001511991A (en) 1997-10-01 2001-08-14 エイ・ティ・アンド・ティ・コーポレーション Label interval data storage and retrieval method and apparatus for multimedia record
EP1162806A2 (en) 2000-06-08 2001-12-12 International Business Machines Corporation Simultaneous viewing and/or listening to a plurality of transmitted multimedia streams through a centralized processing space
JP2002202941A (en) 2000-08-25 2002-07-19 4C Soft Inc Multimedia electronic learning system and learning method
CN1551631A (en) 2003-05-16 2004-12-01 精工爱普生株式会社 Method and system for media playback architecture
JP2005229463A (en) 2004-02-16 2005-08-25 Ics:Kk Image resolution switching transmitter
JP2006074538A (en) 2004-09-03 2006-03-16 Casio Comput Co Ltd Radio communication terminal
CN1801785A (en) 2004-12-31 2006-07-12 腾讯科技（深圳）有限公司 Multimedia content interaction system based on instantaneous communication and its realizing method
CN101035248A (en) 2007-03-29 2007-09-12 华为技术有限公司 Method, system and visual phone for sharing the image and/or video data
JP2007266992A (en) 2006-03-28 2007-10-11 Kyocera Corp Server and radio communication terminal
US20080019440A1 (en) 2006-05-10 2008-01-24 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving moving pictures using near field communication
JP2008172582A (en) 2007-01-12 2008-07-24 Ricoh Co Ltd Minutes generating and reproducing apparatus
US20080234005A1 (en) 2007-03-21 2008-09-25 Motorola, Inc. Method and apparatus for selective access of display data sequencing in mobile computing devices
RU2335854C2 (en) 2002-09-20 2008-10-10 Квэлкомм Инкорпорейтед Communication device to provide multimedia in group communication network
CN101286810A (en) 2008-05-16 2008-10-15 中兴通讯股份有限公司 Method and device for transmitting and receiving video preview of mobile phone television
US20100040349A1 (en) 2008-05-01 2010-02-18 Elliott Landy System and method for real-time synchronization of a video resource and different audio resources
CN101690206A (en) 2007-07-12 2010-03-31 诺基亚公司 Virtual TV room service with interactive capabilities signaling
CN101827271A (en) 2009-03-04 2010-09-08 联芯科技有限公司 Audio and video synchronized method and device as well as data receiving terminal
EP2237533A1 (en) 2009-03-30 2010-10-06 Avaya Inc. System and method for managing multiple concurrent communication sessions using a graphical call connection metaphor
US20110109717A1 (en) 2009-09-09 2011-05-12 Nimon Robert E Multiple camera group collaboration system and method
WO2011090815A2 (en) 2010-01-20 2011-07-28 Microsoft Corporation Communication sessions among devices and interfaces with mixed capabilities
RU2005120378A (en) 2003-12-12 2006-01-20 Майкрософт Корпорейшн (Us) The system and method for exchanging messages in real time with the function of sharing images
"Final Office Action Issued in U.S Appl. No. 13/648,399", dated Jul. 15, 2015, 8 Pages.
"First Office Action and Search Report Issued in Chinese Patent Application No. 201280049670.1", dated Oct. 9, 2016, 15 Pages.
"International Preliminary Report on Patentability Issued in PCT Application No. PCT/US2012/059493", dated Apr. 24, 2014, 9 Pages.
"International Search Report & Written Opinion Issued in PCT Application No. PCT/US2012/059493", dated Dec. 11, 2012, 11 Pages.
"Non-Final Office Action Issued in U.S Appl. No. 13/648,399", dated Jan. 29, 2015, 8 Pages.
"Notice of Allowance Issued in Australian Patent Application No. 2012323326", dated Jul. 1, 2016, 2 Pages.
"Notice of Allowance Issued in Russian Patent Application No. 2014118683", dated Jan. 11, 2017, 11 Pages. (W/o English Translation).
"Notice of Allowance Issued in U.S Appl. No. 13/648,399", dated Dec. 7, 2015, 5 Pages.
"Office Action Issued in Australian Patent Application No. 2012323326", dated Mar. 22, 2016, 3 Pages.
"Office Action Issued in Australian Patent Application No. 2016244251", dated Dec. 8, 2017, 2 Pages.
"Office Action Issued in European Patent Application No. 12839847.6", dated Jul. 27, 2016, 6 Pages.
"Office Action Issued in Israel Patent Application No. 231848", dated Mar. 12, 2017, 2 Pages.
"Office Action Issued in Japanese Patent Application No. 2014-535809", dated Aug. 2, 2016, 5 Pages. (W/o English Translation).
"Office Action Issued in Japanese Patent Application No. 2017-022303", dated Jan. 30, 2018, 7 Pages.
"Office Action Issued in Russian Patent Application No. 2014118683", dated Sep. 12, 2016, 4 Pages. (W/O English Translation).
"Second Office Action Issued in Chinese Patent Application No. 201280049670.1", dated Jul. 3, 2017, 6 Pages.
"Third Office Action Issued in Chinese Patent Application No. 201280049670.1", dated Oct. 24, 2017, 5 Pages.
JP6370941B2 (en) 2018-08-08
KR101350029B1 (en) 2014-01-13 System and method for managing multiple concurrent communication sessions using a graphical call connection metaphor
US8994683B2 (en) 2015-03-31 Digital display devices having communication capabilities
JP5444347B2 (en) 2014-03-19 Method and computer program for alerting a status perceive in collaboration in real time
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TALKO INC.;REEL/FRAME:044717/0629
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:044719/0629