Abstract:
The invention relates to implementing data transmission between at least two sets of software used in one or more devices which comprise means for establishing a connection to a telecommunications system. The communication is partly carried out with method calls including a service request. A service broker supplies the service request included in the method call to indicated server, which responds to the method call by sending required information back to the sender of the method call via the service broker. At least some of the programs participating in data transmission are implemented with a script-based programming language in the devices. The arrangement comprises an application which transmits service requests and responses to the requests between the service broker and the software that needs data transmission, and renders data transmission requests and responses to the requests compatible between script-based software and another system.

Description:
FIELD OF THE INVENTION 
   The invention relates to a data transmission method and arrangement in which data are transmitted between a wireless system and another system. The invention particularly relates to systems in which data are transmitted between sets of software in different devices. 
   BACKGROUND OF THE INVENTION 
   In the design and maintenance of telecommunications systems attention has been paid to establishment of connections between different systems and to smooth operation. Separate systems have often been implemented using quite a few different methods and various apparatuses which are incompatible. It has been difficult and time consuming to make different systems compatible, if at all possible. 
   For this reason several producers of devices and systems have developed a common architecture called CORBA (Common Object Request Broker Architecture), which allows computer systems of different types implemented with different programming languages to communicate with one another without difficulty. CORBA defines a GIOP protocol (General Inter-ORB protocol) which enables communication between devices of different types and programs programmed with different languages. The GIOP protocol is a common protocol of which a version called IIOP (Internet Inter-ORB Protocol) has been developed particularly for the Internet environment. Further information on CORBA can be obtained e.g. from the specification published by the OMG (Object Management Group) which created this architecture: The Common Object Request Broker: Architecture and Specification, Revision 2.0, Chapter 2: CORBA Overview. The specification is also available at the address www.omg.org. 
   CORBA has been developed for systems which have a fixed connection to one another via an unspecified network. When the protocol was designed, hardly any attention was paid to the possible capacity of the transmission path, but the emphasis was on the creation of a flexible and secure protocol. Since the proportion of wireless communication has increased strongly during the past few years, data systems and different software are also increasingly used in computers and devices from which the only or the main connection to other networks is a wireless network, such as the GSM, GPRS or UMTS. The data transmission capacity of wireless networks is, however, considerably smaller than that of fixed wired networks. For this reason CORBA has not been commonly applied to wireless systems. Transmission of CORBA over a wireless transmission path has proven to be very slow due to the large amount of signalling and data to be transmitted. 
   In wireless devices software applications have usually defined their own interfaces and connection protocol which have been directly involved in the actual data transmission. This is illustrated in FIG.  1 . The figure shows three software applications  100  to  104  which run in a device employing a wireless connection. Each software application has a connection protocol  106  to  110  of its own which it uses to communicate with a transmission layer  112 , which transmits data using a wireless connection. In this solution the applications need to communicate with the transmission layer, which makes development of the application difficult. 
   BRIEF DESCRIPTION OF THE INVENTION 
   An object of the invention is to provide a method and an arrangement implementing the method to alleviate the above-mentioned problems. This is achieved with a method of implementing data transmission between at least two sets of software used in one or more devices which are able to establish a connection to a telecommunications system, the method comprising implementing at least a portion of a connection between two different devices with a wireless connection and carrying out at least part of the communication between the sets of software by method calls, each of which includes a service request, the method call being supplied to a service broker of the system, which supplies the service request included in the method call to the server indicated, which responds to the method call according to the service requested by sending the information required by the service to the service broker, which sends the information to the sender of the method call, and the method comprising defining the server that offers the service request during the communication, and at least some of the programs used in the devices and participating in data transmission being implemented with a script-based programming language. 
   In the method according to the invention the program used in a device employing wireless connections sends method calls to a certain application, which transmits service requests and responses to the requests between the service broker and the software that needs data transmission and renders the data transmission requests and responses to the requests compatible between script-based software and another system. 
   The invention also relates to an arrangement for implementing data transmission between at least two sets of software used in one or more devices which comprise means for establishing a connection to a data transmission system, where at least a portion of a connection between two different devices is implemented with a wireless connection and at least part of the communication between the devices is carried out by method calls, each of which includes a service request, the system comprising one or more service brokers which supply the service request included in the method call to the server indicated, which is arranged to respond to the method call according to the service needed by sending the information requested by the service to the service broker, which is arranged to send the information to the sender of the method call, the server that offers the service request being defined during the communication and at least some of the programs used in the devices and participating in data transmission being implemented with a script-based programming language. 
   The arrangement of the invention comprises an application which transmits service requests and responses to the requests between the service broker and the software requiring data transmission and renders the data transmission requests and responses to the requests compatible between script-based software and another system. 
   The dependent claims disclose the preferred embodiments of the invention. 
   The invention is based on implementing software in wireless devices which adapt the requests needed by the services used by the sets of software in the wireless devices and responses to the requests between a wireless device and another external system so that various sets of software can use the same protocol and the same messages. The wireless device comprises an application of its own which converts the request generated by the software in the wireless device into a format compatible with another system, and in the other direction a response received from the system is converted into a format understood by the software in the wireless device. The application may convert a protocol used in a fixed network, e.g. a GIOP protocol, into a format that can be transmitted better on a wireless transmission path. 
   The method and arrangement of the invention provide several advantages. Since the invention enables use of the same protocol in several software applications in wireless devices, the protocol not being dependent on the transmission layer and having a basic structure similar to that in a fixed network, the development of software and implementation of communication will become considerably simpler, without causing too much load on the transmission path or without rendering the connection impractically slow. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will be described in greater detail by means of preferred embodiments with reference to the accompanying drawings, in which 
       FIG. 1  illustrates prior art application protocols described above, 
       FIG. 2  illustrates the structure of a mobile communications system used as an example, 
       FIG. 3  illustrates the structure of the mobile communications system used as an example in greater detail, 
       FIG. 4  illustrates CORBA architecture at a general level, 
       FIG. 5  illustrates a solution according to a preferred embodiment of the invention, 
       FIG. 6  illustrates the function of a solution according to a preferred embodiment of the invention, 
       FIG. 7  illustrates a solution according to another preferred embodiment of the invention, and 
       FIG. 8  illustrates the structure of a device suitable for use in an arrangement according to the invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The present invention can be applied in various radio systems where the terminals have different radio path properties. It does not matter which multiple access method the system employs. For example, the CDMA, WCDMA and TDMA can be used as the multiple access method. Furthermore, the system can support both circuit-switched and packet-switched connections. 
   The structure of a mobile communications system according to an embodiment of the invention used as an example will be described with reference to FIG.  2 . This is only one possible alternative, which is obvious to a person skilled in the art. The main parts of the mobile communications system are a core network CN, an overground radio access network BSS and a subscriber terminal MS. The interface between the CN and the BSS is called a Gb interface in this example, and the air interface between the BSS and the MS a UM interface. 
   The radio access network consists of radio network subsystems RNS. Each radio network subsystem RNS consists of a radio network controller RNC and a base station B comprising one or more transceivers. The interface between the radio network controller and the base station is called a lub interface. The coverage area of the base station, i.e. a cell, is denoted by C in FIG.  1 . 
   The illustration in  FIG. 2  is rather abstract, and thus it will be clarified in  FIG. 3  with a more detailed example of a cellular radio system.  FIG. 3  includes only the most essential blocks, but it is obvious to a person skilled in that art that a conventional cellular radio network also comprises other functions and structures that need not be discussed more closely in this context. It should also be noted that  FIG. 3  exemplifies only one possible structure. In systems according to the invention the details may differ from those shown in  FIG. 3  but these differences are irrelevant to the invention. 
   The cellular radio network typically comprises the infrastructure of a fixed network, i.e. a network part  300  and subscriber terminals  302  which can be fixed, placed in a vehicle or portable. The network part  300  comprises base stations  304 . The base station corresponds to node B in the preceding figure. Several base stations  304  are controlled centrally by a radio network controller  306  which communicates with the base stations. A base station  304  comprises transceivers  308  and a multiplexer unit  312 . 
   The base station  304  also comprises a control unit  310  which controls the function of the transceivers  308  and the multiplexer  312 . The multiplexer  312  is used for arranging the traffic and control channels used by several transceivers  308  on one transmission connection  314 . The transmission connection  314  constitutes the lub interface. 
   There is a connection from the transceivers  308  of the base station  304  to an antenna unit  318  which establishes a bi-directional radio connection  316  to the subscriber terminal  302 . The structure of the frames to be transmitted on the bi-directional radio connection  316  is system-specific and called an air interface Um. 
   The radio network controller  306  comprises a group switching field  320  and a control unit  322 . The group switching field  320  is used for switching speech and data and for connecting signalling circuits. The radio network subsystem  332  formed by the base station  304  and the radio network controller  306  also includes a transcoder  324 . The transcoder  324  is usually located as close to a mobile services switching centre  328  as possible because this saves transmission capacity when speech is transmitted in the format of a cellular radio network between the transcoder  324  and the radio network controller  306 . 
   The transcoder  324  converts the different digital speech encoding formats used between the public switched telephone network and the radio telephone network into a compatible format, e.g. from the format of the fixed network into a format of the cellular radio network, and vice versa. The control unit  322  is responsible for call controlling, mobility management, collection of statistics and signalling. 
     FIG. 3  further illustrates a mobile services switching centre  328  and a gateway mobile services switching centre  330  which is responsible for external connections of the mobile communications system, in this case for the connection to the public switched telephone network  336 . 
   As is seen in  FIG. 3 , the group switching field  320  can establish connections both to the public switched telephone network (PSTN)  336  via the mobile services switching centre  328  and to a packet transmission network  342 . 
   The connection between the packet transmission network  342  and the group switching field  320  is established by a support node  340  (SGSN =Serving GPRS Support Node). The function of the support node  340  is to transmit packets between the base station system and a gateway node (GGSN=Gateway GPRS Support Node)  344  and keep a record of the location of the subscriber terminal  302  in its area. 
   The gateway node  344  connects a public packet transmission network  346  and the packet transmission network  342 . An Internet protocol or an X.25 protocol can be used at the interface. The gateway node  344  hides the internal structure of the packet transmission network  342  from the public packet transmission network  346  by encapsulating the structure, and thus the public packet transmission network  346  regards the packet transmission network  342  as a sub-network which comprises a subscriber terminal  302  to which the public packet transmission can send packets and receive packets from it. 
   The packet transmission network  342  is typically a private network which utilizes the Internet protocol and carries signalling and tunnelled user data. The structure of the network  342  may vary according to the operator in respect of its architecture and protocols below the Internet protocol layer. 
   The public packet transmission network  346  may be e.g. the world-wide Internet network. 
   Typically time slots not involved in circuit-switched transmission are used for packet transmission at the air interface  316 . The capacity is reserved dynamically for packet transmission, i.e. as a data transmission request is received, any free channel can be allocated to packet transmission. The arrangement is flexible, which means that circuit-switched connections have priority over packet transmission connections. If necessary, circuit-switched transmission overrides packet-switched transmission, i.e. the time slot used by packet-switched transmission is allocated to circuit-switched transmission. This can be done because packet-switched transmission withstands such interruptions well: transmission is continued using another allocated time slot. The arrangement can also be implemented so that no absolute priority is given to circuit-switched transmission but both circuit-switched and packet-switched transmission requests are served in their order of arrival. These arrangements are not, however, relevant to the present invention. 
   In the following, data transmission according to the CORBA architecture will be described at a general level by means of FIG.  4 .  FIG. 4  shows a wireless device  400  with an ongoing software application  402 . The application needs a service, e.g. information from a database, and it sends a method call in which this service is defined. The device comprises another service broker application which is called an ORB (Object Request Broker)  404  and processes method calls from different applications. The ORB searches for the address of the service provider (suitable server) by sending a call to a CORBA name server  412 . Having received a response, the ORB transmits the call to the server in question. In the case of  FIG. 4  a suitable server is not found under the same ORB and thus the call is forwarded to a service broker application  408  of another device  406 , which transmits the call to a suitable server  410  with which it communicates, the server being typically another software application. This server supplies a response which is transmitted to the original software application  402 . The software application  402  does not know the actual location of the server, but receives information only on the surrounding environment through method calls. The service brokers and the sets of software can be implemented with different programming languages and in different apparatuses. During data transmission protection procedures related to the parties to data transmission are carried out in accordance with the CORBA architecture. 
     FIG. 5  illustrates a solution according to a preferred embodiment of the invention. The figure illustrates a device  500  which utilizes a wireless connection. An application  502  which is able to communicate is running in the device. The application is implemented by means of a script-based programming language, such as JavaScript or WMLScript. The application typically functions under browser software utilizing Internet connections. The device also typically comprises one or more service brokers  504  which supply a service request included in a method call to the indicated server, which is arranged to respond to the method call. The indicated server may be in another device. If the application needs a service, it sends a method call. The device comprises an adapter application  506  which recognizes method call parameters in a script-based method call. The application generates the method call in a format understood by the service broker and transmits it to the service broker  504 . If necessary, the service broker forwards the call to software  508  to be run in another device  510 . The software performs the desired service and returns a response via its own object adapter  518 . The object adapter belongs to the CORBA architecture and adapts the method messages of the server for the service broker. Transmission takes place by means of communication devices  512  and  514  on a transmission path  516 . The transmission path may be a radio path of a cellular radio system, another radio link such as Bluetooth, a link implemented by means of packet-switched traffic (GPRS) or an infrared link. 
   The application  506  is preferably implemented by a library application. The library application provides the necessary functions for a script-based application for sending method calls. The functions convert outgoing method calls into a general format understood by the service broker and in the other direction the messages entering the application are converted into script calls. 
   The function of the application is shown in  FIG. 6 , which schematically illustrates a library application  506 . A method call  600  sent by the script software is converted into a general message format  602  by a library function, whereas a message  604  entering the script software is converted into a script call  606  by the library function. This can be implemented e.g. by tabulating method calls and their parameters and response values. The library recognizes the correct message formats in the outgoing messages by means of the table. Incoming messages  604  typically include the name of the function, which makes conversion easy. 
     FIG. 7  illustrates another preferred embodiment of the invention. The figure is similar to  FIG. 5 , except that in this embodiment the adapter application is integrated into the communication devices, preferably forming part of the control software of the communication devices. This solution has the advantage that the complexity and memory need of the device decrease. 
     FIG. 8  illustrates the structure of a wireless system in which the solution according to the preferred embodiments of the invention can be implemented. The device comprises an antenna  818  for transmitting and receiving signals. From the antenna a signal is supplied to a duplex filter which separates the signals of the transmission direction from the signals of the reception direction. The receiver  800  comprises a filter which prevents frequencies outside the desired frequency band. After this, the signal is converted into an intermediate frequency or directly into the baseband in which form a signal is sampled and quantized in an analogue/digital converter  802 . An equalizer  804  compensates for interference, e.g. interference caused by multi-path propagation. A demodulator  806  picks up a bit flow from an equalized signal and transmits the flow to a demultiplexer  808 . The demultiplexer  808  separates the bit flow from different time slots into separate logical channels. A channel codec  816  decodes the bit flow of different logical channels, i.e. decides whether the whole bit flow consists of signalling information which is transmitted to a control unit  814 , or whether the bit flow consists of speech which is forwarded  840  e.g. to a speech decoder. The channel codec  816  also corrects errors. The control unit  814  performs internal control tasks by controlling different units. A burst generator  828  adds a training sequence and tail bits to the data received from the channel codec  816 . A multiplexer  826  indicates a time slot for each burst. A modulator  824  modulates digital signals to a radio-frequency carrier wave. This function is analogue and thus a digital/analogue converter  822  is needed to perform it. A transmitter  820  comprises a filter for limiting the band width. The transmitter  820  also controls the output power of transmission. A synthesizer  812  provides different units with the necessary frequencies. The clock of the synthesizer  812  may be controlled locally. The synthesizer  812  generates the necessary frequencies e.g. by a voltage-controlled oscillator. 
   As illustrated in  FIG. 8 , the structure of a transceiver can be further divided into radio frequency parts  830  and a digital signal processing processor with software  832 . The radio frequency parts  830  comprise the receiver  800 , transmitter  820  and synthesizer  812 . The digital signal processing processor and its software  832  include the equalizer  804 , demodulator  806 , demultiplexer  808 , channel coded  816 , control unit  814 , burst generator  828 , multiplexer  826  and modulator  824 . The analogue/digital converter  802  is needed to convert an analogue radio signal into a digital radio signal and the digital/analogue converter  822  is needed to convert a digital signal into an analogue signal. 
   The device may also comprise user interface parts, such as a display, keyboard, earpiece and microphone. These are not shown in the figure. The control unit  814  of the device is typically implemented with a microprocessor and memory elements, including the necessary software. The control unit can be used for performing sets of software that need different services, as described above. 
   Even though the invention has been described with reference to the examples according to the accompanying drawings, it is clear that the invention is not limited thereto but may be modified in various ways within the inventive concept disclosed in the appended claims.