Abstract:
Disclosed is a conference server included in a system for providing a conference service in RTCWeb, where the system includes a first terminal that operates as a moderator of the conference service and a second terminal that operates as a participant of the conference service. The conference server includes a focus that performs communication between the first terminal and the second terminal; the first terminal includes a conference control server/client that controls a generating of the conference, an adding/removing of the second terminal to/from the conference service, and a changing of a moderator, and manages information of the second terminal; and the second terminal includes a conference control client that acquires information of the conference service and controls a participation/departure in/from the conference service. The focus of the conference server communicates with the conference control server/client of the first terminal to resolve a request of the second terminal.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 61/720,203, filed with the United States Patent and Trademark Office on Oct. 30, 2012, Korean Patent Application No. 10-2013-0124195, filed with the Korean Intellectual Property Office on Oct. 17, 2013, and Korean Patent Application No. 10-2012-0119900, filed with the Korean Intellectual Property Office on Oct. 26, 2012, the disclosures of which are incorporated herein by reference in their entirety. 
     
    
     BACKGROUND 
       [0002]    1. Technical Field 
         [0003]    The embodiments of the present invention relate to a conference server that is included in a system for providing a conference service in RTCWeb (Real-Time Communication in WEB-browsers). 
         [0004]    2. Description of the Related Art 
         [0005]    The standard protocols for real-time multimedia communication in web browsers, for voice communication, video conferencing, etc., are being standardized by the RTCWeb (Real-Tire Communication in WEB-browsers) working group at the IETF (Internet Engineering Task Force). Whereas real-time multimedia communications in web browsers have previously been implemented by various developers according to their respective application programs using non-standardized methods, attempts to standardize the methods are being made by the W3C (World Wide Web Consortium) and the IETF. 
         [0006]    The services being considered for standardization are basically real-time communication services between web browsers. Examples may include video conferencing, multi-user network games, etc., which utilize voice communication and image communication between different web browsers. 
         [0007]      FIG. 1  illustrates the concept of an example of real-time communication in web browsers according to the related art. 
         [0008]    Referring to  FIG. 1 , multimedia data such as voice data, images, etc., may be transmitted via a direct connection between web browsers. In contrast, the signal path for session connection between the web browsers can be implemented by way of a separate server such as a web server. Also, the signal protocol can use the conventional session initiation protocol (SIP) as well as various other protocols such as XMPP (Extensible Messaging and Presence Protocol), etc. 
         [0009]    If it is possible to connect signal protocols of various forms other than this model, it may be critically required in the standard that a standardized method, such as for media compatibility, etc., be established beforehand for the media path based on a direct connection between web browsers. 
         [0010]    Also, either a standards-based or a proprietary protocol may be used between the browser and the web server. For the application brought to the web browser, it is sufficient that the application operate through the API (application program interface) in the standards-based web browser. The application can take various forms, such as Javascript, HTML, etc., and the W3C and its WebRTC working group (Web Applications and Device API) are currently developing standards for the API in an HTML5-based web browser for Javascript. 
         [0011]    However, RTCWeb has its unique characteristics, and a suitable architecture is needed in order to provide a conference service in RTCWeb using such characteristics. 
       SUMMARY 
       [0012]    To resolve the problem above, an aspect of the invention aims to propose a conference server that is to be included in a system for providing a conference service in RTCWeb (Real-Time Communication in WEB-browsers). 
         [0013]    To achieve the objective above, an embodiment of the invention provides a conference server included in a system for providing a conference service in RTCWeb, the system comprising a first terminal and a second terminal, the first terminal operating as a moderator of the conference service and having a web browser executed thereon, the second terminal operating as a participant of the conference service and having a web browser executed thereon. The conference server includes a focus configured to perform communication between the first terminal and the second terminal; the first terminal includes a conference control server/client configured to control a generating of the conference, an adding/removing of the second terminal to/from the conference service, and a changing of a moderator, and configured to manage information of the second terminal; and the second terminal includes a conference control client configured to acquire information of the conference service and configured to control a participation/departure in/from the conference service. The focus of the conference server communicates with the conference control server/client of the first terminal to resolve a request of the second terminal. 
         [0014]    The first terminal can further include a floor control server for controlling a floor of the conference by granting/revoking authorization to transmit a media stream; the second terminal can further include a floor control client configured to communicate with the floor control server of the first terminal and request authorization to transmit a media stream or disengage a set floor; and the conference server can further include a mixer configured to mix media streams transmitted by the first terminal and the second terminal and transmit the mixed media stream to the first terminal and the second terminal. 
         [0015]    Each of the first terminal and the second terminal can further include a presence client configured to transmit presence information, and the conference server can further include a presence server configured to receive the presence information from each of the presence client of the first terminal and the presence client of the second terminal and to transmit the collected presence information to the presence client of the first, terminal and the presence client of the second terminal. 
         [0016]    The conference server/client of the first terminal can transmit a conference generation request message to the focus of the conference server, where the conference generation request message contains information on a conference to be generated; the focus of the conference server can transmit a conference generation response message for a negotiation of the information on the conference to the conference control server/client of the first terminal based on the conference generation request message; and if the conference control server/client of the first terminal agrees to the negotiation of the information on the conference, the conference control server/client of the first terminal can transmit a negotiation agreement message for the conference generation to the focus of the conference server, and the focus of the conference server can generate the conference based on the negotiation agreement message for the conference generation. 
         [0017]    The information on the conference can include at least one of identification information of the conference, the time at which the conference is generated, a time segment for informing that the second terminal can participate in the conference, the maximum number of second terminals that can participate in the conference, the number of second terminals participating in the conference, the maximum number of second terminals that can transmit media simultaneously, the number of second terminals transmitting media simultaneously, information on a predefined default presence, and a media codec. 
         [0018]    From among the information on the conference, at least one of the time segment for informing availability for participating in the conference, the maximum number of second terminals that can participate in the conference, the maximum number of second terminals that can transmit media simultaneously, and the media codec can be information of which can be negotiated by the focus of the conference server and the conference control server/client of the first terminal. 
         [0019]    The conference server can further include a notification server configured to notify information related to an event within the conference. 
         [0020]    The conference control client of a second terminal not participating in the conference service can transmit a conference service participation request message to the focus of the conference server; the focus of the conference server can forward the conference service participation request message to the conference control server/client of the first terminal if a codec exists that is capable of providing support between the mixer of the conference server and the non-participating second terminal; the conference control server/client of the first terminal can add information of the non-participating second terminal to a participant list of the first terminal based on the conference service participation request message and can transmit a conference service participation acceptance message to the focus of the conference server; the focus of the conference server can add the information of the non-participating second terminal to a participant list of the conference server to change the non-participating second terminal to a participated second terminal in the conference service and can transmit the conference service participation acceptance message to the conference control client of the participated second terminal; and the notification server of the conference server can notify other second terminals already participating in the conference service with a message informing that a new participant (the participated second terminal) has been added. 
         [0021]    The floor control client of the participated second terminal can perform a session negotiation with the mixer of the conference server, and after the session negotiation is performed, the floor control client of the participated second terminal can receive the mixed media stream from the mixer of the conference server. 
         [0022]    The conference control client of a second terminal departing from the conference service can transmit a conference service departure request message to the focus of the conference server; the focus of the conference server can remove the departing second terminal from a participant list of the conference server based on the conference service departure request message and can transmit a conference service departure response message to the conference control client of the departing second terminal; the notification server of the conference server can notify the first terminal and other second terminals participating in the conference service with a message notifying that there is a departing participant (the departing second terminal); the conference control server/client of the first terminal can remove the departing second terminal from a participant list of the first terminal; and the conference control client of the other second terminal can remove the departing second terminal from a participant list of the other second terminals. 
         [0023]    The floor control client of the departing second terminal, upon receiving the conference service departure response message, can conclude a peer connection with the mixer of the conference server for transmitting/receiving the media stream; and the mixer of the conference server can re-perform the session negotiation with the floor control server of the first terminal and the floor control client of the second terminal. 
         [0024]    The floor control client of a second terminal transmitting a media stream can transmit a media stream transmission request message to the focus of the conference server; the focus of the conference server can forward the media stream transmission request message to the floor control server of the first terminal; the floor control server/client of the first terminal can transmit a media stream transmission response message to the focus of the conference server based on the media stream transmission request message; the focus of the conference server can forward the media stream transmission response message to the floor control client of the second terminal transmitting the media stream; the floor control client of the second terminal transmitting the media stream can transmit a media stream to the mixer of the conference server based on the media stream transmission response message; and the mixer of the conference server can further mix the media stream transmitted from the second terminal with the previously mixed media stream, and can perform a session re-negotiation with the first terminal and other second terminals participating in the conference service to transmit the further mixed media stream. 
         [0025]    The system for providing a conference service in RTCWeb can change the moderator from the first terminal to a second terminal, which may operate as a new moderator, where the second terminal operating as the new moderator includes a conference control server/client and a floor control server; the conference control server/client of the first terminal can transmit a moderator change request message to the focus of the conference server; the notification server of the conference server can transmit a message informing that the moderator was changed to the second terminal operating as the new moderator; the conference control server/client of the second terminal operating as the new moderator can transmit a moderator change response message to the focus of the conference server based on the moderator change request message; the focus of the conference server can transmit the moderator change response message to the conference control server/client of the first terminal; the notification server of the conference server can inform others of the second terminals participating in the conference service with a message informing that the moderator has been changed; the conference control server/client of the second terminal operating as the new moderator can transmit a moderator participation request message for the conference service; the focus of the conference server can set the second terminal operating as the new moderator to be the changed moderator and can transmit a moderator participation response message for the conference service to the second terminal that is the changed moderator; the mixer of the conference server and the floor control server of the second terminal that is the changed moderator can perform a session negotiation; and the second terminal that is the changed moderator can transmit a message through the conference server to the first terminal, informing that the old moderator has departed. 
         [0026]    Certain embodiments of the invention can provide a system for efficiently providing a conference service in RTCWeb. 
         [0027]    Additional aspects and advantages of the present invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0028]      FIG. 1  illustrates the concept of an example of real-time communication in web browsers according to the related art. 
           [0029]      FIG. 2  illustrates a system for providing a conference service in RTCWeb according to an embodiment of the invention. 
           [0030]      FIG. 3  is a flow diagram illustrating the flow of operations for generating a conference service in RTCWeb according to an embodiment of the invention. 
           [0031]      FIG. 4  is a flow diagram illustrating the flow of operations by which a second terminal that was not participating in a conference service in RTCWeb joins the conference service according to an embodiment of the invention. 
           [0032]      FIG. 5  is a flow diagram illustrating the flow of operations by which a second terminal participating in a conference service in RTCWeb departs from the conference service according to an embodiment of the invention. 
           [0033]      FIG. 6  is a flow diagram illustrating the flow of operations by which a second terminal participating in a conference service in RTCWeb transmits a media stream according to an embodiment of the invention. 
           [0034]      FIG. 7  is a flow diagram illustrating the flow of operations by which a first terminal participating in a conference service in RTCWeb changes the moderator. 
       
    
    
     DETAILED DESCRIPTION 
       [0035]    As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to particular modes of practice, and it is to be appreciated that all changes, equivalents, and substitutes that do not depart from the spirit and technical scope of the present invention are encompassed in the present invention. In describing the drawings, like reference numerals are used for like elements. 
         [0036]    Certain embodiments of the invention will be described below in more detail with reference to the accompanying drawings. 
         [0037]      FIG. 2  illustrates a system for providing a conference service in RTCWeb (Real-Time Communication in WEB-browsers) according to an embodiment of the invention. 
         [0038]    Referring to  FIG. 2 , a system  200  according to an embodiment of the invention may include a conference server  210 , a first terminal  220 , and at least one second terminal  230 . 
         [0039]    The conference server  210  may be a web server, while the first terminal  220  and the second terminal  230  may be terminal devices in which a web browser capable of supporting an RTCWeb function is executed. The first terminal  220  may operate as the moderator of a conference service, while the at least one second terminal  230  may operate as participants of the conference service. The first terminal  220  and the second terminal  230  may each communicate with the conference server  210  through a signaling channel. 
         [0040]    Also, when application programs are running on the web browsers executed on the first terminal  220  and second terminal  230 , the respective web browsers can change the user interface according to the roles in the conference without loading the application programs again. Thus, the users of the first terminal  220  and the second terminal  230  can easily generate or participate in a conference through the web browser, and can establish real-time multimedia communication session without using the resources of a third party. 
         [0041]    Looking in more detail at the composition of the system  200  according to an embodiment of the invention, the conference server  210  may include a focus  211 , a mixer  212 , a notification server  213 , and a presence server  214 ; the first terminal  220  may include a conference control server/client  221 , a floor control server  222 , and a presence client  223 ; and the second terminal  230  may include a conference control client  231 , a floor control server  232 , and a presence client  233 . 
         [0042]    To be more specific, the conference control server/client  221  of the first terminal  220  may include a focus (not shown) and a conference control client (not shown). The focus (not shown) of the first terminal  220  may play the role of a conference control server that manages the information and membership of the participants. The conference control client (not shown) of the first terminal  220  may communicate with the focus  211  of the conference server  210  and may control the generating of a conference, the adding/removing of the second terminal to/from the conference service, and the changing of the moderator. The conference control client  231  of the second terminal  230  may acquire information of the conference service and control the participation/departure in/from the conference service. The focus  211  of the conference server  210  may communicate with the conference control server/client  221  of the first terminal  220  to resolve the request of the second terminal  230 . 
         [0043]    The floor control server  222  of the first terminal  220  may control the floor and indicate the state of the floor. That is, the floor control server  222  of the first terminal  220  may control the floor of the conference by granting/revoking authorization to transmit a media stream. The floor control client  232  of the second terminal  230  may communicate with the floor control server  222  of the first terminal  220  and request authorization to transmit a media stream or disengage a set floor. The mixer  212  of the conference server  210  may the mix media streams transmitted by the first terminal  220  and the second terminal  230  and may transmit the mixed media stream to the first terminal  220  and the second terminal  230 . Furthermore, the mixer  212  of the conference server  210  can upkeep/maintain the connections of all participants within the conference and can perform session negotiations, and functions related to transcoding may also be performed at the mixer  212 . 
         [0044]    The notification server  213  of the conference server  210  may notify information related to events within the conference. Also, the presence client  223 ,  233  of each of the first terminal  220  and the second terminal  230  may transmit presence information, and the presence server  214  of the conference server  210  may receive the presence information from each of the presence client  223  of the first terminal  220  and the presence client  233  of the second terminal  230  and may transmit the collected presence information to the presence client  223  of the first terminal  220  and the presence client  233  of the second terminal  230 . 
         [0045]    The operations for providing a conference service in RTCWeb will be described below in more detail with reference to  FIG. 3  through  FIG. 7 . 
         [0046]      FIG. 3  is a flow diagram illustrating the flow of operations for generating a conference service in RTCWeb according to an embodiment of the invention. The procedures performed for each operation will be described below in more detail. 
         [0047]    First, in step S 302 , the conference server/client  221  of the first terminal  220  may transmit a conference generation request message, which contains information on a conference that is to be generated, to the focus  211  of the conference server  210 . In one example, the conference generation request message can be a “CCP (Conference Control Protocol) Request”, and the message can include the purpose of the message (Create), information on the conference, and the identification information of the first terminal  220  operating as the moderator (ModeratorID) (CCP Request&lt;Create, Conference Information, ModeratorID&gt;). 
         [0048]    According to an embodiment of the invention, the information on the conference can include at least one of the following nine types of information: 
         [0049]    i) identification information of the conference, 
         [0050]    ii) time at which the conference was generated, 
         [0051]    iii) time segment for informing that at least one second terminal  230  can participate in the conference, 
         [0052]    iv) maximum number of second terminals  230  that can participate in the conference, 
         [0053]    v) number of second terminals  230  participating in the conference, 
         [0054]    vi) maximum number of second terminals  230  that can transmit media simultaneously, 
         [0055]    vii) number of second terminals  230  transmitting media simultaneously, 
         [0056]    viii) information on a predefined default presence, and 
         [0057]    ix) a media codec. 
         [0058]    Next, in step S 304 , the focus  211  of the conference server  210  may transmit a conference generation response message, for negotiating the information on the conference, to the conference control server/client  221  of the first terminal  220  based on the conference generation request message. In one example, the conference generation response message can be a “CCP Response” message, and the message can include the purpose of the message (Negotiation) and information regarding the conference (CCP Response&lt;Negotiation, Conference Information&gt;). 
         [0059]    According to an embodiment of the invention, from among the nine types of information regarding the conference, at least one of the time segment for informing availability for participating in the conference, the maximum number of second terminals  230  that can participate in the conference, the maximum number of second terminals  230  that can transmit media simultaneously, and the media codec can be information that can be negotiated by the focus  211  of the conference server  210  and the conference control server/client  221  of the first terminal  220 . Thus, these four types of information can be included in the “conference information” within the conference generation response message. 
         [0060]    Continuing with the description, in step S 306 , if the conference control server/client  221  of the first terminal  220  agrees to the negotiation of the information on the conference, the conference control server/client  221  of the first terminal  220  may transmit a negotiation agreement message for conference generation to the focus  211  of the conference server  210 . In one example, the negotiation agreement message for conference generation can include the purpose of the message (Accept), the information on the conference, and the identification information of the moderator, to be “CCP Request&lt;Accept, Conference Information, ModeratorID&gt;” 
         [0061]    Lastly, in step S 308 , the focus  211  of the conference server  210  may create the conference based on the negotiation agreement message for conference generation, and in step S 310 , the focus  211  of the conference server  210  may transmit a negotiation response message to the conference control server/client  221  of the first terminal  220 . In one example, the negotiation response message can include the purpose of the message (OK), and the information on the conference, to be “CCP Response&lt;OK, Conference Information&gt;”. 
         [0062]      FIG. 4  is a flow diagram illustrating the flow of operations by which a second terminal  230  that was not participating in a conference service in RTCWeb joins the conference service according to an embodiment of the invention. The procedures performed for each operation will be described below in more detail. 
         [0063]    First, if the non-participating second terminal  230  is unaware of what conferences have been created, in step S 402 , the non-participating second terminal  230  may transmit an information request message, for conferences that have been created, to the focus  211  of the conference server  210 . In one example, the identification information request message for conferences can be “CCP Request&lt;Conferences&gt;”. Then, in step S 404 , the focus  211  of the conference server  210  may transmit an information response message for conferences that have been created to the non-participating second terminal  230 . In one example, the identification information response message for conferences can be “CCP Response&lt;Conferences, Conferences&#39; Information&gt;”. However, if the non-participating second terminal  230  is aware of information relating to conferences, step S 402  and step S 404  can be omitted. 
         [0064]    Next, in step S 406 , the conference control client  231  of the non-participating second terminal  230  may transmit a conference service participation request message to the focus  211  of the conference server  210 . In one example, the conference service participation request message can be “CCP Request&lt;Join, conferenceID, Capabilities, ParticipantID, Participant&gt;”. Then, in step S 408 , the focus  211  of the conference server  210  may determine whether a codec exists that is capable of providing support between the mixer  212  of the conference server  210  and the non-participating second terminal  230 . 
         [0065]    If there is no codec that is capable of providing support between the mixer  212  of the conference server  210  and the non-participating second terminal  230 , then in step S 410 , the focus  211  of the conference server  210  may transmit a conference service participation rejection message to the conference control client  231  of the non-participating second terminal  230 . In one example, the conference service participation rejection message can be “CCP Response&lt;Deny, ParticipantID, Information&gt;”. Conversely, if there is a codec that is capable of providing support between the mixer  212  of the conference server  210  and the non-participating second terminal  230 , then in step S 412 , the focus  211  of the conference server  210  may forward the conference service participation request message to the conference control server/client  221  of the first terminal  220 . 
         [0066]    Continuing with the description, the conference control server/client  221  of the first terminal  220 , in step S 414 , may add the information of the non-participating second terminal  230  to a participant list in the first terminal  220  based on the conference service participation request message, and in step S 416 , may transmit a conference service participation acceptance message to the focus  211  of the conference server  210 . In one example, the conference service participation acceptance message can be “CCP Respond&lt;Accept, ParticipantID&gt;”. 
         [0067]    Then, in step S 418 , the focus  211  of the conference server  210  may add the information of the non-participating second terminal to a participant list in the conference server  210  to change the non-participating second terminal  230  to a second terminal participated in the conference service. Then, in step S 420 , the focus  211  of the conference server  210  may forward the conference service participation acceptance message to the conference control client  231  of the participated second terminal  230 . In one example, the forwarded conference service participation acceptance message can be “CCP Respond&lt;Accept, ParticipantID, Conference Information, Connection information&gt;”. 
         [0068]    Also, in step S 422 , the notification server  213  of the conference server  210  may notify other second terminals  230  that are already participating in the conference service with a message informing that a new participant (the participated second terminal  230 ) has been added. In one example, the message informing that a new participant has been added can be “CCP Notify&lt;Add, ParticipantID&gt;”. 
         [0069]    Next, in step S 424 , the floor control client  232  of the participated second terminal  230  may perform a session negotiation with the mixer  212  of the conference server  210 . Thus, after the session negotiation is performed, the floor control client  232  of the participated second terminal  230  can receive the mixed media stream from the mixer  212  of the conference server  210 . 
         [0070]    In certain instances, the first terminal  220  that acts as the moderator can reject the participation request of the non-participating second terminal  230 . In this case, the first terminal  220  can transmit a conference service participation rejection message through the conference server  210 . 
         [0071]      FIG. 5  is a flow diagram illustrating the flow of operations by which the second terminal  230  participating in a conference service in RTCWeb departs from the conference service according to an embodiment of the invention. The procedures performed for each operation will be described below in more detail. 
         [0072]    First, in step S 502 , the conference control client  231  of the second terminal  230  departing from the conference service may transmit a conference service departure request message to the focus  211  of the conference server  210 . In one example, the conference service departure request message can be “CCP Request&lt;Leave, ConferenceID&gt;”. 
         [0073]    Next, the focus  211  of the conference server  210  in step S 504  may remove the departing second terminal  230  from the participant list in the conference server  210  based on the conference service departure request message, and in step S 506 , may transmit a conference service departure response message to the conference control client  231  of the departing second terminal  230 . In one example, the conference service departure response message can be “CCP Request&lt;OK, Leave&gt;”. Then, in step S 508 , the notification server  213  of the conference server  210  may notify the first terminal  220  and other second terminals  230  participating in the conference service with a message notifying that there is a departing participant (the departing second terminal  230 ). In one example, the message notifying that there is a departing participant can be “CCP Notify&lt;Leave, ParticipantID&gt;”. 
         [0074]    Continuing with the description, in step S 510 , the conference control server/client  221  of the first terminal  220  may remove the departing second terminal  230  from the participant list in the first terminal  220 . Then, in step S 512 , the conference control client  231  of the other second terminals  230  may remove the departing second terminal  230  from the participant lists in the other second terminals  230 . 
         [0075]    Next, in step S 514 , the floor control client  232  of the departing second terminal  230  that has received the conference service departure response message may conclude the peer connection with the mixer  212  of the conference server  210  for transmitting/receiving the media stream. Then, in step S 516 , the mixer  212  of the conference server  210  may re-perform the session negotiation with the floor control server  222  of the first terminal  220  and the floor control client  232  of the second terminal  230 . Also, in step S 518 , the mixer  212  of the conference server  210  may conclude the peer connection with the departing second terminal  230 ; in step S 520 , the floor control server  222  of the first terminal  220  may remove the departing second terminal  230  from the list of participants transmitting media streams; and in step S 522 , the floor control clients  232  of the other second terminals  230  may remove the departing second terminal  230  from the list of participants transmitting media streams. 
         [0076]    If the participant departing from the conference is the first terminal  220 , the conference control server/client  221  of the departing first terminal  220  may transmit a conference service departure request message to the focus  211  of the conference server  210 ; the focus  211  of the conference server  210  may remove the departing first terminal  220  from the participant list of the conference server  210 ; the connection to at least one second terminal  230  participating in the conference may be concluded; and the conference being hosted by the conference server  210  may be removed. 
         [0077]      FIG. 6  is a flow diagram illustrating the flow of operations by which the second terminal  230  participating in a conference service in RTCWeb transmits a media stream according to an embodiment of the invention. The procedures performed for each operation will be described below in more detail. 
         [0078]    First, in step S 602 , the floor control client  232  of the second terminal  230  transmitting a media stream may transmit a media stream transmission request message to the focus  211  of the conference server  210 . In one example, the media stream transmission request message can be “TBCP (Talk Burst Control Protocol) Request”. Then, in step S 604 , the focus  211  of the conference server  210  may forward the media stream transmission request message to the floor control server  222  of the first terminal  220 . 
         [0079]    Continuing with the description, in step S 606 , the floor control server  222  of the first terminal  220  may transmit a media stream transmission response message to the focus  211  of the conference server  210  based on the media stream transmission request message. In one example, the media stream transmission response message can be “TBCP Granted 1 ParticipantA”. Then, in step S 608 , the focus  211  of the conference server  210  may forward the media stream transmission response message to the floor control client  232  of the second terminal  230  transmitting the media stream. 
         [0080]    Next, in step S 610 , the floor control client  232  of the second terminal  230  transmitting the media stream may transmit a media stream to the mixer  212  of the conference server  210  based on the media stream transmission response message. 
         [0081]    Afterwards, in step S 612 , the mixer  212  of the conference server  210  may further mix the media stream transmitted from the second terminal  230  with the previously mixed media stream. Then, in step S 614 , the mixer  212  of the conference server  210  may perform a session re-negotiation with the first terminal  220  and the other second terminals  230  participating in the conference service to transmit the further mixed media stream. 
         [0082]    According to an embodiment of the invention, the session re-negotiation can be performed based on a trigger for activating the MediaStreamTrack of authorized participants. This trigger may be provided by a MediaStreamTrack object for a peer connection. 
         [0083]    Lastly, in step S 616 , the floor control server  222  of the first terminal  220  and the floor control servers  232  of the other second terminals  230  may add the second terminal  230  transmitting the media streams to their respective participant lists as a “participant transmitting a media stream”. 
         [0084]    However, if the first terminal  220  rejects the media stream transmission request, the floor control server/client  222  of the first terminal  220  may transmit a media stream transmission rejection message to the floor control client  232  of the second terminal  230  transmitting the media stream. In one example, the media stream transmission rejection message can be “TBCP Denied”. 
         [0085]      FIG. 7  is a flow diagram illustrating the flow of operations by which the first terminal  220  participating in a conference service in RTCWeb changes the moderator. 
         [0086]    That is, referring to  FIG. 7 , a system for providing a conference service in RTCWeb may change the moderator from a first terminal  220  to a second terminal  230  that will operate as the new moderator. Here, the second terminal  230 ′ operating as the new moderator may include a conference control server/client  231 ′ instead of a conference control client  231  and a floor control server  232 ′ instead of the floor control client  232 , similar to the first terminal  220 . 
         [0087]    The procedures performed for each step is described below in further detail. 
         [0088]    First, in step S 702 , the conference control server/client  221  of the first terminal  220  may select the second terminal  230 ′ that will operate as the new moderator, from among the at least one second terminals  230 . Then, in step S 704 , the conference control server/client  221  of the first terminal  220  may transmit a moderator change request message to the focus  211  of the conference server  210 . Here, the moderator change request message may include identification information of the second terminal  230 ′ that is to be the new moderator. In one example, the moderator change request message transmitted from the first terminal  220  can be “CCP Request&lt;Delegate, New Moderator&gt;”. Afterwards, in step S 706 , the notification server  213  of the conference server  210  may transmit a message informing that the moderator was changed to the second terminal  230 ′ operating as the new moderator. In one example, the message informing that the moderator has been changed can be “CCP Notify&lt;Delegated&gt;”. 
         [0089]    Next, in step S 708 , the conference control server/client  231 ′ of the second terminal  230 ′ operating as the new moderator may transmit a moderator change response message to the focus  211  of the conference server  210  based on the moderator change request message. In one example, the moderator change response message can be “CCP Respond&lt;OK, Delegating&gt;”. Then, in step S 710 , the focus  211  of the conference server  210  may transmit the moderator change response message to the conference control server/client  221  of the first terminal  220 . Afterwards, in step S 712 , the notification server  213  of the conference server  210  may inform the other second terminals  230  participating in the conference service with a message informing that the moderator has been changed. In one example, the message informing that the moderator has been changed can be “CCP Notify&lt;Delegating&gt;”. 
         [0090]    Continuing with the description, in step S 714 , the conference control server/client  231 ′ of the second terminal  230 ′ operating as the new moderator may transmit a moderator participation request message for the conference service. In one example, the moderator participation request message for the conference service can be “CCP Request&lt;Join, ConferenceID, ParticipantID, Moderator&gt;”. Afterwards, the focus  211  of the conference server  210 , in step S 716 , may set the second terminal  230 ′ operating as the new moderator to be the changed moderator, and in step S 718 , may transmit a moderator participation response message for the conference service to the second terminal  230 ′ that is the changed moderator. In one example, the moderator participation response message for the conference service can be “CCP Respond&lt;Accept, ParticipantID, Conference Information, Connection Information&gt;”. 
         [0091]    Next, in step S 720 , the mixer  212  of the conference server  210  and the floor control server  232 ′ of the second terminal  230 ′ that is the changed moderator may perform a session negotiation, and in step S 722  and step S 724 , the second terminal  230 ′ that is the changed moderator may transmit a message through the conference server  210  to the first terminal  220 , informing that the old moderator has departed. In one example, the message informing that the old moderator has departed can be “CCP Respond&lt;OK, Delegated&gt;”. 
         [0092]    The technical features described above can be implemented in the form of program instructions that may be executed using various computer means and can be recorded in a computer-readable medium. Such a computer-readable medium can include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the medium can be designed and configured specifically for the present invention or can be a type of medium known to and used by the skilled person in the field of computer software. Examples of a computer-readable medium may include magnetic media such as hard disks, floppy disks, magnetic tapes, etc., optical media such as CD-ROM&#39;s, DVD&#39;s, etc., magneto-optical media such as floptical disks, etc., and hardware devices such as ROM, RAM, flash memory, etc. Examples of the program of instructions may include not only machine language codes produced by a compiler but also high-level language codes that can be executed by a computer through the use of an interpreter, etc. The hardware mentioned above can be made to operate as one or more software modules that perform the actions of the embodiments of the invention, and vice versa. 
         [0093]    While the present invention has been described above using particular examples, including specific elements, by way of limited embodiments and drawings, it is to be appreciated that these are provided merely to aid the overall understanding of the present invention, the present invention is not to be limited to the embodiments above, and various modifications and alterations can be made from the disclosures above by a person having ordinary skill in the technical field to which the present invention pertains. Therefore, the spirit of the present invention must not be limited to the embodiments described herein, and the scope of the present invention must be regarded as encompassing not only the claims set forth below, but also their equivalents and variations.