Data transmission method and apparatus

Abstract: A network of transmission/reception apparatuses wherein each transmission/reception apparatus calculates and holds a data transmission processing time of each transmission/reception apparatus, a transfer time of data, and a reception processing time of the data on the basis of past data transmission/reception information. A transmission request sequence for a plurality of data in a first transmission/reception apparatus is rearranged, in response to a transmission request for specific data from a first transmission/reception apparatus to a second transmission/reception apparatus, on the basis of a difference between a request timing at which the specific data is required by the second transmission/reception apparatus and a sum of: 1) a reception processing time of the second transmission/reception apparatus, held in the first transmission reception apparatus, 2) a transfer time required for data transfer from the first transmission/reception apparatus to the second transmission/reception apparatus and held in the first transmission/reception apparatus, and 3) a current timing, thereby determining a transmission processing sequence.

Description: The present invention relates to a data transmission method and apparatus. As the power of local processors increases, local area network (LAN) technology has been utilized to interconnect such processors in extremely powerful networks. LANs have been employed to pass information within an office or to control automated factories. When data must be supplied in a timely manner, a token passing scheme has commonly been employed within the LAN. In this scheme, each transmission control station acquires a transmission right within a predictable predetermined period of time to be allowed to perform data transmission. The token passing LAN has commonly been implemented either as a bus type LAN defined by ISO 88024 or IEEE 802.4 standard or a ring type LAN defined by ISO 9314 or ANSI X3T9.5 standard. In the token passing scheme, a frame called a token is transmitted/received among nodes so that a transmission right is sequentially transferred to the respective nodes. That is, a plurality of nodes do not acquire the transmission right at the same time. Upon receiving the token, a given node transmits data within a preset period of time. Therefore, each node can calculate the maximum time will to wait until its station can transmit data on the basis of the total number of nodes and a preset wait time of each node. Every node can transmit data without fail according to a transmission sequence. As a result, deterministic media access control can be performed. Each node stores the address of a succeeding node (succeeding station) to which its station is to transfer the token, and the address of a preceding node (preceding station) from which the token has been transferred to its station. The token is sequentially transferred to the respective nodes as if the nodes were connected to each other, thus forming a logical ring. Therefore, in the token passing scheme, various types of LAN configurations such as bus, ring and star network configurations can be employed. Furthermore, the token passing scheme has a priority processing function of assigning data (to be transmitted) to normally four types of access classes according to their transmission priorities, designated access classes 6, 4, 2, and 0. Access class 6 has the highest priority, and the priorities of access classes 4, 2, and 0 decrease in this order. Data waiting for transmission can be classified into four types of queues. Transmission of access class 6 data can be performed at any time within a token holding time defined by the token passing protocol. That is, class 6 data can be transmitted any time a node has the token. Transmission of access classes 4, 2, and 0 data can be performed during a time interval between the instant at which a token is received and the instant at which the target token rotation timer of each access class has elapsed. When the token is received by each class within a node, the target token rotation timer for that class begins measuring the length of time until the token returns. The target token rotation timer elapses when a maximum period of time has passed for the token to make a complete circuit of the ring. That is, each target token rotation time value is determined on the basis of the time it takes for the token to rotate through the logical ring. More specifically, when a given node receives the token, a queue with access class 6 is serviced and corresponding data is transmitted. If no data needs to be transmitted or all class 6 data has been transmitted and the token holding time has not expired, the token is transferred to a lower access class within the node. At lower access classes 4, 2, or 0, if the token returns within the target token rotation time for that class, data with a corresponding access class can be transmitted until the corresponding target token rotation time elapses. If the token returns after the target token rotation time has elapsed, data with a corresponding access class cannot be transmitted even if the token is received. In this case, the token is transferred to a lower access class or a succeeding node. More specifically, each access class operates like a virtual sub-station in each node. After the token is passed among all the access classes in each node, from the access class having the highest priority to the access class having the lowest priority, it is transferred to a succeeding station. An algorithm for servicing access classes is performed using the token holding timer for the node, a temporary token holding timer which is used by each class and the target token rotation timer for each class. More specifically, when the token passes to an access class within a node, any time remaining in the target token rotation timer for that class is transferred to the temporary token holding timer. Then, the target token rotation time for that class is reset. Data from that class can then be transmitted until the time in the temporary token holding timer expires (or until the token holding timer for the node expires). In this case, transmission from a given class influences the next token rotation time of that class. If time remains in the temporary token holding timer, data can be transmitted for that class until the temporary token holding timer causes time out or all data for that class has been transmitted. If the temporary token holding timer causes time out or all data for that class has been transmitted, a service of the next access class is started. When a service of an access class of the lowest level is completed, the token is transferred to the succeeding node. In the token passing scheme defined by the ISO 88024 (IEEE 802.4) standard or the ISO 9314 (ANSI X3T9.5 FDDI) standard, each transmission control station measures a token rotation time by using an internal timer, and determines a busy state of a transmission path by comparing the measured time with a preset predictive time. If it is determined that the transmission path is not busy, data frames are transmitted in accordance with priorities of each transmission control station. In transmission/reception processing at transmission apparatuses on the token passing LAN, data waiting for transmission are arranged in a transmission queue in an order in which transmission requests are received, and are sequentially processed for transmission in the same order. The data are then rearranged in the transmission queue in accordance with access classes and are sent to the transmission path by the above-described media access control in order. When the data are to be received and processed, the data are arranged into a reception queue in an order in which they are received, and are processed in order. In this case, the transmission/reception processing includes conversion/inverse-conversion between the format of data received from, e.g., a host unit and a common format of a transmission system. Examples of such conversions include addition and deletion processing of control information and identification information required to constitute a data frame and control a transmission sequence, as well as error information for guaranteeing accurate transmission, start and end processing of a monitor sequence for monitoring a transmission sequence, buffer ensuring and releasing processing for transmission/reception data frames, sequence start and end processing for ensuring, maintaining and cancelling logical connection with a station at the transmitting/receiving end, and the like. Note that transmission processing and reception processing are not preferentially performed according to the order in which data is needed at another location on the LAN. If, therefore, a large number of transmission requests having low urgencies are generated, data having high priorities cannot always be transmitted within the periods of time in which the data is needed. Furthermore, in the above token passing scheme, media access control is distributed in all transmission control stations. Each transmission station determines for itself whether the transmission path is busy. If it is not busy, data frames are transmitted according to their priorities among the other data frames to be transmitted at each transmission control station. In other words, each transmission control station transmits data according to priority levels within that station, without knowing how the timing in which data of a given transmission request is needed compares to the timing in which data of other transmission requests is needed elsewhere in the system. For example, US-4404557 discloses a system in which messages are classified into different priorities depending on the type of message. Therefore, even data having a high urgency in the overall system may be transmitted after other data having lower priorities. The present invention has been made in consideration of the above situation, and has as its object to provide a data transmission method and apparatus which preferentially performs transmission/reception processing with respect to transmission/reception requests within each node for data needed most soon, and can preferentially transmit data needed most soon as compared to other data to be transmitted over the entire system. In order to achieve the above object, in the present invention which is defined in claims 1 and 9, the order is determined in which data associated with transmission/reception requests must be processed so as to be available when needed. Then, the transmission/reception requests are rearranged in that order. Transmission/reception processing is performed on the transmission/reception requests in the rearranged order. When determining the order of the requests, the order in which data of transmission requests must be sent so as to be received when needed may be taken into consideration. When the order is being determined, either the absolute time at which data is needed or the period until data is needed may be utilized to determine the order. Not only may the present invention be employed at a station level, but it may also be employed on a system level. That is, the urgency of a transmission request at a given station may be compared with the urgency of transmission requests at other stations. Then, data is transmitted corresponding to the transmission request of the given station when the urgency of the transmission request of the given station is higher than the urgency of the transmission request at the remaining stations. Of course, the present invention may be practiced at both the station level and the network level at the same time. This invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which: FIGURE 1 is a block diagram showing a system arrangement for explaining the basic concept of the present invention; FIGURE 2 is a view for explaining the basic concept of a transmission stack according to the present invention; FIGURE 3 is a view for explaining procedures for rearranging a transmission queue according to urgencies in transmission processing according to the present invention; FIGURE 4 is a view for explaining determination processing of urgencies in transmission according to the present invention; FIGURE 5 is a view for explaining procedures for rearranging a reception queue according to urgencies in reception processing according to the present invention; FIGURES 6A and 6B are flow charts for explaining the basic concept of the present invention; FIGURE 7 is a block diagram showing an arrangement of a data transmission system according to the present invention; FIGURE 8 is a block diagram showing a transmission apparatus constituting a data transmission system according to the first embodiment of the present invention; FIGURE 9 is a view showing a buffer for storing transmission data DT1(j) in the first embodiment; FIGURE 10 is a view showing a control block CB1(j) in the first embodiment; FIGURE 11 is a view showing a data frame D1(j) in the first embodiment; FIGURE 12 is a view showing a transmission frame control block TCB1(j) in the first embodiment; FIGURE 13 is a view showing a transmission queue S1 in the first embodiment; FIGURE 14 is a view showing a transmission queue control word in the first embodiment; FIGURE 15 is a view showing a transmission/reception processing time table in the first embodiment; FIGURE 16 is a view showing a reception frame control block RCB1 in the first embodiment; FIGURE 17 is a view showing a reception queue R1 in the first embodiment; FIGURE 18 is a view showing a reception queue control word in the first embodiment; FIGURE 19 is a flow chart showing transmission request interrupt processing in the first embodiment; FIGURE 20 is a flow chart showing processing upon completion of transmission processing in the first embodiment; FIGURE 21 is a flow chart showing data frame transmission start interrupt signal processing in the first embodiment; FIGURE 22 is a flow chart showing data frame transmission completion interrupt signal processing in the first embodiment; FIGURE 23 is a flow chart showing data frame normal reception completion interrupt signal processing in the first embodiment; FIGURE 24 is a flow chart showing processing upon completion reception processing in the first embodiment; FIGURE 25 is a flow chart showing completion verification frame reception processing in the first embodiment; FIGURE 26 is a view showing a buffer for a transmission data DT1(j) in the second embodiment of the present invention; FIGURE 27 is a view showing a control block CB1(j) in the second embodiment; FIGURE 28 is a view showing a data frame D1(j) in the second embodiment; FIGURE 29 is a view showing a transmission frame control block TCB1(j) in the second embodiment; FIGURE 30 is a view showing a transmission request R1(j) in the second embodiment; FIGURE 31 is a view showing a transmission queue S1 in the second embodiment; FIGURE 32 is a view showing an identifier A2 control block CB2 in the second embodiment; FIGURE 33 is a view showing an identifier A2 information area buffer in the second embodiment; FIGURE 34 is a view showing a media access request frame F1 in the second embodiment; FIGURE 35 is a view showing a transmission frame control block TCB2 in the second embodiment; FIGURE 36 is a view showing a media access request R2(j) in the second embodiment; FIGURE 37 is a view showing a transmission queue S2 in the second embodiment; FIGURE 38 is a flow chart showing processing to be performed when a transmission request is received from a host unit in the second embodiment; FIGURE 39 is a flow chart showing processing to be performed when the media access request frame F1 is received in the second embodiment; and FIGURE 40 is a flow chart showing processing to be performed when a token frame is received in the second embodiment. The basic concept of the present invention will be described below with reference to FIGURES 1 to 6 prior to a description of embodiments. FIGURE 1 shows the schematic arrangement of a system. A transmission stack As and a reception stack Ar are connected to an application process A. The transmission stack As and the reception stack Ar are connected to a common transmission path through a common transmission path control section Am. Similarly, a transmission stack Bs and a reception stack Br are connected to an application process B. The transmission stack Bs and the reception stack Br are connected to the common transmission path through a common transmission path control section Bm. As shown in FIGURE 2, when the application process A generates a request to transmit predetermined data to the application process B at time T0, a margin time Tds0 is determined on the basis of the difference between time T0 and the current timing. This request is transmitted to the transmission stack As to be added to a transmission queue already formed. In this case, if the current timing is time T1, a margin time Tds1 is determined on the basis of the difference between time T0 and time T1. In the transmission stack As, it is determined that the urgency of a transmission request having a short margin time is higher than that of a transmission request having a long margin time, and the transmission queue is arranged in an order of shorter margin times. Assume that transmission requests are ordered according to margin times of 5, 7, 8, 10, 12, and 13 to constitute a transmission queue. In this case, if a transmission request having a margin time of 6 is sent to the transmission stack As, the queue is rearranged in an order of margin times of 5, 6, 7, 8, 10, and 12. See FIGURE 3. As described above, in transmission processing, a transmission queue is not arranged in the order in which transmission requests are received but is arranged in the order in which data must be sent so that the data needed the soonest is received first. If the time required for one rotation of a token is 2, the margin times change to 3, 4, 5, 6, 8, and 10 after one rotation of the token. When the token rotates around the ring once and is received again by a given station, a transmission request of the station is compared with transmission requests of remaining stations. Transmission queues of nodes N1, N2, N3, and N4 are stored in a common memory, as shown in FIGURE 4. In this case. the urgency of each of the start transmission requests of the nodes N1, N2, N3, and N4 is compared with that of the start transmission request of the given station. That is, each of minimum margin times of 4, 10, 6, and 7 is compared with a margin time of 3. In this case, since the transmission request of the given station has the highest urgency, a data frame of the given station is transmitted. If the urgency of the transmission request of the given station is lower, i.e., the margin time is longer, the received token is passed to the succeeding node, and it is determined whether the urgency of a transmission request of the station in the node to which the token has been passed is high. If the transmission request has the highest urgency, a data frame of the corresponding station is transmitted. The given station does not transmit until the urgency of its transmission request becomes higher than that of each of the transmission requests of the remaining stations. In this case, while the token is rotated, the given station waits until the urgency of its transmission request becomes the highest. When the urgency of the transmission request of the given station becomes higher than that of each of the transmission requests of the remaining stations, a data frame corresponding to the transmission request of the given station is transmitted. As described above, in transmission processing, it is determined whether the urgency of a transmission request of the given station is high in the overall system. If it is determined that the urgency is high in the overall system, data of the given station is transmitted. In reception processing, the same operation as in transmission processing is performed. More specifically, assume that the reception queue shown in FIGURE 5 is arranged. Each number indicates a margin time corresponding to an urgency. In this case, when new data having a margin time of 2 is received, the reception queue is rearranged. Since the data having a margin time of 2 has the highest urgency, it is arranged at the start position of the reception queue to be serviced first. The data is then preferentially sent to the application process B. In a manner similar to transmission processing, data in reception processing are not processed in the order in which they are received but are processed in the order of urgency. In the above description, margin times correspond to the order in which data is sent so that the data needed soonest is received first. However, the present invention is not limited to this. For example, the order in which data is sent can more simply correspond to the timings (request timings) at which data are to be sent to the application process B. The concept of the present invention will be described in more detail below with reference to the flow diagram shown in FIGURES 6A and 6B. If the application process A generates a transmission request having a margin time (deadline) Tds0 with respect to the application process B, the transmission stack As rearranges the transmission queue on the basis of the margin time Tds0, and performs transmission processing of a transmission request having the highest urgency first. This rearrangement processing is performed on the basis of predictive times calculated from past actual time values. The transmission stack As subtracts the time taken to perform the transmission processing from the margin time Tds0 to set a new margin time Tds1. In this case, the overall transmission requests of the system are rearranged on the basis of the margin time Tds1 in the order of urgencies. This rearrangement processing is executed in consideration of transmission requests of the respective stations, which vary as network common information with time. With the rearrangement processing, a transmission right is assigned to a transmission request having the highest urgency at the current timing point from the viewpoint of the overall system. In this case, a margin time Tds2 is a time obtained by subtracting the time taken to perform the rearrangement processing and the time required to receive the token from the margin time Tds1. The margin time Tds2 varies with time. Subsequently, the transmission of frames including data having high urgencies is started within the time determined by media access control (MAC) of Timed-Token Pass. The frames are respectively transmitted to designated nodes. At the same time, a frame for updating the common information of the overall system including the given station, i.e., the overall network, is transmitted to each station. The data transmitted to the common transmission path control section Bm is queued to the reception queue and its urgency is determined on the basis of a margin time Tds3 in consideration of the time required for reception processing in the reception stack Br. The reception queue is rearranged according to the determined urgency, and data having the highest urgency is subjected to reception processing first. The margin time Tds3 is a time obtained by subtracting the transmission time from the margin time Tds2. The data preferentially subjected to reception processing is supplied to the application process B to be received/displayed. As described above, according to the present invention, data to be preferentially subjected to transmission/reception processing are determined on the basis of their margin times, and data which are determined to have high urgencies in the overall system are preferentially transmitted. Therefore, the system can be efficiently used, and data having high urgencies can be preferentially transmitted. A data transmission method and apparatus according to the first embodiment of the present invention will be described below with reference to the accompanying drawings. In the first embodiment, the urgencies of transmission/reception processing of a plurality of data in each transmission apparatus are determined on the basis of margin times obtained from the request timings at which the data are required, the predictive times required to perform data transmission/reception and data transfer, and the current timing. Data having high urgencies are preferentially subjected to transmission reception processing. As a transmission system configuration to which the present invention is applied, a ring network configuration is employed. In this configuration, transmission apparatuses are connected to each other through a common transmission path, as shown in FIGURE 7. It is, however, clear that network configurations other than the configuration shown in FIGURE 7, e.g., bus and star network configurations, can be employed. Referring to FIGURE 7, reference symbol STN indicates a transmission apparatus. As shown in FIGURE 8, each transmission apparatus comprises a transmission/reception circuit (XCVR) 10 connected to a common transmission path. A token passing transmission controller (CKT1) 12 performs token passing system media access control. A transmission/reception buffer RAM memory (BRAM) 14 stores transmission/reception frame data. The transmission/reception control RAM common memory (CM1) 16 stores control data required for transmission/reception control and processing and media access control. A host request interface circuit (HIF) 18 interfaces transmission requests from host units connected thereto. Timers (CLK and CLK1) 20 and 22 in each transmission apparatus perform a common time measuring operation. A control microprocessor (MPU) 24 performs transmission/reception processing and transmission reception control of the token passing transmission controller 12. A ROM program memory (MROM) 26 stores processing programs for the control microprocessor 24. A MPU RAM memory (MRAM) 28 stores data required for processing. A token rotation timer residual value register (RTRT1) 30 holds a target token rotation timer residual volume at the time of the reception of the token and allows it to be read out. Reference symbol SIG0 denotes a token frame normal reception completion interrupt signal; SIG1, a transmission queue update inhibiting signal; SIG2, a data frame normal reception completion interrupt signal; SIG3, a transmission request interrupt signal; SIG4, a count clock interrupt signal; SIG5, a data frame transmission completion interrupt signal; and SIG6, a data frame transmission start interrupt signal. In order to allow the control microprocessor 24 to perform transmission/reception priority processing, data tables or structures for control, formed in the transmission/reception control RAM common memory 16, the transmission/reception buffer RAM memory 14, or the MPU RAM memory 28, are designed as follows. A data transmission request to each transmission apparatus is constituted by data DT1(j) to be transmitted, which is shown in FIGURE 9, and a control block CB1(j) in FIGURE 10. The data DT1(j) and the Control block CB1(j) are stored in the transmission reception buffer RAM memory 14. The control block CB1(j) includes information required for transmission control corresponding to the data DAT1(j), e.g., a destination address and a control command. Note that in the control block DB1(j), information required to execute the control scheme of the present invention is added to a control area CNT1(j) and an elapsed time information area TIM1(j), as needed. In addition, the transmission data DT1(j) is stored in one or more chained transmission buffers 14. The control block CB1(j) includes a request timing value T0(j) at which the data DT1(j) is required for an application process of another station, and a margin time value Tds(j) to be written on the basis of a priority determined according to transmission processing. FIGURE 11 shows an arrangement of the data frame D1(j). The data frame D1(j) is stored in the transmission/reception buffer RAM memory 14. Although the arrangement of data frame D1(j) constituted by the control block CB1(j) and the transmission data DT1(j) is not specifically limited, its information portion includes the request timing T0(j). FIGURE 12 shows a frame control code, header information such as destination and source addresses, which are included in the data frame D1(j), and a transmission frame control block TCB1(j) indicating a location in which the information portion is stored. The data included in the transmission frame control block TDB1(j) is required to form the data frame D1(j). When a plurality of data frames D1(j) are to be transmitted, transmission frame control blocks TCB1(j) corresponding to the plurality of data frames D1(j) are chained to each other by designating transmission chain control areas included in the transmission frame control blocks TCB1(j). The transmission frame control block TCB1(j) chain is then linked to the transmission queue of the token passing transmission controller 12. Thereafter, the plurality of data frames D1(j) are sent to the transmission path. The transmission frame control blocks TCB1(j) are stored in the transmission/reception control RAM common memory 16. The transmission frame control blocks TCB1(j) corresponding to the data frames D1(j) are included in the control blocks CB1(j) and are arranged in the order of the shorter margin times Tds(j) indicating urgencies so as to be formed into a transmission queue S1. FIGURE 13 shows an arrangement of the transmission queue S1. This transmission queue is stored in the transmission reception buffer RAM memory 14. FIGURE 14 shows the arrangement of a transmission queue control word used by the token passing transmission controller 12. The transmission queue control word is stored in the transmission/reception control RAM common memory 16. FIGURE 15 shows an arrangement of a transmission reception processing time table in which transmission processing times Tx, transfer times Txf, and the maximum and minimum values of reception processing times Tr of the respective transmission apparatuses are listed according to the addresses of the transmission apparatuses as indexes. This table is stored in the MPU RAM memory 28. FIGURE 16 shows an arrangement of a reception frame control block RCB1 indicating the location of a data frame received by the token passing transmission controller 12 and set in the transmission/reception buffer RAM memory 14 through the transmission path. The reception frame control block RCB1 is stored in the transmission/reception buffer RAM memory 14. When a plurality of data frames D1 are received, reception chain control areas included in the reception control blocks RCB1 corresponding to the respective data frames D1 are designated to chain the reception control blocks RCB1. The reception control block RCB1 chain is then linked to the reception queue of the token passing transmission controller 12. In chaining of the reception control blocks RCB1 linked to the reception queue, priority determination based on margin times is performed by reception interrupt acceptance processing by the microprocessor 24 which has accepted the data frame normal reception completion interrupt signal SIG2, and the resultant chain is linked to the reception queue R1. FIGURE 17 shows an arrangement of the reception queue R1. FIGURE 18 shows an arrangement of a reception queue control word. The reception queue R1 is stored in the transmission/reception buffer RAM memory 14. The reception queue control word is stored in the transmission/reception control RAM common memory 16. These data tables and frame arrangements are equally applied to completion verification frames. Priority processing in transmission/reception is performed by using the above-described data tables. An operation of the data transmission apparatus of the present invention will be described next with reference to a flow chart. This priority processing is executed by the control microprocessor 24. FIGURE 19 shows the flow chart of transmission request interrupt processing. When a host unit connected to the transmission apparatus generates a transmission request (j) to transmit a data frame, the transmission data DT1(j) shown in FIGURE 9 and the control block CB1(j) shown in FIGURE 10 are written in the transmission/reception buffer RAM memory 14 through the host request interface circuit 18. In addition, the transmission request interrupt signal SIG3 is supplied to the control microprocessor 24. In step 11, the control microprocessor 24, which has received the transmission request interrupt signal SIG3, reads out the current timing from the timer 22 and stores it, as a request acceptance timing T1(j), in the elapsed time information area of the control block CB1(j). In step 12, the control microprocessor 24 forms the transmission frame control block TCB1(j) from the control block CB1(j) and the transmission data DT1(j). In step 13, the control microprocessor 24 reads out a destination transmission apparatus address (k) written in the control block CB1(j). The control microprocessor 24 reads out a minimum value Tr(k)min of the reception processing time of the destination transmission apparatus and a maximum value Txf(K)max of the transmission time required for transmission to the destination transmission apparatus from the transmission/reception processing time table shown in FIGURE 15 by using the readout address value as an index, and obtains a sum Ti(k) of the readout data. In step 14, the control microprocessor 24 reads out a request timing TO(j) written in the control block CB1(j), obtains the difference between the readout data and the sum Ti(k), and stores it in the margin time area of the control block CB1(j). In step 15, the control microprocessor 24 checks whether any transmission requests are already linked to the transmission queue S1 shown in FIGURE 13. If the determination in step 15 is NO, it means that the new transmission request being processed will be the only transmission request in transmission queue S1. Therefore, the flow advances to step 24 to link the transmission frame control block TCB1(j) to be the only transmission frame control block in the transmission queue S1, thus starting the transmission processing program. If the determination in step 15 is YES, then other transmission frame control blocks are already in transmission queue S1, and it is necessary to insert the new transmission frame control block in the right order. Therefore, the flow advances to step 16. In step 16, the control microprocessor 24 sequentially checks the transmission frame control blocks TCB1 linked, as a chain to the transmission queue S1. More specifically, the control microprocessor 24 reads out a request timing T0(i) of each transmission frame control block TCB1(i). In addition, the control microprocessor 24 reads out the destination transmission apparatus, and reads out a minimum value Trmin of the reception processing time and a maximum value Txfmax of the transmission time from the transmission/reception processing time table by using the address value. The control microprocessor 24 obtains a sum Ti of the readout data, and calculates the difference between the request timing T0(i) and the sum Ti to obtain a margin time Tds(i). In step 17, the control microprocessor 24 compares the already obtained margin time Tds(j) associated with the transmission/reception (j) and the margin time Tds(i) of a linked transmission request (i) to check whether the margin time Tds(j) is shorter (urgency is higher). If the determination in step 17 is YES, the flow advances to step 18. In step 18, the control microprocessor 24 separates the transmission frame control block TCB1(i) from the transmission queue S1, and chains the transmission frame control block TCB1(j) to a position before the transmission frame control block TCB1(i). In step 22, the control microprocessor 24 checks whether the transmission frame control block TCB1(j) is located at the start position of the transmission queue S1. If the determination step 22 is YES, the flow advances to step 23 to interrupt transmission processing corresponding to the transmission frame control block TCB1 and switch to transmission processing corresponding to the transmission frame control block TCB1(j). If the determination in step 22 is NO, the control microprocessor 24 continues the transmission processing currently performed. If it is determined in step 17 that the margin time Tds(j) is longer, the flow advances to step 20, and the control microprocessor 24 checks whether the transmission frame control block TCB1(i) is located at the end position of the transmission queue S1. If the determination in step 20 is YES, the flow advances to step 21 to chain the transmission frame control block TCB1(j) behind the transmission frame control block TCB1(i) and increment the total number of transmission frame control blocks linked to the transmission queue S1 by one. If the determination in step 20 is NO, the flow advances to step 19. In step 19, the control microprocessor 24 checks a margin time associated with a transmission frame control block TCB1(i+1) chained next by using the chain control information of the transmission frame control block TCB1(i). The flow then returns to step 16. In step 16, the control microprocessor 24 executes the subsequent processing in accordance with the above-described flow chart. If it is determined that the margin time Tds(j) associated with the transmission request (j) is equal to the margin time Tds(i) of the linked transmission request (i), the control microprocessor 24 rearranges the transmission queue S1 such that transmission processing is preferentially performed with respect to a transmission frame control block having a control block CB1 holding an earlier request acceptance timing T1 in its elapsed time information area. Processing upon completion of transmission processing will be described below with reference to FIGURE 20. This processing is also executed by the control microprocessor 24. In the processing, when transmission processing is completed, i.e., the data frame associated with transmission frame control block TcB1(i) has been sent, the transmission frame control block TCB1(j) is removed from the transmission queue S1. That is, the TCB1 pointer value indicating the start transmission frame control block of the transmission queue S1 is updated to a TCB1 pointer value indicating a transmission frame control block TCB1(k) chained next. It is then necessary to confirm that TCB1(k) remains the next most urgent data to be sent. To accomplish this the current margin time for TCB1(k) is compared to the margin times for the other frame control blocks in transmission queue S1. In step 31, the control microprocessor 24 reads out a request timing T0(n), a corresponding transfer time Txf(n), and a reception time Tr(n) from a transmission frame control block TCB1(n) linked to the transmission queue of the transmission controller 12 so as to obtain a current margin time Tds(n). In step 32, the control microprocessor 24 compares the margin time Tds(n) with the margin time Tds(j) of the transmission frame control block TCB1(j) to check whether the margin time Tds(j) is shorter (urgency is higher). If the determination in step 32 is YES, the flow advances to step 33 to separate the transmission frame control block TCB1(n) from the transmission queue and chain the transmission frame control block TCB1(j) before the transmission frame control block TCB1(n). Note that if the transmission queue update inhibiting signal SIG1 is issued, and transmission completion display (TSTATUS) data for the transmission frame control block TCB1 chained immediately before the transmission frame control block TCB1(n) is being transmitted, the transmission frame control block TCB1(j) is chained to the transmission frame control block TCB1(n) to rearrange the transmission queue. The flow then advances to step 37. In step 37, the control microprocessor 24 removes the transmission frame control block TCB1(j) from the transmission queue S1 and updates the TCB1 pointer value indicating the start position of the transmission queue. In step S38, the control microprocessor 24 causes the flow to return to the first step in transmission processing. If it is determined in step 32 that the margin time Tds(j) is longer, the flow advances to step 34. In step 34, the control microprocessor 24 reads out a transmission frame control block TCB1(n+1) chained next by using the control information of the transmission frame control block TCB1(n). The flow then advances to step 35, in which the control microprocessor 24 checks whether the transmission frame control block TCB1(n+1) is located at the end position of the transmission queue. If the determination in step 35 is YES, the flow advances to step 36 to chain the transmission frame control block TCB1(j) to the transmission frame control block TCB1(n+1). Note that if the transmission queue update inhibiting signal SIG1 is issued, and transmission completion display (TSTATUS) data for the transmission frame control block TCB1(n) is being transmitted, transmission of the transmission frame control block TCB1(j) is delayed until the next token reception timing. If step 36 is completed, the flow advances to step 37. In step 37, the control microprocessor 24 performs the above-described processing. If the determination in step 35 is NO, the flow returns to step 31, and the control microprocessor 24 proceeds with the processing in accordance with the above-described flow chart. Data frame transmission start interrupt signal processing will be described below with reference to FIGURE 21. This flow chart shows a case wherein the token passing transmission controller 12 receives the token and starts to send a data frame corresponding to the transmission frame control block TCB1(j) linked to the transmission queue to the transmission path. This processing is also executed by the control microprocessor 24. In step 41, upon reception of the data frame transmission start interrupt signal SIG6 from the token passing transmission controller 12, the control microprocessor 24 reads out a TCB1 storage pointer value from the transmission queue word shown in FIGURE 14, and checks whether the transmission completion display (TSTATUS) area data of the transmission frame control block TCB1(j) is being transmitted. In step 42, the control microprocessor 24 reads out a data frame transmission start timing T21(j) from the timer 22 and stores it in the elapsed time information area of the control block CB1(j) corresponding to the transmission frame control block TCB1(j). In step 43, control microprocessor 24 reads out a request acceptance timing T1(j) of the transmission frame control block TCB1(j), and calculates the difference between the readout data and the data frame transmission start timing T21(j) to obtain a transmission processing time Tx(j), thus updating the transmission/reception processing time table. In this case, the current value is compared with the maximum or minimum value registered in the past. If the current value is larger than the maximum value, the maximum value is updated by the current value. When the current value is smaller than the minimum value, the minimum value is updated by the current value. Data frame transmission completion interrupt signal processing will be described next with reference to FIGURE 22. This processing is also executed by the control microprocessor 24. In step 51, upon reception of the data frame transmission completion interrupt signal SIG5, the control microprocessor 24 reads out a TCB1 storage pointer value from the transmission queue, and checks whether transmission of the transmission completion display (TSTATUS) area data of the transmission frame control block TCB1(j) is completed. In step 52, the control microprocessor 24 reads out the data frame transmission completion timing T2(j) from the timer 22 and stores it in the elapsed time information area of the control block CB1(j) corresponding to the transmission frame control block TCB1(j). In step 53, the control microprocessor 24 updates the TCB1 pointer value, of the transmission queue control word, indicating the start transmission frame control block to a TCB1 pointer value indicating a transmission frame control block chained next. Transmission processing has been described above. Reception processing will be described below. Data frame normal reception completion interrupt signal processing will be described below with reference to FIGURE 23. This processing is also executed by the Control microprocessor 24. In step 60, upon reception of the data frame normal reception completion interrupt signal SIG2, the control microprocessor 24 reads out a pointer value indicating a reception control block RCB1(j) from the reception queue and checks whether the reception frame stored in the transmission/reception buffer RAM memory 14 is a data frame. If it is not a data frame, the flow advances to step 72. In this case, since the reception frame is a completion verification frame or a reception frame other than a data frame, the control microprocessor 24 starts a special reception processing program. If the reception frame is a data frame, the flow advances to step 61 in which the control microprocessor 24 reads out a reception acceptance T3(j) from the timer 22. In step 62, the control microprocessor 24 stores the reception acceptance timing T3(j) in the elapsed time information area of the reception control block RCB1(j). In addition, the control microprocessor 24 reads out a request timing TO(j) of the reception data frame, obtains the difference between the request timing T0(j) and the reception acceptance timing T3(j), and stores it, as a margin time Tdr(j), in the margin time area of the reception control block RCB1(j). In step 63, the control microprocessor 24 checks whether a reception control block RCB1(j) is linked to the reception queue R1. If the determination in step 63 is NO, the flow advances to step 64. In step 64, the control microprocessor 24 links the reception control block RCB1(j) to the reception queue R1 and starts to execute the reception processing program. If the determination in step 63 is YES, the flow advances to step 65. In step 65, the control microprocessor 24 compares a margin time Tdr(n) of a reception control block RCB1(n) linked to the reception queue R1 with the margin time Tdr(j) of the reception control block RCB1(j) to check whether the margin time Tdr(j) is shorter (urgency is higher). If the determination in step 65 is YES, the flow advances to step 66. In step 66, the control microprocessor 24 separates the reception control block RCB1(n) from the reception queue R1 and chains the reception control block RCB1(j) before the reception control block RCB1(n). In step 70, the control microprocessor 24 checks whether the reception control block RCB1(j) is located at the start position of the reception queue R1. If the determination in step 70 is NO, the control microprocessor 24 proceeds with the currently performed reception processing. If the determination in step 70 is YES, the flow advances to step 71. In step 71, the control microprocessor 24 interrupts reception processing corresponding to the currently processed reception control block RCB1, and switches to reception processing corresponding to the reception control block RCB1(j). If the determination in step 65 is NO, the flow advances to step 68. In step 68, the control microprocessor 24 checks whether the reception control block RCB1(n) is located at the end position of the reception queue R1. If the determination in step 68 is YES, the flow advances to step 69. In step 69, the control microprocessor 24 chains the reception control block RCB1(j) next to the reception control block RCB1(n) and increments the total number of reception control blocks linked to the reception queue R1 by one. If the determination in step 68 is NO, the flow advances to step 67. In step 67, the control microprocessor 24 checks the margin time of a reception control block RCB1(n+1) chained next by using the chain information of the reception control block RCB1(n). Flow then returns to step 65 and the control microprocessor 24 executes the subsequent processing in accordance with the above-described flow chart. Note that if it is determined in step 63 that the margin time Tdr(j) is equal to the margin time Tdr(i), the reception queue R1 is rearranged such that reception processing is preferentially performed with respect to the reception control block RCB1 having an earlier reception acceptance timing T3 held in the elapsed time information area. Reception completion processing will be described below with reference to FIGURE 24. This processing is also executed by the control microprocessor 24. In step 81, the control microprocessor 24 reads out a reception completion timing T4(j) from the timer 22 and stores it in the elapsed time information area of the reception control block RCB1(j). The flow then advances to step 82. In step 82, the control microprocessor 24 reads out the reception acceptance timing T3(j) from the elapsed time information area, and calculates a reception processing time Tr(j) by obtaining the difference between the reception acceptance timing T3(j) and the reception completion timing T4(j). In step 83, the control microprocessor 24 reads out a destination address, an identifier for identifying a transmission request, and the like from the data frame stored in the transmission/reception buffer RAM memory 14, and forms a control block CB1 for a completion verification frame, and transmission data DT1 by using these readout data. The completion verification frame includes normal completion information, completion state information indicating that an error was caused during processing, and the processing could not be normally completed, and time information including the reception acceptance timing T3(j) of the data frame and the reception processing time Tr(j) taken to complete normal processing. The control microprocessor 24 sends the completion verification frame to the transmission station. The reception data which has undergone reception processing is transmitted to the host unit connected to the transmission apparatus through the host request interface circuit 18. In step 84, the control microprocessor 24 starts to execute the transmission request. The flow then advances to step 85, in which the control microprocessor 24 removes the reception control block RCB1(j) from the reception queue R1. That is, the control microprocessor 24 updates the RCB1 pointer value indicating the start reception control block of the reception queue R1 to an RCT1 pointer value indicating a reception control block chained next. In step 86, the control microprocessor 24 causes the flow to return to the first step of reception processing. In the source transmission apparatus, a plurality of transmission requests are generated, while the processing between steps 81 and 86 is performed, i.e., the apparatus waits for a completion verification frame from the destination transmission apparatus, which corresponds to a completely transmitted data frame. In this case, the control microprocessor 24 forms and transmits data frames in response to the transmission requests. In addition, the control microprocessor 24 performs the above-described reception processing in response to a reception request from another transmission apparatus. Reception processing of a completion verification frame will be described below with reference to FIGURE 25. This processing is also executed by the control microprocessor 24. In step 91, when the transmission/reception circuit 10 receives a completion verification frame, the control microprocessor 24 finds the transmission frame control block TCB1(j) according to transmission identification information included in the reception frame. In step 92, the control microprocessor 24 reads out the transmission completion timing T2(j), obtained at the time of data frame transmission, from the elapsed time information area of the control block CB1(j) of the transmission frame control block TCB1(j) and further reads out the reception acceptance timing T3(j) included in the completion verification frame. The control microprocessor 24 obtains the difference between the readout data to calculate a transfer time Txf(j) required to transfer the data frame through the common transmission path, and holds it in the transmission reception processing table shown in FIGURE 15. In this case, the control microprocessor 24 compares the current value of transfer time with the maximum and minimum values registered in the past. If the current value is larger than the maximum value, the maximum value is replaced with the current value. If the current value is smaller than the minimum value, the minimum value is replaced with the current value. In step 93, if the completion verification frame indicates a normal completion state, the control microprocessor 24 reads out the reception processing time Tr(j) included in the completion verification frame and registers it in the transmission/reception processing time table according to the destination transmission apparatus address as an index. In this case, the control microprocessor 24 also compares the current value of reception processing time with the maximum and minimum values registered in the past. If the current value is larger than the maximum value, the maximum value is replaced with the current value. If the current value is smaller than the minimum value, the minimum value is replaced with the current value. The description of the data transmission method and apparatus according to the first embodiment is completed herein. Note that in the transmission request interrupt processing shown in FIGURE 19, with respect to a transmission request whose margin time Tds(j) is a negative value, the control microprocessor 24 may determine that data transmission cannot be performed at the request timing T0(j). cancel the transmission request, and inform the transmission request source of the determination result. When a source transmission apparatus is to transmit a data frame, the transmission completion timing T2(j) may be included in the data frame together with the request timing T0(j). Upon reception and verification of the data frame, a destination transmission apparatus may obtain the transfer time Txf(j) by detecting the difference between the transmission completion timing T2(j) and the reception verification timing T3(j). In addition, reception processing is performed by the destination transmission apparatus to calculate the reception processing time Tr(j). The transfer time Txf(j) and the reception processing time Tr(j) may be transmitted to the source transmission apparatus to update the transmission/reception processing table of the source transmission apparatus. Transmission processing times Tx, reception processing times Tr, and transfer times Txf taken to transfer data to predetermined transmission apparatuses may be held in all the transmission apparatuses according to the transmission apparatus addresses as indexes. When a given transmission apparatus receives a transmission request, the apparatus reads out these time values according to the source transmission apparatus address as an index. The destination transmission apparatus obtains the sum of the transmission processing time of the destination station, the reception processing time of the source transmission apparatus, and the transfer time required to transfer data to the source transmission apparatus. In this manner, a transmission request from a given transmission apparatus is processed by a destination transmission apparatus to calculate a predictive total processing time Ta. The difference between the predictive total processing time Ta and the request timing T0 may be obtained as a margin time Tds, and priority processing may be performed by determining an urgency on the basis of this margin time Tds. A destination transmission apparatus may calculate the reception verification timing T3 and the sum of the reception timing time Tr, the transmission processing time Tx, the transfer time Txf required to transfer data to a source transmission apparatus, and the reception processing time Tr of the destination transmission apparatus, which time data are held in the destination station. The apparatus then calculates the difference between the request timing T0 read out from the data frame to obtain the margin time Tds. The urgency may be determined on the basis of this margin time Tds to perform reception processing according to the priority. A data transmission method and apparatus according to the second embodiment of the present invention will be described next. In this embodiment, the priority sequence data of data transmission of each transmission apparatus is supplied to other transmission apparatuses, and the urgency of each data transmission is determined in the overall system. Thus, the transmission right is assigned to one of the transmission apparatuses on the basis of the urgencies determined in the overall system. The second embodiment is applied to the same system as that shown in FIGURE 7 to which the first embodiment is applied. The arrangement of each of the transmission apparatuses constituting the system is the same as that of the one shown in FIGURE 8, but their operations are different from each other. This system has an MAC function corresponding to the media access control scheme defined by the ISO 88024 (or IEEE 802.4) standard or the ISO 9314 (ANSI X3T9.5) standard. That is, each transmission apparatus which receives a token frame indicating assignment of the transmission right has modes M1 and M2. In the mode M1, upon reception of the token frame, each apparatus can always transmit a required number of data frames. In the mode M2, the time taken for one rotation of the token frame is measured by a timer of each transmission apparatus which is designed to measure a token frame rotation time. If the measured value is smaller than a preset time value, the number of data frames corresponding to the difference between the time values (a target token rotation timer residual value TRT1) can be transmitted. If the token rotation time value is larger than the preset value, transmission of a data frame is postponed. In order to allow a control microprocessor 24 to perform priority transmission right assignment processing, a control data table formed in a transmission/reception control RAM common memory 16, a transmission/reception buffer RAM memory 14, or an MPU RAM memory 28 has the following arrangement. A data transmission request to each transmission apparatus is constituted by data DT1(j) to be transmitted, shown in FIGURE 26, and a control block CB1(j) shown in FIGURE 27. The data DT1(j) and the control block CB1(j) are stored in the transmission reception buffer RAM memory 14. The control block CB1(j) includes information required for transmission control corresponding to the data DT1(j), e.g., a destination address and a control command. Note that in the control block CB1(j) information required for the execution of the control scheme of the present invention is added to a control area CNT1(j) and an elapsed time information area TIM1(j), as needed. The transmission data DT1(j) is stored in one or more chained transmission buffers 14. The control block CB1(j) includes an identifier A1 representing the urgency of the transmission data in the transmission apparatus. This identifier A1 includes a request timing T0(j) at which the data DT1(j) is to be received by a destination application process. In this case, as the identifier A1 representing the urgency of the data, for example, a timing at which transmission of the data is to be completed in the source transmission apparatus, or a timing at which the data is to be received by the destination transmission apparatus may be used. Data frame D1(j) constituted by the control block CB1(j) and the transmission data DT1(j) is not limited to any specific arrangement. For the execution of the present invention, however, the information portion of the data frame D1(j) includes the identifier A1 and elapsed time information indicating the elapsed time of communication processing. FIGURE 28 shows an arrangement of the data frame D1(j). The data frame D1(j) is stored in the transmission buffer 14. FIGURE 29 shows an arrangement of a transmission frame control block TCB1(j) including a frame control code, header information such as destination and source addresses, which are to be included in the data frame D1(j), and information indicating the location of an information portion. The data included in the transmission frame control block TCB1(j) are required to form the data frame D1(j). When a plurality of data frames D1(j) ore to be transmitted, the transmission chain control area of each transmission frame control block TCB1(j) is designed to chain the respective transmission frame control blocks TCB1(j) corresponding to the plurality of data frames D1(j). The transmission frame control blocks TCB1(j) are stored in the transmission reception control RAM common memory 16. Transmission requests R1(j) corresponding to the data frames D1(j) are ordered to be formed into a transmission queue S1 on the basis of values T0(j) of the identifiers A1 included in the control blocks CB1(j) and representing the urgencies of the data frames. FIGURE 30 shows an arrangement of the transmission queue R1(j). FIGURE 31 shows an arrangement of the transmission queue S1. In this arrangement, the transmission queue S1 is designed such that the transmission requests R1(j) of the transmission apparatus are chained to each other according to their urgencies. The transmission requests R1(j) and the reception queue S1 are stored in the transmission/reception buffer RAM memory 14. An identifier A2 included in the transmission queue S1 indicates the presence of an urgent transmission request of the transmission apparatus. Figs. 32 and 33 show an arrangement of the identifier A2. FIGURE 32 shows an identifier A2 control block CB2. FIGURE 33 shows an identifier A2 information area buffer. The identifier A2 includes at least the identifier A1 corresponding to the transmission request R1(j) having the highest urgency in the transmission queue S1. A media access request frame F1 including the identifier A2 is not limited to any specific arrangement. FIGURE 34 shows an arrangement of the media access request frame F1. The media access request frame F1 may have any kind of arrangement as long as it can be discriminated from the data frame D1(j) shown in FIGURE 28, the token frame, and other transmission control frames, and its information portion includes the information of the identifier A2. That is, in the data frame D1(j) shown in FIGURE 28, a "frame control" code corresponding to the media access request frame F1 may be set, and the identifier A2 may be included in a "information portion". In the arrangement shown in FIGURE 34, identification is performed by the "frame control" code. The media access request frame F1 is stored in the transmission/reception buffer RAM memory 14. FIGURE 35 shows an arrangement of a transmission control block TCB2. The transmission control block TCB2 indicates the locations of a frame control code, header information such as destination and source addresses, and an information portion, which are required to form the media access request frame F1. The transmission control block TCB2 is stored in the transmission reception control RAM common memory 16. FIGURE 36 shows on arrangement of a media A2 included in a media access request frame transmitted from each transmission apparatus and received by each transmission apparatus. The media access request R2(j) corresponds to each of a plurality of media access requests included in the identifiers A2 in the media access request frames F1. The media access requests R2(j) are stored in the transmission/reception buffer RAM memory 14. FIGURE 37 shows an arrangement of a transmission queue S2 in which the media access requests R2(j) are ordered according to their urgencies determined in the overall system. In the transmission queue S2, the media access requests R2(j) from the respective transmission apparatuses are chained to each other. The transmission queue S2 is stored in the transmission/reception buffer RAM memory. The flow of transmission request control processing performed by the control microprocessor 24 using the above data tables will be described below. When a host unit connected to the transmission apparatus generates a transmission request to transmit a data frame, the transmission data shown in FIGURE 26 and the control block CB1 shown in FIGURE 27 are written in the transmission/reception buffer RAM memory 14 through a transmission request interface circuit 18. In addition, a transmission interrupt signal SIG3 is sent to the control microprocessor 24. Subsequently, the control microprocessor 24 starts the flow of processing to be performed when a transmission request from a host unit is received. In step 110, the control microprocessor 24 forms the transmission frame control block TCB1(j) and the transmission request R1(j) from the control block CB1(j) and the transmission data DT1(j). In step 120, the control microprocessor 24 compares an identifier A1(T0(j)) included in the control block CB1(j) designated by the transmission request R1(j) with an identifier A1(T0(k)) of a transmission request R1(k) already linked to the transmission queue S1. Thereafter, the control microprocessor 24 rearranges the transmission queue S1 in an order of higher urgencies. That is, the control microprocessor 24 chains the transmission request R1(j) to the transmission queue S1 by using the PRE and NEXT areas of the transmission request R1(j). In step 130, the transmission frame control block TCB1(j) is chained to a transmission control block TCB1(k) of the already linked transmission request R1(k) in accordance with the order in the transmission queue S1 by using the transmission control block chain control area. In step 140, the control microprocessor 24 forms the identifier A2 information area buffer shown in FIGURE 33. The control microprocessor 24 chains the identifier A2 information area buffer to the identifier information area of the already linked transmission request R1(k) in accordance with the order in the transmission queue S1 by using the transmission data buffer control area and the transmission data start, intermediate, and end display areas. When the media access request frame F1 is received, the control microprocessor 24 starts the flow of processing to be performed when the media access request frame F1 shown in FIGURE 39 is received. In step 210, the control microprocessor 24 forms a transmission request indicating an urgency determined from the viewpoint of the overall system, i.e., the media access request R2(j) shown in FIGURE 36, on the basis of the information of the identifier A2 included in the media access request frame F1 and source station address indicating the source station. In step 220, the control microprocessor 24 compares the urgency of the media access request R2(j) with that of a media access request R2(k) already linked to the transmission queue S2 by using the value of the identifier A1 = TN. Thereafter, the control microprocessor 24 rearranges the transmission queue S2 in an order of higher urgencies by using the PRE and NEXT areas. With respect to the transmission queue S2 to which the transmission request R2(k) has already been linked, the control microprocessor 24 starts comparison determination processing from the start position of the transmission queue S2. If information coinciding with a source transmission apparatus address SA is detected in the transmission request R2(k) already linked to the transmission queue S2, the control microprocessor 24 removes the transmission request R2(k) from the transmission queue S2. This processing is limited to comparison determination processing with the first identifier A2 included in the received media access request frame F1. In addition, the control microprocessor 24 compares the identifier A2 with a value Tk representing the urgency of the transmission request R2(k), and rearranges the link structure of transmission queue S2 such that the newly formed transmission request R2(j) is ordered according to its urgency. In step 230, the control microprocessor 24 compares the transmission queue S2, formed every time the media access request frame F1 is received, with the transmission queue S1 formed in accordance with the transmission requests from the host unit. If the urgency of the transmission request of the station is higher, the control microprocessor 24 links a data frame D1 corresponding to the transmission request having a high urgency to a transmission queue TQ2 corresponding to the mode M2 of the MAC function of a transmission controller 12. That is, the control microprocessor 24 sets the start storage address of the transmission control block TCB1 chain in the transmission queue TQ2. When the token frame is received, the control microprocessor 24 performs processing in accordance with the flow chart for token frame reception processing shown in FIGURE 40. In step 310, with respect to the data frame D1 linked to the transmission queue TQ2, the control microprocessor 24 reads out the target token rotation timer residual value TRT1 corresponding to the mode M2 of the MCA function from a token rotation timer residual value register 30 when it obtains the transmission right upon reception of the token. Subsequently, the control microprocessor 24 calculates the number of data frames D2 corresponding to the residual time value on the basis of the total transmission data count out of the total number of data frames D1(j) to be transmitted. The number of data frames D2 (the total number of data frames to be transmitted D1 ≥ the number of data frames D2 that can be sent during the residual time value) are supplied to the transmission path through the token passing transmission controller 12 upon reception of the token. In step 320, the control microprocessor 24 removes the transmission requests R1(j) corresponding to the above-mentioned data frames D1(j) from the transmission queue S1. If a transmission request is left, the control microprocessor 24 writes the storage address of the identifier A2 information area buffer of the transmission request in the identifier A2 start storage pointer value of the identifier A2 control block CB2. In addition, the control microprocessor 24 sets the identifier A2 information area buffer at the start position of the transmission data. If no transmission request R1(j) is left in the transmission queue S1 upon removal of the transmission requests R1(j) from the transmission queue S1, or if no data frame D1(j) is linked to the transmission queue TQ2 at the timing of token reception, the control microprocessor 24 writes the address of the identifier A2 information area corresponding to the absence of a transmission request, as the identifier A2 storage pointer value of the identifier A2 control block CB2, in the identifier A2 start storage pointer value of the identifier A2 control block CB2. With the above-described processing, the media access request frames F1 corresponding to the number of data frames D2 corresponding to the target token rotation timer residual value TRT1 are sent to the transmission path upon reception of the token.

Claims: A method of processing transmission/reception of data from /to a transmission/reception apparatus arranged in a node of a network in which a transmission right is transferred among the nodes, of the network, each node being equipped with a transmission/reception apparatus, comprising the steps of: determining (14, 15, 16, 17, 19) the order in which data associated with transmission/reception requests in said transmission/reception apparatus in said node must be processed so as to be available when needed; rearranging (18, 21) said transmission/reception requests according to the order determined by said determining step; and performing transmission/reception processing (23) on said transmission/reception requests as rearranged in said rearranging step. A method according to claim 1, characterised in that said order determining step includes the step of utilising the absolute time (To) at which data is needed to determine said order. A method according to claim 1, characterised in that said order determining step includes the step of utilising the period (Tds1) until data is needed to determine said order. A method of transmitting data in accordance with any preceding claim in which said order determining step comprises the steps of: calculating and holding in said transmission apparatus a data transmission processing time (Tx) of said transmission apparatus, a transfer time (Tx) of said data, and a reception processing time (Tr) of said data on the basis of past data transmission/reception information; rearranging a transmission request sequence for a plurality of data in said transmission apparatus, in response to a transmission request for specific data in said transmission apparatus, on the basis of a difference between a request timing at which the specific data is required and a sum of: 1). a reception processing time (Tr), held in said transmission apparatus, 2). a transfer time (Txf) required for data transfer from said transmission apparatus and held in said transmission apparatus, and 3) a current timing, thereby determining a transmission processing sequence; performing transmission processing in accordance with the determined transmission processing sequence; and transferring data which has undergone transmission processing. A method according to claim 4, characterised by further comprising the steps of: causing a reception apparatus which has received the transferred data from said transmission apparatus to subtract a second current timing from said request timing to obtain a difference and rearrange reception processing requests of a plurality of data in said reception apparatus on the basis of said difference, thereby determining a reception processing sequence; and performing reception processing on said basis of the determined reception processing sequence. A method of transmitting data among a plurality of transmission/reception apparatuses arranged in a network, the method being in accordance with any preceding claim, and further comprising the steps of: causing each of said plurality of transmission/reception apparatuses arranged in a network to transmit a first transmission queue, obtained by arranging transmission requests of each transmission/reception apparatus in an order in which data associated with said transmission request must be sent so as to be received when needed, to other transmission/reception apparatuses; forming a second transmission queue in each transmission/reception apparatus by accumulating said first transmission queues transmitted from each of the other of said transmission/reception apparatuses and rearranging said accumulated transmission queues in an order in which data associated with said transmission requests must be sent so as to be received when needed for the network overall; and comparing a transmission request to be sent next in said first transmission queue of a given transmission/ reception apparatus with said order of said transmission requests in said second transmission queue, when said given transmission/reception apparatus receives a token, and transferring data associated with said transmission request to be sent next when said transmission request to be sent next must be sent before the transmission request to be sent next in said second transmission queue. A data transmission method according to claim 1 and further comprising the steps of: receiving a transmission request to transmit data within a predetermined period of time; arranging a transmission queue in a transmission stack of a given station according to when data associated with the transmission request must be sent so as to be received when needed; comparing the timing of transmission of said transmission request of said given station to be sent next with that of each transmission request of the remaining stations; and transmitting data associated with the transmission request to be sent next if it is determined on the basis of the comparison result that said transmission request to be sent next must be sent before each of said transmission requests of said remaining stations. A method according to claim 7 characterised by further comprising the steps of: collecting each reception request received by each of said transmission/reception apparatus in a reception queue; organising said reception request for each of said transmission/reception apparatuses in an order in which data associated with said reception requests must be processed so as to be available when needed; and processing said reception requests in said order. A transmission/reception apparatus arranged in a node of a network in which a transmission right is transferred among the nodes of the network, each node being equipped with a transmission/reception apparatus, the apparatus comprising: memory means (14) for holding data transmission/reception information; means (24) for determining the order in which data associated with a plurality of transmission/reception requests in said memory means must be processed so as to be available when needed; and means for rearranging said transmission/reception requests according to said order, determining a transmission/reception processing sequence based on said rearranged transmission/reception requests, and a performing transmission/reception processing. Apparatus according to claim 9, characterised in that said determining means utilises the absolute time at which data is needed to determine said order. Apparatus according to claim 9, characterised in that said determining means utilises the period until data is needed to determine said order. Apparatus according to claim 9, for transmitting data from a given station to any of a plurality of other stations comprising: transmission stack means, having a transmission queue, for transmitting data from a given station to any of a plurality of other stations, for receiving transmission requests to transmit data; means for arranging said transmission queue in an order in which data associated with said transmission requests must be sent so as to be received when needed; comparison means for comparing the timing of said transmission request of said given station to be transmitted next with that of transmission requests of said other stations; and means for transmitting the data associated with said transmission request to be transmitted next when said transmission request to be sent next must be sent before each of said transmission requests of said other stations. Apparatus according to claim 12, characterised by further comprising: reception stack means, having a reception queue, for receiving reception requests to process received data; means for arranging said reception queue in an order in which data associated with said reception requests must be processed so as to be available when needed; and means for processing said reception requests as arranged by said arranging means. A plurality of transmission/reception apparatuses arranged in a network, each of said transmission/reception apparatuses being in accordance with claim 9 and comprising: timer means for measuring and managing a current timing common to said plurality of transmission reception apparatuses; means for obtaining a data transmission processing time, a data transfer time taken to transfer data to other of said transmission/reception apparatuses, and a data reception processing time of each of said other transmission/reception apparatuses on the basis of past data transmission/reception information; memory means for holding said obtained data transmission processing, data transfer, and data reception processing times; transmission processing means for subtracting a sum of said reception processing and transfer times stored in said memory means and a current timing obtained by said timer means from a request timing at which specific data is required by each of said other transmission/reception apparatus to which said data is to be sent to obtain each difference, and rearranging a transmission request sequence of a plurality of data to be subjected to transmission processing on the basis of the differences, thereby performing transmission processing; and transmission control means for controlling a token passing scheme between said transmission/reception apparatuses and transferring said specific data according to said transmission request sequence rearranged by the transmission processing means when said transmission/reception apparatus receives said token. An apparatus according to claim 14, characterised in that each of said transmission/reception apparatuses further comprises means for receiving transferred data, subtracting another current timing from another request timing to obtain a difference therebetween, determining a reception processing sequence by rearranging reception processing requests of a plurality data in each of said transmission/reception apparatuses, and performing reception processing according to the determined reception processing sequence. A plurality of transmission/reception apparatuses arranged in a network, each of said transmission/reception apparatuses being in accordance with claim 9 and comprising: means for forming a first transmission queue by arranging transmission requests in an order in which data associated with said transmission requests must be sent so as to be received when needed; means for transmitting the first transmission queue to other transmission/reception apparatuses; means for accumulating the first transmission queues transmitted from said other transmission reception apparatuses, and rearranging said accumulated first transmission queues in an order in which data must be sent so as to be received when needed for said network overall determined to form a second transmission queue; and means for comparing a transmission request to be sent next in said first transmission queue of a given transmission/reception apparatus with said other of said transmission requests in said second transmission queue when a token is received by said queue transmission/reception apparatus and transferring data corresponding to said transmission request to be sent next of said given station when said transmission request to be sent next is also the transmission request to be sent next in said second transmission queue. A plurality of transmission/reception apparatuses arranged in a network, each of said transmission/reception apparatuses being in accordance with claim 9 and comprising: timer means for measuring and managing a current timing common to said plurality of transmission reception apparatuses; means for obtaining a data transmission processing time, a data transfer time taken to transfer data to other of said transmission/reception apparatuses, and a data reception processing time of each of said remaining transmission/reception apparatuses on the basis of past data transmission/reception information; memory means for holding said obtained data transmission processing data transfer and data reception processing times; transmission processing means for subtracting a sum of said reception processing and transfer times stored in said memory means and a current timing obtained by said timer means from a request timing at which specific data is required by each of said other transmission/reception apparatuses to which said data is to be sent to obtain each difference, and rearranging a transmission request sequence of a plurality of data to be subjected to transmission processing on the basis of the differences, thereby performing transmission processing; means for forming a transmission queue by rearranging transmission requests in all of said other transmission/reception apparatuses in an order in which data associated with said transmission requests must be sent so as to be received when needed; and means for controlling a token passing scheme between said transmission/reception apparatuses, comparing a transmission request to be sent next in said rearranged transmission request sequence of a given transmission/ reception apparatus with said transmission queue, and transferring data corresponding to said transmission request to be sent next of said given station when said transmission request to be sent next of said given station must be sent before said transmission request to be sent next in said transmission queue. An apparatus according to claim 17, characterised in that each of said transmission/reception apparatuses further comprises means for receiving transferred data, subtracting another current timing from another request timing to obtain a difference therebetween, determining a reception processing sequence by rearranging reception processing requests of a plurality data in each of said transmission/reception apparatuses, and performing reception processing according to the determined reception processing sequence.

Inventors: SHIOBARA YASUHISA, SHIOBARA, YASUHISA, Shiobara, Yasuhisa, c/o Intellectual Property Div.
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1993
Main classification: G08C19
IPC codes: H04L12, H04L29