Abstract:
A circuit configuration in a multimedia network representing a controllably persistent virtual meeting room simulates an actual meeting room where conferences between two or more people may be held. This facilitates the creation in the network of flexible, long-term multimedia conferences between conferees who are separated from one another. Any number of conferees may communicate with one another via one or more of audio, video, and data. Virtual meeting rooms may persist in the network for predetermined periods of time controlled by the users of the meeting room. The room may remain in the network independent of whether or not a user is connected to the room. The meeting room is a vehicle whereby the activity of various media servers is coordinated to effectuate conferences between multiple participants in more than one medium. The servers are associated with storage devices which may record or store certain aspects of multimedia conferences using the virtual meeting room.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is related to Application Serial No. [Kuthyar 1-1-1-7] of Ahuja, Aravamudan, Ensor, Kuthyar, Ramamurthy, Stuntebeck, and Weber filed in the Patent and Trademark Office on the same day this application is being filed. 
     TECHNICAL FIELD 
     This invention relates to communications networks. More particularly, this invention relates to multimedia communications networks able to effectuate conferences between two or more parties in multiple media, such as voice, video, and data. 
     BACKGROUND 
     The essential characteristics of face-to-face meetings can be simulated by multimedia conferencing systems. Such conferencing systems permit separated conference participants to communicate with one another in multiple media such as voice, video, and data from their own work places without requiring that they actually convene in the same place. 
     In one prior approach, these conferencing systems involve a plurality of complicated and expensive computer workstations connected together by transmission facilities which act merely as a transport mechanism for whatever is to be communicated between the workstations. There are significant problems with such a distributed architecture which are preventing this approach from becoming a widespread commercially viable reality. Each of the workstations in these prior distributed environments contains a large amount of the multimedia data processing capabilities, including the necessary bridging and synchronization circuits, used to effectuate a conference between meeting participants. This increases the cost to each potential multimedia user which usually places multimedia communications beyond that user&#39;s interest or financial means. In addition, prior localized desktop applications make it difficult to achieve long-term flexible multimedia conferencing environments conveniently because at least one of the workstations must stay up at all times during the required life of the conference environment. There is no way convenient for all the conferees to leave the conference and then easily return and pick up the conference where it left off. It also is difficult to synchronize the various parts of a multimedia conference for proper presentation to the meeting participants in a distributed environment. In this situation, it is difficult to create multimedia connections between disparate communications equipment, for example, two computers running different operating systems. 
     In addition to the distributed architectures described above, there are some centralized architectures involving media bridges located in the network rather than in local workstations. For example, the AT&amp;T long distance network contains some audio and video bridging capability such as the bridging involved in the AT&amp;T Alliance teleconferencing service and the AT&amp;T Global Business Video Conferencing Services. Although these services are useful telecommunication services, Applicants have identified significant areas which might be improved. Applicants have appreciated that it is difficult to achieve flexible, long term multimedia conferences between a variable number of users having different media capabilities. Synchronous modes of communications, such as telephone calls, and asynchronous modes of communications, such as electronic mail, are not easily merged in the prior multimedia communications systems. The prior multimedia communications systems also make it difficult to integrate disparate communications equipment possessed by various conferees into an effective multimedia conference. It is difficult for conferees having different levels of multimedia communications capabilities to enter and leave a given multimedia conference freely. There is no convenient way to effectuate multimedia communications between many potential users such as those who might be connected together by way of a complicated network, such as an extensive local area network or a wide area network such as a public telephone network. For example, there is no way for a telecommunications carrier to provide a multimedia communications service to a wide range of its telephone customers using the present multimedia conferencing systems. 
     SUMMARY 
     The problems mentioned above are solved by a multimedia communications network which provides a shared multimedia work environment accessible from one or more multimedia ports. In specific terms, the multimedia communications network comprises at least one meeting room server located in the network and connected to a plurality of ports which provide users with access to the network. The meeting room server creates a special electronic circuit configuration in the network in response to a command from a user terminal connected to one of the multimedia ports. The electronic circuit configuration has predetermined characteristics created by the users of the network and has a preselected lifetime in the network in accordance with the desires of those who use the electronic circuit configuration to effectuate electronic multimedia conferences. The electronic circuit configuration may be a data structure which represents a controllably persistent virtual meeting room in the network. Conferences may be held using this meeting room involving any number of participants. Those conference participants may be able to communicate with the others in a variety of media. They need not each have the same ability to communicate in all media. The participants may come and go with respect to conferences held in the virtual meeting room. Even when all participants leave a conference, the virtual meeting room will persist in the network and may be used at a later time to resume or continue the conference by the same participants or others. The virtual meeting room may be used to initiate or continue other conferences by the same participants or others. The virtual meeting room is thus an electronic analog of a physical meeting place where conferences are held. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is an illustrative multimedia network constructed in accordance with the principles of this invention. 
     FIG. 2 is an illustrative connection topology involving two multimedia workstations connected through pertinent portions of the multimedia network of FIG. 1. 
     FIGS. 3a-3d are representations of an illustrative virtual meeting room created in the meeting room server of FIG. 2. 
     FIG. 4 is a state diagram representing the operation of one of the meeting room servers in FIG. 1 with respect to one virtual meeting room created in the network. 
     FIG. 5 is a state diagram representing the operation of one of the conversation managers in FIG. 2 with respect to one virtual meeting room created in the network. 
     FIG. 6 is a block diagram of a generalized media server associated with storage devices which assist in effectuating a persistent characteristic of a virtual meeting room in accordance with this invention. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 shows a multimedia network 10 which can selectively connect together one or more of a number of devices so that information may be transported from one device to another. The devices may include one or more multimedia workstations, such as a pair multimedia workstations 12 and 14 shown in FIG. 1. The multimedia workstations are connected to respective multimedia ports of the network 10 and are capable of communicating with one another and with other devices connected to the network 10 in a plurality of media such as audio, video, and data. Other devices which can be interconnected by the network 10 in FIG. 1 include a camera 16, a video cassette recorder 18, a facsimile device 20, a telephone 22, and a television 24. The telephone 22 may be simple POTS telephone, an ISDN telephone, a cellular or other wireless telephone, or any other voice band telecommunications device such as a personal communicator. Each of the devices shown in FIG. 1 is connected to the network 10 by means of suitable connections to appropriate ports of the network 10. 
     The network 10 contains a number of servers used to effectuate connections in predetermined media between selected ones of the devices shown in FIG. 1. The network 10 contains one or more meeting room servers 1, 2, . . . . i each of which is a repository of information relating to virtual meeting rooms created in the network 10. The characteristics of illustrative virtual meeting rooms are described in more detail below. The meeting room servers also coordinate and control access to media servers in the network 10. Those media servers include one or more data servers 1, 2 . . . . . j, one or more video servers 1, 2, . . . , k, and one or more audio servers 1, 2, . . . , 1. The data servers selectively connect the data portions of the inputs and outputs of the devices shown in FIG. 1 with selected data inputs and outputs of others of the devices shown in FIG. 1. Similarly, the video servers selectively connect the video inputs and outputs of the devices shown in FIG. 1 and the audio servers selectively connect the audio inputs and outputs of those devices. The network 10 also contains one or more name servers 1, 2, . . . . m each of which may store addresses of the devices connected to the network 10 and addresses of network resources used by the media servers and the meeting room servers. The meeting room servers are responsive to information handled by the name servers to create associations between selected users and selected virtual meeting rooms. 
     In one example of the invention, the servers shown in FIG. 1 may be implemented as software entities on one or more UNIX® based workstations such as those made by Sun Microsystems. As described in more detail below, controllably persistent virtual meeting rooms can be created in the multimedia network 10 shown in FIG. 1 which can be used to effectuate flexibly configured multimedia conferences of any required direction between two or more users of the network 10. 
     FIG. 2 shows an illustrative multimedia connection between the workstations 12 and 14 in FIG. 1 through the network 10. Workstation 12 contains a user interface 26 which may include a visual interface on a computer. The interface may also include data entry devices such as a keyboard, a mouse, pen based entry devices, or speech activated input devices. The user interface 26 is connected to a conversation manager 28. The conversation manager 28 coordinates the activity of a group of media managers located in the workstation 12. The conversation manager 28 is also a signaling agent in the workstation 12 which signals the network 10 to create or destroy one or more virtual meeting rooms used by the operator of the workstation 12. The conversation manager 28 also is used to signal the network 10 to create various meeting configurations in each of the virtual meeting rooms accessible by the operator of the workstation 12. 
     The workstation 12 also contains a group of media managers which are associated with respective hardware devices and software entities which produce outputs in respective media and receive inputs in those respective media from other participants in the conference. The workstation 12 contains a data manager 30 which receives data produced by one or more application programs running in the workstation 12, such as spreadsheet programs, word processing programs, graphics programs, and the like. The data manager 30 directs this data to other meeting participants through the network 10, specifically, in this example of the invention, to other similar data managers in multimedia workstations participating in the conference. The workstation 12 also contains a video manager 32 which receives video signals from one or more video devices associated with the workstation 12 such as video cameras, vcr&#39;s, scan converters, and the like. The video manager 32 directs video signals to other meeting participants through the network 10, for example, to other video managers in similar multimedia workstations. Finally, the workstation 12 contains an audio manager 34 which is associated with one or more audio devices, such as telephones, microphones, and the like. In addition to sending signals from the workstation 12 to other meeting participants through the network 10, the media managers 30, 32, and 34 also receive respective signals from other meeting participants and appropriately communicate those signals to the user of the workstation 12 in an appropriate manner. For example, the managers 30, 32, and 34 may cause data and video to be displayed on a television or video monitor and audio to be played through a speaker. There may be other media managers in the workstation 12 in other examples of the invention, for example, a manager to handle facsimile signals produced by the workstation 12 or received by the workstation 12. 
     Signalling messages are directed between the conversation manager 28 and the data manager 30 on line 29; signalling messages are directed between the conversation manager 28 and the video manager 32 on line 31; and signalling messages are directed between the conversation manager 28 and the audio manager 34 on line 33. Similarly, workstation 14 contains a user interface 36 connected to a conversation manager 38. The workstation 14 also contains a data manager 40, a video manager 42, and an audio manager 44 connected to the conversation manager 38 by way of signalling lines 39, 41, and 43, respectively. The workstations 12 and 14 may be UNIX® based computers or workstations such as those made by Sun Microsystems and the like. The manager and user interfaces may be software entities on those computers. 
     User terminals, such as workstations 12 and 14 in FIG. 2, are connected to multimedia ports of the network 10. Signalling and communications traffic in multiple media are received in the multimedia ports from respective user terminals connected to the multimedia ports. An example of the multimedia ports also direct signalling and communications traffic in multiple media to respective user terminals connected to the multimedia ports. The details of how signalling and multimedia communications traffic of workstations 12 and 14 are connected to multimedia ports of the network 10 are shown in FIG. 2 and described below. 
     In a multimedia connection between the workstations 12 and 14, the conversation manager 28 in the workstation 12 is connected to the conversation manager 38 in the workstation 14 by means of a suitable connection 46 through the network 10. Each of the multimedia workstations is associated with a particular one of the meeting room servers shown in FIG. 1. In the example shown in FIG. 2, the workstations 12 and 14 each are associated with the same meeting room server 48, which may, for example, be meeting room server 1 shown in FIG. 1. 
     A connection between the workstations 12 and 14 is initiated by a workstation user first creating a persistent virtual meeting room in the meeting room server 48 by way of commands from one of the conversation managers 28 or 38 to the server 48 on one of lines 45 or 46. The virtual meeting room comprises a data structure in the meeting room server 48 representing certain computer resources allocated to the connections and signalling between the workstations 12 and 14. For example, those resources may involve part or all of a memory, a computer file, a database table, or other memory or storage facility associated with the meeting room server 48. More than one meeting room may be created in each meeting room server in the network 10. Each virtual meeting room is given a unique identification by which it can be accessed by potential users of the meeting room. The virtual meeting room may contain the identities of the servers which will be used to effectuate connections in various media between the workstations 12 and 14. In addition, the virtual meeting room will contain the identities of the participants involved in meetings held in the virtual meeting room. There may be one or more meetings held in the virtual meeting room, each of which is also given a unique identification stored in the virtual meeting room. The virtual meeting room may also contain information about certain access rights of potential conference participants who may be permitted to use the room. In certain situations it may be advantageous for the virtual meeting room to contain information about the length of time it has existed in the network. For example, in a situation where the network 10 is a telephone network, it would be advantageous for the virtual meeting room to contain information about the time at which it was originally created and the amount of time it was used to actually hold conferences. This information may be used for purposes of billing telephone customers for using a virtual meeting room to hold conferences and store information in the network about those conferences. 
     FIGS. 3a-3d are illustrations of a representative virtual meeting room 47 which may be created by the meeting room server 48 in FIG. 2. In the example of FIG. 3a, the meeting room comprises a designated region in the memory of the server 48 set aside for this particular virtual meeting room. A unique virtual meeting room identification is stored in location 49. Access rights to the virtual meeting room are stored in location 51. These access rights signify who may use this virtual meeting room. Reservation attributes are stored in location 53. Reservation attributes may include information about the persons who have reserved the virtual meeting room, the time period during which the room has been reserved, and the identity of the media servers which will be used. Any other users, not identified in the reservation attributes, will be denied the use of the room during a reserved period. Reservation conflicts may be resolved by using some sort of a priority scheme. There can be multiple reservations of a virtual meeting room at nonconflicting times. Descriptions identifying the characteristics of m media servers which have been associated with the virtual meeting room 47 are stored in locations 55. As shown in FIG. 3b, each server description may comprise a designation 59 uniquely identifying each server. Those server descriptions may also contain connection information 61, for example, the network address of the respective server. The server descriptions may also contain information 63 about who has the right to access the particular server, billing information 65 relating to the usage level of each billable user of the server, reservation information 67 reflective of the reservation attributes described above relating to this server, and a service description 69, which may define the particular kind of audio, video, or data services handled by this server, for example, voice messaging, audio information services, NTSC video (compressed and uncompressed), bulletin board services, games, weather, news, and the like. 
     The room 47 may also contain a representation relating to a meeting between a group of meeting participants. Descriptions identifying n such meetings which have been or will be held using the virtual meeting room are stored in locations 57. As shown in FIG. 3c, each meeting description contains a unique meeting identifier stored in location 71, access rights 73, billing information 75, and one or more participant descriptions 77. As shown in FIG. 3d, each participant description shown in FIG. 3c may contain a unique identifier 79, state information 81 relating to whether or not the participant is using the meeting room, a static media description 83 indicating the media in which this participant is capable of communicating, a dynamic media description 85 indicating the media in which this participant is currently communicating, and a profile 87 containing information about the participant which might be useful to the network such as the length of time the participant was a part of the meeting, what resources he used during the course of the meeting, and whether and how this participant to be billed. The server 48 may contain any number of meeting rooms. Each meeting room may contain any number of servers, any number of meetings and any number of participants in each meeting. Each participant may communicate in any one or more of a plurality of communications media, such as audio, video, and data. 
     The virtual meeting room created in the meeting room server 48 has a characteristic of persistence, which means that the data structure defined by the virtual meeting room may remain in the network for a predetermined period of time controllable by users of the network. The virtual meeting room may even remain in the network though there are no users connected to the meeting room or to the network. Moreover, the length of time a virtual meeting room is to persist in the network is controllable by one or more of the users of the virtual meeting room. Such a persistent meeting room is also a mechanism by which certain preselected events occurring during the course of a multimedia or other conference may be recorded as they occur during the conference. These events may later be stored in the network for a predetermined time set by one or more of the conference participants independent of whether or not any conference participants are actually connected to the network or are using the virtual meeting room. For example, in a situation where the multimedia network 10 is a telephone network, all conferees may go on hook and information about their conference selected by the conferees will be stored in the network for any of them to retrieve in the future. This storage capability also permits conferences to be suspended and later resumed at a point where it was suspended. New conferees may join an existing conference and be brought up to speed on what happened earlier in the conference. Some or all of the information in a virtual meeting room may be deleted by selected ones or all of the users of that virtual meeting room. 
     In a multimedia conference between workstations 12 and 14, the meeting room server 48 is connected to one of the data servers 50 in the network 10 by means of a two-way connection 52. The meeting room server 48 is connected to one of the video servers 54 in the network 10 by means of a two-way connection 56. Similarly, the meeting room server 48 is connected to one of the audio servers 58 in the network 10 by means of a two-way connection 60. One of the name servers 62 in the network 10 is connected to the meeting room server 48 by means of a two-way connection 64. 
     The data server 50 receives data output and data signalling produced by the data managers 30 and 40 in the workstations 12 and 14 on two-way connections 66 and 68, respectively. The data outputs and signalling from each of the workstations 12 and 14 are directed by the data server 50 to the other of the workstations so that the data produced by each workstation can be shared between the users of the two workstations 12 and 14. This is accomplished by the data server 50 receiving the data output and signalling of the data manager 30 of the workstation 12 on line 66 and directing it to the data manager 40 in the workstation 14 on line 68. The data server 50 also receives the data output and signalling from the data manager 40 in the workstation 14 on line 68 and directs that data output and signalling to the input of the data manager 30 in the workstation 12 on line 66. 
     The video server 54 receives video output and video signalling of the workstation 12 from the video manager 32 on a two-way connection 70 and video output and video signalling of the workstation 14 from the video manager 42 on a two-way connection 72. The video server 54 directs the video and signalling received from the workstation 12 on the connection 70 to the workstation 14 by way of the connection 72. The video server 54 also directs the video and signalling received from the workstation 14 on connection 72 to the workstation 12 by way of the two-way connection 70. 
     The audio server 58 receives workstation 12&#39;s audio output and audio signalling from the audio manager 34 on a two-way connection 74 and directs that audio output and signalling to the audio manager 44 in the workstation 14 by way of a two-way connection 76. The audio server 58 also receives workstation 14&#39;s audio output and audio signalling from the audio manager 44 on connection 76 and directs that audio output and signalling to the audio manager 34 by way of the connection 74. 
     Although the example of the invention shown in FIG. 2 only deals with a connection between two multimedia workstations, the invention is equally applicable to any number of conference participants who may be involved in a single conference. The data server 50, video server 54, and the audio server 58 essentially act as bridging circuits for combining the respective media outputs of the conference participants and directing selected ones of those outputs to the participants on appropriate communications paths. The assembly and coordination of the servers to effectuate a multimedia conference between plural participants is handled by the multimedia server 48 using the information stored in a virtual meeting room created for handling a conference between the participants. A meeting room interface 78 is connected to the meeting room server 48 so that the server 48 may be provisioned with certain information generated by network administrators and the like. Information about the meeting rooms in the network 10 may be obtained through the interface 78. The meeting room server is connected to other meeting room servers in the network 10 by means of a connection 80 attached to an input/output port of the server 48 which is needed in situations where the conference participants are assigned to use different meeting room servers located in the network. 
     FIG. 4 is a state diagram illustrating in detail the nature of the operation of the meeting room server 48 in FIG. 1 with respect to a single virtual meeting room. Similar state diagrams are applicable for each virtual meeting room handled by the server 48. In FIG. 4, each state in which the server 48 may reside relative to a given virtual meeting room is represented in schematic form by an oval shaped structure. Transitions between states are represented by arrows labeled with numbers preceded by a capital &#34;E&#34;. Self-loops are identified by numbers preceding by &#34;SL&#34;. Table I is a listing of all the state transitions shown in FIG. 4. Table I is a complete listing of the allowed transitions, referred to as &#34;edges&#34;, including an identification of that which triggers a transition between states along with the action which takes place as a result of the trigger. 
     Prior to the creation of a virtual meeting room in the server 48, the server 48 is in a ground state 82. The server 48 receives a command from a conversation manager in a workstation associated with the server 48 to create an empty virtual meeting room which may be an allocation of memory space or other computer resources to specific conferences which will be entered into by a user who creates the virtual meeting room and others. The meeting room server 48 leaves the ground state 82 and enters an empty room state 84. Appropriate servers may be associated with the empty room to effectuate conferences in predetermined media. These servers may be selected from the collection of servers in the network, such as those illustrated in FIG. 1. When a server is to be associated with a virtual meeting room, the meeting room server 48 leaves the empty room state 84 and enters a wait state 86 as a result of a command, for example, from the conversation manager in the workstation which created the virtual meeting room. Once a requested server has been actually assigned to the virtual meeting room, for example, when an acknowledgement is generated by a server requested to be associated with the virtual meeting room, the meeting room server 48 then enters a state 88 signifying that there is a virtual meeting room with at lease one associated server. When the server 48 is in the state 88, additional servers may be added to the virtual meeting room upon appropriate command from a conversation manager, as signified by the second wait state 90 shown in FIG. 4. 
     In addition to creating an empty virtual meeting room and associating predetermined network resources to that virtual meeting room, actual meetings may be held in the virtual meeting room whereby conference participants may be connected to one another in selected media. Two or more participants may share one or more of audio, such as the usual voice conversations, data such as certain computer programs, and video such as that produced by cameras situated in the locations of the conference participants. In this regard, the conversation manager signals the meeting room server 48 to create a uniquely identified meeting in the virtual meeting room. The server 48 leaves the state 88 and enters a state 90 in which the virtual meeting room contains servers and in which a meeting is being conducted. In state 90, additional servers may be added, as signified by the wait state 92 in FIG. 4. While the server 48 is in state 90, any number of conference participants may be added to or dropped from the meeting as signified by the self-loop SL2 shown in FIG. 4. A meeting may be suspended in which all of the conference participants either go on hold or actually entirely disconnect from the network 10, as signified by a transition from state 90 to state 94 in FIG. 4. Since the virtual meeting room has a persistent characteristic, the meeting room and information about the meeting may continue to be stored in the network 10 in accordance with the desires of the meeting room users. The meeting may be resumed by one or more users at a place where the meeting was suspended as represented by a transition from state 94 to state 90. 
     In addition to the states and transitions described above, the meeting room server 48 may also enter into a state 96 from the empty room state 84 involving a situation where there is a virtual meeting room in the server 48 having a meeting but no servers as yet. Servers may be added as represented by the wait state 98 from which the state 90 may be entered involving a virtual meeting room associated with servers and conference participants. A terminate state 100 in which the virtual meeting room and its contents are completely erased from storage in the network 10 may be entered into by the meeting room server 48 from any of the other states shown in FIG. 4 in response to a command from a preselected conversation manager. 
     FIG. 5 is a state diagram representing the operation of a conversation manager in a multimedia workstation with respect to a single virtual meeting room. Additional state diagrams like the one in FIG. 5 may represent the operation of that conversation manager with respect to other virtual meeting rooms with which that manager is associated. As in the case of FIG. 4, the state diagram of FIG. 5 is composed of representations of the states in which the conversation manager may reside along with the allowed transitions between those states. Table II is a complete listing of the allowed transitions, referred to as &#34;edges&#34;, including an identification of that which triggers a transition between states along with the action which takes place as a result of the trigger. 
     For purposes of this description, it is assumed that a user of workstation 12 desires to call a user of workstation 14. The operation of a conversation manager begins in a ground state 102 prior to a command from a user of the workstation to create a virtual meeting room in the network 10. When a user of the workstation 12 desires to communicate with someone else, for example, a user of workstation 14, he or she enters a request into the user interface of the workstation 12. This can be same as or analogous to a calling party dialing the telephone number of a called party to initiate a telephone call between the parties. The user desiring to be connected with another workstation user may manually select which media will be used to effectuate a conference. Alternatively, information about which media are to be used may be stored somewhere between the two workstation users for use in automatically configuring an appropriate connection between the users. Once the initiating user of workstation 12 has indicated a desire to set up a connection to another user, the conversation manager 28 enters a waiting state 104 during which the conversation manager 28 waits for the meeting room server 48 to create an appropriate virtual meeting room in the network 10. When the conversation manager 28 is notified that the virtual meeting room has been established, the conversation manager 28 then enters a wait state 106 during which the conversation manager awaits an indication that the meeting room server 48 has associated appropriate media servers with the virtual meeting room it has just created. Whenever servers are added to a virtual meeting room, the conversation manager 28 also organizes local resources in the workstation 12 to interface appropriately with each of the media servers associated with the virtual meeting room created by the meeting room server 48. When all of the appropriate media servers have been associated with the virtual meeting room, the conversation manager 28 enters a state 108 designated room with servers. While the conversation manager 28 is in state 108, additional servers may be added to the meeting room by making a transition from state 108 to state 112 and back. Also, servers may be dropped from the meeting room while in state 108 by making a transition from state 108 to state 110 and back. Whenever servers are dropped from a meeting room, the conversation manager 28 also deallocates corresponding local resources from the conference. 
     When the conversation manager 28 is in state 108, a meeting may be created in the virtual meeting room. The conversation manager 28 makes a transition from state 108 to state 114 during which the conversation manager waits for a meeting to be created. Alternatively, the conversation manager 28 may reach state 114 via a state 150 which does not involve the association of a meeting room with servers. Servers also may be added to the virtual meeting room created along the path through state 150 when the conversation manager reaches a meeting-in-progress state 122 to be described below. This state is similar to the state 104 described above. 
     Creation of a meeting in the virtual meeting room may be the creation of some identification for the meeting in the meeting room. When the meeting has been created in the virtual meeting room, the conversation manager 28 then makes a transition from state 114 to a state 116 during which the conversation manager 28 requests the meeting room server 48 to give it information about the person the user of the workstation is trying to contact, for example, the location of the user. When this information has been obtained, the conversation manager 28 makes a transition from state 116 to state 118 during which it waits for a message to be sent to the person to be contacted and a return message from that person that he or she wishes to meet with the user of the workstation 12. When the return message is received that the called party wishes to meet with the calling party, the conversation manager 28 sends a message to the meeting room server 48 to add the called party identification to the virtual meeting room. The conversation manager 28 awaits confirmation of this in state 120. When such confirmation is received, the conversation manger 28 makes a transition from state 120 to a meeting-in-progress state 122 during which the two workstation users are connected together and may communicate with one another in the selected media. 
     What has been described above is a situation where the user of workstation 12 has initiated a connection with the user of workstation 14. In an alternative situation, where the user of workstation 14 has initiated a connection with the user of workstation 12, the conversation manager 28 makes a transition from the ground state 102 to a state 124 in which the user of workstation 12 is invited to participate in a multimedia conference with the user of workstation 14. The conversation manager 28 awaits acceptance in state 124 of such an invitation by the user of workstation 12. When the invitation has been accepted by the user of workstation 12, the conversation manager 28 makes a transition from state 124 to a wait state 126 where it waits for confirmation that the workstation 12 has been added to a conference, after which the conversation manager 28 makes a transition from state 126 to state 122. 
     While a meeting is in progress and the conversation manager 28 is in state 122, additional meeting participants may be added to the conference by way of transitions between states 122, 128, 130, and 132 shown in FIG. 5. Participants may be dropped by way of transitions made between states 122 and 134 as shown in FIG. 5. Servers may be added by way of transitions between states 122 and 136 as shown in FIG. 5. Servers may also be dropped by way of transitions between states 122 and 138 as shown in FIG. 5. 
     Any of the participants in a conference may temporarily leave a conference by placing him or herself on hold where a conversation manager, such as the conversation manager 28, enters a state 140. When a participant on hold wishes to return to the conference, the conversation manager 28 makes a transition from state 140 to state 142 and then to state 122 if the participant on hold is granted permission to re-enter the conference. 
     One or more of the conference participants, such as the user of workstation 12, may entirely suspend the meeting whereby all participants may be placed on hold or even actually disconnected from the network 10. However, the virtual meeting room and some or all of its associated data, may persist in the network so that the meeting may be resumed at the place it was suspended. Also, storage capabilities of the media servers to be described below permit some or all of the history of the conference to be reviewed by those who are returning to the conference after the suspension. When a meeting is suspended, the conversation manager 28 makes a transition from state 122 to state 144 and then to a state 146. In resuming a meeting, the conversation manager 28 makes a transition from state 146 to a state 148 after which the conversation manager returns to the state 122. 
     When the conversation manager is in the ground state 102, a user of the workstation 12 may inquire about the nature of the resources available in a virtual meeting room already existing in the network 10. The conversation manager makes a transition from state 102 to state 152 and the conversation manager organizes appropriate local resources to interface with the resources in the virtual meeting room. Once this has been accomplished, the conversation manager 28 then makes a transition from state 152 to state 114 and continues to operate in the manner described above in state 114 and beyond. 
     When the conversation manager 28 is in the ground state 102, a user of the workstation 12 also may seek to enter an existing meeting which is presently going on. The user so indicates his or her desire to enter this existing meeting and the conversation manager 28 makes a transition from state 102 to state 154. In effect, the network is queried about the meeting and one of the existing meeting participants is asked to send an invitation to the user to join the meeting. When this indication is forthcoming, the conversation manager 28 then makes a transition from state 154 to state 124 and the operation of the conversation manager continues as described above. In a situation where the user of workstation 12 is already a participant in an ongoing meeting and the conversation manager 28 is in state 122, a request by another workstation user not already part of the conference made to the user of workstation 12 causes the conversation manager 28 to make a transition from state 122 to a state 156. If the user of workstation 12 sends an invitation to the newcomer, the conversation manager 28 then makes a transition from state 156 to state 130 and then back to state 122. If the user of workstation 12 refuses to invite the newcomer, the conversation manager 28 makes a transition from state 156 directly back to state 122. 
     As shown in FIG. 5, a terminate state 158 may be entered by the conversation manager 28 from selected ones of the other states shown in FIG. 5. The terminate state 158 may be viewed as the equivalent of the ground state 102. 
     FIG. 6 is a schematic diagram of one of the media servers shown in FIG. 1. All of the media servers may use this architecture. The media server comprises a media bridge 160 which serves to receive the respective media outputs from each conference participant. The media bridge 160 combines selected media outputs from the conference participants and directs that combination back to selected conference participants. A controller 162 manages the combination of the conferee outputs and direction of those outputs back to the conferees. In the case of an audio server, the media bridge can be any teleconferencing bridge which receives the audio outputs of each conference participant and controllably directs selected ones of those audio outputs to each of the participants. In the case of data server, the media bridge can be any data bridge, such as a windows bridge or an X windows data bridge, which receives data outputs from the conference participants and directs selected ones of those data outputs to each of the participants. Similarly, in the case of a video server, any video bridge may be used as the media bridge 160 for receiving the video outputs from the conference participants and directing selected ones of the video outputs to each of the participants. The media bridge 160 may be connected to a storage device 164 located in the network which serves to store information about various aspects of a conference in a virtual meeting room. For example, the storage device 164 may store certain video information about the conference, such as a video recording of selected parts of the conference, where the media bridge 160 is a video bridge. It may also store certain information related to computer programs which have been shared by conference participants, for example, the state of the executable program in the case where the media bridge is a data bridge. It may also store an audio recording of some or all of the conference when the media bridge is an audio bridge. The media bridge 160 may also be connected to a similar storage device 166 which is located outside the network 10. 
     Appendix 1 is an illustrative protocol for the multimedia network 10. Appendices 2 and 3 are computer program listings representing illustrative implementations of a meeting room server and a conversation manager described more generally above. The listings are written in the generally known C++ computer language. The programs may be compiled and executed on Sun Microsystems workstations running the well known UNIX® operating system. These computer programs are copyrighted programs owned by the American Telephone &amp; Telegraph Co. (© 1993 American Telephone &amp; Telegraph Co.) and are not to be copied except in connection with making paper copies of this patent. ##SPC1##