1. Field of the Invention
This invention relates to a method of transferring data between computer systems with specific application in teleconferencing software programs. More particularly, it involves a method for transferring large amounts of data among interconnected computer systems according to the designated priority of the data, and for allowing the priority of the data to be changed before the data is completely transferred to a remote computer and for causing the remaining data to be subsequently transferred according to its new priority.
2. Brief Description of the Prior Art
Whenever two or more people are involved in the preparation of a document, whether it be a financial spread sheet, a CAD design, a circuit schematic layout, an organization report, a bit map image, etc., succeeding drafts of the document are prepared, circulated, and modified in the process. Each person annotates his or her remarks on the document and forwards it to the next person. Typically, several drafts of the document will be circulated before a final draft is produced. This is a very time consuming process.
In the case where a person involved in the document preparation process is at a different geographical location, getting the document from one location to another location and back becomes another tedious and time-consuming task. The document will either have to be mailed or faxed to that person, further complicating the entire process.
One standard method of alleviating this process is to hold meetings where everyone gathers and comments on the document with the hope of reducing the number of drafts needed before a final draft is produced. The shortcoming of this method is that there may be significant travel time and travel cost in getting all of the people to the same location. In addition, the final draft of the document is usually again circulated for final comments.
One solution to this problem is to use a teleconferencing software program, an aspect of which may contain an embodiment of the present invention. By using computer network connections or modem connected phone lines, everyone can be connected via his or her computer. By using the teleconferencing software program, everyone's computer screen displays the same data. In addition to using the software program and network or modem connections, conference calling over the voice phone lines or through the software program creates a dynamic and live atmosphere where everyone can participate in the discussion and refer to the document displayed on the screen.
A very important capability of such teleconferencing software must be the ability to allow transfer of data from one computer user to other computer users. For example, in making a presentation using a number of frames of prepared graphs, charts, outlines, etc., each frame of data that is used must be quickly transferred to other users in the conference in order to have a common reference point for simultaneous discussion of the data presented. In addition, the presenter in the presentation may wish to skip among several frames of data or skip a few frames of data entirely. The teleconferencing software must allow this type of flexibility and still maintain a high efficiency in transferring data. At the same time, each frame of data must be organized in a manner that allows quick access by the users.
Additionally, the presenter may wish to transmit a private message to one particular user. The teleconferencing software will have to be able to distinguish between data for all interconnected computer systems (public data), and data for a particular user (private data), and properly transfer the data to the designated user or users.
Another problem in teleconferencing software is that the presenter may scroll through frames of data without allowing adequate time for the data to be transferred to all the computer systems. The presenter will eventually display one frame of data for discussion. At this time, this frame of data has the highest priority and must be immediately transferred to all other computer systems even though there may be several preceding frames of data that have not been completely transferred.
Nevertheless, all public frames of data scrolled through or loaded for the presentation must be transferred to all the connected users, because the presenter may eventually go back to previous frames of data in making his or her presentation. Thus, it is important to have the ability to organize the different frames of data and transfer the frames of data currently being used first, while establishing a system where other frames of data can be prioritized and transferred.
Another problem the present invention must deal with is the problem of transferring data between interconnected computer systems. The computer systems may be interconnected via modem, network, cellular links, or any other available connections. In connecting computer systems or nodes to computer systems, one computer may not be directly connected to all other computers involved in the teleconference. For example, referring to FIG. 1, there are four computer systems involved in this session of teleconferencing: computer A (10), computer B (12), computer C (14), and computer D (16). Computer A is only connected to computer B, computer B is connected to computer A and computer C, computer C is connected to computer B and computer D, and computer D is only connected to computer C. Computer A is connected to computer D only through computer B and computer C. In order for computer A to transfer data to computer D, the data must pass through computer B and computer C. Thus, if the user at computer A is making a presentation by using frames of data, these frames of data must travel through computer B and computer C to reach computer D. However, the data has to be transferred in such a manner so that there will not be a significant time lag between the time computer B receives the data, computer C receives the data, and computer D receives the data, so that all the users can follow the discussion or presentation in real-time or near real-time.