WO2009113353A1 - 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム - Google Patents

転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム Download PDF

Info

Publication number
WO2009113353A1
WO2009113353A1 PCT/JP2009/052374 JP2009052374W WO2009113353A1 WO 2009113353 A1 WO2009113353 A1 WO 2009113353A1 JP 2009052374 W JP2009052374 W JP 2009052374W WO 2009113353 A1 WO2009113353 A1 WO 2009113353A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
transfer control
payload
header
transfer
Prior art date
Application number
PCT/JP2009/052374
Other languages
English (en)
French (fr)
Inventor
雅規 上久保
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2010502743A priority Critical patent/JP4978732B2/ja
Publication of WO2009113353A1 publication Critical patent/WO2009113353A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present invention relates to a transfer control device, a multiplexed frame transfer system, a transfer control method, and a transfer control program, and particularly stores a received frame input from a lower physical layer based on a protocol processing procedure of a radio communication frame in a memory
  • the present invention relates to a multiplexed frame transfer apparatus having a function of analyzing headers of data stored in a memory in advance and calculating a data storage location of a received frame in the memory.
  • the transmission / reception rate of wireless communication continues to improve.
  • the communication rate in mobile communication was 28.8 kbps at the maximum for the second generation packet communication, but when the third generation commercial start in 2001, the service started at 384 kbps.
  • speed improvement up to 14.4 Mbps is expected in the future.
  • specifications aiming at 100 Mbps are being promoted by 3GPP (3rd Generation Partnership Project), a joint project of standardization organizations in each country, and the 4th generation is expected to have a Gbps-class communication speed. ing.
  • the protocol processing here refers to the simple processing part that calculates the PDU (Protocol Data Unit) configuration from the header information, and the PDUs are assigned to each logical channel virtually allocated based on the simple processing part.
  • the communication termination process is performed while performing ACK (ACKnowledgement) with the opposite station.
  • the former simple process is a process that sequentially extracts information that can be acquired while capturing at least the header part in units of data of about several bytes from the beginning of the received frame, and therefore processing by dedicated hardware is suitable.
  • the latter termination processing involves complicated branch processing while considering the contents analyzed so far, that is, the contents received or transmitted before. Since this termination process is a process in which a lot of random memory accesses and conditional branches are generated from the programming aspect, a process in a general-purpose processing system called a CPU is suitable.
  • Patent Document 1 Examples of related technologies related to packet processing for uplink communication in such wireless communication include Patent Document 1 and Patent Document 2 shown below.
  • a fixed-length header is recognized for a frame composed of a single non-multiplexed PDU input from a higher-order communication layer process executed by a CPU, and in parallel without waiting for completion of transfer of a payload part.
  • a wireless communication header on the lower communication layer side is generated.
  • an offset that can be added with a fixed-length header on the lower side is opened in advance and stored in the second memory.
  • the generation of the wireless communication header when generating the transmission frame of the wireless communication part is advanced and a new copy on the memory for adding the wireless communication header when creating the transmission data in the wireless communication is avoided.
  • the header generation in the lower layer and the offset generation associated therewith it can be easily analogized that data transfer in downlink communication can also be realized with the same configuration.
  • a network adapter is for transferring a plurality of packets received via a network to a host computer, and separating means for separating each received packet into a header part and a body data part, Storage means for storing each packet separated by the separation means; creation means for creating a new header based on each header portion of the plurality of packets; and the new header and the storage means.
  • Notification means for notifying the host computer of a plurality of pieces of position specifying information indicating the respective storage positions of the plurality of main body data sections, and the storage means based on a transfer instruction created using the position specifying information in the host computer Transfer means for reading the plurality of main body data parts from the data and transferring them to a host computer
  • Patent Document 2 when such a network adapter is used to transfer a received packet to a host computer, if packets received from the network side are stored discontinuously in the adapter memory of the network adapter, continuous packets are transmitted.
  • the network adapter side does not perform the process of reconfiguring the packets, and creates packets that are logically combined into one based on the headers of the received packets.
  • the header of the logically created packet and a plurality of body data portions extracted from the plurality of received packets are transferred to the host computer, and the host computer performs protocol processing based on the header of the logically created packet. Execute. In this case, a new header that is logically created from the received headers of a plurality of packets and transferred to the host computer is used as a reconstructed header.
  • the reconfiguration header transferred from the network adapter is stored in the kernel space of the host memory in the host computer.
  • the reconfiguration header is processed by software that executes protocol processing of the host computer, and the transfer destination of the packet body data is determined.
  • the transfer destination of the packet body data is an area in the user space of the host memory, the host computer does not perform inter-memory copying, and the packet body data on the adapter memory of the network adapter is directly stored in the host computer. DMA transfer to user space.
  • the storage position of the main body data in the adapter memory is transmitted from the network adapter to the host computer as the main body data position information (position specifying information) prior to the main body data transfer.
  • the reception buffer area stores a reconfiguration header and position information sent from the network adapter.
  • the position information is composed of, for example, the head address of each body data and the data length of each body data in the adapter memory of the network adapter.
  • the transfer of the reconfiguration header and the position information from the network adapter to the host computer is performed according to a header transfer DMA descriptor described later. JP 2007-189550 A JP 2006-302246 A
  • the boundary between payloads is an arbitrary halfway byte boundary or bit boundary, and it is inefficient and high-speed to release only the boundary part after the processing of a part of the payload in the multiplexed frame is completed. Processing will be hindered.
  • the cause of this failure is that the header position detection and header parameter extraction can be offloaded and executed by dedicated hardware, but it is processed by the subsequent general-purpose CPU. Due to that. Subsequent processing by the general-purpose CPU increases the amount of work to be processed by the CPU together with the protocol processing performed by the subsequent CPU, resulting in a high load.
  • header analysis requires processing in bit units.
  • a general-purpose CPU used for subsequent processing usually has such a case that processing instructions in units of bits are not directly mounted. For this reason, processing with a DSP or dedicated logic is more efficient, and other circuits such as a DSP or dedicated logic are required.
  • Patent Document 2 does not consider management on a memory for a multiplexed frame composed of a plurality of headers or a plurality of payloads.
  • a multiplexed frame is processed by a general-purpose CPU, It is assumed that the alignment operation on the memory is necessary for the payload, and there is a problem that the workload to be processed by the CPU increases and the load increases.
  • An object of the present invention is to transfer data that can be transferred at the time of reception, which is easy to use and discard by a general-purpose CPU that performs subsequent processing when storing a received multiplexed frame in a storage unit, resulting in a reduction in the load on the general-purpose CPU.
  • a control device, a multiplexed frame transfer system, a transfer control method, and a transfer control program are provided. *
  • a transfer control device relates to a multiplexed frame transfer system for communicating a multiplexed multiplexed frame composed of a plurality of headers and a plurality of payloads with another communication device.
  • a first storage unit that stores the received multiplexed frame; a header parameter analysis unit that analyzes the plurality of headers of the received data of the received multiplexed frame and extracts parameters; , Based on the header parameter, a position information management unit that calculates and stores position information from the beginning of the received data of the header and the payload, and based on position information of the position information management unit in advance A header structure in which the header parameters are aligned is generated, and the header structure is stored in the header parameter description on another second storage unit.
  • a payload structure in which the payload is aligned in a specific size is generated in advance, and this payload structure
  • a payload alignment control unit that performs control to output the body so as to be transferred and stored in the payload storage area on the second storage unit.
  • the multiplexed frame transfer system controls the above-described transfer control device, the second storage unit that separates and stores the header structure and the payload structure from the transfer control device, and controls each unit. And a central control unit.
  • the transfer control method of the present invention is a transfer control method for performing control of communicating a multiplexed multiplexed frame composed of a plurality of headers and a plurality of payloads with another communication device, the received multiplexing
  • the header structure is stored in the header parameter description on the other second storage unit.
  • it is characterized by including a transfer control step of performing control to transfer the payload structure in the payload storage area on the second storage unit.
  • the transfer control program of the present invention provides various functions to a computer provided in a transfer control device that performs control to communicate a multiplexed frame composed of a plurality of headers and a plurality of payloads with another communication device.
  • a transfer control program that can be realized, wherein a header parameter analysis function that extracts a parameter by analyzing the plurality of headers of received data of the received multiplexed frame, and the header based on the header parameter
  • a position information calculation function for calculating position information from the beginning of the received data of the payload, and Based on the position information calculated by the position information calculation function, a header structure in which the header parameters are aligned in advance is generated, and the header structure is transferred to a header parameter storage area on another second storage unit
  • Based on the header parameter alignment control function for performing output to be stored and the position information calculated by the position information calculation function a payload structure in which the payload is aligned in a specific size is generated in advance.
  • a payload alignment control function for performing control to output the structure
  • a multiplexed frame having a format suitable for wireless communication temporarily held in the first storage unit is transferred to the second storage unit, it is not transferred as it is, but is processed by a general-purpose CPU.
  • the data converted into a form suitable for the above is transferred to the second storage unit. That is, the plurality of headers and the plurality of payloads are separated and aligned in advance in a form suitable for processing in the subsequent CPU, and arranged on the second storage unit.
  • the number of extra copies is suppressed, and as a result, the load on the general-purpose CPU is reduced, and the subsequent processing time of the received multiplexed frame can be shortened.
  • the transfer control device of the present invention (for example, reference numeral 20 shown in FIG. 2) is a multiplexed frame transfer for communicating a multiplexed multiplexed frame composed of a plurality of headers and a plurality of payloads with another communication device. This is intended for a system (for example, reference numeral 1 shown in FIG. 1).
  • the transfer control apparatus analyzes a first storage unit (for example, reference numeral 22 shown in FIG. 2) that stores the received multiplexed frame and the plurality of headers of the received data of the received multiplexed frame. Based on the header parameter analysis unit (for example, reference numeral 24 shown in FIG. 2) for extracting parameters and the header parameters, the position information from the head of the received data of the header and the payload is calculated and stored and managed. And a position information management unit (for example, reference numeral 25 shown in FIG. 2).
  • the transfer control device generates a header structure (for example, reference numeral 120 shown in FIG. 3) in which the header parameters are aligned in advance based on the position information of the position information management unit.
  • a header parameter alignment control unit (for example, reference numeral 27 shown in FIG. 2) that performs control for output to be transferred and stored in the header parameter storage area on the second storage unit (for example, reference numeral 50 shown in FIG. 1);
  • a payload structure for example, reference numeral 140 shown in FIG. 3 in which the payload is aligned in advance is generated, and this payload structure is stored on the second storage unit.
  • a payload alignment control unit for example, reference numeral 28 shown in FIG. 2 for performing output control so as to be transferred and stored in the payload storage area It is.
  • a transfer control device when a multiplexed frame having a format suitable for wireless communication temporarily held in the first storage unit is transferred to the second storage unit, it is not transferred as it is, but a protocol is executed by a general-purpose CPU.
  • the data converted into a form suitable for processing is transferred to the second storage unit. That is, the plurality of headers and the plurality of payloads are separated and aligned in advance in a form suitable for processing in the subsequent CPU, and arranged on the second storage unit. The number of extra copies is suppressed, and as a result, the load on the general-purpose CPU is reduced, and the subsequent processing time of the received multiplexed frame can be shortened.
  • FIG. 1 is a block diagram showing an example of a schematic configuration of the entire multiplexed frame transfer system according to the first embodiment of the present invention.
  • the multiplexed frame transfer system 1 of this embodiment includes a CPU unit 10 as a central control unit, a DMA controller 20 as a transfer control device, a bus unit 30, a memory controller unit 40, a second controller
  • the storage unit includes an external memory unit 50, a physical layer interface unit 60, and a physical layer processing unit 70.
  • the CPU unit 10, the DMA controller unit 20, the memory controller unit 40, and the physical layer interface unit 60 are electrically connected to the bus unit 30, respectively.
  • the external memory unit 50 is electrically connected to the memory controller unit 40.
  • the physical layer processing unit 70 is electrically connected to the interface unit 60.
  • the CPU unit 10 is connected to the bus unit 30 as a master device for the bus unit 30.
  • the CPU unit 10 controls the DMA controller unit 20 via the bus unit 30.
  • the CPU unit 10 accesses the external memory 50 as a storage area via the bus unit 30 and the memory controller unit 40.
  • the CPU unit 10 accesses a local memory provided in the physical layer processing unit 70 as a storage area via the bus unit 30 and the physical layer interface unit 60.
  • the DMA controller unit 20 is connected to the bus unit 30 as a master device and a slave device for the bus unit 30.
  • the DMA controller unit 20 receives a control request from the CPU unit 10 by receiving a write from the CPU unit 10 to a register included in the DMA controller unit 20 in a path operating as a slave device.
  • the DMA controller unit 20 accesses the external memory 50 as a storage area via the bus unit 30 and the memory controller unit 40 in a path that operates as a master device. Further, the DMA controller unit 20 accesses, as a storage area, a local memory provided in the physical layer processing unit 70 via the bus unit 30 and the physical layer interface unit 60 in a path operating as a master device.
  • the bus unit 30 can include a bus as a data transfer line, a bus control circuit, and the like.
  • FIG. 2 is a block diagram showing an example of a detailed configuration of the DMA controller unit of the multiplexed frame transfer apparatus of FIG.
  • the DMA controller unit 20 operates as a part of a system that receives a wireless communication frame in which a plurality of PDUs are multiplexed, and temporarily stores wireless communication reception data of an input multiplexed frame as shown in FIG. Therefore, a buffer unit 22 that is managed by being divided into burst transfer length units of the bus, a received data input unit 21 that writes input wireless communication received data to the buffer unit 22, and replacement of data on the buffer unit 22 A buffer management unit 23 that manages the discarding, a header parameter analysis unit 24 that analyzes a plurality of headers of received data stored in the buffer unit 22 and extracts parameters, and determines each PDU in advance from the header parameters.
  • a PDU type management unit 29 that classifies and holds data according to the priority of the received logical channel, and the header parameter A position information management unit 25 that calculates and holds the position of the header and payload from the beginning of the received data from the data, and a specific area on the external memory unit 50 based on the information held in the position information management unit 25
  • the header parameter alignment control unit 27 that outputs the byte-aligned data and the information held in the position information management unit 25 is used to set a predetermined size on the external memory unit 50 for each type held in the PDU type management unit 29.
  • a payload alignment control unit 28 that outputs payloads at aligned positions and a selection control unit 26 are configured.
  • the DMA controller unit 20 has a function of configuring the input wireless communication reception data of the multiplexed frame on the external memory unit 50 as a plurality of payloads obtained by dividing a plurality of header parameters for each type.
  • the received data input unit 21 is electrically connected to the physical layer processing unit 70 via the bus unit 30 and the physical layer interface unit 60.
  • the reception data input unit 21 is used to input reception data to each unit in the DMA controller unit 20 through a path of the physical layer processing unit 70, the physical layer interface unit 60, and the bus unit 30.
  • the received data constitutes a multiplexed frame.
  • the buffer unit 22 is a storage unit that temporarily holds data received from the physical layer of the lower layer.
  • the buffer unit 22 has a minimum buffer size that takes into account the time required for header analysis until the data fetched from the lower layer is written to the memory.
  • examples of the buffer size of the buffer unit 22 include a buffer size of about several tens of bytes to several kB. More specifically, with respect to the buffer size, for example, 64 bytes of a double buffer, etc., for 32 bytes of burst transfer can be cited as reasonable values. If the buffer size is about this level, it can be implemented by, for example, a register. In addition, the buffer unit 22 having a buffer size greatly exceeding that can be configured by a low latency memory, for example. When the buffer unit 22 is configured by a memory, it can have at least two ports of input and output.
  • the buffer management unit 23 is a circuit that performs control for holding the header part in the buffer unit 22 until the header analysis is completed.
  • the buffer management unit 23 can include a stop control circuit that temporarily stops input from the lower physical layer when header processing takes more time than expected.
  • the buffer size of the buffer unit 22 is preferably set to a sufficient size so that control for stopping input due to header analysis does not occur.
  • the header parameter analysis unit 24 is a circuit for separating the header part for each parameter constituting the header part.
  • the position information management unit 25 acquires information on the payload position and payload length from the header parameters extracted by the header parameter analysis unit 24, and calculates the respective positions of the header part and the payload part based on the acquired information.
  • the position information management unit 25 holds and manages the calculated position information.
  • the PDU type management unit 29 detects payloads having different priorities such as VoIP, video streaming, and IP packets from the header parameters.
  • the header parameter alignment control unit 27 is a circuit that performs control to output the parameter in a byte-aligned state to the external memory unit 50. Under the control of the header parameter alignment control unit 27, the CPU unit 10 can access the header parameters as a structure.
  • the fact that all of the plurality of header parameters are output to the external memory unit 50 can be determined by means such as detecting an end flag by analyzing the header parameters by the header parameter analyzing unit 24.
  • the header parameter alignment control unit 27 receives the header parameter together with the header parameter at the end, the CPU unit 10 is notified of the end of writing the header parameter using means such as an interrupt, and the subsequent processing is started early. You can also.
  • the payload alignment control unit 28 outputs the payload to a position aligned to a predetermined size on the external memory unit 50 for each type held by the PDU type management unit 29 using the information held by the location information management unit 25. To do.
  • the selection control unit 26 selectively controls switching between the output (header structure) of the header parameter alignment control unit 27 and the output (payload structure) of the payload alignment control unit 28.
  • FIG. 3 shows an outline of stored data stored in the external memory unit 50.
  • FIG. 3 is an explanatory diagram showing an example of the data structure of stored data stored on the external memory of the multiplexed frame transfer apparatus of FIG.
  • the DMA controller unit 20 separates the header unit 112 and the payload unit 114 of the received data 110, and the header unit 112 is byte-aligned in units of parameters in advance before DMA transfer. 120, the payload part 114 is aligned to a specific size and the payload structure 140 is arranged according to the priority, and the header structure 120 and the payload structure 140 are separated on the external memory unit 50 by DMA transfer. Store in (header storage area, payload storage area).
  • the header part 112 includes parameters of each of a plurality of headers in the multiplexed frame.
  • the payload portion 114 includes a plurality of payloads in the multiplexed frame.
  • the header structure 120 includes parameters of each of the plurality of headers in the multiplexed frame.
  • the payload structure 140 includes a first payload structure part 142 in which the payload in the low priority frame is aligned to a specific size, and a second payload structure in which the payload in the high priority frame is aligned to a specific size. Part 144.
  • the first payload structure part 142 and the second payload structure part 144 each include a payload body aligned with a specific size and invalid data.
  • storing separately means that the processing by the subsequent CPU is held in a form that does not require special processing for separating and recognizing the header portion 112 and the payload portion 114. means.
  • the external memory unit 50 whether or not it is desirable to store the physical addresses of the header structure 120 and the payload structure 140 in a discontinuous part depends on the data management structure in the CPU unit 10. If the CPU unit 10 can virtually manage data, the restriction on the storage position on the physical memory is relaxed. On the other hand, when the management in the CPU unit 10 strongly reflects the physical address, or when the physical address is directly handled from each task executed on the CPU unit 10, the header structure 120 of the physical address is also used. It is desirable that the storage area and the storage area of the payload structure 140 are separated.
  • the header unit 112 is stored in the external memory unit 50 as a header structure 120 byte-aligned in parameter units. This is because a general-purpose CPU is not suitable for handling odd data less than byte boundaries. In other words, in order to be efficiently processed by the CPU unit 10, it is better to store at least bytes or an integral multiple thereof.
  • the data structure of the byte-aligned header structure 120 can be handled as a structure from a C language program on the CPU unit 10.
  • header portion 112 since it is necessary to maintain the correspondence between the header portion 112 and the payload portion 114, there may be a case where pointer information to a position where the payload portion 114 is stored on the memory is also stored. Further, as a connection between a plurality of headers, a data structure in which structures are linked by a linked list can be considered.
  • Each payload portion 114 is stored in an area aligned to a specific size, and the fraction is filled with invalid data.
  • the predetermined size depends on some of the normal communication frame size between 32 bytes, which is the burst transfer size of the bus section, and the page size of 4 kB or before or after. In order to eliminate waste due to being filled with invalid data, it is desirable that the unit of alignment be one-fourth or less of the frame size in normal times.
  • the start address of the payload portion 114 is stored at an address in which all lower bits corresponding to the alignment size are 0.
  • payload units 114 having high priority are released quickly, it is desirable to collect those having the same priority and store different ones in different areas from the viewpoint of avoiding fragmentation.
  • the difference in priority indirectly correlates with the difference in the size of the payload portion, it is easy to manage those having the same size in the payload portion close to each other.
  • the “first storage unit” referred to in the present invention can be configured by the buffer 22 of the present embodiment. it can.
  • the “second storage unit” according to the present invention can be configured by the external memory unit 50 of the present embodiment.
  • the “central control unit” referred to in the present invention can be configured by the CPU unit 10 of the present embodiment.
  • the “first storage unit” can store the received multiplexed frame.
  • the header parameter analyzing unit can extract the parameters by analyzing the plurality of headers of the received data of the received multiplexed frame.
  • the position information management unit can calculate and store the position information from the head of the received data of the header and the payload based on the header parameter.
  • the header parameter alignment control unit 27 generates a header structure in which the header parameters are aligned in advance based on the position information of the position information management unit 25, and this header structure is stored in the other second storage unit. To be transferred and stored in the header parameter storage area.
  • the payload alignment control unit 28 generates a payload structure in which the payload part is previously aligned to a specific size based on the position information of the position information management unit 25, and the payload structure is stored on the second storage unit. Output to be transferred and stored in the payload storage area.
  • the PDU type management unit 29 classifies and manages each PDU constituting the multiplexed frame for each type based on the header parameter.
  • the payload alignment control unit 28 directly transfers and stores the payload structures at different positions in the payload storage area on the second storage unit for each type indicated by the PDU type management unit 29. Output as follows.
  • the payload alignment control unit 28 generates the payload structure as a data structure having a unit block composed of a processed payload processed to the specific size and invalid data.
  • the PDU type management unit 29 classifies the PDUs according to the priority of the logical channel included in the multiplexed frame. In this case, the location information management unit 25 determines the different location based on the priority.
  • the position information management unit 25 calculates the position information so that the alignment unit on the second storage unit is different for each priority.
  • the header parameter analysis unit 27 detects the end information regarding the end of each of the plurality of headers, and notifies the header parameter alignment control unit of the end information together with the header parameter.
  • the payload alignment control unit 28 can detect a flag indicating the tail information of the header parameter passed from the header parameter analysis unit 24 and perform control to notify the central control unit 10 of the detection.
  • the first storage unit can be configured to be input / discarded in units of burst transfer length of a bus unit connecting the units.
  • the header parameter alignment control unit 27 aligns and outputs the header parameter value to an integer variable length predetermined by a programming language.
  • the header parameter alignment control unit 27 notifies the central control unit using an interrupt that the end of the header parameter has been transferred to the second storage unit.
  • the second storage unit separates and stores the header structure and the payload structure from the transfer control device.
  • the central control unit 10 controls each unit.
  • FIG. 4 is a flowchart showing an example of the entire processing procedure in the multiplexed frame transfer system according to the first embodiment of the present invention.
  • the transfer control method performs control for communicating a multiplexed multiplexed frame composed of a plurality of headers and a plurality of payloads with another communication device, for example, a transfer control device, a transfer control device, or the like. It is intended for computers, computers, etc.
  • a header parameter analysis step for example, step S11 shown in FIG. 4 for analyzing the plurality of headers of the received data of the received multiplexed frame and extracting parameters
  • the position information calculation step for example, step S12 shown in FIG. 4 for calculating the position information from the head of the received data of the header and the payload is calculated in the position information calculation step.
  • a header structure in which the header parameters are aligned in advance before transfer is generated, and a payload structure in which the payload is aligned in a specific size is generated, and the header structure is stored in another second storage.
  • transfer to the header parameter storage area Including the transfer control step of the structure performs the control of transferring the payload storage area on the second storage unit (for example, step S13 shown in FIG. 4), a.
  • the transfer control method may further include a PDU type management step for classifying and managing each PDU constituting the multiplexed frame for each type based on the header parameter.
  • a PDU type management step for classifying and managing each PDU constituting the multiplexed frame for each type based on the header parameter.
  • control is performed so that the payload structure is directly transferred and stored at different positions in the payload storage area on the second storage unit. May be.
  • the payload structure in the transfer control step, may be generated as a data structure having a unit block composed of a processed payload processed to the specific size and invalid data.
  • the PDUs may be classified according to the priority of the logical channel included in the multiplexed frame.
  • the different location may be determined based on the priority.
  • the position information management step may calculate the position information so that the alignment unit on the second storage unit is different for each priority.
  • control is performed to detect end information regarding the end of each of the plurality of headers and notify the end information to the header parameter alignment control unit together with the header parameter. May be performed.
  • a flag indicating the end information of the header parameter may be detected, and control may be performed to notify the central control unit of the detection.
  • the header parameter value may be controlled to be aligned with an integer variable length predetermined by a programming language and output.
  • control is performed to notify the central control unit using an interrupt that the end of the header parameter has been transferred to the second storage unit. Good.
  • FIG. 5 is a sequence diagram showing an example of a detailed processing procedure in the multiplexed frame transfer system according to the first embodiment of the present invention.
  • the CPU unit 10 transmits a transfer start request for starting a series of processes to the DMA controller unit 20 (step S101).
  • the DMA controller unit 20 receives a transfer start request from the CPU unit 10 (step S102).
  • a notification of transfer contents and a trigger for starting are transferred by writing a predetermined value from the CPU unit 10 into a register on the DMA controller unit 20 side.
  • the transfer contents notified by the transfer start request include the storage position of the received data to be transferred (reception data storage position information) and the address to which the transfer is to be performed on the external memory unit 50 that is the transfer destination (transfer destination memory). Address information).
  • the DMA controller unit 20 autonomously executes a series of processes until the transfer is completed.
  • the received data input unit 21 of the DMA controller unit 20 inputs the received data and transfers the data to the buffer unit 22 provided in the DMA controller 20.
  • the reception data input unit 21 of the DMA controller unit 20 operates as a master device for the bus unit 30 and issues a request (memory read request) for reading data to the lower physical layer processing unit 70.
  • Step S103 When the physical layer processing unit 70 receives a memory read request from the DMA controller unit 20 (step S104), the physical layer processing unit 70 notifies the DMA controller unit 20 of read data that is received data in the internal local memory (step S105). .
  • the reception data input unit 21 of the DMA controller unit 20 receives the read data notification from the physical layer processing unit 70 (step S106).
  • the transfer unit at this time is preferably a burst transfer unit in the bus in view of the transfer efficiency of the bus, for example, and has a value of about 32 bytes.
  • the header parameter analysis unit 24 of the DMA controller unit 20 analyzes the header unit while sequentially reading the values stored in the buffer unit 22, and takes out information of the header unit as a parameter (step S108a) ⁇ header analysis Processing>.
  • the header information is packed in bit units, for example.
  • the result is held as a header parameter in byte units while being read in bit units.
  • header parameter alignment control unit 27 of the DMA controller unit 20 is output by the header parameter alignment control unit 27 of the DMA controller unit 20 (step S108b) ⁇ header structure output processing>.
  • the processed header (header structure) is sequentially written to the external memory unit 50 (step S108c).
  • the external memory unit 50 stores a header structure (reference numeral 120 shown in FIG. 3) (step S109).
  • the location information of the payload is necessary in the process of transferring the subsequent payload, it is separately stored in the location information management unit 25 of the DMA controller unit 20.
  • the DMA controller unit 20 transmits a header transfer end notification to the CPU unit 10 (step S111).
  • the CPU unit 10 receives a header transfer end notification from the DMA controller unit 20. In this way, when the transfer process related to the header structure is completed, the DMA controller unit 20 starts the transfer process related to the payload.
  • the physical layer processing unit 70 When the physical layer processing unit 70 receives a memory read request from the DMA controller unit 20 (step S114), the physical layer processing unit 70 notifies the DMA controller unit 20 of the payload portion of the read data that is received data in the internal local memory. (Step S115). The received data input unit 21 of the DMA controller unit 20 receives the notification of the payload portion of the read data from the physical layer processing unit 70 (step S116).
  • the payload alignment control unit 28 of the DMA controller unit 20 performs control to output the payload portion of the read data transferred from the inside of the buffer unit 22 while aligning in units of payload, and to transfer to the external memory unit 50. Perform (step S118a) ⁇ payload output control processing>. *
  • the payload alignment control unit 28 of the DMA controller unit 20 can align in units of payload based on the position information of the payload part calculated by the position information management unit 25.
  • the payload alignment control unit 28 of the DMA controller unit 20 aligns in units of payloads according to the type of the payload unit based on the PDU classification information (for example, priority) corresponding to the payload unit of the PDU type management unit 29. be able to.
  • the payload portion is VoIP, it is determined as high priority, and stored in the first payload storage area on the external memory unit 50. If the payload portion is an IP packet, it is determined as low priority, and the external memory It is stored in the second payload storage area on the unit 50 (for example, the high priority frame 144 and the low priority frame 142 shown in FIG. 3). Then, the payload portion of the first payload storage area is processed prior to the payload portion of the second payload storage area.
  • the priority has been described in two steps as an example. However, the payload portion may be stored based on the priority of three or more steps, and processing may be performed based on the priority.
  • the PDU classification information for determining the storage position on the external memory unit 50 according to the priority in the wireless communication processing of the payload part is the classification among the parameters obtained by the header parameter analysis unit 24.
  • the PDU type management unit 29 calculates and holds the parameter.
  • the output destination on the external memory unit 50 is recognized by the PDU type management unit 29 while recognizing the payload boundary based on the information of the position information management unit 25. An address is calculated, and output is performed by the payload alignment control unit 28 based on such information.
  • the DMA controller unit 20 sequentially outputs the payload part to the external memory unit 50 (step S118b), and the external memory unit 50 sequentially stores the payload part according to the priority (step S119).
  • the DMA controller unit 20 transmits a payload transfer end notification to the CPU unit 10 (step S121).
  • the CPU unit 10 receives a payload transfer end notification from the DMA controller unit 20.
  • FIG. 1 A state transition diagram showing the header analysis operation is shown in FIG. Before the header detection process starts, it is in the standby state 101. As predetermined transfer is started in the DMA, the state transits to the header analysis 102. When in this state, the header format is sequentially checked from the top, and the header parameters are extracted. In the header analysis state 102, the state transits to the detection notification state 103, and a value indicating the end of the header is detected in the external memory unit 50 by detecting a flag indicating the end using an exclusive OR. It is possible to output.
  • the header analysis state 102 it is also possible to check whether the header format is correct by checking bits other than the flag indicating the end. By masking bits other than the bit to be checked and taking an exclusive OR with a desired value, it can be checked whether or not it has a normal format. If an abnormal header format is detected, the state is changed to 104 and an error notification is sent to the CPU.
  • the received data in the format suitable for wireless communication temporarily held in the buffer unit is transferred to the external memory unit, it is not transferred as it is, but the CPU unit which is a general-purpose CPU.
  • the data converted into a form suitable for protocol processing is transferred to the external memory unit.
  • a plurality of headers and a plurality of payloads are separated, aligned in a form suitable for processing in the subsequent CPU unit, and arranged on the external memory 50, thereby shortening the subsequent processing time of received data. It is possible to provide a transfer control device that can handle the above-described problem.
  • the reason is that, when the received data input from the physical layer processing unit 70 is written in the external memory, it is possible to easily execute processing that must be redundant when the CPU unit 10 processes the received data. .
  • Subsequent processing in the CPU section referred to here is a complicated process execution in which headers and payloads are rearranged or managed without being rearranged on the external memory unit based on header analysis at the bit level and the analysis result. Refers to either.
  • the number of times of extra copy on the external memory unit is suppressed by calculating in advance the address that should be stored in advance. Alternatively, complicated data management required to avoid this extra memory copy can be avoided.
  • a part of each block in the block diagrams shown in FIG. 1 and FIG. 2 is a software module that shows a state functionalized by the computer by executing various programs stored in an appropriate memory. It may be a configuration.
  • the physical configuration is, for example, one or a plurality of CPUs (or one or a plurality of CPUs and one or a plurality of memories), but the software configuration by each unit (circuit / means) is exhibited by the CPU by controlling the program.
  • a plurality of functions are expressed as components by a plurality of units (means).
  • each unit (means) is configured in the CPU.
  • a static state in which the program is not executed, the entire program (or each program part included in the configuration of each unit) that realizes the configuration of each unit is stored in a storage area such as a memory.
  • each unit (means) described above can be interpreted as a computer functionalized by a program together with the functions of the program, or a plurality of functions permanently functioning by specific hardware. Naturally, it can be interpreted that the device comprising the electronic circuit block is described. Therefore, these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.
  • each unit may be configured as a device including a dedicated computer capable of communication, and the system may be configured by each of these devices.
  • the priority according to the type of payload is aligned with the high-priority payload and the low-priority payload.
  • the priority according to the type may be divided into a plurality of stages of payload structures, and the respective payload structures may be aligned and transferred to an external memory.
  • the DMA controller (transfer control device) 320 includes a payload alignment control unit 328, a header parameter alignment control unit 327, and other units, as in the above embodiment.
  • the payload alignment control unit 328 divides the priority according to the type of each payload into a plurality of payload structures, and the first priority payload alignment control unit 328a- 1, second priority payload alignment control unit 328 a-2,..., Nth priority payload alignment control unit 328 a -N may be configured.
  • the first priority payload alignment control unit 328a-1, the second priority payload alignment control unit 328a-2,..., And the Nth priority payload alignment control unit 328a-N respectively align (
  • Each of the N payload structures that has been subjected to invalid data such as a form is transferred to the external memory 350, and the first priority payload storage area, the second priority payload storage area of the external memory 350, .., Can be stored in the Nth priority payload storage area.
  • the header parameter alignment control unit 327 can generate a header structure by aligning a plurality of headers, and transfer the header structure to the header parameter storage area 351 of the external memory 350.
  • the header structure and the payload structure are transferred by first transferring the header structure to the header parameter storage area of the external memory unit, and then transferring the payload structure to the external memory unit.
  • the data is transferred to the payload storage area, it may be configured such that these can be transferred simultaneously.
  • FIG. 7 In the configuration of the DMA controller (transfer control device 220) in FIG. 7, the header parameter alignment control unit 227 has a first transfer path that can be transferred to the header parameter storage area (header parameter storage area) of the external memory unit 250.
  • the payload alignment control unit 228 has a second transfer path that can be transferred to the payload storage area (payload storage area) of the external memory unit 250. In this way, the processing speed can be increased by configuring each transfer independently.
  • the present invention is not limited to this, and a data structure in which multiplexing is repeated a plurality of times may be used. .
  • the PDU is not limited to a data processing unit such as a MAC PDU, and may be configured to include a data processing unit such as a MAC-hs PDU.
  • MAC Media Access Control
  • MAC-hs PDU MAC-hs PDU
  • the RLC PDU with the C / T field added as the MAC header is the MAC-hs SDU.
  • the data size for this C / T field is fixed.
  • the number, position, shape, and the like of the above-described constituent members are not limited to the above-described embodiment, and can be set to a suitable number, position, shape, and the like in practicing the present invention. That is, in the above-described embodiment, an example in which the priority is classified into two levels has been described, but may be a plurality of stages of three or more.
  • the software program of the present invention that realizes the functions of the above-described embodiments is a program corresponding to the processing unit (processing means), functions, etc. shown in the various block diagrams in each of the above-described embodiments,
  • processing program processed in a program corresponding to the processing procedure, processing means, function, etc. shown in the flowcharts, sequence diagrams, etc., and the method (step) generally described in this specification Includes processing, entire data or parts.
  • the transfer control program performs transfer for performing control for communicating a multiplexed multiplexed frame composed of a plurality of headers and a plurality of payloads with another communication device. It is intended for a computer capable of realizing various functions in a computer provided in a control device.
  • the transfer control program is configured to analyze a plurality of headers of received data of the multiplexed frame and extract parameters, and based on the header parameters, the received data of the header and the payload
  • the position information calculation function for calculating the position information from the head in each of the above, and the header structure in which the header parameters are aligned in advance are generated based on the position information calculated by the position information calculation function.
  • the transfer control program can further cause the computer to realize a function including a PDU type management function for classifying and managing each PDU constituting the multiplexed frame for each type based on the header parameter.
  • a PDU type management function for classifying and managing each PDU constituting the multiplexed frame for each type based on the header parameter.
  • the payload structures are directly transferred and stored in different positions of the payload storage area on the second storage unit for each type in the PDU type management function.
  • a function of performing output control can be realized in a computer.
  • the transfer control program realizes, in the payload alignment control function, a function of generating the payload structure as a data structure having a unit block including a processed payload processed into the specific size and invalid data. Can be made.
  • this transfer control program can cause the computer to realize a function of classifying the PDU according to the priority of the logical channel included in the multiplexed frame in the PDU type management function.
  • the position information management function can cause the computer to realize the function of determining the different positions based on the priority.
  • the transfer control program can cause the computer to realize a function of calculating position information so that the alignment unit on the second storage unit is different for each priority in the position information management function.
  • the transfer control program detects end information regarding the end of each of the plurality of headers, and notifies the header parameter alignment control unit of the end information together with the header parameter.
  • the computer can realize the function of performing
  • the transfer control program detects, in the header parameter alignment control function, a flag indicating the tail information of the header parameter passed from the header parameter analysis function, and notifies the central control unit of the detection.
  • the function to be performed can be realized in a computer.
  • the transfer control program can cause the computer to realize a function of controlling the header parameter alignment control function to align and output the header parameter value to an integer variable length predetermined by a programming language.
  • this transfer control program is the header parameter alignment control function
  • the computer can be realized with a function of performing control to notify the central control unit using an interrupt that the end of the header parameter has been transferred to the second storage unit.
  • the program may be in any form such as an object code, a program executed by an interpreter, or script data supplied to the OS.
  • the program can be implemented in a high level procedural or object oriented programming language, or in assembly or machine language as required. In either case, the language may be a compiler or interpreted language.
  • the transfer control program is read from a storage medium such as a ROM storing the transfer control program into a computer (CPU) and executed, or the transfer control program is transmitted to the communication means. If it is executed after being downloaded to a computer, the above-described apparatus according to the present invention can be realized relatively easily.
  • the software of the apparatus is embodied as an embodiment of the idea of the invention, it naturally exists and is used on a storage medium storing such software.
  • the program is the same without any question about the duplication stage such as the primary duplication product and the secondary duplication product. If the program is supplied using a communication line, the communication line becomes a transmission medium and the present invention is used. Furthermore, the dependent claims in the apparatus may be configured to correspond to the dependent claims in the method and the program.
  • the information recording medium stores an application program including the above-described program, and the computer can read the application program from the information recording medium and install the application program on the hard disk.
  • the program can be provided by being recorded on an information recording medium such as a magnetic recording medium, an optical recording medium, or a ROM.
  • an information recording medium in which such a program is recorded in a computer constitutes a convenient information processing apparatus.
  • ROM read only memory
  • RAM random access memory
  • semiconductor memory such as flash memory and SRAM
  • an integrated circuit or a USB memory
  • memory card optical disk, magneto-optical disk, magnetic recording medium and the like including them.
  • flexible disk CD-ROM, CD-R, CD-RW, FD, DVDROM, HDDVD (HDDVD-R-SL ⁇ single layer>, HDDVD-R-DL ⁇ double layer>, HDDVD-RW) -SL, HDDVD-RW-DL, HDDVD-RAM-SL), DVD ⁇ R-SL, DVD ⁇ R-DL, DVD ⁇ RW-SL, DVD ⁇ RW-DL, DVD-RAM, Blu-Ray Disk ⁇ registration Trademarks> (BD-R-SL, BD-R-DL, BD-RE-SL, BD-RE-DL), O, ZIP, magnetic card, magnetic tape, SD card, memory stick, non-volatile memory card, IC card, and other portable media, recording
  • an “information recording medium” is a program that dynamically holds a program for a short time (transmission), such as a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. Medium or transmission wave), and a volatile memory in a computer system serving as a server or client in that case, and those holding a program for a certain period of time.
  • an RTOS on a terminal for example, a mobile phone
  • the same functions as those in the above embodiment can be realized and An effect can be obtained.
  • the program is encrypted, stored in a recording medium such as a CD-ROM, distributed to the user, and the user who clears the predetermined condition is allowed to download key information for decryption from the homepage via the Internet, and It is also possible to execute the encrypted program by using the key information and install the program on a computer.
  • the configuration of the present invention may include each component (various means, steps and data) of the program and encryption means for encrypting the program (various means, steps and data).
  • system in the above embodiment refers to a logical collection of a plurality of devices, and it does not matter whether the devices of each configuration are in the same housing. For this reason, this invention may be applied to the system comprised from a some apparatus, and may be applied to the apparatus which consists of one apparatus.
  • the “system” may include hardware such as an OS and peripheral devices.
  • the server is not limited to a personal computer, for example, but includes various servers, EWS (engineering workstation), medium-sized computers, mainframes, and the like.
  • information terminals include portable information terminals, various mobile terminals, PDAs, mobile phones, wearable information terminals, various (such as portable) televisions, DVD recorders, various acoustic devices and their remote controllers, A configuration that can be used from home appliances equipped with an information communication function, game devices having a network function, and the like may also be used. Or what was improved as an application displayed on these terminals can also be included in the scope of the present invention.
  • the program may be for realizing a part of the above-described functions, and further, a program that can realize the above-described functions in combination with a program already recorded in a computer system, a so-called difference file ( Difference program).
  • the steps shown in the flowchart include processes that are executed in parallel or individually even if they are not necessarily processed in time series, as well as processes that are executed in time series according to the described procedure. It is a waste.
  • the order in which the program procedures (steps) are executed can be changed. Further, certain procedures (steps) described herein can be implemented, removed, added, or rearranged as a combined procedure (step) as needed for implementation.
  • each unit may be formed by an integrated circuit such as an LSI. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • the LSI may include other functional blocks.
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible. Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology.
  • wireless communication and wired communication as well as communication in which wireless communication and wired communication are mixed, that is, wireless communication is performed in a certain section and wired communication is performed in another section. There may be. Further, communication from one device to another device may be performed by wired communication, and communication from another device to one device may be performed by wireless communication.
  • this communication includes a communication network.
  • a network constituting the communication network for example, a cellular phone network (including a base station and an exchange system), a public phone network, an IP phone network, an ISDN network such as various network networks, the Internet (Nochi, TCP. Communication mode using IP protocol), Intranet, LAN (including Ethernet (registered trademark), Gigabit Ethernet (registered trademark), etc.), WAN, optical fiber communication network, power line communication network, various dedicated line networks compatible with broadband, etc. Any hardware configuration may be used.
  • the network may be any communication protocol such as a network using various communication protocols, a virtual network constructed in software, or a network including all similar networks.
  • the network is not limited to a wired network, but includes a wireless (including satellite communication, various high-frequency communication means, etc.) network (for example, a single carrier communication system such as a simple telephone system or a mobile phone, W-CDMA or IEEE 802.11b).
  • Network including a spread spectrum communication system such as a wireless LAN, a multi-carrier communication system such as IEEE802.11a and HiperLAN / 2, etc., or a combination of these may be used. It may be a system connected to a network. Further, the network may take any form such as point-to-point, point-to-multipoint, multipoint-to-multipoint. *
  • the type of interface formed on one or both may be any interface developed in the future.
  • the above-described method is not necessarily limited to a substantial apparatus, and it can be easily understood that the method also functions as the method.
  • the invention relating to the method is not necessarily limited to a substantial apparatus, and there is no difference that the method is also effective.
  • a transfer control device, a multiplexed frame transfer system, and the like can be included as an example for realizing the method.
  • such an apparatus may exist alone, or may be used in a state where it is incorporated in a certain device (for example, a communication apparatus). Including embodiments. Therefore, it can be changed as appropriate, such as software or hardware.
  • the software of the apparatus is embodied as an embodiment of the idea of the invention, it naturally exists on the storage medium storing the software and is used.
  • a part is software and a part is realized by hardware, and a part is stored on a storage medium and is read as needed. It may be as a thing.
  • a configuration using hardware or an operating system may be used, or may be implemented separately from these.
  • the scope of the invention is not limited to the illustrated example.
  • the above embodiments include various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. That is, examples include combinations of the above-described embodiments, or any of them and any of the modifications.
  • the obvious effects from the respective configurations disclosed in the embodiments and their modifications are naturally included as the effects of the embodiments. it can.
  • the configuration capable of exhibiting all the effects described in the present embodiment is not necessarily an essential component of the essential features of the present invention.
  • an embodiment based on a configuration in which some of the configuration requirements are deleted from all the configuration requirements shown in the embodiment, and a technical scope based on the configuration may be an invention.
  • the present invention can be applied to a protocol stack processing device in wireless communication.
  • FIG. 2 is a block diagram showing an example of a detailed configuration of a DMA controller unit (transfer control device) in the multiplexed frame transfer system of FIG. 1.
  • DMA controller unit transfer control device
  • FIG. 1 It is explanatory drawing which shows an example of the data structure of the storage data stored on the external memory part of the multiplexed frame transfer system of FIG.
  • FIG. 1 It is a flowchart which shows an example of the whole process sequence in the multiplexed frame transmission system by the 1st Embodiment of this invention.
  • FIG. 1st Embodiment of this invention It is a sequence diagram which shows an example of the detailed process sequence in the multiplexed frame transmission system by the 1st Embodiment of this invention.
  • FIG. 3 is a state transition diagram illustrating an example of an operation of a header parameter analysis unit of the DMA controller unit of FIG. 2. It is a block diagram which shows an example of a detailed structure of the DMA controller part (transfer control apparatus) in the multiplexed frame transfer system by other embodiment of this invention. It is a block diagram which shows an example of schematic structure of the DMA controller part (transfer control apparatus) in the multiplexed frame transfer system by other embodiment of this invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

【課題】本発明は、多重受信フレームを入力してメモリに格納し、後続処理でのデータ管理を容易にすることが可能な転送制御装置を提供する。 【解決手段】転送制御装置20は、位置情報管理部の位置情報に基づいて、予めヘッダパラメータをアラインしたヘッダ構造体を生成し、ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶する制御を行うヘッダパラメータ整列制御部27、予めペイロードを特定サイズにアラインしたペイロード構造体を生成し、ペイロード構造体を第2の記憶部上のペイロード記憶領域に転送記憶する制御を行うペイロード整列制御部28を含む。

Description

転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
 本発明は、転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラムに関し、特に、無線通信フレームのプロトコル処理手順に基づき下位物理層から入力された受信フレームをメモリに格納し、メモリに格納するデータを予めヘッダ解析してメモリへの受信フレームのデータ格納場所を算出する機能を有する多重化フレーム転送装置などに関する。
 近年の無線通信技術及びそれにかかわるデバイス性能の向上に伴い、無線通信の送受信レートは向上の一途をたどっている。
 たとえば、移動体通信における通信レートは、第二世代のパケット通信が最大28.8kbpsであったものが、2001年の第三世代方式商用開始に至ると384kbpsでのサービス開始となった。
 さらに第3.5世代では14.4Mbpsまでの速度向上が将来見込まれている。
 今後、第3.9世代では100Mbpsを目指した仕様の策定が各国の標準化団体による共同プロジェクトである3GPP(3rd Generation Partnership Project)によって進められており、第4世代ではGbpsクラスの通信速度が見込まれている。
 このように、通信帯域が指数関数的に向上していく状況下において、受信されたフレームがCPUによってプロトコル処理されるべき速度もそれに応じて増えていく。
 ここでいうプロトコル処理とは、ヘッダ情報からPDU(Protocol Data Unit)の構成を算出する単純処理の部分と、それを元に仮想的に割り当てられている論理チャネルごとに各PDUを振り分けて優先度や対向局との間のACK(ACKnowledgement)などを行いながら通信の終端処理を行う部分とにわけられる。
 前者の単純処理は、受信フレームを先頭から数バイト程度のデータ単位で少なくともヘッダ部分を取り込みながら取得できる情報を順次取り出していく処理であるため、専用のハードウェアによる処理が適している。
 他方、後者の終端処理は、それまでに解析した内容、つまり以前に受信もしくは送信した内容も合わせて考慮しながらの複雑な分岐処理を伴う。この終端処理は、プログラミング面からはランダムなメモリアクセスと条件分岐が多数発生する処理であるため、CPUという汎用処理系での処理が適している。
 このような無線通信における上り通信のためのパケット処理に関する関連技術として、例えば以下に示す特許文献1、特許文献2、などが挙げられる。
 特許文献1では、CPUによって実行される上位通信レイヤ処理から入力した多重化されていない単一PDUからなるフレームに対して固定長ヘッダの認識を行い、ペイロード部の転送完了を待たずして並行して下位通信レイヤ側の無線通信ヘッダを生成している。
 このとき、第二のメモリに上位レイヤからのフレームを格納する際、下位側の固定長ヘッダを付加できるだけのオフセット分を予め開けて第二のメモリに格納している。
 これにより、無線通信部分の送信フレームを生成する際の無線通信ヘッダの生成を前倒しするとともに、無線通信における送信データ作成時に無線通信ヘッダを付加するための新たなメモリ上のコピーを回避している。
 ここでの下位レイヤでのヘッダ生成とそれに伴うオフセットの生成を除けば、下り通信におけるデータ転送も同じ構成で実現できることが容易に類推される。
 特許文献2では、ネットワークアダプタは、ネットワークを介して受信した複数のパケットをホストコンピュータに転送するためのものであって、受信した各パケットをヘッダ部と本体データ部とに分離する分離手段と、前記分離手段により分離された各パケットを蓄積するための蓄積手段と、前記複数パケットの各ヘッダ部に基づいて新たなヘッダを作成する作成手段と、前記新たなヘッダおよび前記蓄積手段に蓄積されている複数の本体データ部の各格納位置を示す複数の位置特定情報を前記ホストコンピュータに通知する通知手段と、前記ホストコンピュータにおいて前記位置特定情報を用いて作成された転送指示に基づいて前記蓄積手段から前記複数の本体データ部を読み出してホストコンピュータに転送する転送手段、を備える。
 特許文献2では、このようなネットワークアダプタを用いて、受信パケットをホストコンピュータに転送する場合には、ネットワーク側から受信したパケットがネットワークアダプタのアダプタメモリに非連続に格納されると、連続したパケットに再構成する処理をネットワークアダプタ側においては行わず、受信した複数のパケットのヘッダに基づいて論理的に1つにまとめられたパケットを作成する。
 そして、その論理的に作成されたパケットのヘッダおよび複数の受信パケットから取り出した複数の本体データ部分がホストコンピュータに転送され、ホストコンピュータは、論理的に作成されたパケットのヘッダに基づいてプロトコル処理を実行する。
 この場合、受信した複数のパケットのヘッダから論理的に作成され、ホストコンピュータに転送するための新たなヘッダを再構成ヘッダとする。
 ネットワークアダプタから転送された再構成ヘッダは、ホストコンピュータにおいては、ホストメモリのカーネル空間に格納される。ホストコンピュータのプロトコル処理を実行するソフトウェアによって再構成ヘッダが処理され、パケットの本体データの転送先が決定される。
 ここで、パケットの本体データの転送先は、ホストメモリのユーザ空間上の領域であり、ホストコンピュータにおいてメモリ間コピーは行わず、ネットワークアダプタのアダプタメモリ上のパケットの本体データは、直接ホストコンピュータのユーザ空間にDMA転送される。
 アダプタメモリの本体データの格納位置は、本体データの転送に先立って、本体データの位置情報(位置特定情報)としてネットワークアダプタからホストコンピュータに送信される。
 受信バッファ領域には、ネットワークアダプタから送られてくる再構成ヘッダおよび位置情報が格納される。ここで、位置情報は、例えば、ネットワークアダプタのアダプタメモリにおける、各本体データの先頭アドレス、および各本体データのデータ長から構成される。
 ここで、ネットワークアダプタからホストコンピュータへの再構成ヘッダおよび位置情報の転送は、後述するヘッダ転送用DMAディスクリプタに従って行われる。 
特開2007-189550号公報 特開2006-302246号公報
 しかしながら、特許文献1に開示された無線通信処理装置では、次のような不具合がある。
 第一に、複数のPDUからなる多重化フレームを高速処理することができない、という不具合があった。
 この不具合が発生する原因は、単一のPDUから構成されるフレームを到着順に処理することを前提としているためにメモリ上での複数PDUの管理について考慮していないことに起因する。
 また、複数の論理チャネルごとにこの多重化フレームが用いられるような通信仕様である場合、論理チャネル間に割り当てられた優先度の違いによって送受信されるPDUの順序を意図的に入れ替えなければならない場合がある。
 このような状況に対応するためには、メモリ上に送信対象となるデータを一回の無線送信以上の量にて滞留保持させておかなければならない。この場合、関連技術のように入力時点で出力時のヘッダ生成が必ずしもできるわけではない。
 また、一旦、メモリに受信フレームがそのままの形で連続的に格納されてしまうと、通常では、この後、メモリ上に複数のPDUを効率的に格納されるように改めてメモリ上でコピーを行う動作が必要となり、高速処理することができない。
 例えば、ペイロード間の境界は、任意の中途半端なバイト境界、もしくはビット境界となり、多重化フレーム中の一部のペイロード処理が終了後、前記境界部分だけをメモリ解放することは非効率で、高速処理を妨げることになる。
 逆に、受信時の多重化フレーム中の複数のPDUがすべて処理された後に、初めて多重化フレーム全体の領域をメモリ上で解放することは、メモリリソースを過剰に消費し、高速処理を妨げることになる。
 第ニに、後続CPU処理において、処理負荷の低減を図る最適化が不十分である、という不具合があった。 
 この不具合が発生する原因は、ヘッダ位置の検出やヘッダパラメータの抽出はオフロードして専用ハードウェアで実行することができる処理であるにもかかわらず、それを後続の汎用CPUで処理を行わせることに起因する。後続の汎用CPUでの処理は、その後のCPUで行うプロトコル処理と合わせてCPUで処理すべき仕事量が増えて負荷が高くなる。
 また、多重化フレームにおけるヘッダは、ビット単位でパラメータが詰め込まれている。このため、ヘッダの解析は、ビット単位での処理が必要である。
 しかし、後続の処理に用いられる汎用CPUは、通常このようなビット単位での処理命令が直接的には実装されていないケースが通常であった。このため、DSPや専用ロジックで処理したほうが効率がよく、DSPや専用ロジックなどの他の回路が必要となってしまう。 
 さらに、特許文献2では、複数のヘッダや複数のペイロードからなる多重化フレームについてのメモリ上での管理について考慮しておらず、また、汎用CPUにて多重化フレームを処理する場合には、各ペイロードについてメモリ上のアライメント動作が必要となる場合が想定され、CPUで処理すべき仕事量が増えて負荷が高くなる、という不具合が考えられる。
 本発明の目的は、受信した多重化フレームを記憶部に記憶する際に、後続処理を行う汎用CPUが使用及び破棄しやすく、結果として汎用CPUの負荷低減となる受信時のデータ転送可能な転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラムを提供することにある。 
 上記目的を達成するため、本発明の転送制御装置は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する多重化フレーム転送システムに関わる転送制御装置であって、受信した前記多重化フレームを記憶する第1の記憶部と、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理する位置情報管理部と、前記位置情報管理部の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御部と、前記位置情報管理部の位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御部と、を含むことを特徴としている。
 本発明の多重化フレーム転送システムは、上述の転送制御装置と、前記転送制御装置からの前記ヘッダ構造体、前記ペイロード構造体を分離して記憶する第2の記憶部と、各部の制御を司る中央制御部と、を含むことを特徴としている。
 本発明の転送制御方法は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御方法であって、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析ステップと、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出ステップと、前記位置情報算出ステップにて算出された位置情報に基づいて、予め転送前に前記ヘッダパラメータをアラインしたヘッダ構造体を生成するとともに前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、前記ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送するとともに、前記ペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送する制御を行う転送制御ステップと、を含むことを特徴としている。
 本発明の転送制御プログラムは、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御装置が備えたコンピュータに諸機能を実現させることが可能な転送制御プログラムであって、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析機能と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出機能と、
 前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御機能と、前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御機能と、を含む機能をコンピュータに実現させることを特徴としている。
 本発明によれば、第1の記憶部に一時保持される無線通信に適したフォーマットの多重化フレームを第2の記憶部へ転送する際にそのまま転送するのではなく、汎用CPUでプロトコル処理するのに適した形へ変換したものを第2の記憶部へ転送する。すなわち、複数のヘッダと複数のペイロードそれぞれを分離して後続のCPUでの処理に適した形に予めそれぞれアラインして第2の記憶部上に配置されることで、第2の記憶部上の余分なコピー回数が抑制され、結果として汎用CPUの負荷低減され、受信した多重化フレームの後続処理時間を短縮することができる。
 以下、本発明の実施形態を図に基づいて詳細に説明する。
 〔本発明の転送制御装置の基本的構成〕 
 先ず、本発明の転送制御装置の基本的構成について説明する。本発明の転送制御装置(例えば図2に示す符号20など)は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する多重化フレーム転送システム(例えば図1に示す符号1など)に関わるものを対象とするものである。
 この転送制御装置は、受信した前記多重化フレームを記憶する第1の記憶部(例えば図2に示す符号22など)と、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部(例えば図2に示す符号24など)と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理する位置情報管理部(例えば図2に示す符号25など)と、を含む構成とすることができる。
 さらに、この転送制御装置は、前記位置情報管理部の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体(例えば図3に示す符号120など)を生成し、このヘッダ構造体を他の第2の記憶部(例えば図1に示す符号50など)上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御部(例えば図2に示す符号27など)と、前記位置情報管理部の位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体(例えば図3に示す符号140など)を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御部(例えば図2に示す符号28など)と、を含む構成としている。
 このような転送制御装置では、第1の記憶部に一時保持される無線通信に適したフォーマットの多重化フレームを第2の記憶部へ転送する際にそのまま転送するのではなく、汎用CPUでプロトコル処理するのに適した形へ変換したものを第2の記憶部へ転送する。すなわち、複数のヘッダと複数のペイロードそれぞれを分離して後続のCPUでの処理に適した形に予めそれぞれアラインして第2の記憶部上に配置されることで、第2の記憶部上の余分なコピー回数が抑制され、結果として汎用CPUの負荷低減され、受信した多重化フレームの後続処理時間を短縮することが可能となる
 その理由は、受信した前記多重化フレームの受信データを第2の記憶部に書き込む際に、その後のCPU部に処理させると生じる冗長とならざるを得ない処理を容易に実行してしまえることによる。
 ここで言うCPU部における後続処理とは、ビットレベルでのヘッダ解析とその解析結果に基づいて第2の記憶部上でヘッダ及びペイロードを再配置するか、もしくは再配置しないまま管理するという複雑な処理実行のいずれかのことを指す。
 第2の記憶部に初回格納する際に、予め本来格納すべきアドレスを先行演算して求めることによって、第2の記憶部上での余分なコピー回数が抑制される。また、この余分なコピーを回避するのに要する複雑なデータ管理を回避できる。  
 以下、このような本発明の「転送制御装置」を、「多重化フレーム転送システム」に適用した好適な実施の形態の一例について、図面を参照して具体的に説明する。
〔第1の実施の形態〕
 (多重化フレーム転送システムの全体構成)
 先ず、本実施の形態の多重化フレーム転送システムの具体的構成について、全体構成から説明し、続いて転送制御装置の各部の詳細構成について説明することとする。図1は、本発明における第1実施の形態の多重化フレーム転送システムの全体の概略構成の一例を示すブロック図である。
 本実施の形態の多重化フレーム転送システム1は、図1に示すように、中央制御部としてのCPU部10、転送制御装置としてのDMAコントローラ20、バス部30、メモリコントローラ部40、第2の記憶部としての外部メモリ部50、物理層インターフェース部60、物理層処理部70を含んで構成される。
 CPU部10、DMAコントローラ部20、メモリコントローラ部40、物理層インターフェース部60は、それぞれバス部30に電気的に接続されている。
 外部メモリ部50は、メモリコントローラ部40に電気的に接続されている。
 物理層処理部70は、インターフェース部60に電気的に接続されている。
 CPU部10は、バス部30に対するマスタデバイスとしてバス部30に接続されている。
 CPU部10は、バス部30を介してDMAコントローラ部20を制御する。
 CPU部10は、バス部30及びメモリコントローラ部40を介して外部メモリ50を記憶領域としてアクセスする。
 CPU部10は、バス部30及び物理層インターフェース部60を介して物理層処理部70内に備えるローカルメモリを記憶領域としてアクセスする。
 DMAコントローラ部20は、バス部30に対するマスタデバイス及びスレーブデバイスとしてバス部30に接続される。
 DMAコントローラ部20は、スレーブデバイスとして動作する経路において、DMAコントローラ部20に内包するレジスタに対してCPU部10からの書き込みを受けることでCPU部10からの制御要求を受け付ける。
 DMAコントローラ部20は、マスタデバイスとして動作する経路において、バス部30及びメモリコントローラ部40を介して外部メモリ50を記憶領域としてアクセスする。また、DMAコントローラ部20は、マスタデバイスとして動作する経路において、バス部30及び物理層インターフェース部60を介して物理層処理部70内に備えるローカルメモリを記憶領域としてアクセスする。
 バス部30は、データ転送用の線路としてのバス、バス制御回路などを含むことができる。
 (DMAコントローラ部の詳細構成) 
 次に、DMAコントローラ部20の詳細構成について図2を参照して説明する。図2は、図1の多重化フレーム転送装置のDMAコントローラ部の詳細構成の一例を示すブロック図である。
 DMAコントローラ部20は、複数のPDUが多重化された無線通信フレームを受信するシステムの一部として動作し、図2に示すように、入力される多重化フレームの無線通信受信データを一次格納するためにバスのバースト転送長単位に区切られて管理されるバッファ部22と、入力される無線通信受信データを前記バッファ部22に書き込む受信データ入力部21と、前記バッファ部22上のデータの置き換えや破棄を管理するバッファ管理部23と、前記バッファ部22に格納された受信データの複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部24と、前記ヘッダパラメータから各々のPDUを予めきめられた論理チャネルの優先度などに応じて分類・保持するPDU種別管理部29と、前記ヘッダパラメータからヘッダとペイロードの受信データ先頭からの位置を算出・保持する位置情報管理部25と、前記位置情報管理部25で保持された情報を元にヘッダパラメータを外部メモリ部50上の特定の領域にバイトアラインして出力するヘッダパラメータ整列制御部27と、前記位置情報管理部25で保持された情報を用いてPDU種別管理部29で保持された種別ごとに外部メモリ部50上で所定サイズにアラインされた位置にペイロードを出力するペイロード整列制御部28と、選択制御部26と、を含んで構成される。
 DMAコントローラ部20は、入力された多重化フレームの無線通信受信データを複数のヘッダパラメータを種別ごとに分けられた複数のペイロードとして外部メモリ部50上に構成する機能を有する。
 受信データ入力部21は、バス部30及び物理層インターフェース部60を介して物理層処理部70に電気的に接続されている。受信データ入力部21は、物理層処理部70・物理層インターフェース部60・バス部30という経路を通じて受信データをDMAコントローラ部20内の各部に入力するためのものである。本実施の形態では、受信データは、多重化フレームを構成するものとする。
 バッファ部22は、下位レイヤの物理層から受信したデータを一時的に保持する記憶部である。
 バッファ部22は、下位レイヤから取り込んだデータをメモリへ書き込むまでの間でヘッダ解析に要する時間を考慮した最低限のサイズのバッファサイズを備えている。
 具体的には、バッファ部22のバッファサイズとしては、例えば数十バイトから数kB程度などのバッファサイズなどが挙げられる。より具体的には、前記バッファサイズに関しては、例えばバースト転送の32バイトに対してダブルバッファの64バイトなどが最小値として妥当な値として挙げられる。
 この程度のバッファサイズであれば、例えばレジスタなどにて実装することが可能である。また、それを大きく超えるバッファサイズのバッファ部22は、例えば低レイテンシのメモリにて構成することができる。バッファ部22がメモリにて構成される場合には、入力と出力の少なくとも2ポートを有することができる。
 バッファ管理部23は、ヘッダ解析が終了するまでの間、バッファ部22内にヘッダ部を保持しておくための制御を行う回路である。バッファ管理部23は、予定以上にヘッダ処理に時間を要した場合には、下位物理層からの入力を一時的に停止する停止制御回路を有することができる。
 ただし、バッファ部22のバッファサイズは、ヘッダ解析起因で入力を止めるような制御が発生しないような十分なサイズとすることが好ましい。
 ヘッダパラメータ解析部24は、ヘッダ部を構成するパラメータ毎に、ヘッダ部を分離するための回路である。
 位置情報管理部25は、ヘッダパラメータ解析部24で抽出したヘッダパラメータからペイロード位置やペイロード長に関する情報を取得して、この取得した情報に基づいてヘッダ部やペイロード部のそれぞれの位置を算出する。位置情報管理部25は、算出した位置情報を保持管理する。
 PDU種別管理部29は、ヘッダパラメータから例えばVoIP、動画ストリーミング、IPパケットといった優先度の異なるペイロードを検出する。
 ヘッダパラメータ整列制御部27は、パラメータがバイトアラインされた状態のものを外部メモリ部50に出力する制御を行う回路である。ヘッダパラメータ整列制御部27の制御の下で、CPU部10は、構造体としてヘッダパラメータにアクセスできる。
 また、複数のヘッダパラメータすべてが外部メモリ部50へ出力されたことは、ヘッダパラメータ解析部24でヘッダパラメータを解析することにより終了フラグを検知するなどの手段により決定できる。
 それをヘッダパラメータ整列制御部27が末尾のヘッダパラメータと合わせて受け取ることで、割り込みなどの手段を用いてCPU部10にヘッダパラメータ書き込み終了を通知して後続処理を早期に開始する構成をとることもできる。
 ペイロード整列制御部28は、前記位置情報管理部25で保持された情報を用いてPDU種別管理部29で保持された種別ごとに外部メモリ部50上で所定サイズにアラインされた位置にペイロードを出力する。
 選択制御部26は、ヘッダパラメータ整列制御部27の出力(ヘッダ構造体)と、ペイロード整列制御部28の出力(ペイロード構造体)とを選択的に切替制御する。
 (外部メモリ部におけるデータの格納構造について) 
 ここで、外部メモリ部50上に格納される格納データの概要を図3に示す。図3は、図1の多重化フレーム転送装置の外部メモリ上に格納される格納データのデータ構造の一例を示す説明図である。
 DMAコントローラ部20は、図3に示すように、受信データ110のヘッダ部112とペイロード部114とを分離し、予めDMA転送前に、ヘッダ部112をパラメータ単位でバイトアラインした状態のヘッダ構造体120とし、ペイロード部114を特定のサイズにアラインするとともに優先度に応じた配置としたペイロード構造体140とし、DMA転送によってヘッダ構造体120、ペイロード構造体140を外部メモリ部50上の別々の領域(ヘッダ格納領域、ペイロード格納領域)にそれぞれ格納する。
 ヘッダ部112は、多重化フレームにおける複数のヘッダの各々のパラメータを含む。ペイロード部114は、多重化フレームにおける複数のペイロードを含む。ヘッダ構造体120は、多重化フレームにおける複数のヘッダの各々のパラメータを含む。ペイロード構造体140は、低優先度フレームにおけるペイロードが特定のサイズにアラインされた第1のペイロード構造体部142と、高優先度フレームにおけるペイロードが特定のサイズにアラインされた第2のペイロード構造体部144と、を含む。
 また、第1のペイロード構造体部142、第2のペイロード構造体部144は、それぞれ、特定のサイズにアラインされたペイロード本体と、無効データとを含む。
 ここで、先に述べた、別々に格納するとは、後続のCPUによる処理において、ヘッダ部112とペイロード部114を分離認識するための専用の処理を行う必要の無い形で保持されるということを意味する。
 外部メモリ部50において、ヘッダ構造体120とペイロード構造体140の各物理アドレスが非連続な離れた部分に格納されるのが望ましいのか否かは、CPU部10におけるデータの管理構造に依存する。 
 CPU部10で仮想的にデータを管理できるならば、物理的なメモリ上の格納位置に対する制約は緩和される。
 一方、CPU部10での管理が物理アドレスを強く反映した、もしくは、CPU部10上で実行される各タスクから物理アドレスが直接扱われるような場合には、物理アドレス上でもヘッダ構造体120の格納領域とペイロード構造体140の格納領域は分離されていることが望ましい。
 ヘッダ部112は、パラメータ単位でバイトアラインされたヘッダ構造体120として外部メモリ部50に格納される。これは、汎用的なCPUではバイト境界未満の半端なデータを扱うことには向かないためである。
 つまり、効率的にCPU部10で処理するためにはバイトもしくはその整数倍で少なくとも格納されている方が良い。
 各ヘッダにそれぞれ複数のパラメータが関連づけられる時には、このバイトアラインされたヘッダ構造体120のデータ構造は、CPU部10上のC言語によるプログラムからは構造体として扱うことができる。
 また、ヘッダ部112とペイロード部114との対応づけが維持される必要があるため、ペイロード部114がメモリ上で格納された位置へのポインタ情報も格納される場合も考えられる。
 また、複数のヘッダ間をつなぐものとして、構造体がリンクリストで連結されたデータ構造を採ることも考えられる。
 ペイロード部114は、それぞれが特定のサイズにアラインされた領域に格納され、その端数分は無効データで埋められる。
 ここに、所定サイズとは、バス部のバースト転送サイズである32バイトなどからページサイズの4kBまでの間もしくはその前後で、通常の通信フレームサイズがいくらかに依存する。 
 無効データで埋められることによる無駄を省くには、アラインの単位は通常時でのフレームサイズの4分の1もしくはそれ以下であることが望ましい。
 また、ペイロード部114の先頭アドレスは、アラインサイズに相当する下位ビットがすべて0となるアドレスに格納されるのが望ましい。
 さらに、ペイロード部114のうち優先度の高いものは早々に解放されるため、優先度の同じもの同士をあつめ、優先度の異なるものは別エリアへ格納する形がフラグメンテーション回避の点から望ましい。
 また、優先度の違いは間接的にペイロード部のサイズの違いにも相関があるため、ペイロード部のサイズの大きさを揃えたもの同士を近くで管理することにも成りやすい。
 これは、たとえば、優先度をVoIP、ストリーミングビデオ、IPパケットなどといったもので分類すると、それぞれの間での通常のペイロードサイズが異なることに現れている。 
 ここで、本実施の形態の構成要件と、本発明の構成要件との対応関係について述べると、本実施の形態のバッファ22により、本発明にいう「第1の記憶部」を構成することができる。また、本実施の形態の外部メモリ部50により、本発明にいう「第2の記憶部」を構成することができる。さらに、本実施の形態のCPU部10により、本発明にいう「中央制御部」を構成することができる。 
 また、「第1の記憶部」は、受信した前記多重化フレームを記憶することができる。ヘッダパラメータ解析部は、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出することができる。位置情報管理部は、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理することができる。
 さらに、ヘッダパラメータ整列制御部27は、前記位置情報管理部25の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する。
 ペイロード整列制御部28は、前記位置情報管理部25の位置情報に基づいて、予め前記ペイロード部を特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する。
 PDU種別管理部29は、前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理する。この場合、前記ペイロード整列制御部28は、前記PDU種別管理部29が示す種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する。
 前記ペイロード整列制御部28は、前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成する。
 前記PDU種別管理部29は、多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類する。この場合、前記位置情報管理部25は、前記優先度に基づいて、前記異なる位置を決定する。
 前記位置情報管理部25は、前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出する。
 前記ヘッダパラメータ解析部27は、前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する。
 前記ペイロード整列制御部28は、前記ヘッダパラメータ解析部24から渡される前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部10に通知する制御を行うことができる。
 前記第1の記憶部は、各部を接続するバス部のバースト転送長単位で入力・破棄されるものとして構成することができる。
 前記ヘッダパラメータ整列制御部27は、前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する。
 前記ヘッダパラメータ整列制御部27は、前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する。
 さらに、第2の記憶部は、前記転送制御装置からの前記ヘッダ構造体、前記ペイロード構造体を分離して記憶する。中央制御部10は、各部の制御を司る。
 (処理手順について)
 次に、上述のような構成を有する多重化フレーム転送システムにおける各部の処理は、方法としても実現可能であり、転送制御方法としての各種の処理手順について、図4を参照しつつ説明する。図4は、本発明の第1の実施の形態による多重化フレーム転送システムにおける全体の処理手順の一例を示すフローチャートである。
 本実施の形態に係る転送制御方法は、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を、例えば転送制御装置、転送制御装置が備えたコンピュータ、コンピュータなどが行うものを対象とするものである。
 この転送制御方法は、基本的構成として、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析ステップ(例えば図4に示すステップS11など)と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出ステップ(例えば図4に示すステップS12など)と、前記位置情報算出ステップにて算出された位置情報に基づいて、予め転送前に前記ヘッダパラメータをアラインしたヘッダ構造体を生成するとともに前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、前記ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送するとともに、前記ペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送する制御を行う転送制御ステップ(例えば図4に示すステップS13など)と、を含む。
 さらに、この転送制御方法は、前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理ステップをさらに有するようにしてもよい。この場合、前記転送制御ステップでは、前記種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行うようにしてもよい。
 また、この転送制御方法は、前記転送制御ステップでは、前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成するようにしてもよい。
 さらに、この転送制御方法は、前記PDU種別管理ステップでは、多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類するようにしてもよい。この場合、前記位置情報管理ステップでは、前記優先度に基づいて、前記異なる位置を決定するようにしてもよい。
 また、この転送制御方法は、前記位置情報管理ステップでは、前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出するようにしてもよい。
 さらに、この転送制御方法は、前記ヘッダパラメータ解析ステップでは、前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行うようにしてもよい。
 また、この転送制御方法は、前記転送制御ステップでは、前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行うようにしてもよい。
 さらに、この転送制御方法は、前記転送制御ステップでは、前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行うようにしてもよい。
 また、この転送制御方法は、前記転送制御ステップでは、前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行うようにしてもよい。 
 (各部の詳細な制御手順について)
 次に、より詳細な各部の制御手順について図5を参照して説明する。図5は、本発明の第1の実施の形態による多重化フレーム転送システムにおける詳細な処理手順の一例を示すシーケンス図である。 
 (ヘッダ構造体関連の転送処理)
 まず、CPU部10が、DMAコントローラ部20に対して一連の処理の開始である転送開始要求を送信する(ステップS101)。
 DMAコントローラ部20は、CPU部10からの転送開始要求を受領する(ステップS102)
 具体的には、DMAコントローラ部20側のレジスタにCPU部10から所定の値を書き込むなどによって転送内容の通知と開始のトリガが渡される。
 転送開始要求により通知される転送内容としては、転送対象となる受信データの格納位置(受信データ格納位置情報)や、転送先となる外部メモリ部50上でどのアドレスに転送するか(転送先メモリアドレス情報)などの情報が挙げられる。
 このあと、転送終了までDMAコントローラ部20が自立的に一連の処理を実行する。
 先ず、DMAコントローラ部20の受信データ入力部21が受信データを入力し、DMAコントローラ20に備えられたバッファ部22にデータを転送する。
 このとき、DMAコントローラ部20の受信データ入力部21は、バス部30に対してマスタデバイスとして動作し、下位の物理層処理部70に対してデータを読み出すための要求(メモリ読み出し要求)を発行する(ステップS103)。
 物理層処理部70は、DMAコントローラ部20からのメモリ読み出し要求を受領すると(ステップS104)、内部のローカルメモリにある受信データである読み出しデータをDMAコントローラ部20に対して通知する(ステップS105)。
 DMAコントローラ部20の受信データ入力部21は、物理層処理部70からの読み出しデータの通知を受け取る(ステップS106)。
 このときの転送単位は、たとえば、バスの転送効率を考えるとバスにおけるバースト転送単位であることが望ましく32バイト程度の値となる。
 次に、DMAコントローラ部20のヘッダパラメータ解析部24は、バッファ部22の内部に格納された値を順次読み取りながらヘッダ部を解析し、ヘッダ部の情報をパラメータとして取り出す(ステップS108a)<ヘッダ解析処理>。
 ヘッダ情報は、たとえば、ビット単位で詰め込まれている。ヘッダパラメータ解析部24によるヘッダ解析処理では、ビット単位で読み進めながらその結果をバイト単位でヘッダパラメータとして保持する。
 さらに、そのバイトアラインされたヘッダ情報(ヘッダ構造体)は、DMAコントローラ部20のヘッダパラメータ整列制御部27により出力される(ステップS108b)<ヘッダ構造体出力処理>。
 そして、処理済みヘッダ(ヘッダ構造体)は、順次、外部メモリ部50へ書き出される(ステップS108c)。外部メモリ部50は、ヘッダ構造体(図3に示す符号120)が格納される(ステップS109)。
 ただし、ペイロードの位置情報については、後続のペイロードを転送する過程で必要となるため、別途DMAコントローラ部20の位置情報管理部25に保持しておく。
 続いて、DMAコントローラ部20は、外部メモリ部50へのヘッダ構造体の転送が終了すると、ヘッダ転送終了通知をCPU部10に対して送信する(ステップS111)。
 CPU部10では、DMAコントローラ部20からのヘッダ転送終了通知が受領される。 
 このようにして、DMAコントローラ部20は、ヘッダ構造体関連の転送処理が終了すると、続いてペイロード関連の転送処理を開始する。
 (ペイロード関連の転送処理)
 先ず、ステップS111においてヘッダ転送終了通知をCPU部10に対して送信すると、DMAコントローラ部20の受信データ入力部21は、バス部30に対してマスタデバイスとして動作し、下位の物理層処理部70に対してデータのうちペイロード部を読み出すための要求(メモリ読み出し要求)を発行する(ステップS113)。
 物理層処理部70は、DMAコントローラ部20からのメモリ読み出し要求を受領すると(ステップS114)、内部のローカルメモリにある受信データである読み出しデータのうちペイロード部をDMAコントローラ部20に対して通知する(ステップS115)。
 DMAコントローラ部20の受信データ入力部21は、物理層処理部70からの読み出しデータのうちペイロード部の通知を受け取る(ステップS116)。
 次に、DMAコントローラ部20のペイロード整列制御部28は、バッファ部22の内部から転送されてきた読み出しデータのペイロード部を、ペイロード単位でアラインしながら出力し、外部メモリ部50へ転送する制御を行う(ステップS118a)<ペイロード出力制御処理>。 
 この際、DMAコントローラ部20のペイロード整列制御部28は、位置情報管理部25にて算出されたペイロード部の位置情報に基づいて、ペイロード単位でアラインすることができる。
 また、DMAコントローラ部20のペイロード整列制御部28は、PDU種別管理部29のペイロード部に対応するPDU分類情報(例えば優先度など)に基づいて、ペイロード部の種別に応じてペイロード単位でアラインすることができる。
 例えばペイロード部がVoIPであれば、高優先度と判断し、外部メモリ部50上の第1のペイロード格納領域に格納され、ペイロード部がIPパケットであれば、低優先度と判断し、外部メモリ部50上の第2のペイロード格納領域に格納される(例えば図3に示す高優先度フレーム144、低優先度フレーム142など)。
 そして、第1のペイロード格納領域のペイロード部が、第2のペイロード格納領域のペイロード部よりも優先的に先に処理される。ここでは、一例として優先度を2段階で説明したが、3以上の複数段階の優先度に基づいて、ペイロード部を格納し、その優先度に基づいて、処理を行うようにしてもよい。
 ここで、ペイロード部を無線通信処理上の優先度等に応じて外部メモリ部50上の格納位置を決めるためのPDU分類情報は、前記ヘッダパラメータ解析部24で得られたパラメータのうち、分類に関わるパラメータがPDU種別管理部29に入力されることによって、PDU種別管理部29にて算出され、保持される。
 このとき、分類に関わるパラメータとしては、通信の種別として、たとえばVoIPやビデオストリーミングやIPパケットといったものを分類することを想定している。
 また、ヘッダのパラメータとしては、これらを区別するためのたとえば論理チャネル値が定義されているときにこれを用いる。
 バッファに順次格納されるデータが、ヘッダ部からペイロード部に変わると、位置情報管理部25の情報に基づいて、ペイロード境界を認識しながら、PDU種別管理部29によって外部メモリ部50上の出力先アドレスを算出して、これらの情報に基づいてペイロード整列制御部28によって出力が行われる。
 DMAコントローラ部20は、外部メモリ部50に対してペイロード部を順次出力し(ステップS118b)、外部メモリ部50は、ペイロード部を前記優先度にしたがって順次格納する(ステップS119)。
 続いて、DMAコントローラ部20は、外部メモリ部50へのペイロード部の転送が終了すると、ペイロード転送終了通知をCPU部10に対して送信する(ステップS121)。
 CPU部10では、DMAコントローラ部20からのペイロード転送終了通知が受領される。 
 (ヘッダパラメータ解析部の詳細動作)
 ヘッダ解析動作を表す状態遷移図を図6に示す。
 ヘッダ検出処理が開始する前は、待機状態101にある。DMAにて所定の転送が開始されるとともに、状態はヘッダ解析102に遷移する。この状態にあるとき、先頭からヘッダのフォーマットが順次チェックされ、ヘッダパラメータが抽出される。
 また、ヘッダ解析状態102において、検出通知状態103に遷移し、末尾を表すフラグを排他的論理和などを用いて検出することによってヘッダの末尾であることを示す値を合わせて外部メモリ部50に出力されることも考えられる。  
 また、ヘッダ解析状態102において、末尾を表すフラグ以外のビットに関してもチェックを行うことにより、ヘッダのフォーマットが正しいかどうかをチェックすることもできる。
 これは、チェックしたいビット以外のものをマスクして、所望の値と排他的論理和をとることで、正常なフォーマットを有するか否かをチェックできる。もし、異常なヘッダ形式を検知したときには、状態を104に遷移してCPUにエラー通知を行う。
 以上のように本実施の形態によれば、バッファ部に一時保持される無線通信に適したフォーマットの受信データを外部メモリ部へ転送する際にそのまま転送するのではなく、汎用CPUであるCPU部でプロトコル処理するのに適した形へ変換したものを外部メモリ部へ転送する。
 また、複数のヘッダと複数のペイロードそれぞれを分離して後続のCPU部での処理に適した形にアラインして外部メモリ50上に配置されることで、受信したデータの後続処理時間を短縮することが可能な転送制御装置を提供することができることである。 
 その理由は、物理層処理部70から入力した受信データを外部メモリに書く際に、その後のCPU部10に処理させると生じる冗長とならざるを得ない処理を容易に実行してしまえることによる。
 ここで言うCPU部における後続処理とは、ビットレベルでのヘッダ解析とその解析結果に基づいて外部メモリ部上でヘッダ及びペイロードを再配置するかもしくは再配置しないまま管理するという複雑な処理実行のいずれかのことを指す。
 外部メモリ部に初回格納する際に予め本来格納すべきアドレスを先行演算して求めることによって余分な外部メモリ部上のコピー回数が抑制されている。もしくは、この余分なメモリコピーを回避するのに要する複雑なデータ管理を回避できている。
 ここで、図1及び図2に示すブロック図における一部の各ブロックは、コンピュータが適宜なメモリに格納された各種プログラムを実行することにより、該プログラムにより機能化された状態を示すソフトウエアモジュール構成であってもよい。
 すなわち、物理的構成は例えば一又は複数のCPU(或いは一又は複数のCPUと一又は複数のメモリ)等ではあるが、各部(回路・手段)によるソフトウェア構成は、プログラムの制御によってCPUが発揮する複数の機能を、それぞれ複数の部(手段)による構成要素として表現したものである。
 CPUがプログラムによって実行されている動的状態(プログラムを構成する各手順を実行している状態)を機能表現した場合、CPU内に各部(手段)が構成されることになる。プログラムが実行されていない静的状態にあっては、各手段の構成を実現するプログラム全体(或いは各手段の構成に含まれるプログラム各部)は、メモリなどの記憶領域に記憶されている。
 以上に示した各部(手段)の説明は、プログラムにより機能化されたコンピュータをプログラムの機能と共に説明したものと解釈することも出来るし、また、固有のハードウェアにより恒久的に機能化された複数の電子回路ブロックからなる装置を説明したものとも解釈することが出来ることは、当然である。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現でき、いずれかに限定されるものではない。
 また、各部は、通信可能な専用のコンピュータからなる装置としてそれぞれ構成し、これらの各装置によりシステムを構成してもよい。
 [その他の各種変形例] 
 また、本発明にかかる装置及び方法は、そのいくつかの特定の実施の形態に従って説明してきたが、本発明の主旨および範囲から逸脱することなく本発明の本文に記述した実施の形態に対して種々の変形が可能である。
 例えば、上述の各実施の形態におけるペイロード整列制御部では、ペイロードの種類に応じた優先度を、高優先度のペイロードと、低優先度のペイロードでそれぞれアラインする例を挙げたが、各ペイロードの種類に応じた優先度を、複数段階の各ペイロード構造体に区分し、それぞれの各ペイロード構造体をそれぞれアラインして、外部メモリに転送する場合であってもよい。
 この場合、例えば図8に示す構成などが挙げられる。図8では、DMAコントローラ(転送制御装置)320は、前記実施の形態と同様に、ペイロード整列制御部328と、ヘッダパラメータ整列制御部327と、その他の各部とを含んで構成される。ペイロード整列制御部328は、各ペイロードの種類に応じた優先度を、複数段階の各ペイロード構造体に区分し、それぞれの各ペイロード構造体をそれぞれアライン可能な第1優先度ペイロード整列制御部328a―1、第2優先度ペイロード整列制御部328a―2、・・・・、第N優先度ペイロード整列制御部328a―Nを構成することもできる。
 そして、第1優先度ペイロード整列制御部328a―1、第2優先度ペイロード整列制御部328a―2、・・・・、第N優先度ペイロード整列制御部328a―Nにより、それぞれアライン(前記実施の形態のような無効データを入れる場合を含む)されたN個の各ペイロード構造体は、外部メモリ350に転送され、外部メモリ350の第1優先度ペイロード格納領域、第2優先度ペイロード格納領域、・・・、第N優先度ペイロード格納領域にそれぞれ格納することができる。
 勿論、ヘッダパラメータ整列制御部327が複数のヘッダをアラインしてヘッダ構造体を生成し、外部メモリ350のヘッダパラメータ格納領域351にヘッダ構造体を転送することができる。
 その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した実施の形態の場合と同一となっている。また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化し、コンピュータに実行させてもよい。
 さらに、上述の各実施の形態では、ヘッダ構造体とペイロード構造体の転送は、先ず、ヘッダ構造体を外部メモリ部のヘッダパラメータ記憶領域に転送し、その後ペイロード構造体を前記外部メモリ部上のペイロード記憶領域に転送するようにしたが、これらを同時に転送可能に構成してもよい。
 この概念図を図7に示す。図7のDMAコントローラ(転送制御装置220)の構成では、ヘッダパラメータ整列制御部227は、外部メモリ部250のヘッダパラメータ格納領域(ヘッダパラメータ記憶領域)に転送可能な第1の転送経路を有する。ペイロード整列制御部228は、外部メモリ部250のペイロード格納領域(ペイロード記憶領域)に転送可能な第2の転送経路を有する。このように各々独立して転送可能に構成することで、処理速度の高速化が図れる。
 その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した実施の形態の場合と同一となっている。また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化し、コンピュータに実行させてもよい。
 また、複数のPDUが多重化された多重化フレームの場合を示したが、これに限らず、多重化が複数回繰り返されたデータ構造の場合であってもよい。     
 また、PDUは、例えばMAC PDUというデータ処理単位に限らず、例えばMAC─hs PDUというデータ処理単位を含むものとして構成されていてもよい。
 ここで、MAC(Media Access Control:媒体アクセス制御)多重とは、1つのMAC-hs PDU単位のパケットデータ内に、複数種類の論理チャネル(logical channel)が存在する場合をいう。
 このMAC多重が起こった場合には、MAC SDUとなるRLC PDU単位のパケットデータ毎に、論理チャネル番号を特定するためのC/Tと呼ばれる情報がMACヘッダとして付加されることになる。この場合には、MAC-hs SDU=RLC PDU+MACヘッダ(C/Tフィールド)となり、MAC-hs SDU=RLC PDUとはならなくなる。 
 MAC多重が起こった場合には、RLC PDUにMACヘッダとしてC/Tフィールドが付加されたものがMAC-hs SDUとなる。そして、このC/Tフィールド分のデータサイズは固定されている。 
 さらに、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。すなわち、上記実施の形態では、優先度が2段階に分類する例を示したが、3以上の複数段階であってもよい。
 (プログラム)
 さらにまた、前述した実施形態の機能を実現する本発明のソフトウェアのプログラムは、前述した各実施の形態における各種ブロック図などに示された処理部(処理手段)、機能などに対応したプログラムや、フローチャート、シーケンス図などに示された処理手順、処理手段、機能などに対応したプログラムやなどにおいて各々処理される各処理プログラム、本明細書で全般的に記述される方法(ステップ)、説明された処理、データの全体もしくは各部を含む。
 具体的には、本発明の一実施の形態の転送制御プログラムは、複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御装置が備えたコンピュータに諸機能を実現させることが可能なものを対象とするものである。
 この転送制御プログラムは、受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析機能と、前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出機能と、前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御機能と、前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御機能と、を含む機能をコンピュータに実現させることができる。
 また、この転送制御プログラムは、前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理機能を含む機能をさらにコンピュータに実現させることができる。この場合、前記ペイロード整列制御機能では、前記PDU種別管理機能での種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行う機能をコンピュータに実現させることができる。
 さらに、この転送制御プログラムは、前記ペイロード整列制御機能では、前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成する機能をコンピュータに実現させることができる。
 また、この転送制御プログラムは、前記PDU種別管理機能では、多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類する機能をコンピュータに実現させることができる。この場合、前記位置情報管理機能では、前記優先度に基づいて、前記異なる位置を決定する機能をコンピュータに実現させることができる。
 さらに、この転送制御プログラムは、前記位置情報管理機能では、前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出する機能をコンピュータに実現させることができる。
 また、この転送制御プログラムは、前記ヘッダパラメータ解析機能では、前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行う機能をコンピュータに実現させることができる。
 さらに、この転送制御プログラムは、前記ヘッダパラメータ整列制御機能では、前記ヘッダパラメータ解析機能から渡される前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行う機能をコンピュータに実現させることができる。
 また、この転送制御プログラムは、前記ヘッダパラメータ整列制御機能では、前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行う機能をコンピュータに実現させることができる。
 さらに、この転送制御プログラムは、前記ヘッダパラメータ整列制御機能では、
 前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行う機能をコンピュータに実現させることができる。
 プログラムは、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムは、高水準プロシージャ型またはオブジェクト
指向プログラミング言語で、あるいは必要に応じてアセンブリまたはマシン言語で実装することができる。いずれの場合も、言語はコンパイラ型またはインタープリタ型言語であってもよい。
 プログラムを供給する手法としては、電気通信回線(有線、無線を問わない)によってコンピュータと通信可能に接続された外部の機器から前記電気通信回線を通じて提供することも可能である。
 本発明のプログラムによれば、当該転送制御プログラムを格納するROM等の記憶媒体から、当該転送制御プログラムをコンピュータ(CPU)に読み込んで実行させれば、或いは、当該転送制御プログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明に係る装置を比較的簡単に実現できる。発明の思想の具現化例として装置のソフトウェアとなる場合には、かかるソフトウェアを記憶した記憶媒体上においても当然に存在し、利用される。
 また、プログラムは、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。プログラムの供給方法として通信回線を利用して行なう場合であれば通信回線が伝送媒体となって本発明が利用されることになる。さらに、装置における従属請求項は、方法,プログラムにおいて従属請求項に対応した構成にすることも可能である。
 (情報記録媒体)
 また、上述のプログラムを、情報記録媒体に記録した構成であってもよい。情報記録媒体には、上述のプログラムを含むアプリケーションプログラムが格納されており、コンピュータが当該情報記録媒体からアプリケーションプログラムを読み出し、当該アプリケーションプログラムをハードディスクにインストールすることが可能である。これにより、上述のプログラムは、磁気記録媒体、光記録媒体あるいはROMなどの情報記録媒体に記録してプログラムを提供することができる。そのようなプログラムが記録された情報記録媒体を、コンピュータにおいて使用することは、好都合な情報処理装置を構成する。
 プログラムを供給するための情報記録媒体としては、例えばROM、RAM、フラッシュメモリやSRAM等の半導体メモリ並びに集積回路、あるいはそれらを含むUSBメモリやメモリカード、光ディスク、光磁気ディスク、磁気記録媒体等を用いてよく、さらに、フレキシブルディスク、CD-ROM、CD―R、CD―RW、FD、DVDROM、HDDVD(HDDVD-R-SL<1層>、 HDDVD-R-DL<2層>、HDDVD-RW-SL、HDDVD-RW-DL、HDDVD-RAM-SL)、DVD±R-SL、DVD±R-DL、DVD±RW-SL、DVD±RW-DL、DVD-RAM、Blu-Ray Disk<登録商標>(BD-RーSL、BD-R-DL、BD-RE-SL、BD-RE-DL)、MO、ZIP、磁気カード、磁気テープ、SDカード、メモリスティック、不揮発性メモリカード、ICカード、等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、等に記録して構成して用いてよい。 
 さらに、「情報記録媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの(伝送媒体ないしは伝送波)、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
 また、コンピュータ上で稼働しているOS、端末(例えば携帯電話など)上のRTOS等が処理の一部又は全部を行う場合にも、上記実施の形態と同等の機能を実現できると共に、同等の効果を得ることができる。
 さらに、プログラムを暗号化してCD-ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。この場合、本発明の構成は、プログラムの各構成要素(各種の手段、ステップ及びデータ)と、前記プログラム(各種の手段、ステップ及びデータ)を暗号化する暗号化手段と、を含んでよい。
 また、前記実施の形態における「システム」とは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない。このため、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。「システム」には、OSや周辺機器等のハードウェアを含んでもよい。
 さらに、上述のプログラムなどが搭載される情報処理装置としては、サーバは、例えばパーソナルコンピュータに限らず、各種サーバー、EWS(エンジニアリングワークステーション)、中型コンピュータ、メインフレームなどが挙げられる。情報端末は、以上の例に加えて、携帯型情報端末、各種モバイル端末、PDA、携帯電話機、ウエアラブル情報端末、種々の(携帯型などの)テレビ・DVDレコーダ・各種音響機器及びそのリモコン、各種情報通信機能を搭載した家電機器、ネットワーク機能を有するゲーム機器等からも利用できる構成としても構わない。あるいは、これらの端末に表示されるアプリケーションとして改良されたものも本発明の範囲に含めることができる。
 また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
 さらに、本明細書において、フローチャートに示されるステップは、記載された手順に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。また、実装では、プログラム手順(ステップ)が実行される順序を変更することができる。さらに、実装の必要に応じて、本明細書で説明した特定の手順(ステップ)を、組み合わされた手順(ステップ)として実装、除去、追加、または再配置することができる。
 さらに、装置の各手段、各機能、各ステップの手順の機能などのプログラムの機能を、専用のハードウェア(例えば専用の半導体回路等)によりその機能を達成してもよく、プログラムの全機能のうち一部の機能をハードウェアで処理し、全機能のうちさらに他の機能をソフトウェアで処理するようにしてもよい。専用のハードウェアの場合、各部を集積回路例えばLSIにて形成されてもよい。これらは個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。また、LSIには、他の機能ブロックが含まれていても良い。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
 さらに、「通信」では、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであってもよい。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであってもよい。
 そして、この通信には通信網が含まれる。通信網を構成するネットワークとしては、例えば携帯電話回線網(基地局及び交換システムを含む)、公衆電話回線網、IP電話網、ISDN回線網などこれに類する各種回線網、インターネット(乃ち、TCP・IPプロトコルを用いた通信態様)やイントラネット、LAN<イーサネット(登録商標)、やギガビットイーサネット(登録商標)などを含む>、WAN、光ファイバー通信網、電力線通信網、ブロードバンド対応可能な各種専用回線網などいずれのハードウェア構成でもよい。さらに、ネットワークは、TCP・IPプロトコルの他、種々の通信プロトコルを用いたネットワークあるいはソフトウェア的に構築された仮想ネットワークやこれに類するあらゆるネットワークを含むネットワークなどいかなる通信プロトコルであってもよい。また、ネットワークは、有線に限らず、無線(衛星通信、各種高周波通信手段等を含む)ネットワーク(例えば、簡易電話システムや携帯電話のようなシングルキャリア通信システム、W―CDMAやIEEE802.11bに準拠した無線LANのようなスペクトラム拡散通信システム、IEEE802.11aやHiperLAN/2のようなマルチキャリア通信システム、などを含むネットワーク)であっても構わず、これらの組み合わせを利用してもよく、他のネットワークと接続されたシステムであってもよい。さらに、ネットワークは、ポイントツーポイント、ポイントツーマルチポイント、マルチポイントツーマルチポイントなど如何なる形態でもよい。 
 また、システムにおける他の通信装置との間の通信構造に際し、いずれか一方又は双方に形成されるインタフェースの種類は、今後開発される如何なるインタフェースであっても構わない。 
 さらに、上述の手法は、必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。このため、方法にかかる発明も、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。この場合、方法を実現するための一例として転送制御装置、多重化フレーム転送システムなども含めることができる。
 ところで、このような装置は、単独で存在する場合もあるし、ある機器(例えば通信装置)に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例として装置のソフトウェアとなる場合には、かかるソフトウェアを記憶した記憶媒体上においても当然に存在し、利用されるといわざるをえない。
 さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合であってもよく、一部を記憶媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。
 また、発明の範囲は、図示例に限定されないものとする。
 さらに、上記各実施の形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。つまり、上述の各実施の形態同士、あるいはそれらのいずれかと各変形例のいずれかとの組み合わせによる例をも含む。この場合において、本実施形態において特に記載しなくとも、各実施の形態及びそれらの変形例に開示した各構成から自明な作用効果については、当然のことながら実施の形態の作用効果として含めることができる。逆に、本実施の形態に記載されたすべての作用効果を奏することのできる構成が、本発明の本質的特徴部分の必須構成要件であるとは限らない。また、実施の形態に示される全構成要件から幾つかの構成要件が削除された構成による実施の形態並びにその構成に基づく技術的範囲も発明になりうる。
 そして、各実施の形態及びそれらの変形例を含むこれまでの記述は、本発明の理解を容易にするために、本発明の多様な実施の形態のうちの一例の開示、すなわち、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、例証するものであり、制限するものではなく、適宜変形及び/又は変更が可能である。本発明は、その技術思想、またはその主要な特徴に基づいて、様々な形で実施することができ、各実施の形態及びその変形例によって本発明の技術的範囲が限定的に解釈されてはならないものである。
 従って、上記に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物を含む趣旨である。 
 この出願は2008年3月13日に出願された日本出願特願2008-064960を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、無線通信におけるプロトコルスタック処理装置などに適用できる。
本発明の第1の実施の形態による多重化フレーム転送システムの全体構成の一例を示すブロック図である。 図1の多重化フレーム転送システムのDMAコントローラ部(転送制御装置)の詳細構成の一例を示すブロック図である。 図1の多重化フレーム転送システムの外部メモリ部上に格納される格納データのデータ構造の一例を示す説明図である。 本発明の第1の実施の形態による多重化フレーム転送システムにおける全体の処理手順の一例を示すフローチャートである。 本発明の第1の実施の形態による多重化フレーム転送システムにおける詳細な処理手順の一例を示すシーケンス図である。 図2のDMAコントローラ部のヘッダパラメータ解析部の動作の一例を示す状態遷移図である。 本発明の他の実施の形態による多重化フレーム転送システムにおけるDMAコントローラ部(転送制御装置)の詳細構成の一例を示すブロック図である。 本発明の他の実施の形態による多重化フレーム転送システムにおけるDMAコントローラ部(転送制御装置)の概略構成の一例を示すブロック図である。
符号の説明
 1 多重化フレーム転送システム
 10 CPU部
 20 DMAコントローラ部(転送制御装置)
  21 受信データ入力部、
  22 バッファ部(第1の記憶部)
  23 バッファ管理部
  24 ヘッダパラメータ解析部
  25 位置情報管理部
  26 選択制御部
  27 ヘッダパラメータ整列制御部
  28 ペイロード整列制御部
  29 PDU種別管理部
 30 バス部
 40 メモリコントローラ部
 50 外部メモリ部(第2の記憶部)
 60 物理層インターフェース部、
 70 物理層処理部
 
 
 

Claims (25)

  1.  複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する多重化フレーム転送システムに関わる転送制御装置であって、
     受信した前記多重化フレームを記憶する第1の記憶部と、 
     受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析部と、
     前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出して格納管理する位置情報管理部と、
     前記位置情報管理部の位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御部と、  
     前記位置情報管理部の位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御部と、 
     を含むことを特徴とする転送制御装置。
  2.  請求項1に記載の転送制御装置において、
     前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理部をさらに有し、
     前記ペイロード整列制御部は、
     前記PDU種別管理部が示す種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行うことを特徴とする転送制御装置。
  3.  請求項1に記載の転送制御装置において、
     前記ペイロード整列制御部は、
     前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成するものであることを特徴とする転送制御装置。
  4.  請求項2に記載の転送制御装置において、
     前記PDU種別管理部は、
     多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類するものであり、
     前記位置情報管理部は、
     前記優先度に基づいて、前記異なる位置を決定することを特徴とする転送制御装置。
  5.  請求項4に記載の転送制御装置において、
     前記位置情報管理部は、
     前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出することを特徴とする転送制御装置。
  6.  請求項1に記載の転送制御装置において、
     前記ヘッダパラメータ解析部は、 
     前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行うものであることを特徴とする転送制御装置。
  7.  請求項6に記載の転送制御装置において、
     前記ペイロード整列制御部は、
     前記ヘッダパラメータ解析部から渡される前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行うことを特徴とする転送制御装置。
  8.  請求項1に記載の転送制御装置において、
     前記第1の記憶部は、
     各部を接続するバス部のバースト転送長単位で入力・破棄されるものであることを特徴とする転送制御装置。
  9.  請求項1に記載の転送制御装置において、
     前記ヘッダパラメータ整列制御部は、
     前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行うものであることを特徴とする転送制御装置。
  10.  請求項1に記載の転送制御装置において、
     前記ヘッダパラメータ整列制御部、 
     前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行うことを特徴とする転送制御装置。
  11.  請求項1乃至請求項10のうちいずれか一項に記載の転送制御装置と、
     前記転送制御装置からの前記ヘッダ構造体、前記ペイロード構造体を分離して記憶する第2の記憶部と、
     各部の制御を司る中央制御部と、
     を含むことを特徴とする多重化フレーム転送システム。
  12.  複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御方法であって、
     受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析ステップと、
     前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出ステップと、
     前記位置情報算出ステップにて算出された位置情報に基づいて、予め転送前に前記ヘッダパラメータをアラインしたヘッダ構造体を生成するとともに前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、前記ヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送するとともに、前記ペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送する制御を行う転送制御ステップと、 
     を含むことを特徴とする転送制御方法。
  13.  請求項12に記載の転送制御方法において、
     前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理ステップをさらに有し、
     前記転送制御ステップでは、
     前記種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行うことを特徴とする転送制御方法。
  14.  請求項12に記載の転送制御方法において、
     前記転送制御ステップでは、
     前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成することを特徴とする転送制御方法。
  15.  請求項13に記載の転送制御方法において、
     前記PDU種別管理ステップでは、
     多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類し、
     前記位置情報管理ステップでは、
     前記優先度に基づいて、前記異なる位置を決定することを特徴とする転送制御方法。
  16.  請求項15に記載の転送制御方法において、
     前記位置情報管理ステップでは、
     前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出することを特徴とする転送制御方法。
  17.  請求項12に記載の転送制御方法において、
     前記ヘッダパラメータ解析ステップでは、 
     前記複数のヘッダの各々の末尾に関する末尾情報を検知し、前記ヘッダパラメータと合わせて前記末尾情報を前記ヘッダパラメータ整列制御部に通知する制御を行うことを特徴とする転送制御方法。
  18.  請求項17に記載の転送制御方法において、
     前記転送制御ステップでは、
     前記ヘッダパラメータの前記末尾情報を示すフラグを検知し、検知した旨を中央制御部に通知する制御を行うことを特徴とする転送制御方法。
  19.  請求項12に記載の転送制御方法において、
     前記転送制御ステップでは、
     前記ヘッダパラメータの値をプログラミング言語によって予め決められた整数変数長にアラインして出力する制御を行うことを特徴とする転送制御方法。
  20.  請求項12に記載の転送制御方法において、
     前記転送制御ステップでは、
     前記ヘッダパラメータの末尾が前記第2の記憶部へ転送完了したことを、割り込みを用いて中央制御部に通知する制御を行うことを特徴とする転送制御方法。
  21.  複数のヘッダと複数のペイロードからなる多重化された多重化フレームを、他の通信装置との間で通信する制御を行う転送制御装置が備えたコンピュータに諸機能を実現させることが可能な転送制御プログラムであって、
     受信した前記多重化フレームの受信データの前記複数のヘッダを解析してパラメータを抽出するヘッダパラメータ解析機能と、
     前記ヘッダパラメータに基づいて、前記ヘッダ、前記ペイロードの前記受信データにおける先頭からの位置情報を各々算出する位置情報算出機能と、
     前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ヘッダパラメータをアラインしたヘッダ構造体を生成し、このヘッダ構造体を他の第2の記憶部上のヘッダパラメータ記憶領域に転送記憶するように出力する制御を行うヘッダパラメータ整列制御機能と、  
     前記位置情報算出機能にて算出された位置情報に基づいて、予め前記ペイロードを特定サイズにアラインしたペイロード構造体を生成し、このペイロード構造体を前記第2の記憶部上のペイロード記憶領域に転送記憶するように出力する制御を行うペイロード整列制御機能と、
     を含む機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  22.  請求項21に記載の転送制御プログラムにおいて、
     前記ヘッダパラメータに基づいて、前記多重化フレームを構成する各々のPDUを種別毎に分類し管理するPDU種別管理機能を含む機能をさらにコンピュータに実現させ、
     前記ペイロード整列制御機能では、
     前記PDU種別管理機能での種別毎に、前記第2の記憶部上の前記ペイロード記憶領域の異なる位置にそれぞれ前記ペイロード構造体をダイレクトに転送記憶するように出力する制御を行う機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  23.  請求項21に記載の転送制御プログラムにおいて、
     前記ペイロード整列制御機能では、
     前記ペイロード構造体を、前記特定サイズに加工された加工ペイロードと無効データとからなる単位ブロックを有するデータ構造として生成する機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  24.  請求項21に記載の転送制御プログラムにおいて、
     前記PDU種別管理機能では、
     多重化フレームに含まれる論理チャネルの優先度に応じて前記PDUを分類する機能をコンピュータに実現させ、
     前記位置情報管理機能では、
     前記優先度に基づいて、前記異なる位置を決定する機能をコンピュータに実現させることを特徴とする転送制御プログラム。
  25.  請求項21に記載の転送制御プログラムにおいて、
     前記位置情報管理機能では、
     前記優先度毎に、前記第2の記憶部上のアライン単位が異なるように位置情報を算出する機能をコンピュータに実現させることを特徴とする転送制御プログラム。
PCT/JP2009/052374 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム WO2009113353A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010502743A JP4978732B2 (ja) 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-064960 2008-03-13
JP2008064960 2008-03-13

Publications (1)

Publication Number Publication Date
WO2009113353A1 true WO2009113353A1 (ja) 2009-09-17

Family

ID=41065025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/052374 WO2009113353A1 (ja) 2008-03-13 2009-02-13 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム

Country Status (2)

Country Link
JP (1) JP4978732B2 (ja)
WO (1) WO2009113353A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954265A (zh) * 2020-08-17 2020-11-17 Oppo广东移动通信有限公司 一种生成包头的方法及终端、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092066A (ja) * 1998-09-08 2000-03-31 Nec Corp Atmセル組立・分解装置
JP2006302246A (ja) * 2005-03-23 2006-11-02 Fujitsu Ltd ネットワークアダプタ、通信システムおよび通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092066A (ja) * 1998-09-08 2000-03-31 Nec Corp Atmセル組立・分解装置
JP2006302246A (ja) * 2005-03-23 2006-11-02 Fujitsu Ltd ネットワークアダプタ、通信システムおよび通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954265A (zh) * 2020-08-17 2020-11-17 Oppo广东移动通信有限公司 一种生成包头的方法及终端、存储介质
CN111954265B (zh) * 2020-08-17 2023-12-19 Oppo广东移动通信有限公司 一种生成包头的方法及终端、存储介质

Also Published As

Publication number Publication date
JPWO2009113353A1 (ja) 2011-07-21
JP4978732B2 (ja) 2012-07-18

Similar Documents

Publication Publication Date Title
US11249688B2 (en) High-speed data packet capture and storage with playback capabilities
US10084647B2 (en) Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor
JP4942375B2 (ja) ネットワーク処理装置
US8121148B2 (en) Protocol stack using shared memory
US20060274788A1 (en) System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration
US20080002578A1 (en) Network with a constrained usage model supporting remote direct memory access
WO2015058699A1 (en) Data forwarding
JP2008020977A (ja) ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
US11681470B2 (en) High-speed replay of captured data packets
US11425231B2 (en) Method, apparatus and computer program product for processing data
US9961147B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
JP5094482B2 (ja) 処理装置及びその処理方法
JP4978732B2 (ja) 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
US10318470B1 (en) Systems and methods for data transfer over a shared interface
US7764676B1 (en) Method and system for processing network information
WO2014073050A1 (ja) 情報処理装置及び情報処理方法
JP4401910B2 (ja) データ通信装置及びデータ通信方法
JP5120188B2 (ja) パケット制御装置、パケット制御方法、及びパケット制御プログラム
CN112015564A (zh) 加解密处理方法及装置
US7428242B2 (en) Action list for a split media access and control layer communications system
Chimata Path of a packet in the linux kernel stack
Zeng et al. CONTC: A Traffic Control System for Container Overlay Networks
Wang Design and Implementation of TCPHA
JP2024070053A (ja) 電子制御装置、及びコア間通信方法
JP2006081029A (ja) データ通信装置及びデータ通信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09721098

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010502743

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09721098

Country of ref document: EP

Kind code of ref document: A1