A GATEWAY IN A WIRELESS SYSTEM

Abstract: A method for handling connections in the gateway of a wireless system, such as the WAP system, which gateway maintains certain information of each connection, which information comprises the first part and the second part. Furthermore, the said gateway comprises the gateway aplication and means for the implementation of a certain protocol layer. The method is characterised in that it involves the storing of a partial connection, specific to the gateway application, upon the initiation of the gateway application, in which partial connection the first part of the connection data is fixed. When the datagram arrives from the radio interface at the gateway, a new connection is stored on the basis of the information of the partial connection, in which new connection the said second part of the connection data is fixed, comprising the bearer employed. The invention also relates to the said gateway, a computer program related to the method and a memory in which the said computer program is located.

Description: A gateway in a wireless system The present invention relates to wireless data transmission, in particular to the handling of connections in the gateway of the WAP system (Wireless Application Protocol) and of other similar wireless systems Wireless communication networks and the Internet network are expanding rapidly and the number of persons using these is also on the increase The importing of Internet contents and sophisticated data services in digital mobile stations, so- called media telephones, can be implemented using the WAP technology or Nokia ' s Smart Messaging technology, for example Although the example referred to below concerns the WAP system, this presentation also applies to other similar systems (Nokia Smart Messaging etc ), which are used to import Internet contents in wireless terminals Contents that conform to the WAP technology and that have been imported in wireless terminals are generally known as the WAP content. The WAP technology utilises parts of the existing standards In addition, it comprises own solutions optimised for use with wireless networks The aim is to support a maximally large number of wireless digital telecommunication networks on a global scale. As the WAP system was developed only recently and as the specifications of the said system in some cases only define the framework for different types of implementation, no solutions are known to exist for implementing certain parts of the system The WAP system is based on the joint operation of three components, that is, the WAP terminal 10 the WAP gateway 1 1 and the origin server 12 (Figure 1 ) Correspondingly, the Nokia Smart Messaging system comprises a gateway between the terminal and the origin server, one of the product versions of the said gateway being termed Nokia Artus Messaging Platform To browse WAP contents, the user has access to the wireless WAP terminal 10 which comprises a WAP browser as the user interface a micro browser or some other WAP application that can be used in a WAP terminal The said WAP terminal can be any appliance which uses the WAP protocol for external communications The WAP browser is analogous with the web browser When the user wants to receive a certain WAP content in his terminal, the effectively encoded request 13 first moves through the radio path to the WAP gateway 1 1 . The said gateway, which comprises coders and decoders, is capable of converting information that conforms to the WAP protocol, such as a WSP (Wireless Session Protocol), to information that conforms to the Internet protocol, such as the HTTP protocol (HyperText Transfer Protocol), and vice versa Once the gateway receives the aforementioned request from the WAP terminal, it converts it to the request 14, which conforms to the Internet protocol, and sends it to the origin server 12 in which the desired WAP content is located The WAP content 15, which is obtained from the origin server as a response to the above request and which can be a WML document (Wireless Markup Language) or WML script document, is sent to the WAP gateway 1 1 which converts the information that conforms to the Internet protocol to information that conforms to the WAP protocol, such as the WSP protocol Correspondingly, a HTML document (Hyper Text Markup Language), for example, is converted to a TTML document (Tagged Text Markup Language) in the gateway of the Nokia Smart Messaging system Next, the gateway 1 1 sends the WAP content 16, which is effectively coded for the radio path, to the WAP terminal 10 It should be noted that there are typically a number of elements between the WAP gateway and the radio interface in the GSM network (Global System for Mobile communication), for example. The said elements are usually appliances which are located in a mobile services switching centre, a base station controller or a base transceiver station. In the GSM network, the WAP gateway can be connected to the mobile services switching centre or short message service centre The WAP gateway can be perceived as being in a functional contact with the radio interface The block diagram of the WAP gateway 1 1 is shown in Figure 2 The gateway comprises the WAP protocol stack 20 which comprises hierarchical WAP protocol layers of which the lowermost WDP layer (Wireless Datagram Protocol) communicates with the wireless network 21 In addition, the gateway comprises the gateway applications 23 in which the requests obtained from the WAP protocol layers and the replies received from the origin servers are handled The gateway applications normally use a different memory (MEMORY B) 22 than does the WAP protocol stack 20, the memory (MEMORY A) 24 of which contains separate storage blocks reserved for use by different protocol layers Physically the gateway can be located in the information network of a telecommunications company One telecommunications company typically only has one or several WAP gateways each of which serves a large number of customers who utilise WAP services Each WAP terminal application typically has at least one session with the WAP gateway which session should be known to the WAP gateway that is. stored in its ROM or RAM The session denotes here communication-related shared information known to both the connection parties, here, the WAP terminal and the WAP gateway The initiative for opening the session is obtained from the WAP terminal, which terminal typically also launches an initiative for terminating the session As there may be more than one million sessions to one WAP gateway simultaneously, the problem is the ability of the gateway to handle the enormous quantity of requests which are obtained from terminals without becoming jammed There may be a number ot requests during one session As for its protocols the WAP system is hierarchical (Figure 3) The protocol comprises information on the forms of data transmission and on the rules that govern traffic and behaviour in data transmission The uppermost layer, the WAE layer 30 (Wireless Application Environment), is not actually a WAP protocol layer but a broad application environment which is based on WWW (World Wide Web) and mobile station technologies Below the said WAE layer in the hierarchy lies the uppermost actual protocol layer of the WAP protocol stack, the WSP (Wireless Session Protocol), which comprises session- related services connected with making browser application requests, for example The WTP 32 (Wireless Transaction Protocol) beneath the WSP layer is responsible for reliable data transmission, for example The WTLS layer 33 (Wireless Transport Layer Security) below the WTP layer contains optional services which are connected with the safety of data communication and which the various applications can choose The lowermost protocol layer the WDP layer 34 (Wireless Datagram Protocol), in the WAP protocol stack acts above the bearers intended for information transmission in each network such as the GSM network or the CDMA network (Code Division Multiple Access) Bearers of this kind include short messages (SMS, Short Message Services), data calls (CSD, Circuit Switched Data), packet radio services (GPRS, General Packet Radio Service) and other bearers which are defined in the WAP specifications Bearers are occasionally also called data carriers (bearers) or trails The services and applications 36 that utilise the WAP protocol stack do not necessarily have to Ose all the protocol layers Thus an application can for example, only utilise the lowermost WDP layer through a well-defined interface The WAP layers in the WAP gateway implementation are parts of a computer program which is stored in the memory of the gateway Communication between the layers takes place through the protocol messages 40 (Figure 4) Typically the upper layer uses the services of the lower layer The request usually moves in the WAP gateway between layers 31 -34 in the protocol stack from down to up, whereas the response moves in the opposite direction Traffic between the protocol layers is controlled and administered by the control unit 41 From the point of view of the WAP gateway, a problem is posed by the existence of a number of wireless networks different network elements that vary according to manufacturer and the establishment of new networks implemented using different technologies that in turn involve different information transfer bearers, for gateway applications and the WAP protocol stack must be able to handle the information which is imported in using different bearers Addresses, for example, can be presented as a telephone number or an IP number (Internet Protocol), depending on the bearer employed One solution to this problem is the use of a connection handle in a computer program which controls the operation of the WAP gateway, a connection handle can be assigned to each connection, which connection handle is a numerical connection-specific value in the WAP protocol stack The connection comprises information on the sender's address (remote address), the sender's application address as a port number (remote port number), the receiver's address (local address), the receiver's application address as a port number (local port number), the stack layers (stack configuration) used and the bearer employed The administration and control of the connection handles can be implemented in a centralised manner through the connection handle manager contained in the control unit, which connection handle manager assigns a connection handle to each new connection it has stored and stores the said assigned connection handle in its memory In the WAP protocol stack, the connection handle specific to each connection is sent with a protocol message, which travels from one protocol layer to another, to identify the connection with which the said protocol message is connected When creating protocol objects, the connection handle is stored in the storage block utilised by the layer by which the said protocol object was created The protocol object denotes the information maintained by the protocol layer with regard to one basic protocol operation One example of such a basic protocol operation is the WTP layer transaction Information on the creation and elimination of protocol objects is sent to the connection handle manager Using the connection handle saves resources, for now there is no need in the WAP protocol stack to refer to full space-consuming address data The protocol stack and the gateway applications do not have to be changed either when a new bearer is connected to the stack for the connection is only identified using the connection handle The connection of different bearers to the WAP protocol stack is not a very complex task It is performed through the API (Application Programming Interface) between the WDP layer and the bearers Problems are, hewever. caused by the fact that the gateway does not know before the arrival of the datagram at the WDP layer what type of bearer applicable to data transmission is used at a given point in time In order to be able to receive the datagram, the application in the gateway must be in a waiting mode in the application address in which the datagram is expected Otherwise the datagram will be lost As the datagram should not be lost and as the gateway does not know the bearer beforehand, one solution for ensuring the reception of the datagram is to establish a connection for each bearer connected with the protocol stack, which connection is specific to each gateway application As there are a number of bearers, a large number of connections must be reserved for each gateway application even if these connections were not used at all This means a waste of resources Now, an invention has been made for restricting in the gateway, such as the WAP gateway, the number of connections to be established According to the invention there is provided a method for handling connections in a gateway which is functionally coupled with a radio interface, which gateway maintains certain information on each connection, which information comprises a certain first part and second part and which gateway comprises a gateway application and means for implementation of a certain protocol layer It is characteristic of the method that in the method a partial connection is stored, specific to the gateway application, after the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed, a connection is stored on the basis of information of the partial connection, upon the arrival of a datagram from the radio interface at the gateway, in which connection the said second part of the connection information is fixed, comprising the bearer employed According to the invention there is provided a gateway which is functionally coupled with a radio interface for the communication of messages between a wireless terminal and a server which gateway comprises a gateway application and a protocol layer for the handling of messages and which gateway maintains certain information on each connection, which information comprises a certain first part and second part It is characteristic of the gateway that it comprises means for storing a partial connection, specific to the gateway application, as a response to the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed and means for storing the connection on the basis of the info mation of the partial connection as a response to the arrival of a datagram from the radio interface at the gateway, in which connection the said second part of the connection information is fixed, comprising the bearer employed According to the invention there is provided a computer program product executable by means of a computer for the handling of connections in a gateway functionally coupled with a radio interface, which gateway maintains certain information on each connection, which information comprises a certain first part and a second part and which gateway comprises a gateway application and means for implementation of a certain protocol layer It is characteristic of the computer program product that it comprises means for storing a partial connection, specific to the gateway application, as a response to the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed and means for storing the connection on the basis of the information of the partial connection as a response to the arrival of a datagram from the radio interface at the gateway in which connection the said second part of the connection information is fixed, comprising the bearer employed According to the invention there is provided a memory readable by means of a computer, in which memory a computer program has been stored for handling of connections in a gateway functionally coupled with a radio interface, which gateway maintains certain information on each connection, which information comprises a certain first part and a second part, and which gateway comprises a gateway application and means for implementation of a certain protocol layer. It is characteristic of the memory that, in the execution of the computer program a partial connection TS stored, specific to the gateway application, upon the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed, a connection is stored on the basis of the information of the partial connection, upon the arrival of a datagram from the radio interface at the gateway, in which connection the said second part of the connection information is fixed, comprising the bearer employed The stated drawbacks can be avoided, according to the invention (Figure 5), by establishing a partial connection upon the initiation of the gateway application (block 42), in which connection only the receiver's address (local address), the application address (local port number) and the protocol layers (stack configuration) used are stored (block 43) in the memory of the connection handle manager. When the datagram then arrives (block 44), a- new connection is established on the basis of the partial connection, in which connection the sender's address, application address and the bearer employed are fixed (block 45). Thus the number of connections can be kept relatively small, as the solution, according to the invention, only requires the establishment of one partial connection for each gateway application, which partial connection comprises information on the basis of which the actual connections are established. In the following, the invention will be described in detail by referring to the enclosed drawings, in which Figure 1 presents a model of the WAP system, Figure 2 presents a block diagram of the WAP gateway, Figure 3 presents the layers of the hierarchical WAP architecture, Figure 4 presents the organisation of the flow of information between the WAP layers. Figure 5 presents a flowchart which describes the basic principle of the invention, Figure 6 shows on example of the use of the connection handle, Figure 7 presents the assembly of a preferable form of execution, according to the invention, Figure 8 presents a flowchart regarding certain measures, according the invention, for the administration of the connection. As it is absolutely essential that the utilisation of connection handles should be understood for the purposes of also understanding the present invention, the use of connection handles will be discussed below in slightly more detail than above (Figure 6) Let us assume that the datagram 58 arrives from the telecommunication network 50 in some bearer which is supported by the WAP system at the WDP layer 34, which is the lowermost layer in the WAP protocol stack The said datagram can be a request sent from the WAP terminal for retrieving train timetable data or bank account data from the origin server to the WAP terminal The bearer can be an SMS service in the GSM network in which case the said arriving datagram would be a GSM text message The datagram 58 comprises the sender ' s address (remote address), the application address as a remote port number, the receiver's address (local address), the application address in the form of a local port number and the information to be transmitted The address data can be composed of telephone numbers or IP numbers (Internet Protocol) The application address determines the application for which the datagram is intended The connection data are maintained in a centralised manner in the connection handle manager 51 which is part of the control unit 41 Each connection 52 comprises information on the sender's address (remote address), the sender's application address (remote port number), the receiver ' s address (local address) and the receiver's application address (local port number), the WAP layers (stack configuration) used and the bearer employed The connection handle manager also contains, specific to each connection, the value of the reference count 56 which indicates how many WAP protocol layer protocol objects 53 and gateway applications are using the said connection To identify the connections, the connection handle manager 41 assigns to each connection and stores in its memory 23 the connection handle 57 which is a numeric value, preferably an integer, which is intended for use by the WAP protocol stack and which pertains to each connection As the datagram 58 reaches the WDP layer 34, the said layer asks, through the subroutine call 59a from the connection handle manager 51 for the connection handle 57, after whicrrthe connection handle manager checks from its memory 24 whether there is already a valid connection 52 in the WAP terminal by which the datagram was sent If there is a valid connection 52 in the WAP terminal by which the said datagram was sent, the connection handle manager 51 will send the connection handle 57 of the said connection 52 to the WDP layer 34 as a response 59b to the subroutine call 59a If no valid connection exists for the connection information contained in the said datagram, the connection handle manager will retrieve from the connection pool 54 in its memory 24 a free connection 55 and store in it all connection information and the connection handle 57 that it has assigned to the connection (, in which case, as presented in Figure 6, the free connection 55 will change into connection 52) As a response 59b to the subroutine call 59a, the connection handle 57 assigned to the said connection 52 is sent even in this case. The free connection 55 here denotes a memory space which has not been assigned for use by any existing connection 52. The information contained in the datagram now moving, through the protocol messages 40, from one protocol layer to another in the WAP protocol stack and to the gateway applications, these protocol messages also carry the connection handle 57 assigned by the connection handle manager to the connection so as to identify that particular connection Full information on the connection, which corresponds to the connection handle, including address data, are known to the connection handle manager in a centralised manner and are not sent as part of the protocol messages. When a protocol message that contains connection handle 57 arrives at protocol layer 31 -34 and a new protocol object 53, which is specific to protocol layer, is created, the connection handle is always stored in the said protocol object, that is, in the storage block reserved in memory 24 for the relevant protocol layer. The said protocol layer sends information on this to the connection handle manager 51 which increases by one the value of the reference count 56 for the connection 52, which is connected with the connection handle 57 When the protocol layer 31 -34 eliminates a certain protocol object, the said layer informs the connection handle manager 51 of this, which connection handle manager reduces by one the reference count value 56 for the connection 52, which is connected with the said connection handle 57 Each protocol layer 31 -34 informs, through subroutine calls, the connection handle manager 51 of changes in the protocol objects 53 If the reference count for any connection 52 receives the value zero, the connection identified by the connection handle 57 will be transferred to free connections 55 in the connection pool 54 for use in some other connection If the user of the WAP terminal does not use the terminal, the connection handle connected with this connection can thus be released for use by some other connection. If the same user resumes the use of the same connection, the aforementioned connection handle will be given as the label for the said connection, provided that the connection handle is free If this is not the case, some other connection handle will be assigned to the connection instead In the first form of execution, according to the invention (Figure 7), all the known bearers are also known to the WAP protocol stack 20 In other words, the said bearers have been connected to the WAP protocol stack through the API interface 61 which is located between the WDP layer 34 and the bearers 60 The part of the computer program by means of which the API interface 61 is implemented can be termed the bearer adapter 62 for example The gateway application 63 in turn utilises upon initiation the API interface 64, which is located between the gateway application and the WAP protocol stack 20, in order to indicate to the connection handle manager 51 that it is ready to serve in a certain local address and application address In the computer program which controls the operation of the gateway, this takes place preferably through a subroutine call After this, the application 63 remains in a waiting mode As a result of the aforementioned measures, the connection handle manager 51 stores in its memory the partial connection 65 in which only the local address, the application address, and the required WAP protocol layers are fixed The storing of the partial connection 65 in the memory means in practise that a certain kind of a capability is created for the WAP protocol stack to receive the datagram and establish the actual connection The connection handle manager 51 also assigns a connection handle to each partial connection Following the establishment of the said partial connection, the connection handle manager 51 reports to the WDP layer 34 that a gate which corresponds to a certain application address should be opened for data can only be received through an open gate The WDP layer opens the said gate for all bearers 60 through the API interface 61 which is located between the WDP layer and each bearer The API interface comprises a group of subroutine calls which are implemented by a computer program part which can be termed the bearer adapter 62, for example The said bearer adapter 62 is the basic requirement for the connection of differentbearers 60 to the WAP protocol stack 20 Figure 8 shows the measures executed by the protocol stack 20 when a datagram, such as a short message in the GSM network arrives at the WDP layer 34 (block 81 ) which is the lowermost layer in the protocol stack When the datagram reaches, in a bearer 60 the WDP layer in the protocol stack through an opened gate, the WDP layer asks the control handle manager 51 to check if the data are from an existing connection 52 (block 82) This is done by comparing the connection information (address data, bearer, etc ) contained in the datagram with the data on the actual connections 52, which data are contained in the memory of the connection handle manager If the said data were obtained from an existing connection 52, the connection handle manager 51 will send to the protocol layer 34 a connection handle assigned to the said connection 52 and the operation of the gateway will continue in accordance with the existing con-nection (block 83) If the information contained in the datagram is not from an existing connection 52, the connection handle manager 51 will check whether the said information is part of a partial connection 65 (block 84) This is done by comparing the connection information contained in the datagram preferably the application address, with the information on partial connections 65 which is contained in the memory of the connection handle manager 51 If the said data are from a partial connection, a new connection 52 will be established on the basis of the information of the partial connection 65 (block 86) A connection handle assigned to the new connection 52 is sent to the protocol layer 34 The partial connection 65 is not eliminated upon the establishment of the connection 52, but it remains valid throughout the life span of the said gateway application 63 In both the cases discussed above, the data contained in the datagram are finally guided to the correct gateway application 63 through the protocol layers 34-31 If no partial connection 65 is available for the aforementioned application address, i e port number there will be no application 63 that could receive the data, in which case the data will be neglected, i e rejected (block 85) The bearer 60 by which the information is carried can be any network bearer which is supported by the WAP system, such as a short message service (SMS, Short Message Service) in a GSM network (Global System for Mobile communication), a data call i e a CSD service (Circuit Switched Data) or a packet radio, i e , GPRS, service (General Packet Radio Service) The benefits offered by the invention relate to the use of a partial connection and the connection handle As only one partial connection is established for each application upon the initiation of the gateway applications which connection is used as the basis for the establishment of complete connections upon the arrival of the data at the opened gate the number of the connections in the gateway can be kept relatively small In addition, the new bearer can be connected to the WAP system without changing the gateway application, for the application does not know nor does it have to know, the bearer employed This is extremely important, since the handling of applications is slow and testing time-consuming The gateway, according to the invention, can be implemented by means of software The relevant computer program product can be stored in a data medium, such as a memory, transferred and run in a computer The paper presents the implementation and embodiments oMhe present invention with the help of examples A person skilled in the art will appreciate that the present invention is not restricted to details of the embodiments presented above, and that the invention can also be implemented in another form without deviating from the characteristics of the invention The embodiments presented above should be considered illustrative, but not restricting Thus, the possibilities of implementing and using the invention are only restricted by the enclosed claims. Consequently, the various options of implementing the invention as determined by the claims, including the equivalent implementations, also belong to the scope of the invention

Claims: Claims 1 A method for handling connections in a gateway which is functionally coupled with a radio interface, which gateway maintains certain information on each connection, which information comprises a certain first part and second part and which gateway comprises a gateway application and means for implementation of a certain protocol layer, characterised in that a partial connection is stored, specific to the gateway application, after the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed, a connection is stored on the basis of the information of the partial connection, upon the arrival of a datagram from the radio interface at the gateway, in which connection the said second part of the connection information is fixed, comprising the bearer employed. 2. A method according to Claim 1 , characterised in that the said first part of the connection data comprises information on the receiver s address, the application address and the protocol layer employed. 3. A method according to Claim 1 , characterised in that the said second part of the connection data also comprises information on the sender's address and application address. 4 A method according to Claim 1 , characterised in that the said gateway is the gateway of the WAP system (Wireless Application Protocol) 5. A method according to Claim 4, characterised in that the said gateway application has been provided for communicating timetable information from the origin server to the WAP terminal. 6 A method according to Claim 4, characterised in that the said gateway application has been provided for communicating banking services from the origin server to the WAP terminal 7 A gateway (1 1 ) which is functionally coupled with a radio interface for the communication of messages between a wireless terminal (10) and a server (12), which gateway comprises a gateway application (63) and a protocol layer (20, 31 -34) for the handling of messages and which gateway (1 1 ) maintains certain information on each connection, which information comprises a certain first part and second part, characterised in that it comprises means (51 ) for storing a partial connection (65), specific to the gateway application, as a response to the initiation of the gateway application (63), in which partial connection (65) the said first part of the connection information is fixed and means (51 ) for storing the connection (52) on the basis of the information of the partial connection (65) as a response to the arrival of a datagram (58) from the radio interface at the gateway (1 1 ) in which connection the said second part of the connection information is fixed, comprising the bearer employed. 8. A computer program product executable by means of a computer for the handling of connections in a gateway functionally coupled with a radio interface, which gateway maintains certain information on each connection, which information comprises a certain first part and a second part and which gateway comprises a gateway application and means for implementation of a certain protocol layer, characterised in that the computer program product comprises means for storing a partial connection, specific to the gateway application, as a response to the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed, and means for storing the connection on the basis of the information of the partial connection as a response to the arrival of a datagram from the radio interface at the gateway, in which connection the said second part of the connection information is fixed, comprising the bearer employed 9 A memory readable by means of a computer, in which memory a computer program has been stored for handling of connections in a gateway functionally coupled with a radio interface, which gateway maintains certain information on each connection, which information comprises a certain first part and a second part, and which gateway comprises a gateway application and means for implementation of a certain protocol layer, characterised in that upon execution of the computer program a partial connection is stored, specific to the gateway application, upon the initiation of the gateway application, in which partial connection the said first part of the connection information is fixed. a connection is stored on the basis of the information of the partial connection, upon the arrival of a datagram from the radio interface at the gateway, in which connection the said second part of the connection information is fixed, comprising the bearer employed.

Inventors: EEROLA SEVERI, EEROLA, SEVERI
Applicants: EEROLA SEVERI, NOKIA CORP, EEROLA, SEVERI, NOKIA CORPORATION
Application year: 2000
Main classification: H04L12
IPC codes: H04L12, H04L29, H04M3, H04W88