WO1999014877A1 - Protocol stack architecture in wireless data device and method of communicating - Google Patents

Protocol stack architecture in wireless data device and method of communicating Download PDF

Info

Publication number
WO1999014877A1
WO1999014877A1 PCT/US1998/016130 US9816130W WO9914877A1 WO 1999014877 A1 WO1999014877 A1 WO 1999014877A1 US 9816130 W US9816130 W US 9816130W WO 9914877 A1 WO9914877 A1 WO 9914877A1
Authority
WO
WIPO (PCT)
Prior art keywords
program module
communications
protocol
module
transmission
Prior art date
Application number
PCT/US1998/016130
Other languages
French (fr)
Inventor
Nicholas P. Alfano
Original Assignee
Motorola Inc.
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 Motorola Inc. filed Critical Motorola Inc.
Priority to AU86855/98A priority Critical patent/AU8685598A/en
Publication of WO1999014877A1 publication Critical patent/WO1999014877A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Definitions

  • This invention relates to a wireless data device and a method of communicating and it relates to improvements in a protocol stack architecture therefor.
  • Wireless data devices and other communications devices are commonly designed to a seven-layer open system interconnection (OSI) model typically having an application layer, a presentation layer, a session layer, a transport layer, a network layer, a data link layer and a physical layer.
  • OSI open system interconnection
  • Such an architecture permits each layer to be designed separate from each other layer, with only the need to ensure proper communications up and down the protocol stack.
  • Each layer at one end of the communications link communicates with its corresponding layer (peer) at the other end of the link to establish, maintain and control communications at its layer in the stack.
  • the architecture provides for a high degree of reliability in communications.
  • each layer or sublayer has layer service access points, layer service primitives, a layer protocol and a layer management entity.
  • a bearer is a radio frequency (RF) transmission mechanism, an access protocol, a message exchange protocol or the like.
  • RF radio frequency
  • Use of different bearers implies different physical layers and may also imply that other layers are changed from bearer to bearer.
  • Each bearer has its own unique behaviors and characteristics. Typically, therefore, multiple bearers are served by complete duplication of the protocol stack, where only the application is common to protocol stacks supporting different bearers.
  • Mobile data devices are highly memory constrained. Pagers and cellular telephones are examples.
  • An implementation of a mobile data device with multiple bearer services must have a protocol which requires a small memory size (both for program code and working random access memory) and will operate with low processing power.
  • a wireless data protocol stack architecture that is transparent to the user (or virtually so), is capable of handling communication over multiple bearers and yet has very small memory requirements.
  • FIG. 1 shows a wireless application protocol reference model for the device and method of the present invention.
  • FIG. 2 shows details of the wireless transport protocol architecture of FIG. 1.
  • FIG. 3 is a flow diagram illustrating details of operation of a computer program for transmission of data according to the architecture of FIG. 2.
  • FIG. 4 is a flow diagram illustrating details of operation of a computer program for reception of data according to the architecture of FIG. 2.
  • FIG. 5 is a block diagram of a wireless data device according to the preferred embodiment of the invention.
  • a wireless application protocol reference model is shown where an application layer, a session layer and a transport layer are shown. Layers below the transport layer are referred to as underlying bearer services and need not be described in detail for the purposes of understanding the invention and implementing it. No presentation layer is shown, as the presentation layer is concerned only with correct syntax of communication between the application layer and the session layer and other minor matters, which can all be subsumed into the application layer or the session layer or shared between these layers.
  • the application layer comprises an application service access point (SAP) 10 coupled to an application layer communication program module 11, which in turn is coupled to an application layer management program module 12 via an application layer management interface 13.
  • SAP application service access point
  • the session layer SAP 20 is coupled to a session layer communication program module 21 which in turn is coupled to a session layer management program module 22 via a session layer management interface 23.
  • Coupled to the session layer communication program module 21 is a transport layer SAP 30 which in turn is coupled to a wireless transport protocol (WTP) communications program module 31.
  • WTP communications program module 31 is coupled to a transport layer management program module 32 via a transport layer management interface 33.
  • Underlying bearer services 40 are coupled to the WTP communications program module 31 and have associated bearer service management program modules 42 connected thereto by a bearer service management interface 43.
  • the application layer management program module 12 is coupled to the session layer management program module 22 via an A-S inter- layer interface 15.
  • the session layer management program module 22 is coupled to the transport layer management program module 32 via a S-T inter-layer interface 25.
  • the transport layer management program module 32 is connected to the bearer service management program modules 42 by an interface 35.
  • an application such as an electronic mail application or a web browser application is provided as the application layer communication program module 11 and communicates with multiple underlying bearer services 40 via a common session layer and a common WTP layer communications program module 31.
  • Each of the communications program modules 11, 21 and 31 receives and delivers messages to the communications program modules above and below. Thus, messages pass up and down the stack.
  • the management program modules 12, 22 and 32 communicate across their respective interfaces 13, 23 and 33 with their respective communications program modules 11, 21 and 31 by means of small sets of primitive commands, preferably including at least: a start up (i.e. initialize) command with start-up parameters; a shut down command; a suspend command and a configuration change command (with parameters).
  • the start-up and configuration parameters preferably include at least timer length and packet size parameters, but include other parameters as necessary which need not be described in detail.
  • the management program modules 12, 22 and 32 control set-up and maintenance of continued communication through the respective communications program modules of the respective layers. If, for example, there is an event which is likely to prevent further communication through a given layer, the management entity for that layer will attempt to adjust the operational parameter of the layer to continue communications (e.g.
  • a low battery signal for example, will be communicated from a surrounding operating system (not shown) to all the management program modules (a battery failure will affect communications at all levels) and all the management program modules will attempt to gracefully close down communications.
  • Configuration information between a source (e.g. a user input) and the management program module is dealt with by the management program module and whatever change in parameters is necessary is communicated to the protocol layer communication program module, whether at set-up or dynamically during operation.
  • the program module comprises an unstructured supplementary service data (USSD) service 100, a short message service (SMS) 101 a circuit-switched (CS) data service 102 and a GSM (Global System for Mobile communication) packet radio service (GPRS) 103. All these services are illustrated as examples of possible services ancillary to an underlying GSM digital cellular radio service 104. Details of the services 100-104 need not be described, as they are well documented in GSM standards and literature.
  • GPRS Global System for Mobile Communications
  • USSD barest of the services, having none of these functions. The richness of the services increases from left to right in FIG. 2.
  • a common wireless transport protocol 110 is provided for communication with the plurality of bearer services 100-103 so that a single transport layer SAP interfaces with all the underlying bearer services.
  • the common wireless transport protocol 110 provides a reliable data transmission service to the session layer. This service is commonly referred to as a connection-oriented service.
  • a subset of the connection-oriented service is an unreliable data transmission service, commonly referred to as a datagram service or connectionless service.
  • the common wireless transport protocol 110 eliminates duplication of program code at layers above the transport layer.
  • the program comprises a step 300 at which a connection to a certain address number is opened. Note that prior to step 300, a particular desired bearer service for the connection has been selected in the session layer or the application layer. If the connection is a new connection, an identification number (ID) is assigned in step or element 301. The ID is assigned from a table 302 stored in memory in the wireless data device. The table 302 keeps records of IDs, bearers (i.e.
  • SMS, USSD, CS or GPRS source addresses and destination addresses.
  • connection identifier is therefore assigned by the wireless transport protocol. If the communication is not new, an ID is already assigned and can be looked up in table 302.
  • the rules of semantics for the ID are identical regardless of the bearer service requested by the session layer. For example, if an SMS connection is requested, an ID in the range 1-1000 is assigned and if a
  • GPRS connection is requested, another ID also in the range 1-1000 is assigned.
  • the session layer is informed of the ID assigned and the session layer is able to reuse the ID for further communications requests for the duration of a connection.
  • step 310 determines whether the service required is the richest service available, in this case GPRS. This determination is performed based on the connection ID and the contents of table 302. If the desired service is GPRS, then a GPRS transmission program module 312 is invoked, which need not be described in detail. Otherwise, the message to be transmitted is (optionally) compressed in step 313. Step 313 is performed here because none of the other services available has compression as an integral part of that service. Accordingly, the program code needed to perform step 313 can be used by all the other services without the need to have different compression codes for different services. Following step 313, a determination is made in step 314 as to whether circuit switched data transmission is required, again using the contents of table 302.
  • a circuit switched data transmission program module 316 is invoked. If desired, the message can be first passed through an encryption module 318. If the desired service is not circuit switched, flow passes to program module 320 where segmentation is performed. Optionally, encryption module 318 can follow segmentation. After segmentation, a window rotation function 322 is performed. The window rotation function 322 causes sending of multiple packets, waits for multiple acknowledgments to be received and proceeds to send further packets when acknowledgments are received, keeping a maximum of seven packets in transit at any given time. If the desired service is SMS, step 324 causes flow to proceed to USSD transmission program module 326. Otherwise, SMS service is required and SMS transmission program module 328 is invoked. Duplication of the program code needed to perform the functions of modules 318, 320, 322 is avoided in providing SMS and USSD services.
  • an architecture for integration of multiple wireless bearer services to provide a common and consistent service to upper layer protocols and applications is provided.
  • the architecture exploits the common features found in protocols designed for specific bearers to produce a protocol which is compact in its memory usage and requires low processing power.
  • the integrated protocol exploits the common features of each of the separate protocol stacks present in the multi-mode mobile device.
  • This integrated protocol can offer a common set of services for applications which results in portability of applications across any mobile device implementing the protocol regardless of bearer supported. For completeness, there now follows a description of operation of the protocol architecture of FIG. 2 in reception.
  • reception comprises continuously listening in step 400 for an incoming message from an underlying bearer service.
  • a corresponding reception program module 420-423 is invoked.
  • this is shown as being dependent on a number of binary decisions 401-403, but the program can be structured in a different way, which is to say that flow begins at one of program modules 420-423 dependent on the underlying bearer service from which the message is received.
  • reception program modules 420-423 supplementary operations are performed as necessary.
  • program modules 420 and 421 are supplemented by window rotation program module 430, optional decryption module 431 and re-assembly program module 432.
  • step 434 a determination is made as to whether a connection is already outstanding for the message. This determination is made based on the source address of the message (and, if necessary the destination address if the wireless data device has more than one address). If the connection is a new connection, flow proceeds to step 436 where a connection identifier (ID) is assigned to the connection from table 302. Finally, flow proceeds to step 438, where the message is passed to the session layer and eventually to the application. As for the process of FIG.
  • the rules of semantics for the ID are identical regardless of the bearer service from which the connection is received. For example, if an SMS connection is received, an ID in the range 1-1000 is assigned and this ID is communicated to the session layer and if a GPRS connection is received, an ID also in the range 1- 1000 is assigned and communicated to the session layer.
  • the wireless data device 512 comprises a transmitter 501 and a receiver 502, both coupled to an antenna switch 503 and, through the antenna switch, to an antenna 504.
  • a synthesizer 505 is coupled to each of the receiver 502 and the transmitter 501.
  • a demodulator 510 is coupled to receiver 502.
  • a modulator 511 is coupled to the synthesizer 505.
  • a logic unit 520 is coupled via data lines 521 and 522 to the demodulator 510 and modulator 511, respectively, and is coupled by control lines 523 and 524 to the demodulator 510 and the receiver 502 and to the transmitter 501 and the antenna switch 503 respectively.
  • a control bus 526 is coupled between the logic unit 520 and the synthesizer 505.
  • RAM random access memory
  • EPROM electrically erasable programmable read- only memory
  • a duplexer can be used, allowing simultaneous receiving and transmitting.
  • Logic unit 520 controls synthesizer 505 via control bus 526 to select appropriate frequencies for transmission and reception depending on the particular frequencies of the system.
  • the programs described with reference to FIGs. 3 and 4 are stored in EEPROM 532 (or in ROM or RAM) and cause the processor 530 to perform the operations described.
  • the processor performs at least the functions of the transport layer, the session layer and the application layer, that is to say all the functions of items 10-31 of FIG. 1.
  • Functions of the lower layers can be performed in the logic unit 520 or can be divided between the logic unit 520 and the processor 530 as desired.
  • the processor 530 In transmit operation, the processor 530 generates a packet or packet fragment for transmission and supplies the data to logic unit 520.
  • Logic unit 520 performs timing and synchronization functions and other functions depending on the bearer service selected.
  • Logic unit 520 controls the timing of outputting of a packet of data to the modulator 511. Processing of functions below the transport layer, including such functions as block coding and error check generation, where included, can be performed by either the processor 530 or by the logic unit 520.
  • the logic unit 520 passes the data for transmission to the modulator 511 bit-by-bit and provides a transmitter key-up signal on control line 524 (at the same time switching antenna switch 503 to the lower position as shown).
  • the timing circuit 529 controls the timing of key-up of the transmitter 501, so that each transmission burst is transmitted at a carefully selected time. For example, in the case of SMS transmission, the selected time coincides with control channel time slots, while in GPRS or circuit switched transmission, the selected time coincides with an allocated time division multiplex traffic channel.
  • the control line 524 causes the antenna switch 503 to switch to the upper position as shown, allowing signals to be received via the antenna 504 and the receiver 502 and demodulated by the demodulator 510 and passed to the logic unit 520.
  • Logic unit 520 performs lower level processing dependent on the type of bearer service. For example, messages received during control channel slots can be deemed to be SMS messages, while messages received during traffic channel slots can be deemed to be GPRS if received on an allocated GPRS channel or circuit switched data if received on a general traffic channel.
  • the logic unit 520 ultimately passes received data to the processor 530 for further processing. If desired, the logic unit 520 can perform low level processing such as block decoding and error checking.
  • a wireless data device which comprises a processor 530 and a computer program therefor.
  • the computer program is structured according to a protocol stack model having at least an application layer, a session layer and a transport layer, wherein the application layer is connected to the session layer and the session layer is connected to the transport layer.
  • the transport layer comprises: a connection identification number assignment program element 301, a decision element 310 coupled to the connection identification assignment program element; at least a first transmission program module (e.g. program module 312) coupled to the decision element; and at least a second transmission program module (e.g. one of program modules 316, 326 and 328) coupled to the decision element.
  • the decision element is responsive to the connection identification number assignment step 301 to route communications to one of the first transmission program module and the second transmission program module.
  • the assignment of the ID by step 301 and the use of that ID as a "handle" by the transport layer in determining to which of modules 312, 316, 326 or 328 the connection should be routed avoids the need each time to re-execute the algorithm that determines which bearer service is requested.
  • the session layer will re-use the ID for the duration of the connection requested by the session layer (in the case of an outgoing request unsolicited by the transport layer) and the transport layer will reuse the ID in reception for the duration of the connection indicated to the session layer (in the case of an incoming request unsolicited by the session layer).
  • a wireless data device has also been described where the computer program is structured according to a protocol stack model and wherein a transport layer communications program module 31 comprises: a connection identification number assignment program element 301 at least a first transmission program module (e.g. 312); at least a second transmission program module (e.g. 328, 326 or 316); and a decision element coupled to the connection identification assignment program element, the first transmission program module and the second transmission program module for routing communications to one of the first transmission program module and the second transmission program module.
  • a transport layer communications program module 31 comprises: a connection identification number assignment program element 301 at least a first transmission program module (e.g. 312); at least a second transmission program module (e.g. 328, 326 or 316); and a decision element coupled to the connection identification assignment program element, the first transmission program module and the second transmission program module for routing communications to one of the first transmission program module and the second transmission program module.

Abstract

A wireless data device (512) having a processor (530) and a computer program that is structured according to a protocol stack model. The program has application layer (11), session layer (21) and transport layer (31) communication program modules. The transport layer communications program module (31) has a connection identification number assignment step (301), at least first and second transmission program modules (e.g. 310 and 316, 326 or 328). A decision element (310) is coupled to the connection identification assignemt program element and the first and second transmission program modules for routing communications to one of those program modules. Also provided is a method of communicating via one of a first relatively rich communications protocol and a second relatively bare communications protocol. When routing communications to a transmission program module for the relatively bare protocol, communications are preprocessed in a supplementary functional module.

Description

PROTOCOL STACK ARCHITECTURE IN WIRELESS DATA DEVICE AND METHOD OF COMMUNICATING
Field of the Invention This invention relates to a wireless data device and a method of communicating and it relates to improvements in a protocol stack architecture therefor.
Background of the Invention Wireless data devices and other communications devices are commonly designed to a seven-layer open system interconnection (OSI) model typically having an application layer, a presentation layer, a session layer, a transport layer, a network layer, a data link layer and a physical layer. Such an architecture permits each layer to be designed separate from each other layer, with only the need to ensure proper communications up and down the protocol stack. Each layer at one end of the communications link communicates with its corresponding layer (peer) at the other end of the link to establish, maintain and control communications at its layer in the stack. The architecture provides for a high degree of reliability in communications.
An example of such an architecture is the architecture described in the Cellular Digital Packet Data (CDPD) System Specification Release 1.1 of January 19, 1995. In the architecture described, each layer or sublayer has layer service access points, layer service primitives, a layer protocol and a layer management entity.
In modern wireless data devices there is a demand to provide for communication over several different bearers. A bearer is a radio frequency (RF) transmission mechanism, an access protocol, a message exchange protocol or the like. Use of different bearers implies different physical layers and may also imply that other layers are changed from bearer to bearer. Each bearer has its own unique behaviors and characteristics. Typically, therefore, multiple bearers are served by complete duplication of the protocol stack, where only the application is common to protocol stacks supporting different bearers.
This is workable and does not present huge difficulty in implementation, but is generally inefficient and in particular is expensive in terms of the memory required for the program code for the multiple protocol stacks as well as the random access memory required for operation. Also, use of multiple protocol stacks requires a high degree of design effort for the different bearers and can render the result highly visible to the user, which is not desirable. There is a need for optimization of a protocol to implement multiple services over multiple wireless bearers in a mobile environment.
Mobile data devices are highly memory constrained. Pagers and cellular telephones are examples. An implementation of a mobile data device with multiple bearer services must have a protocol which requires a small memory size (both for program code and working random access memory) and will operate with low processing power. Thus, there is a need for a wireless data protocol stack architecture that is transparent to the user (or virtually so), is capable of handling communication over multiple bearers and yet has very small memory requirements.
A preferred embodiment of the invention is now described, by way of example only, with reference to the accompanying drawings.
Brief Description of the Drawings
FIG. 1 shows a wireless application protocol reference model for the device and method of the present invention.
FIG. 2 shows details of the wireless transport protocol architecture of FIG. 1. FIG. 3 is a flow diagram illustrating details of operation of a computer program for transmission of data according to the architecture of FIG. 2.
FIG. 4 is a flow diagram illustrating details of operation of a computer program for reception of data according to the architecture of FIG. 2.
FIG. 5 is a block diagram of a wireless data device according to the preferred embodiment of the invention.
Detailed Description of the Preferred Embodiment
Referring to FIG. 1, a wireless application protocol reference model is shown where an application layer, a session layer and a transport layer are shown. Layers below the transport layer are referred to as underlying bearer services and need not be described in detail for the purposes of understanding the invention and implementing it. No presentation layer is shown, as the presentation layer is concerned only with correct syntax of communication between the application layer and the session layer and other minor matters, which can all be subsumed into the application layer or the session layer or shared between these layers.
In greater detail, the application layer comprises an application service access point (SAP) 10 coupled to an application layer communication program module 11, which in turn is coupled to an application layer management program module 12 via an application layer management interface 13. Coupled to the application layer communication program module 11 is a session layer SAP 20. The session layer SAP 20 is coupled to a session layer communication program module 21 which in turn is coupled to a session layer management program module 22 via a session layer management interface 23. Coupled to the session layer communication program module 21 is a transport layer SAP 30 which in turn is coupled to a wireless transport protocol (WTP) communications program module 31. The WTP communications program module 31 is coupled to a transport layer management program module 32 via a transport layer management interface 33. Underlying bearer services 40 are coupled to the WTP communications program module 31 and have associated bearer service management program modules 42 connected thereto by a bearer service management interface 43.
The application layer management program module 12 is coupled to the session layer management program module 22 via an A-S inter- layer interface 15. The session layer management program module 22 is coupled to the transport layer management program module 32 via a S-T inter-layer interface 25. The transport layer management program module 32 is connected to the bearer service management program modules 42 by an interface 35. In operation, an application such as an electronic mail application or a web browser application is provided as the application layer communication program module 11 and communicates with multiple underlying bearer services 40 via a common session layer and a common WTP layer communications program module 31. Each of the communications program modules 11, 21 and 31 receives and delivers messages to the communications program modules above and below. Thus, messages pass up and down the stack.
The management program modules 12, 22 and 32 communicate across their respective interfaces 13, 23 and 33 with their respective communications program modules 11, 21 and 31 by means of small sets of primitive commands, preferably including at least: a start up (i.e. initialize) command with start-up parameters; a shut down command; a suspend command and a configuration change command (with parameters). The start-up and configuration parameters preferably include at least timer length and packet size parameters, but include other parameters as necessary which need not be described in detail. The management program modules 12, 22 and 32 control set-up and maintenance of continued communication through the respective communications program modules of the respective layers. If, for example, there is an event which is likely to prevent further communication through a given layer, the management entity for that layer will attempt to adjust the operational parameter of the layer to continue communications (e.g. at a slower speed) or to gracefully close down communication at that layer. A low battery signal, for example, will be communicated from a surrounding operating system (not shown) to all the management program modules (a battery failure will affect communications at all levels) and all the management program modules will attempt to gracefully close down communications.
Configuration information between a source (e.g. a user input) and the management program module is dealt with by the management program module and whatever change in parameters is necessary is communicated to the protocol layer communication program module, whether at set-up or dynamically during operation.
Referring now to FIG. 2, details of the WTP communications program module 31 are shown. The program module comprises an unstructured supplementary service data (USSD) service 100, a short message service (SMS) 101 a circuit-switched (CS) data service 102 and a GSM (Global System for Mobile communication) packet radio service (GPRS) 103. All these services are illustrated as examples of possible services ancillary to an underlying GSM digital cellular radio service 104. Details of the services 100-104 need not be described, as they are well documented in GSM standards and literature.
While four alternative bearer services 100-103 are shown, any subset of two or more of these services may be provided. GPRS is the richest of the four services, having functions such as encryption, compression, segmentation and window rotation (and the reverse functions) included with the defined service. USSD is the barest of the services, having none of these functions. The richness of the services increases from left to right in FIG. 2.
A common wireless transport protocol 110 is provided for communication with the plurality of bearer services 100-103 so that a single transport layer SAP interfaces with all the underlying bearer services. The common wireless transport protocol 110 provides a reliable data transmission service to the session layer. This service is commonly referred to as a connection-oriented service. A subset of the connection-oriented service is an unreliable data transmission service, commonly referred to as a datagram service or connectionless service.
The common wireless transport protocol 110 eliminates duplication of program code at layers above the transport layer.
Referring now to FIG. 3, a computer program implementing transmit operation according to the wireless transport protocol of FIG. 2 is shown. The program comprises a step 300 at which a connection to a certain address number is opened. Note that prior to step 300, a particular desired bearer service for the connection has been selected in the session layer or the application layer. If the connection is a new connection, an identification number (ID) is assigned in step or element 301. The ID is assigned from a table 302 stored in memory in the wireless data device. The table 302 keeps records of IDs, bearers (i.e.
SMS, USSD, CS or GPRS) source addresses and destination addresses.
The first time an application wishes to open a connection, the application provides an address to the destination. A connection identifier is therefore assigned by the wireless transport protocol. If the communication is not new, an ID is already assigned and can be looked up in table 302.
The rules of semantics for the ID are identical regardless of the bearer service requested by the session layer. For example, if an SMS connection is requested, an ID in the range 1-1000 is assigned and if a
GPRS connection is requested, another ID also in the range 1-1000 is assigned. In each case, the session layer is informed of the ID assigned and the session layer is able to reuse the ID for further communications requests for the duration of a connection.
Following step 301, step 310 determines whether the service required is the richest service available, in this case GPRS. This determination is performed based on the connection ID and the contents of table 302. If the desired service is GPRS, then a GPRS transmission program module 312 is invoked, which need not be described in detail. Otherwise, the message to be transmitted is (optionally) compressed in step 313. Step 313 is performed here because none of the other services available has compression as an integral part of that service. Accordingly, the program code needed to perform step 313 can be used by all the other services without the need to have different compression codes for different services. Following step 313, a determination is made in step 314 as to whether circuit switched data transmission is required, again using the contents of table 302. If so, a circuit switched data transmission program module 316 is invoked. If desired, the message can be first passed through an encryption module 318. If the desired service is not circuit switched, flow passes to program module 320 where segmentation is performed. Optionally, encryption module 318 can follow segmentation. After segmentation, a window rotation function 322 is performed. The window rotation function 322 causes sending of multiple packets, waits for multiple acknowledgments to be received and proceeds to send further packets when acknowledgments are received, keeping a maximum of seven packets in transit at any given time. If the desired service is SMS, step 324 causes flow to proceed to USSD transmission program module 326. Otherwise, SMS service is required and SMS transmission program module 328 is invoked. Duplication of the program code needed to perform the functions of modules 318, 320, 322 is avoided in providing SMS and USSD services.
By the above described arrangement, an architecture for integration of multiple wireless bearer services to provide a common and consistent service to upper layer protocols and applications is provided. The architecture exploits the common features found in protocols designed for specific bearers to produce a protocol which is compact in its memory usage and requires low processing power.
The integrated protocol exploits the common features of each of the separate protocol stacks present in the multi-mode mobile device. This integrated protocol can offer a common set of services for applications which results in portability of applications across any mobile device implementing the protocol regardless of bearer supported. For completeness, there now follows a description of operation of the protocol architecture of FIG. 2 in reception.
Referring to FIG. 4, reception comprises continuously listening in step 400 for an incoming message from an underlying bearer service. When a message is received, a corresponding reception program module 420-423 is invoked. In the flow diagram of FIG. 4, this is shown as being dependent on a number of binary decisions 401-403, but the program can be structured in a different way, which is to say that flow begins at one of program modules 420-423 dependent on the underlying bearer service from which the message is received. Following reception program modules 420-423, supplementary operations are performed as necessary. As illustrated, program modules 420 and 421 are supplemented by window rotation program module 430, optional decryption module 431 and re-assembly program module 432. Additionally, program modules 420, 421 and 422 are (optionally) supplemented by decompression program module 433. In fact, all of program modules 430-433 are optional. Ultimately, flow proceeds to step 434, where a determination is made as to whether a connection is already outstanding for the message. This determination is made based on the source address of the message (and, if necessary the destination address if the wireless data device has more than one address). If the connection is a new connection, flow proceeds to step 436 where a connection identifier (ID) is assigned to the connection from table 302. Finally, flow proceeds to step 438, where the message is passed to the session layer and eventually to the application. As for the process of FIG. 3, the rules of semantics for the ID are identical regardless of the bearer service from which the connection is received. For example, if an SMS connection is received, an ID in the range 1-1000 is assigned and this ID is communicated to the session layer and if a GPRS connection is received, an ID also in the range 1- 1000 is assigned and communicated to the session layer.
Referring now to FIG. 5, elements of an example of a wireless data device 512 in accordance with the present invention are shown. The wireless data device 512 comprises a transmitter 501 and a receiver 502, both coupled to an antenna switch 503 and, through the antenna switch, to an antenna 504. A synthesizer 505 is coupled to each of the receiver 502 and the transmitter 501. A demodulator 510 is coupled to receiver 502. A modulator 511 is coupled to the synthesizer 505. A logic unit 520 is coupled via data lines 521 and 522 to the demodulator 510 and modulator 511, respectively, and is coupled by control lines 523 and 524 to the demodulator 510 and the receiver 502 and to the transmitter 501 and the antenna switch 503 respectively. A control bus 526 is coupled between the logic unit 520 and the synthesizer 505.
Coupled to the logic unit 520 via a digital bus 528 is a processor 530. Coupled to the processor 530 is a random access memory (RAM) 531, a program memory in the form of electrically erasable programmable read- only memory (EPROM) 532 and an operator interface 533 such as a keyboard and display.
Instead of an antenna switch 503, a duplexer can be used, allowing simultaneous receiving and transmitting. Logic unit 520 controls synthesizer 505 via control bus 526 to select appropriate frequencies for transmission and reception depending on the particular frequencies of the system.
The programs described with reference to FIGs. 3 and 4 are stored in EEPROM 532 (or in ROM or RAM) and cause the processor 530 to perform the operations described. In the preferred embodiment the processor performs at least the functions of the transport layer, the session layer and the application layer, that is to say all the functions of items 10-31 of FIG. 1. Functions of the lower layers can be performed in the logic unit 520 or can be divided between the logic unit 520 and the processor 530 as desired. In transmit operation, the processor 530 generates a packet or packet fragment for transmission and supplies the data to logic unit 520. Logic unit 520 performs timing and synchronization functions and other functions depending on the bearer service selected. Logic unit 520 controls the timing of outputting of a packet of data to the modulator 511. Processing of functions below the transport layer, including such functions as block coding and error check generation, where included, can be performed by either the processor 530 or by the logic unit 520.
The logic unit 520 passes the data for transmission to the modulator 511 bit-by-bit and provides a transmitter key-up signal on control line 524 (at the same time switching antenna switch 503 to the lower position as shown). The timing circuit 529 controls the timing of key-up of the transmitter 501, so that each transmission burst is transmitted at a carefully selected time. For example, in the case of SMS transmission, the selected time coincides with control channel time slots, while in GPRS or circuit switched transmission, the selected time coincides with an allocated time division multiplex traffic channel.
When the transmitter 501 is not keyed up for transmission, the control line 524 causes the antenna switch 503 to switch to the upper position as shown, allowing signals to be received via the antenna 504 and the receiver 502 and demodulated by the demodulator 510 and passed to the logic unit 520.
Logic unit 520 performs lower level processing dependent on the type of bearer service. For example, messages received during control channel slots can be deemed to be SMS messages, while messages received during traffic channel slots can be deemed to be GPRS if received on an allocated GPRS channel or circuit switched data if received on a general traffic channel. The logic unit 520 ultimately passes received data to the processor 530 for further processing. If desired, the logic unit 520 can perform low level processing such as block decoding and error checking.
Thus a wireless data device has been described which comprises a processor 530 and a computer program therefor. The computer program is structured according to a protocol stack model having at least an application layer, a session layer and a transport layer, wherein the application layer is connected to the session layer and the session layer is connected to the transport layer. The transport layer comprises: a connection identification number assignment program element 301, a decision element 310 coupled to the connection identification assignment program element; at least a first transmission program module (e.g. program module 312) coupled to the decision element; and at least a second transmission program module (e.g. one of program modules 316, 326 and 328) coupled to the decision element. The decision element is responsive to the connection identification number assignment step 301 to route communications to one of the first transmission program module and the second transmission program module. The assignment of the ID by step 301 and the use of that ID as a "handle" by the transport layer in determining to which of modules 312, 316, 326 or 328 the connection should be routed avoids the need each time to re-execute the algorithm that determines which bearer service is requested. Once a connection is established, the session layer will re-use the ID for the duration of the connection requested by the session layer (in the case of an outgoing request unsolicited by the transport layer) and the transport layer will reuse the ID in reception for the duration of the connection indicated to the session layer (in the case of an incoming request unsolicited by the session layer).
A wireless data device has also been described where the computer program is structured according to a protocol stack model and wherein a transport layer communications program module 31 comprises: a connection identification number assignment program element 301 at least a first transmission program module (e.g. 312); at least a second transmission program module (e.g. 328, 326 or 316); and a decision element coupled to the connection identification assignment program element, the first transmission program module and the second transmission program module for routing communications to one of the first transmission program module and the second transmission program module.
In this way, an efficient and flexible architecture is described. A particular advantage is that, for the less rich bearers, about 70-80% of the code in the transport layer is shared between those bearer services (e.g. program modules 313, 320 and 322). Other advantages and modifications are readily apparent to one skilled in the art and are encompassed within the scope and spirit of the invention.

Claims

I claim:
1. A wireless data device comprising a processor and a computer program therefor, where the computer program is structured according to a protocol stack model having at least an application layer, a session layer and a transport layer, wherein the application layer is connected to the session layer and the session layer is connected to the transport layer and wherein the transport layer comprises: a connection identification number assignment program element, a decision element coupled to the connection identification number assignment program element; at least a first transmission program module coupled to the decision element; and at least a second transmission program module coupled to the decision element, wherein the decision element is responsive to the connection identification number assignment program element to route communications to one of the first transmission program module and the second transmission program module.
2. The wireless data device of claim 1, further comprising at least one further functional program module coupled between the decision element and the second transmission program module.
3. The wireless data device of claim 2 wherein the further functional program module is at least one of: a compression program module; a segmentation program module; an encryption program module; and a window rotation program module.
4. The wireless data device of claim 2 wherein the further functional program module performs pre-processing of communications for presentation to the second transmission program module according to functions which are equivalent to functions subsumed within the first transmission program module.
5. The wireless data device of claim 2, wherein the first transmission program module is a digital cellular radio packet radio system transmission program module having compression functions included therein and the at least one further functional program module is a compression program module.
6. The wireless data device of claim 2, wherein the first transmission program module is a circuit switched data transmission program module and the at least one further functional program module is one of a segmentation program module and a window rotation program module.
7. The wireless data device of claim 6 wherein the second transmission program module is one of a short message service transmission program module and an unstructured supplementary service data transmission program module.
8. The wireless data device of claim 1 wherein the connection identification number assignment program element comprises a memory maintaining correspondence records between connection identification numbers, bearers, source addresses and destination addresses.
9. A wireless data device comprising a processor and a computer program therefor, where the computer program is structured according to a protocol stack model having at least: an application layer comprising an application layer communication program module and an application layer management program module coupled thereto; a session layer comprising a session layer communication program module and a session layer management program module coupled thereto; and a transport layer comprising a transport layer communication program module and a transport layer management program module coupled thereto, wherein the application layer communication program module is coupled to the session layer communication program module and the session layer communication program module is coupled to the transport layer communication program module, wherein the application layer management program module is coupled to the session layer management program module and the session layer management program module is coupled to the transport layer management program module, and wherein the transport layer communications program module comprises: a connection identification number assignment program element; at least a first transmission program module; at least a second transmission program module; and a decision element coupled to the connection identification number assignment program element, the first transmission program module and the second transmission program module for routing communications to one of the first transmission program module and the second transmission program module.
10. A method of communicating via one of a first relatively rich communications protocol and a second relatively bare communications protocol comprising, in a transport layer, assigning connection identification numbers to communications and, responsive to a bearer selection indicated to the transport layer, routing the communications to one of a first, relatively rich transmission program module and a second, relatively bare transmission program module and, when routing communications to the second transmission program module, preprocessing the communications in a supplementary functional module.
11. The method of claim 10, wherein the step of assigning connection identification numbers to communications comprises maintaining a table of correspondence records between connection identification numbers, bearers, source addresses and destination addresses.
12. The method of claim 10, wherein the first relatively rich communications protocol is a digital cellular radio packet radio system protocol and the second relatively bare communications protocol is one of a circuit switched data transmission protocol, a short message service protocol and an unstructured supplementary service data transmission protocol.
13. The method of claim 10, wherein the first relatively rich communications protocol is a circuit switched data transmission protocol and the second relatively bare communications protocol is one of a short message service protocol and an unstructured supplementary service data transmission protocol.
14. The method of claim 10, wherein the first relatively rich communications protocol is a circuit switched data transmission protocol and the second relatively bare communications protocol is one of a short message service protocol and an unstructured supplementary service data transmission protocol.
15. A method of receiving a first message from a first bearer service and a second message from a second bearer service comprising, in a transport layer of a wireless data device comprising a processor and a computer program therefor, where the computer program is structured according to a protocol stack model: receiving a first message from the first bearer service via a first communications module where the first communications module is a relatively rich communications module; receiving a second message from the second bearer service via a second communications module where the second communications module is a relatively bare communications module; processing the second message in a supplementary functional module; assigning connection identification numbers to messages from the first communications module and from the supplementary functional module, where the connection identification numbers adhere to common rules of syntax regardless of bearer service from which they are received; and passing the messages and the connection identification numbers corresponding thereto to a session layer of the device.
PCT/US1998/016130 1997-09-12 1998-07-31 Protocol stack architecture in wireless data device and method of communicating WO1999014877A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU86855/98A AU8685598A (en) 1997-09-12 1998-07-31 Protocol stack architecture in wireless data device and method of communicating

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US92916497A 1997-09-12 1997-09-12
US08/929,164 1997-09-12

Publications (1)

Publication Number Publication Date
WO1999014877A1 true WO1999014877A1 (en) 1999-03-25

Family

ID=25457419

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/016130 WO1999014877A1 (en) 1997-09-12 1998-07-31 Protocol stack architecture in wireless data device and method of communicating

Country Status (3)

Country Link
AU (1) AU8685598A (en)
FR (1) FR2769455B1 (en)
WO (1) WO1999014877A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049825A1 (en) * 1999-02-19 2000-08-24 Aersoft Limited A transaction orientated data transport mechanism for use in digital cellular networks
WO2000074342A1 (en) * 1999-06-01 2000-12-07 Markport Limited Bearer access in wireless communication systems
WO2001003450A1 (en) * 1999-06-30 2001-01-11 Nokia Corporation Bearer adapter management at a gateway server
WO2001041472A1 (en) * 1999-12-02 2001-06-07 Nokia Corporation Data transmission method and apparatus
CN102549513A (en) * 2009-09-25 2012-07-04 Abb研究有限公司 Reliability calculation for substation automation systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566170A (en) * 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5706290A (en) * 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
US5732216A (en) * 1996-10-02 1998-03-24 Internet Angles, Inc. Audio message exchange system
US5740075A (en) * 1994-09-12 1998-04-14 Bell Atlantic Network Services, Inc. Access subnetwork controller for video dial tone networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19605223A1 (en) * 1996-02-13 1997-08-14 Sel Alcatel Ag Method for operating a broadband connection between a mobile radio terminal and a network-side mobile radio device and a mobile radio terminal, network-side mobile radio device and mobile radio system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740075A (en) * 1994-09-12 1998-04-14 Bell Atlantic Network Services, Inc. Access subnetwork controller for video dial tone networks
US5706290A (en) * 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
US5566170A (en) * 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5732216A (en) * 1996-10-02 1998-03-24 Internet Angles, Inc. Audio message exchange system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049825A1 (en) * 1999-02-19 2000-08-24 Aersoft Limited A transaction orientated data transport mechanism for use in digital cellular networks
WO2000074342A1 (en) * 1999-06-01 2000-12-07 Markport Limited Bearer access in wireless communication systems
WO2001003450A1 (en) * 1999-06-30 2001-01-11 Nokia Corporation Bearer adapter management at a gateway server
WO2001041472A1 (en) * 1999-12-02 2001-06-07 Nokia Corporation Data transmission method and apparatus
US7768994B2 (en) 1999-12-02 2010-08-03 Nokia Corporation Data transmission method and apparatus
CN102549513A (en) * 2009-09-25 2012-07-04 Abb研究有限公司 Reliability calculation for substation automation systems
US8886475B2 (en) 2009-09-25 2014-11-11 Abb Research Ltd Reliability calculation for Substation Automation systems

Also Published As

Publication number Publication date
AU8685598A (en) 1999-04-05
FR2769455B1 (en) 2001-04-06
FR2769455A1 (en) 1999-04-09

Similar Documents

Publication Publication Date Title
US5544222A (en) Cellular digtial packet data mobile data base station
CA2377616C (en) A method and apparatus for routing data in a communication device
KR100560724B1 (en) Method and System for Mobile IP Nodes in heterogeneous Networks
US6400712B1 (en) Fast circuit switched data architecture and method
US7272413B2 (en) System and method for supporting multimode communication in a mobile network
US6278706B1 (en) Wireless packet data communication apparatus and method
JP4885413B2 (en) Local addressing of mobile units in a WLAN by addressing multicast packets
JP4369050B2 (en) Wireless modem and method for routing data to an application or storage device
US5796727A (en) Wide-area wireless lan access
US6501741B1 (en) Method supporting the quality of service of data transmission
EP1283995B1 (en) Management module for software defined radio
EP0998094A2 (en) Method for coupling a wireless terminal to a data transmission network and a wireless terminal
WO1995020281A1 (en) Remote control of gateway functions in a wireless data communication network
GB2313981A (en) High speed wireless internet connection for portable computers
EP1142214A2 (en) Method for transmitting data transmission flows
US6370135B1 (en) Continuous CDPD base station and method of facilitating efficient data transfer
CN1311930A (en) Wireless protocol method and apparatus supporting transaction requests with variable length responses
WO1999014877A1 (en) Protocol stack architecture in wireless data device and method of communicating
JP2004153321A (en) Mobile terminal and method for controlling the same
EP1358751A2 (en) Improvements in or relating to wireless communication systems
WO2000049825A1 (en) A transaction orientated data transport mechanism for use in digital cellular networks
US6393004B1 (en) Communication scheme using check packets for guaranteeing data packet order in communication media exchange during communication
KR20040003272A (en) A cdma mobile phone of circuit data transmit with upgrade rate

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA CN DE FI GB IL SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA