METHODS AND PROGRAM PRODUCTS FOR ORGANIZING VIRTUAL MEETINGS
A method for organizing a virtual meeting includes steps of creating a meeting file, the meeting file including at least a meeting date, a meeting start time, a meeting duration time, and a meeting code. The meeting file is stored on a memory accessible to the network, and at least one attendee is specified. A step of communicating a meeting invitation to the at least one attendee is also performed, with the invitation including at least the meeting date, meeting start time, meeting code, and a meeting entry portal. Methods and systems of the invention may be embodied in computers and computer program products.
Latest Insors Integrated Communications Patents:
- Methods, systems and program products for connecting users to operating nodes
- Moderator methods, systems and program products for managing video conferences
- Adaptive video communication channel
- Methods, systems and program products for efficient communication of data between conference servers
- MODERATOR METHODS, SYSTEMS AND PROGRAM PRODUCTS FOR MANAGING VIDEO CONFERENCES
This is a continuation of U.S. patent application Ser. No. 13/314,779 filed Dec. 8, 2011, now U.S. Pat. No. 8,593,994; which is a continuation of U.S. patent application Ser. No. 10/728,408, filed Dec. 5, 2003, now U.S. Pat. No. 8,095,409 issued Jan. 10, 2012; which claims priority under 35 U.S.C. §119 of U.S. Provisional Patent Application No. 60/431,600 filed Dec. 6, 2002.
FIELD OF THE INVENTIONThe present invention is related to methods, program products, and systems for organizing virtual meetings.
BACKGROUND OF THE INVENTIONMethods are known for collaborating and for sharing data over a network. For example, methods are known for conducting so-called “virtual meetings” or video conferences over a network at which multiple participants on different remote computers can share data and interact. Participants may be able to communicate with one another visually and orally, for instance, using cameras and microphones.
A typical procedure for conducting a virtual meeting is to establish a temporary or permanent virtual “space” or “room” on the network into which meeting participants can “enter.” In practice, this may involve allocating a meeting address or similar interface location on the network, and letting users know that address and a time to connect there. The meeting address may be, for example, a numeric string in the case of a packet-based network such as an internet protocol network and/or a port number.
Many meetings may be occurring between different users at different network interfaces and different times. Organizing a particular virtual meeting on the network can be difficult and cumbersome. Once a network interface location is selected, it must be communicated to all of the attendees, along with the time of the meeting. Other information may also need to be sent to all of the attendees. Attendees may need to know what applications, communication protocols, connectivity, bandwidth, and other communication and collaboration standards will be supported.
Security may also be a concern to insure that only those invited to the meeting can connect to it. This may require making sure that invited attendees do not pass along the connection information to other unwanted participants. The bandwidth required to carry the meeting may be required to be known. It will be appreciated that the cost, effort, and time associated with accomplishing these tasks grows steadily with the number of meeting attendees, and that for some meetings that include tens, hundreds, or even thousands of attendees, scheduling and enabling a virtual meeting can be so difficult as to be impractical.
Accordingly, unresolved needs in the art remain.
SUMMARY OF THE INVENTIONAn exemplary method of the present invention is directed to a method for organizing a virtual meeting between a plurality of attendees on a computer network, and includes steps of selecting a meeting date, a meeting start time, meeting duration, and a meeting code, as well as storing the meeting date, meeting start time, meeting duration, and meeting code in a meeting file that is then stored in a memory that is accessible to the network. Steps of specifying at least one meeting attendee and of communicating a meeting invitation to the at least one attendee over the network are further performed. The invitation includes at least the meeting date, the meeting start time, the meeting code, and a meeting entry portal. The method further includes a step of allocating network resources for the meeting, the network resources sufficient to communicate a plurality of real time data streams over the network, the plurality of real time data streams including at least one real time video data streams and at least one real time audio data stream.
Methods and systems of the invention may be embodied in computers and computer program products. For example, an additional exemplary embodiment of the invention is a computer program product for organizing a virtual meeting between a plurality of attendees on a computer network, the program product including computer executable instructions stored on a computer readable medium that when executed cause the computer to receive a meeting code, a meeting date, a meeting start time, and the identity of a plurality of meeting attendees from a user submitted over the network, and to store the meeting code, meeting start time, and identity of the plurality of meeting attendees in a meeting file in a memory accessible from the network. The program instructions further cause the computer to determine the bandwidth required to communicate the meeting to each of said attendees, and to permit each of the plurality of meeting attendees to attend the meeting only if each of the plurality of meeting attendees has bandwidth resources sufficient to participate in the meeting.
Still an additional exemplary embodiment of the invention is directed to a method for determining the bandwidth resources for attendees of a virtual meeting conducted over a network. This exemplary method includes steps of determining what attendees will attend each of a plurality of meetings, determining what linkages each of the attendees is connected to the network with, determining whether any of the linkages are shared linkages that are shared by attendees of different of the plurality of meetings that are occurring at least partially concurrently with one another, and if they are shared linkages determining what bandwidth is available over said shared linkage for each of said attendees of different meetings.
One exemplary embodiment of the present invention is directed to a method and a program product for organizing a virtual meeting on a data network. As used herein, the term “virtual meeting” is intended to broadly refer to a real time audio/visual interaction between attendees not physically present in the same physical space. For example, a virtual meeting may be a video and audio conference between users that are remote from one another. They may be located, for instance, in different rooms in a facility, or in different cities around the world.
In addition to communicating real time data streams to other conference rooms, each of the conference rooms 12 and 14 receives all of the video and audio streams in real-time from all of the other conference rooms 12 and 14. Audio streams played on the speakers 24, and video streams may be projected by one or more projectors 26 to display individual images 28 on a screen 30. An individual image 28 is preferably available from each of the cameras 18 at others of the rooms 12 and 14. Which images 28 are displayed and in what format can be controlled by the computer 22. In this manner, a virtual meeting may be conducted between all of the conference rooms 12 during which individuals 14 can all talk to one another, view one another, and share data in real time.
Other configurations for conference rooms 12 and 14 are also contemplated.
Through methods and program products of the invention, virtual meetings may be organized. The flowchart of
Referring now to the flowchart of
-
- Meeting code
- Meeting Date
- Meeting Start Time
- Meeting Duration
- Meeting Early Join Time
- Meeting Late Join Time
- Meeting Repeat Frequency
- Attendees
- Applications
The Meeting Code is any data useful to identify the meeting. For example, a meeting code may be one or more words (e.g., “alpha product preliminary design meeting”), a random numeric string (e.g., “12232”), a date code (e.g., “12-03-03”), or other identifier. The “Meeting Date” is the date of the meeting, the “Meeting Start Time” is the time at which the meeting is to occur, and the “Meeting Duration” is the expected time that the meeting will last. The “Meeting Early Join Time” is a time period before the start time that attendees can begin checking into the meeting. For example, the early join time may be 15 mins, with the result that attendees could check into the meeting 15 mins or less before the meeting start time, but no earlier. Similarly, the “Meeting Late Join Time” specifies a period after the start time during which attendees can join the meeting. For example, a late join time of 10 mins. would result in attendees being able to check into the meeting up to 10 mins. after the start of the meeting.
The “Meeting Repeat Frequency” determines whether the meeting is a single, one-time meeting or may re-occur. The “Attendees” are the individuals to be invited to the meeting. The attendees may be identified using names, electronic addresses, or by other means that will allow for them to be electronically communicated with. Preferably a network address such as an e-mail address is provided. The “Applications” includes computer program and other applications that will be supported and may be used during the meeting. For example, Microsoft Word, Excel or PowerPoint are examples of applications that may be shared during the meeting.
When practicing a method of the invention in the form of a computer program product, this step (block 30) may be carried out in the form of a graphic user interface (GUI) that prompts users to provide the meeting information. For example,
Returning to
The pass key may be included in the meeting information. With reference to the GUI of
Again returning to
In still another embodiment of the invention, the invitation may be an executable file that upon execution takes all steps necessary to link an attendee to the virtual meeting. For example, the invitation file would launch an application required to participate in the meeting, would connect to the meeting entry portal and would present the passkey. Further, the invitation file can be pre-set to self-execute at the meeting start time.
In the exemplary method of the invention, the next step occurs when the meeting begins. As shown in
If so, it will be determined if the requestor is one of the attendees identified in the meeting info file (block 48). This may be done by comparing names, electronic addresses, or like identification information. For example, each attendee may be identified in the meeting info file by an IP address for origination of communications. Referring to
If the requestor has passed all of the hurdles presented to this point, he is suitable for entry to the meeting. Through the method of the invention, it will next be determined if network resources have been allocated for the meeting (block 50). If not, they are allocated (block 52). The term “network resources” as used herein is intended to broadly refer to network hardware, software and other resources that are required to support the communications between meeting attendees during the meeting. Preferably, the network resources include at least one or more network interfaces for linking the attendees to one another. The term “network interface” as used herein is intended to be broadly interpreted as meaning a device useful to link electronic communications for different users to one another. It may be, for example, one or more bridges, network cards, computer servers or routers, or the like.
The network interface may have an address such as an IP address and/or a port number at which it can be communicated with. In an exemplary method of the invention, the network interface address is an IP address and ports of a bridge on the network 10 (
If network resources have already been allocated, the requestor is linked from the URL entry portal to the meeting address (block 54). For example, if the requestor is a second or subsequent attendee, then the network resources have presumably been allocated already. Also, in other invention embodiments the meeting address for the meeting may be the entry portal location.
In this manner the exemplary method of the invention only allocates a meeting address at the beginning of the meeting. That is, only when a first attendee requests entry to the meeting is the meeting address allocated. Second and subsequent attendees are then linked to that allocated address. It has been discovered that these preferred steps are advantageous for purposes of allowing meeting addresses to remain freely available until required. When resources are limited, this may be of particular benefit. Also, use of a meeting entry portal that is separate from the meeting address at which the meeting will be conducted has been found to offer benefits and advantages. The meeting entry portal can be constant from meeting to meeting, while the meeting address for the meetings is not required to be.
It will be appreciated that other embodiments of the invention may include other steps regarding the meeting entry portal and of allocating a meeting address at other times. For example, in some circumstances it may be preferable to simply use the meeting address as the meeting entry portal. That is, the meeting entry portal is the same as the meeting address. In these circumstances the invitation would include the meeting address (i.e., the meeting entry portal) for the meeting, and attendees would connect directly thereto. Also, in still other embodiments of the invention, the time at which the meeting address is allocated may be different than that illustrated in
The exemplary method of the invention also includes steps for ending the meeting. In particular, after admitting attendees to the meeting, the method includes a step of checking to see if the meeting duration has expired (block 56). If so, the meeting is ended (block 58). If not, it is determined if the time is after the late join time (block 60). If not, the method returns to block 40 to wait for additional requestors. If it is too late for requestors to be admitted to the meeting, the exemplary method of the invention remains in a loop until the meeting duration time is exceeded, when the meeting is ended (block 58).
In considering the flowchart of
By way of particular example, an additional exemplary method of the invention includes one or more steps of determining the required bandwidth between the network 10 and each conference room 12, 14 to carry the virtual meeting. To determine the total required bandwidth, factors such as the number of conference rooms 12 and 14, the number of data streams being communicated from each conference room 12 and 14, the applications being supported, other meetings being conducted concurrently with the meeting, and the like may be considered.
By way of further example,
The exemplary method of
The method step of block 102 may further include determining whether the linkage is shared by any attendees of other meetings that are occurring concurrently with the meeting of interest. This may be accomplished by referring to a stored master meeting file, or to another stored listing that includes times and attendees of different meetings.
Once the total bandwidth required for the meeting and the bandwidth available to communicate with each attendee have been determined, a decision is made as to whether a particular attendee has sufficient bandwidth to be admitted to the meeting (block 104). If the attendee has sufficient bandwidth, he is admitted (block 106); if not admission is denied (block 108). In another invention embodiment, denying admission to the meeting may be replaced by a step of directing the particular attendee to a lower bandwidth linkage to the meeting. For example, the attendee may be directed or automatically linked to network interface that is only carrying a subset of the overall data streams communicated during the meeting.
Referring once again to the flow chart of
Other variations and alternate steps of the method of the invention will likewise be apparent to those knowledgeable in the art, and will be understood to be within the scope of the invention. Those knowledgeable in the art will appreciate that description of invention embodiments made herein are by way of example only. For example, although an invention embodiment has been illustrated with only a relatively small number of conference rooms 12 and 14, it will be appreciated that there is no practical limit to the number of conference rooms that the invention may be practiced with. Also, the particular configuration of the conference rooms illustrated is exemplary only. For example, they are meant only to represent the physical location and electronic connectivity of attendees. They may be, for example, a motel room with a camera equipped laptop for a traveling salesman attendee, or may be a camera equipped wireless phone in an attendee's hand.
Embodiments of the present invention thereby provide elegant and beneficial solutions to problems of the prior art. For example, methods and program products are provided for the convenient, automated, and efficient organization of virtual meetings.
Claims
1. A method for organizing a virtual meeting between a plurality of attendees on a computer network, the method comprising:
- selecting a meeting date, a meeting start time, meeting duration, and a meeting code, storing said meeting date, said meeting start time, said meeting duration, and said meeting code in a meeting file;
- storing said meeting file in a memory accessible to the network;
- communicating a meeting invitation to the plurality of attendees over the network, said invitation including at least said meeting date, said meeting start time, said meeting code, and a meeting entry portal;
- receiving a request to join the meeting from one or more of the plurality of attendees;
- allocating network resources for said meeting, said network resources including at least one IP address and at least one port for a network interface connected to the network for connecting the plurality of attendees for communication with one another during the meeting, said network resources sufficient to communicate a plurality of real time data streams over the network, said plurality of real time data streams including at least one real time video data stream and at least one real time audio data stream; and
- directing one or more of the plurality of attendees to link to a lower bandwidth linkage to the meeting.
2. The method of claim 1, wherein said directing comprises:
- determining the total required bandwidth for the meeting;
- determining the total available bandwidth of each of the plurality of attendees; and
- directing any of the plurality of attendees that do not have sufficient available bandwidth to link to the lower bandwidth linkage to the meeting.
3. The method of claim 2, wherein the lower bandwidth linkage to the meeting is an interface carrying a subset of said plurality of data streams being communicated during the meeting.
4. The method of claim 2, further including a step of storing said total required bandwidth for the meeting in said meeting file.
5. The method of claim 1, wherein said directing directs one or more of the plurality of attendees to link to a lower bandwidth linkage to the meeting based on supported applications.
6. The method of claim 1, wherein said directing directs one or more of the plurality of attendees to link to a lower bandwidth linkage to the meeting based on a number of said real time data streams being communicated.
7. The method of claim 1, wherein said network resources are allocated after receiving a first request to join said meeting from a first of the plurality of attendees.
8. The method of claim 1, further comprising creating a pass key for entry to said meeting and sending said pass key to said plurality of attendees, said passkey being communicated to the plurality of attendees in a communication separate from said meeting invitation communication.
9. The method of claim 1, wherein said meeting file further includes an early join time before said meeting start time before which the plurality of attendees cannot join the meeting and a late join time after which said plurality of attendees cannot join the meeting;
- and wherein the method further comprises:
- determining, for each received request to join, whether a time the request to join is received is between said early join time and said late join time; and
- denying said request to join when said time the request to join is received is not between said early join time and said late join time
10. A method for organizing a virtual meeting between a plurality of attendees on a computer network, the method comprising:
- selecting a meeting date, a meeting start time, meeting duration, and a meeting code, storing said meeting date, said meeting start time, said meeting duration, and said meeting code in a meeting file;
- storing said meeting file in a memory accessible to the network;
- communicating a meeting invitation to the plurality of attendees over the network, said invitation including at least said meeting date, said meeting start time, said meeting code, and a meeting entry portal;
- receiving a request to join the meeting from one or more of the plurality of attendees;
- allocating network resources for said meeting, said network resources including at least one IP address and at least one port for a network interface connected to the network for connecting the plurality of attendees for communication with one another during the meeting, said network resources sufficient to communicate a plurality of real time data streams over the network, said plurality of real time data streams including at least one real time video data stream and at least one real time audio data stream; and
- directing one or more of the plurality of attendees to a network interface providing a subset of the overall data streams communicated during the meeting.
11. The method of claim 10, wherein each of said plurality of meeting attendees will be streaming a plurality of real time data streams to the meeting, and wherein the method further includes the step of determining the bandwidth required for each of said plurality of real time data streams.
12. The method of claim 11, further comprising determining the total available bandwidth of each of the plurality of attendees, and wherein said directing directs any of the plurality of attendees that do not have sufficient available bandwidth to link to the network interface providing a subset of the overall data streams.
13. The method of claim 10, wherein said directing comprises:
- determining an application used by each of said plurality of attendees; and
- directing one or more of the plurality of attendees to a network interface providing a subset of the overall data streams on the basis of the application used.
14. The method of claim 10, further comprising:
- storing, for each of the plurality of meeting attendees, identification information associated with the attendee in said memory;
- in response to receiving the request to join, comparing identification information of the request to join with said identification information stored in said memory; and
- denying the request to join if the identification information of the request to join does not match identification information stored in said memory.
15. The method of claim 10, wherein said network resources are allocated after receiving a first request to join said meeting from a first of the plurality of attendees.
16. The method of claim 15, wherein said allocating further includes allocating a meeting address, the meeting address being distinct from the meeting entry portal, and wherein the plurality of attendees are linked to the meeting address in response to receiving the one or more requests to join.
17. A method for determining the bandwidth resources for attendees of a virtual meeting conducted over a computer network, the method comprising:
- determining what attendees will attend at least a first meeting and a second meeting, wherein said first meeting and said second meeting are different from one another and occur at least partially concurrently;
- determining what linkages each of said attendees of each of said at least a first meeting and a second meeting is connected to the network with; and
- determining whether any of said linkages are shared linkages that are shared by both attendees of said first meeting and attendees of said second meeting, and if they are shared linkages determining what bandwidth is available over said shared linkage for each of said attendees.
18. The method of claim 17, further comprising determining the total required bandwidth for the meeting, and directing any of the attendees using a shared linkage that does not have sufficient available bandwidth to link to the lower bandwidth linkage to the meeting.
19. The method of claim 18, wherein the lower bandwidth linkage to the meeting is an interface carrying a subset of said plurality of data streams being communicated during the meeting.
20. The method of claim 17 further comprising denying entry to the meeting for any attendee using a shared linkage that does not have sufficient available bandwidth to link to the lower bandwidth linkage to the meeting.
Type: Application
Filed: Oct 24, 2013
Publication Date: May 1, 2014
Applicant: Insors Integrated Communications (Chicago, IL)
Inventor: Jon N. Swanson (Queensbury, NY)
Application Number: 14/062,588
International Classification: H04L 29/06 (20060101);