Method of transferring data at adjustable levels of priorities to provide optimum response to user demands
First Claim
1. A method of transmitting a plurality of frames of data from a host computer to a plurality of remote computers via a plurality of communication links, said plurality of frames of data being stored in queues, each of the queues having a queue control block associated with each of the communication links, the plurality of queue control blocks associated with each communication link being placed in a public QCB list corresponding to the particular communication link, wherein the queue control block contains at least a pointer to the queue and a pointer to the next data position for transmission by the communication link, and wherein each of the communication links has an associated current-queue-pointer, comprising the steps of:
- a) setting the current-queue-pointer to point to a queue control block in the public QCB list of the particular communication link, the queue being pointed to by said queue control block containing a frame of data;
b) setting the current-queue-pointer to point to a queue control block from the background QCB list of the particular communication link and removing said queue control block now pointed to by the current-queue-pointer from the background QCB list, if the particular communication link is available for transmission of data, if the queue being pointed to by the current-queue-pointer is empty, and if the background QCB list for the particular communication link is not empty;
c) setting the current-queue-pointer to point to a queue control block from the public QCB list and removing said queue control block now pointed to by the current-queue-pointer from the public QCB list, if the particular communication link is available for transmission of data, if the queue being pointed to by the current-queue-pointer is empty, and if the public QCB list is not empty;
d) extracting a data packet from the queue being pointed to by the queue control block being pointed to by the current-queue-pointer and transmitting said data packet to the remote computer connected via the particular communication link, if the particular communication link is available for transmission of data, and if the queue being pointed to by the current-queue-pointer is not empty;
e) if the user requests a specific frame of data, placing the queue control block being pointed to by said current-queue-pointer at a first location within a particular QCB list and setting the current-queue-pointer to point to the queue control block pointing to the queue storing said specific frame of data;
f) if the user creates a new frame of data, placing the new frame of data into a queue, establishing a queue-control block for the queue of the new frame of data, placing the queue control block being pointed to by said current-queue-pointer at a first location within a particular list of QCBs, and setting the current-queue-pointer to the queue control block pointing to the queue storing the new frame of data; and
g) repeating steps b, c, d, e, and f for each communication link until all data in said queues have been transmitted to said plurality of remote computers via said plurality of communication links.
7 Assignments
0 Petitions
Accused Products
Abstract
A method for organizing frames of data into queues for prioritized transmission is disclosed. Frames in queues can be transmitted to the other computer systems, and the priority of transfer is set according to the type of data. The frame currently being viewed is provided with a high priority. If the user changes frame before the first frame of data has been completely transmitted, the transmission of the first frame will be suspended and the second frame of data will begin transfer even though the information in the first frame has not been completely transferred. When the transmission of the second frame of data has been completed and if there are no other interruptions, the transmission of the first frame of data will resume. If the user switches back to the first frame of data before the transmission of the second frame is completed, the transmission of the second frame will be suspended and placed in a different priority queue. The first frame of data will resume transmission because it is now assigned to a higher priority.
-
Citations
27 Claims
-
1. A method of transmitting a plurality of frames of data from a host computer to a plurality of remote computers via a plurality of communication links, said plurality of frames of data being stored in queues, each of the queues having a queue control block associated with each of the communication links, the plurality of queue control blocks associated with each communication link being placed in a public QCB list corresponding to the particular communication link, wherein the queue control block contains at least a pointer to the queue and a pointer to the next data position for transmission by the communication link, and wherein each of the communication links has an associated current-queue-pointer, comprising the steps of:
-
a) setting the current-queue-pointer to point to a queue control block in the public QCB list of the particular communication link, the queue being pointed to by said queue control block containing a frame of data; b) setting the current-queue-pointer to point to a queue control block from the background QCB list of the particular communication link and removing said queue control block now pointed to by the current-queue-pointer from the background QCB list, if the particular communication link is available for transmission of data, if the queue being pointed to by the current-queue-pointer is empty, and if the background QCB list for the particular communication link is not empty; c) setting the current-queue-pointer to point to a queue control block from the public QCB list and removing said queue control block now pointed to by the current-queue-pointer from the public QCB list, if the particular communication link is available for transmission of data, if the queue being pointed to by the current-queue-pointer is empty, and if the public QCB list is not empty; d) extracting a data packet from the queue being pointed to by the queue control block being pointed to by the current-queue-pointer and transmitting said data packet to the remote computer connected via the particular communication link, if the particular communication link is available for transmission of data, and if the queue being pointed to by the current-queue-pointer is not empty; e) if the user requests a specific frame of data, placing the queue control block being pointed to by said current-queue-pointer at a first location within a particular QCB list and setting the current-queue-pointer to point to the queue control block pointing to the queue storing said specific frame of data; f) if the user creates a new frame of data, placing the new frame of data into a queue, establishing a queue-control block for the queue of the new frame of data, placing the queue control block being pointed to by said current-queue-pointer at a first location within a particular list of QCBs, and setting the current-queue-pointer to the queue control block pointing to the queue storing the new frame of data; and g) repeating steps b, c, d, e, and f for each communication link until all data in said queues have been transmitted to said plurality of remote computers via said plurality of communication links. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for use in a teleconferencing system providing an environment in a host computer whereby multiple computers at different sites can be electronically and communicatively linked to pass data among said multiple computers, the system including means for establishing a plurality of communication links between the host computer and a plurality of remote computers, user-interface means responsive to user commands for loading previously created frames of data for transmission to a remote computer and for allowing user creation of new frames of data, means for transmitting said frames of data from the host computer to at least one of the plurality of remote computers via the plurality of communication links, and control means for controlling said transmitting means, the control means storing said plurality of frames of data in queues, each of the queues having a queue control block associated with each of the communication links, the plurality of queue control blocks associated with each communication link being placed in a public QCB list corresponding to the particular communication link, and wherein each queue control block contains at least a pointer to the queue and a pointer to the next data position for transmission, and wherein each of the communication links has an associated current-queue-pointer, wherein for each of the communication links the control means implements the steps of:
-
a) setting the current-queue-pointer to point to a queue control block in the public QCB list of the particular communication link, the queue being pointed to by said queue control block containing a frame of data; b) setting the current-queue-pointer to point to a queue control block from the background QCB list for the particular communication link and removing said queue control block now pointed to by the current-queue-pointer from the background QCB list, if the particular communication link is available for transmission of data, if the queue being pointed to by the current-queue-pointer is empty, and if the background QCB list of the particular communication link is not empty; c) setting the current-queue-pointer to point to a queue control block from the public QCB list and removing said queue control block now pointed to by the current-queue-pointer from the public QCB list, if the particular communication link is available for transmission of data, if the queue being pointed to by the current-queue-pointer is empty, and if the public QCB list is not empty; d) extracting a data packet from the queue being pointed to by the queue control block being pointed to by the current-queue-pointer and transmitting said data packet to the remote computer connected via the particular communication link, if the particular communication link is available for transmission of data, and if the queue being pointed to by the current-queue-pointer is not empty; e) if the user requests a specific frame of data, placing the queue control block being pointed to by said current-queue-pointer at a first location within a particular QCB list and setting the current-queue-pointer to point to the queue control block pointing to the queue storing said specific frame of data; f) if the user creates a new frame of data, placing the new frame of data into a queue, establishing a queue-control block of the queue for the new frame of data, placing the queue control block being pointed to by said current-queue-pointer at a first location within a particular list of QCBs, and setting the current-queue-pointer to the queue control block pointing to the queue storing the new frame of data; and g) repeating steps b, c, d, e, and f for each communication link until all data in said queues have been transmitted to said plurality of remote computers via said plurality of communication links. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system including and executing one or more programs for transmitting a plurality of frames of data from a host computer to a plurality of remote computers via a plurality of communication links, said plurality of frames of data being stored in queues, each of the queues having a queue control block associated with each of the communication links, the plurality of queue control blocks being placed in each public QCB list corresponding to the particular communication link, wherein each queue control block contains at least a pointer to the queue and a pointer to the next data position for transmission, and wherein each of the communication links has an associated current-queue-pointer, said computer system comprising:
-
a) means setting a current-queue-pointer to point to a queue control block in the public QCB list corresponding to a particular communication link, the queue being pointed to by said queue control block containing a frame of data; b) means testing whether or not the particular communication link is available for transmission of data, if the communication link is available for transmission of data, and (i) if the queue being pointed to by the current-queue-pointer is empty and if a background QCB list for the particular communication link is not empty, the current-queue-pointer is set to point to a queue control block from the background QCB list, and said queue control block now pointed to by the current-queue-pointer is removed from the background QCB list, (ii) if the queue being pointed to by the current-queue-pointer is empty and if the public QCB list is not empty, the current-queue-pointer is set to point to a queue control block from the public QCB list, and said queue control block now pointed to by the current-queue-pointer is removed from the public QCB list, and (iii) if the queue being pointed to by the current-queue-pointer is not empty, a data packet is extracted from the queue being pointed to by the queue control block being pointed to by the current-queue-pointer and said data packet is transmitted to the remote computer connected via the particular communication link; c) means testing whether or not the user has requested a specific frame of data, if the user has requested a particular frame of data, (i) the queue control block being pointed to by said current-queue-pointer is placed at a first location within a particular QCB list, and (ii) the current-queue-pointer is set to point to the queue control block pointing to the queue storing said specific frame of data; d) means testing whether or not the user has created a new frame of data, if the user has created a new frame of data, (i) the new frame of data is placed into a queue, and a queue-control-block is established associating with each of said plurality of communication links for the queue for the new frame of data, (ii) the queue control block being pointed to by said current-queue-pointer is placed at a first location within a particular list of QCBs, and (iii) the current-queue-pointer is set to the queue control block pointing to the queue storing the new frame of data. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification