The present invention relates to mobile telecommunication systems. In particular, the present invention relates to a novel and improved method and system for sending connection-oriented or connectionless data between two endpoints without using peer-to-peer signalling.
The transmission of information in communication networks is based on the use of different kinds of protocol architectures. Generally it can be said that the more protocol layers exist in a protocol architecture, the more complex the architecture is. In general, practically every protocol architecture comprises application and transport layers. The application layer provides services for application programs that ensure that communication is possible. The application layer is not the application itself that is doing the communication. It is a service layer that may make sure that the other party is identified and can be reached or may authenticate either the message sender or receiver or both. Furthermore, the application layer may also ensure agreement at both ends about error recovery procedures, data integrity and privacy, and may determine protocol and data syntax rules at the application level. It may be convenient to think of the application layer as the high-level set up services for the application program or an interactive user.
The transport layer ensures the reliable arrival of messages and may provide error checking mechanisms and data flow controls. The transport layer provides services for both connection-oriented transmission and for connectionless transmission. For connection-oriented transmission, a transmission may be sent or arrive in the form of packets that need to be reconstructed into a complete message at the other end.
There are a number of different standards known which govern the communication between mobile stations and the base stations as well as with other network elements. One example of a currently known standard is the Global System for Mobile communications (GSM) standard. Currently, work is being carried out on so-called third generation standards. These third generation standards are generated by so called 3rd Generation Partnership Project (3GPP) and they are defining so called 3GPP system comprising UMTS Terrestrial Radio Access Network (UTRAN), GSM/EDGE Radio Access Network (GERAN), packet and circuit switched core network domains etc.
Currently it is proposed in the third generation standards to use the Internet Protocol (IP) in the radio access network (RAN). In this document, we refer to this as an IP based radio access network IP RAN. The IP RAN can be connected to a third generation core network by standard Iu interface. In the IP RAN networks, there is a need for interworking between the Signalling System no. 7 (SS7) and IP domains to allow the delivery of Signalling Connection Control Part (SCCP) user messages such as Radio Access Network Application Part (RANAP) signalling as well as new third generation network protocol messages over IP between two signalling endpoints. RANAP is a radio access network signalling protocol that consists of mechanisms which handle procedures between the core network and radio access network.
A layer structure has been proposed. This layer structure uses the Stream Control Transmission Protocol (SCTP), which is a protocol standardized by the Internet Engineering Task Force (IETF) and specified in RFC 2960. The SCTP protocol is herein incorporated by reference. The SCTP provides reliable transport service, ensuring that data is transported across the network without error and in sequence. The SCTP protocol runs directly on top of the IP layer and is designed to transport Public Switched Telephone Network (PSTN) signalling messages but is capable of broader applications and can be used in the IP RAN networks as a common protocol. Adaptation layers between the SCTP layer and RANAP layer have been proposed, as illustrated in
One problem with the proposed layer structure is that there are too many layers. As the number of layers increases, the complexity increases and the performance is decreased.
In All IP RAN there is a need to optimise the current control plane protocol stack (also referred to as signalling bearer) since the SS7 protocol stack (SCCP based) is relatively heavy to configure. In current 3GPP specifications (up to release'5) and implementations, the signalling bearer, upon request from one end, set up and release signalling connection with the other end with peer-to-peer signalling messages. The used protocol for this is SCCP, but also another candidate discussed in the 3GPP, the SUA, provides similar peer-to-peer messages for the set up of the signalling connection.
An alternative to the usage of peer-to-peer signalling transport protocols (adaptation layer L5; as the SUA or SCCP/M3UA) below the application to establish and release the connections is the usage of adaptation layers that provides the same services without any peer-to-peer message. For example, when adaptation layer protocols like the SUA or SCCP/M3UA receive from the application a disconnect request, they send a disconnection protocol data unit (PDU) to the remote endpoint. There is a peer-to-peer communication. With this alternative, no peer-to-peer messages are needed to provide the disconnection.
Therefore, one problem with this new alternative is how to set up and release a signalling connection: the connection set up and release by sending PDUs are not possible. Another problem arises when there are no signalling transport peer-to-peer protocols as the SUA or SCCP/M3UA below the application. The problem is how to differentiate connectionless and connection-oriented services.
The present invention describes a method for sending connection-oriented or connectionless data between two endpoints in a protocol architecture comprising at least an application layer and a transport layer and one or more applications using the application layer.
In the method, a source application sends a request message at the first endpoint to the transport layer. The request message also indicates which service (connection oriented or connectionless) should be provided by the transport layer. At the transport layer a transport connection identifier is selected and/or allocated. Then a data frame is sent to the second endpoint, the data frame comprising the selected transport connection identifier, destination application information and/or data type information. The destination application information and the data type information are concluded based on the request message. The data frame is received at the transport layer at the second endpoint. Based on the data type indication it is determined whether the data frame relates to connection-oriented or connectionless service. Finally, an application message is sent to the destination application at the second endpoint based on the destination application information.
In a preferred embodiment, the application layer and transport layer are directly connected with each other and the transport protocol at the transport layer is the SCTP. In this case, the connection identifier refers to the SCTP streamID. Furthermore, in a preferred embodiment the application layer and transport layer are connected with each other through an interconnecting handler. Also the term SCTP handler is used when talking about the interconnecting handler. The SCTP Handler is an adaptation layer or driver between the application layer and the SCTP layer which provides SCCP-like services to the application. An important fact is that the SCTP Handler is not a peer-to-peer protocol. Its use simplifies the protocol stack and two overlapping addressing/routing mechanisms are avoided.
In one embodiment of the present invention, the value of the Protocol Payload Identifier (PPI) parameter identifies the destination application and the type of the data (connection-oriented or connectionless).
In one embodiment of the present invention, the value of the Protocol Payload Identifier (PPI) parameter identifies the destination application and the steam number used the type of the data (connection-oriented or connectionless).
In one embodiment of the present invention, the value of the Protocol Payload Identifier parameter identifies the destination application and the SCTP unordered flag the type of the data (connection-oriented or connectionless).
In one embodiment of the present invention, the value of the Protocol Payload Identifier parameter identifies the destination application and the steam number used the type of the data (connection-oriented or connectionless). The unordered flag is set to ‘1’ for connectionless services.
Because there is not peer-to-peer signalling communication the transport set up/release by sending PDUs is not possible. Therefore, the interconnecting handler provides a local establishment/disconnection of signalling connections. It must be noted that the present invention can be extended to any case where the signalling transport does not provide a peer-to-peer message to perform the set up/disconnection of resources. Even if illustrated together with the SCTP and SCTP Handler, the present invention is applicable for any other signalling bearer protocol that does not have peer-to-peer connection set up and release messages.
The present invention is able to provide the same kind of services than a signalling protocol like SCCP/M3UA or SUA to the application, i.e. connection-oriented and connectionless services but without using peer-to-peer messages. The simplified protocol stack has also clear benefits. The overhead introduced by the SCCP/M3UA, SUA or any peer-to-peer adaptation protocol used is avoided. Furthermore, overlapping addressing/routing mechanisms are also avoided.
The present invention allows the set up and release of connections when using a simplified protocol stack. The advantage of this kind of protocol architecture is that it reduces the complexity (implementation and operational) and also the processing requirement of the signalling bearer. Another advantage is that the present invention reduces the delay for the set up and release of the connections. Especially the set up delay has direct impact on the experienced end user quality of service.
The accompanying drawings, which are included to provide a further understanding of the invention and constitute a part of this specification, illustrate embodiments of the invention and together with the description help to explain the principles of the invention. In the drawings:
a is a block diagram illustrating a known protocol stack,
b and 1c illustrate the local transport connection set up procedure at the source and destination endpoints, in accordance with the present invention,
a and 2b illustrate the local transport connection release procedure at the source and destination endpoints, in accordance with the present invention,
a is a block diagram illustrating a preferred protocol stack, in accordance with the present invention,
b is a block diagram illustrating an interconnecting handler, in accordance with the present invention,
a is a flowchart illustrating the mechanism which is based on the use of the PPI parameter to distinguish connection-oriented and connectionless services by the source endpoint, in accordance with the present invention,
b is a flowchart illustrating the mechanism which is based on the use of the PPI parameter to distinguish connection-oriented and connectionless services by the destination endpoint, in accordance with the present invention,
a is a flowchart illustrating the mechanism which is based on the reservation of streams to distinguish connection-oriented and connectionless services by the source endpoint, in accordance with the present invention,
b is a flowchart illustrating the mechanism which is based on the reservation of streams to distinguish connection-oriented and connectionless services by the destination endpoint, in accordance with the present invention,
a is a flowchart illustrating the mechanism which is based on use of the SCTP unordered-flag parameter to distinguish connection-oriented and connectionless services by the source endpoint, in accordance with the present invention, and
b is a flowchart illustrating the mechanism which is based on use of the SCTP unordered-flag parameter to distinguish connection-oriented and connectionless services by the destination endpoint, in accordance with the present invention,
Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
a shows a known control plane protocol stack for Iu interface currently proposed in the 3GPP standardization. This is disclosed in the third generation partnership project 3GPP, Technical specification group TSG; IP transport in UTRAN work task technical report TR25.933 (version 5.0.0) which is herein incorporated by reference. The protocol stack has six layers. The first layer is the physical layer L1. On top of the physical layer L1 is the link layer L2. On top of that is the IP layer L3.
On top of the IP layer is the SCTP layer, L4. As mentioned previously, this is based on the IETF protocol specified in RFC2960. This layer is used e.g. to transport PSTN signalling messages but can also be used for a common protocol for IP RAN control plane interfaces. The SCTP is a transport protocol operating on top of a connectionless packet network such as IP. It allows the sequence delivery of user messages within multiple streams with the option of order of arrival delivery of individual user messages. The SCTP is connection oriented in nature. The SCTP provides the means for each SCTP endpoint to provide the other endpoint during association start up with a list of transport addresses such as multiple IP addresses in combination with an SCTP port, through which that endpoint can be reached and from which it will originate SCTP packets. The association spans transfers over all of the possible source/destination combinations which may be generated from each endpoint.
On top of the SCTP layer is an adaptation layer L5. The adaptation layer is as already mentioned the SCCP user adaptation layer (SUA) or similar. In
b and 1c illustrate the local signalling transport connection set up procedure at the source and destination endpoints. An application at the source endpoint sends a request (10) to the lower layer to set up a signalling connection. The request shall comprise the application connection identifier. The request also indicates which service (connection-oriented or connectionless) should be provided by the transport layer. The request may comprise also application data to be sent to a destination application. An unused transport connection identifier is allocated (11) at the transport layer for the connection and it is mapped with the application connection identifier for further routing purposes during length of the connection. After that, a data frame may be sent (12) to the destination endpoint with the allocated transport connection identifier. When the transport protocol used is the SCTP, the transport connection identifier refers e.g. to the SCTP streamID. The transport connection identifier is typically in the header of the data frame. If no application data was present in the request for connection, void data value is sent (if allowed by the signalling protocol). A set up confirmation primitive may be sent to the application at the source endpoint. The local set up of the signalling connection at the source endpoint is now completed (13).
At the destination endpoint, the data frame is received (14a) on a transport connection identifier (e.g. the SCTP streamID) not marked as reserved. Therefore it is interpreted that the data frame is a request for a new signalling connection. An application connection identifier is selected for this specific connection and it is mapped with the transport connection identifier (e.g. the SCTP streamID) for further routing purposes during length of the connection (14b). A connection indication message is therefore sent (15) to the destination application at the destination endpoint. The application at the destination endpoint may send a connection response to the lower layer (transport layer). The local set up of the signalling connection at the destination endpoint is now completed (16).
a and 2b illustrate the local transport connection release procedure at the source and destination endpoints.
An application at the source endpoint sends an application release request message (20) and waits for remote response (21). The application release request message is transferred to the transport layer using a data primitive. Then, the message is received by the application at the destination endpoint (24). The application at the destination endpoint then sends (25) the application release complete message to the source application. The application at the destination endpoint sends a Disconnection Request primitive to the transport layer to release locally used resources (26).
When an application at the source endpoint receives (22) the application release complete message as response to the previous application release request message, it shall trigger the local release of the resources at transport level at the source endpoint. Therefore, the application will send a Disconnection Request primitive to the transport layer which will be interpreted by the transport layer as a local disconnection. After receiving the Disconnect Request primitive, all the transport resources are released (23). It must be noted that the local release of the transport resources is triggered by the application in each endpoint when receiving the release application message. No peer-to-peer transport disconnection messages (e.g. SCTP PDUs) are needed for the disconnection.
a shows the control plane protocol stack in preferred embodiments of the present invention. The protocol stack has layers L1-L4 and L6 as does the control stack of
b is a block diagram illustrating an interconnecting handler IHND. The interconnecting handler IHND refers in preferred embodiment to the SCTP Handler. The SCTP Handler comprises means for receiving IF1 a source application request message from an application, means for selecting and/or allocating ID connection identifiers (transport and application connection identifiers), means for including IM the selected or allocated transport connection identifier, destination application information, data type information and/or payload in a data frame to be sent to the second endpoint at the transport layer, means for reading RM a transport connection identifier, destination application information and/or data type information from a received data frame, means for determining DM whether a received data-frame relates to connection-oriented or connectionless service based on the data type indication, means for detecting DEM if a received data frame corresponds to a new or an already existing signalling connection, means for selecting (SEL) an application connection identifier if the received data frame corresponds to a new signalling connection and means for sending IF2 an application message to the destination application at the application layer based on the destination application information.
The interconnecting handler connects an application layer and transport layer with each other. The interconnecting handler further comprises means for creating CM an SCTP association between endpoints and means for storing SM the relation between the selected SCTP streamID and the application connection identifier within an application. Means for selecting ID are also provided for selecting an SCTP streamID within the SCTP association based on the fact whether the service in question is connection-oriented or connectionless. Means for reading RM are also provided for checking the stored SCTP streamIDs.
In one embodiment, means for selecting ID are also provided for selecting a suitable value for the Protocol Payload Identifier parameter, the Protocol Payload Identifier parameter identifying the destination application and/or connectionless or connection-oriented service.
In one embodiment, means for selecting ID are also provided for setting or unsetting the SCTP unordered flag parameter, the unsetting of the SCTP unordered flag parameter indicating connection-oriented service and setting connectionless service.
In one embodiment, means for determining DM are also provided for determining whether the data frame relates to connection-oriented or connectionless service based on the Protocol Payload Identifier parameter value.
In one embodiment, means for determining DM are also provided for determining the destination application based on the Protocol Payload Identifier parameter value.
In one embodiment, means for determining DM are also provided for determining whether the data frame relates to connection-oriented or connectionless service based on the SCTP streamID.
In one embodiment, means for detecting DEM are also provided for determining whether the SCTP streamID relates to a new signalling connection request or to an existing connection.
In one embodiment, means for determining DM are also provided for determining based on the SCTP unordered flag whether the data frame relates to connection-oriented or connectionless service.
The above mentioned means are in a preferred embodiment implemented with hardware and/or software components.
a is a flowchart illustrating the mechanism which is based on the use of the PPI parameter to distinguish connection-oriented and connectionless services between endpoints.
In case of connection-oriented service a signalling connection shall be established before starting the actual data transfer. In the following, the signalling connection establishment is first explained. An application requests a signalling connection establishment by sending a request to the SCTP Handler (40). The request specifically indicates that connection-oriented service should be provided by the transport layer. The SCTP Handler creates an SCTP association between the source and the destination endpoint if it has not been created before. An SCTP association is a protocol relationship between SCTP endpoints, composed of the two SCTP endpoints and protocol state information. An association can be uniquely identified by the transport addresses used by the endpoints in the association. Two SCTP endpoints must not have more than one SCTP association between them at any given time. After creating the association, the SCTP Handler selects a stream within the SCTP association (41). The selected stream cannot be one that is already used with another connection. The stream is identified by a unique stream number (streamID). The SCTP Handler does the mapping of the streamID within the association and the application connection identifier within the application and stores the mapping information (42). The mapping procedure simulates the local establishment of the signalling connection at the source endpoint side. The mapping is necessary for routing purposes during the length of the connection. Stored information is not released until the signalling connection is released.
If a signalling connection has not been set up, the source application shall select a value for the application connection identifier (connID), each time that a new connection is requested from this application endpoint. In case of incoming request to the destination application, the SCTP Handler shall select a connID (application connection identifier) value for each new incoming connection establishment request. The SCTP Handler processes a new incoming connection when the received streamID in the data transfer is not included in the allocated streams list in the SCTP Handler (i.e., the received streamID is not being used for another signalling connection). The connID parameter is used only in connection-oriented services. The streamID identifies one stream within one association. In one embodiment, streams are unidirectional, so one identifier is assigned for each direction of the association.
The SCTP Handler at the source endpoint selects a suitable value for the Payload Protocol Identifier (PPI) parameter (43). In this embodiment of the invention, the PPI value identifies the destination application and differentiates the connection-oriented service from the connectionless services. Finally, the SCTP transfers an SCTP PDU to the remote SCTP (44). If application data were present in the application request, the data may be transferred as payload within the SCTP PDU.
If the signalling connection for a connection-oriented service has already been set up or the service is connectionless, the functionality is slightly different than when just establishing the signalling connection. When the SCTP Handler at the source endpoint receives application data, the data can be either connection-oriented or connectionless (45). If the SCTP Handler receives connection-oriented data (46) from an upper application that has already established a signalling connection, the SCTP Handler will use the previously assigned stream for that signalling connection within the association (47). The SCTP Handler selects the suitable value for the PPI. In this case the PPI identifies both the application protocol and the connection-oriented service (48). Finally, the source SCTP transfers the SCTP PDU to the destination SCTP (49). The application data is transferred as payload within the SCTP PDU.
If the SCTP Handler receives connectionless data (46) from the upper application, the SCTP Handler selects one of the unused SCTP streams within the association (410). An unused SCTP stream refers e.g. to a stream that is not spefically used or allocated for connection-oriented services. If an association between the source and destination endpoints has not been created before, it will be created. Next, the SCTP Handler selects the suitable value for the PPI (411). In this case the PPI identifies both the application protocol and the connectionless service. Finally, the source SCTP transfers the SCTP PDU to the destination SCTP (412). The application data is transferred as payload within the SCTP PDU.
b is a flowchart illustrating the mechanism which is based on the use of the PPI parameter to distinguish connection-oriented and connectionless services by the destination endpoint.
In the case of connection-oriented service, the establishment of the signalling connection requested by the source shall be completed before starting the data transfer. The SCTP at the destination endpoint receives an SCTP PDU (413). The SCTP Handler checks the value of the PPI field of the received data packet (414) and determines based on the PPI value that the SCTP PDU relates to connection-oriented service (415). If the streamID within the association was not used before (i.e. the streamID is not currently allocated in the SCTP Handler), the SCTP Handler concludes that the SCTP PDU relates to a signalling connection indication (incoming connection request) (415) and stores the streamID (416a). Then, the SCTP Handler selects an application connection identifier (connID) and maps it into the transport connection identifier (e.g. SCTP streamID) within the association for further routing purposes during length of the connection (416b). The application connection identifier identifies a particular connection within the destination application. The mapping procedure simulates the local establishment of the signalling connection at the destination endpoint side. After that, the SCTP Handler checks the PPI to identify the destination application (417) and sends a connection indication primitive to the destination application indicated by the PPI value (418).
However, if the streamID within the association was used before (i.e. it was already stored in the SCTP Handler), the SCTP Handler concludes that a signalling connection has already been established before for that user and the SCTP PDU payload corresponds to connection-oriented application data. Then, the SCTP Handler uses the streamID to know the destination application connection identifier (connID)(419a). The application connection identifier identifies a particular connection within the destination application. The SCTP Handler checks the PPI to identify the destination application (419b) and sends the SCTP PDU payload (user data) to the identified destination application (420).
Another alternative is that the PPI field indicates that the data relates to connectionless service (414). In this case, the SCTP Handler uses the PPI value to identify the destination application (421). Finally, the SCTP Handler sends the SCTP payload (user data) to the identified destination application as connectionless data (422). The implementation of the mechanism represented in
a is a flowchart illustrating the mechanism which is based on the reservation of streams to distinguish connection-oriented and connectionless services by the source endpoint. In this case, the SCTP Handler will use a specific stream number (e.g. streamID=1) or a group of streams to identify connectionless services. The specific reserved value(s) is(are) known in both SCTP endpoints (source and destination). The rest of the streamIDs will be used for connection-oriented services.
In case of connection-oriented service a signalling connection shall be established before starting or in the beginning of the actual data transfer. In the following, the signalling connection establishment is first explained. An application requests a signalling connection establishment by sending a request to the SCTP Handler (50). The SCTP Handler creates an SCTP association between the source and the destination endpoint if it has not been created before. After that, the SCTP Handler selects a stream within the SCTP association (51). The stream is identified by a unique stream number (streamID). It must be noted that the selected streamID cannot be chosen from the stream numbers reserved for connectionless services. The SCTP Handler does the mapping of the streamID within the association and the application connection identifier within the application and stores the mapping information (52). The mapping procedure simulates the local establishment of the signalling connection at the source endpoint side. The mapping is necessary for routing purposes during the length of the connection. Stored information is not released until the signalling connection is released.
The SCTP Handler at the source endpoint selects a suitable value for the Payload Protocol Identifier (PPI) parameter (53). In this example, the PPI value identifies only the destination application. Finally, the SCTP transfers an SCTP PDU to the remote SCTP (54). If application data were present in the application connection request, the data may be transferred as payload within the SCTP PDU.
If the signalling connection for a connection-oriented service has already been set up or the service is connectionless, the functionality is slightly different than when just establishing the signalling connection. When the SCTP Handler at the source endpoint receives application data, the data can be either connection-oriented or connectionless (55). The application data request indicates which service (connection-oriented or connectionless) should be provided by the transport layer. If the SCTP Handler receives connection-oriented data from an upper application that has already established a signalling connection (56), the SCTP Handler will use the previously allocated stream for that signalling connection within the association (57). The SCTP Handler selects the suitable value for the PPI. In this case, the PPI identifies only the destination application (58). Finally, the source SCTP transfers the SCTP PDU to the destination SCTP (59). The application data is transferred as payload within the SCTP PDU.
If the SCTP Handler receives connectionless data from the upper application (56), the SCTP Handler selects one of the streams allocated in the SCTP association for the transport of connectionless signalling (i.e. streamID=1, or one stream from the group of streams used for connectionless signalling). (510). If an association between the source and destination endpoints has not been created before, it will be created at this point. Next, the SCTP Handler selects the suitable value for the PPI (511). In this case, the PPI identifies only the destination application. Finally, the source SCTP transfers the SCTP PDU to the destination SCTP (512). The application data is transferred as payload within the SCTP PDU.
b is a flowchart illustrating the mechanism which is based on the reservation of streams to distinguish connection-oriented and connectionless services by the destination endpoint.
In the case of connection-oriented service, the establishment of the signalling connection requested by the source shall be completed before starting the data transfer. The SCTP at the destination endpoint receives an SCTP PDU (513). The SCTP Handler checks the value of the SCTP streamID (514). The streamID determines the type of the received data (connection-oriented or connectionless). If the streamID is not among streamID(s) allocated/reserved to connectionless services, then the streamID refers to connection-oriented service (515). If the streamID within the association was not used before (i.e. the streamID is not currently allocated in the SCTP Handler), the SCTP Handler concludes that the SCTP PDU relates to a signalling connection indication (incoming connection request) and stores and allocates the streamID for that signalling connection (516a). Then, the SCTP Handler selects an application connection identifier and maps it into the transport connection identifier (e.g. SCTP streamID) within the association for further routing purposes during length of the connection (516b). The application connection identifier identifies a particular connection within the destination application. The mapping procedure simulates the local establishment of the signalling connection at the destination endpoint side. After that, the SCTP Handler checks the PPI to identify the destination application (517) and sends a connection indication primitive to the destination application indicated by the PPI value (518).
However, if the streamID within the association was used before (i.e. it is stored in the SCTP Handler), the SCTP Handler concludes that a signalling connection has already been established before for that user and the SCTP PDU payload corresponds to connection-oriented application data. Then, the SCTP Handler uses the streamID to know the application connection identifier (connID) (519a). The application connection identifier identifies a particular connection within the destination application. The SCTP Handler checks the PPI to identify the destination application (519b). After that, the SCTP Handler sends the SCTP PDU payload (user data) to the identified destination application (520).
Another possibility is that the stream number indicates (i.e. streamID=1) that the data relates to connectionless service (514). In this case, the SCTP Handler uses the PPI value to identify the destination application (521). Finally, the SCTP Handler sends the SCTP payload (user data) to the identified destination application as connectionless data (522). The implementation of the mechanism represented in
a is a flowchart illustrating the mechanism which is based on use of the SCTP unordered-flag parameter to distinguish connection-oriented and connectionless services by the source endpoint. The original purpose of the unordered flag (U bit) in the SCTP is specified in RFC 2960. The unordered bit, if set to ‘1’, indicates that this is an unordered data chunk, and there is no Stream Sequence Number assigned to this DATA chunk. Therefore, the receiver must ignore the Stream Sequence Number field. After re-assembly (if necessary), unordered data chunks must be dispatched to the upper layer by the receiver without any attempt to re-order. If an unordered user message is fragmented, each fragment of the message must have its U bit set to ‘1’.
In case of connection-oriented service a signalling connection shall be established before or in the beginning of starting the actual data transfer. In the following, the signalling connection establishment is first explained. An application requests a signalling connection establishment by sending a request to the SCTP Handler (60). The SCTP Handler creates an SCTP association between the source and the destination endpoint if it has not been created before. After that, the SCTP Handler selects one of the already non-allocated streams within the SCTP association (61). The stream is identified by a unique stream number (streamID). The SCTP Handler does the mapping of the streamID within the association and the application connection identifier within the application and stores the mapping information (62). The mapping procedure simulates the local establishment of the signalling connection at the source endpoint side. The mapping is necessary for routing purposes during the length of the connection. Stored information is not released until the signalling connection is released.
The SCTP Handler at the source endpoint selects a suitable value for the Payload Protocol Identifier (PPI) parameter (63). The PPI value identifies the destination application. However, the service type (connection-oriented or connectionless) is now indicated in a different way than in the previous examples. In this case the SCTP ‘unordered flag’ parameter is used to distinguish between connection-oriented and connectionless services. The unordered flag is not set with connection-oriented services (64). Finally, the SCTP transfers an SCTP PDU to the remote SCTP (65). If application data were present in the application request, the data may be transferred as payload within the SCTP PDU.
If the signalling connection for a connection-oriented service has already been set up or the service is connectionless, the functionality is slightly different than when just establishing the signalling connection. When the SCTP Handler at the source endpoint receives application data, the data can be either connection-oriented or connectionless (66, 67). The application data request indicates which service (connection-oriented or connectionless) should be provided by the transport layer. If the SCTP Handler receives connection-oriented data from an upper application that has already established a signalling connection, the SCTP Handler will use the previously assigned stream for that signalling connection within the association (68). The SCTP Handler selects the suitable value for the PPI. In this case the PPI identifies only the destination application (69). Again, the SCTP ‘unordered flag’ parameter is used to discriminate between connection-oriented and connectionless services. The unordered flag is not set with connection-oriented services (610). Finally, the source SCTP transfers the SCTP PDU to the destination SCTP (611). The application data is transferred as payload within the SCTP PDU.
If the SCTP Handler receives connectionless data from the upper application, the SCTP Handler selects any of the SCTP streams within the association (612). If an association between the source and destination endpoints has not been created before, it will be created. Next, the SCTP Handler selects the suitable value for the PPI. In this case the PPI identifies only the destination application (613). In this case the SCTP unordered flag parameter is used to distinguish between connection-oriented and connectionless services. The unordered flag is now set to indicate that this is a connectionless services (614). Finally, the source SCTP transfers the SCTP PDU to the destination SCTP (615). The application data is transferred as payload within the SCTP PDU.
b is a flowchart illustrating the mechanism which is based on use of the SCTP unordered-flag parameter to distinguish connection-oriented and connectionless services by the destination endpoint. The support of this mechanism in the receiving endpoint would require changes in the current standard SCTP primitives.
In the case of connection-oriented service, the establishment of the signalling connection requested by the source shall be completed before starting the data transfer. The SCTP at the destination endpoint receives an SCTP PDU (616). The SCTP Handler checks whether the unordered flag is set (‘1’) or not (‘0’) (617). If it is not set, the received SCTP data relates to connection-oriented service. If the streamID within the association was not used before (i.e. the streamID is not stored in the SCTP Handler) (618), the SCTP Handler concludes that the SCTP PDU relates to a signalling connection indication (incoming connection request) and stores the streamID (619a). Then, the SCTP Handler selects an application connection identifier (connID) and maps it into the transport connection identifier (e.g. SCTP Stream ID) within the association for further routing purposes during length of the connection (619b). The application connection identifier identifies a particular connection within the destination application. The mapping procedure simulates the local establishment of the signalling connection at the destination endpoint side. After that, the SCTP Handler checks the PPI to identify the destination application (620) and sends a connection indication primitive to the destination application indicated by the PPI value (621).
However, if the streamID within the association was used before (i.e. it is stored in the SCTP Handler), the SCTP Handler concludes that a signalling connection was established before for that user and the SCTP PDU payload corresponds to connection-oriented application data. Then, the SCTP Handler uses the streamID to know the application connection identifier (622a). The application connection identifier identifies a particular connection within the destination application. The SCTP Handler checks the PPI to identify the destination application (622b) and sends the SCTP PDU payload (user data) to the identified destination application (623).
Another alternative is that the unordered flag indicates (‘1’) that the data relates to a connectionless service (617). In this case, the SCTP Handler uses the PPI value to identify the destination application (624). Finally, the SCTP Handler sends the SCTP payload (user data) to the identified destination application as connectionless data (625).
Yet another alternative is to combine the functionalities illustrated in
As a conclusion, the mechanisms presented in this invention mechanisms describe a simplified protocol stack which is able to provide the same kind of services than a signalling protocol like SCCP/M3UA or SUA to the application, this means connection oriented and connectionless services and set up of the signalling connections. This simplified protocol stack has clear benefits: reduction of the overhead introduced by the SCCP/M3UA, SUA or any peer to peer adaptation protocol used; avoidance of the overlapping addressing/routing mechanisms, etc. Solutions do not require changes to the existing specification and peer-to-peer signalling except in the mechanism represented in
The IP RAN (Internet Protocol Radio Access Network) is a RAN architecture that is fully optimised to carry IP traffic and is based on IP transport technology. In the IP RAN, some of the functions of the centralised radio network controller (RNC and BSC) are moved to the base station IP BTS. In this configuration the division of functionalities between network elements is fundamentally re-defined to suit the needs of IP traffic. This is clearly different from just using IP as a transport solution with the existing network architectures like the GSM (Global System for Mobile Communications) and the CDMA (Code Division Multiple Access) based radio access networks. The radio access networks are connected to the core network CN.
It must be noted that
The present invention can be extended to any interface that includes the SCCP/M3UA/SCTP/IP stack, e.g. the lur, Iu, A interface. Therefore it is clear that application layer may vary. It can be e.g. the Radio Access Network Application Part (RANAP), Radio Network Subsystem Application Part (RNSAP), Base Station System Application Part (BSSAP) etc. Furthermore, the endpoint described in the present invention may be any of the following: a base station, controller, radio network controller, core network, radio network access server, gateway, server, mobile node, router, wireless router, computer, SGSN, GPRS Gateway Support Node (GGSN), any suitable radio access network or core network element or the like.
The IP base stations 82b are connected to an IP controller which is referred to as a RNAS 86 (radio network access server). This may provide some similar functions to the RNC and may also be referred to as IP based RNC. The RNAS 86 is connected to the base stations via an Iu′ interface. The RNC 84 and the RNAS 86 may communicate with each other via an lur interface. Also one or more servers 88 may be provided which are arranged to be able to communicate with the RNC 84, the RNAS 86 and the IP base stations 82b or only to some of them. Examples of these servers are Serving Mobile Location Center (SMLC), Common Resource Manager Server (CRMS) and Operation and Maintenance Server (OMS).
The IP base stations 82b and the RNAS 86 constitute an IP RAN 90. The base stations 82a and the RNC 84 constitute a more conventional RAN 92. Both the RNC 84 and the RNAS 86 are arranged to communicate with a core network 94 via an Iu interface.
It should be appreciated that
In one embodiment of
It is obvious to a person skilled in the art that with the advancement of technology, the basic idea of the invention may be implemented in various ways. The invention and its embodiments are thus not limited to the examples described above, instead they may vary within the scope of the claims.
This is a Continuation of International Application No. PCT/FI02/00499 filed Jun. 7, 2002, which designated the U.S. and was published under PCT Article 21(2) in English.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/FI02/00499 | Jun 2002 | US |
Child | 11005319 | Dec 2004 | US |