WO2012112139A1 - Video conferencing client with support for multiple video conferencing protocols - Google Patents

Video conferencing client with support for multiple video conferencing protocols Download PDF

Info

Publication number
WO2012112139A1
WO2012112139A1 PCT/US2011/024866 US2011024866W WO2012112139A1 WO 2012112139 A1 WO2012112139 A1 WO 2012112139A1 US 2011024866 W US2011024866 W US 2011024866W WO 2012112139 A1 WO2012112139 A1 WO 2012112139A1
Authority
WO
WIPO (PCT)
Prior art keywords
video conferencing
protocol
video
protocols
conference
Prior art date
Application number
PCT/US2011/024866
Other languages
French (fr)
Inventor
Byron A. Alcorn
Jeffrey Joel Walls
Karen Ellen THAYER
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2011/024866 priority Critical patent/WO2012112139A1/en
Publication of WO2012112139A1 publication Critical patent/WO2012112139A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Definitions

  • computer systems may include personal computer systems (e.g., desktop and laptop computers), as well as, commercial systems (e.g., servers or industrial
  • Such computer systems may communicate with other systems over a network, such as the Internet.
  • a network such as the Internet.
  • Various technologies have emerged to provide for communication between users of these computer systems to enable the transfer of audio and visual data.
  • Video conferencing is one such technology for enabling
  • Video conferencing provides an effective and inexpensive way to hold meetings with remote participants.
  • the conferees also referred to as "participants" may connect to one another over a network, exchanging streaming audio and video streams, which may be displayed at each respective conferencing device.
  • a conferencing device may obtain video from a camera.
  • Each participant in a video conference may be a user having different computer systems. Such computer systems may have different capabilities and resources for executing the video conference. Further, each video conference may include a group of computer systems having different capabilities, software, and resources.
  • FIG. 1 is a schematic diagram of a video conferencing system in accordance with an embodiment of the present disclosure.
  • FIG. 2 is a block diagram of the system of FIG. 1 in accordance with an embodiment of the present disclosure
  • FIG. 3 is a block diagram of a video conferencing client and video conferencing protocols in accordance with an embodiment of the present disclosure
  • FIG. 4 is a flowchart of a video conferencing process in
  • FIG. 5 if a process diagram of a video conferencing client in accordance with an embodiment of the present disclosure.
  • Embodiments of the present disclosure include a video
  • conferencing manager architecture e.g., implemented in video conferencing clients
  • the video conferencing manager provides for selection and use of a video conferencing protocol for peer-to-peer and centralized management models. Additionally, the protocols used by the video conferencing manager may be independent of the other communication protocols and servers used by the participants.
  • the video conferencing manager also provides for the dynamic addition of protocols. As described below, such protocols may include SkyRoom protocol, Halo protocol, Sametime protocol, AOL instant messaging protocol, MSN messenger protocol, Session Initiation Protocol (SIP), OCS protocol, XMPP protocol or any other suitable protocol or combination thereof
  • FIG. 1 depicts an arrangement 10 of electronic devices 12 illustrating various types of video conferencing and other communication between electronic devices 12.
  • the electronic devices 12 may be any suitable computer system having, for example, one or more processor, memory, display, input devices, network devices, and other components.
  • computer systems 12A and 12B may be desktop computers and computer system 12C may be a laptop computer.
  • Computer systems 12D, 12E, and 12F may be desktop computers.
  • the electronic devices 12 may communicate over a network 14.
  • the network 14 may be any suitable network, such as the Internet, an intranet, a wide are network, a local network, etc.
  • computer systems 12A, 12B, and 12C may be communicate over the Internet and computer systems 12D, 12E, and 12F may communicate over the intranet.
  • the electronic devices 12 may communicate and be coupled to the network 14 by wired and wireless connections.
  • the electronic devices 12 may participate in a video conference using the video conferencing manager architecture described herein.
  • computer systems 12A and 12B may participate in a video conference using a first protocol
  • computer systems 12B and 12C may participate in a video conference using a second protocol
  • computer systems 12D, 12E, and 12F may participate in a video conference using a third protocol.
  • different types of video conferencing may be enabled by the video conferencing manager.
  • computers 12A, 12B, and 12C may participate in peer-to-peer video conferencing and computer systems 12D, 12E, and 12F may participate in a centralized management video conferencing through a management server 16.
  • Computer systems 12A and 12B may participate in a peer-to-peer video conference 18 using the video conferencing manager of a respective video conferencing clients. As described in detail below, the video
  • conferencing manager may select and use a protocol supported by both computer systems 12A and 12B. Additionally, as shown in FIG. 1 , computer systems 12A and 12B may also communicate over an instant messaging (IM) server 20. As described below, the video conference 18 may be independent of the instant messaging server 20 and the IM protocol.
  • IM instant messaging
  • computer systems 12B and 12C may participate in a peer-to-peer video conference 22 using the video conferencing manager.
  • the video conferencing manager may select and use a protocol supported by both computer systems 12B and 12C that is different from the protocol used in video conference 18. Additionally, as shown in FIG. 1 , computer systems 12B and 12C may also communicate over an
  • the video conference 20 may be independent of the authentication server 24 and the authentication protocol.
  • the authentication server 24 may comprise an Extensible Messaging and Presence Protocol (XMPP) server, an Office Communications Server (OCS), or any suitable authentication server.
  • XMPP Extensible Messaging and Presence Protocol
  • OCS Office Communications Server
  • computer systems 12D, 12E, and 12F may be identical to computer systems 12D, 12E, and 12F.
  • the video conference 26 may use a third protocol different from the protocols used in video conferences 18 and 22.
  • the centralized server 16 may be a Halo server manufactured by Hewlett Packard Company of Palo Alto, CA, and the video conference 26 may be a Halo video conference.
  • FIG. 2 is a block diagram of FIG. 1 in accordance with an embodiment of the present disclosure.
  • Each computer system 12 may include a video conferencing client 28 stored on a memory 30 of each of the electronic devices 12, and a video camera 31 for providing video (and, in some embodiments, audio) to the video conferencing client 28 for a video
  • the memory 30 may be a non-transitory tangible computer readable medium and may include volatile memory, such as dynamic random access memory or any suitable volatile memory.
  • the memory 30 may also include non-volatile memory, such as flash memory, resistive random access memory, magnetic storage device (e.g., hard drives), read only memory (ROM), Compact discs (CD's), digital video discs (DVD's), etc.
  • the video camera 31 may include a webcam and may be integrated with each computer system 12 or may be a separate component coupled to the computer system 12, such as by a Universal Serial Bus (USB), Firewire, etc.
  • the video conferencing client 28 may comprise SkyRoom manufactured by Hewlett Packard Company of Palo Alto, CA. As explained below, each video conferencing client includes a conference manager 32.
  • computer system 12A may include multiple video conferencing protocols, such as Protocol 1 (block 34) and Protocol 2 (block 36).
  • Computer system 12B may also include multiple video conferencing protocols, such as Protocol 1 (block 38) and Protocol 3 (block 40).
  • the video conferencing client 28A selects and uses the appropriate protocol supported by the participants of the conference, i.e., computer system 12A and computer system 12B.
  • the video conferencing client 28A selects and uses protocol 1 for the video conference 18, and the conference manager 32A provides an abstraction layer for the selected Protocol 1 , such that the selection of the protocol is hidden from the user of computer system 12A.
  • the video conferencing client 28B selects and uses protocol 1 for the video conference 18, and the conference manager 32B provides a similar abstraction layer for the selected protocol and enables conferencing with the video conferencing client 28A of computer system 12A. In this manner, the video conferencing clients 28A and 28B select and use a protocol for video conference 18 that is supported by both computer systems 12A and 12B.
  • the computer systems 12A and 12B may communicate with IM server 20, through IM clients 42A and 42B.
  • the selected protocol for the video conference 18, i.e., Protocol 1 may be the IM protocol for communication with the IM server 20.
  • the selected protocol for the video conference, Protocol 1 may be a different protocol than the IM protocol.
  • the video conferencing client 28 may enable selection of users visible through the IM client. In such an embodiment, the video conferencing client 28 will select the appropriate protocol for the video conference 18 that is supported by all participants of the video conference.
  • the video conferencing client 28B selects and uses the appropriate protocol supported by the participants of the video conference 22, i.e., computer system 12B and computer system 12C for the video conference 22.
  • the video conferencing client 28B selects and uses protocol 3 of computer system 12C, and the conference manager 32B provides an abstraction layer for the selected protocol.
  • the computer system 12C includes only a single protocol, protocol 3 (block 44).
  • the conference manager 32C of the video conferencing client 28C thus provides and abstraction layer for protocol 3 of computer system 12C, such that the selection of the protocol is hidden from a user.
  • the video conferencing client 28C selects and uses the protocol 3 for the video conference 22, ensuring that both computer system 12B and computer system 12C utilize the same protocol for the video conference 22, i.e., a protocol that is available to both computer system 12B and 12C. It should be appreciated that, for the video conference 22, the video conferencing client 28B did not select a protocol that was unsupported by computer system 28C, the other participant in the video conference 22. Additionally, as shown in FIG. 2, the computer systems 12B and 12C may authenticate and communicate with authentication server 24. The selected protocol for the video conference 22, i.e., Protocol 3, may be separate from the protocol for communicating with the authentication server 24.
  • Protocol 3 may be separate from the protocol for communicating with the authentication server 24.
  • the video conferencing manager may also support centralized management video conferencing.
  • the computer systems 12D, 12E, and 12F may participate in the video conference 26 through the centralized management server 16.
  • the video conferencing client 28 may select the appropriate protocol supported by the centralized management server 16 and each of the computer systems 12D, 12E, and 13F.
  • the centralized management server 16 may communicate using a video conferencing protocol, Protocol 4 (block 46).
  • Computer system 12D may include multiple video conferencing protocols, such as Protocol 4 (block 48) and Protocol 5 (block 52). Additionally, computer system 12E may include multiple video conferencing protocols, such as
  • Protocol 4 (block 54), and computer system 12F may include Protocol 4 (block 56) and Protocol 6 (block 58).
  • the video conferencing client 28D may select and use Protocol 4, i.e., the appropriate video conferencing protocol supported by the centralized
  • the conference manager 32D provides an abstraction layer for Protocol 4, such that the selection of the protocol is hidden from the user.
  • the video conferencing client 28E of computer system 12E uses Protocol 4 for the video conference 26, and provides an abstraction layer using conference manager 32A.
  • the video conference client 28F selects and uses Protocol 4 of computer system 28F for the video conference 26.
  • the conference manger 30F provides an abstraction layer for the selected protocol, Protocol 4. In this manner, the video conferencing manager ensures that each client 28D, 28E, and 28F selects the appropriate video conferencing protocol for the video conference 26 and the centralized management server 16, while hiding the selection from the respective users of each client.
  • the video conferencing manager may also support the addition of video conferencing protocols selectable and usable by the video conferencing clients 28.
  • FIGS. 3A and 3B depict the addition of video conferencing protocols to a video conferencing client 28 in accordance with an embodiment of the present disclosure.
  • the video conference client 28 may include the conference manager 32 and a conference protocol manager 35.
  • the conference manager 32 and conference protocol manager 35 may be stored as instructions on a non-transitory tangible computer-readable medium, such as the memory 30.
  • the conference protocol manager 35 is an interface for the protocols 39, and may manage the addition, removal, and selection of the protocols 39, such as Protocol 1 , Protocol 2, and Protocol 3 illustrated in FIG. 3A.
  • the protocols 39 may include SkyRoom protocol, Halo protocol, Sametime protocol, AOL instant messaging protocol, MSN messenger protocol, Session Initiation Protocol (SIP), OCS protocol, XMPP protocol or any other suitable protocol or combination thereof.
  • Each protocol 39 may be added to the video conferencing client 26 through the use of dynamic linked libraries (DLL's) 37.
  • DLL's dynamic linked libraries
  • each DLL 37 may support a single protocol 39. In other embodiments, a single DLL 37 may support multiple protocols 39.
  • the DLL's 37 may be "pluggable,” such that DLL's 37 may added or removed without restarting or reinstalling the video conferencing client 26.
  • FIG. 3B depicts the addition of a protocol 41 (Protocol 4) to the video conferencing client 28.
  • the protocol 40 may be added through a pluggable DLL 43.
  • the DLL 43 may be a DLL file added to a computer system executing the video conferencing client 26.
  • the conference protocol manager may dynamically and automatically add Protocol 4 to the available video conferencing protocols after addition of the DLL 43.
  • FIG. 4 depicts a process 50 illustrating a video conference using the video conferencing manager architecture described above in accordance with an embodiment of the present disclosure.
  • a video conference may be initiated (block 52) by starting the video conferencing client 26 and selecting participants for the conference, such as from a contact list.
  • a conference manager of the video conference client 26 may determine a protocol for the video conference, such as by determining if a valid protocol exists for the selected participants (block 52). As described above, this determination is based on the protocols available to the video conference client of each participant of the video conference. As also described above, the protocols available to a video conference client may be provided as DLL's and may be dynamically added or removed. The conference manager of each participant may then select the protocol for the video conference (block 56). The selected participants for the video conference may be invited to the video conference using the selected protocol (block 58), or a selected participant may join an existing conference. Finally, the video conference client 26 may conduct the video conference (block 60).
  • FIG. 5 depicts a detailed process for initiating a video conference or joining an existing conference in accordance with an embodiment of the present disclosure.
  • the embodiment of Fig. 5 illustrates various functional components of a video conference client 62 and various functions that may be invoked by these functional components.
  • Such functional components may be stored as instructions on non-transitory tangible computer-readable media, such as the memory 30.
  • other embodiments may have different functional components and functions to implement the techniques described herein.
  • a user 64 may start a conference with a second user (b), through a Ul 64 of the video conference client 26.
  • the Ul may provide the request to a conference manager 66.
  • the conference manager 66 may communicate with the Ul 64 through a Ul Bridge 68, such as by providing the status of the invite and video conference.
  • the conference manager 66 may interact with a conference participant manager 70 to obtain information on the participants invited to the video conference or, if joining an existing conference, the participants in an existing video conference.
  • the conference manager 66 may also
  • a video engine manager 72 that initiates and manages a video engine 74 for the video conference.
  • the conference manager 66 may interface with a conference protocol manager 76 that selects the appropriate protocol for the video conference.
  • the conference protocol manager 76 may select a conference protocol 78 for and provide the protocol to the conference manager 66.
  • the conference protocol 78 may be implemented using Simple Object Access Protocol (SOAP).
  • SOAP Simple Object Access Protocol
  • the conference protocol 78 may be implemented using a Java-based SOAP fagade, such the SoapRemoteCommandFacade 80, and a
  • the conference protocol 78 may be implemented using other web service protocols implemented in any suitable programming language.

Abstract

A video conferencing manager architecture is provided that supports multiple video conferencing protocols. The video conferencing manager may include a video conferencing client that selects a video conferencing protocol from a plurality of video conferencing protocols based on the protocols available to the participants of the video conference. The selected protocol may be a peer-to-peer protocol, a centralized management protocol, and may be independent of the participants' instant messaging protocols and/or authentication protocols.

Description

VIDEO CONFERENCING CLIENT WITH SUPPORT
FOR MULTIPLE VIDEO CONFERENCING PROTOCOLS
BACKGROUND
[0001] This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present disclosure that are described or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
[0002] Computer systems are generally employed in numerous
configurations to provide a variety of computing functions. For example, computer systems may include personal computer systems (e.g., desktop and laptop computers), as well as, commercial systems (e.g., servers or industrial
computers). Such computer systems may communicate with other systems over a network, such as the Internet. Various technologies have emerged to provide for communication between users of these computer systems to enable the transfer of audio and visual data.
[0003] Video conferencing is one such technology for enabling
communication between users of computer systems. Video conferencing provides an effective and inexpensive way to hold meetings with remote participants. The conferees (also referred to as "participants") may connect to one another over a network, exchanging streaming audio and video streams, which may be displayed at each respective conferencing device. To create the outgoing video stream, a conferencing device may obtain video from a camera. [0004] Each participant in a video conference may be a user having different computer systems. Such computer systems may have different capabilities and resources for executing the video conference. Further, each video conference may include a group of computer systems having different capabilities, software, and resources.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 is a schematic diagram of a video conferencing system in accordance with an embodiment of the present disclosure.
[0006] FIG. 2 is a block diagram of the system of FIG. 1 in accordance with an embodiment of the present disclosure;
[0007] FIG. 3 is a block diagram of a video conferencing client and video conferencing protocols in accordance with an embodiment of the present disclosure;
[0008] FIG. 4 is a flowchart of a video conferencing process in
accordance with an embodiment of the present disclosure; and
[0009] FIG. 5 if a process diagram of a video conferencing client in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
[0010] Embodiments of the present disclosure will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual
implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
[0011] Embodiments of the present disclosure include a video
conferencing manager architecture (e.g., implemented in video conferencing clients) that supports multiple video conferencing protocols. The video conferencing manager provides for selection and use of a video conferencing protocol for peer-to-peer and centralized management models. Additionally, the protocols used by the video conferencing manager may be independent of the other communication protocols and servers used by the participants. The video conferencing manager also provides for the dynamic addition of protocols. As described below, such protocols may include SkyRoom protocol, Halo protocol, Sametime protocol, AOL instant messaging protocol, MSN messenger protocol, Session Initiation Protocol (SIP), OCS protocol, XMPP protocol or any other suitable protocol or combination thereof
[0012] FIG. 1 depicts an arrangement 10 of electronic devices 12 illustrating various types of video conferencing and other communication between electronic devices 12. The electronic devices 12 may be any suitable computer system having, for example, one or more processor, memory, display, input devices, network devices, and other components. For example, computer systems 12A and 12B may be desktop computers and computer system 12C may be a laptop computer. Computer systems 12D, 12E, and 12F may be desktop computers. [0013] The electronic devices 12 may communicate over a network 14. The network 14 may be any suitable network, such as the Internet, an intranet, a wide are network, a local network, etc. For example, computer systems 12A, 12B, and 12C may be communicate over the Internet and computer systems 12D, 12E, and 12F may communicate over the intranet. Additionally, the electronic devices 12 may communicate and be coupled to the network 14 by wired and wireless connections.
[0014] The electronic devices 12 may participate in a video conference using the video conferencing manager architecture described herein. As described further below, computer systems 12A and 12B may participate in a video conference using a first protocol, computer systems 12B and 12C may participate in a video conference using a second protocol, and computer systems 12D, 12E, and 12F may participate in a video conference using a third protocol. Additionally, different types of video conferencing may be enabled by the video conferencing manager. For example, computers 12A, 12B, and 12C may participate in peer-to-peer video conferencing and computer systems 12D, 12E, and 12F may participate in a centralized management video conferencing through a management server 16.
[0015] Computer systems 12A and 12B may participate in a peer-to-peer video conference 18 using the video conferencing manager of a respective video conferencing clients. As described in detail below, the video
conferencing manager may select and use a protocol supported by both computer systems 12A and 12B. Additionally, as shown in FIG. 1 , computer systems 12A and 12B may also communicate over an instant messaging (IM) server 20. As described below, the video conference 18 may be independent of the instant messaging server 20 and the IM protocol.
[0016] Similarly, computer systems 12B and 12C may participate in a peer-to-peer video conference 22 using the video conferencing manager. As described in detail below, the video conferencing manager may select and use a protocol supported by both computer systems 12B and 12C that is different from the protocol used in video conference 18. Additionally, as shown in FIG. 1 , computer systems 12B and 12C may also communicate over an
authentication server 24. As described below, the video conference 20 may be independent of the authentication server 24 and the authentication protocol. In some embodiments, the authentication server 24 may comprise an Extensible Messaging and Presence Protocol (XMPP) server, an Office Communications Server (OCS), or any suitable authentication server.
[0017] In contrast, computer systems 12D, 12E, and 12F may
communicate in a centralized management video conference 26 through the centralized server 16. The video conference 26 may use a third protocol different from the protocols used in video conferences 18 and 22. In one embodiment, the centralized server 16 may be a Halo server manufactured by Hewlett Packard Company of Palo Alto, CA, and the video conference 26 may be a Halo video conference.
[0018] FIG. 2 is a block diagram of FIG. 1 in accordance with an embodiment of the present disclosure. Each computer system 12 may include a video conferencing client 28 stored on a memory 30 of each of the electronic devices 12, and a video camera 31 for providing video (and, in some embodiments, audio) to the video conferencing client 28 for a video
conference. In other embodiments, the audio may be provided by a separate device, such as separate microphone or headset. The memory 30 may be a non-transitory tangible computer readable medium and may include volatile memory, such as dynamic random access memory or any suitable volatile memory. The memory 30 may also include non-volatile memory, such as flash memory, resistive random access memory, magnetic storage device (e.g., hard drives), read only memory (ROM), Compact discs (CD's), digital video discs (DVD's), etc. The video camera 31 may include a webcam and may be integrated with each computer system 12 or may be a separate component coupled to the computer system 12, such as by a Universal Serial Bus (USB), Firewire, etc. In some embodiments, the video conferencing client 28 may comprise SkyRoom manufactured by Hewlett Packard Company of Palo Alto, CA. As explained below, each video conferencing client includes a conference manager 32.
[0019] Turning now to video conference 18, computer system 12A may include multiple video conferencing protocols, such as Protocol 1 (block 34) and Protocol 2 (block 36). Computer system 12B may also include multiple video conferencing protocols, such as Protocol 1 (block 38) and Protocol 3 (block 40). As shown in computer system 12A, the video conferencing client 28A selects and uses the appropriate protocol supported by the participants of the conference, i.e., computer system 12A and computer system 12B. Thus, the video conferencing client 28A selects and uses protocol 1 for the video conference 18, and the conference manager 32A provides an abstraction layer for the selected Protocol 1 , such that the selection of the protocol is hidden from the user of computer system 12A. As shown in computer system 12B, the video conferencing client 28B selects and uses protocol 1 for the video conference 18, and the conference manager 32B provides a similar abstraction layer for the selected protocol and enables conferencing with the video conferencing client 28A of computer system 12A. In this manner, the video conferencing clients 28A and 28B select and use a protocol for video conference 18 that is supported by both computer systems 12A and 12B.
[0020] Additionally, as shown in FIG. 2, the computer systems 12A and 12B may communicate with IM server 20, through IM clients 42A and 42B. In some embodiments, the selected protocol for the video conference 18, i.e., Protocol 1 , may be the IM protocol for communication with the IM server 20. In other embodiments, the selected protocol for the video conference, Protocol 1 , may be a different protocol than the IM protocol. However, the video conferencing client 28 may enable selection of users visible through the IM client. In such an embodiment, the video conferencing client 28 will select the appropriate protocol for the video conference 18 that is supported by all participants of the video conference.
[0021] Turning now to video conference 22, the video conferencing client 28B selects and uses the appropriate protocol supported by the participants of the video conference 22, i.e., computer system 12B and computer system 12C for the video conference 22. As shown in FIG. 2, for video conference 22, the video conferencing client 28B selects and uses protocol 3 of computer system 12C, and the conference manager 32B provides an abstraction layer for the selected protocol. The computer system 12C includes only a single protocol, protocol 3 (block 44). The conference manager 32C of the video conferencing client 28C thus provides and abstraction layer for protocol 3 of computer system 12C, such that the selection of the protocol is hidden from a user.
Thus, the video conferencing client 28C selects and uses the protocol 3 for the video conference 22, ensuring that both computer system 12B and computer system 12C utilize the same protocol for the video conference 22, i.e., a protocol that is available to both computer system 12B and 12C. It should be appreciated that, for the video conference 22, the video conferencing client 28B did not select a protocol that was unsupported by computer system 28C, the other participant in the video conference 22. Additionally, as shown in FIG. 2, the computer systems 12B and 12C may authenticate and communicate with authentication server 24. The selected protocol for the video conference 22, i.e., Protocol 3, may be separate from the protocol for communicating with the authentication server 24.
[0022] The video conferencing manager may also support centralized management video conferencing. As shown in FIG. 2, the computer systems 12D, 12E, and 12F may participate in the video conference 26 through the centralized management server 16. In such an embodiment, the video conferencing client 28 may select the appropriate protocol supported by the centralized management server 16 and each of the computer systems 12D, 12E, and 13F. For example, the centralized management server 16 may communicate using a video conferencing protocol, Protocol 4 (block 46).
Computer system 12D may include multiple video conferencing protocols, such as Protocol 4 (block 48) and Protocol 5 (block 52). Additionally, computer system 12E may include multiple video conferencing protocols, such as
Protocol 4 (block 54), and computer system 12F may include Protocol 4 (block 56) and Protocol 6 (block 58).
[0023] When initializing and conducting the video conference 26, the video conferencing client 28D may select and use Protocol 4, i.e., the appropriate video conferencing protocol supported by the centralized
management server 16, and the protocol supported by the other conference participants, computer systems 12E and 12F. The conference manager 32D provides an abstraction layer for Protocol 4, such that the selection of the protocol is hidden from the user. Similarly, the video conferencing client 28E of computer system 12E uses Protocol 4 for the video conference 26, and provides an abstraction layer using conference manager 32A. Finally, the video conference client 28F selects and uses Protocol 4 of computer system 28F for the video conference 26. Again, the conference manger 30F provides an abstraction layer for the selected protocol, Protocol 4. In this manner, the video conferencing manager ensures that each client 28D, 28E, and 28F selects the appropriate video conferencing protocol for the video conference 26 and the centralized management server 16, while hiding the selection from the respective users of each client.
[0024] The video conferencing manager may also support the addition of video conferencing protocols selectable and usable by the video conferencing clients 28. FIGS. 3A and 3B depict the addition of video conferencing protocols to a video conferencing client 28 in accordance with an embodiment of the present disclosure. As shown in FIG. 3A, the video conference client 28 may include the conference manager 32 and a conference protocol manager 35. The conference manager 32 and conference protocol manager 35 may be stored as instructions on a non-transitory tangible computer-readable medium, such as the memory 30. The conference protocol manager 35 is an interface for the protocols 39, and may manage the addition, removal, and selection of the protocols 39, such as Protocol 1 , Protocol 2, and Protocol 3 illustrated in FIG. 3A. In some embodiments, as mentioned above, the protocols 39 may include SkyRoom protocol, Halo protocol, Sametime protocol, AOL instant messaging protocol, MSN messenger protocol, Session Initiation Protocol (SIP), OCS protocol, XMPP protocol or any other suitable protocol or combination thereof.
[0025] Each protocol 39 may be added to the video conferencing client 26 through the use of dynamic linked libraries (DLL's) 37. In some
embodiments, each DLL 37 may support a single protocol 39. In other embodiments, a single DLL 37 may support multiple protocols 39. The DLL's 37 may be "pluggable," such that DLL's 37 may added or removed without restarting or reinstalling the video conferencing client 26.
[0026] FIG. 3B depicts the addition of a protocol 41 (Protocol 4) to the video conferencing client 28. As mentioned above, the protocol 40 may be added through a pluggable DLL 43. For example, the DLL 43 may be a DLL file added to a computer system executing the video conferencing client 26. The conference protocol manager may dynamically and automatically add Protocol 4 to the available video conferencing protocols after addition of the DLL 43.
[0027] FIG. 4 depicts a process 50 illustrating a video conference using the video conferencing manager architecture described above in accordance with an embodiment of the present disclosure. A video conference may be initiated (block 52) by starting the video conferencing client 26 and selecting participants for the conference, such as from a contact list.
[0028] A conference manager of the video conference client 26 may determine a protocol for the video conference, such as by determining if a valid protocol exists for the selected participants (block 52). As described above, this determination is based on the protocols available to the video conference client of each participant of the video conference. As also described above, the protocols available to a video conference client may be provided as DLL's and may be dynamically added or removed. The conference manager of each participant may then select the protocol for the video conference (block 56). The selected participants for the video conference may be invited to the video conference using the selected protocol (block 58), or a selected participant may join an existing conference. Finally, the video conference client 26 may conduct the video conference (block 60).
[0029] FIG. 5 depicts a detailed process for initiating a video conference or joining an existing conference in accordance with an embodiment of the present disclosure. The embodiment of Fig. 5 illustrates various functional components of a video conference client 62 and various functions that may be invoked by these functional components. Such functional components may be stored as instructions on non-transitory tangible computer-readable media, such as the memory 30. However, other embodiments may have different functional components and functions to implement the techniques described herein.
[0030] Turning now to the figure, a user 64 may start a conference with a second user (b), through a Ul 64 of the video conference client 26. The Ul may provide the request to a conference manager 66. The conference manager 66 may communicate with the Ul 64 through a Ul Bridge 68, such as by providing the status of the invite and video conference.
[0031] The conference manager 66 may interact with a conference participant manager 70 to obtain information on the participants invited to the video conference or, if joining an existing conference, the participants in an existing video conference. The conference manager 66 may also
communicate with a video engine manager 72 that initiates and manages a video engine 74 for the video conference.
[0032] As mentioned above, the conference manager 66 may interface with a conference protocol manager 76 that selects the appropriate protocol for the video conference. For example, the conference protocol manager 76 may select a conference protocol 78 for and provide the protocol to the conference manager 66. In one embodiment, the conference protocol 78 may be implemented using Simple Object Access Protocol (SOAP). For example, the conference protocol 78 may be implemented using a Java-based SOAP fagade, such the SoapRemoteCommandFacade 80, and a
SoapControl Protocol 82 depicted in Fig. 5. In other embodiments, the conference protocol 78 may be implemented using other web service protocols implemented in any suitable programming language.

Claims

1 . A method, comprising:
initiating a video conference on a computer system having a plurality of participants; and
selecting a video conferencing protocol from a first plurality of video conferencing protocols of the computer system, wherein the selection is based on a second plurality of video conferencing protocols of the plurality of participants, wherein the selected video conferencing protocol is among the first plurality of video conferencing protocols and the second plurality of video conferencing protocols.
2. The method of claim 1 , wherein the first plurality of video conferencing protocols, the second plurality of video conferencing protocols, or a combination thereof comprise a peer-to-peer video conferencing protocol.
3. The method of claim 1 , wherein the first plurality of video conferencing protocols, the second plurality of video conferencing protocols, or a combination thereof comprise a centralized management video conferencing protocol.
4. The method of claim 1 , wherein the first plurality of video conferencing protocols and second plurality of video conferencing protocols comprises an instant messaging protocol.
5. The method of claim 4, wherein the selected video conferencing protocol comprises the instant messaging protocol.
6. The method of claim 4, wherein the selected video conferencing protocol comprises a video conferencing protocol independent of the instant messaging protocol.
7. The method of claim 4, wherein initiating the video conference
comprising inviting one of the plurality of participants to the video conference.
8. The method of claim 4, comprising adding a video conferencing protocol to the first plurality of video conferencing protocols via a dynamic linked library.
9. The method of claim 1 , comprising authenticating with a server via a authentication protocol, wherein the selected protocol is independent of the authentication protocol.
10. A non-transitory computer-readable medium having instructions stored thereon, the instruction set, when executed by a processor, causes the processor to:
receive a request for initiating a video conference; and
select a video conferencing protocol for the video conference from a first plurality of video conferencing protocols of a first participant, wherein the selected video conferencing protocol is based on the first plurality of video conferencing protocols of the first participant and a second plurality of video conferencing protocols of a second participant.
1 1 . The non-transitory computer-readable medium of claim 10, wherein the instruction set further causes the processor to initiate a peer-to-peer video conference between the first participant and the second participant via the selected video conferencing protocol.
12. The non-transitory computer-readable medium of claim 10, wherein the instruction set further causes the processor to initiate a centralized management video conference between the first participant and the second participant via the selected video conferencing protocol.
13. The non-transitory computer-readable medium of claim 10, wherein the instruction set further causes the processor to execute a conference protocol manager that provides an interface for each of the first plurality of video conferencing protocols.
14. The non-transitory computer-readable medium of claim 10, wherein the instruction set further causes the processor to add a video conferencing protocol to the first plurality of video conferencing protocols via a dynamic linked library.
15. The non-transitory computer-readable medium of claim 10, wherein instruction set further causes the processor to invite the second participant to the conference.
16. A system, comprising:
a first computer system, comprising:
a first video camera;
a first memory; and
a first video conferencing client stored on the first memory and in communication with the first video camera, wherein the first video conferencing client comprises a first plurality of video conferencing protocols, wherein the first video conferencing client selects one of the first plurality of video conferencing protocols for a video conference based on a plurality of participants of the video conference.
17. The system of claim 16, comprising a second computer system
comprising:
a second video camera;
a second memory; and
a second video conferencing client stored on the second memory and in communication with the second video camera and comprising a second plurality of video conferencing protocols.
18. The system of claim 17, wherein the video conference comprises a peer- to-peer video conference between the first computer system and the second computer system, wherein the selected one of the first plurality of video conferencing protocols is a peer-to-peer video conferencing protocol.
19. The system of claim 17, comprising a centralized management server, wherein the first computer system and second computer system authenticate with the centralized management server.
20. The system of claim 17, wherein the video conference comprises a centralized management video conference between the first computer system and the second computer system via the centralized management server, wherein the selected one of the first plurality of video conferencing protocols is a centralized management video conferencing protocol
PCT/US2011/024866 2011-02-15 2011-02-15 Video conferencing client with support for multiple video conferencing protocols WO2012112139A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2011/024866 WO2012112139A1 (en) 2011-02-15 2011-02-15 Video conferencing client with support for multiple video conferencing protocols

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/024866 WO2012112139A1 (en) 2011-02-15 2011-02-15 Video conferencing client with support for multiple video conferencing protocols

Publications (1)

Publication Number Publication Date
WO2012112139A1 true WO2012112139A1 (en) 2012-08-23

Family

ID=46672854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2011/024866 WO2012112139A1 (en) 2011-02-15 2011-02-15 Video conferencing client with support for multiple video conferencing protocols

Country Status (1)

Country Link
WO (1) WO2012112139A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014043165A3 (en) * 2012-09-11 2014-05-08 Vidyo, Inc. System and method for agent-based integration of instant messaging and video communication systems
US9332224B2 (en) 2014-05-29 2016-05-03 International Business Machines Corporation Adaptive video streaming for communication sessions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020149672A1 (en) * 2001-04-13 2002-10-17 Clapp Craig S.K. Modular video conferencing system
US20050094581A1 (en) * 1999-03-02 2005-05-05 Microsoft Corporation Security and support for flexible conferencing topologies spanning proxies, firewalls and gateways
US20100091086A1 (en) * 2008-10-07 2010-04-15 Tandberg Telecom As Method, device, and computer-readable medium for processing images during video conferencing
US20100302345A1 (en) * 2009-05-29 2010-12-02 Cisco Technology, Inc. System and Method for Extending Communications Between Participants in a Conferencing Environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050094581A1 (en) * 1999-03-02 2005-05-05 Microsoft Corporation Security and support for flexible conferencing topologies spanning proxies, firewalls and gateways
US20020149672A1 (en) * 2001-04-13 2002-10-17 Clapp Craig S.K. Modular video conferencing system
US20100091086A1 (en) * 2008-10-07 2010-04-15 Tandberg Telecom As Method, device, and computer-readable medium for processing images during video conferencing
US20100302345A1 (en) * 2009-05-29 2010-12-02 Cisco Technology, Inc. System and Method for Extending Communications Between Participants in a Conferencing Environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014043165A3 (en) * 2012-09-11 2014-05-08 Vidyo, Inc. System and method for agent-based integration of instant messaging and video communication systems
CN104769938A (en) * 2012-09-11 2015-07-08 维德约股份有限公司 System and method for agent-based integration of instant messaging and video communication systems
US9467412B2 (en) 2012-09-11 2016-10-11 Vidyo, Inc. System and method for agent-based integration of instant messaging and video communication systems
US9332224B2 (en) 2014-05-29 2016-05-03 International Business Machines Corporation Adaptive video streaming for communication sessions
US9584764B2 (en) 2014-05-29 2017-02-28 International Business Machines Corporation Adaptive video streaming for communication sessions

Similar Documents

Publication Publication Date Title
CA2660874C (en) Distributable, scalable, pluggable conferencing architecture
US8751572B1 (en) Multi-user chat search and access to chat archive
JP4954207B2 (en) Peer-to-peer computer network conference
US8250141B2 (en) Real-time event notification for collaborative computing sessions
US8412819B2 (en) Dynamically enabling features of an application based on user status
US20120275349A1 (en) Conference call monitoring with automatic reconnect
US20090319916A1 (en) Techniques to auto-attend multimedia conference events
US20090019367A1 (en) Apparatus, system, method, and computer program product for collaboration via one or more networks
US10516705B2 (en) Device control for a communication session
WO2016039835A1 (en) Real-time video transformations in video conferences
JP2013513313A (en) System and method for combining instant messaging system and video communication system
US9473316B2 (en) Resource consumption reduction via meeting affinity
US20110055893A1 (en) Communication application
US20080016181A1 (en) Method and system for providing remote media
US11553011B1 (en) Methods and systems for facilitating a collaborative work environment
US11677908B2 (en) Methods and systems for facilitating a collaborative work environment
WO2012112139A1 (en) Video conferencing client with support for multiple video conferencing protocols
US10412124B2 (en) Initiating a server-directed communication session
AU2011253547B2 (en) Distributable, scalable, pluggable conferencing architecture
US20240095681A1 (en) Limiting Perception Levels Of Media Exchanges Within Multi-User Virtual Sub-Spaces
US20230269108A1 (en) Controlled access to portions of a communication session recording
RU2377640C2 (en) Architecture for extensible system for real time interoperation
JP2023179396A (en) Apparatus and method for managing online meeting
Westerink et al. A high level flexible framework for building multi-platform multi-media streaming applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11858880

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11858880

Country of ref document: EP

Kind code of ref document: A1