US20180302451A1 - Method and Apparatus for Providing a Media Content from a Collaborative Meeting to a Remote User - Google Patents
Method and Apparatus for Providing a Media Content from a Collaborative Meeting to a Remote User Download PDFInfo
- Publication number
- US20180302451A1 US20180302451A1 US15/985,240 US201815985240A US2018302451A1 US 20180302451 A1 US20180302451 A1 US 20180302451A1 US 201815985240 A US201815985240 A US 201815985240A US 2018302451 A1 US2018302451 A1 US 2018302451A1
- Authority
- US
- United States
- Prior art keywords
- collaborative meeting
- media content
- collaborative
- user
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- H04L65/105—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1093—In-session procedures by adding participants; by removing participants
Definitions
- the present disclosure relates to collaborative meeting software, and more particularly to a proxy server configured to join a collaborative meeting on behalf of a user, and provide media content from the collaborative meeting to the user.
- Collaborative meeting software has risen in popularity in recent years.
- Some examples of collaborative meeting software platforms include WEBEX, GOTOMEETING, and LIVE MEETING.
- Collaborative meeting software is often used to share the desktop of a presenter to a plurality of viewers, so that some media content can be presented, such as a slide-based presentation.
- one or more participants are designated as “presenters” and can advance a presentation, while the remaining participants are “viewers” who passively receive media content from the collaborative meeting.
- Collaborative meetings also may include an audio component where presenters provide speech data to accompany their presentation.
- each of these platforms requires use of their own specific client for participating in a given meeting, and some of these clients will not work properly on different terminal devices or through some firewall configurations.
- each collaboration tool may require an application or web browser plugin download for their respective client, which may be problematic for some users, and may present browser compatibility issues.
- a computer-implemented method comprises joining, by a first client on a proxy server, a collaborative meeting on behalf of a user.
- the collaborative meeting is hosted on a first meeting platform and the first client utilizes the first meeting platform.
- the first client receives media content from the collaborative meeting on behalf of the user.
- the proxy server then transmits the received media content to a second client on a computing device of the user that utilizes a different, second meeting platform.
- a computer-implemented method comprises, joining, by a first local client and for a given user, a first collaborative meeting as a presenter, wherein the first client utilizes a first meeting platform.
- the method further comprises instructing a proxy server to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user, as a viewer.
- the first local client contributes media content from the given user to the first collaborative meeting.
- a second local client receives consolidated media content from the set of collaborative meetings via the proxy server.
- the consolidated media content includes the media content from the given user and from one or more additional contributors, and the second client utilizes a different second meeting platform.
- a computing device comprises a communication interface in a proxy server, for communicating with computing devices of users, and with a collaborative meeting host providing a collaborative meeting on a first collaborative meeting platform.
- the computing device further comprises a controller in the proxy server.
- the controller is configured to join, using a first client, the collaborative meeting on behalf of a user, wherein the collaborative meeting is hosted on the first meeting platform and the first client utilizes the first meeting platform.
- the controller is further configured to receive, using the first client, media content from the collaborative meeting on behalf of the user.
- the controller is further configured to transmit the received media content to a second client on a computing device of a user that utilizes a different, second meeting platform.
- a computing device comprises a communication interface for communicating with a proxy server, and with a collaborative meeting host providing a first collaborative meeting.
- the computing device further comprises a controller configured to join, using a first local client and for a given user, a first collaborative meeting as a presenter.
- the first client utilizes a first meeting platform.
- the controller is further configured to instruct a proxy server to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user, as a viewer.
- the controller is further configured to contribute, using the first local client, media content from the given user to the first collaborative meeting.
- the controller is further configured to receive, using a different second local client, consolidated media content from the set of collaborative meetings via the proxy server.
- the consolidated media content includes the media content from the given user and from one or more additional contributors, and the second client utilizes a different second meeting platform.
- a computer program product comprises a computer readable storage medium having computer readable program code embodied therewith.
- the computer readable program code comprises computer readable program code configured to join, by a first client on a proxy server, a collaborative meeting on behalf of a user, wherein the collaborative meeting is hosted on a first meeting platform and the first client utilizes the first meeting platform.
- the computer readable program code further comprises computer readable program code configured to receive, by the first client, media content from the collaborative meeting on behalf of the user.
- the computer readable program code further comprises computer readable program code configured to transmit the received media content to a second client on a computing device of the user that utilizes a different, second meeting platform.
- a computer program product comprises a computer readable storage medium having computer readable program code embodied therewith.
- the computer readable program code comprises computer readable program code configured to join, by a first local client and for a given user, a first collaborative meeting as a presenter, wherein the first client utilizes a first meeting platform.
- the computer readable program code further comprises computer readable program code configured to instruct a proxy server to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user, as a viewer.
- the computer readable program code further comprises computer readable program code configured to contribute, by the first local client, media content from the given user to the first collaborative meeting.
- the computer readable program code further comprises computer readable program code configured to receive, by a different second local client, consolidated media content from the set of collaborative meetings via the proxy server, wherein the consolidated media content includes the media content from the given user and from one or more additional contributors, and wherein the second client utilizes a different second meeting platform.
- FIG. 1 is a picture of a collaborative meeting system.
- FIG. 2 is a block diagram of a computer-implemented method performed by a proxy server of FIG. 1 .
- FIG. 3 is a signaling diagram illustrating the method of FIG. 2 according to one embodiment.
- FIGS. 4A and 4B are signaling diagrams of embodiments where the proxy server joins a collaborative meeting on behalf of multiple users.
- FIG. 5 is a signaling diagram of an embodiment in which the proxy server joins a set of collaborative meetings.
- FIG. 6 is a signaling diagram of an embodiment in which multiple presenters use multiple collaborative meeting platforms.
- FIG. 7 is a block diagram of a computer-implemented method performed by a computing device of a collaborative meeting participant.
- FIG. 8 illustrates an example display for shared media content of a collaborative meeting at a user computing device, as presented by the proxy server.
- FIG. 9 is a block diagram of a proxy server.
- FIG. 10 is a block diagram of a user computing device.
- aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely as hardware, entirely as software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
- the computer readable media may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages.
- 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.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
- LAN local area network
- WAN wide area network
- SaaS Software as a Service
- These computer program instructions may also be stored in a non-transitory computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- the present disclosure describes a method and apparatus for providing media content from a collaborative meeting to one or more users.
- the media content may include, for example, slides from a slide-based presentation.
- a proxy server is used to join a collaborative meeting on behalf of users, such that media content is received at the proxy server from the collaborative meeting on a first collaborative meeting platform, but is transferred to the computing device on a second collaborative meeting platform that is different from the first platform.
- FIG. 1 illustrates a collaborative meeting system 10 in which a plurality of users 12 , 14 use their respective computing devices 16 , 18 to join a collaborative meeting provided by collaborative meeting host (CMH) 20 .
- the computing devices 16 , 18 may include desktop computers, laptop computers, tablets, or smartphones, for example.
- a computing device being a computing device “of a user” indicates that the user utilizes the computing device to view content from a collaborative meeting.
- the computing device 16 is the computing device of user 12
- computing device 18 is the computing device of user 14 .
- the CMH operates a first collaborative meeting software platform, and provides the collaborative meeting on the first platform (P 1 ).
- User 12 joins the meeting using a native client C 1 of P 1 using their respective computing device 16 .
- the client C 1 is plugin for a web browser.
- User 14 joins the collaborative meeting using a different second client C 2 via proxy server 22 .
- Client C 2 operates on a different second collaborative meeting software platform (P 2 ).
- the proxy server 22 supports multiple platforms including P 1 and P 2 .
- the proxy server 22 joins the collaborative meeting of CMH 20 on behalf of the user 14 using its copy of the client C 1 (using P 1 ), but then transmits media content received from the CMH during the collaborative meeting to client C 2 (using P 2 ).
- the clients C 1 , C 2 are plugins for a web browser, and/or are standalone applications (e.g., desktop applications or tablet/smartphone applications).
- P 1 and C 1 will be used to refer to a first collaborative meeting platform and a client supporting that first platform.
- P 2 and C 2 will be used to refer to a different second collaborative meeting platform and a client supporting that second platform, and P 3 and C 3 will similarly be used.
- the C 1 of a given figure isn't necessarily the same C 1 of another figure. Instead, this notation is used to indicate a pairing between clients and platforms within a given figure.
- the proxy server communicates with the client C 2 and with the CMH through a wide area network (WAN) 24 , such as the Internet.
- WAN wide area network
- the proxy server 22 joint the collaborative meeting on behalf of the user 14 only as a passive viewer, such that the client C 2 only receives media content as a “viewer” and does not enable the user 14 to transmit media content in the collaborative meeting as a “presenter.”
- the user 14 may receive the media content as a read-only web page (or read-only portion of an interactive webpage).
- FIG. 2 is a block diagram of a computer-implemented method 100 performed by the proxy server 22 .
- the first client (C 1 ) on the proxy server 22 uses the first meeting platform (P 1 ) to join a collaborative meeting on behalf of user 14 B (block 102 ).
- Client C 1 receives media content from the collaborative meeting on behalf of the user 14 (block 104 ).
- the proxy server 22 then transmits the received media content to the second client C 2 on the computing device 14 which utilizes the different, second platform P 2 (block 106 ).
- FIG. 3 is a signaling diagram 200 illustrating the method 100 according to one embodiment.
- Computing device 18 requests to join a collaborative meeting hosted by collaborative meeting host 20 , which supports only C 1 and P 1 (step 202 ).
- Step 202 may include the computing device 18 providing credentials for the collaborative meeting (e.g., a username, URL, password, and/or a meeting code) at or shortly before a scheduled meeting time.
- Proxy server 22 joins the collaborative meeting on behalf of user 14 using C 1 and P 1 (step 204 ).
- the proxy server receives media content from the collaborative meeting using C 1 and P 1 (step 206 ), and sends the media content to computing device 18 which is utilizing C 2 and P 2 (step 208 ).
- Steps 206 and 208 would then be repeated as necessary to transmit additional media content for the collaborative meeting.
- C 2 is a browser-based client
- step 208 in one or more embodiments comprises the proxy server 22 mapping frames of the media content onto a webpage that is refreshed whenever the context changes (e.g., when a new slide of a slide-based presentation is displayed) or with some defined periodicity.
- the proxy server 22 may distribute media content from a collaborative meeting to multiple instances of a supported client for multiple users.
- FIGS. 4A and 4B illustrate embodiments where the proxy server 22 joins a collaborative meeting on behalf of multiple users 14 A, 14 B.
- user 14 A requests that the proxy server 22 join a collaborative meeting on their behalf (step 302 ).
- the proxy server 22 joins the collaborative meeting supported by CMH 20 by establishing a session with the CMH 20 (step 304 ).
- User 14 B requests that the proxy server 22 join a collaborative meeting on their behalf (step 306 ).
- the proxy server 22 joins the collaborative meeting supported by CMH 20 by establishing another session with the CMH 20 (step 308 ).
- the proxy server 22 Upon receiving media content from the collaborative meeting using C 1 (step 310 ), the proxy server 22 transmits the media content to the computing devices 18 A-B of users 14 A-B which are each using C 2 (step 312 ). Steps 310 and 312 would then be repeated as necessary to transmit additional media content for the collaborative meeting. Thus, in this embodiment a separate session is established with the CMH for each user (i.e., each user 14 connects to the collaborative meeting with their own instance of C 1 on the proxy server 22 ).
- FIG. 4B illustrates an alternate embodiment in which the proxy server 22 establishes a single session with the CMH 20 for multiple users.
- User 14 A requests that the proxy server 22 join a collaborative meeting on their behalf (step 352 ).
- User 14 B requests that the proxy server 22 join a collaborative meeting on their behalf (step 354 ).
- the proxy server 22 joins the collaborative meeting supported by CMH 20 on behalf of both users 14 A-B by establishing a single session with the CMH 20 using C 1 (step 356 ).
- the proxy server 22 Upon receiving media content from the collaborative meeting using C 1 (step 358 ), transmits the media content to the computing devices 18 A-B of users 14 A-B which are using C 2 (step 360 ).
- Steps 358 and 360 would then be repeated as necessary to transmit additional media content for the collaborative meeting.
- a single session is established between C 1 and the collaborative meeting on behalf of the multiple users 14 A, 14 B (i.e., each user logs into the collaborative meeting with a same instance of client C 1 ).
- the proxy server 22 is configured to join a set of collaborative meetings on behalf of a single user.
- the set of meetings may use the same or different collaborative meeting platforms.
- FIG. 5 illustrates a signaling diagram 400 of an embodiment in which the proxy server 22 joins a set of collaborative meetings.
- User 14 sends a request to proxy server 22 to join a set of collaborative meetings, including a collaborative meeting on platform P 1 (provided by CMH 1 20 A) and a separate meeting on platform P 2 (provided by CMH 2 20 B) (step 404 ).
- the proxy server 22 joins the P 1 collaborative meeting with CMH 1 20 A on behalf of the user 14 using client C 1 that supports platform P 1 (step 406 ).
- the proxy server 22 also joins the P 2 collaborative meeting with CMH 2 20 B on behalf of the user 14 using client C 2 that supports platform P 2 (step 408 ).
- the proxy server 22 receives media content from each of the respective collaborative meetings (steps 410 , 412 ).
- step 414 comprises the proxy server 22 placing the media content in an outbound queue in the order in which it was received.
- the proxy server 22 effectively consolidates the media content from the plurality of hosts 20 A, 20 B to form “consolidated media content” from the plurality of collaborative meetings (i.e., that of P 1 and P 2 ).
- the proxy server 24 could join any quantity of meetings on behalf of the user 14 at a given time, and could consolidate media content from all of those collaborative meetings.
- FIG. 6 is a signaling diagram 500 of another embodiment, similar to that of FIG. 5 , but in which multiple presenters use multiple collaborative meeting platforms.
- the proxy server 22 joins the collaborative meeting on behalf of users 14 A-B only as a passive viewer, such that the users 14 A-B only receive media content as “viewers” through the proxy server 22 .
- the embodiment of FIG. 6 illustrates how the proxy server 22 in such embodiments may be used to enable multiple presenters to use multiple presentation platforms.
- user 14 A uses computing device 18 A to directly join a collaborative meeting of host CMH 1 as a presenter, using client C 1 (step 502 ).
- User 14 B uses computing device 18 B to directly join a collaborative meeting of host CMH 2 as a presenter, using client C 2 (step 504 ).
- Neither of the steps 502 , 504 implicates the proxy server 22 .
- User 14 A then sends a request to the proxy server 22 to join the first and second collaborative meetings as a passive viewer on behalf of the user 14 A (step 506 ).
- user 14 B sends a request to the proxy server 22 to join the first and second collaborative meetings as a passive viewer on behalf of the user 14 B (step 508 ).
- the proxy server 22 then joins the first collaborative meeting on behalf of the users 14 A-B using client C 1 (step 510 ), and joins the second collaborative meeting on behalf of the users 14 A-B using client C 2 (step 512 ).
- the proxy server 22 joins the collaborative meetings in question as a viewer only (such that the users 14 A, 14 B cannot contribute media content through client C 1 , but can instead only receive media content through client C 1 on the proxy server 22 ).
- User 14 A then contributes media content to the collaborative meeting using C 1 (step 514 ).
- the proxy server 22 receives that media content from CMH 1 (step 516 ), and transmits the content to both of users 14 A and 14 B, via their respective instances of client C 3 (step 518 ).
- User 14 B then contributes media content to the collaborative meeting using C 1 (step 520 ).
- the proxy server 22 receives that media content from CMH 2 (step 522 ), and transmits the content to both of users 14 A and 14 B, via their respective instances of client C 3 (step 524 ).
- multiple presenters can transmit media content to a collaborative meeting using a first client (C 1 or C 2 ) and then receive that content, along with any other content from a set of associated collaborative meetings using a second client C 3 via the proxy server 22 .
- This may be advantageous if each presenting user has a preferred collaborative meeting client to use for presentations, and/or if each presenting user cannot use the other presenter's client (e.g., if C 1 cannot operate on computing device 18 B of user 14 B).
- FIG. 7 is a block diagram of a computer-implemented method 600 performed by a remote computing device of a collaborative meeting participant.
- Computing device 18 A uses client C 1 (which supports platform P 1 ) to join a first collaborative meeting for user 14 A as a presenter (client C 1 joins CMH 1 meeting) (block 602 ).
- the computing device 18 A then instructs proxy server 22 to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user 14 A, as a viewer (block 604 ).
- the set of meetings includes the first and second collaborative meetings.
- the remote computing device 18 A via client C 1 , contributes media content from user 14 A to the first collaborative meeting (block 606 ).
- the computing device 18 A uses a second client C 3 (which supports platform P 3 ) to receive consolidated media content from the set of collaborative meetings via the proxy server 22 , with the consolidated media content including the media content contributed by user 14 A and one or more additional contributors (e.g., user 14 B) (block 608 ).
- this method allows presenters to use different collaborative meeting platforms but still effectively participate in a single consolidated meeting.
- FIG. 8 illustrates an example display 50 of a collaborative meeting at computing device 18 , as presented by the proxy server 22 .
- the example embodiment of FIG. 8 includes searching, translation, and recording features.
- a user 14 is presented with a current display of media content 52 from a collaborative meeting.
- the user 14 may select button 54 to translate a given piece of media content. In one or more embodiments, this may be used so that the user 14 dynamically receives a portion of translated media content before having received the portion of media content in untranslated form.
- the user 14 may instead choose to translate only selected portion(s) of media content after having received the selected portion(s) of media content in untranslated form.
- the translation features of the proxy server 22 includes processing images and/or an audio stream of a collaborative meeting through text-recognition and/or audio-recognition technologies, and then presenting the resulting images and/or audio-stream to the user 14 .
- the audio stream is obtained by the proxy server 22 dialing into an audio conference, such that the users 14 do not need to dial into the conference.
- the recording features discussed above could also record the audio along with the unique frames of the image (and/or video) portion of the conference.
- the proxy server 22 is configured to archive received media content in storage, and responsive to receiving a request for an archived portion of the media content from the computing device 18 of user 14 , transmit the requested portion of the media content to the computing device 18 of the user 14 from the archive.
- This may be implemented using image links 56 , with each link 56 corresponding to a previous portion of the media content, and with the links 56 collectively providing a complete or partial history of the collaborative meeting.
- the recording may be toggled with button 58 .
- the image links 56 could facilitate moving back through previous view (e.g., slides) during a collaborative meeting.
- the proxy server 22 could play back the collaborative meeting conference from the beginning potentially at a higher speed in order to “catch up” to a live conference. This could be useful if a user 14 joined a collaborative meeting after it had already commenced (i.e., after some media content had already been shared in the collaborative meeting).
- the proxy server 22 is configured to index the archived received media content for searching, and based on the indexing provide a search interface to facilitate searching of indexed media content.
- this search interface includes search field 58 and results area 60 .
- the user 14 may enter a search query in the field 58 , and the proxy server 22 would provide search results for a given collaborative meeting in area 60 .
- the client of the proxy server 22 is configured for integration with remote user calendar tools.
- client C 2 is the client for remote users to receive media content from the proxy server 22 .
- C 2 could be configured to work with a calendar tool, such as MICROSOFT OUTLOOK, to translate collaborative meeting information from platform P 1 to platform P 2 .
- a calendar tool such as MICROSOFT OUTLOOK
- the client C 2 may coordinate with the proxy server 22 to provide a new URL to join the meeting through P 2 , such as http://www.myconference.com/7443701317.
- the client C 2 may be configured to automatically translate such URLs in Outlook (or other calendar tool) entries to simplify the process for joining collaborative meetings.
- the client C 2 may provide a similar translation feature upon request without implicating any calendar tools.
- the translated link could be sent to a user 14 via email, instant message, or any other preferred method.
- the translation may be provided using an email forwarding-rule, email-system plugin, or instant messaging plugin, such that the link would be translated from client C 1 to client C 2 as discussed above.
- FIG. 9 is a block diagram of an example computing device 700 configured as a proxy server 22 .
- the computing device 700 includes a communication interface 702 , a controller 704 , and a computer-readable storage medium (shown as memory 706 ).
- the communication interface 702 is configured to communicate with computing devices 18 of users 14 and with at least one collaborative meeting host 20 providing a collaborative meeting on a first meeting platform P 1 .
- the controller 702 includes one or more processing circuits configured to join, using a C 1 (see client unit 708 ), the collaborative meeting on behalf of the user 14 , wherein the collaborative meeting is hosted on the platform P 1 and the client C 1 utilizes platform P 1 .
- the controller receives, using client C 1 , media content from the collaborative meeting on behalf of the user 14 , and transmits the received media content to a second client C 2 on computing device 18 of the user 14 that is utilizing a different, second meeting platform P 2 .
- the client unit 708 includes multiple clients (e.g., the embodiment of FIG. 5 ), with each client being operative to interact with a different collaborative meeting platform.
- the controller 704 may optionally also include one or more of the following: a translation unit 710 operative to translate media content from a first language to a different second language, a recording unit 712 operative to archive media content in the memory 706 , a speech-to-text unit 714 operative to convert audio media content to text form (e.g., for searching), a text search unit 716 operative to index archived media content and provide a searchable interface for searching the archived media content, and a reformatting unit 718 configured to reformat received media content according to user device and/or preferences.
- a translation unit 710 operative to translate media content from a first language to a different second language
- a recording unit 712 operative to archive media content in the memory 706
- a speech-to-text unit 714 operative to convert audio media content to text form (e.g., for searching)
- a text search unit 716 operative to index archived media content and provide a searchable interface for searching the archived media content
- the memory 706 includes a computer program product 720 containing computer readable program code operative to configure the computing device 700 according to one or more of the embodiments described above, and also includes an archive database 722 operative to store archived media content (from recording unit 712 ), and optionally to also store an index of archived media content.
- FIG. 10 is a block diagram of an example computing device 800 configured as computing device 18 of user 14 (e.g., according to the embodiment of FIG. 6 ).
- the computing device 800 includes a communication interface 802 , a controller 804 , and a computer-readable storage medium (shown as memory 806 ).
- the communication interface 802 is configured to communicate with proxy server 22 , and with a collaborative meeting host providing a first collaborative meeting (e.g., host CMH 1 of FIG. 6 ).
- the controller 804 is configured to use a first local client to join a first collaborative meeting for a given user as a presenter, wherein the first client utilizes a first meeting platform (see client C 1 of client unit 808 ).
- the controller 804 is further configured to instruct proxy server 22 to separately join a set of collaborative meetings that includes the first collaborative meeting of host CMH 1 , on behalf of the given user, as a viewer.
- the controller 804 is further configured to use the first local client to contribute media content from the given user to the first collaborative meeting, and to receive by a different second local client (see client C 3 of client unit 810 ) consolidated media content from the set of collaborative meetings via the proxy server 22 .
- the consolidated media content received by client C 3 includes the media content contributed by the given user and by one or more additional contributors.
- the memory 806 includes a computer program product 812 containing computer readable program code operative to configure the computing device 800 as described in the embodiment of FIG. 6 .
- the embodiments discussed above simplify collaborative meeting participation by allowing attendees to view a collaborative meeting without having to download or learn specialized collaboration tools (e.g., in the embodiment of FIG. 3 not requiring user 14 to download client C 1 ). Additionally, the embodiments discussed above allow media content contributed to a collaboration meeting using tools that work primarily with a single operating system, to be viewed by users using other operating systems. In one or more embodiments, presenters are able to use their preferred collaborative meeting tool, such that differing presentation tools may be used for a set of collaborative meetings that are ultimately presented as a single set of consolidated media content.
- slide-based presentations have been discussed as a possible type of media content to be shared in a collaborative meeting, it is understood that this is only one non-limiting embodiment.
- video and/or audio content could be shared instead of static slides of a slide-based presentation.
- video and/or audio could be provided within the presentation (e.g., to illustrate a presenter marking up a slide) or a presenter switching from the slide-based presentation to simply sharing a view of their desktop.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
Abstract
According to an example computer-implemented method, a first client on a proxy server joins a collaborative meeting on behalf of a user. The collaborative meeting is hosted on a first meeting platform, and the first client utilizes the first meeting platform. The first client receives media content from the collaborative meeting on behalf of the user. The proxy server transmits the received media content to a second client on a computing device of the remote user that utilizes a different, second meeting platform. A computing device and computer program product implementing similar features are also disclosed.
Description
- The present application is a continuation of U.S. application Ser. No. 13/792,437, filed Mar. 11, 2013 (now U.S. Pat. No. 9,979,757); the disclosures of each of the above-referenced applications are incorporated by reference herein in their entireties.
- The present disclosure relates to collaborative meeting software, and more particularly to a proxy server configured to join a collaborative meeting on behalf of a user, and provide media content from the collaborative meeting to the user.
- Collaborative meeting software has risen in popularity in recent years. Some examples of collaborative meeting software platforms include WEBEX, GOTOMEETING, and LIVE MEETING. Collaborative meeting software is often used to share the desktop of a presenter to a plurality of viewers, so that some media content can be presented, such as a slide-based presentation. In a typical configuration, one or more participants are designated as “presenters” and can advance a presentation, while the remaining participants are “viewers” who passively receive media content from the collaborative meeting. Collaborative meetings also may include an audio component where presenters provide speech data to accompany their presentation. However, each of these platforms requires use of their own specific client for participating in a given meeting, and some of these clients will not work properly on different terminal devices or through some firewall configurations. Moreover, each collaboration tool may require an application or web browser plugin download for their respective client, which may be problematic for some users, and may present browser compatibility issues.
- According to one aspect of the present disclosure, a computer-implemented method comprises joining, by a first client on a proxy server, a collaborative meeting on behalf of a user. The collaborative meeting is hosted on a first meeting platform and the first client utilizes the first meeting platform. The first client receives media content from the collaborative meeting on behalf of the user. The proxy server then transmits the received media content to a second client on a computing device of the user that utilizes a different, second meeting platform.
- According to another aspect of the present disclosure, a computer-implemented method comprises, joining, by a first local client and for a given user, a first collaborative meeting as a presenter, wherein the first client utilizes a first meeting platform. The method further comprises instructing a proxy server to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user, as a viewer. The first local client contributes media content from the given user to the first collaborative meeting. A second local client receives consolidated media content from the set of collaborative meetings via the proxy server. The consolidated media content includes the media content from the given user and from one or more additional contributors, and the second client utilizes a different second meeting platform.
- According to another aspect of the present disclosure, a computing device comprises a communication interface in a proxy server, for communicating with computing devices of users, and with a collaborative meeting host providing a collaborative meeting on a first collaborative meeting platform. The computing device further comprises a controller in the proxy server. The controller is configured to join, using a first client, the collaborative meeting on behalf of a user, wherein the collaborative meeting is hosted on the first meeting platform and the first client utilizes the first meeting platform. The controller is further configured to receive, using the first client, media content from the collaborative meeting on behalf of the user. The controller is further configured to transmit the received media content to a second client on a computing device of a user that utilizes a different, second meeting platform.
- According to another aspect of the present disclosure, a computing device comprises a communication interface for communicating with a proxy server, and with a collaborative meeting host providing a first collaborative meeting. The computing device further comprises a controller configured to join, using a first local client and for a given user, a first collaborative meeting as a presenter. The first client utilizes a first meeting platform. The controller is further configured to instruct a proxy server to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user, as a viewer. The controller is further configured to contribute, using the first local client, media content from the given user to the first collaborative meeting. The controller is further configured to receive, using a different second local client, consolidated media content from the set of collaborative meetings via the proxy server. The consolidated media content includes the media content from the given user and from one or more additional contributors, and the second client utilizes a different second meeting platform.
- According to another aspect of the present disclosure, a computer program product comprises a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code comprises computer readable program code configured to join, by a first client on a proxy server, a collaborative meeting on behalf of a user, wherein the collaborative meeting is hosted on a first meeting platform and the first client utilizes the first meeting platform. The computer readable program code further comprises computer readable program code configured to receive, by the first client, media content from the collaborative meeting on behalf of the user. The computer readable program code further comprises computer readable program code configured to transmit the received media content to a second client on a computing device of the user that utilizes a different, second meeting platform.
- According to another aspect of the present disclosure, a computer program product comprises a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code comprises computer readable program code configured to join, by a first local client and for a given user, a first collaborative meeting as a presenter, wherein the first client utilizes a first meeting platform. The computer readable program code further comprises computer readable program code configured to instruct a proxy server to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the given user, as a viewer. The computer readable program code further comprises computer readable program code configured to contribute, by the first local client, media content from the given user to the first collaborative meeting. The computer readable program code further comprises computer readable program code configured to receive, by a different second local client, consolidated media content from the set of collaborative meetings via the proxy server, wherein the consolidated media content includes the media content from the given user and from one or more additional contributors, and wherein the second client utilizes a different second meeting platform.
- Of course, the present invention is not limited to the above features and advantages. Indeed, those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and upon viewing the accompanying drawings.
- Aspects of the present disclosure are illustrated by way of example and are not limited by the accompanying figures with like references indicating like elements.
-
FIG. 1 is a picture of a collaborative meeting system. -
FIG. 2 is a block diagram of a computer-implemented method performed by a proxy server ofFIG. 1 . -
FIG. 3 is a signaling diagram illustrating the method ofFIG. 2 according to one embodiment. -
FIGS. 4A and 4B are signaling diagrams of embodiments where the proxy server joins a collaborative meeting on behalf of multiple users. -
FIG. 5 is a signaling diagram of an embodiment in which the proxy server joins a set of collaborative meetings. -
FIG. 6 is a signaling diagram of an embodiment in which multiple presenters use multiple collaborative meeting platforms. -
FIG. 7 is a block diagram of a computer-implemented method performed by a computing device of a collaborative meeting participant. -
FIG. 8 illustrates an example display for shared media content of a collaborative meeting at a user computing device, as presented by the proxy server. -
FIG. 9 is a block diagram of a proxy server. -
FIG. 10 is a block diagram of a user computing device. - As will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely as hardware, entirely as software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
- Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. 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 any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS).
- Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatuses (systems) and computer program products according to embodiments of the disclosure. 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 processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable instruction execution apparatus, create a mechanism for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a non-transitory computer readable medium that when executed can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions when stored in the computer readable medium produce an article of manufacture including instructions which when executed, cause a computer to implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatuses or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The present disclosure describes a method and apparatus for providing media content from a collaborative meeting to one or more users. The media content may include, for example, slides from a slide-based presentation. A proxy server is used to join a collaborative meeting on behalf of users, such that media content is received at the proxy server from the collaborative meeting on a first collaborative meeting platform, but is transferred to the computing device on a second collaborative meeting platform that is different from the first platform.
-
FIG. 1 illustrates a collaborative meeting system 10 in which a plurality ofusers respective computing devices computing devices computing device 16 is the computing device ofuser 12, andcomputing device 18 is the computing device ofuser 14. The CMH operates a first collaborative meeting software platform, and provides the collaborative meeting on the first platform (P1).User 12 joins the meeting using a native client C1 of P1 using theirrespective computing device 16. In one or embodiments the client C1 is plugin for a web browser. -
User 14, in contrast, joins the collaborative meeting using a different second client C2 viaproxy server 22. Client C2 operates on a different second collaborative meeting software platform (P2). Theproxy server 22 supports multiple platforms including P1 and P2. Theproxy server 22 joins the collaborative meeting ofCMH 20 on behalf of theuser 14 using its copy of the client C1 (using P1), but then transmits media content received from the CMH during the collaborative meeting to client C2 (using P2). In one or more embodiments the clients C1, C2 are plugins for a web browser, and/or are standalone applications (e.g., desktop applications or tablet/smartphone applications). Throughout this disclosure the nomenclature P1 and C1 will be used to refer to a first collaborative meeting platform and a client supporting that first platform. Likewise, P2 and C2 will be used to refer to a different second collaborative meeting platform and a client supporting that second platform, and P3 and C3 will similarly be used. However, it is understood that the C1 of a given figure isn't necessarily the same C1 of another figure. Instead, this notation is used to indicate a pairing between clients and platforms within a given figure. - Thus, if
user 14 is unable to use P1, or simply prefers not to use P1, they can instead use P2 to obtain media content from the collaborative meeting. The proxy server communicates with the client C2 and with the CMH through a wide area network (WAN) 24, such as the Internet. In one or more embodiments, theproxy server 22 joint the collaborative meeting on behalf of theuser 14 only as a passive viewer, such that the client C2 only receives media content as a “viewer” and does not enable theuser 14 to transmit media content in the collaborative meeting as a “presenter.” In such embodiments, theuser 14 may receive the media content as a read-only web page (or read-only portion of an interactive webpage). -
FIG. 2 is a block diagram of a computer-implementedmethod 100 performed by theproxy server 22. The first client (C1) on theproxy server 22 uses the first meeting platform (P1) to join a collaborative meeting on behalf ofuser 14B (block 102). Client C1 receives media content from the collaborative meeting on behalf of the user 14 (block 104). Theproxy server 22 then transmits the received media content to the second client C2 on thecomputing device 14 which utilizes the different, second platform P2 (block 106). -
FIG. 3 is a signaling diagram 200 illustrating themethod 100 according to one embodiment.Computing device 18 requests to join a collaborative meeting hosted bycollaborative meeting host 20, which supports only C1 and P1 (step 202). Step 202 may include thecomputing device 18 providing credentials for the collaborative meeting (e.g., a username, URL, password, and/or a meeting code) at or shortly before a scheduled meeting time.Proxy server 22 joins the collaborative meeting on behalf ofuser 14 using C1 and P1 (step 204). The proxy server then receives media content from the collaborative meeting using C1 and P1 (step 206), and sends the media content tocomputing device 18 which is utilizing C2 and P2 (step 208).Steps proxy server 22 mapping frames of the media content onto a webpage that is refreshed whenever the context changes (e.g., when a new slide of a slide-based presentation is displayed) or with some defined periodicity. - According to some embodiments the
proxy server 22 may distribute media content from a collaborative meeting to multiple instances of a supported client for multiple users.FIGS. 4A and 4B illustrate embodiments where theproxy server 22 joins a collaborative meeting on behalf ofmultiple users FIG. 4A ,user 14A requests that theproxy server 22 join a collaborative meeting on their behalf (step 302). Theproxy server 22 joins the collaborative meeting supported byCMH 20 by establishing a session with the CMH 20 (step 304).User 14B requests that theproxy server 22 join a collaborative meeting on their behalf (step 306). Theproxy server 22 joins the collaborative meeting supported byCMH 20 by establishing another session with the CMH 20 (step 308). Upon receiving media content from the collaborative meeting using C1 (step 310), theproxy server 22 transmits the media content to thecomputing devices 18A-B ofusers 14A-B which are each using C2 (step 312).Steps user 14 connects to the collaborative meeting with their own instance of C1 on the proxy server 22). -
FIG. 4B illustrates an alternate embodiment in which theproxy server 22 establishes a single session with theCMH 20 for multiple users.User 14A requests that theproxy server 22 join a collaborative meeting on their behalf (step 352).User 14B then requests that theproxy server 22 join a collaborative meeting on their behalf (step 354). Theproxy server 22 joins the collaborative meeting supported byCMH 20 on behalf of bothusers 14A-B by establishing a single session with theCMH 20 using C1 (step 356). Upon receiving media content from the collaborative meeting using C1 (step 358), theproxy server 22 transmits the media content to thecomputing devices 18A-B ofusers 14A-B which are using C2 (step 360).Steps multiple users - In one or more embodiments, the
proxy server 22 is configured to join a set of collaborative meetings on behalf of a single user. The set of meetings may use the same or different collaborative meeting platforms.FIG. 5 illustrates a signaling diagram 400 of an embodiment in which theproxy server 22 joins a set of collaborative meetings.User 14 sends a request toproxy server 22 to join a set of collaborative meetings, including a collaborative meeting on platform P1 (provided byCMH1 20A) and a separate meeting on platform P2 (provided byCMH2 20B) (step 404). Responsive to this message, theproxy server 22 joins the P1 collaborative meeting withCMH1 20A on behalf of theuser 14 using client C1 that supports platform P1 (step 406). Theproxy server 22 also joins the P2 collaborative meeting withCMH2 20B on behalf of theuser 14 using client C2 that supports platform P2 (step 408). Theproxy server 22 receives media content from each of the respective collaborative meetings (steps 410, 412). - The
proxy server 22 then transmits the media content from each of the collaborative meetings in the set to client C3 in the order in which the content was received, using a third platform P3 (step 414). Steps 410-414 would then be repeated as necessary to transmit additional media content for the collaborative meeting. In the embodiment ofFIG. 5 ,step 414 comprises theproxy server 22 placing the media content in an outbound queue in the order in which it was received. In this regard, theproxy server 22 effectively consolidates the media content from the plurality ofhosts proxy server 24 could join any quantity of meetings on behalf of theuser 14 at a given time, and could consolidate media content from all of those collaborative meetings. -
FIG. 6 is a signaling diagram 500 of another embodiment, similar to that ofFIG. 5 , but in which multiple presenters use multiple collaborative meeting platforms. As discussed above, in one or more embodiments, theproxy server 22 joins the collaborative meeting on behalf ofusers 14A-B only as a passive viewer, such that theusers 14A-B only receive media content as “viewers” through theproxy server 22. The embodiment ofFIG. 6 illustrates how theproxy server 22 in such embodiments may be used to enable multiple presenters to use multiple presentation platforms. - Referring to
FIG. 6 ,user 14A usescomputing device 18A to directly join a collaborative meeting of host CMH1 as a presenter, using client C1 (step 502).User 14B usescomputing device 18B to directly join a collaborative meeting ofhost CMH 2 as a presenter, using client C2 (step 504). Neither of thesteps proxy server 22.User 14A then sends a request to theproxy server 22 to join the first and second collaborative meetings as a passive viewer on behalf of theuser 14A (step 506). Similarly,user 14B sends a request to theproxy server 22 to join the first and second collaborative meetings as a passive viewer on behalf of theuser 14B (step 508). Theproxy server 22 then joins the first collaborative meeting on behalf of theusers 14A-B using client C1 (step 510), and joins the second collaborative meeting on behalf of theusers 14A-B using client C2 (step 512). Insteps proxy server 22 joins the collaborative meetings in question as a viewer only (such that theusers -
User 14A then contributes media content to the collaborative meeting using C1 (step 514). Theproxy server 22 receives that media content from CMH1 (step 516), and transmits the content to both ofusers User 14B then contributes media content to the collaborative meeting using C1 (step 520). Theproxy server 22 receives that media content from CMH2 (step 522), and transmits the content to both ofusers proxy server 22. This may be advantageous if each presenting user has a preferred collaborative meeting client to use for presentations, and/or if each presenting user cannot use the other presenter's client (e.g., if C1 cannot operate oncomputing device 18B ofuser 14B). -
FIG. 7 is a block diagram of a computer-implementedmethod 600 performed by a remote computing device of a collaborative meeting participant. By way of example, this will be discussed in the context ofuser 14A and theircomputing device 18A from the signaling diagram 500 ofFIG. 6 .Computing device 18A uses client C1 (which supports platform P1) to join a first collaborative meeting foruser 14A as a presenter (client C1 joins CMH1 meeting) (block 602). Thecomputing device 18A then instructsproxy server 22 to separately join a set of collaborative meetings that includes the first collaborative meeting, on behalf of the givenuser 14A, as a viewer (block 604). Here the set of meetings includes the first and second collaborative meetings. Theremote computing device 18A, via client C1, contributes media content fromuser 14A to the first collaborative meeting (block 606). Thecomputing device 18A then uses a second client C3 (which supports platform P3) to receive consolidated media content from the set of collaborative meetings via theproxy server 22, with the consolidated media content including the media content contributed byuser 14A and one or more additional contributors (e.g.,user 14B) (block 608). Advantageously, this method allows presenters to use different collaborative meeting platforms but still effectively participate in a single consolidated meeting. -
FIG. 8 illustrates anexample display 50 of a collaborative meeting at computingdevice 18, as presented by theproxy server 22. The example embodiment ofFIG. 8 includes searching, translation, and recording features. As shown inFIG. 8 , auser 14 is presented with a current display ofmedia content 52 from a collaborative meeting. Theuser 14 may selectbutton 54 to translate a given piece of media content. In one or more embodiments, this may be used so that theuser 14 dynamically receives a portion of translated media content before having received the portion of media content in untranslated form. In the same or other embodiments, theuser 14 may instead choose to translate only selected portion(s) of media content after having received the selected portion(s) of media content in untranslated form. - In one or more embodiments the translation features of the
proxy server 22 includes processing images and/or an audio stream of a collaborative meeting through text-recognition and/or audio-recognition technologies, and then presenting the resulting images and/or audio-stream to theuser 14. In one or more embodiments the audio stream is obtained by theproxy server 22 dialing into an audio conference, such that theusers 14 do not need to dial into the conference. In such embodiments, the recording features discussed above could also record the audio along with the unique frames of the image (and/or video) portion of the conference. - In one or more embodiments the
proxy server 22 is configured to archive received media content in storage, and responsive to receiving a request for an archived portion of the media content from thecomputing device 18 ofuser 14, transmit the requested portion of the media content to thecomputing device 18 of theuser 14 from the archive. This may be implemented usingimage links 56, with eachlink 56 corresponding to a previous portion of the media content, and with thelinks 56 collectively providing a complete or partial history of the collaborative meeting. In one or more embodiments the recording may be toggled withbutton 58. The image links 56 could facilitate moving back through previous view (e.g., slides) during a collaborative meeting. - In one or more embodiments, if audio was relayed and/or recorded in a collaborative meeting, the
proxy server 22 could play back the collaborative meeting conference from the beginning potentially at a higher speed in order to “catch up” to a live conference. This could be useful if auser 14 joined a collaborative meeting after it had already commenced (i.e., after some media content had already been shared in the collaborative meeting). - In one or more embodiments, the
proxy server 22 is configured to index the archived received media content for searching, and based on the indexing provide a search interface to facilitate searching of indexed media content. In the embodiment ofFIG. 8 this search interface includessearch field 58 andresults area 60. Thus, theuser 14 may enter a search query in thefield 58, and theproxy server 22 would provide search results for a given collaborative meeting inarea 60. - In one or more embodiments, the client of the
proxy server 22 is configured for integration with remote user calendar tools. UsingFIG. 3 as an example, in the illustrated embodiment client C2 is the client for remote users to receive media content from theproxy server 22. In one or more embodiments, C2 could be configured to work with a calendar tool, such as MICROSOFT OUTLOOK, to translate collaborative meeting information from platform P1 to platform P2. For example, if a URL to join a given collaborative meeting through P1 is http://www.abc.com/7443701317, then the client C2 may coordinate with theproxy server 22 to provide a new URL to join the meeting through P2, such as http://www.myconference.com/7443701317. The client C2 may be configured to automatically translate such URLs in Outlook (or other calendar tool) entries to simplify the process for joining collaborative meetings. Alternatively, or in addition to, URL translation, the client C2 may provide a similar translation feature upon request without implicating any calendar tools. In such embodiments, the translated link could be sent to auser 14 via email, instant message, or any other preferred method. Thus, in such embodiments, the translation may be provided using an email forwarding-rule, email-system plugin, or instant messaging plugin, such that the link would be translated from client C1 to client C2 as discussed above. -
FIG. 9 is a block diagram of anexample computing device 700 configured as aproxy server 22. Thecomputing device 700 includes acommunication interface 702, acontroller 704, and a computer-readable storage medium (shown as memory 706). Thecommunication interface 702 is configured to communicate withcomputing devices 18 ofusers 14 and with at least onecollaborative meeting host 20 providing a collaborative meeting on a first meeting platform P1. Thecontroller 702 includes one or more processing circuits configured to join, using a C1 (see client unit 708), the collaborative meeting on behalf of theuser 14, wherein the collaborative meeting is hosted on the platform P1 and the client C1 utilizes platform P1. The controller receives, using client C1, media content from the collaborative meeting on behalf of theuser 14, and transmits the received media content to a second client C2 oncomputing device 18 of theuser 14 that is utilizing a different, second meeting platform P2. In some embodiments theclient unit 708 includes multiple clients (e.g., the embodiment ofFIG. 5 ), with each client being operative to interact with a different collaborative meeting platform. - The
controller 704 may optionally also include one or more of the following: atranslation unit 710 operative to translate media content from a first language to a different second language, arecording unit 712 operative to archive media content in thememory 706, a speech-to-text unit 714 operative to convert audio media content to text form (e.g., for searching), atext search unit 716 operative to index archived media content and provide a searchable interface for searching the archived media content, and areformatting unit 718 configured to reformat received media content according to user device and/or preferences. For example, referring to theexample display 50 ofFIG. 8 , for some computing devices (e.g., smartphones and tablets) who have limited display sizes, everything outside ofmedia content 52 may either be hidden and only revealed upon request (e.g., user touching a touchscreen display) or may be omitted entirely. - In one or more embodiments, the
memory 706 includes acomputer program product 720 containing computer readable program code operative to configure thecomputing device 700 according to one or more of the embodiments described above, and also includes anarchive database 722 operative to store archived media content (from recording unit 712), and optionally to also store an index of archived media content. -
FIG. 10 is a block diagram of anexample computing device 800 configured as computingdevice 18 of user 14 (e.g., according to the embodiment ofFIG. 6 ). Thecomputing device 800 includes acommunication interface 802, acontroller 804, and a computer-readable storage medium (shown as memory 806). Thecommunication interface 802 is configured to communicate withproxy server 22, and with a collaborative meeting host providing a first collaborative meeting (e.g.,host CMH 1 ofFIG. 6 ). Thecontroller 804 is configured to use a first local client to join a first collaborative meeting for a given user as a presenter, wherein the first client utilizes a first meeting platform (see client C1 of client unit 808). Thecontroller 804 is further configured to instructproxy server 22 to separately join a set of collaborative meetings that includes the first collaborative meeting ofhost CMH 1, on behalf of the given user, as a viewer. Thecontroller 804 is further configured to use the first local client to contribute media content from the given user to the first collaborative meeting, and to receive by a different second local client (see client C3 of client unit 810) consolidated media content from the set of collaborative meetings via theproxy server 22. The consolidated media content received by client C3 includes the media content contributed by the given user and by one or more additional contributors. In one or more embodiments, thememory 806 includes acomputer program product 812 containing computer readable program code operative to configure thecomputing device 800 as described in the embodiment ofFIG. 6 . - The embodiments discussed above simplify collaborative meeting participation by allowing attendees to view a collaborative meeting without having to download or learn specialized collaboration tools (e.g., in the embodiment of
FIG. 3 not requiringuser 14 to download client C1). Additionally, the embodiments discussed above allow media content contributed to a collaboration meeting using tools that work primarily with a single operating system, to be viewed by users using other operating systems. In one or more embodiments, presenters are able to use their preferred collaborative meeting tool, such that differing presentation tools may be used for a set of collaborative meetings that are ultimately presented as a single set of consolidated media content. - Although slide-based presentations have been discussed as a possible type of media content to be shared in a collaborative meeting, it is understood that this is only one non-limiting embodiment. For example, in some embodiments video and/or audio content could be shared instead of static slides of a slide-based presentation. Also, during a slide-based presentation video and/or audio could be provided within the presentation (e.g., to illustrate a presenter marking up a slide) or a presenter switching from the slide-based presentation to simply sharing a view of their desktop.
- The present embodiments may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the disclosure. For example, it should be noted that the flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various aspects of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
- The terminology used herein is for the purpose of describing particular aspects 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.
- The corresponding structures, materials, acts, and equivalents of any means or step plus function elements in the claims below are intended to include any disclosed structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the disclosure in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The aspects of the disclosure herein were chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure with various modifications as are suited to the particular use contemplated.
- Thus, the foregoing description and the accompanying drawings represent non-limiting examples of the methods and apparatus taught herein. As such, the present invention is not limited by the foregoing description and accompanying drawings. Instead, the present invention is limited only by the following claims and their legal equivalents.
Claims (21)
1-30. (canceled)
31. A method comprising:
receiving, at a proxy server from a first client computing device associated with a first user, a request to join, on behalf of the first user, a collaborative meeting that is hosted on a collaborative meeting host server using a first collaborative meeting platform, wherein the first client computing device is currently configured to utilize a second collaborative meeting platform that is incompatible with the first collaborative meeting platform;
joining, by the proxy server and using the first collaborative meeting platform, the collaborative meeting on behalf of the first user;
receiving, by the proxy server using the first collaborative meeting platform, media content from the collaborative meeting; and
transmitting, by the proxy server using a second collaborative meeting platform, the received media content to the first client computing device.
32. The method of claim 31 , further comprising:
receiving credentials for the collaborative meeting from the client computing device of the first user;
wherein joining the collaborative meeting on behalf of the first user is performed using the received credentials.
33. The method of claim 31 , further comprising:
transmitting, by the proxy server using the second collaborative meeting platform, the received media content to a third client computing device of a third user, wherein the third client computing device is currently configured to utilize the second collaborative meeting platform.
34. The method of claim 31 , wherein the request to join the collaborative meeting includes request to join a second collaborative meeting that is hosted on a second collaborative meeting host server using a third collaborative meeting platform that is incompatible with the third collaborative meeting platform, the method further comprising:
joining, by the proxy server and using the third collaborative meeting platform, the second collaborative meeting on behalf of the first user; and
receiving, by the proxy server using the third collaborative meeting platform, media content from the second collaborative meeting;
wherein transmitting the received media content to the client computing device of the first user comprises transmitting the media content from each of the collaborative meetings in the order in which the media content was received.
35. The method of claim 31 , further comprising:
translating a portion of the received media content from a first language to a different second language;
wherein transmitting the received media content comprises transmitting the translated portion of the received media content.
36. The method of claim 31 , wherein the transmitting includes mapping frames of the media content onto a webpage.
37. The method of claim 31 , wherein joining the collaborative meeting on behalf of the first user does not enable the first user to contribute media content to the collaborative meeting.
38. The method of claim 31 ,
wherein the first client computing device is configured to run a first operating system and the second collaborative meeting platform is operable to use the first operating system,
wherein the collaborative meeting host server is configured to run a second operating system and the first collaborative meeting platform is operable to use the second operating system,
wherein the second collaborative meeting platform is incompatible with the second operating system and the first collaborative meeting platform is incompatible with the first operating system.
39. The method of claim 31 , further comprising:
indexing the received media content for searching; and
based on the indexing, providing a search interface to the first client computing device to facilitate searching of the indexed media content.
40. A non-transitory, computer-readable medium storing executable instructions that when executed by a proxy server cause the proxy server to perform operations comprising:
receiving, at the proxy server from a first client computing device associated with a first user, a request to join a collaborative meeting that is hosted on a collaborative meeting host server using a first collaborative meeting platform, wherein the first client computing device is currently configured to utilize a second collaborative meeting platform that is incompatible with the first collaborative meeting platform;
joining, by the proxy server and using the first collaborative meeting platform, the collaborative meeting on behalf of the first user;
receiving, by the proxy server using the first collaborative meeting platform, media content from the collaborative meeting; and
transmitting, by the proxy server using a second collaborative meeting platform, the received media content to the first client computing device.
41. The computer-readable medium of claim 40 , wherein the received media content includes a view of a screen of a second computing device of a second user that currently has a presenter role in the collaborative meeting.
42. The computer-readable medium of claim 40 , wherein joining, by the proxy server and using the first collaborative meeting platform, the collaborative meeting on behalf of the first user includes joining the collaborative meeting as a viewer but not as a presenter.
43. The computer-readable medium of claim 40 , the operations further comprising:
transmitting, by the proxy server using the second collaborative meeting platform, the received media content to a third client computing device of a third user, wherein the third client computing device is currently configured to utilize the second collaborative meeting platform.
44. The computer-readable medium of claim 40 , wherein the request to join the collaborative meeting includes request to join a second collaborative meeting that is hosted on a second collaborative meeting host server using a third collaborative meeting platform that is incompatible with the third collaborative meeting platform, the operations further comprising:
joining, by the proxy server and using the third collaborative meeting platform, the second collaborative meeting on behalf of the first user; and
receiving, by the proxy server using the third collaborative meeting platform, media content from the second collaborative meeting;
wherein transmitting the received media content to the client computing device of the first user comprises transmitting the media content from each of the collaborative meetings in the order in which the media content was received.
45. The computer-readable medium of claim 40 , wherein the transmitting includes mapping frames of the media content onto a webpage.
46. A computer system comprising:
a computer processor circuit; and
a computer memory storing instructions that when executed by the computer processor circuit causes the computer system to perform operations comprising:
receiving, at the computer system from a first client computing device associated with a first user, a request to join a collaborative meeting that is hosted on a collaborative meeting host server using a first collaborative meeting platform, wherein the first client computing device is currently configured to utilize a second collaborative meeting platform that is incompatible with the first collaborative meeting platform;
joining, by the computer system and using the first collaborative meeting platform, the collaborative meeting on behalf of the first user;
receiving, by the computer system using the first collaborative meeting platform, media content from the collaborative meeting;
reformatting the received media content; and
transmitting, by the computer system using a second collaborative meeting platform, the reformatted media content to the first client computing device.
47. The computer system of claim 46 , the operations further comprising:
receiving credentials for the collaborative meeting from the client computing device of the first user;
wherein joining the collaborative meeting on behalf of the first user is performed using the received credentials.
48. The computer system of claim 46 , the operations further comprising:
indexing the received media content for searching; and
based on the indexing, providing a search interface to the first client computing device to facilitate searching of the indexed media content.
49. The computer system of claim 46 , the operations further comprising:
transmitting, by the proxy server using the second collaborative meeting platform, the received media content to a third client computing device of a third user, wherein the third client computing device is currently configured to utilize the second collaborative meeting platform.
50. The computer system of claim 46 , wherein the request to join the collaborative meeting includes request to join a second collaborative meeting that is hosted on a second collaborative meeting host server using a third collaborative meeting platform that is incompatible with the third collaborative meeting platform, the operations further comprising:
joining, by the proxy server and using the third collaborative meeting platform, the second collaborative meeting on behalf of the first user; and
receiving, by the proxy server using the third collaborative meeting platform, media content from the second collaborative meeting;
wherein transmitting the received media content to the client computing device of the first user comprises transmitting the media content from each of the collaborative meetings in the order in which the media content was received.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/985,240 US20180302451A1 (en) | 2013-03-11 | 2018-05-21 | Method and Apparatus for Providing a Media Content from a Collaborative Meeting to a Remote User |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/792,437 US9979757B1 (en) | 2013-03-11 | 2013-03-11 | Method and apparatus for providing a media content from a collaborative meeting to a remote user |
US15/985,240 US20180302451A1 (en) | 2013-03-11 | 2018-05-21 | Method and Apparatus for Providing a Media Content from a Collaborative Meeting to a Remote User |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/792,437 Continuation US9979757B1 (en) | 2013-03-11 | 2013-03-11 | Method and apparatus for providing a media content from a collaborative meeting to a remote user |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180302451A1 true US20180302451A1 (en) | 2018-10-18 |
Family
ID=62125397
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/792,437 Active 2033-11-07 US9979757B1 (en) | 2013-03-11 | 2013-03-11 | Method and apparatus for providing a media content from a collaborative meeting to a remote user |
US15/985,240 Abandoned US20180302451A1 (en) | 2013-03-11 | 2018-05-21 | Method and Apparatus for Providing a Media Content from a Collaborative Meeting to a Remote User |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/792,437 Active 2033-11-07 US9979757B1 (en) | 2013-03-11 | 2013-03-11 | Method and apparatus for providing a media content from a collaborative meeting to a remote user |
Country Status (1)
Country | Link |
---|---|
US (2) | US9979757B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425792B2 (en) * | 2017-06-21 | 2019-09-24 | Honeywell International Inc. | Virtual wireless devices for industrial wireless sensor networks |
US11272251B2 (en) * | 2019-04-29 | 2022-03-08 | See A Star LLC | Audio-visual portion generation from a live video stream |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978216B2 (en) * | 2006-06-07 | 2011-07-12 | Cisco Technology, Inc. | Versatile conference adapter and method employing same |
US20120023418A1 (en) * | 2010-07-23 | 2012-01-26 | Frields Paul W | Achitecture, system and method for a real-time collaboration interface |
US20130151623A1 (en) * | 2011-12-07 | 2013-06-13 | Reginald Weiser | Systems and methods for translating multiple client protocols via a conference bridge |
US20140132701A1 (en) * | 2012-11-13 | 2014-05-15 | Cisco Technology, Inc. | Simultaneous Language Interpretation During Ongoing Video Conferencing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8091029B1 (en) * | 2004-05-28 | 2012-01-03 | Adobe Systems Incorporated | Presenter-only meeting canvas for collaborative electronic meeting space |
US7283850B2 (en) * | 2004-10-12 | 2007-10-16 | Microsoft Corporation | Method and apparatus for multi-sensory speech enhancement on a mobile device |
US8838668B2 (en) * | 2005-12-01 | 2014-09-16 | Firestar Software, Inc. | System and method for exchanging information among exchange applications |
US7764632B2 (en) * | 2006-08-24 | 2010-07-27 | Interwise Ltd. | Software bridge for multi-point multi-media teleconferencing and telecollaboration |
US8484288B2 (en) * | 2009-10-09 | 2013-07-09 | International Business Machines Corporation | Linking virtual worlds and collaboration platforms bi-directionally using a central identity management system |
US9626651B2 (en) * | 2011-02-04 | 2017-04-18 | International Business Machines Corporation | Automated social network introductions for e-meetings |
US8739045B2 (en) * | 2011-03-02 | 2014-05-27 | Cisco Technology, Inc. | System and method for managing conversations for a meeting session in a network environment |
US9280760B2 (en) * | 2011-10-26 | 2016-03-08 | Citrix Systems, Inc. | Integrated online workspaces |
-
2013
- 2013-03-11 US US13/792,437 patent/US9979757B1/en active Active
-
2018
- 2018-05-21 US US15/985,240 patent/US20180302451A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978216B2 (en) * | 2006-06-07 | 2011-07-12 | Cisco Technology, Inc. | Versatile conference adapter and method employing same |
US20120023418A1 (en) * | 2010-07-23 | 2012-01-26 | Frields Paul W | Achitecture, system and method for a real-time collaboration interface |
US20130151623A1 (en) * | 2011-12-07 | 2013-06-13 | Reginald Weiser | Systems and methods for translating multiple client protocols via a conference bridge |
US20140132701A1 (en) * | 2012-11-13 | 2014-05-15 | Cisco Technology, Inc. | Simultaneous Language Interpretation During Ongoing Video Conferencing |
Also Published As
Publication number | Publication date |
---|---|
US9979757B1 (en) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157229B2 (en) | Screen sharing presentation system | |
US8782534B2 (en) | Independent viewing of web conference content by participants | |
US10623193B2 (en) | Enhancing collaboration in real-time group chat system and method | |
US20140006971A1 (en) | Selective sharing of windows among participants in a web conference | |
US20150326620A1 (en) | Media presentation in a virtual shared space | |
US9043396B2 (en) | Annotating electronic presentation | |
US9092533B1 (en) | Live, real time bookmarking and sharing of presentation slides | |
US20200104092A1 (en) | Group Slideshow | |
US11902039B2 (en) | Interaction method and apparatus, and electronic device | |
US11652958B1 (en) | Interactions with objects within video layers of a video conference | |
JP2023515105A (en) | MULTIMEDIA CONFERENCE DATA PROCESSING METHOD, APPARATUS, AND ELECTRONIC DEVICE | |
US20180302451A1 (en) | Method and Apparatus for Providing a Media Content from a Collaborative Meeting to a Remote User | |
US9473742B2 (en) | Moment capture in a collaborative teleconference | |
CN113885976A (en) | Interaction method and device and electronic equipment | |
US20150341397A1 (en) | Data sharing system and method | |
US20140282260A1 (en) | Generating an image stream | |
US20150120828A1 (en) | Recalling activities during communication sessions | |
WO2021013164A1 (en) | Method, apparatus and system for sharing document | |
US9578285B1 (en) | Facilitating presentations during video conferences | |
CN113595853A (en) | Mail attachment processing method and device, electronic equipment and storage medium | |
US11682200B1 (en) | Cross-medium copying of selections of content shared during a video conference | |
US20240249028A1 (en) | Incognito Mode For Digital Whiteboard Content | |
US20240251058A1 (en) | Selected Follow-Along Participants For Viewport Synchronization | |
US20240251057A1 (en) | Whiteboard Viewport Synchronization Based On Triggers Associated With Conference Participants | |
US20230412653A1 (en) | System for document commenting during virtual meetings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |