Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
APPLICATION DISPATCHER
Document Type and Number:
WIPO Patent Application WO/2004/023831
Kind Code:
A1
Abstract:
A method in a mobile terminal for communication of data between internal applications in the mobile terminal and remote applications over a wireless communication network through a plurality of ports. The method comprises the step of providing, in the mobile terminal, mapping information for associating active ones of said internal applications with individual ones of said ports. It further comprises the steps of receiving a first data unit from a first remote application through a first port among said plurality of ports, determining, from said mapping information, a first internal application among said active internal applications which is associated with the first port, and forwarding the first data unit to the first internal application.

Inventors:
DJELOGIRY HOSSEIN (DK)
Application Number:
PCT/IB2002/003591
Publication Date:
March 18, 2004
Filing Date:
September 05, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NOKIA CORP (FI)
DJELOGIRY HOSSEIN (DK)
International Classes:
H04L29/06; H04L29/08; H04M1/72406; (IPC1-7): H04Q7/32; G06F13/00
Domestic Patent References:
WO2001026267A12001-04-12
WO1998052320A21998-11-19
Foreign References:
US6377808B12002-04-23
Attorney, Agent or Firm:
AWAPATENT AB (Malmö, SE)
Download PDF:
Claims:
WHAT IS CLAIMED IS:
1. A method in a mobile terminal for communication of data between internal applications in the mobile ter minal and remote applications over a wireless communica tion network through a plurality of ports, the method comprising the steps of: providing, in the mobile terminal, mapping informa tion for associating active ones of said internal appli cations with an individual one of said ports, receiving a first data unit from a first remote app lication through a first port among said plurality of ports, determining, from said mapping information, a first internal application among said active internal applica tions which is associated with the first port, and forwarding the first data unit to the first internal application.
2. A method according to claim 1, wherein the first data unit is received through a socket server.
3. A method according to any one of the preceding claims, wherein the mapping information further asso ciates active ones of said internal applications with individual application identities.
4. A method according to claim 3, wherein the step of determining comprises the steps of determining, from said mapping information, a first application identity among said application identities, which is associated with the first port, and determining, from said mapping information, a first internal application among said active internal applica tions which is associated with the first application identity.
5. A method according to claim 3, wherein the step of determining comprises the steps of extracting a first application identity from the first data unit and determining, from said mapping information, a first internal application among said active internal applica tions which is associated with the extracted application identity.
6. A method according to any one of the preceding claims, further comprising upon activation of the first internal application the initial steps of registering the first internal application, and mapping the first internal application with an indi vidual one of said plurality ports.
7. A method according to claim 6, wherein the ini tial step of mapping the first internal application with an available port comprises the steps of mapping the first internal application with an app lication identity and mapping the application identity with an available port.
8. A method according to any one of the preceding claims, further comprising the step of returning the first data unit if the first internal application is not found.
9. A method according to any one of the preceding claims, further comprising the step of returning a non acknowledge message if the first internal application is not found.
10. A method according to any one of the preceding claims, wherein the wireless communication network is part of or connected to the Internet.
11. A method according to any one of the preceding claims, further comprising the steps of receiving a second data unit from a second internal application, determining, from said mapping information, a second port associated with the second internal application, and forwarding the second data unit to a second remote application via the second port.
12. A method according to claim 11, wherein the second data unit is forwarded to the second remote appli cation together with a port number associated with the determined second port to a socket server.
13. A method according to any one of claims 11 or 12, wherein the first and the second internal applica tions are the same.
14. A method according to any one of claims 11 or 12, wherein the first and the second remote applications are the same.
15. A method according to any one of claims 11 or 12, wherein the first and the second ports are the same.
16. A mobile terminal for communication of data between internal applications in the mobile terminal and remote applications over a wireless communication net work, the mobile terminal comprising a communication interface having a plurality of ports to said communica tion network, a memory adapted to store mapping informa tion for associating active ones of said internal app lications with an individual one of said ports, and a controller adapted to receive a first data unit from a remote application through a first port among said plurality of ports, to determine, from said mapping information, an internal application among said active internal applications which is associated with the first port, and to forward the first data unit to the deter mined internal application.
17. A mobile terminal according to claim 16, wherein the mapping information associates active ones of said internal applications with individual application iden tities.
18. A mobile terminal according to claim 17, where in the controller is arranged to determine, from said mapping information, a first application identity among said application identities, which is associated with the first port, and to determine, from said mapping in formation, a first internal application among said active internal applications which is associated with the first application identity.
19. A mobile terminal according to claim 17, wherein the controller is arranged to extract a first application identity from the first data unit and to determine, from said mapping information, a first internal application among said active internal applications which is associ ated with the extracted application identity.
20. A mobile terminal according to any one of claims 1619, wherein upon activation the first internal appli cation the controller is arranged to register the first internal application, and to map the first internal app lication with an individual one of said plurality ports.
21. A mobile terminal according to any one of claims 1620, wherein the controller further is adapted to re ceive a second data unit from a second internal applica tion, to determine, from said mapping information, a second port associated with the second internal applica tion, and to forward the second data unit to a second remote application via the second port.
22. A mobile terminal according to claim 21, wherein the second data unit is forwarded together with a port number associated with the determined second port to a socket server.
23. A mobile terminal according to any one of claims 21 or 22, wherein the first and the second internal app lications are the same.
24. A mobile terminal according to any one of claims 21 or 22, wherein the first and the second remote appli cations are the same.
25. A mobile terminal according to any one of claims 21 or 22, wherein the first and the second ports are the same.
26. A method in a mobile terminal for communication of data between internal applications, having application identities, in the mobile terminal and remote applica tions over a wireless communication network, the method comprising the steps of: providing, in the mobile terminal, mapping informa tion for associating active ones of said internal appli cations with the application identities, receiving a first data unit from the remote appli cation, extracting, from the first data unit, an applica tion identity, determining, from said mapping information, an internal application among said active internal applica tions which is associated with the application identity, and forwarding the first data unit to the determined internal application.
27. A method according to claim 26, further com prising the step of: forwarding the first data unit to a content dis patcher if the application identity is a specified pre determined value.
28. A method according to claim 27, wherein the application identity is the specified predetermined value when the first data unit is aimed for a WAP application.
29. A method according to any one of claims 2628, further comprising upon activation of the first internal application the initial steps of registering the first internal application, and mapping the first internal application with an indi vidual one of said application identities.
30. A method according to claim 29, further compris ing the initial step of mapping the content dispatcher with the specified predetermined application identity.
31. A method according to any one of claims 2630, wherein the first data unit is received via a port speci fied for WAP applications.
Description:
APPLICATION DISPATCHER Technical Field of Invention This invention relates to a method in a mobile terminal for communication of data between internal applications in the mobile terminal and remote applica- tions. The invention also relates to a mobile terminal for communication of data between internal applications in the mobile terminal and remote applications.

Background Art A mobile terminal, such as a mobile telephone, is arranged to run different kinds of applications, such as an operating system, a word processing program, an image processing program, etc.

In a WAP (Wireless Application Protocol) system, the mobile terminal can be arranged to communicate data from an application inside the mobile terminal to a remote application, i. e. an application outside the mobile ter- minal, via a wireless communication network, for example the Internet. The mobile terminal comprises a content dispatcher which communicates with the WSP (Wireless Socket Protocol) layer. The WSP layer is the top layer in WAP 1. X. The content dispatcher gets a PUSH from the WSP layer. Getting a PUSH means that data units are received.

The content dispatcher checks the MIME (Multipurpose Internet Mail Extension) type of the PUSH data and for- wards the data to the appropriate application in the mobile terminal according to the MIME type.

The content dispatcher is arranged to communicate said data units through a socket server which in turn communicates through a port having a port number, using for example GPRS (General Packet Radio System), to the remote application. Applications running on the mobile

terminal thus communicate with other applications over the network using port numbers.

A disadvantage with the content dispatcher is that it limits the type of data communicated to the MIME type.

One problem with WAP is that when a large amount of data is to be sent from a remote application to an inter- nal application in real time it must go through many time consuming steps of the WAP architecture.

Summary of the Invention In view of the above, an objective of the invention is to solve or at least reduce the problems discussed above and to provide a simple and effective method to communicate data between internal applications in a mobile terminal and remote applications.

The invention provides, according to a first aspect, a method in a mobile terminal for communication of data between internal applications in the mobile terminal and remote applications over a wireless communication network through a plurality of ports, the method comprising the steps of providing, in the mobile terminal, mapping in- formation for associating active ones of said internal applications with individual ones of said ports, receiv- ing a first data unit from a first remote application through a first port among said plurality of ports, determining, from said mapping information, a first internal application among said active internal applica- tions which is associated with the first port, and for- warding the first data unit to the first internal appli- cation.

The internal applications can preferably be Java applications, but could also be written in any program- ming language.

The remote application can be implemented in a server, in another mobile terminal, in a conventional personal computer etc.

An active application can be an application that is running on the mobile terminal. An application can be in a stand-by mode, for instance waiting to receive a data unit or waiting for an event to activate the application.

Within the context of the present invention, such a "sleeping"application is also to be regarded as an active application.

An advantage with this method is that by not check- ing the type of data the method can use other data for- mats than data formats that have been type approved by IANA (Internet Assigned Numbers Authority), for example JPEG, email, etc. Also, user or technical field specific applications can easily be implemented in a mobile ter- minal. This provides a simpler developing environment for downloadable applications which can easily find use in many different technical fields. The data unit can be forwarded to the first internal application regardless of the data unit content.

Still another advantage with this method is that it is WAP independent. A user can set up a wireless appli- cation without having to register at and pay for a WAP gateway.

The method only needs a very simple API (Application Program Interface) to allow developers to design and implement applications that use the invention. The API merely has to handle the communication according to the invention which can be made using only a very few differ- ent commands. This small API set would therefore be easy to learn, thus both inviting people with little program- ming skill to the developing environment and also further simplifying the development of user specific (download- able) applications.

In one embodiment of the method the first data unit is received through a socket server.

The socket server communicates in turn through a port.

In one embodiment of the method the mapping infor- mation further associates active ones of said internal applications with individual application identities.

In another embodiment of the invention the method comprises the step of determining the steps of determin- ing, from said mapping information, a first application identity among said application identities, which is associated with the first port, and determining, from said mapping information, a first internal application among said active internal applications which is asso- ciated with the first application identity.

At first the application identity associated with the first port can be checked for example through look up. Then the data unit is forwarded to the internal application having that application identity regardless of the data content.

In one embodiment of the method the step of deter- mining comprises the steps of extracting a first applica- tion identity from the first data unit and determining, from said mapping information, a first internal applica- tion among said active internal applications which is associated with the extracted application identity.

Another embodiment of the method comprises upon activation of the first internal application the initial steps of registering the first internal application, and mapping the first internal application with an individual one of said plurality ports.

The ports that are assigned to the applications when registering do not belong to the group of port numbers reserved or used for prespecified and standard purposes such as WAP applications. The data communication between the internal application and the remote application therefore bypasses the WAP system. This enables faster communication which in turn makes for example streaming much faster.

In another embodiment of the method the initial step of mapping the first internal application with an avail-

able port comprises the step of mapping the first inter- nal application with an application identity and mapping the application identity with an available port.

One embodiment of the method further comprises the step of returning the first data unit if the first inter- nal application is not found.

One embodiment of the method further comprises the step of returning a non-acknowledge message if the first internal application is not found.

In another embodiment of the method the wireless communication network is part of or connected to the Internet.

Another embodiment of the method further comprises the steps of receiving a second data unit from a second internal application, determining, from said mapping information, a second port associated with the second internal application, and forwarding the second data unit to a second remote application via the second port.

When an internal application wants to communicate data or a request to a remote application it packages this data and sends this data for determining a second port, for example by keying the map information. The second data unit is then forwarded to the remote applica- tion through the second port. The second internal appli- cation can be the same as the first internal application.

An internal application can both receive and send data units. The data units can be received and sent through the same port.

One embodiment of the method the second data unit is forwarded to the second remote application together with a port number associated with the determined second port to a socket server.

The port number can be included in the header of the second data unit or as a parameter. The socket server then forwards the second data unit to the determined port with the associated port number using the protocol layer below the socket server.

An advantage by this method is that the communica- tion handling mechanism can be made very simple.

According to a second aspect, the invention also involves a mobile terminal for communication of data between internal applications in the mobile terminal and remote applications over a wireless communication net- work, the mobile terminal comprising a communication interface having a plurality of ports to said communi- cation network, a memory adapted to store mapping in- formation for associating active ones of said internal applications with individual ones of said ports, and a controller adapted to receive a first data unit from a remote application through a first port among said plurality of ports, to determine, from said mapping information, an internal application among said active internal applications which is associated with the first port, and to forward the first data unit to the deter- mined internal application.

The controller can receive the first data unit from a socket server in the mobile terminal. The socket server sends all arriving data units not having reserved port numbers, such as WAP ports etc, to the controller.

In one embodiment of the invention the mapping information associates active ones of said internal applications with individual application identities.

In another embodiment of the invention the control- ler is arranged to determine, from said mapping informa- tion, a first application identity among said application identities, which is associated with the first port, and to determine, from said mapping information, a first internal application among said active internal applica- tions which is associated with the first application identity.

In one embodiment of the invention the controller is arranged to extract a first application identity from the first data unit and to determine, from said mapping information, a first internal application among said

active internal applications which is associated with the extracted application identity.

In another embodiment of the invention upon activa- tion of the first internal application, the controller is arranged to register the first internal application, and to map the first internal application with an individual one of said plurality ports.

In still another embodiment of the invention the controller further is adapted to receive a second data unit from a second internal application, to determine, from said mapping information, a second port associated with the second internal application, and to forward the second data unit to a second remote application via the second port.

In one embodiment of the invention the second data unit is forwarded together with a port number associated with the determined second port to a socket server.

The advantages of the mobile terminal are essential- ly the same as described above for the method.

In a third aspect, the invention also involves a method in a mobile terminal for communication of data between internal applications, having application identi- ties, in the mobile terminal and remote applications over a wireless communication network, the method comprising the steps of providing, in the mobile terminal, mapping information for associating active ones of said internal applications with the application identities, receiving a first data unit from the remote application, extracting from the first data unit an application identity, deter- mining, from said mapping information, an internal appli- cation among said active internal applications which is associated with the application identity, and forwarding the first data unit to the determined internal applica- tion.

This method can preferably be implemented in systems using WAP 1. X.

In one embodiment of the invention, the method fur- ther comprises the step of forwarding the first data unit to a content dispatcher if the application identity has a specified predetermined value.

The specified predetermined value can also be that the application identity is missing in the first data unit. If the application identity is missing this will incur a value N/A (not available) that will be inter- preted as the specified value by default. The value of the application identity can be set to 0. The application identity can also have another predetermined value, for example the highest available.

In another embodiment of the invention the applica- tion identity is the specified predetermined value when the first data unit is aimed for a WAP application.

Another embodiment of the invention further com- prises upon activation of the first internal application the initial steps of registering the first internal app- lication, and mapping the internal application with an individual one of said application identities.

One embodiment of the invention further comprises the initial step of mapping the content dispatcher with a specified predetermined application identity.

In one embodiment of the invention the first data unit is received via a port specified for WAP applica- tions.

Brief Description of the Drawings A preferred embodiment of the present invention will now be described in more detail, reference being made to the enclosed drawings, in which: FIG 1 is a schematic front view of a portable commu- nication apparatus.

FIG 2 is a schematic block diagram of some compo- nents of the portable communication apparatus shown in FIG 1.

FIG 3 is a schematic flowchart of a general method for communication of data between internal applications in a mobile terminal and remote applications according to one embodiment of the invention.

FIG 4 is a schematic flowchart of a method for com- munication of data from internal applications in a mobile terminal to remote applications according to one embodi- ment of the invention.

FIG 5 is a schematic flowchart of a method for com- munication of data between internal applications in a mobile terminal and remote applications according to one embodiment of the invention.

Detailed Description of Embodiments of the Invention FIG 1 shows a portable communication apparatus and more specifically a mobile telephone 10. The mobile tele- phone may be any commercially available device for a mobile telecommunications system such as GSM (Global Service for Mobile transmission), UMTS (Universal Mobile Telecommunications System), PDC (Pacific Digital Cellu- lar), AMPS (Advanced Mobile Phone System) or D-AMPS (Digital AMPS).

As is well known in the technical field, the mobile telephone 10 comprises an antenna 20, a loudspeaker 21, a display 22, a plurality of keys 23, and a microphone 24.

FIG 2 illustrates some internal components, within the context of the present invention, of the mobile tele- phone 10. A controller 41 is responsible for the overall operation of the mobile telephone 10 and is preferably implemented by any commercially available CPU ("Central Processing Unit"), DSP ("Digital Signal Processor") or any other electronic programmable logic device. The con- troller 41 is coupled to a radio interface 20,40, com- prising the antenna 20 and radio circuitry 40. The radio interface 20,40 is responsible for establishing and maintaining a wireless link 11 to the base transceiver station 12. As is well known to a man skilled in the art,

the radio circuitry 40 comprises a series of analogue and digital electronic components, which together form a radio receiver and transmitter. The radio circuitry 40 comprises, i. e. , band pass filters, amplifiers, mixers, local oscillators, low pass filters, AD converters, etc.

The controller 41 is also connected to an electronic memory 42, such as a RAM memory, a ROM memory, an EEPROM memory, a flash memory, or any combination thereof. The memory 42 is used for various purposes by the controller 41, one of them being for storing data and program in- structions, which form a man-machine interface 45. The man-machine interface 45 also involves a keypad 43 (cor- responding to the keys 23 in FIG 1) and a display 44 (corresponding to the display 22 in FIG 1). A user 46 of the mobile telephone 10 will operate the telephone through the man-machine interface 45, as is well known per se.

A number of internal application can be running on the mobile phone 10. The internal application can commu- nicate through a socket server which in turn communicates through a port with an associated port number through for example GPRS (General Packet Radio System) with another remote application over a mobile communication network 11, which may be part of or connected to the Internet.

The remote application can be running for example on a server or an other mobile phone. The mobile phone has a plurality of ports through which the internal applica- tions can communicate.

In a first embodiment a general method for communi- cation according to the invention is described by way of reference to the schematic flow chart in FIG 3.

Mapping information for associating active ones of internal applications is in step 100 provided. The con- troller 41 receives in step 110 a first data unit from a first remote application through a first port. The con- troller 41 then in step 120 determines, from the mapping information, a first internal application among said

active internal applications which is associated with the first port. In step 130, the controller 41 forwards the first data unit to the first internal application.

In the following the method for communication according to one embodiment of the invention will be explained in more detail by way of reference to FIG 5.

When an internal application is started in the mobile telephone 10, the controller 41 registers in step 300 and maps in step 310 the internal application having an application identity with an available port among said plurality of ports. The memory 42 is used for storing the mapping information. The port number associated with the mapped port is sent in step 320 to the remote application with which the started internal application intends to communicate.

The remote application sends data units to the internal application by using the IP address of the mobile phone. From the IP address the port number can easily be read in a well known manner. When receiving a first data unit, in step 330, from a remote application through a port, which is not used or reserved for a spe- cific purpose such as WAP, the socket server determines, in step 340, from the mapping information if there is any application identity associated with the port number for the port receiving the first data unit. If there is no application identity associated with the port number, the data unit is returned, in step 360, to the remote appli- cation. Alternatively a non-acknowledge message is sent to the remote application.

If an application identity is determined the con- troller forwards in step 370 the first data unit to the internal application associated with the determined application identity.

In the following the method for sending a second data unit to a remote application according to one embodiment of the invention will be explained in more detail by way of reference to FIG 4.

When an internal application is sending a second data unit to a remote application, the controller 41 receives in step 200 the second data unit. In step 210, the controller determines, from the mapping information, what port number is associated with the internal appli- cation. The controller then forwards, in step 220, the second data unit together with the port number to the remote application via the socket server. The socket server is forwarding the second data unit to the remote application via the port with the determined port number by using the physical layer below the socket server.

In an alternative embodiment of the invention the internal application communicates with the remote appli- cation via a WAP port. When a data unit is received in the mobile terminal from a remote application, the con- troller determines the application identity if any. If the application identity is 0, i. e. there is no applica- tion identity, the data unit is sent to a content dis- patcher which is well known to a person skilled in the art. The content dispatcher looks at the MIME type of the data and forwards the data unit to the correct appli- cation. If the application identity is not equal to 0, the controller forwards the data unit to the application associated with the application identity.

The foregoing embodiment of the present invention provides an exemplary illustration and description, but is not intended to be exhaustive or to limit the inven- tion to the precise form disclosed. Modification and variations are possible in light of the above teachings or may be acquired from practice of the invention.