WO1998027693A1 - Systeme et procede de communications de donnees, dispositif de transmission de donnees et procede correspondant - Google Patents

Systeme et procede de communications de donnees, dispositif de transmission de donnees et procede correspondant Download PDF

Info

Publication number
WO1998027693A1
WO1998027693A1 PCT/JP1997/004730 JP9704730W WO9827693A1 WO 1998027693 A1 WO1998027693 A1 WO 1998027693A1 JP 9704730 W JP9704730 W JP 9704730W WO 9827693 A1 WO9827693 A1 WO 9827693A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transmission
transmitted
cycle
amount
Prior art date
Application number
PCT/JP1997/004730
Other languages
English (en)
French (fr)
Inventor
Takashi Nomura
Hiroshi Takizuka
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to US09/125,318 priority Critical patent/US6606320B1/en
Priority to EP97949187A priority patent/EP0895377A4/en
Publication of WO1998027693A1 publication Critical patent/WO1998027693A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5618Bridges, gateways [GW] or interworking units [IWU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Definitions

  • FIG. 1 shows an example of a bucket transmission format of the 1394 serial bus of The Institute of Electrical and Electronics Engineers, Inc. (hereinafter referred to as IEEE). As shown in the figure, the zero and zero packets are transmitted in an isochronous cycle of 125 ⁇ sec. The start of each isochronous cycle is Cycle start arbitration 1 0 1 — 1, 1 0
  • Cycle start arbitration 1 0 1 — 1, 1 0 1 — 2, ⁇ , 1 0 1 – n and Cycle start packet 10 2 – 1, 1 0 2 – 2, ⁇ , 1 0 2 — Cycle start composed of n is sent by the cycle master node in the IEEE1394 serial bus (hereinafter simply referred to as 1394 serial bus or bus as appropriate) and indicates the start of the isochronous cycle. It is a packet.
  • Data prefix 11 1 indicates the start of an acknowledge packet in a data packet or a sink packet eggplant transfer
  • Data endl 09 indicates the end of a data packet or an acknowledge packet in a sink packet eggplant transfer.
  • Iso gap O represents the idle of the 1394 serial bus, and the sub-actions of the isochronous transfer are separated by Iso_gap 10.
  • Arbitration 1 0 3 — 1, 1 0 3 — 2,..., 1 0 3 — n are placed after Iso—gap 1 10 and then connected to the 1394 serial bus Aisokuro Nasuno ⁇ of the n-channel for the client terminal 0 Kek door 1 0 4 _ 1 1, 1 0 4- 1 2, ⁇ , 1 0 4 _ nn is Rooster his own location.
  • Each of the isochronous packets 104-111, 104-122, ..., 104-nn has a Data prefix 111 at the beginning.
  • Subaction — gap 1 1 2 indicates the idle of the 1394 serial bus. Each terminal monitors this gap time to determine whether transmission is possible. If the idle time (longer than Iso_gapl 10) continues for a certain period of time, the node desiring to transfer the data at the mouth of the sink determines that the bus can be used, and arbitration for acquiring the bus (arbitration 105) 1, 105- 2, ..., 105-n). The node that has acquired the right to use the node transmits the asynchronous transfer data (Asynchronic Transfer 106--1, 106--2, ..., 106-n).
  • the node that receives the data of the asynchronous transfer receives an Ack Transfer Packet (Ack Transfer 107-1, 1 0 7—2,..., 1) as a reception result with respect to the source node of the transmitted data. Send 0 7-n).
  • Ack Transfer Packet Ack Transfer 107-1, 1 0 7—2,..., 1
  • FIG. 1 shows an example in which one asynchronous packet is transmitted.
  • Subaction—gap 1 14 is arranged, and then Cycle start arbitratio n 10 8-1, 10 8 — 2,..., 10 8 — ⁇ of the next isochronous cycle is arranged.
  • Cycle start arbitration 1 0 8— 1 of the isochronous cycle # 1 Is Cyclic start arbitration 1 0 1 — 2 located at the beginning of the isochronous cycle # 2.
  • the asynchronous transfer can be executed until the next cycle. Even if this asynchronous transfer continues until the transmission time of the next cycle start, the asynchronous transfer is not interrupted, and the cycle start is transmitted by the cycle master node after waiting for the next bus idle. If one cycle lasts longer than 125 / sec, the next cycle will be shortened accordingly.
  • the length of each isochronous channel is an equal length calculated from the transmission band allocated to the isochronous channel for each isochronous cycle.
  • Each isochronous packet has an overhead (100 Mbps (basic speed), which is equivalent to the time required for the data prefix required in the physical layer of IEEE 1394).
  • the overhead corresponding to the time for Data end (the 24 bits of the BASE_RATE described above)
  • the number of bits corresponding to the clock time) is required. The shorter the length of the isochronous packet, the greater the bandwidth required for the isochronous eggplant channel, the greater.
  • each client terminal can be connected via an IEEE 1394 serial bus.
  • AAL ATM Adaptation Layer
  • 5-PDU Protocol Data Unit
  • MPEG Motion Picture Experts Group
  • the transmission speed of the 1394 serial bus is 100 Mbps
  • the maximum value of the transmittable open bucket is 104 bytes.
  • the ATM / 1394 Bridge can be accommodated (connected).
  • Good client As for the number of terminals, the overhead of a layer higher than the link layer of IEEE 1394 is a problem, so the overhead of 22 bytes is used, and the data prefi x is reduced by 20 bytes. Considering overhead, the following equation limits the number of devices to one per 1394 serial bus.
  • the present invention has been made in view of such a situation, reduces overhead, enables efficient data transmission, and enables connection to one bus. It increases the number of client terminals and facilitates software handling.
  • FIG. 1 is a diagram showing a data format in a conventional isochronous cycle.
  • FIG. 2 is a block diagram showing an example of the configuration of the data transmission system according to the present invention.
  • FIG. 3 is a block diagram showing an example of the configuration of the ATM / 1394 Bridge 203-1 shown in FIG.
  • FIG. 4 is a diagram showing a packet format.
  • FIG. 5 is a diagram showing a data format in the isochronous cycle.
  • FIG. 6 is a flowchart for explaining the processing in the initial state of the ATM / 1394 Bridge 203--1 in FIG.
  • Fig. 7 This is a flowchart for explaining the processing for each scheduling cycle of ATM / 1394 Bridge 203-3-1 in Fig. 2.
  • FIG. 8 is a diagram showing an example of a configuration of a video on demand system to which the data transmission system of the present invention is applied.
  • BEST MODE FOR CARRYING OUT THE INVENTION FIG. 2 shows a configuration example of the data transmission system of the present invention.
  • a video server 210-1 is connected to an ATM UNI (User Network Interface) 202-1, and a video server 201-j is connected to an ATM UNI 202-j. It is connected.
  • Atm UNI 202-1, 202-j are connected to ATM Switch 203.
  • the ATM Switch 203 is connected to an ATM / 1394 Bridge 203-1 via an ATM U NI 202-(j + 1).
  • the ATM / 1394 Bridge 20 3-2 power ATM UNI 202-(j + 2)
  • Bridge 2 03-(k-1) is connected to ATM UNI 2 ⁇ 2-(i-1) via ATM / 1394 Bridge 2 03-k power TM UNI 20 2-i via ATM Connected to Switch 203.
  • n client terminals 205-1 to 205-n are connected to the ATM / 1394 Bridge 203-2 via a 1394 serial bus 204 in a node branching manner.
  • FIG. 3 shows an example of the configuration of the ATM / 1394 Bridge 203-1. Although illustration is omitted, other ATM / 1394 Bridge 203-3, 203-3
  • the CPU 301 has an ATM SAR (Segmentation and Reassembly) block 307, an ATM PHY block 308, an IEEE 139 four-link layer block 310, and an IEEE 1394 three-port PHY block 31 according to the program.
  • ATM SAR Segmentation and Reassembly
  • the scheduling timer 304 performs a 2 msec timekeeping operation, and outputs a timer interrupt signal to the CPU 301.
  • the memory block 303 is connected to the system controller via the low-power bus 305. It is connected to roller 302 and stores bucket data to be transmitted and received.
  • the system controller 302 is connected to a block for transmitting / receiving processing to / from the ATM Switch 203 via a PCI (Peripheral Component Interconnect) node 306 and a block for transmitting / receiving processing to / from the 1394 serial bus.
  • PCI Peripheral Component Interconnect
  • the former block is composed of an ATM SAR block 307, an ATM PHY block 308 and an optical (Optics) block 309, and the latter is composed of an IEEE1394 link layer block 310 and an IEEE1394 3-port PHY. It is composed of a block 311 and ports 312-2 to 312_3.
  • the ATM SAR block 307 decomposes data supplied from the memory block 303 via the system controller 302 and the PCI bus 306 into ATM cells, and the ATM PHY block 300 Supply 8 Conversely, an ATM cell supplied from the ATM PHY block 308 is assembled and output to the memory block 303 via the system controller 302 and the PCI bus 306.
  • the ATM PHY block 308 converts the ATM cells supplied from the ATM SAR block 307 into data corresponding to the specifications of the optical block 309, outputs the data to the optical block 309, and outputs the data to the optical block 309.
  • the ATM senor input from 309 is converted into data in the format of the ATM SAR block 307 and output to the ATM SAR block 307.
  • the optical block 309 receives the data by the optical signal supplied from the ATM switch 203 and supplies the data to the ATM PHY block 308 and the data supplied from the ATM PHY block 308 to the optical signal. And output to ATM Switch 203.
  • IEEE 1394 link layer block 310 is the system controller
  • the ATM format data input from the memory block 303 via the bus 302 and the PCI bus 306 is converted into the 1394 serial bus format preset by the CPU 301, and the IEEE1394
  • the 1394 serial bus format data input from the IEEE1394 3-port PHY block 311 is transmitted to the system controller 302 and the PCI bus 310.
  • the data is output to the memory block 303 via the CPU, and this data is converted into the ATM format by the CPU 301.
  • the IEEE1394 3-port PHY block 311 converts the data input from the IEEE1394 link layer block 3110 into a signal of the IEEE1394 serial bus, and converts the data through the ports 31-2-1 to 31-2-3. To the 1394 serial bus 204. Also, the IEEE1394 3-port PHY block 311 transfers data received from the 1394 serial bus 204 via ports 312-1 to 312-3 to the IEEE1394 link layer block 310. Output.
  • Figure 4 shows a video server 201-m, ATM UNI 202-m, ATM / 139
  • FIG. 4 shows the structure of the bucket format in Bridge 203_m, 1394 serial bus 204-m and client terminal 205-m.
  • the video data of the application 401 is added with the RFC1483, IP and TCP (Transmission Control Protocol) / UDP (User Datagram Protocol) header power, and the IP / ATM bucket ( AAL5 SDU (Service Data Unit) 404 is generated.
  • RFC1483 the video data of the application 401
  • IP and TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • AAL5 SDU Service Data Unit
  • An AAL5 Trailer is added to the end of the IP / ATM bucket 402 to generate an AAL5 PDU (Protocol Data Unit) 403.
  • AAL5 PDU Protocol Data Unit
  • this AAL5 PDU 403 is broken down into 48-byte units, AAL5 Segmentation 404 is formed, and a cell header is added to the head of each of them to form an ATM cell 405.
  • the video server 201-m processes the video data of the application 401 in the order described above, and outputs the processed data to the ATM UNI 202-m as an ATM cell 405.
  • the ATM cells 405 supplied from the ATM UNI 202-m are processed in the order from the bottom to the top in FIG. 4 to generate video data of the application 401, and the processing is performed. I do.
  • the ATM UNI 202-m transmits the ATM cell 405 to the video server 201-m, and transmits the ATM cell 405 to the ATM switch 203, and the video server 209-m from the ATM switch 203. To be transmitted.
  • the ATM switch 203 transmits the ATM cell 405 transmitted from the video server 201-m via the ATM UNI 202_m to the ATM / 1394 via the predetermined ATM UNI 202-m. Transmit to Bridge 203_m. Conversely, an ATM cell 405 transmitted from a predetermined ATM / 1394 Bridge 203-m via the ATM UNI 202-m is converted to a video via the predetermined ATM UNI 202-m. Transmit to server 201 m.
  • the cell header is removed from the ATM cell 405 transmitted from the ATM Switch 203 through the ATM UNI 202-m.
  • An 8-byte ATM SDU 406 is extracted.
  • a predetermined number of these are collected to form an AAL5 PDU 407.
  • the AAL5 SDU Service Data Unit
  • the AAL5 SDU is taken out, and the AAL5 SDU is disassembled into a predetermined number, and a 1394 + ASEL (ATM over IEEE 1394 Serial Bus) Emulation
  • 1394 serial bus 20 1394Link packet 408 transmitted from 4 is converted to AL5 SDU, from which ATM SDU 406 is further generated. Further, a cell header is added, and an ATM cell 405 is generated.
  • the processing between ATM cell 405, ATM SDU 406 and AAL5 PDU 407 is performed in ATM SAR block 307, and the processing between AAL5 SDU and 1394Link packet 408 The processing is performed in the CPU 301 and the IEEE1394 link layer block 310.
  • the header is removed from the 1394Link bucket 408 transmitted through the 1394 serial bus 204-m, and the ASEL is assembled (409). . Then, the AAL5 SDU is assembled, and the IP / ATM bucket 410 is reconfigured. Then, the RFC1483, IP and TCP / UDP headers are removed, and the video data of the application 411 is extracted.
  • the video data processed by the application 411 is added with RFC1483, IP and TCP / UDP headers to form an IP / ATM packet 410, which is further decomposed. (Segmented AAL5 SDU409), a header is added to each of them, and the resultant data is transmitted to the 1394 serial bus 204-m as a 1394Link bucket 408.
  • the video data transmitted from the video server 201-m is transmitted to the ATM UNI 202-m, the ATM Switch 203, the ATM UNI 202-m, and the ATM / 1394 Bridge 2 0 3-m, transmitted to the client terminal 205-m via the 1394 serial bus 204.
  • the video server and the client terminal are relatively specified, and any client terminal must be the video server. In that case, the previous video server becomes a client terminal.
  • FIG. 5 shows a transmission format of an isochronous bucket in the 1394 serial bus 204.
  • the packet is transmitted in an isochronous cycle of 125 ⁇ sec.
  • Cycle start arbitration 5 0 1 — 1, 5 0 1 — 2, ⁇ , 5 0 1 — n, 5 0 1 — (n + 1) is placed at the beginning of each egg-mouth eggplant cycle.
  • Cycle start packet 5 02-1, 5 0 2-2,..., 5 0 2-n, 5 0 2-( ⁇ + 1) is placed in the Data prefix x 5 1 1 I have.
  • Cycle start composed of,..., 502-n, 502- (n + 1) is sent out by the cycle master node in the 1394 serial bus 204, and A bucket indicating the start.
  • Data prefix 511 indicates the start of an acknowledgment packet in a data bucket or sink port eggplant transfer
  • Data end 509 indicates a data packet or an acknowledgment packet in sink port transfer.
  • Iso—gap 510 represents the idle of the 1394 serial bus 204, and the sub-ports of the iso-mouth transfer are separated by Iso_gap 510.
  • arbitration 5 0 3—1, 5 0 3—2, ..., 503-n, 503-(n + 1) are arranged, and then one isochronous channel for a plurality of client terminals in one isochronous eggplant cycle.
  • 504-1, 504-1, 2,..., 504- ⁇ , 504-(n + 1) are arranged and transmitted.
  • an isochronous bucket of the channel # 1 for a plurality of client terminals is transmitted
  • an isochronous packet of the channel # 2 for the client terminal Is transmitted.
  • a data prefix 511 is arranged at the head of each isochronous packet.
  • isochronous eggplant transfer broadcast transmission is performed to the client terminal using the channel number represented by 8 bits.
  • the receiving side takes in only the data of the desired channel number.
  • Data end 509 is placed at the end of the iso-mouth eggplant, followed by Subaction-gap 512.
  • Subaction—gap5 12 is followed by arbitration 50 5—1, 5 0 5—2,..., 5 0 5—n, 5 0 5— (n + 1).
  • the asynchronous buckets Asynchronous Transfer 506-1, 506-2,..., 506-n, 506-(n + 1) )
  • Ack Transfer 507-1, 507-7, 2, 5 as Acknowledgment packet follows Ack—gap 513, followed by Data prefix 511. 0 7— n, 5 0 7— (n + 1), followed by Data end 509.
  • Subaction_gap 5 1 2 indicates the idle of the 1394 serial bus. You. Each client terminal monitors this gap time to determine whether transmission is possible. If the idle for a certain period of time (longer than Iso-gap5 10) continues, the node desiring asynchronous transfer determines that the bus can be used, and arbitration (arbitration 5 0 5- 1, 5 0 5—2,..., 5 0 5 ⁇ , 5 0 5— (n + 1)) The node that has acquired the right to use the bus uses the asynchronous transfer data (Asynchronous Transfer 506-1-1, 50).
  • the node that has received the data of the sink-mouth eggplant transfer receives an acknowledgment bucket (Ack T-base sfer 507, 1, 50 7—) as a reception result for the node of the source of the transmitted data. 2,..., 50 7- ⁇ , 5 0
  • FIG. 5 shows an example in which one asynchronous packet is transmitted.
  • Subaction_gap5 14 is placed, and then Cycle start arbitratio n 5 08-1, 50 8-2, ..., 5 08- ⁇ , 5 0 8-( ⁇ + 1) of the next isochronous cycle ) Force S is located.
  • the cycle start arbitration 508-1 of the isochronous cycle # 1 is determined by the cycle start arbitration 5 01-2-2 located at the head of the isochronous cycle # 2.
  • the asynchronous transfer can be executed until the next cycle. Even if this asynchronous transfer continues until the transmission time of the next cycle start, the asynchronous transfer is not interrupted, and the cycle start is transmitted by the cycle master node after waiting for the next bus idle. If one cycle lasts longer than 125 ⁇ sec, the next cycle is shorter Will be reduced.
  • step S601 the application that manages the connection with the client terminal 205-m of the ATM bridge 394 Bridge 203-m transmits data to the client terminal 205-m.
  • the transmitting module stores the isochronous channel corresponding to the client terminal to be transmitted on the table in response to this request.
  • IsoTransmitBand assignment processing indicates a band in the transmission direction of each isochronous channel or ASEL-VCC, and has an independent value for each isochronous channel or ASEL-VCC. This value is, for example, 2.048 Mbps.
  • step S603 the calculation result of the following equation is substituted for the zero and zero parameters IsoTranmitNumber PerPeriod.
  • IsoT-advance smitNumberPerPeriod indicates the number of isochronous NAS buckets that can be transmitted per one scheduling cycle, and this parameter has an independent value for each isochronous eggplant channel or ASEL-VCC.
  • IsoTransmitLength is the length of an isochronous bucket to be transmitted calculated in accordance with the isochronous bucket traffic of the entire system, and has an independent channel for each isochronous NAS channel or ASEL-VCC.
  • IsoTransmitPeriod indicates the timer interrupt cycle that is the basis of scheduling.
  • IsoTransmitBand 2. 0 4 8 X 1 0 6 bps (Bit Par Second), IsoTransmitLength 8 1 6-byte, head length 2 0 bytes to over, the Ru IsoTransmitPeriod3 ⁇ 4i 2 X 1 0- 3 sec and T , IsoTransmitNumberPerPeriod is 0.64.
  • IsoTransmitEnaCount is initially set to zero.
  • This IsoTransmitEnaCount represents a counter value indicating the number of iso-mouth egg packets that can be transmitted within the scheduling period, and has an independent value for each iso-mouth egg channel or ASEL-VCC.
  • 1 is initially set to IsoDelayVariationTorelance, which indicates an allowable value of the number of iso-mouth-like buckets that can be transmitted within a scheduling cycle for absorbing delay fluctuation. This value also has an independent value for each isochronous eggplant channel or ASEL-VCC.
  • step S702 the CPU 301 of the ATM / 1394 Bridge 203-3 initializes the parameter Sumlso Cycle, which indicates the total number of isochronous cycles within the scheduling cycle, to 1, and sets the step S702.
  • the parameter SumlsoLength which represents the total value of the transmitted isochronous bucket lengths, is initialized to 0.
  • step S704 a search for the next isochronous channel (or a search for ASEL-VCC, hereinafter referred to as a channel search) is performed.
  • step S705 it is determined whether the search has been completed. If it is determined that the search has been completed, the process ends. If it is determined that the channel to be searched still remains, the process proceeds to step S706, and it is determined whether or not the IsoTransmitEnaCount force S1 is equal to or more than S1. In this case, in step S604 of FIG. 6, since this parameter is set to 0, the process proceeds to step S707, and IsoTransmitEnaCount is set to Nasno, which can be transmitted per scheduling cycle. .
  • step S704 The number of packets IsoTransmitNumberPerPeriod (for example, 0.64) is added. Then, the process returns to step S704, where a search for the next channel is executed. In step S705, it is determined that the search has been completed, and the process is once terminated.
  • step S708 it is determined whether or not there is an isochronous bucket waiting for transmission. If there is, the flow advances to step S710 to add IsoTransmitLength to SumlsoLength. In this case, SumlsoLength is initially set to 0 in step S703, and assuming that IsoTransmitLength is 8 16 knots, the value "8 16" is set for SumlsoLength.
  • step S711 the SumlsoLength force set in step S710 is an isochronous bucket that can transmit the ATM / 1394 Bridge 203-m within one isochronous cycle.
  • Maximum length M Force that is less than or equal to axIsoLength, force s is determined. If the SumlsoLength force is equal to or less than the SMaxIsoLength, the process proceeds to step S712, and a process of chaining to transmit the asynchronous bucket waiting for transmission in the same isochronous cycle as the previous bucket is executed. Then, the process proceeds to step S713, in which IsoTransmitEnaCount is decremented by one. After that, the process returns to step S706, and the subsequent processing is repeatedly executed. This chained packet is transmitted in the next scheduling cycle.
  • step S711 when it is determined that the SumlsoLength force S is larger than MaxIsoLength, the process proceeds to step S714, and SumlsoCycle is incremented by one. Then, in step S 7 1 5, is force not force force s judgment or less SumlsoCycle X 1 2 5 sec of I straight mosquitoes S IsoTransmitPeriod. If it is determined that the value is larger than the sum of the SumlsoCycle X 125 / sec S IsoTransmitPeriod, the processing is terminated.If it is determined that the former is equal to or less than the latter, the process proceeds to step S711.
  • a process is performed to chain the asynchro packet waiting to be transmitted for transmission in the next (different from the previous packet) isochronous cycle. Then, the process proceeds to step S711, where IsoTransmitLength is set in SumlsoLength. Next, proceeding to step S713, IsoTransmitEnaCount is decremented by one. Then, the process returns to step S706, and the subsequent processes are repeatedly executed. This chained packet is processed for transmission in the next scheduling cycle.
  • step S708 determines whether there is no isochronous packet awaiting transmission. If it is determined in step S708 that there is no isochronous packet awaiting transmission, the process proceeds to step S709. It is determined whether IsoTransmitEnaCount is smaller than the allowable value IsoDelayVariationTorelance of the number of isocratic buckets that can be transmitted within a scheduling cycle for absorbing delay fluctuation.If it is determined that it is smaller, the process proceeds to step S707. The process proceeds, after the process of adding IsoTransmitNumberPerPeriod to the current IsoTransmitEnaCount is performed, and returns to step S704. If it is determined that the IsoTransmitEnaCount force is equal to or greater than the IsoDelayVariationTorelance, the process of step S707 is skipped, the process returns to step S704, and the subsequent processes are repeatedly executed.
  • step S704 of FIG. 7 the table created in step S601 of FIG. 6 is searched for an iso-nast channel or ASEL-VCC. Now, if there are n channels in this table, for example, the first channel # 1 will be searched. In step S705, it is determined that the search has not yet been completed, so the flow advances to step S706 to determine whether or not the IsoTransmitEnaCount force of channel # 1 is equal to or greater than 1. .
  • step S604 since this value is initialized to 0 in step S604, the process proceeds to step S707, and is added to IsoTransmitNumberPerPeriod (eg, XjO.64) 1) ⁇ and IsoTransmitEnaCount.
  • IsoTransmitNumberPerPeriod eg, XjO.64
  • step S704 the next channel # 2 is searched from the table. Also in this channel # 2, since the value of the IsoTransmitEnaCount is now 0 in step S706, the process proceeds to step S707 and 0.64 is added.
  • step S704 channel # 3 is searched. Similarly, 0.64 is set in IsoTransmitEnaCount of channel # 3 to channel #n.
  • step S705 If it is determined in step S705 that the search for n channels has been completed, the processing shown in the flowchart of FIG. 7 is temporarily terminated.
  • the channel # 1 is searched first in step S704, and the channel is searched in step S706.
  • the No. 1 IsoTransmitEnaCount force is a force that is greater than or equal to S1. In this case, since this value is 0.64, that is, less than 1 packet, the process proceeds to step S707, where 0.64 is further added to IsoTransmitEnaCount, for a total of 1.28 It is said.
  • step S704 channel # 2 is searched for and the same processing is executed. In this way, 1.28 is set in IsoTransmitEnaCount from channel # 1 to channel #n.
  • this processing is temporarily ended.
  • step S704 the channel # 1 is searched in step S704, and in step S706, the IsoTransmitEnaCo It is determined whether the value of unt is 1 or more. In this case, since this value is 1.28, the flow advances to step S708 to determine whether there is an isochronous bucket waiting to be transmitted. If this bucket exists, proceed to step S710, and determine the length of the packet to be transmitted in one isochronous cycle (125 ⁇ sec). oLength is added to the length of one isochronous packet, IsoTransmitLength (for example, 8 16 bytes). This sets SumlsoLength to 8 16 in the current case.
  • step S711 the value of SumlsoLength set in step S710 is set to the value of the isochronous bucket length MaxIsoLength that can be transmitted within one isochronous cycle (125 ⁇ sec) (for example, MaxIsoLength). 1 0 2 4 bytes) It is determined whether it is less than or equal to. In this case, SumlsoLength is 8 16, which is smaller than 10 24, so the flow advances to step S 7 12, and the transmission-waiting isochronous packet is the same as the previous packet. Chained (specified) for transmission in the eggplant cycle. This chained packet is processed for transmission in the next scheduling cycle.
  • MaxIsoLength MaxIsoLength that can be transmitted within one isochronous cycle (125 ⁇ sec) (for example, MaxIsoLength). 1 0 2 4 bytes) It is determined whether it is less than or equal to. In this case, SumlsoLength is 8 16, which is smaller than 10 24, so the flow
  • step S713 the IsoTransmitEnaCount force is decremented by one. As a result, in this case, this value changes to 1.28 force, 0.28.
  • step S706 it is determined whether or not the value is 1 or more. In this case, this value is 0.28, which is 1 or less. Therefore, the process proceeds to step S707, where 0.64 is added again to be 0.92.
  • step S704 the next channel # 2 is searched, the same processing is executed for channel # 2, and the process proceeds to step S708.
  • step S710 one iso-open egg bucket length 8 16 is added to the bucket length SumlsoLength in one isochronous cycle.
  • SumlsoLength is 1632.
  • step S711 it is determined whether this 1632 (SumlsoLength) force is smaller than 1024 (MaxIsoLength). Obviously, 1632 is larger than 1024, so in this case, a determination of NO is made in step S711.
  • the length is 1632 bytes, and the bucket length that can be transmitted in one isocorner eggplant cycle is 1024 bytes. This data should be transmitted in the next isochronous cycle. For this reason, the process proceeds to step S714, and the number SumlsoCycle of the number of the open-mouthed cycle is incremented by 1, and is 2 in the present case.
  • step S715 it is determined whether the value obtained by multiplying the SumlsoCycle set in step S714 by 125 is less than or equal to 2 msec. That is, it is determined whether or not the length can be transmitted within one scheduling cycle.
  • the processing is no longer possible within 2 msec, and the processing is terminated.
  • step S 716 to shift the transmission-waiting asynchronous packet to the next (different from previous packet) isochronous packet.
  • step S711 the isochronous bucket of channel # 2 that has been previously chained is added to the sum of the isochronous packet lengths SumlsoLength transmitted in one isochronous cycle. Length 8 16 is set. This chained bucket is processed for transmission in the next scheduling cycle.
  • step S713 the value of IsoTransmitEnaCount is decremented by 1, and is set to 0.28 in this case.
  • Step S 7 0 the value of IsoTransmitEnaCount is decremented by 1, and is set to 0.28 in this case.
  • 0 is set to IsoTransmitEnaCount of n channels.
  • step S709 if it is determined that the number of packets transmitted during the scheduling cycle is smaller than the IsoTransmitEnaCount force and the IsoDelayVariationTorelance, then even if the transmission path fluctuates, Since the bucket can be transmitted, in step S707, 0.64 is added to IsoTransmitEnaCount, and the value of IsoTransmitEnaCount and the allowable value IsoDelayVariationTorelance that are larger than IsoTransmitEnaCount are larger than the bucket to be transmitted. If you increase the number further, Since the bucket may not be transmitted correctly due to the fluctuation of the transmission path, the process of step S707 is skipped.
  • IsoTransmitLength in each channel is set to the value of 1Zn of MaxIsoLength in the processing shown in Fig. 6 and Fig. 6, the overhead becomes slightly longer and the transmission efficiency decreases. Similarly to the conventional case shown in FIG. 1, it is also possible to provide n channels in one isochronous cycle.
  • At least information of the same type of application is transmitted using only one isochronous bucket in one isochronous cycle.
  • information for multiple client terminals is transmitted in one isochronous eggplant cycle. This is not always the case, as it may be more efficient.
  • information of the same type of application is transmitted to a specific one client terminal (for example, client terminal 205-1-) by a plurality of information. Data should be transmitted every isochronous eggplant cycle.
  • the transmission isochronous packet length is set to about 80% of the maximum value of the transmittable isochronous bucket length.
  • the length is aligned in units of 32 bits to facilitate processing on both the transmitting and receiving sides.
  • the asynchronous bucket length is 20 bytes in the layer above the link layer. Approximately 8 16 bytes is appropriate, including the overhead.
  • the transmission cycle of the isochronous packet is calculated from the band (content band) allocated to the isochronous channel.
  • this transmission cycle is determined by the bandwidth allocated to the VCC set on the wireless channel. It is calculated from Here, in order to simplify the calculation, it is assumed that the value of this band excludes the overhead part. For example, if the bandwidth is 2.0 4 8
  • n 24 from the following equation.
  • ATM / 1394 Bri dge is for a client terminal, 2 4 ⁇ isochronous cycle
  • an isochronous packet is transmitted to the VCC set on the isochronous eggplant channel or the isochronous channel.
  • 24 client terminals can be accommodated in one ATM 394 Bridge.
  • packet handling by software if bucket handling is to be performed by scheduling using a 2 msec timer interrupt, the number of events per scheduling cycle (overwork to be processed) is assumed when the number of client terminals is 24. Tsu number de) to the 1 6 (- a 1 X 2 X 1 0 3/ 1 2 5). This value is sufficient to allow the software to handle the iso bucket eggplant.
  • an isochronous transmitter that can transmit the transmit isochronous packet length Since the maximum length of the NAS packet is limited to 80% (816 bytes), the traffic of NAS packets other than video information (for example, audio-on-demand, telephone, various announcements, etc.) ) Can be used.
  • the number of events per scheduling cycle is 304, and one isoque
  • the number of client terminals is set to more than 24 and 19. Even in this case, the number of events per 2 msec scheduling cycle is 16 events, so 1 isochronous clock is used.
  • the overhead processing of the packet only needs to be performed within 1/25 // sec, and the handling of the bucket with the software is sufficiently possible.
  • FIG. 8 shows a configuration example of a video-on-demand system to which the present invention is applied.
  • the sending device 802 functions as a video server accommodating a 1394 serial bus of a small system.
  • a device corresponding to a client terminal having a function of receiving and decoding the video stream addressed to the user transmitted from the transmitting device 802 is stored.
  • the video stream that has been compressed and coded from 02 is decoded and displayed on the display device 803 of the front seat.
  • the display device 8 • 3 for example, a liquid crystal display can be used.
  • a fixed or detachable control function unit 808 is provided on the armrest portion of the seat 805.
  • This control function unit The user can input various operations such as selecting, playing, pausing, fast-forwarding, and rewinding a video program as a passenger's operation terminal.
  • the cable 807 accommodated along the guide groove 806 corresponds to the ATM UNI 202 in FIG.
  • the interface of the sending device 802 should be changed to ATM UNI, and an ATM switch and ATM / 1394 bridge should be added. I just need. This makes it possible to construct a large-scale video-on-demand system for 300 to 500 seats. Also in this case, the seat 805 and the display device 803 may be the same as those in the small-scale system.
  • the 1394 serial bus is used as the bus connecting the client terminals.
  • Industrial Applicability According to a data transmission system, a data transmission method, a data transmission device, and a data transmission method according to the present invention, when data is transmitted from a server device to a terminal device at a predetermined transmission period, the data is transmitted from a predetermined transmission period.
  • An interrupt signal is generated in a long scheduling cycle unit, and data transmission control is performed in a predetermined transmission cycle based on the amount of data that can be transmitted within one scheduling cycle. Overhead can be reduced and transmission efficiency can be improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

明細書 データ伝送システム、 データ伝送方法、 データ送信装置
及びデータ送信方法 技術分野 本発明は、 データ伝送システム、 データ伝送方法、 データ送信装 置及びデータ送信方法に関し、 特に、 より効率的にデータを伝送す ることができるようにした、 データ伝送システム、 データ伝送方法、 データ送信装置及びデータ送信方法に関する。 背景技術 図 1は、 米国電気電子学会 (The International of Electrical and Electronics Engineers, inc. 以下、 IEEEとレヽう。 ) 1394シリ アルバスのバケツ ト伝送フォーマツ トの例を表している。 同図に示 すように、 ノ、0ケッ トは、 1 2 5 μ secのアイソクロナスサイクル (I sochronous Cycleで伝送されるようになっている。 各アイソクロナ スサイクルの先頭には、 Cycle start arbitration 1 0 1 — 1, 1 0
1 — 2, ···, 1 0 1 — nが配置され、 その次には、 Data prefixl 1 1 ίこ続レヽて Cycle start packet 1 0 2— 1 , 1 0 2— 2, …, 1 0
2— nが酉己置されている。 この Cycle start packet 1 0 2— 1, 1 0 2 - 2 , ···, 1 0 2— nの次には、 Data end 1 0 9に続いて Iso_ gap 1 1 0が配置されている。 ここで、 Cycle start arbitration 1 0 1 — 1, 1 0 1 — 2, ···, 1 0 1 — n及び Cycle start packet 1 0 2— 1, 1 0 2— 2, ···, 1 0 2— nによって構成される Cycle startは、 IEEE1394シリアルノく ス (以下、 単に、 1394シリアルバス、 又は、 バスと適宜略称す る。 ) 内のサイクルマスタノードによって送出され、 アイソクロナ スサイクルの開始を示すパケッ トである。 Data prefix 1 1 1は、 デ —タパケッ ト若しくはァシンク口ナス転送におけるァクノ リ ッジパ ケッ トの開始を示し、 Data endl 0 9は、 デ一タパケッ ト若しくは ァシンク口ナス転送におけるァクノ リ ッジバケツ トの終了を示す。 Iso— gap l l Oは、 1394シリアルバスのアイ ドルを表し、 ァイソクロ ナス転送のサブァクションは、 Iso_gap l 1 0によって分離されてい る。
Iso— gap 1 1 0の次には、 arbitration 1 0 3 — 1, 1 0 3 — 2, ···, 1 0 3 — nが配置され、 その次に、 1394シリアルバスに接続さ れているクライアント端末に対する n個のチャンネルのアイソクロ ナスノヽ0ケッ ト 1 0 4 _ 1 1, 1 0 4— 1 2, ···, 1 0 4 _ n nが酉己 置されている。 各ァイソクロナスパケッ ト 1 0 4— 1 1, 1 0 4 - 1 2, …, 1 0 4— n nには、 その先頭に、 Data prefix 1 1 1が配 置されている。
アイソク口ナス転送は、 8ビッ トで表されるチャンネル番号を用 いて、 クライアント端末に対してブロードキャス ト送信が行われる。 受信側は、 自分の所望するチャンネル番号のデータだけを取り込む。
n番目のァイソクロナスノヽ0ケッ ト 1 0 4— 1 η , 1 0 4— 1 n, …, 1 0 4— n nの最後には、 Data end 1 0 9が配置され、 その次 に ίま、 Subaction gap 1 1 2力 酉己置されてレヽる。 Subaction gap 1 1 2の次に、 arbitration 1 0 5— 1, 1 0 5— 2, …, 1 0 5— n力 S 配置されている。 さらに、 Data prefix 1 1 1を介して、 ァシンクロ ナスノヽケッ 卜であ o Asynchronous Transfer 1 0 ο— 1, 1 0 6— 2, ···, 1 0 6— nとそれに続いて Data end 1 0 9が配置されている。 またその次には、 Ack— gap 1 1 3を介して、 Data prefi 1 1 1に続 いてァクノ リ ッジパケッ トとしての Ack Transfer 1 0 7— 1, 1 0 7— 2, ···, 1 0 7— nとそれに続いて Data end 1 0 9が配置され ている。
Subaction— gap 1 1 2は、 1394シリアルバスのアイ ドルを示してい る。 各端末はこのギャップ時間を監視することにより、 伝送が可能 かどうかを判定する。 一定時間以上のアイ ドル (Iso_gapl 1 0より 長い) が続く とァシンク口ナス転送を希望するノ一ドはバスを使用 できると判定して、 バス獲得の為のアービトレーショ ン (arbitrat ion 1 0 5— 1, 1 0 5 - 2, …, 1 0 5 - n ) を実行する。 ノ スの 使用権を獲得したノードは、 ァシンクロナス転送のデータ (Asynch ronous Transfer 1 0 6 - 1 , 1 0 6— 2, …, 1 0 6 - n ) を送信 する。 ァシンクロナス転送のデータを受信したノードは、 その伝送 されてきたデータの発信元のノード対して受信結果と してァクノ リ ッジパケッ ト (Ack Transfer 1 0 7— 1, 1 0 7— 2, …, 1 0 7 - n) を送信する。
なお、 図 1では、 1つのァシンクロナスパケッ トの伝送が行われ た場合を例としている。 最後に、 Subaction— gap 1 1 4が配置され、 その後に、 次のアイソクロナスサイクルの Cycle start arbitratio n 1 0 8 - 1 , 1 0 8— 2, …, 1 0 8— ηが配置される。 ここで、 アイ ソクロナスサイクル # 1の Cycle start arbitration 1 0 8— 1 は、 ァイソクロナスサイクル # 2の先頭に位置する Cyc l e start ar b itrat ion 1 0 1 — 2である。
また、 ァイソクロナス転送後、 次のサイクルまでは、 ァシンクロ ナス転送を実行することができる。 このァシンクロナス転送が、 次 のサイクルスタートの伝送時間まで続いても、 そのァシンクロナス 転送は中断されず、 次のバスのアイ ドルまで待ってから、 サイクル マスタノードによってサイクルスタートが伝送される。 1つのサイ クルが、 1 2 5 / sec以上続いた場合には、 次のサイクルがその分短 縮されることになる。
各ァイソクロナスチャンネル (ァイソクロナスパケッ ト) の長さ は、 各ァイソクロナスサイクル毎に、 ァイソクロナスチャンネルに 割り当てられた伝送帯域から算出される均等な長さとされる。
各ァイソクロナスパケッ トには、 I EEE 1394の物理層 (Phys ical L ayer) で必要となる Data pref ixのための時間に相当するオーバへッ ド (基本速度としての 1 0 0 Mbps (正確には、 9 8 . 3 0 4 Mbp s) の BASE_RATEの 1 6クロック分の時間に相当するビッ ト数) 、 Da ta endのための時間に相当するオーバへッ ド (前記 BASE_RATEの 2 4 クロック分の時間に相当するビッ ト数) 、 ァイソクロナスパケッ ト ヘッダ及びアプリケーシヨンレイァゥ トの整合を取るためのアプリ ケーション用ヘッダが必要となるが、 それらのオーバヘッ ドの割合 は、 ァイソクロナスパケッ トの長さを短くすればするほど、 すなわ ち、 アイソク口ナスチャンネルに必要な帯域が小さければ小さいほ ど、 大きくなる。
例えば、 ATM (Asynchronous Transfer Mode) ネッ 卜ワーク上のビ デォサ一バから IEEE 1394シリアルバスを介し、 各クライアント端末 に対して、 3 2 Kバイ トの同一長である MPEG (Moving Picture Exp erts Group) - PSノ、0ケッ 卜を格納した AAL (ATM Adaptation Layer) 5-PDU (Protocol Data Unit) のス トリーム力 2 Mbps ( 2. 0 4 8 X 1 06bps) の CBR (Constant Bit Rate) サービスで伝送される 場合、 ATMと IEEE1394のインタフユース処理を行う ATM八 394 Bridge 、 1ァイソクロナスサイクノレ ( 1 2 5 μ sec = 1 /8 0 0 0 sec) 内に、 各クライアント端末に対して送信すべきアイソクロナスパケ ッ 卜長は、 IP (Internet Protocol) 及び RFC (Request For Commen ts) 1483で規定されている IP/ATM (IP over ATM) ヘッダを除く と、
3 2ノ イ ト (= 2. 0 4 8 X 1 06/ 8 0 0 0 / 8 ) となる。
この場合、 各アイソク口ナスバケツ トにおけるオーバへッ ドは、 Data prefixのオーバへッ ドが約 1 6ビッ ト (= 2バイ ト) 、 IEEE1 394のリンクレイヤ (Link Layer) で規定されているァイソクロナス ヘッダ及び CRC (Cyclic Redundancy Check) フィ ーノレドカ 1 2ノくィ ト、 アプリケーション用ヘッダが少なく とも 8バイ ト必要であるた め、 合計 2 2バイ トとなる。 なお、 Data endのオーバへッ ドは、 1 ァイソクロナスサイクル内に送信するアイソクロナスバケツ ト数に 反比例することから、 従来例の場合、 非常に小さい値となるため、 ここでは無視する。 その結果、 ATM/1394 Bridgeから、 各クライアン ト端末へのァイソクロナスパケッ トは、 全体の 4 1 % (= 2 2バイ トノ (2 2バイ ト + 3 2バイ ト) ) がオーバへッ ドとなり、 非常に 高い割合となる。
また、 1394シリアルバスの伝送速度を 1 0 0Mbpsとした場合、 送 信可能なアイソク口ナスバケツ トの最大値は 1 0 2 4バイ トとなる 、 このとき、 ATM/1394 Bridgeの収容 (接続) 可能なクライアント 端末の数は、 I EEE 1394のリンクレイャ以上の階層のオーバへッ ドが 問題となるため、 2 2バイ トのオーバへッ ドカゝら、 Data pre fi x分だ け差し引いた 2 0バイ トのオーバへッ ドを考慮すると、 次式により、 1つの 1394シリアルバスあたり 1 9台が限度となる。
1 0 2 4バイ ト_ ( 3 2バイ ト + 2 0バイ ト) = 1 9 . 7 さらにソフ トウェアによるバケツ トのハンドリングが難しいとい う問題もある。 ソフ トウェアによるパケッ トのハンドリ ングは、 1 2 μ se cという短い周期で行うのは現実的ではないため、 タイマ割 り込みなどによるスケジューリングを基本に処理を行うのが一般的 である。 ATM/ 1394 Bri dgeにおいて、 スケジューリングの周期を 2 m secとし、 クライアント端末の収容台数を最大の 1 9台にした場合、 スケジユーリング周期あたりのィベント数 (処理すべきオーバへッ ド数) を算出すると、 3 0 4イベント (= 1 9 X 2 X 1 0 3Z 1 2
5 ) となり、 1ァイソクロナスパケッ トのォ一バヘッ ド処理を 6 .
6 μ se c ( = 1 2 5 μ sec/ 1 9 ) 以内に行わなければならず、 現実 的ではない。 発明の開示 本発明はこのような状況に鑑みてなされたものであり、 オーバへ ッ ドを少なく し、 効率的にデータを伝送することができるようにし、 1つのバスに接続することが可能なクライアント端末の数を多くす るとともに、 ソフトウェアによるハンドリングを容易にするもので ある。
本発明に係るデータ伝送システム、 データ伝送方法、 データ送信 装置及びデータ送信方法においては、 サーバ装置から端末装置に所 定送信周期でデータを伝送する際に、 所定送信周期より長い周期の スケジユーリング周期で割込信号を発生し、 1スケジューリ ング周 期単位内に送信可能なデータ量に基づいて、 所定送信周期毎にデー タの送信制御を行う。 図面の簡単な説明 図 1は、 従来のアイソクロナスサイクル内のデータフォーマッ ト を示す図である。
図 2は、 本発明に係るデータ伝送システムの構成の一例を示すブ ロック図である。
図 3は、 図 2に示す ATM/1394 Bridge 2 0 3— 1の構成の一例を示 すブロック図である。
図 4は、 パケッ トのフォーマッ トを示す図である。
図 5は、 ァイソクロナスサイクル内のデータフォーマツ トを示す 図である。
図 6 図 2の ATM/ 1394 Bridge 2 0 3— 1 の初期状態における処理 を説明するためのフローチヤ一トである。
図 7 図 2の ATM/1394 Bri dge 2 0 3— 1 のスケジューリ ング周期 毎の処理を説明するためのフローチヤ一トである。
図 8は、 本発明のデータ伝送システムを適用したビデオオンデマ ンドシステムの構成の一例を示す図である。 発明を実施するための最良の形態 図 2は、 本発明のデータ伝送システムの構成例を示している。 こ のシステムにおいては、 ATM UNI (User Network Interface) 20 2 - 1 に対してビデオサ一バ 2 0 1— 1が接続され、 ATM UNI 2 0 2 - j に対してビデオサーバ 2 0 1— j が接続されている。 そして、 AT M UNI 20 2 - 1 , 20 2— j は、 ATM Switch 20 3に接続されてい る。 ATM Switch 20 3には、 ATM/1394 Bridge 2 0 3— 1カ 、 ATM U NI 2 0 2 - ( j + 1 ) を介して接続されている。 また、 ATM/1394 B ridge 20 3 - 2力 ATM UNI 2 0 2— ( j + 2 ) を介して、 ATM/1394
Bridge 2 0 3 - ( k - 1 ) が ATM UNI 2 ◦ 2— ( i - 1 ) を介して、 さらに ATM/1394 Bridge 2 0 3 - k力 TM UNI 2 0 2 - i を介して、 それぞれ ATM Switch 20 3に接続されている。
例えば ATM/1394 Bridge 2 0 3— 2には、 1394シリアルバス 204 を介して n台のクライアント端末 20 5— 1乃至 20 5— nがノ一 ド分岐方式で接続されている。
図 3は、 ATM/1394 Bridge 2 0 3— 1の構成例を示している。 なお、 図示は省略するが、 その他の ATM/1394 Bridge 2 0 3— 2, 20 3—
3, …, 20 3 _ kも同様に構成されている。
C PU 3 0 1は、 プログラムに応じて ATM SAR (Segmentation an d Reassembly) ブロック 3 0 7、 ATM PHYブロック 3 0 8、 IEEE139 4リンクレイヤブロック 3 1 0、 IEEE1394 3ポ一ト PHYブロック 3 1
1及びシステムコントローラ 3 0 2を制御し、 ィンタフェース処理 を実行させる。 スケジューリングタイマ 3 04は、 2 msecの計時動 作を行い、 C PU 3 0 1に対してタイマ割込信号を出力する。 メモ リブロック 3 0 3は、 ロー力ルバス 3 0 5を介してシステムコント ローラ 3 0 2と接続されており、 送受信するバケツ トデータを記憶 する。
システムコントローラ 3 0 2には、 PCI (Peripheral Component Interconnect) ノ ス 3 0 6を介して ATM Switch 2 0 3に対する送受 信処理を行うプロックと、 1394シリアルバスに対する送受信処理を 行うブロックとが接続されている。 前者のブロックは、 ATM SARブロ ック 3 0 7、 ATM PHYプロック 3 0 8及び光学 (Opti cs) ブロック 3 0 9 とにより構成され、 後者は、 IEEE1394リンクレイヤブロック 3 1 0、 IEEE1394 3ポート PHYプロック 3 1 1及びポート 3 1 2— 1 乃至 3 1 2 _ 3により構成されている。
ATM SARブロック 3 0 7は、 メモリブロック 3 0 3力 らシステムコ ン トローラ 3 0 2及び PCIバス 3 0 6を介して供給されるデ一タを A TMセルに分解し、 ATM PHYブロック 3 0 8に供給する。 また、 逆に、 ATM PHYプロック 3 0 8力、ら供給される ATMセルを組み立て、 システ ムコントローラ 3 0 2及び PCIバス 3 0 6を介してメモリブロック 3 0 3に出力する。 ATM PHYプロック 3 0 8は、 ATM SARプロック 3 0 7から供給される ATMセルを、 光学プロック 3 0 9の仕様に対応する データに変換して光学プロック 3 0 9に出力するとともに、 光学ブ ロック 3 0 9から入力された ATMセノレを、 ATM SARブロック 3 0 7の フォーマッ トのデータに変換して、 ATM SARブロック 3 0 7に出力す る。 光学ブロック 3 0 9は、 ATM Switch 2 0 3から供給される光信 号によるデータを受信し、 ATM PHYブロック 3 0 8に供給するととも に、 ATM PHYプロック 3 0 8から供給されるデータを光信号に変換し て、 ATM Swi tch 2 0 3に出力する。
IEEE 1394リンクレイヤブロック 3 1 0は、 システムコントローラ 3 0 2及び PCIバス 3 0 6を介してメモリブロック 3 0 3から入力さ れる ATMのフォーマツ トのデータを C P U 3 0 1によって予め設定さ れた 1394シリアルバスのフォーマッ トに変換して、 IEEE1394 3ポー ト PHYブロック 3 1 1に出力するとともに、 逆に、 IEEE1394 3ポー ト PHYブロック 3 1 1から入力される 1394シリアルバスのフォーマッ トのデータを、 システムコントローラ 3 0 2及び PCIバス 3 0 6を介 してメモリブロック 3 0 3に出力し、 このデータは C P U 3 0 1に よって ATMのフォーマッ トに変換される。 IEEE1394 3ポート PHYブロ ック 3 1 1は、 IEEE1394リンクレイヤプロック 3 1 0から入力され るデータを、 IEEE1394シリアルバスの信号に変換して、 ポート 3 1 2 - 1乃至 3 1 2— 3を介して 1394シリアルバス 2 0 4に送信する。 また、 IEEE1394 3ポート PHYブロック 3 1 1は、 1394シリアルバス 2 0 4からポート 3 1 2— 1乃至 3 1 2— 3を介して受信されるデ —タを、 IEEE1394リンクレイヤブロック 3 1 0に出力する。
図 4は、 ビデオサーバ 2 0 1— m、 ATM UNI 2 0 2— m、 ATM/139
4 Bridge 2 0 3 _ m、 1394シリアルバス 2 0 4— m及びクライアン ト端末 2 0 5—mにおけるバケツ トのフォーマツ トの構成を示して いる。 ビデオサーバ 2 0 1—mにおいて、 アプリケーショ ン 4 0 1 のビデオデータに、 RFC1483、 IP及び TCP (Transmi ssion Control P rotocol) /UDP (User Datagram Protocol) ヘッダ力 付カロされ、 IP/ ATMバケツ ト (AAL5 SDU (Service Data Unit) ) 4 0 2が生成され る。
さらに、 この IP/ATMバケツ ト 4 0 2の最後に、 AAL5 Trai l erが付 加されて、 AAL5 PDU (Protocol Data Unit) 4 0 3が生成される。
さらに、 この AAL5 PDU 4 0 3は、 4 8バイ ト単位で分解されて、 AAL5 Segmentation 4 0 4となり、 それぞれの先頭にセルヘッダが付 加されて、 ATMセル 4 0 5が構成される。
すなわち、 ビデオサーバ 2 0 1— mは、 アプリケ一シヨン 4 0 1 のビデオデータを、 上述した順番で処理し、 ATMセル 4 0 5として、 ATM UNI 2 0 2—mに出力する。 また、 逆に、 ATM UNI 2 0 2— mか ら供給される ATMセル 4 0 5を、 図 4の下から上の順番に処理し、 ァ プリケーシヨン 4 0 1のビデオデータを生成し、 処理する。
ATM UNI 2 0 2— mは、 ATMセル 4 0 5をビデオサーバ 2 0 1— m 力、ら ATM Swi tch 2 0 3に伝送し、 また、 ATM Switch 2 0 3からビデ ォサーバ 2 0 1—mに伝送する。
ATM Switch 2 0 3は、 ビデオサーバ 2 0 1—mから ATM UNI 2 0 2 _ mを介して伝送されてきた ATMセル 4 0 5を所定の ATM UNI 2 0 2 —mを介して ATM/1394 Bri dge 2 0 3 _ mに伝送する。 また、 逆に、 所定の ATM/ 1394 Bridge 2 0 3—mから ATM UNI 2 0 2— mを介して 伝送されてきた ATMセル 4 0 5を所定の ATM UNI 2 0 2 _ mを介して ビデオサーバ 2 0 1 一 mに伝送する。
ATM/ 1394 Bridge 2 0 3一 mにおいては、 ATM Switch 2 0 3力 ら A TM UNI 2 0 2—mを介して伝送されてきた ATMセル 4 0 5から、 セル へッダが除去され、 4 8バイ ト単位の ATM SDU 4 0 6が抽出される。 そして、 これが所定の数集められ、 AAL5 PDU 4 0 7が構成される。 そして、 AAL5 PDU 4 0 7のペイロード部分である AAL5 SDU ( Servic e Data Uni t) が取り出され、 この AAL5 SDUは、 所定の数に分解され, その先頭に 1394+ASEL (ATM over IEEE 1394 Serial Bus Emulation
Layer) のヘッダが付加されて、 139札 inkパケッ ト 4 0 8として 13 94シリアルバス 2 0 4に伝送される。 逆に、 1394シリアルバス 2 0 4から伝送されてきた 1394Linkパケッ ト 4 0 8力 AL5 SDUに変換さ れ、 これからさらに ATM SDU 4 0 6が生成される。 そしてさらに、 セ ルヘッダが付加されて、 ATMセル 4 0 5が生成される。
以上の処理のうち、 ATMセル 4 0 5、 ATM SDU 4 0 6及び AAL5 PDU 4 0 7の間の処理が ATM SARブロック 3 0 7において行われ、 AAL5 SDUと 1394Linkパケッ ト 4 0 8の間の処理が C P U 3 0 1及び IEEE1 394リンクレイヤブロック 3 1 0において行われる。
クライアント端末 2 0 5 _ mにおいては、 1394シリアルバス 2 0 4— mを介して伝送されてきた 1394Linkバケツ ト 4 0 8からヘッダ が除去されて、 ASELの組立て処理が行われる (4 0 9 ) 。 そして、 さらに、 この AAL5 SDUが組み立てられて、 IP/ATMバケツ ト 4 1 0力 S 再構成される。 そして、 そのうちの RFC1483、 IP及び TCP/UDPヘッダ が除去されて、 アプリケーション 4 1 1のビデオデータが抽出され る。
また、 逆に、 アプリケーショ ン 4 1 1 により処理されたビデオデ ータには、 RFC1483、 IP及び TCP/UDPヘッダが付加されて、 IP/ATMパ ケッ ト 4 1 0が構成され、 これが、 さらに分解され (Segmented AA L5 SDU 4 0 9 ) 、 それぞれにヘッダが付加されて 1394Linkバケツ ト 4 0 8 として 1394シリアルバス 2 0 4—mに送信される。
以上のようにして、 ビデオサーバ 2 0 1—mから送信されたビデ ォデータが、 ATM UNI 2 0 2— m、 ATM Swi tch 2 0 3、 ATM UNI 2 0 2— m、 ATM/1394 Bri dge 2 0 3— m、 1394シリアルバス 2 0 4を介 してクライアント端末 2 0 5—mに伝送される。
なお、 ビデオサーバとクライアント端末とは、 相対的に規定され るものであり、 任意のクライアント端末がビデオサーバとなること ができ、 その場合、 それまでのビデオサーバはクライアント端末と なる。
図 5は、 1394シリァルバス 2 0 4におけるァイ ソクロナスバケツ トの伝送フォーマッ トを示している。 同図に示すように、 パケッ ト は、 1 2 5 μ secのアイ ソク口ナスサイクル (Isochronous Cycle) で伝送されるようになつている。 各アイソク口ナスサイクルの先頭 には、 Cycle start arbitration 5 0 1 — 1 , 5 0 1 — 2, ···, 5 0 1 — n, 5 0 1 — ( n + 1 ) が配置され、 その次には、 Data prefi x 5 1 1 ίこ続レヽて Cycle start packet 5 0 2 - 1 , 5 0 2 - 2 , …, 5 0 2 - n , 5 0 2 - ( η + 1 ) が配置されている。 この Cycle st art packet 5 0 2 - 1 , 5 0 2— 2, …, 5 0 2— n, 5 0 2— ( n + 1 ) の次には、 Data end5 0 9に続いて Iso_gap 5 1 0が配置 されている。
ここで、 Cycle start arbitration o 0 1 — 1 , 5 0 1 — 2, …, 5 0 1 - η , 5 0 1 - ( η + 1 ) 及び Cycle start packet 5 0 2 - 1, 5 0 2 - 2 , ···, 5 0 2 - n , 5 0 2— ( n + 1 ) によって構 成される Cycle startは、 1394シリアルバス 2 0 4内のサイクルマス タノードによって送出され、 ァイソクロナスサイクルの開始を示す バケツ トである。 Data prefix 5 1 1は、 データバケツ ト若しくはァ シンク口ナス転送におけるァクノ リ ッジバケツ トの開始を示し、 Da ta end 5 0 9は、 データバケツ ト若しくはァシンク口ナス転送にお けるァクノ リ ッジパケッ トの終了を示す。 Iso— gap5 1 0は、 1394シ リアルバス 2 0 4のアイ ドルを表し、 アイソク口ナス転送のサブァ クションは、 Iso_gap5 1 0によって分離されている。
Iso gap 5 1 0の次には、 arbitration 5 0 3— 1, 5 0 3 — 2, ···, 5 0 3— n, 5 0 3— (n + 1 ) が配置され、 その後に、 1つ のアイソク口ナスサイクルにおいて、 複数のクライアント端末に対 する 1つのアイ ソクロナスチヤンネノレのデータ 5 04— 1, 5 04 一 2, ···, 5 04 - η , 5 0 4— (n + 1 ) が配置されて、 伝送さ れるようになっている。 例えば、 ァイソクロナスサイクル # 1にお いては、 複数のクライアント端末に対するチャンネル # 1のァイソ クロナスバケツ トが伝送され、 ァイソクロナスサイクル # 2におい ては、 クライアント端末に対するチャンネル # 2のァイソクロナス パケッ トが伝送される。 各ァイソクロナスパケッ トには、 その先頭 に、 Data prefix 5 1 1が配置されている。
アイソク口ナス転送は、 8ビッ トで表されるチャンネル番号を用 いて、 クライアント端末に対してブロードキャス ト送信が行われる。 受信側は、 自分の所望するチヤンネル番号のデータだけを取り込む。 アイソク口ナスバケツ トの最後には、 Data end 5 0 9が配置され、 その次には、 Subaction— gap 5 1 2が配置されている。 Subaction— g ap5 1 2の次に、 arbitration 50 5— 1, 5 0 5— 2, ···, 5 0 5 — n, 5 0 5 - ( n + 1 ) が配置されている。 さらに、 Data prefi x 5 1 1を介して、 ァシンクロナスバケツ トである、 Asynchronous Transfer 5 0 6 - 1 , 5 0 6 - 2, …, 5 0 6— n, 5 0 6— ( n + 1 ) とそれに続いて Data end50 9が配置されている。 またその 次には、 Ack— gap 5 1 3を介して、 Data prefix 5 1 1に続いてァク ノ リ ッジパケッ トとしての Ack Transfer 50 7— 1, 5 0 7— 2, ···, 5 0 7— n, 5 0 7— (n + 1 ) とそれに続いて Data end 5 0 9が配置されている。
Subaction_gap 5 1 2は、 1394シリアルバスのアイ ドルを示してい る。 各クライアント端末はこのギャップ時間を監視することにより、 伝送が可能かどうかを判定する。 一定時間以上のアイ ドル (Iso— ga p5 1 0より長い) が続く とァシンクロナス転送を希望するノ一ドは バスを使用できると判定して、 バス獲得の為のァービトレーショ ン (arbitration 5 0 5 - 1 , 5 0 5— 2, …, 5 0 5 - η , 5 0 5— (n + 1 ) ) を実行する。 バスの使用権を獲得したノードは、 ァシ ンクロナス転送のァータ (Asynchronous Transfer 5 0 6— 1 , 5 0
6— 2, ·■·, 50 6 - η , 5 0 6 - ( n + 1 ) ) を送信する。 ァシ ンク口ナス転送のデータを受信したノードは、 その伝送されてきた データの発信元のノ一ド対して受信結果としてァクノ リ ッジバケツ ト (Ack T進 sfer 5 0 7— 1 , 50 7— 2, …, 50 7 - η , 5 0
7 - (n+ 1 ) ) を送信する。
なお、 図 5では、 1つのァシンクロナスパケッ トの伝送が行われ た場合を例としている。 最後に、 Subaction_gap5 1 4が配置され、 その後に、 次のアイソク ロナスサイクルの Cycle start arbitratio n 5 0 8 - 1 , 50 8 - 2, …, 5 0 8— η, 5 0 8— ( η + 1 ) 力 S 配置されている。 ここで、 ァイソクロナスサイクル # 1の Cycle st art arbitration 5 0 8— 1は、 ァイソクロナスサイクル # 2の先頭 に位置する Cycle start arbitration 5 0 1— 2でめる。
また、 ァイソクロナス転送後、 次のサイクルまでは、 ァシンクロ ナス転送を実行することができる。 このァシンクロナス転送が、 次 のサイクルスタ一トの伝送時間まで続いても、 そのァシンクロナス 転送は中断されず、 次のバスのアイ ドルまで待ってから、 サイクル マスタノードによってサイクルスタートが伝送される。 1つのサイ クルが、 1 2 5 μ sec以上続いた場合には、 次のサイクルがその分短 縮されることになる。
そして、 ァイソクロナスサイクル # nにおいて、 複数のクライア ント端末に対するチャンネル # nのァイソクロナスバケツ トが伝送 されたとき、 その次のアイソクロナスサイクル # ( n + 1 ) におい て、 再びクライアント端末に対するチャンネル # 1のアイソクロナ スパケッ トが伝送される。 したがって、 クライアント端末に対して は、 ァイソクロナスサイクルの n倍の周期で、 ァイソクロナスパケ ッ トが伝送されることになる。
次に、 図 6と図 7のフロ一チヤ一トを参照して、 ATM/1394 Bri dg e 2 0 3一 mが、 アイソク口ナスバケツ トを送信する手順について説 明する。 図 6のフ口一チャートに示す処理は、 ビデオサーバ 2 0 1 —mからクライアント端末 2 0 5 _ mに対してビデオデータを伝送 するに先立って、 ATM/ 1394 Bridge 2 0 3—mにおいて予め行われる 処理である。
最初にステップ S 6 0 1において、 ATMハ 394 Bridge 2 0 3 _ mの クライアント端末 2 0 5—mとのコネクションを管理するアプリケ ーシヨンは、 クライアント端末 2 0 5 _ mに対してデータを送信す る処理を実行するモジュールに対して、 ァイソクロナスチャンネル の設定を要求する。 この要求を受けた送信モジュールは、 この要求 に対応して、 伝送すべきクライアント端末に対応するアイソクロナ スチャンネルをテーブル上に記憶する。 このとき、 例えば、 本出願 人が、 国際公開番号 W097/38513として先に提案したように、 ASEL
(ATM over IEEE 1394 Serial Bus Emulation Layer) _VPC (Virtu al Pass Connection) /VCC (Virtual Channe l Connect ion) の設定 要求を行うようにすることも可能である。 次に、 ステップ S 6 0 2に進み、 IsoTransmitBandの割当て処理が 行われる。 この IsoTransmitBandは、 各ァイソクロナスチャンネノレ又 は ASEL-VCCの送信方向の帯域を表し、 各アイソク口ナスチャンネル 又は ASEL - VCC毎に独立した値を有する。 この値は、 例えば 2. 0 4 8 Mbpsとされる。
次に、 ステップ S 6 0 3において、 ノ、0ラメータ IsoTranmitNumber PerPeriodに対して次式の演算結果が代入される。
(IsoTransmitBand/ 8リ / ( IsoTransmitLength—ォーノヽへ ッ ド リ X IsoTransmitPeriod
この IsoT進 smitNumberPerPeriodは、 1スケジユ ーリング周期あ たりに送信可能なアイソク口ナスバケツ トの数を表し、 このパラメ ータは、 各アイソク口ナスチャンネル又は ASEL-VCC毎に独立した値 を有する。 なお、 IsoTransmitLengthは、 システム全体のァイソクロ ナスバケツ トのトラフィックに応じて算出した送信すべきアイソク 口ナスバケツ ト長であり、 各アイソク口ナスチヤンネル又は ASEL-V CC毎に独立したィ直を有する。 IsoTransmitPeriodは、 スケジユーリン グの基本となるタイマ割り込みの周期を表す。
IsoTransmitBandを、 2. 0 4 8 X 1 06bps (Bit Par Second) 、 IsoTransmitLengthを 8 1 6バイ ト、 オーバへッ ド長を 2 0バイ ト、 IsoTransmitPeriod¾i 2 X 1 0— 3secと Tると、 IsoTransmitNumberP erPeriodは、 0. 6 4 となる。
次に、 ステップ S 6 0 4において、 IsoTransmitEnaCountに 0力 S初 期設定される。 この IsoTransmitEnaCountは、 スケジューリング周期 内に送信可能なアイソク口ナスバケツ ト数を示すカウンタ値を表し、 各アイソク口ナスチャンネル又は ASEL - VCC毎に独立した値を有する。 ステップ S 6 0 5においては、 遅延揺らぎを吸収するためのスケ ジユーリング周期内に伝送可能なアイソク口ナスバケツ ト数の許容 値を表す IsoDelayVariationTorelanceに 1が初期設定される。 この 値も、 各アイソク口ナスチャンネル又は ASEL- VCC毎に独立した値を 有する。 これらの処理は、 C PU 3 0 1が行う。
図 7のフローチャートの処理は、 ステップ S 7 0 1において、 Is oTransmitPeriodに設定されているタイマ割り込みの周期 (いまの場 合、 2 msec) でスケジューリングタイマ 3 0 4がタイマ割込信号を 発生したとき、 開始される。 ATM/1394 Bridge 2 0 3— 1の C PU 3 0 1は、 ステップ S 7 0 2において、 スケジューリング周期内にお けるアイソクロナスサイクルの合計の回数を表すパラメータ Sumlso Cycleに 1を初期設定し、 ステップ S 7 0 3では、 各ァイソクロナス サイクルにおいて、 送信したアイソク口ナスバケツ ト長の合計値を 表すパラメータ SumlsoLengthに 0を初期設定する。
次に、 ステップ S 7 0 4において、 次のアイソクロナスチャンネ ルの検索 (又は ASEL-VCCの検索、 以下、 チャンネルの検索と称す る。 ) が行われる。 ステップ S 7 0 5においては、 検索が終了した か否かが判定される。 検索が終了したと判定された場合、 処理は終 了される。 検索するチャンネルがまだ残っていると判定された場合、 ステップ S 7 0 6に進み、 IsoTransmitEnaCount力 S 1以上であるか否 かが判定される。 いまの場合、 図 6のステップ S 6 0 4において、 このパラメータには 0が設定されているので、 ステップ S 7 0 7に 進み、 IsoTransmitEnaCountに、 1スケジューリング周期あたりに送 信可能なアイソク口ナスノ、。ケッ ト数 IsoTransmitNumberPerPeriod (例えば、 0. 6 4 ) が加算される。 そして、 ステップ S 7 0 4に戻り、 次のチャンネルの検索が実行 され、 ステップ S 7 0 5で、 検索終了と判定され、 一旦、 処理が終 了される。
IsoTransmitPeriodに設定されているタイマ割り込みの周期 (いま の場合、 2 msec) 後に、 再びステップ S 7 0 1乃至 S7 0 5の処理 が行われ、 ステップ S 7 0 5で検索されていないチャンネルがまだ 残っていると判定された場合、 ステップ S 7 0 6に進み、 IsoTrans mitEnaCountが 1以上であるか否かが再び判定される。 直前の周期に おいて、 ステップ S 7 0 7で設定された値は、 0. 6 4であるから、 その値は 1以下であり、 再びステップ S 7 0 7に進み、 現在の値に、 さらに IsoTransmitNumberPerPeriod力 Sカロ算され、 1 . 2 8 (= 0. 6 4 + 0. 6 4 ) とされる。 そして、 再び、 ステップ S 7 0 4 , S7 0 5を介して処理が一旦終了される。
次のスケジュ一リング周期で、 ステップ S 7 0 1乃至 S7 0 5を介 してステップ S 7 0 6に進むと、 いまの場合、 IsoTransmitEnaCoun tは 1以上 (= 1. 2 8 ) であるから、 ステップ S 7 0 8に進む。 ステップ S 7 0 8においては、 送信待ちのアイソクロナスバケツ トが存在するか否かが判定され、 存在する場合においては、 ステツ プ S 7 1 0に進み、 SumlsoLengthに、 IsoTransmitLengthが加算され る。 いまの場合、 SumlsoLengthに、 ステップ S 7 0 3で 0が初期設 定されており、 IsoTransmitLengthを 8 1 6ノ イ トとすると、 Sumls oLengthには値" 8 1 6 " が設定される。
次に、 ステップ S 7 1 1に進み、 ステップ S 7 1 0で設定した Su mlsoLength力 、 1ァイソクロナスサイクル内において、 ATM/1394 B ridge 2 0 3 —mが送信可能なアイソク口ナスバケツ ト長の最大値 M axIsoLength以下である力、否力 力 s判定される。 SumlsoLength力 SMaxIs oLength以下であれば、 ステップ S 7 1 2に進み、 送信待ちのァイソ クロナスバケツ トを前のバケツ トと同じアイソクロナスサイクルで 送信すべくチェーンする処理が実行される。 そして、 ステップ S 7 1 3に進み、 IsoTransmitEnaCountを 1だけデク リメントする。 その 後、 ステップ S 7 0 6に戻り、 それ以降の処理が繰り返し実行され る。 このチェーンされたパケッ トは、 次のスケジューリング周期に 送信処理される。
ステップ S 7 1 1 におレヽて、 SumlsoLength力 S、 MaxIsoLengthより 大きいと判定された場合、 ステップ S 7 1 4に進み、 SumlsoCycleが 1だけインクリメントされる。 そして、 ステップ S 7 1 5において、 SumlsoCycle X 1 2 5 secのィ直カ S IsoTransmitPeriod以下である力 否 力 力 s判定される。 SumlsoCycle X 1 2 5 / secのィ直カ S IsoTransmitPer iodより大きいと判定された場合、 処理が終了され、 前者が後者と等 しいか、 それより小さいと判定された場合、 ステップ S 7 1 6に進 み、 送信待ちのァイソクロナスパケッ トを次の (前のパケッ トと異 なる) ァイソクロナスサイクルにおいて伝送すべくチェーンさせる 処理が実行される。 そして、 ステップ S 7 1 7に進み、 SumlsoLeng thに、 IsoTransmitLengthが設定される。 次に、 ステップ S 7 1 3に 進み、 IsoTransmitEnaCountが 1だけデク リメントされる。 そして、 ステップ S 7 0 6に戻り、 それ以降の処理が繰り返し実行される。 このチェーンされたされたパケッ トは、 次のスケジユーリング周期 に送信処理される。
一方、 ステップ S 7 0 8において、 送信待ちのァイソクロナスパ ケッ トが存在しないと判定された場合、 ステップ S 7 0 9に進み、 IsoTransmitEnaCountが、 遅延揺らぎを吸収するためのスケジユーリ ング周期内に伝送可能なアイソク口ナスバケツ ト数の許容値 IsoDel ayVariationTorelanceより小さいか否かが判定され、 小さいと判定 された場合、 ステップ S 7 0 7に進み、 現在の IsoTransmitEnaCoun tに、 IsoTransmitNumberPerPeriodを加算する処理が行われた後、 ス テツプ S 7 0 4に戻る。 IsoTransmitEnaCount力 、 IsoDelayVariati onTorelanceと等しいか、 それより大きいと判定された場合、 ステツ プ S 7 0 7の処理はスキップされ、 ステップ S 7 0 4に戻り、 それ 以降の処理が繰り返し実行される。
以上の処理を、 さらに具体的に説明すると次のようになる。 図 7 のステップ S 7 0 4において、 図 6のステップ S 6 0 1で作成され たテ一ブルから、 アイソク口ナスチヤンネル又は ASEL—VCCが検索さ れる。 いま、 このテーブルに n個のチャンネルが存在するとすると、 例えば、 最初のチャンネル # 1が検索される。 ステップ S 7 0 5で は、 まだ、 検索が終了していないと判定されるので、 ステップ S 7 0 6に進み、 チヤンネノレ # 1の IsoTransmitEnaCount力、、 1以上であ るか否かが判定される。 いまの場合、 この値はステップ S 6 0 4で 0に初期設定されているから、 ステップ S 7 0 7に進み、 IsoTrans mitNumberPerPeriod (例 Xj O . 6 4 ) 1)ゝ、 IsoTransmitEnaCountに 加算される。
次に、 ステップ S 7 0 4に戻り、 テーブルから、 次のチャンネル # 2が検索される。 このチャンネル # 2においても、 ステップ S 7 0 6で、 その IsoTransmitEnaCountのィ直は、 いま 0であるから、 ステ ップ S 7 0 7に進み、 0. 6 4が加算される。
次に、 ステップ S 7 0 4に戻り、 チャンネル # 3が検索される。 以下同様にして、 チヤンネル # 3乃至チヤンネル # nの IsoTransmi tEnaCountに、 それぞれ 0. 6 4が設定される。
そして、 n個のチャンネルの検索が終了したと、 ステップ S 7 0 5で判定されると、 この図 7のフローチャートに示す処理は、 一旦 終了される。
そして、 次のスケジューリング周期において、 再び、 この図 7の フローチヤ一トに示す処理が開始されると、 ステップ S 7 0 4で、 最初にチャンネル # 1 が検索され、 ステップ S 7 0 6で、 チャンネ ノレ # 1 の IsoTransmitEnaCount力 S 1以上である力、否力 力 S J定される。 いまの場合、 この値は 0. 6 4であるから、 すなわち 1パケッ ト未 満であるから、 ステップ S 7 0 7に進み、 IsoTransmitEnaCountに、 さらに 0. 6 4が加算され、 合計 1. 2 8 とされる。
次にステップ S 7 0 4に戻り、 チャンネル # 2が検索され、 同様 の処理が実行される。 このようにして、 チャンネル # 1からチャン ネノレ # nまでの IsoTransmitEnaCountに、 1 . 2 8が設定される。 n 個のチャンネル全てについての処理が終了したとステップ S 7 0 5 で判定されたとき、 この処理は一旦終了される。
そして、 次のスケジューリング周期において、 再び、 図 7のフロ 一チヤ一トに示す処理が開始されると、 ステップ S 7 0 4でチャン ネル # 1が検索され、 ステップ S 7 0 6で、 その IsoTransmitEnaCo untの値が、 1以上であるか否かが判定される。 いまの場合、 この値 は 1 . 2 8であるから、 ステップ S 7 0 8に進み、 送信待ちのアイ ソクロナスバケツ トが存在するか否かが判定される。 このバケツ ト が存在する場合は、 ステップ S 7 1 0に進み、 1つのアイソクロナ スサイクル ( 1 2 5 μ sec) において伝送するパケッ トの長さ Sumls oLengthに、 1つのアイソクロナスパケッ トの長さ、 IsoTransmitLe ngth (例えば 8 1 6バイ ト) が加算される。 これにより、 いまの場 合、 SumlsoLengthに 8 1 6が設定される。
ステップ S 7 1 1 においては、 ステップ S 7 1 0で設定された Su mlsoLengthの値が、 1ァイソクロナスサイクル ( 1 2 5 μ sec) 内に 送信可能なァイソクロナスバケツ ト長 MaxIsoLength (例えば 1 0 2 4バイ ト) 以下であるか否かが判定される。 いまの場合、 SumlsoLe ngthは 8 1 6であり、 1 0 2 4より小さいので、 ステップ S 7 1 2 に進み、 送信待ちのァイソクロナスパケッ トが、 前のパケッ トと同 じァイソクロナスサイクルで送信すべくチェーンされる (指定され る) 。 このチェーンされたパケッ トは、 次のスケジューリング周期 に送信処理される。
そして、 ステップ S 7 1 3に進み、 IsoTransmitEnaCount力 、 1だ けデク リメントされる。 その結果、 いまの場合、 この値は 1 . 2 8 力、ら 0. 2 8に変化する。
そして、 ステップ S 7 0 6に戻り、 その値が 1以上であるか否か が判定される。 いまの場合、 この値は 0. 2 8であり、 1以下であ るから、 ステップ S 7 0 7に進み、 再び 0. 6 4が加算され、 0. 9 2 とされる。
次に、 ステップ S 7 0 4に進み、 次のチャンネル # 2が検索され、 チャンネル # 2についても同様の処理が実行され、 ステップ S 7 0 8に進む。 このとき送信待ちのアイソク口ナスバケツ トが存在すれ ば、 ステップ S 7 1 0において、 1ァイソクロナスサイクル内にお けるバケツ トの長さ SumlsoLengthに 1つのアイソク口ナスバケツ ト 長 8 1 6が加算され、 SumlsoLengthの値は 1 6 3 2となる。 ステップ S 7 1 1において、 この 1 6 3 2 (SumlsoLength) 力 、 1 0 2 4 (MaxIsoLength) より小さいか否かが判定される。 明らか に、 1 6 3 2は 1 0 2 4より大きいから、 この場合、 ステップ S 7 1 1 において、 NOの判定が行われる。 この場合、 1つのアイソク 口ナスサイクルに 2つのバケツ トを伝送しよう とすると、 その長さ が 1 6 3 2バイ トとなり、 1アイソク口ナスサイクル内に伝送可能 なバケツ ト長 1 0 2 4バイ トを越えてしまうので、 このデータは、 次のアイソクロナスサイクルで伝送するようにする。 このため、 ス テツプ S 7 1 4に進み、 アイソク口ナスサイクノレの数 SumlsoCycleを 1だけインクリメントし、 いまの場合 2となる。
次に、 ステップ S 7 1 5に進み、 ステップ S 7 1 4で設定された SumlsoCycleを 1 2 5倍した値が 2 m sec以下であるか否かが判定さ れる。 すなわち、 1スケジューリング周期内に伝送可能な長さであ るか否かが判定される。 1スケジューリング周期より、 SumlsoCycl eを 1 2 5倍した値が大きいと判定された場合、 もはや 2 msec内に おいて処理することができないのであるから、 処理が終了される。
これに対して、 SumlsoCycleを 1 2 5倍した値が 2 msecより小さ いと判定された場合、 ステップ S 7 1 6に進み、 送信待ちのァイソ クロナスパケッ トを次の (前のパケッ トと異なる) ァイソクロナス サイクルで伝送するパケッ トとしてチェーンされる (指定される) 。 この例の場合、 SumlsoCycleが 2であるため、 2つのアイソクロナス サイクルを用いてそれぞれのパケッ トが送信される。
次に、 ステップ S 7 1 7に進み、 1つのアイソクロナスサイクル 内において送信するアイソクロナスパケッ ト長の合計値 SumlsoLeng thに、 先にチェーンしたチャンネル # 2のァイソクロナスバケツ ト 長 8 1 6が設定される。 このチェーンされたバケツ トは、 次のスケ ジユ ーリング周期に送信処理される。
そして、 ステップ S 7 1 3に進み、 IsoTransmitEnaCountのィ直を 1 だけデク リメントし、 いまの場合 0. 2 8とする。 ステップ S 7 0
6に戻り、 その値が 1未満であると判定される。 そこで、 ステップ
S 7 0 7に進み、 再び 0. 6 4が加算され、 IsoTransmitEnaCountの 値は 0. 9 2に設定される。 チャンネル # 3乃至チャンネル # nに ついても、 同様の処理が実行される。
以上のようにして、 n個のチヤンネノレの IsoTransmitEnaCountに 0.
9 2が設定されると、 ステップ S 7 0 5において、 一旦検索が終了 される。
以上のように、 各チヤンネノレにおける IsoTransmitLengthのィ直を 8 1 6ノ ィ トと、 最大値 MaxIsoLengthの 1 0 2 4バイ トの 1 / 2以上 の値とすると、 図 5に示したように、 1ァイソクロナスサイクル内 においては、 1つのアイ ソクロナスチヤンネルのデータのみが伝送 されることになる。
なお、 ステップ S 7 0 8において、 送信するァイソクロナスパケ ッ トが存在しないと判定された場合、 ステップ S 7 0 9に進む。 ス テツプ S 7 0 9において、 スケジユーリング周期内に伝送するパケ ッ 卜の数 IsoTransmitEnaCount力 、 §午谷ィ直 IsoDelayVariationTorela nceより小さいと判定されれば、 伝送路に揺らぎがあつたとしても、 さらにバケツ トを伝送することが可能であるから、 ステップ S 7 0 7において、 IsoTransmitEnaCountに、 さらに 0. 6 4が加算される IsoTransmitEnaCountの値力 、 許容値 IsoDelayVariationTorelance り大きい場合には、 伝送するバケツ トの数をこれ以上増加すると、 伝送路の揺らぎに起因して、 正しくバケツ トを伝送することができ なくなるおそれがあるので、 ステップ S 7 0 7の処理はスキップさ れる。
図 6及び図 Ίに示す処理で、 各チヤンネルにおける I soTransmi tL engthの値を MaxI soLengthの値の 1 Z nの値に設定すれば、 若干ォー バヘッ ドが長くなり、 伝送効率が低下するが、 図 1に示した従来の 場合と同様に、 1ァイソクロナスサイクル内において n個のチャン ネルを設けることも可能である。
本実施例においては、 少なく とも同じ種類のアプリケーショ ンの 情報 (例えばビデオ情報) は、 1つのアイソクロナスサイクルに、 1つのアイソクロナスバケツ トのみを用いて情報を伝送するように している。 しかしながら、 電話 (6 4 K bps) やオーディオオンデマ ン ド ( 3 8 4 K bps) 等、 必要とする帯域が小さいアプリケーショ ン の場合、 1つのアイソク口ナスサイクルに複数のクライアント端末 に対する情報を伝送する方が効率がよい場合があるので、 この限り ではない。 本発明において全てのアプリケーシヨンに対してあては まるデータ伝送方法としては、 特定の 1つのクライアント端末 (例 えばクライアント端末 2 0 5— 1 ) に対して同じ種類のアプリケー ショ ンの情報は複数のアイソク口ナスサイクル毎にデータを伝送す るようにする。 すなわち、 Nを 2以上の整数とし、 ァイソクロナス サイクルの周期を T ( = 1 2 5 sec) とするとき、 周期 N T毎に、 1つのクライアント端末に対する情報の伝送を行うようにする。 なお、 送信するァイソクロナスバケツ ト長 I soTransmi tLengthを算 出するために、 ATM/ 1394 Bri dgeからクライアント端末方向へのトラ フィ ックを、 予めある程度想定しておく ようにする。 図 2に示すよ うなシステムの場合、 トラフィ ックの大半は、 ビデオサーバ 2 0 1 一 mからクライアント端末 2 0 5— mへのデータス ト リームと想定 される。 そこで、 送信アイソクロナスパケッ ト長は、 送信可能なァ イソクロナスバケツ ト長の最大値の 8 0 %程度の長さとする。 そし て、 なおかつその長さを 3 2ビッ ト単位でァライン化し、 送信側、 受信側ともに処理を容易にする。
例えば、 送信可能なァイソクロナスパケッ トの最大長を、 従来の 場合と同様に 1 0 2 4バイ トとした場合、 ァイソクロナスバケツ ト 長は、 リンクレイヤ以上の階層の 2 0バイ トのオーバへッ ドを含め て、 8 1 6バイ ト程度が適当となる。
この場合、 ァイソクロナスパケッ トの送信周期は、 アイソクロナ スチャンネルに割り当てられている帯域 (コンテンツの帯域) から 算出する。 また、 本出願人が先に提案した、 国際公開番号 W097/385 13における場合の ASELを用いる場合には、 この送信周期は、 ァイソ ク口ナスチャンネル上に設定された VCCに割り当てられている帯域か ら算出される。 ここでは、 計算を簡略化するため、 この帯域の値を オーバヘッ ド部分を除いたものとする。 例えば、 帯域が 2 . 0 4 8
Mbpsの場合、 送信周期 n (整数) は、 次式から、 n = 2 4 と求める ことができる。
2 . 0 4 8 X 1 0 6 = ( 8 1 6 - 2 0 ) X 8 X 8 0 0 0 / n すなわち、 ATM/1394 Bri dgeは、 あるクライアント端末に対して、 2 4ァイソクロナスサイクル毎に、 アイソク口ナスチャンネル又は ァイソクロナスチャンネル上に設定された VCCへアイソクロナスパケ ッ トを送信する。 これにより、 1つの ATM 394 Bridgeに対して、 2 4台のクライアント端末を収容することが可能となる。 ソフトウェアによるパケッ トのハンドリングに関しても、 2 mse cのタイマ割り込みによるスケジューリングによって、 バケツ トハン ドリングを行うものとすると、 クライアント端末の台数を 24台と したとき、 スケジューリング周期あたりのイベント数 (処理すべき オーバへッ ド数) は、 1 6 (- 1 X 2 X 1 03/ 1 2 5) となる。 こ の値は、 ソフ トウェアによるアイソク口ナスバケツ トのハンドリン グを十分可能とする値である。
以上のようにして、 例えば、 図 2のシステムにおいて、 l ATM Sw itchあたり、 3 0 0乃至 5 0 0台のクライアント端末を収容するこ とができる。
これに対して、 クライアント端末の数が、 5 0台乃至 6 0台であ る、 小規模なシステムの場合、 ビデオサーバに対して 1394シリアル バスを直接接続し、 ATM/1394 Bridgeを省略することができる。 この 場合、 上述した ATM/1394 Bridgeの処理は、 ビデオサーバにより実行 される。 あるいは、 ATM Switchだけを省略して、 ATM/1394 Bridgeと ビデオサーバを ATM UNIを介して直接接続することも可能である。 上記した実施の形態において、 送信可能なアイソクロナスバケツ ト最大長を 1 0 24バイ トとした場合、 各アイソクロナスバケツ ト におけるオーバへッ ドの割合は、 Data prefix分として 2バイ ト及び Data end分として 24ビッ ト (= 3バイ ト) を含めても 3. 0 %
(= (2 2 + 3) / (8 1 6 + 2 + 3 ) ) となり、 従来の場合にお ける 4 1 %と比較して、 非常に小さくすることができる。 また、 こ の場合におけるクライアント端末の収容台数も、 従来の 1 9台に較 ベて、 24台と大幅に向上する。
さらに、 送信アイソクロナスパケッ ト長を送信可能なアイソクロ ナスパケッ ト長の最大値の 8 0 % ( 8 1 6バイ ト) に制限したので、 ビデオ情報以外の他のアイソク口ナスバケツ トのトラフィ ック (例 えば、 オーディオオンデマンド、 電話、 各種案内放送など) に使用 可能となる。
さらに、 従来、 2 m secのタイマ割り込みによるスケジューリング を用いたソフ トウェアによるパケッ トのハンドリングを行うように した場合、 スケジユーリング周期あたりのィベント数が 3 0 4ィべ ン トとなり、 1アイソク口ナスバケツ トのオーバへッ ド処理を 6 . 6 μ sec以内に行わなければならなかったが、 本発明の実施の形態に おいては、 クライアント端末の台数を、 2 4台と 1 9台より多く し た場合でも、 2 m secのスケジユーリング周期あたりのィベント数は 1 6イベン トとなるので、 1ァイ ソクロナスノヽ。ケッ トのオーバへッ ド処理を 1 2 5 // sec以内で行えばよくなり、 ソフ トウェアによるァ イソク口ナスバケツ トのハンドリングは十分可能となる。
図 8は、 本発明を適用した、 ビデオオンデマンドシステムの構成 例を示している。 送出装置 8 0 2は、 小規模システムの 1394シリア ルバスを収容したビデオサーバとして機能する。 各座席 8 0 5には、 送出装置 8 0 2から伝送されてきた自分宛のビデオス ト リームを受 信し、 復号する機能を有するクライアント端末に対応する装置が格 納されており、 送出装置 8 0 2から配信される圧縮符号化されたビ デォス トリ一ムを復号し、 前の座席の表示装置 8 0 3に表示させる。 この表示装置 8 ◦ 3 としては、 例えば液晶ディスプレイを用いるこ とができる。
さらに、 座席 8 0 5の肘掛け部分には、 固定又は着脱自在とされ た制御機能ュニッ ト 8 0 8が設けられている。 この制御機能ュニッ ト 8 0 8は、 乗客の操作端末として、 ビデオ番組の選択、 再生、 一 時停止、 早送り、 卷戻しなどの各種操作を入力することができる。 なお、 図 8において、 案内溝 8 0 6に沿って収容されているケー ブル 8 0 7は、 図 2における ATM UNI 2 0 2一 mに対応する。
図 8に示した、 ビデオオンデマンドシステムを、 より大規模にし たい場合には、 送出装置 8 0 2のィンタフェースを ATM UNIに変更し、 ATM Switchと ATM/1394 Bri dgeを付加するようにすればよい。 これに より、 3 0 0座席乃至 5 0 0座席を対象とする、 大規模なビデオォ ンデマンドシステムを構築することができる。 この場合においても、 座席 8 0 5 と表示装置 8 0 3は、 小規模システムにおける場合と同 一でよい。
以上においては、 クライアント端末を接続するバスとして 1394シ リアルバスを用いるようにしたが、 ァイソクロナスィ一サネッ トを 用いることも可能である。 産業上の利用可能性 本発明に係るデータ伝送システム、 データ伝送方法、 データ送信 装置及びデータ送信方法によれば、 サーバ装置から端末装置に所定 送信周期でデータを伝送する際に、 所定送信周期より長い周期のス ケジユーリング周期単位で割込信号を発生し、 1スケジユーリング 周期内に送信可能なデータ量に基づいて、 所定送信周期毎にデータ の送信制御を行うようにしたので、 データ伝送におけるオーバへッ ドを少なく し、 伝送効率を向上させることができる。

Claims

請求の範囲
1 . 通信線を介して接続されたサーバ装置から端末装置に所定送信 周期でデータを伝送するデータ伝送システムにおいて、
上記サーバ装置は、
上記所定送信周期より長い周期のスケジユーリング周期で割込信 号を発生するスケジユーリング手段と、
1スケジユーリング周期単位内に送信可能なデータ量に基づいて、 上記所定送信周期毎にデータの送信制御を行う制御手段と、
上記制御手段からの送信制御に基づいてデータを送信する送信手 段とを備え、
上記端末装置は、
上記サーバ装置の上記送信手段から送信されてきたデータを受信 する受信手段を備えるデータ伝送システム。
2 . 上記通信線は、 IEEE1394シリアルバスであることを特徴とする 請求の範囲第 1項に記載のデータ伝送システム。
3 . 上記制御手段は、 上記 1スケジューリング周期単位内に送信可 能なデータ量を、 上記スケジユーリング周期と送信に割り当てられ た帯域幅とに基づいて算出することを特徴とする請求の範囲第 1項 に記載のデータ伝送システム。
4 . 上記制御手段は、 現在のスケジューリング周期内に送信可能な データ量を示すカウント手段を備え、 所定スケジュ一リング周期内 において上記カウント手段の示す送信可能なデータ量が所定値未満 であるとき、 上記所定スケジユーリング周期内での伝送を行わない ことを特徴とする請求の範囲第 1項に記載のデータ伝送システム。
5 . 上記制御手段は、 上記通信線における遅延の揺らぎを考慮して、 上記カウント手段の示すスケジユーリング周期内に送信可能なデー タ量を制御することを特徴とする請求の範囲第 4項に記載のデータ 伝送システム。
6 . 上記伝送されるデータは、 所定データ量毎に区切られたバケツ トであり、
上記制御手段は、 上記所定送信周期内に伝送すべきデータ量が、 上記所定送信周期内に許容される最大量以下の場合には、 複数のパ ケッ トデータを同一の上記所定送信周期内に送信するように制御を 行うことを特徴とする請求の範囲第 1項に記載のデータ伝送システ ム。
7 . 上記伝送されるデータは、 所定データ量毎に区切られたバケツ トデータであり、
上記制御手段は、 上記所定送信周期内に伝送すべきデータ量が、 上記所定送信周期内に許容される最大量より多く、 且つ上記伝送す べきデータ量が必要とする伝送時間が上記スケジユーリング周期以 下の場合には、 複数のバケツ トデ一タをそれぞれ異なった複数の上 記所定送信周期で送信するように制御を行うことを特徴とする請求 の範囲第 1項に記載のデータ伝送システム。
8 . 通信線を介して接続されたサーバ装置から端末装置に所定送信 周期でデータを伝送するデータ伝送方法において、
上記サーバ装置で実行されるデータ送出工程と、
上記端末装置で実行される受信工程とを有し、
上記データ送出工程は、
上記所定送信周期より長い周期のスケジユーリング周期で割込信 号を発生するスケジユーリング工程と、
1スケジユーリング周期単位内に送信可能なデータ量に基づいて、 上記所定送信周期毎にデータの送信制御を行う制御工程と、
上記制御手段からの送信制御に基づいてデータを送信する送信ェ 程とを有し、
上記受信工程は、
上記サーバ装置の上記送信工程において送信されたデータを受信 する受信工程を有することを特徴とするデータ伝送方法。
9 . 上記通信線は IEEE 1394シリアルバスであることを特徴とする請 求の範囲第 8項に記載のデータ伝送方法。
1 0 . 上記制御工程は、 上記 1スケジューリング周期単位内に送信 可能なデータ量を、 上記スケジユーリング周期と送信に割り当てら れた帯域幅とに基づいて算出することを特徴とする請求の範囲第 8 項に記載のデータ伝送方法。
1 1 . 上記制御工程は、 現在のスケジューリング周期内に送信可能 なデータ量を示すカウント工程を有し、 所定スケジユーリング周期 内において上記力ゥント工程の示す送信可能なデータ量が所定値未 満であるとき、 上記所定スケジユーリング周期内での伝送を行わな いことを特徴とする請求の範囲第 8項に記載のデータ伝送方法。
1 2 . 上記制御工程は、 上記通信線における遅延の揺らぎを考慮し て、 上記カウント工程の示すスケジユーリング周期内に送信可能な データ量を制御することを特徴とする請求の範囲第 1 1項に記載の データ伝送方法。
1 3 . 上記伝送されるデータは、 所定データ量毎に区切られたパケ ッ トデータであり、 上記制御工程は、 上記所定送信周期内に伝送す べきデータ量が、 上記所定送信周期内に許容される最大量以下の場 合には、 複数のバケツ トデータを同一の上記所定送信周期内に送信 するように制御を行うことを特徴とする請求の範囲第 8項に記載の データ伝送方法。
1 4 . 上記伝送されるデータは、 所定データ量毎に区切られたパケ ッ トデータであり、 上記制御工程は、 上記所定送信周期内に伝送す べきデータ量が、 上記所定送信周期内に許容される最大量より多く、 且つ上記伝送すべきデータ量が必要とする伝送時間が上記スケジュ —リング周期以下の場合には、 複数のバケツ トデータをそれぞれ異 なった複数の上記所定送信周期で送信するように制御を行うことを 特徴とする請求の範囲第 8項に記載のデータ伝送方法。
1 5 . 通信線を介して接続された端末装置に所定送信周期でデータ を送信するデータ送信装置において、
上記所定送信周期より長い周期のスケジユーリング周期で割込信 号を発生するスケジユーリング手段と、
1スケジュ一リング周期単位内に送信可能なデータ量に基づいて、 上記所定送信周期毎にデータの送信制御を行う制御手段と、
上記制御手段からの送信制御に基づいてデータを送信する送信手 段とを備えるデータ送信装置。
1 6 . 上記通信線は IEEE1394シリアルバスであることを特徴とする 請求の範囲第 1 5項に記載のデータ送信装置。
1 7 . 上記制御手段は、 上記 1スケジューリング周期単位内に送信 可能なデータ量を、 上記スケジユーリング周期と送信に割り当てら れた帯域幅とに基づいて算出することを特徴とする請求の範囲第 1 5項に記載のデータ送信装置。
1 8 . 上記制御手段は、 現在のスケジューリング周期内に送信可能 なデータ量を示すカウント手段を備え、 所定スケジユーリング周期 内において上記力ゥント手段の示す送信可能なデータ量が所定値未 満であるとき、 上記所定スケジユーリング周期内での送信を行わな いことを特徴とする請求の範囲第 1 5項に記載のデータ送信装置。
1 9 . 上記制御手段は、 上記通信線における遅延の揺らぎを考慮し て、 上記カウント手段の示すスケジユーリング周期内に送信可能な データ量を制御することを特徴とする請求の範囲第 1 8項に記載の データ送信装置。
2 0 . 上記送信されるデータは、 所定データ量毎に区切られたパケ ッ トデータであり、 上記制御手段は、 上記所定送信周期内に送信す べきデータ量が、 上記所定送信周期内に許容される最大量以下の場 合には、 複数のバケツ トデータを同一の上記所定送信周期内に送信 するように制御を行うことを特徴とする請求の範囲第 1 5項に記載 のデータ送信装置。
2 1 . 上記送信されるデータは、 所定データ量毎に区切られたパケ ッ トデータであり、 上記制御手段は、 上記所定送信周期内に送信す べきデータ量が、 上記所定送信周期内に許容される最大量より多く、 且つ上記送信すべきデータ量が必要とする伝送時間が上記スケジュ 一リング周期以下の場合には、 複数のバケツ トデータをそれぞれ異 なった複数の上記所定送信周期で送信するように制御を行うことを 特徴とする請求の範囲第 1 5項に記載のデータ送信装置。
2 2 . 通信線を介して接続されたサーバ装置から端末装置に所定送 信周期でデータを送信するデータ送信方法において、
上記所定送信周期より長い周期のスケジユーリング周期で割込信 号を発生するスケジユーリング工程と、
1スケジュ一リング周期単位内に送信可能なデータ量に基づいて、 上記所定送信周期毎にデータの送信制御を行う制御工程と、
上記制御手段からの送信制御に基づいてデータを送信する送信ェ 程とを有するデータ送信方法。
2 3 . 上記通信線は IEEE1394シリアルバスであることを特徴とする 請求の範囲第 2 2項に記載のデータ送信方法。
2 4 . 上記制御工程は、 上記 1スケジューリング周期単位内に送信 可能なデータ量を、 上記スケジユーリング周期と送信に割り当てら れた帯域幅とに基づいて算出することを特徴とする請求の範囲第 2 2項に記載のデータ送信方法。
2 5 . 上記制御工程は、 現在のスケジューリング周期内に送信可能 なデータ量を示すカウント工程を有し、 所定スケジユーリング周期 内において上記力ゥント工程の示す送信可能なデータ量が所定値未 満であるとき、 上記所定スケジユーリング周期内での送信を行わな いことを特徴とする請求の範囲第 2 2項に記載のデータ送信方法。
2 6 . 上記制御工程は、 上記通信線における遅延の揺らぎを考慮し て、 上記カウント工程の示すスケジユーリング周期内に送信可能な データ量を制御することを特徴とする請求の範囲第 2 5項に記載の データ送信方法。
2 7 . 上記送信されるデータは、 所定データ量毎に区切られたパケ ッ トデータであり、 上記制御工程は、 上記所定送信周期内に送信す べきデータ量が、 上記所定送信周期内に許容される最大量以下の場 合には、 複数のバケツ トデータを同一の上記所定送信周期内に送信 するように制御を行うことを特徴とする請求の範囲第 2 2項に記載 のデータ送信方法。
2 8 . 上記送信されるデータは、 所定データ量毎に区切られたパケ ッ トデータであり、 上記制御工程は、 上記所定送信周期内に送信す べきデータ量が、 上記所定送信周期内に許容される最大量より多く、 且つ上記送信すべきデータ量が必要とする伝送時間が上記スケジュ 一リング周期以下の場合には、 複数のバケツ トデータをそれぞれ異 なった複数の上記所定送信周期で送信するように制御を行うことを 特徴とする請求の範囲第 2 2項に記載のデータ送信方法。
PCT/JP1997/004730 1996-12-19 1997-12-19 Systeme et procede de communications de donnees, dispositif de transmission de donnees et procede correspondant WO1998027693A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/125,318 US6606320B1 (en) 1996-12-19 1997-12-19 Data communication system and method, data transmission device and method
EP97949187A EP0895377A4 (en) 1996-12-19 1997-12-19 DATA COMMUNICATION SYSTEM AND METHOD FOR DATA TRANSFER DEVICE AND METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8/339350 1996-12-19
JP33935096 1996-12-19

Publications (1)

Publication Number Publication Date
WO1998027693A1 true WO1998027693A1 (fr) 1998-06-25

Family

ID=18326631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/004730 WO1998027693A1 (fr) 1996-12-19 1997-12-19 Systeme et procede de communications de donnees, dispositif de transmission de donnees et procede correspondant

Country Status (4)

Country Link
US (1) US6606320B1 (ja)
EP (1) EP0895377A4 (ja)
KR (1) KR19990087053A (ja)
WO (1) WO1998027693A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606320B1 (en) * 1996-12-19 2003-08-12 Sony Corporation Data communication system and method, data transmission device and method

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100539518B1 (ko) * 1999-02-08 2005-12-29 엘지전자 주식회사 버스시스템에서의 어싱크로너스 패킷(AsynchronousPacket) 중재방법
US6839148B1 (en) * 1999-07-08 2005-01-04 Matsushita Electric Industrial Co., Ltd. Image input apparatus
US6691096B1 (en) 1999-10-28 2004-02-10 Apple Computer, Inc. General purpose data container method and apparatus for implementing AV/C descriptors
US6587904B1 (en) * 1999-11-05 2003-07-01 Apple Computer, Inc. Method and apparatus for preventing loops in a full-duplex bus
US6831928B1 (en) * 2000-02-17 2004-12-14 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US7050453B1 (en) 2000-02-17 2006-05-23 Apple Computer, Inc. Method and apparatus for ensuring compatibility on a high performance serial bus
US6618785B1 (en) 2000-04-21 2003-09-09 Apple Computer, Inc. Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus
US6718497B1 (en) 2000-04-21 2004-04-06 Apple Computer, Inc. Method and apparatus for generating jitter test patterns on a high performance serial bus
FR2817058B1 (fr) * 2000-11-21 2003-01-24 St Microelectronics Sa Dispositif et procede de traitement des interruptions dans une transmission d'informations sur un bus
US7668099B2 (en) 2003-06-13 2010-02-23 Apple Inc. Synthesis of vertical blanking signal
US7353284B2 (en) 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
US8275910B1 (en) 2003-07-02 2012-09-25 Apple Inc. Source packet bridge
US7788567B1 (en) 2003-11-18 2010-08-31 Apple Inc. Symbol encoding for tolerance to single byte errors
US7995606B1 (en) 2003-12-03 2011-08-09 Apple Inc. Fly-by and ack-accelerated arbitration for broadcast packets
US7502338B1 (en) 2003-12-19 2009-03-10 Apple Inc. De-emphasis training on a point-to-point connection
US7237135B1 (en) 2003-12-29 2007-06-26 Apple Inc. Cyclemaster synchronization in a distributed bridge
US7308517B1 (en) * 2003-12-29 2007-12-11 Apple Inc. Gap count analysis for a high speed serialized bus
KR101229003B1 (ko) * 2005-07-15 2013-02-01 삼성전자주식회사 이더넷 스트림 전송 방법 및 장치
US8098686B1 (en) * 2005-12-02 2012-01-17 At&T Intellectual Property Ii, L.P. Method and apparatus for providing an application-level utility metric
US8483108B2 (en) * 2006-07-24 2013-07-09 Apple Inc. Apparatus and methods for de-emphasis training on a point-to-point connection
KR101403105B1 (ko) 2006-10-31 2014-06-09 엘지전자 주식회사 귀환 데이터 전송 방법, 귀환 데이터 생성 방법 및 데이터스케줄링 방법
JP2010251912A (ja) * 2009-04-13 2010-11-04 Sony Corp コンテンツ送信装置、コンテンツ送信方法及びコンテンツ送信プログラム
CN102014069A (zh) * 2010-12-16 2011-04-13 中兴通讯股份有限公司 一种报文发送的方法及装置
FR2977734B1 (fr) * 2011-07-04 2014-05-23 Axon Cable Sa Portion de cable et equipement de communication pour raccorder des lignes abonnees a une ligne de bus de donnees
CN104346227B (zh) * 2013-07-23 2017-11-28 比亚迪股份有限公司 用于can总线的数据分发方法和装置
CN105045224B (zh) * 2015-05-29 2017-10-03 珠海格力电器股份有限公司 数据传输的方法和装置
CN105048231A (zh) * 2015-07-06 2015-11-11 苏州市英富美欣科技有限公司 一种基于usb接口的数据自动传输装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04266236A (ja) * 1991-02-20 1992-09-22 Mitsubishi Electric Corp 通信方式
JPH04354222A (ja) * 1991-05-31 1992-12-08 Nippon Telegr & Teleph Corp <Ntt> 割り込みリセット形パケット通信方法
JPH0897837A (ja) * 1994-09-22 1996-04-12 Sony Corp パケット受信装置
JPH08340338A (ja) * 1995-06-14 1996-12-24 Matsushita Electric Ind Co Ltd データ送信装置とデータ送信制御装置
JPH0927814A (ja) * 1995-07-12 1997-01-28 Sony Corp 通信制御方法及び電子機器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887152A (en) * 1987-01-30 1989-12-12 Sony Corporation Message delivery system operable in an override mode upon reception of a command signal
JP3426646B2 (ja) 1993-04-20 2003-07-14 株式会社東芝 ネットワークシステム、通信方法及び通信装置
US5623610A (en) * 1994-10-31 1997-04-22 Intel Corporation System for assigning geographical addresses in a hierarchical serial bus by enabling upstream port and selectively enabling disabled ports at power on/reset
JP3407838B2 (ja) 1995-09-05 2003-05-19 ソニー株式会社 ビデオオンデマンドシステム
JPH1040211A (ja) * 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
US5973722A (en) * 1996-09-16 1999-10-26 Sony Corporation Combined digital audio/video on demand and broadcast distribution system
EP0895377A4 (en) * 1996-12-19 1999-11-17 Sony Corp DATA COMMUNICATION SYSTEM AND METHOD FOR DATA TRANSFER DEVICE AND METHOD

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04266236A (ja) * 1991-02-20 1992-09-22 Mitsubishi Electric Corp 通信方式
JPH04354222A (ja) * 1991-05-31 1992-12-08 Nippon Telegr & Teleph Corp <Ntt> 割り込みリセット形パケット通信方法
JPH0897837A (ja) * 1994-09-22 1996-04-12 Sony Corp パケット受信装置
JPH08340338A (ja) * 1995-06-14 1996-12-24 Matsushita Electric Ind Co Ltd データ送信装置とデータ送信制御装置
JPH0927814A (ja) * 1995-07-12 1997-01-28 Sony Corp 通信制御方法及び電子機器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0895377A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606320B1 (en) * 1996-12-19 2003-08-12 Sony Corporation Data communication system and method, data transmission device and method

Also Published As

Publication number Publication date
US6606320B1 (en) 2003-08-12
EP0895377A4 (en) 1999-11-17
EP0895377A1 (en) 1999-02-03
KR19990087053A (ko) 1999-12-15

Similar Documents

Publication Publication Date Title
WO1998027693A1 (fr) Systeme et procede de communications de donnees, dispositif de transmission de donnees et procede correspondant
JP4073761B2 (ja) 高度マルチポイントアクセスシステムのためのipプラットフォーム
JP3613102B2 (ja) フレーム構成方法、フレーム構成装置およびフレーム構成転送システム
JP3210906B2 (ja) Atm通信網とそのインバースマルチプレクス方法
US6005851A (en) Adaptive channel control for data service delivery
JP3130294B2 (ja) マルチメディア・データの送信のセグメント化および時間同期化のための装置および方法
JP3659464B2 (ja) 統計的多重化方式と動的音声符号化方式とを用いるパケット音声システムにおける呼認定のための方法
AU2010204724B2 (en) System and method for retransmission and fragmentation in a communication network
US6282196B1 (en) Dynamic build-out approach for use in packet voice systems
CA2847074A1 (en) Method and apparatus for data transportation and synchronization between mac and physical layers in a wireless communication system
JP2008527877A (ja) セルベースネットワークとパケットベースネットワークとの間のインターワーキング
EP1495612B1 (en) Method and apparatus for efficient transmission of voip traffic
EP1134943B1 (en) Method of transmitting between a base station in an access network and an access network controller of a telecommunications system
JP4535655B2 (ja) データ送信方法及びシステム
WO2005011307A2 (en) Admission control to wireless network based on guaranteed transmission rate
JPH10215265A (ja) パケット送信方法
US6603766B1 (en) Apparatus and method for implementing an ATM AAL2 combined use timer
JPH10233790A (ja) データ伝送システム、データ伝送方法、データ送信装置及びデータ送信方法
Cisco Link Efficiency Mechanisms Overview
EP1006696A1 (en) Method and apparatus for relaying data, communication system, and recording medium
US20060072612A1 (en) Method and device for transmitting data
EP1209864A2 (en) System and method for providing multiple quality of service levels over a single asynchronous transfer mode (ATM) virtual communications channel
KR100606367B1 (ko) 더블유씨디엠에이 시스템에서의 아이피 네트워크 연동장치
KR100428315B1 (ko) 에이티엠셀 송수신장치
Erturk Transporting CAN messages over WATM

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1997949187

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1019980706438

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1997949187

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09125318

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1019980706438

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1997949187

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1019980706438

Country of ref document: KR